# HG changeset patch # User youngkim # Date 1458853972 14400 # Node ID dfa3745e5fd897567b5bb8a68ae0846d14366434 Uploaded diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/MANIFEST.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/MANIFEST.in Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,20 @@ + +# BASIC INCLUDES +include setup.py +include ezBAMQC +include README.rst + +# DOC INCLUDES +include doc/* + +# SRC ezBAMQC INCLUDES +include src/ezBAMQC/* + +# SRC HTSLIB INCLUDES +include src/htslib/* + +#SRC HTSLIB HEADER INCLUDES +include src/htslib/htslib/* + +#SRC HTSLIB CRAM INCLUDES +include src/htslib/cram/* diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/Makefile Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,133 @@ +# Makefile for ezBAMQC, utilities for the Sequence Alignment/Map format. +# +# Version 0.6.5 +# +# Copyright (C) 2015 Bioinformatics Shared Resource, CSHL. +# Portions copyright (C) 2015 Cold Spring Harbor Laboratory. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +CC = g++ +CPPFLAGS = $(DFLAGS) $(INCLUDES) +CFLAGS = -g -fpermissive -Wall -O9 -O3 -std=c++11 -fPIC +LDFLAGS = -O9 -fpermissive +LDLIBS = +DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1 +LOBJS= src/ezBAMQC/GeneFeatures.o src/ezBAMQC/rRNA.o src/ezBAMQC/IntervalTree.o src/ezBAMQC/InnerDist_prof.o \ + src/ezBAMQC/Results.o src/ezBAMQC/Mappability.o src/ezBAMQC/Coverage_prof.o src/ezBAMQC/parseBAM.o + +INCLUDES= -I$(HTSDIR) +LIBCURSES= -lcurses # -lXCurses + +prefix = /usr/local +exec_prefix = $(prefix) +bindir = $(exec_prefix)/bin +mandir = $(prefix)/share/man +man1dir = $(mandir)/man1 + +MKDIR_P = mkdir -p +#INSTALL = install -p +#INSTALL_PROGRAM = $(INSTALL) +#INSTALL_DATA = $(INSTALL) -m 644 +#INSTALL_DIR = $(MKDIR_P) -m 755 + + +PROGRAMS = libBAMqc.so + + +all: $(PROGRAMS) + + +# Adjust $(HTSDIR) to point to your top-level htslib directory +HTSDIR = ./src/htslib +include $(HTSDIR)/htslib.mk +HTSLIB = $(HTSDIR)/libhts.a +BGZIP = $(HTSDIR)/bgzip + + +PACKAGE_VERSION = 0.5 + + +.SUFFIXES: .cpp .o + +.cpp.o: + $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + + +#lib:libbam.a + +#libbam.a:$(LOBJS) +# $(AR) -csru $@ $(LOBJS) + +#libBAMqc.so: $(LOBJS) $(HTSLIB) +# $(CC) -pthread $(LDFLAGS) -o $@ $(AOBJS) $(HTSLIB) $(LDLIBS) $(LIBCURSES) -lm -lz + +libBAMqc.so: $(LOBJS) $(HTSLIB) +# $(CC) -shared -Wl,-soname, libBAMqc.so.$(PACKAGE_VERSION) -lpthread $(LDFLAGS) -o $@ $(LOBJS) $(HTSLIB) $(LDLIBS) -lz -lm + $(CC) -shared -lpthread $(LDFLAGS) -o $@ $(LOBJS) $(HTSLIB) $(LDLIBS) -lz -lm +# ln -sf $@ libBAMqc.so.$(PACKAGE_VERSION) + +Constants_h = src/ezBAMQC/Constants.h +IntervalTree_h = src/ezBAMQC/IntervalTree.h $(Constants_h) +GeneFeatures_h = src/ezBAMQC/GeneFeatures.h $(Constants_h) +rRNA_h = src/ezBAMQC/rRNA.h $(IntervalTree_h) $(GeneFeatures_h) +Results_h = src/ezBAMQC/Resualts.h +Mappability_h = src/ezBAMQC/Mappability.h $(Constants_h) +InnerDist_prof_h = src/ezBAMQC/InnerDist_prof.h $(GeneFeatures_h) +Coverage_prof_h = src/ezBAMQC/Coverage_prof.h $(GeneFeatures_h) +parseBAM_h = src/ezBAMQC/parseBAM.h + + +IntervalTree.o: src/ezBAMQC/IntervalTree.cpp $(IntervalTree_h) +GeneFeatures.o: src/ezBAMQC/GeneFeatures.cpp $(GeneFeatures_h) +rRNA.o: src/ezBAMQC/rRNA.cpp $(rRNA_h) +Results.o: src/ezBAMQC/Results.cpp $(Results_h) +Mappability.o: src/ezBAMQC/Mappability.cpp $(Mappability_h) $(htslib_sam_h) +InnerDist_prof.o: src/ezBAMQC/InnerDist_prof.cpp $(InnerDist_prof_h) $(htslib_sam_h) +Coverage_prof.o: src/ezBAMQC/Coverage_prof.cpp $(Coverage_prof_h) +parseBAM.o: src/ezBAMQC/parseBAM.cpp $(parseBAM_h) $(htslib_sam_h) $(GeneFeatures_h) $(rRNA_h) $(Mappability_h) $(Coverage_prof_h) $(InnerDist_prof_h) + + +#install: $(PROGRAMS) $(BUILT_MISC_PROGRAMS) +# $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) +# $(INSTALL_PROGRAM) $(PROGRAMS) $(MISC_PROGRAMS) $(DESTDIR)$(bindir) +# $(INSTALL_DATA) samtools.1 $(DESTDIR)$(man1dir) + + +mostlyclean: + -rm -f src/*.o + +clean: mostlyclean + -rm -f $(PROGRAMS) + +distclean: clean + -rm -f TAGS + +clean-all: clean + + +tags: + ctags -f TAGS *.[ch] misc/*.[ch] + + +force: + + +.PHONY: all clean clean-all distclean force +.PHONY: mostlyclean tags diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/README.rst --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/README.rst Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,184 @@ +.. image:: https://raw.githubusercontent.com/mhammell-laboratory/bamqc/master/doc/bamqc-icon.png + :width: 200 px + :alt: generated at codeology.braintreepayments.com/mhammell-laboratory/bamqc + :align: right + :target: http://codeology.braintreepayments.com/mhammell-laboratory/bamqc + +===== +ezBAMQC +===== +*"ezBAMQC, a tool to check the quality of mapped next generation sequencing files."* + +:Description: + + ezBAMQC is a tool to check the quality of either one or many mapped next-generation-sequencing datasets. It conducts comprehensive evaluations of aligned sequencing data from multiple aspects including: clipping profile, mapping quality distribution, mapped read length distribution, genomic/transcriptomic mapping distribution, inner distance distribution (for paired-end reads), ribosomal RNA contamination, transcript 5’ and 3’ end bias, transcription dropout rate, sample correlations, sample reproducibility, sample variations. It outputs a set of tables and plots and one HTML page that contains a summary of the results. Many metrics are designed for RNA-seq data specifically, but ezBAMQC can be applied to any mapped sequencing dataset such as RNA-seq, CLIP-seq, GRO-seq, ChIP-seq, DNA-seq and so on. :: + +:Links: + + `Github Page `_ + + `Pypi Page `_ + + `MHammell Lab `_ + +:Authors: + Ying Jin, David Molik, and Molly Hammell + +:Version: 0.6.5 + +:Contact: + Ying Jin (yjin@cshl.edu) + +Installation guide for ezBAMQC for from source installs +===================================================== + +When installing ezBAMQC there are several options, but the main point is: since ezBAMQC uses C++ STD 11 you'll need a version of GCC that can support that, this useally means 4.8 or 4.9. beyond that, you'll need Python, R and Corrplot for interfacing with the C code. + +:Intallation: + `Source Code `_ + + `Pypi `_ + +:Prerequisites: + * `python2.7 `_ + * `R `_ + * `corrplot `_ + * `GCC 4.8.1 or greater `_ GCC 4.9.1 or greater is recomended for PyPi install + +:Notes: + * While there are multiple methods of installing the prerequistes it may help to look at (if using a yum based linux distro):* + * `Devtoolset-3 `_ for GCC compilers + * `IUS `_ for Python2.7 + * `Software Collections `_ for collections of software (like devtoolset 3 or python) + * `rpmfinder `_ for searching rpms across mutliple systems + +Setup +===== + +1) Make sure that the GCC comiler is in your PATH: + +:: + + export PATH=/path/to/gcc:$PATH + +2) Make sure that python2.7 is in your PYTHONPATH: + +:: + + export PYTHONPATH=/path/to/python2.7/site-packages:$PYTHONPATH + +3) There are three methods of installation of ezBAMQC, from source, from setup.py, and from pypi, once prequistes are setup. + +From Source +~~~~~~~~~~~ + +1) Download source + +2) Unpack tarball and go to the directory of the package: + +:: + + tar xvfz bamqc-0.6.6.tar.gz + + cd bamqc-0.6.6 + +3) Run make: + +:: + + make + +From Setup.py +~~~~~~~~~~~~~ + +:: + + python2.7 setup.py install + +From Pypi +~~~~~~~~~ + +:: + + pip2.7 install BAMqc + +Usage +===== + +:: + + ezBAMQC [-h] -i alignment_files [alignment_files ...] -r [refgene] + [-f [attrID]] [--rRNA [rRNA]] -o [dir] [--stranded [stranded]] + [-q [mapq]] [-l labels [labels ...]] [-t NUMTHREADS] + +optional arguments: + +:: + + -h, --help show this help message and exit. + -i, --inputFile alignment files. Could be multiple SAM/BAM files separated by space. Required. + -r, --refgene gene annotation file in GTF format. Required + -f the read summation at which feature level in the GTF file. DEFAULT: gene_id. + --rRNA rRNA coordinates in BED format. + -o, --outputDir output directory. Required. + --stranded strandness of the library? + yes : sense stranded + reverse : reverse stranded + no : not stranded + DEFAULT: yes. + -q, --mapq Minimum mapping quality (phred scaled) for an alignment to be called uniquely mapped. DEFAULT:30 + -l, --label Labels of input files. DEFAULT:smp1 smp2 ... + -t, --threads Number of threads to use. DEFAULT:1 + +Example: + +:: + + ezBAMQC -i test-data/exp_data/treat1.bam test-data/exp_data/treat2.bam test-data/exp_data/treat3.bam -r test-data/exp_data/hg9_refGene.gtf -q 30 --rRNA test-data/exp_data/hg19_rRNA.bed -o exp_output2 + + Please find the example output from folder test-data. + +FAQ +==== +Q: Why use ezBAMQC? + +A: ezBAMQC is efficient and easy to use. With one command line, it reports a comprehensive evaluation of the data with a set of plots and tables.The ability to assess multiple samples together with high efficiency make it especially useful in cases where there are a large number of samples from the same condition, genotype, or treatment. ezBAMQC was written in C++ and supports multithreading. A mouse RNA-seq sample with 120M alignments can be done in 8 minutes with 5 threads. + +Q: Why the total number of reads reported by ezBAMQC does not match with samtools flagstat? + +A: The difference is because of non-uniquely mapped reads or multiply aligned reads (multi-reads). Samtools flagstat counts each multiple aligment as a different reads, but ezBAMQC counts reads accoriding to the read ID, i.e., each individual read will be counted once no matter that it is a uniquely mapped read or multi-read. + +Q: What is "Low Quality Reads" ? + +A: Reads marked as qc fail accoriding to SAM format or reads with mapping quality lower than the value set by the option -q will be considered as "Low Quality Reads". + +Q: How the setting of option -q alter the results? + +A: Reads with low quality, i.e., did not pass -q cutoff, are only counted in Total Reads, Mapped Reads, and Mappability by mapping quality plot. The rest of the report does not include low quality reads. + +Q: Do multi-reads (non-uniquely mapped reads) have been considered in Read distribution and gene quantification? + +A: No. Only uniquely mapped reads were counted. + + +Acknowledgements +================ + +#) Samtools contributors +#) Users' valuable feedback + +Copying & Distribution +====================== + +ezBAMQC 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 ezBAMQC. If not, see `this website `_ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/doc/CONTACTS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/doc/CONTACTS Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1 @@ +Ying Jin: yjin@cshl.edu diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/doc/COPYING --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/doc/COPYING Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,619 @@ + 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. diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/doc/INSTALL --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/doc/INSTALL Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,74 @@ + +Installation guide for ezBAMQC for from source installs +===================================================== + +When installing ezBAMQC there are several options, but the main point is: since ezBAMQC uses C++ STD 11 you'll need a version of GCC that can support that, this useally means 4.8 or 4.9. beyond that, you'll need Python, R and Corrplot for interfacing with the C code. + +:Intallation: + `Source Code `_ + + `Pypi `_ + +:Prerequisites: + * `python2.7 `_ + * `R `_ + * `corrplot `_ + * `GCC 4.8.1 or greater `_ GCC 4.9.1 or greater is recomended for PyPi install + +:Notes: + * While there are multiple methods of installing the prerequistes it may help to look at (if using a yum based linux distro):* + * `Devtoolset-3 `_ for GCC compilers + * `IUS `_ for Python2.7 + * `Software Collections `_ for collections of software (like devtoolset 3 or python) + * `rpmfinder `_ for searching rpms across mutliple systems + +Setup +===== + +1) Make sure that the GCC comiler is in your PATH: + +:: + + export PATH=/path/to/gcc:$PATH + +2) Make sure that python2.7 is in your PYTHONPATH: + +:: + + export PYTHONPATH=/path/to/python2.7/site-packages:$PYTHONPATH + +3) There are three methods of installation of ezBAMQC, from source, from setup.py, and from pypi, once prequistes are setup. + +From Source +~~~~~~~~~~~ + +1) Download source + +2) Unpack tarball and go to the directory of the package: + +:: + + tar xvfz bamqc-0.6.4.tar.gz + + cd bamqc-0.6.4 + +3) Run make: + +:: + + make + +From Setup.py +~~~~~~~~~~~~~ + +:: + + python2.7 setup.py install + +From Pypi +~~~~~~~~~ + +:: + + pip2.7 install BAMqc + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/doc/THANKS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/doc/THANKS Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +Acknowledgements goes to: +1) Samtools contributors +4) Users' valuable feedback diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/doc/bamqc-icon.png Binary file ezBAMQC/doc/bamqc-icon.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/ezBAMQC --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/ezBAMQC Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1832 @@ +#!/usr/bin/env python2.7 + +''' + +Created on July 24, 2015 + + + +@author: Ying Jin + +@contact: yjin@cshl.edu + +@status: + +@version: 0.6.6 + +''' + +import argparse, subprocess,traceback + +import sys, os, time, string, re + +import warnings, logging + +import collections + +import math, copy + +import sets + +from time import strftime + +from datetime import datetime + +import ctypes + +import multiprocessing,threading,Queue + + + +def locate(name, path): + + for root, dirs, files in os.walk(path): + + if name in files: + + return os.path.join(root, name) + + + +def locBAMqc(loc): + + for p in os.environ[loc].split(os.pathsep): + + potential_file = locate('libBAMqc.so',p) + + if potential_file: + + return potential_file + + + +in_path = locBAMqc('PATH') + +in_pythonpath = locBAMqc('PYTHONPATH') + +in_local = locate('libBAMqc.so','./') + + + +if in_local: + + so=ctypes.CDLL(in_local) + +elif in_path: + + so=ctypes.CDLL(in_path) + +elif in_pythonpath: + + so=ctypes.CDLL(in_pythonpath) + +else: + + print "can not find libBAMqc.so, you're not setup correctly, exiting\n" + + sys.exit() + + + +if sys.version_info[0] != 2 or sys.version_info[1] != 7: + + print >>sys.stderr, "\nYou are using python" + str(sys.version_info[0]) + '.' + str(sys.version_info[1]) + " ezBAMQC needs python2.7!\n" + + sys.exit() + + + + + +class pyResults : + + + + def __init__(self): + + self.filename = "" + + self.is_pairEnd = False + + self.clipping_plot_file = "" + + self.mapq_plot_file = "" + + self.mapq_file = "" + + self.read_cov_plot_file = "" + + self.trans_cov_plot_file = "" + + self.insert_plot_file = "" + + self.insert_file = "" + + self.read_dist_plot_file1 = "" + + self.read_dist_plot_file2 = "" + + self.read_dup_plot_file = "" + + self.readLen_plot_file = "" + + self.geneCount_file = "" + + + + self.seqDeDup_percent = 0 + + self.posDeDup_percent = 0 + + + + self.no_clipping = False + + self.no_rRNA = False + + + + + + self.total_reads = 0 + + self.uniq_mapped_reads = 0 + + self.multi_mapped_reads = 0 + + self.unmapped_reads = 0 + + self.low_qual = 0 + + self.low_qual_read1 = 0 + + self.low_qual_read2 = 0 + + self.pcr_dup = 0 + + + + self.unmapped_read1 = 0 + + self.unmapped_read2 = 0 + + self.mapped_read1 = 0 + + self.mapped_read2 = 0 + + self.forward_read = 0 + + self.reverse_read = 0 + + self.paired_reads = 0 + + + + self.mapped_plus_minus = 0 + + self.mapped_plus_plus = 0 + + self.mapped_minus_plus = 0 + + self.mapped_minus_minus = 0 + + + + self.ins_read = 0 + + self.del_read = 0 + + + + self.noSplice = 0 + + self.splice = 0 + + self.paired_diff_chrom = 0 + + + + self.rRNA_read = 0 + + self.intron_read = 0 + + self.cds_exon_read = 0 + + self.utr_5_read = 0 + + self.utr_3_read = 0 + + self.intergenic_up1kb_read = 0 + + self.intergenic_down1kb_read = 0 + + self.intergenic_read = 0 + + + + + +def read_in_res(cur_data_dir,label): + + res = pyResults() + + fname = cur_data_dir+label+'.res.txt' + + + + try : + + if os.path.exists(fname) : + + f = open(fname,'r') + + for line in f : + + line = line.strip() + + (name,value) = line.split('\t') + + if name == "rRNA_read" : + + res.rRNA_read = int(value) + + if name == "low_qual_read1" : + + res.low_qual_read1 = int(value) + + if name == "low_qual_read2" : + + res.low_qual_read2 = int(value) + + if name == "filename" : + + res.filename = value + + if name == "is_pairEnd" : + + res.is_pairEnd = True if int(value) == 1 else False + + if name == "clipping_plot_file" : + + res.clipping_plot_file = value + + if name == "mapq_plot_file" : + + res.mapq_plot_file = value + + if name == "mapq_file" : + + res.mapq_file = value + + if name == "read_cov_plot_file": + + res.read_cov_plot_file = value + + if name == "trans_cov_plot_file": + + res.trans_cov_plot_file = value + + if name == "insert_plot_file" : + + res.insert_plot_file = value + + if name == "insert_file" : + + res.insert_file = value + + if name == "read_dist_plot_file1" : + + res.read_dist_plot_file1 = value + + if name == "read_dist_plot_file2" : + + res.read_dist_plot_file2 = value + + if name == "read_dup_plot_file" : + + res.read_dup_plot_file = value + + if name == "readLen_plot_file" : + + res.readLen_plot_file = value + + if name == "geneCount_file" : + + res.geneCount_file = value + + if name == "seqDeDup_percent" : + + res.seqDeDup_percent = float(value) + + if name == "posDeDup_percent" : + + res.posDeDup_percent = float(value) + + if name == "no_clipping" : + + res.no_clipping = False if int(value) == 0 else True + + if name == "no_rRNA" : + + res.no_rRNA = False if int(value) == 0 else True + + if name == "total_reads" : + + res.total_reads = int(value) + + if name == "uniq_mapped_reads" : + + res.uniq_mapped_reads = int(value) + + if name == "multi_mapped_reads" : + + res.multi_mapped_reads = int(value) + + if name == "unmapped_reads" : + + res.unmapped_reads = int(value) + + if name =="low_qual" : + + res.low_qual = int(value) + + if name == "pcr_dup" : + + res.pcr_dup = int(value) + + if name == "unmapped_read1" : + + res.unmapped_read1 = int(value) + + if name == "unmapped_read2" : + + res.unmapped_read2 = int(value) + + if name =="mapped_read1": + + res.mapped_read1 = int(value) + + if name =="mapped_read2": + + res.mapped_read2 = int(value) + + if name =="forward_read": + + res.forward_read = int(value) + + if name =="reverse_read" : + + res.reverse_read = int(value) + + if name =="paired_reads": + + res.paired_reads = int(value) + + if name =="mapped_plus_minus": + + res.mapped_plus_minus = int(value) + + if name =="mapped_plus_plus": + + res.mapped_plus_plus = int(value) + + if name == "mapped_minus_plus" : + + res.mapped_minus_plus = int(value) + + if name =="mapped_minus_minus" : + + res.mapped_minus_minus = int(value) + + if name =="ins_read" : + + res.ins_read = int(value) + + if name == "del_read" : + + res.del_read = int(value) + + if name == "noSplice" : + + res.noSplice = int(value) + + if name =="splice": + + res.splice = int(value) + + if name =="paired_diff_chrom" : + + res.paired_diff_chrom = int(value) + + f.close() + + #os.remove(fname) + + else : + + sys.stderr.write("output file does not exist for sample %s\n" % (label)) + + except : + + sys.stderr.write("Error in reading output.\n") + + sys.exit(1) + + return res + + + + + + + +def worker(in_queue,out_queue) : + + #for (label,fname,param) in iter(in_queue.get,'STOP'): + + (fname,label,cur_data_dir,cur_fig_dir,rRNA_model,ref_gene_model,attrID,mapq,stranded) = in_queue.get() + + if fname is not None : + + ret = so.run_qc(cur_data_dir,cur_fig_dir,ref_gene_model,attrID,fname,rRNA_model,label,mapq,stranded) + + if ret == 1 : + + res = read_in_res(cur_data_dir,label) + + create_per_sample_plot(fname,label,cur_data_dir,cur_fig_dir,res) + + out_queue.put((label,res)) + + + + + + + + + +def distr_jobs2(args,cur_data_dir,cur_fig_dir): + + + + smp_res = dict() + + try: + + #mgr = multiprocessing.Manager() + + #param = [cur_data_dir,cur_fig_dir,args.mapq,args.stranded] + + if args.numProc <= len(args.ifiles) : + + num_process = args.numProc + + else : + + num_process = len(args.ifiles) + + + + processed = 0 + + while processed < len(args.ifiles) : + + task_queue = multiprocessing.Queue() + + result_queue = multiprocessing.Queue() + + + + if processed + num_process > len(args.ifiles) : + + num_process = len(args.ifiles) - processed + + + + for i in range(processed,processed+num_process) : + + label = args.labels[i] + + fname = args.ifiles[i] + + t = ((fname,label,cur_data_dir,cur_fig_dir,args.rRNA_model,args.ref_gene_model,args.attrID,args.mapq,args.stranded)) + + task_queue.put(t) + + + + procs = [] + + for i in range(num_process) : + + p = multiprocessing.Process(target=worker,args=(task_queue,result_queue)) + + #p.daemon=True + + p.start() + + procs.append(p) + + #task_queue.put('STOP') + + finished = 0 + + for p in procs : + + p.join() + + #sys.stderr.write(str(p.exitcode)+"\n") + + if p.exitcode != 0 : + + sys.stderr.write("subprocess error %s " % (p.exitcode)) + + sys.exit(1) + + if p.exitcode == 0 : + + finished += 1 + + processed += 1 + + if finished == len(procs) : + + break + + + + for i in range(num_process) : + + (label,res) = result_queue.get() + + smp_res[label] = res + + + + except: + + sys.stderr.write("Error: %s\n" % str(sys.exc_info()[1])) + + sys.stderr.write( "[Exception type: %s, raised in %s:%d]\n" % + + ( sys.exc_info()[1].__class__.__name__, + + os.path.basename(traceback.extract_tb( sys.exc_info()[2] )[-1][0]), + + traceback.extract_tb( sys.exc_info()[2] )[-1][1] ) ) + + sys.exit(1) + + + + return smp_res + + + + + + + +def main(): + + + + #read in options + + args = read_opts(prepare_parser()) + + + + info = args.info + + warn = args.warn + + debug = args.debug + + error = args.error + + crit = args.critical + + #local_rRNAIdx = None + + #local_geneIdx = None + + + + info("*** Starting BAMqc run. ***\n") + + + + #list of qc results + + smp_res = dict() + + + + #working directory and output files + + cur_dir = os.path.abspath(args.dir) + + cur_base_dir = os.path.basename(args.dir) + + cur_fig_dir = cur_dir+"/figs/" + + cur_data_dir = cur_dir + "/data/" + + data_file = cur_dir+"summary_data.txt" + + html_file = cur_dir+"/ezBAMQC_output.html" + + + + #check folders and files + + try : + + if os.path.exists(cur_dir) : + + error("Folder already exists!\n") + + sys.exit(1) + + if not os.path.exists(cur_dir) : + + os.makedirs(cur_dir) + + if not os.path.exists(cur_fig_dir): + + os.makedirs(cur_fig_dir) + + if not os.path.exists(cur_data_dir): + + os.makedirs(cur_data_dir) + + + + except : + + error("Error in create output folder.\n") + + sys.exit(1) + + + + if args.numProc >=2 : + + smp_res = distr_jobs2(args,cur_data_dir,cur_fig_dir) + + else : + + for i in range(len(args.ifiles)) : + + ifile = args.ifiles[i] + + + + ret = so.run_qc(cur_data_dir,cur_fig_dir,args.ref_gene_model,args.attrID,ifile,args.rRNA_model,args.labels[i],args.mapq,args.stranded,args.numThreads) + + if ret == 1 : + + res = read_in_res(cur_data_dir,args.labels[i]) + + create_per_sample_plot(ifile,args.labels[i],cur_data_dir,cur_fig_dir,res) + + smp_res[args.labels[i]] = res + + + + #sample correlation + + smp_corr_plot_file = cur_fig_dir+"smp_corr.png" + + smp_repro_plot_file = cur_fig_dir+"smp_reproducibility.png" + + smp_var_plot_file = cur_fig_dir+"smp_var.png" + + smp_inner_plot_file = cur_fig_dir+"smp_inner_dist.png" + + smp_cov_plot_file = cur_fig_dir+"smp_cov.png" + + smp_quality_plot_file = cur_fig_dir+"smp_qual.png" + + #smp_dup_plot_file = cur_fig_dir+"smp_dup.png" + + #smp_summary_file = cur_data_dir +"smp_summary.txt" + + + + if len(smp_res) > 1 : + + + + smp_cnt = 0 + + header_corr = 'c(' + + header_insert = 'c(' + + header_mapq = 'c(' + + #header_dup = 'c(' + + #sys.stderr.write(','.join(smp_res.values()+"\n")) + + + + filenames_corr = 'c(' + + filenames_insert = 'c(' + + filenames_mapq = 'c(' + + #filenames_dup_seq = 'c(' + + #filenames_dup_pos = 'c(' + + pe_smp_cnt = 0 + + for k in range(len(args.labels)) : + + key = args.labels[k] + + if not smp_res[key].mapq_file == "" : + + filenames_mapq += '"' + cur_base_dir+ "/data/" + os.path.basename(smp_res[key].mapq_file) + '",' + + header_mapq += '"'+key+'",' + + + + if not smp_res[key].insert_file == "" and smp_res[key].is_pairEnd: + + pe_smp_cnt += 1 + + filenames_insert += '"' + cur_base_dir + "/data/"+os.path.basename(smp_res[key].insert_file) + '",' + + header_insert += '"'+key+'",' + + + + if not smp_res[key].geneCount_file == "" : + + smp_cnt += 1 + + filenames_corr += '"' + cur_base_dir + "/data/"+ os.path.basename(smp_res[key].geneCount_file) + '",' + + header_corr += '"'+key+'",' + + + + header_corr = header_corr[0:len(header_corr)-1] + ')' + + filenames_corr = filenames_corr[0:len(filenames_corr)-1] + ')' + + filenames_insert = filenames_insert[0:len(filenames_insert)-1] + ')' + + header_insert = header_insert[0:len(header_insert)-1] + ')' + + + + header_mapq = header_mapq[0:len(header_mapq)-1] + ')' + + filenames_mapq = filenames_mapq[0:len(filenames_mapq)-1] + ')' + + #header_dup = header_dup[0:len(header_dup)-1] + ')' + + #filenames_dup_seq = filenames_dup_seq[0:len(filenames_dup_seq)-1] + ')' + + #filenames_dup_pos = filenames_dup_pos[0:len(filenames_dup_pos)-1] + ')' + + + + if smp_cnt > 1 : + + info("*** Sample Correlation ***") + + try : + + #subprocess.call(cmd_str+" >"+smp_summary_file, shell=True) + + + + smp_corr_r = cur_data_dir+"smp_correlation.r" + + + + f = open(smp_corr_r,'w') + + f.write("library(corrplot)\n") + + f.write('srcfiles = '+filenames_corr+'\n') + + f.write('destfile = "'+smp_corr_plot_file+'"\n') + + f.write('f1 = read.delim(srcfiles[1],header=T)\n') + + f.write('MM=matrix(nrow=length(f1[,1]),ncol=length(srcfiles))\n') + + f.write('rownames(MM)=f1[,1]\n') + + f.write('MM[,1]=f1[,2]\n') + + f.write('for (i in 2:length(srcfiles)){ \n') + + f.write(' f = read.delim(srcfiles[i],header=T)\n') + + f.write(' MM[,i] = f[,2] }\n') + + f.write('colnames(MM)='+header_corr+'\n') + + f.write('libSize<-colSums(MM)\n') + + f.write('MM<-t(t(MM)*1000000/libSize)\n') + + f.write('ss<-rowSums(MM)\n') + + f.write('M1<-MM[ss>0,]\n') + + f.write('MM_s<-t(scale(t(M1)))\n') + + f.write("M.cor<-cor(MM_s,method='sp')\n") + + f.write("M.cor[is.na(M.cor)]<- 0\n") + + f.write("png(destfile,width=500,height=500,units='px')\n") + + f.write("corrplot(M.cor,is.corr=T,order='FPC',method='color',type='full',add=F,diag=T)\n") + + f.write("dev.state = dev.off()\n") + + f.write("nz_genes = length(M1[,1])\n") + + f.write('destfile = "'+smp_repro_plot_file+'"\n') + + f.write("if(nz_genes >0) { \n") + + f.write("png(destfile,width=500,height=500,units='px')\n") + + f.write("nz_gene_mm = rep(0,length(M1[1,]))\n") + + f.write("for(i in 1:length(M1[1,])) { \n") + + f.write("nz_gene_mm[i] = length(which(M1[,i]>0))/nz_genes * 100 } \n") + + f.write("bplt <- barplot(nz_gene_mm,beside=T,border='NA',space=1.5,ylim=c(0,100),ylab='Genes reproducibly detected (%)',col='blue',names.arg=colnames(MM))\n") + + f.write("text(y= nz_gene_mm+2, x= bplt, labels=paste(as.character(round(nz_gene_mm,digits=1)),'%',sep=''), xpd=TRUE)\n") + + f.write("dev.state = dev.off()}\n") + + + + f.write('destfile = "'+smp_var_plot_file+'"\n') + + f.write("png(destfile,width=500,height=500,units='px')\n") + + f.write("mad = rep(0,length(M1[,1]))\n") + + f.write("nz_gene_median = rep(0,length(M1[,1]))\n") + + f.write("for(i in 1:length(M1[,1])) { \n") + + f.write("nz_gene_median[i] = median(M1[i,]) \n") + + f.write("mad[i] = median(abs(M1[i,]-nz_gene_median[i])) } \n") + + f.write("mad2 = mad[nz_gene_median >0] \n") + + f.write("nz_gene_median2 = nz_gene_median[nz_gene_median>0] \n") + + f.write("mad_vs_median = mad2/nz_gene_median2 \n") + + f.write("nz_gene_median3 = log(nz_gene_median2, base=2)\n") + + f.write("dd<-data.frame(nz_gene_median3,mad_vs_median) \n") + + f.write("x = densCols(nz_gene_median3,mad_vs_median, colramp=colorRampPalette(c('black', 'white')))\n") + + f.write("dd$dens <- col2rgb(x)[1,] + 1L \n") + + f.write('cols <- colorRampPalette(c("#000099", "#00FEFF", "#45FE4F", "#FCFF00", "#FF9400", "#FF3100"))(256)\n') + + f.write('dd$col <- cols[dd$dens]\n') + + f.write('plot(mad_vs_median ~ nz_gene_median3,data=dd[order(dd$dens),], col=col, pch=20,xlab="Gene expression (median RPM log2)",ylab="Median absolute deviation/median")\n') + + f.write('dev.state = dev.off()\n') + + + + #f.write('destfile = "'+smp_corr_plot_file2+'"\n') + + #f.write("M.pc<-prcomp(t(MM_s))\n") + + #f.write("png(destfile,width=500,height=500,units='px')\n") + + #f.write("plot(M.pc)\n") + + #f.write("dev.state = dev.off()\n") + + + + f.write('destfile = "'+smp_cov_plot_file+'"\n') + + f.write("png(destfile,width=500,height=500,units='px')\n") + + f.write('xname=c("<0.5","0.5-10","10-100",">=100")\n') + + f.write('Fn_mm = matrix(0,nrow=length(xname),ncol=length(M1[1,]))\n') + + f.write('rownames(Fn_mm) = xname \n') + + f.write('colnames(Fn_mm) = ' + header_corr + ' \n') + + + + f.write('for(i in 1:length(M1[1,])) { \n') + + f.write('Fn_mm[1,i] = length(which(M1[,i]<0.5)) \n') + + f.write('Fn_mm[2,i] = length(which(M1[,i]>=0.5 & M1[,i]<10))\n') + + f.write('Fn_mm[3,i] = length(which(M1[,i]>=10 & M1[,i]<100))\n') + + f.write('Fn_mm[4,i] = length(which(M1[,i]>=100)) }\n') + + + + f.write('barplot(Fn_mm,main="Gene abundance (RPM)",xlab="Sample",ylab="Frequency",col=c("green","blue","red","yellow"),legend=xname)\n') + + f.write("dev.state = dev.off()\n") + + if pe_smp_cnt > 0 : + + f.write('srcfiles2 = '+filenames_insert+'\n') + + f.write('destfile2 = "'+smp_inner_plot_file+'"\n') + + f.write("png(destfile2,width=500,height=500,units='px')\n") + + f.write('f = read.delim(srcfiles2[1],header=T)\n') + + f.write('freq=rep(round((f[,1]+f[,2]+1)/2,0),times=f[,3])\n') + + f.write('smp ='+header_insert+'\n') + + f.write('boxplot(freq,outline=F,xlim=c(0,length(smp)+1),ylab="Inner distance (bp)",col="blue",border="black") \n') + + f.write('for (i in 2:length(srcfiles2)){ \n') + + f.write(' f = read.delim(srcfiles2[i],header=T)\n') + + f.write('freq=rep(round((f[,1]+f[,2]+1)/2,0),times=f[,3])\n') + + f.write('boxplot(freq,add=T,outline=F,at=i,col="blue",border="black") }\n') + + f.write('axis(1,at=seq(1,length(smp),by=1),labels=smp,las=2)\n') + + f.write("dev.state = dev.off()\n") + + + + f.write('destfile3 = "'+smp_quality_plot_file+'"\n') + + f.write('srcfiles3 = '+filenames_mapq+'\n') + + f.write("png(destfile3,width=500,height=500,units='px')\n") + + f.write('xname=c("<3","3-10","10-20","20-30",">=30")\n') + + f.write('Fn_mm = matrix(0,nrow=length(xname),ncol=length(srcfiles3))\n') + + f.write('rownames(Fn_mm) = xname \n') + + f.write('colnames(Fn_mm) = ' + header_mapq + ' \n') + + + + f.write('for(i in 1:length(srcfiles3)) { \n') + + f.write(' f = read.delim(srcfiles3[i],header=T)\n') + + f.write(' if(length(which(f[,1]<3)) >0){ Fn_mm[1,i] = sum(f[which(f[,1]<3),3])/f[1,2]} \n') + + f.write('if(length(which(f[,1]>=3 & f[,1]<10)) >0) {Fn_mm[2,i] = sum(f[which(f[,1]<10 & f[,1]>=3),3])/f[1,2]} \n') + + f.write('if(length(which(f[,1]>=10 & f[,1]<20)) >0) {Fn_mm[3,i] = sum(f[which(f[,1]<20 & f[,1]>=10),3])/f[1,2] }\n') + + f.write('if(length(which(f[,1]>=20 & f[,1]<30)) >0) {Fn_mm[4,i] = sum(f[which(f[,1]<30 & f[,1]>=20),3])/f[1,2]} \n') + + f.write('if(length(which(f[,1]>=30)) >0) {Fn_mm[5,i] = sum(f[which(f[,1]>=30),3])/f[1,2] }} \n') + + + + f.write('barplot(Fn_mm,xlab="Sample",main="Mapping Quality",ylim=c(0,1),ylab="Frequency",col=c("blue","green","yellow","orange","red"),legend=xname)\n') + + f.write("dev.state = dev.off()\n") + + + + #f.write('destfile3 = "'+smp_dup_plot_file+'"\n') + + #f.write('srcfiles3 = '+filenames_dup_pos+'\n') + + #f.write('srcfiles4 = '+filenames_dup_seq+'\n') + + #f.write('png(destfile3,width=500,height=500,units="px")\n') + + #f.write('M = matrix(0,nrow=2,ncol=length(srcfiles3))\n') + + #f.write('colnames(M) = ' + header_dup + ' \n') + + + + #f.write('for(i in 1:length(srcfiles3)) { \n') + + #f.write('f_pos = read.delim(srcfiles3[i],header=T) \n') + + #f.write('f_seq = read.delim(srcfiles4[i],header=T) \n') + + #f.write('total = sum(f_pos[,1]*f_pos[,2]) \n') + + #f.write('pos_dedup = round(sum(f_pos[,2])/total*100,2) \n') + + #f.write('seq_dedup = round(sum(f_seq[,2])/total*100,2) \n') + + #f.write('M[1,i] = pos_dedup \n') + + #f.write('M[2,i] = seq_dedup }\n') + + + + #f.write('rownames(M)<-c("Position","Sequence")\n') + + #f.write('barplot(M,ylim=c(0,100),beside=T,col=c("blue","red"),main="Duplication",xlab="Sample",ylab="Percentage after deduplication",legend=c("Mapping position","Sequence"),args.legend=list(bty="n"))\n') + + #f.write('dev.state = dev.off()\n') + + + + + + + + f.close() + + + + subprocess.call("Rscript " + smp_corr_r , shell=True) + + + + except: + + sys.stderr.write("Error in computing sample correlation.\n") + + smp_corr_plot_file = "" + + smp_corr_plot_file2 = "" + + pass + + + + info("*** Correlation completed ***\n") + + + + #outputToHTML(smp_res,args.labels,smp_corr_plot_file,smp_inner_plot_file, smp_quality_plot_file,smp_cov_plot_file,html_file) + + outputToHTML(smp_res,args.labels,html_file) + + info("*** BAM QC run completed. ***\n") + + + + + +def create_per_sample_plot(ifile,label,cur_data_dir,cur_fig_dir,res): + + output_prefix_data = cur_data_dir + label + + output_prefix_fig = cur_fig_dir + label + + try: + + subprocess.call("Rscript "+output_prefix_data+'.read_distr.r',shell=True) + + except : + + print("Error in plotting read distributions.\n") + + res.read_dist_plot_file1 = "" + + pass + + try: + + subprocess.call("Rscript "+output_prefix_data+'.read_distr_pie.r',shell=True) + + except : + + print("Error in plotting read distributions.\n") + + res.read_dist_plot_file2 = "" + + pass + + + + #res.filename = ifile + + if os.path.isfile(output_prefix_data+'.clipping_profile.r') : + + try: + + subprocess.call("Rscript " + output_prefix_data + '.clipping_profile.r',shell=True) + + # subprocess.call("rm -rf "+ output_prefix + '.clipping_profile.r',shell=True) + + except: + + print("Cannot generate png file form " + output_prefix_data + '.clipping_profile.r\n') + + res.clipping_plot_file = "" + + pass + + else : + + res.no_clipping = True + + + + if os.path.isfile(output_prefix_data+'.mapq_profile.r') : + + try: + + subprocess.call("Rscript " + output_prefix_data + '.mapq_profile.r',shell=True) + + + + except: + + print("Cannot generate png file form " + output_prefix_data + '.mapq_profile.r\n') + + res.mapq_plot_file = "" + + pass + + else : + + res.mapq_plot_file = "" + + if os.path.isfile(output_prefix_data+'.geneBodyCoverage_plot.r') : + + try: + + subprocess.call("Rscript " + output_prefix_data + '.geneBodyCoverage_plot.r',shell=True) + + + + except: + + print("Cannot generate png file from " + output_prefix_data + '.geneBodyCoverage_plot.r\n') + + res.read_cov_plot_file = "" + + pass + + + + try: + + subprocess.call("Rscript " + output_prefix_data + '.TransCoverage.r',shell=True) + + + + except: + + print("Cannot generate png file from " + output_prefix_data + '.TransCoverage.r\n') + + res.trans_cov_plot_file = "" + + pass + + try: + + subprocess.call("Rscript " + output_prefix_data + ".ReadLen_plot.r", shell=True) + + + + except: + + print("Cannot generate png file form " + output_prefix_data + '.ReadLen_plot.rn') + + pass + + if res.is_pairEnd and os.path.isfile(output_prefix_data+'.inner_distance_plot.r') : + + try: + + subprocess.call("Rscript " + output_prefix_data + '.inner_distance_plot.r',shell=True) + + except: + + print("Cannot generate png file form " + output_prefix_data + '.inner_distance_plot.r\n') + + res.insert_plot_file = "" + + pass + + else : + + res.insert_plot_file = "" + + + + + + + +#def outputToHTML(res_list,smps,corr_plot_file,smp_inner_plot_file,smp_quality_plot_file,smp_cov_plot_file,html_file): + +def outputToHTML(res_list,smps,html_file): + + + + #smps = res_list.keys() + + tohtml = '\n' + + tohtml += '\n' + + tohtml += 'ezBAMQC Report\n' + + tohtml += ' \n' + + tohtml += '\n' + + tohtml += '
\n' + + tohtml += '\n' + + + + i = 0 + + tohtml += '
\n' + + tohtml += '\n' + + + + tohtml += '
\n' + + for i in range(len(smps)): + + key = smps[i] + + res = res_list[key] + + + + tohtml += '

'+key+'

\n' + + tohtml += '

Basic Statistics

\n' + + tohtml += '\n' + + tohtml += '\n'; + + tohtml += '\n' + + tohtml += '\n' + + if not res.is_pairEnd : + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '\n' + + tohtml += '
MeasureValue
Total Reads'+str(res.total_reads)+'
Unique Reads'+str(res.uniq_mapped_reads)+'
Multi-reads'+str(res.multi_mapped_reads)+'
Unmapped Reads'+str(res.unmapped_reads)+'
Low Quality Reads'+str(res.low_qual)+'
Forward Reads'+str(res.forward_read)+'
Reverse Reads'+str(res.reverse_read)+'
Splice Reads'+str(res.splice)+'
Non-Splice Reads'+str(res.noSplice)+'
rRNA Reads'+str(res.rRNA_read)+'
\n' + + else : # paired read + + tohtml += 'Uniquely Mapped Pairs'+str(res.paired_reads)+'\n' + + tohtml += 'Uniquely Mapped Read1'+str(res.mapped_read1)+'\n' + + tohtml += 'Uiquely Mapped Read2'+str(res.mapped_read2)+'\n' + + tohtml += 'Multi-reads'+str(res.multi_mapped_reads)+'\n' + + tohtml += 'Unmapped Read1'+str(res.unmapped_read1)+'\n' + + tohtml += 'Unmapped Read2'+str(res.unmapped_read2)+'\n' + + tohtml += 'Number of read mapped "+,-" '+str(res.mapped_plus_minus)+'\n' + + tohtml += 'Number of read mapped "+,+" '+str(res.mapped_plus_plus)+'\n' + + tohtml += 'Number of read mapped "-,+" '+str(res.mapped_minus_plus)+'\n' + + tohtml += 'Number of read mapped "-,-" '+str(res.mapped_minus_minus)+'\n' + + tohtml += 'Low Quality Read1'+str(res.low_qual_read1)+'\n' + + tohtml += 'Low Quality Read2'+str(res.low_qual_read2)+'\n' + + tohtml += 'Forward Reads'+str(res.forward_read)+'\n' + + tohtml += 'Reverse Reads'+str(res.reverse_read)+'\n' + + tohtml += 'Splice Reads'+str(res.splice)+'\n' + + tohtml += 'Non-Splice Reads'+str(res.noSplice)+'\n' + + tohtml += 'Pairs mapped to different chromosomes'+str(res.paired_diff_chrom)+'\n' + + tohtml += 'rRNA Reads'+str(res.rRNA_read)+'
\n' + + + + tohtml += '

Read Distribution

\n' + + tohtml += '

Read DistributionRead Distribution

\n' + + if res.no_clipping : + + tohtml += '

Mappability Profile

\n' + + tohtml += '

There is no soft clipping. MapQ Profile

\n' + + else : + + tohtml += '

Mappability

\n' + + tohtml += '

Mappablity Profile MapQ Profile

\n' + + + + tohtml += '

Coverage

\n' + + tohtml += '

Read Coverage Read Coverage

\n' + + + + if res.is_pairEnd : + + tohtml += '

Read Length and Insertion Size

\n' + + tohtml += '

Read Length Insertion Size

\n' + + else : + + tohtml += '

Read Length

\n' + + tohtml += '

Read Length

\n' + + + + if len(res_list) >1 : + + tohtml += '

Sample Correlation and Quality

\n' + + tohtml += '

Sample CorrelationSample Correlation

\n' + + + + if res.is_pairEnd : + + tohtml += '

Sample Coverage and Insert size

\n' + + tohtml += '

Sample CoverageSample insert size

\n' + + else : + + tohtml += '

Sample Coverage

\n' + + tohtml += '

Sample Coverage

\n' + + tohtml += '

Sample Variation

\n' + + tohtml += '

Sample VariationSample Variation

\n' + + + + tohtml += '\n' + + + + tohtml += '\n' + + + + try : + + f = open(html_file,'w') + + + + f.write(tohtml+"\n") + + f.close() + + except : + + sys.stderr.write("Cannot generate the final report. \n") + + sys.exit(1) + + + + + + + +def prepare_parser (): + + """ inputs(parameters) required/allowed in this pipeline """ + + desc = "Quality control of mapped NGS data (BAM/SAM files) ." + + + + + + exmp = "Example: ezBAMQC -r mm9_refGene.gtf -i treat1.bam treat2.bam treat3.bam -q 30 --rRNA mm9_rRNA.bed -o bamqc_out" + + parser = argparse.ArgumentParser(description = desc,epilog = exmp) + + parser.add_argument('-i', '--inputFile', metavar = 'alignment_files', dest = 'ifiles', nargs = '+', required = True, + + help = 'Alignment files. Could be multiple SAM/BAM files separated by space. Required.') + + parser.add_argument('-r', '--refgene', metavar = 'refgene', dest='ref_gene_model', nargs = '?', type=str, required = True,help = 'refGene GTF file. Required') + + + + parser.add_argument('-f', metavar='attrID', dest='attrID', nargs='?', type=str, default="gene_id", + + help='The read summation at which feature level in the GTF file. DEFAULT: gene_id.') + + + + parser.add_argument('--rRNA', metavar = 'rRNA', dest='rRNA_model', nargs = '?', type=str, default="", + + help = 'rRNA BED file.') + + parser.add_argument('-o', '--outputDir', metavar = 'dir', dest='dir', nargs = '?', type=str, required = True, + + help = 'output directory. Required.') + +# parser.add_argument('-i', '--index', metavar = 'transript_Index', dest='trIdx', nargs = '?', + +# help = 'Transcriptome index file.') + + parser.add_argument('--stranded', metavar='stranded', dest='stranded', nargs='?', type=str, default="yes", choices=['yes','no','reverse'], + + help='Is this a stranded library? (yes, no, or reverse). DEFAULT: yes.') + + + + parser.add_argument('-q', '--mapq', metavar = 'mapq', dest='mapq', nargs = '?', default=30, type=int, + + help = 'Minimum mapping quality (phred scaled) for an alignment to be called uniquely mapped. DEFAULT:30') + + #parser.add_argument('-l', '--lowBound', metavar = 'lb', dest='lb', nargs = '?', default=-250, type=int, + + # help = 'Lower bound for plotting insert size distribution. DEFAULT:-250') + + #parser.add_argument('-u', '--upperBound', metavar = 'ub', dest='ub', nargs = '?', default=250, type=int, + + # help = 'Upper bound for plotting insert size distribution. DEFAULT:250') + + #parser.add_argument('-s', '--stepSize', metavar = 'stepsize', dest='step_size', nargs = '?', default=5, type=int, + + # help = 'Step size for plotting insert size distribution. DEFAULT:5') + + parser.add_argument('-l','--label',metavar = 'labels', dest = 'labels', nargs = '+', + + help = 'Labels of input files. DEFAULT:smp1 smp2 ...') + + #parser.add_argument('-p', '--processes', dest='numProc', default=1, type=int,help='Number of processes to use .DEFAULT:1') + + parser.add_argument('-t', '--threads', dest='numThreads', default=1, type=int,help='Number of threads to use .DEFAULT:1') + + + + return parser + + + + + + + +def read_opts(parser): + + ''' object parser contains parsed options ''' + + + + args = parser.parse_args() + + args.numProc = 1 + + # logging object + + logging.basicConfig(level=20, + + format='%(levelname)-5s @ %(asctime)s: %(message)s ', + + datefmt='%a, %d %b %Y %H:%M:%S', + + stream=sys.stderr, + + filemode="w" + + ) + + + + #treatment files + + if args.labels is not None : + + if len(args.labels) >0 and len(args.ifiles) != len(args.labels) : + + logging.error("Number of labels does not match with the number of samples.\n") + + sys.exit(1) + + + + + + if args.labels is None : + + args.labels = [] + + + + for i in range(len(args.ifiles)) : + + if not os.path.isfile(args.ifiles[i]) : + + logging.error("No such file: %s !\n" % (args.ifiles[i])) + + sys.exit(1) + + if len(args.labels) < len(args.ifiles) : + + args.labels.append("smp"+str(i)) + + + + + +# if args.trIdx is None : + +# logging.warning("Trancsriptome index file is not available.\n") + +# + +# else : + +# if not os.path.isfile(args.trIdx) : + +# logging.error("No such file : %s !\n" %(args.trIdx)) + +# sys.exit(1) + + + + if args.stranded not in ['yes', 'no', 'reverse'] : + + logging.error("Does not support such stranded value: %s !\n" % (args.stranded)) + + sys.exit(1) + + + + if args.mapq is None : + + args.mapq = 30 + + + + if args.rRNA_model is not None and args.rRNA_model != "": + + if not os.path.isfile(args.rRNA_model) : + + logging.error("No such file : %s \n" %(args.rRNA_model)) + + sys.exit(1) + + + + if args.rRNA_model is None : + + args.rRNA_model = "" + + + + if args.attrID is None or args.attrID == "": + + logging.error("please specify the read summation at which feature level in the GTF file\n") + + sys.exit(1) + + + + if args.ref_gene_model is None : + + logging.error("reference gene model is required.\n") + + sys.exit(1) + + else : + + if not os.path.isfile(args.ref_gene_model) : + + logging.error("No such file : %s !\n" %(args.ref_gene_model)) + + sys.exit(1) + + + + # logging alias + + args.critical = logging.critical + + args.error = logging.error + + args.warn = logging.warning + + args.debug = logging.debug + + args.info = logging.info + + + + return args + + + + + +if __name__ == '__main__': + + try: + + start_time = time.time() + + main() + + end_time = time.time() + + sys.stderr.write("Elapsed time was " + str(round((end_time - start_time) / 60, 2)) + " minutes.\n") + + except KeyboardInterrupt: + + sys.stderr.write("User interrupt !\n") + + sys.exit(0) + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/setup.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/setup.py Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,226 @@ +#!/usr/bin/env python2.7 +# Setup for ezBAMQC, utilities for the Sequence Alignment/Map format. +# +# Copyright (C) 2015 Bioinformatics Shared Resource, CSHL. +# Portions copyright (C) 2015 Cold Spring Harbor Laboratory. +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +import argparse +import sys, os, glob, fnmatch + +## Added 10 Jan 2008 +from distutils.core import setup, Extension +import distutils.command.install_data + +## Code borrowed from wxPython's setup and config files +## Thanks to Robin Dunn for the suggestion. +## I am not 100% sure what's going on, but it works! +def opj(*args): + path = os.path.join(*args) + return os.path.normpath(path) + +## Added 10 Jan 2008 +# Specializations of some distutils command classes +class wx_smart_install_data(distutils.command.install_data.install_data): + """need to change self.install_dir to the actual library dir""" + def run(self): + install_cmd = self.get_finalized_command('install') + self.install_dir = getattr(install_cmd, 'install_lib') + return distutils.command.install_data.install_data.run(self) + +def find_data_files(srcdir, *wildcards, **kw): + # get a list of all files under the srcdir matching wildcards, + # returned in a format to be used for install_data + def walk_helper(arg, dirname, files): + if '.svn' in dirname: + return + names = [] + lst, wildcards = arg + for wc in wildcards: + wc_name = opj(dirname, wc) + for f in files: + filename = opj(dirname, f) + + if fnmatch.fnmatch(filename, wc_name) and not os.path.isdir(filename): + names.append(filename) + if names: + lst.append( (dirname, names ) ) + + file_list = [] + recursive = kw.get('recursive', True) + if recursive: + os.path.walk(srcdir, walk_helper, (file_list, wildcards)) + else: + walk_helper((file_list, wildcards), + srcdir, + [os.path.basename(f) for f in glob.glob(opj(srcdir, '*'))]) + return file_list + +## This is a list of files to install, and where: +## Make sure the MANIFEST.in file points to all the right +## directories too. +files = find_data_files('ezBAMQC/', '*.*') + +from distutils.core import setup + +def readme(): + with open('README.rst') as f: + return f.read() + +if sys.version_info[0] != 2 or sys.version_info[1] < 7: + print >> sys.stderr, "ERROR: ezBAMQC requires Python 2.7" + sys.exit() + +BAMQC_HEADER = [ + 'src/bamqc/Constants.h', + 'src/bamqc/Coverage_prof.h', + 'src/bamqc/GeneFeatures.h', + 'src/bamqc/InnerDist_prof.h', + 'src/bamqc/IntervalTree.h', + 'src/bamqc/Mappability.h', + 'src/bamqc/parseBAM.h', + 'src/bamqc/ReadDup_prof.h', + 'src/bamqc/Results.h', + 'src/bamqc/rRNA.h' +] + +BAMQC_SOURCE = [ + 'src/bamqc/Coverage_prof.cpp', + 'src/bamqc/GeneFeatures.cpp', + 'src/bamqc/InnerDist_prof.cpp', + 'src/bamqc/IntervalTree.cpp', + 'src/bamqc/Mappability.cpp', + 'src/bamqc/parseBAM.cpp', + 'src/bamqc/ReadDup_prof.cpp', + 'src/bamqc/Results.cpp', + 'src/bamqc/rRNA.cpp' +] + +###TODO HAVE TO SPLIT INTO TWO AND MAKE THE A FILE +HTSLIB_PUBLIC_HEADERS = [ + 'src/htslib/bgzf.h', + 'src/htslib/faidx.h', + 'src/htslib/hfile.h', + 'src/htslib/hts.h', + 'src/htslib/hts_defs.h', + 'src/htslib/khash.h', + 'src/htslib/klist.h', + 'src/htslib/knetfile.h', + 'src/htslib/kseq.h', + 'src/htslib/ksort.h', + 'src/htslib/kstring.h', + 'src/htslib/regidx.h', + 'src/htslib/sam.h', + 'src/htslib/synced_bcf_reader.h', + 'src/htslib/tbx.h', + 'src/htslib/vcf.h', + 'src/htslib/vcf_sweep.h', + 'src/htslib/vcfutils.h' +] + + +HTSLIB = [ + 'src/htslib/bgzf.c', + 'src/htslib/faidx.c', + 'src/htslib/hfile.c', + 'src/htslib/hfile_net.c', + 'src/htslib/hts.c', + 'src/htslib/kfunc.c', + 'src/htslib/knetfile.c', + 'src/htslib/kstring.c', + 'src/htslib/regidx.c', + 'src/htslib/sam.c', + 'src/htslib/synced_bcf_reader.c', + 'src/htslib/tbx.c', + 'src/htslib/vcf.c', + 'src/htslib/vcfutils.c', + 'src/htslib/cram/cram_codecs.c', + 'src/htslib/cram/cram_decode.c', + 'src/htslib/cram/cram_encode.c', + 'src/htslib/cram/cram_index.c', + 'src/htslib/cram/cram_io.c', + 'src/htslib/cram/cram_samtools.c', + 'src/htslib/cram/cram_stats.c', + 'src/htslib/cram/files.c', + 'src/htslib/cram/mFILE.c', + 'src/htslib/cram/md5.c', + 'src/htslib/cram/open_trace_file.c', + 'src/htslib/cram/pooled_alloc.c', + 'src/htslib/cram/rANS_static.c', + 'src/htslib/cram/sam_header.c', + 'src/htslib/cram/string_alloc.c', + 'src/htslib/cram/thread_pool.c', + 'src/htslib/cram/vlen.c', + 'src/htslib/cram/zfio.c' +] + +BAMqc_CFLAGS = ['-fpermissive','-O3','-std=c++11','-Wno-error=declaration-after-statement'] +BAMqc_DFLAGS = [('_FILE_OFFSET_BITS','64'),('_LARGEFILE64_SOURCE',''),('_CURSES_LIB','1')] +BAMqc_INCLUDES = ['./src/htslib'] +BAMqc_HEADERS = ['./src/bamqc'] +BAMqc_EXTRA = ['build/lib.linux-x86_64-2.7/htslib.so'] + +htslib_CFLAGS = ['-Wno-error=declaration-after-statement'] +htslib_HEADERS = ['./src/htslib','./src/htslib/htslib','./src/htslib/cram'] +htslib_DFLAGS = [('_FILE_OFFSET_BITS','64'),('_USE_KNETFILE','')] + +setup(name = "ezBAMQC", + version = "0.6.5", + description = 'Quality control tools for NGS alignment file', + keywords = 'Quality control BAM file', + # make sure to add all the nessacary requires + dependency_links=['https://gcc.gnu.org/gcc-4.8/','https://www.r-project.org/','https://cran.r-project.org/web/packages/corrplot/'], + cmdclass = { 'install_data': wx_smart_install_data }, + scripts = ["ezBAMQC"], + author = "Ying Jin", + author_email ="yjin@cshl.edu", + license='GPLv3', + platforms = ['Linux'], + url='http://hammelllab.labsites.cshl.edu/software#BAMqc', + long_description=readme(), + classifiers=[ + 'Development Status :: 4 - Beta', + 'Natural Language :: English', + 'License :: OSI Approved :: GNU General Public License v3 (GPLv3)', + 'Topic :: Scientific/Engineering :: Bio-Informatics', + 'Intended Audience :: Science/Research', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: C++', + 'Operating System :: Unix', + ], + zip_safe = False, + include_package_data=True, + ext_modules = [ + Extension('htslib', + sources = HTSLIB, + include_dirs = htslib_HEADERS, + extra_compile_args = htslib_CFLAGS, + define_macros = htslib_DFLAGS, + libraries=['z'] + ), + Extension('libBAMqc', + sources = BAMQC_SOURCE, + extra_compile_args = BAMqc_CFLAGS, + include_dirs = BAMqc_HEADERS + htslib_HEADERS, + extra_objects = BAMqc_EXTRA, + define_macros = BAMqc_DFLAGS + ) + ] + ) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Constants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Constants.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,37 @@ +// +// Constants.h +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef BAMQC_c___Constants_h +#define BAMQC_c___Constants_h + +#include + +#define BIN_SIZE 100000 + +#define MAX_BUCKET 128 +#define MIN_BUCKET 16 +#define DEPTH 16 + +//#define SAMPLESIZE 500000 +#define SAMPLESIZE std::numeric_limits::max() +#define LOW_BOUND -200 +#define UPPER_BOUND 1000 +#define STEP 10 + +#define CDS 1 +#define UTR5 2 +#define UTR3 3 +#define INTRON 4 +#define ITGUP1K 5 +#define ITGDN1K 6 +#define INTERGENIC 7 +#define RRNA 8 + +#define MAX_READ_LEN 1000 + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Coverage_prof.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Coverage_prof.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,217 @@ +// +// Coverage_prof.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "Coverage_prof.h" + +#include +//#include +#include +#include +#include + + + +Coverage_prof::Coverage_prof(std::string outfile_data,std::string outfile_fig, GeneFeatures * geneIdx) +{ + frag_num = 0; + cov_script_file = outfile_data + ".geneBodyCoverage_plot.r"; + cov_data_file = outfile_data + ".geneBodyCoverage.txt"; + cov_fig_file = outfile_fig + ".geneBodyCoverage.png"; + + transcov_fig_file = outfile_fig + ".TransCoverage.png"; + transcov_script_file = outfile_data + ".TransCoverage.r"; + transcov_data_file = outfile_data + ".geneAbundance.txt"; + + int num_of_genes = geneIdx->get_numofgenes(); + int num_of_exons = geneIdx->total_exon; + //geneCounts_list[num_of_genes]; + for (int i=0; i< num_of_genes; i++) { + geneCounts_list.push_back(0); + std::vector idx_cnt ; + for(int j=0;j<=100; j++) + { + idx_cnt.push_back(0); + } + gene_percentile_base.push_back(idx_cnt); + } + //std::cout << num_of_genes << std::endl; + for (int i=0; i< num_of_exons; i++) { + mapped_exon.push_back(0); + } + gene_Idx = geneIdx; + total_exons = num_of_exons; +} + +Coverage_prof::Coverage_prof(GeneFeatures * geneIdx){ + gene_Idx = geneIdx; + frag_num = 0; + total_exons = geneIdx->total_exon; + + int num_of_genes = geneIdx->get_numofgenes(); + int num_of_exons = geneIdx->total_exon; + //geneCounts_list[num_of_genes]; + for (int i=0; i< num_of_genes; i++) { + geneCounts_list.push_back(0); + std::vector idx_cnt ; + for(int j=0;j<=100; j++) + { + idx_cnt.push_back(0); + } + gene_percentile_base.push_back(idx_cnt); + } + //std::cout << num_of_genes << std::endl; + for (int i=0; i< num_of_exons; i++) { + mapped_exon.push_back(0); + } + +} + +int Coverage_prof::write(int totalReads){ + int coverage[101] = {0}; + //total_exons = 0; + int zero_exons = 0; + //std::cout << "start to write" << std::endl; + + for(size_t i=0;i< gene_percentile_base.size();i++) + { + std::vector percentile_list = gene_percentile_base[i]; + for(size_t j=0;j< percentile_list.size();j++){ + coverage[j] += percentile_list[j]; + + } + + } + std::string geneCnt_str = ""; + for (size_t i=0;i3\')\",ylab=\"Number of read\",xlim=c(0,100))\n"; + OUT1 << "dev.state = dev.off()"; + + OUT1.close(); + } + OUT2.close(); + + for(size_t i=0;iget_name(i) << "\t" << std::to_string(geneCounts_list[i]) << "\n"; + } + OUT3.close(); + + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing clipping profile." << std::endl; + return -1; + } + zero_exons = total_exons; + for (size_t i=0; i< mapped_exon.size(); i++) { + if (mapped_exon[i] > 0) { + zero_exons --; + } + } + return zero_exons; +} + +void Coverage_prof::add(Coverage_prof * cov_prof) +{ + frag_num += cov_prof->frag_num; + + for(size_t i=0;i< geneCounts_list.size();i++){ + geneCounts_list[i] += cov_prof->geneCounts_list[i]; + } + + for(size_t i=0;i * g0_perc_cnt = &(gene_percentile_base[i]); + std::vector g1_perc_cnt = cov_prof->gene_percentile_base[i]; + for (size_t j=0; j<= 100; j++ ) { + g0_perc_cnt->at(j) = g1_perc_cnt[j] + g0_perc_cnt->at(j); + } + } + for (int i=0; i< total_exons; i++) { + mapped_exon[i] += cov_prof->mapped_exon[i]; + } +} + +void Coverage_prof::count(int gene,std::vector > exon_blocks1,std::vector > exon_blocks2,std::vector exons) +{ + for (size_t i=0; i < exons.size(); i++) { + mapped_exon[exons[i]] =1; + } + if (gene != -1){ + frag_num += exon_blocks1.size() + exon_blocks2.size(); + geneCounts_list[gene] += 1; + + //__per_base_count(gene,exon_blocks,exon_blocks2); + int gene_start = gene_Idx->get_start(gene); + int gene_stop = gene_Idx->get_stop(gene); + for (auto& kv : exon_blocks1) { + if (kv.second >= gene_start && kv.first <= gene_stop) + { + for (int j=kv.first; j<=kv.second; j++) { + int idx = gene_Idx->exist_in_percentile_list(gene,j); + if (idx != -1) { + gene_percentile_base[gene][idx] +=1; + } + } + } + } + + for (auto& kv : exon_blocks2) { + if (kv.second >= gene_start && kv.first <= gene_stop) + { + for (int j=kv.first; j<=kv.second; j++) { + int idx = gene_Idx->exist_in_percentile_list(gene,j); + if (idx != -1) { + gene_percentile_base[gene][idx] +=1; + } + } + } + } + + } +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Coverage_prof.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Coverage_prof.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,43 @@ +// +// Coverage_prof.h +// BAMQC_c++ +// +// Created by Ying Jin on 11/18/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_c____Coverage_prof__ +#define __BAMQC_c____Coverage_prof__ + +#include +#include +#include + +#include "GeneFeatures.h" + +class Coverage_prof{ +public: + int frag_num ; + int total_exons; + GeneFeatures * gene_Idx; + + std::string cov_script_file ; + std::string cov_data_file ; + std::string cov_fig_file ; + + std::vector geneCounts_list; + std::vector mapped_exon; + std::vector > gene_percentile_base; + + std::string transcov_fig_file ; + std::string transcov_script_file ; + std::string transcov_data_file ; + + Coverage_prof(GeneFeatures * geneIdx); + Coverage_prof(std::string outfile_data,std::string outfile_fig, GeneFeatures * geneIdx); + int write(int totalReads); + void add(Coverage_prof * cov_prof); + void count(int gene,std::vector > exon_blocks1,std::vector > exon_blocks2,std::vector exons); +}; + +#endif /* defined(__BAMQC_c____Coverage_prof__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/GeneFeatures.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/GeneFeatures.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1065 @@ +// +// GeneFeatures.cpp +// BAMQC-0.5 +// +// Created by Ying Jin on 9/15/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "GeneFeatures.h" + +#include +#include +#include +//#include +#include "stdlib.h" +#include +#include +#include +#include + + +//#include + +//template > +//struct sort_pair_second { +//(const std::pair&left, const std::pair&right) { +// Pred p; +// return p(left.second, right.second); +// } +//}; +//bool sort_pair_second(std::pair first, std::pair second) +//{ +// return first.second > second.second ; +//} + +bool itv_comp(Interval first, Interval second){ + return first.start < second.start ; +} + +int pivot(std::vector &intervals, int first, int last) +{ + int p = first; + int pivotElement = intervals[first].start; + + + for(int i = first+1 ; i <= last ; i++) + { + /* If you want to sort the list in the other order, change "<=" to ">" */ + if(intervals[i].start <= pivotElement) + { + std::swap(intervals[i],intervals[p]); + p++; + + } + } + + return p; +} + +void quick_sort(std::vector &intervals, int first, int last){ + + int pivotElement; + + if(first < last) + { + pivotElement = pivot(intervals, first, last); + quick_sort(intervals, first, pivotElement-1); + quick_sort(intervals, pivotElement+1, last); + } + +} + + +bool reverse_ord_func (int i,int j) { return (j::max(); + max_stop = std::numeric_limits::min(); + gene_actual_len = 0; + stop_codon_st = -1; + stop_codon_end = -1; +} + +Gene::~Gene(){} + +void Gene::add_cds(int st, int end){ + std::pair cds_interval (st,end); + cds.push_back(cds_interval); +} + +void Gene::add_exons(int st, int end){ + if (this->min_start > st) { + this->min_start = st; + } + if (this->max_stopmax_stop = end; + } + std::pair exon_interval (st,end); + gene_actual_len += (end - st+1); + exons.push_back(exon_interval); +} +void Gene::set_stop_codon(int st,int end) +{ + stop_codon_st = st; + stop_codon_end = end; +} + + +void Gene::get_others(){ + std::vector > left_cds; + std::vector > left_exons; + //int idx[exons.size()]; + size_t i; //,j; + int itgUp1k_st, itgUp1k_end,itgDn1k_st,itgDn1k_end ; + + sort(exons.begin(),exons.end()); + sort(cds.begin(),cds.end()); + + + for (i = 1; i < exons.size(); i++) { + intron.push_back(std::make_pair(exons[i-1].second +1, exons[i].first -1)); + } + + if(strand == "+") { + itgUp1k_st = std::max(int(0),exons[0].first-1000); + itgUp1k_end = std::max(int(0),exons[0].first-1 ); + itgDn1k_st = exons[exons.size()-1].second + 1; + itgDn1k_end = exons[exons.size()-1].second + 1000 ; + itg1k.push_back(std::make_pair(itgUp1k_st,itgUp1k_end)) ; + itg1k.push_back(std::make_pair(itgDn1k_st,itgDn1k_end)) ; + + if (stop_codon_st == -1) { + utr5 = exons; + } + else { + cds[cds.size()-1].second = stop_codon_end; + for( i=0;i < exons.size(); i++) { + + if (exons[i].second < cds[0].first) { utr5.push_back(exons[i]); } + + if (exons[i].first < cds[0].first && exons[i].second > cds[0].first ) { utr5.push_back(std::make_pair(exons[i].first,cds[0].first - 1)); } + + if (exons[i].first <= stop_codon_st && exons[i].second > stop_codon_end ) + { utr3.push_back(std::make_pair(stop_codon_end + 1,exons[i].second)); } + if (exons[i].first > stop_codon_end ) { utr3.push_back(exons[i]) ; } + + } + } + + } + else { + itgDn1k_st = std::max(int(0),exons[0].first - 1000); + itgDn1k_end = std::max(int(0),exons[0].first -1); + itgUp1k_st = exons[exons.size()-1].second + 1 ; + itgUp1k_end = exons[exons.size()-1].second + 1000 ; + itg1k.push_back(std::make_pair(itgUp1k_st,itgUp1k_end)); + itg1k.push_back(std::make_pair(itgDn1k_st,itgDn1k_end)); + + if (stop_codon_st == -1 ) { utr3 = exons; } + else { + //if (left_cds.size() == 1) { + cds[0].first = stop_codon_st; + for( i=0;i < exons.size(); i++) { + + if (exons[i].second < stop_codon_st) { utr3.push_back(exons[i]); } + + if (exons[i].first < stop_codon_st && exons[i].second >= stop_codon_end ) + { utr3.push_back(std::make_pair(exons[i].first,stop_codon_st - 1)); } + + if (exons[i].first <= cds[cds.size()-1].first && exons[i].second > cds[cds.size()-1].second ) + { utr5.push_back(std::make_pair(cds[cds.size()-1].second + 1,exons[i].second)); } + + if (exons[i].first > cds[cds.size()-1].second ) { utr5.push_back(exons[i]) ; } + } + } + + } + +} + + + +GeneFeatures::GeneFeatures(std::string GTFfilename,std::string id_attribute) +{ + this->total_exon = 0; + read_features(GTFfilename,id_attribute); + +} + +GeneFeatures::~GeneFeatures(){ + chrom_itvTree_Dict_itr it; + + for (it=cds_exon_idx_plus.begin(); it != cds_exon_idx_plus.end(); it++) { + std::map tmp = it->second; + std::map::iterator tmp_itr ; + //std::cout << tmp.size() << std::endl; + for (tmp_itr = tmp.begin(); tmp_itr != tmp.end(); tmp_itr ++) { + delete tmp_itr->second; + } + + } + for (it=cds_exon_idx_minus.begin(); it != cds_exon_idx_minus.end(); it++) { + std::map tmp = it->second; + std::map::iterator tmp_itr ; + + for (tmp_itr = tmp.begin(); tmp_itr != tmp.end(); tmp_itr ++) { + delete tmp_itr->second; + } + + } + +} + +void GeneFeatures::build_tree(std::map > temp_plus, std::map > temp_minus) +{ + std::vector itemlist; + std::vector sublist; + std::map >::iterator it; + std::map tmp; + std::map::iterator tmp_itr; + gene_exon_Dict_It exon_str_itr; + + std::string chr,gid;//,start_ss,end_ss; + + int g_idx =-1; + int e_idx =0; + size_t i ; + int cur_bin_id,start_bin_id, js, je, k;//, buket_size; + + for (it = temp_plus.begin(); it != temp_plus.end(); it++) { + chr = it->first; + tmp = it->second; + itemlist.clear(); + + for (tmp_itr = tmp.begin(); tmp_itr != tmp.end(); tmp_itr++) { + gid = tmp_itr->first; + features.push_back(gid); //save gene name + g_idx +=1; + Gene tmp_gene = tmp_itr->second; + tmp_gene.get_others(); + + //int gene_len = (int) tmp_gene.max_stop - tmp_gene.min_start + 1; + //std::cout << gene_len << std::endl; + + std::vector gene_base_pos ; + + for (i=0; i< tmp_gene.exons.size(); i++) { + int st = (int) tmp_gene.exons[i].first - tmp_gene.min_start; + int end = (int) tmp_gene.exons[i].second - tmp_gene.min_start; + for (int j=st; j<=end; j++) { + gene_base_pos.push_back(j); + } + } + gene_lengths.push_back(tmp_gene.gene_actual_len); + gene_starts.push_back(tmp_gene.min_start); + gene_ends.push_back(tmp_gene.max_stop); + + std::vector percentile_list; + std::sort(gene_base_pos.begin(),gene_base_pos.end()); + + for (int j=0; j<=100;j++) { + float kk = (tmp_gene.gene_actual_len - 1) * j/100.0; + float f = floor(kk); + float c = ceil(kk); + if (f == c){ + percentile_list.push_back( gene_base_pos[kk]); + } + else{ + float d0 = gene_base_pos[int(f)] * (c-kk); + float d1 = gene_base_pos[int(c)] * (kk-f); + percentile_list.push_back(int(round(d0+d1))); + } + } + gene_percentile_list.push_back(percentile_list); + + for (i=0; i < tmp_gene.cds.size(); i++) { + this->total_exon ++ ; + //std::cout<< this->total_exon << std::endl; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.cds[i].first,tmp_gene.cds[i].second,CDS)); + e_idx ++; + } + for (i=0; i < tmp_gene.utr5.size(); i++) { + this->total_exon ++ ; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.utr5[i].first,tmp_gene.utr5[i].second,UTR5)); + e_idx ++; + } + + for (i=0; i < tmp_gene.utr3.size(); i++) { + this->total_exon ++ ; + //std::cout << chr << "\t" << tmp_gene.utr3[i].first << "\t" << tmp_gene.utr3[i].second << "\t" << gid << std::endl; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.utr3[i].first,tmp_gene.utr3[i].second,UTR3)); + e_idx ++; + } + for (i=0; i < tmp_gene.intron.size(); i++) { + itemlist.push_back(Interval(g_idx,-1,tmp_gene.intron[i].first,tmp_gene.intron[i].second,INTRON)); + } + itemlist.push_back(Interval(g_idx,-1,tmp_gene.itg1k[0].first,tmp_gene.itg1k[0].second,ITGUP1K)); + itemlist.push_back(Interval(g_idx,-1,tmp_gene.itg1k[1].first,tmp_gene.itg1k[1].second,ITGDN1K)) ; + + } + + std::sort(itemlist.begin(),itemlist.end(),itv_comp) ; //key=operator.attrgetter('start')); + //quick_sort(itemlist,0,itemlist.size()-1); + start_bin_id = itemlist[0].start/BIN_SIZE; + js = 0 ; + je = 0 ; + k = 0 ; + + + for (i=0; i < itemlist.size(); i++) { + cur_bin_id = itemlist[i].start/BIN_SIZE; + //std::cout << cur_bin_id << std::endl; + + if (cur_bin_id == start_bin_id) { + je += 1; + } + else { + //buket_size = (int)sqrt(je - js) + 1; + //std::cout << buket_size << std::endl; + + sublist = std::vector(itemlist.begin()+js,itemlist.begin() + je); + + cds_exon_idx_plus[chr][start_bin_id] = new IntervalTree(sublist); + // std::cout << start_bin_id << " built one tree." << std::endl; + k ++; + start_bin_id = cur_bin_id ; + js = je ; + je ++; + } + } + + + if (js != je) { + //buket_size = (int) sqrt(je - js) + 1; + sublist = std::vector(itemlist.begin()+js,itemlist.begin() + je); + cds_exon_idx_plus[chr][start_bin_id] = new IntervalTree(sublist); + //print("tree depth = " + str(cds_exon_idx_plus[chr][start_bin_id].get_depth())+ "\n") + k+=1; + } + + + } + //std::cout << " build minus strand." << std::endl; + for (it = temp_minus.begin(); it != temp_minus.end(); it++) { + //std::cout << "negative strand " << std::endl; + chr = it->first; + tmp = it->second; + itemlist.clear(); + + for (tmp_itr = tmp.begin(); tmp_itr != tmp.end(); tmp_itr++) { + gid = tmp_itr->first; + //std::cout << "GID " << gid << std::endl; + Gene tmp_gene = tmp_itr->second; + tmp_gene.get_others(); + + features.push_back(gid); //save gene name + g_idx +=1; + + //std::string bs_string = ""; + //int gene_len = (int) tmp_gene.max_stop - tmp_gene.min_start + 1; + + //std::vector > bs_list; + std::vector gene_base_pos ; + + /*for (int j=0; j< gene_len; j+=100) { + std::bitset<100> bs; + bs_list.push_back(bs); + }*/ + + for (i=0; i< tmp_gene.exons.size(); i++) { + int st = (int) tmp_gene.exons[i].first - tmp_gene.min_start; + int end = (int) tmp_gene.exons[i].second - tmp_gene.min_start; + //int size = end - st; + + for (int j=st; j<=end; j++) { + gene_base_pos.push_back(j); + } + + } + gene_lengths.push_back(tmp_gene.gene_actual_len); + gene_starts.push_back(tmp_gene.min_start); + gene_ends.push_back(tmp_gene.max_stop); + + std::vector percentile_list; + std::sort(gene_base_pos.begin(),gene_base_pos.end(),reverse_ord_func); + + for (int j=0; j<=100;j++) { + float kk = (tmp_gene.gene_actual_len - 1) * j/100.0; + float f = floor(kk); + float c = ceil(kk); + if (f == c){ + percentile_list.push_back( gene_base_pos[kk]); + } + else{ + float d0 = gene_base_pos[int(f)] * (c-kk); + float d1 = gene_base_pos[int(c)] * (kk-f); + percentile_list.push_back(int(round(d0+d1))); + } + } + gene_percentile_list.push_back(percentile_list); + + + for (i=0; i < tmp_gene.cds.size(); i++) { + total_exon += 1; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.cds[i].first,tmp_gene.cds[i].second,CDS)); + e_idx ++; + } + for (i=0; i < tmp_gene.utr5.size(); i++) { + total_exon += 1; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.utr5[i].first,tmp_gene.utr5[i].second,UTR5)); + e_idx ++; + } + for (i=0; i < tmp_gene.utr3.size(); i++) { + total_exon += 1; + itemlist.push_back(Interval(g_idx,e_idx,tmp_gene.utr3[i].first,tmp_gene.utr3[i].second,UTR3)); + e_idx ++; + } + for (i=0; i < tmp_gene.intron.size(); i++) { + itemlist.push_back(Interval(g_idx,-1,tmp_gene.intron[i].first,tmp_gene.intron[i].second,INTRON)); + } + itemlist.push_back(Interval(g_idx,-1,tmp_gene.itg1k[0].first,tmp_gene.itg1k[0].second,ITGUP1K)); + itemlist.push_back(Interval(g_idx,-1,tmp_gene.itg1k[1].first,tmp_gene.itg1k[1].second,ITGDN1K)) ; + + } + + //std::sort(key=operator.attrgetter('start')); + //quick_sort(itemlist,0,itemlist.size()-1); + std::sort(itemlist.begin(),itemlist.end(),itv_comp) ; + start_bin_id = itemlist[0].start/BIN_SIZE; + js = 0 ; + je = 0 ; + k = 0 ; + + for (i=0; i < itemlist.size(); i++) { + cur_bin_id = itemlist[i].start/BIN_SIZE; + if (cur_bin_id == start_bin_id) { + je += 1; + } + else { + //buket_size = (int)sqrt(je - js) + 1; + // std::cout << buket_size << std::endl; + + + sublist = std::vector(itemlist.begin()+js,itemlist.begin() + je); + //cds_exon_idx_minus[chr][start_bin_id] = new IntervalTree(sublist,16,buket_size,-1,-1,buket_size); + cds_exon_idx_minus[chr][start_bin_id] = new IntervalTree(sublist); + k ++; + start_bin_id = cur_bin_id ; + js = je ; + je ++; + } + } + + + if (js != je) { + //buket_size = (int) sqrt(je - js) + 1; + //std::cout << buket_size << std::endl; + + sublist = std::vector(itemlist.begin()+js,itemlist.begin() + je); + //cds_exon_idx_minus[chr][start_bin_id] = new IntervalTree(sublist, 16, buket_size,-1,-1,buket_size ); + cds_exon_idx_minus[chr][start_bin_id] = new IntervalTree(sublist); + //print("tree depth = " + str(cds_exon_idx_plus[chr][start_bin_id].get_depth())+ "\n") + k+=1; + } + + + } + +} +//Reading & processing annotation files +void GeneFeatures::read_features(std::string gff_filename, std::string id_attribute) +{ + + //dict of dicts since the builtin type doesn't support it for some reason + std::map > temp_plus ; + std::map > temp_minus ; + std::map >::iterator tmp_itr; + std::map::iterator id_itr; + + bool matched = false; + //int k = 0; + int i = 0; + int counts = 0 ; + int line_no = 0; + int start = -1; + int end = -1; + std::size_t pos,cur_pos; + //std::string left_str,sub_str; + + std::ifstream input; //(gff_filename); + + try{ + input.open (gff_filename, std::ifstream::in); + + while(! input.eof()){ + + std::string line,chrom,source,feature,start_ss,end_ss,score,strand,frame,attributeStr; + std::stringstream ss; + std::string id = ""; + + if (! std::getline(input,line)){ + break; + } + + line_no ++; + + if (line == "\n" || !line.compare(0,1,"#")) { + continue; + } + + ss << line; + std::getline(ss,chrom,'\t'); + + std::getline(ss,source,'\t'); + std::getline(ss,feature,'\t'); + std::getline(ss,start_ss,'\t'); + std::getline(ss,end_ss,'\t'); + std::getline(ss,score,'\t'); + std::getline(ss,strand,'\t'); + std::getline(ss,frame,'\t'); + std::getline(ss,attributeStr,'\t'); + + //std::cout << strand << std::endl; + try{ + start = std::stol(start_ss); + end = std::stol(end_ss); + } + catch (const std::invalid_argument& ia) { + std::cerr << "Invalid argument: " << ia.what() << '\n'; + std::exit(1); + + } + + cur_pos = 0; + //std::cout <second); + + (*g).set_stop_codon(start,end); + } + else{ + Gene g (id,strand); + g.set_stop_codon(start,end); + temp_plus[chrom].insert(std::pair(id,g)); + } + } + else{ + Gene g(id,strand); + g.set_stop_codon(start,end); + std::map gene_id_map ; + gene_id_map.insert(std::pair (id,g)); + temp_plus.insert(std::pair > (chrom,gene_id_map)); + + } + + } + + if (strand == "-" ) { + tmp_itr = temp_minus.find(chrom); + if (tmp_itr != temp_minus.end()) { + id_itr = temp_minus[chrom].find(id); + if (id_itr != temp_minus[chrom].end()) { + Gene *g = &(id_itr->second); + (*g).set_stop_codon(start,end); + } + else{ + Gene g(id,strand); + g.set_stop_codon(start,end); + std::map gene_id_map ; + temp_minus[chrom].insert(std::pair(id,g)); + + } + } + else{ + Gene g(id,strand); + g.set_stop_codon(start,end); + std::map gene_id_map ; + gene_id_map.insert(std::pair (id,g)); + + temp_minus.insert(std::pair > (chrom,gene_id_map)); + + + } + + } + + } + if (feature == "CDS" ){ + if (strand == "+" ){ + tmp_itr = temp_plus.find(chrom); + if (tmp_itr != temp_plus.end()) { + id_itr = temp_plus[chrom].find(id); + if (id_itr != temp_plus[chrom].end()) { + Gene *g = &(id_itr->second); + //(id_itr->second).add_cds(start,end); + (*g).add_cds(start,end); + } + else{ + Gene g (id,strand); + g.add_cds(start,end); + temp_plus[chrom].insert(std::pair(id,g)); + } + } + else{ + Gene g(id,strand); + g.add_cds(start,end); + std::map gene_id_map ; + gene_id_map.insert(std::pair (id,g)); + temp_plus.insert(std::pair > (chrom,gene_id_map)); + + } + + } + + if (strand == "-" ) { + + tmp_itr = temp_minus.find(chrom); + if (tmp_itr != temp_minus.end()) { + id_itr = temp_minus[chrom].find(id); + if (id_itr != temp_minus[chrom].end()) { + Gene *g = &(id_itr->second); + (*g).add_cds(start,end); + } + else{ + Gene g(id,strand); + g.add_cds(start,end); + std::map gene_id_map ; + temp_minus[chrom].insert(std::pair(id,g)); + + } + } + else{ + Gene g(id,strand); + g.add_cds(start,end); + std::map gene_id_map ; + gene_id_map.insert(std::pair (id,g)); + + temp_minus.insert(std::pair > (chrom,gene_id_map)); + + + } + + } + } + + if (feature == "exon" ){ + counts += 1 ; + if (strand == "+" ){ + tmp_itr = temp_plus.find(chrom); + if (tmp_itr != temp_plus.end()) { + id_itr = temp_plus[chrom].find(id); + if (id_itr != temp_plus[chrom].end()) { + Gene *g = &(id_itr->second); + (*g).add_exons(start,end); + } + else{ + Gene g (id,strand); + g.add_exons(start,end); + + temp_plus[chrom].insert(std::pair(id,g)); + } + } + else{ + Gene g (id,strand); + g.add_exons(start,end); + std::map gene_id_map ; + + gene_id_map.insert(std::pair (id,g)); + temp_plus.insert(std::pair > (chrom,gene_id_map)); + + } + + } + + if (strand == "-" ) { + + tmp_itr = temp_minus.find(chrom); + if (tmp_itr != temp_minus.end()) { + + id_itr = temp_minus[chrom].find(id); + if (id_itr != temp_minus[chrom].end()) { + Gene *g = &(id_itr->second); + (*g).add_exons(start,end); + } + else{ + Gene g(id,strand); + g.add_exons(start,end); + + temp_minus[chrom].insert(std::pair(id,g)); + + } + } + else{ + Gene g (id,strand); + g.add_exons(start,end); + std::map gene_id_map ; + gene_id_map.insert(std::pair (id,g)); + + temp_minus.insert(std::pair > (chrom,gene_id_map)); + + } + } + + } + + i += 1 ; + //if (i % 100000 == 0 ) + //{ + //sys.stderr.write("%d GTF lines processed.\n" % i); + //std::cout << i << " GTF lines processed." << std::endl; + //} + + } + + + input.close(); + + } + catch(std::ifstream::failure e){ + std::cout << "error in read file " << gff_filename << std::endl; + } + + if (counts == 0 ){ + std::cout << "Warning: No features of type 'exon' or 'CDS' found in gene GTF file." << std::endl; + } + + + build_tree(temp_plus,temp_minus); + + +} + +//find exons of given gene that overlap with the given intervals +//return list of tuples +std::vector > GeneFeatures::get_exons(std::string chrom,int st,int end,std::string strand) +{ + std::vector > exons; + chrom_itvTree_Dict::iterator chrom_it; + std::map::iterator bin_iter; + std::vector fs ; + std::vector temp ; + size_t i; + int bin_id ; + + //try: + bin_id = st/BIN_SIZE ; + + if (strand == "+" || strand == "."){ + chrom_it = cds_exon_idx_plus.find(chrom); + if (chrom_it != cds_exon_idx_plus.end()) { + bin_iter = cds_exon_idx_plus[chrom].find(bin_id); + if (bin_iter != cds_exon_idx_plus[chrom].end()) { + fs = (*cds_exon_idx_plus[chrom][bin_id]).find(st,end); + } + } + } + + if (strand == "-" || strand == "."){ + chrom_it = cds_exon_idx_minus.find(chrom); + if (chrom_it != cds_exon_idx_minus.end()) { + bin_iter = cds_exon_idx_minus[chrom].find(bin_id); + if (bin_iter != cds_exon_idx_minus[chrom].end()) { + temp = (*cds_exon_idx_minus[chrom][bin_id]).find(st,end); + fs.insert(fs.end(),temp.begin(),temp.end()); + } + } + } + + for(i =0 ; i < fs.size(); i++){ + if (fs[i].type != INTRON && fs[i].type != ITGUP1K && fs[i].type != ITGDN1K){ + int s = fs[i].start; + int e = fs[i].stop; + + if (s < st) { + s = st; + } + if (e > end) { + e = end; + } + exons.push_back(std::make_pair(s,e)); + } + } + + //std::sort(exons.begin(),exons.end()); + return exons; +} + +std::vector GeneFeatures::getFeatures() { + return features ; +} + +int GeneFeatures::get_start(int g) +{ + if ((size_t) g < gene_starts.size() && g >=0) { + return gene_starts[g]; + } + else{ + return -1; + } +} + +int GeneFeatures::get_stop(int g) +{ + if ((size_t)g < gene_ends.size() && g >=0) { + return gene_ends[g]; + } + else{ + return -1; + } +} + +std::string GeneFeatures::get_name(int g) +{ + if ((size_t)g < features.size() && g >=0) { + return features[g]; + } + else{ + return ""; + } + +} +int GeneFeatures::get_numofgenes(){ + return features.size(); +} + +int GeneFeatures::exist_in_percentile_list(int gene,int pos){ + int idx = (int)pos - gene_starts[gene]; + for (int i=0; i<=100; i++) { + + if (idx == gene_percentile_list[gene][i]) { + return i; + } + + } + return -1; +} + + + +std::map GeneFeatures::Gene_annotation(std::string chrom, std::vector > itv_list,std::string strand,std::vector * mapped_exons ) +{ + std::vector fs ; + chrom_itvTree_Dict::iterator chrom_it; + std::map::iterator bin_iter; + + size_t i,j; + int bin_id_s, bin_id_e; + + for (i=0; i < itv_list.size(); i ++) { + bin_id_s = itv_list[i].first/BIN_SIZE; + bin_id_e = itv_list[i].second/BIN_SIZE; + + if (strand == "+" || strand == ".") { + chrom_it = cds_exon_idx_plus.find(chrom); + if (chrom_it != cds_exon_idx_plus.end()) { + + bin_iter = cds_exon_idx_plus[chrom].find(bin_id_s); + if (bin_iter != cds_exon_idx_plus[chrom].end() ) + { + fs = (*cds_exon_idx_plus[chrom][bin_id_s]).find(itv_list[i].first,itv_list[i].second); + if (bin_id_s != bin_id_e) { + bin_iter = cds_exon_idx_plus[chrom].find(bin_id_e); + if (bin_iter != cds_exon_idx_plus[chrom].end() ){ + std::vector tmp = (*cds_exon_idx_plus[chrom][bin_id_e]).find(itv_list[i].first,itv_list[i].second); + fs.insert(fs.end(),tmp.begin(),tmp.end()); + } + } + } + } + } + + if (strand == "-" or strand == ".") { + chrom_it = cds_exon_idx_minus.find(chrom); + if (chrom_it != cds_exon_idx_minus.end()) { + bin_iter = cds_exon_idx_minus[chrom].find(bin_id_s); + if (bin_iter != cds_exon_idx_minus[chrom].end() ) + { + std::vector tmp = (*cds_exon_idx_minus[chrom][bin_id_s]).find(itv_list[i].first,itv_list[i].second); + fs.insert(fs.end(),tmp.begin(),tmp.end()); + + if (bin_id_s != bin_id_e) { + bin_iter = cds_exon_idx_minus[chrom].find(bin_id_e); + if (bin_iter != cds_exon_idx_minus[chrom].end() ){ + std::vector tmp = (*cds_exon_idx_minus[chrom][bin_id_e]).find(itv_list[i].first,itv_list[i].second); + fs.insert(fs.end(),tmp.begin(),tmp.end()); + } + } + } + } + } + } + + + std::map gene_type_map; + std::map gene_ovp_len_map; + + std::map None_gene_type_map; + std::map::iterator gene_type_map_itr; + int min_type = 6; + for (i=0; i < fs.size(); i++) { + if (fs[i].type <= UTR3) { + + int ovp_len = 0; + for(j=0; j < itv_list.size(); j ++) { + if (itv_list[j].first < fs[i].stop && itv_list[j].second > fs[i].start) { + int ovp_st = itv_list[j].first > fs[i].start ? itv_list[j].first : fs[i].start; + int ovp_end = itv_list[j].second > fs[i].stop ? fs[i].stop : itv_list[j].second; + ovp_len += ovp_end - ovp_st+1; + } + } + if (gene_ovp_len_map.find(fs[i].gene) != gene_ovp_len_map.end()) { + gene_ovp_len_map[fs[i].gene] += ovp_len; + if (fs[i].type <= min_type) { + gene_type_map[fs[i].gene] = fs[i].type; + min_type = fs[i].type; + } + + } else { + gene_ovp_len_map.insert(std::pair (fs[i].gene,ovp_len)); + gene_type_map.insert(std::pair(fs[i].gene,fs[i].type)); + min_type = fs[i].type; + } + } + else { //not CDS or UTR + if (None_gene_type_map.find(fs[i].gene) != None_gene_type_map.end()) + { + if(fs[i].type < None_gene_type_map[fs[i].gene]) + { + None_gene_type_map[fs[i].gene] = fs[i].type; + } + } + else { + None_gene_type_map.insert(std::pair (fs[i].gene,fs[i].type)); + } + } + + //genes.push_back(std::pair(fs[i].type,fs[i].gene)); + if (fs[i].exon != -1) { + mapped_exons->push_back(fs[i].exon); + } + } + + if (gene_type_map.size() == 0) { + return None_gene_type_map; + } + else { + std::map res_gene_type_map; + int max_ovp_len = 0; + for (auto& kv : gene_ovp_len_map) { + if( max_ovp_len < kv.second) { max_ovp_len = kv.second; } + } + for (auto& kv : gene_ovp_len_map) { + if (gene_ovp_len_map[kv.first] == max_ovp_len) { + res_gene_type_map.insert(std::pair (kv.first,gene_type_map[kv.first])); + } + } + return res_gene_type_map; + } + + return gene_type_map; + +} +/* + +int main() { + std::string filename = "test.gtf"; + std::string id_attr = "gene_id"; + + std::vector > itv_list ; + chr_ITV exp ; + exp.chrom = "chr4"; + int start = 1048489; + int end = 1049900; + std::pair p (start,end); + + itv_list.push_back(p); + + std::cout << "start to build tree " << std::endl; + GeneFeatures gIdx (filename,id_attr); + std::cout << "after build tree " << std::endl; + + std::cout << "total exon " << gIdx.total_exon << std::endl; + std::cout << "total gene " << gIdx.features.size() << std::endl; + + // for (int i=0; i < itv_list.size(); i++) { + // std::cout << itv_list[i].start << std::endl; + //} + std::vector *exons = new std::vector(); + std::vector res = gIdx.Gene_annotation("chr4",itv_list,".",exons); + std::vector > exon_list = gIdx.get_exons("chr4",start,end,"."); + for (auto& p : exon_list){ + std::cout << p.first << "\t" << p.second << std::endl; + } + std::vector > gene_percentile_list = gIdx.gene_percentile_list; + + for (int i=0; i perc_list = gene_percentile_list[i]; + for (int j=0; jsize() << std::endl; + + for (int i=0;ioperator[](i) << std::endl; + + } + delete exons; + + + bool test_bool = false; + std::cout << test_bool << std::endl; + +}*/ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/GeneFeatures.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/GeneFeatures.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,113 @@ +// +// GeneFeatures.h +// BAMQC-0.5 +// +// Created by Ying Jin on 9/15/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_0_5__GeneFeatures__ +#define __BAMQC_0_5__GeneFeatures__ + +#include +#include +#include +#include +#include +#include + +#include "IntervalTree.h" +#include "Constants.h" +#include + +typedef struct { + std::string chrom; + int start; + int end; +} chr_ITV; + +extern "C" bool itv_comp(Interval, Interval); + + + +typedef std::map > gene_exon_Dict ; +typedef gene_exon_Dict::iterator gene_exon_Dict_It; + +typedef std::map > chrom_itvTree_Dict ; +typedef chrom_itvTree_Dict::iterator chrom_itvTree_Dict_itr; +//typedef Dict::const_iterator gene_exon_Dict_It; + + +class Gene { +public: + std::vector > exons; + std::vector > cds; + std::string id; + std::string strand; + int min_start ; + int max_stop ; + int gene_actual_len; + int stop_codon_st; + int stop_codon_end; + int start_codon_st; + int start_codon_end; + std::vector > utr5; + std::vector > utr3 ; + std::vector > intron ; + std::vector > itg1k ; + Gene(std::string gid, std::string ss); + //Gene& operator= (const Gene& gg); + //Gene(const std::string gid, const std::string ss); + ~Gene(); + void set_stop_codon(int st, int end); + void add_cds(int st, int end); + void add_exons(int st,int end); + void get_others(); +}; + +class GeneFeatures{ + +public: + std::vector features; + std::vector > gene_percentile_list; + + std::vector gene_starts; + std::vector gene_ends; + std::vector gene_lengths; + + int total_exon; + + chrom_itvTree_Dict cds_exon_idx_plus ; + chrom_itvTree_Dict cds_exon_idx_minus ; + + GeneFeatures(std::string GTFfilename,std::string id_attribute); + ~GeneFeatures(); + + std::vector getFeatures() ; + std::string get_name(int g); + + int get_start(int g); + int get_stop(int g); + int get_numofgenes(); + int exist_in_percentile_list(int gene,int pos); + + std::map Gene_annotation(std::string chrom, std::vector > itv_list, std::string strand,std::vector * mapped_exons); + + std::vector > get_exons(std::string chrom,int read1_end,int read2_start,std::string strand); + +private: + + void read_features(std::string gff_filename, std::string id_attribute) ; + void build_tree(std::map > temp_plus, std::map > temp_minus); + +}; + +/*extern "C" { + void quick_sort(std::vector &intervals, int first, int last); + int pivot(std::vector &intervals, int first, int last); + int get_first(const std::pair& p); + + int get_last(const std::pair& p); +};*/ + +#endif /* defined(__BAMQC_0_5__GeneFeatures__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/InnerDist_prof.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/InnerDist_prof.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,178 @@ +// +// InnerDist_prof.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "InnerDist_prof.h" +#include "Mappability.h" +#include +#include +#include +//#include +#include +#include +#include + +InnerDist_prof::InnerDist_prof(std::string outfile_data,std::string outfile_fig,int sample_size,int l_bound,int u_bound,int s) +{ + + InnDist_data_file = outfile_data + ".inner_distance_freq.txt"; + InnDist_script_file= outfile_data + ".inner_distance_plot.r"; + InnDist_fig_file = outfile_fig+".inner_distance_plot.png"; + lower_bound = l_bound; + upper_bound = u_bound; + + //samplesize = sample_size; + step = s; + + //window_left_bound = range(lower_bound,up_bound,step); + +} +InnerDist_prof::InnerDist_prof(int sample_size,int l_bound,int u_bound,int s) +{ + lower_bound = l_bound; + upper_bound = u_bound; + + //samplesize = sample_size; + step = s; +} +InnerDist_prof::~InnerDist_prof(){ + +} +void InnerDist_prof::write() +{ + //estimate the inner distance of mRNA pair end fragment. fragment size = insert_size + 2 x read_length''' + if (pair_num == 0){ + return ; + } + try{ + + std::string pos_str = ""; + std::string cnt_str = ""; + int size = ceil((upper_bound-lower_bound)/step)-1; + int to_plot[size]; + + for(int i=0;i= lower_bound && kv.first <= upper_bound) { + int pos = ceil((kv.first - lower_bound - step/2)/step); + if (pos < 0) { + pos = 0; + } + to_plot[pos] += kv.second; + } + } + std::ofstream FQ ; + FQ.open(InnDist_data_file,std::ofstream::out); + + for(int i=0; i < size; i++) { + int pos = (int)(i*step + lower_bound + step/2); + int pos1 = i*step + lower_bound; + + pos_str +=','+ std::to_string(pos); + cnt_str += ',' + std::to_string(to_plot[i]); + + FQ << pos1 << '\t' << std::to_string(pos1 + step-1) << '\t' << to_plot[i] << '\n' ; + } + FQ.close(); + if(pos_str != ""){ + std::ofstream RS ; + RS.open(InnDist_script_file,std::ofstream::out); + //plot_file = outfile_fig+".inner_distance_plot.png" + RS << "png(\"" << InnDist_fig_file << "\",width=500,height=500,units=\"px\")\n"; + + RS << "fragsize=rep(c(" << pos_str.substr(1) << "),times=c(" << cnt_str.substr(1) << + "))\n"; + RS << "frag_sd = round(sd(fragsize),digits=0)\n"; + RS << "frag_mean = round(mean(fragsize),digits=0)\n"; + RS << "frag_median = round(median(fragsize),digits=0)\n"; + + RS << "hist(fragsize,probability=T,breaks="<< size + 1 <<",xlim=c("<< lower_bound << ',' <samplesize; + pair_num += inDist->pair_num; + + for(auto& kv: inDist->counts) + { + std::map::iterator it; + it = counts.find(kv.first); + if (it != counts.end()) { + counts[kv.first] += kv.second; + } + else { + counts[kv.first] = kv.second; + } + } +} + +void InnerDist_prof::count(GeneFeatures * geneIdx,int type,bam1_t * aligned_read,std::string chrom,std::vector > intron_blocks,std::string strand) +{ + //if (pair_num >= samplesize) + // return ; + int splice_intron_size=0; + //int read1_len = aligned_read->core.l_qseq; //infer_query_length() + uint32_t *cigar = bam_get_cigar(aligned_read); + int read1_len = bam_cigar2mapped_read_len(aligned_read->core.n_cigar,cigar); + + int read1_start = aligned_read->core.pos; + int read2_start = aligned_read->core.mpos; + int read1_end = 0; + + for(auto& intron : intron_blocks){ + splice_intron_size += intron.second - intron.first; + } + + read1_end = read1_start + read1_len + splice_intron_size; + int inner_distance = read2_start - read1_end +1; + // if(inner_distance > -130 && inner_distance < -120) +//{ + // char * name = bam_get_qname(aligned_read); +// printf("read name %s \n", name); + +//} + if (inner_distance >= lower_bound && inner_distance <= upper_bound) + { + pair_num ++; + std::vector > exons ; + if (type == CDS || type== UTR5 || type== UTR3 ) { + exons = geneIdx->get_exons(chrom,read1_end,read2_start,strand); + } + + if (exons.size() > 0 ) + { + int size = 0; + for (auto& p : exons){ + size += p.second - p.first; + } + if (size <= inner_distance && size > 1){ + counts[size] += 1; + } + else{ + counts[inner_distance] += 1; + } + } + else{ + counts[inner_distance] += 1; + } + } + +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/InnerDist_prof.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/InnerDist_prof.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,42 @@ +// +// InnerDist_prof.h +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_c____InnerDist_prof__ +#define __BAMQC_c____InnerDist_prof__ + +#include +#include +#include + +#include "GeneFeatures.h" +#include "Constants.h" +#include "htslib/sam.h" + +class InnerDist_prof{ +public: + + std::string InnDist_data_file; + std::string InnDist_fig_file; + std::string InnDist_script_file; + int samplesize = 0; + int step= 0; + int lower_bound = 0; + int upper_bound = 0; + int pair_num = 0; + + std::map counts ; + + InnerDist_prof(int sample_size=SAMPLESIZE,int low_bound= LOW_BOUND,int up_bound= UPPER_BOUND,int step= STEP); + InnerDist_prof(std::string data_dir,std::string fig_dir,int sample_size=SAMPLESIZE,int low_bound= LOW_BOUND,int up_bound= UPPER_BOUND,int step= STEP); + ~InnerDist_prof(); + void write(); + void count(GeneFeatures * geneIdx, int type,bam1_t * aligned_read,std::string chrom,std::vector > intron_blocks,std::string strand); + void add(InnerDist_prof * inDist_prof); +}; + +#endif /* defined(__BAMQC_c____InnerDist_prof__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/IntervalTree.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/IntervalTree.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,250 @@ +// +// IntervalTree.cpp +// BAMQC-0.5 +// +// Created by Ying Jin on 9/15/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "IntervalTree.h" +#include + +Interval::Interval(int g, int e, int st, int end, int t) { + gene = g; + start = st; + stop = end; + type = t; + exon = e; +} + +Interval::Interval(){} +Interval::~Interval() { } + + + +IntervalTree::IntervalTree(){} + +IntervalTree::IntervalTree(std::vector intervals, int depth, int minbucket, int extent_st , int extent_end, int maxbucket){ + + std::vector lefts ; + std::vector rights ; + int left_ext = 0; + int right_ext = 0; + int max_stop = 0; + float center_pos = 0.0 ; + Interval itv ; + size_t i ; + + left = nullptr; + right = nullptr; + + depth -= 1; + if ((depth == 0 || intervals.size() < (size_t)minbucket) && intervals.size() < (size_t)maxbucket){ + itvlist = intervals; + left = right = nullptr; + center = -1; + return ; + } + + //if (extent_st == -1){ + // sorting the first time through allows it to get + // better performance in searching later. + + // quick_sort(intervals,0,intervals.size()-1); + //} + + for(i=0;i max_stop) { max_stop = itv.stop; } + } + + if(extent_st != -1){ + left_ext = extent_st; + right_ext = extent_end; + } + else { + + left_ext = intervals[0].start; + right_ext = max_stop; + } + //left, right = _extent or (intervals[0].start, max_stop) + //center = intervals[len(intervals)/ 2].stop + center_pos = (left_ext + right_ext) / 2.0; + + //std::cout << "left_ext " << left_ext << std::endl; + //std::cout << "right_ext " << right_ext << std::endl; + //std::cout << "center " << center_pos << std::endl; + + for(i=0;i center_pos) { rights.push_back(itv);} else { itvlist.push_back(itv) ;} + } + } + if (lefts.empty()) { + left = nullptr; + } + else{ + + left = new IntervalTree(lefts,depth,minbucket,intervals[0].start,center_pos,maxbucket); + } + if (rights.empty()) { + right = nullptr; + } + else { + right = new IntervalTree(rights, depth, minbucket, center_pos,right_ext,maxbucket); + } + + center = center_pos; + +} + +void IntervalTree::clear(IntervalTree * node){ + // std::cout << "clear node" << std::endl; + //if (node != nullptr) { + // std::cout << node->center << std::endl; + //} + if (node != nullptr) { + clear(node->left); + clear(node->right); + // delete node; + } +} + +IntervalTree::~IntervalTree() { + + clear(left); + clear(right); + +/* if (left != nullptr){ + + if( left->left == nullptr && left->right == nullptr) { + delete left; + } + + else { + //if (left->left != nullptr) { + (*left).~IntervalTree(); + // } + //if (left->right != nullptr) { + // (*left->right).~IntervalTree(); + //} + } + } + if (right != nullptr ) { + + if(right->left == nullptr && right->right == nullptr) { + delete right; + } + else{ + // if (right->left != nullptr) { + // (*right->left).~IntervalTree(); + //} + //if (right->right != nullptr) { + // (*right->right).~IntervalTree(); + //} + (*right).~IntervalTree(); + } + } + delete this;*/ +} + + + +std::vector IntervalTree::find(int start, int stop){ +//"""find all elements between (or overlapping) start and stop""" + std::vector overlapping ; + std::vector temp ; + size_t i; + + if (!itvlist.empty() && stop >= itvlist[0].start) { + for (i=0;i< itvlist.size(); i++) { + if (itvlist[i].stop >= start && itvlist[i].start <= stop) { + overlapping.push_back(itvlist[i]); + } + + } + } + + + if( left != nullptr && start <= center) { + temp = (*left).find(start, stop); + overlapping.insert(overlapping.end(), temp.begin(),temp.end()); + } + + if(right != nullptr && stop >= center){ + temp = (*right).find(start, stop); + + overlapping.insert(overlapping.end(),temp.begin(),temp.end()); + } + + return overlapping ; +} + +std::vector IntervalTree::find_gene(int start, int stop){ + + std::vector overlapping ; + std::vector temp ; + size_t i; + + if (!itvlist.empty() && stop >= itvlist[0].start) { + for (i=0;i< itvlist.size(); i++) { + if (itvlist[i].stop >= start && itvlist[i].start <= stop) { + overlapping.push_back(itvlist[i].gene); + } + + } + } + + + if( left != nullptr && start <= center) { + temp = (*left).find_gene(start, stop); + overlapping.insert(overlapping.end(), temp.begin(),temp.end()); + } + + if(right != nullptr && stop >= center){ + temp = (*right).find_gene(start, stop); + + overlapping.insert(overlapping.end(),temp.begin(),temp.end()); + } + + return overlapping ; +} + + +/* +int main(){ + std::vector ll; + IntervalTree *Idx; + std::vector res; + std::vector res_gene; + int i; + + + ll.push_back(Interval("gid1",100,300,"cds")); + ll.push_back(Interval("gid2",10,100,"cds")); + ll.push_back(Interval("gid3",1000,3000,"cds")); + ll.push_back(Interval("gid4",500,800,"cds")); + ll.push_back(Interval("gid5",200,700,"cds")); + + std::cout << "before create idx" << std::endl; + + Idx = new IntervalTree(ll,16, 2, -1, -1, 3); + + std::cout << "after create idx" << std::endl; + + res = (*Idx).find(20,600); + res_gene = (*Idx).find_gene(20,600); + + for (i = 0; i +#include +#include + +#include "Constants.h" + +class Interval{ +public: + int start; + int stop; + //std::string gene; + int gene; + //std::string type; + int type; + int exon; + + Interval(); + Interval(int g, int exon,int st, int end, int t); + ~Interval(); +}; + + + + + +class IntervalTree{ +public : + std::vector itvlist; + IntervalTree* left ; + IntervalTree* right ; + float center ; + + IntervalTree(); + IntervalTree(std::vector intervals, int depth = DEPTH, int minbucket= MIN_BUCKET, int extent_st=-1, int extent_end = -1 , int maxbucket= MAX_BUCKET); + ~IntervalTree(); + std::vector find(int start, int stop); + std::vector find_gene(int start, int stop); +private: + void clear(IntervalTree * node); + +}; + + + +#endif /* defined(__BAMQC_0_5__IntervalTree__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Mappability.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Mappability.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,326 @@ +// +// Mappablity.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "Mappability.h" +#include "htslib/sam.h" +//#include +#include +#include + +#include +#include + + +int bam_cigar2mapped_read_len(int n_cigar, const uint32_t *cigar) +{ + int k, l; + for (k = l = 0; k < n_cigar; ++k) + { + if (bam_cigar_op(cigar[k])==BAM_CMATCH) + { l += bam_cigar_oplen(cigar[k]);} + } + return l; +} + +void bam_cigar2Clip(int n_cigar, const uint32_t *cigar,std::vector > * clip_pos_len) +{ + int k, pos; + + //std::cout << "number of cigar " << n_cigar <push_back(std::pair (pos,bam_cigar_oplen(cigar[k]))); + pos += bam_cigar_oplen(cigar[k]); + } + else { + if (bam_cigar_op(cigar[k]) == BAM_CMATCH || bam_cigar_op(cigar[k]) == BAM_CINS || bam_cigar_op(cigar[k]) == BAM_CEQUAL || bam_cigar_op(cigar[k]) == BAM_CDIFF ) + { pos += bam_cigar_oplen(cigar[k]);} + } + + return ; +} + + +Clipping_prof::Clipping_prof(std::string outfile_data,std::string outfile_fig,int qcut,int sample_size) +{ + + + clip_data_file = outfile_data + ".clipping_profile.xls"; + clip_script_file = outfile_data + ".clipping_profile.r"; + clip_fig_file = outfile_fig+ ".clipping_profile.png"; + + mapq_fig_file = outfile_fig+ ".mapq_profile.png"; + mapq_data_file = outfile_data + ".mapq_profile.xls"; + mapq_script_file = outfile_data + ".mapq_profile.r"; + + readlen_data_file = outfile_data + ".readlen_profile.xls"; + readlen_fig_file = outfile_fig+ ".readlen_profile.png"; + readlen_script_file = outfile_data + ".ReadLen_plot.r"; + + samplesize = sample_size; + + q_cutoff = qcut; + read_len =0; +} +Clipping_prof::~Clipping_prof(){ + +} +Clipping_prof::Clipping_prof(int mapq,int sample_size){ + q_cutoff = mapq; + samplesize = sample_size; + read_len =0; + +} +int Clipping_prof::get_max_read_len(){ + return this->read_len; +} +void Clipping_prof::write(int total_read) +{ + std::string read_pos =""; + std::string clip_count = ""; + std::string mapq_val = ""; + std::string mapq_count = ""; + std::string readlen_val = ""; + std::string readlen_count = ""; + + int max_mapq = 0; + + if (read_len > MAX_READ_LEN) { + std::cout << "read length greater than 10000." << std::endl; + return; + } + try{ + std::ofstream OUT ; + OUT.open (readlen_data_file, std::ofstream::out); + OUT << "Position\tRead_Total\tRead_Len_mapped\n"; + + //soft_clip_profile[0] = 1; + for(auto& kv : readLen_list ){ + readlen_val += ',' + std::to_string(kv.first); + readlen_count += ',' + std::to_string(kv.second); + + OUT << kv.first << '\t' << total_read << '\t' << kv.second << '\n'; + } + + OUT.close(); + + + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing clipping profile." << std::endl; + return; + } + + try{ + std::ofstream OUT ; + OUT.open (clip_data_file, std::ofstream::out); + OUT << "Position\tRead_Total\tRead_clipped\n"; + + //soft_clip_profile[0] = 1; + for(int i=0; i< read_len; i++ ){ + read_pos += ',' + std::to_string(i); + clip_count += ',' + std::to_string(soft_clip_profile[i]); + + OUT << i << '\t' << total_read << '\t' << soft_clip_profile[i] << '\n'; + } + + OUT.close(); + + + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing clipping profile." << std::endl; + return; + } + try{ + if(read_pos != ""){ + std::ofstream ROUT ; + ROUT.open(clip_script_file,std::ofstream::out); + + ROUT << "png(\"" << clip_fig_file << "\",width=500,height=500,units=\"px\")\n"; + ROUT << "read_pos=c(" << read_pos.substr(1) << ")\n" ; + //ROUT <<'read_pos=read_pos[2:length(read_pos)]\n'; + ROUT << "count=c(" << clip_count.substr(1) << ")\n"; + //ROUT << "count=count[2:length(count)]\n"; + + ROUT << "plot(read_pos,1-(count/" << total_read <<"),pch=20,xlab=\"Position of reads\",ylab=\"Mappability\",col=\"blue\")\n"; + + ROUT << "dev.state=dev.off()\n"; + + ROUT.close(); + } + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing clipping script file." << std::endl; + return; + } + try{ + std::ofstream OUT; + OUT.open(mapq_data_file,std::ofstream::out); + + OUT << "MAPQ\tRead_Total\tRead_with_mapq\n"; + + for(auto& kv :mapqlist ){ + mapq_val += ',' + std::to_string(kv.first); + + mapq_count += ',' + std::to_string(kv.second); + + if (kv.first > max_mapq ){ + max_mapq = kv.first; + } + + OUT << std::to_string(kv.first) + '\t' + std::to_string(total_read) + '\t' + std::to_string(kv.second) +'\n'; + } + OUT.close(); + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing mapping quality profile." << std::endl; + return; + } + + if (mapqlist.size() > 0 ){ + try { + if(mapq_val != ""){ + std::ofstream ROUT; + ROUT.open(mapq_script_file,std::ofstream::out); + + ROUT << "png(\"" << mapq_fig_file << "\",width=500,height=500,units=\"px\")\n"; + ROUT << "mapq_val=c(" << mapq_val.substr(1) << ")\n"; + ROUT<< "mapq_count=c(" << mapq_count.substr(1) << ")\n"; + + ROUT << "xname=c(\"<3\",\"<10\",\"<20\",\"<30\",\"30-" << std::to_string(max_mapq) << "\")\n"; + ROUT <<"freq = rep(0,5)\n"; + + ROUT << "freq[1] = sum(mapq_count[which(mapq_val<3)])/" << std::to_string(total_read) << "*100\n"; + ROUT <<"freq[2] = sum(mapq_count[which(mapq_val<10)])/" << std::to_string(total_read) << "*100\n"; + ROUT << "freq[3] = sum(mapq_count[which(mapq_val<20)])/" << std::to_string(total_read) << "*100\n"; + ROUT << "freq[4] = sum(mapq_count[which(mapq_val<30)])/" << std::to_string(total_read) << "*100\n"; + ROUT<< "freq[5] = 100\n"; + + ROUT << "barplot(freq,beside=T,xlab=\"Mapping Quality\",border=\"NA\",space=1.5,main=\"Mapping Quality\",ylim=c(0,100),ylab=\"Cumulative proportion (%)\",col=\"blue\",names.arg=xname)\n"; + + ROUT << "dev.state=dev.off()\n"; + ROUT.close(); + } + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing mapping quality script file." << std::endl; + return; + } + } + //std::cout << readLen_list.size() << std::endl; + if (readLen_list.size() > 0) { + try { + std::ofstream ROUT; + ROUT.open(readlen_script_file,std::ofstream::out); + + ROUT << "png(\"" << readlen_fig_file << "\",width=500,height=500,units=\"px\")\n"; + ROUT << "readlen_val=c(" << readlen_val.substr(1) << ")\n"; + ROUT<< "readlen_count=c(" << readlen_count.substr(1) << ")\n"; + + ROUT << "plot(readlen_val,(readlen_count/" << total_read <<"),pch=20,xlab=\"Mapped Read Length\",ylab=\"Proportion\",col=\"blue\")\n"; + + ROUT << "dev.state=dev.off()\n"; + ROUT.close(); + + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing mapping quality script file." << std::endl; + return; + } + } +} + +void Clipping_prof::add(Clipping_prof * clip_prof) +{ + for (auto& j : clip_prof->mapqlist){ + std::map::iterator it; + it = mapqlist.find(j.first); + + if (it != mapqlist.end()){ + mapqlist[j.first] += j.second; + } + else { + mapqlist[j.first] = j.second; + } + } + + for (int i=0;i< MAX_READ_LEN; i++){ + soft_clip_profile[i] += clip_prof->soft_clip_profile[i]; + } + if (clip_prof->get_max_read_len() > read_len) { + read_len = clip_prof->get_max_read_len(); + } + for (auto& kv : clip_prof->readLen_list){ + std::map::iterator it; + it = readLen_list.find(kv.first); + + if (it != readLen_list.end()){ + readLen_list[kv.first] += kv.second; + } + else { + readLen_list[kv.first] = kv.second; + } + } +} + +void Clipping_prof::set_qual(int mapq) +{ + std::map::iterator it; + it = mapqlist.find(mapq); + if (it != mapqlist.end()) { + mapqlist[mapq] += 1; + } + else{ + mapqlist[mapq] = 1; + } +} +void Clipping_prof::set(int len,uint32_t n_cigar, uint32_t * cigar,int mapq) +{ + int r = bam_cigar2mapped_read_len(n_cigar,cigar); + //std::cout << "read len " << r << std::endl; + //std::cout << "number of cigar " << n_cigar <::iterator it; + it = mapqlist.find(mapq); + if (it != mapqlist.end()) { + mapqlist[mapq] += 1; + } + else{ + mapqlist[mapq] = 1; + } + //std::cout << "after mapq " << mapq << std::endl; + it = readLen_list.find(r); + if(it!=readLen_list.end()){ + readLen_list[r] += 1; + } + else{ + readLen_list[r] = 1; + } + + //std::cout << "after read len " << r << std::endl; + std::vector > soft_clip_pos_len ; + + bam_cigar2Clip(n_cigar,cigar,&soft_clip_pos_len); + + + //std::cout << "soft clip len " << soft_clip_pos_len.size() << std::endl; + if(soft_clip_pos_len.size() > 0) { + for (auto p : soft_clip_pos_len){ + int pos = p.first; + int len = p.second; + + //std::cout << pos << "\t" << len << std::endl; + for (int j = 0; j< len;j++){ + soft_clip_profile[pos+j] +=1; + } + + } + } + +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Mappability.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Mappability.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,54 @@ +// +// Mappablity.h +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_c____Mappablity__ +#define __BAMQC_c____Mappablity__ + +#include +#include +#include "Constants.h" +#include +#include + +int bam_cigar2mapped_read_len(int n_cigar, const uint32_t *cigar); +class Clipping_prof{ +public: + int q_cutoff; + int samplesize; + + int soft_clip_profile[MAX_READ_LEN]={0}; + std::string clip_data_file; + std::string clip_fig_file; + std::string clip_script_file; + + std::string readlen_data_file; + std::string readlen_script_file; + std::string readlen_fig_file; + + std::string mapq_fig_file; + std::string mapq_data_file; + std::string mapq_script_file; + + std::map mapqlist; + std::map readLen_list; + + Clipping_prof(int qcut, int sample_size = SAMPLESIZE); + Clipping_prof(std::string data_dir,std::string fig_dir,int qcut, int sample_size = SAMPLESIZE); + + ~Clipping_prof(); + void set(int len,uint32_t n_cigar, uint32_t * cigar,int mapq); + void set_qual(int mapq); + void write(int total_read); + void add(Clipping_prof * clip_prof); + + int get_max_read_len(); +private: + int read_len; +}; + +#endif /* defined(__BAMQC_c____Mappablity__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/ReadDup_prof.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/ReadDup_prof.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,9 @@ +// +// ReadDup_prof.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "ReadDup_prof.h" diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/ReadDup_prof.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/ReadDup_prof.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,14 @@ +// +// ReadDup_prof.h +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_c____ReadDup_prof__ +#define __BAMQC_c____ReadDup_prof__ + +#include + +#endif /* defined(__BAMQC_c____ReadDup_prof__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Results.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Results.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,133 @@ +// +// Results.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include +#include +#include +#include + +#include "Results.h" + +Results::Results(){ + +} + +Results::~Results(){ + +} + +void Results::write(std::string fname) +{ + try{ + std::ofstream f; + f.open(fname,std::ofstream::out); + + f << "filename" << "\t" << fname << "\n"; + f << "is_pairEnd" << "\t" << this->is_pairEnd << "\n"; + f << "clipping_plot_file" << "\t" << this->clipping_plot_file << "\n"; + f << "mapq_plot_file"<< "\t" <mapq_plot_file << "\n"; + f << "mapq_file"<< "\t" <mapq_file << "\n"; + f << "read_cov_plot_file"<< "\t" <read_cov_plot_file << "\n"; + f << "trans_cov_plot_file"<< "\t" <trans_cov_plot_file<< "\n"; + f << "insert_plot_file" << "\t" << this->insert_plot_file<< "\n"; + f << "insert_file" << "\t" << this->insert_file<< "\n"; + f << "read_dist_plot_file1" << "\t" << this->read_dist_plot_file1<< "\n"; + f << "read_dist_plot_file2" << "\t" <read_dist_plot_file2<< "\n"; + f << "readLen_plot_file" << "\t" << this->readLen_plot_file<< "\n"; + f << "geneCount_file" << "\t" << this->geneCount_file<< "\n"; + f << "seqDeDup_percent" << "\t" <seqDeDup_percent)<< "\n"; + f << "posDeDup_percent" << "\t" << std::to_string(this->posDeDup_percent)<< "\n"; + f << "no_clipping" << "\t" << this->no_clipping << "\n"; + f << "no_rRNA" << "\t" << this->no_rRNA << "\n"; + f << "total_reads" << "\t" <total_reads) << "\n"; + f << "uniq_mapped_reads" << "\t" <uniq_mapped_reads)<< "\n"; + f << "multi_mapped_reads" << "\t" <multi_mapped_reads)<< "\n"; + f << "unmapped_reads" << "\t" <unmapped_reads)<< "\n"; + f << "low_qual" << "\t" <low_qual)<< "\n"; + f << "low_qual_read1" << "\t" <low_qual_read1)<< "\n"; + f << "low_qual_read2" << "\t" <low_qual_read2)<< "\n"; + f << "pcr_dup" << "\t" <pcr_dup)<< "\n"; + f << "rRNA_read" << "\t" <rRNA_read)<< "\n"; + + f << "cds_read" << "\t" <cds_exon_read)<< "\n"; + f << "utr5_read" << "\t" <utr_5_read)<< "\n"; + f << "utr3_read" << "\t" <utr_3_read)<< "\n"; + f << "intron_read" << "\t" <intron_read)<< "\n"; + f << "itgup1k_read" << "\t" <intergenic_up1kb_read)<< "\n"; + f << "itgdn1k_read" << "\t" <intergenic_down1kb_read)<< "\n"; + f << "itg_read" << "\t" <intergenic_read)<< "\n"; + + + f << "unmapped_read1" << "\t" <unmapped_read1)<< "\n"; + f << "unmapped_read2" << "\t" <unmapped_read2)<< "\n"; + f << "mapped_read1"<< "\t" <mapped_read1)<< "\n"; + f << "mapped_read2"<< "\t" <mapped_read2) << "\n"; + f << "forward_read"<< "\t" <forward_read)<< "\n"; + f << "reverse_read" << "\t" << std::to_string(this->reverse_read)<< "\n"; + f << "paired_reads"<< "\t" << std::to_string(this->paired_reads) + "\n"; + f << "mapped_plus_minus"<< "\t" <mapped_plus_minus) << "\n"; + f << "mapped_plus_plus"<< "\t" <mapped_plus_plus)<< "\n"; + f << "mapped_minus_plus" << "\t" <mapped_minus_plus)<< "\n"; + f << "mapped_minus_minus" << "\t" <mapped_minus_minus)<< "\n"; + f << "ins_read" << "\t" <ins_read)<< "\n"; + f << "del_read"<< "\t" <del_read)<< "\n"; + f << "noSplice"<< "\t" <noSplice)<< "\n"; + f << "splice"<< "\t" <splice)<< "\n"; + f << "paired_diff_chrom" << "\t" <paired_diff_chrom)<< "\n"; + f.close(); + + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing result ." << std::endl; + return; + } + +} + +void Results::add(Results *res){ + + no_clipping = (no_clipping || res->no_clipping); + no_rRNA = (no_rRNA && res->no_rRNA); + + rRNA_read += res->rRNA_read; + total_reads += res->total_reads; + uniq_mapped_reads +=res->uniq_mapped_reads; + multi_mapped_reads +=res->multi_mapped_reads; + unmapped_reads += res->unmapped_reads; + low_qual += res->low_qual; + low_qual_read1 += res->low_qual_read1; + low_qual_read2 += res->low_qual_read2; + pcr_dup += res->pcr_dup; + + unmapped_read1 += res->unmapped_read1; + unmapped_read2 += res->unmapped_read2; + mapped_read1 += res->mapped_read1; + mapped_read2 += res->mapped_read2; + forward_read += res->forward_read; + reverse_read += res->reverse_read; + paired_reads += res->paired_reads; + + mapped_plus_minus += res->mapped_plus_minus; + mapped_plus_plus += res->mapped_plus_plus; + mapped_minus_plus += res->mapped_minus_plus; + mapped_minus_minus += res->mapped_minus_minus; + + ins_read += res->ins_read; + del_read += res->del_read; + + noSplice += res->noSplice; + splice += res->splice; + paired_diff_chrom += res->paired_diff_chrom; + + cds_exon_read += res->cds_exon_read; + utr_5_read += res->utr_5_read; + utr_3_read += res->utr_3_read; + intron_read += res->intron_read; + intergenic_up1kb_read += res->intergenic_up1kb_read; + intergenic_down1kb_read += res->intergenic_down1kb_read; + intergenic_read += res->intergenic_read; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/Results.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/Results.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,87 @@ +// +// Results.h +// BAMQC_c++ +// +// Created by Ying Jin on 10/28/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef BAMQC_c___Results_h +#define BAMQC_c___Results_h + +#include + + +class Results { + +public: + Results(); + ~Results(); + void add(Results *res); + void write(std::string fname); + + std::string filename = ""; + + std::string clipping_plot_file = ""; + std::string mapq_plot_file = ""; + std::string mapq_file = ""; + std::string read_cov_plot_file = "";; + std::string trans_cov_plot_file = ""; + std::string insert_plot_file = ""; + std::string insert_file = ""; + std::string read_dist_plot_file1 = ""; + std::string read_dist_plot_file2 = ""; + std::string read_dup_plot_file = ""; + std::string readLen_plot_file = ""; + std::string geneCount_file = ""; + + double seqDeDup_percent = 0; + double posDeDup_percent = 0; + bool is_pairEnd = false; + + bool no_clipping = false; + bool no_rRNA = false; + + + int total_reads = 0; + int uniq_mapped_reads = 0; + int multi_mapped_reads = 0; + int unmapped_reads = 0; + int low_qual = 0; + int low_qual_read1 = 0; + int low_qual_read2 = 0; + int pcr_dup = 0; + int rRNA_read = 0; + + int cds_exon_read =0; + int utr_5_read =0; + int utr_3_read =0; + int intron_read =0; + int intergenic_up1kb_read =0; + int intergenic_down1kb_read = 0; + int intergenic_read = 0; + + int unmapped_read1 = 0; + int unmapped_read2 = 0; + int mapped_read1 = 0; + int mapped_read2 = 0; + int forward_read = 0; + int reverse_read = 0; + int paired_reads = 0; + + int mapped_plus_minus = 0; + int mapped_plus_plus = 0; + int mapped_minus_plus = 0; + int mapped_minus_minus = 0; + + int ins_read = 0; + int del_read = 0; + + int noSplice = 0; + int splice = 0; + int paired_diff_chrom = 0; + +}; + + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/parseBAM.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/parseBAM.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1055 @@ +// +// parseBAM.cpp +// BAMQC_c++ +// +// Created by Ying Jin on 11/11/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "parseBAM.h" +#include "Coverage_prof.h" +#include "GeneFeatures.h" +#include "InnerDist_prof.h" +#include "Mappability.h" +#include "Results.h" +#include "rRNA.h" +#include "Constants.h" + +//#include +#include +#include +#include +//#include +#include +#include +#include + +#include "htslib/sam.h" + + + +unsigned int tick_time =3000; + +#define IS_PAIRED(bam) ((bam)->core.flag&BAM_FPAIRED) +#define IS_QCFAIL(bam) ((bam)->core.flag & BAM_FQCFAIL) + +#define IS_PAIRED_AND_MAPPED(bam) (((bam)->core.flag&BAM_FPAIRED) && !((bam)->core.flag&BAM_FUNMAP) && !((bam)->core.flag&BAM_FMUNMAP)) + +#define IS_PROPERLYPAIRED(bam) (((bam)->core.flag&(BAM_FPAIRED|BAM_FPROPER_PAIR)) == (BAM_FPAIRED|BAM_FPROPER_PAIR) && !((bam)->core.flag&BAM_FUNMAP)) + +#define IS_UNMAPPED(bam) ((bam)->core.flag&BAM_FUNMAP) +#define IS_REVERSE(bam) ((bam)->core.flag&BAM_FREVERSE) +#define IS_MATE_REVERSE(bam) ((bam)->core.flag&BAM_FMREVERSE) +#define IS_READ1(bam) ((bam)->core.flag&BAM_FREAD1) +#define IS_READ2(bam) ((bam)->core.flag&BAM_FREAD2) +#define IS_DUP(bam) ((bam)->core.flag&BAM_FDUP) +//#defind READ_NAME(bam) (bam_get_qname(bam)) + +/*DEF BAM_CMATCH = 0 +DEF BAM_CINS = 1 +DEF BAM_CDEL = 2 +DEF BAM_CREF_SKIP = 3 +DEF BAM_CSOFT_CLIP = 4 +DEF BAM_CHARD_CLIP = 5 +DEF BAM_CPAD = 6 +DEF BAM_CEQUAL = 7 +DEF BAM_CDIFF = 8*/ + +typedef struct +{ + bam1_t * first; + bam1_t * second; + int type; +} read_pair_t ; + +typedef struct +{ + unsigned short thread_id; + pthread_t thread_object; + //pthread_spinlock_t cur_reads_lock; + pthread_spinlock_t cur_reads_lock; + + //std::vector > *cur_reads; + std::vector * cur_reads; + + Results * res; + InnerDist_prof * inDist_prof; + Clipping_prof * clip_prof; + Coverage_prof * cov_prof; + +} thread_context_t; + +typedef struct +{ + unsigned short thread_number; + int all_finished; + std::string format; + std::string stranded; + //bam_hdr_t * header; + std::vector refnames; + std::vector thread_contexts; + + GeneFeatures * geneIdx; + rRNA * rRNAIdx; + +} global_context_t; + +struct arg_struct { + global_context_t * arg1; + thread_context_t * arg2; +}; +std::vector > fetch_intron(int st, uint32_t * cigar, uint32_t n_cigar,std::string format) +{ + //''' fetch intron regions defined by cigar. st must be zero based return list of tuple of (st, end)''' + //match = re.compile(r'(\d+)(\D)') + int chrom_st = st; + if (format == "BAM") { chrom_st += 1 ;} + + std::vector > intron_bound ; + + for (unsigned int i=0; i < n_cigar; i++){ //code and size + if (bam_cigar_op(cigar[i])==BAM_CMATCH) { chrom_st += bam_cigar_oplen(cigar[i]);} //match + if (bam_cigar_op(cigar[i])==BAM_CINS) {continue;} //insertion + if (bam_cigar_op(cigar[i])==BAM_CDEL) { chrom_st += bam_cigar_oplen(cigar[i]);} //deletion + if (bam_cigar_op(cigar[i])==BAM_CREF_SKIP) { intron_bound.push_back(std::pair (chrom_st,chrom_st+ bam_cigar_oplen(cigar[i])-1)); } //gap + if (bam_cigar_op(cigar[i])==BAM_CSOFT_CLIP) { chrom_st += bam_cigar_oplen(cigar[i]);}// soft clipping + } + + return intron_bound ; +} + +std::vector > fetch_exon(int st,uint32_t * cigar,uint32_t n_cigar,std::string format) +{ + //''' fetch exon regions defined by cigar. st must be zero based return list of tuple of (st, end)''' + //match = re.compile(r'(\d+)(\D)') + int chrom_st = st; + if (format == "BAM") { chrom_st += 1;} + + std::vector >exon_bound; + + for (unsigned int i=0; i < n_cigar; i++){ //code and size + if (bam_cigar_op(cigar[i])==BAM_CMATCH) { exon_bound.push_back(std::pair (chrom_st,chrom_st + bam_cigar_oplen(cigar[i])-1));} //match + if (bam_cigar_op(cigar[i])==BAM_CINS) {continue;} //insertion + if (bam_cigar_op(cigar[i])==BAM_CDEL) { chrom_st += bam_cigar_oplen(cigar[i]);} //deletion + if (bam_cigar_op(cigar[i])==BAM_CREF_SKIP) { chrom_st += bam_cigar_oplen(cigar[i]); } //gap + if (bam_cigar_op(cigar[i])==BAM_CSOFT_CLIP) { chrom_st += bam_cigar_oplen(cigar[i]);}// soft clipping + } + return exon_bound; +} + + +std::pair ovp_gene( GeneFeatures * geneIdx,std::string chrom1,std::vector >exon_blocks1,std::string chrom2,std::vector > exon_blocks2,std::string strand,std::vector * mapped_exons) +{ + std::map res1 = geneIdx->Gene_annotation(chrom1,exon_blocks1,strand,mapped_exons); + std::map res2 = geneIdx->Gene_annotation(chrom2,exon_blocks2,strand,mapped_exons); + if(res2.size() == 0) + { + if(res1.size() ==0 ) { return std::pair(-1,-1);} + if(res1.size() == 1) { return std::pair(res1.begin()->second,res1.begin()->first);} + std::map > type_gene_list; + int min_type = 6; + int second_min_type = 6; + for(auto& kv : res1){ + if(type_gene_list.find(kv.second) != type_gene_list.end()) + { + type_gene_list[kv.second].push_back(kv.first); + } + else { + std::vector tmp; + tmp.push_back(kv.first); + type_gene_list.insert(std::pair >(kv.second,tmp)); + } + if(kv.second < min_type ) {min_type = kv.second; second_min_type = min_type;} + } + if(type_gene_list[min_type].size() == 1 && min_type <= 3 && second_min_type > 3) + { return std::pair (min_type,type_gene_list[min_type][0]); } + return std::pair(min_type,-1); + } + if(res1.size() == 0) + { + if(res2.size() ==0 ) { return std::pair(-1,-1);} + if(res2.size() == 1) { return std::pair(res2.begin()->second,res2.begin()->first);} + std::map > type_gene_list; + int min_type = 6; + int second_min_type = 6; + for(auto& kv : res2){ + if(type_gene_list.find(kv.second) != type_gene_list.end()) + { + type_gene_list[kv.second].push_back(kv.first); + } + else { + std::vector tmp; + tmp.push_back(kv.first); + type_gene_list.insert(std::pair >(kv.second,tmp)); + } + if(kv.second < min_type ) {min_type = kv.second; second_min_type = min_type;} + } + if(type_gene_list[min_type].size() == 1 && min_type <= 3 && second_min_type > 3) + { return std::pair (min_type,type_gene_list[min_type][0]); } + return std::pair(min_type,-1); + } + //PE + if (res1.size() ==1 && res2.size() ==1 ){ + int g1 = res1.begin()->first; + int type1 = res1.begin()->second; + int g2 = res2.begin()->first; + int type2 = res2.begin()->second; + if(g1 == g2) { + if(type1 < type2) { return std::pair (type1,g1); } + else { return std::pair (type2,g1); } + }else { + if(type1 < type2) { return std::pair (type1,-1); } + else { return std::pair (type2,-1); } + } + } + if (res1.size() > 1 || res2.size() > 1 ) + { + std::vector ovp_genes ; + + for(auto& kv : res1 ) + { + if(res2.find(kv.first)!=res2.end()) { + ovp_genes.push_back(kv.first); + } + } + if(ovp_genes.size() == 1) { + if(res1[ovp_genes[0]] < res2[ovp_genes[0]]) { return std::pair (res1[ovp_genes[0]],ovp_genes[0]); } + else { return std::pair (res2[ovp_genes[0]],ovp_genes[0]); } + } + if (ovp_genes.size() > 1) { + std::map > type_gene_list; + int min_type = 6; + int second_min_type = 6; + for(auto g : ovp_genes){ + int type1 = res1[g]; + int type2 = res2[g]; + int type = type1; + if (type2 < type1) { + type = type2; + } + if(type_gene_list.find(type) != type_gene_list.end()) + { + type_gene_list[type].push_back(g); + } + else { + std::vector tmp; + tmp.push_back(g); + type_gene_list.insert(std::pair >(type,tmp)); + } + if(type < min_type ) {min_type = type; second_min_type = min_type;} + } + if(type_gene_list[min_type].size() == 1 && min_type <= 3 && second_min_type > 3) + { return std::pair (min_type,type_gene_list[min_type][0]); } + else { return std::pair(min_type,-1); } + + } + + if (ovp_genes.size() == 0) { + std::map > type_gene_list; + int min_type = 6; + int second_min_type = 6; + for (auto& kv : res1) { + if(type_gene_list.find(kv.second) != type_gene_list.end()) + { + type_gene_list[kv.second].push_back(kv.first); + } + else { + std::vector tmp; + tmp.push_back(kv.first); + type_gene_list.insert(std::pair >(kv.second,tmp)); + } + if(kv.second < min_type ) {min_type = kv.second; second_min_type = min_type;} + } + for(auto& kv : res2){ + if(type_gene_list.find(kv.second) != type_gene_list.end()) + { + type_gene_list[kv.second].push_back(kv.first); + } + else { + std::vector tmp; + tmp.push_back(kv.first); + type_gene_list.insert(std::pair >(kv.second,tmp)); + } + if(kv.second < min_type ) {min_type = kv.second; second_min_type = min_type;} + } + if(type_gene_list[min_type].size() == 1 && min_type <= 3 && second_min_type > 3) + { return std::pair (min_type,type_gene_list[min_type][0]); } + else { return std::pair(min_type,-1); } + + + } + + } + + return std::pair (-1,-1); + +} + +//void process_aligned_fragment(global_context_t * global_context,thread_context_t * thread_context,std::pair read_pair) +void process_aligned_fragment(global_context_t * global_context,thread_context_t * thread_context,read_pair_t read_pair) +{ + + bam1_t * cur_read1 = read_pair.first; + bam1_t * cur_read2 = read_pair.second; + std::string strand1 = "."; + std::string strand2 = "."; + int chrom1_id = -1; + int chrom2_id = -1; + std::vector > exons1 ; + std::vector > exons2 ; + std::vector > intron_blocks1 ; + std::vector > intron_blocks2 ; + std::string qname = ""; + std::string chrom1 = ""; + std::string chrom2 = ""; + + if(cur_read1 != NULL ) { + if(!IS_UNMAPPED(cur_read1)) + { + uint32_t *cigar = bam_get_cigar(cur_read1); + char * name = bam_get_qname(cur_read1); + + if (read_pair.type == 0) { //only for uniq-read + thread_context-> clip_prof->set(cur_read1->core.l_qseq,cur_read1->core.n_cigar,cigar,cur_read1->core.qual); + } + chrom1_id = cur_read1->core.tid; + + qname = std::string(name); + if((size_t)cur_read1->core.tid < global_context->refnames.size()){ + chrom1 = global_context->refnames[cur_read1->core.tid]; + } + else { + std::cout << (size_t)cur_read1->core.tid << "\t" << "missing reference sequences." << std::endl; + std::exit(1); + } + + strand1 = IS_REVERSE(cur_read1) ? "-" : "+"; + + if (global_context->stranded =="reverse") { + strand1 = (strand1 == "+") ? "-" : "+"; + } + exons1 = fetch_exon(cur_read1->core.pos, cigar,cur_read1->core.n_cigar, global_context->format); + intron_blocks1 = fetch_intron(cur_read1->core.pos,cigar,cur_read1->core.n_cigar,global_context->format); + } + } + if(cur_read2 != NULL){ + if(! IS_UNMAPPED(cur_read2)){ + uint32_t *cigar = bam_get_cigar(cur_read2); + if (read_pair.type ==0) { + thread_context->clip_prof->set(cur_read2->core.l_qseq,cur_read2->core.n_cigar,cigar,cur_read2->core.qual); + } + strand2 = IS_REVERSE(cur_read2) ? "-" : "+"; + + if (global_context-> stranded =="reverse") { + strand2 = ( strand2 == "+") ? "-" : "+"; + } + chrom2_id = cur_read2->core.tid; + if((size_t)cur_read2->core.tid < global_context->refnames.size()){ + chrom2 = global_context->refnames[cur_read2->core.tid]; + } + else { + std::cout << (size_t)cur_read2->core.tid << "\t" <<"missing reference sequences." << std::endl; + std::exit(1); + } + exons2 = fetch_exon(cur_read2->core.pos, cigar,cur_read2->core.n_cigar, global_context->format); + intron_blocks2 = fetch_intron(cur_read2->core.pos,cigar,cur_read2->core.n_cigar,global_context->format); + } + } + + if (cur_read1 == NULL || IS_UNMAPPED(cur_read1)) { + strand1 = (strand2 == "-") ? "+" : "-"; + } + std::string strand = strand1; + if (global_context->stranded == "no"){ + strand = "."; + } + + //type =1 means multi-read. rRNA read + if (read_pair.type == 1) { + + //std::cout << chrom1 << "\t" << chrom2 << std::endl; + + if (global_context->rRNAIdx != NULL){ + if (global_context->rRNAIdx->is_rRNA(chrom1,exons1,strand) || global_context->rRNAIdx->is_rRNA(chrom2,exons2,strand)){ + thread_context->res->rRNA_read += 1; + //std::cout << qname << std::endl; + if(cur_read1 != NULL){ + bam_destroy1(cur_read1); + } + if(cur_read2 != NULL){ + bam_destroy1(cur_read2); + } + return; + } + } + } + else { //uniq read + + + if (intron_blocks1.size() + intron_blocks2.size() == 0){ + thread_context->res->noSplice += 1; + } + else { + thread_context->res->splice += 1; + } + //paired read + if (chrom1_id != -1 && chrom2_id != -1){ + thread_context->res->paired_reads += 1; + + if (strand1 == "-" && strand2 == "-" ){ + thread_context->res->mapped_minus_minus += 1; + } + if (strand1 == "+" && strand2 == "+" ){ + thread_context->res->mapped_plus_plus += 1; + } + if (strand1 == "+" && strand2 == "-" ){ + thread_context->res->mapped_plus_minus += 1; + } + if (strand1 == "-" && strand2 == "+"){ + thread_context->res->mapped_minus_plus += 1; + } + if (chrom1_id != chrom2_id ){ + thread_context->res->paired_diff_chrom += 1; + if(cur_read1 != NULL){ + bam_destroy1(cur_read1); + } + if(cur_read2 != NULL){ + bam_destroy1(cur_read2); + } + return; + } + } + + //mapped read len + //rRNA read + if (global_context->rRNAIdx != NULL){ + if (global_context->rRNAIdx->is_rRNA(chrom1,exons1,strand) || global_context->rRNAIdx->is_rRNA(chrom2,exons2,strand)){ + thread_context->res->rRNA_read += 1; + //std::cout << qname << std::endl; + if(cur_read1 != NULL){ + bam_destroy1(cur_read1); + } + if(cur_read2 != NULL){ + bam_destroy1(cur_read2); + } + return; + } + } + //cur_time = time.time() + std::vector * mapped_exons = new std::vector(); + + std::pair ovp = ovp_gene(global_context->geneIdx,chrom1,exons1,chrom2,exons2,strand,mapped_exons); + switch(ovp.first) + { + case CDS: + thread_context->res->cds_exon_read +=1; + break; + case UTR5: + thread_context->res->utr_5_read +=1; + break; + case UTR3: + thread_context->res->utr_3_read +=1; + break; + case INTRON: + thread_context->res->intron_read +=1; + ovp.second = -1; + break; + case ITGUP1K: + thread_context->res->intergenic_up1kb_read +=1; + ovp.second = -1; + break; + case ITGDN1K: + thread_context->res->intergenic_down1kb_read +=1; + ovp.second = -1; + break; + default: + thread_context->res->intergenic_read +=1; + break; + } + thread_context->cov_prof->count(ovp.second,exons1,exons2,*mapped_exons); + if(chrom1 != "" && chrom2 != ""){ + if( IS_PROPERLYPAIRED(cur_read1)){ + if (strand1 == "+" || strand1 == "."){ + if (global_context->stranded == "reverse") { + thread_context->inDist_prof->count(global_context->geneIdx,ovp.first,cur_read2,chrom2,intron_blocks2,strand1); + } + else{ + thread_context->inDist_prof->count(global_context->geneIdx,ovp.first,cur_read1,chrom1,intron_blocks1,strand1); + } + } + else { + if (global_context->stranded == "reverse" ){ + thread_context->inDist_prof->count(global_context->geneIdx,ovp.first,cur_read1,chrom1,intron_blocks1,strand1); + } + else { + thread_context->inDist_prof->count(global_context->geneIdx,ovp.first,cur_read2,chrom2,intron_blocks2,strand1); + } + } + } + } + delete mapped_exons; + if(cur_read1 != NULL){ + bam_destroy1(cur_read1); + } + if(cur_read2 != NULL){ + bam_destroy1(cur_read2); + } + }//uniq read +} + +void* worker(void * vargs) +{ + struct arg_struct * args = (struct arg_struct *) vargs; + thread_context_t * thread_context = args->arg2; + global_context_t * global_context = args->arg1; + delete args; + + while (1){ + //std::pair cur_read_pair; + read_pair_t cur_read_pair; + while(1){ + int is_retrieved = 0; + pthread_spin_lock(&thread_context->cur_reads_lock); + + if(thread_context->cur_reads->size()>0){ + cur_read_pair = thread_context->cur_reads->back(); + thread_context->cur_reads->pop_back(); + + is_retrieved = 1; + } + pthread_spin_unlock(&thread_context->cur_reads_lock); + if(global_context->all_finished && !is_retrieved) return NULL; + + if(is_retrieved) break; + else usleep(tick_time); + } + process_aligned_fragment(global_context,thread_context,cur_read_pair); + + } +} + + +//start threads +void init_thread(global_context_t * global_context,unsigned short threadNumber,int mapq) +{ + global_context->thread_number = threadNumber; + //global_context -> thread_contexts = (thread_context_t * ) malloc(sizeof(thread_context_t) * global_context -> thread_number); + if(threadNumber >1){ + for(int i=0;icur_reads_lock, PTHREAD_PROCESS_PRIVATE); + th_contx->thread_id = i; + // th_contx->cur_reads = new std::vector >() ; + + th_contx->cur_reads = new std::vector (); + + th_contx->res = new Results(); + th_contx->clip_prof = new Clipping_prof(mapq); + th_contx->cov_prof = new Coverage_prof(global_context->geneIdx); + th_contx->inDist_prof = new InnerDist_prof(); + global_context->thread_contexts.push_back(th_contx); + } + + for(int i=0;iarg1 = global_context; + args->arg2 = global_context->thread_contexts[i]; + //int ret = pthread_create(&global_context -> thread_contexts[i].thread_object, NULL, worker, (void *)&args); + pthread_create(&global_context -> thread_contexts[i]->thread_object, NULL, worker, (void *)args); + } + } + else { + thread_context_t *th_contx = new thread_context_t(); + //th_contx->cur_reads = new std::vector >() ; + th_contx->cur_reads = new std::vector (); + + th_contx->res = new Results(); + th_contx->clip_prof = new Clipping_prof(mapq); + th_contx->cov_prof = new Coverage_prof(global_context->geneIdx); + th_contx->inDist_prof = new InnerDist_prof(); + global_context->thread_contexts.push_back(th_contx); + + } + + return; +} + +//release memory +void destroy_thread_context(global_context_t * global_context) +{ + + for(int i=0; i < global_context-> thread_number; i++) + { + delete global_context->thread_contexts[i]->res; + delete global_context->thread_contexts[i]->cov_prof; + delete global_context->thread_contexts[i]->clip_prof; + delete global_context->thread_contexts[i]->cur_reads; + delete global_context->thread_contexts[i]->inDist_prof; + if(global_context->thread_number >1){ + pthread_spin_destroy(&global_context -> thread_contexts[i]->cur_reads_lock); + } + delete global_context -> thread_contexts[i]; + } + +} + +//join threads +void join_threads(global_context_t * global_context) +{ + int xk1; + for(xk1=0; xk1 thread_number; xk1++) + pthread_join(global_context -> thread_contexts[xk1]->thread_object, NULL); +} + +//merge results +void merge_results(global_context_t * global_context,Results * res,Clipping_prof * clip_prof,Coverage_prof * cov_prof, InnerDist_prof * inDist_prof) +{ + for(int i=0;ithread_number;i++) + { + res->add(global_context->thread_contexts[i]->res); + clip_prof->add(global_context->thread_contexts[i]->clip_prof); + cov_prof->add(global_context->thread_contexts[i]->cov_prof); + inDist_prof->add(global_context->thread_contexts[i]->inDist_prof); + } +} + +// parsing BAM file +Results QC(std::string smp_name,GeneFeatures * geneIdx, rRNA * rRNAIdx,char * inputFile,std::string outdir,std::string outdir_fig,std::string stranded,int threadNumber,int mapq) +{ + //'''This class provides fuctions to parsing SAM or BAM files and quality controls.''' + //'''constructor. input could be bam or sam''' + + int q_cut = mapq; + global_context_t global_context; + global_context.stranded = stranded; + global_context.all_finished = 0; + + //open SAM/BAM file + samFile *fp_in = NULL; + bam1_t * aligned_read = NULL; + bam_hdr_t *header = NULL; + + std::string format = "BAM"; + + fp_in = sam_open(inputFile, "rb"); + + if(NULL == fp_in) { + std::cout << "Could not open file " << inputFile << std::endl; + std::exit(1); + } + if(hts_get_format(fp_in)->format == sam) {format = "SAM";} + global_context.format = format; + + aligned_read = bam_init1(); + + Results main_res; + //read header + header = sam_hdr_read(fp_in); + if(NULL == header){ + std::cout << "No header information." << std::endl; + std::exit(1); + } + for(int i=0;i< header->n_targets;i++) + { + char * p = header->target_name[i]; + std::string chr(p); + global_context.refnames.push_back(chr); + } + //return main_res; + + std::string prev_read_id = ""; + std::vector multi_read1; + std::vector multi_read2; + + std::vector alignments_per_read; + + + Clipping_prof main_clip_prof(outdir+smp_name,outdir_fig+smp_name,mapq); + Coverage_prof main_cov_prof(outdir+smp_name,outdir_fig+smp_name,geneIdx); + //ReadDup_prof main_rDup_prof(outdir,outdir_fig); + InnerDist_prof main_inDist_prof(outdir+smp_name,outdir_fig+smp_name); + + int lineno = 0; + global_context.geneIdx = geneIdx; + global_context.rRNAIdx = rRNAIdx; + init_thread(&global_context, threadNumber,mapq); + + int current_thread_id = 0; + + while(sam_read1(fp_in, header,aligned_read) > 0) + { + lineno +=1 ; + //std::cout << lineno << std::endl; + + std::string qname =""; + char * name = bam_get_qname(aligned_read); + if(name !=NULL) + { + qname = std::string(name); + } + //SE reads + if (! IS_PAIRED(aligned_read)) + { + //count unmapped read + if (IS_UNMAPPED(aligned_read)) + { + main_res.unmapped_reads += 1; + main_res.total_reads += 1; + bam_destroy1(aligned_read); + aligned_read = bam_init1(); + continue; + } + + if (qname == prev_read_id || prev_read_id == "") { + alignments_per_read.push_back(aligned_read); + prev_read_id = qname; + aligned_read = bam_init1(); + continue; + } + else { + bam1_t *cur_read = NULL; + if (alignments_per_read.size() == 1){ //unique read + main_res.uniq_mapped_reads += 1; + main_res.total_reads += 1; + + cur_read = alignments_per_read[0]; + + int skip_read = 0; + + if (cur_read->core.flag & BAM_FQCFAIL || cur_read->core.qual < q_cut){ //skip QC fail read + main_clip_prof.set_qual(cur_read->core.qual); + main_res.low_qual += 1; + skip_read = 1; + } + if (IS_DUP(cur_read)){ //skip duplicate read + skip_read = 1; + } + if (skip_read == 1) { + bam_destroy1(cur_read); + cur_read = NULL; + } + if (cur_read ){ + if (IS_REVERSE(cur_read)) {main_res.reverse_read += 1;} + else {main_res.forward_read += 1;} + read_pair_t read_pair; // = new read_pair_t(); + read_pair.first = cur_read; + read_pair.second = NULL; + read_pair.type = 0; + + if(global_context.thread_number >1){ + + thread_context_t * thread_context = global_context.thread_contexts[current_thread_id]; + pthread_spin_lock(&thread_context->cur_reads_lock); + + //thread_context->cur_reads->push_back(std::pair(cur_read,NULL)); + thread_context->cur_reads->push_back(read_pair); + + pthread_spin_unlock(&thread_context->cur_reads_lock); + current_thread_id++; + if(current_thread_id >= global_context.thread_number) current_thread_id = 0; + } + else { + // process_aligned_fragment(&global_context,global_context.thread_contexts[0],std::pair (cur_read,NULL)); + process_aligned_fragment(&global_context,global_context.thread_contexts[0],read_pair); + } + } + + } + else { //multi reads + main_res.multi_mapped_reads += 1; + main_res.total_reads += 1; + cur_read = alignments_per_read[0]; + //check whether it's rRNA read using only one of the multialignments + main_clip_prof.set_qual(cur_read->core.qual); + + //for(unsigned int i=0;i1){ + //thread_context_t * thread_context = global_context.thread_contexts + current_thread_id; + thread_context_t * thread_context = global_context.thread_contexts[current_thread_id]; + pthread_spin_lock(&thread_context->cur_reads_lock); + + thread_context->cur_reads->push_back(read_pair); + //thread_context->cur_reads->push_back(std::pair(cur_read,NULL)); + pthread_spin_unlock(&thread_context->cur_reads_lock); + current_thread_id++; + if(current_thread_id >= global_context.thread_number) current_thread_id = 0; + } + else { + //process_aligned_fragment(&global_context,global_context.thread_contexts[0],std::pair (cur_read,NULL)); + process_aligned_fragment(&global_context,global_context.thread_contexts[0],read_pair); + + } + } + alignments_per_read.clear(); + alignments_per_read.push_back(aligned_read); + prev_read_id = qname; + aligned_read = bam_init1(); + } + } + else {//pair end read + main_res.is_pairEnd = true; + size_t flag_pos = qname.find('/'); + //cur_read_id = aligned_read.qname; + if (flag_pos != std::string::npos) {qname = qname.substr(0,flag_pos);} + + if (qname == prev_read_id ){ + if (IS_READ1(aligned_read) ){ multi_read1.push_back(aligned_read);} + if (IS_READ2(aligned_read) ){multi_read2.push_back(aligned_read);} + aligned_read = bam_init1(); + continue; + } + else { + bam1_t * cur_read1 = NULL; + bam1_t * cur_read2 = NULL; + main_res.total_reads += 1; + + //multi-reads + if (multi_read1.size() >1 || multi_read2.size() > 1){ + main_res.multi_mapped_reads += 1; + read_pair_t read_pair; + read_pair.first = NULL; + read_pair.second = NULL; + read_pair.type = 1; + + if (multi_read1.size() > 1 ){ + main_clip_prof.set_qual(multi_read1[0]->core.qual); + read_pair.first = multi_read1[0]; + } + if (multi_read2.size() > 1 ){ + main_clip_prof.set_qual(multi_read2[0]->core.qual); + read_pair.second = multi_read2[0]; + } + //for(unsigned int i=0;i< multi_read1.size();i++) + for(unsigned int i=1;i< multi_read1.size();i++) + { + bam_destroy1(multi_read1[i]); + } + //for(unsigned int i=0;i< multi_read2.size();i++) + for(unsigned int i=1;i< multi_read2.size();i++) + { + bam_destroy1(multi_read2[i]); + } + //read_pair_t * read_pair = new read_pair_t(); + + + if(global_context.thread_number > 1){ + //thread_context_t * thread_context = global_context.thread_contexts + current_thread_id; + thread_context_t * thread_context = global_context.thread_contexts[current_thread_id]; + + pthread_spin_lock(&thread_context->cur_reads_lock); + + //thread_context->cur_reads->push_back(std::pair(cur_read1,cur_read2)); + thread_context->cur_reads->push_back(read_pair); + + pthread_spin_unlock(&thread_context->cur_reads_lock); + current_thread_id++; + if(current_thread_id >= global_context.thread_number) + current_thread_id = 0; + } + else { + //process_aligned_fragment(&global_context,global_context.thread_contexts[0],std::pair (cur_read1,cur_read2)); + process_aligned_fragment(&global_context,global_context.thread_contexts[0],read_pair); + } + } + else { + //uniq read + if (multi_read1.size() == 1) {cur_read1 = multi_read1[0];} + if (multi_read2.size() == 1){ cur_read2 = multi_read2[0];} + + if (cur_read1 && !IS_UNMAPPED(cur_read1)){ + + if ( cur_read1->core.flag & BAM_FQCFAIL || cur_read1->core.qual < q_cut ){ + main_clip_prof.set_qual(cur_read1->core.qual); + bam_destroy1(cur_read1); + cur_read1 = NULL; + main_res.low_qual_read1 += 1; + } + else { + main_res.mapped_read1 += 1; + if (IS_REVERSE(cur_read1)){ main_res.reverse_read += 1;} + else{ main_res.forward_read +=1;} + } + } + else { + if(cur_read1) { bam_destroy1(cur_read1); cur_read1 = NULL;} + if (prev_read_id != ""){ main_res.unmapped_read1 += 1; } + } + + if (cur_read2 && !IS_UNMAPPED(cur_read2)){ + + if (cur_read2->core.flag & BAM_FQCFAIL || cur_read2->core.qual < q_cut){ + main_clip_prof.set_qual(cur_read2->core.qual); + main_res.low_qual_read2 += 1; + bam_destroy1(cur_read2); + cur_read2 = NULL; + } + else { + main_res.mapped_read2 += 1; + if (!cur_read1){ + if (!IS_REVERSE(cur_read2)){ main_res.reverse_read += 1;} + else{ main_res.forward_read +=1;} + } + } + } + else { + if(cur_read2) {bam_destroy1(cur_read2); cur_read2 = NULL;} + if (prev_read_id != ""){ // #not the first fragment + main_res.unmapped_read2 += 1;} + } + + if (cur_read1 || cur_read2 ){ + //read_pair_t * read_pair = new read_pair_t(); + read_pair_t read_pair; + read_pair.first = cur_read1; + read_pair.second = cur_read2; + read_pair.type = 0; + + if(global_context.thread_number > 1){ + //thread_context_t * thread_context = global_context.thread_contexts + current_thread_id; + thread_context_t * thread_context = global_context.thread_contexts[current_thread_id]; + + pthread_spin_lock(&thread_context->cur_reads_lock); + + //thread_context->cur_reads->push_back(std::pair(cur_read1,cur_read2)); + thread_context->cur_reads->push_back(read_pair); + + pthread_spin_unlock(&thread_context->cur_reads_lock); + current_thread_id++; + if(current_thread_id >= global_context.thread_number) + current_thread_id = 0; + } + else { + //process_aligned_fragment(&global_context,global_context.thread_contexts[0],std::pair (cur_read1,cur_read2)); + process_aligned_fragment(&global_context,global_context.thread_contexts[0],read_pair); + } + } + } + multi_read1.clear(); + multi_read2.clear(); + prev_read_id = qname; + if (IS_READ1(aligned_read)){ + multi_read1.push_back(aligned_read);} + if (IS_READ2(aligned_read)){ + multi_read2.push_back(aligned_read);} + } + + aligned_read = bam_init1(); + } + } + bam_destroy1(aligned_read); + bam_hdr_destroy(header); + sam_close(fp_in); + global_context.all_finished = 1; + //join threads + if(global_context.thread_number >1) + { + join_threads(&global_context); + } + merge_results(&global_context,&main_res,&main_clip_prof,&main_cov_prof,&main_inDist_prof); + destroy_thread_context(&global_context); + + + main_res.splice = int(main_res.splice); + main_res.noSplice = int(main_res.noSplice); + + if (main_res.is_pairEnd ){ + main_clip_prof.write(main_res.total_reads*2-main_res.unmapped_read1-main_res.unmapped_read2); + } + else { + main_clip_prof.write(main_res.total_reads); + } + + //main_rDup_prof.write(); + main_inDist_prof.write(); + int zero_exons = main_cov_prof.write(main_res.total_reads); + + main_res.read_dist_plot_file1 = outdir_fig +smp_name+ ".read_distr.png"; + main_res.read_dist_plot_file2 = outdir_fig + smp_name + ".read_distr_pie.png"; + + //std::cout << main_res.rRNA_read << std::endl; + try { + std::ofstream ROUT; + + ROUT.open (outdir +smp_name+ ".read_distr.r", std::ofstream::out); + //ROUT = fopen(outfile + '.read_distr.r', 'w') + ROUT << "png(\"" << main_res.read_dist_plot_file1 << "\",width=500,height=500,units=\"px\")\n"; + ROUT << "M=c(" << std::to_string(main_res.cds_exon_read) << "," << std::to_string(main_res.utr_5_read) << "," << std::to_string(main_res.utr_3_read) << "," << std::to_string(main_res.intron_read) << "," << std::to_string(main_res.intergenic_up1kb_read) << "," << std::to_string(main_res.intergenic_down1kb_read) << "," << std::to_string(main_res.rRNA_read) << "," << std::to_string(main_res.intergenic_read) << ")\n"; + + ROUT << "Mname=c(\"CDS\",\"5UTR\",\"3UTR\",\"Intron\",\"TSS_Up_1Kb\",\"TES_Down_1Kb\",\"rRNA\",\"Others\")\n"; + ROUT << "val = barplot(M,xlab=\"\",space=1,ylab=\"Read Counts\",col=\"blue\",border=\"NA\")\n"; + ROUT << "text(x=seq(val[1],val[8],by=2),y=rep(0,8),srt=60,adj=0,offset=2,pos=1,xpd=T,labels=Mname)\n"; + ROUT << "dev.state = dev.off()\n"; + ROUT.close(); + + ROUT.open(outdir + smp_name+".read_distr_pie.r", std::ofstream::out); + if (geneIdx->total_exon != 0 ){ + ROUT << "png(\"" << main_res.read_dist_plot_file2 << "\",width=500,height=500,units=\"px\")\n"; + ROUT << "pie(c(" << std::to_string(geneIdx->total_exon-zero_exons) << ',' << std::to_string(zero_exons) << "),labels=c(\"Covered " << (geneIdx->total_exon - zero_exons) << " exons\",\"Uncovered\"),main=\"Exons\",radius=0.6,clockwise=T,col=c(\"blue\",\"white\"))\n"; + ROUT << "dev.state = dev.off()\n"; + } + ROUT.close(); + }catch(std::ofstream::failure e ){ + std::cout << "Error in writing plotting scripts.\n" << std::endl; + } + + main_res.insert_plot_file = main_inDist_prof.InnDist_fig_file; + main_res.insert_file = main_inDist_prof.InnDist_data_file; + + main_res.clipping_plot_file = main_clip_prof.clip_fig_file; + main_res.mapq_plot_file = main_clip_prof.mapq_fig_file; + main_res.mapq_file = main_clip_prof.mapq_data_file; + + //res.read_dup_plot_file = rDup_prof.plot_file + main_res.readLen_plot_file = main_clip_prof.readlen_fig_file; + + main_res.read_cov_plot_file = main_cov_prof.cov_fig_file; + main_res.geneCount_file = main_cov_prof.transcov_data_file; + main_res.trans_cov_plot_file = main_cov_prof.transcov_fig_file; + //res.seqDeDup_percent = rDup_prof.seqDeDup_percent + //res.posDeDup_percent = rDup_prof.posDeDup_percent + return main_res; +} + +int run_qc(char* out_dir, char* outfig_dir,char * ann_file, char* attrID, char* input_file,char* rRNA_file,char* label,int mapq,char* stranded,int thread_num) +{ + std::string gtf_fname (ann_file); + std::string id_attrID (attrID); + //std::string ifile (input_file); + std::string smp_name (label); + std::string strand_info (stranded); + std::string data_outdir (out_dir); + std::string fig_outdir (outfig_dir); + std::string smp_res_fname = data_outdir+smp_name+".res.txt"; + + //int thread_num = 1; + + std::string rRNA_fname (rRNA_file); + rRNA * rRNAIdx = NULL; + + GeneFeatures * geneIdx = new GeneFeatures(gtf_fname,id_attrID); + if (rRNA_fname != "") { + rRNAIdx = new rRNA(rRNA_fname); + } + Results res = QC(smp_name,geneIdx,rRNAIdx,input_file,data_outdir,fig_outdir,strand_info,thread_num,mapq); + + res.write(smp_res_fname); + + delete geneIdx; + delete rRNAIdx; + + return 1; +} + + + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/parseBAM.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/parseBAM.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,17 @@ +// +// parseBAM.h +// BAMQC_c++ +// +// Created by Ying Jin on 11/18/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#ifndef __BAMQC_c____parseBAM__ +#define __BAMQC_c____parseBAM__ + +#include + +extern "C" { +int run_qc(char* out_dir, char* outfig_dir,char * ann_file, char* attrID, char* input_file,char* rRNA_file,char* label,int maqp,char* stranded,int threadNum); +} +#endif /* defined(__BAMQC_c____parseBAM__) */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/rRNA.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/rRNA.cpp Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,230 @@ +// +// GeneFeatures.cpp +// BAMQC-0.5 +// +// Created by Ying Jin on 9/15/15. +// Copyright (c) 2015 Ying Jin. All rights reserved. +// + +#include "rRNA.h" +#include "Constants.h" + +#include +#include +#include +//#include +#include "stdlib.h" +#include +#include + + +rRNA::rRNA(std::string rRNAfilename){ + + read_features(rRNAfilename); + +} + +rRNA::~rRNA(){ + std::map::iterator it; + + for (it=featureIdxs_plus.begin(); it != featureIdxs_plus.end(); it++) { + IntervalTree *tmp = it->second; + delete tmp; + + } + for (it=featureIdxs_minus.begin(); it != featureIdxs_minus.end(); it++) { + IntervalTree *tmp = it->second; + delete tmp; + } + +} + +//Reading & processing annotation files +void rRNA::read_features(std::string rRNA_filename) +{ + + //dict of dicts since the builtin type doesn't support it for some reason + std::map > temp_plus ; + std::map > temp_minus ; + std::map >::iterator tmp_itr; + + int i = 0; + //int counts = 0 ; + int line_no = 0; + int start; + int end; + int idx = 0; + + std::ifstream input; //(gff_filename); + + try{ + input.open (rRNA_filename, std::ifstream::in); + + while(! input.eof()){ + + std::string line,chrom,feature,start_ss,end_ss,score,strand; + std::stringstream ss; + + if (! std::getline(input,line)){ break; } + line_no ++; + + if (line == "\n" || !line.compare(0,1,"#")) { continue; } + + ss << line; + std::getline(ss,chrom,'\t'); + std::getline(ss,start_ss,'\t'); + std::getline(ss,end_ss,'\t'); + std::getline(ss,feature,'\t'); + std::getline(ss,score,'\t'); + std::getline(ss,strand,'\t'); + + try{ + start = std::stol(start_ss); + end = std::stol(end_ss); + } + catch (const std::invalid_argument& ia) { + std::cerr << "Invalid argument: " << ia.what() << '\n'; + std::exit(1); + + } + + if (strand == "+" ){ + tmp_itr = temp_plus.find(chrom); + if (tmp_itr != temp_plus.end()) { + std::vector *tmp_ptr = &(tmp_itr->second); + //(*tmp_ptr).push_back(Interval(feature,-1,start,end,"rRNA")); + (*tmp_ptr).push_back(Interval(idx,-1,start,end,RRNA)); + idx++; + } + else{ + std::vector tmp ; + tmp.push_back(Interval(idx,-1,start,end,RRNA)); + + temp_plus.insert(std::pair >(chrom,tmp)); + idx++; + } + } + + if (strand == "-" ) { + + tmp_itr = temp_minus.find(chrom); + if (tmp_itr != temp_minus.end()) { + std::vector *tmp_ptr = &(tmp_itr->second); + (*tmp_ptr).push_back(Interval(idx,-1,start,end,RRNA)); + idx++; + } + else{ + std::vector tmp ; + tmp.push_back(Interval(idx,-1,start,end,RRNA)); + + temp_minus.insert(std::pair >(chrom,tmp)); + idx++; + } + } + + i += 1 ; + if (i % 100000 == 0 ) + { + //sys.stderr.write("%d GTF lines processed.\n" % i); + std::cout << i << " rRNA lines processed." << std::endl; + } + + } + + input.close(); + } + catch(std::ifstream::failure e){ + std::cout << "error in read file " << rRNA_filename << std::endl; + } + //build interval trees + + + for (tmp_itr = temp_plus.begin(); tmp_itr != temp_plus.end(); tmp_itr++) { + std::string chr = tmp_itr->first; + std::vector itemlist = tmp_itr->second; + + std::sort(itemlist.begin(),itemlist.end(),itv_comp) ; + + featureIdxs_plus[chr] = new IntervalTree(itemlist); + } + + for (tmp_itr = temp_minus.begin(); tmp_itr != temp_minus.end(); tmp_itr++) { + std::string chr = tmp_itr->first; + + std::vector itemlist = tmp_itr->second; + + std::sort(itemlist.begin(),itemlist.end(),itv_comp) ; + + featureIdxs_minus[chr] = new IntervalTree(itemlist); + } + + +} + +//find exons of given gene that overlap with the given intervals +//return list of tuples +bool rRNA::is_rRNA(std::string chrom, std::vector > itv_list,std::string strand) +{ + std::vector rRNAs; + std::vector fs ; + std::map::iterator chrom_it; + size_t i; + if (strand == "+" || strand == ".") { + chrom_it = featureIdxs_plus.find(chrom); + if (chrom_it != featureIdxs_plus.end()) { + + for (i=0; i < itv_list.size(); i ++) { + //std::cout << "start to search tree" << std::endl; + fs = (*featureIdxs_plus[chrom]).find(itv_list[i].first,itv_list[i].second); + //} + } + } + } + + if (strand == "-" or strand == ".") { + chrom_it = featureIdxs_minus.find(chrom); + if (chrom_it != featureIdxs_minus.end()) { + + for (i=0; i < itv_list.size(); i ++) { + std::vector tmp = (*featureIdxs_minus[chrom]).find(itv_list[i].first,itv_list[i].second); + + fs.insert(fs.end(),tmp.begin(),tmp.end()); + } + + } + } + + //std::cout << fs.size() << std::endl; + if (fs.size() > 0 ) { + return true; + } + else{ + return false; + } + +} +/* +int main() { + std::string filename = "./test.bed"; + std::string id_attr = "gene_id"; + + std::vector itv_list ; + chr_ITV exp ; + exp.chrom = "chr1"; + exp.start = 11870; + exp.end = 73220; + itv_list.push_back(exp); + + std::cout << "start to build tree " << std::endl; + rRNA gIdx (filename); + std::cout << "after build tree " << std::endl; + + // for (int i=0; i < itv_list.size(); i++) { + // std::cout << itv_list[i].start << std::endl; + //} + bool res = gIdx.is_rRNA(itv_list,"."); + //for (int i=0;i +#include +#include +#include +#include + +#include "IntervalTree.h" +#include "GeneFeatures.h" + + +class rRNA{ + +public: + + std::map featureIdxs_plus ; + std::map featureIdxs_minus ; + + rRNA(std::string rRNAfilename); + ~rRNA(); + + bool is_rRNA(std::string chrom,std::vector > itv_list,std::string strand); + +private: + void read_features(std::string rRNA_filename) ; + //void build_tree(std::map > temp_plus, std::map > temp_minus); + +}; + + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/ezBAMQC/sam.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/ezBAMQC/sam.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,426 @@ +/* sam.h -- SAM and BAM file I/O and manipulation. + + Copyright (C) 2008, 2009, 2013-2014 Genome Research Ltd. + Copyright (C) 2010, 2012, 2013 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_SAM_H +#define HTSLIB_SAM_H + +#include +#include "hts.h" + +/********************** + *** SAM/BAM header *** + **********************/ + +/*! @typedef + @abstract Structure for the alignment header. + @field n_targets number of reference sequences + @field l_text length of the plain text in the header + @field target_len lengths of the reference sequences + @field target_name names of the reference sequences + @field text plain text + @field sdict header dictionary + */ + +typedef struct { + int32_t n_targets, ignore_sam_err; + uint32_t l_text; + uint32_t *target_len; + int8_t *cigar_tab; + char **target_name; + char *text; + void *sdict; +} bam_hdr_t; + +/**************************** + *** CIGAR related macros *** + ****************************/ + +#define BAM_CMATCH 0 +#define BAM_CINS 1 +#define BAM_CDEL 2 +#define BAM_CREF_SKIP 3 +#define BAM_CSOFT_CLIP 4 +#define BAM_CHARD_CLIP 5 +#define BAM_CPAD 6 +#define BAM_CEQUAL 7 +#define BAM_CDIFF 8 +#define BAM_CBACK 9 + +#define BAM_CIGAR_STR "MIDNSHP=XB" +#define BAM_CIGAR_SHIFT 4 +#define BAM_CIGAR_MASK 0xf +#define BAM_CIGAR_TYPE 0x3C1A7 + +#define bam_cigar_op(c) ((c)&BAM_CIGAR_MASK) +#define bam_cigar_oplen(c) ((c)>>BAM_CIGAR_SHIFT) +#define bam_cigar_opchr(c) (BAM_CIGAR_STR[bam_cigar_op(c)]) +#define bam_cigar_gen(l, o) ((l)<>((o)<<1)&3) // bit 1: consume query; bit 2: consume reference + +/*! @abstract the read is paired in sequencing, no matter whether it is mapped in a pair */ +#define BAM_FPAIRED 1 +/*! @abstract the read is mapped in a proper pair */ +#define BAM_FPROPER_PAIR 2 +/*! @abstract the read itself is unmapped; conflictive with BAM_FPROPER_PAIR */ +#define BAM_FUNMAP 4 +/*! @abstract the mate is unmapped */ +#define BAM_FMUNMAP 8 +/*! @abstract the read is mapped to the reverse strand */ +#define BAM_FREVERSE 16 +/*! @abstract the mate is mapped to the reverse strand */ +#define BAM_FMREVERSE 32 +/*! @abstract this is read1 */ +#define BAM_FREAD1 64 +/*! @abstract this is read2 */ +#define BAM_FREAD2 128 +/*! @abstract not primary alignment */ +#define BAM_FSECONDARY 256 +/*! @abstract QC failure */ +#define BAM_FQCFAIL 512 +/*! @abstract optical or PCR duplicate */ +#define BAM_FDUP 1024 +/*! @abstract supplementary alignment */ +#define BAM_FSUPPLEMENTARY 2048 + +/************************* + *** Alignment records *** + *************************/ + +/*! @typedef + @abstract Structure for core alignment information. + @field tid chromosome ID, defined by bam_hdr_t + @field pos 0-based leftmost coordinate + @field bin bin calculated by bam_reg2bin() + @field qual mapping quality + @field l_qname length of the query name + @field flag bitwise flag + @field n_cigar number of CIGAR operations + @field l_qseq length of the query sequence (read) + @field mtid chromosome ID of next read in template, defined by bam_hdr_t + @field mpos 0-based leftmost coordinate of next read in template + */ +typedef struct { + int32_t tid; + int32_t pos; + uint32_t bin:16, qual:8, l_qname:8; + uint32_t flag:16, n_cigar:16; + int32_t l_qseq; + int32_t mtid; + int32_t mpos; + int32_t isize; +} bam1_core_t; + +/*! @typedef + @abstract Structure for one alignment. + @field core core information about the alignment + @field l_data current length of bam1_t::data + @field m_data maximum length of bam1_t::data + @field data all variable-length data, concatenated; structure: qname-cigar-seq-qual-aux + + @discussion Notes: + + 1. qname is zero tailing and core.l_qname includes the tailing '\0'. + 2. l_qseq is calculated from the total length of an alignment block + on reading or from CIGAR. + 3. cigar data is encoded 4 bytes per CIGAR operation. + 4. seq is nybble-encoded according to bam_nt16_table. + */ +typedef struct { + bam1_core_t core; + int l_data, m_data; + uint8_t *data; +#ifndef BAM_NO_ID + uint64_t id; +#endif +} bam1_t; + +/*! @function + @abstract Get whether the query is on the reverse strand + @param b pointer to an alignment + @return boolean true if query is on the reverse strand + */ +#define bam_is_rev(b) (((b)->core.flag&BAM_FREVERSE) != 0) +/*! @function + @abstract Get whether the query's mate is on the reverse strand + @param b pointer to an alignment + @return boolean true if query's mate on the reverse strand + */ +#define bam_is_mrev(b) (((b)->core.flag&BAM_FMREVERSE) != 0) +/*! @function + @abstract Get the name of the query + @param b pointer to an alignment + @return pointer to the name string, null terminated + */ +#define bam_get_qname(b) ((char*)(b)->data) +/*! @function + @abstract Get the CIGAR array + @param b pointer to an alignment + @return pointer to the CIGAR array + + @discussion In the CIGAR array, each element is a 32-bit integer. The + lower 4 bits gives a CIGAR operation and the higher 28 bits keep the + length of a CIGAR. + */ +#define bam_get_cigar(b) ((uint32_t*)((b)->data + (b)->core.l_qname)) +/*! @function + @abstract Get query sequence + @param b pointer to an alignment + @return pointer to sequence + + @discussion Each base is encoded in 4 bits: 1 for A, 2 for C, 4 for G, + 8 for T and 15 for N. Two bases are packed in one byte with the base + at the higher 4 bits having smaller coordinate on the read. It is + recommended to use bam_seqi() macro to get the base. + */ +#define bam_get_seq(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname) +/*! @function + @abstract Get query quality + @param b pointer to an alignment + @return pointer to quality string + */ +#define bam_get_qual(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1)) +/*! @function + @abstract Get auxiliary data + @param b pointer to an alignment + @return pointer to the concatenated auxiliary data + */ +#define bam_get_aux(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1) + (b)->core.l_qseq) +/*! @function + @abstract Get length of auxiliary data + @param b pointer to an alignment + @return length of the concatenated auxiliary data + */ +#define bam_get_l_aux(b) ((b)->l_data - ((b)->core.n_cigar<<2) - (b)->core.l_qname - (b)->core.l_qseq - (((b)->core.l_qseq + 1)>>1)) +/*! @function + @abstract Get a base on read + @param s Query sequence returned by bam_get_seq() + @param i The i-th position, 0-based + @return 4-bit integer representing the base. + */ +#define bam_seqi(s, i) ((s)[(i)>>1] >> ((~(i)&1)<<2) & 0xf) + +/************************** + *** Exported functions *** + **************************/ + +#ifdef __cplusplus +extern "C" { +#endif + + /*************** + *** BAM I/O *** + ***************/ + + bam_hdr_t *bam_hdr_init(void); + bam_hdr_t *bam_hdr_read(BGZF *fp); + int bam_hdr_write(BGZF *fp, const bam_hdr_t *h); + void bam_hdr_destroy(bam_hdr_t *h); + int bam_name2id(bam_hdr_t *h, const char *ref); + bam_hdr_t* bam_hdr_dup(const bam_hdr_t *h0); + + bam1_t *bam_init1(void); + void bam_destroy1(bam1_t *b); + int bam_read1(BGZF *fp, bam1_t *b); + int bam_write1(BGZF *fp, const bam1_t *b); + bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc); + bam1_t *bam_dup1(const bam1_t *bsrc); + + int bam_cigar2qlen(int n_cigar, const uint32_t *cigar); + int bam_cigar2rlen(int n_cigar, const uint32_t *cigar); + + /*! + @abstract Calculate the rightmost base position of an alignment on the + reference genome. + + @param b pointer to an alignment + @return the coordinate of the first base after the alignment, 0-based + + @discussion For a mapped read, this is just b->core.pos + bam_cigar2rlen. + For an unmapped read (either according to its flags or if it has no cigar + string), we return b->core.pos + 1 by convention. + */ + int32_t bam_endpos(const bam1_t *b); + + int bam_str2flag(const char *str); /** returns negative value on error */ + char *bam_flag2str(int flag); /** The string must be freed by the user */ + + /************************* + *** BAM/CRAM indexing *** + *************************/ + + // These BAM iterator functions work only on BAM files. To work with either + // BAM or CRAM files use the sam_index_load() & sam_itr_*() functions. + #define bam_itr_destroy(iter) hts_itr_destroy(iter) + #define bam_itr_queryi(idx, tid, beg, end) sam_itr_queryi(idx, tid, beg, end) + #define bam_itr_querys(idx, hdr, region) sam_itr_querys(idx, hdr, region) + #define bam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), 0) + + // Load .csi or .bai BAM index file. + #define bam_index_load(fn) hts_idx_load((fn), HTS_FMT_BAI) + + int bam_index_build(const char *fn, int min_shift); + + // Load BAM (.csi or .bai) or CRAM (.crai) index file. + hts_idx_t *sam_index_load(htsFile *fp, const char *fn); + + #define sam_itr_destroy(iter) hts_itr_destroy(iter) + hts_itr_t *sam_itr_queryi(const hts_idx_t *idx, int tid, int beg, int end); + hts_itr_t *sam_itr_querys(const hts_idx_t *idx, bam_hdr_t *hdr, const char *region); + #define sam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), (htsfp)) + + /*************** + *** SAM I/O *** + ***************/ + + #define sam_open(fn, mode) (hts_open((fn), (mode))) + #define sam_close(fp) hts_close(fp) + + int sam_open_mode(char *mode, const char *fn, const char *format); + + typedef htsFile samFile; + bam_hdr_t *sam_hdr_parse(int l_text, const char *text); + bam_hdr_t *sam_hdr_read(samFile *fp); + int sam_hdr_write(samFile *fp, const bam_hdr_t *h); + + int sam_parse1(kstring_t *s, bam_hdr_t *h, bam1_t *b); + int sam_format1(const bam_hdr_t *h, const bam1_t *b, kstring_t *str); + int sam_read1(samFile *fp, bam_hdr_t *h, bam1_t *b); + int sam_write1(samFile *fp, const bam_hdr_t *h, const bam1_t *b); + + /************************************* + *** Manipulating auxiliary fields *** + *************************************/ + + uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]); + int32_t bam_aux2i(const uint8_t *s); + double bam_aux2f(const uint8_t *s); + char bam_aux2A(const uint8_t *s); + char *bam_aux2Z(const uint8_t *s); + + void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data); + int bam_aux_del(bam1_t *b, uint8_t *s); + +#ifdef __cplusplus +} +#endif + +/************************** + *** Pileup and Mpileup *** + **************************/ + +#if !defined(BAM_NO_PILEUP) + +/*! @typedef + @abstract Structure for one alignment covering the pileup position. + @field b pointer to the alignment + @field qpos position of the read base at the pileup site, 0-based + @field indel indel length; 0 for no indel, positive for ins and negative for del + @field level the level of the read in the "viewer" mode + @field is_del 1 iff the base on the padded read is a deletion + @field is_head ??? + @field is_tail ??? + @field is_refskip ??? + @field aux ??? + + @discussion See also bam_plbuf_push() and bam_lplbuf_push(). The + difference between the two functions is that the former does not + set bam_pileup1_t::level, while the later does. Level helps the + implementation of alignment viewers, but calculating this has some + overhead. + */ +typedef struct { + bam1_t *b; + int32_t qpos; + int indel, level; + uint32_t is_del:1, is_head:1, is_tail:1, is_refskip:1, aux:28; +} bam_pileup1_t; + +typedef int (*bam_plp_auto_f)(void *data, bam1_t *b); + +struct __bam_plp_t; +typedef struct __bam_plp_t *bam_plp_t; + +struct __bam_mplp_t; +typedef struct __bam_mplp_t *bam_mplp_t; + +#ifdef __cplusplus +extern "C" { +#endif + + /** + * bam_plp_init() - sets an iterator over multiple + * @func: see mplp_func in bam_plcmd.c in samtools for an example. Expected return + * status: 0 on success, -1 on end, < -1 on non-recoverable errors + * @data: user data to pass to @func + */ + bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data); + void bam_plp_destroy(bam_plp_t iter); + int bam_plp_push(bam_plp_t iter, const bam1_t *b); + const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); + const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); + void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt); + void bam_plp_reset(bam_plp_t iter); + + bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data); + /** + * bam_mplp_init_overlaps() - if called, mpileup will detect overlapping + * read pairs and for each base pair set the base quality of the + * lower-quality base to zero, thus effectively discarding it from + * calling. If the two bases are identical, the quality of the other base + * is increased to the sum of their qualities (capped at 200), otherwise + * it is multiplied by 0.8. + */ + void bam_mplp_init_overlaps(bam_mplp_t iter); + void bam_mplp_destroy(bam_mplp_t iter); + void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt); + int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp); + +#ifdef __cplusplus +} +#endif + +#endif // ~!defined(BAM_NO_PILEUP) + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/INSTALL --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/INSTALL Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,79 @@ +Basic Installation +================== + +To build and install HTSlib, 'cd' to the htslib-1.x directory containing +the package's source and type the following commands: + + ./configure + make + make install + +The './configure' command checks your build environment and allows various +optional functionality to be enabled (see Configuration below). If you +don't want to select any optional functionality, you may wish to omit +configure and just type 'make; make install' as for previous versions +of HTSlib. However if the build fails you should run './configure' as +it can diagnose the common reasons for build failures. + +The 'make' command builds the HTSlib library and and various useful +utilities: bgzip, htsfile, and tabix. If compilation fails you should +run './configure' as it can diagnose problems with your build environment +that cause build failures. + +The 'make install' command installs the libraries, library header files, +utilities, several manual pages, and a pkgconfig file to /usr/local. +The installation location can be changed by configuring with --prefix=DIR +or via 'make prefix=DIR install' (see Installation Locations below). + + +Configuration +============= + +By default, './configure' examines your build environment, checking for +requirements such as the zlib development files, and arranges for a plain +HTSlib build. The following configure options can be used to enable +various features and specify further optional external requirements: + +--with-irods[=DIR] + Specifies the location of the iRODS client library to use to enable + access to data objects stored in iRODS () via file + paths like 'irods:DATAOBJ'. DIR is the base of an iRODS source tree + such that the library is present as DIR/lib/core/obj/libRodsAPI.* and + headers are present under DIR/lib/api/include and so on. If '=DIR' is + omitted, $IRODS_HOME will be used as a base directory. + +The configure script also accepts the usual options and environment variables +for tuning installation locations and compilers: type './configure --help' +for details. For example, + + ./configure CC=icc --prefix=/opt/icc-compiled + +would specify that HTSlib is to be built with icc and installed into bin, +lib, etc subdirectories under /opt/icc-compiled. + + +Installation Locations +====================== + +By default, 'make install' installs HTSlib libraries under /usr/local/lib, +HTSlib header files under /usr/local/include, utility programs under +/usr/local/bin, etc. (To be precise, the header files are installed within +a fixed 'htslib' subdirectory under the specified .../include location.) + +You can specify a different location to install HTSlib by configuring +with --prefix=DIR or specify locations for particular parts of HTSlib by +configuring with --libdir=DIR and so on. Type './configure --help' for +the full list of such install directory options. + +Alternatively you can specify different locations at install time by +typing 'make prefix=DIR install' or 'make libdir=DIR install' and so on. +Consult the list of prefix/exec_prefix/etc variables near the top of the +Makefile for the full list of such variables that can be overridden. + +You can also specify a staging area by typing 'make DESTDIR=DIR install', +possibly in conjunction with other --prefix or prefix=DIR settings. +For example, + + make DESTDIR=/tmp/staging prefix=/opt + +would install into bin, lib, etc subdirectories under /tmp/staging/opt. diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/LICENSE --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/LICENSE Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,69 @@ +[Files in this distribution outwith the cram/ subdirectory are distributed +according to the terms of the following MIT/Expat license.] + +The MIT/Expat License + +Copyright (C) 2012-2014 Genome Research Ltd. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. + + +[Files within the cram/ subdirectory in this distribution are distributed +according to the terms of the following Modified 3-Clause BSD license.] + +The Modified-BSD License + +Copyright (C) 2012-2014 Genome Research Ltd. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the names Genome Research Ltd and Wellcome Trust Sanger Institute + nor the names of its contributors may be used to endorse or promote products + derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR ITS CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +[The use of a range of years within a copyright notice in this distribution +should be interpreted as being equivalent to a list of years including the +first and last year specified and all consecutive years between them. + +For example, a copyright notice that reads "Copyright (C) 2005, 2007-2009, +2011-2012" should be interpreted as being identical to a notice that reads +"Copyright (C) 2005, 2007, 2008, 2009, 2011, 2012" and a copyright notice +that reads "Copyright (C) 2005-2012" should be interpreted as being identical +to a notice that reads "Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, +2011, 2012".] diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/Makefile --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/Makefile Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,386 @@ +# Makefile for htslib, a C library for high-throughput sequencing data formats. +# +# Copyright (C) 2013-2015 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +CC = gcc +AR = ar +RANLIB = ranlib + +CPPFLAGS = -I. +# TODO: probably update cram code to make it compile cleanly with -Wc++-compat +CFLAGS = -g -Wall -O2 +EXTRA_CFLAGS_PIC = -fPIC +LDFLAGS = +LDLIBS = + +# For now these don't work too well as samtools also needs to know to +# add -lbz2 and -llzma if linking against the static libhts.a library. +# TODO This needs configury and adding to htslib.pc.in. +# +# # Bzip2 support; optionally used by CRAM. +# HAVE_LIBBZ2 := $(shell echo -e "\#include \012int main(void){return 0;}" > .test.c && $(CC) $(CFLAGS) $(CPPFLAGS) -o .test .test.c -lbz2 2>/dev/null && echo yes) +# ifeq "$(HAVE_LIBBZ2)" "yes" +# CPPFLAGS += -DHAVE_LIBBZ2 +# LDLIBS += -lbz2 +# endif +# +# # Lzma support; optionally used by CRAM. +# HAVE_LIBLZMA := $(shell echo -e "\#include \012int main(void){return 0;}" > .test.c && $(CC) $(CFLAGS) $(CPPFLAGS) -o .test .test.c -llzma 2>/dev/null && echo yes) +# ifeq "$(HAVE_LIBLZMA)" "yes" +# CPPFLAGS += -DHAVE_LIBLZMA +# LDLIBS += -llzma +# endif + +prefix = /usr/local +exec_prefix = $(prefix) +bindir = $(exec_prefix)/bin +includedir = $(prefix)/include +libdir = $(exec_prefix)/lib +datarootdir = $(prefix)/share +mandir = $(datarootdir)/man +man1dir = $(mandir)/man1 +man5dir = $(mandir)/man5 +pkgconfigdir= $(libdir)/pkgconfig + +MKDIR_P = mkdir -p +INSTALL = install -p +INSTALL_PROGRAM = $(INSTALL) +INSTALL_DATA = $(INSTALL) -m 644 +INSTALL_DIR = $(MKDIR_P) -m 755 + +BUILT_PROGRAMS = \ + bgzip \ + htsfile \ + tabix + +BUILT_TEST_PROGRAMS = \ + test/fieldarith \ + test/hfile \ + test/sam \ + test/test-regidx \ + test/test_view \ + test/test-vcf-api \ + test/test-vcf-sweep + +all: lib-static lib-shared $(BUILT_PROGRAMS) $(BUILT_TEST_PROGRAMS) + +HTSPREFIX = +include htslib_vars.mk + +lib-static: libhts.a + +# $(shell), :=, and ifeq/.../endif are GNU Make-specific. If you don't have +# GNU Make, comment out the parts of this conditional that don't apply. +PLATFORM := $(shell uname -s) +ifeq "$(PLATFORM)" "Darwin" +SHLIB_FLAVOUR = dylib +lib-shared: libhts.dylib +else +SHLIB_FLAVOUR = so +lib-shared: libhts.so +endif + + +PACKAGE_VERSION = 1.2.1 +LIBHTS_SOVERSION = 1 + + +# $(NUMERIC_VERSION) is for items that must have a numeric X.Y.Z string +# even if this is a dirty or untagged Git working tree. +NUMERIC_VERSION = $(PACKAGE_VERSION) + +# If building from a Git repository, replace $(PACKAGE_VERSION) with the Git +# description of the working tree: either a release tag with the same value +# as $(PACKAGE_VERSION) above, or an exact description likely based on a tag. +# Much of this is also GNU Make-specific. If you don't have GNU Make and/or +# are not building from a Git repository, comment out this conditional. +ifneq "$(wildcard .git)" "" +original_version := $(PACKAGE_VERSION) +PACKAGE_VERSION := $(shell git describe --always --dirty) + +# Unless the Git description matches /\d*\.\d*(\.\d*)?/, i.e., is exactly a tag +# with a numeric name, revert $(NUMERIC_VERSION) to the original version number +# written above, but with the patchlevel field bumped to 255. +ifneq "$(subst ..,.,$(subst 0,,$(subst 1,,$(subst 2,,$(subst 3,,$(subst 4,,$(subst 5,,$(subst 6,,$(subst 7,,$(subst 8,,$(subst 9,,$(PACKAGE_VERSION))))))))))))" "." +empty := +NUMERIC_VERSION := $(subst $(empty) ,.,$(wordlist 1,2,$(subst ., ,$(original_version))) 255) +endif + +# Force version.h to be remade if $(PACKAGE_VERSION) has changed. +version.h: $(if $(wildcard version.h),$(if $(findstring "$(PACKAGE_VERSION)",$(shell cat version.h)),,force)) +endif + +version.h: + echo '#define HTS_VERSION "$(PACKAGE_VERSION)"' > $@ + +print-version: + @echo $(PACKAGE_VERSION) + + +.SUFFIXES: .c .o .pico + +.c.o: + $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $< + +.c.pico: + $(CC) $(CFLAGS) $(CPPFLAGS) $(EXTRA_CFLAGS_PIC) -c -o $@ $< + + +LIBHTS_OBJS = \ + kfunc.o \ + knetfile.o \ + kstring.o \ + bgzf.o \ + faidx.o \ + hfile.o \ + hfile_net.o \ + hts.o \ + regidx.o \ + sam.o \ + synced_bcf_reader.o \ + vcf_sweep.o \ + tbx.o \ + vcf.o \ + vcfutils.o \ + cram/cram_codecs.o \ + cram/cram_decode.o \ + cram/cram_encode.o \ + cram/cram_index.o \ + cram/cram_io.o \ + cram/cram_samtools.o \ + cram/cram_stats.o \ + cram/files.o \ + cram/mFILE.o \ + cram/md5.o \ + cram/open_trace_file.o \ + cram/pooled_alloc.o \ + cram/rANS_static.o \ + cram/sam_header.o \ + cram/string_alloc.o \ + cram/thread_pool.o \ + cram/vlen.o \ + cram/zfio.o + +cram_h = cram/cram.h $(cram_samtools_h) $(cram_sam_header_h) $(cram_structs_h) $(cram_io_h) cram/cram_encode.h cram/cram_decode.h cram/cram_stats.h cram/cram_codecs.h cram/cram_index.h +cram_io_h = cram/cram_io.h $(cram_misc_h) +cram_misc_h = cram/misc.h cram/os.h +cram_sam_header_h = cram/sam_header.h cram/string_alloc.h cram/pooled_alloc.h htslib/khash.h htslib/kstring.h +cram_samtools_h = cram/cram_samtools.h $(htslib_sam_h) $(cram_sam_header_h) +cram_structs_h = cram/cram_structs.h cram/thread_pool.h cram/string_alloc.h htslib/khash.h +cram_open_trace_file_h = cram/open_trace_file.h cram/mFILE.h +hfile_internal_h = hfile_internal.h $(htslib_hfile_h) + + +# To be effective, config.mk needs to appear after most Makefile variables are +# set but before most rules appear, so that it can both use previously-set +# variables in its own rules' prerequisites and also update variables for use +# in later rules' prerequisites. + +# sinclude is GNU Make-specific. If you don't have GNU Make or another make +# that understands sinclude, change this to 'include' if you are using the +# configure script or just comment the line out if you are not. +sinclude config.mk + + +libhts.a: $(LIBHTS_OBJS:.o=.pico) + @-rm -f $@ + $(AR) -rc $@ $(LIBHTS_OBJS:.o=.pico) + -$(RANLIB) $@ + + +# The target here is libhts.so, as that is the built file that other rules +# depend upon and that is used when -lhts appears in other program's recipes. +# As a byproduct invisible to make, libhts.so.NN is also created, as it is the +# file used at runtime (when $LD_LIBRARY_PATH includes the build directory). + +libhts.so: $(LIBHTS_OBJS:.o=.pico) + $(CC) -shared -Wl,-soname,libhts.so.$(LIBHTS_SOVERSION) -pthread $(LDFLAGS) -o $@ $(LIBHTS_OBJS:.o=.pico) $(LDLIBS) -lz -lm + ln -sf $@ libhts.so.$(LIBHTS_SOVERSION) + +# Similarly this also creates libhts.NN.dylib as a byproduct, so that programs +# when run can find this uninstalled shared library (when $DYLD_LIBRARY_PATH +# includes this project's build directory). + +libhts.dylib: $(LIBHTS_OBJS) + $(CC) -dynamiclib -install_name $(libdir)/libhts.$(LIBHTS_SOVERSION).dylib -current_version $(NUMERIC_VERSION) -compatibility_version $(LIBHTS_SOVERSION) $(LDFLAGS) -o $@ $(LIBHTS_OBJS) $(LDLIBS) -lz + ln -sf $@ libhts.$(LIBHTS_SOVERSION).dylib + + +bgzf.o bgzf.pico: bgzf.c $(htslib_hts_h) $(htslib_bgzf_h) $(htslib_hfile_h) htslib/khash.h +kstring.o kstring.pico: kstring.c htslib/kstring.h +knetfile.o knetfile.pico: knetfile.c htslib/knetfile.h +hfile.o hfile.pico: hfile.c $(htslib_hfile_h) $(hfile_internal_h) +hfile_irods.o hfile_irods.pico: hfile_irods.c $(hfile_internal_h) +hfile_net.o hfile_net.pico: hfile_net.c $(hfile_internal_h) htslib/knetfile.h +hts.o hts.pico: hts.c version.h $(htslib_hts_h) $(htslib_bgzf_h) $(cram_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/ksort.h +vcf.o vcf.pico: vcf.c $(htslib_vcf_h) $(htslib_bgzf_h) $(htslib_tbx_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/kstring.h +sam.o sam.pico: sam.c $(htslib_sam_h) $(htslib_bgzf_h) $(cram_h) $(htslib_hfile_h) htslib/khash.h htslib/kseq.h htslib/kstring.h +tbx.o tbx.pico: tbx.c $(htslib_tbx_h) $(htslib_bgzf_h) htslib/khash.h +faidx.o faidx.pico: faidx.c $(htslib_bgzf_h) $(htslib_faidx_h) $(htslib_hfile_h) htslib/khash.h +synced_bcf_reader.o synced_bcf_reader.pico: synced_bcf_reader.c $(htslib_synced_bcf_reader_h) htslib/kseq.h htslib/khash_str2int.h +vcf_sweep.o vcf_sweep.pico: vcf_sweep.c $(htslib_vcf_sweep_h) $(htslib_bgzf_h) +vcfutils.o vcfutils.pico: vcfutils.c $(htslib_vcfutils_h) +kfunc.o kfunc.pico: kfunc.c htslib/kfunc.h +regidx.o regidx.pico: regidx.c $(htslib_hts_h) $(HTSPREFIX)htslib/kstring.h $(HTSPREFIX)htslib/kseq.h $(HTSPREFIX)htslib/khash_str2int.h $(htslib_regidx_h) + +cram/cram_codecs.o cram/cram_codecs.pico: cram/cram_codecs.c $(cram_h) +cram/cram_decode.o cram/cram_decode.pico: cram/cram_decode.c $(cram_h) cram/os.h cram/md5.h +cram/cram_encode.o cram/cram_encode.pico: cram/cram_encode.c $(cram_h) cram/os.h cram/md5.h +cram/cram_index.o cram/cram_index.pico: cram/cram_index.c $(htslib_hfile_h) $(cram_h) cram/os.h cram/zfio.h +cram/cram_io.o cram/cram_io.pico: cram/cram_io.c $(cram_h) cram/os.h cram/md5.h $(cram_open_trace_file_h) cram/rANS_static.h $(htslib_hfile_h) +cram/cram_samtools.o cram/cram_samtools.pico: cram/cram_samtools.c $(cram_h) $(htslib_sam_h) +cram/cram_stats.o cram/cram_stats.pico: cram/cram_stats.c $(cram_h) cram/os.h +cram/files.o cram/files.pico: cram/files.c $(cram_misc_h) +cram/mFILE.o cram/mFILE.pico: cram/mFILE.c cram/os.h cram/mFILE.h cram/vlen.h +cram/md5.o cram/md5.pico: cram/md5.c cram/md5.h +cram/open_trace_file.o cram/open_trace_file.pico: cram/open_trace_file.c $(cram_open_trace_file_h) $(cram_misc_h) $(htslib_hfile_h) +cram/pooled_alloc.o cram/pooled_alloc.pico: cram/pooled_alloc.c cram/pooled_alloc.h +cram/rANS_static.o cram/rANS_static.pico: cram/rANS_static.c cram/rANS_static.h cram/rANS_byte.h +cram/sam_header.o cram/sam_header.pico: cram/sam_header.c $(cram_sam_header_h) cram/string_alloc.h +cram/string_alloc.o cram/string_alloc.pico: cram/string_alloc.c cram/string_alloc.h +cram/thread_pool.o cram/thread_pool.pico: cram/thread_pool.c cram/thread_pool.h +cram/vlen.o cram/vlen.pico: cram/vlen.c cram/vlen.h cram/os.h +cram/zfio.o cram/zfio.pico: cram/zfio.c cram/os.h cram/zfio.h + + +bgzip: bgzip.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ bgzip.o libhts.a $(LDLIBS) -lz + +htsfile: htsfile.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ htsfile.o libhts.a $(LDLIBS) -lz + +tabix: tabix.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ tabix.o libhts.a $(LDLIBS) -lz + +bgzip.o: bgzip.c $(htslib_bgzf_h) $(htslib_hts_h) +htsfile.o: htsfile.c $(htslib_hfile_h) $(htslib_hts_h) $(htslib_sam_h) $(htslib_vcf_h) +tabix.o: tabix.c $(htslib_tbx_h) $(htslib_sam_h) $(htslib_vcf_h) htslib/kseq.h $(htslib_bgzf_h) $(htslib_hts_h) + + +# For tests that might use it, set $REF_PATH explicitly to use only reference +# areas within the test suite (or set it to ':' to use no reference areas). +check test: $(BUILT_TEST_PROGRAMS) + test/fieldarith test/fieldarith.sam + test/hfile + test/sam test/ce.fa + test/test-regidx + cd test && REF_PATH=: ./test_view.pl + cd test && ./test.pl + +test/fieldarith: test/fieldarith.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/fieldarith.o libhts.a $(LDLIBS) -lz + +test/hfile: test/hfile.o libhts.a + $(CC) $(LDFLAGS) -o $@ test/hfile.o libhts.a $(LDLIBS) -lz + +test/sam: test/sam.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/sam.o libhts.a $(LDLIBS) -lz + +test/test-regidx: test/test-regidx.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/test-regidx.o libhts.a $(LDLIBS) -lz + +test/test_view: test/test_view.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/test_view.o libhts.a $(LDLIBS) -lz + +test/test-vcf-api: test/test-vcf-api.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/test-vcf-api.o libhts.a $(LDLIBS) -lz + +test/test-vcf-sweep: test/test-vcf-sweep.o libhts.a + $(CC) -pthread $(LDFLAGS) -o $@ test/test-vcf-sweep.o libhts.a $(LDLIBS) -lz + +test/fieldarith.o: test/fieldarith.c $(htslib_sam_h) +test/hfile.o: test/hfile.c $(htslib_hfile_h) $(htslib_hts_defs_h) +test/test-regidx.o: test/test-regidx.c $(htslib_regidx_h) +test/sam.o: test/sam.c $(htslib_sam_h) $(htslib_faidx_h) htslib/kstring.h +test/test_view.o: test/test_view.c $(cram_h) $(htslib_sam_h) +test/test-vcf-api.o: test/test-vcf-api.c $(htslib_hts_h) $(htslib_vcf_h) htslib/kstring.h +test/test-vcf-sweep.o: test/test-vcf-sweep.c $(htslib_vcf_sweep_h) + + +install: libhts.a $(BUILT_PROGRAMS) installdirs install-$(SHLIB_FLAVOUR) install-pkgconfig + $(INSTALL_PROGRAM) $(BUILT_PROGRAMS) $(DESTDIR)$(bindir) + $(INSTALL_DATA) htslib/*.h $(DESTDIR)$(includedir)/htslib + $(INSTALL_DATA) libhts.a $(DESTDIR)$(libdir)/libhts.a + $(INSTALL_DATA) htsfile.1 tabix.1 $(DESTDIR)$(man1dir) + $(INSTALL_DATA) faidx.5 sam.5 vcf.5 $(DESTDIR)$(man5dir) + +installdirs: + $(INSTALL_DIR) $(DESTDIR)$(bindir) $(DESTDIR)$(includedir) $(DESTDIR)$(includedir)/htslib $(DESTDIR)$(libdir) $(DESTDIR)$(man1dir) $(DESTDIR)$(man5dir) $(DESTDIR)$(pkgconfigdir) + +# After installation, the real file in $(libdir) will be libhts.so.X.Y.Z, +# with symlinks libhts.so (used via -lhts during linking of client programs) +# and libhts.so.NN (used by client executables at runtime). + +install-so: libhts.so installdirs + $(INSTALL_DATA) libhts.so $(DESTDIR)$(libdir)/libhts.so.$(PACKAGE_VERSION) + ln -sf libhts.so.$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libhts.so + ln -sf libhts.so.$(PACKAGE_VERSION) $(DESTDIR)$(libdir)/libhts.so.$(LIBHTS_SOVERSION) + +install-dylib: libhts.dylib installdirs + $(INSTALL_PROGRAM) libhts.dylib $(DESTDIR)$(libdir)/libhts.$(PACKAGE_VERSION).dylib + ln -sf libhts.$(PACKAGE_VERSION).dylib $(DESTDIR)$(libdir)/libhts.dylib + ln -sf libhts.$(PACKAGE_VERSION).dylib $(DESTDIR)$(libdir)/libhts.$(LIBHTS_SOVERSION).dylib + +# Substitute these pseudo-autoconf variables only at install time +# so that "make install prefix=/prefix/path" etc continue to work. +install-pkgconfig: installdirs + sed -e 's#@includedir@#$(includedir)#g;s#@libdir@#$(libdir)#g;s#@PACKAGE_VERSION@#$(PACKAGE_VERSION)#g' htslib.pc.in > $(DESTDIR)$(pkgconfigdir)/htslib.pc + chmod 644 $(DESTDIR)$(pkgconfigdir)/htslib.pc + +# A pkg-config file (suitable for copying to $PKG_CONFIG_PATH) that provides +# flags for building against the uninstalled library in this build directory. +htslib-uninstalled.pc: htslib.pc.in + sed -e 's#@includedir@#'`pwd`'#g;s#@libdir@#'`pwd`'#g' htslib.pc.in > $@ + + +testclean: + -rm -f test/*.tmp test/*.tmp.* + +mostlyclean: testclean + -rm -f *.o *.pico cram/*.o cram/*.pico test/*.o test/*.dSYM version.h + +clean: mostlyclean clean-$(SHLIB_FLAVOUR) + -rm -f libhts.a $(BUILT_PROGRAMS) $(BUILT_TEST_PROGRAMS) + +distclean: clean + -rm -f config.cache config.log config.mk config.status + -rm -f TAGS *-uninstalled.pc + +clean-so: + -rm -f libhts.so libhts.so.* + +clean-dylib: + -rm -f libhts.dylib libhts.*.dylib + + +tags: + ctags -f TAGS *.[ch] cram/*.[ch] htslib/*.h + + +force: + + +.PHONY: all check clean distclean force install install-pkgconfig installdirs +.PHONY: lib-shared lib-static mostlyclean print-version tags test testclean +.PHONY: clean-so install-so +.PHONY: clean-dylib install-dylib diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/NEWS --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/NEWS Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,50 @@ +Noteworthy changes in release 1.2.1 (3 February 2015) + +* Reinstated hts_file_type() and FT_* macros, which were available until 1.1 + but briefly removed in 1.2. This function is deprecated and will be removed + in a future release -- you should use hts_detect_format() etc instead + + +Noteworthy changes in release 1.2 (2 February 2015) + +* HTSlib now has a configure script which checks your build environment + and allows for selection of optional extras. See INSTALL for details + +* By default, reference sequences are fetched from the EBI CRAM Reference + Registry and cached in your $HOME cache directory. This behaviour can + be controlled by setting REF_PATH and REF_CACHE enviroment variables + (see the samtools(1) man page for details) + +* Numerous CRAM improvements: + - Support for CRAM v3.0, an upcoming revision to CRAM supporting + better compression and per-container checksums + - EOF checking for v2.1 and v3.0 (similar to checking BAM EOF blocks) + - Non-standard values for PNEXT and TLEN fields are now preserved + - hts_set_fai_filename() now provides a reference file when encoding + - Generated read names are now numbered from 1, rather than being + labelled 'slice:record-in-slice' + - Multi-threading and speed improvements + +* New htsfile command for identifying file formats, and corresponding + file format detection APIs + +* New tabix --regions FILE, --targets FILE options for filtering via BED files + +* Optional iRODS file access, disabled by default. Configure with --with-irods + to enable accessing iRODS data objects directly via 'irods:DATAOBJ' + +* All occurences of 2^29 in the source have been eliminated, so indexing + and querying against reference sequences larger than 512Mbp works (when + using CSI indices) + +* Support for plain GZIP compression in various places + +* VCF header editing speed improvements + +* Added seq_nt16_int[] (equivalent to the samtools API's bam_nt16_nt4_table) + +* Reinstated faidx_fetch_nseq(), which was accidentally removed from 1.1. + Now faidx_fetch_nseq() and faidx_nseq() are equivalent; eventually + faidx_fetch_nseq() will be deprecated and removed [#156] + +* Fixed bugs #141, #152, #155, #158, #159, and various memory leaks diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/README --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/README Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +HTSlib is an implementation of a unified C library for accessing common file +formats, such as SAM, CRAM, VCF, and BCF, used for high-throughput sequencing +data. It is the core library used by samtools and bcftools. + +See INSTALL for building and installation instructions. diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/bgzf.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/bgzf.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1124 @@ +/* The MIT License + + Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology + 2011, 2012 Attractive Chaos + Copyright (C) 2009, 2013, 2014 Genome Research Ltd + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "htslib/hts.h" +#include "htslib/bgzf.h" +#include "htslib/hfile.h" + +#define BGZF_CACHE +#define BGZF_MT + +#define BLOCK_HEADER_LENGTH 18 +#define BLOCK_FOOTER_LENGTH 8 + + +/* BGZF/GZIP header (speciallized from RFC 1952; little endian): + +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + | 31|139| 8| 4| 0| 0|255| 6| 66| 67| 2|BLK_LEN| + +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+ + BGZF extension: + ^ ^ ^ ^ + | | | | + FLG.EXTRA XLEN B C + + BGZF format is compatible with GZIP. It limits the size of each compressed + block to 2^16 bytes and adds and an extra "BC" field in the gzip header which + records the size. + +*/ +static const uint8_t g_magic[19] = "\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\0\0"; + +#ifdef BGZF_CACHE +typedef struct { + int size; + uint8_t *block; + int64_t end_offset; +} cache_t; +#include "htslib/khash.h" +KHASH_MAP_INIT_INT64(cache, cache_t) +#endif + +typedef struct +{ + uint64_t uaddr; // offset w.r.t. uncompressed data + uint64_t caddr; // offset w.r.t. compressed data +} +bgzidx1_t; + +struct __bgzidx_t +{ + int noffs, moffs; // the size of the index, n:used, m:allocated + bgzidx1_t *offs; // offsets + uint64_t ublock_addr; // offset of the current block (uncompressed data) +}; + +void bgzf_index_destroy(BGZF *fp); +int bgzf_index_add_block(BGZF *fp); + +static inline void packInt16(uint8_t *buffer, uint16_t value) +{ + buffer[0] = value; + buffer[1] = value >> 8; +} + +static inline int unpackInt16(const uint8_t *buffer) +{ + return buffer[0] | buffer[1] << 8; +} + +static inline void packInt32(uint8_t *buffer, uint32_t value) +{ + buffer[0] = value; + buffer[1] = value >> 8; + buffer[2] = value >> 16; + buffer[3] = value >> 24; +} + +static BGZF *bgzf_read_init(hFILE *hfpr) +{ + BGZF *fp; + uint8_t magic[18]; + ssize_t n = hpeek(hfpr, magic, 18); + if (n < 0) return NULL; + + fp = (BGZF*)calloc(1, sizeof(BGZF)); + if (fp == NULL) return NULL; + + fp->is_write = 0; + fp->is_compressed = (n==2 && magic[0]==0x1f && magic[1]==0x8b); + fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE); + fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE); + fp->is_compressed = (n==18 && magic[0]==0x1f && magic[1]==0x8b) ? 1 : 0; + fp->is_gzip = ( !fp->is_compressed || ((magic[3]&4) && memcmp(&magic[12], "BC\2\0",4)==0) ) ? 0 : 1; +#ifdef BGZF_CACHE + fp->cache = kh_init(cache); +#endif + return fp; +} + +// get the compress level from the mode string: compress_level==-1 for the default level, -2 plain uncompressed +static int mode2level(const char *__restrict mode) +{ + int i, compress_level = -1; + for (i = 0; mode[i]; ++i) + if (mode[i] >= '0' && mode[i] <= '9') break; + if (mode[i]) compress_level = (int)mode[i] - '0'; + if (strchr(mode, 'u')) compress_level = -2; + return compress_level; +} +static BGZF *bgzf_write_init(const char *mode) +{ + BGZF *fp; + fp = (BGZF*)calloc(1, sizeof(BGZF)); + fp->is_write = 1; + int compress_level = mode2level(mode); + if ( compress_level==-2 ) + { + fp->is_compressed = 0; + return fp; + } + fp->is_compressed = 1; + fp->uncompressed_block = malloc(BGZF_MAX_BLOCK_SIZE); + fp->compressed_block = malloc(BGZF_MAX_BLOCK_SIZE); + fp->compress_level = compress_level < 0? Z_DEFAULT_COMPRESSION : compress_level; // Z_DEFAULT_COMPRESSION==-1 + if (fp->compress_level > 9) fp->compress_level = Z_DEFAULT_COMPRESSION; + if ( strchr(mode,'g') ) + { + // gzip output + fp->is_gzip = 1; + fp->gz_stream = (z_stream*)calloc(1,sizeof(z_stream)); + fp->gz_stream->zalloc = NULL; + fp->gz_stream->zfree = NULL; + if ( deflateInit2(fp->gz_stream, fp->compress_level, Z_DEFLATED, 15|16, 8, Z_DEFAULT_STRATEGY)!=Z_OK ) return NULL; + } + return fp; +} + +BGZF *bgzf_open(const char *path, const char *mode) +{ + BGZF *fp = 0; + assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); + if (strchr(mode, 'r')) { + hFILE *fpr; + if ((fpr = hopen(path, mode)) == 0) return 0; + fp = bgzf_read_init(fpr); + if (fp == 0) { hclose_abruptly(fpr); return NULL; } + fp->fp = fpr; + } else if (strchr(mode, 'w') || strchr(mode, 'a')) { + hFILE *fpw; + if ((fpw = hopen(path, mode)) == 0) return 0; + fp = bgzf_write_init(mode); + fp->fp = fpw; + } + else { errno = EINVAL; return 0; } + + fp->is_be = ed_is_big(); + return fp; +} + +BGZF *bgzf_dopen(int fd, const char *mode) +{ + BGZF *fp = 0; + assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); + if (strchr(mode, 'r')) { + hFILE *fpr; + if ((fpr = hdopen(fd, mode)) == 0) return 0; + fp = bgzf_read_init(fpr); + if (fp == 0) { hclose_abruptly(fpr); return NULL; } // FIXME this closes fd + fp->fp = fpr; + } else if (strchr(mode, 'w') || strchr(mode, 'a')) { + hFILE *fpw; + if ((fpw = hdopen(fd, mode)) == 0) return 0; + fp = bgzf_write_init(mode); + fp->fp = fpw; + } + else { errno = EINVAL; return 0; } + + fp->is_be = ed_is_big(); + return fp; +} + +BGZF *bgzf_hopen(hFILE *hfp, const char *mode) +{ + BGZF *fp = NULL; + assert(compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE); + if (strchr(mode, 'r')) { + fp = bgzf_read_init(hfp); + if (fp == NULL) return NULL; + } else if (strchr(mode, 'w') || strchr(mode, 'a')) { + fp = bgzf_write_init(mode); + } + else { errno = EINVAL; return 0; } + + fp->fp = hfp; + fp->is_be = ed_is_big(); + return fp; +} + +static int bgzf_compress(void *_dst, int *dlen, void *src, int slen, int level) +{ + uint32_t crc; + z_stream zs; + uint8_t *dst = (uint8_t*)_dst; + + // compress the body + zs.zalloc = NULL; zs.zfree = NULL; + zs.next_in = (Bytef*)src; + zs.avail_in = slen; + zs.next_out = dst + BLOCK_HEADER_LENGTH; + zs.avail_out = *dlen - BLOCK_HEADER_LENGTH - BLOCK_FOOTER_LENGTH; + if (deflateInit2(&zs, level, Z_DEFLATED, -15, 8, Z_DEFAULT_STRATEGY) != Z_OK) return -1; // -15 to disable zlib header/footer + if (deflate(&zs, Z_FINISH) != Z_STREAM_END) return -1; + if (deflateEnd(&zs) != Z_OK) return -1; + *dlen = zs.total_out + BLOCK_HEADER_LENGTH + BLOCK_FOOTER_LENGTH; + // write the header + memcpy(dst, g_magic, BLOCK_HEADER_LENGTH); // the last two bytes are a place holder for the length of the block + packInt16(&dst[16], *dlen - 1); // write the compressed length; -1 to fit 2 bytes + // write the footer + crc = crc32(crc32(0L, NULL, 0L), (Bytef*)src, slen); + packInt32((uint8_t*)&dst[*dlen - 8], crc); + packInt32((uint8_t*)&dst[*dlen - 4], slen); + return 0; +} + +static int bgzf_gzip_compress(BGZF *fp, void *_dst, int *dlen, void *src, int slen, int level) +{ + uint8_t *dst = (uint8_t*)_dst; + z_stream *zs = fp->gz_stream; + int flush = slen ? Z_NO_FLUSH : Z_FINISH; + zs->next_in = (Bytef*)src; + zs->avail_in = slen; + zs->next_out = dst; + zs->avail_out = *dlen; + if ( deflate(zs, flush) == Z_STREAM_ERROR ) return -1; + *dlen = *dlen - zs->avail_out; + return 0; +} + +// Deflate the block in fp->uncompressed_block into fp->compressed_block. Also adds an extra field that stores the compressed block length. +static int deflate_block(BGZF *fp, int block_length) +{ + int comp_size = BGZF_MAX_BLOCK_SIZE; + int ret; + if ( !fp->is_gzip ) + ret = bgzf_compress(fp->compressed_block, &comp_size, fp->uncompressed_block, block_length, fp->compress_level); + else + ret = bgzf_gzip_compress(fp, fp->compressed_block, &comp_size, fp->uncompressed_block, block_length, fp->compress_level); + + if ( ret != 0 ) + { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + fp->block_offset = 0; + return comp_size; +} + +// Inflate the block in fp->compressed_block into fp->uncompressed_block +static int inflate_block(BGZF* fp, int block_length) +{ + z_stream zs; + zs.zalloc = NULL; + zs.zfree = NULL; + zs.next_in = (Bytef*)fp->compressed_block + 18; + zs.avail_in = block_length - 16; + zs.next_out = (Bytef*)fp->uncompressed_block; + zs.avail_out = BGZF_MAX_BLOCK_SIZE; + + if (inflateInit2(&zs, -15) != Z_OK) { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + if (inflate(&zs, Z_FINISH) != Z_STREAM_END) { + inflateEnd(&zs); + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + if (inflateEnd(&zs) != Z_OK) { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + return zs.total_out; +} + +static int inflate_gzip_block(BGZF *fp, int cached) +{ + int ret = Z_OK; + do + { + if ( !cached && fp->gz_stream->avail_out!=0 ) + { + fp->gz_stream->avail_in = hread(fp->fp, fp->compressed_block, BGZF_BLOCK_SIZE); + if ( fp->gz_stream->avail_in<=0 ) return fp->gz_stream->avail_in; + if ( fp->gz_stream->avail_in==0 ) break; + fp->gz_stream->next_in = fp->compressed_block; + } + else cached = 0; + do + { + fp->gz_stream->next_out = (Bytef*)fp->uncompressed_block + fp->block_offset; + fp->gz_stream->avail_out = BGZF_MAX_BLOCK_SIZE - fp->block_offset; + ret = inflate(fp->gz_stream, Z_NO_FLUSH); + if ( ret==Z_BUF_ERROR ) continue; // non-critical error + if ( ret<0 ) return -1; + unsigned int have = BGZF_MAX_BLOCK_SIZE - fp->gz_stream->avail_out; + if ( have ) return have; + } + while ( fp->gz_stream->avail_out == 0 ); + } + while (ret != Z_STREAM_END); + return BGZF_MAX_BLOCK_SIZE - fp->gz_stream->avail_out; +} + +// Returns: 0 on success (BGZF header); -1 on non-BGZF GZIP header; -2 on error +static int check_header(const uint8_t *header) +{ + if ( header[0] != 31 || header[1] != 139 || header[2] != 8 ) return -2; + return ((header[3] & 4) != 0 + && unpackInt16((uint8_t*)&header[10]) == 6 + && header[12] == 'B' && header[13] == 'C' + && unpackInt16((uint8_t*)&header[14]) == 2) ? 0 : -1; +} + +#ifdef BGZF_CACHE +static void free_cache(BGZF *fp) +{ + khint_t k; + khash_t(cache) *h = (khash_t(cache)*)fp->cache; + if (fp->is_write) return; + for (k = kh_begin(h); k < kh_end(h); ++k) + if (kh_exist(h, k)) free(kh_val(h, k).block); + kh_destroy(cache, h); +} + +static int load_block_from_cache(BGZF *fp, int64_t block_address) +{ + khint_t k; + cache_t *p; + khash_t(cache) *h = (khash_t(cache)*)fp->cache; + k = kh_get(cache, h, block_address); + if (k == kh_end(h)) return 0; + p = &kh_val(h, k); + if (fp->block_length != 0) fp->block_offset = 0; + fp->block_address = block_address; + fp->block_length = p->size; + memcpy(fp->uncompressed_block, p->block, BGZF_MAX_BLOCK_SIZE); + if ( hseek(fp->fp, p->end_offset, SEEK_SET) < 0 ) + { + // todo: move the error up + fprintf(stderr,"Could not hseek to %"PRId64"\n", p->end_offset); + exit(1); + } + return p->size; +} + +static void cache_block(BGZF *fp, int size) +{ + int ret; + khint_t k; + cache_t *p; + khash_t(cache) *h = (khash_t(cache)*)fp->cache; + if (BGZF_MAX_BLOCK_SIZE >= fp->cache_size) return; + if ((kh_size(h) + 1) * BGZF_MAX_BLOCK_SIZE > (uint32_t)fp->cache_size) { + /* A better way would be to remove the oldest block in the + * cache, but here we remove a random one for simplicity. This + * should not have a big impact on performance. */ + for (k = kh_begin(h); k < kh_end(h); ++k) + if (kh_exist(h, k)) break; + if (k < kh_end(h)) { + free(kh_val(h, k).block); + kh_del(cache, h, k); + } + } + k = kh_put(cache, h, fp->block_address, &ret); + if (ret == 0) return; // if this happens, a bug! + p = &kh_val(h, k); + p->size = fp->block_length; + p->end_offset = fp->block_address + size; + p->block = (uint8_t*)malloc(BGZF_MAX_BLOCK_SIZE); + memcpy(kh_val(h, k).block, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE); +} +#else +static void free_cache(BGZF *fp) {} +static int load_block_from_cache(BGZF *fp, int64_t block_address) {return 0;} +static void cache_block(BGZF *fp, int size) {} +#endif + +int bgzf_read_block(BGZF *fp) +{ + uint8_t header[BLOCK_HEADER_LENGTH], *compressed_block; + int count, size = 0, block_length, remaining; + + // Reading an uncompressed file + if ( !fp->is_compressed ) + { + count = hread(fp->fp, fp->uncompressed_block, BGZF_MAX_BLOCK_SIZE); + if ( count==0 ) + { + fp->block_length = 0; + return 0; + } + if (fp->block_length != 0) fp->block_offset = 0; + fp->block_address += count; + fp->block_length = count; + return 0; + } + + // Reading compressed file + int64_t block_address; + block_address = htell(fp->fp); + if ( fp->is_gzip && fp->gz_stream ) // is this is a initialized gzip stream? + { + count = inflate_gzip_block(fp, 0); + if ( count<0 ) + { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + fp->block_length = count; + fp->block_address = block_address; + return 0; + } + if (fp->cache_size && load_block_from_cache(fp, block_address)) return 0; + count = hread(fp->fp, header, sizeof(header)); + if (count == 0) { // no data read + fp->block_length = 0; + return 0; + } + int ret; + if ( count != sizeof(header) || (ret=check_header(header))==-2 ) + { + fp->errcode |= BGZF_ERR_HEADER; + return -1; + } + if ( ret==-1 ) + { + // GZIP, not BGZF + uint8_t *cblock = (uint8_t*)fp->compressed_block; + memcpy(cblock, header, sizeof(header)); + count = hread(fp->fp, cblock+sizeof(header), BGZF_BLOCK_SIZE - sizeof(header)) + sizeof(header); + int nskip = 10; + + // Check optional fields to skip: FLG.FNAME,FLG.FCOMMENT,FLG.FHCRC,FLG.FEXTRA + // Note: Some of these fields are untested, I did not have appropriate data available + if ( header[3] & 0x4 ) // FLG.FEXTRA + { + nskip += unpackInt16(&cblock[nskip]) + 2; + } + if ( header[3] & 0x8 ) // FLG.FNAME + { + while ( nskiperrcode |= BGZF_ERR_HEADER; + return -1; + } + nskip++; + } + if ( header[3] & 0x10 ) // FLG.FCOMMENT + { + while ( nskiperrcode |= BGZF_ERR_HEADER; + return -1; + } + nskip++; + } + if ( header[3] & 0x2 ) nskip += 2; // FLG.FHCRC + + fp->is_gzip = 1; + fp->gz_stream = (z_stream*) calloc(1,sizeof(z_stream)); + int ret = inflateInit2(fp->gz_stream, -15); + if (ret != Z_OK) + { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + fp->gz_stream->avail_in = count - nskip; + fp->gz_stream->next_in = cblock + nskip; + count = inflate_gzip_block(fp, 1); + if ( count<0 ) + { + fp->errcode |= BGZF_ERR_ZLIB; + return -1; + } + fp->block_length = count; + fp->block_address = block_address; + if ( fp->idx_build_otf ) return -1; // cannot build index for gzip + return 0; + } + size = count; + block_length = unpackInt16((uint8_t*)&header[16]) + 1; // +1 because when writing this number, we used "-1" + compressed_block = (uint8_t*)fp->compressed_block; + memcpy(compressed_block, header, BLOCK_HEADER_LENGTH); + remaining = block_length - BLOCK_HEADER_LENGTH; + count = hread(fp->fp, &compressed_block[BLOCK_HEADER_LENGTH], remaining); + if (count != remaining) { + fp->errcode |= BGZF_ERR_IO; + return -1; + } + size += count; + if ((count = inflate_block(fp, block_length)) < 0) return -1; + if (fp->block_length != 0) fp->block_offset = 0; // Do not reset offset if this read follows a seek. + fp->block_address = block_address; + fp->block_length = count; + if ( fp->idx_build_otf ) + { + bgzf_index_add_block(fp); + fp->idx->ublock_addr += count; + } + cache_block(fp, size); + return 0; +} + +ssize_t bgzf_read(BGZF *fp, void *data, size_t length) +{ + ssize_t bytes_read = 0; + uint8_t *output = (uint8_t*)data; + if (length <= 0) return 0; + assert(fp->is_write == 0); + while (bytes_read < length) { + int copy_length, available = fp->block_length - fp->block_offset; + uint8_t *buffer; + if (available <= 0) { + if (bgzf_read_block(fp) != 0) return -1; + available = fp->block_length - fp->block_offset; + if (available <= 0) break; + } + copy_length = length - bytes_read < available? length - bytes_read : available; + buffer = (uint8_t*)fp->uncompressed_block; + memcpy(output, buffer + fp->block_offset, copy_length); + fp->block_offset += copy_length; + output += copy_length; + bytes_read += copy_length; + } + if (fp->block_offset == fp->block_length) { + fp->block_address = htell(fp->fp); + fp->block_offset = fp->block_length = 0; + } + fp->uncompressed_address += bytes_read; + return bytes_read; +} + +ssize_t bgzf_raw_read(BGZF *fp, void *data, size_t length) +{ + return hread(fp->fp, data, length); +} + +#ifdef BGZF_MT + +typedef struct { + struct bgzf_mtaux_t *mt; + void *buf; + int i, errcode, toproc, compress_level; +} worker_t; + +typedef struct bgzf_mtaux_t { + int n_threads, n_blks, curr, done; + volatile int proc_cnt; + void **blk; + int *len; + worker_t *w; + pthread_t *tid; + pthread_mutex_t lock; + pthread_cond_t cv; +} mtaux_t; + +static int worker_aux(worker_t *w) +{ + int i, stop = 0; + // wait for condition: to process or all done + pthread_mutex_lock(&w->mt->lock); + while (!w->toproc && !w->mt->done) + pthread_cond_wait(&w->mt->cv, &w->mt->lock); + if (w->mt->done) stop = 1; + w->toproc = 0; + pthread_mutex_unlock(&w->mt->lock); + if (stop) return 1; // to quit the thread + w->errcode = 0; + for (i = w->i; i < w->mt->curr; i += w->mt->n_threads) { + int clen = BGZF_MAX_BLOCK_SIZE; + if (bgzf_compress(w->buf, &clen, w->mt->blk[i], w->mt->len[i], w->compress_level) != 0) + w->errcode |= BGZF_ERR_ZLIB; + memcpy(w->mt->blk[i], w->buf, clen); + w->mt->len[i] = clen; + } + __sync_fetch_and_add(&w->mt->proc_cnt, 1); + return 0; +} + +static void *mt_worker(void *data) +{ + while (worker_aux((worker_t*)data) == 0); + return 0; +} + +int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks) +{ + int i; + mtaux_t *mt; + pthread_attr_t attr; + if (!fp->is_write || fp->mt || n_threads <= 1) return -1; + mt = (mtaux_t*)calloc(1, sizeof(mtaux_t)); + mt->n_threads = n_threads; + mt->n_blks = n_threads * n_sub_blks; + mt->len = (int*)calloc(mt->n_blks, sizeof(int)); + mt->blk = (void**)calloc(mt->n_blks, sizeof(void*)); + for (i = 0; i < mt->n_blks; ++i) + mt->blk[i] = malloc(BGZF_MAX_BLOCK_SIZE); + mt->tid = (pthread_t*)calloc(mt->n_threads, sizeof(pthread_t)); // tid[0] is not used, as the worker 0 is launched by the master + mt->w = (worker_t*)calloc(mt->n_threads, sizeof(worker_t)); + for (i = 0; i < mt->n_threads; ++i) { + mt->w[i].i = i; + mt->w[i].mt = mt; + mt->w[i].compress_level = fp->compress_level; + mt->w[i].buf = malloc(BGZF_MAX_BLOCK_SIZE); + } + pthread_attr_init(&attr); + pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_JOINABLE); + pthread_mutex_init(&mt->lock, 0); + pthread_cond_init(&mt->cv, 0); + for (i = 1; i < mt->n_threads; ++i) // worker 0 is effectively launched by the master thread + pthread_create(&mt->tid[i], &attr, mt_worker, &mt->w[i]); + fp->mt = mt; + return 0; +} + +static void mt_destroy(mtaux_t *mt) +{ + int i; + // signal all workers to quit + pthread_mutex_lock(&mt->lock); + mt->done = 1; mt->proc_cnt = 0; + pthread_cond_broadcast(&mt->cv); + pthread_mutex_unlock(&mt->lock); + for (i = 1; i < mt->n_threads; ++i) pthread_join(mt->tid[i], 0); // worker 0 is effectively launched by the master thread + // free other data allocated on heap + for (i = 0; i < mt->n_blks; ++i) free(mt->blk[i]); + for (i = 0; i < mt->n_threads; ++i) free(mt->w[i].buf); + free(mt->blk); free(mt->len); free(mt->w); free(mt->tid); + pthread_cond_destroy(&mt->cv); + pthread_mutex_destroy(&mt->lock); + free(mt); +} + +static void mt_queue(BGZF *fp) +{ + mtaux_t *mt = fp->mt; + assert(mt->curr < mt->n_blks); // guaranteed by the caller + memcpy(mt->blk[mt->curr], fp->uncompressed_block, fp->block_offset); + mt->len[mt->curr] = fp->block_offset; + fp->block_offset = 0; + ++mt->curr; +} + +static int mt_flush_queue(BGZF *fp) +{ + int i; + mtaux_t *mt = fp->mt; + // signal all the workers to compress + pthread_mutex_lock(&mt->lock); + for (i = 0; i < mt->n_threads; ++i) mt->w[i].toproc = 1; + mt->proc_cnt = 0; + pthread_cond_broadcast(&mt->cv); + pthread_mutex_unlock(&mt->lock); + // worker 0 is doing things here + worker_aux(&mt->w[0]); + // wait for all the threads to complete + while (mt->proc_cnt < mt->n_threads); + // dump data to disk + for (i = 0; i < mt->n_threads; ++i) fp->errcode |= mt->w[i].errcode; + for (i = 0; i < mt->curr; ++i) + if (hwrite(fp->fp, mt->blk[i], mt->len[i]) != mt->len[i]) { + fp->errcode |= BGZF_ERR_IO; + break; + } + mt->curr = 0; + return (fp->errcode == 0)? 0 : -1; +} + +static int lazy_flush(BGZF *fp) +{ + if (fp->mt) { + if (fp->block_offset) mt_queue(fp); + return (fp->mt->curr < fp->mt->n_blks)? 0 : mt_flush_queue(fp); + } + else return bgzf_flush(fp); +} + +#else // ~ #ifdef BGZF_MT + +int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks) +{ + return 0; +} + +static inline int lazy_flush(BGZF *fp) +{ + return bgzf_flush(fp); +} + +#endif // ~ #ifdef BGZF_MT + +int bgzf_flush(BGZF *fp) +{ + if (!fp->is_write) return 0; +#ifdef BGZF_MT + if (fp->mt) { + if (fp->block_offset) mt_queue(fp); // guaranteed that assertion does not fail + return mt_flush_queue(fp); + } +#endif + while (fp->block_offset > 0) { + if ( fp->idx_build_otf ) + { + bgzf_index_add_block(fp); + fp->idx->ublock_addr += fp->block_offset; + } + int block_length = deflate_block(fp, fp->block_offset); + if (block_length < 0) return -1; + if (hwrite(fp->fp, fp->compressed_block, block_length) != block_length) { + fp->errcode |= BGZF_ERR_IO; // possibly truncated file + return -1; + } + fp->block_address += block_length; + } + return 0; +} + +int bgzf_flush_try(BGZF *fp, ssize_t size) +{ + if (fp->block_offset + size > BGZF_BLOCK_SIZE) return lazy_flush(fp); + return 0; +} + +ssize_t bgzf_write(BGZF *fp, const void *data, size_t length) +{ + if ( !fp->is_compressed ) + return hwrite(fp->fp, data, length); + + const uint8_t *input = (const uint8_t*)data; + ssize_t remaining = length; + assert(fp->is_write); + while (remaining > 0) { + uint8_t* buffer = (uint8_t*)fp->uncompressed_block; + int copy_length = BGZF_BLOCK_SIZE - fp->block_offset; + if (copy_length > remaining) copy_length = remaining; + memcpy(buffer + fp->block_offset, input, copy_length); + fp->block_offset += copy_length; + input += copy_length; + remaining -= copy_length; + if (fp->block_offset == BGZF_BLOCK_SIZE) { + if (lazy_flush(fp) != 0) return -1; + } + } + return length - remaining; +} + +ssize_t bgzf_raw_write(BGZF *fp, const void *data, size_t length) +{ + return hwrite(fp->fp, data, length); +} + +int bgzf_close(BGZF* fp) +{ + int ret, block_length; + if (fp == 0) return -1; + if (fp->is_write && fp->is_compressed) { + if (bgzf_flush(fp) != 0) return -1; + fp->compress_level = -1; + block_length = deflate_block(fp, 0); // write an empty block + if (hwrite(fp->fp, fp->compressed_block, block_length) < 0 + || hflush(fp->fp) != 0) { + fp->errcode |= BGZF_ERR_IO; + return -1; + } +#ifdef BGZF_MT + if (fp->mt) mt_destroy(fp->mt); +#endif + } + if ( fp->is_gzip ) + { + if (!fp->is_write) (void)inflateEnd(fp->gz_stream); + else (void)deflateEnd(fp->gz_stream); + free(fp->gz_stream); + } + ret = hclose(fp->fp); + if (ret != 0) return -1; + bgzf_index_destroy(fp); + free(fp->uncompressed_block); + free(fp->compressed_block); + free_cache(fp); + free(fp); + return 0; +} + +void bgzf_set_cache_size(BGZF *fp, int cache_size) +{ + if (fp) fp->cache_size = cache_size; +} + +int bgzf_check_EOF(BGZF *fp) +{ + uint8_t buf[28]; + off_t offset = htell(fp->fp); + if (hseek(fp->fp, -28, SEEK_END) < 0) { + if (errno == ESPIPE) { hclearerr(fp->fp); return 2; } + else return -1; + } + if ( hread(fp->fp, buf, 28) != 28 ) return -1; + if ( hseek(fp->fp, offset, SEEK_SET) < 0 ) return -1; + return (memcmp("\037\213\010\4\0\0\0\0\0\377\6\0\102\103\2\0\033\0\3\0\0\0\0\0\0\0\0\0", buf, 28) == 0)? 1 : 0; +} + +int64_t bgzf_seek(BGZF* fp, int64_t pos, int where) +{ + int block_offset; + int64_t block_address; + + if (fp->is_write || where != SEEK_SET) { + fp->errcode |= BGZF_ERR_MISUSE; + return -1; + } + block_offset = pos & 0xFFFF; + block_address = pos >> 16; + if (hseek(fp->fp, block_address, SEEK_SET) < 0) { + fp->errcode |= BGZF_ERR_IO; + return -1; + } + fp->block_length = 0; // indicates current block has not been loaded + fp->block_address = block_address; + fp->block_offset = block_offset; + return 0; +} + +int bgzf_is_bgzf(const char *fn) +{ + uint8_t buf[16]; + int n; + hFILE *fp; + if ((fp = hopen(fn, "r")) == 0) return 0; + n = hread(fp, buf, 16); + if ( hclose(fp) < 0 ) return -1; + if (n != 16) return 0; + return memcmp(g_magic, buf, 16) == 0? 1 : 0; +} + +int bgzf_getc(BGZF *fp) +{ + int c; + if (fp->block_offset >= fp->block_length) { + if (bgzf_read_block(fp) != 0) return -2; /* error */ + if (fp->block_length == 0) return -1; /* end-of-file */ + } + c = ((unsigned char*)fp->uncompressed_block)[fp->block_offset++]; + if (fp->block_offset == fp->block_length) { + fp->block_address = htell(fp->fp); + fp->block_offset = 0; + fp->block_length = 0; + } + fp->uncompressed_address++; + return c; +} + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +int bgzf_getline(BGZF *fp, int delim, kstring_t *str) +{ + int l, state = 0; + unsigned char *buf = (unsigned char*)fp->uncompressed_block; + str->l = 0; + do { + if (fp->block_offset >= fp->block_length) { + if (bgzf_read_block(fp) != 0) { state = -2; break; } + if (fp->block_length == 0) { state = -1; break; } + } + for (l = fp->block_offset; l < fp->block_length && buf[l] != delim; ++l); + if (l < fp->block_length) state = 1; + l -= fp->block_offset; + if (str->l + l + 1 >= str->m) { + str->m = str->l + l + 2; + kroundup32(str->m); + str->s = (char*)realloc(str->s, str->m); + } + memcpy(str->s + str->l, buf + fp->block_offset, l); + str->l += l; + fp->block_offset += l + 1; + if (fp->block_offset >= fp->block_length) { + fp->block_address = htell(fp->fp); + fp->block_offset = 0; + fp->block_length = 0; + } + } while (state == 0); + if (str->l == 0 && state < 0) return state; + fp->uncompressed_address += str->l; + if ( delim=='\n' && str->l>0 && str->s[str->l-1]=='\r' ) str->l--; + str->s[str->l] = 0; + return str->l; +} + +void bgzf_index_destroy(BGZF *fp) +{ + if ( !fp->idx ) return; + free(fp->idx->offs); + free(fp->idx); + fp->idx = NULL; + fp->idx_build_otf = 0; +} + +int bgzf_index_build_init(BGZF *fp) +{ + bgzf_index_destroy(fp); + fp->idx = (bgzidx_t*) calloc(1,sizeof(bgzidx_t)); + if ( !fp->idx ) return -1; + fp->idx_build_otf = 1; // build index on the fly + return 0; +} + +int bgzf_index_add_block(BGZF *fp) +{ + fp->idx->noffs++; + if ( fp->idx->noffs > fp->idx->moffs ) + { + fp->idx->moffs = fp->idx->noffs; + kroundup32(fp->idx->moffs); + fp->idx->offs = (bgzidx1_t*) realloc(fp->idx->offs, fp->idx->moffs*sizeof(bgzidx1_t)); + if ( !fp->idx->offs ) return -1; + } + fp->idx->offs[ fp->idx->noffs-1 ].uaddr = fp->idx->ublock_addr; + fp->idx->offs[ fp->idx->noffs-1 ].caddr = fp->block_address; + return 0; +} + +int bgzf_index_dump(BGZF *fp, const char *bname, const char *suffix) +{ + if (bgzf_flush(fp) != 0) return -1; + + assert(fp->idx); + char *tmp = NULL; + if ( suffix ) + { + int blen = strlen(bname); + int slen = strlen(suffix); + tmp = (char*) malloc(blen + slen + 1); + if ( !tmp ) return -1; + memcpy(tmp,bname,blen); + memcpy(tmp+blen,suffix,slen+1); + } + + FILE *idx = fopen(tmp?tmp:bname,"wb"); + if ( tmp ) free(tmp); + if ( !idx ) return -1; + + // Note that the index contains one extra record when indexing files opened + // for reading. The terminating record is not present when opened for writing. + // This is not a bug. + + int i; + if ( fp->is_be ) + { + uint64_t x = fp->idx->noffs - 1; + fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); + for (i=1; iidx->noffs; i++) + { + x = fp->idx->offs[i].caddr; fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); + x = fp->idx->offs[i].uaddr; fwrite(ed_swap_8p(&x), 1, sizeof(x), idx); + } + } + else + { + uint64_t x = fp->idx->noffs - 1; + fwrite(&x, 1, sizeof(x), idx); + for (i=1; iidx->noffs; i++) + { + fwrite(&fp->idx->offs[i].caddr, 1, sizeof(fp->idx->offs[i].caddr), idx); + fwrite(&fp->idx->offs[i].uaddr, 1, sizeof(fp->idx->offs[i].uaddr), idx); + } + } + fclose(idx); + return 0; +} + + +int bgzf_index_load(BGZF *fp, const char *bname, const char *suffix) +{ + char *tmp = NULL; + if ( suffix ) + { + int blen = strlen(bname); + int slen = strlen(suffix); + tmp = (char*) malloc(blen + slen + 1); + if ( !tmp ) return -1; + memcpy(tmp,bname,blen); + memcpy(tmp+blen,suffix,slen+1); + } + + FILE *idx = fopen(tmp?tmp:bname,"rb"); + if ( tmp ) free(tmp); + if ( !idx ) return -1; + + fp->idx = (bgzidx_t*) calloc(1,sizeof(bgzidx_t)); + uint64_t x; + if ( fread(&x, 1, sizeof(x), idx) != sizeof(x) ) return -1; + + fp->idx->noffs = fp->idx->moffs = 1 + (fp->is_be ? ed_swap_8(x) : x); + fp->idx->offs = (bgzidx1_t*) malloc(fp->idx->moffs*sizeof(bgzidx1_t)); + fp->idx->offs[0].caddr = fp->idx->offs[0].uaddr = 0; + + int i; + if ( fp->is_be ) + { + int ret = 0; + for (i=1; iidx->noffs; i++) + { + ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].caddr = ed_swap_8(x); + ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].uaddr = ed_swap_8(x); + } + if ( ret != sizeof(x)*2*(fp->idx->noffs-1) ) return -1; + } + else + { + int ret = 0; + for (i=1; iidx->noffs; i++) + { + ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].caddr = x; + ret += fread(&x, 1, sizeof(x), idx); fp->idx->offs[i].uaddr = x; + } + if ( ret != sizeof(x)*2*(fp->idx->noffs-1) ) return -1; + } + fclose(idx); + return 0; + +} + +int bgzf_useek(BGZF *fp, long uoffset, int where) +{ + if ( !fp->is_compressed ) + { + if (hseek(fp->fp, uoffset, SEEK_SET) < 0) + { + fp->errcode |= BGZF_ERR_IO; + return -1; + } + fp->block_length = 0; // indicates current block has not been loaded + fp->block_address = uoffset; + fp->block_offset = 0; + bgzf_read_block(fp); + fp->uncompressed_address = uoffset; + return 0; + } + + if ( !fp->idx ) + { + fp->errcode |= BGZF_ERR_IO; + return -1; + } + + // binary search + int ilo = 0, ihi = fp->idx->noffs - 1; + while ( ilo<=ihi ) + { + int i = (ilo+ihi)*0.5; + if ( uoffset < fp->idx->offs[i].uaddr ) ihi = i - 1; + else if ( uoffset >= fp->idx->offs[i].uaddr ) ilo = i + 1; + else break; + } + int i = ilo-1; + if (hseek(fp->fp, fp->idx->offs[i].caddr, SEEK_SET) < 0) + { + fp->errcode |= BGZF_ERR_IO; + return -1; + } + fp->block_length = 0; // indicates current block has not been loaded + fp->block_address = fp->idx->offs[i].caddr; + fp->block_offset = 0; + if ( bgzf_read_block(fp) < 0 ) return -1; + if ( uoffset - fp->idx->offs[i].uaddr > 0 ) + { + fp->block_offset = uoffset - fp->idx->offs[i].uaddr; + assert( fp->block_offset <= fp->block_length ); // todo: skipped, unindexed, blocks + } + fp->uncompressed_address = uoffset; + return 0; +} + +long bgzf_utell(BGZF *fp) +{ + return fp->uncompressed_address; // currently maintained only when reading +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/bgzip.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/bgzip.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,284 @@ +/* bgzip.c -- Block compression/decompression utility. + + Copyright (C) 2008, 2009 Broad Institute / Massachusetts Institute of Technology + Copyright (C) 2010, 2013, 2014 Genome Research Ltd. + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notices and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "htslib/bgzf.h" +#include "htslib/hts.h" + +static const int WINDOW_SIZE = 64 * 1024; + +static void error(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + exit(EXIT_FAILURE); +} + +static int write_open(const char *fn, int is_forced) +{ + int fd = -1; + char c; + if (!is_forced) { + if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL, 0666)) < 0 && errno == EEXIST) { + fprintf(stderr, "[bgzip] %s already exists; do you wish to overwrite (y or n)? ", fn); + if ( scanf("%c", &c) != 1 ) c = 'n'; + if (c != 'Y' && c != 'y') { + fprintf(stderr, "[bgzip] not overwritten\n"); + exit(EXIT_FAILURE); + } + } + } + if (fd < 0) { + if ((fd = open(fn, O_WRONLY | O_CREAT | O_TRUNC, 0666)) < 0) { + fprintf(stderr, "[bgzip] %s: Fail to write\n", fn); + exit(EXIT_FAILURE); + } + } + return fd; +} + +static int bgzip_main_usage(void) +{ + fprintf(stderr, "\n"); + fprintf(stderr, "Version: %s\n", hts_version()); + fprintf(stderr, "Usage: bgzip [OPTIONS] [FILE] ...\n"); + fprintf(stderr, "Options:\n"); + fprintf(stderr, " -b, --offset INT decompress at virtual file pointer (0-based uncompressed offset)\n"); + fprintf(stderr, " -c, --stdout write on standard output, keep original files unchanged\n"); + fprintf(stderr, " -d, --decompress decompress\n"); + fprintf(stderr, " -f, --force overwrite files without asking\n"); + fprintf(stderr, " -h, --help give this help\n"); + fprintf(stderr, " -i, --index compress and create BGZF index\n"); + fprintf(stderr, " -I, --index-name FILE name of BGZF index file [file.gz.gzi]\n"); + fprintf(stderr, " -r, --reindex (re)index compressed file\n"); + fprintf(stderr, " -s, --size INT decompress INT bytes (uncompressed size)\n"); + fprintf(stderr, "\n"); + return 1; +} + +int main(int argc, char **argv) +{ + int c, compress, pstdout, is_forced, index = 0, reindex = 0; + BGZF *fp; + void *buffer; + long start, end, size; + char *index_fname = NULL; + + static struct option loptions[] = + { + {"help",0,0,'h'}, + {"offset",1,0,'b'}, + {"stdout",0,0,'c'}, + {"decompress",0,0,'d'}, + {"force",0,0,'f'}, + {"index",0,0,'i'}, + {"index-name",1,0,'I'}, + {"reindex",0,0,'r'}, + {"size",1,0,'s'}, + {0,0,0,0} + }; + + compress = 1; pstdout = 0; start = 0; size = -1; end = -1; is_forced = 0; + while((c = getopt_long(argc, argv, "cdh?fb:s:iI:r",loptions,NULL)) >= 0){ + switch(c){ + case 'd': compress = 0; break; + case 'c': pstdout = 1; break; + case 'b': start = atol(optarg); compress = 0; pstdout = 1; break; + case 's': size = atol(optarg); pstdout = 1; break; + case 'f': is_forced = 1; break; + case 'i': index = 1; break; + case 'I': index_fname = optarg; break; + case 'r': reindex = 1; compress = 0; break; + case 'h': + case '?': return bgzip_main_usage(); + } + } + if (size >= 0) end = start + size; + if (end >= 0 && end < start) { + fprintf(stderr, "[bgzip] Illegal region: [%ld, %ld]\n", start, end); + return 1; + } + if (compress == 1) { + struct stat sbuf; + int f_src = fileno(stdin); + int f_dst = fileno(stdout); + + if ( argc>optind ) + { + if ( stat(argv[optind],&sbuf)<0 ) + { + fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); + return 1; + } + + if ((f_src = open(argv[optind], O_RDONLY)) < 0) { + fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); + return 1; + } + + if (pstdout) + f_dst = fileno(stdout); + else + { + char *name = malloc(strlen(argv[optind]) + 5); + strcpy(name, argv[optind]); + strcat(name, ".gz"); + f_dst = write_open(name, is_forced); + free(name); + if (f_dst < 0) return 1; + } + } + else if (!pstdout && isatty(fileno((FILE *)stdout)) ) + return bgzip_main_usage(); + else if ( index && !index_fname ) + { + fprintf(stderr, "[bgzip] Index file name expected when writing to stdout\n"); + return 1; + } + + fp = bgzf_fdopen(f_dst, "w"); + if ( index ) bgzf_index_build_init(fp); + buffer = malloc(WINDOW_SIZE); + while ((c = read(f_src, buffer, WINDOW_SIZE)) > 0) + if (bgzf_write(fp, buffer, c) < 0) error("Could not write %d bytes: Error %d\n", c, fp->errcode); + // f_dst will be closed here + if ( index ) + { + if ( index_fname ) bgzf_index_dump(fp, index_fname, NULL); + else bgzf_index_dump(fp, argv[optind], ".gz.gzi"); + } + if (bgzf_close(fp) < 0) error("Close failed: Error %d", fp->errcode); + if (argc > optind && !pstdout) unlink(argv[optind]); + free(buffer); + close(f_src); + return 0; + } + else if ( reindex ) + { + if ( argc>optind ) + { + fp = bgzf_open(argv[optind], "r"); + if ( !fp ) error("[bgzip] Could not open file: %s\n", argv[optind]); + } + else + { + if ( !index_fname ) error("[bgzip] Index file name expected when reading from stdin\n"); + fp = bgzf_fdopen(fileno(stdin), "r"); + if ( !fp ) error("[bgzip] Could not read from stdin: %s\n", strerror(errno)); + } + + buffer = malloc(BGZF_BLOCK_SIZE); + bgzf_index_build_init(fp); + int ret; + while ( (ret=bgzf_read(fp, buffer, BGZF_BLOCK_SIZE))>0 ) ; + free(buffer); + if ( ret<0 ) error("Is the file gzipped or bgzipped? The latter is required for indexing.\n"); + + if ( index_fname ) + bgzf_index_dump(fp, index_fname, NULL); + else + bgzf_index_dump(fp, argv[optind], ".gzi"); + + if ( bgzf_close(fp)<0 ) error("Close failed: Error %d\n",fp->errcode); + return 0; + } + else + { + struct stat sbuf; + int f_dst; + + if ( argc>optind ) + { + if ( stat(argv[optind],&sbuf)<0 ) + { + fprintf(stderr, "[bgzip] %s: %s\n", strerror(errno), argv[optind]); + return 1; + } + char *name; + int len = strlen(argv[optind]); + if ( strcmp(argv[optind]+len-3,".gz") ) + { + fprintf(stderr, "[bgzip] %s: unknown suffix -- ignored\n", argv[optind]); + return 1; + } + fp = bgzf_open(argv[optind], "r"); + if (fp == NULL) { + fprintf(stderr, "[bgzip] Could not open file: %s\n", argv[optind]); + return 1; + } + + if (pstdout) { + f_dst = fileno(stdout); + } + else { + name = strdup(argv[optind]); + name[strlen(name) - 3] = '\0'; + f_dst = write_open(name, is_forced); + free(name); + } + } + else if (!pstdout && isatty(fileno((FILE *)stdin)) ) + return bgzip_main_usage(); + else + { + f_dst = fileno(stdout); + fp = bgzf_fdopen(fileno(stdin), "r"); + if (fp == NULL) { + fprintf(stderr, "[bgzip] Could not read from stdin: %s\n", strerror(errno)); + return 1; + } + } + buffer = malloc(WINDOW_SIZE); + if ( start>0 ) + { + if ( bgzf_index_load(fp, argv[optind], ".gzi") < 0 ) error("Could not load index: %s.gzi\n", argv[optind]); + if ( bgzf_useek(fp, start, SEEK_SET) < 0 ) error("Could not seek to %d-th (uncompressd) byte\n", start); + } + while (1) { + if (end < 0) c = bgzf_read(fp, buffer, WINDOW_SIZE); + else c = bgzf_read(fp, buffer, (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start)); + if (c == 0) break; + if (c < 0) error("Could not read %d bytes: Error %d\n", (end - start > WINDOW_SIZE)? WINDOW_SIZE:(end - start), fp->errcode); + start += c; + if ( write(f_dst, buffer, c) != c ) error("Could not write %d bytes\n", c); + if (end >= 0 && start >= end) break; + } + free(buffer); + if (bgzf_close(fp) < 0) error("Close failed: Error %d\n",fp->errcode); + if (!pstdout) unlink(argv[optind]); + return 0; + } + return 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/config.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/config.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +#define _USE_KNETFILE +#define BGZF_CACHE +#define BGZF_MT diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/config.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/config.mk Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,72 @@ +# Optional configure Makefile overrides for htslib. +# +# Copyright (C) 2015 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# This is config.mk. Generated from config.mk.in by configure. +# +# If you use configure, this file overrides variables and augments rules +# in the Makefile to reflect your configuration choices. If you don't run +# configure, the main Makefile contains suitable conservative defaults. + +prefix = /usr/local +exec_prefix = ${prefix} +bindir = ${exec_prefix}/bin +includedir = ${prefix}/include +libdir = ${exec_prefix}/lib +datarootdir = ${prefix}/share +mandir = ${datarootdir}/man + +CC = gcc +RANLIB = ranlib + +CFLAGS = -g -O2 +LDFLAGS = +LDLIBS = + + +# ifeq/.../endif, +=, and target-specific variables are GNU Make-specific. +# If you don't have GNU Make, comment out this conditional and note that +# to enable iRODS you will need to implement the following elsewhere. +ifeq "iRODS-disabled" "iRODS-enabled" + +IRODS_HOME ?= /disabled + +EXTRA_CPPFLAGS_IRODS = \ + -I$(IRODS_HOME)/lib/api/include \ + -I$(IRODS_HOME)/lib/core/include \ + -I$(IRODS_HOME)/lib/md5/include \ + -I$(IRODS_HOME)/lib/sha1/include \ + -I$(IRODS_HOME)/server/core/include \ + -I$(IRODS_HOME)/server/drivers/include \ + -I$(IRODS_HOME)/server/icat/include + +LDFLAGS += -L$(IRODS_HOME)/lib/core/obj +LDLIBS += -lRodsAPIs -lgssapi_krb5 + +LIBHTS_OBJS += hfile_irods.o + +hfile.o hfile.pico: CPPFLAGS += -DHAVE_IRODS + +hfile_irods.o hfile_irods.pico: CPPFLAGS += $(EXTRA_CPPFLAGS_IRODS) + +endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/config.mk.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/config.mk.in Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,72 @@ +# Optional configure Makefile overrides for htslib. +# +# Copyright (C) 2015 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# This is @configure_input@ +# +# If you use configure, this file overrides variables and augments rules +# in the Makefile to reflect your configuration choices. If you don't run +# configure, the main Makefile contains suitable conservative defaults. + +prefix = @prefix@ +exec_prefix = @exec_prefix@ +bindir = @bindir@ +includedir = @includedir@ +libdir = @libdir@ +datarootdir = @datarootdir@ +mandir = @mandir@ + +CC = @CC@ +RANLIB = @RANLIB@ + +CFLAGS = @CFLAGS@ +LDFLAGS = @LDFLAGS@ +LDLIBS = @LIBS@ + + +# ifeq/.../endif, +=, and target-specific variables are GNU Make-specific. +# If you don't have GNU Make, comment out this conditional and note that +# to enable iRODS you will need to implement the following elsewhere. +ifeq "iRODS-@irods@" "iRODS-enabled" + +@define_IRODS_HOME@ + +EXTRA_CPPFLAGS_IRODS = \ + -I$(IRODS_HOME)/lib/api/include \ + -I$(IRODS_HOME)/lib/core/include \ + -I$(IRODS_HOME)/lib/md5/include \ + -I$(IRODS_HOME)/lib/sha1/include \ + -I$(IRODS_HOME)/server/core/include \ + -I$(IRODS_HOME)/server/drivers/include \ + -I$(IRODS_HOME)/server/icat/include + +LDFLAGS += -L$(IRODS_HOME)/lib/core/obj +LDLIBS += -lRodsAPIs -lgssapi_krb5 + +LIBHTS_OBJS += hfile_irods.o + +hfile.o hfile.pico: CPPFLAGS += -DHAVE_IRODS + +hfile_irods.o hfile_irods.pico: CPPFLAGS += $(EXTRA_CPPFLAGS_IRODS) + +endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/configure --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/configure Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,4012 @@ +#! /bin/sh +# Guess values for system-dependent variables and create Makefiles. +# Generated by GNU Autoconf 2.68 for HTSlib 1.2.1. +# +# Report bugs to . +# +# +# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, +# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software +# Foundation, Inc. +# +# +# This configure script is free software; the Free Software Foundation +# gives unlimited permission to copy, distribute and modify it. +# +# Portions copyright (C) 2015 Genome Research Ltd. +# +# This configure script is free software: you are free to change and +# redistribute it. There is NO WARRANTY, to the extent permitted by law. +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + +if test "x$CONFIG_SHELL" = x; then + as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which + # is contrary to our usage. Disable this feature. + alias -g '\${1+\"\$@\"}'='\"\$@\"' + setopt NO_GLOB_SUBST +else + case \`(set -o) 2>/dev/null\` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi +" + as_required="as_fn_return () { (exit \$1); } +as_fn_success () { as_fn_return 0; } +as_fn_failure () { as_fn_return 1; } +as_fn_ret_success () { return 0; } +as_fn_ret_failure () { return 1; } + +exitcode=0 +as_fn_success || { exitcode=1; echo as_fn_success failed.; } +as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } +as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } +as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } +if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : + +else + exitcode=1; echo positional parameters were not saved. +fi +test x\$exitcode = x0 || exit 1" + as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO + as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO + eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && + test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" + if (eval "$as_required") 2>/dev/null; then : + as_have_required=yes +else + as_have_required=no +fi + if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : + +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +as_found=false +for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + as_found=: + case $as_dir in #( + /*) + for as_base in sh bash ksh sh5; do + # Try only shells that exist, to save several forks. + as_shell=$as_dir/$as_base + if { test -f "$as_shell" || test -f "$as_shell.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : + CONFIG_SHELL=$as_shell as_have_required=yes + if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : + break 2 +fi +fi + done;; + esac + as_found=false +done +$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && + { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : + CONFIG_SHELL=$SHELL as_have_required=yes +fi; } +IFS=$as_save_IFS + + + if test "x$CONFIG_SHELL" != x; then : + # We cannot yet assume a decent shell, so we have to provide a + # neutralization value for shells without unset; and this also + # works around shells that cannot unset nonexistent variables. + # Preserve -v and -x to the replacement shell. + BASH_ENV=/dev/null + ENV=/dev/null + (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV + export CONFIG_SHELL + case $- in # (((( + *v*x* | *x*v* ) as_opts=-vx ;; + *v* ) as_opts=-v ;; + *x* ) as_opts=-x ;; + * ) as_opts= ;; + esac + exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} +fi + + if test x$as_have_required = xno; then : + $as_echo "$0: This script requires a shell more modern than all" + $as_echo "$0: the shells that I found on your system." + if test x${ZSH_VERSION+set} = xset ; then + $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" + $as_echo "$0: be upgraded to zsh 4.3.4 or later." + else + $as_echo "$0: Please tell bug-autoconf@gnu.org and +$0: samtools-help@lists.sourceforge.net about your system, +$0: including any error possibly output before this +$0: message. Then install a modern shell, or manually run +$0: the script under such a shell if you do have one." + fi + exit 1 +fi +fi +fi +SHELL=${CONFIG_SHELL-/bin/sh} +export SHELL +# Unset more variables known to interfere with behavior of common tools. +CLICOLOR_FORCE= GREP_OPTIONS= +unset CLICOLOR_FORCE GREP_OPTIONS + +## --------------------- ## +## M4sh Shell Functions. ## +## --------------------- ## +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + + + as_lineno_1=$LINENO as_lineno_1a=$LINENO + as_lineno_2=$LINENO as_lineno_2a=$LINENO + eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && + test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { + # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) + sed -n ' + p + /[$]LINENO/= + ' <$as_myself | + sed ' + s/[$]LINENO.*/&-/ + t lineno + b + :lineno + N + :loop + s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ + t loop + s/-\n.*// + ' >$as_me.lineno && + chmod +x "$as_me.lineno" || + { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } + + # Don't try to exec as it changes $[0], causing all sort of problems + # (the dirname of $[0] is not the place where we might find the + # original and so on. Autoconf is especially sensitive to this). + . "./$as_me.lineno" + # Exit status is that of the last command. + exit +} + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +test -n "$DJDIR" || exec 7<&0 &1 + +# Name of the host. +# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, +# so uname gets run too. +ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` + +# +# Initializations. +# +ac_default_prefix=/usr/local +ac_clean_files= +ac_config_libobj_dir=. +LIBOBJS= +cross_compiling=no +subdirs= +MFLAGS= +MAKEFLAGS= + +# Identity of this package. +PACKAGE_NAME='HTSlib' +PACKAGE_TARNAME='htslib' +PACKAGE_VERSION='1.2.1' +PACKAGE_STRING='HTSlib 1.2.1' +PACKAGE_BUGREPORT='samtools-help@lists.sourceforge.net' +PACKAGE_URL='http://www.htslib.org/' + +ac_unique_file="hts.c" +ac_subst_vars='LTLIBOBJS +LIBOBJS +define_IRODS_HOME +irods +RANLIB +OBJEXT +EXEEXT +ac_ct_CC +CPPFLAGS +LDFLAGS +CFLAGS +CC +target_alias +host_alias +build_alias +LIBS +ECHO_T +ECHO_N +ECHO_C +DEFS +mandir +localedir +libdir +psdir +pdfdir +dvidir +htmldir +infodir +docdir +oldincludedir +includedir +localstatedir +sharedstatedir +sysconfdir +datadir +datarootdir +libexecdir +sbindir +bindir +program_transform_name +prefix +exec_prefix +PACKAGE_URL +PACKAGE_BUGREPORT +PACKAGE_STRING +PACKAGE_VERSION +PACKAGE_TARNAME +PACKAGE_NAME +PATH_SEPARATOR +SHELL' +ac_subst_files='' +ac_user_opts=' +enable_option_checking +with_irods +' + ac_precious_vars='build_alias +host_alias +target_alias +CC +CFLAGS +LDFLAGS +LIBS +CPPFLAGS' + + +# Initialize some variables set by options. +ac_init_help= +ac_init_version=false +ac_unrecognized_opts= +ac_unrecognized_sep= +# The variables have the same names as the options, with +# dashes changed to underlines. +cache_file=/dev/null +exec_prefix=NONE +no_create= +no_recursion= +prefix=NONE +program_prefix=NONE +program_suffix=NONE +program_transform_name=s,x,x, +silent= +site= +srcdir= +verbose= +x_includes=NONE +x_libraries=NONE + +# Installation directory options. +# These are left unexpanded so users can "make install exec_prefix=/foo" +# and all the variables that are supposed to be based on exec_prefix +# by default will actually change. +# Use braces instead of parens because sh, perl, etc. also accept them. +# (The list follows the same order as the GNU Coding Standards.) +bindir='${exec_prefix}/bin' +sbindir='${exec_prefix}/sbin' +libexecdir='${exec_prefix}/libexec' +datarootdir='${prefix}/share' +datadir='${datarootdir}' +sysconfdir='${prefix}/etc' +sharedstatedir='${prefix}/com' +localstatedir='${prefix}/var' +includedir='${prefix}/include' +oldincludedir='/usr/include' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' +infodir='${datarootdir}/info' +htmldir='${docdir}' +dvidir='${docdir}' +pdfdir='${docdir}' +psdir='${docdir}' +libdir='${exec_prefix}/lib' +localedir='${datarootdir}/locale' +mandir='${datarootdir}/man' + +ac_prev= +ac_dashdash= +for ac_option +do + # If the previous option needs an argument, assign it. + if test -n "$ac_prev"; then + eval $ac_prev=\$ac_option + ac_prev= + continue + fi + + case $ac_option in + *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; + *=) ac_optarg= ;; + *) ac_optarg=yes ;; + esac + + # Accept the important Cygnus configure options, so we can diagnose typos. + + case $ac_dashdash$ac_option in + --) + ac_dashdash=yes ;; + + -bindir | --bindir | --bindi | --bind | --bin | --bi) + ac_prev=bindir ;; + -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) + bindir=$ac_optarg ;; + + -build | --build | --buil | --bui | --bu) + ac_prev=build_alias ;; + -build=* | --build=* | --buil=* | --bui=* | --bu=*) + build_alias=$ac_optarg ;; + + -cache-file | --cache-file | --cache-fil | --cache-fi \ + | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) + ac_prev=cache_file ;; + -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ + | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) + cache_file=$ac_optarg ;; + + --config-cache | -C) + cache_file=config.cache ;; + + -datadir | --datadir | --datadi | --datad) + ac_prev=datadir ;; + -datadir=* | --datadir=* | --datadi=* | --datad=*) + datadir=$ac_optarg ;; + + -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ + | --dataroo | --dataro | --datar) + ac_prev=datarootdir ;; + -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ + | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) + datarootdir=$ac_optarg ;; + + -disable-* | --disable-*) + ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=no ;; + + -docdir | --docdir | --docdi | --doc | --do) + ac_prev=docdir ;; + -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) + docdir=$ac_optarg ;; + + -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) + ac_prev=dvidir ;; + -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) + dvidir=$ac_optarg ;; + + -enable-* | --enable-*) + ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid feature name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"enable_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval enable_$ac_useropt=\$ac_optarg ;; + + -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ + | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ + | --exec | --exe | --ex) + ac_prev=exec_prefix ;; + -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ + | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ + | --exec=* | --exe=* | --ex=*) + exec_prefix=$ac_optarg ;; + + -gas | --gas | --ga | --g) + # Obsolete; use --with-gas. + with_gas=yes ;; + + -help | --help | --hel | --he | -h) + ac_init_help=long ;; + -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) + ac_init_help=recursive ;; + -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) + ac_init_help=short ;; + + -host | --host | --hos | --ho) + ac_prev=host_alias ;; + -host=* | --host=* | --hos=* | --ho=*) + host_alias=$ac_optarg ;; + + -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) + ac_prev=htmldir ;; + -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ + | --ht=*) + htmldir=$ac_optarg ;; + + -includedir | --includedir | --includedi | --included | --include \ + | --includ | --inclu | --incl | --inc) + ac_prev=includedir ;; + -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ + | --includ=* | --inclu=* | --incl=* | --inc=*) + includedir=$ac_optarg ;; + + -infodir | --infodir | --infodi | --infod | --info | --inf) + ac_prev=infodir ;; + -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) + infodir=$ac_optarg ;; + + -libdir | --libdir | --libdi | --libd) + ac_prev=libdir ;; + -libdir=* | --libdir=* | --libdi=* | --libd=*) + libdir=$ac_optarg ;; + + -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ + | --libexe | --libex | --libe) + ac_prev=libexecdir ;; + -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ + | --libexe=* | --libex=* | --libe=*) + libexecdir=$ac_optarg ;; + + -localedir | --localedir | --localedi | --localed | --locale) + ac_prev=localedir ;; + -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) + localedir=$ac_optarg ;; + + -localstatedir | --localstatedir | --localstatedi | --localstated \ + | --localstate | --localstat | --localsta | --localst | --locals) + ac_prev=localstatedir ;; + -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ + | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) + localstatedir=$ac_optarg ;; + + -mandir | --mandir | --mandi | --mand | --man | --ma | --m) + ac_prev=mandir ;; + -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) + mandir=$ac_optarg ;; + + -nfp | --nfp | --nf) + # Obsolete; use --without-fp. + with_fp=no ;; + + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ + | --no-cr | --no-c | -n) + no_create=yes ;; + + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) + no_recursion=yes ;; + + -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ + | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ + | --oldin | --oldi | --old | --ol | --o) + ac_prev=oldincludedir ;; + -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ + | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ + | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) + oldincludedir=$ac_optarg ;; + + -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) + ac_prev=prefix ;; + -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) + prefix=$ac_optarg ;; + + -program-prefix | --program-prefix | --program-prefi | --program-pref \ + | --program-pre | --program-pr | --program-p) + ac_prev=program_prefix ;; + -program-prefix=* | --program-prefix=* | --program-prefi=* \ + | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) + program_prefix=$ac_optarg ;; + + -program-suffix | --program-suffix | --program-suffi | --program-suff \ + | --program-suf | --program-su | --program-s) + ac_prev=program_suffix ;; + -program-suffix=* | --program-suffix=* | --program-suffi=* \ + | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) + program_suffix=$ac_optarg ;; + + -program-transform-name | --program-transform-name \ + | --program-transform-nam | --program-transform-na \ + | --program-transform-n | --program-transform- \ + | --program-transform | --program-transfor \ + | --program-transfo | --program-transf \ + | --program-trans | --program-tran \ + | --progr-tra | --program-tr | --program-t) + ac_prev=program_transform_name ;; + -program-transform-name=* | --program-transform-name=* \ + | --program-transform-nam=* | --program-transform-na=* \ + | --program-transform-n=* | --program-transform-=* \ + | --program-transform=* | --program-transfor=* \ + | --program-transfo=* | --program-transf=* \ + | --program-trans=* | --program-tran=* \ + | --progr-tra=* | --program-tr=* | --program-t=*) + program_transform_name=$ac_optarg ;; + + -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) + ac_prev=pdfdir ;; + -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) + pdfdir=$ac_optarg ;; + + -psdir | --psdir | --psdi | --psd | --ps) + ac_prev=psdir ;; + -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) + psdir=$ac_optarg ;; + + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + silent=yes ;; + + -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) + ac_prev=sbindir ;; + -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ + | --sbi=* | --sb=*) + sbindir=$ac_optarg ;; + + -sharedstatedir | --sharedstatedir | --sharedstatedi \ + | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ + | --sharedst | --shareds | --shared | --share | --shar \ + | --sha | --sh) + ac_prev=sharedstatedir ;; + -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ + | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ + | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ + | --sha=* | --sh=*) + sharedstatedir=$ac_optarg ;; + + -site | --site | --sit) + ac_prev=site ;; + -site=* | --site=* | --sit=*) + site=$ac_optarg ;; + + -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) + ac_prev=srcdir ;; + -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) + srcdir=$ac_optarg ;; + + -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ + | --syscon | --sysco | --sysc | --sys | --sy) + ac_prev=sysconfdir ;; + -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ + | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) + sysconfdir=$ac_optarg ;; + + -target | --target | --targe | --targ | --tar | --ta | --t) + ac_prev=target_alias ;; + -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) + target_alias=$ac_optarg ;; + + -v | -verbose | --verbose | --verbos | --verbo | --verb) + verbose=yes ;; + + -version | --version | --versio | --versi | --vers | -V) + ac_init_version=: ;; + + -with-* | --with-*) + ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=\$ac_optarg ;; + + -without-* | --without-*) + ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` + # Reject names that are not valid shell variable names. + expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && + as_fn_error $? "invalid package name: $ac_useropt" + ac_useropt_orig=$ac_useropt + ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` + case $ac_user_opts in + *" +"with_$ac_useropt" +"*) ;; + *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" + ac_unrecognized_sep=', ';; + esac + eval with_$ac_useropt=no ;; + + --x) + # Obsolete; use --with-x. + with_x=yes ;; + + -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ + | --x-incl | --x-inc | --x-in | --x-i) + ac_prev=x_includes ;; + -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ + | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) + x_includes=$ac_optarg ;; + + -x-libraries | --x-libraries | --x-librarie | --x-librari \ + | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) + ac_prev=x_libraries ;; + -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ + | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) + x_libraries=$ac_optarg ;; + + -*) as_fn_error $? "unrecognized option: \`$ac_option' +Try \`$0 --help' for more information" + ;; + + *=*) + ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` + # Reject names that are not valid shell variable names. + case $ac_envvar in #( + '' | [0-9]* | *[!_$as_cr_alnum]* ) + as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; + esac + eval $ac_envvar=\$ac_optarg + export $ac_envvar ;; + + *) + # FIXME: should be removed in autoconf 3.0. + $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 + expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && + $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 + : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" + ;; + + esac +done + +if test -n "$ac_prev"; then + ac_option=--`echo $ac_prev | sed 's/_/-/g'` + as_fn_error $? "missing argument to $ac_option" +fi + +if test -n "$ac_unrecognized_opts"; then + case $enable_option_checking in + no) ;; + fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; + *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; + esac +fi + +# Check all directory arguments for consistency. +for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ + datadir sysconfdir sharedstatedir localstatedir includedir \ + oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ + libdir localedir mandir +do + eval ac_val=\$$ac_var + # Remove trailing slashes. + case $ac_val in + */ ) + ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` + eval $ac_var=\$ac_val;; + esac + # Be sure to have absolute directory names. + case $ac_val in + [\\/$]* | ?:[\\/]* ) continue;; + NONE | '' ) case $ac_var in *prefix ) continue;; esac;; + esac + as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" +done + +# There might be people who depend on the old broken behavior: `$host' +# used to hold the argument of --host etc. +# FIXME: To remove some day. +build=$build_alias +host=$host_alias +target=$target_alias + +# FIXME: To remove some day. +if test "x$host_alias" != x; then + if test "x$build_alias" = x; then + cross_compiling=maybe + $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. + If a cross compiler is detected then cross compile mode will be used" >&2 + elif test "x$build_alias" != "x$host_alias"; then + cross_compiling=yes + fi +fi + +ac_tool_prefix= +test -n "$host_alias" && ac_tool_prefix=$host_alias- + +test "$silent" = yes && exec 6>/dev/null + + +ac_pwd=`pwd` && test -n "$ac_pwd" && +ac_ls_di=`ls -di .` && +ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || + as_fn_error $? "working directory cannot be determined" +test "X$ac_ls_di" = "X$ac_pwd_ls_di" || + as_fn_error $? "pwd does not report name of working directory" + + +# Find the source files, if location was not specified. +if test -z "$srcdir"; then + ac_srcdir_defaulted=yes + # Try the directory containing this script, then the parent directory. + ac_confdir=`$as_dirname -- "$as_myself" || +$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_myself" : 'X\(//\)[^/]' \| \ + X"$as_myself" : 'X\(//\)$' \| \ + X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_myself" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + srcdir=$ac_confdir + if test ! -r "$srcdir/$ac_unique_file"; then + srcdir=.. + fi +else + ac_srcdir_defaulted=no +fi +if test ! -r "$srcdir/$ac_unique_file"; then + test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." + as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" +fi +ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" +ac_abs_confdir=`( + cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" + pwd)` +# When building in place, set srcdir=. +if test "$ac_abs_confdir" = "$ac_pwd"; then + srcdir=. +fi +# Remove unnecessary trailing slashes from srcdir. +# Double slashes in file names in object file debugging info +# mess up M-x gdb in Emacs. +case $srcdir in +*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; +esac +for ac_var in $ac_precious_vars; do + eval ac_env_${ac_var}_set=\${${ac_var}+set} + eval ac_env_${ac_var}_value=\$${ac_var} + eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} + eval ac_cv_env_${ac_var}_value=\$${ac_var} +done + +# +# Report the --help message. +# +if test "$ac_init_help" = "long"; then + # Omit some internal or obsolete options to make the list less imposing. + # This message is too long to be a string in the A/UX 3.1 sh. + cat <<_ACEOF +\`configure' configures HTSlib 1.2.1 to adapt to many kinds of systems. + +Usage: $0 [OPTION]... [VAR=VALUE]... + +To assign environment variables (e.g., CC, CFLAGS...), specify them as +VAR=VALUE. See below for descriptions of some of the useful variables. + +Defaults for the options are specified in brackets. + +Configuration: + -h, --help display this help and exit + --help=short display options specific to this package + --help=recursive display the short help of all the included packages + -V, --version display version information and exit + -q, --quiet, --silent do not print \`checking ...' messages + --cache-file=FILE cache test results in FILE [disabled] + -C, --config-cache alias for \`--cache-file=config.cache' + -n, --no-create do not create output files + --srcdir=DIR find the sources in DIR [configure dir or \`..'] + +Installation directories: + --prefix=PREFIX install architecture-independent files in PREFIX + [$ac_default_prefix] + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX + [PREFIX] + +By default, \`make install' will install all the files in +\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify +an installation prefix other than \`$ac_default_prefix' using \`--prefix', +for instance \`--prefix=\$HOME'. + +For better control, use the options below. + +Fine tuning of the installation directories: + --bindir=DIR user executables [EPREFIX/bin] + --sbindir=DIR system admin executables [EPREFIX/sbin] + --libexecdir=DIR program executables [EPREFIX/libexec] + --sysconfdir=DIR read-only single-machine data [PREFIX/etc] + --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] + --localstatedir=DIR modifiable single-machine data [PREFIX/var] + --libdir=DIR object code libraries [EPREFIX/lib] + --includedir=DIR C header files [PREFIX/include] + --oldincludedir=DIR C header files for non-gcc [/usr/include] + --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] + --datadir=DIR read-only architecture-independent data [DATAROOTDIR] + --infodir=DIR info documentation [DATAROOTDIR/info] + --localedir=DIR locale-dependent data [DATAROOTDIR/locale] + --mandir=DIR man documentation [DATAROOTDIR/man] + --docdir=DIR documentation root [DATAROOTDIR/doc/htslib] + --htmldir=DIR html documentation [DOCDIR] + --dvidir=DIR dvi documentation [DOCDIR] + --pdfdir=DIR pdf documentation [DOCDIR] + --psdir=DIR ps documentation [DOCDIR] +_ACEOF + + cat <<\_ACEOF +_ACEOF +fi + +if test -n "$ac_init_help"; then + case $ac_init_help in + short | recursive ) echo "Configuration of HTSlib 1.2.1:";; + esac + cat <<\_ACEOF + +Optional Packages: + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-irods[=DIR] use RodsAPIs library (in DIR) to support iRODS URLs + +Some influential environment variables: + CC C compiler command + CFLAGS C compiler flags + LDFLAGS linker flags, e.g. -L if you have libraries in a + nonstandard directory + LIBS libraries to pass to the linker, e.g. -l + CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if + you have headers in a nonstandard directory + +Use these variables to override the choices made by `configure' or to help +it to find libraries and programs with nonstandard names/locations. + +Report bugs to . +HTSlib home page: . +_ACEOF +ac_status=$? +fi + +if test "$ac_init_help" = "recursive"; then + # If there are subdirs, report their specific --help. + for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue + test -d "$ac_dir" || + { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || + continue + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + cd "$ac_dir" || { ac_status=$?; continue; } + # Check for guested configure. + if test -f "$ac_srcdir/configure.gnu"; then + echo && + $SHELL "$ac_srcdir/configure.gnu" --help=recursive + elif test -f "$ac_srcdir/configure"; then + echo && + $SHELL "$ac_srcdir/configure" --help=recursive + else + $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 + fi || ac_status=$? + cd "$ac_pwd" || { ac_status=$?; break; } + done +fi + +test -n "$ac_init_help" && exit $ac_status +if $ac_init_version; then + cat <<\_ACEOF +HTSlib configure 1.2.1 +generated by GNU Autoconf 2.68 + +Copyright (C) 2010 Free Software Foundation, Inc. +This configure script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it. + +Portions copyright (C) 2015 Genome Research Ltd. + +This configure script is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent permitted by law. +_ACEOF + exit +fi + +## ------------------------ ## +## Autoconf initialization. ## +## ------------------------ ## + +# ac_fn_c_try_compile LINENO +# -------------------------- +# Try to compile conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext + if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest.$ac_objext; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_compile + +# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES +# ------------------------------------------------------- +# Tests whether HEADER exists and can be compiled using the include files in +# INCLUDES, setting the cache variable VAR accordingly. +ac_fn_c_check_header_compile () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } +if eval \${$3+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +$4 +#include <$2> +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + +} # ac_fn_c_check_header_compile + +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + $as_test_x conftest$ac_exeext + }; then : + ac_retval=0 +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link +cat >config.log <<_ACEOF +This file contains any messages produced by compilers while +running configure, to aid debugging if configure makes a mistake. + +It was created by HTSlib $as_me 1.2.1, which was +generated by GNU Autoconf 2.68. Invocation command line was + + $ $0 $@ + +_ACEOF +exec 5>>config.log +{ +cat <<_ASUNAME +## --------- ## +## Platform. ## +## --------- ## + +hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` +uname -m = `(uname -m) 2>/dev/null || echo unknown` +uname -r = `(uname -r) 2>/dev/null || echo unknown` +uname -s = `(uname -s) 2>/dev/null || echo unknown` +uname -v = `(uname -v) 2>/dev/null || echo unknown` + +/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` +/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` + +/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` +/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` +/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` +/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` +/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` +/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` +/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` + +_ASUNAME + +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + $as_echo "PATH: $as_dir" + done +IFS=$as_save_IFS + +} >&5 + +cat >&5 <<_ACEOF + + +## ----------- ## +## Core tests. ## +## ----------- ## + +_ACEOF + + +# Keep a trace of the command line. +# Strip out --no-create and --no-recursion so they do not pile up. +# Strip out --silent because we don't want to record it for future runs. +# Also quote any args containing shell meta-characters. +# Make two passes to allow for proper duplicate-argument suppression. +ac_configure_args= +ac_configure_args0= +ac_configure_args1= +ac_must_keep_next=false +for ac_pass in 1 2 +do + for ac_arg + do + case $ac_arg in + -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil) + continue ;; + *\'*) + ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; + esac + case $ac_pass in + 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; + 2) + as_fn_append ac_configure_args1 " '$ac_arg'" + if test $ac_must_keep_next = true; then + ac_must_keep_next=false # Got value, back to normal. + else + case $ac_arg in + *=* | --config-cache | -C | -disable-* | --disable-* \ + | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ + | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ + | -with-* | --with-* | -without-* | --without-* | --x) + case "$ac_configure_args0 " in + "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; + esac + ;; + -* ) ac_must_keep_next=true ;; + esac + fi + as_fn_append ac_configure_args " '$ac_arg'" + ;; + esac + done +done +{ ac_configure_args0=; unset ac_configure_args0;} +{ ac_configure_args1=; unset ac_configure_args1;} + +# When interrupted or exit'd, cleanup temporary files, and complete +# config.log. We remove comments because anyway the quotes in there +# would cause problems or look ugly. +# WARNING: Use '\'' to represent an apostrophe within the trap. +# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. +trap 'exit_status=$? + # Save into config.log some information that might help in debugging. + { + echo + + $as_echo "## ---------------- ## +## Cache variables. ## +## ---------------- ##" + echo + # The following way of writing the cache mishandles newlines in values, +( + for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + (set) 2>&1 | + case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + sed -n \ + "s/'\''/'\''\\\\'\'''\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" + ;; #( + *) + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) + echo + + $as_echo "## ----------------- ## +## Output variables. ## +## ----------------- ##" + echo + for ac_var in $ac_subst_vars + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + + if test -n "$ac_subst_files"; then + $as_echo "## ------------------- ## +## File substitutions. ## +## ------------------- ##" + echo + for ac_var in $ac_subst_files + do + eval ac_val=\$$ac_var + case $ac_val in + *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; + esac + $as_echo "$ac_var='\''$ac_val'\''" + done | sort + echo + fi + + if test -s confdefs.h; then + $as_echo "## ----------- ## +## confdefs.h. ## +## ----------- ##" + echo + cat confdefs.h + echo + fi + test "$ac_signal" != 0 && + $as_echo "$as_me: caught signal $ac_signal" + $as_echo "$as_me: exit $exit_status" + } >&5 + rm -f core *.core core.conftest.* && + rm -f -r conftest* confdefs* conf$$* $ac_clean_files && + exit $exit_status +' 0 +for ac_signal in 1 2 13 15; do + trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal +done +ac_signal=0 + +# confdefs.h avoids OS command line length limits that DEFS can exceed. +rm -f -r conftest* confdefs.h + +$as_echo "/* confdefs.h */" > confdefs.h + +# Predefined preprocessor variables. + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_NAME "$PACKAGE_NAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_TARNAME "$PACKAGE_TARNAME" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_VERSION "$PACKAGE_VERSION" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_STRING "$PACKAGE_STRING" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" +_ACEOF + +cat >>confdefs.h <<_ACEOF +#define PACKAGE_URL "$PACKAGE_URL" +_ACEOF + + +# Let the site file select an alternate cache file if it wants to. +# Prefer an explicitly selected file to automatically selected ones. +ac_site_file1=NONE +ac_site_file2=NONE +if test -n "$CONFIG_SITE"; then + # We do not want a PATH search for config.site. + case $CONFIG_SITE in #(( + -*) ac_site_file1=./$CONFIG_SITE;; + */*) ac_site_file1=$CONFIG_SITE;; + *) ac_site_file1=./$CONFIG_SITE;; + esac +elif test "x$prefix" != xNONE; then + ac_site_file1=$prefix/share/config.site + ac_site_file2=$prefix/etc/config.site +else + ac_site_file1=$ac_default_prefix/share/config.site + ac_site_file2=$ac_default_prefix/etc/config.site +fi +for ac_site_file in "$ac_site_file1" "$ac_site_file2" +do + test "x$ac_site_file" = xNONE && continue + if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 +$as_echo "$as_me: loading site script $ac_site_file" >&6;} + sed 's/^/| /' "$ac_site_file" >&5 + . "$ac_site_file" \ + || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "failed to load site script $ac_site_file +See \`config.log' for more details" "$LINENO" 5; } + fi +done + +if test -r "$cache_file"; then + # Some versions of bash will fail to source /dev/null (special files + # actually), so we avoid doing that. DJGPP emulates it as a regular file. + if test /dev/null != "$cache_file" && test -f "$cache_file"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 +$as_echo "$as_me: loading cache $cache_file" >&6;} + case $cache_file in + [\\/]* | ?:[\\/]* ) . "$cache_file";; + *) . "./$cache_file";; + esac + fi +else + { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 +$as_echo "$as_me: creating cache $cache_file" >&6;} + >$cache_file +fi + +# Check that the precious variables saved in the cache have kept the same +# value. +ac_cache_corrupted=false +for ac_var in $ac_precious_vars; do + eval ac_old_set=\$ac_cv_env_${ac_var}_set + eval ac_new_set=\$ac_env_${ac_var}_set + eval ac_old_val=\$ac_cv_env_${ac_var}_value + eval ac_new_val=\$ac_env_${ac_var}_value + case $ac_old_set,$ac_new_set in + set,) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,set) + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 +$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} + ac_cache_corrupted=: ;; + ,);; + *) + if test "x$ac_old_val" != "x$ac_new_val"; then + # differences in whitespace do not lead to failure. + ac_old_val_w=`echo x $ac_old_val` + ac_new_val_w=`echo x $ac_new_val` + if test "$ac_old_val_w" != "$ac_new_val_w"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 +$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} + ac_cache_corrupted=: + else + { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 +$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} + eval $ac_var=\$ac_old_val + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 +$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 +$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} + fi;; + esac + # Pass precious variables to config.status. + if test "$ac_new_set" = set; then + case $ac_new_val in + *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; + *) ac_arg=$ac_var=$ac_new_val ;; + esac + case " $ac_configure_args " in + *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. + *) as_fn_append ac_configure_args " '$ac_arg'" ;; + esac + fi +done +if $ac_cache_corrupted; then + { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 +$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} + as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 +fi +## -------------------- ## +## Main body of script. ## +## -------------------- ## + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + + + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. +set dummy ${ac_tool_prefix}gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_CC"; then + ac_ct_CC=$CC + # Extract the first word of "gcc", so it can be a program name with args. +set dummy gcc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="gcc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +else + CC="$ac_cv_prog_CC" +fi + +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. +set dummy ${ac_tool_prefix}cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="${ac_tool_prefix}cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + fi +fi +if test -z "$CC"; then + # Extract the first word of "cc", so it can be a program name with args. +set dummy cc; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else + ac_prog_rejected=no +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then + ac_prog_rejected=yes + continue + fi + ac_cv_prog_CC="cc" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +if test $ac_prog_rejected = yes; then + # We found a bogon in the path, so make sure we never use it. + set dummy $ac_cv_prog_CC + shift + if test $# != 0; then + # We chose a different compiler from the bogus one. + # However, it has the same basename, so the bogon will be chosen + # first if we set CC to just the basename; use the full file name. + shift + ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" + fi +fi +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$CC"; then + if test -n "$ac_tool_prefix"; then + for ac_prog in cl.exe + do + # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. +set dummy $ac_tool_prefix$ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$CC"; then + ac_cv_prog_CC="$CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_CC="$ac_tool_prefix$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +CC=$ac_cv_prog_CC +if test -n "$CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 +$as_echo "$CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$CC" && break + done +fi +if test -z "$CC"; then + ac_ct_CC=$CC + for ac_prog in cl.exe +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_CC+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_CC"; then + ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_CC="$ac_prog" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_CC=$ac_cv_prog_ac_ct_CC +if test -n "$ac_ct_CC"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 +$as_echo "$ac_ct_CC" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$ac_ct_CC" && break +done + + if test "x$ac_ct_CC" = x; then + CC="" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + CC=$ac_ct_CC + fi +fi + +fi + + +test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "no acceptable C compiler found in \$PATH +See \`config.log' for more details" "$LINENO" 5; } + +# Provide some information about the compiler. +$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 +set X $ac_compile +ac_compiler=$2 +for ac_option in --version -v -V -qversion; do + { { ac_try="$ac_compiler $ac_option >&5" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compiler $ac_option >&5") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + sed '10a\ +... rest of stderr output deleted ... + 10q' conftest.err >conftest.er1 + cat conftest.er1 >&5 + fi + rm -f conftest.er1 conftest.err + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } +done + +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" +# Try to create an executable without -o first, disregard a.out. +# It will help us diagnose broken compilers, and finding out an intuition +# of exeext. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 +$as_echo_n "checking whether the C compiler works... " >&6; } +ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` + +# The possible output files: +ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" + +ac_rmfiles= +for ac_file in $ac_files +do + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + * ) ac_rmfiles="$ac_rmfiles $ac_file";; + esac +done +rm -f $ac_rmfiles + +if { { ac_try="$ac_link_default" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link_default") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. +# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' +# in a Makefile. We should not override ac_cv_exeext if it was cached, +# so that the user can short-circuit this test for compilers unknown to +# Autoconf. +for ac_file in $ac_files '' +do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) + ;; + [ab].out ) + # We found the default executable, but exeext='' is most + # certainly right. + break;; + *.* ) + if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; + then :; else + ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + fi + # We set ac_cv_exeext here because the later test for it is not + # safe: cross compilers may not add the suffix if given an `-o' + # argument, so we may need to know it at that point already. + # Even if this section looks crufty: it has the advantage of + # actually working. + break;; + * ) + break;; + esac +done +test "$ac_cv_exeext" = no && ac_cv_exeext= + +else + ac_file='' +fi +if test -z "$ac_file"; then : + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +$as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error 77 "C compiler cannot create executables +See \`config.log' for more details" "$LINENO" 5; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 +$as_echo_n "checking for C compiler default output file name... " >&6; } +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 +$as_echo "$ac_file" >&6; } +ac_exeext=$ac_cv_exeext + +rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 +$as_echo_n "checking for suffix of executables... " >&6; } +if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + # If both `conftest.exe' and `conftest' are `present' (well, observable) +# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will +# work properly (i.e., refer to `conftest.exe'), while it won't with +# `rm'. +for ac_file in conftest.exe conftest conftest.*; do + test -f "$ac_file" || continue + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; + *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` + break;; + * ) break;; + esac +done +else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of executables: cannot compile and link +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest conftest$ac_cv_exeext +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 +$as_echo "$ac_cv_exeext" >&6; } + +rm -f conftest.$ac_ext +EXEEXT=$ac_cv_exeext +ac_exeext=$EXEEXT +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main () +{ +FILE *f = fopen ("conftest.out", "w"); + return ferror (f) || fclose (f) != 0; + + ; + return 0; +} +_ACEOF +ac_clean_files="$ac_clean_files conftest.out" +# Check that the compiler produces executables we can run. If not, either +# the compiler is broken, or we cross compile. +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 +$as_echo_n "checking whether we are cross compiling... " >&6; } +if test "$cross_compiling" != yes; then + { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } + if { ac_try='./conftest$ac_cv_exeext' + { { case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_try") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; }; then + cross_compiling=no + else + if test "$cross_compiling" = maybe; then + cross_compiling=yes + else + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot run C compiled programs. +If you meant to cross compile, use \`--host'. +See \`config.log' for more details" "$LINENO" 5; } + fi + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 +$as_echo "$cross_compiling" >&6; } + +rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out +ac_clean_files=$ac_clean_files_save +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 +$as_echo_n "checking for suffix of object files... " >&6; } +if ${ac_cv_objext+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +rm -f conftest.o conftest.obj +if { { ac_try="$ac_compile" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +$as_echo "$ac_try_echo"; } >&5 + (eval "$ac_compile") 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; then : + for ac_file in conftest.o conftest.obj conftest.*; do + test -f "$ac_file" || continue; + case $ac_file in + *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; + *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` + break;; + esac +done +else + $as_echo "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + +{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "cannot compute suffix of object files: cannot compile +See \`config.log' for more details" "$LINENO" 5; } +fi +rm -f conftest.$ac_cv_objext conftest.$ac_ext +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 +$as_echo "$ac_cv_objext" >&6; } +OBJEXT=$ac_cv_objext +ac_objext=$OBJEXT +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 +$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } +if ${ac_cv_c_compiler_gnu+:} false; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ +#ifndef __GNUC__ + choke me +#endif + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_compiler_gnu=yes +else + ac_compiler_gnu=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +ac_cv_c_compiler_gnu=$ac_compiler_gnu + +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 +$as_echo "$ac_cv_c_compiler_gnu" >&6; } +if test $ac_compiler_gnu = yes; then + GCC=yes +else + GCC= +fi +ac_test_CFLAGS=${CFLAGS+set} +ac_save_CFLAGS=$CFLAGS +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 +$as_echo_n "checking whether $CC accepts -g... " >&6; } +if ${ac_cv_prog_cc_g+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_save_c_werror_flag=$ac_c_werror_flag + ac_c_werror_flag=yes + ac_cv_prog_cc_g=no + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +else + CFLAGS="" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + +else + ac_c_werror_flag=$ac_save_c_werror_flag + CFLAGS="-g" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main () +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_g=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext +fi +rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + ac_c_werror_flag=$ac_save_c_werror_flag +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 +$as_echo "$ac_cv_prog_cc_g" >&6; } +if test "$ac_test_CFLAGS" = set; then + CFLAGS=$ac_save_CFLAGS +elif test $ac_cv_prog_cc_g = yes; then + if test "$GCC" = yes; then + CFLAGS="-g -O2" + else + CFLAGS="-g" + fi +else + if test "$GCC" = yes; then + CFLAGS="-O2" + else + CFLAGS= + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 +$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } +if ${ac_cv_prog_cc_c89+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_cv_prog_cc_c89=no +ac_save_CC=$CC +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +#include +#include +#include +/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ +struct buf { int x; }; +FILE * (*rcsopen) (struct buf *, struct stat *, int); +static char *e (p, i) + char **p; + int i; +{ + return p[i]; +} +static char *f (char * (*g) (char **, int), char **p, ...) +{ + char *s; + va_list v; + va_start (v,p); + s = g (p, va_arg (v,int)); + va_end (v); + return s; +} + +/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has + function prototypes and stuff, but not '\xHH' hex character constants. + These don't provoke an error unfortunately, instead are silently treated + as 'x'. The following induces an error, until -std is added to get + proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an + array size at least. It's necessary to write '\x00'==0 to get something + that's true only with -std. */ +int osf4_cc_array ['\x00' == 0 ? 1 : -1]; + +/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters + inside strings and character constants. */ +#define FOO(x) 'x' +int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; + +int test (int i, double x); +struct s1 {int (*f) (int a);}; +struct s2 {int (*f) (double a);}; +int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); +int argc; +char **argv; +int +main () +{ +return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; + ; + return 0; +} +_ACEOF +for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ + -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" +do + CC="$ac_save_CC $ac_arg" + if ac_fn_c_try_compile "$LINENO"; then : + ac_cv_prog_cc_c89=$ac_arg +fi +rm -f core conftest.err conftest.$ac_objext + test "x$ac_cv_prog_cc_c89" != "xno" && break +done +rm -f conftest.$ac_ext +CC=$ac_save_CC + +fi +# AC_CACHE_VAL +case "x$ac_cv_prog_cc_c89" in + x) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 +$as_echo "none needed" >&6; } ;; + xno) + { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 +$as_echo "unsupported" >&6; } ;; + *) + CC="$CC $ac_cv_prog_cc_c89" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 +$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; +esac +if test "x$ac_cv_prog_cc_c89" != xno; then : + +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + +if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. +set dummy ${ac_tool_prefix}ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$RANLIB"; then + ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +RANLIB=$ac_cv_prog_RANLIB +if test -n "$RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5 +$as_echo "$RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_prog_RANLIB"; then + ac_ct_RANLIB=$RANLIB + # Extract the first word of "ranlib", so it can be a program name with args. +set dummy ranlib; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_prog_ac_ct_RANLIB+:} false; then : + $as_echo_n "(cached) " >&6 +else + if test -n "$ac_ct_RANLIB"; then + ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_ac_ct_RANLIB="ranlib" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + +fi +fi +ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB +if test -n "$ac_ct_RANLIB"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5 +$as_echo "$ac_ct_RANLIB" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + if test "x$ac_ct_RANLIB" = x; then + RANLIB=":" + else + case $cross_compiling:$ac_tool_warned in +yes:) +{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 +$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} +ac_tool_warned=yes ;; +esac + RANLIB=$ac_ct_RANLIB + fi +else + RANLIB="$ac_cv_prog_RANLIB" +fi + + + +# Check whether --with-irods was given. +if test "${with_irods+set}" = set; then : + withval=$with_irods; case $withval in + no) irods=disabled ;; + yes) irods=enabled ;; + *) irods=enabled; IRODS_HOME=$withval ;; + esac +else + irods=disabled +fi + + +save_LIBS=$LIBS +zlib_devel=ok + +ac_fn_c_check_header_compile "$LINENO" "zlib.h" "ac_cv_header_zlib_h" "; +" +if test "x$ac_cv_header_zlib_h" = xyes; then : + +else + zlib_devel=missing +fi + + +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for inflate in -lz" >&5 +$as_echo_n "checking for inflate in -lz... " >&6; } +if ${ac_cv_lib_z_inflate+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lz $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char inflate (); +int +main () +{ +return inflate (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_z_inflate=yes +else + ac_cv_lib_z_inflate=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_inflate" >&5 +$as_echo "$ac_cv_lib_z_inflate" >&6; } +if test "x$ac_cv_lib_z_inflate" = xyes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_LIBZ 1 +_ACEOF + + LIBS="-lz $LIBS" + +else + zlib_devel=missing +fi + +LIBS=$save_LIBS + +if test $zlib_devel != ok; then + as_fn_error $? "zlib development files not found + +HTSlib uses compression routines from the zlib library . +Building HTSlib requires zlib development files to be installed on the build +machine; you may need to ensure a package such as zlib1g-dev (on Debian or +Ubuntu Linux) or zlib-devel (on RPM-based Linux distributions) is installed. + +FAILED. This error must be resolved in order to build HTSlib successfully." "$LINENO" 5 +fi + +if test $irods = enabled; then + # TODO Also test whether we require libgssapi_krb5 and AC_CHECK_LIB it + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L$IRODS_HOME/lib/core/obj" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getRodsEnvFileName in -lRodsAPIs" >&5 +$as_echo_n "checking for getRodsEnvFileName in -lRodsAPIs... " >&6; } +if ${ac_cv_lib_RodsAPIs_getRodsEnvFileName+:} false; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lRodsAPIs -lgssapi_krb5 -lpthread $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char getRodsEnvFileName (); +int +main () +{ +return getRodsEnvFileName (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_RodsAPIs_getRodsEnvFileName=yes +else + ac_cv_lib_RodsAPIs_getRodsEnvFileName=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_RodsAPIs_getRodsEnvFileName" >&5 +$as_echo "$ac_cv_lib_RodsAPIs_getRodsEnvFileName" >&6; } +if test "x$ac_cv_lib_RodsAPIs_getRodsEnvFileName" = xyes; then : + case $with_irods in + yes) define_IRODS_HOME='# Uses $(IRODS_HOME) from the environment' ;; + *) define_IRODS_HOME="IRODS_HOME = $with_irods" ;; + esac +else + as_fn_error $? "iRODS development files not found + +Support for iRODS URLs requires the libRodsAPI client library and headers. +Configure with --with-irods=DIR (or just --with-irods if \$IRODS_HOME has +been exported with a suitable value), where DIR is the base of an iRODS tree +such that the library is present as DIR/lib/core/obj/libRodsAPI.* and headers +are present under DIR/lib/api/include and so on." "$LINENO" 5 +fi + + LDFLAGS=$save_LDFLAGS +else + define_IRODS_HOME='IRODS_HOME ?= /disabled' +fi + + + +ac_config_files="$ac_config_files config.mk" + +cat >confcache <<\_ACEOF +# This file is a shell script that caches the results of configure +# tests run on this system so they can be shared between configure +# scripts and configure runs, see configure's option --config-cache. +# It is not useful on other systems. If it contains results you don't +# want to keep, you may remove or edit it. +# +# config.status only pays attention to the cache file if you give it +# the --recheck option to rerun configure. +# +# `ac_cv_env_foo' variables (set or unset) will be overridden when +# loading this file, other *unset* `ac_cv_foo' will be assigned the +# following values. + +_ACEOF + +# The following way of writing the cache mishandles newlines in values, +# but we know of no workaround that is simple, portable, and efficient. +# So, we kill variables containing newlines. +# Ultrix sh set writes to stderr and can't be redirected directly, +# and sets the high bit in the cache file unless we assign to the vars. +( + for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do + eval ac_val=\$$ac_var + case $ac_val in #( + *${as_nl}*) + case $ac_var in #( + *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 +$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; + esac + case $ac_var in #( + _ | IFS | as_nl) ;; #( + BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( + *) { eval $ac_var=; unset $ac_var;} ;; + esac ;; + esac + done + + (set) 2>&1 | + case $as_nl`(ac_space=' '; set) 2>&1` in #( + *${as_nl}ac_space=\ *) + # `set' does not quote correctly, so add quotes: double-quote + # substitution turns \\\\ into \\, and sed turns \\ into \. + sed -n \ + "s/'/'\\\\''/g; + s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" + ;; #( + *) + # `set' quotes correctly as required by POSIX, so do not add quotes. + sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" + ;; + esac | + sort +) | + sed ' + /^ac_cv_env_/b end + t clear + :clear + s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ + t end + s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ + :end' >>confcache +if diff "$cache_file" confcache >/dev/null 2>&1; then :; else + if test -w "$cache_file"; then + if test "x$cache_file" != "x/dev/null"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 +$as_echo "$as_me: updating cache $cache_file" >&6;} + if test ! -f "$cache_file" || test -h "$cache_file"; then + cat confcache >"$cache_file" + else + case $cache_file in #( + */* | ?:*) + mv -f confcache "$cache_file"$$ && + mv -f "$cache_file"$$ "$cache_file" ;; #( + *) + mv -f confcache "$cache_file" ;; + esac + fi + fi + else + { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 +$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} + fi +fi +rm -f confcache + +test "x$prefix" = xNONE && prefix=$ac_default_prefix +# Let make expand exec_prefix. +test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' + +# Transform confdefs.h into DEFS. +# Protect against shell expansion while executing Makefile rules. +# Protect against Makefile macro expansion. +# +# If the first sed substitution is executed (which looks for macros that +# take arguments), then branch to the quote section. Otherwise, +# look for a macro that doesn't take arguments. +ac_script=' +:mline +/\\$/{ + N + s,\\\n,, + b mline +} +t clear +:clear +s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g +t quote +s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g +t quote +b any +:quote +s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g +s/\[/\\&/g +s/\]/\\&/g +s/\$/$$/g +H +:any +${ + g + s/^\n// + s/\n/ /g + p +} +' +DEFS=`sed -n "$ac_script" confdefs.h` + + +ac_libobjs= +ac_ltlibobjs= +U= +for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue + # 1. Remove the extension, and $U if already installed. + ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' + ac_i=`$as_echo "$ac_i" | sed "$ac_script"` + # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR + # will be set to the directory where LIBOBJS objects are built. + as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" + as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' +done +LIBOBJS=$ac_libobjs + +LTLIBOBJS=$ac_ltlibobjs + + + +: "${CONFIG_STATUS=./config.status}" +ac_write_fail=0 +ac_clean_files_save=$ac_clean_files +ac_clean_files="$ac_clean_files $CONFIG_STATUS" +{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 +$as_echo "$as_me: creating $CONFIG_STATUS" >&6;} +as_write_fail=0 +cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 +#! $SHELL +# Generated by $as_me. +# Run this file to recreate the current configuration. +# Compiler output produced by configure, useful for debugging +# configure, is in config.log if it exists. + +debug=false +ac_cs_recheck=false +ac_cs_silent=false + +SHELL=\${CONFIG_SHELL-$SHELL} +export SHELL +_ASEOF +cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 +## -------------------- ## +## M4sh Initialization. ## +## -------------------- ## + +# Be more Bourne compatible +DUALCASE=1; export DUALCASE # for MKS sh +if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : + emulate sh + NULLCMD=: + # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which + # is contrary to our usage. Disable this feature. + alias -g '${1+"$@"}'='"$@"' + setopt NO_GLOB_SUBST +else + case `(set -o) 2>/dev/null` in #( + *posix*) : + set -o posix ;; #( + *) : + ;; +esac +fi + + +as_nl=' +' +export as_nl +# Printing a long string crashes Solaris 7 /usr/bin/printf. +as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo +as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo +# Prefer a ksh shell builtin over an external printf program on Solaris, +# but without wasting forks for bash or zsh. +if test -z "$BASH_VERSION$ZSH_VERSION" \ + && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='print -r --' + as_echo_n='print -rn --' +elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then + as_echo='printf %s\n' + as_echo_n='printf %s' +else + if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then + as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' + as_echo_n='/usr/ucb/echo -n' + else + as_echo_body='eval expr "X$1" : "X\\(.*\\)"' + as_echo_n_body='eval + arg=$1; + case $arg in #( + *"$as_nl"*) + expr "X$arg" : "X\\(.*\\)$as_nl"; + arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; + esac; + expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" + ' + export as_echo_n_body + as_echo_n='sh -c $as_echo_n_body as_echo' + fi + export as_echo_body + as_echo='sh -c $as_echo_body as_echo' +fi + +# The user is always right. +if test "${PATH_SEPARATOR+set}" != set; then + PATH_SEPARATOR=: + (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { + (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || + PATH_SEPARATOR=';' + } +fi + + +# IFS +# We need space, tab and new line, in precisely that order. Quoting is +# there to prevent editors from complaining about space-tab. +# (If _AS_PATH_WALK were called with IFS unset, it would disable word +# splitting by setting IFS to empty value.) +IFS=" "" $as_nl" + +# Find who we are. Look in the path if we contain no directory separator. +as_myself= +case $0 in #(( + *[\\/]* ) as_myself=$0 ;; + *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break + done +IFS=$as_save_IFS + + ;; +esac +# We did not find ourselves, most probably we were run as `sh COMMAND' +# in which case we are not to be found in the path. +if test "x$as_myself" = x; then + as_myself=$0 +fi +if test ! -f "$as_myself"; then + $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 + exit 1 +fi + +# Unset variables that we do not need and which cause bugs (e.g. in +# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" +# suppresses any "Segmentation fault" message there. '((' could +# trigger a bug in pdksh 5.2.14. +for as_var in BASH_ENV ENV MAIL MAILPATH +do eval test x\${$as_var+set} = xset \ + && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : +done +PS1='$ ' +PS2='> ' +PS4='+ ' + +# NLS nuisances. +LC_ALL=C +export LC_ALL +LANGUAGE=C +export LANGUAGE + +# CDPATH. +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH + + +# as_fn_error STATUS ERROR [LINENO LOG_FD] +# ---------------------------------------- +# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are +# provided, also output the error to LOG_FD, referencing LINENO. Then exit the +# script with STATUS, using 1 if that was 0. +as_fn_error () +{ + as_status=$1; test $as_status -eq 0 && as_status=1 + if test "$4"; then + as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 + fi + $as_echo "$as_me: error: $2" >&2 + as_fn_exit $as_status +} # as_fn_error + + +# as_fn_set_status STATUS +# ----------------------- +# Set $? to STATUS, without forking. +as_fn_set_status () +{ + return $1 +} # as_fn_set_status + +# as_fn_exit STATUS +# ----------------- +# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. +as_fn_exit () +{ + set +e + as_fn_set_status $1 + exit $1 +} # as_fn_exit + +# as_fn_unset VAR +# --------------- +# Portably unset VAR. +as_fn_unset () +{ + { eval $1=; unset $1;} +} +as_unset=as_fn_unset +# as_fn_append VAR VALUE +# ---------------------- +# Append the text in VALUE to the end of the definition contained in VAR. Take +# advantage of any shell optimizations that allow amortized linear growth over +# repeated appends, instead of the typical quadratic growth present in naive +# implementations. +if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : + eval 'as_fn_append () + { + eval $1+=\$2 + }' +else + as_fn_append () + { + eval $1=\$$1\$2 + } +fi # as_fn_append + +# as_fn_arith ARG... +# ------------------ +# Perform arithmetic evaluation on the ARGs, and store the result in the +# global $as_val. Take advantage of shells that can avoid forks. The arguments +# must be portable across $(()) and expr. +if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : + eval 'as_fn_arith () + { + as_val=$(( $* )) + }' +else + as_fn_arith () + { + as_val=`expr "$@" || test $? -eq 1` + } +fi # as_fn_arith + + +if expr a : '\(a\)' >/dev/null 2>&1 && + test "X`expr 00001 : '.*\(...\)'`" = X001; then + as_expr=expr +else + as_expr=false +fi + +if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then + as_basename=basename +else + as_basename=false +fi + +if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then + as_dirname=dirname +else + as_dirname=false +fi + +as_me=`$as_basename -- "$0" || +$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X/"$0" | + sed '/^.*\/\([^/][^/]*\)\/*$/{ + s//\1/ + q + } + /^X\/\(\/\/\)$/{ + s//\1/ + q + } + /^X\/\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +# Avoid depending upon Character Ranges. +as_cr_letters='abcdefghijklmnopqrstuvwxyz' +as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' +as_cr_Letters=$as_cr_letters$as_cr_LETTERS +as_cr_digits='0123456789' +as_cr_alnum=$as_cr_Letters$as_cr_digits + +ECHO_C= ECHO_N= ECHO_T= +case `echo -n x` in #((((( +-n*) + case `echo 'xy\c'` in + *c*) ECHO_T=' ';; # ECHO_T is single tab character. + xy) ECHO_C='\c';; + *) echo `echo ksh88 bug on AIX 6.1` > /dev/null + ECHO_T=' ';; + esac;; +*) + ECHO_N='-n';; +esac + +rm -f conf$$ conf$$.exe conf$$.file +if test -d conf$$.dir; then + rm -f conf$$.dir/conf$$.file +else + rm -f conf$$.dir + mkdir conf$$.dir 2>/dev/null +fi +if (echo >conf$$.file) 2>/dev/null; then + if ln -s conf$$.file conf$$ 2>/dev/null; then + as_ln_s='ln -s' + # ... but there are two gotchas: + # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. + # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. + # In both cases, we have to default to `cp -p'. + ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || + as_ln_s='cp -p' + elif ln conf$$.file conf$$ 2>/dev/null; then + as_ln_s=ln + else + as_ln_s='cp -p' + fi +else + as_ln_s='cp -p' +fi +rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file +rmdir conf$$.dir 2>/dev/null + + +# as_fn_mkdir_p +# ------------- +# Create "$as_dir" as a directory, including parents if necessary. +as_fn_mkdir_p () +{ + + case $as_dir in #( + -*) as_dir=./$as_dir;; + esac + test -d "$as_dir" || eval $as_mkdir_p || { + as_dirs= + while :; do + case $as_dir in #( + *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( + *) as_qdir=$as_dir;; + esac + as_dirs="'$as_qdir' $as_dirs" + as_dir=`$as_dirname -- "$as_dir" || +$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$as_dir" : 'X\(//\)[^/]' \| \ + X"$as_dir" : 'X\(//\)$' \| \ + X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$as_dir" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + test -d "$as_dir" && break + done + test -z "$as_dirs" || eval "mkdir $as_dirs" + } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" + + +} # as_fn_mkdir_p +if mkdir -p . 2>/dev/null; then + as_mkdir_p='mkdir -p "$as_dir"' +else + test -d ./-p && rmdir ./-p + as_mkdir_p=false +fi + +if test -x / >/dev/null 2>&1; then + as_test_x='test -x' +else + if ls -dL / >/dev/null 2>&1; then + as_ls_L_option=L + else + as_ls_L_option= + fi + as_test_x=' + eval sh -c '\'' + if test -d "$1"; then + test -d "$1/."; + else + case $1 in #( + -*)set "./$1";; + esac; + case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( + ???[sx]*):;;*)false;;esac;fi + '\'' sh + ' +fi +as_executable_p=$as_test_x + +# Sed expression to map a string onto a valid CPP name. +as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" + +# Sed expression to map a string onto a valid variable name. +as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" + + +exec 6>&1 +## ----------------------------------- ## +## Main body of $CONFIG_STATUS script. ## +## ----------------------------------- ## +_ASEOF +test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# Save the log message, to keep $0 and so on meaningful, and to +# report actual input values of CONFIG_FILES etc. instead of their +# values after options handling. +ac_log=" +This file was extended by HTSlib $as_me 1.2.1, which was +generated by GNU Autoconf 2.68. Invocation command line was + + CONFIG_FILES = $CONFIG_FILES + CONFIG_HEADERS = $CONFIG_HEADERS + CONFIG_LINKS = $CONFIG_LINKS + CONFIG_COMMANDS = $CONFIG_COMMANDS + $ $0 $@ + +on `(hostname || uname -n) 2>/dev/null | sed 1q` +" + +_ACEOF + +case $ac_config_files in *" +"*) set x $ac_config_files; shift; ac_config_files=$*;; +esac + + + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +# Files that config.status was made for. +config_files="$ac_config_files" + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +ac_cs_usage="\ +\`$as_me' instantiates files and other configuration actions +from templates according to the current configuration. Unless the files +and actions are specified as TAGs, all are instantiated by default. + +Usage: $0 [OPTION]... [TAG]... + + -h, --help print this help, then exit + -V, --version print version number and configuration settings, then exit + --config print configuration, then exit + -q, --quiet, --silent + do not print progress messages + -d, --debug don't remove temporary files + --recheck update $as_me by reconfiguring in the same conditions + --file=FILE[:TEMPLATE] + instantiate the configuration file FILE + +Configuration files: +$config_files + +Report bugs to . +HTSlib home page: ." + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" +ac_cs_version="\\ +HTSlib config.status 1.2.1 +configured by $0, generated by GNU Autoconf 2.68, + with options \\"\$ac_cs_config\\" + +Copyright (C) 2010 Free Software Foundation, Inc. +This config.status script is free software; the Free Software Foundation +gives unlimited permission to copy, distribute and modify it." + +ac_pwd='$ac_pwd' +srcdir='$srcdir' +test -n "\$AWK" || AWK=awk +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# The default lists apply if the user does not specify any file. +ac_need_defaults=: +while test $# != 0 +do + case $1 in + --*=?*) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` + ac_shift=: + ;; + --*=) + ac_option=`expr "X$1" : 'X\([^=]*\)='` + ac_optarg= + ac_shift=: + ;; + *) + ac_option=$1 + ac_optarg=$2 + ac_shift=shift + ;; + esac + + case $ac_option in + # Handling of the options. + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) + ac_cs_recheck=: ;; + --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) + $as_echo "$ac_cs_version"; exit ;; + --config | --confi | --conf | --con | --co | --c ) + $as_echo "$ac_cs_config"; exit ;; + --debug | --debu | --deb | --de | --d | -d ) + debug=: ;; + --file | --fil | --fi | --f ) + $ac_shift + case $ac_optarg in + *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; + '') as_fn_error $? "missing file argument" ;; + esac + as_fn_append CONFIG_FILES " '$ac_optarg'" + ac_need_defaults=false;; + --he | --h | --help | --hel | -h ) + $as_echo "$ac_cs_usage"; exit ;; + -q | -quiet | --quiet | --quie | --qui | --qu | --q \ + | -silent | --silent | --silen | --sile | --sil | --si | --s) + ac_cs_silent=: ;; + + # This is an error. + -*) as_fn_error $? "unrecognized option: \`$1' +Try \`$0 --help' for more information." ;; + + *) as_fn_append ac_config_targets " $1" + ac_need_defaults=false ;; + + esac + shift +done + +ac_configure_extra_args= + +if $ac_cs_silent; then + exec 6>/dev/null + ac_configure_extra_args="$ac_configure_extra_args --silent" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +if \$ac_cs_recheck; then + set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion + shift + \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 + CONFIG_SHELL='$SHELL' + export CONFIG_SHELL + exec "\$@" +fi + +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +exec 5>>config.log +{ + echo + sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX +## Running $as_me. ## +_ASBOX + $as_echo "$ac_log" +} >&5 + +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 + +# Handling of arguments. +for ac_config_target in $ac_config_targets +do + case $ac_config_target in + "config.mk") CONFIG_FILES="$CONFIG_FILES config.mk" ;; + + *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; + esac +done + + +# If the user did not use the arguments to specify the items to instantiate, +# then the envvar interface is used. Set only those that are not. +# We use the long form for the default assignment because of an extremely +# bizarre bug on SunOS 4.1.3. +if $ac_need_defaults; then + test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files +fi + +# Have a temporary directory for convenience. Make it in the build tree +# simply because there is no reason against having it here, and in addition, +# creating and moving files from /tmp can sometimes cause problems. +# Hook for its removal unless debugging. +# Note that there is a small window in which the directory will not be cleaned: +# after its creation but before its name has been assigned to `$tmp'. +$debug || +{ + tmp= ac_tmp= + trap 'exit_status=$? + : "${ac_tmp:=$tmp}" + { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status +' 0 + trap 'as_fn_exit 1' 1 2 13 15 +} +# Create a (secure) tmp directory for tmp files. + +{ + tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && + test -d "$tmp" +} || +{ + tmp=./conf$$-$RANDOM + (umask 077 && mkdir "$tmp") +} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 +ac_tmp=$tmp + +# Set up the scripts for CONFIG_FILES section. +# No need to generate them if there are no CONFIG_FILES. +# This happens for instance with `./config.status config.h'. +if test -n "$CONFIG_FILES"; then + + +ac_cr=`echo X | tr X '\015'` +# On cygwin, bash can eat \r inside `` if the user requested igncr. +# But we know of no other shell where ac_cr would be empty at this +# point, so we can use a bashism as a fallback. +if test "x$ac_cr" = x; then + eval ac_cr=\$\'\\r\' +fi +ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` +if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then + ac_cs_awk_cr='\\r' +else + ac_cs_awk_cr=$ac_cr +fi + +echo 'BEGIN {' >"$ac_tmp/subs1.awk" && +_ACEOF + + +{ + echo "cat >conf$$subs.awk <<_ACEOF" && + echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && + echo "_ACEOF" +} >conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` +ac_delim='%!_!# ' +for ac_last_try in false false false false false :; do + . ./conf$$subs.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + + ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` + if test $ac_delim_n = $ac_delim_num; then + break + elif $ac_last_try; then + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 + else + ac_delim="$ac_delim!$ac_delim _$ac_delim!! " + fi +done +rm -f conf$$subs.sh + +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && +_ACEOF +sed -n ' +h +s/^/S["/; s/!.*/"]=/ +p +g +s/^[^!]*!// +:repl +t repl +s/'"$ac_delim"'$// +t delim +:nl +h +s/\(.\{148\}\)..*/\1/ +t more1 +s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ +p +n +b repl +:more1 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t nl +:delim +h +s/\(.\{148\}\)..*/\1/ +t more2 +s/["\\]/\\&/g; s/^/"/; s/$/"/ +p +b +:more2 +s/["\\]/\\&/g; s/^/"/; s/$/"\\/ +p +g +s/.\{148\}// +t delim +' >$CONFIG_STATUS || ac_write_fail=1 +rm -f conf$$subs.awk +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +_ACAWK +cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + for (key in S) S_is_set[key] = 1 + FS = "" + +} +{ + line = $ 0 + nfields = split(line, field, "@") + substed = 0 + len = length(field[1]) + for (i = 2; i < nfields; i++) { + key = field[i] + keylen = length(key) + if (S_is_set[key]) { + value = S[key] + line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) + len += length(value) + length(field[++i]) + substed = 1 + } else + len += 1 + keylen + } + + print line +} + +_ACAWK +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then + sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" +else + cat +fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ + || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 +_ACEOF + +# VPATH may cause trouble with some makes, so we remove sole $(srcdir), +# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and +# trailing colons and then remove the whole line if VPATH becomes empty +# (actually we leave an empty line to preserve line numbers). +if test "x$srcdir" = x.; then + ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ +h +s/// +s/^/:/ +s/[ ]*$/:/ +s/:\$(srcdir):/:/g +s/:\${srcdir}:/:/g +s/:@srcdir@:/:/g +s/^:*// +s/:*$// +x +s/\(=[ ]*\).*/\1/ +G +s/\n// +s/^[^=]*=[ ]*$// +}' +fi + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +fi # test -n "$CONFIG_FILES" + + +eval set X " :F $CONFIG_FILES " +shift +for ac_tag +do + case $ac_tag in + :[FHLC]) ac_mode=$ac_tag; continue;; + esac + case $ac_mode$ac_tag in + :[FHL]*:*);; + :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; + :[FH]-) ac_tag=-:-;; + :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; + esac + ac_save_IFS=$IFS + IFS=: + set x $ac_tag + IFS=$ac_save_IFS + shift + ac_file=$1 + shift + + case $ac_mode in + :L) ac_source=$1;; + :[FH]) + ac_file_inputs= + for ac_f + do + case $ac_f in + -) ac_f="$ac_tmp/stdin";; + *) # Look for the file first in the build tree, then in the source tree + # (if the path is not absolute). The absolute path cannot be DOS-style, + # because $ac_f cannot contain `:'. + test -f "$ac_f" || + case $ac_f in + [\\/$]*) false;; + *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; + esac || + as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; + esac + case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac + as_fn_append ac_file_inputs " '$ac_f'" + done + + # Let's still pretend it is `configure' which instantiates (i.e., don't + # use $as_me), people would be surprised to read: + # /* config.h. Generated by config.status. */ + configure_input='Generated from '` + $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' + `' by configure.' + if test x"$ac_file" != x-; then + configure_input="$ac_file. $configure_input" + { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 +$as_echo "$as_me: creating $ac_file" >&6;} + fi + # Neutralize special characters interpreted by sed in replacement strings. + case $configure_input in #( + *\&* | *\|* | *\\* ) + ac_sed_conf_input=`$as_echo "$configure_input" | + sed 's/[\\\\&|]/\\\\&/g'`;; #( + *) ac_sed_conf_input=$configure_input;; + esac + + case $ac_tag in + *:-:* | *:-) cat >"$ac_tmp/stdin" \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + esac + ;; + esac + + ac_dir=`$as_dirname -- "$ac_file" || +$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$ac_file" : 'X\(//\)[^/]' \| \ + X"$ac_file" : 'X\(//\)$' \| \ + X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || +$as_echo X"$ac_file" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + as_dir="$ac_dir"; as_fn_mkdir_p + ac_builddir=. + +case "$ac_dir" in +.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; +*) + ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` + # A ".." for each directory in $ac_dir_suffix. + ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` + case $ac_top_builddir_sub in + "") ac_top_builddir_sub=. ac_top_build_prefix= ;; + *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; + esac ;; +esac +ac_abs_top_builddir=$ac_pwd +ac_abs_builddir=$ac_pwd$ac_dir_suffix +# for backward compatibility: +ac_top_builddir=$ac_top_build_prefix + +case $srcdir in + .) # We are building in place. + ac_srcdir=. + ac_top_srcdir=$ac_top_builddir_sub + ac_abs_top_srcdir=$ac_pwd ;; + [\\/]* | ?:[\\/]* ) # Absolute name. + ac_srcdir=$srcdir$ac_dir_suffix; + ac_top_srcdir=$srcdir + ac_abs_top_srcdir=$srcdir ;; + *) # Relative name. + ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix + ac_top_srcdir=$ac_top_build_prefix$srcdir + ac_abs_top_srcdir=$ac_pwd/$srcdir ;; +esac +ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix + + + case $ac_mode in + :F) + # + # CONFIG_FILE + # + +_ACEOF + +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +# If the template does not know about datarootdir, expand it. +# FIXME: This hack should be removed a few years after 2.60. +ac_datarootdir_hack=; ac_datarootdir_seen= +ac_sed_dataroot=' +/datarootdir/ { + p + q +} +/@datadir@/p +/@docdir@/p +/@infodir@/p +/@localedir@/p +/@mandir@/p' +case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in +*datarootdir*) ac_datarootdir_seen=yes;; +*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 +$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} +_ACEOF +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 + ac_datarootdir_hack=' + s&@datadir@&$datadir&g + s&@docdir@&$docdir&g + s&@infodir@&$infodir&g + s&@localedir@&$localedir&g + s&@mandir@&$mandir&g + s&\\\${datarootdir}&$datarootdir&g' ;; +esac +_ACEOF + +# Neutralize VPATH when `$srcdir' = `.'. +# Shell code in configure.ac might set extrasub. +# FIXME: do we really want to maintain this feature? +cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 +ac_sed_extra="$ac_vpsub +$extrasub +_ACEOF +cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 +:t +/@[a-zA-Z_][a-zA-Z_0-9]*@/!b +s|@configure_input@|$ac_sed_conf_input|;t t +s&@top_builddir@&$ac_top_builddir_sub&;t t +s&@top_build_prefix@&$ac_top_build_prefix&;t t +s&@srcdir@&$ac_srcdir&;t t +s&@abs_srcdir@&$ac_abs_srcdir&;t t +s&@top_srcdir@&$ac_top_srcdir&;t t +s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t +s&@builddir@&$ac_builddir&;t t +s&@abs_builddir@&$ac_abs_builddir&;t t +s&@abs_top_builddir@&$ac_abs_top_builddir&;t t +$ac_datarootdir_hack +" +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ + >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + +test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && + { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ + "$ac_tmp/out"`; test -z "$ac_out"; } && + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&5 +$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' +which seems to be undefined. Please make sure it is defined" >&2;} + + rm -f "$ac_tmp/stdin" + case $ac_file in + -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; + *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; + esac \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 + ;; + + + + esac + +done # for ac_tag + + +as_fn_exit 0 +_ACEOF +ac_clean_files=$ac_clean_files_save + +test $ac_write_fail = 0 || + as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 + + +# configure is writing to config.log, and then calls config.status. +# config.status does its own redirection, appending to config.log. +# Unfortunately, on DOS this fails, as config.log is still kept open +# by configure, so config.status won't be able to write to it; its +# output is simply discarded. So we exec the FD to /dev/null, +# effectively closing config.log, so it can be properly (re)opened and +# appended to by config.status. When coming back to configure, we +# need to make the FD available again. +if test "$no_create" != yes; then + ac_cs_success=: + ac_config_status_args= + test "$silent" = yes && + ac_config_status_args="$ac_config_status_args --quiet" + exec 5>/dev/null + $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false + exec 5>>config.log + # Use ||, not &&, to avoid exiting from the if with $? = 1, which + # would make configure fail if this is the last instruction. + $ac_cs_success || as_fn_exit 1 +fi +if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 +$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} +fi + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/configure.ac --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/configure.ac Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,93 @@ +# Configure script for htslib, a C library for high-throughput sequencing data. +# +# Copyright (C) 2015 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +dnl Process this file with autoconf to produce a configure script +AC_INIT([HTSlib], m4_esyscmd_s([make print-version]), + [samtools-help@lists.sourceforge.net], [], [http://www.htslib.org/]) +AC_PREREQ(2.63) dnl This version introduced 4-argument AC_CHECK_HEADER +AC_CONFIG_SRCDIR(hts.c) + +dnl Copyright notice to be copied into the generated configure script +AC_COPYRIGHT([Portions copyright (C) 2015 Genome Research Ltd. + +This configure script is free software: you are free to change and +redistribute it. There is NO WARRANTY, to the extent permitted by law.]) + +AC_PROG_CC +AC_PROG_RANLIB + +AC_ARG_WITH([irods], + [AS_HELP_STRING([[--with-irods[=DIR]]], + [use RodsAPIs library (in DIR) to support iRODS URLs])], + [case $withval in + no) irods=disabled ;; + yes) irods=enabled ;; + *) irods=enabled; IRODS_HOME=$withval ;; + esac], + [irods=disabled]) + +save_LIBS=$LIBS +zlib_devel=ok +dnl Set a trivial non-empty INCLUDES to avoid excess default includes tests +AC_CHECK_HEADER([zlib.h], [], [zlib_devel=missing], [;]) +AC_CHECK_LIB(z, inflate, [], [zlib_devel=missing]) +LIBS=$save_LIBS + +if test $zlib_devel != ok; then + AC_MSG_ERROR([zlib development files not found + +HTSlib uses compression routines from the zlib library . +Building HTSlib requires zlib development files to be installed on the build +machine; you may need to ensure a package such as zlib1g-dev (on Debian or +Ubuntu Linux) or zlib-devel (on RPM-based Linux distributions) is installed. + +FAILED. This error must be resolved in order to build HTSlib successfully.]) +fi + +if test $irods = enabled; then + # TODO Also test whether we require libgssapi_krb5 and AC_CHECK_LIB it + save_LDFLAGS=$LDFLAGS + LDFLAGS="$LDFLAGS -L$IRODS_HOME/lib/core/obj" + AC_CHECK_LIB([RodsAPIs], [getRodsEnvFileName], + [case $with_irods in + yes) define_IRODS_HOME='# Uses $(IRODS_HOME) from the environment' ;; + *) define_IRODS_HOME="IRODS_HOME = $with_irods" ;; + esac], + [AC_MSG_ERROR([iRODS development files not found + +Support for iRODS URLs requires the libRodsAPI client library and headers. +Configure with --with-irods=DIR (or just --with-irods if \$IRODS_HOME has +been exported with a suitable value), where DIR is the base of an iRODS tree +such that the library is present as DIR/lib/core/obj/libRodsAPI.* and headers +are present under DIR/lib/api/include and so on.])], + [-lgssapi_krb5 -lpthread]) + LDFLAGS=$save_LDFLAGS +else + define_IRODS_HOME='IRODS_HOME ?= /disabled' +fi +AC_SUBST([irods]) +AC_SUBST([define_IRODS_HOME]) + +AC_CONFIG_FILES(config.mk) +AC_OUTPUT diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,63 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! \file + * CRAM interface. + * + * Consider using the higher level hts_*() API for programs that wish to + * be file format agnostic (see htslib/hts.h). + * + * This API should be used for CRAM specific code. The specifics of the + * public API are implemented in cram_io.h, cram_encode.h and cram_decode.h + * although these should not be included directly (use this file instead). + */ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef _CRAM_H_ +#define _CRAM_H_ + +#include "cram/cram_samtools.h" +#include "cram/sam_header.h" +#include "cram_structs.h" +#include "cram_io.h" +#include "cram_encode.h" +#include "cram_decode.h" +#include "cram_stats.h" +#include "cram_codecs.h" +#include "cram_index.h" + +#endif + +#ifdef __cplusplus +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_codecs.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_codecs.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1846 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * FIXME: add checking of cram_external_type to return NULL on unsupported + * {codec,type} tuples. + */ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include + +#include "cram/cram.h" + +static char *codec2str(enum cram_encoding codec) { + switch (codec) { + case E_NULL: return "NULL"; + case E_EXTERNAL: return "EXTERNAL"; + case E_GOLOMB: return "GOLOMB"; + case E_HUFFMAN: return "HUFFMAN"; + case E_BYTE_ARRAY_LEN: return "BYTE_ARRAY_LEN"; + case E_BYTE_ARRAY_STOP: return "BYTE_ARRAY_STOP"; + case E_BETA: return "BETA"; + case E_SUBEXP: return "SUBEXP"; + case E_GOLOMB_RICE: return "GOLOMB_RICE"; + case E_GAMMA: return "GAMMA"; + } + + return "(unknown)"; +} + +/* + * --------------------------------------------------------------------------- + * Block bit-level I/O functions. + * All defined static here to promote easy inlining by the compiler. + */ + +#if 0 +/* Get a single bit, MSB first */ +static signed int get_bit_MSB(cram_block *block) { + unsigned int val; + + if (block->byte > block->alloc) + return -1; + + val = block->data[block->byte] >> block->bit; + if (--block->bit == -1) { + block->bit = 7; + block->byte++; + //printf("(%02X)", block->data[block->byte]); + } + + //printf("-B%d-", val&1); + + return val & 1; +} +#endif + +/* + * Count number of successive 0 and 1 bits + */ +static int get_one_bits_MSB(cram_block *block) { + int n = 0, b; + do { + b = block->data[block->byte] >> block->bit; + if (--block->bit == -1) { + block->bit = 7; + block->byte++; + } + n++; + } while (b&1); + + return n-1; +} + +static int get_zero_bits_MSB(cram_block *block) { + int n = 0, b; + do { + b = block->data[block->byte] >> block->bit; + if (--block->bit == -1) { + block->bit = 7; + block->byte++; + } + n++; + } while (!(b&1)); + + return n-1; +} + +#if 0 +/* Stores a single bit */ +static void store_bit_MSB(cram_block *block, unsigned int bit) { + if (block->byte >= block->alloc) { + block->alloc = block->alloc ? block->alloc*2 : 1024; + block->data = realloc(block->data, block->alloc); + } + + if (bit) + block->data[block->byte] |= (1 << block->bit); + + if (--block->bit == -1) { + block->bit = 7; + block->byte++; + block->data[block->byte] = 0; + } +} +#endif + +#if 0 +/* Rounds to the next whole byte boundary first */ +static void store_bytes_MSB(cram_block *block, char *bytes, int len) { + if (block->bit != 7) { + block->bit = 7; + block->byte++; + } + + while (block->byte + len >= block->alloc) { + block->alloc = block->alloc ? block->alloc*2 : 1024; + block->data = realloc(block->data, block->alloc); + } + + memcpy(&block->data[block->byte], bytes, len); + block->byte += len; +} +#endif + +/* Local optimised copy for inlining */ +static inline unsigned int get_bits_MSB(cram_block *block, int nbits) { + unsigned int val = 0; + int i; + +#if 0 + // Fits within the current byte */ + if (nbits <= block->bit+1) { + val = (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits) == -1) { + block->bit = 7; + block->byte++; + } + return val; + } + + // partial first byte + val = block->data[block->byte] & ((1<<(block->bit+1))-1); + nbits -= block->bit+1; + block->bit = 7; + block->byte++; + + // whole middle bytes + while (nbits >= 8) { + val = (val << 8) | block->data[block->byte++]; + nbits -= 8; + } + + val <<= nbits; + val |= (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits; + return val; +#endif + +#if 0 + /* Inefficient implementation! */ + //printf("{"); + for (i = 0; i < nbits; i++) + //val = (val << 1) | get_bit_MSB(block); + GET_BIT_MSB(block, val); +#endif + +#if 1 + /* Combination of 1st two methods */ + if (nbits <= block->bit+1) { + val = (block->data[block->byte]>>(block->bit-(nbits-1))) & ((1<bit -= nbits) == -1) { + block->bit = 7; + block->byte++; + } + return val; + } + + switch(nbits) { +// case 15: GET_BIT_MSB(block, val); +// case 14: GET_BIT_MSB(block, val); +// case 13: GET_BIT_MSB(block, val); +// case 12: GET_BIT_MSB(block, val); +// case 11: GET_BIT_MSB(block, val); +// case 10: GET_BIT_MSB(block, val); +// case 9: GET_BIT_MSB(block, val); + case 8: GET_BIT_MSB(block, val); + case 7: GET_BIT_MSB(block, val); + case 6: GET_BIT_MSB(block, val); + case 5: GET_BIT_MSB(block, val); + case 4: GET_BIT_MSB(block, val); + case 3: GET_BIT_MSB(block, val); + case 2: GET_BIT_MSB(block, val); + case 1: GET_BIT_MSB(block, val); + break; + + default: + for (i = 0; i < nbits; i++) + //val = (val << 1) | get_bit_MSB(block); + GET_BIT_MSB(block, val); + } +#endif + + //printf("=0x%x}", val); + + return val; +} + +/* + * Can store up to 24-bits worth of data encoded in an integer value + * Possibly we'd want to have a less optimal store_bits function when dealing + * with nbits > 24, but for now we assume the codes generated are never + * that big. (Given this is only possible with 121392 or more + * characters with exactly the correct frequency distribution we check + * for it elsewhere.) + */ +static int store_bits_MSB(cram_block *block, unsigned int val, int nbits) { + /* fprintf(stderr, " store_bits: %02x %d\n", val, nbits); */ + + /* + * Use slow mode until we tweak the huffman generator to never generate + * codes longer than 24-bits. + */ + unsigned int mask; + + if (block->byte+4 >= block->alloc) { + if (block->byte) { + block->alloc *= 2; + block->data = realloc(block->data, block->alloc + 4); + if (!block->data) + return -1; + } else { + block->alloc = 1024; + block->data = realloc(block->data, block->alloc + 4); + if (!block->data) + return -1; + block->data[0] = 0; // initialise first byte of buffer + } + } + + /* fits in current bit-field */ + if (nbits <= block->bit+1) { + block->data[block->byte] |= (val << (block->bit+1-nbits)); + if ((block->bit-=nbits) == -1) { + block->bit = 7; + block->byte++; + block->data[block->byte] = 0; + } + return 0; + } + + block->data[block->byte] |= (val >> (nbits -= block->bit+1)); + block->bit = 7; + block->byte++; + block->data[block->byte] = 0; + + mask = 1<<(nbits-1); + do { + if (val & mask) + block->data[block->byte] |= (1 << block->bit); + if (--block->bit == -1) { + block->bit = 7; + block->byte++; + block->data[block->byte] = 0; + } + mask >>= 1; + } while(--nbits); + + return 0; +} + +/* + * Returns the next 'size' bytes from a block, or NULL if insufficient + * data left.This is just a pointer into the block data and not an + * allocated object, so do not free the result. + */ +static char *cram_extract_block(cram_block *b, int size) { + char *cp = (char *)b->data + b->idx; + b->idx += size; + if (b->idx > b->uncomp_size) + return NULL; + + return cp; +} + +/* + * --------------------------------------------------------------------------- + * EXTERNAL + */ +int cram_external_decode_int(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, int *out_size) { + int i; + char *cp; + cram_block *b = NULL; + + /* Find the external block */ + if (slice->block_by_id) { + if (!(b = slice->block_by_id[c->external.content_id])) + return *out_size?-1:0; + } else { + for (i = 0; i < slice->hdr->num_blocks; i++) { + b = slice->block[i]; + if (b && b->content_type == EXTERNAL && + b->content_id == c->external.content_id) { + break; + } + } + if (i == slice->hdr->num_blocks || !b) + return -1; + } + + cp = (char *)b->data + b->idx; + // E_INT and E_LONG are guaranteed single item queries + b->idx += itf8_get(cp, (int32_t *)out); + *out_size = 1; + + return 0; +} + +int cram_external_decode_char(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, + int *out_size) { + int i; + char *cp; + cram_block *b = NULL; + + /* Find the external block */ + if (slice->block_by_id) { + if (!(b = slice->block_by_id[c->external.content_id])) + return *out_size?-1:0; + } else { + for (i = 0; i < slice->hdr->num_blocks; i++) { + b = slice->block[i]; + if (b && b->content_type == EXTERNAL && + b->content_id == c->external.content_id) { + break; + } + } + if (i == slice->hdr->num_blocks || !b) + return -1; + } + + cp = cram_extract_block(b, *out_size); + if (!cp) + return -1; + + memcpy(out, cp, *out_size); + return 0; +} + +static int cram_external_decode_block(cram_slice *slice, cram_codec *c, + cram_block *in, char *out_, + int *out_size) { + int i; + char *cp; + cram_block *b = NULL; + cram_block *out = (cram_block *)out_; + + /* Find the external block */ + if (slice->block_by_id) { + if (!(b = slice->block_by_id[c->external.content_id])) + return *out_size?-1:0; + } else { + for (i = 0; i < slice->hdr->num_blocks; i++) { + b = slice->block[i]; + if (b && b->content_type == EXTERNAL && + b->content_id == c->external.content_id) { + break; + } + } + if (i == slice->hdr->num_blocks || !b) + return -1; + } + + cp = cram_extract_block(b, *out_size); + if (!cp) + return -1; + + BLOCK_APPEND(out, cp, *out_size); + return 0; +} + +void cram_external_decode_free(cram_codec *c) { + if (c) + free(c); +} + +cram_codec *cram_external_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + char *cp = data; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_EXTERNAL; + if (option == E_INT || option == E_LONG) + c->decode = cram_external_decode_int; + else if (option == E_BYTE_ARRAY || option == E_BYTE) + c->decode = cram_external_decode_char; + else + c->decode = cram_external_decode_block; + c->free = cram_external_decode_free; + + cp += itf8_get(cp, &c->external.content_id); + + if (cp - data != size) { + fprintf(stderr, "Malformed external header stream\n"); + free(c); + return NULL; + } + + c->external.type = option; + + return c; +} + +int cram_external_encode_int(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + uint32_t *i32 = (uint32_t *)in; + + itf8_put_blk(c->out, *i32); + return 0; +} + +int cram_external_encode_char(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + BLOCK_APPEND(c->out, in, in_size); + return 0; +} + +void cram_external_encode_free(cram_codec *c) { + if (!c) + return; + free(c); +} + +int cram_external_encode_store(cram_codec *c, cram_block *b, char *prefix, + int version) { + char tmp[99], *tp = tmp; + int len = 0; + + if (prefix) { + size_t l = strlen(prefix); + BLOCK_APPEND(b, prefix, l); + len += l; + } + + tp += itf8_put(tp, c->e_external.content_id); + len += itf8_put_blk(b, c->codec); + len += itf8_put_blk(b, tp-tmp); + BLOCK_APPEND(b, tmp, tp-tmp); + len += tp-tmp; + + return len; +} + +cram_codec *cram_external_encode_init(cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + cram_codec *c; + + c = malloc(sizeof(*c)); + if (!c) + return NULL; + c->codec = E_EXTERNAL; + c->free = cram_external_encode_free; + if (option == E_INT || option == E_LONG) + c->encode = cram_external_encode_int; + else if (option == E_BYTE_ARRAY || option == E_BYTE) + c->encode = cram_external_encode_char; + else + abort(); + c->store = cram_external_encode_store; + + c->e_external.content_id = (size_t)dat; + + return c; +} + +/* + * --------------------------------------------------------------------------- + * BETA + */ +int cram_beta_decode_int(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { + int32_t *out_i = (int32_t *)out; + int i, n; + + if (c->beta.nbits) { + for (i = 0, n = *out_size; i < n; i++) + out_i[i] = get_bits_MSB(in, c->beta.nbits) - c->beta.offset; + } else { + for (i = 0, n = *out_size; i < n; i++) + out_i[i] = -c->beta.offset; + } + + return 0; +} + +int cram_beta_decode_char(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { + int i, n; + + if (c->beta.nbits) { + for (i = 0, n = *out_size; i < n; i++) + out[i] = get_bits_MSB(in, c->beta.nbits) - c->beta.offset; + } else { + for (i = 0, n = *out_size; i < n; i++) + out[i] = -c->beta.offset; + } + + return 0; +} + +void cram_beta_decode_free(cram_codec *c) { + if (c) + free(c); +} + +cram_codec *cram_beta_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + char *cp = data; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_BETA; + if (option == E_INT || option == E_LONG) + c->decode = cram_beta_decode_int; + else if (option == E_BYTE_ARRAY || option == E_BYTE) + c->decode = cram_beta_decode_char; + else + abort(); + c->free = cram_beta_decode_free; + + cp += itf8_get(cp, &c->beta.offset); + cp += itf8_get(cp, &c->beta.nbits); + + if (cp - data != size) { + fprintf(stderr, "Malformed beta header stream\n"); + free(c); + return NULL; + } + + return c; +} + +int cram_beta_encode_store(cram_codec *c, cram_block *b, + char *prefix, int version) { + int len = 0; + + if (prefix) { + size_t l = strlen(prefix); + BLOCK_APPEND(b, prefix, l); + len += l; + } + + len += itf8_put_blk(b, c->codec); + len += itf8_put_blk(b, itf8_size(c->e_beta.offset) + + itf8_size(c->e_beta.nbits)); // codec length + len += itf8_put_blk(b, c->e_beta.offset); + len += itf8_put_blk(b, c->e_beta.nbits); + + return len; +} + +int cram_beta_encode_int(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + int *syms = (int *)in; + int i, r = 0; + + for (i = 0; i < in_size; i++) + r |= store_bits_MSB(c->out, syms[i] + c->e_beta.offset, + c->e_beta.nbits); + + return r; +} + +int cram_beta_encode_char(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + unsigned char *syms = (unsigned char *)in; + int i, r = 0; + + for (i = 0; i < in_size; i++) + r |= store_bits_MSB(c->out, syms[i] + c->e_beta.offset, + c->e_beta.nbits); + + return r; +} + +void cram_beta_encode_free(cram_codec *c) { + if (c) free(c); +} + +cram_codec *cram_beta_encode_init(cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + cram_codec *c; + int min_val, max_val, len = 0; + + c = malloc(sizeof(*c)); + if (!c) + return NULL; + c->codec = E_BETA; + c->free = cram_beta_encode_free; + if (option == E_INT) + c->encode = cram_beta_encode_int; + else + c->encode = cram_beta_encode_char; + c->store = cram_beta_encode_store; + + if (dat) { + min_val = ((int *)dat)[0]; + max_val = ((int *)dat)[1]; + } else { + min_val = INT_MAX; + max_val = INT_MIN; + int i; + for (i = 0; i < MAX_STAT_VAL; i++) { + if (!st->freqs[i]) + continue; + if (min_val > i) + min_val = i; + max_val = i; + } + if (st->h) { + khint_t k; + + for (k = kh_begin(st->h); k != kh_end(st->h); k++) { + if (!kh_exist(st->h, k)) + continue; + + i = kh_key(st->h, k); + if (min_val > i) + min_val = i; + if (max_val < i) + max_val = i; + } + } + } + + assert(max_val >= min_val); + c->e_beta.offset = -min_val; + max_val -= min_val; + while (max_val) { + len++; + max_val >>= 1; + } + c->e_beta.nbits = len; + + return c; +} + +/* + * --------------------------------------------------------------------------- + * SUBEXP + */ +int cram_subexp_decode(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { + int32_t *out_i = (int32_t *)out; + int n, count; + int k = c->subexp.k; + + for (count = 0, n = *out_size; count < n; count++) { + int i = 0, tail; + int val; + + /* Get number of 1s */ + //while (get_bit_MSB(in) == 1) i++; + i = get_one_bits_MSB(in); + + /* + * Val is + * i > 0: 2^(k+i-1) + k+i-1 bits + * i = 0: k bits + */ + if (i) { + tail = i + k-1; + val = 0; + while (tail) { + //val = val<<1; val |= get_bit_MSB(in); + GET_BIT_MSB(in, val); + tail--; + } + val += 1 << (i + k-1); + } else { + tail = k; + val = 0; + while (tail) { + //val = val<<1; val |= get_bit_MSB(in); + GET_BIT_MSB(in, val); + tail--; + } + } + + out_i[count] = val - c->subexp.offset; + } + + return 0; +} + +void cram_subexp_decode_free(cram_codec *c) { + if (c) + free(c); +} + +cram_codec *cram_subexp_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + char *cp = data; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_SUBEXP; + c->decode = cram_subexp_decode; + c->free = cram_subexp_decode_free; + + cp += itf8_get(cp, &c->subexp.offset); + cp += itf8_get(cp, &c->subexp.k); + + if (cp - data != size) { + fprintf(stderr, "Malformed subexp header stream\n"); + free(c); + return NULL; + } + + return c; +} + +/* + * --------------------------------------------------------------------------- + * GAMMA + */ +int cram_gamma_decode(cram_slice *slice, cram_codec *c, cram_block *in, char *out, int *out_size) { + int32_t *out_i = (int32_t *)out; + int i, n; + + for (i = 0, n = *out_size; i < n; i++) { + int nz = 0; + int val; + //while (get_bit_MSB(in) == 0) nz++; + nz = get_zero_bits_MSB(in); + val = 1; + while (nz > 0) { + //val <<= 1; val |= get_bit_MSB(in); + GET_BIT_MSB(in, val); + nz--; + } + + out_i[i] = val - c->gamma.offset; + } + + return 0; +} + +void cram_gamma_decode_free(cram_codec *c) { + if (c) + free(c); +} + +cram_codec *cram_gamma_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + char *cp = data; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_GAMMA; + c->decode = cram_gamma_decode; + c->free = cram_gamma_decode_free; + + cp += itf8_get(cp, &c->gamma.offset); + + if (cp - data != size) { + fprintf(stderr, "Malformed gamma header stream\n"); + free(c); + return NULL; + } + + return c; +} + +/* + * --------------------------------------------------------------------------- + * HUFFMAN + */ + +static int code_sort(const void *vp1, const void *vp2) { + const cram_huffman_code *c1 = (const cram_huffman_code *)vp1; + const cram_huffman_code *c2 = (const cram_huffman_code *)vp2; + + if (c1->len != c2->len) + return c1->len - c2->len; + else + return c1->symbol - c2->symbol; +} + +void cram_huffman_decode_free(cram_codec *c) { + if (!c) + return; + + if (c->huffman.codes) + free(c->huffman.codes); + free(c); +} + +int cram_huffman_decode_char0(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, int *out_size) { + int i, n; + + /* Special case of 0 length codes */ + for (i = 0, n = *out_size; i < n; i++) { + out[i] = c->huffman.codes[0].symbol; + } + return 0; +} + +int cram_huffman_decode_char(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, int *out_size) { + int i, n, ncodes = c->huffman.ncodes; + const cram_huffman_code * const codes = c->huffman.codes; + + for (i = 0, n = *out_size; i < n; i++) { + int idx = 0; + int val = 0, len = 0, last_len = 0; + + for (;;) { + int dlen = codes[idx].len - last_len; + if (dlen <= 0 || (in->alloc - in->byte)*8 + in->bit + 7 < dlen) + return -1; + + //val <<= dlen; + //val |= get_bits_MSB(in, dlen); + //last_len = (len += dlen); + + last_len = (len += dlen); + for (; dlen; dlen--) GET_BIT_MSB(in, val); + + idx = val - codes[idx].p; + if (idx >= ncodes || idx < 0) + return -1; + + if (codes[idx].code == val && codes[idx].len == len) { + out[i] = codes[idx].symbol; + break; + } + } + } + + return 0; +} + +int cram_huffman_decode_int0(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, int *out_size) { + int32_t *out_i = (int32_t *)out; + int i, n; + const cram_huffman_code * const codes = c->huffman.codes; + + /* Special case of 0 length codes */ + for (i = 0, n = *out_size; i < n; i++) { + out_i[i] = codes[0].symbol; + } + return 0; +} + +int cram_huffman_decode_int(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, int *out_size) { + int32_t *out_i = (int32_t *)out; + int i, n, ncodes = c->huffman.ncodes; + const cram_huffman_code * const codes = c->huffman.codes; + + for (i = 0, n = *out_size; i < n; i++) { + int idx = 0; + int val = 0, len = 0, last_len = 0; + + // Now one bit at a time for remaining checks + for (;;) { + int dlen = codes[idx].len - last_len; + if (dlen <= 0 || (in->alloc - in->byte)*8 + in->bit + 7 < dlen) + return -1; + + //val <<= dlen; + //val |= get_bits_MSB(in, dlen); + //last_len = (len += dlen); + + last_len = (len += dlen); + for (; dlen; dlen--) GET_BIT_MSB(in, val); + + idx = val - codes[idx].p; + if (idx >= ncodes || idx < 0) + return -1; + + if (codes[idx].code == val && codes[idx].len == len) { + out_i[i] = codes[idx].symbol; + break; + } + } + } + + return 0; +} + +/* + * Initialises a huffman decoder from an encoding data stream. + */ +cram_codec *cram_huffman_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + int32_t ncodes, i, j; + char *cp = data, *data_end = &data[size]; + cram_codec *h; + cram_huffman_code *codes; + int32_t val, last_len, max_len = 0; + + cp += itf8_get(cp, &ncodes); + h = calloc(1, sizeof(*h)); + if (!h) + return NULL; + + h->free = cram_huffman_decode_free; + + h->huffman.ncodes = ncodes; + codes = h->huffman.codes = malloc(ncodes * sizeof(*codes)); + if (!codes) { + free(h); + return NULL; + } + + /* Read symbols and bit-lengths */ + for (i = 0; i < ncodes && cp < data_end; i++) { + cp += itf8_get(cp, &codes[i].symbol); + } + + if (cp >= data_end) { + fprintf(stderr, "Malformed huffman header stream\n"); + free(h); + return NULL; + } + cp += itf8_get(cp, &i); + if (i != ncodes) { + fprintf(stderr, "Malformed huffman header stream\n"); + free(h); + return NULL; + } + + if (ncodes == 0) { + /* NULL huffman stream */ + return h; + } + + for (i = 0; i < ncodes && cp < data_end; i++) { + cp += itf8_get(cp, &codes[i].len); + if (max_len < codes[i].len) + max_len = codes[i].len; + } + if (cp - data != size || max_len >= ncodes) { + fprintf(stderr, "Malformed huffman header stream\n"); + free(h); + return NULL; + } + + /* Sort by bit length and then by symbol value */ + qsort(codes, ncodes, sizeof(*codes), code_sort); + + /* Assign canonical codes */ + val = -1, last_len = 0; + for (i = 0; i < ncodes; i++) { + val++; + if (codes[i].len > last_len) { + while (codes[i].len > last_len) { + val <<= 1; + last_len++; + } + } + codes[i].code = val; + } + + /* + * Compute the next starting point, offset by the i'th value. + * For example if codes 10, 11, 12, 13 are 30, 31, 32, 33 then + * codes[10..13].p = 30 - 10. + */ + last_len = 0; + for (i = j = 0; i < ncodes; i++) { + if (codes[i].len > last_len) { + j = codes[i].code - i; + last_len = codes[i].len; + } + codes[i].p = j; + } + +// puts("==HUFF LEN=="); +// for (i = 0; i <= last_len+1; i++) { +// printf("len %d=%d prefix %d\n", i, h->huffman.lengths[i], h->huffman.prefix[i]); +// } +// puts("===HUFFMAN CODES==="); +// for (i = 0; i < ncodes; i++) { +// int j; +// printf("%d: %d %d %d ", i, codes[i].symbol, codes[i].len, codes[i].code); +// j = codes[i].len; +// while (j) { +// putchar(codes[i].code & (1 << --j) ? '1' : '0'); +// } +// printf(" %d\n", codes[i].code); +// } + + h->codec = E_HUFFMAN; + if (option == E_BYTE || option == E_BYTE_ARRAY) { + if (h->huffman.codes[0].len == 0) + h->decode = cram_huffman_decode_char0; + else + h->decode = cram_huffman_decode_char; + } else if (option == E_BYTE_ARRAY_BLOCK) { + abort(); + } else { + if (h->huffman.codes[0].len == 0) + h->decode = cram_huffman_decode_int0; + else + h->decode = cram_huffman_decode_int; + } + + return (cram_codec *)h; +} + +int cram_huffman_encode_char0(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + return 0; +} + +int cram_huffman_encode_char(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + int i, code, len, r = 0; + unsigned char *syms = (unsigned char *)in; + + do { + int sym = *syms++; + if (sym >= -1 && sym < MAX_HUFF) { + i = c->e_huffman.val2code[sym+1]; + assert(c->e_huffman.codes[i].symbol == sym); + code = c->e_huffman.codes[i].code; + len = c->e_huffman.codes[i].len; + } else { + /* Slow - use a lookup table for when sym < MAX_HUFF? */ + for (i = 0; i < c->e_huffman.nvals; i++) { + if (c->e_huffman.codes[i].symbol == sym) + break; + } + if (i == c->e_huffman.nvals) + return -1; + + code = c->e_huffman.codes[i].code; + len = c->e_huffman.codes[i].len; + } + + r |= store_bits_MSB(c->out, code, len); + } while (--in_size); + + return r; +} + +int cram_huffman_encode_int0(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + return 0; +} + +int cram_huffman_encode_int(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + int i, code, len, r = 0; + int *syms = (int *)in; + + do { + int sym = *syms++; + + if (sym >= -1 && sym < MAX_HUFF) { + i = c->e_huffman.val2code[sym+1]; + assert(c->e_huffman.codes[i].symbol == sym); + code = c->e_huffman.codes[i].code; + len = c->e_huffman.codes[i].len; + } else { + /* Slow - use a lookup table for when sym < MAX_HUFFMAN_SYM? */ + for (i = 0; i < c->e_huffman.nvals; i++) { + if (c->e_huffman.codes[i].symbol == sym) + break; + } + if (i == c->e_huffman.nvals) + return -1; + + code = c->e_huffman.codes[i].code; + len = c->e_huffman.codes[i].len; + } + + r |= store_bits_MSB(c->out, code, len); + } while (--in_size); + + return r; +} + +void cram_huffman_encode_free(cram_codec *c) { + if (!c) + return; + + if (c->e_huffman.codes) + free(c->e_huffman.codes); + free(c); +} + +/* + * Encodes a huffman tree. + * Returns number of bytes written. + */ +int cram_huffman_encode_store(cram_codec *c, cram_block *b, char *prefix, + int version) { + int i, len = 0; + cram_huffman_code *codes = c->e_huffman.codes; + /* + * Up to code length 127 means 2.5e+26 bytes of data required (worst + * case huffman tree needs symbols with freqs matching the Fibonacci + * series). So guaranteed 1 byte per code. + * + * Symbols themselves could be 5 bytes (eg -1 is 5 bytes in itf8). + * + * Therefore 6*ncodes + 5 + 5 + 1 + 5 is max memory + */ + char *tmp = malloc(6*c->e_huffman.nvals+16); + char *tp = tmp; + + if (!tmp) + return -1; + + if (prefix) { + size_t l = strlen(prefix); + BLOCK_APPEND(b, prefix, l); + len += l; + } + + tp += itf8_put(tp, c->e_huffman.nvals); + for (i = 0; i < c->e_huffman.nvals; i++) { + tp += itf8_put(tp, codes[i].symbol); + } + + tp += itf8_put(tp, c->e_huffman.nvals); + for (i = 0; i < c->e_huffman.nvals; i++) { + tp += itf8_put(tp, codes[i].len); + } + + len += itf8_put_blk(b, c->codec); + len += itf8_put_blk(b, tp-tmp); + BLOCK_APPEND(b, tmp, tp-tmp); + len += tp-tmp; + + free(tmp); + + return len; +} + +cram_codec *cram_huffman_encode_init(cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + int *vals = NULL, *freqs = NULL, vals_alloc = 0, *lens, code, len; + int nvals, i, ntot = 0, max_val = 0, min_val = INT_MAX, k; + cram_codec *c; + cram_huffman_code *codes; + + c = malloc(sizeof(*c)); + if (!c) + return NULL; + c->codec = E_HUFFMAN; + + /* Count number of unique symbols */ + for (nvals = i = 0; i < MAX_STAT_VAL; i++) { + if (!st->freqs[i]) + continue; + if (nvals >= vals_alloc) { + vals_alloc = vals_alloc ? vals_alloc*2 : 1024; + vals = realloc(vals, vals_alloc * sizeof(int)); + freqs = realloc(freqs, vals_alloc * sizeof(int)); + if (!vals || !freqs) { + if (vals) free(vals); + if (freqs) free(freqs); + free(c); + return NULL; + } + } + vals[nvals] = i; + freqs[nvals] = st->freqs[i]; + assert(st->freqs[i] > 0); + ntot += freqs[nvals]; + if (max_val < i) max_val = i; + if (min_val > i) min_val = i; + nvals++; + } + if (st->h) { + khint_t k; + + for (k = kh_begin(st->h); k != kh_end(st->h); k++) { + if (!kh_exist(st->h, k)) + continue; + if (nvals >= vals_alloc) { + vals_alloc = vals_alloc ? vals_alloc*2 : 1024; + vals = realloc(vals, vals_alloc * sizeof(int)); + freqs = realloc(freqs, vals_alloc * sizeof(int)); + if (!vals || !freqs) + return NULL; + } + vals[nvals]= kh_key(st->h, k); + freqs[nvals] = kh_val(st->h, k); + assert(freqs[nvals] > 0); + ntot += freqs[nvals]; + if (max_val < i) max_val = i; + if (min_val > i) min_val = i; + nvals++; + } + } + + assert(nvals > 0); + + freqs = realloc(freqs, 2*nvals*sizeof(*freqs)); + lens = calloc(2*nvals, sizeof(*lens)); + if (!lens || !freqs) + return NULL; + + /* Inefficient, use pointers to form chain so we can insert and maintain + * a sorted list? This is currently O(nvals^2) complexity. + */ + for (;;) { + int low1 = INT_MAX, low2 = INT_MAX; + int ind1 = 0, ind2 = 0; + for (i = 0; i < nvals; i++) { + if (freqs[i] < 0) + continue; + if (low1 > freqs[i]) + low2 = low1, ind2 = ind1, low1 = freqs[i], ind1 = i; + else if (low2 > freqs[i]) + low2 = freqs[i], ind2 = i; + } + if (low2 == INT_MAX) + break; + + freqs[nvals] = low1 + low2; + lens[ind1] = nvals; + lens[ind2] = nvals; + freqs[ind1] *= -1; + freqs[ind2] *= -1; + nvals++; + } + nvals = nvals/2+1; + + /* Assign lengths */ + for (i = 0; i < nvals; i++) { + int code_len = 0; + for (k = lens[i]; k; k = lens[k]) + code_len++; + lens[i] = code_len; + freqs[i] *= -1; + //fprintf(stderr, "%d / %d => %d\n", vals[i], freqs[i], lens[i]); + } + + + /* Sort, need in a struct */ + if (!(codes = malloc(nvals * sizeof(*codes)))) + return NULL; + for (i = 0; i < nvals; i++) { + codes[i].symbol = vals[i]; + codes[i].len = lens[i]; + } + qsort(codes, nvals, sizeof(*codes), code_sort); + + /* + * Generate canonical codes from lengths. + * Sort by length. + * Start with 0. + * Every new code of same length is +1. + * Every new code of new length is +1 then <<1 per extra length. + * + * /\ + * a/\ + * /\/\ + * bcd/\ + * ef + * + * a 1 0 + * b 3 4 (0+1)<<2 + * c 3 5 + * d 3 6 + * e 4 14 (6+1)<<1 + * f 5 15 + */ + code = 0; len = codes[0].len; + for (i = 0; i < nvals; i++) { + while (len != codes[i].len) { + code<<=1; + len++; + } + codes[i].code = code++; + + if (codes[i].symbol >= -1 && codes[i].symbol < MAX_HUFF) + c->e_huffman.val2code[codes[i].symbol+1] = i; + + //fprintf(stderr, "sym %d, code %d, len %d\n", + // codes[i].symbol, codes[i].code, codes[i].len); + } + + free(lens); + free(vals); + free(freqs); + + c->e_huffman.codes = codes; + c->e_huffman.nvals = nvals; + + c->free = cram_huffman_encode_free; + if (option == E_BYTE || option == E_BYTE_ARRAY) { + if (c->e_huffman.codes[0].len == 0) + c->encode = cram_huffman_encode_char0; + else + c->encode = cram_huffman_encode_char; + } else { + if (c->e_huffman.codes[0].len == 0) + c->encode = cram_huffman_encode_int0; + else + c->encode = cram_huffman_encode_int; + } + c->store = cram_huffman_encode_store; + + return c; +} + +/* + * --------------------------------------------------------------------------- + * BYTE_ARRAY_LEN + */ +int cram_byte_array_len_decode(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, + int *out_size) { + /* Fetch length */ + int32_t len, one = 1; + + c->byte_array_len.len_codec->decode(slice, c->byte_array_len.len_codec, in, (char *)&len, &one); + //printf("ByteArray Len=%d\n", len); + + if (c->byte_array_len.value_codec) { + c->byte_array_len.value_codec->decode(slice, + c->byte_array_len.value_codec, + in, out, &len); + } else { + return -1; + } + + *out_size = len; + + return 0; +} + +void cram_byte_array_len_decode_free(cram_codec *c) { + if (!c) return; + + if (c->byte_array_len.len_codec) + c->byte_array_len.len_codec->free(c->byte_array_len.len_codec); + + if (c->byte_array_len.value_codec) + c->byte_array_len.value_codec->free(c->byte_array_len.value_codec); + + free(c); +} + +cram_codec *cram_byte_array_len_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + char *cp = data; + int32_t encoding; + int32_t sub_size; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_BYTE_ARRAY_LEN; + c->decode = cram_byte_array_len_decode; + c->free = cram_byte_array_len_decode_free; + + cp += itf8_get(cp, &encoding); + cp += itf8_get(cp, &sub_size); + c->byte_array_len.len_codec = cram_decoder_init(encoding, cp, sub_size, + E_INT, version); + cp += sub_size; + + cp += itf8_get(cp, &encoding); + cp += itf8_get(cp, &sub_size); + c->byte_array_len.value_codec = cram_decoder_init(encoding, cp, sub_size, + option, version); + cp += sub_size; + + if (cp - data != size) { + fprintf(stderr, "Malformed byte_array_len header stream\n"); + free(c); + return NULL; + } + + return c; +} + +int cram_byte_array_len_encode(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + int32_t i32 = in_size; + int r = 0; + + r |= c->e_byte_array_len.len_codec->encode(slice, + c->e_byte_array_len.len_codec, + (char *)&i32, 1); + r |= c->e_byte_array_len.val_codec->encode(slice, + c->e_byte_array_len.val_codec, + in, in_size); + return r; +} + +void cram_byte_array_len_encode_free(cram_codec *c) { + if (!c) + return; + + if (c->e_byte_array_len.len_codec) + c->e_byte_array_len.len_codec->free(c->e_byte_array_len.len_codec); + + if (c->e_byte_array_len.val_codec) + c->e_byte_array_len.val_codec->free(c->e_byte_array_len.val_codec); + + free(c); +} + +int cram_byte_array_len_encode_store(cram_codec *c, cram_block *b, + char *prefix, int version) { + int len = 0, len2, len3; + cram_codec *tc; + cram_block *b_len, *b_val; + + if (prefix) { + size_t l = strlen(prefix); + BLOCK_APPEND(b, prefix, l); + len += l; + } + + tc = c->e_byte_array_len.len_codec; + b_len = cram_new_block(0, 0); + len2 = tc->store(tc, b_len, NULL, version); + + tc = c->e_byte_array_len.val_codec; + b_val = cram_new_block(0, 0); + len3 = tc->store(tc, b_val, NULL, version); + + len += itf8_put_blk(b, c->codec); + len += itf8_put_blk(b, len2+len3); + BLOCK_APPEND(b, BLOCK_DATA(b_len), BLOCK_SIZE(b_len)); + BLOCK_APPEND(b, BLOCK_DATA(b_val), BLOCK_SIZE(b_val)); + + cram_free_block(b_len); + cram_free_block(b_val); + + return len + len2 + len3; +} + +cram_codec *cram_byte_array_len_encode_init(cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + cram_codec *c; + cram_byte_array_len_encoder *e = (cram_byte_array_len_encoder *)dat; + + c = malloc(sizeof(*c)); + if (!c) + return NULL; + c->codec = E_BYTE_ARRAY_LEN; + c->free = cram_byte_array_len_encode_free; + c->encode = cram_byte_array_len_encode; + c->store = cram_byte_array_len_encode_store; + + c->e_byte_array_len.len_codec = cram_encoder_init(e->len_encoding, + NULL, E_INT, + e->len_dat, + version); + c->e_byte_array_len.val_codec = cram_encoder_init(e->val_encoding, + NULL, E_BYTE_ARRAY, + e->val_dat, + version); + + return c; +} + +/* + * --------------------------------------------------------------------------- + * BYTE_ARRAY_STOP + */ +static int cram_byte_array_stop_decode_char(cram_slice *slice, cram_codec *c, + cram_block *in, char *out, + int *out_size) { + int i; + cram_block *b = NULL; + char *cp, ch; + + if (slice->block_by_id) { + if (!(b = slice->block_by_id[c->byte_array_stop.content_id])) + return *out_size?-1:0; + } else { + for (i = 0; i < slice->hdr->num_blocks; i++) { + b = slice->block[i]; + if (b && b->content_type == EXTERNAL && + b->content_id == c->byte_array_stop.content_id) { + break; + } + } + if (i == slice->hdr->num_blocks || !b) + return -1; + } + + if (b->idx >= b->uncomp_size) + return -1; + + cp = (char *)b->data + b->idx; + while ((ch = *cp) != (char)c->byte_array_stop.stop) { + if (cp - (char *)b->data >= b->uncomp_size) + return -1; + *out++ = ch; + cp++; + } + + *out_size = cp - (char *)(b->data + b->idx); + b->idx = cp - (char *)b->data + 1; + + return 0; +} + +int cram_byte_array_stop_decode_block(cram_slice *slice, cram_codec *c, + cram_block *in, char *out_, + int *out_size) { + cram_block *b = NULL; + cram_block *out = (cram_block *)out_; + char *cp, *out_cp, *cp_end; + char stop; + + if (slice->block_by_id) { + if (!(b = slice->block_by_id[c->byte_array_stop.content_id])) + return *out_size?-1:0; + } else { + int i; + for (i = 0; i < slice->hdr->num_blocks; i++) { + b = slice->block[i]; + if (b && b->content_type == EXTERNAL && + b->content_id == c->byte_array_stop.content_id) { + break; + } + } + if (i == slice->hdr->num_blocks || !b) + return -1; + } + + if (b->idx >= b->uncomp_size) + return -1; + cp = (char *)b->data + b->idx; + cp_end = (char *)b->data + b->uncomp_size; + out_cp = (char *)BLOCK_END(out); + + stop = c->byte_array_stop.stop; + if (cp_end - cp < out->alloc - out->byte) { + while (*cp != stop && cp != cp_end) + *out_cp++ = *cp++; + BLOCK_SIZE(out) = out_cp - (char *)BLOCK_DATA(out); + } else { + char *cp_start; + for (cp_start = cp; *cp != stop && cp != cp_end; cp++) + ; + BLOCK_APPEND(out, cp_start, cp - cp_start); + BLOCK_GROW(out, cp - cp_start); + } + + *out_size = cp - (char *)(b->data + b->idx); + b->idx = cp - (char *)b->data + 1; + + return 0; +} + +void cram_byte_array_stop_decode_free(cram_codec *c) { + if (!c) return; + + free(c); +} + +cram_codec *cram_byte_array_stop_decode_init(char *data, int size, + enum cram_external_type option, + int version) { + cram_codec *c; + unsigned char *cp = (unsigned char *)data; + + if (!(c = malloc(sizeof(*c)))) + return NULL; + + c->codec = E_BYTE_ARRAY_STOP; + c->decode = (option == E_BYTE_ARRAY_BLOCK) + ? cram_byte_array_stop_decode_block + : cram_byte_array_stop_decode_char; + c->free = cram_byte_array_stop_decode_free; + + c->byte_array_stop.stop = *cp++; + if (CRAM_MAJOR_VERS(version) == 1) { + c->byte_array_stop.content_id = cp[0] + (cp[1]<<8) + (cp[2]<<16) + + (cp[3]<<24); + cp += 4; + } else { + cp += itf8_get(cp, &c->byte_array_stop.content_id); + } + + if ((char *)cp - data != size) { + fprintf(stderr, "Malformed byte_array_stop header stream\n"); + free(c); + return NULL; + } + + return c; +} + +int cram_byte_array_stop_encode(cram_slice *slice, cram_codec *c, + char *in, int in_size) { + BLOCK_APPEND(c->out, in, in_size); + BLOCK_APPEND_CHAR(c->out, c->e_byte_array_stop.stop); + return 0; +} + +void cram_byte_array_stop_encode_free(cram_codec *c) { + if (!c) + return; + free(c); +} + +int cram_byte_array_stop_encode_store(cram_codec *c, cram_block *b, + char *prefix, int version) { + int len = 0; + char buf[20], *cp = buf; + + if (prefix) { + size_t l = strlen(prefix); + BLOCK_APPEND(b, prefix, l); + len += l; + } + + cp += itf8_put(cp, c->codec); + + if (CRAM_MAJOR_VERS(version) == 1) { + cp += itf8_put(cp, 5); + *cp++ = c->e_byte_array_stop.stop; + *cp++ = (c->e_byte_array_stop.content_id >> 0) & 0xff; + *cp++ = (c->e_byte_array_stop.content_id >> 8) & 0xff; + *cp++ = (c->e_byte_array_stop.content_id >> 16) & 0xff; + *cp++ = (c->e_byte_array_stop.content_id >> 24) & 0xff; + } else { + cp += itf8_put(cp, 1 + itf8_size(c->e_byte_array_stop.content_id)); + *cp++ = c->e_byte_array_stop.stop; + cp += itf8_put(cp, c->e_byte_array_stop.content_id); + } + + BLOCK_APPEND(b, buf, cp-buf); + len += cp-buf; + + return len; +} + +cram_codec *cram_byte_array_stop_encode_init(cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + cram_codec *c; + + c = malloc(sizeof(*c)); + if (!c) + return NULL; + c->codec = E_BYTE_ARRAY_STOP; + c->free = cram_byte_array_stop_encode_free; + c->encode = cram_byte_array_stop_encode; + c->store = cram_byte_array_stop_encode_store; + + c->e_byte_array_stop.stop = ((int *)dat)[0]; + c->e_byte_array_stop.content_id = ((int *)dat)[1]; + + return c; +} + +/* + * --------------------------------------------------------------------------- + */ + +char *cram_encoding2str(enum cram_encoding t) { + switch (t) { + case E_NULL: return "NULL"; + case E_EXTERNAL: return "EXTERNAL"; + case E_GOLOMB: return "GOLOMB"; + case E_HUFFMAN: return "HUFFMAN"; + case E_BYTE_ARRAY_LEN: return "BYTE_ARRAY_LEN"; + case E_BYTE_ARRAY_STOP: return "BYTE_ARRAY_STOP"; + case E_BETA: return "BETA"; + case E_SUBEXP: return "SUBEXP"; + case E_GOLOMB_RICE: return "GOLOMB_RICE"; + case E_GAMMA: return "GAMMA"; + } + return "?"; +} + +static cram_codec *(*decode_init[])(char *data, + int size, + enum cram_external_type option, + int version) = { + NULL, + cram_external_decode_init, + NULL, + cram_huffman_decode_init, + cram_byte_array_len_decode_init, + cram_byte_array_stop_decode_init, + cram_beta_decode_init, + cram_subexp_decode_init, + NULL, + cram_gamma_decode_init, +}; + +cram_codec *cram_decoder_init(enum cram_encoding codec, + char *data, int size, + enum cram_external_type option, + int version) { + if (decode_init[codec]) { + return decode_init[codec](data, size, option, version); + } else { + fprintf(stderr, "Unimplemented codec of type %s\n", codec2str(codec)); + return NULL; + } +} + +static cram_codec *(*encode_init[])(cram_stats *stx, + enum cram_external_type option, + void *opt, + int version) = { + NULL, + cram_external_encode_init, + NULL, + cram_huffman_encode_init, + cram_byte_array_len_encode_init, + cram_byte_array_stop_encode_init, + cram_beta_encode_init, + NULL, //cram_subexp_encode_init, + NULL, + NULL, //cram_gamma_encode_init, +}; + +cram_codec *cram_encoder_init(enum cram_encoding codec, + cram_stats *st, + enum cram_external_type option, + void *dat, + int version) { + if (st && !st->nvals) + return NULL; + + if (encode_init[codec]) { + cram_codec *r; + if ((r = encode_init[codec](st, option, dat, version))) + r->out = NULL; + return r; + } else { + fprintf(stderr, "Unimplemented codec of type %s\n", codec2str(codec)); + abort(); + } +} + +/* + * Returns the content_id used by this codec, also in id2 if byte_array_len. + * Returns -1 for the CORE block and -2 for unneeded. + * id2 is only filled out for BYTE_ARRAY_LEN which uses 2 codecs. + */ +int cram_codec_to_id(cram_codec *c, int *id2) { + int bnum1, bnum2 = -2; + + switch (c->codec) { + case E_HUFFMAN: + bnum1 = c->huffman.ncodes == 1 ? -2 : -1; + break; + case E_GOLOMB: + case E_BETA: + case E_SUBEXP: + case E_GOLOMB_RICE: + case E_GAMMA: + bnum1 = -1; + break; + case E_EXTERNAL: + bnum1 = c->external.content_id; + break; + case E_BYTE_ARRAY_LEN: + bnum1 = cram_codec_to_id(c->byte_array_len.len_codec, NULL); + bnum2 = cram_codec_to_id(c->byte_array_len.value_codec, NULL); + break; + case E_BYTE_ARRAY_STOP: + bnum1 = c->byte_array_stop.content_id; + break; + case E_NULL: + bnum1 = -2; + break; + default: + fprintf(stderr, "Unknown codec type %d\n", c->codec); + bnum1 = -1; + } + + if (id2) + *id2 = bnum2; + return bnum1; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_codecs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_codecs.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,165 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _CRAM_ENCODINGS_H_ +#define _CRAM_ENCODINGS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +struct cram_codec; + +/* + * Slow but simple huffman decoder to start with. + * Read a bit at a time, keeping track of {length, value} + * eg. 1 1 0 1 => {1,1}, {2,3}, {3,6}, {4,13} + * + * Keep track of this through the huffman code table. + * For fast scanning we have an index of where the first code of length X + * appears. + */ +typedef struct { + int32_t symbol; + int32_t p; // next code start value, minus index to codes[] + int32_t code; + int32_t len; +} cram_huffman_code; + +typedef struct { + int ncodes; + cram_huffman_code *codes; +} cram_huffman_decoder; + +#define MAX_HUFF 128 +typedef struct { + cram_huffman_code *codes; + int nvals; + int val2code[MAX_HUFF+1]; // value to code lookup for small values +} cram_huffman_encoder; + +typedef struct { + int32_t offset; + int32_t nbits; +} cram_beta_decoder; + +typedef struct { + int32_t offset; +} cram_gamma_decoder; + +typedef struct { + int32_t offset; + int32_t k; +} cram_subexp_decoder; + +typedef struct { + int32_t content_id; + enum cram_external_type type; +} cram_external_decoder; + +typedef struct { + struct cram_codec *len_codec; + struct cram_codec *value_codec; +} cram_byte_array_len_decoder; + +typedef struct { + unsigned char stop; + int32_t content_id; +} cram_byte_array_stop_decoder; + +typedef struct { + enum cram_encoding len_encoding; + enum cram_encoding val_encoding; + void *len_dat; + void *val_dat; + struct cram_codec *len_codec; + struct cram_codec *val_codec; +} cram_byte_array_len_encoder; + +/* + * A generic codec structure. + */ +typedef struct cram_codec { + enum cram_encoding codec; + cram_block *out; + void (*free)(struct cram_codec *codec); + int (*decode)(cram_slice *slice, struct cram_codec *codec, + cram_block *in, char *out, int *out_size); + int (*encode)(cram_slice *slice, struct cram_codec *codec, + char *in, int in_size); + int (*store)(struct cram_codec *codec, cram_block *b, char *prefix, + int version); + union { + cram_huffman_decoder huffman; + cram_external_decoder external; + cram_beta_decoder beta; + cram_gamma_decoder gamma; + cram_subexp_decoder subexp; + cram_byte_array_len_decoder byte_array_len; + cram_byte_array_stop_decoder byte_array_stop; + + cram_huffman_encoder e_huffman; + cram_external_decoder e_external; + cram_byte_array_stop_decoder e_byte_array_stop; + cram_byte_array_len_encoder e_byte_array_len; + cram_beta_decoder e_beta; + }; +} cram_codec; + +char *cram_encoding2str(enum cram_encoding t); + +cram_codec *cram_decoder_init(enum cram_encoding codec, char *data, int size, + enum cram_external_type option, + int version); +cram_codec *cram_encoder_init(enum cram_encoding codec, cram_stats *st, + enum cram_external_type option, void *dat, + int version); + +//int cram_decode(void *codes, char *in, int in_size, char *out, int *out_size); +//void cram_decoder_free(void *codes); + +//#define GET_BIT_MSB(b,v) (void)(v<<=1, v|=(b->data[b->byte] >> b->bit)&1, (--b->bit == -1) && (b->bit = 7, b->byte++)) + +#define GET_BIT_MSB(b,v) (void)(v<<=1, v|=(b->data[b->byte] >> b->bit)&1, b->byte += (--b->bit<0), b->bit&=7) + +/* + * Returns the content_id used by this codec, also in id2 if byte_array_len. + * Returns -1 for the CORE block and -2 for unneeded. + * id2 is only filled out for BYTE_ARRAY_LEN which uses 2 codecs. + */ +int cram_codec_to_id(cram_codec *c, int *id2); + +#ifdef __cplusplus +} +#endif + +#endif /* _CRAM_ENCODINGS_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_decode.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_decode.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,2775 @@ +/* +Copyright (c) 2012-2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * - In-memory decoding of CRAM data structures. + * - Iterator for reading CRAM record by record. + */ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cram/cram.h" +#include "cram/os.h" +#include "cram/md5.h" + +//Whether CIGAR has just M or uses = and X to indicate match and mismatch +//#define USE_X + +/* ---------------------------------------------------------------------- + * CRAM compression headers + */ + +/* + * Decodes the Tag Dictionary record in the preservation map + * Updates the cram compression header. + * + * Returns number of bytes decoded on success + * -1 on failure + */ +int cram_decode_TD(char *cp, cram_block_compression_hdr *h) { + char *op = cp; + unsigned char *dat; + cram_block *b; + int32_t blk_size; + int nTL, i, sz; + + if (!(b = cram_new_block(0, 0))) + return -1; + h->TD_blk = b; + + /* Decode */ + cp += itf8_get(cp, &blk_size); + if (!blk_size) { + h->nTL = 0; + h->TL = NULL; + cram_free_block(b); + return cp - op; + } + + BLOCK_APPEND(b, cp, blk_size); + cp += blk_size; + sz = cp - op; + + // Force nul termination if missing + if (BLOCK_DATA(b)[BLOCK_SIZE(b)-1]) + BLOCK_APPEND_CHAR(b, '\0'); + + /* Set up TL lookup table */ + dat = BLOCK_DATA(b); + + // Count + for (nTL = i = 0; i < BLOCK_SIZE(b); i++) { + nTL++; + while (dat[i]) + i++; + } + + // Copy + h->nTL = nTL; + if (!(h->TL = calloc(h->nTL, sizeof(unsigned char *)))) + return -1; + for (nTL = i = 0; i < BLOCK_SIZE(b); i++) { + h->TL[nTL++] = &dat[i]; + while (dat[i]) + i++; + } + + return sz; +} + +/* + * Decodes a CRAM block compression header. + * Returns header ptr on success + * NULL on failure + */ +cram_block_compression_hdr *cram_decode_compression_header(cram_fd *fd, + cram_block *b) { + char *cp, *cp_copy; + cram_block_compression_hdr *hdr = calloc(1, sizeof(*hdr)); + int i; + int32_t map_size, map_count; + + if (!hdr) + return NULL; + + if (b->method != RAW) { + if (cram_uncompress_block(b)) { + free(hdr); + return NULL; + } + } + + cp = (char *)b->data; + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + cp += itf8_get(cp, &hdr->ref_seq_id); + cp += itf8_get(cp, &hdr->ref_seq_start); + cp += itf8_get(cp, &hdr->ref_seq_span); + cp += itf8_get(cp, &hdr->num_records); + cp += itf8_get(cp, &hdr->num_landmarks); + if (!(hdr->landmark = malloc(hdr->num_landmarks * sizeof(int32_t)))) { + free(hdr); + return NULL; + } + for (i = 0; i < hdr->num_landmarks; i++) { + cp += itf8_get(cp, &hdr->landmark[i]); + } + } + + hdr->preservation_map = kh_init(map); + + memset(hdr->rec_encoding_map, 0, + CRAM_MAP_HASH * sizeof(hdr->rec_encoding_map[0])); + memset(hdr->tag_encoding_map, 0, + CRAM_MAP_HASH * sizeof(hdr->tag_encoding_map[0])); + + if (!hdr->preservation_map) { + cram_free_compression_header(hdr); + return NULL; + } + + /* Initialise defaults for preservation map */ + hdr->mapped_qs_included = 0; + hdr->unmapped_qs_included = 0; + hdr->unmapped_placed = 0; + hdr->qs_included = 0; + hdr->read_names_included = 0; + hdr->AP_delta = 1; + memcpy(hdr->substitution_matrix, "CGTNAGTNACTNACGNACGT", 20); + + /* Preservation map */ + cp += itf8_get(cp, &map_size); cp_copy = cp; + cp += itf8_get(cp, &map_count); + for (i = 0; i < map_count; i++) { + pmap_t hd; + khint_t k; + int r; + + cp += 2; + switch(CRAM_KEY(cp[-2],cp[-1])) { + case CRAM_KEY('M','I'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "MI", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + hdr->mapped_qs_included = hd.i; + break; + + case CRAM_KEY('U','I'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "UI", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + hdr->unmapped_qs_included = hd.i; + break; + + case CRAM_KEY('P','I'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "PI", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + hdr->unmapped_placed = hd.i; + break; + + case CRAM_KEY('R','N'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "RN", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + hdr->read_names_included = hd.i; + break; + + case CRAM_KEY('A','P'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "AP", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + hdr->AP_delta = hd.i; + break; + + case CRAM_KEY('R','R'): + hd.i = *cp++; + k = kh_put(map, hdr->preservation_map, "RR", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + + kh_val(hdr->preservation_map, k) = hd; + fd->no_ref = !hd.i; + break; + + case CRAM_KEY('S','M'): + hdr->substitution_matrix[0][(cp[0]>>6)&3] = 'C'; + hdr->substitution_matrix[0][(cp[0]>>4)&3] = 'G'; + hdr->substitution_matrix[0][(cp[0]>>2)&3] = 'T'; + hdr->substitution_matrix[0][(cp[0]>>0)&3] = 'N'; + + hdr->substitution_matrix[1][(cp[1]>>6)&3] = 'A'; + hdr->substitution_matrix[1][(cp[1]>>4)&3] = 'G'; + hdr->substitution_matrix[1][(cp[1]>>2)&3] = 'T'; + hdr->substitution_matrix[1][(cp[1]>>0)&3] = 'N'; + + hdr->substitution_matrix[2][(cp[2]>>6)&3] = 'A'; + hdr->substitution_matrix[2][(cp[2]>>4)&3] = 'C'; + hdr->substitution_matrix[2][(cp[2]>>2)&3] = 'T'; + hdr->substitution_matrix[2][(cp[2]>>0)&3] = 'N'; + + hdr->substitution_matrix[3][(cp[3]>>6)&3] = 'A'; + hdr->substitution_matrix[3][(cp[3]>>4)&3] = 'C'; + hdr->substitution_matrix[3][(cp[3]>>2)&3] = 'G'; + hdr->substitution_matrix[3][(cp[3]>>0)&3] = 'N'; + + hdr->substitution_matrix[4][(cp[4]>>6)&3] = 'A'; + hdr->substitution_matrix[4][(cp[4]>>4)&3] = 'C'; + hdr->substitution_matrix[4][(cp[4]>>2)&3] = 'G'; + hdr->substitution_matrix[4][(cp[4]>>0)&3] = 'T'; + + hd.p = cp; + cp += 5; + + k = kh_put(map, hdr->preservation_map, "SM", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + kh_val(hdr->preservation_map, k) = hd; + break; + + case CRAM_KEY('T','D'): { + int sz = cram_decode_TD(cp, hdr); // tag dictionary + if (sz < 0) { + cram_free_compression_header(hdr); + return NULL; + } + + hd.p = cp; + cp += sz; + + k = kh_put(map, hdr->preservation_map, "TD", &r); + if (-1 == r) { + cram_free_compression_header(hdr); + return NULL; + } + kh_val(hdr->preservation_map, k) = hd; + break; + } + + default: + fprintf(stderr, "Unrecognised preservation map key %c%c\n", + cp[-2], cp[-1]); + // guess byte; + cp++; + break; + } + } + if (cp - cp_copy != map_size) { + cram_free_compression_header(hdr); + return NULL; + } + + /* Record encoding map */ + cp += itf8_get(cp, &map_size); cp_copy = cp; + cp += itf8_get(cp, &map_count); + for (i = 0; i < map_count; i++) { + char *key = cp; + int32_t encoding; + int32_t size; + cram_map *m = malloc(sizeof(*m)); // FIXME: use pooled_alloc + + if (!m) { + cram_free_compression_header(hdr); + return NULL; + } + + cp += 2; + cp += itf8_get(cp, &encoding); + cp += itf8_get(cp, &size); + + // Fill out cram_map purely for cram_dump to dump out. + m->key = (key[0]<<8)|key[1]; + m->encoding = encoding; + m->size = size; + m->offset = cp - (char *)b->data; + m->codec = NULL; + + if (m->encoding == E_NULL) + continue; + + //printf("%s codes for %.2s\n", cram_encoding2str(encoding), key); + + /* + * For CRAM1.0 CF and BF are Byte and not Int. + * Practically speaking it makes no difference unless we have a + * 1.0 format file that stores these in EXTERNAL as only then + * does Byte vs Int matter. + * + * Neither this C code nor Java reference implementations did this, + * so we gloss over it and treat them as int. + */ + + if (key[0] == 'B' && key[1] == 'F') { + if (!(hdr->codecs[DS_BF] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'C' && key[1] == 'F') { + if (!(hdr->codecs[DS_CF] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'R' && key[1] == 'I') { + if (!(hdr->codecs[DS_RI] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'R' && key[1] == 'L') { + if (!(hdr->codecs[DS_RL] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'A' && key[1] == 'P') { + if (!(hdr->codecs[DS_AP] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'R' && key[1] == 'G') { + if (!(hdr->codecs[DS_RG] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'M' && key[1] == 'F') { + if (!(hdr->codecs[DS_MF] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'N' && key[1] == 'S') { + if (!(hdr->codecs[DS_NS] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'N' && key[1] == 'P') { + if (!(hdr->codecs[DS_NP] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'T' && key[1] == 'S') { + if (!(hdr->codecs[DS_TS] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'N' && key[1] == 'F') { + if (!(hdr->codecs[DS_NF] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'T' && key[1] == 'C') { + if (!(hdr->codecs[DS_TC] = cram_decoder_init(encoding, cp, size, + E_BYTE, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'T' && key[1] == 'N') { + if (!(hdr->codecs[DS_TN] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'F' && key[1] == 'N') { + if (!(hdr->codecs[DS_FN] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'F' && key[1] == 'C') { + if (!(hdr->codecs[DS_FC] = cram_decoder_init(encoding, cp, size, + E_BYTE, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'F' && key[1] == 'P') { + if (!(hdr->codecs[DS_FP] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'B' && key[1] == 'S') { + if (!(hdr->codecs[DS_BS] = cram_decoder_init(encoding, cp, size, + E_BYTE, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'I' && key[1] == 'N') { + if (!(hdr->codecs[DS_IN] = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'S' && key[1] == 'C') { + if (!(hdr->codecs[DS_SC] = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'D' && key[1] == 'L') { + if (!(hdr->codecs[DS_DL] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'B' && key[1] == 'A') { + if (!(hdr->codecs[DS_BA] = cram_decoder_init(encoding, cp, size, + E_BYTE, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'B' && key[1] == 'B') { + if (!(hdr->codecs[DS_BB] = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'R' && key[1] == 'S') { + if (!(hdr->codecs[DS_RS] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'P' && key[1] == 'D') { + if (!(hdr->codecs[DS_PD] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'H' && key[1] == 'C') { + if (!(hdr->codecs[DS_HC] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'M' && key[1] == 'Q') { + if (!(hdr->codecs[DS_MQ] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'R' && key[1] == 'N') { + if (!(hdr->codecs[DS_RN] = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY_BLOCK, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'Q' && key[1] == 'S') { + if (!(hdr->codecs[DS_QS] = cram_decoder_init(encoding, cp, size, + E_BYTE, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'Q' && key[1] == 'Q') { + if (!(hdr->codecs[DS_QQ] = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'T' && key[1] == 'L') { + if (!(hdr->codecs[DS_TL] = cram_decoder_init(encoding, cp, size, + E_INT, + fd->version))) { + cram_free_compression_header(hdr); + return NULL; + } + } else if (key[0] == 'T' && key[1] == 'M') { + } else if (key[0] == 'T' && key[1] == 'V') { + } else + fprintf(stderr, "Unrecognised key: %.2s\n", key); + + cp += size; + + m->next = hdr->rec_encoding_map[CRAM_MAP(key[0], key[1])]; + hdr->rec_encoding_map[CRAM_MAP(key[0], key[1])] = m; + } + if (cp - cp_copy != map_size) { + cram_free_compression_header(hdr); + return NULL; + } + + /* Tag encoding map */ + cp += itf8_get(cp, &map_size); cp_copy = cp; + cp += itf8_get(cp, &map_count); + for (i = 0; i < map_count; i++) { + int32_t encoding; + int32_t size; + cram_map *m = malloc(sizeof(*m)); // FIXME: use pooled_alloc + char *key = cp+1; + + if (!m) { + cram_free_compression_header(hdr); + return NULL; + } + + m->key = (key[0]<<16)|(key[1]<<8)|key[2]; + + cp += 4; // Strictly ITF8, but this suffices + cp += itf8_get(cp, &encoding); + cp += itf8_get(cp, &size); + + m->encoding = encoding; + m->size = size; + m->offset = cp - (char *)b->data; + if (!(m->codec = cram_decoder_init(encoding, cp, size, + E_BYTE_ARRAY_BLOCK, fd->version))) { + cram_free_compression_header(hdr); + free(m); + return NULL; + } + + cp += size; + + m->next = hdr->tag_encoding_map[CRAM_MAP(key[0],key[1])]; + hdr->tag_encoding_map[CRAM_MAP(key[0],key[1])] = m; + } + if (cp - cp_copy != map_size) { + cram_free_compression_header(hdr); + return NULL; + } + + return hdr; +} + +/* + * Note we also need to scan through the record encoding map to + * see which data series share the same block, either external or + * CORE. For example if we need the BF data series but MQ and CF + * are also encoded in the same block then we need to add those in + * as a dependency in order to correctly decode BF. + * + * Returns 0 on success + * -1 on failure + */ +int cram_dependent_data_series(cram_fd *fd, + cram_block_compression_hdr *hdr, + cram_slice *s) { + int *block_used; + int core_used = 0; + int i; + static int i_to_id[] = { + DS_BF, DS_AP, DS_FP, DS_RL, DS_DL, DS_NF, DS_BA, DS_QS, + DS_FC, DS_FN, DS_BS, DS_IN, DS_RG, DS_MQ, DS_TL, DS_RN, + DS_NS, DS_NP, DS_TS, DS_MF, DS_CF, DS_RI, DS_RS, DS_PD, + DS_HC, DS_SC, DS_BB, DS_QQ, + }; + uint32_t orig_ds; + + /* + * Set the data_series bit field based on fd->required_fields + * contents. + */ + if (fd->required_fields && fd->required_fields != INT_MAX) { + hdr->data_series = 0; + + if (fd->required_fields & SAM_QNAME) + hdr->data_series |= CRAM_RN; + + if (fd->required_fields & SAM_FLAG) + hdr->data_series |= CRAM_BF; + + if (fd->required_fields & SAM_RNAME) + hdr->data_series |= CRAM_RI | CRAM_BF; + + if (fd->required_fields & SAM_POS) + hdr->data_series |= CRAM_AP | CRAM_BF; + + if (fd->required_fields & SAM_MAPQ) + hdr->data_series |= CRAM_MQ; + + if (fd->required_fields & SAM_CIGAR) + hdr->data_series |= CRAM_CIGAR; + + if (fd->required_fields & SAM_RNEXT) + hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_RI | CRAM_NS |CRAM_BF; + + if (fd->required_fields & SAM_PNEXT) + hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_AP | CRAM_NP | CRAM_BF; + + if (fd->required_fields & SAM_TLEN) + hdr->data_series |= CRAM_CF | CRAM_NF | CRAM_AP | CRAM_TS | + CRAM_BF | CRAM_MF | CRAM_RI | CRAM_CIGAR; + + if (fd->required_fields & SAM_SEQ) + hdr->data_series |= CRAM_SEQ; + + if (!(fd->required_fields & SAM_AUX)) + // No easy way to get MD/NM without other tags at present + fd->decode_md = 0; + + if (fd->required_fields & SAM_QUAL) + hdr->data_series |= CRAM_SEQ; + + if (fd->required_fields & SAM_AUX) + hdr->data_series |= CRAM_RG | CRAM_TL | CRAM_aux; + + if (fd->required_fields & SAM_RGAUX) + hdr->data_series |= CRAM_RG | CRAM_BF; + + // Always uncompress CORE block + if (cram_uncompress_block(s->block[0])) + return -1; + } else { + hdr->data_series = CRAM_ALL; + + for (i = 0; i < s->hdr->num_blocks; i++) { + if (cram_uncompress_block(s->block[i])) + return -1; + } + + return 0; + } + + block_used = calloc(s->hdr->num_blocks+1, sizeof(int)); + if (!block_used) + return -1; + + do { + /* + * Also set data_series based on code prerequisites. Eg if we need + * CRAM_QS then we also need to know CRAM_RL so we know how long it + * is, or if we need FC/FP then we also need FN (number of features). + * + * It's not reciprocal though. We may be needing to decode FN + * but have no need to decode FC, FP and cigar ops. + */ + if (hdr->data_series & CRAM_RS) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_PD) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_HC) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_QS) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_IN) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_SC) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_BS) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_DL) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_BA) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_BB) hdr->data_series |= CRAM_FC|CRAM_FP; + if (hdr->data_series & CRAM_QQ) hdr->data_series |= CRAM_FC|CRAM_FP; + + // cram_decode_seq() needs seq[] array + if (hdr->data_series & (CRAM_SEQ|CRAM_CIGAR)) hdr->data_series |= CRAM_RL; + + if (hdr->data_series & CRAM_FP) hdr->data_series |= CRAM_FC; + if (hdr->data_series & CRAM_FC) hdr->data_series |= CRAM_FN; + if (hdr->data_series & CRAM_aux) hdr->data_series |= CRAM_TL; + if (hdr->data_series & CRAM_MF) hdr->data_series |= CRAM_CF; + if (hdr->data_series & CRAM_MQ) hdr->data_series |= CRAM_BF; + if (hdr->data_series & CRAM_BS) hdr->data_series |= CRAM_RI; + if (hdr->data_series & (CRAM_MF |CRAM_NS |CRAM_NP |CRAM_TS |CRAM_NF)) + hdr->data_series |= CRAM_CF; + if (!hdr->read_names_included && hdr->data_series & CRAM_RN) + hdr->data_series |= CRAM_CF | CRAM_NF; + if (hdr->data_series & (CRAM_BA | CRAM_QS | CRAM_BB | CRAM_QQ)) + hdr->data_series |= CRAM_BF | CRAM_CF | CRAM_RL; + + orig_ds = hdr->data_series; + + // Find which blocks are in use. + for (i = 0; i < sizeof(i_to_id)/sizeof(*i_to_id); i++) { + int bnum1, bnum2, j; + cram_codec *c = hdr->codecs[i_to_id[i]]; + + if (!(hdr->data_series & (1<hdr->num_blocks; j++) { + if (s->block[j]->content_type == EXTERNAL && + s->block[j]->content_id == bnum1) { + block_used[j] = 1; + if (cram_uncompress_block(s->block[j])) { + free(block_used); + return -1; + } + } + } + break; + } + + if (bnum2 == -2 || bnum1 == bnum2) + break; + + bnum1 = bnum2; // 2nd pass + } + } + + // Tags too + if ((fd->required_fields & SAM_AUX) || + (hdr->data_series & CRAM_aux)) { + for (i = 0; i < CRAM_MAP_HASH; i++) { + int bnum1, bnum2, j; + cram_map *m = hdr->tag_encoding_map[i]; + + while (m) { + cram_codec *c = m->codec; + if (!c) + continue; + + bnum1 = cram_codec_to_id(c, &bnum2); + + for (;;) { + switch (bnum1) { + case -2: + break; + + case -1: + core_used = 1; + break; + + default: + for (j = 0; j < s->hdr->num_blocks; j++) { + if (s->block[j]->content_type == EXTERNAL && + s->block[j]->content_id == bnum1) { + block_used[j] = 1; + if (cram_uncompress_block(s->block[j])) { + free(block_used); + return -1; + } + } + } + break; + } + + if (bnum2 == -2 || bnum1 == bnum2) + break; + + bnum1 = bnum2; // 2nd pass + } + + m = m->next; + } + } + } + + // We now know which blocks are in used, so repeat and find + // which other data series need to be added. + for (i = 0; i < sizeof(i_to_id)/sizeof(*i_to_id); i++) { + int bnum1, bnum2, j; + cram_codec *c = hdr->codecs[i_to_id[i]]; + + if (!c) + continue; + + bnum1 = cram_codec_to_id(c, &bnum2); + + for (;;) { + switch (bnum1) { + case -2: + break; + + case -1: + if (core_used) { + //printf(" + data series %08x:\n", 1<data_series |= 1<hdr->num_blocks; j++) { + if (s->block[j]->content_type == EXTERNAL && + s->block[j]->content_id == bnum1) { + if (block_used[j]) { + //printf(" + data series %08x:\n", 1<data_series |= 1<tag_encoding_map[i]; + + while (m) { + cram_codec *c = m->codec; + if (!c) + continue; + + bnum1 = cram_codec_to_id(c, &bnum2); + + for (;;) { + switch (bnum1) { + case -2: + break; + + case -1: + //printf(" + data series %08x:\n", CRAM_aux); + hdr->data_series |= CRAM_aux; + break; + + default: + for (j = 0; j < s->hdr->num_blocks; j++) { + if (s->block[j]->content_type && + s->block[j]->content_id == bnum1) { + if (block_used[j]) { + //printf(" + data series %08x:\n", + // CRAM_aux); + hdr->data_series |= CRAM_aux; + } + } + } + break; + } + + if (bnum2 == -2 || bnum1 == bnum2) + break; + + bnum1 = bnum2; // 2nd pass + } + + m = m->next; + } + } + } while (orig_ds != hdr->data_series); + + free(block_used); + return 0; +} + +/* ---------------------------------------------------------------------- + * CRAM slices + */ + +/* + * Decodes a CRAM (un)mapped slice header block. + * Returns slice header ptr on success + * NULL on failure + */ +cram_block_slice_hdr *cram_decode_slice_header(cram_fd *fd, cram_block *b) { + cram_block_slice_hdr *hdr; + char *cp = (char *)b->data; + int i; + + if (b->content_type != MAPPED_SLICE && + b->content_type != UNMAPPED_SLICE) + return NULL; + + if (!(hdr = calloc(1, sizeof(*hdr)))) + return NULL; + + hdr->content_type = b->content_type; + + if (b->content_type == MAPPED_SLICE) { + cp += itf8_get(cp, &hdr->ref_seq_id); + cp += itf8_get(cp, &hdr->ref_seq_start); + cp += itf8_get(cp, &hdr->ref_seq_span); + } + cp += itf8_get(cp, &hdr->num_records); + hdr->record_counter = 0; + if (CRAM_MAJOR_VERS(fd->version) == 2) { + int32_t i32; + cp += itf8_get(cp, &i32); + hdr->record_counter = i32; + } else if (CRAM_MAJOR_VERS(fd->version) >= 3) { + cp += ltf8_get(cp, &hdr->record_counter); + } + + cp += itf8_get(cp, &hdr->num_blocks); + + cp += itf8_get(cp, &hdr->num_content_ids); + hdr->block_content_ids = malloc(hdr->num_content_ids * sizeof(int32_t)); + if (!hdr->block_content_ids) { + free(hdr); + return NULL; + } + + for (i = 0; i < hdr->num_content_ids; i++) { + cp += itf8_get(cp, &hdr->block_content_ids[i]); + } + + if (b->content_type == MAPPED_SLICE) { + cp += itf8_get(cp, &hdr->ref_base_id); + } + + if (CRAM_MAJOR_VERS(fd->version) != 1) { + memcpy(hdr->md5, cp, 16); + } else { + memset(hdr->md5, 0, 16); + } + + return hdr; +} + + +#if 0 +/* Returns the number of bits set in val; it the highest bit used */ +static int nbits(int v) { + static const int MultiplyDeBruijnBitPosition[32] = { + 1, 10, 2, 11, 14, 22, 3, 30, 12, 15, 17, 19, 23, 26, 4, 31, + 9, 13, 21, 29, 16, 18, 25, 8, 20, 28, 24, 7, 27, 6, 5, 32 + }; + + v |= v >> 1; // first up to set all bits 1 after the first 1 */ + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + + // DeBruijn magic to find top bit + return MultiplyDeBruijnBitPosition[(uint32_t)(v * 0x07C4ACDDU) >> 27]; +} +#endif + +#if 0 +static int sort_freqs(const void *vp1, const void *vp2) { + const int i1 = *(const int *)vp1; + const int i2 = *(const int *)vp2; + return i1-i2; +} +#endif + +/* ---------------------------------------------------------------------- + * Primary CRAM sequence decoder + */ + +/* + * Internal part of cram_decode_slice(). + * Generates the sequence, quality and cigar components. + */ +static int cram_decode_seq(cram_fd *fd, cram_container *c, cram_slice *s, + cram_block *blk, cram_record *cr, SAM_hdr *bfd, + int cf, char *seq, char *qual) { + int prev_pos = 0, f, r = 0, out_sz = 1; + int seq_pos = 1; + int cig_len = 0, ref_pos = cr->apos; + int32_t fn, i32; + enum cigar_op cig_op = BAM_CMATCH; + uint32_t *cigar = s->cigar; + uint32_t ncigar = s->ncigar; + uint32_t cigar_alloc = s->cigar_alloc; + uint32_t nm = 0, md_dist = 0; + int orig_aux = 0; + int decode_md = fd->decode_md && s->ref; + uint32_t ds = c->comp_hdr->data_series; + + if ((ds & CRAM_QS) && !(cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { + memset(qual, 30, cr->len); + } + + if (decode_md) { + orig_aux = BLOCK_SIZE(s->aux_blk); + BLOCK_APPEND(s->aux_blk, "MDZ", 3); + } + + if (ds & CRAM_FN) { + if (!c->comp_hdr->codecs[DS_FN]) return -1; + r |= c->comp_hdr->codecs[DS_FN]->decode(s,c->comp_hdr->codecs[DS_FN], + blk, (char *)&fn, &out_sz); + } else { + fn = 0; + } + + ref_pos--; // count from 0 + cr->cigar = ncigar; + + if (!(ds & (CRAM_FC | CRAM_FP))) + goto skip_cigar; + + for (f = 0; f < fn; f++) { + int32_t pos = 0; + char op; + + if (ncigar+2 >= cigar_alloc) { + cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; + s->cigar = cigar; + if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) + return -1; + } + + if (ds & CRAM_FC) { + if (!c->comp_hdr->codecs[DS_FC]) return -1; + r |= c->comp_hdr->codecs[DS_FC]->decode(s, + c->comp_hdr->codecs[DS_FC], + blk, + &op, &out_sz); + } + + if (!(ds & CRAM_FP)) + continue; + + if (!c->comp_hdr->codecs[DS_FP]) return -1; + r |= c->comp_hdr->codecs[DS_FP]->decode(s, + c->comp_hdr->codecs[DS_FP], + blk, + (char *)&pos, &out_sz); + pos += prev_pos; + + if (pos > seq_pos) { + if (pos > cr->len+1) + return -1; + + if (s->ref && cr->ref_id >= 0) { + if (ref_pos + pos - seq_pos > bfd->ref[cr->ref_id].len) { + static int whinged = 0; + if (!whinged) + fprintf(stderr, "Ref pos outside of ref " + "sequence boundary\n"); + whinged = 1; + } else { + memcpy(&seq[seq_pos-1], &s->ref[ref_pos - s->ref_start +1], + pos - seq_pos); + } + } +#ifdef USE_X + if (cig_len && cig_op != BAM_CBASE_MATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + cig_op = BAM_CBASE_MATCH; +#else + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + cig_op = BAM_CMATCH; +#endif + cig_len += pos - seq_pos; + ref_pos += pos - seq_pos; + md_dist += pos - seq_pos; + seq_pos = pos; + } + + prev_pos = pos; + + if (!(ds & CRAM_FC)) + goto skip_cigar; + + if (!(ds & CRAM_FC)) + continue; + + switch(op) { + case 'S': { // soft clip: IN + int32_t out_sz2 = 1; + + if (cig_len) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_IN) { + switch (CRAM_MAJOR_VERS(fd->version)) { + case 1: + r |= c->comp_hdr->codecs[DS_IN] + ? c->comp_hdr->codecs[DS_IN] + ->decode(s, c->comp_hdr->codecs[DS_IN], + blk, &seq[pos-1], &out_sz2) + : (seq[pos-1] = 'N', out_sz2 = 1, 0); + break; + + case 2: + default: + r |= c->comp_hdr->codecs[DS_SC] + ? c->comp_hdr->codecs[DS_SC] + ->decode(s, c->comp_hdr->codecs[DS_SC], + blk, &seq[pos-1], &out_sz2) + : (seq[pos-1] = 'N', out_sz2 = 1, 0); + break; + +// default: +// r |= c->comp_hdr->codecs[DS_BB] +// ? c->comp_hdr->codecs[DS_BB] +// ->decode(s, c->comp_hdr->codecs[DS_BB], +// blk, &seq[pos-1], &out_sz2) +// : (seq[pos-1] = 'N', out_sz2 = 1, 0); + } + cigar[ncigar++] = (out_sz2<<4) + BAM_CSOFT_CLIP; + cig_op = BAM_CSOFT_CLIP; + seq_pos += out_sz2; + } + break; + } + + case 'X': { // Substitution; BS + unsigned char base; +#ifdef USE_X + if (cig_len && cig_op != BAM_CBASE_MISMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_BS) { + if (!c->comp_hdr->codecs[DS_BS]) return -1; + r |= c->comp_hdr->codecs[DS_BS] + ->decode(s, c->comp_hdr->codecs[DS_BS], blk, + (char *)&base, &out_sz); + seq[pos-1] = 'N'; // FIXME look up BS=base value + } + cig_op = BAM_CBASE_MISMATCH; +#else + int ref_base; + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_BS) { + if (!c->comp_hdr->codecs[DS_BS]) return -1; + r |= c->comp_hdr->codecs[DS_BS] + ->decode(s, c->comp_hdr->codecs[DS_BS], blk, + (char *)&base, &out_sz); + if (ref_pos >= bfd->ref[cr->ref_id].len || !s->ref) { + seq[pos-1] = 'N'; + } else { + ref_base = fd->L1[(uc)s->ref[ref_pos - s->ref_start +1]]; + seq[pos-1] = c->comp_hdr-> + substitution_matrix[ref_base][base]; + if (decode_md) { + BLOCK_APPEND_UINT(s->aux_blk, md_dist); + BLOCK_APPEND_CHAR(s->aux_blk, + s->ref[ref_pos-s->ref_start +1]); + md_dist = 0; + } + } + } + cig_op = BAM_CMATCH; +#endif + nm++; + cig_len++; + seq_pos++; + ref_pos++; + break; + } + + case 'D': { // Deletion; DL + if (cig_len && cig_op != BAM_CDEL) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_DL) { + if (!c->comp_hdr->codecs[DS_DL]) return -1; + r |= c->comp_hdr->codecs[DS_DL] + ->decode(s, c->comp_hdr->codecs[DS_DL], blk, + (char *)&i32, &out_sz); + if (decode_md) { + BLOCK_APPEND_UINT(s->aux_blk, md_dist); + BLOCK_APPEND_CHAR(s->aux_blk, '^'); + BLOCK_APPEND(s->aux_blk, + &s->ref[ref_pos - s->ref_start +1], + i32); + md_dist = 0; + } + cig_op = BAM_CDEL; + cig_len += i32; + ref_pos += i32; + nm += i32; + //printf(" %d: DL = %d (ret %d)\n", f, i32, r); + } + break; + } + + case 'I': { // Insertion (several bases); IN + int32_t out_sz2 = 1; + + if (cig_len && cig_op != BAM_CINS) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + + if (ds & CRAM_IN) { + if (!c->comp_hdr->codecs[DS_IN]) return -1; + r |= c->comp_hdr->codecs[DS_IN] + ->decode(s, c->comp_hdr->codecs[DS_IN], blk, + &seq[pos-1], &out_sz2); + cig_op = BAM_CINS; + cig_len += out_sz2; + seq_pos += out_sz2; + nm += out_sz2; + //printf(" %d: IN(I) = %.*s (ret %d, out_sz %d)\n", f, out_sz2, dat, r, out_sz2); + } + break; + } + + case 'i': { // Insertion (single base); BA + if (cig_len && cig_op != BAM_CINS) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_BA) { + if (!c->comp_hdr->codecs[DS_BA]) return -1; + r |= c->comp_hdr->codecs[DS_BA] + ->decode(s, c->comp_hdr->codecs[DS_BA], blk, + (char *)&seq[pos-1], &out_sz); + } + cig_op = BAM_CINS; + cig_len++; + seq_pos++; + nm++; + break; + } + + case 'b': { // Several bases + int32_t len = 1; + + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + + if (ds & CRAM_BB) { + if (!c->comp_hdr->codecs[DS_BB]) return -1; + r |= c->comp_hdr->codecs[DS_BB] + ->decode(s, c->comp_hdr->codecs[DS_BB], blk, + (char *)&seq[pos-1], &len); + } + + cig_op = BAM_CMATCH; + + cig_len+=len; + seq_pos+=len; + ref_pos+=len; + //prev_pos+=len; + break; + } + + case 'q': { // Several quality values + int32_t len = 1; + + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + + if (ds & CRAM_QQ) { + if (!c->comp_hdr->codecs[DS_QQ]) return -1; + r |= c->comp_hdr->codecs[DS_QQ] + ->decode(s, c->comp_hdr->codecs[DS_QQ], blk, + (char *)&qual[pos-1], &len); + } + + cig_op = BAM_CMATCH; + + cig_len+=len; + seq_pos+=len; + ref_pos+=len; + //prev_pos+=len; + break; + } + + case 'B': { // Read base; BA, QS +#ifdef USE_X + if (cig_len && cig_op != BAM_CBASE_MISMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } +#else + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } +#endif + if (ds & CRAM_BA) { + if (!c->comp_hdr->codecs[DS_BA]) return -1; + r |= c->comp_hdr->codecs[DS_BA] + ->decode(s, c->comp_hdr->codecs[DS_BA], blk, + (char *)&seq[pos-1], &out_sz); + } + if (ds & CRAM_QS) { + if (!c->comp_hdr->codecs[DS_QS]) return -1; + r |= c->comp_hdr->codecs[DS_QS] + ->decode(s, c->comp_hdr->codecs[DS_QS], blk, + (char *)&qual[pos-1], &out_sz); + } +#ifdef USE_X + cig_op = BAM_CBASE_MISMATCH; +#else + cig_op = BAM_CMATCH; +#endif + cig_len++; + seq_pos++; + ref_pos++; + //printf(" %d: BA/QS(B) = %c/%d (ret %d)\n", f, i32, qc, r); + break; + } + + case 'Q': { // Quality score; QS + if (ds & CRAM_QS) { + if (!c->comp_hdr->codecs[DS_QS]) return -1; + r |= c->comp_hdr->codecs[DS_QS] + ->decode(s, c->comp_hdr->codecs[DS_QS], blk, + (char *)&qual[pos-1], &out_sz); + //printf(" %d: QS = %d (ret %d)\n", f, qc, r); + } + break; + } + + case 'H': { // hard clip; HC + if (cig_len && cig_op != BAM_CHARD_CLIP) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_HC) { + if (!c->comp_hdr->codecs[DS_HC]) return -1; + r |= c->comp_hdr->codecs[DS_HC] + ->decode(s, c->comp_hdr->codecs[DS_HC], blk, + (char *)&i32, &out_sz); + cig_op = BAM_CHARD_CLIP; + cig_len += i32; + nm += i32; + } + break; + } + + case 'P': { // padding; PD + if (cig_len && cig_op != BAM_CPAD) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_PD) { + if (!c->comp_hdr->codecs[DS_PD]) return -1; + r |= c->comp_hdr->codecs[DS_PD] + ->decode(s, c->comp_hdr->codecs[DS_PD], blk, + (char *)&i32, &out_sz); + cig_op = BAM_CPAD; + cig_len += i32; + nm += i32; + } + break; + } + + case 'N': { // Ref skip; RS + if (cig_len && cig_op != BAM_CREF_SKIP) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + if (ds & CRAM_RS) { + if (!c->comp_hdr->codecs[DS_RS]) return -1; + r |= c->comp_hdr->codecs[DS_RS] + ->decode(s, c->comp_hdr->codecs[DS_RS], blk, + (char *)&i32, &out_sz); + cig_op = BAM_CREF_SKIP; + cig_len += i32; + ref_pos += i32; + nm += i32; + } + break; + } + + default: + abort(); + } + } + + if (!(ds & CRAM_FC)) + goto skip_cigar; + + /* An implement match op for any unaccounted for bases */ + if ((ds & CRAM_FN) && cr->len >= seq_pos) { + if (s->ref) { + if (ref_pos + cr->len - seq_pos + 1 > bfd->ref[cr->ref_id].len) { + static int whinged = 0; + if (!whinged) + fprintf(stderr, "Ref pos outside of ref sequence boundary\n"); + whinged = 1; + } else { + memcpy(&seq[seq_pos-1], &s->ref[ref_pos - s->ref_start +1], + cr->len - seq_pos + 1); + ref_pos += cr->len - seq_pos + 1; + md_dist += cr->len - seq_pos + 1; + } + } + + if (ncigar+1 >= cigar_alloc) { + cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; + s->cigar = cigar; + if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) + return -1; + } +#ifdef USE_X + if (cig_len && cig_op != BAM_CBASE_MATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + cig_op = BAM_CBASE_MATCH; +#else + if (cig_len && cig_op != BAM_CMATCH) { + cigar[ncigar++] = (cig_len<<4) + cig_op; + cig_len = 0; + } + cig_op = BAM_CMATCH; +#endif + cig_len += cr->len - seq_pos+1; + } + + skip_cigar: + + if ((ds & CRAM_FN) && decode_md) { + BLOCK_APPEND_UINT(s->aux_blk, md_dist); + } + + if (cig_len) { + if (ncigar >= cigar_alloc) { + cigar_alloc = cigar_alloc ? cigar_alloc*2 : 1024; + s->cigar = cigar; + if (!(cigar = realloc(cigar, cigar_alloc * sizeof(*cigar)))) + return -1; + } + + cigar[ncigar++] = (cig_len<<4) + cig_op; + } + + cr->ncigar = ncigar - cr->cigar; + cr->aend = ref_pos; + + //printf("2: %.*s %d .. %d\n", cr->name_len, DSTRING_STR(name_ds) + cr->name, cr->apos, ref_pos); + + if (ds & CRAM_MQ) { + if (!c->comp_hdr->codecs[DS_MQ]) return -1; + r |= c->comp_hdr->codecs[DS_MQ] + ->decode(s, c->comp_hdr->codecs[DS_MQ], blk, + (char *)&cr->mqual, &out_sz); + } else { + cr->mqual = 40; + } + + if ((ds & CRAM_QS) && (cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { + int32_t out_sz2 = cr->len; + + if (ds & CRAM_QS) { + if (!c->comp_hdr->codecs[DS_QS]) return -1; + r |= c->comp_hdr->codecs[DS_QS] + ->decode(s, c->comp_hdr->codecs[DS_QS], blk, + qual, &out_sz2); + } + } + + s->cigar = cigar; + s->cigar_alloc = cigar_alloc; + s->ncigar = ncigar; + + if (decode_md) { + char buf[7]; + BLOCK_APPEND_CHAR(s->aux_blk, '\0'); // null terminate MD:Z: + cr->aux_size += BLOCK_SIZE(s->aux_blk) - orig_aux; + buf[0] = 'N'; buf[1] = 'M'; buf[2] = 'I'; + buf[3] = (nm>> 0) & 0xff; + buf[4] = (nm>> 8) & 0xff; + buf[5] = (nm>>16) & 0xff; + buf[6] = (nm>>24) & 0xff; + BLOCK_APPEND(s->aux_blk, buf, 7); + cr->aux_size += 7; + } + + return r; +} + +/* + * Quick and simple hash lookup for cram_map arrays + */ +static cram_map *map_find(cram_map **map, unsigned char *key, int id) { + cram_map *m; + + m = map[CRAM_MAP(key[0],key[1])]; + while (m && m->key != id) + m= m->next; + + return m; +} + +//#define map_find(M,K,I) M[CRAM_MAP(K[0],K[1])];while (m && m->key != I);m= m->next + + +static int cram_decode_aux_1_0(cram_container *c, cram_slice *s, + cram_block *blk, cram_record *cr) { + int i, r = 0, out_sz = 1; + unsigned char ntags; + + if (!c->comp_hdr->codecs[DS_TC]) return -1; + r |= c->comp_hdr->codecs[DS_TC]->decode(s, c->comp_hdr->codecs[DS_TC], blk, + (char *)&ntags, &out_sz); + cr->ntags = ntags; + + //printf("TC=%d\n", cr->ntags); + cr->aux_size = 0; + cr->aux = BLOCK_SIZE(s->aux_blk); + + for (i = 0; i < cr->ntags; i++) { + int32_t id, out_sz = 1; + unsigned char tag_data[3]; + cram_map *m; + + //printf("Tag %d/%d\n", i+1, cr->ntags); + if (!c->comp_hdr->codecs[DS_TN]) return -1; + r |= c->comp_hdr->codecs[DS_TN]->decode(s, c->comp_hdr->codecs[DS_TN], + blk, (char *)&id, &out_sz); + if (out_sz == 3) { + tag_data[0] = ((char *)&id)[0]; + tag_data[1] = ((char *)&id)[1]; + tag_data[2] = ((char *)&id)[2]; + } else { + tag_data[0] = (id>>16) & 0xff; + tag_data[1] = (id>>8) & 0xff; + tag_data[2] = id & 0xff; + } + + m = map_find(c->comp_hdr->tag_encoding_map, tag_data, id); + if (!m) + return -1; + BLOCK_APPEND(s->aux_blk, (char *)tag_data, 3); + + if (!m->codec) return -1; + r |= m->codec->decode(s, m->codec, blk, (char *)s->aux_blk, &out_sz); + + cr->aux_size += out_sz + 3; + } + + return r; +} + +static int cram_decode_aux(cram_container *c, cram_slice *s, + cram_block *blk, cram_record *cr) { + int i, r = 0, out_sz = 1; + int32_t TL = 0; + unsigned char *TN; + uint32_t ds = c->comp_hdr->data_series; + + if (!(ds & (CRAM_TL|CRAM_aux))) { + cr->aux = 0; + cr->aux_size = 0; + return 0; + } + + if (!c->comp_hdr->codecs[DS_TL]) return -1; + r |= c->comp_hdr->codecs[DS_TL]->decode(s, c->comp_hdr->codecs[DS_TL], blk, + (char *)&TL, &out_sz); + if (r || TL < 0 || TL >= c->comp_hdr->nTL) + return -1; + + TN = c->comp_hdr->TL[TL]; + cr->ntags = strlen((char *)TN)/3; // optimise to remove strlen + + //printf("TC=%d\n", cr->ntags); + cr->aux_size = 0; + cr->aux = BLOCK_SIZE(s->aux_blk); + + if (!(ds & CRAM_aux)) + return 0; + + for (i = 0; i < cr->ntags; i++) { + int32_t id, out_sz = 1; + unsigned char tag_data[3]; + cram_map *m; + + //printf("Tag %d/%d\n", i+1, cr->ntags); + tag_data[0] = *TN++; + tag_data[1] = *TN++; + tag_data[2] = *TN++; + id = (tag_data[0]<<16) | (tag_data[1]<<8) | tag_data[2]; + + m = map_find(c->comp_hdr->tag_encoding_map, tag_data, id); + if (!m) + return -1; + BLOCK_APPEND(s->aux_blk, (char *)tag_data, 3); + + if (!m->codec) return -1; + r |= m->codec->decode(s, m->codec, blk, (char *)s->aux_blk, &out_sz); + cr->aux_size += out_sz + 3; + } + + return r; +} + +/* Resolve mate pair cross-references between recs within this slice */ +static void cram_decode_slice_xref(cram_slice *s, int required_fields) { + int rec; + + if (!(required_fields & (SAM_RNEXT | SAM_PNEXT | SAM_TLEN))) { + for (rec = 0; rec < s->hdr->num_records; rec++) { + cram_record *cr = &s->crecs[rec]; + + cr->tlen = 0; + cr->mate_pos = 0; + cr->mate_ref_id = -1; + } + + return; + } + + for (rec = 0; rec < s->hdr->num_records; rec++) { + cram_record *cr = &s->crecs[rec]; + + if (cr->mate_line >= 0) { + if (cr->mate_line < s->hdr->num_records) { + /* + * On the first read, loop through computing lengths. + * It's not perfect as we have one slice per reference so we + * cannot detect when TLEN should be zero due to seqs that + * map to multiple references. + * + * We also cannot set tlen correct when it spans a slice for + * other reasons. This may make tlen too small. Should we + * fix this by forcing TLEN to be stored verbatim in such cases? + * + * Or do we just admit defeat and output 0 for tlen? It's the + * safe option... + */ + if (cr->tlen == INT_MIN) { + int id1 = rec, id2 = rec; + int aleft = cr->apos, aright = cr->aend; + int tlen; + int ref = cr->ref_id; + + // number of segments starting at the same point. + int left_cnt = 0; + + do { + if (aleft > s->crecs[id2].apos) + aleft = s->crecs[id2].apos, left_cnt = 1; + else if (aleft == s->crecs[id2].apos) + left_cnt++; + if (aright < s->crecs[id2].aend) + aright = s->crecs[id2].aend; + if (s->crecs[id2].mate_line == -1) { + s->crecs[id2].mate_line = rec; + break; + } + assert(s->crecs[id2].mate_line > id2); + id2 = s->crecs[id2].mate_line; + + if (s->crecs[id2].ref_id != ref) + ref = -1; + } while (id2 != id1); + + if (ref != -1) { + tlen = aright - aleft + 1; + id1 = id2 = rec; + + /* + * When we have two seqs with identical start and + * end coordinates, set +/- tlen based on 1st/last + * bit flags instead, as a tie breaker. + */ + if (s->crecs[id2].apos == aleft) { + if (left_cnt == 1 || + (s->crecs[id2].flags & BAM_FREAD1)) + s->crecs[id2].tlen = tlen; + else + s->crecs[id2].tlen = -tlen; + } else { + s->crecs[id2].tlen = -tlen; + } + + id2 = s->crecs[id2].mate_line; + while (id2 != id1) { + if (s->crecs[id2].apos == aleft) { + if (left_cnt == 1 || + (s->crecs[id2].flags & BAM_FREAD1)) + s->crecs[id2].tlen = tlen; + else + s->crecs[id2].tlen = -tlen; + } else { + s->crecs[id2].tlen = -tlen; + } + id2 = s->crecs[id2].mate_line; + } + } else { + id1 = id2 = rec; + + s->crecs[id2].tlen = 0; + id2 = s->crecs[id2].mate_line; + while (id2 != id1) { + s->crecs[id2].tlen = 0; + id2 = s->crecs[id2].mate_line; + } + } + } + + cr->mate_pos = s->crecs[cr->mate_line].apos; + cr->mate_ref_id = s->crecs[cr->mate_line].ref_id; + + // paired + cr->flags |= BAM_FPAIRED; + + // set mate unmapped if needed + if (s->crecs[cr->mate_line].flags & BAM_FUNMAP) { + cr->flags |= BAM_FMUNMAP; + cr->tlen = 0; + } + if (cr->flags & BAM_FUNMAP) { + cr->tlen = 0; + } + + // set mate reversed if needed + if (s->crecs[cr->mate_line].flags & BAM_FREVERSE) + cr->flags |= BAM_FMREVERSE; + } else { + fprintf(stderr, "Mate line out of bounds: %d vs [0, %d]\n", + cr->mate_line, s->hdr->num_records-1); + } + + /* FIXME: construct read names here too if needed */ + } else { + if (cr->mate_flags & CRAM_M_REVERSE) { + cr->flags |= BAM_FPAIRED | BAM_FMREVERSE; + } + if (cr->mate_flags & CRAM_M_UNMAP) { + cr->flags |= BAM_FMUNMAP; + //cr->mate_ref_id = -1; + } + if (!(cr->flags & BAM_FPAIRED)) + cr->mate_ref_id = -1; + } + + if (cr->tlen == INT_MIN) + cr->tlen = 0; // Just incase + } +} + +static char *md5_print(unsigned char *md5, char *out) { + int i; + for (i = 0; i < 16; i++) { + out[i*2+0] = "0123456789abcdef"[md5[i]>>4]; + out[i*2+1] = "0123456789abcdef"[md5[i]&15]; + } + out[32] = 0; + + return out; +} + +/* + * Decode an entire slice from container blocks. Fills out s->crecs[] array. + * Returns 0 on success + * -1 on failure + */ +int cram_decode_slice(cram_fd *fd, cram_container *c, cram_slice *s, + SAM_hdr *bfd) { + cram_block *blk = s->block[0]; + int32_t bf, ref_id; + unsigned char cf; + int out_sz, r = 0; + int rec; + char *seq = NULL, *qual = NULL; + int unknown_rg = -1; + int embed_ref; + char **refs = NULL; + uint32_t ds; + + if (cram_dependent_data_series(fd, c->comp_hdr, s) != 0) + return -1; + + ds = c->comp_hdr->data_series; + + blk->bit = 7; // MSB first + + /* Look for unknown RG, added as last by Java CRAM? */ + if (bfd->nrg > 0 && + !strcmp(bfd->rg[bfd->nrg-1].name, "UNKNOWN")) + unknown_rg = bfd->nrg-1; + + if (blk->content_type != CORE) + return -1; + + if (s->crecs) + free(s->crecs); + if (!(s->crecs = malloc(s->hdr->num_records * sizeof(*s->crecs)))) + return -1; + + ref_id = s->hdr->ref_seq_id; + embed_ref = s->hdr->ref_base_id >= 0 ? 1 : 0; + + if (ref_id >= 0) { + if (embed_ref) { + cram_block *b; + if (s->hdr->ref_base_id < 0) { + fprintf(stderr, "No reference specified and " + "no embedded reference is available.\n"); + return -1; + } + if (!s->block_by_id || + !(b = s->block_by_id[s->hdr->ref_base_id])) + return -1; + cram_uncompress_block(b); + s->ref = (char *)BLOCK_DATA(b); + s->ref_start = s->hdr->ref_seq_start; + s->ref_end = s->hdr->ref_seq_start + s->hdr->ref_seq_span-1; + } else if (!fd->no_ref) { + //// Avoid Java cramtools bug by loading entire reference seq + //s->ref = cram_get_ref(fd, s->hdr->ref_seq_id, 1, 0); + //s->ref_start = 1; + + if (fd->required_fields & SAM_SEQ) + s->ref = + cram_get_ref(fd, s->hdr->ref_seq_id, + s->hdr->ref_seq_start, + s->hdr->ref_seq_start + s->hdr->ref_seq_span -1); + s->ref_start = s->hdr->ref_seq_start; + s->ref_end = s->hdr->ref_seq_start + s->hdr->ref_seq_span-1; + + /* Sanity check */ + if (s->ref_start < 0) { + fprintf(stderr, "Slice starts before base 1.\n"); + s->ref_start = 0; + } + pthread_mutex_lock(&fd->ref_lock); + pthread_mutex_lock(&fd->refs->lock); + if ((fd->required_fields & SAM_SEQ) && + s->ref_end > fd->refs->ref_id[ref_id]->length) { + fprintf(stderr, "Slice ends beyond reference end.\n"); + s->ref_end = fd->refs->ref_id[ref_id]->length; + } + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + } + } + + if ((fd->required_fields & SAM_SEQ) && + s->ref == NULL && s->hdr->ref_seq_id >= 0 && !fd->no_ref) { + fprintf(stderr, "Unable to fetch reference #%d %d..%d\n", + s->hdr->ref_seq_id, s->hdr->ref_seq_start, + s->hdr->ref_seq_start + s->hdr->ref_seq_span-1); + return -1; + } + + if (CRAM_MAJOR_VERS(fd->version) != 1 + && (fd->required_fields & SAM_SEQ) + && s->hdr->ref_seq_id >= 0 + && !fd->ignore_md5 + && memcmp(s->hdr->md5, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16)) { + MD5_CTX md5; + unsigned char digest[16]; + + if (s->ref && s->hdr->ref_seq_id >= 0) { + int start, len; + + if (s->hdr->ref_seq_start >= s->ref_start) { + start = s->hdr->ref_seq_start - s->ref_start; + } else { + fprintf(stderr, "Slice starts before base 1.\n"); + start = 0; + } + + if (s->hdr->ref_seq_span <= s->ref_end - s->ref_start + 1) { + len = s->hdr->ref_seq_span; + } else { + fprintf(stderr, "Slice ends beyond reference end.\n"); + len = s->ref_end - s->ref_start + 1; + } + + MD5_Init(&md5); + if (start + len > s->ref_end - s->ref_start + 1) + len = s->ref_end - s->ref_start + 1 - start; + if (len >= 0) + MD5_Update(&md5, s->ref + start, len); + MD5_Final(digest, &md5); + } else if (!s->ref && s->hdr->ref_base_id >= 0) { + cram_block *b; + if (s->block_by_id && (b = s->block_by_id[s->hdr->ref_base_id])) { + MD5_Init(&md5); + MD5_Update(&md5, b->data, b->uncomp_size); + MD5_Final(digest, &md5); + } + } + + if ((!s->ref && s->hdr->ref_base_id < 0) + || memcmp(digest, s->hdr->md5, 16) != 0) { + char M[33]; + fprintf(stderr, "ERROR: md5sum reference mismatch for ref " + "%d pos %d..%d\n", ref_id, s->ref_start, s->ref_end); + fprintf(stderr, "CRAM: %s\n", md5_print(s->hdr->md5, M)); + fprintf(stderr, "Ref : %s\n", md5_print(digest, M)); + return -1; + } + } + + if (ref_id == -2) { + pthread_mutex_lock(&fd->ref_lock); + pthread_mutex_lock(&fd->refs->lock); + refs = calloc(fd->refs->nref, sizeof(char *)); + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + if (!refs) + return -1; + } + + for (rec = 0; rec < s->hdr->num_records; rec++) { + cram_record *cr = &s->crecs[rec]; + + //fprintf(stderr, "Decode seq %d, %d/%d\n", rec, blk->byte, blk->bit); + + cr->s = s; + + out_sz = 1; /* decode 1 item */ + if (ds & CRAM_BF) { + if (!c->comp_hdr->codecs[DS_BF]) return -1; + r |= c->comp_hdr->codecs[DS_BF] + ->decode(s, c->comp_hdr->codecs[DS_BF], blk, + (char *)&bf, &out_sz); + if (bf < 0 || + bf >= sizeof(fd->bam_flag_swap)/sizeof(*fd->bam_flag_swap)) + return -1; + bf = fd->bam_flag_swap[bf]; + cr->flags = bf; + } else { + cr->flags = bf = 0x4; // unmapped + } + + if (ds & CRAM_CF) { + if (CRAM_MAJOR_VERS(fd->version) == 1) { + /* CF is byte in 1.0, int32 in 2.0 */ + if (!c->comp_hdr->codecs[DS_CF]) return -1; + r |= c->comp_hdr->codecs[DS_CF] + ->decode(s, c->comp_hdr->codecs[DS_CF], blk, + (char *)&cf, &out_sz); + cr->cram_flags = cf; + } else { + if (!c->comp_hdr->codecs[DS_CF]) return -1; + r |= c->comp_hdr->codecs[DS_CF] + ->decode(s, c->comp_hdr->codecs[DS_CF], blk, + (char *)&cr->cram_flags, + &out_sz); + cf = cr->cram_flags; + } + } + + if (CRAM_MAJOR_VERS(fd->version) != 1 && ref_id == -2) { + if (ds & CRAM_RI) { + if (!c->comp_hdr->codecs[DS_RI]) return -1; + r |= c->comp_hdr->codecs[DS_RI] + ->decode(s, c->comp_hdr->codecs[DS_RI], blk, + (char *)&cr->ref_id, &out_sz); + if ((fd->required_fields & (SAM_SEQ|SAM_TLEN)) + && cr->ref_id >= 0) { + if (!fd->no_ref) { + if (!refs[cr->ref_id]) + refs[cr->ref_id] = cram_get_ref(fd, cr->ref_id, + 1, 0); + s->ref = refs[cr->ref_id]; + } + s->ref_start = 1; + pthread_mutex_lock(&fd->ref_lock); + pthread_mutex_lock(&fd->refs->lock); + s->ref_end = fd->refs->ref_id[cr->ref_id]->length; + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + } + } else { + cr->ref_id = 0; + } + } else { + cr->ref_id = ref_id; // Forced constant in CRAM 1.0 + } + + + if (ds & CRAM_RL) { + if (!c->comp_hdr->codecs[DS_RL]) return -1; + r |= c->comp_hdr->codecs[DS_RL] + ->decode(s, c->comp_hdr->codecs[DS_RL], blk, + (char *)&cr->len, &out_sz); + } + + if (ds & CRAM_AP) { + if (!c->comp_hdr->codecs[DS_AP]) return -1; + r |= c->comp_hdr->codecs[DS_AP] + ->decode(s, c->comp_hdr->codecs[DS_AP], blk, + (char *)&cr->apos, &out_sz); + if (c->comp_hdr->AP_delta) + cr->apos += s->last_apos; + s->last_apos= cr->apos; + } else { + cr->apos = c->ref_seq_start; + } + + if (ds & CRAM_RG) { + if (!c->comp_hdr->codecs[DS_RG]) return -1; + r |= c->comp_hdr->codecs[DS_RG] + ->decode(s, c->comp_hdr->codecs[DS_RG], blk, + (char *)&cr->rg, &out_sz); + if (cr->rg == unknown_rg) + cr->rg = -1; + } else { + cr->rg = -1; + } + + cr->name_len = 0; + + if (c->comp_hdr->read_names_included) { + int32_t out_sz2 = 1; + + // Read directly into name cram_block + cr->name = BLOCK_SIZE(s->name_blk); + if (ds & CRAM_RN) { + if (!c->comp_hdr->codecs[DS_RN]) return -1; + r |= c->comp_hdr->codecs[DS_RN] + ->decode(s, c->comp_hdr->codecs[DS_RN], blk, + (char *)s->name_blk, &out_sz2); + cr->name_len = out_sz2; + } + } + + cr->mate_pos = 0; + cr->mate_line = -1; + cr->mate_ref_id = -1; + if ((ds & CRAM_CF) && (cf & CRAM_FLAG_DETACHED)) { + if (ds & CRAM_MF) { + if (CRAM_MAJOR_VERS(fd->version) == 1) { + /* MF is byte in 1.0, int32 in 2.0 */ + unsigned char mf; + if (!c->comp_hdr->codecs[DS_MF]) return -1; + r |= c->comp_hdr->codecs[DS_MF] + ->decode(s, c->comp_hdr->codecs[DS_MF], + blk, (char *)&mf, &out_sz); + cr->mate_flags = mf; + } else { + if (!c->comp_hdr->codecs[DS_MF]) return -1; + r |= c->comp_hdr->codecs[DS_MF] + ->decode(s, c->comp_hdr->codecs[DS_MF], + blk, + (char *)&cr->mate_flags, + &out_sz); + } + } else { + cr->mate_flags = 0; + } + + if (!c->comp_hdr->read_names_included) { + int32_t out_sz2 = 1; + + // Read directly into name cram_block + cr->name = BLOCK_SIZE(s->name_blk); + if (ds & CRAM_RN) { + if (!c->comp_hdr->codecs[DS_RN]) return -1; + r |= c->comp_hdr->codecs[DS_RN] + ->decode(s, c->comp_hdr->codecs[DS_RN], + blk, (char *)s->name_blk, + &out_sz2); + cr->name_len = out_sz2; + } + } + + if (ds & CRAM_NS) { + if (!c->comp_hdr->codecs[DS_NS]) return -1; + r |= c->comp_hdr->codecs[DS_NS] + ->decode(s, c->comp_hdr->codecs[DS_NS], blk, + (char *)&cr->mate_ref_id, &out_sz); + } + +// Skip as mate_ref of "*" is legit. It doesn't mean unmapped, just unknown. +// if (cr->mate_ref_id == -1 && cr->flags & 0x01) { +// /* Paired, but unmapped */ +// cr->flags |= BAM_FMUNMAP; +// } + + if (ds & CRAM_NP) { + if (!c->comp_hdr->codecs[DS_NP]) return -1; + r |= c->comp_hdr->codecs[DS_NP] + ->decode(s, c->comp_hdr->codecs[DS_NP], blk, + (char *)&cr->mate_pos, &out_sz); + } + + if (ds & CRAM_TS) { + if (!c->comp_hdr->codecs[DS_TS]) return -1; + r |= c->comp_hdr->codecs[DS_TS] + ->decode(s, c->comp_hdr->codecs[DS_TS], blk, + (char *)&cr->tlen, &out_sz); + } else { + cr->tlen = INT_MIN; + } + } else if ((ds & CRAM_CF) && (cf & CRAM_FLAG_MATE_DOWNSTREAM)) { + if (ds & CRAM_NF) { + if (!c->comp_hdr->codecs[DS_NF]) return -1; + r |= c->comp_hdr->codecs[DS_NF] + ->decode(s, c->comp_hdr->codecs[DS_NF], blk, + (char *)&cr->mate_line, &out_sz); + cr->mate_line += rec + 1; + + //cr->name_len = sprintf(name, "%d", name_id++); + //cr->name = DSTRING_LEN(name_ds); + //dstring_nappend(name_ds, name, cr->name_len); + + cr->mate_ref_id = -1; + cr->tlen = INT_MIN; + cr->mate_pos = 0; + } else { + cr->mate_flags = 0; + cr->tlen = INT_MIN; + } + } else { + cr->mate_flags = 0; + cr->tlen = INT_MIN; + } + /* + else if (!name[0]) { + //name[0] = '?'; name[1] = 0; + //cr->name_len = 1; + //cr->name= DSTRING_LEN(s->name_ds); + //dstring_nappend(s->name_ds, "?", 1); + + cr->mate_ref_id = -1; + cr->tlen = 0; + cr->mate_pos = 0; + } + */ + + /* Auxiliary tags */ + if (CRAM_MAJOR_VERS(fd->version) == 1) + r |= cram_decode_aux_1_0(c, s, blk, cr); + else + r |= cram_decode_aux(c, s, blk, cr); + + /* Fake up dynamic string growth and appending */ + if (ds & CRAM_RL) { + cr->seq = BLOCK_SIZE(s->seqs_blk); + BLOCK_GROW(s->seqs_blk, cr->len); + seq = (char *)BLOCK_END(s->seqs_blk); + BLOCK_SIZE(s->seqs_blk) += cr->len; + + if (!seq) + return -1; + + cr->qual = BLOCK_SIZE(s->qual_blk); + BLOCK_GROW(s->qual_blk, cr->len); + qual = (char *)BLOCK_END(s->qual_blk); + BLOCK_SIZE(s->qual_blk) += cr->len; + + if (!s->ref) + memset(seq, '=', cr->len); + } + + if (!(bf & BAM_FUNMAP)) { + /* Decode sequence and generate CIGAR */ + if (ds & (CRAM_SEQ | CRAM_MQ)) { + r |= cram_decode_seq(fd, c, s, blk, cr, bfd, cf, seq, qual); + } else { + cr->cigar = 0; + cr->ncigar = 0; + cr->aend = cr->apos; + cr->mqual = 0; + } + } else { + int out_sz2 = cr->len; + + //puts("Unmapped"); + cr->cigar = 0; + cr->ncigar = 0; + cr->aend = cr->apos; + cr->mqual = 0; + + if (ds & CRAM_BA) { + if (!c->comp_hdr->codecs[DS_BA]) return -1; + r |= c->comp_hdr->codecs[DS_BA] + ->decode(s, c->comp_hdr->codecs[DS_BA], blk, + (char *)seq, &out_sz2); + } + + if ((ds & CRAM_CF) && (cf & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { + out_sz2 = cr->len; + if (ds & CRAM_QS) { + if (!c->comp_hdr->codecs[DS_QS]) return -1; + r |= c->comp_hdr->codecs[DS_QS] + ->decode(s, c->comp_hdr->codecs[DS_QS], + blk, qual, &out_sz2); + } + } else { + if (ds & CRAM_RL) + memset(qual, 30, cr->len); + } + } + } + + pthread_mutex_lock(&fd->ref_lock); + if (refs) { + int i; + for (i = 0; i < fd->refs->nref; i++) { + if (refs[i]) + cram_ref_decr(fd->refs, i); + } + free(refs); + } else if (ref_id >= 0 && s->ref != fd->ref_free) { + cram_ref_decr(fd->refs, ref_id); + } + pthread_mutex_unlock(&fd->ref_lock); + + /* Resolve mate pair cross-references between recs within this slice */ + cram_decode_slice_xref(s, fd->required_fields); + + return r; +} + +typedef struct { + cram_fd *fd; + cram_container *c; + cram_slice *s; + SAM_hdr *h; + int exit_code; +} cram_decode_job; + +void *cram_decode_slice_thread(void *arg) { + cram_decode_job *j = (cram_decode_job *)arg; + + j->exit_code = cram_decode_slice(j->fd, j->c, j->s, j->h); + + return j; +} + +/* + * Spawn a multi-threaded version of cram_decode_slice(). + */ +int cram_decode_slice_mt(cram_fd *fd, cram_container *c, cram_slice *s, + SAM_hdr *bfd) { + cram_decode_job *j; + int nonblock; + + if (!fd->pool) + return cram_decode_slice(fd, c, s, bfd); + + if (!(j = malloc(sizeof(*j)))) + return -1; + + j->fd = fd; + j->c = c; + j->s = s; + j->h = bfd; + + nonblock = t_pool_results_queue_sz(fd->rqueue) ? 1 : 0; + + if (-1 == t_pool_dispatch2(fd->pool, fd->rqueue, cram_decode_slice_thread, + j, nonblock)) { + /* Would block */ + fd->job_pending = j; + } else { + fd->job_pending = NULL; + } + + // flush too + return 0; +} + + +/* ---------------------------------------------------------------------- + * CRAM sequence iterators. + */ + +/* + * Converts a cram in-memory record into a bam in-memory record. We + * pass a pointer to a bam_seq_t pointer along with the a pointer to + * the allocated size. These can initially be pointers to NULL and zero. + * + * This function will reallocate the bam buffer as required and update + * (*bam)->alloc accordingly, allowing it to be used within a loop + * efficiently without needing to allocate new bam objects over and + * over again. + * + * Returns the used size of the bam record on success + * -1 on failure. + */ +static int cram_to_bam(SAM_hdr *bfd, cram_fd *fd, cram_slice *s, + cram_record *cr, int rec, bam_seq_t **bam) { + int bam_idx, rg_len; + char name_a[1024], *name; + int name_len; + char *aux, *aux_orig; + char *seq, *qual; + + /* Assign names if not explicitly set */ + if (fd->required_fields & SAM_QNAME) { + if (cr->name_len) { + name = (char *)BLOCK_DATA(s->name_blk) + cr->name; + name_len = cr->name_len; + } else { + name = name_a; + name_len = strlen(fd->prefix); + memcpy(name, fd->prefix, name_len); + name += name_len; + *name++ = ':'; + if (cr->mate_line >= 0 && cr->mate_line < rec) + name = (char *)append_uint64((unsigned char *)name, + s->hdr->record_counter + + cr->mate_line + 1); + else + name = (char *)append_uint64((unsigned char *)name, + s->hdr->record_counter + + rec + 1); + name_len = name - name_a; + name = name_a; + } + } else { + name = "?"; + name_len = 1; + } + + /* Generate BAM record */ + if (cr->rg < -1 || cr->rg >= bfd->nrg) + return -1; + rg_len = (cr->rg != -1) ? bfd->rg[cr->rg].name_len + 4 : 0; + + if (fd->required_fields & (SAM_SEQ | SAM_QUAL)) { + if (!BLOCK_DATA(s->seqs_blk)) + return -1; + seq = (char *)BLOCK_DATA(s->seqs_blk) + cr->seq; + } else { + seq = "*"; + cr->len = 1; + } + + + if (fd->required_fields & SAM_QUAL) { + if (!BLOCK_DATA(s->qual_blk)) + return -1; + qual = (char *)BLOCK_DATA(s->qual_blk) + cr->qual; + } else { + qual = NULL; + } + + bam_idx = bam_construct_seq(bam, cr->aux_size + rg_len, + name, name_len, + cr->flags, + cr->ref_id, + cr->apos, + cr->aend, + cr->mqual, + cr->ncigar, &s->cigar[cr->cigar], + cr->mate_ref_id, + cr->mate_pos, + cr->tlen, + cr->len, + seq, + qual); + if (bam_idx == -1) + return -1; + + aux = aux_orig = (char *)bam_aux(*bam); + + /* Auxiliary strings */ + if (cr->aux_size != 0) { + memcpy(aux, BLOCK_DATA(s->aux_blk) + cr->aux, cr->aux_size); + aux += cr->aux_size; + } + + /* RG:Z: */ + if (cr->rg != -1) { + int len = bfd->rg[cr->rg].name_len; + *aux++ = 'R'; *aux++ = 'G'; *aux++ = 'Z'; + memcpy(aux, bfd->rg[cr->rg].name, len); + aux += len; + *aux++ = 0; + } + + return bam_idx + (aux - aux_orig); +} + +/* + * Here be dragons! The multi-threading code in this is crufty beyond belief. + */ +static cram_slice *cram_next_slice(cram_fd *fd, cram_container **cp) { + cram_container *c; + cram_slice *s = NULL; + + if (!(c = fd->ctr)) { + // Load first container. + do { + if (!(c = fd->ctr = cram_read_container(fd))) + return NULL; + } while (c->length == 0); + + /* + * The first container may be a result of a sub-range query. + * In which case it may still not be the optimal starting point + * due to skipped containers/slices in the index. + */ + if (fd->range.refid != -2) { + while (c->ref_seq_id != -2 && + (c->ref_seq_id < fd->range.refid || + c->ref_seq_start + c->ref_seq_span-1 < fd->range.start)) { + if (0 != cram_seek(fd, c->length, SEEK_CUR)) + return NULL; + cram_free_container(fd->ctr); + do { + if (!(c = fd->ctr = cram_read_container(fd))) + return NULL; + } while (c->length == 0); + } + + if (c->ref_seq_id != -2 && c->ref_seq_id != fd->range.refid) + return NULL; + } + + if (!(c->comp_hdr_block = cram_read_block(fd))) + return NULL; + if (c->comp_hdr_block->content_type != COMPRESSION_HEADER) + return NULL; + + c->comp_hdr = cram_decode_compression_header(fd, c->comp_hdr_block); + if (!c->comp_hdr) + return NULL; + if (!c->comp_hdr->AP_delta) { + pthread_mutex_lock(&fd->ref_lock); + fd->unsorted = 1; + pthread_mutex_unlock(&fd->ref_lock); + } + } + + if ((s = c->slice)) { + c->slice = NULL; + cram_free_slice(s); + s = NULL; + } + + if (c->curr_slice == c->max_slice) { + cram_free_container(c); + c = NULL; + } + + /* Sorry this is so contorted! */ + for (;;) { + if (fd->job_pending) { + cram_decode_job *j = (cram_decode_job *)fd->job_pending; + c = j->c; + s = j->s; + free(fd->job_pending); + fd->job_pending = NULL; + } else if (!fd->ooc) { + empty_container: + if (!c || c->curr_slice == c->max_slice) { + // new container + do { + if (!(c = fd->ctr = cram_read_container(fd))) { + if (fd->pool) { + fd->ooc = 1; + break; + } + + return NULL; + } + } while (c->length == 0); + if (fd->ooc) + break; + + /* Skip containers not yet spanning our range */ + if (fd->range.refid != -2 && c->ref_seq_id != -2) { + fd->required_fields |= SAM_POS; + + if (c->ref_seq_id != fd->range.refid) { + cram_free_container(c); + fd->ctr = NULL; + fd->ooc = 1; + fd->eof = 1; + break; + } + + if (c->ref_seq_start > fd->range.end) { + cram_free_container(c); + fd->ctr = NULL; + fd->ooc = 1; + fd->eof = 1; + break; + } + + if (c->ref_seq_start + c->ref_seq_span-1 < + fd->range.start) { + c->curr_rec = c->max_rec; + c->curr_slice = c->max_slice; + cram_seek(fd, c->length, SEEK_CUR); + cram_free_container(c); + c = NULL; + continue; + } + } + + if (!(c->comp_hdr_block = cram_read_block(fd))) + return NULL; + if (c->comp_hdr_block->content_type != COMPRESSION_HEADER) + return NULL; + + c->comp_hdr = + cram_decode_compression_header(fd, c->comp_hdr_block); + if (!c->comp_hdr) + return NULL; + + if (!c->comp_hdr->AP_delta) { + pthread_mutex_lock(&fd->ref_lock); + fd->unsorted = 1; + pthread_mutex_unlock(&fd->ref_lock); + } + } + + if (c->num_records == 0) { + cram_free_container(c); c = NULL; + goto empty_container; + } + + + if (!(s = c->slice = cram_read_slice(fd))) + return NULL; + c->curr_slice++; + c->curr_rec = 0; + c->max_rec = s->hdr->num_records; + + s->last_apos = s->hdr->ref_seq_start; + + /* Skip slices not yet spanning our range */ + if (fd->range.refid != -2 && s->hdr->ref_seq_id != -2) { + if (s->hdr->ref_seq_id != fd->range.refid) { + fd->eof = 1; + cram_free_slice(s); + c->slice = NULL; + return NULL; + } + + if (s->hdr->ref_seq_start > fd->range.end) { + fd->eof = 1; + cram_free_slice(s); + c->slice = NULL; + return NULL; + } + + if (s->hdr->ref_seq_start + s->hdr->ref_seq_span-1 < + fd->range.start) { + cram_free_slice(s); + c->slice = NULL; + cram_free_container(c); + c = NULL; + continue; + } + } + } + + /* Test decoding of 1st seq */ + if (!c || !s) + break; + + if (cram_decode_slice_mt(fd, c, s, fd->header) != 0) { + // if (cram_decode_slice(fd, c, s, fd->header) != 0) { + fprintf(stderr, "Failure to decode slice\n"); + cram_free_slice(s); + c->slice = NULL; + return NULL; + } + + if (!fd->pool || fd->job_pending) + break; + + // Push it a bit far, to qsize in queue rather than pending arrival, + // as cram tends to be a bit bursty in decode timings. + if (t_pool_results_queue_len(fd->rqueue) > fd->pool->qsize) + break; + } + + if (fd->pool) { + t_pool_result *res; + cram_decode_job *j; + +// fprintf(stderr, "Thread pool len = %d, %d\n", +// t_pool_results_queue_len(fd->rqueue), +// t_pool_results_queue_sz(fd->rqueue)); + + if (fd->ooc && t_pool_results_queue_empty(fd->rqueue)) + return NULL; + + res = t_pool_next_result_wait(fd->rqueue); + + if (!res || !res->data) { + fprintf(stderr, "t_pool_next_result failure\n"); + return NULL; + } + + j = (cram_decode_job *)res->data; + c = j->c; + s = j->s; + + fd->ctr = c; + + t_pool_delete_result(res, 1); + } + + *cp = c; + return s; +} + +/* + * Read the next cram record and return it. + * Note that to decode cram_record the caller will need to look up some data + * in the current slice, pointed to by fd->ctr->slice. This is valid until + * the next call to cram_get_seq (which may invalidate it). + * + * Returns record pointer on success (do not free) + * NULL on failure + */ +cram_record *cram_get_seq(cram_fd *fd) { + cram_container *c; + cram_slice *s; + + for (;;) { + c = fd->ctr; + if (c && c->slice && c->curr_rec < c->max_rec) { + s = c->slice; + } else { + if (!(s = cram_next_slice(fd, &c))) + return NULL; + } + + if (fd->range.refid != -2) { + if (s->crecs[c->curr_rec].ref_id < fd->range.refid) { + c->curr_rec++; + continue; + } + + if (s->crecs[c->curr_rec].ref_id != fd->range.refid) { + fd->eof = 1; + cram_free_slice(s); + c->slice = NULL; + return NULL; + } + + if (s->crecs[c->curr_rec].apos > fd->range.end) { + fd->eof = 1; + cram_free_slice(s); + c->slice = NULL; + return NULL; + } + + if (s->crecs[c->curr_rec].aend < fd->range.start) { + c->curr_rec++; + continue; + } + } + + break; + } + + fd->ctr = c; + c->slice = s; + return &s->crecs[c->curr_rec++]; +} + +/* + * Read the next cram record and convert it to a bam_seq_t struct. + * + * Returns 0 on success + * -1 on EOF or failure (check fd->err) + */ +int cram_get_bam_seq(cram_fd *fd, bam_seq_t **bam) { + cram_record *cr; + cram_container *c; + cram_slice *s; + + if (!(cr = cram_get_seq(fd))) + return -1; + + c = fd->ctr; + s = c->slice; + + return cram_to_bam(fd->header, fd, s, cr, c->curr_rec-1, bam); +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_decode.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_decode.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,112 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! \file + * Include cram.h instead. + * + * This is an internal part of the CRAM system and is automatically included + * when you #include cram.h. + * + * Implements the decoding portion of CRAM I/O. Also see + * cram_codecs.[ch] for the actual encoding functions themselves. + */ + +#ifndef _CRAM_READ_H_ +#define _CRAM_READ_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------------------------------------------------- + * CRAM sequence iterators. + */ + +/*! Read the next cram record and return it as a cram_record. + * + * Note that to decode cram_record the caller will need to look up some data + * in the current slice, pointed to by fd->ctr->slice. This is valid until + * the next call to cram_get_seq (which may invalidate it). + * + * @return + * Returns record pointer on success (do not free); + * NULL on failure + */ +cram_record *cram_get_seq(cram_fd *fd); + +/*! Read the next cram record and convert it to a bam_seq_t struct. + * + * @return + * Returns 0 on success; + * -1 on EOF or failure (check fd->err) + */ +int cram_get_bam_seq(cram_fd *fd, bam_seq_t **bam); + + +/* ---------------------------------------------------------------------- + * Internal functions + */ + +/*! INTERNAL: + * Decodes a CRAM block compression header. + * + * @return + * Returns header ptr on success; + * NULL on failure + */ +cram_block_compression_hdr *cram_decode_compression_header(cram_fd *fd, + cram_block *b); + +/*! INTERNAL: + * Decodes a CRAM (un)mapped slice header block. + * + * @return + * Returns slice header ptr on success; + * NULL on failure + */ +cram_block_slice_hdr *cram_decode_slice_header(cram_fd *fd, cram_block *b); + + +/*! INTERNAL: + * Decode an entire slice from container blocks. Fills out s->crecs[] array. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_decode_slice(cram_fd *fd, cram_container *c, cram_slice *s, + SAM_hdr *hdr); + + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_encode.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_encode.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3068 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cram/cram.h" +#include "cram/os.h" +#include "cram/md5.h" + +#define Z_CRAM_STRAT Z_FILTERED +//#define Z_CRAM_STRAT Z_RLE +//#define Z_CRAM_STRAT Z_HUFFMAN_ONLY +//#define Z_CRAM_STRAT Z_DEFAULT_STRATEGY + +static int process_one_read(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *cr, + bam_seq_t *b, int rnum); + +/* + * Returns index of val into key. + * Basically strchr(key, val)-key; + */ +static int sub_idx(char *key, char val) { + int i; + + for (i = 0; *key && *key++ != val; i++); + return i; +} + +/* + * Encodes a compression header block into a generic cram_block structure. + * + * Returns cram_block ptr on success + * NULL on failure + */ +cram_block *cram_encode_compression_header(cram_fd *fd, cram_container *c, + cram_block_compression_hdr *h) { + cram_block *cb = cram_new_block(COMPRESSION_HEADER, 0); + cram_block *map = cram_new_block(COMPRESSION_HEADER, 0); + int i, mc; + + if (!cb || !map) + return NULL; + + /* + * This is a concatenation of several blocks of data: + * header + landmarks, preservation map, read encoding map, and the tag + * encoding map. + * All 4 are variable sized and we need to know how large these are + * before creating the compression header itself as this starts with + * the total size (stored as a variable length string). + */ + + // Duplicated from container itself, and removed in 1.1 + if (CRAM_MAJOR_VERS(fd->version) == 1) { + itf8_put_blk(cb, h->ref_seq_id); + itf8_put_blk(cb, h->ref_seq_start); + itf8_put_blk(cb, h->ref_seq_span); + itf8_put_blk(cb, h->num_records); + itf8_put_blk(cb, h->num_landmarks); + for (i = 0; i < h->num_landmarks; i++) { + itf8_put_blk(cb, h->landmark[i]); + } + } + + /* Create in-memory preservation map */ + /* FIXME: should create this when we create the container */ + { + khint_t k; + int r; + + if (!(h->preservation_map = kh_init(map))) + return NULL; + + k = kh_put(map, h->preservation_map, "RN", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 1; + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + k = kh_put(map, h->preservation_map, "PI", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 0; + + k = kh_put(map, h->preservation_map, "UI", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 1; + + k = kh_put(map, h->preservation_map, "MI", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 1; + + } else { + // Technically SM was in 1.0, but wasn't in Java impl. + k = kh_put(map, h->preservation_map, "SM", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 0; + + k = kh_put(map, h->preservation_map, "TD", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 0; + + k = kh_put(map, h->preservation_map, "AP", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = c->pos_sorted; + + if (fd->no_ref || fd->embed_ref) { + // Reference Required == No + k = kh_put(map, h->preservation_map, "RR", &r); + if (-1 == r) return NULL; + kh_val(h->preservation_map, k).i = 0; + } + } + } + + /* Encode preservation map; could collapse this and above into one */ + mc = 0; + BLOCK_SIZE(map) = 0; + if (h->preservation_map) { + khint_t k; + + for (k = kh_begin(h->preservation_map); + k != kh_end(h->preservation_map); + k++) { + const char *key; + khash_t(map) *pmap = h->preservation_map; + + + if (!kh_exist(pmap, k)) + continue; + + key = kh_key(pmap, k); + BLOCK_APPEND(map, key, 2); + + switch(CRAM_KEY(key[0], key[1])) { + case CRAM_KEY('M','I'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('U','I'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('P','I'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('A','P'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('R','N'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('R','R'): + BLOCK_APPEND_CHAR(map, kh_val(pmap, k).i); + break; + + case CRAM_KEY('S','M'): { + char smat[5], *mp = smat; + *mp++ = + (sub_idx("CGTN", h->substitution_matrix[0][0]) << 6) | + (sub_idx("CGTN", h->substitution_matrix[0][1]) << 4) | + (sub_idx("CGTN", h->substitution_matrix[0][2]) << 2) | + (sub_idx("CGTN", h->substitution_matrix[0][3]) << 0); + *mp++ = + (sub_idx("AGTN", h->substitution_matrix[1][0]) << 6) | + (sub_idx("AGTN", h->substitution_matrix[1][1]) << 4) | + (sub_idx("AGTN", h->substitution_matrix[1][2]) << 2) | + (sub_idx("AGTN", h->substitution_matrix[1][3]) << 0); + *mp++ = + (sub_idx("ACTN", h->substitution_matrix[2][0]) << 6) | + (sub_idx("ACTN", h->substitution_matrix[2][1]) << 4) | + (sub_idx("ACTN", h->substitution_matrix[2][2]) << 2) | + (sub_idx("ACTN", h->substitution_matrix[2][3]) << 0); + *mp++ = + (sub_idx("ACGN", h->substitution_matrix[3][0]) << 6) | + (sub_idx("ACGN", h->substitution_matrix[3][1]) << 4) | + (sub_idx("ACGN", h->substitution_matrix[3][2]) << 2) | + (sub_idx("ACGN", h->substitution_matrix[3][3]) << 0); + *mp++ = + (sub_idx("ACGT", h->substitution_matrix[4][0]) << 6) | + (sub_idx("ACGT", h->substitution_matrix[4][1]) << 4) | + (sub_idx("ACGT", h->substitution_matrix[4][2]) << 2) | + (sub_idx("ACGT", h->substitution_matrix[4][3]) << 0); + BLOCK_APPEND(map, smat, 5); + break; + } + + case CRAM_KEY('T','D'): { + itf8_put_blk(map, BLOCK_SIZE(h->TD_blk)); + BLOCK_APPEND(map, + BLOCK_DATA(h->TD_blk), + BLOCK_SIZE(h->TD_blk)); + break; + } + + default: + fprintf(stderr, "Unknown preservation key '%.2s'\n", key); + break; + } + + mc++; + } + } + itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); + itf8_put_blk(cb, mc); + BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); + + /* rec encoding map */ + mc = 0; + BLOCK_SIZE(map) = 0; + if (h->codecs[DS_BF]) { + if (-1 == h->codecs[DS_BF]->store(h->codecs[DS_BF], map, "BF", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_CF]) { + if (-1 == h->codecs[DS_CF]->store(h->codecs[DS_CF], map, "CF", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_RL]) { + if (-1 == h->codecs[DS_RL]->store(h->codecs[DS_RL], map, "RL", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_AP]) { + if (-1 == h->codecs[DS_AP]->store(h->codecs[DS_AP], map, "AP", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_RG]) { + if (-1 == h->codecs[DS_RG]->store(h->codecs[DS_RG], map, "RG", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_MF]) { + if (-1 == h->codecs[DS_MF]->store(h->codecs[DS_MF], map, "MF", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_NS]) { + if (-1 == h->codecs[DS_NS]->store(h->codecs[DS_NS], map, "NS", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_NP]) { + if (-1 == h->codecs[DS_NP]->store(h->codecs[DS_NP], map, "NP", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_TS]) { + if (-1 == h->codecs[DS_TS]->store(h->codecs[DS_TS], map, "TS", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_NF]) { + if (-1 == h->codecs[DS_NF]->store(h->codecs[DS_NF], map, "NF", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_TC]) { + if (-1 == h->codecs[DS_TC]->store(h->codecs[DS_TC], map, "TC", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_TN]) { + if (-1 == h->codecs[DS_TN]->store(h->codecs[DS_TN], map, "TN", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_TL]) { + if (-1 == h->codecs[DS_TL]->store(h->codecs[DS_TL], map, "TL", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_FN]) { + if (-1 == h->codecs[DS_FN]->store(h->codecs[DS_FN], map, "FN", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_FC]) { + if (-1 == h->codecs[DS_FC]->store(h->codecs[DS_FC], map, "FC", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_FP]) { + if (-1 == h->codecs[DS_FP]->store(h->codecs[DS_FP], map, "FP", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_BS]) { + if (-1 == h->codecs[DS_BS]->store(h->codecs[DS_BS], map, "BS", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_IN]) { + if (-1 == h->codecs[DS_IN]->store(h->codecs[DS_IN], map, "IN", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_DL]) { + if (-1 == h->codecs[DS_DL]->store(h->codecs[DS_DL], map, "DL", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_BA]) { + if (-1 == h->codecs[DS_BA]->store(h->codecs[DS_BA], map, "BA", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_BB]) { + if (-1 == h->codecs[DS_BB]->store(h->codecs[DS_BB], map, "BB", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_MQ]) { + if (-1 == h->codecs[DS_MQ]->store(h->codecs[DS_MQ], map, "MQ", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_RN]) { + if (-1 == h->codecs[DS_RN]->store(h->codecs[DS_RN], map, "RN", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_QS]) { + if (-1 == h->codecs[DS_QS]->store(h->codecs[DS_QS], map, "QS", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_QQ]) { + if (-1 == h->codecs[DS_QQ]->store(h->codecs[DS_QQ], map, "QQ", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_RI]) { + if (-1 == h->codecs[DS_RI]->store(h->codecs[DS_RI], map, "RI", + fd->version)) + return NULL; + mc++; + } + if (CRAM_MAJOR_VERS(fd->version) != 1) { + if (h->codecs[DS_SC]) { + if (-1 == h->codecs[DS_SC]->store(h->codecs[DS_SC], map, "SC", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_RS]) { + if (-1 == h->codecs[DS_RS]->store(h->codecs[DS_RS], map, "RS", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_PD]) { + if (-1 == h->codecs[DS_PD]->store(h->codecs[DS_PD], map, "PD", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_HC]) { + if (-1 == h->codecs[DS_HC]->store(h->codecs[DS_HC], map, "HC", + fd->version)) + return NULL; + mc++; + } + } + if (h->codecs[DS_TM]) { + if (-1 == h->codecs[DS_TM]->store(h->codecs[DS_TM], map, "TM", + fd->version)) + return NULL; + mc++; + } + if (h->codecs[DS_TV]) { + if (-1 == h->codecs[DS_TV]->store(h->codecs[DS_TV], map, "TV", + fd->version)) + return NULL; + mc++; + } + itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); + itf8_put_blk(cb, mc); + BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); + + /* tag encoding map */ +#if 0 + mp = map; mc = 0; + if (h->tag_encoding_map) { + HashItem *hi; + HashIter *iter = HashTableIterCreate(); + if (!iter) + return NULL; + + while ((hi = HashTableIterNext(h->tag_encoding_map, iter))) { + cram_map *m = hi->data.p; + int sz; + + mp += itf8_put(mp, (hi->key[0]<<16)|(hi->key[1]<<8)|hi->key[2]); + if (-1 == (sz = m->codec->store(m->codec, mp, NULL, fd->version))) + return NULL; + mp += sz; + mc++; + } + + HashTableIterDestroy(iter); + } +#else + mc = 0; + BLOCK_SIZE(map) = 0; + if (c->tags_used) { + khint_t k; + +#define TAG_ID(a) ((#a[0]<<8)+#a[1]) + + for (k = kh_begin(c->tags_used); k != kh_end(c->tags_used); k++) { + int key; + if (!kh_exist(c->tags_used, k)) + continue; + + mc++; + itf8_put_blk(map, kh_key(c->tags_used, k)); + + // use block content id 4 + switch((key = kh_key(c->tags_used, k)) & 0xff) { + case 'Z': case 'H': + // string as byte_array_stop + if (CRAM_MAJOR_VERS(fd->version) == 1) { + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\005" // len + "\t" // stop-byte is also SAM separator + DS_aux_S "\000\000\000", + 7); + } else { + if (key>>8 == TAG_ID(OQ)) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_OQ_S, + 4); + else if (key>>8 == TAG_ID(BQ)) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_BQ_S, + 4); + else if (key>>8 == TAG_ID(BD)) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_BD_S, + 4); + else if (key>>8 == TAG_ID(BI)) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_BI_S, + 4); + else if ((key>>8 == TAG_ID(Q2)) || + (key>>8 == TAG_ID(U2)) || + (key>>8 == TAG_ID(QT)) || + (key>>8 == TAG_ID(CQ))) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_oq_S, + 4); + else if ((key>>8 == TAG_ID(R2)) || + (key>>8 == TAG_ID(E2)) || + (key>>8 == TAG_ID(CS)) || + (key>>8 == TAG_ID(BC)) || + (key>>8 == TAG_ID(RT))) + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_os_S, + 4); + else + BLOCK_APPEND(map, + "\005" // BYTE_ARRAY_STOP + "\002" // len + "\t" // stop-byte is also SAM separator + DS_aux_oz_S, + 4); + } + break; + + case 'A': case 'c': case 'C': + // byte array len, 1 byte + BLOCK_APPEND(map, + "\004" // BYTE_ARRAY_LEN + "\011" // length + "\003" // HUFFMAN (len) + "\004" // huffman-len + "\001" // 1 symbol + "\001" // symbol=1 byte value + "\001" // 1 length + "\000" // length=0 + "\001" // EXTERNAL (val) + "\001" // external-len + DS_aux_S,// content-id + 11); + break; + + case 's': case 'S': + // byte array len, 2 byte + BLOCK_APPEND(map, + "\004" // BYTE_ARRAY_LEN + "\011" // length + "\003" // HUFFMAN (len) + "\004" // huffman-len + "\001" // 1 symbol + "\002" // symbol=2 byte value + "\001" // 1 length + "\000" // length=0 + "\001" // EXTERNAL (val) + "\001" // external-len + DS_aux_S,// content-id + 11); + break; + + case 'i': case 'I': case 'f': + // byte array len, 4 byte + BLOCK_APPEND(map, + "\004" // BYTE_ARRAY_LEN + "\011" // length + "\003" // HUFFMAN (len) + "\004" // huffman-len + "\001" // 1 symbol + "\004" // symbol=4 byte value + "\001" // 1 length + "\000" // length=0 + "\001" // EXTERNAL (val) + "\001" // external-len + DS_aux_S,// content-id + 11); + break; + + case 'B': + // Byte array of variable size, but we generate our tag + // byte stream at the wrong stage (during reading and not + // after slice header construction). So we use + // BYTE_ARRAY_LEN with the length codec being external + // too. + if ((key>>8 == TAG_ID(FZ)) || (key>>8 == TAG_ID(ZM))) + BLOCK_APPEND(map, + "\004" // BYTE_ARRAY_LEN + "\006" // length + "\001" // EXTERNAL (len) + "\001" // external-len + DS_aux_FZ_S // content-id + "\001" // EXTERNAL (val) + "\001" // external-len + DS_aux_FZ_S,// content-id + 8); + else + BLOCK_APPEND(map, + "\004" // BYTE_ARRAY_LEN + "\006" // length + "\001" // EXTERNAL (len) + "\001" // external-len + DS_aux_S // content-id + "\001" // EXTERNAL (val) + "\001" // external-len + DS_aux_S,// content-id + 8); + break; + + default: + fprintf(stderr, "Unsupported SAM aux type '%c'\n", + kh_key(c->tags_used, k) & 0xff); + } + //mp += m->codec->store(m->codec, mp, NULL, fd->version); + } + } +#endif + itf8_put_blk(cb, BLOCK_SIZE(map) + itf8_size(mc)); + itf8_put_blk(cb, mc); + BLOCK_APPEND(cb, BLOCK_DATA(map), BLOCK_SIZE(map)); + + if (fd->verbose) + fprintf(stderr, "Wrote compression block header in %d bytes\n", + (int)BLOCK_SIZE(cb)); + + BLOCK_UPLEN(cb); + + cram_free_block(map); + + return cb; +} + + +/* + * Encodes a slice compression header. + * + * Returns cram_block on success + * NULL on failure + */ +cram_block *cram_encode_slice_header(cram_fd *fd, cram_slice *s) { + char *buf; + char *cp; + cram_block *b = cram_new_block(MAPPED_SLICE, 0); + int j; + + if (!b) + return NULL; + + if (NULL == (cp = buf = malloc(16+5*(8+s->hdr->num_blocks)))) { + cram_free_block(b); + return NULL; + } + + cp += itf8_put(cp, s->hdr->ref_seq_id); + cp += itf8_put(cp, s->hdr->ref_seq_start); + cp += itf8_put(cp, s->hdr->ref_seq_span); + cp += itf8_put(cp, s->hdr->num_records); + if (CRAM_MAJOR_VERS(fd->version) == 2) + cp += itf8_put(cp, s->hdr->record_counter); + else if (CRAM_MAJOR_VERS(fd->version) >= 3) + cp += ltf8_put(cp, s->hdr->record_counter); + cp += itf8_put(cp, s->hdr->num_blocks); + cp += itf8_put(cp, s->hdr->num_content_ids); + for (j = 0; j < s->hdr->num_content_ids; j++) { + cp += itf8_put(cp, s->hdr->block_content_ids[j]); + } + if (s->hdr->content_type == MAPPED_SLICE) + cp += itf8_put(cp, s->hdr->ref_base_id); + + if (CRAM_MAJOR_VERS(fd->version) != 1) { + memcpy(cp, s->hdr->md5, 16); cp += 16; + } + + assert(cp-buf <= 16+5*(8+s->hdr->num_blocks)); + + b->data = (unsigned char *)buf; + b->comp_size = b->uncomp_size = cp-buf; + + return b; +} + + +/* + * Encodes a single read. + * + * Returns 0 on success + * -1 on failure + */ +static int cram_encode_slice_read(cram_fd *fd, + cram_container *c, + cram_block_compression_hdr *h, + cram_slice *s, + cram_record *cr, + int *last_pos) { + int r = 0; + int32_t i32; + unsigned char uc; + + //fprintf(stderr, "Encode seq %d, %d/%d FN=%d, %s\n", rec, core->byte, core->bit, cr->nfeature, s->name_ds->str + cr->name); + + //printf("BF=0x%x\n", cr->flags); + // bf = cram_flag_swap[cr->flags]; + i32 = fd->cram_flag_swap[cr->flags & 0xfff]; + r |= h->codecs[DS_BF]->encode(s, h->codecs[DS_BF], (char *)&i32, 1); + + i32 = cr->cram_flags; + r |= h->codecs[DS_CF]->encode(s, h->codecs[DS_CF], (char *)&i32, 1); + + if (CRAM_MAJOR_VERS(fd->version) != 1 && s->hdr->ref_seq_id == -2) + r |= h->codecs[DS_RI]->encode(s, h->codecs[DS_RI], (char *)&cr->ref_id, 1); + + r |= h->codecs[DS_RL]->encode(s, h->codecs[DS_RL], (char *)&cr->len, 1); + + if (c->pos_sorted) { + i32 = cr->apos - *last_pos; + r |= h->codecs[DS_AP]->encode(s, h->codecs[DS_AP], (char *)&i32, 1); + *last_pos = cr->apos; + } else { + i32 = cr->apos; + r |= h->codecs[DS_AP]->encode(s, h->codecs[DS_AP], (char *)&i32, 1); + } + + r |= h->codecs[DS_RG]->encode(s, h->codecs[DS_RG], (char *)&cr->rg, 1); + + if (c->comp_hdr->read_names_included) { + // RN codec: Already stored in block[3]. + } + + if (cr->cram_flags & CRAM_FLAG_DETACHED) { + i32 = cr->mate_flags; + r |= h->codecs[DS_MF]->encode(s, h->codecs[DS_MF], (char *)&i32, 1); + + if (!c->comp_hdr->read_names_included) { + // RN codec: Already stored in block[3]. + } + + r |= h->codecs[DS_NS]->encode(s, h->codecs[DS_NS], + (char *)&cr->mate_ref_id, 1); + + r |= h->codecs[DS_NP]->encode(s, h->codecs[DS_NP], + (char *)&cr->mate_pos, 1); + + r |= h->codecs[DS_TS]->encode(s, h->codecs[DS_TS], + (char *)&cr->tlen, 1); + } else if (cr->cram_flags & CRAM_FLAG_MATE_DOWNSTREAM) { + r |= h->codecs[DS_NF]->encode(s, h->codecs[DS_NF], + (char *)&cr->mate_line, 1); + } + + /* Aux tags */ + if (CRAM_MAJOR_VERS(fd->version) == 1) { + int j; + uc = cr->ntags; + r |= h->codecs[DS_TC]->encode(s, h->codecs[DS_TC], (char *)&uc, 1); + + for (j = 0; j < cr->ntags; j++) { + uint32_t i32 = s->TN[cr->TN_idx + j]; // id + r |= h->codecs[DS_TN]->encode(s, h->codecs[DS_TN], (char *)&i32, 1); + } + } else { + r |= h->codecs[DS_TL]->encode(s, h->codecs[DS_TL], (char *)&cr->TL, 1); + } + + // qual + // QS codec : Already stored in block[2]. + + // features (diffs) + if (!(cr->flags & BAM_FUNMAP)) { + int prev_pos = 0, j; + + r |= h->codecs[DS_FN]->encode(s, h->codecs[DS_FN], + (char *)&cr->nfeature, 1); + for (j = 0; j < cr->nfeature; j++) { + cram_feature *f = &s->features[cr->feature + j]; + + uc = f->X.code; + r |= h->codecs[DS_FC]->encode(s, h->codecs[DS_FC], (char *)&uc, 1); + i32 = f->X.pos - prev_pos; + r |= h->codecs[DS_FP]->encode(s, h->codecs[DS_FP], (char *)&i32, 1); + prev_pos = f->X.pos; + + switch(f->X.code) { + //char *seq; + + case 'X': + //fprintf(stderr, " FC=%c FP=%d base=%d\n", f->X.code, i32, f->X.base); + + uc = f->X.base; + r |= h->codecs[DS_BS]->encode(s, h->codecs[DS_BS], + (char *)&uc, 1); + break; + case 'S': + // Already done +// r |= h->codecs[DS_SC]->encode(s, h->codecs[DS_SC], +// BLOCK_DATA(s->soft_blk) + f->S.seq_idx, +// f->S.len); + +// if (IS_CRAM_3_VERS(fd)) { +// r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], +// BLOCK_DATA(s->seqs_blk) + f->S.seq_idx, +// f->S.len); +// } + break; + case 'I': + //seq = DSTRING_STR(s->seqs_ds) + f->S.seq_idx; + //r |= h->codecs[DS_IN]->encode(s, h->codecs[DS_IN], + // seq, f->S.len); +// if (IS_CRAM_3_VERS(fd)) { +// r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], +// BLOCK_DATA(s->seqs_blk) + f->I.seq_idx, +// f->I.len); +// } + break; + case 'i': + uc = f->i.base; + r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], + (char *)&uc, 1); + //seq = DSTRING_STR(s->seqs_ds) + f->S.seq_idx; + //r |= h->codecs[DS_IN]->encode(s, h->codecs[DS_IN], + // seq, 1); + break; + case 'D': + i32 = f->D.len; + r |= h->codecs[DS_DL]->encode(s, h->codecs[DS_DL], + (char *)&i32, 1); + break; + + case 'B': + // // Used when we try to store a non ACGTN base or an N + // // that aligns against a non ACGTN reference + + uc = f->B.base; + r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], + (char *)&uc, 1); + + // Already added + // uc = f->B.qual; + // r |= h->codecs[DS_QS]->encode(s, h->codecs[DS_QS], + // (char *)&uc, 1); + break; + + case 'b': + // string of bases + r |= h->codecs[DS_BB]->encode(s, h->codecs[DS_BB], + (char *)BLOCK_DATA(s->seqs_blk) + + f->b.seq_idx, + f->b.len); + break; + + case 'Q': + // Already added + // uc = f->B.qual; + // r |= h->codecs[DS_QS]->encode(s, h->codecs[DS_QS], + // (char *)&uc, 1); + break; + + case 'N': + i32 = f->N.len; + r |= h->codecs[DS_RS]->encode(s, h->codecs[DS_RS], + (char *)&i32, 1); + break; + + case 'P': + i32 = f->P.len; + r |= h->codecs[DS_PD]->encode(s, h->codecs[DS_PD], + (char *)&i32, 1); + break; + + case 'H': + i32 = f->H.len; + r |= h->codecs[DS_HC]->encode(s, h->codecs[DS_HC], + (char *)&i32, 1); + break; + + + default: + fprintf(stderr, "unhandled feature code %c\n", + f->X.code); + return -1; + } + } + + r |= h->codecs[DS_MQ]->encode(s, h->codecs[DS_MQ], + (char *)&cr->mqual, 1); + } else { + char *seq = (char *)BLOCK_DATA(s->seqs_blk) + cr->seq; + r |= h->codecs[DS_BA]->encode(s, h->codecs[DS_BA], seq, cr->len); + } + + return r ? -1 : 0; +} + + +/* + * Applies various compression methods to specific blocks, depending on + * known observations of how data series compress. + * + * Returns 0 on success + * -1 on failure + */ +static int cram_compress_slice(cram_fd *fd, cram_slice *s) { + int level = fd->level, i; + int method = 1< 5 && s->block[0]->uncomp_size > 500) + cram_compress_block(fd, s->block[0], NULL, GZIP, 1); + + if (fd->use_bz2) + method |= 1<use_rans) + method |= (1<use_lzma) + method |= (1<= 6) + methodF = method; + + + /* Specific compression methods for certain block types */ + if (cram_compress_block(fd, s->block[DS_IN], fd->m[DS_IN], //IN (seq) + method, level)) + return -1; + + if (fd->level == 0) { + /* Do nothing */ + } else if (fd->level == 1) { + if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], + methodF, 1)) + return -1; + for (i = DS_aux; i <= DS_aux_oz; i++) { + if (s->block[i]) + if (cram_compress_block(fd, s->block[i], fd->m[i], + method, 1)) + return -1; + } + } else if (fd->level < 3) { + if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], + method, 1)) + return -1; + if (cram_compress_block(fd, s->block[DS_BA], fd->m[DS_BA], + method, 1)) + return -1; + if (s->block[DS_BB]) + if (cram_compress_block(fd, s->block[DS_BB], fd->m[DS_BB], + method, 1)) + return -1; + for (i = DS_aux; i <= DS_aux_oz; i++) { + if (s->block[i]) + if (cram_compress_block(fd, s->block[i], fd->m[i], + method, level)) + return -1; + } + } else { + if (cram_compress_block(fd, s->block[DS_QS], fd->m[DS_QS], + method, level)) + return -1; + if (cram_compress_block(fd, s->block[DS_BA], fd->m[DS_BA], + method, level)) + return -1; + if (s->block[DS_BB]) + if (cram_compress_block(fd, s->block[DS_BB], fd->m[DS_BB], + method, level)) + return -1; + for (i = DS_aux; i <= DS_aux_oz; i++) { + if (s->block[i]) + if (cram_compress_block(fd, s->block[i], fd->m[i], + method, level)) + return -1; + } + } + + // NAME: best is generally xz, bzip2, zlib then rans1 + // It benefits well from a little bit extra compression level. + if (cram_compress_block(fd, s->block[DS_RN], fd->m[DS_RN], + method & ~(1<block[DS_NS] != s->block[0]) + if (cram_compress_block(fd, s->block[DS_NS], fd->m[DS_NS], + method, level)) + return -1; + + + /* + * Minimal compression of any block still uncompressed, bar CORE + */ + { + int i; + for (i = 1; i < DS_END; i++) { + if (!s->block[i] || s->block[i] == s->block[0]) + continue; + + // fast methods only + if (s->block[i]->method == RAW) { + cram_compress_block(fd, s->block[i], fd->m[i], + methodF, level); + } + } + } + + return 0; +} + +/* + * Encodes a single slice from a container + * + * Returns 0 on success + * -1 on failure + */ +static int cram_encode_slice(cram_fd *fd, cram_container *c, + cram_block_compression_hdr *h, cram_slice *s) { + int rec, r = 0, last_pos; + int embed_ref; + enum cram_DS_ID id; + + embed_ref = fd->embed_ref && s->hdr->ref_seq_id != -1 ? 1 : 0; + + /* + * Slice external blocks: + * ID 0 => base calls (insertions, soft-clip) + * ID 1 => qualities + * ID 2 => names + * ID 3 => TS (insert size), NP (next frag) + * ID 4 => tag values + * ID 6 => tag IDs (TN), if CRAM_V1.0 + * ID 7 => TD tag dictionary, if !CRAM_V1.0 + */ + + /* Create cram slice header */ + s->hdr->ref_base_id = embed_ref ? DS_ref : -1; + s->hdr->record_counter = c->num_records + c->record_counter; + c->num_records += s->hdr->num_records; + + s->block = calloc(DS_END, sizeof(s->block[0])); + s->hdr->block_content_ids = malloc(DS_END * sizeof(int32_t)); + if (!s->block || !s->hdr->block_content_ids) + return -1; + + // Create first fixed blocks, always external. + // CORE + if (!(s->block[0] = cram_new_block(CORE, 0))) + return -1; + + // TN block for CRAM v1 + if (CRAM_MAJOR_VERS(fd->version) == 1) { + if (h->codecs[DS_TN]->codec == E_EXTERNAL) { + if (!(s->block[DS_TN] = cram_new_block(EXTERNAL,DS_TN))) return -1; + h->codecs[DS_TN]->external.content_id = DS_TN; + } else { + s->block[DS_TN] = s->block[0]; + } + s->block[DS_TN] = s->block[DS_TN]; + } + + // Embedded reference + if (embed_ref) { + if (!(s->block[DS_ref] = cram_new_block(EXTERNAL, DS_ref))) + return -1; + s->ref_id = DS_ref; // needed? + BLOCK_APPEND(s->block[DS_ref], + c->ref + c->first_base - c->ref_start, + c->last_base - c->first_base + 1); + } + + /* + * All the data-series blocks if appropriate. + */ + for (id = DS_BF; id < DS_TN; id++) { + if (h->codecs[id] && (h->codecs[id]->codec == E_EXTERNAL || + h->codecs[id]->codec == E_BYTE_ARRAY_STOP || + h->codecs[id]->codec == E_BYTE_ARRAY_LEN)) { + switch (h->codecs[id]->codec) { + case E_EXTERNAL: + if (!(s->block[id] = cram_new_block(EXTERNAL, id))) + return -1; + h->codecs[id]->external.content_id = id; + break; + + case E_BYTE_ARRAY_STOP: + if (!(s->block[id] = cram_new_block(EXTERNAL, id))) + return -1; + h->codecs[id]->byte_array_stop.content_id = id; + break; + + case E_BYTE_ARRAY_LEN: { + cram_codec *cc; + + cc = h->codecs[id]->e_byte_array_len.len_codec; + if (cc->codec == E_EXTERNAL) { + int eid = cc->external.content_id; + if (!(s->block[eid] = cram_new_block(EXTERNAL, eid))) + return -1; + cc->external.content_id = eid; + cc->out = s->block[eid]; + } + + cc = h->codecs[id]->e_byte_array_len.val_codec; + if (cc->codec == E_EXTERNAL) { + int eid = cc->external.content_id; + if (!s->block[eid]) + if (!(s->block[eid] = cram_new_block(EXTERNAL, eid))) + return -1; + cc->external.content_id = eid; + cc->out = s->block[eid]; + } + break; + } + default: + break; + } + } else { + if (!(id == DS_BB && !h->codecs[DS_BB])) + s->block[id] = s->block[0]; + } + if (h->codecs[id]) + h->codecs[id]->out = s->block[id]; + } + + /* Encode reads */ + last_pos = s->hdr->ref_seq_start; + for (rec = 0; rec < s->hdr->num_records; rec++) { + cram_record *cr = &s->crecs[rec]; + if (cram_encode_slice_read(fd, c, h, s, cr, &last_pos) == -1) + return -1; + } + + s->block[0]->uncomp_size = s->block[0]->byte + (s->block[0]->bit < 7); + s->block[0]->comp_size = s->block[0]->uncomp_size; + + // Make sure the fixed blocks point to the correct sources + s->block[DS_IN] = s->base_blk; s->base_blk = NULL; + s->block[DS_QS] = s->qual_blk; s->qual_blk = NULL; + s->block[DS_RN] = s->name_blk; s->name_blk = NULL; + s->block[DS_SC] = s->soft_blk; s->soft_blk = NULL; + s->block[DS_aux]= s->aux_blk; s->aux_blk = NULL; + s->block[DS_aux_OQ]= s->aux_OQ_blk; s->aux_OQ_blk = NULL; + s->block[DS_aux_BQ]= s->aux_BQ_blk; s->aux_BQ_blk = NULL; + s->block[DS_aux_BD]= s->aux_BD_blk; s->aux_BD_blk = NULL; + s->block[DS_aux_BI]= s->aux_BI_blk; s->aux_BI_blk = NULL; + s->block[DS_aux_FZ]= s->aux_FZ_blk; s->aux_FZ_blk = NULL; + s->block[DS_aux_oq]= s->aux_oq_blk; s->aux_oq_blk = NULL; + s->block[DS_aux_os]= s->aux_os_blk; s->aux_os_blk = NULL; + s->block[DS_aux_oz]= s->aux_oz_blk; s->aux_oz_blk = NULL; + + // Ensure block sizes are up to date. + for (id = 1; id < DS_END; id++) { + if (!s->block[id] || s->block[id] == s->block[0]) + continue; + + if (s->block[id]->uncomp_size == 0) + BLOCK_UPLEN(s->block[id]); + } + + // Compress it all + if (cram_compress_slice(fd, s) == -1) + return -1; + + // Collapse empty blocks and create hdr_block + { + int i, j; + for (i = j = 1; i < DS_END; i++) { + if (!s->block[i] || s->block[i] == s->block[0]) + continue; + if (s->block[i]->uncomp_size == 0) { + cram_free_block(s->block[i]); + s->block[i] = NULL; + continue; + } + s->block[j] = s->block[i]; + s->hdr->block_content_ids[j-1] = s->block[i]->content_id; + j++; + } + s->hdr->num_content_ids = j-1; + s->hdr->num_blocks = j; + + if (!(s->hdr_block = cram_encode_slice_header(fd, s))) + return -1; + } + + return r ? -1 : 0; +} + +/* + * Encodes all slices in a container into blocks. + * Returns 0 on success + * -1 on failure + */ +int cram_encode_container(cram_fd *fd, cram_container *c) { + int i, j, slice_offset; + cram_block_compression_hdr *h = c->comp_hdr; + cram_block *c_hdr; + int multi_ref = 0; + int r1, r2, sn, nref; + spare_bams *spares; + + /* Cache references up-front if we have unsorted access patterns */ + pthread_mutex_lock(&fd->ref_lock); + nref = fd->refs->nref; + pthread_mutex_unlock(&fd->ref_lock); + + if (!fd->no_ref && c->refs_used) { + for (i = 0; i < nref; i++) { + if (c->refs_used[i]) + cram_get_ref(fd, i, 1, 0); + } + } + + /* To create M5 strings */ + /* Fetch reference sequence */ + if (!fd->no_ref) { + bam_seq_t *b = c->bams[0]; + char *ref; + + ref = cram_get_ref(fd, bam_ref(b), 1, 0); + if (!ref && bam_ref(b) >= 0) { + fprintf(stderr, "Failed to load reference #%d\n", bam_ref(b)); + return -1; + } + if ((c->ref_id = bam_ref(b)) >= 0) { + c->ref_seq_id = c->ref_id; + c->ref = fd->refs->ref_id[c->ref_seq_id]->seq; + c->ref_start = 1; + c->ref_end = fd->refs->ref_id[c->ref_seq_id]->length; + } else { + c->ref_seq_id = c->ref_id; // FIXME remove one var! + } + } else { + c->ref_id = bam_ref(c->bams[0]); + cram_ref_incr(fd->refs, c->ref_id); + c->ref_seq_id = c->ref_id; + } + + /* Turn bams into cram_records and gather basic stats */ + for (r1 = sn = 0; r1 < c->curr_c_rec; sn++) { + cram_slice *s = c->slices[sn]; + int first_base = INT_MAX, last_base = INT_MIN; + + assert(sn < c->curr_slice); + + /* FIXME: we could create our slice objects here too instead of + * in cram_put_bam_seq. It's more natural here and also this is + * bit is threaded so it's less work in the main thread. + */ + + for (r2 = 0; r1 < c->curr_c_rec && r2 < c->max_rec; r1++, r2++) { + cram_record *cr = &s->crecs[r2]; + bam_seq_t *b = c->bams[r1]; + + /* If multi-ref we need to cope with changing reference per seq */ + if (c->multi_seq && !fd->no_ref) { + if (bam_ref(b) != c->ref_seq_id && bam_ref(b) >= 0) { + if (c->ref_seq_id >= 0) + cram_ref_decr(fd->refs, c->ref_seq_id); + + if (!cram_get_ref(fd, bam_ref(b), 1, 0)) { + fprintf(stderr, "Failed to load reference #%d\n", + bam_ref(b)); + return -1; + } + + c->ref_seq_id = bam_ref(b); // overwritten later by -2 + assert(fd->refs->ref_id[c->ref_seq_id]->seq); + c->ref = fd->refs->ref_id[c->ref_seq_id]->seq; + c->ref_start = 1; + c->ref_end = fd->refs->ref_id[c->ref_seq_id]->length; + } + } + + process_one_read(fd, c, s, cr, b, r2); + + if (first_base > cr->apos) + first_base = cr->apos; + + if (last_base < cr->aend) + last_base = cr->aend; + } + + if (c->multi_seq) { + s->hdr->ref_seq_id = -2; + s->hdr->ref_seq_start = 0; + s->hdr->ref_seq_span = 0; + } else { + s->hdr->ref_seq_id = c->ref_id; + s->hdr->ref_seq_start = first_base; + s->hdr->ref_seq_span = last_base - first_base + 1; + } + s->hdr->num_records = r2; + } + + if (c->multi_seq && !fd->no_ref) { + if (c->ref_seq_id >= 0) + cram_ref_decr(fd->refs, c->ref_seq_id); + } + + /* Link our bams[] array onto the spare bam list for reuse */ + spares = malloc(sizeof(*spares)); + pthread_mutex_lock(&fd->bam_list_lock); + spares->bams = c->bams; + spares->next = fd->bl; + fd->bl = spares; + pthread_mutex_unlock(&fd->bam_list_lock); + c->bams = NULL; + + /* Detect if a multi-seq container */ + cram_stats_encoding(fd, c->stats[DS_RI]); + multi_ref = c->stats[DS_RI]->nvals > 1; + + if (multi_ref) { + if (fd->verbose) + fprintf(stderr, "Multi-ref container\n"); + c->ref_seq_id = -2; + c->ref_seq_start = 0; + c->ref_seq_span = 0; + } + + + /* Compute MD5s */ + for (i = 0; i < c->curr_slice; i++) { + cram_slice *s = c->slices[i]; + + if (CRAM_MAJOR_VERS(fd->version) != 1) { + if (s->hdr->ref_seq_id >= 0 && c->multi_seq == 0 && !fd->no_ref) { + MD5_CTX md5; + MD5_Init(&md5); + MD5_Update(&md5, + c->ref + s->hdr->ref_seq_start - c->ref_start, + s->hdr->ref_seq_span); + MD5_Final(s->hdr->md5, &md5); + } else { + memset(s->hdr->md5, 0, 16); + } + } + } + + c->num_records = 0; + c->num_blocks = 0; + c->length = 0; + + //fprintf(stderr, "=== BF ===\n"); + h->codecs[DS_BF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BF]), + c->stats[DS_BF], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== CF ===\n"); + h->codecs[DS_CF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_CF]), + c->stats[DS_CF], E_INT, NULL, + fd->version); +// fprintf(stderr, "=== RN ===\n"); +// h->codecs[DS_RN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RN]), +// c->stats[DS_RN], E_BYTE_ARRAY, NULL, +// fd->version); + + //fprintf(stderr, "=== AP ===\n"); + if (c->pos_sorted) { + h->codecs[DS_AP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_AP]), + c->stats[DS_AP], E_INT, NULL, + fd->version); + } else { + int p[2] = {0, c->max_apos}; + h->codecs[DS_AP] = cram_encoder_init(E_BETA, NULL, E_INT, p, + fd->version); + } + + //fprintf(stderr, "=== RG ===\n"); + h->codecs[DS_RG] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RG]), + c->stats[DS_RG], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== MQ ===\n"); + h->codecs[DS_MQ] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_MQ]), + c->stats[DS_MQ], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== NS ===\n"); + h->codecs[DS_NS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NS]), + c->stats[DS_NS], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== MF ===\n"); + h->codecs[DS_MF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_MF]), + c->stats[DS_MF], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== TS ===\n"); + h->codecs[DS_TS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TS]), + c->stats[DS_TS], E_INT, NULL, + fd->version); + //fprintf(stderr, "=== NP ===\n"); + h->codecs[DS_NP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NP]), + c->stats[DS_NP], E_INT, NULL, + fd->version); + //fprintf(stderr, "=== NF ===\n"); + h->codecs[DS_NF] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_NF]), + c->stats[DS_NF], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== RL ===\n"); + h->codecs[DS_RL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RL]), + c->stats[DS_RL], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== FN ===\n"); + h->codecs[DS_FN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FN]), + c->stats[DS_FN], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== FC ===\n"); + h->codecs[DS_FC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FC]), + c->stats[DS_FC], E_BYTE, NULL, + fd->version); + + //fprintf(stderr, "=== FP ===\n"); + h->codecs[DS_FP] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_FP]), + c->stats[DS_FP], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== DL ===\n"); + h->codecs[DS_DL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_DL]), + c->stats[DS_DL], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== BA ===\n"); + h->codecs[DS_BA] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BA]), + c->stats[DS_BA], E_BYTE, NULL, + fd->version); + + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + cram_byte_array_len_encoder e; + + e.len_encoding = E_EXTERNAL; + e.len_dat = (void *)DS_BB_len; + //e.len_dat = (void *)DS_BB; + + e.val_encoding = E_EXTERNAL; + e.val_dat = (void *)DS_BB; + + h->codecs[DS_BB] = cram_encoder_init(E_BYTE_ARRAY_LEN, NULL, + E_BYTE_ARRAY, (void *)&e, + fd->version); + } else { + h->codecs[DS_BB] = NULL; + } + + //fprintf(stderr, "=== BS ===\n"); + h->codecs[DS_BS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_BS]), + c->stats[DS_BS], E_BYTE, NULL, + fd->version); + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + h->codecs[DS_TL] = NULL; + h->codecs[DS_RI] = NULL; + h->codecs[DS_RS] = NULL; + h->codecs[DS_PD] = NULL; + h->codecs[DS_HC] = NULL; + h->codecs[DS_SC] = NULL; + + //fprintf(stderr, "=== TC ===\n"); + h->codecs[DS_TC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TC]), + c->stats[DS_TC], E_BYTE, NULL, + fd->version); + + //fprintf(stderr, "=== TN ===\n"); + h->codecs[DS_TN] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TN]), + c->stats[DS_TN], E_INT, NULL, + fd->version); + } else { + h->codecs[DS_TC] = NULL; + h->codecs[DS_TN] = NULL; + + //fprintf(stderr, "=== TL ===\n"); + h->codecs[DS_TL] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_TL]), + c->stats[DS_TL], E_INT, NULL, + fd->version); + + + //fprintf(stderr, "=== RI ===\n"); + h->codecs[DS_RI] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RI]), + c->stats[DS_RI], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== RS ===\n"); + h->codecs[DS_RS] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_RS]), + c->stats[DS_RS], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== PD ===\n"); + h->codecs[DS_PD] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_PD]), + c->stats[DS_PD], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== HC ===\n"); + h->codecs[DS_HC] = cram_encoder_init(cram_stats_encoding(fd, c->stats[DS_HC]), + c->stats[DS_HC], E_INT, NULL, + fd->version); + + //fprintf(stderr, "=== SC ===\n"); + if (1) { + int i2[2] = {0, DS_SC}; + + h->codecs[DS_SC] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, + E_BYTE_ARRAY, (void *)i2, + fd->version); + } else { + // Appears to be no practical benefit to using this method, + // but it may work better if we start mixing SC, IN and BB + // elements into the same external block. + cram_byte_array_len_encoder e; + + e.len_encoding = E_EXTERNAL; + e.len_dat = (void *)DS_SC_len; + + e.val_encoding = E_EXTERNAL; + e.val_dat = (void *)DS_SC; + + h->codecs[DS_SC] = cram_encoder_init(E_BYTE_ARRAY_LEN, NULL, + E_BYTE_ARRAY, (void *)&e, + fd->version); + } + } + + //fprintf(stderr, "=== IN ===\n"); + { + int i2[2] = {0, DS_IN}; + h->codecs[DS_IN] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, + E_BYTE_ARRAY, (void *)i2, + fd->version); + } + + h->codecs[DS_QS] = cram_encoder_init(E_EXTERNAL, NULL, E_BYTE, + (void *)DS_QS, + fd->version); + { + int i2[2] = {0, DS_RN}; + h->codecs[DS_RN] = cram_encoder_init(E_BYTE_ARRAY_STOP, NULL, + E_BYTE_ARRAY, (void *)i2, + fd->version); + } + + + /* Encode slices */ + for (i = 0; i < c->curr_slice; i++) { + if (fd->verbose) + fprintf(stderr, "Encode slice %d\n", i); + if (cram_encode_slice(fd, c, h, c->slices[i]) != 0) + return -1; + } + + /* Create compression header */ + { + h->ref_seq_id = c->ref_seq_id; + h->ref_seq_start = c->ref_seq_start; + h->ref_seq_span = c->ref_seq_span; + h->num_records = c->num_records; + + h->mapped_qs_included = 0; // fixme + h->unmapped_qs_included = 0; // fixme + // h->... fixme + memcpy(h->substitution_matrix, CRAM_SUBST_MATRIX, 20); + + if (!(c_hdr = cram_encode_compression_header(fd, c, h))) + return -1; + } + + /* Compute landmarks */ + /* Fill out slice landmarks */ + c->num_landmarks = c->curr_slice; + c->landmark = malloc(c->num_landmarks * sizeof(*c->landmark)); + if (!c->landmark) + return -1; + + /* + * Slice offset starts after the first block, so we need to simulate + * writing it to work out the correct offset + */ + { + slice_offset = c_hdr->method == RAW + ? c_hdr->uncomp_size + : c_hdr->comp_size; + slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + + itf8_size(c_hdr->content_id) + + itf8_size(c_hdr->comp_size) + + itf8_size(c_hdr->uncomp_size); + } + + c->ref_seq_id = c->slices[0]->hdr->ref_seq_id; + c->ref_seq_start = c->slices[0]->hdr->ref_seq_start; + c->ref_seq_span = c->slices[0]->hdr->ref_seq_span; + for (i = 0; i < c->curr_slice; i++) { + cram_slice *s = c->slices[i]; + + c->num_blocks += s->hdr->num_blocks + 2; + c->landmark[i] = slice_offset; + + if (s->hdr->ref_seq_start + s->hdr->ref_seq_span > + c->ref_seq_start + c->ref_seq_span) { + c->ref_seq_span = s->hdr->ref_seq_start + s->hdr->ref_seq_span + - c->ref_seq_start; + } + + slice_offset += s->hdr_block->method == RAW + ? s->hdr_block->uncomp_size + : s->hdr_block->comp_size; + + slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + + itf8_size(s->hdr_block->content_id) + + itf8_size(s->hdr_block->comp_size) + + itf8_size(s->hdr_block->uncomp_size); + + for (j = 0; j < s->hdr->num_blocks; j++) { + slice_offset += 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + + itf8_size(s->block[j]->content_id) + + itf8_size(s->block[j]->comp_size) + + itf8_size(s->block[j]->uncomp_size); + + slice_offset += s->block[j]->method == RAW + ? s->block[j]->uncomp_size + : s->block[j]->comp_size; + } + } + c->length += slice_offset; // just past the final slice + + c->comp_hdr_block = c_hdr; + + if (c->ref_seq_id >= 0) { + cram_ref_decr(fd->refs, c->ref_seq_id); + } + + /* Cache references up-front if we have unsorted access patterns */ + if (!fd->no_ref && c->refs_used) { + for (i = 0; i < fd->refs->nref; i++) { + if (c->refs_used[i]) + cram_ref_decr(fd->refs, i); + } + } + + return 0; +} + + +/* + * Adds a feature code to a read within a slice. For purposes of minimising + * memory allocations and fragmentation we have one array of features for all + * reads within the slice. We return the index into this array for this new + * feature. + * + * Returns feature index on success + * -1 on failure. + */ +static int cram_add_feature(cram_container *c, cram_slice *s, + cram_record *r, cram_feature *f) { + if (s->nfeatures >= s->afeatures) { + s->afeatures = s->afeatures ? s->afeatures*2 : 1024; + s->features = realloc(s->features, s->afeatures*sizeof(*s->features)); + if (!s->features) + return -1; + } + + if (!r->nfeature++) { + r->feature = s->nfeatures; + cram_stats_add(c->stats[DS_FP], f->X.pos); + } else { + cram_stats_add(c->stats[DS_FP], + f->X.pos - s->features[r->feature + r->nfeature-2].X.pos); + } + cram_stats_add(c->stats[DS_FC], f->X.code); + + s->features[s->nfeatures++] = *f; + + return 0; +} + +static int cram_add_substitution(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *r, + int pos, char base, char qual, char ref) { + cram_feature f; + + // seq=ACGTN vs ref=ACGT or seq=ACGT vs ref=ACGTN + if (fd->L2[(uc)base]<4 || (fd->L2[(uc)base]<5 && fd->L2[(uc)ref]<4)) { + f.X.pos = pos+1; + f.X.code = 'X'; + f.X.base = fd->cram_sub_matrix[ref&0x1f][base&0x1f]; + cram_stats_add(c->stats[DS_BS], f.X.base); + } else { + f.B.pos = pos+1; + f.B.code = 'B'; + f.B.base = base; + f.B.qual = qual; + cram_stats_add(c->stats[DS_BA], f.B.base); + cram_stats_add(c->stats[DS_QS], f.B.qual); + BLOCK_APPEND_CHAR(s->qual_blk, qual); + } + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_bases(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + + f.b.pos = pos+1; + f.b.code = 'b'; + f.b.seq_idx = base - (char *)BLOCK_DATA(s->seqs_blk); + f.b.len = len; + + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_base(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *r, + int pos, char base, char qual) { + cram_feature f; + f.B.pos = pos+1; + f.B.code = 'B'; + f.B.base = base; + f.B.qual = qual; + cram_stats_add(c->stats[DS_BA], base); + cram_stats_add(c->stats[DS_QS], qual); + BLOCK_APPEND_CHAR(s->qual_blk, qual); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_quality(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *r, + int pos, char qual) { + cram_feature f; + f.Q.pos = pos+1; + f.Q.code = 'Q'; + f.Q.qual = qual; + cram_stats_add(c->stats[DS_QS], qual); + BLOCK_APPEND_CHAR(s->qual_blk, qual); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_deletion(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + f.D.pos = pos+1; + f.D.code = 'D'; + f.D.len = len; + cram_stats_add(c->stats[DS_DL], len); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_softclip(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base, int version) { + cram_feature f; + f.S.pos = pos+1; + f.S.code = 'S'; + f.S.len = len; + switch (CRAM_MAJOR_VERS(version)) { + case 1: + f.S.seq_idx = BLOCK_SIZE(s->base_blk); + BLOCK_APPEND(s->base_blk, base, len); + BLOCK_APPEND_CHAR(s->base_blk, '\0'); + break; + + case 2: + default: + f.S.seq_idx = BLOCK_SIZE(s->soft_blk); + if (base) { + BLOCK_APPEND(s->soft_blk, base, len); + } else { + int i; + for (i = 0; i < len; i++) + BLOCK_APPEND_CHAR(s->soft_blk, 'N'); + } + BLOCK_APPEND_CHAR(s->soft_blk, '\0'); + break; + +// default: +// // v3.0 onwards uses BB data-series +// f.S.seq_idx = BLOCK_SIZE(s->soft_blk); + } + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_hardclip(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + f.S.pos = pos+1; + f.S.code = 'H'; + f.S.len = len; + cram_stats_add(c->stats[DS_HC], len); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_skip(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + f.S.pos = pos+1; + f.S.code = 'N'; + f.S.len = len; + cram_stats_add(c->stats[DS_RS], len); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_pad(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + f.S.pos = pos+1; + f.S.code = 'P'; + f.S.len = len; + cram_stats_add(c->stats[DS_PD], len); + return cram_add_feature(c, s, r, &f); +} + +static int cram_add_insertion(cram_container *c, cram_slice *s, cram_record *r, + int pos, int len, char *base) { + cram_feature f; + f.I.pos = pos+1; + if (len == 1) { + char b = base ? *base : 'N'; + f.i.code = 'i'; + f.i.base = b; + cram_stats_add(c->stats[DS_BA], b); + } else { + f.I.code = 'I'; + f.I.len = len; + f.S.seq_idx = BLOCK_SIZE(s->base_blk); + if (base) { + BLOCK_APPEND(s->base_blk, base, len); + } else { + int i; + for (i = 0; i < len; i++) + BLOCK_APPEND_CHAR(s->base_blk, 'N'); + } + BLOCK_APPEND_CHAR(s->base_blk, '\0'); + } + return cram_add_feature(c, s, r, &f); +} + +/* + * Encodes auxiliary data. + * Returns the read-group parsed out of the BAM aux fields on success + * NULL on failure or no rg present (FIXME) + */ +static char *cram_encode_aux_1_0(cram_fd *fd, bam_seq_t *b, cram_container *c, + cram_slice *s, cram_record *cr) { + char *aux, *tmp, *rg = NULL; + int aux_size = bam_blk_size(b) - + ((char *)bam_aux(b) - (char *)&bam_ref(b)); + + /* Worst case is 1 nul char on every ??:Z: string, so +33% */ + BLOCK_GROW(s->aux_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_blk); + + aux = (char *)bam_aux(b); + cr->TN_idx = s->nTN; + + while (aux[0] != 0) { + int32_t i32; + int r; + + if (aux[0] == 'R' && aux[1] == 'G' && aux[2] == 'Z') { + rg = &aux[3]; + while (*aux++); + continue; + } + if (aux[0] == 'M' && aux[1] == 'D' && aux[2] == 'Z') { + while (*aux++); + continue; + } + if (aux[0] == 'N' && aux[1] == 'M') { + switch(aux[2]) { + case 'A': case 'C': case 'c': aux+=4; break; + case 'I': case 'i': case 'f': aux+=7; break; + default: + fprintf(stderr, "Unhandled type code for NM tag\n"); + return NULL; + } + continue; + } + + cr->ntags++; + + i32 = (aux[0]<<16) | (aux[1]<<8) | aux[2]; + kh_put(s_i2i, c->tags_used, i32, &r); + if (-1 == r) + return NULL; + + if (s->nTN >= s->aTN) { + s->aTN = s->aTN ? s->aTN*2 : 1024; + if (!(s->TN = realloc(s->TN, s->aTN * sizeof(*s->TN)))) + return NULL; + } + s->TN[s->nTN++] = i32; + cram_stats_add(c->stats[DS_TN], i32); + + switch(aux[2]) { + case 'A': case 'C': case 'c': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; + break; + + case 'S': case 's': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'I': case 'i': case 'f': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'd': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'Z': case 'H': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; // stop byte + break; + + case 'B': { + int type = aux[3], blen; + uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + + (((unsigned char *)aux)[5]<< 8) + + (((unsigned char *)aux)[6]<<16) + + (((unsigned char *)aux)[7]<<24)); + // skip TN field + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + + // We use BYTE_ARRAY_LEN with external length, so store that first + switch (type) { + case 'c': case 'C': + blen = count; + break; + case 's': case 'S': + blen = 2*count; + break; + case 'i': case 'I': case 'f': + blen = 4*count; + break; + default: + fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", + type); + return NULL; + + } + + tmp += itf8_put(tmp, blen+5); + + *tmp++=*aux++; // sub-type & length + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + + // The tag data itself + memcpy(tmp, aux, blen); tmp += blen; aux += blen; + + //cram_stats_add(c->aux_B_stats, blen); + break; + } + default: + fprintf(stderr, "Unknown aux type '%c'\n", aux[2]); + return NULL; + } + } + cram_stats_add(c->stats[DS_TC], cr->ntags); + + cr->aux = BLOCK_SIZE(s->aux_blk); + cr->aux_size = (uc *)tmp - (BLOCK_DATA(s->aux_blk) + cr->aux); + BLOCK_SIZE(s->aux_blk) = (uc *)tmp - BLOCK_DATA(s->aux_blk); + assert(s->aux_blk->byte <= s->aux_blk->alloc); + + return rg; +} + +/* + * Encodes auxiliary data. Largely duplicated from above, but done so to + * keep it simple and avoid a myriad of version ifs. + * + * Returns the read-group parsed out of the BAM aux fields on success + * NULL on failure or no rg present (FIXME) + */ +static char *cram_encode_aux(cram_fd *fd, bam_seq_t *b, cram_container *c, + cram_slice *s, cram_record *cr) { + char *aux, *orig, *tmp, *rg = NULL; + int aux_size = bam_get_l_aux(b); + cram_block *td_b = c->comp_hdr->TD_blk; + int TD_blk_size = BLOCK_SIZE(td_b), new; + char *key; + khint_t k; + + + /* Worst case is 1 nul char on every ??:Z: string, so +33% */ + BLOCK_GROW(s->aux_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_blk); + + + orig = aux = (char *)bam_aux(b); + + // Copy aux keys to td_b and aux values to s->aux_blk + while (aux - orig < aux_size && aux[0] != 0) { + uint32_t i32; + int r; + + if (aux[0] == 'R' && aux[1] == 'G' && aux[2] == 'Z') { + rg = &aux[3]; + while (*aux++); + continue; + } + if (aux[0] == 'M' && aux[1] == 'D' && aux[2] == 'Z') { + while (*aux++); + continue; + } + if (aux[0] == 'N' && aux[1] == 'M') { + switch(aux[2]) { + case 'A': case 'C': case 'c': aux+=4; break; + case 'S': case 's': aux+=5; break; + case 'I': case 'i': case 'f': aux+=7; break; + default: + fprintf(stderr, "Unhandled type code for NM tag\n"); + return NULL; + } + continue; + } + + BLOCK_APPEND(td_b, aux, 3); + + i32 = (aux[0]<<16) | (aux[1]<<8) | aux[2]; + kh_put(s_i2i, c->tags_used, i32, &r); + if (-1 == r) + return NULL; + + // BQ:Z + if (aux[0] == 'B' && aux[1] == 'Q' && aux[2] == 'Z') { + char *tmp; + if (!s->aux_BQ_blk) + if (!(s->aux_BQ_blk = cram_new_block(EXTERNAL, DS_aux_BQ))) + return NULL; + BLOCK_GROW(s->aux_BQ_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_BQ_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_BQ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BQ_blk); + continue; + } + + // BD:Z + if (aux[0] == 'B' && aux[1]=='D' && aux[2] == 'Z') { + char *tmp; + if (!s->aux_BD_blk) + if (!(s->aux_BD_blk = cram_new_block(EXTERNAL, DS_aux_BD))) + return NULL; + BLOCK_GROW(s->aux_BD_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_BD_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_BD_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BD_blk); + continue; + } + + // BI:Z + if (aux[0] == 'B' && aux[1]=='I' && aux[2] == 'Z') { + char *tmp; + if (!s->aux_BI_blk) + if (!(s->aux_BI_blk = cram_new_block(EXTERNAL, DS_aux_BI))) + return NULL; + BLOCK_GROW(s->aux_BI_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_BI_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_BI_blk) = (uc *)tmp - BLOCK_DATA(s->aux_BI_blk); + continue; + } + + // OQ:Z: + if (aux[0] == 'O' && aux[1] == 'Q' && aux[2] == 'Z') { + char *tmp; + if (!s->aux_OQ_blk) + if (!(s->aux_OQ_blk = cram_new_block(EXTERNAL, DS_aux_OQ))) + return NULL; + BLOCK_GROW(s->aux_OQ_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_OQ_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_OQ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_OQ_blk); + continue; + } + + // FZ:B or ZM:B + if ((aux[0] == 'F' && aux[1] == 'Z' && aux[2] == 'B') || + (aux[0] == 'Z' && aux[1] == 'M' && aux[2] == 'B')) { + int type = aux[3], blen; + uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + + (((unsigned char *)aux)[5]<< 8) + + (((unsigned char *)aux)[6]<<16) + + (((unsigned char *)aux)[7]<<24)); + char *tmp; + if (!s->aux_FZ_blk) + if (!(s->aux_FZ_blk = cram_new_block(EXTERNAL, DS_aux_FZ))) + return NULL; + BLOCK_GROW(s->aux_FZ_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_FZ_blk); + + // skip TN field + aux+=3; + + // We use BYTE_ARRAY_LEN with external length, so store that first + switch (type) { + case 'c': case 'C': + blen = count; + break; + case 's': case 'S': + blen = 2*count; + break; + case 'i': case 'I': case 'f': + blen = 4*count; + break; + default: + fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", + type); + return NULL; + + } + + blen += 5; // sub-type & length + tmp += itf8_put(tmp, blen); + + // The tag data itself + memcpy(tmp, aux, blen); tmp += blen; aux += blen; + + BLOCK_SIZE(s->aux_FZ_blk) = (uc *)tmp - BLOCK_DATA(s->aux_FZ_blk); + continue; + } + + // Other quality data - {Q2,E2,U2,CQ}:Z and similar + if (((aux[0] == 'Q' && aux[1] == '2') || + (aux[0] == 'U' && aux[1] == '2') || + (aux[0] == 'Q' && aux[1] == 'T') || + (aux[0] == 'C' && aux[1] == 'Q')) && aux[2] == 'Z') { + char *tmp; + if (!s->aux_oq_blk) + if (!(s->aux_oq_blk = cram_new_block(EXTERNAL, DS_aux_oq))) + return NULL; + BLOCK_GROW(s->aux_oq_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_oq_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_oq_blk) = (uc *)tmp - BLOCK_DATA(s->aux_oq_blk); + continue; + } + + // Other sequence data - {R2,E2,CS,BC,RT}:Z and similar + if (((aux[0] == 'R' && aux[1] == '2') || + (aux[0] == 'E' && aux[1] == '2') || + (aux[0] == 'C' && aux[1] == 'S') || + (aux[0] == 'B' && aux[1] == 'C') || + (aux[0] == 'R' && aux[1] == 'T')) && aux[2] == 'Z') { + char *tmp; + if (!s->aux_os_blk) + if (!(s->aux_os_blk = cram_new_block(EXTERNAL, DS_aux_os))) + return NULL; + BLOCK_GROW(s->aux_os_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_os_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_os_blk) = (uc *)tmp - BLOCK_DATA(s->aux_os_blk); + continue; + } + + + switch(aux[2]) { + case 'A': case 'C': case 'c': + aux+=3; + *tmp++=*aux++; + break; + + case 'S': case 's': + aux+=3; + *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'I': case 'i': case 'f': + aux+=3; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'd': + aux+=3; //*tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; *tmp++=*aux++; + break; + + case 'Z': case 'H': + { + char *tmp; + if (!s->aux_oz_blk) + if (!(s->aux_oz_blk = cram_new_block(EXTERNAL, DS_aux_oz))) + return NULL; + BLOCK_GROW(s->aux_oz_blk, aux_size*1.34+1); + tmp = (char *)BLOCK_END(s->aux_oz_blk); + aux += 3; + while ((*tmp++=*aux++)); + *tmp++ = '\t'; + BLOCK_SIZE(s->aux_oz_blk) = (uc *)tmp - + BLOCK_DATA(s->aux_oz_blk); + } + break; + + case 'B': { + int type = aux[3], blen; + uint32_t count = (uint32_t)((((unsigned char *)aux)[4]<< 0) + + (((unsigned char *)aux)[5]<< 8) + + (((unsigned char *)aux)[6]<<16) + + (((unsigned char *)aux)[7]<<24)); + // skip TN field + aux+=3; + + // We use BYTE_ARRAY_LEN with external length, so store that first + switch (type) { + case 'c': case 'C': + blen = count; + break; + case 's': case 'S': + blen = 2*count; + break; + case 'i': case 'I': case 'f': + blen = 4*count; + break; + default: + fprintf(stderr, "Unknown sub-type '%c' for aux type 'B'\n", + type); + return NULL; + + } + + blen += 5; // sub-type & length + tmp += itf8_put(tmp, blen); + + // The tag data itself + memcpy(tmp, aux, blen); tmp += blen; aux += blen; + + //cram_stats_add(c->aux_B_stats, blen); + break; + } + default: + fprintf(stderr, "Unknown aux type '%c'\n", aux[2]); + return NULL; + } + } + + // FIXME: sort BLOCK_DATA(td_b) by char[3] triples + + // And and increment TD hash entry + BLOCK_APPEND_CHAR(td_b, 0); + + // Duplicate key as BLOCK_DATA() can be realloced to a new pointer. + key = string_ndup(c->comp_hdr->TD_keys, + (char *)BLOCK_DATA(td_b) + TD_blk_size, + BLOCK_SIZE(td_b) - TD_blk_size); + k = kh_put(m_s2i, c->comp_hdr->TD_hash, key, &new); + if (new < 0) { + return NULL; + } else if (new == 0) { + BLOCK_SIZE(td_b) = TD_blk_size; + } else { + kh_val(c->comp_hdr->TD_hash, k) = c->comp_hdr->nTL; + c->comp_hdr->nTL++; + } + + cr->TL = kh_val(c->comp_hdr->TD_hash, k); + cram_stats_add(c->stats[DS_TL], cr->TL); + + cr->aux = BLOCK_SIZE(s->aux_blk); + cr->aux_size = (uc *)tmp - (BLOCK_DATA(s->aux_blk) + cr->aux); + BLOCK_SIZE(s->aux_blk) = (uc *)tmp - BLOCK_DATA(s->aux_blk); + assert(s->aux_blk->byte <= s->aux_blk->alloc); + + return rg; +} + + +/* + * Handles creation of a new container or new slice, flushing any + * existing containers when appropriate. + * + * Really this is next slice, which may or may not lead to a new container. + * + * Returns cram_container pointer on success + * NULL on failure. + */ +static cram_container *cram_next_container(cram_fd *fd, bam_seq_t *b) { + cram_container *c = fd->ctr; + cram_slice *s; + int i; + + /* First occurence */ + if (c->curr_ref == -2) + c->curr_ref = bam_ref(b); + + if (c->slice) { + s = c->slice; + if (c->multi_seq) { + s->hdr->ref_seq_id = -2; + s->hdr->ref_seq_start = 0; + s->hdr->ref_seq_span = 0; + } else { + s->hdr->ref_seq_id = c->curr_ref; + s->hdr->ref_seq_start = c->first_base; + s->hdr->ref_seq_span = c->last_base - c->first_base + 1; + } + s->hdr->num_records = c->curr_rec; + + if (c->curr_slice == 0) { + if (c->ref_seq_id != s->hdr->ref_seq_id) + c->ref_seq_id = s->hdr->ref_seq_id; + c->ref_seq_start = c->first_base; + } + + c->curr_slice++; + } + + /* Flush container */ + if (c->curr_slice == c->max_slice || + (bam_ref(b) != c->curr_ref && !c->multi_seq)) { + c->ref_seq_span = fd->last_base - c->ref_seq_start + 1; + if (fd->verbose) + fprintf(stderr, "Flush container %d/%d..%d\n", + c->ref_seq_id, c->ref_seq_start, + c->ref_seq_start + c->ref_seq_span -1); + + /* Encode slices */ + if (fd->pool) { + if (-1 == cram_flush_container_mt(fd, c)) + return NULL; + } else { + if (-1 == cram_flush_container(fd, c)) + return NULL; + + // Move to sep func, as we need cram_flush_container for + // the closing phase to flush the partial container. + for (i = 0; i < c->max_slice; i++) { + cram_free_slice(c->slices[i]); + c->slices[i] = NULL; + } + + c->slice = NULL; + c->curr_slice = 0; + + /* Easy approach for purposes of freeing stats */ + cram_free_container(c); + } + + c = fd->ctr = cram_new_container(fd->seqs_per_slice, + fd->slices_per_container); + if (!c) + return NULL; + c->record_counter = fd->record_counter; + c->curr_ref = bam_ref(b); + } + + c->last_pos = c->first_base = c->last_base = bam_pos(b)+1; + + /* New slice */ + c->slice = c->slices[c->curr_slice] = + cram_new_slice(MAPPED_SLICE, c->max_rec); + if (!c->slice) + return NULL; + + if (c->multi_seq) { + c->slice->hdr->ref_seq_id = -2; + c->slice->hdr->ref_seq_start = 0; + c->slice->last_apos = 1; + } else { + c->slice->hdr->ref_seq_id = bam_ref(b); + // wrong for unsorted data, will fix during encoding. + c->slice->hdr->ref_seq_start = bam_pos(b)+1; + c->slice->last_apos = bam_pos(b)+1; + } + + c->curr_rec = 0; + + return c; +} + +/* + * Converts a single bam record into a cram record. + * Possibly used within a thread. + * + * Returns 0 on success; + * -1 on failure + */ +static int process_one_read(cram_fd *fd, cram_container *c, + cram_slice *s, cram_record *cr, + bam_seq_t *b, int rnum) { + int i, fake_qual = -1; + char *cp, *rg; + char *ref, *seq, *qual; + + // FIXME: multi-ref containers + + ref = c->ref; + cr->len = bam_seq_len(b); cram_stats_add(c->stats[DS_RL], cr->len); + + //fprintf(stderr, "%s => %d\n", rg ? rg : "\"\"", cr->rg); + + // Fields to resolve later + //cr->mate_line; // index to another cram_record + //cr->mate_flags; // MF + //cr->ntags; // TC + cr->ntags = 0; //cram_stats_add(c->stats[DS_TC], cr->ntags); + if (CRAM_MAJOR_VERS(fd->version) == 1) + rg = cram_encode_aux_1_0(fd, b, c, s, cr); + else + rg = cram_encode_aux(fd, b, c, s, cr); + + //cr->aux_size = b->blk_size - ((char *)bam_aux(b) - (char *)&bam_ref(b)); + //cr->aux = DSTRING_LEN(s->aux_ds); + //dstring_nappend(s->aux_ds, bam_aux(b), cr->aux_size); + + /* Read group, identified earlier */ + if (rg) { + SAM_RG *brg = sam_hdr_find_rg(fd->header, rg); + cr->rg = brg ? brg->id : -1; + } else if (CRAM_MAJOR_VERS(fd->version) == 1) { + SAM_RG *brg = sam_hdr_find_rg(fd->header, "UNKNOWN"); + assert(brg); + } else { + cr->rg = -1; + } + cram_stats_add(c->stats[DS_RG], cr->rg); + + + cr->ref_id = bam_ref(b); cram_stats_add(c->stats[DS_RI], cr->ref_id); + cr->flags = bam_flag(b); + if (bam_cigar_len(b) == 0) + cr->flags |= BAM_FUNMAP; + cram_stats_add(c->stats[DS_BF], fd->cram_flag_swap[cr->flags & 0xfff]); + + // Non reference based encoding means storing the bases verbatim as features, which in + // turn means every base also has a quality already stored. + if (!fd->no_ref || CRAM_MAJOR_VERS(fd->version) >= 3) + cr->cram_flags = CRAM_FLAG_PRESERVE_QUAL_SCORES; + else + cr->cram_flags = 0; + //cram_stats_add(c->stats[DS_CF], cr->cram_flags); + + c->num_bases += cr->len; + cr->apos = bam_pos(b)+1; + if (c->pos_sorted) { + if (cr->apos < s->last_apos) { + c->pos_sorted = 0; + } else { + cram_stats_add(c->stats[DS_AP], cr->apos - s->last_apos); + s->last_apos = cr->apos; + } + } else { + //cram_stats_add(c->stats[DS_AP], cr->apos); + } + c->max_apos += (cr->apos > c->max_apos) * (cr->apos - c->max_apos); + + cr->name = BLOCK_SIZE(s->name_blk); + cr->name_len = bam_name_len(b); + cram_stats_add(c->stats[DS_RN], cr->name_len); + + BLOCK_APPEND(s->name_blk, bam_name(b), bam_name_len(b)); + + + /* + * This seqs_ds is largely pointless and it could reuse the same memory + * over and over. + * s->base_blk is what we need for encoding. + */ + cr->seq = BLOCK_SIZE(s->seqs_blk); + cr->qual = BLOCK_SIZE(s->qual_blk); + BLOCK_GROW(s->seqs_blk, cr->len+1); + BLOCK_GROW(s->qual_blk, cr->len); + seq = cp = (char *)BLOCK_END(s->seqs_blk); + + *seq = 0; +#ifdef ALLOW_UAC + { + // Convert seq 2 bases at a time for speed. + static const uint16_t code2base[256] = { + 15677, 16701, 17213, 19773, 18237, 21053, 21309, 22077, + 21565, 22333, 22845, 18493, 19261, 17469, 16957, 20029, + 15681, 16705, 17217, 19777, 18241, 21057, 21313, 22081, + 21569, 22337, 22849, 18497, 19265, 17473, 16961, 20033, + 15683, 16707, 17219, 19779, 18243, 21059, 21315, 22083, + 21571, 22339, 22851, 18499, 19267, 17475, 16963, 20035, + 15693, 16717, 17229, 19789, 18253, 21069, 21325, 22093, + 21581, 22349, 22861, 18509, 19277, 17485, 16973, 20045, + 15687, 16711, 17223, 19783, 18247, 21063, 21319, 22087, + 21575, 22343, 22855, 18503, 19271, 17479, 16967, 20039, + 15698, 16722, 17234, 19794, 18258, 21074, 21330, 22098, + 21586, 22354, 22866, 18514, 19282, 17490, 16978, 20050, + 15699, 16723, 17235, 19795, 18259, 21075, 21331, 22099, + 21587, 22355, 22867, 18515, 19283, 17491, 16979, 20051, + 15702, 16726, 17238, 19798, 18262, 21078, 21334, 22102, + 21590, 22358, 22870, 18518, 19286, 17494, 16982, 20054, + 15700, 16724, 17236, 19796, 18260, 21076, 21332, 22100, + 21588, 22356, 22868, 18516, 19284, 17492, 16980, 20052, + 15703, 16727, 17239, 19799, 18263, 21079, 21335, 22103, + 21591, 22359, 22871, 18519, 19287, 17495, 16983, 20055, + 15705, 16729, 17241, 19801, 18265, 21081, 21337, 22105, + 21593, 22361, 22873, 18521, 19289, 17497, 16985, 20057, + 15688, 16712, 17224, 19784, 18248, 21064, 21320, 22088, + 21576, 22344, 22856, 18504, 19272, 17480, 16968, 20040, + 15691, 16715, 17227, 19787, 18251, 21067, 21323, 22091, + 21579, 22347, 22859, 18507, 19275, 17483, 16971, 20043, + 15684, 16708, 17220, 19780, 18244, 21060, 21316, 22084, + 21572, 22340, 22852, 18500, 19268, 17476, 16964, 20036, + 15682, 16706, 17218, 19778, 18242, 21058, 21314, 22082, + 21570, 22338, 22850, 18498, 19266, 17474, 16962, 20034, + 15694, 16718, 17230, 19790, 18254, 21070, 21326, 22094, + 21582, 22350, 22862, 18510, 19278, 17486, 16974, 20046 + }; + + int l2 = cr->len / 2; + unsigned char *from = (unsigned char *)bam_seq(b); + uint16_t *cpi = (uint16_t *)cp; + cp[0] = 0; + for (i = 0; i < l2; i++) + cpi[i] = le_int2(code2base[from[i]]); + if ((i *= 2) < cr->len) + cp[i] = seq_nt16_str[bam_seqi(bam_seq(b), i)]; + } +#else + for (i = 0; i < cr->len; i++) + cp[i] = seq_nt16_str[bam_seqi(bam_seq(b), i)]; +#endif + BLOCK_SIZE(s->seqs_blk) += cr->len; + + qual = cp = (char *)bam_qual(b); + + /* Copy and parse */ + if (!(cr->flags & BAM_FUNMAP)) { + int32_t *cig_to, *cig_from; + int apos = cr->apos-1, spos = 0; + + cr->cigar = s->ncigar; + cr->ncigar = bam_cigar_len(b); + while (cr->cigar + cr->ncigar >= s->cigar_alloc) { + s->cigar_alloc = s->cigar_alloc ? s->cigar_alloc*2 : 1024; + s->cigar = realloc(s->cigar, s->cigar_alloc * sizeof(*s->cigar)); + if (!s->cigar) + return -1; + } + + cig_to = (int32_t *)s->cigar; + cig_from = (int32_t *)bam_cigar(b); + + cr->feature = 0; + cr->nfeature = 0; + for (i = 0; i < cr->ncigar; i++) { + enum cigar_op cig_op = cig_from[i] & BAM_CIGAR_MASK; + int cig_len = cig_from[i] >> BAM_CIGAR_SHIFT; + cig_to[i] = cig_from[i]; + + /* Can also generate events from here for CRAM diffs */ + + switch (cig_op) { + int l; + + // Don't trust = and X ops to be correct. + case BAM_CMATCH: + case BAM_CBASE_MATCH: + case BAM_CBASE_MISMATCH: + //fprintf(stderr, "\nBAM_CMATCH\nR: %.*s\nS: %.*s\n", + // cig_len, &ref[apos], cig_len, &seq[spos]); + l = 0; + if (!fd->no_ref && cr->len) { + int end = cig_len+apos < c->ref_end + ? cig_len : c->ref_end - apos; + char *sp = &seq[spos]; + char *rp = &ref[apos]; + char *qp = &qual[spos]; + for (l = 0; l < end; l++) { + if (rp[l] != sp[l]) { + if (!sp[l]) + break; + if (0 && CRAM_MAJOR_VERS(fd->version) >= 3) { + // Disabled for the time being as it doesn't + // seem to gain us much. + int ol=l; + while (l 1) { + if (cram_add_bases(fd, c, s, cr, spos+ol, + l-ol, &seq[spos+ol])) + return -1; + l--; + } else { + l = ol; + if (cram_add_substitution(fd, c, s, cr, + spos+l, sp[l], + qp[l], rp[l])) + return -1; + } + } else { + if (cram_add_substitution(fd, c, s, cr, spos+l, + sp[l], qp[l], rp[l])) + return -1; + } + } + } + spos += l; + apos += l; + } + + if (l < cig_len && cr->len) { + if (fd->no_ref) { + if (CRAM_MAJOR_VERS(fd->version) == 3) { + if (cram_add_bases(fd, c, s, cr, spos, + cig_len-l, &seq[spos])) + return -1; + spos += cig_len-l; + } else { + for (; l < cig_len && seq[spos]; l++, spos++) { + if (cram_add_base(fd, c, s, cr, spos, + seq[spos], qual[spos])) + return -1; + } + } + } else { + /* off end of sequence or non-ref based output */ + for (; l < cig_len && seq[spos]; l++, spos++) { + if (cram_add_base(fd, c, s, cr, spos, + seq[spos], qual[spos])) + return -1; + } + } + apos += cig_len; + } else if (!cr->len) { + /* Seq "*" */ + apos += cig_len; + spos += cig_len; + } + break; + + case BAM_CDEL: + if (cram_add_deletion(c, s, cr, spos, cig_len, &seq[spos])) + return -1; + apos += cig_len; + break; + + case BAM_CREF_SKIP: + if (cram_add_skip(c, s, cr, spos, cig_len, &seq[spos])) + return -1; + apos += cig_len; + break; + + case BAM_CINS: + if (cram_add_insertion(c, s, cr, spos, cig_len, + cr->len ? &seq[spos] : NULL)) + return -1; + if (fd->no_ref && cr->len) { + for (l = 0; l < cig_len; l++, spos++) { + cram_add_quality(fd, c, s, cr, spos, qual[spos]); + } + } else { + spos += cig_len; + } + break; + + case BAM_CSOFT_CLIP: + if (cram_add_softclip(c, s, cr, spos, cig_len, + cr->len ? &seq[spos] : NULL, + fd->version)) + return -1; + if (fd->no_ref && + !(cr->cram_flags & CRAM_FLAG_PRESERVE_QUAL_SCORES)) { + if (cr->len) { + for (l = 0; l < cig_len; l++, spos++) { + cram_add_quality(fd, c, s, cr, spos, qual[spos]); + } + } else { + for (l = 0; l < cig_len; l++, spos++) { + cram_add_quality(fd, c, s, cr, spos, -1); + } + } + } else { + spos += cig_len; + } + break; + + case BAM_CHARD_CLIP: + if (cram_add_hardclip(c, s, cr, spos, cig_len, &seq[spos])) + return -1; + break; + + case BAM_CPAD: + if (cram_add_pad(c, s, cr, spos, cig_len, &seq[spos])) + return -1; + break; + } + } + fake_qual = spos; + cr->aend = MIN(apos, c->ref_end); + cram_stats_add(c->stats[DS_FN], cr->nfeature); + } else { + // Unmapped + cr->cram_flags |= CRAM_FLAG_PRESERVE_QUAL_SCORES; + cr->cigar = 0; + cr->ncigar = 0; + cr->nfeature = 0; + cr->aend = cr->apos; + for (i = 0; i < cr->len; i++) + cram_stats_add(c->stats[DS_BA], seq[i]); + } + + /* + * Append to the qual block now. We do this here as + * cram_add_substitution() can generate BA/QS events which need to + * be in the qual block before we append the rest of the data. + */ + if (cr->cram_flags & CRAM_FLAG_PRESERVE_QUAL_SCORES) { + /* Special case of seq "*" */ + if (cr->len == 0) { + cram_stats_add(c->stats[DS_RL], cr->len = fake_qual); + BLOCK_GROW(s->qual_blk, cr->len); + cp = (char *)BLOCK_END(s->qual_blk); + memset(cp, 255, cr->len); + } else { + BLOCK_GROW(s->qual_blk, cr->len); + cp = (char *)BLOCK_END(s->qual_blk); + char *from = (char *)&bam_qual(b)[0]; + char *to = &cp[0]; + memcpy(to, from, cr->len); + //for (i = 0; i < cr->len; i++) cp[i] = from[i]; + } + BLOCK_SIZE(s->qual_blk) += cr->len; + } else { + if (cr->len == 0) { + cr->len = fake_qual >= 0 ? fake_qual : cr->aend - cr->apos + 1; + cram_stats_add(c->stats[DS_RL], cr->len); + } + } + + /* Now we know apos and aend both, update mate-pair information */ + { + int new; + khint_t k; + int sec = (cr->flags & BAM_FSECONDARY) ? 1 : 0; + + //fprintf(stderr, "Checking %"PRId64"/%.*s\t", rnum, + // cr->name_len, DSTRING_STR(s->name_ds)+cr->name); + if (cr->flags & BAM_FPAIRED) { + char *key = string_ndup(s->pair_keys, + (char *)BLOCK_DATA(s->name_blk)+cr->name, + cr->name_len); + if (!key) + return -1; + + k = kh_put(m_s2i, s->pair[sec], key, &new); + if (-1 == new) + return -1; + else if (new > 0) + kh_val(s->pair[sec], k) = rnum; + } else { + new = 1; + } + + if (new == 0) { + cram_record *p = &s->crecs[kh_val(s->pair[sec], k)]; + int aleft, aright, sign; + + aleft = MIN(cr->apos, p->apos); + aright = MAX(cr->aend, p->aend); + if (cr->apos < p->apos) { + sign = 1; + } else if (cr->apos > p->apos) { + sign = -1; + } else if (cr->flags & BAM_FREAD1) { + sign = 1; + } else { + sign = -1; + } + + //fprintf(stderr, "paired %"PRId64"\n", kh_val(s->pair[sec], k)); + + // This vs p: tlen, matepos, flags + if (bam_ins_size(b) != sign*(aright-aleft+1)) + goto detached; + + if (MAX(bam_mate_pos(b)+1, 0) != p->apos) + goto detached; + + if (((bam_flag(b) & BAM_FMUNMAP) != 0) != + ((p->flags & BAM_FUNMAP) != 0)) + goto detached; + + if (((bam_flag(b) & BAM_FMREVERSE) != 0) != + ((p->flags & BAM_FREVERSE) != 0)) + goto detached; + + + // p vs this: tlen, matepos, flags + if (p->tlen != -sign*(aright-aleft+1)) + goto detached; + + if (p->mate_pos != cr->apos) + goto detached; + + if (((p->flags & BAM_FMUNMAP) != 0) != + ((p->mate_flags & CRAM_M_UNMAP) != 0)) + goto detached; + + if (((p->flags & BAM_FMREVERSE) != 0) != + ((p->mate_flags & CRAM_M_REVERSE) != 0)) + goto detached; + + // Supplementary reads are just too ill defined + if ((cr->flags & BAM_FSUPPLEMENTARY) || + (p->flags & BAM_FSUPPLEMENTARY)) + goto detached; + + /* + * The fields below are unused when encoding this read as it is + * no longer detached. In theory they may get referred to when + * processing a 3rd or 4th read in this template?, so we set them + * here just to be sure. + * + * They do not need cram_stats_add() calls those as they are + * not emitted. + */ + cr->mate_pos = p->apos; + cr->tlen = sign*(aright-aleft+1); + cr->mate_flags = + ((p->flags & BAM_FMUNMAP) == BAM_FMUNMAP) * CRAM_M_UNMAP + + ((p->flags & BAM_FMREVERSE) == BAM_FMREVERSE) * CRAM_M_REVERSE; + + // Decrement statistics aggregated earlier + cram_stats_del(c->stats[DS_NP], p->mate_pos); + cram_stats_del(c->stats[DS_MF], p->mate_flags); + cram_stats_del(c->stats[DS_TS], p->tlen); + cram_stats_del(c->stats[DS_NS], p->mate_ref_id); + + /* Similarly we could correct the p-> values too, but these will no + * longer have any code that refers back to them as the new 'p' + * for this template is our current 'cr'. + */ + //p->mate_pos = cr->apos; + //p->mate_flags = + // ((cr->flags & BAM_FMUNMAP) == BAM_FMUNMAP) * CRAM_M_UNMAP + + // ((cr->flags & BAM_FMREVERSE) == BAM_FMREVERSE)* CRAM_M_REVERSE; + //p->tlen = p->apos - cr->aend; + + // Clear detached from cr flags + cr->cram_flags &= ~CRAM_FLAG_DETACHED; + cram_stats_add(c->stats[DS_CF], cr->cram_flags); + + // Clear detached from p flags and set downstream + cram_stats_del(c->stats[DS_CF], p->cram_flags); + p->cram_flags &= ~CRAM_FLAG_DETACHED; + p->cram_flags |= CRAM_FLAG_MATE_DOWNSTREAM; + cram_stats_add(c->stats[DS_CF], p->cram_flags); + + p->mate_line = rnum - (kh_val(s->pair[sec], k) + 1); + cram_stats_add(c->stats[DS_NF], p->mate_line); + + kh_val(s->pair[sec], k) = rnum; + } else { + detached: + //fprintf(stderr, "unpaired\n"); + + /* Derive mate flags from this flag */ + cr->mate_flags = 0; + if (bam_flag(b) & BAM_FMUNMAP) + cr->mate_flags |= CRAM_M_UNMAP; + if (bam_flag(b) & BAM_FMREVERSE) + cr->mate_flags |= CRAM_M_REVERSE; + + cram_stats_add(c->stats[DS_MF], cr->mate_flags); + + cr->mate_pos = MAX(bam_mate_pos(b)+1, 0); + cram_stats_add(c->stats[DS_NP], cr->mate_pos); + + cr->tlen = bam_ins_size(b); + cram_stats_add(c->stats[DS_TS], cr->tlen); + + cr->cram_flags |= CRAM_FLAG_DETACHED; + cram_stats_add(c->stats[DS_CF], cr->cram_flags); + cram_stats_add(c->stats[DS_NS], bam_mate_ref(b)); + } + } + + cr->mqual = bam_map_qual(b); + cram_stats_add(c->stats[DS_MQ], cr->mqual); + + cr->mate_ref_id = bam_mate_ref(b); + + if (!(bam_flag(b) & BAM_FUNMAP)) { + if (c->first_base > cr->apos) + c->first_base = cr->apos; + + if (c->last_base < cr->aend) + c->last_base = cr->aend; + } + + return 0; +} + +/* + * Write iterator: put BAM format sequences into a CRAM file. + * We buffer up a containers worth of data at a time. + * + * Returns 0 on success + * -1 on failure + */ +int cram_put_bam_seq(cram_fd *fd, bam_seq_t *b) { + cram_container *c; + + if (!fd->ctr) { + fd->ctr = cram_new_container(fd->seqs_per_slice, + fd->slices_per_container); + if (!fd->ctr) + return -1; + fd->ctr->record_counter = fd->record_counter; + } + c = fd->ctr; + + if (!c->slice || c->curr_rec == c->max_rec || + (bam_ref(b) != c->curr_ref && c->curr_ref >= -1)) { + int slice_rec, curr_rec, multi_seq = fd->multi_seq == 1; + int curr_ref = c->slice ? c->curr_ref : bam_ref(b); + + + /* + * Start packing slices when we routinely have under 1/4tr full. + * + * This option isn't available if we choose to embed references + * since we can only have one per slice. + */ + if (fd->multi_seq == -1 && c->curr_rec < c->max_rec/4+10 && + fd->last_slice && fd->last_slice < c->max_rec/4+10 && + !fd->embed_ref) { + if (fd->verbose && !c->multi_seq) + fprintf(stderr, "Multi-ref enabled for this container\n"); + multi_seq = 1; + } + + slice_rec = c->slice_rec; + curr_rec = c->curr_rec; + + if (CRAM_MAJOR_VERS(fd->version) == 1 || + c->curr_rec == c->max_rec || fd->multi_seq != 1 || !c->slice) { + if (NULL == (c = cram_next_container(fd, b))) { + if (fd->ctr) { + // prevent cram_close attempting to flush + cram_free_container(fd->ctr); + fd->ctr = NULL; + } + return -1; + } + } + + /* + * Due to our processing order, some things we've already done we + * cannot easily undo. So when we first notice we should be packing + * multiple sequences per container we emit the small partial + * container as-is and then start a fresh one in a different mode. + */ + if (multi_seq) { + fd->multi_seq = 1; + c->multi_seq = 1; + c->pos_sorted = 0; // required atm for multi_seq slices + + if (!c->refs_used) { + pthread_mutex_lock(&fd->ref_lock); + c->refs_used = calloc(fd->refs->nref, sizeof(int)); + pthread_mutex_unlock(&fd->ref_lock); + if (!c->refs_used) + return -1; + } + } + + fd->last_slice = curr_rec - slice_rec; + c->slice_rec = c->curr_rec; + + // Have we seen this reference before? + if (bam_ref(b) >= 0 && bam_ref(b) != curr_ref && !fd->embed_ref && + !fd->unsorted && multi_seq) { + + if (!c->refs_used) { + pthread_mutex_lock(&fd->ref_lock); + c->refs_used = calloc(fd->refs->nref, sizeof(int)); + pthread_mutex_unlock(&fd->ref_lock); + if (!c->refs_used) + return -1; + } else if (c->refs_used && c->refs_used[bam_ref(b)]) { + fprintf(stderr, "Unsorted mode enabled\n"); + pthread_mutex_lock(&fd->ref_lock); + fd->unsorted = 1; + pthread_mutex_unlock(&fd->ref_lock); + fd->multi_seq = 1; + } + } + + c->curr_ref = bam_ref(b); + if (c->refs_used && c->curr_ref >= 0) c->refs_used[c->curr_ref]++; + } + + if (!c->bams) { + /* First time through, allocate a set of bam pointers */ + pthread_mutex_lock(&fd->bam_list_lock); + if (fd->bl) { + spare_bams *spare = fd->bl; + c->bams = spare->bams; + fd->bl = spare->next; + free(spare); + } else { + c->bams = calloc(c->max_c_rec, sizeof(bam_seq_t *)); + if (!c->bams) + return -1; + } + pthread_mutex_unlock(&fd->bam_list_lock); + } + + /* Copy or alloc+copy the bam record, for later encoding */ + if (c->bams[c->curr_c_rec]) + bam_copy1(c->bams[c->curr_c_rec], b); + else + c->bams[c->curr_c_rec] = bam_dup(b); + + c->curr_rec++; + c->curr_c_rec++; + fd->record_counter++; + + return 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_encode.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_encode.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,105 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! \file + * Include cram.h instead. + * + * This is an internal part of the CRAM system and is automatically included + * when you #include cram.h. + * + * Implements the encoding portion of CRAM I/O. Also see + * cram_codecs.[ch] for the actual encoding functions themselves. + */ + +#ifndef _CRAM_WRITE_H_ +#define _CRAM_WRITE_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* ---------------------------------------------------------------------- + * CRAM sequence iterators. + */ + +/*! Write iterator: put BAM format sequences into a CRAM file. + * + * We buffer up a containers worth of data at a time. + * + * FIXME: break this into smaller pieces. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_put_bam_seq(cram_fd *fd, bam_seq_t *b); + + +/* ---------------------------------------------------------------------- + * Internal functions + */ + +/*! INTERNAL: + * Encodes a compression header block into a generic cram_block structure. + * + * @return + * Returns cram_block ptr on success; + * NULL on failure + */ +cram_block *cram_encode_compression_header(cram_fd *fd, cram_container *c, + cram_block_compression_hdr *h); + +/*! INTERNAL: + * Encodes a slice compression header. + * + * @return + * Returns cram_block on success; + * NULL on failure + */ +cram_block *cram_encode_slice_header(cram_fd *fd, cram_slice *s); + +/*! INTERNAL: + * Encodes all slices in a container into blocks. + * + * @return + * Returns 0 on success; + * -1 on failure + * + * FIXME: separate into encode_container and write_container. Ideally + * we should be able to do read_container / write_container or + * decode_container / encode_container. + */ +int cram_encode_container(cram_fd *fd, cram_container *c); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_index.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_index.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,557 @@ +/* +Copyright (c) 2013-2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * The index is a gzipped tab-delimited text file with one line per slice. + * The columns are: + * 1: reference number (0 to N-1, as per BAM ref_id) + * 2: reference position of 1st read in slice (1..?) + * 3: number of reads in slice + * 4: offset of container start (relative to end of SAM header, so 1st + * container is offset 0). + * 5: slice number within container (ie which landmark). + * + * In memory, we hold this in a nested containment list. Each list element is + * a cram_index struct. Each element in turn can contain its own list of + * cram_index structs. + * + * Any start..end range which is entirely contained within another (and + * earlier as it is sorted) range will be held within it. This ensures that + * the outer list will never have containments and we can safely do a + * binary search to find the first range which overlaps any given coordinate. + */ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "htslib/hfile.h" +#include "cram/cram.h" +#include "cram/os.h" +#include "cram/zfio.h" + +#if 0 +static void dump_index_(cram_index *e, int level) { + int i, n; + n = printf("%*s%d / %d .. %d, ", level*4, "", e->refid, e->start, e->end); + printf("%*soffset %"PRId64"\n", MAX(0,50-n), "", e->offset); + for (i = 0; i < e->nslice; i++) { + dump_index_(&e->e[i], level+1); + } +} + +static void dump_index(cram_fd *fd) { + int i; + for (i = 0; i < fd->index_sz; i++) { + dump_index_(&fd->index[i], 0); + } +} +#endif + +static int kget_int32(kstring_t *k, size_t *pos, int32_t *val_p) { + int sign = 1; + int32_t val = 0; + size_t p = *pos; + + while (p < k->l && (k->s[p] == ' ' || k->s[p] == '\t')) + p++; + + if (p < k->l && k->s[p] == '-') + sign = -1, p++; + + if (p >= k->l || !(k->s[p] >= '0' && k->s[p] <= '9')) + return -1; + + while (p < k->l && k->s[p] >= '0' && k->s[p] <= '9') + val = val*10 + k->s[p++]-'0'; + + *pos = p; + *val_p = sign*val; + + return 0; +} + +static int kget_int64(kstring_t *k, size_t *pos, int64_t *val_p) { + int sign = 1; + int64_t val = 0; + size_t p = *pos; + + while (p < k->l && (k->s[p] == ' ' || k->s[p] == '\t')) + p++; + + if (p < k->l && k->s[p] == '-') + sign = -1, p++; + + if (p >= k->l || !(k->s[p] >= '0' && k->s[p] <= '9')) + return -1; + + while (p < k->l && k->s[p] >= '0' && k->s[p] <= '9') + val = val*10 + k->s[p++]-'0'; + + *pos = p; + *val_p = sign*val; + + return 0; +} + +/* + * Loads a CRAM .crai index into memory. + * + * Returns 0 for success + * -1 for failure + */ +int cram_index_load(cram_fd *fd, const char *fn) { + char fn2[PATH_MAX]; + char buf[65536]; + ssize_t len; + kstring_t kstr = {0}; + hFILE *fp; + cram_index *idx; + cram_index **idx_stack = NULL, *ep, e; + int idx_stack_alloc = 0, idx_stack_ptr = 0; + size_t pos = 0; + + /* Check if already loaded */ + if (fd->index) + return 0; + + fd->index = calloc((fd->index_sz = 1), sizeof(*fd->index)); + if (!fd->index) + return -1; + + idx = &fd->index[0]; + idx->refid = -1; + idx->start = INT_MIN; + idx->end = INT_MAX; + + idx_stack = calloc(++idx_stack_alloc, sizeof(*idx_stack)); + idx_stack[idx_stack_ptr] = idx; + + sprintf(fn2, "%s.crai", fn); + if (!(fp = hopen(fn2, "r"))) { + perror(fn2); + free(idx_stack); + return -1; + } + + // Load the file into memory + while ((len = hread(fp, buf, 65536)) > 0) + kputsn(buf, len, &kstr); + if (len < 0 || kstr.l < 2) { + if (kstr.s) + free(kstr.s); + free(idx_stack); + return -1; + } + + if (hclose(fp)) { + if (kstr.s) + free(kstr.s); + free(idx_stack); + return -1; + } + + + // Uncompress if required + if (kstr.s[0] == 31 && (uc)kstr.s[1] == 139) { + size_t l; + char *s = zlib_mem_inflate(kstr.s, kstr.l, &l); + free(kstr.s); + if (!s) { + free(idx_stack); + return -1; + } + kstr.s = s; + kstr.l = l; + kstr.m = l; // conservative estimate of the size allocated + kputsn("", 0, &kstr); // ensure kstr.s is NUL-terminated + } + + + // Parse it line at a time + do { + /* 1.1 layout */ + if (kget_int32(&kstr, &pos, &e.refid) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + if (kget_int32(&kstr, &pos, &e.start) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + if (kget_int32(&kstr, &pos, &e.end) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + if (kget_int64(&kstr, &pos, &e.offset) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + if (kget_int32(&kstr, &pos, &e.slice) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + if (kget_int32(&kstr, &pos, &e.len) == -1) { + free(kstr.s); free(idx_stack); return -1; + } + + e.end += e.start-1; + //printf("%d/%d..%d\n", e.refid, e.start, e.end); + + if (e.refid < -1) { + free(kstr.s); + free(idx_stack); + fprintf(stderr, "Malformed index file, refid %d\n", e.refid); + return -1; + } + + if (e.refid != idx->refid) { + if (fd->index_sz < e.refid+2) { + size_t index_end = fd->index_sz * sizeof(*fd->index); + fd->index_sz = e.refid+2; + fd->index = realloc(fd->index, + fd->index_sz * sizeof(*fd->index)); + memset(((char *)fd->index) + index_end, 0, + fd->index_sz * sizeof(*fd->index) - index_end); + } + idx = &fd->index[e.refid+1]; + idx->refid = e.refid; + idx->start = INT_MIN; + idx->end = INT_MAX; + idx->nslice = idx->nalloc = 0; + idx->e = NULL; + idx_stack[(idx_stack_ptr = 0)] = idx; + } + + while (!(e.start >= idx->start && e.end <= idx->end)) { + idx = idx_stack[--idx_stack_ptr]; + } + + // Now contains, so append + if (idx->nslice+1 >= idx->nalloc) { + idx->nalloc = idx->nalloc ? idx->nalloc*2 : 16; + idx->e = realloc(idx->e, idx->nalloc * sizeof(*idx->e)); + } + + e.nalloc = e.nslice = 0; e.e = NULL; + *(ep = &idx->e[idx->nslice++]) = e; + idx = ep; + + if (++idx_stack_ptr >= idx_stack_alloc) { + idx_stack_alloc *= 2; + idx_stack = realloc(idx_stack, idx_stack_alloc*sizeof(*idx_stack)); + } + idx_stack[idx_stack_ptr] = idx; + + while (pos < kstr.l && kstr.s[pos] != '\n') + pos++; + pos++; + } while (pos < kstr.l); + + free(idx_stack); + free(kstr.s); + + // dump_index(fd); + + return 0; +} + +static void cram_index_free_recurse(cram_index *e) { + if (e->e) { + int i; + for (i = 0; i < e->nslice; i++) { + cram_index_free_recurse(&e->e[i]); + } + free(e->e); + } +} + +void cram_index_free(cram_fd *fd) { + int i; + + if (!fd->index) + return; + + for (i = 0; i < fd->index_sz; i++) { + cram_index_free_recurse(&fd->index[i]); + } + free(fd->index); + + fd->index = NULL; +} + +/* + * Searches the index for the first slice overlapping a reference ID + * and position, or one immediately preceding it if none is found in + * the index to overlap this position. (Our index may have missing + * entries, but we require at least one per reference.) + * + * If the index finds multiple slices overlapping this position we + * return the first one only. Subsequent calls should specifying + * "from" as the last slice we checked to find the next one. Otherwise + * set "from" to be NULL to find the first one. + * + * Returns the cram_index pointer on sucess + * NULL on failure + */ +cram_index *cram_index_query(cram_fd *fd, int refid, int pos, + cram_index *from) { + int i, j, k; + cram_index *e; + + if (refid+1 < 0 || refid+1 >= fd->index_sz) + return NULL; + + i = 0, j = fd->index[refid+1].nslice-1; + + if (!from) + from = &fd->index[refid+1]; + + for (k = j/2; k != i; k = (j-i)/2 + i) { + if (from->e[k].refid > refid) { + j = k; + continue; + } + + if (from->e[k].refid < refid) { + i = k; + continue; + } + + if (from->e[k].start >= pos) { + j = k; + continue; + } + + if (from->e[k].start < pos) { + i = k; + continue; + } + } + // i==j or i==j-1. Check if j is better. + if (from->e[j].start < pos && from->e[j].refid == refid) + i = j; + + /* The above found *a* bin overlapping, but not necessarily the first */ + while (i > 0 && from->e[i-1].end >= pos) + i--; + + /* Special case for matching a start pos */ + if (i+1 < from->nslice && + from->e[i+1].start == pos && + from->e[i+1].refid == refid) + i++; + + e = &from->e[i]; + + return e; +} + + +/* + * Skips to a container overlapping the start coordinate listed in + * cram_range. + * + * In theory we call cram_index_query multiple times, once per slice + * overlapping the range. However slices may be absent from the index + * which makes this problematic. Instead we find the left-most slice + * and then read from then on, skipping decoding of slices and/or + * whole containers when they don't overlap the specified cram_range. + * + * Returns 0 on success + * -1 on failure + */ +int cram_seek_to_refpos(cram_fd *fd, cram_range *r) { + cram_index *e; + + // Ideally use an index, so see if we have one. + if ((e = cram_index_query(fd, r->refid, r->start, NULL))) { + if (0 != cram_seek(fd, e->offset, SEEK_SET)) + if (0 != cram_seek(fd, e->offset - fd->first_container, SEEK_CUR)) + return -1; + } else { + fprintf(stderr, "Unknown reference ID. Missing from index?\n"); + return -1; + } + + if (fd->ctr) { + cram_free_container(fd->ctr); + fd->ctr = NULL; + fd->ooc = 0; + } + + return 0; +} + + +/* + * A specialised form of cram_index_build (below) that deals with slices + * having multiple references in this (ref_id -2). In this scenario we + * decode the slice to look at the RI data series instead. + * + * Returns 0 on success + * -1 on failure + */ +static int cram_index_build_multiref(cram_fd *fd, + cram_container *c, + cram_slice *s, + zfp *fp, + off_t cpos, + int32_t landmark, + int sz) { + int i, ref = -2, ref_start = 0, ref_end; + char buf[1024]; + + if (0 != cram_decode_slice(fd, c, s, fd->header)) + return -1; + + ref_end = INT_MIN; + for (i = 0; i < s->hdr->num_records; i++) { + if (s->crecs[i].ref_id == ref) { + if (ref_end < s->crecs[i].aend) + ref_end = s->crecs[i].aend; + continue; + } + + if (ref != -2) { + sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", + ref, ref_start, ref_end - ref_start + 1, + (int64_t)cpos, landmark, sz); + zfputs(buf, fp); + } + + ref = s->crecs[i].ref_id; + ref_start = s->crecs[i].apos; + ref_end = INT_MIN; + } + + if (ref != -2) { + sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", + ref, ref_start, ref_end - ref_start + 1, + (int64_t)cpos, landmark, sz); + zfputs(buf, fp); + } + + return 0; +} + +/* + * Builds an index file. + * + * fd is a newly opened cram file that we wish to index. + * fn_base is the filename of the associated CRAM file. Internally we + * add ".crai" to this to get the index filename. + * + * Returns 0 on success + * -1 on failure + */ +int cram_index_build(cram_fd *fd, const char *fn_base) { + cram_container *c; + off_t cpos, spos, hpos; + zfp *fp; + char fn_idx[PATH_MAX]; + + if (strlen(fn_base) > PATH_MAX-6) + return -1; + + sprintf(fn_idx, "%s.crai", fn_base); + if (!(fp = zfopen(fn_idx, "wz"))) { + perror(fn_idx); + return -1; + } + + cpos = htell(fd->fp); + while ((c = cram_read_container(fd))) { + int j; + + if (fd->err) { + perror("Cram container read"); + return 1; + } + + hpos = htell(fd->fp); + + if (!(c->comp_hdr_block = cram_read_block(fd))) + return 1; + assert(c->comp_hdr_block->content_type == COMPRESSION_HEADER); + + c->comp_hdr = cram_decode_compression_header(fd, c->comp_hdr_block); + if (!c->comp_hdr) + return -1; + + // 2.0 format + for (j = 0; j < c->num_landmarks; j++) { + char buf[1024]; + cram_slice *s; + int sz; + + spos = htell(fd->fp); + assert(spos - cpos - c->offset == c->landmark[j]); + + if (!(s = cram_read_slice(fd))) { + zfclose(fp); + return -1; + } + + sz = (int)(htell(fd->fp) - spos); + + if (s->hdr->ref_seq_id == -2) { + cram_index_build_multiref(fd, c, s, fp, + cpos, c->landmark[j], sz); + } else { + sprintf(buf, "%d\t%d\t%d\t%"PRId64"\t%d\t%d\n", + s->hdr->ref_seq_id, s->hdr->ref_seq_start, + s->hdr->ref_seq_span, (int64_t)cpos, + c->landmark[j], sz); + zfputs(buf, fp); + } + + cram_free_slice(s); + } + + cpos = htell(fd->fp); + assert(cpos == hpos + c->length); + + cram_free_container(c); + } + if (fd->err) { + zfclose(fp); + return -1; + } + + + return zfclose(fp); +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_index.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_index.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,98 @@ +/* +Copyright (c) 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _CRAM_INDEX_H_ +#define _CRAM_INDEX_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Loads a CRAM .crai index into memory. + * Returns 0 for success + * -1 for failure + */ +int cram_index_load(cram_fd *fd, const char *fn); + +void cram_index_free(cram_fd *fd); + +/* + * Searches the index for the first slice overlapping a reference ID + * and position. + * + * Returns the cram_index pointer on sucess + * NULL on failure + */ +cram_index *cram_index_query(cram_fd *fd, int refid, int pos, cram_index *frm); + +/* + * Skips to a container overlapping the start coordinate listed in + * cram_range. + * + * Returns 0 on success + * -1 on failure + */ +int cram_seek_to_refpos(cram_fd *fd, cram_range *r); + +void cram_index_free(cram_fd *fd); + +/* + * Skips to a container overlapping the start coordinate listed in + * cram_range. + * + * In theory we call cram_index_query multiple times, once per slice + * overlapping the range. However slices may be absent from the index + * which makes this problematic. Instead we find the left-most slice + * and then read from then on, skipping decoding of slices and/or + * whole containers when they don't overlap the specified cram_range. + * + * Returns 0 on success + * -1 on failure + */ +int cram_seek_to_refpos(cram_fd *fd, cram_range *r); + +/* + * Builds an index file. + * + * fd is a newly opened cram file that we wish to index. + * fn_base is the filename of the associated CRAM file. Internally we + * add ".crai" to this to get the index filename. + * + * Returns 0 on success + * -1 on failure + */ +int cram_index_build(cram_fd *fd, const char *fn_base); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_io.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_io.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,4202 @@ +/* +Copyright (c) 2012-2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * CRAM I/O primitives. + * + * - ITF8 encoding and decoding. + * - Block based I/O + * - Zlib inflating and deflating (memory) + * - CRAM basic data structure reading and writing + * - File opening / closing + * - Reference sequence handling + */ + +/* + * TODO: BLOCK_GROW, BLOCK_RESIZE, BLOCK_APPEND and itf8_put_blk all need + * a way to return errors for when malloc fails. + */ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#ifdef HAVE_LIBBZ2 +#include +#endif +#ifdef HAVE_LIBLZMA +#include +#endif +#include +#include +#include +#include + +#include "cram/cram.h" +#include "cram/os.h" +#include "cram/md5.h" +#include "cram/open_trace_file.h" +#include "cram/rANS_static.h" + +//#define REF_DEBUG + +#ifdef REF_DEBUG +#include +#define gettid() (int)syscall(SYS_gettid) + +#define RP(...) fprintf (stderr, __VA_ARGS__) +#else +#define RP(...) +#endif + +#include "htslib/hfile.h" +#include "htslib/bgzf.h" +#include "htslib/faidx.h" + +#define TRIAL_SPAN 50 +#define NTRIALS 3 + + +/* ---------------------------------------------------------------------- + * ITF8 encoding and decoding. + * +* Also see the itf8_get and itf8_put macros in cram_io.h + */ + +/* + * Reads an integer in ITF-8 encoding from 'cp' and stores it in + * *val. + * + * Returns the number of bytes read on success + * -1 on failure + */ +int itf8_decode(cram_fd *fd, int32_t *val_p) { + static int nbytes[16] = { + 0,0,0,0, 0,0,0,0, // 0000xxxx - 0111xxxx + 1,1,1,1, // 1000xxxx - 1011xxxx + 2,2, // 1100xxxx - 1101xxxx + 3, // 1110xxxx + 4, // 1111xxxx + }; + + static int nbits[16] = { + 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, 0x7f, // 0000xxxx - 0111xxxx + 0x3f, 0x3f, 0x3f, 0x3f, // 1000xxxx - 1011xxxx + 0x1f, 0x1f, // 1100xxxx - 1101xxxx + 0x0f, // 1110xxxx + 0x0f, // 1111xxxx + }; + + int32_t val = hgetc(fd->fp); + if (val == -1) + return -1; + + int i = nbytes[val>>4]; + val &= nbits[val>>4]; + + switch(i) { + case 0: + *val_p = val; + return 1; + + case 1: + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val; + return 2; + + case 2: + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val; + return 3; + + case 3: + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val; + return 4; + + case 4: // really 3.5 more, why make it different? + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<4) | (((unsigned char)hgetc(fd->fp)) & 0x0f); + *val_p = val; + } + + return 5; +} + +/* + * Encodes and writes a single integer in ITF-8 format. + * Returns 0 on success + * -1 on failure + */ +int itf8_encode(cram_fd *fd, int32_t val) { + char buf[5]; + int len = itf8_put(buf, val); + return hwrite(fd->fp, buf, len) == len ? 0 : -1; +} + +#ifndef ITF8_MACROS +/* + * As above, but decoding from memory + */ +int itf8_get(char *cp, int32_t *val_p) { + unsigned char *up = (unsigned char *)cp; + + if (up[0] < 0x80) { + *val_p = up[0]; + return 1; + } else if (up[0] < 0xc0) { + *val_p = ((up[0] <<8) | up[1]) & 0x3fff; + return 2; + } else if (up[0] < 0xe0) { + *val_p = ((up[0]<<16) | (up[1]<< 8) | up[2]) & 0x1fffff; + return 3; + } else if (up[0] < 0xf0) { + *val_p = ((up[0]<<24) | (up[1]<<16) | (up[2]<<8) | up[3]) & 0x0fffffff; + return 4; + } else { + *val_p = ((up[0] & 0x0f)<<28) | (up[1]<<20) | (up[2]<<12) | (up[3]<<4) | (up[4] & 0x0f); + return 5; + } +} + +/* + * Stores a value to memory in ITF-8 format. + * + * Returns the number of bytes required to store the number. + * This is a maximum of 5 bytes. + */ +int itf8_put(char *cp, int32_t val) { + if (!(val & ~0x00000007f)) { // 1 byte + *cp = val; + return 1; + } else if (!(val & ~0x00003fff)) { // 2 byte + *cp++ = (val >> 8 ) | 0x80; + *cp = val & 0xff; + return 2; + } else if (!(val & ~0x01fffff)) { // 3 byte + *cp++ = (val >> 16) | 0xc0; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 3; + } else if (!(val & ~0x0fffffff)) { // 4 byte + *cp++ = (val >> 24) | 0xe0; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 4; + } else { // 5 byte + *cp++ = 0xf0 | ((val>>28) & 0xff); + *cp++ = (val >> 20) & 0xff; + *cp++ = (val >> 12) & 0xff; + *cp++ = (val >> 4 ) & 0xff; + *cp = val & 0x0f; + return 5; + } +} +#endif + +/* 64-bit itf8 variant */ +int ltf8_put(char *cp, int64_t val) { + if (!(val & ~((1LL<<7)-1))) { + *cp = val; + return 1; + } else if (!(val & ~((1LL<<(6+8))-1))) { + *cp++ = (val >> 8 ) | 0x80; + *cp = val & 0xff; + return 2; + } else if (!(val & ~((1LL<<(5+2*8))-1))) { + *cp++ = (val >> 16) | 0xc0; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 3; + } else if (!(val & ~((1LL<<(4+3*8))-1))) { + *cp++ = (val >> 24) | 0xe0; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 4; + } else if (!(val & ~((1LL<<(3+4*8))-1))) { + *cp++ = (val >> 32) | 0xf0; + *cp++ = (val >> 24) & 0xff; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 5; + } else if (!(val & ~((1LL<<(2+5*8))-1))) { + *cp++ = (val >> 40) | 0xf8; + *cp++ = (val >> 32) & 0xff; + *cp++ = (val >> 24) & 0xff; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 6; + } else if (!(val & ~((1LL<<(1+6*8))-1))) { + *cp++ = (val >> 48) | 0xfc; + *cp++ = (val >> 40) & 0xff; + *cp++ = (val >> 32) & 0xff; + *cp++ = (val >> 24) & 0xff; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 7; + } else if (!(val & ~((1LL<<(7*8))-1))) { + *cp++ = (val >> 56) | 0xfe; + *cp++ = (val >> 48) & 0xff; + *cp++ = (val >> 40) & 0xff; + *cp++ = (val >> 32) & 0xff; + *cp++ = (val >> 24) & 0xff; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 8; + } else { + *cp++ = 0xff; + *cp++ = (val >> 56) & 0xff; + *cp++ = (val >> 48) & 0xff; + *cp++ = (val >> 40) & 0xff; + *cp++ = (val >> 32) & 0xff; + *cp++ = (val >> 24) & 0xff; + *cp++ = (val >> 16) & 0xff; + *cp++ = (val >> 8 ) & 0xff; + *cp = val & 0xff; + return 9; + } +} + +int ltf8_get(char *cp, int64_t *val_p) { + unsigned char *up = (unsigned char *)cp; + + if (up[0] < 0x80) { + *val_p = up[0]; + return 1; + } else if (up[0] < 0xc0) { + *val_p = (((uint64_t)up[0]<< 8) | + (uint64_t)up[1]) & (((1LL<<(6+8)))-1); + return 2; + } else if (up[0] < 0xe0) { + *val_p = (((uint64_t)up[0]<<16) | + ((uint64_t)up[1]<< 8) | + (uint64_t)up[2]) & ((1LL<<(5+2*8))-1); + return 3; + } else if (up[0] < 0xf0) { + *val_p = (((uint64_t)up[0]<<24) | + ((uint64_t)up[1]<<16) | + ((uint64_t)up[2]<< 8) | + (uint64_t)up[3]) & ((1LL<<(4+3*8))-1); + return 4; + } else if (up[0] < 0xf8) { + *val_p = (((uint64_t)up[0]<<32) | + ((uint64_t)up[1]<<24) | + ((uint64_t)up[2]<<16) | + ((uint64_t)up[3]<< 8) | + (uint64_t)up[4]) & ((1LL<<(3+4*8))-1); + return 5; + } else if (up[0] < 0xfc) { + *val_p = (((uint64_t)up[0]<<40) | + ((uint64_t)up[1]<<32) | + ((uint64_t)up[2]<<24) | + ((uint64_t)up[3]<<16) | + ((uint64_t)up[4]<< 8) | + (uint64_t)up[5]) & ((1LL<<(2+5*8))-1); + return 6; + } else if (up[0] < 0xfe) { + *val_p = (((uint64_t)up[0]<<48) | + ((uint64_t)up[1]<<40) | + ((uint64_t)up[2]<<32) | + ((uint64_t)up[3]<<24) | + ((uint64_t)up[4]<<16) | + ((uint64_t)up[5]<< 8) | + (uint64_t)up[6]) & ((1LL<<(1+6*8))-1); + return 7; + } else if (up[0] < 0xff) { + *val_p = (((uint64_t)up[1]<<48) | + ((uint64_t)up[2]<<40) | + ((uint64_t)up[3]<<32) | + ((uint64_t)up[4]<<24) | + ((uint64_t)up[5]<<16) | + ((uint64_t)up[6]<< 8) | + (uint64_t)up[7]) & ((1LL<<(7*8))-1); + return 8; + } else { + *val_p = (((uint64_t)up[1]<<56) | + ((uint64_t)up[2]<<48) | + ((uint64_t)up[3]<<40) | + ((uint64_t)up[4]<<32) | + ((uint64_t)up[5]<<24) | + ((uint64_t)up[6]<<16) | + ((uint64_t)up[7]<< 8) | + (uint64_t)up[8]); + return 9; + } +} + +int ltf8_decode(cram_fd *fd, int64_t *val_p) { + int c = hgetc(fd->fp); + int64_t val = (unsigned char)c; + if (c == -1) + return -1; + + if (val < 0x80) { + *val_p = val; + return 1; + + } else if (val < 0xc0) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & (((1LL<<(6+8)))-1); + return 2; + + } else if (val < 0xe0) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(5+2*8))-1); + return 3; + + } else if (val < 0xf0) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(4+3*8))-1); + return 4; + + } else if (val < 0xf8) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(3+4*8))-1); + return 5; + + } else if (val < 0xfc) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(2+5*8))-1); + return 6; + + } else if (val < 0xfe) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(1+6*8))-1); + return 7; + + } else if (val < 0xff) { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val & ((1LL<<(7*8))-1); + return 8; + + } else { + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + val = (val<<8) | (unsigned char)hgetc(fd->fp); + *val_p = val; + } + + return 9; +} + +/* + * Pushes a value in ITF8 format onto the end of a block. + * This shouldn't be used for high-volume data as it is not the fastest + * method. + * + * Returns the number of bytes written + */ +int itf8_put_blk(cram_block *blk, int val) { + char buf[5]; + int sz; + + sz = itf8_put(buf, val); + BLOCK_APPEND(blk, buf, sz); + return sz; +} + +/* + * Decodes a 32-bit little endian value from fd and stores in val. + * + * Returns the number of bytes read on success + * -1 on failure + */ +int int32_decode(cram_fd *fd, int32_t *val) { + int32_t i; + if (4 != hread(fd->fp, &i, 4)) + return -1; + + *val = le_int4(i); + return 4; +} + +/* + * Encodes a 32-bit little endian value 'val' and writes to fd. + * + * Returns the number of bytes written on success + * -1 on failure + */ +int int32_encode(cram_fd *fd, int32_t val) { + val = le_int4(val); + if (4 != hwrite(fd->fp, &val, 4)) + return -1; + + return 4; +} + +/* As int32_decoded/encode, but from/to blocks instead of cram_fd */ +int int32_get(cram_block *b, int32_t *val) { + if (b->uncomp_size - BLOCK_SIZE(b) < 4) + return -1; + + *val = + b->data[b->byte ] | + (b->data[b->byte+1] << 8) | + (b->data[b->byte+2] << 16) | + (b->data[b->byte+3] << 24); + BLOCK_SIZE(b) += 4; + return 4; +} + +/* As int32_decoded/encode, but from/to blocks instead of cram_fd */ +int int32_put(cram_block *b, int32_t val) { + unsigned char cp[4]; + cp[0] = ( val & 0xff); + cp[1] = ((val>>8) & 0xff); + cp[2] = ((val>>16) & 0xff); + cp[3] = ((val>>24) & 0xff); + + BLOCK_APPEND(b, cp, 4); + return b->data ? 0 : -1; +} + +/* ---------------------------------------------------------------------- + * zlib compression code - from Gap5's tg_iface_g.c + * They're static here as they're only used within the cram_compress_block + * and cram_uncompress_block functions, which are the external interface. + */ +char *zlib_mem_inflate(char *cdata, size_t csize, size_t *size) { + z_stream s; + unsigned char *data = NULL; /* Uncompressed output */ + int data_alloc = 0; + int err; + + /* Starting point at uncompressed size, and scale after that */ + data = malloc(data_alloc = csize*1.2+100); + if (!data) + return NULL; + + /* Initialise zlib stream */ + s.zalloc = Z_NULL; /* use default allocation functions */ + s.zfree = Z_NULL; + s.opaque = Z_NULL; + s.next_in = (unsigned char *)cdata; + s.avail_in = csize; + s.total_in = 0; + s.next_out = data; + s.avail_out = data_alloc; + s.total_out = 0; + + //err = inflateInit(&s); + err = inflateInit2(&s, 15 + 32); + if (err != Z_OK) { + fprintf(stderr, "zlib inflateInit error: %s\n", s.msg); + free(data); + return NULL; + } + + /* Decode to 'data' array */ + for (;s.avail_in;) { + unsigned char *data_tmp; + int alloc_inc; + + s.next_out = &data[s.total_out]; + err = inflate(&s, Z_NO_FLUSH); + if (err == Z_STREAM_END) + break; + + if (err != Z_OK) { + fprintf(stderr, "zlib inflate error: %s\n", s.msg); + break; + } + + /* More to come, so realloc based on growth so far */ + alloc_inc = (double)s.avail_in/s.total_in * s.total_out + 100; + data = realloc((data_tmp = data), data_alloc += alloc_inc); + if (!data) { + free(data_tmp); + return NULL; + } + s.avail_out += alloc_inc; + } + inflateEnd(&s); + + *size = s.total_out; + return (char *)data; +} + +static char *zlib_mem_deflate(char *data, size_t size, size_t *cdata_size, + int level, int strat) { + z_stream s; + unsigned char *cdata = NULL; /* Compressed output */ + int cdata_alloc = 0; + int cdata_pos = 0; + int err; + + cdata = malloc(cdata_alloc = size*1.05+100); + if (!cdata) + return NULL; + cdata_pos = 0; + + /* Initialise zlib stream */ + s.zalloc = Z_NULL; /* use default allocation functions */ + s.zfree = Z_NULL; + s.opaque = Z_NULL; + s.next_in = (unsigned char *)data; + s.avail_in = size; + s.total_in = 0; + s.next_out = cdata; + s.avail_out = cdata_alloc; + s.total_out = 0; + s.data_type = Z_BINARY; + + err = deflateInit2(&s, level, Z_DEFLATED, 15|16, 9, strat); + if (err != Z_OK) { + fprintf(stderr, "zlib deflateInit2 error: %s\n", s.msg); + return NULL; + } + + /* Encode to 'cdata' array */ + for (;s.avail_in;) { + s.next_out = &cdata[cdata_pos]; + s.avail_out = cdata_alloc - cdata_pos; + if (cdata_alloc - cdata_pos <= 0) { + fprintf(stderr, "Deflate produced larger output than expected. Abort\n"); + return NULL; + } + err = deflate(&s, Z_NO_FLUSH); + cdata_pos = cdata_alloc - s.avail_out; + if (err != Z_OK) { + fprintf(stderr, "zlib deflate error: %s\n", s.msg); + break; + } + } + if (deflate(&s, Z_FINISH) != Z_STREAM_END) { + fprintf(stderr, "zlib deflate error: %s\n", s.msg); + } + *cdata_size = s.total_out; + + if (deflateEnd(&s) != Z_OK) { + fprintf(stderr, "zlib deflate error: %s\n", s.msg); + } + return (char *)cdata; +} + +#ifdef HAVE_LIBLZMA +/* ------------------------------------------------------------------------ */ +/* + * Data compression routines using liblzma (xz) + * + * On a test set this shrunk the main db from 136157104 bytes to 114796168, but + * caused tg_index to grow from 2m43.707s to 15m3.961s. Exporting as bfastq + * went from 18.3s to 36.3s. So decompression suffers too, but not as bad + * as compression times. + * + * For now we disable this functionality. If it's to be reenabled make sure you + * improve the mem_inflate implementation as it's just a test hack at the + * moment. + */ + +static char *lzma_mem_deflate(char *data, size_t size, size_t *cdata_size, + int level) { + char *out; + size_t out_size = lzma_stream_buffer_bound(size); + *cdata_size = 0; + + out = malloc(out_size); + + /* Single call compression */ + if (LZMA_OK != lzma_easy_buffer_encode(level, LZMA_CHECK_CRC32, NULL, + (uint8_t *)data, size, + (uint8_t *)out, cdata_size, + out_size)) + return NULL; + + return out; +} + +static char *lzma_mem_inflate(char *cdata, size_t csize, size_t *size) { + lzma_stream strm = LZMA_STREAM_INIT; + size_t out_size = 0, out_pos = 0; + char *out = NULL; + int r; + + /* Initiate the decoder */ + if (LZMA_OK != lzma_stream_decoder(&strm, 50000000, 0)) + return NULL; + + /* Decode loop */ + strm.avail_in = csize; + strm.next_in = (uint8_t *)cdata; + + for (;strm.avail_in;) { + if (strm.avail_in > out_size - out_pos) { + out_size += strm.avail_in * 4 + 32768; + out = realloc(out, out_size); + } + strm.avail_out = out_size - out_pos; + strm.next_out = (uint8_t *)&out[out_pos]; + + r = lzma_code(&strm, LZMA_RUN); + if (LZMA_OK != r && LZMA_STREAM_END != r) { + fprintf(stderr, "r=%d\n", r); + fprintf(stderr, "mem=%"PRId64"d\n", (int64_t)lzma_memusage(&strm)); + return NULL; + } + + out_pos = strm.total_out; + + if (r == LZMA_STREAM_END) + break; + } + + /* finish up any unflushed data; necessary? */ + r = lzma_code(&strm, LZMA_FINISH); + if (r != LZMA_OK && r != LZMA_STREAM_END) { + fprintf(stderr, "r=%d\n", r); + return NULL; + } + + out = realloc(out, strm.total_out); + *size = strm.total_out; + + lzma_end(&strm); + + return out; +} +#endif + +/* ---------------------------------------------------------------------- + * CRAM blocks - the dynamically growable data block. We have code to + * create, update, (un)compress and read/write. + * + * These are derived from the deflate_interlaced.c blocks, but with the + * CRAM extension of content types and IDs. + */ + +/* + * Allocates a new cram_block structure with a specified content_type and + * id. + * + * Returns block pointer on success + * NULL on failure + */ +cram_block *cram_new_block(enum cram_content_type content_type, + int content_id) { + cram_block *b = malloc(sizeof(*b)); + if (!b) + return NULL; + b->method = b->orig_method = RAW; + b->content_type = content_type; + b->content_id = content_id; + b->comp_size = 0; + b->uncomp_size = 0; + b->data = NULL; + b->alloc = 0; + b->byte = 0; + b->bit = 7; // MSB + + return b; +} + +/* + * Reads a block from a cram file. + * Returns cram_block pointer on success. + * NULL on failure + */ +cram_block *cram_read_block(cram_fd *fd) { + cram_block *b = malloc(sizeof(*b)); + if (!b) + return NULL; + + //fprintf(stderr, "Block at %d\n", (int)ftell(fd->fp)); + + if (-1 == (b->method = hgetc(fd->fp))) { free(b); return NULL; } + if (-1 == (b->content_type= hgetc(fd->fp))) { free(b); return NULL; } + if (-1 == itf8_decode(fd, &b->content_id)) { free(b); return NULL; } + if (-1 == itf8_decode(fd, &b->comp_size)) { free(b); return NULL; } + if (-1 == itf8_decode(fd, &b->uncomp_size)) { free(b); return NULL; } + + // fprintf(stderr, " method %d, ctype %d, cid %d, csize %d, ucsize %d\n", + // b->method, b->content_type, b->content_id, b->comp_size, b->uncomp_size); + + if (b->method == RAW) { + b->alloc = b->uncomp_size; + if (!(b->data = malloc(b->uncomp_size))){ free(b); return NULL; } + if (b->uncomp_size != hread(fd->fp, b->data, b->uncomp_size)) { + free(b->data); + free(b); + return NULL; + } + } else { + b->alloc = b->comp_size; + if (!(b->data = malloc(b->comp_size))) { free(b); return NULL; } + if (b->comp_size != hread(fd->fp, b->data, b->comp_size)) { + free(b->data); + free(b); + return NULL; + } + } + + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + unsigned char dat[100], *cp = dat;; + uint32_t crc; + + + if (-1 == int32_decode(fd, (int32_t *)&b->crc32)) { + free(b); + return NULL; + } + + *cp++ = b->method; + *cp++ = b->content_type; + cp += itf8_put(cp, b->content_id); + cp += itf8_put(cp, b->comp_size); + cp += itf8_put(cp, b->uncomp_size); + crc = crc32(0L, dat, cp-dat); + crc = crc32(crc, b->data ? b->data : (uc *)"", b->alloc); + + if (crc != b->crc32) { + fprintf(stderr, "Block CRC32 failure\n"); + free(b->data); + free(b); + return NULL; + } + } + + b->orig_method = b->method; + b->idx = 0; + b->byte = 0; + b->bit = 7; // MSB + + return b; +} + +/* + * Writes a CRAM block. + * Returns 0 on success + * -1 on failure + */ +int cram_write_block(cram_fd *fd, cram_block *b) { + assert(b->method != RAW || (b->comp_size == b->uncomp_size)); + + if (hputc(b->method, fd->fp) == EOF) return -1; + if (hputc(b->content_type, fd->fp) == EOF) return -1; + if (itf8_encode(fd, b->content_id) == -1) return -1; + if (itf8_encode(fd, b->comp_size) == -1) return -1; + if (itf8_encode(fd, b->uncomp_size) == -1) return -1; + + if (b->method == RAW) { + if (b->uncomp_size != hwrite(fd->fp, b->data, b->uncomp_size)) + return -1; + } else { + if (b->comp_size != hwrite(fd->fp, b->data, b->comp_size)) + return -1; + } + + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + unsigned char dat[100], *cp = dat;; + uint32_t crc; + + *cp++ = b->method; + *cp++ = b->content_type; + cp += itf8_put(cp, b->content_id); + cp += itf8_put(cp, b->comp_size); + cp += itf8_put(cp, b->uncomp_size); + crc = crc32(0L, dat, cp-dat); + + if (b->method == RAW) { + b->crc32 = crc32(crc, b->data ? b->data : (uc*)"", b->uncomp_size); + } else { + b->crc32 = crc32(crc, b->data ? b->data : (uc*)"", b->comp_size); + } + + if (-1 == int32_encode(fd, b->crc32)) + return -1; + } + + return 0; +} + +/* + * Frees a CRAM block, deallocating internal data too. + */ +void cram_free_block(cram_block *b) { + if (!b) + return; + if (b->data) + free(b->data); + free(b); +} + +/* + * Uncompresses a CRAM block, if compressed. + */ +int cram_uncompress_block(cram_block *b) { + char *uncomp; + size_t uncomp_size = 0; + + if (b->uncomp_size == 0) { + // blank block + b->method = RAW; + return 0; + } + + switch (b->method) { + case RAW: + return 0; + + case GZIP: + uncomp = zlib_mem_inflate((char *)b->data, b->comp_size, &uncomp_size); + if (!uncomp) + return -1; + if ((int)uncomp_size != b->uncomp_size) { + free(uncomp); + return -1; + } + free(b->data); + b->data = (unsigned char *)uncomp; + b->alloc = uncomp_size; + b->method = RAW; + break; + +#ifdef HAVE_LIBBZ2 + case BZIP2: { + unsigned int usize = b->uncomp_size; + if (!(uncomp = malloc(usize))) + return -1; + if (BZ_OK != BZ2_bzBuffToBuffDecompress(uncomp, &usize, + (char *)b->data, b->comp_size, + 0, 0)) { + free(uncomp); + return -1; + } + free(b->data); + b->data = (unsigned char *)uncomp; + b->alloc = usize; + b->method = RAW; + b->uncomp_size = usize; // Just incase it differs + break; + } +#else + case BZIP2: + fprintf(stderr, "Bzip2 compression is not compiled into this " + "version.\nPlease rebuild and try again.\n"); + return -1; +#endif + +#ifdef HAVE_LIBLZMA + case LZMA: + uncomp = lzma_mem_inflate((char *)b->data, b->comp_size, &uncomp_size); + if (!uncomp) + return -1; + if ((int)uncomp_size != b->uncomp_size) + return -1; + free(b->data); + b->data = (unsigned char *)uncomp; + b->alloc = uncomp_size; + b->method = RAW; + break; +#else + case LZMA: + fprintf(stderr, "Lzma compression is not compiled into this " + "version.\nPlease rebuild and try again.\n"); + return -1; + break; +#endif + + case RANS: { + unsigned int usize = b->uncomp_size, usize2; + uncomp = (char *)rans_uncompress(b->data, b->comp_size, &usize2); + assert(usize == usize2); + free(b->data); + b->data = (unsigned char *)uncomp; + b->alloc = usize2; + b->method = RAW; + b->uncomp_size = usize2; // Just incase it differs + //fprintf(stderr, "Expanded %d to %d\n", b->comp_size, b->uncomp_size); + break; + } + + default: + return -1; + } + + return 0; +} + +static char *cram_compress_by_method(char *in, size_t in_size, + size_t *out_size, + enum cram_block_method method, + int level, int strat) { + switch (method) { + case GZIP: + return zlib_mem_deflate(in, in_size, out_size, level, strat); + + case BZIP2: { +#ifdef HAVE_LIBBZ2 + unsigned int comp_size = in_size*1.01 + 600; + char *comp = malloc(comp_size); + if (!comp) + return NULL; + + if (BZ_OK != BZ2_bzBuffToBuffCompress(comp, &comp_size, + in, in_size, + level, 0, 30)) { + free(comp); + return NULL; + } + *out_size = comp_size; + return comp; +#else + return NULL; +#endif + } + + case LZMA: +#ifdef HAVE_LIBLZMA + return lzma_mem_deflate(in, in_size, out_size, level); +#else + return NULL; +#endif + + case RANS0: { + unsigned int out_size_i; + unsigned char *cp; + cp = rans_compress((unsigned char *)in, in_size, &out_size_i, 0); + *out_size = out_size_i; + return (char *)cp; + } + + case RANS1: { + unsigned int out_size_i; + unsigned char *cp; + + cp = rans_compress((unsigned char *)in, in_size, &out_size_i, 1); + *out_size = out_size_i; + return (char *)cp; + } + + case RAW: + break; + + default: + return NULL; + } + + return NULL; +} + + +/* + * Compresses a block using one of two different zlib strategies. If we only + * want one choice set strat2 to be -1. + * + * The logic here is that sometimes Z_RLE does a better job than Z_FILTERED + * or Z_DEFAULT_STRATEGY on quality data. If so, we'd rather use it as it is + * significantly faster. + */ +int cram_compress_block(cram_fd *fd, cram_block *b, cram_metrics *metrics, + int method, int level) { + + char *comp = NULL; + size_t comp_size = 0; + int strat; + + //fprintf(stderr, "IN: block %d, sz %d\n", b->content_id, b->uncomp_size); + + if (method == RAW || level == 0 || b->uncomp_size == 0) { + b->method = RAW; + b->comp_size = b->uncomp_size; + //fprintf(stderr, "Skip block id %d\n", b->content_id); + return 0; + } + + if (metrics) { + pthread_mutex_lock(&fd->metrics_lock); + if (metrics->trial > 0 || --metrics->next_trial <= 0) { + size_t sz_best = INT_MAX; + size_t sz_gz_rle = 0; + size_t sz_gz_def = 0; + size_t sz_rans0 = 0; + size_t sz_rans1 = 0; + size_t sz_bzip2 = 0; + size_t sz_lzma = 0; + int method_best = 0; + char *c_best = NULL, *c = NULL; + + if (metrics->revised_method) + method = metrics->revised_method; + else + metrics->revised_method = method; + + if (metrics->next_trial == 0) { + metrics->next_trial = TRIAL_SPAN; + metrics->trial = NTRIALS; + metrics->sz_gz_rle /= 2; + metrics->sz_gz_def /= 2; + metrics->sz_rans0 /= 2; + metrics->sz_rans1 /= 2; + metrics->sz_bzip2 /= 2; + metrics->sz_lzma /= 2; + } + + pthread_mutex_unlock(&fd->metrics_lock); + + if (method & (1<data, b->uncomp_size, + &sz_gz_rle, GZIP, 1, Z_RLE); + if (c && sz_best > sz_gz_rle) { + sz_best = sz_gz_rle; + method_best = GZIP_RLE; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_gz_rle = b->uncomp_size*2+1000; + } + + //fprintf(stderr, "Block %d; %d->%d\n", b->content_id, b->uncomp_size, sz_gz_rle); + } + + if (method & (1<data, b->uncomp_size, + &sz_gz_def, GZIP, level, + Z_FILTERED); + if (c && sz_best > sz_gz_def) { + sz_best = sz_gz_def; + method_best = GZIP; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_gz_def = b->uncomp_size*2+1000; + } + + //fprintf(stderr, "Block %d; %d->%d\n", b->content_id, b->uncomp_size, sz_gz_def); + } + + if (method & (1<data, b->uncomp_size, + &sz_rans0, RANS0, 0, 0); + if (c && sz_best > sz_rans0) { + sz_best = sz_rans0; + method_best = RANS0; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_rans0 = b->uncomp_size*2+1000; + } + } + + if (method & (1<data, b->uncomp_size, + &sz_rans1, RANS1, 0, 0); + if (c && sz_best > sz_rans1) { + sz_best = sz_rans1; + method_best = RANS1; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_rans1 = b->uncomp_size*2+1000; + } + } + + if (method & (1<data, b->uncomp_size, + &sz_bzip2, BZIP2, level, 0); + if (c && sz_best > sz_bzip2) { + sz_best = sz_bzip2; + method_best = BZIP2; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_bzip2 = b->uncomp_size*2+1000; + } + } + + if (method & (1<data, b->uncomp_size, + &sz_lzma, LZMA, level, 0); + if (c && sz_best > sz_lzma) { + sz_best = sz_lzma; + method_best = LZMA; + if (c_best) + free(c_best); + c_best = c; + } else if (c) { + free(c); + } else { + sz_lzma = b->uncomp_size*2+1000; + } + } + + //fprintf(stderr, "sz_best = %d\n", sz_best); + + free(b->data); + b->data = (unsigned char *)c_best; + //printf("method_best = %s\n", cram_block_method2str(method_best)); + b->method = method_best == GZIP_RLE ? GZIP : method_best; + b->comp_size = sz_best; + + pthread_mutex_lock(&fd->metrics_lock); + metrics->sz_gz_rle += sz_gz_rle; + metrics->sz_gz_def += sz_gz_def; + metrics->sz_rans0 += sz_rans0; + metrics->sz_rans1 += sz_rans1; + metrics->sz_bzip2 += sz_bzip2; + metrics->sz_lzma += sz_lzma; + if (--metrics->trial == 0) { + int best_method = RAW; + int best_sz = INT_MAX; + + // Scale methods by cost + if (fd->level <= 3) { + metrics->sz_rans1 *= 1.02; + metrics->sz_gz_def *= 1.04; + metrics->sz_bzip2 *= 1.08; + metrics->sz_lzma *= 1.10; + } else if (fd->level <= 6) { + metrics->sz_rans1 *= 1.01; + metrics->sz_gz_def *= 1.02; + metrics->sz_bzip2 *= 1.03; + metrics->sz_lzma *= 1.05; + } + + if (method & (1< metrics->sz_gz_rle) + best_sz = metrics->sz_gz_rle, best_method = GZIP_RLE; + + if (method & (1< metrics->sz_gz_def) + best_sz = metrics->sz_gz_def, best_method = GZIP; + + if (method & (1< metrics->sz_rans0) + best_sz = metrics->sz_rans0, best_method = RANS0; + + if (method & (1< metrics->sz_rans1) + best_sz = metrics->sz_rans1, best_method = RANS1; + + if (method & (1< metrics->sz_bzip2) + best_sz = metrics->sz_bzip2, best_method = BZIP2; + + if (method & (1< metrics->sz_lzma) + best_sz = metrics->sz_lzma, best_method = LZMA; + + if (best_method == GZIP_RLE) { + metrics->method = GZIP; + metrics->strat = Z_RLE; + } else { + metrics->method = best_method; + metrics->strat = Z_FILTERED; + } + + // If we see at least MAXFAIL trials in a row for a specific + // compression method with more than MAXDELTA aggregate + // size then we drop this from the list of methods used + // for this block type. +#define MAXDELTA 0.20 +#define MAXFAILS 4 + if (best_method == GZIP_RLE) { + metrics->gz_rle_cnt = 0; + metrics->gz_rle_extra = 0; + } else if (best_sz < metrics->sz_gz_rle) { + double r = (double)metrics->sz_gz_rle / best_sz - 1; + if (++metrics->gz_rle_cnt >= MAXFAILS && + (metrics->gz_rle_extra += r) >= MAXDELTA) + method &= ~(1<gz_def_cnt = 0; + metrics->gz_def_extra = 0; + } else if (best_sz < metrics->sz_gz_def) { + double r = (double)metrics->sz_gz_def / best_sz - 1; + if (++metrics->gz_def_cnt >= MAXFAILS && + (metrics->gz_def_extra += r) >= MAXDELTA) + method &= ~(1<rans0_cnt = 0; + metrics->rans0_extra = 0; + } else if (best_sz < metrics->sz_rans0) { + double r = (double)metrics->sz_rans0 / best_sz - 1; + if (++metrics->rans0_cnt >= MAXFAILS && + (metrics->rans0_extra += r) >= MAXDELTA) + method &= ~(1<rans1_cnt = 0; + metrics->rans1_extra = 0; + } else if (best_sz < metrics->sz_rans1) { + double r = (double)metrics->sz_rans1 / best_sz - 1; + if (++metrics->rans1_cnt >= MAXFAILS && + (metrics->rans1_extra += r) >= MAXDELTA) + method &= ~(1<bzip2_cnt = 0; + metrics->bzip2_extra = 0; + } else if (best_sz < metrics->sz_bzip2) { + double r = (double)metrics->sz_bzip2 / best_sz - 1; + if (++metrics->bzip2_cnt >= MAXFAILS && + (metrics->bzip2_extra += r) >= MAXDELTA) + method &= ~(1<lzma_cnt = 0; + metrics->lzma_extra = 0; + } else if (best_sz < metrics->sz_lzma) { + double r = (double)metrics->sz_lzma / best_sz - 1; + if (++metrics->lzma_cnt >= MAXFAILS && + (metrics->lzma_extra += r) >= MAXDELTA) + method &= ~(1<revised_method) + // fprintf(stderr, "%d: method from %x to %x\n", + // b->content_id, metrics->revised_method, method); + metrics->revised_method = method; + } + pthread_mutex_unlock(&fd->metrics_lock); + } else { + strat = metrics->strat; + method = metrics->method; + + pthread_mutex_unlock(&fd->metrics_lock); + comp = cram_compress_by_method((char *)b->data, b->uncomp_size, + &comp_size, method, + level, strat); + if (!comp) + return -1; + free(b->data); + b->data = (unsigned char *)comp; + b->comp_size = comp_size; + b->method = method; + } + + } else { + // no cached metrics, so just do zlib? + comp = cram_compress_by_method((char *)b->data, b->uncomp_size, + &comp_size, GZIP, level, Z_FILTERED); + if (!comp) { + fprintf(stderr, "Compression failed!\n"); + return -1; + } + free(b->data); + b->data = (unsigned char *)comp; + b->comp_size = comp_size; + b->method = GZIP; + } + + if (fd->verbose) + fprintf(stderr, "Compressed block ID %d from %d to %d by method %s\n", + b->content_id, b->uncomp_size, b->comp_size, + cram_block_method2str(b->method)); + + if (b->method == RANS1) + b->method = RANS0; // Spec just has RANS (not 0/1) with auto-sensing + + return 0; +} + +cram_metrics *cram_new_metrics(void) { + cram_metrics *m = calloc(1, sizeof(*m)); + if (!m) + return NULL; + m->trial = NTRIALS-1; + m->next_trial = TRIAL_SPAN; + m->method = RAW; + m->strat = 0; + m->revised_method = 0; + + return m; +} + +char *cram_block_method2str(enum cram_block_method m) { + switch(m) { + case RAW: return "RAW"; + case GZIP: return "GZIP"; + case BZIP2: return "BZIP2"; + case LZMA: return "LZMA"; + case RANS0: return "RANS0"; + case RANS1: return "RANS1"; + case GZIP_RLE: return "GZIP_RLE"; + case ERROR: break; + } + return "?"; +} + +char *cram_content_type2str(enum cram_content_type t) { + switch (t) { + case FILE_HEADER: return "FILE_HEADER"; + case COMPRESSION_HEADER: return "COMPRESSION_HEADER"; + case MAPPED_SLICE: return "MAPPED_SLICE"; + case UNMAPPED_SLICE: return "UNMAPPED_SLICE"; + case EXTERNAL: return "EXTERNAL"; + case CORE: return "CORE"; + case CT_ERROR: break; + } + return "?"; +} + +/* + * Extra error checking on fclose to really ensure data is written. + * Care needs to be taken to handle pipes vs real files. + * + * Returns 0 on success + * -1 on failure. + */ +int paranoid_fclose(FILE *fp) { + if (-1 == fflush(fp) && errno != EBADF) { + fclose(fp); + return -1; + } + + errno = 0; + if (-1 == fsync(fileno(fp))) { + if (errno != EINVAL) { // eg pipe + fclose(fp); + return -1; + } + } + return fclose(fp); +} + +/* ---------------------------------------------------------------------- + * Reference sequence handling + * + * These revolve around the refs_t structure, which may potentially be + * shared between multiple cram_fd. + * + * We start with refs_create() to allocate an empty refs_t and then + * populate it with @SQ line data using refs_from_header(). This is done on + * cram_open(). Also at start up we can call cram_load_reference() which + * is used with "scramble -r foo.fa". This replaces the fd->refs with the + * new one specified. In either case refs2id() is then called which + * maps ref_entry names to @SQ ids (refs_t->ref_id[]). + * + * Later, possibly within a thread, we will want to know the actual ref + * seq itself, obtained by calling cram_get_ref(). This may use the + * UR: or M5: fields or the filename specified in the original + * cram_load_reference() call. + * + * Given the potential for multi-threaded reference usage, we have + * reference counting (sorry for the confusing double use of "ref") to + * track the number of callers interested in any specific reference. + */ + +void refs_free(refs_t *r) { + RP("refs_free()\n"); + + if (--r->count > 0) + return; + + if (!r) + return; + + if (r->pool) + string_pool_destroy(r->pool); + + if (r->h_meta) { + khint_t k; + + for (k = kh_begin(r->h_meta); k != kh_end(r->h_meta); k++) { + ref_entry *e; + + if (!kh_exist(r->h_meta, k)) + continue; + if (!(e = kh_val(r->h_meta, k))) + continue; + if (e->seq) + free(e->seq); + free(e); + } + + kh_destroy(refs, r->h_meta); + } + + if (r->ref_id) + free(r->ref_id); + + if (r->fp) + bgzf_close(r->fp); + + pthread_mutex_destroy(&r->lock); + + free(r); +} + +static refs_t *refs_create(void) { + refs_t *r = calloc(1, sizeof(*r)); + + RP("refs_create()\n"); + + if (!r) + return NULL; + + if (!(r->pool = string_pool_create(8192))) + goto err; + + r->ref_id = NULL; // see refs2id() to populate. + r->count = 1; + r->last = NULL; + r->last_id = -1; + + if (!(r->h_meta = kh_init(refs))) + goto err; + + pthread_mutex_init(&r->lock, NULL); + + return r; + + err: + refs_free(r); + return NULL; +} + +/* + * Opens a reference fasta file as a BGZF stream, allowing for + * compressed files. It automatically builds a .fai file if + * required and if compressed a .gzi bgzf index too. + * + * Returns a BGZF handle on success; + * NULL on failure. + */ +static BGZF *bgzf_open_ref(char *fn, char *mode) { + BGZF *fp; + char fai_file[PATH_MAX]; + + snprintf(fai_file, PATH_MAX, "%s.fai", fn); + if (access(fai_file, R_OK) != 0) + if (fai_build(fn) != 0) + return NULL; + + if (!(fp = bgzf_open(fn, mode))) { + perror(fn); + return NULL; + } + + if (fp->is_compressed == 1 && bgzf_index_load(fp, fn, ".gzi") < 0) { + fprintf(stderr, "Unable to load .gzi index '%s.gzi'\n", fn); + bgzf_close(fp); + return NULL; + } + + return fp; +} + +/* + * Loads a FAI file for a reference.fasta. + * "is_err" indicates whether failure to load is worthy of emitting an + * error message. In some cases (eg with embedded references) we + * speculatively load, just incase, and silently ignore errors. + * + * Returns the refs_t struct on success (maybe newly allocated); + * NULL on failure + */ +static refs_t *refs_load_fai(refs_t *r_orig, char *fn, int is_err) { + struct stat sb; + FILE *fp = NULL; + char fai_fn[PATH_MAX]; + char line[8192]; + refs_t *r = r_orig; + size_t fn_l = strlen(fn); + int id = 0, id_alloc = 0; + + RP("refs_load_fai %s\n", fn); + + if (!r) + if (!(r = refs_create())) + goto err; + + /* Open reference, for later use */ + if (stat(fn, &sb) != 0) { + if (is_err) + perror(fn); + goto err; + } + + if (r->fp) + if (bgzf_close(r->fp) != 0) + goto err; + r->fp = NULL; + + if (!(r->fn = string_dup(r->pool, fn))) + goto err; + + if (fn_l > 4 && strcmp(&fn[fn_l-4], ".fai") == 0) + r->fn[fn_l-4] = 0; + + if (!(r->fp = bgzf_open_ref(r->fn, "r"))) + goto err; + + /* Parse .fai file and load meta-data */ + sprintf(fai_fn, "%.*s.fai", PATH_MAX-5, r->fn); + + if (stat(fai_fn, &sb) != 0) { + if (is_err) + perror(fai_fn); + goto err; + } + if (!(fp = fopen(fai_fn, "r"))) { + if (is_err) + perror(fai_fn); + goto err; + } + while (fgets(line, 8192, fp) != NULL) { + ref_entry *e = malloc(sizeof(*e)); + char *cp; + int n; + khint_t k; + + if (!e) + return NULL; + + // id + for (cp = line; *cp && !isspace(*cp); cp++) + ; + *cp++ = 0; + e->name = string_dup(r->pool, line); + + // length + while (*cp && isspace(*cp)) + cp++; + e->length = strtoll(cp, &cp, 10); + + // offset + while (*cp && isspace(*cp)) + cp++; + e->offset = strtoll(cp, &cp, 10); + + // bases per line + while (*cp && isspace(*cp)) + cp++; + e->bases_per_line = strtol(cp, &cp, 10); + + // line length + while (*cp && isspace(*cp)) + cp++; + e->line_length = strtol(cp, &cp, 10); + + // filename + e->fn = r->fn; + + e->count = 0; + e->seq = NULL; + + k = kh_put(refs, r->h_meta, e->name, &n); + if (-1 == n) { + free(e); + return NULL; + } + + if (n) { + kh_val(r->h_meta, k) = e; + } else { + ref_entry *re = kh_val(r->h_meta, k); + if (re && (re->count != 0 || re->length != 0)) { + /* Keep old */ + free(e); + } else { + /* Replace old */ + if (re) + free(re); + kh_val(r->h_meta, k) = e; + } + } + + if (id >= id_alloc) { + int x; + + id_alloc = id_alloc ?id_alloc*2 : 16; + r->ref_id = realloc(r->ref_id, id_alloc * sizeof(*r->ref_id)); + + for (x = id; x < id_alloc; x++) + r->ref_id[x] = NULL; + } + r->ref_id[id] = e; + r->nref = ++id; + } + + return r; + + err: + if (fp) + fclose(fp); + + if (!r_orig) + refs_free(r); + + return NULL; +} + +/* + * Indexes references by the order they appear in a BAM file. This may not + * necessarily be the same order they appear in the fasta reference file. + * + * Returns 0 on success + * -1 on failure + */ +int refs2id(refs_t *r, SAM_hdr *h) { + int i; + + if (r->ref_id) + free(r->ref_id); + if (r->last) + r->last = NULL; + + r->ref_id = calloc(h->nref, sizeof(*r->ref_id)); + if (!r->ref_id) + return -1; + + r->nref = h->nref; + for (i = 0; i < h->nref; i++) { + khint_t k = kh_get(refs, r->h_meta, h->ref[i].name); + if (k != kh_end(r->h_meta)) { + r->ref_id[i] = kh_val(r->h_meta, k); + } else { + fprintf(stderr, "Unable to find ref name '%s'\n", + h->ref[i].name); + } + } + + return 0; +} + +/* + * Generates refs_t entries based on @SQ lines in the header. + * Returns 0 on success + * -1 on failure + */ +static int refs_from_header(refs_t *r, cram_fd *fd, SAM_hdr *h) { + int i, j; + + if (!h || h->nref == 0) + return 0; + + //fprintf(stderr, "refs_from_header for %p mode %c\n", fd, fd->mode); + + /* Existing refs are fine, as long as they're compatible with the hdr. */ + if (!(r->ref_id = realloc(r->ref_id, (r->nref + h->nref) * sizeof(*r->ref_id)))) + return -1; + + /* Copy info from h->ref[i] over to r */ + for (i = 0, j = r->nref; i < h->nref; i++) { + SAM_hdr_type *ty; + SAM_hdr_tag *tag; + khint_t k; + int n; + + k = kh_get(refs, r->h_meta, h->ref[i].name); + if (k != kh_end(r->h_meta)) + // Ref already known about + continue; + + if (!(r->ref_id[j] = calloc(1, sizeof(ref_entry)))) + return -1; + + if (!h->ref[j].name) + return -1; + + r->ref_id[j]->name = string_dup(r->pool, h->ref[i].name); + r->ref_id[j]->length = 0; // marker for not yet loaded + + /* Initialise likely filename if known */ + if ((ty = sam_hdr_find(h, "SQ", "SN", h->ref[i].name))) { + if ((tag = sam_hdr_find_key(h, ty, "M5", NULL))) { + r->ref_id[j]->fn = string_dup(r->pool, tag->str+3); + //fprintf(stderr, "Tagging @SQ %s / %s\n", r->ref_id[h]->name, r->ref_id[h]->fn); + } + } + + k = kh_put(refs, r->h_meta, r->ref_id[j]->name, &n); + if (n <= 0) // already exists or error + return -1; + kh_val(r->h_meta, k) = r->ref_id[j]; + + j++; + } + r->nref = j; + + return 0; +} + +/* + * Attaches a header to a cram_fd. + * + * This should be used when creating a new cram_fd for writing where + * we have an SAM_hdr already constructed (eg from a file we've read + * in). + */ +int cram_set_header(cram_fd *fd, SAM_hdr *hdr) { + if (fd->header) + sam_hdr_free(fd->header); + fd->header = hdr; + return refs_from_header(fd->refs, fd, hdr); +} + +/* + * Converts a directory and a filename into an expanded path, replacing %s + * in directory with the filename and %[0-9]+s with portions of the filename + * Any remaining parts of filename are added to the end with /%s. + */ +void expand_cache_path(char *path, char *dir, char *fn) { + char *cp; + + while ((cp = strchr(dir, '%'))) { + strncpy(path, dir, cp-dir); + path += cp-dir; + + if (*++cp == 's') { + strcpy(path, fn); + path += strlen(fn); + fn += strlen(fn); + cp++; + } else if (*cp >= '0' && *cp <= '9') { + char *endp; + long l; + + l = strtol(cp, &endp, 10); + l = MIN(l, strlen(fn)); + if (*endp == 's') { + strncpy(path, fn, l); + path += l; + fn += l; + *path = 0; + cp = endp+1; + } else { + *path++ = '%'; + *path++ = *cp++; + } + } else { + *path++ = '%'; + *path++ = *cp++; + } + dir = cp; + } + strcpy(path, dir); + path += strlen(dir); + if (*fn && path[-1] != '/') + *path++ = '/'; + strcpy(path, fn); +} + +/* + * Make the directory containing path and any prefix directories. + */ +void mkdir_prefix(char *path, int mode) { + char *cp = strrchr(path, '/'); + if (!cp) + return; + + *cp = 0; + if (is_directory(path)) { + *cp = '/'; + return; + } + + if (mkdir(path, mode) == 0) { + chmod(path, mode); + *cp = '/'; + return; + } + + mkdir_prefix(path, mode); + mkdir(path, mode); + chmod(path, mode); + *cp = '/'; +} + +/* + * Return the cache directory to use, based on the first of these + * environment variables to be set to a non-empty value. + */ +static const char *get_cache_basedir(const char **extra) { + char *base; + + *extra = ""; + + base = getenv("XDG_CACHE_HOME"); + if (base && *base) return base; + + base = getenv("HOME"); + if (base && *base) { *extra = "/.cache"; return base; } + + base = getenv("TMPDIR"); + if (base && *base) return base; + + base = getenv("TEMP"); + if (base && *base) return base; + + return "/tmp"; +} + +/* + * Queries the M5 string from the header and attempts to populate the + * reference from this using the REF_PATH environment. + * + * Returns 0 on sucess + * -1 on failure + */ +static int cram_populate_ref(cram_fd *fd, int id, ref_entry *r) { + char *ref_path = getenv("REF_PATH"); + SAM_hdr_type *ty; + SAM_hdr_tag *tag; + char path[PATH_MAX], path_tmp[PATH_MAX], cache[PATH_MAX]; + char *local_cache = getenv("REF_CACHE"); + mFILE *mf; + + if (fd->verbose) + fprintf(stderr, "cram_populate_ref on fd %p, id %d\n", fd, id); + + if (!ref_path || *ref_path == '\0') { + /* + * If we have no ref path, we use the EBI server. + * However to avoid spamming it we require a local ref cache too. + */ + ref_path = "http://www.ebi.ac.uk:80/ena/cram/md5/%s"; + if (!local_cache || *local_cache == '\0') { + const char *extra; + const char *base = get_cache_basedir(&extra); + snprintf(cache,PATH_MAX, "%s%s/hts-ref/%%2s/%%2s/%%s", base, extra); + local_cache = cache; + if (fd->verbose) + fprintf(stderr, "Populating local cache: %s\n", local_cache); + } + } + + if (!r->name) + return -1; + + if (!(ty = sam_hdr_find(fd->header, "SQ", "SN", r->name))) + return -1; + + if (!(tag = sam_hdr_find_key(fd->header, ty, "M5", NULL))) + goto no_M5; + + if (fd->verbose) + fprintf(stderr, "Querying ref %s\n", tag->str+3); + + /* Use cache if available */ + if (local_cache && *local_cache) { + struct stat sb; + BGZF *fp; + + expand_cache_path(path, local_cache, tag->str+3); + + if (0 == stat(path, &sb) && (fp = bgzf_open(path, "r"))) { + r->length = sb.st_size; + r->offset = r->line_length = r->bases_per_line = 0; + + r->fn = string_dup(fd->refs->pool, path); + + if (fd->refs->fp) + if (bgzf_close(fd->refs->fp) != 0) + return -1; + fd->refs->fp = fp; + fd->refs->fn = r->fn; + + // Fall back to cram_get_ref() where it'll do the actual + // reading of the file. + return 0; + } + } + + /* Otherwise search */ + if ((mf = open_path_mfile(tag->str+3, ref_path, NULL))) { + size_t sz; + r->seq = mfsteal(mf, &sz); + r->length = sz; + } else { + refs_t *refs; + char *fn; + + no_M5: + /* Failed to find in search path or M5 cache, see if @SQ UR: tag? */ + if (!(tag = sam_hdr_find_key(fd->header, ty, "UR", NULL))) + return -1; + + fn = (strncmp(tag->str+3, "file:", 5) == 0) + ? tag->str+8 + : tag->str+3; + + if (fd->refs->fp) { + if (bgzf_close(fd->refs->fp) != 0) + return -1; + fd->refs->fp = NULL; + } + if (!(refs = refs_load_fai(fd->refs, fn, 0))) + return -1; + fd->refs = refs; + if (fd->refs->fp) { + if (bgzf_close(fd->refs->fp) != 0) + return -1; + fd->refs->fp = NULL; + } + + if (!fd->refs->fn) + return -1; + + if (-1 == refs2id(fd->refs, fd->header)) + return -1; + if (!fd->refs->ref_id || !fd->refs->ref_id[id]) + return -1; + + // Local copy already, so fall back to cram_get_ref(). + return 0; + } + + /* Populate the local disk cache if required */ + if (local_cache && *local_cache) { + FILE *fp; + int i; + + expand_cache_path(path, local_cache, tag->str+3); + if (fd->verbose) + fprintf(stderr, "Path='%s'\n", path); + mkdir_prefix(path, 01777); + + i = 0; + do { + sprintf(path_tmp, "%s.tmp_%d", path, /*getpid(),*/ i); + i++; + fp = fopen(path_tmp, "wx"); + } while (fp == NULL && errno == EEXIST); + if (!fp) { + perror(path_tmp); + + // Not fatal - we have the data already so keep going. + return 0; + } + + if (r->length != fwrite(r->seq, 1, r->length, fp)) { + perror(path); + } + if (-1 == paranoid_fclose(fp)) { + unlink(path_tmp); + } else { + if (0 == chmod(path_tmp, 0444)) + rename(path_tmp, path); + else + unlink(path_tmp); + } + } + + return 0; +} + +static void cram_ref_incr_locked(refs_t *r, int id) { + RP("%d INC REF %d, %d %p\n", gettid(), id, (int)(id>=0?r->ref_id[id]->count+1:-999), id>=0?r->ref_id[id]->seq:(char *)1); + + if (id < 0 || !r->ref_id[id]->seq) + return; + + if (r->last_id == id) + r->last_id = -1; + + ++r->ref_id[id]->count; +} + +void cram_ref_incr(refs_t *r, int id) { + pthread_mutex_lock(&r->lock); + cram_ref_incr_locked(r, id); + pthread_mutex_unlock(&r->lock); +} + +static void cram_ref_decr_locked(refs_t *r, int id) { + RP("%d DEC REF %d, %d %p\n", gettid(), id, (int)(id>=0?r->ref_id[id]->count-1:-999), id>=0?r->ref_id[id]->seq:(char *)1); + + if (id < 0 || !r->ref_id[id]->seq) { + assert(r->ref_id[id]->count >= 0); + return; + } + + if (--r->ref_id[id]->count <= 0) { + assert(r->ref_id[id]->count == 0); + if (r->last_id >= 0) { + if (r->ref_id[r->last_id]->count <= 0 && + r->ref_id[r->last_id]->seq) { + RP("%d FREE REF %d (%p)\n", gettid(), + r->last_id, r->ref_id[r->last_id]->seq); + free(r->ref_id[r->last_id]->seq); + r->ref_id[r->last_id]->seq = NULL; + r->ref_id[r->last_id]->length = 0; + } + } + r->last_id = id; + } +} + +void cram_ref_decr(refs_t *r, int id) { + pthread_mutex_lock(&r->lock); + cram_ref_decr_locked(r, id); + pthread_mutex_unlock(&r->lock); +} + +/* + * Used by cram_ref_load and cram_ref_get. The file handle will have + * already been opened, so we can catch it. The ref_entry *e informs us + * of whether this is a multi-line fasta file or a raw MD5 style file. + * Either way we create a single contiguous sequence. + * + * Returns all or part of a reference sequence on success (malloced); + * NULL on failure. + */ +static char *load_ref_portion(BGZF *fp, ref_entry *e, int start, int end) { + off_t offset, len; + char *seq; + + if (end < start) + end = start; + + /* + * Compute locations in file. This is trivial for the MD5 files, but + * is still necessary for the fasta variants. + */ + offset = e->line_length + ? e->offset + (start-1)/e->bases_per_line * e->line_length + + (start-1) % e->bases_per_line + : start-1; + + len = (e->line_length + ? e->offset + (end-1)/e->bases_per_line * e->line_length + + (end-1) % e->bases_per_line + : end-1) - offset + 1; + + if (bgzf_useek(fp, offset, SEEK_SET) < 0) { + perror("bgzf_useek() on reference file"); + return NULL; + } + + if (len == 0 || !(seq = malloc(len))) { + return NULL; + } + + if (len != bgzf_read(fp, seq, len)) { + perror("bgzf_read() on reference file"); + free(seq); + return NULL; + } + + /* Strip white-space if required. */ + if (len != end-start+1) { + int i, j; + char *cp = seq; + char *cp_to; + + for (i = j = 0; i < len; i++) { + if (cp[i] >= '!' && cp[i] <= '~') + cp[j++] = cp[i] & ~0x20; + } + cp_to = cp+j; + + if (cp_to - seq != end-start+1) { + fprintf(stderr, "Malformed reference file?\n"); + free(seq); + return NULL; + } + } else { + int i; + for (i = 0; i < len; i++) { + seq[i] = seq[i] & ~0x20; // uppercase in ASCII + } + } + + return seq; +} + +/* + * Load the entire reference 'id'. + * This also increments the reference count by 1. + * + * Returns ref_entry on success; + * NULL on failure + */ +ref_entry *cram_ref_load(refs_t *r, int id) { + ref_entry *e = r->ref_id[id]; + int start = 1, end = e->length; + char *seq; + + if (e->seq) { + return e; + } + + assert(e->count == 0); + + if (r->last) { +#ifdef REF_DEBUG + int idx = 0; + for (idx = 0; idx < r->nref; idx++) + if (r->last == r->ref_id[idx]) + break; + RP("%d cram_ref_load DECR %d\n", gettid(), idx); +#endif + assert(r->last->count > 0); + if (--r->last->count <= 0) { + RP("%d FREE REF %d (%p)\n", gettid(), id, r->ref_id[id]->seq); + if (r->last->seq) { + free(r->last->seq); + r->last->seq = NULL; + } + } + } + + /* Open file if it's not already the current open reference */ + if (strcmp(r->fn, e->fn) || r->fp == NULL) { + if (r->fp) + if (bgzf_close(r->fp) != 0) + return NULL; + r->fn = e->fn; + if (!(r->fp = bgzf_open_ref(r->fn, "r"))) + return NULL; + } + + RP("%d Loading ref %d (%d..%d)\n", gettid(), id, start, end); + + if (!(seq = load_ref_portion(r->fp, e, start, end))) { + return NULL; + } + + RP("%d Loaded ref %d (%d..%d) = %p\n", gettid(), id, start, end, seq); + + RP("%d INC REF %d, %d\n", gettid(), id, (int)(e->count+1)); + e->seq = seq; + e->count++; + + /* + * Also keep track of last used ref so incr/decr loops on the same + * sequence don't cause load/free loops. + */ + RP("%d cram_ref_load INCR %d => %d\n", gettid(), id, e->count+1); + r->last = e; + e->count++; + + return e; +} + +/* + * Returns a portion of a reference sequence from start to end inclusive. + * The returned pointer is owned by either the cram_file fd or by the + * internal refs_t structure and should not be freed by the caller. + * + * The difference is whether or not this refs_t is in use by just the one + * cram_fd or by multiples, or whether we have multiple threads accessing + * references. In either case fd->shared will be true and we start using + * reference counting to track the number of users of a specific reference + * sequence. + * + * Otherwise the ref seq returned is allocated as part of cram_fd itself + * and will be freed up on the next call to cram_get_ref or cram_close. + * + * To return the entire reference sequence, specify start as 1 and end + * as 0. + * + * To cease using a reference, call cram_ref_decr(). + * + * Returns reference on success, + * NULL on failure + */ +char *cram_get_ref(cram_fd *fd, int id, int start, int end) { + ref_entry *r; + char *seq; + int ostart = start; + + if (id == -1) + return NULL; + + /* FIXME: axiomatic query of r->seq being true? + * Or shortcut for unsorted data where we load once and never free? + */ + + //fd->shared_ref = 1; // hard code for now to simplify things + + pthread_mutex_lock(&fd->ref_lock); + + RP("%d cram_get_ref on fd %p, id %d, range %d..%d\n", gettid(), fd, id, start, end); + + /* + * Unsorted data implies we want to fetch an entire reference at a time. + * We just deal with this at the moment by claiming we're sharing + * references instead, which has the same requirement. + */ + if (fd->unsorted) + fd->shared_ref = 1; + + + /* Sanity checking: does this ID exist? */ + if (id >= fd->refs->nref) { + fprintf(stderr, "No reference found for id %d\n", id); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + if (!fd->refs || !fd->refs->ref_id[id]) { + fprintf(stderr, "No reference found for id %d\n", id); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + if (!(r = fd->refs->ref_id[id])) { + fprintf(stderr, "No reference found for id %d\n", id); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + + /* + * It has an entry, but may not have been populated yet. + * Any manually loaded .fai files have their lengths known. + * A ref entry computed from @SQ lines (M5 or UR field) will have + * r->length == 0 unless it's been loaded once and verified that we have + * an on-disk filename for it. + * + * 19 Sep 2013: Moved the lock here as the cram_populate_ref code calls + * open_path_mfile and libcurl, which isn't multi-thread safe unless I + * rewrite my code to have one curl handle per thread. + */ + pthread_mutex_lock(&fd->refs->lock); + if (r->length == 0) { + if (cram_populate_ref(fd, id, r) == -1) { + fprintf(stderr, "Failed to populate reference for id %d\n", id); + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + r = fd->refs->ref_id[id]; + if (fd->unsorted) + cram_ref_incr_locked(fd->refs, id); + } + + + /* + * We now know that we the filename containing the reference, so check + * for limits. If it's over half the reference we'll load all of it in + * memory as this will speed up subsequent calls. + */ + if (end < 1) + end = r->length; + if (end >= r->length) + end = r->length; + assert(start >= 1); + + if (end - start >= 0.5*r->length || fd->shared_ref) { + start = 1; + end = r->length; + } + + /* + * Maybe we have it cached already? If so use it. + * + * Alternatively if we don't have the sequence but we're sharing + * references and/or are asking for the entire length of it, then + * load the full reference into the refs structure and return + * a pointer to that one instead. + */ + if (fd->shared_ref || r->seq || (start == 1 && end == r->length)) { + char *cp; + + if (id >= 0) { + if (r->seq) { + cram_ref_incr_locked(fd->refs, id); + } else { + ref_entry *e; + if (!(e = cram_ref_load(fd->refs, id))) { + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + /* unsorted data implies cache ref indefinitely, to avoid + * continually loading and unloading. + */ + if (fd->unsorted) + cram_ref_incr_locked(fd->refs, id); + } + + fd->ref = NULL; /* We never access it directly */ + fd->ref_start = 1; + fd->ref_end = r->length; + fd->ref_id = id; + + cp = fd->refs->ref_id[id]->seq + ostart-1; + } else { + fd->ref = NULL; + cp = NULL; + } + + RP("%d cram_get_ref returning for id %d, count %d\n", gettid(), id, (int)r->count); + + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return cp; + } + + /* + * Otherwise we're not sharing, we don't have a copy of it already and + * we're only asking for a small portion of it. + * + * In this case load up just that segment ourselves, freeing any old + * small segments in the process. + */ + + /* Unmapped ref ID */ + if (id < 0) { + if (fd->ref_free) { + free(fd->ref_free); + fd->ref_free = NULL; + } + fd->ref = NULL; + fd->ref_id = id; + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + /* Open file if it's not already the current open reference */ + if (strcmp(fd->refs->fn, r->fn) || fd->refs->fp == NULL) { + if (fd->refs->fp) + if (bgzf_close(fd->refs->fp) != 0) + return NULL; + fd->refs->fn = r->fn; + if (!(fd->refs->fp = bgzf_open_ref(fd->refs->fn, "r"))) { + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + } + + if (!(fd->ref = load_ref_portion(fd->refs->fp, r, start, end))) { + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + return NULL; + } + + if (fd->ref_free) + free(fd->ref_free); + + fd->ref_id = id; + fd->ref_start = start; + fd->ref_end = end; + fd->ref_free = fd->ref; + seq = fd->ref; + + pthread_mutex_unlock(&fd->refs->lock); + pthread_mutex_unlock(&fd->ref_lock); + + return seq + ostart - start; +} + +/* + * If fd has been opened for reading, it may be permitted to specify 'fn' + * as NULL and let the code auto-detect the reference by parsing the + * SAM header @SQ lines. + */ +int cram_load_reference(cram_fd *fd, char *fn) { + if (fn) { + fd->refs = refs_load_fai(fd->refs, fn, + !(fd->embed_ref && fd->mode == 'r')); + fn = fd->refs ? fd->refs->fn : NULL; + } + fd->ref_fn = fn; + + if ((!fd->refs || (fd->refs->nref == 0 && !fn)) && fd->header) { + if (fd->refs) + refs_free(fd->refs); + if (!(fd->refs = refs_create())) + return -1; + if (-1 == refs_from_header(fd->refs, fd, fd->header)) + return -1; + } + + if (fd->header) + if (-1 == refs2id(fd->refs, fd->header)) + return -1; + + return fn ? 0 : -1; +} + +/* ---------------------------------------------------------------------- + * Containers + */ + +/* + * Creates a new container, specifying the maximum number of slices + * and records permitted. + * + * Returns cram_container ptr on success + * NULL on failure + */ +cram_container *cram_new_container(int nrec, int nslice) { + cram_container *c = calloc(1, sizeof(*c)); + enum cram_DS_ID id; + + if (!c) + return NULL; + + c->curr_ref = -2; + + c->max_c_rec = nrec * nslice; + c->curr_c_rec = 0; + + c->max_rec = nrec; + c->record_counter = 0; + c->num_bases = 0; + + c->max_slice = nslice; + c->curr_slice = 0; + + c->pos_sorted = 1; + c->max_apos = 0; + c->multi_seq = 0; + + c->bams = NULL; + + if (!(c->slices = (cram_slice **)calloc(nslice, sizeof(cram_slice *)))) + goto err; + c->slice = NULL; + + if (!(c->comp_hdr = cram_new_compression_header())) + goto err; + c->comp_hdr_block = NULL; + + for (id = DS_RN; id < DS_TN; id++) + if (!(c->stats[id] = cram_stats_create())) goto err; + + //c->aux_B_stats = cram_stats_create(); + + if (!(c->tags_used = kh_init(s_i2i))) + goto err; + c->refs_used = 0; + + return c; + + err: + if (c) { + if (c->slices) + free(c->slices); + free(c); + } + return NULL; +} + +void cram_free_container(cram_container *c) { + enum cram_DS_ID id; + int i; + + if (!c) + return; + + if (c->refs_used) + free(c->refs_used); + + if (c->landmark) + free(c->landmark); + + if (c->comp_hdr) + cram_free_compression_header(c->comp_hdr); + + if (c->comp_hdr_block) + cram_free_block(c->comp_hdr_block); + + if (c->slices) { + for (i = 0; i < c->max_slice; i++) + if (c->slices[i]) + cram_free_slice(c->slices[i]); + free(c->slices); + } + + for (id = DS_RN; id < DS_TN; id++) + if (c->stats[id]) cram_stats_free(c->stats[id]); + + //if (c->aux_B_stats) cram_stats_free(c->aux_B_stats); + + if (c->tags_used) kh_destroy(s_i2i, c->tags_used); + + free(c); +} + +/* + * Reads a container header. + * + * Returns cram_container on success + * NULL on failure or no container left (fd->err == 0). + */ +cram_container *cram_read_container(cram_fd *fd) { + cram_container c2, *c; + int i, s; + size_t rd = 0; + + fd->err = 0; + fd->eof = 0; + + memset(&c2, 0, sizeof(c2)); + if (CRAM_MAJOR_VERS(fd->version) == 1) { + if ((s = itf8_decode(fd, &c2.length)) == -1) { + fd->eof = fd->empty_container ? 1 : 2; + return NULL; + } else { + rd+=s; + } + } else { + if ((s = int32_decode(fd, &c2.length)) == -1) { + if (CRAM_MAJOR_VERS(fd->version) == 2 && + CRAM_MINOR_VERS(fd->version) == 0) + fd->eof = 1; // EOF blocks arrived in v2.1 + else + fd->eof = fd->empty_container ? 1 : 2; + return NULL; + } else { + rd+=s; + } + } + if ((s = itf8_decode(fd, &c2.ref_seq_id)) == -1) return NULL; else rd+=s; + if ((s = itf8_decode(fd, &c2.ref_seq_start))== -1) return NULL; else rd+=s; + if ((s = itf8_decode(fd, &c2.ref_seq_span)) == -1) return NULL; else rd+=s; + if ((s = itf8_decode(fd, &c2.num_records)) == -1) return NULL; else rd+=s; + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + c2.record_counter = 0; + c2.num_bases = 0; + } else { + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + if ((s = ltf8_decode(fd, &c2.record_counter)) == -1) + return NULL; + else + rd += s; + } else { + int32_t i32; + if ((s = itf8_decode(fd, &i32)) == -1) + return NULL; + else + rd += s; + c2.record_counter = i32; + } + + if ((s = ltf8_decode(fd, &c2.num_bases))== -1) + return NULL; + else + rd += s; + } + if ((s = itf8_decode(fd, &c2.num_blocks)) == -1) return NULL; else rd+=s; + if ((s = itf8_decode(fd, &c2.num_landmarks))== -1) return NULL; else rd+=s; + + if (!(c = calloc(1, sizeof(*c)))) + return NULL; + + *c = c2; + + if (!(c->landmark = malloc(c->num_landmarks * sizeof(int32_t))) && + c->num_landmarks) { + fd->err = errno; + cram_free_container(c); + return NULL; + } + for (i = 0; i < c->num_landmarks; i++) { + if ((s = itf8_decode(fd, &c->landmark[i])) == -1) { + cram_free_container(c); + return NULL; + } else { + rd += s; + } + } + + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + uint32_t crc, i; + unsigned char *dat = malloc(50 + 5*(c->num_landmarks)), *cp = dat; + if (!dat) { + cram_free_container(c); + return NULL; + } + if (-1 == int32_decode(fd, (int32_t *)&c->crc32)) + return NULL; + else + rd+=4; + + /* Reencode first as we can't easily access the original byte stream. + * + * FIXME: Technically this means this may not be fool proof. We could + * create a CRAM file using a 2 byte ITF8 value that can fit in a + * 1 byte field, meaning the encoding is different to the original + * form and so has a different CRC. + * + * The correct implementation would be to have an alternative form + * of itf8_decode which also squirrels away the raw byte stream + * during decoding so we can then CRC that. + */ + *(unsigned int *)cp = le_int4(c->length); cp += 4; + cp += itf8_put(cp, c->ref_seq_id); + cp += itf8_put(cp, c->ref_seq_start); + cp += itf8_put(cp, c->ref_seq_span); + cp += itf8_put(cp, c->num_records); + cp += ltf8_put((char *)cp, c->record_counter); + cp += itf8_put(cp, c->num_bases); + cp += itf8_put(cp, c->num_blocks); + cp += itf8_put(cp, c->num_landmarks); + for (i = 0; i < c->num_landmarks; i++) { + cp += itf8_put(cp, c->landmark[i]); + } + + crc = crc32(0L, dat, cp-dat); + if (crc != c->crc32) { + fprintf(stderr, "Container header CRC32 failure\n"); + cram_free_container(c); + return NULL; + } + } + + c->offset = rd; + c->slices = NULL; + c->curr_slice = 0; + c->max_slice = c->num_landmarks; + c->slice_rec = 0; + c->curr_rec = 0; + c->max_rec = 0; + + if (c->ref_seq_id == -2) { + c->multi_seq = 1; + fd->multi_seq = 1; + } + + fd->empty_container = + (c->num_records == 0 && + c->ref_seq_id == -1 && + c->ref_seq_start == 0x454f46 /* EOF */) ? 1 : 0; + + return c; +} + +/* + * Writes a container structure. + * + * Returns 0 on success + * -1 on failure + */ +int cram_write_container(cram_fd *fd, cram_container *c) { + char buf_a[1024], *buf = buf_a, *cp; + int i; + + if (55 + c->num_landmarks * 5 >= 1024) + buf = malloc(55 + c->num_landmarks * 5); + cp = buf; + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + cp += itf8_put(cp, c->length); + } else { + *(int32_t *)cp = le_int4(c->length); + cp += 4; + } + if (c->multi_seq) { + cp += itf8_put(cp, -2); + cp += itf8_put(cp, 0); + cp += itf8_put(cp, 0); + } else { + cp += itf8_put(cp, c->ref_seq_id); + cp += itf8_put(cp, c->ref_seq_start); + cp += itf8_put(cp, c->ref_seq_span); + } + cp += itf8_put(cp, c->num_records); + if (CRAM_MAJOR_VERS(fd->version) == 2) { + cp += itf8_put(cp, c->record_counter); + cp += ltf8_put(cp, c->num_bases); + } else if (CRAM_MAJOR_VERS(fd->version) >= 3) { + cp += ltf8_put(cp, c->record_counter); + cp += ltf8_put(cp, c->num_bases); + } + + cp += itf8_put(cp, c->num_blocks); + cp += itf8_put(cp, c->num_landmarks); + for (i = 0; i < c->num_landmarks; i++) + cp += itf8_put(cp, c->landmark[i]); + + if (CRAM_MAJOR_VERS(fd->version) >= 3) { + c->crc32 = crc32(0L, (uc *)buf, cp-buf); + cp[0] = c->crc32 & 0xff; + cp[1] = (c->crc32 >> 8) & 0xff; + cp[2] = (c->crc32 >> 16) & 0xff; + cp[3] = (c->crc32 >> 24) & 0xff; + cp += 4; + } + + if (cp-buf != hwrite(fd->fp, buf, cp-buf)) { + if (buf != buf_a) + free(buf); + return -1; + } + + if (buf != buf_a) + free(buf); + + return 0; +} + +// common component shared by cram_flush_container{,_mt} +static int cram_flush_container2(cram_fd *fd, cram_container *c) { + int i, j; + + //fprintf(stderr, "Writing container %d, sum %u\n", c->record_counter, sum); + + /* Write the container struct itself */ + if (0 != cram_write_container(fd, c)) + return -1; + + /* And the compression header */ + if (0 != cram_write_block(fd, c->comp_hdr_block)) + return -1; + + /* Followed by the slice blocks */ + for (i = 0; i < c->curr_slice; i++) { + cram_slice *s = c->slices[i]; + + if (0 != cram_write_block(fd, s->hdr_block)) + return -1; + + for (j = 0; j < s->hdr->num_blocks; j++) { + if (0 != cram_write_block(fd, s->block[j])) + return -1; + } + } + + return hflush(fd->fp) == 0 ? 0 : -1; +} + +/* + * Flushes a completely or partially full container to disk, writing + * container structure, header and blocks. This also calls the encoder + * functions. + * + * Returns 0 on success + * -1 on failure + */ +int cram_flush_container(cram_fd *fd, cram_container *c) { + /* Encode the container blocks and generate compression header */ + if (0 != cram_encode_container(fd, c)) + return -1; + + return cram_flush_container2(fd, c); +} + +typedef struct { + cram_fd *fd; + cram_container *c; +} cram_job; + +void *cram_flush_thread(void *arg) { + cram_job *j = (cram_job *)arg; + + /* Encode the container blocks and generate compression header */ + if (0 != cram_encode_container(j->fd, j->c)) { + fprintf(stderr, "cram_encode_container failed\n"); + return NULL; + } + + return arg; +} + +static int cram_flush_result(cram_fd *fd) { + int i, ret = 0; + t_pool_result *r; + + while ((r = t_pool_next_result(fd->rqueue))) { + cram_job *j = (cram_job *)r->data; + cram_container *c; + + if (!j) { + t_pool_delete_result(r, 0); + return -1; + } + + fd = j->fd; + c = j->c; + + if (0 != cram_flush_container2(fd, c)) + return -1; + + /* Free the container */ + for (i = 0; i < c->max_slice; i++) { + cram_free_slice(c->slices[i]); + c->slices[i] = NULL; + } + + c->slice = NULL; + c->curr_slice = 0; + + cram_free_container(c); + + ret |= hflush(fd->fp) == 0 ? 0 : -1; + + t_pool_delete_result(r, 1); + } + + return ret; +} + +int cram_flush_container_mt(cram_fd *fd, cram_container *c) { + cram_job *j; + + if (!fd->pool) + return cram_flush_container(fd, c); + + if (!(j = malloc(sizeof(*j)))) + return -1; + j->fd = fd; + j->c = c; + + t_pool_dispatch(fd->pool, fd->rqueue, cram_flush_thread, j); + + return cram_flush_result(fd); +} + +/* ---------------------------------------------------------------------- + * Compression headers; the first part of the container + */ + +/* + * Creates a new blank container compression header + * + * Returns header ptr on success + * NULL on failure + */ +cram_block_compression_hdr *cram_new_compression_header(void) { + cram_block_compression_hdr *hdr = calloc(1, sizeof(*hdr)); + if (!hdr) + return NULL; + + if (!(hdr->TD_blk = cram_new_block(CORE, 0))) { + free(hdr); + return NULL; + } + + if (!(hdr->TD_hash = kh_init(m_s2i))) { + cram_free_block(hdr->TD_blk); + free(hdr); + return NULL; + } + + if (!(hdr->TD_keys = string_pool_create(8192))) { + kh_destroy(m_s2i, hdr->TD_hash); + cram_free_block(hdr->TD_blk); + free(hdr); + return NULL; + } + + return hdr; +} + +void cram_free_compression_header(cram_block_compression_hdr *hdr) { + int i; + + if (hdr->landmark) + free(hdr->landmark); + + if (hdr->preservation_map) + kh_destroy(map, hdr->preservation_map); + + for (i = 0; i < CRAM_MAP_HASH; i++) { + cram_map *m, *m2; + for (m = hdr->rec_encoding_map[i]; m; m = m2) { + m2 = m->next; + if (m->codec) + m->codec->free(m->codec); + free(m); + } + } + + for (i = 0; i < CRAM_MAP_HASH; i++) { + cram_map *m, *m2; + for (m = hdr->tag_encoding_map[i]; m; m = m2) { + m2 = m->next; + if (m->codec) + m->codec->free(m->codec); + free(m); + } + } + + for (i = 0; i < DS_END; i++) { + if (hdr->codecs[i]) + hdr->codecs[i]->free(hdr->codecs[i]); + } + + if (hdr->TL) + free(hdr->TL); + if (hdr->TD_blk) + cram_free_block(hdr->TD_blk); + if (hdr->TD_hash) + kh_destroy(m_s2i, hdr->TD_hash); + if (hdr->TD_keys) + string_pool_destroy(hdr->TD_keys); + + free(hdr); +} + + +/* ---------------------------------------------------------------------- + * Slices and slice headers + */ + +void cram_free_slice_header(cram_block_slice_hdr *hdr) { + if (!hdr) + return; + + if (hdr->block_content_ids) + free(hdr->block_content_ids); + + free(hdr); + + return; +} + +void cram_free_slice(cram_slice *s) { + if (!s) + return; + + if (s->hdr_block) + cram_free_block(s->hdr_block); + + if (s->block) { + int i; + + if (s->hdr) { + for (i = 0; i < s->hdr->num_blocks; i++) { + cram_free_block(s->block[i]); + } + } + free(s->block); + } + + if (s->block_by_id) + free(s->block_by_id); + + if (s->hdr) + cram_free_slice_header(s->hdr); + + if (s->seqs_blk) + cram_free_block(s->seqs_blk); + + if (s->qual_blk) + cram_free_block(s->qual_blk); + + if (s->name_blk) + cram_free_block(s->name_blk); + + if (s->aux_blk) + cram_free_block(s->aux_blk); + + if (s->aux_OQ_blk) + cram_free_block(s->aux_OQ_blk); + + if (s->aux_BQ_blk) + cram_free_block(s->aux_BQ_blk); + + if (s->aux_FZ_blk) + cram_free_block(s->aux_FZ_blk); + + if (s->aux_oq_blk) + cram_free_block(s->aux_oq_blk); + + if (s->aux_os_blk) + cram_free_block(s->aux_os_blk); + + if (s->aux_oz_blk) + cram_free_block(s->aux_oz_blk); + + if (s->base_blk) + cram_free_block(s->base_blk); + + if (s->soft_blk) + cram_free_block(s->soft_blk); + + if (s->cigar) + free(s->cigar); + + if (s->crecs) + free(s->crecs); + + if (s->features) + free(s->features); + + if (s->TN) + free(s->TN); + + if (s->pair_keys) + string_pool_destroy(s->pair_keys); + + if (s->pair[0]) + kh_destroy(m_s2i, s->pair[0]); + if (s->pair[1]) + kh_destroy(m_s2i, s->pair[1]); + + free(s); +} + +/* + * Creates a new empty slice in memory, for subsequent writing to + * disk. + * + * Returns cram_slice ptr on success + * NULL on failure + */ +cram_slice *cram_new_slice(enum cram_content_type type, int nrecs) { + cram_slice *s = calloc(1, sizeof(*s)); + if (!s) + return NULL; + + if (!(s->hdr = (cram_block_slice_hdr *)calloc(1, sizeof(*s->hdr)))) + goto err; + s->hdr->content_type = type; + + s->hdr_block = NULL; + s->block = NULL; + s->block_by_id = NULL; + s->last_apos = 0; + if (!(s->crecs = malloc(nrecs * sizeof(cram_record)))) goto err; + s->cigar = NULL; + s->cigar_alloc = 0; + s->ncigar = 0; + + if (!(s->seqs_blk = cram_new_block(EXTERNAL, 0))) goto err; + if (!(s->qual_blk = cram_new_block(EXTERNAL, DS_QS))) goto err; + if (!(s->name_blk = cram_new_block(EXTERNAL, DS_RN))) goto err; + if (!(s->aux_blk = cram_new_block(EXTERNAL, DS_aux))) goto err; + if (!(s->base_blk = cram_new_block(EXTERNAL, DS_IN))) goto err; + if (!(s->soft_blk = cram_new_block(EXTERNAL, DS_SC))) goto err; + + s->features = NULL; + s->nfeatures = s->afeatures = 0; + +#ifndef TN_external + s->TN = NULL; + s->nTN = s->aTN = 0; +#endif + + // Volatile keys as we do realloc in dstring + if (!(s->pair_keys = string_pool_create(8192))) goto err; + if (!(s->pair[0] = kh_init(m_s2i))) goto err; + if (!(s->pair[1] = kh_init(m_s2i))) goto err; + +#ifdef BA_external + s->BA_len = 0; +#endif + + return s; + + err: + if (s) + cram_free_slice(s); + + return NULL; +} + +/* + * Loads an entire slice. + * FIXME: In 1.0 the native unit of slices within CRAM is broken + * as slices contain references to objects in other slices. + * To work around this while keeping the slice oriented outer loop + * we read all slices and stitch them together into a fake large + * slice instead. + * + * Returns cram_slice ptr on success + * NULL on failure + */ +cram_slice *cram_read_slice(cram_fd *fd) { + cram_block *b = cram_read_block(fd); + cram_slice *s = calloc(1, sizeof(*s)); + int i, n, max_id, min_id; + + if (!b || !s) + goto err; + + s->hdr_block = b; + switch (b->content_type) { + case MAPPED_SLICE: + case UNMAPPED_SLICE: + if (!(s->hdr = cram_decode_slice_header(fd, b))) + goto err; + break; + + default: + fprintf(stderr, "Unexpected block of type %s\n", + cram_content_type2str(b->content_type)); + goto err; + } + + s->block = calloc(n = s->hdr->num_blocks, sizeof(*s->block)); + if (!s->block) + goto err; + + for (max_id = i = 0, min_id = INT_MAX; i < n; i++) { + if (!(s->block[i] = cram_read_block(fd))) + goto err; + + if (s->block[i]->content_type == EXTERNAL) { + if (max_id < s->block[i]->content_id) + max_id = s->block[i]->content_id; + if (min_id > s->block[i]->content_id) + min_id = s->block[i]->content_id; + } + } + if (min_id >= 0 && max_id < 1024) { + if (!(s->block_by_id = calloc(1024, sizeof(s->block[0])))) + goto err; + + for (i = 0; i < n; i++) { + if (s->block[i]->content_type != EXTERNAL) + continue; + s->block_by_id[s->block[i]->content_id] = s->block[i]; + } + } + + /* Initialise encoding/decoding tables */ + s->cigar = NULL; + s->cigar_alloc = 0; + s->ncigar = 0; + + if (!(s->seqs_blk = cram_new_block(EXTERNAL, 0))) goto err; + if (!(s->qual_blk = cram_new_block(EXTERNAL, DS_QS))) goto err; + if (!(s->name_blk = cram_new_block(EXTERNAL, DS_RN))) goto err; + if (!(s->aux_blk = cram_new_block(EXTERNAL, DS_aux))) goto err; + if (!(s->base_blk = cram_new_block(EXTERNAL, DS_IN))) goto err; + if (!(s->soft_blk = cram_new_block(EXTERNAL, DS_SC))) goto err; + + s->crecs = NULL; + + s->last_apos = s->hdr->ref_seq_start; + + return s; + + err: + if (b) + cram_free_block(b); + if (s) { + s->hdr_block = NULL; + cram_free_slice(s); + } + return NULL; +} + + +/* ---------------------------------------------------------------------- + * CRAM file definition (header) + */ + +/* + * Reads a CRAM file definition structure. + * Returns file_def ptr on success + * NULL on failure + */ +cram_file_def *cram_read_file_def(cram_fd *fd) { + cram_file_def *def = malloc(sizeof(*def)); + if (!def) + return NULL; + + if (26 != hread(fd->fp, &def->magic[0], 26)) { + free(def); + return NULL; + } + + if (memcmp(def->magic, "CRAM", 4) != 0) { + free(def); + return NULL; + } + + if (def->major_version > 3) { + fprintf(stderr, "CRAM version number mismatch\n" + "Expected 1.x, 2.x or 3.x, got %d.%d\n", + def->major_version, def->minor_version); + free(def); + return NULL; + } + + fd->first_container += 26; + fd->last_slice = 0; + + return def; +} + +/* + * Writes a cram_file_def structure to cram_fd. + * Returns 0 on success + * -1 on failure + */ +int cram_write_file_def(cram_fd *fd, cram_file_def *def) { + return (hwrite(fd->fp, &def->magic[0], 26) == 26) ? 0 : -1; +} + +void cram_free_file_def(cram_file_def *def) { + if (def) free(def); +} + +/* ---------------------------------------------------------------------- + * SAM header I/O + */ + + +/* + * Reads the SAM header from the first CRAM data block. + * Also performs minimal parsing to extract read-group + * and sample information. + + * Returns SAM hdr ptr on success + * NULL on failure + */ +SAM_hdr *cram_read_SAM_hdr(cram_fd *fd) { + int32_t header_len; + char *header; + SAM_hdr *hdr; + + /* 1.1 onwards stores the header in the first block of a container */ + if (CRAM_MAJOR_VERS(fd->version) == 1) { + /* Length */ + if (-1 == int32_decode(fd, &header_len)) + return NULL; + + /* Alloc and read */ + if (NULL == (header = malloc(header_len+1))) + return NULL; + + *header = 0; + if (header_len != hread(fd->fp, header, header_len)) + return NULL; + + fd->first_container += 4 + header_len; + } else { + cram_container *c = cram_read_container(fd); + cram_block *b; + int i, len; + + if (!c) + return NULL; + + if (c->num_blocks < 1) { + cram_free_container(c); + return NULL; + } + + if (!(b = cram_read_block(fd))) { + cram_free_container(c); + return NULL; + } + cram_uncompress_block(b); + + len = b->comp_size + 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + + itf8_size(b->content_id) + + itf8_size(b->uncomp_size) + + itf8_size(b->comp_size); + + /* Extract header from 1st block */ + if (-1 == int32_get(b, &header_len) || + b->uncomp_size - 4 < header_len) { + cram_free_container(c); + cram_free_block(b); + return NULL; + } + if (NULL == (header = malloc(header_len+1))) { + cram_free_container(c); + cram_free_block(b); + return NULL; + } + memcpy(header, BLOCK_END(b), header_len); + header[header_len]='\0'; + cram_free_block(b); + + /* Consume any remaining blocks */ + for (i = 1; i < c->num_blocks; i++) { + if (!(b = cram_read_block(fd))) { + cram_free_container(c); + return NULL; + } + len += b->comp_size + 2 + 4*(CRAM_MAJOR_VERS(fd->version) >= 3) + + itf8_size(b->content_id) + + itf8_size(b->uncomp_size) + + itf8_size(b->comp_size); + cram_free_block(b); + } + + if (c->length && c->length > len) { + // Consume padding + char *pads = malloc(c->length - len); + if (!pads) { + cram_free_container(c); + return NULL; + } + + if (c->length - len != hread(fd->fp, pads, c->length - len)) { + cram_free_container(c); + return NULL; + } + free(pads); + } + + cram_free_container(c); + } + + /* Parse */ + hdr = sam_hdr_parse_(header, header_len); + free(header); + + return hdr; +} + +/* + * Converts 'in' to a full pathname to store in out. + * Out must be at least PATH_MAX bytes long. + */ +static void full_path(char *out, char *in) { + if (*in == '/') { + strncpy(out, in, PATH_MAX); + out[PATH_MAX-1] = 0; + } else { + int len; + + // unable to get dir or out+in is too long + if (!getcwd(out, PATH_MAX) || + (len = strlen(out))+1+strlen(in) >= PATH_MAX) { + strncpy(out, in, PATH_MAX); + out[PATH_MAX-1] = 0; + return; + } + + sprintf(out+len, "/%.*s", PATH_MAX - len, in); + + // FIXME: cope with `pwd`/../../../foo.fa ? + } +} + +/* + * Writes a CRAM SAM header. + * Returns 0 on success + * -1 on failure + */ +int cram_write_SAM_hdr(cram_fd *fd, SAM_hdr *hdr) { + int header_len; + int blank_block = (CRAM_MAJOR_VERS(fd->version) >= 3); + + /* Write CRAM MAGIC if not yet written. */ + if (fd->file_def->major_version == 0) { + fd->file_def->major_version = CRAM_MAJOR_VERS(fd->version); + fd->file_def->minor_version = CRAM_MINOR_VERS(fd->version); + if (0 != cram_write_file_def(fd, fd->file_def)) + return -1; + } + + /* 1.0 requires and UNKNOWN read-group */ + if (CRAM_MAJOR_VERS(fd->version) == 1) { + if (!sam_hdr_find_rg(hdr, "UNKNOWN")) + if (sam_hdr_add(hdr, "RG", + "ID", "UNKNOWN", "SM", "UNKNOWN", NULL)) + return -1; + } + + /* Fix M5 strings */ + if (fd->refs && !fd->no_ref) { + int i; + for (i = 0; i < hdr->nref; i++) { + SAM_hdr_type *ty; + char *ref; + + if (!(ty = sam_hdr_find(hdr, "SQ", "SN", hdr->ref[i].name))) + return -1; + + if (!sam_hdr_find_key(hdr, ty, "M5", NULL)) { + char unsigned buf[16], buf2[33]; + int j, rlen; + MD5_CTX md5; + + if (!fd->refs || + !fd->refs->ref_id || + !fd->refs->ref_id[i]) { + return -1; + } + rlen = fd->refs->ref_id[i]->length; + MD5_Init(&md5); + ref = cram_get_ref(fd, i, 1, rlen); + if (NULL == ref) return -1; + rlen = fd->refs->ref_id[i]->length; /* In case it just loaded */ + MD5_Update(&md5, ref, rlen); + MD5_Final(buf, &md5); + cram_ref_decr(fd->refs, i); + + for (j = 0; j < 16; j++) { + buf2[j*2+0] = "0123456789abcdef"[buf[j]>>4]; + buf2[j*2+1] = "0123456789abcdef"[buf[j]&15]; + } + buf2[32] = 0; + if (sam_hdr_update(hdr, ty, "M5", buf2, NULL)) + return -1; + } + + if (fd->ref_fn) { + char ref_fn[PATH_MAX]; + full_path(ref_fn, fd->ref_fn); + if (sam_hdr_update(hdr, ty, "UR", ref_fn, NULL)) + return -1; + } + } + } + + if (sam_hdr_rebuild(hdr)) + return -1; + + /* Length */ + header_len = sam_hdr_length(hdr); + if (CRAM_MAJOR_VERS(fd->version) == 1) { + if (-1 == int32_encode(fd, header_len)) + return -1; + + /* Text data */ + if (header_len != hwrite(fd->fp, sam_hdr_str(hdr), header_len)) + return -1; + } else { + /* Create block(s) inside a container */ + cram_block *b = cram_new_block(FILE_HEADER, 0); + cram_container *c = cram_new_container(0, 0); + int padded_length; + char *pads; + int is_cram_3 = (CRAM_MAJOR_VERS(fd->version) >= 3); + + if (!b || !c) { + if (b) cram_free_block(b); + if (c) cram_free_container(c); + return -1; + } + + int32_put(b, header_len); + BLOCK_APPEND(b, sam_hdr_str(hdr), header_len); + BLOCK_UPLEN(b); + + // Compress header block if V3.0 and above + if (CRAM_MAJOR_VERS(fd->version) >= 3 && fd->level > 0) { + int method = 1<use_bz2) + method |= 1<use_lzma) + method |= 1<level); + } + + if (blank_block) { + c->length = b->comp_size + 2 + 4*is_cram_3 + + itf8_size(b->content_id) + + itf8_size(b->uncomp_size) + + itf8_size(b->comp_size); + + c->num_blocks = 2; + c->num_landmarks = 2; + if (!(c->landmark = malloc(2*sizeof(*c->landmark)))) { + cram_free_block(b); + cram_free_container(c); + return -1; + } + c->landmark[0] = 0; + c->landmark[1] = c->length; + + // Plus extra storage for uncompressed secondary blank block + padded_length = MIN(c->length*.5, 10000); + c->length += padded_length + 2 + 4*is_cram_3 + + itf8_size(b->content_id) + + itf8_size(padded_length)*2; + } else { + // Pad the block instead. + c->num_blocks = 1; + c->num_landmarks = 1; + if (!(c->landmark = malloc(sizeof(*c->landmark)))) + return -1; + c->landmark[0] = 0; + + padded_length = MAX(c->length*1.5, 10000) - c->length; + + c->length = b->comp_size + padded_length + + 2 + 4*is_cram_3 + + itf8_size(b->content_id) + + itf8_size(b->uncomp_size) + + itf8_size(b->comp_size); + + if (NULL == (pads = calloc(1, padded_length))) { + cram_free_block(b); + cram_free_container(c); + return -1; + } + BLOCK_APPEND(b, pads, padded_length); + BLOCK_UPLEN(b); + free(pads); + } + + if (-1 == cram_write_container(fd, c)) { + cram_free_block(b); + cram_free_container(c); + return -1; + } + + if (-1 == cram_write_block(fd, b)) { + cram_free_block(b); + cram_free_container(c); + return -1; + } + + if (blank_block) { + BLOCK_RESIZE(b, padded_length); + memset(BLOCK_DATA(b), 0, padded_length); + BLOCK_SIZE(b) = padded_length; + BLOCK_UPLEN(b); + b->method = RAW; + if (-1 == cram_write_block(fd, b)) { + cram_free_block(b); + cram_free_container(c); + return -1; + } + } + + cram_free_block(b); + cram_free_container(c); + } + + if (-1 == refs_from_header(fd->refs, fd, fd->header)) + return -1; + if (-1 == refs2id(fd->refs, fd->header)) + return -1; + + if (0 != hflush(fd->fp)) + return -1; + + RP("=== Finishing saving header ===\n"); + + return 0; +} + +/* ---------------------------------------------------------------------- + * The top-level cram opening, closing and option handling + */ + +/* + * Initialises the lookup tables. These could be global statics, but they're + * clumsy to setup in a multi-threaded environment unless we generate + * verbatim code and include that. + */ +static void cram_init_tables(cram_fd *fd) { + int i; + + memset(fd->L1, 4, 256); + fd->L1['A'] = 0; fd->L1['a'] = 0; + fd->L1['C'] = 1; fd->L1['c'] = 1; + fd->L1['G'] = 2; fd->L1['g'] = 2; + fd->L1['T'] = 3; fd->L1['t'] = 3; + + memset(fd->L2, 5, 256); + fd->L2['A'] = 0; fd->L2['a'] = 0; + fd->L2['C'] = 1; fd->L2['c'] = 1; + fd->L2['G'] = 2; fd->L2['g'] = 2; + fd->L2['T'] = 3; fd->L2['t'] = 3; + fd->L2['N'] = 4; fd->L2['n'] = 4; + + if (CRAM_MAJOR_VERS(fd->version) == 1) { + for (i = 0; i < 0x200; i++) { + int f = 0; + + if (i & CRAM_FPAIRED) f |= BAM_FPAIRED; + if (i & CRAM_FPROPER_PAIR) f |= BAM_FPROPER_PAIR; + if (i & CRAM_FUNMAP) f |= BAM_FUNMAP; + if (i & CRAM_FREVERSE) f |= BAM_FREVERSE; + if (i & CRAM_FREAD1) f |= BAM_FREAD1; + if (i & CRAM_FREAD2) f |= BAM_FREAD2; + if (i & CRAM_FSECONDARY) f |= BAM_FSECONDARY; + if (i & CRAM_FQCFAIL) f |= BAM_FQCFAIL; + if (i & CRAM_FDUP) f |= BAM_FDUP; + + fd->bam_flag_swap[i] = f; + } + + for (i = 0; i < 0x1000; i++) { + int g = 0; + + if (i & BAM_FPAIRED) g |= CRAM_FPAIRED; + if (i & BAM_FPROPER_PAIR) g |= CRAM_FPROPER_PAIR; + if (i & BAM_FUNMAP) g |= CRAM_FUNMAP; + if (i & BAM_FREVERSE) g |= CRAM_FREVERSE; + if (i & BAM_FREAD1) g |= CRAM_FREAD1; + if (i & BAM_FREAD2) g |= CRAM_FREAD2; + if (i & BAM_FSECONDARY) g |= CRAM_FSECONDARY; + if (i & BAM_FQCFAIL) g |= CRAM_FQCFAIL; + if (i & BAM_FDUP) g |= CRAM_FDUP; + + fd->cram_flag_swap[i] = g; + } + } else { + /* NOP */ + for (i = 0; i < 0x1000; i++) + fd->bam_flag_swap[i] = i; + for (i = 0; i < 0x1000; i++) + fd->cram_flag_swap[i] = i; + } + + memset(fd->cram_sub_matrix, 4, 32*32); + for (i = 0; i < 32; i++) { + fd->cram_sub_matrix[i]['A'&0x1f]=0; + fd->cram_sub_matrix[i]['C'&0x1f]=1; + fd->cram_sub_matrix[i]['G'&0x1f]=2; + fd->cram_sub_matrix[i]['T'&0x1f]=3; + fd->cram_sub_matrix[i]['N'&0x1f]=4; + } + for (i = 0; i < 20; i+=4) { + int j; + for (j = 0; j < 20; j++) { + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][j]=3; + } + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+0]&0x1f]=0; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+1]&0x1f]=1; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+2]&0x1f]=2; + fd->cram_sub_matrix["ACGTN"[i>>2]&0x1f][CRAM_SUBST_MATRIX[i+3]&0x1f]=3; + } +} + +// Default version numbers for CRAM +static int major_version = 2; +static int minor_version = 1; + +/* + * Opens a CRAM file for read (mode "rb") or write ("wb"). + * The filename may be "-" to indicate stdin or stdout. + * + * Returns file handle on success + * NULL on failure. + */ +cram_fd *cram_open(const char *filename, const char *mode) { + hFILE *fp; + cram_fd *fd; + char fmode[3]= { mode[0], '\0', '\0' }; + + if (strlen(mode) > 1 && (mode[1] == 'b' || mode[1] == 'c')) { + fmode[1] = 'b'; + } + + fp = hopen(filename, fmode); + if (!fp) + return NULL; + + fd = cram_dopen(fp, filename, mode); + if (!fd) + hclose_abruptly(fp); + + return fd; +} + +/* Opens an existing stream for reading or writing. + * + * Returns file handle on success; + * NULL on failure. + */ +cram_fd *cram_dopen(hFILE *fp, const char *filename, const char *mode) { + int i; + char *cp; + cram_fd *fd = calloc(1, sizeof(*fd)); + if (!fd) + return NULL; + + fd->level = 5; + for (i = 0; mode[i]; i++) { + if (mode[i] >= '0' && mode[i] <= '9') { + fd->level = mode[i] - '0'; + break; + } + } + + fd->fp = fp; + fd->mode = *mode; + fd->first_container = 0; + + if (fd->mode == 'r') { + /* Reader */ + + if (!(fd->file_def = cram_read_file_def(fd))) + goto err; + + fd->version = fd->file_def->major_version * 256 + + fd->file_def->minor_version; + + if (!(fd->header = cram_read_SAM_hdr(fd))) + goto err; + + } else { + /* Writer */ + cram_file_def *def = calloc(1, sizeof(*def)); + if (!def) + return NULL; + + fd->file_def = def; + + def->magic[0] = 'C'; + def->magic[1] = 'R'; + def->magic[2] = 'A'; + def->magic[3] = 'M'; + def->major_version = 0; // Indicator to write file def later. + def->minor_version = 0; + memset(def->file_id, 0, 20); + strncpy(def->file_id, filename, 20); + + fd->version = major_version * 256 + minor_version; + + /* SAM header written later along with this file_def */ + } + + cram_init_tables(fd); + + fd->prefix = strdup((cp = strrchr(filename, '/')) ? cp+1 : filename); + if (!fd->prefix) + goto err; + fd->first_base = fd->last_base = -1; + fd->record_counter = 0; + + fd->ctr = NULL; + fd->refs = refs_create(); + if (!fd->refs) + goto err; + fd->ref_id = -2; + fd->ref = NULL; + + fd->decode_md = 0; + fd->verbose = 0; + fd->seqs_per_slice = SEQS_PER_SLICE; + fd->slices_per_container = SLICE_PER_CNT; + fd->embed_ref = 0; + fd->no_ref = 0; + fd->ignore_md5 = 0; + fd->use_bz2 = 0; + fd->use_rans = (CRAM_MAJOR_VERS(fd->version) >= 3); + fd->use_lzma = 0; + fd->multi_seq = -1; + fd->unsorted = 0; + fd->shared_ref = 0; + + fd->index = NULL; + fd->own_pool = 0; + fd->pool = NULL; + fd->rqueue = NULL; + fd->job_pending = NULL; + fd->ooc = 0; + fd->required_fields = INT_MAX; + + for (i = 0; i < DS_END; i++) + fd->m[i] = cram_new_metrics(); + + fd->range.refid = -2; // no ref. + fd->eof = 1; // See samtools issue #150 + fd->ref_fn = NULL; + + fd->bl = NULL; + + /* Initialise dummy refs from the @SQ headers */ + if (-1 == refs_from_header(fd->refs, fd, fd->header)) + goto err; + + return fd; + + err: + if (fd) + free(fd); + + return NULL; +} + +/* + * Seek within a CRAM file. + * + * Returns 0 on success + * -1 on failure + */ +int cram_seek(cram_fd *fd, off_t offset, int whence) { + char buf[65536]; + + fd->ooc = 0; + + if (hseek(fd->fp, offset, whence) >= 0) + return 0; + + if (!(whence == SEEK_CUR && offset >= 0)) + return -1; + + /* Couldn't fseek, but we're in SEEK_CUR mode so read instead */ + while (offset > 0) { + int len = MIN(65536, offset); + if (len != hread(fd->fp, buf, len)) + return -1; + offset -= len; + } + + return 0; +} + +/* + * Flushes a CRAM file. + * Useful for when writing to stdout without wishing to close the stream. + * + * Returns 0 on success + * -1 on failure + */ +int cram_flush(cram_fd *fd) { + if (!fd) + return -1; + + if (fd->mode == 'w' && fd->ctr) { + if(fd->ctr->slice) + fd->ctr->curr_slice++; + if (-1 == cram_flush_container_mt(fd, fd->ctr)) + return -1; + } + + return 0; +} + +/* + * Closes a CRAM file. + * Returns 0 on success + * -1 on failure + */ +int cram_close(cram_fd *fd) { + spare_bams *bl, *next; + int i; + + if (!fd) + return -1; + + if (fd->mode == 'w' && fd->ctr) { + if(fd->ctr->slice) + fd->ctr->curr_slice++; + if (-1 == cram_flush_container_mt(fd, fd->ctr)) + return -1; + } + + if (fd->pool) { + t_pool_flush(fd->pool); + + if (0 != cram_flush_result(fd)) + return -1; + + pthread_mutex_destroy(&fd->metrics_lock); + pthread_mutex_destroy(&fd->ref_lock); + pthread_mutex_destroy(&fd->bam_list_lock); + + fd->ctr = NULL; // prevent double freeing + + //fprintf(stderr, "CRAM: destroy queue %p\n", fd->rqueue); + + t_results_queue_destroy(fd->rqueue); + } + + if (fd->mode == 'w') { + /* Write EOF block */ + if (CRAM_MAJOR_VERS(fd->version) == 3) { + if (38 != hwrite(fd->fp, + "\x0f\x00\x00\x00\xff\xff\xff\xff" // Cont HDR + "\x0f\xe0\x45\x4f\x46\x00\x00\x00" // Cont HDR + "\x00\x01\x00" // Cont HDR + "\x05\xbd\xd9\x4f" // CRC32 + "\x00\x01\x00\x06\x06" // Comp.HDR blk + "\x01\x00\x01\x00\x01\x00" // Comp.HDR blk + "\xee\x63\x01\x4b", // CRC32 + 38)) + return -1; + } else { + if (30 != hwrite(fd->fp, + "\x0b\x00\x00\x00\xff\xff\xff\xff" + "\x0f\xe0\x45\x4f\x46\x00\x00\x00" + "\x00\x01\x00\x00\x01\x00\x06\x06" + "\x01\x00\x01\x00\x01\x00", 30)) + return -1; + } + } + + for (bl = fd->bl; bl; bl = next) { + int i, max_rec = fd->seqs_per_slice * fd->slices_per_container; + + next = bl->next; + for (i = 0; i < max_rec; i++) { + if (bl->bams[i]) + bam_free(bl->bams[i]); + } + free(bl->bams); + free(bl); + } + + if (hclose(fd->fp) != 0) + return -1; + + if (fd->file_def) + cram_free_file_def(fd->file_def); + + if (fd->header) + sam_hdr_free(fd->header); + + free(fd->prefix); + + if (fd->ctr) + cram_free_container(fd->ctr); + + if (fd->refs) + refs_free(fd->refs); + if (fd->ref_free) + free(fd->ref_free); + + for (i = 0; i < DS_END; i++) + if (fd->m[i]) + free(fd->m[i]); + + if (fd->index) + cram_index_free(fd); + + if (fd->own_pool && fd->pool) + t_pool_destroy(fd->pool, 0); + + free(fd); + return 0; +} + +/* + * Returns 1 if we hit an EOF while reading. + */ +int cram_eof(cram_fd *fd) { + return fd->eof; +} + + +/* + * Sets options on the cram_fd. See CRAM_OPT_* definitions in cram_structs.h. + * Use this immediately after opening. + * + * Returns 0 on success + * -1 on failure + */ +int cram_set_option(cram_fd *fd, enum cram_option opt, ...) { + int r; + va_list args; + + va_start(args, opt); + r = cram_set_voption(fd, opt, args); + va_end(args); + + return r; +} + +/* + * Sets options on the cram_fd. See CRAM_OPT_* definitions in cram_structs.h. + * Use this immediately after opening. + * + * Returns 0 on success + * -1 on failure + */ +int cram_set_voption(cram_fd *fd, enum cram_option opt, va_list args) { + refs_t *refs; + + if (!fd) + return -1; + + switch (opt) { + case CRAM_OPT_DECODE_MD: + fd->decode_md = va_arg(args, int); + break; + + case CRAM_OPT_PREFIX: + if (fd->prefix) + free(fd->prefix); + if (!(fd->prefix = strdup(va_arg(args, char *)))) + return -1; + break; + + case CRAM_OPT_VERBOSITY: + fd->verbose = va_arg(args, int); + break; + + case CRAM_OPT_SEQS_PER_SLICE: + fd->seqs_per_slice = va_arg(args, int); + break; + + case CRAM_OPT_SLICES_PER_CONTAINER: + fd->slices_per_container = va_arg(args, int); + break; + + case CRAM_OPT_EMBED_REF: + fd->embed_ref = va_arg(args, int); + break; + + case CRAM_OPT_NO_REF: + fd->no_ref = va_arg(args, int); + break; + + case CRAM_OPT_IGNORE_MD5: + fd->ignore_md5 = va_arg(args, int); + break; + + case CRAM_OPT_USE_BZIP2: + fd->use_bz2 = va_arg(args, int); + break; + + case CRAM_OPT_USE_RANS: + fd->use_rans = va_arg(args, int); + break; + + case CRAM_OPT_USE_LZMA: + fd->use_lzma = va_arg(args, int); + break; + + case CRAM_OPT_SHARED_REF: + fd->shared_ref = 1; + refs = va_arg(args, refs_t *); + if (refs != fd->refs) { + if (fd->refs) + refs_free(fd->refs); + fd->refs = refs; + fd->refs->count++; + } + break; + + case CRAM_OPT_RANGE: + fd->range = *va_arg(args, cram_range *); + return cram_seek_to_refpos(fd, &fd->range); + + case CRAM_OPT_REFERENCE: + return cram_load_reference(fd, va_arg(args, char *)); + + case CRAM_OPT_VERSION: { + int major, minor; + char *s = va_arg(args, char *); + if (2 != sscanf(s, "%d.%d", &major, &minor)) { + fprintf(stderr, "Malformed version string %s\n", s); + return -1; + } + if (!((major == 1 && minor == 0) || + (major == 2 && (minor == 0 || minor == 1)) || + (major == 3 && minor == 0))) { + fprintf(stderr, "Unknown version string; " + "use 1.0, 2.0, 2.1 or 3.0\n"); + return -1; + } + fd->version = major*256 + minor; + + if (CRAM_MAJOR_VERS(fd->version) >= 3) + fd->use_rans = 1; + break; + } + + case CRAM_OPT_MULTI_SEQ_PER_SLICE: + fd->multi_seq = va_arg(args, int); + break; + + case CRAM_OPT_NTHREADS: { + int nthreads = va_arg(args, int); + if (nthreads > 1) { + if (!(fd->pool = t_pool_init(nthreads*2, nthreads))) + return -1; + + fd->rqueue = t_results_queue_init(); + pthread_mutex_init(&fd->metrics_lock, NULL); + pthread_mutex_init(&fd->ref_lock, NULL); + pthread_mutex_init(&fd->bam_list_lock, NULL); + fd->shared_ref = 1; + fd->own_pool = 1; + } + break; + } + + case CRAM_OPT_THREAD_POOL: + fd->pool = va_arg(args, t_pool *); + if (fd->pool) { + fd->rqueue = t_results_queue_init(); + pthread_mutex_init(&fd->metrics_lock, NULL); + pthread_mutex_init(&fd->ref_lock, NULL); + pthread_mutex_init(&fd->bam_list_lock, NULL); + } + fd->shared_ref = 1; // Needed to avoid clobbering ref between threads + fd->own_pool = 0; + + //fd->qsize = 1; + //fd->decoded = calloc(fd->qsize, sizeof(cram_container *)); + //t_pool_dispatch(fd->pool, cram_decoder_thread, fd); + break; + + case CRAM_OPT_REQUIRED_FIELDS: + fd->required_fields = va_arg(args, int); + break; + + default: + fprintf(stderr, "Unknown CRAM option code %d\n", opt); + return -1; + } + + return 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_io.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_io.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,596 @@ +/* +Copyright (c) 2012-2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! \file + * Include cram.h instead. + * + * This is an internal part of the CRAM system and is automatically included + * when you #include cram.h. + * + * Implements the low level CRAM I/O primitives. + * This includes basic data types such as byte, int, ITF-8, + * maps, bitwise I/O, etc. + */ + +#ifndef _CRAM_IO_H_ +#define _CRAM_IO_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#define ITF8_MACROS + +#include +#include + +/**@{ ---------------------------------------------------------------------- + * ITF8 encoding and decoding. + * + * Also see the itf8_get and itf8_put macros. + */ + +/*! INTERNAL: Converts two characters into an integer for use in switch{} */ +#define CRAM_KEY(a,b) (((a)<<8)|((b))) + +/*! Reads an integer in ITF-8 encoding from 'fd' and stores it in + * *val. + * + * @return + * Returns the number of bytes read on success; + * -1 on failure + */ +int itf8_decode(cram_fd *fd, int32_t *val); + +#ifndef ITF8_MACROS +/*! Reads an integer in ITF-8 encoding from 'cp' and stores it in + * *val. + * + * @return + * Returns the number of bytes read on success; + * -1 on failure + */ +int itf8_get(char *cp, int32_t *val_p); + +/*! Stores a value to memory in ITF-8 format. + * + * @return + * Returns the number of bytes required to store the number. + * This is a maximum of 5 bytes. + */ +int itf8_put(char *cp, int32_t val); + +#else + +/* + * Macro implementations of the above + */ +#define itf8_get(c,v) (((uc)(c)[0]<0x80)?(*(v)=(uc)(c)[0],1):(((uc)(c)[0]<0xc0)?(*(v)=(((uc)(c)[0]<<8)|(uc)(c)[1])&0x3fff,2):(((uc)(c)[0]<0xe0)?(*(v)=(((uc)(c)[0]<<16)|((uc)(c)[1]<<8)|(uc)(c)[2])&0x1fffff,3):(((uc)(c)[0]<0xf0)?(*(v)=(((uc)(c)[0]<<24)|((uc)(c)[1]<<16)|((uc)(c)[2]<<8)|(uc)(c)[3])&0x0fffffff,4):(*(v)=(((uc)(c)[0]&0x0f)<<28)|((uc)(c)[1]<<20)|((uc)(c)[2]<<12)|((uc)(c)[3]<<4)|((uc)(c)[4]&0x0f),5))))) + +#define itf8_put(c,v) ((!((v)&~0x7f))?((c)[0]=(v),1):(!((v)&~0x3fff))?((c)[0]=((v)>>8)|0x80,(c)[1]=(v)&0xff,2):(!((v)&~0x1fffff))?((c)[0]=((v)>>16)|0xc0,(c)[1]=((v)>>8)&0xff,(c)[2]=(v)&0xff,3):(!((v)&~0xfffffff))?((c)[0]=((v)>>24)|0xe0,(c)[1]=((v)>>16)&0xff,(c)[2]=((v)>>8)&0xff,(c)[3]=(v)&0xff,4):((c)[0]=0xf0|(((v)>>28)&0xff),(c)[1]=((v)>>20)&0xff,(c)[2]=((v)>>12)&0xff,(c)[3]=((v)>>4)&0xff,(c)[4]=(v)&0xf,5)) + +#define itf8_size(v) ((!((v)&~0x7f))?1:(!((v)&~0x3fff))?2:(!((v)&~0x1fffff))?3:(!((v)&~0xfffffff))?4:5) + +#endif + +int ltf8_get(char *cp, int64_t *val_p); +int ltf8_put(char *cp, int64_t val); + +/*! Pushes a value in ITF8 format onto the end of a block. + * + * This shouldn't be used for high-volume data as it is not the fastest + * method. + * + * @return + * Returns the number of bytes written + */ +int itf8_put_blk(cram_block *blk, int val); + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * CRAM blocks - the dynamically growable data block. We have code to + * create, update, (un)compress and read/write. + * + * These are derived from the deflate_interlaced.c blocks, but with the + * CRAM extension of content types and IDs. + */ + +/*! Allocates a new cram_block structure with a specified content_type and + * id. + * + * @return + * Returns block pointer on success; + * NULL on failure + */ +cram_block *cram_new_block(enum cram_content_type content_type, + int content_id); + +/*! Reads a block from a cram file. + * + * @return + * Returns cram_block pointer on success; + * NULL on failure + */ +cram_block *cram_read_block(cram_fd *fd); + +/*! Writes a CRAM block. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_write_block(cram_fd *fd, cram_block *b); + +/*! Frees a CRAM block, deallocating internal data too. + */ +void cram_free_block(cram_block *b); + +/*! Uncompress a memory block using Zlib. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +char *zlib_mem_inflate(char *cdata, size_t csize, size_t *size); + +/*! Uncompresses a CRAM block, if compressed. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_uncompress_block(cram_block *b); + +/*! Compresses a block. + * + * Compresses a block using one of two different zlib strategies. If we only + * want one choice set strat2 to be -1. + * + * The logic here is that sometimes Z_RLE does a better job than Z_FILTERED + * or Z_DEFAULT_STRATEGY on quality data. If so, we'd rather use it as it is + * significantly faster. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_compress_block(cram_fd *fd, cram_block *b, cram_metrics *metrics, + int method, int level); + +cram_metrics *cram_new_metrics(void); +char *cram_block_method2str(enum cram_block_method m); +char *cram_content_type2str(enum cram_content_type t); + +/* --- Accessor macros for manipulating blocks on a byte by byte basis --- */ + +/* Block size and data pointer. */ +#define BLOCK_SIZE(b) ((b)->byte) +#define BLOCK_DATA(b) ((b)->data) + +/* Returns the address one past the end of the block */ +#define BLOCK_END(b) (&(b)->data[(b)->byte]) + +/* Request block to be at least 'l' bytes long */ +#define BLOCK_RESIZE(b,l) \ + do { \ + while((b)->alloc <= (l)) { \ + (b)->alloc = (b)->alloc ? (b)->alloc*1.5 : 1024; \ + (b)->data = realloc((b)->data, (b)->alloc); \ + } \ + } while(0) + +/* Ensure the block can hold at least another 'l' bytes */ +#define BLOCK_GROW(b,l) BLOCK_RESIZE((b), BLOCK_SIZE((b)) + (l)) + +/* Append string 's' of length 'l' */ +#define BLOCK_APPEND(b,s,l) \ + do { \ + BLOCK_GROW((b),(l)); \ + memcpy(BLOCK_END((b)), (s), (l)); \ + BLOCK_SIZE((b)) += (l); \ + } while (0) + +/* Append as single character 'c' */ +#define BLOCK_APPEND_CHAR(b,c) \ + do { \ + BLOCK_GROW((b),1); \ + (b)->data[(b)->byte++] = (c); \ + } while (0) + +/* Append a single unsigned integer */ +#define BLOCK_APPEND_UINT(b,i) \ + do { \ + unsigned char *cp; \ + BLOCK_GROW((b),11); \ + cp = &(b)->data[(b)->byte]; \ + (b)->byte += append_uint32(cp, (i)) - cp; \ + } while (0) + +static inline unsigned char *append_uint32(unsigned char *cp, uint32_t i) { + uint32_t j; + + if (i == 0) { + *cp++ = '0'; + return cp; + } + + if (i < 100) goto b1; + if (i < 10000) goto b3; + if (i < 1000000) goto b5; + if (i < 100000000) goto b7; + + if ((j = i / 1000000000)) {*cp++ = j + '0'; i -= j*1000000000; goto x8;} + if ((j = i / 100000000)) {*cp++ = j + '0'; i -= j*100000000; goto x7;} + b7:if ((j = i / 10000000)) {*cp++ = j + '0'; i -= j*10000000; goto x6;} + if ((j = i / 1000000)) {*cp++ = j + '0', i -= j*1000000; goto x5;} + b5:if ((j = i / 100000)) {*cp++ = j + '0', i -= j*100000; goto x4;} + if ((j = i / 10000)) {*cp++ = j + '0', i -= j*10000; goto x3;} + b3:if ((j = i / 1000)) {*cp++ = j + '0', i -= j*1000; goto x2;} + if ((j = i / 100)) {*cp++ = j + '0', i -= j*100; goto x1;} + b1:if ((j = i / 10)) {*cp++ = j + '0', i -= j*10; goto x0;} + if (i) *cp++ = i + '0'; + return cp; + + x8: *cp++ = i / 100000000 + '0', i %= 100000000; + x7: *cp++ = i / 10000000 + '0', i %= 10000000; + x6: *cp++ = i / 1000000 + '0', i %= 1000000; + x5: *cp++ = i / 100000 + '0', i %= 100000; + x4: *cp++ = i / 10000 + '0', i %= 10000; + x3: *cp++ = i / 1000 + '0', i %= 1000; + x2: *cp++ = i / 100 + '0', i %= 100; + x1: *cp++ = i / 10 + '0', i %= 10; + x0: *cp++ = i + '0'; + + return cp; +} + +static inline unsigned char *append_sub32(unsigned char *cp, uint32_t i) { + *cp++ = i / 100000000 + '0', i %= 100000000; + *cp++ = i / 10000000 + '0', i %= 10000000; + *cp++ = i / 1000000 + '0', i %= 1000000; + *cp++ = i / 100000 + '0', i %= 100000; + *cp++ = i / 10000 + '0', i %= 10000; + *cp++ = i / 1000 + '0', i %= 1000; + *cp++ = i / 100 + '0', i %= 100; + *cp++ = i / 10 + '0', i %= 10; + *cp++ = i + '0'; + + return cp; +} + +static inline unsigned char *append_uint64(unsigned char *cp, uint64_t i) { + uint64_t j; + + if (i <= 0xffffffff) + return append_uint32(cp, i); + + if ((j = i/1000000000) > 1000000000) { + cp = append_uint32(cp, j/1000000000); + j %= 1000000000; + cp = append_sub32(cp, j); + } else { + cp = append_uint32(cp, i / 1000000000); + } + cp = append_sub32(cp, i % 1000000000); + + return cp; +} + +#define BLOCK_UPLEN(b) \ + (b)->comp_size = (b)->uncomp_size = BLOCK_SIZE((b)) + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * Reference sequence handling + */ + +/*! Loads a reference set from fn and stores in the cram_fd. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_load_reference(cram_fd *fd, char *fn); + +/*! Generates a lookup table in refs based on the SQ headers in SAM_hdr. + * + * Indexes references by the order they appear in a BAM file. This may not + * necessarily be the same order they appear in the fasta reference file. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int refs2id(refs_t *r, SAM_hdr *bfd); + +void refs_free(refs_t *r); + +/*! Returns a portion of a reference sequence from start to end inclusive. + * + * The returned pointer is owned by the cram_file fd and should not be freed + * by the caller. It is valid only until the next cram_get_ref is called + * with the same fd parameter (so is thread-safe if given multiple files). + * + * To return the entire reference sequence, specify start as 1 and end + * as 0. + * + * @return + * Returns reference on success; + * NULL on failure + */ +char *cram_get_ref(cram_fd *fd, int id, int start, int end); +void cram_ref_incr(refs_t *r, int id); +void cram_ref_decr(refs_t *r, int id); +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * Containers + */ + +/*! Creates a new container, specifying the maximum number of slices + * and records permitted. + * + * @return + * Returns cram_container ptr on success; + * NULL on failure + */ +cram_container *cram_new_container(int nrec, int nslice); +void cram_free_container(cram_container *c); + +/*! Reads a container header. + * + * @return + * Returns cram_container on success; + * NULL on failure or no container left (fd->err == 0). + */ +cram_container *cram_read_container(cram_fd *fd); + +/*! Writes a container structure. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_write_container(cram_fd *fd, cram_container *h); + +/*! Flushes a container to disk. + * + * Flushes a completely or partially full container to disk, writing + * container structure, header and blocks. This also calls the encoder + * functions. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_flush_container(cram_fd *fd, cram_container *c); +int cram_flush_container_mt(cram_fd *fd, cram_container *c); + + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * Compression headers; the first part of the container + */ + +/*! Creates a new blank container compression header + * + * @return + * Returns header ptr on success; + * NULL on failure + */ +cram_block_compression_hdr *cram_new_compression_header(void); + +/*! Frees a cram_block_compression_hdr */ +void cram_free_compression_header(cram_block_compression_hdr *hdr); + + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * Slices and slice headers + */ + +/*! Frees a slice header */ +void cram_free_slice_header(cram_block_slice_hdr *hdr); + +/*! Frees a slice */ +void cram_free_slice(cram_slice *s); + +/*! Creates a new empty slice in memory, for subsequent writing to + * disk. + * + * @return + * Returns cram_slice ptr on success; + * NULL on failure + */ +cram_slice *cram_new_slice(enum cram_content_type type, int nrecs); + +/*! Loads an entire slice. + * + * FIXME: In 1.0 the native unit of slices within CRAM is broken + * as slices contain references to objects in other slices. + * To work around this while keeping the slice oriented outer loop + * we read all slices and stitch them together into a fake large + * slice instead. + * + * @return + * Returns cram_slice ptr on success; + * NULL on failure + */ +cram_slice *cram_read_slice(cram_fd *fd); + + + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * CRAM file definition (header) + */ + +/*! Reads a CRAM file definition structure. + * + * @return + * Returns file_def ptr on success; + * NULL on failure + */ +cram_file_def *cram_read_file_def(cram_fd *fd); + +/*! Writes a cram_file_def structure to cram_fd. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_write_file_def(cram_fd *fd, cram_file_def *def); + +/*! Frees a cram_file_def structure. */ +void cram_free_file_def(cram_file_def *def); + + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * SAM header I/O + */ + +/*! Reads the SAM header from the first CRAM data block. + * + * Also performs minimal parsing to extract read-group + * and sample information. + * + * @return + * Returns SAM hdr ptr on success; + * NULL on failure + */ +SAM_hdr *cram_read_SAM_hdr(cram_fd *fd); + +/*! Writes a CRAM SAM header. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_write_SAM_hdr(cram_fd *fd, SAM_hdr *hdr); + + +/**@}*/ +/**@{ ---------------------------------------------------------------------- + * The top-level cram opening, closing and option handling + */ + +/*! Opens a CRAM file for read (mode "rb") or write ("wb"). + * + * The filename may be "-" to indicate stdin or stdout. + * + * @return + * Returns file handle on success; + * NULL on failure. + */ +cram_fd *cram_open(const char *filename, const char *mode); + +/*! Opens an existing stream for reading or writing. + * + * @return + * Returns file handle on success; + * NULL on failure. + */ +cram_fd *cram_dopen(struct hFILE *fp, const char *filename, const char *mode); + +/*! Closes a CRAM file. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_close(cram_fd *fd); + +/* + * Seek within a CRAM file. + * + * Returns 0 on success + * -1 on failure + */ +int cram_seek(cram_fd *fd, off_t offset, int whence); + +/* + * Flushes a CRAM file. + * Useful for when writing to stdout without wishing to close the stream. + * + * Returns 0 on success + * -1 on failure + */ +int cram_flush(cram_fd *fd); + +/*! Checks for end of file on a cram_fd stream. + * + * @return + * Returns 0 if not at end of file + * 1 if we hit an expected EOF (end of range or EOF block) + * 2 for other EOF (end of stream without EOF block) + */ +int cram_eof(cram_fd *fd); + +/*! Sets options on the cram_fd. + * + * See CRAM_OPT_* definitions in cram_structs.h. + * Use this immediately after opening. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_set_option(cram_fd *fd, enum cram_option opt, ...); + +/*! Sets options on the cram_fd. + * + * See CRAM_OPT_* definitions in cram_structs.h. + * Use this immediately after opening. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_set_voption(cram_fd *fd, enum cram_option opt, va_list args); + +/*! + * Attaches a header to a cram_fd. + * + * This should be used when creating a new cram_fd for writing where + * we have an SAM_hdr already constructed (eg from a file we've read + * in). + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int cram_set_header(cram_fd *fd, SAM_hdr *hdr); + + +#ifdef __cplusplus +} +#endif + +#endif /* _CRAM_IO_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_samtools.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_samtools.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,147 @@ +/* +Copyright (c) 2010-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include +#include + +#include "cram/cram.h" +#include "htslib/sam.h" + +/*--------------------------------------------------------------------------- + * Samtools compatibility portion + */ +int bam_construct_seq(bam_seq_t **bp, size_t extra_len, + const char *qname, size_t qname_len, + int flag, + int rname, // Ref ID + int pos, + int end, // aligned start/end coords + int mapq, + uint32_t ncigar, const uint32_t *cigar, + int mrnm, // Mate Ref ID + int mpos, + int isize, + int len, + const char *seq, + const char *qual) { + static const char L[256] = { + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15, 0,15,15, + 15, 1,14, 2,13,15,15, 4,11,15,15,12,15, 3,15,15, + 15,15, 5, 6, 8,15, 7, 9,15,10,15,15,15,15,15,15, + 15, 1,14, 2,13,15,15, 4,11,15,15,12,15, 3,15,15, + 15,15, 5, 6, 8,15, 7, 9,15,10,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15, + 15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15 + }; + bam1_t *b = (bam1_t *)*bp; + uint8_t *cp; + int i, bam_len; + + //b->l_aux = extra_len; // we fill this out later + + bam_len = qname_len + 1 + ncigar*4 + (len+1)/2 + len + extra_len; + if (b->m_data < bam_len) { + b->m_data = bam_len; + kroundup32(b->m_data); + b->data = (uint8_t*)realloc(b->data, b->m_data); + if (!b->data) + return -1; + } + b->l_data = bam_len; + + b->core.tid = rname; + b->core.pos = pos-1; + b->core.bin = bam_reg2bin(pos, end); + b->core.qual = mapq; + b->core.l_qname = qname_len+1; + b->core.flag = flag; + b->core.n_cigar = ncigar; + b->core.l_qseq = len; + b->core.mtid = mrnm; + b->core.mpos = mpos-1; + b->core.isize = isize; + + cp = b->data; + + strncpy((char *)cp, qname, qname_len); + cp[qname_len] = 0; + cp += qname_len+1; + memcpy(cp, cigar, ncigar*4); + cp += ncigar*4; + + for (i = 0; i+1 < len; i+=2) { + *cp++ = (L[(uc)seq[i]]<<4) + L[(uc)seq[i+1]]; + } + if (i < len) + *cp++ = L[(uc)seq[i]]<<4; + + if (qual) + memcpy(cp, qual, len); + else + memset(cp, '\xff', len); + + return 0; +} + +bam_hdr_t *cram_header_to_bam(SAM_hdr *h) { + int i; + bam_hdr_t *header = bam_hdr_init(); + + header->l_text = ks_len(&h->text); + header->text = malloc(header->l_text+1); + memcpy(header->text, ks_str(&h->text), header->l_text); + header->text[header->l_text] = 0; + + header->n_targets = h->nref; + header->target_name = (char **)calloc(header->n_targets, + sizeof(char *)); + header->target_len = (uint32_t *)calloc(header->n_targets, 4); + + for (i = 0; i < h->nref; i++) { + header->target_name[i] = strdup(h->ref[i].name); + header->target_len[i] = h->ref[i].len; + } + + return header; +} + +SAM_hdr *bam_header_to_cram(bam_hdr_t *h) { + return sam_hdr_parse_(h->text, h->l_text); +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_samtools.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_samtools.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,97 @@ +/* +Copyright (c) 2010-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _CRAM_SAMTOOLS_H_ +#define _CRAM_SAMTOOLS_H_ + +/* Samtools compatible API */ +#define bam_blk_size(b) ((b)->l_data) +#define bam_set_blk_size(b,v) ((b)->data_len = (v)) + +#define bam_ref(b) (b)->core.tid +#define bam_pos(b) (b)->core.pos +#define bam_mate_pos(b) (b)->core.mpos +#define bam_mate_ref(b) (b)->core.mtid +#define bam_ins_size(b) (b)->core.isize +#define bam_seq_len(b) (b)->core.l_qseq +#define bam_cigar_len(b) (b)->core.n_cigar +#define bam_flag(b) (b)->core.flag +#define bam_bin(b) (b)->core.bin +#define bam_map_qual(b) (b)->core.qual +#define bam_name_len(b) (b)->core.l_qname +#define bam_name(b) bam_get_qname((b)) +#define bam_qual(b) bam_get_qual((b)) +#define bam_seq(b) bam_get_seq((b)) +#define bam_cigar(b) bam_get_cigar((b)) +#define bam_aux(b) bam_get_aux((b)) + +#define bam_dup(b) bam_copy1(bam_init1(), (b)) + +#define bam_free(b) bam_destroy1((b)) + +#define bam_reg2bin(beg,end) hts_reg2bin((beg),(end),14,5) + +#include "htslib/sam.h" + +enum cigar_op { + BAM_CMATCH_=BAM_CMATCH, + BAM_CINS_=BAM_CINS, + BAM_CDEL_=BAM_CDEL, + BAM_CREF_SKIP_=BAM_CREF_SKIP, + BAM_CSOFT_CLIP_=BAM_CSOFT_CLIP, + BAM_CHARD_CLIP_=BAM_CHARD_CLIP, + BAM_CPAD_=BAM_CPAD, + BAM_CBASE_MATCH=BAM_CEQUAL, + BAM_CBASE_MISMATCH=BAM_CDIFF +}; + +typedef bam1_t bam_seq_t; + +#include "cram/sam_header.h" + +bam_hdr_t *cram_header_to_bam(SAM_hdr *h); +SAM_hdr *bam_header_to_cram(bam_hdr_t *h); + +int bam_construct_seq(bam_seq_t **bp, size_t extra_len, + const char *qname, size_t qname_len, + int flag, + int rname, // Ref ID + int pos, + int end, // aligned start/end coords + int mapq, + uint32_t ncigar, const uint32_t *cigar, + int mrnm, // Mate Ref ID + int mpos, + int isize, + int len, + const char *seq, + const char *qual); + +#endif /* _CRAM_SAMTOOLS_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_stats.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_stats.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,450 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cram/cram.h" +#include "cram/os.h" + +cram_stats *cram_stats_create(void) { + return calloc(1, sizeof(cram_stats)); +} + +void cram_stats_add(cram_stats *st, int32_t val) { + st->nsamp++; + + //assert(val >= 0); + + if (val < MAX_STAT_VAL && val >= 0) { + st->freqs[val]++; + } else { + khint_t k; + int r; + + if (!st->h) { + st->h = kh_init(m_i2i); + } + + k = kh_put(m_i2i, st->h, val, &r); + if (r == 0) + kh_val(st->h, k)++; + else if (r != -1) + kh_val(st->h, k) = 1; + else + ; // FIXME: handle error + } +} + +void cram_stats_del(cram_stats *st, int32_t val) { + st->nsamp--; + + //assert(val >= 0); + + if (val < MAX_STAT_VAL && val >= 0) { + st->freqs[val]--; + assert(st->freqs[val] >= 0); + } else if (st->h) { + khint_t k = kh_get(m_i2i, st->h, val); + + if (k != kh_end(st->h)) { + if (--kh_val(st->h, k) == 0) + kh_del(m_i2i, st->h, k); + } else { + fprintf(stderr, "Failed to remove val %d from cram_stats\n", val); + st->nsamp++; + } + } else { + fprintf(stderr, "Failed to remove val %d from cram_stats\n", val); + st->nsamp++; + } +} + +void cram_stats_dump(cram_stats *st) { + int i; + fprintf(stderr, "cram_stats:\n"); + for (i = 0; i < MAX_STAT_VAL; i++) { + if (!st->freqs[i]) + continue; + fprintf(stderr, "\t%d\t%d\n", i, st->freqs[i]); + } + if (st->h) { + khint_t k; + for (k = kh_begin(st->h); k != kh_end(st->h); k++) { + if (!kh_exist(st->h, k)) + continue; + + fprintf(stderr, "\t%d\t%d\n", kh_key(st->h, k), kh_val(st->h, k)); + } + } +} + +#if 1 +/* Returns the number of bits set in val; it the highest bit used */ +static int nbits(int v) { + static const int MultiplyDeBruijnBitPosition[32] = { + 1, 10, 2, 11, 14, 22, 3, 30, 12, 15, 17, 19, 23, 26, 4, 31, + 9, 13, 21, 29, 16, 18, 25, 8, 20, 28, 24, 7, 27, 6, 5, 32 + }; + + v |= v >> 1; // first up to set all bits 1 after the first 1 */ + v |= v >> 2; + v |= v >> 4; + v |= v >> 8; + v |= v >> 16; + + // DeBruijn magic to find top bit + return MultiplyDeBruijnBitPosition[(uint32_t)(v * 0x07C4ACDDU) >> 27]; +} +#endif + +/* + * Computes entropy from integer frequencies for various encoding methods and + * picks the best encoding. + * + * FIXME: we could reuse some of the code here for the actual encoding + * parameters too. Eg the best 'k' for SUBEXP or the code lengths for huffman. + * + * Returns the best codec to use. + */ +enum cram_encoding cram_stats_encoding(cram_fd *fd, cram_stats *st) { + enum cram_encoding best_encoding = E_NULL; + int best_size = INT_MAX, bits; + int nvals, i, ntot = 0, max_val = 0, min_val = INT_MAX, k; + int *vals = NULL, *freqs = NULL, vals_alloc = 0, *codes; + + //cram_stats_dump(st); + + /* Count number of unique symbols */ + for (nvals = i = 0; i < MAX_STAT_VAL; i++) { + if (!st->freqs[i]) + continue; + if (nvals >= vals_alloc) { + vals_alloc = vals_alloc ? vals_alloc*2 : 1024; + vals = realloc(vals, vals_alloc * sizeof(int)); + freqs = realloc(freqs, vals_alloc * sizeof(int)); + if (!vals || !freqs) { + if (vals) free(vals); + if (freqs) free(freqs); + return E_HUFFMAN; // Cannot do much else atm + } + } + vals[nvals] = i; + freqs[nvals] = st->freqs[i]; + ntot += freqs[nvals]; + if (max_val < i) max_val = i; + if (min_val > i) min_val = i; + nvals++; + } + if (st->h) { + khint_t k; + int i; + + for (k = kh_begin(st->h); k != kh_end(st->h); k++) { + if (!kh_exist(st->h, k)) + continue; + + if (nvals >= vals_alloc) { + vals_alloc = vals_alloc ? vals_alloc*2 : 1024; + vals = realloc(vals, vals_alloc * sizeof(int)); + freqs = realloc(freqs, vals_alloc * sizeof(int)); + if (!vals || !freqs) + return E_HUFFMAN; // Cannot do much else atm + } + i = kh_key(st->h, k); + vals[nvals]=i; + freqs[nvals] = kh_val(st->h, k); + ntot += freqs[nvals]; + if (max_val < i) max_val = i; + if (min_val > i) min_val = i; + nvals++; + } + } + + st->nvals = nvals; + assert(ntot == st->nsamp); + + if (nvals <= 1) { + free(vals); + free(freqs); + return E_HUFFMAN; + } + + if (fd->verbose > 1) + fprintf(stderr, "Range = %d..%d, nvals=%d, ntot=%d\n", + min_val, max_val, nvals, ntot); + + /* Theoretical entropy */ +// if (fd->verbose > 1) { +// double dbits = 0; +// for (i = 0; i < nvals; i++) { +// dbits += freqs[i] * log((double)freqs[i]/ntot); +// } +// dbits /= -log(2); +// if (fd->verbose > 1) +// fprintf(stderr, "Entropy = %f\n", dbits); +// } + + if (nvals > 1 && ntot > 256) { +#if 0 + /* + * CRUDE huffman estimator. Round to closest and round up from 0 + * to 1 bit. + * + * With and without ITF8 incase we have a few discrete values but with + * large magnitude. + * + * Note rans0/arith0 and Z_HUFFMAN_ONLY vs internal huffman can be + * compared in this way, but order-1 (eg rans1) or maybe LZ77 modes + * may detect the correlation of high bytes to low bytes in multi- + * byte values. So this predictor breaks down. + */ + double dbits = 0; // entropy + ~huffman + double dbitsH = 0; + double dbitsE = 0; // external entropy + ~huffman + double dbitsEH = 0; + int F[256] = {0}, n = 0; + double e = 0; // accumulated error bits + for (i = 0; i < nvals; i++) { + double x; int X; + unsigned int v = vals[i]; + + //Better encoding would cope with sign. + //v = ABS(vals[i])*2+(vals[i]<0); + + if (!(v & ~0x7f)) { + F[v] += freqs[i], n+=freqs[i]; + } else if (!(v & ~0x3fff)) { + F[(v>>8) |0x80] += freqs[i]; + F[ v &0xff] += freqs[i], n+=2*freqs[i]; + } else if (!(v & ~0x1fffff)) { + F[(v>>16)|0xc0] += freqs[i]; + F[(v>>8 )&0xff] += freqs[i]; + F[ v &0xff] += freqs[i], n+=3*freqs[i]; + } else if (!(v & ~0x0fffffff)) { + F[(v>>24)|0xe0] += freqs[i]; + F[(v>>16)&0xff] += freqs[i]; + F[(v>>8 )&0xff] += freqs[i]; + F[ v &0xff] += freqs[i], n+=4*freqs[i]; + } else { + F[(v>>28)|0xf0] += freqs[i]; + F[(v>>20)&0xff] += freqs[i]; + F[(v>>12)&0xff] += freqs[i]; + F[(v>>4 )&0xff] += freqs[i]; + F[ v &0x0f] += freqs[i], n+=5*freqs[i]; + } + + x = -log((double)freqs[i]/ntot)/.69314718055994530941; + X = x+0.5; + if ((int)(x+((double)e/freqs[i])+.5)>X) { + X++; + } else if ((int)(x+((double)e/freqs[i])+.5) 1.1) { + //fprintf(stderr, "=> %d < 200 ? E_HUFFMAN : E_BETA\n", nvals); + free(vals); free(freqs); + return nvals < 200 ? E_HUFFMAN : E_BETA; + } +#endif + free(vals); free(freqs); + return E_EXTERNAL; + } + + /* + * Avoid complex stats for now, just do heuristic of HUFFMAN for small + * alphabets and BETA for anything large. + */ + free(vals); free(freqs); + return nvals < 200 ? E_HUFFMAN : E_BETA; + //return E_HUFFMAN; + //return E_EXTERNAL; + + + /* We only support huffman now anyway... */ + //free(vals); free(freqs); return E_HUFFMAN; + + /* Beta */ + bits = nbits(max_val - min_val) * ntot; + if (fd->verbose > 1) + fprintf(stderr, "BETA = %d\n", bits); + if (best_size > bits) + best_size = bits, best_encoding = E_BETA; + +#if 0 + /* Unary */ + if (min_val >= 0) { + for (bits = i = 0; i < nvals; i++) + bits += freqs[i]*(vals[i]+1); + if (fd->verbose > 1) + fprintf(stderr, "UNARY = %d\n", bits); + if (best_size > bits) + best_size = bits, best_encoding = E_NULL; //E_UNARY; + } + + /* Gamma */ + for (bits = i = 0; i < nvals; i++) + bits += ((nbits(vals[i]-min_val+1)-1) + nbits(vals[i]-min_val+1)) * freqs[i]; + if (fd->verbose > 1) + fprintf(stderr, "GAMMA = %d\n", bits); + if (best_size > bits) + best_size = bits, best_encoding = E_GAMMA; + + /* Subexponential */ + for (k = 0; k < 10; k++) { + for (bits = i = 0; i < nvals; i++) { + if (vals[i]-min_val < (1<verbose > 1) + fprintf(stderr, "SUBEXP%d = %d\n", k, bits); + if (best_size > bits) + best_size = bits, best_encoding = E_SUBEXP; + } +#endif + + /* byte array len */ + + /* byte array stop */ + + /* External? Guesswork! */ + + /* Huffman */ +// qsort(freqs, nvals, sizeof(freqs[0]), sort_freqs); +// for (i = 0; i < nvals; i++) { +// fprintf(stderr, "%d = %d\n", i, freqs[i]); +// vals[i] = 0; +// } + + /* Grow freqs to 2*freqs, to store sums */ + /* Vals holds link data */ + freqs = realloc(freqs, 2*nvals*sizeof(*freqs)); + codes = calloc(2*nvals, sizeof(*codes)); + if (!freqs || !codes) + return E_HUFFMAN; // Cannot do much else atm + + /* Inefficient, use pointers to form chain so we can insert and maintain + * a sorted list? This is currently O(nvals^2) complexity. + */ + for (;;) { + int low1 = INT_MAX, low2 = INT_MAX; + int ind1 = 0, ind2 = 0; + for (i = 0; i < nvals; i++) { + if (freqs[i] < 0) + continue; + if (low1 > freqs[i]) + low2 = low1, ind2 = ind1, low1 = freqs[i], ind1 = i; + else if (low2 > freqs[i]) + low2 = freqs[i], ind2 = i; + } + if (low2 == INT_MAX) + break; + + //fprintf(stderr, "Merge ind %d (%d), %d (%d) = %d+%d, => %d=%d\n", + // ind1, vals[ind1], ind2, vals[ind2], low1, low2, + // nvals, low1+low2); + + freqs[nvals] = low1 + low2; + codes[ind1] = nvals; + codes[ind2] = nvals; + freqs[ind1] *= -1; + freqs[ind2] *= -1; + nvals++; + } + nvals = nvals/2+1; + + for (i = 0; i < nvals; i++) { + int code_len = 0; + for (k = codes[i]; k; k = codes[k]) + code_len++; + codes[i] = code_len; + freqs[i] *= -1; + //fprintf(stderr, "%d / %d => %d\n", vals[i], freqs[i], codes[i]); + } + + for (bits = i = 0; i < nvals; i++) { + bits += freqs[i] * codes[i]; + } + if (fd->verbose > 1) + fprintf(stderr, "HUFFMAN = %d\n", bits); + if (best_size >= bits) + best_size = bits, best_encoding = E_HUFFMAN; + free(codes); + + free(vals); + free(freqs); + + return best_encoding; +} + +void cram_stats_free(cram_stats *st) { + if (st->h) + kh_destroy(m_i2i, st->h); + free(st); +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_stats.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_stats.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,59 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _CRAM_STATS_H_ +#define _CRAM_STATS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +cram_stats *cram_stats_create(void); +void cram_stats_add(cram_stats *st, int32_t val); +void cram_stats_del(cram_stats *st, int32_t val); +void cram_stats_dump(cram_stats *st); +void cram_stats_free(cram_stats *st); + +/* + * Computes entropy from integer frequencies for various encoding methods and + * picks the best encoding. + * + * FIXME: we could reuse some of the code here for the actual encoding + * parameters too. Eg the best 'k' for SUBEXP or the code lengths for huffman. + * + * Returns the best codec to use. + */ +enum cram_encoding cram_stats_encoding(cram_fd *fd, cram_stats *st); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/cram_structs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/cram_structs.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,809 @@ +/* +Copyright (c) 2012-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _CRAM_STRUCTS_H_ +#define _CRAM_STRUCTS_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Defines in-memory structs for the basic file-format objects in the + * CRAM format. + * + * The basic file format is: + * File-def SAM-hdr Container Container ... + * + * Container: + * Service-block data-block data-block ... + * + * Multiple blocks in a container are grouped together as slices, + * also sometimes referred to as landmarks in the spec. + */ + + +#include + +#include "cram/thread_pool.h" +#include "cram/string_alloc.h" +#include "htslib/khash.h" + +// Generic hash-map integer -> integer +KHASH_MAP_INIT_INT(m_i2i, int) + +// Generic hash-set integer -> (existance) +KHASH_SET_INIT_INT(s_i2i) + +// For brevity +typedef unsigned char uc; + +/* + * A union for the preservation map. Required for khash. + */ +typedef union { + int i; + char *p; +} pmap_t; + +// Generates static functions here which isn't ideal, but we have no way +// currently to declare the kh_map_t structure here without also declaring a +// duplicate in the .c files due to the nature of the KHASH macros. +KHASH_MAP_INIT_STR(map, pmap_t) + +struct hFILE; + +#define SEQS_PER_SLICE 10000 +#define SLICE_PER_CNT 1 + +#define CRAM_SUBST_MATRIX "CGTNAGTNACTNACGNACGT" + +#define MAX_STAT_VAL 1024 +//#define MAX_STAT_VAL 16 +typedef struct { + int freqs[MAX_STAT_VAL]; + khash_t(m_i2i) *h; + int nsamp; // total number of values added + int nvals; // total number of unique values added +} cram_stats; + +/* NB: matches java impl, not the spec */ +enum cram_encoding { + E_NULL = 0, + E_EXTERNAL = 1, + E_GOLOMB = 2, + E_HUFFMAN = 3, + E_BYTE_ARRAY_LEN = 4, + E_BYTE_ARRAY_STOP = 5, + E_BETA = 6, + E_SUBEXP = 7, + E_GOLOMB_RICE = 8, + E_GAMMA = 9 +}; + +enum cram_external_type { + E_INT = 1, + E_LONG = 2, + E_BYTE = 3, + E_BYTE_ARRAY = 4, + E_BYTE_ARRAY_BLOCK = 5, +}; + +/* External IDs used by this implementation (only assumed during writing) */ +enum cram_DS_ID { + DS_CORE = 0, + DS_aux = 1, // aux_blk + DS_aux_OQ = 2, + DS_aux_BQ = 3, + DS_aux_BD = 4, + DS_aux_BI = 5, + DS_aux_FZ = 6, // also ZM:B + DS_aux_oq = 7, // other qualities + DS_aux_os = 8, // other sequences + DS_aux_oz = 9, // other strings + DS_ref, + DS_RN, // name_blk + DS_QS, // qual_blk + DS_IN, // base_blk + DS_SC, // soft_blk + + DS_BF, // start loop + DS_CF, + DS_AP, + DS_RG, + DS_MQ, + DS_NS, + DS_MF, + DS_TS, + DS_NP, + DS_NF, + DS_RL, + DS_FN, + DS_FC, + DS_FP, + DS_DL, + DS_BA, + DS_BS, + DS_TL, + DS_RI, + DS_RS, + DS_PD, + DS_HC, + DS_BB, + DS_QQ, + + DS_TN, // end loop + + DS_RN_len, + DS_SC_len, + DS_BB_len, + DS_QQ_len, + + DS_TC, // CRAM v1.0 tags + DS_TM, // test + DS_TV, // test + + DS_END, +}; + +/* "File Definition Structure" */ +typedef struct { + char magic[4]; + uint8_t major_version; + uint8_t minor_version; + char file_id[20]; // Filename or SHA1 checksum +} cram_file_def; + +#define CRAM_MAJOR_VERS(v) ((v) >> 8) +#define CRAM_MINOR_VERS(v) ((v) & 0xff) + +struct cram_slice; + +enum cram_block_method { + ERROR = -1, + RAW = 0, + GZIP = 1, + BZIP2 = 2, + LZMA = 3, + RANS = 4, // Generic; either order + RANS0 = 4, + RANS1 = 10, // Not externalised; stored as RANS (generic) + GZIP_RLE = 11, // NB: not externalised in CRAM +}; + +enum cram_content_type { + CT_ERROR = -1, + FILE_HEADER = 0, + COMPRESSION_HEADER = 1, + MAPPED_SLICE = 2, + UNMAPPED_SLICE = 3, // CRAM V1.0 only + EXTERNAL = 4, + CORE = 5, +}; + +/* Compression metrics */ +typedef struct { + // number of trials and time to next trial + int trial; + int next_trial; + + // aggregate sizes during trials + int sz_gz_rle; + int sz_gz_def; + int sz_rans0; + int sz_rans1; + int sz_bzip2; + int sz_lzma; + + // resultant method from trials + int method; + int strat; + + // Revisions of method, to allow culling of continually failing ones. + int gz_rle_cnt; + int gz_def_cnt; + int rans0_cnt; + int rans1_cnt; + int bzip2_cnt; + int lzma_cnt; + int revised_method; + + double gz_rle_extra; + double gz_def_extra; + double rans0_extra; + double rans1_extra; + double bzip2_extra; + double lzma_extra; +} cram_metrics; + +/* Block */ +typedef struct { + enum cram_block_method method, orig_method; + enum cram_content_type content_type; + int32_t content_id; + int32_t comp_size; + int32_t uncomp_size; + uint32_t crc32; + int32_t idx; /* offset into data */ + unsigned char *data; + + // For bit I/O + size_t alloc; + size_t byte; + int bit; +} cram_block; + +struct cram_codec; /* defined in cram_codecs.h */ +struct cram_map; + +#define CRAM_MAP_HASH 32 +#define CRAM_MAP(a,b) (((a)*3+(b))&(CRAM_MAP_HASH-1)) + +/* Compression header block */ +typedef struct { + int32_t ref_seq_id; + int32_t ref_seq_start; + int32_t ref_seq_span; + int32_t num_records; + int32_t num_landmarks; + int32_t *landmark; + + /* Flags from preservation map */ + int mapped_qs_included; + int unmapped_qs_included; + int unmapped_placed; + int qs_included; + int read_names_included; + int AP_delta; + // indexed by ref-base and subst. code + char substitution_matrix[5][4]; + + // TD Dictionary as a concatenated block + cram_block *TD_blk; // Tag Dictionary + int nTL; // number of TL entries in TD + unsigned char **TL; // array of size nTL, pointer into TD_blk. + khash_t(m_s2i) *TD_hash; // Keyed on TD strings, map to TL[] indices + string_alloc_t *TD_keys; // Pooled keys for TD hash. + + khash_t(map) *preservation_map; + struct cram_map *rec_encoding_map[CRAM_MAP_HASH]; + struct cram_map *tag_encoding_map[CRAM_MAP_HASH]; + + struct cram_codec *codecs[DS_END]; + + char *uncomp; // A single block of uncompressed data + size_t uncomp_size, uncomp_alloc; + + unsigned int data_series; // See cram_fields enum below +} cram_block_compression_hdr; + +typedef struct cram_map { + int key; /* 0xe0 + 3 bytes */ + enum cram_encoding encoding; + int offset; /* Offset into a single block of memory */ + int size; /* Size */ + struct cram_codec *codec; + struct cram_map *next; // for noddy internal hash +} cram_map; + +/* Mapped or unmapped slice header block */ +typedef struct { + enum cram_content_type content_type; + int32_t ref_seq_id; /* if content_type == MAPPED_SLICE */ + int32_t ref_seq_start; /* if content_type == MAPPED_SLICE */ + int32_t ref_seq_span; /* if content_type == MAPPED_SLICE */ + int32_t num_records; + int64_t record_counter; + int32_t num_blocks; + int32_t num_content_ids; + int32_t *block_content_ids; + int32_t ref_base_id; /* if content_type == MAPPED_SLICE */ + unsigned char md5[16]; +} cram_block_slice_hdr; + +struct ref_entry; + +/* + * Container. + * + * Conceptually a container is split into slices, and slices into blocks. + * However on disk it's just a list of blocks and we need to query the + * block types to identify the start/end points of the slices. + * + * OR... are landmarks the start/end points of slices? + */ +typedef struct { + int32_t length; + int32_t ref_seq_id; + int32_t ref_seq_start; + int32_t ref_seq_span; + int64_t record_counter; + int64_t num_bases; + int32_t num_records; + int32_t num_blocks; + int32_t num_landmarks; + int32_t *landmark; + + /* Size of container header above */ + size_t offset; + + /* Compression header is always the first block? */ + cram_block_compression_hdr *comp_hdr; + cram_block *comp_hdr_block; + + /* For construction purposes */ + int max_slice, curr_slice; // maximum number of slices + int max_rec, curr_rec; // current and max recs per slice + int max_c_rec, curr_c_rec; // current and max recs per container + int slice_rec; // rec no. for start of this slice + int curr_ref; // current ref ID. -2 for no previous + int last_pos; // last record position + struct cram_slice **slices, *slice; + int pos_sorted; // boolean, 1=>position sorted data + int max_apos; // maximum position, used if pos_sorted==0 + int last_slice; // number of reads in last slice (0 for 1st) + int multi_seq; // true if packing multi seqs per cont/slice + int unsorted; // true is AP_delta is 0. + + /* Copied from fd before encoding, to allow multi-threading */ + int ref_start, first_base, last_base, ref_id, ref_end; + char *ref; + //struct ref_entry *ref; + + /* For multi-threading */ + bam_seq_t **bams; + + /* Statistics for encoding */ + cram_stats *stats[DS_END]; + + khash_t(s_i2i) *tags_used; // set of tag types in use, for tag encoding map + int *refs_used; // array of frequency of ref seq IDs + + uint32_t crc32; // CRC32 +} cram_container; + +/* + * A single cram record + */ +typedef struct { + struct cram_slice *s; // Filled out by cram_decode only + + int32_t ref_id; // fixed for all recs in slice? + int32_t flags; // BF + int32_t cram_flags; // CF + int32_t len; // RL + int32_t apos; // AP + int32_t rg; // RG + int32_t name; // RN; idx to s->names_blk + int32_t name_len; + int32_t mate_line; // index to another cram_record + int32_t mate_ref_id; + int32_t mate_pos; // NP + int32_t tlen; // TS + + // Auxiliary data + int32_t ntags; // TC + int32_t aux; // idx to s->aux_blk + int32_t aux_size; // total size of packed ntags in aux_blk +#ifndef TN_external + int32_t TN_idx; // TN; idx to s->TN; +#else + int32_t tn; // idx to s->tn_blk +#endif + int TL; + + int32_t seq; // idx to s->seqs_blk + int32_t qual; // idx to s->qual_blk + int32_t cigar; // idx to s->cigar + int32_t ncigar; + int32_t aend; // alignment end + int32_t mqual; // MQ + + int32_t feature; // idx to s->feature + int32_t nfeature; // number of features + int32_t mate_flags; // MF +} cram_record; + +// Accessor macros as an analogue of the bam ones +#define cram_qname(c) (&(c)->s->name_blk->data[(c)->name]) +#define cram_seq(c) (&(c)->s->seqs_blk->data[(c)->seq]) +#define cram_qual(c) (&(c)->s->qual_blk->data[(c)->qual]) +#define cram_aux(c) (&(c)->s->aux_blk->data[(c)->aux]) +#define cram_seqi(c,i) (cram_seq((c))[(i)]) +#define cram_name_len(c) ((c)->name_len) +#define cram_strand(c) (((c)->flags & BAM_FREVERSE) != 0) +#define cram_mstrand(c) (((c)->flags & BAM_FMREVERSE) != 0) +#define cram_cigar(c) (&((cr)->s->cigar)[(c)->cigar]) + +/* + * A feature is a base difference, used for the sequence reference encoding. + * (We generate these internally when writing CRAM.) + */ +typedef struct { + union { + struct { + int pos; + int code; + int base; // substitution code + } X; + struct { + int pos; + int code; + int base; // actual base & qual + int qual; + } B; + struct { + int pos; + int code; + int seq_idx; // index to s->seqs_blk + int len; + } b; + struct { + int pos; + int code; + int qual; + } Q; + struct { + int pos; + int code; + int len; + int seq_idx; // soft-clip multiple bases + } S; + struct { + int pos; + int code; + int len; + int seq_idx; // insertion multiple bases + } I; + struct { + int pos; + int code; + int base; // insertion single base + } i; + struct { + int pos; + int code; + int len; + } D; + struct { + int pos; + int code; + int len; + } N; + struct { + int pos; + int code; + int len; + } P; + struct { + int pos; + int code; + int len; + } H; + }; +} cram_feature; + +/* + * A slice is really just a set of blocks, but it + * is the logical unit for decoding a number of + * sequences. + */ +typedef struct cram_slice { + cram_block_slice_hdr *hdr; + cram_block *hdr_block; + cram_block **block; + cram_block **block_by_id; + + /* State used during encoding/decoding */ + int last_apos, max_apos; + + /* Array of decoded cram records */ + cram_record *crecs; + + /* An dynamically growing buffers for data pointed + * to by crecs[] array. + */ + uint32_t *cigar; + uint32_t cigar_alloc; + uint32_t ncigar; + + cram_feature *features; + int nfeatures; + int afeatures; // allocated size of features + +#ifndef TN_external + // TN field (Tag Name) + uint32_t *TN; + int nTN, aTN; // used and allocated size for TN[] +#else + cram_block *tn_blk; + int tn_id; +#endif + + // For variable sized elements which are always external blocks. + cram_block *name_blk; + cram_block *seqs_blk; + cram_block *qual_blk; + cram_block *base_blk; + cram_block *soft_blk; + cram_block *aux_blk; + cram_block *aux_OQ_blk; + cram_block *aux_BQ_blk; + cram_block *aux_BD_blk; + cram_block *aux_BI_blk; + cram_block *aux_FZ_blk; + cram_block *aux_oq_blk; + cram_block *aux_os_blk; + cram_block *aux_oz_blk; + + string_alloc_t *pair_keys; // Pooled keys for pair hash. + khash_t(m_s2i) *pair[2]; // for identifying read-pairs in this slice. + + char *ref; // slice of current reference + int ref_start; // start position of current reference; + int ref_end; // end position of current reference; + int ref_id; +} cram_slice; + +/*----------------------------------------------------------------------------- + * Consider moving reference handling to cram_refs.[ch] + */ +// from fa.fai / samtools faidx files +typedef struct ref_entry { + char *name; + char *fn; + int64_t length; + int64_t offset; + int bases_per_line; + int line_length; + int64_t count; // for shared references so we know to dealloc seq + char *seq; +} ref_entry; + +KHASH_MAP_INIT_STR(refs, ref_entry*) + +// References structure. +typedef struct { + string_alloc_t *pool; // String pool for holding filenames and SN vals + + khash_t(refs) *h_meta; // ref_entry*, index by name + ref_entry **ref_id; // ref_entry*, index by ID + int nref; // number of ref_entry + + char *fn; // current file opened + BGZF *fp; // and the hFILE* to go with it. + + int count; // how many cram_fd sharing this refs struct + + pthread_mutex_t lock; // Mutex for multi-threaded updating + ref_entry *last; // Last queried sequence + int last_id; // Used in cram_ref_decr_locked to delay free +} refs_t; + +/*----------------------------------------------------------------------------- + * CRAM index + * + * Detect format by number of entries per line. + * 5 => 1.0 (refid, start, nseq, C offset, slice) + * 6 => 1.1 (refid, start, span, C offset, S offset, S size) + * + * Indices are stored in a nested containment list, which is trivial to set + * up as the indices are on sorted data so we're appending to the nclist + * in sorted order. Basically if a slice entirely fits within a previous + * slice then we append to that slices list. This is done recursively. + * + * Lists are sorted on two dimensions: ref id + slice coords. + */ +typedef struct cram_index { + int nslice, nalloc; // total number of slices + struct cram_index *e; // array of size nslice + + int refid; // 1.0 1.1 + int start; // 1.0 1.1 + int end; // 1.1 + int nseq; // 1.0 - undocumented + int slice; // 1.0 landmark index, 1.1 landmark value + int len; // 1.1 - size of slice in bytes + int64_t offset; // 1.0 1.1 +} cram_index; + +typedef struct { + int refid; + int start; + int end; +} cram_range; + +/*----------------------------------------------------------------------------- + */ +/* CRAM File handle */ + +typedef struct spare_bams { + bam_seq_t **bams; + struct spare_bams *next; +} spare_bams; + +typedef struct cram_fd { + struct hFILE *fp; + int mode; // 'r' or 'w' + int version; + cram_file_def *file_def; + SAM_hdr *header; + + char *prefix; + int64_t record_counter; + int err; + + // Most recent compression header decoded + //cram_block_compression_hdr *comp_hdr; + //cram_block_slice_hdr *slice_hdr; + + // Current container being processed. + cram_container *ctr; + + // positions for encoding or decoding + int first_base, last_base; + + // cached reference portion + refs_t *refs; // ref meta-data structure + char *ref, *ref_free; // current portion held in memory + int ref_id; + int ref_start; + int ref_end; + char *ref_fn; // reference fasta filename + + // compression level and metrics + int level; + cram_metrics *m[DS_END]; + + // options + int decode_md; // Whether to export MD and NM tags + int verbose; + int seqs_per_slice; + int slices_per_container; + int embed_ref; + int no_ref; + int ignore_md5; + int use_bz2; + int use_rans; + int use_lzma; + int shared_ref; + unsigned int required_fields; + cram_range range; + + // lookup tables, stored here so we can be trivially multi-threaded + unsigned int bam_flag_swap[0x1000]; // cram -> bam flags + unsigned int cram_flag_swap[0x1000];// bam -> cram flags + unsigned char L1[256]; // ACGT{*} ->0123{4} + unsigned char L2[256]; // ACGTN{*}->01234{5} + char cram_sub_matrix[32][32]; // base substituion codes + + int index_sz; + cram_index *index; // array, sizeof index_sz + off_t first_container; + int eof; + int last_slice; // number of recs encoded in last slice + int multi_seq; + int unsorted; + int empty_container; // Marker for EOF block + + // thread pool + int own_pool; + t_pool *pool; + t_results_queue *rqueue; + pthread_mutex_t metrics_lock; + pthread_mutex_t ref_lock; + spare_bams *bl; + pthread_mutex_t bam_list_lock; + void *job_pending; + int ooc; // out of containers. +} cram_fd; + +// Translation of required fields to cram data series +enum cram_fields { + CRAM_BF = 0x00000001, + CRAM_AP = 0x00000002, + CRAM_FP = 0x00000004, + CRAM_RL = 0x00000008, + CRAM_DL = 0x00000010, + CRAM_NF = 0x00000020, + CRAM_BA = 0x00000040, + CRAM_QS = 0x00000080, + CRAM_FC = 0x00000100, + CRAM_FN = 0x00000200, + CRAM_BS = 0x00000400, + CRAM_IN = 0x00000800, + CRAM_RG = 0x00001000, + CRAM_MQ = 0x00002000, + CRAM_TL = 0x00004000, + CRAM_RN = 0x00008000, + CRAM_NS = 0x00010000, + CRAM_NP = 0x00020000, + CRAM_TS = 0x00040000, + CRAM_MF = 0x00080000, + CRAM_CF = 0x00100000, + CRAM_RI = 0x00200000, + CRAM_RS = 0x00400000, + CRAM_PD = 0x00800000, + CRAM_HC = 0x01000000, + CRAM_SC = 0x02000000, + CRAM_BB = 0x04000000, + CRAM_BB_len = 0x08000000, + CRAM_QQ = 0x10000000, + CRAM_QQ_len = 0x20000000, + CRAM_aux= 0x40000000, + CRAM_ALL= 0x7fffffff, +}; + +// A CIGAR opcode, but not necessarily the implications of it. Eg FC/FP may +// encode a base difference, but we don't need to know what it is for CIGAR. +// If we have a soft-clip or insertion, we do need SC/IN though to know how +// long that array is. +#define CRAM_CIGAR (CRAM_FN | CRAM_FP | CRAM_FC | CRAM_DL | CRAM_IN | \ + CRAM_SC | CRAM_HC | CRAM_PD | CRAM_RS | CRAM_RL | CRAM_BF) + +#define CRAM_SEQ (CRAM_CIGAR | CRAM_BA | CRAM_QS | CRAM_BS | \ + CRAM_RL | CRAM_AP | CRAM_BB | CRAM_QQ) + +/* BF bitfields */ +/* Corrected in 1.1. Use bam_flag_swap[bf] and BAM_* macros for 1.0 & 1.1 */ +#define CRAM_FPAIRED 256 +#define CRAM_FPROPER_PAIR 128 +#define CRAM_FUNMAP 64 +#define CRAM_FREVERSE 32 +#define CRAM_FREAD1 16 +#define CRAM_FREAD2 8 +#define CRAM_FSECONDARY 4 +#define CRAM_FQCFAIL 2 +#define CRAM_FDUP 1 + +#define DS_aux_S "\001" +#define DS_aux_OQ_S "\002" +#define DS_aux_BQ_S "\003" +#define DS_aux_BD_S "\004" +#define DS_aux_BI_S "\005" +#define DS_aux_FZ_S "\006" +#define DS_aux_oq_S "\007" +#define DS_aux_os_S "\010" +#define DS_aux_oz_S "\011" + +#define CRAM_M_REVERSE 1 +#define CRAM_M_UNMAP 2 + + +/* CF bitfields */ +#define CRAM_FLAG_PRESERVE_QUAL_SCORES (1<<0) +#define CRAM_FLAG_DETACHED (1<<1) +#define CRAM_FLAG_MATE_DOWNSTREAM (1<<2) + +#ifdef __cplusplus +} +#endif + +#endif /* _CRAM_STRUCTS_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/files.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/files.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,76 @@ +/* +Copyright (c) 1994, 1996-1997, 2000, 2003 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1 Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2 Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include "cram/misc.h" + +#include +#include +/* Alliant's Concentrix is hugely deficient */ +/* Define things we require in this program */ +/* Methinks S_IFMT and S_IFDIR aren't defined in POSIX */ +#ifndef S_ISDIR +#define S_ISDIR(m) (((m)&S_IFMT) == S_IFDIR) +#endif /*!S_ISDIR*/ +#ifndef S_ISREG +#define S_ISREG(m) (((m)&S_IFMT) == S_IFREG) +#endif /*!S_ISREG*/ + +int is_directory(char * fn) +{ + struct stat buf; + if ( stat(fn,&buf) ) return 0; + return S_ISDIR(buf.st_mode); +} + +int is_file(char * fn) +{ + struct stat buf; + if ( stat(fn,&buf) ) return 0; + return S_ISREG(buf.st_mode); +} + +int file_exists(char * fn) +{ + struct stat buf; + return ( stat(fn,&buf) == 0); +} + +int file_size(char * fn) +{ + struct stat buf; + if ( stat(fn,&buf) != 0) return 0; + return buf.st_size; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/mFILE.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/mFILE.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,634 @@ +/* +Copyright (c) 2005-2006, 2008-2009, 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "cram/os.h" +#include "cram/mFILE.h" +#include "cram/vlen.h" + +/* + * This file contains memory-based versions of the most commonly used + * (by io_lib) stdio functions. + * + * Actual file IO takes place either on opening or closing an mFILE. + * + * Coupled to this are a bunch of rather scary macros which can be obtained + * by including stdio_hack.h. It is recommended though that you use mFILE.h + * instead and replace fopen with mfopen (etc). This is more or less + * mandatory if you wish to use both FILE and mFILE structs in a single file. + */ + +static mFILE *m_channel[3]; /* stdin, stdout and stderr fakes */ + +/* + * Reads the entirety of fp into memory. If 'fn' exists it is the filename + * associated with fp. This will be used for more optimal reading (via a + * stat to identify the size and a single read). Otherwise we use successive + * reads until EOF. + * + * Returns a malloced buffer on success of length *size + * NULL on failure + */ +static char *mfload(FILE *fp, const char *fn, size_t *size, int binary) { + struct stat sb; + char *data = NULL; + size_t allocated = 0, used = 0; + int bufsize = 8192; + +#ifdef _WIN32 + if (binary) + _setmode(_fileno(fp), _O_BINARY); + else + _setmode(_fileno(fp), _O_TEXT); +#endif + + if (fn && -1 != stat(fn, &sb)) { + data = malloc(allocated = sb.st_size); + bufsize = sb.st_size; + } else { + fn = NULL; + } + + do { + size_t len; + if (used + bufsize > allocated) { + allocated += bufsize; + data = realloc(data, allocated); + } + len = fread(data + used, 1, allocated - used, fp); + if (len > 0) + used += len; + } while (!feof(fp) && (fn == NULL || used < sb.st_size)); + + *size = used; + + return data; +} + +/* + * Creates and returns m_channel[0]. + * We initialise this on the first attempted read, which then slurps in + * all of stdin until EOF is met. + */ +mFILE *mstdin(void) { + if (m_channel[0]) + return m_channel[0]; + + m_channel[0] = mfcreate(NULL, 0); + if (NULL == m_channel[0]) return NULL; + m_channel[0]->fp = stdin; + return m_channel[0]; +} + +static void init_mstdin(void) { + static int done_stdin = 0; + if (done_stdin) + return; + + m_channel[0]->data = mfload(stdin, NULL, &m_channel[0]->size, 1); + m_channel[0]->mode = MF_READ; + done_stdin = 1; +} + +/* + * Creates and returns m_channel[1]. This is the fake for stdout. It starts as + * an empty buffer which is physically written out only when mfflush or + * mfclose are called. + */ +mFILE *mstdout(void) { + if (m_channel[1]) + return m_channel[1]; + + m_channel[1] = mfcreate(NULL, 0); + if (NULL == m_channel[1]) return NULL; + m_channel[1]->fp = stdout; + m_channel[1]->mode = MF_WRITE; + return m_channel[1]; +} + +/* + * Stderr as an mFILE. + * The code handles stderr by returning m_channel[2], but also checking + * for stderr in fprintf (the common usage of it) to auto-flush. + */ +mFILE *mstderr(void) { + if (m_channel[2]) + return m_channel[2]; + + m_channel[2] = mfcreate(NULL, 0); + if (NULL == m_channel[2]) return NULL; + m_channel[2]->fp = stderr; + m_channel[2]->mode = MF_WRITE; + return m_channel[2]; +} + + +/* + * For creating existing mFILE pointers directly from memory buffers. + */ +mFILE *mfcreate(char *data, int size) { + mFILE *mf = (mFILE *)malloc(sizeof(*mf)); + if (NULL == mf) return NULL; + mf->fp = NULL; + mf->data = data; + mf->alloced = size; + mf->size = size; + mf->eof = 0; + mf->offset = 0; + mf->flush_pos = 0; + mf->mode = MF_READ | MF_WRITE; + return mf; +} + +/* + * Recreate an existing mFILE to house new data/size. + * It also rewinds the file. + */ +void mfrecreate(mFILE *mf, char *data, int size) { + if (mf->data) + free(mf->data); + mf->data = data; + mf->size = size; + mf->alloced = size; + mf->eof = 0; + mf->offset = 0; + mf->flush_pos = 0; +} + + +/* + * Creates a new mFILE to contain the contents of the FILE pointer. + * This mFILE is purely for in-memory operations and has no links to the + * original FILE* it came from. It also doesn't close the FILE pointer. + * Consider using mfreopen() is you need different behaviour. + * + * Returns mFILE * on success + * NULL on failure. + */ +mFILE *mfcreate_from(const char *path, const char *mode_str, FILE *fp) { + mFILE *mf; + + /* Open using mfreopen() */ + if (NULL == (mf = mfreopen(path, mode_str, fp))) + return NULL; + + /* Disassociate from the input stream */ + mf->fp = NULL; + + return mf; +} + +/* + * Converts a FILE * to an mFILE *. + * Use this for wrapper functions to turn external prototypes requring + * FILE * as an argument into internal code using mFILE *. + */ +mFILE *mfreopen(const char *path, const char *mode_str, FILE *fp) { + mFILE *mf; + int r = 0, w = 0, a = 0, b = 0, x = 0, mode = 0; + + /* Parse mode: + * r = read file contents (if truncated => don't read) + * w = write on close + * a = position at end of buffer + * x = position at same location as the original fp, don't seek on flush + */ + if (strchr(mode_str, 'r')) + r = 1, mode |= MF_READ; + if (strchr(mode_str, 'w')) + w = 1, mode |= MF_WRITE | MF_TRUNC; + if (strchr(mode_str, 'a')) + w = a = 1, mode |= MF_WRITE | MF_APPEND; + if (strchr(mode_str, 'b')) + b = 1, mode |= MF_BINARY; + if (strchr(mode_str, 'x')) + x = 1; + if (strchr(mode_str, '+')) { + w = 1, mode |= MF_READ | MF_WRITE; + if (a) + r = 1; + } + + if (r) { + mf = mfcreate(NULL, 0); + if (NULL == mf) return NULL; + if (!(mode & MF_TRUNC)) { + mf->data = mfload(fp, path, &mf->size, b); + mf->alloced = mf->size; + if (!a) + fseek(fp, 0, SEEK_SET); + } + } else if (w) { + /* Write - initialise the data structures */ + mf = mfcreate(NULL, 0); + if (NULL == mf) return NULL; + } else { + fprintf(stderr, "Must specify either r, w or a for mode\n"); + return NULL; + } + mf->fp = fp; + mf->mode = mode; + + if (x) { + mf->mode |= MF_MODEX; + } + + if (a) { + mf->flush_pos = mf->size; + fseek(fp, 0, SEEK_END); + } + + return mf; +} + +/* + * Opens a file. If we have read access (r or a+) then it loads the entire + * file into memory. If We have write access then the pathname is stored. + * We do not actually write until an mfclose, which then checks this pathname. + */ +mFILE *mfopen(const char *path, const char *mode) { + FILE *fp; + + if (NULL == (fp = fopen(path, mode))) + return NULL; + return mfreopen(path, mode, fp); +} + +/* + * Closes an mFILE. If the filename is known (implying write access) then this + * also writes the data to disk. + * + * Stdout is handled by calling mfflush which writes to stdout if appropriate. + */ +int mfclose(mFILE *mf) { + if (!mf) + return -1; + + mfflush(mf); + + if (mf->fp) + fclose(mf->fp); + + mfdestroy(mf); + + return 0; +} + +/* + * Closes the file pointer contained within the mFILE without destroying + * the in-memory data. + */ +int mfdetach(mFILE *mf) { + if (!mf) + return -1; + + mfflush(mf); + + if (mf->fp) { + fclose(mf->fp); + mf->fp = NULL; + } + + return 0; +} + +/* + * Destroys an mFILE structure but does not flush or close it + */ +int mfdestroy(mFILE *mf) { + if (!mf) + return -1; + + if (mf->data) + free(mf->data); + free(mf); + + return 0; +} + +/* + * Steals that data out of an mFILE. The mFILE itself will be closed. + * It is up to the caller to free the stolen buffer. If size_out is + * not NULL, mf->size will be stored in it. + * This is more-or-less the opposite of mfcreate(). + */ + +void *mfsteal(mFILE *mf, size_t *size_out) { + void *data; + + if (!mf) return NULL; + + data = mf->data; + + if (NULL != size_out) *size_out = mf->size; + + mfdetach(mf); + mf->data = NULL; + mfdestroy(mf); + + return data; +} + +/* + * Seek/tell functions. Nothing more than updating and reporting an + * in-memory index. NB we can seek on stdin or stdout even provided we + * haven't been flushing. + */ +int mfseek(mFILE *mf, long offset, int whence) { + switch (whence) { + case SEEK_SET: + mf->offset = offset; + break; + case SEEK_CUR: + mf->offset += offset; + break; + case SEEK_END: + mf->offset = mf->size + offset; + break; + default: + errno = EINVAL; + return -1; + } + + mf->eof = 0; + return 0; +} + +long mftell(mFILE *mf) { + return mf->offset; +} + +void mrewind(mFILE *mf) { + mf->offset = 0; + mf->eof = 0; +} + +/* + * mftruncate is not directly a translation of ftruncate as the latter + * takes a file descriptor instead of a FILE *. It performs the analogous + * role though. + * + * If offset is -1 then the file is truncated to be the current file + * offset. + */ +void mftruncate(mFILE *mf, long offset) { + mf->size = offset != -1 ? offset : mf->offset; + if (mf->offset > mf->size) + mf->offset = mf->size; +} + +int mfeof(mFILE *mf) { + return mf->eof; +} + +/* + * mFILE read/write functions. Basically these turn fread/fwrite syntax + * into memcpy statements, with appropriate memory handling for writing. + */ +size_t mfread(void *ptr, size_t size, size_t nmemb, mFILE *mf) { + size_t len; + char *cptr = (char *)ptr; + + if (mf == m_channel[0]) init_mstdin(); + + if (mf->size <= mf->offset) + return 0; + + len = size * nmemb <= mf->size - mf->offset + ? size * nmemb + : mf->size - mf->offset; + if (!size) + return 0; + + memcpy(cptr, &mf->data[mf->offset], len); + mf->offset += len; + + if (len != size * nmemb) { + mf->eof = 1; + } + + return len / size; +} + +size_t mfwrite(void *ptr, size_t size, size_t nmemb, mFILE *mf) { + if (!(mf->mode & MF_WRITE)) + return 0; + + /* Append mode => forced all writes to end of file */ + if (mf->mode & MF_APPEND) + mf->offset = mf->size; + + /* Make sure we have enough room */ + while (size * nmemb + mf->offset > mf->alloced) { + size_t new_alloced = mf->alloced ? mf->alloced * 2 : 1024; + void * new_data = realloc(mf->data, new_alloced); + if (NULL == new_data) return 0; + mf->alloced = new_alloced; + mf->data = new_data; + } + + /* Record where we need to reflush from */ + if (mf->offset < mf->flush_pos) + mf->flush_pos = mf->offset; + + /* Copy the data over */ + memcpy(&mf->data[mf->offset], ptr, size * nmemb); + mf->offset += size * nmemb; + if (mf->size < mf->offset) + mf->size = mf->offset; + + return nmemb; +} + +int mfgetc(mFILE *mf) { + if (mf == m_channel[0]) init_mstdin(); + if (mf->offset < mf->size) { + return (unsigned char)mf->data[mf->offset++]; + } + + mf->eof = 1; + return -1; +} + +int mungetc(int c, mFILE *mf) { + if (mf->offset > 0) { + mf->data[--mf->offset] = c; + return c; + } + + mf->eof = 1; + return -1; +} + +char *mfgets(char *s, int size, mFILE *mf) { + int i; + + if (mf == m_channel[0]) init_mstdin(); + *s = 0; + for (i = 0; i < size-1;) { + if (mf->offset < mf->size) { + s[i] = mf->data[mf->offset++]; + if (s[i++] == '\n') + break; + } else { + mf->eof = 1; + break; + } + } + + s[i] = 0; + return i ? s : NULL; +} + +/* + * Flushes an mFILE. If this is a real open of a file in write mode then + * mFILE->fp will be set. We then write out any new data in mFILE since the + * last flush. We cannot tell what may have been modified as we don't keep + * track of that, so we typically rewrite out the entire file contents between + * the last flush_pos and the end of file. + * + * For stderr/stdout we also reset the offsets so we cannot modify things + * we've already output. + */ +int mfflush(mFILE *mf) { + if (!mf->fp) + return 0; + + /* FIXME: only do this when opened in write mode */ + if (mf == m_channel[1] || mf == m_channel[2]) { + if (mf->flush_pos < mf->size) { + size_t bytes = mf->size - mf->flush_pos; + if (fwrite(mf->data + mf->flush_pos, 1, bytes, mf->fp) < bytes) + return -1; + if (0 != fflush(mf->fp)) + return -1; + } + + /* Stdout & stderr are non-seekable streams so throw away the data */ + mf->offset = mf->size = mf->flush_pos = 0; + } + + /* only flush when opened in write mode */ + if (mf->mode & MF_WRITE) { + if (mf->flush_pos < mf->size) { + size_t bytes = mf->size - mf->flush_pos; + if (!(mf->mode & MF_MODEX)) { + fseek(mf->fp, mf->flush_pos, SEEK_SET); + } + if (fwrite(mf->data + mf->flush_pos, 1, bytes, mf->fp) < bytes) + return -1; + if (0 != fflush(mf->fp)) + return -1; + } + if (ftell(mf->fp) != -1 && + ftruncate(fileno(mf->fp), ftell(mf->fp)) == -1) + return -1; + mf->flush_pos = mf->size; + } + + return 0; +} + +/* + * A wrapper around vsprintf() to write to an mFILE. This also uses vflen() to + * estimate how many additional bytes of storage will be required for the + * vsprintf to work. + */ +int mfprintf(mFILE *mf, char *fmt, ...) { + int ret; + size_t est_length; + va_list args; + + va_start(args, fmt); + est_length = vflen(fmt, args); + va_end(args); + while (est_length + mf->offset > mf->alloced) { + size_t new_alloced = mf->alloced ? mf->alloced * 2 : 1024; + void * new_data = realloc(mf->data, new_alloced); + if (NULL == new_data) return -1; + mf->alloced = new_alloced; + mf->data = new_data; + } + + va_start(args, fmt); + ret = vsprintf(&mf->data[mf->offset], fmt, args); + va_end(args); + + if (ret > 0) { + mf->offset += ret; + if (mf->size < mf->offset) + mf->size = mf->offset; + } + + if (mf->fp == stderr) { + /* Auto-flush for stderr */ + if (0 != mfflush(mf)) return -1; + } + + return ret; +} + +/* + * Converts an mFILE from binary to ascii mode by replacing all + * cr-nl with nl. + * + * Primarily used on windows when we've uncompressed a binary file which + * happens to be a text file (eg Experiment File). Previously we would have + * seeked back to the start and used _setmode(fileno(fp), _O_TEXT). + * + * Side effect: resets offset and flush_pos back to the start. + */ +void mfascii(mFILE *mf) { + size_t p1, p2; + + for (p1 = p2 = 1; p1 < mf->size; p1++, p2++) { + if (mf->data[p1] == '\n' && mf->data[p1-1] == '\r') { + p2--; /* delete the \r */ + } + mf->data[p2] = mf->data[p1]; + } + mf->size = p2; + + mf->offset = mf->flush_pos = 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/mFILE.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/mFILE.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,88 @@ +/* +Copyright (c) 2005-2006, 2008-2009 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _MFILE_H_ +#define _MFILE_H_ + +#include + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct { + FILE *fp; + char *data; + size_t alloced; + int eof; + int mode; /* open mode in MF_?? define bit pattern */ + size_t size; + size_t offset; + size_t flush_pos; +} mFILE; + +#define MF_READ 1 +#define MF_WRITE 2 +#define MF_APPEND 4 +#define MF_BINARY 8 +#define MF_TRUNC 16 +#define MF_MODEX 32 + +mFILE *mfreopen(const char *path, const char *mode, FILE *fp); +mFILE *mfopen(const char *path, const char *mode); +int mfdetach(mFILE *mf); +int mfclose(mFILE *mf); +int mfdestroy(mFILE *mf); +int mfseek(mFILE *mf, long offset, int whence); +long mftell(mFILE *mf); +void mrewind(mFILE *mf); +void mftruncate(mFILE *mf, long offset); +int mfeof(mFILE *mf); +size_t mfread(void *ptr, size_t size, size_t nmemb, mFILE *mf); +size_t mfwrite(void *ptr, size_t size, size_t nmemb, mFILE *mf); +int mfgetc(mFILE *mf); +int mungetc(int c, mFILE *mf); +mFILE *mfcreate(char *data, int size); +mFILE *mfcreate_from(const char *path, const char *mode_str, FILE *fp); +void mfrecreate(mFILE *mf, char *data, int size); +void *mfsteal(mFILE *mf, size_t *size_out); +char *mfgets(char *s, int size, mFILE *mf); +int mfflush(mFILE *mf); +int mfprintf(mFILE *mf, char *fmt, ...); +mFILE *mstdin(void); +mFILE *mstdout(void); +mFILE *mstderr(void); +void mfascii(mFILE *mf); + +#ifdef __cplusplus +} +#endif + +#endif /* _MFILE_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/md5.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/md5.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,295 @@ +/* + * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. + * MD5 Message-Digest Algorithm (RFC 1321). + * + * Homepage: + * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 + * + * Author: + * Alexander Peslyak, better known as Solar Designer + * + * This software was written by Alexander Peslyak in 2001. No copyright is + * claimed, and the software is hereby placed in the public domain. + * In case this attempt to disclaim copyright and place the software in the + * public domain is deemed null and void, then the software is + * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the + * general public under the following terms: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * There's ABSOLUTELY NO WARRANTY, express or implied. + * + * (This is a heavily cut-down "BSD license".) + * + * This differs from Colin Plumb's older public domain implementation in that + * no exactly 32-bit integer data type is required (any 32-bit or wider + * unsigned integer data type will do), there's no compile-time endianness + * configuration, and the function prototypes match OpenSSL's. No code from + * Colin Plumb's implementation has been reused; this comment merely compares + * the properties of the two independent implementations. + * + * The primary goals of this implementation are portability and ease of use. + * It is meant to be fast, but not as fast as possible. Some known + * optimizations are not included to reduce source code size and avoid + * compile-time configuration. + */ + +#ifndef HAVE_OPENSSL + +#include + +#include "md5.h" + +/* + * The basic MD5 functions. + * + * F and G are optimized compared to their RFC 1321 definitions for + * architectures that lack an AND-NOT instruction, just like in Colin Plumb's + * implementation. + */ +#define F(x, y, z) ((z) ^ ((x) & ((y) ^ (z)))) +#define G(x, y, z) ((y) ^ ((z) & ((x) ^ (y)))) +#define H(x, y, z) ((x) ^ (y) ^ (z)) +#define I(x, y, z) ((y) ^ ((x) | ~(z))) + +/* + * The MD5 transformation for all four rounds. + */ +#define STEP(f, a, b, c, d, x, t, s) \ + (a) += f((b), (c), (d)) + (x) + (t); \ + (a) = (((a) << (s)) | (((a) & 0xffffffff) >> (32 - (s)))); \ + (a) += (b); + +/* + * SET reads 4 input bytes in little-endian byte order and stores them + * in a properly aligned word in host byte order. + * + * The check for little-endian architectures that tolerate unaligned + * memory accesses is just an optimization. Nothing will break if it + * doesn't work. + */ +#if defined(__i386__) || defined(__x86_64__) || defined(__vax__) +#define SET(n) \ + (*(MD5_u32plus *)&ptr[(n) * 4]) +#define GET(n) \ + SET(n) +#else +#define SET(n) \ + (ctx->block[(n)] = \ + (MD5_u32plus)ptr[(n) * 4] | \ + ((MD5_u32plus)ptr[(n) * 4 + 1] << 8) | \ + ((MD5_u32plus)ptr[(n) * 4 + 2] << 16) | \ + ((MD5_u32plus)ptr[(n) * 4 + 3] << 24)) +#define GET(n) \ + (ctx->block[(n)]) +#endif + +/* + * This processes one or more 64-byte data blocks, but does NOT update + * the bit counters. There are no alignment requirements. + */ +static void *body(MD5_CTX *ctx, void *data, unsigned long size) +{ + unsigned char *ptr; + MD5_u32plus a, b, c, d; + MD5_u32plus saved_a, saved_b, saved_c, saved_d; + + ptr = data; + + a = ctx->a; + b = ctx->b; + c = ctx->c; + d = ctx->d; + + do { + saved_a = a; + saved_b = b; + saved_c = c; + saved_d = d; + +/* Round 1 */ + STEP(F, a, b, c, d, SET(0), 0xd76aa478, 7) + STEP(F, d, a, b, c, SET(1), 0xe8c7b756, 12) + STEP(F, c, d, a, b, SET(2), 0x242070db, 17) + STEP(F, b, c, d, a, SET(3), 0xc1bdceee, 22) + STEP(F, a, b, c, d, SET(4), 0xf57c0faf, 7) + STEP(F, d, a, b, c, SET(5), 0x4787c62a, 12) + STEP(F, c, d, a, b, SET(6), 0xa8304613, 17) + STEP(F, b, c, d, a, SET(7), 0xfd469501, 22) + STEP(F, a, b, c, d, SET(8), 0x698098d8, 7) + STEP(F, d, a, b, c, SET(9), 0x8b44f7af, 12) + STEP(F, c, d, a, b, SET(10), 0xffff5bb1, 17) + STEP(F, b, c, d, a, SET(11), 0x895cd7be, 22) + STEP(F, a, b, c, d, SET(12), 0x6b901122, 7) + STEP(F, d, a, b, c, SET(13), 0xfd987193, 12) + STEP(F, c, d, a, b, SET(14), 0xa679438e, 17) + STEP(F, b, c, d, a, SET(15), 0x49b40821, 22) + +/* Round 2 */ + STEP(G, a, b, c, d, GET(1), 0xf61e2562, 5) + STEP(G, d, a, b, c, GET(6), 0xc040b340, 9) + STEP(G, c, d, a, b, GET(11), 0x265e5a51, 14) + STEP(G, b, c, d, a, GET(0), 0xe9b6c7aa, 20) + STEP(G, a, b, c, d, GET(5), 0xd62f105d, 5) + STEP(G, d, a, b, c, GET(10), 0x02441453, 9) + STEP(G, c, d, a, b, GET(15), 0xd8a1e681, 14) + STEP(G, b, c, d, a, GET(4), 0xe7d3fbc8, 20) + STEP(G, a, b, c, d, GET(9), 0x21e1cde6, 5) + STEP(G, d, a, b, c, GET(14), 0xc33707d6, 9) + STEP(G, c, d, a, b, GET(3), 0xf4d50d87, 14) + STEP(G, b, c, d, a, GET(8), 0x455a14ed, 20) + STEP(G, a, b, c, d, GET(13), 0xa9e3e905, 5) + STEP(G, d, a, b, c, GET(2), 0xfcefa3f8, 9) + STEP(G, c, d, a, b, GET(7), 0x676f02d9, 14) + STEP(G, b, c, d, a, GET(12), 0x8d2a4c8a, 20) + +/* Round 3 */ + STEP(H, a, b, c, d, GET(5), 0xfffa3942, 4) + STEP(H, d, a, b, c, GET(8), 0x8771f681, 11) + STEP(H, c, d, a, b, GET(11), 0x6d9d6122, 16) + STEP(H, b, c, d, a, GET(14), 0xfde5380c, 23) + STEP(H, a, b, c, d, GET(1), 0xa4beea44, 4) + STEP(H, d, a, b, c, GET(4), 0x4bdecfa9, 11) + STEP(H, c, d, a, b, GET(7), 0xf6bb4b60, 16) + STEP(H, b, c, d, a, GET(10), 0xbebfbc70, 23) + STEP(H, a, b, c, d, GET(13), 0x289b7ec6, 4) + STEP(H, d, a, b, c, GET(0), 0xeaa127fa, 11) + STEP(H, c, d, a, b, GET(3), 0xd4ef3085, 16) + STEP(H, b, c, d, a, GET(6), 0x04881d05, 23) + STEP(H, a, b, c, d, GET(9), 0xd9d4d039, 4) + STEP(H, d, a, b, c, GET(12), 0xe6db99e5, 11) + STEP(H, c, d, a, b, GET(15), 0x1fa27cf8, 16) + STEP(H, b, c, d, a, GET(2), 0xc4ac5665, 23) + +/* Round 4 */ + STEP(I, a, b, c, d, GET(0), 0xf4292244, 6) + STEP(I, d, a, b, c, GET(7), 0x432aff97, 10) + STEP(I, c, d, a, b, GET(14), 0xab9423a7, 15) + STEP(I, b, c, d, a, GET(5), 0xfc93a039, 21) + STEP(I, a, b, c, d, GET(12), 0x655b59c3, 6) + STEP(I, d, a, b, c, GET(3), 0x8f0ccc92, 10) + STEP(I, c, d, a, b, GET(10), 0xffeff47d, 15) + STEP(I, b, c, d, a, GET(1), 0x85845dd1, 21) + STEP(I, a, b, c, d, GET(8), 0x6fa87e4f, 6) + STEP(I, d, a, b, c, GET(15), 0xfe2ce6e0, 10) + STEP(I, c, d, a, b, GET(6), 0xa3014314, 15) + STEP(I, b, c, d, a, GET(13), 0x4e0811a1, 21) + STEP(I, a, b, c, d, GET(4), 0xf7537e82, 6) + STEP(I, d, a, b, c, GET(11), 0xbd3af235, 10) + STEP(I, c, d, a, b, GET(2), 0x2ad7d2bb, 15) + STEP(I, b, c, d, a, GET(9), 0xeb86d391, 21) + + a += saved_a; + b += saved_b; + c += saved_c; + d += saved_d; + + ptr += 64; + } while (size -= 64); + + ctx->a = a; + ctx->b = b; + ctx->c = c; + ctx->d = d; + + return ptr; +} + +void MD5_Init(MD5_CTX *ctx) +{ + ctx->a = 0x67452301; + ctx->b = 0xefcdab89; + ctx->c = 0x98badcfe; + ctx->d = 0x10325476; + + ctx->lo = 0; + ctx->hi = 0; +} + +void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size) +{ + MD5_u32plus saved_lo; + unsigned long used, free; + + saved_lo = ctx->lo; + if ((ctx->lo = (saved_lo + size) & 0x1fffffff) < saved_lo) + ctx->hi++; + ctx->hi += size >> 29; + + used = saved_lo & 0x3f; + + if (used) { + free = 64 - used; + + if (size < free) { + memcpy(&ctx->buffer[used], data, size); + return; + } + + memcpy(&ctx->buffer[used], data, free); + data = (unsigned char *)data + free; + size -= free; + body(ctx, ctx->buffer, 64); + } + + if (size >= 64) { + data = body(ctx, data, size & ~(unsigned long)0x3f); + size &= 0x3f; + } + + memcpy(ctx->buffer, data, size); +} + +void MD5_Final(unsigned char *result, MD5_CTX *ctx) +{ + unsigned long used, free; + + used = ctx->lo & 0x3f; + + ctx->buffer[used++] = 0x80; + + free = 64 - used; + + if (free < 8) { + memset(&ctx->buffer[used], 0, free); + body(ctx, ctx->buffer, 64); + used = 0; + free = 64; + } + + memset(&ctx->buffer[used], 0, free - 8); + + ctx->lo <<= 3; + ctx->buffer[56] = ctx->lo; + ctx->buffer[57] = ctx->lo >> 8; + ctx->buffer[58] = ctx->lo >> 16; + ctx->buffer[59] = ctx->lo >> 24; + ctx->buffer[60] = ctx->hi; + ctx->buffer[61] = ctx->hi >> 8; + ctx->buffer[62] = ctx->hi >> 16; + ctx->buffer[63] = ctx->hi >> 24; + + body(ctx, ctx->buffer, 64); + + result[0] = ctx->a; + result[1] = ctx->a >> 8; + result[2] = ctx->a >> 16; + result[3] = ctx->a >> 24; + result[4] = ctx->b; + result[5] = ctx->b >> 8; + result[6] = ctx->b >> 16; + result[7] = ctx->b >> 24; + result[8] = ctx->c; + result[9] = ctx->c >> 8; + result[10] = ctx->c >> 16; + result[11] = ctx->c >> 24; + result[12] = ctx->d; + result[13] = ctx->d >> 8; + result[14] = ctx->d >> 16; + result[15] = ctx->d >> 24; + + memset(ctx, 0, sizeof(*ctx)); +} + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/md5.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/md5.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,54 @@ +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This is an OpenSSL-compatible implementation of the RSA Data Security, Inc. + * MD5 Message-Digest Algorithm (RFC 1321). + * + * Homepage: + * http://openwall.info/wiki/people/solar/software/public-domain-source-code/md5 + * + * Author: + * Alexander Peslyak, better known as Solar Designer + * + * This software was written by Alexander Peslyak in 2001. No copyright is + * claimed, and the software is hereby placed in the public domain. + * In case this attempt to disclaim copyright and place the software in the + * public domain is deemed null and void, then the software is + * Copyright (c) 2001 Alexander Peslyak and it is hereby released to the + * general public under the following terms: + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted. + * + * There's ABSOLUTELY NO WARRANTY, express or implied. + * + * See md5.c for more information. + */ + +#ifdef HAVE_OPENSSL +#include +#elif !defined(_MD5_H) +#define _MD5_H + +/* Any 32-bit or wider unsigned integer data type will do */ +typedef unsigned int MD5_u32plus; + +typedef struct { + MD5_u32plus lo, hi; + MD5_u32plus a, b, c, d; + unsigned char buffer[64]; + MD5_u32plus block[16]; +} MD5_CTX; + +extern void MD5_Init(MD5_CTX *ctx); +extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size); +extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); + +#endif + +#ifdef __cplusplus +} +#endif + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/misc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/misc.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,110 @@ +/* +Copyright (c) 1994-1997, 2001-2002 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1 Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2 Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* +Copyright (c) 2003-2013 Genome Research Ltd. + +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _misc_h +#define _misc_h + +#include "cram/os.h" + +#include +#include /* varargs needed for v*printf() prototypes */ +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * This informs gcc that crash() doesn't return, so it doesn't need to + * concern itself that code paths going via crash could mean some variables + * being undefined and then issuing uninitialised variable warnings. + * This particularly affected convert. + */ +#ifdef __GNUC__ +# define __NORETURN__ __attribute__ ((__noreturn__)) +#else +# define __NORETURN__ +#endif + +/* + * Used for printf style argument checking. We can request a function such + * as vTcl_SetResult does argument checking, avoiding bugs with using + * %d and passing in a 64-bit record. + */ +#ifdef __GNUC__ +# define __PRINTF_FORMAT__(a,b) __attribute__ ((format (printf, a, b))) +#else +# define __PRINTF_FORMAT__(a,b) +#endif + +extern int is_directory(char * fn); +extern int is_file(char * fn); +extern int file_size(char * fn); + +#define MIN(A,B) ( ( (A) < (B) ) ? (A) : (B) ) +#define MAX(A,B) ( ( (A) > (B) ) ? (A) : (B) ) + +#ifdef __cplusplus +} +#endif + +#endif /*_misc_h*/ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/open_trace_file.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/open_trace_file.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,351 @@ +/* +Author: James Bonfield + +Copyright (c) 2000-2001 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +Copyright (c) 2008, 2009, 2013, 2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "cram/os.h" +#ifndef PATH_MAX +# define PATH_MAX 1024 +#endif + +#include "cram/open_trace_file.h" +#include "cram/misc.h" +#include "htslib/hfile.h" + +/* + * Tokenises the search path splitting on colons (unix) or semicolons + * (windows). + * We also explicitly add a "./" to the end of the search path + * + * Returns: A new search path with items separated by nul chars. Two nul + * chars in a row represent the end of the tokenised path. + * Returns NULL for a failure. + * + * The returned data has been malloced. It is up to the caller to free this + * memory. + */ +char *tokenise_search_path(char *searchpath) { + char *newsearch; + unsigned int i, j; + size_t len; +#ifdef _WIN32 + char path_sep = ';'; +#else + char path_sep = ':'; +#endif + + if (!searchpath) + searchpath=""; + + newsearch = (char *)malloc((len = strlen(searchpath))+5); + if (!newsearch) + return NULL; + + for (i = 0, j = 0; i < len; i++) { + /* "::" => ":". Used for escaping colons in http://foo */ + if (i < len-1 && searchpath[i] == ':' && searchpath[i+1] == ':') { + newsearch[j++] = ':'; + i++; + continue; + } + + /* Handle http:// and ftp:// too without :: */ + if (path_sep == ':') { + if ((i == 0 || (i > 0 && searchpath[i-1] == ':')) && + (!strncmp(&searchpath[i], "http:", 5) || + !strncmp(&searchpath[i], "ftp:", 4) || + !strncmp(&searchpath[i], "|http:", 6) || + !strncmp(&searchpath[i], "|ftp:", 5) || + !strncmp(&searchpath[i], "URL=http:", 9) || + !strncmp(&searchpath[i], "URL=ftp:", 8))) { + do { + newsearch[j++] = searchpath[i]; + } while (i 0) { + if (mfwrite(buf, len, 1, mf) <= 0) { + hclose_abruptly(hf); + mfdestroy(mf); + return NULL; + } + } + if (hclose(hf) < 0) { + mfdestroy(mf); + return NULL; + } + + mrewind(mf); + return mf; +} + +/* + * Searches for file in the directory 'dirname'. If it finds it, it opens + * it. This also searches for compressed versions of the file in dirname + * too. + * + * Returns mFILE pointer if found + * NULL if not + */ +static mFILE *find_file_dir(char *file, char *dirname) { + char path[PATH_MAX+1]; + size_t len = strlen(dirname); + char *cp; + + if (dirname[len-1] == '/') + len--; + + /* Special case for "./" or absolute filenames */ + if (*file == '/' || (len==1 && *dirname == '.')) { + sprintf(path, "%s", file); + } else { + /* Handle %[0-9]*s expansions, if required */ + char *path_end = path; + *path = 0; + while ((cp = strchr(dirname, '%'))) { + char *endp; + long l = strtol(cp+1, &endp, 10); + if (*endp != 's') { + strncpy(path_end, dirname, (endp+1)-dirname); + path_end += (endp+1)-dirname; + dirname = endp+1; + continue; + } + + strncpy(path_end, dirname, cp-dirname); + path_end += cp-dirname; + if (l) { + strncpy(path_end, file, l); + path_end += MIN(strlen(file), l); + file += MIN(strlen(file), l); + } else { + strcpy(path_end, file); + path_end += strlen(file); + file += strlen(file); + } + len -= (endp+1) - dirname; + dirname = endp+1; + } + strncpy(path_end, dirname, len); + path_end += MIN(strlen(dirname), len); + *path_end = 0; + if (*file) { + *path_end++ = '/'; + strcpy(path_end, file); + } + + //fprintf(stderr, "*PATH=\"%s\"\n", path); + } + + if (is_file(path)) { + return mfopen(path, "rb"); + } + + return NULL; +} + +/* + * ------------------------------------------------------------------------ + * Public functions below. + */ + +/* + * Opens a trace file named 'file'. This is initially looked for as a + * pathname relative to a file named "relative_to". This may (for + * example) be the name of an experiment file referencing the trace + * file. In this case by passing relative_to as the experiment file + * filename the trace file will be picked up in the same directory as + * the experiment file. Relative_to may be supplied as NULL. + * + * 'file' is looked for at relative_to, then the current directory, and then + * all of the locations listed in 'path' (which is a colon separated list). + * If 'path' is NULL it uses the RAWDATA environment variable instead. + * + * Returns a mFILE pointer when found. + * NULL otherwise. + */ +mFILE *open_path_mfile(char *file, char *path, char *relative_to) { + char *newsearch; + char *ele; + mFILE *fp; + + /* Use path first */ + if (!path) + path = getenv("RAWDATA"); + if (NULL == (newsearch = tokenise_search_path(path))) + return NULL; + + /* + * Step through the search path testing out each component. + * We now look through each path element treating some prefixes as + * special, otherwise we treat the element as a directory. + */ + for (ele = newsearch; *ele; ele += strlen(ele)+1) { + char *ele2; + + /* + * '|' prefixing a path component indicates that we do not + * wish to perform the compression extension searching in that + * location. + * + * NB: this has been removed from the htslib implementation. + */ + if (*ele == '|') { + ele2 = ele+1; + } else { + ele2 = ele; + } + + if (0 == strncmp(ele2, "URL=", 4)) { + if ((fp = find_file_url(file, ele2+4))) { + free(newsearch); + return fp; + } + } else if (!strncmp(ele2, "http:", 5) || + !strncmp(ele2, "ftp:", 4)) { + if ((fp = find_file_url(file, ele2))) { + free(newsearch); + return fp; + } + } else if ((fp = find_file_dir(file, ele2))) { + free(newsearch); + return fp; + } + } + + free(newsearch); + + /* Look in the same location as the incoming 'relative_to' filename */ + if (relative_to) { + char *cp; + char relative_path[PATH_MAX+1]; + strcpy(relative_path, relative_to); + if ((cp = strrchr(relative_path, '/'))) + *cp = 0; + if ((fp = find_file_dir(file, relative_path))) + return fp; + } + + return NULL; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/open_trace_file.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/open_trace_file.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,115 @@ +/* +Author: James Bonfield + +Copyright (c) 2000-2001 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + . Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + . Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + . Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +Copyright (c) 2008, 2009, 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _OPEN_TRACE_FILE_H_ +#define _OPEN_TRACE_FILE_H_ + +#include "cram/mFILE.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* + * Tokenises the search path splitting on colons (unix) or semicolons + * (windows). + * We also explicitly add a "./" to the end of the search path + * + * Returns: A new search path with items separated by nul chars. Two nul + * chars in a row represent the end of the tokenised path. + * Returns NULL for a failure. + * + * The returned data has been malloced. It is up to the caller to free this + * memory. + */ +char *tokenise_search_path(char *searchpath); + +/* + * Opens a trace file named 'file'. This is initially looked for as a + * pathname relative to a file named "relative_to". This may (for + * example) be the name of an experiment file referencing the trace + * file. In this case by passing relative_to as the experiment file + * filename the trace file will be picked up in the same directory as + * the experiment file. Relative_to may be supplied as NULL. + * + * 'file' is looked for at relative_to, then the current directory, and then + * all of the locations listed in 'path' (which is a colon separated list). + * If 'path' is NULL it uses the RAWDATA environment variable instead. + * + * Returns a mFILE pointer when found. + * NULL otherwise. + */ +mFILE *open_path_mfile(char *file, char *path, char *relative_to); + +/* + * Returns a mFILE containing the entire contents of the url; + * NULL on failure. + */ +mFILE *find_file_url(char *file, char *url); + + +#ifdef __cplusplus +} +#endif + +#endif /* _OPEN_TRACE_FILE_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/os.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/os.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,308 @@ +/* +Copyright (c) 1993, 1995-2002 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1 Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2 Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* +Copyright (c) 2004, 2006, 2009-2011, 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * File: os.h + * + * Author: + * MRC Laboratory of Molecular Biology + * Hills Road + * Cambridge CB2 2QH + * United Kingdom + * + * Description: operating system specific type definitions + * + */ + +#ifndef _OS_H_ +#define _OS_H_ + +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/*----------------------------------------------------------------------------- + * Detection of endianness. The main part of this is done in autoconf, but + * for the case of MacOS FAT binaries we fall back on auto-sensing based on + * processor type too. + */ + +/* Set by autoconf */ +#define SP_LITTLE_ENDIAN + +/* Mac FAT binaries or unknown. Auto detect based on CPU type */ +#if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN) + +/* + * x86 equivalents + */ +#if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686) +# if defined(SP_BIG_ENDIAN) +# undef SP_BIG_ENDIAN +# endif +# define SP_LITTLE_ENDIAN +#endif + +/* + * DEC Alpha + */ +#if defined(__alpha__) || defined(__alpha) +# if defined(SP_LITTLE_ENDIAN) +# undef SP_LITTLE_ENDIAN +# endif +# define SP_BIG_ENDIAN +#endif + +/* + * SUN Sparc + */ +#if defined(__sparc__) || defined(__sparc) +# if defined(SP_LITTLE_ENDIAN) +# undef SP_LITTLE_ENDIAN +# endif +# define SP_BIG_ENDIAN +#endif + +/* + * PowerPC + */ +#if defined(__ppc__) || defined(__ppc) +# if defined(SP_LITTLE_ENDIAN) +# undef SP_LITTLE_ENDIAN +# endif +# define SP_BIG_ENDIAN +#endif + +/* Some catch-alls */ +#if defined(__LITTLE_ENDIAN__) || defined(__LITTLEENDIAN__) +# define SP_LITTLE_ENDIAN +#endif + +#if defined(__BIG_ENDIAN__) || defined(__BIGENDIAN__) +# define SP_BIG_ENDIAN +#endif + +#if defined(SP_BIG_ENDIAN) && defined(SP_LITTLE_ENDIAN) +# error Both BIG and LITTLE endian defined. Fix os.h and/or Makefile +#endif + +#if !defined(SP_BIG_ENDIAN) && !defined(SP_LITTLE_ENDIAN) +# error Neither BIG nor LITTLE endian defined. Fix os.h and/or Makefile +#endif + +#endif + +/*----------------------------------------------------------------------------- + * Allow for unaligned memory access. This is used in BAM code as the packed + * structure has 4-byte cigar ints after the variable length name. + * + * Consider using AX_CHECK_ALIGNED_ACCESS_REQUIRED in autoconf. + */ +#if defined(__i386__) || defined(__i386) || defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) || defined(__i686__) || defined(__i686) +# define ALLOW_UAC +#endif + +/*----------------------------------------------------------------------------- + * Byte swapping macros + */ + +/* + * Our new swap runs at the same speed on Ultrix, but substantially faster + * (300% for swap_int4, ~50% for swap_int2) on an Alpha (due to the lack of + * decent 'char' support). + * + * They also have the ability to swap in situ (src == dst). Newer code now + * relies on this so don't change back! + */ +#define iswap_int8(x) \ + (((x & 0x00000000000000ffLL) << 56) + \ + ((x & 0x000000000000ff00LL) << 40) + \ + ((x & 0x0000000000ff0000LL) << 24) + \ + ((x & 0x00000000ff000000LL) << 8) + \ + ((x & 0x000000ff00000000LL) >> 8) + \ + ((x & 0x0000ff0000000000LL) >> 24) + \ + ((x & 0x00ff000000000000LL) >> 40) + \ + ((x & 0xff00000000000000LL) >> 56)) + +#define iswap_int4(x) \ + (((x & 0x000000ff) << 24) + \ + ((x & 0x0000ff00) << 8) + \ + ((x & 0x00ff0000) >> 8) + \ + ((x & 0xff000000) >> 24)) + +#define iswap_int2(x) \ + (((x & 0x00ff) << 8) + \ + ((x & 0xff00) >> 8)) + +/* + * Linux systems may use byteswap.h to get assembly versions of byte-swap + * on intel systems. This can be as trivial as the bswap opcode, which works + * out at over 2-times faster than iswap_int4 above. + */ +#if 0 +#if defined(__linux__) +# include +# undef iswap_int8 +# undef iswap_int4 +# undef iswap_int2 +# define iswap_int8 bswap_64 +# define iswap_int4 bswap_32 +# define iswap_int2 bswap_16 +#endif +#endif + + +/* + * Macros to specify that data read in is of a particular endianness. + * The macros here swap to the appropriate order for the particular machine + * running the macro and return the new answer. These may also be used when + * writing to a file to specify that we wish to write in (eg) big endian + * format. + * + * This leads to efficient code as most of the time these macros are + * trivial. + */ +#ifdef SP_BIG_ENDIAN +#define le_int4(x) iswap_int4((x)) +#define le_int2(x) iswap_int2((x)) +#endif + +#ifdef SP_LITTLE_ENDIAN +#define le_int4(x) (x) +#define le_int2(x) (x) +#endif + +/*----------------------------------------------------------------------------- + * definitions, incase they're not present + */ + +#ifndef PRId64 +#define __PRI64__ "l" +#define PRId64 __PRI64__ "d" +#define PRId32 "d" +#define PRId16 "d" +#define PRId8 "d" +#define PRIu64 __PRI64__ "u" +#define PRIu32 "u" +#define PRIu16 "u" +#define PRIu8 "u" +#endif + +/*----------------------------------------------------------------------------- + * Operating system specifics. + * These ought to be done by autoconf, but are legacy code. + */ +/* + * SunOS 4.x + * Even though we use the ANSI gcc, we make use the the standard SunOS 4.x + * libraries and include files, which are non-ansi + */ +#if defined(__sun__) && !defined(__svr4__) +#define SEEK_SET 0 +#define SEEK_CUR 1 +#define SEEK_END 2 +#endif + +/* + * Microsoft Visual C++ + * Windows + */ +#if defined(_MSC_VER) +#define popen _popen +#define pclose _pclose +#define ftruncate(fd,len) _chsize(fd,len) +#endif + + +/* + * Microsoft Windows running MinGW + */ +#if defined(__MINGW32__) +/* #define mkdir(filename,mode) mkdir((filename)) */ +#define sysconf(x) 512 +#define ftruncate(fd,len) _chsize(fd,len) +#endif + +/* Generic WIN32 API issues */ +#ifdef _WIN32 +# ifndef HAVE_FSEEKO +# if __MSVCRT_VERSION__ >= 0x800 + /* if you have MSVCR80 installed then you can use these definitions: */ +# define off_t __int64 +# define fseeko _fseeki64 +# define ftello _ftelli64 +# else + /* otherwise we're stuck with 32-bit file support */ +# define off_t long +# define fseeko fseek +# define ftello ftell +# endif +# endif /* !HAVE_FSEEKO */ +#endif /* _WIN32 */ + +#ifdef __cplusplus +} +#endif + +#endif /*_OS_H_*/ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/pooled_alloc.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/pooled_alloc.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,170 @@ +/* +Copyright (c) 2009 Genome Research Ltd. +Author: Rob Davies + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include + +#include "cram/pooled_alloc.h" + +//#define TEST_MAIN + +#define PSIZE 1024*1024 + +pool_alloc_t *pool_create(size_t dsize) { + pool_alloc_t *p; + + if (NULL == (p = (pool_alloc_t *)malloc(sizeof(*p)))) + return NULL; + + /* Minimum size is a pointer, for free list */ + dsize = (dsize + sizeof(void *) - 1) & ~(sizeof(void *)-1); + if (dsize < sizeof(void *)) + dsize = sizeof(void *); + p->dsize = dsize; + + p->npools = 0; + p->pools = NULL; + p->free = NULL; + + return p; +} + +static pool_t *new_pool(pool_alloc_t *p) { + size_t n = PSIZE / p->dsize; + pool_t *pool; + + pool = realloc(p->pools, (p->npools + 1) * sizeof(*p->pools)); + if (NULL == pool) return NULL; + p->pools = pool; + pool = &p->pools[p->npools]; + + pool->pool = malloc(n * p->dsize); + if (NULL == pool->pool) return NULL; + + pool->used = 0; + + p->npools++; + + return pool; +} + +void pool_destroy(pool_alloc_t *p) { + size_t i; + + for (i = 0; i < p->npools; i++) { + free(p->pools[i].pool); + } + free(p->pools); + free(p); +} + +void *pool_alloc(pool_alloc_t *p) { + pool_t *pool; + void *ret; + + /* Look on free list */ + if (NULL != p->free) { + ret = p->free; + p->free = *((void **)p->free); + return ret; + } + + /* Look for space in the last pool */ + if (p->npools) { + pool = &p->pools[p->npools - 1]; + if (pool->used + p->dsize < PSIZE) { + ret = ((char *) pool->pool) + pool->used; + pool->used += p->dsize; + return ret; + } + } + + /* Need a new pool */ + pool = new_pool(p); + if (NULL == pool) return NULL; + + pool->used = p->dsize; + return pool->pool; +} + +void pool_free(pool_alloc_t *p, void *ptr) { + *(void **)ptr = p->free; + p->free = ptr; +} + +#ifdef TEST_MAIN +typedef struct { + int x, y, z; +} xyz; + +#define NP 10000 +int main(void) { + int i; + xyz *item; + xyz **items; + pool_alloc_t *p = pool_create(sizeof(xyz)); + + items = (xyz **)malloc(NP * sizeof(*items)); + + for (i = 0; i < NP; i++) { + item = pool_alloc(p); + item->x = i; + item->y = i+1; + item->z = i+2; + items[i] = item; + } + + for (i = 0; i < NP; i++) { + item = items[i]; + if (i % 3) + pool_free(p, item); + } + + for (i = 0; i < NP; i++) { + item = pool_alloc(p); + item->x = 1000000+i; + item->y = 1000000+i+1; + item->z = 1000000+i+2; + } + + for (i = 0; i < NP; i++) { + item = items[i]; + printf("%d\t%d\t%d\t%d\n", i, item->x, item->y, item->z); + pool_free(p, item); + } + + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/pooled_alloc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/pooled_alloc.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,56 @@ +/* +Copyright (c) 2009 Genome Research Ltd. +Author: Rob Davies + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _POOLED_ALLOC_H_ +#define _POOLED_ALLOC_H_ + +/* + * Implements a pooled block allocator where all items are the same size, + * but we need many of them. + */ +typedef struct { + void *pool; + size_t used; +} pool_t; + +typedef struct { + size_t dsize; + size_t npools; + pool_t *pools; + void *free; +} pool_alloc_t; + +pool_alloc_t *pool_create(size_t dsize); +void pool_destroy(pool_alloc_t *p); +void *pool_alloc(pool_alloc_t *p); +void pool_free(pool_alloc_t *p, void *ptr); + + +#endif /*_POOLED_ALLOC_H_*/ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/rANS_byte.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/rANS_byte.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,336 @@ +/* rans_byte.h originally from https://github.com/rygorous/ryg_rans + * + * This is a public-domain implementation of several rANS variants. rANS is an + * entropy coder from the ANS family, as described in Jarek Duda's paper + * "Asymmetric numeral systems" (http://arxiv.org/abs/1311.2540). + */ + +/*-------------------------------------------------------------------------- */ + +// Simple byte-aligned rANS encoder/decoder - public domain - Fabian 'ryg' Giesen 2014 +// +// Not intended to be "industrial strength"; just meant to illustrate the general +// idea. + +#ifndef RANS_BYTE_HEADER +#define RANS_BYTE_HEADER + +#include + +#ifdef assert +#define RansAssert assert +#else +#define RansAssert(x) +#endif + +// READ ME FIRST: +// +// This is designed like a typical arithmetic coder API, but there's three +// twists you absolutely should be aware of before you start hacking: +// +// 1. You need to encode data in *reverse* - last symbol first. rANS works +// like a stack: last in, first out. +// 2. Likewise, the encoder outputs bytes *in reverse* - that is, you give +// it a pointer to the *end* of your buffer (exclusive), and it will +// slowly move towards the beginning as more bytes are emitted. +// 3. Unlike basically any other entropy coder implementation you might +// have used, you can interleave data from multiple independent rANS +// encoders into the same bytestream without any extra signaling; +// you can also just write some bytes by yourself in the middle if +// you want to. This is in addition to the usual arithmetic encoder +// property of being able to switch models on the fly. Writing raw +// bytes can be useful when you have some data that you know is +// incompressible, and is cheaper than going through the rANS encode +// function. Using multiple rANS coders on the same byte stream wastes +// a few bytes compared to using just one, but execution of two +// independent encoders can happen in parallel on superscalar and +// Out-of-Order CPUs, so this can be *much* faster in tight decoding +// loops. +// +// This is why all the rANS functions take the write pointer as an +// argument instead of just storing it in some context struct. + +// -------------------------------------------------------------------------- + +// L ('l' in the paper) is the lower bound of our normalization interval. +// Between this and our byte-aligned emission, we use 31 (not 32!) bits. +// This is done intentionally because exact reciprocals for 31-bit uints +// fit in 32-bit uints: this permits some optimizations during encoding. +#define RANS_BYTE_L (1u << 23) // lower bound of our normalization interval + +// State for a rANS encoder. Yep, that's all there is to it. +typedef uint32_t RansState; + +// Initialize a rANS encoder. +static inline void RansEncInit(RansState* r) +{ + *r = RANS_BYTE_L; +} + +// Renormalize the encoder. Internal function. +static inline RansState RansEncRenorm(RansState x, uint8_t** pptr, uint32_t freq, uint32_t scale_bits) +{ + uint32_t x_max = ((RANS_BYTE_L >> scale_bits) << 8) * freq; // this turns into a shift. + if (x >= x_max) { + uint8_t* ptr = *pptr; + do { + *--ptr = (uint8_t) (x & 0xff); + x >>= 8; + } while (x >= x_max); + *pptr = ptr; + } + return x; +} + +// Encodes a single symbol with range start "start" and frequency "freq". +// All frequencies are assumed to sum to "1 << scale_bits", and the +// resulting bytes get written to ptr (which is updated). +// +// NOTE: With rANS, you need to encode symbols in *reverse order*, i.e. from +// beginning to end! Likewise, the output bytestream is written *backwards*: +// ptr starts pointing at the end of the output buffer and keeps decrementing. +static inline void RansEncPut(RansState* r, uint8_t** pptr, uint32_t start, uint32_t freq, uint32_t scale_bits) +{ + // renormalize + RansState x = RansEncRenorm(*r, pptr, freq, scale_bits); + + // x = C(s,x) + *r = ((x / freq) << scale_bits) + (x % freq) + start; +} + +// Flushes the rANS encoder. +static inline void RansEncFlush(RansState* r, uint8_t** pptr) +{ + uint32_t x = *r; + uint8_t* ptr = *pptr; + + ptr -= 4; + ptr[0] = (uint8_t) (x >> 0); + ptr[1] = (uint8_t) (x >> 8); + ptr[2] = (uint8_t) (x >> 16); + ptr[3] = (uint8_t) (x >> 24); + + *pptr = ptr; +} + +// Initializes a rANS decoder. +// Unlike the encoder, the decoder works forwards as you'd expect. +static inline void RansDecInit(RansState* r, uint8_t** pptr) +{ + uint32_t x; + uint8_t* ptr = *pptr; + + x = ptr[0] << 0; + x |= ptr[1] << 8; + x |= ptr[2] << 16; + x |= ptr[3] << 24; + ptr += 4; + + *pptr = ptr; + *r = x; +} + +// Returns the current cumulative frequency (map it to a symbol yourself!) +static inline uint32_t RansDecGet(RansState* r, uint32_t scale_bits) +{ + return *r & ((1u << scale_bits) - 1); +} + +// Advances in the bit stream by "popping" a single symbol with range start +// "start" and frequency "freq". All frequencies are assumed to sum to "1 << scale_bits", +// and the resulting bytes get written to ptr (which is updated). +static inline void RansDecAdvance(RansState* r, uint8_t** pptr, uint32_t start, uint32_t freq, uint32_t scale_bits) +{ + uint32_t mask = (1u << scale_bits) - 1; + + // s, x = D(x) + uint32_t x = *r; + x = freq * (x >> scale_bits) + (x & mask) - start; + + // renormalize + if (x < RANS_BYTE_L) { + uint8_t* ptr = *pptr; + do x = (x << 8) | *ptr++; while (x < RANS_BYTE_L); + *pptr = ptr; + } + + *r = x; +} + +// -------------------------------------------------------------------------- + +// That's all you need for a full encoder; below here are some utility +// functions with extra convenience or optimizations. + +// Encoder symbol description +// This (admittedly odd) selection of parameters was chosen to make +// RansEncPutSymbol as cheap as possible. +typedef struct { + uint32_t x_max; // (Exclusive) upper bound of pre-normalization interval + uint32_t rcp_freq; // Fixed-point reciprocal frequency + uint32_t bias; // Bias + uint16_t cmpl_freq; // Complement of frequency: (1 << scale_bits) - freq + uint16_t rcp_shift; // Reciprocal shift +} RansEncSymbol; + +// Decoder symbols are straightforward. +typedef struct { + uint16_t start; // Start of range. + uint16_t freq; // Symbol frequency. +} RansDecSymbol; + +// Initializes an encoder symbol to start "start" and frequency "freq" +static inline void RansEncSymbolInit(RansEncSymbol* s, uint32_t start, uint32_t freq, uint32_t scale_bits) +{ + RansAssert(scale_bits <= 16); + RansAssert(start <= (1u << scale_bits)); + RansAssert(freq <= (1u << scale_bits) - start); + + // Say M := 1 << scale_bits. + // + // The original encoder does: + // x_new = (x/freq)*M + start + (x%freq) + // + // The fast encoder does (schematically): + // q = mul_hi(x, rcp_freq) >> rcp_shift (division) + // r = x - q*freq (remainder) + // x_new = q*M + bias + r (new x) + // plugging in r into x_new yields: + // x_new = bias + x + q*(M - freq) + // =: bias + x + q*cmpl_freq (*) + // + // and we can just precompute cmpl_freq. Now we just need to + // set up our parameters such that the original encoder and + // the fast encoder agree. + + s->x_max = ((RANS_BYTE_L >> scale_bits) << 8) * freq; + s->cmpl_freq = (uint16_t) ((1 << scale_bits) - freq); + if (freq < 2) { + // freq=0 symbols are never valid to encode, so it doesn't matter what + // we set our values to. + // + // freq=1 is tricky, since the reciprocal of 1 is 1; unfortunately, + // our fixed-point reciprocal approximation can only multiply by values + // smaller than 1. + // + // So we use the "next best thing": rcp_freq=0xffffffff, rcp_shift=0. + // This gives: + // q = mul_hi(x, rcp_freq) >> rcp_shift + // = mul_hi(x, (1<<32) - 1)) >> 0 + // = floor(x - x/(2^32)) + // = x - 1 if 1 <= x < 2^32 + // and we know that x>0 (x=0 is never in a valid normalization interval). + // + // So we now need to choose the other parameters such that + // x_new = x*M + start + // plug it in: + // x*M + start (desired result) + // = bias + x + q*cmpl_freq (*) + // = bias + x + (x - 1)*(M - 1) (plug in q=x-1, cmpl_freq) + // = bias + 1 + (x - 1)*M + // = x*M + (bias + 1 - M) + // + // so we have start = bias + 1 - M, or equivalently + // bias = start + M - 1. + s->rcp_freq = ~0u; + s->rcp_shift = 0; + s->bias = start + (1 << scale_bits) - 1; + } else { + // Alverson, "Integer Division using reciprocals" + // shift=ceil(log2(freq)) + uint32_t shift = 0; + while (freq > (1u << shift)) + shift++; + + s->rcp_freq = (uint32_t) (((1ull << (shift + 31)) + freq-1) / freq); + s->rcp_shift = shift - 1; + + // With these values, 'q' is the correct quotient, so we + // have bias=start. + s->bias = start; + } + + s->rcp_shift += 32; // Avoid the extra >>32 in RansEncPutSymbol +} + +// Initialize a decoder symbol to start "start" and frequency "freq" +static inline void RansDecSymbolInit(RansDecSymbol* s, uint32_t start, uint32_t freq) +{ + RansAssert(start <= (1 << 16)); + RansAssert(freq <= (1 << 16) - start); + s->start = (uint16_t) start; + s->freq = (uint16_t) freq; +} + +// Encodes a given symbol. This is faster than straight RansEnc since we can do +// multiplications instead of a divide. +// +// See RansEncSymbolInit for a description of how this works. +static inline void RansEncPutSymbol(RansState* r, uint8_t** pptr, RansEncSymbol const* sym) +{ + RansAssert(sym->x_max != 0); // can't encode symbol with freq=0 + + // renormalize + uint32_t x = *r; + uint32_t x_max = sym->x_max; + + if (x >= x_max) { + uint8_t* ptr = *pptr; + do { + *--ptr = (uint8_t) (x & 0xff); + x >>= 8; + } while (x >= x_max); + *pptr = ptr; + } + + // x = C(s,x) + // NOTE: written this way so we get a 32-bit "multiply high" when + // available. If you're on a 64-bit platform with cheap multiplies + // (e.g. x64), just bake the +32 into rcp_shift. + //uint32_t q = (uint32_t) (((uint64_t)x * sym->rcp_freq) >> 32) >> sym->rcp_shift; + + // The extra >>32 has already been added to RansEncSymbolInit + uint32_t q = (uint32_t) (((uint64_t)x * sym->rcp_freq) >> sym->rcp_shift); + *r = x + sym->bias + q * sym->cmpl_freq; +} + +// Equivalent to RansDecAdvance that takes a symbol. +static inline void RansDecAdvanceSymbol(RansState* r, uint8_t** pptr, RansDecSymbol const* sym, uint32_t scale_bits) +{ + RansDecAdvance(r, pptr, sym->start, sym->freq, scale_bits); +} + +// Advances in the bit stream by "popping" a single symbol with range start +// "start" and frequency "freq". All frequencies are assumed to sum to "1 << scale_bits". +// No renormalization or output happens. +static inline void RansDecAdvanceStep(RansState* r, uint32_t start, uint32_t freq, uint32_t scale_bits) +{ + uint32_t mask = (1u << scale_bits) - 1; + + // s, x = D(x) + uint32_t x = *r; + *r = freq * (x >> scale_bits) + (x & mask) - start; +} + +// Equivalent to RansDecAdvanceStep that takes a symbol. +static inline void RansDecAdvanceSymbolStep(RansState* r, RansDecSymbol const* sym, uint32_t scale_bits) +{ + RansDecAdvanceStep(r, sym->start, sym->freq, scale_bits); +} + +// Renormalize. +static inline void RansDecRenorm(RansState* r, uint8_t** pptr) +{ + // renormalize + uint32_t x = *r; + + if (x < RANS_BYTE_L) { + uint8_t* ptr = *pptr; + do x = (x << 8) | *ptr++; while (x < RANS_BYTE_L); + *pptr = ptr; + } + + *r = x; +} + +#endif // RANS_BYTE_HEADER diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/rANS_static.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/rANS_static.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,841 @@ +/* + * Copyright (c) 2014 Genome Research Ltd. + * Author(s): James Bonfield + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger + * Institute nor the names of its contributors may be used to endorse + * or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH + * LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* + * Author: James Bonfield, Wellcome Trust Sanger Institute. 2014 + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "cram/rANS_static.h" +#include "cram/rANS_byte.h" + +#define TF_SHIFT 12 +#define TOTFREQ (1<0?(a):-(a)) +#ifndef BLK_SIZE +# define BLK_SIZE 1024*1024 +#endif + +// Room to allow for expanded BLK_SIZE on worst case compression. +#define BLK_SIZE2 ((int)(1.05*BLK_SIZE)) + +/*----------------------------------------------------------------------------- + * Memory to memory compression functions. + * + * These are original versions without any manual loop unrolling. They + * are easier to understand, but can be up to 2x slower. + */ + +unsigned char *rans_compress_O0(unsigned char *in, unsigned int in_size, + unsigned int *out_size) { + unsigned char *out_buf = malloc(1.05*in_size + 257*257*3 + 9); + unsigned char *cp, *out_end; + RansEncSymbol syms[256]; + RansState rans0, rans1, rans2, rans3; + uint8_t* ptr; + int F[256] = {0}, i, j, tab_size, rle, x, fsum = 0; + int m = 0, M = 0; + uint64_t tr; + + if (!out_buf) + return NULL; + + ptr = out_end = out_buf + (int)(1.05*in_size) + 257*257*3 + 9; + + // Compute statistics + for (i = 0; i < in_size; i++) { + F[in[i]]++; + } + tr = ((uint64_t)TOTFREQ<<31)/in_size + (1<<30)/in_size; + + // Normalise so T[i] == TOTFREQ + for (m = M = j = 0; j < 256; j++) { + if (!F[j]) + continue; + + if (m < F[j]) + m = F[j], M = j; + + if ((F[j] = (F[j]*tr)>>31) == 0) + F[j] = 1; + fsum += F[j]; + } + + fsum++; + if (fsum < TOTFREQ) + F[M] += TOTFREQ-fsum; + else + F[M] -= fsum-TOTFREQ; + + //printf("F[%d]=%d\n", M, F[M]); + assert(F[M]>0); + + // Encode statistics. + cp = out_buf+9; + + for (x = rle = j = 0; j < 256; j++) { + if (F[j]) { + // j + if (rle) { + rle--; + } else { + *cp++ = j; + if (!rle && j && F[j-1]) { + for(rle=j+1; rle<256 && F[rle]; rle++) + ; + rle -= j+1; + *cp++ = rle; + } + //fprintf(stderr, "%d: %d %d\n", j, rle, N[j]); + } + + // F[j] + if (F[j]<128) { + *cp++ = F[j]; + } else { + *cp++ = 128 | (F[j]>>8); + *cp++ = F[j]&0xff; + } + RansEncSymbolInit(&syms[j], x, F[j], TF_SHIFT); + x += F[j]; + } + } + *cp++ = 0; + + //write(1, out_buf+4, cp-(out_buf+4)); + tab_size = cp-out_buf; + + RansEncInit(&rans0); + RansEncInit(&rans1); + RansEncInit(&rans2); + RansEncInit(&rans3); + + switch (i=(in_size&3)) { + case 3: RansEncPutSymbol(&rans2, &ptr, &syms[in[in_size-(i-2)]]); + case 2: RansEncPutSymbol(&rans1, &ptr, &syms[in[in_size-(i-1)]]); + case 1: RansEncPutSymbol(&rans0, &ptr, &syms[in[in_size-(i-0)]]); + case 0: + break; + } + for (i=(in_size &~3); i>0; i-=4) { + RansEncSymbol *s3 = &syms[in[i-1]]; + RansEncSymbol *s2 = &syms[in[i-2]]; + RansEncSymbol *s1 = &syms[in[i-3]]; + RansEncSymbol *s0 = &syms[in[i-4]]; + + RansEncPutSymbol(&rans3, &ptr, s3); + RansEncPutSymbol(&rans2, &ptr, s2); + RansEncPutSymbol(&rans1, &ptr, s1); + RansEncPutSymbol(&rans0, &ptr, s0); + } + + RansEncFlush(&rans3, &ptr); + RansEncFlush(&rans2, &ptr); + RansEncFlush(&rans1, &ptr); + RansEncFlush(&rans0, &ptr); + + // Finalise block size and return it + *out_size = (out_end - ptr) + tab_size; + + cp = out_buf; + + *cp++ = 0; // order + *cp++ = ((*out_size-9)>> 0) & 0xff; + *cp++ = ((*out_size-9)>> 8) & 0xff; + *cp++ = ((*out_size-9)>>16) & 0xff; + *cp++ = ((*out_size-9)>>24) & 0xff; + + *cp++ = (in_size>> 0) & 0xff; + *cp++ = (in_size>> 8) & 0xff; + *cp++ = (in_size>>16) & 0xff; + *cp++ = (in_size>>24) & 0xff; + + memmove(out_buf + tab_size, ptr, out_end-ptr); + + return out_buf; +} + +typedef struct { + struct { + int F; + int C; + } fc[256]; + unsigned char *R; +} ari_decoder; + +unsigned char *rans_uncompress_O0(unsigned char *in, unsigned int in_size, + unsigned int *out_size) { + /* Load in the static tables */ + unsigned char *cp = in + 9; + int i, j, x, out_sz, in_sz, rle; + char *out_buf; + ari_decoder D; + RansDecSymbol syms[256]; + + memset(&D, 0, sizeof(D)); + + if (*in++ != 0) // Order-0 check + return NULL; + + in_sz = ((in[0])<<0) | ((in[1])<<8) | ((in[2])<<16) | ((in[3])<<24); + out_sz = ((in[4])<<0) | ((in[5])<<8) | ((in[6])<<16) | ((in[7])<<24); + if (in_sz != in_size-9) + return NULL; + + out_buf = malloc(out_sz); + if (!out_buf) + return NULL; + + //fprintf(stderr, "out_sz=%d\n", out_sz); + + // Precompute reverse lookup of frequency. + rle = x = 0; + j = *cp++; + do { + if ((D.fc[j].F = *cp++) >= 128) { + D.fc[j].F &= ~128; + D.fc[j].F = ((D.fc[j].F & 127) << 8) | *cp++; + } + D.fc[j].C = x; + + RansDecSymbolInit(&syms[j], D.fc[j].C, D.fc[j].F); + + /* Build reverse lookup table */ + if (!D.R) D.R = (unsigned char *)malloc(TOTFREQ); + memset(&D.R[x], j, D.fc[j].F); + + x += D.fc[j].F; + + if (!rle && j+1 == *cp) { + j = *cp++; + rle = *cp++; + } else if (rle) { + rle--; + j++; + } else { + j = *cp++; + } + } while(j); + + assert(x < TOTFREQ); + + RansState rans0, rans1, rans2, rans3; + uint8_t *ptr = cp; + RansDecInit(&rans0, &ptr); + RansDecInit(&rans1, &ptr); + RansDecInit(&rans2, &ptr); + RansDecInit(&rans3, &ptr); + + int out_end = (out_sz&~3); + + RansState R[4]; + R[0] = rans0; + R[1] = rans1; + R[2] = rans2; + R[3] = rans3; + uint32_t mask = (1u << TF_SHIFT)-1; + + for (i=0; i < out_end; i+=4) { + uint32_t m[4] = {R[0] & mask, + R[1] & mask, + R[2] & mask, + R[3] & mask}; + uint8_t c[4] = {D.R[m[0]], + D.R[m[1]], + D.R[m[2]], + D.R[m[3]]}; + out_buf[i+0] = c[0]; + out_buf[i+1] = c[1]; + out_buf[i+2] = c[2]; + out_buf[i+3] = c[3]; + + // RansDecAdvanceSymbolStep(&R[0], &syms[c[0]], TF_SHIFT); + // RansDecAdvanceSymbolStep(&R[1], &syms[c[1]], TF_SHIFT); + // RansDecAdvanceSymbolStep(&R[2], &syms[c[2]], TF_SHIFT); + // RansDecAdvanceSymbolStep(&R[3], &syms[c[3]], TF_SHIFT); + R[0] = syms[c[0]].freq * (R[0]>>TF_SHIFT); + R[1] = syms[c[1]].freq * (R[1]>>TF_SHIFT); + R[2] = syms[c[2]].freq * (R[2]>>TF_SHIFT); + R[3] = syms[c[3]].freq * (R[3]>>TF_SHIFT); + + R[0] += m[0] - syms[c[0]].start; + R[1] += m[1] - syms[c[1]].start; + R[2] += m[2] - syms[c[2]].start; + R[3] += m[3] - syms[c[3]].start; + + RansDecRenorm(&R[0], &ptr); + RansDecRenorm(&R[1], &ptr); + RansDecRenorm(&R[2], &ptr); + RansDecRenorm(&R[3], &ptr); + } + + rans0 = R[0]; + rans1 = R[1]; + rans2 = R[2]; + rans3 = R[3]; + + switch(out_sz&3) { + unsigned char c; + case 0: + break; + case 1: + c = D.R[RansDecGet(&rans0, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end] = c; + break; + + case 2: + c = D.R[RansDecGet(&rans0, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end] = c; + + c = D.R[RansDecGet(&rans1, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans1, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end+1] = c; + break; + + case 3: + c = D.R[RansDecGet(&rans0, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans0, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end] = c; + + c = D.R[RansDecGet(&rans1, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans1, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end+1] = c; + + c = D.R[RansDecGet(&rans2, TF_SHIFT)]; + RansDecAdvanceSymbol(&rans2, &ptr, &syms[c], TF_SHIFT); + out_buf[out_end+2] = c; + break; + } + + *out_size = out_sz; + + if (D.R) free(D.R); + + return (unsigned char *)out_buf; +} + +unsigned char *rans_compress_O1(unsigned char *in, unsigned int in_size, + unsigned int *out_size) { + unsigned char *out_buf, *out_end, *cp; + unsigned int last_i, tab_size, rle_i, rle_j; + RansEncSymbol syms[256][256]; + + if (in_size < 4) + return rans_compress_O0(in, in_size, out_size); + + out_buf = malloc(1.05*in_size + 257*257*3 + 9); + if (!out_buf) + return NULL; + + out_end = out_buf + (int)(1.05*in_size) + 257*257*3 + 9; + cp = out_buf+9; + + int F[256][256], T[256], i, j; + unsigned char c; + + memset(F, 0, 256*256*sizeof(int)); + memset(T, 0, 256*sizeof(int)); + //for (last = 0, i=in_size-1; i>=0; i--) { + // F[last][c = in[i]]++; + // T[last]++; + // last = c; + //} + + for (last_i=i=0; i>2)]]++; + F[0][in[2*(in_size>>2)]]++; + F[0][in[3*(in_size>>2)]]++; + T[0]+=3; + + // Normalise so T[i] == TOTFREQ + for (rle_i = i = 0; i < 256; i++) { + int t2, m, M; + unsigned int x; + + if (T[i] == 0) + continue; + + //uint64_t p = (TOTFREQ * TOTFREQ) / t; + double p = ((double)TOTFREQ)/T[i]; + for (t2 = m = M = j = 0; j < 256; j++) { + if (!F[i][j]) + continue; + + if (m < F[i][j]) + m = F[i][j], M = j; + + //if ((F[i][j] = (F[i][j] * p) / TOTFREQ) == 0) + if ((F[i][j] *= p) == 0) + F[i][j] = 1; + t2 += F[i][j]; + } + + t2++; + if (t2 < TOTFREQ) + F[i][M] += TOTFREQ-t2; + else + F[i][M] -= t2-TOTFREQ; + + // Store frequency table + // i + if (rle_i) { + rle_i--; + } else { + *cp++ = i; + // FIXME: could use order-0 statistics to observe which alphabet + // symbols are present and base RLE on that ordering instead. + if (i && T[i-1]) { + for(rle_i=i+1; rle_i<256 && T[rle_i]; rle_i++) + ; + rle_i -= i+1; + *cp++ = rle_i; + } + } + + int *F_i_ = F[i]; + x = 0; + rle_j = 0; + for (j = 0; j < 256; j++) { + if (F_i_[j]) { + //fprintf(stderr, "F[%d][%d]=%d, x=%d\n", i, j, F_i_[j], x); + + // j + if (rle_j) { + rle_j--; + } else { + *cp++ = j; + if (!rle_j && j && F_i_[j-1]) { + for(rle_j=j+1; rle_j<256 && F_i_[rle_j]; rle_j++) + ; + rle_j -= j+1; + *cp++ = rle_j; + } + } + + // F_i_[j] + if (F_i_[j]<128) { + *cp++ = F_i_[j]; + } else { + *cp++ = 128 | (F_i_[j]>>8); + *cp++ = F_i_[j]&0xff; + } + + RansEncSymbolInit(&syms[i][j], x, F_i_[j], TF_SHIFT); + x += F_i_[j]; + } + } + *cp++ = 0; + } + *cp++ = 0; + + //write(1, out_buf+4, cp-(out_buf+4)); + tab_size = cp - out_buf; + assert(tab_size < 257*257*3); + + RansState rans0, rans1, rans2, rans3; + RansEncInit(&rans0); + RansEncInit(&rans1); + RansEncInit(&rans2); + RansEncInit(&rans3); + + uint8_t* ptr = out_end; + + int isz4 = in_size>>2; + int i0 = 1*isz4-2; + int i1 = 2*isz4-2; + int i2 = 3*isz4-2; + int i3 = 4*isz4-2; + + unsigned char l0 = in[i0+1]; + unsigned char l1 = in[i1+1]; + unsigned char l2 = in[i2+1]; + unsigned char l3 = in[i3+1]; + + // Deal with the remainder + l3 = in[in_size-1]; + for (i3 = in_size-2; i3 > 4*isz4-2; i3--) { + unsigned char c3 = in[i3]; + RansEncPutSymbol(&rans3, &ptr, &syms[c3][l3]); + l3 = c3; + } + + for (; i0 >= 0; i0--, i1--, i2--, i3--) { + unsigned char c0, c1, c2, c3; + RansEncSymbol *s3 = &syms[c3 = in[i3]][l3]; + RansEncSymbol *s2 = &syms[c2 = in[i2]][l2]; + RansEncSymbol *s1 = &syms[c1 = in[i1]][l1]; + RansEncSymbol *s0 = &syms[c0 = in[i0]][l0]; + + RansEncPutSymbol(&rans3, &ptr, s3); + RansEncPutSymbol(&rans2, &ptr, s2); + RansEncPutSymbol(&rans1, &ptr, s1); + RansEncPutSymbol(&rans0, &ptr, s0); + + l0 = c0; + l1 = c1; + l2 = c2; + l3 = c3; + } + + RansEncPutSymbol(&rans3, &ptr, &syms[0][l3]); + RansEncPutSymbol(&rans2, &ptr, &syms[0][l2]); + RansEncPutSymbol(&rans1, &ptr, &syms[0][l1]); + RansEncPutSymbol(&rans0, &ptr, &syms[0][l0]); + + RansEncFlush(&rans3, &ptr); + RansEncFlush(&rans2, &ptr); + RansEncFlush(&rans1, &ptr); + RansEncFlush(&rans0, &ptr); + + *out_size = (out_end - ptr) + tab_size; + + cp = out_buf; + *cp++ = 1; // order + + *cp++ = ((*out_size-9)>> 0) & 0xff; + *cp++ = ((*out_size-9)>> 8) & 0xff; + *cp++ = ((*out_size-9)>>16) & 0xff; + *cp++ = ((*out_size-9)>>24) & 0xff; + + *cp++ = (in_size>> 0) & 0xff; + *cp++ = (in_size>> 8) & 0xff; + *cp++ = (in_size>>16) & 0xff; + *cp++ = (in_size>>24) & 0xff; + + memmove(out_buf + tab_size, ptr, out_end-ptr); + + return out_buf; +} + +unsigned char *rans_uncompress_O1(unsigned char *in, unsigned int in_size, + unsigned int *out_size) { + /* Load in the static tables */ + unsigned char *cp = in + 9; + int i, j = -999, x, out_sz, in_sz, rle_i, rle_j; + char *out_buf; + ari_decoder D[256]; + RansDecSymbol syms[256][256]; + + memset(D, 0, 256*sizeof(*D)); + + if (*in++ != 1) // Order-1 check + return NULL; + + in_sz = ((in[0])<<0) | ((in[1])<<8) | ((in[2])<<16) | ((in[3])<<24); + out_sz = ((in[4])<<0) | ((in[5])<<8) | ((in[6])<<16) | ((in[7])<<24); + if (in_sz != in_size-9) + return NULL; + + out_buf = malloc(out_sz); + if (!out_buf) + return NULL; + + //fprintf(stderr, "out_sz=%d\n", out_sz); + + //i = *cp++; + rle_i = 0; + i = *cp++; + do { + rle_j = x = 0; + j = *cp++; + do { + if ((D[i].fc[j].F = *cp++) >= 128) { + D[i].fc[j].F &= ~128; + D[i].fc[j].F = ((D[i].fc[j].F & 127) << 8) | *cp++; + } + D[i].fc[j].C = x; + + //fprintf(stderr, "i=%d j=%d F=%d C=%d\n", i, j, D[i].fc[j].F, D[i].fc[j].C); + + if (!D[i].fc[j].F) + D[i].fc[j].F = TOTFREQ; + + RansDecSymbolInit(&syms[i][j], D[i].fc[j].C, D[i].fc[j].F); + + /* Build reverse lookup table */ + if (!D[i].R) D[i].R = (unsigned char *)malloc(TOTFREQ); + memset(&D[i].R[x], j, D[i].fc[j].F); + + x += D[i].fc[j].F; + assert(x <= TOTFREQ); + + if (!rle_j && j+1 == *cp) { + j = *cp++; + rle_j = *cp++; + } else if (rle_j) { + rle_j--; + j++; + } else { + j = *cp++; + } + } while(j); + + if (!rle_i && i+1 == *cp) { + i = *cp++; + rle_i = *cp++; + } else if (rle_i) { + rle_i--; + i++; + } else { + i = *cp++; + } + } while (i); + + // Precompute reverse lookup of frequency. + + RansState rans0, rans1, rans2, rans3; + uint8_t *ptr = cp; + RansDecInit(&rans0, &ptr); + RansDecInit(&rans1, &ptr); + RansDecInit(&rans2, &ptr); + RansDecInit(&rans3, &ptr); + + int isz4 = out_sz>>2; + int l0 = 0; + int l1 = 0; + int l2 = 0; + int l3 = 0; + int i4[] = {0*isz4, 1*isz4, 2*isz4, 3*isz4}; + + RansState R[4]; + R[0] = rans0; + R[1] = rans1; + R[2] = rans2; + R[3] = rans3; + + for (; i4[0] < isz4; i4[0]++, i4[1]++, i4[2]++, i4[3]++) { + uint32_t m[4] = {R[0] & ((1u << TF_SHIFT)-1), + R[1] & ((1u << TF_SHIFT)-1), + R[2] & ((1u << TF_SHIFT)-1), + R[3] & ((1u << TF_SHIFT)-1)}; + + uint8_t c[4] = {D[l0].R[m[0]], + D[l1].R[m[1]], + D[l2].R[m[2]], + D[l3].R[m[3]]}; + + out_buf[i4[0]] = c[0]; + out_buf[i4[1]] = c[1]; + out_buf[i4[2]] = c[2]; + out_buf[i4[3]] = c[3]; + + //RansDecAdvanceSymbolStep(&R[0], &syms[l0][c[0]], TF_SHIFT); + //RansDecAdvanceSymbolStep(&R[1], &syms[l1][c[1]], TF_SHIFT); + //RansDecAdvanceSymbolStep(&R[2], &syms[l2][c[2]], TF_SHIFT); + //RansDecAdvanceSymbolStep(&R[3], &syms[l3][c[3]], TF_SHIFT); + + R[0] = syms[l0][c[0]].freq * (R[0]>>TF_SHIFT); + R[1] = syms[l1][c[1]].freq * (R[1]>>TF_SHIFT); + R[2] = syms[l2][c[2]].freq * (R[2]>>TF_SHIFT); + R[3] = syms[l3][c[3]].freq * (R[3]>>TF_SHIFT); + + R[0] += m[0] - syms[l0][c[0]].start; + R[1] += m[1] - syms[l1][c[1]].start; + R[2] += m[2] - syms[l2][c[2]].start; + R[3] += m[3] - syms[l3][c[3]].start; + + RansDecRenorm(&R[0], &ptr); + RansDecRenorm(&R[1], &ptr); + RansDecRenorm(&R[2], &ptr); + RansDecRenorm(&R[3], &ptr); + + l0 = c[0]; + l1 = c[1]; + l2 = c[2]; + l3 = c[3]; + } + + rans0 = R[0]; + rans1 = R[1]; + rans2 = R[2]; + rans3 = R[3]; + + // Remainder + for (; i4[3] < out_sz; i4[3]++) { + unsigned char c3 = D[l3].R[RansDecGet(&rans3, TF_SHIFT)]; + out_buf[i4[3]] = c3; + RansDecAdvanceSymbol(&rans3, &ptr, &syms[l3][c3], TF_SHIFT); + l3 = c3; + } + + *out_size = out_sz; + + for (i = 0; i < 256; i++) + if (D[i].R) free(D[i].R); + + return (unsigned char *)out_buf; +} + +/*----------------------------------------------------------------------------- + * Simple interface to the order-0 vs order-1 encoders and decoders. + */ +unsigned char *rans_compress(unsigned char *in, unsigned int in_size, + unsigned int *out_size, int order) { + return order + ? rans_compress_O1(in, in_size, out_size) + : rans_compress_O0(in, in_size, out_size); +} + +unsigned char *rans_uncompress(unsigned char *in, unsigned int in_size, + unsigned int *out_size) { + return in[0] + ? rans_uncompress_O1(in, in_size, out_size) + : rans_uncompress_O0(in, in_size, out_size); +} + + +#ifdef TEST_MAIN +/*----------------------------------------------------------------------------- + * Main. + * + * This is a simple command line tool for testing order-0 and order-1 + * compression using the rANS codec. Simply compile with + * + * gcc -DTEST_MAIN -O3 -I. cram/rANS_static.c -o cram/rANS_static + * + * Usage: cram/rANS_static -o0 < file > file.o0 + * cram/rANS_static -d < file.o0 > file2 + * + * cram/rANS_static -o1 < file > file.o1 + * cram/rANS_static -d < file.o1 > file2 + */ +int main(int argc, char **argv) { + int opt, order = 0; + unsigned char in_buf[BLK_SIZE2+257*257*3]; + int decode = 0; + FILE *infp = stdin, *outfp = stdout; + struct timeval tv1, tv2; + size_t bytes = 0; + + extern char *optarg; + extern int optind; + + while ((opt = getopt(argc, argv, "o:d")) != -1) { + switch (opt) { + case 'o': + order = atoi(optarg); + break; + + case 'd': + decode = 1; + break; + } + } + + order = order ? 1 : 0; // Only support O(0) and O(1) + + if (optind < argc) { + if (!(infp = fopen(argv[optind], "rb"))) { + perror(argv[optind]); + return 1; + } + optind++; + } + + if (optind < argc) { + if (!(outfp = fopen(argv[optind], "wb"))) { + perror(argv[optind]); + return 1; + } + optind++; + } + + gettimeofday(&tv1, NULL); + + if (decode) { + // Only used in some test implementations of RC_GetFreq() + //RC_init(); + //RC_init2(); + + for (;;) { + uint32_t in_size, out_size; + unsigned char *out; + + if (4 != fread(&in_size, 1, 4, infp)) + break; + if (in_size != fread(in_buf, 1, in_size, infp)) { + fprintf(stderr, "Truncated input\n"); + exit(1); + } + out = rans_uncompress(in_buf, in_size, &out_size); + if (!out) + abort(); + + fwrite(out, 1, out_size, outfp); + free(out); + + bytes += out_size; + } + } else { + for (;;) { + uint32_t in_size, out_size; + unsigned char *out; + + in_size = fread(in_buf, 1, BLK_SIZE, infp); + if (in_size <= 0) + break; + + out = rans_compress(in_buf, in_size, &out_size, order); + + fwrite(&out_size, 1, 4, outfp); + fwrite(out, 1, out_size, outfp); + free(out); + + bytes += in_size; + } + } + + gettimeofday(&tv2, NULL); + + fprintf(stderr, "Took %ld microseconds, %5.1f MB/s\n", + (long)(tv2.tv_sec - tv1.tv_sec)*1000000 + + tv2.tv_usec - tv1.tv_usec, + (double)bytes / ((long)(tv2.tv_sec - tv1.tv_sec)*1000000 + + tv2.tv_usec - tv1.tv_usec)); + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/rANS_static.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/rANS_static.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2014 Genome Research Ltd. + * Author(s): James Bonfield + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, + * this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above + * copyright notice, this list of conditions and the following + * disclaimer in the documentation and/or other materials provided + * with the distribution. + * + * 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger + * Institute nor the names of its contributors may be used to endorse + * or promote products derived from this software without specific + * prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS + * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH + * LTD OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + +#ifndef RANS_STATIC_H +#define RANS_STATIC_H + +unsigned char *rans_compress(unsigned char *in, unsigned int in_size, + unsigned int *out_size, int order); +unsigned char *rans_uncompress(unsigned char *in, unsigned int in_size, + unsigned int *out_size); + + +#endif /* RANS_STATIC_H */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/sam_header.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/sam_header.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1218 @@ +/* +Copyright (c) 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include + +#include "cram/sam_header.h" +#include "cram/string_alloc.h" + +static void sam_hdr_error(char *msg, char *line, int len, int lno) { + int j; + + for (j = 0; j < len && line[j] != '\n'; j++) + ; + fprintf(stderr, "%s at line %d: \"%.*s\"\n", msg, lno, j, line); +} + +void sam_hdr_dump(SAM_hdr *hdr) { + khint_t k; + int i; + + printf("===DUMP===\n"); + for (k = kh_begin(hdr->h); k != kh_end(hdr->h); k++) { + SAM_hdr_type *t1, *t2; + char c[2]; + + if (!kh_exist(hdr->h, k)) + continue; + + t1 = t2 = kh_val(hdr->h, k); + c[0] = kh_key(hdr->h, k)>>8; + c[1] = kh_key(hdr->h, k)&0xff; + printf("Type %.2s, count %d\n", c, t1->prev->order+1); + + do { + SAM_hdr_tag *tag; + printf(">>>%d ", t1->order); + for (tag = t1->tag; tag; tag=tag->next) { + printf("\"%.2s\":\"%.*s\"\t", + tag->str, tag->len-3, tag->str+3); + } + putchar('\n'); + t1 = t1->next; + } while (t1 != t2); + } + + /* Dump out PG chains */ + printf("\n@PG chains:\n"); + for (i = 0; i < hdr->npg_end; i++) { + int j; + printf(" %d:", i); + for (j = hdr->pg_end[i]; j != -1; j = hdr->pg[j].prev_id) { + printf("%s%d(%.*s)", + j == hdr->pg_end[i] ? " " : "->", + j, hdr->pg[j].name_len, hdr->pg[j].name); + } + printf("\n"); + } + + puts("===END DUMP==="); +} + +/* Updates the hash tables in the SAM_hdr structure. + * + * Returns 0 on success; + * -1 on failure + */ +static int sam_hdr_update_hashes(SAM_hdr *sh, + int type, + SAM_hdr_type *h_type) { + /* Add to reference hash? */ + if ((type>>8) == 'S' && (type&0xff) == 'Q') { + SAM_hdr_tag *tag; + int nref = sh->nref; + + sh->ref = realloc(sh->ref, (sh->nref+1)*sizeof(*sh->ref)); + if (!sh->ref) + return -1; + + tag = h_type->tag; + sh->ref[nref].name = NULL; + sh->ref[nref].len = 0; + sh->ref[nref].ty = h_type; + sh->ref[nref].tag = tag; + + while (tag) { + if (tag->str[0] == 'S' && tag->str[1] == 'N') { + if (!(sh->ref[nref].name = malloc(tag->len))) + return -1; + strncpy(sh->ref[nref].name, tag->str+3, tag->len-3); + sh->ref[nref].name[tag->len-3] = 0; + } else if (tag->str[0] == 'L' && tag->str[1] == 'N') { + sh->ref[nref].len = atoi(tag->str+3); + } + tag = tag->next; + } + + if (sh->ref[nref].name) { + khint_t k; + int r; + k = kh_put(m_s2i, sh->ref_hash, sh->ref[nref].name, &r); + if (-1 == r) return -1; + kh_val(sh->ref_hash, k) = nref; + } + + sh->nref++; + } + + /* Add to read-group hash? */ + if ((type>>8) == 'R' && (type&0xff) == 'G') { + SAM_hdr_tag *tag; + int nrg = sh->nrg; + + sh->rg = realloc(sh->rg, (sh->nrg+1)*sizeof(*sh->rg)); + if (!sh->rg) + return -1; + + tag = h_type->tag; + sh->rg[nrg].name = NULL; + sh->rg[nrg].name_len = 0; + sh->rg[nrg].ty = h_type; + sh->rg[nrg].tag = tag; + sh->rg[nrg].id = nrg; + + while (tag) { + if (tag->str[0] == 'I' && tag->str[1] == 'D') { + if (!(sh->rg[nrg].name = malloc(tag->len))) + return -1; + strncpy(sh->rg[nrg].name, tag->str+3, tag->len-3); + sh->rg[nrg].name[tag->len-3] = 0; + sh->rg[nrg].name_len = strlen(sh->rg[nrg].name); + } + tag = tag->next; + } + + if (sh->rg[nrg].name) { + khint_t k; + int r; + k = kh_put(m_s2i, sh->rg_hash, sh->rg[nrg].name, &r); + if (-1 == r) return -1; + kh_val(sh->rg_hash, k) = nrg; + } + + sh->nrg++; + } + + /* Add to program hash? */ + if ((type>>8) == 'P' && (type&0xff) == 'G') { + SAM_hdr_tag *tag; + int npg = sh->npg; + + sh->pg = realloc(sh->pg, (sh->npg+1)*sizeof(*sh->pg)); + if (!sh->pg) + return -1; + + tag = h_type->tag; + sh->pg[npg].name = NULL; + sh->pg[npg].name_len = 0; + sh->pg[npg].ty = h_type; + sh->pg[npg].tag = tag; + sh->pg[npg].id = npg; + sh->pg[npg].prev_id = -1; + + while (tag) { + if (tag->str[0] == 'I' && tag->str[1] == 'D') { + if (!(sh->pg[npg].name = malloc(tag->len))) + return -1; + strncpy(sh->pg[npg].name, tag->str+3, tag->len-3); + sh->pg[npg].name[tag->len-3] = 0; + sh->pg[npg].name_len = strlen(sh->pg[npg].name); + } else if (tag->str[0] == 'P' && tag->str[1] == 'P') { + // Resolve later if needed + khint_t k; + char tmp = tag->str[tag->len]; tag->str[tag->len] = 0; + k = kh_get(m_s2i, sh->pg_hash, tag->str+3); + tag->str[tag->len] = tmp; + + if (k != kh_end(sh->pg_hash)) { + int p_id = kh_val(sh->pg_hash, k); + sh->pg[npg].prev_id = sh->pg[p_id].id; + + /* Unmark previous entry as a PG termination */ + if (sh->npg_end > 0 && + sh->pg_end[sh->npg_end-1] == p_id) { + sh->npg_end--; + } else { + int i; + for (i = 0; i < sh->npg_end; i++) { + if (sh->pg_end[i] == p_id) { + memmove(&sh->pg_end[i], &sh->pg_end[i+1], + (sh->npg_end-i-1)*sizeof(*sh->pg_end)); + sh->npg_end--; + } + } + } + } else { + sh->pg[npg].prev_id = -1; + } + } + tag = tag->next; + } + + if (sh->pg[npg].name) { + khint_t k; + int r; + k = kh_put(m_s2i, sh->pg_hash, sh->pg[npg].name, &r); + if (-1 == r) return -1; + kh_val(sh->pg_hash, k) = npg; + } + + /* Add to npg_end[] array. Remove later if we find a PP line */ + if (sh->npg_end >= sh->npg_end_alloc) { + sh->npg_end_alloc = sh->npg_end_alloc + ? sh->npg_end_alloc*2 + : 4; + sh->pg_end = realloc(sh->pg_end, + sh->npg_end_alloc * sizeof(int)); + if (!sh->pg_end) + return -1; + } + sh->pg_end[sh->npg_end++] = npg; + + sh->npg++; + } + + return 0; +} + +/* + * Appends a formatted line to an existing SAM header. + * Line is a full SAM header record, eg "@SQ\tSN:foo\tLN:100", with + * optional new-line. If it contains more than 1 line then multiple lines + * will be added in order. + * + * Len is the length of the text data, or 0 if unknown (in which case + * it should be null terminated). + * + * Returns 0 on success + * -1 on failure + */ +int sam_hdr_add_lines(SAM_hdr *sh, const char *lines, int len) { + int i, lno = 1, text_offset; + char *hdr; + + if (!len) + len = strlen(lines); + + text_offset = ks_len(&sh->text); + if (EOF == kputsn(lines, len, &sh->text)) + return -1; + hdr = ks_str(&sh->text) + text_offset; + + for (i = 0; i < len; i++) { + khint32_t type; + khint_t k; + + int l_start = i, new; + SAM_hdr_type *h_type; + SAM_hdr_tag *h_tag, *last; + + if (hdr[i] != '@') { + int j; + for (j = i; j < len && hdr[j] != '\n'; j++) + ; + sam_hdr_error("Header line does not start with '@'", + &hdr[l_start], len - l_start, lno); + return -1; + } + + type = (hdr[i+1]<<8) | hdr[i+2]; + if (hdr[i+1] < 'A' || hdr[i+1] > 'z' || + hdr[i+2] < 'A' || hdr[i+2] > 'z') { + sam_hdr_error("Header line does not have a two character key", + &hdr[l_start], len - l_start, lno); + return -1; + } + + i += 3; + if (hdr[i] == '\n') + continue; + + // Add the header line type + if (!(h_type = pool_alloc(sh->type_pool))) + return -1; + if (-1 == (k = kh_put(sam_hdr, sh->h, type, &new))) + return -1; + + // Form the ring, either with self or other lines of this type + if (!new) { + SAM_hdr_type *t = kh_val(sh->h, k), *p; + p = t->prev; + + assert(p->next = t); + p->next = h_type; + h_type->prev = p; + + t->prev = h_type; + h_type->next = t; + h_type->order = p->order+1; + } else { + kh_val(sh->h, k) = h_type; + h_type->prev = h_type->next = h_type; + h_type->order = 0; + } + + // Parse the tags on this line + last = NULL; + if ((type>>8) == 'C' && (type&0xff) == 'O') { + int j; + if (hdr[i] != '\t') { + sam_hdr_error("Missing tab", + &hdr[l_start], len - l_start, lno); + return -1; + } + + for (j = ++i; j < len && hdr[j] != '\n'; j++) + ; + + if (!(h_type->tag = h_tag = pool_alloc(sh->tag_pool))) + return -1; + h_tag->str = string_ndup(sh->str_pool, &hdr[i], j-i); + h_tag->len = j-i; + h_tag->next = NULL; + if (!h_tag->str) + return -1; + + i = j; + + } else { + do { + int j; + if (hdr[i] != '\t') { + sam_hdr_error("Missing tab", + &hdr[l_start], len - l_start, lno); + return -1; + } + + for (j = ++i; j < len && hdr[j] != '\n' && hdr[j] != '\t'; j++) + ; + + if (!(h_tag = pool_alloc(sh->tag_pool))) + return -1; + h_tag->str = string_ndup(sh->str_pool, &hdr[i], j-i); + h_tag->len = j-i; + h_tag->next = NULL; + if (!h_tag->str) + return -1; + + if (h_tag->len < 3 || h_tag->str[2] != ':') { + sam_hdr_error("Malformed key:value pair", + &hdr[l_start], len - l_start, lno); + return -1; + } + + if (last) + last->next = h_tag; + else + h_type->tag = h_tag; + + last = h_tag; + i = j; + } while (i < len && hdr[i] != '\n'); + } + + /* Update RG/SQ hashes */ + if (-1 == sam_hdr_update_hashes(sh, type, h_type)) + return -1; + } + + return 0; +} + +/* + * Adds a single line to a SAM header. + * Specify type and one or more key,value pairs, ending with the NULL key. + * Eg. sam_hdr_add(h, "SQ", "ID", "foo", "LN", "100", NULL). + * + * Returns index for specific entry on success (eg 2nd SQ, 4th RG) + * -1 on failure + */ +int sam_hdr_add(SAM_hdr *sh, const char *type, ...) { + va_list args; + va_start(args, type); + return sam_hdr_vadd(sh, type, args, NULL); +} + +int sam_hdr_vadd(SAM_hdr *sh, const char *type, va_list ap, ...) { + va_list args; + SAM_hdr_type *h_type; + SAM_hdr_tag *h_tag, *last; + int new; + khint32_t type_i = (type[0]<<8) | type[1], k; + +#if defined(HAVE_VA_COPY) + va_list ap_local; +#endif + + if (EOF == kputc_('@', &sh->text)) + return -1; + if (EOF == kputsn(type, 2, &sh->text)) + return -1; + + if (!(h_type = pool_alloc(sh->type_pool))) + return -1; + if (-1 == (k = kh_put(sam_hdr, sh->h, type_i, &new))) + return -1; + kh_val(sh->h, k) = h_type; + + // Form the ring, either with self or other lines of this type + if (!new) { + SAM_hdr_type *t = kh_val(sh->h, k), *p; + p = t->prev; + + assert(p->next = t); + p->next = h_type; + h_type->prev = p; + + t->prev = h_type; + h_type->next = t; + h_type->order = p->order + 1; + } else { + h_type->prev = h_type->next = h_type; + h_type->order = 0; + } + + last = NULL; + + // Any ... varargs + va_start(args, ap); + for (;;) { + char *k, *v; + int idx; + + if (!(k = (char *)va_arg(args, char *))) + break; + v = va_arg(args, char *); + + if (EOF == kputc_('\t', &sh->text)) + return -1; + + if (!(h_tag = pool_alloc(sh->tag_pool))) + return -1; + idx = ks_len(&sh->text); + + if (EOF == kputs(k, &sh->text)) + return -1; + if (EOF == kputc_(':', &sh->text)) + return -1; + if (EOF == kputs(v, &sh->text)) + return -1; + + h_tag->len = ks_len(&sh->text) - idx; + h_tag->str = string_ndup(sh->str_pool, + ks_str(&sh->text) + idx, + h_tag->len); + h_tag->next = NULL; + if (!h_tag->str) + return -1; + + if (last) + last->next = h_tag; + else + h_type->tag = h_tag; + + last = h_tag; + } + va_end(args); + +#if defined(HAVE_VA_COPY) + va_copy(ap_local, ap); +# define ap ap_local +#endif + + // Plus the specified va_list params + for (;;) { + char *k, *v; + int idx; + + if (!(k = (char *)va_arg(ap, char *))) + break; + v = va_arg(ap, char *); + + if (EOF == kputc_('\t', &sh->text)) + return -1; + + if (!(h_tag = pool_alloc(sh->tag_pool))) + return -1; + idx = ks_len(&sh->text); + + if (EOF == kputs(k, &sh->text)) + return -1; + if (EOF == kputc_(':', &sh->text)) + return -1; + if (EOF == kputs(v, &sh->text)) + return -1; + + h_tag->len = ks_len(&sh->text) - idx; + h_tag->str = string_ndup(sh->str_pool, + ks_str(&sh->text) + idx, + h_tag->len); + h_tag->next = NULL; + if (!h_tag->str) + return -1; + + if (last) + last->next = h_tag; + else + h_type->tag = h_tag; + + last = h_tag; + } + va_end(ap); + + if (EOF == kputc('\n', &sh->text)) + return -1; + + int itype = (type[0]<<8) | type[1]; + if (-1 == sam_hdr_update_hashes(sh, itype, h_type)) + return -1; + + return h_type->order; +} + +/* + * Returns the first header item matching 'type'. If ID is non-NULL it checks + * for the tag ID: and compares against the specified ID. + * + * Returns NULL if no type/ID is found + */ +SAM_hdr_type *sam_hdr_find(SAM_hdr *hdr, char *type, + char *ID_key, char *ID_value) { + SAM_hdr_type *t1, *t2; + int itype = (type[0]<<8)|(type[1]); + khint_t k; + + /* Special case for types we have prebuilt hashes on */ + if (ID_key) { + if (type[0] == 'S' && type[1] == 'Q' && + ID_key[0] == 'S' && ID_key[1] == 'N') { + k = kh_get(m_s2i, hdr->ref_hash, ID_value); + return k != kh_end(hdr->ref_hash) + ? hdr->ref[kh_val(hdr->ref_hash, k)].ty + : NULL; + } + + if (type[0] == 'R' && type[1] == 'G' && + ID_key[0] == 'I' && ID_key[1] == 'D') { + k = kh_get(m_s2i, hdr->rg_hash, ID_value); + return k != kh_end(hdr->rg_hash) + ? hdr->rg[kh_val(hdr->rg_hash, k)].ty + : NULL; + } + + if (type[0] == 'P' && type[1] == 'G' && + ID_key[0] == 'I' && ID_key[1] == 'D') { + k = kh_get(m_s2i, hdr->pg_hash, ID_value); + return k != kh_end(hdr->pg_hash) + ? hdr->pg[kh_val(hdr->pg_hash, k)].ty + : NULL; + } + } + + k = kh_get(sam_hdr, hdr->h, itype); + if (k == kh_end(hdr->h)) + return NULL; + + if (!ID_key) + return kh_val(hdr->h, k); + + t1 = t2 = kh_val(hdr->h, k); + do { + SAM_hdr_tag *tag; + for (tag = t1->tag; tag; tag = tag->next) { + if (tag->str[0] == ID_key[0] && tag->str[1] == ID_key[1]) { + char *cp1 = tag->str+3; + char *cp2 = ID_value; + while (*cp1 && *cp1 == *cp2) + cp1++, cp2++; + if (*cp2 || *cp1) + continue; + return t1; + } + } + t1 = t1->next; + } while (t1 != t2); + + return NULL; +} + +/* + * As per SAM_hdr_type, but returns a complete line of formatted text + * for a specific head type/ID combination. If ID is NULL then it returns + * the first line of the specified type. + * + * The returned string is malloced and should be freed by the calling + * function with free(). + * + * Returns NULL if no type/ID is found. + */ +char *sam_hdr_find_line(SAM_hdr *hdr, char *type, + char *ID_key, char *ID_value) { + SAM_hdr_type *ty = sam_hdr_find(hdr, type, ID_key, ID_value); + kstring_t ks = KS_INITIALIZER; + SAM_hdr_tag *tag; + int r = 0; + + if (!ty) + return NULL; + + // Paste together the line from the hashed copy + r |= (kputc_('@', &ks) == EOF); + r |= (kputs(type, &ks) == EOF); + for (tag = ty->tag; tag; tag = tag->next) { + r |= (kputc_('\t', &ks) == EOF); + r |= (kputsn(tag->str, tag->len, &ks) == EOF); + } + + if (r) { + KS_FREE(&ks); + return NULL; + } + + return ks_str(&ks); +} + + +/* + * Looks for a specific key in a single sam header line. + * If prev is non-NULL it also fills this out with the previous tag, to + * permit use in key removal. *prev is set to NULL when the tag is the first + * key in the list. When a tag isn't found, prev (if non NULL) will be the last + * tag in the existing list. + * + * Returns the tag pointer on success + * NULL on failure + */ +SAM_hdr_tag *sam_hdr_find_key(SAM_hdr *sh, + SAM_hdr_type *type, + char *key, + SAM_hdr_tag **prev) { + SAM_hdr_tag *tag, *p = NULL; + + for (tag = type->tag; tag; p = tag, tag = tag->next) { + if (tag->str[0] == key[0] && tag->str[1] == key[1]) { + if (prev) + *prev = p; + return tag; + } + } + + if (prev) + *prev = p; + + return NULL; +} + + +/* + * Adds or updates tag key,value pairs in a header line. + * Eg for adding M5 tags to @SQ lines or updating sort order for the + * @HD line (although use the sam_hdr_sort_order() function for + * HD manipulation, which is a wrapper around this funuction). + * + * Specify multiple key,value pairs ending in NULL. + * + * Returns 0 on success + * -1 on failure + */ +int sam_hdr_update(SAM_hdr *hdr, SAM_hdr_type *type, ...) { + va_list ap; + + va_start(ap, type); + + for (;;) { + char *k, *v; + int idx; + SAM_hdr_tag *tag, *prev; + + if (!(k = (char *)va_arg(ap, char *))) + break; + v = va_arg(ap, char *); + + tag = sam_hdr_find_key(hdr, type, k, &prev); + if (!tag) { + if (!(tag = pool_alloc(hdr->tag_pool))) + return -1; + if (prev) + prev->next = tag; + else + type->tag = tag; + + tag->next = NULL; + } + + idx = ks_len(&hdr->text); + if (ksprintf(&hdr->text, "%2.2s:%s", k, v) < 0) + return -1; + tag->len = ks_len(&hdr->text) - idx; + tag->str = string_ndup(hdr->str_pool, + ks_str(&hdr->text) + idx, + tag->len); + if (!tag->str) + return -1; + } + + va_end(ap); + + return 0; +} + +#define K(a) (((a)[0]<<8)|((a)[1])) + +/* + * Reconstructs the kstring from the header hash table. + * Returns 0 on success + * -1 on failure + */ +int sam_hdr_rebuild(SAM_hdr *hdr) { + /* Order: HD then others */ + kstring_t ks = KS_INITIALIZER; + khint_t k; + + + k = kh_get(sam_hdr, hdr->h, K("HD")); + if (k != kh_end(hdr->h)) { + SAM_hdr_type *ty = kh_val(hdr->h, k); + SAM_hdr_tag *tag; + if (EOF == kputs("@HD", &ks)) + return -1; + for (tag = ty->tag; tag; tag = tag->next) { + if (EOF == kputc_('\t', &ks)) + return -1; + if (EOF == kputsn_(tag->str, tag->len, &ks)) + return -1; + } + if (EOF == kputc('\n', &ks)) + return -1; + } + + for (k = kh_begin(hdr->h); k != kh_end(hdr->h); k++) { + SAM_hdr_type *t1, *t2; + + if (!kh_exist(hdr->h, k)) + continue; + + if (kh_key(hdr->h, k) == K("HD")) + continue; + + t1 = t2 = kh_val(hdr->h, k); + do { + SAM_hdr_tag *tag; + char c[2]; + + if (EOF == kputc_('@', &ks)) + return -1; + c[0] = kh_key(hdr->h, k)>>8; + c[1] = kh_key(hdr->h, k)&0xff; + if (EOF == kputsn_(c, 2, &ks)) + return -1; + for (tag = t1->tag; tag; tag=tag->next) { + if (EOF == kputc_('\t', &ks)) + return -1; + if (EOF == kputsn_(tag->str, tag->len, &ks)) + return -1; + } + if (EOF == kputc('\n', &ks)) + return -1; + t1 = t1->next; + } while (t1 != t2); + } + + if (ks_str(&hdr->text)) + KS_FREE(&hdr->text); + + hdr->text = ks; + + return 0; +} + + +/* + * Creates an empty SAM header, ready to be populated. + * + * Returns a SAM_hdr struct on success (free with sam_hdr_free()) + * NULL on failure + */ +SAM_hdr *sam_hdr_new() { + SAM_hdr *sh = calloc(1, sizeof(*sh)); + + if (!sh) + return NULL; + + sh->h = kh_init(sam_hdr); + if (!sh->h) + goto err; + + sh->ID_cnt = 1; + sh->ref_count = 1; + + sh->nref = 0; + sh->ref = NULL; + if (!(sh->ref_hash = kh_init(m_s2i))) + goto err; + + sh->nrg = 0; + sh->rg = NULL; + if (!(sh->rg_hash = kh_init(m_s2i))) + goto err; + + sh->npg = 0; + sh->pg = NULL; + sh->npg_end = sh->npg_end_alloc = 0; + sh->pg_end = NULL; + if (!(sh->pg_hash = kh_init(m_s2i))) + goto err; + + KS_INIT(&sh->text); + + if (!(sh->tag_pool = pool_create(sizeof(SAM_hdr_tag)))) + goto err; + + if (!(sh->type_pool = pool_create(sizeof(SAM_hdr_type)))) + goto err; + + if (!(sh->str_pool = string_pool_create(8192))) + goto err; + + return sh; + + err: + if (sh->h) + kh_destroy(sam_hdr, sh->h); + + if (sh->tag_pool) + pool_destroy(sh->tag_pool); + + if (sh->type_pool) + pool_destroy(sh->type_pool); + + if (sh->str_pool) + string_pool_destroy(sh->str_pool); + + free(sh); + + return NULL; +} + + +/* + * Tokenises a SAM header into a hash table. + * Also extracts a few bits on specific data types, such as @RG lines. + * + * Returns a SAM_hdr struct on success (free with sam_hdr_free()) + * NULL on failure + */ +SAM_hdr *sam_hdr_parse_(const char *hdr, int len) { + /* Make an empty SAM_hdr */ + SAM_hdr *sh; + + sh = sam_hdr_new(); + if (NULL == sh) return NULL; + + if (NULL == hdr) return sh; // empty header is permitted + + /* Parse the header, line by line */ + if (-1 == sam_hdr_add_lines(sh, hdr, len)) { + sam_hdr_free(sh); + return NULL; + } + + //sam_hdr_dump(sh); + //sam_hdr_add(sh, "RG", "ID", "foo", "SM", "bar", NULL); + //sam_hdr_rebuild(sh); + //printf(">>%s<<", ks_str(sh->text)); + + //parse_references(sh); + //parse_read_groups(sh); + + sam_hdr_link_pg(sh); + //sam_hdr_dump(sh); + + return sh; +} + +/* + * Produces a duplicate copy of hdr and returns it. + * Returns NULL on failure + */ +SAM_hdr *sam_hdr_dup(SAM_hdr *hdr) { + if (-1 == sam_hdr_rebuild(hdr)) + return NULL; + + return sam_hdr_parse_(sam_hdr_str(hdr), sam_hdr_length(hdr)); +} + +/*! Increments a reference count on hdr. + * + * This permits multiple files to share the same header, all calling + * sam_hdr_free when done, without causing errors for other open files. + */ +void sam_hdr_incr_ref(SAM_hdr *hdr) { + hdr->ref_count++; +} + +/*! Increments a reference count on hdr. + * + * This permits multiple files to share the same header, all calling + * sam_hdr_free when done, without causing errors for other open files. + * + * If the reference count hits zero then the header is automatically + * freed. This makes it a synonym for sam_hdr_free(). + */ +void sam_hdr_decr_ref(SAM_hdr *hdr) { + sam_hdr_free(hdr); +} + +/*! Deallocates all storage used by a SAM_hdr struct. + * + * This also decrements the header reference count. If after decrementing + * it is still non-zero then the header is assumed to be in use by another + * caller and the free is not done. + * + * This is a synonym for sam_hdr_dec_ref(). + */ +void sam_hdr_free(SAM_hdr *hdr) { + if (!hdr) + return; + + if (--hdr->ref_count > 0) + return; + + if (ks_str(&hdr->text)) + KS_FREE(&hdr->text); + + if (hdr->h) + kh_destroy(sam_hdr, hdr->h); + + if (hdr->ref_hash) + kh_destroy(m_s2i, hdr->ref_hash); + + if (hdr->ref) { + int i; + for (i = 0; i < hdr->nref; i++) + if (hdr->ref[i].name) + free(hdr->ref[i].name); + free(hdr->ref); + } + + if (hdr->rg_hash) + kh_destroy(m_s2i, hdr->rg_hash); + + if (hdr->rg) { + int i; + for (i = 0; i < hdr->nrg; i++) + if (hdr->rg[i].name) + free(hdr->rg[i].name); + free(hdr->rg); + } + + if (hdr->pg_hash) + kh_destroy(m_s2i, hdr->pg_hash); + + if (hdr->pg) { + int i; + for (i = 0; i < hdr->npg; i++) + if (hdr->pg[i].name) + free(hdr->pg[i].name); + free(hdr->pg); + } + + if (hdr->pg_end) + free(hdr->pg_end); + + if (hdr->type_pool) + pool_destroy(hdr->type_pool); + + if (hdr->tag_pool) + pool_destroy(hdr->tag_pool); + + if (hdr->str_pool) + string_pool_destroy(hdr->str_pool); + + free(hdr); +} + +int sam_hdr_length(SAM_hdr *hdr) { + return ks_len(&hdr->text); +} + +char *sam_hdr_str(SAM_hdr *hdr) { + return ks_str(&hdr->text); +} + +/* + * Looks up a reference sequence by name and returns the numerical ID. + * Returns -1 if unknown reference. + */ +int sam_hdr_name2ref(SAM_hdr *hdr, const char *ref) { + khint_t k = kh_get(m_s2i, hdr->ref_hash, ref); + return k == kh_end(hdr->ref_hash) ? -1 : kh_val(hdr->ref_hash, k); +} + +/* + * Looks up a read-group by name and returns a pointer to the start of the + * associated tag list. + * + * Returns NULL on failure + */ +SAM_RG *sam_hdr_find_rg(SAM_hdr *hdr, const char *rg) { + khint_t k = kh_get(m_s2i, hdr->rg_hash, rg); + return k == kh_end(hdr->rg_hash) + ? NULL + : &hdr->rg[kh_val(hdr->rg_hash, k)]; +} + + +/* + * Fixes any PP links in @PG headers. + * If the entries are in order then this doesn't need doing, but incase + * our header is out of order this goes through the sh->pg[] array + * setting the prev_id field. + * + * Note we can have multiple complete chains. This code should identify the + * tails of these chains as these are the entries we have to link to in + * subsequent PP records. + * + * Returns 0 on sucess + * -1 on failure (indicating broken PG/PP records) + */ +int sam_hdr_link_pg(SAM_hdr *hdr) { + int i, j, ret = 0; + + hdr->npg_end_alloc = hdr->npg; + hdr->pg_end = realloc(hdr->pg_end, hdr->npg * sizeof(*hdr->pg_end)); + if (!hdr->pg_end) + return -1; + + for (i = 0; i < hdr->npg; i++) + hdr->pg_end[i] = i; + + for (i = 0; i < hdr->npg; i++) { + khint_t k; + SAM_hdr_tag *tag; + char tmp; + + for (tag = hdr->pg[i].tag; tag; tag = tag->next) { + if (tag->str[0] == 'P' && tag->str[1] == 'P') + break; + } + if (!tag) { + /* Chain start points */ + continue; + } + + tmp = tag->str[tag->len]; tag->str[tag->len] = 0; + k = kh_get(m_s2i, hdr->pg_hash, tag->str+3); + tag->str[tag->len] = tmp; + + if (k == kh_end(hdr->pg_hash)) { + ret = -1; + continue; + } + + hdr->pg[i].prev_id = hdr->pg[kh_val(hdr->pg_hash, k)].id; + hdr->pg_end[kh_val(hdr->pg_hash, k)] = -1; + } + + for (i = j = 0; i < hdr->npg; i++) { + if (hdr->pg_end[i] != -1) + hdr->pg_end[j++] = hdr->pg_end[i]; + } + hdr->npg_end = j; + + return ret; +} + +/* + * Returns a unique ID from a base name. + * + * The value returned is valid until the next call to + * this function. + */ +const char *sam_hdr_PG_ID(SAM_hdr *sh, const char *name) { + khint_t k = kh_get(m_s2i, sh->pg_hash, name); + if (k == kh_end(sh->pg_hash)) + return name; + + do { + sprintf(sh->ID_buf, "%.1000s.%d", name, sh->ID_cnt++); + k = kh_get(m_s2i, sh->pg_hash, sh->ID_buf); + } while (k == kh_end(sh->pg_hash)); + + return sh->ID_buf; +} + +/* + * Add an @PG line. + * + * If we wish complete control over this use sam_hdr_add() directly. This + * function uses that, but attempts to do a lot of tedious house work for + * you too. + * + * - It will generate a suitable ID if the supplied one clashes. + * - It will generate multiple @PG records if we have multiple PG chains. + * + * Call it as per sam_hdr_add() with a series of key,value pairs ending + * in NULL. + * + * Returns 0 on success + * -1 on failure + */ +int sam_hdr_add_PG(SAM_hdr *sh, const char *name, ...) { + va_list args; + va_start(args, name); + + if (sh->npg_end) { + /* Copy ends array to avoid us looping while modifying it */ + int *end = malloc(sh->npg_end * sizeof(int)); + int i, nends = sh->npg_end; + + if (!end) + return -1; + + memcpy(end, sh->pg_end, nends * sizeof(*end)); + + for (i = 0; i < nends; i++) { + if (-1 == sam_hdr_vadd(sh, "PG", args, + "ID", sam_hdr_PG_ID(sh, name), + "PN", name, + "PP", sh->pg[end[i]].name, + NULL)) { + free(end); + return -1; + } + } + + free(end); + } else { + if (-1 == sam_hdr_vadd(sh, "PG", args, + "ID", sam_hdr_PG_ID(sh, name), + "PN", name, + NULL)) + return -1; + } + + //sam_hdr_dump(sh); + + return 0; +} + +/* + * A function to help with construction of CL tags in @PG records. + * Takes an argc, argv pair and returns a single space-separated string. + * This string should be deallocated by the calling function. + * + * Returns malloced char * on success + * NULL on failure + */ +char *stringify_argv(int argc, char *argv[]) { + char *str, *cp; + size_t nbytes = 1; + int i, j; + + /* Allocate */ + for (i = 0; i < argc; i++) { + nbytes += strlen(argv[i]) + 1; + } + if (!(str = malloc(nbytes))) + return NULL; + + /* Copy */ + cp = str; + for (i = 0; i < argc; i++) { + j = 0; + while (argv[i][j]) { + if (argv[i][j] == '\t') + *cp++ = ' '; + else + *cp++ = argv[i][j]; + j++; + } + *cp++ = ' '; + } + *cp++ = 0; + + return str; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/sam_header.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/sam_header.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,444 @@ +/* +Copyright (c) 2013-2014 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/*! \file + * SAM header parsing. + * + * These functions can be shared between SAM, BAM and CRAM file + * formats as all three internally use the same string encoding for + * header fields. + */ + +/* + * TODO. + * + * - Sort order (parse to struct, enum type, updating funcs) + * - Removal of lines. + * - Updating of lines + */ + +#ifndef _SAM_HDR_H_ +#define _SAM_HDR_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include + +#include "cram/string_alloc.h" +#include "cram/pooled_alloc.h" + +#include "htslib/khash.h" +#include "htslib/kstring.h" + +// For structure assignment. Eg kstring_t s = KS_INITIALIZER; +#define KS_INITIALIZER {0,0,0} + +// For initialisation elsewhere. Eg KS_INIT(x->str); +#define KS_INIT(ks) ((ks)->l = 0, (ks)->m = 0, (ks)->s = NULL) + +// Frees the string subfield only. Assumes 's' itself is static. +#define KS_FREE(ks) do { if ((ks)->s) free((ks)->s); } while(0) + +/* + * Proposed new SAM header parsing + +1 @SQ ID:foo LN:100 +2 @SQ ID:bar LN:200 +3 @SQ ID:ram LN:300 UR:xyz +4 @RG ID:r ... +5 @RG ID:s ... + +Hash table for 2-char @keys without dup entries. +If dup lines, we form a circular linked list. Ie hash keys = {RG, SQ}. + +HASH("SQ")--\ + | + (3) <-> 1 <-> 2 <-> 3 <-> (1) + +HASH("RG")--\ + | + (5) <-> 4 <-> 5 <-> (4) + +Items stored in the hash values also form their own linked lists: +Ie SQ->ID(foo)->LN(100) + SQ->ID(bar)->LN(200) + SQ->ID(ram)->LN(300)->UR(xyz) + RG->ID(r) + */ + +/*! A single key:value pair on a header line + * + * These form a linked list and hold strings. The strings are + * allocated from a string_alloc_t pool referenced in the master + * SAM_hdr structure. Do not attempt to free, malloc or manipulate + * these strings directly. + */ +typedef struct SAM_hdr_tag_s { + struct SAM_hdr_tag_s *next; + char *str; + int len; +} SAM_hdr_tag; + +/*! The parsed version of the SAM header string. + * + * Each header type (SQ, RG, HD, etc) points to its own SAM_hdr_type + * struct via the main hash table h in the SAM_hdr struct. + * + * These in turn consist of circular bi-directional linked lists (ie + * rings) to hold the multiple instances of the same header type + * code. For example if we have 5 \@SQ lines the primary hash table + * will key on \@SQ pointing to the first SAM_hdr_type and that in turn + * will be part of a ring of 5 elements. + * + * For each SAM_hdr_type structure we also point to a SAM_hdr_tag + * structure which holds the tokenised attributes; the tab separated + * key:value pairs per line. + */ +typedef struct SAM_hdr_item_s { + struct SAM_hdr_item_s *next; // cirular + struct SAM_hdr_item_s *prev; + SAM_hdr_tag *tag; // first tag + int order; // 0 upwards +} SAM_hdr_type; + +/*! Parsed \@SQ lines */ +typedef struct { + char *name; + uint32_t len; + SAM_hdr_type *ty; + SAM_hdr_tag *tag; +} SAM_SQ; + +/*! Parsed \@RG lines */ +typedef struct { + char *name; + SAM_hdr_type *ty; + SAM_hdr_tag *tag; + int name_len; + int id; // numerical ID +} SAM_RG; + +/*! Parsed \@PG lines */ +typedef struct { + char *name; + SAM_hdr_type *ty; + SAM_hdr_tag *tag; + int name_len; + int id; // numerical ID + int prev_id; // -1 if none +} SAM_PG; + +KHASH_MAP_INIT_INT(sam_hdr, SAM_hdr_type*) +KHASH_MAP_INIT_STR(m_s2i, int) + +/*! Primary structure for header manipulation + * + * The initial header text is held in the text kstring_t, but is also + * parsed out into SQ, RG and PG arrays. These have a hash table + * associated with each to allow lookup by ID or SN fields instead of + * their numeric array indices. Additionally PG has an array to hold + * the linked list start points (the last in a PP chain). + * + * Use the appropriate sam_hdr_* functions to edit the header, and + * call sam_hdr_rebuild() any time the textual form needs to be + * updated again. + */ +typedef struct { + kstring_t text; //!< concatenated text, indexed by SAM_hdr_tag + khash_t(sam_hdr) *h; + string_alloc_t *str_pool; //!< Pool of SAM_hdr_tag->str strings + pool_alloc_t *type_pool;//!< Pool of SAM_hdr_type structs + pool_alloc_t *tag_pool; //!< Pool of SAM_hdr_tag structs + + // @SQ lines / references + int nref; //!< Number of \@SQ lines + SAM_SQ *ref; //!< Array of parsed \@SQ lines + khash_t(m_s2i) *ref_hash; //!< Maps SQ SN field to sq[] index + + // @RG lines / read-groups + int nrg; //!< Number of \@RG lines + SAM_RG *rg; //!< Array of parsed \@RG lines + khash_t(m_s2i) *rg_hash; //!< Maps RG ID field to rg[] index + + // @PG lines / programs + int npg; //!< Number of \@PG lines + int npg_end; //!< Number of terminating \@PG lines + int npg_end_alloc; //!< Size of pg_end field + SAM_PG *pg; //!< Array of parsed \@PG lines + khash_t(m_s2i) *pg_hash; //!< Maps PG ID field to pg[] index + int *pg_end; //!< \@PG chain termination IDs + + // @cond internal + char ID_buf[1024]; // temporary buffer + int ID_cnt; + int ref_count; // number of uses of this SAM_hdr + // @endcond +} SAM_hdr; + +/*! Creates an empty SAM header, ready to be populated. + * + * @return + * Returns a SAM_hdr struct on success (free with sam_hdr_free()) + * NULL on failure + */ +SAM_hdr *sam_hdr_new(void); + +/*! Tokenises a SAM header into a hash table. + * + * Also extracts a few bits on specific data types, such as @RG lines. + * + * @return + * Returns a SAM_hdr struct on success (free with sam_hdr_free()); + * NULL on failure + */ +SAM_hdr *sam_hdr_parse_(const char *hdr, int len); + + +/*! Produces a duplicate copy of hdr and returns it. + * @return + * Returns NULL on failure + */ +SAM_hdr *sam_hdr_dup(SAM_hdr *hdr); + + +/*! Increments a reference count on hdr. + * + * This permits multiple files to share the same header, all calling + * sam_hdr_free when done, without causing errors for other open files. + */ +void sam_hdr_incr_ref(SAM_hdr *hdr); + + +/*! Increments a reference count on hdr. + * + * This permits multiple files to share the same header, all calling + * sam_hdr_free when done, without causing errors for other open files. + * + * If the reference count hits zero then the header is automatically + * freed. This makes it a synonym for sam_hdr_free(). + */ +void sam_hdr_decr_ref(SAM_hdr *hdr); + + +/*! Deallocates all storage used by a SAM_hdr struct. + * + * This also decrements the header reference count. If after decrementing + * it is still non-zero then the header is assumed to be in use by another + * caller and the free is not done. + * + * This is a synonym for sam_hdr_dec_ref(). + */ +void sam_hdr_free(SAM_hdr *hdr); + +/*! Returns the current length of the SAM_hdr in text form. + * + * Call sam_hdr_rebuild() first if editing has taken place. + */ +int sam_hdr_length(SAM_hdr *hdr); + +/*! Returns the string form of the SAM_hdr. + * + * Call sam_hdr_rebuild() first if editing has taken place. + */ +char *sam_hdr_str(SAM_hdr *hdr); + +/*! Appends a formatted line to an existing SAM header. + * + * Line is a full SAM header record, eg "@SQ\tSN:foo\tLN:100", with + * optional new-line. If it contains more than 1 line then multiple lines + * will be added in order. + * + * Len is the length of the text data, or 0 if unknown (in which case + * it should be null terminated). + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_add_lines(SAM_hdr *sh, const char *lines, int len); + +/*! Adds a single line to a SAM header. + * + * Specify type and one or more key,value pairs, ending with the NULL key. + * Eg. sam_hdr_add(h, "SQ", "ID", "foo", "LN", "100", NULL). + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_add(SAM_hdr *sh, const char *type, ...); + +/*! Adds a single line to a SAM header. + * + * This is much like sam_hdr_add() but with the additional va_list + * argument. This is followed by specifying type and one or more + * key,value pairs, ending with the NULL key. + * + * Eg. sam_hdr_vadd(h, "SQ", args, "ID", "foo", "LN", "100", NULL). + * + * The purpose of the additional va_list parameter is to permit other + * varargs functions to call this while including their own additional + * parameters; an example is in sam_hdr_add_PG(). + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_vadd(SAM_hdr *sh, const char *type, va_list ap, ...); + +/*! + * @return + * Returns the first header item matching 'type'. If ID is non-NULL it checks + * for the tag ID: and compares against the specified ID. + * + * Returns NULL if no type/ID is found + */ +SAM_hdr_type *sam_hdr_find(SAM_hdr *hdr, char *type, + char *ID_key, char *ID_value); + +/*! + * + * As per SAM_hdr_type, but returns a complete line of formatted text + * for a specific head type/ID combination. If ID is NULL then it returns + * the first line of the specified type. + * + * The returned string is malloced and should be freed by the calling + * function with free(). + * + * @return + * Returns NULL if no type/ID is found. + */ +char *sam_hdr_find_line(SAM_hdr *hdr, char *type, + char *ID_key, char *ID_value); + +/*! Looks for a specific key in a single sam header line. + * + * If prev is non-NULL it also fills this out with the previous tag, to + * permit use in key removal. *prev is set to NULL when the tag is the first + * key in the list. When a tag isn't found, prev (if non NULL) will be the last + * tag in the existing list. + * + * @return + * Returns the tag pointer on success; + * NULL on failure + */ +SAM_hdr_tag *sam_hdr_find_key(SAM_hdr *sh, + SAM_hdr_type *type, + char *key, + SAM_hdr_tag **prev); + +/*! Adds or updates tag key,value pairs in a header line. + * + * Eg for adding M5 tags to @SQ lines or updating sort order for the + * @HD line (although use the sam_hdr_sort_order() function for + * HD manipulation, which is a wrapper around this funuction). + * + * Specify multiple key,value pairs ending in NULL. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_update(SAM_hdr *hdr, SAM_hdr_type *type, ...); + +/*! Reconstructs the kstring from the header hash table. + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_rebuild(SAM_hdr *hdr); + +/*! Looks up a reference sequence by name and returns the numerical ID. + * @return + * Returns -1 if unknown reference. + */ +int sam_hdr_name2ref(SAM_hdr *hdr, const char *ref); + +/*! Looks up a read-group by name and returns a pointer to the start of the + * associated tag list. + * + * @return + * Returns NULL on failure + */ +SAM_RG *sam_hdr_find_rg(SAM_hdr *hdr, const char *rg); + +/*! Fixes any PP links in @PG headers. + * + * If the entries are in order then this doesn't need doing, but incase + * our header is out of order this goes through the sh->pg[] array + * setting the prev_id field. + * + * @return + * Returns 0 on sucess; + * -1 on failure (indicating broken PG/PP records) + */ +int sam_hdr_link_pg(SAM_hdr *hdr); + + +/*! Add an @PG line. + * + * If we wish complete control over this use sam_hdr_add() directly. This + * function uses that, but attempts to do a lot of tedious house work for + * you too. + * + * - It will generate a suitable ID if the supplied one clashes. + * - It will generate multiple @PG records if we have multiple PG chains. + * + * Call it as per sam_hdr_add() with a series of key,value pairs ending + * in NULL. + * + * @return + * Returns 0 on success; + * -1 on failure + */ +int sam_hdr_add_PG(SAM_hdr *sh, const char *name, ...); + +/*! + * A function to help with construction of CL tags in @PG records. + * Takes an argc, argv pair and returns a single space-separated string. + * This string should be deallocated by the calling function. + * + * @return + * Returns malloced char * on success; + * NULL on failure + */ +char *stringify_argv(int argc, char *argv[]); + +#ifdef __cplusplus +} +#endif + +#endif /* _SAM_HDR_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/string_alloc.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/string_alloc.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,153 @@ +/* +Copyright (c) 2010 Genome Research Ltd. +Author: Andrew Whitwham + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + + +/* + A pooled string allocator intended to cut down on the + memory overhead of many small string allocations. + + Andrew Whitwham, September 2010. +*/ + +#include +#include +#include + +#include "string_alloc.h" + +#define MIN_STR_SIZE 1024 + + +/* creates the string pool. max_length is the initial size + a single string can be. Tha max_length can grow as + needed */ + +string_alloc_t *string_pool_create(size_t max_length) { + string_alloc_t *a_str; + + if (NULL == (a_str = (string_alloc_t *)malloc(sizeof(*a_str)))) { + return NULL; + } + + if (max_length < MIN_STR_SIZE) max_length = MIN_STR_SIZE; + + a_str->nstrings = 0; + a_str->max_length = max_length; + a_str->strings = NULL; + + return a_str; +} + + +/* internal function to do the actual memory allocation */ + +static string_t *new_string_pool(string_alloc_t *a_str) { + string_t *str; + + str = realloc(a_str->strings, (a_str->nstrings + 1) * sizeof(*a_str->strings)); + + if (NULL == str) return NULL; + + a_str->strings = str; + str = &a_str->strings[a_str->nstrings]; + + str->str = malloc(a_str->max_length);; + + if (NULL == str->str) return NULL; + + str->used = 0; + a_str->nstrings++; + + return str; +} + + +/* free allocated memory */ + +void string_pool_destroy(string_alloc_t *a_str) { + size_t i; + + for (i = 0; i < a_str->nstrings; i++) { + free(a_str->strings[i].str); + } + + free(a_str->strings); + free(a_str); +} + + +/* allocate space for a string */ + +char *string_alloc(string_alloc_t *a_str, size_t length) { + string_t *str; + char *ret; + + if (length <= 0) return NULL; + + // add to last string pool if we have space + if (a_str->nstrings) { + str = &a_str->strings[a_str->nstrings - 1]; + + if (str->used + length < a_str->max_length) { + ret = str->str + str->used; + str->used += length; + return ret; + } + } + + // increase the max length if needs be + if (length > a_str->max_length) a_str->max_length = length; + + // need a new string pool + str = new_string_pool(a_str); + + if (NULL == str) return NULL; + + str->used = length; + return str->str; +} + + +/* equivalent to strdup */ + +char *string_dup(string_alloc_t *a_str, char *instr) { + return string_ndup(a_str, instr, strlen(instr)); +} + +char *string_ndup(string_alloc_t *a_str, char *instr, size_t len) { + char *str = string_alloc(a_str, len + 1); + + if (NULL == str) return NULL; + + strncpy(str, instr, len); + str[len] = 0; + + return str; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/string_alloc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/string_alloc.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,69 @@ +/* +Copyright (c) 2010 Genome Research Ltd. +Author: Andrew Whitwham + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _STRING_ALLOC_H_ +#define _STRING_ALLOC_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +#include + +/* + * A pooled string allocator intended to cut down on the + * memory overhead of many small string allocations. + * + * Andrew Whitwham, September 2010. + */ + +typedef struct { + char *str; + size_t used; +} string_t; + +typedef struct { + size_t max_length; + size_t nstrings; + string_t *strings; +} string_alloc_t; + +string_alloc_t *string_pool_create(size_t max_length); +void string_pool_destroy(string_alloc_t *a_str); +char *string_alloc(string_alloc_t *a_str, size_t length); +char *string_dup(string_alloc_t *a_str, char *instr); +char *string_ndup(string_alloc_t *a_str, char *instr, size_t len); + +#endif + +#ifdef __cplusplus +} +#endif + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/thread_pool.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/thread_pool.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,811 @@ +/* +Copyright (c) 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#include + +#include +#include +#include +#include +#include +#include + +#include "cram/thread_pool.h" + +//#define DEBUG +//#define DEBUG_TIME + +#define IN_ORDER + +#ifdef DEBUG +static int worker_id(t_pool *p) { + int i; + pthread_t s = pthread_self(); + for (i = 0; i < p->tsize; i++) { + if (pthread_equal(s, p->t[i].tid)) + return i; + } + return -1; +} +#endif + +/* ---------------------------------------------------------------------------- + * A queue to hold results from the thread pool. + * + * Each thread pool may have jobs of multiple types being queued up and + * interleaved, so we allow several results queue per pool. + * + * The jobs themselves are expected to push their results onto their + * appropriate results queue. + */ + +/* + * Adds a result to the end of the result queue. + * + * Returns 0 on success; + * -1 on failure + */ +static int t_pool_add_result(t_pool_job *j, void *data) { + t_results_queue *q = j->q; + t_pool_result *r; + +#ifdef DEBUG + fprintf(stderr, "%d: Adding resulting to queue %p, serial %d\n", + worker_id(j->p), q, j->serial); +#endif + + /* No results queue is fine if we don't want any results back */ + if (!q) + return 0; + + if (!(r = malloc(sizeof(*r)))) + return -1; + + r->next = NULL; + r->data = data; + r->serial = j->serial; + + pthread_mutex_lock(&q->result_m); + if (q->result_tail) { + q->result_tail->next = r; + q->result_tail = r; + } else { + q->result_head = q->result_tail = r; + } + q->queue_len++; + q->pending--; + +#ifdef DEBUG + fprintf(stderr, "%d: Broadcasting result_avail (id %d)\n", + worker_id(j->p), r->serial); +#endif + pthread_cond_signal(&q->result_avail_c); +#ifdef DEBUG + fprintf(stderr, "%d: Broadcast complete\n", worker_id(j->p)); +#endif + + pthread_mutex_unlock(&q->result_m); + + return 0; +} + +/* Core of t_pool_next_result() */ +static t_pool_result *t_pool_next_result_locked(t_results_queue *q) { + t_pool_result *r, *last; + + for (last = NULL, r = q->result_head; r; last = r, r = r->next) { + if (r->serial == q->next_serial) + break; + } + + if (r) { + if (q->result_head == r) + q->result_head = r->next; + else + last->next = r->next; + + if (q->result_tail == r) + q->result_tail = last; + + if (!q->result_head) + q->result_tail = NULL; + + q->next_serial++; + q->queue_len--; + } + + return r; +} + +/* + * Pulls a result off the head of the result queue. Caller should + * free it (and any internals as appropriate) after use. This doesn't + * wait for a result to be present. + * + * Results will be returned in strict order. + * + * Returns t_pool_result pointer if a result is ready. + * NULL if not. + */ +t_pool_result *t_pool_next_result(t_results_queue *q) { + t_pool_result *r; + +#ifdef DEBUG + fprintf(stderr, "Requesting next result on queue %p\n", q); +#endif + + pthread_mutex_lock(&q->result_m); + r = t_pool_next_result_locked(q); + pthread_mutex_unlock(&q->result_m); + +#ifdef DEBUG + fprintf(stderr, "(q=%p) Found %p\n", q, r); +#endif + + return r; +} + +t_pool_result *t_pool_next_result_wait(t_results_queue *q) { + t_pool_result *r; + +#ifdef DEBUG + fprintf(stderr, "Waiting for result %d...\n", q->next_serial); +#endif + + pthread_mutex_lock(&q->result_m); + while (!(r = t_pool_next_result_locked(q))) { + /* Possible race here now avoided via _locked() call, but incase... */ + struct timeval now; + struct timespec timeout; + + gettimeofday(&now, NULL); + timeout.tv_sec = now.tv_sec + 10; + timeout.tv_nsec = now.tv_usec * 1000; + + pthread_cond_timedwait(&q->result_avail_c, &q->result_m, &timeout); + } + pthread_mutex_unlock(&q->result_m); + + return r; +} + +/* + * Returns true if there are no items on the finished results queue and + * also none still pending. + */ +int t_pool_results_queue_empty(t_results_queue *q) { + int empty; + + pthread_mutex_lock(&q->result_m); + empty = q->queue_len == 0 && q->pending == 0; + pthread_mutex_unlock(&q->result_m); + + return empty; +} + + +/* + * Returns the number of completed jobs on the results queue. + */ +int t_pool_results_queue_len(t_results_queue *q) { + int len; + + pthread_mutex_lock(&q->result_m); + len = q->queue_len; + pthread_mutex_unlock(&q->result_m); + + return len; +} + +int t_pool_results_queue_sz(t_results_queue *q) { + int len; + + pthread_mutex_lock(&q->result_m); + len = q->queue_len + q->pending; + pthread_mutex_unlock(&q->result_m); + + return len; +} + +/* + * Frees a result 'r' and if free_data is true also frees + * the internal r->data result too. + */ +void t_pool_delete_result(t_pool_result *r, int free_data) { + if (!r) + return; + + if (free_data && r->data) + free(r->data); + + free(r); +} + +/* + * Initialises a results queue. + * + * Results queue pointer on success; + * NULL on failure + */ +t_results_queue *t_results_queue_init(void) { + t_results_queue *q = malloc(sizeof(*q)); + + pthread_mutex_init(&q->result_m, NULL); + pthread_cond_init(&q->result_avail_c, NULL); + + q->result_head = NULL; + q->result_tail = NULL; + q->next_serial = 0; + q->curr_serial = 0; + q->queue_len = 0; + q->pending = 0; + + return q; +} + +/* Deallocates memory for a results queue */ +void t_results_queue_destroy(t_results_queue *q) { +#ifdef DEBUG + fprintf(stderr, "Destroying results queue %p\n", q); +#endif + + if (!q) + return; + + pthread_mutex_destroy(&q->result_m); + pthread_cond_destroy(&q->result_avail_c); + + memset(q, 0xbb, sizeof(*q)); + free(q); + +#ifdef DEBUG + fprintf(stderr, "Destroyed results queue %p\n", q); +#endif +} + +/* ---------------------------------------------------------------------------- + * The thread pool. + */ + +#define TDIFF(t2,t1) ((t2.tv_sec-t1.tv_sec)*1000000 + t2.tv_usec-t1.tv_usec) + +/* + * A worker thread. + * + * Each thread waits for the pool to be non-empty. + * As soon as this applies, one of them succeeds in getting the lock + * and then executes the job. + */ +static void *t_pool_worker(void *arg) { + t_pool_worker_t *w = (t_pool_worker_t *)arg; + t_pool *p = w->p; + t_pool_job *j; +#ifdef DEBUG_TIME + struct timeval t1, t2, t3; +#endif + + for (;;) { + // Pop an item off the pool queue +#ifdef DEBUG_TIME + gettimeofday(&t1, NULL); +#endif + + pthread_mutex_lock(&p->pool_m); + +#ifdef DEBUG_TIME + gettimeofday(&t2, NULL); + p->wait_time += TDIFF(t2,t1); + w->wait_time += TDIFF(t2,t1); +#endif + + // If there is something on the job list and a higher priority + // thread waiting, let it handle this instead. +// while (p->head && p->t_stack_top != -1 && p->t_stack_top < w->idx) { +// pthread_mutex_unlock(&p->pool_m); +// pthread_cond_signal(&p->t[p->t_stack_top].pending_c); +// pthread_mutex_lock(&p->pool_m); +// } + + while (!p->head && !p->shutdown) { + p->nwaiting++; + + if (p->njobs == 0) + pthread_cond_signal(&p->empty_c); +#ifdef DEBUG_TIME + gettimeofday(&t2, NULL); +#endif + +#ifdef IN_ORDER + // Push this thread to the top of the waiting stack + if (p->t_stack_top == -1 || p->t_stack_top > w->idx) + p->t_stack_top = w->idx; + + p->t_stack[w->idx] = 1; + pthread_cond_wait(&w->pending_c, &p->pool_m); + p->t_stack[w->idx] = 0; + + /* Find new t_stack_top */ + { + int i; + p->t_stack_top = -1; + for (i = 0; i < p->tsize; i++) { + if (p->t_stack[i]) { + p->t_stack_top = i; + break; + } + } + } +#else + pthread_cond_wait(&p->pending_c, &p->pool_m); +#endif + +#ifdef DEBUG_TIME + gettimeofday(&t3, NULL); + p->wait_time += TDIFF(t3,t2); + w->wait_time += TDIFF(t3,t2); +#endif + p->nwaiting--; + } + + if (p->shutdown) { +#ifdef DEBUG_TIME + p->total_time += TDIFF(t3,t1); +#endif +#ifdef DEBUG + fprintf(stderr, "%d: Shutting down\n", worker_id(p)); +#endif + pthread_mutex_unlock(&p->pool_m); + pthread_exit(NULL); + } + + j = p->head; + if (!(p->head = j->next)) + p->tail = NULL; + + if (p->njobs-- >= p->qsize) + pthread_cond_signal(&p->full_c); + + if (p->njobs == 0) + pthread_cond_signal(&p->empty_c); + + pthread_mutex_unlock(&p->pool_m); + + // We have job 'j' - now execute it. + t_pool_add_result(j, j->func(j->arg)); +#ifdef DEBUG_TIME + pthread_mutex_lock(&p->pool_m); + gettimeofday(&t3, NULL); + p->total_time += TDIFF(t3,t1); + pthread_mutex_unlock(&p->pool_m); +#endif + memset(j, 0xbb, sizeof(*j)); + free(j); + } + + return NULL; +} + +/* + * Creates a worker pool of length qsize with tsize worker threads. + * + * Returns pool pointer on success; + * NULL on failure + */ +t_pool *t_pool_init(int qsize, int tsize) { + int i; + t_pool *p = malloc(sizeof(*p)); + p->qsize = qsize; + p->tsize = tsize; + p->njobs = 0; + p->nwaiting = 0; + p->shutdown = 0; + p->head = p->tail = NULL; + p->t_stack = NULL; +#ifdef DEBUG_TIME + p->total_time = p->wait_time = 0; +#endif + + p->t = malloc(tsize * sizeof(p->t[0])); + + pthread_mutex_init(&p->pool_m, NULL); + pthread_cond_init(&p->empty_c, NULL); + pthread_cond_init(&p->full_c, NULL); + + pthread_mutex_lock(&p->pool_m); + +#ifdef IN_ORDER + if (!(p->t_stack = malloc(tsize * sizeof(*p->t_stack)))) + return NULL; + p->t_stack_top = -1; + + for (i = 0; i < tsize; i++) { + t_pool_worker_t *w = &p->t[i]; + p->t_stack[i] = 0; + w->p = p; + w->idx = i; + w->wait_time = 0; + pthread_cond_init(&w->pending_c, NULL); + if (0 != pthread_create(&w->tid, NULL, t_pool_worker, w)) + return NULL; + } +#else + pthread_cond_init(&p->pending_c, NULL); + + for (i = 0; i < tsize; i++) { + t_pool_worker_t *w = &p->t[i]; + w->p = p; + w->idx = i; + pthread_cond_init(&w->pending_c, NULL); + if (0 != pthread_create(&w->tid, NULL, t_pool_worker, w)) + return NULL; + } +#endif + + pthread_mutex_unlock(&p->pool_m); + + return p; +} + +/* + * Adds an item to the work pool. + * + * FIXME: Maybe return 1,0,-1 and distinguish between job dispathed vs + * result returned. Ie rather than blocking on full queue we're permitted + * to return early on "result available" event too. + * Caller would then have a while loop around t_pool_dispatch. + * Or, return -1 and set errno to EAGAIN to indicate job not yet submitted. + * + * Returns 0 on success + * -1 on failure + */ +int t_pool_dispatch(t_pool *p, t_results_queue *q, + void *(*func)(void *arg), void *arg) { + t_pool_job *j = malloc(sizeof(*j)); + + if (!j) + return -1; + j->func = func; + j->arg = arg; + j->next = NULL; + j->p = p; + j->q = q; + if (q) { + pthread_mutex_lock(&q->result_m); + j->serial = q->curr_serial++; + q->pending++; + pthread_mutex_unlock(&q->result_m); + } else { + j->serial = 0; + } + +#ifdef DEBUG + fprintf(stderr, "Dispatching job %p for queue %p, serial %d\n", j, q, j->serial); +#endif + + pthread_mutex_lock(&p->pool_m); + + // Check if queue is full + while (p->njobs >= p->qsize) + pthread_cond_wait(&p->full_c, &p->pool_m); + + p->njobs++; + + if (p->tail) { + p->tail->next = j; + p->tail = j; + } else { + p->head = p->tail = j; + } + + // Let a worker know we have data. +#ifdef IN_ORDER + if (p->t_stack_top >= 0 && p->njobs > p->tsize - p->nwaiting) + pthread_cond_signal(&p->t[p->t_stack_top].pending_c); +#else + pthread_cond_signal(&p->pending_c); +#endif + pthread_mutex_unlock(&p->pool_m); + +#ifdef DEBUG + fprintf(stderr, "Dispatched (serial %d)\n", j->serial); +#endif + + return 0; +} + +/* + * As above but optional non-block flag. + * + * nonblock 0 => block if input queue is full + * nonblock +1 => don't block if input queue is full, but do not add task + * nonblock -1 => add task regardless of whether queue is full (over-size) + */ +int t_pool_dispatch2(t_pool *p, t_results_queue *q, + void *(*func)(void *arg), void *arg, int nonblock) { + t_pool_job *j; + +#ifdef DEBUG + fprintf(stderr, "Dispatching job for queue %p, serial %d\n", q, q->curr_serial); +#endif + + pthread_mutex_lock(&p->pool_m); + + if (p->njobs >= p->qsize && nonblock == 1) { + pthread_mutex_unlock(&p->pool_m); + errno = EAGAIN; + return -1; + } + + if (!(j = malloc(sizeof(*j)))) + return -1; + j->func = func; + j->arg = arg; + j->next = NULL; + j->p = p; + j->q = q; + if (q) { + pthread_mutex_lock(&q->result_m); + j->serial = q->curr_serial; + pthread_mutex_unlock(&q->result_m); + } else { + j->serial = 0; + } + + if (q) { + pthread_mutex_lock(&q->result_m); + q->curr_serial++; + q->pending++; + pthread_mutex_unlock(&q->result_m); + } + + // Check if queue is full + if (nonblock == 0) + while (p->njobs >= p->qsize) + pthread_cond_wait(&p->full_c, &p->pool_m); + + p->njobs++; + +// if (q->curr_serial % 100 == 0) +// fprintf(stderr, "p->njobs = %d p->qsize = %d\n", p->njobs, p->qsize); + + if (p->tail) { + p->tail->next = j; + p->tail = j; + } else { + p->head = p->tail = j; + } + +#ifdef DEBUG + fprintf(stderr, "Dispatched (serial %d)\n", j->serial); +#endif + + // Let a worker know we have data. +#ifdef IN_ORDER + // Keep incoming queue at 1 per running thread, so there is always + // something waiting when they end their current task. If we go above + // this signal to start more threads (if available). This has the effect + // of concentrating jobs to fewer cores when we are I/O bound, which in + // turn benefits systems with auto CPU frequency scaling. + if (p->t_stack_top >= 0 && p->njobs > p->tsize - p->nwaiting) + pthread_cond_signal(&p->t[p->t_stack_top].pending_c); +#else + pthread_cond_signal(&p->pending_c); +#endif + + pthread_mutex_unlock(&p->pool_m); + + return 0; +} + +/* + * Flushes the pool, but doesn't exit. This simply drains the queue and + * ensures all worker threads have finished their current task. + * + * Returns 0 on success; + * -1 on failure + */ +int t_pool_flush(t_pool *p) { + int i; + +#ifdef DEBUG + fprintf(stderr, "Flushing pool %p\n", p); +#endif + + // Drains the queue + pthread_mutex_lock(&p->pool_m); + + // Wake up everything for the final sprint! + for (i = 0; i < p->tsize; i++) + if (p->t_stack[i]) + pthread_cond_signal(&p->t[i].pending_c); + + while (p->njobs || p->nwaiting != p->tsize) + pthread_cond_wait(&p->empty_c, &p->pool_m); + + pthread_mutex_unlock(&p->pool_m); + +#ifdef DEBUG + fprintf(stderr, "Flushed complete for pool %p, njobs=%d, nwaiting=%d\n", + p, p->njobs, p->nwaiting); +#endif + + return 0; +} + +/* + * Destroys a thread pool. If 'kill' is true the threads are terminated now, + * otherwise they are joined into the main thread so they will finish their + * current work load. + * + * Use t_pool_destroy(p,0) after a t_pool_flush(p) on a normal shutdown or + * t_pool_destroy(p,1) to quickly exit after a fatal error. + */ +void t_pool_destroy(t_pool *p, int kill) { + int i; + +#ifdef DEBUG + fprintf(stderr, "Destroying pool %p, kill=%d\n", p, kill); +#endif + + /* Send shutdown message to worker threads */ + if (!kill) { + pthread_mutex_lock(&p->pool_m); + p->shutdown = 1; + +#ifdef DEBUG + fprintf(stderr, "Sending shutdown request\n"); +#endif + +#ifdef IN_ORDER + for (i = 0; i < p->tsize; i++) + pthread_cond_signal(&p->t[i].pending_c); +#else + pthread_cond_broadcast(&p->pending_c); +#endif + pthread_mutex_unlock(&p->pool_m); + +#ifdef DEBUG + fprintf(stderr, "Shutdown complete\n"); +#endif + for (i = 0; i < p->tsize; i++) + pthread_join(p->t[i].tid, NULL); + } else { + for (i = 0; i < p->tsize; i++) + pthread_kill(p->t[i].tid, SIGINT); + } + + pthread_mutex_destroy(&p->pool_m); + pthread_cond_destroy(&p->empty_c); + pthread_cond_destroy(&p->full_c); +#ifdef IN_ORDER + for (i = 0; i < p->tsize; i++) + pthread_cond_destroy(&p->t[i].pending_c); +#else + pthread_cond_destroy(&p->pending_c); +#endif + +#ifdef DEBUG_TIME + fprintf(stderr, "Total time=%f\n", p->total_time / 1000000.0); + fprintf(stderr, "Wait time=%f\n", p->wait_time / 1000000.0); + fprintf(stderr, "%d%% utilisation\n", + (int)(100 - ((100.0 * p->wait_time) / p->total_time + 0.5))); + for (i = 0; i < p->tsize; i++) + fprintf(stderr, "%d: Wait time=%f\n", i, + p->t[i].wait_time / 1000000.0); +#endif + + if (p->t_stack) + free(p->t_stack); + + free(p->t); + free(p); + +#ifdef DEBUG + fprintf(stderr, "Destroyed pool %p\n", p); +#endif +} + + +/*----------------------------------------------------------------------------- + * Test app. + */ + +#ifdef TEST_MAIN + +#include +#include + +void *doit(void *arg) { + int i, k, x = 0; + int job = *(int *)arg; + int *res; + + printf("Worker: execute job %d\n", job); + + usleep(random() % 1000000); // to coerce job completion out of order + if (0) { + for (k = 0; k < 100; k++) { + for (i = 0; i < 100000; i++) { + x++; + x += x * sin(i); + x += x * cos(x); + } + } + x *= 100; + x += job; + } else { + x = job*job; + } + + printf("Worker: job %d terminating, x=%d\n", job, x); + + free(arg); + + res = malloc(sizeof(*res)); + *res = x; + + return res; +} + +#define NTHREADS 8 + +int main(int argc, char **argv) { + t_pool *p = t_pool_init(NTHREADS*2, NTHREADS); + t_results_queue *q = t_results_queue_init(); + int i; + t_pool_result *r; + + // Dispatch jobs + for (i = 0; i < 20; i++) { + int *ip = malloc(sizeof(*ip)); + *ip = i; + printf("Submitting %d\n", i); + t_pool_dispatch(p, q, doit, ip); + + // Check for results + if ((r = t_pool_next_result(q))) { + printf("RESULT: %d\n", *(int *)r->data); + t_pool_delete_result(r, 1); + } + } + + t_pool_flush(p); + + while ((r = t_pool_next_result(q))) { + printf("RESULT: %d\n", *(int *)r->data); + t_pool_delete_result(r, 1); + } + + t_pool_destroy(p, 0); + t_results_queue_destroy(q); + + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/thread_pool.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/thread_pool.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,210 @@ +/* +Copyright (c) 2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +/* + * This file implements a thread pool for multi-threading applications. + * It consists of two distinct interfaces: thread pools an results queues. + * + * The pool of threads is given a function pointer and void* data to pass in. + * This means the pool can run jobs of multiple types, albeit first come + * first served with no job scheduling. + * + * Upon completion, the return value from the function pointer is added to + * a results queue. We may have multiple queues in use for the one pool. + * + * An example: reading from BAM and writing to CRAM with 10 threads. We'll + * have a pool of 10 threads and two results queues holding decoded BAM blocks + * and encoded CRAM blocks respectively. + */ + +#ifndef _THREAD_POOL_H_ +#define _THREAD_POOL_H_ + +#include + +struct t_pool; +struct t_results_queue; + +typedef struct t_pool_job { + void *(*func)(void *arg); + void *arg; + struct t_pool_job *next; + + struct t_pool *p; + struct t_results_queue *q; + int serial; +} t_pool_job; + +typedef struct t_res { + struct t_res *next; + int serial; // sequential number for ordering + void *data; // result itself +} t_pool_result; + +struct t_pool; + +typedef struct { + struct t_pool *p; + int idx; + pthread_t tid; + pthread_cond_t pending_c; + long long wait_time; +} t_pool_worker_t; + +typedef struct t_pool { + int qsize; // size of queue + int njobs; // pending job count + int nwaiting; // how many workers waiting for new jobs + int shutdown; // true if pool is being destroyed + + // queue of pending jobs + t_pool_job *head, *tail; + + // threads + int tsize; // maximum number of jobs + t_pool_worker_t *t; + + // Mutexes + pthread_mutex_t pool_m; // used when updating head/tail + + pthread_cond_t empty_c; + pthread_cond_t pending_c; // not empty + pthread_cond_t full_c; + + // array of worker IDs free + int *t_stack, t_stack_top; + + // Debugging to check wait time + long long total_time, wait_time; +} t_pool; + +typedef struct t_results_queue { + t_pool_result *result_head; + t_pool_result *result_tail; + int next_serial; + int curr_serial; + int queue_len; // number of items in queue + int pending; // number of pending items (in progress or in pool list) + pthread_mutex_t result_m; + pthread_cond_t result_avail_c; +} t_results_queue; + + +/* + * Creates a worker pool of length qsize with tsize worker threads. + * + * Returns pool pointer on success; + * NULL on failure + */ +t_pool *t_pool_init(int qsize, int tsize); + +/* + * Adds an item to the work pool. + * + * FIXME: Maybe return 1,0,-1 and distinguish between job dispathed vs + * result returned. Ie rather than blocking on full queue we're permitted + * to return early on "result available" event too. + * Caller would then have a while loop around t_pool_dispatch. + * Or, return -1 and set errno to E_AGAIN to indicate job not yet submitted. + * + * Returns 0 on success + * -1 on failure + */ +int t_pool_dispatch(t_pool *p, t_results_queue *q, + void *(*func)(void *arg), void *arg); +int t_pool_dispatch2(t_pool *p, t_results_queue *q, + void *(*func)(void *arg), void *arg, int nonblock); + +/* + * Flushes the pool, but doesn't exit. This simply drains the queue and + * ensures all worker threads have finished their current task. + * + * Returns 0 on success; + * -1 on failure + */ +int t_pool_flush(t_pool *p); + +/* + * Destroys a thread pool. If 'kill' is true the threads are terminated now, + * otherwise they are joined into the main thread so they will finish their + * current work load. + * + * Use t_pool_destroy(p,0) after a t_pool_flush(p) on a normal shutdown or + * t_pool_destroy(p,1) to quickly exit after a fatal error. + */ +void t_pool_destroy(t_pool *p, int kill); + +/* + * Pulls a result off the head of the result queue. Caller should + * free it (and any internals as appropriate) after use. This doesn't + * wait for a result to be present. + * + * Results will be returned in strict order. + * + * Returns t_pool_result pointer if a result is ready. + * NULL if not. + */ +t_pool_result *t_pool_next_result(t_results_queue *q); +t_pool_result *t_pool_next_result_wait(t_results_queue *q); + +/* + * Frees a result 'r' and if free_data is true also frees + * the internal r->data result too. + */ +void t_pool_delete_result(t_pool_result *r, int free_data); + +/* + * Initialises a results queue. + * + * Results queue pointer on success; + * NULL on failure + */ +t_results_queue *t_results_queue_init(void); + +/* Deallocates memory for a results queue */ +void t_results_queue_destroy(t_results_queue *q); + +/* + * Returns true if there are no items on the finished results queue and + * also none still pending. + */ +int t_pool_results_queue_empty(t_results_queue *q); + +/* + * Returns the number of completed jobs on the results queue. + */ +int t_pool_results_queue_len(t_results_queue *q); + +/* + * Returns the number of completed jobs plus the number queued up to run. + */ +int t_pool_results_queue_sz(t_results_queue *q); + +#endif /* _THREAD_POOL_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/vlen.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/vlen.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,432 @@ +/* +Author: James Bonfield (jkb@sanger.ac.uk) + +Copyright (c) 1995-1996 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1 Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2 Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +/* +Copyright (c) 2004, 2009, 2011-2012 Genome Research Ltd. + +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include +#include +#include +#include + +#include "cram/vlen.h" +#include "cram/os.h" + +#ifndef MAX +#define MAX(a,b) ((a)>(b)?(a):(b)) +#endif + +#ifndef ABS +#define ABS(a) ((a)>0?(a):-(a)) +#endif + +/* #define DEBUG_printf(a,n) printf(a,n) */ +#define DEBUG_printf(a,n) + +/* + * vlen: 27/10/95 written by James Bonfield, jkb@mrc-lmb.cam.ac.uk + * + * Given sprintf style of arguments this routine returns the maximum + * size of buffer needed to allocate to use with sprintf. It errs on + * the side of caution by being simplistic in its approach: we assume + * all numbers are of maximum length. + * + * Handles the usual type conversions (%[%diuaxXcfeEgGpns]), but not + * the 'wide' character conversions (%C and %S). + * Precision is handled in the correct formats, including %*.* + * notations. + * Additionally, some of the more dubious (but probably illegal) cases + * are supported (eg "%10%" will expand to " %" on many + * systems). + * + * We also assume that the largest integer and larger pointer are 64 + * bits, which at least covers the machines we'll need it for. + */ +int flen(char *fmt, ...) +{ + va_list args; + + va_start(args, fmt); + return vflen(fmt, args); +} + +int vflen(char *fmt, va_list ap) +{ + int len = 0; + char *cp, c; + long long l; + int i; + double d; + + /* + * This code modifies 'ap', but we do not know if va_list is a structure + * or a pointer to an array so we do not know if it is a local variable + * or not. + * C99 gets around this by defining va_copy() to make copies of ap, but + * this does not exist on all systems. + * For now, I just assume that when va_list is a pointer the system also + * provides a va_copy macro to work around this problem. The only system + * I have seen needing this so far was Linux on AMD64. + */ +#if defined(HAVE_VA_COPY) + va_list ap_local; + va_copy(ap_local, ap); +# define ap ap_local +#endif + + for(cp = fmt; *cp; cp++) { + switch(*cp) { + + /* A format specifier */ + case '%': { + char *endp; + long conv_len1=0, conv_len2=0, conv_len=0; + signed int arg_size; + + /* Firstly, strip the modifier flags (+-#0 and [space]) */ + for(; (c=*++cp);) { + if ('#' == c) + len+=2; /* Worst case of "0x" */ + else if ('-' == c || '+' == c || ' ' == c) + len++; + else + break; + } + + /* Width specifier */ + l = strtol(cp, &endp, 10); + if (endp != cp) { + cp = endp; + conv_len = conv_len1 = l; + } else if (*cp == '*') { + conv_len = conv_len1 = (int)va_arg(ap, int); + cp++; + } + + /* Precision specifier */ + if ('.' == *cp) { + cp++; + conv_len2 = strtol(cp, &endp, 10); + if (endp != cp) { + cp = endp; + } else if (*cp == '*') { + conv_len2 = (int)va_arg(ap, int); + cp++; + } + conv_len = MAX(conv_len1, conv_len2); + } + + /* Short/long identifier */ + if ('h' == *cp) { + arg_size = -1; /* short */ + cp++; + } else if ('l' == *cp) { + arg_size = 1; /* long */ + cp++; + if ('l' == *cp) { + arg_size = 2; /* long long */ + cp++; + } + } else { + arg_size = 0; /* int */ + } + + /* The actual type */ + switch (*cp) { + case '%': + /* + * Not real ANSI I suspect, but we'll allow for the + * completely daft "%10%" example. + */ + len += MAX(conv_len1, 1); + break; + + case 'd': + case 'i': + case 'u': + case 'a': + case 'x': + case 'X': + /* Remember: char and short are sent as int on the stack */ + if (arg_size == -1) + l = (long)va_arg(ap, int); + else if (arg_size == 1) + l = va_arg(ap, long); + else if (arg_size == 2) + l = va_arg(ap, long long); + else + l = (long)va_arg(ap, int); + + DEBUG_printf("%d", l); + + /* + * No number can be more than 24 characters so we'll take + * the max of conv_len and 24 (23 is len(2^64) in octal). + * All that work above and we then go and estimate ;-), + * but it's needed incase someone does %500d. + */ + len += MAX(conv_len, 23); + break; + + case 'c': + i = va_arg(ap, int); + DEBUG_printf("%c", i); + /* + * Note that %10c and %.10c act differently. + * Besides, I think precision is not really allowed for %c. + */ + len += MAX(conv_len1, i>=0x80 ?MB_CUR_MAX :1); + break; + + case 'f': + d = va_arg(ap, double); + DEBUG_printf("%f", d); + /* + * Maybe "Inf" or "NaN", but we'll not worry about that. + * Again, err on side of caution and take max of conv_len + * and max length of a double. The worst case I can + * think of is 317 characters (-1[308 zeros].000000) + * without using precision codes. That's horrid. I + * cheat and either use 317 or 15 depending on how + * large the number is as I reckon 99% of floats + * aren't that long. + */ + l = (ABS(d) > 1000000) ? 317 : 15; + l = MAX(l, conv_len1 + 2); + if (conv_len2) l += conv_len2 - 6; + len += l; + break; + + case 'e': + case 'E': + case 'g': + case 'G': + d = va_arg(ap, double); + DEBUG_printf("%g", d); + /* + * Maybe "Inf" or "NaN", but we'll not worry about that + * Again, err on side of caution and take max of conv_len + * and max length of a double (which defaults to only + * '-' + 6 + '.' + 'E[+-]xxx' == 13. + */ + len += MAX(conv_len, 13); + break; + + case 'p': + l = (long)va_arg(ap, void *); + /* + * Max pointer is 64bits == 16 chars (on alpha), + * == 20 with + "0x". + */ + DEBUG_printf("%p", (void *)l); + len += MAX(conv_len, 20); + break; + + case 'n': + /* produces no output */ + break; + + case 's': { + char *s = (char *)va_arg(ap, char *); + DEBUG_printf("%s", s); + + if (!conv_len2) { + len += MAX(conv_len, (int)strlen(s)); + } else { + len += conv_len; + } + break; + } + + default: + /* wchar_t types of 'C' and 'S' aren't supported */ + DEBUG_printf("Arg is %c\n", *cp); + } + + } + + case '\0': + break; + + default: + DEBUG_printf("%c", *cp); + len++; + } + } + + va_end(ap); + + return len+1; /* one for the null character */ +} + +#if 0 +int main() { + int l; + char buf[10000]; + + sprintf(buf, "d: %d\n", 500); + l = flen("d: %d\n", 500); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, ""); + l = flen(""); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%s\n","test"); + l = flen("%s\n", "test"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%c\n", 'a'); + l = flen("%c\n", 'a'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%31.30f\n", -9999.99); + l = flen("%31.30f\n", -9999.99); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%f\n", -1e308); + l = flen("%f\n", -1e308); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.9f\n", -1e308); + l = flen("%.9f\n", -1e308); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%10.20f\n", -1.999222333); + l = flen("%10.20f\n", -1.999222333); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%#g\n", -3.14159265358e-222); + l = flen("%#g\n", -3.1415927e-222); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%e\n", -123456789123456789.1); + l = flen("%e\n", -123456789123456789.1); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%c %f %d %s %c %g %ld %s\n", 'a', 3.1, 9, "one", 'b', 4.2, 9, "two"); + l = flen("%c %f %d %s %c %g %ld %s\n", 'a', 3.1, 9, "one", 'b', 4.2, 9, "two"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%*.*e %*c\n", 10, 5, 9.0, 20, 'x'); + l = flen("%*.*e %*c\n", 10, 5, 9.0, 20, 'x'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%10c\n", 'z'); + l = flen("%10c\n", 'z'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.10c\n", 'z'); + l = flen("%.10c\n", 'z'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%10d\n", 'z'); + l = flen("%10d\n", 'z'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.10d\n", 'z'); + l = flen("%.10d\n", 'z'); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%10%\n"); + l = flen("%10%\n"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.10%\n"); + l = flen("%.10%\n"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%s\n", "0123456789"); + l = flen("%s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%5s\n", "0123456789"); + l = flen("%5s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%50s\n", "0123456789"); + l = flen("%50s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.5s\n", "0123456789"); + l = flen("%.5s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%.50s\n", "0123456789"); + l = flen("%.50s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%5.50s\n", "0123456789"); + l = flen("%5.50s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + sprintf(buf, "%50.5s\n", "0123456789"); + l = flen("%50.5s\n", "0123456789"); + printf("%d %d\n\n", strlen(buf), l); + + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/vlen.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/vlen.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,48 @@ +/* +Author: James Bonfield (jkb@sanger.ac.uk) + +Copyright (c) 1995-1996 MEDICAL RESEARCH COUNCIL +All rights reserved + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1 Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2 Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3 Neither the name of the MEDICAL RESEARCH COUNCIL, THE LABORATORY OF +MOLECULAR BIOLOGY nor the names of its contributors may be used to endorse or +promote products derived from this software without specific prior written +permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR +ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; +LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _VLEN_H_ +#define _VLEN_H_ + +#ifdef __cplusplus +extern "C" { +#endif + +extern int vflen(char *fmt, va_list ap); +extern int flen(char *fmt, ...); + +#ifdef __cplusplus +} +#endif + +#endif /* _VLEN_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/zfio.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/zfio.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,185 @@ +/* +Copyright (c) 2009-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifdef HAVE_CONFIG_H +#include "io_lib_config.h" +#endif + +#include +#include + +#include "cram/os.h" +#include "cram/zfio.h" + +/* ------------------------------------------------------------------------ */ +/* Some wrappers around FILE * vs gzFile *, allowing for either */ + +/* + * gzopen() works on both compressed and uncompressed data, but it has + * a significant performance hit even for uncompressed data (tested as + * 25s using FILE* to 46s via gzOpen and 66s via gzOpen when gzipped). + * + * Hence we use our own wrapper 'zfp' which is a FILE* when uncompressed + * and gzFile* when compressed. This also means we could hide bzopen in + * there too if desired. + */ + +off_t zftello(zfp *zf) { + return zf->fp ? ftello(zf->fp) : -1; +} + +int zfseeko(zfp *zf, off_t offset, int whence) { + return zf->fp ? fseeko(zf->fp, offset, whence) : -1; +} + + +/* + * A wrapper for either fgets or gzgets depending on what has been + * opened. + */ +char *zfgets(char *line, int size, zfp *zf) { + if (zf->fp) + return fgets(line, size, zf->fp); + else + return gzgets(zf->gz, line, size); +} + +/* + * A wrapper for either fputs or gzputs depending on what has been + * opened. + */ +int zfputs(char *line, zfp *zf) { + if (zf->fp) + return fputs(line, zf->fp); + else + return gzputs(zf->gz, line) ? 0 : EOF; +} + +/* + * Peeks at and returns the next character without consuming it from the + * input. (Ie a combination of getc and ungetc). + */ +int zfpeek(zfp *zf) { + int c; + + if (zf->fp) { + c = getc(zf->fp); + if (c != EOF) + ungetc(c, zf->fp); + } else { + c = gzgetc(zf->gz); + if (c != EOF) + gzungetc(c, zf->gz); + } + + return c; +} + +/* A replacement for either feof of gzeof */ +int zfeof(zfp *zf) { + return zf->fp ? feof(zf->fp) : gzeof(zf->gz); +} + +/* A replacement for either fopen or gzopen */ +zfp *zfopen(const char *path, const char *mode) { + char path2[1024]; + zfp *zf; + + if (!(zf = (zfp *)malloc(sizeof(*zf)))) + return NULL; + zf->fp = NULL; + zf->gz = NULL; + + /* Try normal fopen */ + if (mode[0] != 'z' && mode[1] != 'z' && + NULL != (zf->fp = fopen(path, mode))) { + unsigned char magic[2]; + if (2 != fread(magic, 1, 2, zf->fp)) { + free(zf); + return NULL; + } + if (!(magic[0] == 0x1f && + magic[1] == 0x8b)) { + fseeko(zf->fp, 0, SEEK_SET); + return zf; + } + + fclose(zf->fp); + zf->fp = NULL; + } + +#ifdef HAVE_POPEN + /* + * I've no idea why, by gzgets is VERY slow, maybe because it handles + * arbitrary seeks. + * popen to gzip -cd is 3 times faster though. + */ + if (*mode == 'w') { + } else { + if (access(path, R_OK) == 0) { + sprintf(path2, "gzip -cd < %.*s", 1000, path); + if (NULL != (zf->fp = popen(path2, "r"))) + return zf; + } + + sprintf(path2, "gzip -cd < %.*s.gz", 1000, path); + if (NULL != (zf->fp = popen(path2, "r"))) + return zf; + + printf("Failed on %s\n", path); + } else { + sprintf(path2, "gzip > %.*s", 1000, path); + if (NULL != (zf->fp = popen(path2, "w"))) + return zf; + } + + printf("Failed on %s\n", path); + } +#else + /* Gzopen instead */ + if ((zf->gz = gzopen(path, mode))) + return zf; + + sprintf(path2, "%.*s.gz", 1020, path); + if ((zf->gz = gzopen(path2, mode))) + return zf; +#endif + + perror(path); + + free(zf); + return NULL; +} + +int zfclose(zfp *zf) { + int r = (zf->fp) ? fclose(zf->fp) : gzclose(zf->gz); + free(zf); + return r; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/cram/zfio.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/cram/zfio.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,54 @@ +/* +Copyright (c) 2009-2013 Genome Research Ltd. +Author: James Bonfield + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. + + 2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + + 3. Neither the names Genome Research Ltd and Wellcome Trust Sanger +Institute nor the names of its contributors may be used to endorse or promote +products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY GENOME RESEARCH LTD AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL GENOME RESEARCH LTD OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +*/ + +#ifndef _ZFIO_H_ +#define _ZFIO_H_ + +#include +#include + +/* + * Either a gzFile or a FILE. + */ +typedef struct { + FILE *fp; + gzFile gz; +} zfp; + +off_t zftello(zfp *zf); +int zfseeko(zfp *zf, off_t offset, int whence); +char *zfgets(char *line, int size, zfp *zf); +int zfputs(char *line, zfp *zf); +zfp *zfopen(const char *path, const char *mode); +int zfclose(zfp *zf); +int zfpeek(zfp *zf); +int zfeof(zfp *zf); + +#endif /* _ZFIO_H_ */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/faidx.5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/faidx.5 Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,147 @@ +'\" t +.TH faidx 5 "August 2013" "htslib" "Bioinformatics formats" +.SH NAME +faidx \- an index enabling random access to FASTA files +.\" +.\" Copyright (C) 2013 Genome Research Ltd. +.\" +.\" Author: John Marshall +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software is furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" +.SH SYNOPSIS +.IR file.fa .fai, +.IR file.fasta .fai +.SH DESCRIPTION +Using an \fBfai index\fP file in conjunction with a FASTA file containing +reference sequences enables efficient access to arbitrary regions within +those reference sequences. +The index file typically has the same filename as the corresponding FASTA +file, with \fB.fai\fP appended. +.P +An \fBfai index\fP file is a text file consisting of lines each with +five TAB-delimited columns: +.TS +lbl. +NAME Name of this reference sequence +LENGTH Total length of this reference sequence, in bases +OFFSET Offset within the FASTA file of this sequence's first base +LINEBASES The number of bases on each line +LINEWIDTH The number of bytes in each line, including the newline +.TE +.P +The \fBNAME\fP and \fBLENGTH\fP columns contain the same +data as would appear in the \fBSN\fP and \fBLN\fP fields of a +SAM \fB@SQ\fP header for the same reference sequence. +.P +The \fBOFFSET\fP column contains the offset within the FASTA file, in bytes +starting from zero, of the first base of this reference sequence, i.e., of +the character following the newline at the end of the "\fB>\fP" header line. +Typically the lines of a \fBfai index\fP file appear in the order in which the +reference sequences appear in the FASTA file, so \fB.fai\fP files are typically +sorted according to this column. +.P +The \fBLINEBASES\fP column contains the number of bases in each of the sequence +lines that form the body of this reference sequence, apart from the final line +which may be shorter. +The \fBLINEWIDTH\fP column contains the number of \fIbytes\fP in each of +the sequence lines (except perhaps the final line), thus differing from +\fBLINEBASES\fP in that it also counts the bytes forming the line terminator. +.SS FASTA Files +In order to be indexed with \fBsamtools faidx\fP, a FASTA file must be a text +file of the form +.LP +.RS +.RI > name +.RI [ description ...] +.br +ATGCATGCATGCATGCATGCATGCATGCAT +.br +GCATGCATGCATGCATGCATGCATGCATGC +.br +ATGCAT +.br +.RI > name +.RI [ description ...] +.br +ATGCATGCATGCAT +.br +GCATGCATGCATGC +.br +[...] +.RE +.LP +In particular, each reference sequence must be "well-formatted", i.e., all +of its sequence lines must be the same length, apart from the final sequence +line which may be shorter. +(While this sequence line length must be the same within each sequence, +it may vary between different reference sequences in the same FASTA file.) +.P +This also means that although the FASTA file may have Unix- or Windows-style +or other line termination, the newline characters present must be consistent, +at least within each reference sequence. +.P +The \fBsamtools\fP implementation uses the first word of the "\fB>\fP" header +line text (i.e., up to the first whitespace character) as the \fBNAME\fP column. +At present, there may be no whitespace between the +">" character and the \fIname\fP. +.SH EXAMPLE +For example, given this FASTA file +.LP +.RS +>one +.br +ATGCATGCATGCATGCATGCATGCATGCAT +.br +GCATGCATGCATGCATGCATGCATGCATGC +.br +ATGCAT +.br +>two another chromosome +.br +ATGCATGCATGCAT +.br +GCATGCATGCATGC +.br +.RE +.LP +formatted with Unix-style (LF) line termination, the corresponding fai index +would be +.RS +.TS +lnnnn. +one 66 5 30 31 +two 28 98 14 15 +.TE +.RE +.LP +If the FASTA file were formatted with Windows-style (CR-LF) line termination, +the fai index would be +.RS +.TS +lnnnn. +one 66 6 30 32 +two 28 103 14 16 +.TE +.RE +.SH SEE ALSO +.IR samtools (1) +.TP +http://en.wikipedia.org/wiki/FASTA_format +Further description of the FASTA format diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/faidx.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/faidx.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,475 @@ +/* faidx.c -- FASTA random access. + + Copyright (C) 2008, 2009, 2013-2015 Genome Research Ltd. + Portions copyright (C) 2011 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include + +#include "htslib/bgzf.h" +#include "htslib/faidx.h" +#include "htslib/hfile.h" +#include "htslib/khash.h" + +typedef struct { + int32_t line_len, line_blen; + int64_t len; + uint64_t offset; +} faidx1_t; +KHASH_MAP_INIT_STR(s, faidx1_t) + +struct __faidx_t { + BGZF *bgzf; + int n, m; + char **name; + khash_t(s) *hash; +}; + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +static inline void fai_insert_index(faidx_t *idx, const char *name, int len, int line_len, int line_blen, uint64_t offset) +{ + khint_t k; + int ret; + faidx1_t t; + if (idx->n == idx->m) { + idx->m = idx->m? idx->m<<1 : 16; + idx->name = (char**)realloc(idx->name, sizeof(char*) * idx->m); + } + idx->name[idx->n] = strdup(name); + k = kh_put(s, idx->hash, idx->name[idx->n], &ret); + t.len = len; t.line_len = line_len; t.line_blen = line_blen; t.offset = offset; + kh_value(idx->hash, k) = t; + ++idx->n; +} + +faidx_t *fai_build_core(BGZF *bgzf) +{ + char *name; + int c; + int l_name, m_name; + int line_len, line_blen, state; + int l1, l2; + faidx_t *idx; + uint64_t offset; + int64_t len; + + idx = (faidx_t*)calloc(1, sizeof(faidx_t)); + idx->hash = kh_init(s); + name = 0; l_name = m_name = 0; + len = line_len = line_blen = -1; state = 0; l1 = l2 = -1; offset = 0; + while ( (c=bgzf_getc(bgzf))>=0 ) { + if (c == '\n') { // an empty line + if (state == 1) { + offset = bgzf_utell(bgzf); + continue; + } else if ((state == 0 && len < 0) || state == 2) continue; + } + if (c == '>') { // fasta header + if (len >= 0) + fai_insert_index(idx, name, len, line_len, line_blen, offset); + l_name = 0; + while ( (c=bgzf_getc(bgzf))>=0 && !isspace(c)) { + if (m_name < l_name + 2) { + m_name = l_name + 2; + kroundup32(m_name); + name = (char*)realloc(name, m_name); + } + name[l_name++] = c; + } + name[l_name] = '\0'; + if ( c<0 ) { + fprintf(stderr, "[fai_build_core] the last entry has no sequence\n"); + free(name); fai_destroy(idx); + return 0; + } + if (c != '\n') while ( (c=bgzf_getc(bgzf))>=0 && c != '\n'); + state = 1; len = 0; + offset = bgzf_utell(bgzf); + } else { + if (state == 3) { + fprintf(stderr, "[fai_build_core] inlined empty line is not allowed in sequence '%s'.\n", name); + free(name); fai_destroy(idx); + return 0; + } + if (state == 2) state = 3; + l1 = l2 = 0; + do { + ++l1; + if (isgraph(c)) ++l2; + } while ( (c=bgzf_getc(bgzf))>=0 && c != '\n'); + if (state == 3 && l2) { + fprintf(stderr, "[fai_build_core] different line length in sequence '%s'.\n", name); + free(name); fai_destroy(idx); + return 0; + } + ++l1; len += l2; + if (state == 1) line_len = l1, line_blen = l2, state = 0; + else if (state == 0) { + if (l1 != line_len || l2 != line_blen) state = 2; + } + } + } + if ( name ) + fai_insert_index(idx, name, len, line_len, line_blen, offset); + else + { + free(idx); + return NULL; + } + free(name); + return idx; +} + +void fai_save(const faidx_t *fai, FILE *fp) +{ + khint_t k; + int i; + for (i = 0; i < fai->n; ++i) { + faidx1_t x; + k = kh_get(s, fai->hash, fai->name[i]); + x = kh_value(fai->hash, k); +#ifdef _WIN32 + fprintf(fp, "%s\t%d\t%ld\t%d\t%d\n", fai->name[i], (int)x.len, (long)x.offset, (int)x.line_blen, (int)x.line_len); +#else + fprintf(fp, "%s\t%d\t%lld\t%d\t%d\n", fai->name[i], (int)x.len, (long long)x.offset, (int)x.line_blen, (int)x.line_len); +#endif + } +} + +faidx_t *fai_read(FILE *fp) +{ + faidx_t *fai; + char *buf, *p; + int len, line_len, line_blen; +#ifdef _WIN32 + long offset; +#else + long long offset; +#endif + fai = (faidx_t*)calloc(1, sizeof(faidx_t)); + fai->hash = kh_init(s); + buf = (char*)calloc(0x10000, 1); + while (!feof(fp) && fgets(buf, 0x10000, fp)) { + for (p = buf; *p && isgraph(*p); ++p); + *p = 0; ++p; +#ifdef _WIN32 + sscanf(p, "%d%ld%d%d", &len, &offset, &line_blen, &line_len); +#else + sscanf(p, "%d%lld%d%d", &len, &offset, &line_blen, &line_len); +#endif + fai_insert_index(fai, buf, len, line_len, line_blen, offset); + } + free(buf); + return fai; +} + +void fai_destroy(faidx_t *fai) +{ + int i; + for (i = 0; i < fai->n; ++i) free(fai->name[i]); + free(fai->name); + kh_destroy(s, fai->hash); + if (fai->bgzf) bgzf_close(fai->bgzf); + free(fai); +} + +int fai_build(const char *fn) +{ + char *str; + BGZF *bgzf; + FILE *fp; + faidx_t *fai; + str = (char*)calloc(strlen(fn) + 5, 1); + sprintf(str, "%s.fai", fn); + bgzf = bgzf_open(fn, "r"); + if ( !bgzf ) { + fprintf(stderr, "[fai_build] fail to open the FASTA file %s\n",fn); + free(str); + return -1; + } + if ( bgzf->is_compressed ) bgzf_index_build_init(bgzf); + fai = fai_build_core(bgzf); + if ( !fai ) + { + if ( bgzf->is_compressed && bgzf->is_gzip ) fprintf(stderr,"Cannot index files compressed with gzip, please use bgzip\n"); + free(str); + return -1; + } + if ( bgzf->is_compressed ) bgzf_index_dump(bgzf, fn, ".gzi"); + bgzf_close(bgzf); + fp = fopen(str, "wb"); + if ( !fp ) { + fprintf(stderr, "[fai_build] fail to write FASTA index %s\n",str); + fai_destroy(fai); free(str); + return -1; + } + fai_save(fai, fp); + fclose(fp); + free(str); + fai_destroy(fai); + return 0; +} + +static FILE *download_and_open(const char *fn) +{ + const int buf_size = 1 * 1024 * 1024; + uint8_t *buf; + FILE *fp; + hFILE *fp_remote; + const char *url = fn; + const char *p; + int l = strlen(fn); + for (p = fn + l - 1; p >= fn; --p) + if (*p == '/') break; + fn = p + 1; + + // First try to open a local copy + fp = fopen(fn, "r"); + if (fp) + return fp; + + // If failed, download from remote and open + fp_remote = hopen(url, "rb"); + if (fp_remote == 0) { + fprintf(stderr, "[download_from_remote] fail to open remote file %s\n",url); + return NULL; + } + if ((fp = fopen(fn, "wb")) == 0) { + fprintf(stderr, "[download_from_remote] fail to create file in the working directory %s\n",fn); + hclose_abruptly(fp_remote); + return NULL; + } + buf = (uint8_t*)calloc(buf_size, 1); + while ((l = hread(fp_remote, buf, buf_size)) > 0) + fwrite(buf, 1, l, fp); + free(buf); + fclose(fp); + if (hclose(fp_remote) != 0) + fprintf(stderr, "[download_from_remote] fail to close remote file %s\n", url); + + return fopen(fn, "r"); +} + +faidx_t *fai_load(const char *fn) +{ + char *str; + FILE *fp; + faidx_t *fai; + str = (char*)calloc(strlen(fn) + 5, 1); + sprintf(str, "%s.fai", fn); + + if (hisremote(str)) + { + fp = download_and_open(str); + if ( !fp ) + { + fprintf(stderr, "[fai_load] failed to open remote FASTA index %s\n", str); + free(str); + return 0; + } + } + else + fp = fopen(str, "rb"); + + if (fp == 0) { + fprintf(stderr, "[fai_load] build FASTA index.\n"); + fai_build(fn); + fp = fopen(str, "rb"); + if (fp == 0) { + fprintf(stderr, "[fai_load] fail to open FASTA index.\n"); + free(str); + return 0; + } + } + + fai = fai_read(fp); + fclose(fp); + + fai->bgzf = bgzf_open(fn, "rb"); + free(str); + if (fai->bgzf == 0) { + fprintf(stderr, "[fai_load] fail to open FASTA file.\n"); + return 0; + } + if ( fai->bgzf->is_compressed==1 ) + { + if ( bgzf_index_load(fai->bgzf, fn, ".gzi") < 0 ) + { + fprintf(stderr, "[fai_load] failed to load .gzi index: %s[.gzi]\n", fn); + fai_destroy(fai); + return NULL; + } + } + return fai; +} + +char *fai_fetch(const faidx_t *fai, const char *str, int *len) +{ + char *s; + int c, i, l, k, name_end; + khiter_t iter; + faidx1_t val; + khash_t(s) *h; + int beg, end; + + beg = end = -1; + h = fai->hash; + name_end = l = strlen(str); + s = (char*)malloc(l+1); + // remove space + for (i = k = 0; i < l; ++i) + if (!isspace(str[i])) s[k++] = str[i]; + s[k] = 0; l = k; + // determine the sequence name + for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end + if (i >= 0) name_end = i; + if (name_end < l) { // check if this is really the end + int n_hyphen = 0; + for (i = name_end + 1; i < l; ++i) { + if (s[i] == '-') ++n_hyphen; + else if (!isdigit(s[i]) && s[i] != ',') break; + } + if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name + s[name_end] = 0; + iter = kh_get(s, h, s); + if (iter == kh_end(h)) { // cannot find the sequence name + iter = kh_get(s, h, str); // try str as the name + if (iter == kh_end(h)) { + *len = 0; + free(s); return 0; + } else s[name_end] = ':', name_end = l; + } + } else iter = kh_get(s, h, str); + if(iter == kh_end(h)) { + fprintf(stderr, "[fai_fetch] Warning - Reference %s not found in FASTA file, returning empty sequence\n", str); + free(s); + *len = -2; + return 0; + }; + val = kh_value(h, iter); + // parse the interval + if (name_end < l) { + for (i = k = name_end + 1; i < l; ++i) + if (s[i] != ',') s[k++] = s[i]; + s[k] = 0; + beg = atoi(s + name_end + 1); + for (i = name_end + 1; i != k; ++i) if (s[i] == '-') break; + end = i < k? atoi(s + i + 1) : val.len; + if (beg > 0) --beg; + } else beg = 0, end = val.len; + if (beg >= val.len) beg = val.len; + if (end >= val.len) end = val.len; + if (beg > end) beg = end; + free(s); + + // now retrieve the sequence + int ret = bgzf_useek(fai->bgzf, val.offset + beg / val.line_blen * val.line_len + beg % val.line_blen, SEEK_SET); + if ( ret<0 ) + { + *len = -1; + fprintf(stderr, "[fai_fetch] Error: fai_fetch failed. (Seeking in a compressed, .gzi unindexed, file?)\n"); + return NULL; + } + l = 0; + s = (char*)malloc(end - beg + 2); + while ( (c=bgzf_getc(fai->bgzf))>=0 && l < end - beg ) + if (isgraph(c)) s[l++] = c; + s[l] = '\0'; + *len = l; + return s; +} + +int faidx_fetch_nseq(const faidx_t *fai) +{ + return fai->n; +} + +int faidx_nseq(const faidx_t *fai) +{ + return fai->n; +} + +const char *faidx_iseq(const faidx_t *fai, int i) +{ + return fai->name[i]; +} + +int faidx_seq_len(const faidx_t *fai, const char *seq) +{ + khint_t k = kh_get(s, fai->hash, seq); + if ( k == kh_end(fai->hash) ) return -1; + return kh_val(fai->hash, k).len; +} + +char *faidx_fetch_seq(const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len) +{ + int l, c; + khiter_t iter; + faidx1_t val; + char *seq=NULL; + + // Adjust position + iter = kh_get(s, fai->hash, c_name); + if (iter == kh_end(fai->hash)) + { + *len = -2; + fprintf(stderr, "[fai_fetch_seq] The sequence \"%s\" not found\n", c_name); + return NULL; + } + val = kh_value(fai->hash, iter); + if(p_end_i < p_beg_i) p_beg_i = p_end_i; + if(p_beg_i < 0) p_beg_i = 0; + else if(val.len <= p_beg_i) p_beg_i = val.len - 1; + if(p_end_i < 0) p_end_i = 0; + else if(val.len <= p_end_i) p_end_i = val.len - 1; + + // Now retrieve the sequence + int ret = bgzf_useek(fai->bgzf, val.offset + p_beg_i / val.line_blen * val.line_len + p_beg_i % val.line_blen, SEEK_SET); + if ( ret<0 ) + { + *len = -1; + fprintf(stderr, "[fai_fetch_seq] Error: fai_fetch failed. (Seeking in a compressed, .gzi unindexed, file?)\n"); + return NULL; + } + l = 0; + seq = (char*)malloc(p_end_i - p_beg_i + 2); + while ( (c=bgzf_getc(fai->bgzf))>=0 && l < p_end_i - p_beg_i + 1) + if (isgraph(c)) seq[l++] = c; + seq[l] = '\0'; + *len = l; + return seq; +} + +int faidx_has_seq(const faidx_t *fai, const char *seq) +{ + khiter_t iter = kh_get(s, fai->hash, seq); + if (iter == kh_end(fai->hash)) return 0; + return 1; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/hfile.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/hfile.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,547 @@ +/* hfile.c -- buffered low-level input/output streams. + + Copyright (C) 2013-2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include + +#include "htslib/hfile.h" +#include "hfile_internal.h" + +/* hFILE fields are used as follows: + + char *buffer; // Pointer to the start of the I/O buffer + char *begin; // First not-yet-read character / unused position + char *end; // First unfilled/unfillable position + char *limit; // Pointer to the first position past the buffer + + const hFILE_backend *backend; // Methods to refill/flush I/O buffer + + off_t offset; // Offset within the stream of buffer position 0 + int at_eof:1; // For reading, whether EOF has been seen + int has_errno; // Error number from the last failure on this stream + +For reading, begin is the first unread character in the buffer and end is the +first unfilled position: + + -----------ABCDEFGHIJKLMNO--------------- + ^buffer ^begin ^end ^limit + +For writing, begin is the first unused position and end is unused so remains +equal to buffer: + + ABCDEFGHIJKLMNOPQRSTUVWXYZ--------------- + ^buffer ^begin ^limit + ^end + +Thus if begin > end then there is a non-empty write buffer, if begin < end +then there is a non-empty read buffer, and if begin == end then both buffers +are empty. In all cases, the stream's file position indicator corresponds +to the position pointed to by begin. */ + +hFILE *hfile_init(size_t struct_size, const char *mode, size_t capacity) +{ + hFILE *fp = (hFILE *) malloc(struct_size); + if (fp == NULL) goto error; + + if (capacity == 0) capacity = 32768; + // FIXME For now, clamp input buffer sizes so mpileup doesn't eat memory + if (strchr(mode, 'r') && capacity > 32768) capacity = 32768; + + fp->buffer = (char *) malloc(capacity); + if (fp->buffer == NULL) goto error; + + fp->begin = fp->end = fp->buffer; + fp->limit = &fp->buffer[capacity]; + + fp->offset = 0; + fp->at_eof = 0; + fp->has_errno = 0; + return fp; + +error: + hfile_destroy(fp); + return NULL; +} + +void hfile_destroy(hFILE *fp) +{ + int save = errno; + if (fp) free(fp->buffer); + free(fp); + errno = save; +} + +static inline int writebuffer_is_nonempty(hFILE *fp) +{ + return fp->begin > fp->end; +} + +/* Refills the read buffer from the backend (once, so may only partially + fill the buffer), returning the number of additional characters read + (which might be 0), or negative when an error occurred. */ +static ssize_t refill_buffer(hFILE *fp) +{ + ssize_t n; + + // Move any unread characters to the start of the buffer + if (fp->begin > fp->buffer) { + fp->offset += fp->begin - fp->buffer; + memmove(fp->buffer, fp->begin, fp->end - fp->begin); + fp->end = &fp->buffer[fp->end - fp->begin]; + fp->begin = fp->buffer; + } + + // Read into the available buffer space at fp->[end,limit) + if (fp->at_eof || fp->end == fp->limit) n = 0; + else { + n = fp->backend->read(fp, fp->end, fp->limit - fp->end); + if (n < 0) { fp->has_errno = errno; return n; } + else if (n == 0) fp->at_eof = 1; + } + + fp->end += n; + return n; +} + +/* Called only from hgetc(), when our buffer is empty. */ +int hgetc2(hFILE *fp) +{ + return (refill_buffer(fp) > 0)? (unsigned char) *(fp->begin++) : EOF; +} + +ssize_t hpeek(hFILE *fp, void *buffer, size_t nbytes) +{ + size_t n = fp->end - fp->begin; + while (n < nbytes) { + ssize_t ret = refill_buffer(fp); + if (ret < 0) return ret; + else if (ret == 0) break; + else n += ret; + } + + if (n > nbytes) n = nbytes; + memcpy(buffer, fp->begin, n); + return n; +} + +/* Called only from hread(); when called, our buffer is empty and nread bytes + have already been placed in the destination buffer. */ +ssize_t hread2(hFILE *fp, void *destv, size_t nbytes, size_t nread) +{ + const size_t capacity = fp->limit - fp->buffer; + char *dest = (char *) destv; + dest += nread, nbytes -= nread; + + // Read large requests directly into the destination buffer + while (nbytes * 2 >= capacity && !fp->at_eof) { + ssize_t n = fp->backend->read(fp, dest, nbytes); + if (n < 0) { fp->has_errno = errno; return n; } + else if (n == 0) fp->at_eof = 1; + fp->offset += n; + dest += n, nbytes -= n; + nread += n; + } + + while (nbytes > 0 && !fp->at_eof) { + size_t n; + ssize_t ret = refill_buffer(fp); + if (ret < 0) return ret; + + n = fp->end - fp->begin; + if (n > nbytes) n = nbytes; + memcpy(dest, fp->begin, n); + fp->begin += n; + dest += n, nbytes -= n; + nread += n; + } + + return nread; +} + +/* Flushes the write buffer, fp->[buffer,begin), out through the backend + returning 0 on success or negative if an error occurred. */ +static ssize_t flush_buffer(hFILE *fp) +{ + const char *buffer = fp->buffer; + while (buffer < fp->begin) { + ssize_t n = fp->backend->write(fp, buffer, fp->begin - buffer); + if (n < 0) { fp->has_errno = errno; return n; } + buffer += n; + fp->offset += n; + } + + fp->begin = fp->buffer; // Leave the buffer empty + return 0; +} + +int hflush(hFILE *fp) +{ + if (flush_buffer(fp) < 0) return EOF; + if (fp->backend->flush(fp) < 0) { fp->has_errno = errno; return EOF; } + return 0; +} + +/* Called only from hputc(), when our buffer is already full. */ +int hputc2(int c, hFILE *fp) +{ + if (flush_buffer(fp) < 0) return EOF; + *(fp->begin++) = c; + return c; +} + +/* Called only from hwrite() and hputs2(); when called, our buffer is full and + ncopied bytes from the source have already been copied to our buffer. */ +ssize_t hwrite2(hFILE *fp, const void *srcv, size_t totalbytes, size_t ncopied) +{ + const char *src = (const char *) srcv; + ssize_t ret; + const size_t capacity = fp->limit - fp->buffer; + size_t remaining = totalbytes - ncopied; + src += ncopied; + + ret = flush_buffer(fp); + if (ret < 0) return ret; + + // Write large blocks out directly from the source buffer + while (remaining * 2 >= capacity) { + ssize_t n = fp->backend->write(fp, src, remaining); + if (n < 0) { fp->has_errno = errno; return n; } + fp->offset += n; + src += n, remaining -= n; + } + + // Just buffer any remaining characters + memcpy(fp->begin, src, remaining); + fp->begin += remaining; + + return totalbytes; +} + +/* Called only from hputs(), when our buffer is already full. */ +int hputs2(const char *text, size_t totalbytes, size_t ncopied, hFILE *fp) +{ + return (hwrite2(fp, text, totalbytes, ncopied) >= 0)? 0 : EOF; +} + +off_t hseek(hFILE *fp, off_t offset, int whence) +{ + off_t pos; + + if (writebuffer_is_nonempty(fp)) { + int ret = flush_buffer(fp); + if (ret < 0) return ret; + } + else { + // Convert relative offsets from being relative to the hFILE's stream + // position (at begin) to being relative to the backend's physical + // stream position (at end, due to the buffering read-ahead). + if (whence == SEEK_CUR) offset -= fp->end - fp->begin; + } + + pos = fp->backend->seek(fp, offset, whence); + if (pos < 0) { fp->has_errno = errno; return pos; } + + // Seeking succeeded, so discard any non-empty read buffer + fp->begin = fp->end = fp->buffer; + fp->at_eof = 0; + + fp->offset = pos; + return pos; +} + +int hclose(hFILE *fp) +{ + int err = fp->has_errno; + + if (writebuffer_is_nonempty(fp) && hflush(fp) < 0) err = fp->has_errno; + if (fp->backend->close(fp) < 0) err = errno; + hfile_destroy(fp); + + if (err) { + errno = err; + return EOF; + } + else return 0; +} + +void hclose_abruptly(hFILE *fp) +{ + int save = errno; + if (fp->backend->close(fp) < 0) { /* Ignore subsequent errors */ } + hfile_destroy(fp); + errno = save; +} + + +/*************************** + * File descriptor backend * + ***************************/ + +#include +#include +#include +#include + +#ifdef _WIN32 +#define HAVE_CLOSESOCKET +#endif + +/* For Unix, it doesn't matter whether a file descriptor is a socket. + However Windows insists on send()/recv() and its own closesocket() + being used when fd happens to be a socket. */ + +typedef struct { + hFILE base; + int fd; + int is_socket:1; +} hFILE_fd; + +static ssize_t fd_read(hFILE *fpv, void *buffer, size_t nbytes) +{ + hFILE_fd *fp = (hFILE_fd *) fpv; + ssize_t n; + do { + n = fp->is_socket? recv(fp->fd, buffer, nbytes, 0) + : read(fp->fd, buffer, nbytes); + } while (n < 0 && errno == EINTR); + return n; +} + +static ssize_t fd_write(hFILE *fpv, const void *buffer, size_t nbytes) +{ + hFILE_fd *fp = (hFILE_fd *) fpv; + ssize_t n; + do { + n = fp->is_socket? send(fp->fd, buffer, nbytes, 0) + : write(fp->fd, buffer, nbytes); + } while (n < 0 && errno == EINTR); + return n; +} + +static off_t fd_seek(hFILE *fpv, off_t offset, int whence) +{ + hFILE_fd *fp = (hFILE_fd *) fpv; + return lseek(fp->fd, offset, whence); +} + +static int fd_flush(hFILE *fpv) +{ + hFILE_fd *fp = (hFILE_fd *) fpv; + int ret; + do { +#ifdef HAVE_FDATASYNC + ret = fdatasync(fp->fd); +#else + ret = fsync(fp->fd); +#endif + // Ignore invalid-for-fsync(2) errors due to being, e.g., a pipe, + // and operation-not-supported errors (Mac OS X) + if (ret < 0 && (errno == EINVAL || errno == ENOTSUP)) ret = 0; + } while (ret < 0 && errno == EINTR); + return ret; +} + +static int fd_close(hFILE *fpv) +{ + hFILE_fd *fp = (hFILE_fd *) fpv; + int ret; + do { +#ifdef HAVE_CLOSESOCKET + ret = fp->is_socket? closesocket(fp->fd) : close(fp->fd); +#else + ret = close(fp->fd); +#endif + } while (ret < 0 && errno == EINTR); + return ret; +} + +static const struct hFILE_backend fd_backend = +{ + fd_read, fd_write, fd_seek, fd_flush, fd_close +}; + +static size_t blksize(int fd) +{ + struct stat sbuf; + if (fstat(fd, &sbuf) != 0) return 0; + return sbuf.st_blksize; +} + +static hFILE *hopen_fd(const char *filename, const char *mode) +{ + hFILE_fd *fp = NULL; + int fd = open(filename, hfile_oflags(mode), 0666); + if (fd < 0) goto error; + + fp = (hFILE_fd *) hfile_init(sizeof (hFILE_fd), mode, blksize(fd)); + if (fp == NULL) goto error; + + fp->fd = fd; + fp->is_socket = 0; + fp->base.backend = &fd_backend; + return &fp->base; + +error: + if (fd >= 0) { int save = errno; (void) close(fd); errno = save; } + hfile_destroy((hFILE *) fp); + return NULL; +} + +hFILE *hdopen(int fd, const char *mode) +{ + hFILE_fd *fp = (hFILE_fd*) hfile_init(sizeof (hFILE_fd), mode, blksize(fd)); + if (fp == NULL) return NULL; + + fp->fd = fd; + fp->is_socket = (strchr(mode, 's') != NULL); + fp->base.backend = &fd_backend; + return &fp->base; +} + +static hFILE *hopen_fd_stdinout(const char *mode) +{ + int fd = (strchr(mode, 'r') != NULL)? STDIN_FILENO : STDOUT_FILENO; + // TODO Set binary mode (for Windows) + return hdopen(fd, mode); +} + +int hfile_oflags(const char *mode) +{ + int rdwr = 0, flags = 0; + const char *s; + for (s = mode; *s; s++) + switch (*s) { + case 'r': rdwr = O_RDONLY; break; + case 'w': rdwr = O_WRONLY; flags |= O_CREAT | O_TRUNC; break; + case 'a': rdwr = O_WRONLY; flags |= O_CREAT | O_APPEND; break; + case '+': rdwr = O_RDWR; break; + default: break; + } + +#ifdef O_BINARY + flags |= O_BINARY; +#endif + + return rdwr | flags; +} + + +/********************* + * In-memory backend * + *********************/ + +typedef struct { + hFILE base; + const char *buffer; + size_t length, pos; +} hFILE_mem; + +static ssize_t mem_read(hFILE *fpv, void *buffer, size_t nbytes) +{ + hFILE_mem *fp = (hFILE_mem *) fpv; + size_t avail = fp->length - fp->pos; + if (nbytes > avail) nbytes = avail; + memcpy(buffer, fp->buffer + fp->pos, nbytes); + fp->pos += nbytes; + return nbytes; +} + +static off_t mem_seek(hFILE *fpv, off_t offset, int whence) +{ + hFILE_mem *fp = (hFILE_mem *) fpv; + size_t absoffset = (offset >= 0)? offset : -offset; + size_t origin; + + switch (whence) { + case SEEK_SET: origin = 0; break; + case SEEK_CUR: origin = fp->pos; break; + case SEEK_END: origin = fp->length; break; + default: errno = EINVAL; return -1; + } + + if ((offset < 0 && absoffset > origin) || + (offset >= 0 && absoffset > fp->length - origin)) { + errno = EINVAL; + return -1; + } + + fp->pos = origin + offset; + return fp->pos; +} + +static int mem_close(hFILE *fpv) +{ + return 0; +} + +static const struct hFILE_backend mem_backend = +{ + mem_read, NULL, mem_seek, NULL, mem_close +}; + +static hFILE *hopen_mem(const char *data, const char *mode) +{ + // TODO Implement write modes, which will require memory allocation + if (strchr(mode, 'r') == NULL) { errno = EINVAL; return NULL; } + + hFILE_mem *fp = (hFILE_mem *) hfile_init(sizeof (hFILE_mem), mode, 0); + if (fp == NULL) return NULL; + + fp->buffer = data; + fp->length = strlen(data); + fp->pos = 0; + fp->base.backend = &mem_backend; + return &fp->base; +} + + +/****************************** + * hopen() backend dispatcher * + ******************************/ + +hFILE *hopen(const char *fname, const char *mode) +{ + if (strncmp(fname, "http://", 7) == 0 || + strncmp(fname, "ftp://", 6) == 0) return hopen_net(fname, mode); +#ifdef HAVE_IRODS + else if (strncmp(fname, "irods:", 6) == 0) return hopen_irods(fname, mode); +#endif + else if (strncmp(fname, "data:", 5) == 0) return hopen_mem(fname + 5, mode); + else if (strcmp(fname, "-") == 0) return hopen_fd_stdinout(mode); + else return hopen_fd(fname, mode); +} + +int hisremote(const char *fname) +{ + // FIXME Make a new backend entry to return this + if (strncmp(fname, "http://", 7) == 0 || + strncmp(fname, "https://", 8) == 0 || + strncmp(fname, "ftp://", 6) == 0) return 1; +#ifdef HAVE_IRODS + else if (strncmp(fname, "irods:", 6) == 0) return 1; +#endif + else return 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/hfile_internal.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/hfile_internal.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,76 @@ +/* hfile_internal.h -- internal parts of low-level input/output streams. + + Copyright (C) 2013-2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HFILE_INTERNAL_H +#define HFILE_INTERNAL_H + +#include "htslib/hfile.h" + +struct hFILE_backend { + /* As per read(2), returning the number of bytes read (possibly 0) or + negative (and setting errno) on errors. Front-end code will call this + repeatedly if necessary to attempt to get the desired byte count. */ + ssize_t (*read)(hFILE *fp, void *buffer, size_t nbytes) HTS_RESULT_USED; + + /* As per write(2), returning the number of bytes written or negative (and + setting errno) on errors. Front-end code will call this repeatedly if + necessary until the desired block is written or an error occurs. */ + ssize_t (*write)(hFILE *fp, const void *buffer, size_t nbytes) + HTS_RESULT_USED; + + /* As per lseek(2), returning the resulting offset within the stream or + negative (and setting errno) on errors. */ + off_t (*seek)(hFILE *fp, off_t offset, int whence) HTS_RESULT_USED; + + /* Performs low-level flushing, if any, e.g., fsync(2); for writing streams + only. Returns 0 for success or negative (and sets errno) on errors. */ + int (*flush)(hFILE *fp) HTS_RESULT_USED; + + /* Closes the underlying stream (for output streams, the buffer will + already have been flushed), returning 0 for success or negative (and + setting errno) on errors, as per close(2). */ + int (*close)(hFILE *fp) HTS_RESULT_USED; +}; + +/* These are called from the hopen() dispatcher, and should call hfile_init() + to malloc a struct "derived" from hFILE and initialise it appropriately, + including setting base.backend to their own backend vector. */ +hFILE *hopen_irods(const char *filename, const char *mode); +hFILE *hopen_net(const char *filename, const char *mode); + +/* May be called by hopen_*() functions to decode a fopen()-style mode into + open(2)-style flags. */ +int hfile_oflags(const char *mode); + +/* Must be called by hopen_*() functions to allocate the hFILE struct and set + up its base. Capacity is a suggested buffer size (e.g., via fstat(2)) + or 0 for a default-sized buffer. */ +hFILE *hfile_init(size_t struct_size, const char *mode, size_t capacity); + +/* May be called by hopen_*() functions to undo the effects of hfile_init() + in the event opening the stream subsequently fails. (This is safe to use + even if fp is NULL. This takes care to preserve errno.) */ +void hfile_destroy(hFILE *fp); + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/hfile_irods.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/hfile_irods.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,243 @@ +/* hfile_irods.c -- iRODS backend for low-level file streams. + + Copyright (C) 2013, 2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include + +#include "hfile_internal.h" + +#include +#include +#include +#include +#include +#include +#include + +typedef struct { + hFILE base; + int descriptor; +} hFILE_irods; + +static int status_errno(int status) +{ + switch (status) { + case SYS_NO_API_PRIV: return EACCES; + case SYS_MALLOC_ERR: return ENOMEM; + case SYS_OUT_OF_FILE_DESC: return ENFILE; + case SYS_BAD_FILE_DESCRIPTOR: return EBADF; + case CAT_NO_ROWS_FOUND: return ENOENT; + case CATALOG_ALREADY_HAS_ITEM_BY_THAT_NAME: return EEXIST; + default: return EIO; + } +} + +static void set_errno(int status) +{ + int err = abs(status) % 1000; + errno = err? err : status_errno(status); +} + +static struct { + rcComm_t *conn; + rodsEnv env; +} irods = { NULL }; + +static void irods_exit() +{ + (void) rcDisconnect(irods.conn); + irods.conn = NULL; +} + +static int irods_init() +{ + rErrMsg_t err; + int ret; + + ret = getRodsEnv(&irods.env); + if (ret < 0) goto error; + + irods.conn = rcConnect(irods.env.rodsHost, irods.env.rodsPort, + irods.env.rodsUserName, irods.env.rodsZone, + NO_RECONN, &err); + if (irods.conn == NULL) { ret = err.status; goto error; } + + if (strcmp(irods.env.rodsUserName, PUBLIC_USER_NAME) != 0) { + ret = clientLogin(irods.conn); + if (ret != 0) goto error; + } + + // In the unlikely event atexit() fails, it's better to succeed here and + // carry on and do the I/O; then eventually when the program exits, we'll + // merely disconnect from the server uncleanly, as if we had aborted. + (void) atexit(irods_exit); + + return 0; + +error: + if (irods.conn) { (void) rcDisconnect(irods.conn); } + irods.conn = NULL; + set_errno(ret); + return -1; +} + +static ssize_t irods_read(hFILE *fpv, void *buffer, size_t nbytes) +{ + hFILE_irods *fp = (hFILE_irods *) fpv; + openedDataObjInp_t args; + bytesBuf_t buf; + int ret; + + memset(&args, 0, sizeof args); + args.l1descInx = fp->descriptor; + args.len = nbytes; + + buf.buf = buffer; + buf.len = nbytes; + + ret = rcDataObjRead(irods.conn, &args, &buf); + if (ret < 0) set_errno(ret); + return ret; +} + +static ssize_t irods_write(hFILE *fpv, const void *buffer, size_t nbytes) +{ + hFILE_irods *fp = (hFILE_irods *) fpv; + openedDataObjInp_t args; + bytesBuf_t buf; + int ret; + + memset(&args, 0, sizeof args); + args.l1descInx = fp->descriptor; + args.len = nbytes; + + buf.buf = (void *) buffer; // ...the iRODS API is not const-correct here + buf.len = nbytes; + + ret = rcDataObjWrite(irods.conn, &args, &buf); + if (ret < 0) set_errno(ret); + return ret; +} + +static off_t irods_seek(hFILE *fpv, off_t offset, int whence) +{ + hFILE_irods *fp = (hFILE_irods *) fpv; + openedDataObjInp_t args; + fileLseekOut_t *out = NULL; + int ret; + + memset(&args, 0, sizeof args); + args.l1descInx = fp->descriptor; + args.offset = offset; + args.whence = whence; + + ret = rcDataObjLseek(irods.conn, &args, &out); + + if (out) { offset = out->offset; free(out); } + else offset = -1; + if (ret < 0) { set_errno(ret); return -1; } + return offset; +} + +static int irods_flush(hFILE *fpv) +{ +// FIXME rcDataObjFsync() doesn't seem to function as expected. +// For now, flush is a no-op: see https://github.com/samtools/htslib/issues/168 +#if 0 + hFILE_irods *fp = (hFILE_irods *) fpv; + openedDataObjInp_t args; + int ret; + + memset(&args, 0, sizeof args); + args.l1descInx = fp->descriptor; + + ret = rcDataObjFsync(irods.conn, &args); + if (ret < 0) set_errno(ret); + return ret; +#endif + return 0; +} + +static int irods_close(hFILE *fpv) +{ + hFILE_irods *fp = (hFILE_irods *) fpv; + openedDataObjInp_t args; + int ret; + + memset(&args, 0, sizeof args); + args.l1descInx = fp->descriptor; + + ret = rcDataObjClose(irods.conn, &args); + if (ret < 0) set_errno(ret); + return ret; +} + +static const struct hFILE_backend irods_backend = +{ + irods_read, irods_write, irods_seek, irods_flush, irods_close +}; + +hFILE *hopen_irods(const char *filename, const char *mode) +{ + hFILE_irods *fp; + rodsPath_t path; + dataObjInp_t args; + int ret; + + // Initialise the iRODS connection if this is the first use. + if (irods.conn == NULL) { if (irods_init() < 0) return NULL; } + + if (strncmp(filename, "irods:", 6) == 0) filename += 6; + else { errno = EINVAL; return NULL; } + + fp = (hFILE_irods *) hfile_init(sizeof (hFILE_irods), mode, 0); + if (fp == NULL) return NULL; + + strncpy(path.inPath, filename, MAX_NAME_LEN-1); + path.inPath[MAX_NAME_LEN-1] = '\0'; + + ret = parseRodsPath(&path, &irods.env); + if (ret < 0) goto error; + + memset(&args, 0, sizeof args); + strcpy(args.objPath, path.outPath); + args.openFlags = hfile_oflags(mode); + if (args.openFlags & O_CREAT) { + args.createMode = 0666; + addKeyVal(&args.condInput, DEST_RESC_NAME_KW,irods.env.rodsDefResource); + } + + ret = rcDataObjOpen(irods.conn, &args); + if (ret < 0) goto error; + fp->descriptor = ret; + + fp->base.backend = &irods_backend; + return &fp->base; + +error: + hfile_destroy((hFILE *) fp); + set_errno(ret); + return NULL; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/hfile_net.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/hfile_net.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,99 @@ +/* hfile_net.c -- network backend for low-level input/output streams. + + Copyright (C) 2013-2014 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include + +#include "hfile_internal.h" + +#include "htslib/knetfile.h" + +typedef struct { + hFILE base; + knetFile *netfp; +} hFILE_net; + +static int net_inited = 0; + +#ifdef _WIN32 +static void net_exit(void) +{ + knet_win32_destroy(); +} +#endif + +static int net_init(void) +{ +#ifdef _WIN32 + if (knet_win32_init() != 0) return -1; + + // In the unlikely event atexit() fails, it's better to succeed here and + // carry on and do the I/O; then eventually when the program exits, we'll + // merely have failed to clean up properly, as if we had aborted. + (void) atexit(net_exit); +#endif + + net_inited = 1; + return 0; +} + +static ssize_t net_read(hFILE *fpv, void *buffer, size_t nbytes) +{ + hFILE_net *fp = (hFILE_net *) fpv; + return knet_read(fp->netfp, buffer, nbytes); +} + +static off_t net_seek(hFILE *fpv, off_t offset, int whence) +{ + hFILE_net *fp = (hFILE_net *) fpv; + return knet_seek(fp->netfp, offset, whence); +} + +static int net_close(hFILE *fpv) +{ + hFILE_net *fp = (hFILE_net *) fpv; + return knet_close(fp->netfp); +} + +static const struct hFILE_backend net_backend = +{ + net_read, NULL, net_seek, NULL, net_close +}; + +hFILE *hopen_net(const char *filename, const char *mode) +{ + hFILE_net *fp; + + // Do any networking initialisation if this is the first use. + if (! net_inited) { if (net_init() < 0) return NULL; } + + fp = (hFILE_net *) hfile_init(sizeof (hFILE_net), mode, 0); + if (fp == NULL) return NULL; + + fp->netfp = knet_open(filename, mode); + if (fp->netfp == NULL) { hfile_destroy((hFILE *) fp); return NULL; } + + fp->base.backend = &net_backend; + return &fp->base; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/hts.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/hts.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1665 @@ +/* hts.c -- format-neutral I/O, indexing, and iterator API functions. + + Copyright (C) 2008, 2009, 2012-2015 Genome Research Ltd. + Copyright (C) 2012, 2013 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include "htslib/bgzf.h" +#include "htslib/hts.h" +#include "cram/cram.h" +#include "htslib/hfile.h" +#include "version.h" + +#include "htslib/kseq.h" +#define KS_BGZF 1 +#if KS_BGZF + // bgzf now supports gzip-compressed files, the gzFile branch can be removed + KSTREAM_INIT2(, BGZF*, bgzf_read, 65536) +#else + KSTREAM_INIT2(, gzFile, gzread, 16384) +#endif + +#include "htslib/khash.h" +KHASH_INIT2(s2i,, kh_cstr_t, int64_t, 1, kh_str_hash_func, kh_str_hash_equal) + +int hts_verbose = 3; + +const char *hts_version() +{ + return HTS_VERSION; +} + +const unsigned char seq_nt16_table[256] = { + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 1, 2, 4, 8, 15,15,15,15, 15,15,15,15, 15, 0 /*=*/,15,15, + 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15, + 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15, + 15, 1,14, 2, 13,15,15, 4, 11,15,15,12, 15, 3,15,15, + 15,15, 5, 6, 8,15, 7, 9, 15,10,15,15, 15,15,15,15, + + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15, + 15,15,15,15, 15,15,15,15, 15,15,15,15, 15,15,15,15 +}; + +const char seq_nt16_str[] = "=ACMGRSVTWYHKDBN"; + +const int seq_nt16_int[] = { 4, 0, 1, 4, 2, 4, 4, 4, 3, 4, 4, 4, 4, 4, 4, 4 }; + +/********************** + *** Basic file I/O *** + **********************/ + +static enum htsFormatCategory format_category(enum htsExactFormat fmt) +{ + switch (fmt) { + case bam: + case sam: + case cram: + return sequence_data; + + case vcf: + case bcf: + return variant_data; + + case bai: + case crai: + case csi: + case gzi: + case tbi: + return index_file; + + case bed: + return region_list; + + case unknown_format: + case binary_format: + case text_format: + case format_maximum: + break; + } + + return unknown_category; +} + +// Decompress up to ten or so bytes by peeking at the file, which must be +// positioned at the start of a GZIP block. +static size_t decompress_peek(hFILE *fp, unsigned char *dest, size_t destsize) +{ + // Typically at most a couple of hundred bytes of input are required + // to get a few bytes of output from inflate(), so hopefully this buffer + // size suffices in general. + unsigned char buffer[512]; + z_stream zs; + ssize_t npeek = hpeek(fp, buffer, sizeof buffer); + + if (npeek < 0) return 0; + + zs.zalloc = NULL; + zs.zfree = NULL; + zs.next_in = buffer; + zs.avail_in = npeek; + zs.next_out = dest; + zs.avail_out = destsize; + if (inflateInit2(&zs, 31) != Z_OK) return 0; + + while (zs.total_out < destsize) + if (inflate(&zs, Z_SYNC_FLUSH) != Z_OK) break; + + destsize = zs.total_out; + inflateEnd(&zs); + + return destsize; +} + +// Parse "x.y" text, taking care because the string is not NUL-terminated +// and filling in major/minor only when the digits are followed by a delimiter, +// so we don't misread "1.10" as "1.1" due to reaching the end of the buffer. +static void +parse_version(htsFormat *fmt, const unsigned char *u, const unsigned char *ulim) +{ + const char *str = (const char *) u; + const char *slim = (const char *) ulim; + const char *s; + + fmt->version.major = fmt->version.minor = -1; + + for (s = str; s < slim; s++) if (!isdigit(*s)) break; + if (s < slim) { + fmt->version.major = atoi(str); + if (*s == '.') { + str = &s[1]; + for (s = str; s < slim; s++) if (!isdigit(*s)) break; + if (s < slim) + fmt->version.minor = atoi(str); + } + else + fmt->version.minor = 0; + } +} + +int hts_detect_format(hFILE *hfile, htsFormat *fmt) +{ + unsigned char s[21]; + ssize_t len = hpeek(hfile, s, 18); + if (len < 0) return -1; + + if (len >= 2 && s[0] == 0x1f && s[1] == 0x8b) { + // The stream is either gzip-compressed or BGZF-compressed. + // Determine which, and decompress the first few bytes. + fmt->compression = (len >= 18 && (s[3] & 4) && + memcmp(&s[12], "BC\2\0", 4) == 0)? bgzf : gzip; + len = decompress_peek(hfile, s, sizeof s); + } + else { + fmt->compression = no_compression; + len = hpeek(hfile, s, sizeof s); + } + if (len < 0) return -1; + + fmt->compression_level = -1; + fmt->specific = NULL; + + if (len >= 6 && memcmp(s,"CRAM",4) == 0 && s[4]>=1 && s[4]<=3 && s[5]<=1) { + fmt->category = sequence_data; + fmt->format = cram; + fmt->version.major = s[4], fmt->version.minor = s[5]; + fmt->compression = custom; + return 0; + } + else if (len >= 4 && s[3] <= '\4') { + if (memcmp(s, "BAM\1", 4) == 0) { + fmt->category = sequence_data; + fmt->format = bam; + // TODO Decompress enough to pick version from @HD-VN header + fmt->version.major = 1, fmt->version.minor = -1; + return 0; + } + else if (memcmp(s, "BAI\1", 4) == 0) { + fmt->category = index_file; + fmt->format = bai; + fmt->version.major = -1, fmt->version.minor = -1; + return 0; + } + else if (memcmp(s, "BCF\4", 4) == 0) { + fmt->category = variant_data; + fmt->format = bcf; + fmt->version.major = 1, fmt->version.minor = -1; + return 0; + } + else if (memcmp(s, "BCF\2", 4) == 0) { + fmt->category = variant_data; + fmt->format = bcf; + fmt->version.major = s[3]; + fmt->version.minor = (len >= 5 && s[4] <= 2)? s[4] : 0; + return 0; + } + else if (memcmp(s, "CSI\1", 4) == 0) { + fmt->category = index_file; + fmt->format = csi; + fmt->version.major = 1, fmt->version.minor = -1; + return 0; + } + else if (memcmp(s, "TBI\1", 4) == 0) { + fmt->category = index_file; + fmt->format = tbi; + fmt->version.major = -1, fmt->version.minor = -1; + return 0; + } + } + else if (len >= 16 && memcmp(s, "##fileformat=VCF", 16) == 0) { + fmt->category = variant_data; + fmt->format = vcf; + if (len >= 21 && s[16] == 'v') + parse_version(fmt, &s[17], &s[len]); + else + fmt->version.major = fmt->version.minor = -1; + return 0; + } + else if (len >= 4 && s[0] == '@' && + (memcmp(s, "@HD\t", 4) == 0 || memcmp(s, "@SQ\t", 4) == 0 || + memcmp(s, "@RG\t", 4) == 0 || memcmp(s, "@PG\t", 4) == 0)) { + fmt->category = sequence_data; + fmt->format = sam; + // @HD-VN is not guaranteed to be the first tag, but then @HD is + // not guaranteed to be present at all... + if (len >= 9 && memcmp(s, "@HD\tVN:", 7) == 0) + parse_version(fmt, &s[7], &s[len]); + else + fmt->version.major = 1, fmt->version.minor = -1; + return 0; + } + else { + // Various possibilities for tab-delimited text: + // .crai (gzipped tab-delimited six columns: seqid 5*number) + // .bed ([3..12] tab-delimited columns) + // .bedpe (>= 10 tab-delimited columns) + // .sam (tab-delimited >= 11 columns: seqid number seqid...) + // FIXME For now, assume it's SAM + fmt->category = sequence_data; + fmt->format = sam; + fmt->version.major = 1, fmt->version.minor = -1; + return 0; + } + + fmt->category = unknown_category; + fmt->format = unknown_format; + fmt->version.major = fmt->version.minor = -1; + fmt->compression = no_compression; + return 0; +} + +char *hts_format_description(const htsFormat *format) +{ + kstring_t str = { 0, 0, NULL }; + + switch (format->format) { + case sam: kputs("SAM", &str); break; + case bam: kputs("BAM", &str); break; + case cram: kputs("CRAM", &str); break; + case vcf: kputs("VCF", &str); break; + case bcf: + if (format->version.major == 1) kputs("Legacy BCF", &str); + else kputs("BCF", &str); + break; + case bai: kputs("BAI", &str); break; + case crai: kputs("CRAI", &str); break; + case csi: kputs("CSI", &str); break; + case tbi: kputs("Tabix", &str); break; + default: kputs("unknown", &str); break; + } + + if (format->version.major >= 0) { + kputs(" version ", &str); + kputw(format->version.major, &str); + if (format->version.minor >= 0) { + kputc('.', &str); + kputw(format->version.minor, &str); + } + } + + switch (format->compression) { + case custom: kputs(" compressed", &str); break; + case gzip: kputs(" gzip-compressed", &str); break; + case bgzf: + switch (format->format) { + case bam: + case bcf: + case csi: + case tbi: + // These are by definition BGZF, so just use the generic term + kputs(" compressed", &str); + break; + default: + kputs(" BGZF-compressed", &str); + break; + } + break; + default: break; + } + + switch (format->category) { + case sequence_data: kputs(" sequence", &str); break; + case variant_data: kputs(" variant calling", &str); break; + case index_file: kputs(" index", &str); break; + case region_list: kputs(" genomic region", &str); break; + default: break; + } + + if (format->compression == no_compression) + switch (format->format) { + case sam: + case crai: + case vcf: + case bed: + kputs(" text", &str); + break; + + default: + kputs(" data", &str); + break; + } + else + kputs(" data", &str); + + return ks_release(&str); +} + +htsFile *hts_open(const char *fn, const char *mode) +{ + htsFile *fp = NULL; + hFILE *hfile = hopen(fn, mode); + if (hfile == NULL) goto error; + + fp = hts_hopen(hfile, fn, mode); + if (fp == NULL) goto error; + + return fp; + +error: + if (hts_verbose >= 2) + fprintf(stderr, "[E::%s] fail to open file '%s'\n", __func__, fn); + + if (hfile) + hclose_abruptly(hfile); + + return NULL; +} + +htsFile *hts_hopen(struct hFILE *hfile, const char *fn, const char *mode) +{ + htsFile *fp = (htsFile*)calloc(1, sizeof(htsFile)); + if (fp == NULL) goto error; + + fp->fn = strdup(fn); + fp->is_be = ed_is_big(); + + if (strchr(mode, 'r')) { + if (hts_detect_format(hfile, &fp->format) < 0) goto error; + } + else if (strchr(mode, 'w') || strchr(mode, 'a')) { + htsFormat *fmt = &fp->format; + fp->is_write = 1; + + if (strchr(mode, 'b')) fmt->format = binary_format; + else if (strchr(mode, 'c')) fmt->format = cram; + else fmt->format = text_format; + + if (strchr(mode, 'z')) fmt->compression = bgzf; + else if (strchr(mode, 'g')) fmt->compression = gzip; + else if (strchr(mode, 'u')) fmt->compression = no_compression; + else { + // No compression mode specified, set to the default for the format + switch (fmt->format) { + case binary_format: fmt->compression = bgzf; break; + case cram: fmt->compression = custom; break; + case text_format: fmt->compression = no_compression; break; + default: abort(); + } + } + + // Fill in category (if determinable; e.g. 'b' could be BAM or BCF) + fmt->category = format_category(fmt->format); + + fmt->version.major = fmt->version.minor = -1; + fmt->compression_level = -1; + fmt->specific = NULL; + } + else goto error; + + switch (fp->format.format) { + case binary_format: + case bam: + case bcf: + fp->fp.bgzf = bgzf_hopen(hfile, mode); + if (fp->fp.bgzf == NULL) goto error; + fp->is_bin = 1; + break; + + case cram: + fp->fp.cram = cram_dopen(hfile, fn, mode); + if (fp->fp.cram == NULL) goto error; + if (!fp->is_write) + cram_set_option(fp->fp.cram, CRAM_OPT_DECODE_MD, 1); + fp->is_cram = 1; + break; + + case text_format: + case sam: + case vcf: + if (!fp->is_write) { + #if KS_BGZF + BGZF *gzfp = bgzf_hopen(hfile, mode); + #else + // TODO Implement gzip hFILE adaptor + hclose(hfile); // This won't work, especially for stdin + gzFile gzfp = strcmp(fn, "-")? gzopen(fn, "rb") : gzdopen(fileno(stdin), "rb"); + #endif + if (gzfp) fp->fp.voidp = ks_init(gzfp); + else goto error; + } + else if (fp->format.compression != no_compression) { + fp->fp.bgzf = bgzf_hopen(hfile, mode); + if (fp->fp.bgzf == NULL) goto error; + } + else + fp->fp.hfile = hfile; + break; + + default: + goto error; + } + + return fp; + +error: + if (hts_verbose >= 2) + fprintf(stderr, "[E::%s] fail to open file '%s'\n", __func__, fn); + + if (fp) { + free(fp->fn); + free(fp->fn_aux); + free(fp); + } + return NULL; +} + +int hts_close(htsFile *fp) +{ + int ret, save; + + switch (fp->format.format) { + case binary_format: + case bam: + case bcf: + ret = bgzf_close(fp->fp.bgzf); + break; + + case cram: + if (!fp->is_write) { + switch (cram_eof(fp->fp.cram)) { + case 0: + fprintf(stderr, "[E::%s] Failed to decode sequence.\n", __func__); + return -1; + case 2: + fprintf(stderr, "[W::%s] EOF marker is absent. The input is probably truncated.\n", __func__); + break; + default: /* case 1, expected EOF */ + break; + } + } + ret = cram_close(fp->fp.cram); + break; + + case text_format: + case sam: + case vcf: + if (!fp->is_write) { + #if KS_BGZF + BGZF *gzfp = ((kstream_t*)fp->fp.voidp)->f; + ret = bgzf_close(gzfp); + #else + gzFile gzfp = ((kstream_t*)fp->fp.voidp)->f; + ret = gzclose(gzfp); + #endif + ks_destroy((kstream_t*)fp->fp.voidp); + } + else if (fp->format.compression != no_compression) + ret = bgzf_close(fp->fp.bgzf); + else + ret = hclose(fp->fp.hfile); + break; + + default: + ret = -1; + break; + } + + save = errno; + free(fp->fn); + free(fp->fn_aux); + free(fp->line.s); + free(fp); + errno = save; + return ret; +} + +const htsFormat *hts_get_format(htsFile *fp) +{ + return fp? &fp->format : NULL; +} + +int hts_set_opt(htsFile *fp, enum cram_option opt, ...) { + int r; + va_list args; + + if (fp->format.format != cram) + return 0; + + va_start(args, opt); + r = cram_set_voption(fp->fp.cram, opt, args); + va_end(args); + + return r; +} + +int hts_set_threads(htsFile *fp, int n) +{ + if (fp->format.compression == bgzf) { + return bgzf_mt(fp->fp.bgzf, n, 256); + } else if (fp->format.format == cram) { + return hts_set_opt(fp, CRAM_OPT_NTHREADS, n); + } + else return 0; +} + +int hts_set_fai_filename(htsFile *fp, const char *fn_aux) +{ + free(fp->fn_aux); + if (fn_aux) { + fp->fn_aux = strdup(fn_aux); + if (fp->fn_aux == NULL) return -1; + } + else fp->fn_aux = NULL; + + if (fp->format.format == cram) + cram_set_option(fp->fp.cram, CRAM_OPT_REFERENCE, fp->fn_aux); + + return 0; +} + +// For VCF/BCF backward sweeper. Not exposing these functions because their +// future is uncertain. Things will probably have to change with hFILE... +BGZF *hts_get_bgzfp(htsFile *fp) +{ + if ( fp->is_bin ) + return fp->fp.bgzf; + else + return ((kstream_t*)fp->fp.voidp)->f; +} +int hts_useek(htsFile *fp, long uoffset, int where) +{ + if ( fp->is_bin ) + return bgzf_useek(fp->fp.bgzf, uoffset, where); + else + { + ks_rewind((kstream_t*)fp->fp.voidp); + ((kstream_t*)fp->fp.voidp)->seek_pos = uoffset; + return bgzf_useek(((kstream_t*)fp->fp.voidp)->f, uoffset, where); + } +} +long hts_utell(htsFile *fp) +{ + if ( fp->is_bin ) + return bgzf_utell(fp->fp.bgzf); + else + return ((kstream_t*)fp->fp.voidp)->seek_pos; +} + +int hts_getline(htsFile *fp, int delimiter, kstring_t *str) +{ + int ret, dret; + ret = ks_getuntil((kstream_t*)fp->fp.voidp, delimiter, str, &dret); + ++fp->lineno; + return ret; +} + +char **hts_readlist(const char *string, int is_file, int *_n) +{ + int m = 0, n = 0, dret; + char **s = 0; + if ( is_file ) + { +#if KS_BGZF + BGZF *fp = bgzf_open(string, "r"); +#else + gzFile fp = gzopen(string, "r"); +#endif + if ( !fp ) return NULL; + + kstream_t *ks; + kstring_t str; + str.s = 0; str.l = str.m = 0; + ks = ks_init(fp); + while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) + { + if (str.l == 0) continue; + n++; + hts_expand(char*,n,m,s); + s[n-1] = strdup(str.s); + } + ks_destroy(ks); +#if KS_BGZF + bgzf_close(fp); +#else + gzclose(fp); +#endif + free(str.s); + } + else + { + const char *q = string, *p = string; + while ( 1 ) + { + if (*p == ',' || *p == 0) + { + n++; + hts_expand(char*,n,m,s); + s[n-1] = (char*)calloc(p - q + 1, 1); + strncpy(s[n-1], q, p - q); + q = p + 1; + } + if ( !*p ) break; + p++; + } + } + s = (char**)realloc(s, n * sizeof(char*)); + *_n = n; + return s; +} + +char **hts_readlines(const char *fn, int *_n) +{ + int m = 0, n = 0, dret; + char **s = 0; +#if KS_BGZF + BGZF *fp = bgzf_open(fn, "r"); +#else + gzFile fp = gzopen(fn, "r"); +#endif + if ( fp ) { // read from file + kstream_t *ks; + kstring_t str; + str.s = 0; str.l = str.m = 0; + ks = ks_init(fp); + while (ks_getuntil(ks, KS_SEP_LINE, &str, &dret) >= 0) { + if (str.l == 0) continue; + if (m == n) { + m = m? m<<1 : 16; + s = (char**)realloc(s, m * sizeof(char*)); + } + s[n++] = strdup(str.s); + } + ks_destroy(ks); + #if KS_BGZF + bgzf_close(fp); + #else + gzclose(fp); + #endif + s = (char**)realloc(s, n * sizeof(char*)); + free(str.s); + } else if (*fn == ':') { // read from string + const char *q, *p; + for (q = p = fn + 1;; ++p) + if (*p == ',' || *p == 0) { + if (m == n) { + m = m? m<<1 : 16; + s = (char**)realloc(s, m * sizeof(char*)); + } + s[n] = (char*)calloc(p - q + 1, 1); + strncpy(s[n++], q, p - q); + q = p + 1; + if (*p == 0) break; + } + } else return 0; + s = (char**)realloc(s, n * sizeof(char*)); + *_n = n; + return s; +} + +// DEPRECATED: To be removed in a future HTSlib release +int hts_file_type(const char *fname) +{ + int len = strlen(fname); + if ( !strcasecmp(".vcf.gz",fname+len-7) ) return FT_VCF_GZ; + if ( !strcasecmp(".vcf",fname+len-4) ) return FT_VCF; + if ( !strcasecmp(".bcf",fname+len-4) ) return FT_BCF_GZ; + if ( !strcmp("-",fname) ) return FT_STDIN; + + hFILE *f = hopen(fname, "r"); + if (f == NULL) return 0; + + htsFormat fmt; + if (hts_detect_format(f, &fmt) < 0) { hclose_abruptly(f); return 0; } + if (hclose(f) < 0) return 0; + + switch (fmt.format) { + case vcf: return (fmt.compression == no_compression)? FT_VCF : FT_VCF_GZ; + case bcf: return (fmt.compression == no_compression)? FT_BCF : FT_BCF_GZ; + default: return 0; + } +} + +/**************** + *** Indexing *** + ****************/ + +#define HTS_MIN_MARKER_DIST 0x10000 + +// Finds the special meta bin +// ((1<<(3 * n_lvls + 3)) - 1) / 7 + 1 +#define META_BIN(idx) ((idx)->n_bins + 1) + +#define pair64_lt(a,b) ((a).u < (b).u) + +#include "htslib/ksort.h" +KSORT_INIT(_off, hts_pair64_t, pair64_lt) + +typedef struct { + int32_t m, n; + uint64_t loff; + hts_pair64_t *list; +} bins_t; + +#include "htslib/khash.h" +KHASH_MAP_INIT_INT(bin, bins_t) +typedef khash_t(bin) bidx_t; + +typedef struct { + int32_t n, m; + uint64_t *offset; +} lidx_t; + +struct __hts_idx_t { + int fmt, min_shift, n_lvls, n_bins; + uint32_t l_meta; + int32_t n, m; + uint64_t n_no_coor; + bidx_t **bidx; + lidx_t *lidx; + uint8_t *meta; + struct { + uint32_t last_bin, save_bin; + int last_coor, last_tid, save_tid, finished; + uint64_t last_off, save_off; + uint64_t off_beg, off_end; + uint64_t n_mapped, n_unmapped; + } z; // keep internal states +}; + +static inline void insert_to_b(bidx_t *b, int bin, uint64_t beg, uint64_t end) +{ + khint_t k; + bins_t *l; + int absent; + k = kh_put(bin, b, bin, &absent); + l = &kh_value(b, k); + if (absent) { + l->m = 1; l->n = 0; + l->list = (hts_pair64_t*)calloc(l->m, sizeof(hts_pair64_t)); + } + if (l->n == l->m) { + l->m <<= 1; + l->list = (hts_pair64_t*)realloc(l->list, l->m * sizeof(hts_pair64_t)); + } + l->list[l->n].u = beg; + l->list[l->n++].v = end; +} + +static inline void insert_to_l(lidx_t *l, int64_t _beg, int64_t _end, uint64_t offset, int min_shift) +{ + int i, beg, end; + beg = _beg >> min_shift; + end = (_end - 1) >> min_shift; + if (l->m < end + 1) { + int old_m = l->m; + l->m = end + 1; + kroundup32(l->m); + l->offset = (uint64_t*)realloc(l->offset, l->m * sizeof(uint64_t)); + memset(l->offset + old_m, 0xff, 8 * (l->m - old_m)); // fill l->offset with (uint64_t)-1 + } + if (beg == end) { // to save a loop in this case + if (l->offset[beg] == (uint64_t)-1) l->offset[beg] = offset; + } else { + for (i = beg; i <= end; ++i) + if (l->offset[i] == (uint64_t)-1) l->offset[i] = offset; + } + if (l->n < end + 1) l->n = end + 1; +} + +hts_idx_t *hts_idx_init(int n, int fmt, uint64_t offset0, int min_shift, int n_lvls) +{ + hts_idx_t *idx; + idx = (hts_idx_t*)calloc(1, sizeof(hts_idx_t)); + if (idx == NULL) return NULL; + idx->fmt = fmt; + idx->min_shift = min_shift; + idx->n_lvls = n_lvls; + idx->n_bins = ((1<<(3 * n_lvls + 3)) - 1) / 7; + idx->z.save_bin = idx->z.save_tid = idx->z.last_tid = idx->z.last_bin = 0xffffffffu; + idx->z.save_off = idx->z.last_off = idx->z.off_beg = idx->z.off_end = offset0; + idx->z.last_coor = 0xffffffffu; + if (n) { + idx->n = idx->m = n; + idx->bidx = (bidx_t**)calloc(n, sizeof(bidx_t*)); + if (idx->bidx == NULL) { free(idx); return NULL; } + idx->lidx = (lidx_t*) calloc(n, sizeof(lidx_t)); + if (idx->lidx == NULL) { free(idx->bidx); free(idx); return NULL; } + } + return idx; +} + +static void update_loff(hts_idx_t *idx, int i, int free_lidx) +{ + bidx_t *bidx = idx->bidx[i]; + lidx_t *lidx = &idx->lidx[i]; + khint_t k; + int l; + uint64_t offset0 = 0; + if (bidx) { + k = kh_get(bin, bidx, META_BIN(idx)); + if (k != kh_end(bidx)) + offset0 = kh_val(bidx, k).list[0].u; + for (l = 0; l < lidx->n && lidx->offset[l] == (uint64_t)-1; ++l) + lidx->offset[l] = offset0; + } else l = 1; + for (; l < lidx->n; ++l) // fill missing values + if (lidx->offset[l] == (uint64_t)-1) + lidx->offset[l] = lidx->offset[l-1]; + if (bidx == 0) return; + for (k = kh_begin(bidx); k != kh_end(bidx); ++k) // set loff + if (kh_exist(bidx, k)) + { + if ( kh_key(bidx, k) < idx->n_bins ) + { + int bot_bin = hts_bin_bot(kh_key(bidx, k), idx->n_lvls); + // disable linear index if bot_bin out of bounds + kh_val(bidx, k).loff = bot_bin < lidx->n ? lidx->offset[bot_bin] : 0; + } + else + kh_val(bidx, k).loff = 0; + } + if (free_lidx) { + free(lidx->offset); + lidx->m = lidx->n = 0; + lidx->offset = 0; + } +} + +static void compress_binning(hts_idx_t *idx, int i) +{ + bidx_t *bidx = idx->bidx[i]; + khint_t k; + int l, m; + if (bidx == 0) return; + // merge a bin to its parent if the bin is too small + for (l = idx->n_lvls; l > 0; --l) { + unsigned start = hts_bin_first(l); + for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { + bins_t *p, *q; + if (!kh_exist(bidx, k) || kh_key(bidx, k) >= idx->n_bins || kh_key(bidx, k) < start) continue; + p = &kh_value(bidx, k); + if (l < idx->n_lvls && p->n > 1) ks_introsort(_off, p->n, p->list); + if ((p->list[p->n - 1].v>>16) - (p->list[0].u>>16) < HTS_MIN_MARKER_DIST) { + khint_t kp; + kp = kh_get(bin, bidx, hts_bin_parent(kh_key(bidx, k))); + if (kp == kh_end(bidx)) continue; + q = &kh_val(bidx, kp); + if (q->n + p->n > q->m) { + q->m = q->n + p->n; + kroundup32(q->m); + q->list = (hts_pair64_t*)realloc(q->list, q->m * sizeof(hts_pair64_t)); + } + memcpy(q->list + q->n, p->list, p->n * sizeof(hts_pair64_t)); + q->n += p->n; + free(p->list); + kh_del(bin, bidx, k); + } + } + } + k = kh_get(bin, bidx, 0); + if (k != kh_end(bidx)) ks_introsort(_off, kh_val(bidx, k).n, kh_val(bidx, k).list); + // merge adjacent chunks that start from the same BGZF block + for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { + bins_t *p; + if (!kh_exist(bidx, k) || kh_key(bidx, k) >= idx->n_bins) continue; + p = &kh_value(bidx, k); + for (l = 1, m = 0; l < p->n; ++l) { + if (p->list[m].v>>16 >= p->list[l].u>>16) { + if (p->list[m].v < p->list[l].v) p->list[m].v = p->list[l].v; + } else p->list[++m] = p->list[l]; + } + p->n = m + 1; + } +} + +void hts_idx_finish(hts_idx_t *idx, uint64_t final_offset) +{ + int i; + if (idx == NULL || idx->z.finished) return; // do not run this function on an empty index or multiple times + if (idx->z.save_tid >= 0) { + insert_to_b(idx->bidx[idx->z.save_tid], idx->z.save_bin, idx->z.save_off, final_offset); + insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.off_beg, final_offset); + insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.n_mapped, idx->z.n_unmapped); + } + for (i = 0; i < idx->n; ++i) { + update_loff(idx, i, (idx->fmt == HTS_FMT_CSI)); + compress_binning(idx, i); + } + idx->z.finished = 1; +} + +int hts_idx_push(hts_idx_t *idx, int tid, int beg, int end, uint64_t offset, int is_mapped) +{ + int bin; + if (tid<0) beg = -1, end = 0; + if (tid >= idx->m) { // enlarge the index + int32_t oldm = idx->m; + idx->m = idx->m? idx->m<<1 : 2; + idx->bidx = (bidx_t**)realloc(idx->bidx, idx->m * sizeof(bidx_t*)); + idx->lidx = (lidx_t*) realloc(idx->lidx, idx->m * sizeof(lidx_t)); + memset(&idx->bidx[oldm], 0, (idx->m - oldm) * sizeof(bidx_t*)); + memset(&idx->lidx[oldm], 0, (idx->m - oldm) * sizeof(lidx_t)); + } + if (idx->n < tid + 1) idx->n = tid + 1; + if (idx->z.finished) return 0; + if (idx->z.last_tid != tid || (idx->z.last_tid >= 0 && tid < 0)) { // change of chromosome + if ( tid>=0 && idx->n_no_coor ) + { + if (hts_verbose >= 1) fprintf(stderr,"[E::%s] NO_COOR reads not in a single block at the end %d %d\n", __func__, tid,idx->z.last_tid); + return -1; + } + if (tid>=0 && idx->bidx[tid] != 0) + { + if (hts_verbose >= 1) fprintf(stderr, "[E::%s] chromosome blocks not continuous\n", __func__); + return -1; + } + idx->z.last_tid = tid; + idx->z.last_bin = 0xffffffffu; + } else if (tid >= 0 && idx->z.last_coor > beg) { // test if positions are out of order + if (hts_verbose >= 1) fprintf(stderr, "[E::%s] unsorted positions\n", __func__); + return -1; + } + if ( tid>=0 ) + { + if (idx->bidx[tid] == 0) idx->bidx[tid] = kh_init(bin); + if ( is_mapped) + insert_to_l(&idx->lidx[tid], beg, end, idx->z.last_off, idx->min_shift); // last_off points to the start of the current record + } + else idx->n_no_coor++; + bin = hts_reg2bin(beg, end, idx->min_shift, idx->n_lvls); + if ((int)idx->z.last_bin != bin) { // then possibly write the binning index + if (idx->z.save_bin != 0xffffffffu) // save_bin==0xffffffffu only happens to the first record + insert_to_b(idx->bidx[idx->z.save_tid], idx->z.save_bin, idx->z.save_off, idx->z.last_off); + if (idx->z.last_bin == 0xffffffffu && idx->z.save_bin != 0xffffffffu) { // change of chr; keep meta information + idx->z.off_end = idx->z.last_off; + insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.off_beg, idx->z.off_end); + insert_to_b(idx->bidx[idx->z.save_tid], META_BIN(idx), idx->z.n_mapped, idx->z.n_unmapped); + idx->z.n_mapped = idx->z.n_unmapped = 0; + idx->z.off_beg = idx->z.off_end; + } + idx->z.save_off = idx->z.last_off; + idx->z.save_bin = idx->z.last_bin = bin; + idx->z.save_tid = tid; + } + if (is_mapped) ++idx->z.n_mapped; + else ++idx->z.n_unmapped; + idx->z.last_off = offset; + idx->z.last_coor = beg; + return 0; +} + +void hts_idx_destroy(hts_idx_t *idx) +{ + khint_t k; + int i; + if (idx == 0) return; + // For HTS_FMT_CRAI, idx actually points to a different type -- see sam.c + if (idx->fmt == HTS_FMT_CRAI) { free(idx); return; } + + for (i = 0; i < idx->m; ++i) { + bidx_t *bidx = idx->bidx[i]; + free(idx->lidx[i].offset); + if (bidx == 0) continue; + for (k = kh_begin(bidx); k != kh_end(bidx); ++k) + if (kh_exist(bidx, k)) + free(kh_value(bidx, k).list); + kh_destroy(bin, bidx); + } + free(idx->bidx); free(idx->lidx); free(idx->meta); + free(idx); +} + +static inline long idx_read(int is_bgzf, void *fp, void *buf, long l) +{ + if (is_bgzf) return bgzf_read((BGZF*)fp, buf, l); + else return (long)fread(buf, 1, l, (FILE*)fp); +} + +static inline long idx_write(int is_bgzf, void *fp, const void *buf, long l) +{ + if (is_bgzf) return bgzf_write((BGZF*)fp, buf, l); + else return (long)fwrite(buf, 1, l, (FILE*)fp); +} + +static inline void swap_bins(bins_t *p) +{ + int i; + for (i = 0; i < p->n; ++i) { + ed_swap_8p(&p->list[i].u); + ed_swap_8p(&p->list[i].v); + } +} + +static void hts_idx_save_core(const hts_idx_t *idx, void *fp, int fmt) +{ + int32_t i, size, is_be; + int is_bgzf = (fmt != HTS_FMT_BAI); + is_be = ed_is_big(); + if (is_be) { + uint32_t x = idx->n; + idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); + } else idx_write(is_bgzf, fp, &idx->n, 4); + if (fmt == HTS_FMT_TBI && idx->l_meta) idx_write(is_bgzf, fp, idx->meta, idx->l_meta); + for (i = 0; i < idx->n; ++i) { + khint_t k; + bidx_t *bidx = idx->bidx[i]; + lidx_t *lidx = &idx->lidx[i]; + // write binning index + size = bidx? kh_size(bidx) : 0; + if (is_be) { // big endian + uint32_t x = size; + idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); + } else idx_write(is_bgzf, fp, &size, 4); + if (bidx == 0) goto write_lidx; + for (k = kh_begin(bidx); k != kh_end(bidx); ++k) { + bins_t *p; + if (!kh_exist(bidx, k)) continue; + p = &kh_value(bidx, k); + if (is_be) { // big endian + uint32_t x; + x = kh_key(bidx, k); idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); + if (fmt == HTS_FMT_CSI) { + uint64_t y = kh_val(bidx, k).loff; + idx_write(is_bgzf, fp, ed_swap_4p(&y), 8); + } + x = p->n; idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); + swap_bins(p); + idx_write(is_bgzf, fp, p->list, 16 * p->n); + swap_bins(p); + } else { + idx_write(is_bgzf, fp, &kh_key(bidx, k), 4); + if (fmt == HTS_FMT_CSI) idx_write(is_bgzf, fp, &kh_val(bidx, k).loff, 8); + //int j;for(j=0;jn;++j)fprintf(stderr,"%d,%llx,%d,%llx:%llx\n",kh_key(bidx,k),kh_val(bidx, k).loff,j,p->list[j].u,p->list[j].v); + idx_write(is_bgzf, fp, &p->n, 4); + idx_write(is_bgzf, fp, p->list, p->n << 4); + } + } +write_lidx: + if (fmt != HTS_FMT_CSI) { + if (is_be) { + int32_t x = lidx->n; + idx_write(is_bgzf, fp, ed_swap_4p(&x), 4); + for (x = 0; x < lidx->n; ++x) ed_swap_8p(&lidx->offset[x]); + idx_write(is_bgzf, fp, lidx->offset, lidx->n << 3); + for (x = 0; x < lidx->n; ++x) ed_swap_8p(&lidx->offset[x]); + } else { + idx_write(is_bgzf, fp, &lidx->n, 4); + idx_write(is_bgzf, fp, lidx->offset, lidx->n << 3); + } + } + } + if (is_be) { // write the number of reads without coordinates + uint64_t x = idx->n_no_coor; + idx_write(is_bgzf, fp, &x, 8); + } else idx_write(is_bgzf, fp, &idx->n_no_coor, 8); +} + +void hts_idx_save(const hts_idx_t *idx, const char *fn, int fmt) +{ + char *fnidx; + fnidx = (char*)calloc(1, strlen(fn) + 5); + strcpy(fnidx, fn); + if (fmt == HTS_FMT_CSI) { + BGZF *fp; + uint32_t x[3]; + int is_be, i; + is_be = ed_is_big(); + fp = bgzf_open(strcat(fnidx, ".csi"), "w"); + bgzf_write(fp, "CSI\1", 4); + x[0] = idx->min_shift; x[1] = idx->n_lvls; x[2] = idx->l_meta; + if (is_be) { + for (i = 0; i < 3; ++i) + bgzf_write(fp, ed_swap_4p(&x[i]), 4); + } else bgzf_write(fp, &x, 12); + if (idx->l_meta) bgzf_write(fp, idx->meta, idx->l_meta); + hts_idx_save_core(idx, fp, HTS_FMT_CSI); + bgzf_close(fp); + } else if (fmt == HTS_FMT_TBI) { + BGZF *fp; + fp = bgzf_open(strcat(fnidx, ".tbi"), "w"); + bgzf_write(fp, "TBI\1", 4); + hts_idx_save_core(idx, fp, HTS_FMT_TBI); + bgzf_close(fp); + } else if (fmt == HTS_FMT_BAI) { + FILE *fp; + fp = fopen(strcat(fnidx, ".bai"), "w"); + fwrite("BAI\1", 1, 4, fp); + hts_idx_save_core(idx, fp, HTS_FMT_BAI); + fclose(fp); + } else abort(); + free(fnidx); +} + +static int hts_idx_load_core(hts_idx_t *idx, void *fp, int fmt) +{ + int32_t i, n, is_be; + int is_bgzf = (fmt != HTS_FMT_BAI); + is_be = ed_is_big(); + if (idx == NULL) return -4; + for (i = 0; i < idx->n; ++i) { + bidx_t *h; + lidx_t *l = &idx->lidx[i]; + uint32_t key; + int j, absent; + bins_t *p; + h = idx->bidx[i] = kh_init(bin); + if (idx_read(is_bgzf, fp, &n, 4) != 4) return -1; + if (is_be) ed_swap_4p(&n); + for (j = 0; j < n; ++j) { + khint_t k; + if (idx_read(is_bgzf, fp, &key, 4) != 4) return -1; + if (is_be) ed_swap_4p(&key); + k = kh_put(bin, h, key, &absent); + if (absent <= 0) return -3; // Duplicate bin number + p = &kh_val(h, k); + if (fmt == HTS_FMT_CSI) { + if (idx_read(is_bgzf, fp, &p->loff, 8) != 8) return -1; + if (is_be) ed_swap_8p(&p->loff); + } else p->loff = 0; + if (idx_read(is_bgzf, fp, &p->n, 4) != 4) return -1; + if (is_be) ed_swap_4p(&p->n); + p->m = p->n; + p->list = (hts_pair64_t*)malloc(p->m * sizeof(hts_pair64_t)); + if (p->list == NULL) return -2; + if (idx_read(is_bgzf, fp, p->list, p->n<<4) != p->n<<4) return -1; + if (is_be) swap_bins(p); + } + if (fmt != HTS_FMT_CSI) { // load linear index + int j; + if (idx_read(is_bgzf, fp, &l->n, 4) != 4) return -1; + if (is_be) ed_swap_4p(&l->n); + l->m = l->n; + l->offset = (uint64_t*)malloc(l->n * sizeof(uint64_t)); + if (l->offset == NULL) return -2; + if (idx_read(is_bgzf, fp, l->offset, l->n << 3) != l->n << 3) return -1; + if (is_be) for (j = 0; j < l->n; ++j) ed_swap_8p(&l->offset[j]); + for (j = 1; j < l->n; ++j) // fill missing values; may happen given older samtools and tabix + if (l->offset[j] == 0) l->offset[j] = l->offset[j-1]; + update_loff(idx, i, 1); + } + } + if (idx_read(is_bgzf, fp, &idx->n_no_coor, 8) != 8) idx->n_no_coor = 0; + if (is_be) ed_swap_8p(&idx->n_no_coor); + return 0; +} + +hts_idx_t *hts_idx_load_local(const char *fn, int fmt) +{ + uint8_t magic[4]; + int i, is_be; + hts_idx_t *idx = NULL; + is_be = ed_is_big(); + if (fmt == HTS_FMT_CSI) { + BGZF *fp; + uint32_t x[3], n; + uint8_t *meta = 0; + if ((fp = bgzf_open(fn, "r")) == 0) return NULL; + if (bgzf_read(fp, magic, 4) != 4) goto csi_fail; + if (memcmp(magic, "CSI\1", 4) != 0) goto csi_fail; + if (bgzf_read(fp, x, 12) != 12) goto csi_fail; + if (is_be) for (i = 0; i < 3; ++i) ed_swap_4p(&x[i]); + if (x[2]) { + if ((meta = (uint8_t*)malloc(x[2])) == NULL) goto csi_fail; + if (bgzf_read(fp, meta, x[2]) != x[2]) goto csi_fail; + } + if (bgzf_read(fp, &n, 4) != 4) goto csi_fail; + if (is_be) ed_swap_4p(&n); + if ((idx = hts_idx_init(n, fmt, 0, x[0], x[1])) == NULL) goto csi_fail; + idx->l_meta = x[2]; + idx->meta = meta; + meta = NULL; + if (hts_idx_load_core(idx, fp, HTS_FMT_CSI) < 0) goto csi_fail; + bgzf_close(fp); + return idx; + + csi_fail: + bgzf_close(fp); + hts_idx_destroy(idx); + free(meta); + return NULL; + + } else if (fmt == HTS_FMT_TBI) { + BGZF *fp; + uint32_t x[8]; + if ((fp = bgzf_open(fn, "r")) == 0) return NULL; + if (bgzf_read(fp, magic, 4) != 4) goto tbi_fail; + if (memcmp(magic, "TBI\1", 4) != 0) goto tbi_fail; + if (bgzf_read(fp, x, 32) != 32) goto tbi_fail; + if (is_be) for (i = 0; i < 8; ++i) ed_swap_4p(&x[i]); + if ((idx = hts_idx_init(x[0], fmt, 0, 14, 5)) == NULL) goto tbi_fail; + idx->l_meta = 28 + x[7]; + if ((idx->meta = (uint8_t*)malloc(idx->l_meta)) == NULL) goto tbi_fail; + memcpy(idx->meta, &x[1], 28); + if (bgzf_read(fp, idx->meta + 28, x[7]) != x[7]) goto tbi_fail; + if (hts_idx_load_core(idx, fp, HTS_FMT_TBI) < 0) goto tbi_fail; + bgzf_close(fp); + return idx; + + tbi_fail: + bgzf_close(fp); + hts_idx_destroy(idx); + return NULL; + + } else if (fmt == HTS_FMT_BAI) { + uint32_t n; + FILE *fp; + if ((fp = fopen(fn, "rb")) == 0) return NULL; + if (fread(magic, 1, 4, fp) != 4) goto bai_fail; + if (memcmp(magic, "BAI\1", 4) != 0) goto bai_fail; + if (fread(&n, 4, 1, fp) != 1) goto bai_fail; + if (is_be) ed_swap_4p(&n); + idx = hts_idx_init(n, fmt, 0, 14, 5); + if (hts_idx_load_core(idx, fp, HTS_FMT_BAI) < 0) goto bai_fail; + fclose(fp); + return idx; + + bai_fail: + fclose(fp); + hts_idx_destroy(idx); + return NULL; + + } else abort(); +} + +void hts_idx_set_meta(hts_idx_t *idx, int l_meta, uint8_t *meta, int is_copy) +{ + if (idx->meta) free(idx->meta); + idx->l_meta = l_meta; + if (is_copy) { + idx->meta = (uint8_t*)malloc(l_meta); + memcpy(idx->meta, meta, l_meta); + } else idx->meta = meta; +} + +uint8_t *hts_idx_get_meta(hts_idx_t *idx, int *l_meta) +{ + *l_meta = idx->l_meta; + return idx->meta; +} + +const char **hts_idx_seqnames(const hts_idx_t *idx, int *n, hts_id2name_f getid, void *hdr) +{ + if ( !idx->n ) + { + *n = 0; + return NULL; + } + + int tid = 0, i; + const char **names = (const char**) calloc(idx->n,sizeof(const char*)); + for (i=0; in; i++) + { + bidx_t *bidx = idx->bidx[i]; + if ( !bidx ) continue; + names[tid++] = getid(hdr,i); + } + *n = tid; + return names; +} + +int hts_idx_get_stat(const hts_idx_t* idx, int tid, uint64_t* mapped, uint64_t* unmapped) +{ + if ( idx->fmt == HTS_FMT_CRAI ) { + *mapped = 0; *unmapped = 0; + return -1; + } + + bidx_t *h = idx->bidx[tid]; + khint_t k = kh_get(bin, h, META_BIN(idx)); + if (k != kh_end(h)) { + *mapped = kh_val(h, k).list[1].u; + *unmapped = kh_val(h, k).list[1].v; + return 0; + } else { + *mapped = 0; *unmapped = 0; + return -1; + } +} + +uint64_t hts_idx_get_n_no_coor(const hts_idx_t* idx) +{ + return idx->n_no_coor; +} + +/**************** + *** Iterator *** + ****************/ + +static inline int reg2bins(int64_t beg, int64_t end, hts_itr_t *itr, int min_shift, int n_lvls) +{ + int l, t, s = min_shift + (n_lvls<<1) + n_lvls; + if (beg >= end) return 0; + if (end >= 1LL<>s); e = t + (end>>s); n = e - b + 1; + if (itr->bins.n + n > itr->bins.m) { + itr->bins.m = itr->bins.n + n; + kroundup32(itr->bins.m); + itr->bins.a = (int*)realloc(itr->bins.a, sizeof(int) * itr->bins.m); + } + for (i = b; i <= e; ++i) itr->bins.a[itr->bins.n++] = i; + } + return itr->bins.n; +} + +hts_itr_t *hts_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec) +{ + int i, n_off, l, bin; + hts_pair64_t *off; + khint_t k; + bidx_t *bidx; + uint64_t min_off; + hts_itr_t *iter = 0; + if (tid < 0) { + int finished0 = 0; + uint64_t off0 = (uint64_t)-1; + khint_t k; + switch (tid) { + case HTS_IDX_START: + // Find the smallest offset, note that sequence ids may not be ordered sequentially + for (i=0; in; i++) + { + bidx = idx->bidx[i]; + k = kh_get(bin, bidx, META_BIN(idx)); + if (k == kh_end(bidx)) continue; + if ( off0 > kh_val(bidx, k).list[0].u ) off0 = kh_val(bidx, k).list[0].u; + } + if ( off0==(uint64_t)-1 && idx->n_no_coor ) off0 = 0; // only no-coor reads in this bam + break; + + case HTS_IDX_NOCOOR: + if ( idx->n>0 ) + { + bidx = idx->bidx[idx->n - 1]; + k = kh_get(bin, bidx, META_BIN(idx)); + if (k != kh_end(bidx)) off0 = kh_val(bidx, k).list[0].v; + } + if ( off0==(uint64_t)-1 && idx->n_no_coor ) off0 = 0; // only no-coor reads in this bam + break; + + case HTS_IDX_REST: + off0 = 0; + break; + + case HTS_IDX_NONE: + finished0 = 1; + off0 = 0; + break; + + default: + return 0; + } + if (off0 != (uint64_t)-1) { + iter = (hts_itr_t*)calloc(1, sizeof(hts_itr_t)); + iter->read_rest = 1; + iter->finished = finished0; + iter->curr_off = off0; + iter->readrec = readrec; + return iter; + } else return 0; + } + + if (beg < 0) beg = 0; + if (end < beg) return 0; + if (tid >= idx->n || (bidx = idx->bidx[tid]) == NULL) return 0; + + iter = (hts_itr_t*)calloc(1, sizeof(hts_itr_t)); + iter->tid = tid, iter->beg = beg, iter->end = end; iter->i = -1; + iter->readrec = readrec; + + // compute min_off + bin = hts_bin_first(idx->n_lvls) + (beg>>idx->min_shift); + do { + int first; + k = kh_get(bin, bidx, bin); + if (k != kh_end(bidx)) break; + first = (hts_bin_parent(bin)<<3) + 1; + if (bin > first) --bin; + else bin = hts_bin_parent(bin); + } while (bin); + if (bin == 0) k = kh_get(bin, bidx, bin); + min_off = k != kh_end(bidx)? kh_val(bidx, k).loff : 0; + // retrieve bins + reg2bins(beg, end, iter, idx->min_shift, idx->n_lvls); + for (i = n_off = 0; i < iter->bins.n; ++i) + if ((k = kh_get(bin, bidx, iter->bins.a[i])) != kh_end(bidx)) + n_off += kh_value(bidx, k).n; + if (n_off == 0) return iter; + off = (hts_pair64_t*)calloc(n_off, sizeof(hts_pair64_t)); + for (i = n_off = 0; i < iter->bins.n; ++i) { + if ((k = kh_get(bin, bidx, iter->bins.a[i])) != kh_end(bidx)) { + int j; + bins_t *p = &kh_value(bidx, k); + for (j = 0; j < p->n; ++j) + if (p->list[j].v > min_off) off[n_off++] = p->list[j]; + } + } + if (n_off == 0) { + free(off); return iter; + } + ks_introsort(_off, n_off, off); + // resolve completely contained adjacent blocks + for (i = 1, l = 0; i < n_off; ++i) + if (off[l].v < off[i].v) off[++l] = off[i]; + n_off = l + 1; + // resolve overlaps between adjacent blocks; this may happen due to the merge in indexing + for (i = 1; i < n_off; ++i) + if (off[i-1].v >= off[i].u) off[i-1].v = off[i].u; + // merge adjacent blocks + for (i = 1, l = 0; i < n_off; ++i) { + if (off[l].v>>16 == off[i].u>>16) off[l].v = off[i].v; + else off[++l] = off[i]; + } + n_off = l + 1; + iter->n_off = n_off; iter->off = off; + return iter; +} + +void hts_itr_destroy(hts_itr_t *iter) +{ + if (iter) { free(iter->off); free(iter->bins.a); free(iter); } +} + +const char *hts_parse_reg(const char *s, int *beg, int *end) +{ + int i, k, l, name_end; + *beg = *end = -1; + name_end = l = strlen(s); + // determine the sequence name + for (i = l - 1; i >= 0; --i) if (s[i] == ':') break; // look for colon from the end + if (i >= 0) name_end = i; + if (name_end < l) { // check if this is really the end + int n_hyphen = 0; + for (i = name_end + 1; i < l; ++i) { + if (s[i] == '-') ++n_hyphen; + else if (!isdigit(s[i]) && s[i] != ',') break; + } + if (i < l || n_hyphen > 1) name_end = l; // malformated region string; then take str as the name + } + // parse the interval + if (name_end < l) { + char *tmp; + tmp = (char*)alloca(l - name_end + 1); + for (i = name_end + 1, k = 0; i < l; ++i) + if (s[i] != ',') tmp[k++] = s[i]; + tmp[k] = 0; + if ((*beg = strtol(tmp, &tmp, 10) - 1) < 0) *beg = 0; + *end = *tmp? strtol(tmp + 1, &tmp, 10) : INT_MAX; + if (*beg > *end) name_end = l; + } + if (name_end == l) *beg = 0, *end = INT_MAX; + return s + name_end; +} + +hts_itr_t *hts_itr_querys(const hts_idx_t *idx, const char *reg, hts_name2id_f getid, void *hdr, hts_itr_query_func *itr_query, hts_readrec_func *readrec) +{ + int tid, beg, end; + char *q, *tmp; + if (strcmp(reg, ".") == 0) + return itr_query(idx, HTS_IDX_START, 0, 0, readrec); + else if (strcmp(reg, "*") != 0) { + q = (char*)hts_parse_reg(reg, &beg, &end); + tmp = (char*)alloca(q - reg + 1); + strncpy(tmp, reg, q - reg); + tmp[q - reg] = 0; + if ((tid = getid(hdr, tmp)) < 0) + tid = getid(hdr, reg); + if (tid < 0) return 0; + return itr_query(idx, tid, beg, end, readrec); + } else return itr_query(idx, HTS_IDX_NOCOOR, 0, 0, readrec); +} + +int hts_itr_next(BGZF *fp, hts_itr_t *iter, void *r, void *data) +{ + int ret, tid, beg, end; + if (iter == NULL || iter->finished) return -1; + if (iter->read_rest) { + if (iter->curr_off) { // seek to the start + bgzf_seek(fp, iter->curr_off, SEEK_SET); + iter->curr_off = 0; // only seek once + } + ret = iter->readrec(fp, data, r, &tid, &beg, &end); + if (ret < 0) iter->finished = 1; + iter->curr_tid = tid; + iter->curr_beg = beg; + iter->curr_end = end; + return ret; + } + if (iter->off == 0) return -1; + for (;;) { + if (iter->curr_off == 0 || iter->curr_off >= iter->off[iter->i].v) { // then jump to the next chunk + if (iter->i == iter->n_off - 1) { ret = -1; break; } // no more chunks + if (iter->i < 0 || iter->off[iter->i].v != iter->off[iter->i+1].u) { // not adjacent chunks; then seek + bgzf_seek(fp, iter->off[iter->i+1].u, SEEK_SET); + iter->curr_off = bgzf_tell(fp); + } + ++iter->i; + } + if ((ret = iter->readrec(fp, data, r, &tid, &beg, &end)) >= 0) { + iter->curr_off = bgzf_tell(fp); + if (tid != iter->tid || beg >= iter->end) { // no need to proceed + ret = -1; break; + } else if (end > iter->beg && iter->end > beg) { + iter->curr_tid = tid; + iter->curr_beg = beg; + iter->curr_end = end; + return ret; + } + } else break; // end of file or error + } + iter->finished = 1; + return ret; +} + +/********************** + *** Retrieve index *** + **********************/ + +static char *test_and_fetch(const char *fn) +{ + FILE *fp; + if (hisremote(fn)) { + const int buf_size = 1 * 1024 * 1024; + hFILE *fp_remote; + uint8_t *buf; + int l; + const char *p; + for (p = fn + strlen(fn) - 1; p >= fn; --p) + if (*p == '/') break; + ++p; // p now points to the local file name + // Attempt to open local file first + if ((fp = fopen((char*)p, "rb")) != 0) + { + fclose(fp); + return (char*)p; + } + // Attempt to open remote file. Stay quiet on failure, it is OK to fail when trying first .csi then .tbi index. + if ((fp_remote = hopen(fn, "r")) == 0) return 0; + if ((fp = fopen(p, "w")) == 0) { + if (hts_verbose >= 1) fprintf(stderr, "[E::%s] fail to create file '%s' in the working directory\n", __func__, p); + hclose_abruptly(fp_remote); + return 0; + } + if (hts_verbose >= 3) fprintf(stderr, "[M::%s] downloading file '%s' to local directory\n", __func__, fn); + buf = (uint8_t*)calloc(buf_size, 1); + while ((l = hread(fp_remote, buf, buf_size)) > 0) fwrite(buf, 1, l, fp); + free(buf); + fclose(fp); + if (hclose(fp_remote) != 0) fprintf(stderr, "[E::%s] fail to close remote file '%s'\n", __func__, fn); + return (char*)p; + } else { + if ((fp = fopen(fn, "rb")) == 0) return 0; + fclose(fp); + return (char*)fn; + } +} + +char *hts_idx_getfn(const char *fn, const char *ext) +{ + int i, l_fn, l_ext; + char *fnidx, *ret; + l_fn = strlen(fn); l_ext = strlen(ext); + fnidx = (char*)calloc(l_fn + l_ext + 1, 1); + strcpy(fnidx, fn); strcpy(fnidx + l_fn, ext); + if ((ret = test_and_fetch(fnidx)) == 0) { + for (i = l_fn - 1; i > 0; --i) + if (fnidx[i] == '.') break; + strcpy(fnidx + i, ext); + ret = test_and_fetch(fnidx); + } + if (ret == 0) { + free(fnidx); + return 0; + } + l_fn = strlen(ret); + memmove(fnidx, ret, l_fn + 1); + return fnidx; +} + +hts_idx_t *hts_idx_load(const char *fn, int fmt) +{ + char *fnidx; + hts_idx_t *idx; + fnidx = hts_idx_getfn(fn, ".csi"); + if (fnidx) fmt = HTS_FMT_CSI; + else fnidx = hts_idx_getfn(fn, fmt == HTS_FMT_BAI? ".bai" : ".tbi"); + if (fnidx == 0) return 0; + + // Check that the index file is up to date, the main file might have changed + struct stat stat_idx,stat_main; + if ( !stat(fn, &stat_main) && !stat(fnidx, &stat_idx) ) + { + if ( stat_idx.st_mtime < stat_main.st_mtime ) + fprintf(stderr, "Warning: The index file is older than the data file: %s\n", fnidx); + } + idx = hts_idx_load_local(fnidx, fmt); + free(fnidx); + return idx; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htsfile.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htsfile.1 Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,71 @@ +.TH htsfile 1 "3 February 2015" "htslib-1.2.1" "Bioinformatics tools" +.SH NAME +htsfile \- identify high-throughput sequencing data files +.\" +.\" Copyright (C) 2015 Genome Research Ltd. +.\" +.\" Author: John Marshall +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software is furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" +.SH SYNOPSIS +.B htsfile +.RB [ -chH ] +.IR FILE ... +.SH DESCRIPTION +The \fBhtsfile\fR utility attempts to identify what kind of high-throughput +sequencing data files the specified files are, and provides minimal viewing +capabilities for some kinds of data file. +.P +It can identify sequencing data files such as SAM, BAM, and CRAM; +variant calling data files such as VCF and BCF; +index files used to index these data files; +and compressed versions of many of them. +.P +For each \fIFILE\fR given, \fBhtsfile\fP prints a description of the file +format determined, using similar keyword conventions to \fBfile\fP(1): +"text" indicates a textual file that can probably be viewed on a terminal; +"data" indicates binary data; +"sequence", "variant calling", and "index" indicate different categories of +data file. +When it can be identified, the name of the particular file format (such as +"BAM" or "VCF") is printed at the start of the description. +.P +When used to view file contents as text, \fBhtsfile\fP can optionally show +only headers or only data records, but has no other filtering capabilities. +Use \fBsamtools\fR or \fBbcftools\fR if you need more extensive viewing or +filtering capabilities. +.P +The following options are accepted: +.TP 4n +.BR -c ", " --view +Instead of identifying the specified files, display a textual representation +of their contents on standard output. +.TP +.BR -h ", " --header-only +Display data file headers only. +Implies \fB--view\fR. +.TP +.BR -H ", " --no-header +When viewing files, display data records only. +.PP +.SH SEE ALSO +.IR bcftools (1), +.IR file (1), +.IR samtools (1) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htsfile.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htsfile.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,168 @@ +/* htsfile.c -- file identifier and minimal viewer. + + Copyright (C) 2014-2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include + +#include "htslib/hfile.h" +#include "htslib/hts.h" +#include "htslib/sam.h" +#include "htslib/vcf.h" + +enum { identify, view_headers, view_all } mode = identify; +int show_headers = 1; + +static htsFile *dup_stdout(const char *mode) +{ + int fd = dup(STDOUT_FILENO); + hFILE *hfp = (fd >= 0)? hdopen(fd, mode) : NULL; + return hfp? hts_hopen(hfp, "-", mode) : NULL; +} + +static int view_sam(hFILE *hfp, const char *filename) +{ + samFile *in = hts_hopen(hfp, filename, "r"); + if (in == NULL) return 0; + samFile *out = dup_stdout("w"); + bam_hdr_t *hdr = sam_hdr_read(in); + + if (show_headers) sam_hdr_write(out, hdr); + if (mode == view_all) { + bam1_t *b = bam_init1(); + while (sam_read1(in, hdr, b) >= 0) + sam_write1(out, hdr, b); + bam_destroy1(b); + } + + bam_hdr_destroy(hdr); + hts_close(out); + hts_close(in); + return 1; +} + +static int view_vcf(hFILE *hfp, const char *filename) +{ + vcfFile *in = hts_hopen(hfp, filename, "r"); + if (in == NULL) return 0; + vcfFile *out = dup_stdout("w"); + bcf_hdr_t *hdr = bcf_hdr_read(in); + + if (show_headers) bcf_hdr_write(out, hdr); + if (mode == view_all) { + bcf1_t *rec = bcf_init(); + while (bcf_read(in, hdr, rec) >= 0) + bcf_write(out, hdr, rec); + bcf_destroy(rec); + } + + bcf_hdr_destroy(hdr); + hts_close(out); + hts_close(in); + return 1; +} + +static void usage(FILE *fp, int status) +{ + fprintf(fp, +"Usage: htsfile [-chH] FILE...\n" +"Options:\n" +" -c, --view Write textual form of FILEs to standard output\n" +" -h, --header-only Display only headers in view mode, not records\n" +" -H, --no-header Suppress header display in view mode\n"); + exit(status); +} + +int main(int argc, char **argv) +{ + static const struct option options[] = { + { "header-only", no_argument, NULL, 'h' }, + { "no-header", no_argument, NULL, 'H' }, + { "view", no_argument, NULL, 'c' }, + { "help", no_argument, NULL, '?' }, + { "version", no_argument, NULL, 1 }, + { NULL, 0, NULL, 0 } + }; + + int status = EXIT_SUCCESS; + int c, i; + while ((c = getopt_long(argc, argv, "chH?", options, NULL)) >= 0) + switch (c) { + case 'c': mode = view_all; break; + case 'h': mode = view_headers; show_headers = 1; break; + case 'H': show_headers = 0; break; + case 1: + printf( +"htsfile (htslib) %s\n" +"Copyright (C) 2015 Genome Research Ltd.\n", + hts_version()); + exit(EXIT_SUCCESS); + break; + case '?': usage(stdout, EXIT_SUCCESS); break; + default: usage(stderr, EXIT_FAILURE); break; + } + + if (optind == argc) usage(stderr, EXIT_FAILURE); + + for (i = optind; i < argc; i++) { + htsFormat fmt; + hFILE *fp = hopen(argv[i], "r"); + if (fp == NULL) { + fprintf(stderr, "htsfile: can't open \"%s\": %s\n", argv[i], strerror(errno)); + status = EXIT_FAILURE; + continue; + } + + if (hts_detect_format(fp, &fmt) < 0) { + fprintf(stderr, "htsfile: detecting \"%s\" format failed: %s\n", argv[i], strerror(errno)); + hclose_abruptly(fp); + status = EXIT_FAILURE; + continue; + } + + if (mode == identify) { + char *description = hts_format_description(&fmt); + printf("%s:\t%s\n", argv[i], description); + free(description); + } + else + switch (fmt.category) { + case sequence_data: if (view_sam(fp, argv[i])) fp = NULL; break; + case variant_data: if (view_vcf(fp, argv[i])) fp = NULL; break; + default: + fprintf(stderr, "htsfile: can't view %s: unknown format\n", argv[i]); + status = EXIT_FAILURE; + break; + } + + if (fp && hclose(fp) < 0) { + fprintf(stderr, "htsfile: closing %s failed\n", argv[i]); + status = EXIT_FAILURE; + } + } + + return status; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib.mk Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,150 @@ +# Makefile rules useful for third-party code using htslib's public API. +# +# Copyright (C) 2013-2015 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# The makefile fragment included below provides variables that can be used +# to express dependencies on headers supplied by an in-development htslib. +# If your source file foo.c #includes and , +# you can write the correct prerequisites for foo.o as: +# +# HTSDIR = +# include $(HTSDIR)/htslib.mk +# +# foo.o: foo.c $(htslib_hts_h) $(HTSDIR)/htslib/kstring.h +# +# Variables are not provided for k*.h, as those never include other headers. + +HTSPREFIX = $(HTSDIR)/ +include $(HTSDIR)/htslib_vars.mk + +# Rules for rebuilding an in-development htslib's static and shared libraries. +# If your program foo links with libhts, adding the appropriate prerequisite +# will cause the library to be rebuilt as necessary: +# +# foo: foo.o $(HTSDIR)/libhts.a +# +# or similarly if your target requires any of the tools supplied: +# +# bar.bed.bgz.tbi: bar.bed.bgz $(HTSDIR)/tabix +# $(HTSDIR)/tabix -p bed bar.bed.bgz + +HTSLIB_PUBLIC_HEADERS = \ + $(HTSDIR)/htslib/bgzf.h \ + $(HTSDIR)/htslib/faidx.h \ + $(HTSDIR)/htslib/hfile.h \ + $(HTSDIR)/htslib/hts.h \ + $(HTSDIR)/htslib/hts_defs.h \ + $(HTSDIR)/htslib/khash.h \ + $(HTSDIR)/htslib/klist.h \ + $(HTSDIR)/htslib/knetfile.h \ + $(HTSDIR)/htslib/kseq.h \ + $(HTSDIR)/htslib/ksort.h \ + $(HTSDIR)/htslib/kstring.h \ + $(HTSDIR)/htslib/regidx.h \ + $(HTSDIR)/htslib/sam.h \ + $(HTSDIR)/htslib/synced_bcf_reader.h \ + $(HTSDIR)/htslib/tbx.h \ + $(HTSDIR)/htslib/vcf.h \ + $(HTSDIR)/htslib/vcf_sweep.h \ + $(HTSDIR)/htslib/vcfutils.h + +HTSLIB_ALL = \ + $(HTSLIB_PUBLIC_HEADERS) \ + $(HTSDIR)/bgzf.c \ + $(HTSDIR)/faidx.c \ + $(HTSDIR)/hfile_internal.h \ + $(HTSDIR)/hfile.c \ + $(HTSDIR)/hfile_irods.c \ + $(HTSDIR)/hfile_net.c \ + $(HTSDIR)/hts.c \ + $(HTSDIR)/knetfile.c \ + $(HTSDIR)/kstring.c \ + $(HTSDIR)/regidx.c \ + $(HTSDIR)/sam.c \ + $(HTSDIR)/synced_bcf_reader.c \ + $(HTSDIR)/tbx.c \ + $(HTSDIR)/vcf.c \ + $(HTSDIR)/vcf_sweep.c \ + $(HTSDIR)/vcfutils.c \ + $(HTSDIR)/cram/cram.h \ + $(HTSDIR)/cram/cram_codecs.c \ + $(HTSDIR)/cram/cram_codecs.h \ + $(HTSDIR)/cram/cram_decode.c \ + $(HTSDIR)/cram/cram_decode.h \ + $(HTSDIR)/cram/cram_encode.c \ + $(HTSDIR)/cram/cram_encode.h \ + $(HTSDIR)/cram/cram_index.c \ + $(HTSDIR)/cram/cram_index.h \ + $(HTSDIR)/cram/cram_io.c \ + $(HTSDIR)/cram/cram_io.h \ + $(HTSDIR)/cram/cram_samtools.c \ + $(HTSDIR)/cram/cram_samtools.h \ + $(HTSDIR)/cram/cram_stats.c \ + $(HTSDIR)/cram/cram_stats.h \ + $(HTSDIR)/cram/cram_structs.h \ + $(HTSDIR)/cram/files.c \ + $(HTSDIR)/cram/mFILE.c \ + $(HTSDIR)/cram/mFILE.h \ + $(HTSDIR)/cram/md5.c \ + $(HTSDIR)/cram/md5.h \ + $(HTSDIR)/cram/misc.h \ + $(HTSDIR)/cram/open_trace_file.c \ + $(HTSDIR)/cram/open_trace_file.h \ + $(HTSDIR)/cram/os.h \ + $(HTSDIR)/cram/pooled_alloc.c \ + $(HTSDIR)/cram/pooled_alloc.h \ + $(HTSDIR)/cram/sam_header.c \ + $(HTSDIR)/cram/sam_header.h \ + $(HTSDIR)/cram/string_alloc.c \ + $(HTSDIR)/cram/string_alloc.h \ + $(HTSDIR)/cram/thread_pool.c \ + $(HTSDIR)/cram/thread_pool.h \ + $(HTSDIR)/cram/vlen.c \ + $(HTSDIR)/cram/vlen.h \ + $(HTSDIR)/cram/zfio.c \ + $(HTSDIR)/cram/zfio.h + +$(HTSDIR)/libhts.a: $(HTSLIB_ALL) + +cd $(HTSDIR) && $(MAKE) lib-static + +$(HTSDIR)/libhts.so $(HTSDIR)/libhts.dylib: $(HTSLIB_ALL) + +cd $(HTSDIR) && $(MAKE) lib-shared + +$(HTSDIR)/bgzip: $(HTSDIR)/bgzip.c $(HTSLIB_PUBLIC_HEADERS) + +cd $(HTSDIR) && $(MAKE) bgzip + +$(HTSDIR)/htsfile: $(HTSDIR)/htsfile.c $(HTSLIB_PUBLIC_HEADERS) + +cd $(HTSDIR) && $(MAKE) htsfile + +$(HTSDIR)/tabix: $(HTSDIR)/tabix.c $(HTSLIB_PUBLIC_HEADERS) + +cd $(HTSDIR) && $(MAKE) tabix + +# Rules for phony targets. You may wish to have your corresponding phony +# targets invoke these in addition to their own recipes: +# +# clean: clean-htslib + +clean-htslib install-htslib: + +cd $(HTSDIR) && $(MAKE) $(@:-htslib=) + +.PHONY: clean-htslib install-htslib diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib.pc.in --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib.pc.in Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +includedir=@includedir@ +libdir=@libdir@ + +Name: htslib +Description: C library for high-throughput sequencing data formats +Version: @PACKAGE_VERSION@ +Cflags: -I${includedir} +Libs: -L${libdir} -lhts +Libs.private: -L${libdir} -lhts -lm -lpthread +Requires.private: zlib diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/bgzf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/bgzf.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,315 @@ +/* The MIT License + + Copyright (c) 2008 Broad Institute / Massachusetts Institute of Technology + 2011, 2012 Attractive Chaos + Copyright (C) 2009, 2013, 2014 Genome Research Ltd + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +/* The BGZF library was originally written by Bob Handsaker from the Broad + * Institute. It was later improved by the SAMtools developers. */ + +#ifndef HTSLIB_BGZF_H +#define HTSLIB_BGZF_H + +#include +#include +#include +#include + +#define BGZF_BLOCK_SIZE 0xff00 // make sure compressBound(BGZF_BLOCK_SIZE) < BGZF_MAX_BLOCK_SIZE +#define BGZF_MAX_BLOCK_SIZE 0x10000 + +#define BGZF_ERR_ZLIB 1 +#define BGZF_ERR_HEADER 2 +#define BGZF_ERR_IO 4 +#define BGZF_ERR_MISUSE 8 + +struct hFILE; +struct bgzf_mtaux_t; +typedef struct __bgzidx_t bgzidx_t; + +struct BGZF { + int errcode:16, is_write:2, is_be:2, compress_level:9, is_compressed:2, is_gzip:1; + int cache_size; + int block_length, block_offset; + int64_t block_address, uncompressed_address; + void *uncompressed_block, *compressed_block; + void *cache; // a pointer to a hash table + struct hFILE *fp; // actual file handle + struct bgzf_mtaux_t *mt; // only used for multi-threading + bgzidx_t *idx; // BGZF index + int idx_build_otf; // build index on the fly, set by bgzf_index_build_init() + z_stream *gz_stream;// for gzip-compressed files +}; +#ifndef HTS_BGZF_TYPEDEF +typedef struct BGZF BGZF; +#define HTS_BGZF_TYPEDEF +#endif + +#ifndef KSTRING_T +#define KSTRING_T kstring_t +typedef struct __kstring_t { + size_t l, m; + char *s; +} kstring_t; +#endif + +#ifdef __cplusplus +extern "C" { +#endif + + /****************** + * Basic routines * + ******************/ + + /** + * Open an existing file descriptor for reading or writing. + * + * @param fd file descriptor + * @param mode mode matching /[rwag][u0-9]+/: 'r' for reading, 'w' for + * writing, 'a' for appending, 'g' for gzip rather than BGZF + * compression (with 'w' only), and digit specifies the zlib + * compression level. + * Note that there is a distinction between 'u' and '0': the + * first yields plain uncompressed output whereas the latter + * outputs uncompressed data wrapped in the zlib format. + * @return BGZF file handler; 0 on error + */ + BGZF* bgzf_dopen(int fd, const char *mode); + + #define bgzf_fdopen(fd, mode) bgzf_dopen((fd), (mode)) // for backward compatibility + + /** + * Open the specified file for reading or writing. + */ + BGZF* bgzf_open(const char* path, const char *mode); + + /** + * Open an existing hFILE stream for reading or writing. + */ + BGZF* bgzf_hopen(struct hFILE *fp, const char *mode); + + /** + * Close the BGZF and free all associated resources. + * + * @param fp BGZF file handler + * @return 0 on success and -1 on error + */ + int bgzf_close(BGZF *fp); + + /** + * Read up to _length_ bytes from the file storing into _data_. + * + * @param fp BGZF file handler + * @param data data array to read into + * @param length size of data to read + * @return number of bytes actually read; 0 on end-of-file and -1 on error + */ + ssize_t bgzf_read(BGZF *fp, void *data, size_t length); + + /** + * Write _length_ bytes from _data_ to the file. If no I/O errors occur, + * the complete _length_ bytes will be written (or queued for writing). + * + * @param fp BGZF file handler + * @param data data array to write + * @param length size of data to write + * @return number of bytes written (i.e., _length_); negative on error + */ + ssize_t bgzf_write(BGZF *fp, const void *data, size_t length); + + /** + * Read up to _length_ bytes directly from the underlying stream without + * decompressing. Bypasses BGZF blocking, so must be used with care in + * specialised circumstances only. + * + * @param fp BGZF file handler + * @param data data array to read into + * @param length number of raw bytes to read + * @return number of bytes actually read; 0 on end-of-file and -1 on error + */ + ssize_t bgzf_raw_read(BGZF *fp, void *data, size_t length); + + /** + * Write _length_ bytes directly to the underlying stream without + * compressing. Bypasses BGZF blocking, so must be used with care + * in specialised circumstances only. + * + * @param fp BGZF file handler + * @param data data array to write + * @param length number of raw bytes to write + * @return number of bytes actually written; -1 on error + */ + ssize_t bgzf_raw_write(BGZF *fp, const void *data, size_t length); + + /** + * Write the data in the buffer to the file. + */ + int bgzf_flush(BGZF *fp); + + /** + * Return a virtual file pointer to the current location in the file. + * No interpetation of the value should be made, other than a subsequent + * call to bgzf_seek can be used to position the file at the same point. + * Return value is non-negative on success. + */ + #define bgzf_tell(fp) (((fp)->block_address << 16) | ((fp)->block_offset & 0xFFFF)) + + /** + * Set the file to read from the location specified by _pos_. + * + * @param fp BGZF file handler + * @param pos virtual file offset returned by bgzf_tell() + * @param whence must be SEEK_SET + * @return 0 on success and -1 on error + */ + int64_t bgzf_seek(BGZF *fp, int64_t pos, int whence); + + /** + * Check if the BGZF end-of-file (EOF) marker is present + * + * @param fp BGZF file handler opened for reading + * @return 1 if the EOF marker is present and correct; + * 2 if it can't be checked, e.g., because fp isn't seekable; + * 0 if the EOF marker is absent; + * -1 (with errno set) on error + */ + int bgzf_check_EOF(BGZF *fp); + + /** + * Check if a file is in the BGZF format + * + * @param fn file name + * @return 1 if _fn_ is BGZF; 0 if not or on I/O error + */ + int bgzf_is_bgzf(const char *fn); + + /********************* + * Advanced routines * + *********************/ + + /** + * Set the cache size. Only effective when compiled with -DBGZF_CACHE. + * + * @param fp BGZF file handler + * @param size size of cache in bytes; 0 to disable caching (default) + */ + void bgzf_set_cache_size(BGZF *fp, int size); + + /** + * Flush the file if the remaining buffer size is smaller than _size_ + * @return 0 if flushing succeeded or was not needed; negative on error + */ + int bgzf_flush_try(BGZF *fp, ssize_t size); + + /** + * Read one byte from a BGZF file. It is faster than bgzf_read() + * @param fp BGZF file handler + * @return byte read; -1 on end-of-file or error + */ + int bgzf_getc(BGZF *fp); + + /** + * Read one line from a BGZF file. It is faster than bgzf_getc() + * + * @param fp BGZF file handler + * @param delim delimitor + * @param str string to write to; must be initialized + * @return length of the string; 0 on end-of-file; negative on error + */ + int bgzf_getline(BGZF *fp, int delim, kstring_t *str); + + /** + * Read the next BGZF block. + */ + int bgzf_read_block(BGZF *fp); + + /** + * Enable multi-threading (only effective on writing and when the + * library was compiled with -DBGZF_MT) + * + * @param fp BGZF file handler; must be opened for writing + * @param n_threads #threads used for writing + * @param n_sub_blks #blocks processed by each thread; a value 64-256 is recommended + */ + int bgzf_mt(BGZF *fp, int n_threads, int n_sub_blks); + + + /******************* + * bgzidx routines * + *******************/ + + /** + * Position BGZF at the uncompressed offset + * + * @param fp BGZF file handler; must be opened for reading + * @param uoffset file offset in the uncompressed data + * @param where SEEK_SET supported atm + * + * Returns 0 on success and -1 on error. + */ + int bgzf_useek(BGZF *fp, long uoffset, int where); + + /** + * Position in uncompressed BGZF + * + * @param fp BGZF file handler; must be opened for reading + * + * Returns the current offset on success and -1 on error. + */ + long bgzf_utell(BGZF *fp); + + /** + * Tell BGZF to build index while compressing. + * + * @param fp BGZF file handler; can be opened for reading or writing. + * + * Returns 0 on success and -1 on error. + */ + int bgzf_index_build_init(BGZF *fp); + + /** + * Load BGZF index + * + * @param fp BGZF file handler + * @param bname base name + * @param suffix suffix to add to bname (can be NULL) + * + * Returns 0 on success and -1 on error. + */ + int bgzf_index_load(BGZF *fp, const char *bname, const char *suffix); + + /** + * Save BGZF index + * + * @param fp BGZF file handler + * @param bname base name + * @param suffix suffix to add to bname (can be NULL) + * + * Returns 0 on success and -1 on error. + */ + int bgzf_index_dump(BGZF *fp, const char *bname, const char *suffix); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/faidx.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/faidx.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,135 @@ +/* faidx.h -- FASTA random access. + + Copyright (C) 2008, 2009, 2013, 2014 Genome Research Ltd. + + Author: Heng Li + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef HTSLIB_FAIDX_H +#define HTSLIB_FAIDX_H + +/*! + @header + + Index FASTA files and extract subsequence. + + The fai file index columns are: + - chromosome name + - chromosome length: number of bases + - offset: number of bytes to skip to get to the first base + from the beginning of the file, including the length + of the sequence description string (">chr ..\n") + - line length: number of bases per line (excluding \n) + - binary line length: number of bytes, including \n + + @copyright The Wellcome Trust Sanger Institute. + */ + +struct __faidx_t; +typedef struct __faidx_t faidx_t; + +#ifdef __cplusplus +extern "C" { +#endif + + /*! + @abstract Build index for a FASTA or bgzip-compressed FASTA file. + @param fn FASTA file name + @return 0 on success; or -1 on failure + @discussion File "fn.fai" will be generated. + */ + int fai_build(const char *fn); + + /*! + @abstract Destroy a faidx_t struct. + @param fai Pointer to the struct to be destroyed + */ + void fai_destroy(faidx_t *fai); + + /*! + @abstract Load index from "fn.fai". + @param fn File name of the FASTA file + */ + faidx_t *fai_load(const char *fn); + + /*! + @abstract Fetch the sequence in a region. + @param fai Pointer to the faidx_t struct + @param reg Region in the format "chr2:20,000-30,000" + @param len Length of the region; -2 if seq not present, -1 general error + @return Pointer to the sequence; null on failure + + @discussion The returned sequence is allocated by malloc family + and should be destroyed by end users by calling free() on it. + */ + char *fai_fetch(const faidx_t *fai, const char *reg, int *len); + + /*! + @abstract Fetch the number of sequences. + @param fai Pointer to the faidx_t struct + @return The number of sequences + */ + int faidx_fetch_nseq(const faidx_t *fai); + + /*! + @abstract Fetch the sequence in a region. + @param fai Pointer to the faidx_t struct + @param c_name Region name + @param p_beg_i Beginning position number (zero-based) + @param p_end_i End position number (zero-based) + @param len Length of the region; -2 if c_name not present, -1 general error + @return Pointer to the sequence; null on failure + + @discussion The returned sequence is allocated by malloc family + and should be destroyed by end users by calling free() on it. + */ + char *faidx_fetch_seq(const faidx_t *fai, const char *c_name, int p_beg_i, int p_end_i, int *len); + + /*! + @abstract Query if sequence is present + @param fai Pointer to the faidx_t struct + @param seq Sequence name + @return 1 if present or 0 if absent + */ + int faidx_has_seq(const faidx_t *fai, const char *seq); + + /*! + @abstract Return number of sequences in fai index + */ + int faidx_nseq(const faidx_t *fai); + + /*! + @abstract Return name of i-th sequence + */ + const char *faidx_iseq(const faidx_t *fai, int i); + + /*! + @abstract Return sequence length, -1 if not present + */ + int faidx_seq_len(const faidx_t *fai, const char *seq); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/hfile.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/hfile.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,212 @@ +/* hfile.h -- buffered low-level input/output streams. + + Copyright (C) 2013-2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_HFILE_H +#define HTSLIB_HFILE_H + +#include + +#include + +#include "hts_defs.h" + +#ifdef __cplusplus +extern "C" { +#endif + +/* These fields are declared here solely for the benefit of the inline functions + below. They may change in future releases. User code should not use them + directly; you should imagine that hFILE is an opaque incomplete type. */ +struct hFILE_backend; +typedef struct hFILE { + char *buffer, *begin, *end, *limit; + const struct hFILE_backend *backend; + off_t offset; + int at_eof:1; + int has_errno; +} hFILE; + +/*! + @abstract Open the named file or URL as a stream + @return An hFILE pointer, or NULL (with errno set) if an error occurred. +*/ +hFILE *hopen(const char *filename, const char *mode) HTS_RESULT_USED; + +/*! + @abstract Associate a stream with an existing open file descriptor + @return An hFILE pointer, or NULL (with errno set) if an error occurred. + @notes For socket descriptors (on Windows), mode should contain 's'. +*/ +hFILE *hdopen(int fd, const char *mode) HTS_RESULT_USED; + +/*! + @abstract Report whether the file name or URL denotes remote storage + @return 0 if local, 1 if remote. + @notes "Remote" means involving e.g. explicit network access, with the + implication that callers may wish to cache such files' contents locally. +*/ +int hisremote(const char *filename) HTS_RESULT_USED; + +/*! + @abstract Flush (for output streams) and close the stream + @return 0 if successful, or EOF (with errno set) if an error occurred. +*/ +int hclose(hFILE *fp) HTS_RESULT_USED; + +/*! + @abstract Close the stream, without flushing or propagating errors + @notes For use while cleaning up after an error only. Preserves errno. +*/ +void hclose_abruptly(hFILE *fp); + +/*! + @abstract Return the stream's error indicator + @return Non-zero (in fact, an errno value) if an error has occurred. + @notes This would be called herror() and return true/false to parallel + ferror(3), but a networking-related herror(3) function already exists. */ +static inline int herrno(hFILE *fp) +{ + return fp->has_errno; +} + +/*! + @abstract Clear the stream's error indicator +*/ +static inline void hclearerr(hFILE *fp) +{ + fp->has_errno = 0; +} + +/*! + @abstract Reposition the read/write stream offset + @return The resulting offset within the stream (as per lseek(2)), + or negative if an error occurred. +*/ +off_t hseek(hFILE *fp, off_t offset, int whence) HTS_RESULT_USED; + +/*! + @abstract Report the current stream offset + @return The offset within the stream, starting from zero. +*/ +static inline off_t htell(hFILE *fp) +{ + return fp->offset + (fp->begin - fp->buffer); +} + +/*! + @abstract Read one character from the stream + @return The character read, or EOF on end-of-file or error +*/ +static inline int hgetc(hFILE *fp) +{ + extern int hgetc2(hFILE *); + return (fp->end > fp->begin)? (unsigned char) *(fp->begin++) : hgetc2(fp); +} + +/*! + @abstract Peek at characters to be read without removing them from buffers + @param fp The file stream + @param buffer The buffer to which the peeked bytes will be written + @param nbytes The number of bytes to peek at; limited by the size of the + internal buffer, which could be as small as 4K. + @return The number of bytes peeked, which may be less than nbytes if EOF + is encountered; or negative, if there was an I/O error. + @notes The characters peeked at remain in the stream's internal buffer, + and will be returned by later hread() etc calls. +*/ +ssize_t hpeek(hFILE *fp, void *buffer, size_t nbytes) HTS_RESULT_USED; + +/*! + @abstract Read a block of characters from the file + @return The number of bytes read, or negative if an error occurred. + @notes The full nbytes requested will be returned, except as limited + by EOF or I/O errors. +*/ +static inline ssize_t HTS_RESULT_USED +hread(hFILE *fp, void *buffer, size_t nbytes) +{ + extern ssize_t hread2(hFILE *, void *, size_t, size_t); + + size_t n = fp->end - fp->begin; + if (n > nbytes) n = nbytes; + memcpy(buffer, fp->begin, n); + fp->begin += n; + return (n == nbytes)? (ssize_t) n : hread2(fp, buffer, nbytes, n); +} + +/*! + @abstract Write a character to the stream + @return The character written, or EOF if an error occurred. +*/ +static inline int hputc(int c, hFILE *fp) +{ + extern int hputc2(int, hFILE *); + if (fp->begin < fp->limit) *(fp->begin++) = c; + else c = hputc2(c, fp); + return c; +} + +/*! + @abstract Write a string to the stream + @return 0 if successful, or EOF if an error occurred. +*/ +static inline int hputs(const char *text, hFILE *fp) +{ + extern int hputs2(const char *, size_t, size_t, hFILE *); + + size_t nbytes = strlen(text), n = fp->limit - fp->begin; + if (n > nbytes) n = nbytes; + memcpy(fp->begin, text, n); + fp->begin += n; + return (n == nbytes)? 0 : hputs2(text, nbytes, n, fp); +} + +/*! + @abstract Write a block of characters to the file + @return Either nbytes, or negative if an error occurred. + @notes In the absence of I/O errors, the full nbytes will be written. +*/ +static inline ssize_t HTS_RESULT_USED +hwrite(hFILE *fp, const void *buffer, size_t nbytes) +{ + extern ssize_t hwrite2(hFILE *, const void *, size_t, size_t); + + size_t n = fp->limit - fp->begin; + if (n > nbytes) n = nbytes; + memcpy(fp->begin, buffer, n); + fp->begin += n; + return (n==nbytes)? (ssize_t) n : hwrite2(fp, buffer, nbytes, n); +} + +/*! + @abstract For writing streams, flush buffered output to the underlying stream + @return 0 if successful, or EOF if an error occurred. +*/ +int hflush(hFILE *fp) HTS_RESULT_USED; + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/hts.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/hts.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,456 @@ +/* hts.h -- format-neutral I/O, indexing, and iterator API functions. + + Copyright (C) 2012-2014 Genome Research Ltd. + Copyright (C) 2012 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_HTS_H +#define HTSLIB_HTS_H + +#include +#include + +#ifndef HTS_BGZF_TYPEDEF +typedef struct BGZF BGZF; +#define HTS_BGZF_TYPEDEF +#endif +struct cram_fd; +struct hFILE; + +#ifndef KSTRING_T +#define KSTRING_T kstring_t +typedef struct __kstring_t { + size_t l, m; + char *s; +} kstring_t; +#endif + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +/** + * hts_expand() - expands memory block pointed to by $ptr; + * hts_expand0() the latter sets the newly allocated part to 0. + * + * @param n requested number of elements of type type_t + * @param m size of memory allocated + */ +#define hts_expand(type_t, n, m, ptr) if ((n) > (m)) { \ + (m) = (n); kroundup32(m); \ + (ptr) = (type_t*)realloc((ptr), (m) * sizeof(type_t)); \ + } +#define hts_expand0(type_t, n, m, ptr) if ((n) > (m)) { \ + int t = (m); (m) = (n); kroundup32(m); \ + (ptr) = (type_t*)realloc((ptr), (m) * sizeof(type_t)); \ + memset(((type_t*)ptr)+t,0,sizeof(type_t)*((m)-t)); \ + } + +/************ + * File I/O * + ************/ + +// Add new entries only at the end (but before the *_maximum entry) +// of these enums, as their numbering is part of the htslib ABI. + +enum htsFormatCategory { + unknown_category, + sequence_data, // Sequence data -- SAM, BAM, CRAM, etc + variant_data, // Variant calling data -- VCF, BCF, etc + index_file, // Index file associated with some data file + region_list, // Coordinate intervals or regions -- BED, etc + category_maximum = 32767 +}; + +enum htsExactFormat { + unknown_format, + binary_format, text_format, + sam, bam, bai, cram, crai, vcf, bcf, csi, gzi, tbi, bed, + format_maximum = 32767 +}; + +enum htsCompression { + no_compression, gzip, bgzf, custom, + compression_maximum = 32767 +}; + +typedef struct htsFormat { + enum htsFormatCategory category; + enum htsExactFormat format; + struct { short major, minor; } version; + enum htsCompression compression; + short compression_level; // currently unused + void *specific; // currently unused +} htsFormat; + +// Maintainers note htsFile cannot be an opaque structure because some of its +// fields are part of libhts.so's ABI (hence these fields must not be moved): +// - fp is used in the public sam_itr_next()/etc macros +// - is_bin is used directly in samtools <= 1.1 and bcftools <= 1.1 +// - is_write and is_cram are used directly in samtools <= 1.1 +// - fp is used directly in samtools (up to and including current develop) +// - line is used directly in bcftools (up to and including current develop) +typedef struct { + uint32_t is_bin:1, is_write:1, is_be:1, is_cram:1, dummy:28; + int64_t lineno; + kstring_t line; + char *fn, *fn_aux; + union { + BGZF *bgzf; + struct cram_fd *cram; + struct hFILE *hfile; + void *voidp; + } fp; + htsFormat format; +} htsFile; + +// REQUIRED_FIELDS +enum sam_fields { + SAM_QNAME = 0x00000001, + SAM_FLAG = 0x00000002, + SAM_RNAME = 0x00000004, + SAM_POS = 0x00000008, + SAM_MAPQ = 0x00000010, + SAM_CIGAR = 0x00000020, + SAM_RNEXT = 0x00000040, + SAM_PNEXT = 0x00000080, + SAM_TLEN = 0x00000100, + SAM_SEQ = 0x00000200, + SAM_QUAL = 0x00000400, + SAM_AUX = 0x00000800, + SAM_RGAUX = 0x00001000, +}; + +enum cram_option { + CRAM_OPT_DECODE_MD, + CRAM_OPT_PREFIX, + CRAM_OPT_VERBOSITY, + CRAM_OPT_SEQS_PER_SLICE, + CRAM_OPT_SLICES_PER_CONTAINER, + CRAM_OPT_RANGE, + CRAM_OPT_VERSION, + CRAM_OPT_EMBED_REF, + CRAM_OPT_IGNORE_MD5, + CRAM_OPT_REFERENCE, + CRAM_OPT_MULTI_SEQ_PER_SLICE, + CRAM_OPT_NO_REF, + CRAM_OPT_USE_BZIP2, + CRAM_OPT_SHARED_REF, + CRAM_OPT_NTHREADS, + CRAM_OPT_THREAD_POOL, + CRAM_OPT_USE_LZMA, + CRAM_OPT_USE_RANS, + CRAM_OPT_REQUIRED_FIELDS, +}; + +/********************** + * Exported functions * + **********************/ + +extern int hts_verbose; + +/*! @abstract Table for converting a nucleotide character to 4-bit encoding. +The input character may be either an IUPAC ambiguity code, '=' for 0, or +'0'/'1'/'2'/'3' for a result of 1/2/4/8. The result is encoded as 1/2/4/8 +for A/C/G/T or combinations of these bits for ambiguous bases. +*/ +extern const unsigned char seq_nt16_table[256]; + +/*! @abstract Table for converting a 4-bit encoded nucleotide to an IUPAC +ambiguity code letter (or '=' when given 0). +*/ +extern const char seq_nt16_str[]; + +/*! @abstract Table for converting a 4-bit encoded nucleotide to about 2 bits. +Returns 0/1/2/3 for 1/2/4/8 (i.e., A/C/G/T), or 4 otherwise (0 or ambiguous). +*/ +extern const int seq_nt16_int[]; + +#ifdef __cplusplus +extern "C" { +#endif + +/*! + @abstract Get the htslib version number + @return For released versions, a string like "N.N[.N]"; or git describe + output if using a library built within a Git repository. +*/ +const char *hts_version(void); + +/*! + @abstract Determine format by peeking at the start of a file + @param fp File opened for reading, positioned at the beginning + @param fmt Format structure that will be filled out on return + @return 0 for success, or negative if an error occurred. +*/ +int hts_detect_format(struct hFILE *fp, htsFormat *fmt); + +/*! + @abstract Get a human-readable description of the file format + @return Description string, to be freed by the caller after use. +*/ +char *hts_format_description(const htsFormat *format); + +/*! + @abstract Open a SAM/BAM/CRAM/VCF/BCF/etc file + @param fn The file name or "-" for stdin/stdout + @param mode Mode matching /[rwa][bcuz0-9]+/ + @discussion + With 'r' opens for reading; any further format mode letters are ignored + as the format is detected by checking the first few bytes or BGZF blocks + of the file. With 'w' or 'a' opens for writing or appending, with format + specifier letters: + b binary format (BAM, BCF, etc) rather than text (SAM, VCF, etc) + c CRAM format + g gzip compressed + u uncompressed + z bgzf compressed + [0-9] zlib compression level + Note that there is a distinction between 'u' and '0': the first yields + plain uncompressed output whereas the latter outputs uncompressed data + wrapped in the zlib format. + @example + [rw]b .. compressed BCF, BAM, FAI + [rw]u .. uncompressed BCF + [rw]z .. compressed VCF + [rw] .. uncompressed VCF +*/ +htsFile *hts_open(const char *fn, const char *mode); + +/*! + @abstract Open an existing stream as a SAM/BAM/CRAM/VCF/BCF/etc file + @param fn The already-open file handle + @param mode Open mode, as per hts_open() +*/ +htsFile *hts_hopen(struct hFILE *fp, const char *fn, const char *mode); + +/*! + @abstract Close a file handle, flushing buffered data for output streams + @param fp The file handle to be closed + @return 0 for success, or negative if an error occurred. +*/ +int hts_close(htsFile *fp); + +/*! + @abstract Returns the file's format information + @param fp The file handle + @return Read-only pointer to the file's htsFormat. +*/ +const htsFormat *hts_get_format(htsFile *fp); + +/*! + @abstract Sets a specified CRAM option on the open file handle. + @param fp The file handle open the open file. + @param opt The CRAM_OPT_* option. + @param ... Optional arguments, dependent on the option used. + @return 0 for success, or negative if an error occurred. +*/ +int hts_set_opt(htsFile *fp, enum cram_option opt, ...); + +int hts_getline(htsFile *fp, int delimiter, kstring_t *str); +char **hts_readlines(const char *fn, int *_n); +/*! + @abstract Parse comma-separated list or read list from a file + @param list File name or comma-separated list + @param is_file + @param _n Size of the output array (number of items read) + @return NULL on failure or pointer to newly allocated array of + strings +*/ +char **hts_readlist(const char *fn, int is_file, int *_n); + +/*! + @abstract Create extra threads to aid compress/decompression for this file + @param fp The file handle + @param n The number of worker threads to create + @return 0 for success, or negative if an error occurred. + @notes THIS THREADING API IS LIKELY TO CHANGE IN FUTURE. +*/ +int hts_set_threads(htsFile *fp, int n); + +/*! + @abstract Set .fai filename for a file opened for reading + @return 0 for success, negative on failure + @discussion + Called before *_hdr_read(), this provides the name of a .fai file + used to provide a reference list if the htsFile contains no @SQ headers. +*/ +int hts_set_fai_filename(htsFile *fp, const char *fn_aux); + +#ifdef __cplusplus +} +#endif + +/************ + * Indexing * + ************/ + +/*! +These HTS_IDX_* macros are used as special tid values for hts_itr_query()/etc, +producing iterators operating as follows: + - HTS_IDX_NOCOOR iterates over unmapped reads sorted at the end of the file + - HTS_IDX_START iterates over the entire file + - HTS_IDX_REST iterates from the current position to the end of the file + - HTS_IDX_NONE always returns "no more alignment records" +When one of these special tid values is used, beg and end are ignored. +When REST or NONE is used, idx is also ignored and may be NULL. +*/ +#define HTS_IDX_NOCOOR (-2) +#define HTS_IDX_START (-3) +#define HTS_IDX_REST (-4) +#define HTS_IDX_NONE (-5) + +#define HTS_FMT_CSI 0 +#define HTS_FMT_BAI 1 +#define HTS_FMT_TBI 2 +#define HTS_FMT_CRAI 3 + +struct __hts_idx_t; +typedef struct __hts_idx_t hts_idx_t; + +typedef struct { + uint64_t u, v; +} hts_pair64_t; + +typedef int hts_readrec_func(BGZF *fp, void *data, void *r, int *tid, int *beg, int *end); + +typedef struct { + uint32_t read_rest:1, finished:1, dummy:29; + int tid, beg, end, n_off, i; + int curr_tid, curr_beg, curr_end; + uint64_t curr_off; + hts_pair64_t *off; + hts_readrec_func *readrec; + struct { + int n, m; + int *a; + } bins; +} hts_itr_t; + +#ifdef __cplusplus +extern "C" { +#endif + + #define hts_bin_first(l) (((1<<(((l)<<1) + (l))) - 1) / 7) + #define hts_bin_parent(l) (((l) - 1) >> 3) + + hts_idx_t *hts_idx_init(int n, int fmt, uint64_t offset0, int min_shift, int n_lvls); + void hts_idx_destroy(hts_idx_t *idx); + int hts_idx_push(hts_idx_t *idx, int tid, int beg, int end, uint64_t offset, int is_mapped); + void hts_idx_finish(hts_idx_t *idx, uint64_t final_offset); + + void hts_idx_save(const hts_idx_t *idx, const char *fn, int fmt); + hts_idx_t *hts_idx_load(const char *fn, int fmt); + + uint8_t *hts_idx_get_meta(hts_idx_t *idx, int *l_meta); + void hts_idx_set_meta(hts_idx_t *idx, int l_meta, uint8_t *meta, int is_copy); + + int hts_idx_get_stat(const hts_idx_t* idx, int tid, uint64_t* mapped, uint64_t* unmapped); + uint64_t hts_idx_get_n_no_coor(const hts_idx_t* idx); + + const char *hts_parse_reg(const char *s, int *beg, int *end); + hts_itr_t *hts_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec); + void hts_itr_destroy(hts_itr_t *iter); + + typedef int (*hts_name2id_f)(void*, const char*); + typedef const char *(*hts_id2name_f)(void*, int); + typedef hts_itr_t *hts_itr_query_func(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec); + + hts_itr_t *hts_itr_querys(const hts_idx_t *idx, const char *reg, hts_name2id_f getid, void *hdr, hts_itr_query_func *itr_query, hts_readrec_func *readrec); + int hts_itr_next(BGZF *fp, hts_itr_t *iter, void *r, void *data); + const char **hts_idx_seqnames(const hts_idx_t *idx, int *n, hts_id2name_f getid, void *hdr); // free only the array, not the values + + /** + * hts_file_type() - Convenience function to determine file type + * DEPRECATED: This function has been replaced by hts_detect_format(). + * It and these FT_* macros will be removed in a future HTSlib release. + */ + #define FT_UNKN 0 + #define FT_GZ 1 + #define FT_VCF 2 + #define FT_VCF_GZ (FT_GZ|FT_VCF) + #define FT_BCF (1<<2) + #define FT_BCF_GZ (FT_GZ|FT_BCF) + #define FT_STDIN (1<<3) + int hts_file_type(const char *fname); + + +#ifdef __cplusplus +} +#endif + +static inline int hts_reg2bin(int64_t beg, int64_t end, int min_shift, int n_lvls) +{ + int l, s = min_shift, t = ((1<<((n_lvls<<1) + n_lvls)) - 1) / 7; + for (--end, l = n_lvls; l > 0; --l, s += 3, t -= 1<<((l<<1)+l)) + if (beg>>s == end>>s) return t + (beg>>s); + return 0; +} + +static inline int hts_bin_bot(int bin, int n_lvls) +{ + int l, b; + for (l = 0, b = bin; b; ++l, b = hts_bin_parent(b)); // compute the level of bin + return (bin - hts_bin_first(l)) << (n_lvls - l) * 3; +} + +/************** + * Endianness * + **************/ + +static inline int ed_is_big(void) +{ + long one= 1; + return !(*((char *)(&one))); +} +static inline uint16_t ed_swap_2(uint16_t v) +{ + return (uint16_t)(((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8)); +} +static inline void *ed_swap_2p(void *x) +{ + *(uint16_t*)x = ed_swap_2(*(uint16_t*)x); + return x; +} +static inline uint32_t ed_swap_4(uint32_t v) +{ + v = ((v & 0x0000FFFFU) << 16) | (v >> 16); + return ((v & 0x00FF00FFU) << 8) | ((v & 0xFF00FF00U) >> 8); +} +static inline void *ed_swap_4p(void *x) +{ + *(uint32_t*)x = ed_swap_4(*(uint32_t*)x); + return x; +} +static inline uint64_t ed_swap_8(uint64_t v) +{ + v = ((v & 0x00000000FFFFFFFFLLU) << 32) | (v >> 32); + v = ((v & 0x0000FFFF0000FFFFLLU) << 16) | ((v & 0xFFFF0000FFFF0000LLU) >> 16); + return ((v & 0x00FF00FF00FF00FFLLU) << 8) | ((v & 0xFF00FF00FF00FF00LLU) >> 8); +} +static inline void *ed_swap_8p(void *x) +{ + *(uint64_t*)x = ed_swap_8(*(uint64_t*)x); + return x; +} + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/hts_defs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/hts_defs.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,47 @@ +/* hts_defs.h -- Miscellaneous definitions. + + Copyright (C) 2013-2014 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_HTS_DEFS_H +#define HTSLIB_HTS_DEFS_H + +#if __clang__major__ >= 2 || __GNUC__ >= 3 +#define HTS_NORETURN __attribute__ ((__noreturn__)) +#else +#define HTS_NORETURN +#endif + +#if (defined __clang__ && __clang_major__ >= 3) || \ + (defined __GNUC__ && (__GNUC__ > 4 || (__GNUC__==4 && __GNUC_MINOR__ >= 5))) +#define HTS_RESULT_USED __attribute__ ((__warn_unused_result__)) +#else +#define HTS_RESULT_USED +#endif + +#if defined __clang__ || defined __GNUC__ +#define HTS_UNUSED __attribute__ ((__unused__)) +#else +#define HTS_UNUSED +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/kfunc.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/kfunc.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,75 @@ +/* The MIT License + + Copyright (C) 2010, 2013 Genome Research Ltd. + Copyright (C) 2011 Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef HTSLIB_KFUNC_H +#define HTSLIB_KFUNC_H + +/* Log gamma function + * \log{\Gamma(z)} + * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245 + */ +double kf_lgamma(double z); + +/* complementary error function + * \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt + * AS66, 2nd algorithm, http://lib.stat.cmu.edu/apstat/66 + */ +double kf_erfc(double x); + +/* The following computes regularized incomplete gamma functions. + * Formulas are taken from Wiki, with additional input from Numerical + * Recipes in C (for modified Lentz's algorithm) and AS245 + * (http://lib.stat.cmu.edu/apstat/245). + * + * A good online calculator is available at: + * + * http://www.danielsoper.com/statcalc/calc23.aspx + * + * It calculates upper incomplete gamma function, which equals + * kf_gammaq(s,z)*tgamma(s). + */ + +double kf_gammap(double s, double z); +double kf_gammaq(double s, double z); + +/* Regularized incomplete beta function. The method is taken from + * Numerical Recipe in C, 2nd edition, section 6.4. The following web + * page calculates the incomplete beta function, which equals + * kf_betai(a,b,x) * gamma(a) * gamma(b) / gamma(a+b): + * + * http://www.danielsoper.com/statcalc/calc36.aspx + */ +double kf_betai(double a, double b, double x); + +/* + * n11 n12 | n1_ + * n21 n22 | n2_ + * -----------+---- + * n_1 n_2 | n + */ +double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two); + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/khash.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/khash.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,619 @@ +/* The MIT License + + Copyright (c) 2008, 2009, 2011 by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* + An example: + +#include "khash.h" +KHASH_MAP_INIT_INT(32, char) +int main() { + int ret, is_missing; + khiter_t k; + khash_t(32) *h = kh_init(32); + k = kh_put(32, h, 5, &ret); + kh_value(h, k) = 10; + k = kh_get(32, h, 10); + is_missing = (k == kh_end(h)); + k = kh_get(32, h, 5); + kh_del(32, h, k); + for (k = kh_begin(h); k != kh_end(h); ++k) + if (kh_exist(h, k)) kh_value(h, k) = 1; + kh_destroy(32, h); + return 0; +} +*/ + +/* + 2013-05-02 (0.2.8): + + * Use quadratic probing. When the capacity is power of 2, stepping function + i*(i+1)/2 guarantees to traverse each bucket. It is better than double + hashing on cache performance and is more robust than linear probing. + + In theory, double hashing should be more robust than quadratic probing. + However, my implementation is probably not for large hash tables, because + the second hash function is closely tied to the first hash function, + which reduce the effectiveness of double hashing. + + Reference: http://research.cs.vt.edu/AVresearch/hashing/quadratic.php + + 2011-12-29 (0.2.7): + + * Minor code clean up; no actual effect. + + 2011-09-16 (0.2.6): + + * The capacity is a power of 2. This seems to dramatically improve the + speed for simple keys. Thank Zilong Tan for the suggestion. Reference: + + - http://code.google.com/p/ulib/ + - http://nothings.org/computer/judy/ + + * Allow to optionally use linear probing which usually has better + performance for random input. Double hashing is still the default as it + is more robust to certain non-random input. + + * Added Wang's integer hash function (not used by default). This hash + function is more robust to certain non-random input. + + 2011-02-14 (0.2.5): + + * Allow to declare global functions. + + 2009-09-26 (0.2.4): + + * Improve portability + + 2008-09-19 (0.2.3): + + * Corrected the example + * Improved interfaces + + 2008-09-11 (0.2.2): + + * Improved speed a little in kh_put() + + 2008-09-10 (0.2.1): + + * Added kh_clear() + * Fixed a compiling error + + 2008-09-02 (0.2.0): + + * Changed to token concatenation which increases flexibility. + + 2008-08-31 (0.1.2): + + * Fixed a bug in kh_get(), which has not been tested previously. + + 2008-08-31 (0.1.1): + + * Added destructor +*/ + + +#ifndef __AC_KHASH_H +#define __AC_KHASH_H + +/*! + @header + + Generic hash table library. + */ + +#define AC_VERSION_KHASH_H "0.2.8" + +#include +#include +#include + +/* compiler specific configuration */ + +#if UINT_MAX == 0xffffffffu +typedef unsigned int khint32_t; +#elif ULONG_MAX == 0xffffffffu +typedef unsigned long khint32_t; +#endif + +#if ULONG_MAX == ULLONG_MAX +typedef unsigned long khint64_t; +#else +typedef unsigned long long khint64_t; +#endif + +#ifndef kh_inline +#ifdef _MSC_VER +#define kh_inline __inline +#else +#define kh_inline inline +#endif +#endif /* kh_inline */ + +typedef khint32_t khint_t; +typedef khint_t khiter_t; + +#define __ac_isempty(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&2) +#define __ac_isdel(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&1) +#define __ac_iseither(flag, i) ((flag[i>>4]>>((i&0xfU)<<1))&3) +#define __ac_set_isdel_false(flag, i) (flag[i>>4]&=~(1ul<<((i&0xfU)<<1))) +#define __ac_set_isempty_false(flag, i) (flag[i>>4]&=~(2ul<<((i&0xfU)<<1))) +#define __ac_set_isboth_false(flag, i) (flag[i>>4]&=~(3ul<<((i&0xfU)<<1))) +#define __ac_set_isdel_true(flag, i) (flag[i>>4]|=1ul<<((i&0xfU)<<1)) + +#define __ac_fsize(m) ((m) < 16? 1 : (m)>>4) + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +#ifndef kcalloc +#define kcalloc(N,Z) calloc(N,Z) +#endif +#ifndef kmalloc +#define kmalloc(Z) malloc(Z) +#endif +#ifndef krealloc +#define krealloc(P,Z) realloc(P,Z) +#endif +#ifndef kfree +#define kfree(P) free(P) +#endif + +static const double __ac_HASH_UPPER = 0.77; + +#define __KHASH_TYPE(name, khkey_t, khval_t) \ + typedef struct kh_##name##_s { \ + khint_t n_buckets, size, n_occupied, upper_bound; \ + khint32_t *flags; \ + khkey_t *keys; \ + khval_t *vals; \ + } kh_##name##_t; + +#define __KHASH_PROTOTYPES(name, khkey_t, khval_t) \ + extern kh_##name##_t *kh_init_##name(void); \ + extern void kh_destroy_##name(kh_##name##_t *h); \ + extern void kh_clear_##name(kh_##name##_t *h); \ + extern khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key); \ + extern int kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets); \ + extern khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret); \ + extern void kh_del_##name(kh_##name##_t *h, khint_t x); + +#define __KHASH_IMPL(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ + SCOPE kh_##name##_t *kh_init_##name(void) { \ + return (kh_##name##_t*)kcalloc(1, sizeof(kh_##name##_t)); \ + } \ + SCOPE void kh_destroy_##name(kh_##name##_t *h) \ + { \ + if (h) { \ + kfree((void *)h->keys); kfree(h->flags); \ + kfree((void *)h->vals); \ + kfree(h); \ + } \ + } \ + SCOPE void kh_clear_##name(kh_##name##_t *h) \ + { \ + if (h && h->flags) { \ + memset(h->flags, 0xaa, __ac_fsize(h->n_buckets) * sizeof(khint32_t)); \ + h->size = h->n_occupied = 0; \ + } \ + } \ + SCOPE khint_t kh_get_##name(const kh_##name##_t *h, khkey_t key) \ + { \ + if (h->n_buckets) { \ + khint_t k, i, last, mask, step = 0; \ + mask = h->n_buckets - 1; \ + k = __hash_func(key); i = k & mask; \ + last = i; \ + while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \ + i = (i + (++step)) & mask; \ + if (i == last) return h->n_buckets; \ + } \ + return __ac_iseither(h->flags, i)? h->n_buckets : i; \ + } else return 0; \ + } \ + SCOPE int kh_resize_##name(kh_##name##_t *h, khint_t new_n_buckets) \ + { /* This function uses 0.25*n_buckets bytes of working space instead of [sizeof(key_t+val_t)+.25]*n_buckets. */ \ + khint32_t *new_flags = 0; \ + khint_t j = 1; \ + { \ + kroundup32(new_n_buckets); \ + if (new_n_buckets < 4) new_n_buckets = 4; \ + if (h->size >= (khint_t)(new_n_buckets * __ac_HASH_UPPER + 0.5)) j = 0; /* requested size is too small */ \ + else { /* hash table size to be changed (shrink or expand); rehash */ \ + new_flags = (khint32_t*)kmalloc(__ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ + if (!new_flags) return -1; \ + memset(new_flags, 0xaa, __ac_fsize(new_n_buckets) * sizeof(khint32_t)); \ + if (h->n_buckets < new_n_buckets) { /* expand */ \ + khkey_t *new_keys = (khkey_t*)krealloc((void *)h->keys, new_n_buckets * sizeof(khkey_t)); \ + if (!new_keys) { kfree(new_flags); return -1; } \ + h->keys = new_keys; \ + if (kh_is_map) { \ + khval_t *new_vals = (khval_t*)krealloc((void *)h->vals, new_n_buckets * sizeof(khval_t)); \ + if (!new_vals) { kfree(new_flags); return -1; } \ + h->vals = new_vals; \ + } \ + } /* otherwise shrink */ \ + } \ + } \ + if (j) { /* rehashing is needed */ \ + for (j = 0; j != h->n_buckets; ++j) { \ + if (__ac_iseither(h->flags, j) == 0) { \ + khkey_t key = h->keys[j]; \ + khval_t val; \ + khint_t new_mask; \ + new_mask = new_n_buckets - 1; \ + if (kh_is_map) val = h->vals[j]; \ + __ac_set_isdel_true(h->flags, j); \ + while (1) { /* kick-out process; sort of like in Cuckoo hashing */ \ + khint_t k, i, step = 0; \ + k = __hash_func(key); \ + i = k & new_mask; \ + while (!__ac_isempty(new_flags, i)) i = (i + (++step)) & new_mask; \ + __ac_set_isempty_false(new_flags, i); \ + if (i < h->n_buckets && __ac_iseither(h->flags, i) == 0) { /* kick out the existing element */ \ + { khkey_t tmp = h->keys[i]; h->keys[i] = key; key = tmp; } \ + if (kh_is_map) { khval_t tmp = h->vals[i]; h->vals[i] = val; val = tmp; } \ + __ac_set_isdel_true(h->flags, i); /* mark it as deleted in the old hash table */ \ + } else { /* write the element and jump out of the loop */ \ + h->keys[i] = key; \ + if (kh_is_map) h->vals[i] = val; \ + break; \ + } \ + } \ + } \ + } \ + if (h->n_buckets > new_n_buckets) { /* shrink the hash table */ \ + h->keys = (khkey_t*)krealloc((void *)h->keys, new_n_buckets * sizeof(khkey_t)); \ + if (kh_is_map) h->vals = (khval_t*)krealloc((void *)h->vals, new_n_buckets * sizeof(khval_t)); \ + } \ + kfree(h->flags); /* free the working space */ \ + h->flags = new_flags; \ + h->n_buckets = new_n_buckets; \ + h->n_occupied = h->size; \ + h->upper_bound = (khint_t)(h->n_buckets * __ac_HASH_UPPER + 0.5); \ + } \ + return 0; \ + } \ + SCOPE khint_t kh_put_##name(kh_##name##_t *h, khkey_t key, int *ret) \ + { \ + khint_t x; \ + if (h->n_occupied >= h->upper_bound) { /* update the hash table */ \ + if (h->n_buckets > (h->size<<1)) { \ + if (kh_resize_##name(h, h->n_buckets - 1) < 0) { /* clear "deleted" elements */ \ + *ret = -1; return h->n_buckets; \ + } \ + } else if (kh_resize_##name(h, h->n_buckets + 1) < 0) { /* expand the hash table */ \ + *ret = -1; return h->n_buckets; \ + } \ + } /* TODO: to implement automatically shrinking; resize() already support shrinking */ \ + { \ + khint_t k, i, site, last, mask = h->n_buckets - 1, step = 0; \ + x = site = h->n_buckets; k = __hash_func(key); i = k & mask; \ + if (__ac_isempty(h->flags, i)) x = i; /* for speed up */ \ + else { \ + last = i; \ + while (!__ac_isempty(h->flags, i) && (__ac_isdel(h->flags, i) || !__hash_equal(h->keys[i], key))) { \ + if (__ac_isdel(h->flags, i)) site = i; \ + i = (i + (++step)) & mask; \ + if (i == last) { x = site; break; } \ + } \ + if (x == h->n_buckets) { \ + if (__ac_isempty(h->flags, i) && site != h->n_buckets) x = site; \ + else x = i; \ + } \ + } \ + } \ + if (__ac_isempty(h->flags, x)) { /* not present at all */ \ + h->keys[x] = key; \ + __ac_set_isboth_false(h->flags, x); \ + ++h->size; ++h->n_occupied; \ + *ret = 1; \ + } else if (__ac_isdel(h->flags, x)) { /* deleted */ \ + h->keys[x] = key; \ + __ac_set_isboth_false(h->flags, x); \ + ++h->size; \ + *ret = 2; \ + } else *ret = 0; /* Don't touch h->keys[x] if present and not deleted */ \ + return x; \ + } \ + SCOPE void kh_del_##name(kh_##name##_t *h, khint_t x) \ + { \ + if (x != h->n_buckets && !__ac_iseither(h->flags, x)) { \ + __ac_set_isdel_true(h->flags, x); \ + --h->size; \ + } \ + } + +#define KHASH_DECLARE(name, khkey_t, khval_t) \ + __KHASH_TYPE(name, khkey_t, khval_t) \ + __KHASH_PROTOTYPES(name, khkey_t, khval_t) + +#define KHASH_INIT2(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ + __KHASH_TYPE(name, khkey_t, khval_t) \ + __KHASH_IMPL(name, SCOPE, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) + +#define KHASH_INIT(name, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) \ + KHASH_INIT2(name, static kh_inline, khkey_t, khval_t, kh_is_map, __hash_func, __hash_equal) + +/* --- BEGIN OF HASH FUNCTIONS --- */ + +/*! @function + @abstract Integer hash function + @param key The integer [khint32_t] + @return The hash value [khint_t] + */ +#define kh_int_hash_func(key) (khint32_t)(key) +/*! @function + @abstract Integer comparison function + */ +#define kh_int_hash_equal(a, b) ((a) == (b)) +/*! @function + @abstract 64-bit integer hash function + @param key The integer [khint64_t] + @return The hash value [khint_t] + */ +#define kh_int64_hash_func(key) (khint32_t)((key)>>33^(key)^(key)<<11) +/*! @function + @abstract 64-bit integer comparison function + */ +#define kh_int64_hash_equal(a, b) ((a) == (b)) +/*! @function + @abstract const char* hash function + @param s Pointer to a null terminated string + @return The hash value + */ +static kh_inline khint_t __ac_X31_hash_string(const char *s) +{ + khint_t h = (khint_t)*s; + if (h) for (++s ; *s; ++s) h = (h << 5) - h + (khint_t)*s; + return h; +} +/*! @function + @abstract Another interface to const char* hash function + @param key Pointer to a null terminated string [const char*] + @return The hash value [khint_t] + */ +#define kh_str_hash_func(key) __ac_X31_hash_string(key) +/*! @function + @abstract Const char* comparison function + */ +#define kh_str_hash_equal(a, b) (strcmp(a, b) == 0) + +static kh_inline khint_t __ac_Wang_hash(khint_t key) +{ + key += ~(key << 15); + key ^= (key >> 10); + key += (key << 3); + key ^= (key >> 6); + key += ~(key << 11); + key ^= (key >> 16); + return key; +} +#define kh_int_hash_func2(k) __ac_Wang_hash((khint_t)key) + +/* --- END OF HASH FUNCTIONS --- */ + +/* Other convenient macros... */ + +/*! + @abstract Type of the hash table. + @param name Name of the hash table [symbol] + */ +#define khash_t(name) kh_##name##_t + +/*! @function + @abstract Initiate a hash table. + @param name Name of the hash table [symbol] + @return Pointer to the hash table [khash_t(name)*] + */ +#define kh_init(name) kh_init_##name() + +/*! @function + @abstract Destroy a hash table. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + */ +#define kh_destroy(name, h) kh_destroy_##name(h) + +/*! @function + @abstract Reset a hash table without deallocating memory. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + */ +#define kh_clear(name, h) kh_clear_##name(h) + +/*! @function + @abstract Resize a hash table. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + @param s New size [khint_t] + */ +#define kh_resize(name, h, s) kh_resize_##name(h, s) + +/*! @function + @abstract Insert a key to the hash table. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + @param k Key [type of keys] + @param r Extra return code: -1 if the operation failed; + 0 if the key is present in the hash table; + 1 if the bucket is empty (never used); 2 if the element in + the bucket has been deleted [int*] + @return Iterator to the inserted element [khint_t] + */ +#define kh_put(name, h, k, r) kh_put_##name(h, k, r) + +/*! @function + @abstract Retrieve a key from the hash table. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + @param k Key [type of keys] + @return Iterator to the found element, or kh_end(h) if the element is absent [khint_t] + */ +#define kh_get(name, h, k) kh_get_##name(h, k) + +/*! @function + @abstract Remove a key from the hash table. + @param name Name of the hash table [symbol] + @param h Pointer to the hash table [khash_t(name)*] + @param k Iterator to the element to be deleted [khint_t] + */ +#define kh_del(name, h, k) kh_del_##name(h, k) + +/*! @function + @abstract Test whether a bucket contains data. + @param h Pointer to the hash table [khash_t(name)*] + @param x Iterator to the bucket [khint_t] + @return 1 if containing data; 0 otherwise [int] + */ +#define kh_exist(h, x) (!__ac_iseither((h)->flags, (x))) + +/*! @function + @abstract Get key given an iterator + @param h Pointer to the hash table [khash_t(name)*] + @param x Iterator to the bucket [khint_t] + @return Key [type of keys] + */ +#define kh_key(h, x) ((h)->keys[x]) + +/*! @function + @abstract Get value given an iterator + @param h Pointer to the hash table [khash_t(name)*] + @param x Iterator to the bucket [khint_t] + @return Value [type of values] + @discussion For hash sets, calling this results in segfault. + */ +#define kh_val(h, x) ((h)->vals[x]) + +/*! @function + @abstract Alias of kh_val() + */ +#define kh_value(h, x) ((h)->vals[x]) + +/*! @function + @abstract Get the start iterator + @param h Pointer to the hash table [khash_t(name)*] + @return The start iterator [khint_t] + */ +#define kh_begin(h) (khint_t)(0) + +/*! @function + @abstract Get the end iterator + @param h Pointer to the hash table [khash_t(name)*] + @return The end iterator [khint_t] + */ +#define kh_end(h) ((h)->n_buckets) + +/*! @function + @abstract Get the number of elements in the hash table + @param h Pointer to the hash table [khash_t(name)*] + @return Number of elements in the hash table [khint_t] + */ +#define kh_size(h) ((h)->size) + +/*! @function + @abstract Get the number of buckets in the hash table + @param h Pointer to the hash table [khash_t(name)*] + @return Number of buckets in the hash table [khint_t] + */ +#define kh_n_buckets(h) ((h)->n_buckets) + +/*! @function + @abstract Iterate over the entries in the hash table + @param h Pointer to the hash table [khash_t(name)*] + @param kvar Variable to which key will be assigned + @param vvar Variable to which value will be assigned + @param code Block of code to execute + */ +#define kh_foreach(h, kvar, vvar, code) { khint_t __i; \ + for (__i = kh_begin(h); __i != kh_end(h); ++__i) { \ + if (!kh_exist(h,__i)) continue; \ + (kvar) = kh_key(h,__i); \ + (vvar) = kh_val(h,__i); \ + code; \ + } } + +/*! @function + @abstract Iterate over the values in the hash table + @param h Pointer to the hash table [khash_t(name)*] + @param vvar Variable to which value will be assigned + @param code Block of code to execute + */ +#define kh_foreach_value(h, vvar, code) { khint_t __i; \ + for (__i = kh_begin(h); __i != kh_end(h); ++__i) { \ + if (!kh_exist(h,__i)) continue; \ + (vvar) = kh_val(h,__i); \ + code; \ + } } + +/* More conenient interfaces */ + +/*! @function + @abstract Instantiate a hash set containing integer keys + @param name Name of the hash table [symbol] + */ +#define KHASH_SET_INIT_INT(name) \ + KHASH_INIT(name, khint32_t, char, 0, kh_int_hash_func, kh_int_hash_equal) + +/*! @function + @abstract Instantiate a hash map containing integer keys + @param name Name of the hash table [symbol] + @param khval_t Type of values [type] + */ +#define KHASH_MAP_INIT_INT(name, khval_t) \ + KHASH_INIT(name, khint32_t, khval_t, 1, kh_int_hash_func, kh_int_hash_equal) + +/*! @function + @abstract Instantiate a hash map containing 64-bit integer keys + @param name Name of the hash table [symbol] + */ +#define KHASH_SET_INIT_INT64(name) \ + KHASH_INIT(name, khint64_t, char, 0, kh_int64_hash_func, kh_int64_hash_equal) + +/*! @function + @abstract Instantiate a hash map containing 64-bit integer keys + @param name Name of the hash table [symbol] + @param khval_t Type of values [type] + */ +#define KHASH_MAP_INIT_INT64(name, khval_t) \ + KHASH_INIT(name, khint64_t, khval_t, 1, kh_int64_hash_func, kh_int64_hash_equal) + +typedef const char *kh_cstr_t; +/*! @function + @abstract Instantiate a hash map containing const char* keys + @param name Name of the hash table [symbol] + */ +#define KHASH_SET_INIT_STR(name) \ + KHASH_INIT(name, kh_cstr_t, char, 0, kh_str_hash_func, kh_str_hash_equal) + +/*! @function + @abstract Instantiate a hash map containing const char* keys + @param name Name of the hash table [symbol] + @param khval_t Type of values [type] + */ +#define KHASH_MAP_INIT_STR(name, khval_t) \ + KHASH_INIT(name, kh_cstr_t, khval_t, 1, kh_str_hash_func, kh_str_hash_equal) + +#endif /* __AC_KHASH_H */ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/khash_str2int.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/khash_str2int.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,133 @@ +/* khash_str2int.h -- C-string to integer hash table. + + Copyright (C) 2013 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_KHASH_STR2INT_H +#define HTSLIB_KHASH_STR2INT_H + +#include + +KHASH_MAP_INIT_STR(str2int, int) + +/* + * Wrappers for khash dictionaries used by mpileup. + */ + +static inline void *khash_str2int_init(void) +{ + return kh_init(str2int); +} + +/* + * Destroy the hash structure, but not the keys + */ +static inline void khash_str2int_destroy(void *_hash) +{ + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + if (hash) kh_destroy(str2int, hash); // Note that strings are not freed. +} + +/* + * Destroys both the hash structure and the keys + */ +static inline void khash_str2int_destroy_free(void *_hash) +{ + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + khint_t k; + if (hash == 0) return; + for (k = 0; k < kh_end(hash); ++k) + if (kh_exist(hash, k)) free((char*)kh_key(hash, k)); + kh_destroy(str2int, hash); +} + +/* + * Returns 1 if key exists or 0 if not + */ +static inline int khash_str2int_has_key(void *_hash, const char *str) +{ + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + khint_t k = kh_get(str2int, hash, str); + if ( k == kh_end(hash) ) return 0; + return 1; +} + +/* + * Returns 0 on success and -1 when the key is not present. On success, + * *value is set, unless NULL is passed. + */ +static inline int khash_str2int_get(void *_hash, const char *str, int *value) +{ + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + khint_t k; + if ( !hash ) return -1; + k = kh_get(str2int, hash, str); + if ( k == kh_end(hash) ) return -1; + if ( !value ) return 0; + *value = kh_val(hash, k); + return 0; +} + +/* + * Add a new string to the dictionary, auto-incrementing the value. + * On success returns the newly inserted integer id, on error -1 + * is returned. Note that the key must continue to exist throughout + * the whole life of _hash. + */ +static inline int khash_str2int_inc(void *_hash, const char *str) +{ + khint_t k; + int ret; + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + if ( !hash ) return -1; + k = kh_put(str2int, hash, str, &ret); + if (ret == 0) return kh_val(hash, k); + kh_val(hash, k) = kh_size(hash) - 1; + return kh_val(hash, k); +} + +/* + * Set a new key,value pair. On success returns the bin index, on + * error -1 is returned. Note that the key must contnue to exist + * throughout the whole life of _hash. + */ +static inline int khash_str2int_set(void *_hash, const char *str, int value) +{ + khint_t k; + int ret; + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + if ( !hash ) return -1; + k = kh_put(str2int, hash, str, &ret); + kh_val(hash,k) = value; + return k; +} + +/* + * Return the number of keys in the hash table. + */ +static inline int khash_str2int_size(void *_hash) +{ + khash_t(str2int) *hash = (khash_t(str2int)*)_hash; + return kh_size(hash); +} + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/klist.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/klist.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,121 @@ +/* The MIT License + + Copyright (c) 2008-2009, by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef _AC_KLIST_H +#define _AC_KLIST_H + +#include + +#define KMEMPOOL_INIT(name, kmptype_t, kmpfree_f) \ + typedef struct { \ + size_t cnt, n, max; \ + kmptype_t **buf; \ + } kmp_##name##_t; \ + static inline kmp_##name##_t *kmp_init_##name(void) { \ + return calloc(1, sizeof(kmp_##name##_t)); \ + } \ + static inline void kmp_destroy_##name(kmp_##name##_t *mp) { \ + size_t k; \ + for (k = 0; k < mp->n; ++k) { \ + kmpfree_f(mp->buf[k]); free(mp->buf[k]); \ + } \ + free(mp->buf); free(mp); \ + } \ + static inline kmptype_t *kmp_alloc_##name(kmp_##name##_t *mp) { \ + ++mp->cnt; \ + if (mp->n == 0) return calloc(1, sizeof(kmptype_t)); \ + return mp->buf[--mp->n]; \ + } \ + static inline void kmp_free_##name(kmp_##name##_t *mp, kmptype_t *p) { \ + --mp->cnt; \ + if (mp->n == mp->max) { \ + mp->max = mp->max? mp->max<<1 : 16; \ + mp->buf = realloc(mp->buf, sizeof(kmptype_t *) * mp->max); \ + } \ + mp->buf[mp->n++] = p; \ + } + +#define kmempool_t(name) kmp_##name##_t +#define kmp_init(name) kmp_init_##name() +#define kmp_destroy(name, mp) kmp_destroy_##name(mp) +#define kmp_alloc(name, mp) kmp_alloc_##name(mp) +#define kmp_free(name, mp, p) kmp_free_##name(mp, p) + +#define KLIST_INIT(name, kltype_t, kmpfree_t) \ + struct __kl1_##name { \ + kltype_t data; \ + struct __kl1_##name *next; \ + }; \ + typedef struct __kl1_##name kl1_##name; \ + KMEMPOOL_INIT(name, kl1_##name, kmpfree_t) \ + typedef struct { \ + kl1_##name *head, *tail; \ + kmp_##name##_t *mp; \ + size_t size; \ + } kl_##name##_t; \ + static inline kl_##name##_t *kl_init_##name(void) { \ + kl_##name##_t *kl = calloc(1, sizeof(kl_##name##_t)); \ + kl->mp = kmp_init(name); \ + kl->head = kl->tail = kmp_alloc(name, kl->mp); \ + kl->head->next = 0; \ + return kl; \ + } \ + static inline void kl_destroy_##name(kl_##name##_t *kl) { \ + kl1_##name *p; \ + for (p = kl->head; p != kl->tail; p = p->next) \ + kmp_free(name, kl->mp, p); \ + kmp_free(name, kl->mp, p); \ + kmp_destroy(name, kl->mp); \ + free(kl); \ + } \ + static inline kltype_t *kl_pushp_##name(kl_##name##_t *kl) { \ + kl1_##name *q, *p = kmp_alloc(name, kl->mp); \ + q = kl->tail; p->next = 0; kl->tail->next = p; kl->tail = p; \ + ++kl->size; \ + return &q->data; \ + } \ + static inline int kl_shift_##name(kl_##name##_t *kl, kltype_t *d) { \ + kl1_##name *p; \ + if (kl->head->next == 0) return -1; \ + --kl->size; \ + p = kl->head; kl->head = kl->head->next; \ + if (d) *d = p->data; \ + kmp_free(name, kl->mp, p); \ + return 0; \ + } + +#define kliter_t(name) kl1_##name +#define klist_t(name) kl_##name##_t +#define kl_val(iter) ((iter)->data) +#define kl_next(iter) ((iter)->next) +#define kl_begin(kl) ((kl)->head) +#define kl_end(kl) ((kl)->tail) + +#define kl_init(name) kl_init_##name() +#define kl_destroy(name, kl) kl_destroy_##name(kl) +#define kl_pushp(name, kl) kl_pushp_##name(kl) +#define kl_shift(name, kl, d) kl_shift_##name(kl, d) + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/knetfile.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/knetfile.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,101 @@ +/* The MIT License + + Copyright (c) 2008 by Genome Research Ltd (GRL). + 2010 by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef KNETFILE_H +#define KNETFILE_H + +#include +#include + +#ifndef _WIN32 +#define netread(fd, ptr, len) read(fd, ptr, len) +#define netwrite(fd, ptr, len) write(fd, ptr, len) +#define netclose(fd) close(fd) +#else +#include +#define netread(fd, ptr, len) recv(fd, ptr, len, 0) +#define netwrite(fd, ptr, len) send(fd, ptr, len, 0) +#define netclose(fd) closesocket(fd) +#endif + +// FIXME: currently I/O is unbuffered + +#define KNF_TYPE_LOCAL 1 +#define KNF_TYPE_FTP 2 +#define KNF_TYPE_HTTP 3 + +typedef struct knetFile_s { + int type, fd; + int64_t offset; + char *host, *port; + + // the following are for FTP only + int ctrl_fd, pasv_ip[4], pasv_port, max_response, no_reconnect, is_ready; + char *response, *retr, *size_cmd; + int64_t seek_offset; // for lazy seek + int64_t file_size; + + // the following are for HTTP only + char *path, *http_host; +} knetFile; + +#define knet_tell(fp) ((fp)->offset) +#define knet_fileno(fp) ((fp)->fd) + +#ifdef __cplusplus +extern "C" { +#endif + +#ifdef _WIN32 + int knet_win32_init(); + void knet_win32_destroy(); +#endif + + knetFile *knet_open(const char *fn, const char *mode); + + /* + This only works with local files. + */ + knetFile *knet_dopen(int fd, const char *mode); + + /* + If ->is_ready==0, this routine updates ->fd; otherwise, it simply + reads from ->fd. + */ + ssize_t knet_read(knetFile *fp, void *buf, size_t len); + + /* + This routine only sets ->offset and ->is_ready=0. It does not + communicate with the FTP server. + */ + off_t knet_seek(knetFile *fp, off_t off, int whence); + int knet_close(knetFile *fp); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/kseq.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/kseq.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,253 @@ +/* The MIT License + + Copyright (c) 2008, 2009, 2011 Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* Last Modified: 05MAR2012 */ + +#ifndef AC_KSEQ_H +#define AC_KSEQ_H + +#include +#include +#include + +#define KS_SEP_SPACE 0 // isspace(): \t, \n, \v, \f, \r +#define KS_SEP_TAB 1 // isspace() && !' ' +#define KS_SEP_LINE 2 // line separator: "\n" (Unix) or "\r\n" (Windows) +#define KS_SEP_MAX 2 + +#define __KS_TYPE(type_t) \ + typedef struct __kstream_t { \ + int begin, end; \ + int is_eof:2, bufsize:30; \ + uint64_t seek_pos; \ + type_t f; \ + unsigned char *buf; \ + } kstream_t; + +#define ks_eof(ks) ((ks)->is_eof && (ks)->begin >= (ks)->end) +#define ks_rewind(ks) ((ks)->is_eof = (ks)->begin = (ks)->end = 0) + +#define __KS_BASIC(SCOPE, type_t, __bufsize) \ + SCOPE kstream_t *ks_init(type_t f) \ + { \ + kstream_t *ks = (kstream_t*)calloc(1, sizeof(kstream_t)); \ + ks->f = f; ks->bufsize = __bufsize; \ + ks->buf = (unsigned char*)malloc(__bufsize); \ + return ks; \ + } \ + SCOPE void ks_destroy(kstream_t *ks) \ + { \ + if (!ks) return; \ + free(ks->buf); \ + free(ks); \ + } + +#define __KS_INLINED(__read) \ + static inline int ks_getc(kstream_t *ks) \ + { \ + if (ks->is_eof && ks->begin >= ks->end) return -1; \ + if (ks->begin >= ks->end) { \ + ks->begin = 0; \ + ks->end = __read(ks->f, ks->buf, ks->bufsize); \ + if (ks->end == 0) { ks->is_eof = 1; return -1; } \ + } \ + ks->seek_pos++; \ + return (int)ks->buf[ks->begin++]; \ + } \ + static inline int ks_getuntil(kstream_t *ks, int delimiter, kstring_t *str, int *dret) \ + { return ks_getuntil2(ks, delimiter, str, dret, 0); } + +#ifndef KSTRING_T +#define KSTRING_T kstring_t +typedef struct __kstring_t { + size_t l, m; + char *s; +} kstring_t; +#endif + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +#define __KS_GETUNTIL(SCOPE, __read) \ + SCOPE int ks_getuntil2(kstream_t *ks, int delimiter, kstring_t *str, int *dret, int append) \ + { \ + int gotany = 0; \ + if (dret) *dret = 0; \ + str->l = append? str->l : 0; \ + uint64_t seek_pos = str->l; \ + for (;;) { \ + int i; \ + if (ks->begin >= ks->end) { \ + if (!ks->is_eof) { \ + ks->begin = 0; \ + ks->end = __read(ks->f, ks->buf, ks->bufsize); \ + if (ks->end == 0) { ks->is_eof = 1; break; } \ + } else break; \ + } \ + if (delimiter == KS_SEP_LINE) { \ + for (i = ks->begin; i < ks->end; ++i) \ + if (ks->buf[i] == '\n') break; \ + } else if (delimiter > KS_SEP_MAX) { \ + for (i = ks->begin; i < ks->end; ++i) \ + if (ks->buf[i] == delimiter) break; \ + } else if (delimiter == KS_SEP_SPACE) { \ + for (i = ks->begin; i < ks->end; ++i) \ + if (isspace(ks->buf[i])) break; \ + } else if (delimiter == KS_SEP_TAB) { \ + for (i = ks->begin; i < ks->end; ++i) \ + if (isspace(ks->buf[i]) && ks->buf[i] != ' ') break; \ + } else i = 0; /* never come to here! */ \ + if (str->m - str->l < (size_t)(i - ks->begin + 1)) { \ + str->m = str->l + (i - ks->begin) + 1; \ + kroundup32(str->m); \ + str->s = (char*)realloc(str->s, str->m); \ + } \ + seek_pos += i - ks->begin; if ( i < ks->end ) seek_pos++; \ + gotany = 1; \ + memcpy(str->s + str->l, ks->buf + ks->begin, i - ks->begin); \ + str->l = str->l + (i - ks->begin); \ + ks->begin = i + 1; \ + if (i < ks->end) { \ + if (dret) *dret = ks->buf[i]; \ + break; \ + } \ + } \ + if (!gotany && ks_eof(ks)) return -1; \ + ks->seek_pos += seek_pos; \ + if (str->s == 0) { \ + str->m = 1; \ + str->s = (char*)calloc(1, 1); \ + } else if (delimiter == KS_SEP_LINE && str->l > 1 && str->s[str->l-1] == '\r') --str->l; \ + str->s[str->l] = '\0'; \ + return str->l; \ + } + +#define KSTREAM_INIT2(SCOPE, type_t, __read, __bufsize) \ + __KS_TYPE(type_t) \ + __KS_BASIC(SCOPE, type_t, __bufsize) \ + __KS_GETUNTIL(SCOPE, __read) \ + __KS_INLINED(__read) + +#define KSTREAM_INIT(type_t, __read, __bufsize) KSTREAM_INIT2(static, type_t, __read, __bufsize) + +#define KSTREAM_DECLARE(type_t, __read) \ + __KS_TYPE(type_t) \ + extern int ks_getuntil2(kstream_t *ks, int delimiter, kstring_t *str, int *dret, int append); \ + extern kstream_t *ks_init(type_t f); \ + extern void ks_destroy(kstream_t *ks); \ + __KS_INLINED(__read) + +/****************** + * FASTA/Q parser * + ******************/ + +#define kseq_rewind(ks) ((ks)->last_char = (ks)->f->is_eof = (ks)->f->begin = (ks)->f->end = 0) + +#define __KSEQ_BASIC(SCOPE, type_t) \ + SCOPE kseq_t *kseq_init(type_t fd) \ + { \ + kseq_t *s = (kseq_t*)calloc(1, sizeof(kseq_t)); \ + s->f = ks_init(fd); \ + return s; \ + } \ + SCOPE void kseq_destroy(kseq_t *ks) \ + { \ + if (!ks) return; \ + free(ks->name.s); free(ks->comment.s); free(ks->seq.s); free(ks->qual.s); \ + ks_destroy(ks->f); \ + free(ks); \ + } + +/* Return value: + >=0 length of the sequence (normal) + -1 end-of-file + -2 truncated quality string + */ +#define __KSEQ_READ(SCOPE) \ + SCOPE int kseq_read(kseq_t *seq) \ + { \ + int c; \ + kstream_t *ks = seq->f; \ + if (seq->last_char == 0) { /* then jump to the next header line */ \ + while ((c = ks_getc(ks)) != -1 && c != '>' && c != '@'); \ + if (c == -1) return -1; /* end of file */ \ + seq->last_char = c; \ + } /* else: the first header char has been read in the previous call */ \ + seq->comment.l = seq->seq.l = seq->qual.l = 0; /* reset all members */ \ + if (ks_getuntil(ks, 0, &seq->name, &c) < 0) return -1; /* normal exit: EOF */ \ + if (c != '\n') ks_getuntil(ks, KS_SEP_LINE, &seq->comment, 0); /* read FASTA/Q comment */ \ + if (seq->seq.s == 0) { /* we can do this in the loop below, but that is slower */ \ + seq->seq.m = 256; \ + seq->seq.s = (char*)malloc(seq->seq.m); \ + } \ + while ((c = ks_getc(ks)) != -1 && c != '>' && c != '+' && c != '@') { \ + if (c == '\n') continue; /* skip empty lines */ \ + seq->seq.s[seq->seq.l++] = c; /* this is safe: we always have enough space for 1 char */ \ + ks_getuntil2(ks, KS_SEP_LINE, &seq->seq, 0, 1); /* read the rest of the line */ \ + } \ + if (c == '>' || c == '@') seq->last_char = c; /* the first header char has been read */ \ + if (seq->seq.l + 1 >= seq->seq.m) { /* seq->seq.s[seq->seq.l] below may be out of boundary */ \ + seq->seq.m = seq->seq.l + 2; \ + kroundup32(seq->seq.m); /* rounded to the next closest 2^k */ \ + seq->seq.s = (char*)realloc(seq->seq.s, seq->seq.m); \ + } \ + seq->seq.s[seq->seq.l] = 0; /* null terminated string */ \ + if (c != '+') return seq->seq.l; /* FASTA */ \ + if (seq->qual.m < seq->seq.m) { /* allocate memory for qual in case insufficient */ \ + seq->qual.m = seq->seq.m; \ + seq->qual.s = (char*)realloc(seq->qual.s, seq->qual.m); \ + } \ + while ((c = ks_getc(ks)) != -1 && c != '\n'); /* skip the rest of '+' line */ \ + if (c == -1) return -2; /* error: no quality string */ \ + while (ks_getuntil2(ks, KS_SEP_LINE, &seq->qual, 0, 1) >= 0 && seq->qual.l < seq->seq.l); \ + seq->last_char = 0; /* we have not come to the next header line */ \ + if (seq->seq.l != seq->qual.l) return -2; /* error: qual string is of a different length */ \ + return seq->seq.l; \ + } + +#define __KSEQ_TYPE(type_t) \ + typedef struct { \ + kstring_t name, comment, seq, qual; \ + int last_char; \ + kstream_t *f; \ + } kseq_t; + +#define KSEQ_INIT2(SCOPE, type_t, __read) \ + KSTREAM_INIT(type_t, __read, 16384) \ + __KSEQ_TYPE(type_t) \ + __KSEQ_BASIC(SCOPE, type_t) \ + __KSEQ_READ(SCOPE) + +#define KSEQ_INIT(type_t, __read) KSEQ_INIT2(static, type_t, __read) + +#define KSEQ_DECLARE(type_t) \ + __KS_TYPE(type_t) \ + __KSEQ_TYPE(type_t) \ + extern kseq_t *kseq_init(type_t fd); \ + void kseq_destroy(kseq_t *ks); \ + int kseq_read(kseq_t *seq); + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/ksort.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/ksort.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,285 @@ +/* The MIT License + + Copyright (c) 2008 Genome Research Ltd (GRL). + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* Contact: Heng Li */ + +/* + 2012-12-11 (0.1.4): + + * Defined __ks_insertsort_##name as static to compile with C99. + + 2008-11-16 (0.1.4): + + * Fixed a bug in introsort() that happens in rare cases. + + 2008-11-05 (0.1.3): + + * Fixed a bug in introsort() for complex comparisons. + + * Fixed a bug in mergesort(). The previous version is not stable. + + 2008-09-15 (0.1.2): + + * Accelerated introsort. On my Mac (not on another Linux machine), + my implementation is as fast as std::sort on random input. + + * Added combsort and in introsort, switch to combsort if the + recursion is too deep. + + 2008-09-13 (0.1.1): + + * Added k-small algorithm + + 2008-09-05 (0.1.0): + + * Initial version + +*/ + +#ifndef AC_KSORT_H +#define AC_KSORT_H + +#include +#include + +typedef struct { + void *left, *right; + int depth; +} ks_isort_stack_t; + +#define KSORT_SWAP(type_t, a, b) { register type_t t=(a); (a)=(b); (b)=t; } + +#define KSORT_INIT(name, type_t, __sort_lt) \ + void ks_mergesort_##name(size_t n, type_t array[], type_t temp[]) \ + { \ + type_t *a2[2], *a, *b; \ + int curr, shift; \ + \ + a2[0] = array; \ + a2[1] = temp? temp : (type_t*)malloc(sizeof(type_t) * n); \ + for (curr = 0, shift = 0; (1ul<> 1) - 1; i != (size_t)(-1); --i) \ + ks_heapadjust_##name(i, lsize, l); \ + } \ + void ks_heapsort_##name(size_t lsize, type_t l[]) \ + { \ + size_t i; \ + for (i = lsize - 1; i > 0; --i) { \ + type_t tmp; \ + tmp = *l; *l = l[i]; l[i] = tmp; ks_heapadjust_##name(0, i, l); \ + } \ + } \ + static inline void __ks_insertsort_##name(type_t *s, type_t *t) \ + { \ + type_t *i, *j, swap_tmp; \ + for (i = s + 1; i < t; ++i) \ + for (j = i; j > s && __sort_lt(*j, *(j-1)); --j) { \ + swap_tmp = *j; *j = *(j-1); *(j-1) = swap_tmp; \ + } \ + } \ + void ks_combsort_##name(size_t n, type_t a[]) \ + { \ + const double shrink_factor = 1.2473309501039786540366528676643; \ + int do_swap; \ + size_t gap = n; \ + type_t tmp, *i, *j; \ + do { \ + if (gap > 2) { \ + gap = (size_t)(gap / shrink_factor); \ + if (gap == 9 || gap == 10) gap = 11; \ + } \ + do_swap = 0; \ + for (i = a; i < a + n - gap; ++i) { \ + j = i + gap; \ + if (__sort_lt(*j, *i)) { \ + tmp = *i; *i = *j; *j = tmp; \ + do_swap = 1; \ + } \ + } \ + } while (do_swap || gap > 2); \ + if (gap != 1) __ks_insertsort_##name(a, a + n); \ + } \ + void ks_introsort_##name(size_t n, type_t a[]) \ + { \ + int d; \ + ks_isort_stack_t *top, *stack; \ + type_t rp, swap_tmp; \ + type_t *s, *t, *i, *j, *k; \ + \ + if (n < 1) return; \ + else if (n == 2) { \ + if (__sort_lt(a[1], a[0])) { swap_tmp = a[0]; a[0] = a[1]; a[1] = swap_tmp; } \ + return; \ + } \ + for (d = 2; 1ul<>1) + 1; \ + if (__sort_lt(*k, *i)) { \ + if (__sort_lt(*k, *j)) k = j; \ + } else k = __sort_lt(*j, *i)? i : j; \ + rp = *k; \ + if (k != t) { swap_tmp = *k; *k = *t; *t = swap_tmp; } \ + for (;;) { \ + do ++i; while (__sort_lt(*i, rp)); \ + do --j; while (i <= j && __sort_lt(rp, *j)); \ + if (j <= i) break; \ + swap_tmp = *i; *i = *j; *j = swap_tmp; \ + } \ + swap_tmp = *i; *i = *t; *t = swap_tmp; \ + if (i-s > t-i) { \ + if (i-s > 16) { top->left = s; top->right = i-1; top->depth = d; ++top; } \ + s = t-i > 16? i+1 : t; \ + } else { \ + if (t-i > 16) { top->left = i+1; top->right = t; top->depth = d; ++top; } \ + t = i-s > 16? i-1 : s; \ + } \ + } else { \ + if (top == stack) { \ + free(stack); \ + __ks_insertsort_##name(a, a+n); \ + return; \ + } else { --top; s = (type_t*)top->left; t = (type_t*)top->right; d = top->depth; } \ + } \ + } \ + } \ + /* This function is adapted from: http://ndevilla.free.fr/median/ */ \ + /* 0 <= kk < n */ \ + type_t ks_ksmall_##name(size_t n, type_t arr[], size_t kk) \ + { \ + type_t *low, *high, *k, *ll, *hh, *mid; \ + low = arr; high = arr + n - 1; k = arr + kk; \ + for (;;) { \ + if (high <= low) return *k; \ + if (high == low + 1) { \ + if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \ + return *k; \ + } \ + mid = low + (high - low) / 2; \ + if (__sort_lt(*high, *mid)) KSORT_SWAP(type_t, *mid, *high); \ + if (__sort_lt(*high, *low)) KSORT_SWAP(type_t, *low, *high); \ + if (__sort_lt(*low, *mid)) KSORT_SWAP(type_t, *mid, *low); \ + KSORT_SWAP(type_t, *mid, *(low+1)); \ + ll = low + 1; hh = high; \ + for (;;) { \ + do ++ll; while (__sort_lt(*ll, *low)); \ + do --hh; while (__sort_lt(*low, *hh)); \ + if (hh < ll) break; \ + KSORT_SWAP(type_t, *ll, *hh); \ + } \ + KSORT_SWAP(type_t, *low, *hh); \ + if (hh <= k) low = ll; \ + if (hh >= k) high = hh - 1; \ + } \ + } \ + void ks_shuffle_##name(size_t n, type_t a[]) \ + { \ + int i, j; \ + for (i = n; i > 1; --i) { \ + type_t tmp; \ + j = (int)(drand48() * i); \ + tmp = a[j]; a[j] = a[i-1]; a[i-1] = tmp; \ + } \ + } + +#define ks_mergesort(name, n, a, t) ks_mergesort_##name(n, a, t) +#define ks_introsort(name, n, a) ks_introsort_##name(n, a) +#define ks_combsort(name, n, a) ks_combsort_##name(n, a) +#define ks_heapsort(name, n, a) ks_heapsort_##name(n, a) +#define ks_heapmake(name, n, a) ks_heapmake_##name(n, a) +#define ks_heapadjust(name, i, n, a) ks_heapadjust_##name(i, n, a) +#define ks_ksmall(name, n, a, k) ks_ksmall_##name(n, a, k) +#define ks_shuffle(name, n, a) ks_shuffle_##name(n, a) + +#define ks_lt_generic(a, b) ((a) < (b)) +#define ks_lt_str(a, b) (strcmp((a), (b)) < 0) + +typedef const char *ksstr_t; + +#define KSORT_INIT_GENERIC(type_t) KSORT_INIT(type_t, type_t, ks_lt_generic) +#define KSORT_INIT_STR KSORT_INIT(str, ksstr_t, ks_lt_str) + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/kstring.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/kstring.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,270 @@ +/* The MIT License + + Copyright (C) 2011 by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#ifndef KSTRING_H +#define KSTRING_H + +#include +#include +#include +#include +#include + +#ifndef kroundup32 +#define kroundup32(x) (--(x), (x)|=(x)>>1, (x)|=(x)>>2, (x)|=(x)>>4, (x)|=(x)>>8, (x)|=(x)>>16, ++(x)) +#endif + +#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ > 4) +#define KS_ATTR_PRINTF(fmt, arg) __attribute__((__format__ (__printf__, fmt, arg))) +#else +#define KS_ATTR_PRINTF(fmt, arg) +#endif + + +/* kstring_t is a simple non-opaque type whose fields are likely to be + * used directly by user code (but see also ks_str() and ks_len() below). + * A kstring_t object is initialised by either of + * kstring_t str = { 0, 0, NULL }; + * kstring_t str; ...; str.l = str.m = 0; str.s = NULL; + * and either ownership of the underlying buffer should be given away before + * the object disappears (see ks_release() below) or the kstring_t should be + * destroyed with free(str.s); */ +#ifndef KSTRING_T +#define KSTRING_T kstring_t +typedef struct __kstring_t { + size_t l, m; + char *s; +} kstring_t; +#endif + +typedef struct { + uint64_t tab[4]; + int sep, finished; + const char *p; // end of the current token +} ks_tokaux_t; + +#ifdef __cplusplus +extern "C" { +#endif + + int kvsprintf(kstring_t *s, const char *fmt, va_list ap) KS_ATTR_PRINTF(2,0); + int ksprintf(kstring_t *s, const char *fmt, ...) KS_ATTR_PRINTF(2,3); + int ksplit_core(char *s, int delimiter, int *_max, int **_offsets); + char *kstrstr(const char *str, const char *pat, int **_prep); + char *kstrnstr(const char *str, const char *pat, int n, int **_prep); + void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep); + + /* kstrtok() is similar to strtok_r() except that str is not + * modified and both str and sep can be NULL. For efficiency, it is + * actually recommended to set both to NULL in the subsequent calls + * if sep is not changed. */ + char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux); + +#ifdef __cplusplus +} +#endif + +static inline int ks_resize(kstring_t *s, size_t size) +{ + if (s->m < size) { + char *tmp; + s->m = size; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return -1; + } + return 0; +} + +static inline char *ks_str(kstring_t *s) +{ + return s->s; +} + +static inline size_t ks_len(kstring_t *s) +{ + return s->l; +} + +// Give ownership of the underlying buffer away to something else (making +// that something else responsible for freeing it), leaving the kstring_t +// empty and ready to be used again, or ready to go out of scope without +// needing free(str.s) to prevent a memory leak. +static inline char *ks_release(kstring_t *s) +{ + char *ss = s->s; + s->l = s->m = 0; + s->s = NULL; + return ss; +} + +static inline int kputsn(const char *p, int l, kstring_t *s) +{ + if (s->l + l + 1 >= s->m) { + char *tmp; + s->m = s->l + l + 2; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + memcpy(s->s + s->l, p, l); + s->l += l; + s->s[s->l] = 0; + return l; +} + +static inline int kputs(const char *p, kstring_t *s) +{ + return kputsn(p, strlen(p), s); +} + +static inline int kputc(int c, kstring_t *s) +{ + if (s->l + 1 >= s->m) { + char *tmp; + s->m = s->l + 2; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + s->s[s->l++] = c; + s->s[s->l] = 0; + return c; +} + +static inline int kputc_(int c, kstring_t *s) +{ + if (s->l + 1 > s->m) { + char *tmp; + s->m = s->l + 1; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + s->s[s->l++] = c; + return 1; +} + +static inline int kputsn_(const void *p, int l, kstring_t *s) +{ + if (s->l + l > s->m) { + char *tmp; + s->m = s->l + l; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + memcpy(s->s + s->l, p, l); + s->l += l; + return l; +} + +static inline int kputw(int c, kstring_t *s) +{ + char buf[16]; + int i, l = 0; + unsigned int x = c; + if (c < 0) x = -x; + do { buf[l++] = x%10 + '0'; x /= 10; } while (x > 0); + if (c < 0) buf[l++] = '-'; + if (s->l + l + 1 >= s->m) { + char *tmp; + s->m = s->l + l + 2; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; + s->s[s->l] = 0; + return 0; +} + +static inline int kputuw(unsigned c, kstring_t *s) +{ + char buf[16]; + int l, i; + unsigned x; + if (c == 0) return kputc('0', s); + for (l = 0, x = c; x > 0; x /= 10) buf[l++] = x%10 + '0'; + if (s->l + l + 1 >= s->m) { + char *tmp; + s->m = s->l + l + 2; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; + s->s[s->l] = 0; + return 0; +} + +static inline int kputl(long c, kstring_t *s) +{ + char buf[32]; + int i, l = 0; + unsigned long x = c; + if (c < 0) x = -x; + do { buf[l++] = x%10 + '0'; x /= 10; } while (x > 0); + if (c < 0) buf[l++] = '-'; + if (s->l + l + 1 >= s->m) { + char *tmp; + s->m = s->l + l + 2; + kroundup32(s->m); + if ((tmp = (char*)realloc(s->s, s->m))) + s->s = tmp; + else + return EOF; + } + for (i = l - 1; i >= 0; --i) s->s[s->l++] = buf[i]; + s->s[s->l] = 0; + return 0; +} + +/* + * Returns 's' split by delimiter, with *n being the number of components; + * NULL on failue. + */ +static inline int *ksplit(kstring_t *s, int delimiter, int *n) +{ + int max = 0, *offsets = 0; + *n = ksplit_core(s->s, delimiter, &max, &offsets); + return offsets; +} + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/regidx.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/regidx.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,147 @@ +/* + Copyright (C) 2014 Genome Research Ltd. + + Author: Petr Danecek + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +/* + Regions indexing with an optional payload. Inspired by samtools/bedidx.c. + This code is intended as future replacement of bcf_sr_regions_t. + + Example of usage: + + // Init the parser and print regions. In this example the payload is a + // pointer to a string. For the description of parse_custom and + // free_custom functions, see regidx_parse_f and regidx_free_f below, + // and for working example see test/test-regidx.c. + regidx_t *idx = regidx_init(in_fname,parse_custom,free_custom,sizeof(char*),NULL); + + // Query overlap with chr:from-to + regitr_t itr; + if ( regidx_overlap(idx, chr,from,to, &itr) ) printf("There is an overlap!\n"); + + while ( REGITR_OVERLAP(itr,from,to) ) + { + printf("[%d,%d] overlaps with [%d,%d], payload=%s\n", from,to, + REGITR_START(itr), REGITR_END(itr), REGITR_PAYLOAD(itr,char*)); + itr.i++; + } + + regidx_destroy(regs); +*/ + +#ifndef HTSLIB_REGIDX_H +#define HTSLIB_REGIDX_H + +#include +#include + +typedef struct _regidx_t regidx_t; +typedef struct +{ + uint32_t start, end; +} +reg_t; +typedef struct +{ + int i, n; + reg_t *reg; + void *payload; +} +regitr_t; + +#define REGITR_START(itr) (itr).reg[(itr).i].start +#define REGITR_END(itr) (itr).reg[(itr).i].end +#define REGITR_PAYLOAD(itr,type_t) ((type_t*)(itr).payload)[(itr).i] +#define REGITR_OVERLAP(itr,from,to) (itr.i < itr.n && REGITR_START(itr)<=to && REGITR_END(itr)>=from ) + +/* + * regidx_parse_f - Function to parse one input line, such as regidx_parse_bed + * or regidx_parse_tab below. The function is expected to set `chr_from` and + * `chr_to` to point to first and last character of chromosome name and set + * coordinates `reg->start` and `reg->end` (0-based, inclusive). If + * regidx_init() was called with non-zero payload_size, the `payload` points + * to a memory location of the payload_size and `usr` is data passed to + * regidx_init(). Any memory allocated by the function will be freed by + * regidx_free_f on regidx_destroy(). + * + * Return value: 0 on success, -1 to skip a record, -2 on fatal error. + */ +typedef int (*regidx_parse_f)(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr); +typedef void (*regidx_free_f)(void *payload); + +int regidx_parse_bed(const char*,char**,char**,reg_t*,void*,void*); // CHROM,FROM,TO (0-based,right-open) +int regidx_parse_tab(const char*,char**,char**,reg_t*,void*,void*); // CHROM,POS (1-based, inclusive) + +/* + * regidx_init() - creates new index + * @param fname: input file name or NULL if regions will be added one-by-one via regidx_insert() + * @param parsef: regidx_parse_bed, regidx_parse_tab or see description of regidx_parse_f. If NULL, + * the format will be autodected, currently either regidx_parse_tab (the default) or + * regidx_parse_bed (file must be named 'bed' or 'bed.gz') will be used. Note that + * the exact autodetection algorithm will change. + * @param freef: NULL or see description of regidx_parse_f + * @param payload_size: 0 with regidx_parse_bed, regidx_parse_tab or see regidx_parse_f + * @param usr: optional user data passed to regidx_parse_f + * + * Returns index on success or NULL on error. + */ +regidx_t *regidx_init(const char *fname, regidx_parse_f parsef, regidx_free_f freef, size_t payload_size, void *usr); + +/* + * regidx_destroy() - free memory allocated by regidx_init + */ +void regidx_destroy(regidx_t *idx); + +/* + * regidx_overlap() - check overlap of the location chr:from-to with regions + * @param start,end: 0-based start, end coordinate (inclusive) + * @param itr: pointer to iterator, can be NULL if not needed + * + * Returns 0 if there is no overlap or 1 if overlap is found. The overlapping + * regions can be iterated as shown in the example above. + */ +int regidx_overlap(regidx_t *idx, const char *chr, uint32_t start, uint32_t end, regitr_t *itr); + +/* + * regidx_insert() - add a new region. + * + * After last region has been added, call regidx_insert(idx,NULL) to + * build the index. + * + * Returns 0 on success or -1 on error. + */ +int regidx_insert(regidx_t *idx, char *line); + +/* + * regidx_seq_names() - return list of all sequence names + */ +char **regidx_seq_names(regidx_t *idx, int *n); + +/* + * regidx_seq_nregs() - number of regions + * regidx_nregs() - total number of regions + */ +int regidx_seq_nregs(regidx_t *idx, const char *seq); +int regidx_nregs(regidx_t *idx); + +#endif + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/sam.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/sam.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,426 @@ +/* sam.h -- SAM and BAM file I/O and manipulation. + + Copyright (C) 2008, 2009, 2013-2014 Genome Research Ltd. + Copyright (C) 2010, 2012, 2013 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_SAM_H +#define HTSLIB_SAM_H + +#include +#include "hts.h" + +/********************** + *** SAM/BAM header *** + **********************/ + +/*! @typedef + @abstract Structure for the alignment header. + @field n_targets number of reference sequences + @field l_text length of the plain text in the header + @field target_len lengths of the reference sequences + @field target_name names of the reference sequences + @field text plain text + @field sdict header dictionary + */ + +typedef struct { + int32_t n_targets, ignore_sam_err; + uint32_t l_text; + uint32_t *target_len; + int8_t *cigar_tab; + char **target_name; + char *text; + void *sdict; +} bam_hdr_t; + +/**************************** + *** CIGAR related macros *** + ****************************/ + +#define BAM_CMATCH 0 +#define BAM_CINS 1 +#define BAM_CDEL 2 +#define BAM_CREF_SKIP 3 +#define BAM_CSOFT_CLIP 4 +#define BAM_CHARD_CLIP 5 +#define BAM_CPAD 6 +#define BAM_CEQUAL 7 +#define BAM_CDIFF 8 +#define BAM_CBACK 9 + +#define BAM_CIGAR_STR "MIDNSHP=XB" +#define BAM_CIGAR_SHIFT 4 +#define BAM_CIGAR_MASK 0xf +#define BAM_CIGAR_TYPE 0x3C1A7 + +#define bam_cigar_op(c) ((c)&BAM_CIGAR_MASK) +#define bam_cigar_oplen(c) ((c)>>BAM_CIGAR_SHIFT) +#define bam_cigar_opchr(c) (BAM_CIGAR_STR[bam_cigar_op(c)]) +#define bam_cigar_gen(l, o) ((l)<>((o)<<1)&3) // bit 1: consume query; bit 2: consume reference + +/*! @abstract the read is paired in sequencing, no matter whether it is mapped in a pair */ +#define BAM_FPAIRED 1 +/*! @abstract the read is mapped in a proper pair */ +#define BAM_FPROPER_PAIR 2 +/*! @abstract the read itself is unmapped; conflictive with BAM_FPROPER_PAIR */ +#define BAM_FUNMAP 4 +/*! @abstract the mate is unmapped */ +#define BAM_FMUNMAP 8 +/*! @abstract the read is mapped to the reverse strand */ +#define BAM_FREVERSE 16 +/*! @abstract the mate is mapped to the reverse strand */ +#define BAM_FMREVERSE 32 +/*! @abstract this is read1 */ +#define BAM_FREAD1 64 +/*! @abstract this is read2 */ +#define BAM_FREAD2 128 +/*! @abstract not primary alignment */ +#define BAM_FSECONDARY 256 +/*! @abstract QC failure */ +#define BAM_FQCFAIL 512 +/*! @abstract optical or PCR duplicate */ +#define BAM_FDUP 1024 +/*! @abstract supplementary alignment */ +#define BAM_FSUPPLEMENTARY 2048 + +/************************* + *** Alignment records *** + *************************/ + +/*! @typedef + @abstract Structure for core alignment information. + @field tid chromosome ID, defined by bam_hdr_t + @field pos 0-based leftmost coordinate + @field bin bin calculated by bam_reg2bin() + @field qual mapping quality + @field l_qname length of the query name + @field flag bitwise flag + @field n_cigar number of CIGAR operations + @field l_qseq length of the query sequence (read) + @field mtid chromosome ID of next read in template, defined by bam_hdr_t + @field mpos 0-based leftmost coordinate of next read in template + */ +typedef struct { + int32_t tid; + int32_t pos; + uint32_t bin:16, qual:8, l_qname:8; + uint32_t flag:16, n_cigar:16; + int32_t l_qseq; + int32_t mtid; + int32_t mpos; + int32_t isize; +} bam1_core_t; + +/*! @typedef + @abstract Structure for one alignment. + @field core core information about the alignment + @field l_data current length of bam1_t::data + @field m_data maximum length of bam1_t::data + @field data all variable-length data, concatenated; structure: qname-cigar-seq-qual-aux + + @discussion Notes: + + 1. qname is zero tailing and core.l_qname includes the tailing '\0'. + 2. l_qseq is calculated from the total length of an alignment block + on reading or from CIGAR. + 3. cigar data is encoded 4 bytes per CIGAR operation. + 4. seq is nybble-encoded according to bam_nt16_table. + */ +typedef struct { + bam1_core_t core; + int l_data, m_data; + uint8_t *data; +#ifndef BAM_NO_ID + uint64_t id; +#endif +} bam1_t; + +/*! @function + @abstract Get whether the query is on the reverse strand + @param b pointer to an alignment + @return boolean true if query is on the reverse strand + */ +#define bam_is_rev(b) (((b)->core.flag&BAM_FREVERSE) != 0) +/*! @function + @abstract Get whether the query's mate is on the reverse strand + @param b pointer to an alignment + @return boolean true if query's mate on the reverse strand + */ +#define bam_is_mrev(b) (((b)->core.flag&BAM_FMREVERSE) != 0) +/*! @function + @abstract Get the name of the query + @param b pointer to an alignment + @return pointer to the name string, null terminated + */ +#define bam_get_qname(b) ((char*)(b)->data) +/*! @function + @abstract Get the CIGAR array + @param b pointer to an alignment + @return pointer to the CIGAR array + + @discussion In the CIGAR array, each element is a 32-bit integer. The + lower 4 bits gives a CIGAR operation and the higher 28 bits keep the + length of a CIGAR. + */ +#define bam_get_cigar(b) ((uint32_t*)((b)->data + (b)->core.l_qname)) +/*! @function + @abstract Get query sequence + @param b pointer to an alignment + @return pointer to sequence + + @discussion Each base is encoded in 4 bits: 1 for A, 2 for C, 4 for G, + 8 for T and 15 for N. Two bases are packed in one byte with the base + at the higher 4 bits having smaller coordinate on the read. It is + recommended to use bam_seqi() macro to get the base. + */ +#define bam_get_seq(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname) +/*! @function + @abstract Get query quality + @param b pointer to an alignment + @return pointer to quality string + */ +#define bam_get_qual(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1)) +/*! @function + @abstract Get auxiliary data + @param b pointer to an alignment + @return pointer to the concatenated auxiliary data + */ +#define bam_get_aux(b) ((b)->data + ((b)->core.n_cigar<<2) + (b)->core.l_qname + (((b)->core.l_qseq + 1)>>1) + (b)->core.l_qseq) +/*! @function + @abstract Get length of auxiliary data + @param b pointer to an alignment + @return length of the concatenated auxiliary data + */ +#define bam_get_l_aux(b) ((b)->l_data - ((b)->core.n_cigar<<2) - (b)->core.l_qname - (b)->core.l_qseq - (((b)->core.l_qseq + 1)>>1)) +/*! @function + @abstract Get a base on read + @param s Query sequence returned by bam_get_seq() + @param i The i-th position, 0-based + @return 4-bit integer representing the base. + */ +#define bam_seqi(s, i) ((s)[(i)>>1] >> ((~(i)&1)<<2) & 0xf) + +/************************** + *** Exported functions *** + **************************/ + +#ifdef __cplusplus +extern "C" { +#endif + + /*************** + *** BAM I/O *** + ***************/ + + bam_hdr_t *bam_hdr_init(void); + bam_hdr_t *bam_hdr_read(BGZF *fp); + int bam_hdr_write(BGZF *fp, const bam_hdr_t *h); + void bam_hdr_destroy(bam_hdr_t *h); + int bam_name2id(bam_hdr_t *h, const char *ref); + bam_hdr_t* bam_hdr_dup(const bam_hdr_t *h0); + + bam1_t *bam_init1(void); + void bam_destroy1(bam1_t *b); + int bam_read1(BGZF *fp, bam1_t *b); + int bam_write1(BGZF *fp, const bam1_t *b); + bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc); + bam1_t *bam_dup1(const bam1_t *bsrc); + + int bam_cigar2qlen(int n_cigar, const uint32_t *cigar); + int bam_cigar2rlen(int n_cigar, const uint32_t *cigar); + + /*! + @abstract Calculate the rightmost base position of an alignment on the + reference genome. + + @param b pointer to an alignment + @return the coordinate of the first base after the alignment, 0-based + + @discussion For a mapped read, this is just b->core.pos + bam_cigar2rlen. + For an unmapped read (either according to its flags or if it has no cigar + string), we return b->core.pos + 1 by convention. + */ + int32_t bam_endpos(const bam1_t *b); + + int bam_str2flag(const char *str); /** returns negative value on error */ + char *bam_flag2str(int flag); /** The string must be freed by the user */ + + /************************* + *** BAM/CRAM indexing *** + *************************/ + + // These BAM iterator functions work only on BAM files. To work with either + // BAM or CRAM files use the sam_index_load() & sam_itr_*() functions. + #define bam_itr_destroy(iter) hts_itr_destroy(iter) + #define bam_itr_queryi(idx, tid, beg, end) sam_itr_queryi(idx, tid, beg, end) + #define bam_itr_querys(idx, hdr, region) sam_itr_querys(idx, hdr, region) + #define bam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), 0) + + // Load .csi or .bai BAM index file. + #define bam_index_load(fn) hts_idx_load((fn), HTS_FMT_BAI) + + int bam_index_build(const char *fn, int min_shift); + + // Load BAM (.csi or .bai) or CRAM (.crai) index file. + hts_idx_t *sam_index_load(htsFile *fp, const char *fn); + + #define sam_itr_destroy(iter) hts_itr_destroy(iter) + hts_itr_t *sam_itr_queryi(const hts_idx_t *idx, int tid, int beg, int end); + hts_itr_t *sam_itr_querys(const hts_idx_t *idx, bam_hdr_t *hdr, const char *region); + #define sam_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), (htsfp)) + + /*************** + *** SAM I/O *** + ***************/ + + #define sam_open(fn, mode) (hts_open((fn), (mode))) + #define sam_close(fp) hts_close(fp) + + int sam_open_mode(char *mode, const char *fn, const char *format); + + typedef htsFile samFile; + bam_hdr_t *sam_hdr_parse(int l_text, const char *text); + bam_hdr_t *sam_hdr_read(samFile *fp); + int sam_hdr_write(samFile *fp, const bam_hdr_t *h); + + int sam_parse1(kstring_t *s, bam_hdr_t *h, bam1_t *b); + int sam_format1(const bam_hdr_t *h, const bam1_t *b, kstring_t *str); + int sam_read1(samFile *fp, bam_hdr_t *h, bam1_t *b); + int sam_write1(samFile *fp, const bam_hdr_t *h, const bam1_t *b); + + /************************************* + *** Manipulating auxiliary fields *** + *************************************/ + + uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]); + int32_t bam_aux2i(const uint8_t *s); + double bam_aux2f(const uint8_t *s); + char bam_aux2A(const uint8_t *s); + char *bam_aux2Z(const uint8_t *s); + + void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data); + int bam_aux_del(bam1_t *b, uint8_t *s); + +#ifdef __cplusplus +} +#endif + +/************************** + *** Pileup and Mpileup *** + **************************/ + +#if !defined(BAM_NO_PILEUP) + +/*! @typedef + @abstract Structure for one alignment covering the pileup position. + @field b pointer to the alignment + @field qpos position of the read base at the pileup site, 0-based + @field indel indel length; 0 for no indel, positive for ins and negative for del + @field level the level of the read in the "viewer" mode + @field is_del 1 iff the base on the padded read is a deletion + @field is_head ??? + @field is_tail ??? + @field is_refskip ??? + @field aux ??? + + @discussion See also bam_plbuf_push() and bam_lplbuf_push(). The + difference between the two functions is that the former does not + set bam_pileup1_t::level, while the later does. Level helps the + implementation of alignment viewers, but calculating this has some + overhead. + */ +typedef struct { + bam1_t *b; + int32_t qpos; + int indel, level; + uint32_t is_del:1, is_head:1, is_tail:1, is_refskip:1, aux:28; +} bam_pileup1_t; + +typedef int (*bam_plp_auto_f)(void *data, bam1_t *b); + +struct __bam_plp_t; +typedef struct __bam_plp_t *bam_plp_t; + +struct __bam_mplp_t; +typedef struct __bam_mplp_t *bam_mplp_t; + +#ifdef __cplusplus +extern "C" { +#endif + + /** + * bam_plp_init() - sets an iterator over multiple + * @func: see mplp_func in bam_plcmd.c in samtools for an example. Expected return + * status: 0 on success, -1 on end, < -1 on non-recoverable errors + * @data: user data to pass to @func + */ + bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data); + void bam_plp_destroy(bam_plp_t iter); + int bam_plp_push(bam_plp_t iter, const bam1_t *b); + const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); + const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp); + void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt); + void bam_plp_reset(bam_plp_t iter); + + bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data); + /** + * bam_mplp_init_overlaps() - if called, mpileup will detect overlapping + * read pairs and for each base pair set the base quality of the + * lower-quality base to zero, thus effectively discarding it from + * calling. If the two bases are identical, the quality of the other base + * is increased to the sum of their qualities (capped at 200), otherwise + * it is multiplied by 0.8. + */ + void bam_mplp_init_overlaps(bam_mplp_t iter); + void bam_mplp_destroy(bam_mplp_t iter); + void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt); + int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp); + +#ifdef __cplusplus +} +#endif + +#endif // ~!defined(BAM_NO_PILEUP) + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/synced_bcf_reader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/synced_bcf_reader.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,301 @@ +/* synced_bcf_reader.h -- stream through multiple VCF files. + + Copyright (C) 2012-2014 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +/* + The synced_bcf_reader allows to keep multiple VCFs open and stream them + using the next_line iterator in a seamless matter without worrying about + chromosomes and synchronizing the sites. This is used by vcfcheck to + compare multiple VCFs simultaneously and is used also for merging, + creating intersections, etc. + + The synced_bcf_reader also provides API for reading indexed BCF/VCF, + hiding differences in BCF/VCF opening, indexing and reading. + + + Example of usage: + + bcf_srs_t *sr = bcf_sr_init(); + for (i=0; ihas_line[i] +#define bcf_sr_get_line(_readers, i) ((_readers)->has_line[i] ? ((_readers)->readers[i].buffer[0]) : NULL) +#define bcf_sr_region_done(_readers,i) (!(_readers)->has_line[i] && !(_readers)->readers[i].nbuffer ? 1 : 0) +#define bcf_sr_get_header(_readers, i) (_readers)->readers[i].header +#define bcf_sr_get_reader(_readers, i) &((_readers)->readers[i]) + +/** + * bcf_sr_seek() - set all readers to selected position + * @seq: sequence name; NULL to seek to start + * @pos: 0-based coordinate + */ +int bcf_sr_seek(bcf_srs_t *readers, const char *seq, int pos); + +/** + * bcf_sr_set_samples() - sets active samples + * @readers: holder of the open readers + * @samples: this can be one of: file name with one sample per line; + * or column-separated list of samples; or '-' for a list of + * samples shared by all files. If first character is the + * exclamation mark, all but the listed samples are included. + * @is_file: 0: list of samples; 1: file with sample names + * + * Returns 1 if the call succeeded, or 0 on error. + */ +int bcf_sr_set_samples(bcf_srs_t *readers, const char *samples, int is_file); + +/** + * bcf_sr_set_targets(), bcf_sr_set_regions() - init targets/regions + * @readers: holder of the open readers + * @targets: list of regions, one-based and inclusive. + * @is_fname: 0: targets is a comma-separated list of regions (chr,chr:from-to) + * 1: targets is a tabix indexed file with a list of regions + * ( or ) + * + * Returns 0 if the call succeeded, or -1 on error. + * + * Both functions behave the same way, unlisted positions will be skipped by + * bcf_sr_next_line(). However, there is an important difference: regions use + * index to jump to desired positions while targets streams the whole files + * and merely skip unlisted positions. + * + * Moreover, bcf_sr_set_targets() accepts an optional parameter $alleles which + * is intepreted as a 1-based column index in the tab-delimited file where + * alleles are listed. This in principle enables to perform the COLLAPSE_* + * logic also with tab-delimited files. However, the current implementation + * considers the alleles merely as a suggestion for prioritizing one of possibly + * duplicate VCF lines. It is up to the caller to examine targets->als if + * perfect match is sought after. Note that the duplicate positions in targets + * file are currently not supported. + * Targets (but not regions) can be prefixed with "^" to request logical complement, + * for example "^X,Y,MT" indicates that sequences X, Y and MT should be skipped. + */ +int bcf_sr_set_targets(bcf_srs_t *readers, const char *targets, int is_file, int alleles); +int bcf_sr_set_regions(bcf_srs_t *readers, const char *regions, int is_file); + + + +/* + * bcf_sr_regions_init() + * @regions: regions can be either a comma-separated list of regions + * (chr|chr:pos|chr:from-to|chr:from-) or VCF, BED, or + * tab-delimited file (the default). Uncompressed files + * are stored in memory while bgzip-compressed and tabix-indexed + * region files are streamed. + * @is_file: 0: regions is a comma-separated list of regions + * (chr|chr:pos|chr:from-to|chr:from-) + * 1: VCF, BED or tab-delimited file + * @chr, from, to: + * Column indexes of chromosome, start position and end position + * in the tab-delimited file. The positions are 1-based and + * inclusive. + * These parameters are ignored when reading from VCF, BED or + * tabix-indexed files. When end position column is not present, + * supply 'from' in place of 'to'. When 'to' is negative, first + * abs(to) will be attempted and if that fails, 'from' will be used + * instead. + */ +bcf_sr_regions_t *bcf_sr_regions_init(const char *regions, int is_file, int chr, int from, int to); +void bcf_sr_regions_destroy(bcf_sr_regions_t *regions); + +/* + * bcf_sr_regions_seek() - seek to the chromosome block + * + * Returns 0 on success or -1 on failure. Sets reg->seq appropriately and + * reg->start,reg->end to -1. + */ +int bcf_sr_regions_seek(bcf_sr_regions_t *regions, const char *chr); + +/* + * bcf_sr_regions_next() - retrieves next region. Returns 0 on success and -1 + * when all regions have been read. The fields reg->seq, reg->start and + * reg->end are filled with the genomic coordinates on succes or with + * NULL,-1,-1 when no region is available. The coordinates are 0-based, + * inclusive. + */ +int bcf_sr_regions_next(bcf_sr_regions_t *reg); + +/* + * bcf_sr_regions_overlap() - checks if the interval overlaps any of + * the regions, the coordinates are 0-based, inclusive. The coordinate queries + * must come in ascending order. + * + * Returns 0 if the position is in regions; -1 if the position is not in the + * regions and more regions exist; -2 if not in the regions and there are no more + * regions left. + */ +int bcf_sr_regions_overlap(bcf_sr_regions_t *reg, const char *seq, int start, int end); + +/* + * bcf_sr_regions_flush() - calls repeatedly regs->missed_reg_handler() until + * all remaining records are processed. + */ +void bcf_sr_regions_flush(bcf_sr_regions_t *regs); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/tbx.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/tbx.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,77 @@ +/* tbx.h -- tabix API functions. + + Copyright (C) 2009, 2012-2014 Genome Research Ltd. + Copyright (C) 2010, 2012 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_TBX_H +#define HTSLIB_TBX_H + +#include "hts.h" + +#define TBX_MAX_SHIFT 31 + +#define TBX_GENERIC 0 +#define TBX_SAM 1 +#define TBX_VCF 2 +#define TBX_UCSC 0x10000 + +typedef struct { + int32_t preset; + int32_t sc, bc, ec; // seq col., beg col. and end col. + int32_t meta_char, line_skip; +} tbx_conf_t; + +typedef struct { + tbx_conf_t conf; + hts_idx_t *idx; + void *dict; +} tbx_t; + +extern tbx_conf_t tbx_conf_gff, tbx_conf_bed, tbx_conf_psltbl, tbx_conf_sam, tbx_conf_vcf; + +#ifdef __cplusplus +extern "C" { +#endif + + #define tbx_itr_destroy(iter) hts_itr_destroy(iter) + #define tbx_itr_queryi(tbx, tid, beg, end) hts_itr_query((tbx)->idx, (tid), (beg), (end), tbx_readrec) + #define tbx_itr_querys(tbx, s) hts_itr_querys((tbx)->idx, (s), (hts_name2id_f)(tbx_name2id), (tbx), hts_itr_query, tbx_readrec) + #define tbx_itr_next(htsfp, tbx, itr, r) hts_itr_next(hts_get_bgzfp(htsfp), (itr), (r), (tbx)) + #define tbx_bgzf_itr_next(bgzfp, tbx, itr, r) hts_itr_next((bgzfp), (itr), (r), (tbx)) + + int tbx_name2id(tbx_t *tbx, const char *ss); + + /* Internal helper function used by tbx_itr_next() */ + BGZF *hts_get_bgzfp(htsFile *fp); + int tbx_readrec(BGZF *fp, void *tbxv, void *sv, int *tid, int *beg, int *end); + + int tbx_index_build(const char *fn, int min_shift, const tbx_conf_t *conf); + tbx_t *tbx_index_load(const char *fn); + const char **tbx_seqnames(tbx_t *tbx, int *n); // free the array but not the values + void tbx_destroy(tbx_t *tbx); + +#ifdef __cplusplus +} +#endif + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/vcf.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/vcf.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,883 @@ +/* vcf.h -- VCF/BCF API functions. + + Copyright (C) 2012, 2013 Broad Institute. + Copyright (C) 2012-2014 Genome Research Ltd. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +/* + todo: + - make the function names consistent + - provide calls to abstract away structs as much as possible + */ + +#ifndef HTSLIB_VCF_H +#define HTSLIB_VCF_H + +#include +#include +#include +#include "hts.h" +#include "kstring.h" + + +/***************** + * Header struct * + *****************/ + +#define BCF_HL_FLT 0 // header line +#define BCF_HL_INFO 1 +#define BCF_HL_FMT 2 +#define BCF_HL_CTG 3 +#define BCF_HL_STR 4 // structured header line TAG= +#define BCF_HL_GEN 5 // generic header line + +#define BCF_HT_FLAG 0 // header type +#define BCF_HT_INT 1 +#define BCF_HT_REAL 2 +#define BCF_HT_STR 3 + +#define BCF_VL_FIXED 0 // variable length +#define BCF_VL_VAR 1 +#define BCF_VL_A 2 +#define BCF_VL_G 3 +#define BCF_VL_R 4 + +/* === Dictionary === + + The header keeps three dictonaries. The first keeps IDs in the + "FILTER/INFO/FORMAT" lines, the second keeps the sequence names and lengths + in the "contig" lines and the last keeps the sample names. bcf_hdr_t::dict[] + is the actual hash table, which is opaque to the end users. In the hash + table, the key is the ID or sample name as a C string and the value is a + bcf_idinfo_t struct. bcf_hdr_t::id[] points to key-value pairs in the hash + table in the order that they appear in the VCF header. bcf_hdr_t::n[] is the + size of the hash table or, equivalently, the length of the id[] arrays. +*/ + +#define BCF_DT_ID 0 // dictionary type +#define BCF_DT_CTG 1 +#define BCF_DT_SAMPLE 2 + +// Complete textual representation of a header line +typedef struct { + int type; // One of the BCF_HL_* type + char *key; // The part before '=', i.e. FILTER/INFO/FORMAT/contig/fileformat etc. + char *value; // Set only for generic lines, NULL for FILTER/INFO, etc. + int nkeys; // Number of structured fields + char **keys, **vals; // The key=value pairs +} bcf_hrec_t; + +typedef struct { + uint32_t info[3]; // stores Number:20, var:4, Type:4, ColType:4 in info[0..2] + // for BCF_HL_FLT,INFO,FMT and contig length in info[0] for BCF_HL_CTG + bcf_hrec_t *hrec[3]; + int id; +} bcf_idinfo_t; + +typedef struct { + const char *key; + const bcf_idinfo_t *val; +} bcf_idpair_t; + +typedef struct { + int32_t n[3]; + bcf_idpair_t *id[3]; + void *dict[3]; // ID dictionary, contig dict and sample dict + char **samples; + bcf_hrec_t **hrec; + int nhrec, dirty; + int ntransl, *transl[2]; // for bcf_translate() + int nsamples_ori; // for bcf_hdr_set_samples() + uint8_t *keep_samples; + kstring_t mem; +} bcf_hdr_t; + +extern uint8_t bcf_type_shift[]; + +/************** + * VCF record * + **************/ + +#define BCF_BT_NULL 0 +#define BCF_BT_INT8 1 +#define BCF_BT_INT16 2 +#define BCF_BT_INT32 3 +#define BCF_BT_FLOAT 5 +#define BCF_BT_CHAR 7 + +#define VCF_REF 0 +#define VCF_SNP 1 +#define VCF_MNP 2 +#define VCF_INDEL 4 +#define VCF_OTHER 8 + +typedef struct { + int type, n; // variant type and the number of bases affected, negative for deletions +} variant_t; + +typedef struct { + int id; // id: numeric tag id, the corresponding string is bcf_hdr_t::id[BCF_DT_ID][$id].key + int n, size, type; // n: number of values per-sample; size: number of bytes per-sample; type: one of BCF_BT_* types + uint8_t *p; // same as vptr and vptr_* in bcf_info_t below + uint32_t p_len; + uint32_t p_off:31, p_free:1; +} bcf_fmt_t; + +typedef struct { + int key; // key: numeric tag id, the corresponding string is bcf_hdr_t::id[BCF_DT_ID][$key].key + int type, len; // type: one of BCF_BT_* types; len: vector length, 1 for scalars + union { + int32_t i; // integer value + float f; // float value + } v1; // only set if $len==1; for easier access + uint8_t *vptr; // pointer to data array in bcf1_t->shared.s, excluding the size+type and tag id bytes + uint32_t vptr_len; // length of the vptr block or, when set, of the vptr_mod block, excluding offset + uint32_t vptr_off:31, // vptr offset, i.e., the size of the INFO key plus size+type bytes + vptr_free:1; // indicates that vptr-vptr_off must be freed; set only when modified and the new + // data block is bigger than the original +} bcf_info_t; + + +#define BCF1_DIRTY_ID 1 +#define BCF1_DIRTY_ALS 2 +#define BCF1_DIRTY_FLT 4 +#define BCF1_DIRTY_INF 8 + +typedef struct { + int m_fmt, m_info, m_id, m_als, m_allele, m_flt; // allocated size (high-water mark); do not change + int n_flt; // Number of FILTER fields + int *flt; // FILTER keys in the dictionary + char *id, *als; // ID and REF+ALT block (\0-seperated) + char **allele; // allele[0] is the REF (allele[] pointers to the als block); all null terminated + bcf_info_t *info; // INFO + bcf_fmt_t *fmt; // FORMAT and individual sample + variant_t *var; // $var and $var_type set only when set_variant_types called + int n_var, var_type; + int shared_dirty; // if set, shared.s must be recreated on BCF output + int indiv_dirty; // if set, indiv.s must be recreated on BCF output +} bcf_dec_t; + + +#define BCF_ERR_CTG_UNDEF 1 +#define BCF_ERR_TAG_UNDEF 2 +#define BCF_ERR_NCOLS 4 + +/* + The bcf1_t structure corresponds to one VCF/BCF line. Reading from VCF file + is slower because the string is first to be parsed, packed into BCF line + (done in vcf_parse), then unpacked into internal bcf1_t structure. If it + is known in advance that some of the fields will not be required (notably + the sample columns), parsing of these can be skipped by setting max_unpack + appropriately. + Similarly, it is fast to output a BCF line because the columns (kept in + shared.s, indiv.s, etc.) are written directly by bcf_write, whereas a VCF + line must be formatted in vcf_format. + */ +typedef struct { + int32_t rid; // CHROM + int32_t pos; // POS + int32_t rlen; // length of REF + float qual; // QUAL + uint32_t n_info:16, n_allele:16; + uint32_t n_fmt:8, n_sample:24; + kstring_t shared, indiv; + bcf_dec_t d; // lazy evaluation: $d is not generated by bcf_read(), but by explicitly calling bcf_unpack() + int max_unpack; // Set to BCF_UN_STR, BCF_UN_FLT, or BCF_UN_INFO to boost performance of vcf_parse when some of the fields won't be needed + int unpacked; // remember what has been unpacked to allow calling bcf_unpack() repeatedly without redoing the work + int unpack_size[3]; // the original block size of ID, REF+ALT and FILTER + int errcode; // one of BCF_ERR_* codes +} bcf1_t; + +/******* + * API * + *******/ + +#ifdef __cplusplus +extern "C" { +#endif + + /*********************************************************************** + * BCF and VCF I/O + * + * A note about naming conventions: htslib internally represents VCF + * records as bcf1_t data structures, therefore most functions are + * prefixed with bcf_. There are a few exceptions where the functions must + * be aware of both BCF and VCF worlds, such as bcf_parse vs vcf_parse. In + * these cases, functions prefixed with bcf_ are more general and work + * with both BCF and VCF. + * + ***********************************************************************/ + + /** These macros are defined only for consistency with other parts of htslib */ + #define bcf_init1() bcf_init() + #define bcf_read1(fp,h,v) bcf_read((fp),(h),(v)) + #define vcf_read1(fp,h,v) vcf_read((fp),(h),(v)) + #define bcf_write1(fp,h,v) bcf_write((fp),(h),(v)) + #define vcf_write1(fp,h,v) vcf_write((fp),(h),(v)) + #define bcf_destroy1(v) bcf_destroy(v) + #define vcf_parse1(s,h,v) vcf_parse((s),(h),(v)) + #define bcf_clear1(v) bcf_clear(v) + #define vcf_format1(h,v,s) vcf_format((h),(v),(s)) + + /** + * bcf_hdr_init() - create an empty BCF header. + * @param mode "r" or "w" + * + * When opened for writing, the mandatory fileFormat and + * FILTER=PASS lines are added automatically. + */ + bcf_hdr_t *bcf_hdr_init(const char *mode); + + /** Destroy a BCF header struct */ + void bcf_hdr_destroy(bcf_hdr_t *h); + + /** Initialize a bcf1_t object; equivalent to calloc(1, sizeof(bcf1_t)) */ + bcf1_t *bcf_init(void); + + /** Deallocate a bcf1_t object */ + void bcf_destroy(bcf1_t *v); + + /** + * Same as bcf_destroy() but frees only the memory allocated by bcf1_t, + * not the bcf1_t object itself. + */ + void bcf_empty(bcf1_t *v); + + /** + * Make the bcf1_t object ready for next read. Intended mostly for + * internal use, the user should rarely need to call this function + * directly. + */ + void bcf_clear(bcf1_t *v); + + + /** bcf_open and vcf_open mode: please see hts_open() in hts.h */ + typedef htsFile vcfFile; + #define bcf_open(fn, mode) hts_open((fn), (mode)) + #define vcf_open(fn, mode) hts_open((fn), (mode)) + #define bcf_close(fp) hts_close(fp) + #define vcf_close(fp) hts_close(fp) + + /** Reads VCF or BCF header */ + bcf_hdr_t *bcf_hdr_read(htsFile *fp); + + /** + * bcf_hdr_set_samples() - for more efficient VCF parsing when only one/few samples are needed + * @samples: samples to include or exclude from file or as a comma-separated string. + * LIST|FILE .. select samples in list/file + * ^LIST|FILE .. exclude samples from list/file + * - .. include all samples + * NULL .. exclude all samples + * @is_file: @samples is a file (1) or a comma-separated list (1) + * + * The bottleneck of VCF reading is parsing of genotype fields. If the + * reader knows in advance that only subset of samples is needed (possibly + * no samples at all), the performance of bcf_read() can be significantly + * improved by calling bcf_hdr_set_samples after bcf_hdr_read(). + * The function bcf_read() will subset the VCF/BCF records automatically + * with the notable exception when reading records via bcf_itr_next(). + * In this case, bcf_subset_format() must be called explicitly, because + * bcf_readrec() does not see the header. + * + * Returns 0 on success, -1 on error or a positive integer if the list + * contains samples not present in the VCF header. In such a case, the + * return value is the index of the offending sample. + */ + int bcf_hdr_set_samples(bcf_hdr_t *hdr, const char *samples, int is_file); + int bcf_subset_format(const bcf_hdr_t *hdr, bcf1_t *rec); + + + /** Writes VCF or BCF header */ + int bcf_hdr_write(htsFile *fp, bcf_hdr_t *h); + + /** Parse VCF line contained in kstring and populate the bcf1_t struct */ + int vcf_parse(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v); + + /** The opposite of vcf_parse. It should rarely be called directly, see vcf_write */ + int vcf_format(const bcf_hdr_t *h, const bcf1_t *v, kstring_t *s); + + /** + * bcf_read() - read next VCF or BCF record + * + * Returns -1 on critical errors, 0 otherwise. On errors which are not + * critical for reading, such as missing header definitions, v->errcode is + * set to one of BCF_ERR* code and must be checked before calling + * vcf_write(). + */ + int bcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); + + /** + * bcf_unpack() - unpack/decode a BCF record (fills the bcf1_t::d field) + * + * Note that bcf_unpack() must be called even when reading VCF. It is safe + * to call the function repeatedly, it will not unpack the same field + * twice. + */ + #define BCF_UN_STR 1 // up to ALT inclusive + #define BCF_UN_FLT 2 // up to FILTER + #define BCF_UN_INFO 4 // up to INFO + #define BCF_UN_SHR (BCF_UN_STR|BCF_UN_FLT|BCF_UN_INFO) // all shared information + #define BCF_UN_FMT 8 // unpack format and each sample + #define BCF_UN_IND BCF_UN_FMT // a synonymo of BCF_UN_FMT + #define BCF_UN_ALL (BCF_UN_SHR|BCF_UN_FMT) // everything + int bcf_unpack(bcf1_t *b, int which); + + /* + * bcf_dup() - create a copy of BCF record. + * + * Note that bcf_unpack() must be called on the returned copy as if it was + * obtained from bcf_read(). Also note that bcf_dup() calls bcf_sync1(src) + * internally to reflect any changes made by bcf_update_* functions. + */ + bcf1_t *bcf_dup(bcf1_t *src); + bcf1_t *bcf_copy(bcf1_t *dst, bcf1_t *src); + + /** + * bcf_write() - write one VCF or BCF record. The type is determined at the open() call. + */ + int bcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); + + /** + * The following functions work only with VCFs and should rarely be called + * directly. Usually one wants to use their bcf_* alternatives, which work + * transparently with both VCFs and BCFs. + */ + bcf_hdr_t *vcf_hdr_read(htsFile *fp); + int vcf_hdr_write(htsFile *fp, const bcf_hdr_t *h); + int vcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); + int vcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v); + + /** Helper function for the bcf_itr_next() macro; internal use, ignore it */ + int bcf_readrec(BGZF *fp, void *null, void *v, int *tid, int *beg, int *end); + + + + /************************************************************************** + * Header querying and manipulation routines + **************************************************************************/ + + /** Create a new header using the supplied template */ + bcf_hdr_t *bcf_hdr_dup(const bcf_hdr_t *hdr); + /** + * Copy header lines from src to dst if not already present in dst. See also bcf_translate(). + * Returns 0 on success or sets a bit on error: + * 1 .. conflicting definitions of tag length + * // todo + */ + int bcf_hdr_combine(bcf_hdr_t *dst, const bcf_hdr_t *src); + + /** + * bcf_hdr_add_sample() - add a new sample. + * @param sample: sample name to be added + */ + int bcf_hdr_add_sample(bcf_hdr_t *hdr, const char *sample); + + /** Read VCF header from a file and update the header */ + int bcf_hdr_set(bcf_hdr_t *hdr, const char *fname); + + /** Returns formatted header (newly allocated string) and its length, + * excluding the terminating \0. If is_bcf parameter is unset, IDX + * fields are discarded. + */ + char *bcf_hdr_fmt_text(const bcf_hdr_t *hdr, int is_bcf, int *len); + + /** Append new VCF header line, returns 0 on success */ + int bcf_hdr_append(bcf_hdr_t *h, const char *line); + int bcf_hdr_printf(bcf_hdr_t *h, const char *format, ...); + + /** VCF version, e.g. VCFv4.2 */ + const char *bcf_hdr_get_version(const bcf_hdr_t *hdr); + void bcf_hdr_set_version(bcf_hdr_t *hdr, const char *version); + + /** + * bcf_hdr_remove() - remove VCF header tag + * @param type: one of BCF_HL_* + * @param key: tag name + */ + void bcf_hdr_remove(bcf_hdr_t *h, int type, const char *key); + + /** + * bcf_hdr_subset() - creates a new copy of the header removing unwanted samples + * @param n: number of samples to keep + * @param samples: names of the samples to keep + * @param imap: mapping from index in @samples to the sample index in the original file + * + * Sample names not present in h0 are ignored. The number of unmatched samples can be checked + * by comparing n and bcf_hdr_nsamples(out_hdr). + * This function can be used to reorder samples. + * See also bcf_subset() which subsets individual records. + */ + bcf_hdr_t *bcf_hdr_subset(const bcf_hdr_t *h0, int n, char *const* samples, int *imap); + + /** Creates a list of sequence names. It is up to the caller to free the list (but not the sequence names) */ + const char **bcf_hdr_seqnames(const bcf_hdr_t *h, int *nseqs); + + /** Get number of samples */ + #define bcf_hdr_nsamples(hdr) (hdr)->n[BCF_DT_SAMPLE] + + + /** The following functions are for internal use and should rarely be called directly */ + int bcf_hdr_parse(bcf_hdr_t *hdr, char *htxt); + int bcf_hdr_sync(bcf_hdr_t *h); + bcf_hrec_t *bcf_hdr_parse_line(const bcf_hdr_t *h, const char *line, int *len); + void bcf_hrec_format(const bcf_hrec_t *hrec, kstring_t *str); + int bcf_hdr_add_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec); + /** + * bcf_hdr_get_hrec() - get header line info + * @param type: one of the BCF_HL_* types: FLT,INFO,FMT,CTG,STR,GEN + * @param key: the header key for generic lines (e.g. "fileformat"), any field + * for structured lines, typically "ID". + * @param value: the value which pairs with key. Can be be NULL for BCF_HL_GEN + * @param str_class: the class of BCF_HL_STR line (e.g. "ALT" or "SAMPLE"), otherwise NULL + */ + bcf_hrec_t *bcf_hdr_get_hrec(const bcf_hdr_t *hdr, int type, const char *key, const char *value, const char *str_class); + bcf_hrec_t *bcf_hrec_dup(bcf_hrec_t *hrec); + void bcf_hrec_add_key(bcf_hrec_t *hrec, const char *str, int len); + void bcf_hrec_set_val(bcf_hrec_t *hrec, int i, const char *str, int len, int is_quoted); + int bcf_hrec_find_key(bcf_hrec_t *hrec, const char *key); + void hrec_add_idx(bcf_hrec_t *hrec, int idx); + void bcf_hrec_destroy(bcf_hrec_t *hrec); + + + + /************************************************************************** + * Individual record querying and manipulation routines + **************************************************************************/ + + /** See the description of bcf_hdr_subset() */ + int bcf_subset(const bcf_hdr_t *h, bcf1_t *v, int n, int *imap); + + /** + * bcf_translate() - translate tags ids to be consistent with different header. This function + * is useful when lines from multiple VCF need to be combined. + * @dst_hdr: the destination header, to be used in bcf_write(), see also bcf_hdr_combine() + * @src_hdr: the source header, used in bcf_read() + * @src_line: line obtained by bcf_read() + */ + int bcf_translate(const bcf_hdr_t *dst_hdr, bcf_hdr_t *src_hdr, bcf1_t *src_line); + + /** + * bcf_get_variant_type[s]() - returns one of VCF_REF, VCF_SNP, etc + */ + int bcf_get_variant_types(bcf1_t *rec); + int bcf_get_variant_type(bcf1_t *rec, int ith_allele); + int bcf_is_snp(bcf1_t *v); + + /** + * bcf_update_filter() - sets the FILTER column + * @flt_ids: The filter IDs to set, numeric IDs returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") + * @n: Number of filters. If n==0, all filters are removed + */ + int bcf_update_filter(const bcf_hdr_t *hdr, bcf1_t *line, int *flt_ids, int n); + /** + * bcf_add_filter() - adds to the FILTER column + * @flt_id: filter ID to add, numeric ID returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") + * + * If flt_id is PASS, all existing filters are removed first. If other than PASS, existing PASS is removed. + */ + int bcf_add_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id); + /** + * bcf_remove_filter() - removes from the FILTER column + * @flt_id: filter ID to remove, numeric ID returned by bcf_id2int(hdr, BCF_DT_ID, "PASS") + * @pass: when set to 1 and no filters are present, set to PASS + */ + int bcf_remove_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id, int pass); + /** + * Returns 1 if present, 0 if absent, or -1 if filter does not exist. "PASS" and "." can be used interchangeably. + */ + int bcf_has_filter(const bcf_hdr_t *hdr, bcf1_t *line, char *filter); + /** + * bcf_update_alleles() and bcf_update_alleles_str() - update REF and ALLT column + * @alleles: Array of alleles + * @nals: Number of alleles + * @alleles_string: Comma-separated alleles, starting with the REF allele + * + * Not that in order for indexing to work correctly in presence of INFO/END tag, + * the length of reference allele (line->rlen) must be set explicitly by the caller, + * or otherwise, if rlen is zero, strlen(line->d.allele[0]) is used to set the length + * on bcf_write(). + */ + int bcf_update_alleles(const bcf_hdr_t *hdr, bcf1_t *line, const char **alleles, int nals); + int bcf_update_alleles_str(const bcf_hdr_t *hdr, bcf1_t *line, const char *alleles_string); + int bcf_update_id(const bcf_hdr_t *hdr, bcf1_t *line, const char *id); + + /* + * bcf_update_info_*() - functions for updating INFO fields + * @hdr: the BCF header + * @line: VCF line to be edited + * @key: the INFO tag to be updated + * @values: pointer to the array of values. Pass NULL to remove the tag. + * @n: number of values in the array. When set to 0, the INFO tag is removed + * + * The @string in bcf_update_info_flag() is optional, @n indicates whether + * the flag is set or removed. + * + * Returns 0 on success or negative value on error. + */ + #define bcf_update_info_int32(hdr,line,key,values,n) bcf_update_info((hdr),(line),(key),(values),(n),BCF_HT_INT) + #define bcf_update_info_float(hdr,line,key,values,n) bcf_update_info((hdr),(line),(key),(values),(n),BCF_HT_REAL) + #define bcf_update_info_flag(hdr,line,key,string,n) bcf_update_info((hdr),(line),(key),(string),(n),BCF_HT_FLAG) + #define bcf_update_info_string(hdr,line,key,string) bcf_update_info((hdr),(line),(key),(string),1,BCF_HT_STR) + int bcf_update_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type); + + /* + * bcf_update_format_*() - functions for updating FORMAT fields + * @values: pointer to the array of values, the same number of elements + * is expected for each sample. Missing values must be padded + * with bcf_*_missing or bcf_*_vector_end values. + * @n: number of values in the array. If n==0, existing tag is removed. + * + * The function bcf_update_format_string() is a higher-level (slower) variant of + * bcf_update_format_char(). The former accepts array of \0-terminated strings + * whereas the latter requires that the strings are collapsed into a single array + * of fixed-length strings. In case of strings with variable length, shorter strings + * can be \0-padded. Note that the collapsed strings passed to bcf_update_format_char() + * are not \0-terminated. + * + * Returns 0 on success or negative value on error. + */ + #define bcf_update_format_int32(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_INT) + #define bcf_update_format_float(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_REAL) + #define bcf_update_format_char(hdr,line,key,values,n) bcf_update_format((hdr),(line),(key),(values),(n),BCF_HT_STR) + #define bcf_update_genotypes(hdr,line,gts,n) bcf_update_format((hdr),(line),"GT",(gts),(n),BCF_HT_INT) // See bcf_gt_ macros below + int bcf_update_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const char **values, int n); + int bcf_update_format(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type); + + // Macros for setting genotypes correctly, for use with bcf_update_genotypes only; idx corresponds + // to VCF's GT (1-based index to ALT or 0 for the reference allele) and val is the opposite, obtained + // from bcf_get_genotypes() below. + #define bcf_gt_phased(idx) ((idx+1)<<1|1) + #define bcf_gt_unphased(idx) ((idx+1)<<1) + #define bcf_gt_missing 0 + #define bcf_gt_is_missing(val) ((val)>>1 ? 0 : 1) + #define bcf_gt_is_phased(idx) ((idx)&1) + #define bcf_gt_allele(val) (((val)>>1)-1) + + /** Conversion between alleles indexes to Number=G genotype index (assuming diploid, all 0-based) */ + #define bcf_alleles2gt(a,b) ((a)>(b)?((a)*((a)+1)/2+(b)):((b)*((b)+1)/2+(a))) + static inline void bcf_gt2alleles(int igt, int *a, int *b) + { + int k = 0, dk = 1; + while ( k 0 ) + * for (i=0; iid[type][int_id].key) + + /** + * bcf_hdr_name2id() - Translates sequence names (chromosomes) into numeric ID + * bcf_hdr_id2name() - Translates numeric ID to sequence name + */ + static inline int bcf_hdr_name2id(const bcf_hdr_t *hdr, const char *id) { return bcf_hdr_id2int(hdr, BCF_DT_CTG, id); } + static inline const char *bcf_hdr_id2name(const bcf_hdr_t *hdr, int rid) { return hdr->id[BCF_DT_CTG][rid].key; } + static inline const char *bcf_seqname(const bcf_hdr_t *hdr, bcf1_t *rec) { return hdr->id[BCF_DT_CTG][rec->rid].key; } + + /** + * bcf_hdr_id2*() - Macros for accessing bcf_idinfo_t + * @type: one of BCF_HL_FLT, BCF_HL_INFO, BCF_HL_FMT + * @int_id: return value of bcf_id2int, must be >=0 + * + * The returned values are: + * bcf_hdr_id2length .. whether the number of values is fixed or variable, one of BCF_VL_* + * bcf_hdr_id2number .. the number of values, 0xfffff for variable length fields + * bcf_hdr_id2type .. the field type, one of BCF_HT_* + * bcf_hdr_id2coltype .. the column type, one of BCF_HL_* + * + * Notes: Prior to using the macros, the presence of the info should be + * tested with bcf_hdr_idinfo_exists(). + */ + #define bcf_hdr_id2length(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>8 & 0xf) + #define bcf_hdr_id2number(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>12) + #define bcf_hdr_id2type(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type]>>4 & 0xf) + #define bcf_hdr_id2coltype(hdr,type,int_id) ((hdr)->id[BCF_DT_ID][int_id].val->info[type] & 0xf) + #define bcf_hdr_idinfo_exists(hdr,type,int_id) ((int_id<0 || bcf_hdr_id2coltype(hdr,type,int_id)==0xf) ? 0 : 1) + #define bcf_hdr_id2hrec(hdr,dict_type,col_type,int_id) ((hdr)->id[(dict_type)==BCF_DT_CTG?BCF_DT_CTG:BCF_DT_ID][int_id].val->hrec[(dict_type)==BCF_DT_CTG?0:(col_type)]) + + void bcf_fmt_array(kstring_t *s, int n, int type, void *data); + uint8_t *bcf_fmt_sized_array(kstring_t *s, uint8_t *ptr); + + void bcf_enc_vchar(kstring_t *s, int l, const char *a); + void bcf_enc_vint(kstring_t *s, int n, int32_t *a, int wsize); + void bcf_enc_vfloat(kstring_t *s, int n, float *a); + + + /************************************************************************** + * BCF index + * + * Note that these functions work with BCFs only. See synced_bcf_reader.h + * which provides (amongst other things) an API to work transparently with + * both indexed BCFs and VCFs. + **************************************************************************/ + + #define bcf_itr_destroy(iter) hts_itr_destroy(iter) + #define bcf_itr_queryi(idx, tid, beg, end) hts_itr_query((idx), (tid), (beg), (end), bcf_readrec) + #define bcf_itr_querys(idx, hdr, s) hts_itr_querys((idx), (s), (hts_name2id_f)(bcf_hdr_name2id), (hdr), hts_itr_query, bcf_readrec) + #define bcf_itr_next(htsfp, itr, r) hts_itr_next((htsfp)->fp.bgzf, (itr), (r), 0) + #define bcf_index_load(fn) hts_idx_load(fn, HTS_FMT_CSI) + #define bcf_index_seqnames(idx, hdr, nptr) hts_idx_seqnames((idx),(nptr),(hts_id2name_f)(bcf_hdr_id2name),(hdr)) + + int bcf_index_build(const char *fn, int min_shift); + +#ifdef __cplusplus +} +#endif + +/******************* + * Typed value I/O * + *******************/ + +/* + Note that in contrast with BCFv2.1 specification, HTSlib implementation + allows missing values in vectors. For integer types, the values 0x80, + 0x8000, 0x80000000 are interpreted as missing values and 0x81, 0x8001, + 0x80000001 as end-of-vector indicators. Similarly for floats, the value of + 0x7F800001 is interpreted as a missing value and 0x7F800002 as an + end-of-vector indicator. + Note that the end-of-vector byte is not part of the vector. + + This trial BCF version (v2.2) is compatible with the VCF specification and + enables to handle correctly vectors with different ploidy in presence of + missing values. + */ +#define bcf_int8_vector_end (INT8_MIN+1) +#define bcf_int16_vector_end (INT16_MIN+1) +#define bcf_int32_vector_end (INT32_MIN+1) +#define bcf_str_vector_end 0 +#define bcf_int8_missing INT8_MIN +#define bcf_int16_missing INT16_MIN +#define bcf_int32_missing INT32_MIN +#define bcf_str_missing 0x07 +extern uint32_t bcf_float_vector_end; +extern uint32_t bcf_float_missing; +static inline void bcf_float_set(float *ptr, uint32_t value) +{ + union { uint32_t i; float f; } u; + u.i = value; + *ptr = u.f; +} +#define bcf_float_set_vector_end(x) bcf_float_set(&(x),bcf_float_vector_end) +#define bcf_float_set_missing(x) bcf_float_set(&(x),bcf_float_missing) +static inline int bcf_float_is_missing(float f) +{ + union { uint32_t i; float f; } u; + u.f = f; + return u.i==bcf_float_missing ? 1 : 0; +} +static inline int bcf_float_is_vector_end(float f) +{ + union { uint32_t i; float f; } u; + u.f = f; + return u.i==bcf_float_vector_end ? 1 : 0; +} + +static inline void bcf_format_gt(bcf_fmt_t *fmt, int isample, kstring_t *str) +{ + #define BRANCH(type_t, missing, vector_end) { \ + type_t *ptr = (type_t*) (fmt->p + isample*fmt->size); \ + int i; \ + for (i=0; in && ptr[i]!=vector_end; i++) \ + { \ + if ( i ) kputc("/|"[ptr[i]&1], str); \ + if ( !(ptr[i]>>1) ) kputc('.', str); \ + else kputw((ptr[i]>>1) - 1, str); \ + } \ + if (i == 0) kputc('.', str); \ + } + switch (fmt->type) { + case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_missing, bcf_int8_vector_end); break; + case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_missing, bcf_int16_vector_end); break; + case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_missing, bcf_int32_vector_end); break; + default: fprintf(stderr,"FIXME: type %d in bcf_format_gt?\n", fmt->type); abort(); break; + } + #undef BRANCH +} + +static inline void bcf_enc_size(kstring_t *s, int size, int type) +{ + if (size >= 15) { + kputc(15<<4|type, s); + if (size >= 128) { + if (size >= 32768) { + int32_t x = size; + kputc(1<<4|BCF_BT_INT32, s); + kputsn((char*)&x, 4, s); + } else { + int16_t x = size; + kputc(1<<4|BCF_BT_INT16, s); + kputsn((char*)&x, 2, s); + } + } else { + kputc(1<<4|BCF_BT_INT8, s); + kputc(size, s); + } + } else kputc(size<<4|type, s); +} + +static inline int bcf_enc_inttype(long x) +{ + if (x <= INT8_MAX && x > bcf_int8_missing) return BCF_BT_INT8; + if (x <= INT16_MAX && x > bcf_int16_missing) return BCF_BT_INT16; + return BCF_BT_INT32; +} + +static inline void bcf_enc_int1(kstring_t *s, int32_t x) +{ + if (x == bcf_int32_vector_end) { + bcf_enc_size(s, 1, BCF_BT_INT8); + kputc(bcf_int8_vector_end, s); + } else if (x == bcf_int32_missing) { + bcf_enc_size(s, 1, BCF_BT_INT8); + kputc(bcf_int8_missing, s); + } else if (x <= INT8_MAX && x > bcf_int8_missing) { + bcf_enc_size(s, 1, BCF_BT_INT8); + kputc(x, s); + } else if (x <= INT16_MAX && x > bcf_int16_missing) { + int16_t z = x; + bcf_enc_size(s, 1, BCF_BT_INT16); + kputsn((char*)&z, 2, s); + } else { + int32_t z = x; + bcf_enc_size(s, 1, BCF_BT_INT32); + kputsn((char*)&z, 4, s); + } +} + +static inline int32_t bcf_dec_int1(const uint8_t *p, int type, uint8_t **q) +{ + if (type == BCF_BT_INT8) { + *q = (uint8_t*)p + 1; + return *(int8_t*)p; + } else if (type == BCF_BT_INT16) { + *q = (uint8_t*)p + 2; + return *(int16_t*)p; + } else { + *q = (uint8_t*)p + 4; + return *(int32_t*)p; + } +} + +static inline int32_t bcf_dec_typed_int1(const uint8_t *p, uint8_t **q) +{ + return bcf_dec_int1(p + 1, *p&0xf, q); +} + +static inline int32_t bcf_dec_size(const uint8_t *p, uint8_t **q, int *type) +{ + *type = *p & 0xf; + if (*p>>4 != 15) { + *q = (uint8_t*)p + 1; + return *p>>4; + } else return bcf_dec_typed_int1(p + 1, q); +} + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/vcf_sweep.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/vcf_sweep.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,39 @@ +/* vcf_sweep.h -- forward/reverse sweep API. + + Copyright (C) 2013 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_VCF_SWEEP_H +#define HTSLIB_VCF_SWEEP_H + +#include "hts.h" +#include "vcf.h" + +typedef struct _bcf_sweep_t bcf_sweep_t; + +bcf_sweep_t *bcf_sweep_init(const char *fname); +void bcf_sweep_destroy(bcf_sweep_t *sw); +bcf_hdr_t *bcf_sweep_hdr(bcf_sweep_t *sw); +bcf1_t *bcf_sweep_fwd(bcf_sweep_t *sw); +bcf1_t *bcf_sweep_bwd(bcf_sweep_t *sw); + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib/vcfutils.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib/vcfutils.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,112 @@ +/* vcfutils.h -- allele-related utility functions. + + Copyright (C) 2012, 2013 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#ifndef HTSLIB_VCFUTILS_H +#define HTSLIB_VCFUTILS_H + +#include "vcf.h" + + +/** + * bcf_trim_alleles() - remove ALT alleles unused in genotype fields + * @header: for access to BCF_DT_ID dictionary + * @line: VCF line obtain from vcf_parse1 + * + * Returns the number of removed alleles on success or negative + * on error: + * -1 .. some allele index is out of bounds + */ +int bcf_trim_alleles(const bcf_hdr_t *header, bcf1_t *line); + + +/** + * bcf_remove_alleles() - remove ALT alleles according to bitmask @mask + * @header: for access to BCF_DT_ID dictionary + * @line: VCF line obtained from vcf_parse1 + * @mask: alleles to remove + */ +void bcf_remove_alleles(const bcf_hdr_t *header, bcf1_t *line, int mask); + + +/** + * bcf_calc_ac() - calculate the number of REF and ALT alleles + * @header: for access to BCF_DT_ID dictionary + * @line: VCF line obtained from vcf_parse1 + * @ac: array of length line->n_allele + * @which: determine if INFO/AN,AC and indv fields be used + * + * Returns 1 if the call succeeded, or 0 if the value could not + * be determined. + * + * The value of @which determines if existing INFO/AC,AN can be + * used (BCF_UN_INFO) and and if indv fields can be splitted + * (BCF_UN_FMT). + */ +int bcf_calc_ac(const bcf_hdr_t *header, bcf1_t *line, int *ac, int which); + + +/** + * bcf_gt_type() - determines type of the genotype + * @fmt_ptr: the GT format field as set for example by set_fmt_ptr + * @isample: sample index (starting from 0) + * @ial: index of the 1st non-reference allele (starting from 1) + * @jal: index of the 2nd non-reference allele (starting from 1) + * + * Returns the type of the genotype (one of GT_HOM_RR, GT_HET_RA, + * GT_HOM_AA, GT_HET_AA, GT_HAPL_R, GT_HAPL_A or GT_UNKN). If $ial + * is not NULL and the genotype has one or more non-reference + * alleles, $ial will be set. In case of GT_HET_AA, $ial is the + * position of the allele which appeared first in ALT. If $jal is + * not null and the genotype is GT_HET_AA, $jal will be set and is + * the position of the second allele in ALT. + */ +#define GT_HOM_RR 0 // note: the actual value of GT_* matters, used in dosage r2 calculation +#define GT_HOM_AA 1 +#define GT_HET_RA 2 +#define GT_HET_AA 3 +#define GT_HAPL_R 4 +#define GT_HAPL_A 5 +#define GT_UNKN 6 +int bcf_gt_type(bcf_fmt_t *fmt_ptr, int isample, int *ial, int *jal); + +static inline int bcf_acgt2int(char c) +{ + if ( (int)c>96 ) c -= 32; + if ( c=='A' ) return 0; + if ( c=='C' ) return 1; + if ( c=='G' ) return 2; + if ( c=='T' ) return 3; + return -1; +} +#define bcf_int2acgt(i) "ACGT"[i] + +/** + * bcf_ij2G() - common task: allele indexes to Number=G index (diploid) + * @i,j: allele indexes, 0-based, i<=j + * + * Returns index to the Number=G diploid array + */ +#define bcf_ij2G(i, j) ((j)*((j)+1)/2+(i)) + +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/htslib_vars.mk --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/htslib_vars.mk Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,39 @@ +# Makefile variables useful for third-party code using htslib's public API. +# +# Copyright (C) 2013-2014 Genome Research Ltd. +# +# Author: John Marshall +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# These variables can be used to express dependencies on htslib headers. +# See htslib.mk for details. + +htslib_bgzf_h = $(HTSPREFIX)htslib/bgzf.h +htslib_faidx_h = $(HTSPREFIX)htslib/faidx.h +htslib_hfile_h = $(HTSPREFIX)htslib/hfile.h $(htslib_hts_defs_h) +htslib_hts_h = $(HTSPREFIX)htslib/hts.h +htslib_hts_defs_h = $(HTSPREFIX)htslib/hts_defs.h +htslib_regidx_h = $(HTSPREFIX)htslib/regidx.h +htslib_sam_h = $(HTSPREFIX)htslib/sam.h $(htslib_hts_h) +htslib_synced_bcf_reader_h = $(HTSPREFIX)htslib/synced_bcf_reader.h $(htslib_hts_h) $(htslib_vcf_h) $(htslib_tbx_h) +htslib_tbx_h = $(HTSPREFIX)htslib/tbx.h $(htslib_hts_h) +htslib_vcf_h = $(HTSPREFIX)htslib/vcf.h $(htslib_hts_h) $(HTSPREFIX)htslib/kstring.h +htslib_vcf_sweep_h = $(HTSPREFIX)htslib/vcf_sweep.h $(htslib_hts_h) $(htslib_vcf_h) +htslib_vcfutils_h = $(HTSPREFIX)htslib/vcfutils.h $(htslib_vcf_h) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/kfunc.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/kfunc.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,280 @@ +/* The MIT License + + Copyright (C) 2010, 2013 Genome Research Ltd. + Copyright (C) 2011 Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#include +#include +#include "htslib/kfunc.h" + +/* Log gamma function + * \log{\Gamma(z)} + * AS245, 2nd algorithm, http://lib.stat.cmu.edu/apstat/245 + */ +double kf_lgamma(double z) +{ + double x = 0; + x += 0.1659470187408462e-06 / (z+7); + x += 0.9934937113930748e-05 / (z+6); + x -= 0.1385710331296526 / (z+5); + x += 12.50734324009056 / (z+4); + x -= 176.6150291498386 / (z+3); + x += 771.3234287757674 / (z+2); + x -= 1259.139216722289 / (z+1); + x += 676.5203681218835 / z; + x += 0.9999999999995183; + return log(x) - 5.58106146679532777 - z + (z-0.5) * log(z+6.5); +} + +/* complementary error function + * \frac{2}{\sqrt{\pi}} \int_x^{\infty} e^{-t^2} dt + * AS66, 2nd algorithm, http://lib.stat.cmu.edu/apstat/66 + */ +double kf_erfc(double x) +{ + const double p0 = 220.2068679123761; + const double p1 = 221.2135961699311; + const double p2 = 112.0792914978709; + const double p3 = 33.912866078383; + const double p4 = 6.37396220353165; + const double p5 = .7003830644436881; + const double p6 = .03526249659989109; + const double q0 = 440.4137358247522; + const double q1 = 793.8265125199484; + const double q2 = 637.3336333788311; + const double q3 = 296.5642487796737; + const double q4 = 86.78073220294608; + const double q5 = 16.06417757920695; + const double q6 = 1.755667163182642; + const double q7 = .08838834764831844; + double expntl, z, p; + z = fabs(x) * M_SQRT2; + if (z > 37.) return x > 0.? 0. : 2.; + expntl = exp(z * z * - .5); + if (z < 10. / M_SQRT2) // for small z + p = expntl * ((((((p6 * z + p5) * z + p4) * z + p3) * z + p2) * z + p1) * z + p0) + / (((((((q7 * z + q6) * z + q5) * z + q4) * z + q3) * z + q2) * z + q1) * z + q0); + else p = expntl / 2.506628274631001 / (z + 1. / (z + 2. / (z + 3. / (z + 4. / (z + .65))))); + return x > 0.? 2. * p : 2. * (1. - p); +} + +/* The following computes regularized incomplete gamma functions. + * Formulas are taken from Wiki, with additional input from Numerical + * Recipes in C (for modified Lentz's algorithm) and AS245 + * (http://lib.stat.cmu.edu/apstat/245). + * + * A good online calculator is available at: + * + * http://www.danielsoper.com/statcalc/calc23.aspx + * + * It calculates upper incomplete gamma function, which equals + * kf_gammaq(s,z)*tgamma(s). + */ + +#define KF_GAMMA_EPS 1e-14 +#define KF_TINY 1e-290 + +// regularized lower incomplete gamma function, by series expansion +static double _kf_gammap(double s, double z) +{ + double sum, x; + int k; + for (k = 1, sum = x = 1.; k < 100; ++k) { + sum += (x *= z / (s + k)); + if (x / sum < KF_GAMMA_EPS) break; + } + return exp(s * log(z) - z - kf_lgamma(s + 1.) + log(sum)); +} +// regularized upper incomplete gamma function, by continued fraction +static double _kf_gammaq(double s, double z) +{ + int j; + double C, D, f; + f = 1. + z - s; C = f; D = 0.; + // Modified Lentz's algorithm for computing continued fraction + // See Numerical Recipes in C, 2nd edition, section 5.2 + for (j = 1; j < 100; ++j) { + double a = j * (s - j), b = (j<<1) + 1 + z - s, d; + D = b + a * D; + if (D < KF_TINY) D = KF_TINY; + C = b + a / C; + if (C < KF_TINY) C = KF_TINY; + D = 1. / D; + d = C * D; + f *= d; + if (fabs(d - 1.) < KF_GAMMA_EPS) break; + } + return exp(s * log(z) - z - kf_lgamma(s) - log(f)); +} + +double kf_gammap(double s, double z) +{ + return z <= 1. || z < s? _kf_gammap(s, z) : 1. - _kf_gammaq(s, z); +} + +double kf_gammaq(double s, double z) +{ + return z <= 1. || z < s? 1. - _kf_gammap(s, z) : _kf_gammaq(s, z); +} + +/* Regularized incomplete beta function. The method is taken from + * Numerical Recipe in C, 2nd edition, section 6.4. The following web + * page calculates the incomplete beta function, which equals + * kf_betai(a,b,x) * gamma(a) * gamma(b) / gamma(a+b): + * + * http://www.danielsoper.com/statcalc/calc36.aspx + */ +static double kf_betai_aux(double a, double b, double x) +{ + double C, D, f; + int j; + if (x == 0.) return 0.; + if (x == 1.) return 1.; + f = 1.; C = f; D = 0.; + // Modified Lentz's algorithm for computing continued fraction + for (j = 1; j < 200; ++j) { + double aa, d; + int m = j>>1; + aa = (j&1)? -(a + m) * (a + b + m) * x / ((a + 2*m) * (a + 2*m + 1)) + : m * (b - m) * x / ((a + 2*m - 1) * (a + 2*m)); + D = 1. + aa * D; + if (D < KF_TINY) D = KF_TINY; + C = 1. + aa / C; + if (C < KF_TINY) C = KF_TINY; + D = 1. / D; + d = C * D; + f *= d; + if (fabs(d - 1.) < KF_GAMMA_EPS) break; + } + return exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b) + a * log(x) + b * log(1.-x)) / a / f; +} +double kf_betai(double a, double b, double x) +{ + return x < (a + 1.) / (a + b + 2.)? kf_betai_aux(a, b, x) : 1. - kf_betai_aux(b, a, 1. - x); +} + +#ifdef KF_MAIN +#include +int main(int argc, char *argv[]) +{ + double x = 5.5, y = 3; + double a, b; + printf("erfc(%lg): %lg, %lg\n", x, erfc(x), kf_erfc(x)); + printf("upper-gamma(%lg,%lg): %lg\n", x, y, kf_gammaq(y, x)*tgamma(y)); + a = 2; b = 2; x = 0.5; + printf("incomplete-beta(%lg,%lg,%lg): %lg\n", a, b, x, kf_betai(a, b, x) / exp(kf_lgamma(a+b) - kf_lgamma(a) - kf_lgamma(b))); + return 0; +} +#endif + + +// log\binom{n}{k} +static double lbinom(int n, int k) +{ + if (k == 0 || n == k) return 0; + return lgamma(n+1) - lgamma(k+1) - lgamma(n-k+1); +} + +// n11 n12 | n1_ +// n21 n22 | n2_ +//-----------+---- +// n_1 n_2 | n + +// hypergeometric distribution +static double hypergeo(int n11, int n1_, int n_1, int n) +{ + return exp(lbinom(n1_, n11) + lbinom(n-n1_, n_1-n11) - lbinom(n, n_1)); +} + +typedef struct { + int n11, n1_, n_1, n; + double p; +} hgacc_t; + +// incremental version of hypergenometric distribution +static double hypergeo_acc(int n11, int n1_, int n_1, int n, hgacc_t *aux) +{ + if (n1_ || n_1 || n) { + aux->n11 = n11; aux->n1_ = n1_; aux->n_1 = n_1; aux->n = n; + } else { // then only n11 changed; the rest fixed + if (n11%11 && n11 + aux->n - aux->n1_ - aux->n_1) { + if (n11 == aux->n11 + 1) { // incremental + aux->p *= (double)(aux->n1_ - aux->n11) / n11 + * (aux->n_1 - aux->n11) / (n11 + aux->n - aux->n1_ - aux->n_1); + aux->n11 = n11; + return aux->p; + } + if (n11 == aux->n11 - 1) { // incremental + aux->p *= (double)aux->n11 / (aux->n1_ - n11) + * (aux->n11 + aux->n - aux->n1_ - aux->n_1) / (aux->n_1 - n11); + aux->n11 = n11; + return aux->p; + } + } + aux->n11 = n11; + } + aux->p = hypergeo(aux->n11, aux->n1_, aux->n_1, aux->n); + return aux->p; +} + +double kt_fisher_exact(int n11, int n12, int n21, int n22, double *_left, double *_right, double *two) +{ + int i, j, max, min; + double p, q, left, right; + hgacc_t aux; + int n1_, n_1, n; + + n1_ = n11 + n12; n_1 = n11 + n21; n = n11 + n12 + n21 + n22; // calculate n1_, n_1 and n + max = (n_1 < n1_) ? n_1 : n1_; // max n11, for right tail + min = n1_ + n_1 - n; // not sure why n11-n22 is used instead of min(n_1,n1_) + if (min < 0) min = 0; // min n11, for left tail + *two = *_left = *_right = 1.; + if (min == max) return 1.; // no need to do test + q = hypergeo_acc(n11, n1_, n_1, n, &aux); // the probability of the current table + // left tail + p = hypergeo_acc(min, 0, 0, 0, &aux); + for (left = 0., i = min + 1; p < 0.99999999 * q && i<=max; ++i) // loop until underflow + left += p, p = hypergeo_acc(i, 0, 0, 0, &aux); + --i; + if (p < 1.00000001 * q) left += p; + else --i; + // right tail + p = hypergeo_acc(max, 0, 0, 0, &aux); + for (right = 0., j = max - 1; p < 0.99999999 * q && j>=0; --j) // loop until underflow + right += p, p = hypergeo_acc(j, 0, 0, 0, &aux); + ++j; + if (p < 1.00000001 * q) right += p; + else ++j; + // two-tail + *two = left + right; + if (*two > 1.) *two = 1.; + // adjust left and right + if (abs(i - n11) < abs(j - n11)) right = 1. - left + q; + else left = 1.0 - right + q; + *_left = left; *_right = right; + return q; +} + + + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/knetfile.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/knetfile.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,632 @@ +/* The MIT License + + Copyright (c) 2008 by Genome Research Ltd (GRL). + 2010 by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +/* Probably I will not do socket programming in the next few years and + therefore I decide to heavily annotate this file, for Linux and + Windows as well. -ac */ + +#include +#include +#include +#include +#include +#include +#include +#include + +#ifndef _WIN32 +#include +#include +#include +#endif + +#include "htslib/knetfile.h" + +/* In winsock.h, the type of a socket is SOCKET, which is: "typedef + * u_int SOCKET". An invalid SOCKET is: "(SOCKET)(~0)", or signed + * integer -1. In knetfile.c, I use "int" for socket type + * throughout. This should be improved to avoid confusion. + * + * In Linux/Mac, recv() and read() do almost the same thing. You can see + * in the header file that netread() is simply an alias of read(). In + * Windows, however, they are different and using recv() is mandatory. + */ + +/* This function tests if the file handler is ready for reading (or + * writing if is_read==0). */ +static int socket_wait(int fd, int is_read) +{ + fd_set fds, *fdr = 0, *fdw = 0; + struct timeval tv; + int ret; + tv.tv_sec = 5; tv.tv_usec = 0; // 5 seconds time out + FD_ZERO(&fds); + FD_SET(fd, &fds); + if (is_read) fdr = &fds; + else fdw = &fds; + ret = select(fd+1, fdr, fdw, 0, &tv); +#ifndef _WIN32 + if (ret == -1) perror("select"); +#else + if (ret == 0) + fprintf(stderr, "select time-out\n"); + else if (ret == SOCKET_ERROR) + fprintf(stderr, "select: %d\n", WSAGetLastError()); +#endif + return ret; +} + +#ifndef _WIN32 +/* This function does not work with Windows due to the lack of + * getaddrinfo() in winsock. It is addapted from an example in "Beej's + * Guide to Network Programming" (http://beej.us/guide/bgnet/). */ +static int socket_connect(const char *host, const char *port) +{ +#define __err_connect(func) do { perror(func); freeaddrinfo(res); return -1; } while (0) + + int ai_err, on = 1, fd; + struct linger lng = { 0, 0 }; + struct addrinfo hints, *res = 0; + memset(&hints, 0, sizeof(struct addrinfo)); + hints.ai_family = AF_UNSPEC; + hints.ai_socktype = SOCK_STREAM; + /* In Unix/Mac, getaddrinfo() is the most convenient way to get + * server information. */ + if ((ai_err = getaddrinfo(host, port, &hints, &res)) != 0) { fprintf(stderr, "can't resolve %s:%s: %s\n", host, port, gai_strerror(ai_err)); return -1; } + if ((fd = socket(res->ai_family, res->ai_socktype, res->ai_protocol)) == -1) __err_connect("socket"); + /* The following two setsockopt() are used by ftplib + * (http://nbpfaus.net/~pfau/ftplib/). I am not sure if they + * necessary. */ + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &on, sizeof(on)) == -1) __err_connect("setsockopt"); + if (setsockopt(fd, SOL_SOCKET, SO_LINGER, &lng, sizeof(lng)) == -1) __err_connect("setsockopt"); + if (connect(fd, res->ai_addr, res->ai_addrlen) != 0) __err_connect("connect"); + freeaddrinfo(res); + return fd; +} +#else +/* MinGW's printf has problem with "%lld" */ +char *int64tostr(char *buf, int64_t x) +{ + int cnt; + int i = 0; + do { + buf[i++] = '0' + x % 10; + x /= 10; + } while (x); + buf[i] = 0; + for (cnt = i, i = 0; i < cnt/2; ++i) { + int c = buf[i]; buf[i] = buf[cnt-i-1]; buf[cnt-i-1] = c; + } + return buf; +} + +int64_t strtoint64(const char *buf) +{ + int64_t x; + for (x = 0; *buf != '\0'; ++buf) + x = x * 10 + ((int64_t) *buf - 48); + return x; +} +/* In windows, the first thing is to establish the TCP connection. */ +int knet_win32_init() +{ + WSADATA wsaData; + return WSAStartup(MAKEWORD(2, 2), &wsaData); +} +void knet_win32_destroy() +{ + WSACleanup(); +} +/* A slightly modfied version of the following function also works on + * Mac (and presummably Linux). However, this function is not stable on + * my Mac. It sometimes works fine but sometimes does not. Therefore for + * non-Windows OS, I do not use this one. */ +static SOCKET socket_connect(const char *host, const char *port) +{ +#define __err_connect(func) \ + do { \ + fprintf(stderr, "%s: %d\n", func, WSAGetLastError()); \ + return -1; \ + } while (0) + + int on = 1; + SOCKET fd; + struct linger lng = { 0, 0 }; + struct sockaddr_in server; + struct hostent *hp = 0; + // open socket + if ((fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP)) == INVALID_SOCKET) __err_connect("socket"); + if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (char*)&on, sizeof(on)) == -1) __err_connect("setsockopt"); + if (setsockopt(fd, SOL_SOCKET, SO_LINGER, (char*)&lng, sizeof(lng)) == -1) __err_connect("setsockopt"); + // get host info + if (isalpha(host[0])) hp = gethostbyname(host); + else { + struct in_addr addr; + addr.s_addr = inet_addr(host); + hp = gethostbyaddr((char*)&addr, 4, AF_INET); + } + if (hp == 0) __err_connect("gethost"); + // connect + server.sin_addr.s_addr = *((unsigned long*)hp->h_addr); + server.sin_family= AF_INET; + server.sin_port = htons(atoi(port)); + if (connect(fd, (struct sockaddr*)&server, sizeof(server)) != 0) __err_connect("connect"); + // freehostent(hp); // strangely in MSDN, hp is NOT freed (memory leak?!) + return fd; +} +#endif + +static off_t my_netread(int fd, void *buf, off_t len) +{ + off_t rest = len, curr, l = 0; + /* recv() and read() may not read the required length of data with + * one call. They have to be called repeatedly. */ + while (rest) { + if (socket_wait(fd, 1) <= 0) break; // socket is not ready for reading + curr = netread(fd, (void*)((char*)buf + l), rest); + /* According to the glibc manual, section 13.2, a zero returned + * value indicates end-of-file (EOF), which should mean that + * read() will not return zero if EOF has not been met but data + * are not immediately available. */ + if (curr == 0) break; + l += curr; rest -= curr; + } + return l; +} + +/************************* + * FTP specific routines * + *************************/ + +static int kftp_get_response(knetFile *ftp) +{ +#ifndef _WIN32 + unsigned char c; +#else + char c; +#endif + int n = 0; + char *p; + if (socket_wait(ftp->ctrl_fd, 1) <= 0) return 0; + while (netread(ftp->ctrl_fd, &c, 1)) { // FIXME: this is *VERY BAD* for unbuffered I/O + //fputc(c, stderr); + if (n >= ftp->max_response) { + ftp->max_response = ftp->max_response? ftp->max_response<<1 : 256; + ftp->response = (char*)realloc(ftp->response, ftp->max_response); + } + ftp->response[n++] = c; + if (c == '\n') { + if (n >= 4 && isdigit(ftp->response[0]) && isdigit(ftp->response[1]) && isdigit(ftp->response[2]) + && ftp->response[3] != '-') break; + n = 0; + continue; + } + } + if (n < 2) return -1; + ftp->response[n-2] = 0; + return strtol(ftp->response, &p, 0); +} + +static int kftp_send_cmd(knetFile *ftp, const char *cmd, int is_get) +{ + if (socket_wait(ftp->ctrl_fd, 0) <= 0) return -1; // socket is not ready for writing + int len = strlen(cmd); + if ( netwrite(ftp->ctrl_fd, cmd, len) != len ) return -1; + return is_get? kftp_get_response(ftp) : 0; +} + +static int kftp_pasv_prep(knetFile *ftp) +{ + char *p; + int v[6]; + kftp_send_cmd(ftp, "PASV\r\n", 1); + for (p = ftp->response; *p && *p != '('; ++p); + if (*p != '(') return -1; + ++p; + sscanf(p, "%d,%d,%d,%d,%d,%d", &v[0], &v[1], &v[2], &v[3], &v[4], &v[5]); + memcpy(ftp->pasv_ip, v, 4 * sizeof(int)); + ftp->pasv_port = (v[4]<<8&0xff00) + v[5]; + return 0; +} + + +static int kftp_pasv_connect(knetFile *ftp) +{ + char host[80], port[10]; + if (ftp->pasv_port == 0) { + fprintf(stderr, "[kftp_pasv_connect] kftp_pasv_prep() is not called before hand.\n"); + return -1; + } + sprintf(host, "%d.%d.%d.%d", ftp->pasv_ip[0], ftp->pasv_ip[1], ftp->pasv_ip[2], ftp->pasv_ip[3]); + sprintf(port, "%d", ftp->pasv_port); + ftp->fd = socket_connect(host, port); + if (ftp->fd == -1) return -1; + return 0; +} + +int kftp_connect(knetFile *ftp) +{ + ftp->ctrl_fd = socket_connect(ftp->host, ftp->port); + if (ftp->ctrl_fd == -1) return -1; + kftp_get_response(ftp); + kftp_send_cmd(ftp, "USER anonymous\r\n", 1); + kftp_send_cmd(ftp, "PASS kftp@\r\n", 1); + kftp_send_cmd(ftp, "TYPE I\r\n", 1); + return 0; +} + +int kftp_reconnect(knetFile *ftp) +{ + if (ftp->ctrl_fd != -1) { + netclose(ftp->ctrl_fd); + ftp->ctrl_fd = -1; + } + netclose(ftp->fd); + ftp->fd = -1; + return kftp_connect(ftp); +} + +// initialize ->type, ->host, ->retr and ->size +knetFile *kftp_parse_url(const char *fn, const char *mode) +{ + knetFile *fp; + char *p; + int l; + if (strstr(fn, "ftp://") != fn) return 0; + for (p = (char*)fn + 6; *p && *p != '/'; ++p); + if (*p != '/') return 0; + l = p - fn - 6; + fp = (knetFile*)calloc(1, sizeof(knetFile)); + fp->type = KNF_TYPE_FTP; + fp->fd = -1; + /* the Linux/Mac version of socket_connect() also recognizes a port + * like "ftp", but the Windows version does not. */ + fp->port = strdup("21"); + fp->host = (char*)calloc(l + 1, 1); + if (strchr(mode, 'c')) fp->no_reconnect = 1; + strncpy(fp->host, fn + 6, l); + fp->retr = (char*)calloc(strlen(p) + 8, 1); + sprintf(fp->retr, "RETR %s\r\n", p); + fp->size_cmd = (char*)calloc(strlen(p) + 8, 1); + sprintf(fp->size_cmd, "SIZE %s\r\n", p); + fp->seek_offset = 0; + return fp; +} +// place ->fd at offset off +int kftp_connect_file(knetFile *fp) +{ + int ret; + long long file_size; + if (fp->fd != -1) { + netclose(fp->fd); + if (fp->no_reconnect) kftp_get_response(fp); + } + kftp_pasv_prep(fp); + kftp_send_cmd(fp, fp->size_cmd, 1); +#ifndef _WIN32 + // If the file does not exist, the response will be "550 Could not get file + // size". Be silent on failure, hts_idx_load can be trying the existence of .csi or .tbi. + if ( sscanf(fp->response,"%*d %lld", &file_size) != 1 ) return -1; +#else + const char *p = fp->response; + while (*p != ' ') ++p; + while (*p < '0' || *p > '9') ++p; + file_size = strtoint64(p); +#endif + fp->file_size = file_size; + if (fp->offset>=0) { + char tmp[32]; +#ifndef _WIN32 + sprintf(tmp, "REST %lld\r\n", (long long)fp->offset); +#else + strcpy(tmp, "REST "); + int64tostr(tmp + 5, fp->offset); + strcat(tmp, "\r\n"); +#endif + kftp_send_cmd(fp, tmp, 1); + } + kftp_send_cmd(fp, fp->retr, 0); + kftp_pasv_connect(fp); + ret = kftp_get_response(fp); + if (ret != 150) { + fprintf(stderr, "[kftp_connect_file] %s\n", fp->response); + netclose(fp->fd); + fp->fd = -1; + return -1; + } + fp->is_ready = 1; + return 0; +} + + +/************************** + * HTTP specific routines * + **************************/ + +knetFile *khttp_parse_url(const char *fn, const char *mode) +{ + knetFile *fp; + char *p, *proxy, *q; + int l; + if (strstr(fn, "http://") != fn) return 0; + // set ->http_host + for (p = (char*)fn + 7; *p && *p != '/'; ++p); + l = p - fn - 7; + fp = (knetFile*)calloc(1, sizeof(knetFile)); + fp->http_host = (char*)calloc(l + 1, 1); + strncpy(fp->http_host, fn + 7, l); + fp->http_host[l] = 0; + for (q = fp->http_host; *q && *q != ':'; ++q); + if (*q == ':') *q++ = 0; + // get http_proxy + proxy = getenv("http_proxy"); + // set ->host, ->port and ->path + if (proxy == 0) { + fp->host = strdup(fp->http_host); // when there is no proxy, server name is identical to http_host name. + fp->port = strdup(*q? q : "80"); + fp->path = strdup(*p? p : "/"); + } else { + fp->host = (strstr(proxy, "http://") == proxy)? strdup(proxy + 7) : strdup(proxy); + for (q = fp->host; *q && *q != ':'; ++q); + if (*q == ':') *q++ = 0; + fp->port = strdup(*q? q : "80"); + fp->path = strdup(fn); + } + fp->type = KNF_TYPE_HTTP; + fp->ctrl_fd = fp->fd = -1; + fp->seek_offset = 0; + return fp; +} + +int khttp_connect_file(knetFile *fp) +{ + int ret, l = 0; + char *buf, *p; + if (fp->fd != -1) netclose(fp->fd); + fp->fd = socket_connect(fp->host, fp->port); + buf = (char*)calloc(0x10000, 1); // FIXME: I am lazy... But in principle, 64KB should be large enough. + l += sprintf(buf + l, "GET %s HTTP/1.0\r\nHost: %s\r\n", fp->path, fp->http_host); + l += sprintf(buf + l, "Range: bytes=%lld-\r\n", (long long)fp->offset); + l += sprintf(buf + l, "\r\n"); + if ( netwrite(fp->fd, buf, l) != l ) { free(buf); return -1; } + l = 0; + while (netread(fp->fd, buf + l, 1)) { // read HTTP header; FIXME: bad efficiency + if (buf[l] == '\n' && l >= 3) + if (strncmp(buf + l - 3, "\r\n\r\n", 4) == 0) break; + ++l; + } + buf[l] = 0; + if (l < 14) { // prematured header + free(buf); + netclose(fp->fd); + fp->fd = -1; + return -1; + } + ret = strtol(buf + 8, &p, 0); // HTTP return code + if (ret == 200 && fp->offset>0) { // 200 (complete result); then skip beginning of the file + off_t rest = fp->offset; + while (rest) { + off_t l = rest < 0x10000? rest : 0x10000; + rest -= my_netread(fp->fd, buf, l); + } + } else if (ret != 206 && ret != 200) { + // failed to open file + free(buf); + netclose(fp->fd); + switch (ret) { + case 401: errno = EPERM; break; + case 403: errno = EACCES; break; + case 404: errno = ENOENT; break; + case 407: errno = EPERM; break; + case 408: errno = ETIMEDOUT; break; + case 410: errno = ENOENT; break; + case 503: errno = EAGAIN; break; + case 504: errno = ETIMEDOUT; break; + default: errno = (ret >= 400 && ret < 500)? EINVAL : EIO; break; + } + fp->fd = -1; + return -1; + } + free(buf); + fp->is_ready = 1; + return 0; +} + +/******************** + * Generic routines * + ********************/ + +knetFile *knet_open(const char *fn, const char *mode) +{ + knetFile *fp = 0; + if (mode[0] != 'r') { + fprintf(stderr, "[kftp_open] only mode \"r\" is supported.\n"); + return 0; + } + if (strstr(fn, "ftp://") == fn) { + fp = kftp_parse_url(fn, mode); + if (fp == 0) return 0; + if (kftp_connect(fp) == -1) { + knet_close(fp); + return 0; + } + kftp_connect_file(fp); + } else if (strstr(fn, "http://") == fn) { + fp = khttp_parse_url(fn, mode); + if (fp == 0) return 0; + khttp_connect_file(fp); + } else { // local file +#ifdef _WIN32 + /* In windows, O_BINARY is necessary. In Linux/Mac, O_BINARY may + * be undefined on some systems, although it is defined on my + * Mac and the Linux I have tested on. */ + int fd = open(fn, O_RDONLY | O_BINARY); +#else + int fd = open(fn, O_RDONLY); +#endif + if (fd == -1) { + perror("open"); + return 0; + } + fp = (knetFile*)calloc(1, sizeof(knetFile)); + fp->type = KNF_TYPE_LOCAL; + fp->fd = fd; + fp->ctrl_fd = -1; + } + if (fp && fp->fd == -1) { + knet_close(fp); + return 0; + } + return fp; +} + +knetFile *knet_dopen(int fd, const char *mode) +{ + knetFile *fp = (knetFile*)calloc(1, sizeof(knetFile)); + fp->type = KNF_TYPE_LOCAL; + fp->fd = fd; + return fp; +} + +ssize_t knet_read(knetFile *fp, void *buf, size_t len) +{ + off_t l = 0; + if (fp->fd == -1) return 0; + if (fp->type == KNF_TYPE_FTP) { + if (fp->is_ready == 0) { + if (!fp->no_reconnect) kftp_reconnect(fp); + kftp_connect_file(fp); + } + } else if (fp->type == KNF_TYPE_HTTP) { + if (fp->is_ready == 0) + khttp_connect_file(fp); + } + if (fp->type == KNF_TYPE_LOCAL) { // on Windows, the following block is necessary; not on UNIX + size_t rest = len; + ssize_t curr; + while (rest) { + do { + curr = read(fp->fd, (void*)((char*)buf + l), rest); + } while (curr < 0 && EINTR == errno); + if (curr < 0) return -1; + if (curr == 0) break; + l += curr; rest -= curr; + } + } else l = my_netread(fp->fd, buf, len); + fp->offset += l; + return l; +} + +off_t knet_seek(knetFile *fp, off_t off, int whence) +{ + if (whence == SEEK_SET && off == fp->offset) return 0; + if (fp->type == KNF_TYPE_LOCAL) { + /* Be aware that lseek() returns the offset after seeking, while fseek() returns zero on success. */ + off_t offset = lseek(fp->fd, off, whence); + if (offset == -1) return -1; + fp->offset = offset; + return fp->offset; + } else if (fp->type == KNF_TYPE_FTP) { + if (whence == SEEK_CUR) fp->offset += off; + else if (whence == SEEK_SET) fp->offset = off; + else if (whence == SEEK_END) fp->offset = fp->file_size + off; + else return -1; + fp->is_ready = 0; + return fp->offset; + } else if (fp->type == KNF_TYPE_HTTP) { + if (whence == SEEK_END) { // FIXME: can we allow SEEK_END in future? + fprintf(stderr, "[knet_seek] SEEK_END is not supported for HTTP. Offset is unchanged.\n"); + errno = ESPIPE; + return -1; + } + if (whence == SEEK_CUR) fp->offset += off; + else if (whence == SEEK_SET) fp->offset = off; + else return -1; + fp->is_ready = 0; + return fp->offset; + } + errno = EINVAL; + fprintf(stderr,"[knet_seek] %s\n", strerror(errno)); + return -1; +} + +int knet_close(knetFile *fp) +{ + if (fp == 0) return 0; + if (fp->ctrl_fd != -1) netclose(fp->ctrl_fd); // FTP specific + if (fp->fd != -1) { + /* On Linux/Mac, netclose() is an alias of close(), but on + * Windows, it is an alias of closesocket(). */ + if (fp->type == KNF_TYPE_LOCAL) close(fp->fd); + else netclose(fp->fd); + } + free(fp->host); free(fp->port); + free(fp->response); free(fp->retr); // FTP specific + free(fp->path); free(fp->http_host); // HTTP specific + free(fp); + return 0; +} + +#ifdef KNETFILE_MAIN +int main(void) +{ + char *buf; + knetFile *fp; + int type = 4, l; +#ifdef _WIN32 + knet_win32_init(); +#endif + buf = calloc(0x100000, 1); + if (type == 0) { + fp = knet_open("knetfile.c", "r"); + knet_seek(fp, 1000, SEEK_SET); + } else if (type == 1) { // NCBI FTP, large file + fp = knet_open("ftp://ftp.ncbi.nih.gov/1000genomes/ftp/data/NA12878/alignment/NA12878.chrom6.SLX.SRP000032.2009_06.bam", "r"); + knet_seek(fp, 2500000000ll, SEEK_SET); + l = knet_read(fp, buf, 255); + } else if (type == 2) { + fp = knet_open("ftp://ftp.sanger.ac.uk/pub4/treefam/tmp/index.shtml", "r"); + knet_seek(fp, 1000, SEEK_SET); + } else if (type == 3) { + fp = knet_open("http://www.sanger.ac.uk/Users/lh3/index.shtml", "r"); + knet_seek(fp, 1000, SEEK_SET); + } else if (type == 4) { + fp = knet_open("http://www.sanger.ac.uk/Users/lh3/ex1.bam", "r"); + knet_read(fp, buf, 10000); + knet_seek(fp, 20000, SEEK_SET); + knet_seek(fp, 10000, SEEK_SET); + l = knet_read(fp, buf+10000, 10000000) + 10000; + } + if (type != 4 && type != 1) { + knet_read(fp, buf, 255); + buf[255] = 0; + printf("%s\n", buf); + } else write(fileno(stdout), buf, l); + knet_close(fp); + free(buf); + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/kstring.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/kstring.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,254 @@ +/* The MIT License + + Copyright (C) 2011 by Attractive Chaos + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN + ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN + CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE + SOFTWARE. +*/ + +#include +#include +#include +#include +#include +#include "htslib/kstring.h" + +int kvsprintf(kstring_t *s, const char *fmt, va_list ap) +{ + va_list args; + int l; + va_copy(args, ap); + l = vsnprintf(s->s + s->l, s->m - s->l, fmt, args); // This line does not work with glibc 2.0. See `man snprintf'. + va_end(args); + if (l + 1 > s->m - s->l) { + s->m = s->l + l + 2; + kroundup32(s->m); + s->s = (char*)realloc(s->s, s->m); + va_copy(args, ap); + l = vsnprintf(s->s + s->l, s->m - s->l, fmt, args); + va_end(args); + } + s->l += l; + return l; +} + +int ksprintf(kstring_t *s, const char *fmt, ...) +{ + va_list ap; + int l; + va_start(ap, fmt); + l = kvsprintf(s, fmt, ap); + va_end(ap); + return l; +} + +char *kstrtok(const char *str, const char *sep, ks_tokaux_t *aux) +{ + const char *p, *start; + if (sep) { // set up the table + if (str == 0 && (aux->tab[0]&1)) return 0; // no need to set up if we have finished + aux->finished = 0; + if (sep[1]) { + aux->sep = -1; + aux->tab[0] = aux->tab[1] = aux->tab[2] = aux->tab[3] = 0; + for (p = sep; *p; ++p) aux->tab[*p>>6] |= 1ull<<(*p&0x3f); + } else aux->sep = sep[0]; + } + if (aux->finished) return 0; + else if (str) aux->p = str - 1, aux->finished = 0; + if (aux->sep < 0) { + for (p = start = aux->p + 1; *p; ++p) + if (aux->tab[*p>>6]>>(*p&0x3f)&1) break; + } else { + for (p = start = aux->p + 1; *p; ++p) + if (*p == aux->sep) break; + } + aux->p = p; // end of token + if (*p == 0) aux->finished = 1; // no more tokens + return (char*)start; +} + +// s MUST BE a null terminated string; l = strlen(s) +int ksplit_core(char *s, int delimiter, int *_max, int **_offsets) +{ + int i, n, max, last_char, last_start, *offsets, l; + n = 0; max = *_max; offsets = *_offsets; + l = strlen(s); + +#define __ksplit_aux do { \ + if (_offsets) { \ + s[i] = 0; \ + if (n == max) { \ + int *tmp; \ + max = max? max<<1 : 2; \ + if ((tmp = (int*)realloc(offsets, sizeof(int) * max))) { \ + offsets = tmp; \ + } else { \ + free(offsets); \ + *_offsets = NULL; \ + return 0; \ + } \ + } \ + offsets[n++] = last_start; \ + } else ++n; \ + } while (0) + + for (i = 0, last_char = last_start = 0; i <= l; ++i) { + if (delimiter == 0) { + if (isspace(s[i]) || s[i] == 0) { + if (isgraph(last_char)) __ksplit_aux; // the end of a field + } else { + if (isspace(last_char) || last_char == 0) last_start = i; + } + } else { + if (s[i] == delimiter || s[i] == 0) { + if (last_char != 0 && last_char != delimiter) __ksplit_aux; // the end of a field + } else { + if (last_char == delimiter || last_char == 0) last_start = i; + } + } + last_char = s[i]; + } + *_max = max; *_offsets = offsets; + return n; +} + +/********************** + * Boyer-Moore search * + **********************/ + +typedef unsigned char ubyte_t; + +// reference: http://www-igm.univ-mlv.fr/~lecroq/string/node14.html +static int *ksBM_prep(const ubyte_t *pat, int m) +{ + int i, *suff, *prep, *bmGs, *bmBc; + prep = (int*)calloc(m + 256, sizeof(int)); + bmGs = prep; bmBc = prep + m; + { // preBmBc() + for (i = 0; i < 256; ++i) bmBc[i] = m; + for (i = 0; i < m - 1; ++i) bmBc[pat[i]] = m - i - 1; + } + suff = (int*)calloc(m, sizeof(int)); + { // suffixes() + int f = 0, g; + suff[m - 1] = m; + g = m - 1; + for (i = m - 2; i >= 0; --i) { + if (i > g && suff[i + m - 1 - f] < i - g) + suff[i] = suff[i + m - 1 - f]; + else { + if (i < g) g = i; + f = i; + while (g >= 0 && pat[g] == pat[g + m - 1 - f]) --g; + suff[i] = f - g; + } + } + } + { // preBmGs() + int j = 0; + for (i = 0; i < m; ++i) bmGs[i] = m; + for (i = m - 1; i >= 0; --i) + if (suff[i] == i + 1) + for (; j < m - 1 - i; ++j) + if (bmGs[j] == m) + bmGs[j] = m - 1 - i; + for (i = 0; i <= m - 2; ++i) + bmGs[m - 1 - suff[i]] = m - 1 - i; + } + free(suff); + return prep; +} + +void *kmemmem(const void *_str, int n, const void *_pat, int m, int **_prep) +{ + int i, j, *prep = 0, *bmGs, *bmBc; + const ubyte_t *str, *pat; + str = (const ubyte_t*)_str; pat = (const ubyte_t*)_pat; + prep = (_prep == 0 || *_prep == 0)? ksBM_prep(pat, m) : *_prep; + if (_prep && *_prep == 0) *_prep = prep; + bmGs = prep; bmBc = prep + m; + j = 0; + while (j <= n - m) { + for (i = m - 1; i >= 0 && pat[i] == str[i+j]; --i); + if (i >= 0) { + int max = bmBc[str[i+j]] - m + 1 + i; + if (max < bmGs[i]) max = bmGs[i]; + j += max; + } else return (void*)(str + j); + } + if (_prep == 0) free(prep); + return 0; +} + +char *kstrstr(const char *str, const char *pat, int **_prep) +{ + return (char*)kmemmem(str, strlen(str), pat, strlen(pat), _prep); +} + +char *kstrnstr(const char *str, const char *pat, int n, int **_prep) +{ + return (char*)kmemmem(str, n, pat, strlen(pat), _prep); +} + +/*********************** + * The main() function * + ***********************/ + +#ifdef KSTRING_MAIN +#include +int main() +{ + kstring_t *s; + int *fields, n, i; + ks_tokaux_t aux; + char *p; + s = (kstring_t*)calloc(1, sizeof(kstring_t)); + // test ksprintf() + ksprintf(s, " abcdefg: %d ", 100); + printf("'%s'\n", s->s); + // test ksplit() + fields = ksplit(s, 0, &n); + for (i = 0; i < n; ++i) + printf("field[%d] = '%s'\n", i, s->s + fields[i]); + // test kstrtok() + s->l = 0; + for (p = kstrtok("ab:cde:fg/hij::k", ":/", &aux); p; p = kstrtok(0, 0, &aux)) { + kputsn(p, aux.p - p, s); + kputc('\n', s); + } + printf("%s", s->s); + // free + free(s->s); free(s); free(fields); + + { + static char *str = "abcdefgcdgcagtcakcdcd"; + static char *pat = "cd"; + char *ret, *s = str; + int *prep = 0; + while ((ret = kstrstr(s, pat, &prep)) != 0) { + printf("match: %s\n", ret); + s = ret + prep[0]; + } + free(prep); + } + return 0; +} +#endif diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/regidx.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/regidx.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,338 @@ +/* + Copyright (C) 2014 Genome Research Ltd. + + Author: Petr Danecek + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#include "htslib/hts.h" +#include "htslib/kstring.h" +#include "htslib/kseq.h" +#include "htslib/khash_str2int.h" +#include "htslib/regidx.h" + +#define LIDX_SHIFT 13 // number of insignificant index bits + +// List of regions for one chromosome +typedef struct +{ + int *idx, nidx; + int nregs, mregs; // n:used, m:alloced + reg_t *regs; + void *payload; +} +reglist_t; + +// Container of all sequences +struct _regidx_t +{ + int nseq, mseq; // n:used, m:alloced + reglist_t *seq; // regions for each sequence + void *seq2regs; // hash for fast lookup from chr name to regions + char **seq_names; + regidx_free_f free; // function to free any data allocated by regidx_parse_f + regidx_parse_f parse; // parse one input line + void *usr; // user data to pass to regidx_parse_f + + // temporary data for index initialization + kstring_t str; + int rid_prev, start_prev, end_prev; + int payload_size; + void *payload; +}; + +int regidx_seq_nregs(regidx_t *idx, const char *seq) +{ + int iseq; + if ( khash_str2int_get(idx->seq2regs, seq, &iseq)!=0 ) return 0; // no such sequence + return idx->seq[iseq].nregs; +} + +int regidx_nregs(regidx_t *idx) +{ + int i, nregs = 0; + for (i=0; inseq; i++) nregs += idx->seq[i].nregs; + return nregs; +} + +char **regidx_seq_names(regidx_t *idx, int *n) +{ + *n = idx->nseq; + return idx->seq_names; +} + +int _regidx_build_index(regidx_t *idx) +{ + int iseq; + for (iseq=0; iseqnseq; iseq++) + { + reglist_t *list = &idx->seq[iseq]; + int j,k, imax = 0; // max index bin + for (j=0; jnregs; j++) + { + int ibeg = list->regs[j].start >> LIDX_SHIFT; + int iend = list->regs[j].end >> LIDX_SHIFT; + if ( imax < iend + 1 ) + { + int old_imax = imax; + imax = iend + 1; + kroundup32(imax); + list->idx = (int*) realloc(list->idx, imax*sizeof(int)); + for (k=old_imax; kidx[k] = -1; + } + if ( ibeg==iend ) + { + if ( list->idx[ibeg]<0 ) list->idx[ibeg] = j; + } + else + { + for (k=ibeg; k<=iend; k++) + if ( list->idx[k]<0 ) list->idx[k] = j; + } + list->nidx = iend + 1; + } + } + return 0; +} + +int regidx_insert(regidx_t *idx, char *line) +{ + if ( !line ) + return _regidx_build_index(idx); + + char *chr_from, *chr_to; + reg_t reg; + int ret = idx->parse(line,&chr_from,&chr_to,®,idx->payload,idx->usr); + if ( ret==-2 ) return -1; // error + if ( ret==-1 ) return 0; // skip the line + + int rid; + idx->str.l = 0; + kputsn(chr_from, chr_to-chr_from+1, &idx->str); + if ( khash_str2int_get(idx->seq2regs, idx->str.s, &rid)!=0 ) + { + idx->nseq++; + int m_prev = idx->mseq; + hts_expand0(reglist_t,idx->nseq,idx->mseq,idx->seq); + hts_expand0(char*,idx->nseq,m_prev,idx->seq_names); + idx->seq_names[idx->nseq-1] = strdup(idx->str.s); + rid = khash_str2int_inc(idx->seq2regs, idx->seq_names[idx->nseq-1]); + } + + reglist_t *list = &idx->seq[rid]; + list->nregs++; + int m_prev = list->mregs; + hts_expand(reg_t,list->nregs,list->mregs,list->regs); + list->regs[list->nregs-1] = reg; + if ( idx->payload_size ) + { + if ( m_prev < list->mregs ) list->payload = realloc(list->payload,idx->payload_size*list->mregs); + memcpy(list->payload + idx->payload_size*(list->nregs-1), idx->payload, idx->payload_size); + } + + if ( idx->rid_prev==rid ) + { + if ( idx->start_prev > reg.start || (idx->start_prev==reg.start && idx->end_prev>reg.end) ) + { + fprintf(stderr,"The regions are not sorted: %s:%d-%d is before %s:%d-%d\n", + idx->str.s,idx->start_prev+1,idx->end_prev+1,idx->str.s,reg.start+1,reg.end+1); + return -1; + } + } + idx->rid_prev = rid; + idx->start_prev = reg.start; + idx->end_prev = reg.end; + return 0; +} + +regidx_t *regidx_init(const char *fname, regidx_parse_f parser, regidx_free_f free_f, size_t payload_size, void *usr_dat) +{ + if ( !parser ) + { + if ( !fname ) parser = regidx_parse_tab; + else + { + int len = strlen(fname); + if ( len>=7 && !strcasecmp(".bed.gz",fname+len-7) ) + parser = regidx_parse_bed; + else if ( len>=8 && !strcasecmp(".bed.bgz",fname+len-8) ) + parser = regidx_parse_bed; + else if ( len>=4 && !strcasecmp(".bed",fname+len-4) ) + parser = regidx_parse_bed; + else + parser = regidx_parse_tab; + } + } + + regidx_t *idx = (regidx_t*) calloc(1,sizeof(regidx_t)); + idx->free = free_f; + idx->parse = parser; + idx->usr = usr_dat; + idx->seq2regs = khash_str2int_init(); + idx->rid_prev = -1; + idx->start_prev = -1; + idx->end_prev = -1; + idx->payload_size = payload_size; + if ( payload_size ) idx->payload = malloc(payload_size); + + if ( !fname ) return idx; + + kstring_t str = {0,0,0}; + + htsFile *fp = hts_open(fname,"r"); + if ( !fp ) goto error; + + while ( hts_getline(fp, KS_SEP_LINE, &str) > 0 ) + { + if ( regidx_insert(idx, str.s) ) goto error; + } + regidx_insert(idx, NULL); + + free(str.s); + hts_close(fp); + return idx; + +error: + free(str.s); + if ( fp ) hts_close(fp); + regidx_destroy(idx); + return NULL; +} + +void regidx_destroy(regidx_t *idx) +{ + int i, j; + for (i=0; inseq; i++) + { + reglist_t *list = &idx->seq[i]; + if ( idx->free ) + { + for (j=0; jnregs; j++) + idx->free(list->payload + idx->payload_size*j); + } + free(list->payload); + free(list->regs); + free(list->idx); + } + free(idx->seq_names); + free(idx->seq); + free(idx->str.s); + free(idx->payload); + khash_str2int_destroy_free(idx->seq2regs); + free(idx); +} + +int regidx_overlap(regidx_t *idx, const char *chr, uint32_t from, uint32_t to, regitr_t *itr) +{ + if ( itr ) itr->i = itr->n = 0; + + int iseq; + if ( khash_str2int_get(idx->seq2regs, chr, &iseq)!=0 ) return 0; // no such sequence + + reglist_t *list = &idx->seq[iseq]; + if ( !list->nregs ) return 0; + + int i, ibeg = from>>LIDX_SHIFT; + int ireg = ibeg < list->nidx ? list->idx[ibeg] : list->idx[ list->nidx - 1 ]; + if ( ireg < 0 ) + { + // linear search; if slow, replace with binary search + if ( ibeg > list->nidx ) ibeg = list->nidx; + for (i=ibeg - 1; i>=0; i--) + if ( list->idx[i] >=0 ) break; + ireg = i>=0 ? list->idx[i] : 0; + } + for (i=ireg; inregs; i++) + { + if ( list->regs[i].start > to ) return 0; // no match + if ( list->regs[i].end >= from && list->regs[i].start <= to ) break; // found + } + + if ( i>=list->nregs ) return 0; // no match + + if ( !itr ) return 1; + + itr->i = 0; + itr->n = list->nregs - i; + itr->reg = &idx->seq[iseq].regs[i]; + if ( idx->payload_size ) + itr->payload = idx->seq[iseq].payload + i*idx->payload_size; + else + itr->payload = NULL; + + return 1; +} + +int regidx_parse_bed(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) +{ + char *ss = (char*) line; + while ( *ss && isspace(*ss) ) ss++; + if ( !*ss ) return -1; // skip blank lines + if ( *ss=='#' ) return -1; // skip comments + + char *se = ss; + while ( *se && !isspace(*se) ) se++; + if ( !*se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } + + *chr_beg = ss; + *chr_end = se-1; + + ss = se+1; + reg->start = strtol(ss, &se, 10); + if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } + + ss = se+1; + reg->end = strtol(ss, &se, 10) - 1; + if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } + + return 0; +} + +int regidx_parse_tab(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) +{ + char *ss = (char*) line; + while ( *ss && isspace(*ss) ) ss++; + if ( !*ss ) return -1; // skip blank lines + if ( *ss=='#' ) return -1; // skip comments + + char *se = ss; + while ( *se && !isspace(*se) ) se++; + if ( !*se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } + + *chr_beg = ss; + *chr_end = se-1; + + ss = se+1; + reg->start = strtol(ss, &se, 10) - 1; + if ( ss==se ) { fprintf(stderr,"Could not parse bed line: %s\n", line); return -2; } + + if ( !se[0] || !se[1] ) + reg->end = reg->start; + else + { + ss = se+1; + reg->end = strtol(ss, &se, 10); + if ( ss==se ) reg->end = reg->start; + else reg->end--; + } + + return 0; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/sam.5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/sam.5 Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,68 @@ +'\" t +.TH sam 5 "August 2013" "htslib" "Bioinformatics formats" +.SH NAME +sam \- Sequence Alignment/Map file format +.\" +.\" Copyright (C) 2009, 2013 Genome Research Ltd. +.\" +.\" Author: Heng Li +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software is furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" +.SH DESCRIPTION +Sequence Alignment/Map (SAM) format is TAB-delimited. Apart from the header lines, which are started +with the `@' symbol, each alignment line consists of: +.TS +nlbl. +1 QNAME Query template/pair NAME +2 FLAG bitwise FLAG +3 RNAME Reference sequence NAME +4 POS 1-based leftmost POSition/coordinate of clipped sequence +5 MAPQ MAPping Quality (Phred-scaled) +6 CIGAR extended CIGAR string +7 MRNM Mate Reference sequence NaMe (`=' if same as RNAME) +8 MPOS 1-based Mate POSistion +9 TLEN inferred Template LENgth (insert size) +10 SEQ query SEQuence on the same strand as the reference +11 QUAL query QUALity (ASCII-33 gives the Phred base quality) +12+ OPT variable OPTional fields in the format TAG:VTYPE:VALUE +.TE +.PP +Each bit in the FLAG field is defined as: +.TS +lcbl. +0x0001 p the read is paired in sequencing +0x0002 P the read is mapped in a proper pair +0x0004 u the query sequence itself is unmapped +0x0008 U the mate is unmapped +0x0010 r strand of the query (1 for reverse) +0x0020 R strand of the mate +0x0040 1 the read is the first read in a pair +0x0080 2 the read is the second read in a pair +0x0100 s the alignment is not primary +0x0200 f the read fails platform/vendor quality checks +0x0400 d the read is either a PCR or an optical duplicate +0x0800 S the alignment is supplementary +.TE +.P +where the second column gives the string representation of the FLAG field. +.SH SEE ALSO +.TP +https://github.com/samtools/hts-specs +The full SAM/BAM file format specification diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/sam.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/sam.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1882 @@ +/* sam.c -- SAM and BAM file I/O and manipulation. + + Copyright (C) 2008-2010, 2012-2014 Genome Research Ltd. + Copyright (C) 2010, 2012, 2013 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include +#include "htslib/sam.h" +#include "htslib/bgzf.h" +#include "cram/cram.h" +#include "htslib/hfile.h" + +#include "htslib/khash.h" +KHASH_DECLARE(s2i, kh_cstr_t, int64_t) + +typedef khash_t(s2i) sdict_t; + +/********************** + *** BAM header I/O *** + **********************/ + +bam_hdr_t *bam_hdr_init() +{ + return (bam_hdr_t*)calloc(1, sizeof(bam_hdr_t)); +} + +void bam_hdr_destroy(bam_hdr_t *h) +{ + int32_t i; + if (h == NULL) return; + if (h->target_name) { + for (i = 0; i < h->n_targets; ++i) + free(h->target_name[i]); + free(h->target_name); + free(h->target_len); + } + free(h->text); free(h->cigar_tab); + if (h->sdict) kh_destroy(s2i, (sdict_t*)h->sdict); + free(h); +} + +bam_hdr_t *bam_hdr_dup(const bam_hdr_t *h0) +{ + if (h0 == NULL) return NULL; + bam_hdr_t *h; + if ((h = bam_hdr_init()) == NULL) return NULL; + // copy the simple data + h->n_targets = h0->n_targets; + h->ignore_sam_err = h0->ignore_sam_err; + h->l_text = h0->l_text; + // Then the pointery stuff + h->cigar_tab = NULL; + h->sdict = NULL; + h->text = (char*)calloc(h->l_text + 1, 1); + memcpy(h->text, h0->text, h->l_text); + h->target_len = (uint32_t*)calloc(h->n_targets, sizeof(uint32_t)); + h->target_name = (char**)calloc(h->n_targets, sizeof(char*)); + int i; + for (i = 0; i < h->n_targets; ++i) { + h->target_len[i] = h0->target_len[i]; + h->target_name[i] = strdup(h0->target_name[i]); + } + return h; +} + + +static bam_hdr_t *hdr_from_dict(sdict_t *d) +{ + bam_hdr_t *h; + khint_t k; + h = bam_hdr_init(); + h->sdict = d; + h->n_targets = kh_size(d); + h->target_len = (uint32_t*)malloc(sizeof(uint32_t) * h->n_targets); + h->target_name = (char**)malloc(sizeof(char*) * h->n_targets); + for (k = kh_begin(d); k != kh_end(d); ++k) { + if (!kh_exist(d, k)) continue; + h->target_name[kh_val(d, k)>>32] = (char*)kh_key(d, k); + h->target_len[kh_val(d, k)>>32] = kh_val(d, k)<<32>>32; + kh_val(d, k) >>= 32; + } + return h; +} + +bam_hdr_t *bam_hdr_read(BGZF *fp) +{ + bam_hdr_t *h; + char buf[4]; + int magic_len, has_EOF; + int32_t i = 1, name_len; + // check EOF + has_EOF = bgzf_check_EOF(fp); + if (has_EOF < 0) { + perror("[W::sam_hdr_read] bgzf_check_EOF"); + } else if (has_EOF == 0 && hts_verbose >= 2) + fprintf(stderr, "[W::%s] EOF marker is absent. The input is probably truncated.\n", __func__); + // read "BAM1" + magic_len = bgzf_read(fp, buf, 4); + if (magic_len != 4 || strncmp(buf, "BAM\1", 4)) { + if (hts_verbose >= 1) fprintf(stderr, "[E::%s] invalid BAM binary header\n", __func__); + return 0; + } + h = bam_hdr_init(); + // read plain text and the number of reference sequences + bgzf_read(fp, &h->l_text, 4); + if (fp->is_be) ed_swap_4p(&h->l_text); + h->text = (char*)malloc(h->l_text + 1); + h->text[h->l_text] = 0; // make sure it is NULL terminated + bgzf_read(fp, h->text, h->l_text); + bgzf_read(fp, &h->n_targets, 4); + if (fp->is_be) ed_swap_4p(&h->n_targets); + // read reference sequence names and lengths + h->target_name = (char**)calloc(h->n_targets, sizeof(char*)); + h->target_len = (uint32_t*)calloc(h->n_targets, sizeof(uint32_t)); + for (i = 0; i != h->n_targets; ++i) { + bgzf_read(fp, &name_len, 4); + if (fp->is_be) ed_swap_4p(&name_len); + h->target_name[i] = (char*)calloc(name_len, 1); + bgzf_read(fp, h->target_name[i], name_len); + bgzf_read(fp, &h->target_len[i], 4); + if (fp->is_be) ed_swap_4p(&h->target_len[i]); + } + return h; +} + +int bam_hdr_write(BGZF *fp, const bam_hdr_t *h) +{ + char buf[4]; + int32_t i, name_len, x; + // write "BAM1" + strncpy(buf, "BAM\1", 4); + bgzf_write(fp, buf, 4); + // write plain text and the number of reference sequences + if (fp->is_be) { + x = ed_swap_4(h->l_text); + bgzf_write(fp, &x, 4); + if (h->l_text) bgzf_write(fp, h->text, h->l_text); + x = ed_swap_4(h->n_targets); + bgzf_write(fp, &x, 4); + } else { + bgzf_write(fp, &h->l_text, 4); + if (h->l_text) bgzf_write(fp, h->text, h->l_text); + bgzf_write(fp, &h->n_targets, 4); + } + // write sequence names and lengths + for (i = 0; i != h->n_targets; ++i) { + char *p = h->target_name[i]; + name_len = strlen(p) + 1; + if (fp->is_be) { + x = ed_swap_4(name_len); + bgzf_write(fp, &x, 4); + } else bgzf_write(fp, &name_len, 4); + bgzf_write(fp, p, name_len); + if (fp->is_be) { + x = ed_swap_4(h->target_len[i]); + bgzf_write(fp, &x, 4); + } else bgzf_write(fp, &h->target_len[i], 4); + } + bgzf_flush(fp); + return 0; +} + +int bam_name2id(bam_hdr_t *h, const char *ref) +{ + sdict_t *d = (sdict_t*)h->sdict; + khint_t k; + if (h->sdict == 0) { + int i, absent; + d = kh_init(s2i); + for (i = 0; i < h->n_targets; ++i) { + k = kh_put(s2i, d, h->target_name[i], &absent); + kh_val(d, k) = i; + } + h->sdict = d; + } + k = kh_get(s2i, d, ref); + return k == kh_end(d)? -1 : kh_val(d, k); +} + +/************************* + *** BAM alignment I/O *** + *************************/ + +bam1_t *bam_init1() +{ + return (bam1_t*)calloc(1, sizeof(bam1_t)); +} + +void bam_destroy1(bam1_t *b) +{ + if (b == 0) return; + free(b->data); free(b); +} + +bam1_t *bam_copy1(bam1_t *bdst, const bam1_t *bsrc) +{ + uint8_t *data = bdst->data; + int m_data = bdst->m_data; // backup data and m_data + if (m_data < bsrc->l_data) { // double the capacity + m_data = bsrc->l_data; kroundup32(m_data); + data = (uint8_t*)realloc(data, m_data); + } + memcpy(data, bsrc->data, bsrc->l_data); // copy var-len data + *bdst = *bsrc; // copy the rest + // restore the backup + bdst->m_data = m_data; + bdst->data = data; + return bdst; +} + +bam1_t *bam_dup1(const bam1_t *bsrc) +{ + if (bsrc == NULL) return NULL; + bam1_t *bdst = bam_init1(); + if (bdst == NULL) return NULL; + return bam_copy1(bdst, bsrc); +} + +int bam_cigar2qlen(int n_cigar, const uint32_t *cigar) +{ + int k, l; + for (k = l = 0; k < n_cigar; ++k) + if (bam_cigar_type(bam_cigar_op(cigar[k]))&1) + l += bam_cigar_oplen(cigar[k]); + return l; +} + +int bam_cigar2rlen(int n_cigar, const uint32_t *cigar) +{ + int k, l; + for (k = l = 0; k < n_cigar; ++k) + if (bam_cigar_type(bam_cigar_op(cigar[k]))&2) + l += bam_cigar_oplen(cigar[k]); + return l; +} + +int32_t bam_endpos(const bam1_t *b) +{ + if (!(b->core.flag & BAM_FUNMAP) && b->core.n_cigar > 0) + return b->core.pos + bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); + else + return b->core.pos + 1; +} + +static inline int aux_type2size(uint8_t type) +{ + switch (type) { + case 'A': case 'c': case 'C': + return 1; + case 's': case 'S': + return 2; + case 'i': case 'I': case 'f': + return 4; + case 'd': + return 8; + case 'Z': case 'H': case 'B': + return type; + default: + return 0; + } +} + +static void swap_data(const bam1_core_t *c, int l_data, uint8_t *data, int is_host) +{ + uint8_t *s; + uint32_t *cigar = (uint32_t*)(data + c->l_qname); + uint32_t i, n; + s = data + c->n_cigar*4 + c->l_qname + c->l_qseq + (c->l_qseq + 1)/2; + for (i = 0; i < c->n_cigar; ++i) ed_swap_4p(&cigar[i]); + while (s < data + l_data) { + int size; + s += 2; // skip key + size = aux_type2size(*s); ++s; // skip type + switch (size) { + case 1: ++s; break; + case 2: ed_swap_2p(s); s += 2; break; + case 4: ed_swap_4p(s); s += 4; break; + case 8: ed_swap_8p(s); s += 8; break; + case 'Z': + case 'H': + while (*s) ++s; + ++s; + break; + case 'B': + size = aux_type2size(*s); ++s; + if (is_host) memcpy(&n, s, 4), ed_swap_4p(s); + else ed_swap_4p(s), memcpy(&n, s, 4); + s += 4; + switch (size) { + case 1: s += n; break; + case 2: for (i = 0; i < n; ++i, s += 2) ed_swap_2p(s); break; + case 4: for (i = 0; i < n; ++i, s += 4) ed_swap_4p(s); break; + case 8: for (i = 0; i < n; ++i, s += 8) ed_swap_8p(s); break; + } + break; + } + } +} + +int bam_read1(BGZF *fp, bam1_t *b) +{ + bam1_core_t *c = &b->core; + int32_t block_len, ret, i; + uint32_t x[8]; + if ((ret = bgzf_read(fp, &block_len, 4)) != 4) { + if (ret == 0) return -1; // normal end-of-file + else return -2; // truncated + } + if (bgzf_read(fp, x, 32) != 32) return -3; + if (fp->is_be) { + ed_swap_4p(&block_len); + for (i = 0; i < 8; ++i) ed_swap_4p(x + i); + } + c->tid = x[0]; c->pos = x[1]; + c->bin = x[2]>>16; c->qual = x[2]>>8&0xff; c->l_qname = x[2]&0xff; + c->flag = x[3]>>16; c->n_cigar = x[3]&0xffff; + c->l_qseq = x[4]; + c->mtid = x[5]; c->mpos = x[6]; c->isize = x[7]; + b->l_data = block_len - 32; + if (b->l_data < 0 || c->l_qseq < 0) return -4; + if ((char *)bam_get_aux(b) - (char *)b->data > b->l_data) + return -4; + if (b->m_data < b->l_data) { + b->m_data = b->l_data; + kroundup32(b->m_data); + b->data = (uint8_t*)realloc(b->data, b->m_data); + if (!b->data) + return -4; + } + if (bgzf_read(fp, b->data, b->l_data) != b->l_data) return -4; + //b->l_aux = b->l_data - c->n_cigar * 4 - c->l_qname - c->l_qseq - (c->l_qseq+1)/2; + if (fp->is_be) swap_data(c, b->l_data, b->data, 0); + return 4 + block_len; +} + +int bam_write1(BGZF *fp, const bam1_t *b) +{ + const bam1_core_t *c = &b->core; + uint32_t x[8], block_len = b->l_data + 32, y; + int i, ok; + x[0] = c->tid; + x[1] = c->pos; + x[2] = (uint32_t)c->bin<<16 | c->qual<<8 | c->l_qname; + x[3] = (uint32_t)c->flag<<16 | c->n_cigar; + x[4] = c->l_qseq; + x[5] = c->mtid; + x[6] = c->mpos; + x[7] = c->isize; + ok = (bgzf_flush_try(fp, 4 + block_len) >= 0); + if (fp->is_be) { + for (i = 0; i < 8; ++i) ed_swap_4p(x + i); + y = block_len; + if (ok) ok = (bgzf_write(fp, ed_swap_4p(&y), 4) >= 0); + swap_data(c, b->l_data, b->data, 1); + } else { + if (ok) ok = (bgzf_write(fp, &block_len, 4) >= 0); + } + if (ok) ok = (bgzf_write(fp, x, 32) >= 0); + if (ok) ok = (bgzf_write(fp, b->data, b->l_data) >= 0); + if (fp->is_be) swap_data(c, b->l_data, b->data, 0); + return ok? 4 + block_len : -1; +} + +/******************** + *** BAM indexing *** + ********************/ + +static hts_idx_t *bam_index(BGZF *fp, int min_shift) +{ + int n_lvls, i, fmt; + bam1_t *b; + hts_idx_t *idx; + bam_hdr_t *h; + h = bam_hdr_read(fp); + if (min_shift > 0) { + int64_t max_len = 0, s; + for (i = 0; i < h->n_targets; ++i) + if (max_len < h->target_len[i]) max_len = h->target_len[i]; + max_len += 256; + for (n_lvls = 0, s = 1< s; ++n_lvls, s <<= 3); + fmt = HTS_FMT_CSI; + } else min_shift = 14, n_lvls = 5, fmt = HTS_FMT_BAI; + idx = hts_idx_init(h->n_targets, fmt, bgzf_tell(fp), min_shift, n_lvls); + bam_hdr_destroy(h); + b = bam_init1(); + while (bam_read1(fp, b) >= 0) { + int l, ret; + l = bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); + if (l == 0) l = 1; // no zero-length records + ret = hts_idx_push(idx, b->core.tid, b->core.pos, b->core.pos + l, bgzf_tell(fp), !(b->core.flag&BAM_FUNMAP)); + if (ret < 0) + { + // unsorted + bam_destroy1(b); + hts_idx_destroy(idx); + return NULL; + } + } + hts_idx_finish(idx, bgzf_tell(fp)); + bam_destroy1(b); + return idx; +} + +int bam_index_build(const char *fn, int min_shift) +{ + hts_idx_t *idx; + htsFile *fp; + int ret = 0; + + if ((fp = hts_open(fn, "r")) == 0) return -1; + switch (fp->format.format) { + case cram: + ret = cram_index_build(fp->fp.cram, fn); + break; + + case bam: + idx = bam_index(fp->fp.bgzf, min_shift); + if (idx) { + hts_idx_save(idx, fn, (min_shift > 0)? HTS_FMT_CSI : HTS_FMT_BAI); + hts_idx_destroy(idx); + } + else ret = -1; + break; + + default: + ret = -1; + break; + } + hts_close(fp); + + return ret; +} + +static int bam_readrec(BGZF *fp, void *ignored, void *bv, int *tid, int *beg, int *end) +{ + bam1_t *b = bv; + int ret; + if ((ret = bam_read1(fp, b)) >= 0) { + *tid = b->core.tid; *beg = b->core.pos; + *end = b->core.pos + (b->core.n_cigar? bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)) : 1); + } + return ret; +} + +// This is used only with read_rest=1 iterators, so need not set tid/beg/end. +static int cram_readrec(BGZF *ignored, void *fpv, void *bv, int *tid, int *beg, int *end) +{ + htsFile *fp = fpv; + bam1_t *b = bv; + return cram_get_bam_seq(fp->fp.cram, &b); +} + +// This is used only with read_rest=1 iterators, so need not set tid/beg/end. +static int sam_bam_cram_readrec(BGZF *bgzfp, void *fpv, void *bv, int *tid, int *beg, int *end) +{ + htsFile *fp = fpv; + bam1_t *b = bv; + switch (fp->format.format) { + case bam: return bam_read1(bgzfp, b); + case cram: return cram_get_bam_seq(fp->fp.cram, &b); + default: + // TODO Need headers available to implement this for SAM files + fprintf(stderr, "[sam_bam_cram_readrec] Not implemented for SAM files -- Exiting\n"); + abort(); + } +} + +// The CRAM implementation stores the loaded index within the cram_fd rather +// than separately as is done elsewhere in htslib. So if p is a pointer to +// an hts_idx_t with p->fmt == HTS_FMT_CRAI, then it actually points to an +// hts_cram_idx_t and should be cast accordingly. +typedef struct hts_cram_idx_t { + int fmt; + cram_fd *cram; +} hts_cram_idx_t; + +hts_idx_t *sam_index_load(samFile *fp, const char *fn) +{ + switch (fp->format.format) { + case bam: + return bam_index_load(fn); + + case cram: { + if (cram_index_load(fp->fp.cram, fn) < 0) return NULL; + // Cons up a fake "index" just pointing at the associated cram_fd: + hts_cram_idx_t *idx = malloc(sizeof (hts_cram_idx_t)); + if (idx == NULL) return NULL; + idx->fmt = HTS_FMT_CRAI; + idx->cram = fp->fp.cram; + return (hts_idx_t *) idx; + } + + default: + return NULL; // TODO Would use tbx_index_load if it returned hts_idx_t + } +} + +static hts_itr_t *cram_itr_query(const hts_idx_t *idx, int tid, int beg, int end, hts_readrec_func *readrec) +{ + const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; + hts_itr_t *iter = (hts_itr_t *) calloc(1, sizeof(hts_itr_t)); + if (iter == NULL) return NULL; + + // Cons up a dummy iterator for which hts_itr_next() will simply invoke + // the readrec function: + iter->read_rest = 1; + iter->off = NULL; + iter->bins.a = NULL; + iter->readrec = readrec; + + if (tid >= 0) { + cram_range r = { tid, beg+1, end }; + if (cram_set_option(cidx->cram, CRAM_OPT_RANGE, &r) != 0) { free(iter); return NULL; } + iter->curr_off = 0; + // The following fields are not required by hts_itr_next(), but are + // filled in in case user code wants to look at them. + iter->tid = tid; + iter->beg = beg; + iter->end = end; + } + else switch (tid) { + case HTS_IDX_REST: + iter->curr_off = 0; + break; + case HTS_IDX_NONE: + iter->curr_off = 0; + iter->finished = 1; + break; + default: + fprintf(stderr, "[cram_itr_query] tid=%d not implemented for CRAM files -- Exiting\n", tid); + abort(); + break; + } + + return iter; +} + +hts_itr_t *sam_itr_queryi(const hts_idx_t *idx, int tid, int beg, int end) +{ + const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; + if (idx == NULL) + return hts_itr_query(NULL, tid, beg, end, sam_bam_cram_readrec); + else if (cidx->fmt == HTS_FMT_CRAI) + return cram_itr_query(idx, tid, beg, end, cram_readrec); + else + return hts_itr_query(idx, tid, beg, end, bam_readrec); +} + +static int cram_name2id(void *fdv, const char *ref) +{ + cram_fd *fd = (cram_fd *) fdv; + return sam_hdr_name2ref(fd->header, ref); +} + +hts_itr_t *sam_itr_querys(const hts_idx_t *idx, bam_hdr_t *hdr, const char *region) +{ + const hts_cram_idx_t *cidx = (const hts_cram_idx_t *) idx; + if (cidx->fmt == HTS_FMT_CRAI) + return hts_itr_querys(idx, region, cram_name2id, cidx->cram, cram_itr_query, cram_readrec); + else + return hts_itr_querys(idx, region, (hts_name2id_f)(bam_name2id), hdr, hts_itr_query, bam_readrec); +} + +/********************** + *** SAM header I/O *** + **********************/ + +#include "htslib/kseq.h" +#include "htslib/kstring.h" + +bam_hdr_t *sam_hdr_parse(int l_text, const char *text) +{ + const char *q, *r, *p; + khash_t(s2i) *d; + d = kh_init(s2i); + for (p = text; *p; ++p) { + if (strncmp(p, "@SQ", 3) == 0) { + char *sn = 0; + int ln = -1; + for (q = p + 4;; ++q) { + if (strncmp(q, "SN:", 3) == 0) { + q += 3; + for (r = q; *r != '\t' && *r != '\n'; ++r); + sn = (char*)calloc(r - q + 1, 1); + strncpy(sn, q, r - q); + q = r; + } else if (strncmp(q, "LN:", 3) == 0) + ln = strtol(q + 3, (char**)&q, 10); + while (*q != '\t' && *q != '\n') ++q; + if (*q == '\n') break; + } + p = q; + if (sn && ln >= 0) { + khint_t k; + int absent; + k = kh_put(s2i, d, sn, &absent); + if (!absent) { + if (hts_verbose >= 2) + fprintf(stderr, "[W::%s] duplicated sequence '%s'\n", __func__, sn); + free(sn); + } else kh_val(d, k) = (int64_t)(kh_size(d) - 1)<<32 | ln; + } + } + while (*p != '\n') ++p; + } + return hdr_from_dict(d); +} + +bam_hdr_t *sam_hdr_read(htsFile *fp) +{ + switch (fp->format.format) { + case bam: + return bam_hdr_read(fp->fp.bgzf); + + case cram: + return cram_header_to_bam(fp->fp.cram->header); + + case sam: { + kstring_t str; + bam_hdr_t *h; + int has_SQ = 0; + str.l = str.m = 0; str.s = 0; + while (hts_getline(fp, KS_SEP_LINE, &fp->line) >= 0) { + if (fp->line.s[0] != '@') break; + if (fp->line.l > 3 && strncmp(fp->line.s,"@SQ",3) == 0) has_SQ = 1; + kputsn(fp->line.s, fp->line.l, &str); + kputc('\n', &str); + } + if (! has_SQ && fp->fn_aux) { + char line[2048]; + FILE *f = fopen(fp->fn_aux, "r"); + if (f == NULL) return NULL; + while (fgets(line, sizeof line, f)) { + const char *name = strtok(line, "\t"); + const char *length = strtok(NULL, "\t"); + ksprintf(&str, "@SQ\tSN:%s\tLN:%s\n", name, length); + } + fclose(f); + } + if (str.l == 0) kputsn("", 0, &str); + h = sam_hdr_parse(str.l, str.s); + h->l_text = str.l; h->text = str.s; + return h; + } + + default: + abort(); + } +} + +int sam_hdr_write(htsFile *fp, const bam_hdr_t *h) +{ + switch (fp->format.format) { + case binary_format: + fp->format.category = sequence_data; + fp->format.format = bam; + /* fall-through */ + case bam: + bam_hdr_write(fp->fp.bgzf, h); + break; + + case cram: { + cram_fd *fd = fp->fp.cram; + if (cram_set_header(fd, bam_header_to_cram((bam_hdr_t *)h)) < 0) return -1; + if (fp->fn_aux) + cram_load_reference(fd, fp->fn_aux); + if (cram_write_SAM_hdr(fd, fd->header) < 0) return -1; + } + break; + + case text_format: + fp->format.category = sequence_data; + fp->format.format = sam; + /* fall-through */ + case sam: { + char *p; + hputs(h->text, fp->fp.hfile); + p = strstr(h->text, "@SQ\t"); // FIXME: we need a loop to make sure "@SQ\t" does not match something unwanted!!! + if (p == 0) { + int i; + for (i = 0; i < h->n_targets; ++i) { + fp->line.l = 0; + kputsn("@SQ\tSN:", 7, &fp->line); kputs(h->target_name[i], &fp->line); + kputsn("\tLN:", 4, &fp->line); kputw(h->target_len[i], &fp->line); kputc('\n', &fp->line); + if ( hwrite(fp->fp.hfile, fp->line.s, fp->line.l) != fp->line.l ) return -1; + } + } + if ( hflush(fp->fp.hfile) != 0 ) return -1; + } + break; + + default: + abort(); + } + return 0; +} + +/********************** + *** SAM record I/O *** + **********************/ + +int sam_parse1(kstring_t *s, bam_hdr_t *h, bam1_t *b) +{ +#define _read_token(_p) (_p); for (; *(_p) && *(_p) != '\t'; ++(_p)); if (*(_p) != '\t') goto err_ret; *(_p)++ = 0 +#define _read_token_aux(_p) (_p); for (; *(_p) && *(_p) != '\t'; ++(_p)); *(_p)++ = 0 // this is different in that it does not test *(_p)=='\t' +#define _get_mem(type_t, _x, _s, _l) ks_resize((_s), (_s)->l + (_l)); *(_x) = (type_t*)((_s)->s + (_s)->l); (_s)->l += (_l) +#define _parse_err(cond, msg) do { if ((cond) && hts_verbose >= 1) { fprintf(stderr, "[E::%s] " msg "\n", __func__); goto err_ret; } } while (0) +#define _parse_warn(cond, msg) if ((cond) && hts_verbose >= 2) fprintf(stderr, "[W::%s] " msg "\n", __func__) + + uint8_t *t; + char *p = s->s, *q; + int i; + kstring_t str; + bam1_core_t *c = &b->core; + + str.l = b->l_data = 0; + str.s = (char*)b->data; str.m = b->m_data; + memset(c, 0, 32); + if (h->cigar_tab == 0) { + h->cigar_tab = (int8_t*) malloc(128); + for (i = 0; i < 128; ++i) + h->cigar_tab[i] = -1; + for (i = 0; BAM_CIGAR_STR[i]; ++i) + h->cigar_tab[(int)BAM_CIGAR_STR[i]] = i; + } + // qname + q = _read_token(p); + kputsn_(q, p - q, &str); + c->l_qname = p - q; + // flag + c->flag = strtol(p, &p, 0); + if (*p++ != '\t') goto err_ret; // malformated flag + // chr + q = _read_token(p); + if (strcmp(q, "*")) { + _parse_err(h->n_targets == 0, "missing SAM header"); + c->tid = bam_name2id(h, q); + _parse_warn(c->tid < 0, "urecognized reference name; treated as unmapped"); + } else c->tid = -1; + // pos + c->pos = strtol(p, &p, 10) - 1; + if (*p++ != '\t') goto err_ret; + if (c->pos < 0 && c->tid >= 0) { + _parse_warn(1, "mapped query cannot have zero coordinate; treated as unmapped"); + c->tid = -1; + } + if (c->tid < 0) c->flag |= BAM_FUNMAP; + // mapq + c->qual = strtol(p, &p, 10); + if (*p++ != '\t') goto err_ret; + // cigar + if (*p != '*') { + uint32_t *cigar; + size_t n_cigar = 0; + for (q = p; *p && *p != '\t'; ++p) + if (!isdigit(*p)) ++n_cigar; + if (*p++ != '\t') goto err_ret; + _parse_err(n_cigar >= 65536, "too many CIGAR operations"); + c->n_cigar = n_cigar; + _get_mem(uint32_t, &cigar, &str, c->n_cigar<<2); + for (i = 0; i < c->n_cigar; ++i, ++q) { + int op; + cigar[i] = strtol(q, &q, 10)<= 128? -1 : h->cigar_tab[(int)*q]; + _parse_err(op < 0, "unrecognized CIGAR operator"); + cigar[i] |= op; + } + i = bam_cigar2rlen(c->n_cigar, cigar); + } else { + _parse_warn(!(c->flag&BAM_FUNMAP), "mapped query must have a CIGAR; treated as unmapped"); + c->flag |= BAM_FUNMAP; + q = _read_token(p); + i = 1; + } + c->bin = hts_reg2bin(c->pos, c->pos + i, 14, 5); + // mate chr + q = _read_token(p); + if (strcmp(q, "=") == 0) c->mtid = c->tid; + else if (strcmp(q, "*") == 0) c->mtid = -1; + else c->mtid = bam_name2id(h, q); + // mpos + c->mpos = strtol(p, &p, 10) - 1; + if (*p++ != '\t') goto err_ret; + if (c->mpos < 0 && c->mtid >= 0) { + _parse_warn(1, "mapped mate cannot have zero coordinate; treated as unmapped"); + c->mtid = -1; + } + // tlen + c->isize = strtol(p, &p, 10); + if (*p++ != '\t') goto err_ret; + // seq + q = _read_token(p); + if (strcmp(q, "*")) { + c->l_qseq = p - q - 1; + i = bam_cigar2qlen(c->n_cigar, (uint32_t*)(str.s + c->l_qname)); + _parse_err(c->n_cigar && i != c->l_qseq, "CIGAR and query sequence are of different length"); + i = (c->l_qseq + 1) >> 1; + _get_mem(uint8_t, &t, &str, i); + memset(t, 0, i); + for (i = 0; i < c->l_qseq; ++i) + t[i>>1] |= seq_nt16_table[(int)q[i]] << ((~i&1)<<2); + } else c->l_qseq = 0; + // qual + q = _read_token_aux(p); + _get_mem(uint8_t, &t, &str, c->l_qseq); + if (strcmp(q, "*")) { + _parse_err(p - q - 1 != c->l_qseq, "SEQ and QUAL are of different length"); + for (i = 0; i < c->l_qseq; ++i) t[i] = q[i] - 33; + } else memset(t, 0xff, c->l_qseq); + // aux + // Note that (like the bam1_core_t fields) this aux data in b->data is + // stored in host endianness; so there is no byte swapping needed here. + while (p < s->s + s->l) { + uint8_t type; + q = _read_token_aux(p); // FIXME: can be accelerated for long 'B' arrays + _parse_err(p - q - 1 < 6, "incomplete aux field"); + kputsn_(q, 2, &str); + q += 3; type = *q++; ++q; // q points to value + if (type == 'A' || type == 'a' || type == 'c' || type == 'C') { + kputc_('A', &str); + kputc_(*q, &str); + } else if (type == 'i' || type == 'I') { + if (*q == '-') { + long x = strtol(q, &q, 10); + if (x >= INT8_MIN) { + kputc_('c', &str); kputc_(x, &str); + } else if (x >= INT16_MIN) { + int16_t y = x; + kputc_('s', &str); kputsn_((char*)&y, 2, &str); + } else { + int32_t y = x; + kputc_('i', &str); kputsn_(&y, 4, &str); + } + } else { + unsigned long x = strtoul(q, &q, 10); + if (x <= UINT8_MAX) { + kputc_('C', &str); kputc_(x, &str); + } else if (x <= UINT16_MAX) { + uint16_t y = x; + kputc_('S', &str); kputsn_(&y, 2, &str); + } else { + uint32_t y = x; + kputc_('I', &str); kputsn_(&y, 4, &str); + } + } + } else if (type == 'f') { + float x; + x = strtod(q, &q); + kputc_('f', &str); kputsn_(&x, 4, &str); + } else if (type == 'd') { + double x; + x = strtod(q, &q); + kputc_('d', &str); kputsn_(&x, 8, &str); + } else if (type == 'Z' || type == 'H') { + kputc_(type, &str);kputsn_(q, p - q, &str); // note that this include the trailing NULL + } else if (type == 'B') { + int32_t n; + char *r; + _parse_err(p - q - 1 < 3, "incomplete B-typed aux field"); + type = *q++; // q points to the first ',' following the typing byte + for (r = q, n = 0; *r; ++r) + if (*r == ',') ++n; + kputc_('B', &str); kputc_(type, &str); kputsn_(&n, 4, &str); + // FIXME: to evaluate which is faster: a) aligned array and then memmove(); b) unaligned array; c) kputsn_() + if (type == 'c') while (q + 1 < p) { int8_t x = strtol(q + 1, &q, 0); kputc_(x, &str); } + else if (type == 'C') while (q + 1 < p) { uint8_t x = strtoul(q + 1, &q, 0); kputc_(x, &str); } + else if (type == 's') while (q + 1 < p) { int16_t x = strtol(q + 1, &q, 0); kputsn_(&x, 2, &str); } + else if (type == 'S') while (q + 1 < p) { uint16_t x = strtoul(q + 1, &q, 0); kputsn_(&x, 2, &str); } + else if (type == 'i') while (q + 1 < p) { int32_t x = strtol(q + 1, &q, 0); kputsn_(&x, 4, &str); } + else if (type == 'I') while (q + 1 < p) { uint32_t x = strtoul(q + 1, &q, 0); kputsn_(&x, 4, &str); } + else if (type == 'f') while (q + 1 < p) { float x = strtod(q + 1, &q); kputsn_(&x, 4, &str); } + else _parse_err(1, "unrecognized type"); + } else _parse_err(1, "unrecognized type"); + } + b->data = (uint8_t*)str.s; b->l_data = str.l; b->m_data = str.m; + return 0; + +#undef _parse_warn +#undef _parse_err +#undef _get_mem +#undef _read_token_aux +#undef _read_token +err_ret: + b->data = (uint8_t*)str.s; b->l_data = str.l; b->m_data = str.m; + return -2; +} + +int sam_read1(htsFile *fp, bam_hdr_t *h, bam1_t *b) +{ + switch (fp->format.format) { + case bam: { + int r = bam_read1(fp->fp.bgzf, b); + if (r >= 0) { + if (b->core.tid >= h->n_targets || b->core.tid < -1 || + b->core.mtid >= h->n_targets || b->core.mtid < -1) + return -3; + } + return r; + } + + case cram: + return cram_get_bam_seq(fp->fp.cram, &b); + + case sam: { + int ret; +err_recover: + if (fp->line.l == 0) { + ret = hts_getline(fp, KS_SEP_LINE, &fp->line); + if (ret < 0) return -1; + } + ret = sam_parse1(&fp->line, h, b); + fp->line.l = 0; + if (ret < 0) { + if (hts_verbose >= 1) + fprintf(stderr, "[W::%s] parse error at line %lld\n", __func__, (long long)fp->lineno); + if (h->ignore_sam_err) goto err_recover; + } + return ret; + } + + default: + abort(); + } +} + +int sam_format1(const bam_hdr_t *h, const bam1_t *b, kstring_t *str) +{ + int i; + uint8_t *s; + const bam1_core_t *c = &b->core; + + str->l = 0; + kputsn(bam_get_qname(b), c->l_qname-1, str); kputc('\t', str); // query name + kputw(c->flag, str); kputc('\t', str); // flag + if (c->tid >= 0) { // chr + kputs(h->target_name[c->tid] , str); + kputc('\t', str); + } else kputsn("*\t", 2, str); + kputw(c->pos + 1, str); kputc('\t', str); // pos + kputw(c->qual, str); kputc('\t', str); // qual + if (c->n_cigar) { // cigar + uint32_t *cigar = bam_get_cigar(b); + for (i = 0; i < c->n_cigar; ++i) { + kputw(bam_cigar_oplen(cigar[i]), str); + kputc(bam_cigar_opchr(cigar[i]), str); + } + } else kputc('*', str); + kputc('\t', str); + if (c->mtid < 0) kputsn("*\t", 2, str); // mate chr + else if (c->mtid == c->tid) kputsn("=\t", 2, str); + else { + kputs(h->target_name[c->mtid], str); + kputc('\t', str); + } + kputw(c->mpos + 1, str); kputc('\t', str); // mate pos + kputw(c->isize, str); kputc('\t', str); // template len + if (c->l_qseq) { // seq and qual + uint8_t *s = bam_get_seq(b); + for (i = 0; i < c->l_qseq; ++i) kputc("=ACMGRSVTWYHKDBN"[bam_seqi(s, i)], str); + kputc('\t', str); + s = bam_get_qual(b); + if (s[0] == 0xff) kputc('*', str); + else for (i = 0; i < c->l_qseq; ++i) kputc(s[i] + 33, str); + } else kputsn("*\t*", 3, str); + s = bam_get_aux(b); // aux + while (s+4 <= b->data + b->l_data) { + uint8_t type, key[2]; + key[0] = s[0]; key[1] = s[1]; + s += 2; type = *s++; + kputc('\t', str); kputsn((char*)key, 2, str); kputc(':', str); + if (type == 'A') { + kputsn("A:", 2, str); + kputc(*s, str); + ++s; + } else if (type == 'C') { + kputsn("i:", 2, str); + kputw(*s, str); + ++s; + } else if (type == 'c') { + kputsn("i:", 2, str); + kputw(*(int8_t*)s, str); + ++s; + } else if (type == 'S') { + if (s+2 <= b->data + b->l_data) { + kputsn("i:", 2, str); + kputw(*(uint16_t*)s, str); + s += 2; + } else return -1; + } else if (type == 's') { + if (s+2 <= b->data + b->l_data) { + kputsn("i:", 2, str); + kputw(*(int16_t*)s, str); + s += 2; + } else return -1; + } else if (type == 'I') { + if (s+4 <= b->data + b->l_data) { + kputsn("i:", 2, str); + kputuw(*(uint32_t*)s, str); + s += 4; + } else return -1; + } else if (type == 'i') { + if (s+4 <= b->data + b->l_data) { + kputsn("i:", 2, str); + kputw(*(int32_t*)s, str); + s += 4; + } else return -1; + } else if (type == 'f') { + if (s+4 <= b->data + b->l_data) { + ksprintf(str, "f:%g", *(float*)s); + s += 4; + } else return -1; + + } else if (type == 'd') { + if (s+8 <= b->data + b->l_data) { + ksprintf(str, "d:%g", *(double*)s); + s += 8; + } else return -1; + } else if (type == 'Z' || type == 'H') { + kputc(type, str); kputc(':', str); + while (s < b->data + b->l_data && *s) kputc(*s++, str); + if (s >= b->data + b->l_data) + return -1; + ++s; + } else if (type == 'B') { + uint8_t sub_type = *(s++); + int32_t n; + memcpy(&n, s, 4); + s += 4; // no point to the start of the array + if (s + n >= b->data + b->l_data) + return -1; + kputsn("B:", 2, str); kputc(sub_type, str); // write the typing + for (i = 0; i < n; ++i) { // FIXME: for better performance, put the loop after "if" + kputc(',', str); + if ('c' == sub_type) { kputw(*(int8_t*)s, str); ++s; } + else if ('C' == sub_type) { kputw(*(uint8_t*)s, str); ++s; } + else if ('s' == sub_type) { kputw(*(int16_t*)s, str); s += 2; } + else if ('S' == sub_type) { kputw(*(uint16_t*)s, str); s += 2; } + else if ('i' == sub_type) { kputw(*(int32_t*)s, str); s += 4; } + else if ('I' == sub_type) { kputuw(*(uint32_t*)s, str); s += 4; } + else if ('f' == sub_type) { ksprintf(str, "%g", *(float*)s); s += 4; } + } + } + } + return str->l; +} + +int sam_write1(htsFile *fp, const bam_hdr_t *h, const bam1_t *b) +{ + switch (fp->format.format) { + case binary_format: + fp->format.category = sequence_data; + fp->format.format = bam; + /* fall-through */ + case bam: + return bam_write1(fp->fp.bgzf, b); + + case cram: + return cram_put_bam_seq(fp->fp.cram, (bam1_t *)b); + + case text_format: + fp->format.category = sequence_data; + fp->format.format = sam; + /* fall-through */ + case sam: + if (sam_format1(h, b, &fp->line) < 0) return -1; + kputc('\n', &fp->line); + if ( hwrite(fp->fp.hfile, fp->line.s, fp->line.l) != fp->line.l ) return -1; + return fp->line.l; + + default: + abort(); + } +} + +/************************ + *** Auxiliary fields *** + ************************/ + +void bam_aux_append(bam1_t *b, const char tag[2], char type, int len, uint8_t *data) +{ + int ori_len = b->l_data; + b->l_data += 3 + len; + if (b->m_data < b->l_data) { + b->m_data = b->l_data; + kroundup32(b->m_data); + b->data = (uint8_t*)realloc(b->data, b->m_data); + } + b->data[ori_len] = tag[0]; b->data[ori_len + 1] = tag[1]; + b->data[ori_len + 2] = type; + memcpy(b->data + ori_len + 3, data, len); +} + +static inline uint8_t *skip_aux(uint8_t *s) +{ + int size = aux_type2size(*s); ++s; // skip type + uint32_t n; + switch (size) { + case 'Z': + case 'H': + while (*s) ++s; + return s + 1; + case 'B': + size = aux_type2size(*s); ++s; + memcpy(&n, s, 4); s += 4; + return s + size * n; + case 0: + abort(); + break; + default: + return s + size; + } +} + +uint8_t *bam_aux_get(const bam1_t *b, const char tag[2]) +{ + uint8_t *s; + int y = tag[0]<<8 | tag[1]; + s = bam_get_aux(b); + while (s < b->data + b->l_data) { + int x = (int)s[0]<<8 | s[1]; + s += 2; + if (x == y) return s; + s = skip_aux(s); + } + return 0; +} +// s MUST BE returned by bam_aux_get() +int bam_aux_del(bam1_t *b, uint8_t *s) +{ + uint8_t *p, *aux; + int l_aux = bam_get_l_aux(b); + aux = bam_get_aux(b); + p = s - 2; + s = skip_aux(s); + memmove(p, s, l_aux - (s - aux)); + b->l_data -= s - p; + return 0; +} + +int32_t bam_aux2i(const uint8_t *s) +{ + int type; + type = *s++; + if (type == 'c') return (int32_t)*(int8_t*)s; + else if (type == 'C') return (int32_t)*(uint8_t*)s; + else if (type == 's') return (int32_t)*(int16_t*)s; + else if (type == 'S') return (int32_t)*(uint16_t*)s; + else if (type == 'i' || type == 'I') return *(int32_t*)s; + else return 0; +} + +double bam_aux2f(const uint8_t *s) +{ + int type; + type = *s++; + if (type == 'd') return *(double*)s; + else if (type == 'f') return *(float*)s; + else return 0.0; +} + +char bam_aux2A(const uint8_t *s) +{ + int type; + type = *s++; + if (type == 'A') return *(char*)s; + else return 0; +} + +char *bam_aux2Z(const uint8_t *s) +{ + int type; + type = *s++; + if (type == 'Z' || type == 'H') return (char*)s; + else return 0; +} + +int sam_open_mode(char *mode, const char *fn, const char *format) +{ + // TODO Parse "bam5" etc for compression level + if (format == NULL) { + // Try to pick a format based on the filename extension + const char *ext = fn? strrchr(fn, '.') : NULL; + if (ext == NULL || strchr(ext, '/')) return -1; + return sam_open_mode(mode, fn, ext+1); + } + else if (strcmp(format, "bam") == 0) strcpy(mode, "b"); + else if (strcmp(format, "cram") == 0) strcpy(mode, "c"); + else if (strcmp(format, "sam") == 0) strcpy(mode, ""); + else return -1; + + return 0; +} + +#define STRNCMP(a,b,n) (strncasecmp((a),(b),(n)) || strlen(a)!=(n)) +int bam_str2flag(const char *str) +{ + char *end, *beg = (char*) str; + long int flag = strtol(str, &end, 0); + if ( end!=str ) return flag; // the conversion was successful + flag = 0; + while ( *str ) + { + end = beg; + while ( *end && *end!=',' ) end++; + if ( !STRNCMP("PAIRED",beg,end-beg) ) flag |= BAM_FPAIRED; + else if ( !STRNCMP("PROPER_PAIR",beg,end-beg) ) flag |= BAM_FPROPER_PAIR; + else if ( !STRNCMP("UNMAP",beg,end-beg) ) flag |= BAM_FUNMAP; + else if ( !STRNCMP("MUNMAP",beg,end-beg) ) flag |= BAM_FMUNMAP; + else if ( !STRNCMP("REVERSE",beg,end-beg) ) flag |= BAM_FREVERSE; + else if ( !STRNCMP("MREVERSE",beg,end-beg) ) flag |= BAM_FMREVERSE; + else if ( !STRNCMP("READ1",beg,end-beg) ) flag |= BAM_FREAD1; + else if ( !STRNCMP("READ2",beg,end-beg) ) flag |= BAM_FREAD2; + else if ( !STRNCMP("SECONDARY",beg,end-beg) ) flag |= BAM_FSECONDARY; + else if ( !STRNCMP("QCFAIL",beg,end-beg) ) flag |= BAM_FQCFAIL; + else if ( !STRNCMP("DUP",beg,end-beg) ) flag |= BAM_FDUP; + else if ( !STRNCMP("SUPPLEMENTARY",beg,end-beg) ) flag |= BAM_FSUPPLEMENTARY; + else return -1; + if ( !*end ) break; + beg = end + 1; + } + return flag; +} + +char *bam_flag2str(int flag) +{ + kstring_t str = {0,0,0}; + if ( flag&BAM_FPAIRED ) ksprintf(&str,"%s%s", str.l?",":"","PAIRED"); + if ( flag&BAM_FPROPER_PAIR ) ksprintf(&str,"%s%s", str.l?",":"","PROPER_PAIR"); + if ( flag&BAM_FUNMAP ) ksprintf(&str,"%s%s", str.l?",":"","UNMAP"); + if ( flag&BAM_FMUNMAP ) ksprintf(&str,"%s%s", str.l?",":"","MUNMAP"); + if ( flag&BAM_FREVERSE ) ksprintf(&str,"%s%s", str.l?",":"","REVERSE"); + if ( flag&BAM_FMREVERSE ) ksprintf(&str,"%s%s", str.l?",":"","MREVERSE"); + if ( flag&BAM_FREAD1 ) ksprintf(&str,"%s%s", str.l?",":"","READ1"); + if ( flag&BAM_FREAD2 ) ksprintf(&str,"%s%s", str.l?",":"","READ2"); + if ( flag&BAM_FSECONDARY ) ksprintf(&str,"%s%s", str.l?",":"","SECONDARY"); + if ( flag&BAM_FQCFAIL ) ksprintf(&str,"%s%s", str.l?",":"","QCFAIL"); + if ( flag&BAM_FDUP ) ksprintf(&str,"%s%s", str.l?",":"","DUP"); + if ( flag&BAM_FSUPPLEMENTARY ) ksprintf(&str,"%s%s", str.l?",":"","SUPPLEMENTARY"); + if ( str.l == 0 ) kputsn("", 0, &str); + return str.s; +} + + +/************************** + *** Pileup and Mpileup *** + **************************/ + +#if !defined(BAM_NO_PILEUP) + +#include + +/******************* + *** Memory pool *** + *******************/ + +typedef struct { + int k, x, y, end; +} cstate_t; + +static cstate_t g_cstate_null = { -1, 0, 0, 0 }; + +typedef struct __linkbuf_t { + bam1_t b; + int32_t beg, end; + cstate_t s; + struct __linkbuf_t *next; +} lbnode_t; + +typedef struct { + int cnt, n, max; + lbnode_t **buf; +} mempool_t; + +static mempool_t *mp_init(void) +{ + mempool_t *mp; + mp = (mempool_t*)calloc(1, sizeof(mempool_t)); + return mp; +} +static void mp_destroy(mempool_t *mp) +{ + int k; + for (k = 0; k < mp->n; ++k) { + free(mp->buf[k]->b.data); + free(mp->buf[k]); + } + free(mp->buf); + free(mp); +} +static inline lbnode_t *mp_alloc(mempool_t *mp) +{ + ++mp->cnt; + if (mp->n == 0) return (lbnode_t*)calloc(1, sizeof(lbnode_t)); + else return mp->buf[--mp->n]; +} +static inline void mp_free(mempool_t *mp, lbnode_t *p) +{ + --mp->cnt; p->next = 0; // clear lbnode_t::next here + if (mp->n == mp->max) { + mp->max = mp->max? mp->max<<1 : 256; + mp->buf = (lbnode_t**)realloc(mp->buf, sizeof(lbnode_t*) * mp->max); + } + mp->buf[mp->n++] = p; +} + +/********************** + *** CIGAR resolver *** + **********************/ + +/* s->k: the index of the CIGAR operator that has just been processed. + s->x: the reference coordinate of the start of s->k + s->y: the query coordiante of the start of s->k + */ +static inline int resolve_cigar2(bam_pileup1_t *p, int32_t pos, cstate_t *s) +{ +#define _cop(c) ((c)&BAM_CIGAR_MASK) +#define _cln(c) ((c)>>BAM_CIGAR_SHIFT) + + bam1_t *b = p->b; + bam1_core_t *c = &b->core; + uint32_t *cigar = bam_get_cigar(b); + int k; + // determine the current CIGAR operation +// fprintf(stderr, "%s\tpos=%d\tend=%d\t(%d,%d,%d)\n", bam_get_qname(b), pos, s->end, s->k, s->x, s->y); + if (s->k == -1) { // never processed + if (c->n_cigar == 1) { // just one operation, save a loop + if (_cop(cigar[0]) == BAM_CMATCH || _cop(cigar[0]) == BAM_CEQUAL || _cop(cigar[0]) == BAM_CDIFF) s->k = 0, s->x = c->pos, s->y = 0; + } else { // find the first match or deletion + for (k = 0, s->x = c->pos, s->y = 0; k < c->n_cigar; ++k) { + int op = _cop(cigar[k]); + int l = _cln(cigar[k]); + if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CEQUAL || op == BAM_CDIFF) break; + else if (op == BAM_CREF_SKIP) s->x += l; + else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l; + } + assert(k < c->n_cigar); + s->k = k; + } + } else { // the read has been processed before + int op, l = _cln(cigar[s->k]); + if (pos - s->x >= l) { // jump to the next operation + assert(s->k < c->n_cigar); // otherwise a bug: this function should not be called in this case + op = _cop(cigar[s->k+1]); + if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) { // jump to the next without a loop + if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l; + s->x += l; + ++s->k; + } else { // find the next M/D/N/=/X + if (_cop(cigar[s->k]) == BAM_CMATCH|| _cop(cigar[s->k]) == BAM_CEQUAL || _cop(cigar[s->k]) == BAM_CDIFF) s->y += l; + s->x += l; + for (k = s->k + 1; k < c->n_cigar; ++k) { + op = _cop(cigar[k]), l = _cln(cigar[k]); + if (op == BAM_CMATCH || op == BAM_CDEL || op == BAM_CREF_SKIP || op == BAM_CEQUAL || op == BAM_CDIFF) break; + else if (op == BAM_CINS || op == BAM_CSOFT_CLIP) s->y += l; + } + s->k = k; + } + assert(s->k < c->n_cigar); // otherwise a bug + } // else, do nothing + } + { // collect pileup information + int op, l; + op = _cop(cigar[s->k]); l = _cln(cigar[s->k]); + p->is_del = p->indel = p->is_refskip = 0; + if (s->x + l - 1 == pos && s->k + 1 < c->n_cigar) { // peek the next operation + int op2 = _cop(cigar[s->k+1]); + int l2 = _cln(cigar[s->k+1]); + if (op2 == BAM_CDEL) p->indel = -(int)l2; + else if (op2 == BAM_CINS) p->indel = l2; + else if (op2 == BAM_CPAD && s->k + 2 < c->n_cigar) { // no working for adjacent padding + int l3 = 0; + for (k = s->k + 2; k < c->n_cigar; ++k) { + op2 = _cop(cigar[k]); l2 = _cln(cigar[k]); + if (op2 == BAM_CINS) l3 += l2; + else if (op2 == BAM_CDEL || op2 == BAM_CMATCH || op2 == BAM_CREF_SKIP || op2 == BAM_CEQUAL || op2 == BAM_CDIFF) break; + } + if (l3 > 0) p->indel = l3; + } + } + if (op == BAM_CMATCH || op == BAM_CEQUAL || op == BAM_CDIFF) { + p->qpos = s->y + (pos - s->x); + } else if (op == BAM_CDEL || op == BAM_CREF_SKIP) { + p->is_del = 1; p->qpos = s->y; // FIXME: distinguish D and N!!!!! + p->is_refskip = (op == BAM_CREF_SKIP); + } // cannot be other operations; otherwise a bug + p->is_head = (pos == c->pos); p->is_tail = (pos == s->end); + } + return 1; +} + +/*********************** + *** Pileup iterator *** + ***********************/ + +// Dictionary of overlapping reads +KHASH_MAP_INIT_STR(olap_hash, lbnode_t *) +typedef khash_t(olap_hash) olap_hash_t; + +struct __bam_plp_t { + mempool_t *mp; + lbnode_t *head, *tail, *dummy; + int32_t tid, pos, max_tid, max_pos; + int is_eof, max_plp, error, maxcnt; + uint64_t id; + bam_pileup1_t *plp; + // for the "auto" interface only + bam1_t *b; + bam_plp_auto_f func; + void *data; + olap_hash_t *overlaps; +}; + +bam_plp_t bam_plp_init(bam_plp_auto_f func, void *data) +{ + bam_plp_t iter; + iter = (bam_plp_t)calloc(1, sizeof(struct __bam_plp_t)); + iter->mp = mp_init(); + iter->head = iter->tail = mp_alloc(iter->mp); + iter->dummy = mp_alloc(iter->mp); + iter->max_tid = iter->max_pos = -1; + iter->maxcnt = 8000; + if (func) { + iter->func = func; + iter->data = data; + iter->b = bam_init1(); + } + return iter; +} + +void bam_plp_init_overlaps(bam_plp_t iter) +{ + iter->overlaps = kh_init(olap_hash); // hash for tweaking quality of bases in overlapping reads +} + +void bam_plp_destroy(bam_plp_t iter) +{ + if ( iter->overlaps ) kh_destroy(olap_hash, iter->overlaps); + mp_free(iter->mp, iter->dummy); + mp_free(iter->mp, iter->head); + if (iter->mp->cnt != 0) + fprintf(stderr, "[bam_plp_destroy] memory leak: %d. Continue anyway.\n", iter->mp->cnt); + mp_destroy(iter->mp); + if (iter->b) bam_destroy1(iter->b); + free(iter->plp); + free(iter); +} + + +//--------------------------------- +//--- Tweak overlapping reads +//--------------------------------- + +/** + * cigar_iref2iseq_set() - find the first CMATCH setting the ref and the read index + * cigar_iref2iseq_next() - get the next CMATCH base + * @cigar: pointer to current cigar block (rw) + * @cigar_max: pointer just beyond the last cigar block + * @icig: position within the current cigar block (rw) + * @iseq: position in the sequence (rw) + * @iref: position with respect to the beginning of the read (iref_pos - b->core.pos) (rw) + * + * Returns BAM_CMATCH or -1 when there is no more cigar to process or the requested position is not covered. + */ +static inline int cigar_iref2iseq_set(uint32_t **cigar, uint32_t *cigar_max, int *icig, int *iseq, int *iref) +{ + int pos = *iref; + if ( pos < 0 ) return -1; + *icig = 0; + *iseq = 0; + *iref = 0; + while ( *cigar> BAM_CIGAR_SHIFT; + + if ( cig==BAM_CSOFT_CLIP ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } + if ( cig==BAM_CHARD_CLIP || cig==BAM_CPAD ) { (*cigar)++; *icig = 0; continue; } + if ( cig==BAM_CMATCH || cig==BAM_CEQUAL || cig==BAM_CDIFF ) + { + pos -= ncig; + if ( pos < 0 ) { *icig = ncig + pos; *iseq += *icig; *iref += *icig; return BAM_CMATCH; } + (*cigar)++; *iseq += ncig; *icig = 0; *iref += ncig; + continue; + } + if ( cig==BAM_CINS ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } + if ( cig==BAM_CDEL || cig==BAM_CREF_SKIP ) + { + pos -= ncig; + if ( pos<0 ) pos = 0; + (*cigar)++; *icig = 0; *iref += ncig; + continue; + } + fprintf(stderr,"todo: cigar %d\n", cig); + assert(0); + } + *iseq = -1; + return -1; +} +static inline int cigar_iref2iseq_next(uint32_t **cigar, uint32_t *cigar_max, int *icig, int *iseq, int *iref) +{ + while ( *cigar < cigar_max ) + { + int cig = (**cigar) & BAM_CIGAR_MASK; + int ncig = (**cigar) >> BAM_CIGAR_SHIFT; + + if ( cig==BAM_CMATCH || cig==BAM_CEQUAL || cig==BAM_CDIFF ) + { + if ( *icig >= ncig - 1 ) { *icig = 0; (*cigar)++; continue; } + (*iseq)++; (*icig)++; (*iref)++; + return BAM_CMATCH; + } + if ( cig==BAM_CDEL || cig==BAM_CREF_SKIP ) { (*cigar)++; (*iref) += ncig; *icig = 0; continue; } + if ( cig==BAM_CINS ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } + if ( cig==BAM_CSOFT_CLIP ) { (*cigar)++; *iseq += ncig; *icig = 0; continue; } + if ( cig==BAM_CHARD_CLIP || cig==BAM_CPAD ) { (*cigar)++; *icig = 0; continue; } + fprintf(stderr,"todo: cigar %d\n", cig); + assert(0); + } + *iseq = -1; + *iref = -1; + return -1; +} + +static void tweak_overlap_quality(bam1_t *a, bam1_t *b) +{ + uint32_t *a_cigar = bam_get_cigar(a), *a_cigar_max = a_cigar + a->core.n_cigar; + uint32_t *b_cigar = bam_get_cigar(b), *b_cigar_max = b_cigar + b->core.n_cigar; + int a_icig = 0, a_iseq = 0; + int b_icig = 0, b_iseq = 0; + uint8_t *a_qual = bam_get_qual(a), *b_qual = bam_get_qual(b); + uint8_t *a_seq = bam_get_seq(a), *b_seq = bam_get_seq(b); + + int iref = b->core.pos; + int a_iref = iref - a->core.pos; + int b_iref = iref - b->core.pos; + int a_ret = cigar_iref2iseq_set(&a_cigar, a_cigar_max, &a_icig, &a_iseq, &a_iref); + if ( a_ret<0 ) return; // no overlap + int b_ret = cigar_iref2iseq_set(&b_cigar, b_cigar_max, &b_icig, &b_iseq, &b_iref); + if ( b_ret<0 ) return; // no overlap + + #if DBG + fprintf(stderr,"tweak %s n_cigar=%d %d .. %d-%d vs %d-%d\n", bam_get_qname(a), a->core.n_cigar, b->core.n_cigar, + a->core.pos+1,a->core.pos+bam_cigar2rlen(a->core.n_cigar,bam_get_cigar(a)), b->core.pos+1, b->core.pos+bam_cigar2rlen(b->core.n_cigar,bam_get_cigar(b))); + #endif + + while ( 1 ) + { + // Increment reference position + while ( a_iref>=0 && a_iref < iref - a->core.pos ) + a_ret = cigar_iref2iseq_next(&a_cigar, a_cigar_max, &a_icig, &a_iseq, &a_iref); + if ( a_ret<0 ) break; // done + if ( iref < a_iref + a->core.pos ) iref = a_iref + a->core.pos; + + while ( b_iref>=0 && b_iref < iref - b->core.pos ) + b_ret = cigar_iref2iseq_next(&b_cigar, b_cigar_max, &b_icig, &b_iseq, &b_iref); + if ( b_ret<0 ) break; // done + if ( iref < b_iref + b->core.pos ) iref = b_iref + b->core.pos; + + iref++; + if ( a_iref+a->core.pos != b_iref+b->core.pos ) continue; // only CMATCH positions, don't know what to do with indels + + if ( bam_seqi(a_seq,a_iseq) == bam_seqi(b_seq,b_iseq) ) + { + #if DBG + fprintf(stderr,"%c",seq_nt16_str[bam_seqi(a_seq,a_iseq)]); + #endif + // we are very confident about this base + int qual = a_qual[a_iseq] + b_qual[b_iseq]; + a_qual[a_iseq] = qual>200 ? 200 : qual; + b_qual[b_iseq] = 0; + } + else + { + if ( a_qual[a_iseq] >= b_qual[b_iseq] ) + { + #if DBG + fprintf(stderr,"[%c/%c]",seq_nt16_str[bam_seqi(a_seq,a_iseq)],tolower(seq_nt16_str[bam_seqi(b_seq,b_iseq)])); + #endif + a_qual[a_iseq] = 0.8 * a_qual[a_iseq]; // not so confident about a_qual anymore given the mismatch + b_qual[b_iseq] = 0; + } + else + { + #if DBG + fprintf(stderr,"[%c/%c]",tolower(seq_nt16_str[bam_seqi(a_seq,a_iseq)]),seq_nt16_str[bam_seqi(b_seq,b_iseq)]); + #endif + b_qual[b_iseq] = 0.8 * b_qual[b_iseq]; + a_qual[a_iseq] = 0; + } + } + } + #if DBG + fprintf(stderr,"\n"); + #endif +} + +// Fix overlapping reads. Simple soft-clipping did not give good results. +// Lowering qualities of unwanted bases is more selective and works better. +// +static void overlap_push(bam_plp_t iter, lbnode_t *node) +{ + if ( !iter->overlaps ) return; + + // mapped mates and paired reads only + if ( node->b.core.flag&BAM_FMUNMAP || !(node->b.core.flag&BAM_FPROPER_PAIR) ) return; + + // no overlap possible, unless some wild cigar + if ( abs(node->b.core.isize) >= 2*node->b.core.l_qseq ) return; + + khiter_t kitr = kh_get(olap_hash, iter->overlaps, bam_get_qname(&node->b)); + if ( kitr==kh_end(iter->overlaps) ) + { + int ret; + kitr = kh_put(olap_hash, iter->overlaps, bam_get_qname(&node->b), &ret); + kh_value(iter->overlaps, kitr) = node; + } + else + { + lbnode_t *a = kh_value(iter->overlaps, kitr); + tweak_overlap_quality(&a->b, &node->b); + kh_del(olap_hash, iter->overlaps, kitr); + assert(a->end-1 == a->s.end); + a->end = a->b.core.pos + bam_cigar2rlen(a->b.core.n_cigar, bam_get_cigar(&a->b)); + a->s.end = a->end - 1; + } +} + +static void overlap_remove(bam_plp_t iter, const bam1_t *b) +{ + if ( !iter->overlaps ) return; + + khiter_t kitr; + if ( b ) + { + kitr = kh_get(olap_hash, iter->overlaps, bam_get_qname(b)); + if ( kitr!=kh_end(iter->overlaps) ) + kh_del(olap_hash, iter->overlaps, kitr); + } + else + { + // remove all + for (kitr = kh_begin(iter->overlaps); kitroverlaps); kitr++) + if ( kh_exist(iter->overlaps, kitr) ) kh_del(olap_hash, iter->overlaps, kitr); + } +} + + + +// Prepares next pileup position in bam records collected by bam_plp_auto -> user func -> bam_plp_push. Returns +// pointer to the piled records if next position is ready or NULL if there is not enough records in the +// buffer yet (the current position is still the maximum position across all buffered reads). +const bam_pileup1_t *bam_plp_next(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp) +{ + if (iter->error) { *_n_plp = -1; return 0; } + *_n_plp = 0; + if (iter->is_eof && iter->head->next == 0) return 0; + while (iter->is_eof || iter->max_tid > iter->tid || (iter->max_tid == iter->tid && iter->max_pos > iter->pos)) { + int n_plp = 0; + lbnode_t *p, *q; + // write iter->plp at iter->pos + iter->dummy->next = iter->head; + for (p = iter->head, q = iter->dummy; p->next; q = p, p = p->next) { + if (p->b.core.tid < iter->tid || (p->b.core.tid == iter->tid && p->end <= iter->pos)) { // then remove + overlap_remove(iter, &p->b); + q->next = p->next; mp_free(iter->mp, p); p = q; + } else if (p->b.core.tid == iter->tid && p->beg <= iter->pos) { // here: p->end > pos; then add to pileup + if (n_plp == iter->max_plp) { // then double the capacity + iter->max_plp = iter->max_plp? iter->max_plp<<1 : 256; + iter->plp = (bam_pileup1_t*)realloc(iter->plp, sizeof(bam_pileup1_t) * iter->max_plp); + } + iter->plp[n_plp].b = &p->b; + if (resolve_cigar2(iter->plp + n_plp, iter->pos, &p->s)) ++n_plp; // actually always true... + } + } + iter->head = iter->dummy->next; // dummy->next may be changed + *_n_plp = n_plp; *_tid = iter->tid; *_pos = iter->pos; + // update iter->tid and iter->pos + if (iter->head->next) { + if (iter->tid > iter->head->b.core.tid) { + fprintf(stderr, "[%s] unsorted input. Pileup aborts.\n", __func__); + iter->error = 1; + *_n_plp = -1; + return 0; + } + } + if (iter->tid < iter->head->b.core.tid) { // come to a new reference sequence + iter->tid = iter->head->b.core.tid; iter->pos = iter->head->beg; // jump to the next reference + } else if (iter->pos < iter->head->beg) { // here: tid == head->b.core.tid + iter->pos = iter->head->beg; // jump to the next position + } else ++iter->pos; // scan contiguously + // return + if (n_plp) return iter->plp; + if (iter->is_eof && iter->head->next == 0) break; + } + return 0; +} + +int bam_plp_push(bam_plp_t iter, const bam1_t *b) +{ + if (iter->error) return -1; + if (b) { + if (b->core.tid < 0) { overlap_remove(iter, b); return 0; } + // Skip only unmapped reads here, any additional filtering must be done in iter->func + if (b->core.flag & BAM_FUNMAP) { overlap_remove(iter, b); return 0; } + if (iter->tid == b->core.tid && iter->pos == b->core.pos && iter->mp->cnt > iter->maxcnt) + { + overlap_remove(iter, b); + return 0; + } + bam_copy1(&iter->tail->b, b); + overlap_push(iter, iter->tail); +#ifndef BAM_NO_ID + iter->tail->b.id = iter->id++; +#endif + iter->tail->beg = b->core.pos; + iter->tail->end = b->core.pos + bam_cigar2rlen(b->core.n_cigar, bam_get_cigar(b)); + iter->tail->s = g_cstate_null; iter->tail->s.end = iter->tail->end - 1; // initialize cstate_t + if (b->core.tid < iter->max_tid) { + fprintf(stderr, "[bam_pileup_core] the input is not sorted (chromosomes out of order)\n"); + iter->error = 1; + return -1; + } + if ((b->core.tid == iter->max_tid) && (iter->tail->beg < iter->max_pos)) { + fprintf(stderr, "[bam_pileup_core] the input is not sorted (reads out of order)\n"); + iter->error = 1; + return -1; + } + iter->max_tid = b->core.tid; iter->max_pos = iter->tail->beg; + if (iter->tail->end > iter->pos || iter->tail->b.core.tid > iter->tid) { + iter->tail->next = mp_alloc(iter->mp); + iter->tail = iter->tail->next; + } + } else iter->is_eof = 1; + return 0; +} + +const bam_pileup1_t *bam_plp_auto(bam_plp_t iter, int *_tid, int *_pos, int *_n_plp) +{ + const bam_pileup1_t *plp; + if (iter->func == 0 || iter->error) { *_n_plp = -1; return 0; } + if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; + else { // no pileup line can be obtained; read alignments + *_n_plp = 0; + if (iter->is_eof) return 0; + int ret; + while ( (ret=iter->func(iter->data, iter->b)) >= 0) { + if (bam_plp_push(iter, iter->b) < 0) { + *_n_plp = -1; + return 0; + } + if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; + // otherwise no pileup line can be returned; read the next alignment. + } + if ( ret < -1 ) { iter->error = ret; *_n_plp = -1; return 0; } + bam_plp_push(iter, 0); + if ((plp = bam_plp_next(iter, _tid, _pos, _n_plp)) != 0) return plp; + return 0; + } +} + +void bam_plp_reset(bam_plp_t iter) +{ + lbnode_t *p, *q; + iter->max_tid = iter->max_pos = -1; + iter->tid = iter->pos = 0; + iter->is_eof = 0; + for (p = iter->head; p->next;) { + overlap_remove(iter, NULL); + q = p->next; + mp_free(iter->mp, p); + p = q; + } + iter->head = iter->tail; +} + +void bam_plp_set_maxcnt(bam_plp_t iter, int maxcnt) +{ + iter->maxcnt = maxcnt; +} + +/************************ + *** Mpileup iterator *** + ************************/ + +struct __bam_mplp_t { + int n; + uint64_t min, *pos; + bam_plp_t *iter; + int *n_plp; + const bam_pileup1_t **plp; +}; + +bam_mplp_t bam_mplp_init(int n, bam_plp_auto_f func, void **data) +{ + int i; + bam_mplp_t iter; + iter = (bam_mplp_t)calloc(1, sizeof(struct __bam_mplp_t)); + iter->pos = (uint64_t*)calloc(n, sizeof(uint64_t)); + iter->n_plp = (int*)calloc(n, sizeof(int)); + iter->plp = (const bam_pileup1_t**)calloc(n, sizeof(bam_pileup1_t*)); + iter->iter = (bam_plp_t*)calloc(n, sizeof(bam_plp_t)); + iter->n = n; + iter->min = (uint64_t)-1; + for (i = 0; i < n; ++i) { + iter->iter[i] = bam_plp_init(func, data[i]); + iter->pos[i] = iter->min; + } + return iter; +} + +void bam_mplp_init_overlaps(bam_mplp_t iter) +{ + int i; + for (i = 0; i < iter->n; ++i) + bam_plp_init_overlaps(iter->iter[i]); +} + +void bam_mplp_set_maxcnt(bam_mplp_t iter, int maxcnt) +{ + int i; + for (i = 0; i < iter->n; ++i) + iter->iter[i]->maxcnt = maxcnt; +} + +void bam_mplp_destroy(bam_mplp_t iter) +{ + int i; + for (i = 0; i < iter->n; ++i) bam_plp_destroy(iter->iter[i]); + free(iter->iter); free(iter->pos); free(iter->n_plp); free(iter->plp); + free(iter); +} + +int bam_mplp_auto(bam_mplp_t iter, int *_tid, int *_pos, int *n_plp, const bam_pileup1_t **plp) +{ + int i, ret = 0; + uint64_t new_min = (uint64_t)-1; + for (i = 0; i < iter->n; ++i) { + if (iter->pos[i] == iter->min) { + int tid, pos; + iter->plp[i] = bam_plp_auto(iter->iter[i], &tid, &pos, &iter->n_plp[i]); + if ( iter->iter[i]->error ) return -1; + iter->pos[i] = iter->plp[i] ? (uint64_t)tid<<32 | pos : 0; + } + if (iter->plp[i] && iter->pos[i] < new_min) new_min = iter->pos[i]; + } + iter->min = new_min; + if (new_min == (uint64_t)-1) return 0; + *_tid = new_min>>32; *_pos = (uint32_t)new_min; + for (i = 0; i < iter->n; ++i) { + if (iter->pos[i] == iter->min) { // FIXME: valgrind reports "uninitialised value(s) at this line" + n_plp[i] = iter->n_plp[i], plp[i] = iter->plp[i]; + ++ret; + } else n_plp[i] = 0, plp[i] = 0; + } + return ret; +} + +#endif // ~!defined(BAM_NO_PILEUP) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/synced_bcf_reader.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/synced_bcf_reader.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1257 @@ +/* synced_bcf_reader.c -- stream through multiple VCF files. + + Copyright (C) 2012-2014 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include +#include +#include "htslib/synced_bcf_reader.h" +#include "htslib/kseq.h" +#include "htslib/khash_str2int.h" + +#define MAX_CSI_COOR 0x7fffffff // maximum indexable coordinate of .csi + +typedef struct +{ + uint32_t start, end; +} +region1_t; + +typedef struct _region_t +{ + region1_t *regs; + int nregs, mregs, creg; +} +region_t; + +static void _regions_add(bcf_sr_regions_t *reg, const char *chr, int start, int end); +static bcf_sr_regions_t *_regions_init_string(const char *str); +static int _regions_match_alleles(bcf_sr_regions_t *reg, int als_idx, bcf1_t *rec); + +char *bcf_sr_strerror(int errnum) +{ + switch (errnum) + { + case open_failed: + return strerror(errno); break; + case not_bgzf: + return "not compressed with bgzip"; break; + case idx_load_failed: + return "could not load index"; break; + case file_type_error: + return "unknown file type"; break; + case api_usage_error: + return "API usage error"; break; + case header_error: + return "could not parse header"; break; + default: return ""; + } +} + +static int *init_filters(bcf_hdr_t *hdr, const char *filters, int *nfilters) +{ + kstring_t str = {0,0,0}; + const char *tmp = filters, *prev = filters; + int nout = 0, *out = NULL; + while ( 1 ) + { + if ( *tmp==',' || !*tmp ) + { + out = (int*) realloc(out, (nout+1)*sizeof(int)); + if ( tmp-prev==1 && *prev=='.' ) + out[nout] = -1; + else + { + str.l = 0; + kputsn(prev, tmp-prev, &str); + out[nout] = bcf_hdr_id2int(hdr, BCF_DT_ID, str.s); + } + nout++; + if ( !*tmp ) break; + prev = tmp+1; + } + tmp++; + } + if ( str.m ) free(str.s); + *nfilters = nout; + return out; +} + +int bcf_sr_set_regions(bcf_srs_t *readers, const char *regions, int is_file) +{ + assert( !readers->regions ); + if ( readers->nreaders ) + { + fprintf(stderr,"[%s:%d %s] Error: bcf_sr_set_regions() must be called before bcf_sr_add_reader()\n", __FILE__,__LINE__,__FUNCTION__); + return -1; + } + readers->regions = bcf_sr_regions_init(regions,is_file,0,1,-2); + if ( !readers->regions ) return -1; + readers->explicit_regs = 1; + readers->require_index = 1; + return 0; +} +int bcf_sr_set_targets(bcf_srs_t *readers, const char *targets, int is_file, int alleles) +{ + assert( !readers->targets ); + if ( targets[0]=='^' ) + { + readers->targets_exclude = 1; + targets++; + } + readers->targets = bcf_sr_regions_init(targets,is_file,0,1,-2); + if ( !readers->targets ) return -1; + readers->targets_als = alleles; + return 0; +} + +int bcf_sr_add_reader(bcf_srs_t *files, const char *fname) +{ + htsFile* file_ptr = hts_open(fname, "r"); + if ( ! file_ptr ) { + files->errnum = open_failed; + return 0; + } + + files->has_line = (int*) realloc(files->has_line, sizeof(int)*(files->nreaders+1)); + files->has_line[files->nreaders] = 0; + files->readers = (bcf_sr_t*) realloc(files->readers, sizeof(bcf_sr_t)*(files->nreaders+1)); + bcf_sr_t *reader = &files->readers[files->nreaders++]; + memset(reader,0,sizeof(bcf_sr_t)); + + reader->file = file_ptr; + + files->errnum = 0; + + if ( files->require_index ) + { + if ( reader->file->format.format==vcf ) + { + if ( reader->file->format.compression!=bgzf ) + { + files->errnum = not_bgzf; + return 0; + } + + reader->tbx_idx = tbx_index_load(fname); + if ( !reader->tbx_idx ) + { + files->errnum = idx_load_failed; + return 0; + } + + reader->header = bcf_hdr_read(reader->file); + } + else if ( reader->file->format.format==bcf ) + { + if ( reader->file->format.compression!=bgzf ) + { + files->errnum = not_bgzf; + return 0; + } + + reader->header = bcf_hdr_read(reader->file); + + reader->bcf_idx = bcf_index_load(fname); + if ( !reader->bcf_idx ) + { + files->errnum = idx_load_failed; + return 0; + } + } + else + { + files->errnum = file_type_error; + return 0; + } + } + else + { + if ( reader->file->format.format==bcf || reader->file->format.format==vcf ) + { + reader->header = bcf_hdr_read(reader->file); + } + else + { + files->errnum = file_type_error; + return 0; + } + files->streaming = 1; + } + if ( files->streaming && files->nreaders>1 ) + { + files->errnum = api_usage_error; + fprintf(stderr,"[%s:%d %s] Error: %d readers, yet require_index not set\n", __FILE__,__LINE__,__FUNCTION__,files->nreaders); + return 0; + } + if ( files->streaming && files->regions ) + { + files->errnum = api_usage_error; + fprintf(stderr,"[%s:%d %s] Error: cannot tabix-jump in streaming mode\n", __FILE__,__LINE__,__FUNCTION__); + return 0; + } + if ( !reader->header ) + { + files->errnum = header_error; + return 0; + } + + reader->fname = fname; + if ( files->apply_filters ) + reader->filter_ids = init_filters(reader->header, files->apply_filters, &reader->nfilter_ids); + + // Update list of chromosomes + if ( !files->explicit_regs && !files->streaming ) + { + int n,i; + const char **names = reader->tbx_idx ? tbx_seqnames(reader->tbx_idx, &n) : bcf_hdr_seqnames(reader->header, &n); + for (i=0; iregions ) + files->regions = _regions_init_string(names[i]); + else + _regions_add(files->regions, names[i], -1, -1); + } + free(names); + } + + return 1; +} + +bcf_srs_t *bcf_sr_init(void) +{ + bcf_srs_t *files = (bcf_srs_t*) calloc(1,sizeof(bcf_srs_t)); + return files; +} + +static void bcf_sr_destroy1(bcf_sr_t *reader) +{ + if ( reader->tbx_idx ) tbx_destroy(reader->tbx_idx); + if ( reader->bcf_idx ) hts_idx_destroy(reader->bcf_idx); + bcf_hdr_destroy(reader->header); + hts_close(reader->file); + if ( reader->itr ) tbx_itr_destroy(reader->itr); + int j; + for (j=0; jmbuffer; j++) + bcf_destroy1(reader->buffer[j]); + free(reader->buffer); + free(reader->samples); + free(reader->filter_ids); +} +void bcf_sr_destroy(bcf_srs_t *files) +{ + int i; + for (i=0; inreaders; i++) + bcf_sr_destroy1(&files->readers[i]); + free(files->has_line); + free(files->readers); + for (i=0; in_smpl; i++) free(files->samples[i]); + free(files->samples); + if (files->targets) bcf_sr_regions_destroy(files->targets); + if (files->regions) bcf_sr_regions_destroy(files->regions); + if ( files->tmps.m ) free(files->tmps.s); + free(files); +} + +void bcf_sr_remove_reader(bcf_srs_t *files, int i) +{ + assert( !files->samples ); // not ready for this yet + bcf_sr_destroy1(&files->readers[i]); + if ( i+1 < files->nreaders ) + { + memmove(&files->readers[i], &files->readers[i+1], (files->nreaders-i-1)*sizeof(bcf_sr_t)); + memmove(&files->has_line[i], &files->has_line[i+1], (files->nreaders-i-1)*sizeof(int)); + } + files->nreaders--; +} + + +/* + Removes duplicate records from the buffer. The meaning of "duplicate" is + controlled by the $collapse variable, which can cause that from multiple + lines only the first is considered and the rest is ignored. + The removal is done by setting the redundant lines' positions to -1 and + moving these lines at the end of the buffer. + */ +static void collapse_buffer(bcf_srs_t *files, bcf_sr_t *reader) +{ + int irec,jrec, has_snp=0, has_indel=0, has_any=0; + for (irec=1; irec<=reader->nbuffer; irec++) + { + bcf1_t *line = reader->buffer[irec]; + if ( line->pos != reader->buffer[1]->pos ) break; + if ( files->collapse&COLLAPSE_ANY ) + { + if ( !has_any ) has_any = 1; + else line->pos = -1; + } + int line_type = bcf_get_variant_types(line); + if ( files->collapse&COLLAPSE_SNPS && line_type&(VCF_SNP|VCF_MNP) ) + { + if ( !has_snp ) has_snp = 1; + else line->pos = -1; + } + if ( files->collapse&COLLAPSE_INDELS && line_type&VCF_INDEL ) + { + if ( !has_indel ) has_indel = 1; + else line->pos = -1; + } + } + bcf1_t *tmp; + irec = jrec = 1; + while ( irec<=reader->nbuffer && jrec<=reader->nbuffer ) + { + if ( reader->buffer[irec]->pos != -1 ) { irec++; continue; } + if ( jrec<=irec ) jrec = irec+1; + while ( jrec<=reader->nbuffer && reader->buffer[jrec]->pos==-1 ) jrec++; + if ( jrec<=reader->nbuffer ) + { + tmp = reader->buffer[irec]; reader->buffer[irec] = reader->buffer[jrec]; reader->buffer[jrec] = tmp; + } + } + reader->nbuffer = irec - 1; +} + +void debug_buffer(FILE *fp, bcf_sr_t *reader) +{ + int j; + for (j=0; j<=reader->nbuffer; j++) + { + bcf1_t *line = reader->buffer[j]; + fprintf(fp,"%s%s\t%s:%d\t%s ", reader->fname,j==0?"*":"",reader->header->id[BCF_DT_CTG][line->rid].key,line->pos+1,line->n_allele?line->d.allele[0]:""); + int k; + for (k=1; kn_allele; k++) fprintf(fp," %s", line->d.allele[k]); + fprintf(fp,"\n"); + } +} + +void debug_buffers(FILE *fp, bcf_srs_t *files) +{ + int i; + for (i=0; inreaders; i++) + { + fprintf(fp, "has_line: %d\t%s\n", bcf_sr_has_line(files,i),files->readers[i].fname); + debug_buffer(fp, &files->readers[i]); + } + fprintf(fp,"\n"); +} + +static inline int has_filter(bcf_sr_t *reader, bcf1_t *line) +{ + int i, j; + if ( !line->d.n_flt ) + { + for (j=0; jnfilter_ids; j++) + if ( reader->filter_ids[j]<0 ) return 1; + return 0; + } + for (i=0; id.n_flt; i++) + { + for (j=0; jnfilter_ids; j++) + if ( line->d.flt[i]==reader->filter_ids[j] ) return 1; + } + return 0; +} + +static int _reader_seek(bcf_sr_t *reader, const char *seq, int start, int end) +{ + if ( end>=MAX_CSI_COOR ) + { + fprintf(stderr,"The coordinate is out of csi index limit: %d\n", end+1); + exit(1); + } + if ( reader->itr ) + { + hts_itr_destroy(reader->itr); + reader->itr = NULL; + } + reader->nbuffer = 0; + if ( reader->tbx_idx ) + { + int tid = tbx_name2id(reader->tbx_idx, seq); + if ( tid==-1 ) return -1; // the sequence not present in this file + reader->itr = tbx_itr_queryi(reader->tbx_idx,tid,start,end+1); + } + else + { + int tid = bcf_hdr_name2id(reader->header, seq); + if ( tid==-1 ) return -1; // the sequence not present in this file + reader->itr = bcf_itr_queryi(reader->bcf_idx,tid,start,end+1); + } + assert(reader->itr); + return 0; +} + +/* + * _readers_next_region() - jumps to next region if necessary + * Returns 0 on success or -1 when there are no more regions left + */ +static int _readers_next_region(bcf_srs_t *files) +{ + // Need to open new chromosome? Check number of lines in all readers' buffers + int i, eos = 0; + for (i=0; inreaders; i++) + if ( !files->readers[i].itr && !files->readers[i].nbuffer ) eos++; + + if ( eos!=files->nreaders ) + { + // Some of the readers still has buffered lines + return 0; + } + + // No lines in the buffer, need to open new region or quit + if ( bcf_sr_regions_next(files->regions)<0 ) return -1; + + for (i=0; inreaders; i++) + _reader_seek(&files->readers[i],files->regions->seq_names[files->regions->iseq],files->regions->start,files->regions->end); + + return 0; +} + +/* + * _reader_fill_buffer() - buffers all records with the same coordinate + */ +static void _reader_fill_buffer(bcf_srs_t *files, bcf_sr_t *reader) +{ + // Return if the buffer is full: the coordinate of the last buffered record differs + if ( reader->nbuffer && reader->buffer[reader->nbuffer]->pos != reader->buffer[1]->pos ) return; + + // No iterator (sequence not present in this file) and not streaming + if ( !reader->itr && !files->streaming ) return; + + // Fill the buffer with records starting at the same position + int i, ret = 0; + while (1) + { + if ( reader->nbuffer+1 >= reader->mbuffer ) + { + // Increase buffer size + reader->mbuffer += 8; + reader->buffer = (bcf1_t**) realloc(reader->buffer, sizeof(bcf1_t*)*reader->mbuffer); + for (i=8; i>0; i--) // initialize + { + reader->buffer[reader->mbuffer-i] = bcf_init1(); + reader->buffer[reader->mbuffer-i]->max_unpack = files->max_unpack; + reader->buffer[reader->mbuffer-i]->pos = -1; // for rare cases when VCF starts from 1 + } + } + if ( files->streaming ) + { + if ( reader->file->format.format==vcf ) + { + if ( (ret=hts_getline(reader->file, KS_SEP_LINE, &files->tmps)) < 0 ) break; // no more lines + int ret = vcf_parse1(&files->tmps, reader->header, reader->buffer[reader->nbuffer+1]); + if ( ret<0 ) break; + } + else if ( reader->file->format.format==bcf ) + { + if ( (ret=bcf_read1(reader->file, reader->header, reader->buffer[reader->nbuffer+1])) < 0 ) break; // no more lines + } + else + { + fprintf(stderr,"[%s:%d %s] fixme: not ready for this\n", __FILE__,__LINE__,__FUNCTION__); + exit(1); + } + } + else if ( reader->tbx_idx ) + { + if ( (ret=tbx_itr_next(reader->file, reader->tbx_idx, reader->itr, &files->tmps)) < 0 ) break; // no more lines + vcf_parse1(&files->tmps, reader->header, reader->buffer[reader->nbuffer+1]); + } + else + { + if ( (ret=bcf_itr_next(reader->file, reader->itr, reader->buffer[reader->nbuffer+1])) < 0 ) break; // no more lines + bcf_subset_format(reader->header,reader->buffer[reader->nbuffer+1]); + } + + // apply filter + if ( !reader->nfilter_ids ) + bcf_unpack(reader->buffer[reader->nbuffer+1], BCF_UN_STR); + else + { + bcf_unpack(reader->buffer[reader->nbuffer+1], BCF_UN_STR|BCF_UN_FLT); + if ( !has_filter(reader, reader->buffer[reader->nbuffer+1]) ) continue; + } + reader->nbuffer++; + + if ( reader->buffer[reader->nbuffer]->pos != reader->buffer[1]->pos ) break; // the buffer is full + } + if ( ret<0 ) + { + // done for this region + tbx_itr_destroy(reader->itr); + reader->itr = NULL; + } + if ( files->collapse && reader->nbuffer>=2 && reader->buffer[1]->pos==reader->buffer[2]->pos ) + collapse_buffer(files, reader); +} + +/* + * _readers_shift_buffer() - removes the first line and all subsequent lines with the same position + */ +static void _reader_shift_buffer(bcf_sr_t *reader) +{ + int i; + for (i=2; i<=reader->nbuffer; i++) + if ( reader->buffer[i]->pos!=reader->buffer[1]->pos ) break; + if ( i<=reader->nbuffer ) + { + // A record with a different position follows, swap it. Because of the reader's logic, + // only one such line can be present. + bcf1_t *tmp = reader->buffer[1]; reader->buffer[1] = reader->buffer[i]; reader->buffer[i] = tmp; + reader->nbuffer = 1; + } + else + reader->nbuffer = 0; // no other line +} + +/* + * _reader_match_alleles() - from multiple buffered lines selects the one which + * corresponds best to the template line. The logic is controlled by COLLAPSE_* + * Returns 0 on success or -1 when no good matching line is found. + */ +static int _reader_match_alleles(bcf_srs_t *files, bcf_sr_t *reader, bcf1_t *tmpl) +{ + int i, irec = -1; + + // if no template given, use the first available record + if ( !tmpl ) + irec = 1; + else + { + int tmpl_type = bcf_get_variant_types(tmpl); + for (i=1; i<=reader->nbuffer; i++) + { + bcf1_t *line = reader->buffer[i]; + if ( line->pos != reader->buffer[1]->pos ) break; // done with this reader + + // Easiest case: matching by position only + if ( files->collapse&COLLAPSE_ANY ) { irec=i; break; } + + int line_type = bcf_get_variant_types(line); + + // No matter what the alleles are, as long as they are both SNPs + if ( files->collapse&COLLAPSE_SNPS && tmpl_type&VCF_SNP && line_type&VCF_SNP ) { irec=i; break; } + // ... or indels + if ( files->collapse&COLLAPSE_INDELS && tmpl_type&VCF_INDEL && line_type&VCF_INDEL ) { irec=i; break; } + + // More thorough checking: REFs must match + if ( tmpl->rlen != line->rlen ) continue; // different length + if ( strcmp(tmpl->d.allele[0], line->d.allele[0]) ) continue; // the strings do not match + + int ial,jal; + if ( files->collapse==COLLAPSE_NONE ) + { + // Exact match, all alleles must be identical + if ( tmpl->n_allele!=line->n_allele ) continue; // different number of alleles, skip + + int nmatch = 1; // REF has been already checked + for (ial=1; ialn_allele; ial++) + { + for (jal=1; jaln_allele; jal++) + if ( !strcmp(tmpl->d.allele[ial], line->d.allele[jal]) ) { nmatch++; break; } + } + if ( nmatch==tmpl->n_allele ) { irec=i; break; } // found: exact match + continue; + } + + if ( line->n_allele==1 && tmpl->n_allele==1 ) { irec=i; break; } // both sites are non-variant + + // COLLAPSE_SOME: at least some ALTs must match + for (ial=1; ialn_allele; ial++) + { + for (jal=1; jaln_allele; jal++) + if ( !strcmp(tmpl->d.allele[ial], line->d.allele[jal]) ) { irec=i; break; } + if ( irec>=1 ) break; + } + if ( irec>=1 ) break; + } + if ( irec==-1 ) return -1; // no matching line was found + } + + // Set the selected line (irec) as active: set it to buffer[0], move the remaining lines forward + // and put the old bcf1_t record at the end. + bcf1_t *tmp = reader->buffer[0]; + reader->buffer[0] = reader->buffer[irec]; + for (i=irec+1; i<=reader->nbuffer; i++) reader->buffer[i-1] = reader->buffer[i]; + reader->buffer[ reader->nbuffer ] = tmp; + reader->nbuffer--; + + return 0; +} + +int _reader_next_line(bcf_srs_t *files) +{ + int i, min_pos = INT_MAX; + + // Loop until next suitable line is found or all readers have finished + while ( 1 ) + { + // Get all readers ready for the next region. + if ( files->regions && _readers_next_region(files)<0 ) break; + + // Fill buffers + const char *chr = NULL; + for (i=0; inreaders; i++) + { + _reader_fill_buffer(files, &files->readers[i]); + + // Update the minimum coordinate + if ( !files->readers[i].nbuffer ) continue; + if ( min_pos > files->readers[i].buffer[1]->pos ) + { + min_pos = files->readers[i].buffer[1]->pos; + chr = bcf_seqname(files->readers[i].header, files->readers[i].buffer[1]); + } + } + if ( min_pos==INT_MAX ) + { + if ( !files->regions ) break; + continue; + } + + // Skip this position if not present in targets + if ( files->targets ) + { + int ret = bcf_sr_regions_overlap(files->targets, chr, min_pos, min_pos); + if ( (!files->targets_exclude && ret<0) || (files->targets_exclude && !ret) ) + { + // Remove all lines with this position from the buffer + for (i=0; inreaders; i++) + if ( files->readers[i].nbuffer && files->readers[i].buffer[1]->pos==min_pos ) + _reader_shift_buffer(&files->readers[i]); + min_pos = INT_MAX; + continue; + } + } + + break; // done: min_pos is set + } + + // There can be records with duplicate positions. Set the active line intelligently so that + // the alleles match. + int nret = 0; // number of readers sharing the position + bcf1_t *first = NULL; // record which will be used for allele matching + for (i=0; inreaders; i++) + { + files->has_line[i] = 0; + + // Skip readers with no records at this position + if ( !files->readers[i].nbuffer || files->readers[i].buffer[1]->pos!=min_pos ) continue; + + // Until now buffer[0] of all reader was empty and the lines started at buffer[1]. + // Now lines which are ready to be output will be moved to buffer[0]. + if ( _reader_match_alleles(files, &files->readers[i], first) < 0 ) continue; + if ( !first ) first = files->readers[i].buffer[0]; + + nret++; + files->has_line[i] = 1; + } + return nret; +} + +int bcf_sr_next_line(bcf_srs_t *files) +{ + if ( !files->targets_als ) + return _reader_next_line(files); + + while (1) + { + int i, ret = _reader_next_line(files); + if ( !ret ) return ret; + + for (i=0; inreaders; i++) + if ( files->has_line[i] ) break; + + if ( _regions_match_alleles(files->targets, files->targets_als-1, files->readers[i].buffer[0]) ) return ret; + + // Check if there are more duplicate lines in the buffers. If not, return this line as if it + // matched the targets, even if there is a type mismatch + for (i=0; inreaders; i++) + { + if ( !files->has_line[i] ) continue; + if ( files->readers[i].nbuffer==0 || files->readers[i].buffer[1]->pos!=files->readers[i].buffer[0]->pos ) continue; + break; + } + if ( i==files->nreaders ) return ret; // no more lines left, output even if target alleles are not of the same type + } +} + +static void bcf_sr_seek_start(bcf_srs_t *readers) +{ + bcf_sr_regions_t *reg = readers->regions; + int i; + for (i=0; inseqs; i++) + reg->regs[i].creg = -1; + reg->iseq = 0; +} + + +int bcf_sr_seek(bcf_srs_t *readers, const char *seq, int pos) +{ + if ( !seq && !pos ) + { + // seek to start + bcf_sr_seek_start(readers); + return 0; + } + + bcf_sr_regions_overlap(readers->regions, seq, pos, pos); + int i, nret = 0; + for (i=0; inreaders; i++) + { + nret += _reader_seek(&readers->readers[i],seq,pos,MAX_CSI_COOR-1); + } + return nret; +} + +int bcf_sr_set_samples(bcf_srs_t *files, const char *fname, int is_file) +{ + int i, j, nsmpl, free_smpl = 0; + char **smpl = NULL; + + void *exclude = (fname[0]=='^') ? khash_str2int_init() : NULL; + if ( exclude || strcmp("-",fname) ) // "-" stands for all samples + { + smpl = hts_readlist(fname, is_file, &nsmpl); + if ( !smpl ) + { + fprintf(stderr,"Could not read the file: \"%s\"\n", fname); + return 0; + } + if ( exclude ) + { + for (i=0; ireaders[0].header->samples; // intersection of all samples + nsmpl = bcf_hdr_nsamples(files->readers[0].header); + } + + files->samples = NULL; + files->n_smpl = 0; + for (i=0; inreaders; j++) + { + if ( bcf_hdr_id2int(files->readers[j].header, BCF_DT_SAMPLE, smpl[i])<0 ) break; + n_isec++; + } + if ( n_isec!=files->nreaders ) + { + fprintf(stderr,"Warning: The sample \"%s\" was not found in %s, skipping\n", smpl[i], files->readers[n_isec].fname); + continue; + } + + files->samples = (char**) realloc(files->samples, (files->n_smpl+1)*sizeof(const char*)); + files->samples[files->n_smpl++] = strdup(smpl[i]); + } + + if ( exclude ) khash_str2int_destroy(exclude); + if ( free_smpl ) + { + for (i=0; in_smpl ) + { + if ( files->nreaders>1 ) + fprintf(stderr,"No samples in common.\n"); + return 0; + } + for (i=0; inreaders; i++) + { + bcf_sr_t *reader = &files->readers[i]; + reader->samples = (int*) malloc(sizeof(int)*files->n_smpl); + reader->n_smpl = files->n_smpl; + for (j=0; jn_smpl; j++) + reader->samples[j] = bcf_hdr_id2int(reader->header, BCF_DT_SAMPLE, files->samples[j]); + } + return 1; +} + +// Add a new region into a list sorted by start,end. On input the coordinates +// are 1-based, stored 0-based, inclusive. +static void _regions_add(bcf_sr_regions_t *reg, const char *chr, int start, int end) +{ + if ( start==-1 && end==-1 ) + { + start = 0; end = MAX_CSI_COOR-1; + } + else + { + start--; end--; // store 0-based coordinates + } + + if ( !reg->seq_hash ) + reg->seq_hash = khash_str2int_init(); + + int iseq; + if ( khash_str2int_get(reg->seq_hash, chr, &iseq)<0 ) + { + // the chromosome block does not exist + iseq = reg->nseqs++; + reg->seq_names = (char**) realloc(reg->seq_names,sizeof(char*)*reg->nseqs); + reg->regs = (region_t*) realloc(reg->regs,sizeof(region_t)*reg->nseqs); + memset(®->regs[reg->nseqs-1],0,sizeof(region_t)); + reg->seq_names[iseq] = strdup(chr); + reg->regs[iseq].creg = -1; + khash_str2int_set(reg->seq_hash,reg->seq_names[iseq],iseq); + } + + region_t *creg = ®->regs[iseq]; + + // the regions may not be sorted on input: binary search + int i, min = 0, max = creg->nregs - 1; + while ( min<=max ) + { + i = (max+min)/2; + if ( start < creg->regs[i].start ) max = i - 1; + else if ( start > creg->regs[i].start ) min = i + 1; + else break; + } + if ( min>max || creg->regs[i].start!=start || creg->regs[i].end!=end ) + { + // no such region, insert a new one just after max + hts_expand(region1_t,creg->nregs+1,creg->mregs,creg->regs); + if ( ++max < creg->nregs ) + memmove(&creg->regs[max+1],&creg->regs[max],(creg->nregs - max)*sizeof(region1_t)); + creg->regs[max].start = start; + creg->regs[max].end = end; + creg->nregs++; + } +} + +// File name or a list of genomic locations. If file name, NULL is returned. +static bcf_sr_regions_t *_regions_init_string(const char *str) +{ + bcf_sr_regions_t *reg = (bcf_sr_regions_t *) calloc(1, sizeof(bcf_sr_regions_t)); + reg->start = reg->end = -1; + reg->prev_start = reg->prev_seq = -1; + + kstring_t tmp = {0,0,0}; + const char *sp = str, *ep = str; + int from, to; + while ( 1 ) + { + while ( *ep && *ep!=',' && *ep!=':' ) ep++; + tmp.l = 0; + kputsn(sp,ep-sp,&tmp); + if ( *ep==':' ) + { + sp = ep+1; + from = strtol(sp,(char**)&ep,10); + if ( sp==ep ) + { + fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); + free(reg); free(tmp.s); return NULL; + } + if ( !*ep || *ep==',' ) + { + _regions_add(reg, tmp.s, from, from); + sp = ep; + continue; + } + if ( *ep!='-' ) + { + fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); + free(reg); free(tmp.s); return NULL; + } + ep++; + sp = ep; + to = strtol(sp,(char**)&ep,10); + if ( *ep && *ep!=',' ) + { + fprintf(stderr,"[%s:%d %s] Could not parse the region(s): %s\n", __FILE__,__LINE__,__FUNCTION__,str); + free(reg); free(tmp.s); return NULL; + } + if ( sp==ep ) to = MAX_CSI_COOR-1; + _regions_add(reg, tmp.s, from, to); + if ( !*ep ) break; + sp = ep; + } + else + { + if ( tmp.l ) _regions_add(reg, tmp.s, -1, -1); + if ( !*ep ) break; + sp = ++ep; + } + } + free(tmp.s); + return reg; +} + +// ichr,ifrom,ito are 0-based; +// returns -1 on error, 0 if the line is a comment line, 1 on success +static int _regions_parse_line(char *line, int ichr,int ifrom,int ito, char **chr,char **chr_end,int *from,int *to) +{ + *chr_end = NULL; + + if ( line[0]=='#' ) return 0; + + int k,l; // index of the start and end column of the tab-delimited file + if ( ifrom <= ito ) + k = ifrom, l = ito; + else + l = ifrom, k = ito; + + int i; + char *se = line, *ss = NULL; // start and end + char *tmp; + for (i=0; i<=k && *se; i++) + { + ss = i==0 ? se++ : ++se; + while (*se && *se!='\t') se++; + } + if ( i<=k ) return -1; + if ( k==l ) + { + *from = *to = strtol(ss, &tmp, 10); + if ( tmp==ss ) return -1; + } + else + { + if ( k==ifrom ) + *from = strtol(ss, &tmp, 10); + else + *to = strtol(ss, &tmp, 10); + if ( ss==tmp ) return -1; + + for (i=k; i0 ) ss = ++se; + while (*se && *se!='\t') se++; + } + if ( i<=ichr ) return -1; + *chr_end = se; + *chr = ss; + return 1; +} + +bcf_sr_regions_t *bcf_sr_regions_init(const char *regions, int is_file, int ichr, int ifrom, int ito) +{ + bcf_sr_regions_t *reg; + if ( !is_file ) return _regions_init_string(regions); + + reg = (bcf_sr_regions_t *) calloc(1, sizeof(bcf_sr_regions_t)); + reg->start = reg->end = -1; + reg->prev_start = reg->prev_seq = -1; + + reg->file = hts_open(regions, "rb"); + if ( !reg->file ) + { + fprintf(stderr,"[%s:%d %s] Could not open file: %s\n", __FILE__,__LINE__,__FUNCTION__,regions); + free(reg); + return NULL; + } + + reg->tbx = tbx_index_load(regions); + if ( !reg->tbx ) + { + int len = strlen(regions); + int is_bed = strcasecmp(".bed",regions+len-4) ? 0 : 1; + if ( !is_bed && !strcasecmp(".bed.gz",regions+len-7) ) is_bed = 1; + + if ( reg->file->format.format==vcf ) ito = 1; + + // read the whole file, tabix index is not present + while ( hts_getline(reg->file, KS_SEP_LINE, ®->line) > 0 ) + { + char *chr, *chr_end; + int from, to, ret; + ret = _regions_parse_line(reg->line.s, ichr,ifrom,abs(ito), &chr,&chr_end,&from,&to); + if ( ret < 0 ) + { + if ( ito<0 ) + ret = _regions_parse_line(reg->line.s, ichr,ifrom,ifrom, &chr,&chr_end,&from,&to); + if ( ret<0 ) + { + fprintf(stderr,"[%s:%d] Could not parse the file %s, using the columns %d,%d[,%d]\n", __FILE__,__LINE__,regions,ichr+1,ifrom+1,ito+1); + hts_close(reg->file); reg->file = NULL; free(reg); + return NULL; + } + } + if ( !ret ) continue; + if ( is_bed ) from++; + *chr_end = 0; + _regions_add(reg, chr, from, to); + *chr_end = '\t'; + } + hts_close(reg->file); reg->file = NULL; + if ( !reg->nseqs ) { free(reg); return NULL; } + return reg; + } + + reg->seq_names = (char**) tbx_seqnames(reg->tbx, ®->nseqs); + if ( !reg->seq_hash ) + reg->seq_hash = khash_str2int_init(); + int i; + for (i=0; inseqs; i++) + { + khash_str2int_set(reg->seq_hash,reg->seq_names[i],i); + } + reg->fname = strdup(regions); + reg->is_bin = 1; + return reg; +} + +void bcf_sr_regions_destroy(bcf_sr_regions_t *reg) +{ + int i; + free(reg->fname); + if ( reg->itr ) tbx_itr_destroy(reg->itr); + if ( reg->tbx ) tbx_destroy(reg->tbx); + if ( reg->file ) hts_close(reg->file); + if ( reg->als ) free(reg->als); + if ( reg->als_str.s ) free(reg->als_str.s); + free(reg->line.s); + if ( reg->regs ) + { + // free only in-memory names, tbx names are const + for (i=0; inseqs; i++) + { + free(reg->seq_names[i]); + free(reg->regs[i].regs); + } + } + free(reg->regs); + free(reg->seq_names); + khash_str2int_destroy(reg->seq_hash); + free(reg); +} + +int bcf_sr_regions_seek(bcf_sr_regions_t *reg, const char *seq) +{ + reg->iseq = reg->start = reg->end = -1; + if ( khash_str2int_get(reg->seq_hash, seq, ®->iseq) < 0 ) return -1; // sequence seq not in regions + + // using in-memory regions + if ( reg->regs ) + { + reg->regs[reg->iseq].creg = -1; + return 0; + } + + // reading regions from tabix + if ( reg->itr ) tbx_itr_destroy(reg->itr); + reg->itr = tbx_itr_querys(reg->tbx, seq); + if ( reg->itr ) return 0; + + return -1; +} + +int bcf_sr_regions_next(bcf_sr_regions_t *reg) +{ + if ( reg->iseq<0 ) return -1; + reg->start = reg->end = -1; + reg->nals = 0; + + // using in-memory regions + if ( reg->regs ) + { + while ( reg->iseq < reg->nseqs ) + { + reg->regs[reg->iseq].creg++; + if ( reg->regs[reg->iseq].creg < reg->regs[reg->iseq].nregs ) break; + reg->iseq++; + } + if ( reg->iseq >= reg->nseqs ) { reg->iseq = -1; return -1; } // no more regions left + region1_t *creg = ®->regs[reg->iseq].regs[reg->regs[reg->iseq].creg]; + reg->start = creg->start; + reg->end = creg->end; + return 0; + } + + // reading from tabix + char *chr, *chr_end; + int ichr = 0, ifrom = 1, ito = 2, is_bed = 0, from, to; + if ( reg->tbx ) + { + ichr = reg->tbx->conf.sc-1; + ifrom = reg->tbx->conf.bc-1; + ito = reg->tbx->conf.ec-1; + if ( ito<0 ) ito = ifrom; + is_bed = reg->tbx->conf.preset==TBX_UCSC ? 1 : 0; + } + + int ret = 0; + while ( !ret ) + { + if ( reg->itr ) + { + // tabix index present, reading a chromosome block + ret = tbx_itr_next(reg->file, reg->tbx, reg->itr, ®->line); + if ( ret<0 ) { reg->iseq = -1; return -1; } + } + else + { + if ( reg->is_bin ) + { + // Waited for seek which never came. Reopen in text mode and stream + // through the regions, otherwise hts_getline would fail + hts_close(reg->file); + reg->file = hts_open(reg->fname, "r"); + if ( !reg->file ) + { + fprintf(stderr,"[%s:%d %s] Could not open file: %s\n", __FILE__,__LINE__,__FUNCTION__,reg->fname); + reg->file = NULL; + bcf_sr_regions_destroy(reg); + return -1; + } + reg->is_bin = 0; + } + + // tabix index absent, reading the whole file + ret = hts_getline(reg->file, KS_SEP_LINE, ®->line); + if ( ret<0 ) { reg->iseq = -1; return -1; } + } + ret = _regions_parse_line(reg->line.s, ichr,ifrom,ito, &chr,&chr_end,&from,&to); + if ( ret<0 ) + { + fprintf(stderr,"[%s:%d] Could not parse the file %s, using the columns %d,%d,%d\n", __FILE__,__LINE__,reg->fname,ichr+1,ifrom+1,ito+1); + return -1; + } + } + if ( is_bed ) from++; + + *chr_end = 0; + if ( khash_str2int_get(reg->seq_hash, chr, ®->iseq)<0 ) + { + fprintf(stderr,"Broken tabix index? The sequence \"%s\" not in dictionary [%s]\n", chr,reg->line.s); + exit(1); + } + *chr_end = '\t'; + + reg->start = from - 1; + reg->end = to - 1; + return 0; +} + +static int _regions_match_alleles(bcf_sr_regions_t *reg, int als_idx, bcf1_t *rec) +{ + int i = 0, max_len = 0; + if ( !reg->nals ) + { + char *ss = reg->line.s; + while ( inals = 1; + while ( *se && *se!='\t' ) + { + if ( *se==',' ) reg->nals++; + se++; + } + ks_resize(®->als_str, se-ss+1+reg->nals); + reg->als_str.l = 0; + hts_expand(char*,reg->nals,reg->mals,reg->als); + reg->nals = 0; + + se = ss; + while ( *(++se) ) + { + if ( *se=='\t' ) break; + if ( *se!=',' ) continue; + reg->als[reg->nals] = ®->als_str.s[reg->als_str.l]; + kputsn(ss,se-ss,®->als_str); + if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; + reg->als_str.l++; + reg->nals++; + ss = ++se; + } + reg->als[reg->nals] = ®->als_str.s[reg->als_str.l]; + kputsn(ss,se-ss,®->als_str); + if ( ®->als_str.s[reg->als_str.l] - reg->als[reg->nals] > max_len ) max_len = ®->als_str.s[reg->als_str.l] - reg->als[reg->nals]; + reg->nals++; + reg->als_type = max_len > 1 ? VCF_INDEL : VCF_SNP; // this is a simplified check, see vcf.c:bcf_set_variant_types + } + int type = bcf_get_variant_types(rec); + if ( reg->als_type & VCF_INDEL ) + return type & VCF_INDEL ? 1 : 0; + return !(type & VCF_INDEL) ? 1 : 0; +} + +int bcf_sr_regions_overlap(bcf_sr_regions_t *reg, const char *seq, int start, int end) +{ + int iseq; + if ( khash_str2int_get(reg->seq_hash, seq, &iseq)<0 ) return -1; // no such sequence + + if ( reg->prev_seq==-1 || iseq!=reg->prev_seq || reg->prev_start > start ) // new chromosome or after a seek + { + // flush regions left on previous chromosome + if ( reg->missed_reg_handler && reg->prev_seq!=-1 && reg->iseq!=-1 ) + bcf_sr_regions_flush(reg); + + bcf_sr_regions_seek(reg, seq); + reg->start = reg->end = -1; + } + if ( reg->prev_seq==iseq && reg->iseq!=iseq ) return -2; // no more regions on this chromosome + reg->prev_seq = reg->iseq; + reg->prev_start = start; + + while ( iseq==reg->iseq && reg->end < start ) + { + if ( bcf_sr_regions_next(reg) < 0 ) return -2; // no more regions left + if ( reg->iseq != iseq ) return -1; // does not overlap any regions + if ( reg->missed_reg_handler && reg->end < start ) reg->missed_reg_handler(reg, reg->missed_reg_data); + } + if ( reg->start <= end ) return 0; // region overlap + return -1; // no overlap +} + +void bcf_sr_regions_flush(bcf_sr_regions_t *reg) +{ + if ( !reg->missed_reg_handler || reg->prev_seq==-1 ) return; + while ( !bcf_sr_regions_next(reg) ) reg->missed_reg_handler(reg, reg->missed_reg_data); + return; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/tabix.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/tabix.1 Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,180 @@ +.TH tabix 1 "3 February 2015" "htslib-1.2.1" "Bioinformatics tools" +.SH NAME +.PP +bgzip \- Block compression/decompression utility +.PP +tabix \- Generic indexer for TAB-delimited genome position files +.\" +.\" Copyright (C) 2009-2011 Broad Institute. +.\" +.\" Author: Heng Li +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software is furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" +.SH SYNOPSIS +.PP +.B bgzip +.RB [ -cdhB ] +.RB [ -b +.IR virtualOffset ] +.RB [ -s +.IR size ] +.RI [ file ] +.PP +.B tabix +.RB [ -0lf ] +.RB [ -p +gff|bed|sam|vcf] +.RB [ -s +.IR seqCol ] +.RB [ -b +.IR begCol ] +.RB [ -e +.IR endCol ] +.RB [ -S +.IR lineSkip ] +.RB [ -c +.IR metaChar ] +.I in.tab.bgz +.RI [ "region1 " [ "region2 " [ ... "]]]" + +.SH DESCRIPTION +.PP +Tabix indexes a TAB-delimited genome position file +.I in.tab.bgz +and creates an index file ( +.I in.tab.bgz.tbi +or +.I in.tab.bgz.csi +) when +.I region +is absent from the command-line. The input data file must be position +sorted and compressed by +.B bgzip +which has a +.BR gzip (1) +like interface. After indexing, tabix is able to quickly retrieve data +lines overlapping +.I regions +specified in the format "chr:beginPos-endPos". Fast data retrieval also +works over network if URI is given as a file name and in this case the +index file will be downloaded if it is not present locally. + +.SH INDEXING OPTIONS +.TP 10 +.B -0, --zero-based +Specify that the position in the data file is 0-based (e.g. UCSC files) +rather than 1-based. +.TP +.BI "-b, --begin " INT +Column of start chromosomal position. [4] +.TP +.BI "-c, --comment " CHAR +Skip lines started with character CHAR. [#] +.TP +.BI "-C, --csi" +Skip lines started with character CHAR. [#] +.TP +.BI "-e, --end " INT +Column of end chromosomal position. The end column can be the same as the +start column. [5] +.TP +.B "-f, --force " +Force to overwrite the index file if it is present. +.TP +.BI "-m, --min-shift" INT +set minimal interval size for CSI indices to 2^INT [14] +.TP +.BI "-p, --preset " STR +Input format for indexing. Valid values are: gff, bed, sam, vcf. +This option should not be applied together with any of +.BR -s ", " -b ", " -e ", " -c " and " -0 ; +it is not used for data retrieval because this setting is stored in +the index file. [gff] +.TP +.BI "-s, --sequence " INT +Column of sequence name. Option +.BR -s ", " -b ", " -e ", " -S ", " -c " and " -0 +are all stored in the index file and thus not used in data retrieval. [1] +.TP +.BI "-S, --skip-lines " INT +Skip first INT lines in the data file. [0] + +.SH QUERYING AND OTHER OPTIONS +.TP +.B "-h, --print-header " +Print also the header/meta lines. +.TP +.B "-H, --only-header " +Print only the header/meta lines. +.TP +.B "-i, --file-info " +Print file format info. +.TP +.B "-l, --list-chroms " +List the sequence names stored in the index file. +.TP +.B "-r, --reheader " FILE +Replace the header with the content of FILE +.TP +.B "-R, --regions " FILE +Restrict to regions listed in the FILE. The FILE can be BED file (requires .bed, .bed.gz, .bed.bgz +file name extension) or a TAB-delimited file with CHROM, POS, and, optionally, +POS_TO columns, where positions are 1-based and inclusive. When this option is in use, the input +file may not be sorted. +regions. +.TP +.B "-T, --targets" FILE +Similar to +.B -R +but the entire input will be read sequentially and regions not listed in FILE will be skipped. +.PP +.SH EXAMPLE +(grep ^"#" in.gff; grep -v ^"#" in.gff | sort -k1,1 -k4,4n) | bgzip > sorted.gff.gz; + +tabix -p gff sorted.gff.gz; + +tabix sorted.gff.gz chr1:10,000,000-20,000,000; + +.SH NOTES +It is straightforward to achieve overlap queries using the standard +B-tree index (with or without binning) implemented in all SQL databases, +or the R-tree index in PostgreSQL and Oracle. But there are still many +reasons to use tabix. Firstly, tabix directly works with a lot of widely +used TAB-delimited formats such as GFF/GTF and BED. We do not need to +design database schema or specialized binary formats. Data do not need +to be duplicated in different formats, either. Secondly, tabix works on +compressed data files while most SQL databases do not. The GenCode +annotation GTF can be compressed down to 4%. Thirdly, tabix is +fast. The same indexing algorithm is known to work efficiently for an +alignment with a few billion short reads. SQL databases probably cannot +easily handle data at this scale. Last but not the least, tabix supports +remote data retrieval. One can put the data file and the index at an FTP +or HTTP server, and other users or even web services will be able to get +a slice without downloading the entire file. + +.SH AUTHOR +.PP +Tabix was written by Heng Li. The BGZF library was originally +implemented by Bob Handsaker and modified by Heng Li for remote file +access and in-memory caching. + +.SH SEE ALSO +.PP +.BR samtools (1) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/tabix.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/tabix.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,519 @@ +/* tabix.c -- Generic indexer for TAB-delimited genome position files. + + Copyright (C) 2009-2011 Broad Institute. + Copyright (C) 2010-2012, 2014 Genome Research Ltd. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include +#include +#include +#include "htslib/tbx.h" +#include "htslib/sam.h" +#include "htslib/vcf.h" +#include "htslib/kseq.h" +#include "htslib/bgzf.h" +#include "htslib/hts.h" +#include "htslib/regidx.h" + +typedef struct +{ + char *regions_fname, *targets_fname; + int print_header, header_only; +} +args_t; + +static void error(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + exit(EXIT_FAILURE); +} + +#define IS_GFF (1<<0) +#define IS_BED (1<<1) +#define IS_SAM (1<<2) +#define IS_VCF (1<<3) +#define IS_BCF (1<<4) +#define IS_BAM (1<<5) +#define IS_CRAM (1<<6) +#define IS_TXT (IS_GFF|IS_BED|IS_SAM|IS_VCF) + +int file_type(const char *fname) +{ + int l = strlen(fname); + int strcasecmp(const char *s1, const char *s2); + if (l>=7 && strcasecmp(fname+l-7, ".gff.gz") == 0) return IS_GFF; + else if (l>=7 && strcasecmp(fname+l-7, ".bed.gz") == 0) return IS_BED; + else if (l>=7 && strcasecmp(fname+l-7, ".sam.gz") == 0) return IS_SAM; + else if (l>=7 && strcasecmp(fname+l-7, ".vcf.gz") == 0) return IS_VCF; + else if (l>=4 && strcasecmp(fname+l-4, ".bcf") == 0) return IS_BCF; + else if (l>=4 && strcasecmp(fname+l-4, ".bam") == 0) return IS_BAM; + else if (l>=4 && strcasecmp(fname+l-5, ".cram") == 0) return IS_CRAM; + + htsFile *fp = hts_open(fname,"r"); + enum htsExactFormat format = fp->format.format; + hts_close(fp); + if ( format == bcf ) return IS_BCF; + if ( format == bam ) return IS_BAM; + if ( format == cram ) return IS_CRAM; + if ( format == vcf ) return IS_VCF; + + return 0; +} + +static char **parse_regions(char *regions_fname, char **argv, int argc, int *nregs) +{ + kstring_t str = {0,0,0}; + int iseq = 0, ireg = 0; + char **regs = NULL; + *nregs = argc; + + if ( regions_fname ) + { + // improve me: this is a too heavy machinery for parsing regions... + + regidx_t *idx = regidx_init(regions_fname, NULL, NULL, 0, NULL); + if ( !idx ) error("Could not read %s\n", regions_fname); + + (*nregs) += regidx_nregs(idx); + regs = (char**) malloc(sizeof(char*)*(*nregs)); + + int nseq; + char **seqs = regidx_seq_names(idx, &nseq); + for (iseq=0; iseqformat; + + regidx_t *reg_idx = NULL; + if ( args->targets_fname ) + { + reg_idx = regidx_init(args->targets_fname, NULL, NULL, 0, NULL); + if ( !reg_idx ) error("Could not read %s\n", args->targets_fname); + } + + if ( format == bcf ) + { + htsFile *out = hts_open("-","w"); + if ( !out ) error("Could not open stdout\n", fname); + hts_idx_t *idx = bcf_index_load(fname); + if ( !idx ) error("Could not load .csi index of %s\n", fname); + bcf_hdr_t *hdr = bcf_hdr_read(fp); + if ( !hdr ) error("Could not read the header: %s\n", fname); + if ( args->print_header ) + bcf_hdr_write(out,hdr); + if ( !args->header_only ) + { + bcf1_t *rec = bcf_init(); + for (i=0; i=0 ) + { + if ( reg_idx && !regidx_overlap(reg_idx, bcf_seqname(hdr,rec),rec->pos,rec->pos+rec->rlen-1, NULL) ) continue; + bcf_write(out,hdr,rec); + } + tbx_itr_destroy(itr); + } + bcf_destroy(rec); + } + if ( hts_close(out) ) error("hts_close returned non-zero status for stdout\n"); + bcf_hdr_destroy(hdr); + hts_idx_destroy(idx); + } + else if ( format==vcf || format==sam || format==unknown_format ) + { + tbx_t *tbx = tbx_index_load(fname); + if ( !tbx ) error("Could not load .tbi/.csi index of %s\n", fname); + kstring_t str = {0,0,0}; + if ( args->print_header ) + { + while ( hts_getline(fp, KS_SEP_LINE, &str) >= 0 ) + { + if ( !str.l || str.s[0]!=tbx->conf.meta_char ) break; + puts(str.s); + } + } + if ( !args->header_only ) + { + int nseq; + const char **seq = NULL; + if ( reg_idx ) seq = tbx_seqnames(tbx, &nseq); + for (i=0; i= 0) + { + if ( reg_idx && !regidx_overlap(reg_idx,seq[itr->curr_tid],itr->curr_beg,itr->curr_end, NULL) ) continue; + puts(str.s); + } + tbx_itr_destroy(itr); + } + free(seq); + } + free(str.s); + tbx_destroy(tbx); + } + else if ( format==bam ) + error("Please use \"samtools view\" for querying BAM files.\n"); + + if ( reg_idx ) regidx_destroy(reg_idx); + if ( hts_close(fp) ) error("hts_close returned non-zero status: %s\n", fname); + + for (i=0; iblock_length ) return -1; + + char *buffer = fp->uncompressed_block; + int skip_until = 0; + + // Skip the header: find out the position of the data block + if ( buffer[0]==conf->meta_char ) + { + skip_until = 1; + while (1) + { + if ( buffer[skip_until]=='\n' ) + { + skip_until++; + if ( skip_until>=fp->block_length ) + { + if ( bgzf_read_block(fp) != 0 || !fp->block_length ) error("FIXME: No body in the file: %s\n", fname); + skip_until = 0; + } + // The header has finished + if ( buffer[skip_until]!=conf->meta_char ) break; + } + skip_until++; + if ( skip_until>=fp->block_length ) + { + if (bgzf_read_block(fp) != 0 || !fp->block_length) error("FIXME: No body in the file: %s\n", fname); + skip_until = 0; + } + } + } + + // Output the new header + FILE *hdr = fopen(header,"r"); + if ( !hdr ) error("%s: %s", header,strerror(errno)); + int page_size = getpagesize(); + char *buf = valloc(page_size); + BGZF *bgzf_out = bgzf_dopen(fileno(stdout), "w"); + ssize_t nread; + while ( (nread=fread(buf,1,page_size-1,hdr))>0 ) + { + if ( nreaderrcode); + } + if ( fclose(hdr) ) error("close failed: %s\n", header); + + // Output all remainig data read with the header block + if ( fp->block_length - skip_until > 0 ) + { + if (bgzf_write(bgzf_out, buffer+skip_until, fp->block_length-skip_until) < 0) error("Error: %d\n",fp->errcode); + } + if (bgzf_flush(bgzf_out) < 0) error("Error: %d\n",bgzf_out->errcode); + + while (1) + { + nread = bgzf_raw_read(fp, buf, page_size); + if ( nread<=0 ) break; + + int count = bgzf_raw_write(bgzf_out, buf, nread); + if (count != nread) error("Write failed, wrote %d instead of %d bytes.\n", count,(int)nread); + } + if (bgzf_close(bgzf_out) < 0) error("Error: %d\n",bgzf_out->errcode); + if (bgzf_close(fp) < 0) error("Error: %d\n",fp->errcode); + } + else + error("todo: reheader BCF, BAM\n"); // BCF is difficult, records contain pointers to the header. + return 0; +} + +static int usage(void) +{ + fprintf(stderr, "\n"); + fprintf(stderr, "Version: %s\n", hts_version()); + fprintf(stderr, "Usage: tabix [OPTIONS] [FILE] [REGION [...]]\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "Indexing Options:\n"); + fprintf(stderr, " -0, --zero-based coordinates are zero-based\n"); + fprintf(stderr, " -b, --begin INT column number for region start [4]\n"); + fprintf(stderr, " -c, --comment CHAR skip comment lines starting with CHAR [null]\n"); + fprintf(stderr, " -C, --csi generate CSI index for VCF (default is TBI)\n"); + fprintf(stderr, " -e, --end INT column number for region end (if no end, set INT to -b) [5]\n"); + fprintf(stderr, " -f, --force overwrite existing index without asking\n"); + fprintf(stderr, " -m, --min-shift INT set minimal interval size for CSI indices to 2^INT [14]\n"); + fprintf(stderr, " -p, --preset STR gff, bed, sam, vcf\n"); + fprintf(stderr, " -s, --sequence INT column number for sequence names (suppressed by -p) [1]\n"); + fprintf(stderr, " -S, --skip-lines INT skip first INT lines [0]\n"); + fprintf(stderr, "\n"); + fprintf(stderr, "Querying and other options:\n"); + fprintf(stderr, " -h, --print-header print also the header lines\n"); + fprintf(stderr, " -H, --only-header print only the header lines\n"); + fprintf(stderr, " -l, --list-chroms list chromosome names\n"); + fprintf(stderr, " -r, --reheader FILE replace the header with the content of FILE\n"); + fprintf(stderr, " -R, --regions FILE restrict to regions listed in the file\n"); + fprintf(stderr, " -T, --targets FILE similar to -R but streams rather than index-jumps\n"); + fprintf(stderr, "\n"); + return 1; +} + +int main(int argc, char *argv[]) +{ + int c, min_shift = 0, is_force = 0, list_chroms = 0, do_csi = 0; + tbx_conf_t conf = tbx_conf_gff, *conf_ptr = NULL; + char *reheader = NULL; + args_t args; + memset(&args,0,sizeof(args_t)); + + static struct option loptions[] = + { + {"help",0,0,'h'}, + {"regions",1,0,'R'}, + {"targets",1,0,'T'}, + {"csi",0,0,'C'}, + {"zero-based",0,0,'0'}, + {"print-header",0,0,'h'}, + {"only-header",0,0,'H'}, + {"begin",1,0,'b'}, + {"comment",1,0,'c'}, + {"end",1,0,'e'}, + {"force",0,0,'f'}, + {"preset",1,0,'p'}, + {"sequence",1,0,'s'}, + {"skip-lines",1,0,'S'}, + {"list-chroms",0,0,'l'}, + {"reheader",1,0,'r'}, + {0,0,0,0} + }; + + while ((c = getopt_long(argc, argv, "hH?0b:c:e:fm:p:s:S:lr:CR:T:", loptions,NULL)) >= 0) + { + switch (c) + { + case 'R': args.regions_fname = optarg; break; + case 'T': args.targets_fname = optarg; break; + case 'C': do_csi = 1; break; + case 'r': reheader = optarg; break; + case 'h': args.print_header = 1; break; + case 'H': args.header_only = 1; break; + case 'l': list_chroms = 1; break; + case '0': conf.preset |= TBX_UCSC; break; + case 'b': conf.bc = atoi(optarg); break; + case 'e': conf.ec = atoi(optarg); break; + case 'c': conf.meta_char = *optarg; break; + case 'f': is_force = 1; break; + case 'm': min_shift = atoi(optarg); break; + case 'p': + if (strcmp(optarg, "gff") == 0) conf_ptr = &tbx_conf_gff; + else if (strcmp(optarg, "bed") == 0) conf_ptr = &tbx_conf_bed; + else if (strcmp(optarg, "sam") == 0) conf_ptr = &tbx_conf_sam; + else if (strcmp(optarg, "vcf") == 0) conf_ptr = &tbx_conf_vcf; + else if (strcmp(optarg, "bcf") == 0) ; // bcf is autodetected, preset is not needed + else if (strcmp(optarg, "bam") == 0) ; // same as bcf + else error("The preset string not recognised: '%s'\n", optarg); + break; + case 's': conf.sc = atoi(optarg); break; + case 'S': conf.line_skip = atoi(optarg); break; + default: return usage(); + } + } + + if ( optind==argc ) return usage(); + + if ( list_chroms ) + return query_chroms(argv[optind]); + + if ( argc > optind+1 || args.header_only || args.regions_fname || args.targets_fname ) + { + int nregs = 0; + char **regs = NULL; + if ( !args.header_only ) + regs = parse_regions(args.regions_fname, argv+optind+1, argc-optind-1, &nregs); + return query_regions(&args, argv[optind], regs, nregs); + } + + char *fname = argv[optind]; + int ftype = file_type(fname); + if ( !conf_ptr ) // no preset given + { + if ( ftype==IS_GFF ) conf_ptr = &tbx_conf_gff; + else if ( ftype==IS_BED ) conf_ptr = &tbx_conf_bed; + else if ( ftype==IS_SAM ) conf_ptr = &tbx_conf_sam; + else if ( ftype==IS_VCF ) + { + conf_ptr = &tbx_conf_vcf; + if ( !min_shift && do_csi ) min_shift = 14; + } + else if ( ftype==IS_BCF ) + { + if ( !min_shift ) min_shift = 14; + } + else if ( ftype==IS_BAM ) + { + if ( !min_shift ) min_shift = 14; + } + } + if ( do_csi ) + { + if ( !min_shift ) min_shift = 14; + min_shift *= do_csi; // positive for CSIv2, negative for CSIv1 + } + if ( min_shift!=0 && !do_csi ) do_csi = 1; + + if ( reheader ) + return reheader_file(fname, reheader, ftype, conf_ptr); + + if ( conf_ptr ) + conf = *conf_ptr; + + char *suffix = ".tbi"; + if ( do_csi ) suffix = ".csi"; + else if ( ftype==IS_BAM ) suffix = ".bai"; + else if ( ftype==IS_CRAM ) suffix = ".crai"; + + char *idx_fname = calloc(strlen(fname) + 5, 1); + strcat(strcpy(idx_fname, fname), suffix); + + struct stat stat_tbi, stat_file; + if ( !is_force && stat(idx_fname, &stat_tbi)==0 ) + { + // Before complaining about existing index, check if the VCF file isn't + // newer. This is a common source of errors, people tend not to notice + // that tabix failed + stat(fname, &stat_file); + if ( stat_file.st_mtime <= stat_tbi.st_mtime ) + error("[tabix] the index file exists. Please use '-f' to overwrite.\n"); + } + free(idx_fname); + + if ( ftype==IS_CRAM ) + { + if ( bam_index_build(fname, min_shift)!=0 ) error("bam_index_build failed: %s\n", fname); + return 0; + } + else if ( do_csi ) + { + if ( ftype==IS_BCF ) + { + if ( bcf_index_build(fname, min_shift)!=0 ) error("bcf_index_build failed: %s\n", fname); + return 0; + } + if ( ftype==IS_BAM ) + { + if ( bam_index_build(fname, min_shift)!=0 ) error("bam_index_build failed: %s\n", fname); + return 0; + } + if ( tbx_index_build(fname, min_shift, &conf)!=0 ) error("tbx_index_build failed: %s\n", fname); + return 0; + } + else // TBI index + { + if ( tbx_index_build(fname, min_shift, &conf) ) error("tbx_index_build failed: %s\n", fname); + return 0; + } + return 0; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/tbx.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/tbx.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,320 @@ +/* tbx.c -- tabix API functions. + + Copyright (C) 2009, 2010, 2012-2014 Genome Research Ltd. + Copyright (C) 2010-2012 Broad Institute. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include "htslib/tbx.h" +#include "htslib/bgzf.h" + +#include "htslib/khash.h" +KHASH_DECLARE(s2i, kh_cstr_t, int64_t) + +tbx_conf_t tbx_conf_gff = { 0, 1, 4, 5, '#', 0 }; +tbx_conf_t tbx_conf_bed = { TBX_UCSC, 1, 2, 3, '#', 0 }; +tbx_conf_t tbx_conf_psltbl = { TBX_UCSC, 15, 17, 18, '#', 0 }; +tbx_conf_t tbx_conf_sam = { TBX_SAM, 3, 4, 0, '@', 0 }; +tbx_conf_t tbx_conf_vcf = { TBX_VCF, 1, 2, 0, '#', 0 }; + +typedef struct { + int64_t beg, end; + char *ss, *se; + int tid; +} tbx_intv_t; + +static inline int get_tid(tbx_t *tbx, const char *ss, int is_add) +{ + khint_t k; + khash_t(s2i) *d; + if (tbx->dict == 0) tbx->dict = kh_init(s2i); + d = (khash_t(s2i)*)tbx->dict; + if (is_add) { + int absent; + k = kh_put(s2i, d, ss, &absent); + if (absent) { + kh_key(d, k) = strdup(ss); + kh_val(d, k) = kh_size(d) - 1; + } + } else k = kh_get(s2i, d, ss); + return k == kh_end(d)? -1 : kh_val(d, k); +} + +int tbx_name2id(tbx_t *tbx, const char *ss) +{ + return get_tid(tbx, ss, 0); +} + +int tbx_parse1(const tbx_conf_t *conf, int len, char *line, tbx_intv_t *intv) +{ + int i, b = 0, id = 1, ncols = 0; + char *s; + intv->ss = intv->se = 0; intv->beg = intv->end = -1; + for (i = 0; i <= len; ++i) { + if (line[i] == '\t' || line[i] == 0) { + ++ncols; + if (id == conf->sc) { + intv->ss = line + b; intv->se = line + i; + } else if (id == conf->bc) { + // here ->beg is 0-based. + intv->beg = intv->end = strtol(line + b, &s, 0); + if ( s==line+b ) return -1; // expected int + if (!(conf->preset&TBX_UCSC)) --intv->beg; + else ++intv->end; + if (intv->beg < 0) intv->beg = 0; + if (intv->end < 1) intv->end = 1; + } else { + if ((conf->preset&0xffff) == TBX_GENERIC) { + if (id == conf->ec) + { + intv->end = strtol(line + b, &s, 0); + if ( s==line+b ) return -1; // expected int + } + } else if ((conf->preset&0xffff) == TBX_SAM) { + if (id == 6) { // CIGAR + int l = 0, op; + char *t; + for (s = line + b; s < line + i;) { + long x = strtol(s, &t, 10); + op = toupper(*t); + if (op == 'M' || op == 'D' || op == 'N') l += x; + s = t + 1; + } + if (l == 0) l = 1; + intv->end = intv->beg + l; + } + } else if ((conf->preset&0xffff) == TBX_VCF) { + if (id == 4) { + if (b < i) intv->end = intv->beg + (i - b); + } else if (id == 8) { // look for "END=" + int c = line[i]; + line[i] = 0; + s = strstr(line + b, "END="); + if (s == line + b) s += 4; + else if (s) { + s = strstr(line + b, ";END="); + if (s) s += 5; + } + if (s) intv->end = strtol(s, &s, 0); + line[i] = c; + } + } + } + b = i + 1; + ++id; + } + } + if (intv->ss == 0 || intv->se == 0 || intv->beg < 0 || intv->end < 0) return -1; + return 0; +} + +static inline int get_intv(tbx_t *tbx, kstring_t *str, tbx_intv_t *intv, int is_add) +{ + if (tbx_parse1(&tbx->conf, str->l, str->s, intv) == 0) { + int c = *intv->se; + *intv->se = '\0'; intv->tid = get_tid(tbx, intv->ss, is_add); *intv->se = c; + return (intv->tid >= 0 && intv->beg >= 0 && intv->end >= 0)? 0 : -1; + } else { + char *type = NULL; + switch (tbx->conf.preset&0xffff) + { + case TBX_SAM: type = "TBX_SAM"; break; + case TBX_VCF: type = "TBX_VCF"; break; + case TBX_UCSC: type = "TBX_UCSC"; break; + default: type = "TBX_GENERIC"; break; + } + fprintf(stderr, "[E::%s] failed to parse %s, was wrong -p [type] used?\nThe offending line was: \"%s\"\n", __func__, type, str->s); + return -1; + } +} + +int tbx_readrec(BGZF *fp, void *tbxv, void *sv, int *tid, int *beg, int *end) +{ + tbx_t *tbx = (tbx_t *) tbxv; + kstring_t *s = (kstring_t *) sv; + int ret; + if ((ret = bgzf_getline(fp, '\n', s)) >= 0) { + tbx_intv_t intv; + get_intv(tbx, s, &intv, 0); + *tid = intv.tid; *beg = intv.beg; *end = intv.end; + } + return ret; +} + +void tbx_set_meta(tbx_t *tbx) +{ + int i, l = 0, l_nm; + uint32_t x[7]; + char **name; + uint8_t *meta; + khint_t k; + khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; + + memcpy(x, &tbx->conf, 24); + name = (char**)malloc(sizeof(char*) * kh_size(d)); + for (k = kh_begin(d), l = 0; k != kh_end(d); ++k) { + if (!kh_exist(d, k)) continue; + name[kh_val(d, k)] = (char*)kh_key(d, k); + l += strlen(kh_key(d, k)) + 1; // +1 to include '\0' + } + l_nm = x[6] = l; + meta = (uint8_t*)malloc(l_nm + 28); + if (ed_is_big()) + for (i = 0; i < 7; ++i) + x[i] = ed_swap_4(x[i]); + memcpy(meta, x, 28); + for (l = 28, i = 0; i < (int)kh_size(d); ++i) { + int x = strlen(name[i]) + 1; + memcpy(meta + l, name[i], x); + l += x; + } + free(name); + hts_idx_set_meta(tbx->idx, l, meta, 0); +} + +tbx_t *tbx_index(BGZF *fp, int min_shift, const tbx_conf_t *conf) +{ + tbx_t *tbx; + kstring_t str; + int ret, first = 0, n_lvls, fmt; + int64_t lineno = 0; + uint64_t last_off = 0; + tbx_intv_t intv; + + str.s = 0; str.l = str.m = 0; + tbx = (tbx_t*)calloc(1, sizeof(tbx_t)); + tbx->conf = *conf; + if (min_shift > 0) n_lvls = (TBX_MAX_SHIFT - min_shift + 2) / 3, fmt = HTS_FMT_CSI; + else min_shift = 14, n_lvls = 5, fmt = HTS_FMT_TBI; + while ((ret = bgzf_getline(fp, '\n', &str)) >= 0) { + ++lineno; + if (lineno <= tbx->conf.line_skip || str.s[0] == tbx->conf.meta_char) { + last_off = bgzf_tell(fp); + continue; + } + if (first == 0) { + tbx->idx = hts_idx_init(0, fmt, last_off, min_shift, n_lvls); + first = 1; + } + get_intv(tbx, &str, &intv, 1); + ret = hts_idx_push(tbx->idx, intv.tid, intv.beg, intv.end, bgzf_tell(fp), 1); + if (ret < 0) + { + free(str.s); + tbx_destroy(tbx); + return NULL; + } + } + if ( !tbx->idx ) tbx->idx = hts_idx_init(0, fmt, last_off, min_shift, n_lvls); // empty file + if ( !tbx->dict ) tbx->dict = kh_init(s2i); + hts_idx_finish(tbx->idx, bgzf_tell(fp)); + tbx_set_meta(tbx); + free(str.s); + return tbx; +} + +void tbx_destroy(tbx_t *tbx) +{ + khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; + if (d != NULL) + { + khint_t k; + for (k = kh_begin(d); k != kh_end(d); ++k) + if (kh_exist(d, k)) free((char*)kh_key(d, k)); + } + hts_idx_destroy(tbx->idx); + kh_destroy(s2i, d); + free(tbx); +} + +int tbx_index_build(const char *fn, int min_shift, const tbx_conf_t *conf) +{ + tbx_t *tbx; + BGZF *fp; + if ( bgzf_is_bgzf(fn)!=1 ) { fprintf(stderr,"Not a BGZF file: %s\n", fn); return -1; } + if ((fp = bgzf_open(fn, "r")) == 0) return -1; + if ( !fp->is_compressed ) { bgzf_close(fp); return -1; } + tbx = tbx_index(fp, min_shift, conf); + bgzf_close(fp); + if ( !tbx ) return -1; + hts_idx_save(tbx->idx, fn, min_shift > 0? HTS_FMT_CSI : HTS_FMT_TBI); + tbx_destroy(tbx); + return 0; +} + +tbx_t *tbx_index_load(const char *fn) +{ + tbx_t *tbx; + uint8_t *meta; + char *nm, *p; + uint32_t x[7]; + int l_meta, l_nm; + tbx = (tbx_t*)calloc(1, sizeof(tbx_t)); + tbx->idx = hts_idx_load(fn, HTS_FMT_TBI); + if ( !tbx->idx ) + { + free(tbx); + return NULL; + } + meta = hts_idx_get_meta(tbx->idx, &l_meta); + if ( !meta ) + { + free(tbx); + return NULL; + } + memcpy(x, meta, 28); + memcpy(&tbx->conf, x, 24); + p = nm = (char*)meta + 28; + l_nm = x[6]; + for (; p - nm < l_nm; p += strlen(p) + 1) get_tid(tbx, p, 1); + return tbx; +} + +const char **tbx_seqnames(tbx_t *tbx, int *n) +{ + khash_t(s2i) *d = (khash_t(s2i)*)tbx->dict; + if (d == NULL) + { + *n = 0; + return NULL; + } + int tid, m = kh_size(d); + const char **names = (const char**) calloc(m,sizeof(const char*)); + khint_t k; + for (k=kh_begin(d); kSheila +GCTAGCTCAGAAAAAAAAAA diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/auxf.fa.fai --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/auxf.fa.fai Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1 @@ +Sheila 20 8 20 21 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1#bounds.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1#bounds.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,4 @@ +@SQ SN:c1 LN:10 +s0 0 c1 1 0 10M * 0 0 AACCGCGGTT ********** +s1 0 c1 2 0 10M * 0 0 ACCGCGGTTC ********** +s2 0 c1 3 0 10M * 0 0 CCGCGGTTCG ********** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1#clip.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1#clip.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,8 @@ +@SQ SN:c1 LN:10 +s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT ********** +s0A 0 c1 1 0 3M4N3M * 0 0 AACGTT ****** +s0b 0 c1 2 0 1S8M1S * 0 0 AACCGCGGTT ********** +s0B 0 c1 2 0 1H8M1H * 0 0 ACCGCGGT ******** +s0c 0 c1 3 0 2S6M2S * 0 0 AACCGCGGTT ********** +s0c 0 c1 3 0 2S3M2I3M2S * 0 0 AACCGNNCGGTT ************ +s0C 0 c1 3 0 2H6M2H * 0 0 CCGCGG ****** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1#pad1.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1#pad1.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +@SQ SN:c1 LN:10 +s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s0b 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s0c 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s1 0 c1 1 0 5M6I5M * 0 0 AACCGGTTAACCGGTT * +s2 0 c1 1 0 5M1P4I1P5M * 0 0 AACCGTTAACGGTT * +s3 0 c1 1 0 5M3I3P5M * 0 0 AACCGGTTCGGTT * +s4 0 c1 1 0 5M3P3I5M * 0 0 AACCGAACCGGTT * +s5 0 c1 1 0 4M1D2P2I2P1D4M * 0 0 AACCTAGGTT * +s6 0 c1 1 0 2M3D6I3D2M * 0 0 AAGTTAACTT * diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1#pad2.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1#pad2.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,14 @@ +@SQ SN:c1 LN:50 +s0a 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s0b 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s0c 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s0d 0 c1 1 0 10M * 0 0 AACCGCGGTT * +s1 0 c1 1 0 5M6I5M * 0 0 AACCGGTTAACCGGTT * +s2 0 c1 1 0 5M1P4I1P5M * 0 0 AACCGTTAACGGTT * +s3 0 c1 1 0 5M3I3P5M * 0 0 AACCGGTTCGGTT * +s4 0 c1 1 0 5M3P3I5M * 0 0 AACCGAACCGGTT * +s5 0 c1 1 0 4M1D2P2I2P1D4M * 0 0 AACCTAGGTT * +s6 0 c1 1 0 2M3D6I3D2M * 0 0 AAGTTAACTT * +s7 0 c1 1 0 4M2D4M * 0 0 AACCGGTT * +s8 0 c1 1 0 5D2P2I2P5D * 0 0 TA * +s9 0 c1 5 0 1M2P2I2P * 0 0 GTA * diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1#pad3.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1#pad3.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,14 @@ +@SQ SN:c1 LN:16 +@RG ID:p.sam SM:unknown LB:p.sam +s0a 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam +s0b 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam +s0c 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam +s0d 0 c1 6 0 5I6P5M * 0 0 AACCGCGGTT * RG:Z:p.sam +s1 0 c1 6 0 11I5M * 0 0 AACCGGTTAACCGGTT * RG:Z:p.sam +s2 0 c1 6 0 5I1P4I1P5M * 0 0 AACCGTTAACGGTT * RG:Z:p.sam +s3 0 c1 6 0 8I3P5M * 0 0 AACCGGTTCGGTT * RG:Z:p.sam +s4 0 c1 6 0 5I3P3I5M * 0 0 AACCGAACCGGTT * RG:Z:p.sam +s5 0 c1 6 0 4I3P2I2P1D4M * 0 0 AACCTAGGTT * RG:Z:p.sam +s6 0 c1 6 0 2I3P6I3D2M * 0 0 AAGTTAACTT * RG:Z:p.sam +s7 0 c1 6 0 4I7P1D4M * 0 0 AACCGGTT * RG:Z:p.sam +s8 0 c1 6 0 7P2I2P * 0 0 TA !! RG:Z:p.sam diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1.fa --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1.fa Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,2 @@ +>c1 +AACCGCGGTT diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/c1.fa.fai --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/c1.fa.fai Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1 @@ +c1 10 4 10 11 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#1.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#1.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,2 @@ +@SQ SN:CHROMOSOME_I LN:15072423 +SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 AS:i:-18 XS:i:-18 YT:Z:UU diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#2.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#2.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +@SQ SN:CHROMOSOME_I LN:15072423 +SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +SRR065390.921023 16 CHROMOSOME_I 3 12 100M * 0 0 CTAAGCCTAAATCTAAGCCTAACCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################################???88:;98768700000<>:BBA?BBAB?BBBBBBBB>B>BB::;?:00000 XG:i:0 XM:i:3 XN:i:0 XO:i:0 AS:i:-6 XS:i:-13 YT:Z:UU diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#5.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#5.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,11 @@ +@SQ SN:CHROMOSOME_I LN:15072423 +@SQ SN:CHROMOSOME_II LN:15279345 +@SQ SN:CHROMOSOME_III LN:13783700 +@SQ SN:CHROMOSOME_IV LN:17493793 +@SQ SN:CHROMOSOME_V LN:20924149 +I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +II.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +III 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +IV 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +V 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +VI 2048 CHROMOSOME_I 2 1 27M100000D73M * 0 0 ACTAAGCCTAAGCCTAAGCCTAAGCCAATTATCGATTTCTGAAAAAATTATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTTA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#5b.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#5b.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,12 @@ +@SQ SN:CHROMOSOME_I LN:15072423 +@SQ SN:CHROMOSOME_II LN:15279345 +@SQ SN:CHROMOSOME_III LN:13783700 +@SQ SN:CHROMOSOME_IV LN:17493793 +@SQ SN:CHROMOSOME_V LN:20924149 +I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +II.14978392 16 CHROMOSOME_II 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +III 16 CHROMOSOME_III 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +IV 16 CHROMOSOME_IV 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +V 16 CHROMOSOME_V 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 XS:i:-18 AS:i:-18 YT:Z:UU +VI 0 CHROMOSOME_V 10 1 7S20M1D23M10I30M10S * 0 0 AGCCTAAGCCTAAGCCTAAGCCTAAGCTAAGCCTAAGCCTAAGCCTAAGCTTTTTTTTTTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA * +VI 256 CHROMOSOME_V 10 1 7S20M1D23M10I30M10S * 0 0 * * diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#large_seq.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#large_seq.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +@SQ SN:CHROMOSOME_I LN:15072423 +S1 0 CHROMOSOME_I 1 255 36M4I33M2D18M4I13M3I5M2I7M1I8M4I30M1D20M5D25M4D63M1D31M2I13M4I83M3I36M4D77M2D8M2D5M2D14M2I5M4D1M1D27M5I3M4D47M2D5M4D7M1I70M3D42M4I59M5I2M2I13M4D3M5D6M4I5M4I58M1I10M3I57M1I15M5D57M4I10M1I19M4D9M3I27M4D11M3I9M4I21M4I62M4I51M1I8M3D23M1I5M4I24M2D1M5I4M4D14M3D63M5I1M2I20M4D10M5D7M2D22M4I22M2I9M3I46M5I1M4D12M5D8M3D17M5D149M1D20M1D61M1I14M2I38M4D9M4I62M1I8M1I55M3D62M4I8M4I50M5D19M3D11M2I53M4D7M2D32M2D57M3I48M2D11M4D15M1I23M2D16M5I7M1I3M1D27M5D4M1I18M1D79M5D1M5D8M5D20M1D22M5D24M2D30M5D43M1I17M1I22M2D18M3D1M4I15M1I4M3D1M3I22M5D62M4D19M3I3M5I7M2I110M5D7M2I9M4I28M2D3M4I17M1D1M5D103M5D45M3I32M3I37M1D20M1D22M5I6M3D101M1D20M3D6M1D15M5I14M5D118M1I3M1D3M5I37M4D10M4D10M1D10M2I48M1D2M3D7M4I60M1I38M4I16M3I20M4I30M2D3M2D15M3D35M1D7M1D1M1I44M4D6M5I1M2D2M3I83M3I3M1D18M2I1M5D65M2I13M3I25M1I10M2I23M2D12M1D10M1I1M4D8M3D27M5I9M1D11M3I69M4D115M1D28M5D38M4I5M5D21M4I11M5D43M4I70M5I38M1I27M2D8M3I2M2I10M1D94M5D17M2D9M4I21M1D2M5I8M2D32M4D52M1I37M3D7M5I64M1I31M2I21M2I11M4I46M4I5M5D22M1D55M4I18M3D102M5I72M4I4M1I7M5D19M1D40M2D101M3I2M1I36M2I26M4D5M2I29M5I13M5I20M3I9M2I8M2I143M1I10M4D25M5I41M1I9M5D12M2I8M4I11M2D66M3I1M5D77M5D4M2I49M4I15M3D11M4D17M5I143M2I29M4I4M3I4M3I19M3I44M5D108M3D12M2D19M1I13M3I18M5I2M1I16M1D4M3I318M4I39M4I21M1I24M3D32M2D70M5D11M5D34M4D46M4D3M3D32M3D54M2I8M1D65M5I53M5I27M3D6M1I34M5I34M5I37M4D1M5D10M5I68M1I8M4I6M1I14M5I6M5I26M3D50M2D2M5D22M4I34M1D24M1I28M4D67M2D43M4D17M4I57M3D35M5I66M1D45M2D27M3D28M3I32M4D24M1I16M2I3M3D6M4I33M4I12M2I19M2D5M1D119M3I64M5D29M3I87M2D4M4D42M4D3M4I76M2D19M2I51M2D18M1D2M4D21M4D11M1I6M4D135M1D10M1D120M1I102M4D37M5I8M2I51M4D50M2D14M2D32M5I2M5I36M4D59M3I87M1I21M2D14M1D27M5I3M5D4M4I90M1I37M5I19M3D12M1I21M5D51M4D3M4I8M4D28M4I76M2D5M3I13M4I214M4I18M1I22M2D12M2D123M5D9M1I9M2I17M1I7M5I70M2I34M1D13M5I2M2I69M4D129M5I64M2D15M2D9M1I56M5D73M1D45M5I55M3I26M2I24M4I31M2D29M5I2M2D80M3I28M1D19M4I1M5D4M3D118M3D36M2D32M3I1M2D35M2D27M1I32M2I7M3I51M1I51M3D21M4I4M5I40M1I27M4I55M1I16M4D50M1D107M5D96M1I4M1I68M4I4M4D4M1D78M1I5M2I73M1D7M5I21M4I8M5D71M5D19M5D20M2D7M5D27M1D35M5D38M4I83M1D33M4D54M4I19M1I3M2I11M4I4M1D10M5I24M3D1M2D12M4D8M5D1M2I22M2D39M2D101M4I4M4I26M5I13M3I26M4D33M5D10M2I13M3D19M3D18M2I27M2D3M2I2M4D33M3D55M4I6M3I129M1I14M3D41M4I3M5I81M5D9M5D12M2I5M3D1M5D40M5D2M1D21M1D4M2I2M4I12M4I22M3I105M4I1M5I14M3D19M5I6M4I13M2I10M2D11M4I34M2I7M2D32M3I13M5D23M4D8M3D59M5I11M3I53M1D19M2I122M2D15M2D108M5I1M4D14M5I11M4D12M1I19M2I1M3D7M3D4M2I1M5I24M2I15M1I36M3I16M3D25M5I3M4I22M5D6M4I22M3I77M5I43M1D13M3D30M5I19M4I29M2I86M2I23M4I9M3I7M1I14M3I3M4I39M1I77M2D5M4D58M1D1M1D4M5D57M5I22M3I84M1D19M3I14M5D21M4I10M5D17M1I4M4I63M2I23M4I23M4D32M5D40M5I29M4I126M3I2M1D105M4I49M1I32M4D29M5D31M1D15M5I6M5I21M4I56M2I6M3D11M4D3M1D28M4D78M1D5M1D20M3I67M1D2M2I7M5I2M4D14M5D4M3D27M2I18M5D20M5D58M3D19M4D36M5I133M3I75M4I39M3D28M3D158M4D8M2I12M5I68M5I18M2D17M4I52M1D90M5I17M5D47M4D3M2I15M3I4M1D17M4D1M3D23M1I84M5I1M4D10M1I11M3D78M2I3M4I2M5D13M5D21M2D24M1I89M4I2M3D59M4D22M5I14M4I16M2I53M1I13M1I81M4D11M3I29M2I170M2I43M5I116M3I1M5D1M2I20M5I51M1I17M3D2M4I5M3I17M5D36M5D21M3D4M2I85M2I18M2D42M3I48M3I7M4I11M5I17M4I3M3D45M1I93M1D38M5I8M2D41M3I56M2I35M5D59M5D36M3D9M5D23M4I12M4I14M1D38M5D6M1D2M1D2M3D126M1I9M2D31M5I81M4I7M5D19M5I25M3D222M2D29M2D105M1D39M1I4M2D7M2D67M3D32M5D3M3D36M1I50M2I117M1I75M1D24M2I80M4I48M1I11M4D4M2D55M4I21M5I29M1D51M3D16M5I43M3I17M3I6M4D99M3D17M3D22M3I18M5I35M3I28M1I23M4D9M1I46M3I16M4D18M3I32M3I16M1I60M4D76M3D1M3D9M2D28M2D25M1D8M1D1M5D56M3I8M4I33M1D15M2I83M5D60M5I99M4D90M4I69M4D41M1I4M4I1M3I50M3I38M2D80M2D56M4D33M3I8M2I11M5I15M3I42M1I135M2D29M1I34M3I13M1I74M1I10M5I48M4I8M2I74M4D6M3I43M2D3M4D99M2D20M3D35M5I12M1I4M2D25M5I68M3D57M3I24M5D8M5D10M3D84M5I170M3D31M1I9M3I7M2I47M1D31M4D7M4I13M2D7M4I7M2I58M1I81M3D18M5I6M5D68M4I18M1D25M2D1M2I7M4I5M1I14M3I75M2D33M5D17M1I19M2I3M5I5M5D53M3D1M3I33M1D27M5I33M1D93M5D1M3D167M4D38M2I33M3D119M4I43M3I31M3I7M1I77M5I5M2D5M5I24M4D10M4I88M5D47M4I29M4D63M1D11M2I41M3D97M3D13M4D48M3D55M4I3M5D32M1D53M5D13M1D7M2D23M4D131M4D17M2D18M4D4M2D6M1I71M1I29M5I12M3D48M1D45M4I41M1I84M5I84M2D17M5D87M3D88M2D14M5I52M5D62M4I39M2I44M2I26M4I15M4D21M1I8M3I21M4I48M4D34M4D29M4I17M1D18M5I91M1I35M4D4M2I10M4D26M2I4M1I27M4I14M2D11M3I35M5I64M2D86M1I119M5I23M4D27M4I70M5I8M1D12M3D17M3I9M1D77M3D29M1D35M1I37M3D7M4D35M2I13M3I9M2I112M1D19M4I20M4D81M5I129M1D3M4D48M4D31M4I73M5D18M4I8M2D15M5I18M4I33M5I112M3D13M2I26M5I21M3D1M1I63M2D1M3I22M5D5M4I18M2I10M3D7M1I34M3I1M4I2M5D56M3I48M4D13M3I26M5D24M5I7M5I13M4D16M5I44M1D60M1I17M2D18M5I4M2I1M4I4M4D40M5D81M2D19M3D4M1I19M4D10M4I9M5I7M2D51M2D13M4I19M1D57M2D58M3D84M3I2M1I24M1D11M1D3M3I47M2I9M2D5M2D65M1I25M2I35M3I45M3D1M5I13M1I34M3D5M5D2M4D30M2D21M3I6M1I69M4D69M1D9M3I61M4I3M4D16M4D47M3D28M3D14M2I85M2I33M4I9M4I48M4D78M5I73M2I5M1D60M3I31M4D1M5I24M2I32M4I14M2I19M3I5M2D22M2D49M3D5M3D11M2D43M4D4M1D10M1I14M3I3M5I19M5I63M3I4M3D32M4I1M5D18M1D17M4D41M3D25M1I20M3D43M2I21M2I19M3D2M3D17M4D30M5D30M4D9M4D6M3D51M4I58M2D23M2D4M1I19M1I12M2D20M2I1M3I42M2D82M3I3M4D33M2I37M5D65M1I82M4D6M1D54M5D11M5D34M4I7M3I17M5I33M5D38M1I31M5D26M1I16M4D20M2I13M5I23M1I11M1I10M4I4M3I7M3I26M3D30M5D3M4I35M3D1M5D14M4D24M3I23M4I7M1I32M1D29M3I14M1D107M5I6M5I6M4D3M1I41M1I20M2I32M2D1M1I7M1D3M4I7M3D140M3D48M2I4M3I117M2I18M3D4M4D13M1I11M4I27M1I49M1I52M1I5M3I10M4D116M5I7M2D73M1I30M3I27M1D1M1D14M2I40M4I16M4I76M2I43M3D30M1D10M1D43M1D24M3D1M3I16M5D25M4I34M3D50M4D37M5D12M1D38M1D30M4I23M1D14M2I29M1D17M3D3M5I16M1D29M3I3M3D48M3I141M4I32M4D13M5I23M1D26M1I76M4D50M2I11M5I65M4I2M1I37M3D54M4D34M1I17M5I2M1I5M4D8M2I43M1I147M1D8M5I53M2I59M1I14M5I25M5D28M2I56M5D36M2I5M1I27M3D1M2D14M2D37M2D1M1I11M4D55M4I105M5I3M1I9M5I45M4I49M3D75M2D31M5D1M3D3M3I23M4I65M3I19M5D44M5D68M4D11M4D9M5D28M1I20M4I2M3D118M3I10M4D2M5I40M2I32M1D41M1D9M3I30M4I8M2D7M3I9M5D21M1I34M1I22M1D97M3I44M5D13M4I17M2D46M1I99M3D44M3D16M2I20M4I62M4I9M5D32M2D3M1I29M4I13M3D7M1D11M2I40M1I80M2D47M2D21M2I25M4I21M2I11M5D36M4D112M4I42M2D4M5D67M2I43M5D33M4I27M4I25M1I81M1D10M2D6M4I12M3D6M5D11M2I12M4D41M4D21M3D36M1I32M4I58M4I26M2I12M3I6M5D1M3I6M3D21M1I45M1D20M3I18M4D87M2D59M3D3M2D59M5I60M3I17M3I8M5D2M2D13M1I15M1I6M2D55M3D4M2I86M1D10M2D24M4D6M5I51M3I5M3I6M3I27M1D2M2D39M2I55M4D17M4D98M1I63M3I6M2D114M2I23M2D22M2I36M2D24M5I32M3D23M5D5M4D48M1I26M4I9M1D18M3D1M1D7M4D1M3D14M5I34M1D37M1I68M5D30M4I48M5D108M5I37M5I24M5I46M3I19M1I10M4D118M1I3M4I30M2I35M4I8M2I29M5I26M4D11M5D9M5D21M3I38M3I26M1D5M1I52M2I9M3D4M1I31M4I1M5D24M1D3M1I98M2D30M4D8M4I7M5I76M3D19M4I5M3I47M1I26M4I10M5D41M1D79M1D7M3I14M5D53M5D50M5D73M3I86M1D20M3D69M1I33M1I17M4D38M3D19M5D55M3I27M2D6M3I62M3D8M3D33M2I15M5D2M4D34M4D50M2D68M1D64M5I20M5I29M5D71M3I8M1I40M3I9M3I12M2D15M1I2M2I39M4D36M3D38M1I2M5I30M2D26M5D47M5D19M5D13M3I1M4I3M1I10M2I29M4I78M5I37M3I15M5I6M3D83M5D16M5D6M2D9M4I32M4D13M5D22M2I15M1I56M3I23M2I28M3I71M3I67M5I8M3D7M1D16M4D4M1I15M2D6M1I19M4D1M1D37M2D78M4D23M2D14M2D81M1D11M4D12M3D31M3D70M1D8M5D18M5D6M2I27M4I11M5D22M4D78M3I3M1I162M1D94M4D65M1D2M1D28M3I33M1D47M4I125M5I19M5I106M1I10M5D1M5I61M1D37M2D30M5I101M3D9M4D7M4D59M2I31M4D73M1I13M5D36M1I55M2D31M1I34M3D10M5D53M1D27M1D10M3D19M3I58M5D47M2I54M5I27M3D55M1I46M3D53M3D40M5D5M4I87M1D30M2I21M2D18M4I85M5I3M4I8M3D33M2I38M3D6M2I10M1D28M4D61M2D35M2I24M2D13M1D1M4D37M1D39M3D28M4D1M3I32M1D48M2D132M5I17M1D12M1I47M3D46M1D22M1D26M4D38M5I70M5I8M3D108M4D83M1I35M2D7M3I27M4I17M4D16M2D2M5D53M4D8M3D29M4D20M4D42M5I29M1I19M1D19M3D43M4I26M1I10M5D23M5I9M3I22M3I7M5I49M3I9M4D20M1I73M5D25M2I18M2I1M4D2M1I9M1I55M3D45M5D2M2D17M4I53M4I7M5D19M5D9M2I13M2D1M4I42M2I11M4D4M3I23M3I28M3I22M4D2M1I6M3I47M4D15M3I7M2D46M3D81M4D102M4D15M2D11M2D47M4I65M4I54M5D1M3I37M5I21M2D44M1I69M5I10M5D11M1I115M1I5M4I2M2I10M4I19M4I74M3D32M5I22M3D27M5D35M2I14M3D54M3D14M1I9M2I22M3D20M1D12M4D45M4D1M3D77M1I5M1I53M4I18M1D5M5D18M3D30M1I6M4I16M5D9M3D16M5D100M3I79M2D81M3I56M3D2M5D25M5D26M1D46M2I6M2I9M4D10M5I53M2D2M2D92M3D6M3D45M4I28M3I19M3D9M3I10M5I29M3I51M1D12M5I75M5I22M3I21M1D8M1I7M2D2M1I25M3I19M5D29M4I2M4D25M1D2M3D9M5I26M1I65M3I28M3D62M3I51M2I2M4I32M3D10M5D73M5I3M1D7M1I4M2I56M2D93M5I1M5I28M2D22M1D6M2D28M3D23M5I11M4D100M5I90M2D43M1D57M2I17M2I13M3D71M5D9M5I14M4D120M4D15M5I69M5I1M3I53M4I22M3D7M3D61M5I39M1D38M5D80M3I24M1D6M1I10M1I41M5D50M1I30M1D4M4I126M5I4M4D68M1I87M2D24M1D1M4I70M5D13M2D43M2I1M5D79M2I65M3D6M5D108M4I10M3D44M1I23M5I115M2D10M3I6M5I7M2D57M2I5M3I25M3I79M5I23M3D17M1D28M5D58M5D39M4I12M2I72M2I44M1I39M4D36M3D32M2D21M1I96M3D82M2I7M4D102M2I30M2I46M1D14M4I21M1I28M2D44M2I23M4I164M4I10M1I7M5D12M2D115M4D50M3I1M1D22M3I52M1D74M4D8M5I29M5D83M2D37M4I5M2D30M3I91M2I66M4D14M2I30M1D53M4D14M1D47M5D60M1D19M4D2M2D2M4D42M5I29M4D5M3D15M3D20M2I7M5I3M2D57M2I35M5D3M4D20M3D1M5D71M5I12M3I8M1D29M5D14M4D1M4D6M5I1M1I70M1I47M5I52M1D5M2I54M1I177M4I75M3I2M2I3M2D23M1I17M2D57M1D25M1D42M3D29M5I33M1I17M2I42M5I27M5I15M5I12M5D2M5D1M4I81M5I8M4D2M3I16M1D60M5D41M2D47M5I22M5D114M3I32M3I32M2I37M3I13M2I25M5I21M4I13M5D16M1I58M4I67M5D2M2I38M1D12M3I24M4D11M2D1M2D9M1I9M1D31M2I13M4I72M2I4M4D14M3I49M2I10M2D62M1I152M1D13M2D7M2I102M4I23M5I32M5I1M1I26M3D21M1D7M2D36M1D24M4D1M4D46M2D9M1D3M5I94M1D5M2D2M4D1M1D6M3I5M4D24M3I5M4D81M1I11M2I49M3D32M2I26M2D11M4I86M2D32M4D26M1D5M2I19M3D10M3I46M5I101M1I21M2I28M4D17M3I34M5I3M1I7M4D55M3D4M1I37M3I3M3I97M1I44M5I48M2D63M5I61M4I7M1D40M4D2M3D48M5I55M1I6M4I2M4I1M3I22M1I3M2I43M2I6M5D26M1I12M1D6M4D2M4D57M1D30M1D134M4I22M4I153M1I10M4I3M4D36M5D6M2D2M4I8M4D5M2I17M5I13M2D27M4D21M4D25M1D1M2D17M3D52M1D16M2I12M4D121M1I2M1I68M3I19M4I48M4D24M4I8M2D33M2I9M2I90M1I1M5I22M5D1M2I25M2I55M2I15M2D43M4I57M3I14M4D23M2I17M5I20M4I2M4I32M2I37M3I7M5I11M1D24M1I15M2I30M2D27M2D57M2I2M5D29M3D90M2I2M2I48M5I17M3I41M1D3M3I17M1I83M1D13M2I4M2D22M4I136M2D6M3D11M3I38M5I2M2D114M1I13M1D96M2D13M4I2M1I6M2I2M4D75M2I21M5I2M1I12M2D13M2I8M4I4M1D10M5I5M4I16M5D50M4I15M3D18M3I39M5I85M2I49M5I56M2I38M5I126M1D64M3I33M2D1M3I11M5I6M3I60M3D41M4I6M4D10M5D20M2D19M3I61M2D8M4I3M1I56M3D37M3I69M1I3M2D26M3D80M3I20M4D69M3D71M1D24M2I78M2D95M5D12M1D14M3D30M5I14M1D16M3I43M5D18M5D12M4D15M1I27M3I2M3D120M3D77M5I145M4D9M1D22M3D3M5D3M2D18M1D55M4I27M2I22M1I51M3I53M1I37M2D17M5D57M2D27M1D17M2I50M3D53M1D69M4D9M4I135M2I4M3I39M2I15M1D40M1D16M1I41M3D38M3I21M3I16M2I3M4D1M1I45M2D12M3D59M5I43M4I2M1D26M2I1M5D11M4D83M3D15M4D5M4I60M4I2M2I15M3I122M1D4M2I28M2D12M1I44M4D11M1I54M4D5M2I16M1I33M3D17M1I24M1I33M3I58M2D17M4D13M4I6M5D26M5D17M5I8M2I7M4I24M4D44M1D94M1D5M3D32M4I4M2D19M5D63M1D70M1D13M2I67M1I21M5I3M4I35M5I12M1D30M3I29M5I72M4I33M3I43M1D16M4D3M3D7M3I54M3D9M5D46M5D68M3D77M1D29M4D33M3D7M5D46M4D24M5I16M2I5M5D13M3I36M5D2M2D21M3I7M2D11M3I59M2D45M4D29M5D32M1D7M2I44M2I94M3I4M1I20M1D27M5D19M1D7M3I14M3I11M1I5M2I17M3D44M3I28M4I3M2I64M2D28M3D15M5D61M2D74M2I50M4I9M4I57M1D7M5D17M2D4M5D13M2I9M1D29M3D26M2I7M4I5M2I21M1I60M4I123M1D37M2D6M4D27M3I23M1I19M2I10M2I7M3I36M5D50M4I3M5I190M2D74M3I48M1D5M3I29M3D75M3I11M3D77M1D43M2I5M5I17M1D52M4D28M4I14M5D4M5I14M3I16M1D3M5D63M2D8M5I2M5D28M3I43M2D11M2D64M1D9M5D22M1D97M2D29M3I10M5I9M1D118M4I6M4I37M4I137M2I33M5I41M1D23M1D26M3D68M3I14M4D74M2D32M3I5M2I61M5I15M2D44M1D14M1I42M2I27M2I17M2I8M2I19M2D5M4I59M4D4M2I29M5I13M1I92M3I1M5I1M1I31M2I2M5I41M2D27M5I106M1D13M4D29M1D22M1D8M5I2M3D48M5D65M1I73M4I5M1D31M1I7M4I9M5I12M2I36M4I18M5D11M4D109M3D73M2D13M2I62M1D52M5I91M2I3M3D21M2D12M4I27M4D12M1D46M1I39M3I13M4D9M2I1M3I20M5I78M3D72M3D9M5I4M2D24M4I63M2D9M2D15M1I38M5D4M3D7M3D10M2I39M5I34M3I116M1D22M2D18M2D8M5I2M2D100M4D107M3D12M4I1M3I12M3D3M2I11M1I57M1I7M3D45M3I42M4D27M1I80M2D57M5I35M1D6M2I39M2D44M3I14M1I5M2D46M2I66M4D48M1D42M1D30M1D21M2I21M4I4M3I102M5D20M2D16M3D13M5D23M4I9M4I12M1I26M2I171M3I40M2D35M3D2M1I43M1I41M3D32M3D17M3D54M2I39M5I60M1D40M3I34M1D1M2D12M3D22M2I76M4D69M3D38M2D2M3I8M3I26M5I22M3I21M3D47M1D20M1I34M2I8M2D8M5D23M2D45M2I43M5D8M3D1M2I49M2I14M3I45M2I83M3I39M5D283M5D77M4I13M1D25M2D1M3D23M2D26M4D2M2D23M5I55M3D7M5D9M1I3M1I3M4D54M4D23M3I47M2D17M1D8M1I19M1D17M4I23M4I7M3I51M5D77M1D57M2D9M5I31M4D12M3I76M5D14M3I15M4D44M2D11M1D34M3I2M1D13M2D12M2D25M4D59M1I27M3D18M1I2M5I41M3D10M2D1M5D22M3D12M1D57M2I97M3D9M5D12M3I3M5I9M4I33M3D48M1I32M1I1M2D29M5I52M3I11M2D17M1D18M2D198M3I82M2D20M1I31M3I8M5I147M3I52M2I5M2D2M5I6M2I84M3I16M5I45M1D20M5I14M3I118M2I27M4D8M5I20M2I33M2I5M4D26M5D62M1D4M2I22M2I15M1I4M2I2M3D25M3D21M1D95M3D7M2I54M3I1M4I82M5D18M2D3M2D43M5I32M5D8M1I5M1D6M1D8M2I91M4I35M2D2M1D73M3I24M1D19M3D33M2I45M5I13M4I33M5I22M3I13M1I26M4I6M4I44M4D40M2D13M3D17M1I11M4D11M2I7M2D27M2D24M5D36M4D23M3D36M3D34M4I27M2I61M1I57M5D26M1I25M2D75M5D23M4I17M3I8M3D52M5I5M4I9M5I22M3D9M4D55M1I28M1I21M3I12M5D29M5I32M5I18M1D20M4D23M1D7M5I16M3I63M4I13M4I18M2D24M3D4M3D1M3I14M1D20M2I24M2D55M2D56M1D46M3I14M4I59M5I7M4I58M5D28M2D13M3I8M3D43M1D10M2I60M2I31M1I4M1D162M1I13M5I82M4D5M5I69M3I16M1D36M3I2M4D54M2I57M2I39M2I18M4I2M1D65M1I148M1D46M3I17M2I6M5I244M5I26M3I3M2I10M2I23M4D2M4I49M4D6M2I14M4D30M1I29M3D38M5I33M3D84M4D13M5I15M1D14M4D14M3D3M2I44M5D120M2I5M3D12M2I99M2I1M4I35M1D7M3D17M1D16M5I35M4I9M1I105M2D6M5I15M2I3M2D5M1D60M1I149M3I48M4I21M3I21M1I27M1D16M4I26M2I1M5D87M2D40M4D23M2D26M4I32M4D18M5I16M3D8M1I39M1I14M3D16M2I2M5D2M4D20M1D58M1D55M3D22M4D76M5D41M5I27M2I21M5I9M2I43M4I61M3D6M5D32M4I48M1D89M5D61M5D62M4I72M5I8M4D21M4D8M5D53M3I26M4I132M4I10M5D74M3I138M3D13M1I7M1I50M3I3M1D70M3D14M1D39M1I85M2D12M2I59M4D5M3D50M3D5M5I1M1I27M5D52M3I36M4I30M3I35M1D12M2I13M1D63M3D8M4D67M4I2M3I1M3D84M1I48M4D97M3D16M3D55M1I17M2I4M3D56M5D6M4D6M3I11M4D37M1I23M5I9M4D16M4I68M1D40M2D31M3D44M5I65M4D14M5D8M1D27M3D10M4D114M2I26M1I22M3D49M3I5M2D11M3D17M3D13M3I10M2D118M4I14M2I7M3D58M3I10M4I7M5I8M5I4M3I9M1I36M4I5M1I97M1I1M3D20M3I14M4D24M5D58M2I17M5D123M5D2M2I26M4D4M2I11M3I15M1I34M3I29M1D23M2D1M4I3M5I14M4D5M5I12M2I4M1I26M4I6M1D26M3I33M5D13M4D23M4I6M3D5M3I9M3D52M3I72M4I10M1D133M4I36M4D71M5D77M5D31M3D22M2I23M4I71M5I22M3I69M5I35M3D44M3I8M1I24M4I20M4I4M2I46M1D9M2D56M1I30M4I9M1I21M1D1M3I5M4I78M3I4M2D4M4I18M3I13M5D34M1I9M4D17M4I68M3D71M5I88M1I4M5I111M3I4M2I38M1I117M5D32M1D14M3I33M2D11M2D148M1D156M3I6M5I8M3D32M4D23M1D1M2I16M1D13M3D47M2I47M2D5M1D35M3I55M1I45M2I44M4I40M5I23M2I70M2I1M5I1M4I36M2D15M2D5M4D14M5D121M5I1M5I17M2I37M4D5M4D64M2D1M2I19M5I8M3D19M2D19M3D26M5D53M2I25M2D10M4I4M3D80M1I70M2I9M4D54M1D25M3D4M5D14M3D31M1I20M1I129M2D25M1I22M4D4M3D90M5D33M1I13M5I34M3D8M2D1M2D25M5I14M1D31M1D15M2I3M4I11M4I2M5D65M1I14M4D66M4D21M2I15M5I4M2D9M4I44M3D28M1D34M3D47M5I5M1I146M4I47M4I10M2I7M1I120M5D41M2D19M3D2M2I16M2I36M4I74M2I40M1I97M3I3M2D44M3I3M3D79M2D72M2I25M1I38M4I5M3D15M2I37M5I46M2D68M3D9M2D8M4I32M5D4M3I153M5I6M5I3M2D5M1D19M2I21M5I13M5I254M3D47M1D34M5D27M3D10M4I12M4D7M1D12M1I111M5I42M1D55M3I52M4D3M2I66M2D19M3D14M3D1M1D13M1I55M3I170M2I152M4I134M1I1M3I55M5I12M2D4M3I1M4I6M1I72M5D20M5I17M1I34M1I81M4I49M1D1M2I15M3D15M5I60M5I23M1I52M3I13M3D89M2D12M5D15M1I29M3D28M2D56M2D1M5I1M4D79M4I2M5D30M3I17M2I3M5D26M5I5M1I18M5D15M3D5M4D57M2D109M3I13M4I16M5D21M1D10M1D38M5D8M5I19M5I29M1I46M2I32M3D48M5I15M4D56M1D28M4D96M3D39M5I19M5D102M3D5M3D57M2I32M2I25M5I65M2D22M1I58M5I36M1D18M5I70M2D133M4I24M2I14M5I29M1D24M4D27M3D69M1I27M1D42M2I28M2I15M5I9M4I73M5I80M3I35M4I5M4D6M4D21M4D40M5D54M1I135M5D35M2I39M5I76M4I23M5I107M4D13M4D29M5I22M4D22M5I21M5D19M3I9M1I16M4I22M2I68M1I16M5D35M3I2M4I3M5D2M3I18M5I49M3I56M1I63M3D6M5I10M5I25M5D1M5I35M3D59M5D32M3I83M1D2M1D67M1D69M5D11M3I18M2D27M5I98M4D50M1I18M5I58M3I3M5D87M1I107M2I41M2I68M5I34M5I16M3I40M2I38M4D82M5I1M1D11M2I52M5D18M1D60M3D13M1D8M3I37M4D4M1D30M4D110M4I55M5D5M1I4M4D69M5I25M1D37M3D26M4D50M1I7M4I45M3I10M3D76M1D25M3I1M1I44M2I147M1D2M3I132M1D56M2D57M1D8M5I5M1I8M4D31M4I26M2I5M1D8M3I20M3I1M3I4M1D16M1I53M4I60M3I18M2I3M4I7M2I3M1D33M5D45M4D4M4I8M3D47M1I249M1I26M5I15M2D50M5D3M1I17M1I34M5D13M4I37M2D52M2I59M5D152M1I14M3D62M4I8M5I39M4D41M5D64M2D69M4I20M4I49M2D13M3I9M1I34M1D107M1D16M2D4M1D69M5D8M5I49M1D27M5D41M3D69M3D18M5D37M1I1M1I1M5D3M3D35M1I17M2I47M2D42M4D13M4I1M2I27M4D66M5I58M1D2M3D28M2I26M5D5M5I88M2I30M2I74M2I23M4D7M2D9M2I13M3D61M3D13M3D113M4D18M3I33M1I4M2I25M5I21M1D1M5I13M4D53M2D13M4D2M3D12M3I20M5I170M1I14M5I12M1D38M4I6M1D76M4I39M3D22M5I71M4I57M3I35M2D4M3I2M5D13M5D6M4I2M4I36M5D13M4D43M4D88M3D143M5I12M4I57M5I29M1D33M5D2M1D18M3I38M2I71M2I10M5D39M3D18M4D21M5I4M5I11M5D24M1D19M1D8M1I1M4D47M2I67M5I9M1I15M1I6M1I16M2D5M1I48M3D4M3I12M5I6M1I32M5I100M1D9M2I34M4I6M2I12M3I70M1D9M2D3M5D22M3D89M3I11M3I15M4I5M4I19M3I4M1I81M2I4M3I6M3D20M4D1M2I40M5I53M3I24M5I85M1D13M3I11M5I68M5D17M3I13M1I24M5D21M2I6M5I8M4D91M2D5M1D67M5D11M3I51M1D20M4D21M2D4M4I36M3I4M1D29M2I17M2D36M4D7M1I3M2D5M2I82M2I50M2D8M5D41M1D13M4D17M1I33M4I7M2D19M1I9M1D20M3I22M2D22M1I30M3D24M3D8M3D30M4I24M3I10M3D15M2I19M4D12M2I9M1D21M3I40M1I19M4I50M4D26M5I13M3D23M5I20M5D31M4I16M2I9M4D8M1D35M5I49M3I62M1D5M1I2M4D38M3I53M5I22M3D8M3D88M3D141M4I14M5I20M5I6M5I2M3D37M2I82M4I11M3I26M1I40M2D236M1I13M4I70M5D2M4D3M5I32M4I26M5D40M1I2M1D9M1D60M3I30M4I97M4D9M4D15M5I21M5D5M2D2M3D48M1D66M1I40M4I2M4I4M3I26M2I9M2D75M4D56M2D108M4I23M4I7M2D10M3D6M4I8M1D6M1D56M5I12M2D36M5D45M3I2M3D67M1D34M4I6M3I158M5I123M4D63M3D33M1D47M1D43M5I86M2D2M3I74M2I28M2D52M1I63M1D36M3I42M2I12M4I2M4D65M1D22M2D20M4D11M2I4M3D7M4I7M3I39M1I23M2D1M2D1M2I51M5I19M2D5M1I17M3D43M4D4M4I59M5D102M2I48M2I9M1D56M3I6M4I48M3I4M3D36M1I52M5I8M3I13M2D1M4I12M3D56M5D25M5I1M1I47M3D12M5D6M5I46M2I29M3D20M2D5M1I7M2I2M1D8M4D83M2D32M1I36M5D23M1I8M2D20M3D19M3I16M5I1M5I47M3I5M1I55M1I1M5D26M1D16M3D74M5I39M5I3M3D36M3I42M2I11M5I68M2I19M1I25M5I110M1D5M3I86M5D31M2I36M4D19M4D4M5I122M2D18M3D3M3I79M5D14M2D22M1I5M2I14M3D54M2I17M4D76M3D10M3D73M1D6M5I8M3D67M5D140M4I18M2I29M4I27M4D83M3I23M3I25M1D32M2I39M2I8M2I68M4D63M3D36M2D2M5I54M2D28M3D59M3I14M1I12M4D8M3D4M5D7M2D22M4I10M1D99M5I130M4I75M2I47M2I52M4D35M4I8M2I16M5D13M4I80M1D42M1D40M2D18M5D9M3D48M5D28M3I24M2I23M4D77M4D37M4I47M3I3M3I110M2I27M4I5M5D24M5D69M2I30M4D23M4I12M3I3M5I27M1D5M5D21M4I24M4D58M1I14M3D76M5D20M2I49M4I40M3D10M5D42M3I1M5I60M5I8M4D36M4D16M5I31M2I7M2I22M5I3M2I6M2I63M5I35M3D14M4D35M5D14M1D9M3D33M5D145M1I18M4D36M1D61M5D1M3I121M5I173M2I30M5D70M4D17M1D56M3D10M2D13M5I51M5I41M1D21M1D17M4I1M1I8M1I65M5D2M1D2M3I54M3I54M2D2M3I48M4I15M3I6M3I17M3D6M2D64M4I12M3I9M4I4M4I21M3D76M2I47M1I26M1I3M2I70M5I29M4D1M5D22M4D37M1D8M1D1M4I20M1I40M4D22M4I22M3D1M3I13M5D42M5D8M3I1M1I125M4I74M5D13M1D16M4D14M2I17M3I17M1D6M4D7M1D5M5I30M3D15M1I21M4I10M1D3M1I2M3I34M1D8M1D3M3I15M1I23M4D50M1D44M1I48M5D6M1D8M4D1M3D10M5I14M1D6M5D19M2D13M2I15M2D20M2D28M2I95M1I20M5D8M4I65M4I19M1I23M1I50M1I7M2D14M5D30M2D2M4I1M3D135M3D25M2D7M3D1M5I12M4I3M4D1M5I23M3I11M4I48M4I26M5D100M2I69M3D20M4D14M4D12M2D140M1D29M1I2M2I46M2D50M2D44M4I15M4I192M5I11M4D75M5D130M3D19M4D12M1I2M1D60M2D9M2D36M3I17M4I4M1I12M5D40M3D25M1D26M3I19M1D26M1I46M3D12M2I5M1I9M1D46M3I148M4I3M3I95M2D48M4I127M2I7M4I12M2I75M5D28M2I24M1D1M4I18M3D29M1D2M2I37M5D15M5I45M2D6M4I42M5D15M3D73M2D8M3D43M4D1M2D18M3I34M1D5M1I40M4I26M2D22M4D24M3I20M3D58M3I38M2I39M1D11M1D22M1I6M2I1M3I12M1D8M4D9M2I19M4D70M1D3M4D3M1D59M5I3M5D3M1D14M4I6M4D36M3D26M1D13M5I79M2D42M4D31M5I40M1I30M4D2M5D20M5I3M2I18M5I40M5I33M4D47M3D44M2D46M1I22M1I29M5D34M4I33M2D13M4I14M2D52M4I7M1I68M1D15M1I19M1I13M1I17M2D41M5D45M5I2M5I24M4D23M1D60M4D2M3I25M3D6M3I27M5I30M1I54M4I14M5I8M1I25M5I35M4I101M2D17M3D33M5D11M5I17M3D1M2I11M1D11M4I32M4D59M1D7M2I11M3I8M3I3M4D20M4I30M4I10M3I14M5D3M1D3M1D8M2D107M1D40M3I69M4D7M3I39M3I17M5I7M5I104M4D63M2D78M4I76M5I30M5I2M3D8M3D50M5D111M1I9M2D8M2D32M5D5M1D5M3D17M4D16M5D3M5D10M2I16M4I16M2I34M4I24M5D14M2I67M1D2M5I111M2I11M1D64M5I1M2D17M2D34M4I52M5D20M4I120M5D8M4I30M3I10M1D198M3I3M5D57M5I20M5I165M2D38M4D5M1D14M4D91M2D5M3D114M1D4M4I40M3I10M5D61M1I2M1D6M1D26M5I64M2I34M3I10M1I59M4D18M3I29M1D38M3D8M5D11M2D9M1D83M4D14M3I9M4D13M1I15M5D28M4D91M5I9M4I90M5D11M3I19M3I1M5I12M2I15M3I41M4I35M1D33M3I119M3D103M4I15M5D2M4I81M5I16M4D19M3D132M1I6M2I52M1D18M3I8M4I14M5D18M3D41M1D15M2D19M1D4M4D29M2D36M5D66M3D28M3I5M2I44M3I76M5D24M4I20M1D21M3I55M2D34M4D84M1I24M4I54M5I33M1D68M2I20M4I37M4D34M1D75M4D54M2D31M4D6M2I10M2D55M2D28M3I18M2I4M3I22M4I80M5D17M5D15M5D102M3I13M1I16M3D128M2I27M5D19M3D11M4D28M5I15M2D1M5D62M2D39M2D8M5D20M4D17M3D13M3I7M4D3M3D41M4I85M3D48M2D41M3D14M3D4M1I24M4D62M3I58M3I16M4I116M3I58M2I3M2I23M5I45M2D52M1I21M3D11M4I16M5D43M5D55M3I56M2D36M5I40M5I13M1I30M4D129M4I2M5I7M1I18M1I79M3D11M2I7M5I15M5I4M1D12M2D51M2D11M3D22M5I114M3I22M5I12M3D51M3I194M2D4M3I21M2D4M4D22M1D1M5I3M1D34M5D12M2I5M4I10M3D12M4D16M5I34M2D15M4I24M3I42M4I102M4D7M3I133M5D4M4I18M1I56M3I1M3D28M5I2M5I63M1D1M5D1M4I11M2D56M1D25M1D3M1I73M3I10M5D21M4D10M3I11M2I72M3D22M2I49M2I65M4D29M3D49M4I29M4I6M1D19M4I17M3I35M2D41M1I108M1I57M3I21M4D10M3D18M1D56M4D10M2I12M2D9M4D48M2D33M1D5M3D24M2I52M3I10M3I18M2I28M3D9M2D25M4D3M3D14M1I16M4I27M3D99M3D7M3I21M2I20M5D9M5D14M4I45M2I35M3D7M5I2M3D9M3I14M4D52M1I27M4D7M5I25M3I4M1D1M5D18M4D5M4D12M3I64M5D4M3D5M5D95M2I6M2I39M1I10M3I35M4I40M3I63M5D18M2D4M2I20M5D2M1D28M2D2M5I24M1I42M4I11M2I3M2D15M4D11M1D40M4I31M2D33M4D6M2I6M3I29M2I14M3I34M4I12M4D6M1D34M3D24M5D158M4D19M4I17M5I1M3I42M3D5M2I103M3D26M2D3M4I20M3I41M4D15M3I20M1D14M4I12M5D24M1D9M1I24M1D31M2I18M1I31M2I70M2D27M5D6M5I55M3D44M3I2M1D67M4I113M5D33M2D1M2I9M3D20M4D11M4I16M2D11M1D9M5I6M4D5M2I16M4I77M1D70M1D16M1D9M4D180M2I7M5I11M2I12M1D64M5I6M5I7M5I20M3D6M2D42M3I23M5I39M5D1M1D11M1D37M2I10M4D6M5I46M5I23M3I12M4I27M2I157M4I14M1D54M3D138M2I21M3I19M5D1M5I1M1I30M5D17M4I47M3I16M3D12M2I11M5D14M2I43M1D37M1D51M5I12M1I72M4D30M3D12M3D34M1D31M3I38M2I7M5D26M2I4M1D31M1D44M5I9M5D4M5D8M4I121M2I1M3I14M1D11M5I5M4I62M3D48M5I43M4D15M4I44M1D16M5D34M5I38M1D16M4D5M1I1M2D1M1D48M5I35M4D31M2I94M3I52M2I2M5I34M1D25M3I112M5D50M3D8M4D45M5I7M4I10M4I9M5D5M5I11M1I35M3I14M2D26M3I1M4D8M3I10M5D12M3I23M2I35M3D3M4D58M3I17M2I27M3D25M3D15M2I9M3D69M2D34M4I4M2I50M3D26M4D178M3D19M3I14M1I1M2D118M2D24M3D8M5D22M2D5M2I11M4D7M3D4M4D8M3I7M2D23M2D51M2I1M2I8M2I1M5I21M5D95M5I4M3D2M3I18M4I3M2I202M1I3M4D47M5D23M3I56M5I56M5D70M5D13M4D15M1D29M2I6M4D6M1D15M4I114M2D49M2D44M2D49M4I4M1D45M1D34M4I16M4D23M2I18M3I122M1I15M2D4M4D39M5D35M5D19M3I13M2D19M2D26M4D57M5I25M5D19M3I89M5I138M1I61M2I47M3I6M1I34M1D3M3I57M4D2M4D23M3I177M4I3M3I2M2D22M2I22M5I1M2D46M1I64M2D35M1I26M2D9M1I10M4I8M4I2M1I15M3I5M2I68M1D10M4D196M3D18M3I7M2I12M3D11M5I18M5I9M2I45M4D3M2I4M2I93M5I10M3I10M1D14M3I2M4I10M1I32M5D55M2D9M5I1M3I196M3D87M3I73M1I79M1D3M3I3M5D13M3I12M3I20M5I1M3D13M2D94M2I21M1I21M4D51M1D29M2D74M5D2M1D33M2D1M4I39M5I10M1I9M4D1M2D17M2I14M2D35M1I151M3I5M4I16M5I19M2I38M4I13M5I4M4I17M2I36M1I31M5I4M5D61M5D8M4D44M2D59M1I8M2D62M2I2M3I106M5I28M3D23M2I2M4I5M2D22M3I49M5I23M3D10M4I64M2D21M5D13M1D159M2I38M4I24M1D4M5I38M5D15M2D10M4I11M3D6M4I8M3D5M2D16M4D12M2I7M4I6M5I94M4D5M2D15M2D1M5I14M5I64M5D16M4I2M4D1M2I13M5D1M5I13M4I3M3I49M4D29M4D16M5I51M5I13M5I23M2D11M1I45M1I48M2D63M4I27M4I12M4D55M2I21M3D14M3D47M4I87M4I10M4D132M1D35M5D53M2I22M4D97M5I17M4D66M3I17M5D2M1D1M5D10M3I47M1D22M1I38M4I64M1D33M3D5M4D1M4I10M3I30M5I8M1D45M1D33M1I10M3I6M3D5M5D17M4D96M1D41M3I82M5D93M4D16M3I1M3I30M3I12M4I11M2I20M1I38M5I12M2I3M1D31M4I44M1I26M1D72M5I36M5D56M4I1M5D108M3D1M5D26M4D49M1I16M2D78M1I28M1I20M1D115M4I98M4I66M2I26M5D33M3I3M3D33M2I121M5D10M5I38M3I1M3D69M5D43M3I2M1D21M3I1M5I29M3D67M5I42M4D46M3D1M4D5M4I35M5D56M1I45M5D14M4D9M4I76M4I15M4D1M2D25M2I14M2D37M3I27M4I30M4D23M1I1M1D38M5I41M3I23M2D4M5D100M4D38M2D85M2D16M2I42M3D91M2D44M2I25M1D27M2D45M1D38M3I30M5I4M3D1M1I77M1I31M5I4M3D11M4D43M1D34M1D31M4D16M3D43M4I5M1I78M4D27M1I18M1I13M1I21M5D39M4D22M3I42M1D6M1D3M2I13M3D12M3D1M1D13M2D75M4I1M1D11M3I33M4I4M4D15M1I14M5I16M1D85M5D6M1I4M2I24M2I49M2D4M1D48M3D60M3I4M1D61M2I8M1I3M2I4M4D18M1I38M5D15M5D27M3I47M4I6M2D13M3D43M2D132M1I25M4D8M4I17M5D4M5I31M4I27M2I19M5D60M5I15M1I5M3I27M2I90M2I17M3I5M5D120M2I32M3I20M2D36M4I7M3I8M2I2M3I93M2I7M3I24M3I42M5D12M1I17M5D7M2D57M2D10M4D34M1I18M5I22M3I16M2D11M5D45M1D2M3D23M2D83M5I83M5I85M3I11M5I35M4I26M3D1M2D117M4D26M5D5M4I36M2I6M4D27M5D14M2I218M5I1M1D170M4D12M5D13M3D9M4D53M2D48M5D23M5D22M2I43M3D12M4D66M2D2M1D25M1I28M2D69M5I35M4D4M2I24M3I82M1D2M4I28M1I16M2I33M1I3M4D26M5I96M1I77M5D3M1I6M5I42M1I57M4I23M2I28M4D10M5D62M5I35M1D5M5D44M2D39M2I6M5I30M1I45M5D4M2D1M4I33M5D11M1I13M5I62M4D10M1D58M5I18M1D30M5I64M1D22M2I34M5I18M5D69M1I4M1D52M1I18M5D11M4D21M4D16M3I12M4D5M3I116M1I60M4I12M4D101M5D18M4D32M1I19M5I91M3D8M5D7M1D39M4D1M4D71M3I10M3I23M1D96M5I33M1D10M3D54M3D46M3D11M1D37M3I20M4D24M3I4M1D3M2D30M1I6M1D45M3D10M5D9M2D59M5I9M4D9M4D127M4I14M1D11M3D35M2D68M2I16M2I9M4D85M3D9M5I1M5I21M2D16M2I70M4D13M5D7M3I10M1I6M5I88M1I191M2D2M5I11M1I213M5I59M3I34M3D9M5D16M3I31M3D26M4D6M4D7M5I38M1I8M5I101M2I107M1I120M2D7M1D39M2D15M2I39M1D139M2D2M1I39M4I65M4I22M1I12M1I55M5D23M3D63M2D23M4D26M3D23M4I37M5I41M2D66M1D45M3D22M4D44M3I19M5D18M2I61M1D63M4I6M3D67M5D32M5I25M3I125M3D26M5I10M4I31M4D38M5I11M5D15M2I10M2I10M3I75M3D10M2I21M5I12M1I20M2D43M5I76M1D78M1D67M5D1M4D10M4I20M2I51M1D62M5I20M2D69M2I13M5I22M2I23M5D69M1D43M3I21M1D3M4D1M5D43M3I20M2D101M5D2M2I37M1I21M3I13M1D110M5D34M3I7M2D51M1I66M3D1M3I53M5D22M1I11M1I3M3D10M5I11M4D14M5I2M4D2M1D11M2D121M1D58M5I6M2D6M1I6M3D44M4I33M4D4M2D15M4I8M3I118M3D22M3I3M1I21M2I83M5D209M5D9M4D26M5I5M1I6M3I2M5I9M2I60M2I11M3D20M1D36M5I10M5D49M3D49M3I56M5D51M3D36M5D45M4I3M4D97M4D11M5D41M1D63M3I3M5I101M2I6M4I28M4D6M4I190M4I6M3D51M1D9M4I4M5I1M5D31M2I65M3I7M4D4M5D2M1I39M2D7M4D41M2D8M1I8M3I73M4D11M3D45M2I7M4D76M1D22M2I81M3I45M4I5M4I19M2I14M3I6M4D29M3I21M1I16M5I25M3D14M2D23M3D49M5D17M2D54M2I24M5D1M3I12M2D34M5I52M2I51M4D65M2I42M1D99M3I1M3I112M5D70M5D17M4D47M1D39M5I12M4I17M2I1M5I116M5D22M4I16M4D54M1D52M4D1M4I13M3D41M3D13M4D6M3D4M2D20M1D3M1I57M3I13M2D22M5D23M5D9M1I24M5D10M2D37M5D33M2D21M1D5M3I4M3I35M1D5M5I23M1D196M2D109M5D64M4D10M1I21M5I5M4D104M2I33M2D14M1D6M2I26M2D51M1D14M5I62M2D33M1D25M3D1M5D58M5I1M3I14M3I47M2I12M4D63M1I59M4I34M4D1M1D22M2D3M3D44M1D11M1I35M3D9M2D14M1I29M5D23M3I51M4D48M1I9M5I76M2I15M1D76M2D12M5D1M4I16M3I86M3D102M2I10M5D20M3D1M3I15M1D11M2D2M4D1M1D84M2I55M1D29M2D43M4I27M5I77M3I34M2D20M3D66M1D84M3I14M1D47M2I87M2I47M2D24M3I37M1I1M2D12M1I60M5D30M5D10M4D12M2I11M5I10M4I35M1D39M3I10M5I18M4D54M2D76M1D17M2D16M3D9M5I11M5I7M5D18M3D29M3I8M5I26M3D5M5D15M2D15M4I31M3I54M5D85M4D14M5D81M1I43M3D2M1I11M4I2M5I20M2D6M1I40M2I8M4I33M5D13M3D30M3I19M4D81M5I22M5D4M1I9M3I4M1D20M5I38M5D72M4D51M2I46M4D20M5D14M2I23M1I90M5I24M1D14M2D16M5I22M4D15M2I26M1D8M3I35M1I14M3D41M1D3M5D12M5D60M1D71M5I13M2D43M5D16M2I72M5I3M4I4M3D8M4D3M4D23M3I11M4D8M2D29M4I5M1D218M4D61M3I2M5I8M5D36M1I18M3I1M2D43M4I29M1D5M1D8M3I48M2D19M5D77M3I29M2D8M4I16M2I9M2D115M2I3M4I76M4D62M3I3M2I43M3I5M1D5M3I44M5D81M2D86M1I2M4D17M1I24M2D9M1I72M1I80M1D9M4D36M3I28M1D27M1D38M2I2M2I4M5I14M5D40M4D62M5D7M3D36M4I17M1D67M3D1M3D13M1D9M4D36M3D19M3D39M5I11M3D16M4D4M2D32M4I18M5I36M1I30M3D54M4I72M4D31M1D12M3D20M4I100M1I2M4I11M3D16M5D2M1I1M3D41M4I53M2I29M5I2M5D10M3D22M1I41M2D4M3D15M3I10M4D14M5D31M2D32M3I111M3I142M5I22M4D14M2I32M3D32M5D16M1I26M1D18M5I123M3I9M2I29M5I36M5D2M1D18M2D28M4I59M4D11M3I5M5D10M4D34M5I8M5I54M4I1M4I44M2I34M4I51M1D2M4I27M2D27M2D33M1D9M5I38M2I34M5I22M1D73M5D19M3I4M1I16M5I18M5I1M4D37M5D9M1D2M5D124M4D106M1I12M5I7M3D7M2D89M5D20M3D5M1D14M4D60M2I114M3I24M3D12M4D6M4I16M3I29M5I15M4D38M5I5M1I8M1D6M2I31M3I139M2D29M1D30M2I1M3I22M5I4M4I20M3D63M3D4M3I7M4I15M2D2M5I12M2D54M1D6M4I29M5D42M1D82M3I16M5I74M1D35M1D17M2D29M4I95M5D54M2D132M5D28M3D7M3D12M3D10M4D14M2I30M5D29M5I68M2D28M2D234M5D4M3I94M2I27M2D12M1I6M5D19M4I13M4I43M2I19M5I48M1I84M5I5M3I15M2D37M3I4M2D23M3D7M2I19M2D103M2D4M4I94M3I67M4I6M3I6M5D82M5D4M1D5M4D24M3D4M5I16M4D21M2I46M4D37M5D16M3D36M5I10M1I89M1I12M5I7M4D7M4I53M2I65M2I8M4I139M2I6M2I14M3I30M3I15M1D47M2I7M4I2M3D6M4I2M2D74M2I24M1D1M4I22M3D47M5I10M1D62M1D28M5D1M1D35M5I35M2D15M3I12M3D141M1I67M5D18M2I30M5D9M2I3M5I53M2D34M1D36M2I38M5I177M5D15M1D104M5I47M4D4M5D6M5D43M5D63M2D72M3I71M2I142M1I3M3I28M4D56M1I3M1D20M1D7M3D6M4I13M1D8M2I38M3I77M2I30M4I60M1I25M3D70M5I70M2D32M1D61M4I4M3D32M2D35M1D1M1I41M2D23M3I12M4I86M2I4M4D23M2D10M3I31M4I129M5I9M1I5M2D1M2I3M5D115M3D2M4D21M2D9M5I18M1D3M1D6M3D43M2D60M4D28M3I56M4I1M3D57M2I7M5D31M4D8M1D36M3I82M1I31M5I75M3D16M3I24M4I20M1I7M4D15M1D64M5I2M1D27M1I1M4D23M5D64M1I40M3I49M2I3M5I18M2I32M5D69M3D5M5I49M3I4M1I17M4I43M4I55M2I16M5D23M1D63M2D40M1D2M4D87M2D41M1I3M4I22M1D24M2I18M1D47M4D62M5D54M3I34M5I56M1I9M4D6M2D34M2I86M1D130M3D24M5D36M3I27M5I5M1D32M5D3M3I24M4D3M4I9M5D40M5D42M5I15M4D7M1D29M5D5M1I60M2D11M5I15M4I3M4D47M5D25M2D32M4D24M3D48M3I19M5I4M4D87M4I17M5D54M2D55M1D23M3D5M5I178M5I16M3D13M4I141M1I49M2D32M1I61M1D34M1I104M5I1M5I35M1D16M1I7M2D90M2D55M5I50M5D33M2D8M1D153M1I40M5I15M4D3M4I82M5I70M1I6M5D13M2I57M2I29M1D28M5I4M5D19M2D23M4I6M2D68M1I28M1D20M3I64M2I21M1D28M1D33M1I39M2I25M5I3M3I7M4D29M4D1M5I11M5D6M5D10M1D23M5I14M2D12M1D57M2D3M4I42M4D1M4D12M2I36M2D40M1I11M3D63M2I16M3D90M1D2M1I37M1D36M1I10M1D7M1D26M3D1M1I147M2I31M2I22M5D86M5D27M3I48M5D22M5I107M1I22M3D7M4D12M3I160M5D23M1I12M3D38M1I57M1I12M1I9M3D44M4D13M3D62M1D5M5D153M2D14M3I49M4I25M2D6M5D66M2I12M3I28M5I9M2D33M5I26M2I4M5I57M2D4M4I43M3I15M5D55M4D79M5D57M2D9M1I12M4I2M3D27M5I11M1I31M1D18M4I9M1D71M4D31M5D13M5I7M4D2M5D36M4I3M1D8M5I1M5I33M3I21M1D38M4D17M2I1M4D27M1D42M5I23M5D1M4D245M4I1M4I21M2D19M3D42M5I3M4D52M5I37M3D10M5I9M5D44M2D8M4I30M5I11M2D9M1I22M5I122M4D119M5I16M4D21M1D6M5D25M5I69M3D99M5I8M5D4M5I27M3D3M4D11M1D14M2I12M3D15M2D7M5I8M5I61M2I2M3D3M2D15M2I21M1D21M5D1M2I10M5D6M3I59M2I8M2D23M3D33M1I60M1D88M2I36M2D158M5D97M2D34M3D16M1I50M1I114M3D47M1D98M3I32M5D6M1D8M2I69M5D14M4I4M5D3M5I4M5D2M2D12M2I21M3I7M4D25M3I43M5D9M4I3M2I23M3D2M1D1M5I66M5I38M2I25M5I12M4I8M1D26M1D16M5D31M5D44M3I88M1I21M2I49M2D26M2D26M5I37M1D6M3D24M1I21M5D17M5D13M4I9M5I19M2D1M2I92M4I107M2I43M5D9M3I28M5D3M1I4M5I21M2D12M3I78M3D4M2I39M5I5M3D54M1I2M3I38M3I2M3D14M5I61M5I61M2I16M1D24M3I4M2I2M3I27M2I53M3D8M1I28M2I38M1D27M3D8M1D18M4D6M4D1M4I30M4I33M1D56M1D59M5D16M1D30M2I58M2I60M1I50M4I3M3I25M4D32M3D30M3D47M2I31M5I50M4D27M3I37M5I27M4I37M1I21M4I72M4D11M3I76M4I34M5D7M4I42M4I6M4I18M5I17M3I153M5I28M2I55M2I54M4I27M2I27M4D39M1D47M2D44M1D2M4I26M1I3M5D22M3D21M3D41M5D76M1I15M4D2M5I41M5D318M4D2M1D3M1D17M5I32M1D37M3I11M1I31M5D18M3D15M3D1M3I13M2I41M4D68M2I24M1D23M2I34M5I3M1D7M1I29M3I10M3I37M1D15M1I11M1D57M3D26M4I37M5I40M5D26M4I57M5D6M5D44M2D1M1I46M5I3M5I127M4I33M3I51M4D3M5I23M2D19M3I72M4D34M1D5M5D16M1I36M4D20M2I22M3D9M4D5M5I15M1D1M5I3M5I18M2I19M2D15M1D131M4I135M5I42M1D17M4D29M1D25M4D10M4I10M1I15M2I9M2D6M1D18M4I47M2I36M5I109M1D76M5D51M1D15M3I12M2D35M1D6M5I1M2D9M1D7M5D39M2I40M4I16M1I23M2I32M2I53M3D1M4D15M2I36M3D94M1D24M3I35M1D4M4D7M3D4M2D28M2I18M5I3M5I7M1I85M4D43M3D50M5I47M2I7M5I6M2D6M3I8M4D8M4D176M5D30M2I21M5I14M4D50M3I73M5D39M1I4M4I16M4D20M2I2M5D16M5D5M5D26M2D18M3I65M1D19M2I92M1D23M2D3M3I63M3I14M1D21M2I32M5I13M3I29M2D7M5I3M4I63M3I39M2D5M2D31M2I21M2D5M5I36M3D4M5D59M5I85M4D36M5I32M2I72M5D61M4D16M1D52M1I110M5D3M5I27M5I40M1D9M4I23M5D5M2D51M4I21M5D14M1I90M5D98M5D18M3D68M2D5M2I10M1D45M5I8M2I55M2I40M3I7M3D30M1I11M2D13M3D1M2D67M1D32M4D40M3D38M5I21M1D1M5I22M4D5M4I3M2I44M1I5M1D56M2D12M3D91M1I118M5D4M1D24M5I12M3I4M3D8M3I14M4D72M3I63M3I7M4D25M3I65M1D33M5D2M1I19M3D56M1I18M5I21M1D2M5I14M4D44M3D2M3I5M4I1M2D13M4I24M3D24M3D8M5I99M5D51M4D33M1D11M1I12M1D53M3D4M3D44M4D108M2D2M5I4M5I58M1D20M3D127M4I24M1I26M3I4M1I16M1I155M3I2M5I45M2D50M3D70M4I52M4I38M4D23M2D51M4D9M2D11M2D12M1D2M2I24M4I26M5D45M4I83M4D41M4D204M1D27M5I3M2I32M4I7M3I27M3D69M2D42M2D26M2D7M1I56M2I32M2I75M1I131M4D33M4D1M3I4M4D4M4I15M3D65M1I3M2I1M1D61M2I39M4I3M2I40M3D12M3D32M2I9M4D65M3I61M4I50M3I31M1I75M2I121M4I5M3I56M3I49M4I21M1I14M5I29M4I5M1D14M2D22M4D96M2D114M5I12M5D29M5I12M5I21M3I8M3I46M5I37M1D18M1D27M5I23M1D20M3I28M3D19M3I61M2D11M3I14M4D29M4I45M3I2M4D2M3D86M5I22M5I30M2I9M5D10M1D18M5I92M4I44M1D102M1I19M4I15M3I10M3D33M2D40M5I12M5I54M3D9M1D6M5I48M3D82M3I20M4I64M3I12M4D9M2D3M1I27M4I7M5I22M1D18M2I108M2D68M4D49M5I21M2I41M3D49M2D31M1I24M4D26M5D11M1I7M5I14M3I11M5D22M3D47M4I29M1I16M2I8M1I15M5I16M4D90M4D5M4I10M1I19M1I57M2I8M4I14M5D8M4I25M3I86M2I26M3I14M4I33M2I50M4D69M5I15M2I172M2I1M5I71M3I2M4I42M3I2M2I25M1D55M3D3M1D78M1D40M5D65M3I1M4D6M5D22M1D3M4I66M3I72M1D3M3D19M5D10M5I25M1I11M2I20M5I17M5D34M2I3M2D8M4D1M2I54M2I21M5I23M1D22M4D2M3D12M2D28M5I25M5D41M4I14M5I3M1D103M1D54M2D93M1D8M1D2M4D49M5D26M2D20M3I8M5I7M5I1M5D24M1D45M5D128M2I4M5I20M5D19M4I36M4D31M3D20M2I14M2I39M4D4M3D77M3D23M3D2M5D11M3D4M4D22M4I18M5I67M1D39M2I2M3I4M1I81M1D96M1D39M2D9M5D39M2D83M1D3M5I34M4D3M5D48M5D11M1I80M1I6M4I63M1I15M3D24M2I14M5D3M4I10M4D15M5D6M5D38M5I64M1I40M4D68M3I18M4I9M2D16M3I3M4I14M4D21M4D82M4D14M5I137M1I26M1D23M3I9M4I88M5D29M3I52M3D5M2I105M4I38M3D16M5I6M4I12M3I68M3I29M3I8M5I3M5D11M4D34M3D9M3I56M5D10M3D16M3I86M1I57M3D7M5I58M5D35M2I22M4D33M5D20M5D22M4D21M4I25M1I20M1I77M5D27M3I8M3D25M3D32M1D53M1D26M5I24M4D78M2I3M4I34M3D88M5D84M4D17M5I4M5D12M3I72M2D38M4D23M4D3M1D17M2D23M2I19M1D42M1I5M5D66M1D114M5I9M5D118M5I47M4D5M4I3M3I57M1D8M3D2M2I14M5D92M4I21M5I34M1D11M4D11M3I3M3D7M5I19M5D22M3D63M5I8M3I54M4D34M5I7M5I45M4I15M2D88M4D15M1D15M2D5M4I66M1I33M2I18M2D54M2I2M3I119M2D4M4D55M5I59M4D29M4D121M3I30M3I39M2D25M3D25M3I5M4D19M2D32M5D89M3D21M1D68M5D17M2D16M2I89M1D1M3I42M4I3M3I27M5D44M5D37M1D15M4I13M2I19M1D62M1I1M2D4M1I74M1I47M4D16M1D3M3I44M4D15M4I49M1D1M2D56M3I55M5I44M2D12M4I6M5I48M3I11M3D20M1D31M1I23M5I54M3D31M5I10M5I8M2I13M3I3M4D6M3D34M1D24M3I55M2I1M5D3M4D83M5D20M4I11M4D85M1I34M2I56M1D19M4I14M2D1M3I104M3D2M2D63M3D1M2D38M1I31M1I66M4D7M4I7M1I25M3D1M3I4M4I4M1D29M3I16M2D29M3I47M2I60M2D23M1I57M5I18M2I26M4D34M4I14M2D23M3I102M3D29M1I72M1I22M1I17M2I75M2D14M3I1M3I17M4D29M1D65M3D34M4I55M4I37M2D18M5D56M1I31M2D3M5I21M5I12M4I2M4D2M4D51M4I158M2I1M2I24M2I42M4D51M5I10M3D4M3D148M4I42M4I35M4D34M5I19M3D10M4D4M1D25M1D1M3D34M4D13M2D68M2I66M1I23M1D14M2I34M5I96M3I12M4I44M3D23M5D2M5I12M1D23M4D77M4I7M1I26M2I4M1D11M4I41M3D127M3I17M1D68M1D33M5D6M5I41M1D32M2D69M5D66M5I26M5I65M2I14M1D4M2D2M1D4M4I7M2I4M4I11M2D22M3D46M1D25M2D10M5D6M4D6M4I2M1I10M5D18M5I22M5D1M5I59M5D24M4I26M2I23M3I31M5I62M1I2M2I3M4I37M3D3M3D1M3D4M4D10M1I26M4D32M5D6M1I23M5I6M5I12M2I1M1I61M3D48M2D19M4I12M2I24M2I11M3I37M5I79M3D15M1I2M1I83M4I9M2I14M3I44M1I38M4I7M3I28M5D18M4I29M2I42M3I127M4I78M2D17M3D16M5I25M3D91M5I13M3D18M5I61M3D19M5D35M1I1M2D19M3D22M1I70M2I8M4D8M1I19M2D27M2I35M1I49M1I34M2I47M1D115M1I261M3I35M3I4M3D31M5D12M3I64M5D24M4I41M1D16M1D4M5I5M2D21M4D31M4D117M5I31M1I76M3I22M4D76M3D12M5D1M4I9M3D28M2D1M4I7M3I2M5D14M5I24M1D7M3D3M4I57M3D101M3D4M3D6M4D13M4I56M4D5M5D26M5I5M4D7M2D62M2I20M3I3M5I78M2I9M2I24M4D160M5I51M1I41M1I11M1D8M5I166M4D16M3I21M4I11M1I54M2I68M4D44M1D20M1I22M5D3M1D56M3I5M5I18M2D19M2I14M4I14M5I52M2D14M3I60M5D10M4D7M5D18M4I192M2I59M4D65M5D9M1D18M4I68M4D43M2D16M4I59M2D6M3D42M3I14M5D16M1I21M2I74M2I17M2I19M5D9M1D11M5I7M1D1M4I55M3D47M1I26M3I51M2I4M2I28M2I12M1D76M5D40M2I18M2D8M1I1M5I20M5I14M2I1M5I24M3D18M1I1M1D63M5I21M1I12M1D44M5D23M1I26M1D24M1D27M1I72M4D18M4D30M2I23M2D2M3I12M5D64M4I50M3D96M4D16M2D22M1D35M4I75M2D5M1I50M2D10M5D12M3I17M3I14M4D113M5D40M4D38M1D110M4D2M1I75M2D18M4D44M4I18M1D86M5I19M4D5M3I236M4D9M3D29M4I156M5I47M5I2M4D4M2D47M1I12M3I25M1D24M1D56M1D17M4D4M3D40M4D43M5D11M4I19M4D15M2I50M5D9M3I9M5D25M5D19M3D23M3I3M5I2M5I46M3I1M4I4M2D6M3I4M2I5M4I3M4I2M1D22M3I6M5D34M4I11M3I20M5I32M3D19M2I151M4D24M2I40M2D6M1I12M4D72M3I16M3D31M2D10M2I21M3I28M4I30M1D20M4I32M4I25M5D3M5D51M2I1M5I16M4D28M4I9M5I9M5D2M4D60M2D45M1D4M1I49M5I32M1I5M5I94M5I16M4D49M3I3M2D2M5D61M2I34M3I6M2D14M1I26M1I5M2I9M3I9M5I28M3I21M2D6M1D31M3D26M5I33M5D115M4I86M1D10M1D46M1I1M1I28M2D18M1I20M1D79M5D5M4I10M4D16M2I63M3D4M2I54M2I4M2I21M1I52M3I36M1D16M1I27M2D4M5D68M4I13M3I6M2I14M5D37M3D31M4D15M5I35M2D28M5I2M4D30M3D7M1D65M4D49M4D38M4I19M4I43M4I69M4I39M5I125M5D13M3D1M2D14M5I14M3D59M3D6M2D1M2I3M3D52M3I38M3D15M5I69M1D124M4D5M4I66M3D18M3D30M4D4M5I16M3I28M3D35M4I8M5I11M3D44M2D22M4I19M2I23M4D145M3D35M3D61M5D18M4I22M4D11M1D78M2D12M3I4M5D37M2D6M2D34M1D25M5D6M4D40M1D27M3D23M5D106M1I21M5I22M5D18M1I39M4I6M3D37M1I14M2D18M2D25M4D7M3I3M3D16M1I59M2I31M5I19M1D43M5I3M3I14M1I37M5I24M2D51M5I35M4I4M5I12M1I30M3I14M3I12M3D33M5D5M4D40M4I12M1I6M1I93M2I6M5I33M1D19M4D60M1D5M3I46M3D6M5I61M5D52M3I14M5I41M4I91M5I26M1I34M4D19M3D8M5I98M4I8M2I74M4D15M4D13M4D3M4I72M2I6M4D14M2I73M3I19M1D40M4I15M4D75M1D14M1I8M1D12M1I23M1D28M3I84M5I30M5I57M5I35M1D17M2D61M1I85M5D56M1D147M5D25M2D6M5I10M3I16M1I51M5D38M4D6M2I21M5I37M1I31M5D5M5I27M3D80M2D19M3I3M1D1M3I127M1D36M2D19M3I1M4I15M3I5M5I42M1I28M3I36M3I26M5D31M4I2M1D8M4I48M4I49M2D3M3D72M3I115M3I134M3I31M5D50M5I13M3I7M4D68M3I2M1D11M2D11M1D1M2D55M4D52M4D11M3D2M4D86M4D12M3I51M1I10M5D21M5D54M4I8M3I21M1I235M4D60M4I8M5D19M2I19M5D27M5D12M3D11M5D1M5D55M2D12M5D9M3I9M2I66M1I51M2I3M1D4M2I24M3D51M4D19M3I31M5I51M2D27M2D11M3I24M1D19M3I9M1D51M3D26M3I21M5D58M3D34M5I76M1I7M5D3M3D24M1D33M3I14M3D39M3D15M2D74M3I27M4I9M2I21M4D42M4I34M3D84M5I116M1I5M2I38M2D35M4D55M2D2M5I13M4I3M2D23M1D57M5D26M4I46M4D30M1D40M2I9M4D22M1I5M1I17M2I7M4D19M2D6M5I13M4I43M5D44M1D7M2D7M4D90M5I48M1I25M3D2M2I15M4I30M4I18M2I36M4I19M4I2M1D170M2I21M4I23M2D29M4D34M2I7M2I8M5D4M3D22M5I48M5D82M4D35M4I12M5I39M1D66M5I26M4I6M1I3M2D190M5I21M2I11M2I17M4D31M5I37M4D12M2I42M5I31M1D26M5D13M5I39M2I9M1I138M5I6M1I40M2I2M5D45M4I18M5I17M4D22M4D14M1I18M5D38M5D2M2D44M1I6M5I65M1D129M2I36M2D18M4D36M2D21M3I14M4D37M1I71M5D59M4D120M2I18M3I79M5D33M5I8M1I3M4D49M4D23M5D4M1D14M2I15M1D11M5D53M4I70M2D159M5D4M2D27M5D8M3D30M1I23M2D56M2I145M3D77M5D12M4D15M5I22M2I7M4I119M5D76M4I13M1D43M2I87M3D14M4I2M4D59M4D12M2I33M2I68M3I7M3D15M1D117M1I26M4I36M3I48M2D8M3I122M3I73M4D50M3D13M1D63M2D24M1D1M4I22M4D11M3I2M4I40M4I43M5I25M4I90M2I6M2I8M5D5M3I39M1D17M3I28M5D6M3I6M2I37M3I93M2D73M1D52M3I31M2D67M5I22M5I22M3D7M3D27M3I18M4I1M1D14M5D65M4D64M4D74M2I22M1D91M3I18M2D7M1D45M4D36M1I6M2D20M2I5M2D11M5D66M3D28M2I22M3D97M4D63M3I199M1I51M2D2M5I59M1D26M1I92M5I21M3D13M3I35M4D16M5I5M4I12M3I18M1I25M1D57M2D24M3D20M3I4M1I21M2D49M1D44M3I36M3D13M3D40M4D41M3D43M5D16M4I14M3D7M5D27M1D11M2D88M5I59M1D32M5D39M3I49M3I28M4D22M3I9M5D21M1D13M2D51M1D16M5D24M2I36M5D15M3D4M3I3M3D20M5I21M1I61M3D28M1D21M3D15M4I16M4I9M1D23M4I13M1I14M4D18M2I17M5D52M2I50M5D36M4D15M4D6M3I14M3D1M1D26M1I5M2D71M4I12M2D16M3I9M2I35M4I52M1I18M3D18M5I28M5I47M3I59M2I10M2D2M4I19M4D2M4I2M4I9M5I13M4I93M5D41M3I56M4I24M5I14M5I5M5I9M1D11M3I7M4I71M5I22M2D9M1D65M3I2M5D4M1D85M2D2M5D45M5D3M4I27M3D25M5D1M2D46M1I76M3I5M1D7M4I6M1D32M3D17M1I23M5D18M4D40M4I13M1D26M5I21M1I34M4I8M3D7M4I8M1I1M3I6M4D1M4D37M1I16M1D50M2D70M5D34M2D6M1I52M4D6M5D10M5I4M1I4M4I11M4I71M4I31M4D42M1I25M5D33M3D87M2D11M1I9M5I2M5I18M2I52M5I12M1D3M1I15M2D13M2D50M4I1M2D106M5I7M5D16M1I79M4D10M3I29M4I16M4D167M5D27M4D7M4I14M5I3M1I28M3I26M1D22M5D2M2I36M2D74M1I7M2D15M1D31M2D16M1I89M4D3M5D14M4D31M3I32M5I27M2D18M3D12M2D37M2D6M3I5M2I30M5I8M1I14M1D39M4I23M1D4M2I22M4I4M5D13M5D12M3I47M5I3M3I45M2D43M4D27M5D24M1D69M4D44M5I53M5I4M5I47M2D42M2D61M3I1M3D22M3D2M1I5M4D7M1I45M1I13M3I19M3I4M3D59M1D7M1D8M4I50M1D20M1D19M4I57M2I47M5I44M1D5M4D2M1I16M1D31M4D2M3I86M3D12M3I5M2D27M4I28M1D42M2I17M2D37M2I48M4I21M1I29M1I77M1D46M3D49M3I7M2D9M4D32M1I47M4I33M5D5M1D52M4D19M4D6M5I40M1D8M3I2M1D107M5I23M5D16M5I27M5D9M2D30M1I9M3D59M4I48M5D30M4D48M4D6M1I19M1I10M1I22M4I9M5I30M5D2M4I19M1D30M1I29M4D113M1I54M1D36M5D16M5D62M2I19M4D88M3D63M1I9M1I9M2D85M4I14M2D25M2I11M3I4M3I72M3D55M5D6M4I69M3D37M1I9M5I38M3I68M3I36M4D7M3D3M5D41M4D36M4D73M2I4M2D10M1I7M4I103M4I9M2I39M1I7M5D27M4I16M5I7M4D5M3D29M5I21M4I18M5I2M1I37M1I35M3I63M4I35M3D8M3I7M3I41M2D32M1I10M1I19M2I8M2I38M4D1M4I2M1D23M2I5M5I31M4D9M3D46M1I7M3D3M5I19M1I46M5D39M4I15M5I82M1I55M3D11M4D23M1D99M4I73M5D54M2I38M5D23M3D50M5I14M2I1M5D5M4I15M2I44M5D56M1I1M4I47M2I1M3I38M1I1M4I17M4D34M2I29M4D20M3D3M3D21M5I1M1I32M3D59M2D13M1I7M3D20M4D8M1I54M2I30M2D12M2D58M1D9M4D8M4D8M3D94M4I28M5I17M2D14M3D71M3I1M3D50M5D3M4D21M2D14M5D8M3I2M5D4M4I34M3D21M5I83M1D4M3I23M1I58M4I49M3I1M5I44M3I16M2I27M1D3M2I4M4I38M3D17M3D76M4I44M5I35M5I31M4D24M3I19M1I42M5D35M3D6M2I132M5I13M1I6M4I19M1I16M3D12M2D47M5I31M3D34M1D45M1I17M2D6M3I3M4D109M5D3M5I57M4I43M1D17M4D11M5I13M5D84M2I39M5I8M3I25M5I11M5I24M5D49M2I37M3I15M3D157M5D42M2I64M1I4M1D39M3I27M1I41M2D10M4I68M2D37M3D28M1I40M4D7M4I8M2I51M2D27M1D12M1D87M4I12M3I1M3I53M4D9M5I10M1D1M1D41M5I5M5D18M1I67M1I58M5I38M5D48M5D8M5I19M4I7M4I48M4I19M5D8M3D103M2D37M2D14M3D21M2I1M1I66M5D4M5I17M3I46M4I1M1D94M2I5M2D14M1D18M3I8M4D47M5I41M5D15M2D6M3D62M2D22M5I60M1D4M2D16M2D20M4D19M1I8M1I2M3I35M3D16M2D59M1I10M3D57M5I16M1D6M2I147M2D52M4D21M3D5M1D19M1D6M4I42M3D18M2D8M2D15M2D6M1D40M1I48M2I27M1D90M1I6M2D11M1D2M2I51M3D2M3I13M1I79M2D15M4D10M1I29M4I46M2I1M5D11M4D14M1D24M4I19M4D25M2D52M4I12M2D122M3I1M1I10M5D1M1I3M2D31M4I41M1D67M4I8M2D32M5D39M3D7M1I17M5I14M5I26M4D21M2I8M5D5M1I43M1I9M1D5M5D77M2D60M1D43M5I51M2I49M3D22M1I27M4I22M4D1M2I5M1I14M5D13M1I54M5D43M5D51M4I23M4D2M3D7M3D30M1I4M1D22M2D48M1D12M3D4M4I106M5D68M3D65M5I2M1I43M2I6M3I6M1I59M2D17M2I4M2I11M1I5M2D52M5D12M3I7M4I15M3D28M4D52M4D2M2I12M1D11M5I18M2D8M4I28M4I3M1D33M5D55M5D28M2D106M5D15M5D15M5I2M3I2M3D17M4D13M2I21M3I44M3D13M3D2M1D17M2I23M2D2M2I33M3I8M2I14M4I86M5D28M2I67M1D150M5I9M5D124M3I58M5D119M2D20M3D39M2I2M1D11M1D30M3D19M3I6M4I37M2D3M3I2M2I7M4D54M5I16M5I22M4D11M2D12M2D26M2I17M1I23M4I22M1I46M4D8M5D7M4D17M1D8M4I4M2I55M2I30M3D4M5I28M1I20M5D10M4I16M5I21M3I28M5I29M4D8M3I5M3D36M2I26M1D3M4I16M2D103M1I66M5D45M1D86M5D17M4I20M3D9M4I27M1I9M4D4M2D53M3I57M4D36M2I4M3I2M1D47M3D26M2I115M1I17M2I14M2I46M3D9M2I14M3D4M3D71M4I6M2D7M5D34M3D25M2I11M1D11M5D13M3I104M3D7M4I28M2D19M3D228M4D37M2D44M3D17M4I35M4I6M1I69M1D93M3I8M4D22M2D11M1D11M5D3M3I39M3I36M4I58M3D31M1I4M5D61M4D28M4D8M4D1M5I41M1I1M5I26M1D16M2D21M1D49M3D19M4I31M5D20M4D18M5I80M5I9M4I20M1D61M3I1M3D71M3I80M4I3M1I8M5D5M3D1M4D30M4I49M2D9M1I41M1D15M5I4M3I12M2D12M1D1M4D64M5D24M1I21M1D17M5D11M5I45M5D35M3D45M5D21M4D14M1I12M3D46M3D10M2D14M5I1M5D24M1D20M1D17M5I35M2D89M5I14M4I4M5I27M1D84M1D19M5I78M4D14M2I9M2D5M5D26M3D2M1D29M1I34M1D2M2D17M2I96M5I13M1D15M4I27M1D11M5D79M2D25M3D2M2D13M4D59M3D26M5D50M1I18M2I2M1D70M4D13M1D64M4D19M5I8M3D65M1D11M1I59M2I1M1I81M2I23M4I32M3D44M1D33M1D126M3I6M5I2M5D31M5I71M4D10M1I44M5I1M5D33M4D7M2D4M5I8M2D2M3I42M4I8M1I25M5D101M5D7M3D21M2D40M4I59M1I19M1I6M4I4M3I21M3D41M5D11M1I21M1I34M2I113M1I32M3D51M2D26M5I38M5D12M4I1M2I3M4I22M3D8M2D31M4I92M2I38M4D7M5D107M3D62M4I8M2D47M3I29M5D19M1D102M4D53M5D31M3D41M4D19M3I13M3I19M1I8M2D59M4D48M3D12M2I84M5D8M4I11M2D19M5D45M2D3M5D63M5I11M2D22M2I8M3I58M4I9M5I51M2D3M2I24M3D11M3D31M1D34M5I23M5I12M3I23M4I11M4I180M3I8M2I2M5I3M1D32M1I7M1I31M3D15M2I2M3D2M2D29M2D12M5I6M5I3M1D43M5I62M1D32M3I26M2D15M1D17M4D21M1D1M4I16M3I55M5I32M2I20M3I54M3I16M2I104M2D39M1D93M4I31M2D2M3D54M2I16M3I10M1D21M4D4M1I73M1I72M3D12M3D17M3D22M4D11M3I3M2I96M3D77M4I37M4I10M2D29M2D25M1D51M4D3M5I1M3I79M5D4M2D170M1D10M1I1M1D14M4I18M5D4M2D64M2I51M5I6M4D35M4I4M5I105M4D25M1I65M5I21M3I19M2I19M4D50M2D14M5D2M4I11M4D11M5I2M4I3M5D13M4D9M4I77M5D54M2I11M1I79M3D24M5D4M1I5M5D9M5I5M2I12M2D6M1D31M4D40M1I19M5I3M3I44M4I4M1I81M2D13M4I42M2I20M1D5M5I60M5I5M3D4M4I2M3D20M3D34M5I1M5I59M1I7M1I11M4D8M4D11M4D37M4I24M1I23M3D50M1I29M5D3M2D20M4D26M5I25M3D91M5D37M5D6M2D57M2D106M2I1M5D13M3I67M2I22M3D15M4I35M2D24M1D42M5I28M3I57M3I33M4I48M3I8M2I13M4I12M4D10M3I16M3D15M3I5M5I82M5D3M2D9M4D9M5D12M4I70M5D1M5I12M4D35M5D19M3I23M2D67M4D73M5D2M3D169M4I18M5D7M2I71M2I44M1D13M2D47M3D6M5D11M3I37M1I16M4D70M5D61M1D5M2D3M4I115M2D29M5D18M4I57M4D10M5I13M4I13M1I6M4D57M4I19M4I3M4D42M5I19M5I33M1D12M4I4M1D18M3I14M5D6M4I8M1I3M3I2M1I4M3I81M1D38M2D64M1I60M5D91M4D20M1D2M4D9M5I16M4D71M2I61M4D10M4D132M4D11M4I23M2I22M1I55M2I23M3D5M1D4M4D151M5I4M2I47M1D2M5I2M2D17M2I3M2D6M1I38M3I7M1I74M4D14M1D53M2D11M3D9M1I9M5D13M4I38M3D30M2D40M2D2M5D5M4D20M5D10M5D1M1I1M1I14M3I29M4I64M2D8M1D41M3D33M2I57M1D12M5I54M1D113M1I66M3I82M3D39M3D15M1D58M5I11M3D9M4D16M2I9M5D13M2I24M2D34M2D4M3I13M1D73M1D56M3D7M1I11M4I12M4D33M2D47M2D28M4D15M3I42M1D11M5I103M3I18M1I13M3D29M1D136M3D15M2D8M1D7M4I10M5D14M1I13M5I11M3I98M1I94M4I49M1D34M3I12M2D6M3D60M5D28M4D34M5D86M4I36M5I19M5I9M1I21M3I31M3I10M3D2M2I30M5I156M2I78M2D11M5I5M4D5M5I51M4D7M2D17M1I53M1I1M3D43M1I48M2D15M4I10M1I35M4I40M2I20M1I14M3D4M5D1M3D73M4I91M2D11M1I11M5I99M5I7M2I58M1D50M5I21M1D35M5D86M2D65M1I5M4D17M4D1M4I6M2D39M5I23M2D3M4I21M3I20M5I7M1I15M4D16M4I20M3D15M1I32M4I5M1I86M5D40M3D11M2I27M4I85M2D2M5I59M2I14M1I114M5D2M1I3M2D24M4I13M4I12M2D73M4D7M2I3M3I55M1I3M5D7M3I81M1D17M4I39M1D10M5D19M4I25M4I65M5I54M5D20M2D10M2I58M3I35M1I30M2D56M3D14M2I195M5D77M1I16M2D97M5D3M4D12M5D9M3I14M2D4M3D6M2D55M4D8M5D28M2D52M5I13M1I26M3I115M2I40M4I17M4I33M4I11M4D34M5I18M1D3M4D11M1I8M1D60M4D55M4D20M2D5M3D1M4D8M2D29M4D18M1D72M3D51M5D14M5D47M5D6M4I4M5I2M4I18M5I135M5D7M3D50M4D17M2I26M4D12M2I6M5D38M4I2M3I52M2I5M2D2M2I4M1D14M3D5M3D50M5D59M5D10M3I20M1D9M5D160M4I8M2I71M1I59M1D6M3D32M3I28M4D70M2D76M5I28M2I21M4D7M1D10M4D8M3I27M2D15M5D9M3D11M4D52M3I19M5I100M5D55M4I1M3I19M4D3M1I34M1I17M3D15M4I30M4D115M5D126M1D21M5I20M2D1M4I49M1I15M5D42M4I32M2D6M4I31M5I8M2I58M2I1M2D69M1D6M2I34M4I21M4D21M3D68M4I35M2I28M2D22M4I5M5D27M5I39M3I5M2I155M2I24M2D59M4I31M1D16M5D6M5I40M3I26M1I38M3D6M4I21M4I20M5I3M1I8M2D46M5D36M3I12M3I39M2D10M5I3M2D9M3I28M5D2M5D24M4I100M3D17M5I69M3I30M5I27M2I1M5I49M3I63M2I4M5D16M4I45M5I85M4D25M3D21M4D16M5I211M3D12M4D14M4I30M5I23M5I4M5I6M5I8M1D11M1I48M3I29M1D14M3I35M3I32M2I10M1I27M4D107M2D71M5D52M4I1M4D2M3I8M5D50M4D15M2I59M5D3M1I8M1D37M2D69M3I58M3I2M2D67M5D15M2I46M3D27M3D54M2I55M4D18M2I134M2D35M4D84M3I49M4I34M2D39M3D30M2D14M3D32M4D30M3I8M2I123M2I70M5D5M4I22M1I31M1I9M2D5M2D20M2D28M5I36M2I41M1I14M2D98M3I3M4I8M1I37M4D1M5D62M4I30M5I38M5D26M1D18M1I18M2D28M3I8M2D65M4I10M4I4M4I8M4I8M2D21M5D30M5D42M1D5M3D13M1I54M2I39M4I59M4I44M5D5M5D9M3D64M4I3M5I21M4I15M4I31M5I42M1I49M5I49M3D6M2I10M5D24M1D45M2I2M4D22M5I16M1D20M3I12M5I3M4I13M3I73M2D27M3I9M3I20M4D1M3I3M1D2M4I2M1D48M3D5M3D90M5D19M3D8M5D12M4I3M4D1M4D18M5I9M2I66M4D10M2D81M2I18M5I16M4I71M5I13M2I12M3I55M4D2M3I31M1D13M2I73M5I18M2D6M2I13M1D29M3D91M3D1M3D62M4I37M2I82M2D10M3D11M3D18M2I63M3D19M4D12M3I16M4I21M4I21M4I59M5D12M5I48M5I4M3I64M5D17M4I1M3D41M2I30M5D6M5D5M1D7M2I25M2I6M4I15M3D39M1D34M1I21M5D35M5D4M1I23M3I40M3D58M5D24M3D139M4D85M5D5M3D1M5I45M3I1M4D3M4D30M3I3M5D39M2D124M3I19M2D68M5I1M1D13M5D24M3D14M3D6M4I7M4I6M5I9M3D43M1I62M4I15M1I2M5I19M2D26M4I11M3I39M1D21M1I3M1I32M5D90M3D36M2I29M5D5M2I33M5D40M4D18M1D62M4I22M3I7M2D14M4D29M2I38M2D95M2D10M4D6M3I5M1I16M5D4M5D16M1I45M5D8M2I1M2D39M1D45M2I13M5I3M3D49M3I23M4D8M1D73M3I14M1D48M3I9M4D7M4I7M4I9M4I8M1D7M5I23M1D4M2I16M4I26M2I20M5D8M2D45M3I14M3D12M2I26M1D47M5I19M2D1M1I10M5I50M2D21M5D4M3I48M3D16M5D49M1I19M2D17M5D7M2D10M1I46M4I1M1I20M4I23M1D20M4I54M4D71M2D3M5I1M3D82M5I12M3I36M1I2M3I86M5I20M1I18M2I40M3I63M1D22M1D23M1D46M2I50M4I104M3I8M3I36M3D81M3D22M5D131M3D41M3D3M4D16M2D17M5D9M5D2M5I29M4I25M5I12M4D23M5D43M3D17M2I26M2I6M1D42M1D57M4I7M2I22M1I10M5I17M2D23M5D15M1D8M1D9M2D28M4D15M5I12M3I1M2D23M5D17M3I29M3I39M3D9M3D58M1D168M1D48M1I6M1D23M2I10M2D4M3D27M5I46M2I24M2I19M2I30M3I248M1D21M1D14M3D42M1I18M3I33M2I19M3D19M1I65M1I21M1I21M1D36M4I14M1D7M2D42M4I19M4D107M2D35M4I37M2D57M1D80M1I66M1I1M5D20M1I41M2I16M5D21M4D40M1D24M3D17M1D11M4I14M4I12M4I40M5I81M2I13M2D28M4I66M5I21M1I111M2D87M2D4M2D19M1I12M5I1M3D19M1I71M5D50M5I7M3I41M2D62M1D27M5D121M4D7M1I24M5I5M5I19M4D37M4I20M4D59M1D77M3I27M2I34M2I26M4I15M1I14M2D85M3I14M1I2M3D5M3I21M2I16M5I17M2I6M3I1M5I43M4D7M4D38M5I24M2D7M4D54M3D2M3D26M1I29M4D34M4D1M1I7M2I23M5I26M3D26M4I14M4I99M1I112M3D116M4I6M3D22M3I46M2I90M2I51M4I50M1I15M1I4M1I23M3I23M4D3M3D8M3D26M2D28M4D16M1I101M4D41M1I15M4D7M5D8M5D1M2I62M3D50M2I47M2I12M5D97M2D12M4I8M3I27M4D17M1I51M3D72M5I5M1I68M5D31M4I6M1D15M4D9M5D54M1I21M1I6M2I13M4D4M5D9M4I79M4D21M3I28M5D4M1I21M4I5M2I37M3D10M5I29M4D13M5I8M5D33M5D10M3D40M1D63M5I8M2I7M5I62M2D8M3I5M3I53M5I17M4I39M3I15M2I7M5I42M2D39M2D95M1I99M1D3M2I44M5I22M2I20M2D36M2D7M5I63M2D5M2I84M1D70M1I53M4D21M4I72M1D19M4D31M2I3M3I56M1D9M4D44M3D58M1D24M4I18M5I31M1I24M2I67M3I22M1D53M4I10M3I45M1I37M1I4M3D6M1D140M2D27M1I107M1I2M5D35M3D21M3D5M4I100M3I11M3D31M4I45M2D42M1D35M4D61M2D14M2D29M1I46M5D8M1D61M2D34M3D17M1D22M1D18M2D39M3I45M3I27M5D1M4D89M4D29M2D25M3D3M4D17M5I17M4D1M5D46M1D41M1I151M5I26M4D24M1D93M4I11M2I61M3I31M1I2M4D24M2D15M4D73M2I8M2D2M3I20M4I18M3I22M1I32M2I18M1I4M2D31M5I6M1I4M1D2M3I99M1I13M2I4M3D20M1D31M4I22M3D25M3D16M1D3M5I46M2I2M2I33M5D14M3I19M1D122M1D47M3D3M2I46M2I29M1D39M3I2M1D12M2I49M1I47M4D158M4I24M1I36M3D23M3I18M4D61M2D15M2D36M4I30M2I2M5D24M5D3M1D2M3D34M2D9M3D4M2I16M5D136M4D3M3D4M3I17M3I32M4I22M3D29M2I10M4I7M1I1M3D10M1D38M3I17M3D13M4I23M1D43M1D17M3D7M4I18M2D4M1I32M5D6M4D26M1D56M4I26M3D41M2I22M2I7M5I3M5I2M5I29M5D23M4I34M2I16M5I10M2I2M2D55M1D6M5I52M3D43M3I78M4D18M5D15M1D8M1D16M4I10M3I67M1D41M5D3M4D9M5D17M1I25M5I1M1I9M3D54M2D20M5I17M2D27M5D30M4D59M1I8M2D47M4I1M3D13M4D83M5D13M5I121M4D13M2D2M3D15M5D13M1I38M2D29M3I84M3D33M5D126M2D9M4D99M1I29M1I9M4D4M5I12M3I12M1D34M3D97M2I15M3D19M3D11M5D46M5D7M5I30M3I35M5I67M3D20M1I12M5D31M5D13M4I14M2I13M4I7M5D18M3D26M4I64M4D7M2I48M4D66M3I56M3I41M5D9M2I5M5D87M2D11M3D69M5D46M2I17M2I4M5I46M1D36M1I2M4D9M1D29M2D4M5D23M4D31M4D42M5I1M3D25M2I44M2D21M3I16M2I120M5D44M5D38M1I45M1I19M3I10M1D5M3D62M1D8M4D35M3I3M3I3M1I5M5I10M4I42M2I66M5D85M4D16M4D2M1I78M1D74M4D6M4I50M4D11M3I37M3I17M2I7M1D24M5I60M3D3M1D1M1D42M4I21M5I104M2D14M2I9M3D115M1I32M4I28M4I39M1I32M4D41M1I88M3D40M4I27M3D2M2D17M3D4M4D18M3D13M2I22M3I4M2I30M3I23M5D161M4I19M4D41M2I13M1D66M3D11M2I15M2I31M3D55M1D62M1I2M5I10M4I15M2I168M1D7M3D45M2D55M1D45M1I20M2D65M1I46M1D46M1I2M1D7M4I20M2I3M2I66M4I36M3D7M5D51M2D17M2I4M2I100M2I1M5I10M5D8M1D23M5I78M3I35M4D13M1D72M3D39M5I21M1D1M4I22M1D119M3I1M3I26M5I4M4I5M3D41M3D10M2D132M5D34M1D35M3I34M2D7M3I11M3D6M1I28M3I27M1I25M2I14M4D1M4D51M4D25M1I62M3D7M4D33M4D10M3D16M2D36M4D55M5D25M2D5M5D7M4I58M4D14M3D4M3D60M5I26M2D64M1I10M1I3M1D4M5D36M4D18M2D17M3D1M2I32M5I65M3D9M3D65M4D91M3I13M1D10M5D31M3I120M5D17M4I35M3D12M4I10M5I7M1I15M5I29M2D7M1D2M4D2M5D2M3D29M2D20M3I19M2I26M5I19M2D29M5D29M4I45M2I5M5D18M4I70M2I22M3D27M5D8M5D12M1I4M4D64M3I3M4D31M3I4M5I35M4I17M3I27M5D25M5I11M2I12M3I9M2I39M4D9M5I18M5D11M4D41M2I28M3D10M3I1M2I67M2I56M3I8M4D3M2D3M5I2M5D31M5I26M5I7M2I32M3I37M3D61M1D16M3I46M2D7M2I44M1D11M5D4M4I38M3I2M2D12M1I38M4I7M5I9M1I6M4I40M2I20M3I34M2I5M1I38M5I15M5I46M3I85M1D14M5I32M4I13M3I12M1I76M4I40M2I76M3I14M3D13M2I1M2D78M5I23M1I3M1I18M3I36M4D9M1D16M5I42M2D32M1D30M2I18M4D42M4I18M2D117M5D12M3D22M5D21M2D18M2I81M3D7M2I81M1D39M4I32M5I33M1I48M5I26M4I17M2D41M1I110M5D13M2D51M1I69M4I18M2I32M3D46M5I14M1D30M3I27M3D34M3I5M3I45M1I67M1D7M3D13M2I11M4I18M1D21M2I91M5D51M1D1M4D6M1D23M5I32M1I11M2I19M1I8M1I49M4D44M4D23M3D11M1I45M4D55M5I7M1I2M5I64M1I30M3D34M3D1M4D42M3D2M5D68M2D59M5I12M2D2M4I24M4D15M4I21M2I46M1I19M4I37M1I14M2D63M3I100M4I17M5D85M2I130M1I32M1D65M5D79M5D10M4D27M5I85M5D6M2I50M3D28M4D7M5I11M5I1M2I8M2D2M5D66M5I30M1I18M5I43M5D3M2D5M5I57M1I90M5I32M2D27M4I28M1I75M1I85M3D38M4D57M5I18M2D97M1D1M1I23M4D1M5I6M5D51M2I59M1D24M5I25M4I23M4D49M2I131M5D2M4D3M5I32M3I25M5I7M3D14M5I9M5I61M2I6M5I4M1I5M3I64M5I12M2D28M1D13M4I46M1I13M1I42M2I1M3I45M5D37M3I5M1D14M1I21M1D147M5D17M3D84M5I3M4D10M2D13M1I13M4I75M5I2M1D6M2D13M3I32M2D8M2D22M4I52M1D4M4D10M4D16M4I3M4D3M1D23M4I6M4D33M3D238M2I5M5I9M3I5M3D12M2D16M4I35M4D41M4D7M3I26M3I17M3D132M3I29M3I24M5I49M5D2M1D10M5I30M1D26M2I16M5D76M2I105M2I66M4D8M3I2M3I103M5I1M2D47M2D61M1D14M4I1M3D3M5D4M2D48M3I36M2I13M4D1M3I20M3I26M1D42M4I19M1D21M1D26M5I49M3D18M5D15M4I7M3D30M3I23M2I80M2D2M3I4M4D7M1I10M3D33M3D42M5D11M5D1M4I15M1I38M2D117M2D33M1I11M1I112M1I23M1D24M5D32M4D30M2D37M1I37M5D16M5I14M5I30M1D26M5I40M3D9M2D8M4D2M2D14M1I19M4I19M2I90M3D16M3D9M1I23M4D19M1I13M2I49M1D47M5I35M3D33M3I21M4D1M1D70M3D75M5I137M5I21M3D73M4I14M1I53M5D17M3D59M5D21M3I43M3I37M2D8M1I53M2D22M4D111M3D48M4D35M4D10M1D46M5I39M1I300M2D19M1I38M2D52M3D29M5I102M5D17M3I26M4D12M5D86M3I5M1I13M5I21M5D14M1D42M3I27M3D12M1D9M5I51M3D76M4I2M4I52M5I98M2D47M5I19M1I30M5I9M2I24M2D42M3I22M3D1M1I39M1D12M1D151M4D25M3D1M1D21M5D10M1D36M2D35M4D38M5I13M4D83M2I13M1D40M3I16M1I14M4I45M3I9M3I29M2I18M2D24M4I4M2I40M3D46M5D2M1D11M1I21M1I30M3D17M1D16M1I13M1I37M3I3M2D21M2D19M2D11M2I10M3I120M3I44M2I4M5I45M4I122M4D27M5D20M4I50M5D22M3D21M1I6M1D26M1D23M3D17M1I49M2I7M4D37M2D74M2D7M4D81M3I6M5D9M1D8M2D40M1I7M4I24M3I1M3I36M4I32M1D1M4D21M1I12M5D91M3D3M1I36M1D15M4D13M5I57M1I123M5I10M1I75M3I162M3I22M1I6M1I18M5I31M1I43M3I83M2I57M5I43M2I6M5I19M2D77M1I33M5I10M3I9M2I34M1I7M3I47M5D17M2D37M4D25M3D23M3D1M1D16M4D1M1D12M3I29M2I1M4I28M1I4M5D65M4I26M4D4M1I59M3I21M4I51M4D16M4I81M1D4M3D54M5I82M3I10M3D73M5I59M2D32M5I11M4D5M3D46M2D15M4I10M3I35M4D11M4I52M2I4M4I23M5D41M4I78M2I115M5D1M3D5M4D6M5I10M3I13M2I1M2D68M1I17M1D1M2I8M5I20M1I49M2D32M5D75M3I11M2I29M5I15M4I31M4D25M3I87M1D22M4I20M3D11M2I10M1D39M1D6M2I138M3I102M5I10M2D50M5I32M2I34M4D4M1D6M1D22M5D8M1D17M3D2M3I65M2I15M1D5M5I16M5D7M5I23M4I10M5I9M2D14M4D27M1D22M1I43M5I59M3I11M3I61M2I38M2D11M3I52M2D129M2I40M4I28M4I25M5D10M5D75M5I92M3D15M4I8M5D1M5I90M4I17M4I167M2I36M5D106M2D61M4I99M1D2M5I39M1D43M4D4M2D23M5I82M5I5M3D12M4D11M2I17M4D42M2I35M4I20M4I44M4D24M5D30M4I33M3I6M3I7M2D22M5D36M1I36M5D3M1I7M5I2M5D3M1D7M1D40M5I49M1I57M3D13M2D24M1I66M2I49M3I23M3I22M1I32M1D12M5I9M3D11M3D6M2D30M5D43M1D61M4D12M1I4M2I36M2I19M3I4M3D87M5I3M2I28M2D76M1I25M2I12M1I19M3I31M4D48M5I26M2I56M4D2M2D16M1I57M2D59M2I5M4D25M2D5M4D46M5I3M3I9M2I10M5D8M4I29M5I4M4I5M1I34M4D28M2D6M5D90M1I42M4I3M4D78M4D21M3D35M5I41M4D32M1D6M4D16M3D41M1I50M1I74M1I5M5I16M4D29M3D35M2I110M2D30M2I1M4D1M2D14M4D20M4I3M5I30M3I19M5D16M3I23M3D68M3I20M4I5M4D2M1D44M2I19M5I8M5I46M3D12M1D4M2D12M2D107M4D59M2D31M3D6M1I45M1D138M5D24M5I6M5I17M4I63M1I54M3I51M3I21M4I28M2I9M1D15M1D1M3D2M4D14M4I68M5I27M1I92M2I6M5D2M3I9M4D17M1D23M2D14M3I39M5I6M2I2M1I43M3I8M3I27M5D3M1I64M4I30M4D14M5D14M2I8M3D17M4I18M5I47M4D5M3I14M5D11M5I30M2D42M1D19M3I12M3I30M3D5M1D17M2I8M4I29M4I194M5D106M3I16M5D53M3D27M3I16M3D41M5D1M5D13M3D36M5I52M4D3M4D48M1I1M3D10M4D56M4I1M3I9M2D23M2D61M4D37M4D20M4I27M4D35M1I19M1D13M4I41M4D8M4I38M2D40M2D8M3I30M5D2M1D53M4I11M2I6M5D12M1I13M5I31M3I60M3D38M4D52M1D56M3I20M2D9M2I12M5I43M3D7M1D1M3I48M5I44M5D9M2I65M5D4M4D44M3I1M1I39M1D14M4I53M1D7M4I2M1D1M1I3M2I47M4I27M3I27M5D39M2I36M1I9M4I11M1I20M1I54M3D20M1I10M3D71M5D34M1D46M1I80M4I22M4I62M4I3M2D14M5I127M5I46M1D22M2D26M5D36M3D24M1I16M4I23M5I18M2I13M5I1M1D30M3D8M1I67M4I11M3D4M5I4M5D4M2I53M4D19M3I35M3I17M3I15M2D7M2D6M2D23M4I16M2I102M3I1M3D93M1D26M1I24M1I16M1I102M5D16M3I25M1I4M3D9M4I26M1I18M1I3M2D44M1I73M5D14M2I15M4D35M3D15M3I35M1I42M5D32M4D25M2D1M3I99M1D12M2I30M5D41M3D23M3I16M4I43M4D15M3I12M3D67M1I18M4D43M2D44M3I153M2D63M5D14M1D5M4D10M4D19M3D21M1D37M5D42M3D21M4I6M5I30M3D9M4I31M4D18M5D12M2I11M4D63M2D35M5I40M3D18M4D42M4I2M3I65M1I8M2I33M1I5M4D50M3D8M3I85M4D22M3I14M2D29M2I20M4D2M5I2M3I23M4D66M2I5M1D2M4D54M4D95M2I30M4D16M4D53M5I17M4D11M1I54M1I1M5I23M2D3M2D8M1I14M3D56M3I7M4I11M2I7M5I5M3D2M5D27M5I69M4I19M2D117M1I52M1I115M4D20M1D2M5I19M4I71M1I2M2D96M3D19M3D1M3D33M3I31M3D10M2I8M4D33M4I61M1I8M4D3M2D41M5D26M5D71M1I7M2D3M3I20M3I15M1I32M2I8M4I15M4D20M5I8M3I11M1I87M1I16M3D28M2D4M3D21M3D3M2D36M3I28M1D13M2I40M2I54M3D45M3I25M4D10M1D88M1D44M3D71M4I53M1I12M4I15M1D2M4D2M4I6M1D11M4D15M1I43M5D17M2I70M3I52M1I31M1D37M3I9M4D9M4D9M3I30M1D122M2D9M3D3M2D4M3D60M1I50M3D5M4I19M2D45M1I11M1I21M4I1M5I11M2D18M2I70M2D10M4D69M3I14M4I20M5I26M4I106M3I35M3I12M4I6M4D85M3I13M5D91M5D87M1I27M4I81M4D51M2D20M3D24M1I17M5I11M5I18M3I2M5I17M3I52M2D30M4I50M1D41M3I10M2D20M5I20M4D23M2I44M4I3M2I3M4D4M2D15M1I9M5I4M1I24M4I42M3D18M2D36M2D168M4D17M4D59M3D46M1D4M5D77M1I33M5D41M3D19M4D41M4D101M2I50M1D95M4I47M2D13M3D110M4I30M5I1M2D119M2I22M3D16M1D7M4I8M5D54M5D12M4I6M5D12M3D77M3D20M1I30M2D5M4D8M4I14M3D85M1I120M2I1M5D23M3D1M2I100M2D39M4D8M4D48M4D10M5D69M5D17M2I7M4D15M1I12M2I23M4I9M1I28M1I3M4D95M1I9M1D34M1D25M5I6M2I4M3I52M5I1M4I4M4I104M1D56M3D94M3I65M4D22M2I3M4I8M1I89M2D25M2D33M2D51M2D12M1D64M2D35M4D15M3I11M5I66M4D3M2I32M5D43M5D61M2I7M1I51M2D2M3D58M1D1M3D29M2D36M3I37M2I37M5I21M4D19M5D32M3D83M4D61M5D22M4D67M5D24M1I111M3I3M5D4M2I43M2D45M4D74M3D81M5I22M5D224M4D9M2D2M4I103M5D84M4I2M2I8M5I12M3D43M2D24M4D29M2D15M5D2M4D21M3D1M3D8M3D14M3I26M1I21M4D84M1I3M2I6M4I16M4I49M3D17M4I42M3I47M4I11M2D1M4I13M2D16M5D8M2D70M2I4M1I144M4D27M3D20M1D3M1I18M5D5M4D15M5I16M1I70M4I6M2I25M3D148M2I198M2D58M2I120M2I10M2D23M2D19M1D33M3I16M5D21M5D40M5I9M3D16M5I8M3I50M4D15M1I57M4D2M3D22M3I7M3I18M5I8M3D14M5D77M5D16M5D17M1D48M5D17M3I17M3D77M1I20M3D10M2I50M4I3M2I74M3D76M5D32M1I39M4I32M5I10M5D14M5D46M3I48M3D33M1I34M2I8M5D40M5I40M4I6M3I13M5D8M1D16M4D38M5I7M3I3M5I21M1I10M2I4M2D31M5I139M5I24M4D179M4I18M3D64M2I23M5D1M1I10M3D35M5I20M2I6M1I38M5D29M3D43M2I16M4D6M5I6M1I7M4I14M3D17M4I1M5I34M3D114M5I62M4D21M5I34M2I5M1I28M1D68M1I100M1I39M2I21M5I22M1I65M2I51M3I12M4D3M5D12M3I2M5I6M5I17M1D42M5I69M1D4M4D4M2D3M3I12M1I34M1D9M3D27M2D4M3I36M5D33M2I5M3D46M3I43M4D5M1D3M2D15M5D65M1I7M2D9M4I35M1D7M3D130M4D60M2D2M5D14M4I13M2I5M1I65M4D47M2D40M1I42M4D27M1I3M5D11M2D1M5I49M4D8M2D34M2D25M3I40M4D48M4D76M2D30M5D13M4I76M4D3M4I12M1D11M5D16M4D15M2I57M4I8M3D10M5I16M4D17M4D45M1I17M3D11M5D128M5I13M4D53M1D16M5I6M5I7M5I69M1I9M1I24M1I79M5I14M5I37M4D56M5D10M3I51M3D20M5I16M3I12M5D16M2D26M2D19M5D87M3I21M5D12M5I43M1D67M3I4M3I2M4D9M1I41M5I85M3D74M1D14M1I39M3I37M4D28M3I49M5D75M5I12M4D114M5D5M2I46M1D6M3D19M3D28M2I128M2D114M2D9M5D13M2D15M1D22M1D146M5I5M3I18M3D1M3I9M2D71M4I10M3I50M4I21M2D16M2I9M1I10M2D11M3I8M1I1M2D121M2I1M1D35M4I50M4D6M2D9M3D3M4I8M3D27M4I34M1I69M3I18M1I11M4D5M2I28M1I39M5D1M1D24M5D132M3D3M4I22M4D15M1D27M4I2M3D47M4D8M1D65M2I18M4I11M3I37M3I72M5D4M5D10M4D27M4I8M4D61M2I67M1I3M3D6M2D14M1D39M3I25M3I7M4D12M5I27M2I19M5D85M4I19M5D97M5D95M1I3M1D68M1I24M4D39M2I21M2D22M2I81M1D57M3D26M1D42M4I8M5D13M5I47M1D91M1D38M1I2M1D155M1D2M5I69M3I5M4I8M4D41M5I3M3D9M3D133M3I32M3D47M1D39M2I68M3D3M3I5M2I6M1I28M3I9M2I11M4I3M1D35M3D87M5D81M1D54M5I35M2D57M1I11M2I94M4D19M2I49M1I23M4I54M1I8M1I8M4D79M2I4M4D5M5I7M5D83M5I4M4I16M4I38M2D15M5I7M2I2M5D18M2D46M2I1M1D5M5D2M5D6M3I19M2I1M2D34M4D21M2I55M2D63M1I9M1D7M5I48M3I13M3D16M2D10M5I64M4I5M4D32M2I1M2D2M4I3M3I47M5I27M5D88M5D9M2D6M2I11M5D72M4D16M3I11M4I30M2D6M4D37M1D32M3D9M5D76M5D82M3D7M4D11M5I8M5D18M2I70M2D2M3I153M2D47M3D33M5D20M3D51M3I1M4I26M5D6M5D4M2I16M5I45M2D4M2I55M2I62M2I51M5D88M2I19M1D25M5I33M5I16M5D15M2I2M1D3M2D8M3I25M3I24M1I14M3D14M2I160M1I9M1D26M4I3M5D116M1I16M2I70M4D32M1D45M1I37M4I45M5D2M3D50M3D28M4I23M4D9M3I135M2I1M3I9M4D7M4D80M1D11M3I18M3D14M5I5M1D21M4D20M1I53M4I14M4D9M4D3M5D32M4D48M5D16M3I2M2D3M3I27M5I63M2D4M4D20M1I19M4I26M2I2M5I26M4I14M2I18M1D5M5D57M4I26M5D59M4D26M4I31M1D2M3I24M3I18M3D3M3D14M1I47M2I20M3D21M3D30M4D8M4D44M5I1M3I134M1D3M2I22M4D20M2D16M2I41M3D50M3I43M3I23M5I39M2I90M2D30M2D28M5I21M2I16M5D2M2D158M2I8M2I31M5D36M1I11M3D51M2D150M4I3M5D7M3I34M3I12M1D4M3D26M4D7M3I30M3D8M4D15M2D36M4I5M1I21M5D22M1I181M1I94M4I1M3I5M2I27M2D14M1D27M5D141M1I16M4I15M1I16M2I33M4D23M2D6M3I31M1D32M3I23M4I50M5D19M5D60M5D47M3D24M3I68M3I60M1D45M5D30M1I46M2D4M5I27M4I79M5D32M2D17M4D3M1I15M1I1M5I14M2I6M5I20M4D40M1D23M4D13M2D16M2I39M1D53M2D25M4I1M1D7M3D7M2D48M4I31M3I33M3D7M2I18M2I18M1I52M1D64M4D4M3D19M1D26M4I3M2D42M4I2M2I9M1I121M1I6M4I31M5I13M1I14M2I122M4I19M1I33M5I15M2I12M5D6M1I48M1I1M1D43M2D6M3I79M2I45M3I16M1I83M2D17M5D28M1D1M5I7M1I55M3D28M2I93M5D51M2I6M4I9M4I88M5I50M2I4M1D23M4I89M4D2M3I20M4D128M2D36M3I50M3I131M4I5M4I21M4I44M3D4M4I16M3I33M5I59M1D6M1I20M3I25M3D18M1D28M4D24M1I9M2D13M4I5M2I81M1I13M1I33M5D7M4I17M2I88M2D6M5I17M3I28M1D27M4D24M4D22M3D7M4D8M2D22M3D3M2I71M3D23M5D38M2I24M1D5M5D24M1D1M5D7M3D19M2I69M3I50M5I25M3I34M2D37M4D63M2I14M3D37M4I8M2D13M4D30M1I8M5D60M3I14M4D35M1I102M5I19M3I18M4I10M2I14M5I85M1I23M1I10M2D28M2D9M3D25M2D10M4D92M3D43M1I29M5D49M3I4M5I20M2I16M2I15M1I181M2I7M5I43M5D32M4D24M4I26M5I23M3D46M4I46M5D17M5D10M1D85M1I35M4I56M3I43M5D20M4I17M3I44M1I10M1D119M4I24M4I5M3I92M1D45M1D4M2I85M3I77M3D60M5D1M1D24M2D61M1I20M3D37M2D78M5D20M3D17M5D14M1D28M1I45M4I2M3D46M3D22M4I51M2D11M4D27M5D13M5I38M1D32M3I56M1I41M5D32M4I12M3D3M4D24M3I78M2I26M4I45M1I19M4I14M5D42M5I9M5I9M2D24M3D3M2D12M3I14M5D9M2D15M1I20M5D92M4D12M2I46M5D2M4D82M4I9M5I21M3D54M2D53M1I62M4I7M5D19M4I3M3D48M4I53M4I85M3D26M3D96M5D10M2I8M5I63M4D2M5I76M1D3M2I63M5I44M3I56M5D13M4I6M1I25M1D20M5D9M4D35M1I18M3D22M5D116M3I33M3D7M2D8M5D2M2D16M2D16M4D62M3D25M5D6M5I110M4D105M4I96M2I54M4I243M1I76M4I41M2D8M3I46M1D33M4D12M5I52M2I2M3I34M1D9M1D17M3D77M2I2M5D16M5D108M5I11M4I12M5I25M5I47M5D5M1I11M1D14M1I19M4D67M5I10M2D41M3I24M5D18M2D25M5I30M4I30M4I15M1D153M4D5M1I26M2I34M1I1M2I8M2I12M5I81M4I14M2D49M3D66M4D14M3I21M5D100M4D15M1I39M3I10M2I138M4D8M1D54M4D25M2D21M5I1M2D17M5D38M5D53M5D41M4I180M4I17M4I20M3I12M2I47M2D62M4D8M4I46M2D38M4D74M4I60M4D127M2I58M3I91M1D22M4D7M4I8M1I70M3I25M3I32M3D41M2D11M1I48M1D19M3I27M3D88M2D33M5D88M3I19M1I9M1I22M5I2M4I5M1D13M2I22M2D26M3D107M2D68M1I27M3D12M3I67M1D71M5I14M5D69M1I21M3D29M5D3M3I23M4D4M1D2M1D2M1I23M5I34M4I16M2D22M5I48M2D7M2D20M4I16M2D20M2D7M3D31M1I43M3D51M5D25M2D1M3D10M2I29M2D105M5I1M1D34M2I4M3D23M3I75M3I44M3I12M3D18M2D22M4I39M4I16M2I11M1D14M1I6M4I15M4D90M3I14M5D33M5I14M4D2M3I2M3I90M4I10M5D81M4I19M3D122M2I26M4I14M4I9M1D28M5I14M4D28M5I65M5I10M4D23M1I58M1D22M3D15M3I45M1D23M4I47M4D15M1D9M3I19M5I3M4I29M1I7M4D6M1I24M3D106M4D138M5I18M5I5M4I1M1I18M4I70M2D20M3I14M1I81M5D18M4I44M1I18M4D7M1D16M2D12M3I48M1D1M2D123M4I45M5I2M1I2M1I14M3D15M3I7M2I11M3I23M1I42M3I12M3D46M1I17M1D38M3I3M1I9M2I83M2D6M1D51M5D21M2I6M3D41M1D62M3I24M3I4M3I3M1I27M2I56M2D1M4I23M4D63M3I16M2D10M3I2M1I28M2I65M3I74M5I58M5D12M3I13M2D14M3D4M5D17M5D8M5D1M5I25M2I6M3D28M3I11M2I108M2I2M2I6M1D41M1I25M3D26M4I44M2D47M5D55M1I1M2D96M3D11M3I53M5D2M2I84M4D2M1I31M1D41M1I65M3I28M2D133M2D2M2I15M2D7M5D13M5I4M3D11M2I12M2I5M5D8M4I27M2I11M5D142M4D14M3I93M2I9M4I24M4D11M1D46M5I17M2I6M3D101M2I81M2I6M4D66M2D46M4I10M4I224M4D71M2I8M1I16M2D1M5D49M3D30M5I32M1D72M3I82M1I25M4I35M4D20M1D38M1I54M1D24M3D10M3I96M2D23M4D9M3D9M3D8M5I19M5D8M2I16M5D66M5I6M2D19M4I8M2D32M1D82M4I26M1I5M1I5M2D50M3I75M3I11M2I6M4I96M2I47M1D5M1I6M4D15M2D41M1D42M3I19M1D35M3I46M3I2M3I15M5D22M5I12M5I5M2D1M3I8M4I20M3I9M4D11M3D1M2I25M5D7M5D16M5I21M5I11M4D35M4D15M5D6M5D57M1I104M1D34M2D24M1D35M3D36M2I4M2I3M5D9M3I57M4D28M1I22M5I106M1I46M1I5M5D5M1I3M5D10M3I2M3I53M3I24M2D41M1I20M4I8M2I92M2D68M4I5M2D5M2I10M2D11M4D43M2I10M1I17M3I93M2D35M5I7M1I18M1I9M1D23M5I33M3I24M2I2M4D2M5D236M4I78M4D11M3I28M3I2M5D9M3I50M2I36M1I28M4D62M5D17M3I38M3I43M3D22M1D65M1D39M3D12M4D79M3D110M4D4M1D24M3I3M1D54M3D24M4D20M5I7M5I63M1D42M3I14M5I2M4I51M1I3M2I41M1I46M5I4M3D34M4I7M1I2M2I44M4D63M2I36M5D11M1I98M2D25M1I2M5D31M4D12M3D8M2D6M2I22M1I95M1I32M4D50M5I3M1D5M1D6M3I22M1I10M5I2M1D2M1D9M5I99M4I30M5I105M1I14M1I12M3I32M5D34M3D7M4I41M4D13M5I18M4D38M4I39M3I2M1D4M1I12M3D35M1D27M1I67M4I8M2D23M5I42M3D10M3D134M4D45M2D3M5D8M5I8M2I1M5D6M2D36M4I27M1I23M5D21M2D29M4I8M3D134M3I30M4D2M1I74M2I112M2I63M4D75M5D5M2I102M2D9M2I23M5D56M2I31M1I45M3I27M4I3M1D17M1I26M1D16M1I17M2D28M3D34M3I145M5D8M2I11M3I13M3I4M2I11M1I19M4D23M1I10M3I48M5D8M1I76M5I20M4I34M5D46M1D6M5I62M2I2M5I25M3D10M2I7M3I36M3I8M5D2M3I4M5I40M5D2M3I16M5D20M4D11M5D34M2I61M2D1M3D47M2D66M4D10M2I29M3I27M3I28M1D9M4I18M4I61M3D32M4I83M2I55M2I20M5I94M3D61M5D103M4D3M2D28M5D7M2I1M2D31M2D25M5I40M3I53M3I40M5I24M4D68M2D9M1D56M3D19M5I19M1I47M3D42M5D101M1D9M3D4M5D71M4I2M2D31M5D3M1D3M1I4M3D20M2D16M4I11M3I28M3D54M5D29M2I12M1D65M2I81M4D24M1D11M2I11M2D9M3D37M4I28M1D6M2I30M1D3M5D15M2D82M5D40M1D41M1I69M5I28M1I28M1D17M3D187M1I12M3D30M5D15M3I11M1D15M3I12M5D3M4I7M4D10M1I21M5D17M5I54M4I32M5I38M5D19M5I85M4I10M4D11M4D64M1D42M4D34M1D72M4I21M2D8M5D13M1I4M5D50M2D36M2D20M1I56M5D61M5D12M2I54M4I18M3I3M2I28M2I100M3I12M1D6M1D21M5D3M2D19M5I63M1I26M3D31M4I16M3I10M4I37M1I20M4D5M5D18M4I5M2D59M1I94M5I39M1I6M5D41M1D43M5D46M1I13M1D21M3I49M4D15M2D3M5I17M1I11M5I35M1D14M1D10M5I46M2I21M1D61M5D48M5I46M4D4M5D7M3D50M3D23M2I71M4D13M3D23M3D7M1D14M5I19M1D62M1I18M1I37M4D27M4I32M1I59M1D12M2D21M4I72M1D13M3D12M2D10M5I15M3D38M4I1M3D7M1D3M2D9M1I3M2D58M4D18M4I2M3I1M3D22M5I87M4D13M2D24M1I20M1I1M3I67M5I21M2I18M1D18M4I4M2D13M4I10M2I66M1I2M4D37M1D68M5I46M4D14M5D1M5I38M4I26M2I24M4I21M5I22M1I86M2D78M4I7M1D9M4D31M5I4M3I13M4I55M5I95M5D24M4D1M3D15M1I35M5D8M1D25M4I10M5I1M2D13M4D31M4I95M4D21M4I26M1D25M4I6M5D2M3I22M3I8M2D34M2I2M1D4M2D26M4D27M3D9M4I40M3I5M3I24M2D68M5D26M5D17M2I44M5D20M4D32M4I18M4I6M3D9M5D1M3D14M4D1M5D17M1I87M4I16M3D20M3D5M1I18M4D1M2D8M2D15M3D17M4D11M4I70M3I21M1D16M5I61M1I85M2D46M2D10M2D37M1I5M4D17M2I42M3I49M1D7M2D25M5D46M3D23M3D18M1I71M3D4M4I5M2D5M4I50M1I48M5I67M1D65M4I44M5D6M2I120M4I14M3D4M5D56M5I25M3D81M4I106M2D17M3I50M2I109M2I30M1D17M1I22M2D51M2D30M2I18M5I7M2I4M5D61M1D66M1I37M3I11M4I33M2D3M5D3M4I17M4D15M1I30M3D64M4D46M3D25M5D5M1D14M3I8M4D8M5I28M5I16M2I123M2I32M4D13M5D31M4D25M4I35M5D23M5I91M1I27M1D12M1D25M1D1M2I20M4I18M4I31M5I20M4D11M5I10M3I6M2I11M3I54M5D15M1D102M4D1M3D5M1I18M1D10M5I59M3I123M5D26M4I25M4D4M1D6M2I1M4D23M5I50M3I38M3D17M1D15M5D6M1D28M2I8M5D35M3I19M1I21M1I31M1D14M3D42M1D99M1I42M1D8M5D25M3I16M5D21M5D11M4I26M3D17M5D8M1D10M4D42M4D12M1D47M5I1M5D36M4I6M5I14M2I25M5I10M3D55M3I2M2I5M1I30M3I46M4D2M5I4M5I48M5D30M1I26M5D35M5I45M2I23M3I8M3D22M5D36M5I38M3I33M1D108M5I22M5D4M5D23M1D46M3D3M2I106M2I49M5I1M4D2M3D1M2D179M5I97M2I40M1D68M1D44M2D40M2I14M4I17M1I1M4I36M3I3M3D21M2D66M2I1M3I11M4D33M3D38M4I33M4D21M1D1M2D31M3I26M4D16M2D61M1I83M1I55M4I15M2I26M5I5M1I13M1I26M2D26M3I115M1D24M3D18M1D37M2I57M4D32M3D4M1I24M2I39M3D16M4I50M4I35M2D141M4I10M1I5M5D2M3D38M1I26M4I15M5D36M4D45M1D50M1D9M5D9M4I37M4D112M5D11M1D30M4I14M4I18M5I4M2I76M5D29M4D13M2I2M2I28M5D21M2D1M5I17M1I11M5I48M4I36M4I17M3I63M4D21M3D90M3D18M4D75M5D12M5D82M4I11M4D2M5I5M5I36M1D29M5D7M5D7M1D9M3I39M2D85M2I1M1D37M2I41M5D21M3I23M2D17M4D9M5D26M2I31M1D10M1I116M2D9M2I13M3I24M5I51M2D1M4I17M4I67M4I10M4I7M3I32M4D60M2D17M1D47M5I68M4I14M5I45M1D11M4D19M5I31M4I55M3D10M4D33M1D78M4D4M3D8M5D12M2D2M1D2M4I12M4I25M5I55M1D2M3I19M3D8M4D49M1I36M4I22M2D15M4I27M2I3M4D36M1I24M5D16M5I45M3I39M5D28M3I3M2I40M3I21M2D32M2D14M2I20M1I54M5I52M1I11M3D12M2D53M2D9M3I133M5D37M1I98M5I10M3D39M1I16M2D12M3D57M1D4M1I14M2I31M5I55M5I8M4I48M5D116M4D40M4I13M2I127M1I2M4D10M1I3M3I15M2I50M5I17M2I65M4D53M3I16M3D41M1D5M2D103M1I13M2D18M5I79M1I13M4D25M1I45M3D2M3D6M1D18M3D3M4D5M1D3M4I59M4D5M4I5M1I69M1D22M5I51M4D9M4I3M5I6M5I5M3I67M4I2M3D14M2I86M5I57M3I17M2D24M5D14M1I50M4D35M5D17M2D31M2I24M3I74M3D18M5I6M4I63M3D4M4I48M4D11M5D16M4I18M1I28M3I19M3D32M2D26M3I13M4D69M1I24M1D105M2I5M5I13M4D20M2D4M2I11M2I116M4D41M4D169M2D5M2D51M5D37M1D26M5I2M5I35M1D3M2D16M3I2M1I37M2D57M4I21M5I53M1D5M4D30M1I1M1D27M2I93M4I7M3I3M5I18M1D24M4D4M4I6M4I25M1D24M3D12M4I136M1I38M3I4M1D2M3D38M1I14M4D42M2I34M3D41M4D40M3I14M1I8M5D41M1D7M2I39M1I24M2D27M1D11M2D45M4D41M5I19M4D4M5I46M4I16M2D25M4I26M4D12M4D24M2I2M1D5M2D54M2I36M4D65M3I22M1D21M2I40M1D51M4D10M5D1M1D42M2D12M3D19M3D2M4I35M2I50M2D4M5D17M1D31M2I32M4D3M5D102M3D59M2D1M5I88M3I28M1I32M3I1M1D86M2I45M1D22M2I4M1I18M5D22M1D4M2D18M4I10M3I21M1I55M3I27M4D9M1I20M3I15M1I91M1D26M3D216M5D11M3I25M1I74M5D21M2D49M5I2M4D12M5I136M2I31M3D1M1D11M5D28M4I23M1I34M1D24M5I4M1I5M5D3M3I55M5I7M4D19M3D29M1D33M1D17M3D35M4I33M5I16M3I9M5I21M4D34M1I26M5D15M2D1M5D16M1D50M5I5M3I3M4I9M5D23M4I13M5D5M3I28M5I28M4I38M2I38M1D5M4D25M4D56M1I24M1D3M3I23M5I124M3D30M4D98M1D57M2I34M1D26M3I16M4I20M3I3M4D19M5I93M1D23M3D5M2D26M1D2M3D11M1D31M1D57M2I2M4I49M5D21M3D28M3D9M4I12M3D25M4D79M5I49M1I14M4I30M2I25M1I47M5I14M4D58M5D40M3I5M4D1M2D60M2D59M2D3M5I1M3D17M2D7M4I52M1D55M5D46M4I22M5D8M2I14M5D1M4D30M2I3M1D48M5D19M5I41M1D17M4D36M2D40M1I12M3I19M1D22M4D11M5I25M1I1M5D96M4D8M2I22M2D67M4I138M4D10M1D37M4D33M5I11M5D31M5D6M4D26M4I21M4D2M3I59M2D63M3I5M5D12M1I9M5I74M1I76M3D45M2I121M1D17M4I1M3D16M2I50M2I25M4D14M1D28M3D72M4I3M1I7M4D33M5I36M4D134M5D29M4D6M4I36M1D48M3I7M1D16M2D5M3D1M3I1M4I100M2I110M4D51M3D5M3D80M4D31M2I3M1I53M5D64M5D19M5I39M4D53M3D62M5D102M1D14M2D28M4I22M3D3M5I24M1D23M4I70M4D8M2D34M2D6M1I18M4D73M4I15M5D14M3I81M5I51M5I9M3D184M4D49M5D22M3I25M4I46M1D16M2I19M1D69M5D92M4I14M4I40M5D153M3D17M5D19M4I48M5D27M2D49M5I11M1D24M4D25M5D4M2I34M2I10M2D2M3D40M4I26M1I3M4D61M4I76M4D9M5I43M2D49M3I24M4I1M3I49M5I37M4I17M4I10M5D131M3I75M2D6M2I25M4D11M5D6M1I13M4D3M4I13M1I10M2I182M3I18M2I1M2I84M5D10M4I138M4I10M4I13M5D5M4I28M2D7M3D184M2I43M2D24M1D7M1I6M1I39M2D24M1I28M5D2M2D7M3D3M3D6M2I51M3I1M1I21M3D22M2I13M4D32M5D5M1D13M2I67M4I5M2I56M5I68M4I59M4D24M3I34M2I106M2I1M5D21M3D24M5I15M5I2M1I42M3I7M4D10M2I16M1D33M1D83M5I10M1D67M4D44M5I13M1I71M2I3M1I21M2I31M3D30M1D66M5I54M1I8M1I3M1D5M4I5M1D8M4D20M2D36M1D53M4I21M1D4M3D22M5I29M4I28M5D23M2D26M4D29M2I57M2D11M4I23M2I7M5I27M3D8M5I7M5D44M5I23M1I18M1D22M1D106M1D28M3I59M1D3M1D16M2D11M1D21M2D14M1I18M5I231M3D31M2I4M2D16M5I143M1D1M2D1M2I20M1I22M4I44M4D5M2D5M4I47M1I12M1D21M3I55M3D18M1D6M1I1M3I29M5I91M1I30M4D5M1I38M4I23M2D2M5D1M3D13M3D12M5I40M5D7M1I2M5D59M1I117M1D120M2D82M5I18M3I2M3D47M4I31M5D9M1D6M3D3M4I1M4I104M4D45M5I3M2I30M3D33M4D100M3D51M2I66M2I10M1D13M2D73M3I9M5I7M2I35M5I86M5I33M5D10M3I1M5D14M3D52M5D54M2I25M1D33M2D81M2I14M2I35M5D15M2I38M3D57M2I47M2I26M5D23M1D73M3D15M4D16M2I3M5D110M2D13M1D45M4D14M2I5M4D34M3D56M4I5M1I52M1I8M3I17M2D5M2D33M3I39M2D93M5D20M3D7M5I38M1I4M3D83M2D7M3D10M1I50M1I49M4I22M1D37M4D38M3I28M5I32M3I10M1I37M1I12M2I15M2D10M5D10M3I56M1D6M2D15M1D40M1D50M4I139M4D10M2I84M2I12M3D13M5I13M3D53M4I12M4D16M5D11M1D43M5I9M5D29M2I95M1D2M4I8M4D80M4D48M4I14M4I15M1D75M4D10M5D1M3I62M5D33M3D146M3I30M1D18M2I20M1D110M1I2M3D88M1D40M1D21M5D147M2I1M5D23M5I25M5I8M2D122M3I21M3D10M3D19M4D3M2D166M3D4M2D34M5I25M1I19M4D16M1D4M4D13M1D3M5D65M1I13M3I108M2I33M5I24M1D1M2D35M5I8M2I92M3I26M5I15M1D60M4I10M2D18M5D34M3I103M4D31M1I29M1I26M2I130M1I65M5D2M3I33M1I64M1D69M2D5M4I31M3I13M3I25M4D22M1I1M2D6M4D65M2D58M3D61M4D39M4D117M2I122M2D41M5D24M4D5M5D24M3I33M2I11M2D8M4D68M5D36M5I17M5I61M2D71M1I28M5I76M1I31M3I10M3I11M5I4M2I73M1I26M2D2M1D11M1D9M3I4M5D49M5I25M2D17M2I77M1D2M3D45M3D4M2I64M1I21M1I102M4I46M3I2M4I39M5D11M3D4M1I37M5D45M4D71M2D25M3I16M1I39M5I40M3D2M2I32M1I80M5D37M3I62M2D27M3D50M3D28M2D18M1I45M4D15M5D2M2D23M3I15M4D50M3D16M4I8M1D20M1I44M3D14M3D12M1I1M1I4M4I6M5I18M5D11M5I19M4D55M1D16M1I8M4D27M1D38M2D28M5D23M4I2M4I88M3D61M1D30M1D9M4I75M2D93M4I48M4D34M3D19M2I40M3D29M5I34M1D20M2D98M5I23M5D30M2D7M1D8M2I7M3I3M5D19M1D6M5D13M2I21M4I18M5I88M1I12M1D67M5D6M1I6M2I83M4D51M3D1M4D56M5D7M5I18M5D97M3D6M5D5M3I8M3I19M2I85M4I35M5D28M4D5M4D14M1I16M3I50M3D20M1I11M4I2M3I37M5I51M4I39M5D16M3D46M5D80M3D1M1D16M2D57M2I13M3D9M1D11M3I20M2I75M1I12M2I32M5D20M5I6M2D32M2D53M4I21M2D35M3D132M3D13M3I17M3I5M3I87M5D55M3I13M2I28M5D8M2I70M4I51M1I20M3D1M5I16M4D21M1I8M5D28M4I22M3I23M1I45M4D27M1I34M2I1M2D19M3I123M3I1M1D84M5I90M5I10M3I5M1D16M3I21M2I50M4D21M4D9M2D65M5D36M3I1M2I13M1D38M2D26M1I38M3D37M2D49M3D48M3D71M5I37M4D73M4I32M3D38M1I55M2D110M2D10M1I14M5I64M4D5M3I48M5D38M4D53M4D31M4D18M5D2M1I19M4D2M2D70M2D7M4I57M4D3M3I1M1I62M3I25M2D125M5D105M3I14M3I7M1I91M4I69M3I29M2I22M4D30M1I56M4D13M3I21M5I5M3I51M5D45M4I10M5D12M3D5M4I36M2I24M2D38M4D4M2D39M5I156M5I12M3I14M2D32M3D21M1D14M5I29M4D52M2D10M1I6M3D35M3D10M3D2M5I51M1I45M2D9M5I33M5I56M4D3M4I26M5I122M2I57M2D25M5I5M2D44M4I94M5D64M1I17M5I55M5D41M5D1M2I2M5D41M3I31M4I18M4D17M1I14M1I37M1D47M4I4M3D5M4I22M5I73M4I129M2I21M1D12M1I1M2D59M2D156M4D21M3I29M1I27M2D24M4I110M3D32M3I90M3I9M3D59M2D25M5D7M1D66M3D5M4I27M3I6M1I45M2D2M2I40M1I2M3I14M5I52M1D6M4I19M3I77M3D22M4I74M5D8M4I12M2I34M1D45M3D78M5D7M3D21M1I31M3D56M2I24M4D78M1I19M2D82M1D63M2I25M1I29M4D25M5D2M2I4M2I30M4I38M5I17M1D16M4D42M5D42M4D16M3I41M1I21M5D91M4D11M4I47M5I11M1I31M3I13M2I52M5I9M1I65M1D40M2D38M2I6M1I6M5I3M1I17M1D16M4D1M4I43M3D1M2I21M2I28M4D42M1I46M2D134M5D6M2I6M1I34M3I54M4D12M2D17M4D98M1D7M4D63M3I112M5D25M2D1M1I10M1I3M3I142M3I23M3I70M3I7M1D4M4D2M3D8M4D9M4I64M3I20M1I28M4D1M3D6M3D32M2I1M5I26M2D12M1D27M2I23M1D9M2D15M3I3M5I1M1I13M2D7M4I9M2D55M2D70M4D6M4D26M5D81M4D2M2I26M1I11M1D121M5I15M4I27M5D49M4D75M1D7M1I21M1I32M2I80M1I2M3I80M1D4M5I1M3D5M2D6M1D33M4I47M1D45M1D3M3I32M1I17M2I21M4D41M3I12M1D2M2I61M5I63M2I37M1D6M5I19M3D18M3I22M4I53M5I26M1I42M1D74M3I40M1I1M1D19M4I70M2D4M3I23M4D35M4I15M5I84M4I24M3I43M2I33M4I31M5I35M4I1M5I6M3I2M5D32M1I7M5D13M4I12M5I30M4D1M3D7M3I9M4D16M4D6M4I24M4I1M2D15M3I1M2D97M2D29M5D17M2I12M5I16M3I19M2I1M3I24M4I1M1D25M3I13M1I58M3D17M1I117M5I20M5D12M1I12M1D39M3D13M3I26M3D44M2D36M2D140M4D5M1D38M1D16M2I31M1D1M3I29M1I22M4I24M5I73M3D40M1I92M1I3M4I156M4D176M5D18M4I12M5I33M3I7M3I83M3D160M3D116M5D85M4I1M3I5M5D69M5I79M5I2M3D65M5D21M5I10M4D67M2D4M1D29M5D45M2D1M5I11M4D11M5D34M2D10M3I38M1D105M1D44M5D11M5I131M5I2M2D25M5I53M1I3M1I79M1I30M5I75M3I36M2D8M3D27M4I3M4D58M2I29M4I29M5I68M5D11M1D1M2D40M2I3M4I5M2D15M4D25M1D44M4I95M2D37M1I12M4I33M3D8M4D51M1D73M3I10M1D40M1D113M4D9M2I42M3I78M3D91M4I35M5D25M1I3M4D14M4I64M3D13M5D43M5I6M2D29M2I18M3I35M5I25M1I41M1I3M4D9M4I25M3D25M1D5M2I47M5I102M1D39M1D37M5D14M4I28M5I40M5I29M5I6M5D7M3I34M3D5M5D6M2D41M2D27M2I5M5D10M3D7M3I35M1I10M3D3M2I16M1D7M2I39M2D9M3I60M1D11M3I9M2I18M5D21M5I12M4D2M3D3M5I30M5D6M2D13M3D115M2D51M1I40M4D37M5I22M5D9M3I3M3I10M5D30M3I3M1D20M4D62M4I38M4I3M4I33M2D17M1I52M2I46M2I37M4D117M2D3M2I54M2D7M1D17M2I51M1D32M5D12M5D67M3D6M1I6M2I3M1D38M3I20M2D23M4I32M3D115M3I16M1D57M4D41M3I39M3D8M3D11M3I31M1I7M3D14M5D16M5I8M2I22M3I20M4D13M5D48M1D5M1I26M3D35M2I7M2I56M4I1M5D19M4D29M1I56M4I8M2D23M5D4M5D5M2I49M5I41M5D47M3I2M4I135M5D34M4I13M5D31M3D32M3D11M4I48M3I60M4D18M2D3M1I3M3I1M4I19M1D54M5D35M3D11M1I37M5I51M4D26M5I3M2D15M3D5M1I44M5I6M3D6M2I34M2I7M3I1M3I11M2I22M2D17M5I13M4I46M5D5M3D63M4I20M3D10M2I114M2D291M2D3M2I52M1I9M5I16M3D10M4I41M5I31M1D94M3D12M1D48M5I12M2I16M4D52M1I30M4I28M4I31M4D19M2D2M4D36M4I5M3I11M2D31M3D238M2I76M4D36M4I86M5D14M1I1M4D41M2D14M2D26M3I6M2I3M1I31M2I61M3I14M3I10M5D25M5D37M3D12M4D21M3D54M5I7M5I53M2D10M2D44M1I46M2I12M5D92M4D13M5I6M2I45M2I16M5I3M3D11M5I31M3I29M1I18M3I30M1D2M3D6M1I57M2D16M2I27M4D1M1I3M1D70M5D83M3I28M3I68M5D16M5I42M2I22M4D36M2I7M3I12M4D15M2I6M3D2M1I71M5D12M2D83M2D15M3D84M4D118M4D14M1I24M1D6M1I12M3D71M4I43M3D36M1I12M2I59M5I34M3D37M1D1M2D38M3I6M2I36M2I20M5D18M4I23M4I57M3I5M3D60M5D82M3I75M5I6M2D11M2D23M2D24M3I17M1I35M4I19M1D8M2D78M2D20M3D5M2I1M1I18M5D8M5D50M2D74M5D6M2I25M3I3M2I20M1I38M4D4M5I27M4I12M3I11M2D69M2D126M2D4M3I4M2I57M5I13M1D58M1D4M3I13M3I20M5I25M3I33M1D34M5I10M2D20M5D50M5I15M1I8M3I27M4D8M3D23M1D4M3D25M3D35M1D58M3I15M2I11M5D20M5D6M5I26M3D39M4D77M2I9M5I17M5I20M5I22M5D5M2D23M1I21M2D14M5D78M4D5M2D49M1D22M3I8M5I19M2D5M1D17M1D5M1D1M4D27M1D3M2I5M2D23M4D16M1I12M2I98M5D67M5D18M1D5M5D24M3I11M4D7M1I7M1D51M5D12M4I16M3I6M1I3M4I60M3I13M4D131M1D32M5I5M4I106M4D5M5I23M3D17M4I69M2D35M2I146M5I2M3D30M4D20M2D28M3D111M3D53M5D2M4D8M4D30M3D37M4I1M3D41M5I32M2I24M2I58M5I30M2D56M1D5M4D63M5I11M2I17M5I16M2I52M1D21M4I5M3D8M1I11M4D29M2D54M3D6M4D60M2D5M2D10M1I23M5I13M3I23M3I5M4D1M4D55M1I4M4I43M3I44M5I61M5D1M2I24M1D55M3I68M3D6M5I4M2D22M3I34M3D2M3D13M2I112M1I65M4D36M3D8M5I38M3I55M4D18M2D136M3D3M2D4M4I5M1I53M4D22M1I33M3I1M3I17M5I62M3D1M3D88M2I3M2D11M5I4M4I16M2D62M4D4M1D25M1D4M3D17M4D45M3D15M2D10M2D15M4I52M1D1M2D2M5I16M2I25M4D64M3I19M4D31M5I5M3D25M2I18M5D53M1I3M3D22M3I3M5I47M3I18M4I15M4D15M1I4M2I2M3I61M1D70M1D3M5D9M5I1M3D18M2I16M1I6M4D31M2I65M2D31M3I9M5I54M2D144M5I42M1I71M1D194M5D2M5I7M5I51M3D11M5I7M2I12M2D19M4I34M2I41M3I55M3D15M4I44M5D3M5I20M4I3M1I69M4D35M5D8M5I2M5I30M1I18M3D68M3D45M1D37M1I141M3D69M4I36M3D4M2D6M5D30M2D2M4D5M2D42M2I35M3D6M5I7M5D35M1D1M3I2M5I34M3I18M1I16M2D3M1D34M1D134M3D33M1D68M4I103M4I15M2D5M4D24M5D7M1I53M3D83M4I27M3I17M1D1M5I16M4I21M5D6M5I32M5I32M1D52M5I5M2D170M4D28M2I38M3D88M2I29M3I4M3D6M3I18M2I37M5I15M4I22M2I9M4D23M5D44M1D22M1I8M1I10M3D6M4D53M3D71M4D3M1I13M1D22M2I10M3I15M1D24M5D27M3D18M5I7M2I4M5D53M2D24M2I14M2I25M3I63M2I16M1D19M1D55M2D24M1I130M1D2M2I4M2D17M1D213M5I60M2I26M3D12M4I22M1D54M5D18M5I52M5I62M3I50M5I68M5D31M4I4M2D17M5I46M4I4M3D32M2D5M3D28M3D8M3I47M4I46M2D94M5I5M4I21M5D9M1D47M3I52M3I32M5D16M5D22M3D55M3D9M1D47M3I20M4D10M4D25M2I11M4I27M5D14M5I14M3D50M4I13M4I16M4I85M5I35M4D62M2D10M2D33M4D11M4D18M4D7M4I157M4I39M3D10M4I3M4I43M3D57M3I14M1D52M5D13M3D39M2D20M5D84M2D25M4D12M5I1M4D60M2I14M3I40M4D5M3I7M4I18M3D21M4D15M3D30M4D26M2D8M5I16M2D35M1D181M2D4M2D35M4D33M1D50M3I42M1I8M2D18M5I33M3D64M4D10M2D30M1I6M4I31M2I89M4D3M3I27M5D53M4I25M5D7M1D4M3D46M5I15M4D76M4I7M2I21M3I48M1D3M3I55M4I20M5I18M5D2M3D41M1I37M4I32M4D4M4D63M3D8M2D10M2D24M1I25M5D15M5I24M1D24M1I7M1I34M4D22M4D20M5D111M3D107M2D13M5D20M2I20M3D7M1D4M2I5M1I12M2D6M3D57M1D6M1D24M3D78M5I49M5D11M3I8M5D24M4D95M5D9M1I28M3D17M1D7M4D85M4D25M2D69M4D37M2D32M5D23M3D5M3D10M4D1M4D27M5I21M5I9M2D64M3D34M2I19M1D27M1I20M4D45M1I27M4D14M5D16M2D3M5D32M1D27M5D3M4D9M5I38M4D23M2I11M3D2M2D17M3D59M4D4M1I59M4I15M5I25M5I8M5D120M5D6M3D1M3D75M1D9M3D1M2I9M4D18M4D3M4D10M1I24M5I170M3I52M3D16M5D40M4D9M2D103M2D55M4I50M3D12M4D11M1I10M3D70M5D43M4D32M1D31M3D26M5D1M5D38M2I21M1I25M2I32M3D4M2D4M5D25M4I5M4I7M1D65M5D4M2D17M3D8M3I87M2I16M4D24M2I107M2I1M4I6M2I37M5D75M4I86M4D94M4D37M4I27M3I17M2D4M1I73M2D5M3D24M4D13M5D29M1D18M1I2M2D45M2I9M5I39M1I17M1D47M3D116M3I10M1I62M3D6M5I12M2D56M4D71M1D14M5I1M5D1M4I6M2D82M3I16M4D26M1I43M1I39M3D24M5D15M1D6M2D1M3D3M1I34M2D58M2I2M2D9M1D29M3D10M2I2M5I15M1I25M2D2M5D18M4I18M3I4M4D10M5I9M3D6M2D55M4D4M5I6M1I43M5D14M5I24M5D1M3I14M2D57M3D15M1I5M4D57M4D44M1D29M1D44M3I14M2D53M1D7M3I10M4D108M3I10M1D2M3I33M2D18M2D50M4D23M2I70M5D3M2D14M3I4M1D23M2D12M3D23M2D22M2D12M2I55M3D16M1D27M2I10M1I36M3I6M3D84M1D333M1D6M2D2M4D4M2D12M1I6M5D22M3I7M4I15M1I9M5D3M2D30M5D14M4I24M4D5M3I35M3I11M4I15M2I21M3D80M4I12M4D24M1D1M4D39M2I36M4D8M3D2M2I11M2D5M3I59M5D47M1I1M2D44M5I4M4D16M3D48M5I75M2D54M1I75M1I75M2I23M5D4M3I101M5D30M2I44M2I17M4I39M2I68M2D3M4I22M3I13M1I42M3D40M1D5M1D11M3D21M1D2M5I3M5D13M3I35M4I21M3D1M3I34M4D49M4D15M1I52M2I12M3D13M3D26M1D37M3I100M5D10M2D14M5I31M1I61M3I2M2D34M4D43M4D4M1D15M1I44M4I16M4D7M1I17M1D13M4I14M1I49M2D10M2I64M1D36M5D65M5D34M4D33M3I108M1I75M3I37M4D5M2D69M5I72M3D2M3I5M3I50M2D2M3D18M2I26M5I1M2I11M3D45M3I63M1I3M3I42M4D33M1D35M2D56M4I29M1D9M4D2M1I10M5D22M1I42M5D74M4D9M1I39M5I36M2I6M2I52M4D24M1I2M2I28M1I19M1I39M1D52M1I26M2D26M4I35M1D8M2I19M1D55M2D108M2I30M3D9M2D14M5I9M5I8M5D10M3I4M2D2M3D51M4I13M3I1M2I59M4I22M1D3M5I35M1D33M3D5M2I17M3I13M2D15M5D25M4D39M3I54M3I30M5I63M5I21M4I19M3I6M1I60M4D6M1D46M1I14M5D46M2I72M1D30M3D27M3I31M1I48M3D2M2D12M3D14M2D7M2D8M4I19M4I32M2D36M5D37M3I29M1I4M5I14M4I2M5I7M2D3M5I20M3D30M2D27M5D14M4D19M3I21M3D11M1D32M3I84M1D28M5I23M1D24M3I3M3D1M3D74M5D12M1D12M4D14M4I16M1D32M5I28M3D2M2I45M3I76M1I13M3I64M1I20M5D2M1I19M3I1M2I31M3D15M4I34M1D97M1I53M3D142M2D61M2I16M5D25M3D21M1D43M2D17M1I12M1I17M3D21M1D53M4D83M5I24M1D49M3D5M3I44M1I51M3D3M5I5M3I23M1I30M4D15M1I39M2D14M3D36M2D7M2I60M1D14M5D5M1I22M3D49M5D10M4I12M3D3M4D16M3D27M1D41M4D42M2D9M5D74M5I76M3I2M1I11M4I27M2D20M5I72M2D23M5D30M4D113M3I6M4I10M5I41M5I62M1D4M3I24M2I28M4D17M5I40M5D11M1I50M3D8M2I18M3D36M1I26M1I1M4I29M5D13M2I51M2I34M3D33M3I4M1I13M1D41M1D9M2D87M4I11M3D26M2I20M4I29M3I1M5D68M4D5M2D88M5I23M3D18M4I25M1D13M2D71M5D41M5I43M4I44M3D30M3I2M1I4M4I4M2D6M5D40M3D13M1I44M2D49M3D9M1I34M4D38M1D15M3I35M4I20M4I36M1I43M4D7M5I74M5D44M4I2M2D2M3D46M1I1M2D21M3D24M1D192M3I9M2I1M1I29M3D14M4D9M2I16M2D10M2D28M3I59M2I49M2I5M2D21M2I89M1I89M3D39M1D8M2D91M2D6M2I6M2D18M1D60M4I8M3D1M2D1M2D11M2I74M5I67M5I63M4D14M1D14M3D31M4D3M2D22M2I22M3D22M5I8M4I10M4I84M4I40M5D19M2D6M4I4M4D31M3D18M2I14M5D1M1I11M5I27M2D4M1D144M5I59M1I19M5D26M5D24M3D12M2I16M4I58M1D20M4D23M3D19M3I43M2D5M2I18M5D39M2I39M2I36M4D22M3D20M3D34M4I58M3I26M4I4M3I16M5I59M4I22M5I125M3D55M3I7M3I27M1D2M2D31M1I4M2D17M2D17M4I21M2D33M5D1M4D22M1I29M4I1M4D185M4I31M3I3M2D9M3I12M3D1M2I8M3I84M4D89M3D32M2I4M2I6M2D13M1I62M2D43M5D37M1D1M3D11M5I20M5D7M5D41M4I13M4D6M5I2M1D13M1D10M4D10M4D59M4I1M3I11M5I5M4I21M2I11M1D77M5D59M4I21M2I11M5I3M4D40M1I29M3I14M1D13M5I3M3D10M2I3M5I2M5I8M1D30M3I50M2I10M2D60M1I100M5I63M4D10M2I70M1D69M1I51M3D39M3D40M2D11M3D61M4I6M1D21M2I10M4D9M4D2M1I6M1I105M1D8M4I94M5D38M2D15M2D3M4D66M3I25M1I43M4I6M5D4M5I1M4D18M2D22M3I57M1I15M4I16M5D4M4I7M4D28M1D7M5D14M4D11M1D72M1D27M1D32M1D3M4D47M2I52M4I1M2I1M3I12M1I29M2I6M3D20M4D51M2I7M1D1M1D24M4D54M4D11M5D15M5I59M1I1M5I55M5D41M5I8M3D9M2D9M3D26M3I36M4D24M2D3M1I28M3D3M3D5M2D12M1I19M5D21M1D11M5D2M1D1M2I18M1I162M3D31M5D36M5I4M5D17M5D36M3D81M2I5M1I41M4D23M2I12M5I23M4I18M2I14M4D34M1D6M5I2M5D15M3I9M4D97M3I84M4D85M1D47M1D23M4I4M2D16M5I15M3D33M3I113M2I38M5D16M2D26M3D1M5D1M1I4M3D3M5D36M5I16M5I29M2I32M2D22M2D20M3I15M1D4M3D99M5I2M5D8M2I45M4D9M2D24M4I137M2I37M1D19M5D7M2I6M1I26M1D82M2I52M3I40M2I2M3I75M3I49M1I52M1I10M1I39M3D5M4I19M5D29M3I39M2D39M3D38M2D158M5D22M2D32M3I32M3D26M1I3M1D1M4I73M3I128M4D24M1I12M1D17M3D44M4D41M4D13M3D53M4I51M4I4M5I25M1I30M3I11M1I91M1D27M2D1M5D5M1I10M2I51M5I35M2I33M1I29M5I42M2D16M4D63M4D50M1D40M4I8M1I36M3D4M3D35M3I7M5I3M5D75M2D12M1I2M5I13M2D14M1D10M4I17M2D5M1I15M4D49M5I43M4D23M4D24M4D19M4D62M4I105M5D39M2D59M3D14M3I13M3D13M3D46M3D38M5I57M2I36M5D26M4I3M4I19M3I19M4I16M5D30M1D14M3I57M3I35M3D28M4D15M2I3M1I47M5D21M2D26M5D25M3D9M5I3M4I18M1D10M1I17M1I20M1I18M5I2M2D47M1D7M2D5M1I13M5D3M1I61M5I13M4I54M3I71M5D30M1D17M5D116M2I10M5D12M2I47M4D40M3D40M1D11M3I30M2I52M4D65M1D16M3I2M1I31M4I53M4D15M3I17M3I90M1D27M2D18M5I29M2I53M2D17M4I14M4D4M5D37M4I45M1I5M2D17M2D1M3I12M5I15M5D12M3D44M2D60M3I48M5D60M5D60M3I17M2I13M1D4M1I6M3I30M4I35M5I9M2D23M4D76M3D23M4I95M3I23M3D33M3D21M5I15M5I22M4D15M2D25M5I3M3I31M1I25M4D1M4I31M3I1M4I41M4D7M3I43M2D9M5D25M2I31M4I26M1I5M2D14M2I57M2I10M3D116M2I90M1I2M5D36M4I1M5D8M3D20M3I33M5I7M1I32M5D6M5I4M2I8M2I23M5I6M3I9M1I13M5I81M1I60M2I25M5D46M2D65M5I22M1D13M4D11M1I93M2D87M4D9M1I39M4D30M4D88M4I46M4D46M3I23M1D12M3D28M4I20M2D1M5I24M5D49M4D5M1I22M1I52M5D41M5I8M4I49M1D15M1D34M1I16M4D5M2D1M5I19M5D20M5D10M1D27M2D17M5I37M3D12M3D8M1D71M2D45M4I2M3I38M4I68M3D24M1D22M5I4M4I160M1I6M1D49M4D36M1D10M2I25M4I19M2D34M4I42M3I27M3I6M2D76M4I58M3I63M4D36M5I21M1I22M2I5M1I12M3D124M5I11M5D33M5I28M4D12M4I92M4I90M3D41M5I126M3I9M5D55M4D61M2D51M4D33M5D25M1D6M3I10M2I35M3D7M1I4M3I28M2I12M4I41M4D25M1I74M3I13M4I20M2D1M1I5M5D28M4I113M4D42M3I6M5I11M2D18M5D18M5D36M3D50M5I45M1I11M3D5M2I44M2I16M3I108M4D12M4D28M2D6M2D126M3I16M1I17M2D7M2I50M5I1M2D33M3I18M3I31M4I11M1D69M3I23M1I87M3D2M5D9M1I21M4D49M3D109M1D9M2D36M1I43M1I178M2D152M1D2M5I11M3D96M4D56M2I38M2D6M4I56M5D22M2I16M3I8M4D3M3D38M5D47M4I130M2D67M3I118M3I117M3D4M3I19M4D1M5I12M1I59M5I43M2D9M1I67M2I61M5D6M4I33M4I27M3D3M4D4M4D53M1D64M1I3M2I3M2I49M4I21M2I11M5I30M1D1M5D3M1D7M5I47M5I34M2I14M2I18M1D7M2I8M4I9M1I8M2I15M2D52M5I17M3D70M2I12M1I13M4D107M2D7M5D15M4I4M3I15M2D100M3D10M4I27M2I15M3D20M1D17M1I31M5D106M3I20M4I87M4I24M2I6M2D52M3I12M4D41M1D58M3I4M3D30M5I49M4I19M4I61M5I15M3I60M3D7M1I21M1D37M4I14M3D71M4D50M2I10M2I7M2I6M1I3M3D29M3I6M4D7M4I93M2D29M5I46M3D21M2I77M3I43M2I12M3D60M2I1M2I146M2I2M2D8M4D27M1D11M3I57M4D24M1I18M3I28M5D40M5I19M2I29M4I33M4D4M5D66M5D3M5I31M2D5M4I49M5D9M2I72M2D24M2I11M5D2M3D92M5I51M5D56M2I7M5I11M5I39M2I21M3I41M1I11M2D48M3D83M3I12M1I8M1D1M3I17M3D36M3D35M2D33M1D24M4D1M5D4M4D22M5I36M1I10M5I43M3I100M4I14M2D76M4I2M5D49M5I130M1D38M2D1M2D25M2I14M4I10M5I20M1D35M5I46M1I59M5D17M2I44M2D8M4I12M5I3M5D134M2I19M2D20M5D6M5D19M3I6M5I5M4D71M1D3M1I17M3D50M3I18M1I1M3D37M1D21M1I10M1D44M1D1M3I19M2D3M2D6M5D17M3I39M1D3M5I4M3D11M5I1M2D42M2I43M3I60M5I38M1D30M3D8M1D27M2I39M3I24M1D23M5I9M3D13M2I31M2I33M3D6M4I53M4D8M1D15M5D9M3I12M4I17M3D4M1I9M4D23M4D14M4D80M2I7M5I55M1I23M5I3M3D5M4I5M1I19M2D12M5I46M1I25M5I13M3D61M3I2M5I13M2I15M4D8M4D20M4D36M4D21M4I75M5I43M5D23M5I38M4I78M4I33M2I13M3I82M1I17M1I1M5I1M5I42M3D7M1I37M5I2M4D22M5I108M2I5M4I10M4I32M1D1M2I41M3D84M3I16M2D19M2I13M2I13M3D20M4D12M2I3M1I23M3D23M2D2M5D2M2I27M4I21M1D31M4D15M1D69M4D2M4I4M5D136M4D18M1I7M3D104M5I13M2I32M3D58M4I17M5D6M3I42M5D33M5I22M4I32M1I17M2I23M5I8M1D23M3I44M3D20M4D20M5D91M1D12M2D13M1D25M4D34M3I10M2I26M5D9M3D2M5I25M2I109M2D27M2I18M1I34M3D31M2I94M3I15M4D17M3I12M2I2M3D9M2I114M2I6M2I11M5I33M2D47M4D3M3I33M2D11M2D10M5D11M3D11M3D28M1I55M2I38M3D11M4I81M4D12M2I9M5D14M3D47M1I25M2D3M5D4M3I15M4I8M5D59M3D45M4I94M1I6M3I2M1I1M2D4M2D19M2D1M1D18M5I6M3D23M1I9M2D18M1I26M4D32M1I4M1D23M4D35M3I4M4I37M1I30M5D22M3I136M3D84M2D21M5D71M3I54M5D83M1I13M3D8M4D30M3D31M3I49M1D16M4D14M1I4M5I18M5D30M2D18M4I79M1D1M1D48M2I16M1I23M4I25M4I30M1D8M2I21M5I17M3D60M1D41M1D1M5D54M3I44M5I64M2I36M5I16M5D4M2D49M3D41M4I7M5D14M3D6M1D13M1I2M2D19M3D1M5D4M1I41M1I25M3I21M2D23M5D48M5I53M5I1M2D13M5I1M4I20M1D25M5D2M1I124M4I4M2D17M2I58M4I70M3D30M5I47M3D35M5I2M2I35M5D20M4D24M5I8M3I30M4D23M3D61M4I9M3I19M4D15M2D98M1I44M3D7M5D18M1D4M4I58M2D23M2I2M1I6M5D51M5I9M5D61M3I12M2D60M4D10M2I10M4I64M1I1M1I23M1I16M4D5M3I12M1D24M4D7M5I78M2I27M4I40M5D27M5D16M4D7M1I9M4I30M5I31M3I28M4D15M4D55M1I3M5I5M5D8M4I70M4I17M2I45M4I33M5D20M4I39M4I16M1I22M5D167M4D69M2D4M1D9M5I19M3I103M2I4M2I44M1D6M1I106M2I9M5I37M3I7M4D1M2I60M1I21M5D176M2D36M1I26M5D1M5D4M4D48M3D70M5D79M5I12M3I6M5D21M2I4M4D32M4I64M1I102M3D4M1I2M4I40M5D27M3D8M1I13M4I81M3D45M3I10M4I78M5I71M2D94M3I9M1I49M4D18M2D66M3D1M2D62M3I9M5I14M2D24M4D3M5I20M5I7M5D4M3I1M5D20M2I7M4D35M1D13M5I1M1D43M5I63M1D21M5I24M5I30M4D41M4D18M5D40M4D22M1I67M5I28M5D41M2D108M3I3M5D13M1I118M5I5M4D21M2D27M3D35M5I35M3I56M1I13M5I10M4D26M4D87M5D6M5D3M2I1M3I1M2I21M5D154M3D26M5D3M1D7M4I41M3D40M3D48M4D27M2I5M4I18M5I25M4I14M3I23M5D67M4D8M5D16M3I75M4D6M2I75M1I53M3D82M3D64M1I23M5D59M1D57M3D1M3I75M5D4M2D56M1I32M1D9M3I25M1I73M1D9M2I1M5I36M5I28M5I39M3D44M3D9M4I4M4I2M1I30M3I14M4I77M4D31M3I51M5I19M2D41M2I20M5I8M1D2M2D6M2D66M1D2M5I23M1D11M5I39M2D94M1I5M1I84M2I45M1I3M2D38M4D64M4D2M5D24M5D15M5I57M1I134M4D29M5D9M4D16M2D16M2I90M5D8M2I23M2I1M4I33M3I98M4I23M2I17M3D18M2I64M1D28M4I40M1D14M5D7M5D29M1I38M4D8M4I115M1D100M1D24M3I4M4D10M5I26M5I10M5I12M5I83M2I99M5D55M3I10M2I16M2I14M4D85M5D25M5D5M3D13M1D9M5I35M1D9M4D12M2D50M4D99M3I7M4D26M3I77M3I6M4I46M1I19M4I32M4I52M5I25M1I20M4D27M5I33M1D46M5I41M1I1M4I43M3I25M4D81M1I24M5D14M4D7M3D67M2I59M4I1M1D20M2I17M1D37M4I118M5I24M3D32M1I1M2D18M5D2M3I5M5I11M1D34M1D17M4I62M5I72M4I9M5D3M4I8M4I35M2D3M5D30M3D27M2I8M4D4M3I46M1D5M4I2M2I3M2D3M5D123M1I40M1D35M5I4M4I116M5D13M3D90M5I36M5I35M4I89M1I11M5D33M3D46M5D15M5D96M4D33M4D30M3D15M2I7M4D6M3I23M2D68M1D47M5D55M3D19M5D21M3I19M5D33M5D17M3D31M2D13M3I17M5I17M1I30M1D26M4D51M4I10M5I80M2I34M4I2M2I16M2D1M5I26M2D15M5I39M1D15M5D79M3I3M4D7M4I6M3I90M1D33M5I73M5I7M2I70M5D44M1I59M2D27M3D14M5I23M3D7M2D14M3I115M1I24M3D36M2I27M1I2M1D150M4I2M5I115M3I2M1D23M4I1M5D14M3D33M4D27M4D21M2D1M2D5M4I40M5D2M2I8M2I131M2D27M1D60M1D43M4D33M2I18M2D2M1I3M2D10M5D2M1D3M4I13M5I9M2D62M2I3M4I19M5D74M1I81M3D15M2I7M3I7M1I42M5I34M5D39M1D100M4D28M5I12M2D24M3I24M5I14M3I13M5I15M2D15M2D12M1I7M2D65M1I8M5D13M1I49M1D49M5I43M4I20M5I26M5D90M4I25M5I27M4D12M2I22M3I100M2D1M5I38M4D47M2D4M1D39M1I27M4D35M5D44M3D16M1D4M3D35M5I3M1I16M5I27M5I27M4D19M3D55M5D6M4D15M4D7M1I20M1I5M1I2M2I15M5I23M2D29M5D19M2D7M3D70M5D54M3D33M1I58M1I24M2I12M5D16M3D49M1I51M1D4M5I6M1I46M2I161M3I4M1D6M2D15M4I15M4I11M2I104M2D3M2I6M3D37M3I3M1I12M3D28M2I1M3D13M3I29M3I17M2I24M5D4M2D15M4D22M5I3M1D14M4I6M4D22M3D50M2D34M5I5M5I39M3I24M5D16M5I20M2I31M3I20M4D39M1D41M5I29M5D9M4I13M2I8M3I46M2I59M5D17M1I36M3D7M5I45M3D9M4D22M4I40M5I1M3I2M3D8M5I10M3D18M5D64M2I26M3D87M2D57M2D65M1D42M3I40M2D20M2I100M5D17M4D10M3I15M1D2M3I50M4I20M1I9M3I5M2D8M4D94M5I74M3I55M2D24M3I66M5D24M2D47M4I23M3D28M4I40M5I44M5I17M3D37M5D41M4I74M2I88M1D3M1I9M4D29M4D15M5D22M1I18M5D42M4I37M1D20M2I17M2D38M4I51M2I75M3I72M5D15M1D7M1I3M2D5M1I44M3I47M3I12M1D44M1D67M4D97M5D20M2D12M1D32M2I10M4D10M3D1M5I18M2D30M3D58M2D6M1D13M2D54M1I34M5I14M4D7M2I10M3D7M1D11M5I36M4D10M1I23M4D70M4I19M2D80M4D17M3D5M5I16M5D27M4D7M3D4M4D9M2D10M5I48M1I37M3D9M1I28M5I6M3D3M1D33M5I64M5D24M2I22M4D11M2I9M3D12M2D45M4I14M2D15M2D7M1D1M4D92M5I34M4I82M1I1M3I21M1I25M2I102M1D4M3I33M3D71M1D25M5D53M3D39M5D43M5D5M5D17M3I51M1I19M1D53M3I28M1D93M3I34M3I12M2I19M2I60M2I21M5I12M3D21M5I37M1I43M2D20M1D20M2I5M3I3M5D26M2I37M3I77M1I12M1I2M1D28M3I1M1D7M4D24M3D46M3D24M3D1M5D37M3I39M4D11M2I34M1I184M3D76M5I14M1D6M2D26M3I21M4I4M4D71M1I20M5D7M5I144M3I19M1I2M2D12M1I126M5D13M3D56M3I25M2I6M1I3M5I3M5D17M4I10M3D35M5D6M5I55M1D34M4D29M5I6M2D20M4I32M3D9M5I20M3I30M2D51M3D15M3I46M2D45M1D1M1D34M4I12M5D9M2I2M5I18M2D8M3D29M5D59M2I38M2I17M2I119M5D9M4I22M2D10M5D36M4I4M3D22M2D11M1I43M4D86M4D25M1D1M1D29M2D131M4I3M5D5M3D67M1I16M2D13M5I19M4I29M1I59M5D48M4I64M2I33M3I10M3D14M3I19M2I4M4D12M2D14M5D100M1I10M2D25M5I30M4D54M5D66M3I4M1I7M4I5M1I55M1I7M2D99M4I43M5I39M1I39M3I30M5I18M2D20M2D14M3D6M3D103M4I21M3D1M3I38M4D12M2D7M5I56M4D10M3D18M5D57M1I3M2I11M2D6M4D70M2D16M4D44M5I62M3I155M2D14M1D21M1D46M3I3M4D47M5I2M4I13M1D13M3D16M5I116M5I4M2D64M4I95M5I43M1D5M3D7M2I2M5I91M2I60M4D15M5I24M5D14M4D7M3D10M2D18M1D16M3I43M4D15M3D2M2I3M1I146M1D40M4I28M5I10M1I86M5I31M2I72M5D30M4D124M4D52M4I20M3I30M2D23M1D4M4D1M3D11M5I8M5D17M3D2M4I24M4I1M1D41M1D16M1I131M2D12M1I21M1D4M2I1M1I31M2D104M2I41M2D18M2D13M4D26M1I55M1I22M1D17M5D41M1D51M3I27M2I59M4I4M1D21M5D12M5I19M1I6M3I1M4I22M5D17M4I5M3I5M4I25M2I8M1I6M2I40M5I6M3D45M4I8M3I38M4D4M4D24M5I1M2D23M5D12M4D13M5I26M3D13M5I36M3I11M4I93M3D51M1I14M5D16M3I86M1D35M5D44M4D138M1I30M4D14M3I10M1I45M5I23M1D25M3I4M5D28M2D29M2I10M1I4M4I10M2I15M3D21M3I71M4I24M3I18M5D53M2D19M2D1M1D7M4I5M2I15M1D42M2I1M5I20M4D2M3I3M5I58M2I1M3D23M1D39M5I46M1I2M2I58M3I25M1D32M5I54M5I8M1D17M1D24M5D121M2I19M4I39M3D52M5D2M1D16M3D10M1I4M2I33M4D2M1D59M5D59M3I4M5I1M5D10M4I43M4D41M1I4M1I92M2D82M5D2M2D38M3D22M5I32M1I39M5D8M4I3M4I11M3D16M2D35M3I50M2D38M3D50M2I10M5D40M2I11M1D22M2D4M1D1M3I48M5I54M3D6M4D8M1I8M3I13M4I100M3I4M3D23M5I21M1I1M1I4M3I46M4I13M4D29M2I14M1D18M5D17M3D6M3I67M4I13M3I13M5D76M4D4M4I86M1D2M4I42M5D41M5D7M3I6M1I25M4D41M2D38M1I4M4D100M2I25M5I12M1D1M4D2M1I49M4D31M1I169M5D2M3I4M5D26M3D32M4D10M2I14M1D36M1I53M1I19M2D22M1I100M2I9M5I11M5I36M5D13M2D41M5D49M2D12M3I107M2I24M5I7M2I24M3I39M5D6M1I74M4I1M1D13M3D50M4I39M2I11M4D19M1D32M3I1M2I8M2D4M4I32M4D1M4I5M4I18M5D9M1I18M3D102M1D18M3D4M1I36M3I6M5I10M4D31M5D2M5I4M2D14M5I36M3I40M4I51M4I11M3D31M4I2M1I3M4I4M4I36M1I53M3D9M2I47M2I36M4D11M3I18M3D8M3D10M1D36M2I21M3I91M3D75M1D40M5I90M4I11M5I92M2I51M3I117M2D39M2I3M3D33M3I4M1I13M3I116M5D12M5I41M5I30M3D38M2D12M4D35M3D16M2I56M1I10M4I72M5I13M1I3M5I18M1I28M5D131M2I45M1D21M2I27M5I17M4I22M3D4M5D14M2I1M3D12M4I42M2D123M5D5M1D167M4D27M3D99M5I23M1D22M4D15M3I25M4D34M3D18M2I12M1I19M2D58M4I61M2I11M2D9M5I12M2D28M2D24M5I1M2I24M5I45M4D5M2I7M1D41M4I3M5D76M5D33M2I80M5I23M1I98M1D17M5I49M3I10M4D14M5I55M3I3M3D73M2D5M2D51M3I94M4I74M1I127M5I52M3I59M2D12M5I77M5D21M2D7M3D11M2I46M1I41M3I18M5I16M4D6M1I19M1I3M1D112M3I79M3D21M3I30M2I13M4I25M1D18M3D11M1I94M4D21M1D8M2I12M4D8M3I17M5D46M4I67M2I50M4D24M1D1M1D11M1I36M4D72M5I131M2D2M5D22M5I11M1I1M3I38M2I40M1I56M2I13M2I93M3D99M3I16M3I3M1I3M4I20M2I37M2I18M4D54M4D11M1I23M5I10M2I32M2I1M3I5M3D30M4I13M5D11M4D6M4D46M5D13M4D16M1I28M2I94M1D22M2I56M4I54M5D52M1D10M5D32M1D7M4D25M3I16M1I2M2D3M3I14M2D6M4I94M5D1M3D5M5I8M5I3M2D118M1D82M3I3M2D9M3D8M1I5M1D9M4I2M5D3M1D96M4D18M2I11M4I27M3I2M4I101M4I10M3I3M2D31M2I14M2D22M3I6M1I28M4D10M3D31M2D10M5D31M1I132M1I11M3I14M1I15M5D4M5D11M5D48M4D38M2D43M5D3M1D71M2D9M2D7M3I93M5D24M5I15M1I4M4D32M5D23M3D12M3I21M4D9M1D216M3I61M3D8M3D14M1D17M5I53M3D10M3D54M3D63M5D22M5I22M5D35M1D58M2D46M4D10M1I5M5D10M2D13M5I3M4I8M5I1M5I29M4I1M4I12M5D64M4I3M1D6M1D21M5I34M2D45M2I37M3D20M3I1M3I15M3I5M1D3M2D10M2D1M3I15M4I83M1I52M4I7M1D3M4D40M5I22M4D26M5I7M5D76M3D28M1D16M1I24M3I85M4I4M3D87M3I38M3I57M1D6M4D117M5D6M2I1M2D74M1I13M2D100M5D4M4D7M3D2M1I6M3I58M5I17M1D13M4I9M3D8M1I112M3D5M2D92M5I39M5I12M2I1M3I154M2D1M5D3M5I18M4D28M4I46M1D45M5I81M5I25M3I40M4I5M2D6M3D11M3D87M4I4M5D5M4I83M1I40M1I22M4I6M5D14M1D10M2I45M5I93M4I12M4I36M5I63M2I20M4D49M4I7M3D25M3D1M5D3M2D35M4D5M2D41M1I12M1D17M5I151M4I59M5I52M4I8M3D28M3I15M1D15M3I2M5I19M4D1M1D11M3I13M4I41M3D20M2I53M1D4M4D11M5I74M5D11M3I11M2I71M3D24M5I66M2I37M1I3M1I48M3I23M5I2M1D8M4I43M3D28M2D8M1I17M2D11M4D12M1I36M2D66M2D9M2D66M4I27M2I12M1D87M5I56M1D2M3I5M2I59M2D141M4D27M4I59M4D24M3I51M2I7M3I15M2D11M2I2M2D467M4D4M2I12M3D2M2D36M5D41M3D62M5I9M1D7M3I25M2D32M2I8M5D3M5D5M2I100M4I46M4D18M1D24M2I23M3I42M4I131M2D9M1I2M2I22M5I42M4I91M3I47M1I42M1I6M3I46M1I71M5D56M3D76M3D68M1D88M5D17M5D19M5D112M5I23M1I43M4I19M3D32M3I35M3I2M4I37M4I2M2D18M3D33M1I4M4I23M4I40M1I13M4D7M5D29M3I31M3I3M4D6M1I4M1D59M5D16M1I22M3D13M3I90M1I7M1D2M1D35M5I6M1D26M3I25M4I15M5I5M1D16M3I28M5D16M1I51M5D71M2I28M4I26M2I12M5I1M3D2M3D64M5I12M4I73M1I21M3D34M2D39M4D27M3D6M5D74M2D18M5D6M4D75M4I1M2I16M1I14M4I77M1D2M5I38M5I23M2I20M3I31M3D92M3D5M2I44M1D23M1I32M4D6M1I4M3I10M1I9M5D1M3D16M1I36M4I2M5I10M2D5M5D32M1D18M4I87M3D147M2I7M4D47M2D7M1D8M5I13M3I13M4I22M4I40M3D70M1D110M4D21M1D39M2I56M1D7M2I122M2D9M1D73M3I18M1I24M1D53M5I21M1I19M5D19M5D56M4I87M3I7M3D17M2I73M4I22M2I12M5D6M2I35M4D43M4D155M2I19M4D22M3D15M4I38M5D5M2I81M2I46M5I12M3D3M1I67M5I13M1I51M1D100M2D34M5D13M2D2M4D28M1D38M3I29M3I38M3D16M5D4M2D100M5I22M4D30M4D13M4I23M2I14M5I42M5I95M2D17M5I27M3D19M5D19M4I19M1I21M4D39M1I10M2I6M5D5M4I13M1D10M2D108M1D7M2D112M2D3M5I34M3D9M1I3M4I39M3I1M2D10M3D21M5I20M2D13M3D19M5I34M1I10M3D13M3D19M1D76M3I17M1I11M1I31M1I9M5D90M5D23M5I8M4D8M1D19M2I24M3D70M3D12M5D33M2I51M5I80M3I29M4D80M4D10M3I56M1I20M3D118M2I37M1D32M2D2M3I41M4I31M5D1M4D6M4D23M1D7M4I1M4D27M3D9M5I13M4I5M5I11M4D15M3I1M5D24M5D55M5I79M2D26M5D25M4D5M2D1M4I13M4D25M5I24M4D39M4I76M5D2M1I28M1I55M4D67M4D4M1I23M5I6M3I16M3I19M2I73M2I38M4I21M4D6M1I28M3D37M2D17M5I31M5D52M1D5M2I19M4D19M1D114M5D53M4D12M3D56M1I4M3I21M4I33M2D30M2D48M5D44M2I20M2I49M5D49M5D16M1I12M1D10M2D1M3I28M1I20M4D40M5I56M2I54M2I123M3I17M5I27M1I30M5I40M3I12M4I11M1I33M3I17M4D2M5I22M4I9M4I15M2I21M4I23M5D22M4D33M5I38M1D13M5D2M3I10M1I5M3D54M1D96M1D9M3D30M2D36M3D40M2D93M1D88M2D16M4D72M3I31M2I4M1D3M4I7M5D2M1D4M4I186M4I18M4D25M3D20M1D4M1I24M4I20M2I6M2D30M2I2M3I21M5D79M2D77M1D13M1I23M2D11M1I16M4D9M3D14M5I19M2I59M1D5M1I9M2I25M4I24M4D6M2D38M3D47M4D3M2I8M3D28M1D17M5D45M4D30M5D12M1I24M1I1M4I4M1D16M5I114M4D14M1I43M1D21M2I55M1D42M5I4M1D59M5I31M4I27M4I3M5D6M4I2M2D1M3D40M5I8M2D4M3D119M2I18M5I24M5I2M2I9M3D93M2I24M5D1M1I78M4I19M1I144M3I1M3I10M5D20M3I6M5I4M1D35M2D19M1I17M4I25M3D9M1D36M3D7M2I66M3D37M3D8M4I64M5I19M2D8M1I14M1D16M2D17M3I2M1I16M1D29M5I32M3I129M1D29M2I78M3D8M5I113M1I8M1D109M1I11M5I1M4D33M5I51M5D35M4D30M2D96M3D44M5I10M3D18M5D14M2I56M1D15M2D8M3D5M2D7M4I6M4I13M5I15M4D5M3I46M5I18M3I66M2D6M4D7M3D20M5D33M5I12M4I42M4I24M4D8M5D4M4D23M4D1M5I8M2I1M4I19M2D82M5I41M3I9M3I18M1I10M1D1M1I2M2I3M2D47M3I6M1D29M5D109M4D28M4I22M4D141M5D38M1I17M2D37M1I26M1I15M4I24M1D24M5I40M5D14M3I45M1I1M5I32M1D6M3I14M4D12M5I53M3D42M2D71M4I13M1D22M5D58M3D24M2D53M2D23M3I12M4D8M2I10M1D12M2I17M1I86M5D141M1I17M5I69M3I12M4D1M4D3M2D127M5D48M2D81M4I54M2I17M3I33M2D69M3D33M5I12M4I22M4D61M4I32M1I29M5I32M3I3M1D54M4D67M4I20M2I42M1I8M4I2M4I6M5D14M4I73M1D61M1I9M2D15M3D41M4I37M4I28M1I47M4D76M5I23M4D106M5D19M1D19M2D73M4I29M2I17M5I21M1D79M1I14M3I39M3I32M2I11M5D7M5I5M1I5M5I29M3I7M3I57M1I2M3D28M1D8M2D18M1I75M4D130M1D91M3D24M2I29M1I23M2I69M3D17M3I29M2I7M2I14M3I71M5D30M5D24M1D11M2I11M1D14M5D31M3D35M4I18M3D11M4I32M5D39M2I46M4D6M4D3M4D53M5I17M5I4M3D19M4D42M4D10M1D4M1D41M1D11M3D47M5I10M5D22M2D11M4I14M4D73M3I33M1D3M5I60M1I46M3I18M3I34M1I26M5D5M4D55M2D16M4D16M5I3M3D23M4I6M2I11M5D84M4I13M4D8M4I18M1D17M1D17M4I25M5I8M2D60M4D26M4I47M5I16M3I18M4D1M1I12M3I1M3I59M5D68M4I20M5I18M1D17M1D12M4I22M1I14M4D30M1D125M2I6M4I3M4I6M2I26M4I61M2I114M3D47M5I10M1D30M3I28M2I21M3D17M1I83M1D27M2I65M4D1M3D1M3D136M3I28M3D3M1D53M4D10M4I16M2D30M5I47M4D3M4I72M2D29M4D25M1I28M4D19M5I22M3I5M3D40M5D52M4I116M5I49M2D15M1I5M3D24M2I15M3D65M5I15M1I37M5D2M1D13M3D26M3D49M1D40M2D6M5D6M1D6M2D3M2D1M2I4M2D193M3D21M1D28M5D31M5I45M5I24M2I71M2D5M4D70M2D25M3D16M1I12M3D10M1I100M5D44M4D45M2D31M5I20M1D21M3I5M1D18M2D29M1I3M4I81M4D31M2I14M2I10M1I49M2D9M1D14M1D9M3I17M5I69M4I57M3I33M1D11M3I69M1I63M5I21M2I57M5D67M3D11M1I62M4D23M3D29M1I13M4D28M3D34M3I15M1D80M5I96M1I35M3I32M5D8M1D16M3D43M1D24M4I20M4I30M4I1M4D19M5D11M5I60M5I78M1I41M2I17M1D3M4I4M4I32M1I58M1D2M4D40M2I12M1D38M3I119M4D46M4I4M1I8M5I26M3D61M4I32M2D99M1D15M1I8M2I52M2D4M4D63M2I38M1D7M3I10M2D22M1D36M3D81M3D1M2I6M5D2M5D9M5I19M5D11M2D53M1I20M4I31M2D13M5I11M2D27M3I12M3D15M2D129M5I2M1D43M3D16M4D11M2I46M3I39M2D2M1I49M4I36M4I6M3D23M3D27M4D24M2D8M3I5M5D28M1D9M3D40M1D43M5I69M3D10M2I20M1I3M1I8M4D33M4D56M2D17M2D50M2D65M4I26M5I38M5I30M5D23M1D39M4D4M2I4M2D44M5D126M3I13M5I20M4I14M1I52M4I5M3I64M4D30M5D16M3I42M1I5M1D1M1I10M4I15M4I22M5D2M3I14M5D36M3D49M3D4M2I5M5I36M2D53M3D28M2I12M4I66M1D89M1D28M1D74M3I23M2I113M3D38M5I34M3I33M5I61M2I27M4D18M1I15M1D19M5D51M5D2M4I21M1D27M2D19M4D236M2D37M1D3M2I4M2I87M3D12M5D1M4I58M5I5M1I7M5D20M4I5M4D32M4D4M4I9M2I67M3D57M2D17M3D4M2D8M4I46M2I1M4I81M2I17M1D50M5I48M1I53M1I58M4D22M1D38M2I32M5I1M2D86M4D24M4I64M2D13M3D12M3D10M4I3M2D33M2I5M2D15M3D21M4D2M1I8M5I3M5D7M3I4M4D12M2I48M2I57M5I81M2I8M4I61M4I58M4D17M2I70M2D88M2D22M5D89M5D15M4I1M1D27M2I36M5D18M3D11M4I13M1D9M4D25M2D40M2D69M1D58M1I43M3I104M4D61M5I7M4D17M5I3M4D5M4D10M3I97M4I24M1I31M3I177M2I11M1I4M5D38M4I61M5D39M2I13M3I53M2D5M5D6M4I19M1I12M5D11M2D25M3D78M4I20M4I44M5I79M2I10M1I8M2I23M2I3M1I48M2D36M4I13M5I20M5D54M2I15M3I11M1D23M2D29M1I44M2I13M1I67M1D23M3I22M3D23M1D5M3D39M5D16M5D32M5D21M3D29M2D178M3I59M1D65M1D123M2I124M4D68M3D4M1I2M4I27M3I5M5D25M2I1M4I19M4I8M5I39M5I41M1I4M3D39M4D28M2I2M2D9M4D23M3D29M2D34M2D6M3I10M5D17M1I18M1I62M1I8M1I3M1I35M1I17M4D169M2I78M1I42M5D40M5D29M4I138M5D44M5I9M3D13M1D47M4D138M3D38M1D32M4I38M5I4M1D16M1D20M1I34M5D13M2D22M4D21M4I3M2D15M4I16M2D7M4I38M5I52M1I11M1I30M5D56M2D27M2D49M4D15M1I10M2D89M2I11M4I28M4I15M2D41M1I93M5D12M3D7M2D5M1I10M2D26M3D11M5I17M4D29M5I9M5D18M4D69M3D4M2I35M4D29M2I2M1D75M4I54M1D1M4I18M4I2M5I57M1I9M1D43M1D3M1D86M2D74M1D42M2D11M4I7M1D39M3D23M3I9M4I2M3I64M4D21M1D26M2D4M2I3M2I11M1D61M3D49M5D6M1I4M3I27M3I41M5I48M5D1M2D3M1I134M2D11M5I6M4I58M4D45M3D48M3I71M5I40M4D22M2I57M5D14M4D6M5D3M3D55M2D30M5I6M4I4M4I1M3I21M3D22M2I79M5D15M4D14M1I11M5D62M4D53M5I10M1D41M4D13M1I114M3D38M2I1M4I35M1D70M3D22M2D70M3I32M2D4M2D53M5D18M2D16M1I23M4I12M3I51M4I9M2D12M4I58M3D2M1I8M1I18M3I33M3D29M2I75M2I18M2D9M2I129M3I19M1D13M5D20M3D2M2I16M5D3M2I3M5I57M3D134M4D21M5D7M3I22M3I68M3D16M2I20M2D2M2D1M2D16M2I53M3I6M4I25M1D54M3D11M4D64M1D3M5I77M4I131M4I52M4I1M2I3M4I49M3D27M2I17M3I42M5D50M1I12M2I37M4D2M1D10M2D83M3I3M5I20M4I29M3I52M4I5M1I1M5I49M2D31M1I2M3I21M3I15M4D21M5I24M3D34M4D2M4D65M2I82M5D46M4D31M2I77M2I8M2D15M1I8M5D3M4I5M2I29M1D13M5I8M5I30M1D1M1D8M2I76M1D61M5D2M2D24M1D28M5I13M2D124M4D59M1D35M4I29M5I21M4I59M5D7M4D15M3D28M5D58M2D17M1D8M2I52M5I165M4I80M2D33M5I45M5I10M5D16M1D171M4D14M4D13M1D5M5D31M3I8M5I32M5D12M4D3M1D16M4I15M4D79M5D20M3I27M5D54M3D4M2I11M2D102M2D31M1I71M4I48M3I47M3D86M5I7M1D27M5I3M2D2M2D2M1D7M4I70M4I27M5D77M5D61M2I51M2D13M5I29M3D10M3I96M4I5M4I27M5I36M5I4M4I10M3D47M5D9M3D19M4I20M4D27M3I3M2I85M1I40M4I1M4I23M4D1M4I140M3D17M1D63M5D17M3D19M2I4M3I44M3I9M4I16M3D7M2D49M5I47M4D5M2I3M3I44M2I2M2I45M4I55M4I33M1D44M2I90M5I5M2I8M4I113M4D62M1D31M3D78M3D30M3I9M2I174M3D24M3I6M3D7M4I31M4I14M3D24M5I15M4I45M2D6M1I29M5D3M5I3M5I44M3D96M4D9M4D102M3I7M4I5M1I67M1I32M4D17M4I37M4I6M3D2M4I2M2I46M3I37M3I107M2D11M4I65M4I94M5I20M1I4M2I33M4D56M2I1M1I40M3I5M1D73M4D103M2D21M4D9M5I20M1D29M2D2M4D12M4I40M4D7M2D21M3D29M4D11M2D25M1I17M3I61M5D22M4I39M3I16M2I25M5I62M2D10M1I26M1I7M5D22M5I41M2D3M4D28M5D4M3I9M1I46M2I9M3I7M1I10M4D6M5I123M1D55M5I14M1D22M1I11M1I5M3I23M1I40M2D21M2I8M3D9M2D21M3I8M2D2M3I95M1I3M2I8M1D22M3I13M1D22M3I93M3D125M3D6M1I57M2D36M2I44M3I28M5I26M3D40M2I10M5D12M3I66M5I28M4I15M3I12M4D65M1D10M3D5M4I47M3D9M5I18M5D75M3D7M5D21M4I104M2D57M2I22M1I3M1D39M3I25M1I15M3D1M1I116M2D58M1I40M3I5M2I65M1D80M2D6M3D5M5I1M2D3M5D6M2I15M1I116M4I2M4D83M2I2M2D60M4D5M1I12M1I29M1D1M3I50M2D110M5I102M2D17M2D44M4D146M4I20M5D25M5D47M2D2M4I34M4I24M4D34M3I39M2D78M2D100M3I16M1D13M4D24M3I1M4D84M3I38M2I21M1D28M1D3M4I55M3D46M2I35M4I71M2I4M3D40M4D48M5D14M4D20M2I31M3I5M3I4M5I91M4I61M3D48M5I1M5I70M2I38M1D38M5I11M3I20M5I26M1I3M4D81M5I28M4I73M3I21M2I5M5I69M4I9M2D39M5I4M2I37M1D48M4D81M1D6M3D20M3D4M3D19M4D4M2D11M3D10M4D72M1D112M4I25M4D1M5D43M2D17M1I12M3I8M4I16M5D9M2D165M1D33M3D9M1D14M2I61M1D2M3D24M5I10M5D7M4I3M3D17M1I7M5D33M2D30M2I7M2I14M3D19M2D44M5D14M4I85M2I7M2D8M4I6M5D2M2I29M1I56M2D15M3I55M1I1M2I19M3D21M2I21M2D9M2D38M5D13M1D13M3D35M3D18M4I13M1D49M5I5M2I8M2I3M3D78M5I84M3D53M1I51M5D10M2I14M4D15M5I7M2D2M1D96M2D43M3D24M3D3M2I12M4I5M4D7M4I22M1D4M3D23M2D3M3D9M1D25M3I46M4D42M4I6M3I55M2I59M3I3M4D20M5I77M1D24M4D35M1D41M5D2M1D74M5I10M4D28M3D175M3I2M5I26M5I25M3I5M1D2M1D4M2I32M1I15M1D63M5D56M5D2M4D68M2I5M1D57M1I12M4I27M3I27M2I16M1I24M5D4M1D35M5I69M2D26M4I48M1I1M1D47M1D18M5D25M1I6M2D5M3I1M2I4M4I38M4D1M1I23M4D27M1D10M5D45M4I65M4I21M5D7M1D18M3I9M1I12M1D10M5I22M5D21M1I23M1I12M1D10M1I20M5D6M1D1M5D25M2I20M1I25M3D7M4D75M1D50M1I8M3D2M3D5M1I7M2I26M1D59M2I11M3I38M1D41M2D7M1D28M2I16M5D9M2I1M1I84M2D27M5D2M5D26M1I31M4D26M1D12M5D81M2I28M3I49M1D22M3D8M2I2M3D25M1D52M5D20M4I2M4D13M2I8M2I1M5I28M3D22M1I18M2I54M5D47M3D2M2I18M2D34M4I9M1I2M4I149M5D149M4D2M4I55M4I60M5D22M3I60M3I38M3I27M3I2M1D30M5D53M4D12M2I17M5I9M2I27M3D19M2D178M1I17M4D7M3D2M2D14M3I31M4D38M2D61M4I62M4I16M3D20M1I7M1D20M1D46M2D47M2I76M5I21M1D26M1D27M3I1M1I18M2I7M2I15M2I12M2D10M5D19M4D6M3D35M2I1M5I76M3I17M1D5M1I26M4D36M3D8M3I71M5D48M4I4M2I19M1I95M4D67M5I14M3D69M4I15M2I6M1D13M1D34M1D124M4D6M5I54M5I54M5D39M5I1M3I4M2I14M2I12M4I3M1I5M2D3M5I74M1I1M2D21M2I6M1I39M1I137M4I38M5I14M5I30M5D27M2D10M4I12M2D43M1D34M3I44M5I25M3D122M4D15M4I32M2I23M3D19M1D50M5I63M3I11M2D20M2I16M5I9M1I16M1D91M1I11M1D10M2I38M2I45M4I22M2D16M5I19M3I56M1I154M1I18M5D25M3I14M2I25M4I2M1I29M3D49M4D45M4I6M3I18M1D32M4D7M4D11M5D24M1D58M5I8M1I4M4D15M5D61M1I5M4D27M4I5M5D18M4D1M4D11M3D31M4I2M5D12M5D9M5D26M1D9M5D10M4D31M4D117M5D49M4D115M3I1M2I66M3I15M3I8M4D9M5D17M4D95M3D29M1D14M1D4M1D11M2I23M1D11M5I12M2D9M5I12M5I8M5D148M4I10M4D10M3D38M2D124M5D27M1I29M2D8M3D151M3D73M4I2M3I112M4D20M4I20M5I25M4D156M3I49M4I36M5I14M4I5M4D10M5D4M5D31M5I7M5D14M2D59M1D32M5D42M4D2M5I7M1I64M2I2M1D20M5D20M5I20M2I41M5D68M4D14M5D15M3D41M4D13M2I14M5I57M2D3M1I130M5D54M3D154M2I7M4I54M2D76M5I1M1I15M4D38M4I4M2I14M1D15M5D7M3D37M1D25M1D14M4I168M5I11M5D1M5I24M4D38M1I69M1I12M5D67M1I99M3D6M5I18M4I28M3I137M2I17M5I46M1I91M2D1M2I72M5D20M1I12M4D7M1D41M5I30M4I133M1I67M4D208M1D78M3I101M4D27M4I28M3I67M3D2M1I2M1I75M3I4M5D3M2I57M3I40M1I54M4D38M1D16M4D49M3D108M5I44M2D8M3I2M4I26M2D47M3D26M5I66M5D4M3D27M3D6M3I3M2D45M1I18M4D23M4I43M2D2M3I46M5I114M3D81M1D43M3I4M2D42M3I18M4D25M5I55M1I21M2D19M5D15M4I16M3D2M3D84M3D25M2I39M5D1M5I4M1D25M4D20M3I9M4D34M1D4M1D19M5D87M4D14M5D102M3D58M3D64M5I80M2D13M4D56M4I4M4D29M1D55M4D15M4D42M5D51M1D14M3I19M4I7M4I3M2I10M4D9M1D19M3I11M5D54M1D3M1D23M4I26M3I89M3D124M3I1M5D1M1D39M1D7M4I81M2I12M5I58M1D13M2D23M1I25M2I27M2D5M3D3M1I1M3I20M4D53M2I22M5D67M5I36M1D16M2D25M5D5M1I12M5I64M5D70M1I49M1D65M4I14M5I15M5I21M4D24M1I75M5I10M1I4M4D52M4D4M5I2M3D95M4D21M5D40M4D78M2I39M2D46M5D3M1D5M2I16M4I20M5I94M1I44M3I203M1D22M5D4M2D27M2D19M4I7M3I32M5D31M1D2M2D33M4I38M3I26M5I19M5I26M3I2M3D5M2I2M3I4M3D70M3I13M3I16M1I8M5D9M2D15M4D17M3I58M5I40M2I23M1I20M2I16M3I15M1D74M2I41M1I6M3I2M2D51M2D17M2I48M5I32M5D6M4D36M4I23M2I20M3D10M5I25M2I4M2D47M2D38M3I1M4I41M1I39M1I56M3D25M4I8M2I7M2I8M3I10M3I27M5D7M1I18M3D38M3I41M3D108M5I7M2I12M3I71M5I18M2I131M3D72M4D4M4D28M4D11M4I15M1D27M5I3M4D11M4I6M5D5M1I36M3I2M2I10M3I61M3I80M4I4M3D3M4I10M3I82M3D8M3D1M4I76M3I31M5I122M1D27M3I9M3I17M1I45M3I4M4D14M3D20M3I18M3D1M1I60M2D113M1D39M1I10M4I18M1I12M2I16M4I11M3D11M4I6M1I1M3I2M3D42M1D29M5D30M1D29M5I44M4I38M3D7M4D44M5I46M4D28M3I19M3I30M1I8M4D1M4D30M5D106M3I7M1I6M5D9M3D24M3D7M4D39M1D27M4D97M2I36M1D14M2I4M5I19M1D44M3D58M1I4M4I20M5I34M2I39M5I31M1I41M4D85M3I13M4I52M3D34M3I5M3D41M3D102M5I40M4I16M2D105M4I80M3D36M3D19M3I40M2I79M1I46M2D83M5I14M2I23M5I17M3D53M2D19M5D12M3I28M2I25M4I18M2D66M4I35M5I5M4D27M5D29M1D7M4I15M5I3M3D6M3D53M5I203M3D32M2D36M4I22M4I36M1I8M2D90M5I24M4I18M3I11M4I8M5D118M1D44M4D2M4D23M3D20M3D37M4I4M3I17M1I22M1D95M3D1M5D37M3D34M2D39M1I20M4D19M2I28M3D2M5I74M2D8M3I81M5D1M3D15M3I6M1I43M5D7M1D2M1I14M1I49M4D8M3D3M4D4M1D49M2D80M4D200M1I5M2I36M3I75M3I13M5D57M1I43M5I4M5D3M1D23M1I10M1D6M5I10M2D50M2D40M3D80M5D8M5I20M1I72M4I4M2I94M4D61M4I1M4I8M1I47M5D3M5I2M4D119M1I46M5D13M2I6M3D2M1I7M3D40M3I34M1D14M1D19M1I33M2D34M1D55M2I1M2I5M5D15M3D56M5I32M5I4M2D31M1D23M2D120M3I123M5I23M3I18M5D47M2I80M3D15M2I35M2D8M5I12M1D34M3D46M5D17M1D77M3I7M2D32M2D19M5D28M1I24M2I24M2I3M4I4M2I3M2I58M4D1M4D16M4I24M5D29M1I5M1I27M2D34M4D24M4D36M1D74M3I53M2I61M5I23M4I22M1I156M5I3M1D10M4I5M3I67M2I2M2D21M1I25M5I46M1I62M1I118M1I66M4D43M4I1M1I40M1D13M1I44M1I2M2I3M2I40M4I8M4D2M2D52M3D7M4I52M3I17M2I2M3D8M4I68M4I37M4I75M3I59M4D14M2D24M1I5M3I26M3I31M1D11M3I72M5I8M1D22M5I10M1D84M1D46M2I74M2I7M3I51M3D4M3D8M4I32M1I6M3D20M2D30M4I1M4I14M4I52M3D85M3D16M1D6M2D31M4I46M5D11M4D24M5I8M2I3M5D77M5I31M1D28M2I2M3I31M4I10M3D4M5D7M4D10M3I9M4I37M5I3M4D4M3I15M3I14M4D25M2I25M4D9M3I4M4D36M4D52M4D2M5D15M5D7M3I27M5D29M1D36M1D57M2D13M3I16M4I27M2I15M4D19M4D75M5I3M3I6M1I22M5I3M4I6M4D29M1D63M3D43M3D45M3D3M4I14M5D121M3D12M3I4M5I23M4I17M1I9M1I6M5I46M3D35M4D19M4D14M4D87M3D15M1I31M4I11M2I28M2I41M3D8M3I4M3I12M1I7M3I27M3I8M1I34M5I45M2D49M2D13M5D7M5I6M4I3M5D6M4I134M3D9M3I18M4I29M5I10M2D141M3D31M5I5M5D41M1I43M5D2M4D15M2D7M3D55M5I84M4I50M4D14M5D2M4D39M5I27M3I20M1I4M4I19M5I114M3D31M1D33M3I19M2D6M4I23M4I68M1D56M3D9M1I117M5D80M4D48M1I47M4D36M3I3M2D44M5D25M3D16M4D3M4I138M3I37M1I26M5I35M1I4M2D3M5D30M2D11M1D2M3D101M3I46M4D1M4I13M4I46M3D6M3I16M4D26M2D4M4D3M1D19M1I30M3D31M1D16M1D5M5I36M4D15M5I15M4I23M1I14M1I60M3I3M2D32M1D4M2D83M1D23M5I36M1D33M1I9M3I4M5I18M5D14M1I16M3D8M1I77M3I28M1I15M1D65M4D6M3D9M2I10M4I8M2D112M5D45M2I18M4I72M5I6M2D178M1D19M2I38M2D105M2D15M1D44M4D6M4I11M4I154M1D29M3D3M1I14M1I80M3I21M3I5M2I54M1I1M1I75M5I3M1D53M4I15M1D17M5I173M4I40M4I65M5I4M5I25M3D23M5I15M4I37M2D34M4I22M4D8M4D26M5I13M3D29M1I106M3D4M5I1M3D19M1D50M3D58M2I33M4D13M1D29M3D87M1I17M2D61M3D126M4I4M1I7M2D17M5D62M3I48M3D11M5D14M5D65M2D33M5D3M4D7M2I31M2D122M2D37M3D101M3D55M2I19M3D23M5D19M4D19M3D40M2I56M4I2M3I35M5I83M1I13M4I1M2D52M1I1M5I21M5I11M2D39M4I5M5I26M5I60M3I4M1I47M5I10M4D66M1I58M2D14M4D39M4D28M3I11M2D35M1I20M3D6M4I42M2D9M1D2M1I8M1D33M4D36M3I103M1D81M5I4M1D29M1I4M1D125M5D5M4D42M2I1M3I3M5I6M5I12M1I10M2I49M5I3M4D89M5I16M3D2M2D16M1I59M4D3M2I25M4I13M1D4M2D41M2D17M4I15M5I26M1D3M3D54M5D2M1D61M4I10M4D7M1D9M3I83M2I47M3D58M1I8M1I70M5I11M3I78M4D32M5I13M5I29M2I26M4D12M4I74M2D28M5I40M4D39M5I32M1D10M4D7M2I13M5I27M1D5M2I6M3I18M5D39M4D51M4D32M4I25M5D66M1I52M3I10M3D15M1I12M2I2M3D28M3D126M1I33M3I19M5D48M4I3M3D14M5D44M1D116M1D7M5I116M4D42M3D38M4I8M4I11M2I5M5D8M1D19M5I49M1D9M1D17M1I8M2D19M3D10M3D12M2D49M2I10M1D56M3D56M3D29M5I39M3I21M3I16M1D18M1I39M2D17M1D22M2I7M1D37M2D37M2D2M3I42M1I5M4I2M5I49M3D21M4D18M2I2M3D11M5D155M1I69M2I57M2D53M3I59M4I41M5D23M2I35M1D47M2I20M3I3M1I8M3D39M4I47M5D18M5I55M1D7M4I15M1I28M5D65M1D95M1D10M1I13M2I13M5I2M3D38M2D24M5I38M4D2M4I33M3I7M4I21M4I38M5I60M3I5M2D82M1D13M4I18M5D32M2D4M4D2M1I21M1D80M5D69M5D88M1D10M2D11M4I8M1D77M2D13M1D24M1D3M4I10M2D9M2D70M1D54M5D6M5D66M1D52M2D9M1D9M1I1M1I25M2I35M4D2M1I50M4D56M5D4M3D5M4D15M1I13M1I19M5D92M5D3M1D7M1D67M4I14M1I132M1I11M1D53M5I59M2I1M4I9M2I24M5D28M4D32M1I17M3D28M1I31M2I95M2D83M4I10M3I16M1I44M5I135M3I13M5I36M3I10M3I23M4I27M1D35M3I21M4I65M1D18M1I4M5I11M2D39M3D1M3I11M1D60M3D84M3D30M3I65M4D4M3D45M2I9M5I12M4D3M2I10M1I1M2I61M2D25M3D14M1I37M4D25M1I14M1D13M3I7M4D21M4D6M1D23M5D26M1I31M1I81M2D7M1D28M2I21M1D82M3I31M1D52M4I2M1I48M1D16M3D4M5I105M5I13M3I12M3D52M1D90M4I37M5I76M5I60M5I8M3I31M4D17M1I12M5I45M1I3M4D13M2D15M4I96M2D15M4D25M4I1M4D2M1D99M3D42M1I3M1D11M2D38M2D29M2I5M2D46M4I37M4D16M1I80M3D16M1D8M1I28M3I29M5I28M3D65M3D27M5D66M5I40M4I27M3D20M1I48M2I35M4I41M3I20M5I8M1D38M5D27M1D107M1I2M1D31M2D25M5D32M2I123M4I14M5I25M4D17M1D4M4D6M5D36M3D16M1D32M1I60M1I25M4I13M5D61M3I14M4D11M3I48M4I30M3I1M5D66M1I32M3D1M2D36M3I32M3I10M2I2M5I13M3I65M1I24M4I13M3D8M3I22M4D3M4I80M3D21M3I10M5I16M1D28M1D42M2I6M3D3M3D31M5D1M5I1M1D17M3D82M3I12M4D59M2D55M3I1M5I40M2D38M2D29M1I20M5I51M5I16M4D19M2I6M5D9M2D50M1I31M3I166M3D32M2I8M1D28M4D3M2I9M2I5M3D47M1I12M1D114M2D4M2I80M2I12M2I34M5I26M2I2M2D27M2D39M5D14M1I39M3I9M5D14M5I2M3I2M4D13M1D21M3D43M2I3M3I45M2D90M3I10M3I16M2I2M5D17M2D26M4D25M5I8M1D101M2I12M5I39M1D103M4D65M4I22M4D51M4I50M3D20M2I13M2I37M1D121M1D19M4D15M1I28M1D36M3I40M3D13M4I56M3D62M4I48M4D14M1I3M4D32M3D126M1D16M4D3M3I50M2D11M3I12M5I33M2I11M1I16M4D73M3I30M4I57M3D22M3I8M3D2M2D32M3I48M5D82M3D14M3D10M1D8M2D36M5D7M3I10M3I33M5D21M3D23M3I31M2I6M5I9M2D12M5D40M2I14M3I65M4D6M3I20M1I1M2I29M2D116M2I60M2I25M2D1M2I48M5I18M2D8M3D19M4D8M3D16M3I38M5I27M1I76M5D39M1I1M1I24M4D77M2D63M4D14M4D34M5D31M5D26M4D24M5I57M2D43M2I41M3I6M5D10M5I115M2D14M5D22M5D45M2D15M2I3M1I4M1D8M3I12M4D3M4I93M2D13M1I30M4D20M5D7M3I50M5D68M4D18M1D16M5D20M2I29M5I24M2I5M3I30M2D2M2I46M3D13M2I8M3D1M5D22M2I19M4D5M1I46M2D30M2D51M2I62M3D98M5D83M1D28M4D43M1I25M2D13M4I1M2D18M3I22M2D51M3D92M2D8M3I49M5I47M3I54M4I2M4I5M5D30M2I17M3D11M2I14M2D39M1D5M4D68M4I9M3I52M4D19M4D5M2D83M3D53M3D26M1D38M2I60M3D51M2D7M3D25M3D35M3I11M2I111M4D4M4D5M5I149M1I169M2I3M4D14M3D49M1I10M2D34M2D30M5D6M1I40M4I18M1D63M1I21M4D98M1I3M1D2M4D6M2D1M2I16M5I4M4I66M3I19M2I5M1D14M4I74M3I100M2I5M2I15M1D49M4I64M4I21M4D54M1D17M4D18M4I62M3D11M2I3M2I20M4I2M3D176M1D67M4D84M3I23M2I15M4D62M4I21M3I38M2I29M1I25M5I38M5D57M3I1M2I50M1D49M4I6M4D171M2I40M4I12M3I93M2I111M3I4M3D1M1D26M4D6M4I7M3D6M3D52M3D11M3D14M2I74M5I25M5D1M4D48M2D2M1D132M1I104M4I5M4D10M5D27M1D17M2I13M1I80M2D28M2D67M3I81M4I30M4D20M5D1M2I18M5I73M2D10M3I19M2I7M4I24M5I3M2D15M3D40M4I61M4I9M1D18M3I4M1D2M4I27M5I50M4I50M1D8M2I3M1D129M5D12M2I58M2I1M3D6M3I27M5D139M3D6M2I30M2D60M5I10M2I15M1D27M3I2M1I80M3D27M1I25M4D49M2I2M4D25M1D93M4D31M4I19M2I15M4D22M2D23M2I31M5I7M5D3M1I82M5I2M3I6M2D8M2D5M1I29M5I31M5D9M2I70M5I8M3D29M3D9M3D41M3D116M1I36M2I42M2D63M1I14M2I14M2D13M3I57M4I93M3I83M2I33M5I18M4I14M3D8M4D11M1D19M2D49M1I1M3D6M4I7M4D32M3D1M5D3M3D85M4D30M4D47M5D11M2I25M4D18M5I35M3D8M4D9M3D31M4D19M1D17M2I14M3I54M2D6M4D2M4D17M1I34M4I14M4D33M1D30M4D27M3D99M1D111M4I119M1D33M3I154M5I20M3I38M5I18M1D20M3I28M3D6M4I4M5D8M4I23M2D1M1D19M1I1M5I17M3I44M4I52M3D28M4D23M5I69M4I41M5D108M1D36M5D66M5D10M4I34M4D16M2D7M1D35M1D45M5D22M5D68M4D18M2I37M3D12M3I17M1I3M2D36M4I1M4I43M4D9M4D59M2D21M1I9M3I26M3I9M2I5M5D4M2D43M4I38M2D27M3D2M2I72M1D2M4D131M1I22M1I51M2D5M1D5M4I14M3D3M5I102M5I86M4D73M1I22M3D28M4I52M1D44M3I26M1D55M3D114M2D4M4D72M3I19M2D32M3I12M3I44M1D140M4I40M5D16M1D7M4I12M1D13M5D12M5I21M1I8M2I9M4I1M5D86M4D94M1I4M3D34M2D53M2D8M3D3M5D3M2D20M1I9M3I29M3D72M4D79M4D7M1D31M5D2M1I34M3D36M1D56M5I32M5D48M4D15M3I19M3D1M2D24M2I17M2I47M4D44M2I12M1I114M4I34M1I21M5D52M2I47M1D4M3I61M5D10M4I12M3D40M1I14M3I27M4D1M3I27M3I4M4I4M2D73M3I76M1D80M1I68M2I40M4I88M3D22M5I4M1D20M2D10M5D11M5D7M4I64M4I50M2D4M1I24M5I13M5D41M4I18M1D8M4D1M1D5M2D23M4D25M5I43M3I10M5D8M1I7M2I15M5D9M2D1M1D38M3D121M4D28M1D117M2D24M3D104M5I17M1I30M3I18M4I6M1D39M3D20M2I11M1I58M3D46M2I36M3I9M3D61M3I13M2D40M5D3M3I6M1I16M3I47M4I18M2I12M4I44M1I25M4I24M3D10M1D14M2I72M1D7M4D46M1D16M3I49M2I33M4I2M3I1M1I4M4D20M3I23M5I8M5D30M4D51M1I3M3D58M4I9M3D15M5I61M2I46M4I4M5D49M4I7M3D15M2I3M2I26M2I4M3I75M1I122M2I19M2I56M1I5M5D88M4D18M3D61M4I9M2D15M1D4M2D43M1D11M5I2M4I51M3D7M1D11M4D77M4I15M2I4M2D19M5D2M5D54M4D11M2I69M1I7M1I13M5D37M1I35M5D7M4D37M5D20M4I35M1I69M2D43M4I94M5I5M4I43M3D35M4D58M3D49M3I18M2D65M3I76M2D18M2I45M1D51M2I11M1D13M1D16M2I8M1D29M3D3M1I57M1I6M2D28M3D144M3I28M4D5M5I115M1I12M5I1M3I88M1I3M1I21M5I10M5D40M3D95M1I60M2D2M2D6M3I28M3D10M5I45M1I14M1D3M2D6M5D60M5D63M2D19M1D66M2I48M2D55M3I109M4D8M1D56M3I10M2D60M2D163M3D21M4I92M2D13M5D7M5D21M5D11M1I12M1I98M1I7M4D14M1I14M4I50M1I89M1D8M4I14M2I38M3I17M2I37M5I22M4I14M1I33M2D23M2I33M2I35M5I20M1D36M2D7M5D58M3I91M5I2M1I1M2D21M1I15M1I9M5D17M1D5M4I36M5I15M3I6M1I20M4D46M2D10M2D78M4I91M1I61M1D63M3D15M4D98M1I6M5D24M4I75M5D3M4D18M2D102M5I23M5I4M3I7M3I82M3I65M2D113M2D10M1I73M5I45M5I32M4I29M2I17M1D14M1I6M5I50M3D7M4I10M4I25M3D31M3D3M5D1M3I35M5D18M4D35M3I58M2I64M5D2M2I15M2D162M1I22M2D5M3I23M1I70M1I18M2D80M4D31M5D58M5D26M5I74M3D27M2I19M2D21M4I27M4I27M4I8M2D26M4D146M1I38M4D11M4D32M3D4M2I19M1I19M3D27M5I20M5I18M1D12M2D69M5D16M2D95M5D78M2D2M5I31M4D16M1D1M3D23M2D21M1D26M3D32M1D7M4D30M4I66M1D28M4I71M4D7M2D32M1I43M1I11M5I3M4I1M5I59M5I32M1D61M5D97M3I1M3D3M2D20M2I19M3I3M2D2M3D19M3I2M3D12M3D36M4I55M5I1M3D62M4I114M5D115M3D78M5D7M2D71M4D20M5D46M4I25M2I29M2I62M1I38M4I1M1I93M5D31M4I33M3I34M2I28M4I10M4I24M5D13M5D47M5D3M5I60M3D2M3I1M4I30M4I25M5D7M5D5M4D70M2D63M5I12M2D57M1D23M4D8M5D51M3D17M4D6M1I26M3I43M5I15M1I40M4D27M5I2M1I44M1I5M1D5M1I21M3D2M3I17M2I13M4D8M3I16M3D19M5D137M2I46M2I7M4I11M4I10M5D1M2D41M4I28M4D33M1I61M4D13M4D33M3I3M2I8M3I49M4D9M1I4M3I15M1D18M3I11M1I4M2D21M5I41M4I13M3I108M3I68M5I64M4D6M4I10M1D17M1I6M5D46M1D64M2I2M2I12M4D72M2D21M1I18M1I44M4D13M3D30M3I16M1D2M2I84M3I13M4D8M2I74M1I19M4I16M4D50M1D7M2D73M3I16M2I11M5D33M5I3M4D85M2D64M2D26M1I10M5I9M5I10M1D25M3D7M4I34M1D24M5D6M4D92M3I23M5I52M3D12M2I11M5I2M5I75M1I2M3I17M3D54M3I59M2D23M3D9M4D20M4I5M3D71M1I14M2D18M3I8M2I17M1D44M4D36M5I11M3I19M1D19M1D2M3I26M1D43M3D19M1I122M4I30M2I23M5D59M1I4M5D23M5I1M3D2M2I62M4D13M4I93M5I27M3D41M5D16M3I22M5I42M2D24M1D62M4D12M1D16M4I19M1D32M3D39M3I2M1I53M4I2M2D6M1I17M2D43M4I2M5D80M1D51M2I39M1I22M1I39M4I30M3D9M4I12M4D10M1I126M5I120M4D49M2I8M5D42M5D32M5I11M3I22M3D35M4I15M3D50M4I1M2I10M4I12M3D20M5D113M3I10M5I3M4D1M3I51M1D11M3I7M5D28M2I14M3I23M1D4M1D8M4D52M2D2M2D35M4D18M5D19M2I68M3D37M5I11M1I6M1I16M1I7M3D38M3D4M4D4M3I9M2I24M2I20M1D10M1D3M5I15M5D17M5I63M5I3M2D97M1I32M1D60M4I65M2D2M1I1M3I8M5D17M4I7M4I27M1I16M1I5M5D81M1I43M4D9M5I14M5I31M5D10M3D24M1I12M5I1M4I26M2I54M4I15M1D27M2I23M2I10M5I90M3I29M3D14M5I10M5D11M5I21M5I21M4D62M5I5M3I21M5D25M5D40M2I24M5D6M1I8M4D54M5I40M5D1M1D3M5I218M4D7M1I1M5D3M5D1M5D11M1I108M5D2M5D1M5I11M5D72M1I50M2D36M1D2M1D56M1D6M5D38M3I16M4I5M3I25M2I2M5I48M1D19M3D32M1D14M4I3M2D25M2I26M4D6M2D4M2I5M2I74M5I6M2I12M2D38M1D1M5D3M3D16M2D1M1I28M4I131M5I13M1D74M1I12M5I37M3D8M2I12M4D52M1D8M5D28M5I35M1D39M5I12M5I37M4D27M5D55M3I15M3D134M2D57M4I37M1I10M3D119M1I46M4D153M3I26M2D29M2I18M1D15M2D17M5I1M1D58M2I64M5I44M3D26M4D11M4D13M1I27M5D1M4I7M1D9M5D74M5I39M5D5M5I1M5D11M2D16M2I35M2D24M3D11M1D15M5D10M2I8M1I78M5I83M3D12M1I32M1I15M1I9M4D32M5D26M5D48M1I16M3D39M2I48M2I9M3I24M2D31M4I55M2D18M4I11M2I2M4I30M4D56M4I72M4I9M2I75M5D136M4I17M3I10M1I9M3D1M4D46M4D38M3I30M1D64M5D28M4D22M3I5M5D8M1D3M1D27M5D71M2D25M2D1M1I19M2I35M3I6M2D61M3I40M1I78M5D12M4D41M1D68M3D27M4I47M1D5M3I50M5D2M1D83M1D41M1D140M3I93M2D106M4D65M2D20M1D25M4I50M5D50M2I18M5D20M2I23M5D1M1D9M3D40M5I11M5I50M5D9M4D19M4D2M2D69M4D51M1D27M4I101M2D17M5D26M2D68M3I61M4D2M3D36M4D1M2D13M2I3M5I3M5D91M1D64M2I24M2I4M1D18M4I38M3I16M2D6M3D8M5D10M1I30M3I6M4I27M4D4M3D8M1D9M5I34M3D12M2D53M1D19M2I66M3I47M2D26M3I13M3D28M3I27M2I3M4I14M2D19M1I18M4I25M2I68M5I6M5I33M1D35M1I34M4I92M4I50M1I6M4D3M2D3M1I71M2D1M5D14M3D42M1D21M4D28M1D34M1I75M5D4M3I82M4I15M3I50M5I68M2I90M4D4M4D22M5D74M5I16M4I9M2D17M4I11M4I16M2D11M2I80M3I92M1I51M5D2M2I46M5I21M2I21M5I75M3D19M3I43M5D10M1I52M3I20M2I226M1D15M5I13M2D49M4I18M4I16M3I86M5I7M1I7M2I23M4D22M5I37M2I40M5I13M3D2M3D65M3I5M2D37M4D122M3I13M4D27M5D2M2D38M4D1M4D7M5I41M2I9M4D11M5D27M4D7M2I9M5D35M3D22M3D50M3I21M3D72M3I103M5I25M3D13M2D17M5I14M4D23M4D93M4D1M4D101M2D21M5D3M3D11M4D1M5D53M3I16M2D20M5I11M5D9M2D78M1D147M1I25M5D153M5D12M2D37M5I46M5I44M2D5M5D48M2D85M3I17M3D15M2I16M1D91M1D29M1D6M2I8M2I37M5I80M1I3M3D46M1D7M5D16M3I7M1I74M4I63M4D5M2D37M4I9M4D68M5I26M5I21M5D15M5I41M4D14M4I9M3D2M4I35M5I3M2D29M1D12M1I2M4I54M1I16M2I28M5D6M1I1M5I7M4D11M5D11M2I26M5I9M2I66M1D39M3I12M1D42M2D34M1I10M4D12M5I97M3D9M4I10M1I21M2D18M3I31M5D7M2I14M5I90M2D31M4I16M1D7M1I99M4D70M5I16M1D82M2I53M2D32M2D169M2I13M1I58M3D8M2D16M3I1M5I2M1D52M4I54M4D62M2D16M2D5M2I12M1I21M2I108M1D37M2D3M4D32M5I17M2I7M3D24M3D46M3I21M1D113M3D29M3I57M1I3M5I3M5D109M1I19M1D5M3I6M4I21M3I4M4I12M2D5M3I79M2I3M1D59M1D46M4I72M1D58M3D70M1I36M2D37M1D5M4D39M2I11M1I18M2I2M2I79M4D11M5I25M4I27M5D32M1I35M4D7M2D5M1D8M4I10M3I54M5I6M4I43M1I52M2I3M5I7M3D31M1I35M4I53M1D72M1D15M5I7M5D4M3I1M4I39M3D1M4D34M3D8M2D5M2D13M4I119M4I4M5D42M5D41M5D69M1I37M1D4M3I48M2D8M1D9M1I13M3D10M2I49M4I51M1I6M1D151M3D9M1D14M3D1M1D24M1D7M5I1M3I24M2D5M1I57M3D8M5I26M5I59M4D46M4I88M4I57M4D24M2D7M3D24M5D8M1I59M1I7M4I64M3D1M4I72M3I9M2I24M5D1M1I12M1D34M1I32M3I35M1I72M3I26M3I13M3D23M2I7M1D9M5I36M4I80M4I34M3I17M5I38M4D1M4D26M2D77M3I25M2D10M3I14M4D29M1D44M2D24M5D45M5I4M5D22M3D2M5I3M5I34M2I48M3D14M2I27M4I30M4I50M1I2M4D17M2D33M1D45M4D50M3I10M2I19M1I6M3I105M2D20M1D25M3D8M3D14M4I16M2D5M1I12M3D20M3D6M4I14M2D16M2I5M1I12M2I83M2I9M4I36M1D27M4D56M1I58M5I53M5I35M5D23M4D57M2D16M3I1M5D7M5I11M3I5M5D99M2D70M4I7M5I14M2D25M5D4M2D3M2I58M2D4M1D23M4I6M5D16M4I25M3I36M3D88M3D34M4I28M4I40M3I62M2D47M1D8M5D22M5D4M2D40M4I12M3I2M1D13M5D62M2I19M4D104M4I21M2D5M1I102M4I32M4I14M2I1M5D19M3I24M3D7M2I54M1I46M4D33M3I37M2I15M2I5M4D12M4I23M1D6M1I3M2D3M2D1M3I26M1I39M5I2M1D28M1D16M1D2M4I55M2I6M2I110M3D23M1D19M5I54M3D27M2D38M4D21M4I9M4D3M2D59M3I34M4I19M4D17M5D10M1D3M3I51M5D5M1D74M2D4M3I10M1I6M4D16M1I38M5I66M3D66M3I15M2D1M1I35M3I43M2I22M4I25M3I6M4I55M2I14M1I158M4D27M2I18M4D44M2I16M2I6M2I17M2I25M5I60M3D5M3I101M2I17M1I53M2D1M4D3M1D21M3D1M1I9M3D39M1D14M5D19M4D10M2D4M4D14M3I22M1D61M1I80M3D30M1D6M1D7M2D21M4I4M4D52M2D4M2I32M5D34M2D33M1D7M2D75M1D12M5I55M4D24M2D43M5I22M4D23M4I68M1I24M3I31M5D32M4I55M4D8M1I29M1D45M4D10M1D22M5I35M1D13M1I18M4D12M3D10M2I16M1I61M2I53M5D8M5I33M4I9M4D26M2D14M5I1M4I11M4D11M2D7M5I51M4I24M2D27M4I23M5D9M5D75M1I46M5D30M2D11M2I25M3D61M3I60M4D12M5D37M3D8M2I64M4D1M4D13M5I5M5I11M3I6M4I8M3I4M5D50M5D1M3D25M5I22M1I10M3I37M3D36M1I26M1D1M1D14M4I80M2I72M4D62M3D8M4I20M1D5M5D13M2I34M3D1M2D1M5D17M4I51M5D30M2D10M4I75M3I13M4D52M1D127M5I10M2D70M3I22M1I30M5D15M5D5M5D1M4D85M2I22M5D60M5I32M4I16M5I46M1I18M1D24M2D14M5D3M5D43M3D4M1I32M2D57M1D5M2I13M2D46M3I5M5D8M2D11M5I51M5I20M5D40M2I10M1I76M4D51M1D163M5I14M2I7M5D110M4I13M3D19M3I2M1I39M1I45M2D111M1D74M4I50M2D9M5D24M2D59M4I52M4D57M5D68M4I7M1D35M1D19M4I1M2D65M5D20M3D56M2D26M5I19M2I21M5I14M3I19M1I18M5I3M1I17M2D8M3D6M2D34M2D1M2D1M4D18M2D91M4I48M5I3M1D42M3I1M1D18M4D19M4D1M1D17M2D19M4D70M2I7M1I48M3I46M2D19M4I54M4I3M4I46M4I81M2D46M4I20M1I3M3I4M5D23M3D16M2I32M1I21M3I11M5I23M1D8M2D16M1I71M4D6M1I44M5I14M4D70M1I4M1D70M1D108M1D4M4D25M1D30M1D2M3D1M3I12M3D24M1D12M5D6M5I45M5D4M4D17M1D16M3D29M4D20M4I32M2D11M2D6M1I26M3I68M2D70M1D70M3I21M3I22M4D48M5I30M2I18M4I17M1D26M1D10M1I13M5I18M3D43M1I19M5I28M3I36M5I74M2D113M4I11M1D12M3D54M1D48M5I9M4I50M3I7M2D5M3I45M3I4M3D11M1D8M3I34M4D40M2I16M5I20M5D2M2D82M2D29M3D1M3I6M1D13M5D35M3I18M2I3M3D9M3D60M3D92M3I1M4I8M2D35M4D19M2D2M5I1M1I7M4I14M4I10M1D45M3I7M3I16M5I124M2I55M4I18M5I68M4D23M3I55M4I22M3D61M2I21M2D9M4I61M3D54M5D34M2D52M3I37M1I20M2D11M4D10M2I24M1D6M4I7M1I65M5I69M1D13M1D37M5D24M3D20M4I47M3I93M2D32M1I91M3I14M2D29M4D5M5D5M2I81M4D17M5D3M2D5M1I8M3D31M4D39M2I56M4D133M2I62M4I33M2I123M4I47M4D44M3I17M4I6M4I11M5I7M1I4M1I3M3I5M5D19M2I144M4I52M4D20M4I24M2I20M1I37M2I50M4I23M1I18M3I2M5D8M5I23M4D6M1D52M4D67M1I19M2D39M3D28M2I51M2D41M4I78M4I11M1I12M5I54M4D30M3I149M1D161M4D46M4D1M5D8M3I18M3D88M3D27M5D33M4I5M2I7M5I71M1I12M5I34M3D38M5D13M3I44M5I15M3I2M4D13M4D14M1I18M4I6M2D63M2I36M1D41M1I68M4D20M3I8M5I26M3I49M2D53M3I26M5D52M2I52M3I4M4D9M4I31M1I16M1D18M2D15M3I3M4D106M4I10M1I14M2I10M5D4M2I9M4I62M5D3M2D38M4D184M5D92M4I47M1I80M4I10M5D38M1D9M4I6M5I79M5D77M5D40M1D43M1D4M4D3M2D32M2I29M2D9M4I163M4I18M5I82M4I9M1I6M5I8M5I13M1I9M4D11M2D1M1I30M1I4M1I6M4D62M3D20M4D3M5D13M3D88M3D1M1I38M3D126M5I32M1D12M1I37M4I17M5D62M4D86M1D26M2D1M2D31M2D52M5I25M4D73M1D9M5I39M4D30M3D56M1D123M2I88M1I84M2I19M4D16M5D5M3I5M3D112M4D14M1I5M2I34M5I25M2I5M5D6M2I10M2D30M2D89M4I1M3I7M2D13M2I16M4I17M4I27M4D17M5I81M5I8M1D5M5D2M3D48M2I13M2D69M5I42M4I78M2I111M2I60M4D33M5I40M1D81M2D2M1I12M2I31M2D34M2D11M1D16M2D11M2D15M4I31M5I16M3I14M3I17M1D79M3I42M5I1M5I45M5D5M3D2M4D83M5I2M3D19M5D6M3D7M5I14M2D6M2D3M3I54M1I68M4D10M3D71M4D152M3I5M2I45M2D96M3I10M4D39M4I15M1I6M1D37M5I25M4I9M2I40M1D34M5I5M5D3M2D6M1I66M3D17M3I16M4D3M3I12M1D70M1I43M4I22M1I15M4I17M4D11M2I36M1D2M5D10M2D13M5D9M3D9M5D3M4D1M5D1M5D5M4D75M4D24M5I33M2D31M2D12M4D12M3I129M4D11M3I1M4I30M1D22M3I19M2I1M2I32M2I86M2D18M2D56M4I25M2I31M5D63M5D1M1I34M5I29M2D31M5D17M4I25M5I2M4I2M3D16M1I12M2D8M2I3M3D30M3D78M1I4M2I35M2D38M3D28M4I137M4I109M3I5M2I6M2D43M3D11M4D165M3I4M3D57M4D3M5I68M3I92M4D10M5I24M5I1M1I22M4I58M2I54M4I4M2D43M3D44M4I28M5D22M3D16M4I9M4D1M5I58M3D59M1I37M2D17M1I40M4I29M5D4M3D40M1D10M4I4M5I49M3I1M1D16M2I5M5I13M1D8M4I9M2I33M2D34M1D35M5I22M4I33M3I38M4I6M5D15M2D37M1D32M1I108M3D18M5D22M4I10M1I17M3I19M4D5M4D68M2I14M5D1M3D29M5D135M2D33M4D42M2D41M4I17M1I23M4I23M1D25M4D31M3I9M4D136M5I20M5I13M5I50M5D124M4I16M3D3M5D101M2I16M3D1M3D84M4D30M1D32M1I23M4D28M5D6M2D40M1I3M3I11M4D5M3D39M5I1M2I7M5D54M2I21M5I21M2I12M4D16M4I17M2D64M5D15M5I35M3I47M1D1M4D1M3I8M2I54M3I80M1D1M5I3M5D23M1D3M5D51M1I37M5D19M2D14M4D17M3I25M3I59M4I50M5I19M2D87M3D5M4I26M1D17M5I14M2I13M1D99M4D14M5D15M3D47M4I37M5D4M2D79M4D14M4I63M3D13M3I1M4I34M2D92M2D18M3D12M5D34M2I9M2I74M2I26M3D55M3I25M5I4M4I10M2I103M3D41M2I2M3I15M2I117M5D15M1D5M5D6M4D7M3I11M4D35M5I1M1D11M5D4M5D126M2I14M5D29M4I10M4D16M3I2M3I31M2D54M3I84M4I57M5I22M5D54M2D14M1D6M5D98M2D9M3D27M2D9M2I15M1I9M1I37M5D37M2I25M4I6M2I21M5I20M2I29M2D110M1D31M5I32M3I44M4D76M2D24M4I11M4D62M4I35M2I15M4I39M5I107M5D19M3D92M5I2M1I10M3D11M4D18M5I53M4I22M1I60M4I4M5D2M3D51M2D3M3I65M2D38M2D31M3D18M1I1M2I43M3D34M3I71M5I48M5D17M3D18M4D74M2D79M3D36M5I1M3I68M5I24M1D84M2I55M4I39M5I23M1I22M5I39M5D7M1I24M5D18M5I1M2D88M3D60M5I119M5I17M3D6M3D9M3I13M3D3M4I4M1D3M4I14M1I34M5I62M4D4M5I6M5D42M4D1M4I6M1I15M5D34M1D46M3D123M5D93M4D20M5D90M5D36M1I2M2D26M3D44M1D62M2I71M3I49M3D9M5D36M1D27M2I30M3D97M3I18M2I10M1I14M1D63M3D32M1I25M2D24M3D48M4D14M4D1M2D32M5D113M2D27M1I7M1I18M3I27M5I8M2D2M5I29M2I3M4I34M1I20M3I77M5I26M1I3M2D43M5D75M4I39M2I49M5D32M1I14M1D20M5I4M1D45M4I3M5I3M2I99M5I18M5I26M3D17M5D32M5I15M3I3M5I1M2I26M5D54M4D10M4I16M1I24M4D1M5D18M2I91M4D9M4D33M1I30M5D159M3D43M4D36M4D10M3D33M3D13M3I15M4D27M3D1M1D40M4D65M1D1M4D61M3D18M5D4M5I6M2I25M3D125M5I31M1I4M5D42M1D81M5D40M5I26M3I1M5I50M4D14M3D10M5D2M1I44M5D61M2D35M1I38M3D4M3I4M3D4M1I22M1I37M1D2M3I50M3D4M3D131M5D11M3I8M2D3M5D87M1I18M3D78M1I24M1I24M2I44M4D17M3I10M3D23M4D11M1D10M3I67M2D41M3D9M5I42M4I6M4D5M1D17M2I9M1I13M2I22M2I25M5D43M5I101M2I4M3I11M2I18M5D27M3I11M4D64M1I6M3D24M2I1M1D6M1D85M5D2M1D20M4D27M5D13M5D28M4D113M4D19M5D5M1I2M1D92M4I43M4D120M1D20M3I5M5I40M5D16M4D15M5I19M4I5M3D6M5D48M2D49M4D50M2D39M4D9M1I49M3D6M3D35M2I1M3D58M1D82M1I45M2D25M5I8M3I4M4I3M3I40M3D57M3D6M2D46M2D6M4I74M2D14M3D4M3D22M2D54M5D3M3I61M3I15M1I52M3I26M2I29M2D31M4D18M3D14M1I56M2D12M1D20M3I16M2D12M4D2M4I31M2D12M3I73M5D23M2D45M2D4M1I3M5I14M1D4M5D72M2D21M1D2M5D91M3I17M4D18M3I9M3D4M2I18M3D23M4I75M3I12M5D1M2I28M5D25M2D6M1I42M5I7M4D27M1I14M2I12M3D40M4I20M1D51M4D50M4D47M3I53M3I5M1D2M5D33M4D96M3D67M2D3M3I49M1D9M3I45M5D1M2D7M1D8M1I75M2D30M4I20M5I22M5D1M4D5M1I36M1D8M4I34M1I21M3D35M5D1M5I26M5I50M5D29M5I64M4I1M5I65M2I59M3I49M2D40M3D115M3I28M1D1M1I3M3D9M4D141M4D11M3D7M4D41M5I29M5I40M2D27M3D7M1I3M4D8M4I8M3D2M2I1M5D46M5D32M5I23M5D32M2D169M3D85M2D39M3D68M3D59M1D11M2I13M1I22M4D8M1D1M3I9M5D22M1D23M5D22M5I12M2D29M5I2M3I1M4D15M2I85M1D50M5D8M5I7M1D21M1D39M1D49M4D6M1D133M3D127M5D1M5I16M3I10M2I30M4I28M4I15M1I10M1D21M4D28M2D4M4I29M5D6M2D32M5D26M5I46M4I13M2D45M1D29M5I84M1D8M4I38M2D47M2I32M4I60M1D39M4I27M4D32M3D41M4I17M4I20M5D16M1I17M4D11M4I35M5D29M2I19M4D15M3I17M2D29M4D31M2D37M5I10M5I107M4D1M4D63M2I6M2D37M1D35M3I63M1I31M1I19M4D1M2I16M5I44M4I7M3I18M3I42M1I47M1D10M4I16M5D6M2D16M5I1M5I38M2I71M1I15M3D19M5D81M3I75M1D3M1D21M5D64M5I25M4I14M4D85M1I23M5I3M5I3M1D13M3I29M2I19M1D10M3I56M4I21M4D3M2D9M4I39M5I97M5D48M1I82M5I34M1D15M1D38M2D4M1D19M4D14M1I50M1D14M1I1M4D48M5D4M3I5M1I2M1D59M3D8M5D93M4D17M3D30M3D24M3D31M3D52M4I25M4I12M3I7M1D41M5D60M5D26M2I4M1D23M5I38M5D15M5I75M1D4M3I30M2D9M4I41M5I34M1D4M3I43M5D3M3D12M5I1M3I31M4I78M2I8M5D86M1D8M4I12M4I31M5D46M4D41M2I15M4D37M5I42M5I9M4D14M5I81M5D25M1I30M3D6M2I44M5D2M2I31M2I6M1D14M5D58M3D96M2I1M4D10M2I36M3I27M4I77M5I11M3D5M3I62M4D58M3D50M3D9M3I21M1D1M1D3M2I51M3D95M1D10M1D4M5I15M5I14M1D10M4D13M5I11M5I36M5D7M4D64M4I55M5D59M2D19M5I6M5D50M4I125M5I13M5I19M1D84M4D2M5I50M3D10M3D22M2D14M5D22M5I14M2D7M5I94M5I105M5D2M5D5M1I20M3D44M3I17M1I22M2D12M4I9M5D51M2I28M3I12M4I16M3D32M5I26M2D21M5I2M1I4M5D41M2I5M4I11M5D12M4D11M4I4M2D2M2D11M3I28M3D2M5D47M2I40M4I4M5D16M2D86M4D13M2I11M3D1M1I24M3I5M5I18M2I10M3D10M3I8M1D46M1I31M3I6M2D38M1I9M2I3M4D2M1D49M1I81M5D57M1I14M1I8M3I19M3D5M3I16M4I2M3D58M3D16M1D32M5I31M2D13M4I23M3I1M4I99M2D21M4I57M3I11M5I13M4D25M5D155M2D25M3D32M2D1M2I6M3I7M2I109M1I3M1I7M5I21M2I22M2I14M3D112M5D31M5I131M1I18M5I11M4D5M4I39M3D12M5D12M2I47M2I53M4I6M3I29M3D7M3D18M4D28M2D21M4D30M5D34M4D10M5I59M4D13M2D24M2D10M1D81M4D43M2D23M4I1M4I63M4D27M3I19M1I49M4I10M2D73M1I23M1D110M5D4M5D74M4D135M4D5M4I68M2I63M5D10M3D22M4I34M2I37M2I41M5I69M5D4M1D27M5D10M1I9M5D13M2I25M3I9M5D57M1D75M4D2M3D80M4I17M2D2M1D1M1I28M4I12M5D21M2I40M3I118M4I64M3I21M2D4M4I20M1I36M1D8M3D31M1I9M5D50M5D7M3D69M5I58M4D3M3D1M5I45M3I5M1I5M2D63M2I2M1D88M5I35M3D2M4D2M4I40M2I66M5D50M4I21M5I29M2D6M3I101M1I16M2I58M5I25M5I60M2I20M2D14M4I1M1I31M5I1M4D52M4D59M5I60M2I76M3I11M1I30M2D35M3D13M4I99M1I39M2D10M3I5M1I29M4I20M5D19M3I12M5D45M4I16M5I6M2I154M2D193M2D15M1D71M1D6M2D7M4I33M4D67M5I63M5I22M4D9M3I99M5I16M1D18M1I31M1I70M5D52M1I7M3D6M4D10M2I14M3D58M3I36M3D20M5I91M5I19M2D23M3I38M2I31M5D37M5I37M2I48M4I27M4I18M3D13M4D12M4I18M4I25M2D5M5I14M1I15M5D44M1D58M2I23M3D49M2D10M2I4M2D20M4D3M2I37M3I30M5D12M3D15M2I3M4I35M5D60M3D60M1I59M1I58M1I45M2D67M2I27M4D24M5I25M2I54M1I20M5I17M1I67M2D79M5D51M2D122M3I19M2D36M3D22M2D8M3D79M4I49M4I4M5D16M4D45M5I5M3I15M5D68M5D99M5D62M3I5M5I5M5D15M2I9M1I23M1D10M5D1M1D17M2I82M2I17M4I82M1D34M3I48M2I15M2I7M4D89M5D41M5I26M2I8M5I55M1I30M4I28M3I40M4I136M3I4M5D22M4I31M4I24M2I34M1D65M4D17M5D12M1D98M2I7M1D17M4I32M1I12M3I17M4D6M3D26M2D32M3D13M5D22M5I7M5I2M4I15M1I3M2I82M1I27M5D52M3D30M2D57M3I7M3D50M1D13M2D59M5D35M2D7M2D28M4D35M1D25M2D64M4D39M2I23M4I7M1D9M2D12M1D62M5I41M1I5M2I8M1I23M4I6M3D39M2I44M2I37M5D20M3D22M1D163M1D40M2D120M1I23M3I52M5D4M3I14M4D2M3I4M2D18M1I17M2I2M2D49M5I44M4I15M4I3M2D20M1D101M4I4M5D8M4D4M4D5M1I17M3I76M1D67M2I2M2D27M4I56M4D74M3D10M1I44M3D6M3I61M5I9M2I16M5D2M2D3M2I17M5I23M5D10M5I40M1I136M4I9M1I13M2I64M5I27M5D12M1I47M2I17M2I127M4D12M5I17M4D1M5D1M1D18M5I26M4D22M1I23M4I135M1I1M3D4M1D6M4I46M2D19M4D18M2D25M4D6M1D16M5I7M4D45M3D6M4D168M3D15M4D1M4D14M4D47M2I23M4I27M3D30M5D80M4D12M5D2M2D20M2I15M3I44M3D50M2D32M5D79M4D6M2I5M2D1M2D74M5I31M5D13M3I17M3I47M5D20M3D75M4D28M3I24M1D16M1I42M3D48M3I33M4D37M1I7M1I123M2D36M4D21M5D32M2I19M5D53M3I10M2D32M3I22M1D15M2I128M1I13M5D43M4I9M2D55M5I80M1I15M5I63M4D42M1D86M5D20M3I3M2D27M4I8M3D55M5D49M4D16M2I5M4I14M4I48M5I25M2I40M1D9M1I51M1D58M1D2M1D66M5D11M3D174M2I27M2D12M2D31M3I18M4I40M4D87M5D32M4D5M4D8M1I24M2I17M2D37M1I15M5D19M4I2M2I40M2I8M3I23M5I54M2I10M5I41M3I29M2D35M1D56M5I4M2I15M4D29M5D8M2I11M1D10M1D16M1D62M2I16M2I6M5D16M4I2M3D15M4D50M1I53M3D119M1I35M3I22M1D27M1D20M3I23M3I2M2D47M4I5M5D6M4I13M4D20M3D21M5D39M3I34M4I5M5I16M2D13M1I49M5I19M1D18M1D56M3D26M4D35M3I16M2I13M3I4M5D104M5I19M1I33M5D1M1I11M3I8M4D26M2I41M5I15M4I4M1D17M1I55M3I23M2I3M1I64M4D10M4I42M3D1M4I9M2D19M5D21M4I21M4D3M2D20M2D7M3I20M4I6M3I55M3D2M1D32M2D22M4D29M2D40M2I20M5I18M5D23M5I51M2D30M3D22M1D22M4I10M4I4M1D29M4I20M4D13M3I23M1D20M5D150M3I12M1D12M5I29M5I9M2I17M2I12M5D5M1D60M3I19M2D4M5D7M3D52M4I72M2I8M1I24M1D2M2I10M2I29M5I66M3D11M3D41M5I3M3D48M2I27M3I20M3D46M3D39M3I38M2I19M4I24M5D5M1I12M5D7M4I4M1I66M4D5M5D6M5I15M5I22M2D38M2I8M4D32M5D22M4D43M3I15M3I27M3I19M2I2M5I8M5I5M5I27M3I14M3I10M3I42M4I5M2D34M3D166M1D13M3I17M3I5M3D4M3I18M4D8M5I20M2I2M5I16M2D30M5I32M5I27M5D89M4D88M3I53M4I1M3I9M2I118M5I3M4D3M5D30M3I15M1I142M3D7M2I6M4D25M5D1M3D2M1I36M2I8M5D16M5I18M4D34M3D34M2D107M3I2M1I1M2D43M3I35M2I42M2D35M4I13M3I64M4I23M1D1M5D38M3I1M2D42M3D2M1D21M5I4M2D3M3D54M1D4M2I2M3D15M5D107M1I50M2I35M5I34M5I81M4I36M1I18M3I61M1D124M4D7M1D29M2I33M3D25M5D54M4D64M1I26M4D23M4I12M5I7M3I29M5D39M5I1M2D44M1I96M1D47M5D8M3D17M4I21M3I18M1I1M4I7M2D32M5I42M2D2M2I49M3I12M3D3M5I9M4I33M1I175M5D28M2I29M5I2M1I56M2D44M3I17M1I61M2D55M2I39M3D42M2I44M5D24M4I9M5I45M3I21M5D46M3I9M1D16M4I3M4D53M1I5M4D32M2I21M2I72M3I64M4D6M2I27M4I9M1D44M1I5M2D26M2I29M5D13M4I50M3I25M4D1M3I30M2I8M2I28M5I85M2D51M4I24M3D34M2I11M3I48M2D1M1D1M3I2M1D3M3I1M5D15M2D14M2D10M4D1M1D2M2I49M3D59M4D105M5I32M2I9M4D24M5I3M5I31M3D37M1D34M4D10M1I32M1D81M1I30M2I38M3D6M1D27M4D3M2D94M4D4M3I3M1I31M4I33M5I52M2I18M5D3M4I6M2D10M2D12M2D5M5D3M5I5M4I38M5D6M5D30M2I13M1D67M1D9M3I37M4I16M3D41M1D20M1D79M1D1M2I6M3I22M3I17M4D42M3D1M3I19M4I1M1I5M1D14M2I17M5I10M2D20M2D7M3I36M3D43M3I50M2D23M4D23M4I21M4D4M1D14M1I3M2D38M4D7M5I39M2I10M4D35M1I13M5I163M3D14M1D23M1I8M5D53M5I11M2I10M4I39M3D18M1I4M2D5M3D54M5I30M1I7M4D15M2D20M5D3M5D52M4D25M4D21M1D4M4I78M5I3M5D7M2I61M1I32M3I9M4D170M5I4M1I41M1D69M1I4M1I43M5I26M4I20M3D14M5D9M3D21M1D14M5I73M5D1M5I30M1D6M3D6M2I4M5I17M1I2M4D2M4I10M3D43M3D20M1D107M4D66M2I18M4D12M2I22M4D9M2I14M4I48M4I37M4D16M3I67M4D32M2D15M2I23M3I29M1I20M3I3M3D119M2D31M4I2M2I63M2D4M4D27M5D2M5I163M3D18M2D8M1I18M5D4M5I5M5I89M4D19M2I214M4I21M1I12M1I8M2D12M2D44M2D41M4D22M4D1M1D33M3D18M4I29M5I14M2D12M1D13M4D18M2I12M2I18M3D2M2D1M3I65M5I11M4D33M3I1M1D9M1D17M3I14M2D21M4I17M4D19M1I15M5D16M5D6M3D5M5I92M1I4M1D8M3D17M2I6M1I19M5I125M5I90M2I8M2I54M1D116M1D5M2D27M5D75M1D1M4I29M2I3M3D89M1I28M2I101M4I30M4D10M3D20M2I45M1D50M1I35M2I8M5D28M5D52M2D65M3D12M1D49M5D40M4I136M1I28M4I20M1I57M5D58M4I51M2I68M4I57M1D89M3D45M5I32M3I12M1I17M2I46M4D1M5D15M2D28M2D17M2I6M1I72M5D11M3D12M4I209M4I56M5D38M2I29M4I57M3D4M1D16M3I12M3D17M1D94M3I36M5I67M3D3M3D10M5D12M1I35M3D19M1D11M2D42M4I54M3I2M3D12M3D36M5D41M3D31M3I1M3D12M3D10M3D27M3D23M5D38M2I41M1I22M1D53M4I4M3D7M2D10M3I1M4I3M5I3M1I29M2D56M1I9M5D185M1D2M5I37M4D70M5D16M2I9M1D62M3I33M5I41M2I12M3D33M1I4M4D20M5D75M5I88M5D9M2I2M1D42M3I12M4I50M5D49M5I145M5D22M1D16M5D40M4I18M5D38M2I51M5D46M4I8M5I76M4I11M3D22M3D25M4D8M2I23M4I46M1I20M4I29M2D4M1D48M1D55M1I67M1I2M4D79M2D19M5D5M2I19M3D79M4D41M5D18M4D18M2I72M3I5M3D12M2I31M4D7M1I103M1D8M1I15M1D23M3D6M5I76M2D5M4D47M5D16M4D58M4D20M3D29M1D3M1I13M3I31M4I10M5I4M3D37M4I25M5D15M3D38M1D23M5D40M3D2M1D6M1D116M2I11M1I40M1D33M4D25M5D111M2I26M1D36M3I41M2D2M5I25M5D33M2I4M5D28M4D1M3I111M2I21M1D17M5D8M1I41M3I46M2I57M2I5M5D2M1D5M1D9M5D61M4D2M5I28M1D76M3I29M5D19M4I27M4I70M2D27M3I15M5D19M1I5M2I33M2I20M4D28M1I10M4I4M3I51M4D57M3D127M5I87M4I61M2D70M1D73M1I52M3I52M3D109M1D66M3D69M2D15M1D71M4I5M4D41M2I33M3I27M2I22M5I2M1D3M5D64M2D67M2I10M2I4M5D10M1I54M5I4M5D44M3I51M5D131M3I13M5D2M4D15M1I16M1D49M1D24M4I24M2D86M1D1M1D8M2D6M4D3M2I4M2D62M3I24M2I30M2I4M3I9M5I81M1I32M1D35M5I12M4D4M1I40M5I14M2I60M4I2M3D7M3I20M2D26M3I35M5D24M5I59M2I18M4D74M5I13M2D19M5I31M3I21M2D12M5D53M2I9M1D18M5D8M3I38M2I23M2D1M5I97M1I5M3D2M2I15M5I63M1D17M4I8M1I8M3D21M3D110M5I79M4I12M3D2M3I39M3D23M3D4M4I2M3D22M4D15M3D11M4I1M4I13M4I1M1I26M1I45M1I71M2D35M3D4M5D8M1I21M5I10M3D46M1I4M4I9M2D53M1D25M2D52M3D44M1I36M5I11M5I2M2D9M1D3M3D52M3I23M1I4M3D3M2I3M5D35M2D17M2I25M2I68M3D102M1D7M3D19M2D15M3D10M3I14M3D2M4D23M5I14M1D18M5I11M1I7M1D32M2D14M5D55M1I39M3D28M5I2M2D23M5D48M1D10M1I38M2D13M2I10M4D73M1D11M4D24M5I47M1D46M1D10M4D58M3D27M5I7M3I26M2I3M3I8M1D28M2I33M5D38M1D30M1I5M3D52M2D2M4I5M3D16M1D20M2D5M4D61M2I11M2I4M4I1M5D82M3I10M5I54M1I40M4D3M1I2M1I20M2D12M4I48M2I68M1I7M1I27M2I23M1D37M2I22M1D5M1I134M5D5M2I97M1I25M5D35M4I52M2D11M1I4M4I118M3I44M3I25M3I3M5D26M3D61M5D57M1D60M4D109M1D32M4D9M3I31M3D14M3D9M3D189M4I23M5I26M2I85M3I10M5I2M3D15M4I56M1D15M3I14M1D82M3D18M3I74M3D107M3I19M4D46M1I38M1I39M1I25M5I37M4D3M3D65M1D19M2I57M2I31M3D10M4I16M4D8M2I22M1I15M4D34M1I11M5D43M5D14M5I53M5D7M1I5M4I74M2D55M2I5M1I5M4I1M3D40M3I13M5D55M3I33M2I81M2D66M5I82M1I20M1I68M4D1M2I13M1D21M1I51M1D16M1D18M3I10M3D10M3I54M2D40M5I34M2D37M3D48M1I25M5D11M2D16M4D25M1D72M4I3M1D13M5I35M3D35M3D30M1I33M2D28M2D40M5I52M1I3M5I32M3I14M3I3M1I19M2I8M4D41M1D85M5I54M5D75M2D4M5I18M3D1M4I77M2D17M3I6M4D10M5D20M5I48M4D137M1I4M2I35M4D6M4D16M1D84M3D25M5I2M5I2M5I50M5I40M1I7M2I25M1I39M1I58M3I26M3I49M5I85M3I22M4I18M3D31M3I8M2I4M3D40M1I6M1D4M5D5M5D6M1D249M1D125M4D12M3I6M2I3M3I32M2I37M4D55M5I71M3I8M4D25M5D17M1D74M2I4M4I31M3D4M3I21M5D36M4I33M2D26M4D10M1I11M1I45M3I46M4D30M3I8M5D30M4D7M5I60M4D8M4I14M2D4M3D8M5I95M4I14M4D6M2I11M4D38M1D60M3D23M3I73M1I11M3D13M5D9M5D74M3D28M1D189M3D34M1I13M2D28M5I77M2I9M2I16M3I29M4I15M2D35M1I20M2I98M3D9M3I52M1D16M5I16M1D11M1I13M4I3M1I25M4I22M4I4M3D29M1D17M1D13M4D35M4I12M4D22M1D114M5D27M3D1M1I33M5D3M1I25M5I33M4D33M5I5M3D12M2I26M5I18M4I11M5I27M5D64M4I4M3I36M3I148M3I33M5I6M2D78M3D115M2I51M2D30M1D64M5D19M4I61M2I30M1I1M2D4M5I33M2D72M4I15M1D57M2D38M5D80M2I29M3D2M1D24M1I52M4I48M4I4M3I59M3D5M2D105M2D17M2D12M4I34M5D12M4I54M2D56M5I60M3I8M4I53M4I11M4I59M4I23M4I29M3D9M4D1M5I36M4I2M2D69M3D70M4D17M5D18M2I79M2I5M4D1M1D26M1I6M4D18M3I50M4I10M5D23M2D93M5I16M2D11M3D39M3I3M1D14M1I12M3D40M1D90M5I48M1D27M4D20M2D39M1D9M4I15M1I7M2D14M4I100M4I24M1I5M1I59M1I44M1I51M2I37M5I70M1D15M2D6M3I6M3I1M1I2M2D6M5D8M1I8M3D19M4I23M2D22M2I1M4I32M1D22M2D29M5D78M1D3M3D1M2I36M1D6M1I29M3I83M5D13M5I32M1D44M3I41M2I48M2D48M2I7M2D51M2D25M1I34M3I3M5D19M3I27M2I98M2I36M4D42M3D36M1D1M5I22M4D60M1I25M5D18M3D18M5D20M1D17M4D26M4D26M1I2M5D15M1D17M5D33M4I2M4I18M4D7M2I10M2D11M2I6M1I15M2D44M5I161M5I11M2I8M3D24M2I19M4I1M2D142M4D50M3I9M5I11M4D8M2D4M4D25M3D7M3I72M3I44M5D1M5D80M5I76M4I81M5I70M5D58M1I108M3D44M2I48M3D2M2D6M3D5M2I7M4I10M4D18M1I2M5D36M1D65M1D6M4D110M4I5M3D33M4I3M4I33M1D2M2D21M5D110M2I18M3I36M1D24M4I3M1D2M4I15M5I175M4I4M4D66M1D6M3D31M2I61M3I15M4I13M3D9M2D57M2D20M2I71M4I7M5I14M4D3M5I7M5I49M2D20M5I9M2I64M4I39M5D4M5D46M2D6M5I21M2I15M1I65M4I14M1I4M5D51M1D34M3I53M3D109M4I53M5D5M1I32M3I26M2D17M2I1M2D39M3D19M3D3M1D8M2D9M2D3M1D4M5D33M4D33M2I112M2D34M1I45M2I17M4I3M2I44M4D4M1D15M1I19M4D28M3I14M3D41M2D5M4I63M3D7M1I71M3I13M5I10M1D62M5D54M5I57M3I14M4I49M3I46M4D25M5I19M1D45M1I2M5D17M5D28M5I4M4I15M1D21M3D32M5D9M2D25M5D6M4D27M5I8M1D57M3I74M2I13M3D22M1I35M1I17M5I25M2D31M3D20M5I25M5I82M2D6M3I18M2I1M3D18M4D7M5I23M1I20M3I3M5D71M4D11M5I22M3I64M4D27M1D3M2D42M2D52M3D4M5I1M4I53M4D39M1D3M2I1M5I21M2D10M3D28M3I11M2I96M2D2M1D65M1I54M5D13M2I2M4D16M2I86M1D4M3D6M5D19M1I11M4I12M2D4M1I120M4D11M3I110M4D122M1I23M2D18M5D9M5I40M5D37M4I12M1D52M5D15M4D18M5I20M3D23M4D3M2I49M1D13M1I36M2D45M3I5M2D22M3I58M2I105M1D49M4D13M2I8M1I31M3D4M3D15M4D16M3I45M1I84M2D47M4D8M4D22M3I32M4I8M2I4M1I69M5D18M1D19M3I3M4I4M4I12M1I3M3I22M2D60M5I49M1D31M5I94M1I3M5I52M4D94M5I12M1D29M4I18M5I10M1I22M4I18M2I9M1I34M5D24M5D12M1I6M2I29M2I66M1D57M5I20M5D10M1I40M5I19M2I27M4I42M3D24M2D51M2D11M2I40M1D12M5D13M5D18M4I14M2D10M1D91M5D10M5I18M1I9M2I21M4I22M4I19M1I2M5I34M1I21M5I36M4I14M5I16M2D98M2I17M3D29M2D76M2I6M4D38M2D61M2I10M1I12M3D79M5I31M5I16M1I5M2D84M4D2M3I1M2D84M4I11M5D74M4I3M2D9M3D7M1D117M3I8M4D24M2I11M4D7M3D64M2D86M3I6M3D127M3I3M2I14M3I57M1D61M5D19M4I13M2D17M4I8M3D8M5I48M1I3M5I22M3I2M2I53M1I39M1D34M3I4M3I14M2I46M4D11M5I2M1I122M5D52M4I32M4I93M3I16M3D64M1D65M2D42M5I9M2I37M4I46M4D16M2D14M3I4M4I78M1D2M1I69M1D23M2I47M5D22M5D16M2D4M4D2M5D40M5D31M3D55M1I33M1D7M2D6M3I7M3I75M5D16M1I52M1I66M1D61M2D41M2D30M4D69M3D9M3I8M2I12M4I33M2I28M3D2M2D25M4I7M3I55M2D17M2I72M3D15M4D12M2D10M5D35M2D4M3D14M1D22M3I2M5D16M3D13M5D61M3D63M1D25M2D49M4D39M4D33M2D52M2I22M3D53M4D26M2I21M5I40M4I35M1I37M3I107M4I5M4D46M5I45M5D14M3I43M2I75M1D3M2D14M2D26M2I2M3D157M4D8M5D38M4D48M1D15M2D47M3I17M5D7M4I4M5D4M1D4M3I3M1I73M4D11M2D23M2I3M3I111M5I25M5D17M2I130M1I23M1D24M1I75M5I61M4D82M1I14M5D49M4D38M4I21M2D13M4I86M1I32M3D66M1I33M5D42M4I3M2I17M4I33M4D9M2I12M4I27M2I70M2D168M2I26M2I17M5I11M5D66M2D7M3D45M4D58M5I13M4I3M1I14M2I39M3I50M5I149M4I11M5I100M2D44M1I2M4I58M5D119M4I13M4D25M4I17M2I5M3D4M2D61M1D12M4D39M3I63M3I2M1D26M3I19M2I8M2I18M1I5M3D122M3D2M1I29M5I16M3I18M1I19M1I21M4I14M5I84M1D17M4I28M4D32M5D113M5I38M1D5M1D18M1D32M2I14M4D2M1I39M1I36M5I3M1D27M3I52M3D85M1I89M4I1M3D23M1D9M4I2M4D135M3I13M2I11M4D2M3D26M1I12M2D92M5D7M4D104M4D27M2D6M3I8M2I35M2D9M1D2M4I20M4D81M3I18M5D15M4D52M5D36M5D1M2D33M1I23M3D19M3I51M5D116M1I25M5D6M3D61M2I11M2D8M5I15M2I63M3I25M1I37M1I18M1D94M1I22M1D2M2D6M1D40M4I60M5I22M1D66M2I48M3I37M3I4M4D2M3D9M5D48M3I13M1D34M2I6M2I18M4D11M4I38M4D132M5I45M3D24M4D15M2D6M4D3M1I25M1D4M4D47M4I21M2D77M2I13M5I13M5D19M4I3M2D26M5D45M3D12M5D11M2I6M2I17M4D46M4D21M3D5M3D21M1D3M3D34M5I22M4D150M1I72M3D71M2D27M4D75M1D33M3D1M3I49M4I8M2D98M5I15M5D16M5I51M1D184M4D6M5D71M5I42M2I2M5D6M5I17M3I11M3I29M2D20M5I76M5I43M4D67M4I35M4D196M3I6M3D32M5D39M2D7M1I1M2D21M1D6M1D4M2I18M2D16M5I50M5I14M5I15M3D51M4D64M5D29M2I8M5D1M5D51M4I6M3I68M4D20M1I4M4I44M1D39M4I46M1I25M2I2M1D30M5I2M1D12M5D40M4I16M2D51M4D17M1I24M5D12M4I15M2I4M1I31M3D5M1I39M1D23M5D61M4D34M2D11M3I2M4D15M3I54M1I68M3D23M4I25M1D5M5I30M3D80M3I9M1D13M1D13M3D5M1I101M3I4M4D9M3I1M4D1M4I23M3D37M5I64M3D17M2I86M5D44M2I3M1I37M1D19M3D42M4I84M1I22M1I39M1D31M3D23M5I80M2I4M3D45M3D5M2I23M3I5M1I2M2I35M4I13M5D79M2D88M4D15M4I23M3I1M4I9M2I55M4D2M4D77M2I18M4I18M1I48M3I10M2I8M2I129M2D68M3D2M4I65M4I2M2I74M4I81M2D32M1D9M4D56M1I1M5D31M5D149M1D52M5D17M5I108M3D37M2D35M2I10M2D10M5I49M5I38M5I30M5I18M5D3M3D16M1D102M5D29M2I5M2D16M3I18M4I41M4I61M2D1M2D107M5I5M3D22M1I58M3I1M1I51M5I40M4I1M2D2M5D53M5I14M1I78M3D37M1I25M5I211M5D28M2I1M1D2M3I10M1I13M1D1M4I21M4D1M1D36M5I45M5I17M3D13M4I22M1D18M2I10M4D30M2I27M2I82M1I2M1D28M1I3M2D39M5I24M1I38M5I12M4D21M2D32M3D5M2I18M5D32M2D16M4I13M2D13M3I17M5I41M5D1M4I11M5D94M5D30M2I11M2I29M3I43M5I94M3I37M4D51M5I60M1I22M5D67M2I27M2I6M1D1M1I4M5I34M2I89M3D21M3D25M3I16M1D10M4D17M1I10M3I44M5D1M1I16M3D6M4I62M3I44M1I91M5I7M4I55M4D68M4D7M5I11M3D24M3D30M3D26M2I23M1D5M3D52M4I54M1D96M5D39M3D30M2I53M1D8M2I8M1I46M3I3M1I4M5I3M5I5M1I5M5I19M5D1M1D1M5I29M1I13M3I34M3I35M1D7M1D10M3D92M3I4M5I14M5I49M1I35M5I102M1D7M1I11M4I83M3D15M2D3M4D6M4I33M5D43M3I18M3I115M2D1M3I58M3I28M4D20M3D11M1D40M5I4M1D45M2D78M5I4M2D27M3D69M4I60M2D14M5D63M3D19M1D95M3I12M3D34M4D51M2I9M3I88M4I6M2I1M1I7M3I21M2I12M4I35M3D36M2D4M2D94M3D57M4D44M1I3M2I30M2I17M5I1M2I3M2D26M5D22M3I54M2D33M3I32M4D27M5D13M2D12M3I1M5I11M4D39M1I21M2I76M1I38M1I5M2D39M3D22M5I84M2D23M5I11M2I42M4I1M5D20M5I115M1D43M1D39M2I54M1I4M3D63M2I3M4D45M5I30M5I7M3D17M5D8M3I6M3I35M1D67M4I75M2I25M5I41M3I11M1D28M5D6M5I60M4I13M1D26M1I17M3D8M3I4M1I11M5I5M1D137M2D27M1D45M3I9M3I93M2D18M2D5M5I17M4I13M2D49M2I120M5I9M4I56M4I13M3I57M1D4M2I30M4I31M2D48M1I49M3I2M4I58M2I4M2I5M3I32M2I5M1D5M4I47M1I35M2I25M4I20M5D6M4I13M3I6M1I11M3D63M1D28M2I1M1D36M5D5M4D41M4I5M4I16M2I3M5I66M1I11M3D20M2I26M1I4M4I107M3I10M1D13M3D30M3I19M1I37M2D10M4I4M3I56M2D34M5D34M3I46M2D46M2I32M3D35M5D25M1I33M4I38M4I35M5I4M5I45M1D1M4D11M3I7M3I4M4I3M5I13M1D63M2D71M5D42M1D72M4I1M5I48M2D6M3D5M5D7M4I4M3I2M1I8M4I27M1I3M5I16M5I38M5I62M1I46M3I24M4I22M2D54M3D2M1D13M3I26M3I3M4D59M2D22M2D50M3I88M4D21M4D11M4I31M4I9M5D9M3D31M4D139M5D61M2I26M4D140M1D27M4I61M3I13M2I40M5I141M4D74M4I53M1I73M4I48M1I50M5I64M3D82M2D95M5I31M3I16M2I18M3D33M4D9M3D6M3I45M2I23M4D37M4D10M3I22M2D100M2I16M4I7M4I1M3I8M1I1M1D85M5D3M4D43M1D64M1I12M5D25M2D25M3D71M4D4M1I29M5I44M4D10M4D8M5I33M1D45M1D24M4I1M5D12M4D4M5D7M5I4M5D1M5I23M4I15M5I15M5I138M3I56M1D23M5D69M4D24M4I32M2D8M3I28M5I4M1D20M2D77M2I6M4D6M1D48M1D1M2I65M3D26M1D72M4I46M4D37M1I6M2I19M5I39M3D9M2D17M5D9M1D36M4I24M3I14M5I59M3I13M5D1M4D32M1D37M3D7M1I77M1I22M2I3M2I18M3I16M5D7M3I4M5D86M3D62M3D89M2D2M1I5M5I16M5I29M1I30M2D2M4D105M3I5M2D15M2D94M5D52M2D4M1D74M4D3M1D45M1I15M1D13M3I21M2D51M2D20M2D137M4I6M4D31M5D14M5I17M2D5M1I112M2I19M1I112M4D6M3I59M3I14M5I2M3I56M4I29M4D19M1D84M1D180M1D11M2D39M2I3M3D49M2D4M4I40M4I75M2D24M5I120M4D8M3I7M5I64M1I13M4D19M5I23M3D32M4I32M3I6M2I38M4I10M2I32M4I12M1D34M5D30M1I30M2D14M3I64M2D6M2I110M5I16M2I79M5D49M3D3M3I28M5I41M5I16M5D4M5I8M1I26M1D24M2D1M2D11M2D35M5D52M5I8M1I130M3D20M5I6M3D21M2I21M2I10M4D78M2D22M1D42M4I6M2I8M1D141M4D34M4D30M2I25M5I22M1I53M4D66M5D27M3D104M5D20M4D22M2D52M3D60M2I9M5I18M2D7M5D30M5I52M2I65M2I14M3I69M4I24M4I8M5I4M1D33M3I23M4D3M1I6M3I7M2I117M4I150M2I184M5I8M2D7M2I7M1I21M3I27M3D19M3D3M5I5M4D21M5D47M1D43M3D13M3I6M2I9M2D44M4D15M2D63M1I9M4I29M3I9M2I21M2I17M5D41M5I10M1I6M5I32M2I95M2I11M5I25M1I9M4I56M2I24M4D6M3I5M5I87M2D25M4I10M3D23M1I31M2I50M2I2M5D5M5I9M4I26M3D47M3D17M2I22M3I73M3I15M3I33M2D67M2I12M2I11M3D1M5I44M5I56M5D65M5D67M4I25M4I40M1I82M1D15M4I22M4D16M5D50M3I51M5I10M3D18M3I4M4I37M4D26M4D52M1D55M2D15M2D6M2D2M3D15M3I35M4D32M3D22M1I13M1D48M1D30M2D37M4I25M5I5M5I26M5D56M1D15M1D17M1D7M5D144M5I5M3D22M5I8M2I22M5D3M3D126M1I22M2D10M1D12M3D31M4D52M3D46M3I15M1D42M3I142M2I18M5D52M2I3M4D16M2I157M3I7M1D5M1D17M1I44M5D129M1I4M5D6M3D58M3I8M3D28M5I11M1D125M2D2M2D43M5D43M1D11M4I19M5D7M3I10M3I12M2I2M3I22M1I19M4I48M2D7M4I51M4D2M1I38M1I19M5I17M4I5M3I25M1D4M1I9M4I16M4I10M5I6M3D31M5I38M4I17M4I22M1D7M5D29M2D172M5D73M4I2M2D34M1D25M2I13M5D70M2I7M2I1M3D15M4D32M3D3M1I7M4D16M5I9M5I27M1I1M3I31M3I2M5I50M4D10M2D42M1D96M1I24M3D17M5I34M1D22M5I64M2D11M1I13M4D17M5D24M2D107M3I22M1I8M4D9M3I26M4D35M3D19M5D7M1D20M1I9M2D7M5D7M4I125M2D34M1I16M3D110M3D3M5I18M3I94M4I16M4D30M5D41M2D39M4I35M2I12M3D9M5I2M3I18M3D60M4I9M1D20M5D12M1I22M1I3M5D19M3D20M5I14M3D22M4I5M4I1M1D2M5D72M3I40M2I37M2D7M3I19M4D9M1D1M3D32M5D6M3I41M5D75M5I55M3I7M3D6M3I3M3D51M5D1M2D79M1I35M4I7M3D14M2I33M1D17M4I11M4D1M3D22M3D8M4D31M2I31M5I40M5I51M2I4M3I3M5I21M1D91M5I72M1D45M2D4M3D254M2I19M5D35M1D55M2D23M2D2M5D5M3D14M4I24M2D12M4D8M3D25M3I12M4D96M5I39M5I55M2D14M1I8M1I4M2I4M5D22M5D30M1I9M1I26M3I5M4I67M3I30M2I63M4I3M2D18M4D1M2D18M3I116M3I15M2D30M1I11M3I116M5D2M3D17M3D13M5I12M4D19M4D3M1I9M4I24M3I4M4I15M5I48M3D36M2I6M1D9M4D40M4D2M5D49M3I94M3I11M5I15M3D26M4I27M5D8M3I8M1D14M1D24M3I103M2I1M5D40M4I52M5D2M1D9M4I14M5D120M1D58M4I37M5I23M5D78M5D69M4D16M3D6M1D50M5D15M5D3M1D18M5I1M3I2M5D40M3I44M4I24M2I23M5I12M4I6M4D69M2I46M5D47M1D21M5I170M2D46M2D10M4I106M5I75M3I4M4D16M1D6M3I12M1D13M3I13M4I36M3D51M3I54M1I61M3I18M3D16M4I5M2D36M4D2M1I15M3D31M3D15M5D81M5I13M4D12M2D35M5I109M1I2M4I7M3D36M5I24M2D31M5I2M3D49M3I6M5D54M1I83M5I53M1D61M5I108M2D38M1I44M3I42M4I4M5I33M4D16M3D6M5I20M3I13M3I34M1D54M2I3M4I7M1I23M2I3M5D57M2I34M2D4M4D87M2I1M1I37M4I7M1D63M1D8M4I68M2I41M5D90M5D65M4I9M4I2M2D5M4D3M5D3M1D20M1D17M4D55M2D57M2D17M3I20M3I1M1D42M2I16M2D10M1I46M5I30M1I2M2I17M3I43M2I18M4I21M4I19M1I92M4I11M5D17M3D8M1I20M1D36M4I19M2I7M4I84M2I9M5I60M1I28M2D33M1D20M2D5M3D19M2I31M2I2M2I28M1D2M1I10M1D7M3I3M3I44M5I3M2D20M4D90M1I1M3D5M2I4M3D46M3D35M3D6M3I11M1D38M1I61M3I26M2I17M5I42M2D30M4D46M1D19M2D56M2I1M5I74M5D31M5I3M5I16M1D14M5I4M5I32M3D64M1D5M3I23M5I19M4D51M5I17M1D49M4D51M3I27M5I7M5I51M2I27M4I24M4I15M3D9M4D9M3D33M3D12M5I49M2D2M3I81M5I39M3D55M4D49M1D33M2D1M4D13M1D3M5D9M2I34M1D1M5I8M4I11M3I2M4I2M4I72M5I11M1D4M5I17M5D13M5I1M3D13M2I13M2D90M1I27M4I31M5I6M2I26M2I26M4I15M2I44M4I81M4I40M1D19M3I2M3I21M3I4M4I20M1I6M1D2M2I18M2I38M1I35M2I49M2D10M4I8M1D6M3D20M2D3M3I4M4D51M5I10M5D23M1D58M2D89M1D24M5D47M2I2M2I12M3I25M5D1M4I42M5D37M3I33M2I32M3D39M5I23M3I8M5I7M4D62M2D38M4D45M2I81M5I2M3I43M4D93M1D2M5I31M1I2M3D26M2D36M4I23M3D10M5D3M1D23M3D198M2I2M2D110M5D88M2D4M5D14M5I10M3D33M1I1M2I2M3I27M4I81M3D38M2I20M3I78M5D53M5I48M4I1M3D12M3I18M2D24M2I29M4I14M4I3M4I28M4D8M3D69M3D133M1I54M5I12M2I160M3I8M2D80M2I33M5D99M1D2M2I10M5D9M3D35M4D61M1I13M3D9M1I2M5I32M2D13M1I1M2I5M4I7M3I58M3I28M5D16M1I5M2I14M2D12M5D68M1D19M1I55M5D24M4D19M4D3M5D10M2D59M5I28M5I113M2I20M1I164M5I118M4D54M4I13M2D43M4I23M1I32M3I10M1D12M1D1M4D109M1I16M3D24M2D45M1D18M1I25M5I10M3I8M5D5M4D38M3D31M4I30M3I12M2D14M5D10M2I91M3D23M2D28M1I37M4D6M1I18M1I34M4I12M5I18M5D60M2I3M5D19M4I103M3D10M5I6M5I4M3D31M1D43M1D48M3I2M5D10M3D46M5I124M3D2M4I11M1I23M1I2M4I33M4I36M1D13M5D18M1I24M4I2M5D38M5D40M3D4M5D24M3D4M5D5M4I49M5D94M4I8M4D18M3I118M5I21M4I17M2D25M4D8M2D70M3D9M2D46M5D27M1I45M2D15M4D116M5I19M2D19M1I98M1D32M4D9M4I22M2I37M4D89M1D29M1I34M5D7M1D4M4I55M5I114M4D75M5D9M1I121M4I29M1D23M4I29M4I123M3D12M1D11M3D4M2I32M4D72M1D20M5D27M2I98M5D3M1D53M4D23M3I2M3I6M5I10M2I26M2I5M4D18M1I45M4D11M3D56M3D29M3I37M4D59M2D57M2D27M5D43M5D18M5I4M3I155M4D14M3D128M1I2M4I19M2I23M3D35M4D59M2D113M4D99M2D78M4D29M2I14M4I50M4D10M2I8M2D6M4I1M2D19M4I10M2D13M2D12M2I11M2I37M5D2M5I52M1D36M5D8M3I40M2D139M3I22M3I8M4D36M5I23M5D15M3D10M5I7M3D5M4D36M1I102M2D5M3D8M3D6M5D16M2I105M2I22M5I55M4D21M1I4M3D24M1I10M3D11M3I42M5I2M4I34M5D14M5D24M2I7M4I4M5I26M1I5M4D41M5D154M3I13M4I10M4I9M3D15M1I33M5I94M4D41M5I13M5D27M1D31M4D47M2D30M2I35M5D5M3I97M3D22M4D64M3D79M5D22M3I2M3D14M5I5M3D5M4D73M3I5M2D37M2I14M5D7M5D23M5D43M3I8M3I53M2D34M3I63M1D12M2I19M2I9M2D46M1I1M2D5M4I4M4I10M4D1M3D44M2I17M3I4M4D2M5I12M2D6M4D30M5D45M1I20M2D24M3D33M2I26M5D14M2D5M3D50M4I1M3I2M3D7M4D1M5D58M4I6M5D8M4D14M5I2M5I11M1I78M2D108M2I27M4D23M5I59M1I43M2I102M4I83M3D35M4D2M2D88M1D112M1D11M3D3M2D4M4I23M2I4M1D25M4I43M3I27M3D7M5D10M5D13M5I12M5I28M2D6M5D47M5D79M5D4M2D72M4D43M5D7M3I16M4I7M3I18M3D4M1I5M1I23M3I51M1I7M1D89M5I49M3I8M2I40M2D2M2I17M5D11M2D59M3I56M4I15M4I1M5I50M5I102M4D10M4D55M1I8M1I12M1I23M4D5M2I13M5I6M1I14M3I46M4D72M5I81M1I15M3I15M5D13M5I38M5D129M5I22M2D39M5D6M2I9M4D43M5D4M2I25M2I27M4D57M3I7M5I17M2D7M3D16M3D35M5D73M5I8M4D25M4D2M2I40M1D19M5D28M5I23M1I63M4I50M1D14M5I25M2I11M4I3M5D39M3I45M1I19M5D50M1D4M2I124M5I19M2D1M5I17M2D12M1D7M5I5M1D21M5D39M5I9M4D178M3I19M1D27M3I97M3I5M2I11M5D14M5D21M4D2M5D3M5D6M3I21M1D29M1D9M5D7M2D74M2D14M2I6M2D30M2I6M1I53M4I39M5D21M4D23M1D2M3D36M4I28M4D29M3I59M3I119M3I44M3D15M5I21M2D35M1I40M3D41M4D2M5D9M1D19M1D56M2D7M5I70M3I82M1D19M1I5M2I51M1I93M1I51M5D9M3I5M5I1M3D8M2D35M2I1M1D17M3D53M2I33M4D10M2I104M1D52M3D69M2I24M2D1M4D1M2I6M4I32M2I86M3D14M5D15M1D5M1D69M4D36M5D14M3I32M5D2M5D29M2I4M3I37M3D2M5D62M5D20M5D62M2D21M1I26M1I8M2I85M2I43M4I53M1D14M5D3M5I1M3D11M2I122M5I80M2D3M5D4M1D18M5D15M3D8M2I7M3I25M1D97M1I30M3D75M5I21M1D24M3D33M2I20M5I11M4D8M3I1M1D3M3D12M1D9M2D10M5I41M4I27M2I68M2D6M4D1M1I63M4D71M1D63M5D18M1I193M5D31M3D27M5D4M1I13M4D57M2D12M2D58M1D83M5D6M5D5M1I100M5I10M4D13M4D7M4I38M4I114M3I23M4D21M4D1M5D1M1D85M3I82M4D5M5I8M1D23M3D48M1D24M1I15M3D1M3D63M3D42M2D46M4D6M1I21M4I8M4I176M5D41M4D35M3D43M1D30M5D33M4I30M2I6M4I7M3I32M2D157M5I13M3I22M5D12M5D72M5I10M4I147M2D67M3D6M5I22M2D27M5I8M3I1M3D15M5I9M2I7M3D84M1D67M4I53M1I23M5D33M1I25M5D4M4D43M3I41M4D6M5I75M4D61M2I39M2D58M4D56M1I19M2D4M5D103M3D30M2I19M4I10M1D6M2I20M2D10M5I42M5D5M4D61M1I97M4D6M4I71M1I71M2I28M2I5M4D6M5I39M1D9M3I33M4D6M4D28M5I37M2D22M2D97M5D9M2I63M5D8M5I14M2D2M5D15M5D55M2I155M5I95M2I48M3I15M3D5M3I6M3D56M5I13M4D3M2I10M5D4M1D72M2I24M5D1M3I18M4I103M2I37M3I53M5I14M5I20M2D47M2D26M3I50M4D11M3D3M1I86M2D45M2I53M1I48M1D3M4I4M3D2M1D12M2I51M2I6M1D22M3D24M4D43M4D16M5I1M3D4M5I74M4D10M5I7M4D12M5D25M2D133M3I136M5I1M1I2M4D1M1D64M1I12M4D48M2I48M3I57M1D56M1D3M3I54M4D21M5I68M4I32M1D21M4D46M5I14M4I8M3D20M5D15M2D175M4I10M5I10M4I15M4I46M2I3M4D5M1D23M5D26M3I29M5I9M5D31M3D22M5D13M3I29M2I74M4I12M5I71M3I97M1D10M2D106M2D23M3D5M4D37M4D13M4D95M5D6M3I6M1D22M5I29M4D9M5I43M2D2M1I30M4D18M5D46M2I25M1D14M4I23M4I3M4I21M1D20M1D5M1I19M1I65M1I5M1I3M4D74M5I66M1D40M4D4M5I60M4D21M3D2M5D11M1D12M3D9M4I41M2I54M4D14M4I12M2I8M2I5M1D12M3I14M3I4M2I60M5I19M2D10M2D7M5I42M5I12M5D7M5D104M3I22M2I11M5D17M2D11M5D24M5I2M1D89M4D12M3I66M4I12M2D19M2I115M5D47M3I7M4I26M1I42M5D83M2D4M3I27M5I66M3I87M1D42M4D13M2I28M2D11M1I49M1I1M4I29M2D41M1I4M1I23M1I4M2D3M3D78M1D35M2I13M2D52M4I51M1D135M4I97M2I20M5I12M3D80M3I35M2D25M1D14M4D73M4D9M3D37M5D14M4D13M1D49M1D29M5D59M4I13M2D10M3D17M2I11M4I5M3D44M3D47M5D36M4I2M3D28M4D96M3I39M2D25M2D42M4D68M2I65M5I123M5I25M4D15M5I53M2I40M2D15M3I31M1I5M5I45M1D1M1D19M4I4M3I32M5D20M4I73M4D4M2D44M3I20M2I73M3D10M4D7M1D2M2D5M1I10M1I176M2D20M2D80M2D22M3D103M3D67M3D60M1D45M3I11M3D10M4I29M4D20M2D26M1D27M1I61M2D3M4D31M3D36M5D54M1D83M3I34M2D7M2I30M5D93M5D8M4I18M3I96M1D19M3I8M5D29M3I33M5I76M4I40M2D4M2D1M3D4M2I19M2D3M1I10M5I57M5D38M3D32M4D3M2I8M1D9M5D204M5I19M5I21M5I21M3I5M3I12M4D34M1D1M2I19M1D13M2D4M5I6M2D34M1D37M2D11M2D58M3D8M3I10M3I30M4D4M5D58M3D29M3I15M2I21M1I26M1D69M4I10M1D46M4D12M4D8M5I29M2D7M5D1M3I104M4D27M4D34M4I20M5I22M3D51M1D2M5D21M4D16M3I148M5I47M4D16M1I18M2I12M3I95M4D8M5I13M1D89M3I57M5I5M3I31M3I117M2D69M3I8M3I16M1I62M4D39M4D50M5D36M2I6M5D122M3D43M1D42M5I23M1I48M3D47M1D23M1I38M3D59M5D3M3I12M1D8M3D46M1D25M1I2M3I6M2D15M2D6M4D11M1I39M4I57M4I21M1I20M2D61M5D52M2D52M1I4M4D29M1D15M3I66M3I7M5D11M2I25M2D25M4I68M3D40M4I49M3D134M4D44M5D18M3I14M1D1M3D7M1I19M2I8M5I19M5D51M2D11M2I20M2I33M1I6M1D9M5D3M3I91M2I11M3I15M3D66M2D5M4I2M2D3M2I78M4D13M5I6M1I26M4I34M3I76M5I7M3I120M4D48M1D75M2D18M2I40M2D23M5I3M2I40M1I18M5I23M5D15M3D32M1D21M4D46M3D42M5D95M4I5M2I53M5I16M4D36M3I69M1I73M1I17M4I9M3D20M5I9M3D24M4D84M5D13M4D88M4I20M3I1M4D4M4I42M4D17M5D20M2I13M4D17M1D27M4D61M3I25M4I6M5I10M1D26M2I38M5D64M3D92M2I33M3I50M2D77M1I27M1I8M3D16M3D8M4I33M5I97M1D41M3D18M2I21M5D44M4D41M5D6M4I8M4I12M2D8M5D10M3D73M1I31M1I17M3I6M4I2M4I39M5I26M1I61M1I13M2I42M1D43M2D19M5I6M5I16M2I31M5I27M1I7M4D2M1D3M2D83M5I5M2D27M5D23M4I10M3D69M1I1M2D56M2D15M3D65M2D23M3I10M3I25M5I65M1I8M5D5M5I255M4D3M1D91M3D40M5D3M3I17M4I106M4D27M4I10M5I7M1D31M2D32M1D51M2D36M1D12M4D3M5D3M1I74M4I110M3I9M4D20M4D4M4D18M3I20M3I44M2I1M1D10M2I17M3I48M5I7M4D27M1D29M4I6M4D9M5I40M4D32M1D86M1I1M2D6M4I21M2I27M5I11M2D22M2D21M1I31M1I123M3D29M3D23M3I13M1D23M5D6M4I11M3I38M2I16M3D5M1I26M5D15M4I116M4D9M1I4M5I20M1D61M2I15M5I7M1I35M1D68M5I13M1I17M1D22M2D1M2D80M5I37M3D5M4D5M1I43M4D13M2D13M2I22M2I75M5D17M5D8M2D41M3I53M2I17M2I9M2I109M2I3M4I39M2D82M2D39M3D31M2D55M4I11M3I17M4D32M1I1M1D35M3I1M4I45M5D75M1I92M1D58M2I16M5I4M3I9M4D2M5I117M2I30M3I14M5I5M1I12M2I8M1D1M3D38M3I28M5D71M1I38M4D105M2D18M3D8M4D89M4I17M4I25M2D5M4D19M2I37M4D44M4I25M3D6M4I45M4D35M1I3M5I29M1D28M1D17M3I10M3I115M2I50M3I6M3D58M4D20M3I34M3D25M2I13M5D15M2D59M2D78M1D4M3D55M2I43M4D1M3D13M3I39M4I4M1I34M2D16M5D133M4D15M1D63M1D29M2I9M1D16M5I45M3I35M1D15M2D50M1D24M4I3M5D9M3I4M5D40M1I33M1I10M3D8M1I28M1D34M5D128M5I7M2D55M1D112M5I1M3D23M2D17M4I3M2D91M1D44M1D20M3I31M5I5M2I6M3I38M5I27M4I37M4D47M1I17M3I13M4D21M4I12M5I20M1D37M1I17M5D35M5D21M1D9M2I21M1D21M5I6M5D294M3I23M2I24M2I9M3D33M2I1M1D4M4D39M4I27M1I7M5I8M3I35M2D3M4D31M2I52M5I9M4D42M2D45M4D33M1D2M1D17M5I96M3D10M3I28M4I4M4D25M1D2M1D42M3D12M4D4M2I29M5I33M3D11M5D21M3I58M5D3M3D33M5I1M3I47M3I42M5D7M5D8M3I12M1D1M5I6M3I159M2D5M1D38M1I2M3D42M2I77M5I30M4D2M4D3M5I1M3I30M4D25M3I24M1D26M2D26M3D21M2I4M5D16M5I36M4I22M2D10M2I210M2I19M5D41M4D7M5I85M2I29M5D105M3I31M3I3M4D5M3I5M2D19M5D83M3I34M3I6M2I7M5D61M3I102M3D9M1I27M2I20M3I30M4I6M5D5M3I9M5I83M5I35M2I1M2D78M3D7M1D45M5I43M1I11M2D3M3D14M2I68M2D66M1I7M2I2M2I3M4D18M3D29M4I6M1D9M5I13M5I13M3I47M2I24M3D2M3D9M4D9M1D64M4D29M1D11M4I56M3D3M1I56M3D102M3D28M3I23M3D52M4D126M3I44M2D33M3D162M5I22M3D54M5I43M3D18M4I56M3I18M1I5M2I39M1I11M5I60M5D22M2I18M2D76M1D50M3I31M1D49M3D116M3D60M3D24M2D25M5I10M4D1M3I29M2D103M1D8M2I67M1D46M1D2M3D65M2D26M3D4M3D14M1D10M1D15M5I27M4I8M3D9M4I21M4I28M5I38M2D10M5I2M2I18M5D8M1I4M2I22M5I85M3I32M2D3M3D14M1D15M5D68M2I3M4I51M4D2M3I4M2I24M4I4M2I10M2D7M1D51M3I1M1D1M2I23M1I2M4I5M5D6M4I33M1D75M2D7M1I25M2I4M2D33M4D35M5I70M2D50M5I22M3D79M2D28M4D9M5I16M1D26M3D19M3D57M1I87M5D12M3D111M3I18M2D47M5D2M4D6M4D9M5D42M1D112M4D8M3I54M2D1M3D41M5I8M1I14M1D15M3I6M2D5M5D14M2I15M2D8M3I4M5I19M5I45M3I39M5I15M4I25M2I18M4I10M1I105M2I7M5D27M4D3M1D1M1I16M4D2M2D21M3I6M5I68M2I31M1D61M4I23M2I14M2I8M1D105M2I13M3I20M3I52M3D61M5I8M4D7M4I14M1D15M1I11M1I12M4D25M3D1M1D31M5I5M3D1M3D83M2D27M4I14M1I1M1D21M1D45M4D58M1D3M1I50M5I8M4I67M4I25M5D18M4D60M1I11M2D33M4I4M3I2M2D48M1I110M4D2M3D29M3I2M1D48M5D14M4D62M3D45M5D21M3I18M1I17M1D5M4I31M4D58M4D35M5I27M3I4M5D93M5I155M5I16M5I53M1D27M2I2M4I17M3D34M5D32M2D64M5I20M2D52M1D33M1D83M5I6M1I40M5I3M5D37M5D3M4I37M5I6M5D1M2I99M3I28M2I23M2D4M1D121M1I50M3D30M2D1M2I80M4D20M5I45M4I64M4I20M4D17M2D8M2I51M2I32M1D14M4I3M2D143M1D3M5D1M1I36M3D1M1I64M5D47M4I8M1D12M2I43M1I119M3D61M1I106M3I27M5D3M5D71M1I18M3I1M1D20M2D29M5I32M4D10M5D18M3D31M5D77M4D10M5D27M5I26M2D6M4I43M2D43M1D15M1I6M3I71M3D65M4I40M2I27M4I17M2I95M5I7M2D177M3D47M5I3M2I4M3I24M3D10M4I38M1I45M1D11M2I40M2I15M5D77M3D41M5I130M2D34M1I32M3I13M3D23M3D18M1I21M2D55M * 0 0 GCCTACGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAATATGCCTAAGCCTAGGCCTAAGCCTAAGCCTAAGCCAGCGTCAGCCTAAGCGTAGCTCAGCCTAAGCCTAAATGGCCTAGGAGCCTAATGCCTAAGCTGAGCTAAACCTAAGCCTAAGCCTAAGCCTAAGCTAAGCTTAAGCCTAAGCGTAAAGCCTAAGCCTAAGCCCAAGCCTATAAGCCGAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTCAGCTTAACCTAAGCCTAAGCCTAGGCCTAACCCTAAGCGTCTAAGCCTAAGCCGTAGTAAGGCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAGCCCAAGCTCTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAGAGATAAGCAAACATTTTATTTTTTCAAAATTGTTTTCATGGTAAATTCAAAACGTTTTTTTTTTAGTGAAGCTTCTATATTTGGGGTACCTAATTTTGCCTGCACCTGCCTTATGCTCCTGTGTTTAGGCCTAGTACTTGTTTAAGATCCTAAACCTAATACTAAGTCTAAGCCTAAGACTAAGCCTAATACTGCCTATAAGACTTAAGGCTAAGACTTAGCCTAAGACTAAGCCTAATACCAAGCCTAAGCCTAAGACTAAGCCTAAGCCGAATAAGCCTAAGCCTAAGACTAAGCCTAATACTAAGCCTAAGCCTAGAACAGACTAAGCCTAAGACTGAGCCTAAGACTAAGCCTTATACTTAGCCTAAGCCAAAGACTCAATGAATAGCCTTAGCCTAAATATCTACAGCCTGAAACGCCTGGTAGTACACTCTTCTGAAAATACAAAAAATTTGCCATTTTTATAGCTAGGGCACTTTTGTGTCTGCCCATCTAATATAGGCAACCAAAAATAATTGCCAAGTTTTTGATGATTTGTTGCATATTGAAAATAAACATTTTTCGGGTGAAATGAATATCGTAGCTACAGAAATGGTTGTGCACTCATCTGAAAGTTTGTTTTTCTAGTTTGTTTTCTTCGCACTTTGTGCAGAATTCTTCTTGATTCTCATTGCAGAAATTTGCAAGAAAATTCGCAATTTGTATTAACAAAAATTGTTCAGTGAAAATTTTTGGAAATTAGTTTACGAATAAATCTCACATTTTTTATAGAAAAATTATTTTTAAGAATTTTTCATTTTAGGAATATTGTGCGTTATTTTAGAAAATAGCTAAATGTGATCTCTGTAATTTTGCCTGCCAAATTCAGTGAAATGTAAAAATCTAATATCCCTCATCACGTGCGACTTATTCCCGAATCAGCAAATTTTTTCAATATGATAGTTTGACATCAATAATTTGCCTATATAACTTTAGACCTGGAGTTGGCTATTAATGCCAAATTCATGATATCTAGCCACAACATTCGTTAGTAGAATTGTTGTTAGTGACGAACCTATAAACAGATTCGTGTTTTCAAGAAATTTTGCTATCATGGTTTTTCTTGGTCTTTTAACCTGGTATTTCGTTTTTGACAAAAATTTTTGTTTCTTGATTCTTGCAAAAATTTTTCCCTCACGACGGCCTTGATGTACCTTCGAAATACTACATCTTCTGGTTCTAATAGTGTTCATTGTTTTATATAAATACTTATTTAATAGGATTTCGGGTTATATAATTTGTATAAAGAGTGGTTGACATAACAAGGCTGACGAAACTTTGTGATGGCTGAAAATATTTTCGTAGCTTTGTTGATTTTTATTTATCGTGTTTGAATAACGTGTCCAATCGCCGAGAAGGAATAGAATACTGGACGACATTGTACGTATTATCCAAAAAATCAGAAAGGTAGATGACGGCACCACAATTCTTTCTGTCAGGTTTTACAACCGCCCAGTGCGTGTCACATGTTCACTGTATAAATGGTTGTACACAATATGCGGAAATAATCTAATGCATTCCAATAAGGCATAATATAAGAGGCTATCAGGCAATGCGTATCGCTCTTTGCTTTGTTTAAAGGGGGAGTAGAGTTTGTGGGGTCTATGTTTCTGAGTCTAATTTTGCCCCTGATACCGAATATCGATGTTAAAAAATTTAAAAATGTCAATTTCCCTCAATGATTTTATATTATTTTTTAAAATCCGAAATTCCATTGGATGCCTATATGTTCTAAACGCAAAATTTTCGCAGAGACCCCTGCCGCCCACGAAACCTTGCCGCACGTGTGGGTTTACGAGCTGAATATTTTCCTTTTTTATTATTTTATACCGATTTTGGTCGATTTTTCTCATTTTCTCTTTTTTTTGGTGTTTTTTATTGAAAATTTTGTGATTTTCGTAAAGTTATTCAAACTATTTATTAATAAAAACAAAAACAACTCCATTAAATATCCCATTTTCCGCAAAAGCGAAGACTAGGAAAATCGCTCTGGAGATAGAATGGATCAACAATTCTTATTATATCATTCCGCTAAAAATCATTATTAATTTTCTTCTGAGAGTCTCATTGCTTAGTTTACGCCAAGAAATAAATTAAAATTAAAATTGTTCATTTTTGAAAAAAAAATAATTAAAAAAACACATTTTTTGGAAAAAAAAATAACTAGAAAAACGGATCCTCCGCGTCGAATCACTGTTTCCGAACTCTTAAAATTCAATGTTTATTGTACAACCCTTTCGCTATTGATTTGATAGCTTTTAAGTAATAGAATTTTCGATACATTAAAACATTTCACAATTAAGCTGGTTCTGAACTGTGTAGAAGTATATTTAAACAAGACTAACTGATACAAAAATATAATTATGATAGTTTTCTGGACCACGCCAATATAAACGATGATCAATCAAGGGACCTGCTACAGTCGTCCACTAACCCGAATATCGACAAGAAAAGAAGAACGCCAACTTTGGATAGACGCTCTAGGGGCCGATGTCGGAAACTAGTCGGGAAGCTAAACCAGAATAGAGGGTACATTACAGATGAGGAGGAGGATGAAGATAGAAATATGCCGACAACATCGTCAGGCCGCTGATTTTTTTGATGTTCTACGCTTAAATTTTCAGCGAACGAACTATTTATTTTGATTGCCTTTTTAAATTTATAATATTTGCCATATGAAATTCTCACTTTCAGGCTGGAAACGTAGTTTTGCAGGCCCCGTCTCCAGTCGATTTTGCGCTGAAAATGGGATATTTAATGGAATTCTTTTTGTTTTTGTTAATAAATAGGAATAAATTTGCGAATATCACAAAATTTTCAAAACACCAAAAAAAAAGAGAAAACATGAGAAAAATCGACGAAAAATTTCGCTATAAAATCAATTAAAAATAGAAGGAAACATATATTCAGCTCGTAAACCCGCAAGTGCGGCACGGTTTGTGGGAGGGGCGGCTCTGGCGGAAAATTTTGCGTTTGAAAACGTCGATTACATGGCATCCAATGGATTTTCGGATTTTCAAAATTAATATAAAATCAGGGAAATTTTTTTAAATTTTGTCACTTCGATATTCGGTATCCGGGGCAAAATTAGAGCAGAAACATAAATTTCCCCAACTCTATCCCCCTTTAACAACCAACGCACCCGAGGATATACAAGCGTTCTATCTACTAGGCATAACTCGATTATTGACATATTATAGACTTCTTTTAATATTTGTAAAATAGTGGATCAGACCCAAAATTCAGCCCGCGAAGGCATGACGTCAGCACGGAGGAGTCTTGTAGTTTCCAGAAGAACTCTGTCGTCTACCCTAATGCCTTGCGAACCCGGGCCATCCTTTCGCTCAGAGGAAATGGATTAGAGTACTCATCAACTCCTCTGTCTAATTTTCAACTGCGGGGGCGACCGTACTGTATTACCGCGGCGACCGACACCTCCCGCGTTCCGTCGATCGCTGTCTGTTGTGTGCGCCTGCGACTCCGCCCACCGGTGGTAACTTTTTGTGGAGGAACAATTCCTTGATTTTGGTCAAGGTTTTTCTGCGCTTTTCAGCGTATTATTATTGACCAATTTTGAATAAAATTTTCAAGAATCATCTAAAATATTTAACATTTATTTAACATAAATAACGTGAGTACGCAGTAAAACTTGACATTTTCAGGAAAATTGCAATTAAACGAATAAAAATCGATATATCCATCATGTTTGGTCGTGAATCCGGTGTGTTGAGCCTACAATGCATACATTTTTACTGGATAAATCTCCTTTGGGAATCCGGTTTGCAGTGCTTTCGAAATGACATGTCCAGTTGAGAATCGCAGGCTCTAAGATGCTCGGGCTGAATAATGAATTGTTTTAAAAAATGTTTAGTAAAAAATTGTTTTCGAATGCATATTGGCTTAACCGATATTATCCAAACGTGACGTTTTCGCGATTTTCGCGCGCTAAAATTACAGTGAGTGAGGTCGACACGACAATTTTGTAAAATTACGGGCGTTCTTTAAGAAGTACTTTAGTTTAAAAAATACACTTCATTTCGTGGAATTTTCTGAATATATTTTTCATAGTTTTTCTCTTTAAATAAATCACTTTTCAACAAAAAACTATGAGACAATAGTTTGTACAGTATTCTTTAGAGGGGCACGCCTGCTCGAATTTCGCAAAAACGTGTCGTGTCGAGACCCCCATTACAGTATTTTTGAGCCGAATATCGCGAAATTTCAAGTCTGGGTGAAACATTGAAATTTTTGGCAAAATAAAAGAATCCTCTTTCAGAATATATTTTGTAAATTTCGAGACGAAATGTATACCTAAATGAATTTTAATTTTAAACCCCTATTAAATATTATTTGGCGTTTTTTATGCATGTCGATTCACTAACGATTTAGTAGTAACTACACGTGGGCAAGTTTATACAGTTTTTGGCTAAGATTTGTGAATTTGAACCGTTTTTCGGCGAACATTACACATGAAAAATTGGCAAAACGGGTTCAAAAACAAAAATTTTGTTAAACTGTAAAAACTGTCCAAAAATTTCGTAAATAACCGGCACACACCCTTTCATTTTTTCAAAATTTTAATTGTTTTCGAATGTTTTTTTTGCAGAATAATTTGTAAAATGAGCCTTTTGTGAATTTTTTTTAATTTCAAAGTTTATTTTTTCTCAAACCAACCCCTGTTGTAACTCGTCCAACTATGATCATCACGTACTGTCGAATAAGTTTCTCGTGATTTGTCACATTATCCTTGAGCTACATCCGCCAGGTTTCAGTCCTTTCTGAAAATGAAAATTAATTTTAAACAATATTGAATTATTTTAAATGAAACAGTTTTCAGAGATTTAACCTTTCGTTCGAGTCCACCACCAGGCCTGCACGTTATTCGGGTGTTATCTTTTAAAAAACTGAAAAATCGAAAATAGTTCAATTTCTGTTTTGTGGTCAAAATTGTTCAATTACAGGTAAGCAAATAGTCTTTAATTTTCAAGTGAATTGAAAATTAGGGAAATGACCGGACATAAGTTTAAAAACCCGATTGCAGTTTTCAAAGGTAAATTGAAAATTTAATAAACAGGTTGTAAATCAAGGAGATCCTATTGAATGAAAAAAAATCCGAATGTGCCGACGGGATTTTTCGGTGGTTTTTGAACGAAAATCGAAAAAGTAAATGTTTTTAATTTTCAAATTTCAATTTTTAATCGGAAAAAATGTACGAAATTGACTTTTTCATGTGAAACATTGTTGTTTTCTAGTAAAAAAAAATTTTAACCGATACAGATTTTCTAGACTCAGTTTTTTCGGTTGAATATTGTTTTTTACTATTTTATCTTTCTATTACAGATACAATTTTATTTCGCTTAAAAATAACCGGAACATCGAAAATATTTTTTTTTCTGTTTCTCAAAACATTTCAATTACCTAGAATTTTGTTTAAAAACTACATGCTTTATTTATGAACGTAGTAAATAATACCCCCTCTTATTTATAAACTTTCAACATACAATTTTTCAGTTTTCAGTGCTATCTAGTGCTTACCGCACATCACTTTTAAAGAAATCAACCAAATCGTCACCAAATATGCCCTGAAATCCATTGAATCCATAACAACTTTAATCATAACGTCGTTCGTTTCGGGCGGTGCAAACGTCTTTGGCAGTCCTTCGCTACGAATCATTATCTCCAATTCGTGGATGTTTTCCAATATATTGATCACTTTTCGTGATCAACTCCTCGACAACTTCTTCCATATCAACTTTCAATAAGAATGGCATTAAGAGATGCTTTGTAACACGTCCGATACCCGCTCCGCAGTCCAGCTGCATAGTCAAGCCGAATAGATTCTGGAAAATATTGTCATTGTAAAATTCAAAGTTGGCCCAGGGGTGACCGGCAATTTCACAGCAAATCGTTGTCAATTTTCCATGAATTTGATGCCCGAAAATTGGAAAAACGACAATTTGCCGGTTCGCTGAATTTACCTTTTTTAAATTTAATTTTCAATTCAGGCAAACGCTTTTTTCCGTTTGCCGGATATCAATTTGCAGGAATTTCTCAAAGGAATTTTTATTAAAACGGAAACACAGTGCTTTTTTTTTTCTTTCCCGTGTTTTTCAGATATTTTTATAAAGTTTACTGACTTTTCAGAATGGTGAGATGTAGGACAATTTTGTTTTAAAAAAATTGTGAAATTTCCAGCAGAACAAAAAAACATGTGCAAACCCACAAGTTGGCAAAAATATTTTGCATTTGCCGTTTTTCCCGTTTGCCGAAAAGTCTAATCTCGGTAATTGCGCCATTTTTCGAGATTTTGAGCCACATAAAAAACTTTGAACCATTTTTGAGTTAAGTATTATTACGACATTCGTTTATTTGACGCTGCACGAGAATTTTATGGGCCTATACCTTCAAAATTGTCGGGGTTTGAAAACCCCTATATGTTCGACCGAATGTTAATCTCACTTTGATGAAAATAAAATTTTCTACGGCTCATAAACGTATAGCCGCCGTCAGTCTCAAAATTTATACGATAGACACTTTATGGCGTTTATCGCCTATATTCCGTCAACAATTATTCATCTCTTTCAATGTTGTTTTTTTTTAAGGCTAAAAATGAACTTTCATGCAAATTTGTTTGATTAGGCCGTGTCGTGGTTCAACGATGCAAATTTCAGAATTTAAAAAATAAATGAAAACGAAAATGTTTCTATATACCCTATTTGTGTTCTGTGATTCCGAATACCACTGTGAAAAATTCAAAAAAAATGCCCTGATTTTATATAAATTTTTGTAAGCGTCTACAATTGTCGTTTGAATATCACACTTGGTTACACAAAATTATGAAAATGAGGAAAATTTGTTTTAATTTTTTCACATTGATAGTCGGAATCAGGAAAAAAAATAAGGTCTATAGAAAAATTCCGAACCTTTACTGCTTCTCTGGGTATAATAAATTTAAAATAAATACAGAAAATTTCAGTTCACACTGACCTAATTAAATTTGGGTATATTTCTAGGATCCGAGTTCTTGTTTACACCAGATTTACAAACTATCTAGCCTTTCACCGCCTTTTTATCATTTCCCTTCAGGCAACTCCATAAAAATCGCCTTTCGCCTCATATTACAAGATTATTCCCCTTTCTCTCCCCATTGAAAGTCATTTTCGAAACAAGCGGAAGTCATATGTGGTGTGGTGTGCGTTGGCAAACAACAAGAAAGAATCTCTGAAAACAAAAAGCGTTTTGGGTGCCCAAGTAATATTGAAAATCGTGTCTCATTTTCCATCAAAAGAAAAGGAGAAAAATTCGGCGTTTTGTTTGATTTCCGGGAAAGAAGACTCGGAAAAAGATTTAATTGACTATTTTTCAAGCAAACCTATATTGCTACAACTTTCTAAAAGGTCAGAAATTGCCGCGTAGCCTAGAAAATTGGAGGTTTAAACTCTTCCAGCTGGTAGTATTTCAGACAGGGTGCATCGAAAATTCGAAAATCCTCCTACAGAAATTAACATTTTGAAGCATCTAGAAAAGTTGAGATTATAGTACCTCACTTTTGCCGAGAAATCTCTTTCGAGGTTGAAGAGGTCTTACAAAATTTTCGGTCCTCTGACGTGAAAATGGGATGGGTTAAGGCTTCACACGACGGCGTTTTCAGGTCACACGAGAAGTTATCGTACGAGGAGAATTGACCTCCAAACCCTGATCGTGACTACAGGTCGTCGTTCGGAGCATGCGGAAGGTTCAGTGTTCGAAAATCTTCGACCAGCTTATGAGACCAGCGAAATAGACAGGACGACCAAACATTTGTGGAAGAGCTTTTCCTAGACCATCAGGATGCTATTTCGACAGAGCTGAGATAGTCGTTACGAAGTGTGGAAAAGCTGGTTTTCCAAAATCCCCGACCAGGTAGAAAATGAGACACCGATTAAGTTTATCCAGTGGGTAGAGTTTTTTCTAGGCCATCATTATGCTAGAAAAAAGCTTCGGCCATGGGGTTTTTAGGCCGTCTATTTATTTCTCATCACTTTCTCAGAAATTTCTATTTCTCAGCACCCCCCAATGATAAGTTTTTTGCAAAAAACTGCTTTGCTCATCAGCAATTCGTAATCAGGTGACCCCATTAGGCCTACCGAAACACACATTTGTCATTATTTTTCCGAATAACAAGAAAAAAGTCTTCACGCATGGGGAGATAAGAAAACCTGATTTTAAATCTTACTGTGCCGGCTGGCGCGGCGAGCTTCGATCACTGAGCCGAAAGATTAGAAAACTATGGGAATGAGGGCGTATCGTACAAATCGTCCAGGCAGAATCTGTCTAATTTTCGAACGTATATCCAGTTTTGTTATTAATTTAAGTAAACCCGTCAAACCTAGAAACAAGTAAAACGGGAGGGGGGGAATATCAGAAAATTAAATCTTGCGCACACTTTTCCATTGATCTACTAAGGTATACAATGCCCAGAGGTGTGCGGCAAATTTTGAAACTTACCCGCGCATGCCGCCCGTTTTTTTGTTTCTAGAAAAGTCAGATTTTTTGTCGAATTTGTTCAAAATTCGCTAAGATACTGTGAGTTTAGAAAAAATGACGAAAAAACTCGGAAAAGGAGGAAGAGATCTGAAATATGTAGATTTTTTTAGAAAAGACCAGGATAAATTACTGAAAAATTGGCATTTTTCGTCGAAACCCCAATATACTAAATTATGCGGATTTTTAGTTTCAAATTCAACATACAGTGCATTTTTTGGGCCTACTTCTACGACTTTAAAGGGGGGAGCATTTATGCGGGAGGGTCCTGCCGCGCATTTAGTCATCATTTTTAGCAGTTTCTGTGTAATTCAGATCACATGCAGGTCACACAATATTTATCCCATATTTAGTATGTGCCGTGCTTTTTCACAAATTAATTGTGATCTACGCGTGATCCCTGCGAATTTTGAGAAGACTTTGTTAAAAATGATGACTGTCCACGGCAAGACCCTTCGACGTATGAATGCGCCCCCCTTTAAAGTTGTATAAGTGGAAAAAAAATGCTCTAGCAAAAAATCGAACATTCTGATATTTGAATATCTCGAAATTAAAATAATTTGTGAAAAATTTTTATTTTATTTCGAAAACTACCGATTTTAGAAAAATTCTAAAATTTCGATTTTTTTTGTTGATTTTTCGATTTTTAAAATAAAATTTCATAATCTTTTAAACCGATCTCTCTTGCATTTCCTGAAAAATCGTGATTTCTATCCTTTTTCTTCAGTCCTTCAATAAATCGTTTCGACTCCGATAGGTCGGGCGCGTGAAGCGCTTCGAATCCGCCTAGCATTCCGTTGAAGTCCTGCCTCGCGCGGCTCCAGTATTCCTCCGCCCTGAGAGAGAATAGTTGAAAACATTGTTTTGAGACTTAAAAATTTTTTTTTTAGTTTTTTTCAAAAATTCTTACATGTTATAGAGTTTGTTTTTCAAATTTCTTTTTTCAGAAAAACTTAGTATTTTCGATAATTTTAGTTACAATAAAAACGAGTTTTTTTTCAAAAAATATTTCGGTTTTTTTTTTAATTTTTGGTCTAAAACCGCAAAAGATTTGCGTGTTGGCCGAACTTTTTGATTCTGTACCTTTTCAAACAACTGCAGCATTGAATTTTAGAAGATAATGAAGAGCTCATTTTGCTTATGCTCCAATGTTGCGTCAGCTGCTCCGAGCAGTCTGGAGACATGACGAAAAGACGAGGGGTCACGGATATGATGACGATACTGGAAATGAGATATTTACATTGTCTACTAGCTCATCGGGAAAATTATTACCAGAAAGATAAACAGACATGTGCGTTTTTTTAATGGAAGAGAAACACAAGAAAAATTTGGACAAACTAGGGCAGGGCTATGAGTCGATATATGGCTTCGGTCTCGACACCACTATTTTTGTTAACTAATATGGTATGGTCGCACCTATAAAGAGTACTGTAGTTTCTAACTCTCTTTGCTGCAACATAATTGACGCTCAGCGAAAACTACAGCAATTCTTCAAAAGACTATCTGTACCCTTTGTGTGGACTTACGGGCTCGATTCTCGTGCATAAACGAATTTCTGCTCGAATGATAGCCCTATGTCAATTTGGTATAGTCTTTTCTTTTGCCATTTTTCCGTGTTCTTCTAATATTTAATCTATTATTAAATTATGTAATTCTCACCCTCCTTAGAACTGCGACCGAACAGAGATTCGTCACCTCCGCCCCATATTCCGGCCAATCAGATCGAGTAGGCGGAGTTCGAAGTCGCTGATTGGTTTGAAAAGTCGCGGAAATGCAAGAAGTTTTAAGGTAGCCGTGGAAAACTGATGACTATTCTAGCGCGCTTGTGTCGATTTACGGAATCTCGATTTTCAGGAAGGAATTTTTAATTACATTTTTTCGCTCAATTAATATTCTAAATAAATAACTACATGATTTGAATTAATTTAATTTCATTCGAGCCAGTAGATCGACACATGTGCTACAGTAATCATTAGTTTTCGCAACGAGATATTTTGCGCGTACAATATTTAGTGTCCCGTAATAACTCTACTCCCTACAAACATTACGACCTCCAGAGGCCTCCAGGTAGTTGAGACTCTTGTATTTCCAATTCAGAGACAATGCGTCACTGGAAGAGAAACCGAAGCGGAAAAAAAAACACGGAAACCCAAAAATAGGGTTTGCCCCGCCCTATTCTTCTCCAATAATTGTCTTATTTTTGCAAGACTTACCACCTGTGTATGCCTTACTCGACATGCGTTAAACCCCCCCCCCCCTCCCTATCTTACAAGGTACTGATAACACTTTCAGTCTTTCACACTTTTGGCGGGGACATCGCCGCTCTTTATTCGCGGCGAGCTGATGACTCATCAATTTTTCACTCAATTCCGCTTTTGATTATCTTCAATGTTCTAGAAGGGCACATTGGTCATCCTTATTTTTTCCTTCTCTTTCTCGGGCCTTTGTTGCGCATGACCGCCCCCTACAGCAGGGCGTGGCCTGAACGGGGGCTCCGAGAGCTACTCATTCTTGCCGCGTCCCCCTCCAGCGCCACCCAAACTTCTTCGGTTCTAGAGATCGAGAAGAAGCGAACGTATGATTTTTTAAAATTATAATTGTTTCTTTCGAAAAAAAAAATTTCATTTACAGTAAGCCACAGATACAATCAACGAAACTCTTGAATTCTGCTATCTTTTCTTGCGACAGTTGCGGTTTTTGGTGAGTTTATGCTTTAGACTTTTCCGCCAAAAATACAGTTGCCGGTCTCGGTATGGCAAAATTTTTGTTAAATTCGAAAAGCAGTGAGTAAGTAGTTTCGAATTTTCGTTCCTGCTTAATTTTCATCAATTCATCGACTCATTTTTCTCACGACTTCTTCTTTATGAAAAATCAATGAGAATTCTGACTAGGTCAGGATCTTAGGGGTGAGGTACCTAGGGACGCATCACATATGCCAAACGGAAGCTGAGAGCAATCATTGGCTACAAAAATATGCTTTCAAATTGCAACGGACCTCTGGGAGACTGCAAATTCGGCCATTCTGAAATTATGCTTTTGTATGCTCGAAAGTGGTAAGAATTTAGGATTTATTACAGAAGAACGTTTAATTAGTAAAATTAGTTTTTTTATACTTGAAACAAGTACAGTAGGCCTGTATCAAAACACATTGTTGGACTTCTTATTCTACTTCATGTTTTTCTGTAATAAATTCTAAATTCTTACCACTTTCGAGCATTCAAATGCATAATTTCAGACAAGAATTTCCAGAGTCCCAGAGGTGCGTCGCAGTATTTGAAATATTCTTGTAGCCAATGATCTCAGCTTCTGTTTGGCATGTGGCGTCTCTAGGTACCTCACCCCGAAGCTTCTCCATTCCCTAGTGAGCAAACAAAATTTTGAAATTAGTACGATTTAAAGGCACATTGATTTTTCTGGGTCAAGCACAAATTTGTCGTGTCGAGACCTAGGCTACGTTAGTATTTTCGCGAAAAATCGCAAAATCTTGCAGCTGGGATATACTTGTGCGAGAATACTTTTTGCATTAATTTTGAGAAAAATTATTTTTTTTAGACTTTTTGACAAAATTTTTCGGATAGCCAATCATAAAACGGCGACCTGTGCCCGGTTGTTACATTAGGCCAACAAAGTTCCTGGGAACACTGCTGCAAACCATAATAGAGGGGTCCGGAGCATAATATCGATTTTTCGTACTTTCCTGTATTTCTTGTTCTATATGGCCGGAGTAGAACAGGATTTGAAAGTCAAAATTTTTCTCATATGGATATCACATGGATATCAAAATATTTCCATATGGATATGGAGAACATTTTTCTCCTAGGGACTTTGAAAGTTGAATCACTTGACATCTGGGGAATTAGTATTCCAGGCGTAAGTCGAATCTGTTAGAAACGGAAATGGGCATAGTGAATTAGGTAGACTTTCAATTAATCTGATCCATTGCAGTCAGACGCGGTTTCCCGGCCTGACGCCTGCCTCCAACATGCCCGCCTTCACGGCCGGTCCCGCGCCTGATTTCTGCACTGTGACGAGACAGACGAAGGTCGCCTTCTGGCGCCCGCATGGAGCACAATCGAATTGTCAGCTTCCGATGGGAGTCCGTAAATCGACACACAGGGGTACCTCAGACATTTCCCTCCCCCTTACGAATTGTTAGTGACAATTGGAGGGGGACTTCATCTCCAATCGAGACACACATATGTTGTCGTCAGTGAAGTGTAAAGATCTTAACGATTGCTGTATGATGTTAAAAAGCACTCTATGATCACCTAGGTTTTTCATCACACCCTTATTAGGTGTGGTGCCCATCGAGCACTCACGCCAGGCAGGGAGAGCACCGGTCCCTGACTAATGCGAATGTTTTAGACCGGAAAGCGATGAAAGAGCATAGAAGATCATTATCACGTCTAATTAGGTTACGGCGAAATTTGCAAAAAAGAGCAGGAAACTTGGCTCATATCCAATATAACAACCAGGACTTCCATGTAGGCGTTAAAGCGATACCACTGTATCTCACCCCAATCCGTACCTTAAGCTGAAACAAACGTGGACTTTTTTCATCTCTTAAAGGAGTTTCGTAAACGGGAAATTGTTTTAAAATGGAGTATTTGTACTTCAACAATTATTGCAAAAGAAAAACGGAAAAAATCCGCTAACATTCAGCATTTTAAGTCTCATGAAGAAGTCTTTAAAATTTCAACCGTAGAGAAATCCTGCATAGGCACGACGCTCTAGGCATTCGAATTTTAATATGTTTTGATGTTTTGAGAAAAATAATACAATAACTTCCCAGTTTTCTATAACTTTGAGAAAAAAGCGAATTAAATTCCGAAAAAACTACATTTATCAATATTTTGTTTACGAATATGGCCTAGAAAGCGCGTGGTGGCCTCGGATTCATTTGCTCGCGAAATTCAAATTCCGTCACTTTCGTCGATTTCAACGGCCCTGTAAACCCGTGCTGCATGTCAACGGATTTTTCCCGCTTATTCTTTCTTTTGCAGAAATAATTAGAAGTTTGAGTACAAATACTTGTAAAACAATTTTATTTTTGCTATTTTGACGTTGATTGATTACGGTTTTTTTGGTTTGGGACCAAAAATTCCAGAAATGTTTGGCGTGTCTAGTCTTTCGACTCGAGACTACTCTGTATTAAATAGGCAAACATTTATTTTAACACAGTTGTGACGTCATAATATTTTGATACATTTTGCAACATTACTTAAATAACCCCATTAAAAATTAACCTAATCGTGCATCAAACAAAATTTTATGGTTTTTTTGGTTTTTCGAAAATTTCAATTTTTTTTGTTTTTTGGGTTTTTTTGGTTTTTCAAAAACTTCAATTTTTTGTTTTTTGGTCCAACATTTTTTTTTGGTCTCAGCTCTTCTGGCCTACCCTAGGAGAAATAGCGCTTCAAAAACTGATGAAAACGTACAAATTTGTCGATAGAAACCAAATATTACGAAAATCTGAAAAGTTGGCTCAAATCTAGATTGGATCGGCCGATTTTCCACAAGTTTCCAAGCTTCCACAAGTCGTATCCCGAGTCGATTCAAATTGAGTTTGAATACTGCCAATTTTGAACCAAATTTCCCTGGCTTCTCTGTTATTTAAAAAAACGCGAGGCAAAAAAATAAAACGATCTAATTATTACTTTTGTGAACACAAAATTCTGAAAATCGCGCGTAAATATTGCGCAACATATTTGACGCGGAAAATATCTCGTATCGAAAACTACATTAATTCTTTAAATGACACGCTGTATGTGGTTATTTACGGGCTCAAAAAACCGACACGTTTATTTTAGAAAATGCCCGTAAATCCACACATAAGAGAGTAATTGAATATAAAAAGAATTAACCTGTAGTTTTCTACGAGATATACGCTTTGCGCGCCAACTATGTTGCGCAATACGCAACCCACCATATGGATATATACTGATGTGAGGATAAAAAACAGCAAGCCAACTTTCAGCGGTCGGCTCCGGCAGGCCTCGAGGACTGCGTCCTCAGGAGCAACTGTACAGTCTGGAGAAAGAGAACGGAGTTGATGTGAAGCAAAAGGGGCGCTGAAACCAGCAGCAGATGCCGACACATTCCTTGGATTTGTTCCATAGAAGAGAATGGTCACGTGGCAGCCATGCAGCGGTCGATGATCAATATGAGGAGTCTAGAGCTCCTTGTTATTTAGTGGTGGTGGCCGTAAAAGAGAAAACTCGGCCAAGCTGCTCGGAGTTTTTGAATTTTTGATAATCCGAAATGAAAATTGATTGCTCGAAAAGGCAATCTTTTGGAAAAACGAATTTTGTAATTTTTTTCAGCAAAAATTGCTTTTCGAATTTTTCCATTAAAAAATCGATAATTTCTCCCCGTGCAGTGGAAAACAAACAATATTTTTTTGATGATTGGCACTCTTCCAAACCCGGCGAGGACTAGGTACACTCCTGCGTCATCCCCATTATCTTATCACACTTTCTTTCGAAAATAGCGTTTGAGGTAGAGACGGAAAAGTGAGAAAGGTGAGTCAATTTTATGCGTAGATTTAGGATGATAATACACACAAATTAAAAAAACGAATGCGTGGCGTGCACTGAAACCCTCATATTTAGGCCCCGCCTAACGGTTTCACCTCTCGTCCACTCACGGAGAAAAAAATTTACGTGGGGACCAACCAATATCAGGCCTAGGCCGCCATCGTACGGGTTCCGCGCGCCGCTATGTTTAACTCTCTGTGGGTGTGGCGAGCTGTCTCCGCCCGCTGCGACTCGAGTAAAACATAGCGGCGCGCGGAACCCGTAGGAAGTCGACGGCCGATATTGTTGGACAAATTTTTTCCTTTTATCCGTCAGTGGACGACTATACAAAAAGGCGGGGCCTAACCACTTAAGATGTTTTCTGCAGTACACGCCACGAACAGTTTTTTTATGTTGAGTGTATAGGTCTAGATTCTCGAAAGTCTAACAGTTATTTAAATGATGAACTCGTGATGACTGTTAAATTGCTTTGGAAATTTCGGGGGAATTATAGAAATCGATTTTGTATCGATAAGATTTACAGGAAAAACCCAGTACCACTAATATCTAGGTATTCGATGGTAGGCAGGCGCGATTTCCTTGAGGCCTGCCTGGAATCTGTCCGGCTCACACCAAAATATGTCTATCATTTTGCTGAAAACCAAATTAAGAAATGAAAGTGTAGAGATGATGACGGAGGTCGCCTTAAGGTCAGACAGGTTAAAAAACCGATTTTAGCTATTTTAATTTTCTTAACAACCGAATTAGAAATATGCTGCTTGTCATTTTTGAGTAAAAATTATTCATACGAAAACTTCGACCAAAACCACCCCGAAAAAAATGAGGAAAATAAAGATTTTTCGAGAAAATAACAAAAAAATCCAGCAAATAGTGAAAAATAGTTCTCTCCGAGAAAAGGAGTTTAGACGCTATGAGGTAGTCTCGAAAATCATTTCAACCTAAAAGCCATAAACGGCATTATCGATTAAAATTCTCACTGAAAATCCGGTGCCCGAATTTCAGTGCTCCCCACAATCGAAGCCCGCTTGGCCGAAGTGTTGAGAGCCGGAGAACGCGGCTCGGAGTCAACCCGGAGGAAGTCCGTTTTGACGGATCTTCGTCCTCGTAATTCCAATAAATATTCTTTGCCCTACATACTTTATCCATCTGACAACTAAAATGTCAGTTCTTCTTGGCTTCAGCGGTTCTATTTGTCAAATGGTTTATTTTCCCCAGAGCGAACTCTCAAAAGGTTAAAATATTGTTCGATTACCCCTTTTTGTCAATTATTTTCTTCAATTTCTTATTTATCATTATTTTTCTAAACGAAGACGGTTGTGAATTTAAATTATGTTAATGGTCTAAACTTTCCAAACTGAATAAATTCAGCATGTTGGCACGTTTTTACAGTAGTTTTTGAGTGAAAATAGAGGTAAAAAGACAGAAAATCAATAAAAAATGAAAACAAAACTATCAATGAAAAATGGTTGAAAATCGAGCAAAAATCGTTCAAAAAAAAATAAATTCGAAAAAATAATTGCGTCGAGGAACGCGTCAGTACTCTCTGCGACTCTCACCCTTCAGCACGCGCGCCACGAGAAATGCGCAATGGCTAAATTCGCGCGGAAAATCATTTCGTTTTTCAACATTAAACAAATTCGACGAGTAAATCGCTCAATACTTAAGTAAGTATGGATTTTCAGCTCGTTCAAAAAATTTTCAGAACCGTTTTAAAGTCGTAAGGTTTTTTTTTAAATCGTCGGAAGTAAAAAAATAGCGCGGAAATCTACGGAGTGCGGAGCGAACACAGGCGCTGTAATTCAAATGGGTAGAATAGTCAAAATTGAAAGTTCGCCAGCACGACCATATTTTCAAAACTTAATGGTAGATTTTTTCGTTTTTCTTTTGTGGTATTTCGGCATTTAAGATTAGAGAGCACATTTTAAAGTAAAATTCCCCATCCAAGTCGCACTCACCTTCTCCAGCCATTTCCAATTGGAAAAGTGTATTATATCCCGTCTTTTTTTTTCTGAACAATAAATTTTTCGTTTATCCAGGATAGTCATGATACAAATTCGTTAACAAAAAATGAATAAATGAGAGCGATTAAAGCATTGTCGGAAAATATGGGTTAAGGAGAAGGGGGCGGACTTTTGGATGGGGTACAAAAACCATCAATATGCAAAAACTGGGCTAAAAGCAATATTTTCAAATTATGCCCGACAAAGGTTCAAAAGTCAATATATAGAAATGAGAACATGAGTATTATGCCACGTGGCGGGAAAAATACGTGGAGTGTAATACGATGATCAGATCCTTGTGAATACAAAGTTTGTGACGACGTGGCCGAGAAGAACTTTGTAAGCCAATGCGTAAAAAGGGGTTCAGTCTAGGCCGAAATTTTTTTTGGGCCACATATTAAGTTAAATTAATTAAAAAAAATCACAGCGTATCCAATTTGCCGAGTTTTGACTTGAGCTCGGCGCGATACGTGTCGATTGACTCAAAATATTGTTTTTTTTTATTTCCGAATAAAAAATGGTGAGTACCTCCAAAATTAGCTTTTCATTGTCCATATAGAACTTTTTGATTTGTTCCACAGTTTTTGTGGCCATCCGGCGATCCAAACTCGAAATTGTCATTTCCTGGTACCAGTGGAAACCTGAAGGAATTTCGGATGTTTTTGCTTAATCATAATCATGATAATCTTACGTGAAACATAAGACTTGGAAAACGAGATTTTTCGAGAGTTCGAATTCAATTTATCTTCAGATTTTATTGCAACAAATCAATTTTCAACATAAAATAATTTTTCCAACTTTTTTTCCCAATTTATGAGAGTTTAAACATTGTTTTAAAGCAAACCGCCAACATTACATAAAAAATTAAAATATTGTTGAAGGAAAAAAATGATGAAATAGATTTTCTGACAAAAAATTTAATTTTTTTGGATTCGCGCTTCAATTATTGCGTTCTTTAAGAAGAGTGATCGAATTTTATATTTCCAATTGTAAAAAAATTTAAAATGGAATGAAACCTTTCCAAAGAAAAACTGAATATCACCAGAACTTGTGATTTTTCAGCATTTATTTTTAGGTTTGAATTTTTTTTTCATGATTGCCAAACGTGAAAAGTGCAATTTTACCGAACATTTAAAAAATCAAGATTTTTCAATTCTCTCTGAATTCCTGCAGATTTTTCGATGAAAAATTGAATTTTCCTTGGGTAATATTATTTTTCGGGAATTTATCAGTTTTTAAAAAAAATTTTATTGTCTCTGAAGTTCTCGATAAAAAATTATTTTCTGCAAAAAATCTACTTTTTCTCATTGAATATTCCGTAAAAAAAATCAGAATTACAAGGCACATTTCCTTTTCTAATCTACCGTATAATAATTCAATATTCTTTTAAAAATTCGGGGTAGATAATGAATTGTACCAATTTTTATTAAAGTTAATTTTTCTAATTTACGTTTCAAAATTTTCTTGAATAGTTTTTGGAATTACAGATTGTTTCAAAAAAATTTATTTTGTTTTTTTTTCTCGAAAATTTGAAATCCATACATTCTAATAGCATTCTTTCTGTTCCTCAGGACTCCAAACATAATTTATCCTGACCTTTCCAGATCGATTGCCATTTGTTGCAATAGTATCTAGTTCAGAAATCTCTCGAACCATCTTCCCTTCAACGCCATAATATGTTTCGCTTCCAATTTGCATTTTCTCCTTTTGGTACACGGCTGTATGTCATTGGTGCACGGAACATTGGTTGACGGGCTTCTTCATTCAGAATTCTGGAAAAGTTGATGTTGTGCGATTTTTTTTGGGTAAAAAAAACAATTTTCGTAAGTTTAATTAACTAATATTTTAAAAAATCTGTCTCAGTTTCTGAGGCACCACGGGTTCAAGATCTGGTGGGATTGCCTCCCGGATCTGGCACCGTGCCAACGCATTGAATGCAATTTTTCTGAAAAAAGGGCAACGAAGATCCGATTTAAAAAAATTTTTCAATTATTTTCCAAAGTTTTCACGAACTATAAGAACGGAGCAATTTTTCACAAAAATTCCAGTTCCTTTTTATGTTAGAATTTAAAAAAAAAATTGAATTTTTCCTAAAAAATTAGTACATTTTCCGATATCTCAAGTGTGCCATAAGAGCCTAAAATCAGAAAACTTTTAAAGGAAAAATTTTGAGCATTCTTATCAAAAAATCAACTTCTTCTCACAATGTTACCTTATTTTCTTTCTAAATTCTGAAAAGCATATCTCAGCTTTTGCTAAACTATTTTTTACCTCAAATTTTGAGAAAATTAAAATATAAGAGCTATGATATAGTAAATATTTTATTTTCTAATAATTTTTGGTATTTCTATTCTTTCGTTTTTTCATTTTTCAAAAATTCCACATAGTTTTAAATGTTCATATTATTTCTTTTGTCCAGGAAAACTCGTAAATTTTAGTACAACTTTAAACCGGAAGATTGATCTTTTAAATTTTTTTTTCAAAAAATTTGAATCTTCGACATGAAAGATGTAGAAGTGTGATTTAAAAATAAAAGTGCAGGTATTTTCAGTTTACAGCAAAAGTCAGTTTAAAAAATTTCGACTGGTTTTCAAAATGAGTTTCCTTTTTTGTACACGTAGAACTTTTTTTATTTTCCGATTTCTGGCGTTTAGTTGCAGAAATTTTTTTTCCGCAAAGTCAGGAAAAATTCAGAAAAATAGGACAGTCAAAAAATTGTAGCTACAATTTTTTGAGTGTCTTTTTCTGAATTTTTCCTACGATTTTGCGGAAAAAAAAACTTATTTTTTCATGAAATCGAGTACCCATCCAATTCCACAAACTTACTCGTTCTCCTCCATACATTTCGTTTGTTCTCCAAACAAGTGGAAAACACATATGATGTTTTCTCATATTATCATTCCAGTACAGCCGGTGTATCGACCGAAGCTCCGTGCCACAGATTCTGCACGTATTCCATCGATTGGATCAGCTTCAATCGCTTTCTCCACAATGGCCTGAGGTTGAGAAGGGAGTCGTCTGGAGAAAAATAGAATAGAATCATGATTTTTAGGTTATTTTACGTTTAAAAATCTAATTTTTAAGACGCGTAAACGTTGGGCTCATTTATAAAAAATCGGCACACCGGCAACTTTGCCGAAATTTCGGAAAATTGTCGGTTTGCACATTTTTGCGGATCGTGAAAGTTCAGAACTTCGATTTCAATCCGCAAAATTGTATACATCCTATCAAAACATCAATCTTGAAAGGCCATTAAATACTCTCTATGGTCTAAAGAAAAGAAAACGATGGTGTAAAAAGATGCAGTTTTAAATGTTGTCTTATTAATAACAAAATTCGACAATTTGCCGGAATTGCAATTTTTTTTTCTCCAACTTCCGAAAAAAACCCACCGACCACCATAATATCATCGTCTTCTTCTGTTTCTTTTCCAATTCCAAGCCCTTTGATCGCTTTTCCGGTGGCTGGCTGCATGAGCTCAAGGTATCCGTATACATAGATTTTCATGTCTGAAAGAAAATTCAAATTTCTTCTGGAATGTTACTCGAAAGTATCATTCCGGACATTACTCGTTGCCGTCGTTTGGTCAGTGCACGGAGGCTTGCCGGACGTGGAACACGCATCAAACGTAAATAAAGGATACACGGTTCACATCCGTGACGCGACATTACACATTTAGCTTAAAATTGTGAAATTAATTTTTTTTAATAGCATCTTTTTTTTTAAATTTCGCCCATGCTTTTTCCATTTTTTCAACGAGTTTCCTTATTTTTTGTCCATTTACTGTAAGTTTTTGAGAATTGTTTTTTGTTAATTTAACATTAGCAAACATTTATTAGCAAAAATTTTATTAGCAAAAAAACTTTTTTAATTTTTTTAAATTAGCTCAAAATTCTCGAAATTTTAGATTTTTAAAGGGTAAACAATATAAAACTTAGGGAGTTTTGAGCTATAAAACGATAAATTGATTTGAAAAAGGATGATAAACTTAGTTTAAAAAACCGACAAAAATAGACTAAAATGAAGGGAACACGGCAGCAGCTTAGCCCCATGCTTAGCCAGCAGCCCTGTAGCAACCCAGTATCAATAATATCCCGTGCCAATTTTCTAGAACTGAATATAAATTGGGTTGCAATGTTGCTAAAGGGCTGCGAAAGACTGAACTGGGATGAACCTGGGCTGCAAGGGGCTGCGAAGTGCTGCGAGGGCAAAGCTCAGGCTACAGTGCTAAAAGGGGGCTGAGCCCAGACACTCAGGAAAAAACTCCATACTCGCAGCCGCACCACATTTGCGCTCTGATCGCGTGCTATCCGCGCGCACAGAAATTCGAAAGTATTACTGTTCCAAATTCGGAATGCGCGCACGAGGGAGAAGACGCAATTAGAGCGCGGATCTGCACGTAAGGAAGAAGTGGGACTGGAGCACGAACCAGTAATCTAGTCGCGCCTCCGCTCTCCAGGAGGTCTAGAGCGATTTGCCGAGCAGGTCAGCCCTTCGCAGCCCTTCAGGAAGTACAATCAAAATTATACAGAAATTTTATATTGGAACGGGATATCATTGATACGCCTAAACAGCCCTATTAAATAGTGATGACGGCGTAAATGAAATTCGCCATTTCCAGCTAACATATAAATTTTTTTTTTTTAACATTGATATGAATGGATTCAGCAGAAAATTTGCCGAAGTCATTGGAAAATATTAAGATTTCCAGATTTCGGTACTCCACTTTTAAAACTGAATTTTAAAACTGTAGTCTTTATTCAATGTTTCTTTCAAAATTTAAAAAGTAGAATATGTGAGAAAAATTTCCAAAATTGTCAAAATCTCTAATAGCTGAAATATTTCACGGCCAACCGGCGGGGGGTACATGAGAATTCTCTACCGTATGATTCCAATTTGGCTGACTGCGTGCTCAACGTTGACTAATACTGAGTGTAAACTTTTCGTACACCGTTGCGTACTGCACAGCGCGCATTTTAATTGACGACATTTAGCAAAAATTATAAGATTTTTCGGAATTATGAAGCGCAATTTTCACAAAAATAATGAGTTATTTGTAGAATTTATGAAAAATCGTGAAGATTTTTTTCTTGATATTCAAGAACAAGCAATTTTTTTCTTAACAGAGGAATCCTCTCGCATGCACCTGTTGTTTTTTGCTCCACTTTAGGACGATAAAAATGCGAATTGTTGATAAAATGAATGATAAATAATATAGAGTAAAAGTGCAAATATGACTTCAGCAAGTTTTAAACCCAAATTTTTCCTGGTCGATTTTCTGTTAGATTCCTGGTTTTGAGTAAACAGTCTGATATATTCCTGATTATAATGATAACAATCACGAACATAAGAATTGTAGAGCACAGAGAAACAACAAATTGCAAACACAGCAACTGATATCAGAATTAACGACGGAAGTACCACGGAAACCTCCTCGGTCTCCACCTCGCCCACCACGGAAGCCACCACCTCTGTCGCGTCCTCTGAATCCTCCTCGATCTCCACCGAATCCACCTCTCCTCCATCGCGGTCTTCTGATATACCACGGAAGCCTCCACCTCCACCAGGATCTGTTGAGAGTCCTCTGAAGCCTCCTCGATCGCCACCTAAAACCACGGAAGCCACCACGATCCGCGGATTTTCCTCTATAGCCTTCGAGGCTTCAGTTGTACCCCATTCTTGGCACGCCTCAGATCTCTACAAAAAAAACAAATTAGAAGCATTTCAGACCATGCTTATCGAAATGTGTACCTATCCCGCTTTATCGCAATCTGTCTATACGTCTTATCCTTTTGGTTCTCAACTTCTTTAACTTGTCCAGTAGCGAGCTTGCTAACGAGCAGCATTTTCCCGAATCGCCTTCACCTCAGCCTCCACAGCATCCAGTGGCTCCTTGACAATCGTAACTTCGAGTAATACGTTGCTCACTCTCCTGCTCACGACGCTATTTCATCTGCTTCTTTTTATTGTCACCGCATTATGGTTGTGATAGAGATTAACCTCTCCGTCTCATCGATTTGTCCACTTCTTCATTTTTGACTCCGAGTTCCAGCGTCAGTCGGGTCCGATCTCACGAAGACGGACCGTAGCTATTCTGGCGAATTCCGCAGTCACGTCCTTCAAAAATGTCTTGTGGATGTTCTTCTTGCTGAGGGGGCTGCTGAAACCAATGTCGGCATGATGAGAGTTCCGGTATTCTGAATCCTTTTCCTGCGTGGGCTAGCGACGAGCTGCACGTCTGAAAATCAACGTTTTTGGAATTTTTGGGCGCATGATCTGGAGCTACAGAATCATTCGATTCTTAGAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAATCTGGACCAAAAGTTTTCGAAAAAATTTTAATTTTTGTGACTATCAGAAATTTGAATATTCACTAAATCGAAAAAAATCATTGCAAAATCCATTCGTCAGCTGAGAACATTCAAAACTTATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGTTTCAAAAATTCTGAGACTTTTATTTTTGAGAAAAATAATTATTCGCTCGAATTATTGAATTTTCACTAAGCAACAGTAAACTTGCGCCCATGCTACAAGCCTGAATCTTTCAAATTAAGAACCAGCATGATTTTTTCAATATTCTAGGACGTTTAAAAAAAATCTGGACGAAGTTTTTGAGGAACGTAATTTATACAAAAATGTTCTGATTTTTCACTAAACTCAATTTATAAAAATAGTCAACGTTGCCCATGCTGTACACCTAAATCATTATGCGGAAATTCAGAACCGCCATGTATTTTTTCTTACCAAAGGCTCTTTAAAAAAAATGTGGACCAAGAGTTTTGATATTTAGAAAAATAACTCACTTTTCGACGTTTTTCGCCTTCTCGTTGCTAACCCGACAGTTGATTTTTGCGGCGATTTGTGGCGCTGAAAATTTTTAGTTTTATTAACGAAGAAAACAAGAAAAAACGACGAGAAAACATCAGAAAAATGCGAAAAAACATCGAAAAACCACCGCAACCTCGTGCTAATAACAAAAAAAAAGCATTGCAGCCGCGGGACTAGTTTTCGCAACTGTCTAGGCCATGTCCCGTTCGCCGTGCCGTGTATTTGTTTAATTCCCTTTTTGGAAAAAGTCAACATATTTCTCTAACAAATCGTTTTTCTATTAATTTTTGTCTAAAATTCACAATCAACAGATCTTTTGCATTGCAATTCTCACAATATCCCGACAGGAAACCTCAGTTACAAATCTGATTCACCTCTTTGAATAGTTCATTATTAGTGACGGTTTCATTCAAAGCACATTAATCATTGTTTTAAACTTTTGCACTTCGTGTTTTATGTAATAGAATTGTAATGGACAAAAGAAAGCAAGAGCGTTGGGGCATCTGCAAAAAATCATGAAATTTATTCTCTTTTTATGATTAAATTAGAATTTTCTAAAATTCCCTTTTTTTGACATATGCACTTACAGCCGCATGAATCTTGTTGAACCGTTTTCCGAAATGAAAGAAAGTGGACAAAAGACCAATGTTGATTCTTCTCCAATCATCATGAATTTCTTTTCTTCTCATCGCTTGAACCATCGCAGCGTCGAAATTACTTGACTGTCTCGTTGTTCAGAATGAACAGACCTGTAAAATCAGTTACTTTTTTTTAGCAATTTAAACAAAGTACTATTTCCAAAAAATAGGGAAAAAAAGGTTTGATTTTATAAACTCTCGAATTTTTATTATGGTCAATTGTTATTTTTTCCAGAGAAAAACTCATTCTCCCAATATTCAGAAGTTTCTCTCTAAATTTTTTTCCCATCGTACCCTTATCTATAGGTAATTGATATGACGTACGATCCAGTCTGAGATGTCTTCTGTAAGCCGTTTCTCGTTCATTTCGTCTGGAACCGCCCAATCAAGTTGATCTCTGTACGGTTCTTTTTCCAATTGCTTGCAGTTGGCTGTATAATCGCCTGATAGCGTGTTCGGTTCCCACGTGGATTAGATTGTCGACATTGAAAGTGGATTTGCTGGAGGAAATTGGGAATTTTTCAAGGTTTTAAGTGGATTTTCAAGCTATTTATAAAAGCAGGAAAAAGCTCAGAAATAAACTTTTTTTACGTCGTGTTTTTTCCAATGGAATTACCTACTTTTAACTAATTGTTCGGTTTAAACCCAGAAACTTGTTTCATATGGATTTTCCCGGTGAAAATAGAAGGAATCGTCGCATTCTCAAAGTTTTTTCACCGATTTGTTTCAATTTTAGCACAACTCAATGAATCACAAAAATTCCATTAGAGCCGATTTTCGTAAATTGGTTCCTACATTTCGAACGAAAAATTGTCCTTTCTGTTTAAACCGGAAATTCTCTTTTGAAAAACCAATGAAAATTTGAATTTTCTGCGCTTTTCTTCGGAAAATTATTCTCGAAGTTTATCAATCGATCCTTGGTCTTTTTTTGTTCCGCAGATAACGGCTGGCGGAGTTTACAAGCGTACCAAGTGGTTCAACTTTTATGCGATAAAGCTTTATAAATGGGACATAGATGAATAATATTTCGAGAGGCTAAATGCAAAAAGAATGAGTAAAAAAGCGCGCAGCCCCGTCCATCTCTGACGAAAAACGCCGTTTAAGGATCGGCTGGATTGCAATTTCCGAATGGGAGTAGTTCGAAGTGTCAAAATGCCGGAGAGGTAGTCGTCAAATTTCACCGAAACGTAACCCGGTAATTTCCACAATTAATGGTCGATTTTTCGCAACAAGTGGTATGTTTGTCAGGATTTATATTGTGGCAGTCCAGATTTTAAGGATTATTTTTGGGCAAAAATGTCGAAGTAATTTTCTCTGAAAAAGTTCGTTTATTATAATTCAGATTTTTTAGATAGTTTTCATCAATTTTGCCAGTTTTCAGCCTGAGAACCTTACTAAAGTACGATGTGTATCATGAGCGCCCCTTTCATGAAGCTAACGAGCTTCAGCTTCATCTTCGTCCTCTTCATCCTCCAAATCTTCATCCTCATCGCCCATTGATTCCCCAGACGTTGTTTCGCGTTTGCTCATGGATCTTATAGGACGAGCCTGAAGATTCAATTCTTTTAAATTCAAATTTACCGCTTAAAAATCGATAATTCTCCCGTACTCTGGTTTCTTCTTCTTGTTCCGCCTGCTCCTCTGGATCATCTTCCTCCATTGACTAGGGCCGGCATTCAACATATTCAAGCCTTCGTCTGAATTTCTGGCCAATTTATACAAAAACCGACAAAATAATAAGCATCACTTTCTTTTCGCGTCTTCGTCAGAGACGTGTGAATCCATTTCCTGGAATTTGAGTTTGAATGTTTTTAAACAAATTTTATGGAGAAAACATTCGAAACACTAGAACTTCTGTTGAAACACGAGAAAATTTTTTGAAAATCCATGAGAAAAACAGTTTTGAAAAATCTGTTTTTGGAGGCTCTCCGTTGAGGAATCGTCACCCGAGACGCAGATTCTCCGGTTTTTTCATAGTTTGAGTTTAAGAACAAAACAGTTTAAAAAAATGTTTTTAGTATTTGAATGTAACTTATAATGTATGTTTTACTTCCATTAAAAATTAAAAAAAACTACAACCCTAAATTATCATGTAAATTTGAAACCGTGAATCAATCTCCGCGGAAGGGCGAGCCTATATTCCGCAAGCGCACTCTATCGCTAATGTACAATGGGCGGTTTTTCTAACTGCTAGGAATTAATCGGATTCTCGAAGTTGATTTTGGGTTTCTTTTTTTCGGGAACATATTGGTGTTTTTGCGTTCAATATTCAAACTTAGAGGAAAACTGCTTCAAATAATTAGGGAAACTCTTGAAACGAAAGCGCTGAAAACAGGCAAAAATAATTATTTTTGTATTTTTTAGGCTACTTTCTATACTTTTGCGTACATACTATAGTTATTCTATAACAGCCATTAAAATTATTAAAATGATTTTTCCATTAAAAATAAAATGAGCAAAATGATTCTTTTCCAGAATCCTATATGCGCCTTTAAAATCTCTCGGATTACTGTTTCAAAGAAATTCTCCTTTATATTTTTAATTTTAAATTTTTTCCTGAATGTCAAATATTAGGGTAAAAATCATAATAATATGTGCTATTCATATGAGTGTGGGCAAGAATTAGTGAAAAAGAACAAAAACACGTATGGACTGTAAAATTGGAATTTTGAAAATAAAAATAATATGCAGAAACAATTAAAATTTCCAGGAAAAAAGTCAGTAAAACCATCAAGAAAAAACTACTCGATTTTGAAGGAAATCAGCAAGAAATATCGTAGAAAAAAGTATGTTTAATTTGGAAAACCCCTGCTTGAATTTGTTTACAGTAAATTGGGCATAAAAGCGTATTGGCAAATTCGCAAAAACAAAAATCTGGGGATCGTGATGTGATGGAGTTGGGTTTTGTGAAAAAATTCAGCGCGGAAAAAATTGAGTAGACTATTTCAAAAATGTCGATTTTTGAAATTTGTGAAAAATTGAACAAAAACTGTTTTTTTTTGGAATTTCAAGAAGTTTTATAAATTTTTTTGGTTAAGATCAATTTTGAATATTATCTAGTTTGGTTTCACTTAACCATGCAGAACAATTCGTACAAAGGTATTCTAGAAAGGAAATGTGCGCTCCAGCACATTATTTGCTCGTGGAGCGCACTTGTGTGCACGTACGCTAGACCAGAATGTGTGGTAGAAAGGGAGGGAATAGGAAAAACAACAAATTGGGCAATGTAAGATTCGGAGAAAGAATTGGAACGAAACAATATGTATTTCGAGCTCCGCGAGCTGGTGGATCAATCCACAGGCTCTCCATCCTTGCGTTTTCGAGAGGCACATTGCATTCTAGTTACACACACCCGAGCACGTGTATAATGGAACATTGAAGCCTGGAAACGAGCCATCGCTACCATCATTACCACGTGGATGAAAAACTTAAATTTTGATGATTCGAAAATTTTCTGGAAAAGTTATGATTGTGAGATAAATTGAATTCTTTGAAAAATCAAAATTGCAAATGCTTGTAGAAAATTTTATATATTTTTTTAAGCGTATCTTTTCTGTATACATTTCCAAATTTTTTTGTTACCCAATTTTAAAGATTTTATTGAATTTTAAAATTCCTTTCAGTAATTCGGAAACTTTTTTTCAACTTTTTGATTTTCCGCATTTTTTAAAATTTTATTCAAGGAGAATTATTAGATTCTTTTGAATTTAACGAATTCTGTTCGCTAAAAAATTTTTCGATTTTTCCTGATTTAACGTCTGACAAATATATCTGGTTTTTTTATTTTCCTGATTTTTCTGTTCGATTAAAAATTTATAAAAACAAGTTTTTTTCTAATTTTTGGTTTTGATGATTGTGTATTTTTTCTGAACTTTACAGTTTACGATGACACCGATCTTCCACATTAAAAAATTCGATACAAAAAAGCATTAACATGATTTTTAAAATTTGAATTATTTTTCAAAAAAAATAATATTTCAACTGTGTTTTCGGAATTTTCGATTTTTTCTGAGTTTTTTTTGGAATTTTTCCTCCTTTCTGCTACCAGAAAAATATTGCCAAATTCAATGTTGTGTAGTAATTGTATTCAAAAAAAGTGTTCAACTTCTGAGTCTAAACCTTTTCCGAATCCTTAAATCCTTGCAGAGCTCTCGTGAATTCAGTTGTCAATTATGTGAATAGCAAGCTGCGTAACATTTTAATGAAAGTTTTAGTTTGTCAAGGACTCGATTAATTTCCGAATAATCATAATCATCGACTCGAAGATCATATAATCCTTGAGTATAGTTCCAAATTACTTTGCTTCACGGAAAGCAGCAGTGTCAATTTCATTTTGATTCACGGCGGCTGGTGGTTCTCCTTCTCCAGATGCATGGGATGAGCCGGATGGCCTGAAAAATTAATTTTTTGGAATTATTATATTTTTCGGTTTATTTCATGCATCTCGATTATTTTAACAAAATTACCAAATTCAACTAGATTACAACTTGCACTGTGTCGATTTACGGGTTTTGGCGTTATACGAGTTGAATTTGTTTATCGATAGAATATTAAAATTTAGCTAAAATTGAGTAGACTATAAGAAGAATTTTTTTAACTTCAAAAATCATTCGAGGCAAAAACGTCACGAGCGTCAGGATCGACACAGTAGTCATTTATATAAAAACCAGTTTCGGCCACGAAATATCTCGCGCCATTCTTCAAACATCTTGGGTAGTACGTATTCTCAAAACTGTGAGTTCACGTATAATATTCATGCGAAATTTTGGTCTACTTTGTTAGAGAAATCATCACTAACATATTGCCAGTAGGCCGAATATGATATCGAACATTCGATCACGCCGTGACGTCATCTAAGTGTATCCGTATATTCATTCGTTATTATAAACATGATCCCATCCAACTTCTTCAACTCGGAAGGGCGGAATATCCTTTTCAGGTCTTCATTCTAAATTCAATATATCCAAAGTTGAATGGTGCGAGTAAATTGGATAATTTTACACGGCGCTTTTTCGCATAATATCTTCTCCATTTTTATCGATATTTGCATACATCATGATACAGGCGAGTAGTTTTTCCGTTTGGAACTATCTGTTGCTGCAGGAGCACTAATCATAAATGATTCAATAGTTTCAGTAGTCATTGCACACATCTTCGCTGGTGGCCTTGTCCTTTTTCCGACGTCTTTTCCAGCTCACTGATCAAATACTTCAGTTGGCCGACGATCTGGCATTCCTCATTTCGTTCATGATATAGGCCGACTGGCCTCCCAAGAGTCGGGTCGACATTATCGATATTAAGGAAATCAATCTGATCTTGTGTCAAATAACACGACGTTCGAATCCAATACAGCATATAACTGTGCACATTGCGTGAGTCGTTGAGATCTATTCCGACGGCGAGGTAGAGAGCAAACCGAGCAAGTTGTAACGATCGCCCAGGACGTCTGGCGTGCGGCGAGCGAAGAGCACCTGGAAATTTTCCTTGAGAAAAACCTATCATCGTTGTTATACGTTCCTTCACTTGGCATTGGAGTTGGCAGCATATGTTTTGAAAAAACGTTGTTTTTGTTGAAAGAACATTTTATATACGGGACCATGAGATAATATTCCTATTTCCTTACTGGCGCGAAACCAAAATATGCAGGCCACGGCAACGAGAGCGCATATGGCAAAGAGAGACGAATCTTATTTTCTTGTAATTTTTACGGTTTTAAAATAATTTAGAATCCTTTTCAACTATCTTGATTGTAAAATATTACAAATTACAGAATTTCGCTACCAAATTTACTGGAAATCTAAACTCTGAGAATGCGCATGGAGCAACATATTTGACGCGCAAAGCTCGTAGCGAAAACTACAGTTATTCTTTAAATGACCACTGTAGCGCTTGTGTCGATTTACGGGTTCGGTTTTTTAAAGAATTTTCGTGTTGTTCGAGAAGTGACAGTGGTATTCCTTTTCCTTCTTTCTTAATCCTATTATTTTATCATTATATGCTTAATTTTAATATTCAATTCATACAACTAAATTATTAATATTTCGAGTAGACATTCTAAGAATTCCGGTAGTATTCGCTTCGAGATATTTTTCGCGTGAAATATTGTTGTGAAATACGCATTCTTAGAATAGATGGTGCTCCCGTAATAATCAGATAAGAAAAGATTTAGTCCAAGAACTTTCCGAAGATTTCAATATTTGCAAAATCAGAAACCTGACCCCCGAAGATTCTTTAAATTTTAGAAATTTTTCAAGGTTTGCTAAATAACTCTAACTTATTTCTTCTATTAATAGGCCTGCAATACTTTTTCGATGGTCTTGCCGCTTCGGGCAATAACTATTAGGGAGTGCAAGTCTAATAGAGAGTGCCATACTATTCTTCAGAAAGTTTTTCCGTGTTGGGGCTAGATTCTATTTGAAAAAACTCCAATTTTATTTGGAAGTATAGAAAATTTGATTGAAATTGCAACAAAAAGCACAATAACGACTTCCAGCTCGAAAAATTTTGTTATAAACTGTTGCATAACAGGGAAAAAATGTTATTAAAAATGTTTTATTAGTAAGAAGTGTTACAAAAAAAAGTAGGTGCAAGACTATTAGGGAGTGCAACACTAATAGGTGCACTACTAATTTTCGGAAGGTCTCCGGGCAATACTAATACAGGGAGTGCAAATCTAATAGGGAGGCCATATTAATAGAAGATATACGGTATATATAGCTTTGAAAAATCGGAAAATGCCTAATTTTGCTACTTTTTGAGGTTTGAAAATCTCTAAAAATTCAATAAATAAAATTTGGGTCAAATTACCGCTAGATTATTCCCATGAATCATCCATGGTCTATGACAATTCGAATCAAATAAACCAATTTTCGAAATTTCATGTATGACCAATCATTGCCCAACAACCACATTTCTTGTCCACCCCAAGCTTTGCCAGAAATTTGCGACGATGATGATCCATAAGTGATAGGCATCTCTGACGTGATGCAGCCATTAGTGCAATTGGTAAGACGAGCCGAAGCTGGTAGATCACTTATATCAACGAACATATGGCCATAACTTCCTGTCAAATTATGAACATGTAGAGTTGGGAGTTTACATGTCCAGCTGGAATAATATGGAAACGTGAGGGAACAATTAGTTCGAGACGGGGAGGGGCAGGTTGGCTTAGGGTGCCAACCGACATAGCCGAACATTGGGGTTTCTGATCAGCTTAGCGCCAGCCGACCGTCTACTAGTACTGCAGCTAAATTTTCGTCGGCTGTCGGCTGGTGAAAATTTTCATAATCAATTTTAATGGATGTTCCAAATTTTTCCCTAACTTGACCAAATTTGTTTGCTGGCCCAGCGACACCCGATAATTTAGATCATTGCGCATTACGGCAGAGGCTACTTGGCAGAAACTTTATAATTTTAAATTCAGAAATTCAATTCGTTTTCAAATAATATTTTTTATAACTTTACCGATCAATCACTTCAATCGGATCAAATTTGAGCCAATACATCGCTTGCACTTTTTAGTTGTAGTGTGCATGTGTAGATCTTTTTATCTGCGAAGTGAGTCAATGAAGAATATTCGCGACCAGTTTCTAAAACTCAGTTTTCTAAGGAAATTTCTGAAAAGAAATTCGAGAAAAAACTGAGTCAGCAAAAGAAAATGGGAAATGTATGTCTGGAAATGTATTCGAATATTATATTCAAAACAGTTTTCAAAAAAACAACGATAGCAATGGTGATCAGAAAGGAAGGAACTGGGCGAAAAAAATTATCTTTGAATCTCTTTGCATCTTTGTGATCTAAAAGATAAAGGTTTCACATTGGAGATTTGTGAATGTGATAAGGGTGAAAAATGGAGATTAATTGTGGTAAGTAAATTCAGGAAAAACCTAATTTTTGGTGAGAAAATTGTGGAAAAACTATAAAAGAATCTTTGGGGTTTAAAACTCAAGTTTTTCGCTGTTTCCGCACTGTGCTGACCAGTTTTTTGAGAGTTTGGCCGAATTCGGTGATTAGATCAAAAAAATAATTTCAAAACTTTGCGCCTCAAGTGTGACGTATTCGTACTCTATTGCCGTTCCACCAAAATTTCCTTCATTGTTTTGTCATTTTTCTGCATAATAACTGATCTGGGTTTTTTTGCTGCATCACCCAAGTGTACGAATTTCCCTAAAAATTATACCGGTATTTTTTCAAAATTTTTAGTCGCTAGAATCTTTTTTATTTTCTTTAAAAAAAGAGTTTTCTCGCGAGTAGAAGGAGAAAAAATGTGTGGCCATACTTCTTCGTTAAAGAATGCACGACTAGCTATAGCTCAAGCCCCCTCTGGAACGTTCCATCTTCCTCCCATTTTCCCACGTTCGAGAATCACTTCTTTCCCTCAGCTTCTCTTCTTCTAAAACCACAACTAGACAAATGTGCTTGTTTTCCATTTTTCACATCGCCGAGAAACCCGCTATCACAGACTCAATGCGCCTTCACCGGAGACGGGGCTATTTGTGTGTGTACATTGTACTGATCTCTGCGTGATATACGAACACCGGCCTCGGATTGAACCAGAGGGGGGGGGGGAGGGGGGGGGGTGTGGTAAAAAAAGAGAAATACTCTGAAATTCAATCTAGAAGTAGAAAGAAAACAAAGCGAAAAATTGGACATTCGTCCGGCTAAAAAATCTCATGGAAAACAAAATCTACTCCGTTCGATTTGTGAGCATTTTCATCCTATCTCTCTCACAAACCCGACTAAGGAAACGATAAAGCCTGGGCCCATCCCCAAAGTGTGCTCTCATGCTCTGGAGCGTTCTAGACTGTCTGTAGAGCCACAACTGGCGGAATAGCACTGAAGTGATGGAGAGCCGTAGAGAGAAGAAAAAAACGATTTGGTGGCGGAGGAGATGGCTTCGGCCCTCCAAATAAACAACAATTACTCGATATCGTTTCCTCTGTGATGGTGTTCTCTTCAATGTTTACTGTACGATATTGAACAGGAAATTAAATTGAGGTACACTCTGAATACATATACACAATAAATAAATACAAAAACTATAGTTTCCGCACAAAAAATTCAAAAAAAAAACGATTTTTTTTGTCCGAGAGGAGTATATGGCCTAGAAAAATAAAACTCGCCGATGCCTCTTTGGTCTGATGAAACTTTAAAAAATTATGGCCGAATTTTAGATTTCTCAGGCCAATATTGATACGTTTGTCGATAAGTACCATAAATTAGTCGGTTTTTCACGGGATTCTTCATTCCTCATGCTCATATTTTTCCTCCATTGGCAATCTCCTGCTGGACAACGCGTGGGAAATCGTGTGCCCTACACGGGCAAATACATTTTGTTTTACAAAGCAAACCGTGCCGCGACGCGACACGCAACGAGCCGTAAATCTACCCCAGATATGGCCGAGCTATGCCCTAACCTGTCAAAATCTTCCACTTCAAAAGATGAGGGAAGCCATAGAAGCTCCGCGTGTTGTTTCTGAAAAAAAAACCCGCCTAAAGTTGATTTAAATTATCGTTTCTTTGGAAATAATAAAATCGATGAATTTGTCGATATTGATAAATTTCCGATAAAAAAAAAATTACTTAAAAGAGGAAAAAAAATTCTCTTTTAGTACCAACAAATACGCCCATTGGACTAACCAAATCGTTCTTTCAATCTTTGTTTAAATCTTTGTGCGTCTATAATTGTCGCTTCGGAAAACTACACAAAATCACACACACACACAAGGAGAAGAAAAGAAAAAACGTGTTCCATGACCTGCCATCTGGGCTGATCGATCTGTGAATTGGGGAAAATTGAGGTATACTGGTTTTTTATCGGGAAGATTTTTTCGGAAGGATTGAGATGAAAGTTCGAAAGGTAATTCGCAAAGTTGAGATTTGAAAAATTCGAAAAAAAGACAATCTCAATTCTGCTGTAACCCCCAATTTTGCGTCATGGCCCAGAGTATGCAGCGTGCCCTAGAAATTACTAACGTGGCCTACAAAGATCACGGCGGTATCTATGATTTTCTATGTGCGTGACCTAGAATATACAAGACCTAGATTGATTGCGTAGAACATCTCCCAGTATATCCTAGCAGTCTTAAGTGGCAGTTTCTCAGTTAGTACGCCCAAGAATTCTCACGTCAGCATGACCTAGGATGTTAAAGCGTGGCCTACGAATTTTCAGTGTCTTCTAGGATATTCCAGTCTAAAAATTGGTTCAGTGAGGCCTGAAATCATCGCGTGTCCTAGAATGTTTAATTGCAAAAAAAAGATTTGAAAACTAGTATTTCCCTAGAATTCAGTCTGAGCATTATTTTTAATCTAGTTTTAAGGAAAAAATCAAAATAATAAACATTTTTTGATTAATGTCTCCGATCTACAGATGGGTGCAAGAAAGAATGCAACATTGTGATTGCTCGGTGGAGCATGACGATAAAAGAAAGAGACAGGTCCCTCACCTCCCCAGTGGTCGAAACAATTATAAATTGGACAAACGGAGAAGGGGTCGGGCAGACACAAGAGAGAGAGTACGTGAAGAGGGTGTCCAGGAAAAATGGGATGAGGGCAAATCTAGTTCAAAGATGAGCACTTTTCAGGATCTTTGATTCTGAGAAAATCAGATTTTGAACAAAAAGAATAGTTCATAATTTAATGGCATACATAGAAATATTTTCAGATTGTTCTTCAAAGAAAAATATTTTTATGGGACATCAAAGTTTATTTATTGCATTCTTCCAAAACAGTGGCCGGTCTGGACAGTTCGAATTTTTGTTAAATGCGAGGAGGTGTGCGCCTTTAAAGAGTACTGTAATCATTTCCAACTTTCGTTTTAATATTTACTTGTGGGAAAACATTAATGCTTAACGAAAAATGACAGTACTCTTTAAAAGAGCACATCTTCTCGCTTGTGACAAGCATTTTCGCGTCTCGGTGACAACTTTTAAGTTAAAGGCACAATGATAGAACTTTTCTGAAGAATTTAATTTATTTTTAAGTTAATTGCTACTGGGCTGTATCCTTTTTCAAGTCGCACGAGAGCCAAACTGTAGCAAATCTTAAGAAAAAAAGTCGACAAAACGTGCCGAAATTAGTAAACTTGAGAGCTTTAAAACTCTATTATCAGTTCTTCGCCAACAAAAAGAGTACCGTATCAGAAACGACCTTCGACTTTTTTGGCTCTCCTGCAACTACGGACATGAATTAGTTCTTATTGACAGTTTTCAAGTTTTTTTTTGGGAGTTTTATTTATTGTGCATTTAAAAAATCGTACTTTTAAGTTTGATGCGTGGCCTAGAATTTGCCCGTGTGAGCATCTCTCCACGGTAGCCAAGAAATTTTCTACCGTGGCCTAAAAACTGCCAGTGTAGAAATACTTTATTGTGGCCTAAATTTTCCAATGGTCCTGTTCTTTTTATAGTTCGAATGCACTTGACTTTTCGTTCGACCTGGAAGCGTAAAGAGTGGTGGCCTAGAAAACGATTCATGAGCAGAGTATTGAAAAAAAAACGAAATTTCGAGCAACAAGCGAACAAAAATCGTCTGTCGATAGAGTCTTTCGAATACTGGGGATGCAAATCAGCAATTCATTCTAAAAAAACTTTTGTGATAAGAAATCAAACTGATAAGCCAGTGTAAAGTCACGTAAAGAGGATTGAAAATAGCATTTCAGGTCGGGGTACGGTAGGGTTTTTGTAGAAATCTTAATGCAACATTTCAATGGGCAACGAGTTCGTGGCCTAGAAAAATCATGTCTGAAAAATTTGCAAATGCGCTCCGGTAGCCCGGATTGGTTAAAAATTTTCAATGCCTATTTGAAGTGGCGGCCTAGAATATACCAAATAATGGTCTAGTACTCAAATTGGCGGCATAGAAATCAACCTAATGAGCTAGAGAATCTTGTAGGCAGCTTTGATCACCTATGATAGGCGGAGGTGATAGGTAAAATTGTAGACAAAGGTAAGTTGAACATAGGCGTAGTCGTTTGCAGGCATACATAGGTCATTTATTAGGCAGATGAGGCCTGATTGTACAGTGCCGTCCAAAAATATATCCTATCTTTGACTTTCGATAAATTTACAAATTGCGTTTTCAAACGAGCACAACTTTAATACTAGAAATGTTATCGGAAAAAGTTCAACTCATGTATGTATTGCCCATCATTACGTCTACTCGTATTCAATTGTTTGTTGTTCAGGCTACCTACTGTCACGGTCCGACATCAAATACAGCGGCCGACATCTCGTAAGCCCGTTTTTGACAGCCCACGTTTACTGATTCGGCCGTATCTCGAAAACTTATTTTTTTCTGAAAATGTTAAAGTGAAATAGTTTTCATATTATTTGTTATCATTTGTGTTTATTCACTTTGTTCTGAAAAATCCAGTAAAAGTTATGGGAGTGCAAACTTGTCGCTCACTGCAGCTTAAACAATCAAAAATCAGGTTACTTAACTATAGTTAGTTCTAATTTTTTTTTTGTAGAGCATTTTTTAGAAATAACACATGTAAAATCACATTGAGCGAGCTATATTCAAACACGATGATTCAGGAAAAAATTCATTGGTGGCGAGAAATGTTCACGGCGTAACACTATTCAAGTTTGATCTCTCATAACTCTTTTTCTGGATTTTTCAGAACGAAATGAATAGACATAATGACAAGTAGAAAACTATTTTAACAACACCTCGAAAAAAAAATCGCTCCTCGACATACGGCCGAATCACTGAGTCGTTGTCAAAAACGGGCTCACGAGATGTCGGCCGCTGGATTATTTGTCGTGGCACTGGTAAAAAACTTAAAAAATTGAATACAAGTAGACGGAGTTATGGGCAATACTTCATCTGTTAGCGAACTTTTTTCACAGGATATTTCTAGTTTTAAAGTTGTGCTCGTTTGGAAAAGTTGTAGCAAGTTATCAAAAATCGAAGATGGCATATGTTTTGGCCGGTCCTGTAGGTTAAATAATCTCGTTATCAGGTGTAGCATGAATCAAAGCCATGTAGGCGGGCGTAGGTATCTTCTAGCCGAGTAGGCGTGTTACCTAAGGAGTCAAATGCAGACGTAAGTAATCATAAATAATTCACACTTTGTGCGCAGGCGTAGCTCACCTTGTTAGACAATCATAGTTAGCTTTTAAGTAGGGTTAGGACACCTATTATAGGCAGGTTTAATTCCTCTTATATGTGTGCGTAGAACACGATATAGTCAGGTGTAGGTCACTTTGTAGGCAACACGTCTAGGTTCTTCTTTCGGCAGGCGAAGGTCATCTTCTGAGCAAGGTTTGCCTTGTAGAAGGGTCGATGTACGTTGCCGTAGGCAGACTAAGTTACCTTCTGGGCCTGCCTATAGTGACTAGTAAGGCAGGTGTTCGAACCAAGGGTGTCAGTGACCCGTAAAAATTACAACAACGGGACAACTGGATGTCCCGTTCCCGTCAAAATTTTGAAAACGGGACAACACGTCCCGGTCCCACGAAAACACCCAAAAAACGGGACAACGGGACCCGTTCCCGTGAAAATGCGCTCAAAAACGGGACAAAAACGAGACGTCCCGTTCCCGTAAAAATGACAAAAACGGGACACCGGGACTTCCCCTTCCCGTGAGAATGTATTTTGAAAACAACGGGACGTCCCGTTCCCGTGAAAACACCCAAATACACCCAAAAAAACCGGACAACGGGACAAAGAGACGGGACACGGGAGACACCCTGGTTGGCACCGCACTGAAGAATGCTGAAACCAACTTTTTTTTCAAAAATGGCCCTGCTCAACGAGCCGAATGCATTTTGGTCGTATAATATTGGCATACCTTTTTGCCACCGTGAGAATCATTGAACAAAATCATGCACTTTCAATTTCATTTTTCATTTCATCAAATAAAAAGATTCGGGGATTTGATATATATTGGAAAGTAATAAATGAATGGGAGATTTGTATGGATCGAGGGGGAAAAGTGCACACCCCGGGAAATGATCAATTTGGAGCAGGCAATTGAAGGAGCTGGAGCAGGAGGCTACACTAACCACCCCTTCACAGCTAAACACATGGCTAATAAAATTGAATATTTGAAGTGAACTACTAGTGATAAGCGGTGAAACGGGGTATGTGGCCCTCATTTTTTTTTGACACTTCGAAAACCGCATTTCTTATCACTTGTGTGCAGAAGCATTGAAGCAGGAGGCAAGTGGTGGTCTAAAAATTAGAAAAGCTCGGCCACTGCTTGCCCGATAGGAGCACACGGTCGCATACTGTTTCAACAGAAATTCGAAAAAATTGGAAAATCCCGTTGATTCCGCTGAATCCGACGATTAAAGAAATTTATCCTCGCGTTTCTGATTGCACTGAAATCGCTCAGTATTCTAGAAATTTGTTTTCTGCGAGTGTATATTGTTTTGGAAATGTTGTGTTCATGTTTTACGAAGAACAATATAATATTATGTATATTAGTTATTATATATTATTATAATAGAAATTTTACAACGTAAAAACCCCAAACTTCTAGAAGAAATTGCCTCGCGTGTCTCATTACAATAAAATCAGTTTTTTTCCTTTATTTTATATTACAATATGTATATCGATTCAGCAAAACGGGCGGGACAGAAAATTAAGAAAATGGCGAATAGTTCGTTCCCGCGGAAGTAAATTTCCCCGAATTGGGGAGAAAAAATTCGAATTTTTACTGGATTTGTCTCAAGCTTTTGAATCTAGAAACAGTTTCTCTCTAGTAGAATCTCTTTAAAAAATTTTCGTTGCACCAAAAAGTCACTTTTCCTACTGAATGCGAATTAAAACATTCCGCCAGGAGACCACACAAAATCGAGAGACTTAGTTAGACAAGTAGTGGGAAAATAAGAGGCAACAAATCATCTCCGAAAGTTTTTTTGTGCAGAGTAGGGGAGAAGTTGCGGCGCTGAAAGACAGAGAAAGGGAGAGAGAGACAGAGAGGGTGAGAGATATAACAGAAAACCAGTATGGCGGAGGAAGAGAAGAAAAAAGTGTTAGAAATATTTGTCCGTCGACGCCTTCTTCGTCTTCGTCCTTCATAAATGAAACCATGAATTTTCCTCAGATATTGCCTTACTATTAAATGGGGCCCACGGGGGGCGAAAGGGTGTGGCCGGCCGATCCAAAACGGTGGCCTAGCAAAATATCGGCGGTGGCTCACGGTATCAAACAAAAAAACAAACATCGAATGACCATAATTTTTAAGCTTTTCAGTTTTTGGAGTCATTTCTGATTTTTATCCCAAAAATAGAGCTCTGTGCTATTTTTATGCAGAATCAGCTGGCTAAACTTGGTTTTCGGAATTTGTGCGAGTCTTAGAGATTCCCGACACAGCATCGAGTTTTACTGGAGAACACGTAGCGAGCACAGAAAAGGAAGGAAACAAGAATTGGCTCCGCGAGCAACCAAGCAGCCGTTCAAGAACAAACTGACCGAGCAAAGAACAGCGCGATAGGGCTCATGTATATCTTCTAAAAATAATGGATACTGGATAGAGAGATGAGAGACAGCAGCAGATGGTCAAATGACGACAAGCCACTTTCGAAGATTATTTGGTTTATTCATGCGTGTCTTTTTTTTTCTTGCAAGAAAAAATGATCATTAGCCGAAAATTAAATATTGGTTGTCCGAAGTACAGAAATGAAAATAAATCGTCCGCAAGGAGTACAAAATTCAAAATGGCTATTATCAAAGAGAAGGACACAATTCAAAAGTGTATATTGTCCGAGCAGGAGTACAAGATCCAAAAAATGAATTGTCCGAGAGGAGTAAAAATTCAAACCACAAAAATCCTGAGAATTTCAAGAAAGGGGCGGAGCCTGATTCGAGTGGACTGTCGTTGCAAAACGCAAAACTTCAAAAACATACCGTTTTCAAAATCTACCTCGCCGACCTACCGTAACCCTCTAAAATTTCTCTAGGATCAAATATCATCGCAAGAAGTGTTCGTTCGAAACGAAAAACGTATTTCTGACGCCTCATCACTCATCTTATCAGTAACAAACCTGAGAGAGACGGAAACAAAGTTCCGAACTATATTTTGAACCGAACAGGGATCCTGCAAATCACGTAATGGACAAAATGCATTGCTATGCAGCAAGACGCAATTGCATTCTTCAGCCAGAATATCGATTTTTACTACGTACGTATAGTGATAAAAAAAATAGATGCTGAGTTACGATCTTTAATTCGCCGGATGTGCGAGGTTTGCATTTTTTTTAGCCTTTCGAATTGTCGTGCAGAAAAACCCGTAAGCATGATTTTTCTCAGTAAAAATTTCTTGCGCCAAAATTGTCTTCTATTTTTTTCGCGAAAAATCAAAAATCTCCAAAACTTCGGTGGAGCGCACTTTCTGGACCACAATAAGCGAAACATCTCTTTCTGCGGTTTTCAAAAAATAAACGAACAAACATCAACAAGAAACGAGAGAGAGGTTTTGTTGCCTTAAAAAAATGGATATCGAATTTCTGTGCTCCATTTCCCTCTCCGAGAAATGGCGCGGGGAACGTGCAAACAGTGCGAGTATGTCTAATGGCTCTCACGTAGATCGAGAATCTCGAGTGGAAACTTTGCTAGTATAGACAGTTGAAGGAGGCCGGAGTCTTTTATTCTATTGGGGAACCGAGAAAATTTGTTTATGTCTGGCCGTGGAGCGTAGTTAATGTAATTTTTTTGCATTAAACGTGCTCCATCGAACAAGTAAAAAAATATGCATACTAGTATGTACCTTAAAATAGTTGTAACACGAATTGCCTGTGGAAATAAAAATCACGGCAAGTTCTCTCCATAGGATCAATGTAGGGAATTTTGCTGTTTATAATGCAAACGTCGAAGTCTCTAAAAAGCTACAATTTTCGATCGGTATCGTTCATGCATTTCGACTGATTTTCGTTATTTTTTATTGGAGTACGCTCGTTCTATCGAAACACGGGGCCCGAGAAAATATTATATCCAAAATCTAGAGAGGTTGTCTTGCGCTTAGCCGAAGTGAAGATTAAAATTGTTCAGCCTGCGTTGCCCGACGACTTTTTGTAAAACTTGGCCACCAACTTTTTTACGAGGCTGCGGCTACATCGCATTTGGGTGACTTTATATGTGTTCAGGGTGTCCAAACATGCACCCAAAAGAGAGTGTCATTTTTAACGCACGAAACAGCAATCTCAAACGGGGCGACAAAAAATGAGAGAGAGAGAAAGACGGGCGCAATCTAATGTTTTATCAGTGTTCTCTTCTTCTCCTCCGACCTCGTTTGCATCCCCCTAATTAATCATTCGTTGGTTTGTAATACAGAGAGAGGGAAATAGTGAGTGTGAGGGAAAATTGGAGATTGAGAGAGTTAGAAATAGAGAGTGAGAACTTCAAGTCACTTTTTAGCCGTTTTAAAAAGTTTTGGTCGATGATTTTGACATTTGATAAACCTGAATGAGAGATGATGCTTAGATAAATGAAAATTGAGATGATAATTATACATGACTTCACTTAGAGCGATGTTGTTTCACGTGCAAATTGGTGATTCGTCGAGAAGTTGTGACTGTTCGTGTCGGGAAAATTTCACTAGCTGTGAGCGCCCTTTTTAAAATGTAAAGTAGCATAATTTATTTTCAGAAAATTTAGCGTTGGAAAAATAAGTAGTGCGCAACATATTTGACTCCCAAAACGTTTTGTAGCGAAAACTACAGTAACTCTTTAAACAATACTGGTTTGGTTCTGGTGTCGCGGGCTGCCAAAATTCGAAAGTAAATTCATTAATAATCGAACCAGTAAATCGAGCGCTGCAGATGACAGTGGAGGAATTAATGTTGTTTTCGCTACTAGATATGCGTCAAACATGTTGCGCAGGACACATTCTCAGAATTTTGTGTTCCCGTGATATAACAATTCATTTTTCTGTCCCATATAACCTCTTTCAATTATAAGAAACCATTTGCAGCGAAACACAAACAATTTAGCCGATTTCTATTTCACCTATAAAATTCGCGTCAATGGCCCGCGCTGTCGAGATCATAAAACCATATGTTATGCAAATGGCGTAAAATTCAACGGTGGCCGCCCGCATGGTCATTGATCGTTATAAGCAGAATGGAGGAGGGTACGGGGAGCATCACTTTCCTGAAATGAGCCCGCGAGAGATTAGAGAATTAGAGAAATGAGAGATCAATGAGAGGGTGAAAGGTATGAAAATAAGAAAGGGATGTAAATGAACACGGATGGAAATAGATGGAATAATGAAGTGCGCAATCGATGCACCATCTCAGATTTTTCGGTTTTCGCGGCAGATAGTTGAGGAATTACATTTTTCGGGCTCCATCGATAATGCCCTGCCGGACAGCGCGTTATGTGAGTCTCCACAGGGGCAAATACCTTTAGTTTTACAATGCGAAACCCGAGCTGCGACAACGCGCCGTAAATCGCCCCCAGCCGTGACCGAAAATGGCCTAATTCGTCAAACTTTTACATTCCAAAATATCAGGGAAACCAGGTGCGCGTTTCCTGTTGTCCGAAAAAAGATTACAACAAAAGAGAAGAAATGGAGCATTTGCGCGCCATACACTTTGAGACAATTTCATTTTCCACATCCTATATATATTTTCGTTTTTCTGTCGTATTTTGTTGACTTTTAATTTATTGGTATTTCGACCGATTCAAAAATAATTATTTTGACTGTATTTTGCATACATGTAGAACTGGTGTTTTTTAAGATATTCGGCCCATTCAAGTTTTTCAGTGTATAATTGATATATGATTTCATTCCGAACTGAAAATTATATCGAAACGATGGAAAACCTCGGATATTAATACTGATTATAGTGGCAAGAAGAGAGGAATCGGAAAGTTCGTATGGATCAAGTTCACCGATTCTCGAAACACAGTCATCTGGCCGAAACTTGACGAAGTTACTGAGGATGAATATTCTAATTCGAGCAGTAATGAAACTAGCGACGAAGAGGAAAACCTCATACAAGAAGTACCAAAAGTCTTAGCTATAACAGAGAGGTAAGAATTGTGTCTTCTAGTGACTTTTCGCCAGATTCTCTAATATAATATATTTTGTTGTAGAGAGAAGAAAAGTTAACGGAAAACGAGACGAATTCGTTTTAACGGTAATCCTTGAAGTACAAACTAGCAATACTAAAAAATGCGTGAACGAGATCTTATTTTCAATATAATCATGGGCAAAACGATGAAATTATGAAAAGTCTCTTATTGGATACCGATGGAACTATGACTGCAGCAACAAGGCTTGTTCGGAATGTGCCTACGATTGGAATCAGTGCCAAGTTACTCTCTGGACTGGATTTATTAAAAATAATATGAGCTGCACGTGGCACTGCAAAAAACCGCTTCGCTTCAACAATGCTTCTTGTGGTTGGTTTGCTTTTCAAAAAATAGTTCACTGTTTCAGAGGTTCAACCAAGTCGCTTCTTCATGTTGAAAATGCGGTGCCCACCCGGACCATGTAATCGCTCTTCCGGAAACACATTGGCGACCGATTTTGTTGGTCCACCTCTAGTTCTGTGCGAGAACAGTGATACAACTAGTATTTTCAGGACAAAGGCTCGACTGACTGCGGAAGCTCCCGCATCTGAGGAGAATCTCAAATCAGGATTCCATTCCAAAGCGACAACTCGAACGCTTTCCAAAGATCGCATCAGAACGATCCACAACGTTCATCAGCCGAAGAACATGCGGAGCCAGATATCGTGGTGGATGGCTGAGTACGCAGCTCGAATGCCTTAAGGCGAAACAATTGGTTTTTTAATTAAGCTTGCTGGTCATGTTAATTTTGAACGTGTTAGTTCACATTGTTTTTTTTTTTAAATGTGTGTTGTTCTAATAAATTTGATTAATCACACGTTTTCTAGTCTACTACGTGCGTCACGAGATATCAGTGGTTTCTTCTTATCAGAAGCTGAATCATTTCCGGTTGTCAATGTTTGTAGGTCAAAAGAAAGGCTGTGTGATTTCGACCATTGATTTGTTTATATGGATAAGTTCCTGCCTTTTGGAAGGGCAGTATTCCCGGTATATATGGGCCTAATACGGAATCGAAAATAACCTGACACAAACCTGACGTTGCCTGTTGCCGGCGGCGGCTTAGTAACTTGACAGCGGGTCGCGATTTCACCTGCCTGTTCTCCATTCTGCAGCGAGCGACCTGCTGGCAGGTTGCCACTAAGCTGACGCGGTTTACCTGTGTTATGGCGCGTGCTCAGTCGTTTCAGGAAACTAGTAGCATCAGAAGATCGGGGTTCGGGAAACTGCCATCCGGGGCTTGAAGGTTCTATGAAACAGGGCGAATGACAAGGAGAGGCAATAAACAAGTAGTAGGCGTCCTCTAGAAAACATTTTTGTCTTTAATACGCGTTTCCTACTGATGCCTTATTTATTGATATTTGGATCCCCTTTTCTAGAATAAAAAATCAGAATCAGCAGAAAAATTTGAGAAAAAGTCATCGCCACTCAGAGTTGGTCGGAGTAAATCAGAGATAGGCATAGTAAATCATAGCTAGTCAGAGAATATCAGAGTTAATCCGGGTAATAAGTAACCTAGTCATAGCATATCAGAGCTAGGCATAGTCAAGCGTGGTTACTCCCAGTAAAACCACACTTGCACCGAACTGCGGCTAGTGTGCTTTACCTGTAACTCCGCTTTTTACTCTGAGTTAGTATGATATGATTTGTCTGAGCTGTGGTTGGGCTTCGCGGAACTTGAATAATTCGAGACAAAATCTAAAAATTTTAGCGAATTTTGTTTAATTTATTTGAGGTTCTACGACAGAACTCGAAAAATTTCGGGTTTTAATGTTTACACATTTTATAAATTTAAAATTGAATACTCAACTGTGGGACTCCTCGAAAATCACATGCTCATTTAAATTTTGAAGTTCGAACCTCAAAAAACGCGCAAAAACCAAATTCAGCTAGGATATCAAATTTATGATTGAACCCACATCTATATTTTGATGCGGTTTATAGTTTCTGAAGTTTTCGCGATAAAATCCGAATAATAATTACCCGTACCGTATATTCTCAATCTAATTCCCAGGTCATTTTTTCATGCAGCACTATGAGAGACTGTCGTTACTACTGGACAAAAGAGCATTAATTTTCGAACGGCTACTTTTAATTAAAGATCACTAGTATTTAGTCACAAAAGCTATTTTTTAAGCAGAAATTCATAAAAATGTTTTCAATAGCGAACTTTTGTAACCAAAAGACCCAGTAAAACGATTCAATTACTTTCGTCAATTATCAAAAAATCATCAAAAATATACAAAAAAATACCAAAAAATATTGAAACTTTCAAGTGACTCTTTCAATAGAAAATGGGGAGCACTAATACTGCTGATTTTTCGGACCCTTTTTGAATGCAGCACTATTAGAGACTGCAGGATTTACTACTGGAGTGATGCTGCACTAATAGAGAATATACGGTATATAATATATTCTTGCAGAAAAAAGTACGATTATCAATGAAAATTAGCTGATAAGAGGCTTTTGTTTGAACTAAGACGACGGAACGCCTCTAGTTCAAAAAATTCTAAAACCACGTTGTGTCAGGCATGTCTCATTGCGGTTTGATCTACGAAAAATGCGGGAATATTTTTCCAGAAGAATTGACGTCAGCACGCTCTTAACCATGCGAACCGCAGATGAGATGTCTGCGTCTCTTTTCCCGCATTTTAAGTTCAAAAGGGACTTTCTGACACCACGTGTAAAAAGGGGTTACGACGGACCCTGGCCTAGAATTAGGCGTGAAAATGCTCTGGCACTGATGTAGTGAACCGCGATGCAAAATTGGGGGCCGAAAATTAGGCTTTCCTTGCGAGAACGATTACTTAAAAATGTTTTCCTTTGTCGAAAATTTAAAAAACACACCACATGTATTCATCTCGACCAACGCCTCGTAAATGTTTTCAAAAAAGGCGGGTAAAATTAGTTGAATTCGCCAAGAGGAAATTCACCGCTGTTGAGCGCGTGCAAAAATTTCAGCACTTGCTGACGGTGTTTCCACAAATTACACCGATTAGTGGGGCAGAAAACACGTGCACACTCTTTCAATAAAACTAGAAAATAAATCCCAGGCCTGCATATATTGCACAAACCGTAATCCCCTTCGCGCTAAACAACACGCGCAACGATGCTCCGCTTGGGAAGGAAAAATTAATTTAACTCGGGCTTTTCATTAAACAATTTTTACATCGTTAATTTTTCGATGTTTTCACTGCGAAAAAGTGTTAAAATAACGATTTTTAAACCTATCTTCAATGAATCCGTGCAAAAAATCGCGATTTCTCGAGTTTTGAAAGAAATTTATGAAACAATCGGCATTTTTAATAATGGTTTGAAATAAAAATCTAAATTTTTTTTCGGTGCAGAAAAGTCGTTGCTCGCACAGTTTTTTTAAAGCATTTTCACATCAAACTCCGCCTTTTTTCCAGTAAATCGATCTAATATGTAGGGAGTGCGAGACAAAGCTGAGCGACGGCGCAAGCGGCTGGCTTCGCCGAGTATCCCGACAGATATCGATCCAAAAGACAGACTACTCGCCATATATCTTCCAGGCGATTTGGGCGCTTTCCAGTTGTACGGTAAATTTTCCGACTTTCAAGGTAGAAAAGTGTAGAAAAATCGAACTTACTTCTTAAAACTCGAAAAAATCGAATTCTTTCAGGATTCGGCAACTAGACGAGCTCCTAACCGACAATGTTGAAATACTGGCCAGGGGCCGCAGCCGCACACGATTCTTCTAGAATTCCAGAAAAGACCGACGTGGCTATGATGATGTTCTATTTGGATTTAAACGACGAGTCTTATACACCGTCAAAGCGCAATTTTTGGCTTTTTCAAACGAAAAAATACAATAAACCCTGAATATCCAGTTTGTTTCTCAATTTTTGCCTAAAAAACGGCTTTTTCACTCGCTTATCATTTACAATTTGAACAACAAGTTTTTTAAAGGATAAACATGAATTTCTAGCTTTTTCAGAGGTTTTCGATTAAAAAATAGAGATTTTTGTGATATCGGACGGATAAATTACCAAAGCTTGCTGTCGATTTTTTTAAATATTTTTTACTTAAAAATCTGCAATTTTTTTTTTCGAGGAAACATGTGAATTTCAAGCTTCAGAGATTTTCTATGAAAAAGGTTCGTGCCGAGACCCATGTGCTTTAAACTTCAGAATTTTCCCAATTTGAAATTAAAAAGAGAATGAAAATTGTCATGGAAAAATGCGTTTTTGGCCCAAAACCTCCAAAACTTCGAGTACAAATATAGGTCGAGTTTCAACTGTTTTCGATCAATTTTTTTGCAGAATTCAAGTAAAAATGGGTTAGCACCATCTCACGATATATTTTTCCGTCAAACACAAACATTTAACGAGCCCCAGGGATGGACAATTATCGATTTACGCGAGAAAAATGGGAAACCGAATTGCGTTTTTTGGCTTCAAGTATTATTCAGAATGATCAAAATGGCAGAGATGCTCATATAACGTAGACGAATTGAGAATTTCAGAACGAAAATTGCCGAAAAAATAGAAATTTTAGCGAATTTGAGTCGGAAATTTCGAAATGATTGACATTTTTAAGCAAATTTCCAACTAAAATCTAATATGCAAATTTGATCTGTTTATATTTTTCTTTAATTGTTCTAAAAACCTTAATAAACAATTAAAAATTGAAGTAAAATTAATTTTTTAACTTTGAAAGGATTTTTTGATTGAAAATTTTCACAATTTATTTTGTGGTGGGGCTAATTAAAATCGTTGTTTTTTTTTTCAAAAAAGTTAAAAAAACTTTAGTCAGAAATTGCCTTGTAAAATATGTTTTTTCTCTAGACCTCGTAGTCACGAGGACGCGTAGGTCGCCTCGCAAATTTGAAAAACTCAAGAAAAATCAATAAATTTGTGATTAATCAAGAAAAAAAATTTAATTTCCTGGTCTCAGACACGAATGCTTCGAAAAAAAAAAAGAGGCGAGCCTACGCTAATATAGTTGACCACGCCCACAAAATGGGCAAATCAAGTTTGGCACAATCTTTCAAAAAATCGAAACAAAAATTTTTCCAATTTTGTGAGATTTTACGAAAATTTCCGTTGGAAAATCGAAAAAAAATATTCTCGTTTTTTATTTTTCAAAAAAAAATGTGCCTAAAATTCATAAAATAAATCAATACTTTCTCAAAATTTCAACAGTCCATCTTCCAGGCACGTTCAAGAGTCCTTGGACCCCATCAGGCGATGTCTCCACGAACGAATCGAATATTCACGGGAGAACCACACGGACCGATTCCCGATAAAAATATCAATTTCGACGGCTAGGATTTTGCCAATTTTATCGATCACTCACTTCTTCACTTCGTTACATTTATCCGCCTCCAGTGATTCCAGATAATGAGCCAGTTTTGCATTGAAATTTAGTGCGAAAGGCCATATAGAGCATGATTTAACATAAAATTTCGAATTGATAAACAATGGAAAAACATGGTGCTATGATGCTTTTTTAACACTTTTAATTGTTCCAATTTGAGAAGTAAAATTTTCAGCTGATAAATCAACTGATTTTCTATATACCTCTGCCACTAAAGCTTAAAAACTTGCCCCAGTGCTGTCCTAACCTTCAAATAGCTGGCAAGTCTATTTATTATTCTTGTTTCATACTATTGAGATTGCTTCGCGAGACCCCAACCCATTTACCTGTAGTTAAATATACGAATAATTATTTATATATTTTCTTTAAATTTCCTTAGTATACTATTTTTCTGATCTCTCTTCAAAAAACGCTAGAAAAAATAAACAAATGTCGGTTTAAAAATGCCCGGTAATTTACCTTCTATAGTTTTTCGAAAAAAAAACCGATGAAATTCAGATGGAAATTCCCGATCCCGAACTGCCGGGAACACCGGTTGGTCCGCAAGATTTGGAGATTCTAGACACGCCCGGTTATACGAGAAGCTTAGTGCGTTTCGTGTCGGGACCCGGAAATTTGACATTTTTGGCGCGCGGCTTATTAGAATAACTCCAAACCTTGTCAAAGATGTTTTTTTCGAATTAAATAACATTCGTGCTTGGGCTCGGATATTCACAGAAATTTTGATTTGGAAACAATTTTTTTTGAGGCCAAAATTTTCAAAGTTTGTCTTGTTGGCGCGTGGACTAGTAGGAACCGCCCCTTCTAAATTATCCCTGTATTGAGCAAGTTTTCTGACATTGATTTCAAAATTTTTTTTTAGAAATTTCTGGTTTATTTTTTCCGGTTTTTTTCCGAGTTGCTGTTTAAGTTTGGAGAAATTTCAGAATTTGTCAATTTTAGGTGCGTGGCAATCTTTTTTCAGTAACTTTTTTTTTATTTGAAAAATTGAAACTTTCGCGATGCGGTTCAAGTAAAGCCACAAAAACTCAATGATTTTTTCACAAAAATTTCAAATTTCTTGCAAGACCTACTGCAACTTCGATTTTTAGAAAACTTTATGCTTAAGAAAAAAAACAGCGCGAATTTTCTGATTTAGCCCGACCCGCCCCAAAAATGGAAAGATTTCCGAAAATTCGAACCAAAAGTTCGCAGAAACTTGAATTTCTCTCACACAGAACGCGCTAATTTGAATTTTTCCAAAAATAAGCAAGCGCCCGCCCCAAAAATGCACAAATAAAAATTTTGAACCAAATAAATACAATTTCGCTTTTTTCCGTTTTCGAACAAAAAATTCTAAGTAAATCTATGGTTCTCAGGGCCCAGGCACCCATCTACCTACTTAAAAAAGCGTTAAATTTCAGGAATTAGCATCAACCGAACGCGCGTCTCGCAGATTGTGTAGTCTCTATTTGGGCGGAGATCTCGAAAAAAATCTATCGCTGCGATCAGAGATCCGAAAAATCCGTGATTGAAGTCACGATTCTGTTGGAATGGGAACACGGACCAATTCAAGCGGCGAAAGTAGTGTAACAGTGCTGAAACCTATTTCGGAAAAATCAAAAGTTGGTCTCTTTTTAGCAAAAAAAAATCGATAAATCGATGAAAACCGACAACTTGGAGAATTTTCATTTATCTCAAATTTGAGTCCCTCAGCGCCATATTGTGTACTGTAGGTGCTCGAATGTTGAATTTCAAAAATTGAGAACTAAAGACATCAATGTCGTGACGAGACAATGTTTTGAAAATTTTGAATTTCAATGTAAAAAATTGGGAACTTCCCTCCAAAAGGTAAATTGGTTTAGTCACAAACTCTGAAATTTTGAAATAAAATTTTTTTCGGCTAAAAATAAGTATTTTACTTTAAAAACTATTTTGAAGAAAAAAAGTTGGGTCTCGCCACGTTGTATCTTGTATATGTGTATCTAAATTGCCATGTTGTCGAGACCCTCTCCTATTTTACACTTCAACTTGTTCCTCACGAGGGACGAGGAACAGTGGTTTCTAGGCCATGGCCGAGGGGTTTCCGACAAGTTTCATCGGCCATTTATCTTGCTTTGTTTTCCGCCTGTTTTCTTTCGTTCTTTTTCCCATTTTTCCTTAGTAAAAAAATAAATATTTTTGCAGATGCCAAACGATTTTCAAGTAAAAAAATCATGTATTCAGTGGGCAAGCAGCGGTATGAAAGTTAGGGCATTGTTGATGTATTATCTTACGGGAATACAAAACCTAAACTTTTGCTGAAACATGATACATATGATGCTTAAACTGACTACCTGATCTTCTTAACGAGACCGCTGAAAAAGTTTTGAGGTTTTCAAAATTCAACTTTTTGTGCGAAAATCTCGACTTTTTCACCGAAGTTGAATGGAAACCTCAAAACTTTTTCAGCGGTCTTGATATGAAAATCAGGCCACTAGCTTCAGCATCTAAGCATCATATGTAGCATCATGTTAAAGAGAAAGTTGTTTTGTATCGTTCCTGTAATCTGTGGCATCATATTACATTGCCCACTTTCACCGCTACTGCCTGCCCACTTAATACATAATTTTTTCACTTGGAAATTGTTTTAGCATCGCAAAAAATATTATGTGTATTTATCAGTTTTATTAAGAAAAAACGAAAAAAATCAGTGAAAAACGAAAGAAGACAGGCGGAGAACAATACAAGTGTGGATAAATGGACTCTGGAACTTATGCTCGGCCCATCCGCCATGGCCTGAAACCACCTTTTCCTTCGCCTCGTAAGGAAAAAGTTGCAGTGACACTTTTACTCAAATAAAAAAACAAAAACCGATAATTTCACCATTTATCAGGCACATCTCTTCCTCACACCGGACCTTAGTGCTTAAAACGAGGCCAGTTCTTCCACAGCGAGCCGACGAGATTCATCGGTCTCCAGCACATGAAATTATACATTTTTGCTGACAATGTATTGATTAGTGGGTTAGTTTTTAGTTGTTTGCATGGGTCAGACTACAAACGAAAACCCTAATTTCAGAGCAAATTTGACGGATTCTTATTTTACTAATCGAACGGAGCGATATTACGTTCTATTCAGAAAGTGCAAACCATTGGCAGATTTCTTCCACGCAATTATCAACATAAGCGTTGTTGGTGAGTTGGCGATTGCGCTCCACCGACACTGGTCAGCTCGCTTGAACTGATAACTTTATCTAAAAAATTGCAATAATTGTTTTAATTTGGCTTCAAAAAACCATCAGTAGATGTAATAAAATTCTTCTCAAAGCAAAAAATTAGATACTTTCTAAAAAAATTGAATCTCCCGCGAAAATAATTTTTTGAGAAAATTTGAATTTTTCACCTAAATATTTTTTTCAAGATTTTTTACCACAAAATGAGGCGGGGCCTCGGTATACACGCTCAAAAAATCAAGGGAAAACTTAAAATACTTGTAAATTTGACTACCAGCTATTTTTTGCGAAACAAAAATCGAAAGTAGCACTTTTCGAAAAATTCTCGACAAAAATGAAAAATGGGGGGGCGATCTGTGTGCGGCGGTATTCGGCGGCATATGCCGATGCCGGTTTTTGGAGCCCGTCATATGCCGTTATGCCGATTTGAAGATTCACGGCATATGCCGAAAAAGCCGTTATGCCGAAAAATCCCCCGATGAATGCCGCACATGTCTGGGCGGGACTTCAAAAACCACGCCCACAACAGAGAACAAAAATTTGGAGTGACGGTTTGCAATTCCCTCGCGCTTTTTCTTGTTTTTTTTCAACAAGATGAAAAAGCGCTCTACTGACACATTTTTTTTCTAATATTTTCATTATAAATCCAATTTTCAGCCGACTCGAGCTTTTCATTGTCGAAATTGAGCAAAACTGGTGCCGAGACAATGTGATGTGCACACATATTTAGGTAATCTGAAAGGATGGGTAACCTGAAATTTTTCCAAAAAAATTTAACGCTTCGTTCGTCTCATCTCTACCGATGCTCAAAACACGTGTGAATCGACTTAACGAAAAATACAAAGAATCGCGAAAAACGTCGTCGAATTGCATGTCTGCTCACACGTGGATTTACCCCGTTTTTCAAATGGGGCATTTGGGAATCAGGAGTTTGAATTAGTAGTTTGCAAAAACTTTTATCACTGAAAAATCCGGAGCTCAAAATGACGATGGCTGCGGGATATTTCAATTTGGCTATCGAATTCGAGATTATGAGGAATCGATTCTGAAAGAAGGAGATTAACATTTGGATATGAAATCTTACAGCTTCTCCTTTTGTATTTTTTTGGGAAAAATATCTGAAATAAGTTCAAAAATTTCAAAATAGAATTTTTTCGAAATTTTTGTACTCCTGGAAATTTTGGTTAAAAAAAGTTTTCTCGAGAAATTTGATTTCCCGCCAAATTTTTTCTGTGAAAATTTGATTTTCCAACATGTTTTCTCATAAAATTTGAATTTCCCGTCAAGATGTTTCTGAGGAAGTTTGATTTTCTCATCAAAATATTTCAAAATCATTTCCAGGCGAACGGATTCTTCGATCAAAGTGGCTTCTCGGAAATAGATTCCACCACTATATTCCAACATTTCTGATCAATTGAAAACGAGAAATCAACGGCCGATCGAGTGTGAAAACGTTCGAATAACGATAGAGAAGAATGGACATTTCATGCAAAAGGTTTTGTAACGGCAGAAAATAATAATCAATTAACGACATTAATTGGCTCATCTAATTACGGTTATCGATCGGTTCATCGAGATCTTGAAGATCAAGTGATGGTTGTTACAAGAAATCGGACACTTATCTATCGATTAACAGGAAAAGAAAAATCTATTATTCGAATATTAATCGATACTTGACATGGCTGCACTTCAACAACCGGAACATCATAATTCCACCATTAGTTCGAGTCATTTCACGTCTAATTCGGAGTTTTTTGTAGACGTTTTCCAATTCTTTATAGCGGAATAATAAGGTTTGACTTTAATAAATCTTTGTAGATTGTTACAGTTTTTTTGAAATGCAACATTTTGCCGAATTAGGCCATTTGACAATTTTTGGTCGTGTCACGGCGCGGAGTAGAAAACTAAGTATTTTGATTTGTTTTTTCGAAATATCCGAAAAACAACAAAAGGAGTTTTTTGTTGAAAAAAATGTTGCGAATTTCAGAATACGGCACTTTTCCGATTTCTGCCCCCTAGGGCTGTTATGAGGGGGACGTCCCCTATTGGGGGCCGGGGACGATCATTTGTACCCCCATGGGGGACGGGCGCTTGTCCCCGCCACGTGACGGGGAGCGCCCCTTGTCCCCGATGGAACGAAGATTCGTCCCCTTTTGAGTTCTGATTTATTTTAGATTTTCACTTCATATCTTACCGGTACAGAGAGTGTAGATAATTCGTTAGAGAGTAGACGTCCGGGACCCAATGGAGCGGGGCGCGCGGAAGAGACGATCTAGTGTCGATTTACGAAATTTTCAGCAACTCGTTGTCATCATTTCGTAAATCCACACAAATCGTCTCTTCAGCTTGGGTCCCGGATGTCTGGCACTCTAACTATCTACACTCTCTGTACCGATAATAAAATATTTTTCCGTGACTCGTTTCCATAGCTTAGACGCTGTGTGCGGGGATACCGTGGATATTCCACACAAAAAACGTGTCGCTTTAATAATTATGAAGCAAAAAATACAACAAACGCACATTCTTCACATTGGGTAAACGAGGGGGCGCGCTCCCACTTTACCCGGGCGCCCCTTTTCGGGGGGGGGGGGGGGGCGTATTACGGGAGGTTTTTTGAAAAACTTGGTAATTTTTGAAATATGTCAACTGACAGCTGTCGTTCAAGTATGTATTTCTATCATATCTCCATACAAATCATAGTTAATTCTTTAGCAATATTGGGGTCCCTCACAAAGTCCAAGTTTTCTTCTCACACGGCCGCCTTCGATTTTTTCTTAAGAGCTTCATTTGCGAAGATCAAAATACATGATCGACAAAGTTGAGTCACTTAAACATCATCATGTGTGTTCGCCTGCAAATGTTAACAAAGGACCAGGCGAATTTGCCAAGCTTTCACGTCTTCATGTCTACGTAGAAAATGCAGTCCTTGAAGAAGCCACGCAGACAGACAGGCAAGTACATAATCAGTAAATGGGCAAATAGGCAAAGCAGGCATGAAATAGGTTAGGCACGTGGGTAGGCAGGTATGAGACATACAAACATGCAGGCAGGTCTGAGAAAGCGAGAAAAGGCAGGTGAGCATGATGAAGGCACATAGGCAGGTAGGCAAGGAAGCTCCTAGACAGGTACAAAATAGATGTGCGCAAAGTAGGCTGCAAAGAAACTAAGCTCGTCCCCAGGCATGAGGTAAGCGCATAGGCTTGCAAGTAGGCGAGTAAACACGCGGGCATCAAATTGAGGCAATCAGGTATTTTTGGGCTCCATTTGGAAACACACTTACTGGATAGAAAAGAGTGGGACTCGTGTAGAATGCAAATGCTATATAAATTGGATCCGGTGCAGCACAGATTTTCTCTTTGATCTCGTTTGTTCAATCCGTAACTCCGATAATTGATTTCTCCAGTTTCACTTGTATTAATCGCTTGGAGAGGCTCTCGATGATAGAATGAAAAATACTCAGAAATTGTCGGATATGTTCTCGATTTTCAGTGAATTTCCTTAGAGAAAGCTAAAAACTCACGAACAAACGCTGCCGATCGAGTCCACCACCAGTATTGCCTACGCCCCACAAAAACCGGTCTCTCGCTGTCTGTCACTAGTTTCAACAAATACCTAATCTCCTCGGCATCTTTCGGTCCCATATGCTCCGGCCATCCGGTATAATGGTAATGAGTCCCCTCTTGAGTACGCTACTTTCTGGAAAAAAGTTTGTTGCAGGCTACCTTTTAGGCCATACTGCATGGAACAAAAATACGGACAGGCGTGGAAGGTTAGAATAGTGATGAGAAAAAATGAAAACAAACATTTAAAAAAGCAAAGAATTGACCGGTTATTATTAAAAAATAAGAATTTTTATCCGGACAATTCGAGGCAGATGTGACTGCCTACCGGCGTGCCACCGCGCCTATCTCATGCCTGCGTGCCTTTACTGACTCCCAAATATTAGCAACAATTGTGACCTAGTCTTCAACAAAGGGTTCGAGATACTCTTCGTGCAAGCGATTGTTAAGTCGCCAAAATTGGTTTTTCGTCGAGTTCAGTTGGAAAGTACCTATCACAGTTCACCGTATTAGCACCAATAAAGTTGAAAAATACGATAAATGGATTGAAAACGAAGGGTGGCTTGAAGGCAGGCAGGACCACTGCTCTGTGTAGGGCGTCTTGTAGACAAGCAGACAGGAGTGGGTCACCATGTAGGCAGAGGGAAGGGTAGGTTGGCTAGTGGGCGGGCAGGCGTAGGCTGCTGCAACACAAGCATATAGGCTCATCTATTTCCGCGAAATCCCACAACAACATCACAAATGTACTTGATTTATTCAGCTTCACTGACTCCCAAAATGCGGCAATCGCTAAAATATCGGAGCTTTTCTTATCAACAGGCTCAACTGCGGAGCAGGCATCAACACAAACTTCAAGCCGTTATCCACTTCAACAACATGTGACGATGCTGGCTGAAAATGAACGGATTTTTTGGGAGGTACCCATAATGTTGCCACTTGTCTACCTATGTGCGCTTGAGTTAAAGGTTAAACCTAAGCCTATGCCTATGAGCCTAAGCTGAGCCTAAGCTTAAGGTTAAGTGTAAGCCTAAGCGTAAACCTAAGCAATGAGGCGAAGGGTAGGCAGGCAGGCGTACCAGTCTTACCCATTCTTTTTCGAAGACTCATAGACACCGGATCACAGTGACATCCTGTAAGGCGCAAAACTGGACAAAATCGTCTCCCGTAATTTCTACTCTAGGTTATTTGGAACCTTCTCAAATACTGACAATTTTTTCTAGTAACGAACGAAATTAGCGTGTTGAATGAGTCTTGAGCGGCCGAATTGAAAAACGTATCTCATTCAGATCCACACGACTGATCATCTGATTTGGTGGGTACATCGTTTCTCTTTTTCTTCCGAGTCGAGTATTTTGTAGCGGAAGCAAAAGGAAGCAATTATATATGACAATGACGATCAGAGCCAAAATTACATATTGTTCGTGTGGTCTGGGATTTTGGAAATTTTTAGGGATGTTCAGCTTCTAGGCTTTGTTAGCTTAGCTTAGGCATAGGCTTAGGCTTCGGCTTAAGGCCTAAACACAGAGGTTGGCGGAACCAGGCAGGCAATATTAGAGGTACCCGCCAAATATCTAGAAGCTTCACTAAAAAAAAAACGTTTTGAATCTAAGCATGAAACCAATTTTGAAAAAGTAAAATGTTTGCTTATCTCAATTTTTGCATTTCCTTGCTTTTATATTGTAATTAAAAATAATAATTTGAATTTTCAGCTCGTTCAGCGATAGAGTTGTGCTAAATTTCAAGAAGAAATTAAGAATTTTCGTAAAAAATATTTGTTAACGCGAAAAAACTTTTAAAGCTTTAATTCATATTGTTCAAAAAAGGTTGGAGTAAAAAATTTGGAATTTTTTTGATTTTCACCCCAAAACCTTTCTTTAGAATGTATCCCTCTTGCCTCCATCCGCGCCTTATACGCAATCCGCGCCTGATGATTTTTCTCCGGGAACTTGAGAAAACCGATTTGGTTGTTGGGAGAAGAAGTGCGGAATGAGGAGCGTTTTTTGAGAAAAGATAAAATTTGGGATTTTTTTGATCATACTTTCCCGAAAACCTTTCTTTAGAATGCTCTGCCACTTGCCTCAACGCCTTGTGATTTTTCTCCGGGAACTTGAGACGATTTGGTTATTGGGAGAAGAAGTGGGAATGTGGAGCGTTTGCTGAGAAAGATAGATTTTCTACTATTTCTCAATTATTCAATACTATCGAACTTGATATGCAGTCTTTGAACGTTCTTGTCATTACGAGTAGGCGAAGGTTATTGGTAAGTGTATGGGATGTCTTTCCGATGAATTTTACCAACGGCACGGGATGCCTGAGTGTACCTTTTCGATTTCATAAAAACTTCGGAAGGTGTGCTGAGCGTAGGCGTAACTCGTTAAGCTAATTTTTCCTTTCCTGGTAAATCTTATCCTGATCAAACCAGTTGGGAACACTGTGGCGCCACGTGCAACTTCATGGGTAGGCGGCAAACACCACGGAAATTTATGGATTTGGGGCACCCAATTTGACGTAATTTCGGTTTCCGAATTTTGTCGGTGCATTAAGGGTTTGACACTGAAATCGAGTTTGGGAATTAGCGTTTTTCAAGTCGAATACCCTCAAAATTTTGGTTTCCGCAAGTTTGTCTAAATGCAGGGGTAGGCGGCAACTGCCCTTTGGCATATTTAATTTTGGCACGACGAATTCACCCAATTCCCGTCAACGTGAACTTTCTTCTCGTTTCTTAATTAGTTTTTCATTAAATTGATAAAAATGAGAAAATTATAAATTTGTAAATTCACTTCAAAATGCAGGCGGGCAGGTTTCAGTCAAGCCCGTCTGAAACCGCGCCTGTCTACCAAGGAAGCCCTACACCTTTCAAATAAGATCAACTCACTGTGGTGGTGTGGACCATTCTTTTCAGAATTTCCAAGATCTGGCGGTGGTCGGAGAATTGCAGTCGTGGCAGAGGCTTGAATAAATATGAAATGAGCAAAGCAAGTCCAGAGCAGCAACAGGGAGCCTTTTTCGGCAAGTCTGTTTTGAAAGACTTGAAAACTCCAGTCCACCATCATCCAAGCTCGTCAGAGCATCCTGAACTTCACCGAGCAAGCGACTTCTTATTGCCAACATCCTTCACAAGTTCTACCGGTTTTTCCCACGATTTTTCCAAGCCTACCCTACCAAGACTAGCCCAAACAACCTTCTTAGCTTCCGTGAAACATAACCATATCTGTCTACAAATTCTGTGGAATCAGATTAAGTCCACTTATGCATCTAAGCTGAACAACATCACATCCAAAGATGCTCCAAGCGCCACCTCAGCTTCTCAAGATGATCTATCCTTATCGTCCTGTGCCAAAGTGGCTCCACTCGCTGCCAACTCTCGTTGCACAATTTGTGCATGGTTCTAATGATTCCACATTTGCTCTTTATTCTCGGAGCACGTCCTCCAGTCGAGCAATTTCTTGAGCCGCTGGGCCATTATGGAATTAGTGTTCAGCGCCGTTTGTAAACTGGGATGTTTTATCCGAAGCAAATTTGCGGCGCTTGCTAAACGTACAGCGCCAGAGATTTCAGACCACTATTGAGGCTTGAAACTGAGATCAGAGCATCTTCGACAGCAGTGGCTATCGGCAGGAATTTTTGATCTGTTCGGAACGAATTCAAATCTGACAGGTTCTTTTTAATTTTGGCCAATTCTTTGTTGGTCGAAGCCAGCTCTACGTCGGAAGAAATTGACCAATATCAGAGCGAGAGTCATTCATTTGTTCAATAGCACGTTTTTCTAGTGTTTTCAAAAGATTCGGATTCACGAAAGTAGCGTTTGCCGTCAACAATTCTACTCATGGTCAGCAACAACATTAGCCGCTCATTTTTTTCACTCCATTAAAGCATGGGCGAGCCTCAGCGGTTGTCCAATTGCTATTGTTATCCTTGCAATCAGTGCGCATTCTGCGTCCTGATTTGCTTTCAACAAGTTGATTCATCACACTTTCAAAATCGATATCGATTGTTCCCTCAATGTTCGATGCAATTTTAGATAGTCCCTCCAGAGTCGTGAAGTGGGGGGTTATTAGATCAGAGTAGATTTGGCGCATTGGGCTGAAAGTTTATTTGTATTTTCGTTTTTTTGAGTTTGAACCTTTCTGGACAACCGACAGATTGGCTCAAACTAAAGGACTTTACAAAAGTTTTTGTCAAATCAATTTCGCAAATATTACCGGTTTTTCGGAGCTTTGATCAGGGTGGGGTGGCAAACGATTTTTTTCCCGAAATCGGCAAATCGGCAACCCGGCATTTTGCCGATTTTACCAAAATGGCCTGGAAAATTTTTGAATCCCTCCCTCTAAACACTTCCGGTAAATTGTTATCCAAACTACAATTCGGCAAATTACCTGAATTAAATCAATTTGCGCCCAATCGGCAAATTGCAAACTGCAAATTACTCTCCGATAAATTTGGAGAAACCGGCCAATCGCCGAAAATTTTTGGTAACTGGAAAAAATTTCAAAAGGCACTGTACCCTTGCTTCCGTTTTGAAAAATGCTTCTAAACAGTTCCGGCATATATCCGGCAAACGGCAAATCAGCAGTTGGCCGTAAAATAAAAATATCCGCCTCAGCAAATTAAGGCTGGAATTAAAAAGTTCCTCCAAATCGGCAAAACCGGGAATTTGGCCGCGTGACTTCGCCAAAAATAAATATGCCAAACGGCAGTTGCCACCTACCGCTGCAATGTTAGACAAACTTTCGGAAACCAAAATTCTGAAGGTATTCGACAATTGTTTGAAAAACCCTAATTCCCAGGAACACGACTTTATTATAAAACACTTAATCGACAAAATTTCGGAAAGGCCCGAAATTTCTGGCATATTGGGCAAATCGATAAACATTTTTTTCCGTTGTGCCGCCTACCCCTGGAGTTGCACGTAGTGCCACAGTGTTCCCTATTGGTTCGCTCAAGAAATTGCGGACTTGCCAGGCAAAATTAGCTTAACACGCCGAGTACCTCGCTTAGCTCACCTTCCGAAGGTGAAATCGAAAGGGTACACTCAGGCTTTCCGTGCCGTTGGTAATTCATCGGAAAGCCACGCATACACTTACCAATAGACCTTCGCCTCAGCGACAAGAACTTTCAAAGACTGGATATCAAGTCAGATCGTTCGATAGTATTGAATAATTGAGAAATAGTAGCAAATCTATCTTTTCAACAAACGCTCCACATTCCGCACTTCTTCTCCCAACAACCAAATCGTCTCAAGTTCCCGAATTTGCGTAAAATTATGTGATCAGTACTTTCTCGGGCCCGAGCGTCGGTTGCCAATTGAGAGTTTAGGTTATGCTCCATATCAATTGCTCCATTCGGTAGACCAACTGTGTACTTCTTCGGGACTGCCCGATGGATTCGATGGTTTGAAGATGGATCTTCGATTCTTGGATATATTTGGAAATGCATTCCGGATAGATGCCATGTTTTCTACTAGCTTTCTTAGTGCCGCGATTGCGGGATCCCAGATGTGTACAATCTTGATGGGTGAAAATTATGAGTTCATCACATCACGAACTTTTGGCCATAATACAAAGAAAGAGGAGCAGCTATTGTTTTTGAAGCCATGCATCGTACATATTCGGATTCCCACTACAATCTTGGGATTTTTTCAACAAATCGTTTAACGCAGAATGGGATTTGGGAATCTCGGTAAACTAGTGAACGCTTCAATCTCTATGTACAGTTGCTCCATACTGAAAGCATTTCGGAAAGGGTTGTAACTTATGTAAAACTCTCTGTAATGTCTTTCATGTCTGCCTTGAAATTTGTCTCGTCTGGCCACTTCTTGGGACCTCCAATATCATGAGCCAGGTGGGGGTACCACACTTTTGACAGTTGTAAGGCCAGAATTGTTTTGCATCAACATCGTCGCCGATATTCGATTGTAGTTCTATAAAGGTATAGTTTTTGGGGGCAAAAAACGAAAGTGGTTCAAAATTTTGGAACATAATGCCTATTTTTAGATAGCTAAAATCTAAAATTTTGCATTGCTGACAAGCTTGTGAAAATCGGCTTGTTTAACAGAAAATAGGCTTTTTCCTATACTTTGAATTACTTTTTTAGATTGAAATTAAACTCATTTCGGTTATTTCCAAACGTCCACAAAGCCGCAAACTCTATCAGGGGTAGGCGGGAATTGTAGGCAAATGTATTTTCTGCAAAGCTAATCGGGATGTGTACAATTTTGCCTCTGGCAGTTTACCGAGCCCATTTACCGAAAATTTTAATTCCGGCAAATTGTCCATACTCTATTACTACATAGGCCCTTATATAACATCTTTTTCCGCCCCTCTACTCTATTACCACCTAATCTGTTACTACAGTGGATTTTTAGAAACCAAAATTTCAGCTTTTGAATTTTATATTCGTAGAGATAAGAAATTCGTAGTGAAAAGTTGAAACCTGGAACAAACATAGCTGCATAATTGCATCGTAATATGTAAAAATAGGTCTTCCTTGGTAGATAGGCGCGGTTTCAGGTGCGCATGCCTGAAACCTGCCTTGGGGCCATATGTGAACGAGTAGACTGTAGTTTTAAAAAACAAAAAAAGGTACCTAACAAAAAACATTCTCATATATTAGTTTGAATGTGCAACCAAACCTTTGAGCGCTATCAGTTTAGAATTTCCAGCCAGAACTGGAGTCAATTGCATTCAGTTGATCCATTGAGATATCGTATTTGAACAAATCCAGAGTTAAATTCGTTGATGGAATGGTTCCTTTTGTGCCGTTCAATTCTTGTTGTAGTTACATTGATCTCAATCGTGAGGAGAATTGTAATCGTGCTCAACGGCAGTTATGAAGTTGTCATCTGCAACTTTTATGACTGATTTTTTTAGATGAAGTTATTTGTTGTCTTTTCTTTTATGAATTATTACGTATATAATACGTATCATGCGATATTGTTTCGCTTTCCAACCCCCGGGGAACTCTTTTTACTTTGTTTTTTTTTGACTTTTATGGACTTTTTTGTCCTTTGCTATTTTTTTTATGAGAATTGATGCCCGAATTTGACTTTTTTCAGATCAGATTTTTTGGAATTTCTTCGCAGAGGAGAATTATTCTTTTTTGTCAAAGCGAGCTAACGACCTAGCCACTGACGCCAAGCCTAACATAGGACTGAACCTTCTAAGTCTGGAAGTAGCCTAAGCCTACAAGGAAAGTCTTTGAAAGGGCACTGTAGATTTTGGTTCCTCTCATGTTGATTTTCCGATAGAAGTGTGTGTTTTGATCTATCCAAAAAATTTAGATCCAAGCCAAGTTTCAGCAAAGTAATGACATTTCGAAATTTCAGTTAAAAACACCATTGTGAACTGTCTTACAGTGCGATCCACACAAATAGCTCGCGTGAACACCAAAAATGTGACGCCCACCACAATAGGCTGAAGACAGTGGATTTCAATGCTGTTTTTAACTGAAAATTCAAAATGTCGCACTTAAGTTTGCTGAAACTTGACTTGGGCAGCTAAATTGATTGGTGAGATCTACCCAAAGCTAACACTCTTCTTGAATCGGAATATCAACATGAGAACCCTAAATCTACGGGCCGCTTAACCCAGACCTCCCTTGTTAGCACTAAGCCTATGCGAGACACGCAAAATATACATTAACATACATATACAACAAATACAACGTAATAATTGTTTTTCTGTAATTCGCTGACAAACCTTTCCAACTACGTTGGGAACGTGGATCTAATGGCGGTCATCACATTAAAGAAACTGGATTCTTCTGGAGCAACATATATTGAAGTTAAACCTCCGAAACAGTCAAGAAACCTTCGAAAGTATCCGAATTGACAACACGATTAACCGTTATAATTATCAAAACGATTATTATTGATTCGAAGACAGAAGACAAAATTCGGAACCAAAATAAAAATCAACCTACTCATTGCACCAAAATATTATGAAACTTCCCTTTGATCGACGGTTTTTGAAGCAATTAAAGATTGGAAGTGTGAATTCTGAGAAAAGGAGTGTTGGAATTTTTATTTATTTTATAACGAAAAGGTCACGCGTTTCTGTAATTTAATTTCTATGAAAGTTTTAAGGTCTCACAGAATGTCAAACACTAGATGGCCGAAGAAAATTTGACATAAGCAGCGAAATTTGACCTTTCAAAAAAATTAATATTACGTGTACAAAAATCTTTGATTCCAATGGAACTGAATTTTTGGGTGATACAAGAGGGAATGTGTCTCAAGGTGTAATTTCAGTAAAACTGTACAAGAGAAAAAACGTTCAATATTTTTACGCCGTCTATTGCTAATAACTTCTACAAAATTTTCATTCGGACATAACAAAAATAAAACAAGGTGACCATGGGGTGAGATTACAGGTGCATTTCCTCATCTTCATTTTTCAGACTGAACATCCAAGATAAGTAGCCCGAACTGAAGTTTTTCTGAAAATGTTATATAGTCATTAAACATCGGTCAAAAACAGTATTTAAACAAAATATCCCGAGACAACACACCTTTTTTGTCTTCAAGATATTCAGATAGAAACCTAATGTCCTGAAACTTGGATTTTGGGTCCTTAAGAAGATAAAACAGATAATTAGCTGTTTTAAGTTAATACCCGCAATCATTTTCACATTAGAGCAAAATTAAATTAAAATGAAACTTTTTTTTGGATTCAAGCATTTTTTGGAACCGAAATTCAAGTTTTAGGACACCCTAGTTTTCAACCTGAATATCCTGAAGACAAAAGTGTTTCACCATCTTGGCATTTTTTGTTTAAATACTGTTTATGAATGTTTGATGAGTATTTAGGAACTTTTTCAGAAAAAAATTCGGGCTATTTTTCTCGGAATTTCAGTCTGAAGATGTATGATTTTTTAATTCAAATTTGAGGGAATGTCGTTCATGGTGGCTCGAGGTCAATGGATAAATGGCTAAGACTAAAACATCGACATTGATCGAAGAACGATTTTTTATTCAAAAAATAAGATTTATTTGACTAGCACTGAAACATTCATCGTTTTTTGTCACTATAACCCATTGGAATGATCTGTAGAAATTAACTAAATTTAGAGATTTTACCGATACGTGGCAATATTTAAGACATTAGTTTTCGCCCTGGCCGTTTGTCTGTTGAGATAGTGAAGCGCCAGCTAAAGCGCATCGCCTTTGGTGCTGAGAAGCAGGTCTCGACGCGACGACATCTTTCTTCGCGCGCAGCGGCGAGATTTCGTCAGTACGTGTTGGAGCGTATAAGAATAAGGACGTGATTTTATCGATTTGCATCGATTTTTTTTGGATTTTTCTTTGTTATTGTATTTTTATCGAATTTTTAGTAGTTTTAAGGTTCTTTTTTATCGATTTTCCTTGGTTCCGTTGTGTTTTTAAGCGTTTTTCTCGTTCGTAATGATAAAAAGGGCGGTTTTCTCCGTTTTCCAAGAGTTATTTGGTATGTCAGATTTTGCAGGAGGAATCATCAAAATTCTCAGTTTTTGGCATGTGATCCTTACGAAGAGTACTGTCTGATGCACATCAATGGCTTTTTCCCCCGCAGGTGCTACAGTACGTGTTCTACTCCTTTCAGGGGTTCCTTCTCTCTTCTAGGAGATTAAATATGTTCGTTGTTTCTTCCCTCTATCTTACGCGCTCTTTCCAGCCTTGTTAGTTTATCCATGCTCTTTTCTTATGTAATTTTCGTTTATCAATTTCTCTAATTATTTTCGGTTTCCGGTTCGTGCACTCGCGCACCCTCTCCCTATTTTACTCTATCTCTCACTATCTCTCACATCTGTCTCTCTCTCATAAGCTATTTTGGTATTTTGCGCGTTAAGAAGTCATGTTTTGATGGACCGTGTTCAAAGGAAGAATATTTTCGGCGAGTGCAATGTATGTGGTGTGAAGTCACTCCATGAGTCTTATTATTCCGATAACCTTTTATCGAGATGTAGTACCTTATCGAGCGGCCCAATTTTATGTATGTTTATCTACATTGTGGTTACCATGTAACGGGAGTTCACATCGCAGGAAGTTCTTTATCGCGAAAGTATCAGACCCCGGATTACCTATCAGTTTAAATGCGACATCTTTCGTCGGGTGAGATATAGTATCTTGTGTTTCTATCGCATTTCATTGGACCGGTCGAGCCAGGTCTGAGTGTTTATGAGCACGAGTCGACTCCGTGAGTCTCAATGATTTTCCGTTTGCAGGCGGTTTTCCAGGTTTCCCGTTGGTTTCTGCTTCATCTTCTACTACCGTTTTAAGTAGGATTGGCTCAAGTCTACGGAAGAGTAGAGCAAGCCTACGGTGTAAAGAAGGTCTTCGAAAGAGTAGCGCAAGTTTACGGAGGATTCACGCAGGTCTACGGAAGAGTGGAGCAGGAATACGTTAGAGAGTCACTAGACCATACTGGGGGTCCGATTTACAATTGGATTCTCGAAAAACCGTGTACCTGCATAACCAGACAGCCGATATATCTACCTTACCGTCCAATTGGTCAAGTATTTCAGGAGAAGCGTATAAGGCTATGATTTTCTTTAGCAACGCCGCGCGTTTTGTAATTGCATAACAAGCTGTGTATTCCGTGTAGACTTTATCCTGCTCACTTGTTAGATGTTTAGGGACATCCGGTTCGACCTTTTTTCTTTCTCCCGCTATCGACGACGCAGATCACTGCGTATGAGTTGCTTTTATATACGTCGATCGATTGTTCCGGTATACGTAAAATTAGGCGCTATATTTTATCGCTTTCCTTGCTCACGCGATTCAGATATTTTAATGTCGAATTCCGTCACCTACCACTACGTAGGAGATATGCAGTGCTTTGTCAGAATAACTCAGGTCGTAAGAGTCTCTCAAGACTAGGGAGATATTCGCAGGTTGGTGGCAGTAATTTGTTTTTCCAATTAGCTATTCTCCTTGTCAGGACTTATTCAGGGAGTCGAAGTAGCCCGAGACGTTTGGCCCTAGTATGGATACTTCACGACAGTTCAAACAGATTGTGGTCGGCCTTTAATGGGAATTAGTTCTACTGCTCAGGTTCATAGCTGACTTAGCCGAGCCCCTTCGAGGTACGTCGCAATTTGGCGATTAGCATACTTCCAGGAAGACATAGACGAATCACAGTTTCAGAATTCCTATACACTTCGGTAACTACGGAGTAAGGCGATCAGTTCCTTGCCGCATTTATATGTTCATCTGAACTTTATATTTTTGCATATTAGCTCACGGATTACATTGGAAACTACAGATAACTGGGAGACAAATGCTTCGCTTTTTGTCACTTTTTCCGAGTTTACTCAAGCCCAGAGTAATGTAGTTTGAGGTTAATCTACTTCTCGTTTCCATGTGCAGATACTAGCAGAGTTGCTGTTATAACTGAGAGTCATTTCACACACAATACGGGTTAATGTCTGTCGGCAGTTTCTTCTCAACGCAAGGTTTTCGCTATATAGATAATCTGGTATAGCGGTGAACAACCTGTAATTATTAAACGCCTCAAGCATAGCCGTGACTAGTTATAGCCCCCGGCTTTGCGGGTTCTACCCTATACCACACAAAACCCAAACCAATAAACTGCACCCATGATAGTATATAATTCGTGTAGTCTTTTTAGAGCGTAAAGTTCTGATCAGGGAAAACGAATTCTCGGGGAACGCGATCCTAGAAATGTTTTCCCGAGAAAGTGAGGCGAAAGCTTAAAGGCGCATCGCCCTTAGTGAGAGGCAGGTCGCGACGCGACGACATCTTACGCGAGCAGCGGCGAGCGTCAACCATTCTATGTGTTGGTTTCCCCCCTCCCGCCCCACACACATATTATTACAAAGTGCGAGACATTGCCAGATATGCGATGATTTCCATCCTTACGGAGAAAAATCGAATTATTATGAAAATATTAAGTTTAAACCGTAAGTCGTTTATTTTCAGGAGGTGAGTTTTATTTTTCCTTCATCGTCGCCTGACTGGGCAGTCGGTGTCTATCTGAACAGGTTCGCAGCTCGACCCTTGTGCTTGTTTTCGGTAGCAGGAATACTTATGGGTTTTTTCTCAGTTTCGGGAGAGATATTTACAGGCTTTCAGGAAACCGAGATTCAGAGTTTAATAATGACATATCTTTACAGGAAAATTGTGGTTTGAGTTTGCAGCCTTTCAGAGCGCCTGATGGATCAATAGTTCAATCCACGGAAACACGGACGAAAGTGGTCCACCGAGCAATCAATGTGGAACGAGACGATTCCAGCGTTTACCATGCCCCCTAACATCGATGATGGTCTAGATATGGTAAAGTTCTTCCCATCAAGCGTTGTTCGAGTTTTGGACAAACTTCTTCGATAAAATACTTGACTAAAAAAGCGAATTAAAGTCTACCACAATTTGAAAAAATATTTGGTTCTAGATTATTTCGAAGATTAGACTATAAACATCACGGCCTAACGTAGCTGAGGTTTGACATGTTGTGGGACTGAATACAAAAGCGTGAACTCACGTAGACTGTCTCTTGAATAATTCGAAGAACCAGATGTGAGCTACGGAATAGGCTTAGGCTTAGGCTTGGGCGGGGCTGGGAGGAGTAAAAAATTGCGGAATTTGCCGTTTGAAGAGCTCGCGAGTCCGAGTTTGGCAAATTTTAAATTTTGCCGTACGGACACACCAAATTTGACAAAAAATCGTCAAAAATAACAAATTGTTCCGAGTTTGATCAGTTCGGTAAGAAAATTATGAAAAAAGTGATTGCAGAATTTGCCAAGCTCGCCTTTGTCTTTGGTCAATTCAGCACCATATGAGTGATTATTATCAATTTTCCACTGTCGCTACTCGTCGCATTTAACAAGTAGTCATCGATTGCCGAAACAACTTCCTTCCAGCTCAAACTTTTTTCTTAGCCTTCATCGGGAACCTTTCCTAATTTTTGCCCGGCCTTCTTAACCTCATTCTTCCCATCTTCCCAAATTACAGTCCCATCCTTCTTCTCTTCTTCTTCCCACTACGACCATCTTTGTCCACGTATAGGACCTTTCTCGGGAGAGTGTGTGCAACCGAGACAATTTGCGAAAAACTGCTCCCGGTCCCCCCATTCGTTTTCGCGAAATCAATAGACACAAAAATGTTCCGTAAAACAAATCTCCCCTTGTCGTTTATCCCCCTGTAAGTACACAATATCCTTTTCTCAGAAAAAAACCTTTGTTCTTCAATTTCGGAATCATCTTTTCTTCGTGTTAGTCCTGTGAAAGGCGGAGTACTGAAATATGGAAAATATTTTTAAAGGACTCCCTGATGAATATCTAGAAAGTTCAAAAAATTTTCCCTCATTTCATATTTCAGCTTGAAATCTTTCATTGTGCACTAATGAGATTTCGACTTCGAAGTTTGTTTGAAATGTGTTTTCAAGGTCAATTTTCGTCAATGTATTATTTTACTATCGAAAAACTAAAAAAATTTCAATGAGTAAAGTAAGTCAGTAAGCATTTGGTAAATAACAAAAATCTCGTAATTCTACACATAGCGTGTCGCGAAAATTCGAAATCTGATGGGTGCACAGAAATGCTTCAAAGTCAAATATAAAATAAGGGAAATTTTTGTGAATTTTGTCAGATATTCGGAATCAGGGGCAAATTTCATGTGAAGTCAATTAGAAACGTATTTATTTCGTGGTACTTTTCTAGTCTAAAACTAAAACTAAAGCTAAGCTAAAGTTAATTAAATTACCATGAATCTAATTTGTTTTGTTTTAAAGTTTCCGATTGCAAAAATTCCAAGATCTCAGTTTGCCGAAGTTTAAATAACGACTACTCTGGACTTTTCCCGAAAGAAATCGAACACCGGAGTATACTAATAAGATCCATCGACGGTACACAAAAGGATCATGAAAAAGGGGCACCGTGCGCATAATACCTTCTGGCTTTCCCCTTCCCCAACGAAAGATTTCCTTCTTATATTTGTTCGTTTCGTTCCTGCACACTGACTCCATCTCTTCTAACCCCCTCCTCAGTCTGAATACTCTCTCATCTCACAACGCTTCTGTCTACCTGCCTGCGTCCCCTCGGTACCATATACTAAGCTCTTCGTACCTGCCACTTACCAACAACTTGCCTCTTGGAGGTCTCTCTCTCTACCACATCACCTTGTTCTTCGACTTGTGGTTCTCTCTTATCGAAAAAGTGACTTTCCCGTGTCCTTCCGGGCCATTCACATTTTCCAATTTTATTCGAATTTTATGTGCCCACTGCTAGCTAGGTTCTATATTGAGTGCCGAATTAATTTTATTGATGGTCTAACTAAATAAAGCCACTGGCAACAATTTTTATAAAATTTGTTTGCATATTTATGTAACATTAGCGAAAGTTTTAAAATTCGTACTGTGTGAGACATCACTTTCGAAGTGTTCATTCTATTACGGGATCACAAGATTATGAGAATACTTATTGCGCAACATTCTTGACGCGCAATAACTAGTAGCGAAAACTACAGTAATTCTTCAAATGACTATTGTAGCGCTTGTGTCGATACTGGCTCGATTTTATTTAAATGATTTTTTTTCGAATAGTGACGTCGATATTCCATTTTGCGTTCTGTCATTTTCGTATTATCTATAATTTTATTCATTTCGAGAATCGAGCCCATAAATCGACACAAACACTACAGTAGCATTTAATACTGTTATTTTCGCTAAGATGCGCGTCAAGATTCATTTCCTTACGAAATACAAACTTCTTGGCGAAAATTTCAAAATTCAAATTGCCCGCTTAGTATTTAGCCCGATTAAAGTTTTCTGGAATTTCCTGCCAAATAAAAAGCTAGTTTAAATATTTAAAAAATAGCTTAGAATTCTTAGAATGCGTATTGCGCAGCTTATTAAAGTGACGCCCAAAGCATTTCATAGCGAAAACACAGTAATTCTTGAAATGACTACTGTAGCGATTTTGTCGATTTACGGGCTCGATTTTTGAAATAAATTTTTTAAAATCTTTTCGAATCAAGCCCTGAATAGACACAAGCTATACAGTAGTTATTCAAAGAGGTTTTGCGATCGAGGTATTTTGTGTGTCAAATAATTTATTCCCGTAAAACAAAATACCGCTCTAAAGATATAAAATTTACAACGCCTATTAAGCACCCCACTGAAACCCGCCGGAAAATCCAGAAAAATTATATAAATTTCACCTCTAAAAAATAACCTGGATAGTTGACCGCGTAATTCGACCTGTTTTATTCCCGATTGTCCGACTGACCACACCCCGATTCTCTCGAACTACCCGCGACAAGCTTAAGCATCTTTCTTTATTCCCACACTTTTCGTAAACTTCTGAGAGACAAAACAATAATATTTCTTTCTCAAATCAATATTGGCTATATTCTCCGCATCCCGTAGCCGGTCCCATCAACGTACTTCTAGAACTCCCACGAAATTTCAATTGCTCTATTGAAAAGGTCTCTCTTTTATATGACCCAGGCGCAAAATTTCGTGCAAAAATACAATCGACGGTTTTCTCGACGCGATAATTTTTGCTAAATTCCAAAAATGTGTGCGCCTTTAAGATTACTATTGTAAATAGCTTCAAACTTTAACCGATTTTAACAATTGAATTTTCTATGTTTTCCGTTTAATATATATTTATTTATTTAAAAATTAAGTTGAAATTGAGATAGGCTAGATGAAGATAAATTACATTACTCTTTAAAGGCGTACATGGCGTTTCGCGACCGGGTACAGTATTTTCGACTGCGATTTTGGTTTTTAAAAAACCTAACCAATAGAATTTCCAGCGCTCACACTCATTGGCCGTGGAAATTCAGCAGCAACCGTCCGACAGCTCTTTTTCGTCAAACGACGAATTCGACGATCGTCAGAACAAAAAGTGAGCAGTTTTGTATGAACAGCAGGTGTGATATGATTTTATTGTGAAATTTGGGACTACAAACCCGAAAAAACAGTACACCTTGTGTGATCTAGAAAAAAATAGAGCAATCGATAATTTTCGGGTAATTTTAAAGTTATTTTCAGCGAAATAAACAATATTTTTGAGCATTGGGTTTTCAGTCATTTTCGATTAAAAAATTCTTCAATGTTGAGCTGAAACTATCGATTTTTACTAGAAAATTGATATTTCTAGCGCAACCACAATTTTAATGTTTAAATTGCTTTGAAACCTCATAACATCTCCCGCACCTCCAGTTTTTGAGTTTTCCGAATATCGGAAACTCAACAGAATCTCATTTTCCTACCGAAATCTATTAGTTTATAATAAATTTGATCGTTTTCTGCTTAAAATTCCCTGAAACTTCTGAAAAAAAACCGATTAATCAGCTAATTCGCTTAAAACTAATTTCGTGCCGGGATGACCACGGCCTCGGGTTTTAAATCGTATGCGCTTTTTGTTTTGTACCATGTTTATTATAGTTTTTAAAGTAAAAAATGAAATTTTCAGCAAGTTTTGGCGTCAAAGAAATGTATCGAACGCATAAATTGAACGAATACTGGAGGCTTGATTTCTGGTATAGCGAATGGTATTCTAAGTGAGTTTTATCCGATAATGGGAATCGACGAAAAACCAGAAATAAACAGTTAATTTCCAGAAATGAGCAACGGGAACAGCTGCAATCACCATCACCAATTCCCGATCAGCATTCCAATTTCGTGCTCGTCACACTCAATTCAATCACGATCACGAATGAGGACACTCTGAACGCGAATAGGGATCTCCTGTCTCGTGCGCCTGCAACGACGTAATTGTCGCCAGAACCGTGTAACCGTCGTTTATTCGCGTGGAAGGCCGGCCGGGATAATGTTTTTCTAAAAGACCATGTCAGGATATTGGGAAATACAACGGTATGAAAATCGGCTTTTCAGCGATAAAAATTGGAATTTTCAGGTCAACCCAGCGTGGTATCCCGTAATGCTAATCAGGAGGAGCGTATGGTTCATGCACATTGTGTAGTGAGAATAAAATTGGTTTTTCTGACCTTTCTATGAATAACCCCGATTCCCATGAAAATATAAGGATGTTTTCAGCAGAAACTCCAGGCAAATTGAGTTTTTGATGCGAATAATGGATTAAAAAGGATAACAAAAAAATCCATGAAAATTATTTTTTACATCAAAACTCCATAAAAATCGGATTTTTGAGCGGATAGATTACTTTGCCAGAAATTGCATTTAGCAAAAAACAATTCTTGCGCGCAATTGCGAACAAAAAATTCAGAACAATGAAACATAACAAAGTTAAAAAAATTATTTATTTAAATACTTTTTTGAGCTGAAAATAAAAAAATTGCCTCAGATTTTGTGGCCAAAAATTCAAGAATATTGCATGAAAATTAGTTTTTGTTTGCAGACGAAAGCAAAAATTAATTCTTTTTCTCGCTTAAAACTGGGTTGATAAAATGGTGTTTAACACAAAAATCCACAAAAAATTGATTTTTAGGCCACAAAATCTATGAACATTCTGATATTCTGGAAAAAAATTAAGAAAATTCATATTGATTTGCCATTTTGTTCAAAAACTTTTTTCAAAAGCATTTCATCAGTGGGAAAAATTTGATATTTCAACAAAAAAATTATTAAATTTTAGAGCTAGCCTACGGCCATGGAATTGTAAGACAGACATGAGAGCTAGCGGATGTGACGTGGCTCCGGGAGCAGCTTCAACAACCTCCAGCACATCATCACATCATTCAACTGCAACAAACCATCAGCCATGGTTTCATTCAAGATTAGCAGAGAACTGAAAAGTAACATAGAAAATGTTGGAAAATCTGGGAAAATGTGTCATTATTCGGTTTTGTCGTCAGGTTTCCAATTTTATGAAAAAAACGTCACTAAAAACGACATAATTCTTACGGAAACATCTGAAATTGTTTGCATGAAAAAAGTCGCGATTTTCTAGAAAATTTTAAAATGTAATAGAAAAATGTTGAAAATAGATTTTTTCTGAATTTTTTGAATTTCATTAGATAATAGAGACAACATCATGTTTTGGAGTCAACTTTTTCGCCTGAAACGCTGGAAAAGGCAGAATAATGGTTAGGGTTTTTAGTGGTATCGAAAATAAAAATGTATTTTTTAAAAGAACGAGAATTTTTTTTTCGTCGAACGTTAGTTCCAACAATAATTACTTACAAAACATTTTTTGTTGGAACGTCTTTTTTTTCTGAAGTTTTCTTAGATTTTGATAACTTTCTTAATTTCAATTCAAATCGGCAAAATTGTACGCGTCTTTTGACTGTTCCCACATCTTTGTAACGAATACGGGAAAAAATATTTCAAAAAGGCACTTTTTTCAAGTGTTTTCGCCTTATAAAAGATTGCCTTCCGGCAAATTGGGATATCCTACATACGGCAAATCGGCGAACTGACAATTTGCCGGAATCGAAAGATTCCGGCAACCGACAACCTTCCGATTTGCCGGTGTCAGAAACTTGAAAAGTGTAGAAAAATAATTGGACGTCACAACTAAATAATAATTCATGTCATTTCTTAATGTATTTTAATACAGTTTTGACGTCATTTTTCTCCATTTTTCATTCTTCCGGCGCACTTGAATAACCCTGTATACCACTTAAAAATCATGTTTAATTTACAAATTTGTAAACTCCCGATTACCTGCATACCGGAGGAACCTTCCTAGTACGTGAATCCACAAATTTCCCCGGCGTCTTCATCACTATGTATGTCTTTTCACGGAAAAGTCGAACACTATCAGTGCATCGAACAGACGGCGGTCAGCGCAATTGACCTGTGACCAGGAAGAACATGGTACTTTTCCAATTTGACACAGTTGGTCTCGGTGAGTCATTTCGGGGCTGTAGAGACAGGAAAAGGGGGAGGAATGGGTGAACCGGTATTCGTTAGACTGAGACAGGTGAAGATAACAGTCATGATTTTATATTGTGAAGAGTTGTATTATAAAGGTTGGTTGACTAGATTTGATTATTTGGGCGAAAGAGAAAGTGAATGAGGGGAAAATTGTTAAAATTCGGATTTAAGTATGAAAACTCACAAAAATGTTATATAAATTTATATTTTGGATATAACTAATTAAAGATTTTATATAGCAAGACTTTAAATAATATGAATATAATAATCTAATATATCAATCTCCTCATTTAATGGCTAGTTGTAATGTCCAATTTTCCAGCACTTACCTACAAACGTGACGCGGACGGTCTCTGCCATCGCCTCGTGGTAACTGCGATTATTTGTGAAACAGCGACATTTTCATCAATCGGATCATCGTCATTTGGTTCATCGTCGACAGTTGATGTGGCATATCGTACATCAGTATTTCGACACGCGGGTTAGATATTTCATCGAACGATATATGTTGGTGACACAATTGCACGGAGACGCCAATGGAGATGTTCGATTGGGAACTTATAAGAATCGAAAAGTCGCGCTAAAAGTGTCGAAAATGCATGGAAATGGAATGTTGGACTCATTGCTGGATGAAGCCATATGGTGTAAGTTATCCAATTATTGAGAAGAAAATAATTTTGGCAAAGCCCAAAACAATGCGTGTTGAACAATGTCATGTTAAAAATATATTTATGTTTCAAAAATGTATTTCAATTTAGGTGTTGCTTTTAATTTGGATCTCAATAATAACAACGTTTTCCAAGTTTTTAGTTATGAGTACCCCGAAATCTGAAAAATATTTTCAGTTGACTTCCAAATTCCCTGATTCCGAAAGTCTAAGTGAAAGATTCGAAACCTGATGGGCTGAGCACAAATTATTTGTACAATTTAAACACTTTTTAATTAAGATAAATTCCCCAATTTTTTTGAAAATATTCCATTAATTCCTATTTTATGTTAATAATTGATTCAGTTTACAAAGCTTAGTTTCATAATTTTCAATTTTCCTGATTGATGAGATAACTAATGGCAGCAAATAAATCTGAAAAATCCCGAATTTTGCAGAGGTCTGTCGCTGAACATCCAAATCTAGGGACGCTTGTCGTTGTTGTACTGATGATGAGTGAATGTCGACATGATAACTGAATATATGGCAAATAGTTTTAATCGATTTACTCCGATCTCGAGGAAGGCATGCGTTGGAGAATCGGAGGCAGTTAATGTATGTTCGATGTAAGAAAAAGTTGACAAATAAAAAAATTGGAATTTCACATTCGCCAATTAGATTGTTCAAAAATTGTTGACATTTCTGCATTTTTATAACCGAAAAATCGACATTTCATTCCGCCTGAGTAATAGTAACTCACCACGAAAAGGGTTACTGTAGCAGTCTTTTAGCTGTCTCTGGTTTAGTAATTTACGATTTGCCGGTCGTCTGAAACCCGATTTTTTCTAGATTTTAACAATTTTCTAGTATGCTGTTGGCAATTCATTCCAAAAACATTTTAATGTTGCCGCTAAATTTTTGTGCTCCGTTTGTCGAAAAGCCGACTTTTTAAAAACACTGCAAAATTTCTCTCTAAGTTTTTTAAAAAATGGTTGCCCTTGAAATCAATGCAGTGTTTATATTTTATTTTGGATTTTTCGAACAAAAATTTTGTTCGTCTATCCGAAACACCAAAAAATCCACTTACCATTTTTCGAAGCGAATTTTTTTTTTCCAAACAACAAACCTGATTTCAAGGGTAGAAACATTTTTTAAAAAAGTTGAAAAAAATATTGTAAAATCGGTTTTAGTTTTTAAAAAAAGTCGTTTAAATTTGTTGCACAATTAAAAAAAAATTTAGAGAAAAATCTTGGAAGGCTTCACGCACACAGCTGAAAATGCTAATACAGTACAGCTTTTCGTGGTTGGACCCAGCCACCGTGGTTACTCTACCTCCGGCAAAGTGGAAAATTCGATTTTTTTGTTAGAAAATTTGAAAATGTCAAAGACCTGTGAAATGTTTCAATTTTTTGTGCCAGCTGTTCTTGAAATCCAAATTATTCGACTTTTTTTCCATTTTCAGGGATACTTGCCAAGGAATTTATCTGGAATCAAAACAGATTGTTCATCGAGTGGCCGCTCGAAATGTCCTCGACGATGATTTAGTAGCGTAAGTTTCCGTTTTTGGATTAGCGAAAAAAGCACTAACAGCCAGTCACATGATTCGGCTTCTGGCAAATTTCCGGACTGATTAAATGGACGGCACCTGAAGCGCTTAGACATAATGTAAGTTTGGTTGAAAAATTGATAAAATTGAGAAATTTTTACAGAATTTATTCTTTCAAAATTAACAATTTCATAAAAAGAAAGAAAATCATTTCAATTTAAGGAATTTCGTATTAAATTTCTAATTTAAAAAAATGTCGATATTTTTTAAAATTAACAAAATTTGAAAACAGAAATCCGTAATTCCGCCGAAAAATGCCTCAAAAATCTGCACTTTGAATTTTTGCCCAAATTTCTAGAATTTTTCCTTACTTCATTTTCTTTCATAGCTTGAATATCAAAAGGAAAATCTTGAAAAAAAATCCCAGAAAAATAAAAAACAACCAAAATCGATTGATTTCAAAAGTTTCTTTTTTAAAAATTGGTTTTTTGTCATTTTTTTCTGATAAATGGAATAGCTTGAAACTAGAATTTGAAAGTATCCAAATTTTCTAATAGATCGATGAAAAATGACTCAAAAACTCCAAAAAATATTGAATTTATCTCTTAAATTTTTCAAAAATGGAATTTTTTTCACGTAAAAAATAGAATTTTTTTTCCCAAATTTTTTTTAGCAACACCACAAAATCCGATGTTTGGTCATTCGGCATTCTTCTTTGGGAAAAATTTTTTCATTCGGACGAATACCGTACCCAAGAATTGTGAGTGACAACATTGCTTAATTAAAAAAATTTCTCGTGTTTTTTCATATTATTCCTCGCTAGCTGGATTGTTTTTATTTCTGTTTGGTTGGGATCATTTCTTTAAAGGCTCCACGGAAAGGGAATCTGCCTGCGAGAATGAGATCTACGAAAATGAGCGACAATGCTAGGATGAAACGTGCGTTGTTTAGCAAGTTTTTGATACTTTTCAAAAATACTAGACTTTTCAACCTTTTTCGTAGATCCTCTTCTCGTAGTTTTTGGTGGGTCCCCTTCCTATATTTTTGGCTTGGCCGAGTTTTCTCCCGGCCACGATCATCACTATTTTATTGATTTTTGTCATGATTTTCAGGGAGCCGATGGTCGATCGGTATGTGTATATTGCATATATTCGTTAGGTTCTATTTTTTACCAATTCTATCCAATTCTATTATACAATACATCTCACTATATTTTCCCCTGCCTGAAATTTTTGAAAAAAAATGAGGCAATTTTAACTTAAAGCTTTTTCCAAAATTTTCCAACAAAAAAAGTTTTTTATTTTTCAATCGCTCGAATTCTGAAAATGAAAAATGATGATAGAAATTGTTTTAAGAAAATGATTTTTTTGGTAGCAAAACGAATTTAATTTTTAATCGAAATACAACTTTTTTTTCAAAAACACCTTATTCGAGACAATAATATTTCTTTTCTTTTCAAAATTGAACATATTCTGGAAAATTGAATAATTAAAAGCATCAAGATTAAATATTCGAAAAAAAGAGAAGTATAGATTTATTGGCTTATTTGGAAAAAAGAAATGAAAAAAATGCAATAATCGAGTCTTTATTTTGGTTTTGTTTCCGACGATGTCCTTCTCGTATATAGTATTTTCCTACCACGAAAATCGCCGTGCAGGGTCTTTAAATTCGGCCGACCACGTCTCGCCTAAGTCCAGTCCCCCACATGTCAAATAAAATTTTTTTCGCAACATCCTGAATTTTGAAATCTTTTTCCAAAGAAAAAAAGTACCGTTTTTTATTTAATTTTAGAAGCTTGAGAAAATGCTTGGAAAAAAGTATTATTTTTTCTAATTTTGAACTTTTTAAAAAAATTATTATATCTTGATTTTCAAAATTTTCCATATTCGATGTTAAAAATTATAAACATTTTTCAGAAAGTAATACCGAAATTTTTTTAGAAAAAAGTCAAATTTGGAGCGAACATTATGTTTTTCAACAATTTGTCAACAATTTTTGTTCACCGCGATTTTTTTTTTGGATCCAAAAAAATCTTTGTTTGTGTGATTTCCGACGGCACCCAACTCCCCAGAATTTACCGCAAAAACTCTATTTTTTTCTCTGCTACCTCTTCCCTATCTTCTAATTAATGTTTTTTCACTATTCGTTTTTATTATTTTTTCCTTTCAGAGCTCAGTTAGAGCCCAAAACTAACCATCAGAAACAAAAAAAACAACTTTCTTTTCTTTTCGAATTAATTTTTTCAGCCTAGGTTCAAGGCGTTGTGAGATATTGAGTAGGTATCGAATGGAAGCACCTGAAGGGTACCGGAAATTTTCAAGGTTATGAATGAAACATGGGCTCTTTCGGCACAAGATCGACCGTACTTTAGGACAGGCAGATTTTTTAAGGGTTTTATAGAATTTTAAGAACGATTTCAAAATCCGAAAAAAAAACCTACAATTATGGTAATTTTTGAGAAAATCTACAATTTTTTTTCGAAAACCTGACAGAAAGAAGAAAGATAATTTGAAAAATGCCCTAAATTGACCAAAACTATGGAATTTTTACCAAAATTTCAGAGGGGTTTTTCAGATTTTACCAGAGTTTCTGCCTTATAAATTAAAAATTTCAAAGGGAAATATTTTTTTAAAATCAGCATTTTTAGCAATTTTTGTGATAATTGTTTATGCCAAAAATGGTGCGAATCTCATGTTTGAAGATTTAAAATTCAGAAAAATCTAAATTTTGGGCAATTTCAATAAAATGGAAAGATTCTGAAAATAATAAATTTTTCGAAATCATGAAAAAAATTTTACAATTTTTGCGAAAAGAATTGTGAAAATTAGAAATTTTATTATTAAAAATATTCTCATGATAAAAACAAAACATTTCAAAAATCCGCCGAAAATGGCTTAAAAATCTAAAGTAAGAAAAGATTTTGCATTAAATTTTATTGATTAGTATTTGCCAAAAAAACCCGAAAATTCACTCTAAAATTACAAAAATTTCAATTTTCTTAAGCTGCGTCCACAAAATGGCTTTAAAAATCATTTTCATGTACAATGTCAAAATTTTAAAACAAGTGAAATTTTGTTCAAAAGTTACCATAATAAAGGTTTTATGCTTTCCGGTCATTTTTTTTAATTTTGGCACACTAACCGAAAAAAAAATTGCTCCGCATTTTTACCCTGAAATATGCGAAAATGTTTGCATTTTTTGAAAATGCCACTTAAATTTTTTATATTTTCAGGTCGTGCCGATTGACAACCATCCGAAATTACAGTATGACATCGGCGCACATCTCGAAACGTTTTCCAGAATCCATATCCACCGAATTTTCTAGTCCATATGAGGTTTCTGTTTTTTTTTCGATGTTTTTTACACAAATTTAGTCATATTTTATAGTAATTTCTCCCACACATTTTTAGGCATCGTTATTATATATTTTCTAATCCGCTGCCACGCATTTCGGATAGAGATCCTGGAATTTAAAGGCACAGCGGTGTTTTTGGATGGGTCCCACCTCGATAAAATTTTTGCCATGCGCTCCTTTGAAATTTTGTTTTCGATATTCCTAAAAATCACAAAAAACATTGTTTTTTCTAAATTCGAGAAGTTTTAGCCTTTCTTTCGACTAAAAGTCGATTTTTTTACGTTGGTTTAAATTTTTCTCGATTTGAAAAAAATTTCAATTTTCAGTGAATCAAAGAAAAAACATCAGGGAGCAAAACTTCTATTCGAAAGAACAATATTTTAAAATTGTATTTTCCGATATAATTTTCACTGTTGGGTCTCACCACGAAAATCGACATGCACCTTTATATTTCCTTGCCAACACCTCTCCGAACGGCCGATACCAAATACCTACGGGTTCTTCAATTTTCCTCTGCATCATCGATGCCGTTTTTAAAAATTTTTATCGAATATATTTTCACGTTTAAAATTATTAATTTGTAACGCCAATTTCAAGAAAAAAGGCTCAAAACTCCGCCATTGGGATAATTTTTGCAGCGACGGAAAATGCAATAAATTTTATATTAGTTTTCACCGATTTTTAACAGACTATTTTTAGAACTTTTAGTCATTTTGTATGTGTGTGTTGCTAGCGTTTATCGGCAAGAAATTATTGTTTTTTCTTAATTTTTAATAAGGGACATTTTTTAAAGAGATTTTCAGAAAATCGGTAAAGATTTAAGATGCTCTGAATATGTCCAACTTCACAAGCTTCGTAGATTACGCGGATAAGGTGTTGAATGAGTTGAATGTGCAAGTGCGCCCTATGGATAAATGGAGCAGCGTGGCAATTCGAAAATTCAAGAAATTTAAATAAAAACGTATTACTCGAAAGTTCACAGAGTTTTTCACCAAAAAATTGAAAATTCGCTGAAAAAGTCGCGGGACATTTTGATTTTTCGGGAAGATTAGAATTGACTGAAAAAACCGCGTCTTTATTCGAGAAATTTTAGAAAGGCGGAAAATTCCAGATTTCTTTATTTAAAAAAAAACATGAATAAAAAATTCTGAGAAATCATGAAAATTGATTGAAAAGTTTCAATTTTAGGCTAAAATTTTTTTGCGAAAAATTCATTTAGTTTATGTTGGTAAAGTTCCGATTTTTCTGCAAGACGAATTTGAATTTCTTTCTGAACAAGTGCGTTTTTTTTCAAAAGTTTTTAAAATCGGAAATTTTTCGCCTCGAAACTGAACCGAAAAATTCGAAAAATGAAGCGCGGGCAATTCGTCTTGAATTTTGGCATTGAAAATATATGAAAAATTCAAAAATTGGAAAAGCTCAAAGTTTTTCACAAAATAGTCGATGTATTTTCTCATTTTTCAATGTAAAAACCGATAGTTACCGCCGCACGCTGGGTCGCAGCAACAATGCAGCCAGACAACAATACCGCCGTCACCGTTGAACGTAATAAAAAACGGCCAATTCCACTGTTAAATCCAAGTGAGTTTAATCGATTTTTCTGTAGAAAAATCTGAATGTAAATTTTGAGCTGAATTTTCAGACGAAATCAGCAGCTCTTCGTGCTATGACGTCTTTCCATGCAATCCGGAGAATCTCAGCAGGGACATGTTATGTACAAGAGTTCGTCGATTCTATCCTGCCGTTGCTGAAAGAGGAAACTCAAAATGAAAAAAGAACTATAGTACTATACATTCGAAAAAAAATTTTCAGTTTACAGGCGCATCTTTAAATATGCATTATTATTCATTAGTGTCGACCCAGAAAGCGCATGCAAATTTTGAACTAAACTGGAATAAAAATTTTATTACACATTCGTGTAAGAATATTCAGTTTAAAGGCGCGTGCTAGTTTTAAGCGTACTTCAAAAATCAAAAAAATATATATATCTATTCGTGAAAACATGTTCTTTTTAGAAGCTCTTTAAAAGTTTAAAAATGATTATTATACGGTTTCTAAAAATTTCCAAAAATCAGGTCAAATGCACTTAGAAGATTGGAAAATATGAAATCTTTATACATGCCTGAAAAAATACGGCATGGTCCAAAAGTCGACAAATCGGTCCAATATTTTCTATTTTTTCAGAGAAATCTTGCGCCAAGGTCGAAATTTTTCGACGATTTCTACGACGTTCCGTGCGATCGCCAGAATTGAGGAGGGAGACCATTGTGAAAGTTGAAAGCAAATATTTCTTCAAAAAATTATTATATTAAATTTACACATACACATTCGTGAAAAGATTTAGTGCTGCCGGCAGGTGAAAATAATGAGATGAAAAATATATACAGAAAAAGGAAAATTTGAAAAATATTTTTTGGCGATAATTAGAATATTACCCGCAAACAAAATTCAAATGACATTTCTTCAGTTTTTGAAAATCTAAACACAATTTCAAAATGTCATTATTGGTGATTCGTGAAAAAACTCAGTTTAAAGGCTCATTTCATATTCAATATAAATGAGAATTATTAAACATCTTAAAGACATAAAGTTTACAATATAAATGAAATCTAAGAAGAAAAATTATACATTAAAGTTGGGAACAAAATTTTGTATTTGAGTAGGACGCTTGACATCAATTTAGTGATATAAAATTTTGAAACCAAGAATTTTCGAAAAAAAATCACGTATACCTAAAAATTTGTAGTTGTTTTTTTAAAGTTAGTACAGAAACTATTTTCTCTAAAATTCAAAAATATTCCAGGTAACATTGGAACACAGGACAATTTTCAACCCTCGAGACAAGCCTATCAATCCAATGGAAACACTATCAATAATTCCGAATATTAAAAGATGTCAGAGTTGTTACAATTGACTTGAGAAGATCTCAAAATGAATATATTGGCCAATCAAATACTCTACCTCTCGAAAAGGGGACCAATCGAAAAGATACTCAAGTTGGACCTGCTATGGAGGACCGCGATGTGAAGGCGAAAAACCGTAGGCATTGGATAGCTAATTAGTATTGGGGGTTGGGAGGGGAGGGAGGAAAGTTCGAGAAAATCGGAATATCTTATGCACTAAATATTACTTAGGCCGTTTGATTAATAAATCGACACATCAAGTAAATAAATTCTGAAACAAATTAAAAAAACGTTTCGATTGATATATGTGTATCATTTTCAAAAGATGACATAAATTGGCAAACAAGAAATTTTTTATTCAATAAAAATATACTACGGGAGCCTAAACTTTTGGAGAGTGCGTATTGCACAACATATTGGACCAGATATCTCGAAGCGAAAACTACAGTAATTCCATTTAAATGACTGGTGTCGATTTACGGGCTCTTTTTTCATTTCTCCGGATTATTTTCTCTTTTTTGCTAAATTTTAATATTCTATCTATAACTAAAAAATTAATTCATTTCGAAAATCTAGCCCGAAAATGGACACAAGCGCTACAGTAGTCATTTAAAGGATTACTGTAATTTCGCTACGCGATACTTTGTGCGTCAATATATATTGTGCATCCAGTTACGCATTTTCAGAATTTTGTATTCTCATAAAATTTTCGAAAAAGTAAATCTTTTAAAAAACTTTTTATTAAATGAATAAAAATTTTTCCCCTTGGAGAATCGGATAAAAATAATTTATTTAAGTTTTGAAATTTTAATATTTTGAAAAAGAAACATTTGACGTATTGAAGAAAAAGATGAACCTTCTTTTGTAAATATGGTTTTTACAAAATTCCAATCGTCCAATATACAGACTCATCATTTTCCAGCAGCATTTAATAGCTACGAAGCATGGCGCGTTCGGAACTCGAAAGGTGCCAGCAGAAGACGGATTCGACGTCTGTCTGGACAATTGCGTAGCACTTAACAAAGAAGGCTTCAACTATGCGGCTCAGCGGGGTGCGATTTTTGGAAAGTCAAAAAACTGGATTTCCGATTAAAAATATGTATAGTGTATGTATTTTTCAAATTTCCAGCTACCCTGTGTTACGTAGTAGTGAGCAACTTCTTGGATCGTGTGGACATTGAACGACAACTACAACACCACAAACAGGGACGATTTCCGATTTGGGTGTGGTCTCGGGCGAACGGACACTCGACGTTATTCGTTTCGGCGCATCACGAGAACTATATCGGATGCCGGGGATTTCGGCGAAGTTAGTACATTATATTTTAAGTATGATTTAAAATGTTATTTTCTTACCCAGCAGCGTTTGCAAGAAAGTATCACCCGTTGCCATCTGAATAAAGAGAAGCCGCATGTTCTAAACTTGGACGTCGATTTTGTGTCGAATGTTGGAAAAGCTTTTGATAATCTCCCATAGCTTAGTGCAATTGGTGAGGGAGAGCATTTCATATTTCAAAAAAAAGTTATTCGCCGTATTTTCAGCTCTTTTATTTTCCATAATTTTACATATACTATGCAATTTCCCAGACTCCTACGAGCAATACGTTACACACAGGTGCAAAACGGTTGGAATACGAAACTCCTATCGGGAGAACCGGATCGGGCTACATCTCGTCAACCTCTGCAGGATCACAACCTATCAGACGATTCAATGGATAGTTGATAGAGATCGATCGGTTAACAGGGTGTACTATCAATTTAGTATTCAGAGAGAGGGAGAGAGCGATTTTCATAAATATTTACATACGAGTTAGTCATTTACCACAATCGACTGATCAGAATCTGATACGTGGCCGTTTTGAGACCCTCCGCCAGTACTTTAGGAACTTGCACCGAACTTGCTGCTTGATCCTCCCCCTCCAGAGGATCTTCTCCAGATGGGATACAACTTTTGATGAAGCTGATCATCGGATCCTCCTGTCATCCGAACTAGATTCAACTGTCTGAGAAGAATACAACCAGTGTCTGCAATCACCGGGTTCCCTTTTGCTCGTCGAGTACTCAAATTGTGTCGGCATATGAATTTGTCCAACGTGGGAAGCCTGAATGATAAAGGGGGACTAGCGTCGAATAGTTATTTTTTATGTTTTTCATATACTCGTTTGCATTAAAGTAACGGCTCTCCTACCTTGAAATCCGAGTTCGGACTGATCTTTTCTCCGTTTCACCGAGATGATTCTTCTGGTGACTCGTTATTTCTCCTTACGCTGATCGTGAACCCATTTAATCAATTCCTGATCAACGTCGTAATACTTTAAAGGTCTTCCACCTCGACCTGTCGAAAGTCGCTTTGTTGCAGTTGAGCCTTTATCTTTCTGAAATTATTTGCCAAAAGGCACAAGTCGAAAATTTTTGGTAACAAAATGAAAATTTGAAATCGAACAGAGAATGTATCTGGGTTATGCCCAGTATTTCAAAATATAGGAATAGTAGAAATGACTTCTTTTGATAGGATAAATTATAAGCCTAGAAAAAATCATAGTATTTGAATTAAAAGGTCCACAAAAGGTTCTATTGATTCGGCAGGGCTTGCATGTAGTAGCGAAACCTGCCTTTAAGGCGACCGCCGCTTGCCTCTCGGTTACGCCTTACGTTGTGCTAAAACATAATTCAATCTTTTTTTTTTTAATTTCTATTCTGATTTTCAACAAATTGAGAGAAATGAGAAAATTAGAAATTTGTAAATTCACATAGGCGGGTTTCAAGCAGGACCCTGTCACCGCGCATGCCTAACATGACAGTCATAGCCCTGGACTCTTTCCTTTTTGAACACGAAAATATGTCCGAAGTGGCAAAACTTACAACTGCTTATGCCTCGATTTCAGCTTTGTGGGCAATGATCCATTGTTGAATGTTTTGACCTATTCACATTCAAATCCTTTGCTGCTTCGATAAATTCTTATGTTCGTTCAAGGGCATAATTTATGGCCTGCTCAAAATTCAAGTCATACGTTCTTTTTCGAGTTTTTACATGCACTGCTGTAGGGATTTCGCTAATTGGTTTTCTCTGAAAAATAAGTATAACAAGCAAAGTCTTAACTAGTCAGCAAGTTATTGGAAATAACGAGAGAGAAGCTAACGAAGGGAAGACCAATGGAGACAGCAAATTGGCTGTTACACACACAGAGAGACATGGCTAATAGAGTGTGCCTATTAGAGGGTCGAGGAATTGCAGTGAGACGAATTTACTGGGCATGAATGTAAAGGGGGTGCAAGGCTAATAGGAGGAGAAAAGTACAACTACAAAAGCATTATTATATAAAAAGCTAGGAATACCTGTATGGGCACCCCAAGATTTGTATGTAAGTAGTTATGTAAATGACTTTTTGGAATTGAAAGGAAAATACCAAAAATGGAAAAAACCTCCGGTCAATCATAAAAAAATTTTGAAAGAAGTTCGATCTAGGCTACGGTTTACAGTTTCCCTGATTTCTACTAAAATGCATTAATCTTGAGTTTATCTCTAACAAAGTGATGGTACTTTTGAATGGTTATAACACAGGTTGCAGAAGACGAAGGATCAGCTATGTCGATTATTGTGGCCCTCAGAGCCTCACGCAAATGTGGTGTGCTCCAAATTTTACAGAACAACTACGAGTGCAAAGAGTTTATTAGAAATGTTTTTTCTGTACTAAAAATGGGGTTTAAAAAACGAATTTTGGTTGATTTAGTTCTCTCCTTGTATAAATTTCGAAAATTTTCCGAAATTTTTTTTTCAATATAAACAATGTCTTCAACAACTCATCGAAAAAATGTGGATTTCGCGCCCTTGGCCACCCATTTGGTGAACGGCTACTCAGAAGAACCGACGATATCCATCGAGACGTGGGAAACCACAGAATAGAATGAGAACTGACGTCATGCCGATGTGGTTGATCTTATTGGATTGTGTTTCACAGATAAATATATACATTTGAGTAGGTTTGGTGAAAAAAATGTTTTTCCTCGCAAAAAAATGTTTTCAAAATTTGAATTTCCCACCCAAAATTTTTCTCAAAAATTTTTTTAAAAATTAATTTTAAAATTATCTGTTTTCTCAAAAAATTTGAATCTCCCGGATTTAAAACTTCCAAAAATTCGTCTATCAATAAATGTTATATTAGATAGTTTTCGACGAATCATAAAAATTAGTTTCTAACGCACTTTTCAAATAATTTTTTTAAAAAATAATTTTAAAAACAATTAATTTTCTTCATTCAATTTCCAGATTCACATTCTCTCCACAAAACCGTTCTCATTGCACTATGGGATCTATAATTAACTGGAATGGTCCCATCAATGGCTTGTAATAATCTGGAACAGCAATTACTCGCAAAAGTCGGCGGTGGACCATTCCCATTGGATCGATATTTTGAGAAAAGATACCTACTCGAAATGGAAATATTTGGCACGACGCAGTGCTTTTTATGGAATCAATTACGAAAAGTTGGTGCTTTTCAAGAAAAAAATCCATTTATATCGATTGTTTTTTTCTTATTGATTTCAGCTACTTTTTCACCTCCGTCAGCAATATTTTGTTGCAACATTTTGGACGTGGCCGCGAAAAAAAAATTGGTGGCCGAGTTGTCTTTTTTTTCACTGCCATTAATTGAGAGGAAAATCTCAGGAATTGAAAATTTTTTCGAAAGTATACAATGTTGACCGAGAAAATATAGGGGGCCGTGGAATTTCTCTTTCTTCTCTGCCACGTTATTTTAGTAAACAATTAGAATAAAAAACACAGAATGTTGTTCAAATTGAAAAAGTCTCTAAAACAAGAAAAAATTGATGGCCGAGTTTTATTTCCATTTTGCGCGGCCACGTGACAAGCAGTGATTTCTCAAACGTTTTCAGGAAAAAAAAACAGGCGGAATTCAGATAATCCTACGAAAACTATTTGTTTCTGGATACAAAAGTCAAAACTTCAAAATCGGTGGTCGAGTGTTCTCTTTTTTTGCGGCCTTATCACGATCCAGAACCAGTGTGTGCTCACTCGAAATTCCTTCAATGTGAATTTATTCGGCCAACGTCGAGACGTTTTTGCGATATTCAACTGTGGTCCGCGTCATCGATGGATTCCTCCGGCAAACGGGAAAAATTCGGGAAAACTCGGCGAAGTAGAACTCTCGCTGGACGAGAAAATGATCGAAATGCCCTTGGAAAAAATGGAACTGTTCCGAGTGGAAAATGTATCATTTGGACCTACCGGAAGAGGTGACCAAACTTTTGGATTTATAGGCTTTCGAAACATATCTTACTCTCAATTCTTAAATCTTTAGTATTCATCTTCATATCCTTAGTCGATTCCGGAGATTTCCCCAATAATTTAAATGATTTTGATATGATCCGGCCGGATGATTTCGGCGCAATGTCCATGAATTCCTCCATCAACTAACTCACCATCGTTCGTTAATACGGTAGGGATACTTATTAGCTCGGAAAATAAATAACGACACATTTTGTCTCGAATTTATTATAGGTGACTTAGTAATAGACATTTAGTGTCTAGGCACGCATAAAAATTAGATCTTTTTCATCGTTCCGATACTTTCACACAAAAGTACGTTTTTTTTCGCAACGTTGTCAATTGAACAATCAATAGGTCGGCAAATAATTGTTGGAGTGTTTTGTCACACGATATTTATCAAATTTATATGTGACTCCTGGTAGAAATTTGTTATGGTCGGCAATAAGTACTGAGTCATAAATTCATATAACTTGTTGTTTGCTTATCGATTGTTTTTAATTGCCGGAGTTCATGTTATTCACTATGGGCTTTCATCTTAGTCAACATTTGGTTAAAAACTCGAATCCAAGTAGAAACAACTTTTTCAAGGTTTACGCCGTGCTTCTTTTTTCTCTTATTTTCTGCACTACATTGATATTTATGTAGGGATCCAGGCCGAGTGTCGGTATTTCGATTTTTGTATAAAATCGAAATTTTTTTTTTGATTTTTCGATTTTCCCTGAAAACACACAATTGAAAAATGTCACCCTTGGTACGGATATTGCTATCTATTATACAGTGTGAGAATCCAATAAAATTATATTTTATTTTTGCAGCCAGTTCGTTACAACACGACAACAGATTGAAATCAATATTCGATCATTCGACACTTGAGAAACGAAATCGTCGAGCAGCTGCCAGAATTGGCCCCCGCCAGTTATTCAAACCAAATGGCAAATTGTCGGATATTCGAAATATGCTGATGATTCACACCAAGACCACATTCCCGAACTGTTGAGACGCCTATTTTAAAGACTGTACGGGATTTTTGGAAAATTTAAAATTTGGAAAATGAAATATTCAAACAAAACAATTTTTTCGCTTCATCAAATTTCATAAAAATTTATGTTAATAAATAGTTTTTTATTGAATTTTAAAATTCTTACTCAAAACTTTCAAAATAATTAAAAAAAAAAACCAAACTTGTATATTTTTTTTTATTAAAAAAGTTAAAAAAAATTTTTTTTGATAATGGGTTGACACTGCGCCTTCAAAATTTGATGAAAATCTTAATACTAGATTTTTTTAATTTTTCATTTAAGACTTTTCGAAAAATTCGAAAGTTCAAAAAAAAAAATTCAAAAAAAATTTCACTCTAATCAATCCCCCGTCTGCAAAATTTTCGATAAAACGATGAAAATTTTGTGGAATAAAAATGTTTAATTTATCATTCTGAGGCACCACGATTTAGTCAAGATCTGGCTCCTGGGATTAAGGACCCGATCTTGAGTACATGATTCTTCATTTCCAGCGCAAAATCCTTAAATCCGGGATTCCACCGAATCCGGCTTGACACCCGAGGTGCCTCATCATTCTACCTTTAAAAACTCCAAATTATAAAAAATTCTGCAAAACTCTAAAGAAATTTGATTTTCGATTTTCAAAAATTTAATTTTTTGTATTAAACATTCAAGTATAAAATATTGATGAAATTCTAGAATCATATTTTTAAGTTTTACAACATTTTTTAAAAATCTACAATCGTTCACTTTCTTGCCTTCGAAATTTGAATGTGAAGAAAAAATTTCAAATTAGAAATAAATTAAAAATGTGCTCATAGAATTCTTTAAAAATATGCGTTTCCCTAATAATTTCCATGTTTCAGTCCCCATCGCCCTCCTACACCCCATTTAACCCGACGCCCGTTCACCGGAACCGCGTCCGTGCCGACAATCGCCCAATTCGCCCGGCGGCCGCAGGGGCTCCTAAGAAAACTGACCCCCATCAGGCCCCGAGATAAGAGCTTATGGAGATGTGGCTATAGAGAGCCCTACTACTCGGGTCCCAGATTTTGAAGAAAAAGTTATACTAAGGTATTCGAGTTTAATTTCCGCTCTGGGAACACTATTATCTATAAACGTATGACCCCTTTAAATTGAGCTCCAGTAGTCAAAAACGTCGAAAATTTTCAATTTTTTTGAATTTTTACTTGAATTTTTTCATCCAGTTCTAAAAAAAAGCTTTCAGCTCTACCCCTTCTTTCATTTGTCACCTACTGCCTCGCTTCATTGCCCTGGGGTTAATTAATTTTTTGATGCTTTTCTAGTCCCGCCACGGTTTTTTTCATTTCGGAAAGTCTCGGATCGATTATCAATTTTTTCGAAAATTTGGTAAATTTAGAGAAACTCTAAATATTATCGATTTTAAGATACAAATGATTCTAAGATTTTTTTTTTCAAATAAAATTTTGGAAATGTTTTTTTGTAAAAAAAAGTGCAAAAAACACTTAATGGAGAATTTTTAAAAAATTGGAAAAAATCTTGAAAGTTTGTCGATTTTTCAGAGTGCCTTTTGGAGTTACGTGTCGGTTTTCTTTCCGAATTTTCATCAAATTTACTTTCTACCAAAAAATCTCTAAAACGCCGTGGCGGGAACCTACTTCATTTTTATTCTGCATAATTAGACAAATATTATTTTCTCATTTCAAAACTTGTTACATATTTTGTGTTGTGAAACATATGTCTAAATTTTTACGGACTGAAAAAATATTCTTAATGTTTTTGAAATTTTCATTATTGGCGTCATCCATGTCTATTTGATTGTTTCCACACCCCCCCCCCCCCCTCAACGTAAAATGAAAAGAACAAGACGATTGACAGCTAGCATGTGCGACGATCAAAGTACCGATTTGATTCAGTTGAGAGGGAGGGACACGAGAACGCGAAAAAGTAGTCGGAAGCCCATCTAAAAGTGCTGGAATACATTGGCAATCGCTATGAAATTCGAATGACCGACGGGAGAGTCTGTCCATACGTGGCACGATGATCGCCACTGTCAAGGCTAATATGGTTTTGAACAAGGTAAAAATTTGATGAAAATTTGGTTTGCCAAAAGCTTCATAGTTTCAAATATTTTTCCTTAGGAAAAATTATGCGCCGCAGGCACGATACACTAAACTTTCCGCTTTTTTCTATTGCTGGCTTAGTTTTCGCAATTTTCTGGCTACCAGTTCTGCAAAAATGATCGATCCGTGAATTGTGCAAACATCTGAGTTACACAGAGAGTGGGGGCGGGGCGGAACATCGCAACACTGCCGGACCCATGGTTTTGTCCACAACTTTTTTTTTCAAGACAAAGTCTCGGACGATTGTACTTGCTTTTTCTCTTTTTTGTATAACAATGGTATTTATACTAAATAATTCACATATGGTAAATTGCATATAGCAAAAATGGCACAAATATCCTCTCAAATTAAGGGGAGCCTTAATCTTAATTAAATTGGATATCATTTTCATTCGAAAAGAAGAGAGAAAGAAGTAAAATCGAAACTTTTGCTTTTGAAAAAAATGCTTGATTTTATGTCATTTCCGTTGTTTTTTTTTCAGTATTTAACTTTTGAAAGATTTATTTATAAGGTTTGCGGTTAAAAACGCTGAATTTCGCGTTTTTCTTTTCTGGATTCAAATTACAAGTTTGTTAGTAACAAATTCGAATGTCAAACACGGAAAAATAAGCGAAAATAACAAAAAATCCTGTATTGTAACCACAAAGTTCTCCACGAGTGGTACGACTACCGTGGAGCCGACGCGCCGCAGGTTTGCAAAACAACGCCCACCCCGTATTCTGCGCGGCACTACACAATTTTCTATCTCACGAATAAATTTTTCAGAAAAGGCAGGCTTTGGTCTGTCGAAAATATCATGAAAAATCAAGTCTTTGTCAGGTTTCCAACGCTGGAAAAGGTAGGAATTAGGGTTTGTTACCAAAAATCGTATAATATTAAAATCCCAGTGCTTCTCTGTCTTTCAGCAATATCTTTTAATTTCCAGGCAGACGAGCGATGGGACAAAGATCTTGAAAGGCGTCTGATTTCTAGGGCAAGCGATATCTCGAAAAAGCACCGCGTGGATTCGATGCACGCGTTGCCGGACCCTAAAAACTGAAATTATCCAGTTTTCTTATTTTCTCTAATTAATCCGATCCTTTTCTTGACAAGATTAATATAAAGTAATTTTTATCGAAGCGATTTTTGCTCATCTCATCCAAATATGAAAGAACATTCGAAGAAAAATCGCCGGCTTCACTTGGAACCGCGGCCATCAGTTGAGAATGCTGAATATGTACAAAGACTGGAAAATATTAAATTTTTCTGTTTCAAATTTCACGTTTTTCGCGTTTTCCACAAAAAAGCAAAGCATTGTAGTATTTCAAAAAACACTCATGGTAAACGAAGGCACCGTGGAATACACGATAGCAATGTGAGACCGCATCGACCAAACTGGGAAACGCCTGCGCCTTTAATTATGTTTAATTTTCGAATTTCGAGTTTATTTTTTTCTCAAGACTTTTGCGACTTTTTTAATATTTTATTACTTGTAGCGCTGAAATATCACAGTTATTATAGCGTCCCACATTGGGGACATCAATCAAAACAGGTATTTTTCAAAATATCGCCGAAATCAATAACCAGTTTTGAGATGTTGCCACCCGAGCCCCAGGCACGGATAATACTGAGAGAAGTTCCGGTCCAGAATACCCAGAAAGAGCAACCACCGGGTTCAGGAGATCAAAACCGTGTCCCGCAAGTCGAAGGACCATCGGACGTCAGTTCGAGCCGGAAAATTCCGGATCACTTCGACGTGGGCCGCATCACGGTTCCACATGAATGCCCCCGCAGATGGCTCAGAAGTCAATAGTTCGAGGACGACGAAAAAGACGAGTCGAGAACGAGTGTTGGGCGGTGATCGAAAGAATAGGAAGCGAGGATGACAAGTTCGAGGCCTCTGAGCTTGTTCCACGAGTGTCGAGTACCGCGATCACGATTGGTATATCGCGTTGGATAAATAAGGAGAAAGCCGGGGCGAATTATCAAGATTACGAAAAAAATTTTGATTTTCAATCTCATTTTTTAAATTTCAGCACCTACTCTACGGCTATCGAGGCGGAATCCAACGCATAATTCTCTCGCATCAACAGACGGATTCGATGGACAAAGTATAACGATTCGCCGCTAGTGAAGTACTGAAAATCATCGGAGACGGTCTGTACGTAGTGGTTCCGACTCGTTCCTCATACTGGTCTAATCAGTCCCAAATATCGTTACAACAAAGGCGTCGAGCTTCGGATTTTCGTTATAGTGAATTGGATTGATTCCGAATTGTGTTGGACGATCATCAGACGCCCAACGATCGTTTGGACAGATGTCGGACCTATCTGTCTGAGTGCCGCGAGCCAATATTCGACGGAAGCTGCTGCTGACCAAGATGCAAATTTTCGCGTCGTACTCCGAATGTGCCATATTACTGTCAACGGAATTTAAGCACCTTGGTTAAAAAAAACGCGTATAAAGAATAATAGTTCCAAATTTTCAGCTCGATTCCCGATGGTTCCCCGATTCCATGGACCATTATCATCGTTCCAGCCACTCATCGAACAATCAGAGAAGGATCCGATTACTGGGCTCAAATTATGGCCAGCGTTAGAGTGCTCTCGATGATTTAGTCGTTACAAAGAAGGTGCTTAATCATTTTAATATTAAATTTTACAGCATGTATAATTATTCATCTATCAGAAACGGCTCCCGCCTGTCTCAAAGATTGGAGGGTCACGTTAATGTGATTCGCCGGTGCAAATCAAATTCGGAATCATTGAGTCGGCGGGTGAAAAATACGCGACGCAGGGAAGCATGATGGCGGTCGTGGTTCAGTGCTATCAGAACAGCACGTTTGCATCTTTCGAAGCACTTATCGCCGGACCCCCGCGAGTCGTTGATTATTACCGAAGGACGCTTTCTGGAATTATTGCCCGAAGACGTGGCGTCTCGGAAAATGCGTGATCAGTATCAGAAAGAGCACGTTGTAAGCACGATTTTCCAGAGAAAAAGGCTTTCGATAAATTTTCTTATTTTCAGATCCGAAGTCGGAAGTTTACCAATCTGCATGAACACAGCCGGATTATTGTCTTGCCTCAAATCACTACGAGGATTCAGCGAGTGCCTTTGATCACAGGTTTATATATTTCTGTATTTCTTCTTCACTGCCTTATTTTAAAAGAATTTTCCCGTTTTTTTTCTTTTGTTCATTTTCCCCTTTTCTTGGTACGCTGTCGTTATGTCCCCGGTACATGCTAAATTAACGTATATTTTTAATTAGCAATTAAAAAACTTCCTGATTAACTGCCCGTTTTTGGAGGAGAACCAGAAGAACGCAGACGAGTTTCTGAAACTGAAAGGGTTTGAAATTTTTACCAATCAAACAAACTCGCAGTTCAAAAACCATGCCGTCGTTGCTCAAGTTTGAAAAAACCACTAAACATATTTGCAACGTAGATTGATAGAATATCATTGGATCTTATGGATCCGCAATGGCCAGATCATATTGACATTTACCGTTTAATGGGTCGGTACCGCTGAAAAGTTGCTGGTCTCGCAGCGAACTACAGTAATCGGGAAAAAGCGCTGTTTATTATCGAGTTTTCACTTACTCAAAAAAGTCAATAAACTCGCCGCGAGATCCAAACCTCAACTTACGATAGCTATTTGTAGGAGTCGATTTTCCATCGACAAGGAAGCCAGCGACTAGGAAAATTTTGATAGGGAGAAGCATTGAAATTTAATTGTTTTGGGGCGTTGCGTCTGGGCCGTTTTTATAGGAATTTTTGAGCTGTAAGAAAACAACGCAACATTTATTGCCATCAATTAATACTCCGGAAAAATATGAGTCATTATGGGGGGTTTTCAACCGTACGGATTTTGACAAATTTGAAACTACCATATAATGGTTAGTTTTGTAGTTAGAGAACTCAAAATTGATTTTCTAAGACAAAAACATTGCTTCAGAAAATAGTAGGTTTGTATAATTTCCAAAAAATTATTTCTTGCCCAAAAAAAAAAGAGCTTCATTAGATGGCTGAACCAAAAAATTGGGCAAAAATAAAAAGTGTCTAATTTTGGGGTTTGAAAACGGGTAATTAATATATGCAGAATTCAGAAAATCTAGGTTTAACCCATCAAAAACCATTAAAAAGGGGGACAAAATTTGGCAATTTTTTCAACAACTCACAATTTTGAAACCTCCTCTAAATTGGTTCAATTTGTAGCTACAGAACTTAAAATTGGTCTCCAAGCCATCAACAATTGTCCTTTTTCAAAATATAATAGTTTTAAACGTTTCTTTGAAAATTTATTTTTCTTGCCCACAAAAAAGGACAGTCATTAGATTGTGGCAAAAAATTGGGCAAAAATAAAAACTTGTCTAATTTTGTTGAAAACGGGTAACTCATATATGCAGAATTCAGAAAATCTATTTAACACAGCAAAAACCATTAAAAATCTAAAATGATTAATTTTCTAGTTAAAGCATGCAAAATGGATCTGCGGGAATACCAAAAAGTTGTCAAGTATCGCAAAAAAAGTGGTTCAATTAAAAAAAAATTAGTCTGGGGTTAAAAATCGATTTTTTCGCCGCACTTCGCAACTTGGACGAATTATTCTTTCGCTGCACAAAGTGAGAATCAATAATTATTGATTTTATTTCTAAAACAGAAAAATAGATATTCACTTATCTGAAAAATCGATATTAAACGGAAATTCGCAAAAATCGATGGTCATTAGTTTTTTTGCAAACCAGTAAAATCGCTTTTATCCTTCGCCGCATTTCCTAACTTTTTCTATGCCACTTGACCTTTTTTCTTCCAGAAATCTTGGAGCTTCCCAAACCCACTCATCAGCCAGCGTGCTTCATCAATCATTCCGTTGAGAACTATGAATTTATCGAGTGAAAATTAAAAAGAGGGGGATTTATTACACTGAAAAAGTGTTTTTGTGCCACGTGGCGGCCTGCAGGCCGAACCTAATTCCTAGCGGGAATTTCTAGGCCATGTACTTGGGGGAGATGGGGAGATGATCGAGGGGTCAACTTCAGGGAAAATGTTTGTAACAAAATAGAAAAAAAACTATAAAAGGTAAGAGGAGATCAAAGGTCACGCAACTAGGGCTTGAAAAATGAATGCCTGCCTACAAATAGACATGTAGGAATGTAGGCAGGCAGACAAAAAGTGGGTGAACAACGAGAAAAGGCACGTAAAATGGGGTAAAGGTTAGAGAAAAAGAAAAAAAAAGCTCACAGAGCACATTAAAAATGGAAAAAAACGAGATCATTGGATATTCTGCTGCAGTTGATCGTCATCATGAGTGGTCTGCTGATTGGGGTCGACTATCACATCATCTGGTTCACGAGAGCATCTTCTTCGAGCAGCTCATGGATGATCGTCTTGATGATTTGGCTGTTCAACCACTTGCGAATTCGAGGACATCATTTACAAATTAGAAAATACCATTTTTTAGACAAGAAATCGATAAATTTCTGTGTTTATTACTATTTTTCGGATAATTCCACACAATTAGATAGTTATTGAGTTGTCTTTCTATAATTTTCAAAAAAAAAAATTGAACGATAATTATTGATTTTTTTTTAAATCAAAAACTTCACAAACTCAAGAATTATATATTTTTCGTCCTCCTTCTCTTTCGGTTTTGTGTTTGTGTAATGAGTTTTTTTGAAAAACGCAAAATTTTCTGTGATATTTCTATTTTTTAACCTGAGGCATAGTTTTTGAAAAAATTTTGCAATATTTTCAGTGTTCTTTCTCAGAAAAACTCGAATAATTGCAAAAAATGTAAAATTTATCAAAAACTCATTTTCAGTCCTTTGCTCAGAGAAGACTGGAAAAAAAATTTCAATTTTTTTGAAAACCTGCCAAAAAACGAAGTTTCACTCGCGAAACATTTTTTTTATCTTTTTTCGAAAATTTAATACATTTTTTTGCAATTTTTTAATATCAATCCGTTCTCACATTTTTTGGTAAAAATATGAGGAAAATGCATACATTTTGGATTTTTTCAGAATATCTGTTTACCATTATTCTGCTTCTCCACAGTAAATACTTTAGGTGCTCCTTCTCGTGCACTTCTACTTCCAAATTAACATCGTCACCAACTGTCCCAATAACATCTTCCTCGACAATTTCCTCAACAATTGCTCCATCAGGAGCCATATGCAAATGCATTTCTCGATTATCCATTTCTTCTCCAGCCATTATTTCGTTAAACTCCAAACGTGTGATTCACTATTTGCAAGAGACGATGTTCGCTTTTTTCGAAGAGCATTTTGAAGAGCAAATCGAATGTCTCGTTGTCGGTTGCTGAGCCAAATGAGTTCTTTGCAATACGGAAGTGAGCCTCGGCTGTTTCGACTTGTTCAACGCGCCATTCCAGATGGTGATAGAGGCTGGAACTATTACTCAGAAATTTCAGATTTTGTTTCGTAACCAAATGTGGGAGCTGGGAAATTCGCGTTTTCGACGAAAAAATAGCCTTTCAAAAGATTATTTTCAGATATGTTTAAAAAAATTGAAAACGACGAAATTAGACCTAGTAAAAATTGGATTTTCAGGCATATACACGGGCGTTTGATTACGTGGCCGTGAAAAACGGAGAAACTCGGCCGCGTAGAAACAAAACCGAAAATTGCAGAAAATCCAGGAATTATTTTTAATGACTCCGAAATTTCTATCCCCGATTCCGAATTATATATATGAAAGAATATATACTTCTGAAAAATTCAAAAAACCTTTGCTCACGCCACTAATTTGCTGAAGAGCCCAAAATTTTTACGATCCTGCTATTTCGGCTTTCTATCCGGCAGCTGAATCTGTTGCTGGACGTGGATGATGATGGTTGCTGAATCTGCTTCCGTCTGTGAAACCTTAAGCTCTCACTCGTCGAGCATCTCCTCAAGATGTTTCACATTTTTCTTTGATCCTCCTTCTGAAGCTTCTGCTGAAGCTCCAGCCGTGTCAGTCGTCCAATCATCCACAAAATCACCCGCCGCCGCCGAAACAATCATCATTCTTCAACTGGATCATGATCACCTCTCAGCATCCCGAAAACAATGAGTCGCCACAATCTCACGACGTCGGACATAATAGAGCCTTCGTGTTCTCCTGAATCCTATACTTCTCCAACATCACTTTAGCCACCTCGGCAGGGCCTTTCTCGCGTGCAGCCGGAGCACATCCTCCCGAAAGTGGGGTGGAAGACGTTGAAGTGAGTATTCTTGAGCGGAGCTCATCGTCTGTGGTTAACCGGAGCCGGCATATCGCCGGGCTCTCAACTGTACGATTAAATGAGCTCATTGCCGATTTGATGGCCATTCTGCAATGTCTCACGTAACGTCACCTTCTTGCGAAGGACAACGTGGAAGGGCAGTACGTGAAGCTGGAATTCGATGAGATCCGAACTATGGGATGATGGTGTCTTCCAGATGTAGTTGACCTTCTCGATTCAGTGCGAGCGCTTGTTTCGCAGATTTTGGACGTTTTGTGATGCCGTCTGAAAAACAGAGAAAAAATTGAATTTGGAGCATCTTGAATTTGGGTCCTTTTTTACTTTCCTACGGAACGTCCCACTTTATTTTTCGTGGTTTTTTTTCTGAATTTTGGATTACAGGGAATATCTCTCCAAACCAAGTACAGGGAATACCAAACTGTGTGGGCCGTCGCAGGAAGACTTCTCTACACTTATAAATTGTTTTACCTGTAGGCACATAAAGGAAAAGAGCAGAGCCTGCATCTTTGTATCTTCGATAAATTCGAGTTAAAAGTTCTTTTGTCTCTATTCATTTGTCATATTTTCCAATGTTTTAAAAACATTTTTTCTAAACTTTACAGTAATTTCGAGCGGGCTATTTTCACTATCAACTTTTTGACGCGTTTTTAATTCTTCATTTCAACCTCAATTTGTGCAAACTTTTCAAATTTCCATATAATAGGGCCGATTTGAAATTTTCATAATTTACACCAATATATTCAATCTTTAACCTCATTTTTTTCACAGAAATTCCCAACATTTTCACATATTTTTCATGACAAATTTGTATTTCAATGTTTTCCAAACTTACGAGGAATGGTGCTTGCCAGATATTCTCTGACCACGGAACCATCACACGTCAAATTTCTTGCATCAACCTCGAGCCCATCAATAAAGAAAACGAATGCGGCTTTGCCAGTTGTGGCTGCCGGAAGAGCCGGTACTCGATTGTGGCATAGGGACTCACTGCAAAAAAAGCATCGTTTTTTATAGAAATGGATCGATGTTTGTGTATAACTTTATCGATTTGCTAGAATATTATCGATTAGTTTCCGAAAAAAAATTTTAAAACAACCGTAAAACTGTATTTCTATTTTTATTTTTTTAAAGATAGACTTCCAGATCATATTTGTTTTGAAAATTTATAAAAAATTATCGATTTCTCTATGGAAAAATATCGGCTATTCTCGAAACTTGTGGATTTCCCTAGAGAGTTATCGATTTCTTCAAGGAAAAAATTATCGAATGTTCTAGAAGTTGTGCAAATTTTTCATAAAATTATCGACTATCTTTTACTGAAATATATAGACTTTTCGCCCAAAAAGTACGTACATCAAAGAAGGCTTATTGACAAGAGAGTAATTGTCGATTCCTATCATTCCAGAACTCCATATCCAACAGCTGAAGATACAAACTACCATCATTGGCGGCTTGTGCTGGCACAGCAAACGGGCATTCTTTCTCGCATTCCGCCATATCCGACACATCATTATCATACGATATCATGTATCTGCGTTGGCTAGGGAAAAATGGATCCTCATTTACACGCGTTGAGCACACACTTTGTGAGCCTGCGAGAGCTCAATGAGAACCTATGGTTTTGTGGCTCGTTTCGCGATTCGCAAATATCCGCCATGCATTCGTGGTAGCTCGCCTTCCTGATTATAGTCGTACATGATGCGCGCATGGCTTCACCACGAGCCGTGATTCGGTTTCCATATGTGATTGATTTTTTTGCGTAGTCGTGGCGCACGTGGATTGTTATGGAATACAGGAATACCAAGTGGAATGTTGGCACGTTTTGAAGTTGGGCCCATGTTGTGGGCCTTTGGTCTGTGAGGGCTTTGGGATATTATTACGGGAGGCATAAAATTCTGAGAATGCGCATTGCACAGCATAGCCCATAGACCAGATCCGTAAATCAACACAAGCCCAACAGTAGTTATTTAATAAATTACTGTAGTTTTTGCTGCGAGATATTCTGCAACGCGTCAAATGTGTTGCGAAATACGAATGCTCAGACGTAATTTTTCCTAAAGCTCGTCTATTTTTGTTTCATTCAGGGTTACTAAAAAAAAACCTGTTTTTAAAGCTTCTACATGTTTAAAAAGTTTTGAGAATTTAATACACTTTTTTTAATAGAAATTTGGCAGATATTTTCATCACCTCATCGACGATTATTCTTTTTGAACAATTTTCGATTTTTATGGGAATATATTTATATTCCAAGAAGATTAACTTTTTTTCAAGAAATATGAAAATTTATCGATTTTTCAAAAGAGATTAATTTATCAAAAAAAGAATAACTTTTCCAGAAAATATTTGTTATTTTCTTAGAAATTAAAAAAAAATTGTTAAATCGCTACGAATTTTGTGTCAATTTTTCAAAAAAAAAAAAGAGGCATCGAGAATATCCCATTTTTTTCGAAAAAAATTTTTTGGTTATCGATTTTTCTTTTTTTAGATAAAACGTCTCGTATATACTTTTTTAAAGATGTTTTTTCACCAACAAATTTTGATATTAAAAAGTTGGAATTTTATTACTAAATTATGGAAAACGTTTTCGATTTTTAGAAAATCGGAATTGAAAGTGGGCGCAAAAAATTTAATTTTTTAAGAAATTATAAAATAGAGATTATGCTCATTTTGGTATGGAGAGCGTCGATTTCCATCGGGCAAGATTTTTTTGGTTGTTTTCCCTCCATGTAACACCTGAAACTCGAGTGATCCCATGCTCATCACAAATCACAAGCTCCGACTTTGCGAATTTTCGTCCCCGATAGCACGTCGGATTCTGTTCATTTACATTATTAGACCATGGCGAGAAGTCGTCACGATTGATGTCCGTGTGGAAAGAGGGCTGGCGACGAAGAATGCGTACGCACGAGAGTTACGAAGTGCAGTACATTGTAAGGTGCCGGCTTCGCGTAGTCAAGCTCAGCAGACCACGTTCTTCGCTGGAAATATGATGACTATTTCGAAACATTTTTCGAGGAAAATGGATAGAAAAAACGAAAAATTCAATTTATTTCAAAGTTCGCTTATTGTTGATGAAAACATTATTACGGGAACACAAAATACTGAGAATGCGTATTGTGCAAAGTTTCTCGCGAAAAGTGTACTACAGTTAGGTGTTTCTTCAAATGACTACTGTACCTATCCTTGCGATTTACGGGAATAATTTATCAATCGATAAAACAGTCATTTTTAGAATTACCGTAGTCCTCGCCACGAGATATTATGCGCGTCAAGTATGATGCACGCATTCTCCAAATTTTGTGTTCCGTAATAAAGTAAAATAATGTTGTTAGATAAATATTCAGGGTCTCAACAAAATTTAATCTATGTTATCAGTGTTCATGTTTTTAGAGTGGAAAAGTTTTTTTTCAGAAAACAGTCAGAAATGTAGATTGTGTTGCATATTTAAAAAAATCATTTAAAAAATATGAACATTTTTTTGAAAAATCAAATTTCTCCAGATTGTATTACGCCATTAAAGGTCTCGGCACCATTTTGTTTCAATTTTTTGAAAGTTTTTGAAGTAGAAATATTTTTTTTATGAAAATTTTCCGTCGTTAGAATTTCGTTGAAAATTCGCTAATAAACGGGGAGTAAAAAAAACGAAATTTTCCAATTTTTCGAAAAACAAAATCGAAAAATTCCTCCCAAACTTACACATGGTATTAGCAATCCACTCCAACATGGCCTCAAACGTGCTGGCGACCCTCATTATGTCTAACAGTCAAGCACACTAAATATGTCCCGTTTCCAATTGCCGGGGATTCTCAAAATAGGGCGCCGGGTTCTCCTGCGGCTAGCGGATCATCGTCAAACTCCAAATCGTAGCCAATGTTGAGCACATCCTCTTGAGACATATCCAACAAATCATCGTCTAGCAGATGTTCCCTGAGCGTCTTCAGCAATCGAAACATCTTGCATTAACTGATGTTGCTGCTGCTGGTGCTGATGGGGTTGAAGCTGGATCTGATCTAGGGAATCATTGTGATGTCCCGGATGACTTCTTCTTCCACGACTTCCAAATCTTCTACATCTAGTTAAATTGTTCTTCATAATTCGGTGCGGCAGATGATGTAGATGGATCTTGTGATGTATCAAACTTCTTCATGGATGATCGTTGATCCATTTCGATCATCTAACACCTCTTGATGTCCAGGTGTTCCAGGGTCTGGTTTAACAAACGGACACGGAACCGAACCATCTATCACAGCTATTCATATATATAACACACATTTCCGATCGTAATCGTTTGCGTTGAATATAAATGAGACGCTTCCGAAGACGGGGGCATCTCGGCAGGACGGACATTGTTTCGACGAGACACAACTGTGTATTTAGAGTGCCAGCCCCGCCAGCCGTGTCTTTTGCCATTCGGAACTGGCCGTTGTCGTCTTGGACGATGGCGAGCTGTGCGGACGCGGGTGACGGACCTTCCGAGGCAGCTGAAATTAATCAACCTACGGCACTCTGTACATCTCCGGCACCACGTTTTCAGATCTACCCTCAAAACAAGATCTACTATTTGGAGATCTACGAAACCACTACTTTTCAAGAAATGGTACCATTCGAATTGCATCGCAGTATTCTCTAAGAACAACAAATCCAGAATGATGACCGCCCATTGTGCTCCGATGTCGGGTGTTGTTTAGCGTTTAGAAAAATCTTTTTTGAAAGAAAAACTTCAGCCGAGAGAACGATAAACAACGCACGATGAGTAATATGGAAGAGTTTTTGTTTCGTTGTTAGGAACACTGAAAGAGCTAGATCCTGAAAACGTATATCTTGTTTTGGTAGATCTTATTTTCGTAGATCTTGTTGTAGAACCGGCCAGATCTCGAAAACGTGATGCCTAATCTTCTGCAGTTGGCGAATTTTCACATATTTCAAGCTAACATATTTTTTCTTAAGCTTGTCCATCGATTTCTTCGTTTTCACGATTTTTTTCAGAGAAAATATAGAAAATCGATAAATTTGACGTTAAATTTTCGATTGAAAAAATGGAAAAATTACAGGAAAGTATTGATGGAGATTTAAACTTTCTAAACAATCGAAAATTATCCTTTTTCTTCTTTTGGAAATTTTTTTTTGGATTTTTCCCAAAATGGGGGATTTGAAATCAAAAAGCGTTAAAAACAAATACTTTTCTTTTAAAATTACCGGAAATTATTTTAGAAAATTTCCTAAAAACGTCAATAAATTAAAAAATCGAACAAGAGAAAGAGTTATTAAATTAAACAAAAACAATTTCACAAAAGTCGATAGCTATTGATTTTTCATCATAATTCCCTAAAAGTCGAAATTTTTAAACCTTCTGATAAATTCTTTTTTTGTTAAAAATAGAACTTTCGATTGATGAGAGAGACGTTTAAAACTTTAATAACTTCCTGTAATTTGTCCTATTTTTAATCGAAAATTTACAATTTTAATTTATTCATTTAAAAAAATCAAAAAACGAAGAAATTGTCCGTTTTTCTGGAAAAATTAATTCTTCGGCTCGAAATTTCGATGATTTGTTTTTAGAAAAAAATATGTAAAAAATTATAGAATTTCAAATAAAACACTGTTTTTTTTCTTTTGATCTTGAAATAGTAGAGCCCGAATTTCTTCCATAATCCAATTGTTCACTCAAAATTTGAAATTTTCGCATGACAAAATAACTTACGATTAACAGTCAACACGGGACCGTCCCTGATCGCCAGTATGATTAATCTTACGCTTATTTCAACAAAATTCGCCGGCCACAAAGTGCACAAAAACGCCGGTTGTCGGAATACGTGGCGGTAGGTACGGTGGCCATTCGGCGATTCAGACAATTCGATTGGCTCAGCAGCTCGGGCTCATTCACCAAATATCGGAACGGGAGACGCCTCTTGTTGTGGGTGCCGACCCAACCTCGAGTATGCAAGTTTTACGCGAAGAAACAATGCACCATCCTTCCACTATCTCGTCTTCGAACTGGGAATGTTTTTTTGATGAGAGAAGTTAAAATAGTAATCTTTAAATATCAGTTTGAATTCGCCGCATTTCAGTTGTGCACCTTTCGTGTATATTTACGATATGTTTAATCTTTTTCAGATGCTGATTTCCGATCTTTAACGGGTTTCCTTGATTTTCGTCGGTTTTTTTTGGATATGTGTTTTTGAGGTCGATTAATGAACCATTTTATTATCAGAAAGCTAGCAAAATGTTAAATACTGGACAGAAAATCCATATGCCACATGCTTTTCTCGACTGAAAACCGGAAATGTTGCTAGTTTTTGATAATAAAATGTTAAATTAACACATTTTCAAAAAAAAAAACAATTCTACAAAAACCGGTGCGACGAAAATTCAAGAATCGTTGCATAAACGGAAATCAAGACCCGATAAAGATTAAGCATTTCGTAACACCGAATTTGGTAAAACGACCACATGGCATCTCTAGCCCGAAAATTCGAAATTCTTCCAGCTGAAATGTCCATTAAATCAGGGAATTTTTCTGAATATTTCACTTAGATTAGGGATCAGGAAAAAATTTGGAGTTATAATAAAAAAAGTTACTAAGCAAAACGTTTTAGCAATTTAGGTTCTAATAGGCTTTACAAATATCAAAAAGTCCAGATTTTTCAATATATATATTTTTAGAGCCACAGATTTTTTGCTGTTTTTCAGCATTCTCGGAAGAACATACCGGTGTGGATCCGGGATCATCCAGATCTAACGAGACGTGCGGATCAGTTGGATCGACCATCGCATGTCTTAAATAGTCGTTTCCGTGCGGATAGTTTTACGATTGGAATTTCACCGGGACACGTGTAGTCGTAGAGAATGAGCACGTTTCCTTAGATTTGGCCATCGCCAATGGGAGAGGTTCCCTAGAAAATCTGGAAAAAATTTTGTGAATGGATTTTTTCGTTCTGAAGCATTTTTCTTGAAATTTGAAGGAAGACGGGTTTTGCATAGACTCAAAATTAACCCTTTAGAAAATTGTTACGTTGGCTCAAAATATCGAGAATAAAACAATTTTTTTCTAAAATTTCGAAAAAATTGGCATAATGGCGGAAAATGTAATTTTATTTGATTATTGTACTCGCCTTTTTCAGTTCATTTTGGGTTAAGCATTTTTGGCCCATAGGCTTAAAATTAAACTTAAACATTTAAAAAACGAAATAAGATATCTGCACAAAGCCAGTTATGGCCACTATGAACTAAAAAAAACATTTAAAAAAAACAACTTTTTTTTGAATATTCACACTTTCTTAAACTGATAATAAACCTTTTTTCTCAATCTTAACAGTCTCGGCAGCCACGCGCTGTACTCGGTGAGATGAAGTCGGCGATACGTGGATCCTTGTCCGATTGGAGCCGTCCGTTGAGACGAGCAACCGGATGACGTCGGACATTCGGTTTGATGACTGGATCAGTGTTGCCTACGTCGCCGCCAGTAGAGCTCGATAGCTTCAGATCGTCATTCGAGACGTCTTTATCGACATGATTTTGGAGCCGTCCACATGCGAAACAGGCTTTGTGTGGAACAAGTGGTGGGAGACGGGGTTTGTCCAGAAGCCAACCTCCTCCGCGACTAAAAATGGGGACCGTTGATTTTAGTTTTTTTTTTCTGGATTTTTCGGACAATAGCATTTTGACCATTTTCTTTATTTTTAGAAGTTATTTTTCTATATTTTTTCTCTAAGAACTATTGTAAAAAATAGTTCAATTTTTTTGAGGTTCTGGCGACAAAAATTTATTTTATCGAAAAAAATTTTTTTTTTTTAAAACAAGATATAGATTTATCACTGAAAATTACTAATTTCCAGTGCAAAAAATTTTTTTGCCTATTCTGGTAGCTGCCTGATTTTTGATATATATTCCAACACAATAAAGTTGCTGAAATTTTCTCCTTTTTTCACTGTCTCCGTACATCATTGCAATTTCGGTCTGTTCGCGTTGGTTAGCAGCTCATTTATTCGTTCATTTCTGTGAAGGTACGCCAGGCAGCCTGAATTGTGGCGTAGCAATCACCGTTTTTCGTCGAATTTCACCTTCATCTTCGAACTGCAAATAGACAATCATTGAAGAAAAAAAACGTTAAAATCCGACTTTCTCGATGATTTTTATGATTTTTAACTGAAATATTGATTTTTCGGCATTTTCTGAAGCAGATTTTGATTAAAATTTGAAGGTTTTTTTTCGTCTCCCGTAGGCTCAAAAAACGCCCTTTTTATGGCGGCTCAAACGCAAATATTAAGTAATATTCGAATACAAAAGTTCATAAATTTAGGACCCCTGCGGGGACATTAGACTTCAGATCTAAAACTAACCGATTTTGAATATTTTGAGCCAAGTTTGGCCAAATAGGCATTAAATTCACTCCAGATGACTAACACGTGAAAAAAGTTAAAATTAGGTAAATAAGACAAAAACAGAAAAAAAATAACTTGAAGCGAAACTGGAGCCCATTTTTGGAGACAATTCTCATTACAAAATTGGTTTTTTGGGAACATTTTTTATTCAAGTTATTTCGGACATTTTTTTTCGAAGAATTCCCATAAAACTTCGAAGCTTTTTCGGCATGTAAGCCCCTACCAATTTCACGCAATCTGGTACTGCCTTTCAGCAAGACCCAAGTTTACTGATAACTCTCCTTGAACTCGGAACATTTTCGACGGTGTCGCCGCCGCTGGATTTATAATTCTTCGCATTCTTCTACCATCGTCGATATACGACCCATCCGTATCCATTGGGCAAGCTTGCGTGTTCGGACACGTCGCTGTTTGCTGGGCCTGGAAAATTTCGATTTTAAAGTTTTTTAAAATAAATAATCCCCTACAAATTAATTTCCAAATGCGGCGGTTGCCAATCCATAAACCCGTCGTCCTCGTCCTCATCATCACCGAACGGGTCCATTTGTATGCGATCGCTCGTCTCGATATCTCGAGGGGAAAGGTTTAAATAGGCGGCTCATCCTCTACGATGACCTCCGTCTCTGCTCACGTGTACATCGTGTCGTCGCCGGCGAAGATCGGCTCTCCGAGCTCTCCGGCGGTGAGCTCCTCGAAATGTGGCGCTGGCTTTTAAGCTCTTTTTCACGTTGCGAACCGTACTTCCCTACGTCCTGCGTTTTGGAGCTGCGATCGAGCTCGTCTTGTGGATGCAGAGGCGAGCGCTTCTTCCTTTGGGTTGCCCAACTCGTAGTCTTCATTGTTGTAGAGCACGTGGGGATTTCCGAGCATTTCGACGTGGACGATATTTTGTGGCTGGATCCTGGGGCTCTGCGGCCGCAGGCTCTGGATTTGGCTGGGGCTCTTCGGCCGGCTGGCCAATTGGGGCTCTGTTGTGCACAGGAGAGAGCGCTGTTGATCAACTTGTTCCTGATTTTCTGCCAATTCAATTTTCAGGATTGACATTCTTCTGCAATTTAATAATTGAAAATAAGAATAATTAAGTGGAAAATTAAAAATTAAACAAGCATTAAAATAAATTTGAACAAGTCCAGATTTGTAGTCCGCAACGCACGGACGAACGCATACACCACAACTAAGAGAGACGGGAGGAGGGATGGAGAATTTGAAAGAGATGGCTAGGCGACGAGATAGCCGGAGGATTGAGGAAGGACAAACACACAGATGTGGGTTCTTGCAGCGCTTTCTCTGCGTCACTTCTTTCGACATTTTTCGGTTCAATGGGAAATTTCTACTTTTTCGGAGTTTTTCTTTTTTTTCATCGGAAAACTTCAAAAAATTCAAATGGAAACTAGGAGCTGTACGGACAATGCATAGAATAACACGAAAAATGCACATTTTTAGGCCTTAGGTCACTGTTCCGGCGCGGAAATGCGGATCAATTTCTTTTTGAATTCAAAATAGAGAAACTGGACGTGATGGTTGGTACAAGCGTTTAGTGAAAATGTATCACAAAATAGGAGATCAATTAGATATGTTAATTTATTCGTGGACCAAATGACTATAAAAAATTGCGAAATAAATAAAAGTCGATTAAAAACAATCATATGTCTTCATTGCTTGGCGAGAGTTTCTCGGTATCGGATAAACTTATCTCCTACAAGAGACTTGCGAATAACCAAAATAGTTTAGTAATCTAGACATTGGGTGGGGTGGGCCCAAATATTGAATAAGGGTGAAGAAAGATTATTCAAAATACGTCGCTGAAGTGTTGGCATACAATATTGAGTCGGATAAATGGTAAGAAAGCATCACCACTCAACTCAGATCACAATCTATTTCTCTGAAGAAGAAAGGGACGAATGTAGTAGCTTGCTGAGGGGGGGGAGGGAAGGGCGTGGGGATGGAGGCAATTTCAAATAAATCTGAAAGCAAGTTACAAATACGCACAGCCAAAACGGTGAGGCCGAGACTTGGCAAACCCAGTGATTGCAAGAATTCGATAAAAAGCTACTCGCGGATGTTAAGAGCGAATCATTTGGATCTCGGGGGCAGTAAATTAAAGGGACAAGGCATTTCGAAAAATACACACGTTAGACTGAAAAAAAAAAACCGATGTGATCATTATGGGATGCATCACTGCTTCTTTGGTGGGTCGAGTTGACACTGAGGCGAAGGAATGCGGATTGTACCGCTGCCACCGCCATATCCTTGTCTGTCAGTTGCTACATGCTTGTTGGATACAGATTTGTAGATTCCGTCTGTATAAAGCTGCTTCAACGTTGGTGCCGAGGGCAGATGTTTCTGAAAAATAAAGATATATCAGCGCTATAGATTAGTTTTACTTACCAATAAACCACAATTGATTTCTTTCGGTGCTGTAGATCTTGGCGTCCTCGTCTGTTGAAACTGATTGCACTGTAGCAAATGGCGCAAGTCGCTACCCTTGATTTCCGATCAACATAATAACAATGTTATGATCGGCGTGATCACGAAGCTCCTTCAACTATCGCTCTACATTCTCTTACGTCTAACATGAAGCTTAGTGTCGTAGACTAGGAGAGCTCACAGCCCCACGATAGTAAGCGGATATGATGGCACGGTAACGTTACTTTTCTGTCCAGCAGTATCCCAAATTTGAGCCTTCAATGTCTTGCCTTCTACCTATGACAAAAATAATAATTTGAATCATAACATTAGTGTATGCTACTGAAGTTCCTCACCGAGATGCTTCTCGTGGCAAACTCGACTCCGATTGTTAATTTTGATTCCAAGTTGAACTCATTCTTGTGAAACGAATAGACAGGAGATGTTCATCGACTTTCCGACGGCTGAGTCTCCAATCAGAACAACCGAAACAATTTTTCGTTTGGGAATTGAAAAAAACAAAATTACCGTTGAAACACAATTAGTCGTACTGCATCGTCACGAGAGCCCATCTTCTGCGCTGTAAAATGATAAAGGACTTGTTAAGGTTGAAAGTTATATATTAGGACGATTGTAAAAAAGAAAAAGGGCATTGGTCTCATGATTCATCAGCCGGGCGCAATGTCTTGTTGTAAAATCGATATTGAAAACGAACACTGTTTTATCGGCGGAGCATATTTCTATGTTCTGTTCCCGACACAAACGCGGAGTCAGCAACCGCTATCTCGACGCATGGGATTGAAAAAATAGAAGTGAACTTAATTTAAGAATGATTCAAAGTATATGAGTTGGGAGTTTTATATTGTTATCAATATATGAGGGGGGTGTCACCTTGAAGGAAAATGTGAAAATGTATATAGAAGTGTGTTAGGCTGAAGAGTATTTGAGGCATATCATACCCGAAAAACAGGGAAGGTGAGCGGCCACTTTGTTTGTCGACACGATTTCGAAATAGTTGAACTATTTTTTAACGGGAAGAAGCTTTCTCTGGGTGTTCTTTTTTGATATTTTCAGCTAAAAATTGAAAAAAATAATTAGTTTTATGGCTGTGAACATCCACAACATAAGCTTTTCCGAACGCGAAATGCGTGTGAAACCCAAATAATTGAACGTAACAGGTCCACCGGCGCGGCCACGGCGGTCTGAGGGTACGCGACGCTAGCGCAGCGCAAGGCCGGGTCCCGGCACGACAGACTACCGTATCCCTTTAGCAGCGGCGCAACGGATCGTATCTCAATTACATTTTTTTTTTTTTGAGACTAACGATTTTTCCGTTTTTTCAGAGCAATATTTTTCATTGATTTTCTTAAATTCATCAGAATAAATTTTAGAACCTAATTTCCCGTAATTCTGATACGCGTTTTTAGTTTTCGTGAAGAAAATGCTGATTCGAAAACTGAAATAATTTAGTTTTGAAAACTTGCTCTGAACTCTGTTTCAATATCTTATAATTTGCTTCTTTTCTGAATATTTTGATTTTCCTCAGGTAACCAACCGCCTATACTCCAACGTAAGGTTTTTCTTTAAAATTTATATTAGATTGAAATACATTAGTTTTAGGCCTGATTTTCAAATACTTCAATTTTGATATTTAATTGTTGGTTTTTCAGTTGAAAAGAAAGTGCCACAGGTTCCAGAAACTGTGCTCAAGCGCAGAAAGCAGACGATCCTCGCACCAAGGCTGGTCAACATTATACTAGGTGACCGTCTCTGTAAGTTTATTTAACTGTCTTGAAAGAAAACCGAAAATGTTCTTGCGCTGGTTTTAGGATCCACTATTATCCAAGGCTACCAGCAGTCAAAACTGGAAGCTATAAGATCTTGTTTTGGGTGAGGTGTATTCAATTCAGAATGCGTCTCATGTTTATAACACGATGACAATTCGAAATTTTACAGTTTAAATTGTCTTTTAGGTCCCGTTTGAAAATTAATTTGTACTAATCATGCATTAAAAATAAAATTTTTTACAGAAGAACAAGGGAAGAGAGAATTCTTCAAGCGTGCTGAGAAAAACGTCCAGGAGTACTCTAGAAACGCCCAAAAGGAAGGACTCAGACTCAAGCGCGAGGCTGAGGCCAATGGGTGCGAGACTTCTACGTTCCAGCTGAGAAGGTCGCCGTCGTCAGACTTCGCGGTATCAACCAGCTTCATCCAAAGCCAAGAAAGGTGAAATTATGTTAATGAGTTTTTTAATAACCATTCGTTTTCAGGCTCTCAAGTTCCTCCGTCATAGTCAGATCAACAACGGAGTGTTCGCCAAGCTGAACAAGGCTACTCTTCCACTTCTCCGTATCATCGAGCCATACGTAGCTTGGGGTTATCCAAACAACAAGACCATCCACTATCAGAGTCCTCTACAAGCGCTAATCGGATACGCCAAGGTTGACGGCCACAAAACCGCATATTGCAATCACCGACAACACCATCGTCGAGCAGAGCCTCGGGATAATTTGAAAACGTATGCCTTTTAATTCTTATTTAATTGTTTTCAGGAAAGTTCAACATCATCTGTCTTGAGGATTTGGCCCTGGAACGAGATCGTCCCTACCGTCGGACCACACTTCAAGGAGGCCCACCAACTTCTTGTGGCCCTTCAAGTTCAACAACCCAACTAAGATGGACTAAGAAGACCAACCACGTCATTGAAGGAGGAGACTTCGGAATCAGAGAAGATCAAATCAACAACCTTCTCCGAATAATGGTCTAACTTGTTTGGTGTTCATACCTTCCTCCCGGATAAATCGTTATTGTTTGACGTTGTTTAATTATGTGCATAAATAATCATGAAACGTTATCGTCTTGGCTCGACTCATCTCGGATTTCATGAAGGGTCTCATCATTCAGATGAATTCGTAAAACCGCTTCCCTTGCTGACTACTCTCCCAAGAACAGTCACTGTTCCCTACTATGCTCCATCCTGTTTATTTCTAGAAACTTCGAAGCGATCCTAATTCCCTATGAAGTGAGAGAATTTAGGTTCGTGAATAAACATAGTCCAGATTTAAATCCACGCAATGTCCTCTCTACAATGTACTCCCTCTTGAGCACCTTAACCCATTGATGATGTAGATGGGTATTTCTTCAAAAATTTGATGGAAGGACTTGATTATCTGCTCGCCAAACGATATGGAACAGTTGCCTTAATACTAGAATTATCCTTAGAAAAAGCTTAAATATTCTTCCAGTCTCTGGACTCGGGCCTGACTCCAAAAGAGCGAGCACAGGCTCTCGCATTGCGCACTTTGCTCGACGTGCTTGGATGCTTACACGCGAGGCCAACTACGGATTTCATGTGGCTGCGCGATTAAGAATAGACTTCGGGCTTGGTCAGCTCTATTTTTGGAGGAATTGGGTTGTACCCAGATGCAGAAACGGGTAGATTATTGATATTTTATGGAAAAATCGATAAAATATTGATTTTTTACTGGAACAAATAGATCAAAAATCGGTTTTATTTTCCTCGGAAAGTCAATGCCGCTGTCTGAAATTAGTAGTTTCTTGTTGATACAAGTTCGATAAAACTGGTTTTTCAGAAGCAAAATCGATATAGTAAGCCAAAATGACCAAAAATTATCAATTTTCCTATAATATTTACCTTGGTTAGATTATCGATTTTTAAGGCAATAAAGTCGATATTTCACAATTTTTTATTTTTTTTTGGCTTTCCAGCGCGCAAACTGTGCCAAGATCTAAATTTTCCGAAATTTTCATTTCTGACACGCCGCCGAGTGCGAGGCTACGGAATATCCGGAAAATCGGCATGCGAGAAAGGAGGTCGCCTGCCGAACAAACTGAAGCTGTTGGAGGCGGCCTCCCTGACTTTTGGCTCGAAAAATACTTTTTCGATGTCAATGCACCGTCTTTGGTAGGTGGCAGCCAAAAAACTCGTCGGAGCCAAGACTAGGTTTCAGCTCGACTGCAAGGCGTTCGCCGTGATGGCTCAAATATACACCACTGCAGAACGAGGCCCGCGTAAAACAATTCATCCCGAAACGATCTCCAAATTTGTTCGGTGGCCTTGAGTTTTCTAAGCCACGAGAGTTGAAAAGTTCTATAATAGGGCATTTGGTTTCAGATGACATTAGTGACGGGCACACATGAATCCAGAGGAATTCTGGTCGGATTGGTGTATCACGTCGGAGGATTGAATTTCGTGGAAAATGCTAATTGGTTTAATGTAATATGATTTTGCTTCGTGGATTTTAACCTATGCACGAATAAAATTTATATTCTAATTTTAAAAAAATTTCAAACCAAAGAATTTTGAGTCTTACGTGACAATTGAAGGGTATTGCAATATGGGCATAAAAAATATATTCCCTAATTTTCGAACTTGCTCAGTCTTGGTTGCGCAGGAAATTTTTTTGCAGTTCTTGTTTGGGCCTCGGAGCTTGCGCAGATGCATAATATTTGACGCGCAGAGTTTTAATTGAAGTTTGAGCTTGAATTGAGTTATTGAATTTTAATTAAATAAAGCGAATTCTAGATAAAATGATGTGTTTATTGCAAACTAGATCGTGAACCTACAAAACAAAGACTTTACGCGCAAATTTCCGAAATTTTCAAGAAAAACCAGTGGAGGCAGAATTTCAAATGATACTTGTTCCTCTTCTATTTCTTCTACCAATTTTGTTGTGCGGTGGGAATAAGAAAAAAGCGAACAAAAATGATGTAAAAGGCGTCGAAAGTAAACCCACTGGTTCCACCGTCGACCTCTACAGACCTGCTGAAGACTAAAGAGAAGGAGAAATGAAAAAAGAAGAAGCTCCGGGAGCACGACGCCCCGACTCAGCCGAAAAGTCCTCCGAAACCAGTGGTCCAGGACACGAGAACTTGGTTAAGTGCTGCCTAAAAGTGAGAAGGAAGACGAAATGAAGAAGGGAATTCAGTTGCGAATCCGCCGAAAAATTTGGTGGGTCTCACTGCGATACATTGAGTGTTTTATCGATTTTCTCTGAAATAATTGATTTTTTCTGTAAAATTTTTGACCGCGAGATTTGCGAGTTTTCTGAATTTTCAAATATGTCGATTTTTCAGAAATGCGAAAGTGAAATTTCTCAAAGGAAAAGCCGGCGGCTGACAAAGAAGGACGAGAAAAAAGAAGCAAGATGGCCATAAGGAAGAGTCGAAAAGAGGGAAAGGAGAATAAAAAGGAAAATGACCAAATTCTGTGAAAAATTTCGATAAATTGGTTCCTGAAGAAGTCATTGTTCATTGTCGCTTTTTCAGAATTCCTCGAAATTTAATTGGGCGTCATGCTTCATATGTTGCATTGAGTCCAGAGACTTTCAAAGTTCACGCGCAGCAGACATTTTAGCACGCGCTGCAGTGAAATTCCTCTTGGTGAAGATCTTGATTTTTTCCCGCCTTTTTTGAAAATTTTCGAGGCGTTGGTCGAGCCGAGTACATGTGAAGACGGAATGTCAAATCACAAATACATCACATTTGACGCGCAAAAAATTCGTTTTGAAAATATGCGCGTCGAATAGGGTGCATTGAGTACGCGGAGCCAATACTAATCACACTTTCTTATCGTGGAAAATGGAGCGAAATTTGATTTTTTGATATTTAAATATTCGGGAACAGAAAATTCGGAGAATGCGTATTTTGAAACATAATTGACGCGCAAAATACCTTCTCGTACAAAGCGAAAACTACAGTAATTCTTTAAATGACTACAGTAGCACATGTGTCGCCGATTGGGCGTGATTTTTATTCCATTTTCTTCAGTTTTTCTTGACATTATTGTGTTTTATTTTAATATTTTTACCGATTAATAAATGATTTCCGCAAGATAAATCGAGCTCACAAACGCTACAATTGTGTCATTTAAAGAACTGTAGTCTCCGCTGCGAGATATTTTGCGCGTCAAATATGTTGTGCAATACGCATGAATTTTGTGGGCACGTAATATTTGAGCGGCTGTTAGATAAAGATCAAAAAATTCAAAAAAAAAAAAGATGTCAGAAATCAAAAATTTTTTATTGACGCAATGCACAAAGTCTCCTGTTTCCCTTTTCCCCAAAGTTTTAAACTAATAATAAAATTTTTTAATTGTCCAATCCGACCAGTTTAATACGAAACAAAACGGACAAAAGATTCCACAATTCCGATTACGGCTCAACACTTTCACTCAAGGAATTCTCTACGCTTAGATTTTGATCTTAATGGAAAACTGGTAGAACTTGGTATAAAACTACACAAAACTGGCAGAAAGAGTACTCCTTCCAAGACAAATAAAGTCCCTAATCGAGGAAGATCACTTGGAGCATATTCTGCCGCAACGCGTTTCTGCGCCGTCCCTCTCCAACTCGTGTATTGCGATTGTGGTGTTAACACTAACAATTGCCTATCAGGCACTGTAGTGGTATTCATATAATTCACTCAAATTTGCTTAACGATGCCCATTTTTGCCACCTGGTAATTTTTTTTAAAAAATTCAGAAATTTTGATTTGGATATATTCAAATAAAAAAAAAGTCTAAATTTATTTGCAATCGTTTGAGATTTGACATACATTCCAAATCCTACTCTTCGCAATTTTTTAGTCAACTCAACCTCAAAACCTTAAAAAAAAACCGCAAACCTGTCATGGCGCATTACGTCGATGTTATCCCTACGATAAATCTTCTGTTTTCGAAGGGTTTTTCATTTTCCAATTTTTATCACCAAGGAAAATGTATACACCAAAAAATTATATAGAATGTGACGTGTAAATTGGCAAAAAACTAATAACTTGCGCTTAGCTTTAAATCACTGCATTGCCTCTGCGGACTCAACACACCCGATCTGAAATTTCAGGAACTTATCGATTTTTGCCTAAAATTTTGCTGCATGGCTGCATCGATTAAATATTAAAAAAAAAAGCTGTTGAAAATGATCGATTTTTTTGAACACGAAAAATTTGTGGAAAATATGAAATAAAAAAAAACATTGTGCATCGAAAAACTTACAGGCTCGATACCGTGAGCTCTGGACAGAACAAAACTGAAGATGGCTCGGAGTCGCGGCCGGGACGAGTAGCTCGTGGCCCGAACCAAGCGAGAGGTTAAAGGCACATGGCTCCTCGGACAGTCCAGACCGATGAAGCAGAAATCGACGACAGAACAATACGCCGAGGCCGCTGGCGGAGGCGGTGGAGCAATACCGAGTGTAGACGGGGCAGGTGAAGGACCACCGGGTGATGGTAGGTTTTTAGATTTGCGAAGCTATCGTGGTTTATTGGTTTAGTTTTACAGACGGGGTCGACGGAACGGAAGGAAAAGACGGTGCACCTGGAACCGATGAAAAAGAGTCAGGTACCACAAAGACCCGGCGACGGAGGTAATCAACAGGTACCATCTGATGCATTTGAAGCATGCACACGTGAATGACCACCAGGACCGCCTGAACCAACCGCCCGGAGACAAAATCTCGAGGCTACCCTGGAGAAATCTGGGAAGAGCCAGGCACCCGAAGCGCCGGACCGAAAGGAAATGCTGGACCGTAAGTGGAACTACAGAATCGATTCAGTCTGCGGTAAAAAATCATTTTAGGATAAAAATCGATAATTTTCATTTTCGTTTTCCTCCATTAATTTATGTTAACTTTCTAGAGTTGGACCAGGTCCACCCTATCCAGGACGACCTAGAGAAACCGGAGATCACGGAAAGACGATCGCCGGAGAGGCGCCACCTGGACCACCAGACGACAGAGGAAGGAGAAAGTCCACAAGGACCACCGGGACCATCAGGGCCACGTGGAAAGAACGGAGTCGATGGAGAGAAGGGTACGAGATCAAGGTAATCCGGGACCATATGGAAAACCTGGGCAACCGGGAGCTCCAGGACCCGATGGCTCTGGTGGTGAGAAGGGAGGTTGCGATCATTGCCCACCGCCAAGAACTCCACCTGGTTATTAAAGATTCTTCGATTAGTTGATATTTTATTTTATTTGATCATGGCGTTATTCATTTTATCCTTCGGTGAAATTTCTTTTGTTGCACTATGATAATAAAATTCTCTTGCCAGTAGTTCCAAGTGCCCCAACATATTTTGGAGTCCTTTATGTAGATCCCTCTCGTCGAAAGCTGGAAGATTTCACAATAAATCTTTCAGAAAAATCGAATGAAATTTTAGAAAAAAAAACATCAAATTTTTGACGAACTGCATAATCAGTCAATATTCTATAAAAAAAAATACGATCGCACAATAATAAACAACGACGCGGAACGACACAGTCCGCGGTTACTGAGCTCCGCCCACGATTTCATTTGCACTGCGTTGAGTCGGCCGTGTTGTTATTCAAGAGTGAATATACTGGTTAAGTTTAAAAAGTTGGGTGTTTAGTGTTGAAGAAAATAATTTTTTTATTTTGAATAAAGCACAATTGGCAGCTGAAACTGGATTAAATCCAGACAAATTTTGAACCGTGGTTGTTGATGCATTGAGTTTATATTGTTAGTCAAATGTATGAACTTGTAAAGTGCTTGTAAATGTAAGTTGCTTGTTCGCTCATTCTGAAACAAAATTTAAATTAAATAAAAGTTCACGCGTTGATACAAAAAAGCCAAACTTACTGATTGCAATAAAAATAATCATTCATAATAGTTTTTAACAAACAACAATCCAATGCGATCAAAAGTTCGGAAGGTGATTTACAACCAGAGGACACCCAATCCAGAGAAGATAAAGAGACGACTGCTACGTATAGTGAGGATACAAAGCCACGTAAATAGACCGAAGTAGTCCTACTTTAAAATAACAGTAACCCAGCTGCCTAAATATCATAATAAAACTTGCAAAAAAATGATGTAAAATTTTAGTTTTTAGACTTTTGAACTGGTAGAAGCTGTGTTAGCGCCACTTTTTGACCACGTCTAAATAGAAAAATTTCCCATTGTAAAAGAGTTGTATTATGATACACTGCGTGGCGTGTAAAATACCGAAAAATAAAAGCGCGGTTTTTTTTTTCGTAAAATCACAGGGAAAAATCCGTAATCCCGGAACTCCAATCAGCCGCCAACATCCCACGGGCCCAATAACTTCTGGGTTTTCAACAATCTCATTTACTCCAATTCCCGAAACCCAATGGGAAGGAGAGCTAAACGCGGAACGGGACTGCCAAGACCCCACGCTATCCAGTTAGTCGTCCGACCAACGCCTCTCACACCAGCCATCACGCCATGCGAAGCACCACCACTACCACCTCCACCAAACCCTCTAGCGATAATAACAACTTGAAACGATTGAAAGTCAAAATCAACTGATTGAAGTGCCCAGCGATGAAGTAGGCCGAGTAGATTAATATAGACAATTTTCTTTCATTTCATGGGAAGGAACGAGTGTGAGGCGATGTTGAGCAAGCATGAAGACGATTCGAATGACGGAAATTAGGAAGAGGCAGGTCGCGTATGTGATTAGTATCAAGCATGGAAGTATCAAAATATTCACGTGTGTAACGGACCAAGACGGTGGGAGTTGTTTGGTATTATCATTTAGTTTCGTTTCAAATCAGACCGAGATACATACATTGAAGTTCAAATTTAGAACATGTTGCATCGCAATGTTGTAGTTCATTGTGCTCCCTGAAGCATTTTGCGGACACCACGAATTACATAGAAAATAAATATTTTAACCTATGGTGGGCGGCAAATTGACAAATTGCCGATTTGCTGAATTTGCCAAAAATTTTCGGAAAATTGTATTGTTGCACATTTTTTTTAAATTTCAAAATTTCGCAAATTTTATCGGCAAAATTGTACGCATCAACCCTATTTTCTACATCTGTTCCGAAAAGTAATTATATGAAAATATCTTAAGAAAAGGGGAAAAAATTCGAAAAGGCACAGTTTTCAGTGTTTGCGTCTTGTACAAAAAAAATCTCGAAAAACTTTCGGCCAGCAAACCGCCAAATTGCCGGAAAGGTCTTATAGTTTCAGCTAGCAGTTCGAATCGGCAAACCGGCTATTTGCCGAATTGCCGCAGTAGCCTCTCACCCCTGATGCTTTTGAACATGGTGCATTGCATCACCCTCGACTTGGAAAGTTTATATCGGTAGATATTTGCAGAAGATGTAATTTAATGATATTGTTCAGAAAAAGCTCTGGACCAACAAGTACGCCTTCAAATCCATCTGTGAGCTTATTGCCTATCACAAGCGAAATCACAAGCAGATTTATGATGACGTTGATCTGTGGCCTCGGGCACGACATGGATGGCAGCTGAACAACGGGCAGGTCACATTGATTAAGAGCGAAGTTGGGAGAGGGACAGTTTGGAGAAGTGCACAAAGGATTGAAGACATCTTGCAGCCCCGGTCACTGTTGCCGTGAAGACCTTGCACCAGAGGAAGGCGGCCATCTATCCGCCAATGAGAAGATCTTGTTCCTAAGAGAGGCCAATGTGATGCTCACCCTGCACGGTCTAATGCTACCTGTTTCAAGTTGAACTAAACTAAAATTCATTCCAAATGTGATAAAATTGTTCTCTACGGAGTATGCTCCATGAAGGAGCCCATAACATGATTTGGTCATGGAGTTTTGCGACGAGAATTTGAATCCCCCTGGCAAGGACGCTCTACTCTCCAAGGAAGAAAAAGTGTCAGCTGAGGACAAGATTCTCTACCTTTTCCGCATAACGCCGCCTCCGGTATTGGTTATTTGCACGGAAAGGTTAGTCACAGGGAGCGGCGAGAAATTGTTTGTTGAATTCCAAAAAGATGTTTGTTTTTCAAAATTTCTGAAATGTGTATGAAAAAATAAATTTCAGCTGAAAATACTTTGGATTGGCGGTCAAATGAGTTGCTATAAAGGAGCGAAAGGGAGGATGTCTGCCGGTCAAGTACATGGCTCCGGAGACATTGAAGAAGGGGTTGTACAGTACTGCCTCTGATATTTCTAGGTGAGCCTACGAGCATACATATGACATTGGTAGTGGCGTCGTGGCCTAGAAACCTTATCCGCGTCTGAAGGATAATAACATCACACAAGTCTCTATGATTTCCAGCTACTGCGCTCAAATGTACTAAGTCTACACGGACAGAGACGCCATTCGAAACGTGCGGGCTACGTGGAAATGAGCTCCGAAAAGCGATCATCGGGAAGAGAATCAGCTTGCCCGTTGAGGTAGAGCTACCAGTCTTCATTGCCAACATTTTCGAGCAAAACAAAGCAGGCAGTACGAGACCGAAGATCGCATTAGCTCCAAGCAAATTATTCAGATTTTTAAGGAGGTTTGTGAAGCATTTTATCTGTTTTTTGTTCAAAAAATTTGTTATTTTCCAGGAAGTCGGATTCCATGAAATTGAGACAAGTGGGATACTGCATAAGCTTGTCAATTCTCCCTTCCGAGAATTCACAATAAGGAAAGTAAAGGCGCTGGCAGTGTAATAAATATCTGAAAATCCCCCCACCCCTGAAAATATTTGACTGTATTTTTTAAATCACACAACGCACACAAAAGACAGACAGAAAGCATAAGTACACAGAGAAAATGTTTGAGGTGAGGTGCGGAAGGGAGGCTAGAACCTACTTTACGCCTCCCTAACAAGTTATGACTTTTTGGAATTCAAAATGTCGTTTTTTGCTATTTCACTCATGCGCTTACGTACAAACCTTCCTACCTTGTCTGCCTACCTCCCTCCTATTCTCTTATTGCAGGATTTTTGAATTTTTCTGAATATAAGCGTCTGTCGTACTTGTGCGTCATTTGCAAACAGGCTGTTCTCCGTTTTAGGGGGTGGCAGCACCCACAAAAAAAGACATAGGAAATCGGACGGAGTGATCTACTAGATCAGATGAACATTAGACATCAGTTTGGACCTAAAGTTAAACATTATTAATTCACAATGGATTTTCTTATTGTATTTCTTGATATAGCCCGGTTGTGCGGTATTGATACCATTACAATCCACTAAGCTAAAGGCTGTCATGTGGAGCCGAATGAAAAAAATCCTGATGATACATCGAGCATGCGGCAGGCGTTGAAACTCGGCAAATTAAGATTTGCCGGAAATGTTTTGAGGGATTTTTTATAAGATTTAAATGTGACTCCCTTTCTGAAATGCATGTGTCCCGTAAGTTTTTTAACTTTAGATATTTTTATAGGATCTCACTTTTCAAAATAGACGTAGGAGAAATCATAGGATGCATACACCTTTGCCGATTGAAATTTAAATTCTGAAATCCTTCCAATAAAAGTGCATCACCACAAGTTGCCGACTTTTGGCAATTGCTCGTTTCTCCGGCAAATTCGACACACCTGGCCTAATTTGCCGATTTGTCGATTTGCGAGAAATTTTAAATTCCGGCTATTTTTCGATTTGCCAATTTGCCGAGCAATAAATTTCAATTCCGTCAACTTGCTATATTGATCGTTTGCCGCCCATCCCTGGTACGCCAAGAATGGTAGAATATGAGTATACTAAAAATATTTGAAGAAGAGGACTGGAGCTGGAAGAAAAATCTTTTTACCGAAGTCTTCTGAGACAATTTCGTGAAAATTGATTATCACTTTCTGACTCACAATTTTTAAAAAAAATTTCCAAAATTTTTATCCTAGTTCTCGATCGAAACTGGTCTTCCGACATGCAGGTGCTTGATTGGTAAGTATGACTGCCATACCAAATCAAATGAAAAACACGGTGTATCGTCTGGGAAAAACTTAAACTGTTCCGTTTTAGTAATTGGACAAGGATCTGCTCAATCTCGCTACTATAGCAACCGACATCTTGCGGGTCCAATAAAGATTGGTATATCTTGAAAATTTGATGCACGTTTATTTAATCGCCGCCACACACACACTCACAAAAAAATCAATTAAAGCACCCAGTTGCGCGATTTTAGTTTCTAGGCGCGACAAAAGGAGGAGAACCGAAGCATTTCCGCATTATGGCTCGTGTGTGTGCCGTTCCGTTTGTCCCGCGGCTCTCTCTCCCTCTCTGTTTTTTTTGTTTGCGAAAACTTCTCTCTCTCTCTCTGCCATCACTTGTCTGATGCGGATAACATAGAGGGAGGAGCAGCTTAGAATTGCGGAGGGCAAAATACCTGAAATGTGATCTCTCTCTTATTGAGTCATTGACTGTTGCTGCGAGAGCCTTTTCCCGCGCGCGCCTCCCAACTACCCGTCGACGAGCCGATTTTCTTGTCGGCGGTGCCATTCGCAATACACGTCCCTCTCTCTTCTTGTTCTAGAAACATTCGGATTTTTGATTTTTTGATTTTTCATGGTGGGTCTGAAGGCTTTTTTAGGCCAGACTTTTGGTGGCCAGGTGTATTTTTATTTCCAATTTATCATATTGCTTTTGTCCGACTTGTAGGCAAAGCACCTTTTTAAGCGCCAAGTAATTAAGCTGAAGTTTGGCTGCCTAGGTTTCTAGCCACCAAACAATTTTTTTGTTTTCACACAGCACACTTTTTTAAACACTGTCATAAGTTTTCAAAATTTTTTGAAAAATTTTACACCGAATTTTGAGAACTTTAAGTTTGGTGGCCTAAATGTTTTCAAAATTTTCTATGCCACTGAAACAAAAGTCCTAACTCTAATTGAATTATCTTTGAAACTATGAAAACTACAAGTTCGACTAAATATGGCTTACGGGTCCAATTAAACTCGACTGGGTGGCCTAGAAAACCAATTTCGCTTTTATTTCATTTTCTATGCCACCAATAATCTTGTTCGAACATTACTTTTATTTTAATTAGTGGAGTTTGGAATCTGCCATGGGCTGTAAGATGTTGCTCGCCTCTAGTTTCTATGCCAGGAACCAAAAAGTGGTGTTGGTGGCCGACAAACCCAAACTTGGACAATTGCATTTTCTCGGCCATCATTTTTTTTAAACTAATCGTTGTTGGTTTAGTCTACTGTAAAAAATCAAATGGATAACAACGGGAGCCAAGCTTTGGAGCTGGTGGTAGATTTTGTGCTAGGTCACTAACTGAAATGATTGCAGCTGTAACTATAAAAAATAATTTACACGAGATATATAACATCCAAAATTAGTAGCCTAATTTTAGGATTAGAAACTATTTAAACAATTGGTGTGTGGAATAGAAACTGTATTTTGAAATTGCCACCAATTCCAAATAAGCCTATTTCACTCCTGATTTGAGCTAAAACGCTGAAATTTAGGCCATATTAGAATAGGCTATATTTGAAAAAATGGAATTGGTCTGACCTAGAAAATATTTTTTTGAAATTTCTGCTCCACCAATTTAAATTATAGCATAACTCGTTTCATAGTTGGACGGTGATTGAAATTTTAGACAGATTTTAAAAACAGATTGATCCCTTGAATTTTCTAGGCCACCTCTCCAGAAAAAAATCTGAGAATTGTTTTTATTTCTAATTCAATTTCTTCGGCCGTTTTTCATCTCTCGAGGATCTTATCCCCTTGTCTTACGTCTCCCACCCGCTGCTATTTAGGCGCCTTCATAACTGTGAAAATTCTCACCATTACTTTCCCTATCTCGTTTTTGCCCCCCCCCCCCGGTGTCCTATCCTTGTTCGTACACCTGTTGTTCCATAACATCTGCCAACCAATTTTTTCCAATTTTGCCAATTTTTAGTCAAAAAAGTGCATTGCATCGGCAGGCATGCCTCTATAACTCGTACACACACTTCGCTGAGCATACTGGAAGAGGGAAAAAATCAGGGATTGTTTGGATTCCTGGCGCCTTCTAGGAAAAAAACTCTTCCATTTTTGTAGTGCACATCAAAATGATCAAGCTGATTAATTTTCAAGTTACTCCCATAAATACAACTGAGAAAGTTGCGTTTTAAAGTTTCTAGGCCATCGTGGGATTTCTAGGTAGGTTCCCTTTTTTAAAATAGCAGTCTTGCACTAAAGTTTTGATTAGGCTGTTAAATGCTTTTTGTCAGTACGTTTTTTGGAACGTCGATTTTTACATTCCTCTTTTAGTTATTGATTCCGTTTTTTGCAAATTTTTATTTATTCCATATCTTACAACATTTAGAGGGACTCAAAGTCTTTGATAGCCAAGAATTCACTCTAATGACGTTATGAGCTCCCAGACTATAACCTTTTTCCCTTTTAAAAAATATCTAAATTACAAACATTTAATACAAAAACTTCTCGTTTCGAAACGTTTCGAAATCCTCCATTTAAAAAAATTAGATTAGCATCGGAAAAATTGCGAAAATTTTGAATCTGAGTGTGGATTTTCAATAGGGGGTCGAAACCTCGCAGGAATTTGAGAACAGTACCCTTTCCATCGTCCTTCCCGAAGCCCATTACATCATTAATTTAGCCACCTTTCTAAAGCGGTCCTGGGGGGGGGGACATCTGTAGTTTGTTGCCTATACAGGGACCCCCGCCACAACCACCGCAACTAGAGAAGAAACATCTGCTGCACACAGACAGCTGGCACATGGATGGACAAAACTCCTTAATTTTAGACCGCGCTATTTCATATAATAAAAGTAGAACGGGAGGCAGAAAAGAGGATGACTGCGAAACATCCACCTGCTTGGCTGTCAGCGCATAAACTTTTCGGAAATTTTGGGTCCCACCACGCTTTTTTCGGTAGCAAATTTTGAGATATCTCGATACACCATGATGTCATTTGGTGGAATTTTGGGTTATCATGGCAAATACAAACCTTTAACGTGAGTGCCAAATTGAACTTTTGCAGTCTGAACTTTTGGCCATTACTTAAAAATTTCCATGGGGCTCTCTAAGCCATGTGGTTTCGAATTTTTCCTGAAAATTTAGATTTGGTCATGCACCATGTTGTTTTTTTTTTGGAATAATTGAGGAATTCACGGCTTACTTTTAAAGTAAAAAGTTTCGTGAGATCCATGTGTTTTCATGTTATTCAGTTTGTAAATTATACAGATTATTGACTGAAGGTTAATTTTTAGTTGGGAAAATAAAAATCGCCAAAATCAATAAACAATCGTAATCATTTAGAAGTTGGGAGTTTCCATATAGGCGGTAAAAGGCTTGTCTGCCTTACAATAATACGACCGCCGCTCGCCTCAATCCGCGGCGGAGCAGTGTTCAGTTAGGCACTGAAACCGCGTTCCTGCTTACCATGATGTTCCGTTCTTCACGTCGATACACCATGATAATGGGTTACATTTTGAGCCTTTTCGAAAAATACCATGGTGGAAAATTTCAAGCTGAATTTTAATATTTATTAACCGTATTGTGGGAGATAGCATGCAAATGTCTTTCATCTTGTGTCCCTTCACTCGAACGTCTTCAATTTTCGTCCGAACTTCTCGATGCACCATAATGCTGTTTGGCGATAACTTTAAGAATGGTAGAGATTGCGATGCACCATGACGTTTGTATCGATTATCAGAACAAAAATCACTCCGAGACCCAAATAGTTTCATTCTCGGCACTATATTTTCCAAGTAAATTTGAAAATTGCTTCTCGGAAAAGTTTTTTCACATGCACCTTTAATCTTCTGCTTTGGAAACTATGTAATTTCCGCCCAATACTCTATTTCAAGTTGCTCTCGATGCACCATGATTGTATTTTTTTCAAATTTCTTACTTTTTTTTGATTTTTCCATGAGAGCCAATATCTGTCTTTATAACGGTTCTGTAACGAAATTTTGAAATTCTTGCACGAGATTCTGCTCTCATCTCGACATGATAATTTTAAAATGAAATTTAGCGATTTTTCGGGAAAAAAACTGTTTCGATCAGATTTTCTAGTTATTGGACACTCTGCACCTTGCTTATTGCTGGAAATTACATTTTAAACCGACAACCTTTCAAAAACTGTTTTCGTCGATCTCTATGAGTGCATAATTTTGTTGTAAATAGCTCGGTGGTGGGCCGCAAAAAAACAAAAAAAACAGGTATAAAACGCAAATAAATTTTGTTGTAATGTTGACACCAACAGAATCGGCCTGGAACATACGGTAGATCGGATTTGCAAAAAAACAACGTTTGTTTCGACGTTCCGCCGCTTTTTATGGGAGAAGTAGTATGTACCTTTAAGGGTACCGTAGCCTTGACCCTATGGCCTAAAAGTGAACGGTACTAGTCCCAAAAAAAACAAGATGACCAGTTTCAATCTGTCAACATCTACACATTTCTAAAATCTCATTTAAATTCCACTGTTCGATTTTCGCCTTTCTTCTGTCCCAAAGTACCGTATCCTCATCCTTCTACCACCTTAATTTGCATTTGTTCTTGCTTATTCACTTCTTCCCCTGGACGAAAAATGTTGCACGACAACAACAAAACCCGCCCCCCACCATCTGTTTCTCTGAACCTTCGATCCAACTGTCCCCGCCCCCTTTTTGAAGCCCACTGTCTTTTACTTTTTTTCTTTGGTCGCTGATTATGTCGGTTCGTTTTAGTATTACAGGAATGCACTACAATAAATTCCCTAAACGCGTACCGCGTTGCACAACATATTTGACGTGCAAAATATCTAGTAGCGAAACCTAATCTATAGTTACTCTTGAAATGACTTTTGTAGCATGCCGATTTAACTAAATTATTTATTAACAGATAAAATATTAATAGACACGACAATTCAAAAAAATTCATTTCGTAAATCGAGCCCGTAAAGACAAAAGCGCTACAGTAGTCATTTAAAGAATTACTGTGTTTTCGCGTACGAGTTATTTTGTGCGTCAACATATGTTGCGCAATACGCATTCTTATAATGTACCCGTAGTATATTTTTGTCTCTCTGATTTCCCTCAATTGCAATCTTTTAATTCCAGATTTTTTTGGTGAAATTTCTCCGCTCCATTATCAATTTTTTTTAACCACATAATTATTAACCCCAAAACATCGCAGATTTTCAGGTAAAATGCCAGGGCGTCGTGAAGCGTTAGACCTTTTTCTATGAGTAATGGTGAGCAATTTTTTTGAAGTTTTTTTTTGAAATTTGTAATTTTCCAGAAGGCTTCTGCAAACGGGCATGACACGTGTGAACGACGCCGAAATTTTGGCAACCGTGAGTTCGGCAAATAAGCTAACAGTCTAAGAAACACGAAAAAAAATTTTCTGTTCAAGATTCGTGATTTTCGGATGATTTTTGAACTTTTTGTTCCGACGAGATTAAAGTTCCCACTGAAAACCCTCTCTCTAAAAATCCGCTGCTAAAAAGCCTCAAATGGCCTTGCGAGAATAGACGGAATGTTCAGGGATGACTGGTTTAAAATCGGCGACCTGTTGCCATTCAAACCGAATATCTCATTTCGAGTCCTCCCTTTTTTTTAAGTGGGTCGGATTTGAGATTTAACATACAGAAGAGAATAGGGAGAGACAAAGAGGGACAAGAGGGGAAAAATCTTCTTGGAAACAACCTCGTACCGAAATTACGGAAGTTTTTGCCTCACAGGATCCTTCAATATTGCGTGAGAAAGCTAAAAATCCAATAGTCATTTTTTTCTCCTTTTTTAAAAAAAGGTTTCCTCCCGCGTCAAAAATTGAAAGGATCGGATTTATTGTTACACGCCTGCCTCCTTTCTATTAACCTTGTTCTCGATCGCAACCTCTTTTCTACATTACGTGAAAAAATGCTATTTTTTTTCCTTGTTCAGATTCAATTTGAAAGGTGCTGTGGAAAAAGTTTTTTTTTTGCCCTGAAAAAATAATCGAAATTTCGCGTTTATACTGCTAAAAAATGACGACTCAAAATTTCAAGTAATTCTTTCGAAAAATCGATTTGAAATAGACAAAAATTTTCAATTTTTCATATCTGAAAACACACTTATTTCGATTTTCATTGTTTCCTTGGAAAAAATCTCACAAAAACGCAAATAATTAATTTCCCACTTAATCTGGACTACGATATCCAAGCTCCGCCTCCGCGTATTCCTTGTACGTGACAAACATGGCGGCCCAACACCAACTCAGACATTAAATGAGTGATACCGTACTCTCTCTGTTTTTTCTTTCATTTTTTCGGCGCCGAGAATTTTCAATTTTTGGTGGTTCGTTTGGCGGTATTTTTCGGATTATGGTCGGTTCACACACACACACCAGTTGGTGTTGCCGGTCGTCACCCGACTCGCGCCACACTCTTTGTCCGTGTACTGCTTTGCCATTTGTGCGCGCGAACCGCTGCCCGTCTATCTTATCATATCAGGCGCCTCGTTTTGTCGCTTTTTCTACATTTGCCCTTCCTAGGACAGGGGTACCTGCGGTCGGCTTTTCATCCCAGAGAAAATATGCTTAAAAATTCCGAAAAACCTCTATTTTTCGATTTTAGCATCGATTTTCGCCCAAACATAACCATTTTTCAGAATGAACGAAGAACAAATCGCCTATTGCCAGGGGTTTGGTATTACGAGGAAGACACTGCCTCGTGCTCTCCAGTCAGCGATCCGGAATATTTCGCAGTTTCTCAACTACAGAACGTCGATAGGCGTGCAAAATGTCACAGAGTCCGTGGAAGTACCGACGTCGGCAATAGCATGTCGCCGAGATTGTTGGTCGTCAAGGTATAAATTGCCTGTTTAGTCAAATCTACAGATTCCACAAATTTTCTCGATAGGCTGCAAAATTAAGGCACTGCGCGCCAACTCGCGAACACCTACAAGACACCGGTTGGCGGAGAAGAGCCAATTTTCGTGGTCACCGGACGCCTACGTGAACGAGGCGAAACGAGAGATCGACTGCGCCACCGAGCACTTAACACAGATCCGTGCGTCGAGAAGACATACACAAAGTAGGTGACCGTAGGCAGACGGTTCCTGAGCCGCCTTGCTGTTGTTCCGAGCCCATGCACCTGGACAGATCACGAGCTATAGTTCGTTAATTGTCGGACTCGTCGTCCGAAAGGAGCGACTATGAACAGGACACCCTGACACGTACATCATTACAAGCGCCGAGCCGAGAACGGAGGAGCCCGTTTTTAAGGTATTTTTGTTGGAGAGCATACATAGAGTTTTGGCGCAAAATTCTCATTCATGCTTTATAAACCAAAAACAGAGAAGTTTCTAGTTTCGGCTTAGGAACTACTGAGAATCGGCTTTTCCATGACATATATGTGTGGAGCTGAAAATCTACTTTTGACTGAAAAATTCAAGTTTATGACTAAGAAAAATTAGATAATTAGACCATGCTATTATTTCATAATATTGGTCCAATTTTTCTTGCTTTGCTGAGCAAATTAACAAATTTAACAATCGGCGGGGTTTCTGAAATATTTTTGTAAAAAAACCGATTTAAACTCCAATTTTCCAACCTTATTTTTACATATTAGTACTAGAAAAATTGTATAATGGGGAGAATTCATAAGTTCTAAAATCGGCTGTTTTGTAGCAAAGTTTGTAAATATATCATTCTTAAAGTCTCTAAACGTGATTCTAGAAAACGTGTCTCATCAGGATTTGATTTCTGCGACACACTTCTCTCGAGTTTTACATAGAAGTTGTTCATTACAAATTTCTATTTTTAAGGTCCCCATTACCATTGTCAATCTTTCATTCCGATTATTTGCCTCGTCATAGCCTGCAAGAAGGGGAGCCTAATGCCTAGACAGATGAGACAGAAACACATGTGTGTTTGTAAGTGTCTGGTGTGATATACCCAATTCGTTTCGGCCGTCTCTTGTTTTCTTCCTGACACCGAGTTTCGAGCGATTTTCGAGGTCGTACAGTTATGAATTGGCTGTCACTGCTGTGGCTAACAAACAAAAACAATCAAACTTGTGCGGAATTGATATTCTAAAGAGAATAAAGAGCAACCATGGGTGGCGACTAGCATCGGAAGTGCTTGTGACCTCTTGGTGTGAATTTTAAACGGTTTCCTTCCACAGACTCCGACATGCTAAAAATTCCAGCCGTCGGGAGCCGTTTAGGGTCTACACTGATAGATGATGATTAGAATCTTTTAATTTGGTAGAATTCCCCCCGCGGGACCGCTTAATGTTGCATGTCGTCTTCTTCTTCTTGGCAGCAAAATATCATTGATGATGAGTTATCTCAGTTTGATGCTCAATGACGCCGTGAAACAGCCACCCCACAGTAAATTAGTCGAATTACCGATGGGGCGCCCGGGTTTTTGGAAGAGTCATGCGATTGGGAGTCCACATACACACGCACCATCTCTTTCACTCCATCTAACAGTGTAGTAGGGTGATGAAAAGGGGGGGGATCGATGAAGAGACTCTATTAATTAAATGACCGGGGCGGGGGCCAAATTGCACATACGCTTGGTTTTATTGCACCGTTGGCTCAGTGAGAGCAACATTTTGTGGCAGCACCAGGGGTACTTCAAATACGGGACGAACAAAAGTCGTTGTTGTTTCTATAGGAAGGCTTCCGTTGGACTTTTGAAACCAGATCAGATTAGGGATATGTAATTGACGGTTTTGACCGTATGTGTCCATACACGCGTCGTTGTGTGGTGTGTGGCGACATAAATTAGCGTATGTGCTCCGCATGGCCTTTTTCCTCCTTCCTTACAATGGTAATTATCATCCCCCACTACTCTGGGTCGCCATGGACGAACTGTGAATGTGTTGACAGTGCGGGCCCGAAACTAGTACATGGACATCTTGCCCCGGTGCGGTGCGCTCATCGTTATTCCTCCCAATTTAGTTGTCCGTTTCAAATGTCTCCGGTACCCTATTGGACGAGACAAGGAGGTGATGGATTTGCAGGCGGGGAAGGAATTACATGATGTTTGGGAGATTATGGAAAGGTAGTTTCACCTCGTATTATATGGTTCTACAAAGACCAATTGTCTTTTTTGTTCGTGGCTCAAATGAATAATTGGTACGGAAATATAGAAAAATGTCCGACTAGGTAATAGAATTGTTTCTATGTTTTTAACCAAAAATAGCTCATACTAGTGCACTTGAGTGTTGAATTTTCAAAGGTTTTATTTTCAAATAGAGCATTTTCAATACTTATAAAATCAATTTTCGGTTCAAAAACTTCTAATTTTCTCACCGAAAAAGTTCTCACAAGACAGTGACAGAGGGGTGGTCGCGTGCGAGTCGTTTTGATATCCATCTCGATAATCAGAGAATGTGATCTATGCCTCAATGACACAGTTCCGCGAAGGAGTCCGAGAAAAACGTACAAAAGAAGAATATTGATAGAAATAACATTTATTCAAATCAAAGGATATTAAAAAAAAAGAACATAAACTATTTAACGAATTCACAAAAATTCGGAAGCATATTTCCTATAATGAAAACATCCTAAAAATTCTGAAAATGTGTACTGCACAACATTTTTACGCGCATAATCTCTTGTAGCAAAAACTACATTCGTAATTCATAAAATTGACTAATGTAGCGCTTGTTTAGAGTTATGTGCTCTACGAAATGAATTTATATACTTTATCGATGGAAAAATAATTTTAAGCAGAATATGAGAAAATAATATGAAGAAAAAAGAAATTCGAGTCACGTGCTCTGAGAAATGAATTTAAAAATTTTATCGCTGGAAAAATATTTTTAAGCAGAAGATGAGAAAATAATATGAAGAAACGAAACTTAAGCAATTCATTCGAGATTACGCGCTTAAACCCAGAGCTACAGTAATCTGTGAAAGAATTAGTGTAGTATTCGCTACTAGATATTAAGTGCGTCAAATATGTGCCTATGCGCAATAAACATTTAAGTTTGTGTTTCCGTAATATAAGTTTTTTGCGAGAACTACAAAAATATAACTATTTCTATTCCAGGTGACCGGCCTCCCACATAACGTCGAGGCTGCCGGCAAGGAGATCGAGACGCACATCTTCCGGCGAACCGGAAATCTTCCAGAAACCCGACAAAATGACTGTGCCGGACAGGTGGCCGGTGTCTCGTTGATGGTTCAGAAGCAGCACAGGCTCAACAACAAATGGTCCACGAGGCGGTGTCAGCAACAATCGATATCGAAGAGCATTCGGCAGTAATCCGTTCAATCAGAAGGAGATGTCGTCGCCGCCATTGGAATGGAGAGCTCGGGGATTGGACGCGTTGCTCGCAGCCATCGAGGCGTAGTTCGTTGACTCCGGACTCTTTCCGGTACTGGACTGTCTTCTCGTCCATCGTGGAGGACAATCGGCGAAAAAAGGTCTGCCAACCTACGACTACTGGGGAACCGACAACTCGCTTAATATTATGGAGAACGGTTAGCTTTTTTTTCAACGAATTCATTAATAAGAATTTTAAATGACAAATAAGGATTTTTCCGAAATTCCACTCAGCCGCAAGTACGATGCTCTGTACGCATGGTCGTCGATGGGATTGGAGAAACGCGAGGAATCCCCAACCAATGGTATTTTTGAAGGAATTTTATAAATTACATTTTGATATAAAACAAAAAATGCAATTTTCCTTCAAAGTTCCCGTAAATTTTTGAAAGAAAATTTGATTTTCCGCTAAAAAATTCAAGAAAAAAACAAGTTCGTGTTTTCCACTCGGAACCTGACGGCTTCTTATGTTTTAAATAAAAAATAACGTTTCTAAAACTCATAATGTTTAAAAAATTTCACAGTAAAAAATTATTTTCCCGAAATCTTGAGACCTATCCGTTTTTGAAAATAAAAATTTAGGAGTAAAATCGTAGTTTTCTATATAAAAATTATAATTTTCATTTGAAATTCAATCAAAAAATGTTTAAATAAAATTGGATTGTGTCCGTCGAAATCTATAAAAAGAAAATTTTTTTTGAACAATAAAAGACAACTTGTAATTTTCTTTTGAACTTCGAGGAAAAATATGTTTTTTTTCACCGTTATGCAAAAAATCGATTTTTTAATAACCTCGTTTTTGAAAAAGGTGAAATTCCAATTTCAAGAGGTAAAGTTAATTTATTTATTTTATGAGAAAAACTTGAAATTTAAAGGAAAATTACTGAAATTTACAATTTATCATACATATTTATTTCGACATATCTCGAAATATCAAGTGGTAAATTTTCTCCACAAAAGTGTGATTCTCTTTAAAAACTAGAAAATTTCAATTGTATCTGAAGCAAATCAAATTTTGCAGGCTCATGACCTCCCTCAAAGGAACATCCGCCGGCTTCGGCCTTCTCAGCAATCAGGTCTGGCGGAAACATGAATCTGTGGAGCCCAGGATCGTTGGCTGTTCAGTAACATCTGCCTCGCCGACGTCATCCCGAGACCTGCGATCACCACGATCATACTCTCTTGCCGATCAATGGATAAGCTGTGGATCCATTCATCAATCCATTACTATCGTCTCTCATCTAGCAAAAACCTCAACGGGTTCCAATCTTTCCATTCTTTAAAAGATTCTTTTTCCCATTTTCTACTTTGTTCATCGGTGTACAAGTCCCTCCATTCCCATTTTCTCACCTCTTTACTACATTACTATGCGAACACACAAAAAGTCACCATCATTCTCACAAAATACTAGACAAAAAAAACGAAAAAAATCACATATATTTATATATAACTATTATTATTTGTTATTCATATTTTTGAATTATCGATATTATATATATTTATATATGTAACCCATACTGTCCCCCAATACATATATTCCTACAGTAGGTTTTTTTGGCTGTAACTTTCTCTATTATTTTTTGCACTAAGGACGAACAACTCATGTTTTTAACAAAACGGCAATTATATATATTATGCCTCTTTTCTCTCTATCTCTCACCTAGTGTTTAGCTCCCAATTTTCCCCCTCTCTACTACGCAACTAACGGAGAATTGAGAGGCCTTTTATATTTACAGCATCTTTATAAAACTCGAGTGATCCCCACCCCATCAAATTTATCGTATGTAAACGTTCTGTCGATATATTACATGGTGTATGTGAATGAAGCGTTTCGTGTCGTCTCTCCATATCGACTCTGGTATCCATAGCAACTCCCCGAGCTTTTCGCTCACTCGCGCCCGCCATATACTATACCTTTACTATTATTAAATGCACTCAAATCCTATCCTCCGTCAATTAGCCGATCAATTGTCCGAATTGCCACAATGCTCCATTGCGGGTACTATTAGCACAATAGTTGAATATATTAATTCAAAAATATTTATAGTTTGGAGGTGTCCCATTGTTTCAGATATCCGCGCGACGATAAGTGCCACGTTGGGGGAAACGCCAAAGAAAACGAGTAGGGATTTGCCTAGGTATAGAGGCGACATTTATGGAAAATTTGAAATTTTCTGAAAAAAAAAGGATTTTTGTTCTTTTATCAAAAATGCCTTGTCTTTTCGCCAAAAAAATCAAAATTTTCGACTTAAAAACTTCAAAATTTTTTCAGGATCACACTATACAAAATACAAAATATCTCGTAGCAAAAACTACAGTAATTCTTTAAATGAGTCCTACTGTAGAGCTTGTGTCGATTTACGGGCTCAAGTTTAATATTAGATAAAAATGAGAAGAAAGGTAAAGACACGAAGAAACGAATGATGCCAAAGTGTAATATCGAAAATATTCGAAAATAAATAAATTTCAGAAATAGTCCGTAAATCGACACAAGAGCTTCAGTAGTCATTTAAAGAATTACTGTAGGTTTTCGTTACAAGATATTTTGGTCAAATATATCGTATGTGCAATATGCATTTATTTTGTGTTTCCGGAATAGGTAAAATGTCAGAAAATCAAGGATGGAACCCCGCGTTCTACGGGTATTATGGCCACGGCCACTTTTTCCAAAACTGCAGTGAAAAAGGCGTTGTTATTTCATTTTCTGAAAAAAACATTGAACATTATTATCGAGAATACGATCTGACAAATTTCTCATAATTTATTTTTGATTGTCGCTACCTGTTTAACTTTACTCCGCCCCCAATCTTGTTGCCGGAAGTTTGATATTTTGTTTGTAGCTGTCTTGTCGAAGGACGGGGAGGAGGTCAACAAGGTAGATAAAAAATATATTATGCGAATTTTGTGCGATCGTATTTTTTCGATTATATATATATATATATCTTCATGTAATTCTCATGAAATCTTGAAAAAAAACGCGACACATGGAATTACCCGTTACTCGAGGCCCACTGTTTTATAGTTTGAGCGCGTTGCAATTTTTTGTCGATAACATAGTTTCTATTTAAACAAAAAACATCGTGCGCCCACATTGAAGAAAATGCTACAATTGGTGGCATTAACTTTCTGAAACAAGGATTTACAGAAAGTGTCAGGGCACCATAGCATGATTGGATTGGCTCGAGCAGAATGGATATCCAATATCATCTCAAGTCTTGATAACAAATGTCTGGAAACATGGAGAGTGCAGAAAAACATCATACATGGAAGATGCGGAAAAAATCGATAATCTATTGCGAAGTTAGCTGAAAATCGATATTCGCGATGGCACCGGTGACGAATTTGAACGAAAATCGATAAAATCGATTGGCGCGGGTTCCCGCCGGTTTTCAAAAATTAATAAAACATGGTCGATAAACGAGCACCGTTGAAAATTACACCGTTTAGTGATGAGGAATATCGAAAAACGTCGATGCAGAAACGGATGGAAATGGAGAGGGAACGAGTGAGTTGCGTTAAATAATTTTTTTTTAAAATATTTAACTAAAGGCGACAAGGCGATTTTTAAAAATCGATGTTTAGCGACTTTTATTCAAAAGAATAATTTCAATGCCCTAAATCACTCAAATGGTGATTAAAAAAGTATTTGCGCGCGCGCGTAAAATTGTGCATGCAGCGTATGACCCTATGTGGTAAACCTCCGGGTCCGACACTTTTTGGTGAGGGTTTCGCATCGCTATAAAGATTGCAGATCGCGGCGTGAGCGTTGGCGGCGTTCCGACTTGCATGAGAGTCCTTTCCTACTTTTGCAAAAGAATCGATCGCTCGGATTTTTCAGCTCGCACGTCTATCCAACCAGGCAGGACGAATCCGACGATATCCTCATCGTCTTCCTCCGACTCTTCCATAACGTCATCCGCGTCGTCATCTTCCGAGGAGAAGTTGACTTTTCAATTCGAATATCTTGGGGAAACCCACAGCAGCTGGCGCGGAGAAAATGATAGAACTCAGCCAAATTCCCAACGCATGGGGTCCGTCAAAATCCGCGTTAGTCACTACGTGGCCGTAAGCACTTCTGACCCACTTCCGGCGATTTTCAACGCACATCTTCCGCCGCTCTCCATGGGACGACCACCGCTGACAAAAAGCGCGAAAAGTCGGGAAATCGACGCCATTTTCGGCTCGGATAACGTGGATTATAGAGCGGGGATTTCGAGCAGGATGGCCGTGGCGAAGAAAAAGTCTATGCTCCCTATGGAGAAAAAGAAGGAGGAAGCGAAACCCTCAGAACAGGAGCTAGTGGAGCCGTTGGTCTTTGACTGCCTTATCAGAAGGTAACTTTGTACTTGCACCCTGCAAAAATTCCGAAAAATTATGCACGTGGTCACTGCTAGGTTTTGCATAAGCGAAGCAAAAGCGCCTCATTGAGAATACACGTTTGCGCCAACTCTCGCTATCCATTGGCGTGAGAGACACATATACTACTTTTTCCTCTGAACGTGAAAAACGAAAAGAATACCCGTTTTGCCGTCTGCATCTCTTCTTCCACACGCTATTTTAGCCGTCGAGGACGAGGAACTCTTCCAGGATTTTCTTGGCTTCTCATATTCGTTGTCAAGTTTTGCCTCGTCCGCGAGAAAACGTGAATTTTGAGACGGCCAGCGAGCACGTGATTCTGCAACTCTCCTAAAAATCGATTGTTCCTGTAGCTTATAATCTTTTAGAGGCGCATATTCCGCTTGCGGAGCAAAAGTAAACAAAAAACATGCCGGTCTAGATACAAATCGAAGAATTTCCTGCAAAATCAATAATAAAAAATTTTCAGGCGAATCGATCGGCTTGAAGACTTCGACACCGGTCAACTGTCCGGAGGATCCGATTATTGTTTTTAAAATTTTTTTCTTTTAAAAAATTTCCCGCCTTTGCAATAAATAAATTCTCACCTAGGCTAGAATTTCACTATTCAACTTGAAAAAATATGGTTCGCCCAAACTACGATAAACAAATGTGTGTCGAGCGGGCGAAGCCACTGAGAAAGGAGCAAAATGTACACAAAACCATATTTGAGTGTAATTTTTTCAGAGTTTGGCGCCGATTTTCTGTGAGACATGAGTTTTCTCAATTTATATTTGGTTATTTTTATTTTAGTTCTTACTGGTAAATGTCTGGGTAAGTCCTGATGACTTGTGAAAACGAAAAAAACTCTTTCATTGATGCTAGTGCGATTGCTAGGAAAGCAACTTTCATTCAGTTACCAAGAAAAAGTCCCCATATGGATCTGCGTGGCATAACAACTATCCATCCACGGAGATGCAAATCCGATCTATTGGCAAATAACATGGAAGAGTATAATTTCTCTTCCAAACACGGAAACCTTCCCCTTGGCGGTAGTGCCCACAACCCTGCATGTTTACCAAACTACACAGACAGCGCTTGTCTGCAAGTGGCAAAAAATGGCCGGCGAAATTTTTATGTAAATAATTTTCAAAGTGTTACCCTATTTGCACCTTTTTGGCAAAATTTCCATAAGTAAGAAATTTGATGGAAGAAACGATGAGAGGTTATGCGGGGAGTCTGAAAACGGGGCTGCATGACCTGTATGCGACCTGTTTAGGCCTAAAGCTAGTGACCCCTAGAAATCAAAGTTTCAAAGAGACTTTATTTTTCAGCACTCCAACAAGCTCAAGGCAGAAACTCAACGGTACGACGGATACAACAAGCTGGCGAACAGTGACTGGGCTTCTGCTGGTAGGTTTTTTTGGAAGAGAAATGACGTCACACTGCCCTACTTCTTCAGGAAGTCGGCTGCATGATGCACGCGGTTCCTACTACTCAGACGGCGCGTATATTCAGTGAATAACTCAGTCCTCCTGTCTCCGATATACTATTGGTTTAAAGGAGAGTCCGGTATTCCTTATACAAGAGGATGCCCCACTTGTTATTGGCATTTTTCAGTTTGTATTTTTTTAATACTAGTAGCTGAGCCATTTGTAGGTCATCAAGTAGTTGCTTAATAATGCAATCAAATGGAGTATCCTGTCCACTAGAGACACTTAAAATTCAAGATACCCCTATGTGATAATGTATTTGAAAATGCGAGTACTGGGGAAAACTACAATCCCATTTTACCATAGTGCAGACAAAGCAACTGGAAATTTTACCTCGAGAACAAACCGTCAATGAACGGACTTCATGGATTGATGGATCATTCATCTATGGTACCGCCCAGTCATGGGGGTCTAAGTTTTAGGACGGTTAGCTCAGGGTGCACCTGGATATCGACCACTTAACAACCCACATATTCCATTGAATATCCCCGCTCTGCCACAAGTACATCGATTGATCAGAGTCCTAAGATAGATTATTTAGTGTGTTCATTGTTCTATAGAAAAGCTATAAATAATTTGTAAAATTGAAGTGTTGGGAGACTCGCGTGTGAATGCAACAGCATCCTGGTCTTCTTTCATTTGGTCTGATCCTCTTCCGTGATTGGCATAACTACGATGCAAATCAAATCTATCGAGAACATCCTGACTGGACAGACGAGCAAATAGGCAGCACGGCGCTGGGATTGGTCATCTATGCAGAAGATTATTTGCTTTGTTCCAGGACCTCTAGGTTACTCATAGTGCATCATCTAATAGCTTAAACTCAGTGATTTCTGTTAAGGTGAAGTCGTTCGTTTGTCAAACTACACCAAAGGAATACATGCCACACATGCCACCTGGAATCTCGCTTTTGGAACACCGCCTTCAGGTTCCCTCACTCAATTGTGCCACCAGCAATAGTGGCTGCTGAGAAAACGAGTAAATAAATGTGAACCGGACGGAAGATGGTGGATATCCTGCATTGAGTGCCAGCGAATTGGTGGTGGAATGCACAGGATATTGGGAAGGAGTAGACAGTGTGGATGAAAACCTTATTCCTGGTTAGTTAATACTTGAGTGGTTATACTTTTGATAAAGATTGTTCAGGATGGCAAGCCAGATAGCTGAATGAGAAGATAACATAGTCGCAGATCTTCGTGATTACAGGACCAATGCATTTCTCTCGTTTGGATGTTGTTGCTTCATCAATAATGAGAGGAAGGGACAATGGAGTACCCCCGTATAATGAATTGAGAAGAACCTTCGGACCTGCACCAAAGGCATGGGAGACAATGAATGAAGATTTCTACAAGAAGCATACTGCGTGGAAAAGTTGAAAGAGTTTTGTGGATGGAGGCAATATTGAAACTTATTATATCTGGATGCTTATGTTGGAGGGCAAGGGTCTTTTATAAAAGTTAGAGAGATCCTCCAATATACCCTCATAACATATTGTATAAGTTTAATTCATCAATAATTCAGCTTGGACCATTTAGAATGCTGGAAGGAGGTGAAAATGGCCCTGAGATGTTCAAAGAAATCATAAAGGATGTTGGCGCACCCGTATTCGAGATGGAGGAGATCGATTCTGGTTTGAGAATAAACTAAATAGATTATTCACTAAGAAGTTCAAATGAAAGTTCATAGTATTACACTTCGTATATTATCAAAGCATTGCACAACCGATGTCGACGATGCTTCAGAAGGATGTGAGTTATAGTAAAACACCCGTTGGTTATGATCGCGTAGTTAATAGAATGTTTCATTCCAGTCATGGATCTTGAAATTTTGTCATGATTCTGTTATATAACAATATATGTATGTATTATATAATACTCATGTCTCAATATGGCATTTAATTTCCAGGTATTTTTCTTCAAAGAAGGTGATCCACGCCCCCGGCTTCCTAGTGAATACCATTGGACTTGAGTGCTCCCCAAGACTTATTCAATTCACCTACTGGGATGATAACGAGACTACTTATATCTACAGTCTAGGTTTGGCGTATATTCCTTTTAGTCAGTCTTTATTTCAATCTGATATATACTACCGATAGAGACTCAGCGATTATAGAGTTGATCAAGCTAAGAACTTTCAGTTTGCTATAATATCTCGCGATCATAATATGGTTGAACGACGTATCCGAATAGGTCATAACAGTGCTTGTGACAGCTTGACTACTGACTTGTCAACACAAAGTCCCAAAGTTAATGTCTACAAAGTGAATGGTATTTTTTCATACTTGATTTTGATTTAAATTATGTCGTGAATCTGCAGCTTTGGAATGGCTTCAAAGTACATACGGTCAGCAAGTTCGGATAGAAAGCGAATACCACTTGACAGTGTGCACAAGAAGGTTGTGCGGAATCCTTCGAAAAAAGGCTTCGTTTTGGAACTGGACAAAAGATTGAGGTATGCCACTCTATACCGAATCCATCAGCAATGCACGGACCATTTGTATTTTGTCTCAAAAGAATAATCTTCATTTGGTGATAAGATTGTCGTCTGATAGAGATTTTTCTAAATTTCTGATCACATTAGACAGGGGCTAGTGGAATGCAGGGGTTATCATAAAGGCTGACGAGACTTCTGTGAGTTTACTTCAAGAAATACGTCGAATCTGGAAATTATTTCAGATTCTCTTGTCCCAAGCAATCACAATAGAACACCGGCAAGACCGACTGTACCTGTTCTTCCGTGAAGCCTACGCAAAAGCATTCAATGATAGTGAACTTGCCAAGATTTGACTCGGAAACTTCATCTTTGGCTCATCGATGATGATTTAGTAAATGAGACAATATCTCGTCAGGAATTGGCAAGTGCAATGGGAATGAAAGCATAAATAATAAATACTTGAGTTTGTTGTGTGAACAGAATGTTCGCGATTGCAAAATAATTAGGATTCGCTCAGTTTCAATGAGTTTTTGACAGTATTCTTGATGGAGTTTTTTAATGGTGGGTTTATTGTGATTTACTAAAGTTCTGATCACAAATACTACACGTGAGTTCCAGTCTGTTTACACTAGGTTCGGTAAATATGTATAATGTTATAGGGTGACTGTTACTGAAGCGCCTTAGTAGTCTTCTCTTCTTTGAATGGCAACAAACAGGCTCCGTCATTAACACATTTAAGCTGCATTTCTCTGCTAAAAGTAACGGCTTAATCGAAGTGCGATTTAAACATTCGGGTCTATAATCGTCTTTTAGTATATTGTCGCGCCTACTAAGGCTCGCTTTAATAATCAGTTTTAAACGCGAATTTGATGGTGTTAAATACGATTTTAATTTGGGAATTGTTCACAATTAGATGCTATCTTGACTAATAATAAATAAATACAGACACAAAAACCTTTTACTACATGGACAAAAATCATCCGAATCTACCCAAATCGGCATTAGGTTAATGTCTTTGATTAATCACCTTCTTTAATTTGCAGCTCCTCAAAAGCAAAAACTGCACAGTCTATTCAAAATGAGTGATTTGGAGGGAAAGAACAAGGTTCTCCGAATGGATCTCGCAGAACTGGTCAAGTCCCTCAATCATACCGCCGGAGTTCACATTACCTAGAAAGTGTGCAGCTTCGATTAACTTTCAATGACGTGCTGCACAGGTGCAGGTATACATCCCTGTGTAGTATGCCAAGTATTAAGTTTCAGGAGTAAGTTCTCGACGATGCGGAGTACTTGACTTGTAATAATTTCGACGCATTGTTCTCGACGGAGATCTCTGACGTCCCGATCGGTCTGGTCCATTTAATAGATTATTACTCACATTTATCAAGTAGTATGGTGTTGAATTCAAATTCGCAAGTAAATACAACTTCAGGCCATCATGCCACACCTCATTCCCAATAGTGACCGCTCTACTCCTGCTCCACTTTCTCTGATTCAGAGAATTTGTGCATTCAAAGACTGGAAACCTATTCGACTACACGTCTTCATCATCGTCTGCTTTGTCGCCATTCACATTGTCCTTTTTTTCGAACTTTTCTGGCGTTTACTGTTTAGTTCGGTTTTCAAAAGCAATCAATTAAGATTCCTCCCTAAACGAAGATCTAGACCTCGGTCGGGTGTGGGTGCCGGGATCGCTATCACTCTCTCTTCTATTGCGGGAGCCTTGTCATTTAGCATGGCGTTGATATTGCGCTTACAGTGAAATATTATAACACTGCTTCGAGAGAGACAGTATTGCGCAGTATATTCCATTTGACTCGGCTTCGCGTTCCATAAGGTAAGAGCCTCTCTCTTGGCCTAGCGCTGTAGGTTAATTAAAACAATTACTCCAACTCGTAATTTCAGAGCGTCGCATTATTCACCCTATTCTTGTCTACCCTTCACACCATCGGCCATTGTGTAAACTTTTATGACGTTGGAACTCAAAGCGACCGTGGACTTGCTTTTCTCTTCCAGGAACAGCAACATTTTACGGGTAGCCGCACCTACACGACTCGGTTGGCAGATCTCTCAGTAGATTGAACGTTGGCTTGCTTTCAGCTCTGACGTCGCGCCTACCCTAAGCTGGTTCTATGGAACAATTACTGGGTTGGCGGGAATGGGATTAGTTATTATTTGGTTATGAGTATCATTTATGTGTTCGCATGGCCAAAGATCACTAAGCATATCACTCGTTTTCTCCGGCTGACTCATCTTGTGAATGTTGGGTTTTATGCACTCACGATCTTCACGGACTTCCTTTTTGGGGTAAGGCTTAATTTAATTTGATTCATTGCGCCTACGCTCTTTTTACGCTCTTGACGTCAATATTTGGTACGTCTCCCAAATTTGGCACGTTGGGACTCATTGTCCTTTCTGTAATCGAACGTATAATTGGGTTGATGCAATAACCCATTACAAGTCGTTTGATATAGCCCATGGAGAAATCCATCAGATATTATATACATCGAGTACCGTCGTGGCCAGGAGAATTTGAATATAAATCAGGACAATGGATTACAGTATCACCACCCTCTATATCATGTACCTTTAATGAATCTCACGCATTCTCGATTGTCGCCTCAATTCCACAGGATGAGAATATGAGGTTGTATATAAAAGCAGTTGGACCTTATCCCCCGGACATGGAAGTAGAGAAGTGGATTGATAAGCTCTTGAATACAGGGTCACCATTCCCATTGGTAATTCAGATGAAAGGACCATATGGTGACGGTAATCAGGAATAGATGAATTATGAAGTTGCAATAATGGTTGGAGCAGGAATCGGAGTGAGTCCATATGCATCCACGCTTGTTAGTACCAAACACATCAAGTGACTCGTTACAGAGTGATCGATGTCGTAAATATTTCCTGTGTGTTCGAGTCACAAGAACTTTGAATGGTTTGTGGAAATGCTGTCCTGAAAAATGACTATTGAGAATCATTTTAGCAAAGCCTCCTGGGCCCGAGACACACATTATTCGTCACTCAGATGTTCCATAAGTTTTATTTAAGCGGAACTACTATGCTTGAGTTTTTTATGCGTTTTTGGTTTTTACATGTATAACTCGGCTAAACCTAATGGAGAAAAAGGTTCCTTAACTAATAAAATGTTGCTCAGCTAACTATTTCTATGCAATAAAATATGTTTCAAAGTATCATCTCACAAGTCCAAATTTGATTATTTTTCTTAAACCGAGTATATTTCAAGTCCGAAATCTAGTTTTCTTGAAAAAATTTGGTATATTTTTTGCACATAATCATTTTATAAAGTGCTCTGCAAATCAGAAATAGTTCGAACAGTCTTTCATAGTTAGTGTGACATTTATTGGAACTTAAAAGAAAAAATTACGCGACATAGAAACGCTCGATTATCTGAAAAACCAATGGATTTTGATTCTAGTTAATTTATTTTCAAAAACCGATATAAACATATTTTGTGATAATTGTAAACTAAAAACTATACCTGAATATTTTTATATTTATGTGGTTTTTGATTTCAGGATTCAATGGTAAAATACTACCCTAACGGCTTACCCAAGTCTCAGAAAATTGTAGTTACTCTCAACAAATTAATACATATCATTTCTTATATGAAGTACGTTTGCGAGAAGCACTTCCGTGCCACCAACACAGGCATATCAATGTTCACTGGCCTACACGGTAAGAATCAATTCGGACGGCCCTTCAAAACTTTCTTCCAATGATTTATTCAGAGTGAGATAAGGAGGTTAGTTTCATGGTTTTAACCTCTAAATAAAGCAAATTTGCAGCAATCCGAAATTGGAGTGTTCAGTTGTGGACCTGTATACTTAAATGACAGTATAGCTGAAGGATGTGCATGCCAATCGACAACGAGATGCTCCATTTGCACTTTGAACCTTTCTAATCTTCCCTGTTAGATTTACTATGACAAAAAAAAGATCATGAATGACAAAACATAGAAAAAAAACCTGAAATAAAGATTTCACATTTGTCCAGGTAGTATATATCCCCAATACAAACATTTTGATACGGTCTCGAAACTTCCCCATTCCCAAATAATCATCAGACATTGTAATTAGGCAAAAAACCAGACCCCTCGGCTCCTCCCTCACCACAAATAAAAGCAATTCCCCCATTTCCCCCCAGTTCATTCACCAACAATGAGTTTATGACGTTCGTGTCATACACTTCGTTTTCTTTACGTGTTCATTTCTCCGTTCTCTTCCTTCTCGTCGCTTTTATTGTGATCTATGACATTTTCGATGAAATTCGAGAATTTCAAGAAGTAATCGAAAAAGATGCCAGGAAGTTTGAGGTAAGGCAATATGTGGTGCAGCAATAATATCCGCATTTTTCGTAGATCATACCGTTATGGGACAGTCTGACACCACGTGATAAAATAGTATACGAATGTAAAGCAAGGTTGAAACGAAAATGAAATTTCGTTTTCGAAAACGAAAACTTTTCGTTTTAAACGCGAAAGACTTAGAAAACGAAAACGAAAATATCAGTTTTGTCCTATTTAATTGGTAAAATATAGTTTTAGGTACATGAATTATTAGGTCCATTTTCGAATCAATAATAAACAAACAATAGTTTTATTACAAACAGTAAAAATAAAATAAAGCTAAAGAACAATAACAATCACACTTGCTGAACAACTCTTCCATTTATCCAAATTTAAAGCCACTTTTTGATTTAGCGTAAGAACACAGACTTGCTCAACGACTCTACGTAGACTTATTCCAGCTTTGTAGAAACGTGAGCCGCCAGCTCCTGAGAAAACTCGTTCCGATTCAGCAGATGAAGCTGGGGTTGTCAGATATCTGTTCGCTATATGAGAAAGCAATGGCAACTTAGATCGATTGAGCGTATTTTGAAAAAAGAGCGGGGTCTGATTTTCTATTGTTGTGGGTATCGGAGAAAACCAACTTCGGCACTAGCACCGAGCATGGAATCTACAGGCGCTTTGTATTCTTTTTCTGATCTTGGAATGCTTTTTCTCGTAAGCTTCAAACAGGAACTTCGTTATTCCCACTAGAGTTTCATTTTCTGGCTCATCGACTGCTTCTTCTCTTCTTTTAATAATCCTTGCGCTAAGCTCAAAACGACCAAGCTCTTTTCCGTCTATTTTCTTTTGTATCGTGGGTCCCAATGTTTGATGCAACAATCACCAGTTTGAATGTCACCAGTCGGTGCCCGCGTCGTAGGTGCGGTCAATGGCTGGTATGTATATAATATATATTAGATGGAAACTATAACATTGAAAAAAAAAAGCAAACATTGAAACACAATAGAAAATCAAAATATGGGCTCTTCTTGAATAAAAATCAGAATTACGAATTGTTCACTGGGGCTTATTTCTTGTACAAAATAATGATTTTGACCAGGCTCAAAAAAAATACGTTGTGCACAGAGAGAGGTGATGTTCCTTTTTTCGAAAATTCGAAAACGAAAACGAACAAAACATGACAGAAACCCGAAAATAACGAACAAACGAAAATTCGAAAACGACAAAGTGACAAGCCATTCCTGATTACAAGGTCGGTATTTCATAAATATTGTAGAGAAAGGTTGCTACTAGCGATGATTCCAAAAAAATTTAGATTCATCAGAGATGTACACCCAAATACCCAAGGCATCGGCCCTAATTATTGATTAGACACAACCGCGCTTCTTACTTCCAACAAGCTTTTCCTATTTTTCCGGTTCTACTTCACCGCCGCCTCACGTTCAATTGCCGGTTTCGACAAGCGGAGCCGATTCGGAGGAGCTGTTTCTTTTTAGTTGTATATACATCTTTTTAAAATTAAAAAGTCAGTGTTGTTGTTACCCATAAAACAGTGAATGAAAAAAAAAGAAGTCTAGACAGATCAAATGTAAAACTGGCACAGAATACTCAAAGAAGCATAAAAAATGTATTTTAATAATGGATGATATAGGGAAGGTTAGAACGTTTCAAAGCGTGTGGTGCAAATGAAAGAGCATCTCGTTGTCGGTTGGCAACTGCACATCCTTCAGCTATACTTTCTTACACGTCGACAACTGAACACTGGCCCGATTTTGGATTGCTGCACATTTGCTTTATTTCGAGGTTAAAAAGCATTTAACTAATCTCCTTATGTTCACTCTGAATAAATTGGAAGAAAGCTTTGAAGTTGGGCCGTCCGAAATGGTTATTAGCGTGAATACCAGTAAACATTGAAATTCCTGAGTTGGTGGCACGGAAGTGCTAACCTCTGGACGAATGTACTGCAAGTAAGAGGTTCAAAAGTTTAACAGCTTCAGACCTCCCGCTGATGCCACTACGTTTAAATGCGTCCGCTTTAATCAGTTTATAACCATAACCTGACGTTTGATTTTGAGAATTATCTTCAATAAACTCACAAGCATAGTAGTTCTCAAATCACTTGTGGACCGTCTGATTGACAAAGATATGTGTCTGCCATAGTTCCCGACCTTTCGTGGTCTCACGTTCTTTGAGCACATCCCCCCACAATCCAAGGTTTGCATAGTCCTTGTGAGCTTTCGAGTCCACACCCATAGGAAATATACTTTACGGCCACGTACTCTGTGAAATGAGTCACTTGATGTTCGTTGTACAGATCAACAACGATGCATATGGAGTCACTCCGATTCCTGCTTCAACCATTATTGCAACTTCATAATCCATCCATTCTAGGTTACCATCACCATATGGTCCTTTCTTATGGATTAATGGAAATGGCGATCCTGTGTTCAATTATCTTATCAATTCGCTTCTCAACTTCCATGTCGATGGTCCAACTGCTTTTATATACAACTTCATATCATCCTGTGGACTTGAGTGGGCAATCGCCAGAATGCGTGAGCTTTAAAGGTATTTGCCGTGATATTTATGGTGATATAGGGATACAGTATGACCCATTGTCCTGATTTATATTTAAACTCTCTTGGACGACGGTACTATTCATATCAAATATCTCATGGAAGGATTTCTGCGTTTACAATTTCTAAGTTTTTGTAATATTGCATCAAACCAATTATGCGATCGATTACAAATAAAACGATTGAGAGGGACGAACACCCACGTAGTAGCAAATTTGGGAGACTGCAGTTGTCAACAAATATTCGAAGAAACTTCTTGAACTGAACAGTGGCAAAACATCCAACAACTTTGGAAGCCCATGAAGAAGAGTACGTGCGTAAAAGGCAATATTGAAGATGTGATCCCTTCAGAACCGGAATGCGTGATAAGCTCTCTTAATGAGACATGGGAACGCGAGATCATAAATGATGCACATGACAGCGACCAATGCAATTCCTGTCAGACCTGTAATTGTGCTGAAGAACCAGTAAATGATTGAAGGAAGGAAGTTGGATCTGAAAGTTATTTGATGAAAGTTGTTGTCAGTCTTGAGAGAGTTTGTTAATGCGTATTCTAGTAAGATTGAATGCAAAAATGAATTCAAGTAAAGTATTACCCAAAGAATGCTTCCTGAAAGAGACAAGCAAGACCTTGGGCTTGACTTTGAGTTCCAACGTGATAGAGATTGACACAATGTCCAACGGTGTGAAGAGTAGCCCAGAAAGCCGCGAAAGAGCGCAACGATCTAGAAATGTTCAGTTATTATAGAGTTTTTGATACTGGCGGTCATAATAAACAATACTTTGTCCAAATAGTATTTCCCATTGTTTAATGTCATAGTTTATTAGGTGTATATTCAAAAATCTGCCACCATCCTTCAGAACACTTATGTAAAGTCGACTTAAAAACATCTGAGTTTTTTGAGCAACAAGAGACCCACACTCGTTCTAAATAGAAATATATCTGGAGCACAGGAAAATCTTTAAACTTAGGAGACACTTTTTTAGTAAACAGAACACTACACACAAGCAACACTGATGTAATGTTACCTTATCCTCACTTCTATTCATCATTTATTTTGCCTTTTAGACATCGATTTTTGTGTTTTGCTTCTTCTCCAATGTAGCCATTATTTTTTTTCTCATCCCTTTTTATTTTTGTTCCATTTTTATTTATGTAACGTATGGTTTGTATATTTTAATGTGAGTTTTTTTTCCGTAGCTCACGATATCTTACTATCGTAATAAATTTAAAAAAATTTTATCAAACACTTACGAAGTTTAGGCCGCTATATCATAAGTTCAAACATCTGGCTGAGACACCATGTTCGATGAAAAGATCTTTCCTTTCAGGCGTTGTATTCTATTTTAAAAAGTCTTTTCAAAACATTGTGTACGTACAGTACAGATATCCTACTTGCATGAAACCTCCGCATTACTGTACAGATAATAAAATAACACGTTTTCCCTTATATCTGAACATGCTAAATATTTTTAAAAACAACTGCTCATTTGACGGATAAAATTTACTAATGCCATCCAAGAATAATATTTAAAAAACATGTGTTACACGCTGCCCTAACGTTTCTCACCTTGTGGTTCCAACGCAATAGCCGCAAATAGTCTGGAAAATGGAAAATACTGCGTACAATGACTGTCTCTCGAAGCAGTGTGATTATGTTTCCTACAAACTGTCAGCAATATCAACGCCATGCATTATGAAATGGCTCCCGCGGCACCACGAGTAATAGCGATTCCAGCTCCCATTACTCGTCGGTGATCCATGCGCCATGTATAATCTGAAAACTAAATTAACATGAGCTCCCCATTATATGAACACGCCAAAACCGTTCGAAGAAAAGAACAAGATTGATGGCAACAAAGCAGAAGACAATGACAAACGTGTGCGATAGGTCTCCAAGAACGCTGAAACCTTGTGGATCAAAGTTAGCGGTGCTGAACTGTTGAGGTGCCGGATCGATCCACGACGGCAAATGAGTTCAGAGAAGATGTTCTAAAAGTTATAATTGTTATACGGTAAGAGGCCTCCTGAATACTCACTCTCCAATACTTGGCTGATAGACATGTTCTCTCGATTGAACGTCAGTCCAACTTGCTTGTCAGGTATATCCGAGAAAGCAATCCGAGCAGAAATCATCGTAAGTCAGGTACCGGTTGGCATCATTGCTCACTCCTGCATAGTTCAGCACTTCATTGAATAATCGGGATGAAGCTGCACACATTCAGTAATGACTCCAGCGGCGACTTTGATTGTGGGACCTGACGAGTTCCGCGAGAACCTTTCGGAGTACCTTGTTCTTTCCCTCCAACACACATTTTGACTAGAGTTTTTTTGCTCTTGAGATCTGAAAATTAAAGTAGGTGGTGCATAACATTTTTTAAAGGCAGTTTTGGTTTTTCTAATGTTCATTAAAAGAAAATCTACAATTGACTAATTTCTCGACACTTCGGTGCCATATTAGTTTTGACCTCCCTGTCACACGAGAACTTTCTACAGTGCTCTCGCAAATACTATCGGGCTCCCCCGAATAAATTCAGATTCATAAAGAATAAATAACCTTTAGAACTTTACTATGTGCTCTCGAAATATTGCCGACCATAGGACACCGAGTTTCCCGGCTAATGAACCAACAATGTTAATCCAGCGGTCGCTAACCGCCTAGTCCGTTTCAAGTATCTGGAAATAAATTTCTTTTGGAGACTTCGGCGTTCTCTTGTTGTAACCAAGGTCTAACCTTTTATATGTAGTTTTGTACGTACAAAATCAAAGACAGTTCAAAACAACTTTACCGCTACTGCTGTTACACGTAATTAAGCTGTATTAAGTATATATTCAATTAGAACTTGCAAAGTTAATGGGAAACACGTCATGCCGGAACATTCTAAAACGTAGTCTTTGTATCACGACAAATTTATGCTGAAATAGTCACCATTACTCTCTCAAGACTGTCCCCCAATTGCATTGAAACTGAGCCACGGCTCATTATGTTTTTGCTGCATTGGTCATCGCGAACATTCCCTTCTCAAACTCATTATTCGCTTTCATTCCCAACTTGCCAGTTCCTCGCGAGATATTGTCTTAATATATCATCATTTTCCGTGATGAGTCAAATGAAGGTTCCAAATCTTGAAGTGCACTATCATTGAATTCTTCCCATTTGCGTAGGCTTTCGCGCACGGATGAACAGGACCAGTCGGTTGACGGCGTTTCTTTTGTGATTGCTTGGGATAAGAGATTCTGAAATAATTTCGAGACTTCAACGTATTTCTTGAAGTAAACTGACAGAATTCTCGTCATTCTTTAATGACCTCTGCATTGATTCCACTAGCCGCCTGTCTAATTTGATCCAAAAATATAGATAAATCTCTTGCTATCAGACGACAATCTTATGACCAAAGCACTGATGATTATTCGAGACAGAAGTACAAATAGTCCGTGCATTGCTGATGGATTCGGCACAGTGTGGAATGTAACTGAATCTTCTGTCCAGTAAAACGAATTTTTCGGATTACACCGCGTGGCTTCTTAACTGCCAAGGTGGTGTTTTCTATTCGGCTCTATCCTGACATGTCGTATATACTCTTCTTGAAGCCATTCCAAAGCATTTACACCATAAATATCTCCCTTCGCGCCACAATCATCATAGTTTTGCAAAGTAGTTAGGCTGTCACAAGCACTGTTGTGGCCAATAGCAATGCGTCGATTAACCAAGTATCGGCCAATTCCATAGCAAACTGAAAGCATTTTGGTTTGTATGGAACTAGATGGAATAGCTCACTTAATGGCACAATGCTAATCCAATTAGGGCGAAAACGTAAGTGGTGATCAGTCCAATAAGTTGATTGCATAAATGGCACACATGGTTCAAGTCCAGTTGTCTGTTCACTTGGAATGGTTGCGGGGGTAACCTTCCTTGAAGAAGTATAGCTGGAGTGATAAATAAATTGCAATGCGGAATTCAAAAGAACATAATAATAAACCATTAAATTTGGAAAGTACTATTACTTACATCCTTCTTAATGTCTCATCGATATTGGTGGTTGCTTTGATAATATCTCGAAGTGAAATACTATGAATTATTTGAACGGATTCTTCATCAGTGAGTATTATTCTCAAACCTTTAGAATCTATCTCCATCACGAATAGGGGTCAATTGATCCTTTATGATTCTTTGAACAACTCTCCAGGCCCTATTTTCACCTCCTTCCAGCATTCTAAAATAATGACGTTTTATTGATTCACGTAATCCAATATATGTGCACTGAGAAAGAAACAAGTATGCGTAATTTATTCTGCCTGATTTGCAAAACATACTACCTTGCATGGGTAACTGAAAGAATTAAGGAATTGCTATACTATAAAACTGAGGTGACATACAACGTCCCGCTGAGAGTCTAGCCTGCTACAAATTATAGAGTATGACCTAAAGAAGCCGTTAGAAGTTACTCGTGAGAACTTTTTAACCCTTGAGAAGACTTTAGCGAATTCTATTCAATCCACTTATACCAATCAGTTATAAACGAATTGATTTTCATTGTTTTTGCTTGAAACTCTTCGAATTCACCGCATTTTAAGTTACGAATTCTACTTTAAATCCAAAACTAACCCTCCTAATAAGCATCCAAATATAAAATAGTGCCTCCATGCAACTCTTCGTTCAACTTCTCCACCTTTGCAGTATGCTTCTTGTAAAAGTCTTCATTCATTGTATCCCATGTCATTGGCGCAAGTTCGAATGTTCAATTCATTATACGGTGGTACCCCATTGTCCCATCCTCTCATTATTGATGAAGCAACAACATCCAAACGAGAGAATTGCGTTGGACCGAAGAATCACGAAGATCTTCAAAAATGACTACTATGTTATCATCTCGTTCAGGTATCTCAAGGCTTGCCATTCTAATCTGTAGTTACAATACCTCTATTATATAACCACTGCAAGCCTGAACTAACCACGAATAATCTCATCCACACTGAGCGTTATTCCTTTACAGGATACCTGCGCATTCCACCAATTCTGGGAGAATCTTGACCAATGCAGGATCTCCACCAACTTCCGTCCGGAATTCACATTTATTTTCCTCGTTTTCTCAGAAGCACTGCTGTGGCACAATTGAGTGAGGGAACCTGAAGGCGGCAGCTCCAAAATCATGCGAGATTCCTGGTGGACCATGTGTTTAAGCATGTGTTTGGTGTAGTTTGACAAACGAACGTCTTTAAAAGAAACACTGAGTTTAAGGTATTATAACATAGTTGATTAACCTAACAGCCCTCTCCGAAGTCATATGCAATAATCTTCTGCATAGATGCAATCACCAAATGACGTGCTGCCTGGAAGATTTGTTGGTCTGTCCAGTCAGGATGTTCTCGATGGATTTGATTTGCATTGCCAACGGAAGTGGAGCAGACCAAAAGAAGACCTGGATTCTCATTCACACGCGAGTCTCCCAACACTTCAAGTTTTAAATATTTATACTTTTATAAAACTCTGAACTCACTAAATAATCTATCTGGACTCATCAATCGATGTACTGGTGGCGGAGCGGGGTTATTCAATTGGAATATGTGGGTTGTTAAGTGGTGGATTATCCAGGTACACCTTCAGCCACCGCCCTTGTTTGAAGGATCTTAATGAGGACACCCATGGCTGGGTGGTACCATAGATGAATGATCCATCAATCCATGAAGTCCGTTCATCGATTTGTTCTCGAGGTGAGTTGAGTAATCCCATTTCCAGTTGCTTTATCGTATTTGGCACGTGTGAATGGGATTTCTGTCTATCCCTCACATTCTTTATCAAATGCATTATCACATAGGGGTACTTGTCTGAATTTTAACTGTCTCTAGTGGACAGGATACTCCATTTGATTGCATTATTTCATAAGCAACTACTTAGGACCTATAATTCTTATTACTAATTTTTAGAGGGCGATAAAAACCAACTGAAAAATGCCAAAGATATCGTGCATCCTCTTGTATTAGGTCTACCGGACTAACTCCTTTGAATAGTATATCGGAGAGTTCACGGGCGGACGCAAGTGAGTAATTCACTGAATATACACCGTCTGAGTAGTAGGAACGTGCATCTCTATGCAGCCGACTTCCTGAAGGAGTAGGGTAACGTCATACGTCTTCTCTTCCGAAAAAACCTACCAGCAGACCCCCATTCAATCCTCGCCAGATTGTTGTTCCATCAGTCGTATCTTTGAATTTCCTGATTTTGTTGGATTCCTGAAAAGATAAACGAGTTTTTTATTTCCAGGCCACCAAAATCTATATGACGGCCTTTTAGTTCCTTATTGAAATCTCTAGATCGCACAGTCACACATGCTCCCTTCACTACATTTTCACGATTCGTGCATTTTCTCACTGATCGCGCAAATTTCCGGTCAGTAGCGGAGCAGAGCAAACATTTGCCTAGCCCCTCCACCAGAAACAATTATTTTCGTATCAATTTCGCACCTTTATTCCGTTTGTTTGCCTCTTTTTTGTACATTTTATCCTTTTTCTAGCGACAATTGACGGCAAGGTCAGTACAACAGGAAATTGTTCCTGTCGTGAATTTCAGGAATTTTTCCAAAATTGGTTGGGAAACTACCACTGTGTTGAAAATTCGAAAGATACACATTTTGTTATTTAGGTGTAAACATGAACACTAGGTAATCTATGTGTTATGAAAAAGATAGAACACAGACACCGGGTGGCATACAGAGCTTATCAGTAAACAACTATCAGTGCTTTTGAAATTTTGGAGGGGCAGAAATAAATGTTGCGGACAAATTTTGTTTGGGATTTGAAGTTATGAGAAATACGCAATTTGAATTTTTGAACATTTTTTTGTAATTTTTATCCCATTCACGCTTTGTAATCTAACATTTTGAGAATCTAACCGGCAGAGAAAATAGTACAGACACGTTCAATTTCTTCCAAAAATTATCAATATAGGCCACTTGGTGTCCATCTTCCTTAACTGTTTGCTATAATTCCTACCTCTCTTTAAAAGAAATCAGCTACAATTTGAACAGATCTTGGTCAATACATTTTCAAAGATCGGCTCGATCCCTCTTAAACATTTAAGCTAGCAGGTCCGCTCTGTTGACAAATTTTCCACCCGGTCCTCCGAAAGGAATTTTGTTGGTCAGCCAACAACCTAGACCATGAACCGATCGTGCAATTTGCCTGCTTATAAAAAACGATATCTAGGCCACCCATTTTTAAATACTTTTTTGCCTAGTCTTAGGTATGTGGAATAAATTCTAGGTCAGGAGGTTGTCTAGGCCACGTTTCCACTCACCTTTCCGGCTGCAAAAATTGAACTGAACAGTATAGCTCTGTACAGCACATTTGAGCGCATTGCTCGTGCGCCTTAGAGTTTTAGTTGACCTGAAAATATTTGACTATTTAGAAATTGAAATTTTGAAAAGCAATGATTAAAGGTCAAAAAAGATGTTATTTATACACATGCAACATTTCAAAATTCTGATAACAAATATTTATAGGAACACTTTTTCCAACAATACGGTGACTAAGGGGGTTTACTGATAGTAACAAATTGGAGCGGTACAGGAGGAAAATTTAAACCGGCTCTACCCATTTTAGTGCTACCAGCCGACAACTCGCAAAAAAATCAATCAGCCGCACACCCTGCTTCGCCTGGATCGTCAATCACAGCGTTTTGGAATTTTCCTAATTTCTAAAATTTAATTTTCTAAAAACTGGGGATTTTTTCTGTAATTTTTTTTTTACTTTTAAATTATTTTTTAGGATCACGCCTTTTTGAAAATAACTTTCGAAAAATTGTTCGCTAAAAGAGTATAAATAAGATCAGGCTTCGAAAATGTTTCAAAAAATATTTTTTCACGATTCTGCAACAACAAAAAACAAAGACTGAAAAAAAGTAAGAAATTTATTTTGAACTTTTCAAATCTACATTTACAACAAAAACAGTTCTTTATAGACAATATTATTAAAATCCAAATAGATTCCCAGTAGATTTTGTTTAAATATTCAGAAAAGGACCAAACTTTCAGTTTTTGTGTTCTTAAAAAAAAAAATTTTAAATTAAAATTGTGTGATTATCAGTCTCAAAAATTCCAAAAAAGAGGCTTTTAGTTCTGTAACTTTTGAAGATTCAAAAAAAAATTGGGGGAGCCAAAAACTCACGCTTTAAACCTGCCCGCGAGAACTGTCTGCAAATATTCAACTTTCTCATTTTTATTAATTTAATGAGAAAATTTAAAAAATAAAAAAAAATTTTAAGGCATGGATGCGAAAGGCACGCGGGTAATTTTAAGCCCAGGCTGGCGTTTTAACTTAGGCTTCCATAGACCAAATATTTTCATACTTGTTGAAACTTCTGTAAAGGTTTGAAAATTTTTGAACAATTTAGGCCCAAAACCTTTGTTCCTAAAAGCATTCAAAAATTCTTTGAACAAATTCCGGTTATACTATCATAATGGGAGGAGGAGAAAAATATAATATGATTCTTCGTCAGACAAAAATAAATTGGTGAAGAGAAAAAAATGAATTGAGAGAAAAAGAGAAAGAAAGACGCGTCTTCCGAAGAAGAAGGAAACCTCCTGCGCGGGATGCCGAAACAATAAGCAGCAGCCGGGAGTGAGGGAGTGCACTGCACTAAAAAATGCGAGAGATTCACAGAAAATCGGGAGAAACCCCCCGTATGTCGGTCGAGAAACACCTAAGACCTACTTCATATTTCGAACCGGTTCATTTTCATTGGCATTCGTATTATTTAAATTATTTTGACAAGGGCAGTCGTCGTAGATGCTAATGTTGCCAGTTTGACGGGATGGCCGTGTCACTTGGGAAAAGATTGGCGGCAAAAATCGGGGGGTTCCTAGCCACCCTTTATCTTCTATGGTCGGAGAGGCGTTTTCTACTTATTTTGGTAGATGTTAATTAAAAATTTCATCAATTTGGGAGTAATAATGTGGCTGCAAATCATATTGAAATTTTCTATACAGTCAGTGCGAGCCAGCCTTATAAATTTTCTAGTGCCGCCCAGAAAAAAAAAATATCCTAGGCCACCAATTTTTGATCATTAATTTTTTGGCTATCAAATTAAGTAGACCACTAAAGTGTTTCGTCATTAAAATTTTCTAGGCCACCAATTTGGCTTGACTACTAACCTTCTTGGCCATCACAATTTCTAGGCCACTAAGTTTTTTGTCTAGGCCACTAACTTTCTAGGCCACAAACTTTGATGTCAGGCCATAAAGTTTTTCCCAGTAGTATGTTTTGCTCTTCAAATTTTTCAGGCCACCCACCAAAATTCTATTCCAACATTTCTCCGTCCCATCAAAGTTTCTAAGGCCTTTTATAGACGACTTCTTAATTGTAAGTCAAAGTGTTTCAAGACCATTATTTTCAATACACTAAATATCAAAAAACCAAATATTTTCCTTCAAAAACTTTGCAAACTAAACTAAATGTTTCCAATACGTGCTTTATTTTTATATGTAGGCGTTTAGACACCCCAGTGGGGAGGAGTAAATGTTAATTCTTATGATTATTTCATTGGGAGTCACTTTTCTTGTTCAACGTCTTTAATATTTTTGAATAGGATTATCATTGGTATTGGCAAATAAATAAAATTGTGAGTGACGTGGTGATATTGGACATTATTTGATTTTAGTTTGCTTTTTGAAATTTCAATTTTCGGCACTTTAATAATTGTTCAAAATGGTCATTTGTCTAGCAAATTTGCATTTTATTAAAATTTTTTTCATTTATTACATTTTCAGTGAAAATTGCACAATCTTTCATTTAAAACTCACTTCTAAAATGACAGATGCGAAAAAATAATTAGGTTTCAATATTCAAATGAATAATTTTTTAAACGATTAAAACAAAATTATAGTTATTACAAATTATTTAAAAGATGTCTATACTTAATCAACACTACAATTTATGTTTTGTTTTCATTTACTCGAAAATCCAGAAATTTTAGGTTTTCGAGAAAACTTATTTGTTTTTAATAAGTGGTTTATATAAATGAATCCACTTGAAAGTGCGAAAATGTACTTAAAAGAGTCCAAAATAAGCAAATATCATCACGAAGCGCCGAACGTAAGTTTTTCGAAATGTTCAGTTATAGTTTTGGTGAAACTGCCAACTTTACGAGGTTAAAATTTCGGGTTTAATTTTCAAGTCTGTTTTTATACAAATATAAATCAGAGTTATAAAATTTGTAAAAAAAAATTTCTTGGTCGGTATTTAAAAATGTGGGTGATAGGGCCGTTTTTGACAGAAAAAAAGTTTTATAATTGTTTTACATTTTACCAACATAGGAGCTGCCTTAAAAAATAGCTAAAGGCTTGGGGTTTTGCCCTAATGAACAGTCCCAAACTACCAAATATAAATGTAAAATTATTCTAAAAATCTTCAAAATTTTTAACGATTAAAAAAATTTGCGAAACTTTAATAAAGCAATATGGCGAATAATTGTTTCATTCCCGCGATTTTTTGATAATAATTTTTTTGTATAATTCTTGCATTTAATGGCGTCATTGCTTGTTTACATGTCACCATGTGTTTTTCGGCAATAGTAATAGAGGTTTTCAGAAAGCGATTTTCTAGTTTTTGAAGCACATTTCGTTCCCGTAAAGAAAACTTGATAATTGGAAAGAAATGTGGCAAAACGGCGCAATTGACCAAATCGACCAAAAAAGTTAACAAACTGTATTTAAAAATAAATTAATAACCAAAGTAAAAAGAACACCCACATAAATGTCAAAAATCACTCACCCATTTTAGCTGAAATTCAAAAAAGAATTCGGTCCTTCCCTTTTTTTCTAAACAAATATCTCTTAAATCATACATAGTATAATTTTATATGACCTTTCTGACAGTTATATTTGGCATAGTGGGACCTTTATAAGGGAAGTCAAAAAACTGAACTCCGGACTTTGACATGCTATAGTTATTTTTCGAAAAAAGAGTGAAAATAATGATCCCTCCAAAAAATTTTGCTTCCGCGGACCAGGTTCAGCAAAGTTATGACGTTTGGAAAGTGCCGAAAAAAATTCCTTGACCGACCCAAGCAAAAAAAAAAGATTCTTCAAATTTTCAAAAAAAAAATTCTGAAAGTTGATAACAACTATTGTAACTTATTCAAAAATGTGAAAAACGTTTATCATGCACGTTTTTTCTCCCCACGGACAAAAAACCACATTGCTTGATCAAAATTTCGTGAGCAAAATTCTAAAAATTACTTTTTCTTGTAGAATTATTGGTTTTCTGTTATGAGCTATATGCATGGCATTTTTCACTCTTTTGGATAATTTACAAATATTTTTTCCTCTTTTCAGAATTTTTTTTGAAATTTTTGAAATTTTTTAAAAGGGTGTTCCAGCCACTTTCAACATAACTTTGCTGAAGCTGGCCCAGCTAATTTCTTTTGGAGAGATAGCGTTATTTTCACTCGTTTATTGAAAAATTACTATGACATGTAATCCGGAGTTCAGTCGACTTCCCTTGTTAGGGCAAAAAATACCCACAGACGGTACTCCGCCTAATATCAAAAAAGTTCCCACTCGAGATCACTTTTTTACCATCTCAAAATCGTTCGGTTTGTTGGTGGGGGGGGGGGGGGCTTAAAGAAAAACGAAAAAATGAGACACTTGTCAATTTGATGGTAGCAAGTGAAATGGAGAGATACCGGAAAGAGAGTGTAAATAGAAGAAGGGAACAAACACAAATTTCAAAGTTGTCGGAAGGAATTAGGGTATGGAGGATAAAATATTGGAAATTGGGTTTAATAGGATATGTATCTAATCCCGAAGAATATTATTAAAATAACCGGTTCAAAGATCGTACTGAAAAAATCGATAAATACGTTGTGATGGTCCTACTTCCGTCCTCTTTACACAACCTCGTCTTCTTCTTCAGGGCGCATTCCTTGTAACAATGCCCCTTTTCTCTCTTGATGGAGTGCCACAAAACAGTTTGGCAGTTACACAATCGGAAGGCGAGGAAAGCAAAACGGGTATCAGATGATGATTAAGTGAAACCGGAACTGATAAGTGAGAATGGATTGAAATACAGATAGCCGTAAACTTTTAATAACCTAGAATATTAGTTATTAAAGGTGTTATGTATGTTTCGAGAACAAGATTCTGCTTTCTCAATTTTTGAATGAATTATGTTTGAAGTAATTTAAAATTGCCGAATGACGGGTTTGAATATTTGTTTTTTTAAAAAGATTTTTCGTCCGGCCGATTAGTATTTCGCGAAATGTTTTTTAAAATCTTTGGGTTTATGTTCTTCTCTTTTTTCATAAGTCTAAGCTTAGGTTTAGGCTTACTAATTCTAATCCGAAGCATAAGCTTAATCCTAAGCCTAAAGCTCTCTCAGCCTACTCTTTTAAGCTTAATGAATGCCCTAGCTTCATTTTTTTTCGCAGGTTTTTTTCTCTAAATCTCAAAAGCGATGCTACGGACCAAAAATTGGTGGTTCAAAATGTGTGTTTCTATTTTTTCATCAAAAGTTATTTTATGTGACTATACAAACGAGCTGACAATCTTTCTTCAAAATTCCGTTTTTCTTACCAAAAATAGTCAATTTTTCGAAATCTTGCAAAAAACCGTTACCGTTTCCCTAAGTTTTGCTTTCCGTAAATCCTTGTACCTTATGTCGTATCACATGGCATTAGAAATATTTCACTTGAACCAATCTTGTGCGCGTGGAGTACAAGTTAAACATCATATGTGGTGGGTGCAATTGCGCTCTATTGAACAAACTATGTATCAACAGAACGCGTTAACATTATAGCGGTTGTGCAGGTGGGGAAAACAGGAAAAACGATTAGGCAAAACAAAAAGTCTATTATATAAGTTTTCTTCTACACATCTCATAAAGGAAATTCTAATTTTTTACAAAAAGAGCGGGGGGCGCGATTGTAAAGGTTTAGACGGAGCGTTAAGATCTTTGTCGACAAGTGGTTCAGCCGACACCCTGTGAATGTGATTGCCGATATTGTCCTTCTCGTTGATTGAGTCTTTCGAGAAGAGCGCCAGAATGACGTGCAGAATGAAGAGACCGGTGGAGAGACCTGGGAGAGTTTTAAAATTTTTGAGTTTCTAGGCCACGAGTGTCGTCCACTATTATGTCCAAGAAGCTAAGGACAAAATGATTGTTCACTACTGTTTCAAAATCAGCTTGAATCTCAGTAGAAAACAAATTTCACTGGAATATTTCAGCGCTCACCAATAGCAACGACCAGAAAAACAGTCTTAGCAAAGCACACGATTGCATAAGTTGGCACAAAAATCAACGGAAGCATGCATAGGCATGTCGACAGTCCGGGCTTCACACATTGGCATTGCCATTCCTGCCAGAGTACTGTAGACACGTTCTTGTGGAGTGAAACCCACGTACACGAAGTTGTAGGCCACGTGAGCGGTGTAGTCGACCGAGAATACCGTGGCGAGAAGGACGTCCACTTGGATTACCGGGTCCAGGTCGGCACTCCAAAGGGAGAGAGACGAGAACTGTAAAAACTTAAAAAAAAGTAACTTTTTCAGATTAAATCCGAAGAAAATAACATAATTAATAAGGATTTTGTTTCAATGGTTTTTTAAAGTGACAACTACTCATTTTCAGGTTTTAAAAACTTTGACTTGATAAAAAAAAACATTTTGAGCTACTTAAAAAGGTTTTGAATTCCCATCCAAAATCTTTGAAGAAATACAAATGATAAAAATTCTTAAAAAAAAATTGTTAGCAACCCAAGCGTTCGCTAAAGATCGTTGTCGTTTTTTCTCAGACAATTTAAAACATATCCCGCCATGATATATATTTTCGGAGAATATCATTTCTCGTAAAATTGTTTTCTCTGCAAATTTGAATTCTCCGCCAATCATTTTTCTCAGAAAATTTGACAAAAAGGATCAAAAACATGAAATTTCCGTATGGCAAAAAATGTTTTCTCAGAGAATATGAATGTCCGCCAAATATATCAGATACTTTTAAAGTCTCGTCAAAACGTTTTCTTCGAACATCTTAGGATTATTTGGATTTGTAGAATTTTGATCTTGATTTAAATTTTTTAAGTTTTCTGAAAAAAAACAACCATAACAGATACTTGCAATAACAGATGTAATCACGCGAGCAACTGCATTAAAATTTGAAATACAAAACAAACGATTGCCATAACACAGCTAGTAACCGCAATCGATCCAAGTAAGTCAGTGGCCAACATCAAGATGATACTGAGAATTGCAGAGTCACAGTCCAAGAGTGTAGTGAATTGACTCATGAAGAAGTTCGGATATGTTGCATTGCACGTGCTCTTTCTGCCCATTCAGACATACGTTTACCGAGCCCTGAAGTGTCAGAACCCTGTGTTGGTCTGAAAATTTGGAAATTATTCGGATTGAAATTGAAAAGTGTCTAGGAATTAAGTTTGAACTATTTGAGAAGTTTGTATTTTAAATTTTGCGCTAAGTTGCCTGAAGAAAAACTAATTTCGAAGTACCTATATACCTACAATATTTTTCAAACTCAATCTTTAAATTTCGCGCCTAAAATATTTCGAACTTAAAATTTGCGACAAAACAATTTAAACTATTTGAGAAGTTTGAACTTTTAATTAACATTTGAACTCTTTGCGCCAATTTTTTTGCTTGGAAAATAACTTTTGAAATTCTAGTTGCAAGGAAATTCAGAAAAATTAAGGATGTAATTTTTTTATATGAAAAACTCTTAGAATCGATTTCGCGAAAATTTTTTACTCCTCGTGAATTGTCAAAATTTAAATTGAGTTTTACAAAAAAAATTGGCGGGAACGTGAAGTTTCATTAGGAAATTCAAATTTGATAGGCGTTTGACTAACTTATTATCATCTCCTGATATTTTACAAGGGTTCCGGGCGATCGCATCTCATCCATGTAGCGTCGGAAGATTATCATAAGATGGGTGGTAATTTTCTCCAACCAGAGTGGATAAAGTATTCATGGTCTTATCAAAATGCACATACTGCCGGAAGAAAAATCAGACTTCGATTGTCTCCACGAATACCTGGCACGTGTTCGAGCCGATCCATCAAATTGTTGAAAGAGGCGTACTGAAAATTGAATGGCCTAGTAAGTAAAAATTAGATCATGAGCTTACCTCTGCTTTGATCTCGATATTTGGAGGTTTGTTCACTATTACTGTAATGGGAACGTAACGGGATAGCAAGACTGGCCTGCAAAAATGATAAATGCTTAAAAAATACAACTTTTTTCTTTTAATAACGTAAAGAGCTTTTTAAATCGATAAAATCAGTAAATCGGCATTGCAACTGTAGACCAAAGATAACAATTATTGATTTTTCTTACAAAGACATTAAAAATAAAAAAAACTCAATAAAATTAGCGATTATCTTTCCAAAAATCTGAAAATCAAGTCAAATAATTTTCTTGTCGGTATCTTTTATGTTAACCTATAAATACCAATTATTGATTGTCTGGAAAATCAGTAAAGATTCAAATAGATTTTTTTGAGAACCTAAAAATCAGTAAAAAATAAAAAAGTTTTTTCAAACGCTTACGTTTCAAACAAATTCTTGATTTTACTTTCAAACCAAATTCATATTCGACAACGAATCCGCTTCGTTATGGGTCAGAAATGCCTTAGCTGGTTCAAAGGTCGTTTTCGTGGTCACATACTCCATCATTGAAGTTGTCAACGCATACATCCCAAGGCGCACCATACTGCACGCTACACGCCCCTTCAGGGAGCACACGAAGCTCGAGGACTTGGAGAGCCACGTGTCGGCTCCCGGGAAATTTTTGGCTCCGTATCATTGGCGATGGATTGGTAATCTGGGTCGTTGCAGAGGAATTCAATTGGAGCTAGGATCGTATGGGTGAAGATGTAGTCGAAGAGGCAAGGCGAGCGAGGCAGTTAGGCAGAACAAGAACATCTGGAAGATGAGTTTTATTCAAGCTAGCCCACGTTCTCACAAACTTGGCTGCGTGCCAAAGAAGGTTACCTGAGGCGTTGGCTTAGAATCCATTCCAAAAGCAATAATATTGGTGAGTGAGGTGATTTTACGATGGTCCAACATCGTGACAATCACTTGTTCCAAACGGCGAGGTCTCAAAATTTCATTTTACGATGCTATTCCAATACCCCTACAGTACTTTTGCAGTTTCTCTACAGCACCCCTATACAACTACGGTACATTTATTTATTTGTATATTTGTTCATCAGGGAACGATCCTAAAGATACAATTACAACAAGGCAGAATCTTTTACAATACAATGCCCCACCCTCTTTTTCCGTGAAAGGAAACTTACGTGTCAGTAATTGCAATATGATGTTTCCATCTGAGAAGTAGAATAAAAGCATCATCAACTTTTTCCAATTCCAAGTACCAAAAACTGGCGTAACACATGTAAATAGAGAACGACGGGAAGCCCATCCAACAAATTGCTCCAAACGAGGCGGCAGGCCATCGGAGTGAGCAATGATGTAACCAGATAGAATGCCATTTTGACAGATGACAGGCGGACAATGACAATGATGACCTGCGTCAGGTGGGAAGAATCCGATTGTCATTTCGTAGCTTCAATGGTTCCTCGAATCTCACGATTTGCTACTTGGTCACTGACAGTAGATGGTGAACTGAACGTGCTCGAAGGCAGAGGAGTTTGTTTTTTGGAAAGTTGGAAGAGCTCGTCGATTGCGCCCTGGGAAGTATAATTACGAAATGCCGAGTGCTTGCCAGTTTTTTTGATTATGTAAATTTGCTTCCCAGAATCCGAAAATTTGGTTTCCCGCAGAAAAGACTGAAATTTAAATTTCTAAAGATTGTTCAGATGTTTGTTTAAGTTTTCTTTAAAGACAAAGATTTGATTTTCCTATTGAAAATACATGGTGAAAATTCAAATTTACAAAAATTGAGTTTTGTTATAAAAACAGACTGAAAAATTGAACTTCCTGATTAAAATTGATTGAAATATAAGAGGCTCCTAAAAATCTTGAAAACTCGAAATGTAAATTCAAATTTCCCGTCCAAAAATTGACAAAAAAATTTGATTCTACTTTCCTGAAACAAGTTAAAAAATCAAAGGTCCCTCAAATAGTAAAACTGACTCAAAATTAATTGAAAATTGAAAGCCGTATGAGTCTTCTAGGCTATTCTCACCAAAGCTTAAACGCGAATTTTCCTTCTGGACATGTACCAGACCTCGAAAAATACCACAGCACCAAGAATTTGGGGCTGAGCCTCTTGGTCGGTGGTTCTGAAAGTGTCAATGTTTTTTCACATTTTTCCGGAACTTTTTATAGTTAAAAAAATGAAGTAGCTGGAAAGTGGCTAAATCATAAAAACCTTACTATTTTTCCATCAACTTTTCATTTAACATTTCAAAAAAAATCTAAAATCCGCATTACTCAAGTGAAGTCCCAGGAAAATATACGTGCCAGTCCGCTACATATCCGGATAGGTGAGAATACACTTGCGTGGCACCATGTATGTTTCTCCGCGTCAAATTCTGAAAATTGCCATCTGGTCGTTGAAGAGTTTTCTAGTCCACGACCACCACCAACAGTTTCGGTTTCGTTCGACTTTTTAGAATATCGAAACTGAAAATCCAACAACTTTTTGAGAAAAACTTACAAAGCTGATAATGTTTTTATTTTAACTTTTTTCACCATCATTCATTGACATTTAAGAATATAGATAAATGGGATAAGACCGTCCAGGTTTCTGTTCAGTTCTCCCTGTTGTTAAATTCATTAAGATTGTGGTCCCCAAAAAACAATGTTTCTTTCTTTTTTCGATTTTCAATTTTTAGATTTTTCAATCTTCACTAAAAACATCAATAATTGAAAAAATCGAAAAATGACACCCTAGACCACCACCTACCTCTAACAAGTGAAAGGGGCTGGAGAGTGGATCGGTAGCAATTTTTTCTTCCTTCCCATCATCGTGGTAGCCGAATGCCGCCGATAGTCGATTGTCCACAGTATAAATCTAAATTTTTTAAATTCCCGCCAGAAAAGTGGGCTTGACGGAGAATCAACTTACGTCTGCCAGTCCTACGCGCCTTCCTGGAGAATACTAATTTTCGCGCTGGGCGGTAAAAATACAGAATGCTCGTGCCGGATAGATGTCGAGTCCGTAGTATTCCATAGCCAGATACGGTTGAGTATTCACTGAAAAATGTAAAAAAAGTTTTATAGACATTTCCGCCAAAAGATTTAAAATAGGAGTTTTAAAAAAATTAACAAAATAGTTACGAACGAAGTTTTCATTTGCTTTAAAGTTTCTTTTTTTTCTTATTTATTTTTGATCAACTATTTATATTGGGTACTTTTTTAACTTCAAGTGGAATCCAAATTTTCTTCCCAGTCAACCAAACATTGACCATATCACAATAAGGGAAAAGGGAGAAAGGGAAATAGTTAGAAAAAGAAAAACATTGCGAAAAAACGTGTTATTTTTGACTGGTGGTGGAAGTAGGCTTCAAGGTCAGTAGTCACTTACTATCCAGCATCTGAATCATGATAAAAGGCTTTGCGAATATCTGGCTCTAAACGTATGTGCTACAAGTCCTGAACTGAGAACTCATAGGATGTATAAGAGCTCACTGAAAATTGTCCAACTTGAAAAATTTCGATTTTTTATGTTTATTAAATTTTTTCTGGTGTAAAATAGCAGAAAATGCCAAAAAAAAATGTATCAGACACAACTTCAATTTTTCAAACTTTTCGTTGTAAGACCATACAAGATACAATAAATTGTCGTTCGAGAGCGCTTTGCCCATGAACCCGTAACGGAGATTTTCATTCGACTACTCTATAGACCGCGTTGGTGATTCTGAAAATGACTTTTTCTTGGAAATTTAAAACTTTTAATCTGGGATTTTTCTGTTTTTTCCAAAAAATTATATTGAAAAATCAATTAATTAAATTTTTTCAAACCTATGGTGATTCATGATTTGATAACAAGAACATAGCTTCCTAGTTATAATTATCCTCAGTTTTCACGAGAGTAAAAAAAAACGGTAATAAAAACATTCTTTTTTCTATTTTTCTCAATTTTTCGATGTATTTACCAAGAAAATCGATTAATTTATCGATTTTTTTTTCAGAATATCTGACCGTTTTTGTTATTCATCGGAAAAGTTCAATATTTTATTTTTAGGAATTTGATTTCCAAACGTATATTGGTGGCCAAGTTTTCCCATTACTGATCGACGCATAAAAGTTAAAACCTCACAAAGTATCGAATAAACCGGATAGGCGGCTAACAGCCGGCACTGGCACGACGGCACTAATCACATCCCATCCCATTGAAACTTCGAAATTTTTTTGGATAATATTTTAACAGAATTTAAAGCAGCATGCAAACTCTCTCCAACAAAGAAAAATGTTTTTAAAAAATTGAAATTCGAAACACAAGCACGTGAAGCAGAGAATGCAGAAAACAATACCACTGTCCCAAAGTAGAAGTGAGGGAGGGAGGGCAATTATTTGCAGAGGTGACCAACGGGTTCGTCGGGTTCCAATTTTTCGGACACGGCGCAGAGGATTTGAGTCATTATTATTGTGTATAGAGAGTGTAAGAGAATTAGAGAATTTAGATGGGAAACTGTACGTACTTCTGCGAAATGGTGCACTTTTAGGATCGGCGGCCTAGAAATTTACATGGTGCTCTAGATGTCTAATAGATAGCCTAGATCTTTATAACTCCAGACAATTACTTGGTGGTCTAGAAGTTTTTTTTGTGACCTAGAAATGCAGATTGTGGACTATAAATTCACTTGGTGGCCTAGAAAATCATTTGGTAGAAATGTACTGGCCTGGAAATTAACCTTGAAGCTTATGCTAGAAGCTTTGTTAAGTGAGCAGACAGCCCAGCCAAATTCACTTGATTGCCTATCAATTCACTTGGTGGTCGAGAAATGTACGTGAAAGCCCAGCAATATTTACTTGGTCTAAAACATTTTTCAGTTAGAAATACATTGGAAAAAATTTCGATTAAGATTTATATTCTGGCGTTGGATGTGGTGACCTAGATATTTGTCAAGGGACTGATGAATTCATTTGGCGTCTAATTTTTTTGGTGACCTAGAAATTGATTTGGTGATCTGAAAATTCATTTTAACATGACCTGGGAATTTACTTGGTGGTCTAAAAAGTCTCATGGTGCCGGTCTTAAAGTGTGTTGCAAAAATTATACTACAATATTTAACTTTGAAATAAAAATTCAGCTCTAGATCTGCAAGAAAAATCTGTATTTTCTCAATTCAGGATTTTGATTAGTTAAAAAAAATCGAAATGATTGTTTAAAACGCGTTGCAAAAAACAATTTTGTAGCTCAGGAATGCGCTATTCTGGGGAGTCAGATTTACTGGATTTTACTTTTTTTCCTGCAATTCCAATGCAAAATAAGGTAAATGAGAAAACTAACACGGCGGTACATACAGGGGCATCTTGAATGTAAGGCAGTGTTTAGTAAGTGGACCGAGTGGACGGCAAACGCTTGTATTTTTCCTGTGTCGATGGGGGATATCTGTACCGCGGTTGCACACAAGAAACAAGTATTTTGATGATGATACGAATAAGAAAAAGAAAAAGGCAGCAAAAAAGTGTGTGGCAGACGACCACCGTCCATCGGATTAGGCTGAGCCGGCTAAGGCAAACTCGTTCTACCGAACAGAGGGCCGTTTGCAACCCCCAAAATCCTCTGAATGTGACGTCATTGTTGGGGCGGCGGGGTGGCGTCCAATAATTAGTGATTTTTTTTTTTGTATTCTGGAAAAAAAGGAAAAAATCGAGAAACATTCTTTTGTGTTTTTGGGGAGTCTGTCATGTGAAATTTAAAAATGTTGGGTACAATCAAAAAATCGTTTTGGTTTTTATATCTTATTTCAGGAATGTTTAAAAATCTCAATCGTTTTTCTTTGAAAAAACAAAAAACAACAAACATCAGCATCATTTTCGATTTAATTGTTTGTTAAAAAAATAGAAAGCGGAAAACACAAAATTTTCCGATCTTCTCGAAATTCACAAACTCATAAAAAAATCGAACTCCCCTTGTACCCCAGCACCCTAGCTGAGTCTTGCTTCCTGGCCAAAGGCATGGAGGGAGGCGGGCACCTCTTTTGCTTGACCTAAATAAAGGTGATATCCCAGTGATAAGGAAGGGTAATGATCCGGAAACCGCCTACCAAAGTGCATAGTTTCTGCGTTAAAAAAAGTGACAACTGACATCACACGGATGCTACAAATGGGGACTCACATGCCGGAGAGGGAAAATTGTAAATTTGTACGGGTAAGGGGATCAATGTTCAGTGGTGAGGTCGCGAGGACGGAGGGAAAAGGTGGAATTAGAATTGAATGGGAAATTGGTGGCAAAACGGTAAACAGTTCTTATTATCAAATGCATGAGGGATGGAGAAACCTAAGGAAACCCTTGCAGAATTTTGGAGGGGGTGATGAAAAGTATTGGCAACACCTTGGTGGACGAGAATTTTAAATTGATGATCCCATGGACTAAAAATTCAGATGATGGCCGAGTTTTTCATATTCGCACCGAAGAATACGGCAAAATGATGGCCTAGAAAGTTGTTGGAGCGACCTAATCTTTGTTCTTACAAATAGATCTCTAATGTTTCATCGAAGTCAAGGGATGTGAACTAGAAATATAAGATGGTGGCCTAGTCAACAATTATATTTATGGTTCGTCAAGAGGCCTAACTCTTCAATCACGAAATATTCTAGAGTTTAATCCTATAATTAGTATTGTGGACTAAAAGTCGAGATAATGACCGAACTTTAGCTCTCAACATCAATTTGGCCTTGAAATTCCGCCATGGCCGAATTTTCGTAAGTCGACCCCAGCGGTGGCTACGAGCCAAAAAACATAATTCCGCATTCATACATTTTAATATGAGGGAAGCCAGAAGTGCGAGCCTCATTATTTTGTGAGTACATTTTTGACTATCGTGCCAAAATTCCAAAATCCTCAAAAATTTGAAATTTTCGCGGCACAATTTCTGGTTTTAAATCTCTTTTTTTTAGTGTGATGTAGGGCTTTCCAATTTGCATAAAATAAAAAATCAACAAAAAGCCAAACATAATGTCAAATGGTCAGTTGCAATAAGAAAACAAACCTGCGTTTAGGATGGCCGAACCAGAAAAATAATTCAAGCTTTCGATTTCGCCCGAAAAAAATGAGGATCAGAATGAGAAGGTGTCGCCTATTAGAGATTGGAGGTTGTTGAGAAAAAGAGAATAGTGGAGCGGGGGGAAAATGATGAGGTAGAACGGAATCGAACATGCAAATAAAACGAATGTATTTGGTAGGAGAGGGAAGGTTACACTGTGTGTTCTGTGTTTGGAAAAGGATTGAAGTGGTGGAGGACTCTGGATTTAATACTACTTACCTGTTCTGATCAGGTTCAGAGGTATTTCAGCAGTCGCTCTTGTATATTTTGTCTTTTTAAGTTTATTTATCAAATCTTTTTTTGTAACTTTGAATCTGATGTCAAACTTTGGGAACTTTGAACTCGATGAAATTGCTCAAAAAGTAAAAGAGAATTTGCGCCCAACTCCTTTTTCGAATTTTTTTCGAGATACTTTGATTCTTCTTAATTTCAACACACAAAACTTCGCCAAAATATTGTTACAAAATTAACATTTTTATTTGTAAACAGCTGCTAAAGCACCACAAATGTGAAATTGATGCCTAAAATTAAAATGGAGTTTTTCAAAAAAAGCTGATTGAAATAAGAAAGTAAGCTAAATGTATATATATGGGGAAGATGCTATTTCGAATCTCGCGTTTTTTTAGTTGGGCATCTCCAAAATATGAAAAAAATACAATAAAAAGCTCCAAAAGATATCCAGGAATTTTTTCAAACTCACCAAGAAGTATGTTTTGATAAACAAAAATTTGAATTTTTCGAATTTTTTTATTCGTATAATACCTGTCACACTTATTTTCAGCATAAGAGGAAAAAATAAATGTTGAACTTTATTTAATGATAAAAATAGTTTGTCGAAAAGTTTTCGTAAATTTAAAAATTTAAGTTCTACCAAAATAGTTTTTCACCTGGAACAAAAAACAAGAATTTTGTTTGAGCTTATATAACACTACAACCACATTTTTGAGAACATGTCTAGCCTCTGTCAAACAGTTTTCCGGTAGTGGGTGTGGTTGCTAGTGATCAATAGATCTTCGTAAAAAATCGAAATTTTCCGTTATAGCCTGCTTTATTTTATGTGTTTGATGCTATAAGCGTTTGGATTGTATCAGTCCATATGATTTGACATTATTCGCAATATTTTTTTAAATCCGAATGTTTTTCGAGTCTCTATTTTTTGTAATTTTCCAGACGGTTTAAGAGCTAAGTTGTAGCTATTCTTTCCTATCAAAAAATGCAGGAATAAATACTAACTCAATTTATGCAAGATAAAACATTTACAGTGGTTTTTTTGGTCGAAACTAAATTCCGCAGAATTTGAAAATTACTGAAAGGGTTTTTCCTTTTTTAATTTGTACTCCCTACAGTACCCGTTATTTTTGAATTACAATTGGATGTTCGTACCTAAAATTGACACTTTTTCTCTAGTATATTTCCGAATTCAAAATTATCAGTTGAAACTAGATCCCACCAAAATAACAAATTGATAAGAAAACGTAGAAAGGGGAACGTGTACCCTTACAATAATATTAACTGTTTTCCCTCCAATTTTTTTTATTTTTCAAGGGTTTTATTCTTAATTCTATTCACAATTTTTCAAAAAATATTCAGCAAAAAAGTAGGCGTGCTGACTATATTAACAGTATAAAGTGAGTCTTTTTTGTGAGCATTAAAAAAATCAATTTTTTGTCCTAGCTTTGCAATAGTGGCAGCTCAAAAATTAAATGCATTTGTTCCATTTTCCGTAAAAAAGACAGTGGAAGAGTTTTTATCCGTACTTGGGCAGGCTAATATTTTGTGGCCGGTACAAATTTTTCGCGTGGTGCCTAGAAACCTTTTTTACGTTTTTTCTCGGAAACTTATTTTTTTCTGGCCGTGAACGAGTTTTGTTTAAATTTCAGGTGCTTTGAATATTTTGATGACTAGTTTATATTTTCCTGCTTCTAGTAATGCTTGGCCAAACGTCTTCACGTGGTCGGGCTTTTCATCGGTTAGCTTGATGCCCTAGGAACGTTTTTAACCTGGCGTTCTCTAGACAATAACTACCGTGGACTCGAAAGTATTCTACGCCACGAAATATTTGTAGCCTAGAAATCAAAGTCACTACCCGTGTGGCCTACGTCTCCCTGAGCATAACGTAGTCCTCGAGAAGTCCAGTCGACGGATACTGTCTACAAGATTAACGGCATGATAATCCTCCTGGTTCGATTACGATGTCCACTCATTCACTAGTCGGCGTTGTTGCAACAATGTGGAAAACTTTTTGGCATTTTTAAAGATTTTTAAACACATTTTTTCTGTCGGAACTGAGAACCGGCTGTTTGTAGAGAAAAAAATTGCATTTACTTTCCTTGAAAAATCTGTTAGCGTTCTTCACTCGCTGATTTATGTACCGTTTAAGTTTCAGAGACAGCGTGGGATTGGGGGACTGGACGCAGACAGCGAGTGAGTTTGCGTCTCCCTCTCCCTCCCACTCTCTCATAAGTTTTGAGTGTTCATAACTCGGAGAGTGGAGCTATCGAAAAATTCAAAAAAAAAAAGCCTAACAAAAAATTAATATAAAAAAATTCTACAAATTTTTAGTTGCTAATTTTTTGATAGCGATGCTAGGTTTTTAGAAAGGATGACGTTTTTAACTTACCTCGACTCTTTTTGTGTTACCAAGTTAGTATTCCTCTAACAAACCGCAAGACCTCACCTCATTGTAGCCTATTGAAATCTGTAAACGCCCAACGCAGGTTGCCTAGATTTGATATCCGCCTCCATCTCAGCCGTTCTCTTTCCATATTCTCCTAACTGTTTGCGTCTATTTTAATAATGGGATTATTCGGATTTCCTATTTCCGCTCAAAAACCAATAAATTTATTTTGTAGAGCGAAAAATTCTACACATTTTTGGAGTCAGCAAGTTTTTCAATGCACCTCTCCTCGCTGAGTTTCGTTAAGATCTATGATAGTAAAAATATTTTTGGGGCTAGCTATTGTTTTAGGATAATCAGGATCGCACGGACTTAAGTCTAGCCTCATTCCGAAATTTGTGAACTCTGTAAGTTATGTTGACTAATAGTATCCCTCTCCAGCTGTTGTTAATCTCCTCCTTCACTCCAGTTGTGATCGTTTTCGCTCTTCTCTCGCTTTTGCGCCCTCTCTGTAGGGTCCAGAGAGTATCAGTTATCTCCAGGACGCCGTGTGACGTCATCGCTGACAAGCCGTAACCTAGATAAAGCGCCCGGCAGAAGACCTGTTTTACCCCGACATGCCATTCGTGATAAATTTAGATTAGTCCTCTCACACTCTACATCTCTCCATGTTTTTTCACACGAACTATTTGTGTTTTGAAGAAATATCTTTAAAACTTTGCTTTGACTAATTGATAGCATAAAATGTATTTTTTCCGTAGCTCAGCAAATGGCGTAACTAAATGGTGTGAAATGTTAGATAGGGGACCGGTTTTGGCGGAAATCTCAGAAGAAATGGAGCCCTGCCTGCATAGAGACCGCTTTCGACTGATGACATCACAGAGTAAGGTGTCACATCTAAACACCATTCTTATTCTCTTTTTGAGGTCCAATTAGACTAGGCGGTCAGCGTGCTCTCGATTGCCCTAGCCGATGACGTCACATATTTGCCATTCACAACTTTCTAAACTTCAAACATTTTTTAATGTTTTCCAAATTTCAGCCGATTCCTCCAATGGGAGGACTCCCCTCCAAACATCACCACCTAACTGCCGTCCACGGCCACTTGTGGCCCAATAAAGGGTAACGTCGGATATGAGCAAGTAGCTCATAAATTGAGCTCTCTAAAGTTAAGATGAAAAGAAAATTATTTAGGAAGACGCTTCAGTGGTGTAGGGGTTCCTTGGATTACCGTACGCCACCAATTGGAGCCTTGCGCTTTAATAAGCCCTCATCGGAAACGGAGCCGCTGTGGATTCTGTTAGCCGCTGTTCGGGCCATATTAGGAGTCCGCAAAATGATGAGCCACTAGGGCAGGTAGGCGCCTAAATCAGAGCAAAACGCTGTCATTTTTATAAGGCTGTTCAGTTTCTAAGGTGAACACAGTCGGGAAAAGGTGCACTGTTTCAGCCTGAAAGTATTCACTCCAAAGTGGGAGTCAAATGAATCCCGACGGCTTCCCAGTGATGGTCTTCATCCATGGCGGAGGCTTCGGTGTTCACTCATCCAGCAACTATGGCTGCGTTTCATCGCACGAAACCTGCACCAAGGACGTCGTCGTGACCACCTGTTTTACTAACGCGTATGCTCGGCGGGATTCTTCACCACCGGCGAAGTGTGCCTTGGAAACCTTGGACTTTGTCCGGATCAGACTTCCCTGCCGCAGTCGAGTGGGTTCAGGAGATTCATCCGAGGAGACCCTGAATGTTACAATCTTTTTATGGCCAAAGTGCAGGTGGAGCATCTGTGGATCCCTTGCTTTGCCTATCGCCGCACTCGAGGGGATTGTTCAATCGGGCGATTCCGATGGAATGGAGAATGTGATGTTGCGAGGCGGACTAGTGAGTAGCAGGCTCAGTTGTCGAGGGAGTTTGCGAGATACCTTGGATGGGAAGTGGTAAGTGATTAACGCTTAGTCTTCAGATGTTAGAAAGTGCGTTGTCATCAGAGTTGGATTGAGTTTTTTTAAGCGTAATTTATACTAAAGCCCTATCGAAGCAGTTTCCTTGGCTACTTGGCCTACCACACTCAGCCGACGCCCGTCATAGCAACCACCTGGAGGCTCAAGACATTTCCTATAGTTATGTTCTATTGCAAATTTAATACGGTGATTATTCCAAAAATCTCATGACGTATTTTACCGAACGAGAAACCAGTGCAAACTTGTTGAGTACCTAATTACTTCACAGACAACGACAGTGAAGACCTTGTCCAATGGATCATCGACCAGAAACCCATAAGATCGAGATGGGCATAAACCCGAAAAGAGGATTCAAGCATTCTCAGGCTGGAAGCTTGTATTTGGTGCCAAACTTTTACGCACAGGCGACTTCTTCCCGAAACCCCCAGCATTAGAAAAGACGAAGCCCAAAGATTCGAATAATGACTCGGCAGGAACCACCAAGAACGGGGGTCTATTTTTCAGTGAATCTTCTGAAAATTTTCTGAAAATTTTCTATTATAGTCGCCCTCGGTGCCTTATCGAAAAATCCGGAAGGAATTAGTTCATGGGAAGAATCTTTAAAGAATGCGACTATGGCGAGCGTGCTGACGCGATGTGCTGCAGATGGTCTACGACTTTTATGTCAAGGAGGTACATCCGATCATGAGAAGAATATGCATTGTGAAGATAGGTCAGGCATAGAGCCTACAGGGCTATCGAGCCAGTGATTGAGTCCATTGGAGACTATTCTATCAACTATGGTACATACCGTCTGGCTAACATTATGACGGATCTTCAACACGATGTATACCTTACTTCTATCAGTTGGACTATCATACTCTGCAGGATTCGGTGTTCCGGTGGCTTCGGAGCTTCCGTGTTTGGGTGAGTTTAGGATGGGTCAGATTTTTCCTAAGCCCGGGGCCACATGCTCTTTGTAGATCAGCAGTTTTAGAAGTTCGAAGCGAGAAATGTATGAGTATGGGTAAAACTTTTAAAGATTGAAAAGAAATTATCCAAATAATAGGACTTGGTAAAAATCCCTTAGGCTACTTGTACGGCCGTAACCTGTCACTAACGATTCTAATAGTGTACCTTATCTGAACAGTATTGCCAACTAATTGAAATTAATTCTGAGACTCCGAGATTAGCTAGCGGTCCTTTTCGCTGTGGCCCAGTGCCCATTTCCTATGGCTCAATATCCTTTTCAGGCTCCACACATTTCACGGAAATCAGATATGTGCTCGGGAATAATCTCGAAATTATCCGACCAAATGATAATGATAAGAAGATGCTTCACGTTATGACAACTTATTTTACAAATTTTGCAAAATATGTTCGAGGTCCACACTTTTGTGTACTCGAAATTAAGCTGCTTTCAGAAACCTCACTAATGGAGAAAGGAGACTAGAATGGCAAAAGAACAACTCGGCACACCTTGGCGTTCGCCATTTCAAGATTGATCTGGACGATTCTGAAATGGTTGAGGACTCTCAGCAACGGAGAGCCGAGCTATGGGATAAACTGAGAGCATTTAATGTTAGCAGGGCTCACATGTTAAATTGCTGTTATTTTTACTTGATTGATTTTACGGTTTTATAAATAGTTTAGATTTGTTATATATTTATTTTTTCTGAGTTACATACATACATCAAGAAACATTTCTCTTGCAATCTAACTGAATTTTATTTTATAATCAGTTGTTTTTATTAATCCTGTACTATGCGGACAAGCGTAAAAATCTGTTTTAATCAAGAACTCACCTACCAATCGTTAACACCAAAAACCAACACGGTTCTGAAACAAACGATGCATAAGCTGGCACCATTATTAATTATCCGCATACAAGGTTTATCAAATAAAGGAAAAAGTCGGAAGCTTCCAACATTCAATATCTCTATTATACTTTCCCCTTTCCATGTATGTGCTTTTTGTGTGAAACCAACTTAACCGCCAGAAAGCACATAATCTATAACAGAGGTGGGCGGCAATTGCCGCTCGGCGAACATTCTGATTTTTTGGAAATTTTCATTTTTGGCTAGAAATTGCCGCTCTGGCGTTCGCCGGATATATTTGCCGAGGCGCAGTGTTTAGAGGATCCTCGTTTTACCGGAAACACTTAAAACTGTGCCTTTTTGAAAATATTTTATTTTTATTCTTTTTTTCGGCAAAGTTGCCGGTTTGCCCAATTTGGCAATACGCCGGAAATTTCAATTTCGGCAGTCGGTGCAAGTCAATTTGCCAATTTTCAGAAAAAAAATTTCGACGCCCATCCCTCATGCATACCGTTTTTGACTCAATTTAAATAGTAACCTTCCACATTAATGTAGTAACGGTAAGTTTGCATAATTTGTTTGAACTTTGAAAGCCGCTGGGCATCCAGCACCTGCGGTAATCGATCTCCTTAAAGGGTGTTTTCGCAAATCTACCAACATAACAGGAGTTTGTAGAAACATGAAACCGAAGGACAACACATTTTGAAAGTCACATTTATGTATCTGCACTTGCTAGCTATGGAGTCAATGAAGCATTACGAGAGACATGTGTTCATTCCCGAATGGAGTATGAGTAATAAGGTTCTTCGTTCACATTTTATTATTACAGGCTTGGGTCCCATATTGATTCATATTTTACTTACTTTTCAATTCATGTGTTTGTAATTTTTTTTCAATTAGAATACTATTATAATAAAATTTCTAATAATGGACAATCGAAATAGTTGCAAGTAGAATAACTATTTGTACAGTGATGCCTATAATTGTGGATGTTTATAATGTGTCTAATATTTCAACGCAATCGTGACACAAGCTCTATAGTATCTCGTGAGTGCATTTTCGGTGAGGTTTCAAAAAAATACTCCCTTGCTCGCCATACGTTTTCAGTTAAAAATTTCTTTAATAAAAAATTATACTGCTTATTTCTCGAACGATACCTTTAATGTTAACTGCGCCTACCATGTCCTTCAATCCCACTAGTCAGTTATTCTTTGCAATTAAATGTCATGGAAACGCTTCTTTAATGTCTAAATCATGGATATCTCCATCTCAACCATCCATCGTTTTTTATCATCATCATTCTCGTGTTCTCGTTCTCCGGGTCGCCTCCGCTTCTTCATCATCATCACCACGACAAAACGTTCTTCCTAATCGACATAATCCCGCATTTAATTTCTCGAATTGTTAGGTATGAATGACACCCAAAAACGGTCTCATATTCGGAAAAAATGGGAAGATTGATTCCTAATTTATTGGTTTTGACCGGTTAACCCCCACACATGTTTTTTGTACCTGCGTCTATTTTCGTCTAATTTTAAGAAGTCAATGCCTAATTGTCTTTTTTATTTTCTGTGAAGTGAAGTATCAAGATAAAATCAGTTTGGCGGTCGTCTCGCTTCTTTCTCATTTTTCGAAATACCCGTCGCAATATGGTTTTTTTATTACACATTTGTGCGCACTTTTTTGCTACCCTACCCCCCCAATTCTGACTCACGCTTGCATTCCGGAGACTGCTCTGAGAGTTATAACAAAACATAATTGTTATATAAATGTCAAAGTTTTTCGCAAGCTGAAAATTTTTGCCAGCTGAATTATTCCTTGCCCCTTCAAAGTAGCATAAGTCTAAAAATGCTCGAGTTATTGGAAAGTTGCTAATTACAAGTTAAAGAGTTTAATTGACTAGTTTCTCGATTTACAATTTTTGAACTTTATTCCTTGAAACTCTAGCAATGAGGGGCAGTAAGTGGGGACTCCCCCACTGGGGAGGGGAGAACCTTGTCAACCCACTAGGGAGGGGAGAACTTTGTCAACTTTAAAGCCACGTCCTTCTGCAGGGAAAAGACTCGCGCTATCAATAGGTCAACTAACAAAATGTGTTAAGCTCCACATTTTTGTAGTTAAACGTTTTCTGATATCACAGTAAGGTAGTTTTTGTGAAACCATCAAATCTGTAGGTTCTCCATTATTATTATCACCTAGCACAGTATTATTACCAGCTGATAAGTATCCGTCTTTTTTGGATGATCTTGTAAAGGAATATACCATTGTACTTCATCTCCTTTTTCTGTGTCTACCCTTATCTTGGGGTCGATCTTCTCCTTCCCGCATACGGTCTCCTCTTATTCAGAAAGTCAGGAGGAATATTCCGAGAAATTTTGTTTTGAACGACATGTGCGATCAATCGCTGGTCCAGAAGGTTTTCCCACTACTTGGCTCGTGTTCTCAGGTGAGTATGCGCCTTTAAACATTGAGGGTACTGTATGCACCATAACGCAGAATTGCAGATTCTAAAGTTGCGCAGGTTTGTTCTACACGGGATAACCGTAAAATTTTTATGTCCCTTTAATAGAAACTCGTCCGAAGAATTGGTAATGTACGTGGAAAACGACTTTTAAAAATGTTTTTTTACTCCAAACGATGCTCTATTGTGCCGAATCGCTTGTTGTTTAGCGGCGTTTTGGGACTAAATATTTATTTACTTATCGTCTTGTTTTTCATAACTTTATAACTGTTTAAACAAAATCGATAATATTTATTTCTAATACGATTCTGAAAATTTTGAATTCCAAAAAAATTTCGGATAATTTTTGATTTTATTTGGCAGATTATTTCTGATAGAATTTGAACACTCTCTTTGGCCAAAGAAATTCTGAAAGTTTTGAATTTCCCGCAAAAATTGAATTTCTGAGAGAATTTGAATTTCTTGCAATTTTTATGTGCAAAATCAATTGAAAATAAATGTGGTCGCCAAAACATAGAGAAAACTCCCGGCCACCGATTTTTTTTTCGCAAATTTTCCACCGCATTCTTTGCTGCATGACTGCCAAAAATTGGCGGCTTTGTATTCTACAGTGTTAATTCACAGATGGCCGAGTTTTCTCAGTTTTTTGCACGGTCACAGGCTTCTAGTTTATTATATTCATCTCCGCGGCGCGCGCACCGTACTTTCTCTCTACTCTCGGATCGTTATCCCTCTCTTCCAACCAACGCCCTCTGCGATTGTGTCATCATCTTTGCGATTTGTTCTGGAATCCCAATTTCCGTTTGGCTTTTCAATACCCGTGCCTTATTGGCTCAGGAATTTCTGGCCCGGAAATTTCCGGTCTACAATTCGGATTATTAACCATTTCGAAAAAAACATCCTTTAAATTATTTTTATTATAGTGATAAACGGCGGTGTGATTTTTTCTCGCTGGTGGGTCCTGGCACGACTGAAACTTTTCAGCTATGTAATTACCCAGCATTGCTTTAGAATTTAAATTTGCCGGCAAATTAGAACTGCAAGATTTTTGTTAGTTTTTAATTATAATTGTTTGGGAAAAGTACAAACTCATCTTTAATAAAACCCACCGTACTCCCATGTACTGCAGCCAAGAGACATAATTTGTTTCGTGCCAAGACCCATTTTTCCCTCCCTTTAAGAACTAGAAACCCCCTTGTTTACAACTGAACTTAAAATCGAATTAGTTTGTTCGCTAAACATGTTTTTCGCGCGAAATTTCGCTTTACAAAAAAGTTTTTCTTCATTCCGTTCGGTCGGCATGCGCCTTTAAGTGTAACTACTATTTTTGAAACCGACATAATGATAGAAAAAATTAGAAAATATTTTTAATTTTCGGCCGGAATATCTTCGAAAAAAAAACTAAATTTCATGGATTCTCAGTAAAAATTCACGGAAATTAAAACTTGCGTAGCGAGACCTCAACTATCACATTACCTATGCGCCTTTAAAGCTACCCTAACCCTATTTTTAAAAATAAAAGAATTTCCTTTTAAAAACGCCGGATTTTCTCCGTCTCTTTTCCCATCTTTTTTCATCTTCGGTACCCATCATATGTAGATGAGAATATCTCTGCACCTCTCCAACCAACCAAGTTCAACACTTCGATGCACCGTCCTTCAACGATGTGATCTTCCTCCTACTTCGACCCCCTCAATTCATTTCCGATTTCCTCGGATGTATTGATCTTTTTGCCTCTTTTATTTCTACGTTCTATAAAAGGATATAGCCAAATGGACTCAAACAATTACAATCCAAAGTTTTGACGTCAGTGAGCTTACTGCGAAAATCTGAAGAGATTATGTGAGTAAAAAGCGGCGGAAGACGTAAAACATATGAAATATTTTTAAAAAACTTTGTTAAAAGCCCCACATTTTCGAGATAAATCTAAATTTTCAAGTTTGTAGCAGCAAATCGCTAAGCAAAGATATATATTTCAGGCCGAGCAGACATAACAAAAATGCCGATGCTTCATCCACGGCATCAATCACTTATCGATGGCGATCGCCGTCACAGCGTCGAGCTCTCGATTTTTATTAAGTAATTTGTTTGCCTGCAACTCAGACCAACCAAATGCTTACGTCGTCTATTAGATCTTTCAACGATATTTGATTAGAATCTGAGAAAAAAGTATAATGGGGACATAATTAATAGGCTTATGGATATTATTTGATTTGACAATATGGATTTTCTAACCAAATATGGTTAAATTCTAATCCAATATGGAGCAAATCTAATCAAATATGGCTGAGATCGTGCCATATTGGATTATTTCGACCATATTGGATTAGATTTGTTTCTAATGAAATATGGAGAAAATCTAATCTCAGCCTTCATGAATTTCTAATCTAATATGGAGTACAGCAGCCTAATATAATGCAATATGGATTTAAAAAATATGGGTGAAGTCTCGTTGAATATTGTTGAAATCTAATTAGACGACTAAGCGTTTAGAGACAGAACTGGAGTTGAAAACCTTAAAAAAATGGGCGTAAAATTTTCAATTGTGTGGAAAAAATCAATGAAAAACTCAATCGTACAGTAATTCAAAAATTCGTTTCACTACTGGAAAAAATCAGTTCCCATTGAAAAAAGAAAAATCAATTTTTCCAGCTCTCAAATGGCAGTTGGGGCAATTCGAGCACTCGACCGTCTTCACCATCGCCGCCTTGCTCTTTCTGCTCGTCATTGTTCAGCTTTTCGTCGCGATTTTCTACCAAATGTACGGAAATCTTCTCATCTGCGACCGCACATCGTCATGCAGGTTCTGCTCGTTTTGTGCTTCCTGGCACTCACATGTGCGACGCTTTATGCGCTTTTCACGGTGCCACGTCTCAGGTGCTCGTCGTGGTTACAATCCGCAAATCGCCGCATTCCCTGGTAAGTGTGGTAAAAAATGAAGTAGATTTGTTTCCTTTGGAAATTCCTTCTTTTTCCTCAATTTTTCCTCATTTTTTTGCTTCCAAAAAAAAGACCCATTTTGCGAAAAAAATTGTTTTTTTAATATATGTCTTTTAAATTTTCCAGACAATTCTCCCGGCGCCAATGATCACAAAACGTGGTTTCCGGATTCTTAGTGGGCCTTCTCGTCATTTTCGCAGTCTCCTACATGCTCATCGCTGTGCTGAATGTGAGCTGTTCCCATGGCGACACCCATGTAACTTTAATTTTTGAAGACCTGGTGCAGTCGTCATCTATAGTTACCAGCTTTTGAGCCAGAATCAATCTTGTACGTCGGTCGAGATTGTGCGCCGAAGACACGATTCAACTCTCCCTATATCCCAATAAATCAGGCCACTGATTTTTAGTCTATATTGTGTAACACACCATTTGTTGAATTTTTCTCGAAAAAATCCGGTAAATTTTTGAGTATACATGTCCCGAAATTCTTCTTTTATCACATGTGTCAGGCTTTAATTTTCTTACTTTATTTTCGACTTCTGTACAAAAATCTTTGATATATTCTATTTATTCTTCTCAATTAATAATCACACGATCCATCTTTCCACTCGTCTCGCCACCTTTGCATCACATCTCGACAGTCGAACTTTGGTTTTCCCGTTTTTTCGTTGACTTTATAGTGTAGCTGGCACATCCATAGCGCAAACGCCTCGCGGCTTTCCACTTTTGGCGGCGATTCATTCAGATCTTTTATCTCTGTTGGCGCAGAAATCGCAGGGATATGTCTGAAAAATTTAGGCGTTTTTGTGTGAATCTTGAGCTTATTAGCTAACTTTTCCTAGAATAGAAATGATAAACTTCTGGCTCGATCCTTATCGTCTTGTAGGTTTTTCCCGGGTAGCGACATTGTGTGTAGCAAAACGCTTCCACATGGATCGCTATGCCTGAAATTTGAAATTTTTGGTGGAAATTTGAATTAAAAGCTTGAACCGAGCTCATCCTTGTTTCCTCTACTGGACATCCGTGCAATTTCGCTCCTGTGCTCGTGCTCGACGTCGATCTCGGATTCTGCAAAGAACTGAAATAATTGAGATTTTTTGCTCTGGAAATCTAGGTAAATCACATTTTTTCTTTATTTTTTCATCAGAGCCATTACTTCTCTGCCTTTTCTTCCTATCCTCTACACTGACGCATGCACGACACGGCTTCCCTCCATGGACCGATTTCCATTCTGAAATTTTTTAAGCACTTGGTTTTAGTTTCGTCTTTTAGAAGCCGTTTTAGGGCGTAAACTTATGACACTATACATAGACTACGACAAATCTATAGAAATGCATAAAAGATAGGTGAAAAATGTGAGAAATTGCGCAAAAACGCTGATGCAAAAACGAAAATAAATTAACTAAAAACATGAAATGCAAGTGCGCTCCACTGACACGCGTTAGAGAGCGTAGACGCAGAGAAATCTCGAAAAGATGAGGGATATCGTGGCGCGCGAGAATCAACCTTTTTTGAATTGTCTTGATATTAAAAGCCCAAAACCCTAATAGATCATTTTTGTTTTTGGTGGATTTTCTTGCTATGCAATGTAAAAATTTATTATTTGTTGCATCTAATCACTTTTAACAGAGATTTACAATTTGTGGCTGAAGGAAAATCCTTCAAAAATCAATTTCTACGATCCAAAAATTCGTTATTTAATTTTCCGCCCCGCTGATCAACTAAATTCTTCTATTTTATCACTTTATTGAAAACCCTCGCCCACCTCATTTTATCACCTGAAACTCGTCACACTTTACAATTTGTGAAATATGCGAAAATGGTTACTCAGCTAAAAAATCTGAAGCACGCGATAGCTTGCGACAACTTCTGGGAGTGGGATGGAACGAAAACGGCGAGAAAGGCAAATTTTTGGTGGAATTTAGCGAAAAAACCTGATATGTTTTTTTGCAGAAAATCGTCGCACGAGGTGCTTCGGAGCTTCTCTAGCTCTGGCCAAGAGCGGAGTCATTAAGTGAGGATAACCAGGAGATGTAGGATTTGTATGATTTATTTCTGCGCGTATATTCAACTTAGCTAAGAAAGTTTGTTTTTTTTTTGTTAAGAAGTCGTAAACAACTCAAGGAAATACCGTTAAAAATAAGCATTAAATAATATAGAGGCTTATGAGAACAAAAAATTCCAGGAAAACGAAGAAGCCAACCAACAATTCGAAAAAGAACGAAAAATGGGCACAAGACGAAGCGAAAAACCAGTCCCAACTCCACTGTTCGGGAGCTAGCTCAATACAAGATGTGCCAAAACGTTGCTGTCAGCAGGGAATCGATCATCTCAATCAGGTGCCATGATAGCATATTGTCTGAGACTACTTGAACTTCCAATCACAATCACCGAGAAAAATCGCACTATAAACGAATATGATCCAACGTGCTCCTAATGAGCTCCAACTCCTCACAGCGCCATTGAGCCGAGCATGCTCATTTGAGCAGCTTATGAAGAAATGGATTTGGAGCCGTGTCGAAACTTCCGCCGATATGGGGGCAATCGCGAGAAATTATATGGAATTGGCGGCGAACTTGCTGGAAGACGTGGATTCACCCACGTGGTTTTGAGAAGTCGCCTATTGACCTGATGGCGAAAGTGATGGGAACACTGAAGAAAAGTGTGGAAATGGATATCCCAAACAATAGTGCGTGGATATCTTGAAATAATGTTCAAAAAATTCAAATTGGCTTGTTAATGAATTAGGCTTAAGCTTAAGCTTAGATTTAGGCTTGCATAGGCTTACAAGTGCGGAAGTATTTCATATTCCCGGACTACAGAATGAAACCTATGTCATTTCGAAGGAGACTCTTTAAGTAGGTCCCTTCAAAAAATTTAGCGGCAGAGGAGCACTTTGACCTGGAAAAAAGTCGCTCTGAAAACTTTTCAGTGCATTTTATCACGGTCTTTCGAGGCCTGTAAAATGGATCCAAATGCGAATTTTTGTAGATTTTTGAAGATGTCTAGGATGCTGTCGCAGAGCACTCGGAACATTTTTTTTGGAATTTTTTAAAATTTTCGAACTGAAATTTCTTTTACTGTGAATAAGTCCATGGCAAAATTTTTCAGTGTATATATATATATATTTTTTTTAATTCAGAAAAGTTGTCAGTTATTTAAGATCAAAATGGGTGTTTTTACACAATGAATATTTTTTTGAGATTTGATTCGGACCTGCAAAAACCAATTTTGGAAAAAAATCGGCGTTTTACCCGGACTCGAACCCCAGTCTTAAAATATATTAATCAAACTCGCTAACCACTCGGTCATTCATCGACAATTTTTCTTGTAAATGAAATGGATGACAAAAAAACGTGACTCATTGATATCTACTTAAATATATAGGGACGTGAGAAATAGCTTTGGAAAAGGAGAGGACGAAGAGAATTCAGAGAGACTTTTTCCAGTTCAAAGTGCTCCTCTGCCGCTAAATTTTTTAGTAGGGGCCTGCTTAAAGGGTCTTCTTCGAAATGACATAGGTTTCATTCAGAAATCCGGGTTTAAGTTCTATTGAACTACTTCCCTGGTTAGGCTCACTAGGGAGTGACCAGAATAAATCGATAAAAAATTGTATCGGAAAGCTGGCATTCTCTACTATAAGAATATGAGTGTTTGCCCGTTCGGGCTGGAAATCTGAAATTTTTACGTCGGAAATTCTACACTGAAATCAGTGCTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGAGCCAACAGAAGTCTCACCACAATGGTGGAAGGGCGAAATCCACATCGGTTCGGTGGTCGAGCGGTGAACGCGTTCGCCTCTTGAGCAGGAGTTTGTGGGTTCGGCTCCCATAGTCATGGGTTAACTTTTAGCCTTTTTTATACAAAATTTTCAGAACGGGAAACAAGTATTTAGAACATTTTTTTGAGGGTTTTACATAATTTTTTTGCTTTTTAATTGACCCATAATTACCCAGGAAACTTTTCAGAAATTTTAAATTTACATTTTCGAAAATTGACTCTTTTTCCTCCAACTCATGAGAAAATATGATCGAAAAATTTTTTTTTGAAATTTTTTTAAAAATGCATGGAATATTTTAGAGTGTCACAAATACCTATTCATTATTACGTTTCAAAGACCAATCATTGATTTTCTGATGCCTTATTAAGACGTTTTACCAAATCGATCTTTCAGGCAAAACATCTTGTATTTGAGGTTCCATATCTCTGCAGTAAAAAATCGCACTCAAATGTGATCAACTAGAAACTTGAGTTAAACACAATGTGATCTAAAACATTTCAGGGGGTTGAACACTTTTTTGTAAAAAACTTCGTTGCCGAGTTGGAACCAATTGATTTGAGATTCACTTATTTTTGAATATTCAAAATATTTGTTCTATATCTTGGCAACGAAATTTTTTACAAAAAAGTGTGCAACTGAAAAGTTTCAGATTACATTGTGTTGTACTTAACAGGTTTTCAGTTAATCACTTTGTAGTGCGATTTTTTCCTGCAGATATATGGAGCCTCAAAAACAATGTTTTGCCAACATCGATTTGGTAAAACTTTATTTCATTTTTTTTTTTCATGTTATTGTTTTTATATTGGGTCAAAACGTATTTGCTCTGCTATCACAATAAGCTGGCGCTAATTTTTAATTTTATTATTTTCATTTTGATAAATTTCACTGAAATTGTCACTTTAATGGTTTACATTCTATTGGTTTTCTTTTATTCAATGTCTTTTGATCGGAAACGTGATGTTTGCCTTGCATGACCGTCATTTTCCTTCCCAATCCCCTCCCATCAAATCCCTCGATTTCGAGACATGAGCAGAAGGTGGCAGATCATTTGGCAAGCATTATAAAGGAATCTTATCTTATGTACCAGTGTGGAAGAATCCGAATTTGGTTGAAGACGAAGAATATGTCGATTGGGAGCCAGAAGTTTTCAGTTGAGGTATGTTGGTTTCGACTCTATTAATTGTCATTTAAAAAACCTTTCAACCGTATGACTGTGTGTTGCCGGATCAAGATGATGTATTGTTCGGTGAGAAAGCTGTATCAAGGGAAGAGTTGGTTAAAGACGTGCGATCACCGTTCTAGCGTAGAAATTGGAAGTAGGCCGATAACGACTCTGCACCATAGTTATCGCTGGATACGAACCGATGCTCATATGTACAAACTGCGGAAGTACGGGAAAGATAAAAAAGCGTTCCAAGAACGGCTCGTTTGGCACAGCTTACACAGGCTTTATGGCCTTAGGAGGTCAAGGTGAAACTGAAATGGTGTACATTAAAATAACAAGTTTTAATATAAATATTTTAGGGGTCTTTGCATGATTCTGGTTTGATGGCTACGGGACTGGAAAACATCACCCGCGAAGTGAAGTTAAACAAAACGAAATGAAGTTGCAAAAAGGTCCGTCACAAACCTGGATAACCCGATGTAAGCAAAGCCACAGGAATGTAAGAAATTGCACTTGTATGTTAGCTATATATATATATATTTATATAATTTCGGAATCGTGAGTCGGAGAGTCGTACCAAGTACATGGAAGTGCCAGATCAATAAAGACGCTAAAAAAACGGGATGATTTTGTCAAGAATGCCAGAACAGAGATCTCAACCAACTATCACCCGTCGATGGTCTTCAAGTGTGAGCAAACCGGAATTCAGAAGGAGCGGTATCCAGCTCGGTCATTAGCCCTTGATGGTCGAAAAAACAGTCGAGATGTTGGCGCACCTCAATCGAAATCGTCGCTGACCCACTCGTTTACGTTTGTCCCGATGATTTTACTCGATGGCTCAATGGGACCCCAAGTTAAGGTAATCGCTGATCGACTAAAAGGCCAGTTTCCTCCGTCTACGTGGTCCAATTCAAAACTGCCCCAATTTTGTGCGGGCTGGATACAGACACACATCATGACGAAGCAATTGATGTGCGATTTTTTCGAATGTTGTGTCTTCATTCCGTCTAATGTGACCGAAAAAACTGTACATCATGCTGGACCGGCCAGCGTTCAAGGACCATACACAAGAACCTGGTTCCAAATGGTCATCATGTCGTCATTCGCAACATTCCAGAGCACACAACTGGAGATGATCCAACCGTTGGATGTCTATTGGGATGCGCCATGGAAGAAGGTATGAATTTTAATCTTTATAACTTTTTGAAAGTATTGTCCAGAGCTGGTGAGCTGCTCAAGAAGTTCACAGCATGCATGCCCTTCGAACCCAGACGGATTACGTCCTCGAGGAACAACCCAATTTGCATGGTATCTGTGTTGTATCTCCAGATCTCGGCAGTGCACTTCCGACCGTTACAGCTTGAAATCGTTGGAAGAAAGCTGGATACGTGGGTGCTGCCAATACTTCATCAACCGTACCACTTTTTGACTCCAGCTCATGCCATATTCCATTGATCATGGTGACCCAGTGATTTGCTATCACACTTATGGGATGTAACCATCACGGAGTCATCCGATGCGCAAGATGCAAGATGTTTGTTTGTTCTTCAACCATTTTGTGGTAACAACATCTTTGTTCATCTCCTGAATAACTAATAAATTCATGATTGCATTACATTCAAGTTTCGCTATGACTAAAATTGTTTATAAGGGGATACATGGTTGTAGTGGTCCATGGTTTAGTTTAAATTGGAAAAGATGTTGAATGAATCATTATGGTCTTGGTCGACACATAGATCATGCTGATGTCGATCAGAAAAATTAAAATTTGGGTTTTTATAGTTTCGAAAAAACACGTTTAAATTTTTGAAAAACTTTACCGTTCTTTAGGGTGTAATTGAACTCCAGATCCCACCATGCATGTCATCCACTCAATAGCCACTCGGCCATCTCCTGTTGCAGGCAGTACTAATTGGGGAGGTTGATAAGTAAAGCACGTCCGAATAATTTCAGACGTAAAAATATCAGATTTCCAGCCCGTACGGGCAAAAATTTCAGTCATTACAGCAGAGAGTGTCAACTTTCCGATACAATATTTTTTTTTTGAATATCGCTCTGCCATTTATTCTGGTCATTCCCTAGTCAGGATCAGCTCTACCTCAGGCCTAGGCTAAGCATAGGATTAAGGGTAGGCTTTGGCGTAGGCTTATGCTCGACGCTTAGGGGCTTGCTCAATCATACATCTTGCTTAAGCACGCAGCTTAAGACAGCAAAGCTTAAGCACACAGATTGGGCTTAGGCTCAGGCTCAGGCTTAGAAACAGTCGAAAAGTTAACTAAGTCAAAAAATTTTTTGTTAAAAAATTGTTTAAAAGGTATTATGATTTTAATAGAAAATTGGAAAAAACCCGAAAAAAAATGAACATAAATCAAAAAAAAAATTTTTTTTTAAAGAAAACTTCTTTTTTTCGAAAAAAATGCAATAAGGTTTTTCTGAAAAAAACAGGACTTTGATTTTACTGTAAAGAGAATTTTTTCTGTTTTCTTTTTCCAAGATTTCAACTTATTTCTGCGCTTCGAGTTTTTTTTTCAAATTTCCTCTTATTACAGTTGGTTACTGTCGAAAATTCTCGGTCGTCCACATTCATGACAATATCGTACTGGGGTCTCGAAGCGAGAGATTTCATTGTTCGTGAGATTTCTCACAGGTAGTTTGTCCAACTGGATATCAGTGGCTCATAAGATGCAGCTGGAGAACAGTCCTTTGAGTTTTTTTTCGGAGTTTGCAAACGCGCCCTAAAAAAGTTTGGAAAATTCCACGTGGAAAATAGTTTGGCGAAAGTTTTGATACAAATTTTTCGTGGATTAATTTTTTTACTGCTCGAAATTCTCTTTTGTTAAAATTAAAAATGTTTTATGGGCGAATTATTTTTCTAAATTTCAGCTTTTCTTTCACCAATAAAATATTTTTTTGAAATATCGCTTCGAGACCCAAAAAAATAATTATTCAATGAAATATCGAAAACAGCCAAAATCGAGAAATTATCGAAAATAATTCGAAAATTGGAACTTTTTAAAAAATATTTTAAATTTTTTTCAAATCAACACAAAGTCTCTCAACTTTTTTCTAAACAAGAAATATATTTCGTGACGAGACCCATTTCTACTAATTTTCTTTTTCAGAAATGCATAATGCGTCCATTGGATTGATGATCTCGCTTGCCATGATCGAAACCGTACACGGCCACCGTACCATGAACGAAGTGACACGTAAATATTCGAAAACTCGCGAAAACCGGAATCCAAGAGTCTCTGAAATTGGAGCACGTAATTTCTCAAGGAGTTCGACATCGATTCTCTTTCCGAAGAATGCGTGAGAGATCTGACGAGATGGTTGATGGCCGAACGATGACTTGAACAGCCGTCTGCGGCGATGAATGAATCGTTTGAATTGACCGTTGATAGCAGTAGTAAGAAGAAGGACGATGCCACGTTTGTTAGTGCGTACATAGAATTCTACCAAAAGGAGATCTACAAATTCTAAAGAAAATCTACGAAAGGAGTTGTCACGGCGCATGCCAGATCGATCTTTTTTCGGCTCAAACTTGGAAAAACCTGCAATTTTTATACATTTTTGGCTTCGAAAAGCAGGGAACTCTGCAATTTTAGGCCTTTTTCGCTAAAAAATTGGAAAAATCTGCAATTTTTATACATTTTGTGGCTCACAAACTGGAAAAACTTCCAATTTACATCTCAAACAGTCGGGAATCCGCAATTTTCCTCACATTTTTAGCTTAAACTAATTGAAAACATCTGCAATATTTCAGATTTTTGGGTCAAAAAATCGGGGAATTTTGCAATTTTTACATATTAAGTTTAACAGTGGAACATTGCAGAAAATCGGCATAATGTTGAACGTTTTCCTTTTTCCAGTTTTCTGTTTTGTTACGATTTTCGTTTTGCATGGAAAATGCTTCGATTGATACCCTTCTTTCGGAAACTAACCGACAGGAGTTTCTCCTGAAATAGGCGTAATCTCAAACCATTTATGGGCGTGGTCTTCTCTCTTATGGTTTTTATAAATGTTGTTCATTAAAACATTTTCAGGCCTTATCAATCTCTCCATTGGCTCGACGATTTCCGGAAAACATAAATTGAACGCGGGATGGTGTAATGCAAATCCTGAATGAGTTGCTAAAAAGTCGACGACTCGAACCTACCTTCACGTCACTAAAAAAATCGTGACAATCCTCTGGGAAAAGCGAAAATCCAACTGAGCCACTCCGTACTGTGTTCTGCTCTACTCTCCACGTCGTCTGCCAGGCCGATGTTCGATTCGCTCATCGGAAAGTGCCGACAATCAACTCGATTCTTAAATATTCGCTGTCTCTAATGCCAAATGTCGCATCTCTTCCTAGTGACGCTGCGTGGTCCGAAACGATTGTCAGATTCAGGACAGTATCACCGAGAGGGTCTCCGTAACACGTGGGATACCGTATCCCGAAACCCGCTAGCTCCGGCTCATAGTGCAGTGTTCGGCTGATTTCGGCATTTATCTCCGTTACGGAATTTGATGAGAATTCGAGATTCGCCAACGATGAGAGAGTTCGGAGTCTCAATGGAGGTAAGTCACTTTGCCACGTGGATGGATTTCCTTTAAAAAGAGTTTTTGGAAAACAAATCAGATTTTTGTATATCACCTTTAAATCGAGAAATTCTTGTTTTTCTGTAGTTTTCGAAAAGACATAATAGAATGGGTATTGCGGGAACTCCGGATGCACATAGTCACAAATTACTCTTCAGTTGTGCCTGTATCATCCAACGTATGGTACTGTTTCAGAAGCTTCTTCTAGTGTAGTTTATACCGTAGGGCTTCCAATTCTGGTAGAGGCGCGATTTCAGGGCCTGACGCCCGCCTGGAACCTGCTGACCTTTCGCCTCTTTTCTCTCATTGCTAATCAATTTGTTGAAAATCAAACTAAGAATTAAAAAAATAGTTCACGGAGCTTGTTCTGTCGTGGATTGGGGCGAGGGGCAGGTGGTGGTGATCTTAAGGTCAGGTAGGCAGGTGTCTTTTCACGCCTGCATTGAAGTCTAGTACCCCATATGCCGAAAACGCTGAATTTTCTCATTTTTCCAGACGACTCCCTGCTTCATAACTCTGAAACTAAGTAAATTAGCTTGCTCTCCAGCTCCTCCCCATCGGCTCCAATAGCCCTCCGAGGGGGCCACTTCTCGAAGAATTGAAGAGATTGGGAGATATGTGCATGGCTAATCTCAAGAGTATGTGAGCCTGTCGTTTTTTGATTTTTGAATATTTAAAAACCCAACATTTTCAGCGACTGATCACTCAGCCTCATTTGTGCTATGCCACGGATTTGCTCTGAAGTATCTGGATAGATCTTATGAGATTAGTTCAGCGGTTTTTTTTTCTAATTTTCGAAAAATTTAAGAAATTTTAGGAGCAATTGAAGAGAGAATTTGAATTTTTAAAAAATTTCGAATTTATGGAAACAGTAAAGTTTTTCGGAGTTTTTAAACGAATTTTCAGAATTTTGTAATAAAAAAATTTTCTAATTTTTATTCCACAATTTACAAAATCTAAAAAACTTTTTAGAAATGAATTGTTTGAGAAGTTAGATTTCCTAATTAAAAAAAAATTTGGGTTTTTATACAATTCTTAAAAGTTTGATATTTTCAAATGATATGAAGTTCACACATTTTTTAAAATATTCAAATAAAGAACATTTTCATTTTTTTGAAGAAATGTTCAAAAATTAACATTTTTTGAGACTTTCAGAAGTTTCTTCTGTTTTTTTTGCGTTTTCAAGTTTTTTGCAATTTGCGTAATTTTTATGGGGGACAGAAAATTTTGAGAATGCGGATTGCACAACCTTTTTGACGCGCAAAATATCTAGGAGCGAAAACTACAGTAATTCTTTAAATGACTACCGCTAAAATTTAGCATAAAAATAAAAATATATCGATGTATCTAGGATCCCGTAATAATCGACAGTAGCGCGCTACAGTAGTCTTTTGAGACGAATTACTGTAGTTTTCGCTATATTTTGCTCGTAAAATGTGCACGAATTCTTATGATATTTTGTTCTCACAAAAGTTGGTCAATTTATGGGATTCTCAAATTTTCGTTTTTTTTTGAAATTTAAGATTTTTAAGATAACATTCTTCAAAAAACTGATTTTTCTCTTAAATTGAAAAGGTTTTTTGAAAATGTACAAAAAGCTCTACTGATTCAAATCATGGAAGATAAAGAAAAAGACGAGTTTCTCCAATCTGCTCGCCATTTCTCAAAATGGCCTCAAAATCTGACACTACCAATTCAAAAACAGACACTAAATTGGCATGGCTGTCTTTTGCGAAGCGCTTGACAGCTCGTCGATCTGGTCTGTCAGTGGAGTGACCGACGATAAGTGCTTGTCGAGATGCTCGCCGAGCTGGCTGCCACAAGCTCTGAAATTCTAGATAAAGTTCCAAAATCGATGCCATTCAACAAATTCGTCACGGAGAGGATAATGCAGAATCGCGGTGATTTGTATGTACTGACAATTCGAGAAATATTCGTTTTTGCGTCTCGTTTCGGATAATGGCTACTAGGATGCTTATAACATGAGTGTTTGTTCTTGGGGATTGCCACGAAAAACTGGCAAAACGTTTCGAAGATTGAAAAAATATTTCTTGCAACATTATAAAGGAATTCCCATTTATATAATTTTGGAAAGTTTTTAGATTATATTAGGTAAAAAATTCGAATTTACAAAAAATTATGAAATTTTAAAAAAAAGTTTGAAAATGTATTTTTAAAAAATTTAAATATTAGTAAATATTTGAATTATCTAAATGTTTGCGATTGTGTTTTAAAAAAGCTTAAATTAAAAATTTTTTTCACCATATGAATAAATTAAAAATATATAACAAAAATTCAAAAAAAATTTTTTTCGAGAAAATTTTTTGCTTTTTTTAAAAATAGAATTATAAAAAAACTGAATAAAAACCTTCGAAAAAAAAACAATTATTTTGAAATTTTCAAAAAAACTAGCAAAATGATGTTAAAAAATTTGAGGAACAAAATTCACATCCCTTGCAGAAACGAAGCCGCCCAACTCCTAGGAGATGGTGAAACAATCAGTGAAACCGATATCTTCATGAAATCGAAAAGCGAATTACTCTTTCAACGTGTATTCGTAATGTGCCGTTTCCGAAGCAAGAGTAGAGCGGTTACACACTGGACCCCTATACCGCTGGGGAGCGGCCAACGTGCACAATGTGCTAATTTAAGCACGATCACATAAACGTCGAAATCAATCAGGAATTGCTGGAAAAGTCGCTATTTTTCGCAGAACCGTCATTGTCCGCCACTTGTTACGGCAGAATGGAAAAGAAGCAGAACCTGATGAGACGTGTCACTGCCCCTGTGCTGAAAATTGTGATGAAAGATGAAAAGTTGCTGGCGGCAAGGAATTTGGAAAAACTTGAAAAAAAAGAATTTCATCGTATTTTTAAATAATTTTTTGAATGAAAAATTCGGGATTTTTCCTTTTCCGCATTAAAAAAAAATTCAACCTATTGACTTATTCGAATTTAATTCTCAGGTGAATTTGTATTAACTACTATTTTCATAGTATTGGCTTAGAAAACAACAGTACTAAGCCTTAAGGTGAGATACAGATAAAAGAAAAAGAGTCCACGTTTTTATCAATGAAATATTCCTGAAAAAATTTCGGCGGGGTAAAAAGGAAAAGTACCAAAAATCAAACTTTCAAAGCTAACAATACGCAAGTATTCAAGTTAATTTTAATAATGGTTTAAATCCGGAATTAAGAAAGTGGTTCAAATGTCATTTGACTCATCCCTATTGTATTGACAATTGAAACGATTTTTGAGACTTGTATTTATTTAAGGAAAAAAAGTTCAGCTGTCACAAAGCAGGTCGTAATTTTAATTTGAATATTTAAAATAAAAAACTTATATGGGTGCTTCATTTTGCAAAACATTGCATTTAAAAAAAAAATTTTCAATGTTCGGCAAATCCGAGCTTGAAAAAAATCCTTCTAATTGTGTTTCCGAATTTTTGGGATTTTTTCTTCGAAAATAGGAATGGTTTAAAACAATTTGAGTTAGATATTGTTGCATATTTTTTTAAAATCAATCTCTTGCAATCAAAAAATTGAAATTTTAAGCAAAATAATAAAGTTTTATCTAATTTTTCAATTTTCAGGTATGGGTGGCCACAATTCTAAATATGGTTCGATCTCTCAAAGTCTATCAGATTCATTTCAGCCCGAAATCCAACGCGGCGAAGTTCTTGTAGGTTTTGTTACTGCGAATATCAAAATTTTGCTCGTCTAATTTGACGCCTGCTCTGTTTTTTTTTACGCGCATTTCAAATTATCTTAGAAATCCGTGACTTTCGTCTAATAACACCATTTTGTAAAATCTGAGCAATTTTCGGTTTTTGCGCGTCAAATGTGAGATATCTAAGTCAAACTTGACGCGCAAAATTTTCAAAAAAAAAATTCAATAATTTTCCGGGCGAAACACCTCGACATGGAATCGATTTCCCACTGCCAAGCATTGCGAAAACAGACGCAACAAAATAATCTGATCACGGCCGCCAACTTTTTGACACTTTTCGGATGTGAAGCGCTCGAGGTTGGAAGCGCCTGATTCTCAGATTTTGGAGCACCGCATTTTCAAGCAAACCGGCTACTGTGTTGCGAGGAAATGCTCATGCTATTTTTGTAAGCAATGATTTTTTGATAAGAAATTTCCCAAAAATTTTGATTTTTTGAATTATCTTTGTTAACTTCTTATTTTTAACTCAGTCTTTTTGCAAACTGAAAATTTCCAATTTTTGGGAAAAATCTCCATTTTTCAGGCTGAAGAATGTGTCGAACTTGGCCTGAACCACCGAATCGCTTCTCTTTTACGCGCACTGACAACCAGTCAATTCTGCCGAAAAGCTCTATGCGATGAATCTAATATCTGAAAATCGCGTTCTGACTTATCGATGGATTTTTTGATTTAAAAATGAGTGCAGGTTGGTGGAGAATAGTAGGATATGTGGAAAAACAATATTTGAAAAATAAAAAAAAAACTCATTGATTTGAATTTTCAAAAATTCCAAAATAAAGAATTGTATTCCAACTTTCATGAAAATGGCAACAAAAAACTCAAAGTTTCCTTGGAAAATTTTTGAAAGTACAAAAAAATTAATTTCTGAGAATAGTTTCAATATCAAAGTCGAAGTTTAGTTTGAGTAGTGTTGTCAACAATTGCCTATTAGAATAGTTGAAAAAATCTTGGAATTTACGAAAAACAATTTTTAAAAATTTCTCCGTCCAAATTTCGAAGCAAAAAAAAAGTCTTCTAATTTTTGACATTGAACAATTTGGAAATTTTTTGAATTTTCAAGAGTAATTTATATTTCGAATATTCAGAACAGTTCCAAAAAAAAAGTTTTGGATTTTTTTCCAATTTTAATAAAATTTTCAACACAGAAAGTTTTTTTTTAATTTTTTAAATTTCAGAAAAAAATTAATATTCATAAAAAATTGAAAATTCATCCATTCTAAAAATAAGTTTTCACATTTTTCCCAGAAATTGTGGAGCTCTGCTATGACATGAATACTTCGGAAGGATCTTCTCCAGCACCACATCAAACTTGTTGCGGCTCACCAGTTGGAGCACTTGAGCGTTACGAAACGAGACTCGTATTTTCTGTTGAGAAATTTCTGAAATCTGGAATTGATGGTATCGATTTTGAAGATTTAGGTTTACAGTCGAGTTTTATAAGCCGTTGAACGAAAATTTGACAAGACGCGATCAGGAGCAATGAGGCGAGAAGTAAGGCCGTGGAATATAAATAGGTGGCCGAGTTTTTTGTAAACTATGCCACCAAACTTGGTTTCTCCGTTCGTGGCCACAAAAATTTTGAATTTTTTGAGCTTCTCTTATAATGCTTAAAAGTGATTGCAAAAATTCATTTCTTTAATTAGAAAACTCCAAAAAATTTGAAAAAAAAATGTAAACTCAATAAAAAGTCCAATTGTTTCACATTTATTCTGGTTTACTGAATTATCAGATTTTTTCTTCAATTTTCAGTTTTCGACTTTTCAAATTTAAAAAAAACCAATTGTTGCCCGAACAAAAACCATTAAAAATCGACAGTATGTCATCCAATTGGGGTACAAAAATTTTAATGTCCAAATTTTCATGACGAACGAAGAAACCTCGTTTGGTGGCCTAGTTTCCGAAAAAACTCTGTCACCAATTTCTTTCAAAATTCAAAATTTTAGTGAATCCCAAAAAAACGAACATATGCGGCGAAAATTTTTCAAAAGCTTCCGAACAAAATCTAAAAACGTTCCGAAAGTTCTGGGTAATTTTTTAAATATTAAAAAAATTCATCATAAAAAGGGCGGCAGATAGCGGTTCAGTCGGTAGTGGTGGCCGCTAGCAGTCTGGACGAGTCAAGTCCGAAGCCTCACCACCTAGGTTCACCCAGCTTCTATTGGGAAGTGGAGCAATCCACGACTGGATTATCGGCCACCCGGCTAGGACGTGTCGTGCATACAACCTAGCCCGAACCACCAGGCAGATTGTACCAGGATCCCCGATCCGATCCAGTGCAACTTGAAGAACGGGTCGTCCTTTAAAGATTCTTTCAAAACTAATTTTTTACTAAAAAAAATTTCCAGACATTCGTCGACAGGGCTTCCTTCTCAACAATTTGGCTCCAGCTCTCAATCGCTTCGTCCCCAAATTCTACCGATTCTCGCCCGCTTCAAGCACATTTCCCCAGCGGGGACTAATTTCCCCGGGCACAGCCGCCTCATATTTCGACAAACGAGATATCATTTAACTTCAACATCTACGATTTCATCTTTATTAGATCTAGAAACGAGGTATGAATATCCGAAATCCATGAAGCAAGGCGAGTATCCACGTGTATTATGATTGACGAGCTACGACTCGAGCCATTTCGTTGCTGATAGAGAAAAAGCAGCTGGGCAAACTGAAATTGCAGCAGAGAGTGAGGAATGTTTTGTGCATTTTGAGCCGACTTTTGAAAGATCAAGCTGTGATGGGTAATGAAGATGAGACGATTATCGATCCGATTCTTTGTTAAGGCAATCACCAAAGCTTGACCGTCGTTTTTGTATGTTTTTATACGACGGAAATCACTGAATTTCATGTCTATGCCGAAAAATCATGAGCAAGTATATACATCACATGAAAGAAAATAGTTACAGGGCCGGTTTTTTAATTTTTCTGTCATACCGGCAATTTTGAAACTACTTTTTGAACTTTTTAAAAATTTGGGTAAATTTGGCAAGTGCAAATCTCTGTATCGATTTGTCAGAATCATAATAGTTGTTTTAAATTGAACATCGCGTTAATGTTTTTAGCATTTTATCTTCGAAGATTTAATGTCTCGCAGTTAAAAATACATCTTTGCAGGAAGACTCCGCCGCGTGCATCGTACCATTTTTGTTCAAAATTTGCTCATGGGGACTTCAAGGTAAAATACGATAAATGTGTGATAAATTTGCTGGGATGTCTTTAGGGAGTTCATGCAGGTATGATTTTTCGTCGGAAATGACTGGAACGCGTTTTGTTCGCATCAATTCAAATTTAATGTAATGGCATTTGGCATATGAAATGTCGAAAGGTGCTGGGAATGCCGAATAATATAATTTGGTATGGAGAGCTGAATAAACTAGACAAAGTTCAAATATTCACAACACTGGGGATTGCTTCACCCGTGACCCGTTTAACCCGTTCACCCATTTTTACAAGGGAAGGTTCTGAACTCGTTATCGGACTTTACGCCCCACTATATTCATTCGATAGAGAATGGTTACAGATGATCCTCAGACTCCAAATTTAGCTGCTTCAGAGCAGGTTCGACCAAGTTACGACACTTTGAAGATGCCGGAGTAAAAAAAGAATCATTGATGCACCCCCTTTGAAAAAATTTCACGATATTCACTGAAAATACCGCTTTTTTTTTCTGAAAGTTGATAAAAATAGTTGAAATCGATTTAAATAGTAAAAAACAAATAATATTTTATACAAGTTTTAGCCCATCACTCTAAAAAAACCCCGTAAATTAATGTACATATCTTGAGCGAAAAATTCCAAAAAGTGATGTTCATGTAGATCCATCTAAGCCTGGAGCCAAGCCTTATGAACTGAAACTTGTATGGTATGACATGTTTCCATCATTTGCAACTATTTGTAAACATTTTATATCAACTTTGAGAAAAATTATTTTATTGAACTTTTTGGAATTTTTAAAAAGGGAAGTATTTTGGCACTTTCAAAATGTCGTAACTTGGTCGAACTGCTCTCAAGCAGCTAAATTTTTTGGGATCATCTTAACTAATCTCTAACTAATATAGTTGACGAAGGAAGTCCGATAACGAGTTCAGGGCCTTGCCACCCTTTTTAGGCGTCTTTACGGGTGACGGGTGACCGCTCGCCCGTTTTTTTTTTCGTTTTAGTTGTTTTCACGGGTGACGGCTGGCTCGTCACCTGTTTTTCAACCGTTTTTGGAAGTTTTCACGGGTTATGGGTGATCCTTGGTTCCGGCAGCCAGTTTAGGTAATAGGTCGTAAATATCGTTTTGGGCCGCGTCTTTACAACTGGGCTGTGTGCAACTGGGGGTGCACTTGGGTTGAAAAGGATCGACCGGCGGTTCAACTTTAGGTAGCATTTGGAGCGACCCCGATAAATAAAATGCCGACCCTGAATGAAAAATTTTAGCAAGGCGGCCATGCTCGTTTAATTTCCATTCTCAAAATTATGAGCGCTCGCCGGACTACTGGTTGAGCTATTGTGAAACGGGTCGACCCTGCTCGACCCATGAGCACCCCTGGCAACCATGATTTTCGGCAACTGGCAATCAGAGTTGCCGCACCCAATAAGTTTCGGCAGCCGGCAATTGCCGAAGCGTTGCCGAACTCTAAAAAGTGCAACCGCCACCGGCAATTTTGCGCAGCCCTGGTTTACACCTACCTGACGACTTTTGGTAGACTAGAACACATGTATTCGAATTCGACAGATGCAGCCGAATGCCGAAAAAAGTATTGAACGACATTAGGCACATGTCCGGGATGGGCGGATACCTTTTCGGATAACCATCTTCACTAAATCAATTTATCAATAAGTATTGATTTAGCTTAGTCGGGAGATACTATACTGACTAGAATAAAGAGTACCTATTGAGCAACATGTTCATATGACAAAAACGTTTAAAATTGTACGCATTCTCCTCGAACCCTGAAACTTGCCGTTCTCTGATCAAAATCGGCTAAGAGAAAACGGACTTGCATACTTTTTATACGGCAAATGTGTAGAATTTTAAAATGAAAGATTTGTGCTATCAAAATGTTGCTCACCAGTTTTTGTTCTCCCGGATGCGCTTCTTCCAGAATTACTACATCAGCACGTATTGATAACTAACTTGAGGTGTTTAATGAAGTTACCCGAAATCCAAAAGTATCCACACCCCGTCATAATAAGCATATTTCATAAGTCAAATATCAAATTTACTGAATTCCGCACACCTCTGCTCTCCATGCTCCAACTAATTTTTATTGCAGAAGACGAAATAGTAGTCCGCTGCCTTGCCGAATTCGTCGACTCTATTGGACTCAACGTGATTGCTGCACGCGTTACGAAGGCCTGAACATTGAGACTCATATTCGCAATTCGGTGTGAAATGGTTCTTCAAATTATCCCGTCTCTTTCTGAAACATGTGGATTTACTACGCATTCCTTCGCGATTGCGAATATATTATTTGACCGACTTTCCCAGGGCGAGAAAACGAAATACAATGATGATTGAGATCGTACGAGATTAGACCGAATTGATCACAGGAACTTATCAATCTTTTGGTGGAGATCTATGTGCCGAGGGTAACTCGGTAGCGTTGTCTTCTCTGCCACCTGCGGTCCAATAGACCGGATGTTGGGCAGGTTATGATTAAGAGTTCAAAGGAATGTCAGTTCAAATTGCTCTCTTCGATTCAAATGAGACGGAGTTGACTATTGTGCAGTGGTGGTAATTGTTTATTTTGAAATTCATTAGAATAGAAAGCAGTTTTCTTGGAATTTTCAGGAAATTAATTTTTTACCTATTCTGCATTACTAGATTCTTCAATTTTTTGAGAAAATATATATTCCTTCGAAAAACTCACGTAACATCTTTTCGTATACAAGAAGAAAGTTACAGTCGACGACTTTAAAAAATTCAGTTAATAAGATTTCAAAAACAAATCGAATTTTTTAATTTGTACCGCAATCTGGAAAATATTTTAAAATGACTCCAAATTTTTCCCTGATTCCAAATATCTATGAGATAAAATTCATAAAATAATCCCTTTTTGATCTTGAAATCGCCGTATTTCACTTGTGCACGCATGAGATTTCGAAGTTTCGCGCCAGAGACCGCATGTGTTAATTTACGAGATTTGTGTATATTTACGAACCCCTTAAGCTTTATCGGTTGCTGTTTGCCGTTTTTCAACGAGTTTTCTTCAGTTTCGTCGGTTTTTGTTAAAGTTTTTGTTTAAAACATTTAAAACTTGACAAAAATGAAGGGACTTCAACTCGTTGAAAAACGGCAATCAGCATCCGATAAGGTTAAGGGTTTCGTAAATATACACAAATCTCGTAGCTAATCGACACATCGGAGTCTCTGGCGCCAAAATTCGAAATCTCAGCACAAATGAAATTCGCGTTAAGCTGAAATAAACCTCCAGGGAAAAACATCCTTTTTCACATAGTTGTTCGAAATCAGGGTCAAATTAAGAGTAACTTTTAAATTTTTAAATTTCTTCAGTGGCATCTAATTCAATGCAATCACCGGCGATAAATACCTGAACATTCAATTCTTCGTTGCAATTTCACGAGTACTCCAAAAAAATCGATTGACCCCATTAAAATTCGTCAATTTACAACTATTCCAGCTTATCTTCGACGAGGCAGTCTGGATATCGAAAAAGCCATTTCTTTGAGCATGCGGTCAATGGCTCCAACAATCGATCAAATGCGGCTTATGATCATGCCAACGCGACGGAACATCTTCGAACCCAATCCGTTGAAGAGCACGTTGTTCGAGCTGTTCGAGAGCTCCGAGAGACGTCAAATCGAAAATCCGGTGGAAATGTGAAGGGCACAAATTAATGAAAAACCAACGAAAATGGTGAAACTAGCCAACTCGAGATGCTCACCGAGAATAAAGCATACGATGGACGGAGCATAATAGAAAAGTTGAATTCATTCAATCATATGTCACAAAAAAGGAAATTTCCTTAATTTTTCGGTTTTTTTTTTCGGAAAAATCTAATTCTATGCAAAAAATTTAATTGAAAATCCGGAGAAAATCGTATACTTTTTGTCGAACCATTTTGTGGGCGGAGCCTAACTAGTAACACTTTTCAATTTATGGCCCATCTCGAACAGAAACGTGAGAAAAAATTCTTCTTTTTCGCGAAAGTCTAAAAGAAAAAAAAATCGGAAATTTTTGAATTTTTCGGTTTTTTCTGAATTTTCCAATTTTCATTCAAAGAAGGTCGAAAACTTTTTCGGCGATTTTCCGGTTTCCTTTTTGAAAAAAAATATAGATTTAAAAATGTGTAGTTTGTAGTTTGTAGTTTTTGCAGTTAATGTCTTCCATTTTGGATAGGCGGCAACAAACCTGCTCGACGTGGGAGCACGAGTGTCTCAATCAATGGACATCTGTCGCTGCCGATTCAATCGATATCGATTTAATACGAATCTGCAAACAACACCTGACGTGTCGGGAGGTCCAATAATGGCGGACATAAAACTACGACAATCACGTGTCCCGTTGATGGAGTGACCTGGCGATTGCCGAATGGTCACTCGCATTAAGATTACAATTGAATATCGTCGAATGATATGGAAGAGGATATTATTTTGGAAGATGCGCAACAAACATTTACAGAATACCACTGGAGAACTTTCTGTAGAGACGAGGTTATAATGGTACATGCGGTCGGGTTGTAGCGAAATAATCATTTTTAAAAATTTGAGAAAAAAATTGTGAATTTTCCGCGTAAAACGTGATTCAATCGCGAATTATTGTATAGATTTTTCCGACAATTCGGAAAAATGCCGGAATTGAAAATTTCCGGCAAATCAGCAATCCCATGGCCGTAATTCCAAATTTCCGGTAAAACGGCACATAGCCAATAATTGACAATTTCGGCAAGTCGGCAAATTGCCGGAATTCAAAATCTCCGGCAAATGGCCAAATTGTCGAAATTCAAAATTTCTCGAAAATCGTGGCTGCTAATTGCCGGAAGTGAAAGTTTTATTGATAGAGATAAATTAGAACTATCACTAGAATATGTAAAACAACTAGGAGTTATCATGTAAACTTGTCATTTGAATTTAACACTAGCAAATAGATTGGGCTTCAGATTTTGAAAAAATTAATATAACAAATCAGGAATTTTTTGAATTTATCCACATTAATCTCGATTCGGTATCAGGAGCATAAATAGGATCTTTTAAGATATATTGACAAGAATTTCCGATCAAAGTTTCAAATATTTTTTACCAATTAATGGGATAGAATGTTACATGAAACATTACAAAAAAATTATTCATCAGGTTCTCGTACAACTCCATTCCGTCTGTATTGGCCAACTGTCGAAACTCGAAGAATATCGTGAAACGGTATCTCCCGTATGAAGCAGCAGGCGGTCACCGCATTCGTACAACAAATTCAAAATTCGTGTCCAAACAGTCTGGCGCAATTCGGGTGACGACTGGACGAAAAAAACGGTGCAACGGGTGAGAAAAGGCATCAGTATGAGAATATGAATGATTTGGAAAGTGGATAATTCGTTGAATTCGGCGGCCCGGAAACTCTATGAACTCCGGGTTTTGTGCAGTTGCAATTTTTGAAGTTTGTGTTGAAAATTCAAAACTTGCACACGAACGGATTTTAAATTCGATTTTTCGCGATGGTTGAGCATTCAATAAAATTTTGAAAAAATGACAAATTTTTGAAATAATTTCCGAGAAAGAGTGTAAAGTTTCAGTAAAAAAAATTCGAAGATTAAAATTTATTTTAAAACTTAAAACATCTGACTTTAAGCGAATTTTTTGACAAAGTATTTAATTAGTCATAAATTAATTCAAAAAAATTATCTAAGATTTTTAAAAACTGTTTTATACAGTTTCAGAAAAATTTAAGAAAAAATTTTTTTTCAGAAAAAACCGGATTTTCTGTTAATTTGAAATTATGGAAAAAAAACCCCAAAGGGTATTACGGAACTACGTCAAAATTCTGAGAATGCGTACCCCGCAATATTTCTGTGGAACTACAATTCTAAATGACTTCTGTAGTGTTGGTGTCGACCTTTACGGGCTCGATTTTAGATCGAAACGTTATTGAGCAGAAAAATTATCACATAATACGAAGAAACGAAGGAAAATGAAACTAAGTTATAAAAAAATTCGAAAATCGAGATCCCGTAAATCGACGCGCTACAGTAGTCAAAAATTAACTTGAAATTAAAGGATTACTGTTTTCGCTCCGAAATATTTTGCGAGTCAAATGTCTTGCGCAATACGCAGAGACTAAATCACAAAATTCTATGCTCCCGAAATAGACTGAGAAAATTTTTCCAAGAAAATTCCGTTTACGTCGAAAAAAAAGAAAAAAAGGCGTAAATACACCAGTTTTAATATTTACTGAAAAAAATTGGTATAATCTAAAAGTTAATCAGCTGAAATTGATATGTTTTCGGATAAAAAATTTTGGCGGGAAACTCACGTTAAAAAAAAAAATTTCAGTATGCATCAGCCGACTGGAAGACGACGACGAAGCGATCCGCGCTTCATCTCTCATTTCCCTTAATCGATGTGATCTACGAATACACGAAACGGACGTCGGAGTGATCCCCTGGCCTTGCTCAAAGAACCAAATCGAAGTTCCAGTCGAGGCTGTGGATAAGTGCCACCTCACACATGTATGCCTCCAAGTGCTTCTCCATGGAAAAAACGCAAATCACGAGACACTTATCACAGATTCTGTGACATCTCATCCTACCCGTATCACGTTTTGCACACAATTTTGATGTATGACTGACGTGTGAGAAGAACGCTTCCAGAAAGGCTTCTTGAAAACGAGATACGCACGAGCTGACCAATTCGTCTTAAGGAGATTGTGATTACTATTCGATGCTCACCAAGCTTATACTCGGTACATACGGCGGCTAAATTTTTTTAGAAATTTCGAAAAAGACGAGAAATTCGATTTCTTATCAGTTTACAAAAATCTTCGCTCCTGTTTCTGACAATTTTAGTGCCGTGGAATCCATTCAACGAAAAAAATTAGGTTCTACTGGTTATTTTTGAGCATATTCAGTAATTTAAGCCATACTCTTTTACTTCTAAACTATCCGGTGACGATACGTGAACAATGTCCAAAATTATATATTATCTAACGCTACAGCATATAATTTTTACCAACCATTTTCATTCATTTTATGGAAAAAAGCATCTAGAACATATGTAATATGTTCAATTGTTCGATTTCAACAAAATTCAAACCGACGGCATGCTCCTTGGTTTGAATCGAAAGTTCAGAACAGTTTTTCATAGGAGAGCAAGAAATTGCAATGCTTGACGTGAGAGGAAACGTACGGATACAACGTGTTGAAATAAACGGAAAAAAACCGATGTACCGATGGCCACATGATTTGAAGATTTTCAAGTAAATTGTCAATTGTCGATTCACACCATTTCGCAAAAAAGGTTTGTTTTTATTTTATTAATAATTATTAATAATGAATACGTATTTGATCATACAAAAATAAAATGTCTTTTCCAGATTGGTTGACCGGGTGACTACTCGACGACTGACCTAATCACATGGAAACGATGAGGTAGAAAGATATATTCACAATTGCCGACGGAATTTCCACTCCAAAAATCAGGGCAATTGAGGGTAGCGATGGAAAATGGTATAAAACTGGAAGAAGGACGACGTACGACAGGATGTGCTTGTTGAGGATAGCAAATGTTTGATGTTACGAATAATATGTTGCCGAGAAGGCGATGCTTCGGACATATAATGTTCTTCCGTTAGACACTGAATGTGGAGTTATAGAGTTTTGCGGTTGTTAGCTTAGGTTCATTTTTTTTTCGTTTTTGCAAAAAACCAAAATACTATTACGATAACTAGGCTGAGAATGCGTTTGTACAACATATTTGACGAGCAAAATATCTCATAGCGAAGACTACAGTAATATTTTTAAATTCCGACCGTAGCGCTTGTGTCGATTTACGGGCTCGATTTTCGAATATTGCGGGGCCGTGATATCATGAGTATGCCTATTTACTGGCGCGAAAATATAGGCACGGAGCCCCGGGGAGAGAGCGTGTGGCGAAGAGAGATAAGACGCAGGTCCCTTCGCTACGAGATATTTCCCGCCAGAAAATAGCATTCTTTTTCATGATCTCATGGTCCCGTAATAAGCGATTCCATCTATTTCACTTCAAAAATCGAGATGCCGTAAATCAACACAAGCGCCAATTACTCTCATTTAAAGAATTTCTTTTAGCTACGAGATTATTTTTCCCGTCAAATATGTTGTGCAATACGCATTCTCAGAAGAAGAAAGAGGCGGGCAGATAGCTGAGTCGGTATTGGTGGCCGTTAGTGGAAGTCACGAGTTCAAGTCCGGCCTCACCCGCTAGGTTCACCCAGCCTCTATTGGGAAGTGGAGCAATCCACCACTGAATTATCGGTCCCAGTCCCAGGACGTGGCTTACATCACCCAGAGGGATCGCCACCAGGCAGTGTACCTGAATCCCAGCTCCCCAGTGCATAGCACTTGAAGAACGTCGTCAACTTTAATCCTTAATCCTTTAAAAATGTAAAAAAATTTCATTGCCAAAATATCAAATTTAACTATGAGACGTTTTTTCTATTATTTTTCAGAAGAAGTTATGTGTGGTGTGACACGAGAAGGCGGTTTCTCCACCGGGAGTTCAATTCAAAAGAAGTTTCGGCGAGTAGATAAGTGTCAATGACGAGACTAGTACAGACAGAGTCCACCAGAGACACGACCAAGTTTTTGTGGTGTCAGCAGTATTCTCCAGTTTTTAGGTAATTTTTCTGAAAGTTGTCGAAGTTTTTTGTTTTGAAATTAACATAATTCCCAAATAATTGGCCTTTTTTCATTTCCAAAAGATAAAATTACAGCCACTTCTTCTACACCAATGCGACGGCGCAGATTTGGCGGCAAAAACTTATAAATTGTGTCACAGGCAGAGCTTGGCCACGTGGCGCGAGTATTGGTAGGTCTCGAACTATGCTAATCGAAATGAATTTTCGAAGAATTCGAACATCTCAGACTTTTTCTGAAAAATACATAAAACGTTATTTTCCAATTTTATCAAAATAAGAATATATTAGTTTCTTGCGAAATGCAGTCTCAACAAATCTTTTTTTTAAAAATCAGATTTTTAAATGCTTTTTTTAAAACTTTTATCGTTAAATTGAACGTTTATGAAACATGGCGAGAAAAACTTTTTTATTCGCTTTTACAAATAATTCTCAAAATAAAAATTCCAGTGTGCTACATCGTTGGCCTCGGCGATCGACACGCGTCGAATATTCTATTCGATCAGAAATTGTTCACATTGGTGCATATCGGGATGATTTTGGAGTATAGTAAATGAACTTACCGGTGCCAGTTCAGCCCGAAGTTCCATGATTCCGTATAACTCTATGGTCGACCCGATTCTGATTGAAGGAATCGAGAATGGACAGTTGGCTGAGGAACGTACGCAGATTATGGCGATAAAATTGAAGGAAAATGGAAAGGTACGGCGGTCTGGGGAAATTTATACGAAAAGAAAATTTTGGATCGCTGACAATTAGACTTGTAAAGCAATTTAAAAATCAATTCAAATTTCCCCCCAAAAATATTTTTTCAAATAATTTGAATTTTAGCTAAATTTTTAAACAAATCTGAAATTCCCGCCAAAAGTTTTCCAAAAAAAATGTTCCCGCCTAAAATGTTTTATAAATTCAAATTCCCGCCAATTTTTTTTACACAAAATTTGAATTTCGCGTCAAAATATTTTCCAAAAAATATTCTGGGAAAAATTCCCTGAATAGTTCAATTGACGCCCCACCAAATATCATTCAGAATAAAATTTTAGAATTTCTCGCCAAACTTCTCTTTCAATTCCGTCAATCCCCTCAAAATTGCCAGGGCTTTAATCCTCGGTGTCGCCTCTGCTCTCCGCGAAACAATGACAAATTGCCAAGCCGAAACCAGCAGGCTGCCGGCCGCCCGTCCTACAATTCTGAAATGGCCATCGGGCGGCTTGGAGAAAAGCTACGGGGCACCGATGACGGTGTGACGGCCCAATCGTCGTCAAATTCGGCGACTTTTACGAGAAGCTACGAGTGCTGAGAATTTATCGCGTTCTGCGGATGGATGCCTTTTTTTTAGAGAAATAGAGAAAATTTATTCTCGAAAATTAAATTTTTACTGTATTATTGATTTCTCGTATCAATTTTTCAGAATTTGCTTTGTTTTTTACGCGCAAAATAATCTTTCTAATTTAGAAATTTTTAAAATCTAGTTTCTGAAATTTCTGCAAAATTCCAGGAAATCAAAAAATGTAGTTTTCCATCCTAATCTTTTTTTTCGTTGATTTTCCCCAGAAATTTCAAACTTTTACTGTATTAATCCCGATTTTTAGGCTCATATCATGTAATGTTTTTTGTTCACCATTTACATGTTTTTCCTACCTCTTATATGATTCCCCTTCCCCGAGGTCTCTTTCTTCACAATGTTTAAAATTGATTCACTGTTGAATCTGTTGTCTTTTTTCTATGCGAATTTTATTAGTTTTATGAAAAAAATTTGTAATATTTTTGAGTAAATTTTGAATCTTCTTACACTACCAGCGCAGTTAACCATTTCAGAGGAGTTTCTAAAATAAATAGTGAATTTTTACAAAAAGTATTATGATATTCTGATTTCAGACGTACATGAATTGCCCGTTTTCAACAAAATAAAACAACTTTTTATTTGTGCCCAATTTTTTTTCAGCCATCTAATGACTGTCCTTTTTTTTTGGGCAAAAGTAATAAATTTTCTAAAAGCGTTTAAAACTATTATATTTTGAAAAAAAACCATTTGGGTTATCAGTTGGCCTTGGCAATTTTAAGTTCTCTAGCTACAAATTGAACCAATAGAGGTTTCAAAATTGTGAGATTTTGCAAAAATTGCCACATTTTGCCACTTAATGCTTTTTGATGGGTTAAACCTAGATTTTCTGAATTATGCATATATAAATTACCCGTTTTTAACAAACGGTATTAGGCAACTTTTTATTTGTGTCGAACTTTTTTTCAATGACTGTCCTTTTTACTGTTTTGGGCAAGAAAAATAATTTATTGGAATTTTTTTCTATGTTCGAAATTTTTGAAGTTTCTTGCAGCACTCCGAAAAACCAAACGACCAGCACTACTTGCAAAGTCCGAAAAAGTTTAGAAATTTTGAAGTTAAAAACTCCCAACTCCATAAACTCACGATATAGAAATTAAACGTTTCCAAACATGTCCGAAAAGTCCAAGAAATATCAGTACAATTTCGAAATTTTTTTCATAACACTTCTGAAAATAAAAAACCGAAACTGCAAAAATTTGAAAATGTGCTAAACTCCAAACTGTACGATTTTCCACATTTCAGAAATTCCAAAATTCGTCTGCCAAATCCCTTCGGCGCAATAATCCCCCGGGGTACCCCCCCCGCCCTAGAACCTTTTGCCTCTATTGTCTCTGGCGCAGGAACTTGAAATTAAACAATGAATCGATATTTTAAACTGGTAATCGTAACCATCTGCTCCGGATGTATAATCGCCTACACGAATCTATTCAATCGATCGTTTTTCAACGGGTACTGTAGTATTAATGCTACGTGGCAACAGTCACAAGGCGAAAACGACAGTCAGTGGCAAACTCGTTGGATTTGTGTCGTGCTTAGTCAGGAGGGTGTGAAGCAGTCTATTCCGCCGTGGATTGGCGAGGTTCCCAAAACAGTTGTATCGGGTGAGAAAGATTGATTTTTAACACCCGTCTCGCCAATTTTTTTCTCAGAAATTGGAATCCCCGTCACAAAACTTTTACAGAGTGAATTTTCGAAGAAATTGGAATGACACCCAAAAATTTTCTGAAATCTAGATTCTCGGCAAAAGTTTTCAGAAAGTTTGAATTCTTGTCAACAATTTTCTCAGAAATTTGAATTCCCGCCAAAATTTAAATGCCAGAAATTCGAGTTACCACCCTTCTCTTCAAGTCTAACAGTATTCAACAATATACAATTAAATAGCTTTTCAAATTCCTAAAAAGTTTGCTGGAGTGATCAATTTTTTAGTTCAAAACTCGCTAAACCACTTGCCCATGTAGACTACATAATCAATTCTGAATAGAACGCTATTTTATCCTATTTTCAGACATCAAAACCGAATAGCCTAATCGCGTGGGTCATTGAAAAATCATTTTCGATCTTTCTGCTATTATGTGGTTTTGACACGATCCAGGCCGTTGATATTGCGCCAACGAACACTGGCTGATATTTTTGGAGACAGGTTTGCGGCAAACGAACTCCGCTGTCGACTCTCGAATTATCAATTTGTGCATAGCTTTGTAAGGATAAAAACCAATTTACCGAGTTGAAGAAGATCGGAAGCTGGCAGTAAATGGCTCGATTTTCACTGTGGTTCGGAATCCGATCGATGGGTTTTGGCGTAACTCAGGCTTCACGGATAAATGTTTAAGAGAAAATGTCTGGAAGTTCAAAAATCGCGCCGGATGTAAGACTGTGCGTTTAATTTGCAATAAAATCTTTTAAACAATTTTTTTGGAATCTTTTATTTTCGGGAGTTTCGAAAGTATATTGGAGTTTTTTAGGGACCAAAACAATTTCAATTGAAAAAGGTTTTTTGAAAGGGGGTAACATTTTTCTAGGCCACTAGGTGCCCTTTGTAAGGTGGCCTAGAAAATAATGTAAAAATCTAGGCCATAAGGGTTGCATATTGCCTGATGGCCTATGAATAAGCTAGGTGCGCCATAACTTTTATCAGGGTTTAGGAACGTTAAAACTTCGGGCAGCAAGATTCGCATAATGACCTAAAACTTTCAATGGAGAACTCGGCTATAAAAATCTTCATGATGGTTTCAAAAAGCGGAACACTCGGGGACCATAATCTTCTAGAATTTTTAGTAAAACTAGGCCATTAAGGTTTCTTCCGTGGTCTAGAAATCGATTCCGGGCCAATACTAGGCTGCCAGGGTTTCTAGGCCACATAAGAAAGGCCTAGGTACAAAAATTATCTCAGAACGGTCTAGAAAAGTGGATAACTAGGCCACCAATTTTCACTTCGTCAGGAGTTTCAAAAATATATGATTTCATGATTTACTTTTCGTAGTTAAGAGTCTTTTTTTTCAAAAATTCTAAGCAAACTTTGACACTAAAATGCTTGAATTTTTGAGAACTTTGAAAAGTGTTTAAAAATAATTTTTTGAAAATTTCTCAATTTTTTTTCTTCGAAAAGCTCAAAAAAACGATAAATTTCCACATTTTGGCCAGAATTTAACATTTCGTCGATAAAATGTACGATCGGAGGCATAGATTCGCGCGGAATCCGTACAAAGGAATCGTTTTCGACGACAGTCACTTTTTCCCACAATCTTGGTATCGGTAAACGCGCTCGGCATTATAGATAAAGTTGGAGCGCATTTGCATTTTGAATTTTGATGTCTGATATTTCTCGTTATCCGTCAGGCGATGCGAGTTCTCGTACTCTCATCTTGGAGTCAAATACCAAATTTTCCAATTAGCCGGTGCAAATTTCACAAATCGTGTGAACTTCTTGGACTGCTGTCCGAGCGGGGAGTTGATGAAATGGAATTAACTTTATTGTGAGTCTTAATCAAGTTTGGGTCTCATAATACCGCGAAAACCGTAATTGATTGGGACAATGGGACCCAAGAGAGCACCCCAATGGAGCGGAATTGCAACTCCTATTTTTCCAGTCGGAAGTCTCTGCCATCACCGGACCCCACACAGCACAAAGGATTCCGTGGAACGGGCGGCCGTCCAGGAAACTGCTGAGTAGTCCCCAGTATTTGTTGCGAAAATTCAAATGTATAATTTTGACTTTTTGCAAGATATTCGGGTATAAGCTTCCTGATATTGCAGTTGGAAATTAGTAAAAGCGTTAGTATTTAAATGTTGTTAAATAGTAATAATCGATAAACTTCTTGAATTTTGATAAACTACGGCCACGTCAATTTTTAGATATTTAACTGTCCGGGCAAAAAAAACCTAAAATTCCCGCGTTACAAATTGAAAACAAAAATTTCACAAAACGAATAAAAACGTCTAAATGTTTATAGCTTAGGCTGAGGTGAGATTTAGGCTTGGGCAGGTTAGTTTTTAATTTTCAAGGTTTGTCATTACGTACTTTATTTCCGAAATACACAACAGAAGTCTCACAACGAGTCAGGGGTCAGTGCGTGTTGGTGGGTGGGGTGGGAGATTCTGGTGGGGACCACCACTCACAAACAAAGATCACAACAGGGAAAATGTACACGTGGCAATATGGTGAAGCTATATGTATATATAATGAATAATGATATGAAAATTTGCATAATAGCAGGAACAGTACCTGATTGTTCCCTGGGGCGAGTAGAAGATATGTGGGTTATCTATCGATTACCATTACACATGAATTACGCTGTTACGGTTAGAATTTTGTGAAAAAAGATGAGTAAAACGCTGGGACGGGGCTATAAATCATATCTATAATTGTCGAAGATGCTCCACGAGCCAGGAACGAGGGGAACATTGCGTCAAGGGCGGTCATTCCATTGTAGTGATGATGGTGCAGCTCGTGCATTGATTGCTGTAGCAGTAGGGACTCCCCTCATCACCGAATTGATAATCTTCTTTCCAGATGAGAAACGCTCAAGACGGGAGGCGTGTTGGAGCACACGCTGCTTCATTTAATTCTCGTACCATCCAGAGTAATAAGAGAAGCAGAATAGCTGGTTGAACTTGACGTCCTCTGGAAAAAAACAATATTTTCTCTAGTTGCCCACTTAACACTTGGACAGAATTAGAAATATTTAAATCAGGGCGGGCGGCAATTTAAGGTTTTTACACTGGGGCAAATTCAGCAATTTGCCTATTGCCGGAAGTTTTTAAAACAGGCTCTTTAAAAGACGGATACACTTAAAACTGTGCCTTTTTGAAATTTTCTCCCGATTTTTTTACATTTTTTCATAGATTGTACTGACTTTTCACAATAAATGTAGGCATTTATAGGATGCATACAATTTTGCCGATAAAAATTGAAACTGTGAAATTTTCAGAAAAAATGTGCCCACAATTTGCCGAAAATTTTAGTTCCGACAATTTGCCGTTTGCCGGTAAAGTTGAAACCGGTTCCCAGGCCACGTACGGATCAGTTTTTGAAGAAAAAAATACGGCAAATTTACAGAATTAGTACCATGTGGATTTCTTAAGAACTATTGCCAAAGTACGTAGAATGCAGAAAGTTTCTTGCCTTAGTGAAATTTTGGAATTTTTCGGGATTTTCGGAAAAAAAAATTTTTCCATGAAGACGAATTTCTTTTTCAAAATTTTTTCACGAGTGTAACTCTAATAATACGCCTCAGACGCGAAACGTTTTCCGATCAAAACACGGCCGGGGTCTCGAATCGACATGCAGTATTTTTCTCGCTTTGTCATAGTTTACTTCTCGACAAAAATGGATTTTTTTGAATTACAAAATCCTTAAGTTTATCTACCCAGAGGGAGAAAAAGAAGACCTCCCTATAAAAATTTGAAGAGTACTCATTAAAGGCGCCCTTTTTTCGAACTTAACCAAAAATTGTCGTGTCGAGGCCTGGTACCGTATTGTGGTGCGAAAATCATCTAATTGCGGCATTCGATTTTTGCGTTTTTTGTTATTTTAAAAAAATGTTCAATTTTTCAAAAATAGCTTTTAGATAAAAATAATAGGTTATTCCTTCTTTTATTTTACGGTCTTCTAAATAATTTTAACATTTGGCACTTACGTTTCATCACAGAACAGAAACTAAAGACTCTGTGCCAATCAAAGGGGCGGTGCAAATCGAAATCATTTGGTGAACAACATAGTTGCCATACTGGTGGAACAGAAGATTATCCCAAACGCATCACGATACGACTCGACATCAATCTTCACAAATCCACACTATGAAAATCTCCTCCATCATCTCGTGAAGCAACGGTCGGGCGGTGCAAACAAGTACGCTCCCTCGATGACGTGCGACGCATACTTGGTGACAATGATAGCTAGTTACGGAGCAGGCATATATCGATGATAGTGTCTCTGTACATTTCCATGATACGTTCACCGACGATTTGATGATCCATATTGGAAGACGTAGTTGGCGAACTCGTTGGAAGACAGCCGGTAGCAATTACGGACGATACACGTCATCAGAGAATGCAACAATTGAAGATGGAATTTGAAACACGGGAGCTTGGGATTCTCGGGGGGTCTCTCGATGACCTGTTGCACGAGAAGACATCCATACTTGTCATCGGGACTGGCACACGGCCATCGGTGAATCTCCTGAGGAGAGGAAATGCGCGAAAAAGGTCCACATGTCGACTGGACGGTTTTCGAAGTTTGACGACACGTTGAATCACGTGGATCGAGATTTGATCATCATCCACAAGAGATCAGCACATTGCCGCCAGGCGAATGTGCTTAGCTCTTGGATGAGCTGGAAGACGTTGGCATGGTCGAATTTCTGTTACAAATTATTGATTTGTTACACCTCGAAAGGCCTAAAGACACCAAACATAGCCCTAAAAATTTCGAAGCAATGGATTAATTTTAGCTAAAACGTAATTTTTTGCCAACCTTTCTGTGTCTTTTTTAAACCAAAATCGAACAATTTCGTTGTACGATATTTTGAACACATTTCAATTTTTTCGGGGATAATCGTATATTTCTTTTCCTCTAGGAGCCTTTTATGTGTATGTTTTTTTCATCGACAAAAAATTTTCGTTAATGTGTGGACCTTTAGGTAGTACTGTAACTTCATTAAACTTTCATTGCTGCGGAATTTTTTAAAATTGATTTTCAATGTTTTTCTACAGTTGTCGTCCAATTTCATCAAAGAAAAAAACAGAAGGAAAAAACATCGATGTGAATTTAAAAAAATTGCGGATCAGTGAAAAGTTCGGAGTTTAACAGTACTCTTTGAAGGCGCCTGTAACACCTTTTTTGTTTTAAATTTGTCGTGATGAGACTCGGGACAGTTTTTCGTTGCGAAAATCGCTGCTTCGGCTCATATCGAAGAAAAATCAATTTCCGACCGCTGCGACACCTTAGCAAAGGAAATTGTGATTTTAGCCAAAAATCAATTCAGTTATATATCGGAATTCCCTGGCGAGACGTATTTCTCCCACAGCAACTGCACAACGACATGCGAATTTATCCTTGCACATGGCAAAGGCAAAAGCCCACCGTCGATCATTTGACAATCCCCGCTGCTCGGCCGGTGTTGCGAGCTCGACGAGCTCAGCTCTGAACCATGAAACGATATTGCACTTCGACTGTGGCAGAGCCCCACGAAGAGCGTCGTGGATTCGCTGAGCTTCTCGAAGCCGGCTGTACGAATCTGATCGTGGGAATCCAGTGGGTAGTTGGCTCCAAGAACTTCACGCCCGATGGATCGATTGCGAAATCGATGATCTGCCCGTTGCAGCACATCTTCGAGCGAAAAGAAAATCGGAGCAACTGGTGGTGGGGTCTCATCGTCGGAGGAACCCGATCCACTGGTAAAGATGTTGCTGTCGAATCGGAGAGTGTTGCTTCCGTGGCGGTAGGGAAGAAACTTGACCGACGGCTTCGGATAAATTCGAATTTTAAATTTTTATTATTTTCTATTTAAATTCGAATTCCGTTTTATGCGTTCGAATATTCCGCGTTGTTCTTGTGAGTTTTGTTCGACAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCGAGCATGTTGGGCTGTGCTTCTACGAGTCGGGGTCATTTAGACGGAAATGAATGAATACAGGTTAGTAGACGCTGAAAAAATTTGGGAATTAGGATTTTCAACGGAAAACAGAGTGAAAATGAGAGGAAAAAATGTAATGATTTTTTTTCAACGAAAATCGCGAAATTACATCAAAATTCAACATTGAGGCCATTTTTCGCGGTGGCCCAGGTTACGGTGATTTTTAAGCATGGTTGTTTTGAGTAAGGTCTTGACCCGTTTAAAATTATTGAACATTTCATCATTTTATTTTTAGTCATTTTTAGAGAACAAAATGATTAAAATTCGATTTCTTAAAATACATTTTCACAAAAATTGCAAGAAATCGCTGGCCAAAATTCGAAAATGAAGAGTTAGGCGGTGCTCATGGATTACGGATTTAAAGGCACATGGCTTTTTTTTTCACCACGAAAGGAGGATAGTTTGCTTCCCATTTTGGGGCCGATTTCTTTTTTTAATTTGGCTTTCGCTCGATTTCCACACATTTTCACTCATTTGCACTCAATTTTTTTGCAGAAAAATGTCAATGGATATGTTATGAAGTCAGATGAGCCGGCGTTCATCTCTGCGCCGGTGCAATATGACTTTAAGTAAGCTCAAATGTTTGTTATTCTGGCCTAAAATTATTTTTATGATTTTCAGAACGTTCGCATTTTTCGCCAAAGATCCGAAGAGGAATGCAAACTTATCTTCGGGCTCGAACGCTCGAGAAAGTTTCCAGCAGGCCACGGGGCGCTCGGAGAAGATCACGGAAGACATTTCCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACCCTTAAACTACTATTATTTTCCAGCGTCTCCCACATTTCGTCGACGGCCTTCAAGAGAGATGGTCGGTGGCATCGAGAGAAATCGGCTCGGCTCGCAAGCGATTCTGCTCGACGAGGACTCCAGGCGCCGCAGTCCCAGCATTCTTCAAATCGATCACGCTCCGCTCTCCGCTATGATTCGAGAGAGTTGGCAAGGAGATCGCCTCATCTGATGCCTCCGACTTTTATCGTAAATTATGGGATGATGAGCTCGAAGAGGTGAAGGAAGAAGTGGTTGCCGTTGGAGAAGCCGTCTTGCCCACGCCAAAAGTCGAACTGAACTATGGACCCAGCATCCGGAAAAGGACCTGATCGTCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTCAAATACCACGTGATTCGCGGACGTTTGATGAAGATCACGGATCCCGGCTCGAGCTCACATCAGAGACACGCTTCGCTGAAATACGCGTTCCCCCATTCTCGTTTTCCGACGATTATAGCGAGAAAAAGCCGTCGAAGAATTCAAGGATATGGCGAAAAATCAATGGCAGTCGACGATGTTCTTCATTCAGGACAGGTTTCATAATATAACTGGAAATAATTTAATATTTTTCGAACAAATTTGATATTAACCCATCTTATTTTGATAAAACTCCGCCGCTGCTCTCTGAAGCAATGAACTGCAATCCGACATCAGCGAAGGGATCAGCCGAACTGAGACGGAACCACTGCCATTGAGCTTCTAGCGAAGGAGAATTAATTTATTTGAATTTATTGTACGCAATCGTTCCCATATCTGTGAGCTAGCAAGCTAGCTAATCGTGATTAATTGTTGGGTATTCCTTCTCGTTCTTCAGCTTCTCCACAAGCATCTTGTCTGCTCATAATCACACAAATGATGTCATCAGCATCGCTCTGATCTTGAAAATCCTGAAATTATAACATTCTAGAGGGTTTCTGTTGAGTATAGTTACCTTACAACCAACACCAAATATGTTCTTCATTATGGCATCCGGCAGCTTTCCATGAATCGCAGAAGAAGTGCTCGGCATCAGATCGGATGCTCTACTTGGGAAATATCGACCGATGCGGCTAGACACGAACCATGTTGAGTGGCCGAGAGAGGGATCATCTCAAAGATCTAAATGTAAACTAAACAAGAGTTTAGAAAATTTAAAACAACCTCCCTGATAACGTAGTTAGCTTCTCGCGGAGTGAGCTTCTGCTTCAAAATGAAACAGAATGAAACAAGAATCAACTGTGTATTGTACAAAGTGAAGTATTTCAGACATTTTCGCTAATTTTGGCAGTAAAGACCTATAATTTTGGTAAAAATCGCTTGTATTCTGAAAAAAGAACTCAATATTTAATTTTTTATTTTTAACTGATTTTAAAGAGAAACAAACGAAATATATGAAATCGAAGAAATCCCTGAGAAAAAAAAGGTGCTCCTCCGCAATATTTGTGATTGTTAAAGGGACAACGACTGTTCATCGAATGGGTCCCTCCACGATTGTCCATGTCGAGCGCTTTTAATCGCGATATTTTACTACTGTAAAAAAGTGTACTAGGAAAAACCTGTGTAATGTCGAAAACGTCACAAATGTATTTAAATACATGTTTTTATTGCTTGAATAAGCCGGCAAAGTATGTATTTAAATACACTTTAATTTTCCGACATTATTTGAATAACCCCAAACCCCGAAATTTATTTTTTGTGAAAGTGATAACCAGAAAAATACATGTTAAAACAATTTTGTGAACAAAAAACTAAAAAATATTTTTTTTGCAGAGATGAATCCCACGTGAACGGTCGAATTTCCACGCAGCCTCGTCGAACGGACTTTCAGAAGAATCGCATGTGACACGTAGGAGGCGCCATGTCGGCTCAGTGAGTACAAAAAAATCCATGGGGATTTTATAGAAAGTCGGAATTGATTCAATAAAATCGATTTTTATAATAAAAAAAAGGATTGATTATTGGTTTTTGAAAAATTTAAAAATTACAAAAAATCTATAAAATCGATTTTTTAAAAATTGAAATTCAATAGATTTCTAACTTTAGAAAAATCGAAAAATAATGTTTTAAAAATCACCCAGTCAGAATCGATCAAAAATTCAATTGTCATCGATTTTATTTATTTTCAAAAAAACTTAATTTTTATGAACATCGATCATATCGGATTCCAAAAAAGAATTGGGAAAAAAGTAAATTTTCAAGAATCGAAAAATTTTAATTTTGTACAAATAGTTATTAATAACTCATTTTTTAGGTTTTTTTTCAAAAATTTGAACTAAAAACACTTATTTCTCGAGCTTTTTTCACAAATTGACCCTATTTAAATTAAAAATTCACAAGCCAAAAACCTTCTATTTTAACCAAAAAAAAAACGAAATTCCTCTCCCAAAAATCATCAATTAAATCCTTTTCAGCTGGATGATCGTAGACCACGACAATCGGCTTCCCAACTCGCCAGGCTATCTGTGCTCTTCGTGCTACAAGGTTAATTTCCTCTGTTTCGACGTGAACGGCAACAAAGTGTGCCATAAGGCCGTACCGTATTGTGATCGAAGGGAAATTGGCCACGGACGCCAAGTCTTTATCCAGCTCGATCTTTAGAGAGCGAAATTTAAAGTATCATTTTTTCTTGTTTTTTTTTATGTTTTTCGATTTGATTGTTTAATTACCAATTTTTGGCCTGTAACTGTGTATTGGTTGTGCAAATTTCGTTTTTTGAAGGTTTTAAATTTCTGTTTGGGGCAAAAAAATTTATCCAATAAATAAACGGAATATATCGATGATATGGCACGTAGGGGGAAACGGACGGGCAAGACTATTTACAGCAAGGGCGCGCACCAGAGGTTTCTCGACCCCCGAGGCGGGTGGCGGAGCCTCAAATCTGTCGGAAAAATGTGAAATGAGAGAAGAAGTAACCTCTAGAAAAGGAGATGAGAAATCGGAAGTTCTGGGAAAAAAAAATCAACTTTTGAACAATTCACATTGACGATAATATTGATTTTTTTAAAATTCTCTAAGATCGAGAAATCTGGTTTGGAAAAATCAATAAAATGAATCTTAAATATCTTTTTAATAAACTATTTTCAAAAATCAATAATATCGATTTTTGAACAATTTGAAAAATCGATAATGTTTATTTGTAAATTTAAATTTTATTGATTTTTTGATTACAAAATCGATTGTTGATTATTGATTTAAAAATCACCAGAATCGATAAATCTGTTTCGGAAAAACCATTAAAATTGATTTTTACAAAAATCAGCCAATAAAATAGATTTTTTATAATCAAAAAAATCTATGTGCTTTTTAAAACCGAAAAAATCGATATTTCAAAAATTGAAAAAAATCGATCAATAACTAAACAGTCAATACATAGGTGAGCACGTCTCATCTATTTGTGTTTTTGCGATTGGTCTCGACAGTTTTGAGACCGCTAGGCGTTGTTCCGCATTCTGGAATTTTTTTGTGTTGGGAATTTGGCACGCCCACCAAATGGACGGTGGCGGAAATTCAATTATTTTAAATACCTTTCTGGATAAAGTGCAAAAATGGATTTTTCCACTTTGTCCCTTCGAGTGATTCGGAAATTAAATAAAACATTCAAATTATTTAGGGGCAACGAAAAAACTCTCAATGCACCCACTGTTATTCGGAGTGTCGTCGCGGTGTGTTGCTATGGATCGTGTCCATGCCCAGCTTCATCGTCGACTGACGTAGCCGTTTTCTGGTGATCTGAGCGAGATTTATTTAATTGATTTTTAGGAAAGGCGCATGGCCTAAAAAACACAACACTTCGGCCAGGGACTTTGGCGGCCGAGCTAGGCCATGCTGCGGCATTTAAAAGCACATACCCTACCATGATAAACTACTGAAAATCGCCAATCCGAAAATGATGACCAATGCGAAACTGATAACTGCTTACAATCATCGATGAAGGAATAAGATGAAGTTTGCGTGGAAATGGAATCGATGTACGCTTGTGAGGTCATTCCTGGAAGTTATTGATTTATTTTTCGAAAAAAATAATTCCTTAACGCAATAGTCACACTCAGAGTCAGCGAATTTTGTTATCCGAAATCATAGAGGTATTGCGTGAAAATGCGGCTTCCAACCTGAATGTTAAAAAAAAAATCTATAATATCGATTTTTTGAAAGTTTTTGGCGAAAAATTGATAAAGTTCGATTGATTGTTTGCCCATAGAAACAGATAAAACTCTATATAACTTAATATCGATCTTTCGTTTTTTTGCGCACCTTTAAAGAGTACTGTAACTTCAAACTTTCATTGCTGCGAAATTTTTTTATCGGTTTTTACAATTTTTTGTACAGTTTCCGTCCAATTTTACAGAATTGAACAACAAGAAAAGTGAAAAATCGTAAAAAATGTCCGCAGCAATGAAAGTTTGGAGTTACTGTACTCTAGGCTTTAATGGCGCACACCTTTTTTGCTTCAACAAAAATTTGTCGTGGTAAGACTGGGGACTTTTCGGCGTAGAAGTCGCACAATTTCGGTATGGAAGAAAAATCATTTTCCAACAGCAGCGATACATAAAAATTAGCAAAAAATTGTGATTTTAGCCTAAATTTAGTTATTTTTCGGAATTCCCGTGGCCAGACTCATTTCTCGCACCTGTGATAGAGCCAACTGCACACCTCGACATGCAAGCATTTTATCCTTGCAGATGGCCAAAAGCCCTCCGTCGATCATGACGAAGCAATGCCCGCTGCTCGGCTGTTGCCAGCTCGACGAGCTTCTGAATTAAGATTTGCGATTTCGATTGTGGCACCCCACGAAGAACGTCGTGGAGTCGGGGCGCGAAGACGGCTTTACGAATCTGATCTTCGGAATCAAGTGGGTAGTTGGCCTCCAAGTACTTTACGCCCGATGGACCGATTGCGAAATCGAGCTGCCCGATGAGCAGCACATTTGAAGCGAGATGGTGATCGGAGCCACTGGTGGTGCAGTCTCATCGTCGGAAGATCCAGATCCGAAGGCTGTCAGAGTCGGAGGATAGTGTTGCTCCCGTGCGGCGGTAGGTAAGAAGCTTGACGGGCGGCTTTGGTTTCTGGAAATTCTATATTTGAATTTGAAAAGCAAGAAAATTCAATATTTTACCCTCGCGTCTTGTGGGTTCTGTTTGACATAAGCGACAAATCCGGGTCGAGCTTAATTACCGCATGAAACGCCGAACATGCGCGCCAACAGAAATGAATGAATACAGGTTAGTAGACGCTGAAAAAGTGGGCAATTAATTCAGGATTTTTTAACGGAAAAATAAGTGAAAGGAGAGGCAAACACATCTGCAAATTAAAATCTCCCGAAATTACCGCGCTTTAAAGGGACTCCACCGATCGGACAGACGAGGGAAGTGGAGAGACGCAAATCGAAGAGACGCCTTTCAGATCATTTTTTCGTGATAAGTTTGCATGAATTGGCAAGGAGAGCTTACACGTTAGGCGAATCATTGATAAAAACATCCAATTGTTGTTTGTAGTGTACTGAAATTCCGGAACAATAGCTCTCGTAGACCCGAAAGTCGCTCGTGGCAGGAAAGTGGAATTTGGATAATTTTGTTCTTTTTTTTAAATATGACGTTTTTGAAGGCTTGAATTTGTCTCATAATTCATCAAATTCATAAACGGAATTATCCAAATTCCACTTCACGGAGTGACTTTTGTGTCGAGTCACGAGAGCTATTGTGCTGGAATTTCAGTACATATGTAGCAACAGAAAATGTTGTTTTTACCAACGATTCCCATCATGTGTAAGCTCTGCTTCGGTTGCCACTTCATGCAAACTTATCACGAAAAATGTCTGAAAAGGCCTCTCCGATTCGCGCGCGTGTCAGGCCTCCACTTCCCTCGTCTCTCCGATCGGTGGAGTCTCTTTTGAGATTCGACCCAAATAAAAAGTGCAGGGCGCCCGGGTTACGGGAACTTTAAAAGCGCATCACGGTTTTGAGTGCAGGTCTCGACGCAAGATTAGCCGGCTACTTTTTGAAGATTTGTCGTTTATTTTGGCATTTTTGAAGGAAACATAAGTGAAAAACAATTTTAATCTTAATTGAGAGAAACTTGAAACTAACATTGTTACACATAAAAAATTGGCCAAGAAATTGCGCCACGTTTTCAAATAGAAGTATCGCGGCGGTCAAGCCGTTGATTACAGCCGTTATACACTCATATAACTATGCGATAATGTAACTCGATGATTTGTTGATGTGATCTTTAAAAAGGTTGAAACTGCCCCTTATGTGCCGGAGGCGCTGTGAGCGGCTGGTTACTTGTATATAAAAAATGTCGGGAAAAACGCACTTCCGTTCCATTTGTTTCTTTGTTGACGTCACTGAGAATTATGGGGGTGCGGGCCCGTCTTCGTGGTAAGACCCATCTTGGCGAGACATAGCGTGGTGATATCCTTCGTGGCGAGACCCATCGTGGTGAGACCCATCGTGGCGATGACCCATCGTGGTGAGACCCATCGTGGTAAGACCTACATCGTGCCGAGACCTTTCGAAAATTTGGTGGGAATTCAAATTTTCTTAGAAACATTTTTGGTGGGAAGTCAAAACGCCTTTTCAAAGAAAAATGGCTGGCGGGAATTCAATTTTTCAATAAATCATTTCGGCGGGAATTCAAAATTTCTAAGCATAATTTTGACAGGAAATTCAAATTAGTTGAGAAACTCGAGTAAATGGAGTTCTAGAACCTTCCTGGAGATTGGGGAAAATTTTGGTATGTTCTAGAACCATCGGCGAACTTAATTCTGGAAAGTTCTAAAACCTTCTAGAAAATTCGTGACAAATTCTGGATTGTTCTTGAAATTTTTAGAAGAATTCGAGAAAACGCTGGAACGTTCTATAGAGCCTTCTAGAAAATTCGGGAAAATTCTGGAATGTTAAAATCTTCAATGTTTGCGCAAACGCTCTCGGAAAGAACCGGAATGGATTCTGTTGTATGTTTGAAGAACGTCTAGAAACGTTCAAGAACTAATTTAGAAGTAGTTCCGAAACCTGGTATTCTTAAGTTGTAACTCTTGGTGACAACTTAGTTATATAATATTCATGTTGCGTTAAAAGCTTCTGGAGCAAACTGAGAACAACGTTCCAAGGCTTAGTAATTTTAGAATTTCATGTTAAGTTCGATTACCAGTCGGAGCACGCGCATTGTTCGGAACGGCTGGTATACAAACAATAGTCAGTCAATCCCATGGATCAAATCTTGAATTTTATGGGTCTAAAACTGAACTGTTCAACTTTGATATGCAAAATTTTATAAAATTATTATTGAAAGACATGAAACAAACTTGAATTACGCGAAGTAATGCTGTGAACTGAACTTACTATTAGATTCCTTTTTAGCGAGCACACTTGAAAACGAATGAAATAAGGTATGTGAGAATACCGTATCAATCAGATACGTCTGACACTTCCCCAGAAAAAACTATCAGAATATGAGTACATGTTAATGCTAGTGTGAATCTTTCCGCGACGACCATCATGGCTCAGCAGGTAAGACTTCGGCGACGCCTCGAGACGACGAGGTAGTTGACGACTTTTCTCAGTTTTTTAGGCAGCGCCCAACTCGTTGTCCGAGGTCTACAGTAGCTACATGTTTCGGACGGACAGAGTATTTGCTTTATTAGTAGTAACAGAAATACACATAAAATCAATTAATAAGACATGAAATGCAATACTGAACCAAATCCAGTTTTCACCCACTATGTCTCTCATTGAAGAACGTTTTAAATAGCTTTTGGTATAGAATATATTAAAATTCATTCTTCGATTTTCTGTGGAATTTCCTATTTGAATTTTTCCATTCCAGACAGTCACTTCTCCAAATCCGTGCATCCTTGAAATTTTCTTTGGGGATATTTTAAATATCATCGAGATACCAACAGTCTACAGACTGGTTTTTCACTTACAAGACGTGCTCTTGACTTGAATGTCTGGGATACCCTCTATGTTTTTCTCCTTTGTCATGCTGATAGTATAAGTTGAATGTGACACTTCGATTTCTTCTGGCTGTTTTGTTCAGTCGATCGGATTAGTTGGAAGCCTGTGACTCGGTCCATATTGTTTCTACCAGAGTAATGAGCGTGGACTAGGAAGTAGAACGGTCATACTCTTGGCTGGGAAGTTTCGTTGAACATATGGAGACAATCACATTGTCCATTGGTGAATAATAGTCGTTTGCCAGTTGTTCGTTCATTTCGAGTAACATATCCTCAGAGTATTGTAAATCAATCTCCACTTTTCCCAGAAGAACCCTCGAAACGGGTTGGGTGTTGAATGGTACATTGAAAACGGCATTTGAAACACTAGTCTATAGACGGTTCCAAAATTAGGAATCCAGATTTGAACTAAACATAGTATTAACATTACCACTGTTTCGATCCGGAACTCCATTCTGAATTCTTTAACCTACCACTTTGAAATAAGCATCACTGGTATAAATCTCGGATTGAAAGGAACTCTATTCCCTGTATTAAAACGGTCAATCTGTGGCATGTTACCAATTAATTGGGGCAATAATTTGCTCGAGCACCAACTACGTACCTCCCTAGTTGCTTTTCGTATATGGTCCGATAAAACAACCTGTAAAATGTTGTTAATCTTTATAATGTTCCTGAACATATCATGTCAAGAGTGTCTTCTGGAGTTTTTCATCAACAAAGACAAAATTTGATTTTTTAATTATCTAAACAATCCGATTTTTGGTTTTCCGAGGAGGAAAATTGAAACATGGAAATCCGTTTTTCTCCATTATTCGATTCTCCGATTTCCTCTCGAACGAAAAAAACGAGAATAAAGTTTCCATGACATCTCAGTGGGCTGTGGTTTTGGGATAACTTTAAGTGAAGGAATGGAGAGACTATCTAAGTATGAAAAACACGAGAATTTACTCCCTTTTGATAACCTGTTACAATACGTGGACTGTTATACTAGAAGAACTAAAGCAGTGATTCAAACATCCTGTTCAACGGTGTTCATTACAATGTATCAATTTACACCCTCACCAGTCTTTCATTTCCAGCGCTTTGTAATGTTAGTACGTGGAGATTTCCTCATTTGATTTATGATTTCTATTATTCTTAATTCTCCAAATAGCTCTTCTCCCAATAGTCGCAACTCATCAATTCCAAAATTTATGCTCAATCGAAGTGACATATGCGAATTTCCCGAATAGGTCGTTTAATCTGTCCATAAATCCATGCTCATCAACTCCAAAAATTCAATATGTCATATTCAAAACTGCTGCGTTATCGAATTTCCACATAATGAAGTTGAGTACTATGAACTATACAGTTTTTATTTCTATGAATGTCTCGACATATTTGACGACGACAGCAAACTAAAATCATTTTTTATATTCTTCAACGAGTCCATCTATGAAAACATGAATGTCATGTTAATCAGTTGTTCAAAAGCCATATATTTTACTCAGGATTCTGAACAGGCGCTCATGTCAAAAATTGACTTACAATCTACTCCAATCAAGCAATCGGGTAGGAGATCATTGAGTATAATTCGAGCATCCACTCCGCACGAAATTTCGTTTTTCTTAATCGGTGCGACATACGTAATCTTGTAGTCTTTCAATTTACCGCATTTTTTAAAAGTCTGAAAAAAATGTTACAGCTGAGTACAAAACATTAAAAATTGGGTTATTGATTGAAATTTTCACCACTTCTCATATTGTCGACCACTGAACAAACAAGCATAAAAAGCTTCAACAGACTCATAAAACACTTTTAAAGGCAAGTGTTGAACCACCTATTTTGATAAAATTGTCTGAAACACATCACAGATCGACTTTTCCGTAGCTCAAAGTGATCCTCTGCCCCTAGCTCTTGAGTGGTCATTCGAAAGTCGGGGTTTAAGTTGAAATATTTCCCTAAGCGGTCAAAATTCCATCATCAGGCGATCAAAATAAAATTGAATTTATTGGTGCTACAGTTAACACATGAAGCGGCGAGCAAAAAAACCAGGTTTTGAACAATTGAATTCAACTTACTCGAATCTAAGTGTTTCACCTGTTTGTTATCCACATTCAGTGGACATTCAGGTATAAGAAACGCAAGTGCATCGACGAAGCTGTTGCGTAAGTTCAGGATCAACTTGATTGTTAATGACTATTGATCTTTTCTTCAATTTTTAAAAGTGTTGAAACTGAATTTGTACGATGCTTCGAAAATGTTGTAGTGCAAAATCGCTGAACAATGTATTTAATAGATCAGCTGAAAAAAGAGCGAATTAGAGCAATATTGAACACAATTTTGATACCTGTCTGTAATTAGGAAAATCAGTCCGCTGTATTGATTGTTTGAAAAACTGAGTTTTTGTTAATTTATTTGCAGTGGCAAATTTTTATTATCATTTTTTTTGATAAAAGTTCATCACCAATGCCATCAGTGTTGTGGCACCACGGAGTGTGGACGCGGAAGACCGAACCCTTTAAGTCTCAAGAGGAGCCGAGCAACGAAGACTATGTCAGAGGTGGCATAGCACCAATGGCATCGTCTATTTGTATATGTATTGGGAAGAACAGACATTAAATTTATTACTCCCAAAGGGGAGATAATCAACAGAGGGGGGGTCGTACACAAGAGTGAGGGAATTGTCAGGGAATATGCACGTCCTGCCACGCGGGTCTTTAGACTAGTCTGCCAGGAAAAGGTCGAGTTAGGTATGAATAGTCGGGGTCTTTGCAGCCTCGTAGAATAATATCTTAGGACAACTACACTTTCCTAAAGGGAGGGAAAGGTAGGAAACGTCGGCAATTAGTCTGACTGGGAGGTCAATAACGGGGGGGGGGTCGGGGGAAGAGACCAAGGCAAAACCGAACCAAGAGTGGGGAAAGGAGAGATCCTTTTTTCCTGGTGCCACCGACGCTGCAGCTCGCTCCGTATCCCCCCGTCGCTCATTGAGTCGCCGCGCAGCCAATCGTTGCTACGGGGTGCGAGTGTAACTCTCTTTAGAGAGCGTGTCGGATCAGACGCAGACATACAGGTAAAACTTCTGCGACTCCTAACTGTATGGTAAGCTTAAGAGCTGGTATTAAAAGGTCGAATTGAATGTACCCGTCGCTCGGAGAACATCCTGCTGAATCTAAGTCGAGAGCGAGACTGCATTGTGAAATGGGCGATACAGCAGAGCCCAGTTCACAACTCTCCCGGGGGGCGGGACTTGTAGGCTGGTTCACGTAGTGAACCCGCTTAAGGTTCGTTGAAGCCTTCCTTTGCCGTTCTTGGAATGGCGGAGTGGAAGGTCGTACGTCTGAGCTCCTGGCTTCTTTTCGTGAACGCATTCACCTTCTTTTGAAGATCTAGTATTAGGTGAGCTCGGAGCCGGTTCTTCTCTAAATGTTGCTTCGTCTGAGCTTAAAGCTTCTTTCCTGGATTTAATAAATTTTAAAAATGGAAGGACATGTAGTGAGGGTTCAGGAAAGTCGGAGTCCGTCTCTTCGTTTTTTTGTTGAGATGATTTTTTCTTTATTGTCTATGTCTTCCGCTGTAACCTCAAGAGGATACAGTTGATTTAGTGATCGTTCCAACGTGGAGATTGAAACGAACTCCTGATTCAATGTTTCCTTCAATTGTTTACTCGGAATGAGCTCCACAATTCCCAGAGGCCATGTGCGTCTTGGCAGCATTTCTTGTCCGACGAGAACAATATCTCCTTGTTTAGGATCTCGAAGAGCATCCCTTGTATTAGGCCTGTCTTTTGTCTTTCCAGAAACAGGAGATATGAGTCAATGTCGACCAGATTTGCCACAACTTTGCAACTGTTGTTTCAACTCTGGCTAATTGTCTTCTCATTTGCTCTGTTGATCGAGTTCGGAGAATATTCCATCGGTTCGTCTAGATCAACATATTCGGTGCATCTAGCTGATTTGGTAGTAGAAAGTCGATTGTGGCGGAGAGCCGTCAGATCATTGGGATCTGTGTTGTCTGGTGTAAGTGGACGGTTGTTAATCATCCCTTGGTCACCTGTCCGTGCTGGGAGAGCTAGAAGAAGGTTAATTTTTTTGCCAATAGTCTTGCGAAGTTTAGGTGCTTCGCAATTCAAACAATCCTCTCGTACACTACCTCCTTACCAAGGGGCGAATGGAGTGATGTTGTGTACGTGAATTTCGTCATTTGGCTAAAAAGCAAATCATTGAGTAGCTTGGACTGCATTAAGTCTGATGTCTAGGTTGACCATTTGGTGGCCTAGTGTAATGTTGGTGCATTGTCACAGTAGATATGGGGCGGTACACCACATGAACTGGAGATTGCTTTGAGTGCGAGAAAGTAGTTGGCTGTAGTAGCGTCTGGAATGAGTTCAAGAAGGCTAGGCTCTAGTCTTCAGACAAGTATAGATTAGAGCATAGGCTTTACCTAGCTTGTCATCGTCTGTCTTGTATTGTATTGTACCCAAATAGTCGAGTCCTACATGGTCGAATGGTGCAGAAGGTCCAGTACTGCAGTTTTGTAGTCGTGTGTCGTAATTGTATTTAAAGGGTCGTGCTTTCACCTTTTTACAGTTCACGCACTGAGTAATTGTAGTTCTTGCAATTTTGCGATCATCTCTGATCCAAAAGTGCAGTCTTACTGTAGTGGTTGCCAAATAGTGTAATGGGAAGTAGGTATTGCGTTATCTGACATCTTCCACAATTAGACACAATCAGATGTCGGATGGGGTCCCCCCACTATCCAATGATGTTTGTTTCCGTCCTCGTCTACTGGTTTACGCAATGTGTCTTGCAAAGTGGAAAACGTCTGTTACAACTGGAGATTTAAGTTGTGTCAAAAAATGGCTGAATCAGTATGATTTTGTCTCGTCTTTGAATTCGAGATTCGGTGTTTATTGTTGCATTGACTTAGCATAAGATTTCCTGTTATATGACTCGGTGACGAGCAAAGCATGTACCATTGTTGATGCAGAAGCGTTTGACTTCATTCGCACCCATTGTGCTCGTTTGAAGTGGATGGTCTTTTTTGAAGGGAGGGCACGGATCTCCATCGAGAAATTCTTGCCAGCGCCATTCTCCACGAGTCTGGAAGTAGTATTACCCGGTCTTTTGTTGAAAATGCGGGTTCAGGAGGTTTTCCTTTGGTTTTCTGTCCCGTTGGACATCAACCAAAGTACGTCTATGCCAATCTTCCGCGCAGTTGTCAGATGTTTTTTGAGGCTTACGATTGGATAGTCAGCCCGTCTGGGTCGTATTACGTCACGCGGAGTCAGCTCGGTATCACCTTGAGAGTAACCGTATAGTCTTGATCTTTAATTATCATGTCTTTGGATTTTACGCCGCTGAATTCGGGTTTAACAGTTTCCCCAACAACAAGTCTTTAATCGTCGATAGTTATGTCTGTCACGCACAAGAAATAACTATCATTTTCTGTATGGCCAGATTAGTCGTGGTTCGTATGATATCTAAATTCAAAATTGGCGTACCTGTATCCTTTGCCTTCTCGACGCCGTCCTTGAACATCTCATCGAGGGTATCCGGCAATGAATTGGCTTCGGCAATGTATTTCAGTTTGTATTGTAAAGATCCTAAAATGATGTAATCCATATGCTGCTGCATGTCACAATCGATATTGGCGTCAATCCAGTCGAAGACTTTTTGCTTCAAGTCTTCAGTCTTAACAACGGTGCGGCGTCAGACAATGCTATGGATGATGAAGCGGAGAATGGGGTCCTGGATTCCCTTCCCTAGCTGCCACCATCCCGGAGTCGGGATCAAGACTAGTTCCCCGCGACCTCCAAGATGAAAAGTTATTCTTCGTTGAAAACCGAGAAACTTGTTATCTAAAATCAATAATTGGTTAAGAAGAAATAGACAAAATGCATTTTGAGATTAAGTAAAAGACTTAGAGATTAGGAAAGAAAGATGGGGATGAGGACTCAACTTGAGTGATAAGAAAAAAAGGCATTTTAATATAAGATTCTACAATAGGGATTGGGAAAGGTGTGCCGTGGCCTAATATAGGTTTGGTGGTACAATAAATAGGGGAAGTAATGACCCAATATGGGTTCCTTGGGGGGATTATTAAATGTTAGCCAATATGGGTGAATTATTAATTACTCATATTGGCAGGGGAATGTCGGTGAGGGCTAAGAGTTCCCTGTATCTGTTGCTTGATAGTCATGTTCCGGAGGGGACTTGTGTAGAGTAATTTGGTTTAAAGTAATTTGATGTAGAGTAAGTATTTGGTGTAGAGTAGGTTTTGGTGTAGAGGAGATTTTGGTGTAAAGTAATTTGGTGTAGAGTAATTGCTGAAGAGGAGGGATGGAGGGATTTCAACACCGACTGGTCGTGAATTCGGCCCTTAATTGGGAGGGTAGGGGACAATAGAAAGAAAGAGGCTACCGTGTGGACCAATTTCCCCCAGCAGGGACCTAGTTGGGATTGTTTTCACTTGAACACGAAAAGACAATGGGGGTTGGGAAAGTTAATAGGGACAAAGGAGCAAAACGGAACGCCCATTCCCGCATCGAATTGATAGGCACCGAACCCAAACTCTCCTGCCGCTGCAGCAGTCAGGGATCCGACGCTCCACGCTCTCTCATCGCGACTGGAGACCAAGTTTTCTCTTACAGTCTTTTTTTTCTAGTGGCGCCGGTTACTTACTCCATTGCCAACTAGCTCGAGTCGGTGGTAGAAGTCAGAAGTCAAATGCTTGCGGACGTGGAATATAGAACATGTTTGAAATTAAAGAGGGTGGTTTAAGTCTTGTTTTTTTTGAGATCCCTATGGATGAATTTTGGTTTATTTTTTAATTTGAAAGGTTAAAAGATGTACAACAAATAATTTTTAATGATGTATAATTTTTGGTGAAGGTACTAGTTGAAAAATATAAAGAATTATTGAGAGTTTAAAATTGGGAAGTGGTGTAGAAAACGATTTTGTTAAAATATATTTTTGGAATTTATGCAATTTTATAATTTTCAAGGATTTTTTAAATTTTTTAGGAAGTTTTAAAAGGGGGTAAATAATCTAACTGTTGGGTCCCCGCGTCCTCCAACGAGCAAAACCTCTATCCATCCAGAGTTCTTGTCTACCCGGCTTGTCGCCTCTTCCGCCTTTTCTTCTTGTCGTTCTAGCACACAAGAGACTGTGCACTATAGTCTTTCCGTTGCAGTCAGCGAGCCGCCAGCAGTCGCATCGTTAATGGCACCTTTGCCACTGTATTGAACGCTGTGAGCTGTTTTAAGTGCTATTATAGTCTGTAAAAACAGGAAATTTTGTACTGGATCGTCTTTCGTCTTTCGACTTGAACCATATTAACAGCCGAGGTTTATTAAATCAAGGAACAAATAACTCAACAATTTGGTATCAGATACCGGTGAGGAGTGGTGAGGGGGATTTCAAAAAATTTAACTCCAACATAAAAATTTCGTGATCGAATAACGAGATATTCGATGGGGATTGTCCTCGTGCCAATCTTGGTCCTTGGTTGGTATCGGCGTCTGACCGGCTAGTGTTGTTGCTATAGCTGTTGCTGGAGTTGGCGGAGGTCCAAATCAGTTGTGGAGCAGGAACGCGATGAGTGGTGGTGTGAACTCCTGTCCGGCTGGTACGAGTTGTGGTGGAGGTTGCTCTTCGGATGGTGATGGCGTGTGCCAGCATCGTATCCTCCAGGGAGACTTCCATCGCGAGGGATGTTGATCGTGCGTGCACCACCGCGCATCTATTCCCCTGTCGTACAGAACGACGTGATCCGAGGATTGGATCCACACTTCCTGGGAGCAAGATTGTGGAGCCGTCGCAGTCGTCGGGCCATTTGGGTCGCGGCCGGTCTCGGGGGGCTGGGCCCGTACTTCCAGGGGCAACGTTGAGAAACCAGTCTTGGAAGAACTCGGATGGAGATGTGTCTTCGGTGCGAGCGGCTCGGGTCGAACGGTCTGAGAAGATTTTACCGAAAATTAATAAAGTATATGGAAAAATTGGATAAATTTTTAGAATTTTGAAAGAATTGATTGAAAATGTGGATAAATTGAATTTTTTAAAATGAGAAAATTTTTTAGAGATAATAATAATTTTTATATCCAATTTTTAAATAAAATCGACTTCCTTCTCGAGCAGTCTGGCGCTTCGTCGATGTTACTGGTAGGATCCACTCCCACACAAGCTGTCAACTTACGTACTACCAATGAATTGCAGTATAATGTGTCTATGAGATGCAAAACGACGAGAAATAGCGAATCATAAGTCGGGGAAAGTCGAAATTGGGCTCTATATCGGGAGCATGAGTTTGCCAAACATCACCTCCCTCGCGTCTGTGGGCTCGCGAGCCGCCCTTGTGTACGATTTTAGGGGTAATTTTGAATTTTTAGACTCTTAAATTATTTTTAAAGAAAGTTTGGTAGATAATGGGACGGGGGATGCTTAAATGATGTGTACCTGTCGTCTATCAAGTCTGTCGACTATCGAAAACGTCGAGTCGTCGAAGTTCATATTGAATCGTCTCTTCACGGCCCGGCGAGGGGTACATGAGAATTCTCTACCGTATATTTGGCTGACTGCGTGCTCAACGTTGATTCCACTCAGTTTCAAGTTTGGTACACTTCACGCGTACTGCACACAGTTTAATTGACGAAATTTCGCGAAAATTAACAGAAGATTTTTTTCGGAATTACAGAGCTGAACTCTATTGATAAAAAAACTATCAAATTTTCATCGAATTTGTGAAACATCGTAAGGAAGATCTTTTCTTCACTATATTCAAGGAAAATCGATATTTCGCTTTTCACAGACGAATGTTGTCTCATTTTACTCGATGAAAGTTTCTGATGAGCTTCATCGATTTTTGAGATAAAAATGCGATTTGTTGATAAATGGATCAGTTATATAAAGAAACAACATATATTGGACACTCTGAGATTACTTTTTGAGAATCAATTCTTTATTTTTCTGTCATTTTAAATTAAACATTGAAATAAAAATATTAAATAAATAATAAAAAAAACAGAAAATCGATATATTACTTTCTCTTCGGAATTTCACCTTTTTTGGATTTATTCTGTAATAAACTCTCTTCTTCGAATTTGGTGTGTCCACGTGGCAGACGAAGAAGAATCTGCTGCACTCCTTCTTGCTTGCCCACAACTTTCTCGAATTTTCTAAAATTTTAAATTTATGGAAATTGTCATTTCACCATTCCACTCACTTCAGCTGATACTGCATTTCGGAAGTTGATCGGATACTGGTGGAGCAACGGATGGCTTCCAGTGATTGGCTGGCTTGTCGAGCAAGTTGTGTGCTTGCCTGAAATAATTTTTGATTTCAATTTTGAGTTGATCTAAAGCAGTAAACCTACCACCGGGTTCGTACGAGAAGGAGCATTACTTGGTAGACCACGGAATCTTATCGTTGAACTGCCTCCAAATGCAATAGAAGTTTGTACGTTTGGTGAGAAGTCGGGCTGAAAATTTTCAAAATTTGACTTTTCGAGAAAAATAACTCACCACAGCATTTCGAGATTTTGTCGATTGTGGAAGCCTTTTGAGTCCTGGAGCAAGAATTGATTTTTTTGTCGCTAAATTTTTTCTTTGTTGTGCAGCCGTGACGTCCCGAATAACTACTTTTGGGTCCCGAAGATTATTTTGCGAAGAGTCAGAATTGGCAGAACTGTTGCATGGGTAACACGACGGAAAGAGCGGGAATGGACGTGTTCTGAAATAGTTGTGTTTTTAAGAATGCAGAAATGTTTTTCTGTACCAAAATTAGCATAGTCTTGTCATTCATCATGTTAAGACACATGAGCTCTCCCAGAACATGGATGTAACGCCTTTTCTTGTCCCGGTAATTGCAAAATCTCCTCTCAAGTGCATTAAAAATCGCGTGGACAGATTCAACTCCTTGTTCTGTGATCCTTCCAATCTCACATCTGCCATTTGTGGTGAATGGTAGACCAACGAGCAGGTGCAGCTTTAAAATAATTGTTTCTTCGGGAACCGCTACTTTCAAATACTCCACAAATCCCCGAATCGAATTTTGAAGTATTAAGACGTGGGAATCATTTAAAAACTTGTTTCCCGAAAGTGACATAATAGTTGAAAGCTTTCCCATTGCTGATTTGTGCTCAATCCGAGCAACATTGGTCATAAATTTGCGCCAAAAATTTAGAAAGACCCATCCTACCAGCCGGCGTTAGCAGCAATTTCAAATAGTTTCCGGAAAAGGATTGGCAACCAAGCCTGCACCTTGTCCGCTCCAAACTTAGCCCAACCAGTCCCATTTTTTCAAGTCTCCCTCGGGAGTACTATTCACAATTATCTCGAGCAACAATTTTTTCGATTGAAGTGCTTTAGTTCAGCATGCGACTCTTCATTCCGGCGGCTCCTTGATACTTTTCTTCCGCACTTTTAATTTAACAGCGATTTTTAGAGTTGCTTTTCGTGTTTTCAGGATCGGAAGTAGTGTTACCTATCTAGATTATCAGAATATAGAGGTGATTGAAGACCTATATTTGTCAAAAATACCCATGATAATGCGCAGAAGAGGAATCAAATAGGATCGCAACAGTGTGTAGGAGGAGTACATCCTTTGCGAACACACGACATTTTCACAACAAGCTTTAAGATCGATTGTTCGTGGGTGGACATATGATCAGTTCTAACTCATCAACATTCATATCCTTGATTTTCATCCTCTCTTCAGCTCCACTTTGGTTATGGACTGTGCTGCAAAATCCATTTAGGAGAAAGGTGCGAAATTGTGGGATGAATGTCCTGTTTGGTGTAATATCAGATTGAAACTTGCTATCTCCAGTTTCACGGAATTTGCACAATTACTTTTGCGGTTTTTTGAACTCGACGTCTTTGTCCAAATATCAAATTTTCGTTATCTTGACCTGCTCAAGAACGTCCGCCGAATGAACTTTTTCAGAGACGAATACTTGTCGGATCCGTCATATACTGCAATTACCATAACGTGTCTCGAAGAATACGGTCGAGATACGTTTCCGATTACAAATGCCAACTTTGTGCTTCCACCTCCAGCGTCACCAACGACTCCAATCTTACTCCTTTCGTGTCTACGTCGTCCCTACAAATTGATTTGAATTGCATAGAAGCTCTATACGAAAGGACAACTGTCTGCAATTTTCACTGCACAATGGTAATCACTTTTCCTTTATTGTCGAACGAAGTGGAAGCTTTGAAACTGGAGATCATTGATACCAAATGGATTGACAAATCTGTGGTGTTTACCGATGGAAGCAAATCATAGAATGGCAGTATCGTCAAATAGTTTTTGATTATTCTGTCCATCTGACTTAGAGATAATCCGCATTGTTATTGATAAAAAGTCAACGGCGTCAAACTTTGAAGCGTGTGTTTGTAGATTTTTCTGATTCTCTTCTGAATTCAGGAATTTTGTGAATTTGGTTTCGAATAAATGGTCCGACCTCATAGGTTCGTGTTGAAGCAAGTGAAGAGCTTTGCGAAATCGATTTTTGATACAACTTCTAGTTCTTGCTTCTTAGATTCGATTAACTTTAAAAGCTGATTTTTTAAGGCTAATTTTCAACTGACTATCTTCGGCGTTACTCAGAACCATGGCTTTGCCACTTATCTTCACATCTGCACAGCTTCTCACCAATCGACCCTAAACCACTGACGATCGTTGGTATATTGTATACTTCCATCTGCACGAATGAATTAGATGCTCTTATAGTGAAATTTTCATGGCGGACTATTTGCATTTACTCTCTTCCGAAAACGCCGCAAACTCATCAATCCGCTTTTTGTAGATTATTTCTTATGATATTTCATTTTTTTCATTTTTCAGTCGTTCTATCGTTAGTCGGAGCATTTTGATCTGCGGAATTTGCTCAACATTGGAGATTTGCATATTCGAACCCTCGGTGGAACGAGTTTCGTACAGGTGTCGGTGGAAATACGGGATTGGAGAATCTCTCCAGCAATAATATTAGTTTTGAAATATTGAAAAAAATTACATTGTGAGAAGAAGTCGGAATTTCGTCATACGAAAATCCATTTCCACGTCTCTCGTCAGAATTCTAGCTTCGTATATTGAAACAATTCTGAGGACCGGCATGTAGTTGCGGAGCATACTGTAGAAGCAATGCACTCGGGATGGTTATTTGGGAGTTTCGATCCTCTGAACTGATTTCACCCTGATTAGCCTGTGGCGACGCTACACTCTGAAAATCACGTTTTCGGAGTTAGAACAAACTCCAACTTAATTAAAGTTGACAAATTCCAATTGAGCTGAACGAGCCTCCACCTTCGAATTGTTCTTCCTCTTCAGTTTGATCTTTTGAAACTCCATTAGTACTGTTCCTTGCGCTCTGGGCATTTGCTAAAAGAAGGCCTGCACAAGATTTTTCTTTTCTTTTTTGTTTGAAGTATATCCGCTTTTGTCATCTGGAAATATTGCATGAATATTTTAAGGGAAACAATTTTTAAATATCGATTTTCACGAAATTTGAAAAAATCAATATTTGGGCGCAGATACTGAGCTGAGTGTTTCGAATCTCGAATCAGCATGCTTTAATTTCCATATTTTAGGATCTTTTTAAAAAATCTGCCAACAGTTTTTGAAAAAAAAAATACTTTTCGTTCAGAATGTACTGATTTTCCAGTGATTTTCACGAAATTTGAAAAAATCAATATTTTAGGCGCATGATATTGAGATGAAAGTTTTGAGAATAAGCCAGCATGCCTTTAGATTTTAGGATCTGTTTTTAAAAAATCTGGACCAACAGTTTTCGAAAAAATTTAATTTTTGTTCAGAAATGTGAATATCTAACTATCGAAAAAAAAAATTGCAAAATCCGTCGGCTGAACATACAAAACTTATCAATTGGTGAATCATCAGCATATTTCAGTGTATAGATTAAAAACGGTTTCAAAAATTCTGAGACTAATTTTTGTTGAGAAAAATAATTAGTTTTCGTTCGAATTATCGATTTTTCACGAAATGCCAAAACATTAATCTTGGGGCCCATGCTAAAAGCCTGAGTCTTTCAATATAGCATGATTTTTTCGATATTCTAAGACGTTTGAAAAAAATCTGGACCAACAGTTCTTGAGGAAAGTAATCTATTTTTTATACAAAAATTATGTGCTGTGATTTTTTACTAAAAAAAAGAATCAAGTTGAGCCCATGCTATACGCCTAAATTAAAATTCAGAACCGCCATGGATGTATTTATACCATAGGCTCTTCGCAATAAAAAAAATCTGGACCAACAGTTTTTGAGATATGAAAAAAAACAACTCACTTTTTGACGTTTTAAGGTTTTTTCCCGGATGATGCTGTCGATTTTGGCGACTGGTGTCTTTCGCTGAAAATATTATTTTTATTTCAATTTTTAACGAAGAAAACAAGAAAAAACGACGAGAATCAAAAAACACGAAAAAGACGTCGAAAAACTCCCGCTACCTCATGAAAATAAAGCACTGCAGCCGCTGGACTTGTTTTCTCAACTTGCGGTATAGGCCATGTCCCGTTCAGAAGGCGTGCCGTGTCTTGTCGTGGCGGTGTGAAGTGTGTTGGTGTTAACGCAGCGTGTGAATACGGTAGGCTGCTGCAGATGTGGTGTGAGCTGTAAAAAATCGAAATAATTCAAGAAAAATTTACGACGATTTTCGTATTTTGAGAAGAAGAAAATTTTAGAAGGAATCACGAAAATTCGAGAGAAAAAATGATCAAATTCAGTCTCAGAAGCGAAAAGTGAACTGCTTTGTCTAGAAAACAGCGGTTGCTCGTGAGAAAAAATGTTTAAAATTGAAGAAGATCAACAAAAAAAAGACACGTAGACGTGTTTTTAAAGTTCCCGTCGTGGCCGCGTCGCCGCGCCGAGTGCGCACTTTTGTAGTAGACTCCGCCCCCTTTTTTCTTGGCGCCGTGCTTTTTAAGGGGAGCGTTTGTGGTTGAAATAATCGATTTTCGACGAGAAAATAGACTAAATCAAGACCTATGGTGAATCTGATTAAAGGCATATTAACTTTGTAAACACAATTAACTAGAAGAGGAATCGTTCTATAACCGAATATACTCAAAGGGTCGCTGACTTCCCCCGGTCTAGAGTCCCAGGTTCATCTTCGAGCTGTTTCCTGAGAAATTGTACAGGATTTGTCTGAGTCGTGAACTGAACACGCTTTTCAGGTAAACGTCGTCTGGCTGTCCTGGAAATCAAATGTTAGTCTTTGTATCGATGGCAAACATGTCTCAAGGGAGGAAATAGTCGTAAAGTCGGTCGATGCACCATGTTGTGGCACCACGGAGTGGCGGAAGACCAAACTTTAGCCTCAAGAGGAACGCAACGTAGACTATGTCAGAGGTACAGCATTCGTGGATCCAATTTGTATATGTATTTCTGGAAAGAACAGAACACAGTGTTAATAATGTTTATTACTCCAAAGGGGAGATAATCTACAGAGCATAGCGAGTGGGTGCCGTCGTACACAAAGAGGGAATTGTCTGGTGTGAGAATATCACATCTTGGCATGCGGCTTTAGTCTGAAAGGGTCGAGTTGATGTATGAATAGTCAGGGTCTTTTTGCAGACTCGTAGAATAATGTCGTCAACTACACTTTCCAAATAAAGGGAGGGAAAGGTAGGAAACGTCGGCATTTAGTCTGGCTGGGAGCTGTCAATAACGGGGGGGGGGGGGTGGGGGGAAGAGACCAGCAAAACCGAACCAAGAGTGGGGAGGAGTGTTCCTTTCGTGCCACCGACGCTGCAGCTCGCTCCGTATCGTCGATTGAGTCGCCGCGCAGCCAATCGTGGCTACTGGGCGCGAGTGTCACTCTCGTTAGAGAGCGGCGCAAGAGACGCAGAACTGAATACAGTAAACTTCTCCTAGCTGGTAAGCTTAAAGCTGGTCTTAAAAGGTCGAATTGAATGTACCCCTCGCTCGGAGAACTGCTGAAGCAGTCGAGAGCGAGACATTGTGATGGGCGATACAGTTTCAGAGTTCACAACAAACAAACTTACTGGCACTTACGTATAAAATATTGGGTTTCGTCGCGCCCCCTCCAAATGTTTTAAAACGATTTAAAACATAATTTATACTGTTTCACTACCAATGAAAGTTCATGGTTGATAACATAAATCCCCACATTTCAGAAAAATGGATAAGCAGACAAAATATTAATGAACTCATAATTTTCAATTAGCCAGCTATTGTTTCGGTGTATTACCAGAAAACAAATTTAAGTGATCTTACTCTCAACTCCAACCGAGTATCTAATTGATTAGACACATTTTTTACAATCTTAGCTGACAATTGTGCGATTTTTTAGATGAAGATTTTGTCAATAAGCACGCTGAAAATAAAAAAGCGAGGTAATTTCACGCTCGCGGAATTGTGAGCCAGTGGCTGCCTCCTTAGATTAATTTGTTACATAATTTTTCAGCCATACTTGGACCATAAATTTTGGCGACCATTACGGCATTATAATTTTGAACTGCAAACAAAACATGCAAATATATACGTTTGATAGGAATTCGCACTAAAGCTAAATTATTGAAATTCGTCAGCTTTTATTTTCATTTCTTATATTTTGACTAATTTTCAAATCGAATTATTGAAAATGAGAATTTTTAATTCATATTTCGTCAAAATTAGTGAACGCGTGAACGGAGACGGCGAAGGCGGGCCGGCGAGAGGCCGGCGTGGGAGAAGGCCGCCCGCGTTTAGCGCGCTCACTTAGCTGGAAACCCTAAGTTTCTCCAATTAAATGAACTTTCAGGTGATATACATTTTTCCTTTAGGATAAGAAAAGAACATTTCCTAAGCCTGACAATACAAAAACGTGGTTTTTAACACGTTTTTATTTTTCATAACTTAAAAAAATACTATGCATTAACGCTAAATGAGGGCATGGTAATACACAAATACCGGCAAACGGTGTTTCGCTAAATCAAATATTGAGACAGAAAAAACAAAAATATGATGAATTCTCTTTGTTCTTACCAAAATCCATCAAAATTTAGCAATTTTTTACAGTTATATTTGGTCATTACGATATGCCCATTTTCTATTAATATGAAAGAAACAATTGAAACTGATACACCTTGTCCGTCGACTATTGGGCATCGACAGATGGTCTTCTCAAAATCCAAAAAATTGGTGGAACTCTCTTGCACGAGGAGGACGCTCTGCAGGGGTCGTTCTCCTTTGCAAAGGATGGCATTCCATTCATTTGTCTATACAACCTCTCATCTTTCATGCAAACCGACATTCCCCACATACTCGAAATCCCAATTATGTAGGAAGTTCTTGTTTCTTAAACTAAAATTAGCCAACTATTTTCTAGAAATAATCTATGAAAGACCGAAATACCTTTTACCCTTGAATGACATCAAAAGTTGAAAACTGTTTTATCTGGTAAATATTCAGTCAATAATAACAGGGCAAAAATTTCCTATTTGTAAGACGGTTTGCCAGCAGCCCTACTGATGCAATGTAAGCTAGAGGTCCTACAAAAAATACCTGAATTTTGTGTCTGGAGCCTTTGCTAACTACAAATCGTAGGCAAAAGAACACATTTGTGTACAAAAAAGTATGCAAGCAAAAGAGACACCGTAGGCAGGCAAAAGATTCACGCCATAAAAGAGAGATAGCACCCGCGGTGCTAATCATTCTACTAGTGGCTTGAAGCCTCTGTTTGATAAAAGTAACATTTTAAGCATTGTTTAGGGTTCGATTTTTCTAACAAATAAAATTCATATCATTACTTATACAGTGCGTGCATGTTGTTCATTCCACGCCCAAAGTTTTTAATCATGGCAGTTTCTGAGAGTGAAATTTCAGGTGAGCAAAAAGTATTGAAAACCTATTCACAATGAAAAACCTAAACTCAAGAAATGTTGCGATTATATCTCGATGTGAAAAATAAGACAATCAAAAATTGGGCATGGCACTTCTATATGCCACCTCGGATTTTTTTATGATTTCTTATGATTTTAGACTATTAACTTTTTATTCAAACAAGTAATTCGAATTCGTATACATTCCTCAGTGCTAAATAACTATTCCTGTAACTTCTCCCAAAGACGATAGGATGATCAAAATATGGGGATATGTTCTAGGAGTTACTAATTAAACATAGTTGTGAATATTGGTTCACATTTGTGGATTTTTAGCGTCGCCGCTAAGAGGGTCATATTTGCCCCAGCCGTTTTTGGTGAAAACACTATTTCTCTTTTTTTTCGCGGTGCCATTCAAGTTGAGAAATTTCAGGCATCTCTCGAACCTGCACGGAAAGATGAATACTGCAGATAAACCTCTAGACTAGGAAAACAATTGGAAGTTTCTTAAAAGTTTGGAATTTTAATACTAGAATTTTCTGAAAAATTTCAGAAAAAAAGAGACTTTCAAGAAACTTCTGAAAACTTCGAGAAAGTTCTGGAATGTTCCAGCGCCGATTTTTCTAAAAAGTAACATATGCCGTTCCCGGTAGAACAATGTTTTGAGTATATGCCAGAATCTTACTAAAGTAAAATAGTTTGTTTTAAATAAGAGTCTGATACTCCAAAAATATTATGAAATTTCAAAAAAATTAAATTTAATAGGTTTGCAATTCGATTGAAGACCTGAAAAAATGTTAGAAATTTAGAAATTGTTCATTTTGAAAGTATTCGAAATACTGTTAGATTATTCATGAGACTGATAATGTTATCAGTTTTTTTTATTTGAAAGCTTTCTAAGAGTTTCATATGAACATCGAAATATTTTTACTTTAAAGAAACAATTGCTCCTGGAAAATTTTCACTGCGAAAACCTGGCTACAGACATCTTATGATGCTCATACACTTCCTGGACACTGAAAAAAAAAAACGTTTCATCTGCAAAGAAAAACTTAGAACATATTTCAATAATTTACTTTAGTGCAAATTCCTAGTATACATAGATGTATATTTACTTGTTTGCAGTTCAAAAAATTATAACCGTAATCAAGAATGGTCGCCTTGAGAGTTATGGTCCACGTTATGGCTGCAAAATAATGTAATAACTTGAAAATCTAGGCAGCCACTGGCTCTACTCGAGCGTAAAATTACTCACTTTTTTATTTTCAGGCGTGCTCTTATTGACAAAATCTTAAAAAAGATGTTCGCACAATTGTCAGCAAGATTGTAAAAAATGTGTCTTAATCAATTAAATACTGTGTTGGAGTTGAGAGTCACTTGGATTAAATTTGTTTCCTGCTAATACACCGATAAAGCTGGCTGATTTCGTTGAAAATTATGAGTTCATTAATAACTTTTTTTCTGCTTCTCCATTTGTCTGAAAATGTGGGTTTAAGTTATCAACCATGAAAAACTTATTCTTTCGTCAGTTGTAAAAAAAACGGTATAAATTATGTTTCACATCGTTTTTAAAACATTAGGAGGGGGAGCGACGAAACCCATAATATTATTAATACGTAAGTGCCAGTTAGACTGATGGCATTGATAACATTTATCAAAAAAAATTAATAAAAATTTGCCGCCAAATAAACAAAAACTTAGAGGTCGCCTTTTCAAACAAAAAAGAGAATCAGCCTGATACAGCGAACTGATATCCCTAATTATAGACAGGTATCAAAAATTGTGTTGAATTTTACTTTTATTCGCTCCGCTTTTTTCAGCTGATAAATAAATTGTTCAGCGAAGAAAGAGTTTTGCACAAAATTCGAAATGAGCAAAATACAAATTCACAGTTTCAAGACTTGTAATGTTAATTGAAGAACTCCAAAAATCAATATTCATTAACAATCAAGTAGATCCTGAACTTTCGCTAATTCGAACAGCCTCGTCGATGCACTTGCTCGTTTCTTATAAATGCACTGGAGATACAACAAGGTGAAACACTTATTCGTGTAAGTTGAAGTCAATTGTTAAAAACCTGGTTTTTTTTCTCGCCGCTTCCGGATCTGTTAACTACCAAAAAATTTAATTTTATTTTGATGTTGATCGAATTTTGACCGGTAAGGGAAATATTTCAACTTAACCCCGGACTTTCGAATGACGACTCTAAAAAAGAGCTAAGAGCCGCAGAGGATCAATTTGAGCTGGGGAAAAGTCGATCTGAGAAGTGTTTCAGACAAATTTTCATCAAAATAGGTGGTTCAGAACTTGCCTTTAAAAAGTGTTTTCTGAGTCTGTTGAAGTTTTTTATGCTTTTTGCTTGTTATCGTGGAAACAATATGAGAAGTGGTTATCAAGCAATTAAACCAATTTTTAATGTTTTGTACTCAGCTGTAACATTTTCAGATTTTCAGATCTTGTGTAAAAAAGTAAATGTGAAAGTCTACAAGCTTTTTGTCGAACCGATTAAGAAAAACGAAAATTCGTGCGGAGTGGATTCTGTCGAATTATACAATGATCACTTCGATTGCTTGCTTGGAGTAGATTGTAAGTCAATTTTTGACATGAGCGCCCGTTTTTATTCTGAGTAAAATATATGGCTTTTGAACTACTGATTTGACATTCGTGATTTATGGACTCGTTGAAACAATCATTTTTGCTGTGGTTGTTAAATATGTCGAGACATTCATGGAAATAAAAGCTGTATAGTTCATAGTATTCAACTTCAATAGGTGGAAATTCGAATATACCGCAGCAGTTTTTGAATTTGATGTTGGAAAACTTTGGAGTTGATGAGACATGATCGGTGACAGATTAAAAGAACTACTCATGCGCATATCTTCGATTGAGCAATTTCGGAATTGAAGAGTTGCGAATATCGGGGTCCAGAAGAGCGAGTATTTGGAGAATTAAAAATAACTAGAAATCATAAATCAGATCAGGGTATCTCCACATCATTACAAAGCGCTGGAAATGAAAGACTGGTGAGTCTAAATTGATGCATTTGTAATGAACACCGTTGAAGAGATATTTGAATCTCTCCTTTAGTTTTTCTATTATAACAGTACACGTATTGTAACATGTTCTCAAAAGAGTGAATTCTCGTGTTTTTCATACTTAGATAGTCTCTCCATTCCTTCACTTAAAGTTATCCCACAAACAGCCCACTGCGATCAATGTCATGGAAACTTTATTCTCGTTTTTTTCGTTGTTCTCGCTGAGAGGAAAAAAGCGAATAATTGGATAGGTTGAATAACGGAAAATTTCTTCAATTTTCCGAAAAACCAAAAATCGTTTAGAATATTAAAAAAATCAAATTTGATGAAAAACTCAGACACTCTTGACATGATATGCTCAGGAACGTTATAAAGATCTTTTTACAGGTTATCGGACCGACATATACGAATGAAGCAACTAGGGCGGTACGTAGTAGGTGCTCGAGGAAATTATTTCCTCAATTCATTGGTAACATGCACCCACTTTCACCGTTTTAATACTGGGAAAAGAGTTCCTTACAATCCCAAGACAGACTTGTGAATACCAGCTTATTTCAAAGTGGAATAAGGATTTCAGACTGGAGTTCCGGTTCGAAGCTTACAGTGGTCATTTTAAATGTTTAGTTCAAATATGGTCTATTTCATTTTGGTAACGTCAAACGACTTTTCGCGAGAAATGCCGTATTCAATGTACCCTTCAACACCCAACCCGTTTCGAGGGTTCTTGGAAAAAGTGGAGATCGATTTACAATTCTGAGGATATCCCGTTACTCGAAATGAACGAACAAATGAAAACGACTATTATACACAACCAATGGACATGTGTTTGCAAATGTTCAAAGAAACTGCCCAGCCATGAGTATGACTGTTCTTCCTAAAACGTATCTTCACATTACACGCCCGGAAAATATGGACAGAGTCAAAGCTAATCCGATTGACTGAACAAAACAGCCAGAGAAATGGAAGTGTCACATTCAACTACTATCAGCATGACAAAGGAGAAAAACATATTCCTCTCTAGAGGATATCCCAGACATTTTCAGTTCAAGAGCACGTCCTGTAGGTGAAAAACCACTAGGTTGTTGGTATCTCGATCGATATTTAACAAAGAAAATTTCAAGGATGGATTTGAGAAGTGACTGTCTGGTATGGAAAAAGCTTTCAAAAAATAAGAAATTCCGAAAATCGAAGAATGACTTTTGATATATTCTATACCATATATCTGAAAAAGTTCCAATGAGAGACATAGTACATGGGTGAAAACTGGATTTTTATTGCATTTCATGGATCTTATTGATTGATTTTATGAAGTGTATTTCTGTTATTACGAATAAAGCAAACAAATACACTGCCTCCGTCCAAACCATATAGCCTACGTCAGACAAGAGTTGGGCGCTGCCTAAAAAATGAAAAAAGGCGATCGTCAACTACCTCGTCGTCTCGAGGCGTCGCCGTCTTACCTGCTGAGCCATGTTGGTCGCGCGTAAAGAAGCACACTAGTAATAACATATCCTACTCATATTCTGATAGTTTTTTTTGATTAGGGGAAGTGTCAGATGTATCTGATTGATACGGTATTCTCACAGACCTTATTTCATGCGTTTTCAAGTGTGCTCACTAAGGATTCTAATAGTAAGTTCAGAAATCACAGAATTACTGGTAATTGGCAAGTTTGTTTCATGTCTTTCAATAACAGACAATTTTAAAATTTTGCATTTCAAAGGTACAGTTCAGTCTTAGATTTAAAATTTGATCCATGGGATTGACTGACTATTGTTTGCATACCAGCCGTTCGCAAGTATATGCGAGTGCTCCTACGGACGCGAACTCGAAATGAAGGTGAAATCTAAAATTTCTAAGCCTCGGAACGTTTTTCTCAGTCTTCCAGAAGTTTTTAAAGCAAATATTATATAACTAAGTTCTCAAAACTCGGTTACAAATGTTTTCGGCCGAAAGTAGACTATTTTGCAATATTTTGTTTTCGCAGAAAAATGGTACCCATCAGAGAGTGCGGAATGTGCCGAACGGCATGTGCCGATGTGCCGAAACAATTATTCCAGCACATCGGCATGTGCAGACCTCTCTTTGGTCGGCACATTTCGGCAGTCATTTCGATTCGGCACTGTCTGGAATGTACCAACCGTAAATTGATTTTTTAAAGAATTTTAAAAATGCAAAGAAACTTCAAAAAATTGATTAAAATTAATTTATCATTTCAACTTATAGTTTACTAACTTCACTATTAAGAAAACGCAGCATTTTGGGGTTATCCAACTGAATGTTCCCGCTTTTTCCTCCTGTGTCCCCCCTCTAGTCGCGATCCCACTGGGAGGAAAAATGCTTTTTCCTCTCAGACGGTTTTCGCATTTTTTAGCTGCGAAACTTCAGAACTGGGCTTAGGGCGGCGCATATATAGACTTTTTTTGATTTTTGGTACCAGACAAAGTTAAGGCCATTTTTATACTTATTTTACCAATTGGACCTGTGTTATATATGAGGTATGATATATCTTTGTGGTAAGCCAGATTCATGGTGAGTGATTAACGGCCTACAGAGTTGTAGCAAATCTCCTTCTGTTTAAAATTTTGTTAGTTGATCAATTCTTGGTATCATAGATTTTCACAGACTAACATAGCTGCGAAACTGGACAATTTCTTTATGGAAATTGCGTACACGAGACTTCTCTATTTTCCGCGTGGAGTATTAATACAAAAAATTGATCAACTAACGAAATTTAAAACAGCGAAACCTTGCTACAACTCTGTAACTAGTTGATCACTTACCATGACTGTGTCACCACATAGATATCATAGCTCAAAGTTTCCAATTCATTTTAAAAAAAACTATAAAAATTTAGAACTATTTTACTGGTCAAGCTGCCGCATTAAAAATTATGTTATTACAGCTTGGTATGTCAACAAATGTCTAACTGTGAAAATTAAAAGTAAGTTTGATTTCTTTAAAATATTTTTTGATAATTTTTTCATGTCCTGTGCAGATTTCAAATTTTGAAACAATACTTTTAATTCTCATATACGTTGAAAAATTTTTTATGACAAAGTGATCAATTAATAGCAAAGTTGTACTTTTCTTTGGATTAAGAAAAAAAAACTTTGTACTTGATCATTTTGCACATAAATTTATTCCACGGAGATATACGCATCCGAAGTGAATGAGTTTTCACTATCAATTATACTACGCGAAACCCTATGTTTTGGTCTGAAATCGCCATTGTTCAAGAATCCAAACTGAAAGAAACAACAAACATTGCAAGTAATTTTTTGTTATTTATTTAAATTGATGAACTTTTTGTTTTTTTTAAGAAGCTATATAGTATCTTTGCAAATGTGCCGAATGTACCGATTTTTTTTGGTTCGGCATGTACCGCGTGCCGAGAATAAATTGATTCGGAACAACCGCATGTGCCGATGTTATTAGCCGACATTTAAACAAGTGCCGAGCACATCTCTGTTGTACCCATCGTCTCGTCCAGATTTTTGTTAAATTCGAGTATGTGTGCGTCCAACCTTTTAAGAGTACTGTAATTTGAAACTTTCGTTCCTAATTTTCTTTGAACCTTTTCATTTTTTCCACTGGTTTTTATCCAATATTCATAGAAACCTTAAAAAGATAAAATTTTTCTAAAAATCGAAAGTTGAAGTTCCAGTACTCCTTAAAGGCACGTTACGGAATATCCACAACAAAACTTTGTCGTGGCGAGACCTGAGTATTATTACAGAGGAACGCAATAATTCGGAGAATGCGTTTAACACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTCATTTTTTAAATGACTACTGGAGCACTGGTGTCGATTTACGGGCTAGATTTTTATTCATTTCTAAAAATTGAAGTCGGCACCCGGTAAATCGACACGACTGTAGTTATTTGAACAGGATTACTGGTTATCGGTACGAGATAATTTGCGCGTCAGATATTTTGTGCAATACGCAACCCTTATAAAGGACAAGTTCTGCTGGCCAGTGAATTGTCCCAAATTGAAATCCTTCTATTTTGAAAATTACTCAAAAGATCAAAGTGTCGATTTCGCCATTGCGCATGAGTAATTTCTGAATCTTGTTCGTTCTTTTGCACTTGGGTAAGAAGTTGCGCAGCCTTTGTTTTAGAGGGAAGTCAAACAATAGGACGTTAATTTCGCATTTGTGGCAACATAGTTGAAACTACGGTACTGTGTATGGGTACACCGTTTAAATTTTAAACAAAAATTTGTCTTGTTGAGACCGCAGAACATAGCTATTCTCAGTGTGTATTTGTCTAATAACCTGCCAATATTTGTAAATCTTTCAAAACTTCAATATTTGGCTCCAAAAATTATATTTTTAGCAAATGATCTACAAAAAGAATCCAATTTGACTGAAACTGTTAATATTTAAAAATCAAATGTATAATTTTTTTGCTCCAAAAACTGATTTTTCAAATAATCACAATTTCAATTCATTTAATTTCGATAAACACAAAAAAAAAGTATAGCATTTAAGAATTTCCTTGTTTAAGCTTCAACCGCGTAAGGGAAGGCCTCGTTGGCAATCGTCCTGCGTGTAACTTCGGCGGCGCTGAAAATTTTGAGGTTTTGCTTACATGGTATGTATTACTGATCCCTCAACTCCGCCATGCTCCGAGACGAAGTGGTATCTCTCCAGCATGGTGAACTCTGACGTGAGTCCAGTGAACCAGCCGTGTTGCAGTATACGACATCCCTCAGATACCGCAGTAATACGGATAGGGAAGGGTATGCAGATTTGGTAGACGTGGCGAGCCCTGTTGGATGTTGAGACTGACTTTTTGAAATGACTGGAAAAATAATTACAAGTCAACTTGCTGTCCGAAATTCATCATTACAAGCATTTGAATTGTTGAGCATGAGGAGATTCCGATTGCCATTCCGATGGGGTTGAGGCTCTTCCATTTCCTGAAAATTGTAATTTTAGACTTTTTAGATATCACAAAATCTGTTTAGGAAAAATACTAAGTTACAGTAAGAAAATTTTGCTCTGAATTGCTCATACAGGTTTTTAAGCTTGCACCCTGATTTGTTTAAATTCTTCAATCTTTGGATTCCTCGTGTACAAAAAATTCAATTCAGTCTCCTGGGCGTCGAATTGCGATGGAGCGCGTTTGCCGTGCGTTGGCGCAGCCGGTGGTTCAGTTGTAAGATGGGTGCAAACACGCTCCACAGAGTTTTCGATCCCCAGGAGACTGTGTCCAAGTAAACTGAGTGGTCGCTTTTTTGTTCAAAAAATGTGCCCCGCCCATTGGAAAAGCATGACCTTGTAATCGAAAATCCTTCAAATACGAATTCATTTACGAAACTGAAAAAGAATTAATTAACACTTTGTCCATTCGGTAAGATTCTTTCAGGTGTGACATCGTTTTCTCTTGTTACGAGCAATTTGGCTCAGGCACCGCCATCTGACCGGCCTAAGATAAGAATGTTTAAAAAAAGACGTGCATTGAGGAAGTTTAATATTCAAAACAGAAGAGACACATTCCAGATGAAAACAACTTACATTCTGAACGTTTCCTACGTCCGCCGATTCCTCTACGCCGTATCGATCGATTGAAAAATCGATCAGCTGACCGTTGAGCAGTACCTGGAGCGAGATGGTGATCGGAGCCACCGGTGGTGCAGTCTCAACGTCTGAAGAACCAGATCCGAAGGCATAGCTGTTCGATGGTGTTGGGTCGAATTTCTGAAAAAAGAATTGACCAATTTTTCATTTTTAATAGACTTCTAGGAAAAGGCCTAAAAAGGACAAAACGAGCCCCAACAATTTGAACAAAAGGGGTGAAATTTTATATTTTGTTAATTTTTCTGTATCACAATTTTGATTTTCAATCTATTGATATTTTGAATTCAATTTTTTCGGGAAAATATTGCAAAATTTAGCCATATTTCCTCAAAATAAACCAAAATTTGATTTTAAAAGTTTCCCTGGAGAATGAATTGTGAACTTTGGAACACCAAAATTAGCTCTAAAATTTCGAAAAAAACTGGGGAATTTCAACTTTCCGTATCTTTTAAGTTTGTCGGAATTTTTAAAAAATTTTATTACAGAAAACCACCAATAATTATAATCTTTTTTTTTTTAACCCGGGGTAATTTTTTTCGAGAAAATATCTTAACATTTAGTAATTTTTCCTCTTTTTAGGAGCTATTTGTTTTTTACTTTGATTGTTCCGTCAAAAACAATTTTAATTGTAAAGGCTTTTTTTTATGATTTTTCCAGAAAAACCGGTAAATGACACTATTACGGGAACAAAAAATTTGGAAAAAGGCACGTACTGAACATATCTGACGCAAAAATATCTTGTAGCGAAAACTACAATAATCCTTATCAAAAGGGTACTGTAGTGTCAAATTACGGGGCTCGATGTTCAGAAATTATTTTTTTGATCGAGCCCCGTAAATCGACACTACCAGTAGCCATTTGAAAAGTATTACTGACAATAGTTTTCGCTACGAGACCCTATTTTGCGCGTCGAAAAGTATGTTGTACAGTACGCAATTTCAGAATTTCGTGTTCCTGTAATAATAAAGATCTCCTGGCCACGACAAAGCGAAAAATTTTTATCGATTTTTCAGCAATTTTTCTCTTGTTTTCATAAAAATTGGGCAAAAACCGGAGGAAAAAAGTGACCAATTAATAAAAATCCCATGGCAACGAAAGGTGTTTGAAGCTACAGTACTCTTTAAAGAAGTGCACCTTCTTGGATTAACAAAATTTTGTCGTGGCGAGACGCTGGCATTTTTCCGGCGGAAAAGTCGCAAAATTAGCGATTTTGGGAATTTTTCGCGAGACAGCTGCAAACTCGACATGCGAGTTTATCCGTGCAGATGGCCAAAAGCCCTCCGTCGATCATATGACGAAGATTCCCTGGTGTTGCGAGCCCGACATTATGCTTCTGAACTATGAGATTGCCCGACTGTGGCACAAGACATTGCCCCACGAAGAGCATCGTGGATTTGGTGAGCTTCTCGAAGTCGCACGGCTTTACGAATCTGATCTTCGGAATTGAGTGGAGAGATGGTCCCGCCTCCAAGGACCTTACTCCCGATGCGCGGATAGATTGCGAAATCGATGAGCTGCCCGTTGAGCAGCACATCTTCGAGCGAAATGAAAATCGGAGCCACTGGTGGTGGGGTCTCATCGTAACGGATGAAATCCCGATGTTGAATCGGATAAAGCTGTCCGAGTCGGAGGAGGGGGTGTTGCTTCGTGGCGGTAGGGGAGAAGTAGCTTGACCGGCGGCTTTGGATTCTGGAAAATTTTAAAAAACTTGTTTATTATATTTTTATTTAAATCAGAATTTTTTATGCATTTATATTTTACCTTGTTCTTGTGAGTTTTTTTCGACAAAAGCGAGAAATCTGGGTCTAAATCGAACGACGCGCCCAGCATGTAGTACGAATCCGTTTTTACGATTCGGAGTCATTTAGACAGAAAAATGCATGAATATAGGTTAGCAGACGCTGAAAAATTGCGAATTTGGATTTTTTAACGGAAAAACGAGTGAAAATGGGACAAAAACATGTAAATTTTTTCAACGAAAATCGCGAAATTACCGCGTATCGATTCAAAATTGAATTTTTCGCTGTGGCCCGGGTTACGGTGATTTTTAAAGGCCCATGGTTGTTTTGAGACTGGTGAGGTATTGACGCGTAATTTAGATCTAAATTATTGAATATTTTTTTCTTTTTACATTGAAGAAAAAAATGATTAAAATTCGATCATTTTTTTGGGAAACTTAAGCACAATTTTCACAAAAATGAAATCACTCGCCAAAATTCAAAAATGAAGAGTTTCGTGGTGCGCCGGGTTACGGTGGATCTTAAGCATGGCTGTTTTGTATTAGGTCTCACCACGAAACTTGGAGTTTTTGATAGTTTACTTCCTATTATTTACTGTTTTAATTTTCGCTCGATTTTCACACATTTTCACTCATATTCACTCAATTTTTTGCATAAAAAATGATTCAATGGACATTGTTATGACGTATATGAGCAGCCGTTAATCTCTGCGCCTGTAAGCTTTTAGTAAGCTCCAATTTTTCTTATTCTGGCCTCAAATTATTTTTTTGATTTCCAGCTCAACGTTCACATTTTTCGCAAGCATCGCAGAGGAATGCAAACTTCTAGCTTCGGGCTCCAACGCTCGAGAATCCAGCAGGCCGCGGGGCTATCGGAGAAGATCACGGCAAGACATACCGCCAATTTCAGTAGGTAGTGTTCTTTTTTTACCCAACTACTTTTTTTCTATTTTCCAGCGTCTCCCACATTTCATCGATGGTCTTCAACAGAGAAATGGATGGCATCGTGAGAAATCGGCTCGACTCGGACATGTGATTTTGCTCGATGACACCAGGCGCCGCAATCCACAGTTGAAATCGATCGCGCTCCGCTATCTCCGCTACGATCACAGCGATCATAGAGCGTTGGCAAGGAAATCGCATCATCTCCTCCGACTTATATCAAAGAGGAAATTATGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGTGTGTTTCCGTTGGAGAAGCCGACTTGCCCACGCCAAAAATTGAACTGAACGTGGACCATCCGGAAAAGGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTCAATACCACGAGATTGGTCTCGGACGTTTGATGAAGGTCAGGGATCGGCTCGAGCTCACCGGAGATCACACGCTTCGCGATCAGAGAAAACGCGTTCTCGTGCCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAATCTAGAAAGCCGTCGTTCAAGGATATGGCGAAAAATAAATGGCCGTCGTCGATGGTCTGCATTCTGACACGCTTTATATCGACTCGAACACCTGGCGACAAGTTTGTGGATCCGTCGATGTGAGCAAGGGTGCCGGCTAAAAGTTTTTCAGTGTTTTTTGAGCGAAAAGGAACAATTTTTTTCCCGCTTGAAAATTATTGATTTTCCGTTCTTCAGTAAAAATCCTGACTTTTGACGCCGCAAAATCGTGAAAAAACAAAAACTGAAAATTAAGGCACCGGATTTTCGGCCGTTGATAAAAAAACCGAATTTTTAGGTTTTTTCTTTTCAGAAATATATTATTTTTTGCTTGTTTCAACAAAAAAAACCCAAATTTACAGCACAATCCGAAGTTGGGCCAAAAAGTGACTACATCGGTCCGATGCACGTGCAGATGTCGGTGACGAGGATATGCGGGCGATCTCACTTGTCGGCTCGGTGCCATACGTCTACATTCATCAAGGCGTCTGCGAGCACCTCATCGTCTTCATTACTTGTGCCTGAGGTACGGAAATTCTGGAAAAATCGAAAATCGTTTTGATTTAAAAAAACGCAGATCTTTATGTGTTCTTTTTACTAAAGATTTACAAATTGTTTATGATAAAACCACTATAAAATAAGTTTTAATGATTTAATCACAATTTATATTTTCCGATTATCAATATTTTTTTTTTTCAAATAAAATACCCCGAAAAATATATATTTTCTATTTTTTCTATTTTTTGAGTACAGAGATGTATCCCCAAACGTTTCCACGCCGCATCGTCGAACGGAATTCAGAAGAATTGTGTGACACGTGCAAGGAGGCATCGGCGCAGTGGGTAGTAGCATTTAGAAATTCGGACTTTTTTGTGAAACCCCCGAATAATCTAGTTTCCGCATTATCGGAGTTCGAATTTTCGCACAAAAAATCCAAAGAGAATCTATTAAGGCAAAAATCTCAATTGATTCCAATTTATTCAGCTGGATGATAACACGACAATCTGCTTCACAACTCGCCAGGCTATCTGTTCGGCTCTTCGTGCTAAAAGGAGTTCTGTTTCGACGTGAACGGCAAAAAAGTACTGTGTCAATTTAAGGCCGTACCGTATTGCGAAAGGACATTGGCGACGGACGTTGCCAGTTCTTAGCTCGATCTTTAGAGAACGAATTTAAAAATCTGTCATTTTTTGTTGGTTTTTTTTAAATGTTTTTCCATTTGATTGTTTAATTACGATTTTTGGCCTGTAATTTGTTGAAATTTCAAATTTCTTCATTTTTTTAAATAAAATTTTTGTTTGCTAAAAAACTTATCAATAAACGGAATTCGAAGATGAGGCAAGTAGGGGGAAACGGATGAAGCGGGAAAATGATTATTTACAGAATAGAGCGCGCGCCAGAGGTTTCTCGGGGGAGCCCCGACGCGGGTTGCCGAGCTTGGCTCATCTGTCGGAAAATTAGGTTAAATGGGAGAGAGGTAACCTAGAAAATGAGAGAAATTCGGAAGAAGCTATTTTGATCAAATTGAATCCCAAATCGAAATGTTGAATTTGAAAAATAAATTTATTTTATTGATTTTTTGCAAAATCGATTCTATGATTATTGATTAAAAATCCCACTAGAATCAATAAATCTGGAAAAATCAAAAAAATCGATTTTTTATAATCATGAAATTCAATTTTTAAAGAATCCAAAAAAGTCGATATTTAAGAAATTGATAAAAAATCGATAAATCAATGGAGAGCTCGTCTCGTCGATTTGTGTCTTTGTGATTCCGGCTGCTTTTGAGTCTAGGTAACGTTGTTCCGTAAGTCTGGAAATTTTTTTGGGACGCAATGAGCACGCACAAAATGGACGGTGGCAGAAATTTAATAATTTTAAAAAATTTTCTGGATAAAAAAATCGATTTTTGCACTTCGCTTTTCTAGTGAAGAAAATTTAAAAAAAATAGCATTCAAAAGCTTGTTCAGGGTCTCGTCACGAAAAACTCACAAATGTTATCACGTTATGCGGAGCGTCGTCGAATTCCGGTGTGTTGCTATGGATCGTGTCGTTCCATGCTCAGCTTCATCGACTGACGTCGCCGTTTTCGCTAGTGGTGATCTGAGCGAGATTTATTGATTATGTCTTTAAAGACGCATGGCCTAGATAACACAACACTTCGCCCACGAACTTGATTGGTGGCCGAGTCTTCTAGGCCATGCTGCGGCTTTTAAAGGCACATAACATGATAATGACAAGATCGCCAACGGCCTAAAATGATGACCAATGCTAGACGGTTGAGGCATTACAATCAGCTGATCAGCGATGATAGGCCAGGAATATGACGAACTTTGCGTCGAAATAGAATCGATGTACTCTTGTCACGTCATTCCTGGAAATTATTGATTTTTTAGGAAAAAATCAATAATACAGTCAACAGTAACCCTCAACGAATCAATCTTGTAATCCGGTGAAATCATAGAGTAATTGCGTGAAAATGCGGCTTCGAACCTGAAATGATAAAAACATTCATCAATTATCGATTTTCTTGAAAGTTTTTATTTTGAAAGTTTTTACGCCGAAAATCGCGATTGATACATTAACTTGATAGATTTCCCCCCGTCGGAAAACCTATGAATCAATGAAAAAGTTAATATCTACATTTTTTCGAAGAATTGAACTAAAGTCGATTATCCAGCAGAATATCGATTTTACTAATCATTTGAAAAATTATCATTTAGACGATTCCTACGGAAGCCCAGAACAAATCAAAAATCGATAAAATTGACTATCGATATTATTCTAATTTTACTTTTTTCGATAAAAGTCGATATCGTTGATAATCGATTTTTTAGAGTTCTCCTCAAAAAATGGTAATAAAATATTTCTACGAACTCACACATTAACAGCCATTTGAGCATCACCAGGTGATTTTTTGCAGGTTCTTCGGCTCCGACAACCACTGATCCTTTCAGTGACTTGATTTCAACATTCACTCGTCTCCTGAAATGGAATTGATGAATTCTCTGATCTGGAAAAAAATACAATAATTGTTTAAAATTGATTTTTTTCAGATCATTTTTAAAATAACTAGTCTAAATCTATATTGAAGTCTAACTCAGCAAAATTACCACAGGCAAAGGATACGATTAGGCTTAGGCTAAGGCTTAGGCTTAACAGGCTTAAGCTTAGGCACACGCGAGATGAAAACAAAAGAGTTAGTGAAAACAAGAAAACTTTTATAAAAAAGAAAAAAAAAAAAAAAAAAGTGCAACACGTCGCCAAGCAATTCTAAATAGAACAGGTTCAAATACTATCTGTGACTCAAAAATCAGTTTAATATCGAATTTTTCCCACATGTCAATAATCCATTATCCATTCACCTTTGACTCGCTGGCACGCACCAAATCTATTTCTCGGTACCAGGGCCACTCTGAATATCGTTGAACTCCTCTACAAATTTCCAGTTAAATAATAGTAAAACTATTGGTGTTCGAATGGATTTAGCCCGAAGGAATACTTTCGATGTTTTGAAGTGCCACCGGCACAGTTGAAATATCTTCAAAAGTCGTGGATTCCTCTGATGAGGTGGAGGTGTTCGGAGGAGGTAGTGACGTCAGTGGAGAGGGTTTGGCTCGGGTTTCGGCCATGGTGGTGTCCATTGTGGTTTCCATAGTTTTTGTAGTTTCCTTGAAGTTCATTCTGAGGATGAAATATTTGTGCGAAGTTTTGCATTTGTTTTTTCCTGCAATATCTGAAGACTTCCGAACCAGCAAAACTCACTAGGTAGTGTTTTAACTATACGGTGCGTACAATCAAGTAAAAGTGTCATGCGAAAGCTGGCAAGGCTTTAAGAATCTGTAATTTGTTCCGGCGGAAGACCTCTGTTGAGTCTGGAAATTTTCATCTGAAAGTACTGAAATCTGCATTTCCTATGGATAACAGTTTTGTGTCTCTGGCGCCTACAGAAGTCGCACCACAATGGTGGAAGGGCGAAAACATCGCTTCGAAGCTGTTAACCATAGGAAATGCAGATTTCAGTACGTGAATTTTCGTCTCAGCGGGGATGAAAATTTACAGTCTCTGACAGAGGTCTCCCGGCGGAACAAATTACAGATTCTGGAAGCCTAAGATGCCAGCCTTGCTATCGCATGAACGATTTACTTTTACACGAGCACCGTAGAGTTAACACTCCCTAGTCAGATATGTGCTCTACACTTTTAAATTTTGAAATCAATTTCAACTTGAATATAAAATTAAGAGATTTTTGAATTTACTAGGCCACCTCGAAAATTTCCAGGCCACGGCAGGTTGGTAAGGTGAAGCTGCAGACCCCATAAACCTGTGATAAGTGAACGCTTGCAAATTTTTTAAAATCAAACATTTGTGAAGAATCTGAATATTATCAGAACAAAAAATAATTTCGACAAATAGTAATAAATTTTTTTATCAATATAATTTTTAACTAGTTCCCAAAAAACTCAAAAAAAAACTCACCGAGACAGTCGTAGTGCTCTCATCTGCCTCGTAGTTTTCCGGGTATTCGACAAAATATTTGACTCTTCCTCAGACATTTTCAGAATTGGGAATGGGGGGCTCTGACCTGTGCTCAATTAGCTTTCAATAACACTTCCATCCTGCTCAAAAAGTCCTTCCAGTGCACTTTGATCAAATGGGGTTTCTACCTACAGCTTCTGATGGGTCGCTTACTGGTTGGATGGTATGGGTTTTGGTCACCTCTGTCTAAAAATTGGCAATTTGGAAGAGAAAAACCGCCTCGGCCATTGGTGACGTCATACTTTTGCCACTTCTTCGACCAGCTATAACCCGCTTTTAGGAAGTTTTATTTTTGGTAAACCAAAGAGACCAATTTTAAAACTGTGTCTCCACGTTTACCGCCAACTTAAGGGCGTGTCCGTACAGGGTTTGACCGTTTTATCGGGCGTCTTAATAAATCATTTTCAAGTTTTCAGTTTCGTGGAAAATTAACATCGGAAATTGAGTCATCAGGTATGACGTCCGCTGCCGCGCGGCTTCCCATCACGTCACTCCATGCGCTCCCCCGACGTCCCTCTAAGACGTCACCACCTCTCACCTGGGTGTGTCATCTCCTTCTCAAAACTCGTCTATCAGTGACCTCGTCCACCCAGTCAATCGGAAGGGAGCTGAACGTAATCACCCCGCCCACAAGGGAGTGGTTGGCATCATTTCAGTTATTTTCAGCGCCGAGAGTTTTCTCAGTGGTCATCCTGATCCTCCATACTATCATCTTCGATTCTTGTGTGTGTTAAAGTTCTGAACATACCGCCGTCAAACGGAGTTATTGGCTCTAGGAGAAGACCGGACGTTTTCTGGTTGGGTTCACTCCTAGGGAGGTGTGGTTCGGCGAGAGATTTTTCGATCATTTCTGTACTTGTCTCGAGGTCTATCCGATATGAAAGTTATGACACATATTTTTGGTGGCCTGGGACTAGGCCTCCTGTCAGCCTAGAAATCTCAAACCTCGGCCTCCAGCCCTCACTAGCTGACCTAGATTTGGTAAATTACTAAACATCGGCAAGACCTCTTTTCGACTACTCCCTTACAAATTTAACAGTTTTTCATCACACAATTTTCCGATGCTTAACACTCATCATTTCTTCATTCGGAACAGCCAACCATATCATCATTATCAGGCATTACGGTGTCGTTGTGTCTTTTGCCAGCTGTTTGTCGAACACTTCTTCTGAATTTTCGTGTTGCGCGAAGGAAAAAAAGTTAAATTACATTTTGTCTAGGCCACCAGTTTTTGCATTTAACTTTGGCCTAGAAAATGAAATGAGAAGCTAGACCATGTGGGTTTATTGCGAGGAACGCGCAAGCTTACATATCCCACGAAAACTTTTATAAGCGTCTAGTAAAGTAGAAACCTCGGACCAAGTTTTGCACTGTGACCTAAACAATTTTGGTAAAATAGCAGCAAAATTTCCATGATGGCCTCAGGAAAACTAGGCCAATAAGGTTTCTTCCGGTACCTATCCGTTTTGTAAACCTAGGTCACCAGTTACTAGGACAAGAAAAAGCTAAAAACCAACATTTCAGATTGGTCTGCAAAAGGGCAAAATATAAGCCACTAGGAATGTTTGCATGGTGGTAAAATATCGTTGGACGTGAACCAGAAGTTTATCGGTCATCAACTTACGTGTCGTTGAAAATGCAATGAATAGATAAAACAAATGGTAACACTGTGCATCGCTGAAATATTGCAAAAATTAATTTATATTTTGGAATATCAGAATCGGAGAGTTCATTTTTTTGGGTCAAGATAAAAAGAGTGAAATGGAGAAAATTTATATGATATATCAGGTCAAAATGACCTTCGGAAATTGGGAAGGAGAATAATCCAAATTAATTCGCGTGGAACTGGTTAAGATGATCGAAGATTGGAGCGAAAATTTTGACAGAAATTGCAACAATACTAATGCAAAAAGTTGTATAATTCTTTCAGTTTTCAGAAAATCGATAGCAAAAGTCTTTTTTTTTAAATAATTCAACTGAAATATTTTCGCTGCGAGACCTAAGGTTACAAATTGGATTAAAAATTTTATGTGCCCATTAAGAGTTTTTCTGGAAACTGAAGAAGTCGAAAAATCTATAATACCCTACTTAAATTTAAAGGCGCACGAATAATTGAATTTCCAGAAAAATAAAAAAAAACACACAAAATTTGATACTCCAAGTTTAGAGATGCATGGGTAATCAATGTGAATGAGAATTTTGTTAAATTTTTGAACTGCAATTTCAGATATTATGAGAAAGCACAAAATTCGAATAATGCGTATTGCGCAACATATTTTGCGCTCAAAACGGCTATCTCGTAGCGAAAACTACACGTATTTCTTTAAATAACTACTGTAACGCTCTGTGTAGATTTACGCGCATCAAAAAGTATTAAGATCATACATTGACCGACAAAATGTTAAAATTAGGCAAAAAATAAACGAATAATGAATTTCGTAAATCGAGCACGTAAATCGACACAAGCGCAGTGGTCATCAAGAAAAATCACTGTACTACGCGTTACGAGATATGTTGACGCGCATAATATGCTGCGACGCATTCTCAGAATTTTGTGCGCCCGTAATAGACCATTTGTAAAATGCTTAAAAACTTCAGATTTTATTGAAAAAAATTTCTATTTGAGCAAAATTTTTCGAAAAACAAATCTCGGAAATATATTTTTCCATCGAAAAAGTCTCGTAAGGTGTGCTTGACATAATCTTGGTAATGGCATATTTTGTAAACAAGGTTACAACAACCCCTTCCTTCAGCCCACCCGCCCGGGAAGCCTGGGCATGGCGCAAGTGCTGATGTTTTGTCTGTTGTTGCTTATGTATATGCTTATTATTTACACATTTGTGTGTGTGTGAGTGACTACACTGCACACCTCTTGAAACGGATTATCCGGACGTGGTCGAGCAACGGAGGGACGCCGAATTATGCACAATGCTATGTATTGTGATATGAATACTTCATTTCAATAACTTTATATATGTTAGCACACGATTTTTGAAAATTGGGGTTGTGGAAGAGATTTTCACACTGGCCTAAAGTTTTTGAGTTTACTTTAATACTTCTAAATCACGTGGTGTCGGGCGGTCTGCTGCAATACTATTTGATCTACAAAAAATGCGGGCATTTTTTCCCAGAAAAAACGTCCGCACGCTCTAAACCATAAAAAATCGAGATCTGCGTCTCAACTCCCGTATTTTTTGAAGATCAAAGCGAAATGTTTCTGCACTCCACGTGCTAAATGAATATGAACGTTATAAAAATTATCTCTGGAAATTTGAACAGAATTGCTCCCCCGGGTGGAGCGCGTTTGCCGCTTAGTAGCTGAGAGACTTAGCTGCGCCGTGAAGGGAGGGAAAAGTAAGGAAGTTATCAAAACCAACAGACGCACTTATGAAAAGGAACACAAGAAAGAAAGTGTTCTTTTTTCGATTTTTGTGATTTAGTTCGTGTGTGATAAAAGTTCAAATGGCTCGGTAGGACAATAGGAAGGAAAGTGGAATTTTATATTTCATCTTTTGTTAAAATTTACTTTTGTAGGTGTATGATTAGGTAGTGTTAATAGAAATCGGGACTCGCGGCTTTCATTTTTTTGTGGCCGAGTATAAAAATCTTCCCGTCAACCATACGTGTTAAAGGTAATCAATAGGATATCATATTGGTAAACTTTAACAGAAATCCTAAACCTAGGTTTTCCGAACTATGGAGCTCTGAAGTAGGCCCCTTTGGGAAACATAGGCCACCAACCTGAGAAAGGTAAGGTGAGGGCAGGGTGCATAAAATACAACTTTTTCTCTGAAGTTTTTAATTAAGCGAACAAGCCGATATAAATTTTTCAGTCATGGCCTGACTTGACATTGGTGGGCGGATTTTTTCGAAAAAACTCTCACGATTTAGAACATGAACTTGGCAAAACTTCAAACAAATCCTAGAGATAGGTTTTGAATTATGAAGCTTTGAAACTTCTAGACAGGGGCGTTGAAAAAGCTACCCCTTCCACTGTCATAAACTTATAACAATTCACAATTCGGCAAACAAAAGTAGAGATTTCTTTCATATGTAGAATTAGCTCAATTTTTCAATCCATTGCACGGCTAGATTTGAACTCATAATTTGAAATTTTTCGGCCACGCAATAGAAAATTCTAGTTCATGGGAGTTGAAAGCTCGGACAGGAGCTAATTTTAAAAGCACAAGAGACAGGAAAACCAAAAATTTGTAAAGTCATAAAAATCAAGTTTTTTAGCTATGAGAAAAGGATTAGAATTTCAACACGGCCACCGATCGCCGGAGCGAAGATACAATCATTTTGGGCATAGACGTCGTTTGCGCATAATCTTTCTCACCAAAAAAAGATTGAAATCTTTTAATACGAAAAAAAGTTGGAAAAGAATTAGAAAAATGCTGAGGAGAAATTTTTTTTATGAAAGCTTAGGCTTACAATTTTAGGCTGCTATTTTTTCAGTGTTTTCCATGTGCAGAAAGGAAGAAACCGATCCCGACTTTCTATCACACACTGAGGGGAATTTCACCCCCCCCCCCCCCCTCAATTCCCGCTACTACTTTTACTGTACACTCTCACCGAAAAGATATTGTGTCATCACGCATCATGCCAAAAACGCAATCGTACAACCAAGGAGAAATAATTGATGAGAAAACGCAAGTGTTTCTTCATACACTACATAGTGTTCAACACCCCTGCATGATATGGCCGCGTGAAAACTCTTCCACGGCCAGGAGTAAAAGAAAGTTTTACGGAACAATCTAGCAAATTTTCATAACAATCGGTTGGGAAACTAGTTACAGGGGTTTGAATTTTCTAGGTGGGCCATGCGGAAAAAAACTAGGTTCGGCCACGTTTTGGTTAGGGAGGCGGTGTCTTCAAAATAAATCTATATACACCTCGCACCTAATGATCCGCCCATGAATCTTCATACAGGGGGAAACAATGAGGTATAATCTTAGGTGGCCGAACTTTTGGTTCGTGAAGAAATCTCGGCCAAGACCGCGAAAAACGTATTCTTTTTTTGAATCGTTAATTGAAAAACTGAAAACAAGAAGTTTCTAGGCCATGTTGCTTAACCTTGGGGCAGTAAATATTTTTCCTAAGCCATTAAATTACTACACTGAAAAGGCCCTAGGCGCCCACGGCTTCAAAACATAGGCCACCAAAAGCTGAAAGAGGGTTAGGACCGGAGCCTGCTATTATGAAGCAAAGTGTTTGTGGAATAAAAAGTTTCAGAATTTCCACCAGTTTTTACAAACTATTTTTTCTCTGGAAATTATAAACCTGAAATTTCGAAAGCGGACGAGATCGTCAAAGAAAAATAAGACGAGCTTGCAATTCGGAGGGCCAAAAAATGAGAAGAATTTGAGAACAAGAAGAGGGTATGACGTTGACCTATACGCGTATTGTCTTTTTTGTTTTCCTTCTTCAGAATGTGAAAGAGAAACTGTCATAGCTAGTCGTAGTTCTTCGATCACCTAATCACGTTATTGCGCCCTTCGAGCACAGTTTTTTTTAGGAAATGTGTGAAAAATACACATTCTTTGCGCTAGGAAAAATTGTGGGAAAATTGAGGTTATTGAGGTCCCTTGCCACGACACCGTGGCCTAGGATACCGCCGTGCTCTTGAAATCTCGCTTGTAGCCTAGAAAGTTCCCATGGTGGCCTGGAGAAGTTTAGCGGGGCCTAAGACTTTTAATTGTGAGTGAGTTTTTTTGGCCTAAAATGCTATACGTGGTTAAAATTCCTCATTGTTGAAATTTTTAGCGCGGCTTAGGATTTTCTATAATGGCACTGGATTCTCGCCGTTACCTAGAATTCCGTAATGTGGCCTGAAACTGGAGTTTAAGGGTGAAAAGTTTAAGTATTTTCAATCGTTGCCTTGAGATTTTTTACAAGAATTCCTCATTGTGGCATTTTCTATTCTGGCCTAGAAGTTTGCATCGTGGCCTAGTAGAAATTTGCAGAGCTTGGTTTTGAAATTCGGTTTGTTACCTAGGGTGCTATATCGTAAATTCTTCCATCATAACGTATTTCACATTTTGACCTGAAAATTCTTTGCGTGGTCTAAGATTTCTCATTCTAGGATATTCTCGAAGTTAAAGACACTATTGTGAGAAAAAGTTCGTCATGGCCTAGAAATTGCTCCCGTGACCTAGGAAGTTTCAAATTTTTTCAAAAAAATTTCACCAGAAATTCATCAAAATTTTCAATTACGGAAAAAGAATCATTAATGATTAACCACTGCAACTTTTTTCGAACTAAGGACGAGGCAAAAAGATTAGTACACTAGGCCATGGCCGAGTTCCCGACAAATTTCAGCGGCCCACACGTTTATTTTGCTTTGTTTCTTGGTTTCTCTCGTTTTTCACCGATTTTTTCCGCATTTTTTCCTATCAAAACTAATAAATAAATTTTGGAGATGCTAAAACAATCAAATAAAATTGTGAGTTCAGTCGTGCTGGTCAAGTAGCGGTAAAAGTGGTCAATGTAATATGGATTACGGCAAAAAAAAACCCAAACTTTTTCCCTAACATGATACATATGCTGTTTAGAAACGGGAAAAATCGTGTGAAAACAAGAAAACAAAGCAAGAACTGTCGTAATAATGCGGTGTATTGTGTGCAGACACCGATTTTTCGCATTTTTTCTCGGCCCTCGAATTCGTAAAAAGTAGCAGTGTTAACGGCGGTAAGAGCTATACCTACAAAAGGTGGCCACAAAAAAAATAGAAGAAAGGATCTAAAAAGAGCAGGGAAGAGTTTCTCAATTGGCCTCGTTATAGAAAATAAATACAATAAATATGTTTTTTGGAGAATTAAAAAAACAAAAAAGTTCAAGAAAAATTTAGAATATTTTTTCAGTTTTTTTCCTGATATTCATTAAAATAGAATAAATGGAAGTTCCACAAAAAGCAGGAAGGTGAGCTAAATACTTTAATACACCTCCTCCTCTCAATTCTTCAGAAAAAAGAATAGGCTTCTCCTCCTCCCACCTCCCAGACACTTATCAACACTTTACCCCATTCCTCCCGGCCCCCGGCTTTTTCAGATTTTTCAACCTTGAAAATGACGAACATTTCAGATAAATGTTTCTGAGTGTTATCTGAAATCAGGGTGTTGAAGCAGCCCCAACCGCGTGTAGCGTGGCCTAGAAATCCGAAAAGTCTTTTTGATCTTCCGCTTTCTCCAACTAGCAAGTTAGGTCTTAAGTCAAATGGACTCTCCATGACCAAGTTATGACGATTTGTAGTTTCTAGGCCATGGAGTGCTCTCCGAGGGGCTGAGACTTTGACCCCCTGACGCCGGGATTTGTAGGACTTTTCACCTGTTTATGCTACTGTAAGCGAACTATATACGTTCTTCACGCCAAGATATCCGTCAAATTGTGACCACCGTTTCAGCACTTTAAAATTTCTACTTGCATTCGCCACGCTGTCGCCATAATGGAATATTTTTCTCACGAGGAATAGCATAAATTAAAAAAAAAACAGTCTTCAACTGGCCGATATTTGGAAAACAAATCCTAACGAAAATGTTGCAGAATTATTAAAAGCTTAATTAAAACAAACCACAAAAGTTACCTAAAATGAAATAAAGAAATAGGCGTACAGAATTATAAAACCTATAAGCATGGGTGGGTCACAGGTAAAGATTATGGAAAGTTTTTGAGGGAACGTAGGAAGATATTACTGTAAAGTTATGGGGGAGAAGCGAGCGGCTGAAATCAAAATGGACTCGGTTGAACGCGTCGATTTGAATCACGGAGAATCGTTTGTAGGGCTTCCAGATAAAAAATGTTCTGCCTGCATTGTTGGGCCAAAACACATGAATCATTCAAAAACAAATTGGCATAAGAAAATACATACTTCTCCAAAAAAAATCAAAAAATAGGCGATAGGTTTTTAGATACAGTATAATTTGAGCAGTTAAACTATTCACCCCCTACAACTGGCGGGCCCGCAGGGCCTTCTAGTCAGGCAAAAAATATACGGCCCACACTCACAGCAATAAGAAAAGTTAGGGGATAGTAGAGACTTTTACTCAAAAGGAAGGCCGCATTACACAAATGTTTAAACATTAACCTCAAAGCGGGAAATTTTTTTTAATGCGTACTGAAGAAATCGACGTAATGAAACTCAATTCCTACCACCCCGTAAACCTCCTTCACGTCCAAAGTAGTCCATAGTGACATGAATCCTTCCGACCAACGTAAAGATTGGAGATGACGAAATTTAAGATGTACCAGTATACTGGTACATACAATTTCTACGTCACAACATCTTGACAGTCTTTTTCCCTCAAAGAGATGAGCCCCTTGTGAGATACAAACGCTGCGTCCTATCGTGGGTTCAGTTGTGGTGAAAAATTGTAAAAACTGTAAGTACCAACTATGCTGATATGCCAACTACCAACCAGCATAATTGGTGCCAAGAGACTTTTGCCACCTCGAATCTGTATGACGTTGGTCGGAAGGCCTTTTGTCACTATTGATTAGTGGGAGGCTTACGGGCTTGAAACAATCGTTTATTAAAAGACGTATCTTATTCAGTACGCAATATTGGTTCCCAGCAGTCATTTTTTCCGCTTACGTAGATCTTTAAAAAATGCTGGAGAAGATATGCAGTGTTCTCAACTAATTTCGCAGAGTTAAGAACGTGCTGACGTCACTTAATTTTTTTGAGCAAAAAATTCCGGCATTTTTTGTAGTTCATTCATATCCGTAACCCTTGGACAGCCTGGCACCACGTGTAAGAGATGTACACGATGCCTTGCCTCTATGTTTGCCCGGGAGTGTGGGAAAAGTTGTAAGCTGTAGAAAAATGGACAACAAGCATGTTGTCAGTTATCGCAGCATTTTATAAGTCAATGACAAGTACAACAGAGAGCTTAACTGAAAAGTTTGAATGGAAAACTTTCAAAAAACAGCGAAGGTTCTTTGATGGATGCAAGGGCAGAAAGTGACTAATGCATGTGTTTGAACTTAAAACAAATTGGCTAGTCTTTGACTGAAACTACCTTTTATAAAAATGAAGAAAATGAACCATTACGAAAATGTTAAACTGAAAGTTGGTGTGTTTTTATTGTCGTTCTGTAATTAAATTCCTTGAATGATCGCTCTTCTGCAAAGAACAACCACAAAAAATAATTCGATATACTCAAGTATCGACGACTTTGATTGGAATGCAAACATATAACAAATTAAAATAAAAATTCTACGGTCATTATATTTTAGGAAAATTATTGGAAATTTTTTAGGCTTCTGAAGTGTCAAAAACTTTCAGAACTAGTAAACACGCAACATTTTATATGTAATAAAACACTCAGCGAGTTTAAACTTTGCAAGACATTTTGGGACATAATTTTGGCCTTTTAAGAACAATTAATTGGAAAATAAAATAGTTAGAATGATCGTTCTTCAAACAACCTGACATAACAACAACACACCTACTCTGTTATAATAAGAAAATGTAACTACTCATCCGAGTTGTCAACCTGCAAGACCGCATAAGTTTATACCACTCGAACAAAAAACAGTCTTCGTTCTCTTTCTTGAAAAGAGACATAATTGAAATGAACTAATCACCGCTGCCCGGGATGGAAAAAAGAAAAGAAAGTCCTATCATCCTTTGACCTTGTTATTTTTGCAAATCATGTCTGACTAATACACTTTGTGTTCGATACATATTTCACTGAATCAGGCGTGGGCGACAACCAATTTTTACGGCAAATCGGCACATTGCTGGAAAATTTCCGGCCTTGCAAATCGGCAACAAAAATGTTTGAAAATCGGAGAGTAAAAAGGTGGAAGTCACCAGCAGTGAAGTACCTACTTTATTTCACATGAAATTAAAGTATACACCATCTCTCTTTTTTTTCCTTATTTAACAGTCTTTGGTCTGTGTTCTGACTGTTGAGAGATCAGGGATCATGGACGAGTTGTTTTTGGGAAAACAAATTCTTTTTGGACTCCTTTAGTTTAGTAAACGAAAAATTTAAATTTATAAGCATATAAATATTTTTGTGGGAATTTGAAAAAAAAAGAAATTAAAGAAGAAACAAAACTAGTGTTCAACATGTATAACTGGGAGAAAGAAAGAAGTGCGCTTCCAATTTTCAGAACTTTTGCAAAATTGTAGAAAGTAGTTCATGCTTCAGATCAAAGTTGTAGGAAAAAATGTGGCCATCCGAAAGAGAAAATTCTGCCACGACCAAAACTCAGCACTAGACTGAAATTTCAGTAGTAGCTGACAAAACCATCCAAAAGATATTGTAGGTTACAATATCTACCGTGAAAATTAGAAAACTCGAATCAGATATCCGTGGGCAAAGCGAAAAAAAAATTAGAGTTTTCTAGGCCATTCGAAAAACTCGTCCACGTGTGCATGAACTGTCAAGTCGCCAACGTAAAAGGTGTGAAACCCTTGAGAGCACTGAGAAAGAAATGAGATAAAGTAGCAGGTGAGACCTCCTGTCTCTGAGAAGCAACGTTCGAAATTCTTTTCCCTACATTCCATCTATTATCATTATTATTATTATTATTAGGACGGTATGGAGCCAGGAACTGGTTGTTTATACTGACCACTGCCTCTTCCCGATTAGGATTATGTGATTCGGATTTCGGGAATTGAGAATGGCAGATGGTTTATGTAATTTAATCATATTCCTCAAAAAGTTAAGAAACAAAAGAAGGAAGATATAGATCGCTGAATCAGTGAGGAGCAATAACATAGCATATATGGAATTGGTAAGACTGGTTTACAGTTACAAGGGAAAAAAATTTGAAAGTATTCGTCATCTTATCTAGGTAGTTGAGACACTTGATTACTCAGTTGAATGAACAAATGGATGAATACAAGTTCGTATGCTGAAAGCATCTCTAATAACATAGTATTGGTTTTAAAGGTGGAGTACGGTCGTGGTTTTAACCTAACTGACAAAACAGTCCCAATATACCGTAACTGTTAAAGATTTATATAAATTTATTCTGGCAAATTGTTTATAATTTGTAAAAAAGTTTTTTTTTTAATTTAAAAATTTATTAATTTCCAAAAAAATAGTTGATTCAAAACTAAAAACCCAAATTTTCTGAAACTTTACCAGTTTTACTTATTGTCTTAACAATAATATACACATATTAACGAAATACTCACCGTTCAAAATTTGACTTCTTGAAATCTCCAGTTTTAACGGCAATTAGAGAATTTGTTCAAAATTCCAATCTCACACCGAACGTTTTTCTTCGTTTTTCATTTTAAAACAGTTCTATCCAGTTTAAAAATTTACCAAATAAAAATGTGTCTATACCTCTCACCACCAATCCCGTGCATGTGTTCATGTTTACCTTGAAAAGTGTGTATTACTATATAATACAGAACAAATATCAAATGGCCACTCTCCTCCAGCAGAAGGAATGCTTAGGTGTACGAACACTGCAACACTTCCTATTACTCTTACTAGTTTTGCGCAATTTTCTGGTCCTTTTATGTAATTTTTTGTCTGGAACAGGAAGTTTTGTGTTGTTTGGAAAATTAATGTTCTACGTGAGATTTTTAAGTGATTTTTTGAATGGAATTTCAATTCATTATTTCATTGCATTTGTCTTTTTTTCTCACCGAAATCCACTTTTTTTATAGAAACAATTTTTTTTTCTACATTTTTTCCGATTTTTGTCATTCAATTTTTCAACTTCTCCATTTTTTCTACAAAACACCGACAACTACAAAATACCTAAAAATTGCAAATTAAAACAAATTTAAACATTTTTGCCGCAAAAAGTTGTTTTTTTTTACAGAACATCTAAAACTCCCTTAAAAATATGCTAAGTCATTTTTCTGAGAAGCACTTAATTTTTCGATAATATTATTTTTGCTATATTAAATCCAGAGAAATTAGAAAAAAAGAACGGTTTTCTACAGTACCTACCCTCCCTCTCCCTCTTAAAATCATTCCTACAGTGTTCTTACAGTAGTCTTACCTGCACCACTCCTACACTGCTCTTACAGTGATCCGATAATACTTTTATATAACCACACACTCCATACCTATACCTTACACTACAGTACCCCCGCCGTACCCGAGGCCCCCCCCCCCCCAGTACCCTTGCCACTTCAGTATCCTACATTATCTACAGTTCTCCTACACTACCTCTACAGTACTCCTACAGTACCATTACCAACGAGAAATTTGAATAGAAGTGAAATTATGAACATTTTTTCCTGTATACCAATTTTTAAAGTTTTAGTTTTGTAGTTGTTTTTGACAACGTAATCAATTTCAAAGTATTTTTCTTTAAACAATCGTACTTTTTGCGTACCGGTGGTTCTTGCACGGGGATTTTGGAATAAAAGTGCCCTCCGAAAAAAGCGAGTGCGGAATTAAAAGCACAAAAACCGGATAGAATGAGGAGGTGCGAACGATGGAATGAAAAAAGAAGCAGAAATTAGATTTGGTTCAGAGAATTCTGTTTCTTTTATTTGTCGAGATTTTGGTTTTGGAGTCTTGGCAAAATGTTTTATTTTTGTCCAAGAGTCCTAACGTTTTTTTCCACCAAAACTCCCAATTTCAAAGTTTGGAAATTTGATTCATCGATCTGCCAAAACTTCCGATTTAGAGAAATTAAATGTTCAGTTTCCCGTAACAGGGTTTCGTATCAAAACGAGTGTGAACCGCCTACCTATGTTTTTTAAAAATGATCATACTCTAATTTCCCTTCAAGCACTTTTTTTTTTGAATGACTATTTGAATATCCCAGAAAATTTTAAAAACGTCATGAGTTTTTTGAAAATTCAATTTTGCGTGTTCCTGTAAAAAACCATAGAAACTGTTGACCTATAACCTGCCCGACGTTCTTCCTGTCTGTTTATACCCCATCCGCTCTGCACTCCAGAGACCCCTCGTCCTAACTACACTGATTATTAAACTGTTACCCCGCCCCCCCCCGTTTACCCCTCATTTGTTTTTTATTCGGTAGTGCATCCCTTCCGTGTAACCTGACACTTTATTCAAGAATCCCGCATTTAGGAGGATCAGCAATTTTTCTGTTACTTAATTTTCCACACGGTAGGAATCGGAGACAAAAAGAAAACGTCATAGTTAAAAAATTTATGCGTTTAATTTTCAGTTGCTGAAAACTCAATTTTGTGGAACCGTGTTTTTCGATCTTTGTAAAACTGAATTTTTTTGAGGAAAATTTGGATTTTTGCTGGAAAGTCAATTTTTGTGAGAAATGGCGGGAAATTTAAATTTACTGAGAGAAATTTTAGCGGGAAATTAAATTTTTTGTTTGATAGTGAGAAAAATTCAATTATTTTTGTAATTTTTCATAATATCTCAAACTCAAAAAAGTCTGAAATTAACTCGAAAATATTGTCATTTGATATTTTGGCAATTCAAAAATTGCTTAAAGTAAATAACGGAACTCGTTTTTTTTCAAAAAACGAAAGGTATTAGTAACATTTCCGGTAACCAAGGTTACTCTTTCCCCATCAATCTCCCATAAGCATGCCAGAAACAAAAGAGTGAGAGAGAGAGATGCGTGTATGATTATTTGACAGTGCGCAACTGACACACATAAAACAGCTTACATCTTCTCTTTTTATTTCAACTGATTTTTTTACCTCCTTGTGTTCTCCGAGTCTCTCTGATTTATTCAGTTTCTCGATTTTCTTCCAAATTCATTCCCTTATATATTTTAATCTATGCGTAAAGTGGAGGAAGATTTCTTCTACGAATTTTGATCTTTTGCAAATTTCTCGGGTTTTTCAAATTATGGATTTTGAAAAAAAAAATTACTGAAATTTATTTTTTTCATGTCACAAAATGACTGTCTACCCTGAATTTTTCTATGGAATATAAAAAAAATTCTGAATTTTTTTTACTTGTTGATGTGTAAAACAAAAAATTAGAAAAATCAGATTTATCTGACGATTTTTTGAACTTTTTTTTAAAATCAAAATTAACTTCAAACAAGATTTTTTTCGGAATTTTGAAAAAAAATGTTGTTTTTTTGAGATTTTAGTACAACATTTTCGTAAAATCGAATTCATTTTTAATTTTTATTGTGCAAATGTTCTGACTGATTAACTATGAGAAAAATTTAAACAGTGTGAAGTTTGAACCCCCCCCCCCCCCCCCCCATTATTTGGACGGAGATACGAAATGTGAATTCTCAGAGAAGGAGGTGAACACTCTGATTGATGTGCATATTGCTCATTATCCATATTAGTTTGGGGCATATCGCACAGCGAGCATGACATGTACTTTTACCCATTTGCGTAGGCTCCGCCATTTCACGATTTTTTTTTTCCAATTTTTGAACTAGTACAAAAATTTCTGAAATTAATTTCTGCAATCTCACATTCCATTGTATTTGTTGCTTACTTCTATTGTTCCACAAAAGAAATTTTCGAATTTTCGTAATGTGTCTTTCAAATATACCATATCCACGCACATATGTCCCTTTTCCTGAATACTAATTTGGTGTCCAAGAGGAAATTTGTTTTGTCGAGATTACTCAGTTCCATTACGGAATATTTTAGTCTCTGAGAAAAATTCACTTCCTAAGTGTATAAGACTAAGTAAGTAAAACGATACTACAGTGTCAAGAATGGTTTGTTTTTTGTTACAGTCTTTACTATGTAGCTTTTGTTTTGTGTAGTTTTCCAACTTTTTTTTTGCCAAAATGAAGGCTGAGGATAAAAAAAAGTCAAAACACAGATTGGTTGCTGAGGCGGTATTATTGGTTTACTGTAGCATTACGGGGTTACTCTAGTTTGGCCCATGTTTGGTGTCGTTAGTAGTAACAACATTTCGCTCATTTGTTTTTTGATTTGGTAACTTCTGGTGACTAAACTTTTAATGTACCTAAATCTTCTGTAGCATTATTGATTTGTTGTTTTCTTCTTTTTAAGTTAAACATGCTCACATTAAATTGAAATTGAAATGGGTTGAAAATATTATTATCAACTTGAATACCAAAAATTTTGGACGGTATTTCAACAAAATTGATTTCAAGCCTCTTCGACCTTCGACACAACAAACGAATGCTAACTTTCCCAGGATTACCCAAAATAGTTCAACGGAATCCCGTTTTATCAATTTTTAGCACATACTTCTTCATAATCATGATTGTAATGATCGATCCGGTCTTCTATTATTAGATGAGAGAAGGCAAGAATATACATATGTGTCTTTTATATTAAATTAATTATATTTCGACACATTCTGCGCATATCACTACTGTACTAGAATTACATTTTGAGTAAAATGTAACCAGAAGAAACAGTTGTTTGCATTTATTGTAATAAACAGAATAGAACATGATGTTAGGAAAGTTATTAAAACTTGCAAAGTGACACAATTCATACCGATTTCTCTGCAATAGCTACTTAGTTCACTTAGTAGGCAGAGTTTTGATACTGATACGGATTCTTAACGGATTTTTAATTTAAATCACTATTGCTTTAATAACCTTTTAAGATTTTTTTGTTTCAGCGTGCAATTGTACTATTTTTTATTCTCTTTCCCCTAGAATTTTAATAAATAGAAAAATTTTGAATTATTTTACGTTATAATTCAATAGTAAAGAATCACACATCAAGCTGCCCCTATTCAGTTTCACATACTTTGCCTGATAAACATGACTCCATAGTAAAATGGACACTTTCATCTTATACAGACACCCGCCCCCCCTTGCTTCCCGATTAAATCCCAATAGTGTGGCAGCATTGTGTTTCATTGAATTTATTATCATTTGTCATACAGTACATGAAATTACAAAACAGGAGAATTCCTAGGTTAAACTTTTATACAATGAAGAAAAGTCTTCCCTAGAATCAATATTAAATTATCAAATGACTACGGTATTTACGTTTTTCAACGACGGTATTAGTTTTTATACTTACTAGTTATTAGTAGTTAGAACATTACATTTTTAAATGCAAGGTGATGCTGTCAAAATTTTTTTAGGGTAGACGAGAAATTGTCATAGTTTCCAGCACCATCACTGACAAGTCGGCCAAATTTCAAACTTTAATTTTGGAACGTCAGTTGGGCGGCCATAACTCTTTTTTTGAGACGTTTTCGGAAGAAGTTGAAATTTGGTATTTTCAGCATAGCGTTGTATCTTATTTAAAATGAGTATTCACTCCTTTTACCTGCTAGTCGGCAGCCTCGTTTTCTCCTATTTTTCACTAATGAGCACACACCACTATCATCAGTATTTTCACCACCTGTTTTCTAATAATAAACATTCCCCTCACTTTGTTTCCATATCGATGCATTTTATAGAAAATGTTCCCCCTTTCTTTCCAATTAGATTCACCCTCTGATTGCTCTTTCTTGGAGGGAATGTTCCACAATTCCCCATCATCTTATTACATATTTATGCAGATTTTATAGCATTTTAGTGCGCTAGATTTTTCATGGGATATTGCTATGCAATCACGCTCTAACTGGATAAAATTCTCAGTTTATATAATGTTAAACCCTACTGTGTGTAAAATTTACAAACATAGTTGAATACATTGAATAAGTATGAACATTTTTCGAGGGATCTATAGAAAATTGCCGGCTGTTCCTAAATAGGGCCCTTTCACTGGTCACCAAGTTCCTGTTCATGCAATTCAAAAGAAATGTTCAGCCCCTCAATAGTCGCCCGCACCACAAAATTGAAAAGCGATCACATAGTTTACTAGTCGAACGTTTGAATTGAACATATTTGGAGTATTTTAAAGAAATTTCAAGTCCACCAAAACATATGCCAAGGGCCACAAAAATTTCAATTTTCCGCCAATTTTTTTCTCACGAAAGTTGAATTTTCTCGAATTTCCGATAATATTCGATTTATTTGAAAGTTATTGAAGTTTATATTTTCTAAAACCACTTCCACAATAACAAATATTAATAGATATAATCCAAAATTTGAAATTCCCATGCAACACCTCAAAAAGTGGCTCGCTTAACTGAGTGCTGTCGCGGAGCACTACCCTTGCATTCTTTTCCCAACGGAGTCATGAACATACGAGCATTAAATGAGTAGACGACATGTGTATACATAGGACCCCCCACCACATGTTCCTTTTATGAGTAGACATGTCATACACACAATGTCTCTCCTTTCCGATTGGAAAATTAAAATCATATAGGAGCGGGGGGGGGGGGGTCTTGACATTTCAATTATTACCCCCCCCCCCCCCCCACATCCGTTACGTTGCATTTTGGTAGGCTTGGGGCCGAATAAGTCTCCCATGCAGGCGTCAAAACGTCTGCGGACCTACGCCTGCACGCCGATCGCGACAGCTGTACAGGAACCCGAAAAGTGGAACGCGGCTAAAGAACCATTCGCACTATGCGGTGTAAACACAAGGTTTTGATTTGTAGTCATAGTGCGTATATGATGCGGGACGCTGACAGGTAGGAGGCAAGCGTTCAACCGCGAATGCACACCATGGAAGCGCTAGAGCCTAGTTTTAGATGAGTTTCAGCATTTTTGATCTACAAGATTTTGAAAGTTTTACAAAAAGACCAAGATTTTTTGTAATTTATGAAGAGATTTTTCTACATTTCATAAACCAGCAGAGTTGTTTTTTTGGTAATTTATCATTAGCGCGTTCGCGTCATGAAAACAAAATGGCGGCCGAACTTTGACAGATGGCTGAATTTTTCGAATCGAACAAAAGTCCGTAGCTATAAAGCACAGGCCTACCTTGGTTTTTATTTGCTTTTAAATGATATAGTTTTCTAAAAAAAAGTCTATGGCCGAATTTTTAAATTATGAATAGGGGCTATTTCAAAAAAAATTTGAGGCCAACCTACTCTACTCAATTATAACTTGCCATGGCAGAACTTTTGAACAACTATTACAACGTTTTCAAAAAATTGCAAGTTAATTTTTTCGAATAAAGGTTAAATGTAGCCTAGTTTCTCAAAACAATAAGTGAATAAATATCGATGACCGAAGTTTATATTTGATAAAATAGTATTTGACCTAGAACTTTTAACTATTCTTCCAATGTCTGAAGTCTGGCTTCTGAGAAAAAGTTCGTGGCCTAAGTGTACCACGATGGTCTAGTTATCTCGATAGCCATAGCCTAGTTTTCTCAAAAAAATCTGGTGGGTTCCTGTATGTAGGCTTGTAGGTATTTAATTCTTATCTTCCAGGTATCTATTTCTACTTGTAACCAGGAGCAATAGTTTTGAATTCCCTCTCCCTATTCACGCTTCTCCCCTCACACTCGTTTTTGGTATTCTAATGTTCTCACGAAACTCCTCTTCCCAATCTACCCCCATTTCTTTTCCTCTTGGAGACCTGTCTCTCTCTCTTTGTATTGCTCTTTTACGTCTTCGAGTAGGCTTTTCCTTAAGGAACTTGTGTGTGTCTTGAATCATCATCGCGTTTACGCTCTCGTTCCAATTCCCTGTTGCTATTTTCTTGGAGACATTTGGAAAGTTTCAAAATTCCTACGTACACCTGCGAGGCCTCAAAATCTGGTTGTATATGGCATGACATTGAATTTCTAGTGCACACAATAGAATTTTCCGGGAAATTCAAATTTCGCGATCTGATAATGACTGAGGAAAGACTTTGGCGGAAATTCAAATTTTAAAAAAGTAGGCGGGAAATTCGAATTTCGAATTTTCTAACCTTTTTGGCCTTGGTTTCAAATGTTCTGAAAAATAATTTTGGAGCGAAATTCATATTTTCTCAGAAATATCTCAGAAAATTTGAAGTTTCTCCCACTAATATTCTTCTCAAAAAACAGTTACGTGACCTATTTATGTCCTATTTATTGGTCCATTTATTACGTGGCCTAGCGAAAAACATTTTTTCCCCTGCGATCATTTGAGATGGCGTAGAAAACGCAGATCCGTTAGGCCATCAGGTTTACGGGTTATAGTACAGCCTCTTGCAGGGGACAGGTTCAGAAAAACTACAAATTTAGTTAATTCCCTACCTACTCTTGCAAATCAATAACTAACCCAACTGTGTTTCAATCCGGGGAAATTTATTCTTAGAAAAAGTATATCTCCGCAAGTACATATCCCTCCTTCAAAATAATAATAATGGGAGGCTTCTGCTTCTCTTTTTTTAGACCAAAAACTTGTTGCACAGTGCCCTAATATGTACGGTCGTTGAGTTTTGTTGTTCAATAATATGTTGACCGTAATTCGCGCATCTGAAGAGGGGAGGTGTAAATGCTGTGTCTAAATGTTGCTGTCACCTCCAAGTGGTACAGGTGGCCTAATTTGGGAAAACTCTTCCACGACTATATTTCTCAAAAAATTACTCATAAAATTTGATTTTCTCACATATTTCTCAGAAATATTTGAATTCCCAAAATTGTTTAAAAAAATAGAATATCTTGTCAAAATTTTTATCAGATTTGAGTTCCACTAAAATTTTGCCGAGCGATTTTGTTTTCCAACTTAAAAGAGTTTTTTTTTAATTTGACAGTGAAAAGTTATCTCGGTCAGTATGCTTATACATTACAGGTGGCCTAGGTCGCATTATACAAGCCACAAATCTCCCAAAGGGGTATTGCCACACCTAATTGACACCTCCCCGGGGACCTTTGAGCACTAAGTATGGACACCCACCCCTCACCTATCAGCTTAATAGCTGCCTTTGACCGCTAAGGAGCATACCAGCCATATGTTTACTTAATTCTCTCACTCTCTCTCTCGGCTTCTAAATTGAATCTCCCCCAGTCACGCCTCTCGTTACGTGAGGAGTGTTCAACATGTTCCATTCCCTTCTCCGATAATCCGTGTTTTTGGTAGGCAGGAGCGTGTACTAGTAGAGGACATTTGTCGCTTCTTGGCCTTTCGCCTCCATTTTCCTTAATTTGTGACTTAGAAAATCGTAGAAAAAAGCATTAGTTTGTAGGACAACTTTTTATACCTCTGAAAAAAATGAAACTCGGCCACCGACTTTGTCTGTCACTTTTGTGTAGATATGATCACATGCTAAACTGTCGAACCGATGAGGTCAGGGTGGCTGAGTTTGCACTTTTGCGTGTTCTATACCATTTACAGAAGCTAGTCCCCCCGTCATTCTTCTTCCAGCAAAATGTTTTTTTTTGCCTCAATAGCGGTGTCTCATCAACAGCACAGCAGCCAGTTCATATTATTTGTTTTTTGTTTCGTCTTTCGTCTTTTCGGAAACGCTCTATTCTATGACAAGGTGACGTCATTGGACTCGTGGCCTAGAAAGTTTGGCAAACTCTTCCACCATTCGATTACAGGAGCCTCAAAGCCCCACATGGCTAAATCTTGACATTAGAAACATCCATTTTGAAATTTTTCGAAATTGGTGCAACCTAGCGACCTCTAGAACTTCTGACCTAGAAGAAAAAAAACCTCAAAATGTGGACTAGAAACTTTTAAAAACTCTTCCATCGATTTTGTTTTGTGGCGGCGGACGTTTTCCAGTTTGGCTTTTCACATAAAAACCAAAAAAAAACAAGACGTAAAGCTGTGAAAATGATTAGTCACAAAAAGAAGAAAAAAGTGTCGTTACTGCAATTTCATAGATTCCTTCTTGGCTTCTCACGACACGAGGGGGGTAGGGTCTAATTGGCACCCCCCCCCCTACTGAGGTGAGAGAGCAAGCTTGAGACTCACCCGTCGCTCTTGTTTTATGCATTTTTGGCACAAAGTGAAGTGGGCGAAAATTGTAGTAGCTGTGTGTGTGATGTGTGTATGAGCATTTCGATTTTTAAAATAGTTTTTTAATGTACCGCAGGCCACGTGGGTTAAAGTTTTTTTTCATAAAAATAGGATTTGTTTTCTTGCAGATAAGTTTTTCGAATTTTGAAATGAAAAGGATAACTGGGAACTCGGAGAAAAATTATGTTTTAATTTCCAACTAGGCCACGTACCAATGACGATGAGCAGTCGTTCTAGATCACAAGGTCATCTAAACTTTTAGGAAATTTAAAAAGTTGGTGATTACTAGAATTTCTAAGCCACGCCGCATACACCGGCGCGTAGGCGTTTTTACACTTTCTAGACTACTAAGATTTTCCTAGGCCACGTCCAAATCAGGGCTGTTGCAAAAAAAAATTTTCGACCAAAAAACAAAAAACAAAAAATTTTTTGGTGATCTAACTTAAGAATAAAAAACAAAACACAAAAAAACAAAAAACAATCGCAAAAAAAATTCAATGTTTGATATTGAACGGGACAAAACGGAATTTTTTCGTGAAATATTCTGGTGAATTTTTAATATTGAAAAATTGAACGAACAGAAGGTTTCTTGTTAGCTTTTTTGCTGAATCAATTACGTAATCTATTTTTTGGTTGTTTTTGGTTTTTTTTTCTCAAAACCAGCGATAAAAAACCAATCAAATCAATTTTTCCCAAACATACCAAAAAAAACCAAAAAAAAATGCCCAGCCCTGGGTCCCAATGTACAGGTGTTGTGGTGTGTGAGCTCTTAGGCCAGCTGGACTTTTCTTGGCCACTTGTAAATCAATAGCTTTTTTTCGGTGTTCTAGGCCACCTGTCACGCCTAGACCATTGACCTAGTAATGTTGAATAATAAGTCCAAGTACTCACATACCCGCAAATGCACATATCTATCTTCATTTCGTGATCTTATCTCTTCATCTCATCTTATTTTCCATTTCGGTTTACCCTTTTTTTCTCTATGAATATATTTTTCATGTACTCGCTCTTCATTCCCTCTTTGAAAAGCAAGATTCTTTTACACTTATTTTTCCTTAGGCAGTTGTAAAGAACTTGTCATTAGAACTTTCAACATCAGAGTACGATGGCCGAATTTTTTCTAGGCCCACGGCTTGGGAGCCAAACATGGCTAAACATTCACTAACTTCCTAGGTCATCTAGAAGTTTCTAGGTCTTATGGGTGAAAATTGGCAAATGACAGAATTTTCTTAAGTAATAGTTGAATTTCCCGCCAAACCGATTTTTTTTTGATAACATTTAAATTTCCCGCCAAAAATTTTTTGAAACTAAATTTTATGCCACACTTTTTCTGAGAGAATTTGGTTTCGCTCCCAATTTTTCTCTGAAAAGTTTAAATTCGCACCTGTGTAAATTTTTCGAGAGCTTTTTGAAGTTCCCGGCAAAATTTCGAAAAATTAGACCAACCTCCCCGACCGTCAACTATGATAGAGAAGTGTCCTCTGTACCCTGGCCGAATTTTCAATATATTTCTAGACCCGCCACATATTGCCAGCTAAATTATGTTGTGGAAGAGTAGTGACGTCACTTGGCGACCGCGACCATCGAGGAGCGTGAGGGGAGATGTATCCCGGCCTTCCCAACCCTAAAGACCTCGCTTATCGCTCCTTTTTGTTGTATCCGTTTTTTGGTGTCTCGATTCGTTTTCTCCTGTTTGTTGTCATTTCTGAACTCATCTCTACACTTCTCTCGTCTTCTCTGCGTCTCTCCATCCTGCACACTATTTTTTACCTCGATGATCTTTCTTATTGCGTGTGTGTCACTGACGAACGAAAGGCTGACACAGACTATGTATTGTTTGTTTTGTTGTTTAGAAGTAGTTGTAGTATTCCAATCGTTTTTCACACTACTTTGCATTATTTCAGATGGCTCAGGACGGGCCATCACATTTTTGTCAGGCTCCGCCGCCGCCGCCACCTTCCTCGTGGATTCCAGCTCCATCGCAGGTAAATTTAAGGTTGCAAGCGCGCTATAATGACCTTTTTTGTGCCTACGCCTCCTGGGTTATTGCCAATGCCCCCCAATTCGAATTATTTTTACTTTCAGCCAAATAGAAAAGGAGCCGCTCATCGATGAGGAAACTGTTATTTACGAATCCCGAGCCACGTATTGGAAGGGATGTGAATGAAGGCCTCTGGCTCGTACGACTCGAGTAAATGTAGTGAGTTGGTCTAGAAAATTTGGTAAAGCTTCCACGAAGTAATTAATTAGGGATATTACTGCCGACACCCAGGAACACGTATACCACGGCAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATATGAAGATATTGATTGGCGGGAATTTAAAATTTAAATTTTTTGAGAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGATAATATTTTGGCGGGAAATTTTATGAAATTTTTTGAAAATTTTGGCGGGAATTTAAAAATTTTTTGAAAATATTTTGACGGGAATTTAAAATTTTTATTTTCAAATTGGCGGGAATTCAAATTTTAATTTTTTTAAAATATTTTTGCGGGAATTCAAATTTTAATTTTGAAGCTTGAAAATATTGGCGGGAATTTAAAATTTTAATAATTTCTGAAGGTAATATTTTGGCGGGAATTTAAAATTTTCATTTTTTGAATATATTTTGGCGGGAATTTACAACAAATTTTAAGATACTTTTTTGAAAAGATTTTGGCGGGAATTGAAAATTTTATTTTTTTGAAAATATTGCGGCGGGAATTTAAAATTATAATTTTAAAATATTTTGGGAATCTAAAATTTTAATATTTTGAATATATTTGGCGGGAATTCAAATTGTAATGTTTTGAAAATGAATTATTTTGGCGGGAATTTAAAATTTGATGTTAATTTTTTGAACGGAATATTTAGGCGGGAATTTAAAATGGCTTTTAATTGTTTTGATGAAATTATTTTGGCAGGAATATAAAATCTTAATTTTTTGAAAATATTTTGGCGGGAATTTTAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAAGTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTCTGAAAATATTTTGGCGGGAATTCAAATTTAGATTATTTTTTCTGTTTCTAAATATTTTGGCCGGAATTTAAAATTTTAATTTTTCTGAAAATCATTTTGGCTGGAATTTAAAATTTCTGAGAAAAACCTTCGTGTCGAGGCACTCGGTGAGACCCTTCGTGGTGAGACCCATCGGTGACATCCATCGGAAGGTGGTGAAAATAGACCTTCGTAGTGAGACCCTTCGTGGTGAGACCTTTCGTGGTGAGAGGCTACCCATCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGGTGAGACCCTTCGTGGTGATACCATCGTGGTGAGACCTTTCGTAGTGAGACCCACTACGGTGGTGAGACCCATCGTGATGAGACATCGTGGTGAGACCTTCGTGGTGAGACCCATGTGAGACCTTTCCTGGTAAGACAGGTTTTCGTGGTGAGACCCTGCATCGTGGTGAGACCTTTCGTGGTGAGACCTTTCGTGGAGAGACGTTTCGTGGTGACGTAGGACCCATCGTGGTGACACCCTTCGTGGTGAGATCCCCATCGTGGTGATACCTTTCGGCGTGGTGAGACCCATCGTGGTGAGACCCTTCGTGGTCAGACCCATCGTGGTGAGCAGACCCATCGTGGTGAGACTCCCTTCATGGTCAGACCCATCGTGGTGAGACCCTTCGTGCTGAGACCATTCATGGAGAGACGCAGCGTTGTGAGACCCTTCGTGGTTAGACCCATCGTCGTGAGCTTTCGTGGTGAGACCCATCGTGGTAAGACTCATCGTTGGAAACCCTTCGTGGGGAGACTCTTCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGGTTAGACGCATCGTGGTGAGATCTTTCGTGGTGAGGATTCCCCATCGTGGTGAGACCCATCGTGGTGAGATTTGGTGAGACCCATCGTGGTGAGACTTTTCGTGGTGAGACCCATCGTGGTGAGACTTCTTTCGCGGTGAGACCTCCCTTCGTGGGGGACTCGTCGTGTTTGATATTAGGCGAGGAGCTATGGAGCTGGAGTGGGATAATGTCAAGGTACTATAGGCGTCTTGTGGATTGGCTGTAGGGTTACTGTCAGTTCAGAAAAATTGACTTTGTGCTTTTGAAGAGGTATTGGCTCGAGAGTTAGAGACGCGGAAGCTTCTGTGTTTTTTACATTCAATGTTTGAAAAAGTAATTTCCAACAGTTTTCATGTGACTTGAAAGATTAAGATATGCGGTGTTTTAGGTGTCGAACAATTGAGATTTCGGCAGTCGTTGGCCGCGCCGTGGGCGCGGTCAGCGGCTGGTTTTTCCAGAAGAGGAATAAGAAATTTTTGTGGAAGTTACTAGGACCCTGAATAGAATTCTAGGCCATGTCGAAAAAGGGGCTGGGTGCACGTGGGAACCTTCGAGTGTTTGGATATTTTGGTAAGAAGTAAGAAGAAGGAAGGTCATAAGAAGTTGTTAAGAAATTGACTTTTCTAGAGTAAGAATGACTTTTCTAGAGATCATCTCCCCCTATTATTCACAGCGTCACCTAGTTATCCGGAAAACTCTTCCACCAAAAAATGTGCTCGCGAGTCCAACTGAAAAATGCGTCATAAAACACACGGAAAAGGTACTTGTGTATTACATGCCCTCATTTTAATAGTAGTTTTTTATGAAATAAAAACGTGAACCATAATTTGAATTTTTAGGCTTAGGAAATAACATTTTCTAAGCCTAAAGAGGAAAATGTGTAATACACAAGTACCACGGATAATTTTTTGAAATCTTCCGAATTTGAAATAATTTAACTAAAACTTTCTAGGCCACGATGAAAATAGAAACAATGTGTCCCGATTATGCTGAAAATTTCTGAGCTTCCATAGTTATATCGAGTAAAAAGATTTTCGAGAAATGAGTTTCTAGGCCACCAGAAAAGTTTCTAGGCCATGATCCCTTCTTGATCTCGTTTATCATTAGGATTATGATATTTTTTCAACGATTTTTTAGGCCACCAGGCGCAAGGGAAAGTCCGTGTCAAAAAAAAAAGAAAGGGGGTATTCTGCGTTTCCTCGTCACGTAAAAATCCCGTTGGCCTTTTCAATCAAATTTCTTCAATTTTTCGCATAAAACTTACCTCCGGCTGTGACAAGCCTCCTCCCGTCTCCCAGTATTCTCAATTAATCATCACCCCCAATGCCCTCATCCAACTACAGTATCCCTGCAATCCCCGTCTGCAAATATGTGCCGAATATGTCATACTTCTACGTCAAGACTACGCAGTCAAATCCGCTCATCTAATCACCGTGTCGATGCTCTTGGGAACACTGCTCTGTGTGCATCGTGTGTTGTGGTGAGCTCTTTCTTTGTAAAATTCAAAATAATAATTAAAACTTAAAAAAGAACGTGACTGGAATTTGCAATATAAAATCGTGGCTCTATACAAAAATTCAAGTTATACTTCCACATTGTCGTTCCAAAATAAAAAGAAATAGCCAAGCCTACAAAATGGGCGGCGCTTTCATAGCCACGTCCATTTTGTGGGCGGAGCATCAAACTTTTTTCAAAACCCTACTATAAGTTGAACACGGATTTCTGGCTTCCTCATCATAAATCGACAATGGCTGAGTTTGACGAACTAGGCCATTTTGGGTCGGAGACATTTTGTGTAGATTTACGGCGTGTTGCGTGTCGCGTCGCTCGTTTTTAGTTGTAACACTGCTTGTGCCGTGTACATGATTCCAGGTTTTCTCCACGCGCTGTCCCACGCGTTGTCAATGAGGAGCGTAAATTCAATGCGAACAGAAGCCCGTGGTTGAAGTTTGTTTTCAATACTACAGAAGATTTTAAAGAGGAACAAACAGCTCATGTTGCCTGGCTACAAAATGGGCGGAGCGTTGGAGGCGTGGTCTAAGAAGGTGGTCATCGCCCTTTTCTTTAAATACTTGTTCTGATGTACAATAGAGCGCATTTACATCAAATTAATAATTAGTTTTTTAATTTTTCCAGATGGCTGGAAACATATGTCGACTCGAAAAATGGGCCCATCACCACGTTGCGAACTATTCGCGGCTACGATTATCGACGTGAAATTCGGCATACTTCAAATGAAAACATTACATGTTCCACACGTGGATCGATCATCTTGTCTGCACAATTTATGGTGCTTTTGATCAATCGTATTAATTATGATATTTTGGTATTTTACGATTCGATTCATTCAGGAGAATCCTAGTTAGTCCGCTCTTAAAACGAAGGTGGGCGAAGTTTTCTGGTGATGACCTAGGAAATTGGAAAACTAGTGCCACCCTCGCAAATGTGGCTAAAATAAATTTGACTAATGGCCTGCGGCCTAGAAAAATAAAAGTAGACAGTATATAATAAAGTCTCATCAACCCTTTTGGAGAATGAACTGGAAACCCAAATTTTTAAGAAAATATTGACCTCCTTTAAAACGGTGGCCTACTTTTTCTGATGGCCCTAGGTTTTTCGACCAAGAAGCCACACAGCTCCATAGTTTCAGGAAAAAAAATAAAATAGGCTCCGCCCACATCTTCTTGCACGTTGAGTTAGAATATATACGAGCCATTTTTGCTAAGTTTTGAATGTTAGCTCCGCCCACATAATGATTTGAATTTCCCGCCCATTTTTCTCTCAAAAATATGAAGTGCCTGCCAAATTTTGCGAAAAACTCAATACTTTCAGGCTCTTCGCGCACGACAAACAGCGTACACGTGGAAACGGCTTGGCTAGTTCAGCGGAAGCGGGAATGGAGACGGGCGGTAGTTCGGACGGATATTTCTCGCGTACACCTGTCTCATCACTTTTCGACATAAAAGTGGTCTTGTGTGCCAGCATGTTCTTGGTCTCGTTCATTTTGGCCCTTCATCAGTATAAGTGAGGGCTTTTTTGACACGTGCCCTGGAAAATGATAAAACTCGGCCACCTATTTTTTCAGCCGAATTTTTTTAGTTTTTAGCGGTCACACGGGCTTCTCATTCTCTCTGCATTGCAGTTTCGCGCTCCATTGGCACTGGCTTGCCGGACAACGTAGGAAACTCGTGTACTCCACACGATAAAATTGTTCAGTTTTACATTGAAAACCGAGCCGTGACAAAGGTCGCCGTAACTGTACCCCGGCCGTGGCCGGTGAGTCAAAATGGCATAGTTCGGCAAATTCTTGAATTTCAAAATATGATGGAAGCCTGATAGAGCACGTGCGGTGATAAAAATGAATAAAGTATCCTGTTTTTTTTTCCAGAGGCGAGTCCACGATATTCCGATGTATTTTCCGATTCGCTTTTGTGAGCTCAATAAGTATCGGCGCGATGATCAAAAAGATATCAAGTTCTGAGTGGGCGGAGTGTATCGGCGGGAAATTCAGGCAACTTTGATCTTTCAAAATTTTCATAAAAAATTCGCGCAAAGATCAAAAACTCAAAACTTTCGGTTAATTTCGGCGCGAGATTCAAAATGTTTTTGGGAAATTTGGGAAAATCTAAAAAACGTTTAGGCGTTTGAAATTTTTTTAATTTTCAGAAATGATCCTGGAATGGCTAATCGCCGCGGTCTCCTGAAGTCTTCATATCACCCGTTAACCGTACTTCTGATATGTGTATCCGCGTGGCATCCTAGTCATCTACGAAATAAACCATTCGCTCAGTTACAATTTCTCATTTCTTTACCACTTTCGGGTTTTTTGCAAATTAAAAAAATTTCGATATTTTTTTTGAAATTTTAATTTTCCAATATTTTTATTCCACAACTCAGGTTGCTCAACTGTGCCTAAAATAATTTTTATTTCTTTGATTTTTTATAAATTTAATACAATAAAAAAATAATATTACACATTCGTGAAACACGGAAAAAAAATTCAGCCTATTTACATTAAAACACGTGGAATTTGAAATTTTAGCGATATATCGATTACCCCTTCTCGGAAAACTCGTAATAAATGTGAAAAAGGCGAGGAAATTGGAAGAATTAAATGCGGGTGTGGGTTTCTAGAAAAAAAAAAGAAAGTAATTAAAGAAAAATTCAAAATAATGCTCCGGTGTCATCGTGTTCCACAGTGGTTAGATTCTGGTATTTTGTGCTGATGGTGTGCTCTGAAATTTAAGAAAAAAGTAAAAAATTGAAAAAAAATTTCTTAAAATAAAAAAAATGAACTTGTTTTTAAAATTTAGATTCAAAAATAACAGTTGATATATTATTCATACATATGTTATCAATTTTAGAGAAACTTCAATTTTTCAACTGACTAACGTATACAAATCTACTCGAAAAAGACCTCGGAACTAGTTTCTCACTTGGTGGCCTAAAAATCGCCACTAAAACCATCGACCAATATGAGTTTGTAGGCCTCCATATGAAAAAAAAACTCGATCGGGGACTAGGTTTCCACATGTGGCCGATTATCAACTTCAAATGTTTTGGTTACCTAGATTTGTCAGAACTTGGATTACTAGTCCACTAAAAGATTTTCGGTGGCCTAGAAACCAAATTTGCGTGAATTTTTCATAATTCTATATCAATTGACTAAACCGAAAATAATGCGATGCTTATATTTCATCAGTTGGTGACACTATCCCACGTGGCGACGGGATTACGGGCGACCGTGCCATTGATTAGAGCCAAGGGAATTTTGAGCATACTCGTCGGCGGTGCACTTGGCGCAAAAATTTTTTCTCTTCCGTTAAAGACGCATGGTGGGTCTTGATCTAAGAAATTTCGTGATTATTCGAAAATTTTTTCCTTGTCCTTATTGACAATTTGTGTTTTCACAAAAAAGGCGGAAGTCCTAATTGCCAAAAATGTAGGTTTCTAAACTAGGCCACGAAAAATAATTCAGTTTTTTGCTTCAAACATCCTGCTTTTTGTCCAAATTTCGCTTTAAATTGGAAGTGGTGTCCGAACATTATTAACAAAAGTTCAATTTCTAGAGAACATCACTTTGTTCTAATGGGTATTTCCTCACATTTGGATTTCTAGCCCACAAATAACGTTTTTATTTCATATTTTTATAAAAATCGAATTAAAAGTAGATGATGACCTAGTTTTTATCAATAATTTGGGTTTCTCGGCCACCAACTTTTTAAACATTTTCTTAATTTTCCATAACCAAAAAAAAAAAACAAAATCGATGGCCTAACTTATTGCGCTTCCTAGGCCACCAATAACTCTTTTATTACTGATTTACCTCACTCTATGATGTCGATATTTCTAGTCTCGACTATCGCTTCCCACAGCCATCACACTCAAATGCTCCATTCGTCTCATGAGTGAGCGAGTGTTGATTGAGCCCATGCTTCGGAAAGTTTTCTCGCAGTCCGTTATAAGGTTGGTTCCATTGTTGGGCTGGGGTGAGCCGACGACGGGGCCGCCCGTATTGTCGCCCTTTTCCCGGTTTTTTCCGGTGAAAAAGTGTCGAAATAAACGCGTTATTGTCGTCTAATTTTGGTACATTCGCCGACATTGCGAGATTCTCCTGAGCCACTGTGACGTGTAATGTGATGGTGCTGATAGAGGTCTGGTGGTGGCTGAAAATGGGGAATATTCCCGGCCCCGAACATTTTCAGAAGTTCCAGGTCGAATCGTTGTTGAGCATCCGCGTCGACTACTTGATTGAGGGAGACGGTTCAGTTCAGGAGACTGGTGGATGGCAGTTTTATAGACATAAATCCTGCAAAAACTCAGGTTTGTTGCTAAATTTTTCAATTTATCATTCTCATTTCCGAAAAATTATAGCTTAATTTTAATAGATTTTTCGCTTGATTCTCAATTTCTCGAATAGTTTTGTGTCAATTTTTTTTTGTTTTAAATGTAAAACTACGGTATTCAAAGGGAGGAACACTAATTTATCCCGATGGGGCTCGCGGCGAAAACATTAAGTGCCTTAATTAAGCCTTGCGCCTGGAAGGTAACTGTAATTTTTATTGATTTGATCGATTCATTTCATTCAATTTGTGGTTTTTGAAGGTTTTCAACCCATTTTGAAAGCTGAAATTTTAGATTTTTATTTCTGACAAAAAAATTTTAAATGTTAAAATAATTTTTTTTCTTTTTCACACAAAAATTGTAACCGAAAATTCCGAAAAAATGCAATTTAAACAGCTCTAAAATATGAAAATTAACGCGATTTTTATCATTTTTTGCTTCAACTGACTTCTGGCAAAAAAAGGAAAATTCAGCAAAAATCAATTTTCCAGAAAAATTTGATTGATTTTTAATTTTTCTTAATCCGTCGTCCGTACCGTATGTAGCTTCATCTAACACCTTATCCAGCAGATTGCTTACATCTAATTGCACGTGGTTGCAGTTCTGAAAAAAAAATGTTTTTGAGTTTTAGAAAACTTATTTTGTAAATGTTCTAGGTGGGTTTTAATTGTATAATTAAATCAAATTCTTATTCAGTTTCTCCCATAAATCGCTCCAATTCCGCTTCTGATTTTCCTGAACTTTCTCCACTTGCCATCACGGCCAAATCCTGCTGCTCACGCAAAAATTATTTGACAAGACACGTTAGCTGGTTTACATTATAGATTGCTGGCATTTTTATAATCTGAAATTTGAAATTAAGGATTTTAGTTATTTCCGCAAAACGTAAACTTTTATCGCTGGGAAAACTCACATTTTTCGAACTTCGCCCCAATAATCGTCTAGTGAATTCTTGAATAAACCGTTTGCTTTCTTGACATAAAATTCTGAAATACCTCATTTCCCATGAATTCGCCCATTTTCCCATGGAAGAAAACCAATGGAAACACGGAAATATTTGCGCACAAAATCGATGCTGAAGTGTCGTCGGACCCAGTGTTTCGTGTGCAGTACACGCCTACGACAAATTGCGGACTTTTTTGTTATTGGAGAGAGTAGAATAGAGAAGAAAAAAGAAGATAAAATGGATAAAAATTGCGCGTTTTTCTCATTGTTTTTTCTCTGAATCTCTCAATTTTTAGGTTTTCGGTCCATATACGTCCCGAGTGGAGATGAAGCGATAAATTTTTCGCTAAAAGTTTCTTGCCCCTCCAAGTCGCTTATTCTTTTTTAATATGAAAAAAAAATGCTAAGATGCTTATCAAACCGCAAATTTTTTATTGGAAAGTCCCCAATATTTTGCAATTTATTGCTCAGTTTAAATTCAAGGTGCCATTCTGCAAAATTGCATTCATCTTCATATGTTACATTTTTTAAGTAAAAACTTGAAAACTCTGCTTTACATAATAGTACTGGAATTTTTCAATTTTCAACATTCAGGATAATCTTTGACCATTTTTTATTGAAATTTTCAATAAAATATTTAAAAGATGTGGCTTTCCAAGCAGATTTTCCAATTTTTCCGAGTTGAGTAACTAAGTTTCAACCAAAATGATGTCACAAGTCAGAAAATTTCCCTAAATTAAACAAATGGTGAAGAACTTGATATAGGATTAGAACAAAGATTGAGTCTTGAGATAATTTCGGACATTTTCGGAAAATATACGTTTCCTGTAGTTTCAAATAGGCAATTTGACTTAAGGTTGCTAATAACATTAAGAAAAATCTATAGTCTCCACCCAATTCAGATTGGTTTTGTAGATATTTTCAAAATATCGTGTAACGAAACTACAGTAATGCCCACTTTGAAATTAAACTTAATCCTGTATTGCTTTTGTCCATCTACGGGCTCGATTTACGAAATTAAATTTAATAATCTTTAATCTATAGAATATTAAAATTAAGCTCTAAAAAATGAGAATATAATTACGTAGAAATGAAAAATGGAATCTCGGTGTAAATATCCGAAATAAATTCATTTAGAAAATCGAGCCCGTAAATCGACGTTACGAAGAATTACTGTAGTTATCGCTACGAGATATTTTGCGCGTCAAATATGTTGAGCAATACGCATTTTAAGAATTTACTGTTATCGTAATAGTTCAATTTCGAGATAATAATTCCAAAAACAATTGTGAATTTAAGGTTTTTTCCGTAATCTAAAATTGATTATCACTACACTGGACACTGTTCAAACTTAACCATTCAGAACTTGTATAATCCATCTCGGATAAATTGTTGGTGAGACAAAGTGTAATCTGTTCTAGTTGGGTCACACGATCCCTTTTCCACTCACATCGCTTACCCACTCAACACTATAGACGATACACTCACACAGGAAATAGTATTGTTTACCTGTTTTCTTCTGGACACTGTTTATAACTTTTCCCTGTATCTCCGTTTCTCTACCTTTAAATTTATCCAAAATTAATAATTTTTTAACTCCACATTCAATACTCATTTAATGACCGGTATTTGCAGAAAATATTTTATTTTTATTTAGTTATTACAGGAACAGTATACTCTAGGAATTCGTATTGCACAACAGATTTGACGCGTATCACGTTAGCTGGCATAATATTAGGCATTGTCTCTACAATCTTGTAATGTATAACTGACTCTTTGAAATAAGTTTGTAAAAATTGTGAGTAGGAAAACATTGTGCATGGATGTCGCGTTTCGCGCACGCGCTAGAGTAGTCATAAACCGCAAGATTACTGTTGTTCTCGCTACGAGATATTTTGCGTTCGGCGTCAAATATGTTGTGCAGACATTTATGCATTCCTCAGAATTTTGTGTTCACGTACTAATAAATTAACTTGTTAAAAGATATAATAAAAAGTGTTAAAAGATACAGAGATCTTTTCTCCCTTCCCTAATATGTTTAACTGCATATTCAATCATCTTAAATTGTGCCGAAAATTTTTCGTTGTCCAATTGTTCGGAATTTTTTCGGTTTTGCTCGAAAAAACCAAAAAGCAAAATTTTATAAATTTCCCTGGTGTTCAAAATTTTCCCGCAATTTTTACCGATTTTATTTGCAAAATATTTTTATTTATTTGAGTTCCCCCATGTCACACCGTTCGATGTTGGAGAAATGGAGATAATTCCGCTGCATTACGGAGCACGTTGGGATTTAGGACTTGACGTCTTGGCGAAAGGTTGGTAGATTTTAATTTGTTTTTTAAATCCTGGCCTTGCACATTCTAGCAGGGAGACGTCACTCTGAACATTGTTCAACATATGTAAATTTTAAATTCAAACTACTTAAAACCCGGAAATCACTTTGTGTCAGATACACAGAAATAAACAAGTTTTACCTTTTAAAAAACTTAAAACCATTGAATTTTTCACAAATGTTCTTTGAGACTTGAGATAATCTAAATCCCAAACTTTTGGAAAAAAACTGAACATAGGTAGCCTAGAAAATGAAAATTTTCAATAGTTGTGTTTTTCAAGTTCAAAGAAAAAAAATTGAATTTTTAAATCGTTCTTTTTTTGGCTACAAGTCAATAATGATATTATATTTAGTTTTTAAGAACATTACTAAAATGAGTGCATATTTAAAAAAAGTGTTTGTTTCGGCGAAAACAACTATTAGTAATTCCGTGCACTGCAATCATCAGATTAGTGAGGAATTTAGTTCTATTTTTTGCTTGTTTTTCTGTTTCAAAGTCGTTTTTTCATGAAAAATAGACCTTAGCTACAGGTTCTTTTGAGAAATCCCGCATTATTTCAATTTTCAATTTCATGATGAACAACGTTTTTGGTAACACATTTAATTCTAGTAGAATATTATCAACTTTTTCTCTAATTTTTCAAAATTTACACTGTTCCTAATAGTTTTTCTGATCAATGAAGGACTACCATTTTACGACAATATTGCCTTCAATTTTTTCTTCTGAAAATTCGAAATTGATCTGAATCAATGGTGCCGGTTTTCTTATTTCATCCCTGAATAACGAAATTGATTTTTATTTATTTTTCAACAATTCCCGGAAATTTCTCTATAAAACAAATGAAGTGAAAATCGATTTTTTTACTTCGAAAGTTAAACATGAAATTCGATAAATTTAATCTATGATCTTTCAAGCTCCGAGTTTGAGGCGGGATGTTGATAATTAGAGATATGCCGGGGGAGAACACGACTCTCCAATTATATCTTCGGTCGAGAAATAATTTTAAACATCAATACTATACTAGATTCTAAAGAAAACTAATTTTTTTCAATAAATAAGTGTTATTATTATTCAGGAGAATTATTTTGCTTCTTGCTCGAAAGAAAATAAATCCGAATCAAAAACCGACGCATTTACAAGTCCTGAATTTTGTAGTTAGTCAGAGATAGATTTTTATTTAGCCTCAAATTCTAAGAATTCAGACCTGGCTATTTGCCGAGCCTAGAAAATAGAACAACTAGGCCACCGATCGAAGATTTTGTGTTTTGCCGTTGTCAGGCTACTGGCCTAACTTTCTCTATCTTAAAAGATTCCCAAAGTCAAACTACTGGCTTTCCAAAACCTTAATGTAATGAACTTGTGATTCCAAAGATCTGATGTCAAGAATGTCCATAGTTCATATATACTCCAACGACACTTTTGGAATTTATTTTAAATCTTCATGGTTTTCAAAAAGAATCCACCAAATTATTAAGCAACGGGGTTTTCCTTTCTAAACAATTGTGTGACACAAATCAAGGAATTCTCCGTCACTTTGTACAATTTTTCTAGTTTTGGTGATTTCCCCTGATGAGCTCAACGCCAGGCGGAATAGCTCTTTCCATGCAGGCGTTAAAACGCCTGCCTGCCTGACTTTAAGGCGGCCTCCGCCTGCCTAACGCTTTAGTCCTAGTCATGTGCTAAACCATACATGAACTATTTTTCTAATTCTTAGTGTCTTAAAATTGATAAAAATTAGGAAAATCCTTTTGAAATCTGAACTAAATTTCAAGTAAATGGGCGGCAAACTTTGTATAAAAAAAAAAAGAAAGCTCGCCCACCACTTTTTCAAAATTTCTTGCCGCTATCTTGACTCGAAGGCGCAAAGCCCTAAAACTTTAGAAAACATCCCCGAACAAAAAAGTAATACATCCTTCAAAGTGTATGCCCCCCCGTGTATATGTCACCTGTAGACTCGTCGAAAACGTTTGTGCCACCCGGCTCTTTACCTCGTCTCCTCTTACTCATCATTTTATGCCCCCGTAGCTTTACCGTCGGCTAATGTGGTTCTTAGGGCGTAGGACGCCATTGATTTTGCTCTTTTCAAATTTTAGAATTTATTTCCCGGTCTGATTTCACTCAATTATCAGACACCACATCTTAGTTTTTTGACATGTTCAATGCTGGAAGCAATTTTCGATTTTTTTATCGACCATGGCCTACAGGTAAATTACGGGTCAATTTCCTGAAACGGACGAACATTTTTGAAAGCAAAACAGTTAGTTTCGCTAGAATTTCTGATTTATCGAAATAAAATCGGGCACACCGAACAAAAGTTCGTTTGTGTCAGGAACTTAACGGTACGCACTTTTGCTCGGACAAACCACGTGTGGCTGATTCAAAAATGTCCAACTAAATTGACGTCTTGAAAACATTTTTTACCTGAAAACCGCTAACAATGTCAGGTTAATCCGATTCAAGCGCTATTTTTATAAATCCTGAAAGTTTAAGATTCCACACGTTGTGAGGGAAATTGACACATTTTTAGAAAACCTGACCTCACGGTTAATTTTTAAACACTTCGAGGGCCCAGAAATCCTAGTTTTTTTTCGGGTTATTCATAGTTTTTCTAGAATTTAATTCCACATCTACATTTCTAAACAAAACTTTTGAAGGTCCTTGTAATTCTTCTCTAGTTCTTTATTGTTATGTCTTCTCCAAACTAGGACGAAGCGATAATTACGGGGTTTGTGAGGGAAGTTTGTCGTCGGTCCATTTGTTTTGAAAATGAGAATCGGAACTTTCCTGTCTCCCGTAGAAACCAATTAAACGACAACTTTTTTTTTTCATTTCGTTCATTTTGCAGGCATGCTAGCCTCGTCTATTGGAATTGTTTTGTGAATGCTAGTTGTGATTAAAAAATTAATCGATTTTTTTGTAGTATGAGTTCAAACAAGCCGAAAAAATAGATCAAAACTGAAAATTTTATAAGAAAAATTTCCGTATCTAGTTTTCAATTGGCCAACTTATAATTTATATACTCTCGAAATCAAAAAAAAATGTACTTCCTATATTACCCACAAACATCGAAAGGGAAATCCTCTATTCCCGTCAATTATAAGAAATGTGAGAAAATCTTACTCGATTCATGGTTGCTATGAGACAGATTGCAGATGTTTCACCGGATAAACAAGACGTTATCATTACTTTTCAGTAATGCTCGTTTATTTTTCTATTCCATTTCTCGAATTTTGATAGATGTTGTATTATTTAGAGAGCACTAAATTCTAAGAATGCCATCGTATTGCGCAACGTATTTGCATGAGGCACAAAAAATCTCACAGCGAAAACTACATGACGTAATCCTTTAGCTACTGTAGCGCTTGTGTCGATTTATGTAAATCTTGTCATATATTCGTCGATATAAATTGAAAATTAAGATAAATAATAGATAAGCGAAAAATTAATATCGAAAATCGAGATTCCGTAAATGGACACAAGCGCTACAGTATGTAAAGAATTACTGTAATTTTTGCTACGAGATATTGTGCGCGTCTAATATGTTAATACGCATTTTTAGAGTTTTGCCTGATTATGTAATGCGTATTTCCTCTGCATGCAAGACTAACGATTGGTCTGTAGAGGTCAGTTGGCTGGCTGACTTTTAATACTTATGTTCCTTCAAATGTTCAAGTACGATTAGGAACCCTTTCTCTCATTTCACTAGTTTACCTTAATGTGTGTCTTTGGCTAGCTGAGACGATCATCATTTCTTTTGTTTGTATTTCGCAGGAAAATTGTGAAAAAAATTGCAAAAAATTGAGAGCAAGAAAAGTAAGTGCACACCGATTATGACTCGTTGTACCACGATTTCCCCCTTCGTTTTCCCTCTAATTACCTATACGTATAGGATTAACTAAACATGATCCCGGGGATCACCAGTTCATAGTTTCCTTATCAATTTTATATTACTCGTATGCCTTCCTCGTTTTTTTTTCTAAAGCCATGAAAATGTATCGCAGCGGGTCGTAGCAGGAGCACAATGTACTCGAGCTCGTCACGAAGGCCGTACGGCTGGTTCCGCTTATTAAATGGTTAAAGAACTGGGTCTTGATTCCTACCAAATTCATTTTGATAAATAGTCCCTATAGATCATGTAATAATATAGGTTGACCCTACCGTGTTTTCCAGAATAAAGTTTTACAATAAACTTTATAGCATGGGTGTGCGGCAACGATTTGGGCGACTTCCGTTTTCCGAGATCAAATCCGAGTTTGCTGCACACATGAAAAATGTTTAATTAAGATTTTGCGCAAAATGTAGCCCCTGGTTTACACCTTTTTACGATATTGTGAGTACATTCGAAAAGGATGTTTTGATTGAGTATCCCCAAATCAAAAAAGAAAGTTGATGAGAATTTAAAAACTTTTAAAGAACACATTTTCAGGCACAAGGCCGAACGGCAACCGACTACGCGGGTCAGAACTACGAAGAATGTTATGATAGGTTAGATTCTTTTTCTATTATTCCATTCAGAATATTACGAATTAATGCTTAAAAAAATTTCAAATTAATTTTCGCCGAAATCATCTGCGCCTTAGCTCCACCCAGCTCTCTAGATCGCAACCCGCAATAAAGCCCATAAATCAATGGGCAGCTGCTGCATGGTCCGTAGTGTATTAGTCTGTCGTCTGTCCGATCAGTGCGCTCCCGATAATACTCTCCATTTGTTTCTCGCTTTTTGTAAACTATGTGGTCGACAGACCGTTGAAAGTCGTATCAATTGCACTTTTGTAGTTACCGATAAAATTGCCCAGATCGACGAGTTTTCCATAACAATTTCTCTTCCATTTTCATCTAACATCTGTGACCCCGCTCATTAGTGTTTCTCTAGCCGATGCTATTCCAGGTTCCCATGGCAATGTGTACATGTGTGCCTCGTCGAAAGTGAGCCAAAATGCTCTTTGTATTAGGTTCATTCATCCTATGTTTTTTGTCCTCAGTGACCTGCAACTGCGCAGAGTTAAATATTAATTGGCACTGAAGAGAGGCCGCTCGGGCAAATAATTTTACAAATTGATTTATATTTGAAAAATGAGACACTATGTTATTATCGCCGAATTCGTTCTCTGAGTATCGCTGCGTTCATATCTTTGCACAGCTGCTCTATGAACAATTAAAATAATTTGTGGGTCCTGTAACGAAAAACCCGAAATAAGTCTTGCCTATACAGGAGTTTGTGGAAAGTTTTCAAAATTTTTGATCAACGAAGGAATTTGGAGACGTAATACGATCACTAGCAATCTGAATTTCTACTTTTGTGCCCCAAAATGCTTTTTTCATAAGTCCCATTATCCAAAATCCGGCCACCTTGCTAATCATGATGTCCATAATAGGCATTGAGGCAAATCTAGCGCACTTTTTTGTCCGATGAAAGACTTTTTGATAATACCAAGCTTAAACCTTATTCATATTGCTTTTAGTAATCCTATAAGTTTTGTTTGCAGTGGTTCAGAATTGCCGAACATTCCAAATTTTTTGATAAAGGTTTTACATATATGTTGAGAAAATAAACTCAAAAAAATTAACAATTAGTTCATACGTTATTAATTCCAACGAGTTTTAGTGTAAATATATATGTGGTCCTCTATATATTTTGCGTATTACTATTATTATTGATTCCCTCCAAAGCTGAATGTCAGTCTCAAGACTACCACGTACTGCTCAACTGTGTTGATTCCCTAGTATTTTCAAACGAACAAAAAGTGACAATACAGTATACTTTAAACTAACAAAAAACTTTGTCGAGTCTATCGATCAAACTAGCGAAATCCGCCCGTTAAATCGGTTCTGTTTCCCGCCACCAACACTTATTGTGTTTTCATAGCTTTAACTCTTTGACGGAATTTCCTTTCTTCCGATTTTTCAAGCGATATTTAAGCCCAAAACTTACTTCAAAGAATCTTAAAAGGGATTTTTACAACACTCTGGATCAGATTTTATGAATTGTTTCATTCGCAAGAGAAGAGCGACTCAGTGCTATAAATGGAACATTCACCACACTATCTCCACATTTCATCTCTATTAATTCATACAAGGACACTAAAATAATCCCGGCCCACTTGCTCAGACTCTGTCTCGCGGGGGACAAATTTGAATCCATTCTGTCGGTCGACCATTGAACCCCCACCACACAATATGGTTCAGCGGGGGGAGGTCCAGTTTTATGGCTTGTTATTACGTATACTGCTAGGGGAACCCAATTTTACCGGACCCCGTGCGGAATATTCAAATTGGAGTGTGTGTGTGCAAAAACTTTTATGGTCCATGTCCAGCAGACCAGCCAGCAGCTGCTCCGATCAATTGCCGCTTCAACTTTCTCCACTTTCCCATGGGACATCTAACCTTATTTGTCGTTCTTCTAGTTTCTCCTCTTACTTCTTATTCTTCTTCGTTGCCCAAATTGTGCTCGAAGAACTAGAGATCCTGAATAGAAATAGGAAAAGAGCACGAAGACATTATTTATGTCTTGTTGTCCATGGTTCGCCTCGAGTAGTTGATTAGGAGCTTCTCCTTGTTGTCTTCACTCGGTCGTGTTCTATATTTTATGTCCACTCTTGAATTCCTGGAGTTTTCAGTGCCCGCATTTCCTGGTTGAGCAGTTAGAAAGCTGCAGGAGTTTCCAGAATTTGATCGATTTGCGGAGTCGGCTGTCGTACTACTTACTTCCGGATTATAAAATTCTGAGAATCTCGCGTATTGTACACCATATTTGACGCGTCAAATTATCTCATGGCGAAAACTACAGTAATTTTTACGCGAGAAATAGTCGAGGCCCCCTAAATCTAGAGTTCCAAGAGCTACAGTAGTAATTTGTTCTAACAGAATTACTTCCGAACCTTTCTCATTTTTCAACAATTTTTTAACTTGCGTAGCGGAAAATTAGCGCTAATCGCGTCAAGACCCAAAACAAAGCGCCAATTTCATCAAGAAATTTGATGTAAAAGTTTGTGAAAACAACCGTCACTACTTCTGATGACGAATCCCTACTTCGACCCGGGCCCAGTTCGTTAAACATTTTTGAATTTACTGCCACCACATATCTTACTTCATCGACCAAAATTCAACGTGCTGCGATCATCATCTTCATCTCTGTCTCATCATCTCGCCCAAATTCAATTCCGTCACTGCGGCTCGTACTGATTTTTTTTCATTTGTCAATCATTTAGAGGCCAATGTTAAAGACCTCCTCTCAATTTTTTTCTGTCTGTCATTGACCCCTCTGTTGCGAACCGATTCAGAGTTTACAGGGTAAACAAGCTCGCTTTGTATATAATGTTGATTTATGTGAGCGAGATAGTGAAAGAGAGAAGAGTCTTGTAGCAGGAATCTAAGCGTTTCCTTTGTTTCAAGCTCTGTCAAAGTGTCAATCGCTTTCTAGCTAGATGATTCTTATGAAGCTTTGAACATTCTAGATTTAGTTTGTTACCTTCAACATTGGTGGTCTTTCTTGTCCAGAACTGGATAAGATTTATCGTAGCCTTTTGCGAAACAGTATCAGATTTCCTGCAGGTTGTACAAGGGCTTTCGCGAGGCGGTAAATCGCCTGCCTGACTTTAAGGTGACCTCCGCCTGCCTCTCGCCTCAATACGTTATGCACAAACGGGAACTTTTAAAAAAATTTTTTCAACAAATTGATAAAAAAACAATTTGAAATTTAAGGTCCCTGCCTGCCATAGAAGCCCTACCGTGTTCCACTATTGATGCGCTTCATTCTATTACAAATCAATGTAACGAACTCCGAAGTTTGATAGCCCGAGGCGTTTTCCTTGTTAAGTTGATATCGATTATCAGTTTGACCAACCAAACTCCATCGAGTTGGGTAGATTTTCAAGGAATTTATAGAATTTCGTAGAGTTTTGGACTATGTTTTGCAACGTTGAATGGAATTATATTTGAATAGGATATTGAATAACTTGTTAATGGTTCAAGGATTTTAGCACCCTTTCCGAAGTCTAGAAATGTTCCACCCTCAGGTGCCGATAGTCGGCTCCCGTGAGAACTGTAAACCGATAATCAATCAATATTGCGGGTATTAATTGGCTAATATACATAATCCCCCTGAAAAGTTATGTGAATAACGGCAAACCCCAAGAAAGAAACGACCATTTCCGAGGTGTATCAGAATTTTAACAAGACCTACTTAGGGTACATAACCCTATCAGTTTCAAAAACAGCATGTCGGGATTTTGTGCTACCATGGTAGACAGGCGCGGAGGGTCTGATGCTTGCCTGAAAGCCGGGCAGACAGGCGTTTTAATTGCTGCATGGAAGCCCTAAAATTCCGCATATACGGAACCTAAGCCAATTATCAAATTCTACTTAAAAACTCATTCCACAGGTGTTCCTGTTCTGCTGCATCATCGTCACACAGACACTTACACGCGGCTTTTCTCATTTCCCACTTTTTCTTCGTTTTTCTCGCTTTTTCTTCTTCTCGACACGACTTAATATTCGGATGGATGACGCCGAAAGCCAAAAGTGTTTCCGTCGGCGTTTCCACGCGCACTCGTACTACAAGTGCCACACTTACACACTTGAAGCAAATAGAGAGAGGTGCAGGAGGGAAAGGAGGGGACAACTTCTGTAAGATAAACTACCTCTATTTGAGTAAAGAGTGCAAGAAATATATGCGCGTGTGTCTAATGAGAGGGTCTTGGAGCGATTTTTAAGCATGTACAGTCATGAATCAGGCGGCACGTTCCAGCTTTCAGGCTCTGAAACCGCGTCTGCATACCAGGCAAACCCAACGATGGTTTTTCTTTGCCCTCAGGGATCCGTTTCTTGGATAGTTTTAGTCTTCGTCCTTTTTTCTTTCGTACACTTTTTGTAACTGTTCAATAGTTTCATCTAATCGTAGAAATTCGAGAAAAAGGATTTTTCGAGGGTCTGATAAAAGATCCCAGAATGTGTCTAATTCTAATTCTCTCCAAATGCCCAAAACGAAAATTTTTCGACAGATCCTCGTATTTCGAAATTCAGGAAAACATTCGGCAAAGCTGAAAATGTCACAACTTGCCAAAATGAACAATTTCGGCAAATCAATAGCTGTATTTTTCAGCAACTTTCGGTAAACCGGCAGTTCGCCAAAAAAAATTCGGCGATGGTCTCGACTCTAGAGTTGGGCGGCAGACAATTATTTCGGGCAAACGCAAAAATTAAAAATGGAAATTGGTGTTCGGCAAATCGACAATTCCGGAATTGAGAGTTTCCTGTAAATTCGGCAAACCGTTTGCCGAAGGGCAACTTCTCAGAACTGACACCCCTTCCAAAAGTCCGAAATTTTTTTAGCTTCACCCCCTTCCCTCCCTTCTCCGGGTTTTTTAAAAACCGGACGCACCTCTTACAATTATTACAAACACCACTACCATCGTACGTATTAAACGTCTCTCGTAATAAGGGGGGCCATAATATAATGGTTTTTGTTGTGTTTAGTTAGCCTCCTCTCTACTTCTCCACCATCATCAAAGCTACCCACAATAACATTACGATCATCAACTGACTACTTTTGTCTTTCAATATTTGTAGTTGTTGGGTATTTGAATTCTTATCCACTATATAGCTCCATCCCTATGTTGAAAATTTGAAATTTTTGGTAAATTTGAAAGATACCAAGTTTATGTATATTATAGTATATTATCAAAATTTCCGGTAAATTTATATCCTGCAAACCGCAAACCGACAATTCTAGCCGGAATTGGAAATTCCCGGAAAACCGCAATTTGCCGATAATAAATTTGCCTTTCTTGATTCTAGGTAAAATTTAGTACGTGATCCGTTTTTTCTTTGTAATATTAAAATAGGAATATCAAAATTTTTTATTTTTTTATTGCAACTGCAAATTATGTTCAAATTTTATAAAACAATTGTAAGTGTGAATTTGCACACTAATTAATTTTCTTATTGATAGGTATCAGTTTTACTAGCGGGCTATCATGTATGTACCAAAACGCCTACGGCGCCTTCTGATCTAGTGCGGTGTGACCCGAAAAGTGTCGGAATCATCTTTCGCAGTATGTGGTGCTGAAACCAAGCTTTTGAGTTCTCGCCATAGTGCGGCGAGAGGACGGCATGAGGCGGGAGACAGGCTAGTAGCAGGGCAGGCTTCAGGTACTGTGTCGCGTCTGCCTCCCAATCATTTTTTTTCAAAAAGTTGCAATGGAAATCAGATTTTCAAACGCAACCTGTCTTCCCCTTGTACTATCACAACTTTTACTTGATGATAGTCGATAAAACGCTGGTGTGAACGCGGCGAGGTGTAATCGTGTGACAATACAGCATTATTCTTTTTCGCAAAAAAAAACATTCTTTTGGGTATTATCATTCTACCAACGTATCTTATTTTATCGATTGGTTTTTTCTCCGGCGCGGAAAAGAAAAAATTGAAAAAAAACGTCAAAACAAAAACATTTGGAAAATATAAAGGTGGATATAAAAACGGTTTCGAACTTTTTTTTGCCGCGAACAGAGATTCATTTCCTGTTAACCATTCCTACATCTTTTGACGCTAAAGCAAAACAGAGACAGTCGAGACTGTCACATAAAATATACGTTTTTTGGTATACTTAATTATTCACAGGTGCCCCTTTCTAAAAGTTTAATATTTGTCGCGAAAAAATGCAAGAAATGTTTTTTTTCTTAAAACTAAAAACTCGAACTCAAAAATAATAATTGGGTATTTAAACATTCCGGCATCTGGGTCCAATTTCTTCCCGTTCCTGCCCTTCCATTTTTTTCTTCCTGCACTTACTCGAGTATTCCGGGATCCTCTTCTATTGCTGCCATAAAAGTTCTTCCGCTTCACAGAACTGCAGCGTATCCTGCTTCATATCTCGTTGCTGAACTCCATATAGGTTGTCATAGCTCAGTTTTAGACGGATTCAGGTAAACTCGAACTTAATTTCTGTAGGGTCTCTAGGATGAAGTACAGTAATAAGTATACGATGTGTCAAAAATTTGGCCTAAACTGTCATGACGCTGCTATAGATTACGGTGATAGAAATTTGAATATGTATGAAATAAGTGAAAAAACAGTAGACTGAGCCTTACTCAAATTCACATCCGTTCGAGGGTCCATATTCCTGAGTTGTGAATTTCTGTTGGTTGCAATTGCCGTAACTTATAAGGAAATTGAACAATTTGGAATTTACAGCACAAAATTAGTTTGGTGCTTCTAGAGCCCATTTTATAAAATATATACTTGACACGTGGCACTAATAACAACATCTCAAGAAATTCAGGAACCACAATCGTTTCAGTCCGAAGAAGAGTGTGGCGATCGGCAGGCGTGCCGCAGCGAATGGATCGGGTGCTGCTCAACTCGAGTCGGGAAGATCGCCATCCTGGTCATGTCAATCATTGTATTATATCTTATCATATCAGGTTGGTTTAAATATATTACTCAAATTTATCTGAGTTTACAGGACAATGAATGGCTGTCAGCATTAACGCCCTCCGACTCACCACAGGCAGACGGACCTCAACGAGCCGCGGCCTGGTATTAATTTAACAAGGTGTGATTGGGATATTACTATTGTGGGAAATTGCTCGATAATTCCACACTTATTGAGTTCACAATTAATTTCTACTTTATTAACTGTGTTTTTGGTAAAGACACTTTTTCCCCTCCCAACGATAATTCTCCTAGATTTTTTATAAACTTACGACATACTTATGAAGCAACGACTTGATGCGCAAATCGCAAAAAAAAAACAGAAAAATAACTATTTTATGAATATTACCATTATCGTATGGTGTCGTCTGTTTTGTTGTTAGTTTTTTTTTACTCGAAATTTTCTTAAAACACCGAATTCCACATTGAATCAAATTTCTTAATAATTTATTAGACAATTGGCGACTTTACAGAGCCAATCTCGGCAAGTACTCACCGGATGTATTATGTGATGCCTATGAGCGAGCAGACGTTTCCGGAGACTATTGTAATCGACTTTGCTATGATCGAAACTGGAGTTACTTGTCACTGACTAGTTTACGAAGGGCGGAACAAGACTGTGGTCATAGTGAAAGATGGCGGATAGATTGCTGTCTATAAAAGCACCCAATGTTGATGGATCACTTCGACGAGCCGAAAGACATCTGACGGATGCCCAGAGTTCTCTGATCGAGTAGTAGATATGGTGAATGATGAGCTGAGATTCGGATGGCCGAAACACTATCGACGGAGCAACATTTAATGGGGACTGTGGCCGACACACTGTTACGGACCAGGGAGAAGCCATGTCGAAAGCGGATCGATCCTTGTGGGCTTTGTTCAAGCAGCCTGAATTCATCCTGTGCCGAGTGTTACCGTTGAGACGTGTCACGCCGAAGCTCTTTGGGACGTGTGAGTATCAGACTGAGTCACTGGTGGTGTTCAAGATGAAAGGGTATTATACGAATTTGAAGGTGGTTGGGGATTTTTTTTTAAATTGATTTTAAAAATAAAATTTTCGCTCAATCCAAATTTACAGGCAAAAATCTTGGTGCATGTCATGGGAACCCTGAAGCTCTTATACGAATTTCTCGACGAACCCCCAATGGTGTGTTCGATTTGATCTCGGGTTAGCAGCAGCTTATGTCCGAAAAGGTAGGTCCGCCTGTTTTTTTATTTGATTTTTTTTTCCGAAAGAACCTCCATTAATTATTCGAAACTTAATTTAAAAGTTATTATGAATGATTTTTTAAACAAATTTAAAAATTGATGATAATCCAACAGGCCGGAAACTCAAACTGTGAAAACTGTCCCGTAAAACTCCATATTTCTCAATTTTTCTGCAGATTCGTTCTAATGGACGGTGACATACACGAAATCGACTGACAATTGGATTCTCTCCTAAAAGGACGTCTGTGTGAAAGTGATAATGATTTAAGAGTAAAGTACTTGGAGACTGTGAGGCGAGATGCATTTCTAATATGGTGTGGTCGGCGAGGAGTAACGGGAATGGTAAGCTTGAAAGTTGTATGAAGTTTGGAAAAATTGTGAAAAATCAATAAAATCGGCAAAAATAACTAGCTTTTTTCCAGATGGCCGAACTTGTTTTGCATCGTCACCTGTGGAAAAAATTGCTAATAATGCAACAGCATCTTGATGTTTTAGTATTCATAAAAAAATAAATTCGACAAAAACCTTTTTGATTTTTCCAAAAATCAAAATCACATTCTGATGCTCAAATTGAATTTTCAAAAAAAAATATAGAAATTTCTTTTTTAATGCTCAACAAACGAACGAATGTCAAAAAAAAAAGAAGTGAATTTTCCGAATTTTTTCGCTTAAAGAAAAACTGAAAATTTGAGGAATTTCAGTCAGAAATATTTTTTTTTTGATTGAAAGGATTTTATTTTATAGAATTTAACTTCCACTATTAGAAATTACCTATTTACTTAGTAATAGGAAAGTTGTGAAAATGTTAGGAAAATTTTTTTCAACTGTACAATTTCCCGGACAGGCCTGTCGTTCCTTTTTTTCACAACGTAAAAGAAAAAATTAATTAAAAAGTTCAAACTCCTAGTATTTATACATTGATTTTGCTTTAAAACAAAGTTTTTCTTGATTTTTTTGTGTAAAAATTGCAAAAAAATCCAAATTTTGTAGGTCTTCAGCGATAAACTGGTCAACATTCGCTCGTTACAATGGTCCAAAAATAAAAAATATTTGGTCGCATGCCGGGATACAGTAGAAAACAACTGGACTCAACGAATTACGGTTAACAGGGTGGGAATCTGCCGGATGTTTAAAGGAATCTAGCTCTATTCTTTTTTTTTTTCTTCTACTCCATGTGTCAAAAAATCCCCATGTCTTATGATTTTCTGGTGCTTTTTTCCATATTTTGCTTTTTTTGTGTTCTGGTTCATTTTTCCATGGCTCACAGAGCCCGAAAGGAACTTAGGATTTTCAAATTTTTCGTTTTTTTCTCATAAGTCTGTCATCATTTTTTGCTCTGCATCATCATCGTCATCGTCAACTTCATCTTAAAGGTTTTATTAAGGGGTATTATTACACTTTCCTCGAAAAATTTTGACGAACGTATATGTATGCTTCCCCTGCACTGTCTCCTTGCATTTGTACCTTCATTGTTACGGGTTTCAAGTTTTAAAACTGTGAATTTATATCGAAGAATTTTAATTTAAAAAAAAACTTTGTTTCCTTTTATGAATTGTTACAGACAAATTTTTTCTCGGCTTGAAAACTGAAGAATCCTAACCCTGACTAAACTAACTATATGTGTTGGGTATCAGCGTGTATTGGTCCACCCACGACGTCATGGCTAAGAAGATCGTACAACGTGAACTCTATGAACTAACTCTTTATTCCTTAGTTTAGTACACGCTAATAAACTACTCGTCTTTTCCTCCTCGTCTCCGAATACACAACATTATGAAAAGAGTTTTTCTTAAGATAAGAAATGTTCTAAAAAATCGATGGCCGAGTTTCCTGTTTACGCGGGCGCAACAGTAAAAAAGTGTTAACACAAGTGAGAAAACTAGACGACATTTATTTTCAAATTTCACCCGATTTCAAAATGTCAACAAAAAAGTCACAAAATTTAAAATATGAACAATCAATATCCCGCTGGCGCTGACTCCTCCCCTTATCCGAACTGTTCGCAGAGATTTGCCGTCGGAAAGTCGTTCGGCGGCGGTAACAATTGTCAAATTGTTCACTACCTCCATTACGTGGTGAACCACGATCGATCAGGGATTTCAAGACGTAGGTTCGGGAAGTATGGTACCACGTGTAATTTGGCTAAAAAATGAGAGGAAATTGGGAAAGGTTTTGATTTTATTGATTGAAAAATTTCATGTGAAAGTGGAAAATTGATTGATAATTAAATTCAGAAGTTTTTTTTTTGAAAATTATTGATTTTTATTTTTGAGAAATCCACTCTTTTACTTATCGCTTTAACGAACGAAAAAACAATCAAATTTCGCGGGCTCTTAACTGCTTGTGCATCACTTGGAGCATCAACAGCTTGTTTAACATCTGCTTTCAGCCATAACCAGTGCAAATCCAGCAACACCCGAAATAATGGTGGATCCACCGGCTCCGCGACCGCCATAAGCTCCGCCCCTTTTGTGTTAAAGATCACTAATGGGCACTTTGACTACTCGCCTGATGCGTTTTCCAGGGCGAATGAAATTGGCGGGAGACGGTGGGAAACCGAAGAAAAAATTCGGAGGACCGGGAGTGGAACGTCCATTCGTTATTCCACAGAATTCCCGTCGATTCGGAGGATACTAGGCCACCAAGGCTGGAAGAATTTGAGATGGTGGACATAGAGTTTTTTTGGCGTGGCCGAGAAAATGTCTTCATATCCGAAAAAGTAAAAGCGATGGCCTAACAGAAATTTATGTGGCCACCATATAAACCGATTTGAACTGAATTCTGGCCTAAAAATGAAAGATTCGTCGTCCTAAAAATGTTTTTAATGATTGGGCCTAGAATTGAAAGGCATGTGATGGCCTCCAAATTTCAGGTGGGCACCTATATAGACTTTGGTTGATAGAAATTACACGTGGTCCAGATTATGAAATCACTGCGGTATAAAATCCAGGTCTAGGAAAACAATTTACTAAGACTGCCTACCAAATCATCCCCTGGCCTAATTCGTTTAAATTTTTGGTGACGACCTCGAACTTGTTCATTTTTATCAACTGCAGAAGCCTTGCTAGTCGACTGAGGACACCTTCTCACTTTTGGCGCTGGCCGAGTTTTCGAAGGTCGGCGACCAAAAATTTCCTTTAAAAAAGCAACTCACTATAAGTTAATGGTTAACGGTCGAAACGGCATTGCTGTCTGCATCGATAATCGATACATGAGTTGTTCCATCCTGCGGCGGTGCTCGATCCTCCATAGTAATCATCAGGATGCGTCGTGTCTGTGATCTTCGACACTAACCCAATCCGCCCACTTTTGACGTAAAATTTTTTTTACGTCGTTTGCCACAGAATTTCGGGTCGCCAAGCCAGCTTCTAGCCGCATAACTAAATTTGCCGACTTACATTCCAGATAATGATGGGTCGTATAACGTTGCGATTTCGTTGAAGACTTCATGTTATATTCGAAGCGGGCCATCCATCACGTTAAGTATTGCCTGAGCCACCGCTGAGCCCGAGGGAGGCGGCCGCAGACCCCGCACCCGTTTTTCAGCTTTGTGTAGATCACATTTTTTGAGTCCTGGACTATTCATTTGTATTTGTTGATGTCCTGAAGCCGGATGATCCCACCGTTGGCTTCGAACTATTTGGCGAGTTGCTCGGCGAGCCGACCTGTATAAAAGTCGGCGCCATGATGGGATCTGTGACTGAGTTTGCGAGCAGCCGGAATGTCTCTAGGAGCTTTTTGGACGCGGGTTTTTATCTGGTCTCCTGGTTGGAAGACACGCTGAGTTTCGGGGTAGATGAAGTTTTTCATGGTGGGCTCCGCGCGGATTTGGTTAGGTGCTCGTTTTGGTTGAGATGCTTTTGCAAGGTCATGGGTGACATTGGGTAGCCTGGAATTTTTTAGGATGGCCTAGAAACGCCATGAACCGATAACATAGTTACTTATTTTGTGACCTCGAAATTTTCATGATGGCTTAGAAATTTTATGATGACCTAGAATTTCTAGCTGACCTAGTAATTTTTTGATGTCTCGAAATTATTAGTAATGTAATAAACTACTCGTCTTCTCCTCCTATGCAAAAATTTGGGCCCATCTCCCTTCGTGGTGAGACCGATCGAGGCGAGACCTGCCCATCGTGGCGAGACCCATCGTGACGAGACCCATCGTGACGAGGCCTATCGTGGTGAGACCCATCGTGGCGAGACCCTACGTTGAGAAACCCATCGTGATGAGTCGACCCATCGCCATGGTGAGACACGCCGTGGTGAGACTTATTGTGATACTGTTAACGTACACAGTAATTGGAGAAACTTTTAAACTGATTTTTACAAAGAGTTCAACATTTAACTTACCAAGAGCTCAATCCGTTGCCTCGCTTTTTGTTGCGGGATTATTGTTCTGTTGCCTCCATTTCCGTTACCCCTGTTGTGTTGCCTTCGACCAGCGATGAATCCGTTGACCCCCCCCTTTTTCGTTGTCCCCGGGGAATATTAAATCGGTTGCCCCCGTTATCCGTTCCTAGGGCTTGTTGGCCGGTCTAAAAACGGCCACCAGAAAATTTATCAGAAATGTTCTACCGTTAGGAGTTTTTTAGCAGAAATATGCTACCGTCGCAGGAAAAGTGCCCACCTTCAGCCAAAACCCTAATCAATAGTTGGTTTCAACAACCCGAATGTCTCCACTCGTTCCATTTCCGAATCTCTCGAATCCGGAGGCCGTGAAGCTCTCCGGGCACCGCAATCGCCTTCCATATTCTCGACTGATTCCACGTTTGTCACGGTACATTTCCTCTGTTGCGCGGCGACGGGGCAATCTCCCAAGCATCGATTACCGTACACTCTTTTGTGTTCTGGAAGAATTTTAGAGGTTTATAAATCATTGATAATATTTATAGGCCACGGCACAAAGAAGTTTCTAAAGGACACACGCGCTCCTGGCATTTCCTCATAATAGATTTTGAAATGGAAGAGTGCCGAGTTAGCCCGTTTGGACTACGTCCGGGGTAAATTACGGAGGGCGTGCAGACTTGTTAATGGAGCGCGAGAAAAACGCTTGAAGGCCAGAAACCAACAAGGTGAGGCCACAATCATGATGTTTCCAAAAATGTTATTAATAGGAAGATCATTCTTTTGTCTTCCGAAATTTTTCTTCTTTGTTTTCCTGTATTTCGATTATTGACTTTTAGTTGAAGAATCAATACTAATTATCTTTTTTAATTATTGATGTTCCGCTCCAATTCGTGGCGAGACCAACAACTCACGCATTATAAATGTCATAAAATTTCCGCCGCCAATTCCGGCCGAATGTGTATCAATTGCACCGATACAGAAAAGTGCGGCGATTGCCGAATCCACCGCATGTCCGCCTTTCAGCAAAATATTCCGACCGATTTCTGAGCAAATTTCGTTGTCGGCGGCGACGGCCGCTTTCGAATATTTTCGAGTGGAGAAAGTGCTGGTCCAGGCCAACGGGGGAGGCGGGCATTGTGTCTGGAACCTTGCCGAGTTTTATTTTTATGACGGCCACGTAAAATCCAGCCATGAACCGACAGCGGACTATTCTTCCTTTCACCCTCGTGGCCTAGCTTTCTAACAAGCCGGCATTAGTAAATCGGAAAATACAATGAAGCGAATGCGAGTCCTTTGAGATTAACATCGTTCGATTACGAGAACCGTTAAGCCGACCGCCGCGCGGCCTAAAGTACGGATTTTCATGGGTTGCTCGGCCTCGATAAGCGGCTCAACTTCATCAAATGGTCGATATTCTGGCTGTAAATTATCATCGTCCGGAAACGTGTTGTAGTATTGAACAGGAGGTGGGTTACTGCTGAAAAGTCGAGTTTTGGGCGTCAAATTTGATGCATTGAGTGGCCTGATCACGATAATTACAAGATCGCGACATTTTAAGAAGGCGTATTGCACAACATTTTTCACGCGCAGAAATCTCGTAGCGAAAACTACAGAACTGTTTAAATCACGGTAAAGCTTGTGTCGATTTCCGCGGTTTCGGTTTTTTCATTTTTTTTTGTGTTTTTTAATTTAAAACAATTTATCGACTAATGAATGATTTCCGTAGAAATAGACACAAACACTACAGTCATTTAAAGAATTATTCGTAGTTTTTGCTCCTAGATATTTTGCGCTTCGAATATGTTGCGCAATACGCATTCTCAGAATTTTAGTGTTGCCATAATAATTCTAAATTTAAAAATGGAATTTTCAAAATCAGAGGTTTCCCAAAAATTTGAATATTCCACCAAGCATAAAGATGAATCTGAGAGTATTCAATTTTTTGAGCAAATAATCGATTTTCTGGATTAAAAAATTGCGTTGAATTTATAGATTTCTAGTAAAATTTGAATCTGTGCAATCTCAGACTAAAATGTATCGATTTTGATCGACTTTTCATAAAATTTAATTTAATTTTCGAAATTCCCAAAATATTGCCTGTTTTTCATCCCAAAAAAGTCGTATCAGTTTTTTCAACAAATTAGCGAAATTTTAATCGAAAGTTGTTTTCAGAGCATCATGATTTTTGAAAGAATTTGCAAATGTGAGAACTAAAGTACTCCCTTAAAGGCGCACGCTTGTTTTATTTTTAAAAAATTGGTCGTTTCGAGACCTGGTACCGTATATTCGCATTTGGGTAATATTCCCAGCATTATAAATTGTAAAAACAATGCACTTTTTAAATCTTGAATGCATATATTTATTTTTTTCAGAAACTCATGTCGCCTTCGGTCTCGATTCGAATTTATTCTCACAAACGTATAATATTTTCTCGAAAAACCCGCGAATTCTTGTAACATTATTGATTCTCACCGCGTAGATTGCCCTTCATCATTAATCAGAATTGAGTATGAATTAAAAAATCATAGAAAAGTCCAAGCGCTGTCTATTGGAATAGGACGAGAATGCCAAATTGCAACTTTGGCTTCAAGATAACGGAAAATCTTCTATCGCAAAACGCACTAGATAAGAGCTACAGTTTGCTGCGTGTAAGCGCCCTCCACGACAATGACAAACGAGAAGGGAAGAGAAGAGGGGGTAACCGCCAATAGCTCTCTGTATCGAGGATAGTCTTCAAGTGACAGAAGTGAGATATTCTGTGGGGAGAGAGTTGGGAGGAAGGGGGAACAGCGTATAAGGACTACGGAAGAGTGACTTGTAGATTTGGTGTATACGAGAAAGTGGAGGTTTTGGCTGAAAGTCTTTTATTTTCAAAAACTTTTACTTGTAACAACTAACGAGTAGATTTGACAATGAGGATAATATTCAACACAACAGAAAAAAAGTCGATGGGTAACTAATATAAATTAGAGAAAATGTGGCATCGGGGAGAAGTGGGAACAAAAGAAGAAACTGATGATGATGATAGGAGGATAGCCGCGAAACAAGCGATTAACAGAGAACAAGATTCATTTCGGTGAAGATAGAATAACAGCAAAAAAAAAAACAACAACAAAAGTCTAGGTCTTATTGCCCATTGAGAGCTATGCTGAAGGACACTGGTAAGGTGCTCGTCGATTACATCTTGCTGCGCGAATTGTGGGAACGATGCGTACATTCAGGATTGTGACAATTCTTTGCTTGGTTTGGTTGCCGCTATCGTCGTCGCGAGGTTGAAAGAGCCATCGTTGGTGATTGAGAGCAAGCCTGCAAAATACAAATAAATAAAATAAGTTACGGATTTTTTTAGATTAGAACTTACAAACAACGAAGATTCTCGGAAGATCTGATTTTCTGGTCCAAAAAGTGCGGCGTTTATCAAACAATTCGGCGAGACAGGTGTATATGTAGGGGCTTTCCTCGGTGTCTGAATATGGTGGCAACCAGCTCAGGAACAGCTCTACGACCTGGAAATAATATGGAACTTTTTTCTTAACTGAAGTTCTAAAAGCAACCTTTCCGTAGGAAGGTCTTCAGAAAGGCAGGAAGTGGCACATTGCGATTTTGGCTAATGCAGAAATCGCGTTTTCCGTGGCAATTTACAGTGCTCTCCTCGGTGGCGCGTCCTCTCGTTGAATCATGGCGGCCAGTGGCCCCAAACAGCCCAAAAACTCGTTTCGTGGTGGCTGATCTGGCGCTAGTTGATGGACATAACTCCGAAACCGTAGCTCGCTTCTGGTCTCACTTCAGGATACTCCTGATCTCCCAACAACATGTACATTATTGGGAAATAAGCTTCGGGAAGTGAATTGGGATATGTCCGTAACACCGAACTCGATGGCGTCATCGAGTCTCATGGCACATTCCCCACTTGTCTCTCCAAGTTGTTTGAATCCCTCGATGAGTTGAACGGCACATTTGAACATGTTGATCATTCCCTCGAAGATAGTTCGCTTGGACTCCTTCATAAGCTGAGAGAGAGTCAAAATCGATGGCCTCTCCAAGGCCTGAGGCCTCCATTATTCCATGAAATAATCGAAATGAGCTCCTCATTAGCTTTACAGCATTCCCTATTCATCGTCATCTTCATCTTCAACTGGACGATCGCTCATTCTCTTTAGTTTTCTGCTCGAGCAGCACCGAAATGATGAGTTGAAACTCTTCTAGATCTCGGCGATCCCCTCAGTTTTCATCCTCAATGAGCCGATGGTCGTCATGTACGAGGCGAGAATCTCGACATCGTCCTCCTCCTCCGACGTCAATGCCTTCAAGAACTCGCACCAACAAACGACGCTTGACAGCCAATCCTTGCCAACACAGGTCAACAAGCATGGCATGATTTCAGCGCCCGTACGGAAACTCCGTCGTGAAGCCCGAAATACATCCGAGATTCTTGATGGCGTGCTGGTAGTCGACGGCGTGTGGCATGAAAGCCTCTGGCCTTCATGTCCTTGGAAATCGAACGCGACAAGCATATCGCAAGCAGTTGCCTTTTCCTCAACACCTCTGGTGCGGATTCCGACAGTCTTTTCTCCTCCGATTCAGTGGTATTCAACTCACTTCCTCGTTTTCGTGAACATCTTCGTCTGAAATTTATATATTTTTTTAACACGTAAAACTAAAAAACACTCACTGTTGAATATATTGAATTCTAGGCGGTAACGAGCGGCAAGAAATGGATCCATGACACCTGGGAGGAATGGTGCGAAATCGGCTCCAAGAAAAGAGCAGAAACGAGTCCATGAGCTGATCATGTAGCTGTATTGTGGATCACCGATAGCCAAATCACGACTTCATGTCTCCGAGAAGGTTCAGGATCTCTTCGATTGCAGTAGGGTGGAATTGTTCCTTTCCGACAGCATATCCGATATGAGAGAGATGCATTCGATCGTCTTTCCTCTCAACTCCTTGAGCTCTCCGACGTTTTGAAGAATGTGAACGAGGTTCGGGATGAGGCGAGGCCATGATGTTCCTTGAAGAGCTCCTCGGCGGCTTCAGCGACGGAGGCGATGGGCAACGGTGACGATGTTCTCAACGACAACCTGTTATGTCTTGTCTCCGACACGAATTGAACAGAGCGGAACAGCATCATTTTCGAGTTTCTGAAGAATGAGTAATGGAAGCTATTGTCCAATGATTTTCACTCCTCAAAGTTGACAAGAACCGAAGCGGCATGAACAGACACGTGGAACATCGGTTCTCTAAACTCGACAAGAGCTGGGTATGACGGCGGCGTGGCACTTCTTCTGAAGAGTTGGAACGAAGTCAGAAGACATTTGTCCGATGGCGTTGCAAGCCTCGTATTGAACTCTTGGATGAGCTTGACGTAATTGGTGATATGAGCCATAATTTGCTCTATGTGCTGGTTCCACAGATCTCACCCTTAAGGCGGACAGGCGAAGAGCCGCGTGCTTCATCTTCCAGTCTTCGCTGGTCAATAGCTTCTCGACAAGTGGAAACACTGGGAGCACCACCTTTCCGTTGAGGCAGCAAGCAACACGGTAGATGACGCGCTTTCGGCGATGATTGGGATACTGAAAAATAATTTAATTGAAGAGAAAAACTAGAAATCTTAATCTTCATAGTCTTCTTCCTCTTCGATCTCGTTGAGCCACTCATTGAGCACATCGTCATCCATTTCGGTCATGCAGGAAAGAAGAGTCTCGAGTTGGTCCAAGAGTTCACTGCTGGTTACGCGTATTTCTTGAGTCCTTTTGGTGCGCCAAGTACGGGCAAATATACTTCGATGGCGTTCTGACGGACCATCTCGTCCTTTTCCTTGTATCCAGCATGAAATCTGAAAAAATTAAATTTTTAAATGGGGCCATTTATATTACTTACAGCAAGAGTGACTTGAAGAACCTCGGCTGAGACCATATGAGTGTTAAGGCATTTTGGCAGAGAAGAGGCGGGCTCGGCGAACTCTCCGAGTCGTCCATGTGTCCGCGTCGCTGGTTTCATCGCAAACTTGAAGGCTGAACATTGGAACAAGAGAGGTAGCCTGACACTTCTCCTCATCATTATCAACAGCGAAAGCGCTAACAGCACGGACGGCGGTGGCCCTTGATTTGCAAATCCGGTGTAAGCCATCAGCACTTTTCCAAGCTTTTTGGAAGGATCTCAATGGGCCAGCCTGTTTCCAAAAATTATTGAGGATCTGCGAAGAAGAAGCAGGGCTATGTAGTTTCCGGTAAGATCCTCTTCAAACCATGATCCATCAGCGGATCGAGGACTCCTCCCCATGTCATATCTCTCGTGCGATGAGGTTTGAAGCGATTTACGGCAGAGGTATCAAATCAGCAATCTTCTTCTTAACCGAGAGTTCGGCGTGAACTATGCAGCCATCTCGAGAACTCTGTCGAGAATGTGCTGTTCTGCTCGTTCTGCGCAGCGTTTCTCGCATCCCAGTCGCTGGCGAGAACTCGTCGCAACCAAAACTGATCTGGCCTGAAAATCGAAAATTCCTGGACTATATACGAATTGAGTGAACTAACATCAGAATTATTCGTGTGGTGGGTGTAGGCCTGGAAAAGTGCAGCTACTCTTCCTTGGTTGGTGTCCTTCAGACGCATCTTTTCATAGACTTCTTCAGCTTGTTTTCGGATATCATTGTCTGCTGACTGCAGTTCTGTTGAGCTCATGCGTGAAACCTTGATTGACGTCCATTGTAGGGCACCCTGAAAATCAGAATATGTGCTAAAAATCCCTCTTCACAATTGAGAAGGATACTAAAGGATGAAAGCTAGTCGGTTTTGCAGATTAACGCCAGACCGGGAATACGCGGAATCTCGATGAGCACTCGAAAATAGATTTTTACTATAAGAATTGTCATTTGCAACAAAACCTATCGTAAAATGTGAAAGATAGGCCAACAATTATTGATTTGGGACAAAAACGCCTCGAGTGCACGATTCTTAACGGAGCGCACTTGCTGCGTCACACGCACCTTAAACTGTACACGGCGGGAAGTTCCAGTTATTAAAAGGATTCCCGTGATTTTCACGACATTTACTGGTTTTTTCAGCGAGTTTTCGCATCTTTTCTGCGACAAGCGATGATTATTAATGTTTGGAATATATGATATGGTAGCGTGTTGCGATATAAAAAATCGATGGAATGAGTCCGCATCAAGAGAAACTAATATCTGCATAGATCGCACTGTTTGCAATTTTGGCTACATTGGCCAGTTCACTGACAAAAAAAGAAAAAAAAACGGCAACATGAAATCTCTAGTACCTATTCCAGGCAACCAGTGTCTGGCGACGATGGAGTGTAATTCTGAAAGACGCAGTATTGAAAAGAGTGTGTTTTTCGCTTTTTTTTTCAGACAGACGAGTCAAAAGAGTAAATACGTCTCAGTAGTACAAACAATGTGCGGCTGCGAAATCAGTAAAAATTAACGACTTGTGATACAAATTCCTCAAGGAATGAAGGAGAAAGTGTACTTATTTTTGAGACCCGAAGAGCTCGGGGGATGTACAATTGGGGGGATTACCAACTCGATTGGCCCCGCCCACAGAACCCGACGTGGCTTGCAATACGCCCATTTCTGCAACTGCCGCACGGTTTTAAAACTGTACTTTTCTCAATAGAGCGAGATTAAGAAGAAAAAATAATAAACCGTGCGGCAGTTGCGGACATGGGCGTATTTTGGGGCAAGCCACGGTTCTGTGGGCGGGGCCAAACTCCCGAATTGGTAATCCCCCCAATTGACATCCCCCTCTTCGGGTCTCCTGTTTTTTAATTTTGAATTGAAAAATTGTCCAAGCGCACACGTAGAACATCAAAACCAGTGGAGGGGCGAAATTTGATAGATCGCATGTGCAAGAATGAGCATTCTACGAGTTGAAGTCGCGCCACTGCTGCGTAATCGGGCGCGCACAATATTGTGCAATAAATCTCGGTTATTTGCGTACATGCATCATAGCTTAGACGCGCAAATCATATTAGAAATTTCCCCGAAACACGGGGAGGCAAAGCTAACGTGGCCGAAGAAATTGGGTCTACAGTAGTCCCATTTGGCTACTGAATATTCAACGCGAATAAGTTTTGTACACTATTGCGTACTTTGCGTACGGTAACGCATTTTATGCATTGACGACAATTCGTCAATTTCAGCTCAGCCTAAAAGCGCTTTTCGTCATTATGTGAGCGAATAAAAGTCGAAAAAAACTGTTGTTGTAGAGAAAGTAATTTAATAAATAAAAAAGTGCATGTTTTATGTTTCTCATTATGTTTCCACTGATTTTCTTAGAAAAACCGACAATTTCCTCGTTTTTCGAAGAATTTCCGCTGAATAGTTTGTTTTTATCTAGTTTTTCTTCCGATACTGAATAAGACATTTAATAACATCAAATATAACGTTAAAAACATTAATTGTCTCGAAAACCAATATAAAACTCGTCAGAGAGGGATACTTAGTAGATATGCTGAACAAGGAAAAGAGAGAGAAGAACATTAACCTGAGAGGGGGGAATAAGAAATCTGAACAGGAACGAAATAAGAACATTATTAGAAAGAACCATGGTTCCCTTGATCTTCTTGGCAGTCGTCTCCTTATCCTATCACTTCTTCTCGGCGTCCTTCTGATCACGCTACCGAGCAACGTGGCACGATCGAAGGGTTTCACAAGCACGGTTCGATACCGCTCCACGAGGGGGCTCCCAATTCAGCGAGCCATGGTCCTCTCACGAAGTTGAATTTTTTAAAATTAAAAAATAAGTAACGTCAAGAATTCCATCGAATTTGTGCTCCTTTGCAATAAGACAAATTTTTTTTAACGGACTTGAACAGGATCATTGACGGCATGAAAACGGCTTCCTCGTTGAACCATGTTGAAGCTCCTTCACCAATGCACCTGAAACAACTTCTAAATTTCAATTTAAAGAAAATCCACACACTTATCCGTCGGAAACGAATCCAATATTCTGGTTGCTGAGTGGAATTGCTTCAATTGATCTGTTTTTTTTTGAAATATTCGATCACACATCTTGTATCCACCAGATCGCTGAGTGCTTTATGATTCAGAGTCGCGCTTGCCAACCTCTTCCATCAGCACTTCTTCTGCTTGGAATTTTGATTGCTTTCGGACCGATTGACTTGTAGTTTCTTCTAATAGTCGCTGATTGAGCAGTCGACCTTGCAGTCCTACCGAGTTCTTTGGCTTCTCCTGCGGCACTTGAGCCCTTGTAAGAGCAGTTGAAATTGCTGCTTAACCTTCCTTATTAATAACTTCTTCTTGTTCGCATCTATTTCGAATTTTGTCTTGAAATCTTCCAAAGCAGCGACAACGTAATATCTGGAAATTATAAAAACATTAAAAATATTTTGAAAAAAAATCGAAAATGGCTGTATTCCTAAATTTTTTATTAAAAAAAAAAATGAGATACGTGAGTTATCATTGAGTTTTGAGAATTAAATCAGCATATATTTCTCCATATTTGAGTAGGTTATCAGAAATATTTACCATAATTTTTGGAAAAATGTAATTTTTAATTCGAAATTCGCACCGAATTTCGCGAATTTTTCACTAAAATCGAGAAAATAAATATGAAATACGCGTGTTTGAGGTTCAAGGCTTTTTAATTCGGAATCAGCATATATTTTTCGATATTTGAGTAGATTTTCAGAAATATTGTACCATAATTTTTCGAGATTGATAATTTTGAATAATAACTTACTCTACGATTTTGCCTTTGTCCGTTTCAATCCTCGAATTTCGAAGCGGTTTGCGTAGATTAGCTGAAATCATTATGCTTATCCCACGTAGTAACAAGGAAAAACAAGAAAAAATAAGCAAAAACGTGGAAAGAAAAATAATAGCATATCAGTCAAATTAAAAATGTTTATTCGATCAAAATTCTTAACCATAGGAGGCGGTGGACTCTAGCGGGCGCACTCTCGCGGCCACGTTAGCTTTTCCCCGTGGAAAGGAGCCATGATAACGGAAACACTATTTTCTGAGCACCCGAAATATATCGTAGCGAAAGCTACAGTAACCCTTTCAATGACTACTGTAGGGCTGGTGTCGATCTTTACGGGCGTTCATTTTTAAAATCATTTTTTTAATCTGTTTTTTGTGTGCGTCACTGTCGATGACTAAATTATAAATTAATTTCCGTAAATCGACATACAATCGCTACAGTAGGTTCATTTAAAGAATTACTAGTTGTTCGCTACGAGATATTTTGCGCGTCACTCCTTAGGTTCAGGCCACCAATTGTCTTACACTCAAAATCGACGTGAATTTCTGTGTATTTGACAGCAAAAGTGACGTGACAAACAATTAAATAAGGCAATTTGAAGAGTAAAAAACTGGGGAACGATGTGAGATAAGCCAAGAAGAAGCGGGGCTTCGACAACGTATACTAATCAGAGATGGAAAGTAAGAAATCAACTTGAAATTTAAGACAAAAAAGTCAACGGGGGATTTTTTTTAGAGAGAAGCGAGTAATCGGGCACAGCAGGCCAGAGAAATAAAAAGATAATAAACAATTGAAAAAATATATATATCGAAGGGGGAAATTATTGCTGAATAGACTGCAAAGAGGTGATCGGACGGTACAGATAAACGAAGTGTCTCTGGACAATTCCGGGTCCACGGACAAGAACGGCCTGCGCACAGTAGGCCTTGTGGTTGACGATGTTGGCAGCGACGGCCGGATGCTTGGGAGCGTAACTCAGACGACAGAATGGGTTCACAAATTCTCCCCGGCGTTGTACATTGAAGCTTGCTCTTCTTCTGCTGATAGGACGGCTTCGCGGAGGCTGAAGCAGCTTCCAGCGGCATTGCCACCTCGTATGACAAAATGTTCCGTATTGACCAGTGCAAAAAAAATTTTATGAGAAATTGAATTTAAAATGATTTTATTTGTAATTTACTTGTTTTGTTAATTGGTTCGATAATTGTTTTTTTTTTGGGAAAAAACCGAAAAAAAAATTAAAATCTTTCATTTTTCATTTAATTTTTTTGTTGAAAAATCGGCAGTTTTCGATTTTTTTTGAAAGAATAGGGAAAAGTCAGTAATTGTCGATTTTTCAAAAAACTGAAAATTCCAGATTTTGTCAGGACAAAAAACGAGGAATTCGACAATATTTCAATTTTATTTTTTTAAATTTGCGTTTCTCAAATTTTTTTTTGATATGTGATTTTTCCGTAACTTTTCTCTGGAAAAAAACCGACAAATTTGCAATTTTTCAATTTTTTCCAAAAAAATCTAAAAATAGAAAATTTTCGATTTTTCCTTTTCTGAAATATTTAAAGTAACTTCCTATTTTTTTTAAACGCGTATTAAAATTTAAAAAAAAAATCGGAGAAAAAAAATGAATCGAAAATACGATTTTCAATTTCCTTTGAAAAAAATAGAAAAAATCGTAGGAAAATTTTCGTTTTTCGATGTTTTTTCTGGTTAACCTAAATTTTTATTACTAACACAATGCTGTCGGCTAGCAAATTACCCATTCCAATGGCAATAACGATTCTCACCCGCTTTGTCGTTTGTTTCAGGCAAATCAATGCATACGACCTTCTCGATGAGCATTCCGAACATGCCATTCTGAATATTCTCACACGAGTGAACAAGATCCTGTGCACTCCGGGCGTTCGTAACTCGACACAAGAACACGACGAATAGCTTCATAAAGGTTTCGCCAACGATTGAACTCTTCGAATAAACATTGTATTGAGCACCAATGTTATCGCGGACCACATCCTCGGAGTGCTCGATGGACAGAATCGTCGCCGTCAACTGTAAACCGTACATTGATCCAAGGCTAGTTTTGGAACAAAAGCCGCCCACATGGCTCAAGATCAACCCAGAATTCTCCGAGACGACAACTCGCTGAGCATTCACAAGGATCACTTCGATAGAGAACCGATAGTGCCGCGGGAACTTCGCTGATCTCGCCCAAAGACGTTCGGATAGCAGAAACGGAAGAACGGTGAGAATTGATTCGATGAAGGAGTTTCTAGCGATACATGAAGACCGAGAACTCGCGTGATTTGGAGGGCATATCGGATCTTCCCCTCGCGGAAGATCACTTCGTTCACTGAATGAGTTGAGCAACCAGAGAGGCGCCGATTGTTCGGTTCTGGAACAGGAAATTCACTTGTTAAAAAATATAATATGTTCTTAAAGCTATCACTATTTTTTTGAATAAGAAAAAAAATCACAAAAACTGGAATACACGAAAAAGCAGACAGAAATGTTTTTTCCCGAATCAGTTCCATATTGCAATTTTTAATTTTTTTTTTTCAGAATTAGCGATTTCCTCTTTAAAAAAATTCAGAAGATTCTATTCGATTTTTTCGGAAAAAAACAGGTCGAAAAATTGAAAAAATTCCCAAAAAGTTTGGTGTTTTTTTTCAGTGAAAATCTTTCAATTTATCGGGGTTTGTTTCGACAAAAATAATAAAAACCAGATTAAAATTTTTCAGTTTTTAGTTTTCTTTTCAGAAACATTGAATTTTTTCAATCCGAAAAATTAAAGAAAGGTATATTTTTTGAAAACACAAAAACGGTGGAAAAGTGTTGGTTTTTTGTAAATTTTTGCGTTTTCCAGCAAAATTGCCAATTTTTCCGAAAATTTTCAGATCGAAAAAATATCGATGTTTATTCTCCGAGTTTCAGCGATTTTTTTTGCAGCAAAATTTCAGATACCAAATTTGACATTCAGTTATGTTCCAATTTATGAAAAAAAACTTGAGACCAAAGTGCGGCACGGAAAAATGGGCGCAGGTTGAGTGGTATTTTTCTCTCAAACTAGTCCTTGCCCTGGTGATCACCGTCTCAAAAGTGCGTGTGCAACGAACTCCGCCGGATTTTTCGTCGCCGACTCCTGGCAGACCAACTGGAGCTTGACCGCAATCGCGGCCGCATGCCGAATCGCGTCGTCATCGAGAATCACTGATCCTCAAAATCGCCTTGATATCATCAGCTACGGCGAGTTGCGCTTTGGCATCATTGTCGAACGCGGAGGTTATGAAGAATCGAGGAGACTGGAAGAGAGCCGCGAAGATTTTGTTGGAATCAGCGAGAAGGATCTTTTCAATAGCGTAAGCTGCGGTACTTGTGGAATCGGAGTATTCGAGCTGAGAAGCGCGTCCGCCGACTTGATCGCAATCGGTAAGGTGCTCTGGAGCTGTTTCCTGAAAGTGACCGCAAACTTCAGTGCATCAGCTTTAAGGATCGCAGTCTGATTGAGATCGGTGTTGAGGTGTGTCTTGTGTGATGAAAAAATGAAGTCGTTGATGTCCACCAGCGGGTTCGTCGACGTTACTCCACTCTTAGCAGTCTCCGTCTTCACCGCGATCGCCGTGATCAGCGAGTAGACAATGTCGATCTTGATCCAATCACCACTTGCAGGTTCTGCACTCCCCAGACATGGAAGCCGCCTCGAATCTTCCGACAGAGACCTCGCGCAAGATCGATGGCTCAACGGCGGAGTTCCTACATCGGTACCCTCGATGTCTTGCCGCTTAATATAATCCAGTGGATCAGCCTCGATCAGTTCCATATCCTGTTGACGAAGCAGAAGCTTCTGAACGCACACGTTCTCGAGAGTCTTCAGAACGCTTTCACCAGTGAAGTGTGTAGTACTGTCACTGGCTGACCATCGACAGCAATTCCAGCGCGGCGCACACCATAGTATCGTATCGAGTGTCGGGGCCGGTAGACTTGAGCAGATTCCAGACGGCAAGGAGGATGTCGGGCACGAACGGAGATCTCTCGTTGCGTCGCGAGTAGTGCGCGCAGATCTCACAGATCTCGTGCTTAAGCTCGTCCAGAGTTGTAGGTTCTCCCGAGTTGGAGGTCTGCGTCGGCGCAGTCGATTTGCACGAGATGCAAGAAATGTGGGCATCCAGTGAGACTCATTGATCCTCGAAGGCCTATTCCGGAATCCCTGTGAGCACAGAGAATGGTAGACTTTTGCAATAACTAAGACTCGGAGCCATTGGGCGATCACGTCGGCTCCGAGTTGATCCTTCCGCTGTCTCACCTCCATCATGTTCCGTAGCAACAGAGTAAGAGGCGATCTTGGGGCTGAAAAGGTTCTTTTCATTTGTAGCAAAATCTGGGGACAGGTTTTCGGTCCAAATTCGAGACTGACATTCAGATTTCTTCAATGGCTCACCTAAAAAATTTTGAAAATTTGTCCATTTTTATAGAACGAAAATTATCAATTTTCGCCAATAATTCCTCATTTCAGCGTTGCTTTAGTTATAATTTTTGACTAAAAAATCATAAAATGTTGAATTTTTCACGATTTTTCGGAAAAGGCCAGCTTTAGCTAGCTTACAATGTCTAATTTATTTTTTAGGGTCAAAGCGGACAAAAATTCACGACGGCTGCGACGATTGTAAAAAAGTGGCCCGAAAATAGGGGATTTCGATTAGCTGAGCCAAATTTTGAGCCAAGCAACTCACGCTCTGTAGACACTTCTGCGTTCAGCTCTTTCCAAAGCTCTGCTGACTTGGATTCGAAGCGGAATTTGCGGAAAATCTGCTCCATGCCAGCGGTAGGACACCAGGTGATCGAGATCCGCTCCGTTCAGGCATTTCGACAAATAACCAAATCTGGCCATTTTTAGGGAAAATCTCTCTGAGCGATGTGATACAGAGCATTGGACAGGATGCGTTCCTGAACACTGGATTTTGTATTGAACATCGCTTCGAGAAGCGTGCTTCTGAACTCTGGCTCCTTGTCTTCCGGGCCCATTTCTACCTCTGGTGCCGGGAAACAATTTCTAAATATTCACGGATTTATTCAAATTTTCCAACCCAATTTCTATTCACAAAATATTTCAAAGGGACAGCCGCGGCGATTCGGATCTGTGGAGCTTTGTTGCTGTTTGACCACCAGTTGAAGACTTTGAATGATATAGCGTGGATTTGAATGCAGCGAGCGGAGCGCTTCTTCTCTTGCGTATCGCAGCCTCCGGCTCCAGAGTCTGCTGGAGAGCTGCTTCCCGATTTGCTTCATCGGGCAAAATTACCTAGGGAAAAATAGCTGTTTTGGGGGTGAAATAGGGAAGAATTGGGTAAAGGACAAAGATAGTTTAGCTTAAAACTTGGAATCATATTCCGGTCAAATATTAAAGTTTTACGCAACTTTTCGCACCCGAATAAACTCGCTAAAATTCGCAAAAATAAGAATTTACAAAAGTGTGAAGTGTTTACAGCGCACCCGACCCGACGCGCAAATTTTCTTCAGTATGTTTCCATCGTTTTCACTGATTTTTACTGTTTTTTATCCTAGTTTTCCCTTGATTTTCTTCAAATTTTCCACTTTTTCAGAAACGTGTATTAAAAAATAAAGCGTTAAAACATTTCAATTCCTTCAAAACTTTGCAAAATAAAGGCGTCGTTGCGTACAATGCGCACGACTTGACGCGCAAACTTCCCAATTTTTAGTCTTAAATTTTCCTGGATACCACTGGTTTTTTCTCTGTTTCCCCCTTTTCGCATTTTCAGCAAACATGGGTGTTGATAAAAAGCAAAAGAATAACCAATCCATGCGAGTTAAATTTTAACAAATGCATAGCATGTCGTGAGTTTTTCAGAATTTTGACGAAAAAATCGATTTTGCTCGCAGATTCTCGGCCGGACTAAAAAGGGCGACAAGGAGCACCGACTGCGTCACGAAAACGAGCTCACGAGCAACGTGGACAGACGCTAGGCGTAGAAATGACCGGATAAGATTAGGAAAATTGTCGACAAACGGGTCGGCAGGGAAGCAAAGAGACGGTCTTGAAAAAGCGAGCAACGAGGAGAAGGGCGCGATTAGATTCACAGATGAAAGAGTCAAATGAATTAGAAAAGAGCATCGAAATTCAACTTGACAGATGATGGATATGAGGAGGAAGAAGGTTTATTCTAAATTGAGAAAAATTTTAATAAAGTAAATTTCAGCACTTACTCACAAGGGAAAAGCGCTCTCAGACATTGAAAAATACGACAAATGATTTCCGACTCGGAGATTGAAGAGGCAGGAAATTTGGGCTCAAATATCGTAAAAGTGGCTCTTTTCGGTGGTGGAGAGAAGACCGCCGAGGAGCAGTCCGCGAAAAAATCACCCGAGAGGATATGATTTCGAATTTCATTGCGAAAACGAAGCTGGCGCGTCACGAGAACAGCAGCGTGAAGGATGAGCTCGAGCTGATGACAGAGTCGTTGGATCCCAAGTATCAGGCATGGGCAAAATACCGGAGGCTTCATTTGGGCCGACCGGGCGCCAGCCGTTGACAGAAAAAGATGATTACGACACAAATTGTACGGGAAACATCCCGGTTTTCTCCCCGGCAAATTTTTAAGACAAAAGATAATTATAAATTTAGAGTGAAAATCGATTTTTTTCACAATTTATGAAAAGCTAAAACCCAAAAAACATGATCTGAAAATGCTAATTTCAATTTAACCATTTTTGCGATGGAAGATTAATCGGAAATTTTCATTAATTTTGCTGTAAAAGTTGAAGAAATCCAAGTTTTAGCTCTGTAATCAGAGAAAACACTGTCAAATTATTTCGGAATTTGTGCAATTAAGTGAAAAATAAAAGACATGTAACTAATCGCGAAAGAAATTGAGCTGAACTGAGAATTTTTTTGACGAAAAATCATTAAAAAGTCAATTTTTTTGACAAAAATTCGAGAAAAGTAGGTTTTTCTTTTCACAAAAATGACTGAAAAAGGCAATTTTTAATTTAAAAAAATAAACCCATTTTTCGCCTAAAAATAACTTTAAAGAAAGCCGTCGTTTTTTTACAAAATACAACAATTTAAAATAGCTATGTTTTCGACATAAAAATTAAGAAAAAGCCAATTTGTTTAAAAAATGATAGAAAACGGCTTATTTTTTGTTTCGTACGCCTAAAAAATCAAGCAAATTAGGTTTTATTCCATTTTATATCAAAAAATTATTATTTTTCCCGACAATCACCGTGATAACCGAAGCCGCTCGTGCCACCCCAGCAGATCGTACGCTATCCGAAGAATAATGGAGAAGCTCTGAAAGAAAAAGAACGTGACTCTCGAGGCCGCCCGTTCGATAATGCATTTTTCAACGCATCTGATTTATCATCGCCGATGCCGACGTTGATATCGGACATGCGTTGGATCGAAGGCCGACGCCAGAAAAGTTCAGACGGCGAAAAATGCCAGATTTGAGGTTTGACGATGAAGGTGGCCTGATCGATGAGGATACGGTGGAAAATTCCACGATTTTAAAGAAAAATCTGGATGGTTCTGTTGAATCTGAGGATGACGAGGATCTAGAAGATGAGGAAGAGGATCTGGATGATCTACTGGAAGATGATGATGAGCTGGAAGAGGTGAGATTCCGATGATGTGGAAAGTAAGCCCCAAAGGTCGGCAACATAGCGAAAAAATCTGCTTACCAGAACCCGCTGAACTCTGCCATTCGTATTCGAAATGCCGAAAAACTATACAAAATTCTGAGCTCTTCTGGAAACACAGGAATCGATGGCTATTTAGTGCTGCAACTCGACTCGTGAAATGTCATCATCCGAGCCTTAAAGAAAATAAGAAGCGTCTGAATAAGCTTTTCCTCTTGTGTTTAAGATGGTTTGATATGTGTCGAAGGAGGAATTGACAGCGGAAAGTGTGAAGGAAATGAATTTAGCGCAGGAAACTTATGGGAGGCATGCGTTGTGGTATGAAGGTAGCGATTGGGGCTGGAAAAGCTGAAAAATTACCGCACTTATTAATCTGAAAATTGAAAAAATTCCAGAATTTTTGACCTAACATTATGAAAAATTCCCGATTTTTAAACCCCAAAAATTGCAAAAAAGTCCCGATTTTTTACCAAAAAATGTTTTAAAATCCCCGAATTTTTTACCTAAAATTGAAAAGTTTCGCTATTTAGACCCAAAAATTGCAAAAAAGTCCCGATTTTTACCAAAAAATGTGTTATAATCCCCGACTTTTTGACCTAAAAAATGCAAAAAGTCTCGATTTTTAGACCCAAAAACTGCAAAAAAGTCCCGAATATTGTTACCAAAAAATGTTTTAAACCCCGAATTTTTGACCTAAAAATTGCAAAAAAGCCGGTTTTTTTACAAAGAAATGTTTCAAAATCCCCCGATTTTTTGACCGAAAAATTGCAAAAAAGTCTCGATTTTTAGACCAAAAATTGCAAAAAAGTCCCGAATTTTTTACGAAAAAATGTTTTTAAATCCCCGAATCAATTTTTTGACCTAAAAATTCTGCAAGATAAATTCCAAAAACTTTGGCCAAAAAATTAAAAAAAATACCCGAATGTTTGACCCAAAAATTGAAACAGAAAAAGCCCCGATTTTTTCAGAAAAATCATGTGAAAAAACCTTTTTGAAAATCAGTCTCGAAAAAAAAAAGAAAAACCAGGAAAATCCTGAAAATCAGAAAAAAATCATTAACAAAAACTAGGAAACGATCATGGAAATATTTTTAAAGAAACATTATATAAAAAATCATTAAAATTTCAGAAAAACAATATGGAAAATCCTGATAATAAAGAAAATAAAATGCTCTATTAAAAATTTAAAAAACCAAAAAATTCAACAATTGAAAAACTGCTAATTTCAAATTGTTTTTTGCATTTCGACATTCAATACGGAGTCCGATGTGTGCATGCTCTAATCTGTCAACACTGGAAGCTAGGCCGCCAGGACAACCAGAAGAGTAGCCCAGTGTTGGATTAATCTCTCAATTCGTCTTGTCTACGGCCTCTTCCCAGTTGCCGATTCCTGGCAGCCAGTAGTGGTTCCGGCTCTTTTTTCAACTGAAGCACTTTGCTCGGCGAAATGTGCCAATCTGACTGTGATGCGTTGGCTAAACAAATTCATAAGTTGGCTAATGCTATTCTTGGATTGTGTCTGAATCCAAGAGGTAATACTTGGAAACGAACATTTAAATAGGCAAATTTTGAAAAAAATACTGAAAGCTTTGATATAGAATAGGAAAAGAAACGAAAAAAAAAGCCAAAACCAAAACCCGCAAAAATATTAGTTTCAAAAACTAACGAACCTCAAACCCAAAATAAATTCAGAATTGTTGCTTAAAAAAATCGATTTTTCTCGATGAAAAAAGATCTATAAAAATTCAAAAAAGCAATTTTTTAAAATATAACTTGATTTTTATTTCTGAAGTTAATTTTTTAACAAGTAATTGCATTAACTTTCCATTTTAATGTTAAAAAAAAGCGAATTTTTCAAAAATTGATATTTGTTTTGGCAATTGTTAGATCAGAAAACATTGAAAAATACAAAAACCCCGTTTTGTTTTAAATTAATGGTTTTTTAGAAAAAATTGCAATTTTTCAAAAATCTTGGTCATTCTGTCTCTAATATTAAGTCTCCTCGTCTCTTTGAAAAAACTTTAAAAAACCTCCGAATTATCTAAGCGTATCAAAATTTTTGAAATTAAAAAAAAAACCGTACTCGACATTTTTACGAAAAGTTGAAAATTGTTTTAAATAAAATCAATTTCAGATACGTCCCCGAGCTGGTCTTGCTCGAAGTGCACTTCTGCTTGCAAGTTACAGAGAAAAGTGAGAAATTCGCGACAAATGGATTCCCGATTTCCAAGCCGCACACGGTGTTATGGAGGAGAAGGTAAATTTATAAAATTTGTTTTTTCAATAAAATGTTTTCTTTTGGTTTTCTTTAAGAAGATTTGCTTAAAAACGCTCAATATTTAAAAAACTGGCAAAATCGAATTTTATAATATAAATTAACAATTTTGTTCAAATAAAATTTTTTTTGAAAATTTATTTTTGAAATTTAAAATTTTGAGGAAATTTTCACAAAATTGCCAATGATAAAATGTTTACTTTTTCTTGTATAAAACTGCTTTTTTTTAAAAGCAATCCGAATAATTTTTTAATAGATTGCAGAAAAACCGAAAGACCTCCGTTTGAAAAACGAAAATCAGAGTCAGTTTTTTTCCGAATTTTCTATTTTTCAAATTAAATGTCGATTTTGCAAATACAAAACGGTTAAAAAAAAACTAAAAAAATTGCCGAGAGTCCAAAAAAATATTAGTTTATTTTGAACTTTTTTTTTTAGTAAACACGGCCGCCTTGGCAACGAAGGGGGAGGGATTGCTTGCGCGTTTCGCAATGCGCCTTACGCGTGCTGGCGCACTTCTGAAAGCCTTATTGAATTATTTTTGCGGAAAAAATTCATTTCTTCTATGAAATTTTCTTGAGAAAGCTAAGGAATGATGAAATTTTATAAAATAGTTTTCTCAGTTAAAAGGAGAATACCTTGCTGCAAGAGGTTAAATTTATTGAAAGAGAAAATAAGAAGTTTATCTTTGTTTTGACTACATAAAGTGGGGAAATCGCAAAAAAATTTGAAGACAATTAAGAAATATAATTAAATATTTAATTGCCCGAAAGTAAATAAGAAAGTTTGGTCACAAACAATTTTATTTTTGAATTAGGGAAGTGTTGAGAAATGAGCATGTGCCAGAATCACTAAATCTGAGACATTCAGCCCAATTTCTCTAATTTTCTTTGATTTTATCATGGAAGTGTGGCTTTTTCTGTGGTCTTGCCCGTTTTGTTGAAATTGGAAAATCCCTTGTGAACTGGGAAACTAGCAGTGAAGCTTCCATAAACAAGCCTTACTGCCGGAAAGGAAAGTAGACAATTGGAAAACTAAAACCGAAAGCAAGCATTAAGAAGATCCCGTTTTTATATATTTGATTTGCAAGCATTTTACAGTTTTTTCAAGAATTCAAACTTCTAGATTAAGTTGAGGCACAGAACTCTAAGATGGTAATACTAAGTTTTATGTTGAGAATAGCCAAGAAAGACTATCTGGAAAACATTGCTTTCAATCATTTTTTGTAAGTAATGTAATGTTGAAACTCTTAATAGTTCAGCACTTTGTATGGCTTCCTAATTTGACCCCGAACGTACAGTAGTATGTGGCAAGAAATAAAATATATTGTGCAAATTGGAGCCGAAAAACCCGACCATGATAAAATGTTAAATACGTGTATTGCTCTATTAAAATACCAAATATTAATTAGATTCACTGTCTCGGAACTCTTTTTAATTCAGATTAATTTTTAGCTCCTCTTTTTAACGTAAAATCTGGATTTATAGAGTTCGATCCTGATTTCAACAGGTACATAGACGAATTCTATCTTAAAATGACGAGAAAAGTTTGCTCTATAAACTTTGAGATCCAGGTTATGAGAAAAATAAATAAAAATTTAACTATTTTAAAAAAAAAAATCCGAAAATTCAGCTGTTATTTTCAAACAAATGGTTCGTTATGCATTTCCTCGACCGAACGATTTCCGAGAATTCTTGTTACTTTCGTTTCAGTCTACTTTATGAACACCTTGTTATCATTGATTGAAATAGTAACTAAATCGACGAGTAAAACTAGTAAAAATAGAGGGAAATCACTCTTCAACGGTTCTCGGTGGTGTCGACGCAATGAAGCTGCAGCAAAAAAATTTTGCAATTTCGGTCATTTCAGCTTCAAAAAGGTGTAAAACTTATTAAAAAATTAAATTTCATTTCAAAAAATTAATTAGTCATATGTGCTAAAAAATAAAAATTAGAAAAATTCTAATTTTCAGCGAAATTTCAAATTTATTTTTATTTCAGAAAAGGATTCAAATTTTGGCTTTCAAAACAGCTTACAAAATATTTATTTTTAAAAAATCTAAGAGCTTTCCCATTCTACGGGGGACCCGCACTCCAGCCACTCTCCCTGACCACAATAAACGCTTCAACAATTCCCCATCCGACCAATTACGACTCTATAGAGCTTCACGTTCATCGTGCTCTGCTCTCCCTCATAATCCAACATCTCCGTTTAATCTACGCCAACCAAAATGACTATTCTATCGTTTTCAAGTCATTCCTCCGGATTTTGGAATCAATTCAAGCCAAAAATCTTCAGCCGAGGTCCAGGACTGAGAGCTGGAGACTCTGTGCGTCTCAATGAAGGCTGAAAATGGAGCCGTGCCGTTTCTGGTGCACCTATCGCTGGTGAAAACCGCAAAGAGCATGCTGAAATGCTGGAACCTCGACTGCGTGGGATTTCGATCCGGAACGCCCCCATCACGTACCCAACAAACGAGAAGAAGAACGCTGACGAAGACTCTGAGGAACGAAAGACGTGGAGCCATTACTCAAGGAGAGCTGCTCAGAAAAGGATACTTGGGGCATTCGTGGCCAGGAAGCAATTGTCGAGTGCCAAGACGCTAAGGATCGAGCGAGAATTGCTGTGGCCACGAAACGTGTCATGGGCGGTCTTATGCAGGACAGCATGGGCGAGTGGATTAAGGAGAAGCGTACGGCGGATGTTGAGATTAGAAGAATAAGGATACTTGAAGAATTAATTTAAATTTTCCTATTTTTTGTTTGTTGAGAATGACTTTGGTATCTGGCAAAAAAAACCACTAAATTTCAGTTTTTCTCGATTTGTTGAAAAATACTCATAAAACTGATTTCTATGTTATTTTTGGCAAAATTTGCCTTTCCCCATTCAAACATTTTTTTTGCCATTTTTCCTCCATTATTTTTTTGTTATTTTCTTTTTTTTTCGTTTTTGTTATGAGATATGTTTCTGTTCTGTTGCCATTTTTTATTATTGAAAATTAAACGAGTTTCCTGAATTTTTTTGTTAACCCAATTTTTTTGAAATTTTCCGTTTCACATACGTTTGTCAACCTATCTCGATTAATTTTTGAAGTTTTCCAATTGACTCGCGCATTTTTTAAAAAGTTTTTAAACTGTACATTGACAATTACACCCCTCTAACTCGATCTGATTTTATTCAGATTTTTAGTTTTTTTAGGTGAAAAAGTTCTTGTGCTAAATTCATCCATTATAGTTCGTAATTCAGCAAATTTTGGGTCCGATTAAACTTTGAGCGATTTCCAATTTCATGGGAGTTTCTTGTTCAGAATATGTCTCGAAATTTTCTCATTTCTGGAAATTTTGAGTCTGTCACACAGTGTTCCGTAATTAGCTCGATTTCACTTACATCTCCTCAACTCTGCAAACTCTCAAACTTTCGGAAGGGTCTCGCCATGAAATCACGGGTGGGCGGAATTGCAGTTCGGCAAAGTGCCGGTTTGCCACGGATATTGTCAATCCCGGATTCCGTTTGCCGGAAGTTTTTAAACGGGATCTTTTATAAGACAGACGGAAAGACTTAAAACTGATTTTTAATTTTTTGCCCGTTTTCTCTAAATATTTTCATAGAATTTACTGACTTTTTAGGATAGATGTTTTCATGGGATGTGCACATGTTGTTCCGGCAAATCGGTAACTGCCGAAAAAAAACGACAATCCAAAAAAATCGTTTGCCGTTCTGTATTGTACCCTTTTTGGCGAATGTGCGTAAATTTATATGTGCTTGCGTGTGTAATATTACGTTCATATATTCTAAATATCCGCACCTTTTGAATTACTCATAATCTATGCATTTACGTACCGCGAATATATTTTGGGAATACACATTTATCATCATTCCCACCCGTTGCCATAGTATCCTCATCCCCGCCCCGCCCCGCCCCTTTCTCTCTTTCCTCTTCCAAATCCTTAATGGCTCATCCGGTCATTGGAGAGAGAGATATGGCAGATGTGGCGGTTTTGCCTAAGCAAATGCTCTGGAAAACTCGTATTTTATATAACTATGTAGACAATTTCGATATTAAAAACATTTATATGTAAAATTTTCATTTTTATATGTTGAATTTGCTCGCCGAATTTTGACTTACATTCTGACAATTGTGTGTATTTAAGAGGGTTATGTATATTTACGATATATTTTTAATCAGTTATCGAATGCTCATTTCCGTTTTTCTACGAGTTGTCTTCATTTTCGGTGGTTTTTTTTTGTTTTTTTTTTTTGAAAGTGTATTTTTTAAGTTCAAAAAACTACAAAAATGTTTTCAGTCAGGATCAATTTATTAGGTTTTTTCAATATTAAAAAAGTTATTGGGAAAAATGAAGTGAAACTCGTCGAAAAACGAAAATCATCATTCGATAAAGATTAAATATTTAGTAAATTGACACACATGTAAGTCTCCGCCGCGAAAAATCGATAAATTTCATAGAGGCATAAAAATTCACAATATAGTTTTTTTATTTTTTATTTTAATCCAAATCCCTATGCATGCTTAGTGCGAATTTTTAGCTGTTTTCTGTAAAAAATCAAAATATTGTATATTACATATCATAAATTTTTCCCATTTTCTCAAACGGATCTCGCCACGACAATATTAAAAAATTCCCGTACTTTTCTCCCGCAGGAATGCCGACAACGGAAGAAGCTGCCAAATCGCCGCTTTTCCGACGCAATCGACAATAATGACACTGAAGCAGCGCTGGCACTGCTGAAAACGAAGGAACAGGCCGCTCACGGGATAGTGGAATGAGTGCCTGCTGGCAGCTACTTGCCGCGTATAGGTATGCACTTTAAAGCGGCGACGGTTACTTTGGATCCTCGCAGATTGTTTAAAGGTACATACCGTAATCCATTGAATTTCAGAGGAAATCTTACGTTGGTCGAGAAAGCGATTGAGCTGAAATGTGAATGAGAAAACCGATGGAACTCTGTACACTCCACTCATGTTTGCCGCCAGGTAGGCAAAAATTTTTTAAAAAAATTCCGGATTTTGCGTCAAATTTGATGCAAATTCTGGTTTTTTTTCCGATGATTAAAGTAAAAAAAAATTCCGAAAAAAATCGGATTTTTATGCTAACAACTAACTTTTAAATGAAAAATCGTGGAAAATTACAAATCACGTAGTTTTGATCTCAAATTCAATTTAACGAAAAGTCAAATTTTATGGTTTTCGCGGTGACCAATATTCGCCAATTTTTTTTTGCCCCAAATACAACACATTTGACGCGCAATTTCATTTGAAACTTTTTCCCGTTTTTACACTCTTTTTAGACTGAACCCCAATATTTGAAGGCGTAAAAAAACAAATAGGACCAATACACTATATCTTACGCGCAAATGTTAAATTTTTATTTAAAATCCTCGTAAAGTTCTATGTTTCTTTTTTTGATCGTTTTCAAGCTCAAATCAAGTTTCAATCCGAAATATTACCGGAACATAATAAATGCGTACTGGTCAACATATTTGACGCGCAAAATATCTCGCGTACAGTAATTCATTAAATGACTACGGTAACGCTTGTGTCGATTTACGGGCTCGTTATTAAAAATCATTTTTCAAAAAAATCGAGCCCGTAAATCACCACAAGCGCTACCGTAGTCATATAATGAATTTTACCACTGTAGTTTTCTATAGGCGAGATATTTTGCGCGTCAAATATAATACACAATCTCAGGACTAATTTTGCGTTAACGTATTACTCTACTTTCTTAGTTTTTCCAAAAAAAAAATTCGAATACACCATATTTAGACGCGCAAACTTTTTTTTACGTTCAAAGCAAAATTGTCAAACGTTTGCAGGAAAACAGGCACGTATGCCGCCTGAATGGACTCCGCAGCCCGTATGTATTTGGTGAATGGAATCGGAAAAACCGCCTCTGAACTGGCGGAGGCATTTGTGGGTCATCACGAGTGTGTGGCAATTATCAATAATCATATAACAATTGATGTGATCGAAGATCTTTTGCGGCCAAAAGTGAATGGAAAATATTATCGAATGAGCTGAGGAATAATGAGCTGGCTGTATTTATTCATTCCTTGTGTGGATCACATGAGATTCATCCTGTTAAAATTATTTTTCGATTCAGTAAATATCCAGCAATTCGTTGAAGTACAAGAAAAAGGTACATAGCTGTGTAGTTTGGAAAAAAAATGAAAAATCTGAAAATTTGAGAAATTTCCTTAAGCTTTTTCAAGATGCGCATTTTTGTTCATTTTTATTTTCAAAAGAAATCCAAAAAGTTTGTTAAAAAATTTAATGAGCATTCTTTTTAATTTCAAAACAAAAAAGTTATACCAAATAAAAACTTTTAGTAATCAAAATTTTTTTTCTCGGTTTTTCTCATCGTTTTTCAAATTTGAGATCTCTTCCCGAATTTTGCCTAAAAATTGATTTTTTCAAAATAAGAACTGATTCTGTGAAAAAATGTATGAAAATGCGAATCGCAAATATTCGAAACTAAAAAAACTTTTATTAAAATAAATTTTTGAAATTTTTCAGAATTTAAAAATTGAATCGAATTAGGTCTCAGTTCAGATCACGATTTTTTCGAAGTTCTGAATCTGTTAAAAACGAGAAATTAAAAAAAAATTTGATGTTAAATGTTTTTCGAGATTAAAACCGAATTGACAACCCAAAGAAAGTGTATCATGTAAAATGTTTTTGTTATAATAAACCAGAATTTTCTCGAAATTTTCAGAAAGTTCTAGAATATTTCAGAATTTTAGGCTCTCGAAATTTCCAAAAGGTTCTAGAACATTTTCAGAATTTTCTCGAGATTCATTTTTCAGAGGGTTCTAGAACATTCCAGAATTTTCTCGAAATTTTGGTTAGAAGATAGTAGTTCAGAATTTTCTCGAAATTACCAAAAGGTTCTAGAACAGTACATAATTTTCTCTGAAATTTCCAGAAGGTTCTAGAACATGCCAGAATTTTCTCGAAATTTTCAGAAGGTTTTAGTATATTTCAGAATTTTCTCGAAATTTCCAATCGTAAAGGTTCTAGAACATTTCAGAATTTTCACGATTTTCAGAAGGTTTTAGAATATTTCAGTAGCAATTTTCTCGAAATTTCCAAAAGGTTCTCAGAACATTACAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACATTACAGAAATTTCTCGAAATTTTTAGAAGGGTTCTAGAATATCTCAGAGTTTTCTCGAAATCTCCAAAAGGTTCTAGAACAATCCAGAATAATGTTTTCAAAAAATTCAAATTTGTCCCGCCAAAATGTTTGCAAGAAATTAAACTTCGAATTGCCAAAATATGTACAGTACTCCTACAGTACCTCTACAGTACTACTACGGTACACCGAACGTCCCATATCCCACTACTAACCTAACCTATATCTCTTCAAAAGACTAGAACACAATTTTTCCTAAACTACAGTAATCCTACCGTACTCCTAAAGTACTACTACAGTACCCCCACCATACTCCACTGCTAACCCCAAACCTATATAATCATCAAAAAAACACAATTTTTCCTAAACTAGAGTAATCCTACCGTACTCCTACAGTACTGCCCTACGGTACTACTACAGTACCCCCACCATATCCCACTACTAAGCCCAAACTAATATCCTCCATCAGCCAAAAATGCCTTGCCCCAAGTTTGTAAACAATGAGGTCTCTAGTTGATTAACAAACGGACACTATTTTTTTATTTTTTTCAAAGCAAAAACCATCCATTTTCCAGATCCTCTATGTCATGGGTATCGTGTCTTCGAGAAACAGCTTCGATGTAGGGCAAGCAATGAAATAATGTCGCTCAAGCTTTGGCTAATTCTATTTTCAAGGCGTGAAACCTCGAAATTTGTGGAGTCGAACAAGGAAAAGTCGCCAGTAGTACAACCAGGTACGCAAAACTGAGTTCCACGTGGCAAGAGGTTGGCGATGAAACTAGGCGAGCACATGAACCCGCGTGATGAGAAATACGGTTGCATGCGTACGTTCCCTAACAGTATAAACATTCATTACTTCATGATACTCTACAAAAAGCACTGCAAAAAAGTCAAATTGGTGCGAACGATACACCCAATGTGCCACGTATGAATACATTGTTCAGGCACTTTTCCGACAACGAATCGCTGCCGTCTGCCCGTTTTGCTCGGGGGTCTTTGCGGACATCGGAGCCAAGAAACGGTGCTCACAGTGCAAGTAGGGAGTTTTGTGCTAGGGTTAAAAATAATTATTTAATAATTTAATAAAGCTCGAATTTGTGGAAATAATCAATCTCCAAATTTTAAAAATATGTAAAAAATTTTATTCCGTTATATGCTATTTTATAAATTTTCCCACAAACTCGGCATTTGGCTCTAGCTTCTTGCTTTAGCCCAAATAATATTAACTTGAAGCTGTCTAAACACGTTGGGAAAAGTTAGACAAAGACTTTGGCAAAACTTGGATTCAGCTTTACCAAGGTCTAACCCAAGTTTCACCCAACTCTTGCCAAACTTTGGCCCAAAGTTTTCTTATTTCGTTTCAAATTTGGGCCAAAGTTAGGGAAGAGTTGGGTGAAACTTGGGTTAGACTTTGGTATAGCGTGAAGCCACGTTAAAGTCTTGCCTAACTTCCCAAGTTTAGACAGCTTCTGATCCAAGTTAACATTTTTTGGGCTAAACTTGGGTAAGAAGCAAGAGCCAAATGCCGAGGAAATCCCGCCGAAAATTGAAAGTTCAAAATTTCAGCTTCGTTTTTAATTATTCTGCAAAATTTGGAAGTTCCAACAATTGTTTAAAGATTCTTTAAATTAAAAAAAAGAATTATTAAAACTTTTTAAACACCAAAATTCATTGTAGAAAATTCCGAGCGTAAAATACTCTTTGAAAATCCGGGATAAAATCAAAAAAAAAATAAATTCTAGACATTCTGCCATTAAATATCGAAAAAAGAACATGTTGTCTGTAAATGTATTAGTCAAAATTAATTCTGTTTTTCCAATCAAAATTTTAAGTGTCTGTAGAGACTTATTTGAGTTTCCTGTTTTTCCTCGTATTACTAAAGTTTTCTATAATATGCTGTGTTTGAAAATTAACTATATGTGAAAATATCGAGGCACAACGTTTTCAAGATCTGGTGAAATTTCGGATCTACGTTTTTCGGATCTACCATTTCCGGATCTACGTCTACCGGATCTGGCACCGTGCCAACGCGCAAAACGCTTTTTTGATCACTCGGCGCACGTTGTTTTTTGTAAATTTCTTCTAGAAGAAACGCTTAACCACACGCGACGCGTAACAACGGAGCATCGTTATCACGTTTTTCTCCGAGATTAAAATCTTCGAGCGTTTTATCAAGAGTCACGGTGCAAGACGAAAATGGTAGATACCTCGGGAAAACGGAGATCCGGAATTCCGCCAGATCTTGAGTGGTGCCTCAAAATATCGATTAATGAATTTTTTCCGAAAACCAATTTAGCTTCAACAACAGAATAGCTAAAAAGTGATCAAGAAAAACTCAATTCTTATAAATTGCAAACACTTTCCAAATTTTGATAAAATGGAAAAGATTTTAAAAATTTCAGGCAACACATTTTTTAACTCTAATAAACGTTTTTTAAATTCCAACAATTTTTACAGCTCGCCTACTGTTCCCAAAAAGAATGCCAAAAATGCGACTGGCCAATTCATCTCAAAAAAGTGTGCTCATTTCTGAAGAATTAACGCTACAAGAAGTGTCGCCCACCGACGAGACCGCCATGGCGCTGGACTCGGCTCAAATCGTGGCGCCAAAATCGAAGTGTAGAAGTGCCGATATTCGATCTCAATATACTTTTTTTCTGGTAAATTTATTTATTTTTATATTTCGGCTTCATCTCATTTCACGCAATTTTAATTTCATTTTCATAGATTCATTTTTGAAGTCATTCCTTGAACAGGAAAATTCACTAAAACATGCATTAAGAAATATGGAATCCAAAAATTAATCTAAAAACCTTTTCAAAAAACCACTTCGTCAAAAACTGATGATGGAAAACTCGTTGACAAAAACGGAAAGAGTATCCAATAAAGATTAAAAAGTTCGACATTTCGTAAATCGACACAAATCTCGTCGACAAAATCAATACCGAAAAAATCAGGAACCCAAGAAATTCAATATTCCCATTTGTAAAGACAACTCGTAAAACATTTTCAAATCAAGAAATTATTTTTTTTGCCCTCAAAATTGATCCTGAGTGAATACTATAAAAAAGAAAACTATAAAAAGTGGCGAAAATTCGAAATTTTAGCCCCTCTAAATTGGTTCACTTTAGTTGTCTAATGATACAACAAAGTAGACATAGGTTACAATATCTGATATTGGACTTGTCTAAACAAAAGTGTTTTCGTTTTTTTAACGGATTTTTAAAATCCAGAAGAGTAACGAAAAAAAATTATTTTAAGAGAATAGAGTAAACTATAATCATGTTCGAGAATCAAATCCGCCTAAGAATATGAGGTACGGACCCAAGTGTATCATAATTATTTAATTTCTGTGTATCAGAATTATTTTAGTTTCCTTACTGTGATAGGTTCCCAAACTGCTTAAATTTAGGAAATATTTCTTTACTGGACACTCTTAGCCACTGTACGCTGCCGATCCCAACGCATAATAAGAGAATACAGAACACCAATTATGCCCGAGAAAAAGATACTCAGAATATAAATATAATTTATCGGATGGATCGGCAAACATTGAAGACACTTTCTAATTACCCAAATTGTTCAGTATATTCTAAATCTAATTCTCTTAAACTAGAACCCTCTTGGCCAATGTACGCGGACGAACGTATCATAAGTAAATACAGAACACCAATTATGCCCGAGAAAAAGATTAGCACTCAATAAACATTAGTCAAATTCGGATGTATAATGATTCCCGAAGACACTTTCCAACCCACATTGTTCATATTCTAAATGAAATTCTTTTACTAGAATTGTCCAATGTGTGCTCCGAACGTATCATAAGGTGAATACAGAACAACAATTATGCCCGAGAAAAAGATCACTCAGAAAATAAACATAGTTGAATTTATTGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCATACTAGAACACTCTTGGCATGTACGCAGCCGAAGGTATCATAAGTGAATACCAGAACACCAATATATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCGAATTTATCGGATGTATAAAGATTCCCGAAGACAGTTTCGAATTACCCTAATTGTTCATATACTAAATGACAATTCGCTTACTAGAACACTCTTGCCAATGTACGCAGGCGAACGTATGTGAATACAGAACACTAATTATGCCCGAGTAATCCTACTCAGAATATAAACATAGTTAAATTTTGGATGTATAAAGATTCCCGAAGGCACTCTCCAATTTACCCAAATTGCTCATATTCTAAATGAAATTCTCTTACCACTCTTGGCCAATGTGCGTGACGCGGCCGAACGTCTTTTATGATAAGTGAATACAGAACACCAATTATGCCGAGAAAAAGATCCTACTCAGAATATCAATTAAACATATTCAAATTCAGCGGATGCATAAGGATTCCCGACTCTTTCCATACCCAAATCATTCTAATTGAAATATCTCTTACTAGAACACTCTTTATTGGCCTATGTACGCAGCCGATAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTGCTCAGAATATAAACATATTCGAATTTAACGGATGTATGATTCCCGAAGACACTCAATTACCCTAAATTGTTCATATTTTAAATGAATCTTACTAGAACATTCTTGGGCCAATGTACGCATTGCCGAACGTATCATAAGTGAAAACAGTACACCAATTATGCCCGGGAAAAGATCCTACGCAGAATACAAACTTATTCGAATTTATCGGATGTATAAAACAAGGATTCCCGAATACACTTTCCAATTACTCAAATTGTTATTCTAAATGAAATTCTCTTACTAGAACACTCGGCTTGGCCAATGTACGGAGCCGAACATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTAAAATTCTGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTTGTCTAGAACACTCTTGGCCAATGTACGCTGCCTAACGTAACATAAATGAATACAGAACCCCAGTTATGCCCTAGAAAAAGATCCAACTCAGAATAAAAACATATTAGAATTTACCGGATGTATAAAGATTCCCGAAGACACTTGCCTTTCCAATTAACCAACTTGTTATTCTGACTGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAACAAGAACACCAATTATGACCCGAGAAAAAGAGCTTACGCAGAATATAAACATAGTCGAATTTATCGAATGTGATTCCCGAAGACACTTAATTACCCAAATTGTTCATATTCCAAATGAAATTCTCTTACTAGAACACTCTTGGCCAAGCAGCCGAACGTATCATAAGTAAGGAATACCGAACACCGATTACGCCCGAGAAATAGATCCTACTCACTCGAATATAAACATATTCGAATTTAACGGATGTATAAAGTCCCGAAGCACACTTTCCAATTACCAAAATTGTTCATATTCAAAATGAAATTCTCTTACTAGCACTCTTGGCCAATGTACGCAGACGTATCATAAGTGAATACAGAACACCAAATATGCCCGGGAGATAGATCCTACTCAGAATACAAACATATTCGAATTTATCGGATGTATAATGATTCCCGAAGACACTTTCTTACCCAAATTGTTAATCTTCTAAATGAAATTCTCTTACTCGCACACTGCCAATGTACGCAGCCGAACGTATCATAAGTGAATAACAACAATTTACCCGAGAAAAAGATCCAACTCAGAGTATACACATATTCGAATTTGATCAATCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTAACCCAAATTGTGCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTAGCCAATGTACGCAGCCGAACGTATCATAAGTGATTACAGAACACTAATCATGATCGAGCAAAAAGATCAGATCCAGAATATAAACGTATTCGAATTTATAGGATGTATAAAGATTCCCTATTGGGAAGTCGAGCAATCCACGGCTGGTTTATCGGCCACAGTCCGCGGTTAGGACATGGCTTATATTATTGGGCCAAGCGGAGCACCACCAGGCTGTGTACCTGACTTCCAGATCAGCAGTACATAGCACTAAGAAAGGATCGTCCTTTATATCTTTTAACCTTTTAAAAAGAATCGAAGGAACTCTCAGGGTCATGTGGTTCTGGGGACAAAGAGGGAGGCTTACATCAATACCAAACACTGGTAGATAACAATACCTGTGGTAGATCACAAGCCACCCTAGCCACAAAGAAAATCTGTGGACGTCCTCAAAGGAGGCCGCCGGCGCCCTTGAGCTGGCCAACAAACCCTTCGAGCAGGGTGGAGGACTACTCCAGCGACTGAAAACGGCGGTATTAACGCCACGTTGTCGCCCAATAACAAAAAGCCCTCGGGAGAACCTCAAGAAGCCCACGGCTTAATTTTCAAATCAATTACCTTACTATGAATCTCCTTTTGGCTCTACGAGTCGTCGTTGATGTTACCATCCATTCCGTCCTACCTGGGTCCCGTCAAACAGTCCATCTGACGTCCAACCAACATGGGTGGAGTGTCCAACGCATCTGAAATTGAAAAGTATTTATATCCACTGATTTTTTAAATGGAACCATTTACAAACAAAAACGGAAACGCTTAGGTAACCAAAAAAAAAAACAATTAGTATTTAAAACAACGGAGACAAATGCTCTCGCGTAAGTTATATTAATTTTCCAGTCGACTGCAAGGCATCTGCTCCCACGGGTTTATATAAAATTATGTACCTATTTTTCTTGAAGTCGACTTGTCTTGAAATCTTTCAATCAGTACTTTTCAAGAGTTTTTGGTAATTTTGTCCGTCGATTTTTCAGAAATTTCAAAAAAACGGCGAAATTCCAGTCAGAAGCCTCATTAATATATCACTAGTCCAGCTCGCTGACCCAAAAAATTATTTTTTTTGAACTACAGTAATCCGACAAAATTGCTACAGTACTATTACGGGACAGCCACATAACAAACTTTTGAAAAATGCGTATTGCGCAACATATATGACGCGCAGGCGCAAATATCATGTGTAACGAAAACTACAGTAATAATGTATGACTACTGTAGCGTTTCTGTCGATTTACGGGCTCAATTCTAATCGTAATGTTACACGACACATTTTCGCCAAATGCAAAAAGGTGTGCGCCTTCAGATTAAAAAAAAGTTGATTTTTGTGCCGGCTTTTAACACATCGAGAAAATAAAAGAAACGAAAGTTTGTAATTACAGTACTCTTCTTAAACGCGAACACCTTTTCGCTTTTCAGAAAAACTTGCGCCGTTTCGAAACCTGGTACTATACTTTTATAATTAAATCGATTAAAAATAAATTTTGCGGTGGAGCATAAGTCATCAACTCGAAAAGAAAAAATCTTGCATGCGGTAAAAAAAAAGCAGCAGTACTCCAAATCACCCATTGGAGAATGGCTGGAAATTGAAATCAAGTCTGCACTTTGAAAAAATGCAGCGTTGAATGAGAGAGGGACAAATCGAACAGCATTTTATAAGGAGTCCAAAAAAAATGTTTGTGGTAGGTCTTGAATCGTGCAACTCATCGTTTTAAAATCAATTTTTAACACTTTTATATCATAAAAGAATAGTCTTTCATCATCAATCGATTAAAATACCAACTCTCGAAAATTAACAGCTTTGTTAACAGCGCCGTCTACCTGATTTGAAATTGCTCGCAATCGGTGCCGCTCAACTAAATGTTTTGCGCGTCACTTAAAATGCGCCCTTGTACGTTTCAGAAGCGCGTCTCCTAAAAAATAAAAAGGCTAGTCCAATTTTATTAAACGGGTATTTAATTCATGTAAATATATGAGCTGCAAATTTAGGAAATCTAGGTTTAACCTATCAAAAACTATAAAGTGGCAAAAATGGGCAATTTATGGCAACAATTCACGATCTTGAATCTAAAGGGTTCATTATTATTGGTAAAAGAGGACTAAGAAATTGATATCCGAACCCTAAAAAAATTGTTTTTCAATATTCAGAAGATATTATGAAGTTAGTGTACTTCCATTTTTTCGATTGTACGGTAAATCAAAACTAAAGGTGGGCACGGGCGTATGATAAAGTTACGATCGTTCCAATCACCAAAGTCGCATAATCACAGCCAGAGCCTCACATGAAAACCCAGTGTGTGGGAAATTTAAAAATCAGTACAAGAAAGCCTCAAAAAAAAAACAAAATTACAGGAAAAAACGGAAATTTTCAGTAAAAAATTATAGGGTATGTACAATCGATAAAAAATTTATTGAAATTCAATCGAATTCTCCGTTTGCGGCGTTCGGATCGTTCACTGAGGAAGAGTAGTACGGGATGTCGAAGTTTGAAATTGAAGAATTCGCACCAACCGGACCCCTGGAAGTAGATCGTAGGAGCTGCAAAAAATGTTCGTGGCCGCGAAAAAAATCGGTGGCCGATTTTTGTTTTTTCGGGGCCACGATGTGACTAGTCGGCGAAATTAAAATTTGTTTTTTGGTAGTGTTCAAAACTGTTGTTCTGGTTGAAATTTTATCGAATTTTTTTTTGTGGTTTTTTCAACTAATTTTTTTTTCTGAAAATACTTTTAGAACAGTTCATTTTTTTTTCAATTTTGTTCAGACCCTTACTCCCTATCATAAAGCCTCGGAAAATCGGAATCCCATCCCTGAAACTCGTGAGAACCGTTCTAGCGTGTACTTCGACGGAGGCCGGTGAATATCCAGTAGGTCTCGTTTTGGACGACGGCTTCAAGGACACGACCGAACAGTGAAAAAGTTTTATTTATCAAAACCATTTTTTTGAGGAAAAAATTTATTGAAATGTTTTTTTTTTAATTTTAAAATTCCAAAAAAACGCAAAAGGGCAAAAAAACTTGAAAAAAATGTTCATTATTCCGACTCACAATCAAAGATAATGTGTATCAAAAAAAATTAATTGTTTTCTTTTAAAAATTAAGGAACTTATTTTTCTAATGGTTATTTCAAAAAAAGTTAAAAATAAATTTTTCAAGTGTTTTTCAAGAAAAAATTAAAAAATTTCGAAATTTCCGGCAAATTTTAATATACTTTTTATTTTGCCAGGGAAAATTTGTATAAAGCTCCGCATTATATGGATTTTTTGTATTGAATAATAAAAAATTTTTTTATTGGAAAAAATGATTTTTATAGTTTTTTTTTGTTAATTTGAAAAAATTTTATCACGGCAACTCAAAATTCTGAGAATGCGTACTGCCCAATATATTTGACGCGCAAAATATCTCGTAGCGAGACGACAGTAATTCAGAATGACTACTGTAGCGCTTGTGTCGATTTACGGGTTCATTATTTAAATGACTTTTTCGTATTATTTCTAATTCTTCATTTAAATTAATTTTAAAAATTGAGCCCATAAATCGACGGTACCGTAGTCATGTTCAGGAATTACTGTAGTTTTCGCTACGAGATACTTTGCGCGTCAAATATGTTGTGTAGAACGCATTTACAGAATTTTGAGCTGCCGTGATAGAATTCGCATTTTTCAAATTAAAAAAAAATTTAGTCAAAAAAATCACGATTTATTTTTGCAAAAAAATTTGTCTAATTTATAAAAAAAAATAAAAATAAAAATTGAGCAACGCTGAGAAATCGGGCCAGATTTTTTTTTGTTATTCTTTGAAAAAAAAAACTTTTGTTGGAATTTTAAATTACATAATTTATTTGGTTCAATCAATTTTTTGGTTAAAAAGCGTTTTTTTTTCATTCAAAAAAGCCCCTCAAACATGTGCCTTCTCTCCTTGTTCGGCTACGGCCTAACTAGCATCTCATCAGGAATTTTTTTCCGCCTGGCTTCTCCATCAAATACCACACACTTCCCACTTGAATTTCCCGGGCTCAGTGCCATGCAAGCCGATCCAGCTTGATTCCGAACTTCTCAGCATAGCCGGTCACAGGATGCATAAAATGTTTAGCAATATGAATTCGGAAGGATTCATCGTCCGATTCCGTCTCATCAGGCGAAATAATTAAAAAAGTCCAGGCGTTTTGCATATGTTTCGAATTGTTGAGACGCAAAATGACTGGCGTAGGTCAGAATGCTGAGTGGATCCAAAAGTTCAAATTTGTGGCCGACTTTTAATTTAAATTTGCAACAATTTTTCAGCTGAAATGTGGTTTCCCAGCAAAAAGTTGCTCGAAAGTGACGTCATCTTAATGATAACTTCCAGAACCTTCTGCGATCCGTCTGGAGATGTTCGAAATAACCTTCCGTAGCCTTAGTCCGCACCATAATCAATTAAGCATCATTGCAAGAATCCGACTGGAAAGAGGAAGAAGCTCGACTCATTCTACCCATCAAAACTCGACTTTTTCAGGCTGAACCTGCCGATCTTTGGCCTCTACGGAGATCTTCGGGATAATCGAGCGGTGACCATGACCTTCAGACGGCGGCCAAGGATAGGATCCATGCGACACGGATTTCTGGCTCCGAGTACTTGAGTCGCTCGCTTGATTCAGCCGGAAAAGGGCAGTGGGCAGTCAGGAGGCGGAGTTGGTCGAAGATTTTTGGATCATCATCAGAGATTCGATTTTCGTGCAGCCCGGCCTTGCCTGCCGGAAAATTTTTTTAGGTAATAGGAAAATCAGAAGGGTTTTTTGGAGTTTTTATTCAGTACACCTTATTTTTTTTGTTGTTTTTTTGAGGGTTATAAGTTTTTAGGTAAATTTTTTTTGTTGATATTCTTGGTTTGTTTAAGAATAAATCATTTAAGTTAGACAAAAATTCGTTTTTAAATATATTTTCGGTTTTTTGCTGGTTTAGTTAAAAGTTTTGTTTTCGGATTTTCATTTTGATAAAAATTGAAGCCTTTTTTTTTTGGTGTCTTTCTTAGGTTTACGAGTTTTTTTTTTGGTTTTTGACGAAAAATTTCTTTTAAAAAAAACGGACTTTTTAAAAATATGGGTTTTCTTAAAAAAATAAATTTCAATTTTTTTTGTTGGATAAAAAACTGTTAAAGTTTCTTTTATGGCTGAATTTTCGCCTTTTTTCACATTCTCCACCAGAAAGAACATGAAAAAAAACATAAATGAGTAAATGTTTTGAGTATTCAGGCAGTTTTTCCGCTCAGAAAATAATTTTGGCCGGATTTTCATGGTTTCTTACATTCAGAATCTCCTCTCTGCTGTTGGCCGTGGTACGGGCGGTGCAGGCGTAGATCCGCGTCGACAAAATTTCGGGCATGGTCGGTGTCAGCAAGCTCAGTGGCCTGTATTGAAGCTCAGCCATTTCATGGATCCTTGAGACCGCTGAAATTTCGCGTTTTTTTTTGGAGATTTTGTTGAAATAACCTTCCAATATGAATCGAAAATATTTCCCTCTGAAAGCATATGAAACCAGCAGGGTCTTCTAGTTCCCCCACAGGCGAATTTAATTGCCACGTAGAAGCCGCAGACAGCAGTCGCTTCGCCGAAACAGCCAGGATTCAGTTCTGGAGATTTAGTGGTTATAGTCCAGAGACGGTCGGACGACTACTTCTAGCTGAAAACATTAATCCAGATTATGGCTTTAAAGTTTTTTAACAGAAAAACCAACTCGAAATCTAGGTTTTAGGTGCTGATTTAGCTTTTCCAGCTAGGCAAACAACCCTCCAGCGCCTCGACAGGTAAAAATTGACTATTTCCATCATAATTACAACGGAGTTCATCTGTCCATGTGAAAGTTCCTTCAATTTGTGGCTTTGGAATCCGCTATCTCAGATTTCATCTGTTCGACGATACTGGAATAGCCGTTCTGATGTGAAATATCGGTAGTCTGCTTCATCAAGTTTGTAATTATATTGACGCTGAAAGTACTAAATTATGTTTTTTCGATAAAAATGCTTTGAAAAAATACGGAAGCTTTTTATTCGAATAATTCAATTGATTTAAATTAAACATCTATTTAAATTGTTTAAATTAAAAAGTTCCACTTCTGTACTTATCACGTCGAGACCCAACACATACCAAATGGGCCTTTATATAAATTTTAAGAAACTCAACATTTTACAAGAGTTTTACAGTTTTTTTGTCGTTAAATCGTTTTTCGAAAATAAATGATTTATACTCACAGTTAACTTGCTTCGTGCGCAACTTGAATATTAGCTTAAATTTCACAGTCTATGGGTTAAATTTCAAGTCCGACTGATGATACGGGAGGTGCGTGGAAGTACGGTAGTTTGTTTTGTTTTTTTTTATTTTGCCGCCGAGTGATTCAAAATTGAATTTATATCATCCGATTTTTTGATTTTTTCTCAATACTTCTCGATTTTTCAGGAATCTTTCAGTGTGATTTTCCAACCGTAGCTCGACCCCAGACGAAGAAAGCCTGAGGCTGGTCGCCAGAAGCACTATGAATTGCGGTTTTTGATTTAAAGCATAATTTGCATTAATCTTCTAATATTTTAGCCACCCCACACCGTCCACGAACAAACTCCGAAACGAAGCTCGGGGCTCGCGAGCAGCTTCTCCGGGACTCTATACGAGTGGGTTTAAGTTCTTAATTTCATAGAATATCACTTATTCAAAAATTTTATTTTTTCGCTTCAAGCAGCTTCGGAGCCGTACGTCCACATGACAAAGGAATCCACGTGGGACGAGGCGAAAAAACTGGCTCTACGATCAGTCTAAAAGAAGCCGGACATTGTCCGTAAAGCGATATACAATCGTCGTCGCTTCAGGGAGTCAATGAAAGGATAAAAAGTTCGCTGGTCAATAGCGCGAAATCATCGACCCAAGAAGCCCGGCAATCAAATGCAGTGCGGCGGAGGTATTTTAAAAGAAGACAAATTAATATCTAATTATTCCCTTTAATCTTTCAGACAATTGCCATAAACGTTGTGCACTGCTTGGAGACTCATCACACAAAAATACTCGCTCAGAAATCAAAGCGGCCCCGCTGCTCGGGAGCCAGCGCCCAGCACTGCATGGAGCGAATTAATTCAAATTAATATTTTACAATAAACTCATTGCTCGTTTCACACATAATCATTCATGTGTTTTTCACTCTCGAAACCCATATACCCCACTCTAAATATCTATATAATGCCACATTTCTCATAGTTTTAATCTGCCCTTACCAATTAAATCTTGTCCCACCTATTTTCCGCCATGATCCCTTTTTCCATTTTGAATAAAATACGACGACGATTTTTCCTCCATTAAACCAAGGAGAATTATATAAATAGAGTCAAAAGTGGCGCTTGTGTCGCTCAGCGGTCTCCTCCACTTGCAAGCACTATCTCACCGCGGCCTTCCAATTTCTCGTCCATTTCAGCTGTAACAAGTAGTTTATAAAAACTGAAAAAAATGCAAGTTTTAGCAGAAAATCGCTGAAAATGGCAAATCGTCGAGCTAAAGTCGCTTTTGACTTCGGAGCCAATTAAAGCCATCGAGTTCTTCGATAGGCTCGTTGGACAAGGTTTGAGCCGAAAATCAAAACATTTAAGCTGAGATTTCTTTTAAAAATATCCCTTGCAGATGCCGACACAATCATCCAAGAAGCCTGTGGTGACAACCCTCGCCACCTATATCCGGCATCCCTATAAGTGTTTTTAAGCGACGGCTTCTGTGAGCTCCTAATCGTTTTTTGCGAAATTGTGCATTTCGTTTCAATTTCACAGCTTTGAAGACAAAGTTTTGCGGCGAAAATTGATTGAGCATTCGAACGATTCAGCGTGTTTTGCGGTTAACTGGAAAAGGACAAGCCACATGGGGTTTCGTTTATTGAAAATTGAAAAGATTTTTGCAAAAAATTAGATTTCATGTAGTTCAAACTAAACGCTGCTCGATTTTTAACCGAACCTTTTTCTTTTTTCCGTGAAAATATCGGTTTTCCAAGTTTTTCGAACATTTTCCAAAAAAAAATTACGTAAAATGTGAAAACGATTTTCAAGTAGCCTACAAATCCGGAAAAATCAAACTTAAATGTTTTCGAAAAATTTCATAATTTTCTTCAAATCTCTTTGAAAAGTAGATTCCACTTCTGGGAAATTTGAATTTATGTCATTTCTTTAAAAGCGCATGCTCTTTTGTAGGGTCTCGCAACGAATTATTCAATTTAAACTTTTCGATATTCGCGCCGAAATTTGGGTCTCGGCGCGATTTAAAATAAATGAAGAATATGGACTATTAATTTTTCCTTGAAAATTATTGATTTTTCGGAACACCGGCACCACGTCACCGCTGTCGGATCGAATCGTTTCTTCATTTTGACTACTTTCCGATGGCAGCCCCGTCTAAGAACCCCGACTGGTCCCCGTGCCACGTGTAATGAAATCAAATCGAGATGACAAATACACACACAATATTTTTGACTGCTGAAAATCAGATTTAAGGCTGCGGAACAGCTTCATCTTTTTTGCCGGCTAAAACGGAGAGCTGAGACGGACGGTGGTTATGTGGCACTGCCCACTTTGGTAGAATTCCAAAAGTTACTGGATACGTGGCAGATGTGAAGGTGTTCGAGGAACAGTTTTTGATTGGCGACAAAGCCCTCTACGGTTCTAGAAAATTGGTGGCGGAGTATTTTCTCGCGGCCACATGACTATTTTCTAAACGAAAAGTTGTGTAAAAGACAAGTCGGAAAGGGCGCCCTCATGGCTGTAGCTGAAACGTTTTTCATAGATTTTTTGGCTTTAAAAAAATCCTTAAAGGTGCATTTTCGTGTCGAGAATCCTAGTTGTATAATTTTGCTAATTTTGCTTAAAAATCTTGTACAGTACCAGGTCTCGACGCACACGAATAGTTTTGATAAATGCAAAAATGTATGCGCCTTTAAGGATGTAGTAAAAAATAAGAATTCCTTAAATTTGATAATTTTGTGAAGAAAAATAGAAGAATAATTCTTTGAAAATGGATAATTTTTTGGAAAAATTAGCTTTGTTTTTTATTTTTTCTAGACGTACACCTTTGTTAAAAGATTGTCGCGCCGAGACCTGATACCGTATTTCTTGAGCGCAAGATCGTGCCGAGACCCAAATTCGTGAAATCTGTCAGTTGGTAGGTGTGGAAAATTTCGATTTCCGGGGAAACGCGACGAATCTCGTCGAATTCTAGCTTTTTGTTCTGGTAGAGGAGGAAAACGAGGAGAAATTGGAGAAAATGACGACAAAATATCGATTTTTACGTGGCAAATGTGCCGATTGAGGAAAGGATTGTGAAGGCGGTTTTTTTTCTAAATTGAAAACAAAAAAACTAAAAAAATAAAATTTTAATCGTAGTTTCTAGAATTCAAGCCAGTTATAATAATTTTTAAACTAAAAATTGCATCGGTTCCGAACTTTCAAGGTTTTTTTTTCTGAAAATCGTTTAAAAAAATATCTGCTTGAAAAATCAAAATTTCAAAAAAACAAACAAAACTTGAAAAAAAAAAACGTCTTTAGCGGTATTTTTTCTATAATTTTTCAATTTTTTCAGCGATCCTTAAGAATCGAAAATCGTAATTTGACTTCTTCCTGGTATATCCAAAAATGGACCAAGATTCTGTGGGATAAAACGAGCGATTTCTCAGCGGAAAAGCCGTTTCCTTCATAACCAGTGGATTTCCAAAAATGGCAATTTTCGAATCATTTCAACTTTTAAAGGAACTATTTATGGCTGATCGAGAAATTGACTTTGCACAGGAAAATTGGAGCTATGCGGAAGAACAAAGATGACGGGGTGTTTGTGAAAAGCGGAACTGTTTTGGAGCATTTTGACACAAAATATACACTTAGTGCACTGATGGAAGTGGTCCCCGGTACTATTGGAACAACACAGAGTGTTTTTCAAAGTTTCACCAGATGGGCAGATTGATTATGAAGTTTCGTTTTGTTTGGAATTTGAAGGAATTCGACCTTAAAAATATAAAAAATTGCACTGATGATGATTATGGATTTTTTTTTCAGAAAAAACGAAAAACGAAAAAATTGAATGCTAAATGACAGAGTCAAATATGCCCCTGTAACTTTTTTTTTTTGAACTAAATTTTATATTATTTTTTTCAGTTTTACGCAAATCAAAGAAACGGGTCCACCGAATTAAATTTGAATTCCCGCGCACCAAAGAGTGACGTCATTTTTTTTTTCCCGATTTCCTGATGTGTTATTAGGTTTTTATAACGGTTTGTCAATTTTTGCAGACATTTTTTTTTAAGCTTGGTAACCCGAAAAAAGTGGCCTAGAAATCGGCTTTAATTTTTTTTTTAAATCGACAAACTGTGTTTCAAATTACGAAACAAGGAAAAAACGAAGAAGAAAACAGCCGGAAAACGCGAAAATCTCGAATGACGTAAATTGCGCGGGAAAAACTTTAGAATTTTTTTTTAATTAACAGCTCTAACATAGGGTCGAATCATCCTAGGGCTTTTGTCAAAAACCTTATTCCTCGCACAAATTGATTTTTCGTTTTCGTAGTTTTCACATGGAACAATCGAAAAATTTTGTTTCTCAAAAAAAACAAAAAATTTTTATTAAAAAATTATTTTAATCCCAAAAAAAAATATTTAGCAAACTTTAAAAATTCATAAAACATTTAAAAAAATTTTTTAAAAATTGTATTGGGACTTTATTCTAATACTTGGACTAAAAAAAACCCACATTTGACAAAAAATTCAATTTAAAATGAATATATCGTTTTGGGATACCAAAACGAACAGAAAACCGAGAGATTCGAATTCGAGTCTCCCAAAATTCACAAAATCATCAAAAATGGTGACAATGTGATCCAGTTGATATGTTAGACGCGACTATTCATATTCATCAAAATTATAGACTAATCAAGACGTATTGAAATTTCAATCGAATCGATTATTATTTGGATCTAGCCGAGTTATTTGTTTCAAACCGATGAGATGTTTTTCAACTGAACAAGAGACTGTATTTGCTGTGGATTTGGAGAATTTGGAATTGTGGAGGGTTTCTTTTATTAATTAAAATTTTTTTAAGTGGAAAAATTTTGGTTTCTCTTTTCAGAAATTATTATAATGTTGTAACTAAATATTACGGGAACACGAAATTCTAAGAATGCGTATTGCACATACACAATCGATTTGACACGCAAAATAGTAGCGAAAACTACAGTACTTCCTTTAATTACTGTAGCGATCGTGTCGCTTTACAAGCTCAATTCTTTTTAATACTTTAAATTAAAACTTTTTCTTTAAATTTTAAAAAAATTCGACTTATTTTTTAATTTTTACTTTATGCCAATATTCTGTCGATAAATAAATCATTTTAATAATTAGAAAATTGAGCCCGTAAATCGACATGCGTGAATCCATTTAAAGAATGTAGTTTTCGCTACGAGATTTGTACTCCTAATTGCGCGTCATATATGTTGCGCCGTACGCACCGTTCTCAGAGATTTGTGTTCATATAGAATATTAGGACTAGTATGTTAAAATTTTTAAAAAGTTTGTTTCGACTTTTACCCAAAGATCTTTTTTTGCAAATTTTTAGTGAAAATTATTATTTTTTACAATTCCGCACGCTAAAATTTATTAAAATTATATTTAATTTAGACTGTATTCTATACAATCAAAAAACAACAAACATCAATAATGAATGTTCAATGAGTTTAAAGAAAAATTTTTTTGTGTAGACTTTTTTAAAACTCTTCTTCGTTGACAAAACGTTCACAAAACTTAAAATATCTTTCAATTTGCTTAAATATTAACAAAGAATTTTTAAAATTTTTCAGCCCGAAATACCAACCTATATCACCAGAGGAATTCGTTCCCACCGACACTTCTCCCTCCGATATCTGGTATTTCAAATCCCGAAATTGAAATTCCCTTCTCACAAGTACCCTCTCCTACTACATTCACGTCAAATTGGAGCTCCAGAGATTTCATTCAAATAATGGGAATTTCGATATGTAAGGATGGTAAATCAGAAAATGAAGTGGAAATTGAAGCGAATGCAGTGTTGAAACTGTGAAAAATGCGCTGAGAGTGATGCTCAATATTCGACCTCTTCTCAAAATTAAGACTATTGAGGTAATTGGATATTTGGTGAAATTTGAAATGAAAAAATATTTATAAAAATTGAATTTTTTTTCATTATTTCAGTCACCATAAGTCAATAGCCGTTTCCATTAACTTAGATAAAAATTGATATTTTCTTTTTCCAAATGCGATAAAAATTGGAAATTCTATAAATTCCGGAAAAATCGATTGATTACAACAAAATCGATAATTTCCGGAAAATTGATAAATTCCAGAAAATCGGTAATTTCCGGTGTAAAAGTCGATAATTACCGGCAAAACCAATTAATTTCCAGAAAAATCGGTAACCCTTACCGGAAAAATCGATTGATTATCTACAAAAGTCAATAATTTCCGGAAAATTATGATAATATCAGAAAAATCATTAAATGATCGATAAATTCCAAGCAAAACAAAATCGATAATATCCTGACAAGTGAATAAATTCCTAAAAATTGAGGAATTTCATAAATTCCCGGCCTTGAATATTTTTTAAATTTAATCTTTAAAAGAATAATTCTTTAAATCTTTAATCCTTATCTAATTTATTCAAAAAAAAACTGATCCACAAAATTTTTTTTTTTCAAAAATTAAATATTTTTGCCTAGTTAATGTTTCATCAACTTGATTATCATTTACTCGAGAAATGTTCAATGATTCAATGCATTCTAATGGAAACAGCCATCACTGAATTCACACTTCCATTTCTCTACGAATTATTCTGTCGTATTCGGGTTATGAGGACAAAGTGTTGGATGGACTTTTGCCGAGGAAATCTTTGATCATTTATAACAACTCGATTTCCAGTGTTTTACCGCCAAATTCTTTGTACGGTAAGTGAGTTAAGAAATGGAAAAAAACACATTTTTGCTACTGTTGGAATTTTTTTTCTAAATTTCACAAATATCTTATTTTCCATTTTAAAAGTAGAAGTTTATTTGCTGGATTTCATATCAATTTTTAAATATTTTGATTTTCCAGTGCGGAATTTCTGTGTTTTTTGAAGCAGGAAAAAAACCACAGAAAACTAACTAAAAGAATTAGCAAAAATGAAAAACATACGTAAAACGATGTAACTTGTCCACGCCACGTGTAGTACAAAAAACCGATGTGCACCAACAAATTTTTGCAAAAGCTATTTTTCCATTCAAAACGGCGCCCCAACAGTTGAAATTTTATAGACGAAAATTTGCGAAACTGTTCGCTTCTCCGAAAATAAAAGTCTCAGATCCCATTCTTGGGTCTTCCAGATAATCGTTGAACTCCAAACTGGAGACCGGTTGCCGCCGACACCAGGAGCACATTAACAGTTCCGTCGAAATTCAAAAATCTAGAAAATCTGAGCACCTATGAGCCCCAGGACATTGTCAAATATTTTCTGAATCTCGACCAAGAGTCGGAGGATGTGACATGGCGATCGATACGTCACGAATTCCACGACACACTTGACACGTGGCACGCGGAAGCTGTGAAGAAGAGAGACGAGAGACGTAGGAGCAACACGGAGCAGAAAGAGTAGTATTCGTAAGGAGAGCTTTACGAAAATTCAAAAGGCTTCGATGACGGCATCGCCGGTAGGAATATCGATTTTTATGTATCGAGGAATTTACTGGAAAACAAAGTTTAGGAAAAATGTCGATTTTCCAGAAATTTATCGATTTTCCTGAAATTCGATTTACCTGAAATTTATCGATTTCCACCCTGAAATTTATCGATTCTGGAAATTATCGAGTTTTCTGGAATTTATCGATTTTCCTGTTTTTTCTGGAATTCGATTCTTCTGGAATTTTTCGATTTTTCTAGAATTTCCACAATCGATTTTTCTGGATTTTATCGATTTTACTGAAATTTATCGATTTTTCTGGTATTTTTCTGGAATGTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAAATTCGATTTTTCATATATCGATTTTCCTGAAATTTATCGATTATTCTGGAATTCATCGATTTTCCTGACATAACAGATTTATCAATTTCTGGAATTTATCGATTTTTCGAATTTATCGATTATTCTGGAATTTATCGATATTTCTGGAATTTATCGATTCTTCTGGAATCGATTTGTCTGGAATTCATCGATTCTTCTGGAATTCAGTTTTTCGAGATTAATCGATATAATTGTCTGTAAATTTTACTCCCCAAAAAACAATATATCGTGCCGAGACACGAAAAACTCTAAAGAATTACAGATTCCAATCGGGGCGGCCGCTCGAGTAGAACCCGAAAGTTTCTAAAAATCAATCAATAGTCCTGTCATTCGCCACTCAAGCTCTCCCTCACCAATCAAAGGAATGCCAGAGGTAATCGTCGAGAACCAGCACGCCCCCTGAGCATTTAAATTCCACGTTGTAGTCCCTGAGCCACGATAGTATTTCCAATTCACTGGACGCCGAAATGAACATTTCACCGTCACCCTCGACACCGAAATCCTCTTCCTGTGGCGGAAGGTCGCATCGCACACCAAAAGCGATTTAAAAAGTGATTTCGAAATTCCGAGGTCGTGAAACCTTCCCAGTCACCACAGAATCCTGGGTGGAAAATGGGCGGAGCTTCCGCGTCGATTCGCGAAGAAATTGATCCGCAGGAGATACGCGACGAAGTTGTGAAGAAGGAACAGAAATTGCAGACTAACGTGCGTCATTTGAAATTTTTGAAAAATCGATAATTTTCAAAAAAATCGACTTTTTTTGGAAATTATCGCTTATTCTTGAAAATTATCGATTATTTTAAAAAATTATCCTCGAATTTTCTGAAAAGGATCTGTTTTCGGGCAAAAAGTTCCGAAAGTGTTTTCTCGAAAAACAACGACTTTTTTTTTGAAAGTTATCGATTAAAGAAATGTCATCTATTTCTTTGGTATTTATCGATTTATCTTAAGAAATTATCGATTTAAATATTTTAAGGAAATTATCGATTTTTTTAAGGAAATTTTCGATTTTTATTTATCGACGTTTTTTTTAGGAAAAAGTTTCGAATTTTCTCGAAAAATAACGACTTTTTAATAAAATTTATCGATAAGAATCTATGTTTTTTGAAATTATCGATTTTTTTTGAAAATCATCGAAAATATTTTAAGGAAATTATCGATTTTTTTGGAATTAATCGATTTTTTAGGTAATTATAGGCCGTTTTTTTTCAAATTTATCGAGTTTTTTAGGAAATTATCGATGTTTTCTGAAAATTATCCCTCGATTTCTTACAAAGGAAAAGTATCGATTCTTGGAAATTATCGATTTTTAAGCAAGTCTCTTATCGATTTTTCAAACGAAGAGTAAGGAAAATTTTTTGAAACTATCCATTTTTCTTTATTGATTTTTTTCCTAAGAAAATATCCATTTGTCGATGGCTAAAAATGTGGATTTTTCTGAAAATAATCGATATTCTGTTTGGAAATAAAATATCGATTATTTCTAAAAAAAATTATCGATTTGTGCAGGAAATTCTCGATTTTTAAAATAAAAACAGCGATTTCTTTTTTGAAAATCGATTTTTAGGGAGATTATCGCATTTTTCTGATTATCGATTATTTCTTCAAAATTATCGATTTTTAGAAGAAAAGTATGGATTTTTAGATATAATCTATTTTTAATTATTGATTTTTTCACCTGAAAAAATATCGATTTTCTGAAACAACATATAATACCACACATTAATTTCAGGAACCGGAGTTCAAAAAAGTGCAGCTTCTACCACACGTGGAGACGGAAGAGCTCGACGGAGCTCAAACTTTGGAGGTTTTTCGACGAGAAAGGAATTCACGATGAGGCGTTCATACGCTTGTGTAGGAACTTGTGATGGTTTTTCTCTCAAAAATTTGAAATTCTTCAGTTGGAACTGGTGTTTGATGCGACGATTTGGAGGGGAGTTGGAAAACGAGCAGATCATCTGGGGAAACATGCCGGGACTTGTTCGACGTTAAATTTTCAATTTTTGAATTTTTTTTCTCTTGTAACTTGCATTTTTCGTTTAACTTAGTGTTTTCGGTGTTTTTTGGACTATTGAAATATTCGGGTTGTTAATATTCAAAAATTAATTACATTATTAATAATAAATGCATTTTGAAATGGTATAAATTGAAAATTTTCAAAAAACCCCCAACCCAGTGGTTTAGGATGAAAATCGTGGAAAAGCCGAACGAGAGAGTTCCGAGTTGGCCACGTGGGACTGAAGCCTAATTGAGTGAATTTAATTTTGGATAAAAAAATTTTGGAGATCTCTTCGACATTTTCTCAAAAAATGATCCATAGCTTTTTCCCATTTTTTTGTTGCTTCATTTTCAAGCTCTTCGGTTATATCGCAGACGTTGAAGCAAGGGCCTTCCGGGAGAATTTCCTGAACATTTGAAGCGCCTTTTTGGGTGAACAAAAGCAGCTTAAAGGCATTTTTTGGTATTTTCAAATAATATCGGAAATCTGCGTTTAAATTTTTTTTTTAAAATGAATTTTTTCAAATAGGTTTTCGAAAAATCGAAAAAAAAATTTTCGGGTTTCCGGTGGAAATTTTAATTAAATTATGTGTTTATGATGATGAGAATAGTTGACAATAATTTTTTCCGATTTGTCAACACGTTTTTCAAAAAATTTGTCAATATAATTTTTTCCATTTTTATTCCTGAACAGAAAAAAATCGAAAAATTTTCGGTTTTAATAATATTTCGGAAAAATTTTGAATTTACCGTAGTTGTGTGATCGTTAAAGAAACTCACAATATTTCTAATCGAAGTATGCATATTTTTTAAATGAATTTTTGGAAAAATTTCAAACTTATTTTTTGTTGAATTTTTCGTTTTCTTTCGTTTTTTTAAACAGAACCAAATTTTTCACCATCTTTTCTTCAAAACAAAACAAAAAAAACCAATTTTTGTTTTTTGAAAAGCGAGAAAAATTTCGAAAAATTATTTTAAAAGTTAGAAAAATATCAATTTTGAACGGAATTTTTTCAAAATTCGATTTTTTTTTTTTCTAATATGTTCGAGAGTTTGTCGCCATTTTTATTTTTAAAAAAGGCTTTCAAACTACAAATTTTAAATGAGAATTTAGATTTTTTTAACGAGTAATGTTGAATATTGGAGAAAAAATAAATCAATTTTAAATAGAAAAGTTTTCTTATTCGTAACATTTTCAGTGTTCTCAAAATACAAAAAACTCGTACATCCTCCTGACAAGTACAGTAATCCATTGGATCCCTCCTGTCCAACACCGTCGCTTCCCGAATGTGAACCAATTGTTCATTTTCATAAGAACCGAGCTCACAGTCAATTTCCCGACCATATTTCCCTCGTATTCCTTCGAAAATGGCTGAAGCCCGATTCAAATTTCAAATATCACGGTGGTGGAGAGAATACGGACAATAGATCCGTAATTGATTTAACTTTAAAATTTTTTTCATTGTCATAATCATGCTACGTGGTCTGGACATGATCTGTTAAATTCTCTCGTTTCGGCGGAGAATATAATCGATATTCCAGTGGCACGAGGTTGTCGAGAAATCTATTAAAATTCTGATAATATCGTTCCAATCTCATTTCGAAGCTCGTCAGTTTCGGCTTCAGCTTTTGAAGCCAGTCGTTTTCAGATTGTGCTCCAGCGCGTCTGAGCTCTGAAAGTTTGATTTCAAGCAAAATTTTGTGTAAATGATTCAGACAACCCCATTTTTCATCTAATTCGAAATTAGCCACATCTAGAAATTAACCACATTGACTAATTAGAAAATTTTCTAATTAGAAAGGATGAATATCTAATTAGAAACGCTGCACAACACATCTAATTCGAAGGGATGCCTCGTCGAATTAGAAATGACATCGAATTAGAAAGGTGGCGCGTTGAATTAGAAGTTACGCGTCTAATTAGAAAGGAGGCACATATAATTAGAAACATATTGCGCACGTCCACATCTAACTAGAAGGGATGCTCGTCGCATAGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATGTAAGTACTACCGTTTAATGTATGTAGTACCTTTTAATGTCTGTACTATTCTAATGTATGTACTACCTTTTAATGTAAGTACTACCTTTTAATGTATTACCTTTTGGCTCTTTGGAAATATATCGATCAAGAAACAATGCCGAATTAGAAAAAAGGCATGAACTGGTGCGCGTTAGTTGACCTTTTTTTCTAATTAGATGAGAGGAATATGGTAGTCAAGACTGCAAATTATCAAAATTTTTTGGTTCAATTTGTTTTTGAAAAAAGTGAAAATTCCTGGGTTGCAATTTGTCGATCAGTATTACGTAGACGTCGAAATATGCGATTCGCCATTGCGGTCTTAGGGGTCTCGCCACGCCGACAATCAATGTAGTTCATGTCGATTTACCACTGTTGCATCGTAATATTCCAACAAATTTGCCGCCGAGGTGAAAAAATTCAATAAAAGCCCGTAAATCGACATGAACTGCAATAGGGTTGTCGGCGTGACGAGACCCAATTCTCATCTTTCGTACCGACGTCCACGTGATATAGAACTTTTTTTTTTGAAAAAATACGATTTTGCCTAAAAAAAAAACTGTAAATTCAACAAATCCCACAAAAAAAAAGCGAAAAGAAAAAAGCATCGCGGAAGACAGTGGCGCCAGGCTGTCTCAATACTGTTTGATCTACAAAAAATGCGGGAATTTTTTTCACAGACAAAAATTGTGACGTCAGCACGTTCTTAATCATACCGAAAATGAGATTTCTGCCTCTGCCATCCCGCATTTTTCCAAGATCAAAGTGGAAGGACTTTCACCTGAATAGGACTTTCTGATTCCACGTGGGAAGGAAGAGAAATCCAAAATTGCGATATTTCACTAATTTCCCTGCTTGAATTTCCTTCCAATCAGCGTCTTCAAACTCCGCGGCCCACTCCATCTGTGGATGAAAAATGGGCGGCGCAAATCGCTCTGATTGGTGGCAGTTCTTATTGCCCAATCATTCAAGTTCAATATCTGGATTTTTCATTTTTGACCACCTCCAATTTCAAGCTTCTTCCTTACCTTCAAATCGTAGAATATTGCCGATTCTCTCGGATTGATTCCTTCCTTCAAAACCAGAACATCTTTCAACTCGAACCCCGAAAGCAGATATTTTTTAACCTGAATTCTCCTAGAATATCCTTCGCTCGTAGCAACTCTCCAACGATTCCTTCTGTTTGTAGAAACTCTTGTAGAGTGTACACTGCCTCGTCCAGATCTTCGCAAGATGCCCGTAATTCGATCTTCCGAGCTAGTCAAAATTGCATATGTTGGTGTTTTTCGTTTCGAGCAACACATGCCAATGAGGATATAATCCGAAGTTAGACTCGTTGTTGTTAAAACGCTTTATAATGCTGGCGAAGATTTCCTCGAATTTCGTTTTTCTTTCTTGAAATTTTATCAGTCTGTATAGTTTTGAGGGTACAATAAAATCTCGGGACAACTTTTCGATATCTATCATCATCGTCATGTTATAGAAACCTATATACTACAGTGTTTTTTGAAGAGTTTACACCACGATACGGATTTTGATCGGTTTTTGATGATCAATTTGACTAATACGCTCGTCTCCGCAACGTCTTAATCGGTCCTAATGCAAGGCTGTGCGTTGTGTACAAGTGCCTTGCTTAGCTCTTCAAAACCGGAGCGATACATAGACACGAATCGTTTCATGCGCAGCGCAGCTGCTCAGGGCTCTCGAAAGTTTTCAGACATTCCGTGAAGCTCTCAACAATGCTGTTGAGGTTATCCTTTGGCACATTTTCCCGAATTTGATTAACTTGTGATAGATATTTATCTGATATATTCGATATTTTTATGATATTTTTCCGTGTTGTTTAGGATGTTTTGCCATCGCAAATTCAAATTCCACATAGTATTCCAAAAACTTATTCAATGGATGCAGGAAGTGAATTGATCCTTTGGCAGAAACGCTTTATATCCAATAATTGCTCTGCACTTTTATCGTCGAATAATTTCTTCACGTTAGATTAGGGAGCCCTAGAGATCCACGAAGTATCAATTCGTTTTTGGGAAGGAATAATTCAAAAATACCCAAAAGAAAATAGCCTGATGGCCTGGAAGAAAGCCGTCCGAGGATTGAATACAACGAATAACGTCCCTGACCTTTCGCACCCAATTTGAAAGCCCCAGTGTCGTATTGGTGTCGCGAATAATTTCTAAATCAAACGCCCCTTCGAAATTGTGTCCCACTGACAAGAAGTCTCGAACACTTTTACTCGCTTCATTTTTCATTATAGTCGTAGCGGGTTCGAGATAAAATGGAGATCTTGAGCAATGCGAATACTTTCTTGGCTCGTTCCGGAAGCTAAGAAATTTCTGTAGTAGGCGCCAACCTCTTCGTCCGTTTCATATTTCCGATCTGTACGATCATTAAAACGGCAGAAATCTGGGGAATATTTCTAAATAACTCCAACTTTGCTCCTCAATTATCCATGTGAAAAAATTCAACCCGGATTTTGAATTTCGGCTTGAAATTGCCGAATTCCCTTGGTGCACACATGCAAATTTTTCAAACGCGCGGCCCAAAAATTATTATCCTTGGAGCGCGTTTGCCTGCTCATTTGATTCTCTCCCGGAGCACGGTAGCTCAGAAACTAGATGGATGCTGGTTCATTCTAGATACTCAGTCTGGATATATTGGCTACTATCTCGACCCGGAAACCATCCACATAAAATCGATCTTTGCGATGCAAATAAGAAATGACCGCAATGAAATTATCTATCTCCATTCGTGATGAATTTTCGATTTTGTACTTCCTGGCCAAGTTTATGCACGTTTGTTCGGAGCGCGTTTTCACCCATCTAGCAACTGACGGTTCAGTAGCCAATATAGGTTTCACTGTATCATGAACCACTCCATCTAGTTGCTGTGCTACCCTCGTGCTGAACCACCGTGCTCCATCTACCGATTTCTTCCATTACGATATGGCTGCAATACTATTTTTTGATGGTCTTCCCGCTTGGTCAATACTAATAGGGAGTGCAATACTAATTTTCAGAACATTTTTCTGCCTTTGAGACTAGTTTTTTTCTGAAAAAACTCGAATTTTATGTAAAAATTCAGTCCAAAATTTGTTTTGATTGTAACCTATTTCAAAAATTAATCTCGTAGAAATTTATTTGAAAAATTGCTGCAAAATATGCAAAAAATATTGTAGAAGTCCTAAAATTAGCGAGAGGGGATTGCAATAAAAAAAGTAAACGAAACACTATTAGGGAGTTCAAGACTAATAGGTGCCAGACTAATTTTCCGCAGGTCTCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATAGGGAGGCCATGCATACTAATAGAAGAAATACGGTATTTTTAGTTCCTTTATTTTGTCAACGAGAAGAATCAAATGAGGGCACCAAACGCGCTGCAATAATACTATAATTTATTGTGCGCGCAAAAAAACTCATTCGGCACGCAAAGAATATTCACGAATTTATGCTGAAATATAATATCAGTTTTTATGTTTTTTTTTAACATCCAGATATTCTGAAACAGAGGAATTTTTTTTAGTTATTTGACAATATTTCCTAGATTTCGGAAATCATGTAAACAGCAGCTTTTGTACAACAGCTTTTTTTTAACTGTGAAACTTGTTTAAAAAGTCAAACCACGTCCATTTTGAAAATTAATTTTTAACATATAAAATAAAAACATGTGGAAGGCTTTTGATTCATGTACATACAAGTTTTGAAAAATACGGCATTTAAATTTGAAAAATGTGTTTGCTAAAATCTGATCAATTTTTTTGTTATTATCTATTAATAGCTGGACTTTACTTTTAGACAAAAATTACTCTAATTAAAATCTACCTTCAAACCATTTTTTCAGTTTTTGCAAATTCTCCTCGGAAATCAGTAGGACTAGCGATCGAGTGGCAAGTGAAAATCACGGAAATTTTTCAGGCGATTTTTCAGGCCCCATGTTGCCACGCCAACCATATTTTGGTTTCATGAGAGATCGGAGCTCATGAAATAAATGCAAAGCAAAAATCCAGCGAGGTGGTGATCTTTTAGTCATTCTCGCTGTACTTGAAGATGTGGGAGCTTCTTTAGTAAAATTTACAGCATTCTTCTCTATCCTTATAAACATGTTAGTCATTAGTGTTCTTTTTTCCCGACAATCTCCTTTCGAAAGCTCTCTGCTCATCCCATCCCCCAATAGCTTTTTTTTTGTAGAAACTTGAAATCCTATCAAAATCTATCCCGATCAGCTGATTCGTCAGATCCGTAGAAGCGATTTCGCCTCTGAGAAGCCCAGCGACGATACGATAGCAGTAACACAGGAGCGGTGGTAGCAGGTGAGCTCATCCAGTGAATCCGTTCGACAGGTTTATAGAGTACTTTCCGTAGAATTACTGAAATTATATTTACTATTAAAGTAGAAAAAAATGATTATATAAACTAACTATACGCAGGAAGACTCGCATTATGTTCCAGATTTCGACCTAAGAATTGTGGATGGCGTCCAGCCGGAAATTTTTATTTAAATTTAGTAAATCCTTTAGTGAAGAAAGTTTTTTAATAAATACCTGTCAAGCGCTTACCCTTAATGTGCTCCAACATTTGAATACCTTGCCGCTCCCTTTCCGAAATTTCGAGATCTCCGCATCAGCGTTTACCCGGTAACAAGAAGTAAGGGAATTATCGTTATAATCATCTTTATCTGGGAAAAAATTAATTTTCATGGAATATATTTCAAATTTTCGACAACCAAAAAAATTCACATTTTTTTCAGGAAATTTCGTTGAAAAATCTGTTTTTCATAATATTTTGAGAATAAAACAAGCGTAAAGGTATTCAAGAGCGCATGCAATTCACTTAAGCCAGGGTGACCCTCTAAGCGAACATAAAACATACGGTATTTAAAAATATTCTTGTTTTCCGCGGAAAGTCGGAGAATTTAATTTGATTTTTTTTAAAAAAAAAGAAAATTAACCGTTATACGTTTTGAGCAAAAAATTCTACAATAATAATTTAAAAAAATTAATTGAATAAACATTGAAAATAAAAGTGCTTAAATTTCAAGGCGCTGCGCGTGCATCAACCGTCACTTTTGTTTGGGTATCACCCCAGCACCCCGAATGTAAAAAGTACCAGGGTAAGAGTGCGCGCTTTTTTTCATTTTTCGAATTTGTGCGACCAGTTCTCATTATTTGAACGATTTTTGCGGTAATTTTGGACAGCCATTTTTTCTAGTTCCCACCGACAAATTGCATTATATCCGTAATTTCAAGAAAATTTTGTTATAAAACCAACAAAAATCTAGAAAATTGCTGAATCATTTTGCGTATGAATGGTCAGGCGGATCTGCTCGCTGCGACCGAACCGCCTATCGGGTCTTCAGCCGACAATCTCTACGACATAGAACTGTTCGAGGTGTTCAATCGTGTCGCTAACGTCGTCACAGAAAAGGCGTTCTATGGAGCCGCCCGATCACGCTCTCGGATCATTTGTTTTCAAGTTGGCATTTTTTTTCAAATCATTTGTCCTCACCTAAATCTCTAATTTTCCTATTTTCAGAATTCAAGGCCTGTATCAAGCTCGTAAACTTTCAAGGAACAACTCTTCACGGCCGTGCTGCACATTCGTCCACTGCGAGAAAGTTCGCACGCGAACAGCGAGGCCATCTCAACGATGTTCGAGAAGGTCAAACATAAGGGAAATTCCGGGAATTCTTCGTAGCGTCCAGAGCACTCGTTCCCCGAGTACCGAAACCAGAACCCACAGGCTTCATCATACCTTCCAGTCCACGTGGTCATCGTCGACGGGCAGTCTCAATGGTGGCGGCGGGGGCTATCGACGCCGACGTTCCGCCGGTGGCAATCAGTACAATCAGAACAAGTATCCGAACGAAAGGTACCAGGGATGACTCGATAATCATCCAGTGCAGCAGTATTCGGGCTTCAATCCCAGCGATTTTTGCTGTGATGACTATGTGGAAGGAGCCGAAAAGGTGCAAAATTCGCCAAATTTCGCTAAAAGAAATTTCGCCGACTTTTCCCGTAGCGCAACAGTTTTTTCTTTTAGGCACATTTCAGGCATTTTGGGCATATCAATATTTTTCCACCAGATATGTTCTAGATTTAGATGGACTAGATTTTATTCTCAGACGAATCAAGTGATTTTCTATATTTTTACACTATTTTTTCTTGAAATATGACCATAAAATGCAACAAAGTCTTCAGCAGCTGATGGGAAAAGGAAAAATCGGCGAAATTTCGAATTTCAGTCTATTTAATATGTTTAAGCAAAAAGAAAACTAATTGTTGAATTTCAGACTCGACAACCTTGCCAACCTGATTCGCTGGAGCACCTCCACGGATCCGTTCGCAACCTAATTATCAAAAGTAATTTTGAATTATTTTGAAAATCAATAAATTGTTTGTTTTCAGACGTGAATGCACAAGCACATCTTGTTCTCGTACGAATTGAGCTAAAGATCAAAAGCATGGCCCGCCAACGTGGAAAATGGAGCTGCAGATTAAGAAAGATGACCACCACCACTAGGGCCGGCGGCGGAGCAGCAACCACAGGACAGAACAGACTGACCCCACAACAGTTTTTGGCTCAGATAGCTCAGAGACAACAATCGGAGCAAAACGCGGATGAGGTGGCCAAGAAGAAGCGTCCGAACCTTTCGGGTATCAATCCAGCGCTTTTCTACATGAGCAATACCCGAGAACATCGCCAGTTGTTTATGCTTAAAATCTATAGAGTAATATGGAGATTTTGGGAAAAAAACATATTTTCTCGAAAATACGCCCGAAATAGTGTTTGTAAATTGGCGAGACCTATTTCTTCTGAAAAATTATAATTTTTTCGATTTTCACGTGAACTTGCAGGTTTTTGGATATTTTTCTCGAAAAACGTCAATTCATCGATTTACGCTAGTATACTCAGCAATCGACCCATTTTTTCGCAGACAATTTGGTATTTTTCTTAACTTGATTTTTATTCGACTTCTCGTGTAATCACTTATTCAAATGCGCGCCCTAAGAATTTCTCATTGGAGCGTGCTTGCTTCGTGTAGATTTCCGAGAGCTTTCCATTTATTTTAACTTCTTTCGTGCTTTTTCAGTTTTCCAGCGACTTTCTGGCTCGACCCCTCGGTATATTTTGTGCAAACACCGTCACGCGCAAATGCATGCCCTTTTTCAACGCGCTGCGTGAAAATTCACGCGATTTCAAATATTTTTTCCCGTAGTTTCCAAAATTTTCGAGAGCGGGGGGGTCGAGCCAGAACACCTTGGTTTTCCAGCGAGCTTCCTTCATTTACGTCGATTTTTTTTTTAATCTTCGTTAAATCTAAAAAAAAACGACTTAAATCATTTTAAAGTTTCCAACGGTTTTCTGCATAAAAAATCAATTTCCAGAACCGTCCGGCCACTACGACGACAAACATCTCCACACGGCAGTTCTCGCTTACGGTCGCCTTCGTGTACCTCAATCGGCCTTCGAAAGTCTCTCACCAATCGACAAATTGCTCATTCATCACATAAAACACGACAAACAACCGGTGCTGAAGCGTGATTAGTGACGACCGACGAGTTGTCGGATGCGAATGATTGTAGTCTACTGGAAATCTCCGAATCAATCCAAACCACGATCATCATGACGAACCGGCACCAAGCTCTCCGCTGAAACGTCTTCGCGCCGAAAGTGGATCCCTATCAACTGCACAAGGCGCATCGCCCGAGTGTCTCACCGACAAAGCAAAGACAATAGAGTTCCACGAGACTGAGATAATGTTTTTGAAACTGGACCACCAGAAGACCAACAACTACAGCTTATCCGAAGGAAACGAAAACGCGGATAAGATATGTGTTGAGCAGCCGAAAACCAGGTAGATCAACCGAGTACGACGACATTAATAATAGACGTCTTCCGTCGAATTCTCATTCGGCAGCACCGAATTCCGAGAAGAAGCATTTCGTTTTTCCGGCACGGGGGCTTTTTTTTGATTACCTAAAAAATTCCCAACTTTTTAAAGTTCAAAAAAGTCAAAATTTTTGTCCATCTGGGCATGACTGCTTATGCCCCGCCCCCCTTTTTCGAAGTTTCTGCTTTTAGGAAAATGTATTCCCAAAGTGCCAGTTTGGATGCCCCACGAATCAAAGGGAGCAGAACGAAGGAGGCACCACGTATTCAAGATCTGGTGCGATTCCGGATCCGGCACCGTACAACTTGAAAACGTGGTGCCTTTCTGAGGGAAAATTTGCCTGCCAAGGTTGAAATATCGAATGCATTACCCGTAAATCGACACGAACTACAGTAACCTGTTATCCGCGTGGCGAGACCCATGCGCGTCATTTGTCGAATATTATACTAAAACCTTTAACTTGCAGAAAAACTTAATTTTTTTTGTTAAAAATTGAGCCAAAAGACTCAAAAATTTCATAAAGCGAAACTTTAAAAAAATATAATTTGTTAAAATTTCAAGAAATATTTATGAATTAATTAATTTTTCCAGGAATACCCCATGTGCCGTCTCTCCAGTTCCATCGGTTTCTCACTTGGTCGGTGATCTGACTTTTGCCTACACGATCCTACAGCCGACGCCATGAGAAGATGCTGCTCGACGAGGCGTCTTCAATCATCGAAAGTACAACTCTAGCAGTGTCTACTGCTCTGTTCTGCTCCAGGAGCTACAATGCTCCAAATATAGGGTCACATATACAATCATATAATCTTATTGCATTTTCGCAATTTCTCTCCACACACATACACACATCATCCCAAGTATTCGTGTGCTGAATCTCAGTTTGAATGCAATGTTTCGATACCGTTTTTATCCCACTATTGCCTTATCGTTTCCTGTTTTATTATATTTCATATATATTGCCACCACCACCACCAACACCACCCTCTCTATCTTTTTTTGTTCTTTTGCTGCAACATCATCACCTAGTTTTCTGTGAATTGAATTTTTTGTTCCCCCGAGTCCCCTCTGATAGGATACATGGTAGGAAAGACAATGAAAATACGAGTTTTTTCAAGGAAAAAAAAATACAAACTAGGAAACTATAGAAACAAAATACTGAAAAAACATTTGAGGCGCAGTAAACCTCTGCAAAGTTCGCAAATCCAAAAGAAAATATTTATTTTTCTAAATTATTTTTCCGCCACTCCAGCCTCATTCTCATTGGCGGGCGCAAAGTCATGTCGATTTACGAGATTAAGATTTTCAACGAGTTTATTGTTATCGATTTGCGTGTAAAGTTAACTAACTTTTTTGAAAATTTTCGCAAAAAATTTTATAAAATGTTCAATTGGCACGAGCAGATCTTCAGCAAAAAAACCGACAGAAATGTGTTAAACTGAATCTCGTAAATCCACATGGCATAATCCAATGAGAATGTTTTTAGCGAAGAAGTTTGAACAAAGGAATATCAAATCAGGGCCAAATTTGGAGCAATTTCTAAAATATTTTCTCAATTCTTTCGGTATTCCACATTCAAACAATTATTCGGCCGTTCCCAAGGTGATCAATCTTTCGATGGGATCCCTTGGTACTGCAGCAGTCAACAGCTCAATCCCCAGCTTCACTATTCGCCACGTCATCCTCGATACGGTATCTAATGGAAACTCTTTGACAGGCCAATCCATCCGAACCTACACTCCCGGCTCAATGGTAAATGGCACATTCGGTGGTAGAATGTCTCGTGATACTGTTGGACGATCGTGAACATCAATTCCCAGATAATGACTGACGTGGTGGGGACACAGCTTGTCCGCCTGATTTGATGAATCATCTCCTGGTGATGATCGAATCAGGTCGAGTTCGGTGAAACTTGCCGCGACAAGTTCGTTCATTCGGCGTAACAGTGCGCTTAGGCGGACTTTTTCCCTTGAGTGGACGTAGGTGAGCAGTTCTTCGTGAACGTACAGAAGCGCTTCGTAGAGGGATTGTTGGGCCTCTGACCAGCTGCAAAAACGAATTTTTTTTTGGGAAGGGTTTTTGAAACAATTTTTCAAATTTCGGTCGAAATTAAACTTTAACCGTAAAACGATTATCCACGGATTTCTGGCTTCCCTCATAAATTGGATTGGAAGAGTTTACCGAACTAGACCATTTTGGCTCGGCTATATCTGGCGCCGAGTCGCGATTTTAGTTGTAAAACTAAATGCATTTGTACATGTGGAGTACACGACTTTGCCACGCGTTGTCCGGCGGGCGATTGTCAATGGATCCTGCATGCAAAAAAAAAAGTTCACTGAGGAAGAGAACTCCGTGATTAGCACCCCCTATTTCTCTTACGAATCTATCTTCGAAATCTTCTATTTTTTAACAAGTCCTGAATTCTGAAATTCATTATAGTAATTTTTTGGGAATCCTTCCATTCCTACGGAACAACATCTCGGATTGGTGACTCAAATTATCTGAATTTTCAAAATCTCCAGAAAAAAATATCATTTTGCCTGAATTTTCTACTTTTAACGGAATAAAGTGCAAAAAAGACTCTTTTTGAGGCACCACCGAAAGGAGAAAGGAGAACACAAACCACGCCCATTTTTTCCTCGTGCCGCCATCGCGCAAGTTTTTCTGCGCGCAAATTTTTATTTTCAACCGAGACAGCAAAACTCCGAAATAACGCATATGTTCTTTATCATCAACGATACTGTTATTTCGGAGCTTCGTTGTCTCGTTTGAAAATAAAAATTAGATGCAGAAAAATTTGCGCGCGGCACGGAAAAAATGGGCGTGGTTTCTGGCGATTCTCCTTTTTCGTGTCTGTTCTCCTTTCTGGTGCCTCTTCTTTTTATATGTTGCGTAATTTTTTAGCCATCTTGGAATAGCCCCGCCCATTACTCCCACAAATCCATATCTACGAAATCTCGAACATTTCCAGAATGATTTGTAGTCTCTCAAACGGGAATATTTAAAATTTCTAGAAAAACCCCATTTTTCTTGAATTTTGGACGAACTTCTGTAATTTCTCAAATTCTGAGAAAAATTTTCATTTGAGTCACCACAAATACTGGAATGCAATCGTAGAAATAGACTTGTGGGCGAAATCAAATAATGGGAAAACATTCATTATTTTTTAATTTTTTGGGGTCACTTATAGCACCTACAATTAACCCCAGAAATCGGAAAGCCAACGTGTCACATCTGACTCATACCCATTCAAACCACACCCAGCATCCACGAGAACACATTCCCGGGGATTCGGTTAGGTCGGATTATTTGCGTCCAAATAGTGAATATTGGCAGGAACACCACGGGCAATCACTGGTGGATATGCTTGCATTTCTGATCCACGACGACGTCCTTCAAACTCCAAGAGCCCGCAAATCGCGTTCTCGTTGTGTACATCACGGGATCCTGATATCATCGAGCTCATTGTCTGAGCTCTGCCACGTTGCACGCGTCACGCATTGAGCTCATTTCGGATGGAGATTTTATTACTCGGCTACGTTCGATCTGCTAGGAAAACTTGAAAATTGGCAAAAAAATACTTTTTTTTTTGAAATTTTAGAACGATTTTTCGGGTGTTCAGAAATATTTTTTTTAGGAAAAAATTGGAACTTTCCAAAAGTTTCAAAAAAATAATTTACAACTTTTTCCTAAAAAAAAAATGAATATTGACAGCTTCGAAAACAGTAAAAATTGTTGGAAAATTTTATTACCGTTAAAAAATTTTTTTTTTTCGTAAAAAAAACTTTCAGTTTAAAATTTGGAGCGTTTACAATTTTATTGATAATTGGTGAAACAAAATAAAAGGTAATTAAAAAGTATTTTTTTTTAAAAATTTGAAAAATTAGATTAAATGTTTATTCTGGGATGAAAAAACCTCCTAAAACCATTTTCTGGAAAATTTAGCGAACTTCCTATTTTGTTAATTCTTTTTTTTCAAGAAAAAATTTTCCACTAGAAAATGGAAAAAAATTGACGTCGTTTAGAGTCAAAATTGGAAATTTGAATTTTTACTAGCCCTTGAAATCGCGCTCGAAAATCGGATTTTTTTTTCAAAGCTTGAACAATTTTCTGCAAATTCTATCTCTAAACTCACAAAAATGATTTATTTCCCGAACATAATTAGCTTTAGCCTGTACTAACTTCTAGAGTAATCAGTCGAATCAAAAAACACTGCAATCGTTCCCTGCGTATCTCAAACTTTTTCCACTGTTAAGTCTTTATCCGGCTAGTCGGATTCCGTGAATTTTGCAGTCTTTTCCCATTCGGATTCAGTTGGTAGGGCGCCTTCCCATAGCTCATCATAGACACTAGTCAGCAAAAAGAATATTCTTTTGAAGATTCGGTATTCCTAATTGCATTATGTAATAACATTCTGGTGTGGTGATTCCGTTATGTGCAAAAAAAAAAACTTATTTATCAAATTTTTTTTTAAAAATTTAATTTATTTTTTTTATCAAACAATTTTGAATTTTTCCCAAAAAAAATCCGAAAATTGTGAACAAATCTTATTATTTTCGTTGAACAAAAAAACAAATTGACACTTTTTAATTAAATTAATTTTCGTTGAGAAAAAGAGATTTGTCGATTTGTGTTCGTCGCGGCAATGATTTTTTTTAACGAAATTTTCCTGAAAAATTCAATATTTCAATAATTCCTGATTTTCTAGTTTTTTGAAAGAAGAACATGTTAAATTTCTATTAATTGTATAACAAAAAATTTCGGGAAAATCTAGAATTAAAAAAAAATGAGAAAAATTCTAGTAATATATTAATTTTAGGTGTAAATTTCGATAATTTTAGGTTATTTTTCAATTTTTTTATGCCGGGCGAAATTTTGATTTCCAAAACAAAAATATGAATATTTCTGACAATTAATTTTCATTCTAGATTTTTTGCACAATTTTCAATTGTTTTCTGAAGAATTTGGTACTTATTGTGTAGTACATGCCCTCATTTTTAAATTAAATTAAATGTTCATTAATTCCTTATAAATTAAACGTGATATACATTTCCTCCTTTTTAGGCTTAAAAATTGCTATTTTTCTACTTAGTAAAAATTAAAAATGAGGGCATGTAATACACAAGTACCAAGAATTTCAAGCCCGTCAATTCTTGTTTTTGAAATCTTTTTTGGGAAAAATTCCATGACATTTTCGCAGATTGTTTCTTCGTTCAGAAAAAAATTTTCTAAAAATTATTTGTTTGAAACTTGGGTCTAAAAAAATATCTCTAGAGCACTTTTTATCCTTTTTCAACTTTTCTGGAAAAAGCTTTTTTATAACTTAAAATGAGTTTCTGTGGCCGCGTTTTCTCTCAACATTTTCACTTTGCGGACAGGGCCACCAAAACCGAACCTGAAATGGCTTTTCTGTCGGAACGCGTGTGGAACATCCGGTGCAACATATGATTTCCGAGCTCCTTTCATCACAACGACCACTTGCTTTTCTGAAACTTTGAGAGGTCATGGCCCACGATAACTTTTAAATGGTTTTCTATGCATGGTGATTTTATTACGGTACCGGGTCTCGACACGATGAATTTTATAGAATAAATTTTTCTGAAAAATTTCATTTTTTTTTTTAGAAAAATCAAATTTTCAAGATACATGGGCAAACATTTTTCAGGAAAAATTTAATTTCATAGAGAAAAATAGAATTTTTCCTATAAAAAAATCTGAGCGTAAATTCGGATTTTTGAGACTCTTTATTTGGATTTTAAAATCCAAATTTTCAAAAAAAAATTTAAAAACCGGAAAATTCCAAAACTTTTTGAGAGTAAACTAGCCTTATATTTTTCAATTAAAATTAATTTTTTAAAAGAAAATTGGAATTTTTAGAACACCAAAAAATTGGCAATTAGTCCCGAGTTCTTCAACGGAAAAATCTGAAAAATCCGAACTTTTGAAAATCTTTAAATATCCCAATATTCAATTAAAAGCGAAATTTCGGATTTTTGAGAAAATTTCAATTTAAAAAAGTCTTCTATTTGTACTGCACACATTTCTAAGACAAATGCATGGCCTAGATAACTTTTTCAGAATAGGCCACCAGGCCATTTGCGACTGACATCTGCCTCTTACCCCCAGTTTGGACCTCTTTTTTTAAATTCATCAAATTCGTCCTTCTCATCGCATATTCCGCATTTGGAATTCGCGATGGCCACATTGGTAGGCTCCGCCCACTTCTGAGCATTTTTTTCTTGGATCCGATCTGTGTTCAGTGGGAGGGAAATTCGAATTTTTTTAGAAATGATTAAAACTGAAAAAAATAGATTTTTTGGGAAGGAACCTGAATTTACGAGAGACTAGTAAAAAGGAGGTAAAACAAAAAATTCGACTTTATAAATTGAGTCAAAAATTAATAGAAAAAATAAACTTAAAATTATGAACAGAAGAACCTACTAAAAAAGTCTAAAAAATGAATGAAAAATTGCAAAAAACATCTTCAAATCTATACGAGACTCCTCCTCCAACAATGCGGTTCACGCGGGTGATGTACCTGAAAAAAAGTGATTTTTTTTTGAAATTTTAGAAAACAAAATTATGAAATAAAACCAAAAAATTTCCGAATAATCGAGATTTTTCGGAATAGTTTGAGGTTAAAAAAATTTTCCCAATTTTTGATGAAAAGTTTTTTTTCCAACAATTCGGAAAACTAAAAGTACCAAAAAATTTTAGTTTTTTCGATTGTTTCAATATGATAATGGTTTTTTTAAATGTTTAAAATTGTATTTTTTCCAAAAATATTATCAATTTTCATACAATTTTATGGTTTGGAGATTTTTTTCAAATTCAGACCAAATTCGATATTCGAAACGTTTCTCGAAACAAAATTTTTCAACTGAAAAACTACAAAAAATCCTCTTATGGATCTTTGAAGAAAAATCGATATTTTCTCAAATTGTTCAGATTTTTTCTGTTTTTACCCAAAGTGCCCAAATTTGAGTTCGCCACGAATGTTTAAAATTATTTTTCCCGTTTTTTCGATATTTGCGGGTTAAATTTTTTTAAATTTGATTCAATTTTAATAAGTTTGAGTTTTTTTACGATTTTTTGTCCTAATTTTTTCCAATTTTTTTCCATTGGTAGAAGGCAAAAAGTGCGATTTTTTTCCTTTTAAAAATAATTATTCAGTTTTTCGACTGTTTTCTTCTCGCTTCCAGATTTTAAGTTCTCGAATTTTTTTTATATTTGAATTGTATCTTTAACTATTACCTAACGAAAAATTAGTTTTATTTTTAGATTGGAAAAGAACGTTCTTTTTCGTAAATTTTAGTGATTTTTGATTCCAAATTTTTGGATATTTTTCAAAATTTCCCATAGAGAAAGTTTTACCAGGCTTTGGTAGAAGCCAGAAATCGATTAAAGCTTTTTTGGGTTTTTCGACAATTTGTCAAGTTAGGAATTAAACTTTTAAAATTTATTTCAAAAATTTTAAAAAACTAAAAGTATTTCTGAGAATTTTTCTGATATTAATTATTCAGTTTTTCGACTGCTGCTTGCTTCCAGATTTTTTCTCGAAGTTTTTATATTTGATTTTTTTAAAAAATACTCTATAAAATTCATTTTTTTTAGGCATTTTTTCTGGATACTTTCTCTTTTCGAAATTTTCGTAAGTGTCAGTGTTTTTCGATTTTTGATTCTAAATTATTGGATTTCTTAAATTTTTTCGGAAAATTCTACCTGGCTCTGGTAGTAGCCAGAAATTATTGAAGAAGCTTTTTTTTCGATTTTTTAGACAATTTTCCGAAGTTTTAGTTAGGAGTTAGACTTTTTCAAATTTTTTTTCAATTTCAAAAACTTTACAAACAAAAAGTACTTTAATTTTTGCGAAAAACAGCATTTTTTTTCTCGAATATTTGAACTTTTTAAATTTTTAAAGCTTGTTTTATATATATTCGAGTATTTTACTCTTAATCAATGAAAAATCTTTTTTTGATAATTTTTTTCAAAAATGTAAAATTCGAATTTGAAATTATTTTCATTCAGAAAAGGGAAACTATTTGAAAACAATTTTTTGTTGAATTTTTCGTAAATTTGAGTGATGCTTTTTGATTCCAAATTTTTGGATTTTTTTTTGAAAATTTTCCACGTTTTGGTTAGGAGTTAGATTTCTTGGAATTTTTTTGAATTTTTTTCCAAAATTTTAAAAAAGAATTTCTGAGAAGTATTTTTTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACTGATTTGTGCGTGCTTCCAGATTTTTTCTCCAAGTTTATAAACTTAAATCTTGAAATTTATATTCTAATATTTCAGATATTACCTAATCGATAAAAAACTTCGTTTTCTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAATTTTTTAACGGCTTTTTTTATTCGAATTTGTTCAAACACTTTTTCATTCAGGAGAATTTGATTATTTGCAATTTTTAATTTAATTTTTTAATCCTTTAAATTTTCGTAAATTTTGAGTGTTTTTTGATTTTTTCCAAATTTTTTTTTTGCAAATTCTCAAAATTCTTATTTTTGCAGAAAATTCTACCTGGCTTTGGTAGACGCCAAAAATTCGATTTAAGAAGCTTTTTTTTGATTTTTTTTGACAATTTCCCAGGTTTTAGTTAGGAGTCATTTTAAACTTTTTTCTTTTCTTTTGACTTTAAAAAAAAGTTTAAAAACTAAAAGTGTTTCTTAGTTTTTCCTTAAAAAAGAGGATGCACATTTTTTTCGCTAGTTTTCCTGATCGACTGACTTCGTTTTTGAATTTTTAAAAATTCAACAAGTGTATTTTTTAAAAATCTAACCGATAAAAGAGTCGTATTCTCGATTTTTGTTTTCAAATTTTTGGGATTTTTTTCAAACATTTTTCCAGAAAATTTTACCTGTCTCTGCTAGAAGCCGAAATGTGTGATTTTTTTCCAAAAAAATGCTGGCTAGTTATTTAGTGCTTGTTTCTTTCTCGAACGTTTTATTATTTGAACTTTAAAAATTTTTATATAATATTAAAAATTTAAATAATAATATAGAATTTTTTTGAAAATTCCTTTCTGATTATGGAAAAAACATTTTGTTATGTATTTGAGAAACTGAAATTTTCTGAAATCTTTTAAATTTGGAAAATTTCGAATTATTTTTGTTGATTATACTCTAGGTAATCGATAAAATTTTTTTCCAATTTTATGAAAAAAATGATTTTTTCGATAATTTTTGATTTATTTTCGGGAATATTTGAAAACAAACACTTGAAAAATAAATCAAACTTTTTTTTTGAAATTTTCGTATTTGAATTTGAGTCTTTTTCGATTTTTGATTTTTCTAAATTTTTGGATTTTTTCCCTCCAAATTCTTCGTCAATTTTTAGAAAATTCTACCTAGCTCTGGTAGAAGCCAAACATTGATTTAAGAATCTTTTTTTTTTCTTGGATTTTTTTTTGAAAATTTTCCAAGTTTTGGTTAGGAGTTAGTGGATTCCCTCAATTTTTTTCTTGAATTTTTTTCAAAAGTTTTAAAAACTGAAAGAATTTCTAATAGGAGATTTTTTCCTTAAAAAGGAGGAATTTTTTAGTTGTTCGACAGATTTCTGCGTGCTTCCAGATTTTTTCTCCAAGTTTTTATAAAATCCTTAAAATTTATATTTTTAAATAATATTTCAGATATTATACTCATAATCGATATAAATTCGTTTTTTTTTCAAATTTTAATTGCAAAAAAATCGATTTTTTCGATAATTTTTGAATTTTTTTTGGGTTACAAATTCGAATTTGCAATATTTTTCATTCAGAAAAATTTGATTATTTGAAAACAATTCTTAAGGATTTAATTTTTTAATCCTTTAAATTTTAGTAAATTTGAGTGTTTTTTGATATTCCATATTTTTGGATTTTTTTCCAAATTCTCCGAATTGTTATTTTGCAGAAAATTCTACCTGGCTTTGGTAGAGGGCAAGCCAAAAATTCTAAGAAGCAACATCAGACGGTCTTCCAAGTCTTCCCAACGGAATCATCGATTCCAAGTGTTGTTTAATCTGGCGAGCTTCTTCTCCAGAAGCATGATCCCATACAGCACCAGTTTCCTTTTCAATCATTCCAGACACCACACTAATCACGCGGACTCCTTGTTTCGCGCACTCGCTACGGATTTTGTAAGTGGGACACTGCTAGATGCAACTGAGTAGAGGGACCCATATCGATTCATGGAGTGAAGCCGAAACATGACGTTAGGTAAATGATACTGCCGTTTCTGTAAAAAATCGATTTTATTTGGACGGGAAATTTTGCCTGCCTACGTGCCTACCTGCCGGCCTATTAGCCTATTTTTCATATTTATTTTGTTGTTCTACTTTTTTGCCGTTTTTTGGGAATTTCATGAGTTCTCGGGTCGGCACGACTTCATGCCCACGTGCCTATCTACCGGCCTAACATGATATTTTAATTCCATGATTTAGGTAGGCAGGTAGGACGAATACCTGCCTGCCTACCGCTGTTTTTTTGAAATTTTTTTGTGTGAAAAATTAAAATTCAAGGGAATGCTTTTTTTTTCAAAATTCAATGATTTTTAATGCAGACCGCGCCTATCTGCCTACCGCCTATTTTTGGCATTTTTTGTGTGCAAAACAAAATCAAATTGGAATAGATTGCCTTATCTTTTCGTTTTTCTAATCTGTTTTCCATTTCAAGATTTTTCGGATAGGCACGACTTCCCACCTACTGTGCCTACCTACCTACCGCCTATTTTTGGCATCCGGTTTTTGTGAGTAGCAAAAAGAGATCAAATTAGCTTTTTCTCCTGTTTTCTCCGATTTTTTTGGCAATGTAGGCACGACTCCATGCCTAGTACCTACCTACCTACGTCTCCTATTTGTCGGCATGTTCTCGTACAGAACATAATCAGATTTTGAAAACACTAATATTTTTGTTTTCTGAATTTTTTTTCCAAATTTTGTGATTTCTAGGGTAGGCACGGACTTCATGCCTACGTGTCTACCTACCTACCGCCTATTCTCGGCCTTTTTGTGACTGAATAAATTAACATTCTTGAAAATCCTTTTTTTGTTCCCTTTACTTCAATTTTTTCAAGTTGCATGTTCTCTAGGGTAGGCACGATTTCATCCATGTATCTACCTTTTATCCCCCTTTTTTGGTTTAGGTCGGCAGGCTTGAGTCAGTGATGCACGAAAATCTAGAAACATAATTTTGATTCTGTACGGTAAATTAGGCTTTCAAGACAGTTTGAATTTCTCGAATTTCTACCAGCAAAAAATAATATCTGAAATAACTTTCGCAGCGAGCCCCAAGAAACTGACTGATGGCGATAGCGTCGACATAGCGGCTTTCGAAAGACGGGAACGGTGTTGTCAGATTGTTGGCGAAAAGCTGAAATTTCGAGGTGAATTTTCCACGTGGAATTTTCAGCACGCTCGAACCTTATCAAAATCCTCGCCGGATGTCTCAAGAATCTTGCCGAGCACCTCATTCTGTGGTGGAACTGTACTTAAAGTGTCCAGACCGCCGAGCTTCTCAGCCACTTTCGTGATCAGCTTCCGGTCTGTCCTCGGCTTTTGACACGTTGAGAAGGCTGTGACTCACCTCCAACCTGAATTTATTCCCGAATTGATTCATTGTCAAGTTCTGAAAATCTTCCTAAACCTTTATATTGTCCTCTCCTTTCCCCACTATTCGGACAGTCTGCGGCGGCGGCGACCTAGTAGCCGGTGAACGCGAGTCTTCTCACTACGCTGCTTTGCCCAGTGTGGACAGCAGTTGCCCCGGTGCTTACGAGTGCACATGACATTACTCTGAAAGCCCGATGATGTGGAGGCACATTTATAGATACACCTAGACATCAGGTAGATTTATTTGGAAATCCGTAGAAAATAAAGATCGTGATAAATCATTTTATTAGAGGGGAGAGGGAGGGCGAGCAAAGGAGATCGCTGACAACTTTCGAAAACCGGTTATTTACTCCAGTTGGACGGCTTATTCATGCCATATTTTCCAAGTTATTTACACTATTCTGTTGGTATTGAGAATGTTGATTCTGCTTAGCTGGCGGCTTCGAGCTAGACATCTTTGTAACTCGCGCTCGTCATCCTTCCGTAGAGTTGACGACCTCCAGCGCTGCTTCCAACATTCCGGGGCATCATGTTCATGAATGTAGTAGGGAACTAGTAGCAGGTGACTAAGAGCCTGCTCCATGAACAACGGCGACAAGTTGTTGGCTGCTGCATATAGTTCCTGGAACCCTGGTGGTGGTCCAACATTCGACGCCTGCTGTGGCAGCTGATCCGGAGAGCTTTGAGATCCAAACTTATTGAAGTCCAGCGATAAATCCTTGAGTCTCTCTCACCAGATTGCACTTGTTGCGCAGAAGCAGCCTGTGACAGACGAGCAGTTCGAAGCAAGCTTGTAAGATCAACTCCCATTCCGTATTGCATAAGAGGTATATTGCTCATCACGAACTCCTGGCACTGGATTGTACCTGTTCATGTAGTTGTTCATGTATGGTGCATATGGGGGTTCTTGAGTGAACATCATGATGGGGTGCTGTTGTGGATTTCCAGTCGGTTGTGATTGAGCTGGCGGAGTTTATTACTGCTGCTGCACTGGGCTGTTGTGGGGCTTCTTGCTGCTGTGTGGCTGGTGCTGCTGAGCAAATTGCTGTGTTAGAAGTCTGGTCCAGAATTGTTGAACTTGCGGCGCCATCCTGTCCGTTGGTACTGATATGAAGCGGACGAAGTGTCCTAGGACAATCCTCAGTTAGATTGACCATAGGAGAATGGAGATGAAGTCGATTTTAAGTGTAATCGCCGTCAGGAATTGACGTCCTTTCTGGCAGAAAAATAATCGAGAATTAGAAATCGTCTTTGCAACAAATTTAACTCCCTCAACTTGTTTCGGGATTATACGAGAAGAGTTAAATATATAGAATTTCACTGTGAAATCGAGGCAAATAGGCGGAGGATTCAATAGAAGGAAGCTGTGGGCTTGGAGCAGCCTCAACAATACAAATGAGTAGTCATGAATGTTCGTTGGTGCAGTTGTGCGAACAAATTCCCCTACAGGATCAGGAATAATCTGGACTGGTGCTGCACTGGAATTGGAGATAATCCTAGTCCTGGTGCTTCACTCAGATCTATTCCTAGATCCGTCCTCAGTTCAATGGTCCATGCTTGATTAGGTTCTGGGGTGCTTTGTACATTTTGATCGTGATGAGTCGACACATTACGCGTCTGCTCCTCAGCCAAAACTGATGATTCACTGCAAATTAAATTTTAAAAAATCTAAATAAGTAAAAGGACAGAACAACTTACTTTTTGAGGAAACCATCTTCATTCTCCGGCTGGTGCGAGGGTTCTGGCTCGAATGCAAATAAAGGCCGGCGCTCTGGCTCTTCTTTAACTGGTGCAACTGATGGAAGTGGAGGTCTATATGTGAGAGACTCCTTGGCGGAGCTGCTGGTTGAGGATTCTGTGCCTGGTACTTTCGGAGTGCTGCTTTGCGATGGGCAGGTGCTGCTACTGCAGCAAATGAGATCGGTGCCGGCGCAGAAGATGTGGGAACAGTGGCGCTGACGGGAAATTCCTCTACTGGTGGTTGTACTTCTGTGACTGTCTCCACTTTAGTCTGCTCCTGGAAAAAAAACACGTTTCGTCATTTCCTTCTTCAAAAAATTCTTACCTCATCAAGATTAGCCGTCTGAGCGCATCTGGGTCAAGTGCTGATGATGGAGCAACAGTTCGGGAATATCCACCTCTGGCGCCACCTCCACGTGCTCGTTCCCACCAATACGGTTTTACAAATCCTCCTCGAGTCGTCCAGCGTGGTGCTCTGCTCCTTCCTTCATTATATCACGGTTATCCTGATTATTATCTCGACTTTCTGGAGCTCCATTGGATCGCCCGCGGCCTCCTCGATCGTCGAAACCGGTGACTCCACCTGAAAAAGACATATGAATATTTGATCTATTTAAGCACGAACCTCTGCCTCTTGCTACAAATCCTCTGTTGTTATGACTGCCCTCTTCCGGCTTCTTCTTTTCCTTTTTAGCTCTTTCTGTTCTGTGCACGAGTCAAGTTTATCTCCAGCATCCAGAATGTGATCGAAAGTGTTGCGCCGTAAAGATTGTTGTCAGTATCCAATAGCTATCTCAGCTTTTGCTTGTGTACATCCGGTGGTTTTGATAATCTGAAAATGAAAAAGGACATGAGCAGTCTGAAAAAACCTCTCTTGGGAATGCGCGAACACTTTAATTAGCCCAAATGAGTAGGGCATGTGGGTACTCTTACTCTCGCTGCACCATCTCAAGCGCGCCTGCTTTTGTCCTGTTCAATTTGCCATCTGGCCCCGTCTTATCGATTCGAAATTCCTATTGACACTGCAAAGCGGACACTAGAGAAGTTCAGCCTAAACAACAAAGTCACGTGCGTCATCATGTCGGTGTGTGTCGAGCGTTAGCGTGAGTGCAAAGATTCACTATTGAAAAGCGTCATTTCCAGCTTGGAGACTTACCATCTTGATCATAAACTGTATGTCCTCCTCATTTCCGGAATTTCCTTCTTCAGTGTCGTAGGGGGCAAGTCTGATCGCTGGTAGCTTTTTTGTCGCCTTTAATACCCATTCTGAAAACAAATTATAAATAAAAAGGGTCAGTCATGTGAACGCAGACTGAGAACTAGTTGAATGAGAATCACGTCTTAGAATACAACTATCAAAGGAACGTTGAATGAAAGGAAGCAAATAGATGACACACCACTAGTAGGACGAAGAAATATGGAACCTTCCATCACAAAAACATTATCAAAAGAAAAGCCTCGTACAGAAGACTCTAACACAACATGAATATATCAGTTCAGCAATACATCACGTTACGCTTTGGAGGATATTCTAGAGCAGAAAACCCCGACTACAAAAATTTCGAAATGGAAAATTCGAATGAACTGCTATACAATGGAGAATCCTATTGAGCGATGATAAAGTGTAGGTGTTACTAGATTGAATCAAAATTTCGAAATGTAACAATACATTGAGTGAAAATTTGGGTATTTGCAGAGTGTGTATCACAGCGGTAAAATCAATGTTTCCACTAAACTCAAAAGTTCTTACGCTGAAAGATCAACATTAAAAAAGTGAATCACCGCAACCTAGACGAATCGCGTTGCCGTCAAATCTCGCAAATTCCCGGAGTTGAAAATGCAGTCGACCGCGACGCGAGCGGCAACGCACCCCGACCTCCAAGCGGCATGGGTCTCGCCACGACCAAAAGTACGACGACAGCCTCTATCTGGCAGTATAAAAGGCGACCATTTTCCGCTATTTTCCGGTAAATTTTGCGATCGAATGAAACTGTGTTGCTGAGGGGGTGCTAATTTTCCGGAAGTTTACCTATTTAATGTAAAAATGTGAATTAAACAAAAGAAAGTGGGTAGGATTATCAAGGAAACACACTGTTCTGGGAATTCGATTTTGTGTATGGACTCTTATGGCGTCAACATTATCGACACGAACACTCAACACCTTGTCACATTTCTGAGAGGGAAATATCATTTTCAACATGAGTCTTCCCAGTTCATTTCGACTCGTCGGTTCAGGTAAAGGCGATCGGCGAGCGATCAACCAGGAGCACACCAGAGCCGGTAATTGTTCTTTTTTATTTCAAATTTCTACAACAACAAAAAGAATTAACAATAAATTCCTTTGAGGCCCCTACCCACATAAAGTAGGAAGTCGACTACCAAGATGGTCATCAAATGGCTCCGGAACCCGTGGAAGCACCAATGTATAAAAATTTAAAAAAGTTAGAAAAAAAATCTGAATCCCAATTTCCAGAGGCTCAAAACGATGAAATGTAGCCACCTCAACCTAACCGCAGATGCAGAGAAGCATTTTAGCATAGCCAATGGCTCCCCACAAAGGCCGCCCTGGACTCCACTAAACTCTGCAGCGGCGGCCGCCGCTGCTTGAGATGACAAAAACGTGAAGGGAATGCGTCCGCTTTCTGAAAACTTTAATTAATGTGTCGAATAACGATGATCCAGAAATGTCGGACAAGGCCGCACGTCTCAAAGAGCTTATTCGAGTGAGGAATTGAGCGAAAAACGCGATAAAAACCGGACAAATTCGGATATTTCAGGGTGATTTAACTGGAAACGACGGCTGAAGAGTTTACACGAAATCTGCAACAGATCAAATCCCAGGCTCAACCGCATCTTTTACCTTGAGAATACTCTTCCGGCAAGGAATGCTGTTCGAAATGGTTCGGTTTTATGTGCAAAAAAATTAAGATCGCGCATATTCAAAAAAAAAATTATCGAAAAACAGGTCGAGTAGCATTGCGAAAAACTTGAATTAAAGGTAACATAAAAAATTGCAGAAAATCCGTTGAATTACATTTTTCCAGATTGTCTGTAGAAATTCCATGATAAAAATTCAAAATTTCCAAATTTATTGGCTATTTCTAGGCTCAATTTCATTAAAATTCCATTTTTGATAGCGAAAATTATCAAGTTTCTAACAATTTCAAGCTATGTTTTTGGTGATTTTTTCAATTTTTCGGCTTTGAAAGTCCATTTTCCGGATTGTCAGAATATATCCGAGTTCCACAAAATTGAGTAAAAAAAATTAAAAATTTCCCTTTATTTAAAAATATTTTCAGCTGTCAGTAATAAATATGGATTTTCCGCAATTTTCTCACAATTTTGAGCAAATTCCTCAACCGATTTTCAGCCAATTTATAAGGATTTGCACCCAGGGGGTTGTCATAATTTAGGGTTCAGCTGAGAAATTAAGTAGTAAGTTTCTGAGAAAATTTTTATAGATTTTCTCAAATAATTTCAGCTCAAAAATTCGATTTTCAGAGCGCATTTCCAGGTTTATTAAGATTTTGCCACCAATTCTTTTAGCTTAAACTTTAAATTTTCCACATTTTTTGTCTATTTCCAGTATATTTCTTTAAAATTCTATTGTTGAAAGCAATAATTATCAAGTTTATCGCACTTTATCAATTTTTCCGCAGTATCTTTTTGTGATTTATCCAAGTTCCACCAAAATTGAGCAAACAATTATTTAATAACTTCCCTTTATCCTCTTAATTTCCACAAATTTTCTCGCAATTTACACGCAACTTTCATAATTCAGGGCTATTTTCAGCTGAAAAATTGCAATTTAAAGTTTTTAAAATGTTTATAGATTTTCTCAACATTCAGCGTCAAAAATTCTATTTTTAGAGGCGCATTTCAAGGCAATTTATGAGGATTTTTAACTATTTTCTAGATGAAGAATCTTTTTTTTTCCTCTTGGACTATTTTCCCTTATTTTCAGATTTCCAGCACTGCATCAGTTGAAGGCGTAAATCCACCGCCTGGCTACGTTTGTCAACAATGCAAGAACCCCAGGACCCCCTCAGCCACCGACGTCCACCTCAACAACAATCCCAGCAGCAGCCACCACTAGAAATGCGTTAATCCGAATCAAATACCCCCACAAATGGTTCAAGGGGGTCCCCATAGGGTTGTAGGCGCCCGGCCAATGATCAGGCCTTCGAATGGGCCGCGGCGGCCCTAGCCCGGCCTACAATGCGGCCCCGTACGAGGGCCGATGGGACATCAGATGGTCCAGATGCATCCTCCTCCCCCACCACAGCAGATTCAACAGCAGCACCCGGCTCCCCCTGTAGAAATGGAGGTGGAAGAGAATTTACAGCCTACCGCGGCGAGGGACCGACGGCCAGCAATATAAGGATCGCTCAAACCGTCGCTTCTGAAGCGGGATGAGGTGCGGAATAGGATCACGAAACGAATGATGTCATCGTGTTCGTGGAAGAGGAGGGTGCGCTTGTCGCGATTTCAGCTGTTGAGTCGCATTAACTTTAAGGAACTTATTACACTGATGGCGTTGCAGAACATCGGGTGGAAGAGTTTGAGGTATTGAGGAGAATTGATTTTGCTTCAAAATACGGCAGCGAAAACAGCAAAAATTAAGGAAAAGGAAATTAAGACGGCTTAACAACAATTTTACATTAAAAAAAAATTTAAATTTCAAAGGTTCCGAACTATTTATTAAAAAAACATCTAGATTTTAAAATCCAAACAAAGTGAAATTTACGCTGAAACGCGTTAATTGTTTTTCAAAGTCCCAAAATATAAAAATCTGAGAAATATTTTCAAAAATATCTCCAATTTTCCCCAGATTCCGAATATATTCAAATTCAAAAAAAAAATTTCACCTTTATATTTCAGCTTGAAGCTATTCGCTTTGTGCATGCACACCATGACCGACAAATTTTTTCAAATGCGCGCCCAGATAAATAGCTTCTCATCGGGGGGCTTACTCGCTTCGTGTCGATTACGAGTTCATTTTTTAATTTCTTTTAAGCTTTTTTTTTCAGTTTTTCAACGAGTTTCATTGAAGATTCTTCGTCGATTTTTTGTCATTTTTTGAAATTTTGTTTTGTGTCAATTTGACACTTTTTTAGGTCAAAACCCCTGTGTTCGTCGATGACGTAAAAATATAAAATTCCGGGACTTTGTTTGGAGATATAAAAAAAATATTTTAAAAATTACGCACAAAAAAAACTGACAAAAAAGCATAGACAAAATAAAAGAAACGAAAAAAAAAAAGAAACTGTAAAAAAGCACGAATAAATTTTTTTAAATAAAGGAGAGCTGCCGTAACCATCGACACGAAGCAAGCATAAAATGGCTTTTTTCCTAACGATTTGTGAAAAATCCGAATTTTCCATCCTAATAAAAAAGCAGAATTCCGGAGAACTACGTGGCAATTGATGACGTCAAACGGCGCGTGATTAACTTCGCTTCCTTGAAGATTTGGATCGTCAAGAGGAAGAATTAAGGGAAAGTCGAGAAAAAGAGTCGCTAATTCGAATGAACAAGAATAAGAATAGTGGCAAAGAGACGATAGAAAAAGCGAAAGAAATGCAACACAGGAGATGCAGAAGCGAAAAGGAATATTCGAATGCGGCTGCAATTAGCACTTTCCAGTAATCTAAAACTGTCAAGAATAAGTCCGTTTTGAGCGTGAAATGTTCAAAATTAATTATAAAAAATAGATTTAAAAAAAACAATTTCCTCACCAAGGGCCGTGTCATTTTTCGATTTTTCGGTCTACAAAAATTCGAAAAATGAGTAAAGTTTCGTGTTTCGATTAAAAGTCAGAACTGAAACACCGACACCTTTGTTTCTGAGATTTGGATTATTGGAAATGAGCAAAAAAAAATTATTCAGAAAAAATTGTTTTACAATGCTGAAAAATCGATGAAAAAATAAAATAAATCAATAACTAATTTAAAAAATGGAGAAAAATTTCGATTTTTTCGTTTGTATTTCACAAAAAAAAATTTTTAGAGATAAATAAAAATTTGCAATTAAAAAGAATTACTATTTAAAATAAAAATTGAAAAAAATAGAAAATTCAGAAAAATAGCGAAAAATAAGTTTTTTTCCAGAAATTTCGTTAAAACGATCAAGATCTTAACCCTAAAATTTAGATAAAATCAATTTCTTGTGGTTCTTAATTTGAAAAAAAAAACAGTACTTTCCATTAATAAATCACTTTCAAGCGAATAAATTCGTTTTTATTGCGAAATTCGCAAATTACGAAAAAGTGAAAATAGAAGCTGAAAGGAAAGAATGTTTAATAAAGAATATTTTCGGCATTAATTGGTTTTTATACATATTTTTTTGTAGAAGTAAAATAATTACTAAAATCAGTGAAAATATTGAAAAAAATTTTAAAATCTGGAAAAAAAGCAACAAAAACTTAATTTTTCCAGAAATTTCGTTGAACTATTCGGTATTTTAAGCCTAAAATCAAGATACAATCAATTTGAACAAAATTTGCATGCTTTTACTAAAATTAATTCGGAAGAAATAGGAAAAAAAAGAAATTCTCGGAGAAATTTGAATTATTGGAGAAAAGCTGAACACTTACAAAAAATTTTTTACTCCGTTTTGAGAAAAATTTTTGAATAGAAAAAATTTTAAATTTTTAGAATTTTTTAACTATAATTTTTGAATTTCAGTGACTTATAATCACTTCCAGAAAGACAATGAACGAAAAACAAATGCTTATCGGCAAAAAAACGTATTCTTAAAAAAAAATTTAAATTTCTAGTGACCTTGAAAAAAAAACCACATTTTCCAATAATTTCCAGGAATAAACTAAATTTCTTTGGAGAAATTGGAAATTTATTTCACATTTCGAAAAAATTTATATAGAAATAAAAATTTATATGAAAATAAAAAATTTGCAGCTCCTTACAGCAATGAAACCTGTCATTTGTTGAAAATTAGTTTTTTTTTAATTTAGAAATTCTCTTTTCGAAAAAAAAGGTTTTTTTAAAACGTGATTAAAAATTAATTCATTCATGTCATTTTTCGCCAAAATAAGGGAAAAAATAATTTCTAAAATTAGACAAATACCTTTTCTGTTGAAAAAAACAACATTTTAATTTTCTTGTTTTTTAAATTGCTTCCACTAAATTCACTTTTTGAAGAAATGTTTTGAAATTTTTACTGAAAATTGTTGGAAAATTATTAAATGTGCATTTTTTTGCAATTTCCAGTTGATAAACTAATTTCGGTTCAATTATAAAATAAATTTTGAAGTGGAACCAATTTCAAAAAGATACATTTTTTACAATGTTTGTTTTTGTTGATAAAACGAGCTTGTTTCTACATACCGCTTTTTTACATTGAAAATAAATTCAGTCAGATGGGAACACACGGGAGCCGCAACGACGCACCTCGTCCACGAACAGTACGTGTAACAACCAATCGTGAACTACATCTTTTATTCACGGCATCCGGATAGCCGATTCACAGGGTAGCGATTTTTTTTGTTTAAAAAATTTAAAAACACCGTATTAAACATTTCATTGGAAAATACTGATTCAAAAAGTTTTCAAAAAACTTTCAAACGAATGGTAGTTTATTTTAATTTTAAAAAATTCCAATAAAAATCAATTTTTATACGATTTAAAATTTTGAAAAGTTATCCCATTCGCTTCTCCTAATAAAACTCATTTTTTTTCCAGAACATTCATCCGTGAAAAGATGTCATACGGTGGTCCGGTGACAGTCGGTACAACTATCTGAACTAAAGAAATCTCATGGAAAAAGGAGCGAAAATTCTGCTTTCGCTTTTTCGTTTTTTAAATTTAATTTTATTTTTCCACAAATTAATCACTTATTTCCAGTCAAATAATAATTAATTTTTCATTTTTAAACGAAATGCTAGACATAGAAAAAAGCTTCTTTCAGCAGAGATTTGCAGCCAAAAATTTCAGATTTTTCACGAAGAACAAATTCAACAGCTAAAAATTGGCAAAGTGCAAAAAAACCAGAATTAGATATTAAAAATACAGGAAAAATCGAGAGAGTTACAATTCAGAAAAGTAGGCAATTTTTTTCAAAATGTCTCAAAAAGAATATTTCGGTATTTTTTATTGTCCCTCTTCTTGAGCACTGAACCTCGGCTCGTGTTGCACCAATCGAACATTTTGAGCGTCGGTGGAAGTGGAAGCTCATCGATTATTCGCGATAGACACCGTCGGCACCGGCGCCAGATTTCTACGGGCGAAGGTGGATGTCACGCGCTGGAAAAATTTCTAATTTCGAGCTGAAAACTCTTTATGAAAGCAATATTTCATAGTTTCAATTCAAAGTTCGAATTCCTCGTAAAATTAGTCGGAAAACCGAAAACTAGAAGTAGGCTCTTGCTCTTTGAAATCAAGGCGTACGGTATCCTCGAAAGTACGCAAACACCGAATTTTGTTTGTTCTTTTGAAGTTTTGGCGCCAAGAACACAGTACGAGCCGGGGTCTCGACACGACAAATTTTTAAAATTTTGAGGACCCTGTAATTTCAAACAAAAAAAGGTTTTTTTCGAATAAACTTCGAATGATACGATAAAAAACATATTTTAATAAAAACCTTGGCAACGAAAGTTGAAAGTACAGTACACTCTTCAACGGCGCACACCTTTTACGCATTTAACTTCCGTGGCGAGACCGGATGTAATTTTTGACTAAAAATTAATCGATAAATCCGTTAAAATATTATTAAAAATTTTTAGATATTTTTCAAAAAGACTGTCGAAAAATTGTTTTTGCGGTTCGATAATTTTTCAGAATATAAACAAACAGTTTAAAAATTCCAACAAATTTTGTTTTTCATACCGAAAAGAAGAAAAATGGACAAAATAGTAAGCTATTTTTGTGTGTCAAAGTGTCTTATTTCGTCTTGATCTGACGTAGACCGATCTACAAAAAATGCGGGAGAAGAGACTCAGTTTGGATTTCTCAACAGAGTTTCGCATGGTTAAACGAACGTGCTGACGTCACATTATTTTCAGGCTAAAAAATTCCGCCTTTTTTAGTAGACCAAACCGTAATGGGACAGCTTGGCACCACGTGACACCGCCCGCTTCTCACCTGTTCGTGATTTGGGAGGGCGAGCTGCCAGTTCTTTCGAAATAATCGTCTAGCGGGGGACTCGATGCCGAAGGAGTAAAAATGTTTGATTCCAGTTAGAGGAGCATTCTGACACATGCGTATTGCACAACATAATTGACGCGCAAAATATCTCGCAGCGAAAACTACAGTGATTCTTTTTAAGTGACTACTGTATCGCTTGTGTCTTTACGTTAGGCATCGATAGAATATTTTTAAAAAAGAAGAAAAAAGAGGGAATGATACGAAGAAAAAAAGGAAAAAAATAAATGCATTTATCAGAAATCGAGTTCGTAAATCGAGACAATCGGTACTGTAGTCATTGATTAAAGACATCCTGTATGTTTTCGCTCCGAGATATTTTGCGCGTCAAATATGTTGTGCAATACGCTTTTTAAGAATTTCCAGTTTTTTCAAACCTTTAAATACATTTTCGCGGTTGTGCTCTCGGATTTCGGGGAACGTATACGTGTATCCGCGACGTTGACGGGGTTGAAGCAGGGTCCGTCGAACACCCTAGCTCTTCGTCTTCCGATACTTATTCTGTTGATGTTGACGGTGATTCCTGCTAGGTTCCTCTAGAGCATCTGAAAGCTCTTGCTCATCTTCTGATAAATCTCGATTGGGGCGTTCAACCAGGCCGGTGGTGGAAGGATCCTTGATGAATCATTACAATCTCCATTCTCGGAGTATTTGGAGTTTCTGGTCGAGCTATATCGAGGCCCCAAAGTATGCTTCTGATGATGGCGGGGTCTATCATGATTAATCGTCCATTCGAGCACATATGCTGGTGCTGGAAGGATTGAAAATTGTAAAAACTAAGTTATCGATCTTTGGCCAAAAAAATAATATTTTCTCAAAAATTTTGAAATTCTCGACAAATTTATTTTCACTACTGCCGGTACAGAGAAAAATTGTAGATAGTTGAAGAGACACAGATATCCCGGGAACCAAGGGACGGGGCGGGGGATGTCTGTGTCTCTTCAACAACCTGCACTCTGTGCAATAATATACTTTTTCCAAAAAAAATACATTTCAGAAGTAAAAATGGACAATTTCGGAGTATACACAATTGGAAATTTTAATTTTTAAAAAATTAAAAATTGTTTTAATTCGGAGTTTTAGACGGAAACAATTATTAAACTCTAAAATTTTTAAATCGAAAAAAAACAAGTCTGAGACTGAAAAAAATTTCGAATAAATTTTGTACTGAACAGTATATATTTCGATTTTTTTTTGAAAATCACATTAAATGTTTTCTCGCAAAATTCGGATTTTTTTTACCTGCTCGATTTTCAGTAGCCAGAGCTGTATTTCCGAGATTGGCACCATCCAAATGTGCTCGGGGCGCTGCAATTTTGACATAAAATTTCACTAAAACGCCAATTACCTCGGTACTTATACAAATTTGCTACTAGAAAGAAATACTACTGTTAAGATAATCGAAAGTTTGGATTGACAGAAATCCAATGTTTCAGCTTCTAGAACCAATATTTTTATTTAGAAAAAAACTTCCAGAAAAATGACTTAATATTTTTTTTTAGAACTTTTGAACATTTTTCCTGATTTTTCTTTTTTTTCCATGTTTGGAACTTGCTGGGAATTTCTCTTTTACATTCCTTCATCCCACAGCTTCGCTTCCTAGGCCTAAGCCTGAGCTGAGCCTATGCATAAATCTAAGCCTAAGAGCCTAACCCTATGTCTAAAACAAAAGCGTGGACAGGCCCAAGTCTAACTAAGTCTTCAAGCCCACGCTCAAATTTAGATCGACTCAAGTAACTACTTTAAAGTTGGCAGAGATATTTAAATTCAAAAAAATTTTTAACGCAAAAAAAAAATACATTTAAAAGAAATTGTTTTTTTTAAATAAAATCTTCACCTTTGCGTAAAACCTTGGATTTCGGTCTCCAATTGAACATTTCTTGAAGGACGTCAGTTCTTGTTTCATTCCATCGACGGACATGATCTGCTATAGTATTTCGAATATTTTGTATTGTTTGCCCTTCTTGTACTCTGGGATGACTATTATTACGACCCAAATATTGATCCATACGTCATCCAAGTGATTACGGGTTCTTCTACTGGGAATGTATATAATCACTTAATTTAAAACATATTTTTTAGTTTATTTACCTTTGATTCGAATTAAAAAAAAAAAAATAAACGGTTAAATCCTGACGGGAGCCAAGAATTGGGCGTGTTTTAGGACGTACTCTTCACTTACGCTTTGGTCTACAAATGCGGAAGACGTTTGCCCCAATCACGTCAGCACGTTTTTAATCATGCAAAATCATTTGACTGAGTTCTGCGTCTCTCCTCCCGCATTCTTTCTACGTAGATCAAGCCTAAAGGAATGACAGCTGGAAAATAAAAATCGAACCCATTTTCAAAAAAATTACTCAATTGATTGTCTGCTGGAGTTAGTTGGTCGATTCTGAAAAATATTAAAGTGTTACTAAAAATTTTCCTTAGCAAAATAGCGCGGTTGCATCAAGAAAGGCGCGATCTGATTTTTATAAGCCCGCCCTTTAATGGAGGATCATCAATTTCTAGGAAAAATCGATATTTTACTAAAAGTGATCCAAGTAAATCAATAAATCGGAAGATTGATGTTCCGTGCTTTTTTGCAAAGATTTATCGAAAATGATTTCCATTAGAGCAAGCTTGCAATCGTTTTTTCACAAATATTCAAATTTCTTACGGTCTTGGATCAAAAAGTTGGCGGGGCACGCCGATAACTCTTGGAATTAGCTTAATGCCTTTGAACATGATCCATATACCGTATTTCTTCATCACCATCATTGATCCGCAAATCTGACGATTGACACGTGGATTGTAGGCGTGTGGGAACCGAATGTCGCGGCGGCCTGACGAGCCAAGTAGGTCAACGTGCGGGGACCAACTAAAAAATCCGGGTTATTGTGATTTCGTGGTGAGACCCGAAAATAGTAGAATTCCCTCGTACATCCTGTGCCTAAGCAGGTATTCAGTTCTTGATGGGTTGATGCGGTACCTGCATACACCTACCGTCTGCCTTTGTCACTGCCTGCGTCCCCGCCTGCGACTAAATGTGTGTATCAAAGGCCTACCTACAGTCTGTTTATCTGCCTCAACGTCTTCATACCTACTTGCCTACCTTGATTACATACGTGCCTACGCGACTACCAATTCGGCATACCGGTTGGCAATTAGAGAAGGCTAACGTAGGTAAGCTGGCAGGCCTGAAATTTGATTTTTGCGAACCGAATTACCTTTCGAAATGCGTGCGTTGAGATTCCTCCTTCGGCAGCCTGATCATTGGAGAAAATGTCATACTTCCAGGGACGTCATACACAGTACGATGCTTGGAAACTCTTCTTTATCGGCACTGAAACCCTTTAAAAGTGGAGGAGCCAACAACTAGACGGAGCCCTATGTAAGGAGTATTGTTTCCGGAAACATTTCAAATTTTAGGCTCCACCCACTCACCACGGAAAATTTCATTTTTGGCCGCCCAGGAACAAAAATAAATGTGCAGAAATAATGTATTTAAAATTGTAAGGAAAAACCATGAAATAGGGTGGAGCCTGCCTGCCTGCCGGGCTCCGCCCACTTCTGGCCAAACCATACCCCCTGTATACGTGGCATGACGAGTCGTCTTCCCACATTCAACATTCCAAGCATTCGTTGCAACAACTGAGAATCATCGGCAACGAATCCGACAAATATTCGATCATATCGATTTTGATGAGATTCAGGTGAAAGTTGTGCTTACATCGGTGATGTCACACACTTTGAGCTCCGGCCGAGCCAAGCGAGCTCGCTTCGGGTGTAGTTATCCATTGATCCATGTTTCCGGGTAGGTGACGAGACTCGTTCTCGTAGAGTTCGATCCCATGGTTCGCTATATACCAGTTTCACCTTAAAATTGTTGTCAGGCCACGCCCATTTTTAAAAAATGAATTAAAATTTTCTGTAGAAGAAAAAATTTCAAACTTTGGTGGGGCATTAAATTTTTTCACACAATTCGGCGGTAAATTCAATTAAAAAATTCTTTTTTTTTTGGCGGGAAATGTGCCGCAAAACAGAAAAACTGAAATTTCTAAAAAAAAAGTTGGTGGCCGAGTTTCCTCATTTTCGTGGTCAGAAAACTCGGCTACCGATTTCTTTTGCGTCGCGCCCTGTGATTACTTAAAAAAATCGGTGGCCGAGGATTTTTATTTTCGCGGCCACAATGAGTAATGAAGATTGCACAAAATTGAAAATAGGGAAAACGCGGCAGTCTAACATGTGCCACGTGGCCCGCCGTTAAAGAAGAGCCCTTGGTGGCCGAGTTTTATTATTTTTCTAGGCCACGTAACCAGAACTACACCCAATAAATGCCAGCAATCGTACTTAAATACCCTGAACCAGTTCCAATATGAAGAAACGAGTGTCCCTTACGCAAATCCAAATAAGCGAAGAATTTCGCTTAAATATCAATTGCTCCAACACGAAGAACTTGCTCACGGATAGAATGGACCGCCACCTCGGTTCGGCTGTGGAGGTCAACGACGGAGGACGTGTAAATTTCTGTTCACTAATCGGAAGAAAATCGGATCGATCGACAAGTCGAAAGGCTCGTTCGATGTTCGACGACGGATTGTGTCGTTTTTTACGAGAAAATCGATAAGATGTCGAGTTTTGGCTTTCACTATTGCCCATTTCTGGAAAATCGATTTTTTAAAATTTTAGATTTATTGATTGATTTTAAATAAATAATTAGATGTGAGCAGTCATGTATTTTTCCTTGTATATTTACGAGAGAGATCTCAAAAAATTATTCAAATAGGAAATTTTACGCCAATAAAATGTACAGTTGTGTGCGCCTTTAAAAAGTACTGTAATTTCAAACTTTCTGGCGCAATGAGTAGTTTTCTTTAAATTAAAAACAAAAAAAAAGCAAATCAAGATACATACAAAAGTTTAAAATTACAGTACTCTTTAAAGGATGCACAACATTTTGCATTTAAAATTTGTCATGTCGAGACCGTAATTTTAACGCAAAAAATGAATTTTCGCGTCTGTGTAAAAGAAGTGAGTTGAGGAGAAAAAACAATTGAAAAATCAACAAAAATTGAACTTTAAAAATCAAAAATCGTTGCGAGTTAATTTTTTAGCCTTGAATAAGCCTTAAACTAAAAAAAAAATAATCGACTCAACATCAATAATTTCGTTACAAGACCCAAATTAAAATTTTTTATTTTGGGATAATCTATTCCTAAAATTAATAAATTCCAGAGAAACGAGTAAATCGTGGCGAGACCTAGCATGTACCTTTAATATCGCCTCAAATTATTTTGGCCCGTACATCTCGAACACACGTGTTGCCTAGCTATCGAACAAAAAACGAAAAAAAAAACAGGTTTCTTTGAAATGAAGATAATCAGCGACACAGTGTGGCAAGATGTCTCAAATTATTGGAAAAAAAAAACGTGAAATTCTCAGAAAACGGACCGTTCTGTGGCAATGGAATTGTGAACGGCGTGCAAGGCCACGACCTGTGAAGAGGGCGTGAGAGTGTAGAAAAAAAGGAGGCGAGAGAAAACGGCTGACCCGTGGATAGACTTATTCAGGAGACGCAGAGCGACCGTGAGAGACCTAAGCAGGAATATTTGAAAAGGCGTGCAATAGTGTTGGAAATTCCCATAATAAATGGGTACGGTAGGTATGACCTTACGGGATATTTGTGGGTCTCGCCGCGACGAGTTTTCAAGGTGCATAAGCAGTTTTTGCGATGGGTCTCGTCACACACGGGATTATAGATTAAAATTGTTGATTCGAGATAAATGGAAATTCGAAGACGTCTAAAACAGTTAGAACTTTATTTTAGTTTACATTGAGCTCAACTGTCCAACCCCTTCAAACTTTTTCCACTTTTTTCTTGATTTACTTTTACAATGCCTTTATGCTTTTCGGCCGTTTTCCTGGGGGTTACGACCACGAAATAGAATCCTAACTTGGTAAAGCCTAAGCAAGACTAAACCTTGGTCTTTCAATTATACATACACATCCTTTTTAAACGATATTAATTAATTTACAAAATACCAAAAAAATATACAAAAAATGATTTGAATATATGCGTTTCCCGCTAAATACCTACCCCCAACTTTTGGTCCCGTGGAGCGCGCTTGCACTTAAACTTCAATTGTTCACATCCCCATCTTGTTTTAAATTGTTTTTCCCTTTATTATTATTATCCTTATCACGAGATGCCCTTGCAAAACACATTGTAAAAACAGTATTCTACCTCAACTGATAGATTAATAAGATTTTGTGTACCCCACAGTCCTTCAGGACCATAAAAATATTGATAATTGCTGATAAGCTCTCTCAGTGGTCTGTAGTTTTGGTGATATTTTGGGCAACAAATTTAGATTATGGAAACACGGAAATTCTGACAATGCGTTTTGCGCAACATATTTGACGCGCAAAATATCTCGTGGCGAAAACTACATACGGTAATTCATGACTACTGAATCGCTTGTCATTGTTTTACGGGCTTGATGTTGGAAATTAATTTATTTTCGAATTGTGACAGCAACCGATATTCAGTTTTCCTTTGATTTTTTGTTCCGTATTATTTTGTTATTTTTATGTGTTCTTTCTTTTAATATTTTATCAATTAATGAATGATTTCCGTAAATCGACACAAGCACTACAGTAGTCATTTAAACAATTACTGTAGTCGCTTCGAGATATTTTGCGCGTCTATGTTGTGTAATTCGTAAAGAAAGTTTGAAATAATAGTTTTTAATTAATTTCTTATTCATTCACTGTCAATTCTCACCGAAAAAAAAAATCCAAGTTCGCCGACTTGCGGCACGATGCCTCTCCAAAAGGTTCTCAGGCCCATTCATGTCATTCAATCCATCCAAATGAACGACTTTTCGTTCAGGGCCGCCCTTCTTCTTTTTCCGGTTTAGTACTTTTTCAAACCGAATAAAAAAATCCGAAATTGACTGCAAGTGTGCTCTATTTGAACTTAGACTTCACGCTATTTCGGAATTTTTTCCGATTTTCTCAAAATCTTTAACACTTTTCTAAATGCATTGTTGCATTAGTGACATTTTCCTAGAAATTCTACTGCAAACGCGCGCATCAGTTGCGAAAGTTTTTGGGTCTCACAACGATTTCGGAAGAAAAACGTTTTATCCGAGACCCGGAACACCATGCCCGGATGGAGCGCGTTTGGAATTTTTTTGGTTAAAAATTTTGCGCAACGACAAAATAACCGCGAATTTTATCGTATTGTTAAATTATGACTTTTCCCGGTCCCAGAACGAATTAAAGCAATTATTATGAAAAATCAAGACCACAAAAAAAAGCGCAATAGAGCGCGTGTGCACCTTTTTTTCTTTGAAAAGTCTCGTTTTTTTCTCGGTAAATTCACTGTGACATAGACCTTTCTCGGAAAACGAAAAGTGTAGTAATGGAAAGTGAACAAAAGTGACAATAATCTGAATTGCGTTGTTGTATTTATCTTCTTTTCTTTTTAATCTGCGAAACATAAGTTTTGGAGAGAAAGTGATTTTCGACGAAATTTTCCTGATTTTGCTAAAATTGTACAAAAATCATCATTTTCTGTGGGGTTTCTCATTTCTTATCCCAAAATTTATGCGCCTTTAAATTTGGGGGATTACTGTAATGTTTGTATTTTTCAACTGTGTTTCGGGAACACAAAATTCTGAGAATGAGTACTGCACAATATATTTGACGCAATATCTCGTAGCGAAAACTACAATGGATTAAAATTTAATGAAATATCGTTATGACTATTCGAAAAAAATTTCATTATGGAGCCCGTAAATCGACACAAACTCTATGTCCTGTAGTCATTTAAAGAATTACTGTAGTTTTCGTTACGAGATATTGTGCGCGTTGTCCCCGTAATAGTTTAACTTTTACCACGTGGTCGCCAGAAGGCAAGAACTTCTGCTACCGGATTTCATTTCCTCTGCCACAAACCCTTTGGACCCCCAGTAGAAAAAGTACATAAAAACAATTCCGGGGACTGGGTCTCCAATCTCTCGCCCCCACTCACTAACAAGGGGGACACCCTCAGAAACGAATGCCGTCTAAACGTCTGCACCCTCTCTCTCGTCGCTCCAAATTCTTGGATCAATGCGAACTAACACGCAGTGACCCCCCTCCACCTTCATCCACCCAAATGTTTCATCAGTTCCCGGCCACCGCAGGCTTCTCTCTCTTTCTCTAAAGCTCTCATATAACTACTGTCTCTCTCTCTCTGCTTCTTTTGCTCAATTGTTCTTCTTCATCACTACTATTTGCTCAATTTTCGTAAAATGATATTTTATTTTAAAATATTCATTTTTCCTCCCCCCGCCTCTGCTTTTCATCGCTTGACGCGCCACATACACTACAAAAACCGGTTTTTTCTATCTCTTCCGCCCGATCATAGAATAGATAGTGTGTGCTGTCAAATTTCCATTTCCTGGAAAAATCGCGCCGAAATTCCAGAAAATTCCACTTTTTCTAGAATTTTCAGGTCGTGCAGTTTTTTCGGTTTTTGAATCTAATACAAGGCGAATTCCGTGAAAATTAATTTTTCCTCATTTGACGAATAAAAAATATTAGTATTGTTTTTCTTTCAAGAACGTGTGATTTTTTCACAATCTTCTATGGTTTTTACGTGGATCTTGAACTTCCACAACTTGACAAGTCTTTGAAAATTAATAAAATTTCACCGTATCTGCCGATCGTTGCAAGACACACTCCACATAAGAAGTCGTGCGCCTTTAAACTGTGTACGGTAACTATAGGAAACTGATTTAATCCACTTTTTTCTTCGAGCGCTTTATCCGTCTATTTTTCCAATTTTTCCTCACTCTGATTTCGAACGATTTTTTGCATCTTACCTCAAAAAAATTAATTAAATGCATAAAGTGGAATTGCTGATTCTTTACCAAAAAAACACTTAAAAAATCTTCTCATCAATTTCAGTTCTTTCTGGCATGGCTCATTGTTTATCGACACCTGCTTGTTTTGCTCCGTAACTCCGCTCCCAAATTTTATGAGTTTTTCTTCGAAATTTCTCCATTTTTCCCGTGGTTCAAAAACCGCCAAAATTCGCTTTTTCCAGAATTCGCCTACTAGCACTACTAGATGTGTTAATTTGGGGCGGAATTATTTTACAAAAAGCAATGTATCCGGTTGTACGGGCTTACTGAAAATGAGAAGCTCAAAGACCTTGAAGGAGCTGTGCATATGGTCAATATATCCGATGAGGATGCCATTCAATTTTTAAAAGGTGGATAATTAAGCTGAAAAGTGGAAAAAAAAATGCATTTTTTACTTCAAATTGACCTAAAAATTGGACTAAAACGTCATAAAATTACTGAAAAGTCAGAAAATTGTCTAAACTTAATTTTCGCTAAATAATTCCAGAAAAGCCGACTGGGACATTGCAATGTCATCGCGAAGAGTGTTTCCGAAACAAATGAGGATAAAACAAAGTGTAGGTTCCGGGCACTTCGAGAGGTAAATTTTTGAAAAATTTCAGAATCAAACTGAAAAATAGATATATTGTGTGAAAAAATGCTACCATTTTCTCCGTAAAAAGGGAATTTTGACCGGTTTTTCAAATTTTAAACTGAAAAAAAAAATTATATCTGAAATTTTGCTCTTTTCGGCGCGTTTTTTCTCAAAATTTGATGAAAAAGTTCTAGAAAACAAAAAAGCCTTTATCAAATGTACTTGTTTCTGCGATTTCTCAAATTTAAAATTTTACGCGTCAAATCTGGTGTTTTGACTCCGCCCACTAAATTTAAACCTTTCGTGAAAAAACAATGTTTTTCTCCGATTTTTAATAATTTAGGCAAAAAATATACAAAATTTGCCTAATTCACCTATTTATTCCAAAAAAATATCACAAACTTCCTGCGCGTAAAATCGGGTGTTTATGCTCCGCCCACAAAAATTTCTTAGAATTCGAGTTTCGGCGGATTTTTTCTCAAAATTTCATGAAAATTGTGAGAAAAACTACAAAAAGTCTTTGAGCTTTACTCTTTCTCTGCGATATCTAAATTTGAAGATTTGCGCGTCGAATCTGGTGCCTTGGCTCCGCCCACAAAATTTGAATCGTTTAAAAAAATGTTTTCACCACTTTCCCCGCTTTTTCGCCTGACTACCAATCCCAATTTTTTTGCAAATCGATTTGGATTGATTATCGTGTCGTCTACGTGTTCTTAGCCTTCTATCTTCTAGATTTTGGAGGTTTCCCTGATGAATGTCGAACGTTAGAAAGATTTGATAGAGACGCAGACACAGAAGAGCCTTGAGTCGCGCGTCCAGTAAGTTGTTTTCTGGAAAAATTGTAAAAAAAATTGAATAAAAAAAATGATATTTTTAATCGAAAAAAAAAGTTTTCAAAAATCAAATTGGAAAAGGTGAAAAAAATTCAACAATAAAAAAAGAGCGACAAATGAATAAAAAAAAACTTTTTTTTTTTCCAAAAAAAAGAAAATGACCAAATGTTATTTAATCGCCCGAAAAAATAAAAAACGAAAAATGAAAAAGGAAATTTTGTTTTTACAATTAGAAAAAAAAAATTAAAAATGTATTAAAAATTTTTTTTTGACATTTTCTTTCGCTTTTTAATAAGTTTTGACTAGCGGGGCCTGCGGGCCCGCCAGTTGGGGTGTAGATCGGGCGAGTCCCCCAGTCGGGCGTATGTTCTCGTCTTCGCCTAGAACGTCAGAGGATTCGCGACAATTGCAGTGAGTCAATGGGAGGGAGACCCACTCATATTTTATAAAATCGAACATTTGTATTTGAATCCCGAGCACTCAAAAAAAAACGAAAAAGGTGTTTTGTCTGTTGGGGGAATCGAGCGAAAGAGCAAATTATTCACAGCTATACGCACTAACCAGCCATGCGGGAGAGACCTCTCACAGAGATGTAGGGAAGGAAAATTTCTGGGGGGAGCGCGGGGGGGGGGAGTTGTCTTTCGCTTCCGTTTTATTCAATAATGACAATTTGGGGGAAGCCGTTTGAAATAACCGTTTATCACTGATAAGTCAGCAGTAAACCAATTTTTTGAAAGTTTTTTATAGCATGATTGTACTTATTATTTAATTCCCGAAAGAGAGCCGAAAAGTTGAAGGTGTTATCTTGTAAATTGTTTTATTTGAAGAAGAAACCAGTTTTGGCTGAAAATTTTGAAAAAATAATATTGGCAGATCGAGCATTGCGTAATGCGACGAAACTCCAGCTTCCAATTGATAAAATCAAAAACTATGAATCTGAAATACATTGCGCAAAACGACTTTAGTGGACAAAATTTTCAGCAGATAACCGAGGAAACCACTCCCCCCAGTACTAAATTGAATTATTGTTTCTTGAAATATTTTCCCACGGAACTTTTTAAATTTTATATGCTCTCGATGCGTCTTGATGAGACCTACACATCAATTTTTGGAAAACTAAAAAACTTAAAAACTAACCGCTTAGTTATGAGTGAAAAAGTAGATTAGCAATGGGAAAGTGTGCAAAATTTGGCACTTATTCGTCTTGCTCGGCGGACTCATATTACTTTTTCCAATTCTGCGTTAACAATCGTGTTCCGTACTTTTGTACGTGGGATAAAGATAAAATATAAAAGATGCAGTAGAACTTGAGACAAAGAGGAAAAACTACTTTTTCGGAAAAAATTTTTTGTTGGCAAAATGGCATTTTTTGGCCTTTAGGTGTTTTAACACAACTTTTTAGCCTTTTGCCACTTATGAACTCAAATTTTCTTCTCACTCGCTCAAATATCCACCTCCCTGATTGTAGTATCTTGCACATAAATTTAACAAACCCGAGCAAAACCCGAATTTTTCAATTAAAACATGGTTTTTTGGGGGTAAAAAAAGCAACATAAAATTTTTTCAAACGGGGGAAAGCCGCCCTGAGCTCAGCTTTGCTCCAAACTTTGTGCAGTTTTGCTCCGCCGTGGGGTGAAATATTACTAGTAAGCTGTCTAATATTACAATATTCAGTCAAACCGCTCTGCGAGTTATTAATGAAAACGCAGTGTGACTTTTCGCAAGCCTAAAAAAAAAACGCGAAAAAACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTAGTAGAGACTGCTGGCAGATTTTGAAATATCGGAAATACTTTAAAAGTTCGTTTTTTTCCACGACACCTAAACTGGTGGCATCATGTTGATTCGGCCAAAAACCCGCTATCAACTACTGGAGAAGGAAATTGCCTTCCTCACGTCGCATCGTTAGGTAAAAGGTTTTTCAGAGGCGAAAAATCCGAAAATCGCTAACTTACTATTTCCACTGAAAAAATTGTACGCCCTTCATAATTTCACTATTTTCTGAATTGAAAAAGACGACAAAACTATTTCAAAGCTAAAATTGCCCCGAAAATTGTTTTTTTACTAAATTTATTTTGCTCGGCGAAGTGCAAAAATAAATTATTGAATTAAATCTTTACATGTAATCTTCAACAAAATTTAATCGTAAATTTTCAGGTATGTGGGGAGTACGATCGTCCTATCACTTCGTGAAACTCTGTACCTACGAACTTCTTACATGGCGCCAGAAAAGAAGCAACGACTGCGGGAATCGGTTGACAATCATATGAATCAGGTCAATTGGCGGGAGAACAACCTGTGAAAAATTTCTTAAAATTCGGAAAATGATCAAAAATGAGCTGAAGACCGGTCACGTAGTTGAAATCCGCGGAAAATTCCCAGAGGAAACAAGTTTCGGTCAAGTTCGCTTGAATTTTTCTCAAAAAGCTCGAGTAAAAACACGGAGTTGAAATCCGCAGAATTCGAAATTCCCACAGGAAGCAATTTTCGTGGATTTCAACTTCGCGAATTTTGCTCAAAATGCTTCAGTAAAAACTCACGGAGACATGTGAAATCCGCGGAATTCGAAATTCCCAGAGAAATCCTAATTGTAGATTTCAACTTCGCGAGTTTGTGTTCCCAAAAAGCTTGAGAAAAAACTCACGGGGTTGAAATTCGCGGAATTCGAAATTCCCAGAGAACACAATTTTCATCGTAGATTTCAACTTTTCTAGATTTTTAGCCAATTTTTTATTACATTATGTTACAAAAAAGCTGTAAATACTCACGGATGAAATCCGCGGAAGTCGATTTGATGTTGTAGATTTAATCTTTTCCAGAATTTTCCAACAAAATACGTTAACCGGAAAGAATTATTGCCGACACTCCAGGAATCTAGTTTTCAGGAGATGGCTTTCAACGTCGAGAACTTCGCACATTTTTTTGCATTTTTAAAAAATTTCACCAATTTTCCAATCAAAATTTTTTAAATTTCCAGAGTAACGGTCTCGCATTGACCCGTCTCTCGGAAAATGAAGAGTAAAAACTCACGGAGTTGAAATCCGCGGAATTGTATTTGAAATTCCCAGAAGCACAACCATTCTCGTAGATTTCAACTTCGCGGAGTTTTCGGTCAATTTTTTGAGATTTTTTCTCAAAAAGCTTGAGCAAATACTCTCGTAGTTGAAATTATTCCGCGGAATATTCCAGGAAATTCGATTTTCGTAAATTTCTTCTTTCCCAGAATTTTCCAATTAAAAAAGAACGGAAAAAATTGTCCGACATATCCTCCATGGACTTTAGCTTTAGATTTCAACATCGAGAACTTTTCTCGTAGATTTTTTTGCATTTTTTAAAAATTTCACCAATGTTTCAATTAAAATTTTTTTAAAAAATTTTCAGCGTAACGGTCTCGCATTGACCCTGTCGCGGAAAATGAATGGGGACTCGAATCGGATCGATGTTGTACTCGGATAAAATATCATCTCAGTACCCCGTAAACAAGAGGATAATGGCTGGATTCAAATTCCACAGAATCTACGAGAGTCTTGAGGCAATCCACGAGAGGTGTTCGCGTTGGCTCATCTGCTCTAAAGACCAGTTGTGGTTGTATCGGACACGGTAGGGAATTTTCCATTAAAATTTTTTCTTCAAAAATTCATTGAAGAGAAGCAGTAACAAAGAATTTGGTTAATTGTGAATTTTACAGAAATATAGAAAATTTTAATTTAAAAAATTTCGAGATTGGTGAGCAAGGGTGTCAAGTCCACCCGTGTCCCGTTTGTCCCGTGGTCCCGTTTTTTGAGTGTTTTTACGGAACTGGACGTCTTTGGTCCCGCTAATTTTTGAGCGTTTTCACGGGAACGGGATGTCCCGTTGTCGCGTTTTTTGTTTTCGCGGGAACGGACGTCCCCCCGTTGTCACGCTTTTAAAATCTGGTTTTGTATCACGGGAACGGGACATCCCGTTGTCCCGTCTTTTGTCTTACGGTAATATTGACACCCTTGGTGAGAATAAATCAATAATACACATAATTTTTGGAAGAAAAAACGATTTTAAAAATGAAGCTTAACATTTTTTTTCGAAAGAAAAAAAGTGTAAGAAGTTTAGCAAAAAAAAAATGAAAAAAATATCTTCAAAAATGTTCAATATTGTTTTAAGGTGCAACTATTACAAGAGCACACAATTCTTAGAATACGTAATGCGCTACCTATTTGACGCGCGAAAGCTACAGTAATACTTTTATTGTTTACTGTAGTGACTAGCTTGTGTCTAGATTTACGACTGGAGCTTGTGCAGATTGATAGAATATTCAAAGGGATAATTTATTTATCGATTTAATATTCAAATTAGGCAAAAAATGAGAAAAAATATACATGTGAAAAAATTATTTAAAAAGAGAGCTCGTAAGGCATCGACACACTAGTACATTTAAAGGTTTACTGTAGTTTTCGCTGCGAGATATTTTGCGCGTCCAATTTGTTGCTTAATACGCTTTCTTAGAATTTTCACATAAGACGGGTTTTCTAGGAAAAATTTTAATTCTTCATAAAATTCGTCAATAATAACTAAACCGTTAATCAAAAAAAAGTTTTTAGGGTGTCATCAGAAAAAGTCTCAAAAAAAGGCGGTCATCAAAAATCCATCAAAAAAAGAAAATTGAAAAATTTGAATTGAAACTTTTTCGAATTTTTGAAAAAAAAAGTGTTTGAATATTAAACGTAATTAAAAAAAAAGATTTTCCTTTTTTAGAAAATTCTATTCATATTAGAACAGTCGATTTTATAAAAGTATCGATTTTTTTCAGAATTAATTGGATTTTTTGTAAAATAATAATCGATATTGAAAATAAAGACCTTTCGCCTTAAAATATTGTATTTGACAGAAAAAATGGTGTAAAAAATTTTTACCAAAAACCCTAAATAAAATTGCAAATAATTTTCACCTACAAATTAATTGTTTATTAAATAAAGTTTAAATAAATTGCAAGAACAGGAGTACGTGTTTTCAAAATTATTCTTTAAAAACGCGGGTTCTTTTAATTCAGAAAATTCTTTTACAAAAACTCAATAATTACGGATTTGTCAAAAATTCGGATAATTTACCAGGAAATTCAGAAGATTTGGATAACATAATTCTAGTTCACTTCCAAAAAAATGATATGCGACTTACTTAAGGTACAACTAACATTAATTTTCCAACACTTATGCTGCTTAAAGACACGCCAATGGGGTCAAAATGACCGAATATTATGTTTAAACAAAAAAAATTTTCTGATTTTATATATGATTTGAAAATTGGAAAAGTAACAGTTTTAACCTAATTATTTTGAAGTTCTGCCAATTGGATTTGTTCGGTGCAGCGCGCTTGCAATAGTTTCATTTATTTATTTATTTATTTATTCTCGTTATTTCACGGAGGATTTTGCACTTCCATTTTCGATGTTTTTTTTTCTCCGAACGAATGAAAGAAATAAACAAGACAAATGTGAAATGGTTGTTAAAAAGTAATTGAAAATGCTTATAAAACTGTGATATTCTTAGTTCGACGAAAAGACTGAGATGAGGATATTTCTCAGTGTCACTCATTTTCAATTACTTTTAAACAAACGTCATATCGCATTTATCTTTTATTTCTTCTCCCGATTTTCTGAAGAAAAAACATAGAAAATGGCAAGAAAATCAGTGAAAAAACGAGAAAAATATATATAATTCATTAAATAAAAATAATGCAAGCGCGCCCCTCCACCGAACAAATCTAATTGGCAGAAATTCAAAAATAATTAGGTGAAAACTGTGATTTTTCCAATTTTCAAAACGTAAAATAATATAAAACCTAGAAAATTATTTTGAATTTTTTTATCATAATTTCCGGTTATTCCCATGGGCGTGCGTTTTTAAAACAATTCCCACTGAGCGTAGACCTATGTTCTCAAAAAATGAAAACGAGTAATACTAATTATTTTTTAAAAATCCAATAGTGTTTAAATTTTTTTTTTGCAGATTCTGCGAAACGCGGGGAAAGGCGAAGATGACTGTCTCCAGTGGCTTTTGGTGGAAAATATATTCCATAAGAATGCCCACCATCACAATGTCATCGATGACGACTTGTTTTATGCTATGATTCTGCTCATTTCTCACCGGACTATTGTACCATGAAAACAGAGACTAACAATAAACTTAAGGAGTTTTTTTATATGAGCAAAAATATTTTCAAAATCTTTTAACTGAATTTTCAAATTTCCCCCTAGCCACCGGCCCCCCCGTTTTTTTCGAAAAGTGAATTGGAATTTTCGAAAGTTGCACAAATTTTTCTTTGAAAATTCAAATGTTGGTCAATTATTTATTCGAAAAATCGACATTTTTCCAACTTGTAATCTTTTTATTCTAAAAATCCCAATTTGATTTGGTAAAATTTCTGTCAACAATCAATTAAAAATCCAACATTTTCAAAAAAATTGTGAATGTATTCGGGAAATTCGAAATTTCCTATTTATTGGATAAATAGGCTAAAAGTTTTCGATTTTATAATTTTTAGGAAAAGAAGTTGTCAAATTTTTTTTTATAAAGTTTTTTTTTGAAATTTCACTAAATGAGCCAAATTTTAACAGTGGAGCACCGAAATTTGCGACTTTGCTTTTTTAGACTCAGGATCCAAAACTAACGAATTTTGTAATGATACATCTGACAATTTCTCAAAAAAAAGTTATGGCTGTTTAAAGTTCGGGCAAAATAAGGCCCATTTTCAGCTAAAATCAAAATTTTTTCCAACTTCTAGGTGTCGCAACGTCTGATGGACCCTAATTTTTATCTATTCATCACTTTAATAAATATTGTGGCCTTTGATTGAGCATTTAATCGTTGTTTTAAGTTCATTTATGATCTTTGGAGTACAAATAAACGTTACATTTTGTACCACCAAGACCATAAATGTATTTAAATCAACGATTAAACGCATCATCAAAGACCACAATTTATTAAGTAGAATAAATTAATGCGAAATGTTCCACACGTCTTGCGGCACCTAGCCAAGTTAAATTTTGATTTATTTTAGCTGAAAATGGGCCTTATTTTTCGCCGAACATTGCCATAACTTTTTTTTGAAAAATTTTCAGAACGTTTCATTACGATATTAGGTAGTTTTGGGCCACTTGGGTCTAAAACAGCAAAGTCTCAAATTTCGGTACTCGACCTTTAAAGAATTCATATAATTTTCTAAAACAACATATATTTACACAAATACTTAATTTAGTATCAATATGAATTATTTGAAAAATCAAAAAATTTATATGTATTTTCAGAAAAAATTCCCATGATCGATGTGAACCGTAACCTGCTGCTCCTGTCCATTCTATTTACAGTTGATCCAGGAGAGTCAATTGGTCCAAATAGAAACAAATAGTAATACACAGACAACTACAGATATGTCACAAATATGGGTGATAAGCTTGCGTTGATGTAAGTCATATGGATATTGTTAGGTAAGAAAATGAGAAAAAGGATTTTTTCAATTTTTTTTTCTAAATAAAACATTCAATATATCGTTAACAAGCCAAAAATGTGTACATGTTTTAGTTTAAAAAATATTAAAATTTTTTAGTCCCAAAATTAAAATATCGAAATCAAAGTGTTTCCGACATTTATATAGACGAATTCTATTTTTTTAAAATCGAAATCATATTTTTAATGAAAGTACAGAAAACAGCGCCAAAAAAGAAAAAAACGTTTTTTTTTTTCGAATCTTTCATTACAAATATTTGAAAAAACGAAAACTACAATTATGGGAATTTCGCGAAAATTTTTTAAAAAAACTTTAAAAAATTCTTAAAAACAGCTATATAATCACGAATGAGAAATATATCGGAAATCCGGAAAAAATTAAAAAAATTTTGTGCGTATTTGTCTGAAGTTATTTTACAAACACCAAAAATAAATCAATTATTGTTGGAAAAAATTGAAATACAACGGAAAACGAATTATTTATATTTAAAACGAACTAAAAAAAATCCCGCATCACAAAATTATTGGAAAACGAGAAAGCTGATTTTTCGCTAAAGTTCAAAAAAATTTACAAAAAAAGAAAAAAGTATTAGAAATCGGTAATTTTCCGAAAACTGAAAAATTCGAGTTTTCTAAAATAAATTAAAAAAAAAAATCAAATTCCACACTTTTGGAAAATTACGGAAAAAAAGATGTAGTTTTCTTTAGCTTTCAGCCAAAATTTTACATAAAAATTTCCGCAATGCATAGTTTTAGAGAATAATTTTAAATTGAAACACTAAATTTTTTAAAAAACTTGCGTTTTTTTTGAAAATCCCCGAATTAAAAAAAAATAAAATTTGAATTTCAAATAAATATTTTGCTAGCAAAAATAGTTTCTAAAACAAAAATTTGAAAAAAAAAATATTTAATATTTATTTCATATCCTTTGATTAAAAAAAATCTAAAGAAACATTTCAGACTAGACGTCGTCGTGGCTCAATACGCAGCTCGCGGAGAGTTCGAACGTGCTCACGCGCAACTTCTCACCGAATCTCGTGGTGAAAATGGGCAAAATTTGCCCAAAAATTAATGAAACCAAGAGAAAGTGCACATTGTTCTAGTGATGAACAACTATCAAATAATGCAAAAGGAATCACATTAGCATCAAGTGGCATTGGTTCTGGAAGACATGAGAAATGGAGATTAAGCAATAATTAGGGAAGCATTGTTTTTTTTTTTGGCCTAAAAATTTTAATAAAAAATCTGCTTGAACAGAATTTTTGAATCTTGGAAATAATTAAAAAAAAATGTAGTAATCAATTTTAATTTTAAAAATTAGAAACTTTTCAGATAAAACATTTTTATTTTTTCAAAAATCAGAGTTTGAATCATTTTCAGAATAATCATAACGTAATGAAATCAAAAAATTCAAACTACAATACTACGGTAACAAAAAAAATCAGAATGCGTACTACGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATCCTTTAAATGCAATACTACTGTGTCGATTTACGGGCCTTGATTCTATTTTTTAATTAATTCATTTTCGAATAGTGACAGCCATATTACATTTTTATTCTCTTCTTTTTTGTATTATTTTCCCTTTTCTTTTGCCTAATTTGAACAGTCTATCAATCGAGCCCGTAAATCGACACAAGCGCCACTATAGTAGTCAATTTTAATGGCAGAAGTACTGTTGTTTTCGCTACCAGATATTTTGCGCGTCAAGTATGTTGCGTAGTACGCATTCTCAAAATTTTGTGTTCCAGTTATTTGGTAGTTTGTGAATTTTTTTAATTTTCATTAATGATTATTCTGAAAATGAAACTCTAAGTTTCTGAATAAAAATGTTAAAAAATTTATTTTAAAAGTTCCTCATTTATTTAAATTAAAATGGATTCTTTTAATTTCCAAAATTTGTTTACAAAAAATTCGTTTAAAATCGAAAAATTGAACTGTTAAATTTAAACTTTTCAAAAAAAAAGTTCAAAATTTTTCTAAAGTAAATTTTCAAAATGATACATGTAATTTAGATTATAATTTAAAAAGACAACCAAGACAAACATTTTTTAAAATATTAAAATTTTGTAAAATATACAAATGAATGTTTATCCGTTAAACGACTAAGCCTTAAAAAGCCTCAGTCTAAGCCCAAGTTTCCAATGCCCCTAAGCCTAAGGTCGAACTGCAGTTTTTAAAAAAAAAGTCCCAAATCCGCTTTCCTAATATTGGTACCAAACCTCTTATTTGCCAAAATGAAGAAAATGTTTTTAATTTGAAATTTGTTGATCTGAAAAAAATGTGAATTAATTGCCTTTGTCGGCTGGATTTTTTTTTTGGAATCTATTTTAAGAATAAAAATTGATTATCTTGCGTTTTAAACTTTGATTAGGGTATTTTAAATTCGATGGACGGCGAGTTTTGGTTCAAAAAAATTAAAAATCTCGCCGTCCATCGATTTTTAAATACCCCAATCAAGTTTAAAACGCAAGTACTTAACTTGCATACTCGAAAGTTGACGATGTTCAAAAAAAAATCGTTTCCAGCCCTTCGACATCGATAAGTTGGTCAAATTTCCGATTTCTTATTTTAGGCCATTGTTTGAGCCGTCATAACTTTAGTTTCCGTGATTTCAAGAACGCGTTTCATTATTAAATTCGGTGTTCTCGGACAATTTTGAGTCTACGAAGCGAATAAAACGACTTCACCACCTTTAAAGCTCAAAATAAACGTGCACAAATTTAATTTCCTATACAGAACCCACGGGCTTCGAACTTTTCGTAATTCCTCATCAACACGTGGCAAAGAAAAACTAATCGATACGGACGATCGTATTGCAAGAATGAATTCGACGTGCGTTCTTCGCATCGGAATTATTGCCAACTCATCACCAATACATGGACAAAATGAATCATACTTCGAACGAAACAACGTGCATAATTCCAACAGAATCAACGAACACAATCGGATAGTCGGAAACGGATTAGTCGAAGTGTCTGCAGTGCAAGCTCACTAATGCTCGTGTATCGGTTGTGATTCGGTACGGGACCTACTTTTTGATGTGAATTTCGAGAAAAAAATTGTCAAAAAAAACGGAGAGAATTTGGCACAAGTAGCCTCAATATTTGAAAGAAAAAACCGAACAAATTGATGAGGGGAAGCCAAAATACCAGAATTTACACCCAATCTAAAGTTTTATTGATTTTTTACAAAAATTTGCTCAGTTTTTCAGTAAATTTGCCAGATCTGACCATTTTACTATTAGGAACCGTCATAATTCTGGGTTTTGCCAGACAACTTCCTGAAAATTTAGAACTAATTAATTTTTAATTTTTTGTGGGGGGATCATGTTATTTCCTAACAGAATACTTTGATTTGAATTTCGAAAAAAACCGATTCTAAGCTTAAACATTGACAAAAATAGCAATGAATGTCAAAGAAATTGCTAATACATAAAAATTGTGAAAAAATACACAAATAACAATTTTTATTTAAACTCGTCATTAAAAATTTTTTCAAATTTTAAAAAATTGAAAAAATAAAAAATTTCTAAATTAAAATTACTGTAAAACATTTTTTGTTAAAATTTGAAAAAAATTCTAGAAAAAAAAAATTTGCATTAAATTTCGTTTCTTCAAGCCGGCATCTCAAGTTACAAATATCAAGTGTGATCAAAGTTTTGCTTGGCACAAAATGAGTGTTCTCACGTCGAATTGCGACCAATTTATGGGAAATGCTGGGCCACCGTGCAAAATTTCAACACTCCCGTCATTTGGTAGTAATGATAGTAATCAGAATGATAAGGAAAATATTGTGGAGGTACTTAACGTGGTGCCTAAAGATGGAGCCAAGACACTTACCAGGTATGGGGATTTGAAATTTTGAAAAAATTAGAAGTTTCAATGAAGACAGAAAATATTTTAAAAATTTATTTTTAATTGAAAAATAAAACTCCCAAAAAACAGTTTTCCCAAAAAAAGTGTTTATGTTATTTGTTTATAATATTTACGGAATTGATTTTAAAAATTACGAGAACACAAAATTTGGAGAATGTGTATTGGTCGCTACATATTTGACGTGCAAAATGTCTCGTAGCGACAAACTACAGAAATCCTTTAAATGGCTACGCGCACTAGTGTCGATTTACGGGCTCTATTAACGAAATGAATTAAAATGATTTAGTTATCGAACAAAAATCATTTCATTAAATCGAAAATCAAGCTCGTACATCGACAAACAAGCTACAGGAATAGTCCTTTAAAGGATTACTGAAGTTGTCGATCCGAGATATTTGCGTAAAATATGTTGCGCAATAGCATTCTTTGAATTTTGGCTTCTCGTAATATACGAAGGATGAAAATTTCAGATTTTTAACAAAAAACTTGTGAAAATAAAATTTATGAAAAGTATAAAAAGTTGAAACAGAAATTTTTTTGAGAAATATCGATGTCAATTTCTTCACAAAATTTTTCAAAAATCGATTTTTCTTTCGAAAATTTTTTTTTGTAATTTTAAATCAAAATTTGGCGATTTTCAAAATGTTTATTTTATATTTAATTTCTAAAATTAATTATTTTTATTAAAAAATATATAAACTCAATTTTAAGATTGTAAAATGAATTTGGTATGCCGTTGAAAAATAGAAAACTTAAAATCTTTTTAATAACTGACACAACTGAAAATGTTGTTTGAAAAATTACATTTTTGCAAATCGAACATTTTTGACGCGCAAATTTGTAAAAAAAAATTTTCCGATTAACAGAATAGGGAAAACTGTAAAATAGGAAAAAAATTTACCTAAAAAGCGTATGTGCCTTTAAAATGTGCAGTAACCCAAAAAAATCGATTTTTTGCAGTATGCGAGCTGTGGAGGAAAGCGAAAACGGTGTGGAGGAATTCGTCCACTATTATATGGACGATGAAGTAGCGGATTCATGATTCTATTATACCCATCTTCGATTTTTTTGAAAATATCTTTACTAGAGACCAGTTTTCATTTGAATTTTTATCGATTTTTTTTGGATTCCAAATTTTTGTTCTTTTTTTGGGACCTTGCTTGTGTGTTTTTTGCCGGCTGTCCTTCTGTCCTGCCAGCCAACGGTGACCTTTTCTCTTCTTTTTTCTGTCTGAAGAACTCAATTTTCCCGCCTTTGCTTTCTTCGAGATTTTTGCTTCCATTTTTCATATCCGCGCCAGCTTTTTCTCTCCCCTCCAGTTTTTTTACCCATATTTTCGAGCTTTTTTCTGTGATTTTCACCCCCAGAAATTTTTTGTACCAAAAAATTGATGCTTTTTTTTTTTCTCGTTATTTCCAGCAAAATGCTTGGGCAAAGAAATAAACTCTTTTCTAATTTATCATTCAAAATTTGAGACCAAATTGAAATCCCACGCAACTGCAAAGTGGCATTTGACAATGCACAGCATGGCACGCCTTTTCGTCTCACCCGGGGGAACGCGTATTCTGGGACCAGAATGAGGAGGCGGTGGTGATCGGAGAAAATGAAGTATGGACCACATCTGGAAGAGACACCTGATTTTACGCGCAAAAATTTTGAAATGTATCGATATTTTCGGTCAAAAATCAATATTTAGCGATTATGGGCACATGGGCTTCTGGCCTTCCTCATTGAATATTCGCGCTCCATTTACTACCAACTGCCTGCGGACACTGACGCGTGGAAAAGTGTGGTGTACCTCCACACGGGGGCCACAAACATCAGTTACCGCTTACAACTAAAATCGAGTCGTTACGCGACACGCAACTCGCCATAAATCTACACAAAATCTCGCCGACCCATAATGGCGTAGTTCGGCAAACTCTGCCATGACGTTCGAGTTATGAGCGAAGCCAGAAATCCGTGCTATGAGGGCAACGATTGAACAATCTGAGTGAAATCGTTTCCATACAAAATTTTTTGAAAATTTTAGTCTGAAACTGCCTAAAACTCGAAAAGTTATCTATTTTCAGGTCTAATTTCTGAGGAATATTCAAAAATTGCTAATATTCTCGAAACAAAAAATCGGAGCCAATACATTTGACGCGCAAATGTTGAATTTTCAAATTTACAACCCACTAGCGGGATTCTGGCTTCCCTCATAAATCGCAGTGGCAGAGTTTGACTAGGCCATTTTTGCAAGTGTCGGAGAGGTTTTGTATTTACGGCGCGTTGTGTGTCACGTCGCGGCTCGTTTTCACTCAGTTGTAAACTTGTTGTATTTGCCCGTGTGGAGTACACGGAGGACTTCTTCCACGCGTTGGGCATTTGTCAATGGAGCGCGAAAATTCAATGAGAAGGCCAGAACCTCGTGAGAATCCTATACATTCTGAGAATGCGTATTATGCATCAAATCCGACGCGCAAAATATCTCAAAGCGAAAACTAGAGTAATCCCTTCTATAACCCTAATGTAGTGCTTGTGTCGATTAAATTTACGGGCTTTCGAAGAAGTTACTTTTTTAGTTACTTCGTATTTTTTTTCATTTGTCTAATTTTAATATTCTATCGATAAAGGAATGGGTTTTTTTTTATTTTTATTATCGAGCCCGTAAATCGACACCAGTGCTACAGTAGTTATCACTACGAGATATTTTGCGCAATATATTTATAAGAGTTGGCGGGCCCGGCGCGCCCGCCATTTGTAGGGGTGTAAGGCGAGTCCTTGCGTAGGTTGTGCGCTCGACTTCACGACCCTTAGAGGGTTTGTGAAAATTTCAGTAGGTCAATGGGATCCGGTCTTCTTGTTTTTTGAGTTCGGTTAGGACCAAAGACAGATGCACCCGATGGATAAATCTGAGTTTTGATTGTGGAGTTTGGGGAGGCTTTATATTAGGGGTCGTAGACGTACTATTTTGTATAAAATTGAGTATTTCTATTCGAATCCCGATTACTCACAAAAAAACAAAAAAAATTGACACTTGGTAGAATTGAACCAACTACCAAAATTTCTGCAGTCATACGCACTAACCACACGGACATGCGGACGGAGACACCTTAAACTGGGATGTAGGGAAGTTGTTCTGGAGGAAGTCGTCTTTCGATTCCGCTTTCTTCAATTATTACTATTTGGGGAAGACGTTCGAAAACCGTTTTAATCACTGATAAGTCAGCGGAAAACCGAATTTGTGAAAATGTTATCACAGGATTGTACTCATTGTGGAATTCCCGAAAAGGAGACGGACAGTTGAGGGTTATATCTTGTACACAAAGACAGATGTATACAATAAAACAAGTTTTGGCCTGAAAATTAAAAAGAATAATATCTCTTGGCCATTGCTAACGCGCCGAAACTTCATCTTCCATTAAATAAAATCAAAAACTATGAATTAAAAATACATTCCGCGAAAGTGGCAAAAAAGTGTTCAGGGGACCCAGGAAACCACTCCCCCCAGTAACATATTTTTGAATTATTTTTTTCTTGAAAAATTTTCCCACTGAACTTTTTACAAATTTTATGTCTCGATGCGCGTCTGGATGAGACCTACACGTTTTAGAAAACTAAGAAAACTTTAAAACTGATCGAGTTATGATTGAAAAAGTAGATTCTAGCAAAGATGGGAAAGTGTGCAAAATTTGGCTACTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTCTTGTGAGTTAAAAATCGTGTTCAGCGTACTTAGGTTTTACGTGGGATAAAGAAAGAAAAATATCAAAATAGATGAAGTAGACTTGAGATAAAGACGAGAAAACTACTTTTTCGGAACAAAATTTTTTGGCAAAATGTCATTTTGCCTTTTGTTTTATCACAACTTTTTTCCGTTTGCCGGACTTATGAACTCAAACTTTTTTTCAAAAAATCAGTCTCTCTGAGTAGTATCGTGCACAAGAGTTTGAATCAAAACAGAGCAAAACCCAAATTTTAACTCAATTAAAACATACTTTTGTGGGGGTAAAAAGAGCAACAAAAAAATTAACTGGGGCAAAAGCCGTCCTAGAGGGCTCAATTTTGAGCCTCCTGGAACTTAGTGCGCGTTTTCTGCTCCACTGTGAAAATATTTCTAGTAGGATTTCACAATATTAGAGTGTCATGAAGTGACACGGTTCAGGAGTTGTGAATGAAAACGAAGTGGGACATCGCAAGCTCAAAATAAACGCGAAAAAACGCGAAAGAGGGGTGGAGTCTGTACACTCGGCATTTATTAGAGGCTGCTTGGCAGAACCGACAATTATCAATTATGTATATGATACTATAAGAATTATATTCGAATTTCACGCTTAGGTTTTTAGCAGCATAGCCGCCTGAAGTTCGACATTTAAAATAAAAACACGAAATGTTTAGTACGTGACAGCCAACGTGGCAACAAATGGAATCTCATCGACAAGTCCTTCAGAATTGAATACCATGGAATGCAGCAATTGACGTACGATAAATGACCACGAATTCACGTTTTCAAGCGATAATTTTTTATTGAATGACGTGGTAGTTTGGTGGCACCTGAGCGCTGTTAGCCAAGCCACTGTTGGTAGAGTTAATCGGTAAACACCACCCGTCTCGGTTACTCCACGCTTCTACGCCGCTAAAATTTGGTTTTGCATTTCCCATTGGGTTACGTTTTTGAAACGGGTTAGAAATGTAGAAAATGGGCAAATTCTAGGCCATCAATTTTCCTTTTGCATGTGTGCAGGAAATTGGCTAACATTCTAGAATTAATTTTATAGAAAGTGAAATTTTCGCAAAATCAATAATCCGAGAAATCGATAAACTTTGATAGAATCTTGTTCATCAAAAACAGATAATGTCCGAAAAATTTCAGAAAATTATTATTTACAGTCTCCGTTCATTTCGTGGCCTAGAAAGTTATCGATTCTAGGCTATCGAAGAGTTTTTCCAATTAGATTCACGACCACACGTACATTTGCATGTAACAATTGAGCGCGACAGGCTTATTTGAAGGAAGTCGAAGATCTTCAAATTTTTCGCGACAGATCCGACACTGTGAGCTTTGTCCCGCCGAGTTTGAGTCCTGATGTTCCGATTTGCCATAAAATTAACCTTATTACCATCCTCGGTGCCTGATAAGAGCCCGTGACGACAAATTTCTAGGCAAGTTACTGCTCCGTTGGTTATCTGGAATAGATCGATCATTTGGAACTTGTCGATTTTAAGAAACATTTTAGTGTACTTTTTTATGGGCAGAAAACATTGTTTTTTTTAATATCCCTAAACAAAACTACTGATAATTGTAAAAAGATCAATTTTTTATTGTTTGAAGATCTTTTTTGAGTTCCCTAGCTACAAAATAAACAATTTTAGAGTTGCAAAATTGTGAATTTTAAAAATAAATTGCACAATTTTGCCATTTTTTAATGGTTTTTGTTAAACCGAGTTTTTCTGAATTCAGCATACATGATTTACCGCTTTTTGACATAATTAGACAACGTTTGATATTTGTCCAATTTTTTTCAGCCATCTAATGACTTTTTTTGGGCAACAAAAGAAATTTCCTAAAACGAAACTTCAATATTCTGAAATATTGTGAAATAGTAGATTTTTAGGGCTCGGAGATCAATTTTAAGTGTTATTCTCTGGCTACAAAATGCGGAAAAAAACGTAAAAAAGTTTCGTGGTACTTGTGGATTATACCCCCGCCATTTTCAAAATTAATACAATTTCCAACAATAATTTATTTCTTTAAATTAAACGTGAGACCATTTTTCCTTTTTTGGTTATGCTTAGGAATGGTTTTTTCGCCTGGATTTCCACACGTTCTTATTTAATGAGTTAAAATATTAACTTTTAAAATGGCGGGGGTGTAATACAAATTCCAAAGTTTCTAGGCCCCATTTGCTGGGCCACAATTTATAGGCTACAGTTTCTAGGACTTTCCCTGGGAACATTTTCAGAGTTAGGCCACATTTTTTAGGCCCACATTTTCTTAGCCAAAAATGTACTCACAAACTTAGCAACGTGGCAATTTCATAAAAAACCTCATACCTTCTTCTCGAAAATTATTTTTCGAACACATTGAGATATTTCCGGAAACGTCGCCGAGAATAAAGTGGGTCGATGAGTAGAAATCTGCAGAAATTGCACAAACCGGTAGAGGAATCGAGAAGTCTGAAATTCTTCTTTTTTAATGCAATTTTAATCTCGGACCAATCAGCGTTTTGCCACGTCTTTTTTTTTTCGAACCAATCAGAGTTTGGTGGGCGTGGCTAGCTGCTGATTGCTCAGTTTTTTTACCAAAAGGCCTACCGTAGAAGAAGAGCAAAAGTGCTCTCGCCTGGTTGATGGGAACAGAAGAAAGTTTCATTAGAGATACCGCCGAACATTAACGTTTTTCGTGAAGAGCTTGAAATCATTAAAATGATATTTTCATTTCTGAAATAATTCATTTTTAAAGGTATACGCCAAACCACCGTTTCCTCTTCGACATGGTACTTCTGCACAGTTTCCAGCGCAACTTTATCGAATTTGTGAAATTCCAAAAGCTCCTGTCCTAGTTCACCTTAGAATCGTCACGCACGAAATCGTAAAGGAGGTTTAGGACCTAAAAGTTTGAAAAATATGTCCAAATCAAACTGTGAATTTCTACGCCAATGATGGAAATGCTCGTATGAAAAGCGACGAGCAACCTGTGGCCTATTAATTGTGGCGTAGTATCTGCTGCTCACCTACAAGATGTGGCCTAGATAAAATGTTCCTAGAGAAATTGTGACCATGGCCTAGAAATTTTGGCTAACCGACATAGAAATGGTGGCCGAGAAAGTGTGGGGGCAAAAGTTTTTAATTTTCATTTCGGTTTTTTTTTTCACAAAATGGAGAATTTTTTGATTTTTTGAAATTGAATGGGAAAGGTGGAAATATTGCTAATAACCACCTCTTTGCTAATTGTAATATCCTTTTCCACATTCTCGCCGTACACCATCATGCACAGAATCCGTCTGAACTTCTTTATTTTCTTGAAAGTTTGCCACGCATTCTACGTCTCTGCTTTTTTATTTGTCTCTATCGTCTGCGTCTTCCGACGTCTTATACACTATTTCTCCCTGAGGCGGATAGGTTTTCTCGTGAACTGGAAGAGTATGACGTCTGCCATTATTAGCTGAAAATTTGAGTTAAAACTGCTCTATCACACTAAACACGACGACACTCGTGGCCGCGGAAATTGGGAAACTCGGCCACGTAACTTGGTTAAATTAATGAAGATATTATAAAAAACTTCCGAAAATTTGAAACATTTTAACTTTTTTTAAAAAAAAAACACATAATGTTCCTAAACTGGCTAAATGAACAACGCCGCGGCGGAGCTCTCCCGGTTTTCCATGCAAGCGAGAATGCGTTGAGCGGGCCAACGGATGTCAGTGGAGTAGAGACGCAGAGCAGTTGTATAAAAGGGGCGGCGAAGAAATAAATTTCTATCCCAGAGTTTAATCTGTACAAAGTTGTTTTTAATTACCGATGACCGAGTATGAGATTTGGTTTTCTAGGGCACGGAACCAAATTACGGCGGAGTAACGGTCGGTTGAAAATATCGCTTAAATGTTTTGTTTTTTCTATGAACTGACTGAAAATCCACGAGCGTTTGTTTTTTCTAAAATTAAGTTCTTACAAAAATCACCTGAGTGTTCCTTGATTTGTTTTCGTAACTTTTTTCTCGCCAACTCTTCTTTACACTACGGTTTGACAACACGATAACATGTCTGTTCAGTTGAAAGACTGACAAGAGTCTCGTAGTCTCTCGCGGACTAGCTGACGCCCTTGTGGTCTAGAATATTGAAAAACTTAGTTTCATTATTCCGCGAAATTGGAAAACTCGGCCATCGATTTTTTTCCCACGCCCTGGGGCAATATGCACTAGACCTTTCATTGTAACAAATATTTCAAAACTAAGAATTAAAAAAATCCGCTCCTACGCAATCTCCCCAGTCTTGGCGGACGCTCCCTATTTCCAGAACCTCATTTGAATAACTTGCTTCTCCCATGTGTTTTGGGATGGGATAATCTCTTTTTCTACCAATGTTTTCTCCTTACTTCTGTTTAACGGCTTTTTTTCATATTTACTGATTGAGAATAGGTCAAGTGACGACGTAATAGAGCGCGTCGAAGAGGAGAGACGCGTGGCCTAGGAATCTCTGCGATCACCACATGAAATACGTTTTATTTTCTAGGCATCTCGACCGTGCTTTGTCCTTCTATGTTGACAATTTTTTGCAAGTAAATTCCCGTCTGCAACAAGGACACCGCACACAACACAAAATAGGTGAAGGTTCGATCGGATCTCTTTTTTTCCAGAGTCAGACAACCAACACACAAATGATGTGGGTCTCTTCCATTTTCCGGTCGTCAATTTGTTCACTATGCGCTTCACTAATTCCTGCTTTGCATTTCAATGTCCGTGCCCTCTCGGGACTGGAACTGACTTTCACCAATGTTTCTTTAGGTGGAAATTTAGATTTGGATAATTGCTGGAGCCAAAATTTGGAATATTTAGCGACTTGACCGTGCAAAAATTTTGGTGGCCGAGTTTTCTCTTTGCGCCGGCCACGTTGAAATAGTCGCCAGGTGCAAGTTTTTAAAACGACCGAGTTTTCTCTATTGCTTGACGACCAGATCTCGCTTCATTATAGCTGTCCGTCTTCCCACTTGCGTAAAAGTGCGACGTGGCCGAGAATAAATGTCAGTGGCCGAGTATGCGACATTTTTTTAGTTTTTTAGGAGGTGCGGCCTAGTTTTTTAAAACCATTGTTTATCTCCACCCAATCTAAAAAAATTTCTGCGGATATTTTAAACCATGGCCGTAAAAAAAAGCCACTCTCATATATGTTTTCGACACCTTTCGGTTTTAGAAATATATTTTTAAAAATTAAATAAATGGCCGTTATTTGAAATCCAAATAGAAATAATTTTCCAAAAAAAGTGGGAAAATTGGCCACTTGAAATTTTTTCCGAGATCTTTTTTGCGAAAAGATTTGAGGCCTAAAAAACAAAAACTCGGCCAGTATTTTTTGACCTTCCATGTGACGTCACTTGTGACTTACAATTCCTTTTCTCAAGTTCCTTATGAGAAATCGTTTTTTTAAGACCTTTTGTGACCCTTTTGTTGCATTTTCTCCCAGTCGGAAATTACGCCACGTGGAAATAGTACGGCCACACTCTTATTTTATTCCTTTGGCGTCTTTTGGGACAAAGTAACAAGTGAAATTCAAACCATGTAAATTAGATAGCCTAGACTTAGCGACTAAGGCTTGTTGAAATATTTTCGTGGTGTGGCATAGAAAAATAAATATTGGGCCATTCCTTTTTCTTCTCATAGTTTTGTCAGAAGACGTCACTGAAACCTAGAAATCTCTGTTCCAGGGCTGCAAATGGGTATATCCTCCATACCTTCGTCACAGACCGGGATCTTCCACGTCATCGACCGCGCCGAACATTGCATTTTGCTAGAGATTACATGGACCACTAAGGTAAGCTGCCTAGAAAAATAGAAAGTTCGGCTCTAATCGATTGATGATGTTCAGTTAAAAACGCGAAAAACTGCGGACGGCGAGGCGACGATATCGATTTCTCCGAAATTCGCGTGACAGTCCACCAACTTATTTCGTTTCAAGGGAATATTCGAATTCATGCCACTTCTGAAATGGTAAGGCTTGTTTTTGAGGTAGGCCACGAAAGCGTATGGTTGCTTTTAAACACGGGCCGCGGACTGAAGTATCAAACTCGGCCACCAAAAATTGAAACTGTGAGTCGCCCTGATAGAATTTTTTTTTTTCTCGGCCAAACAGCAAAGGCCGACACAGTGAAGTTAAAAAGGGAGGGTGCATTTTTTTAAATAAAAGACTAGACTCCTAATGCAGAAATATCATATTTTTAAATGAAAGATCTAGTCGGCTACGTCCGCGGTCGATTGATACAGTAGTCGCGGCTCGGTTTTCATTGATTGAGCACTGAGAAGTTTCACTTCTCCAATTTCAATTTCAGAACGATGAACTAAGAAGTGGACTACGTGGCAGCCAGTTGACCTTTACCGGATAGATGGTCCTGTAAAGGAGGTGAACGTTATTGCCGAGGTGGGGGCTCTAGAGAAACATCCACAGCATTGGGCAGCCTTCGCAGGTCAGTCCCTAAAGAAGCAGAGACTAAAATGCAAAAGTGCTCTGGTTGTGAGATAACGGATGCGCCCACGAGAATTGTCGAAGTGTTCTGAGAGAACGTGGAGAATATCATCAAAAGCTCCATAATTATAAATATGGAGACAAGACTTTACCCTCAACCTATTTGGAAGACTGACTCATCTCCAACTCCTCGAGCATCAGGCGTTTTCTAACGGCAAACTAAAATGCGAGAGTAAACAGTAAGGCATGGAAAAGGCGATCACGCAAACGGAATTGAAGAATCGAGCGAAGATAAGTGATAAAGAAGACTAAGTATGAGAGTAAAGTACGAAATGATATTGGATGAGGAATCACCGGGAGAAGCTGTGTGATAAACGAGTGTTGTTGAAGGAGGATGATGGTGGATCGAGAAGAGCTTCGCTCTTATGATTTCTCAGTTCAGGGAGAAAATCAACATGAATCTGTGTTGATGATCATATGTTCAAGTCGGAGTGAGGTCTTGATTTTAATTTAATGCCTAAATAACTTTGAGACTGAGGCAGTTCAATAGGCTATATACATATAAGTCTGGACCCAACAAGTTTGTTACAATTATTTTTTCTAGATCCTCGTTAGCTGCTGTGAATCTTCGAGCAACGTCGTCTATCGTTCATGTGTGACAGTCGTACCTAGGATGTTTCTGAAGGGGAAGATTGTGGGCGAAAGACAATGAAGAAGATGATGGAGAAGGGGGCTCCGATGAGGAGGAGATGGAGGGGAGCCTGGTCTTGAATGTGATAAGAGTGATTAGGAGCATGTCCAGGATGTTCTTAGGTCTCCATTAAAATATCGTCGATGAAAAAGCTTAATTTTTTAGATGCTAATTGGCAAATCTATACTTCAACAAAAATAAGTAGTCCTTCCCGAAGTGGAATCATGCCGAGGATTTTGTTGATTTCTTAATTGAAGCGGAGCTTAATGACTTGCCAGTTCTCAAAAGAGCTTGTGAGAGGTATTTGTGCTGAGCTGAATTCGGTAGGCTTCTGTTCAAAAAAATATAAAAATCTAATCGAAATCTTTTCTAGAAAAAAGACATCGGAAGGCACCTGTCCCTGTTGGACTTTTCAACTGGATTGTATTCAACTTGCCTGTCTGGTTATGGAGAAGTCGATGACCGTGTTTGACGGAGTTGGCGAATCGAACGCAAGAGTTTGTGGATGCTGACACACTTTTGGCCCATATCAGGAAGAATTTAAGTGAGTAGGGTGTGAGGCAAAATTGCCGAATTTGCCGAGTAGGGCATATTGCAAAAAAGTAGATTTGCCTAATTAGCCGGGCAAATTTCGAAACACTTAATCACCAGTGTGTAAAGAATCTCAGTAGTTTTGGTGCTCCAAAAACATTAAAAAATATTTTTTCACTTTGTCAAGCACGGCAAATTTGCATTCCGAATTTGTCTACAGGTTCGGCAAACATTAAATAGATTTGCCGAATTTGCGGAGTTCGGCCACGAAATTTTGAGATTTGCCGCACACCCCTGGCGTGCACCGTGAAAAGTTCTTTTTTTCCAAAAATCTAAAACTTGAGGTTTATAATGTGACCCAAAAAAAAAGAAAAGAATTCGCCGCGCATTGCAAAACCATAATCCGCCAAAAGTTTCTTTGTTTTTTTTTCGAAGTGCAGACCGGGTTTCCTAAAGTCAAAATTGGAAACACGACAGGACTTTGCCGAAAATTTAATTTTTGAGTGATCTGTTGATGCGAAAGGTTATTATACGATTTCAAAAAGCTCGGTCACGTGTAATTTTAGAGTGGGATTAGCTATTTAATTACATTTGGGTGTAATGTCCAGTAACCTGGATAAAAGAATGCAAACGCTTTCGGCCGAGAATCGGAATCTTGTGGAGCGCATCGAAATGTGCTACGTTTCGTGACCAAAAAGCAAGAGTTCGCGTTGTACCGACCGCCAAATCATTTGATATTCGGCTTAACTATTCAATAATATTGTCACTGTTTTCCTCTCTTTCTTCTTTCTCATTTTTAAAAATGAATACTTTTTTCTTTTTTTTTACTTTCCACACGACTAACTCCACAGCCGCGCCTTTTTGTCTTTTACCCCTGCTTGCGATTCCACACATTTATCAAAGCTGTAAAGACAGCGAAGTAGGAGTAGTAGTGCTTTTAGAGTACACTTTTGGCAACTCTTTTCTCCAGATATATTATATGCTGTGGATGGAAACTTTCCCAGTTTATATATAATATTATTCATTTTACATATTCCCCTTCTTATACTGCTCACCATCCAAGGTGCATCTGATTACAGCTATTCGCCGGATGGGGCGAGTTATCAAAGCACAAGTGGGGCTCTTTTGTTCATTTTCATTGCTTTTTTCATTTCCTTTCGTTTCAACATTTTTCCATTTTCGAAATTAATCGGCTTTTCTGACCCAGGACTCACGGGAGATGAAAATAAATCTCCTTTAAGAATTGTGCTTTGAAAACAATATCATACAATTCAAACTTGAAACTTCATTTCTCCGTTGTTCCCCGTAAATTCCAAGCTGTCATCCATCAACTCTTTGAATAAAAAATAATCATTTGGTCCGTCCGTCGCGATAAGGATGTGAAAAAAGGTAATACCGGCATGTTGAAATACACATTTCGTCGCGGAGTATAGTTACGCTTCGATTGCTCAAGAGGATTCTTCTTTCCCCTATCATATTTTCGGGCAAAGAAGAAATCTCTGTCACCCCCCCACTAATAGAACAAAATGCAGCGTTCATTTGGTGCGATTTTCCGTTTCAAAAAGAAAAAAGTGTGTCAAAAACCTATCAAAAAGTAACCGCCTAAAGTTAGTTAGCACCTTTTTCCATTGTGAAGTTTTCTTCTTCAAAACAACTACTACAGTTTGTGTGTGTCGTCCTATTGTTGTGGTTGTAATTGTTCGATAGAGCGCGCACAAAATCTCTCGAATTAATTGATAGTGTGTTGTAGTGACCCTTGACTCCTTTGTCAACACCGTAATTAGGAAGGAGTACACCGCCGGGCGGGCGAGTACAGTTATTATAACGGTGGAAGATTTGTTTGTTTACATGTTATTAATAGGTTAGTTGTGTACTTTAAACGTTTTTTATTTGAAAAATATTCTGTTAATTAAAAAATACGTAATTTAGAAAAATGATGACTTTTTTTCACTTTTCAAATTTCTCAAAAACCGAACCCATGGGGTTTATTGACAAAAAATAAGAAAATTTTTCTAGTTATCAAAAAATCTATACATTTTAATATCTGTAAATAGTAAATGTGGAAGACAAAATTTTGACAATGCGTGACTAATGAATTTGAGTTTATTTAACTTAAAGAAGAGGAGTAGACGATAATCAACTATATATTGCGCAACATATTTGAACAATACATATATTTTTCGTAATATTTATTTTGAAAAATGATTGAAAATAAAACACGAAGAAAACTATATTTAAAAACGTCGGTGCTTTTTTTACATCCTGTTTTTAAACGAAAAATGCAAACCAATTTTCCGAGTTTTTTCTTCAAAATATTAGTCCCTGTTCATGAAAAATGTGGCATTCTCACTTATGTAAGTAGTTGTCACATGCACTTTTTGACCAAAAATTATTTTCCGAGTAAACCCTATAATTTCCAAATCCTCTTTTTCTGAAATTTTGAACTTTCCGCAAATCGGGAAAATGTCATTTCAACTCGAATTCATACTAATTATACATCTGTATAATTATTTAGATTCGTACTTTTTCCTCCTTTTGAAAAAGTGCACAGACATCGCCGATCTTTACAACCGTCTGGGCGCAGGACCGGTGTTGTAGGCATTAAATAACTATTTTACCATAAATTTCTTATAATTTTTAGCTGAAACGGTTTTCCAACAAAAAAAAACGCACATTTAAAAGGGTTACCGTATTTCTTCTATCAATATGGCTGCAATACTATTTTTCAATGGTCTTCCCGCCCTTGCAATACTAATAGGGAGAGCAAGACCATAGGGAGTGCAATACTGATTTTTCAGAACATTTTTCTGACTGAGCTTACTATTTTTTTTGCTGAAAAAACTCGAACCTTGTGTGAAAATTCAAAATTTGATTGTAATTGGAACAAAAAGGTGAGTAATTACTTCAATTTCATGCTCGAGAAATTCATTTCATTGTTGCACAGTAGGCAAAAAATGTTGTTAACATCTCAAAATTAGTGAGGTGATTTTGTACAAAAAGAAAGTAGACGTAAGACTATTAGGGAGTGCAACACTAATTGCGAGTGCAATACTAATTTTTCGGAGGGCGTTCAAGGAGCAATACTATTTGGGATTGCCAAAAGTCTAATGGAGAAGGAGGTCATATTAATAGAAGAAATACGGTTAATTATTCGCGAGGTGCATTTTCATTTTAAACTTTGTTTGAAAATCAATTATCTTTAAAAATCCTTTTCTTCAAATTTGTAATTATAAGAAACCAAAAAACCTTTATTTAATTTTCAACAAGTGTAGTTTATAATTAAAATATGAAAATTTACAATAAAAGTTCAGGACTGAATCCAAAAAAACTTTTTAAAAAACGAAACACCTTGTTTGAACCTGATAAGCCTGGAAATAACCTGGAAAAATAACATCGATTCAAATTTTGCAAATTTTAAGCGTTTTCTAACTTCGAAAAAGTTGACCTGGCAAAAAATAGGATTTTTCAATGTATTTTATAAAAAGGCGAAAAAAAGCAAATTTTTTGAGAAAAAAATTGCTTAAATTTTCGACAAATCATTTTCAAAACTATTCTCGATTAAAATCCGTTTATAGCCATTTCTCCTTCAATTCTTCCAGGTTCGAATACTTGCTCAGAAACTAAATTTGCTCTTTTTCGTATCCACTACTATACGACTAGTAGAAGTTCTTCATTCAGTGGGTGGCCGGACTACTTTGAATCAAATCACAATTGTAGAAGGAGGTCGTGCATTTGCACGGGTGTTCTGGTCACTCCAGAAATTGAAGAAATTGAGCACCTCAAGTTTTGGATTATTCCAGGCAACTCGGTCGTTTTTGAAAACCTATTCTATGAAAAACTGCAAACTATGTGGTTGCATCTGTCTGGCTGGAATTTTTGTTTCAAATTTTGACCCAGGACATTTGAGAATCAACCAGTTTTCTTACCAAGTATGCTAAAATCCGAGTCAAAAAGTGACTTACACGGGAAAGTTTCAATTCATTGTCCGTGAGGACGTTCGCCTGTCCAGCTCATTCCTTTCTTTTGTCTCCGCCAGAACCGTCTGGGGAGCTCTGGCGAATGAGTTGAGAGCAAGCACATTGCATGAGCTAGATACCTCCAAAAGATATGTGCAGGCGGGAGATAAATTGGACGATGAAAAATCGCCATAAGCATAATTTTGGTGCGGCGAGACCCGAATAATGAGACATTTACGACTTTTTGGAACATCTTCTACGGACAGAATGGCATTTTTGGTAATTTGAGTTGTAGTTTGAGGGGCTTCATTTTTTTCGATTTTTAAATTCGTATAGACGCTTATACGCAAAAACAGAGAACTGCTATAGGCGCACGTGTAGTCAAAATGTCTTTTTGATCTTCAAAAAATGCGGGAGTTAAGACGCAGACATATCATCTGATTCGCATGGCTAAGAGCGGGCTGACGTCACAATTTTCTGGAAAAATGTTCCCGCTTGTAGATCAGGCTATGATGTGTGTGAGTTTTCAATGAGACAGCCTGGCACGACGGTAGTCACATGCTGGCAGTTTTTTTCCTGAAAAAAGGTACCTGGATTTTCGTTTTTTCTTAAGTAGTCAAATTATCGAAAGCTACTAAGCTACGTGAGGAACTTAGGAAAAGTAGGATTTTAAATTGTTTTCGGCCTCGCAACGAAAGACTCACTACTATCACCTCCAAAAAACGAAAATATTTGTCGTGCCGAGCCCCAAGGCTCCGTTGAAGCGAAATTCCTAAACTCCCTAACCGCCGAAATTAATTTCTGAGTTGATTTTCCCATCACCTTCTATATACAGTCGTTTCGCCCCGAAAACGATTTGAATTCGGCTTCTCCTCAAATCCTCATTGCATCCTCTTTCTTATTCGATTTATTTCTAGCGGACTCTCCCCTTCCCATCCGTGGCGTTATTGTTCGGTTACGATACGCTTCTTGTGAAGGTTATATGCAAACGACTACTTGCCATTCGATTCTTTCTCCACAAACGAGGTTATTCCATTTACTTCAACTAAGGAGCTGTTTTTTTCTTGTTTTTTGTACCTACATTCAAGGTCCAAGTAGTGCGGAAAGTCAAAAATCACCTCGCAATTTAATTTTTAATAACGCCCGAATTAGTGCACGATAAGTGAATAAGAACAAAATTCTAGTCCCAGAGTCGTGACGATTTAGACAGCATATAAAAAAAACGATTTTATTCCAAAGTTTGAACTGCCACTACATTTCATGTATTGAGGTTTTGAATTTCCATCATTTAGTTTTAACCACACTTTTCTTCCGATTTCCACCGCAAGCGAAAGTTGTCTTGTTTCCGAATATCTGACCGCCATAACTTGGCTAGGTTTTTTTACGACCGTGCTGCCGAATTTTGAATAGTTTATCAGCATAGACACTCTCTCTGTCCCCTTTCCAACCTCGCAAACCCTTATGTCTGTAGTTGGCATCTGTTGCAGCTTGTTTTTGGGGCAATTTTTTGCCAGCTTGTTCTACATATTAACATTGCCTGACCCACATATCTTGAGCAAAATTCCAAAAAGTACGTTTGTGGCCTAGAGTGATTTAATTTGTGGTTTTTTTTTGATAGTTTTGAGCTAAAACTTGCATGGCTTTTTCACTGTTATAAATCATTTACAAATTCATTTTTTGCTCTTTTTAGAAAAAAAATTGTTAAAATTGTGGAAAAATTTCAAAAAGGTGTTAATCATTATCCACTTCCAAAACGTCATAACTTTGGTGAAACTGTACCGGGCAGCAGCTAAATTTTTCGGAGTGATCGACATTATTTCTCTTTTATCGAAAAATTACTATGCCAAGACCGGGGACCCATTTTTTCACTTCCCTCGCGGTATAAGCCGAAGCCTTAGTCTAAGTCTAAGCCTATGACTGATCAGCATAAGCCTCAGCCTAAGCCTAAGCGTAAGCTCAGCCTAAGGCGAAGCCTAAGAATAACGGGAAACTTTTTTTGTTGCTTTTTTTTGTTTTTTTTCAAATGCCGAAAAATAATTGCGGGATATGAATTATGACTTTGTTTAGCCGTTCCCAGAGATGCTGGTTTTCAGGCTACCATGAACCTTAACGATGTTCTTCTGCCCGCCCTTTGCACACTCTGAAGTTTCCCGCCATGTCAACCTTTTCGATCGTTCGGCACGATAACGTTCTGAGTCCCGCGGTGCCCGTTAATTTCCATCGAATCGTTAGGTTTTCTCCTTCGATTCCTAGCGATCAAGCCATAATTTATCCGTACAAAATCGGATTTTCTCCCTTTTGAGATAATGATGATGATGGCCTCCCTAGACACCTAACAGTGGAGTGATGAATGTCTTCCTTAACACGTGTCCGTTTATCATTTATCACTCTGTGCTGAAAACCGGTCTCTCTCTTCCCCTGACCTTTTCGGTTTTTTGAAACAGTGAAACAGAAACGGAAAACAGGCGGTGTCAGATGTTTGACACGTTGATGTCGTAATCCATTTCGTATTAATGGTCTGCTACTATGTACGCCATTTGCTATATATGGCCATATTTTCAATAGCTTTGAGCACAAGCTTTCAGAATTGGCAATCCATTTTTAAAATTTTAAAATCGTTTGAAAACCAATATATGGGTGGAGCCTATTTCTTAACTGTCCGTAGCTACCGAAAAAGTCGGAAAGCGCCGATTATCTAATATTTACGACTTCGGCAAAACTGAAATTCTTCAGATTTTTAAGATCTTGAGAGAAAGAATTATATTTCTTTCAAAAAACATGTATTATTTAAAATTCGTTTGTTTTATTATATTTGAGCTCATTAACTCTGTATCAAATTGACAAACAGATTATTTCATTCGCAAAAATGCCTAATATCGTAAATTTGAATGTAAAGGCAATTCCCGAATTGCTGCACATCTTGGTTTTTTGAGCTTATTAATTGAATTTTTAAGAACTTTTATTTTGGTAATCTAAATTTTAAAGTTCTTACTGAATTCCGAAAAAAATTTCTTCAGAATAGGGCTTCCATGGCGTCAAAAAGCTTGCCAAACCTTAAGACGACCTCCGCTCCTCTGCCTACCTTAATCTATGTGCTGAAACATATGCTTTTTTTGCAATTCTTGATTGTTTCCTCTAATTGATAGAAATGAGAAAATTTCATAAAATAGAAAATTTACGCACAAGTACAAGGATTTAGGCAGGCCAGGCCGTGAAACCCCGCCTGCTTACCATGGAAGCCCTACTGCAGAAAATGAGAATTCTGACTGTTCAAAAAAAAAAAGAAACCAGCCGTGTTTTTCCTTGAAATTCGAAAAGTTCCCCGATATTCCCCTCATTTCCGGAGCGTTGTGTTCCCATGGTGGAACGGTAGTTTCAACACACCGTCAAAAGCGATTATCGTGTCTATTTGTCTGTCGTCGACGCGACCCATCACACCAAATCGGTTGAATTGGCATGTCGCTACCCCTTTTTTAAATCGGCAATATATTTACTTTTTATTTGACTAAGAAGTAAACACTAATAGTTTTGACTGCAAGAATATACATAACACCTTATTTCACTTGGTAAAGTAATTGAACCGTTGTAATTGAGCTGAACATGATTTACCTACGAAAAAATGCCTGTGACCTAGGGCTTGCATGTATGGTTAAAAGGGCTGCCTGCCCGACCAGGCAGCATGCGCTTGCCTGTGCCGGTTTATGCTAAAAACAAGGTTTATGCTACGGTTGAAATTATTTTTTCATTTTTAATTTGATTTTCAACTTTTGTAATCTGAAAATTCACAAAGGTAGAAAAGAGGGGGAGGCAGGCAAGTTGGCACGGCGTCAGGCCCTGAATCGGCGCCACTGCCTATCATGAAAACCCTAGTCTGAAATCGATTTGGCCCAAAGACCAATTTTCGAGAATCATTCTCCTTCCGTCCTTTTTACGCACTTTTTTAATGAATTTGAAGTGAACGTGTAGTCGAGGGAAATTTAGTGAAACTACTACAAGTCCACGGTTTTCAGCAGCAACTTTTTTAATTTCGTAGAAATAGGTGCTTTTGTGTTAAAATTAATAATAGCTGAACTATTGGATAATGTACTTTAAGACGGGCAATGTCACTCCATATTTTATAAAATGTTGAAAATTTTGGTCAGAAGGGATCGACGGAAGATTTTTAGAAATCGAAAATTTTCAATTTCCGATTCCCATCAAACATTTTATAGCTCAACAGTTTATTTCGAAAGATACAAAAAATCAGAGTCATCTGTTCGCACACCGTTTTACCCCTATCAACAGATGTGTTGCCCTGCACATCTGTTAGAACTTCTCACTATTCTCTACAACAGATTTTCGGAACAGAAGGTGTGATGTTTCTACCTGACTATGAGATTCACGTGCAATTCAAAATGATTTTTTGAAATTTGGAGATTTTTGAGTTATCCATAATTCCGTCAAAGAGAGATCACAATTTTTTTCGTAGATTGACAAGAAAATTACCCCAACAATACTCAAAACAATTGTAAGTACAATTGCATTATTGCTCTTCAATTCTTAATTTGTGCTGAAACTTTCTTTTGACGTTAACCCCTGCAAAAATGCAACTAAAATTGATCAACACTCGTCTAGTAAATCTACTAACTCGCCAAGGGAGAAGTCTTTGAGGGGGTCCGTACATTTGGGGTTTTCATGCTAAAATTCCTACAGAAGAGTGTTAGTTATGATCTCTCATTTTTGCGCATTTTTAAAGTGACTTTATATTCGGGAACCTTCAGACAATCATTGTCCGCACTTTATGGAAATTTTTTTTCGTTTTCGCTCAAAATCACTAATTGATCAACTCCAAGCATAAAAAATCAAACCCCGGTTTTTTAACAAACATTTTGTTAGTTGATCATTTTTCAAAATAATTTAGTACTCTCAACGAAGTTATGCAACTCCAAACTTGGTTGAATCAGTATTTTGCACAAAGTTCGAAGTGAGATGTAGTTCATTCCGACGGTTTACTTGCGAATGGCGAGTTAAAACTTGTGTAATGTACCATACATTTCTGAACATTAAAGAAAGTTCATACATTTTTACAAAAATAAAAATTTTCCTATTTTTGCTAGGAGTTGATCAACAAATTTTGAGAAAAAAATGAAAAAAATAATTTCGAAAAAGTGCGGACATTCTAGGTTCCCGATTAAGAATAAAATCACTTTAAAAATGCTCAAAAATGTTTGAATGAGTTGTGTAAAACTTTACTTACAAAAATAAAAATAGAAGGAATCGAACCAAACCTTAAATATTATCAGACGCGCGCACTCCCAACTCGGCCACCGCGGACAATTTTCAACTGCGTCGATGTGGTGTCACCCGACATTTTTACTTCGGTGGTCACGCAAGCTGAGATTTGCGTGGACTGATAGTAAGACAGTCGATTTCAATGGGGTTCTATCAACCTAACTTGCTGAAACACATTGACCGGGGCAGCTAAATTTTTTGGAGAGATCACAACTCACTCTTCTGTAGGAATTTTAGCATGAGAACCCCAATTTCACGGACCCCCTCAAAGACTTCCCTTGTAAGTCAAACAAAAATTCTGAGATTTTTCAGAGTACTATACGTAGTATATATTTCTGAACAATTCCCTCAACAAAATCCTTTCCACTTCCTCATTTTCCCACGTAAAGTCAGAATACATTTTACTTATTACCATTAATACCTAAATGAAATACAGGTCGATCTTGCAATTCTACCGTCTCACGGCTTTTGTACTTGTTCACCGCCACTTCCCCCATTCTTTAATCCAACCACACACTTTTGGCACACAAAGTGTTCAATCGAAATGGGACACTATTTGCTATTGCTATAATCGACAGGCTGGTGGCAGGAGGAAAGCAGCAAACGACGAAAGGCATAAAACAACTGGGCGTTGTGTTAATCACCCGTATTAAGCATTCTATATTAAGCGGTCGACAAACAGTTCATTCATGTTGACTCGATTTTCGATCATTTCACAGAGTTTTGCTTCGAATTGAAGGTTCATGGAGAGATAGCCACTCTGTCTATTTTCAGATTCCGCTGAATTTTAAGATGTTTAATACTTATTTGCCACCTTTTCGACGGAATGACATGTACCGGTCGGCTAAATCATGGACAGAATCGATCTGCTAAGAGATGACAATTTTTAATGTATATACTCAGGGCTCAAATGATCGAATTGCGTAACGAATTTTTTAAAAACTTTTATCAAAATTTTCTATTGGTTCAATGTTTCGAAAAATAGACCGGAACATGTAATTCCGTACAAAAAAACGCGCTTCTATCGTGTCTGAAACAACAATCTTTTTCATAATAACTTTCAACTACAAACTTGTTCTTTACAAAAAGATCAACAATTCGATTATTAGGTGAGCACGCTGGTTTTCTGTACAAAAAATTTTCCGCGCAGATGTGATCTACCAAAGTAATTTGGAAAACCCGTCAATGCTTCGTTGCGTTTCAGTGCTATTTTAGGATCTTTGAGAGCTCACCTGCCGTGAGCTTGGCTCTGGAGATTCGCAGCTAAAAAGGAGTGACCGTTTCTTGAGGAGCCGTTTCAAGGGGCTATCGAATGGCATAGGTCTCATATGCAAGCCGATGGGCACCTTCTGACGGTTCCCTAGTCAGATAGAAGCCAAAATTTGGGCGAGGTATGCCCATTGTCATTCTAACGAAATGGCCTCCGACGTGATAACTTTTCTCTGTCAATTACTCTGGGCACACTCCCAATAAATCCTACACACCGGGGGATTTGAATTGAGTCATTCAAGTGTCAGTGGTTCAGTTTCTAGCAGTTGATACGTGTTGGGTTGTGTGGTGGTGGTCAACCTGTCGCCCGATCACTCACACACACACATACTTTTCCTGCCATATTCCTCCCCACGAAGAGAGAGAAAAAGAAGTTGCATCTTTTCTTTTCTATAAAAGTCTCTATCCACCAACACACCCTTATTCGCATGTTCTCGCACTCCATTTTCCAAACAACGCAATCAGTGCATCCAAATCTACATAATCGATTCAGGGGGAATAAACTGTGATAGTTTTCTAATACTTTTCCTTAATTGAAATTTTATATTTTTGAAATAATCGACCGAATATGCCTAATTATAATTAAAATTTAGCGAATTAGATTTGAATTTAACAACTATTGCGATGTTTTGAATTTTTGACCGGAGTATTTTTTCAAGAAATTCTCTTTGCTAACCATAAGCTGAAAAATTTTGATTTTCTAGTTTTTGGTTTGCCCGGTCAAAAAAAATCTGTAAAAATTTTGGGGCTTTTTTCTCAAAAAAAAAAAAAGAGATTCAGGAGATTTGATTCATAACTTCAAAACTTAGATGCAAAATCTTTTACGTGGTGTCGATTTTTTGATATTCGAAAAATCCGGTTATTAAACAGCTCTATTAAGAAAAATTATTTCCTGGACCTATTTTCTGAAGAATTCCTCGTGCTTATCCCACTCTACAATTTTTCGATTTTTCATAAAATTGAAAGTTTCGCCGTTCAGTTTACCCTTCAAAATCAATTTTCGACGATCCCGAATGTTCAGAATGTTGACAAATAAATTTAAGATTTTGTCAAATTTTCCCACACGTACTTATCCACCAAAATTGACAAAAGACCCTTAAATTTAATTTCTAAAATTTTCAAAAAATCGTGATCCATTCCTCCATGTCATGTCTTGCAAGCGTTGCCTCAAAGTCATCAATTGAGCTAGTTGTCATCAATTCAGCGATATTTAGAGATTGAAAGAATGAGTAACTCATCCTTGTTTCTTCTTCATCTCCTCACTTCACTTCCAATTTTCTAGGTCATCTGTTACTCAATTTGGCCTGGCGATTAGTCATCTATTTGTTCGTCAGACTTTGGTGCAAATTGTCGTGTCACTGAGTAGTTATTTTTTCTTTTTGGTTGATAAGGTTACCTGTTAAGGTCATATCCTTTTTGGCCTATTTTTCCAGTAGTATGATTCCTCTAATGGTCGTTTAGAAGTTACTAAATGTTTCGAAGTTGTTAAAGTATTAGATTTTTTTAAAATCATTAGGAATGTTTTTTTAATTAAAAACAGTGTTTACAAAAAAAATTTTATGTTTTAAAAACTTAAAATAAAGTTTAACAAATGTCTAAATTGTTAATTTTTAAAACTATAAACAGCATTGGCATTCATAAAAAACAAATTTCGACAAAAAATTCGTAAAAATTGCTGAAATCGCAGTAAAAATACTCACAACGCTGAATTTCTCATAAAATCTGGAAAATCAAGTCGTTTTACTTGATATTCGATGCCATAGGAAATTAGACAAAAAAAAAGTGATTTTATTAAAGGCTGGTCAAAATGTCAGATTTCAACAACGTTTTATAAAACCGCTGTCAGAGTAGAAAAATATAGGTGTAAAATGTAGTTAAAAACTATTCTTCGATTTTCCTTATTTTTTTCTGCTAAGTGATTGAAATTTTCACGTGTAGAACAAGAAGATTTAAATTTAAACCAAGTTTTTAAATTTTCAATTAAACATACAAAAACTACTATTTTCGAAATTTTTAATACAACAGTTTAAATTCCAATTTTTCTTTAAAACATATTTTCCAATGCTGACTCTGAATGAAGTCTTAACACTTCAATTTCAACATTCTGTTGCGACAAGTCGTCCCATCCATTGACCGATAACAATGGATCAATCACTGACGAGGGCCCCCGGGCGCCGCCATCATTTTCTCTCTCTCTCTATCTATCTGTCTCTCTCTCTCTCTTTGTTTCTAAAAAGAAGGAAAATGAGCTGCAATTTATCAAATCCACGGTCTTTTTCCCTCAAATTCTCTGCCGTCTCTAGTCTTCTCTCATGGTCATTGTCGCCCTAGGACATTTGTGACTCACAAAATGTGCCGTATTATACAAAAATAATTAAAGTTCAATGCGTATGCGTGGGTGCATTTGTTGCATGGGTGAGGGCAAAAATTAGCCACCCACAACAAACTTAACGTTTTTTTTTTTGTATTTTGCCTTTTTCTTCTTGATGAATGGTGCACATTACACCTGTTCTTTGTTACGGAAAATTGGGCGCAGAGAACTAACTGAGGTGTGAATACTTTGTTGGTTTTTTTGGCTATACCTATTAGTAACCTTTTGAGTATTAAAAAGAAAATTTGAGGCATGTTATTTGTCGAGTTGTTGGTAGGATGTTGATAATTACTGTCATCGTGATATTCTATTAGAAATTAATATTTATTTACACGTTTTAGAAGAATTGGGGATTTTTATGCAAATGATCCAAAATAATCTTTCGACAAATCACGACGGCCCACACTGTTTTTGTCTTCAGCCAGCAATCAACGTATTCAAACTCCGCCTACTCTGTCTGATTGGTAGGAAAAGTGGGCGGAGCAAATTGCTGATACTTTTTCGAAGTTCTCGACCCTTAGCAATACCAGAGTTCATCAAAACTGAAATATTGCGTTTTTAAAGGATATATTATTAGTATTATTATTTACTCTCGATTTTTTTATACTATTCTGTGGTTGCTCTGAATTTCAGATTATTCGAGATAGTTTTCGATAAAGCGACAAGTGATTGTTCAGTTTCTGATTTCCATAATTTATCCTCTAAAAGGTCAAGGTTTCGTTTCTTTGCAAAAAACTCATTTTTTTGAGAGTTTTCGGAATTTTGGCTAGCCTCTCCAATAAATTAATTCAAAATTTCGGAAATTATTCTTCCATTATATCAATAGTGTTAATCTCACTATTCTAATTTGATACAAACAAATTGACTCTTCATCGATTTCCAGCCAAATACTTTACATGCTTGGCAACTGAAAATTAGTGTTGTTTTTCAAATTCTCAGTTTCCAGCCACTGAAAACATGAGCCTCCATTGGGTCCGTCCCTCTCCTTTAGCCCTTCCGAAACTCATTTCCCAGTACTCTCTCCAATCTGGTCAACATTTGAAAGGCTGTTGGGGCGAACGAAAGCCAATTAACAACCGAACAATAGTTTTTTCCAATGTCATCGAATCCTGGCTTCTCATAGCCAAAAATGCTGATGACTCGAAATTGCTTTTCGTTTGATATACACACACATCATCCTGTGCCACACACTCTTTTCCCCACTCTTTTTCACGAGCTTTTTCATTCGGAAGGCGACAGAGATCAATTACCGACATATGGAACCAATCGAAGTACTCTCTCCGCTGCGACTACCTAATTAACCCTTTATTGAAAAAATGAGAGAGAGACAGAGAGAGGATATGAACGGAAGAAGGAAAAAGAGGCAAAGCAATTGTTTATTGTTTTTCGAAACAATTCAAACTTTTGTTTGGGCTGTACGCCTTTAAAGATGGAAAAAAAACGGAAATTTTCCAGCAATCCGTAAATTTTTTTGTCGGCAAATTGTTGGCATTGGTAATCGGCTAATTATTCGCCGATTTGCCAGAAATTCATAATTTCGGCTACTTATGCAGGTTCGCCTATTTGCCAAAATTTTTCATTTTCGGCAATTTGCCCGTTTGCCGTTGCCGGAAGTGTTTAGAGGAGTTGTTTATGAGACGGAAGCACTGTGCCTGTTTGCCAATATTGAAATTCTGAAATTTCCAAAAAAATGTGCACAAGCACCGCCAAAAACTTTTTCAGTTGCCGGTTTGCCGGTTCGCCGGAAAATTTAAGATCCGGCAATTTGCTAATTTGCCGGAAAAAACCGGCTACCGCCCACCCCTCCACCGAATTCGGAAATTTTGTAAAAAACAAGTTTATTTTTGGGCCAATACGATACTACTTTTCCTAAAGAAGCTTACAGTAATCAATGTATTATCTTTTCCATCTCGAATGGTACCTGTGTTTAACGGTCACATAACTGTGACGAGTACTTGAGATGACAATACTCTTATCATAAAACCTCCCCGCTCGTTATACCCCTCTGCTTCTCGGGTGTAGGGTTACCGTGGTTGCTGACGGTTTCGTAGGGATTACTGATGTCAGAGAATTGGATGAGTAGTTGGGATTAGGAGATTAGGGAAATTGGAAGACATGTCTATGCACTCCATATGTTTCTAATAAGAATCCTTGGAAATCGAATTGCATATAACTCAAGAATGGATAGCTACTGGTCCTGTTTCGTTTTGTTATCTTGATTCTTCGAAATGGTGCTCACTCACTCGAAGCCCCAGGACGCTAGTTATTTTCGTAATCGTCGCGTTCGTTCTCGAGCTCCTCCTCGAGTTGGAAATGTTAAGTTGTGAGGGCTATCGCGTCCACAGATTTATAGAGTCCGTCGTGCGGTTTCGCTGGGTTCTCGCAGCAACCCCCTCCCCCCGGCACCCACGCAATATCGGTGCAATCGCGTAAACTTTTTGGAGCACGCAGCACACAATGTGCGCGGCTCAACTCTGTCTCACTCTTCGGACATCCAACATATGGCACTCCTCAAAGTGTTCACTGGCCTCCGCTCGGAAGTCAGGCGAATTTATTCATCTCTTTGGAGATTGGCTCACAATTTTTTTGATTTGAATTCAGTGACTATTTATCGATTTCTAGGGCTTCTATGTAGGTTGCCTGTGTGCCTGTCGTCTGACGTTAAGGCGTCCTCCGCCTGCCTCTTCGCCTCAATCCGTGCCTTGTGCCAAAACATACGAATTGTAAAATGATTCTCAAATTGATAAAAATGAGAAAATTAAGAATTTGTGAAATTCAGACAGGCGGCAGGCAGATCTCAGACAGGCATCAGGCTCAGAAAACGCGCAACTGTCTCCCATGGAAGCCCTACTGATATGTAAAGGAGATATTCGGTTCAGATAAAATAAATTGAAGTTACGCGAATTCTGAATTTTGAATATTTTCCAATAGTTTCTAATAGTATGGGTTAGATGTTGCATTCTAGATACTTACAAAATTTTTAGAAAATTCCGTGGTAAAGTTCAAAGGACACTCTTTGGCTCTGAATATTGGTTAATAATATGAATCCGTTCTGCTTTGTTTTCCGTACTCCAATTCTTGACGTTGATATGAAGCCAGCTCGAATAATAGCCTCGCACGTAGTCAGGCTGTCCCAATACGGTTTGATCGACAAAAAATGCTGGAGTTGCCCTTCAAAATGTGACGTAAGCGCGCTCTTAACCATGCACTATAAAATCAGTTGAGAACTCTGTCAAATCAGCTCCCGCATTTTTTGGAGATCTACGTAGATCAAGCCGAACGGATACTGGTACTCTGTCACCACGAGCTCCTAAGCACTATTGTGCAAGGACACGTCTTATTTTCTGAACCGTCAAAAATTGGCACCGTTTGAGAATGAAAAGATCTAAAATTTTCTGAGTCTGTATTTTTTTCTGTATATAAGTCCTACCGAAAGGGTCCCCCGCGCTAATAATTACCCGCTTCAAAACAATGTGTACTACTAGCCGAGATAAGAGTTTTGTTGTCATGATACAACAAGATTTCGATCACCGCCCATTTTTCTTGTCAAAAAGTTCCGCTTATAATCTCGTTTTCTGATAATCAGAGATACTCTATGGGAATTGGTTGAGATCCACGCCATTAGTGAATGTTCCCCCAATAACCATGGAGCGTTAGAACAAAGACGAAAACCCGCCAGAAGACACACATTCTCGAGAGCAGGAGAAAAACGAAGAAGTGGGAGGGGAGCCCGCGGGGGCCGAGACTTCCCACTTGCCGATTTGTGCAACGCAATATCGATGAGGAGTGCTCCGTCCATTCGATACAGTCTTGCACCATGTTTGTTGAGAAATGCTATTTGGGTGGCTGGCAGAAGTTATTGGTCCAATTTTCTTGTCAATTTGATCTGACAGATTATAGGTTCTTGGAATTCGACTCTTCACCGAAAAAATCGATAATTTTTCGGAGTTTGTTCAATTTTTCAGTTGAACATTTAAAAGTTTTACTAAATTCGATTCTAAATTTTAAAGCACATTTTGACCTAGTAGGACTTTCGGAATTTTGTAGCCTGTATAAAAAATCGGTGGCCAATTCTATAATTTTTTTTCGTTTTGAAATTGCCTTTTTATGAAGTTTACAATGTGGAACATTCGACTTTGAATGACTTAGTTTTTCAAATTCCACCTAGGGTCAGAGTGTCCCATCCCAGTTTAATCGACGTTGATCTACAAAAATCGCGGGAACTGGTCTGACGCAGAGCTCGCCACTGATTTTGGCAGGGTTAAGACTTGCTGACAGCACATTTTTTCCTGGAAAATTTTCCGCATTTTTTTGTAGATCAAACAAATTTGATATTGCCTCGAGTTGTTCGCTATAGTTGGCTAGTTTTGAAATCGTTCCGGAATTTCTTGAACTTCGAGTTCTTGAAACATTTATGTTTTCACCAGTTTTCTCTGCGTGTTTTTTGACTGTTCGAAAAAACGGTTCTTAGAGACTGCTTTGCAAATTTCGAATTCATCCAAAAAAAAGTGAACAAATTCTTCGTATTTTGCTTCTAGAATTTTTGGAAATCTCATTTAAAATGAGTTTTTGTGAAACATTTTAATCTTTAAATAGTCAGAGTTACGTCAACCAATTCTATTTTTTGAGGAAGTTATTTTGAGAAGAAATACAACAAATCCGCAATTTTTTCCTTCCGAATAATTAACACAATCCAAGATCCCCCCTCAAACCGGATGGCATTTATTCGGATCCCGGCAGGTGTTCGAATGAGATTTGTATCCATTAACACATTGTGCATCACATAGACACATTGTCAACGTATGCACACAACAAAATAACTGCGCTCGTTCGCACCTCAATCCTTTGATGTTCTCCGCCGGGGGCTCCTGTAAGGTCAGGAGTTTTCTAAAAATGTTGCCTTCTTCTCCGTCTTCTTCCTCTTCATCATCGAATATTCCAGAGGGGGGCCGACACGCTTCACTTGATTTTCGATGGCAATTTGTTTGAAGAATTCATGAATTCGAAGAATTTATTTGGGAATACTCTATTTTGCTTTACGTTTACATCCAACTTTTGGCAACTTAAGCGCCTCCAACTGCAACCATATGGTGCTCAATGAGCCGAGAGGGATCATCTGTGAATTTGGTGTTTTTTATTGGTTCCCTATTTGATTGGAGAGTTCATTTTGCATACAATTACCTCTATTTGGCTCAGGGGTGGACGGGCACAATCCGTTCGGCATTTATATTTTTGCCGACAACTAGGGCAAATCGGCAATTCGCCGATTTGCCGGATTGCCGGAAGTCTTGATTTTCGGCCAACCGGCAAACATCAGCGTCCTATTTTACTATTCAAGATAAATGTAGGAACATTCATAGGATGCGGATACAATATTGCCGATAAAATTTAAATTCTGATCAAAAAAAATGAACCACAATTTGCCGCAAGTTCTAGCCGTTGCATTTCAATTCCGGCAATTTTATGTCCGTAAAAAATTGCCGCCCACCCCTGATTTCTATCAGTCTGTCACCGATTCTAGTGAGCCGGGGGGTCTTCCATGCAGGATGAATCGGTGTCTGCTACATTAATTGCGCAATCCACATTGATACAGAGCAACCTGCTTGCAATTGTTTTTCTGTGGCCCGTTCTGGTTACACCTATAAAAATGTGGTCGAAGAATCGTATAATTTGGGTCATGAGATGGTCCCTGGGTAATTGGAGAAGTGCCGTTGAGAGAGAGAGAGCCAATTACGTATGAGGTCTGGTTCCTCTGCACTCGGGAAGACGCTATAACCCTTCGTGGAACTTTTGGCGGGAGATATCAAGAGATATTTTCCACTTCGGTAATTATCGCACTTATGGTACTCTCTTTGTGAATGATTTACCTATAATTTATTGAGCAGTTGTGATTATCCTATTTTGAGAACCTAGAAATGTCATAGGAAACGTTTAATCGGTGAGTATTGTTTTACGTTAAGTTGCTCCGTTTTTTATTTGACTAGCTCGACACAGCACCTTTGAATTTTACATTGGTTTTGGCCAAAGGTTTTCTGTTTACTTTTATTTTGCAGTCTTATTGATCTGGCCTGCTTTACCGAGCTAAGCCTAATCCTGTCCCGGTTACAGTCCATAAGACAACATCAGCTTTTGAACTCAATAATTGCCGAATTGCCAAAATGCCAAAAAATTACGATTGCTGCCCGTCTGAGTAAGTCTGAAACAGTTGTGATTGAGCCGAAACCTACTCGGAGTGGGCCACTTCCCTATTTAATTTCTCGGTTGATTTTCACACTTCCCGCCGAGAGCCCGCAAGCATCTGCGAGCTGAACGGTTTCGTCGTCGTTTTTCATGTCTATTGCTAAATAGGTACGTGCGCGTTACACACTCATAAACATCAATTCTTTCATAAAGTGGTGGATAAGTCGAGTGGATTGCATCTGACACCACACTTCCGATAATCGCTTCGTCTTCTTGTCATCATCGTCGTTTTCTTCTTGTTGTCGTCCGGTCCCCACACACACAAACGGCTACTTCCGACGCGTCGGTGTTGTGTGTATGTGTCAAACGGCACCACCACAAGTGATTGCCCTCGGCCGTGTGCTAACTCGCATTTTGTCTTGTAATCACGCAATAGTGATAACAATCGTTTCCGGACCATTGCTAATATAATATATTGGGGCTACTGCGGGCACGTCTTGGCAATAACCTGGATGCAAGTTTTATCGTTAAAATGTGAAGCCCATGTATGATTGCGAAAATCCTAGTTGAAGTTTTCCCATTCAAATAATGGCATATTTGAAACATTTCGAACTTGAAGATTTATATCTGTCGTAAGTGGAACGGTTCATTTGGTTTCTTGCGTCTCGTCGCGAAAAGCTTTCACTATGGTATGAAGCACGAATGGGGAAAATCGAAGTCGAAGGTCGGCTCGATTTCGGCAATTATCGAGTTCAAGGTTTCGGAAAAACTCAAAAATAATTTTCAAATCTATTTATTAGTTCTGACACGCGGACTCGGCAAGTCCCATTTCGCTTTGATCTACGAAAAATGCGGGAGTTGAGAGACTACCGCAAACATCTCAACTGATTTCGCATGGTTAAGAGTGTGCTGACGTCACTTCCGGAAAAAAATACCCGCATTTGTAGATCAAATCGTAATGGGATAGCGACGTAGAACAGACTCGCCAAATCGATATATGCATAATGAAAACTCTAGAACACTGCCACCCTCATAAAGTGAGTGACAAACATTTCTGCTTTGAGGAACTATAGAACCCCCTTTCAAGTCGATCTTCACGAGCGCAAATTCTAGAAAGATCTGACAGTGGCCGATTTTTTAATGTTTCTAGGCCCACGTAAAAAAGCTATCTGATGCCTTGTTACATTCCAATTCGAAAATATCCCTTTTTTTAATTTTTCGGCAGCAGCCCGGTCCGTGCCAACAACTTACTAAACCCTTCAATACCCTGCCCTCCAAACTTCTGGCCTCCCGGCTCCGTGTTGTTCAGGGTGTTGTACCCCCCCTAGACACCCAACTGACCATTCACTCGTCCTCCCCCTCTACAAGAACCACCACCACCTGATCCATTCCGCAATTATATTCCGGATACTTGTCATACAGAGAATACCCGGTTTGCTGCTGCCAAACGGTTTTCATTTACCATTTCTCACTCCTTGATTGTTGTCTATTCTTCGATTCGATGCGGCAAAACTAGCGCCTGGTTTGGGATTGCTTTAATAGTAAAATTTTTTCTTATTTAAATTTCCTATATTTTTTGTATAAGATTTTCTTTTTTAATTGCCAATCCATGGGAACGTCTCAAATTGCATAAAATTCCAATTTGAATTCCCTCCAAGATTTCACGATGGAGCGCACTTGAATTATTATAATTTTTATCAATGAATTTTTAGAGTTATCATCTCTGACTGATTTTTTTCTTTGTTAGTAGTTTTAGAGGAAAAAATCCAAGTTAAATGGACATTTCCTATTAGTTTTACAATTTTTGGACTACTTTCCCCGCCGCCACCGCTAAAAATCCCAATGCAAGTTTTCACCTGCTCTTGCACGACTCATTTCCGCGAGCGCGCGCGCTCGTACTTTTTATCTTTACTATTTATATATCTCAAAAAAAAATCCCGTTAATTTTTTTTCCCTTACAATCTCATATTTTACTCATTTAGTTTGGCTTATAAAATGCTAAGATTAAAATTTTTATATTTCATTTCCAGATCACATACACAACGAAACTGAGGGGAAAAAGTTATTCCTGATTGATTTTTATGATTAGTAAATAACATAGTTCGGCCGCAGCTAACGGTGACGAACGCCCGCAATTATGAGTTTTTCGCTTAAACATCAGATCTTTTTCGAATTTACTGTGAAAAAGCGGGCGTTTTGAATTTTCCGACTTAAAACTGCTTTTTTTTGCAAATCCCGACTTATTCAGAGAAAAATAATTCAAACTCCATTTTTCAGCTGTAAATGTGCTCCGGATCATTCCGGTGGAGCCGACGTCTAAACTCCTATTATGCGACTATTCTTTGAAATACACGACAATTACAACTATTGCGTCGTCGAATTATGATCAGGTTGCTAATATTCGGTGAGGTTTTTTGATTTTTGAATGCAAAATTTGAGTTTTAAAAATGGAAAAAATGCGATTTTTAAATCAAGATATCGGAAAAAAAAAATTTCCAAGAAAATGGTGGTTTTTATCGGGGTAAAAAAATATTAGAATAGAAAATTTGGATTTTCGAGTTCGAAATGAAAAAAAAAAAGTTTTGTTTTACACTAAAATCCCCATTAAAATTGGAATTTTTTTAAGAGAAACATAATTTTTCAATTTCTAACTGTAAAAAGCACACAAAATTTCTTGAAAATTGGCATTTAGTATTTTTTACACGAAAAATGCATTAAAATTGAATTTTTAAAACAATTTAAACTTAAAAGCTTAAAAATTTATTCTACACCGGTAAATGACGAATATTCAAATAATTAAAACTTCGAAATTGTAAGTTAGAAAAAATCAAATTTCCTCCTTATTCTCAATTTTTTTTTGACAGCAAAATTTCAGTTGAATTTTCCCATAATTTTGAATTAAAAATGTGTTTTATTCCAAAAGAAAACTATTTTACAAAAAACTAGATTTTTTCCCAATTTTCTATGAAAAATTTAATTTAGGCCAATAACTTATTTTCTTTTTCCAGATCACTAATCATATCTTGTGGTAATAATAATTTCCAATTTCCGGATGCCTACTTCAAGTCCTTAACCGCGTTGCATCATCTGCGGATAGTGATGAGTTATGATATTATCAGCTGGGGGTGTACAGAACATCTGCGATTTTTGCGTGGAAATTTAGAGGTCAATTTTCGGAAAAATTGGAAAAAGTGGGGCCTAAATCTCAATTTGAAGTAGATACGTGTTCAAAACTTTCAAAAAATTCAATCAAAAATTCGATTGGAATACTTCAAAAAAATTTGATTTTCTTCGCGAAAGCCGGTAAATTACAAAAAAAATTCGTTGGCGATTTTTTGGTTTCCTCTAGTCAGAAAAACAAACGAAAATTTTAATTTTTAATTATCGTTTTAATTTTTCCAAAAAAAATTTTTAAAAATACATATGTTCATTTAAATTTTAAAAATATCGGAAAATATTCAAAAAATGAACTTTTCTATCGCAAATTTAACAAGAAAAACTGACGAAAAGTTCTTTCAAAAAATTAAAATTCTTCTATATCTTAGAAAGGCTAACAGTTTTCCCATTTTTTGACTCTTTGAGCAAATGTATCACGGTCTCATTACCATAACCATCCAAAAAGAAAGATGTGTCGTCTTCTATTCATCCTCCTCTCGACACCAAATTCTTAAGATGAGCCCCAAGCCACTCGATGTCTCTAATTAGGCAAGTGCCCCGTGCGTCATTTTGCCATTTGTACGGCGACATATGACCTCCGGTGTGCTTGGAGGACTGCGAGAGAGGAGGATTAAGGGGATTTTTATGTTCTACAATTGATTTTTCTTTAGGTCAAAAGTAGGGATTTTAACGCCAAAAATAGAGATTTTTTAGGTCAAAAGTAGGGATTTTAAAGCAAAAAAAAAAATTTTTCGGCCAAAACAGTGGTTTTTAAGGAAAATTTAATTTTTCCGTTTATGACACCTAAAATTGGGGTGAAATTTTTTTGGATAATCTAAAATTGCAATTGTTAATTATTCCAAGATTTTTTTTTGCATTAAACGTTATTGTAAATACATTGAAAATCACTTGATCCGAAAATTTCATTTTTTTCAGAGAAATATGGTGTTTTAATAAAAGATGTGTTAAAAAACCTAGTGCATAGATATATAGATAATTTTGTACTTGAAATTTGCAATTTTTAACTTCCGACCCGAGTAAACAGAATTTAAATCCAATTTTAGGTGAACGGAAAAATCCCAATTTGCGTCTTGGCCTTAAAAAATCCAAATTTTTCGGCCTAAAACTCCTTTTGGCCTAAATCACCCTATTTTTACCCTAAAAAAGTCCCTTGTTTTTCCATCCCCAGGAACACGTAGATGAACACGTGTTAGGCGTGAAGAGGTTAAGACCATTAGCCATGTACAATACTGGAGTATAGAAGGGCTAGAAGTAGCAGCAGCATGGGGTGCTCCAAGAGCACAACCTCAACAGATGTATAAAGTGGTTTTTGAGTAGATTTGTGGTTTGCACTCGGTGGAAAATCTGAAATTTGAATTTTTTAAAGCCTCGTATTTTTGTGCTGAAAAATGTACATATGAAAACCGAAATTTCACCACCCTTTAAGTACGGGAAATCTCCGGGGAAAAGTGGAGCTCAAAAATTGCATAAAAATGGAGATTTTAAAGCTAAAAATAGCTATTTTAACAAGATTTTTTGCAGGGGAGACCACATTTCTCTGTGAAATTGTTCGAAAATGTGGCCGCTGCGAATGATTTGAACTCGATCAGGTTTTTCTTGGAAAATCTAGAAAATTTTGCTGAAATTGGCTCAGAAATGTCCTAAATAGTAGAATTTTTCATTACATTATAACCCTCTCAAAATAATATTAAGTAAAAACAATCAACATTTTTTCACAGATCTACACCGCCTCAACCTCTTTCGAAATGACCGAAGACGTCCTAATGCCGTTGGCTCGTCTCCTCTCGTAAAGATCTCCCCCACGAGATCACGGAATATCGAGCTTCCACAGCGACTTATGATTTGTGCTCGCCGCATTTACAGGTATATTTTTGGGTAATTGATAATTCGCCAAAAAGAACAGCAGCCGAAAACTCAAATTTTTCACGATATTTGCCGAAAAACTAGATTTGTAAAGTAAAAAGAATGCAAGAATTTTTAGCTTAAAAATCTCAATTTTGAACGATTTTTAAAGCAATTTCAGTATGAAAAATCTATTTTTTGGGTAAAAATTTGGTGAAAACGCGTTAAAACCTGCATTTTTAAATTCGCCAAAAATCAAGACTTTGTTTGTAGTGAATTTTACTGTAAAGAATATTGTGTACCTATTTTCTATTTTTATGCGTACTGCGCAATATATTTGAGCGCAAAATACCTCCCTTAGCGAAAACTACTCTTCAATGACTACTGTAGCGCTTGTGTCGATTTACGGGATCGATTTATAGAATATCACAATTAGAAATAAATGTGACTGCGAAAACAAAAATTTACTTCAAATATTGAGTCCGTAAACCGACACTACAGTAGCAATCTAAAGATTTACTGTAGTGTTCGCTACGAGAGGACTATTTTGCGCCTCAAATTAATGTGTTGCGCAGGATGCATTCCCATCTTGTTCTCTACATTACCACCACGTCTCACAGAGAGGGAATTAGTTGTTTATTAGTACGTGGGGGGGGGGGGGCTTTAAAGCTTTCTACTTCTTCTTTCTTTCCGCTTTCTGACGTACAACCATCTGGTATTCCTGGCGGTGGGGCAATTGAAAATGAGAACAAAACATCGATGGAGGGAGAAGAGAGCTTAGAAATTGTGATCTAAGAATCCGCGCGGAAGGAGGACGTCAAATATCACAAGCGACGGAAGTTCAGCCAGAAGCAATAAAGGCCTAATTAATGATGATGAACAACCTCCCTGAAAGAGAATAGCGAAAATGTGAAGTTTTTATCCCATCTCAAGGAGCGATTTTTTAGTGATCATGGAGGAAGTGTGCACATAGTCTACGTGCCAGAGGCCCTATGCCTGCCTTATGCCTACTCACATGCTCACCCAGCCAAACTCTCATCAGAGTTCTACATTGTAGAATTTACAACACTGGAGTTTTATCCTGCCGTAACGTGGAAAATAGGCACCCTACGAATACGTGCCTGATCAACATGGATGCCATATAGTCCAGGCTGTATATTCGTAAAACAGGGGGCTATTTTTTAGGCTCATGGGTTTTTGTCGGAGAAAATCGAACATTGAGAAAACCAGAAATTTTTCAAATTTTCGTATATCCACGAATGCTATCGTTTCACCCGATTATCGAATCTCCACGTCGCTCTGTAATTTTAAGTTTAGTTAGTCCATTCGCCCAAGAAACTCCAAAGTTACAAATGCTTAGTTGTAAGCATTTTCAAGAAACCAAGAATTGCAGTTCCTGGCATGTTTTGGCGCATTCAATAATGCCGCTAATAATAATAATAGCATTATGCCTCCTATTATGATGTCGCGTTGTCATCGTTTGCTTCATGCTGCTCCGACATATAGCAGCTTTATGGGGGTTTTCTCCCTCCGCATCAAACGAAGTTCCTCTCTTCAAAATGATGATGGATATACATATATCTATGTTTATAGAAGGATTGAACCCCACACTTTACATATGAATAGATGGGGACCTTGTTACCTTGACTACATTCGGGAAGAGATTGAAGGTTCCAAAGACGGCTGGCTGTGGCTCACTAGGCTAAATGATGCGTGATATTATTCGCTACGGCACGCCTCTATGATCCAGGTATAGCAGTCTCAACAAGAGTCACAGCCAACAATACTCCGCTCCGACTGTTTTGCGGCCAACTCCCAGAATTTCTATTTGAAATTCTAACTGGGTGTTGCAGATGGGTCGAGGAAATAAGATAGCAATAATAATTGTTACGTGGCAATTGTAATCCGTCAGATATCGTCTCGAGACATGTTGACTCAAGAATGTGAAAATGGACAAATTTGGAAAATAGGTAGCGGAAAATTTTCGCAAGGTTTGAAAATTTCGGTGAGCATGATACGATACGAACTTTCCTCTTGATTTTCGCAGCCCGACAAGCCGTACGCGTACGCAATTTGTCTACCGTATACCTGGACGTTCAGGCTCGTCTATCTCGAGATGGTCCAGGCAAGATTTTTGTGGGGCATATAAAAAAGGTCAGAAAATAAAGTCTAATATTTTTTGGGCCCTAGCTTGTTTCGTTATCACGCGCCCAAACCTGATCTACACTCAAATTATCAGTCGAACGCATTTGCATGGATGTACCACTTGGCTTCCGGGTCGTGAAGAATTTTGAATGGAAAATTCGTCTCACGTCACTCTAGTGAAACTCCGCTTCTATATGCTTAACTCATCAAATTGAATTCATTTTCGGATAAGGCAGTTGAAAACAGTTGTGTGTGTGTGAGTGAGCTCATCCTTCATAAAATGAATAGAGATAGAACACTGACACTCTCTCAAAGTCAAGAGGAATTAATAAATATGAGAGCTCATTAGTTGCTCTTCTCGTGACTACTAATTAGGAGGGTGGTGTACATGAAACAGTGTATGTGAAAAGGGTTCCCCGCCGCCGCCGGCCAATGTCCTTGGGTATATGGCATATCCGACGTGGTGTTTCTCGTTTTGAAGAGAGTATTAGGATGCAACGTATCAAGGAGAGACATAGTTCAAAGATTGGAGGATTTGAGATATATTAGGTGTCGAAATAAATAAGCAGGAAATAAACCTAGAAAACGATCTACTTAAATAGCAGTAGTTATTTGAGTTCTTACTGTAGTCTGTCTTCGCTAAGAGATATCGCGCGAATAAACTGCTCTACGTACGCATCTTCTCATGATTTATCCCGTAATATAAACATGGCAAACATTTTTAAAAATATCCTCAATGCTATATTGAAATTCAAATTAGTACAAAGAAAGCAATTTTTCGATTTTTTTAACGAGAAAACTAAGTTTTCATCGCTCAAAAAAAATATGTAGATTTTGATGAAAATAATATGACAATTTATTTAAACCTATATATTTTTTTCTCATGTCCAAAACCACTTTACGAAAAAAATTTTTTTTTAAATAAAATTATTGGATTTTACGTCAACTTTACTAGAGATAAATTCCGAAAAATTAACAATAAATATAGGAGAAAACAATCCGACATTAACGAAATTGTTCCCGGTTCTGATTATCTCGTACCCAAATCAGCTTCCATCACTGCGAAGAGAGGAATCGGGTGTGTCGCTCAGCAGCTTCTGATCGTCGATTTGTCGAGAACTCGGCTCACCAACATCGAGTAAGGGAATATCCGGATATTTTATAATTTTGATCTTTAAAAAATTTGCTTGTGAAAATGTGAAAATCTAAAGTGAAACCAATATTGGTTTTATTCCAGCTATTTAATACCCCAGTTAGAATACTTTGAGATTTTTCCGGTGAAAAATTGAAAATTCGAAAATTTAGATCTCAATTCAGGCAATAATCCTACGTGGCATCCCGCAATCCGGCAAATTTCGGTGGCTTACAACTCGTCGCAGAGCTCGATTTATCGCTGGCAACTCCATTTCCACACCAACTCGATGCTGAAGCCAATCGAATCGTCGACTTGACGTCACCCTACTTCCAGGCATGTTGTACACGTGAATTTGGCTGGAAACACGCTGAAAAGGGTGCCGGATGCGGTAGCCGAGCTGGCGTTGTGGCGTTAAATGCGTCGAGAAATGAGATTGAAGCCGGAAATCACAATCGTCGGTTTTTTAGTGGGTTTTCAGATTTTGTTTTGGAAATTTGAAATTCTGAACAAATTCAATTTTTACAGACAATTTTGCGTGAATTATTGATCATATTTGTTTTAAAAGAATCGAAAAATTTAAAACAAATCAAATCTCGCTTTTCATTGGAGAATACATGACAAAAGTATTTTGTTTCGAAAAAGAAAAATAGCCAAAATTTAATGCTATTTTTTTGAAAAACTTCGATCTTAATTCTCTTTTTGAAAAACTACTGAATAATTTCATCAAATTTGTTTTATTTTGATAAGATAATCACGTGAAAAAATGAAAACAGCAAAATTGAAAATCAGACAAAAGAATAATCAGATTTATGCAATTTGGCCTGAATTTTCAAAAAAAAAACTGGATTTTGGAAAATTTCATCAAATTCTGTGTATTTTCGTGCAAAAAAAGATAGCTATGAATGTCCAATTTTCGACCTTATTGAGAAAAATTCGTAAAAAATTGTAGAAGAACGTTTCAAAATCTCGATTTTCTTCTGACAATAATTCTCAAAATCTTCATATTTTTCCAGCCAGAACTCGAAATGCTCGACGCCTTACGACAAATTGTACAGTCTGCCCAATTGCTTCAAAAATGCGATACACGCATTGGGCTCACCTCCATTTGGAGCACAATTCGATTGAGAAGGTGACTGGTGGATTGCTGGCGTGCGACTAATTTTCCTACAGACGGTTCGTAGACTTGTTTTTTTTTTTTTTCGTTTTTTGAAAAAAAACACGGTGAAAAATAATAAAAGCGAGCCCAAAACATTTTTGTTTAAAAAATATGAAAAATTGTTCAAATTCATAGGTCCTCCTTCAATATTTTCAACAAAAAAAATATTCTAGAGCTTCCATGGAGGCAGCCGCGGTTTCAGGGCCGACGCCGACCTTTCGCCTCTTTTTTGCATTTTTACGGGAATTTTCAAATTTCAAATTTTCCCCATTTCTATCAAATTATTGAAAATCAAATTAAAAACGCGAATCGGCATTGAGGCGAGAGGCACGCAGAGGTTATTGCCTTAGGGTCAGACAGGCAAGCTTTTTAACGCCTAACGTAATTTTAAAACCTGAAACATAGAACTTCCCCACGTTTGATTCCTCTGAATTTACTGCACCTCTTCATAAACAATGTATTTAGATCAGTGTAAGTTTTAAAGCTGCTCTGCAGTGCCCAAATTAAGGACTTTGCTTTTTTAGACCAAACTTAGTCCTAAATAACCGAATTTCGTAATGAGACTTTCTGAAAATTTCTCGAAAAAAAGTTATGGCGGTTCAAAGTTCAGGAAAATAAGGTAAATTTTCAGCTAAAATCAAAATTTTTAAAATTTTTTATTTATCACTTTTTGATAAATATTGTGGTCTTTGATTAGGCGGGGCACCACTAAAAGTTACATTTGCCCCACTGACCATGAATGTATTTAAATCAGGACGAAAACGCCTAATTAAAGACAAATATTTATTAAGAAGTGATAAATATAAAATTTAAAAATTTTGATCTTAGCAGAAAATGGGCTTTTTTTTCTCAAACTTTGAACCGCCATATCTTTTTTTTTGAGAGATGTTCATTACGAAATTCGGTAGTTTTGGACCAATTTTGTGGAAAAAAGCAAAGTCTCAAACATTCGGTACTCCACCTTTAAAGATTCTATACTGTAATTTTTTTTTATTTTCCAATCAGTGCAACTCCAATACTCTACTTATTCGATTCAATAAACTCGAGGCACAGTGTTTTGAATAGGCGATCGCGTGTCAGGTTTTAACCAAAATAGTCATGATGACCTTTTGTTCACCTTACAGAATCTTCTCAGGTTCATGCACACACAGGTGTCATTTACTCTTTCAAGTGTATATGTGTTATCCCGGAGTATCTAAGATAAACGGTAGTTAGACCACCCTTGTGGTGCGCGTAAGTTGTTCGTATAATTGTAGGGGTGGGGATCTTACCACATTTATACGGCCCCCCTCCTATTGTATTGTATTGCTGCCACCAGTCGTCTTAGAGAATCTCTTTGATTACGGGGTGACAGAATCATACTTTTTGGAATGTGTAATAGGTGGGTCTCGAATGGATATTGAGCACTAACAGCTGTGAAGGGATCCGATGGTCTTTCTAGGGTAACTTTCCACTATGCAGTCAATATTATTAATCTTACAAGGAAAGGGTTTTAGTTTAATACTTTTAAGACATGTGTGATTTGAAAGTGTTCCATAAGTGTATGTCACTCTAAAATTTCAGGCGGCATAAGCTCTAGTCTCAAACCCTCTAGCATCTATCTGAAAACGTTTCAGTGCGTTTTTCACTACTTTGAGGCAAGTAGAATATCTCCAAAATGTTTTTTTTGCAAATCTTCAATGATTTTAGAACGTTTAAAAGAAGGAAAACAATCTGGGAAAATTTTGGAAAATTTTTAATTTTTTGAAAAAAATCTGAAATTTCTTGGACCTGGTGGCGTGAAGAAATTTTCAGATTTTATTCAAAACTTAAAAACTTTCCAAAAATCTCCCAGATTGTTTTCCTACTTATAAATGTTCTGAAAAACATTGAAGTTTTGCATGTTAGTAGGGAGCGATTTGGTAATCGTGTTTAAATTACGTTACACATAGATAATAATCAATTGAAATATACAATTCTTAATTCCATATAACCTGAAATTGAGATTAGATACCTTATACAACAAATAGAATGTCGAAAGTTGTCTTCAGCAGACCCCCATTTGTGAAAAATGCCTTCTAAATTTTATTTTACACTTCTCCTAGTAGATGAACAGCACCTGCCAATCATTTCCTTGACAGCCGGATGGTTGCTCCTCTAAGACAGTATAATCCGGTCTCCCCCGGGGGGATGTAGGGTGTTGTTGCAAATAGCTTTGCGGAGCAGGTGCTTTTTTAATGGATTTAGCTTATTGGTGACGGAAAAACCCTAGAATTGATACAATTTGGTTTTCAAGGGGATTTGGGGAAGGGTTTAGAGGGGAACTGAAACTTAGTAGATCTTCGTCTGTCGTGGAGATCAGAAGATTGGAAGTACTGGGTTTAAGGGGGTCAAGGAGTACTGTAGCGCATTTCGACTACTGTACTTTAGATAGTTTTGTTATTATATCAATCGGATAATATATAATCAAGTTGCACCAAAATTGGAGACATTCTAGTAGGCATTTTCTTTATGCTAGGTATGTATAAGTTTCTACTAAGTGTATAAACCTACTATGTACCTAGGGGGAGTAGAGTTTGTGGGTATTTGTTTGCTTAAGTGCAATAGACTATAAAACGTGTCCAAAACCACCGAATTTCAAACTGAGATAGAACTTCACAAAAAATTTCCAAAATTTTTTTTATGGAAAAAAGAGCAAAATTTAACTAAAATCCGACATTTGGCACAGTTTTCTTTGTTGTAGCACAGCCGCGGGATTTGAATTTCTCGGAAATTACTTTAATCCTACATAATAATTTATCTCGAAATTCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCCCATCTTGATCAGGATGCCTATCGGCCTAAAAGTTTTTTAATTGCAGAAAAACTAAAATCCAGCTGTACTGTGACAAAGGAAAGTGTGCGAAATCCAGATTTTAGCAAAATTTGACTCTTTTTGTTCGAAATTTTGAGTCGCCATAAAAATTTTTGCAAATTTTTTGTGAAGTCTCATTATTAAATTCGGGGGTTTTGTACTAGTTTTCTAGTCTGTTTAAGCTAAAAATACCCACAAACTATTACACTTTACTTTAACACACAATAATTCACTAGCATGGTGTAGTATCATGCCGGAATTAATATAGGATTGATTGAAGAGCGAAATTTTAAATAGATTATTGCAGACTATCTAACACTATTTGTATAAACTAAATTAACATAGTGTATTGAATAATGACTTTATTGAAATTAATACAGTTCTTTTGATATCCCCATCTTCTATGAGTATCCAATACTAATATGTCATATGAATTTCACTTTAATTGTTATTTCCCATGCGTCGTGTTTATACAAATGCTTTATATACTCGAATAGTCTAAAATCCAATTAAACTCGAGCCAATACAGAATATAGAATGTAACAACACTTGTGTTAATATTCTAATATACATGCACACACACACCCACACACCGGTTTTACACCAGTTCTACTAATATTTGCACAATACCATTGAGATAGCTGAAGTTCCATAGATATGCACGGGTTCGTTTCCGGCACTGCCACGGAAAATATTGAAAATGTGCGGTTTACGAAAAACAACAGAAAAAGCGATTTTCCAGAGAAATACGAAAAAAAAGAAAATATTTAGAAAATTAACAACAAACAAAAAAATTTTTTTTTATTAAAGAATAAAATGTAGGAGTTCACTTCTTTTTTTCCCCTTTCGGTTAAACTAGGGCTTCGATGGTAGGCAGGCGCGCATTTCAGGCAGGCCTGCCTGAAACCTGCGCTACGCCGGCCTCAGGTCGCCTTAAGACGGCTCCTAACAAAAATTTGAAAAAAAAATTTCAAAAATTGAATTTCCGCGCTTTTCGAATTTCTAGAACGCTTTTTTTTAATTAAAAAAAAATTTCAGTTGGACCTTTCATCGAATCAACTTCGAGTTTTTCGAGACGAAGTACGAGAATTCAAAAAATGGAAAGAGACTTGCTGTTCCAACCACTCTTTGGAGCTCCTCGAGCCGTCGGGCCTTGAGCTTGAAATTGGGTAATCTAAATTTATACGAATTTTGCAAATTCTAAAAATCCTAATTTTTTCTAGAATCCCTTGATCTGAGTCAATAAGCTAGAACTGCCCTGCCGCAATTGGGAAAGTCTAGCAGCTGAAAAAAGTGGATTTGAGCCATAACTAGAATTGCGAAGGTTTATCAATTTGTGCTCAATAATATTAAGCAATCGCAAGCATACTGTTGATTTGTCGAATATCAGTTGCAAAGTGTGAGTTTTTTGTTGATAAAAATTATTTGAATTTTTTCTTTTTTTTTAATTATTAATTCTGAGTTAAAATTCATCGTAAGTTCCGAAAATTTCTAGAGTTGAAATTTAAATTTTTATCCAGAATTTAGTCGATTATAAAAACGGAAAAAATAGGGATTGTCGATTAAAAAAATTAATTTATTTTAAAAGCACACAGTTTCGATAAAAATTTAATTAAAATAAAAGTTCCTTGCTAAAAAACTATTTCCTCAATTTTTTTTCTGAAATTTCACTCTTTCATTTTTTAATTCTTTTTTGTCTATAAATACGAAAAACACGAATTTTCGATAAAAACGCATTTTTCAAGTTTTTAAAATAATTTTAACTTGGAATTGTTCTTTAAAAAATTGTTTTTTATCAAATTCCAAACACATTAATGCATTTTTTAAAAAATAATTTCTTTAAATCTTCCAAAATCGGTTGTAATTTTAGCGAAAATAACTATTTCTTTCAGTTTTTATTTAAAAAATCCCTCGAAATTTGAATTTATCCAGAATTTAGTCAATGCAAAAAAATATACGAATTTTCGATTAAAAAAATTAATTTATTTAAAAAACACTCTCGAAAAAAAAATTTTCAATAAAGAAACTAGTTCTTATAATTTTTTTTTTCAGATTCACTTTTTCATTGGCCTTTTTAATTCAAATTTGAAGTAATCTGCAATTTACTCTATAAATACGAAAAAAATACAAATTTTCGGCAAATGAAAAAACACTTCAAATTAATAAAAATAAAAAACATATACTAAAATTTTAAAAAATAATTTCTTGCAATTTTCCAAAACCTCGAAGGTTTTAATCGCAAATAACGATTTTTTCAGTTTTTATTCTTTTAAAATTCCCTTGGAATTTGAATTTCTCCAAATTTTTTCTTGAAGTTTTTAAAATTTCCATCATTTTCTATTGGAACTTTCAAAAAATGTTCCTATGGCAAAAATCTTTTCCGCTAATTTCTACGTAAAAATTCTGCCAAAAAACAATGACAGTTCATGTTTTTTTGTTAAATAAATAATTTTCTTGTTTCTATGGAATTCGATCTTTTTTGAGTTTTACCCCAATAAAATGTATATTTAATCTAAAAATATATCCCAAAATTCCAGATCGGCACTACATCTTCTCTGACTGTTCTGAACTTCATTCCCTGGACGTGTCGAATAATGAGATTTCACTGCTGTACAAGCTTTTGCGAGCAACAAAGCTGAGGAAAATTTCGATGAAAATGAATAAAATTAGTGAGTTGAAGCACGAAAAACTGCAATTAATATTTTGAAATTTTTGTGTTTAGAAACGAAAATCGAGATAATGTAGGCTTAAAGTTGCTCAAAATCCGCAGATTTTTTGAAATCGATTCTGAAAAGTGCACAGGGAGCTAAATCAGACTTCAAAATTTTCAAATTAATTGCATATTCACTCGAAACCCTCTGAAAACTGCCTTCAACTTCCTATATTAAATCAAATTTTCTTTCAGATCCCTCGACAAAGGTCTCGCACAGAAGCTTCCGGCCTCCACGTCTCGACGTAACTCATAACGAGATCCTCGTGCTGAAATGGTCGGCATTACCTGAAAACCTGGAGATTCTCAACGCTGATAACAATGATATCAATCCCATGACCGCCGTCCATGTTCCCAAGCACCGCAAACCTGAAGTCCGTTTCGCTTTCCAACAACGGCATCACCATAATGACTGCGGACCAGATTCCGAATTCGCCGAGTCGCTGGACGTGTCGAATAATCGACTTGCAAAGCTCGGAAGACAGCGTTGGCCGCGACAGTTGAGAAGGCTCAACTTGAAGGGCAATCTGCTTACCGTAGTGGCCTCCGAGTCGATAAAAGTCGTAGAGGCTGTGCATCCGTTGAAAGTGGAAGTCTCGGAGAATCCTCTGATCTGTGATTGTCAGATAGGATGGATGATTGGTGCGAAGCCAAGGGTCCTCATTCAGGACTGATCTCTGAAACCGCAAGCTGTTCCCATATATGGCCGGTGAGGCATCAGATACAGATTCAAAGTCTCAGCAAGAAGGATCTACTGTGCCCATACAAAAGTGTATGTGAGCCGAAATGTATCTGCTGTCAATACGGAAATTGCGATTGCAAATCCGTATGTCCCGGAGCCAATTACCGATGCTTCAGAGATCAGTTTATCAACATTGTCAGATGCCAAACATCAATGGTGCCCAAAAGAGAATTCGTGGTCTCCGCGCCCCCGGTCTCTGCGACAGAGATCATTCTGAGCGGAGTCACCCTTCCACAGCTCCGAACTCACAGCCTCATCGGAAGACTTCGTCACCAGAGGCTTCATATCAATGGAACCGGGCTCCGATCCATCCAAAAGGTTCCATACTCTTCCAGCACTGAAGACGCTGGATTGGCAGTGTCGGATAACTCTTTGATCTCGCTAGAGCGAGGGGGAATTTCTAGTGGAGAAGTCTCGCACTTTCAATGGAAATCGATTTCTATCCCGTGGAATCGTCGAGAAGGTTCCGAACTTGAAATATCTGGCACTTCATAACAACTCCCTCCGAAGACATCCCTAAACAGGTGCTTCACTCGACGGCGCTCTCCAAGATCTCCCTGTCATCGAACCCCTTGACATGCGACTGCTCGGGAGGATCCCAACAACACCTTCAACATCGTCGTGACCCATGAAAGCTAATCCATTCTGGTAGCATAATGCGGCCTAATTGAGTGGTTCTCGTTGCATCGGCATTTCGTTGATTTCTCCAAGGTTGAATGCTCGGAGAACGCCGCGTGACGAACTGGGCTTCCTGACGAACGATACGCCAGTGCTGAGCGCCTATCCACCTAATATGGGAAATGACGTCTTTGTGATGCCTATTGAAGGTTGGTTTATTGAAATTTTTAAAAAAACGCGCGTCAAATTAAATATTTTAAAGTCTTTGTTCGAAAAATAACCATTTTACAATATGTAGGATATATCTATAACAGCTTCTGTACAAACGTAATCCAGATGTTAATTTTTTTAAAAATGCGGTAAATATTATATTGATTACATATTATTATTACACCGGTGTATTTTGTTCCACTACTACGACTTTTAAGGGGGGCGCATTTACGCGCGATGGTCCCAGCATTAGTCTCGCCACGCACCCCAAAAATCAATGGGTGGCCCGGACACCATCGCGCGTAAATGCGCCCCGCTTTGATAGTCGTAGCAGTGGAAAAAAATTCACTTGTATAATTATTAGTCAAATGATACTTGCATTATGATATTAGAAATTAAAAAATTGGGTTTGAACATTTTTTTTCCTCAATTTTTTTACGGTATTTCACCATGTATGCGTTATAAATACAAATATGATCCCTACCTTTTTATAACTTTAAAATAACTTTGTAAAAAGGAATATAATACATGCACAAGCACCATAAAATTTCGACGTTTGCATTTTCTGGTCCGAATTTAGTTCAATACGTTTACTTTATATATCACATATACAAAACAATATACTGAGAATGCGTATTGCGCATTATATTGGACGCGCAAAATATCTCGGAGAAAACATACAGTAGTCCTATAAATTCCTACTGTACTGCTTGTGTCGATAGAATATTAAAATTGCAAAAAAAATTTAAAAATCGGCGAAAAAAAACCAAAGTATAAGGGAATATATTCAAGCTATTCCAAAACTTTAAATCAATTTCAAAAATCGAGCCCAAGAGAAGGACTTACTGTAGTTCTCCTACGATTTTGCGCGTCAAACATGTTGTGAAATACGCATTCTGAAGATGTAGTGTACTCGTAATATATATTTTAACAATTCAAACATTTCCAGAATTCCTGCGCGACTACAACTCAACACTTTGTGTTTTCTCATCTGGATTCTTTGGACAAGACCCTCAGAATAGTATACTCTTTGTCATAATAACTAGATTGCTGTTCTCCTCTGCGCCCTCGTTATTCTCGCAATTTTATTCGAAAATCTCACGACGCAATCAATCAACGAAGATAAAAAGCATCATCTCTAAATTGTGCAACATCTGCCGGCTCGTCGCCTCTTCCGGTTCCGCTGTTGAGTTAGCACTCATCTTTGTGAGCTATTCGAAGAAGGACGAGAAAAGGGTGATTCATCAATTGTGTCGACCGCTGGAAGATGACGATTATCAGTTGTGCCCGTTGCATCGGGATGTGCCGACTTGTTGCTCGAATTTACGCGATATCTGATGAACTCATAGCTCAGACGGACTCGTCGCTTGATTCTTGTGTTGACTCAACATTGGAAGTGGAAAACGCTGCAGATTAAAGACTTAACAAATTCAAACTTTCAGTTTAAAATTGCTACGTATTCGTAAAAATGATGTTAAAATTCCGAGAATGCGTGTTACGCAAAATATCTTGTAGCAAAAGCCACTGTAATTATTTTATATGACTACCGTTCAAAATTACTATCCAAATATTTGATTTTTTGGCATGTTTTAAAAAATTATTTACGATGGAATTTACTCAAATATTGAAAACAATATTATCGAAATTCCCGAAAATTTGGTGGAAATTGAAAATTTCAATTTTTTCGCTAATTTTCGAGAAAAAAAAAATTAAAATTTGGATTATCTGAAATAAAGTTCCCAAACATTAAATTAAAAATTTGTTTTTTAAACGTTGGATTTTCCAATCTCGAACCCTCAAAAATTGAGTTTTTTTGAAATTTTTTTTCGGACAAAGTAAAAAATGCTCGCAAATATCGACAAAAAGTGGAAGTATTTTTTTAAGTTGTAAAATTGTTGGAGATTTTTGCAATAAGATATAAAAAATCTGAATTTCCATTCAAATCTTGAACATCAAAATCAGCAAAAAAAATTGCTATATATTCATTCAAATTAAGATCTAAAAAGAGTAATTCGCTATTTCAAATTTTCAAAAAAAAAATAAATTTTAAGTTTTAATTTTTGAACACTATCAAAAAATTTGTTTTTAAACCTAAAACTGATAATTCCGAATTCTCTGTAAAATCTCAAAACAAACATTCCTAGCCAAATTTAATCGAATATGATTTAATAATACTAATTTTAAATCATATTCAATTACATTTCTAGGAATTATTTTTGCTAGTTAAAAGTGTATGAAAAATTAACACTTTTTGAAAGAAAAACTGTTCTTATAGGATTTATAACACCGGAAATTCACTAATAACACTCCACATTTTTCCAGACCTCCCACCAACTCTTCCGCCAAAAACCGTGCAAAACGAGGTGATCGCCGTGCTCGGCGACGGTGTGGACGCGAATCTGCTGGACGACGAGCTCGGACAGAATCTACGGAAGCACACGAGAATCTAGATGCGGAGCCATTTACGGTTTATGCACACTTTAGCACGCATCACTTCCATCACGACTTCGATTGCGCACATATCTCGAATAGTGGCGATGATTCGTCTCAACTATGTTCGGATTGGAATTGTGCCCGAGTGTTGTTTAGCTTACAGTTTTCCCGTTTAGGTCACAGAGTATTTTTTATCCTCTTCCAAATGTACGAGCTTCCATTATTCACTTTCTTTTTCACCCCCAATTCTGCTGTGCACAATTTGCCATTTTTTGAATTTTTACAACAATACCGGTACTATTTTTCGATTTTCTTTCTTTTTCTCGCATGAATCTTGCCATCACTTCTCTAATAATTGACCAGCGATTATATTTTTGATTTAACATAATAATTGAATATTCTCGTTTTTCAGTTCAAATTATTGCTTTCTGTGTCACCACAAATTCAAATTCTCGTCCTAACCTCGTGTGATCTTCAGTAATATATATAGATTAATAATCGTCGTTTCTTATTGTTGTCATTTGCGGATGCTTATGAAGCTTGTAATTTTTTGTTTTGTTTTTTTGCCTGTTTCAGCTGCAAACTAAAATTCGGTAGAAATTCTTGAAAACACGCAAAAAATGAATAAAAGAAATAGTATATTAGCTTTCGAGAGGAGTTCACAAGCGGGTGGCACATCTCCGCGGCCGCCCAGTGGTGTACTCGTCTCGGGTGAAAGAATTACTTTATAATCTGTTTTTCGGCCTATTTTTAGTTTTTCGCAACTAAATGAGTAAATTATCTCTTAAATAATGTCGAAATTAATTTAATTTACACTTCCAATAAAATTCCTCTCATTAAATTACCCCTTTCTAATGACTTTGCTCTCAAAAATTTTTCATCGATTTTCAATTCTCAAAATTCTTGAATCTTCAGCGAAGCTGGAATTCAGCAATCAGAAGAGGGAAATATCTGTCAAGAACAAGGTGGCGGGTGACAGTAAAAAAAGCGCAACGCATGAAGGCAGACGCTAAAAATACAAAAGACGGTGAGGATGTTCAGATCGCAAGGCGTTAGGAGGGGGCTTGGTGAGAGTCAGAGGACGTATCGTCGCTCTTCAGGGGAAAAAAAAAAGGAAACGGCGAAATTCTTGATTTTGATTTGTTTTTTCAGAAAAAATTGGCCTCCGGAGGGTGCAACACCTGCCAAAAAGTGAACGGAAGATTAACCGCAAGACAGAGCTTCCGTTCGAGAGAAGTAGGATTTTGTCGATCACTCCAAACAAAAATTGTTTTTTTCAATTTCAGCAAAACTGGACGCTCCGACTGGAAAACGCGGCTGACGTGCACCACTGCCCAATACATCACAAAAAAGAAGGCAAAGAAGATGTACAAGAAGAGGACACACGACGCACGCGACAAATATCGAAAAATGGCGGCACTGGCCGGAGACGGTGAAGATGACGAGGAGAGTGAGGCCGAGGTGATGGAGCAGGATTTTGGATTTTTCCGCGGCATTTTTAAATTGTTTTTTTTCCTTTGTTGATTTTGTTACTGTTTTTCAGTTTCGACATAAAATAATCGAAAATTTATTTATCACAAAAACTTTTGCAATTTGCTTAGCTGAGTGAGCCAACTGTTTGCCACGTGTCACGATTCGATGCATCCATCCTTTGGGCGCCTCGAGCTCCGCTTTCGGAGCCTGTTGTAAGCTCCTTTAGAATTATTGTCCAGACCTTAGAAATGTTCATCGAGTACCGGAAACTTCGACGAACTTGCACTTGTGTACTTTCAAGCAGGCTCCTGCCGGATTAAAATCAATTTAAAAATCGATCATTTGAATTTCCACGTGGCGCGACGCGGCACGCGTTGCATTGTTTTTTCAAATTTGGTTGAAAAACATGGTGCATCGAAGAATTTTCTTTGACGATTTTATACGCAGAATCACATTTGACGAACAAAAATTCAAAATACTTTACTTTGCAAACGCGCTCCATTGATAAACTTATGAAAAATCGATAATGCTCAGATTTCACCAACGAGAATTTTCCTCCATTTGAAATTATAGTTAAACAAAATTAATATAACCAAACATTACGCAGTTCCGGTAAAAATTTCGATAGCTTTAATGCAAGTGCGCTCAATTCTGAACAAAACCCACCCATCCTTTCGACACCACCGTATTCCGACAATTTCAAATCGATTTTATTCGCAGGCCAATCAGTATAATATTGGCTCCGCGAGCAATTTTTCGATACAAAAGCCGACTGAGCAGGTCTGTGGCACACACGAATAATTCTCGACTTGTCAACGTTGACACTATTGCGTACATTGTCAGTGATGACGCGAATGGAGAATGCTGAAAAAAAACAAGAGTTTAAAGGGTGAGCTCTCGCACCACGATCCATGTTTTTTTGTGGGAATAGTGGAAATTTGGAGTTAGTGAAAAAATCAAATTTGTGCAATTTTTAATAAATTCGGCAAATGCGCTAGAACATCAGATTTCACGAGCAAATTTCATTTTGTGAGATTAAGATATGGGCATTTGAACTGATTTTTTAATGGTATACACACGAAAAAAAATACATAAAGTCGATTGCGAAAAATTTTAGGTTTCACCCTCGGCATTGAAAGCGCAGTAGTAGGAGTGGCGATAGGGCGCCCTGCTAAATTTTCTATTTTTATGGTGTTTCCTTTCGTTTTGTGCTAATGAAGAGTTAAGAATCTGACGCGACAAACGTAATCGTGTCAACGCTAAGACAAACGAATAATTGTATTTCTCAACGGTAAAAAGATTCACTCCTGCGCCAAGGTGCCAGCAAGTGCGCCCCAGCCCAATTCGACACTATGGGAATAAACTGTGGGTTTAAAAACTTAGAGAAGTCGTTTTTGTTCAAGATATCAGCCTAAGATATTAAACACAAGCGCGTGGTCGTCAAGGTGTCCCGTTAATTCGCTTTGATGTACCAAAAATGCGGGATTTTAGACGCAGACTTCTCAGCATTCGTATTGTTAAGAGTGTGGCTGACGTCCCAATCATTGCATTTTTCTGCAACAAATTCCCGCAATTTTTGTCGATCAAGCAACACCAAAATGGAACTGTTTGACAGCACGTGCACAAGCAGATCACAAGTGGGATTCTCTTCGAGTTATCCTCCCCAAATCCTGTCCAGTACAGCGACCTCCAACGTGGCTTGCAACATTTCCAACTCGATTTGCTCGTTATTCAACAGGAGATTCATTCGATGAAGTGTCATCTCCCTCATTTGACTCATTATTGTATTGGGTGACGAGCCGGGTGGAAAATTGGTTAATTGTTGACATGCTTTCTTCCCGCTACCTTGATCCATAGACACGTAGAACCACATGTTGCATTGGAACATTCGACGTTTCTTGGCGAATAGCAAGACTGGACACGTGCTCGGCGATCTCATTCTTAAAAGTTTTAAATTGTAACAAAAATTTGGTTCAAAATTTCAAAGGAAAATCAATAATAAAGCTACTCCAAAGTTTTCAGCCTGATGGGTTGGAGAGATGAGCAAGTCCTACAGCGCTTCAAGAATTCTAGGCCACGGTCAGAGTGGTGGCCGTGATCCTCGTACTTATTTCTTTTAGATTTTTTAAATGGGAAACTCGAATTTATGTGAAACACCTAGAACATTCCAAGAAAAATTCAAAAAAACTCTCTAAGGAGGACATCGATAACCCTCCCCCAATTCGAGATGTGACGTCATCAAGGGGAGCCCGTGACCTCGCTTCAAATTTCAATTTTTCAACGAAAAGTGTGAGATTAGATGTAAAATTACTAGGAAATTAGAAGAAAGAGTAGAAAAGAAATTTCGGGGGTGTCGCTCACCACCCCCACCCCCCATTTTTCTAGTGTGACATAGAAAGTGGATCGGCCCCGCTACCTTCCATTGGGTTCAAGTTAGTTTTTTTAATTTTCCGATGATTGTATTACTGTAGTCACTGTAATTATGCGAAACAACTGGTTGTCCAGTGGAGCACGTGTGCTTAATTGTCCGTCACAATTCCATTCTTAATTCCAAAACTTCGAAGACTTCCCTCCGGTTGCCGTTTATCGACGTGTCTTCGATGTTGTTTTGGTGCATATGTAGATTGGTATTCCTGGAATATTAAGGGGAAAATGGAGAAAAAATTCTGAATTGTACAGGTAATCGAGAAAAAAAGTTAAGACTCCATTTTTTTCAACTAAATTTTTTTTTCAAAATTTCAAAAAAAAAATTTTATTTGGAAGAACTTTTTTATAATGTTCAGGATTTTCTAAAATTACCTTTATCTCTCAAAACTTGCTCAACTGAGTTTTAGATTTCTGAAATTTTCCGCGTGAAGTACGAACACTCCCAATATATCGAAGGACAGGCGCATTTGCGAACTAATCTTATTTAAAAATTTCACAAATTTATTTTTTTTATTAACCTAATATTTCCGTTTATCGTATTTTCTAAATTAAATAAAAAAATTGTCCAGGAGGAGTACATGGCCAATTTATCCGAAGAGCTCATATGCACACTTCCTGTTCAAAAACAAAAAAAAAACTTATTCACCTTGGCGGTGGGTACCTCTTTTTTACACGACGAGGCGAGTTTTCCGAGCTGAAAAATGATCCTTTTGGCTGGGCAGTTTTAGAATTGTGGGGAAGTTATAGGCATTTCCGGTGAAAAAAATTGTTTTTTATTGGAATAGTTTTTAATATTCTAGGCCATGTCCTAAAGACTTGAGTCAAGATCTGAATTAAATTTTTGAGGTACGAGCTTCCAGTTCCCTCCACAATTCCCCCTATGGCCTAGAATTTCAGAAAGCTCTACCATCGATTCAAACTGTTACCCGTTACTTTTGCACAGGTTACGGGTTCCGGACGCCCAGCCAAACTTCCGCCCGTGGCCTTAAGAACTCCCAACTTGTTCCACCGACCTGGACGTGTTGCTCGTACTGGCAACTCATCAACATCTGGCAGTAATTCAACCGTTGGGGACACGGTACGCGGGGTCGACGGTAGACTTCGGCGACTGATCGGCGATGTAGGAGGACTTCAAAAATCAATCAATAAATCAACGACACTCTGCTCGTTTTGCAAGGATCCGCCCATCCGCTTGTTGTTTACCAATTTCTTTTACAACAATTCTAATGCGCAAAATTAATAGAACTACCTTACTTATAATTTTTTTTTAACTCAAAATTTTCAAAAAAACGACACTCCGCTTGTAGAATCCGCCCACTTTCCAAAAAACAATTCGGAGTGTCGTTTGAAAAATATCCTATAATTTGAAAAACTCATTAGTCTCAAATTTTAATGAAAATTACGTGAAAATCTATAAAAACTACGCTTTTGGCTCCGCCCAAAAACGTCTTTTGGCACCGCCCGAAAACGGGACGGAGCCTAGCACTAATATTACAAGATGGTTTTTATTTCCATAAGTGATTAAAAAATCAACAAAATATTTAGAAAGTATCTCAATTATTGAATTAAATTTTATAAAATCTACGACACTCCGCTTGGAACCCCCTCCCCTGGGCTGCCAAGAATGGGGCGGAGCCTAGAACAAACGTTTTTACAAGAAAAATGTTTCTTGAAATTTTAAAGACGATTAATAAAAATCCGAGTTTTTAGAAAAAATTGGGCCAAATCGAATAATAAAAAACGTTACTCCGCTAATAAAACCAGCTCATTAACAAGATAGGGGCGGAGAGTATCCAAACGGAGCGTAGTTTGAAAAAATATTTTTTGGAAAACTAAAATGTTCCAGCGGGAAAGATTCTGCTAAAGGCAATCTAATCCAGGTTTTTTCCGGAAATTCAATTTCCTCAGGGTTCTCTCTGCAAATTTGTTCACGAAAAAACTCGTGTGTGCTGGAAATGCGCTCTATTGCTAATTTCATCCAGAGAGCGCTATTACATCAAAAATGGAGGGTTGTTGCATACCTTCTCGTTGCAGCGGGACTGGTGACGGAGGTGATAGCCGTGATGAAAATTGTTGGGGTATCGACAGCGCAGAAGGGAAACACGACGATTCGACATTTTTCTAAAAATCCATGATAAAACTTGTAAAGATAAAATAATGTAAAAGGGGAGGTGGCTAAGCGGGGACACAAATACGCGGGAAGTCCGCTTATTTTTGCTGGATTTGACGTAAAAACGAATCAAAAAACTGGCACTCGTCGCGTTTTGCAACAAGAAAAAACTAAAATTTCATATATTGGTGGCAAACACAGTTCGAAAACTGTTGAAGCTTACGTAAAGTGTGTATATTCCATATTAGAGAATAAGATTGGAAATGGAAAAATAAAATCTTGTAATTTCTACCACCGCATAACTTCTAAGTCACCTATGAAATATCTAAGCTACCGTGAAAATTCTAGGCTATCATAAAAATAAAATTTATATATGTTTGTCCTGAAACGAAGTCCACTTCCGCCAGAAATAATAAACAAAATAGACAACACAAAAAATTGAGAACTCTTAAGAACAAAAGAAATCCGACCCGAAATCGAATACCCAACGAAAATTTTCGGAATTTAGAAAGAAGAACTATGAGTTTTGGACACTTTTCACTTTCCCTTCAAAAGGAGGAACTTTGTGGCGCGGCCTAAAAAATATAAAACTCGGCCACCGATTTGTATGCGGCCACGGGACACTCCGCAGTTGCAAAGGGTAACTACAGCTGCAAATACTGTAAAACTAGGTCACCAAGTGGAAACCTTGGTCATCACGTGGAAAAAAACCTATTTGACAAAAAATTTTTGAAAATTTTATAAATCTTAATTCTAGGCCACCACCTGTCCAGGTCACCATGTGGAAGGCTAGATCAGCTAAGTGGATCGTAGACCAGCACATAGGCCTCTAGGCCACCACGCAGGAAATTAGGTCACTGGAAAGCTAGCGAGCCTCCACATGGTCAATAATAAGTCATTGTTAGTTGGAATTTCGTTTTGACCAGAGAAACTTGTTTTTACCAAAATATTTGAAAATTCAAGGCCGTCCGGTGAAATCTGTTTAACCCTAGGCCACCTAATTTCGAGAAAGTCAGGACATCTAAACTGGCACGTCACAACTAGAAAGCTAGGCCATCAAGCAAAAACCTAGAGCCCACTCTGCCAAAATAGATTCCTTAAAAGTTTGAGGGAAAAAATGTTTTTCAACAAAAATTTAATCGGCCGAGTGGACTTTAATAAATTCTACTTTTTCAGCCACATTGTGTGGCAGAGGGATATCGGAGCATCGTTTGAATTTTCTAATTTCTGAAAGAAAACCGGAACACATTGCAAGAATACGAAAAATATAACTGAAGCCGACATATGAAATGAGTTCTATGCTCCCCGCCGCGTATTCTTCTCATTTTTCTGCATATTTTTAGCTTGGCGGTGGGGTGCGAATGCTGGTATCATACTTCGTCCCCTCTTCATTCATTGCCCGTCTATGTATTAAAATTAGCGTGTATTCCTATTGGATTCTGACGGTCTCCCCGTCGTTTTTTTTTCTATGCGAAATAGAAAATACGTGGTGAACGGGAATTTTCATGAAAAAGAACGAAGAATTTGATTTCTAGGCCAACCAAAAAACATAGGCCAGAAAACGGATCTCTAGTAAAAACAACCACAATAAAGTTGAAACTAGGCCACCTACGAAAAATGGGAGATACCGCTTGTGTGTACAAGCATTTTTATAAAATTCTAGATTGTTTTAAAAACTTAATGTTTCCAGTACAAATCGATTTCCGTGAAAAACAATAAATATGTCAAACTCGTGACGTTTCGACCGTCAATAGAGCGCGTTTGCTTGTCAAACCAAACATATTCGGTGTAGATTTACGGGGTTTTCAGACAAAACAAAAAACCTTCACAAGGATCCGCGCCAAATAAGAGCTAGTAAATGGAACTAATTCCCGTTTTTTTTTTGTTGGTGAGTGTCTTGTGAGGAGGGGACCGCCCGTGTCTCTACCTAAAACATTGTTAAATTAGTGTGACGTCACCACAATTTGATAAACGACAAATATAGTTCGAGTTTTGAAGAAAAATTTTGGAATTTTTCTGGTAATAATTTGAAAAATTTCAATTTTTTATGTTTTTATCTTAAAAAATTTTTTGATATATTTTTAAATTCAATGTTTGATCGTCCTGATAACCAAATTTTCACACAAAAAATCTGGTTTTTGACGTCTAAATCTGCTTTTTTTCACCCAATTACGAGGTTCTCCGTGGGAAGGTGTGTCACTTGAGCTTTTGCTTTTTTATTTTTTTTCTGATTGAAAATGATTAAGCTAGATATACTTTCTCGTCTTTTATTAATCAGAATTGTATTGTTATTGAAGATTTTAGATTTTTACACTCCCGTGCAGCAAATGCGCTCCGATGTATGGAAATTTACAACTGGAGATTTTCAAAATGTTCATTTATAGGCTCTTTTAAAGGTTCAAGAGTCTAGTAAACTAGGAAAAGGTGAAGCTGTGACGTTATCGATGACGTCATCACAATTGTCGCTTGAAAAACTTGGAAAAACGATGTGGAAAGAGGGTGATTATTTGTGCTTCAAATAAACTTTTTGCTCTAATTAATTCATATAGTTGTGTGCTTCTTTAGATTTTAAGAGAAATTGCGAATTTTGCACCCAAAAAGCGTACTAGGCCGAGTAAGTTATGGGAAAACTCTTCCACATACCGGACACAAGACGTGGAAAACTAAAAGTTTCTGTAGTTTTTTATACCCCCGCATGGCACATCCCCGCCCCAACACTGTAAATTTTCAGGTGTTCAGGGTGAAAACATTCTTTCAGCTGCTGGGCGGCTTCTCGTGCAGCTGGAAATGTATTTCCAGACGGGTTGGAACCGGGATTTGTCATTCAACTGTTGCAATTACGCTCTACCGAGCTAAACCTCGTTAGGACTCCAGTGGACAACACGGGCCTTATTGTAAATTTCGCTTCAATGTCCACAATTTCAGAACAAACCGTCGCTTTTATTCCATAATATTATAATTTTATTTAAAGAAATCTGGAAACATTTATCGCTTTTTGTGAAAATCTATGTGAGATTATTGCCAGAAATACAAGAAAATCGATGCAAACTTGCTCTATTGCTAAATAGTTCGTGTACTATACGTCGACGACACGATTTCAAGTTTCGTTTTTTGAACAAATAAGCGTCTGTTATTATTCCAAAATTCGGTACATTCACTCAAAAAAAAACAATCATTGATAAATGTAGAAACATACATGCAACCACGGCCTCTCCGATGCAAATTTTTGATTCTCCAACTTTTGTTGTTAAGTTATCTTGAAAAAAAAAATGATACAACGAGAAGTCCTTGGTGGTATCGGGCGCCTAGAAACAGATGAAATGGAAAAACAAGTATTACGGGCGGCTCCGTCTAGGCGTATTATGGGGGGTGGGCCGCAGATGTTCCTTTAGAATAAGAAAAATGTCTAGTATTTTGTGATACTTGTGAAACATAACCCTAAACTTCACAAAAAATAAAGGGCTCAAAAATGGTATTTTACTAATGTAAGCCTACAAGCACAAAGGAAATCAATTTTTTCAATAGCTAAAAAATTAATTTTTGTGATATATAATACTTACACAAGTACCAATTTAGTTTTAAACGATAAAATATACCATAACTTTTGGGTAGGATCTGCACAGCCTCGAAAAAAACGGGATTTTCAACAAACGGAATAGTCGGACTTTTTAAAAACAACGAAAAAGTTTTGCTTGGGACCAAGTCTCATCGATTACAAAAACTGATTCTTCCAGTCAAAGATTTTATATACTCACGACTTAACAATTCTTTCGTGTTGCCTACCTAGCAAGTTCCGAATTCAGAAAAGTTGAATTTCCCTCCAACAATTTTTTACTATCATAGTCAGCCAATTTGCAATATTTCCCGCGACAAAATTTACGGATTCCCCACAATGGGTCTCCAACCAATAAAATGAATTATTCATTTATCTTCTTAGGTCACACGAGATGCCAGCGACCAAGACAGGGCAAGTGCGACCACTATCCCGAAAAAGACACCTACAGAACCTAACGAAGGCTTCCAAAATTAGCATAGAAAGAGACATTAGCAGAATATCCCACTTGATGTTCTGTCACTTTCAGCATCATTCTGCCTTTTTGTTCCCTTGTGTATGGTGACTATAATTTGATTGTGCTGAATATGATGTCTACTTGTGTTGTGGACAACTATTGATTTTTTCTGCTTTGGTTAATTTGAGGTATTACTTTTACAAATTTGTATATCATCATTTTACAAATTTCAACAGTGTTTCCTATTAATCCGCTAAACCGCAACTGAAGAATAATAAAAACTTTTCTCAAAACTGTATGGGAAAGCTCAGTGTCGGTTATGATAGTATTACAACATCGTTAATGCAAATTAGGTTTCGCAAAATTATATTCAAAAGATTTTTTAAATCGTTTATTACGGTACCAAGTAAAGTTGAGAATGCGTATTACGAGAACATATTTGACGGGCAATATCTCAGAGCAAAAACTACAGTAACTCTTAGAATGAATTCTGTAGCGTTTGTATCGATTTACGGGCTCGATTTTCGAAATAATTTATATTTGTAAAGTGAAAGCTATATTCAATTTTTCTTCGATTATTTGTTGTTTTGTTTTTGATTGTGTTTTTCTTTTATTTTAATAGTATTTGTCACTTTTCAAATAGAAATTGATAAAATGGAGCCCGTAAATGGACACATATCCAGTAGAGTCATTCAAAGAGTTACTGTAGTTTTCGCGTCATCTGAGATATTTTGCCCGTCAGATATGTTGTGCAATACAATGCGCATTCTCAACATTCCTGTTACCGTGAAAAACGAAATTTTTTGTTAAAACTATTTTTGTAAGTCGAACAAAATTCACAACTCGATAAAACTGTCCTAGTCATCAGATTAATATAATTGAAATAAATAATATGAATTAAATTAAATTTTAAATATTAAAAATGTTATTGTTGTTTTAACAAAACGTTATTGGACTTTTCAGCAAAAAAATGAAAATAAAAATCGATTATTTTTTGAATTGTTGATTTTTCGGTTTTTAAATGTTGTTGAAAAGAAACGAATTGTATATACGTCAATTAAAAAGGCCGTTTAAATTGTTTTTTAAAATGTTTTATTTTTTTCAGATAGATCAACAGGAGTGAACTTCATATACTTCAAAAAGCCAGTATGGGATGTATCTATCCAACCACTCTATCAGCCACTACTCTTAGCACTAATCACAATGTACGACCCCGTGAGAGATTGTTGTCTGTTTTTTACTAGATATCTACACGAGTGGTAGAATATAAAGAAGAGTGGTGACAAGTTTGGGATCTGAGTCCCGTAGAAAAAATCATCCCACCGAAACTCTAAACTATGAGGGACTGGTCAACTATGCATTTGACGACGTCTACCTGTTTTAAGTTATTGATGTGGTGAAGAGTGATTTGCCTTTTGAAGAAGTCGCTCGACCTCGACCTTCTTCGACCTGATTGAACTGAAAGATCCTCGGGAATCATTTTTAGAATTTAGAAGACTGTACCGACTGTGGATCTTTTTGTTTGCTCGAGACGATAGAATACAGCCCCATCCGAACAGGGGTGCGCGGCAATTGCCGTGTGGCAATAGAATATTTCGGCAATTTCGGCAATTGCGGCAACTTAGGCAATTGCCAAAATCGGAAAATTCAGAGAACCGGCAATTGCCGAAATTGCCGACTGCCGGAAATCCGAATTGGAAATATAAACTTGCTTTTTTTTTGTAGTTTTAAGAGATTGAACATGCATTTTACTAAACAATTTTCTCTTTTTAAAAATGGTATTTAATTCCTTTGAAGATTGACCGTTTTCTTTTAGAAAACTCTGACTGACAGAATATCACAAAACAATGTGACATTTTTCAATTTTCGATATACATTTTTGAAAATTGCCAACTGCCCTGCAATCGGTCGGCGATTTCGGCACTTGCCGAAATTGCCGATTGCCGGAAATTTTGAAAACCCGCAATTGCCGAAATTGCCGTGCACCCCTGATACCGAATGTATCTTAAAAAATTAATTTTTTTGTTAATTTTTTGAAAATTTTCATAAAAGTAAAGAAAGGGCCAAATTATGTTTCTTGAACTACTCGTAGTCTGTGACTTCATTTTCGGCCTTTTTCCGTTTTTCAGCAATAATGATTGGTTTTCTTTGCTCTCTAATTTTAAACATATTTCTTCACAAATGTCTCAAAATAACTTCAGTTCAAAGTAATAAAAATAAAATAAAGAGAAAAACATAAAGAAAAACCAGTGAGTTTTTTCAAAAATAATTCAAAAATAATTCGGTCCTTATTTTTTTTTTTTTGCAAAAAAAAACAAAACAAACTGCCCTATAAAAATTTTCCAAAAAAAAATTGGAAGGTTATTTTAATTTCAGCGGTCTATTTTTGGAAGTTGTCGAACTAATCGATCAAAACATTTTTTCATTTGTTTAAGTGTTATTATGCTTGAGATATTCAAATTCCAACATACCAGGCGTGATTCAAAATCATCGCTTTTTGGACATAAAACCGTAAAACCCAAAATTTATGAAAAGTTTTATTATGATAGAGTCATTCAATAATATTCCTAGTACTTTCACTAAATAATCAAACAATTTTTGTTGAATGGCTAGTTTCAAAATCGGCGGCTTACATAAAACATGCACAACAATAAGAAAAATAGGTATGACTTCGATCTTCAAAAATATTAAAAACAATATTTTTAATTTTACAGTGTTAGCAGTTCGACGAATCAATGCAGCTGAAGTACACTTATACAATCAAATCACGCTTTTTATATTAATTTTTAAATCAATTGAACCCATAAAAATTACAATTCCTCAAACCACGTTGATCCTAAACGACTGCATTAAGAAAAGGGAAAACATAGGGCTTCCCAAAATGACTGCCTCCCGCCTTGTGGCGACATGCTCCTGCCTCGTCCAGGCCGCCTCTCCAGTCAGTGCAGTGCAGAAATTTTTCAAAATCAAAAACATGGAAAATTAGAGAAGGATTTTAGGCCTCGGAAATCAATTTTAAGTCCTCTAGCTACAAAATGAACCGTTTTAGAGGAGTTTCAAAATTGTGAATTTTTAACAATTACCCAATTTTGCCACTTTTGAATAGGTTTTTGATGGTTAAACCTAGATCTTCTGGATAATTCCGCATATATGAATTACCGTATTTCCTAGATTAGTTTTGCATACAAGACTAATTTTCAATTGGTCTGTAGGGGTACAAGACTAATAGAGACTGCACATTTAGACTATTAGAGGCTAACTGCAAGACTAATTTTTGAATGCTATAGAGCAACGTGACCAATTTTTGATTGTAAACTCACCTTGATATCGTTTAAACAAAAATACATCCTATTGCAATATTTAATCAATTATTTGAACGCTTTTAATCAAAAACTCGAGTTCAATTTGCCCAAAATGGGTCCAATTTATTAACGTTGCAGCGATCTATGCAAGATATTGCTGGACTGGAAAAAATGGTCGGGTGCAAGACTTTTAGAGACTGCAATACTAATAGAGGCTGCAAGACTAATTTTCGATTTGCCCGTAGGGGTACAAGGGCCCATAATAGGGATGGAATACTATTAGAGGAAATACGTTACCTGTTTTTGACATAATTAGACAACATTTTATTTTTGATAAATTTTTTAGGGCTCCATCATTACTTCCTTTTTTTTTGGACAATAAAAATAAATTTTCTGCTTAAAAGCGTTTGAAACCACTATATTTTGCAAAAGGACAATTTTTTAGGATTGGAGATCAATTTTATGTCCTCTAGCTACAAAATTAACAATTTAGCGGAGGAGTTTCAAAATTGTGAGTTTTTACAAAAAATTGCCCAATTTCGCCACGTTTTTTATTTTGGTGGGTTATAGATTTTTTAAATTCAGCATATATGAATTACCCGTTTTCAACCTTAAAGTTAGACCATTCCTTGATTTTTGCCCAATCTTTTTTTCAGCCATCTTATGGCTGTTCTTTTTTTGGGCAAAAAAAGTACAATAAATTTTTCAGCAAACGTACAAAACCATTAGAAATTGAAAAAAAGCAATTTTTTAGGGTTCCCCGATATCAATTTTGGGTCCTCTAACTTCAAAAATGATATTTTCCAATAGAAGAGTTTCAAAATTGTTTTTGTGCCATAAATTGCACCCCATTGTTGCCACTTTTAATGGCCACTTTTTGGTGAGGCATTCCTAGATTTCCTGAATTCTGCATATATGAATTACCGTGTGTATTTCGACAAATTAAGACAACTTTTTAATTTAAAAAATTAAAAAGGATTAAAGGACGATCCGTTCTTCAATGCTATGCACTGCGGATCTGGGATTCAGGTACACTGCCTGGTGGTGATCCCTCTGGGCTGTAATTTAAGCCACGTTCTCCTATCCGCGGACTGTGGCCGATAATCTAGTCGTGGATTGGTCCACTTCCCAATAGAGGCCGTTAGGGTGAACCTAGGGAGTGAGGCCGGACTTTTATCTCGTGGCCCCCAGAATGCTTGCGGCCACCACTACCCTGAACTGCTATCTGCCGCCCTTGGGGAAATAATTTTTTTTTTTTTTGGGCAAATAAATAATTTTTTTATTGGAAATGGTACAATTTAAACCAACTACTATATATTAAAAAATATTATCCAATTATTCCAAAAATTCCAAATAATCCAAATATTCCAAATTCCAAATATTCCAACTGAATATTCCAAATTTATTCCAAATAATTTTATGAAAAAGGCCCTTTTGTTAGGGCTGGGAAGTTTGAATTTGGTTACAACTATTGCCCAATTTTGCCGCTTTTTAAACTGTGGTTTTTGATAGGTTAAACCTAGATTTTCTCCTGGGAATTCTGCATGTATAACTTACTTGTTTTCAACTATCTAAACTAGTTCAGACTACATTATTTTTGTTTTTTCAAATTTTTTCAGCCAAATTAAGGACTTTTTTGGGCAACTCTTTTTTTTTTTGACGGGGATCAAAAAAAAATTAAATTAAATTGCCCAAGCTTTTTAACAATAGTTTTTGGTCCCGGAAACCTAGCCTAGTGTGGCCCGGAAAATCGAAAAATCGAAAACGATAATTTTTTGAAAATTTTTAAAATGAAAAAAAACAGACTCAATTTTCTTCCAAAATAAAAAAGTGGGAAACATTTTGAATATCTTTCGAATAAAAAACATAACTTTTCAAAAAATTTTGATTTTCCCACAAAAAAGTGAAATAAGAAGCAGGTTACTGTAGCTGGGATAAAGCTTCAAAGGGTGCGTACCAGGACCTGAATTAAACCGCCGCCCGAGTAAATTTCATCGACATATTTAATGTACCATCAATCACCTGATCCTCCTCTTCCTCCTTCTTTCAACCATTACACCACACAGAGTTCCTTTTATGAAGGTCTCAATTCCCCTTCATAACATTCTTTGTAATTAATGCACCAACAAGCTATGCGAACAGCACTTAGACACCCCCCTCCTACACGCTCTTTGGAGCTCCCCCGTTCAACTCTAATGGACCTGGTAATCCCTTGCGCCGTGGGATTTTTCGGGTCTGGCCGTGTTTTTTATCCGATTTACTTCCCGGAATACCGGAAATGGCGATCGATATTGCAGACAAAGCAAACTTTTTATTTTCAAAAATCCGCCCACTTTTTTTAAAAGTGATTCAATCATTTTTTCTAAAGTTTTTTTTTTTGAAAGCCCGCGCTGGCTTCCCAAATATTTTGGAATGTAAGAGATTGCCGAGTTAGCATTTGGACTCGGCCACGGCCGGGGGCGATTCACGTCGGCTCGGTTTCTGTAGAAAACTAAATGTATTTGTCCGTATGGAGTACAAAAGCTTTGCCAGGCGTTATCCGGCAGGCGATAGAAGCCGCGACGCAACACGCAACTCGCCCTAAGTCTACCCCGGCCGTGGCTGAGTTATGCCTACTCGGCAAACTCTTGCATTTGAAAATAGGAGCGAAGCCGAAGCAGGTGAACATGGCGATGTCTGGCTTCCCTCATAAATTGAAAAGGAATAGAGTTTACCGAACTAGGCCATTTTGGCTCTGGCCATATCTGGGGGAGATTTACTACCGGCGCGTTGCGTGCCCCGTCGCGAATCAGCTCGTTTTTAGTTGTAAAACTGAATGTATTTGTACGTGTGGAGCACACGACTTACCCACGCGTTGTCCGCTAAAATGTTAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAAGAACCCCGTGTGTGATTTTTGCAACTACAGCCCAGAATTAGAACGGGATTAATACAAATTTAGTTTGAAATTCGGATTTCGCAATTGAAAATGTTGACCACGAAATTAAAATTTCGAAAACCCGAATCTCATCTAAATTAAATTCCAAAGTTTTCATTCAAATTTCAATGAGTTCTCTATTGAGCCGAGTTCCCGCGCACGGGAGGTAATGGACCCCTCTTGTAAGTTTAGGGGTACAACGACCCCCCACCACCCCATATGCACAATACAGAACTCTCAAGACCCGCCAACCCTAGGCCCCTCATCCAAAACATATCCGAATATACCCTCTACTGTACTTTATTTACTTGCTCCGTTTTCCCGGGTACCAGGGTACTCCCTAAACTAAGTGAATTTCAAAGGTGGTGGCCTAGAAAAAGCTCTTCCACTGGTTGTGGAAAGAAATGATGATTCGAGGTACTTGTTGATGCCTTTTATTGCTTATGGTAGGGTTTTTTTGCCACGTCGTGTCCGGGCAAATTTTTAAAACTATTTTTCTATTTTTTAAAGGCCCAAAACTTTGTTTTTTTTAATGGTATCGTTTTTTCGAGAAAAAAATTACACAAAACGGGGGTTTTAGGTTTAGGCTAAGGCGTAGGCTTAGGTTTAGGCCTAGGCTTAGGCTTAGGATAAGGCTTAGGCCTAGGCGCAGGCTTAGGCATAGGCGTAGGCTATAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCTAGACTTAGGCGGCTAAGGCTTGGGCTTAGGCGTAGGCTTAGGCGTAGGCGTAGGCTTCGGCCTAGGTGTAGACTTCGGCTCAAACATAAGCTCAGGGGCTAAAAAAGGAGAAACGCCCACAAATTCAATCCTGAAAATTTTTTTAAATCTTAAAATAGTCAATTTTCAGTGGAAATCACAGTGAGCATTTTGAAAATCCAATAATTTTCAGTATTGCTATAAATATTTTCGTTCGGATTGGACAATGAAATAATCGGTGAACCAAAGCTACAATGCAATCCGGAAAGTATTACATTCTATTCTCCTTCAACACACGGAATCCGTGTATGTTAGTCTTGGGGTCTCGACACGAATTCTTCCCGCAAAATTAGTTTTCCGACATACTGAGTACCCCGCAAGTAGAGCGCTTATCAATAAATTATAAATAATCAATAGAGCGCACTTGCCCCAATTTCAAAATTTTCAGAGGACTTTTAACGTATATATGGCTTTTACAGAACACCCGGCTGTCGTCGGCAATTCCTCGCACCGAATCAGGCTGGAGGCTCATTTGGTAGGCTCGGTGATTGCGGGATGCGGCGATCCAATCAGGGGAGATTCGCCACATGGCGTCAATCAGCACTTCACTTTTAATATTGCGAACTTTCGAATCTGGCGAGAGGAACGTTCATTCAATATTCGATGCTTTTATGCACAGTGGATTGGCTGTTGTCAAAGCTGATCTGGATGTCAGGTAGGGAGGCAATCGATAAATTCCCCGAAAATTGATACATTTTCCAAAAATCAATAGATACCCAAAAAATCAAACAATTCCCAGGAAACTGGAAGAAAAATCTCAGAAAATCAATAATGTATTTGTTTTGCAGCGCAATGCCGGAAGAATCGTTCGAACGTGACAATCGTAGTATGCCCCAATGCACATATTCCCTTCGTGAAGGGACATTTGAGGGCCCAAAAGTGTCGAATACACGTGTGGGAATGACAATTGTTCATCCATGGGACTGTGATACATCGGGGAACTATGAAATACTGCTACGTGGAATGGACACCATACTCGATTCACGTGGTGTTATTATGAATCTTTTCCATTGCTTGATGAGAATGGGTAAGAGTAGGGAAGTATCGGCCGGCTACGAAAAGAAAAATATATCACTAGAGCAGGATTTCTAAGCATTTTTCTCAATAGAGCGCGCTTGGTCAAATCCCTTAAATAAAATTATGGTGCATCGAAACGGGTTTACGTACGCTTCTGATAGAGCTGTAGTACTCGAGGAAGCTGAAAAAAATAATGAAGAAAGTGAAAAAAAACAAAAGTGTGAATACAGTCGCAGCCTTCTCAGATAAATTTCAAAAAACTGTGGATGGTCGTAAATGGCGCGTGAAAAGTTTTTTGAAAATGGCCCTCGAGGACATTTCAAAAAAGAGCGATTTTCGCAAAGCCCCCTTCTTCGATGTTTGCTTTAGAAAAACAATGCAATTTTGTTTATTTCGCAACAAAATTTTTGAAAAATGAGTTAAATTTGCAACTGCTAAGAGCGCGATTGCACACACACAGACACACCCATCAAACGTCAGAGACCCCACTGATTTTGTAGATTAAGGTTGAGAGAGAACATGGAAAACGTCACGAACTTTGTTCCGTCAATTCCCGTTGGGTTGGCGCTTGATCATCAGAATGCAATGAAAGTCTAAAATTAAGCCGTTTCGCTAAAACGTAGCGAATCTCATTCCACCGAGTCTATTTTCGTGAGGCGGGTCTCCAATTTTTCAAGTCTTTGCTCGTTATGGTGCATCGAAGGGTAATTCAAAATTTCACATAATTGTTAGACACTTTCCGACCAGTTCCAAATTTTTTATGGTGCATCGAAAGAATTTTGCGTAATTTTGCAATAGAGCGCGGCCTATTACTACTCACCTCTAAATTTCTGCAAACTCTTCCAGAAGGTTTCCCGTGACTTCCCACAAGTGGTATACCTCCCATCACTGACGTCAGCCACATGGCAATCGAAGCCATCTCATTTCCTGACCAACCATCGATTTCTTTCTCGTGCCAAATTAAGTTGTCTGAGGGTTAGGGAAGTATGAGTTTCGGGGTATGAGTCCCCCCGCGTGTACCCCATTACACATGTCCCCATCACGGGACAAGTACCAATGCCACTTGATAATACAATTGGAAATACGTTAGGTGAGTTATTTACGGCCGAGAAAACCTGCAAGAATAAAAGTTCAGCCACCTTTTTGGCGGATTTTTGCGCAACTGTATGTCGCACAAGACTTTACGTCAGAAGCAGTGGGCGTGTCCGCCTGCAGGCCCCGATGTTTTAGATGTAAAAAATTAGATGTTTTAGATGTAAAAAATTGAAGTTTGACAAAAAAAAATTCGGCCACCGATTTTTTTTGCTTTCATGTTTTGTCCATGCATTTCCAATTTTTTTCGTGAAACGTTTTTGTCAGAATTGTGCCGGCGTGTCTTGTAAAGTCCCGCCCAATTTGTGGGCTTGTTTCGACCAAAAATACTGTTTTGTTTCACAAAAACAGAGCCAGATATAAGCATTTTGAAAAAAACATCCCTGTCCTCTCCTTTCTCCATTCTAAAATTTGAATTAGATCGTAAAAAACCCCCGGTCTTCAATTCCAGTGAAGAATTTGGCGGCAGAGCGTGTTTGCTTGTCACAGTTTTTTTGTCGACACTGAGCAAACTTCAACTCTGCTTCCAGCTAGAAATCCTTTACAAGCAAATTCAAATTTTCAGACGGAATCCCAAGCGACTGGAGCCGTGGATCAAAGAGCCCTGCTCCTCCCACTGATGACGTGGCAAACATCACCTCAGAAGGCAGAGTGCCTCGGCATCGTCATCACCGAAGAAGAACAAAATGACGAGTCGAACCATGTTGAGGCGCGAAAAAAATCGATTTGCTCATCGATTATTCAATATCACATCGGAAGATCTCTATGTGTCAGTGAGCCAACCGTCGAGCCAATGGAAGTAGAGATGCCTGGAGCACCGAGAGAAACTGGTCGGAGGGTGTCTGAGCCATGTGTCTCGGTTGAAACTTTCGATATTCGGCCCTTGCTGTACTTTTCGTTTTTGTCGTTTCGTTTGGACGGTCTGTTTCTTCGGAAGTCATATGCTTAAAAATTTTTTATTGATTTTTTTTCCTCCCACAGGGTTCTCACCTTCCTCATGCGGTTGATTTTTTTGCGCTCCATTGACACTCGCTTGTCGGAAAGAAGCACGCATGGGAAGGTTGTGTACACGGACAATGCGTATACATTTTACAATTTCTAAAATCGAGCCGCGCCGCAACACGCAACCCGCAAACCCAGCTAGCCGAGTCTAAATGGCCTAGTTCGGCAAGCTCTTTCAGTTCAATATGAGGGAAGCAAGAAATCCATTTGCCACCACAAGATTTTTGCGTGGCCGTCGCAGTTTTCTAGTTTCTCGGCCACGTTGTCAAAAATTATTTTAAATCGTACTGGGAAGACTAAATTAGATATCTCTCCTGCAGATTGTGATTCGCGGAAAAATTCCATGAATGTTTCTCCCAGTCATTTTTTTTTTGTAAATCCAACAAATCAAATGAGCGCCAAAACCTCACAAATCTCATACTCCAAAATTTGCGGAATTCCTCTTTATTTCTTAAGGCCTCCTCTTTGGAAAATTTAAAAAACTCGTATAAAAACTTTTTCTTCCGTTGCAGCATACGCACAGAAAGTCTTTAAAGTCTGAAAATAAAGTCCCAAAATCCCACTCTCATTCCACCGAGAGGTCATTTTCCGTGAGGTCTCTTTCTTGGGTCGCGACGCGAAAATACTGTAATTTTATTAATCTTTTCAGAACTCAAGACTGTGAAATGCCGATTCCAGCCAGAAGGATATTAGCTAAGCGAACAGTGAAACTCTTGTTTAAAAGTATTCTGTTTCCCATCCACGTGCCATAATTCTTGCATTTTTTTTTTCCCTATTTTGATTCAATTTATTTACAATTTGTTCAATTGCCTAAATAATCAGTAAATAATAATTTAACATTAACACAAGGCGTCACATTTTCGTATCACGCGTGGAATGTAACGGTGCCGTTAGTGTCAATGGTTCCGGCTGAAAATTAGTTATAATTGGAGCGCATTTGCATTTTTCTCGAAAAATAGATGTTTTCGTGTGATCCAGAATGATTTATCGATTTTTCTTAACTTAGTGGCCGAGAAAATGGAATCGAAACGGGCTCAGACCTCGACTTTTATTTACCTGGAACGAAAATTTAAAGTATGATCAACGCGCTAAAGCCTCAATTATGCAAAACGCTTTAAAAACGGGTTTTGGAATTTCCTCGAGACCACTGGTGACGTCACTCCTTTTCAATTTATTATTCTAACGTTGTTTTCTAGGCCACTGATGTCGATATTTTTCCACTGGTTTCTAGATCGCCTGCGATGTCATTTCTCTTCCATACCCTGCTCTAGCGGGTTTCTAGGCCGCTGAAGTAATTATTTTTCTTCCAAAAATAAATCTAGGCCATTAATGACGTTATCTCTAGTTCTTTTCCTTAGGATTCCCTCAGGTTCCTCATATTTCAGATCCATACTCGCCACGTTCATCTCATGAACTTTTTCCACGCTTTTTCACTGCTCGTACTCTTCTCATCTACTGTATCCGGCACCACAACGTCGGAGCAGCAGCTTGCTCATCAATATGCTGATGTCTCCTGGCGGACGTGGTGTATCTGGTGCAGTTTCATAGTGATTTTGCTGCTTCTCCATGAGATTCTGTATTAAACTGGCTGAGGGAGGATTACCACGAACGGTGGCATCGGAGGCGGCAGAGGAGCCATAGATACGGGAGTCTGAGAAGCCATCATGGAGTTGGGGGTAATTCCTTTGTTCGTTGGGAAATCTGTGGTGACATTTGTGGGGCCATAGGGGACGGGGACATTTGGAATACCATCGGAAGCATTGGCGGTGGTGGGGATGCCGGAGCCATTCGTATCATTGGAGCCATCACGTAAGATGGTGGAGATGGTGGGAGACTGGAAGGATTTTTTTTTTGAGTTTTTTTCGTAACACGGGCGTCTGTCCTTCCTCATTGCACTTTTCGCGCTCCGATGATAACTGCCGGACGACGCGTGGAAAAGTGGTGTACTCCCCACGGAATACAAATACATTTAGTTTTCAACTGAAAACCGAGCCGTGACACACGCTATCCATAAATGGTGTCCTAATTTCTGTTTTTTAATCTTGAGTTAAAAGTTTAATAATTATTTCTACAGAATGGCTGGGAATGTGACGACCCACGTGGAACCGAGAATTCTCCTGCGTGGACTCTTAGACAATTCAAAAAAATATTGGTGGTTTTGATAATAAAGGATTTATACGGATAAAAATCTATTATAAAAGCCGTGAAAAAATCATCATCAACCACTGCCTAAAAGATTGAAATTATGATGGCCGAGACTTCTCAAGTGTGGCCTAGGTAAAAAATCTTAAGGCCTTTGAAAATTTGCTCATTTCGAAAATTAAAAAAAACAACTCAATTGATAGGTTGTTTAAAATTAAAAATTAGTTGGTCTTTTTTTCTCAATTTATGCAAAATCAAAAATTATAATCAATTTTTAATCCAGAATTCGTCAAGTGGCCTAGAATTCGACTGCTCGGGTGGCCTAAAATTCCCCCAAAATTTAAAATTATTGATGCTGGCCAAAAAGTTGAATAGTGCCCGAGGTTGTTCGTATTTCACTTTTCTCAGGCGGCCTACGGAAAAAAACTCGGCCACCAATAGTTTTTCCTAGGCCTCAAATGCCCTAATTGTATGTTAATTACAGTATTTTCTAGACAAGATTTATTTCCTTAAAAAAACTCGCGAATAGCACATGGAGCTCTGACTCTTGCTCCCACCAATACAAAATTCCGAATTTTTTAGAAAAAACCGCAAAACTATAAGAATTTGTGGTAGAAATTGGGGCATTTACGTAATAACAATAATAATGTCCGCAAATTTTTTTTCATAAATTTCATAGTCCAGGACGAGGTAAGCCTAGAATCCATTCAATTTTATTGGGCCGCCGATCTTCGGAACACTTTTACAATTTATACAGTATACAACTTTTACCTGCAACTTAATAATATCATCAATACTTCCAGAATATTCTTCTTTTTCCTCTGGCTCAATTGCCACGTCATCATCTTGTAATCTGGTCCATTTTGCTGGCGAGGCGTCGGCAAACAGCATTTAGTATTTACGGAGCAAGATCTTTCAAGGCCCGCATGCGACAGGAACAATTACGCCAGTCTGTGAATCTGAAAAAAATAATCTTGTCTTTTAGGTGACCCTGCCTGCCAAAGTCTGCCTTGCAAGGGACCTTTGACCTACTTGACGTACCTTCAAGTGAGACCTATGCTGGTTTGCCTGCATTTGGGTTTTGTCAGTGCCTTCTAGGCCAATGCCTACCTTTCAAACTATGTAGGTCAACTGTTTTTAAGGTAGCCTGGGTCAGCGGTCACTATGCTATCTACGTCTACAATGCTACCCCGTGCCTATCTACCTGCTTTTAATGCTATCTGCCTTTTCAGCCTGATAGTTTAGGGACAATCTACGCCGGTCCAGCTCACATAGGTTATCTAAATGCCTATCGGGTTTCCTTCCTGCCTGGGCATCCAAAGTGACCTAGGCTTCGTGTTTTTTGTTCTAGATCTCACCGTATATACCTACTTACATGCCTGCCTTTAAGTTTACCTATGCCTGCCTGCATTCCTCGTGGTGCCATGAATGCCCTAAAAACTCACGTATCATAAGTAACAATCATATTGACGAACAACGGTTCGATGAGTTAATATCGTGCAAGCCCAGATCATGATCGGGTGAAGAGAAATCGTTGGCCTAAAAATTTACTCGGCCACCCCCTTACCTGCTGCATTGCGAAATAAGCGTACTGCTGGGAGTGCAACGTGGCACACTTATTGAATCCCGCCGTATTGCCCCATCACACTTTCGGCGAAAATTTGGAATGATGGAAGAGAATAGGATAACCAGGCCATGGATGTATGTGCGCTATGTTGATAATCGGTTATTTTCAACGTGGATTATCAATTGAGCGCAGTTGTCCCACTGGAAGAGTTTTCCTATCTAGGCCACCACCACCACCCACTCACCATTATAATAATAGCCAGCAAGTGTTGTTCATGTGGAATAAATGCTATAACGATGAAAAACACGGCGGCCACGGCCAGAGCTATTGTGTTGAAAATTTTAGTTTGCAGAGTTTCTGATGAACATCTGGAATATTGATTTTTGGTGGCCGTAGAGAGTAAAAACTCGGCGACTGAGTATTTTTCACATTTCAAGTATAAAATTATTCCAAGAAAAATCTGCTCCCGATAAACTCACTTAATATAATCACTAATAATTCCCGTAGCCATGAAAATTTCGTAAAAAATAGAAACATAATGGTAAGGCGGCCAAAAAACAGCACGAAAGTACGTCATAGTTCAAATAATTTTTCATATATTGCGGATTGAATTGGGATACCAATTGACCTGTTAAATCTCCAGACGTGCGATCCAACAAGGCCACAGGCTTAAACTTGTCAGAATATGACGGAAATACATGGAAGATTTTTCCTGGCCGGCATACCTGCCGAAAAAGTAACGGGCTGCGAATTTGCCCCCTCATGTTTTCAAATGGAAGAGGGTGGCCGTGAATAAAGGTAACCTCTACCGGACCTGGGTCGCGACTCGCGACAATCGGGAAAATTTTCTCAAAGAAATTTCGTACTCTCGCTACTTTTAGTTTTCCTGTTTATGGCATCCCCCGGGTCGAGGTACGCTTTTTTCACGGCCACCTCCTCTTTCCATAGTTTGAAAACATGGGAAATTCGAAGCCCGTGAAAAGTTAGGCCCAATGCGATGTGGTGGCCGAGGTTTTGAAAATTCGGTTACTCTCATGTAATAAATCTTGAAGTCGAAGCAAATTTGCGTACATCAAACCCATTTACCTCGTTAGCAGTTTTAGAAAAATTTGGGATTTTCTCATACTAATGAGGGAACGTCATAATTGTCGACACATTGCGTACCCCGAGGAACCAACTAATTCAGTCCTAGGTTTAGGCATATGGTAAGGCATAGGCTTAGGCGTAGACGCCTAGGCTTAGGCTTAGGCTTAGACGGGGTGTCAGAGTGCCTTATTTCGGCTTCATCTACGTACATCTACAAGAAGGGAGAAGAGACGCAGAGTTTTCTACTGATTTCGCAGACTTGGTTAAGAGTGTGCTGACGTCACATTTTTTGGGGCAAAAATTCCCGCATTTTTGATAGACCAAACCGTAATAGCACGGCCAGGCATGCGCTTAGCCTTGAGTCCGTAGTCCTTCGGGCGCGTTTTTCTCAAAAATGATACGTTACCATTTCAGGTTTTTCCGCTCCAAAATCTAGTTATAATAATTTGTGTGCCCGTGTAGAGCGCGTTTGCACTGACTTTCTTTCCCTCGATTTCCCTTATCGAATCCTCTCCAATTCCTTCTCGCAACCCCAACTGTGCTCACTCGGCGGTAAGGACTTGAAAAATCCCAGGAAAAAAAAAAGTGACCAACGATACCCCGGCGTTAGTAAACCGACGTCCATCCACCAGACGAAGAGCGTAATCCCGGAACTGTGTAAATATATTTGAAAGTTGATTTACGGTTAATAGTCCAATGAATACTTCGTGCTCGTATGGAGTCGCCCAATTATCCCTGCTGTAAGCCCATCGAGCCAGCGAGGGGATATGTGGCTGAAAATGCCATTCCTTGATAAATACGCGGCCACAAAATCCGAAGCCAATGGTACTTGCCAACGGGATAAGGGCTGTTGAATACTGGAAAAATTGCGTGCAATACATCATATTTGACGGGCAATTTTAGAAAATTTAAAAAAACGCGCTCTAATGATGCTTGGTGTACTCCTCTCGGACAATAAATGTCAATAATTTTCGAAAATTCGATAATTTTTGTTTAATTTCAGAAAAATGAAATCTGTTTTAGCATATTTTGAGCGCGTAAAATATGATTCTTAAATACTTAATTCAGTATTTTACGCAGGCGTGGTATCCGAGTGTCACCTCTCTAGGCTTGATCCTTGGTACGTAGATCTACAAAAAATGCGGGAGAAGAGCAGACGCAGAGTTCTCAACTGATTTCGTATGAGTTAAGCAAGTGCTGACGCATTCACATATTTTCGGCCAAATAATTCCCGCATTGTAGATTCAAACCGTTATGGGACAGCCTGACACCACGTGCTTACTCGGACTTTTTCACAATTTTGTGCTTCATGCACCATTTGTTTTTGTTTCGAAAAATCAGATTATTTAGCGGGCAAATGCAACGCCCACTGTGCAATACACCATATTTGACGATCAATTTCAAAAATTTTGTATGCTTTCGTGCTTTTCGGGGTACTGTAGCTTTGAAAATACGCATGCACTGGATCTGACGGCAAAATGCACAGTTTTTATAAAATTAGTCTAGACTAGAAATTAGTCAGTTTTCACGAAACAATGAATAAAAACTACAGAAAACTCGGCCACCGATATTTTTTTTTTTCGCGGCCACGATTGACGTCATACCTCATAATTCCGCCGACAAACCTCTGGAAACAGGATTATGCGGCAAATGTTGAAAAGAAATGGAAAAAATGGAATCGAGGCGGCAAGACTATAGCCACACACGATTGAAGAAAATTCGACTCTGATGGTTGGGATCGGAATTCACTGAAACAACTATTTTGGCTGGGCCGCCAGAGAAGACTCGGCCAACGAATTAAAAAAAAAACCTTTTGAAGTTGAAGTACTATTATCATCTTGCATACAAATTAAAATTATAAGTTCATATTTGAAAGAATCGAGGTCAAACACAGTGTGGCACATATTAAAATCTGCAAGAAAATCGTGAAAATTCAATTTTCCGGGTTTTGAGTTCAAAAACCAGAAATCGGACAGGAACCGGCGCGTTGACCATGGTGCATCAGCAACCGGAATTTTAAATAAGTAAAAAAATTTACGATGCTCTGATAACCAAAAGTGCAGTGATCCATTTAAGGGAAATACTGCTGGTGGATTAAACGTTGACACTGTTAACTTGATAGTTTTAATTTGATCAATGCTTGGTACTTGTTTTTTGCAGGAATCTTTGAAAATTGCCAAAACTATAATACAGTCTGAAAATTGATGATAATCTAAAACTTTAAATTCCGTTAATTATCATTATTTTTACGAAATTTTAATATAATCTCCTTAAAATTTAATTTTCTAGGCAGCGGTCTGTGAGCTTAAATTTTCGATTATCCCTCGCCAAATTAAAGAGCAGACTTTTAAGCTTATAAGCTTATTTCAGTGAGAGGAGAGCATTGTGCAAGAAGAGAAACGCAGACTAGGCTTGCGCGTTTCTCGTGCTCTGACGCGAGTCTCGATTTCCGTGGCTTGCGCATTTCTCGTGCGCGCGACGTTCATTTTTTTCCGATTTTTTTTCAGTTTTGCTGAACTTTTCTTTAATTCGTGATTTTTCATTTATTTTTCACCTCTTGTTGCTCGAAAATAAAACTGATTTTTCACACAAAATATTCGACTTTTCAGGTTCCGGCAACATGGGAGTCTTGTACTGAAAAACTCGGAATTAAGCAAAGTGGGACTCGTCGCCGGCGCAGGGCGTCAAACTGTCAATCGATAACGATATTTGGTCGACTAACAATGTTAAAGTATTAGTTTGTTTCCGTTTTTCCACGAAAATTTTCATTGTCAGGGCAGCGAACTGTATCAAAAGCTTCAAAAGTATTCCCGGCACCGTCGTCTTTCCGGAGCAGCTTTTATCGATTTTTTGTCTGAAAATGCAATTTTTTTCTAATTTTCAGCTCCCTGAAACACTCGAAGATGTGCAGCTGAAGGCCGGTGGAAAGTGGAAAAGTGCTGTTGACTCGGTAGGCTGCATTTTTGATACAAGAGGAAACGGAAAAATTTGCGAAAGGTGGAAAAAAGTCCTAAAATGGAGATTTGGCGCCGAACGTCATTCAAGAAATTCCATAACTTTCAAAAATCTATCTGAAAAATTGAAAAATATAAGACCATTTTCAGTCATTTTTAGTAAGTTTCAGCTAAACGTCGAAGAAAGTGCCTAAAACTAGGAAAAATATGAGAAAAAGACACAAATTTTGGAGAAAATTCCTGAAAAATGCAAAACACTTTTTTTCAAAAGCAAGTAATTTCAAAAAAAATCCCAAAAATTAATGCAAGTACGCTCCATCGCCCTTTTTTCCAATTTCTGACTCGAAAAGTCAAACTTCTGGTTTTGTAGGAAAGGTTATGCAAAACGCAATTTTTAGTCCAAAATTCCGAGAAAATTCTGAAATTTAAAAAAAAAATGCAAGCACACTCCATGGCACTCCGTTTCCTTTGCAAAATTTCGCGTAGATAAATTACAGACATTAGCAAAATTCCGACGATTTCGCTGACCATCACGGAAATATTGTAGGAAATTCAAACATTACACTTCCGAAAATAATTCCGCAAACGCGCTATCGCACTTTTCTCCAAGTCCCCACTCAAAAAGCATAGAACATACCTGAACTTGCCGTTTTTTTACACCAACTTCAAATTTACGCGATTTCGCTGCGAGACCCAAGCTAGTGCAGTTGCGCGCATTTCCAACAATTTCAAACTCAATTTTTTTCAAGTATTCACCACAATCGAGAACGTCCCATCAAGCGTGAACAGTGCAAGCCAGGATCGACTCATCAATAATAAATAAATTCCCCATAAAAATTATCGATTTATCGATTTTCTTTGACCCCCGAATCCTCTGTATTCCTTCGTTAGAATGTACTTTTTCCCTCCTCATTTTCTAGAAATATGTGTGTGGTGCAATTCTATGAAAAAATGCATTGCAATTTTTGACTTTAAACGAGACGTACGGTGCATTATTTTATTTTATGTACAGTTCCCGTCGTTGATCAAGTTACTCCACTGATATCAATTCACTGATAAGCCCACACTGACTGCCCAGCCCAACACAATTCCGCAACTTCTTCTCCCTGCTTTGCCATGAATTCGACGGTGGCTTCCCGTTTCTCATGGGGATTCATTCTGACCATGCGTCGATCGATTTTGTTGTCGTGTTGCCTACTGTTTGCCTGCCTGCATGATGGTTCAAATTGAATTTTACTCCGCAATTTGGCGTTTTTTTTTTAAGAGGTTCGATTGATTGGCCGAGTTAATTTTAGGGCACGAAAAATGAAAAATGAGCCGAGTGTCATTTTCGTTGGAATTCTAATTTTCAGTGTGTAAAAATATAGAAACCTCCAGCAAAAAATTTTGAACATCCCCGCCAAAACGTTACGAGACCCAAGTACAGCGAATGAGAGTTGCAAGAAAAAATTTTTAATGATTTGCAACTACGCTCCACAGTCCTTGGGTCTCACAACGTTGTAAAATTGTGGTATTTCTTCCATTACTTCTTATAATAACGATATTCGGTGGTCTCGACACTACACATTTTCATTAAAAATAAAACGGGCGCGATGTGCGCCTTTCAAGAGCTACATACTGCAGTTTCAAACTTTAGTGAAGTTGCTAAGCGTATTTTCAACAACGAATTTGAACTTACAGTACTCTTTAAGAGGCGCACGCCCGTTTTTATTAACAGAAACTTGTCGAGACCGGGCACCGTAGTTTTGACGCTAAAAATAAGATGTATGAAAAAGCGGGTTTTCAGAAAATTTCACTTATCAAAGATGAATTTGAAGTTTCCAGCCAAAATCGCTGCGAGACAGTGTAACGAGTGCAGAGCGCGAAATTGCTGTAAAATTTGATTGAAAAAGTTTAAAATTGAGATATTTAAAAACGGATTCTGGCGTCCCCCGTAATTGAATGAATTTCCCGAACTAGGCCACTTTGGCCGCGGCCATATGGGGTAGATTTACGGCGCGTTGTCGCGACCCGATTTTATGTTGGAAAACTAGGAATGTTTTTGCCCGTGTGGAGTACACGACTTTCCCACGTGTTGTCCTCTAGGTGATTGTCACTGCAGCGCAAGAAATCCAATGAGGAAGGCCAGAACCAAAAAGGACGCGTTTTTGAAGCAATTCATCGAAAGAAGACAGTAAAAAAAAAGTCAAAAATTCAAATATAGAAAAACCACCAAACCAACATCCAGCACAATCGACCTATTCTTGATGCTGCTATTTTTTTTGCACGTATGGATGTGCCGGCGGAAATCCACGTGGCCAAGAAGGCGGACACGTTTACAATGTGGGGTCGGTGGCCGACGCCGTGGCCTAGAAATCCAGCCGAAAAGTTTCCGTCAAATTTTCTGCCAATTTTCTGCTCGGCACTGCTCATCTGCGCGGCGAGCCCCACAAAATTCTTGCTCCTCCTCACAAGCTGAAGCCCGATGAGTTCCTCACTTTCGGCGACCCTGCCTTCCTTGTCTGGAATTTCGTTTCCGCGATCATTTTTAAGTCCTCGTGGACAAGATGCTTCTCGCGAACTCCGTCTTCATATATAATTTTGAGGATGAGGATGGAAGTGCCCTCCGCTGAGAGCCTAAAATGTAGTTTTTGATCACCCCCACGATTTTCAGCTCGAGGCGGCTCCAAAACAAACGTTTGAGCTTATTTTCCGCCTGCTCCAATACTACAAATGTGAATGGCTCTGGCATATTGTTTCTAAAGTCGTGGCTCTTTATTCATTCGATTAAGAGAATATCCATCGCGTCGGGGTTTTTTGTTTCGAATTTAAAAAAAAACACAAGTGGAAGAGTTTTTAAGATTTCTTGGCCACGCACACTCCAAAACCCGAAGTTTCAGCCCGTATCTTCGTTGTCCCTATTACACGGGACAAGTCATCGCTACCGTGGTCGCCACAAAATCGTACCCAGCCCTCTCCAACGCTGTCTACATCATGACAATCATCTCCTTGGTGAGCGCTGTCGCCGCCGGATTCCGAGGAGGATCCTTCGAATACGCCTCGCATACAGGATCCAGACGGCAATCCGCTATGATTTGACGGACTCGTGAAACAGGATCGCTTTCTATGATGCTCACAAGACCGGAGTGACTTCTCGTCTGTCTGCTGATTGTCAGACTGTGTCGGATACAGTTGCGTTGAATGTTCAAGGTTTCCTCAGGTAGGTGTGGGTGCGTGACCGAAGTTCCCAGATCACACCTAATTTTCCCAAATTCTTCCAGAAACTGCGTTATGCTCCTTGGATCGATGAATAAGCTTTCCGCCTCTCCCTCTTCACATTCATCCTCGTCATTATCTTCGTCGCCTCCAAAAGCTTCGGAACATATTTGTCATGTAAGTGCGCTCCAGCGAAAATGTTTTTCTAAAGTTTTGAACGGACCCCAAAATTCTGTCAAAGTGCCCCATTTTGGTTTTTGATCTTCGGAAAATGCCGGAGATAAGAGGCGCAGGCTTTGCAACTGATATCACATGGTAAAGATTGTGCTGACGGCACATGTGACGGAAAAATTCCCACATTTTTTTGTAGCTCAACGCACCTGACACCACGTGAAATTTTTGACAAGTCAAGAAAAATTTCGGCAAATGTGAATTAATTACCGCCGCACGTCGTGCCAGGCTGTCCCATTACGGCTTGATCTACACAAAGTGCGGGATGACTTCTTTTTGCCCAACGCGAATTTGACGTGAGCACTAATCGTTCTTAGTCATGCGCTAAATTAGTAGATAACTCTGAGTCTCTTCTCCCTCATTTCTTGTTGTTCTACGAGATCAAGTCTAAATTACCCAGCGTCTCTGTCACGTGCACGCCTCCCACCCTCCGACGAGCAATCAGCGGATTTACTTACTCAACTTGTTTTATTTCAGCTCCTCTCCGAAAGAACACAGGACAGAATTGCCGCCAATGTGCCGAGGAAGTTCTCTCCACAATGCGTACAGTCCGATCCTTTTCCTGCGAGAACGTCGACCGATCTTCTACGGGGAAGCTCACCCACACACTTGATGTTTGGCCACCAGAACCAAGCTAGCGATCGCCTATATCGGATTCCTCTGCTGGGCTTTTCCAGTTGTTCATTATTGTGTCAGTCCTCTGGTATGGAGGCCATCTAGTGCTGCACCAACGCAGAAAAAGAAGGGAGATCTTCTAGTGTCATTTTTGCTCTATCTCAAAATGCAACTCCGAGATAATCTTCGTCAAATGGTAGAAGTCAGGAGGCCACAGGATTGATGCAATCTGTTGGAGCAAGTCGTGAAGTGTTCGAGAACATTGATCGAGAGCAAATTCAGCACAACGGAGAGCATATGCGGAGAATGTTGTTGGAAAGATCGAGTTCAGAAATGCTCGCTTCAGTTATCCAACTCTCCGGTCCGATCAGCCAATCCTTAAGGAACTCTCGTTTACCGTTGAACCAGGAGAGACTGTTGCATTGGTACCAGCCACCCTGGCTGGAAAGTCTTCGTGCATTTCTCCGTTGCTTGAGAACTTCTACGTCCCGAATGCTGGACTTGTGGATGGAGTTCCGCGTTGCAAGAGTTCGAGCATCATTATATTAATAAGAAGGTACGTTGGCGTCAATTTCGGTTCGACAAATCGTTTGCCGGTTTGCCGTCAATTTTAATTTTTGGCATATTGCCAGATTTGCCGGAAGAGTTTAGAGTGCTTTTTTATAAGACGGAAACACTTGAAACTGTGTCCGTTTTTTTTTGTGCCGGTTGGCGATTTGCAAGATATTTTCACCGGCAATGTGCCTTGCCGATTTGCCGGAAATTTTCCATTATGGCAAGCTGACACCGATATGCCGGAAATTTTGATTTCGAAAAATTGCCGAGAGGCCGGAAGTTTCAAGGCAACTCGCCGATTTGCGAAATTTCAATTCCGGTAATTTGCCGATTGGCAGGAACAAATCGTTTGCTCGCAGTCTATTCGGATAAAAATTGCGCCAACTGGTCATCCGTTTGCACAGAAAAAGCATCTCCGCGCTTCGCTATTGGCCAATTTCATAGGGCAAATGTGACGCAACAAATCACGGGTGTTTCTTGCTTTCCATTGCTGAAACTGTGACTGGTTGGGCCCAATTTTTTGAACTTGACCTAATTGCGAAGCGAAGACTCTGGACGCAAGAAACGATTAGCTCCGTTTTCTCCTTTAGATCGTCTGTCGATCGAGATTCTCTGCTTTAAAAACACATTGCCCATCTTTTCAAAGCCCCTGTTTCAGCAGCTAGTAACAACAAAAAACCTCGAAAACTTCCAATTTTTCAGTTAGCCTTTGTCGGCCAGGAGCCCGTCCTGTTCGCTCGTTCTGTTAGATAAAATGTCAGAAGTCTTACGTACTGTGTCGAAGTGGCGGACGGTAAGCACGATTAAATGCACCATGAGCCGACCAAAAAAACTTGTTCAGGAAATCATTCGCGTGAATGGCGAATGCTCACGGATTCACTAGAAAACGTTGCAATACGAAACGTCGGAGAGAAGGGAACACAAACGTCCAGTGGTCAGAAGCAACGTGCAATTGCTCGGGCTTGTTCGTGAGAGCGTTTCTCTTGTTCCGTGGATGAAGCCACGTCGGCTTTGGACACTGAGTCCGAACATCTTGTTCAGAAACTTGACCATATAAGAATTTGGATGTGGAAAGAGTGTCATTTTGATTGCACATTATTGACTGTAGAGTAGGCTGATAAGATTGTGGTTATTAATAAGGTGAGTTGCAATTGCGCTCGAGGACCGAGTTTTGGTCGCAAGACACGGGGTTCTGGCCTTCCTCATTGAAATCAGTCTTCCGTCTATTGACAATCGCCTGCCGGACAATACGCGTGGGAAAGTCGTGCACACGGACAAATACATTTAGTTTTACAATTAAAATCGAACCGCGAAGCGACACCGCGCGCCGTAAATCTACCCCAGATTGTATGCGTGAACCGAGGCAAAATGCCCTAGTTCAGCAAAAACTCTTCCATTTCAGTTCGTTATGAGGGAATCCAGAAATCGGTCCGAGGGCCCTTGGTTACTCGCGGATAACGTGCTGTCAAATTATTTCAGAATTGAGAGTTTCGCTAAAAACTGTAGAATCGCGTTAAAAATGAGAGCTCACCAAACAGGATTCACGAAACAAGAATTCACAGAAATAGTATTCAGTGGGCGCAGTGTGCGCAGTGTGCGCGGGGTAAGCACACTACTTCTGGTCCCGCCCGCTAAATCCCGTGTTTCTCGTGAATAGCTGAATGAAATATCAAAACTCGGCGAGTTGTTCTGTGGCCGGCACACACACGTGGTTTCAGGCTGTCTCATGGCCCGACAATGGGTACATCAGTGAAAATGCGCTACTGAACAGAACGCATAACGCACGTGGTGCAAACAGGCTGTCCAAAACCATAATGGCTTGACCTACAAGAAGTGCGGGATGTTTTTGCCCAACAAATTTGATCAGCACGTTCTTAGGCATGCGAAATCAGTTGAGAACTCTATGACTCTTCTCCAGCATTTTTTGTTGATCTACGTAGATCAAGCCAAAATGAGACACGCTGACATCACGTGATAACCTGGTTGATACTACGCGTACGGCTTTCCCGGCGGGGCCGTGTTTCTCATTGCGGTTTGATCTACAAAAATGCGGGGAATTTTTCCCCCAGGAAAGTGTGACGTCAGCACACTCAGTCTGCGTCTCTTCTCCCACATTTTTCGAAGATAAACCAAAATGAGACATTTTGTCACCAACACACACACACACACACACACACGCACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACACATCATATTTGACGGGCAAAATCGGCCCCATAATTACAGGGAATAGTCGAACACATCGGAAATCACGAAACCCTACTGAACCCCATGAACGGAATCTGCCCTACGCAAAGCTCGTTCAACGACAAATGATGGGAGATCAGAAGCCACGGAGGCCGGCGGTCGAGCAGCCACATCCCGGTACCTCAGCGCCGCGTCAACCAACGTGGCTTGCAGGACCATCGCAGGGTAATGCAATGTCCCTGTTTTGTCGACTTCTTTAAGCCAATCTGCCAGTAGTGTTACTTCTCATGATTAATTGTTTTTTGTTCTTGTTAGTAGCCAACATTTTTTGATGGACTTGTTGGGATTAATTTGTAAGAATACCTAAGGGATACAATTATTCATTCATTATTAAAATTTGGGCACACAAATTCGATTGTGGAAAAACTGTACAAAAACATTCTTGCAAAAACGTGGAAATTACTCAAATAAACTCCAGGTAGTCGTTGTCGACATCGTCTCGCTTCCGCATCGCTGAAAATCCATTTTTCACTTTTTTTAAAGCAGATGCTAACCGGGGCCTCTCCGTGACCGGATCGTGTTGTTCCATCCGCGGATTATGAGAGTAGGAGCTTATGCCACGTGTCTCATTGGCAGCTTGCCAATTGTTCGCAGACAGCCTGTACGAGTCGGTCAACAGTGGACCGTTTAGAGTCTGAAAATATATAACGGGAACACTAAAATTTTAGAAGCGTATTGTGCAACACATTTGACGCGCAAAGTATCCAGGTAGCGAAAACTACAGTAGTCCTTTAAGTGACTGCTGCACGTGGTGCCCAGCAGGGCTGGCAATTTTTTGGTTCTTTGGTTTTTCTGGTTTTTTGGGACCAAAAATCCAAAAAATCAACAACAAAAACAAGTTACCGTGTCTCTCGACTCGAGACTATTCTGTATTAACATACATCGAAACATGTATTTTAACACAGTCGTCACGTCATAACCAATGAAATACATTTGGCGACATTACTTGATTAACCCCAAAACACCTATAAAACATTTTCTGGTTTTTTTTTGGTTTTTGTTCCAATTTCAATTTTTTTGTTTTTTGGTTTTTTTGGTTTTTCAAAATAACTTCAAATTTTTGTTTTTTGGTTTTTTGGTCCAATATTTTTCTACTTGGTCCCTGGTGCCCAGCTGTCCCATTACGGTTTGATGTACAACCAAGTTAGAATGCGGTAATTTTTTGCCCGAAAACATGTGACGAGGTCAGCACGTTTTTAACCATTGCAAAATCCATGCTTCCCTATTGTTTGTAGTTCAACGTAGATCAAGCCGAAAGAGACACACTGTGAGCGCGTGCTATTGTAGTGCTTGTGTCGATTTACGGGATCATTTTTCGAAATGATTATACATATAATAATCGATAGAATAATAAAATTATGGAAAAAATAATCGGAAAATAATACGACAAAAAGGAAAATTGAAAATCGCTGTCAAAATTCGAAAAAATTAATTGCGAAAATTGAGTTGCCGTAAATCGACACAAGCGCTACAGTAGTCATTTAAAAAGGATGGTCTACTGTACTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGCGCAACACGCATTCTCAAAATTTTAAACTCTCCGCCTATCACAGCTGTGTCTCGTTAGCCCTGTATGGGGGCGGATCTTTCAGCGGTGGAGCCCGATAGAAAAAATATTTTTTCTTCGATTTTTCAGAAAAAATATCGATTTTTTCCGATTTTTTAGAAAAAAAATTTTTTTTTTTGATTTATCACAAAAATTATCGATTTTTTAGATTTTTCATAAAAAATATCGATTTTTTTTTCAGATGTCCAGAAATCCATTATTTTGATTTATTTTTAATGTTTTGAGTTCCATTTATCTGAAATTTTTTTTACCTCATAATGATTGCCCTTTTCTTCCACTGCCGCCTCGCTTAGTTCAGGGTAGTGTCGAGTAATTCGTATTCGATACTGTGAACGTGTAAGCGACAGTGGAATAACCCGGTAGATCATAAGTAGTACAATATGGCAAAGTGGATTACTAACTGAAAATTATTGGATTTTTCTCAAGTAATAAAGGTGGGGAGATCCGAAATATGTGAAAAATATTTTTAATTAACAAATTTTCCCCTGATTCCCAATTTCTATATGAAAAAATTCAAAAAAAAATTTTCCAGATTTTATATTTAAGCTTGAAATCGCTTGAGCCCGCATCACTATTTACAAAAGCTTCCCCAAAGAAATTTGAGAGCGCGCTTGCTTAGTTTGTTTTTCTGCTCATGCTAATATTGTATTTATTACCGCCAAATTCAATTTAACCGGTTTCATTCATTTTTGTCGAAAAAATATATTTTTCAGGAAAAAACCGGTGCAAAAAAACCAAAATCGACAAAAACTAATGAAATGCTGGCTGCTAAAAATTGAATTCGGCGAACCGAATAAAAATAAGTTTTAAATGAAGAAAATTCTATTAGGAGCAAACGAAATTCGCCATTTCAAGCTTAAATATGGGATATAATCAGGGATTTTTGTTTTATTTATATTTATTTCACAGCTTGATTTTCTCAGGGAAACATTTGGGGTTAATATATTTCACAGATGTCGGTAAGACAAATATGATTATTTTTTTACAAAAAATAACCCCCACCAGTAACAGCGTAGATAAATTGAGATAAATGCATGATTAACCCGGAAGAACAAAAGTCGGGATTCTGTTGGGCAATGCTGGAGTAGAAGATCGAGATGCTTGTACAATAGTAGGGCAGGAATGAATCAATCATCTGTAATTTATTTTTTTAAAGCTGGTACAATCCACGTGGTTCAGAGTGTCTCATTTCGGTTTCCGAGCTACTGTTTTGTAGATCTACAAAAATGCGGGAGAAGAGACGCAGAGTTCTGATTTCGCATGGTTAAGAACGTACTGTCACATTTTACTGGGAGACCCCCAAAATTTCGCCGCTTGTAGATCAAGCTGTGACGGGACAGCTTGGCACCATGTGGGTGCCGAGGGGAGCTTTTTGGTATTTTTTGGAATTTCTCGAAAAAAACTTTCATCGATTTTTTTGAAACTAGCTCTTTTAGGTATAGAAGAAAATAGTTTTTTCTCATCAACGCAATTTTTAGATCAATATTTTCGATTATCCGGTGAAAATTGAAAACTTTCTTTTTCTATGTTCCATTTTGATTTTATAAATTTGGGAAAACCTAATATTTCGATTTTTTTTGAAAAAAAAACCAATTCAATAATTTATATATTATAGGCCACTCTTTTTCTCTAATTTCTTCTGAAAAACCTTAACAAGAAATTTTTTTTTTTTTAAACCAATTTTGAGTAATTTTTTTCTGTAAAACATACGATTTTTTTCCAATAAATTGCTAGTTTTTTCTCTCTTTCGGGTACTTGGACTGTCTCTAATTTTGCTTGCTTTTTTCTATATTTTTTCTGCGATTTACGATGAAAAGTACCAAAAAGTCGGAAATTGTTTTTTTTTTTCGATTTTTTAGGAAAAAAAACGATATTTCCTATAAGTGTTTTTTTCATAAGTAAATACTTTTCTCCTTTTCCTTTTGATCTACAATATTTCGACTTTATTCTGGAAAAAATTTTTTAAACGTTTCTTTCTGAAACAATTTTCAGACCCAAATTTTCAATAATTCAATAATTTTTCTAGATTGTGCGACCGAAATATACACATGGTTTTCAATAAATTTATAGTGTTCTCCATTTTTGTTGATTCTATTTTACTACTATAATTTTTTCAAATTTTCGAAAAAAAACATTTTTTTTTTGGAAAATTTTAATTTCAATTCGATATATATAAAAGTTCATATTTTCATCTTTCATCGAAATATATATTTTTTGATTTTTCAACCTTTAACTTGTTTCATTTCCTTCTCTCTGAAAAAATCGGAAAAATTAACAGAAAAATCGAATTTTTTAAAAATATATTCCGATTCGCCCTACCATAATTTTTATGACAAAAAATCGGTGTGCTCGTTATTTTCTACAAAGACTCAAAACCTCAAAAAACATGCTGGGCAACGTCAAAATCGCTCGATATCGAATCTTCAGCTCAGTCTCATACCAAATACACCGCATACAGAAACATCGTGCAAGGAGCTTGAAGAAGAAAATGAGCGCGGTAGATATGCACACTTTTCCACGAAAATTTCGGCCGAAATCATGAAACAGGCGTGGATTGAGCACAATTCGATGGAGCCAATAGCCGGGAAGAGCAGCCGAACCTTTCATTGGGATCTGTGTACGTTCGTCTAACCGATAAATGTTCCTGCATTGATCGGATACAGTAGACGAGCAGCCGGACAAATGTATTTTGCAAGTGGGATATTCTGAAAATTTTTGAATTTTTTCCGAATTTAAAATTTTAGTTTCTCGATTGTTTTGAAGTAAAAGAATTGATTTTTTAGAAAATTATATGTTTTGTTTAATTTATTTAAAAATCTTTGAGGTAAAGCGCAGTGGAGTAGCGCTAGTGGGGACTTTAAAACTGCCTACGATACCACAAGGACCGAATATCATGATAAAAAAATTCAAATGGAAATTTTTCTAAATTTTATAGGTTTTTTTTTGAAAATTGAACAATCTCAGTTGTTTTTGCCTAATTCCAATTTCAATTACCGCTAATTTGTTCGGTGGAGCGCCACGTTTTTATATATTTTTAATTTTTATGTTATTTACCACCGATTTTTAATGTTTTCGGTGTATTTTTGCTCGAATTGAGAAAAAGCAAGACAAATGCAAATTTTCAATTAAAAAGCACGCTTACAGGCGTAAAAAACATGACAAAGTGCCGATTTCGATTTCCAAAATTAATTAATTTCATTGATTTACGAACCTGTAATCGTGCCGCTTTTTTAATTGAAAATTTGCATTTATCTTTTTCTCTAAAAGATAATTCGAGCAAAAAAACGAAAACATTAAAAATCGGTGGAAAATAACAAAAAATAAAATAAATAAATCTTGTTAAAAACGTGCAAAAAATCACGCTCCATCGAATGAGCAAATCCAATTGGCGGTAATTCAAATAGTAATTAACAAAGACTGCGATTTTTTTCAATTTTCAGAAAAATCGTATAAAATTAAGAGTGGTAAATATTTAAAAAATTATTTTATCATGATATCCGGTTTGGTACCGTATTTTAAAGCAATTTCCCCACTAGCGCTACTCCACCTTTAAAGTGCTAATGAATTTTTTGTACGTGGTGTCAGAAAGTCCCATTTCGGTTTAATAAAAAATGCGGAGAGACGCAGATTTCTCAATTACGCTGCTATCGTTAAAAACGTGCTGACGTCACATTTTTTTGGGAGAAAAATTCCCGCATTTTTTGTAGATCAAACCTTAATGCGACAACCAGGCACCACGTGTTTTTACAATTACACATTATCCTGGAACTTTCCAGAAAATTTGAATTTCGCGCCAAAACTTAGGGGTAGGTCCCATCATGATGAGTCACTAACGTCAAACCGATATATGTAAAAAGAACCAATGCCAAACTCAAATTTTCTTAAACTACAGTAATCCTACAGTAATCCTGTACCCCTACAGTACTACTACAGTACCTTGGCATTGTCCCCGACCAATATACAACCCAAAAATATACCTTCAAAAACAAACACGTAACTTTTCCCAAACTACAGTAATCCTACAGTTCTCCCACAGCTGCAGTACTACTGTACCTCTTTAGAATATTTTTCTGTTTTTCGATTTTTTCAAAAAAAATTCAGTTTTTTCAAAAATTGATTTAAAAATATTTCAAGTTACTTTTTAAAAGCTTTTCAAAAGTTTTTCAATCTGTAAAAATAAAATTTTACGGATTTGTATTTTTTAAATTATCTGAAATTTTTCTCAAAAAAGAAGACTTTTTTTTTCCAGTTTTCAATTAATTTCGGTAATTTTCAAAAGTTTTAGGTTTAAAAAACAATTCAATTTTTATGTACCTTAAGATTTTATCGACATAAAAATCATTAACAACTACGATTTGTAGCGGCAAACCTTTGTTTTTGGCAGTGGAGCGTTGCGCCTCGTCTTCAAAAAGACAAAATGGTGAAATCCCAAAAATCAAATAATTGTTCCGCTACGACAAAATACCGCTAAATAGTAATTTTTCATAGTAAGTTCCTTTTCAAAAGTGGCACAGACCTGATGAAACGTGTCGTTCACCTCCTCCGAGTCCTGCCACGTGAGCTGGTGCTCCGGCATGGCTGATACATTTGTGAATTTCGCTAAAACAGAAAAATATTATCAATAAGCGGAAAATTTCGTGGTCTCAACACGACAATAAATAATAAAAAGTATTCGTGGTGAGACCCGTGTTGTTTTGGAGCAAAATTCTCAAAATTGGGGTATCACGTTGTCAGCGTCCCGTTTCGGTTTGATCAACAAAAAATGCGAAGTGATGCAGAGTTTGCTGACGGCACATTAAAAAAAATGCCCGCATTTTTTGTAGATCAAACCATAATACGACAGCCTGGCAGCGCCACGTGCGGGGATTAAAACCCGAGCCGCACAGAAAAAAGGCGGGAGTTTTTTCGCAACATCGCGGCACGGGGCGGTTTTTTGTTGACCTTTATCAATAGTCTAGATACTTGCGATTTTTGCAAATTCATACAATCAACAATAAACCGACCGTGGCGCAGGGTTGCAAACTCTCTTTTTCTGCGATGCTGATTTTTTGCGAAATTCACGAAATCAAAATTACAGCACACGTGGTGTCAGTGTCTCTCATTTCGCGGCTTGACCTATGTAGATCTAAAAAAAATGCGGGAGAAGTGACGCAGAGGTCTCAACTGATTTCGCATGGCGCCACACATTTTTGGACAATTCTCGCCGCATTTTTTGTAGAGCAAACCATAACAGCCTGGCGGGGATTAGAAACCGCGCCGCACAGAAAAAAGGCGGACCGTAGTCTAATTCGCAACACCGCGGAACGGTTTTTTACTTGCATTTCAGATTCAAAAAATCAACAAAAAACCGTGCTGCAAGGTTGCGAATTCGTGCTCCGCTCCGCATCTTTGTGCGATGCTGCTTTTTTAGCGAAATTCACGAAAAAAAAATAGAGAATAAAAGTCCATTTACCGATACAAGTGACTGCCGATAGACTTCGCCGATATACATGGAGAGAAGTGTAGAGAGTGAAATGTGAAGTTTATTAGAAAACAATTTTTTAAAATTATATGTTCATGAGGAAGATTTGCGGTAACTGGTAATCGGTTTTAATTGCCTTTTCGAGTATATGAACTATTTTAATCACTTGATGATCGCTAGTACGGCTTTGCGCTTCCCATCTCTAGATGACGGAATCCACGTGGCGATACTGATCGAGTGTTGTTTTGGAGTGGTGGTGCTGTTGGTGCTGGTGGAGGGGCGGAATTGAGGCGGTTGCAGTGGATATTACGCTGATTGGATTGGTGGAGGAAATGAGAGAAATTTGCGAGCATAAATTTTTAAAAAACGAAAGAAAATTCTTTGTTATTTGGGGAGCAAGGCGAAAACGGTGTTTTTTTGGGTCAAAAAGTAATAAAAATTTACAATTTGACAGAAAAATGCGGCACTGAAAAGCTGTTTTTAGGGTCGAAAATCAAAAAAAAAATTTTTTTTTGCTCATTATTGTGGCAGAAAATGGCGAAAATCGGTTTTTTCAAGTTACATCAAAACAATTTTTTTGCATTTTACAGAAAGATGAGGATGTTTTAAAAGTTTAAAAAATTTTTTAAAATTTTTTTAGCGAATGGAAATTTTCTGAAAAATCGTGCAAATGCCTAATTTGTGCAAAAATCTTATCTGTTCAATAATTTTTAGAAACCACCGGTTTTAGAAGGGTAAAAGGCAAAAAACTGGATTTCCAGTGAATTTTATACTAACAATGGGAAAAATTCGGAAATTTTTTAAGGAAAAATCAGAATTTGCAATTTCTACACATATAGAAATTGAGGAGAACTCCTCGGATTGTTTGCGGAGTTACGATAATTTTTTCGGCTCAAAATTAACGATTCAGAGAAACTTTAAAAAAACACAATTTCAGTGAATTTTACACGAAAAACGGAGTAAAAAGCGTTTTTAGGAATTTCCAAGTCAAATTTCCGATCCTGCGATTTCAACCCTGAAAAATAGCGAAATTGAGGAAAATCTCGGATTTTTGCAGATAAGTAATATTTTTTCCAAGTAGCTGATTTCCGTCGCCAAAACCCAGAATAATTTACCAATTCGACGGTGGTGGGAGAGCCCAGGCTCTCGTTGGGCCGTGAGATCCGAGAACCAATTGTGCCTGCAAAAATCGAGTAAACGCTAAATTGATGTTTTCCGCTATTAAAGTGCATATAGAAATACGAAAAAGCAAAAAAGAAAATTTTTTTTAACCCCTGGAATCCGAAGAGCAGTTAGCTTGCGGATTGGACGAAAAGGGCCTAAAACTTCATTTTCCTGAAATTCCTCGAAAAACCCACTATTATGGGTAGTCGGAGATGGCTGATCGCCTCGTCGCTTGTAATATTGCACGCCTGGCCACCGTAGAGAAAATAAATGTAGACTGCACACTAGGATGATGGGAAGAAACGACAATCGGCATGCGTCTGGAGTGAAGAAATCAAGATTTTTCAGAAAATTAAAGATCTCTAAAGGTGTACTACACCCTTGTTGAAATGGCTTTCAAACATGCCTATGGTTCCACCCAAATATCATGATTAAAAAATTAAAATTCTAGAGTTTGTTTGAAAATCGAAAAAATCTCGGTTTTGGGAATGCCTAATTCCTATTTGAATTAGAGAACCGCCAATGATTTGTTCGATGGAGCGCCCTTGCACGTTTTTAAATTTATTTATTTTATTTATTGTTATTTTCCGATTTTCAATTTTTTCCGTGTAGTTTTGCTTGAAAATTTTAGAGAAAAAGTTAAATAAATGCAAATTTCCGATTAAAAAATCCACTGAAAATGCGTAAAACTAATATGCTAGTTTCAGGTTTATTGTCGTCGAAAGTCATTATTTTAACAGTTTGACGTATTTTTCACGTTTTTACTTTTTAGCAAACACATTAATCTTGCTTTTACTTTCCGATAAAAATACACAACTAATGAAGAAAACAGTGACATAATAATAATAATAATAATTAAAATAATTTACACTATTACGCTCGCTGGGAGACATGAGGGAATACAGAATACATTATCATTGTTCGCTTGAACTTGGTAATTGGTGCAGGGATCGTTTCCATTCCATTATGTTGTCCTTGTACTTGCGTTGTCCTTGAGTAGACTCCCCCATAGTGGGCGGGCGATTAGTGTAAAACAACCACGGAATGAAAAAATAGAAGAAGAATAGAATATATTAATAAAAAAAATGAGGACTGCAAGCGCGCTCCAAATAAACGATCGCGTTCAATTGGCGGTAATAGTTTTCAAATAGAGGCAAAAACTTTTTCAGATTTTTTCAATTTTCAAAAAATCATATAAAATTTATAATTTTTTTTTGAAGCTTTTTAACGTGATATTTGGTCACTGTGGTACCATAGGCGTGTTTTAAAGCCCCCACGAGTCCACATTTAATAATTGAAAATTAAAAATTCTACCTAACAATATCGAAAATTCCAGAATCTCCTTGATTAAAACTTTATTATGCCTAAAGAGTCGCGTCCACACGGAGAGCGCAAGAAATCTGAAGAATATTTAGGATTTTCAAGGGAAAATCAGATATCGGTTTTTTTTAGCAAAATACCACAGAAATTGCGTATGGAATGAGTAGAAGAGCCGGGTTGACTTTCCGGGGAAAGTTTCGACGTGTGATACTCGTCTCAGAGAGCCTCATTCCCAAGAATCCGGTTGCGATGCTGAAGAAAATCGATGGAAAAAGTCTAAAATATTACCCCCTGAAACCCTACCTAAAAATCAGAAAATACGAGAAAATATTGATTAAATGAGCCGGCACATAATTGGACCAGCACTCCATTCAAGTTTCGAAACGTTTCGCCGTTTGAAGTCCAGAAGCCGGGAACGGATAGTGGCTCGAAATGCTCGTCGACACTCATTTGACTGGCCCTGTAGAGCCCGATGATGGCAATGGCGAGCATTCCCACTTCCACATGGTGTCAGGCTCTGAAAGTTAAAATTTAGCTTTTAGACGGAGAAAATCGATTACTTTAAGTGACATGAACTTGATCGAAAAGCCAGCGTTACGGGTATTTGCGGTGCAGGCCCGATTCCCGACTACTCGACACAGTATTGGAATTCGAGCGGATACTAACATCTGCCATTTTTTCTCTGAAAATTCAGAAAAAATAAGTTTTAAAACAGAGTCTTAAAAATTAACGGAAAAATTCGAAACTTTTTTTTCCGCCATTGACAATGTGCCTTTAAGGTACCGTAGCTCTTCGTGTGAGACCACTGCGCCGGGCATCTGATTTCTGGGAAATTTGTTTCGAATCCTACGTTCTTTCTTTCTTTTTGTTTCGGTCATCGTTTTTTTGTTGCTCAAAAAATCCAATTTTCAGACACAAAATGTCAGAACGCCAATCCACATTAATTTTGACTATCAAGGTATCGTCATTTCCTCCGGACGATAGATTCGGTGACGGACCTCGTTTATCCAGTTCATTTCAGCAAGCTCTGTACGTGAATTCCCTCCGATTTCATATTTAAAAGAATAAGCTCGTTTTCAGGGAAAAGCGGCCCAACAATGTACGGTGTCTCCAACGCATTTGATTTTCCAACAAACTTGGAGAGGAATCTTGATAATATCGAAGAGGGAAAAAATCTTGAGACAGTATTTATTTGATTTGGGCCCACTTTTACGATCTGTTAACTCCTGATTAGACGTCGATCCAGAATCCCGCCCTGAAGTTCGGTGAAGTCATCCTATGGAACGAATCGGACTGTGATCACGATGAGAGGATAATCCTTCATATCAAACGAGAAAAACCAATTTATGAAGCGTCTGCCAGCCAACCGTGAAATGGAGACTTAGTATGAAAGTCGGTCGCGTCATCCAGCCCACCGACCTCGTTCTGGACGCCAGTATGCACCGTCACCATGCGTATGTTTCTTCTTGATTTTCGTCTCTCTAACCATATAAGTATTTATTTCAGCAGAGACAGAGGCGACCCGAGCGGAGCCAGACGTTTGGCTATACGCCTGGATTCGATTCGAAACTACCATGAAGGTCTAGACCCTTTCAATATGACTGCAACATTCGAATCTTTTGCCAGTTGCGATCTATCCGACCCAGCACGCGTCTGTGAAGCGGTATTTCCTTTAAATTTTGTACGGGATTTTGAACAAATAACTTTCACCCGGGCATGGAACGCAGGCTCTCCTGACTCTAGGAAATTCGGAGTTTGGCGCGGATACCAAAGCCTGCTGATAGCGACGGCGAAATTGATATCGAGCAGAAAGAATGCTGGAACTTGCCAGAAGACAAATGCCGATAAGGTTGCTTTGTGGATTCTCGTAATTAGATTTTGCATCAAGATGCAGCTTGGCCTGTAGGTCGGGAACGCCTACCGACTTGCGAAAACTCTCGCAGTTCGACTTTATTATCCCACTGCAGAAGCCATTTTCACCCGAGGAATTTCACGGACAAGACCTTGATCTACCCAGCCGTCGGAGAATAATTTTCATTTCAGTGCTTTTGGTCGATGCAGCACAACGGTTTTCTGATCTATGAGCTTCAGCCTGTTCTTCTCAGACAGCATGTAACCTCTGTCAACGGAAATTTAAGTTATAATATTCATTTCTTTGTCCAGAACCTAATTTTAATTACGGCTCCTTACCCGCGTCGTTCCTGCCAGTATCACCTGAGGTCTCTTCCGTTGACAATGAGGGCACTCTAGGATTGATTGATGACCCACACCATCTTCTTTCATTCTTCGTTCATCATCTACAGCTGGTTATGTCCTTGAAGGCTATGGTAATCATGAGTGGTTCTTATTTTGAAACAAACGCTTTCAACAGGCCGAAGTTCGTGCTGTTCGAACCTCAGAAAACAAATCTGTCCGTTACCGCATTGTTCGTACATCGGGATGTCCATTTTTGAGGCCCAGGGTCCTTCGTTACTCAGGTCTCTAAAGTTAAATTAAACTCGTCCTTTGCACCCCTGAATTTTTCAGTTCGTTGTTGGTCCAGTCAAAGGAATCACTCGAATCAATGAAGACTCATTTGTGCCAAACATCCGAATGTCCTACTTCAAGATCCCCAATAACTTGAAGGAAGGAATCGCTATTGAGCGGAGGAGTTCAATTCGTTGGAAAGTGACAAGCTGGCGACAGTGAAATTATGAACACCGAATCCATGTCCAGCGTTCCTTGTAAACTCCGGTCTCTGGTGATACGGTGAGTCTTCAATTATTATAGTTTTTATTCTACGAGGAAAATATTCAGCGCTTGTTCCAAGTGTACTTGAAGCCACCAAGCGATCATGGCAGTTGGCGGAGAGTGATTCGATGGGATTGGATTTCAGCCAGATTACAGTTGGAGACTCCTTGGTAGAGGAAAGTGAGGGTGTCAGCATGATAATTGTAACTGAATTTCGAGTAAGGTTCCTGGCATGGGTGCTCCGTCCATTACTGGCTTATCAAGGATTGCCGTGGCTACCATCATGGACGTATGCTCGACAGCCATCTGTCCTCCGTTGATTGCGATGAGTATCGCCGTCGAGCAAGAGCAAGATCGGCCAGAACTACGCCAGCTGGTAGTTCCATTGAGAGCATCAATTCAAGCACATCAAGAGCATCTGCAGCTACTTCGAGGCTCAAACGTAAGTTTTTTTAAGGTTGGAAGATGATAAAAACAAGTTTTTCATCGATTCGTTGGCACTTCAAGCAGAATTCCATCTGGGTACTAAAGCTCAACATCTTCCAGGGTCTAATTAAATATATACGCATCCCGTTTTCCCCCGTGGGTTTCAAATGTTCTGCTCATTTTTAATCTACCCGTTATCCAACAAACATATGTTAATTTAAACGTCAAGTTCACCACCATCCCATTCCGCACAACTTTTCTCTCGTAATTTTCTCTTAGTGCTCAAATGAAGGAGGTAGGTTATTCTAGTGAATATACCCATGTTAAGCCGCGAATACATCCAGAAAGTCCCGGCATCAAGCCGGGAGATACTCCCGCCATAATGATAGTTGAACGGTACATCCAAGATAGGGTAGCATCGCGATAGACGTGAGCAAGTTCGTTATGCACTTGAAAAACTGAAATTTCAGAAACGAAGATTAGGTGATCGGCAGAAGGTTAAAAACAAACAAATGAAATATAGAAACGAAGACAGTGATCGACGTATTCCGAATACGAGAAGCCATTCCCGGAGATACAGTGATAAGAATCTGATCGAGAACACAATGAGCACACTACCACCGGGAACATGAATTCCATGGAAACACGGAGACAAAGGTCACAGTACTGCAAAAAATGCGAAATTTTTTTGCTTTAAAAAATGCAGCACTGCCGGGTCCCACCACGACAAATTTGTTGTCAGTTGACCAATAGAGTGTGCGCCTTTAAGGTACTGTAGTTTCAAACTTTTGGCAATAGATTTTCCACAGTTTTCCCGTGAAACAAAAGTTTGATACTACACTACTCCTTAAAGGCGCACATCTTTCCGCATTCAACTAACAAAAGGTTGTCGTGTCGAGACCCGCGGCCACTGCAATTTTCGTAGCAGAAAAAATTTGAAATTTTCAAGTCTTGAGGATAATATATAATAGTTTTACCTGAACAATGGGAATTTGCATTTACAAACTATCCAGACAATCGCTGAACCCGAAAGTATCACTAATAACGATCGAAAGTGTCGCGGAATGTCACGTATCGATTGGTAGATCATGAATATGTTGCCAAGTAACGCGAAAATCTTGAAAAGTGGGGGATTTTGCTTTTAAAAAAGCCAAAAAAAAAAACTTAAATTCGCCAATTCCCAGTTTGAATTCCCTCCAAAATGAGAACTGCAGGACCCATCAGCGATTTGAGTGGGCGGAGTCCGAGGGCGCTGATTGGTCGTGCAGTTCTTATTTTGGAGTGAATTCAGCCAAATTTGAAACATCTCGTTTGTTTTGCAATTCTTTTGTGTTATTTTCGACATGGGGTTCATTCTGGCTTTCCTCATCAATGGTGTAATGTCGTATTTAAAACGGGACAACCGGGACGTTTTTATGAAAACACTCAAAATAGAACGGGAGTTACAAACTGGGCGGTTAGAAAAAAAGATAGGGCGTAAATTTTAGTGTATTCGAGGCAAATAAAAAACTGCATGTTTCCAAGTCATTAATCTGCATGAATTGATTAAACTGACTAAACTCACAAACAGAACTTTAAAATGTGCAACTGTAAAATCATGAGGTATAGAAATTGTCCCGTTATCCCGTGATAATTTTGAGAACGCAGCGGGACGTCCCGTTCCCGTGAAAACACTCAAAAAACGGGACTACGTGACAAACGGGACTCGGGACTTGACACCCTTGGGCATTCCTCATTAAATCACGCTCCATTGATAATCGCCCTGGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACCGAACTAAAATCGAGAGAATTGGCAGAGTATTTGCCGCCTGGCCTACGCCCGGCAAAAACTTCCATGGATTCAAAATATGGGCGAAGCCAGAAATCCGTGATATTTTCAGCACATTTTTTTGCTTCGAATCTCAGTTTCTCACCACAACGAACCACTTCACATTCGGTTGCCGCCCCCTTCGAAACGTGGACTTCCAACTGCATTCACCGATTCGACACTTAGCTGGTACTGACATCATCATATTTACCAGCTCATACTCGAACTCCGGAATATACGGCACCACATAAATCGGTGAATGGCTGGTTCTGGCGGTGGCGGCTCAAATGACACTGTTCCTTGATCTAAAATTTGTTTTTTTCTAAACAATTGTCACTACCAAATCAAAAAAAAAATCTTACCAGAACTCATAATTTTTGGATTTTAATTTCGTAAATTGCAAAACAGAAACTGTATTGGAATTTTTTCGCTTTTTATTTATGGGAGGGGGAAATTCTTTGTTGTTGTCAATAAAGTAAAACAATTACAGTAAATGCCAGTACAATAGATTTTCACGTGTAATATATTAACCAATTACTATATTTTCAATAACTCTGTCCTCTAAATAGGTAGTTGGGGGGAAGGTGAGGGAAAATGGAAATAATGAAGTGAACTGTTTTGCGTACTTGCGATAAAAAAATCAATAAATGGGAACAAGCCGATGATAAACTGATAAACGTGAATATCGAGAGAGGGAGGAAGAAAGCACGTATACCCGTTAATGAAATCAAGTTAATGGAATTATTTGGTTTGTGAAACAAAACAACGAAAATGAATATCAATGTTTGAGCATAAGGAATGAGGGAATGGCACTCTGGTGGTGGTGGATAAATGAATCGGGGGGAACGGAATCTATGGAAGTCTAGAATACATCGCATCGAGTTTTCGGGTGAGTAGTGATCCTTCAGGTTCGCCAGACGCTTGCTCTTTCCACGTTCGCGTGAGAAGATCATTCTCGACGCCGAATTGCTCGGAGAGACTGATATCGCGCACTTGCTGGAAAGACAAGAGCCGGCTTCTTGCCAACAACCATGTCATCGAGGATCGCCTTTCGAGTTGGTCGTTGTTGCACGAAAGCTCTTCGAATGATCCCTTGATTCCTTGGTCGGCGCAACATCGCTGGGACGAGCACCTAAGGGAATTGAAAATTACATATATATATATATATATACACTCCTCAACGCCGAATAAATATTAGAGCGCGCTTACTGAGCTTCGCGTTCATCCGCGGCATTTTTGACTTTACACTGAAAAAAGCAGATATTTCAGATTTATCGAATTTTTAGCTTTGTTACAATTTTTTTCATTTTTCGAACACTTTTGTTAAACAGTGAAAACTGAATTAAAATGACTAAAATGAACTTTTTTCGTTCACTGGTTAAGGTGAAATGGTTGGAATTTGAAGAAATCAAAGGGATTTTTCTGAATTTTGTAATAATTTTCTATTAAAAATCGGTTTTAAACCATTTTTTGACCCTAATGTCACAAATGTAGAAACCGGTTTTTAACGGAATAGAAAATCTTTAGAAAATCACAAAAATCCCCGTTGATTTCTTCAAATTCAAACCAGTTCACAACCAGTGGACGAAAAAAGTTCATTTTAATTGTCATCAAATTCGATTTTCAGAGTTTAACAAAACGTTTGAAAAATGCAGAAAGAAAATTTTAAAAGCTAAAAAATCGATAAGAAAATATGCTCTTTTGAGCTGGAAAGTCAAAAGACCGAAGATGCAGAAATGCGAGGCGCAGCAGAGGATCGCGCTCTAATAATCGGCTTTCGAGGAGAGCGTGATATAATATATTTTTTTTGAGAAATTTTGCAAGTATGTTAAAACGAAAAAACCAACCTCAGCATCAGGTACAACAATAGCAATAAGACGTCTTCAGGCTCATTCTTCATCAACAGATGATTGAGCGACATATTTCGAGCGGACATACATTTTCTCAATCTTCCCGGTGCCACGTATCCTCCTTGCGAGAGCTTGAAAATTCTTGCGATCCAAAATTTTCAGCGTTCCCTCAGGAGTCCATCGTCCAATGTCTCCAGTATGCAACATCCTCCTCGATCGTCTCCTTCGTCTGTTGCTCTTATAGTATCCCTTGAAGACGATGTGTTCCTTGCGAACAGACACCTCGCCGGCTTGATCCTTCGCGTAATAGTTCAACTCGGGCACGTCGACCAGCTTGATCTGACACGATGGGATTACCATTCCGACGTGTCCGGCTAGCGAACTCTCCTTTCATCGAGACAGTCCAAGCGGCGACACATTCCGGTTGACCGTAACCGTCGACGGCGACCCATCCCATACGAGCGGCACGAACGAAGGTGAGCACATGCGTCGAAAGTGCGATCGTGATCATCAGACGCACACGCCCTCCGAATCCATCGCCAATCTTTTCGAATACCAAATTGTCGAAGAATCGGCCCCGTCTTTTCTGATATTGAAGCTGGAAAAAAAAAGAAGATATTAAATACTATCAAATCATTCAGATCTCTCATGATGCCATATAGTCTCTGGCCTTGTATGAGATAGCGAACTCAAACAACATCTTCTTCAAAGTACTTCACTTCCGACATCACTGATTATCGTAAAGCCGATTAAAGACACGAGAAATCGGGCACCATTGGCACAGTCGGCCTCAACTCTTTGATATCCTCGGCCAACACACGTATGTGGTCACCGCGTTGGAATCCGACTTTCGCGCCGACACAGAAGCACACACTCTCGATGACTCTCTCGGAGCGTCATGTGAGCCAACGGAAGGAAGCTGATCATCGAATCGGTCGCATGCCACTGTGCTTGTAGAAGTCCATACACACACGTCGGCGATCACGTTCGCGTGAGTGAGCATCACATTTCGGTGTTCCAGTCGTTCCTGACGTGAAGCATATGGTCGCAAGATCCTCTGGTGACGTTTGGTGGACTGTGTGCTGAACGAGTCTTGCGTTCTTTCCTGTCTCGAGATCAAGTGAGCACCTCGACTCCGAGACGATGACGCAGTCGTTTTGAGCTCCTCGGTGACTGGTTCCATCAAGCGTGCTCAAACTTGGGCATTGCTCCTTGAACTTTAAGAGACCTGAAATCAAATTTCCTTTTGGTTTTAATTTCCTTATCTAAACTCACCAGTGGCCTTTGAAATATCATCACAGACAACTTTCGAATCTTGATCTCTGCCTGATTCAAAATGAATATCCAACCGCTTCTATGATCCAAGGGTCTCGTAGATCGGCACAGTCTCATTCGAATAGTTGTAGGTGATTCGGTGATGATCCATTCGGCGCAGAGTTGCTTCGATTAGATCCCAATGTTCTCCGCCGTTGCCAGTCGGAACGCCGGAGCTCACGGAACGCGACGGACACTTTGTCGGCTGGCTCAGAATCGTATTGTACGACTCCCACACGTACGAGATTGAACCATCCGACTGTTATGACTCGACGTCCGAACATCGGCCCGGTTCGAGAAAGGGGCTCCACGGCGAACGACCACCCTGGTAGAGGGTGCGCGCGTCTTCGAACAGGAAGCCTCGTCAGTTCGTCGTCCTTCAGGTGGCGCTGATGCGGGTACCATCCTGGAAATTAACATTCTAGTCGGGGGGTTTTTGTAATTTTTTTTTCGCTCTTTTTCTATTGTAAACCGAGCCACGACGCGACACGCCGTAAATCTACAAGCCCAAGTGGCCTAATTCGGCAAAATCTTACATTTAAAAATATGGGAGGGAAGACAGAACTCCATGATTTGAGAATAAAGGAGGTAACGGTTCGGGCGACGCCATTTTGAACGCTCAGTATCGACATGAGCTCAACAAATGAGATCGTAATGAAACTGGTCAAAAATTTTTATGGCGGTTCAAAATGTTGAAAAACCTAAGTACACTGATTTTTATCCGGCTAAAATCACGAATTTTCCCATTTTTCCGTGTCACATCTGTTCGAAGTTGGATTATTTTCTTGGAATTATCGTTTTTTATTACTATTTTAAATTGGTAGTTTATCTCATTTAATGTCGTCGATTAAGTACTTTTAAAGCCGATAGATAACCAATTTCGATATTTCGGGTCACCTATCGGCTTTGATAAAAGTACTATAAGACAAAATTAAATTAATTACCAATATAAGTAATAAAGGACATTTCAAAAAATCCAATTTCGAACAGATGTGACACGGAAACAAAATGAGAAAAATTCGTGATTTTCACCAAAAACAGTGTAATTTGTGCAAAATTTCTGTGAACCGACATAAAAAATTTTTGAAAATTTGTGGATTTGAGCAGCTTCATTACGAAATTCGTTCATTTGAGCTCATTTTTGGTCTATACGTTCGAAATTGGAACGTCCGAGCCGTTGGTCCTCCTCTCTTTAAGTTTAAAAAAAAAAAGACGGCATTATTTTGCCCAGTTTCTCTCCAAAACTCACCGGCAAAATGCGACTCTGATTCATAGGATCCGTGGCTGACATTTCCCGAATAGGTGACCCCTCTGAACGAGTAGGATCCCGACGGTCGATGACGAGCTACAAGTAGTATCCGAGGCCCTTGGTGACTGCGGCGGCGGCTCCGATATTTGAACGTCCGGTGGAAGGGAAGAGTTCGAGCTTGGTGCCGAAATGAAATCGACAATACTTCTGGAACTATTAAATTATATATAGAGAGGACGGGTGATGATGAGTCATCCAGGTTGTTGTTGTCGCGCTGTGCGCACGCCCGCACTGATCCCCACAAAACAAGACAACTTATTTGAAGTTACGAAATCGAAGTTTCTTTGTTATTTTATTTTTCAAGATGGTTTTGGTTTATATACCATGTAAAAAATACCTAGGGGTTTTTTGCGCGTTTGGACTCAAGTAGAAATGTTGAGCCTTTTCTGAAAAGTTTAATCCGATCAAAATTTTGGAAAAAGGTGAATTTTAGCGACGCCGTGGTTTTTCGAAATATTGATCTGCCATTAAAGCCCGTGGTGTAGTCAAATTTTTTTATTGCTTTAATTAGCGACGACTCAAAATTGTCCTTCTGTAAAGAAAACACAATTACCCTTCATAAAAAAACTTAAATGTAAAATTATCTAAAGTTTGAAATTTGACCGTGGTCAAGCGGCTGGAAACGTTTTTTTAATAATCGTCAAATAATATACAGTGCAATGATCTCATTGCGTTTTCAACTTTATTTAACTTTAAAGTCATGAACGGCGAGATTTGTTTTTAATTTTTCACCTAGAAATCTCGCCGTCCATCGGCTGTAAAATACCTAAATGAAGTTGAAAACGCAAGATAATTGCACAATATACTCAAAATTTGACGTGTTTTCAAAAAAAAAAATACTGTTTCCACCGTAGCGGCGACGTCGGTCAAATTTCAATTTTAACTGAATTTAGGCCATTCGCTTTGTCATAACTTGTTTTGAGGAGTTTTCAAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAACTATAAAAGAATCGACTACACCACAATGTCAGATCAAAGTTAATTTCGAAAAAACTCGCGAATTTTCGCTAAAATTCACTTTTTTTCCGATCGGTAATTTTGATCTGCCATTAAACTTTTCGGAGAATCTCAAACATTTTGAGGATAAACGAGCAAAAACTAGTCATTGTTTGAGTTGCCAATGGTATATAAAACATGAAGACCATCCTGTGAAAAAAAAACAACAAAAACACTTGAAATTCGCAATTTCATAAGTTCTCCAAAAGGGAAAACATACACACACCTCGATTGAGACTGTACCCACGCAGCCGAGTCTGTGATAACCATTTTCTGGTGTTTCTGTGTTTACGTGGTTAATAGTCTTCTGACAAAAGAAGACATGAAACCGCTTCTAAAATGAGATTAAATTGAGGAAACGACGACGACGCAATAAGAGGTGCAAGGAGTGAGGGTGAAAATCGAAAAACAAAGAAGAGATCAACGTTATTCCATCTTTAGAACTTTCTTCACTGCCAGCAATTGTTAATAATAATAAGGTTTTTAGGTCGATAACTCTTTCGGTGATCAATACAAAAAGGGGTGAAAACCCGCCTCGACAAGCCTTTCGATCAGGCCAATTTCTTTATCACACTCTCCGCAGATTTAGGAACAAATTTCACCTCCCCGGCAAGGGGGCAAAAGTTTCGAGAAGTTGTGTTGCGCGCGAAGGGGATGGAGAAGATGGAGAAGATAGGCAAACACGTACACCTACTCAAACAAGTAGTAGTGATAATTGATTTGATTAGTGATTCGGGTGGGCAAAAGGAGCGAGAGAGAAAGTGAGAAAAAGCGAAGAGGGAACACGTGTAATCAACAGTGTGCCGTTCACGCCCTTTGGACTAATGCAGTTTTTTTGGTGGAAATTCAATTAACACTGAAAACTAGTTTTTAAGTGTTTACGCTGTAACGGGCCAGGTTTATGAGGCAAAACGATTGAAGAACTTTAAATGTGGGGTCCGAAATCTGAAAAATATTTTAAATTGACTCCAAAATTTCCCCTGACTCCGAAGATGCGAAAAAATTCAAAAAAAATTTTCCTGACTTTATATTTAAGCCTGAAATCGCCGAATTTCATTTAGAAATTCGCATTGGGGACAAGCGCACTTGCATGGTTCGATTTTTTTTCGTTTAGTTTATTTATTTTCGCCGAATTCAATGTTTTTGAAGCCATCATTGACCATTTTTGTCGAGTTCTCATGGAAAATTTTTTTGAGAGAAATTACATGAAACTGACTAAAAAATTAAATTCGGCGAAAATAAGTAAAATAAACGAAAATCTTCGCAAACTTGGATGCAAGCGCGCTCCAATGAGAGATTTCTTTGGGCGCTAGGTTGAAAAAATGGGGGCACGAATGAAATGTCGGCGATTTCAAGCTTATATATAAAATCAGGGAAATTTTTGAATTCTTTCGCGATATTCCGAACCAGGGAAAAATTTGAAATCAATTAAATATTTGGTTCAGGTTTCGGTACCCCGCCTTTAAAGGATTTTTTGGCTTAAAATTGGAAACTCTTGGTTAAAACTTGTAGAAGAGTAAAACTGTACACGTTTTAGACGATTCAAAAGTATCCAGGGAAGTATGCAGAAGTTGAAAAATTGCGAAAAACAAATAAGGCATTTTCTCAACGCGTGAATGCTTAGACTGAAAATAGTGTATTTCTTCCAATATATACGAAAATACGACTCGCACTGGTTTTCGATCGATATTTATAGGTGGAGTTGCTATGCATAACATTCCGGAAAAACACGAGATTTGAGGAATTTGAGCAACTGTAAAGCCAACAAAACATTTTGTACAATTTTCTTGTTGGTCTTCCTCAGAAAATTATCAATCAAAAACCAACTGACGCAGAAATCGATATATTCTGCTAGTTTTAAAAAAACACATGATTTTTAATCAAAAATTGTTAAAGTCATGCAATTTTCCTTCAATAGTTTTATACGAACTATTTTTTCTCTGGAATTCACATGCTTTAAAGCAAACGGCCGTTTCTCAAGCGGTTGTTGGCTTCCACGCGATGCCATAGAAACACTGGGGCACCAGAGAAACCGGGGTCGAAGCAAATGACCAAAACAACAGACGTATGTGAGCTTTCGTTTTCGTCTTCTCGAGGAACCACCACGCTGGGACTACAACTACGATTGATAACGAAAAAAAAATAGAAGAGATGATGATAGTTTTTGTAGCAATAAAAAGAGTGACAACAAGATACACTGTATCTCACCCACACCTTGCCGTACTTCTAACGCAGATAAGGAAACCTAGTAAGATTCGGGGGGTTCAAAGTGTTGGAGCCAAAAACGGAAGCCTTAACGGAGGGAGCAATTGTTCGTTGAACGAAGAATAAAAAACCATCATCTGCGTCTCAAAAATCACGAGATGTAAGTGAGCGGGTGGGTGAGTGAAAGTGCCGGGGAGTAAAACAAGTTATAAGACACAACGAGCGACGTTTGGCCGCTGCTGCGTTTCCTCACTCTCTCCTAGTGGGCGTGTGGGCACACTCACATGGAGCGCATGCAAGGGTGTATGCGCAAGTGGTACATCGACTCGGTATGAGAACAGAGCACAGTAGGAAGGAGCTCACGTGTTGCTCCACTACTCAGTGTTGCGTACCGTCTACCCATCTGTGGGCCACCGCGGTGCAAAGTACCGCACAGTGGAAGGAGGAGAGTTGAAAAATTGGTTTTTACATCTAGAACCTCGTTTTCCTCGGGATTTTGAAGAGAATTGGTTGACTTCTTGAATTTTAGTCGCGAAAAGCGCGGGAAAAGTCTAAAAAAGATGCGACGAGTGAATTTTAGGGCAAAAATGAACCGACACAAATTGCTTATGAGCAATCGGCTTCTCGATCGGAAAACATATCACAGAAAAATCGGAAAATCAGCAAAATTCGAAAATTATGCAATTTTCTAGAATTCCAAGCGAAATTTTCTAGAATTTGAGGCAAAATGATACGGAAACCAACGGGAAATCCAGAAGATAAAAAAATCTATCGTCGAATTCTAGGTAAAAAGCTCTGTGAATTACTCGATTCTCCGTCTCATGGGGTAGACTCAAAAATTATGCAATTTTACCTTTCTAGGCGAGACATCGCAGGATCGCCTACACAATTTCCGGAGAACGATGAATATCGGCAAATCTGAAGTAGGAGAAGGAAGAGGCTTCGGATCAGTTTTTCTGAAGAAAATACAAAACCTTCGCTTTCGCAAAACTTTCGGGAAAATTCTCAGAAAAGGCGCTAAATCAAAAGCTCAAAAAATCGACGTACGATTTGCGACGGAAAAAGCTATCGAGTAAAATATCCGAATTTCTGTTTAAAACTGGAAATTGCCCAAAAATCCGTTTGTTTTCGCCAAATTTCTCCTATTTGGCGGTCACAAGGCGAGCGGGAGCCGCCCGAGATGAAGAGCTCCACAGAGCCCCTGTGCCAACAACACACCGGTACACTCACCCAAACATATTGGAATTCTCCTGAAGGAAAACGTCAAGGGTACGACGACCGCGGCGGCGACGGTGCCATTTTTCATGGGGAAAAGAACCTTGATCGAATTTGTGATTTATTATAATCGAATTTCGCTTCTATGCCACCCCAATTACGTGACCCACCTGATTAGGTGCGCGAGTATTTCAGTGCGGTCGGCCGATCCCCCGAAAAATGGAGAAGTTGTCTGAAAAATGCGAAAATTCTATAAAACGACGGAAAAAGAAATGAAAACAAATAAAATGAGGCCGAAAAGGTGAATTAGTTTATGCAATTTTAGAAATGTGAAATTGTGGCGAGATCGAAAAAAATGCGAAAAACACGAAAACAGGTCGAAATTTCGCAAATTTTGAACGACGACTAAAATTCAAATGCACAACGTTCGCGCGTTCTCGCGCCGAAGTACGGTCGGTGAAGCCCGCATTTTTGCGCGCGCGAAATTCAAATTTTAATTTTTAATATTTTTTCTTTCTTCTTTTCTTTGATTTTTTAAGAATTGCAAAACGTTCAATTCGTTCATTTTTCGAATAAAATTGTTAAAAAAGACGAAAAAAAAAAGAAAAAATAAGACAAGTTATCGGTGCAAATAAATGCAAGTTATTGTTCGGGAAAAAAATCACAATTTTAAGTGCAAACAGATTTGTAATAAGATCAATCATTCTTTTATTTTCTTCCAAATCCCGACATGGTTTTGGGCAGCCGATCATGCAGCAGCGACCTCCACTCCCCCGAGACACGCCAACGACTCGCCGGTTGAGATGGCGAGAGGCACGAACCAAACGACCATGACCTGGAAGAAAGTGTGTGAATGTTAAGGTCTCTGAATATTCCAATAAAATTAATTGGTTTTTTTTTACCGGTGTTCTTGCCAGAAAAGCGCAAAAATTAATTAAAACTCTAATCGTGGCGAGACCCATCTTCTGAGAAACGAGGTAGGTATGCGCCTTTAAAATTGGGCTACCGTAATCGAATATTTGCATGCAATTGTTCTGATTTCCGAAGAGCGAACAAGAAAATTTGATAGAAATGACACATGAATTAGGTCATAAAATTTGCTTTTTTTTTAGATTCATATAATTCAGATCTCTATTTTGGACACGGAGTTCCATGACCTTCCTCATTGAATTTTTCGCGCTACATTGACAATGGCCTGCCGGAAACAACGTGGGAAAGTTGTGTCCTCCATGCACGGACAAATACATTTAGTATAACAACAAAAATCGAGACGCGACGCGACACGCAACGCGCCGTAAACCTACCACAGATATGGCCGAGCCCATAATGGCCTAGTTCGGCAAACTCTTCCATTACAATTGATCGATGTCAGAGTGTCACATTTCAGCTTGATCTACCTAGATCTACAAAAGCGGGAATCATACGTAGAGTTCTCAACTGCTTTCGCATGTTAAGTACGCTGACGTCACAATTTTTTGGCTAAAAATTCCCGATTTTTTTGTAGATCAAAAAACTGTGATGGGACAACCTGACACCACGTGATTTATGAAAAGCCGGAGAAATGTCATTTGGCGAGCACAAAAAATACGAAATTCGGCCACTGATTCGCGGCCACGAGCCAATGTGCCTTCACAAGACATTGCACAGTTAATAGGGTGATACCCACAAAGGTAAAGGCGCATGCTGAGCATGACTGGCCAATCTAATAGCATCTACATTGATAATTGAAAAAAGAACACACAATTCTGTTTGGCAACGTTTAGCGACGAGTGACATAATTCTCGGAAAGCTTCAGCTGAACAATTTGAGGGATTACTTAACTTCCTGTTTCCCATCGCTTCACCGTCTTAGATAGTGCCATTGCCGATTGGCAAAATGGGATCTGCCCCCAACTGCCAGTTGAATAGGATTGTCTCTCTGCGTCTATCGGTTCTCCAAGATCTTGCGGCGGTGAAGCCGTGTGTGTGGGAGTGTGGCTCCTTCATGCTAAAATGTGTAACACTGCGGGCAACGCATCCGATTGGTCGTGTTTGGCAGCGCACGGCGGGAAAACGAATCCGGATATACTACATACACAAACACACACTCACACACACCGAAGGAACGTTTCCGAGACACCTGAACTGGAGGACTTTTTATGATTTAAGTGTTTCTGCTGCCAGCAGGATGTGTGTGTGTTGTCAATAGGATATGCTATTTTAGTCCACATTAAAGTGATGAAACATCAAACCGGGTAACTTAGTCCACCCAACACTCTGTGAGCGATTAACCCTTTAAGAGTGCACTTGCACTTCTAGGCAGGATTCAATAGAATTGGGGCCTTGGAGCCTAGTCGACTTGCGATGTGAGAGGCAAGGTTGGCAGAGCTAGGATAAGCTTCTGTAAATGTAGGTCTGTAACAAGCAAGGATCTCGCTCTGGTACTGTAGCGAAATTTGAGATCAAATTAGGTTTTTCAATATTTCCAGTAACTGGCACTGTTTCCGGCCCAGATCTTAGAAAGAAAAGAAAAAAAGTATGTTAACCAAGGCGTGGGCGGCAAACGATTCCGGCAAATCGGCAAATCACTAAGTGAATTTAAAATTTCCGGGAAATCGAACTGACACTTTACGCCAATCTGCCGAACGATTAGCAATTGCCGCCCACACCTGATGGATACGTATATATGCTTTCACTCTTGTGGTGGCAGATGTATCACTGCGGTTTAATGAAAAATGTGGGAATATTTTTACAAACTTGCGGCGTCAGCACACCGCTCCAAACCACGCAAAATCAGATGAGATGTATGCGTCTCTTCCCGCAGATTTTTCGAGGATCACAGCAGAACTTTCTAACTCCACCTGTCTACTGAGAAAAGAGCCAAGAAAGCATATTTTCCTCGTATCAGGGATCGGAATCCCACGGCTAGCTAGTTGATCCTATTGCATCATTGAAGCATCTGATTCTCCACTTTGTTCGCTTTAAATCGTTTCAAACTGAAAGCGCTCTCAAGGCCGTCTTCCTCCGATTTTCCGATCATCCTACCTTTTGTTGATCAACACGTGCCCGGCGATCACAACACTGTTCAACCGGAATATCGTGTGAAGATGTTCCACCAAATGGATCGTTCGCTTTTTGGCTCAGGACGGAAGAATGTGTTACTAATTTCCATAAAGTCTGTTCTGTTCTAAAAGTTATGAATCTTCTGAAAAAATTTCAATCAGACTTAGATCCTGTCAATACATTCATGGGGAAAGCAGTGGAGTCGAAGATTTTTTATCAAAATATATGGCTACGTAGTCAGGGAGAGACTGGCTCCTTTGTTACAATATATTAGGTTTTGTTCCTTAAAATGTTCAAATGAAGCTGAAGATTGGCTAAAAGTATATGATTTTTCAATGATTTTTCAAAAATTTCAAGGTATAAATCTACGGAAACTAGTCAAATTTAAAAAAGAAACTAAATTCGATTTTGTTTGTTAGTTTGTTAACAGACAGAGCAGTTATTTTGATAATTGTAACCTGAACTCTATTTGTCTAGTTGACATCGTGAAGTAAGAATGTTTTAATGTGGCATTTATTGAAATTTAATTGTAATAGAATATTTTATTATCTAAAAAAATAGAATTGGATTATAATGTTAATTATTTTACTGTGGAAAAGATCAGTATTTTGTGATAGTTTTAACCTAAAGACATTTCTGAAGATCGTTTTTTGTGAGAAAAAATTATTATAATATGTGTCATTTAAAGCAAATTTTAAAAAAGTGCGGTCTAGAAATGTTCAACTATCAAAAAAAAGTACATTGGATTTTGGTGCCAGTCAATTTATCAACAGAAAAAGTTGAGGGTCCTAAAATAATTTCCAAACTTATTAATGCACGTGAGCATGAAAGCTAAACACTTTTTTGGGATTTTTTGCGCAAATGAATAGTGTATTTACAGAGACAATGGTAGATCAACTTAAAAGAACAAGAAATTTGCAATTTTTCCAGGTAGGACACTTTTTACTCGAATATAACTAACCTAAAATAATTTCCAAAAGTTTCAATGGTGGTAGCACAAAAAAAAACAATTTTTTTGATTTTTGAAATGAATGTAGTTACAAAGACGGTGGTACATTGACCCAACAAAAGTAACGAAATTTACTACTTTTGTCAGGTAGGAAACTTTTTTGCTACTCGAATATAACTAACCTAAAATAATTTCCAAACGTTTTTGTTGGTAGAATGTAAAATAACTTGTTCTTTTTTGGTTTTTTGAATAGTGTAGTTACAGAGACAATGGTACATTGGCCTGAACAAAAAATTTAGTTAGCTATTTCTCCATTTTGACCTATTGGTCCCCTACAAATTAGTAAAAGGACCCACAATCCAGTTATTTTTGTCGGTGTTTAAGCAGACTACAACCTTCGAATTATTTTCAGAACCAGATGTAAAGATTTTAGTTCGGTGCTGCAAAAACCATCAAAAAATACCAAATTTTTCGGCCTTTGTGAAGCACGGCAACGAGCAATTTTTGAGATCGTCTTTGCCAGCTGCACACCCCAGGTACAGAGACTCACTTTTATATCACGTGAACGAACAAAAAATTTGCAATTTTCTCACGTAGGCCACTTATTTACAGCTCTAATTTCACACACCTAAAATACAAATGTTCATCCTACCCATATATGTAGTAAGAATATTTCAAATTCAAATTTTCATGTACAAATCAACTCGTCGCCACCGTCTTATTGTTTCCCTGGATTTCCTGATCTGACCTTGTCACTCCACGTATGTTTGTCTTTGTGCCCACCTCTCGTGCTCACCTTGTTCCAAATTCTACCGTGAAAACTCATCTGAACGCCATTTTCGTATGTCCTATGAGTTTTTCGGATGCGAAACTTGGAAAAACGTCAGACAACTGCAAATGACCTCCCGGGCGTCGCTGAGAATCGGTGATAGCCTTGTACTGCTTAGATGAGACCAGATACAAAGTGCACAACAAAAAACAAATTCGCTTGAGAAGCGCTGGCGAGAGATTCGAAGCGAAAACGAGTTGATTGACAATCCGGAACATATAGACACACCAGAAGACAAAGTGGGGGAAGAAAGGAAACAAAAAAGATAGAGAGGAAGGAGATTTTGAAAAACGCCAATCTCTCTGTGTGTGGGCACTGGGTGACAGGTGAAAAAGTGAGAGTGAGAAAAACGTGGTGGGTACTGTATTGATGAACGATCCAAGTTGCATACTCAAATCTCGTTGATTGGCTTGTGTCCTGGTCGGTTTGATAGAAGGTGAAGTTGGATTTTGTTCACTGAATTATTGGATTTCGAGACATGAGCAAGCTAGGGTCAGGATGACTGTAGTGGCCGGCTAACATTCCGTACACCCTTTGGCCGACTGGTGCGTGCAACCAGGGCTAGTAAGGAGGTACATCCTGACCGTAAGCTTTTTAAAATTCTGAGAACACCCTACAAAAGATATTTGTAAAGTTCTCCAAGACAGGTGCTAAAACTTCTGGAAAGAGTAGCTTAGAGTCAGAATGTATTATTGCGATCTGATCTACAAAAAACGCGGGAGTTGAGACGCAGTATTAAGTCTATCTCATTTCGCATGTTTAAGGTAGCGTGCTGAACAATTTTTAACAAATATTTCCCGCATTGTTTGTAGATCAAACTGTAATGAGACAGCCTGGCACCACGTGGGTAGGTGTCGGGATGCACGTGGTGTCGGAGTGTCTCATTTCAGCTTGATCTACTAGATCAACAATCAGAAAACAATGCGGGAGACGAGACGCAGAGTTCTCAACTGATTGTGCATAGGTAAGCTCGCGCTGACGTCACATTTTTCTAGCAAAAAATTCCTTTTTGTAGATCAAACTGTAATGGGACCCCATGGCACCGTGGGGATGCATTAGTGATGTAGATAAACCTTGAACAATAAATATACATTAATTTCGTCATGCTTGAAACTTGGACCCAAAAACAACTATCTGTAACTAGAAATTCTACAAACAATGAGTTTGCGACTTAAAGCTGGAAGTATAAAAGTTGCGCAAAAAGAGACCTGTGGTCGGGCGCTACCACCATAAAATTTTAAATTTGCCGGTCCCCACACCTCGACATCAAACGTGCAAGCCGGGCAACTTGGTACATCTAGTTCACCAGCACTCCAACTAGCTTCCCAGAACGCTAAAAACATTGTTAAATTATTACTTGTTCAGTACATTTGTCGACTCGACACACCATCACCCCACCTAAACCCAATAAGGAAGTCGATATCTACTCATTTTAGGGACCTTTTTTGCCGCTTTTTATTGATTTGAACAAAAACTCAGCAGAGAAGTCAAAAATTGCCAATATCCAATTTTTCAGTTCCCAAAGATTGTGAGTTTCAATACCTACTAAATCCTCCCGTTCCGCCGTTCTTGATATTATCTCCATAAATGTCCGCTTATCTCCTCTCTTGTACTAAACTAACGTTCACTTATCCACATAATAAATACAATAAATGTATAATATACAAGAATAAATACTACACTATATATAATATATATATATATATATATATATATATAAGTATATAATATATATATGTATATCTATCAAAAAATCAAACAGGATCTCTATTTTCCTCCAGGAGAAAAAGACGATGTCAGGTTGTGCGCAACAATACTCTCACTCTCAATACCGCGACGACGTGGCATACCTCCCCCCATCCTGCCTTTCTTCCCCGTTTCTCCTGATCGAAATTTCCAGCAGCACACCGGAACTTCTTGGTTGGCATGTGAAGCCGACGTGGATCGTGACGGTGATGATGTGGCGGATTGTGATATGGCGGAATCGTGTTTTTTATCCGGCGAGTACTGCGAGAATTGTCTGAAAGAGTGGCACGGCGCCTGTGTTTCGGCTCTTTTCAGCATTTTGACGTGAATTTCATCCCCAAATTTCTTTTCTCATCTATCAATTTGAAAATAAATCAAAGAAATACAAAAGCTAAAGTTCACTCATGTTTTAGCACACGGCGCGAGAGGCGGAAATCGCCTTAAGGTCAGGCACAGAGCAGGCGTGTAATGCCTACATGGAAGCCTAGACTTCTCTGAAACTGGGTAATGTTGTTCCGAAGTGCAGTGCCTGAAATTATACAATGTTGTTCTAATTTTTCGGTGTATATCAAGCGCTTATATCCGTGTGTCCATAGTTGGTAGTCTATGTAGTCTCAAGTTTTGGCTTCTGGTAGGATAGTGAGTTGGGGTCAGTGTAGGGATATGGTCGGCGAAATGTAGTGGTACAATAGCGGTACGGTAGCAGTACTGTAAGATTATGGGACTCTCAGAAAAAAAAGTTTGCCACAGAAGTCGAGGTCCGTGCCGGAGGAGAACGGCTGGTTATCAATAAAGAATACCGACACTTTATGATATCACCGGTAAGCGCTAGACAATAAAAATTCGCATTCTGAGAAGGACGACTGTAGCAGTTTAGCGTGTGTCCGAGTAGATCTGGCGTCTCTTAATTTAAGTTGTAGTTTCCTGGTGTCCCCTGATCGCGAACTTCCCGAGGTAATTAGTAAATATTTTAGTGTGGCCTATGTTTACTGGTTTTACGGACTAGCCCGAGAAAAACTCTGGAACGAAAAAACCCAAATGGGGGCTCTTATCCAAGACTACCAAAGTTTCTATTCTATGCAATTCCCTAGTTTTGCATTTCCTCCGCCTAATAACGCATGTTGTTTACCGTCGACTATCCCAATGCTAAAATTTCGGAATCATGTGAAAATTTACCTGATCGAAAGTATACGGTAACCGTAACATTTGGAAGAGGAGAAAGGAATTCGTTGCAGCCTTGGCCCATTCTCCCCACAGGCATAATTCAAAAAAATATTTATCGCAGCAAGAGTGTGGATTTGCCACAACCCAGCGGGTTCTCCCATCCAGCATCTCTACCTTTGCGGAGGCAGACACTGAGGACCTTGATCTGCCGCCGCGTTCCGACAAATGTAATAGCAGCCCCCCGCGCGATAGCTTTTCACTATTTCTTCTCTTTCTGGCTACTGTGCTGCCTCCTCCTGCGCAAGGATGATGCTGCTAGGATGATACCCTAGAGATGACGGAACGATCCGATAATTATATTATTGATGGAGACTAGAGATGTGAGATAGTCCCGCAGCGAAGGAACCTGATCTTGTTACAGTCTTGGAACCCAGGAACAGCGGATAGCGTCGTCGTATTATCGTTATTCATTTCGTAAATAGATTTTCTCTAGGATTGATTCCCGGTTGAGCTACGTCACTGTCCGAGAACATTCCGGAATGTTATGTGCAGATGTTCTTTTAAATAACCTTTCTCCTTCCTCCCGCAACAACTTTCATTTCTATGCGTCGAGATACGATATCCAAGGCCACAATCAGTATCTTTTTTCGCTGCTGACTCTCTCTCTCTCTACTCGTAACCTTCGCCCATCTCGTCAATGGTTCAGAATCACCTACCGCAAAACAATTGAAAATAAGTGAGTGTGGAAGTCACGTCATGAGCGCCCAATAGATAGAAAGAGAGAGAGAGAGAGAAGTGCCGAAGACAGTGTCGGAATAGAAAAGTGGAACCAGCGGCTGGATCGTCATTTGTTGATGATTCCTCGTGCCTGCCATTGTTATTCGATATTCCGATATTCGATTCTTTATTGCCGCCCCCGCCTAAGAGCCCGTGAGAATCAGAACGAAGCTTGCGCGCTCCCTATTAAAAAAAAAAGATTATCAAATTTGAGCAGAAGCGGAAATGGAAATAATAGCGGATAACGTTACAAAAAGAGCGAAATGTTTTGGGCAATAAATTTGTAGTTTGATGATAAGAGTGGCATTTTGATATGAGGAAGCTTGCAGAATGTAGTGGTGAACAGGAAGCTTTCGCTATGGAGCAAAATGGATTCCGTCATTTTTAACTTAAAGAATCGGAGTCGAGATGAAACACCCAGCCGGGCTGAAAAATTATTCTGCTATCGAGGCATGCTTGAAAGTACCAGGGCCTTACACAAAAGATCAGGGATCCTAGTTCTGCAAAAAAAATTTCTGCATAATGAAATGGAGAACAGGGCGGTGCGGCAACCAAGAGTTTCGGCAACTTCGGCATTTGCCGAAGTTGCGGAACCCACAACATTTTGGTAACCGGCAATTGCTCTCGAAGTTGCCGAATTCAAAAAAGTTCGGCAACCGGCATTTCCGCGGGCGAAATCTCCAAATTCAAAAAATTTCGGTAACCGGTTGCCTCACAGCTCGGCTGGAGAAGCCGGTGGTCAGCTCATAAGAGTATGGTTCACCACAACCCAGAAATACCATCTTTCAGTGCCTTATACTGTAAAAACACTCTGGCTCAAAGTGCCCCAGAGGCCCTGGGATCTATCCTTACCCTGGAAAACTTGTGTGAAATTTCGAATATTCACAGCTACTAGGTTCGTAGCTCTAGCTCAATGTTCCCACTCTGCCTTCCACAGGACGTATTTCTACAATATTTTGCACAACTTGGTACAGTACTCAGCTTTCCCTTTTTGCACCAAAACATTATTGATCCTTACGATTAGCGTCCTAGATAGGCTACGCCATCGAGATCTCGAATATGCTAATTCTTAGGAAAGAGTGATGTTTCATCATCTCCTGGGATTAAAAATTTCGGAGGAAGAACATGGCAAAAATCAGGTTGATCGTGACACTCGTCGGGGGCTCCTCTCACTTCTTCCCCATCTTCATCTCTCCTTCTCTTTCCCGATCCGATCTTTTTTCCTTTCTTCCATTTTGTTTTTCCTTTCCATTTTTTCTTCCTTCTTGTGTTTGATTAGCCATCCTCCTTGGAGCCCTTTCACCTTGTTTCATTTTTCTTTATTCAGGATTGAATAGAGATATGGTTCCGTAAAATCAGTAATTCCAATACTAGAAGAATTAGTAAGACATTCGAAGGGGGGAAAATTCCGCGCAAAAATCGACAGGAGGTTCGTCCGGATTGGGTAATCGTCGGAGAAATGAAAAATCGCGCGCGCTCGCCCGCGCAGATGAGATATATTCTAAATCACATGGTCAGCGAAATGATCTACGATGGATTGCGTGATCTATAGGCGTATCAAGGAGATTAGCACTGCTGGGCGTCGGGATTCCTTGAAGGAACACGATCTTTGAAGGAGACGAGGAGGTTGTGAAATTTAATTGTGATATCATTCGATTATGTACTGGCCTAGAATATACATCATCTTTGAGAATTCTGGTCGGCTGTTTTCGGGAAGTTCTCAAGGATCGGCGCAGCCATGTCTGTAGGAAGTGCTTATGCCAACCCCAACACGTCACCTTCTCAATCTACTACTTAGAAGTTCAGTCCTGCCAATCCGCACGCTCCCACCACAATGTCTTCGTCGCCTATCCGTTTCTCCTGTCGAGTCTCGGGTCAAGGCAAGTGTGCGTGTGTCCCTTCAGTCGTCGAAGTCTTAATCATTTATTTTTGCTGCTAAAGTCCGAACAGTTTTTTCTAGCCGTGTCGGCGAAAGGGTTCTTATTGCGAATTCACCTCCTCCCACCCGAGAAATGGCCCCCCTGCCGCAAAACGTGACCTAGCATTAAATAAAAACAACACAAAGCGCCTCCTGCATCATCACGCGTATATATGTATTGTTGAAATATAAGATGGTAGGCGGGAAGAGGAAACGACGATCAAGATCGACTGAAGGTTGCGCAATCGAGATGGTCTCTTCCCGGCACGAATACCTCCTCCTCGTACAGCGTACCAGGCACCCGCATATAGCTAAAGTTCTCCGCCCATTTTTACTTTTTTGTGCTTTAACATCGCAGCAGCGCTTTTGCCATTGCGCCCGACCCGATCCAACTTCTTATTCTTGTTCCTCTACTCCCCCGCCCATGTCCTCCCGATATCAAAAAAGTGGGAGGAGCATGCATAGTGAGAGGGCGGGGCCGGGACACACACAAGGCTGGCTCAACCCGAGAAGAAGGAACAACAATTATGCCGAGGACAGTCTCGACAGGCGGCCCGACCTGCGCCTTGATTACCCCGCCCGTCCGCGTGCCCAGCCGTGCACGGCTATCTTGTTTGCCATTCATGTTCCTCATTCGACGTTCATCATGCTTCGGTTATGCTTCTTCGTGTTGGTCCGGTTTTTCTCTCTCTCTTCGGCCCTCTTTCTTCATTGGACCAGATGCCATTCGCCTTTTTGTCGCCTAGATAAGCGCATATTTCTCATCTCTTCTTTGTTTTCCATCATTCATTATATATCCAATATCCCACATCCTATATCCTCGTTCTCTAAGTCCCTCATTTTCATTCATATGCCGATCCATTTGGTACTGGTGGTGTCTTCTTAGTTTTGCTTTCCCATTCCTAGACAATTCCTTCTATTTCCACTTTTTTCTACACAATGCAGACAGCCCATCCCCACGCGCTGCCCTTGCTCTCTCCGATCTTCAGCCACAAACCGGCGCCTCGATCAACGTTCTCAATTGGCAGTGGATCAGGCAACTGGTAAGTCGAGTTCTTATGTAACTAGTAGGATGGTAGACATCGAGCTTAACGATGTCTGGCATTCGTTACGTACGGGTTCTCGCGCCGCCCATCGAAGCGCTTGAGCGCCGATTCACGGCTTTATCTCACCCCGGTCTAGCAAGTTTTCCAATCCATCCCAAATTACAGGACAAGCGGTGTTGGTGATGGAGTTAATGGTTACATGGACAAATGCGGAGGAATGTTCGGAAACAGCAGAAACAACGTGAGTTATAAAAACTGGGGGGGGGGGGGGGGGGGGAAGTGCTGTTATAGGCGTCCACAGGGACATTGAGAACCGCGTGATGAAGAGTACTTTTATCCGAATTAAATCATAGGCTAAACGAAAACAAGCATCAGGTTCTTGTGCTTTGCACATCGGAATATCCATCTCAATCAAAACGCGGGAAACACGAAAGCCTAAGCTGGACCAACTAGTGTTAAATGCTTAAATGCAACCCAAAAATGAACAGTCTATCACTTTCATCTTCCTGTAAATCAGAGAACCTGAAGCGCTGGCAATGCGCACACTTACAAAAAGTGAAAGCCGATATATCAAGCTTATCACCTAGCGGGACTTCGCCCATTGTCTCATTGTCTCTTGGCTATCCGTCCCACCCCCCCGGATCATCCGCCCCCTTTTATCACTCTCGAACAGTTTCGCGCGTTGATTCAAGGACCGATTCGCATTCGGCAGCAATAACCCGTCGTCCTGCAAGCTGCTTTTCATCGAACTTCGTCAGGCGGACTTTTTTCCAGTAGTTAATATGTGAGTTTTTTTTGTTTTTTTCTTCTCCGAGTTTTCTACAAGATCCATTAACATTTAGAATGAGATTCGGCAGCCGGTTTTCTTGATTCTAATCTCAATAATTATTTCCCAGTGTATATAGTGACACGGACAAGTTGCCCGATTGCGAGGAAATACCAAAAGTCTTGTGCTGTACCCACGTGTCTGATAATATGTCTGTCTGGTCGAGTTGTTTCACTGAGAAATACCCCCACAAATTGGAAAAATACGAGACGACCGATGAAGAGCCACCGATTCGACAAGAGCTCACTGCAAAGAAGCAGATGAAGCCAGCTAAGGCAACTAGCAACAGAGTTGTCGGAGCAGTGCTTGACGTAGACCATGAAGCCAAGGAGCAGTTCATCGACTCCAAGGATATCAGAAGAGCACCACGAGTCGGTCAAGCTTCTCAGCCAGGAGTACCCGATCACGAGGTCAACGACGGCGACCGCCGAGTGCGCAACCGAGAAGTCTCAGCCACCATTCTCACCATGCTTGTCCCGCAAGTCGGCTGACGAAGTCTTCCTCTCCTGCTGTCGCCAACAGGTTCCATGCAACTGTCACTGAGCCTCTACAGAGCATCGTAAGAACATGTCGCCGCTGAAACTTTGATCCAGGCGATCCAGCAAGAGCACTGATGAAGGTAAGAATAGTTCAATCTTCCTATTGAGTTTTTTTGAGTTTTTCCAAAATTAATTCTTTCAGTACTTCTCCAAATGCTCTACTGTGCGGCCAACCAAAACCGCGACAACCGCGCGTGCGCTGCTCCAACCTCGGCATGTCAAACGCGGAACTCGGCGTCGGCGATCGTTGCCTATGTGCAACATATCCCCGGCGGGAGACTGTGTAAGCCCTATGGAGAAGGAGGATCTCGTCTGCCGTCCAACTGGAACGTCGTGATTCATGTACTGTGCCAGAGGTGGTCTTCGTAACTTGGATCAACTAGACCATCATCCCCGTTCTCTTCTCCCGTAATAAGCTGGATCAGGTAATAATCAATCGCCGATCCTCGTCTTAATAATTTTCGCCCAATTTCCCATCTCGTCCCCCCTTTTCAACTCTACAACATTTCTCAGTGATATTCATCTGAACCGCCCGACATACATCAGTTCCTCATATTCCTAACAGGGTTAAACAAACCCATCCACACCGTCCCCCCACGTTTCTGAAGACCCCCCCCCCCCCCACTTAAGGACCCCAAGTCCTAGTTACTAAATGTGAAACATAATGGCGAGACTGCAATACTTGTCCCCTGAATCCATGTTATTTACATGATAATCTATGACATATACTTTTTTTTTAAAACACAAGCCCCCTTGAAAACGAACCTCATCATTGTATGTCAAACGGAACCTCTTATTACACGATTAATTGTTGAAGTTTAGCGAATAAATCAATCATTGCTCTCGTTGGGTCTATGCCCACAGCGAAATGACCCGGTGCAGAGATAGATAGTTAGAGGGTCATAGACATCCGGGACCCAATGGGGCCGCCCGCGGAAGAGACGATTTGTGTCGATTTACGAAATGATGACAACCAGGAAAATTTCGTATAGAATCGACACAAATCGTCTCTTCCGCGCGCCACGCCCCATCGGGTCTCGCGGTCGCTCTATAACTATCTACAGTCTCTGTACCGGTAATACTATTGCAGTAATCGCAGGTCTTAGCGATTTTTCATAGCTTCACGTATTTCTCGATTTCCTCATAAATTGAATTGGATGCCTAGTTTTTGCTGAACTAGGGGCCATTTCGGCTCGTCAGTATATGGTGGGGTAGATTTACGGCGCTTTGCGGTTCGATACAATTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAAAGAAGTACACGATTCACATGCGTGGTCCGACAGGCATCAATAGAGCGCGAAAAATTCAATGAGGAAGGTCAGAACTCCGTGCAACTTTACTCGCGAACTCTGGTGCGTGTTATTGTCTTTATTCAGTTTTCTGAGACGTAATGAATATACTTTTTTACAGCAAAACTGGAAAACTGATACAAAAGTCTCCAGAAACTAGATATTGAAATTACAGTACACTTTAAAGGCGCACAAACCATTTTCACAGTAAACAAAAAGTTCGTGCCGAGACATTTCATCCAGATTCTCAGTTAAAATTTTACAACACTCATTTTTCCTTGAATATTTAATGAAGTAGGTTCGAATGGAAAAGAGAAGAAACCAAAAAGTGAAATTATTCTCAAAAACTTGATTCCCAAACCGGTATTTCGATTTGGCTATTTTCGACCAATTTCGGCAGAATTTTTTAGCAGAATTTTACAAATTTTTTAGAGTTAAAGCTTATTTTAATTATTTTTCTCTGAATTCACCTATATATGAATATCTTTGCTTTCGATGGATCTTCCTCAAAAGTACACATTAGTTTTATTTTTCTACAAAACTGTGCAAAGTTACGTCGTGGTGTTTGTGCCTCGGATTTAAAGAGAAATGGCATTTTTCAATCTTTTGTCGCAGTTTTTCTGCTTTTTTTTTCACCTGTTTTTTCGTAGTTTCCTAATAAAAAGATCGTCAAGTGTTTCCAGGGGTCATGGCTGGATTTGAAATTCAAAGAGTCGAGTCCAAATTCTTCGACTTGGACGACATATAATCGCCAAAGACTCCACGTCTTGAACATTTGAGATTGGTGATTTGAATCCAGGTCTGAAATCGCATTGAAGACCTAAAAATTCTAGTGATTTTCGTTCTGATTTTTTCCAGGAAATGTTGGGAGTTTTTCGAAGCCAACTCAAAATGCAGACGGATACGGCGTTGATGCTCCATACTTGCTGCTGGAATCCGTTAGGAGTTCATTGTCCGTGAGAAGTTATATTTGCCCCGAATTTTAATTTAGAATTCCAGATTGACCCCCAAAAGCTAGTGTGAACATGCGAAATGTCTTTCTGAACGCTGACAGCAAGAAATTGTATCTCTTGAGTCCGGCTTCGCAGCAACACTTTTACGGCAACGGGGTGCAGTCGTCTGCATGCATGAAGAGGGCGAAGGAATCCGGACGGCGCGCTGAGCCTTTTCCCGCACGCACATGCCTTGTACTCCACACTTACACCACTCAGGGCTTAGGAGGTATTAATTAATATAATAAAGCACTTATAAAATACAATTCCTGGTTTTTTTTTGTTGCAGAAATTGTGCTCAACTGCAACACATCTGCAAAGGAAAGGCGAGAAATTCGACAGCCTCTAGACAAAAGTGAGTTCCTGGAGGGTAAACGGTGCAAAGATTGATACTTGGCTGAGACAAGACAATACGTGCTCGAGCAAGAAGCAAGAGACTTTCGTTATAAACTTCAAATTTCTTATGCTTGAATCTAATTTTATTCTTTTTAAGTCGACTGCTCTGTGAATATAATTCAAATCCCCATTCTGTAATATTTATTTTCTACTTTTTTCACACTCATTTTTGTGTTGTATTGGTGTAATTAACCTGGTTTCATGACTTTTTTGCAAGGAAGTTTGTTGAAAACGCTGCTGCAAAATTTGCCAGCAAAAAATTTTGTTCAAGCCCGCTCCATCGCACAGTTTGAACGTCGCGGTTCGAAGTTAGATGTGCAGGTCATATAGCAGAGAAACACTCCCTTTTTTTCTCGAGAAGTTTCACCAATTTTGCGCGATCACCTATTTTTTTGCTTTTTTGGCCTAATTCTCAGATATTCCTCAAAAACTTGAAAATCCAATCTAGAATAAGTGGTAATGGGTATATTCTAGGATTGTGCAAAAGTTAGCTTGAATTGGAATCCTCGATTAAAGCTTTCCTACCAAGAAAAATGTGTGGATATTTTGTACAAGTTTTTCATCTTTTTTTAGTAATATTCTCTGTGAAACTCCTATGGTTTCTCTCAAAGTTGTAAACTTCATAAACGCTGTCAGGGTTACCAGATTAAACAATGACCGGGAGCAAGCACCTAAACTCACCAGAGGAGAAAAGTCAAGGAGGTTGGTAGTTCAACATCTAAAATATTTAAATTTCTATATTTCAGCCACAAGTTGACGTTTCGATTCCCGACAACGAGGCCGTCGAGCAAGCAGCTCACCGTGGAGCAAAGACGTCTGCCCGAGGCTGCTGGACTTGGAGATCAACAAGCAGGCCAAGCAAAGCCGCTCCGAGAAGAAGGCCCGCCCTTAAAGCTCTTACGTCTCCAAGCGCGGACTCGAGCAAGTGACTGGAGTCTCCCGTGTCTGCATTGCAAGTCGAAGAACACCTCTTCGTCATAAACAAGCCAGACGTGTTCAAGTAGCCCAGCATCTGACACATCATTTACTTCGGAGAAGCCAAGATCGATCAGCCAACACGCCCAGTTGTATTGAGAACTGAAGCCAACTCGTGAGACCCCACAACAAGACTGTCGAAGATGAAAAGTCGAGAATGAGGATGTTGAAGTAATTCAGTATCTTAATATTTATTACATTTGTACGGTTAAGGAGGTTTCCACCGGCATTGAGGAGAAGGACATCGAGCTTGTCATTTCCCAAGCCAACACCACCCGCAAAGGCCATCAGGGCGCTTAAGGAAACTGACAATGACATCGTCAATAGGGGCAAGCATCATGAGCCCTATCTTGTAGCTTGTTTCCTGATGACTGAGCTTGCAGATACTCTTGTTATCGTTGTATCTCTTGCTTATCCCGTTTTCCGTTCCAAGAAAACGTTTATTCTTTTTTAACCTTTTTGTTATGTTAAAAAACAATTGCATCTTCGATACGAATTGTACAACCTACCTTTTACAGAAAAGAACAATAAAATCGCTGTTTGTGTAAAACACCCCTCTATTGATCCAGAACTCTCACTTCTTACAATACTTTACTCGTATGACTGTGATTCATCTCACCTGCTATCACTTTATCATGACATTCAAGTTTATATCAACAGCAAGATACCATTGTGTGTATGTGAAAAATGCTATCGAATAGCAAGCGCGCCCCAACAAATTTGAATGCGCGGGCGAAATGGTGTTAGATGTGCAGTCATATGAAACGAAACGCATCGACCAGCAGCCAATGGGGTACAAGTTACTGCGAGCTGTTAGATTTTTTCACACGGTTTCCAGTGTTATCAGGTGATGGGAAATCGATCCATAATACTGACTATTCGTACTTAACATCTTAAACATCCCCACCGTTTCGCTGTCATTTTTACCGATGCGGATTTATATTTCCTTTCTCGCCGACTTTTCATTTCTAAATCTTCTCTGAAATTGCGAAATTTTCAGCCTGTTTCATACGAGATCGAACGGCTCGTAATGAACCATCATCTCAGCAGCCGTGTAGTACCGGGAGTAATGCATGAACTCCAGCAGAACAAAACGGGTCGGCAAAACCTTCAAAAGTCACAGTAAAAGGTAACAATTGATTTTTTGCATCTGTGCTAATAAAATTTCCCCCTCTTCCCTTAATCATAGTCGTCAACGCGCTAGTTCACCAAGGCAGCCGACTCAGCTATTGTCGAAATCACGGACACGTCATCGGCGGCGCCAAAAATGACGACTGCAAAGAAGAAGACGATGGCGCCCGAGTGGAAAGAACATCTCAACGTTCATGCAAATGAATCTTCGACAATTTCGTTTCGTCTATTGCAAACCGTAAAGCCAAGCTATGACACGTATCTAGGGATGGCGAAGCTGAAGCTCTAGTTTCGAGTCTCACAAGAAATGAGAATGGAGTAAGTGGTTTTTGTGACTGAAATTTTCTCAAAAAAGCTATTAGTTCAGTCAAAAACGACATCAACAATATATCTTTGCTGGCCAAAGACTCCTCGAAAATCGGAACTCACTCTCGACATAATTTTCTCCGGATATCCAGAGCGGAAACGAAGAAGCGCAGGAGTACGAACTGAAACCGCCGCGTCTCCAAGTTCAGAGGCAACGTCAAATGGCGTTGCCACGACATCCTCGGCGCGGACACCTGGCCGGCGTCAGCGAAGCGTGACACTTTGGCGGCTCCAACGGTACTCGTGACGAGACCCATTTTGAATAATTTAATTATTCATGAAACGCTCTACGGCAGTGTTAATAATTATTAGAGCGCGCTCGCGCGAAAGCACCTCACCCAGAAGTCGCGAGGACAGCAGTCTCTGGCTATATTGGCTGCTATGGAAATTATTATTTTTTGATTTAAACTATTGTTGAGAAGCATCATCCAAATTGAAAATGTGTAAAATTATGATTTGTCCGAAACCTGAAGGTTTTACAGAGGGGAGTCACCACGGCTTTCTTAAGTATCAGTACCGTCAATATTTCGAGTTCAGAAAAATATGTCATTTTGTAGAGAAACTCTGTTACTTCACAAAAATTTCCATGTTTGATATTTTAATTGTTTAATTTCTAATAAAATATTGCAAATTTAAATCAACAAGTATACGTTAAAACCGAACCTTTTTCAATCGTAACCTCAGTTTTTAATAAGAACACTTTCATAATTTCAAACATGGATTTGAAACAGACTTTTATCTACAAAAATGACATATTTTCCGACTCTGGAATCGAAAAAACTGACGGTACTGAAACATTTTAAAGAAACTCGTGGTGACTCAATCTCTCTGTATACCGTGGTTCACTTTTTGTTAAAAATATTTCCATCCAAAAATAGCCAAAAACTGCTGTCCCCTCCTGCGAAACGAAATCCCTCGAGTTCTGGAGTTCGTGAGGTACCGCGCGAGCGCGCTCTAACAATTATGAACACTAGAGGAGAACGTGAATGAGCGTTTTTTATTCTTTTCTCTGCTTAATGCTACAGAATCGTACACTAAATGTTGTCAAATACATGATGCATTACTCCAGTCTACTACTATATGTTTACTTTTCATTTGTACCGCAGCGGCGGCAGCCAACAGCATGCGGCACCCCGGCCGCCGCAGCAGAAGAGCTTCCCGATGGATGGGAGATGCGTTTCGATCAATACGGACGCAAGTACACCTGTACGTGGCTCACACCACCAAGAGCGCCACGTGGGAACGCGCGTCTTACTCATCCCTTACAGGGCGATGGGAAATCCGAAGAGATCCGAGAGGAAGAGTGAGTTTTCCGAGGCTGTAAAAGCAGATTACTTAGCACGAGAAAAGCGTTTCTGATTATATTTTCGATGCGAAAAGCATCAAAATTAAAACTATCTACCGTCGCCGCGGATACCTGGACCAAAATGCCGAAAAAAGTGACTAAATTATTTTATAAAATCTAGATTTTTACATAATTAGTGTTATTTGATGATTTCTTGTCAAATTTTTGTAATTGCATCGAAATAGTCCAAAAATAAAGTAAAAATCCACTTCCAACACAGAAGAACTGACAAAATTGAAGATTTTTGCTGAATTCAGGCAATTTTTCGTAATTATTATGATCCTACATAAGTTTTTGTTTTCGAGATATTCGAAAATTTTTTTCTTTAAATACGGCCTGAAAATTAGGAAATTATAACGACGGATAACGGTCAATTCTGATTTTCTTTATTTTAACCAAGGTCTCCGCAAATTATTTGATAATCGAAAATAAAAAAAAAACTTTCCAGTGATTTTTACTTGAGGGAAAAATGTCTAAAATTCACGCCAGGTGCACAATCCCTTTTCAGGTGTATTACGTGGATCAGAACACGCGCACGACCCCCTGGTGGCAACGACCGACAGCCGATATGACTTGAACCACACGAACAATGGCAATCGGGAAGAGATCAGGCGATGCTTTAATGGGAACAAAGTTTCCTTCTCCAGCAGATCAACTTTGCATCCACTCGTGACCATTGCCCGAAGGATGGGGCGTCAGGATCCGAATACGTCGAGATTGTACTTTGTGAATCATTTAAATAGGACACAATGGGAAGATTCGAGAACACAGGGGTATGTGAAAATTTTCAATTGTCCAACATTATTTCTATCAAAAATCACAGTTTTAATGTTTTAAAAGTTTCAGAGGCCCGACCAACCTTCAGGATGGTTTGGAAATGCGATTCACCGAGCAAGGGCGTTCGATTCTTCATCGATCACTACTCTAAAACCACCACCTAATAATGATCGAAGAAGCGGAAAACCCGTCGGCCCGCTCGCCGTCGTCGGTGTTCAAATGGCCATGGAGAAGAGTTTCCGGTGGAAAATTGCACAATTCAGATATTTATGCTTGGTAAGGGAGGGCGAGAAATTCTTTGCTTTTAGCTATAAATTGATGAAAATTTCAGTCAAACAGCGCCTAATCATGTCAAAATCACAGTATCCCGTAATAACGTGTTCGAAGACTCATTCCAAGAAATTATGCGTAAAAATGCAGTCGGTCTACTCCGGCGTCTGTACATTCAATTCCGAGGGGAAGAGGGTCTCGACTATAGAGGCGTCGCCAGAGATGTTAGGGTTCTTCCTGCCGCACGAAGTGTTGAATCCAATGTATGGGCTTTTCATGTATGCTGGCAATAACTATTATAGTCTTCAAATCAATCCACCTTCATTTGTTAACCCGGTCTTAAGTATTTCGAGTATATTGGAAGATTCATTGCCATGGTGAGTATTTTTTTTTGCAATTGTAAATCAGTTGAGAATTGGATGAAAAAATGCGATCGACATGGGGAAAAGCGAGTTTTCCGCTTTATACCATTGAATTTTAAAATTTTAAACGTTAAATTGAAAATTCAAACAAAAAGCACTTCTGGATCTAAAATTCTTATCGTTTTTTGAGGTCCTTAAATATCGATTTTTTATATTTTCAGCACAAAAAGAAATTTCGATGATCTCAAATTTTCAGATCAATATATTTCATTTTCTCGGGCCTAAAAATGTTATTTTTATTTAAACAAATAGTTTTTCTTAGAAAATTCCTTTACTTTCAAATTTCCAGGCGCTATTCCACGGAAAATTCATCTACAGCGGTTTCACGATGCCATTCTACAAAAAGATGCAACAAGAAGATTGTTTTAAAGGGCATTGAACAAATCGATTCGGAAATTTATAATTTATTGATGTGGAACCTCAAGGATAACTATATCGATGAATGCGATATGGAGCTCTATTTTGTTGCCGATAACGAGCTACTCGGCGAGCCCAAGACTTATGAGCTTACGGAGGGCGGTACAGAGATTGCTGTTACCAACGAGGAGAATAAGGTGAGACTTGGGATTAGCTAGAGCTTATAAAAATAATTTTTAAATAAAATAATTTAATTTAAAAAATCCCAATTTTCCAGCTTCAATCCATCGAACTGCTCGTTTGGCGCCGCTTCAATCGCGGTGTCGACCGCGAAGACAAAAGCCTATCTTCACCGGCTTCAACCCGGTCTACGCGTTGGAATGGATGGAGTATTTCGATGAAAGAGGCTGGAGCTCGAGCTGTTGCTCTGCGGAATGCGGGACGTTGATGTGGGATTGGCAGTAGAAATTCTGACTACAGACATTATGCTCCACAGAGCAAGCAGGTAGGGGAGAACATTTGATTAAAACCTTTATTTTTTTTTAATTAAAAAATACATTTATAGGTAACCCGGTTCTGGCTATGGGTTCGAAGACCAACCGTGAAAAACGTGCCCGGCTCCCACAATTCGTCACATCGCGGACCGTGCCGTGTGTCAGTCGGTGGATCCTGATTCGACGGGACCACAGCTATTCTGTATCGAGCGTATCGGCAAGGAGAACTGGCTCCACGGTCGCATATGTGCTTCAATCGACTCGGCTTGCCGCCATACAGAAGCTACGATCAGCTCGGTCGGGAGACGAGTTGAGGATGGCGATCGAGATGACGGAAGGATTTGGAAGCGAGTAGTCCATGTCCCGTTATTTTTTTTTGGTTACTTGCTGGCCGCACGTTCAAATTGTTGTCTAACCCTCATATTTCTTCCCACCTATTGAGGACCTTTTCCTTTTTTTTCTCTCCATCACTTAATGTTTCTTTTTTTCGAATCGATGTTGTGTGATAATTTTCGTGTAGTGATAGCACTTGTGCTTAGGTTCTCTCTGCCTCTCATTCCTTTCCTTCGCGTATGTCTACCTATAATGTTTTAGAATACTAGACAAATCGCATCTAGTTTTTTTATTTAATTTCCAAATTTCCCGTTTAATTCCAACAACAAAAAAACAATTCCACCTAGACACTTTTCAAATATTTTTGCGTCCATTGCTTCATTGCTTTTCTTCTTCTCAACCATTTCAACAACCACCACCCAATCTGCGCCTTATCCTCTTACTTGGTCACTTGTCATTCTTACAATTTTTTTCACGGAAGCAGCTCTAGATTATTAATTCAAATGCATCCCCCCAACCAATCCGTCACCCCCCGATTAGAACAATTTCTACTTTTTTTTTTGAAAACAAAAAAACACCTCGATTTGGTTGTAATCAATGGGAAATTTAATTTTTTAATCTGAGCCTTCTTTGTTGTTTTAGGGTTTCTTAACTTTCAGAATTTCCATGCGGAACACACGGAGAGCACAAGATCAAGATTTTGAACCCTGCAGGAGAACGGGACCCTTAGCGTGGTCACTCATGTCTCGGCTGTCTGTGGTTCTCTCCTCTCTCTCACCAGCGGAGAGGATGGATACCTCATTCGCTTTATTTTCGGACTTTCGATTTTTCTTATTGCTCCACGTCTTTTATCAGATTCGGGGAGCTTTTGCTTTTTTCTTGATTTTTTCGTAAAGTGTTCCTGGGTCCCGCAGCGAGAATTAACTTTAAAATGATTTTTTAAAAACTTTCAGTTAAAACTTCATTTTTTTTTCCCATCATTTTACGACTAGAAATTTCGAAATTTGAAAAAAAAAACCGTGTTGCAAATGCGCTCCAGCGTACAAAACGAAACCGCCACCAAAAGCTGATTTTAAATAACTGAAAAAAACGAGATGAAATTGAATTTGTTTTGCCATTTTCCGACAATGATTTTTTAAATAAAAAAAACTGTTGCACAACAAATGCGAGCGAACTAACCTACCAATTACCGAAAAAAATTATAAAAATTGAATATTTCCGATTAACCCAAGAAAAGAAAAATTCAATGATTTTCTTGAAAAAAGTTACCATTTTCTCAATTTTTCGTTAATAATACTCAAAATTAGACTTGAAGAAAAATTGTGTAGCAAGCGAGCTCTAGCGAACCAAACAAACTGCTTCTCTCCATTGAAGAGTTTCAGAGCCGAGGTTCTGGCCTACCTCATTGAATTTTTCGCGCTCCATTGACAATCGCCCGCCCATAACAGAGGGCGTGGGAAAGTCGTCTGGTACTCCACACGGACAAATACATTTAGTTTTACTACAAATATCGGGCCGCGACGCGACACACGCGCCGGTAAATCTACCCCAGATATGGCGAGCCAAAATGGCCTCGTTCGGCAAAAACTCTTCCAGCACTTTCAATGCATGAGAGACAGAAATCCGTGATACGAGAAAAAATAATCCCAAAAAGTTCAATTTGCAAGGGCGCTGCATTGAAAACGCGCCGATCCCAACTCACGGTCGAATTTGAATTTTTAGTTGCAAAAAAAATCCACCAAATTGTGAACTAAATAATTTTGCAATCAATTCTCTCCCTAAAATAAATGGTTCAGAGGAGTTTCTCGAATTCGTAGTTGATACCCGCTCGTCAGAATTGGAAACTGAGAAATTGAGAGAGAATTAGAGAAGGAGAGGAAGAAGAACTGCTCACTGGTCCCCTCACTCCCGGAAATTAGGGACTTTTTGCTCCGGCGGGCTCCCACTAGAAGACGAAGAAAAAACGACGAGCAGAACACAATCAATTTCTTCTTTTTTATTTTTTTTTGGATTTTTTTCTTGTTGATACCACGGATTTCTGGCTTCCCTCATAAATTGAAATGGTAGAGTTTTTGCCGAAATAGGCCATTCATTCGGCTCGGCCATATCTGGGGTAGACTAACGGCGCGTTGCGTGAGTCGCGTCGCGGGAGTTTAGTTGTAAACCTAAATGTGATTTGTCCATGTGGAGTACACGACTTTCCCGCGCGCTTTATGTCCTGCGGCCGATTGTCAAAGGAGCGCGAAGAATTAAATGAGGAAGGCCAGAATCCCGTGGTAAAACATGGTGCATCAACGCAAAAATTTTTCATCTTTTGGAAAAAGTCAATTGTTTTTTTTTCGCGTCGGGACCACCTAACCGCAGCTCGTTTAATTGAATTTCCCAAAAAAAAAAAATTTGCTCTGTTCAACCAAATTCGAAATTCAGTTTTCATTCCCTAAAACCTATTAAAACGATCGTGGCAAAATGCTGTGAGCTTTGGGGCTAGAACGATAGGCCTAGAAATGTTGAGACAGTTTCCTCTCCCAGCGCCCTTGCCAATATAGAAATTTCAAATTAGTATAGCTCGGCCATTTTCCATCCGCACGGTTTTCGCCAAAACTACACCCCATTATAAGATTTAAAACTTACTTTTCAATCATTATGATGATAATACTTATCCAGTGGAAAAATTTTATTTCCACCAAAACCTCTCCACCCGCCGTTTTATCAAACAAATGATATCACTATGATTTGTGTTGTAAGTGCACCATGTGATTGCACTTGCGCAATTAATTAAGACAATCTCAAATGTAAGTTTGATCGAATTAACCCCATGTACATATAAAATACAAGCTTTTTGTGTTCTTCAAACAGTTTTTTGTCGTATTTATATAGAAGCAGTGTACACCTAAATTTGGCTTATTATGACCTTTTTTTCCAAGGAATACTCATTTTTAGGGTTATAAACGGCCCTTGATTGAGGAGAGAACTGCAAGCGCTTTTTCCTGGGAGTTTTAGGCCACCAGTTAGAGTCTTGCAAAGACGGACTAGTTCTCACAGGACCCAGAAAGGCTTTACTTAGTCCATCACGAATTTCTGACGACGCCTAGAAATGCAAATCTTCGGCCACCTCATAGACATTCTAGGCCACCCTTTTTGACGTGGCCTAGAATCTTTAACAAAATTTACGTAATGAGAAGTAAATCCTAGGCTGTCCCACTATTCAGTTAGCTCTCATTTTTGATACTTCGCCTAGCGATTTTTAACACGTGGCCTAGATAGTTTCTATTTTAACACGGGGATTAGATTTTTATGTTAACAAGCTGGCCTAGGTTTGCTACTAGGCTTAGATTTTTTACATGTGAGCTAGATTTTTATTATAGCTGACCTAGATTGTTGGCATTTAGCCTAGATTTCTGTCATGTGACCTAGATTTTCTAATGCACCAAAAATTCTCCATACAAATTGATTAACTCCTACAACTCTAATTGAGGTAATCAGAACCTTCGATAAGAACATGGAGCTACTGCGGTTCTCAACTTCCGAAAAAGCGGCTGAAAAACTGAGGTATACCTGCTTTTTTCGAAACTGATAAAAGTCAGCATAACTCACGATAACTGAACGTCCCTTGGCCAGGTTGTAGGGGGTAGTGGTGGCCGAATTTTAGGTAGAAAAAACTGGGCCACGAGGTTTACGTGGTGTAAAATGTGCCCCATTTACTATTGGTTTGACCTTCGAAAAATCCAGGAGACGAGACGCAGACTTTGCTTCAGCTGATTTCGCATGGTTAAGAACGTGCTGATGTCATTTTTTTCCGTGGCAAAATTCCCGCATTTTTTGTATATCAAACCACAACGAGACACTCTAACATGAACCACCGTCCGGCCTCAAACGAAAATCTCGGCCACGGCCACTAGGGTGAAGTGGAATGCCCTCCCCTTCTCTAGAAAATTCATTGGAGAAATCAACCCATGCTCAAAGAAACAGTGGCCGAGAAACGAAAAACTAGGCCGCGTTCTAGCAGCTTTGTACCTCTCTTATAAAACACTGTCTGTTAGTTCATAAATCAGAATCTGCGCCCTATCACTACTCTCTCGTTTACCTGCCCCTCTTAAAAAACAATCAACCCCCCCCCCCCCTCTAAATCGACTACTGTTCCCCGTTGTACCTGTCTGCGGCTAGCTATTTCGGATTTTTGGAACGAAAAAGTGGTATGTGAGAATGTACGAAACAAAGCAAACTAATAAGAGGGTCAATTGTATGCATTTTTTGCCCCCCCCCCCCCCCCCCTCCACCCCGCTAGCCTGGGAGGTCTCAAACCGGTTTCCCCTTTTTCACCTCAATCAGCCCCCCCCACCCCCCCCCCCCCCCCAATTTCATTTCACTGTACATTTTCCTTAACCTATCTGCGTATCTACTTTTGTATTTGTTCCTTACTTATTTTTCTAATTATAAACCCTGCAATTTGCAAGAAAAATTCTAAAACCCTAGTCTGGCCCCTTACCCCGTACGGGACCGTGGCCGAGAAATTTATATTTCTTATAAGACCCCCCGGCTCTTCCAGTTTTTCATTTTTTTTCATTGAAAGCCTAAATTTTCATATTTTCTTAGAGATCAAAATATTATGGGTTTGTCAAAAATTTCGAAACAACAAGCTCCCCGTGGGCGGAAGAGTTTTCCAAATTTCTATACTTAGGCGTTGGGGTACGCTCGTCGCACCCTCCCGGAGTACAATTGTAAATTATAAAATTATCATAAAATTGGCTCAACGCATTTGAAAATAATAAAAAAAACTTTAGAAAAAAAAACACGAAAAAAACCCCTTTGAACATGGTTCATCGACCGGGACATATGTACTGTGAAAGCTTATATCTCTGCGCTCCATGTTTGTTTCATTAAATTTTTCAACCAACTAAGTGTTTATTATCTCTTTTCTATATTTTTGTAATTAAAAAGCTTTTTGATACTTCAAAAGTAACTGAGATGCATGTTGTGAAACAGAGCAAACTTTCCTAGCTTAGCCCAATTATTTATATCTGTGTTTCGTGTATAAACTTTTCTAAAAGTTTACGGTTTTTTTAAATTTCTAAATAAAATTATTACATGACTCTTTGGGAGGTCATGCGTTGTAGATAGCATGTACAAATAAAACTGAGGAACTAGGACGAACTGAGAAATTCCTAAACCATTATTTACACATGTGATTCTTGCCTTTTTCGGTGGAGGGTTAAAAAGGTTAAAAATTATTTAAGGCTTGGAATGAGCATTTGTGCGGCCGAGGTTCCTTTTTATTTTCTAGGCCATAATTTTTACAACAATGGCCAGAAGCACAAATTTGTAAGTAATTTGAATTCGCCAAAATTTTTTTTTCCATAAAATTTAAATTTCCACCGTGGAAAATTCTTTTCGGAAAATTTGTATTTCCCGCCCTCAAAAGATTTTTTGTCTCAAAAAATTGAATTTCCCGCCAAAATGTTTTCGTCGCTCAGGAAAAAATTTCCCGCCATCAAACATTTTTTGTCTCAAAAAATTTGAATTTCGCCCACCAAAAATTTTGTCCCAAATTTTATCGAATTGGTGGAAAGCCGAATTTCCATTTTCTAGGACACTCTCAGTTAAGTCATCAAATAAGTTGACTTAAATTAAAATTAACAATTTGTCTCCTACCATGAAAATTTAATAATAGGCTGTATAGAGCATCATGGGCGGGCGGGGTAGCATGAGTGAACTTACCGGTTGACCGTCTATACATAGTAACACCCGACCATTTTCTGCCAAATACATATAATATCGCTTCGAGACCCAACTAATGCGCAGTTGTGCTTTATTTCGGTTGACAAGACCCGTAGAAATATTAATTTACCTACAGGTGCTAGAGCGTTTTAAGACCTAAAAAACTAAGCAATGGCCCAAAAATCCAAACTTAAGAAGCGCCTATAATTGTGCCTCGTGTTCGGGACCCAAAATCCAACTAGGCCATATTGTGAGCTTGGTGAGACCCACCTGTCATAAATATCACTTGAGTCAAAGTGAAGCTCCTACTTTTTTTTTTCGACAGCCTGTAGAAAAAATATTGAGATTCGCAAAGAATTCACGGCTCCCCCTTTCAATGTTTACATACACATTACGAACGAGAAAACGAAAAAGCGAAACGAGAGAAAAGCATTGAGTGAAATGGAAAATGTGTTTTTACTTTTTATGAAAATTTAATCACATGGCGTAAGAGTGTCCCATTTCTGCTTGACGTAGATCTACAAAAAATGCACGTGGGTGAAGAGACGCCGAGTTTTCAACTGATTTCGCTTTTTTTTGGGCGAAAATTTTCGCATTGCTTGTAGATCAACTAGAAACGCAACAGTGGATAAGCGCGCTCTATCGACAAACCCGGTGTACTCGCGGACAACCAGTATAGTTTGAAATTTTATTTGAATTTTTGTTCGAAATTGAAATTGAAAAACGGTAGATGCCAAATTTAAATTTAAAAAATAACAATTTTTGGAATTTAATTTTTAAAAAAGTTCCCCGTAAATCTACACTTAAATCGTCTCGTAATTCGACAACGCTATTTTTTTCAATTGTTTTGCCCATCGCCAAACTTTTTTTGCCCAATCAAGCATCGTCAATTGATCCATTGATCTTCTTCTTCTTCTCTTTCTCTTTTCTCACCACCGAAAATTTTCATTTTATTTTTTGAGCACAATACTCACCTGTCTGCGTCTCTCTGTACCCCCGATCTCTCGCCTCTCAAGTATTACAAACGAAAAATTTGGGGAGAAGCCGTGATTTTCATTTTAGTAGGATATGAAAAATTCTAGTGAAAATGTCAATAAAAAAAACATTGTTTTTCAAAAAACAATCCCCTCGAAAATCCACACCAAATTCAATATTCACCTTATTACAAATTGATTATTTCTCCCAAAAAACACACGCCATCGGCCGCGCCAGGGCATCTATTGTCGCCTTTTTACTCCAAAAAATTTCTGCAACTGTCTGGCGTCACCGGTTAACACTGAGAAACAACAAATTTCATTTCTCGAATAACATTCATTTTGAAGGTTTTTGGTTACAAATTCGACACGGATTTCTGGCTTCCCTCATAATTTAAAATGGAAGAGTTTGCTGATGAACTAGGCCAACATGTCGGCCATATTTGGCATAGGTATTTACGGCGCGTTATGCGTGCCGCGTCCCTCGATTTTAGTTGTAAAAATGTGAAGTGTCCTCGTCGTGGAGTACACGACTTTCCCACGTGCCCGGTGAGAGATTATCAATGGCAATCATTCAATGAGGTAGGTCAGAACGCCTTCGAAGAAAATCGAGAAAAACATATCCACAACGATACTCCGCAAGGTGTGCGTGTTGTTAAATGATAAATTCAAAGCAAATAGCGATTTTGTTTCCAAAATATGCCGAAAAAAAGGAAAAAAAATAAAAATAAAAGTTCAGCAACTTATTTCTCGGCCGTGGTTGTGTCGTTGTTTATTTTTTTGCGATCGTATTTTTTCTAGAATAAGACTTAAAATGAAAAAACATGAATAAAAATCAGTTCTCCATGGCCACTGTCAAAAGTCGCAACGACACTCCCCTTCCAGCTCCCCCCCGCGTGTATTCTTAGCATGTGTAAATTACGCGATGTAGTGTATAAAACCCTAATTTTTTAGAAGATTTGAGAAAAAAAACTTTTAAAATATGGGATAAAATCTCCTTTCCCTTTTTTGAAATCAAGAACTATCCGACAAAAAGTTTAGCCAAAAGTCCAAATAAAACCAATATGTAGAAAAAATCAAAAACTCGGCCCTCCAAAAAACTAGGCTACACGTTGTTTCGACCTCGCCGTGCTCCCCACACCTATGCATATCGTTAAATGTCTCCCGGACCCCTCATTCCGTCACACATTTCTCAAAGTGTCTTTTTCTCAAATTCGCTGTCGAAAATCCCTGAACATATCTCTTCAGTGTTGAGAACGACCTGACAGTTTTATTTCGATTCTCATGATCTCAGTGTCTCCCGGATGACTCGAATTCCTTCGATATATTTTTCTTTGAAGTTTTCAAAATAATTTTTCCTATATATAGACTTGATTGTTCGGTGGGAATTTCTCATTTCAAAATATTTATTGAGGTCGCTTCCCTTTTTATATGGTCGTTAGGTTTCTAAAACTCGGCTTTCCAAGTTGTAGCTTAGAGCTCTTTGTCTCGGAGTATAAAAAATTCACAAAATAAATAAAAGTTCACGTGGCCGTGGCCTAGATTTCCAAACTCGGCCACCATTTTTTTCTCTGACAGTAATCCACTTAGATCTCCTTTTTAGCCATTTTTTAACTAAATTTCCCACATATTCGTCCGTGGCTCCATATCAATTTTACTGATAGTAATTTCCAATAAGGTATTTTCGGGAAGATAGGAACCCTTTTTCATCTAATTCGTTTGTTTCTACTTTATCGGTTTTGCCACTTTCCCGCATGCCTACGAGCCTACATATCTGCCGACCTAATACAGCTCGTAGGCAGACCTCGGCCGCCTTGTGGTGAGATGAGTCGCTTTGTAGGCAGGCGTAGTGTGTGTCTTGCTGGTATGAGTAGGGCCTGTCAGCCGCCCAGTAGGCAAGCGTAGGCATGCAGCCGTAGCAGGCTTCTTAACTAGGCATCTAGGCTGCCTTGTAAGCCGGCGCAGGTAAGTGAAGGTTTCCTCGTGGCTGGCATCCTTGCAGTCAGGCACAAGTCGTCGGCTTGAAGGCAGGAAGAACATGCCGCCTAGTAGGCATATTTTACTTATAGGCCCGAGGTATTAATGAGATCTAGGCTTGCGGGTTAGTCGGTTTGTAAGCTGTCGTAGGCTGCCCTGTAGGCAGATTGAACTCTCAAACCAAACAACACAAAAATTCCAATATTTTTTGTACCTTCTGATTTTGATCTCTGACTCACTTGATCTTACTTTATCAATCAAGAGTCATAACTTCCATTTTTAGGAATAAACAATTATCCTTCAATTCATTGACGTTAATCCCTTTCAATATTCATTCAATACACAATGAGACGAAAAACTCTTATCTTTTTTCACTCTATCACATGGTGCAAAATTATAGTTAGATTGAAAAAGCTCATTTTATCATTTGTCACTTTTCCACCACTCTCAACGTGCTTTTTTTTAAACACAAAACGTTTCCCGTCATTTTCTACAGTACTCCCGCATTTTCACATTTTCCAGGTGACACCTGAGATGGAGGCCGACGAGTTTCAACGTTCGTATTACGGTCCTCTCAACGACGGCTTCTGCCACGTCACGGCCGCGACACAAGACTTTTGAGCTGTTGGGACCGGTGAATAATATCTGGCTGATATGTGTATAAAGTGTAAGATAATTGGCAGCCCGATTGCATTTATTATTGCGACGGTGATCATGTGCAGTGGTGGATCGTTAGTTTTTTTTGACGTAAAAGATAGTATAAGCGTCTTTTTTTAGATCAACCGAAAAAGAAATATGGAAAAAACGACATTTAAAGATTTTTTAGAAATCAAAAAATGTATAAACTGTATGTTGCTTAGGGCCTCCATGGTAGACAGGCACGGTTTTAGGGCCTGACGTGCGCCTGCCTGAGACCCACGTGGAGTCAGAAAGTCCCATTTCGCTTTGATCTTCAAAAAATGCGGGAGAAGAGACGCAGATATCTCATCTATTTCTGCATGGTCATTTAAGCGCAGACGTCACAATTTTTCTAAAATAATCCCGCATTTTTCGCCACGTAGAAACCGCAAGGAGACAGCCTGACAGCTATTAAGCCAAAGGCAAAAGTGTTTGGCCGTCTGACTTTTGAAACAAAAGGCTCGGTGAAAATTGAAAAAAAGTCTAATAATAATTAATATAAAAGTAGAACTATTTTCAGTAAAGGCCAAATGATTGTTTTATAAAAAGACTTAATTTAATTAAGCCCAATTAGATCTCCTAAATGTTTCAAGCAGCACAACTTTGCATGTGACGTCAGGCTGTCTCATTACAGTTTACAGAAACCGCGGGAATTTTTGTGCTCCCAGGAAAATGTGCCATCAGCACACAATGCATAATCAGATGAGATTTCAGCGCCTCAACTCCCGCATTTTTTGTAGATCAATCTAAAACAAGACTCTCTGACACCACGTGAATTTTCCAACCATCAAACTATCAACAAATTCGCGCCAAAAAAACTTCTTTAAAAACTTATCATTCCCAGTGGGAACAATCGGTCTCGAACTGAGGGATAATCTGCGACGGGTACACGCCAAAAAACTTCCCGACTGGAAAATCGCCTTTATCGAGAGTTCCTGAGTTCCGAAGGTGATCCGGTGATGACTACAGTTCTCATCATGACTGCCAAAGACGGAGGATCCATGGATCGGACCAAGTATTTGGAAGTAGCGGGTGAGTGGCATAACATATCTGATACCGTATTTCCTCCATTAGTAAGGCATGCAAAACTGATTTTCGGACACCCAATTTGCTTGCAAAACTAATAGGTGCAAAATTTTCGAACAGGTTCTTTCTCATTAAGTTATATATTATCATCAATTTCAATATCAACTTCTTAGGAACCAAAATGCGCGAATGTTACGACTGATACGCAAAAATTGTCCGAGTGTACTCATATTTAGCCTTGACCTGTTATACTCAAGAGCCGTCTGTAAGAGTTTTCCTACAGAACGATTTAATAGTGCAAATTTTGAATCTAAACTTAGGGAACAAACTCGTTAAGGGGTGGAAAAATATTAGAGGTGCAAAACTAATAGAGAGTGGAAAACTAATTTTCGATTAGTGATTTTTGATGCAACTAATGGAGGTGCAAAACTAATTGAGGTGACTAACTAATAGAGGAAATCGACGGTATATTTTTTTGGAATAAAAAATTTCAGCAATGGCTACTGCTACATCTCCAAAAACCTATCCGCACGTGGCCGGTGGAAACGGCAAGTTCATGGAATTCGAGATTTCGTTGTGGCCACTACTGCCAAGCCATTGCAACGACATCATAGGATACCTGGACGCCTAGAAAACCAAGTCAGCTAACCCAAAAATTGATGGCTACCAACTCTATCACCGATTACCAGAGTAATGGGTTATCAGCTTCATCTCGAGCGATCCGGGGTTACTGTGAATCAGTCGGATCCGGTCACTAATATTCAGAGTATGAAGGTAGTTCTGACGCTTCCTGTGTTGTCAGAGGTACGGACGATAGAGGATATCGTACGGATAATCTGAACAAGTGGGAGCTGGCGGTTTATAACTATGCTACAGGATACTCTGCACTCCGGAGGGTGACGATCATTTGGTGGAGATTAATGTGAGTGGCGAGAATAAATTGGACCATAAATTGGGCCAGCCCTAAAAAGACAGCGGGCCGGCCCATACCGACCCACTTAAGGTCAATAAAGTTTAATTCAGGTGTGTGCCGCAAATTTTGACTAGAATTTGCTCGGCAAAATCGGCTTTGGTAATCGCATAATTTCTCGCTCGGCAAATTCGACAAGATTGAGATTTTGCCGTTTTCGGCAAACGGCGAATTTGGCAAATTTGCGCTTACACCCCTGGTTTAGGGGTTTCACCGTGTTTAATTTTCAAAGCTTATAAACCTCTTTTCCAGGTGATCGGAAGTCGTCGACACCGAAATGAACAAGGACGCTCAGAAAATGGTGCCCAGTCCTACTTCATTGTCGGAATCGTCTCGATGATCATCTTTATCTTCTGCACCGTATCGTCTCCCTCTGCCTGCTACAGCAGTTCTAACGGATACTTCTCCAGTCGATCGGACTCATCGCCCTCGCCTGCCTTTGCCGATTCTCGCAATTCTCACTGCATTCGGAATCAATAATATGCTGGGAAATCGAACGAACTCTCCGATGATGATCATTCCGTCCTTGATCAATGGAATCAGAGTCAACGATGCGTTTTTGACACCCAGTTCAATTGGTTGCAGCATAGCACCCGGATTTTCCGTCAGGGAAGCGGTTGGCGTATCTGTTGGCTGAAGCTGGTCCATCGACGACTCACTACGACCACTTTGACAAATCTAATTGTATTTTTGATCGGGTGTATGAACCCAACGGAGGGAAAGGTGTGGTGGACGGCAAACTACTTTTTCCGGCAGCGTTAATCGGTAAATAGGTAAATTGCCGGAATTGAAATTTCTGGCATATCGAACCGGCAATTTGTCGATTTGCCGAATTTGCCGGATAGCGAATAAAAAATTGCCCAACAGCACCTGCGCCCTGTTAAGGAGCTTTGGCCTCTAACATAAATTTGTCTATTCATCCTTAATTCCCTCGTAAAACGACAAGATGTATTCCAGGGATGACGATCTTCTGCCTTGTGCAATCTCCCTACTCCTCGCCGTCTACACCCTCACGTTCTTCTGTCCGGTGCTAGTTCTTCTGCTTAGCGAACGCGTCAATACACGAGCCCAGCTGGAAGCTCGAGGGCACTTTCAGGTTCTCGGATTCTACAAAAATCATATGCAGCCGATGGACATTTGCACTTCTCATCATCGGAAGTCTTGTCTAGTGGGGTTTCCGTATCTATGGAACACTGGGGATCCGCGCCGGTGTTGAACACTGCAAAGATCCTTCCCCTGGAGACGCCGATCCGACCGAACTATCGAGGAGACCGTGTGAAAGCGTTAGGTCAACCCAGTCACCGTGATTGAGAACAGCCAAGTTGATATAGGCAATGCAAAGGCTTCGAGCATTTGACAACCTCGTTGCCATCGACTTCTATGCAAAAGTGCCGGGGATCCGAGTACACCATATCTCCAATCAGAGACTCTACCATCAGATCTTACGGTGGAGGAGCCGTGGACTTTGATTATGAGGAAGAAAGCGTGAAAAACACTTCACATTCCCCTTTAGACTCCAGTAAGATAGCCGTCCACGCGTTCCTATTAAAATCTACATATATGCCTATAACGTGGTTATAGAAGAAAAATAAAACGCCATAACCTTCTGCCGCGCAAATGAATCCGCGGGAAGAGACAAAACTACTGTAGTTTTTAACCAATTTGTGTAGGCATTTACGAGCTATTGCGTCATCGGTTGTATTTAATTTTGACAATTACTTTTAATTTTCAGCGTTTCACTCGTTTTTATATTGAAATCTTTTGTCGGTATTGAATAAATCTTAAAAGAAAACACAAAAAAATTAGAAAAATTCCGAAAAAAGCCTGAAAATTAAAAATTGCGGCTTACAAACTTAAAGTCAACGATGACGCAACTAAAAGCTCGTAAATCTACACAAATTGGTTAGAAACTACAGTAGTCTCTTCCCGAGGTTTCATTTGCGCGGATGGCGATTTTTCTCATGGATCACACACGTAATCGGCACCTACATATTTTGTGTGCCTAAAAACACGGTCATCCTAGCAGTGAAAGCAGACAAATGTAAGCACTTAACAAACGTGAGTAGGGCTTAAATGGTATGCACTGTTTTAGGGCCGCCTGTCCAGGCCTGTCTTGTACGTTTCAGCAATTCAAGCCGTATCTTTCCAGAGAGCTAGTGTCACCCATTGCCAGCTAACCCTATCTACAAGCATCACAAGGGAGGACTAAAACTTAACTTTTCAAATCCGTTAGTTTCAATCTGCCAGCCCCCTGACCCTAAATCGAGTCTACCATTTTCAGTGATCCAATCCGAAAAGTACAACTGATATCCGCGCTTTTATGAAAACGTAACCTTGTGGGATGAACGGATTTATGCAGGACTGGCGGACCAATAATCGCAAGTTCCCACGTGGCCCTAAATGTTTCAGTGTGGTTCTAATGTGAACGCAATGTGTCGTAGATCAGATGCTGAGTCTGGTTGGCGATCACGGTAAGATCTCAATGGTTCCAGCGCCCTATAAATACCGCTTATTCTTTCAGAATGCCCTAGTCACCTTGGGATGTATGGCTGCCTTCTGGGTAGTCTTCATCCGCAACCCCCTCTCAGTTGGCCTAGCGACCGCTTCGATTTTATCCATCTCCAAGTAACTGGATACCGGTGCTTCTGGGACTTGGATCTGGACCCTGTGACCCTCTGCGCAGTAATTTTTTCTTGGATGTCCGTTTATGAGACTTTGTTGCCCATGTGGACTCCTGTCTCTATCAGGTCAGGTATGAAGATTTCGAGGAGAAAGGAGTATTGAAGAGGATTGAGATGAAAACTCCCGAATCTTGAGTCGTCAACTCGCTGTCCAATTTGTGTTCCCTGGCCAATGGTCCAGTCGGCGTCTTCAACTCGTCTATGTGTCCTCCACCTTGGTATTCTACTGGTACCTACGAATACCTATACTTTACCGATAACCCTACCCCTCAAACCTTCCGGAACTATCTCCCAATGGTATTCGTGAAAACCATCCTGCTTACGTCGTGATTTGGACTGGGGAATGTTCCACGGTCTCGCGCTGCTCCCGTGCTCAATTCCTGGATTTTCCCCTGTCAGTGTTCAACCAGACGTTCGCCGACTTGTTGTTCGGCAGAACATCCTCTCTCGTCTTGCTCTTCGGATTCCGGAAACCGACACTGGTGATGCTCAGGAGATGGTACCGCTCGCTGGAACCGAGAAGCCTTAAGACCTGAAATTAGTTGTTGTTTGTTATTATGTACAGTTGGGATACAAAGTGTATTATGTAGTCTGTAGTGTCGCAGTGATAGAAACTACAAATTCAAAGCTACAAACTATAAGCTTTGAGATCTGGCAGAGCTTTATAGTTTGTAGTTTTATTGTAGCAGCTACAAACTACAAATTTCTTTTGATGGCGCACAAACTACAATGTACATTTTGCCAGTTTTCTAGATTTTTTCACTCACACACACACACACACACCGTTTTGCTACGTGGCTGCGAAAATGCAAAACTCGGCCAGGTCGCAAACATCGCCAGAAACTTCTAGCTTTACCAGTAGCTTTTCATGATCTAGTCTTCTTTTTTTTCCCCCCTCAATTTATATTTTTCTCGAAATTTCAGAACGGTTCCCTAGTCTTCTGTCACCGTGTCCTGCCCTCCCGCAAGCGGGTCCCCTTTTCCCCCCACAGATCGTACGGCTTCTCAGGGTTCCTATAGCACTTTTTTCTTCGATTCGTGCCATACAAAAAATTATACTTCCCATCGCACGCCGTGTCCATTTTGTCTTGTACTTTTTAAATGCATTTTTTGATAAATTTGATTTTTTATATCATCCAGAAAAGGGGCAAAAATTCAGATTTTCCTGGCGAGTAATTTTGCTGGAATTTTTTCAAGCATCAGACATGCAAAAACTAAAACGACACAACACTATCGATGGGGATTCGACTCGTTCACCCCAGTCATCCTAACTATTTTTCACTATTTTTTTTAACTTCTGTTTTTTTGGTACTTTTCTGGCCGTTTTTATGAAATTTTTTAGCCCGACATAGTTTACCTTTTTTTGTTCTGGATTTTAGGAGTTTCTGCGACCTTACTCTCACTCATGTTCGTCCTCCAGCCCCGCCTAAGCCTATGCCTTAACTCAAGCCTAAGCCTAAGCCTAAGCCTAACCTAAATCGCGTCAGAGAGAGCGTAACGCTCGCCACTGACGCCAAGCCTCAACCTAAGCCTAAGACTAAGCCTAACTCTAAGGCTAAGTATAAGTAAATCTAGGCCTCGGCCTAATACTAAGCCTTAGCCTAAGCCTAAACCCAAGCTATCAGAAGACACTCAAAAAATGTTCAGATCATTAAAAAATAACTACATTCAACAGTTTTCTTCAAAATTTAGCTTTCGACTTTCCAAGTAATCAATAACATGATTCCAAAATCTTCATACATCCCTCCCCTCTTCACATCGTTCCCGACAGCTTGTACTATTTCTCCTCCACCCACTAGGCAAGGTCTGCGTCTCTCGGGTTTCATACGCTATCTCCCTTTTGTGGAATCAGTTCATCGTTTCGGATCGTGGCTTACTTCTCAATATCCGCGGGCGTCGCTTTACTTTGATATAAAGTTCAGTTTTTTGAGGCCAAAATTTAATTGGTGGAATCACAGCGTTTGGCGATGAATTAATTATCGTGTGTATTCAACTTTAATATACGTGTACATTTTACCGATGCATGTAAGTTTTGGTGTATCAAAAAATGCCCCTAATAAATTTCTTAAGGGTGGAGGAGCGCTAGTGGGGAAATTGCGAAGTTTTATAACATGCCTATAGTACCACAATGACCGAATATCATGATAAAAAAATTCAAAAAATTTTTAAAATTTTATATGATTTTTTTTAGAGGAAATTGGAAAAATCTCAGTTTTTACACTGCCTAATTCCAATTTGACTTACCGGTAATTTTGTTCGATGGAGCGCGCTTGCACGTTTTAAAATTTATTTTATTTTTTGTTATTTTCCTTTTTAATGTTTTCGGTGTATTTTTGCTCTAATTTTAGAGAGTCAAGATGAATGCAGATTTTACGATTAAAAAGCACGCTCACAGGCGTAAAAATGACAGAGCAACGATTTTAAACGGTATCGAACCTCATCTATATTAATTAATATCACAGATTTACGACTGGTGCTTTTTAATCGAAAATTTGCATTCATCTTGACTTTTTCTAAAATTCGAGCAAAAATACACCGAAAACATTAAAAATTGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAAAAACGTACAAGCCCACTCCATCGAACAAATTCGATAATGTGATTCAAACTGAGAACTAGGCAAAAACTGAGATTTTTCCATATTTCGAAAAATCATATAAAATTTAGAATCTTTTAAAGAATTTTTTTATCATGATATTCAGTCATTGTAGTACTATAGGCATGTTTTAAGAGCCAGCAACCCACTGGCGCTACGCCTCCTAAAGTTTGGAGTTTTAGTAAAAAAAGATCGGTTTTTTAGTTAATAATATTAATATCCAGTCGCTCCTCCGGAACAGTTCGACCATTTTTCACCACTCTTCCAGAAGTACGTGGAAGAAATGTTCCTATTATGAGATTATTCGAGAACTATGCTGCATCGTGGCCGACCAAAAAGTCTCTTAAAAAGGACTTTTTGATCAGCTGGCAAATGTCGGTTCCCGCAAAAAGTCGTATTTCGTGCAAAACCGGCAAAAGCAAACATTTTGATTACCGGCAATTGTCGGAGTTGCCGATTGCCGGAAATTTGCGGAAAGAATGGTCGTTTGATACTCTTTTTTAGATTGCCTAAAAATGCATTTTAATGAACAATTTTTAATTTTCAAGCTCAAAATGATTTAATGCTTTAAGGATTGTCCGTTTTCTTTAAAAAAGACTAACCGAAAACTATAAAAAAAGGTGAAATTTTTTCAATTTCCAAAATATAATTAATTTTGGCAGCCGATTGCCGGAAATTGCCGATTACCTTACAATACGGGACGGCAATTGCCGAAATTGCCGATTGCCGGAAATTTCCAAAAGTAATTGCCGGATTTGACGATCGCCGGAAATTCCCTATTGCGCTCCCTTGTATTAAAGGATACGGCAAACGATGTTTTCCCGCAAGCGTATCGGCAATTGCCGAAATAAAATATTAATTCGGTGCTCAAACGGCAAACGGCAGTTATAACAGCAACAAGCCACTTCTCCAATTTATAATCGGCAATTTCGGCGATAAACGGTCAATTTGCAAGAAATCAAAATTGTGATCTTGCACATTTTTTCTGGAAATTTCAGAATTTCAATTTTAAACAACAACATGGTACCCTATGAACATATCTTAAAAAACCCGGAGTGAATTCTATAAAAACTACCTAGAGAAACTGACCAAATACTTAAAAAAGGGACGGATTCATGTGATTTTGATTAAGATAAGTCTTTGAAAACTTTCGGAAAATTGAAATCCGGCAAATCGGCAAATCGGCAACTTGCCGATTTCCCGAAATGGCCGCAGCAATGAACTACACTGTTCCAAATCGAATTCGTAACCGATATTATACTTAGGGATATTTGTAACTCGTATAAATATTAAATAATATATATATATTCCAGCTGCTCCAATCTCTCCAAATGGATGCAGTAGCCACAGGCTACAACTCCCTATTATTCTCAATGGCTGATATGCAAATCGAAAAGGTCATGGGTAAATGGATAGACATTTGTTTATTCGAAAGAATAAAGAGGATTGTTCAATCTTCTATTGTTAGTTTATTTTCATTCTGAAAATGAGATGCAATTTTCAGTCGATATGGTACTTCGAACTCTATACACCGCAACATTCACCTCAAAGCAGGTCGGAGTGATTAATAATGATGTCGTCACCAATGTGGAGTACGGTAGTATGGTTGGTCGAGAGCCCGCAGCCGTTCTCAACGTAGTGTAAGGGATCAGTCTCCATGTAAGTATTTTAAATATCTTTGGTCCGGTGATGATTAAGATACAAGTTTAAATAGTTCCCGTTTCAAAACTTCGGCTAATTTCCCGCCAAAACTTTTCTCTGAAAAATTTTAATTACTTTCCAAATTTTTTTCTTTGAAAATTTGGACTACCCGCCAAAATTTTGTAGTAAAAAAATTGAATTTCTTTCATGGCTCCAAGAATGTTTTCTCAGAAAATTTGAATTTCCCCGACCGCCAAATTGTTACTGTCAGAAATTTTGAATTCGATTTCTCGCCAAAATTTATTTTCTGGAAATTTGGATGTCCCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAATTTTCTGAAGATCTAATTTAGCGGATATTCTTTCCAAATTTTTTTCATTGAAAATTTATTGAATTTCCCGCTAAGACGAATTTTATTGTCAAAAAATTTGAATTTCTCACCAAGACTGTTATCTCAGAAAATTAGAATTTCCCGCCAAATTGATACAGAATATTCTAATTTCTCGCCTAAATTTATAAATTACTGAAAATTTGGATTTCCCGCCAAAATTTTGTTCTCAATAAATTTAAAATCTATCTCCCGCCAAAATTTTGTTCAAAAAATTTGGAATGCTCGCCAAAATTTTATTGTCAGAAGAAACTTAAATTTCTCGCCAAACGCAGGTCTTTTCCAAAATTTAATTCCTGTCAAAACTTTGTAATCAAAAAATTTGAATTTCCCGCCAATTTTTATTCTCCGAAAATTAAGAAGGATTTCCCGCCAAAACTTTGTTCTAAAAATTTGAATCTCCTTTGTCGCCGAAATTTTATTGTCAGAAAATTTGAATTTCGAAATCTCTATGAATAAAACATTGGCAGTGTTCCCTGTACGAATCGGTGGCTTGAGTGACGAAGGAGAATATCAATACATGATCTTAAGTACACCCACTGTAAGTATCCAACGATGCTCTTGACAGGCTAAGATTGCCTTAAAATTTGTTTTCTAATTATTCCAATCTAATCTTCATGTGATGTTGCGAAAAATGCAAACATGTATTTTAATACATTTTCCCCCTATTGATGGCGTCGAAAAATGTAGAAAAATGGAATCATTTTTGTGCATGTACATTTTCGACATTTTTGACATTTTCCGACATTTTTCGACGTTATTAGACATTTTCACGCATTTGACCGAACTAGGCAATTTTGGGTCCGTCTGGGGTAGATTTAAGGAGCGGCGCGTTGCGTGTCGCGTCGCGGCTTGATTTTAGTTGTATAACTAAATGTAATTGCTCCGTGTGGAGTACACGACTTTCCCAGGCAATTGTCAATGGAGCGCGAAAAATGCAATGAGGAAGGACAGAACCCCGTATCCACAGAAAGAATTTTCTCTGCGTCTCTTGTCTTTAGCATTTAAACTGGGGCGAGATGTAGAAAAATGCTGAAAAATTTCGAATTGAAAAATAAAATGATGGCAATGTTACATTTTTCTGCAGTAATTGCGGTACGCAAAAAGCATCACATGGATAACCCCATAAAAACTCCCATTTTTCCAGAGACCTAACACTATTCGAAAGGAAATGGAAGCGTGTATGATGATTTGTTGAGAAGAATGGTTTTATAAGCGCAAGTCCAATGGCAGCACTGAACACTCGTCTGCATTTTTGCACAGATGTCTATGTTTGCAGAAAAGTGAATAATTTATATGAGAATGGAAATGTTTGAGTTGAAGATTATCTCTTTTCTGAGGATACGGGAGAGTTCAAGTTTGACGGGTTGTGCAGTGTTTACATTTCTAACCTTCATGTGTTAAAAATAAAGATTAATGATTAATTGGATCTGTATTTAAAATGAACTTTTAAAACACAAAATTTCAGATCTTGGTTTAAAAACGTATACACTTGAAACTTTGTTGAGTGTAATGACGTAATTTGAATTTCGCGAAAAAATGACTGTGATATGATTTTGACCGTGTACACGGGCAATAATATTTTAATATTATGGATTATAAGCGTTTTTCAGTAGACTTTCCATATTTTCTCATGATTATTACTTTTATGACCCAAGAAAAGCATTGTTTGGAACTCAAAATTATCAACTTTAAATGTTTAAAAAAATTCAGGAAAACATAATATTTGCGTATTAAAAAATTTCCCAGTAATTTACCACAAAAAAGTTTCTTTTTCTTTTTTTAATTTTTTCTCAGAAAAATCAAATCTCCCTACAAAGTTTTTCTCAGAAATTTTGAATCCACCGCCAAAAATTTTTCTCAAAAAATATGATTTCCCACCAAAAAAATTTTTCTCGGCACAGAAAATTTAATAACAATTTCCCACCAAAAATATAGTCTCAAACTAGAAATACTAAGAGCATTTTCCCGCCAAACCACTACTTTTTTTAAAAGAAGATTTGAATATACCGCCGAAAATTACTTACCAGAAAATTTCAATTTCCCGCCAAAAATGTTTTCTCAGAGAAATTTTTAATTTTTGGTCAAAATTAAAATACTACTACGGTACCTTAATCTTACACCTCCACCGAAAAAATCATTTTTCAAAAACTACTACAGTACTAACAGTACTCCTACCGTACTGCTAAAGTACTCCTACCGTACTCCTACAGTACTCCGGCAACCGTACTCCTCTACAGTATCACTACAGTTTACTCAAACCATATCACTAACACCAATCCAATATCCCGTCACACGACGATAACTTTTTTATTCAAAAATACAGTAATCTTACTGTAGACAATCTTTTAAAGTCTGCATCCAAAACTATATCGGATCCCAAAAGTAAACGACAGTCAGAAAATTTGTATTGGATTTCGCGTAGTTTGCTCTTCCGTGAAGGCAACACACGTAGCTATATTGATGCGATGAAAAACGAGAGGAATCAGTCGAGGTGTCTGATCTACTTCCAGGAGACCGCTCTTCGACTCCTATTGGCTCTTGCAGCCACCTCATTGGCGGCTCTTCCAGATTTGGGATATCCCGGATGGCAGTGCGATGCATCGCTTTACCATCCGAAGTAGCTTACTTTAATTACTAAATTTTGAAAGATTTTTCCTCGCTTCCATGAGCAAAACTACCCCGACTTCTGCCCACTCCGTCCGACTCACCGACATAAAAGTTTTGGGAGGAGCTCTCGTTTGGAGACTCCTTGTCCGCCGCCAATGGAGCCGGAGCACCAAAGGGAGAACCCTCTGGCTGTGATCCTTCCGTCAGTACAGAGCACTAGCCTTCCAGTGTGGAGCGTGGTGACCAATCTCTCGACGAGCATGTCACTGTTGAAAGTAAGCCATTTTTCTGAAAGCGGGAATTGGGAAAAGTGAGTTGTTGCTAGATGTACTGAAAAAGTTCCTAACCTAATGGGATACTCCACTGGAACTAGTTCGGAAGCGCCAACGTTTGGGAGGTCTCAAACCGAACCAAGCAGTTCCAGGAACTGAAGCAATCGATACCATCACTTAGATGCTGCCAGAGCTCTGGTGCAGATTATCCAAAGCCACGAGGAGGTGATCTAGCAAAGTCCAAACTAAACATCAATTCCGATGCATTTCCAGATTAAAGATTACAAAACTGATTGGAAGTTTACGTATTCATTGGAGCAAACGACATGTGCGCCTATTGCAACGACCGAGAAAATGTAAGATAGTCAACGATCATTCCACACCCGGTTTTATTGCATTTCTATAGGGCCTCAAAAGCAATCTGCAAAATGTCACTGCCATTCAAATTTTAAAAGATAACTTACCAAGGTAGGTAAACTATAGGAACATAACATTATAACAAGTAAATAACTATAATATTATGAAATTGTCACATACCTATACCTACGTATAAATACCTAAGTAAGGGTCCAGAGCGGTGTGGCAAAAATTTTGAAACCAGCAATTCGGCAAATTTTCCGGGGTCGGCATACTTGGTAAAGGGATCGCAACATTTTTTGGAGCTCAAAAAGTGCCAAAATTAACAGAAAATCTAAGTTGTTAAACATTTGTGGCAAATTCCAAATTTGTCTAAATTTTTGAAATATGCCTTGCTCGGTCAAAGGTATTTCCGCAAATTTGCCGTGGTTGTCCTCGGTAAAGCGCATCATTTTTTGGTGCTCAAGAGTACTGAGTTGATGGAAAAGCACTTGTTTCAGGAAACATTTGTGCGAATTACAAATTAAGTCCAAATTATTGAAATTTCCTTGCTCGGAACCCGGAGACCAAATTCGGGAAATTTGGCACACCCTTGATCCCATAGCAGTGGCGCAAAAAAATCTTTAAAAATAGCTTGTGGCCGTTTCCGTGCCAATTATAAATTAAAGTTAAACATATTATCGAAAAAATACGATTGCAAATTTTTGGCACTCGTAACTTTGGACAATCTACCTTACCTGTTGACTAGGCTCCTCCCCTTCCTTCGACAAGACCCAAAATAACAACGGCAAAAAGATTATGGGCAACGTGGTGCCAGGCTGTCCCATTCCAATGTTTGATCTAAAATAAGGTGGGAATTTTTCGCCCAAAAAAAAAGTGACATCGGCACGTTCTTACCATATTGCCAGTAAAAGTACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGACCAGCGTAATTGAAGCCAAAATGAGACACTCTGACACCACGTGGGCGGAGTCAACTTCCACAGGTAGAACAAAAATTAATGATGAAAAAAGATTTGCGATCGGATTTTTCGATAATAAGAGCCAACATTTTCGGCTTTTTATGGAAATTTTTTTTTCAAAAAGAGGTACTCAGTACTGATGGTCCATAACTATGCCATCAATACCAAGTCCTTCCAGAACCATCGTATCGATGCCCGAAATGATCGACATGGCCATGATTCGCGAAATCGACCACCACAAGTATTTCTGCGACGGATGTGTACGAGTGATGCGAGAAGAACAAGGACTTCCCGAATACCGACAACTCGGCTGGCTGCCATGTTTACATGGATGCTCAGCAGGAGATTCAAGCCTCGGGCGAGTAATCTTCGACTCAACAGTTGACTTTACATTTGTCGTCCGATTCAACCATTCTTCAATGGAATCACAGTTCCACGACCGCCTCAAGACCGTCGGAGAAGTCAATCTGGATTGGTTTGCAACGGATTGATTCCATTTCTCAAAACTAGGCCACGCCAATGTTGGCAAGCACGTTGTGGAACAATTCAACCAGTCGGATCCAAGAACCATCAAGTCATGTCAGATCCTACCATTCCACTAAACTGCCCAGACACCAAGTGCCCTCTGTACAACTAAGAGTTGACTGCTCGAAATATAGGACTGCCTAGACTGTAGGAAATTGAGTTTGTGTGTGTAATTTGACGTACTTATCGGGTCTGCAATAAAATGTTTTAGTAATCTTTAATTTTTAACGTGTGAGACATAAAAGAGTACCCTCAATAAAAATATCCTCGTGGACACAATATAGTTATCCCAATAGAGTCAATCTAATTTTTGCAATTATTATTTATTAAGAATGGATATCAAGGTAAAGGAAGGGATCTAGATTTTGTAAAAAAGATACTGGAAATACGAATTGTTACGGGATTTCATAGAAGGGGATATATCACGACTTTTTCTTTGAAAAAACAACATAAAATGATTGCGGCTTCACAATCTGATCATCCGGTATTTCTCCAGATCCCTTTTCCGATTCGATCTTACTTGATACGCCGGTTTTGGACCTACCAGATTTTCATCTGGAAGAAATTTCAGCTATGCGTTGAGTGCAGCGTTACGCGTTGCGTGCTGCGTTTACCGCGTTGCGTGCCGCGTTGCGTGCTGCGGCGGGCTTCGTTGTCTCGTGCCGCGTTGCGTGCTTGTCCGCGCTGCGTGCCTACCTTGCGTCTCCGTGACATCCAATCGTTTTGCAGCTCACTTGTCTCACTACTTGACAAATTTTCGCCTCAAACTGCTTCTCCAGTTCGAATACTTGTTTCCCGGAAAATGAGCATCGTCCGCGCTCTTTCTTCTTTCTCTTTGTTTTTTGACAGTTTTCTACAGGAGACTTTTTGGCTTGGTCGAGGCTGGATTCTGAAAAAATATTCTCCTAACGGCTGATTAGTTTTCTACGTGTAGCATTTTACTGTCGTCGAAATTCATTGAACAACCCTGTTAGTAAATTTCCAAAAAATTTTTTTCATAATTTCGAAAACTGCGTATTTTAAATTTTTTCACATTTTCTAATATTTTAAAACAAAATTGAGAGTAAAGGAAAATTGTGTCTTGTAATTTTTGTAATTTTTACTCAAAAAAAGGCCAGTGAAGTACTATTACAGAAAATACGAATCGATAGCGCAGTCAAAACTAGAGAACATCAGTATTTCACCTCAAATGCACCATGCCCAAAACTAGTCTATTTTTCAACTGCAACACTTCATACACCTAATCAAAAGAAATCAACTTACTGATCTTCCAAATTCATCAATTTCTCCATTAAAAGAGACATAGGTAAGTCAAGTATATCCTTTATCAGGTGACTAGTTATTCTCTGCGGCTTCACATCAGACGTCAACAGGGCTCCTTAAAATAGCAGGTTGAAGTAGTTAGAAGAGCAAGTCAGTTTCCATTTTGCACGACTGAAAAGAACTTCTGAGAGACTTCTCAGTACGTCTCGAGGTCCCCGCCTCCTCTTCAATCAAACAATTGTAAATTCTGGACTCACGGGGGACTTTTGAAGGTTGACGACGACGACAATTTGCCCAAGTGCGACAATCATTGCGCAATTGGTGTGCAAAGAAGAAGATGGGAGATATGAGTTCTGAGATGATGACAAAAGCATGAGAGCACAATGAATAAAATGAGACCGGATTTCGAGAAGGAGGAGGGGGAGAGGAGGATTGGTGGTAAGGGCTGATACTTGATGCAATTGAGGGAATGCGTTTCTCATACTTGACTATTTAATACTTTTCTTGAACCTTAATTATTTGGATTGTAATTTTGTAGCGGAGGCACATGTGATATTATTGTGCTAACTTGGGTAATCCTTAGACTTTCAAATATAACCTTCATTATTTGAAAAAAACTTTTTGAATAGACCTGCAAGGTTGATCTACAATTTTTCATGGAAATCGAATTAATTTTGTAAGGATGTCTACTGAGTATAAGCTTATCGTTAGGCTTAGGCTGAGGTCTAGACTTAAGGCTACACTTAAATTTACTCAGGATCGCCCTAGGCTTCGGCTTCGGCTTAGGCTTAGGCTGAGGCTTATGCTGAGGCTTAGGATTATTCTCAGACTTACGCTTAGGCTTACGCTTAGGCTTAGGCTTAGGCTAAGGTGTTGGCAGCTTAGAATAAGCTCAGGCGGGGGTGACCGCGGGTAGAAAAAAAAGGAGAAACTTCCAGAAATTCACAAAATTCAGAAACATACCTTTCATAAGTTTATTTTTTTACTAAAAAATTACTCTTAAAATGTATGCGAGAAACCCGCATGCAAAAACACCTTTTTTTTTTTGAGCAATTTCTACCTTTTTTTTATTTAATTTAAAAATACACTAAAAAAACCAAAAAAATTTTCCGAGCCCAAATTGCTCCCAAATGCTCTAAATTTCTTTTGAAGTCTGATATATTCCTATTAGAACTTGAGGAAAATGTAAACCTAGAGAAACAATACTACGCATGTTAAATGTAAATTATTAGTTTTAAAAAGTCGTACGTTATTTTGGAAAGTTTGAGGTTTTTGCATTTTTTCCGTATATCACTGAACACTTTTATTTAAATATCATCAATTATCGGAAGTAGGTTGCAGGAGAAAAAATATATTCTAGCGGGGTAAATTGAAATGAGACGGGGATCATTTAACTAAAATCGAAAGTTAATAGTTGGTGATCTACAAAAATTCTTAAGACAGTATAAATTCACGACTTCCATCTTGGGAACATTCTTAAAAAATGTCAACGAATAAAAATCTGACATTGTGGCAAACAAACTTCTAAATGTTTCAGACCTTATATAGCGGACATGACAGTGGCTTGCTTATTTGATATGACTTGAGTTTATTTTTTTTTTATTTCAAGCGTGGGGAGATTTATTTGCCTAGATATATATATAATTATTACTGGAACGAACTGGAAAATAACTTGGGATCAAAATCAAAAATTCAAACCTTCAATAGAGATTCAATCTTTTCGAAACTTTTTCTATAGCTTTGTCGAGAACCAACAGACCACGTAAATACTTATAGCTAAAATTTTATTAAGATTCTAAGTCATGGTGAATCGAGAGTTTGTCAAGTTCCATGTGGTTCCTAAAAATAAACCGATACACGTGGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATGCGGGAATATTTTTCCAGAAAAATTGTGACGTCAGCAAAAATAAATAAGGGTCTAACCACAAAACTGGTACTTGAATCTTGAATATTTTTAATTCACCCTAAATTACATTCCCCTGATTCCGAATATCTATGATGACTGAAAAAATTCAAATACAAAAATTTCCTGACAAAGATTTATATTTAAGCTAAATCTTTCATCAAATTTTTTTTTTAAAAATTTCATGTACTCGCATCACTTTTTTCAAACTGGCGCCCAAATAAATTAGCGCGCGCGTGCATCGTTTGACCTTTTTTTCGTTTTTTTTATTTCTAGCCGAATTCAATTTTTTTAAAACCAGTTTCAGTCATTTTTGTCGGTTTTTTTTTCTGAAAAAAATGTAAAAAAACGACAAAAAATCAAACAATGCATTAACAGCGCGCTCCAATGCTAATTTATTTGAGCGCGTATTTAACAAAGAAAGAGACCGGGATACAAATGAATAATCATTCGGCGATCTCAAGCTTAAATACATGGAAAACTTGTTTTGAATTTTTAATCTTTTCACATACATACTCGGAATCAGGGGAAAATTAGGATTCATTCAAAAATATTTCCCAGATTTCACTCGGTACCCCACCTTTAAAATTTTTACATGTTTTGGGAAAACAAGGGAAATTTCTAGAACCTATTTTATGCCAATACCTAAAATGCTGAACATAGATAAAACACACACACCCGTATGAGTATTATATACTTCCAATGAAACATTTGAAAAATAAAGAGTTCTCAGCTTTGATCATCCACTTGTGATATTCTCACGCGTAATAGCACATGGCACCAGCTCAAAGTGCTCATTTTGGCTATATATGAAGGTATATGAAAAAGTGGAAATTGGGAGGAAAAATGGCATGTTGACTTCTCTACGTGGCCTATGTGTGAAAAAACCCTTCTATGACAAATTCAGTTTAATTTTTTAATTTTTCTTTTTAAAATTCTAAAAATGGCTAAACGTTCAAAAATTTTTTAAAAGCCAAATACTATTAAATTTCTTTGTTGATTTCTTAACCCAAATTTACGATTTCAGTCAAATTTTTGAAAATTACAAAAAATTTAAAATACAGCTACTTGTAAGATGCGCAAAACAAGAATTACAGAGTTTTCAAACTATACAACAGACAACTCTAGTGGCTGAAAACTTCCAAAGTTAAATAAAAATTCCAAAAAATCGATAAAAAAATGTATCTCGAAAAATTACCGCTATAAGAAAATGGCCTTCTCTATCCCAATGAAATTATGGAAATAGATTTTTTCAAAAGCGATCTAGTTGGACGCTGTGCAGGGAAAAAAAGTTCAAGCGCGCAAAACTTTCGCTAGAAACTCAAATTTGCCTCATCAGACCTTGTTGGATTTTTTTCCCAAAGAATTTTCAAATGCCGAATACCGAAACTCCAGGGCTCACGTTTAGACCTTAACATGAAACTTTTGCCATTTGAACGAGGCTCTTTGAATCTCTGTAAAAGACTTAGCGGCAGACGAGCACTTTGAACTACAAAAATGTCGCTAAATTGCTATCATGGAAATTTTTCACTACTATAGGAGCCCGGTAAAATTGCTCCAAATCATAATTTAAAATATTTCTTCATGATTTTTTTTTGATTTTTTCATGATTTTCGAGGTAGGAGCAAATATTCAGTTTATAGGATATATTTTTTTTGGAAAAAAAAATCTGAAAAAACCCACATATCCAATAAAAAAATTACCAAAAAGCTTTCAGAATACTTGTCTACCTCGAAATATCGTAAAATTCATACAATCTCTGTTCAAATAAAAATATAATTTGGAGCAAATTAATGGGCAATTTCAAAGTCTAAAGTAGTGAGCTATAATGCATACATTCCAGAAAATGGAATAAAAAATAAACTGAAGTCAAGTTAATCTAATCTCAAGTTACCTCCTCCTCCTTCCCCCAACAAATACTGCTCAATAGCCCCCAACCAACTCGTTCCAATTTGAATAGTGTATTATTTAACAAGCTCTGTCATATCTCTCTCCTATTTTTTTTTTTAAGTCATTTTTATCGTCGCACCCCTCGACCGTTGTTGTATTAGCCTCTCTTCCTTCTTCTTCTTCTTCATGAAAACGAATTAAATTTCTTCATCCAATTCACTCAAATCACATCCTCCACCGACACATTCAATTAATCAACCGGTCCTTAATTGAACACAACAACAATCACTATTTCATAAAAATTAGTGTTTTTAAATGTACATTCAAAAATTGCGACGGCTGGAAGAATTATTATTTACACCAGAAGAGTAAAATTTGTAACCATAGTTATGGTAGCTACGGTAACTCAAAAAATTAGGGCATAATTATGCGACATGTTCTCATGAGTGCGCAATAAAAATAAAGCTGATCCAATACTCTTGAAATACTCCAATAATCGTTTCTGATTCCGGGATTCCTTCTCAGACAAATGGAGCTCGGAGTGCTCAATTGGTCAATGTCGCTGTCATGGCACCAGGGTTGTGCGGCATGGATTTTTTGGCAATCGGAAATTGCCATTTGCCGTTGGAAACTCTCGGATTATTTTTTTTCGGCGATCGGCATTTGACGGTTGCCGAACATAAACTCGTTTTTTCGTTTATTCGCTTCCGCATTGTTCGGCCGACAGTGCTTAATCTCCTTGAGGTAATTTTTTTTTATATTTTCTTGTATTTTATAAACAGTCTAAATAATTCAATTCCAATGATAAGGAGTGTCTTGGTTTAAATTTTCTAGCACAGATAATTTCATTTATTAACGATCAGACTGGTAGGATAGTCAACGATACCACCCCAGAGGCTAGTATGATTCAAAATAACACATGGACATACAGCAATAGACAAAAGATCTTTGAATGGAGTTTTATGGTGGGGTGGCGATGTGTCGACCTAAAGAGTATGTCCTAAATATACGGCTAATAATTCAAATATGTTGTATTTTGGAAAGTGTTAGAACACAAGTGACTGTTTTCGGATACAAGAAGACACAGAGATGTCCCTTGATTGTTCACAGAAAGCGTTTAAGGATCCCGTTTGACTACAATATTTGCGGATTTATGTTTCAACGAATAAATGTAAACTCGAAATTTACTATATATACAGCGCTTTCATATTCCGTTTTTCCATAGTTTGTTGGCTATGTAGTCTTTGTTTGAAAAGCGTCGTCGTTTCAAAATGGTTTCTGGGATAGTGAGTCGGGGTTAGGGATATAGTCGGCGTACTGTAGTGGTACGATGGTGGTACGGTAGGAGTACTGTATGATTACGGGTTAGTCTCAGAAAAATTGGATTTCAGCAGAAGTCGGCGGCCGCGCCAGAGGTGCAGTCCACGGCTGGTATATACATATGTATATGTATGTATATATGAATACATATATTCAACTATTTAATTTAAAAAATAAAAAAAACATTTCTCACAAATGCCGAAAACACCGAAAAATCGAACATATTTAGGCATTCGCCGATATTTTGACCAACTATTTTTTTTAGGCGAACGGCATTCGCCTTTGCCGCACAGTCCTGCATGGCACCCCGACCGGTTTCGTGACCACAATAGTTTTGATCTGAACGCAATAGGAGTCAGGAAGTTAGGGGTCATGGGTGCTGTAATCGGACCCCCAGTAAAAAGCACATATATTGACAACAAATTTTGATCGCTGTTTTTTGTCTTAATTTTTTGTCTCCCCTCGATGCGCATTACTAGTAATGATGCTTTATTTTTTTTCATGTATCTAACAAATATATCAAAAAACTGAAATTAAAGCGCTTTTGTTCAAGTTAGCAAGATAACCATTATAAAGCATTCCAAATAGATTTCAAATTAGCAAAATAAAGTGGAGAAGCTAGGATAAGATTGGGGAGTATAATTTTTCGGGCACACCTTCAGACTTTGTGGCCATAATAGCCCAAACCCACAGTTTAGTGAAAACTAGGGCTTCATTTGCTATATGGTACCCGGCACCTAACCTCTTTCAGCAATCGAATCCCAAGCAACCTTCACATCTGTAACCTTGACAAAAAACACGCAATATCAAATGGAATATAGAATTCTTTATTCAAGAATCATCATCATCATTTTTTTCAATTTTTACCGAAATGCCGAGCATATTTTTTGTCACAAGGGGAATGGCAACGGCGGGGAGCCAAGAAAATCAAAAAACAATATGGACAGAATAATGTGCCAGCGGAGCAACCATGCATAAATAATGAGGTTGGTGAGATGAAGAAAAAACAGATAAGTTACGACGCGAGGAACTACGATTTTGAAAAATAAACTGCTAAATATGTGCTTAATCCTCCCAGGTAAGCGATTATAGGACGGTTCTCGCATCTTAGCTGGCAGTTTCTCTTTCCGTATTGTTCCAGTTGACGTTGGCGAACCCGGCGTCTGAGACGATGGTGTTGAATATCAGCGTCCTCCGAACTCGGAGGCGTCTTCCTCGATCTTTCTGGCGGCCTCGAGGTTGGAAGGTATCAGTGATTGGATTTGATTTATAGTTCTTCTTGAGTTTTTTTCTTTATTTTCCTGCTTGTAATTCTAAAGCAACTAGAAAAAAAAGTTTCGGAAGGCATCTATCATGCCATGATTTGCATACCCGGTATGGGTTTGCGCGCGCGGGGGGCTTGCAACATTTTCGTAAATGACATTACGCTATGAGAGGGGGGGGGGGTGTGTAAAATAGGTATTTCTTGTCTGTCCCCGTTATCAAGTTTCTTGACGCAACGCGAGAGAAAACATACCTTCTCGTTCCTGCAACGCGGCCTCAACGATGGAGCTCTGGATGGTCGCAGTTTCCCTCGTCTCCTTCCTCATCCGTCGGCGTACTCGACAGCTTCGTTGGTCACCTGGAAATTAGAAATTAAATTTTTCTCGATTAGTTTGGCCGAATATAAAAAGTAATACTAAGAATTTCCCCATGAAAGGCTGAAAAGGGGATTGAGGTTTCCTGGGAAAAGTGAAATCCCGGTCTCAAAATTTCTTTTAATTTTTTTGAGCTCCGTTGAATACCGACAACAAAAATGGCTCTGGAATTTGAAAATTACGGGGCACCGAAACACAACTTCATCTACTGCTGCCAGTATGTCACTCCCGCATTTTTCGGAGGCTCAATCGTAGATCAAAGGTTTCCGAATAAGTTTAGATTTTTATCGAGATTGGTAACAACTAGGATTGACAAATACCAAATATCAAATATTTACCCAGATGCAAGTTTTCTGGGTGCTTTGAACTAGAATTCCTGGGAACTGATTGTAAGTGTCAAAACGCCCTCAGCCAACCGCCTAAGCCTAAGCCTAAAAAGGTGTCTCGAACTTAAATTTCGACTGGCATGGCATTCAAATGGGTATACCGATGATTTTGTTTCAGCTAAATTTTTAGGGTCGAATTTTCAAGAGCAAAATTGGGATATTTTTAAAGACTATTAATTGTCCAAAAATCCAACAATTCCAAGTTCAAATGAGCTTTAACTTGAGATCACCTTCCCAAAACCTCAACAGTATCAACTTGCGGTGGCGGTCTCGTGGCGGTTGATGGCTGCTCCTTAACAATATCCAATCAAAGGTGCCTCATTGGCGCTAGGGCAACTGGAGCCTGAGTCCTCGACAACTGGAGCTGGAGTCTCTTCAACAACTGGCGCCTCGGTTTCCTCGATCACAAATGGAACCTCAGTCTCAACGACGGCTGGGTTCGCTTCTGCAGCGGCGAGGTGCTTCAGTCTCAGCGTCGATTTCTGGAACGATTTCCTCTTGGACAGTCTCGGACTACGGTTGGCTCTGGTGCTTGCTGTCGTTCAGATGCCGTGCTTGTTCTGGTGTGCTTGCGCTGTGGCTCGACAGGCTGACGACCCGCTATGCTCGACGGGTTTTGGGACTGGCCCCTGGGTGTATGTGGTGGTCCGACTATGCTCGACAACTGAAGTGTGGGTGTGAATATGTGGGTGGGAGTGGTGCGAATCTGACTAAAAACTGTAAAAACTAACCATGAACAGCCTGGTGTGTCCTGTGGTGGAGCTTGGTAGTCGTCCTTGAGAGACTTGGGTCACCTGGATAGAGCTGACTGGTTCCGATTGGTACCCTCCTTGTTGAACTTGCTCGACTGAGAGGGTGCGGCGTTGTCTCCTCAGGTTGTGGGGCGACTGGGGTGGGAAGCTCCAGCGTATGAGGGTCCTCGAGTGGTTGGTAGCGTATGGATTCTCCGATGCCGCAGCTTGGGAAGCTCCAGCGTATGATGGTCCAGCTTGCGATCCAGCGTCGCGAAGATGCTCCTCCTCCGATTGGTCCTGAACCAGCGTAGGCAACCTCCACCGACTTGTCCTTCGAATCCTTGTCGACTGGTCCCGAGACGAGGCTCCTCAGACTGGTCCAGGTCCTCCGAAATGCATGGAGCGGCATATCCGGCTCCTCCACCGATTGGTGCCGGTGCTGGTTGTGGTGGGGGTGGAAGGCGCGGCGGGATAGCTTCCGCGTCAACGCCTCCGGTTGCGTAACAGTAAACACATGGGGTTAATAGTATGGAGGTGGCTAAAGGGAAGCAGGTTTTAGTTTTGGCGGCCAGCAGCAGGAAACAGGACAGTGATTTTGCATGAATGGTGGCAAGTAGAATGCTTTGTCCTAAGGAAGACATCAAAAGATCTTCAGAAAGAAAGAAATTATTTTTGGAATCAGGAAAAAGCATTTGAATAGCAGTAGAAAAAATATAACAATAATGTATAGTCACTAAAATACAAAAAATAATGCAAAATCATCGTTAGCTCGAGCTAGAGCATGGTGGAGCTCATCCTCCGCACGATGGCTGTGATGATGGGCAACATCCACGGGAGCTGCCGGCACCTGTCTCCGATACACGCTAACGCAGCGCGACACGGCAAATAAGACGGCTACGACATGACTCTCATCGTATTTGAGAAGGCAGAAATCGCAATGGAATGCTGAGTAACTGTCGTCGAAAGGCAACGTAGGACGTGCGTTTTCTAACAGCCACCCCAACTATTAAGTCCGCCCATGGCCGTCTGGAGGGGGCACGCGGCACGAAGCTTTCCGAAAGACGCCCGATCGCGTTTGATCGATGATGATGATGATGAAGAAGTGATGAAGCCCTCTCTCTCCGACGGAGGACACCTTATTCACCTTGGGTGCGTGTGTGTGTTGCAGTATAGGTGCAAGAAGAAGCGATCTACAAATGGGGTTCGTGGTCATTTCCGAATGATCCAATGCTGGAATATTCCTATTAATGTGACTCGTGCCACCTCATTGTTACTACTTGCGTGATTGGATATGTACCGTTGTTTCCTTTTCTAGTTAGATTCCTGAACAGTTCACCTTTACCTAATCCGGTGATCGATGTTCCAATGCTCTTCCTTTCACTTCCATTGCAGCACCTAATCAGGCGGAATATCATGCTTTCACTACTCTGCAGGTAAAGTGTGAAAATCCTAAGTTTTAGATTTCAAAGATGTCAAAAACGATCGTTGATCCTACCGCGCTTCCGCATCAACTGATATCAGGTTTTTATTAATGACAAGATTGTGGCAGAGGAATGAACTGGTTAACTTTTAGGCTGATTTAGTCTAACCCCGTGGAAAAACTTCCAGCTTTTACCTAGCGGTAACTGCAAACTACGGAGGATTAAAATACATACATTTTGTAAAAACATACATCACTTTCATAAAAATTTCGGTTTAGTTCAAAAAAGAAAAACACATTTCTGTTTTGAGATTTTTTTTTTATACACCCAAAAATGTCGATGCAATTTTGATGTTGATGCACCTAAGGGCGATTTAAAGGAAATTATGACTTTGCTGAATATTTTTGTTGTATGTCTTGATTATGGGTTTGTAGGCTTCGATGGCAGGCGCAGGGGCCGACGGGTCCTGGCGCCCGTCTGAAACTTACGCCCGCTTCACGCCGGCCTTTTGCCTCTTTTTTGCATCCCTTTTACGTGGTGCCAGGCTGTCCCATCGCAGTTTGATCCACAAAAAATACGGGAATTTTTCGCCCAAAAAAATGTGATCGTCAGCACGTCTTTAACCATACGAAATCAGTTGAGTCTCTTCGTCTCCGCATTAGTAGATCTGTGTAGATCAAGCCGTGTAGCGCGCTGACAGCACGTGTGTTTCTCATTGGAAATTGGAGGCGAAAATAAAAAGTTAGGCCATCAAAGTTTCAGCAAAAGGCGCGGATTGAGGCGAGCTCGCTTTGCTAAAGTCAGGCAGGCAGGCGGTGAACGCCTACAGGAAAAAGATTTTAGGTTATATCTGTAGGTTTCCCTTTTGTGTGTTTTTTAGACCGTCCAAAGAATCGTATCAAAATGAATAGGTATTTTCTCGTTTTAGGCAGATAGGTAAAGGTCTGTAACCTGAAAATCCAGAGCCTGATAATCCACACCTACATAATCATCAATTAAAATATTCAGATAACTGATAATTTCCTGAAAATAAGATATCTGTAAATTGAATCAACACCAATTTTAGTGGTCCATCAAATGCAACATTGTATTGATATATAAACTTTGGTAGTCAATATATGTTTTCTTATGCATTCTTCTCACTACAGTGCACCTTGATCATTGAGTACTTCATCTATTCTTGACCACTTCCTAAAAAACAAGAAATCAATCACGGCGAATATCCAAAAAGCATTAAAAAAGTACATTTAAACGAATACATTATTATTGCCCGTTCAATCCTCGTAATGTATCTTTTGCAAGTTCCTTCTTCCTCTGTCCCGTTTTGCTCCAATTCTCCGCCATACCTGATATGCTCGACTTTTTCGATCATAGACGCGAGTTGCGCAACGCGCGAAAATATCTTGCGCAATGAACAAGGAGAAGAAGAAGAAGAAGGAGTAGGAGGAGCCAAATAAAAAATAGGTGATAACCCGGGAGATGTTAAGCCAAGGAGTAAAGTGTTATAGCTTGAAGAAGGCATATTTTTGTTTCACTCCCCCCTCTGACAGCTTCTTCACTTTCACTCCAACCGTTTTTACTCTGAATGGTAATAGTTGACGGATCGCAAAGGCAAAGCCCTAATGGTCATGATTTAGAAGCAGCGGGGGTCTTGAAGGACGATCGGACAACTGAGATATGAAGCGTGAAAAACGGAACGCATGCTTATAAGAGGGGGAGATATATGGAGATTTGTTGGGAAAGAGCTATGGTACCGATTTTAATCCGGTATTGTGCTGGATTATAGTGTTTTGAAGTAGTAGCTAGGCACTGAAATTCACCCTCTAAGCCGTTAGAATTGCACATATTTTAAAACTATGCACCAGTTTTCTTAAGAACTGCTTGAAAGTTGAATTTGAACTGGTAGTTCTTGCAAAGAGGTTGAACTATCTGGTTTAGTTGCGTCCATAGTGCTTTGATAGCCCTTTTTAATTCCGCCAAGAGGAACGCCGGATTACCCATTTGCCGGGGATTTTCTTTGGCAAAGGAAATCGCCGATTTGCCGTTTGCCTAAGAAAAAATTTTTAACAGACGGAAAAACTTAACTGTGTCATTTTGAACTTATTACCGTTTTCTTGAAATATTTTCATAGAATCTAACTTTTGTAAATTGGAGATGAAGGAACATTTATATTATTTGAAATTGAAATTGTGGACCTTAAAAAAATAATTTGCAAAACCACAATTTCCCGAACTGCCGTTTTCCGCAAATTCGGCAAGTCGGCAATTCGCCGATTTGCGTAGCGAAAATTACAAGCAATTTGCATCGGAATGACAAAGCAATGTTTCCTAACATAAAATTCTAATTTTCAAGAATGATTTTTTTACTCAAAGTATTTTTATAAAAGAGCCGAATTATTTTAAATGCCCGCGCAAATAAGTGACCCCACATTTTTTACATTATTTGTATTTTCTGGCTAAATTAATTGCGGTTTTTGAATGTTTTTTATCTTTAGTATATAACTTGAGTAAAATTCACAGTAAAAATTAGTTTTGACAAGTCGATTTTTAGTTTAATTTCAGTTTCGGAGTTTCGGCAAATGTATTCTCAATTAACAAGTTTTCCAAAAAAAATCTGACAGAAAATTGACAAACCACGGTGTATCAAGCCGAGAAACCCTGACACCACTTGTGATTCCCCTTGGAGGCCCGCCTAGATCAAAAGTTGGGCCACCATCATTTTTGTTCGAACTCAATTGGTAAACTTTGCAGACTAGGCTGACACGTGGTATTTAAATACAATTTTCCACATTTATTTTCCACAAACCGAATAAAATCCTTATCTGAACAGTGTTATATAATTTTTTTCTTCAGATCACTCGACAATTTAAAATATATTACAGCATTCTTCTTTAGATGTTGAACGTTGATGCTTAGGATAAACATGAAAACCAGATCAGCTTTTCCGTGACCTCAAATACTCATTTTCTCAAATTCTCAAAAATGTTCTGCCTTCTCCAACGGTCTCTAAAAAAGCTTGGAAAACCCACAAAAGGTGTCTTGGGAGGGACACTCTCTTTTATCGATGACCGGAACGCCGGTATAAATGGGTTTTGCGGACTGACACCAGCAGGTGGAAATGGGCGACACTAGTAAAATAAAGAAAAATAATAATACTGAAAAAACAACACGGTATGCGAACAGAGAGTAGTGGCAAGATCGGAAGAATGGTCGGGGGGGGAGGGGGGGGGGATTACATAAAGATGTCGGCATAAAGTGCGTTTCATTAGGGTTGGGATTTTTATAGGGGGAAACTTTGATTTTTTTGAAAAATAAATTAAATAAGAAAGAAGCGACAACAACCAACAACAAGGTCATTTTTAAAAGGAAAATTTGGCTTGAAACTTAAACATTTTGGGATGAATTATGAGGATATACTCATAGATTAACCTAATTTAACAAAAAACACGTCGTCGAAATTTTTAAAAATGAAGCTACTGCAATTTTGAAATTTGGTGGTCCTAAGAAATCTATGGTTTTGTGGTATTTTGACGATAAACTGATTTTTTGTGTTTTTTTTCTGGTATTTTGAAGCCGCTGTACTTCAAACCCTTTTCATATTCTCAAAAATATCTTTGCAAAATTCGGTTTTCTCTAAAGAAAATTTCAAACTAAACCACTATTTTCAATTTTTAAAAATCTGCAGATAAGATATCGGAAAATTCCGGCAATTTGCCGATTTGCCATAAAAGTTCCGGCAACTTGCAGATTTTCCTATTTGCCGTAAATTTCAAATTCCGGCAAATTGGCGAATTCACGCCGGTCCTACCAGTGATGAATAAATCTTGTTTTTTTCTGGTATTTTGAGACCGCCGTACTTCAAACAATTTTCATAGTTTTACATATCTTTCAGCGAGCGGTTTTTTTTGAATATCAAAATAAACCAAAAGTCTACTTTTTGTGGTTTGTTTTTGTAATTTTTTTTTTAGAAATTTCAATTTTAAGATATCGGCAAATTGGCAATTTGCCGGTTTGCCGGAAAATTTTAATGTAGATCTGGCGATTTGCTGCTTTGCCGATTTGCAGGAAATACTCTATCCCTGATGTAAATTACCAGAATTAGAAATGTGGTATAGCACGATTGGCACACAATTTTTTAGTACTAAGGATAACACGCTGAAAATTAAATTTTTGAAAAAAAAAATTCTTGAAATTGTTTTAGTAATTTCGTAATCAATTTATATCATTTTTAGCCTTTTGCTCCAAACTAGGTTTTCTCCCACGTGGCATCTCTCATTACACATAAAAATCCCTGCTAACTCAAAACATTAAGTTGTCAGAGATTCATATCCATGTCCGCTTCACTTTCCAACTTTTTCCCTCTTAGCTTATCTAGATATACGTATATCTATCTACAAGTGCAACAACGTTCTCTTTTCAAACATCCAGTTTATCTTCTGACCTTTGCAACATTTTTCCTTCCAAACTTCCAGATTGCATATTATTCTTACATTCAAAGAGTGTCTCAAGTTTTGCTTAGAAGAAACATAAGGTAAAATGTCAGAATATCTGTTTACAGCATTGTAATGGCAATTTATTGTAAATATTCGCAATTTTGAATCTCCCTTAAAATGGTTAATTTTGTAGTTAGAGGACTAAATTAATGCCCAAGAAAAAGTTGTCATTTTTCATTTATCAATGATTGTACATAATTTCATGCCAAAGAAAAAATTTTGCCAAAAAAAGGACAGTCATTAGAAAAAAAAACGGAAAAATGATCTGGATCAGTGATTCTTTTTTATTATCTAAAAATAATCAGCATAGTCAAATGTACCAGAAAAAAGCAAATAAAATGTACTAGATTGACCGGAAGATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTGCTTTTTTCAAAAATTCACAAGTAGGATACAATTACGGAGCTATTCTTTTTATTTCGTAAAACTCTTCGCATAGTCAATAATACCATAATATGTCGATGAAAGTATAATATCTTGTAGTAAGTATCTTTTTAAAAATTGATAAAAATATATAAAAGCTGTTTTTTTCAGGGAAACTGAAAATCCAAATGGAGGGAAAAACATAAGGCATTCTTTTTTATTGCAGCTCATAAAACTCTTCAGCATAGTCAAAAATACCAAAATATGTCAATTAAAGTATAATAGCTTGTACGGAAGTATTTTTTTAAAAATTGATAAAAATATATAAAAGCTGTTTTTTTCACTTGCAAAACAAAAGTATGGGAAAATCATATGGAGTCATTCTTTTGTATTTCATAAAACTCTTCAGCATAGTCTCCCAAAAATACCAGATTATATCAATCAAAGTATAATAGCTTGTACGGACGTATTTTTTTAAAAATTGATAAAAATATATAAAAGCTGATTTTGTCAAAGACCAAAGTCAAAAGTACGGGAAAATCATAAGGAGTCATTCTTTTTTATTCATACTCTTCCCAGAGGTCCATAGCCAAAAATACCAGAATATGCCAATCAAAGTATTGTAGCTTGTACGGAAGAATTTTTTTAAAAATTGATAAAAACAAATAAAAGCTGCAATTTTTTGAAAAATTCAAAAATTCAAAAGTATAGGAAAATCATATGGAGTCATTCTTTTTTTATAAAATTCTTTACGGAAGCATAGTCACAAATACGAGAATATTCAAAAGATAATAGTACGGAATTTTTTTTTTTTGATAAAATATATAAAACTGAATTTTTCAAAAACCCTTCAAAAGTAGGGAAAACTATATGGAGCGCTTCTTTTTTCTGTAAACTGTTCATCATTACGGGTAATACCTGAAACTACCAAAAAAAGTAAGCTAGCATGTACGGAAGATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTACTTTTTTCAAAAATTCAAAAGTATGGAAAAATCATATGGAGCGATTCTTTTTTCTTTTATAAAACTGTCAGCATAGTAAAATGTACCAGAGAATACCAAAAAAAAGTTGGTATGCTAGATGTTCGAAAAATTGTTTTTATGGCGTAATTTCTGAAGAGGAGTTTCGAAAATGTGAATATTTCCCAAAAATGGACATTCTTGCCACTTTTTACTAATTTTTGATGGGCTAAACCTAGATTTTTAACGCTAAATTTTACATTTATGAGTTACCCGTTTTATCGACAAATTCAGGCAGATTTTTATTTTTTCCTATTTTTTTAAGCCATTTAATCAGCCATAATAGTGAATGTCTTTTTGGGCAAAAAAAAATTTTTTAAGGCTGACCAATTTTAAGCTCTCCAGCTATAAAATGAACCATTTTAGAGGAGTTTCAAAATTGTGAATTTTTACAAATATTGCCCCAATTTTCCACTTTGTAATGGTTTTTGGTGGGTTAAACCAAGATTGTATTCTGCATACATGAATTACGCGTTTTCAACAAATCTTAACAAATTTGTTTCTATTTTTTCCAAAATTTTTTTCCCTCAGCCATCTATTCCTTTTTTTTGTCTGTTTTTTTAGGGCAAAAAAACCTTTCCCACGTACCACCTTTAATAACACGGTAAACTGGTCTAAAAATCGGCAAGCGGAATGAAACTTCAAGTAATATAATGCGATGAATTGAGTTTTTTTTTCTATTTTCTTTGTTGAAAATATCAATATGAAAAAAAATGAGTAAAATTATATTGACATAGTTAATCGGATATAAATAATAAAACATCACAAGCACATTTAATTTTTCAAACCCACTCAGGAGTCATGAAGAAATCCTTCTCTGCACATCTAGCTTTCTCCACATCCAACTACTTTTATTATCTCCAGCAAACTCCGTGTAACTTTTATTGCATACACATTCAAAAGTTTTGTATGATGCTTCAAGTCCCAAGTCGATTACACAATCCCCGAAAAGAGCATCGCTGCGAATTATGTCAATTCCCTCTTCTAAATGCACTTGTTCTACAAACTTCACTGATTTCCTTAGGATGCCACAGTCCCCAGGCAACAGTTTGTGCAAATTCTCAAGGTTTGATTTCAGTGGGCAAGCGGCAGGTAGCGCTCATTTTAAATTATTGATTTTTTTAAAACATTATTAACTCACTTCGTCGCTTTCATGTGCTCTTCTTGGATTATGGTCATATGGTAACTAAGAATCTCGAAAGTTGTTTAAATCCCAAAAAGATCACATTTTTCCTTTCAAACGCATTTTCTCGTTTACAATGTGACATCTCTTGTTCAGTAGTTGGAGTCGGCCTCTGTCGCAGATAGTGTGACCAGAGCAAGTGCCTATTCAAGGGATTTGGGTATATCATGATCTGGAAAATTTGGTATGTAGGGCTTCCATGGTAGGCAGGCGCGGGGCCTGGATGACCCGCTCCCACCGGTGAATTTACAATGATTTTCTCGTATAAATTTTGTCATTTTGATGAAACAAAATTGAGGGTACAGGCAGGCGGAGGTCGCCTCAACTCGGCGTTTGCCGCCACCAAGATTCAATCTACCTGTCCAAAGCATAGCAACTTCTAACCCAACCGCCTTGCCTCAAAAAAAATAAAAAGCTTAAATATCAAAATTACTCAATTTTGTGTCAACCTATTCTACTTTTCTGAGACAATTTGAATTCCCTCCAAAAATTTTATTGGAAAACAAGTTTGAACTTTCACTGGCCAAAATTTTTTTTGGCTGCGCCAAAGATGATCAAATATTCTCGGCAAGATTTTTCCCAGACCCCAATTGAACTTCTTGCCAAAAATTTTGATAATTTGAATGGCAAAAATTATCTTGCCTTATGGTGAGGACACAATCAATAGTTGTCAAAATTGTATATGTCTGTCAAATTTTTGATGTGTGTTGGCAATTTTGGCAAAGCATTTGCCGAGCTGTCTCGGCAAATTCGGCAAATTTGCCGAGCTCGGCAAATTCGGCAAATCTACTTTTCGAAATTCGCCAAATTTGGCAAACGGCAGAAAAAAGTACAGAGATTTGAGGTACACAAGGCTTACATCGAAATTAATCTAATTAAAAGAATGATCACTTACCATATATAGCATATACTGCATATTTCAGTGACCTTCTTCGCAACAATAGTCTAGACACTGCCCAAACACTACACACTTGATGCTATTTATGTACTTTCTATGCTGAGCAAACAGAACATGCGATTTGAGGAATCTTAGGTAGCAGCAAAAAGATTGACATATGATTAAATTCCTAATTTGTTCCTTAGCTTCCCGTATGTCAATTAATTCGTAGATAGTTGCTATTGAGAAAAGTTTTTCGAAAATTTGTAAGATATCAAAATAATAGTCCTCATTTTTAATTTAATGATAGAGTACTTTGAAAATTTCAACAATTTCAACACTTTTGTAACACCTATGTTATCAATCAAATACAACAGTTTAGTACAGTAATCCTACATTTCCAGCCCACGTGGTATTAAGACAGTGTTAACCTTGTTATTTTTTAAGGACTAAAAAAATTTAGAAAATTTTTCTTCCCATTTTGCTTACTTATCAAAAAAGCATCGTGCCCTCATTTAAAAAAGAAGGGTCGTCGCTGGAAAATGTTAAAAATTTCTCTCATGATGCGCTAAAATTACTTAACTGTTTAAAAACATTATAAGTATCGTAGCGAATTTCAAAAATCTTCAAAATTTAGATTTATTTATAGTCAACAGTTTTGGAAGTCAATTAAAAACATTTTTTACTATTTTTAATATTTACAAACGTTATAGTCAGTTGCTTGTAACTTTATAACTCCGTTGCCTACCGTACATTTAAAACAACCGTAAAAATCTAAGCTTTTCTCCCGATAAAAATCTTTACTCAGGCGCGCGACTCTTTTCTTACATATCTTTCTGAATCTAATCAATATTGAGCTCATACTAGCTGTAAAATTGAACATACATATAACTTTGAGTGCAATTTCGACCCATAATTTCAGAAAATTTTCACACACAGAAATCTTTATTGAGAATGATCAGGACAGTTTGACCTTTCATGAGAATTGCTTGGAGAAAATTCCAATCGCACAAAATTCCTCATTGCCAAGTATTTCCTTTAGTTTGTGGCCAACGCCTTAAAAAATAGAAGACATATTAAAAAAAAAACTCTGACACCACGTGATTATGCAATCCGACTCATCGTCAACACACGGGGTTCTGCCCTTCCTTATTGAATTTTTCGCGCTCCATTGACAATCACCCCACGCCGTCCGACACGTGTGAAAGTCGTCACTCCACAAGGAAAAATACATTTAGTTTTACGTTCGAACTAAAATCGAGCCGCGACGCAACACGCGACGCGCCGTAAATCTACACCAGCTACTCTATGGCCAACCGAAATGGCCTAGCTCACAAACTCTTCCATTTCAATTTATAAGCCAGAAACCCGTGCGAACTGCGAGCCTAACGCTCTTTTTCAAAATATCGTATAACTCGGATAACAAGCCATATTACCAATTCCTGTTTTATTTCGAAAAACAGATAATACAAAAGAAACATATCTGAAAATTAAGAATAGATTACATGTTTTTATCAAATACTTCTTTGTCTATATTCCATAAATGACCCCCATGCGAATGAAACACTCACTATACATTCAAAATGAATTTCGCACTTGTCGCTTTCCTCGCTCTCGCTAACATTTGAGGACTTGCACAGGGTGATCCAGGACTCTCATTTGAGAGAAGATTCAGTAAATATTGTAAGCTTTCGGATTAATGGTTACAACATCTATTAGATTGAATGGCAAAGTGCCAGTGGGAGCAGTGAAGACGTTGGTTAATGATCTTGTGAGCCCTACTACTATTTAGGGGGTGGAGAAAAACAACATTATCCTCATTGTCAGTTTAAGGAGCTACGGGAGGGCTCCATCTCAAATGTTTCAAATAACTCATATTGTACCTTTCTCTGGTGAGTAAAATAAATTACATATTCGGAATCCTTTTCTTTTTGATGTTAACCAAGTTGCCGGTTGCCAAATTTTGTTGGGTTCGGCAACTTGGGCAACTGGGTATCAATGTCAAACATTTTGAAGCTTAGAAAAAAGCATTCAGAGAGCCTGAAAAATTCTATAATTTCATTCTAAACGAAAACTACTTTTTTACCAAAACGCTGAAAAATATAATTTCAACAAAACATTGAAACGTGGTTGCCCGACTGAATATTTTGGGGTTCGGCAATTGCCGGTTGCCCGTTAACCTCGGTTGCCGCACGGCCCTGATGTGGAACTCGCCTAGTGTGTCGCATACTTCAATGTGAAGGCGTATTGTATTTTTTTAAACATAAATTAAAAATTCGCTAAAACCGTCATAGCATATATAAATTGTTTAGACCGGTGAATAAAAGGATAGGATGCCACGCGAGTGCGAACGCTTTTCTCCGAAGATCCAAGTCAGGACGTCGATGGGCGGGACCCGGTGGGCGGAGGTTAGTCGGATAGAGCAGCAGACAAAACATCCGGGCGGCGAGATCAAGTGCGTACTCCTCGACGGAAAGGGAACTTGAGGCGCGTGGATTGGTTCTCGTCAGATGAGGAAAGATTCTAAAGGGAGGCGACCGGAGCCAGTTGTGGGAGCTCCTGTCAAAGTCGTTCTCTTAAGGGAAACAAATAGTGGTGTTAAGGGGAAATGCGATGGGAAATCCGAGTAGTTGATGGCGGAATTTTCTCGCGGGTTTCATCCTGGAAATTTAATTAGGGCCGCGGATTTCAACTTGCCGAGTTTTTATTCGCTTTTATGAAAAAAATTACTCGACAAATGGTTTTTTTTAATTAAAGTATCCGAAATCCCCGAAAACAGGCCATTTTAGAGAGAGGTCACTAGAGGTTTCGCGACATGGAAATATGTATTCAAGGATTCTTAGGTAACTACCCAATTTTTTTACCTCGAGTTTAATAAATTTCAGGTAAATCCTCTTGAATAATTCTAGTTTTGTTGTTTTACACAAAAATTCGGTTCCTCTTTATTCCGCGGAGTAGCTTTCCAGAGGTTGAAATATTTTTCCGGAGTCAACTCCTACCCGAGTTTTTTATCTCGATTTGAAACATAATCGGCATAAGAAACTACAATTATTTGTTTTCGGGGTTAGAAACTTTAAAAAATGGCCCCAGAAAGTTGCTGGAAATTAGCTTTCCCGAGGTTTCATGGAAATTTGTTTTTGCGGATTTCGACTACCCGAGTGTTTTACATCAATTCATTTCTAATCGACATAAGAGACTACACTTATTTGTTTGGGGCGAAAGCTAAAAAATCCCCGGAAATCTGGATTTCTAGAAACTAGATTTCCCAGTTTGGTTCATGGAAATTTGATTCCGCGTATTTCAACTACCCGAAATTTCAATCTTTAAAAAACATCCAGTTTTTGTGAGATGTTCTTAAAAATAGCTATCAGACGTGATGGAATCCTAAATTTCTAACTATAGTTTCCGCGGGTCGAATTTCTAGAAATGACCTTTCCAGGTTTCATGGAAATTAGTTTCCGCGGATTTCAACTTCCTCGAAGCATTGGATTGCAATATAATTCGCACAATAAAAAAAGCCAAAAGGCGAGGATCCCTGGTAGTTTAAATCCGCAAGAATAGTTTTCTCTAGTTTGAAAAGTTAATACTGAAACCCTTACTTATGCTTTCATTAACCAAGAATTCGATCCGTCGAACAATTGCTTTGCAGTCCCAATATTCGGCGAAAATTTCGATGGTTATTCCGACGGTGCTCTTCGATTTTTCGCAGGGTTTGCTGATACCTGAAAAATCGATATTTCAGACTATCTATGCCAAAAACTAATTAATTAGTTTACCTTCTGACTAGCATCCTCCAGCTCTACAATGTAATGAATGGCGGCTTTATACTGTTTCAGCTTCTTCTCAAGTAAAATCTGAACACAACCCGTTTGCCGTGCCATTACTCAACCTGAGCATGAGCACTATCTTGTCGGCGCACACATGGCCCGAAGTTGAGAGCCAAGTTGAGCCCATTTTATGTTGACGGCGTCCTGTCGGCGCCACGTGCCAAATGATACATTAGGTGATCAGAGCACGGCGCGGTTCGGTTGTGGGAGAAGCTCGTTCATTACGGAAAGACAACCGGACACGTTCACCCATATCCCACTTCTGTAATTTTGTTTTTTTGGACGAAAAAAAACAACAAAAAATATCATTTTGACAAAATGTTAACTGTCAGAAAATTTGAAAATTGATTTATTATTTTTGTTTCAATTTTTAGTTTTAAATGAATGAATGGATTCCGATTTTTGTAGGAATTGTCGAAATTTTTAATAAGAGCCCTAGTAGGCATGTGTGTGTGTCTCATCGGCTTGACCTACGTAGATCTACAAAAAAATGCGGGAGAATCAGAGGTCTTAATGGATTTCTCATGGTTAACAATATGCTGACGTAACTTCTGGGTAAACACATATTTCCGCAATTTATTGTAGATCAAACCGTATTGAGACAGCATCTCTGCCTGGCTGGGGACGCCTCTTTTTTCCCTTGGAATTTTTTTGGCGCGAAATTCAACTTTTTGCAAGTAAGTGCGAATATTTTCAAGCAAAGTGAGACTACGTACAAAATTATTTTGCTGCCAAAGTTTTTGAGTTTGCAAATAAATTATTGAGCAAAATTCAAATGATATTTTTCTTTCGAAACGTAATGAAAAAACTCAAAGTTACAAATAATTTGGCGCGAAATTTGATTTTTCAAAGATTTCTAGCGTGGCAAAATTTGAATTGGAATAATTCTGGTCCAGAATTCAAAAATTAAAAAGAAATTAGTTTGAACGATGCGATGCCCTGGTTTTCATAGAGCTTCCATGTAGGCGTTAGAAAACGCCTGCCTGCCTTATGCCGCGCCTATGCTTGCATATACGTAAACTTTTTTTCATTTCGTATCCTAATTTGATTCAGTTGACAAGTTGATAGAATTGAGAAAATTATAATTTAACGCATTTATCCTCTTAAAAATGCAACAAAAAGGGTTCAGGGCAGGTGCCAGGCCCTGAAGCGCCTGCCTACCATGAAAGCCTATCGTAAATAATCCAAATTTAATTTTTAATTTTACTAAAATTTCGATGGCTCGTTTTTTTTCAAACATCACAAACCTGAACAGTCAAAAAATTTTCGAGACTCAAAAATGATAATTGGTTCGGCGAGTTCTCGGAAGTCTAACGCCCATTATTGACAAGTGTAGCACATGAACTCCAATATCCTCAAGATTCATCATATCCGCCTGAATCTCCGAATCACGCTTGATTTTTTTTTGTTCAATTTTTCTGCAGTTCAACTCCAATTACCTGCAGTCGATTCAATCACTTGTCTGATACTGCGGATGAACTTGGGGTAGAGATCAACTGTTTCTGAAATTACTGGCGCAAAAAATTCATTAGATTTCAAAGACCAAGTATTTCGGTACCTATAAACTCCTTCCATTCTCAGAACCCCCAGGGACGCCACGTGTCTCAATTGCAAAAAAGAGTCGGTCCCAGAAGTGTTGGCACAGTATGCTCATCATCGACGATTGATACTAAATAGGCACCAAAGCTTCCACCAAGTTTGTCTGAAATTCAATCTTTATAATAGCATTATAAAAGCATATTTGTTGCAGTAGTTTGTAACAGGGGTCAGACAAATTGCCAAGCAAATTTCCGCTGGCAAATCGGTAAACCGGCCTCCCGGTCTGGATTTGCTAAAAATTTTTGGCAACCTTCTTTTGGAATTTTCAGAAAATTTACATTTTTATCGGCAACCCAATTTTACGCATCGTATGAATTTTCTTACATTTATTTTGAGAAGTAAGCAAATTCTATGAAAACATCTGAAGTAAACGAGAAAAAAAAATTAAAGGCACAGTTTTAAGTGTTTCCGTCTTATAAAAAATCCCTCTAAACATTTCCGGGAAAACTGATATCCGACAATTGCCGGAATTGAAAAATTCCGGCAAATTTTGATTCTGAAGCGTCTTTATCAAAAAAACTGTTGGTAAAATACAAATTTTATTTGATTTTCAAATATGTTTTTTTTTTCAGAAAAGTGAATTTTTTGCCGGGAATTAGGCAAATAATTCTGCTCATGAAAATGTTTCAAGATTTTTTTGCCACGAAATCAGACGGTTTGAGAACAGTTTTAGCGGAAAGTTAAAAAAAAATTTCAAAATTTTTGGCAATGGAAGTAAATATTTTTCAGAACATGTATCCGAACAGTTTTGGCTGTAAATTAATCAAATGTTTAGTTTTCAACAACTCTTCGCGGAGGATCCAATATTTTTCAGAATTTTGGAAATTAAAAATTTATCGAAAATAAATTGCAATTTATAAGAAAGCAGTTGTAATTTTTTTTCAAAAAGGTACCGAAAAAATCTGGCGAATTTGGCAAATCCTTGAGCTGAACAAACCCGGAAAAACGCAATCATTTTATCCTTTGACTTTTTGGATCAGGTTCAAAATTACTGAATTCCTACAATGAGTCCACGTCAGATTTTTCTATAAGCTCCGTTTGGTCTACTTGTATAAAGCTCGAAATATCTCAATGTTATGTTATTTTACTAGATTTTTTCAAAATCAATAAGTTTTTTTCGGGTAAATTATATTGTTCATTTTGTGGTGTGTGCGTGCTCTGAAATTTCACACTTTGCCGAGCTCGGCAAATGCAAATTCCCGCACACCCCTGTATTACTCACCTTCGGAAATCGCCTTACCATCTGACAGGGATGTGTGACCTTCGGCTGATACTTATGACACGATATCCGGACCACGCAACACAAGTTTACAGCTTCTCATGGAGCCATATTAACTGAATACACACTTCAACAATAAGTCCAACGGCACATGGACTGCTTCGGCACGAAATCGGTGACCAGCATGTACCTGGAATATTGGAATTGCGTGGGCAGGGTTCCTGACACTAGTTTCATTTGTCTAAAAAATTTTTTTTTAACTGCCTGAAATTAGTCCAAAATTACATGTTATCTTTTCTCAAAATGTGTGAAAATTGCACACTGAATTAATAAATAATATTACTTTTGTAAGAACATAAAAAGGGGAAAAGTCAGCGGTAAAAAAGTAAAAACACTCAGAGTTAGATCTGTTGACCTCAAAAAGTTCCATGAAAATTTCCTTCTTTTTTTTCAGAGATGTGACGTCGTAGCGGCAATTTCCGTTCGGTAAACATTTATTTTCGGCAAATACGGCAAATAGCTTCCCCGATTCGCAGTTTGCCAGTAGGATACCAATTTGCCGGAAGTTAAAGTTTTAAAAATTCCAGCAACTTAAAACTATTCTAACATTTTTGAAATGTTTTTTTACTATTTTCTCTAGATATTTTTAGAATTTACTTACTGTTCAAGCCCACAGCTTGCCGAAAATTTCCGGCAAACTGTCGGTTTGCCAAAATGGCCGGAAATTTGAGAAACGGCAATTTGTCCGTTTTGCCGTTTTCTAAAAAAATTTTCGCAATTACTGTATTAGCCGTTTGCCGAAAAACTAAATATGCCTCCCATCGTCACACAATACAAAAAAATTGCGCGGCTTCTGGAGATCAAATCTGACAGCTTACTGTACTTATAACTACAAATTCACGCTGTGTTTTTATCTAATTCACGTGGTGTCAGGGTGTCTCAGGCTTGTTCTACGTATATCTACAAAAACGGGGGCAGAGACGGAGGAATGTGCTAACGTCACTTTTTTTTTGAAAAAAAAAAAATTCCCGCATTTTTTGTAGATCAAACCGAACCGTAATGGGACATGTTAACCTGGCGCCACGTGCTAATAGTAGTCACTACATTCTTACCGCCGCTCTGATATTACACGCCGATTCTTTCCAACTTTCTGAATACCAATTACACCATTTTCTCGGATTTTGATATATAATACCGCGGGCTTCAGACTTCCGTCTCATATTTTCAGAATGTAAGAGTTTAGCGAAAGGTCATTTGGGCTAGGCTACGGCGCGTTGCAGCTCGCTTTTCTTTGCAAAACTAAATCGGCGTATCTGTCCGATTTTCATTGGAGCGCGAAAGGAAAACTAGAAGCCCATGTATTAAAAAATGCCGACTTACCTTTCGTTGATGAACTCATTTCTCCTTCCCGCTTCTTTTCCGATTGCACATGAACCTTCGTTCAGGAAACTTCTGGAATTGCTGAGAGTAAAAAATTGTTTTGTTACGAACGCGCCCAGCCCTAATAAAAATTGATGGTGTATACCACGTTGGAAATTATACAACAATACGGAGCACTTTGCTCGAAGCCTAACATTTTCTAAATGTTTTCTCACCTAAGACAAAAACTCCAAGTATTGTCGGAAAGGATACACTGTCCTCGAGACAGACTTTCGTTGAAAGTACCTCGAACATTGTGATGAGGGTATTTTAGCACGGATTGCTCGAGCTGAAAGCTGATATGTTGCTTATTACACTTGCGTGGCCGTGAACCCCAAAAACTAGGCCACCTTTTGCGCCCAATTACCGATAAAACCCCAAAGCCTCATATCGCAACAGCTCCATCATGGACAGCTCTTAGCGACTTTTTTAAGACCGCATCCACTACAGTATCGCTTTTGGCATTACTCTCGTTTAGATGACGTGTCTCGTTGAAAATAAAAAACTGAATTGTCGGAGATAGGGACGTCGGTGGATTCTACTAGCATGTTTCCAGGATCGATCTGTAAGTATTGTGCTTTAAGTACAACTACTGCTTCAGTTTGATACGCATTGTAGTTTATAGATTGTGGTTTGTGTTTTGTAGTTTGTGGAGTTTTTAGCACTATGTGTGAAGCTTGATATTCATTTTGCAGCACATTGACTTGGATTGGGGTGTGCTAAGATATAATATCAAAGTCCAGAACGTCACGAATAAAACATCTCAATCCGGAAACTACAAACTAAACCCTACAGACACTTACAAACTACAGACTATATCCTACAGACTACAAACTACAAACTAGAAATCACAAACTACATCTACGCAAAAGAACGTTACCTACCTGTTGCTTGACTGGTTTGTGTTAAACTGAACGTGCCGGTCGATGGAATTGGTGAGGAGGATTGACGCTGCTTGTGGGGCCTGGAGTTTTCAATATTTTTTTGTTTCAATTAAGAATTTCCTTAAATATACCTTACATCAAATCCCATGGCCGTTTCGGTGAATGCAGCCGAGTTGGTTATCGAACTGGTGACGTGGGATTGCACGGAATGGAGGACTGGCGGCGAAGACGAAGCATTCCTTGTGCAGGCACATTTTGCATCCTGGTAGAGGTCGTCAAATTACGGCTTCTAGGTCATTGTGGCCGTGGCCGATGCTTTAAGGGATGCTAGGTCATCTGACGTCACATTTTTTGTGGTTTTTCTAGGACACGTTACAAAGAGTTCGAAGCGCCCAATTTTCGGAGAGGTTACTAGGCCATGCAAATGTTTTTGAGGTTTCTAGGCCAGTAGAATATTGTTTCTAGGCCGCAGTAGAGAATTTTAGGCCATATCTGACGTCACAGTTTTTGGGACGCGGCCTAATAACGATGGTGGACCTCTCTTCTGGGAGGAGCAACAATACATTTTTTACGAATTTCAACAATAGAAGATGCAACTTCACTATGACCACTCATGTGGTGCGAGGTCTGCTCATTACGGTTTTATCTACAAAAATGCGGGAACTTTTTTCCCAAAAAAATGTGGCGCCGCCACGTTCTTAAACTTGCAAAATCAGTTGAAACCTCTGTGTCTCTTCTCCCGTGGCATTTTTTTTAGATACGTAGATCAAACCAAAATGAGACCACACACACACACAAAAACCACTCTGACACTTGTGCGCCTGGATGAAGTTCGTCAGGTGCCGGCAATTGCAAAGAGCACATATCTCCTGCCCATGGGAAGTCGTGACATCATGTTTGAATTGATGGTTTTTTGGGACGACACGTCCGGCGACAGTTCGGCAAAACTTGTGTCCCGGAGACGGTTCATCCTCGTCCTCGTTCCTGCCCAAAAGTGCCTTCAAATTCTTTTTTGCCTTCAGGAATCCCAACTTTCAAGCGCTTCCTTTTTGGAATGTGTTGGGCTTGCTGAAAATATTCAAAAGTTTTATTATAAGCCATAGAACCCTTACCGTGATCTTCACATCTTGACATTGAGAAATTGTTGGATGCGGTACTATTAGCTGACCTTCCGTAACATTTTTAACTTAGTGGTTGAAGCCGTAGGGGCCAGAGATTGCCGTCTATGATGGGACCTAGATCAGCTCCTTCAATGAGCTTCAACTTTGTGTCTTCCGGGATAACTGGTCCACGTCGACGGCGTCATCGCTAAAAAGGTTTGCTGTGTTACGGTAAGCGAGAATTATGGCAGAGGTGGGCATTGCCGTTCGGGAAATTTTTTGTCGAAAAATTGCCGGTTTGCCGAAAATTTGAATTCCGACATTTTGTCGGCGTAGTTTCCCAGAAATTTTCAATTCCGGCAATCTGCCGATTTGCCGGAAAATTTCAATTTCAGCACGTTGTCGATTTACCGGAAATTTAAATTGCGACAATTTGCCAATTTACCGGAAATTTCAATTCAGGCCATGCTGTCGGAAATTTCAATTCCGGCAAGACAATTTGCCGATCTGGTTTCCGGAAATTTCATATCCGGCAATTTACCGATTTGCTTGTGGAGAATATCAATTCCGACAGTTTGCGAATTTTCCAGAAAAATTTCAATTGCGGCGATTTGTAGATTTGCCTGTAAATTTTCAATTCCGGTAATTTTCGCCGATTTACCGATAAAATTTCAATTCGGCAATTTGTGAATTTTCCAGAAAATTTCAGTTCCGGCAATTTGCCGATTTGCCTGGACAATTCCAATTCCGGCAACTTACTTTACCGAATATATCAATTCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAAGTTGAAGATTTGCCTGGAAATTTTCAATTCCGGCAATTTCGTGCCGATTTACCGAAAAGGCTCTGCAAGTCCTTCGGTAATTTGTGAATTTTCTCCAGAAAATTTAAATTCCGGCAATTTGCCGATTTACCACTGGAAAATTTCAGTTACGTATGCCGATTTACCGGCAATCTCAATCCGGCAATTTGCGAACTTTCCAGAAAATATTCCGGCAATTTTGCCGATTTAAAGGAAATTTCAGCATAATTAAGGCTACGTTCGCCGCTTTACCGGAAATTTCAATCCGGCAAGACATTTTGTTTTTCCAGAAAATTTCAATTCCGGCAATTTAACGGCCGAGTTTCCTGTTTCAATTCCGTTTGCCTGCCTGGGAAATTTAAATTCCGGCAATTTGCCGATTTGCCGAAAAAATTCTGGTACATTATTTCCTAGAAAATTTTCAATTCCGGCAATTTTCCGCTTCACCGGCGAATTTTAAAATCCAACAATTCTGGCACATTGCAGATTTGCCAGAAAATTTCAATTCTGGGAGTTTGCCGTTTTACTGGAGATTTAAATTCCGGCAGTTGCCGATTTGCCAGAAAATGATTCAATTCTGGCAATTTGCCGCTTTACCAGAAATTTAAATTTCGGCAATTTGCCGAGAGTTTTGCTGAAAATTTAAATTCCTAAGAAACTGTGACCGAGATCAGTTTTGACGTCTCTTCCAGAAAATGCACTAAGGTGATGTGACGTCATGACTGAGTTTCGAGGCACGTTTCGTTAACTTGGCGGAGGACCTAATATCCAAGGGAAATAAATTCTTTTTAAATTTCATAATTTTCTGAAAAAAAACTCACTCCTGAGAAAGTCAAGTCTCTCTTCCGGAATCATCATAAACCAAGCCCATCCTGTGTAGACTTATCACTATCTGTATCATCACCCGAAAGAGCAAAAGCCGCCAGAGAGCTCGGAGCACTCAAGTCGAACTTTGTTAGCATTGCTCGAACCTTCGTCTACGATCTATACGATAACTTCTTAACGCTCAAGGCTCCATTGCCCTTGGGAATCTCGCCGACTCGCTTGCGAACCGATGCTCCGAGATACGCAGACTGCAGAGCTATCACCGATTCTCTTATCATAAATATTTCTGTCGTTGCTTGTACTTCTTCCAATTACACTGTATCGTTTGAGCTGCTAACGCTTTTTTCCAAACTTCCGCACCTCTCAAATGATCGAAACAATCGCTTGATCTTGATAAGTAATCTTCATTCTCAAATATCGCTTTCTAGCCAATATTGTCCTGAACCATCGTTGAAGAGTATCGATTGATTACATAATGGTCCGATGCAAATGATCATCGAGAACTTTTCAGCGTCTCTCTAATAAAAATCTTGGCAATTGGTTCCATATTGAGTATTATCATTACAATTGTGCAATCGTTGCATGGGAATGTATGTACTCTTTCACATCGTCCACAGTACTATCCCTTCCGTTTCGCAAAAGAATTCGGTATTGTTGGACAAAGCTTGGATACGAATTCAATTCTCATCTCAGTACCCGGCTGTCCGAATTCGAACGGTCTCGATAGCATTCCGGTGTAGGAGCTGGCGGAGGGTTATGTTGTAGTCGTCGCAAGTGGTTAGCGATCTATAAAATTTTAGGTGGTTTTTGATAATTTCTACTTATATTCAGTCATATAAATAAACACATATAAGTACCAAAAATTTCGATCACCTAATTTTTCTTAATTTTTTCTATACTCTTACTAGTATGAAAGAGCAGGATACAAAAATAACTCCACAAGTGATAAACCAACTTTAATTGGATTAGTGTGTATCACTTTGAGTAAACTAATATTGAAGGTTTAAATGTGGACATACCTAGCCTATAAGCAAGAGAGGTCCTTGTAAGTAGACTTCAATAGATTATGAACATATTATAAACTAACGTTGGTCAAAAAGTAGGTGTTCAATGATTCCACCAATACAAACTCACCTTATCATTATTACTCTTAATACACCTTAAAATACGGCGTCGCGTTGGCCAGTGCGCTCATCAACCTCGTAGTCTCGAACTGCTTTGAAACCGACGATGGCTTCTTGGCAACCCTCCGTCCTCCGATAGCCTCCGTCAGAATTTAGCGATTTCCAAGCTCCACATTTTGTCGTCAGACTTTCCCGCCTGGGGACGCCGTGCTTGATTTCGACTCGTGTTGAACATGCTGGTATCACAAAAGTCTGGTACTTCACAGTTCGCCACGTAGAAATGCGGAGTGAACGTAGCAGATTCCGAGCCGACGAGAGACGTTACGATGTAGTCCATTACTCGGAGAGGCGGATTCTGGACATGTTGAATTATATTAAGGGCCCAAGGATAGCTCAGTCGGTAGCGCGGCTAGCATCTGGAGGTCACGAGTTCAAGTCCGCCTTCAACCCCTAGGTTCACCAAGCCTCTATTGGAAAATGGAGCAATCCACGACTGGATTATAAGCCACAGCCTTCGGCTAGGACGTGTCTTAAATTGTAGCCCAGTGGGAGCACCACCAGGTATTGTACCTGTCTCCCAGATCCGCAGATACACTCAAAATAAAAAAAATGCGAGGTGTGTACTGCAGAAGAAAACCTAATATTTAGGCCCCGACTTTTTCTCGTCCACGCATGGAGAATAGGCAACAATTTTGCCAACCAACAGGCGGCCGACATTCTCGGGATCCGCGCGCGTCTGCGCTGCGTTTAACTCTCTGTGGGCGTGGCGACCTGTCTCCGCTTGCTGCGAGTACATTGCGGCCGGAACCCGTGAGATGTCGGCGGCCTGATATTGGTTGTGGTAAAAATTTCTTGCTTTTCCGTGAGTGGACGTGAAAAAGGCGGTGCCTAAATATTAGGTTTTCTGCAGTACACGCCATTTTATTATTTTGAGTGTACTTACGTCGAAGAACGGATCGTCCTTTAATAATTGTACATTACATTTTATTTTCCCTTCTACGACTCGAAAGGGCGCATTTACGCGCGATGGTCCCGCTACCCACCCCAAAAATCAATGGGTGGCGTACCGAGACCACCGCTGGTAAATGCTCCCTCCTTTAAAGTCGTGTGGAAAAAATTGCACAAATGAAGAACCATACTTTTTGTAGCAAGTTTCGTAGTTTTTTGAGTCCGTTTATATAATATCGTAGTTGTCCATTTATTTAATGTGACACTTCTTCCCACTTACTAAGGACTTCTAACACTTATTCCAGTTATTGATTGCAATTAAATCTACGAACACTGGCCACTTCCCTTTCGCAGTTCCTTGTCGATTGCTTGAACGCCACTGGTTCATCGCCCGAAACACACTTCTCTGCACATTCCCTGTGCACCGCCACCGGATCGAATCCCAGCCGGGTCTTCATCGCTTTGAGCTCGTACTGGACTTTAGAGCGTTCGACACATCCCTCATTAGGTCCTTATTCTTTTGTATTTCTCGGAAACCCTGAGCAAATTTGTTGACGTGATGAGATGAAGACGTTTTTTTTGTCACGAAGTTGTGTGTTTACCGTAATTTGATACTTGACTTTTCCAGCATAATGGGCCACGATGAATGCCGGCTCCTTCTTCTGTGGGTGTCTCATAGTATCCGTTGTTCTGGAAATTTAATCATGGAACTAGGCATGTAATAAGAAACATTGAATTAAGGTATGTCCCGGAGGAGTGACCATCTTAGGCCTGACTTAAACTAGAAGTGGATCCAAGTGGCAGACTGGCCTGAATCCTAGTAACAGGCTGACCCTAGATGATTAAAGGTGGATTAGCGCCAGTGGGAATTCTGTATAAACACACTTATAACGATACCAAACGATCGAATATCATAAAACACGCCAAAAACTTTTAGATTTTTCAAATTTCCGGTCAAAGTTTTTGGAACATTGACAAAATTTTGACGCCAAATCTGAGCTGTTGCGGACATCAAAATCAATGTAACATTTTTCTGGTCCCCTACAATGTCTTTTTACGAAAAATTAAAACAAACCAGATTATATAACAAATAGAGAAAAAAATATTTTTTAGTCGAATTTGTGTCACTTTTTGACTGTAAATAAAAACATTTTGAAAAATTTTTGAAAACTAGTTTTATCATGAGATTTGGTCATTTTGGGAGCATAGGTCGAGTGGTTTTTAACAATTTCCACCACCGGCGCTACTCCACCTTTAATCGATAATCGATGCATTTCATACCTTCAAAAACTGATTTAACTTCGCCAGCATTGAGTCGTCTGTTCCATTATTGATATTACTCTCCTCATCGACTAGCCTGAGAATTCCATATGGTTTACTCTGAAAATTCATCTTATATACATGGATATATATATATATATAAATATATAAATATATATATATGCATAAATATACATGTATATATATATATATATAACAGTATGGGAAAGCCATAGGACACCCCCTAATTTGAAGGTTTGAGGAACTTCCGAAAATTTTTTTGAAAAACTGCTAATGCCATTTGTTTTTAAATTGAAAAAAACCTATAGATTTTAAATTTACAAAAAACTTAGGAGGTCGCGCTGGAAAAAACGTCAAAATCCAGTATGAAACTTCTATAGGACCCCCCGTAGGGGTTTTTTTCACGATTTTTCTAAAATCAACTGGCATATTTTGGAATTGACAAAAGCTCAAATCAAGTTTGAGTTAGCAATGAGTTCAGATAAGCAGTTTTGACTTTAAAAAAGTATTACGAAATGTTCTCGTGGGATCTCCAGACTGGTTCTGATTCTTTCGAACTATGTTAGTCTGTTTCAAGCTTCCTGGTGCTCTCGGTAATGCCAAAACTTGATACACACTCTTGAAGAAGTTCCTACTAAAATTCCTAGCACACACACGCTGGCATAAAAATTTTTACGCCATCCCCAAGAAACCAGTCAGAACGCTAACAGCGGATTATAAAGCCAAGTTGCAGTTATTTTTGATCAACAACAGAATATTCATCTACTAAAATCAAGAAAGGATCAATAGTTAATCGTGTTTCCTTGTGTGCGGATGATCTCAAACAGTCTGTCCTCCATTGGTTTGACCAAACTTTTCAGCTGGTTGTCCGGAATAGTGCGCCCAGTCGAGAATTCCTTGCTTCATGCATCTGTTGAGTAAGTCTTGTTCTGGAATAGCATAAACGATACGGACAAGAATCCCCCACAAATTTTCGATTGGATGAGATCAGGACTTCGAGCTGGCCAATCAAGAAGGTTGATCTTGTCGATATGAGCTTGAAATAGTCGCGGGTTGAGTTGCTCACATGGATTGTCGCATTATCCTGCTGAAATCTAAAGTCTTTGCTGGAGTGGTCTAGAGACGAAGATACTTGGAGAGCTCTCTCAGTTCCAAGACGTTCTGATAGTCAGTGCTGTGCATCTTGAACGCTACTCGAACTTCTCAAGCTTCTTCTCCGTGAACGCTCCCCAAACCATCACCGTTCCTCCTGCAAAATTACGTCTCGAAAAAACCCTTGGTTCTTTGCGAAAATCCCGCCGTACACTCGGGAGACTACCGTCAGGCCCATCGAGATTGACTTTCTTTTCATCGGAGAAGACAACCTAAAACAATGATCCTAATTATTCACTCTTGCTTTCTTTAAATTCTCACTTTACTCCAATTCCTTCCCATATTGTTACTTAGCAAATTCCAATCGCTTGGACGAGTTTATGCAGAGAGTAACGAGCAGGGCAAACAGTTTCTGACAAACTATTACACCAGATCGTTAGATGACATTGAGGGTCGAATGGTCCTTTTTGAAGCAGACAATTGAAGCTCATTGCGAATATCTCTTGCCGTCTTACAGGAGTTGGAGGCAGCAGGAATAACATTTCGCTCGCATTTCAGGCACGGCGGAAGAGACCTTTGCGACGAGAAGCTCTTTTAAATGTACCGCGACTTAGCTCACCGGATCCCTCAGATACTCGCGAATACAGTGTCGAGAACGGGAAATTTTCCTACTCCAATTTCATGCAGGGACACATTAATTTCATAACATCCAACTGAGCGCGTTCAGTGTCCGAAAGGGCAGATCGTCGCTCTAGGTGCAAGTAAGACTGCTTTCGAAGTATGCCTATATGTGTGCCACAACACATGCCACAATTCCACAATAATACGCAAAAAATAGTAAATAACATCTGTGAGGGACAATTTAATCTTGAAATATTGTCCCATGGAACCTTGTACTTAGATCAAAGAATAACGATTTGATTCCTGATAAGCGTTCCATTGTTTCGTGCTGCATATTTTGCCAAATCACCTTGACTCCACAGACGAAACATCTAAAGTGCGTGCTAGGTATTTTAGTAGGAACTTGTTAAAGAGAGTTTATCAAGTTTTGGTACCCATTACCGAGAGCACCAGGAAGCTTGAAACAGACTTGAACATCAAAGATCGGAAGAATCAGTTGAGAGCCAGTCTGGAGATCCGACGAGAACATTTCGTATTAATTTTTTAAATTCTGACAAAACTGCTCTCACCTCAATTCTAACTCAAACTTGAACATTTGAGCTTTGTCAAAATTCCAAAATCTGTGTGTGAATACATTTCAGTTAAAATCGTGAAACGGGGGGTCCATTTATAGAAGTTTCACGCGCACTGGATTTTGACGTTTTTTCCAGCGCGACCTCTGTTTTTATAAACTGCTGGAACAAAATCAGTATATAGGTTTTTTTCAATTCAAAAACGAATGGAATTAGCAGTTTTTCAAAAAATTGAACTTCGTCACCCTTAACCTTCAAATCAGAGGGGGTCCTATGGAACTTCCCCACACTGTATATATATATCTATATATCTATATATATATTACGTTTGAAAAAACCCAAAAAGGAAACTTATTGGACTTACCTGAAACAGCTGCACACACTCCGTATTATCAGTATACTCGATATTGGTCCAAGAAATCTCCTTCAAGTACTCCTCTTGTTCTACAAAAAGTGGAAAATATGTTGATTGAAATAGGACTGAAGTTTCTCAGTGGCATCGTTGATACATAACTGGCTTCAAAGCTGTTGCATGGAGACCCAACGTCTTCAAATTCCGAAATATATCCTAGATACTTGAAAATTACTTCAATTTTTAACAATTGATACTCATTAATCTAACCTATATAATATCATGTACCTCCCAGCTTATTGAGAAGTCCTTCTTCAGCAATGCCTTATTAATCCTGAGGATTAAGTGAAACAAAGAGTTGTATATGCACATCCATGGCAGTCTCGGGTGTTGGTGGCGAAATTAAATTATCTTAAATTCTCTAATTTCACTTCTGTATATATATATATATTACCTCAGACACTATATCGCAAAACTACAGTTTCTGTCTTCATAACATGTCGTTTCATAGTTAGAGCCTGCATGGGTGTCGGTTGATGTGAAGCAGATTTGCGACTAAATCCACGACTTCTTCATTTTCAATATACCCACGTTCAACGCGGGCTATGGTAGCCATGTCTCTGGAAAATTGCATGGGAAAAATAAAAAAATTTCAAGATGTTATTATATTAGGAATCCTCTAAACAAGTGTTTTCAGGTTTTTTGGTTTTACGATTATTCAAATTTTTATGATTCGGAAATTATTATAATTCAAATAATTTTCGTCACTATTATAGCCATGTTGTTGAAATATAGAATGCTATCTTTTTAAAGGTGGAGCACCGAAATCTGGAAACTATTTTTAAATGAGTCCAAATTTTCCCGATTCCGAATATCTATGCGAAAAAATTTTAAAAAATTCATTTATCGACTTTTTCAAATTTTTCAACCGGCGAATTTTCGCGCCAGAAACCCCGTGTACACGTGGTATCAGTGTGTCTCATTTTGTCTTGATCTACGCAGATAAAAAATGCGGGAGAAGAGACGCAGAGGGGGTTCTCAACTGAGTTCGCATGGTTAAAAATGTCCTGACATCACCTTTTTTTGGCATTTTTGATCAAACCGGATTTGGAGAGCCTCTAGGCACCACGTGAGTAGGCAGGCATTTTTTGCCTGACTACTTGCGGGTGCCTGCCGTTTTTTTCTCCTCAGAATTTTTTCGCGAAACTCAATAATTCAAATAATTATGAATATTTTCGAGTGAAGCTTTAAAAAGTTGTTTGTGCCAAGTTTGAGTTCGTAAATTAATTAGCAAAAAATGTTCTCACGTCACGTTTTTGGGCAAAAAAATCTCGCATTTTTTGTAGATCAAACCGCAATAGGACAGCCTGGCACCACGTGCGTGTGTCGATTTACGAGATTTGTGTATATTTACGAAATTTTTTATCTTTATCAGACTCTGATTTTCGTTTCTCAACGAGTTTTCTTCATTTTTGTATGTGATTTTTTTAAGGTACATTAAATATTTTATCATCAAAACCCTAGCAAAATTTTTGGTTTTCAGTCGGTAAAATCATATAGGTAATTGCATTTGCCGTCAATTTGTGACCTAATAGTAAGCATCGGAAATATTGCCAGTTTTAAATAATTAATTGACCCTAAAACACACATTACAAAAAAAAACCGATAAAAATTAAAAATTAAATTAATGCACAAATCTAACGACACATGGCTCTAGCGCGAAAATTCAATAACTCTGTACAAATAGCGATTTCAAGCTCAAATATAAAATCGTGGAATTTTAAAAATTTTTTGCACATAGGTAGTCGGAGGCAGGGGAAATTTGGAGTCAATTAAAAATTGCAGATTTTACGGTTTCGGTGGCGCTCCGAAGAACTGTCTGAATAAAATTAAAACTTTGGGAATAGGCAATTATTCGGTATGGTTAACTTTTGCTCTTGGTGAATCTAAACCGTCCCAATCATTTACCTTAATATATGTGATATTGCCAAGAAGCAACACTGCTGAAATAATCCCGAAGAAGGTCTGCTGGGTCTTTGCATGTCCAAAATCCGAGGGAGCTAATTGCATGCCTCAACCTATCAAGCTCATCTCGTACACACCTTCCAGGCAAATGGCTCGTTCTGGAAATTTCATTAATTTTTTTTTAATTTTTTAAACAAAAATCCCTTTGAGGTCAGCGAATGTATCCCTTATTCGCTCCTGTGAAACTTTTCCCAGCTCACCTGATTCAAATACTTATAATCATGTGGCTTCAACAAGAAATATTTCTTCCTTTCTTCCTCGTCTGGACCCTCCAGAAGGTAGTAGCATACGTGGTAGTTCCTGAAAAATATATAAGTCCAAGATGGAAGACTCCAAGGGAGTTTAGGTAATCGTCCGTTCTCCTTTAGTTTGAAATATGATGCGTGATTTTTCCAGCTACCAGGTAGATCTCCACGTTTGCTCTGAAAACTCCAAGTATAAGGCCTTTTTTGTGGTATACACATCAGGAGAAGGCTTCAAATTTTACGTTCGCTAGGTCAATTTAGGTCATAGTGCCTAGTAAGTAGGGTACCTATAAGCTGTGATTACTGCCAAAGTAAAAATTTCCCGATTCCGGCAATTTGTCTGATTCGATGCCAGGCATCCCAATTCCCGCAATTTGCCGATTAGCCAGGCATTCTCAATTCCGGCAATTTTCCAGTTTGCCGGATTGCCGGAAATTTAAATTCCGGCAAGTTGCCAAATTTCTTTTTCGGCAATATACTGGATTGCCAAAATGTTACGGCAACATGCCAATTTGCAGGAACTCATGTTCGGCAAATTGCCGGTTTGCCTATATCCCAGAAATTTTCAGGTCCGGCAAGTTGTTGATTAGCCGATTTTCGGAAATTTCAGTTCCGGCAACTTGCCGATTTGCCGGAAATTCTCGAAACCGGCAATCGCGGGAAATTTAATTCCGTCAAATTACCAACATGCCGGATATTTCAATTCCGGCAATTTGCCAATTTGCCGAGCATTTAAATTCCGGCAATTTGCCGAAGAAAGTATCAATTCTGTTGGCAATTCGCCGGACATTTCCGACAATTTGCCGATTTGCGGATTTCCCAGAAGTTTTCAATTCGGTCAAATTTCTAATTTGCCGGAAATTTCAATTTTACTAAGTCGCCTGCTATCCTCCTAATCTCACCACACTCGGAAACCATTCCATTCTCCCAAATAGTTGATTGTGATGAATTTTCCAAATCTGCTACTATTTTTGTACCGTCGTTAAGGGGACAGCATTAAAAGCCTCTAGAACAGGGCCAGGTGACAGAAGGGGTGTCTGCTAAGTACTGCAGCCTGTTGAACCTTTCGCATGACACTGTTAGCGATATCAAATGGGAGATCAGATGATTCGTGCAATGACCGTATTTCCCGAACCACCCCGGGAGATTACCACGCATTGATTTTTCTTGAGTACGGAGAGAGCATGCTGAAAAACTTGTTATGTGGTTTAAAAATTAGTAGTGACAGTTAGTTAATCCAGCATCTGCAATGTATATCTCTTTTTTTTGAAATCAAAAGTGCTTTGAGGGTGTTGAAAAAACGAACACATACCTGCTAAAAAATTGGTGGCTTCCGAATAATCCGGCCCTTGGCAAATATACAAGCCAATACACAAAGTGAGCACCTACGTGGCCGAGTGAAGAGAAGGCCACCGATTTTTTTGTGGTCACCTGAAACTTCAAAAAGTAACTGGGTTCCCCTGGTAAGAACGTAGAACTCACTTGTGGTAACAGACTTCGGCGATTGCAAAAATGTGCGGTGGTAGTGAGCCGAGCCGCTTACTTTGAAAGTTATCGCCTGCTATTTTGGGTTGTAGATCGGAAAGAAGCAATACGGAGCGGGTACACGCTACTAGAACTGGACCGATGTACGTATAGTAAATATGCCCATTCGCGAATCATTGCATCCCGCAAATTGTCCAAGAAAAGAGGTTTGCTCCGTGAGCTCAACTGGCAAGTGACAGAGTTCGGGGTACTCCCTGAAAAATTTTAAGGGTTTAAAATTTTTTTAAATATAAAAATATTTAAAGGTGGAGTACAGGAAATTTAATTACACCAAATTTTCCACTGACTCCGAATCTGTAAGTAAAAAATTTTGAAAAAATTACCCTGATTTTGTGTATTTATGTTTGAAATTACTATTTTCAACCCTTTGTGCCCGCACCACTTTTTTCAAACTTACGCCCAAAGACTGATACGTAGATCGGGTTTGCATCGTTTGATTTTCGTCGTTTAATTTATTTATTTTCCACGGGGTTGTGGCCCTCACTTCTTCATTGACGGCATTTTCGCGCTTCATTGACAATCGCCTGCCGGACAACACATGGAAAAGTGTCGTGTACTCCACTCGGACAAATCACATCAGTTTTACAACTAAAGAGCCGCGACGCGACACGCAATTCGCCGTAAGCCTACAAAATCTCTCCGACCCAAAATGGCCTAGTTCGACAAAGCAATTCCGATTTATGAGGGAAGCCAGTTTGTGCGGCGAATTAAATTTTCTTGAACCAGTTTCAATCATTTTTGTCGAGTTTTTGCTAGTTTTTTTTTTGACAAAAAAATGAAACTGGTTAAAAAAATTTGACAATAAACAAAATTTTTAAATGAAGGAAATCAAAGCGCCCTCCAATGCGGATTTATTTGGGTGCTCATTTGACATCACAGAAAACACGTGGTGGCAGAGCAAGGATGTCAATGTGAGTCCCGTAAAATTTTCGTAAACGGGACAACGGGAATTCCCGTTCCCGTGAAAATTTTAAAAACGGGATAACGGGAATCCCGCGGCGTTCCCGTGAAAACTTAAAAAACCGGACAACGGGAATACTGCTCCCGTTTTTTTGAAAACACTCAAGAAAAACGGGACAAACAGGGCATTGGTTTAAAAAAAAGAGTGCATAGTTGGCGTATTTAGTGTCTTCGAGGCAAATTATAAAAAAAAACTGCATTATAAACATTATTATCTATTTTTTCATTATTAAACAGATATTTAAAAAGCCAAATGAGTCGGAAAATGTCCCGTTCCCGTGAAAATTTTAAAAATGGGACAACGGAATACCCGTTCCCGTGAAAACAGCCCCAAAAACGGGACAACGGGAAAAACGGGAAGAATTGTACACTGTCCTTGGTGTCGAGGCTGTCTCTTTATCTACAAAAACAGGCTGGAATAGTTTTCCAGAAAAATTCTAACGTCTCTTGACTATAGGGACCAAGCGAAAAAATGTCCGCGTCTCTTCACCCGCATTTTTTGAAAACAACAAAAGAGACCGGGCTGCAACAAATTAAAATCAGGGAAAATTTTTTCAATTTTTTCACATCTAAATTCGTGATGGGGGGGCAAATTTGGAGTGATTTAAAAATATTCAGATTTCGGTACCCCACCTCAAAACAAAATAATGAAAGAATTGCCTTACCCGTGGCTGATCCCAGAAGTTCGTAAGAAAAGCGTCAATCGATGAGGCGACCTCTGCACTTCCAAACCGAGCGCCGCGGGTTGCCGCCCGATAATCGGCCGGTGTCAACATATCGATTTTTTGGAGTGGCACTGTCCACCACTACAGGCAGCCGACCAGAGGCCTGTAAACATCCGCGACTGGGTATGTTTCCCCGGGGTATCCCTAGGCAGCGTTCGTTATAGATTTCTTAGACCGACGGTGGGGCCCATCATTTCGAAGAGGTCAAAGTCTACCGACTGGCCTCCTAGTTCTGGAAATTTTGACTTTAGAAAAGAAATCATTTTTTTCCATTTTTTTTTAATTAGCCCGTTGCTTTTTTAAAAATTAGAAGAAAATGTGAAAAAACTTTGCATTAGAGCGCGTTTGCATTCATTCCATGCAGTCCAATTTTGCTGGGAGCTTGAGTGTCTCGACTTGATCTACAGAGGTCTCTAAAAATGCGGGAGAATAAAATCCACTGATATTGTATGCCTTTAAGAATGTGCTGACGTCACATATTTTTGTGCAAAAAATTCCCGCATTTTTTGTGATCAAAGGCCATGAGGGGACAGCCTGGCACCACGTGAGATTGTGTCGACAATTTTTTGTTGAAGATGTATGGCCAAAAACGGCACATTTAAGTAATTAATCAGCAGAGCGCGTTTGAAATTTTGTTAAAATCTTTTTAAAAGAGTTCCCACTTCCCGAAGTCCTCCGATTTTTCTAAAAACTAAGAGTAGGGAATCTCCGACCCTGAGCCTTCTTTAAAACCTTACCAGCTCTGCCCGGAGAGCACTTTTTCGATGAGTCCTCCGTCGTGCGCCGATCATGAACCTGCAAGTGTACTGTATCATTTTCACAGAGCTGTCGGGATTGAAGCTGTGCATAATAGACGGCTAACGTATGTTGCATCGACTGTCGCGTTGGTGAGCACGTTGGGGAAAACACCCCGTCGCTCCAGCTGATATTGAGTCAAATGACATCATTTTAGTGAATCCAGCATCGGGATGAATACGTCTGTAAAAAAAAATTTTTTTTGAAAGAAAAAGTGCCTGGAGAATCAGGCAACGAACCGGACAAAAACACAAGACCGCGAAAAACCAATTGGTGGCCGAGTTTTCTCTCTCGCGGTCACTTAGGAAATACTAAATTCGCACGGATTTCTGGCTTCTCTCCAACATAAATTGAAATGGAAGATTTTCGGCCGAACTAGGCTAACTCCGGGCCCTATCTGGTGTATGTTTCCGACTTTCCCACGGAGCGATTGTCAATGGAGCGCGAAAAACTCACTGAGAAAGGCCCCCCGTGAGATCGAAATGAAAATTTGCTAAATGGCCGAAAATTGAATACTCGGCCGCCAATTTTTCGACACGGCCACAGGATAAATCGTAAAAAAAATTGAGAGAAATTTATTAGAAAAAATCTGAAAGTAATGTTTATTGCACCGTGGCCGCAATTAATGTAAAAACACGGCCACTTTTTTAATGTGGGGAAAAGGTTGGCCGAGTATTATACAGTTTTTGCGGCCACTTAGAAAATATTTAGATCGAAGGGAAGTTGAGAAAATACGTCTAACGAAAACCAGTCAATTTTTGTTACATGACCGAAAAATGAAAACTCGACCACGGATTTGTTATGCTTTATAAAAATTTATGAACCTATTATTTTTTGATTCAGAAATCTTTAGAATTGTAACAAGAAAAAGTCGGCATCTTTTTTTCTCACGGTCGCAATTTTCTTTGTGATCGTAAAAATGGAAGCTCGGCCATGGTGGCCGAGTCCCTTTTTTTTCGCTGCCTACTGGTAACACGTGGTTGGGTGAAGAGAAAACTCGACCACCGGTTTTTTTTGTCACTGAAATTTTTCAATTTCAAAATATTTTAAATCTTGCTGCACTCTTTCAGCACAACCGCGAAAAAATGACAGCTCGGCCACCAATTTATTTATTATCTGGGTGAAAAAATTTTGTTAGCCAAGTTTTCTTCATCTGGAAATCAAAGAGATTTTTGTTACGTGGCCGTGAAAAGGAAAACTCCGCCACCAATTATTTTTAATTTCAGGCACTGGCGTTGTAAAATCTTATAAAAAAACAGGTTTTTAAGTACATTGAACTAAAAAATAAGGAAGATTTTTGGAAAAAAAATTGCTGGCCGAGGAAAACTCGGCCAACAACTTGTTCCGGTCACACAGCAAAATCTCTCGATTTTCGATGATTGAATATTGAAATCTGGGTTGGATTTTTTAGTATCATTTCATTTGGTCGCCGGTGGAGAAACGAGGGAGAGAGAGAAAAAAGATTTGTAGTGTCCCGGGAATCTTCCTCAAGTGTTGTGGAAGAAAGTGGAAGAAGCTTCTGCGCAGCAGCAGCAGCGTGGAAGTGGTTCACGAAAGAGAGAGAGAGACATGTTGGACTTGAAACCAGCATGATGAAAAATAAGAAGATGAAGAAGAGAATTACACACTACCTCCACAACACAGATTATTTTTATCACGTTTTGAGGGGGCGCTTCACACAATTCATGGCCTAGAAATTAAGTGGTAATTTGGTGGCCTAGAAAATACTATATTTATATTAATTATTCTACGTCAATAATTTAAACGGGAAACGAAATTTATTTTAAAAAAGCCATAGAAGAGGTTTTGAAATTGGCTAGGAAATGAAAAATTGTGTTTTTGGAATTTTCTAGGCCCATTTGAACTTCTCCTGAACACTGCGCTTTCAAGACTTCGAATTTGAATTGTGGCCTAGAAAATCATAAAAACTAGGAAATCAAGAAAAAAACATGGATGAAATTTTGAATTTTATAGGTCATTTGAAATTTCTGGCCTAAAAAATGAAAAATGATTTTTATTTTGAATTTTCTAGGCCACTTGAATTTCCTGACGTCGACAATTTTCATAGCCTAGAAATTTAAATGTGGTGGCCTAGAAAATAATTAAAAGTAAGTAATCGAGAAGAAACGCGTGAGATTCGGAGTTTTGTATTTTCTAGGCCATTTGAATTTGGTGTTGGACATGAAAAGCCAAAAAGACTTTTCAGGAAATTTCTAGGCCATTAGAAGTTGATTGGCCTAGGAAAAAATTTGTGTTTTTGGCATTTCCGTCTCTAGGTCATTTGGATTAGGGCCTAGGAATTGAGTAGTTGTTTTGGAATTTTCCACCCTAGGCCATTTGAATTTGGTGGCCTAGGAAATGAAAAAAATATTTAAAGGAATTTTCTCCATTGAAGTAGATGGCTTGGAAATAAAAAAAGGTTTTTTAAAGGAAATGTCTAGGCCCTTGAATTAGTTGGCCTAGGGAATGAAAAATGATTTTTTGCTTAAAATTTTTTAAACGCACTTGAATTTGGACGGCCAAGGAAATGAAAAATGGTTTGTTGAGTAACTTCTACTTGAATTTGGTGACCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTGGTAATTTCTAGACCACATGAAGCGATTTTGGTGGGGAAATGAAAATGATTTTCTTGGAATTGTTTTTAGGCCACTTGAATTTGAGGGAGGAAATGAACAACAGTTGTTTTGGAATTTTTTAGGCCACTCGAATTTGACGGCCTAGGAAATAAAGATTTTTTTGGTAATTGCCACTTGAATTAGGTGGCCTGGGAAATGAAAAAGATGATTTTCTTGGAATTTCTAGGCCATTGAATTAGGGGGCCTAGGGAATGACTCCAAAAATTATTTTCTTAAGATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAGTGAAAAAAGGTTTTTTGGTAATTTCTAGAAGGCCACTTCAATTTGGTGACCTGGGAAATAATGATTTTCTTGGGATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTAGAGGTTGAATGTGGCCGTGGCCTGAGAAATGAAAAATGACTTTCTTGGAATTTGTTAGGCCACTTGAATTTGACCGGCCTAGGAAATGAAAAACTGTTTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAACGAAAAATAGTTTTTAGGTAATTTCGAGGCCAATTGAATTCGGTGGCCTGGGAAATGAAAAAAGATTTTCTTGAAGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAATGAAAAATCGTTTTTTGGTAATTTCGAGGCCATGGCTAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATGTCATTTTTAGGCCACTTGAATTTGACGGCCTAGGATAGTTTGTAATTTCGAGCCCACTTGAATTGGTGGCCAAAATAATGAAAAATGATTTTCTTGGAATTTTGACCACTTGTGATAAATGTGACGGCCTTATTAGGAAGACGCATGAAAAATCGTTGGTAATTTCTAGATCGCGAATTTGACGGGCTAGGAAATGAAGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGACCGCCTAGGAAATGAAAAATACCAAGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGGCCTGGGAAACGAAAAATGTTTTTCTTGGAATTTTTTAGGCCATGAATTTGACGACCTAGGAAATGAAATTGTTTTGGAATTTTTTAGGGCACTTTTGGGTTCGCCTAGGAAATGAAGATTTTCTTGGAATTTGCGAGGCCAGCAGACTTCAATTTGTTGGTCTTGGGAATAATGATTTTCTTGGAGTTTTATAGGCCGCTTGATTTAAGCCCATGGCCTAAGAAGTTCAAAATAGTTGTTACGGAATTTTCTAGGACATTTGAACTTGGTGGCTAAGGAAATGAAAAACTTTTTTGGAATTTTCTAGGTTTCTGTAATATATGATTTATTCAGTTAAAAAATTAAAAAACATTCAATTTTTTTTAAATTTCGTGTTAAAAAAAATCAAATTTGCCCAAAACTTAAAAAATAAGCTAAAAAATTGTAAGACGATACAGAACGGCAAAAACTTGAAAATAATAAGCGTGATGAGCCCTGTCGGACGTAAGGGCCGCCGGCTGGTTCGACCTTCTTTTTCTCTTTTTGTTACTCCTCTCCCGTCCCGAGCAGGAGCAACACAACGAGAGCGCACAACAAGAAGAAAAAGCAGATAGATATACTTAGATATAAGTTGTCTTCTGTTCATATTCTTTCTTTTAGACATCTTTTCATTCGAAACAACACTCCATTCTCTTCCGTTGGACGGGGGGGGGGGGGCGACGCGGGAGACGAAACAATAAAGCAAAATTGGGAGGGGTTGGAGAATGTTTGGACAACAAAAAGATTGACTGATCAATCGATTCGCCAGCCTCGGCTATTTTCGGAAATCGGAGCTATGCAAATGCGCCCTACTGATCAAATGGACGGGTGTCATTTAAACTCCTTGGTTAAAAAGCAACGCAAAATGGCATAGTTCCAGTTTGCCGATTTGCCAGAAATTTTCAGGTACAGCAATTTTCCGATTTGCCGATTTGGCGGAAATTTCAATTTAGACAAATTGGCGGCTTGCCGAAATGCCAATCCAGGTCCGCCAATTTGCCAATGTTGATTTTTGGCAAGTTTCTGGTTAGGCGTTTTCATTTTCGAATTACCGTTTTGCCTAAACGCCAGAAATGCTAAGGTTCTCTAAAGCGCTGGTTTTTCCCGTAAAAATTTTTCATTTTCGGCAAATAATTTGCCGGCTTCCCAAAAAGCCGGAATTTTTCAGCCGGCAATTTGCTGAATTGCCGGGATTTTTTTTTCTACAAATAGCCGGTTTGCCGAAACGCAAGAAATGCTCAGAACCTTTGCCGATTTGCCGGATATTTTGATTTTCGGCAAATTGTCGGTAGTTGCCGATATGCCAGAAATGTCTTCAGGAACGGCAATTTGCGGAATAGCCGGAATTTTTTTTTTTTGGCAACGATTTGCCGAAATGCCAGAAATGTTGCGGTCCGGCAATTTGCCGAAATAAATGTTCAATTTCGGCCAATTTGCTGATTGCCGGAGTTAAACAATTTCGGCAAATTGCCGGCTGGTCAATGATGCCGGAAATTTTCAGGTCAATTTGATGATTTGCCGAAAAATTTATTTAAAAAAAAAATGTACCTATTTTTCTCCAGACAGGAAGTCTCTAAAATCTCATTTAATAAGAAGAAACAAAAGAGAAACAGAGAATGGCCTAACAAGTTTCGAGTTACAGAAACCTAGGCCACTTTGAAGGCACCGGCGTAGCCTAGAAACCCAGTTCCACAAAAATAAGAAAAAATTAAAACTCGGCAACATAATCTAGGCCCGGAGCATACAAACACTCCACGAATATTAAAGACTCTTTCTAGGTTACTGGATACCGTTAACGATGGAAAACTCGGCTCGGCCATCTGCGAATTTTGTTGCTTGAAAATGGGAAAAATAAAGTTTTTTTAACTTACGGTCAAACAAAAAAGATCAAAAAGTGAAAAGCGGGGATTTATCTTATCACACAATTTATGACATAAATCCGTAGGCCGAGTAGCGGAGAGATCTCGGAGCTCAATGTTAGGAATATCTATTAGGACGACACATCATACTCAGCCACCCCAACCCAGTCATCCCACCGTTGTCCACTGTCTTTTTTTTTCGCTTTTTTATTATCAACCAGCAATAACTTATCGCCTTTATCTTTGTGAGGCCCCGCGCAAGAACGAGACAGAGAGAGAGAGAGCGAGAGAGTGAGAGACAGAGACGCCGGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAAGGGATATAGGTGCAGCGGACAACTAGACGTCACTGGGCTCTTTCACACATGTGATATTGAACGATAAATTGCGCTCCTAGGCCACAAAAAAACAGTGTATTCGATCTCATGATATGGGAGAAGCTGGCACCGTGCCAAGTTTCAGAAAAAATATGGAATTTTTGCTTGAAGCATGGTGAATCAACGTGCTTACACAATTCTTCGGGATAAATATTCCCGCATTTTGTAGATCAAAACGCAATGAGTCATGCTGATACCTGAGGTTAATTAAAAGTACTGATCGAGATTTTGAGCGTCATATGGTGTATTTACCGGCAAACCTGATGCGCCTGATTTGACGCGCAAATCCTTCATTTTAATAAAGTTGGGCTTCAAATGTGATGCCTCAATTTCTATTTTTTGAAATGTTTTGATTTCGTGAAAACTAACGGCGAATTTCAGAAAATTTATAGAAAATGTTCATTTGTTGCGACCAAAAACTTAAAAAAGACCAAATCAGGAAATTCACATTTTTCGCCGAAAAAACCATTTTGCGCGTAAATTCTGATGTAATTTGCCGTAGGCTATTACGTGTGAAAACACTGCCGGTAATACGTTATATGCTTGAGCGCACCCAAACAAATCTCGTCCCAAATTATTCCGGTTGCACAAAATTCTGAGAATGCGTAAAGCGCAACATACCTGACGCGCAAAATATCTCGAAGTGGAAACTACAGTAATCCTTTTCAAATGATTACTGTAGCGCTTGTGTCGATTTACGGGATCTCGACTTTCGAAATGGATTTAAATATATTATTTATCAATAGAATATTTCAAAGATGAAGAAGTTAATTTCGTGAAGCCCGTAAATCGACACAAGTGCAATAGTAATTTTAAGAATTACTTAGTGTTTCGCTACGAGATAATTTGCGCGCTACTCAAATATGTTGTGCAGTACGGGCATTCAGAATTTTTCGTTCCCTTTCACAAAAATCTCATCGATAAACTTGCGCGTAAAATTTGGTGGTGCCTGTGAGTGGTTCACCTATACAAGTGGTGCCAGGGGCTGTCCCATTACGGGTTGATCTACAAAAAATGCGGGATATTTGCACAAACCATGCGATATCAGTTGAGAACTCTGCGTCTGTTCTCCCGGATATTTTGTAGATCAACGTAGATCAACACTCTGACACGCACGTGGGCCGAAGATGTAAGTGCCAGATTACACGGCGCAAAAACTGAAAAAAAAAAGAAGCGAAAACTGTCAACGAGCATTTGAGCGAGTTTTTTATCATCCACGAATCACAAGAAAAATCAATAGAAAATCGATAATCAAAAAGTGAGTATCATATTTTCGACCAACAGAATCATTCCAGGTTCATCAGTGAGCATTGTTTTCAAGTATACGATGAGCCAACGACGGACACGTCCCGTTCTCTGCCACAAGTTCGCCAATCTCTTGAATAGGCGAGTAGCCCATTTTCGAGTATTTATCGATTGCGGCAATCGGATCATTAACGTTCGAGAGCACGTCGCTGAGCATCCGACAGCCGATGATTGTTTTGAGCATTTCACCAATCCGTGACGATTTCCGAGCGACTTCCAATCACAATTCCCAAAAAATCATCGGGGTTTCATGCTTTTGATTGATCTACAAAAGAATGCAGGAATTTTTTGCCCAAAAGATGGTTATGGACATCGTCAGCACGTCTTACTTTTAACCATGTGAAATCAGTTGAGAACTCTGAGTCTGTTCTCGCGCATTTTTTGTAGATCTGCGTAGATCAAGCCGAAGTGAGACCTTCTGAGTCTTGACACGACAAACTCCCATTACATACGGATGCTGAGCCTTTGTTGGATGTGAGAGAGTTTCCAGGTTGTTCTCGAAACTTTGCTTAAAATTTCATTCATAAAAAATCATTTTTTAACGAAAAACTACTAAAAATCATCCGATAAACCTGGAAATCCATGAAAAACTCTGTGACAAATACAGTACTGTTTAAAGGCATAGTGTACCCAGTCTGTGTTCTGAGAATACGTATTACACAACATATTTGACGGGCAAAATATCTAAAACCGTCTACAGTAATTCTTCAAATGACTACTGTAGCATAGGCGCTAGTGTCGATATACGGGTTCGGCTAGGTTTAATTTCTTACGAAAGCTCGGAAATCGACACCACCGGTACAGTAGTAATTTTAACGGCTGAATTACTAGTTATATTTTGCGCGTCAAATTTGTTGTGCTGTACGCAGTCTCAGAACTTTGCGTTTTCGTGATTTTTTTTTTCAAATTTTAACTGCGGTAAAAAAATAAAACAACATAAATTTCATTTAAAACAAAAACGATTTTACCGCTCTCCGCTTTAAAGGCGCACACCCGTTTGTGGATAGTGGTTTAAACAAAAATATCGCGTCGAGACCAGATTTCTGCAGATTTCGCGCCAAGACCCTACCTTATCCCCCTGATACTGTAATTTGTGGCCTCCTGTCCCTCCTATGCACCACCACCACCGCCCCCATCAAAGCGGCGAGCTTCTTCTTCTCCTGTCTCGCCAAACTTCTCAAGTACTGAGGAGTGAATGGTGCCAGCGCGGCGATCGTTTGTATCGGTTTGCAGAATTTGTGCCACGATGTTGCTCGTAGATTTGCAGCGATAAATTGTGCAATTTCTTCTTTTTCGCAATTTCTGCCCTGCCGAATGAGACGATGAGGACTGTGCAGCGGCCACCGTTTTGAAATCCGGATTTTTGCTGGAAAGATAAAATTTAAATAATGAGGAGATTTTTTTCTCGCAGCGATTTCTCTGGACCCTGTTTATTCCCAATACGGTTTGATCTACAAAAAATGCGGGAATAAGAAAATGTTTGCCCGTTAAAATGCTGACGTCAGCAAAGTTTCTGTCTTAACGCTGCGAAATCAGTTGAGACTGCGTCTTTCTCCCGCATTTTTTGTAGATCTACGTAGATCAAGCAATGAGAACCACACTATGAGTGCAAACACTATCCACAATACATCATATTTGACGCGCAATCTTTAATTTATTTTTTGCGAGACCAAATAAATCTCAAACTTTCCACTGAAAAGGATTTTCATGATTCATTTTAAAAAAGTTGCGCCTCAAATGTGATGTGCCTGAATTTTCGCTTTTTTGAAATTTTTACTCCTATTTCGTTAAAAATGAAGGAATTTCTCGAACATTTATAGAATTTTAAAAATTTTCATTTTGGGTTAAAAAAATCGAGTTAAAAAACAACCATAAATTCAGGAAACTCAAAATTTTCTCCGAAAAACTTTCCCCATTTTACGCGTGAAATCTGGTGTATTTTACATCCGTGCCTAGGCTGTGTGAGAACACTGCCCGTCATACATTATATTTGACGCGCAAACTGCAAAAATCGTCGGAATTATTTCGGGAACAGAAAATTCTGAAAATGCGTAACGCGCAACTTATTTGAAGCGAAAATATCTCGTAGCGAAAACTACAGTAAACTTATGTAACTGACTACTGTAGCGCTTGTGTGTCGATTTAAGGGCTCAGTTTTCAAAAAAACGAGATCCCGTAAGTCGAAAGTGCTATGCAGTAGTTGCTATTTCAAGAATTACTCTAATTTTCGCGACGAGACATTTTGCGCGTCAAATATGTTGTGCAATGCGCATTTTCAGAATTTTGTGTTCCCGGAATAATTCCGACGATTTTTTGCAGTTGCGCGTCAAATATGATGTATGACCTGCAGTGTTTGCCCACATCGCCTAAGCACGGTAAAATCCGCCAGATTTTTCGCGCAAAATGGGATTTACGGCGAAAAATTCGAGATTTGCTGAGATGAGTAGGTCTTTTTTATTATTTCTTAATCCAAAAAAAAGTATTATGAAGATTTTTAAAGTTTCTATAGATTTTCTGAAATTCTCCGTCGTTGTTAATAGAAAAATTTCAAAAAATTGAAACTTCCGCCAACATTTGACGCGCAACTTTTTTGAAATGAAAAAGCCCGAATTTTCTGGGAAATTTGAGATTTATTTAGGTCTCACAGTGAAAAAAACATTAGAGTTTGCGCGTCAAATATCATGTATGACCGGCAGTTGCCCACATCGCCTAAGCCCGGTAAAATCCAGCAGATTTTTCGAGACTCGCAAAATGGTTTCGGCGAAAAATTCGACTGAGAATTTTGGTTTCGTTTTTACTATCTTTTAATCCAAAAAAAAATGAAAATTTTTAAATGTTCTATAAATTTCTGAAATTCACCCGTTTTTCAAATAAAAATTGGCGCATAAAAAACTTACACGATAAAATCCAAAACATCAGATTTTACGAACTGTTAGCAAAAAAATTGATTTTTTGGTTTTTTCGGGCTAAACATTAGAAAACCTCCAAGACTATACTCCAACAAAATTTTTTTTCAGTTTTTTTTTTGAAATTCTTTTTTTTTCAGTTTAAAATGTTTTCATCGCTTTGTTCGTGTTTTTGTTGATGATCTTGTGCGAAATTAATGATTTCCATATTCAACACTGTTGTGTGATTAATTTAGTACGGATAGATACACCGTAACTATTCAGCATGTTGAGTTTAGTTTTCGTCGTCCAATTTATCAAGGTTTTTTTTGATTTTCAGTCAAGTCTTTCGCGCTTACTTTTCTAAGCAGTAATGACCATCGCATGATTGCTAAGGGGTGCTTTTAGTGTTTGGTTTACTTCTGCTATTTCATGAGTCACTCCTTATCACTAATATAAATGCAGCATAATTCCCGAGTGAGCAAGCCGCGAGTATTAAATCACAGAAGCGCTGTTTTAAACTGATGATGATTGCAGTCTCCTTCATTGTTCTGACCGAAGGCTACCATTTTTTATTCATTCCCAGAGTCTCCTGACAAGTGGAAAGACAACTAAAAGCTATGTCCGTCTCGGACAAACCCGCTGCCCAATCAGGTGCCAAAAGCTTGGTACCGCTCCGCGCGCTGAAGAAGAGAAATGAGGAGTGGGGAACCAAGGTCAATATCGATACCAACATTCGCAAATTGAGTAAGTTTTTATTTTAAAATTACCAGTCGTTCGAGCTTATATATCAATTTTAGCGATCAAACCGACTCAGCGAATTTGTATACAAGTACGCTGTGCAAGTGACGTGTTCCGGAAACCTGATGGAACTGAGGCGACAATCTAAATCTCCAAATCAGGCAAAAAGGGAACGGAGCACGAGAACGACAAAACACGCTGCCAGAACGTTTACAATGAGGCGATCAAGCGTTACGATGAGCTGAAAACGACCGTCTTTCTACGATCGTCAAGCCTCTTTGTACACTTCTGACCAAATTGAAGAAAGGTGAATTCGATTTATTGCTTAAAGTTTAATATTTTAGCGTTTCAGAGCATCTCTTTCGTTGTGTACCGACAAGATTTGGTTCCAAGCGACAAAACTTCAAAGAGGCCAGTTTGTTCTCAAAAAGGTGGATACTATCAATCGTTGCAGTCAACATCGAATGACGTCATCAAGACAATCGTGCCCAGCCAAGACTGCCGACAAAACTTTGCTTGAGGCAATCAACATCATTGTCTCGGGTATGACCCCAGCGTTCCAAAAGAATGCCGCTTTCAGAGAAATCAAACGGCTATTACATCTCGCGGCAAAAATGTGAGCATATCACCGTTGGAGCATGCGTTCATTACCTCATCGACCCAACTGTAGTCGAGTAAACTGTAAGAAATAATCATATTAGTATTTAATTGTTTTTTCGCGTCGCGTACAAGGAATACACTGAAGGACATCTCTACTCAAGAGTCGGTGTTTCAAAGTCGGTGAAGACACAATTTGGCAGGAACGGCAAGAAAGTTCCATCACTCTTCAAGTGAAAGTTAGTTTTTCAGAAAATCTAGATTTTTTTCAAAATGTTATAAAATTGATTTTGAATGAAGACAACATTGTTCCCCGGTTTATGCCCCACTTGTGGAACTTTTGCAAACGTTCAGAAGTTTCACCACCTCTCAAAGCGAATGCTCCAGCCCTGGCGCAGAGAATTAAGCCTCTCTGTTGGACTGGTGTTGTCTTGAACTTTACGATGTGCACAAGGCGTCTCGGAGAGGATGGTGTCGTTATGAAGATCCGTCGATTCCACACGTCAGCTAAGGAGACATGTTTTGAAGTTGAGAAGTCAACTATTCACGAACGTCTTTGACTTCTTCAAAAAGAAGTATTGAATCACTTTGAAGTATCCCGATTTATACACCATTGAAGCGAAAGGGAAACAAGGCAAAATTCATTTCCCTGCGGAAGTTCTCCTTTTCTGTCCGAACCAGACAGGTCACGAATGATCAAACCCAGTGATCAACAATGAGCAGGCGGAGATGATTAAGGTAATTTGATATTTTAAAATCTGAATAATATCCCGAAATTTCCTTTTTCAGAACACCCACATATCAGAAAGACGACAACTGATACTATCGTGAGAAACGTCAGATTGGCTTCCAACAATATCTATGGCTTCTTCAAAGTTGAAGACCCTGTCAACCTTGAAGGAATGGTTCTTCCAAAACCTAGCGTTTGCCGGTAACCGACTCGCTGATTTGGAAAATCCGAAGTCTAGACCCCACCGACTTCAATCGTGCTGGATAATATTACGATGCCAAGGAATTGACGAATTGGGAACTGGTCTTTGTTCAAAACGACGAAAGAAGTCCAGTAAGTTTCAGCTTGTAATTTTTCATTATATTGACTCAATTTCAGTTAGGACTTGCTACGCAGCCTATCGCCGATGAAAAGGTGACTAAAGGTATGAAATAGCAACCCAACGATGAGTTTCATCATTAGAGGTGATTTGGAACGAATCGTCAAGAAAGCGAAGGCTGCTACGCAACTTCTCTTGTTCGTTGACAAATCTTGTACCATTTCAACTATCATAAAACTGCAAATCAAGGCGTTGGAGCGTATGACCTGCTCACTCAGCAGATTCGCGGTGAAACCGCCAAGAAAGTCTGCCGTAAACCAGACACAAACTCGTCTTAACATTATCAATAAGACAAAGCATGAAACTCGGAGGACTGAACTATGCTAACTACTTGTGAGTGAGGCGTTCAACAAGCCAAATAGAATATTGTCGTTGGATTTGTTACTTCTCAACGGGTTGGTGGAAATCCAGATGTGAGTCATGACAGCTGCACAATCATATTTCATTTTCTCCAGTATCCAATATCAGTTGGATTTGCTGCAAACATGCTCCGGCAAGCATCATCAAAAGTTTGCCCTGGTGGATACGGGTATGTTCATCGCGATAGGGATGTTTTCGCGATCCATCAGGCATAGTCCAAGGATCTTGACTATCTTCGTGCAAAACATGCACTGAGCAGCGCGGAAGACCAGATGGTATCCTTTTGTATTTCAATGGAGTTTCCGAAGGGCAATCACAATGATCAACGAGGAATTCAGTGCCCGAGTGAAGGAGGCGTGCATGGCATTCCAAAAGAGAGGGAACCGCCATTCAGACCACACACCATCATCGCCTAATCAAAGGCTCACAACGAGCGTCTGTGACAACAAATCCGAAAAGGGACGTATTGTTAATTTGGAGCCATGGGGGTACTGTCGTGGACCATACCATTGTGTAGCAATATCTACATTGAGTGGTATCATGCCTCAGCTGTAGCGCGCCAACAGCAGAGGTTACCAAGTTCACTCTCATCTTCACCACTAAAGCCGGCCCACAAGCTGAGCCATTGTGGCATCTCGGTACAAGCAATTGACCAATGATCTTTGCATCATCAGATTGTCTTCCATCCGGTCGGACTTCCCGTCCCACTGTACATTGCTGATCGTTACAGTCAACGTGGAGCAATGGTTCTTGCCGCCAATCAAGGGTAAGTTAAAATATATACGACATCTATTTATTATTTTCAGTCCACTACAATGAAGGACAAATCGATCTCGCGGCTACCAACAGTGCATATGGCTACGGAGAGAAGAAGCTCTTCACCCCCTACTCGTTTCAATGGAAAATTATCTGTACTTTCCTCTGTTTCTTTTACTCTTAGTGGCTGTATAATGTTTTATTTCGTCAACCCAGACTACTTTCGCTATGATTGTATATTTTTCAGCATTTGGTCATTGTCATTTGTAATTATTGTCGGAATGAGATAAAATGATTTATGAAGAATCAAATGCATCGCTTCTTGGTCAATTCCTGTTGATAAGAATCTCATTCAGATATTTTCAAAAGTTGTGGTTTATTGATATTAAAAAATATCCACGTTGCACGCTGCTGGGTCGCTGTGACTGGAGAAGTTGATGTTTTATGAATTCTTCCGTAAATTCAGCTGTTTGTACCTGTTTTGTAATGTTATCACTTTCTTTCGAACAAAATGTCGATTTTTCTGGCAGAAAATTCCACTTTTTAAAATTATTTACAACATTACAGATGGATACCTTCTGTTGTGTCTCGATTGGAGAATGTTACGAATCGAATGGAGAATGTATTGCTGAAATACGACTCGAACAAAGGAATTAAATAATTGTTCTCGAAATTATAAATTTCAAAATAATCGCTCTTTAGAAACTCCGGTCGGCGCGACGCCTCAAATCATTAATCTTAATGATGATGTGATCTGTAAGAATCTCGTCTCGTTTTATATTTATCTGCCAAAATAGGAGGAGATTTGAATCGCCTTGGATGCATGATAAGGACATATATAATATTTAATTCAAATTTTATCGAAAATTATTCAGTCTAAGAATCTATTTTTCAAACGCTTTTTTCGATGTTGTTTGTGGATTGCAGTGTGGGCGCAAAAACGCGAACACTACGACGAGTTCGCGACTCTTGTGAACGATTTGACGGCGGAAATTGTTGCATTTTCCGATTTCAAGGAGAACCGAAAATCCGAATTCTACTATAATTATATTTGTGGACTTGAAGCTGCTAGGTGGGACTGGTGGAAATTTGCCAATCCTGAGTCCGAATATCTATGTGAAAAACTCTTCATTATTTTATATATTTCAGCTCGAAATCGCATGTTCATACTTTTTTCAAGCACACGCCATATTCTCGTCGCGCCGTGTTGTGTCAATTTACGAATTTACCAATTGTTTTCCAATTTAGTTTTTAAACGAGATTTTTGTGGGCTTTATTTTTGTGAGTTTTGTTTGGGTCAAAAAAAATCTTACAAAGAATCATAATATCCTTTCAGGAAACTCAAATTCGCCGAACAACTACCCTATTTTGCGCGTGAAATATGGTGTATTTTACCTAGACTATCTGTGAGAATAATGCCGGTCATTCATCATAACTTTGATGCGCAAACTGCAAAAAACGTCGGAATTATTTCGGGAACACTTCTGAGCGGCGCAACATATTTGACGCGAAAAATACCTCGTAGTGAGAACTACAGTAATTGTTGCGTGTAAATGACTACTGTCGAGAATCGCTGTGTCGATTTAAGGGCTCATCGAAAAATAGAGATCCGGTTAAACGACACAACTGCTATAGTATTTGAAGAATACTTAGTTTTCGCTACGAGATATTTCGAGCGTCAAATCTGTTGTCAATGCGCATTAGAATTTTGTGTAAAAAGTTTTGTGTTTAGTGATTTTTGGAGTTTGCATAGCGCGTCAAATATATGACCGGCAGTGTATGCCCATCGCCTAAGCACGCTCGGTAAAATACACCTTTTCGCGCAAAATGGGATTTTCGGCGAAAAATTCGAATTTCCTGAGAATTTTGGTCGGTTTTACTATTTGTTTACAATGCAAAAAATGAAAATTTTTAAATTTTCTGAATTATCGGCACCGTCGTTTTTCACTATATAAAAAAATTTCAAAAAATTGAAAATTCCGCCACATCACACTTTGACGCTCAACTTTTTTTACATGAACAAGATCCGGATTTGTCTGCGGGGAAATTTGAGATTTATTGTGTAGGTCTCGCAGCGAAAAAAAAATTAGAGGTTCCGGCGTCAAATATGATGTATGACCGGCATGCACATAGCCTAGACACGATAAAATACATCAGATTTTACGCGCAAACTGGCAAAAAAATATTTTTTGGCTTTTTCTAAACATTTGAAAAAATGGATAGATATTCCAACAATTTTTTTCAGTTGTGTTTTTTTTGTGAAAAATTCCTTCTGAAGTTCAAATAAATATATACTTTTTTAAAGTTCGAAAAATTCACATTAGCGCGTTAAAAACGACGTAGTCAGGCATCACATACATTTGACGCGGAATCTTTTTATACAAGAAGGATTTGCGCGTCAATCTGGCGAATTAGGTTGTCGGCGGAATACACCGGGCAAATTTCACGCGTAAAACTTCAAACCCTGTTTCAATAATAATCGGAAAGAGTATTCGAGGAAATTACGTCTTTCAACGTCTCCGCTGGAACCACGACAGCAAGTTTTGTGTTGACGGAAAAAAAACAACATTAAATTTTTCGACACAAAAAATTAAATTTTTCAACGAAAAATAATAATTCTAAATTTTACAACGCAAAAAAAAATTAAATTTTTCAAATAAAAATTAAATTCGATTGATTCAACAAAAAAAAATTAAATTTTTCACCAACAAAAAATGTAATTTTTCAACAAAAATAAATTTTTTAATGAAAAAAAATTAAATTTTTCAACGAAAAAAATTAAATTTTTCAACAAAAAAAAATTATTTAAATTTTTCAACAAAAAAAAAAGAAATTAAATTTTTCAACAAAAAAAATTTAAATTTTCAAAAAAAAAAATTACTGGAATTTTCCAACAAAAAAAAATTCAAATTTTTCAACAAAAATTAAATTTTTCAACAATAAAAAATTAATTTTTCAACAAAAAAAATTAAATTTTTCAACAAAAAAAAATTCAAATTTTCAACGAAAAAAAAATAAATTTTTCATCAAAAAAAAATTCAAATTCCCGCGGAAAGTGCAAAAAATTTACAGAATATTTTCAAACCCCTCGCTTTTTCACTTGTCTCCCGCTATCATCTTCACGCAATTCAGCCGACACCTTTTCGTCGCCATTCGATGCGGGTTCCCAGCGATGTATCGATTTTCAGTTGATTAGATCGAGTTTTCGCTCCACGTACAGTACACTGAGTTCTGCTTCGAGGCCATCTGAAATTTTTTATTTAATTTTTTTAACGATTTTTTTTTCAGAAAATCAATAAATCTATTCAGCTTTTTTATAACTTTTACACAATTTTCCGTTTGAAAATGTCAAAAAAACCTCGTGTGTTTATGGCCACATTTTATTCAAAAAATTTTGAAAAAAGATTCCCTGCATTTTCCCTGTGGGACTCAAGAGAAGTGCGTGTGCCTTTAAGATTTCTATTGTTTTAAAAACTTAAAACAAAGATTTAAAAAATTCTGCTTTCTAAAAATACATAATTAGTTATTTTTTTGTGTATTTGTTTGGAAAAAATCAAATTTATCGATTTCTGTGAATTTTTTTGTGAAAAAAATCAGTATTTAGCGATTATTGTGCAATTTTTTCGGAAAAATCAATTATTATCGATTTGTATGAAAAAAATCAATACTTATCGATTCTTTGTGATTTTTTCGGAAAAAAATCAATAATAATCGAATTTTGTTAATTTTTTAATCAAAATTCGGCTTTTTCCGGTAAAAACATCTAAATTTCGCAAAATTAATCTGATTATATATTCTGCGAAAAATTTAAATTTCTCATACTTCGAAAAATCGAATATTGTAAAAATCAATAATTTCGATTTTTGGTTAATTTTTAAAAAATCAAGAGGTAATTAACGACTTTTTGATTTTTTTTTTGAAAAAAATCAATAATTATGGCGTCGTTTTTTTTTAATTGATTGGAAAAAATCAATAATTATCGAATCTCAAAAAACTTTTTGTAAAAATCAATAATAATCGTTTTTGTGTGATTTTTTTCGGAAAAAATTAAACATTATCGTTTTTTGAATTCTTTGAAAAAATTGATAATTATTGATTTTGAATTTTTTTTTGGAAAAAATGCAATAATCATCGATTTTTTTGTGAATTTGAAAAAAATCAATAATTATTGCCACGATTTTTCCGATTTTTTCCAAGAAACAAAATAAAACAATAAATTTTCCTTACGCCACGTGTCAATTACACCCCACGTGGCAAATCGTGTAGAGCGCGCATTTCGAATAGGGTGCCGCCGAAGAAGATTTCGCGTTCGATTTTTCGAGTTTCCTTGTCTTTCTGAAATTTTTTTTTTCTAAATTTTCTGAAAAATGTTCTGCTGTAAAACCTCTTTTTCCTCTCTTCTCCGCGCCATTTCGCATTGCTCTTTTTTTTATCCTTTTCCAGCGTTTTTATCTCTTTTTCAACTTCCCGCTCGTTGCGCATTTTGCGCGGTCCTGAAGAAGGTTTAAATTTTTAACAGGGGAAATTTGCTAGGAGAGTAAATATATTCGCTGTGAGACCCGTGGACATGAAAATTTTTATTTTCCGCTTAAAATAAAGACAACTGAATTTCGCTTATATTGTGATGTTGTAAGCTGAAAAAGCTGAATTTTGATAAATTGAAAAAAATTATCTTTAAAGGCGCATTTATTGATTTTTCCAAAAACAATTTACAAAAAAATTGATCATTCTTGATTTTTTCCAAAAAATTAACATAAATCGATAATTTTTTTTCCAAAAAATTCAGAAAAAGATTATGATTTTCAAAGTAAATACTGAACAATCGATAATTAATGATTTTTCAAAAAAAAAAAATCACAAAAGTCGATCATTACCGATTTTTTCCAACAAAATTTTCAAAAAAAACCACAATTATTGATTTTTTCCGAAAAAATTACAAAAAAATCGACAAGTACTGATTTTTTCTGAAAAAATTACTAAAAATTGATAATTATTGATATTTTACAAATAGTTAATTATTGATTTTTACAAAAAATTCACAAAAAAATCGATAATATTTTTTTCAAAAATAAAATTACAAAAAATCTCGGGGATCATTATTGATTTTTACCAAAAAAAATCACAAAAATCGATAAATCTATTATTGATTTTTTCCAAAAAAATTACGACGAAAATCGATAATTATTGATTTTCCCAGAAAAAATTCACTGAAAAATCAATTATTATTGATTTTTTCCGAAAATAAAAAAATTGATAATTTTTCAATTTAAAAAAAAATCACAAAAAATCGATAATTATTGATATCTAACAAGAAAATTACAGAAAATGGATAAGTATTTTTTTACGAAAAATTCAACAAAAAATCGATTTTTGATTTTTTTTCAAAAGAAAAATCACAAAAATCGATAATTATTGATTTTTTCAAAAAAAAATCACAAAAATCGATAATTATTGATTTTTAGGCGGAAAAGCCGAATTCAATTTTTCAAAAAAACAATCGATAGTTTTAAAGGCGCATGCGCCTGGATCTCACAGCGAAAAGTGTATCTTGCAAATTTTTTGGATAATTTCGCTGAAAAACGTATTTTTTAGACAGTTATCTCTTACAGGGAAAATTGTCTAAATCAAAAAAAAATTGTTTGTTAAGCAACATTTTTTCAGTTTTCATAAATTTCAGTTTTTTTTTCGCGAGAAAAAAAGCCAGCGAATTCTCGATTGAAAAATCAGAAAAAATATTTTGGTATCAAAATATTTTTGGTATTACGATATTTTGGGTCCCACCTCGAAAAGAGGATTTTTCAAATTTTTAAGATTTTCTTTGCAACTTTTAACAATTTTTTTTTCGGATATAAAAATCGATTTTCGCTGCGAGACCCAAATAAAATAGATTTTCTCGATTTGCGATGAACTTTTGAGTTTTGGTGAAATTAGATTCCAAAAAAATCGCAATAATAAATGTATCAAAAAATCAATACTTTCTGCGTCTCCTTCTCATCGTCAGTTAGTTTCCGCTTTTCGGGTCTCCCACGCCACGACATTTATGTCAGTATTCTCTTGTGAGCTGGAGCACAACGAGAATGAGCTAGTCGTCTGATTCTGACGGATCATTTCGTCAAGATTAGCCTTCCCTCCATATCCTGCCGTGGTTTTGCCGCAGCTGGAATTGCATCCTTATTCACTGCGTCGACGATGGAAAAGCTCGCTGGAGTACCTGGAATTTATCGATTTTTTATTGATTTTTTATCGGTTTTTCTCGATTTTTTTGATAACTGGGGGAAAACTCGGAAAAATCGATATAAATTTCGATAGGAAAATTCAAAAAACTTCGGGTCTCACAACGAAAATTGATTTTTTGGATTTTCAAATTTTTAAACTTTTGTTGTAACAACAGTGGAAATTTTTCGAAAAAAATTCAGTAATCGATTTTTTGGAAAAAAGGCAATAATTTTCGATTTGTTGAAAAAAAAAATCAATAATTATCGATTTTTTGTGATTGAAAAAAATCAATAATCTTCGTTTTGTGATTTTTTTTCGAAAAAATCAAACAATTATCGATTTTGGATTTTTTGAAAAAAATCAAGAATTATTTTTTTGTGAATTTTATGTAAAAAATCAATAGTTTGCTTCGTTTTTTTTTGGAAAAATCAGTAATTATCGATTTTTTGTGGATTTTGTGAAAAAAATCAATAATTATCGATTTTTTTTTGTATTTTTTGAAATGACAAAAATCAATAATTCTCGAGTTTTTGTGATTTTTTTTCGGAAAAATCAAAAATTATCGATTTCTTGTGTATTTTTTTTTGGAAAAATAAATAATTATACGAATTTTGTGATTTTTTGTAAAATATCAATAATTATTATCGATTTTTTGTGATTTTTTTCGGAAAAATCTTATCAATTTTTGTGATTTTCTTTGAAAAATCTATAAATATCGATTGTGGTGATTTTTTTTGGAGAAATCTATAATTATCGATTTTAGTGAACGAATTTTTTGTAAAATATCAATAGCCAATTATCGATTTTTTTGTAATTTTTTCGGAGGTAATCAATAATTTTCGATTTTTAATGATTTTTTTGGCCTTGGATTTTAAAAATTTTAAACTTTTAGAATAAATTTTTCCATAGTTTTTTGTTGAAAAAATCGTTTTCTGAAATTTTGAGATTCAATTAATTTTTTCTTTAAAAAAATCGTTGAAAAATTAATTTTTTGGAAAAAGAATCAGACGAAGATAGATTTCGCTGTGAGACCCAATTGGGCTCCGCAACTAGTGCCTGCGCCTTTAAATAGTGGTCGTGATTTTTTTTTTTGTTAAATTTTCCCGCGAAATTAAATCAGATTATTTCTGCGAAAAAGTGAAATTTCTCAAAGAAACTTTTGAAAAATCAATTTTTAAGACAACCCCTAATTTCTCCGATTTTCCTGCTAAATAAAAGCATCTAAAAAATTGGAAAATCCACAGAATTATCGCTGTGGGGCACAAAGTTCGGCATGCGCCTATAAGATTATCGATTTTTTTCAAATTTTTCAATCGAAATCAGGTTTTATTTTTCAGTAAAAATCATAATTTTACGAAATTAATCGGATTTTTTGTGCAAAAAATTCAAATCTTTTTTTACGTTTTTTCGCCAAAAAAACCATCTAAAAAATTCGAAATTAAAAGTCCCGAGCAGGTTATCTTCGCTGTGAGACCCAAGTCCGTGCTTTAAAAATATCGATTTTTTGTTAAATTTTGCAATCGATATTTGGCTTTTTTTCCGGTAATGAAAAAATCATAATTTTGCGAAATTAGTCTGATTTTGTGCGAAAATGCGCAATTTCTCATAAAACTTTTGAAAAATTGATTTTTTTTTTCTGGAAAAACCTATTTTTGTCGTTTTTTCGCTAAAAAACATCTAAAAATTCGAAAAATCTCCCAAGATAGTTTCGCTGTGAGACCCAAGGCTCCTGAAAGTCCCTGGGCCTTTAAAACTATCTTTTTAAATTTTTAATCGAAATTCGGCTTTTTCCGGTAAAAACATCACAAGTTCGCAAAATTAATCTAAGATTTTTTCTTCGAAAAATTCAGATTTATCATAAACCTTCGAAAAATAATCGATTATTCCGCTAAAAAATCATCTAAAAATCGAAAAATCCAGACAACGTTCGCTGCGAGACCCAACATGCGCCTTTAAAAATTTCGATTTCCTGTGAAAATTCTCACAATTTCTCCAAATTTCCCGCCGTCACATTCGTCGTTTCCAAATCATAATCCTTCATCATTGAACCATCCGAGAGGACTACAATCGTCCATCTGAAGTGGGAAAAGATCGATTTTTTGTAGAAAATCATATATTTAAATTGATTTTTTTTACAATAAAAAAAATTTTGGTACAGGATTTTTTTGGACAGTTCTGGTAAATCGTGAATCGTGTAATTTGGGCTAAATTCATTTTTTTCAAAAGGTCAGGGGGGGGGGGGCACTGAAGAAAAAATTTACAAAGCGTGGAGCGAAAAGGAGTAGATATACAGTCGCGAAGGAACGATCGCTCCGCCAAATTTGCACGCGGCAAAGGGGCGTGGTTTATTGGGGGCGGGATTCCGGCGCAACCCTGCGGCACGCTTTTTTCTCTCTTTTTTCGCTCGTTGGGTAATTTTCAGTTATTTTTATTCGTTTTCTGTTCGAAATTTCATTTCGCTCGATTTTGTTTTTTCGGATATAAAAAAGTGTCCAACCATTTTTTAAATGAAAAATAAACAAGTTTTCCTAACAGATTTTACCCGAAAAATGCTTTGTTGGTCTCTCTTTGTGAAATTACGTTTGTTAAGAGAGAAAATGGGGGAAAAAAAGTAAAATGTGAATTCAGAGGAAGCGTTTTTTTAACGTTTTGCTTCGTATATGGCATACAGAAGAGACAAACGAAGCCTTTTTTCTAGAAACTGATAAAACTTGGTTATTTTTTAAAAATAGACACTTTGTTATCCAAAAACGATTCACAAAGCGAAATCGTCAAATTTCGAACAGGAAAGAATAAAAACTGAAAATTGCCGCATGAAAAAAGCTAGAAAAAAGCGTGCGCAGGGTTGCGCCGGAATCCCGCCCGCAATAAACCACGCGCCTCCACGTTGCCGCATGCAAAATTGGCGGAGCGATCGTTCTGTCGCGACAGTATGTCACATGTAAGGTAACAAGGTTTGGTTTTCAGTTGAGAAAAGGGGGATTTTTTCTCCCGATTTTTCGCAGAGTCCACGCTCTCCTCATAGCCGAATACTAGAGCGCGCTTGCAGCGACTCTCGTTTCTGCAGCCGCGGTATTTTGATTTGCCACTAGAAAGCAGATATTTCATTTATCGAATTTTTAGGTTTAAAATTTTTTTTTTCTGTATTTTTCGAACACCTTTTGTCAAACAGTAAAAATCGAAATTAAAATAACTAAAATGAACTTTTATTGTCCACTGATTCTTGGTGAAATGGTTTGAATTTGAAGAAATTCTACCAACGGGCTCTCTCGTATTGTCTGGATATTGTTCTATTGAGATAAAATTTGGTTGTAATACATTGTTGAATTAAGGGTGAAAAAATGGTTTAAAACGATTTTTAATAGAAAAAAATTCAGAAAATACGAAAAATCTGATCATTCTAAATTCGAACCATTTCGCAACCAGTGGACGAAAAAAGTTGATTTATTTTAATTTCGATTTATACTGTTTAACAAAAGGTTTGTTCGAAAAAAACAGAAAAAAAAATTTAACAGCCAAAAATTCGCTAAAGCTAAAAAAGCTGCTCATTACATTGGAAAGGCAAAATACCGCGACGGATGCAGCAACAACGAGCGAGAAGCTGCAAGCGCGCTATTTCTATTAATTATTCAGGCTTTAAGGAGAGCGTGGTGCAGAGCCCCAATTTTAAACAAAAAATTGCGGGGTGAAAAAGTTAATATTTAAAAAAACGAGGATTAAATAAAAATTAAATAAGGTCAGCAATGTTCATTGGCATCTCATTTGTGTCGAGAAGTACTGCTCAATGTCGAATTCGTACGTCGTCCGTTTGTTTGACGAAATTGATGGCGACGCCCTTGCGGCCGAAACGTGCCCGACAGGCCGATACGCAGTATGGATGTAGAGCTCGCGGACTGTTGTTCGGCAAATCGTAGTATCTCCTGGCAAAGTTTTAAAAGCTGATTTTTGCGATTTTCGCCATTTTTTGACAAAAATTGGCGAAATTCGGAATTTTTAAACAGATTTTGACGTAAAGTAGAAAAGGTTCCAATGCCAAATTGTACGGTTAATAGCCTGAAATACTTTAAATTTCCTTTTTTGCACAATTTTAACAATGAAACCCTGTACTTTTCGCTACTTTTAGAAAAAAGCTTCCAAAACGATTAAAATTGCGGCAAATTTTATCTGAAGATTTTCGCAAAGTTTTCACCTACAAATTGAAGAAATCGGTATTTTTAAACAAATTTTGGCATAAATAGGTTAAAATACCAAAATTTTACGGTTTTTAGCAATTTTTGAGTGAATTTTCAAAATGTTCCAGTATTTTTGCAACTATTTGGTTCTTTTCATCTATGTTCTTTGAAAATTCTTTTTTTAAGGTGAATTATGTTAGAAAGGGGTCGATTTTGCAGAATTTTGACAGATTTCGCATGAAAATTTGAATTTTAGGCAGGCGAAAATCATCAAAAATATAAGATTTTTTGCGACTTTTAGTTGAAAAAATTGTACAAAACGAGTAAAATTGACAAATTTTTAACGATTTTCGCCAGTTTTTCACCTAAAATTTAATTTTTTTTGTCTAGTGAAAGTTAAATTCAGTGTTAAAATGTATCTATTTTCGCTCAACCTGAAATTTGAAAATTTTCAATTTTTCACTAAAATCCACTTTGAGAAACCAGTGAAAAAATTTTTTCAATTTGATGAAAAAATTTGCAGTGAATTTTATTTTCTCTGCTAATTTTTCGTTGAAAAATGCACTTTTTCAAGTAAGAATTAGCGGGATTTTTGGATTTTCATCTTAGGTCAATTTTCAATAATGTTGCTCGCTGAAATTGATTTTTTCTCAATTCATATTTTGTATGAAAAATTCCACCTTTTTGCAGAATTTTGACTAAGAAATTGCCACTCGCCAAAAAGTCTGAATTTTCTATTTTTCTGTGCTGACAATCATCAAATACGATTTTCAACAGAAATGAAATTTTCGTTATCTTTCGCGGAAAATCATTGATTACCTGATTTTTTCGCTACTTTTAATTGAAAATAGTTTACAAAACGAGTGAAATTGGCAAATTTTATCGATTATCGCAAGTTTATAACCTAAAATTTAGCTTTTTTCTAGTAAAGTAGGGAAATACAGTGAGATTTTTTAATTTTTCACTGAAATACATGAGAAATTAGTGAAAAAAACATATATTTGGCCAACTTTTCATATTTGATATGAAAAATGCCGTTCTGAACAAAAAAAGTGTCTGGAACCATTCAACTTATTATCAATTTTCAGCTGAAAAATTCATTTTTTTTTCTCAAGAATTCGCATTAAAACTGCGGAATTTCTTGTATTTTCAGAAAATGATGATGACACGCTATTCTTCGCGGAAAATCATTGAAAACCTGATTTTTTCGCTACTCATAGTTTAAATCAGCATGGTATTACATATGAAATTGGCAAATTTTATCAATAGATTTAAGTTTTTAACCTAAAATTTGGTTTTTTTTTCAAAGCGAATAGGGAAATCTTCAGTGTCAAAATTTACTGATTGGGTAAATGGAAATTGTGAATTTCCATTGTAAAAATTTCTGCTGGATTCATTTTTCCCTAATTTTTCATATAATTAGGCTAAAAAATGCAATTTTTCACAGGTTCGCATTAAAACACCGTTTTTTGTAGTTCTTATCAACGAAAAATGCTATTTTTTGCGGAAAATCACTGCAACTTTTTCTGCAGTCTCTCGCGGGCCAAGGAAAAGTGGTTTCTAGGCCTTGGCCGAGGGGCCGACAAGTTTCAGCGGCCATTCATCTTGCTTTGTTGTTTTCGCCTGTTTTCTTTGTTTTTCACAGCTTTCTCCCGTTTTTTCTCATTAAAACTGATAAATAAATGCACTATTTTTTGCAGATGCTAAAACAAGTTCCAAGTAAAAAAAATTATGTATGTCAGTCGGCAAGCAGCGGTGAAAATGGGCAATGTAAAATGATGGATTACGGGAGATACAAAACCTGAAATTTTTCTTAAACATGATACATATGCTGCTTAGATGCTGATACTGATTTTCATAACGAGACCGCTGAAAGTTTTGAGGTTTCCACAATTCAACTTTTTTGGTGATTATAAATCGAGATTTTCGCACAAAAGGTTGAATTGGTCTGAAAACCTCAAATCTTTTTCAGCGGTCTTGATATGAAAACCAGGTAATTTCAGCCTGGAAGCATCATATGTATCATGTTTCAGAAATTAGGTTGTGTATTCCGGTAATCCACCAATCATATTGCATTGACCACTTTCACCGCTGCTTGCCGCCTGAATACATAATTTTTTTACTTGGATTGTTTTAGCATCAAAAAATAGTTAATCAGTTTTACAGTAAGAAAAAACGGCAAAAAGCTGTGAAAAACCAAAGACTAAACACGGAAAACAACGCAAAAATGGCCACTGAAACTTGTCCCATCGGCCATCTCATGGCAACCACTAGCTTTCTCCCTTGTGAGGATAAAAATTTGCAGTAGGAAAATGCTATTTTTCGCGGAACATCGAAAATGCCTACCAAGGACACTTGCGGAACATCAAGTCATCTCGCTCAAACATCAGTAGAAATGAGCAGCTGACACGAGTGGTTCCTGCTCTAAACTCCTTCATAACCTCATCACGATCCTTCTGCTCCATATCTCCATGCTTCGATGAGACTTGGTAAAGTCTGCTGGGCTCCGTCATCTTATCAGTCAACCAGTCCACCTTTCTACGTGTATTACATAACAACACGGACCGCCTGAGTGATGGTTAAGGTGTCGTAGAGATCGATAAGCGTGTCGAACTTCCACTCCGATCAACTGCTACGAAGACAACTGCTTGATGCCTTCCAGTGTCAACTCGTCACGCTTCACAAGGATCCGAATCGGATCCGTCATGAATTCTCATCATCTCCAGAATCTCATGAGGAAGCGTCGCGGAAAGCAGCACCACCAGGGCTCCAGGCGGTAGATAGCGATAGTTATCGGAAATGCTCCTTGAACCCCTTGTTCATCGTCGGCTTCATCGAGCACGAGATGCTTGATGGCGCGGGTGCGCAGGTTTCGACGGCGAATCATATCGAAGACGCGTCCCGGAGTAGCCCACGTGCTGGTCGTTCCAATCGAGCTTTCGGATGTCCTCGCCAAGACATTGGTGCCTCCGAAACAGGCCTGGCACTGGACATTCGTCGCCGAGCGCCAGCACTTTTTGGAGTTTCGAGAACTGCCAGCTCCGTGTCGGCGAAACAGAGCTTGGGTCTCGCGGACGGGTGTCTAGCGATTGGAGAACGGAGATCGAGAATGTCGCTTTTTCCTGTTCCGGATTGAGCTTGAGCGATGACGTCACGAGCCTTGAGAATTGCGGGGATTGCGCGTTCTGGATGGCAGATGGATTTTCGAAGCCGTACGCGTAGATTCCACGAAGCAAGTCTTCTGCTGGAAATCGAAAAAAATTTTGAAGTTAGTTCTATATTTAAAGCCTGTGGTGTAGTCGAATTATTTATTTCTTTATTAGACTCAAAATTGCCTGAAAAAAAAGTGTACAAAACGAGTAAAATTGGCGACTTTTATCAATTTTCGCCATTTTCTAAAAAAATCGACGAAATTCGGATTTTCAAACAAATTTTGACGTATAGTAGGTTAAAATTCGATTCCAAAAACGGTTTTTAACAATTTGGTCGTTCTTAAAGTGTAGTCGAGCAATTATTTTTTTCTTTATTAGACCCAAAATTGTCTGAACACACCGAATTTCAGAATGTAACTTCTTGAAAACTCAAAACTTTTCAAAAAAAAGTTAAGATTAGCCTCTTGAAAAAAGCCCTAAAATTTAGTGAAAATTTGAAATTTGACCAACTTGTCTCCTGTCAAGCGGCTGGAAACAGTTTTCTTTGAAATTGTCGTATAATTTTGGGTATACAGCTCGATTACCTTGCGTCTTCAGCTTAATTTAGGTATTTAAAAGTCGATGGACGAAGAGATTTGTCAAATTTTTTTCACCAACTATCTTCGTCCATCGACTTTTAATACCTTAATAAAGCTCGGAAAACGCAAGGATACGTATACCCAAAATTAGACGACAAATTCAAAACAAATTGTACATTTCCAGCCGCTTGTCAGACAATTTGGTCAAATTTCAAATTTTCACTAATTATAGGCTATTAGCCGCCATAACTTTTATTTGAAAATTTTTCAAGAAGTTACTCATTATGAAATTGAGCGGTGTTTTCAGACAATTTTGAGTCTAAAAACGCAATAAAAAAAATTCAACTACCAACGGTGGAGCGAAAATTTATTAAAAACCGTATAAATTCTGGAATCCTACTTTACGAAAATTTGTTTAAAATTCCGAATTTCAATATTTTAGATGAAAAAATGGCCAAAATCGATAAAATTTGCCAATTTTATTCGTTTTGTACACTTTTTTCAACTAAACTCAAGTAGCGAAAAATCATGTTACCATTTGATGATTTTCAGCTGAAAATTCCAATTTCAGGCAAAATTCTTGTCGGTACAAAAAGGGTAATTTTTCAGAGAAAATATGGAAAGAACTGATAAAAAAAACTGTTTTCAGCAAGAAAAATGTTTGAACAAATTTACCTGTTAAATCTGCTTAAAAACCGTAAAATTTTGGAACGTTTATAACCTACTTTACATCAAAATTTGTTTAAAATTCCGAATTCCGTCGATTTTTAGATGGAAAAATGGCGGAAATCGATAAAAGTCGATCGCCAATTTTACTCGCGTGGTTTTGTACACTTTTTTCAAAGTAGCAAAAAAATAATGTTTTGACGCGAAAATTTGTTTTCAGCGACAAAATTCGCTGCAGAAAAAGTTCATTAATATGAAGCTTTCTGCTTAGTTATAGAGAAATTTGTTAAAATCGATAATTCAATACCTCAAGCACCACTTTGTCAAAAGTTGGGATAATTGAGACCTCGTCAGACGACCTTCGAACTCCACAGCTCGCCAAATCGTCGTTTTTCTTCTTATTTTCCGCCATTTTTGAAGGAAGAAGTCTGTAAAATCGATAAAAGGAATATTTTCGAGCATTTTCCGTGCAGAGTAATTCAGCATTTTTTGGAAATTATCAAAATCAATGTATTACAAAAAAATCAAGAAAAACGAGGAAAAACGATAAAATTGATTCGGGCATTTTGCAGATCAAGATTTTTAGAAGGAAATTAACATAATAATTTACATCGAAAAAATTAAGAACCTGTAAAATCCATAAAAAACTAGTAAAAGCAAGATTTCGAATGTTTTCGAAAATACCCTGTTTGTCGAGCATTTTTGCAGAGAATTTCAGCATTTTCAGGTGGAAATTTACACAATAAACGAAGTTACATCGAAAAAATCAACAAAAATGGTGATTTATCGGCTATTTTCGCTCATAATTCGTAGGATTCGATTCGAAACTAAAAACTTTCGAAATTCGAAAAAAATAGCCCTGGCCTAGCGTTCCCCTCCTAGTCCACGGCCGCGCCGATTTACGGAGAGTACGATTATTGATCGATGACGCATGGTTTCCGACTGTTTTTACTATTAAATTACCCTTAAATCACAATTTTCCATAGAAAACGGGTGGAATTCTCTCGAAAAATGAGAAATCACCAAAATCGGCGCCGGTTTCCGATCAGGATAATGCGATTTTGGTTTGTTTCATGAGGTTTTTTTAACATCGAAATGATTATTTTTTTGGTAATTCCAGGCGCTCAAAACACAACGGGACAAAATGAAGAAAATGATCAAGCGAAAAGAGAATTGTTTGGAGAAGGAACCACAATTGGCAAAGCAGCTAAGGATGGCCGGAAAGAGTAAGAAATTTCAGATAATTCAGTTTTTTATATTAAAAAAAAAAAATAGATTAAAATTTCGCTTTAGCTAATTCCAGCCGTGCTTTACTCCCGCTTCAAGCAACGCCACCAAGAGAAGATTACATGAGCCGATCAAACCTTGAACCCTGCACCTTAGCAAGCTATAATCGAGCTAATGGTATTGAAAAATCAGAAAAAATTGAAGTGTAAATTTTCCAGCAAACAAATCAATAAATTTCCTGGTAAATGAACCTATTCGCAGAAGTGCAACAGCAAGTAACCGATGGCCTTCGAGAAATGAAGCGCTGAAAAAGATTAATCAGAACTTCGAGATCAAATCGACAGGATTATGGAAGAAAAAGAGGCGGCGGAATATCAGGAAGAGATCGAAAATGCTGTCCGGCCAGCTTTCCAACACGGATCTCGGGTAACGTTGAGAATGGAGGATCTGTTGGCGGGCGGAATGGGGCACAGTTTCAACTTCCAGAGGCTCCGAGCCATGAGCCGCCTGAAGCAGAGCGGGAATGGCAAAAAGGTTGTAGATTTGCCCGACGAAAATTCCTAAATTTTCCCTAAATAAATAATTTTGTTTTCAGATAAAGAGAACGTCGCGAGAAGATTGCTCTGGAAGCCTAAATATTGCTTGTTACTGTGAATAAAATAAATTCATTATATTGTTATATTTTCTATACAATCTGGTCTTACTGGCGTTGTTCTGCACGTAAAATTCGTTTAAATAACGCTGTAACAAAAAATCTCAGTTTGCGCGTAAAATTGAAAATGCCAGTGACGCAATCACCACGACGAAAAATCCCACAGTTTTGGAAAATTGCGGTTTTTCAAACTTTTTTTCGCGTTTTTTCGGATGCTATTCAAGCGGCTATAGACTGTTCAAATAAGAACGGTCAGAAAATGAGAGACGTAGACAAATAAAGAGATATTGACTTTTTAGGCTATTCTGTGATAGTAACAAACCAACAAAGTTTGTGTTCCCAGTCTTTTCTTTGCAAATTCTCAAGAGTTCTTCTTTGCAGATGCGTCGACGTGAAGCTCTGGACAATTACGAGCATGATGGTAAGTTAAAAAATTGGAAAAAAAAACTTCGGTTTAAATTTTATTATACTTATTCCCTTTTTTTAATTAAAGGCGTCTATGACGGCTCATTCATCATTCACGACGTAGTTGACGCATTCCTCCTTGCCCGAAGGGCCTAGTGGGTTAACGCGCCATCACTCAGAAGACCACAAGTTCAAACCCAACGAGGCTCCCCCGCTTTTCTACCCCTAGCTTGAGCAATCAAATCCGAACGCGTCGGAGCTGTCTCGGAGACAGAAGCCTCATCAAATATATTGATTGCTTCCAAACCTATCGCACGTTTGCGCTCCTCATTTCCGTAATGGCGTTGCATGCGTAAGCTTGATCTTTCCAGTTTTCTACTAAGGTGAGTCATTAGAGCAATGGAGTGAGCAACTCGTTCCGATAATTCGTATCTCATGAGCAAATGCTATGCGGGACGCGGGGCTTTATGGAAAGAAATTAAACAAATATTATTCGTTTTCCACATGTGTGGCTCAATTTACTTCTTCTTTTTTTACCTCATTTTATAAAATTGTCAGCCCTTTTTCTCATTCATTTGATTTTCTGTGGCTCTTTCAGCTCTATGTAGTTCAGTTTTTCATCTATTTGTTTTAACGTGGAGCAAAATATGGTTGAAATTTGTCTGGTAGATACGGTAGCTTTAAAGGCGCATACTAAATTTAACAGTGACAAAATTAAATATTTAGTTCCATATGGAATTTCAATTTGCCAGGCTGTCCCATTACGGTTTGATCTACAAAAAATGCGGGTTTTTTTTAGGCCAATAATGTGACGTCAGTCCGTTCTTAAATGCGAAATCAGATGTGAACTCTGGGTCTCAACTCCCGCATTTTTTGTATACGTAGATCAGACCCAAAATGGAACTCTGACACCAGGTGTTCGCCGCGGAACCAGTTTTATACCGAATTTCGTATGCGCCTTTCATTCTACCGTACCCGGTTCTGGAAGTTTGGGTAAGTTTGAAAAACGAACTTTAAAATAGAGTTTATTAATTTTTGTTGACATATTACTTTGTGCAATACCTCAAAAAATATTATAATCCAGATAAACATGGTTTTTTAAAACGTTTTGCACAAAAAGCGATGATTTCGCTTCGAAGCCACTTTTATAAAACGCCTTGTGCGCCTTTAATTCCACCGTACTCGCCAAAATTGAATGAGCGAGTGAACTATTTTAGCGAAAAAATCGTTCTGATCGGTCCTGCTCTTCCTCTATCGGCTCTGGCAACGTCTTCCTCTTTGAATCTGCTCCATTGACAATCGCCTACCGGACTGGTTCTGGAAAGCCGTCCACACGGACAAGTACATTTTTACAACTAAAATCGAGTCGCGACGCGACACGCAACGCGCCGTAAATCTACACCAGATATGACCGAGAAATGCGGCCTAGTTCGGCCAATTCTTCCATTTTAAATTATGAAGCCAGAAATTCGTGTATTTTTACAAACTGAATGTGAAAAAGAAGCTAAAATTTCAATGAAATAGAGATTTTTCCCGTAATCTCACAGTTTCGCAAAATACTATGGTCCCATTAAAAAACGCTGAAACCTAAATTAGCGCGTAAAATTCAATGTATAGCGAACATCTCTCACGTATTTCTGGCTTTTATAACTCCCCTCAGATATTGCGATAGAAGCGGTTGCCGAACTAGGCCATATCTGGGGTAGATTGACGGCCGCGTTGCGGTAGCGTCACGGCTCGATTTTAGTTGTGAAACTAAATGCATTTTCCTGTGGAGTACACGCGATGTCCGGCGGGCGCTTGTCAATGGAGCGCGAAAAATTCAATATGGAAGGCCAGCACCCCGTGTTAACATTAAAATTACAAGATTTGCCCCCCCAAACATCCCTGGAGAACCTAGAAAAACCTGGTGTGCTTGCCTGACAACAGCGTTCACCGATAAAAGGGTGACGGGGAGGGCTGCAACAGAGCTTTTTTCCTCGTATAGCAACTCTTTGAGAACTGACAGCACTTTTCATATAACTCATCACTAATCGCTGCTCGTGGCGGTTTTATTTTCTAGTTCCCCATTTAGGGCTAATGAGTCAATTTTGTCTGTTGCTCAGAACTCTCAATTACCGATGCTATTAGCAGAAGTACTTAGCGCCAGAACCAGAGCAAAATCATTTTTATTTAAAAAATGAGTGATGTTTTCTTCAGTCTCTGTTTTTCAGGTTTTTCTCGTTATTAGGCGGTAACTTTCCACATACACTTGGTGTCAGAGAGTCCCATGGTTTGATCTACAATAAAAGTGTGACGTCAGCCCGATCTTAACCTTGTGAGTTGAAAAAAACATCTGCGTCTCGTTTCCCGCATTTTTGTCCGAGATCACACCGTGATGGGACTCTCTAACACCACGTACACATCTACCGAAAATTTCGCTGAGAACAAATTTTTGCGCGTCAAACCTGATGTTTCCGCCGTATATCAATACATTGAATTTGACGCGCAAACTCAGTTTTCATGGAGAATTGTTGAAAAAATTGTTTAATTTCCGGAAAATTAACATTTTTCAGAGAAAATCAAAATTATTCTGTTTTTCCATAAATTTCTAAGAATTGTGGCAGATCTCAGTTTGTTCTACGACAAAATTCGAATTTCCACTGAAAAAAGTGAAAAAAGAAGACGCTGTGTAAGCCTAAAAGCCTAAGACTAGGTGTAAGCCTAAGCCTGAGCCTATCCCTCAGGAGAATAAGCTTGAGCCTAATCGTGAGCCTAAGTCTAAACCTAAGCCTAACAAGCCTAAGCCTGATCCCAAGCCCGCATGGTGCCAGGCTGACCCATAACGGTTTGATCTACAAAATATGCGTAAAGCGAAATTTTTTGCCCAAAAAGTTTGACGTCAGCGCTTTCTCATGCGATATCAGTTGAGAACTCACTGCGTCCCTTGTCCCGCATTTTATGTAGGTCTACGTAGATCAAGCCTAAATGGGACGACACCACGGGAAGATCCCGAAGTATTCAATTTCCAAAAAATCAATAAAAATGCAAATAACATAGATATTCCCGCCTAGTCCAATAAATTATTTTTTTTTTGAAACTTCAACCTTTTCATGTTAAACTCGTTTTGTGGGAATGCATAGTCCCAAAAGCCATATTTGACACGCAATTTTCTTTGATAGACTTTTTTTTGAATTGATATGTCATGAGCATCACTCAGGTGGTTCCCAAATGGCGTCTAGTACTTGAGCCCTAGCCACCACCGTCTCGAGCGGCCGAAACCCAAAAACAAATAAAAATGAACAGTTCTCTCTGTTTCAAAATCTATATGTTCCTGTTCTTTCTAGTATCTTCCCTCTTCAGCCCTCTACTGCTGCTCCAATTCTGTTCCATGTTATTTACCGTACCGAACGATTTAGACGAATAACAGGACCCCCTTTTCCCGTTCAGCCGATGAGCCAATGTGTTGTTGGCTAATTCTGGGTGTTTAGCTCATTTGGAGGAACACTAACTTCCCTCTCTAACTACACACTACATGGAAGAGTGTTTTCAGATTTCTAGGCCTCGCAACTTTCCTTGGTGGCCAAGAAAAACTAAAACTTCAAGGTCAAAACGTTCATTTTTGTTGAAAACTACGAAAATCGGTTTTTACTTGATTTTTTGTAAGCGGAAGATTTCCTAAATTTCTAGGCCATGTGCTTTTTCCTGCTTCTCTGAAAATTTTGTTCAAATTTTCTTTTTTCAAAATATTCCCCGAAAATCTTGTACAAAAAGAAATTTTTGAGCATTCAGATCATTTTTTTAGAATGGAAGAGTTATCCAGATTTCTAGGCCACTGTATGGCTTTTCGTGGTGGCCTAGAAAATTTTCTTGGAAATCAGGTTTTGACTTGAATTTTCGTAAGTGTAAGAGTTTTTTACATTTCTAGGTGATTTTTTCCTGATGGTAGGAAACTTGTTTTCGTTTAATTTTCCCCTATTTTGGATATTGAATACTTGTTTATTGGTGGAAGAGTTTTCAGAAATTCTAGGCCACGTGGTTATTTTTGTAAAAGAAGATGATATTTATAACATTAACATGTGGTGACTTTTATCAGATTTTTTGCCCAAATACCATTTTTACAAGGTAATTTTTTGTTATATGATCTTTGTGGATAGAGTTTTTAAAATTTCTGTTAGGCGAACCCTAGATGCACGTGGTGTCAGAGTGCACTTCGGTTTGATCGACGTGAATCTACAGCAAAAATGCGGGAGAGGAGACGCAGAGTTCTCACCTGATTTTACATGGTTAAAAACGTGATGACGTCACATTTTTTGGGGGCAAAAAATGCCGGCATTTTGTAGACATCAAACCGAAATGGGACAGCCTGACACTACGTGTTCGTGCAGATGGCCTATAAATGCTAAAATCTGTTTTTTAAATGTAACTTTCAAAGTAAAAGAAACAATTAGAAACAAGTTGGCTCTCGCCCACAACGAAAAGTCTGTTCTAGCTATGGGTCGCGAAAAGACTCGGCTACCAATTTTTTTCGGCTCCAGATCAATGACGCTGGCAGACAGGGACTTATCAGCTTGTTTCCGATTTACACACACATACACGTACACTTTCTCCGTATAACTTCTGATAGCTTGAAACGAGATTAATCATCATTCCAGCTATTCTGTTTTATTTATTAGGTTAATGCCACTACTACTAGTATTTTTTCATATTAAAAATACAATGAACTATTTAGACATAGATTCAAATGAGATGCCAGTGAGTTCGCACTGGTGTAAGTGTTTTGAATTAATAAATTTTTCAAAAATATCTCAGTAAATTTCTGAGAAATTTTGATTTGAATTCCCGCCAAGCATTTTTTTGAAAATTTTGAATTTCAGCCCATTTTGCCTTTTTTCCTTCAGAAAAGGTGAAAAAATTCAAAATTTGAATTCCCGCTACAAGATTTTTTTTGAAAAATTTTCGAACTCGCGCTAAAGTATTTTCTAATAGCCGAAGGATTAGTAATTGGAATCCCCGCCAAAACATAATTCAGAAAATTTAAATTTCCGCCGAAACTTTTTCTGATAAAATTTAAATTCCCGCCCATTTTGTCCAAAATTGCAAGAACATATTTTCAGTGAGAAAATTTGAAAATATTTTTTTCAGAAAGTTTGAATTCTGTAGCACCAAAACATTTTCTAAGAAAATTTGAATTCCCGGCAAAACTTTTTCTGATAATTTTTGGAAATTCCCCGCAAAAATTGAGGATAGTAAATGAAGATGATTTGAGCAAAGTTATGACGTGGCCGCGGAAAAAATTGATGGCCCAGTTTTCTCTTTTCGCGGCCACGTAGCCAGAACAGACTTTTGGAACCGTACAACCAACAAATATTTCTTCATGTCCCTTTCAAAAATACATAAAAGCCAGATTTTGACATTTCTAGGCCATCTAGACGTAGACGTGTAGGCCTCGAGGCCTAGAAATTTGAAAAACTCTTCCAGAAAATTTGTTCAGTACTTGAAAGCGCTCCAACAAATCTATGCTCAAATTGTAAAAACGTTTTATCAAAATATTTATTGAATAAATTCTTTTGTCGCACAAAGAGGTATCAGACCACCAGATTCGACCTTTGATCATTGTTTCAGTTGATAGGTATGGCAGGCGTGGTTGCGCCTCAAACCTGCCGGCCTCAAGCTGGGCAAGAGGCAGCCTAATGTCAGGGGCAATGCCCACATCCAAGCCCTACTTCTAAGATTATCTCGAAATTTAGCGAGTTTTTATTTGTCCAAAAAAAATCGGAACAGGTTAACAGACAAACATGAAAAAGCCGCCAAAACAGAACTTTCATAATAATCTGTCGGTAGTTTGTGGCCGTTTCTTGCGTCTCAGGCTTAATCCCTACTGTAATTATGCTGAGATTTTCTAAGGATCTATGATCCTTTCACTTTTTGAAAATTTTTGGCAATTCTTTTTAAGTTTGTTGAGATTAACTTATGACAAACAGTAACTAAAAAGCGTGTGCTGCCGCCAGATTTTCTAGGCCATCAGTAATATCAGTTGCGTCCTTGACCATACTGGACCGAGACAACAAATATTCTAGGACTTGAGATTGCGTTCCTCGTCCATTCCTAGTCCCAAAAATTCCAAGCTAGTTTGGCCGAGAAATAATCTAGGCCATCGATGTTAATGACGCCATTTCATACCCGAATTCGCCAGCCTAAAATTCTTAGGTCATCAGTGACGTCACAGCTCTTCCAAGCCTTGGAATGAGCATTTCTAGGCCCTCTAATCTAGGCTTGCAAATTTCCTAGGCCAGGTGACGCCATCCCTCTTCCGTGCTGGACCGGTCAAATGACGTCACTTCTCGTCCACCTACGTCGCACTTTGATTACCTAGGCCACCATGTAACGTCACTTCTCTTCCATCTAGGTTTCCCATGCCCTTCTCCTCTCACGTTTGGTATCAGTGTGTCATTTTGGCCTTGAATACTCTAACGACAAATGAAATGCGGGAGAAGAGACGCAGAATTCTCACTGATTTCGCTTTTCCGGGTTACGCGGTAGACGTGCTGCCGTCACATGTTTTTGGGCAAAATTCCCGCATATATTTTGTAGATCATACCTTAATGGGGTGTCCTCTTGTTAAATATCGAAATTTCACTCAAAAATTTTGAACGTTGACGTTTTGTCTCTGGTCAATTGGTCAGCCGCGCAGTGTTCCGGTGTTTGTGCTCATGTTTTCCATTTGTGCTGCTGCTAAGGCTTATTTGTTCCGGGCGGGGACAGGGGGGAGAAGAGGCGCAAAAATGTGTCATTATGTATATTTTGCCATTGATATTGTCCTTCTGCTCAGAGGATTTCCTCATTTTACGCCGTATGTGCAAAAGCATAATCACCACAATAATTTTGAATATAAGTTTGCAAACGCGCCCTATTGACCTCGCCCGTGTAGTCTGCGTGCACGTGGTGTCAAAGTGTCCCATATTGGTTTGATCTCGAGAAATGCGGGAGAAGAGCTGCAGACTTTTCAACAGTTTGATTTTGCATGGTTAAGAGTGTGCTGGCCGTCGGTCACGTTTTTCTGGGGGCAACAAGAAATTCCCGCATTTTTTGTAGATCAAATTGCAAAGCGGCCTATTGTTAATCTTAGCCCGTCTTTTGATTTTCTATTATTCTTCGGCACCTAAACTGTAACTACGACACTAAGTTACACTGTTAAATTCCGCCCACTTAATGGCACCTTTGTTGCAGAAATGTACCCACGACAACGAGCAGACACGACCACATAATTGAGACGAGAATTCGGCGGAACCGGCTGGCGCAGGTCGCCGCCACAATTGCTGCCTTAGCGTGATATGACTCTTGTTGGCAGGTAAGTAAAAAACTACGACACTCCGAGACCAAGAAGAAAATCGATAATCGAAATATTGAAAATTGCAAAATTTATTTCGCCGGATCATTTTCCATATCGATTTTCTGAATGGTATGGTGATAGCAATCCTAATCGTAGGGCGTCCCATCCCTGGTGAACCACGGACTCTTGACCTGAAAAATAGGTTTCGTTCGGTGGAGCACATTCGCATACACTGACATTTTCGGGTGGCGACACGCTTTACACTTGCAACATGCAGTACCATATGCCAGTGGACATTGAACGCCGACACGCATCTCTCAAAAGTTAGATCGGAAATTTCGTGGCATTTTGGTGATTGGCCGCCCGGTGACAGTCCGCGCAACGGAGCGCGTGACCGTACGGCCCGGGCATTGGATAACACGGAGTCATGCCAATGACTGTCTGGAATTTTGGAGAAATTTATTGATTTTTTGACGGAATTTAATGAAATAAGGAAAAATCAATAATCGACATATTTATTTCGTAAAAAAAAACATTCTTTTCACGGATTTCTTCTTCAAATTGCAATTGAAGAGTTTGCCAAACTAGGGAGCCATTTTGGTAACGCTCGGCCATATCTGGGGTAGATTTACGGTGCGTGTCGCGTCGCCGGTTTTGTAGTAACACTAGCAAAATGTATTTGTCCGTGGAATTCTGGCTACCCTCATAAATCGAAATGGCAGAGTTTGCAGAACTAGGCCATTTTGGGTCGGAGTGATTTTGTGTAACGGCGCGTCGCGTGTCGCGGCATCGCCGCTCGTTTTCAATTTTAAAACTATTTGTCCGTGTGGCGCACACAACACTTTTCCACGCGCTGTCCGGCAGGCAATTAGTGTTGGGCGCAAAAATAATTAGGAAGGCCAGAACCCCGTGTCCGTGTGGAGTGCACGACTTTCCCGCGCGTTGTCCGGCGGGCGATTGGCAATGGAGCGCGAAATAATCAATGAGGAGCTTTTTGCAAAAACAAATTACATAGGCTTCTTGGCCTTCCTTATTGCATCTTTCGCGCTCCATTGACAATCGCCTTAAAGCAGGGGAGTGTGTGTGTTTGTACCTTCTCCACACGGACAACTTAAAATGAAAACCGAGCCGCGACGAGACACGCAGCAACGCGCCGTCAATCGACTCCGGCCGTGGCCGAGTCAATATGCCTTACGGCAAATTCTTACATTTCAAAATATGAGGGAAGCCAGAAACGTGCGGCACATGTTATAAAATTAATGTTGAAAAAAAACTATTAACCCATATTTCGCAAAATAAATTATCGCTTTTTGTAAGAAGGATCTTTCGTGATTGAATAGGGAAAAATTTATCGAATTTTAGCGAATCAGAAAATATCCATTTTCACTAAGAATTTATCTAATTTTTCGATTTCTATTCGCTAAAATTATCGATTATTGCAATACCTGACAAACCGAGCATTTCAGTCATGAAATAAGATACATCTCGTCTTGAAGTTTGATCACTTTTCCCTGCAAAGAAATTTCAATTGAATGTATTTCGAAAAATGTGCTCACAGTTTGAGCTGCTTGACGAGTCAGCAGGTTGTTGTGCAGCCTTTCCAATGGATATTATATGGAAGAACAATCTTATGGACGTTTATTGTTCATCGGGTCGAGAAAAACATTTTTCGAATTTTCGAGATTAATTTACCTAAAATCTAAAAAGGAGAAAATTGAAGAGAAACGTGGGAAAACGTATTGATTTTTCAAAATTTTGTTGATTTTCTAATCACGGGGTTCTGGTCTTCCGAACTCATTAGTTGATCTTGTCGCGCTCCATTGACAATCGGATCTCTTTCCGGACAACACGTGGGAAAGTGGTGCACTCCAGAATACACGGTTAGATAAATACAAGTTTTACAATTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTTACCCCAGAGGCCGAGCCATAATGGCCTAATCAGTTCGGCAAACTCTACCATGGGAAGCCATAAATTCGTGTATAATCAGAGAACTTGCGCAATTTAACAAAATCGGTAGTAGTAATTTATCGATTTTCCTTCAATCGTCTCGATTTTTTAAAAGCCTTATCGATTTTTATCACTAATTTATTATTTGAATAATCAACGTTTATTGATTTTTGAATCTACATCATGATTTGTCGATTTTCTCAAGTACCTATCGATTTTTGCTGTCGATGCACCATGTGGAAACTTCGGCACGTTTTTTCGCGGCGAGACCCAAATTTTTTGAATTTTCAGTTCTTGGTCTGGTATACGGTAGCTTCTACCTCTACCGTCGATATGTGACAGATGCAAATAAACGGTATAATGATGATATTTGCGAAAACTCGTTCGTCAAGTCAATGACTCGCCGGAGACCACGTGGAAAGCGAAATTCGTTTGGTGTCAAATATCCTTACGGATTCAAATAAACTTGAGAGGCAATCAGACGGCGGTCGAGGAATACGTGGAACAAACTCGAAAATTCAATTTCGAGTCAACGTGATGCGATGAAGCGGTTAGAGTGTTAACTCAAATTTGAGCGGTAAACAACGATGCTCCGCACTCTCGCCGCAAGTTATGTAGTTTAACGCGTAAGCTGTGATGCATACGATAGTCCTGGAATGATATTTGTTAGCTCTCGCAAATGAAGGAATTACCAAATTTCGAGAAAAATCTATATTGATTAGCCTTTTAAAAATTATCGATTTTTTAAACAAAACTTCTGAATAATTCGACGGATTTTTCCAGAAGTTTAAAAAAGTTTTGGGTACAATTTTAAAAAGACAGCAAAGCTAATGTACGTAGAACACCAGGAAAGAATTCTGCGCTAATATCGGATGCTTCGTAAACTCCACGGGCTTGCGGCATTAAAATGCCGAGCTACGCGCCGTAAATCTACCCCGGCCGCAACGCGCCGTAAATCTACCCCGGCCGTGGGCGAGCTCAAGTGGCCTAGTTCGGCAAAGACCAATCTTATCGATTTCTCCTAACAGATGAGTGAAGCCAAAGGCACGAGAATGATGACTTCCACACGGTTCGGTAGAGCGCATTTACACTTATGTACCCTTTGCCGGGCTGCGTTCAAAACCTAAAAATTTGAATGCGCGTAAGACCTGGTGCATTGGGTCCTGAATTATTTCGACAAAACATGGTGCATAATCCCAATATTGCAATTTTGCAGTGAACTTGAGCACAACAGCTCCGATGTTCCGAAAAACTTCGACGCTCGTCAGAAATGGCCGAATTGCCCGTCAATTTCGAATGTTCCAAATGGAGGATGCGGGAGTTGCTTCGCGGTCGCCTCGGCCGCCGGTGTGTCGCCACCGACCTTGCCGGTACTCACTCGAATGGAACTTTTAAGTCACTTTTGTCCGAGGAGCATATTATTTGATGCTGCTCGGAGTGCGGAAATTGGTACGGCGGAGATCAACTGAAGGCCTTGACCTATTGGGTTAATCAGGGACTTGTTACAGGTAAGCGGTGACGTCATTGGCCTAGGAACCTTTGATCTGCATAGATGTGAAATTTTATTGTTATCACGCAATTTGTAATAATTTCTAAAAAACTGTAATTATCGATTTTTAAAATTAACTTGTTCCAAATTTTGAATCAAACGAATTTTCTAGACGCGAGATTTTTGCAATTTATCGATTTTCGCAGGCTATTGAGTTTTCCCACAGTAGTCGATTTTTCTAGAAAATTATCGATTTTTAAATTTTTTTACCGCATTGATTTTTCTAGAAAATTAACGATTTTTCTAGAAAATTTTCGATTCTAAAAAAAATAATCGACTTTTTTCTCAAAACTATCGATTTCTGCAATTTATCGATTTTTTGAAATTTATCGATTTTCCCTGCCAATTAGCGACTTTAAAATATTCCCCAAAAATTTGAACGAGTTTTCTAGATATTATCAACTTTTGCAATTTATAGATTTTTTTTTTGCAACTTATCGATTTTTTGCAAATTATCGATTTTTTACGGCTAATTCCTTATCGAGTTTTTCCAAACAATAACGATTCTTCTAAGCCCGTGGAAGCGTTTATCGAAAACCTAGGCCATCTCTATTTTCCAGGTGGCCGTGACGGTTGCCGTCCCTATTTGACCTGTCGTGTGGCTTCAGTCCAGTGGTCGCCGGCCACGGTCTTTGAGGCCGAGGTTCGAGAAGACGGACATTCGTATGAAGAGGTGTCTGAATACCTCTTACCAGCAGAAATATGAGGACCCGGATAAACATTTTGGCTAGAGATATTTTTTTTTAGAAACTAAATAGAGAAAAATTTCTGGGATCTATTCAAAAATGGCAAACTTTTTGGAAATTATCGATTGTTTCCGGTAAATAATCATCAATTTTTTTCTCGGAAAATCTAGATTTTCGGAGATTGACCGACATTTTTTTCGAAAATTGTCGATTTTTTCCGTTAATGATCGATTTATTCGGAAATTATTGATTTATAGTTCCGATAATTATCGATTTTTCGGATAATTATGGATTTTTTCCGATAATTATCTATTCTCCGGTAATTATCGATTTTTTCCGATAATTATCGATTTCCCTTTCCGGATAATTATCGATTCTTTTGGCCGATAGTTATCGATTTTCCCGATAATTAGCGATCCGGTATTTATCGATTTTTTCCGATAATTAACGATTTTTCCAATAATAATCGACTATTCTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTCCCTTTCGTAATTATCGACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAAGTATCGATTTTTTTAATTATCGATTTTTCCGATAATAATCGACTTTTCCGATTGTTATCGATTTTTCCGATAATTGTCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATATTTTTTTCCGGAAATCATGATTCCTATAATACATTTATCAATTTTTTCCGATAATATCAATTTTTCCGACAATTATCGATTTTGGTTATCGATTTTTCGCTTCCTATAATTATTGATTTTCCCGATAATTATCCATTTTTCAATTATCTTTTTTCCGATAATTATCGATTCCGATAATAATCGACTTTTCCGATAGTTATTTTTCCGATTTATCGAGTTTCTTTCGATAAATATGCGACTTTTCGGGTAATTCTAATCGATTTTCCCGATAATAATCGATTTTTCCCGTAATTATCGATTTTTTACGGTAATTATCTTCCGAGACTACTCGACTTTTCCTTACGATACTTATGGATTTCTCCCATAATTATCGATTTTTTTGGCCGATAATTATCGAATTATTGCGGGCAATTATCGCTTTTTCCCGACACGATAATTATCGATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGACAATTCGATTTTTTCTCCGGTAATTATCCACTATTCGGGTACATTTTCGCCCGATAATTATCGATTTTTCCCAATAGGTAATTATCGATCTTTGCCGATAATTATCGATTTTTCCGAATAACTTTTCCGATAGTTATCGATTTTTCCGTATCTAAGATTTTTTTCCGATAATTATCGACTTTTCGGGTAATTATCCATTTTTTTCCGGAAACGTCATGAATTTGATTTCCAAGTAATTATCAATTCCGAGAACCTAATTATCAATTTTTCCGATAACTATCGATTTTTCGGATAATTATCGATTTTTTCCGATAATTATCGATTCTCCCGATAATTATCGATTTTTCCGGTAATTTTCGATTGTTTCTGATAATTATGAATTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGACAATTAACGATTCGATTTTTTTTCGTAATAATCGACTTTTCGGGTAACTTATCGATTTTGCCCGAGCATAATTATCGATTTTTCCGGTAATATATCTATTTTTACCGATAATTATCGATTTTTCCGATAATACGACTTTTCCGATAGTTATCGGTATTTTTCCAATTATCGATTTTTCGATAATTATCGACTTGCATTCGGGTATAAATTCGATTTTTTTCCGGAAATAATGAATTTTTCCAATACTTATCAAGTTTTTCCGATAATTATCAATTTTTCCGATAATTATCGTTTTTCGCGATAATTTACGTCGATTTTCCGATAATTATCGATTTTTCGGACCATAATTCTCGATTTTCCGATAATTATCGATTTTTCATACGATAATTATCGATTTTTCCGATATTTTTTTTCGGAAATGGCTGCGCCATCGCGGTTTGATCTACAAAAAATGCGGAAAATTTTAGCCCAAAATGTGACCTCAGCACGTTCTTAACCATACGAAATCAGTTGAGAACTCTGCCGCATTTTTTGTAGTTCTACGTAGATCAAGCCGCAATGAGACACTCTGGGACCAAGGGTCTGTAATTGACTTCACGGGAAATGATATTTTTATTTAATGCGCAAAACTAAAATTAAAAATTTCGTTTCGACCAATACACCATTTTAAGCGTAAATTTCAATTCAAATTTTTGCAGCCAAAGCTTTGGCTATTCAATGTATCCCCGCTCAATGACAGTATCCCTTACCGATGGAAAGGAACGAGTAAAGGTGCCCGAGTAACTATCATCGGTCACTTCAACGAGAAAACCGAGAAGCTGAACGTGACCGAGTACGGTGACATCATGACAAAACAGAAACTTTATGGTCCAGACACCACGATGGCGTTCCGACTTCCCGAAGAATTCCTTCATTATTCGAGCGGAGTGTTCCGCCCGTAGCGAATCCACCTGATGGTTTCGACGATCGAAATATAAGTGTGTTGGCACGTGGTTGTTCGATTGATCGGGGAGAATCAGATGATGGAAAACATTATTGGTTGGCTGTTAATAGTTTTGGTAACCATTGGGGTATAATGGTGATGCGTTATGGCAAATTGCGCACGGCCCGGCAAATGGTACATCCATACAAATACGCTCTGATAATTCGGGGTAAGTTTAGCCAGGTTTGGTTTTAAGGAAAACGCGTTGGTCCAAAAAAGTTAGAATTTGATTTCGGACATTTTTTATATGCATCACAAAAATGGACAAGCTTGAGAAAAAGCCCAGGTATAACACCGGTATACAAATTGTGTACAGGTGCCACTTCCCGGGCCGGGATGCGCGTTAAATATAGTGCTTTTTAAGAATGCGTGTTGCGCAACATATTTGACGCGCAAAATCTCGTAGCGAAAGCTACAGTAATTTATCAAATTACTACTGCAGCGTTTATGTCGCTTGTTACGGGCTCGAAAAAAAAGTTACCAGGACATTCTATTTTTTCTGATTTTTTGCTTATTTTTATATAGGAATATTCTCACGGTGTGTCATTCTGATCCCATAACGGTTTGTAACAAAGAATGCGGGAATTTTTCGCCCAGAAAAATGTGACGTCAGCACGCCCCTATCGATACGAAAGTTGTTGAGAAATCTGCGTATAAAATCCCGCATTTTTAGTAGATCACGCCGGGGAGACACTATGTCACCACGTGTATTCTATCCAAAAATAAATTATTTCAAAAATAGAAGCCCGAAAAAAAAAATCGACAAAAGCGCTACAGTAGTCATCAGTTAAAGCGAATTACTGTAGTTTTCGATACGAGATATATTGATATTTTGCGCGTCAAATATGGTGCGCAGAACCATTCTTAGACTTTTGTGTTGCCGTAAATAAATTTGGACGTCAAATACAGTGGATATTGCGGGCGATCGGCTACAATGTATTGCGAAGTTTATCAAGAGTGCGTCAAAAATATGATGGAGCCGCATCGGTCATGTTACAAAACACCATATTTGACGCGCAAAACTTTAACTTTGGACAAAAAGTCAGAGAATTAGGATTGCGTAAAAAACTGGCATTTTTTTTCAGAACATTTCTGAAATCAGTTTTATATTCTCAAACCTTTCGCGTCAAATATGGTGCATCAAGTCCCGAACCAAATACACTCTAACACGTAGTGCCAGGCTGTTCCCTATTAGTTTGACCTACAAAAACGCGGGAATTTTTCGCCCAAAAAAATGTGACGTCAGCACGTTACCATTGCAAAATCAGTTGGAGAACTCTGCGTCTCCTCTTCTCCCGCATAAATTTTGTAGATCAACGTGATTCAGGCCGAAATGTGACACTCTGACACCACGGCCCTAATTAACTCGTAAAAATCACCGTTTTTTTTCCAGGACTCTTCAAAATCAACCCAGATGACATGGAAAAATATGGTCTAGAGTATGAAACAGCAGTCGTCTAATTAATTGTTAATTCGGCAAAAATTTTTTATAATTAGTTAAATATTGTCCACCTATGTCATTCCCGCCCGATTGCATCACACCTTGTCCCATTTCCGACAAAAATCAATTATATTTATATTCGGCCATTTTTTTAGCTCACTCATTCCATAGTTTTTTTTTAATTAAATTTTGGATGCTAAAATTTGCCATTCTCATAGACATTTTCAATATCTGTGTAAGATAAATCTTTTTTCTGGTCTTCAATTGATGGAAAAAAACAAAAAAACAATGCGCGTCAGGTTTGGTGTATTGTGTGCAAACACCGAGCGCATATTTTAAAGGAAATTTATTTTTTTTTCGATTAAAGTTGCTGATTTTCTTTAATTCTTAAAAATGTAGGATTTTGTGCCAGAAACCGAGAAAATTGAAGAAGTCCTTGTCAAAAAATCGATGAAATCCCTGAAATCCCGGCTCCTTCAAGCAATTATCATCGACCAAAGTAAAATGCTGACTTTATCAATTTTCAATTACTTTTGCATGCATTTTTTCTAGGTTTTTCTCGAAGAATTCTCAACAAAATGGTACGGAAAGTACGGCGAAGATGGGGAACTTCTGGAGCACATCGACGAGGACTGGGAGCCCGTAGGCCTCGACGGTGAAATTTCTGCGCCTACTGTGGTATGGGCAGGAGGATCAGGAGTAAAAAGCTCATAGGCTCTATGATTGGGATGAAGAAAAGAAGGAATGGGTGCTGAGGGAGGCCAAGCAGGAGGAGTCAATGAGGAATCACAGAGTATCAAGCGAATTTCGGAACGAGTATGATGATATTTATAAAAAAATGGACGAAGAATTGCAAGAAAAAGCGGCAAAAGCTCAAAAAGAAGATGAAGAGAAGAAAGGGCAGAAGAAGCGTAAGAAATAAGTAGGCTTGGGAGGCGGGTGGAAGGCGCTAAAGAGGTCTGGTTGACCTAGGAGATAAGGTTCATGCGGTTATGAGTGTGTGAAATCTTCCGGAAGCTATTACAGACCAGGAATTCCAGAAATTTATGCCAAGTGGAGTTATTCAGCCGGCTATTCGAACGAATAAGCCGAAATGCAATGGCTTTACCGGGAGGAAAACGGCAAACTCAAAGGCGGGGGACGGATGATGTTGTTATATTAAGAAGGAATCTGTCGAGCTTGCCTGTCACATTATCGATCGAGCGAGCTTAAAAACGGGAAAGTGAAGGTTGAGGAAGCTCGATTTGAGATGAAGAGTCTGATCCGGCGAGGAAGCGGCGGAAATTGACTGCGGCGCAGAAAAAATATGGAGCAGCAGAGTAATAAAAAATATTTGGTGCAAAATTTGAAATAGCTCCTAAATCGACATTAACTAGGTGAAAGAAAAGCCCAATGAAAAAAAACCAAAAAAAATCGTATTACGTGAACACAAAATCCTGAGAATGCGTACTGCACAACATTTTTTTTTTGTTTGACTCGCAAACGGGATATCTCGTAGCGAAAACTAAGACTACTGTAGCACTTCTGTCGTTTTACGGGCTGCTCGATCGAAATGATTTAAAAGAATTTATTTATGGGATATTTAAAGTGGGCAAATATTTACCCGTAATAGGAAAATAATACAAAAAAATCTAAAAAATTTATTTCAATAATCGAGCCCGCGTAAATCGACACAAGAGCGCTACAGTAGTCATTTAAAGAGTACTTTTCGCTACGAATATTTTGCTCGTGAAATAAGTTGTGCAATACGCATTCACCGGTCAGAATATTGATATGTTCCCATAATATTTCTACCCGCGGAAAAAATTGGCCCAAATCGTGGATTGTTTGAATTTGATGACAAATGGCTTTGAAAATCACAAAATTTCAGAGAAAAATTTCGATTTTTGTTTTAAAAAATCAAAAATTGACTAAGAACCCAACAAAATAGTTAACTTGAAAACATGTCTCCTGAAAATCTTAGAATTTTCAGAGTTCACCCGAAAAATACCAGATTTAACTGGATAATTGCGAATTTTAGTGAGCCAAATTCCTTTCATTTTTCAAATAGAATGTTAAAGTTAAACTAACGACACAAAATCAAATGAAATTGACTAAAAAACTATTGAATTTTGTATAAAAATCCAAAACGATTTTTGTAAATTTGCAACAAAAATATTTTATTTTAGCATTTATTTATTAGTTCTTATAATTTTCACACTAAAAATTACGAAAAAAGACAAAAAAATTTTTTTCATTCAACAATTTTTCGGGCTAAAAGGTGTAATTTTTGCAGAAATTGAAAAATTATTAAAAATCGTAGAGACTAACTGACAATCAATTTTTTAAGGACCAAAAAGCCAACTTTTGCCGTTTTACTCTTTTTCCGTGAAAAATCCGGTTTTTTTTATTTAATTGCGAAATCACTTCACACCTAAAAGGGTAATATGCTGGTCTCGACACGACAATTTTTTTGTTAAATTCTTAAAAAGGTGTGCGCCTTTAAAGAGTACTGTAATTTAAACTTTACGGAATTTTTTTTTGATTTTTCAAACAAACCACGAAAAATCGTAGAAAATTCCACAAAGTTTGAAATTACAGTACTATTTAAAGGCGCATACCTTCGAGACTTTCTTGTACAAAAAATATGTCGTGTCGTGACGATTACCCTAATTTTTGGCGTAAAAGTCGTAAACTGTCCGGATTTCACTACGAAATTCAAACTTCGAGGAAAATATACGAAAAAAATACACTTGTTGTTTTGGTTAAAATATATTCACTTTTTTTCTACCATTTTTTAATAATTTCACGAATTTTTCCCTCAAAAATTACAAATTTCAACCAAAAATTCTGATTTTTCCTTTCCAGAATCTTCGAATGGACGCCCGATAATCCACGTAACTACCGTCCAAAGTCGGACTGTACGGTTATTGTCAAAAATTGTTCACTCAGTAAATGATGAACAAGGATGCGGTGATGTTGGTTTGAAAGAGGAAAAATGACACATAGTTGTCAGAAATATGGGATTGTTAAGAAAGTCGTCGTTTATGCGGTTGGTATGAAATTTGTGGAAATTTCGATTTTTGGCAGGTAAAAGAAATCTAAAAATGCTAATTTAAAAAAAAAAGCTTTCAAAAAATGCTAATTTTCCAAAAATTGAAGCTAATTTTGGAAAAAACCCAAAATTTTTTTTTTTACAAATGTTTCGATATTGTCATAAAAAAATATAAAAACGTGATCAAAAATTTGAAGCTATTTGTCGGAAAAATTTTTAAAAATGTAAGGCTAATTAAAAAAACCCAAAAGAGGTTCTTGGATTTAACAAATTTTCAAAAAAATTGTCCTAAAAAAGATAACCTTTAACATTAAAAAAATTATGGCTATTTTTCGAAAAATATTAAAAAAACAATTAGTTTTTAGCTTTCCGAAAAAAAACCGAAAATTTGTGGAAATTGTCGATTTTCAAAAAAAACTTATTCTAAAAAAAAATAAATTTTTAACATTAAAAAATCTATCTTTCGAAAAAAACACCGAAAATTTTTGGAAAGTTCGATTTTCGAAAAAAAAGTATTTTAAAAAAACAATTATGAGAAATGGTTATAAATTGTTTCAAAAATTTTTTACAGCTATTTTTTTTTAGAGTAATTTAAAAAAAACAATTTAGCTAATTTTAAAAAAAGTAAAGATAATTTTCAAAACCCAATATTGAGGATTTATCGATTTTAATAAATTGTTCAAAAAAAGCTAAATTTAAAAAAATTATTGAAATTTTTAAAGAGGGTTATTGGATTTTTAATTTTCAAAAAAAAATCATCAAAATGTATAAATAAATAAAGACTATGGTGCTTATTTCGCGAAAAATTGGAAAAACAATTTTTAGCTAATTTACGGAATTAAAACAACAAATAATTTCGGAAAATCGAAAATTGTTGGTTTTTTTTTTCGAACGCTTTAAAAAAATCCAAAATCATCTGAAAGACATTTTTAAAATTTCCAAAAAGAAATTATGAGTATTTTTCAAAAATCAAATCGAATGATTATCTACCGCTTTGTTTGACATTTTTTGAAATTTGAAAATCATTAATTCATAAAATTTTTATTGAAATAATTCAAATATTTTTATTGAAAAAAAACGAAAATATTTTCGCTTTGGAATATTTCGGAAAAATCGATTAAAAAAACAAGTAAATAGGTCAGTTATTTTTCAAGAATGCTATTTTTTGGAGAAACCGCTGATTTTTTGTCAGTTTTGTCGATTTTCGTTGTAAAAAATTAAAAATTCAAAATTTCTTATTAGGAGTGCACAAAATGCTGAGAATGCGTATTGCACAACATTGACGCGCAAAATATCTCGTAGTAACCATACAGTAATTCTGACATTAAGTACTGTACTAAGCGTCTTCGGAAAAATTCCACTTTTTTCAAAAAAAAAAACGAAATATTTAGTTTTTATTAAAAAATCGAAAAATTTTGATTTTTTAAAGTTAAAAAAAACGAAATATTTTGATTTTTTATTTAAAAATGAAAAATATTTTCCAACAAAAAAGGCTCCTAATTAAAAAAAAAAAATTTGCGCTTTTGATACAAAAGTGCAGATTCTTGTCTTAAAATTTAAATCAAAAATTTTTAAATAGACTTTTAATCCATCAAATTTCCCCAATTTTCAGGACCACCCGGACGGCGTCGTATCGGTTACCTTTCGTGCAAAGAAGAATCGGATATGGCTGGAGGCTAAAATATCTTCACGGACAAGTAGTTGAAGGTCGGAAATTGACAGCCGAGCTCTGGGATGGCCGGACAAAGTTTAAGTCGAGGAGACGGAAGAGAATGAGGGCGTCGGAAGGAGTACGAGAAGTATATTGTGGGTGAAGTAGTGAGACGAAGGAGGAGAGGGACGACGATGATGACGGCGAAGATAATTGATTGATCTAAAATTTTTCTGAAAAATTATTTTTAGTTCATACATTTTTCCGAGAGGAGCAACCGGATTGATCAATTTTAAAACTATGTTCAAAATCGCCCAAAATTAAAATTAGTGAACTTCCGTTTTCATGGATTTTTCGAAAATTAGCTTTAAAAATGTTTGCCAAATTTTTCGACGATATCGCGATGTTTTAAAAAGTTCGAACAAAATTTGCCTAATTTCAATTAAAATCCCTTTTTTCGAAATTTTCTAATTTTCTGGGCCAATTGGGCCGTTTAAAAGAAGACTAAGAAAAATGGCCAAAATTTGAGAGTTCAGCGTTAAAAAAATTCTAAAATTTCAATCAGACTACGTTTCCGGTGGAAAAAAATTTTCTTGGAAAATTGCTTTCTTGTTTGAAAAATTATTTTAGTTTATACATTTTTTTTCCGAAAGTAGGAACAACCTATCAATTGAAATTTTCAAAAAAAAATAAATTTGAAAGCATGTTCCGAAAAATTACGTGTTTTCGGTTTTCTGGAAAAAAAAAACGAAAAATTTCACCAAAAATCAAATATGAACATACTTTCCTAAAAATATGAAAAAACCAGAAATTTTCTTAATTTCCCTATTCAAAAAAATTCAAAAAAAAAACCAAAATTCAGTTAAAATCCCTTTTTTCGGAAAATTTTAAAACTGCTTTTCTGCGCCATTGTGTCGTTGATTTCAAGGAATTTTTTTCTTAAAATCCGTGAATCGTTTTGAAATTAAACAAGAAAATTTGAAAAATCAAAAATTATTTTCACGAAAAAAAATCAAAAATTTCAATCTTACGGTTTATGAATCCTAACTAAAAAAAAAATTGAAGTAACGAAAATGTTCAATTTTTTCGAAAATTTTCGAGGTCATTTAGTTTTTTCTGTGAAAATTGTATTTTATACGAATACTCTTTTAAATTAATTTTTATATATTCCTTTCCCGAAAACTTCAATAAAAAAACCCAGTGATACAATTAAAATCGAGATAACCACAGTCAAAGTGGCAGTAAGCAGGCAAAAGCACATATTAAGGGAATACAAAATTACTGATAGCGTAAGTCTCATCGCGCTCAACAGATTTGACGCGCGAAATATCTCGTAGCGCAAACGATAATTCGTTAAATGGATACTGTAGCTAGTGCCGATTTACGGGAATCTTAAGAACCTAAAGTAGCAAAAATGGAGATCCCGTAAATCCACACTAACACGCTACAGTCTATATCCGTTTAAAGAATTATTGTAGTTTTCGCTACGAGATATTGTGCGCGTCAAATATGTTGTACAAGAACTACGCAATTTTAAATTTACGTCATAATATACACAATTAACTAGTAATGGATCTACAAAAATCTACAAAATTTCTTCATCAAACTCACTCTTCCACAGCTCGATCGTCCATGAGTCTCCTCGTACGCCCACCAGAGAGCACATCGCCACGGTGCATATTGTCGAGACTTCCTCATTCTGATATCTGTGACGACATGCGTGGCGTAACTCAGGTTATCCCTCGCAACGACTACCGACGGACGGCCTCATCTGCATGGGACGAAGACGGTCCACGTTTCGAGCGTTTCCATCCGGCTTCGATCAGTGCGGCCGCTTCGATGACTGAATGAATTTTTATTTCAACTTTTGCAGAAAAAATTATATTTAGCAAAATTAACGGGGAAAATTGGCTGTTTAAAAAATATTTATTATATTGCGCGTTTAATAACAAGTCCAGATGAAAATTCTGCAAAGTTTGAAACTTAGTACCCTTCAACGGTGCACACGTTTTAGAATTTAGCACAAAATTGGCGTGTTCACGATGCTTTTTGGTTAAAACATTCAAGAAAGTGTGCGCCTTTAAGGAGTACTGTAATTCAAACTGGCTGATTTTTCATCGATTTTTCACTTTTTTTCCAATTAGTAAATTTGTGTTATTGCAGATTTTTTAAATCATTCATACCAAATTTTCAATCGAAAAATACAAAAAGAAAAAATGTAATTTCGTTATTTTCAAAAAAATAAATTGAAAAATTGAAAAAAAATCCAAATATTCGAGTATATTTTTTGAAAATAAAAATGAAAATCGGAACAGATTGTTTTTCGATTTTCCAAAAAATTTAAGACATTTAAAAAATCTAAATTTTCGATTTTTTAGAAAAAAAATTAAAAATCGCAAAAAACCAAAAAAAAATTGGCTGATTTTCCATAAAAAAAAGGAAAGATAAACAAGAAACAAATATTTCAAAAAAAAAAACAATTTTTTCCGATTTTCGGCAGAAAAACAACTGTAAATCGGAACAATCATAATTTGTTTTTTCTATTTTTCACAAAATATTGAAAAATAAAAGAAAAAAGGAAATTTTCGATTTTTTTCCGTTCCAAAACAAAAAATTCATAATCTCACAATAACCAAAAAAAAATGAAAAATCAAATAAAAACGAAAATTTCGTTATTCTCAAAAAAATAAAAACTTTTTTTTCTTCCGGAAAATCTCAAAAACACTGGCAAAAATGTCGGGTGACGAACATTAATTTTTTTCTATTTTTTTGGCCACGATGTTTCGCGAAAAATTGTCAAAAATTAAAATTTTTATTTTTAAATCCAAATTTTCACTTCCCCCCCCCCCCCCCCCTCACTAACAACTTTCCGACATCTTCACAATCTCCATAGCTTTCTCTTTAACCTCCGGCCAAAGCGGTCACTCAGCTCGCGGAGCCACCTTATCCGAAAACACAATCGTTCCAAGCTTCACCACGGCGGTCTCACCTAGAACTCCATCGACAACGACATCCTCTCCAAAATGTTCGCCGATTTTTCGATTCAACGAGCTTCGCCGTTCATAGCACGTGTGTGCGAGCTTATCACCATCGATAACATCGAAATTATGCGTTTCACGGAGATATTTCCCGATATGACTTTGACGAAATTCCTCCGGCGAGCCCAATGATGTGCGAGGTGCCCGTTTCTCTAGGAACCACCCGAGCTGGACGGAGCATGTGACCCGGATCCTCTCTTCGTCTGGAGCTTGAGCTGATCTTTGTCTCTTTCAGGATCTCATCGGATCCTTCAGGCAGCTCGACAATTATCACATCCAGCTGCGACATTCCTTGCTCATTTCTCTTTTTGTTCGAGTACCGCATTGGCACCTTTAATAGTCTCCCGGGACACTACTAGCGCTTCGAGGTTTTTTATTTGAAGGACCGAATGGTTCGATTAAGATTGGCTCCGCGAAACATTTTGCCTGGAAAATTATGGGGGTACTATTGAGCAAAAATGACCTGCATTTTTGGAAAATTAGAAAATCGGAAAAAAAATTTTCGTGCCGAAATTTTTTATTTAGAAAAGTTTTTTCTAAAAACAGAAATTATATATTTTTTCAGTTTTACAAAAAATCGAAAAAAAATATTTCGATTTTTCGGATTTTCCAAAAGAAAAAAAAATATCGAAGTTTTTTTAGATTTGCAATAGCCAGCAAAAATTGATTAAAAAAAACCGGAAAATGTATTACGGGAGAAGATTCTGAGCATACGTTGAACAGCATATTTGACGCGCAAAATATCTCGTAGCGAACACTACAGTAATTCTTTAAATGACTACTGTATCAATCAAGCCCGTAAAGCGCTACAGTAGTTATTTAAAGAATAACTGTAGTTTTCGCTAAGAGATAGTTTGCGCGTCAAAGATGTTGTGCAATACGCATTCTCAGAAATTTTGTGTTGCCTTAATTTTCCGTTTTCAATTTTTTCTTTTTTTGAAAATCTGAAAATTTCGATTTTTTCCAATTCTTTTGGAAAATCCGAAAAATCGAAACAAAAATTTTTCTATTTTTTAAATTTTTTTTTTTGGAAAATCGGATAAAAACCAAAATTTTAGTTTTTTAAACAGAATATTTCATGGACCAAAAATATCGATTTTTCCTAAAGTTTTAGAGAAAACTGAACAATTTAAAACGATGTTTATTGTTTTTATTTAAATTTTTATGGAACAACTTTCGATTATTATTTTGAAAAAAAAGCTTTTTTAAATTTTTCTTTATTTTTGGAAAATCGAACATTTGCTATTTTGCGATTTATTAATTTTTTTGTTGGAATTTCTAAAAATCGATGTTTTATTTTTTCAAAAATCAGCGGTTTTTCCGAAAAATGGCAAAACTTTTTTTAAAAAACATTTAGTTCTTTTCCTATTTTGGTTATCGAAAGATAAATAATTTTTTTGGCAATTTTTAATGAATTTTTGATCGTAACCTCTTACAGTCCCGGAAATATCAGTCCTGTACAGAATCGACAACTGCTTCTTAACATCCGAAACTCCGCAGCAGCTCAATCATCTAATAATGATTGGAAAAAAACCAATTTTTTGTTTTACGAAGCTATCATCTAACCAAGAATCATATCCTGATTTCCATTAGGTGACCCCCACGACAATAAAATCAAAAGCGAGCTCGGCAGCCATGTTGAGCAACACTTGGTGCCCATTGTGAAGCGGCCGATCGCATGTGCCGCCAACACAGACTTTTTCGTACTTTTTCGCCGCCGTTTTTCCGCATTCTCCAGCAGCTTTTCCTCGCCGATCACATAATGATTCTCGGGATTTCCGCGGATTTCGGACACAACTAGCCGGACGTAGAGCTTCGGGCATGAGTTCGCCGATGTTGATTTTCGAGACTAGCTCGTCGGTTCGCGGCTCGTCCGGGTTTAATCTTGCAGCAACAGGAATCCTTGTTCACCTTGCATTTTCGAGCCGGGAAAAAGCCCAAAGCACTCTACCTCACATAAAGCTTCGAGCTTAACGCGGCGGCCGCAGAAGTGTGCAATTGATACAGTTTTCATTTTTGCTATTTAACACGAGAAGTCCGTATTTCGAGCTGATTTAGAATGATGAGAAATATAAGGGGATTGAATATTCCTCAAATAAATAGAAAAATTCGCTGCCACGTTCGCTGCTCTTATCGGCTGCGCGCCTCTATTTCACATACTGTCTCTTCTATCTCTCCTCTCGCGAATCTCGCTCTCTAACGCGTGCCGTGGAGCGCACTTCGCTCCTTTTTGCTGGAAATCTTTCAGACATGCCGGAAACAAGAAAAACAATAAATTATTGAACGGAAAATAAAGTAAACGTACTCATCGTATTTTTAGCTTCATAAAAAGATCTCTTAGAGCATATAATATTGCTTCTAAACACCAAATAGTAACATCGCTGAAAATGTTGTGAATTTTATGAAAATCTAGGATCATTTTTCCCATTGTTAGTTTATGAAAAACAACAATAAAATGAGAAAGATTACATGGGAAAACCGAAGAAACTCTCGCGGTCAAAATTCGAATAGAATTACTGTATTTTTCGGTCGGGCGCTCACGGAGATATTTTGCGCGGGTCAAATATGCTTGGCGCGGCGTGCATTCTTCTTTCAGCGTTTTTTATTTAGTAAAACAGTAATAAAATGATTAAATGCATTTTGTGTGATTTTCAGCCCAAGATGTTTAAATAAATTGTTGTTGTCCAACTGCCAGCCATTTTTAAAAACTTAAATATATGGGAAAACCATAAAAATGAAGACAAAAGTTTAGCATAATTTTGGAACTACAGTACTCTTTAAAGGCGCAAGCCCTTTAAGACGAATTTGTCGTGTCGAGACCGGACAAATATTCAAAATTTCTTCTATACATACGCAGATTTAATGTACAGCAGAATATGAGCATTTGCACATTGCGCAATTGCTAAATTTTTTCAAGGATCACAATAAAAATTAAAAGTAAACCAAAATACTTTATTCAATACCACAAATAAGTTCATTTATCTTAGTCAACCTCTTGCCGACGTCGTAGCTTTTGTTGTTGCTTCCCCTTCTTCTTAGACATCTGAAATTTTCTCATATATGGAACGCGCTCCGATCTAACAAAAAACCTTCTACTTTTGGATTTTCTTCTTGTCTACATCTTCCTTCTTTGGCTGCTGTCCAGATATTTTTGTCCCCCGGCTCCCGGATCGCTCTCAAAGTCCATCTCCGGCTGCAGCCCAACCTCAGGCGGCGCGATCATCAGTACCTGCTGTTATCCAGGACCCTTGAAATACGTCATACAATCCCAATCTGGTGGCTCCTGGGTATTTGACTTATCTCAAACAGCTTCTCGCTGGATCCCATCAGCGATACGATCGTACTCCACAACAACTCAGCGACATCCTTGGGCTCGATGATGGTCAGAAGATCAAGAACCCTGAAGTAGTCTCCGGAGTGGTTCTCCCAACCGACGCGACCATCTGGTGGGTGCAGTGATGCGACGTTTCACGAGGAGCACGTCCTGTTCGCTTTCCTTTTTGAGCAGTGCCACACATGGGAGAGCCGTGAAAGAACCCGAGCACCTTATGTACCACCAGGACTCTGACCCATGTCGTTCCTTGTAGCCGAGATTTTCTGGGAAGAAAAACGTTGTCTTAAAGAAATTGTGAACGGTAAGGTTACCCCCTGGTGAGCATGAACGCTCGCGTACTTGACCACTCCTCATGTAGTGAATCCACTCTTTCTTCCATCTGCTCCTCAGCTTCGTCGTTCATCTTGACGAAGCAGTTAATTTTAAAAAAAGTTTTCGGGGTAGATTTACGACGCGTTGCGGATCTGACGCGTCGCGGTTCGATTTTTTGAAAAACTAAATGTCACATATTTGTCCCTGTGGAGTACCGAGCGACTTTCCCACTCAAAATAGGATGGAATTGAATTCGGAAGTGTCACCGTAGCAACATTCGGATTGTCTGAATAAATATAAAGTGAGATTTTGATTTTTGCTCCACTGATAATGGAGTTTTTTTTAGAAATTCTGCAAACATTAATTTCTAGAAAATTTGAGTTACCTCCAAAATTTTTCACAGAAAATTTGAATTCCCGCCAAAATTTTATTCTCAGAAAATTTGAATCCAAAATTTTTTCTCTGAAAATTTGATTAATTCCCGCCAAAAGTTTTTTTTCAGAAAATTTTGAGCCACGGTCGCATTAAATTTTTCTGCACTAGGCTATTTTGTGGCAATACCAGGGGTTGTGGTTTACGGCGCGTTGCGTGTCGCGTCGAGGAGTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGGAAGACTTTCTCTCCACGCGTAGTTCCTCAGCAATTGTCAATGGAGCGCAAAAACTGCCGACCCAAATAATTTTTGCACTTCATACACACAGCAGCTCGCGGCGTGGCATGAGGCCCGCATTTCGCGCCTCACTGGAAGCCCCAGATGCCAAAAAATCTACCTGTCAGCGGTCTCTCTCCACCGAAACCCAACAGGCTGATGGTGCGGTCCGTCAATCTCTCTTCCAATACCGAAAGGCGATGGCTTGATGTCGCGAATGAATCCATTCCGGTGGAAGTCACGAATCGCGGATGGCCAGGCTCGGCAAAGTGAAGACCTGCTGAACTTGTCCATGTTCATATTCATCATCAGCTCGTATATGGAGGGCCATACTTAAAAATTTGGCTTAGCCAACGAAAAGTGGTACCAATGGACCACAATGGAAGCGATTTCCGTGCCACCTTCCTCAATATTCGTGTAGAAGATGGGTGGTGGATCGACGCGAGGACAACTGACTTTTGACGAAGAAGCTGGAATTTTTTTTGCTCTCTAGAAACGGTTTTCACGGCGGCCGTCAATTCCCGAGTTTGGAAACTCACTTCGTCATGTTATTTTATAATGAGTGGCTAAACTCGGAAATTGTCGGCCGTAAACCACAAGCCAGTTGGTTCCTTCGCCGCGACCGACACTTTCCGGGTTCCGCGCCGCCCTATACAGAAGGCTGGCTGCGCGAGGCAGGCTTGACCGCGGCAGGTGTTTTGGCGTGACCGCTGCATGGACCTGCTAGCTTGTCAACTAGGCAGCCTAAGCGAGCCTGCAAAAGGTAGGCAGGCGCGACCCTTCTAAAACCGTCCTCGCAACACACAATACCTCACTCTTCATGTTTAACGCCATTTGACCGCAAAAAACTTCCCATCACTCTCGCGTTTTACCTTGTGAATCGAGCCGGACGTGCCCGTCGCCAGCGGTTTCGTGACTTCATAGGTGTTTTGTGCTCGAATGAGCTCCTTTTGCGTTGTCCAGGTCCGATAACTCATTGATTTAGAACACCGAAATGTCACGATTATACGCAGTGAATCGCGTAAATAATCGAAAATGAGACTCGAGTCGAAACTTTTCGAAACCTGCTAGATTTTCTTTGTAGGGTTGTTGGAGTTAATGATGATAATGAGGAGGGGGGATTTTATGTGGATTAAGAGGCTACCAGGAAAATATTTATTTTTTAAATATTTTATTGTCATTCTTTTCTTTTTTAGATTTTCACGTTTCTTATTATTAAAAATAGAAGAGTTTTTCAGTATTTCAAAACGAACACAATCTGAAATTCAGAATTACTACTAAAGAAACGAAAAAAAAACTGAGAAAAATGTTCCAGATTCTCCAGTATTGTTAGGCGTACCCCCCCCCCCCCCCTACCTACCTACCATCCTTCCTAGCCTACATGCATACCTGCCTACCTAGACGCCTGCGGCCTACCTTCCTGCGTACGTTTATGTCATACATTTTTTGCCAGCCTTCTGCCTGTATTTTACGTGTCTTAATTACGTGCCTATCTACTTACCTTTCTTCCACGACTACATGTATACCCGCCTACCTATACGCCTGCGTGCCCGCCTCCTGCCTAACTACTCACCTACCTGTTTGCATACATGCCTGCCTACCTTCTTGACCATGCCGAGGCGCCTATACGACTTGCCTACCTACACGCCTGTCTATTGCCTACCTGTTTGGTTACATGTGCCTGTGCCGTACCTGTGCCCAGATCCTGAAAAACATCGTTATTTTGTAATAAATAATTTTAATAAAACTTTAAAAAACAAAAAAAATACGAAATTAAAAATAACCTAACAAAACGTCTTTTCAAACCCCTTCGTACTGCTTGATAAAAATTCGTGTTATATCCTCTTCAACAACTTGAACTGCACTCCTAATCCGATTAGACACAGCTAAACTTTTTGTCGCTTTATTCATGGACAAGTGCGCTCCTGGGCAATTGAGACTATTCGAATCGGTGTAATAGGTGGTGAAGCTCTTTGAGCATCTTAATGTAGAGTAATCTTCTCGAAGACGGCCCAGAATTGCGGTGATTGAGGGATTTGTGATGGATCTGTACGGGATTTGATGTAATAAATTTAAATTGTGTGGTTTAGATGCAGAAAAAAGTTTAAACTAAGAATTCAGACTAAGACTTGAAAGAGAGCCGATTAAAGAAAAGGGCTGAGCTGGCTTACGATTTTTCCCCCTAAGTTTATCTTCACTTATATAGTCTATTATCCCCCCAATACTAAACAGTATATGGTAATAAATACTTTGACTGCAAGAAAAATGAATAATAGGCTCTGCCTCTATATTTGTTTTTTTCGTTTTAAACCCAAACTTATTCTACGCCGAAATTCTTTGATATTTTTTGGAATTATATATCCTTCGATTTATATTCATGATTCCAGCTCAAATTTTTTTTTCTCAGAAAAATTGAGTTTCCCGCCAAAATGGGTTTCTCAAAAAATTGGAGTGATTCTGCCAAAATTGTTTTTCTCTTTAAAAATTTCCGCAAAATTCTGTTTTTCTCAGAAAATTTGTATACTCCCCGCCAAAAACGTTTTCTCATAAAACATGAATTTCCGTCTTTCTCATGAAATTTGAATTTCCCGCCTAAATTTTACGAGAAAATTTGAATTTCCAGCCAATCTTTTAGAAAGTTTGAATTCAAAAGGCTTTTTTTCAGAAAATTGGAATATTCCGCAAAAATGTTCTGAGTAAAATTCTCTAGCCTATTGCTTTTCTCATAAAATTTCACTTGAATTTCCGGTCACCTGTTTTCAGAAAAAGTTTGAATTTCGCGCAAATTTTTTTTCAGGAAATTTTAAACCTCTGGCTTTATTTATCTGAAAAAAATTAAAATGTCCTGCCATTTTTTTAAAAAAAAAATTCACAGAAAATTTGAATTTCTAAATTTAAAATTCACTGAAACTGACTTCCTTATCGACAATTGTCACACGATCCGATGATTTCAGAGCTACACCGCTCGTAAAAATCCCACGTATTGAATCCACGTCATCAGAGTCGGGAATTTCAAAAATTTTACTATCATCCATTTGTTTGCTGGAAGCGTTAATTATCGATTTTTATTTTTTTATTCGATATATTAATTTTATTGATATTTTATGAAAAATAAAATCAATTTCACTCTCGGATTGGTCTGGCTTTGTTCCTTCATAAAATGTAAAGAAAGAGTTTGCCGAACTAGGCCATTTTGGCTCGGATATCCGGGGCAGATTTACGGCGCGTGGCGTCGTGGCTCGTTAAAAATAGATTTATTTGTCTGTGTGGAGTACACGAAAAGGCACTTCTCACGCGTTGTCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGAAAGGTTCCAGAATCCCGTGTCCCTGAGTTTTTGAAAATTTTTGAATCGAATAAAAATTTTAATTGAAAAGATCGATTTTAAACAGTTTTAAAATTCTTTTAAAATTGAATTTAATATTAATCCCATTTTAAAAATTATTGATTTTCGAGCATACCTTTTCAATTTGTTCGGATGGTCCCCGTGCTAATTGAGCCAAACACTATCGATTAAAGATGGGCGTGTCACCACTTTTGCCACGCCCCTTTTATTCCGATATTCCAATAACCCGACGAATATCTCTGGTTCGTAATTTTAGAGTTGGCGAACACTGTGAAATAGGAATCGAACGCTTTCGGCGAAGATCAGACCACTCGAGAAATGTGATGAAGCTCCCCGGAGCTCTGAATGTTTGGATAAATAGAGTTGTGAGCCTAGTGCAAGTTGAAAAAATCGATAAATTATCGAGTTTTCTGATTGTTTTAGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTGAGGCGAGAATTCAAATTTTCATAGAAAAAATTTTGGCGGGAATTCGAATATTCTGAACAAAAATTTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGAGAATTTACCTCAAATTTTCAGAGAAAAACGCATTGTGGCGGGAATTCAACTTTTCTGAAGTCAAAAATCTAGTCGAGAATTCAAATATTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCTGAGTAAAACTTGGTGGCGGGACTTCAAAATTGTATTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTCCAGAGAAAAAATGTTTAGCGGGAATTCAAATATTCTAAAAAAAAATTTGCCGGTAATTGAAAATTTCTGAAAATAAATTTAGGCGAGAATTCAAATATTCAGAGAACAATTTTGGCGGGAATTCAGATTTTCTAAGAAAAATTTTGTCGGGAATTCAAATCTTCTGAGTAAAACTCTCTGAATTCAAATTTTCTGAGAAAAAATTTAGGCGATCAACTTTCAGAGAAAAATTTTTGCGAGAATTCAAATTTTCAGAGAAAATGCGAAATTTGGACGCGAATTCTAATTTTCTGAAAGGAAAAAAACTTCGGCGGGAATTCACATTTTCAGAAAAAAAATTTTGGCGGGAATCCAAATTTTCTGAAAAAAAATTGGCCGGGAATTCAAAATATTCGAAAAACATTTTCGGCGAGACTTCAGGGGTTCTCATAACGAATTCAAATTTTCTGCAACAAATTTTGGCGGGAGTTCAAACTTTCTGAGAAAAAATTTGCCGGGAAAAATTTCCGAAAGTAAAGTTTGGCGGGAATTCAAATTTTCTGCAAAAGATTTTGGCGGGAATGCAAATTTTCTGCAAAAAATTTTGTCGGGAATTCAAATTTTCTGAGAAGAATTTTGGTGGGAATTCAAATTTTCTGAGACAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCACAGAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAACAATTTAGGCGAGAATTCAAATTTTCTGAGTAAAATTTAGGCGAGAAAATTTCGAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAAAAATTTTGGCGAGAATTCAAATTTTCAGAGAAAAATTCTGGCGGGAATTCTTTCTAACAAAAGTTTTGGCGGGAATTAAATCAAATTTTCTGAGTAAAACTTTGACGGGGCAAATTCAAATTTTCTGAGGAAAATTTAGGCCAGAATTCAAATTTTCAGAGAAAATATATTGGCGGGAAAAAATCATTCTGAAAAAAAATTTGCCGGGAATTCAAAATGTCTGAAAATAAATTTAGGCGAGAATTCAAATTTTCAGATAATGGAAATCGGTCGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCTGAGAAAAATTGTGTTGGCGGTAATTCAAAATTTCTGAGAAAAATTTAGGCGAGGAATTCAAAATTTCTGATAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAATAATGGCGGGAATCCAAATTTTCTGCAAAAAATTTTGGCGGAATTCAAAATTTCTGAAAATTTGCCGTGAATTCAAAATTTATGAAAATAAATTTTGGCGGGAATTATTTTCTGCAAAAAATTTTGCCGGGAATTCAAATTTTCTGCAAAAAATTTTGGCGTGAATTCAAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGGGAACTGTCAAATATTGGCGGGAATTCTAATTTTCTAAGAACATTTTGGGCGGATTCTAATAGCTTGAAGTCTGAGAACATTTTTGGCGGGAATTCATTTTCTGAGAAAAATTGTGGCGGGAATTCAAATTTTCTGAGAAAAAAGGCGAGAATTCAGATTTTCAGAGAAGCTCAAAAATTTTGGCGGGAATTCAAATTTTCTATAAACCAATTTTTTCAGAATTTCAGAAAACACCACCCATCAGAGCGCGTTTTCAAGGTCTCACTGTATTATTCACTAGGCTCCGAATTTACAACAGTGACACCTCCGAATTCAATTCCATCCATTATTTGACTTCCTATAAAAAGAAACGAGTCAACTGATATTCCTAGTATTGAGACGCTTCAACTCTTCTAGAAATTCGAAAAACGGGCGACGTAATAGTTGCCACGTATGTTTGGAGATGGCCGCCGAAACTGGAAAAAAAATCTCGTTTAAAATAAACTGACAAGTCTATATATTTTTTCTTTAAATTTTTTTATTCGAAAAGCACCCCTATTATATAAATTCTTTTTTAACCTACCATTTTTAATATTTGATAGCCGAGTCTTTGTTAGGCCATGTGCAAAAAGCCGGTCGGTACCGGTTTTTGGTGACCGAATTTTCAAATTTTCTAGGCCACGTAGAAAACCAGGTCTTCTTTTGACACATTGATTGTTTAATTTTCTCAATACAGGACCCTCTCCTATAAAATCACGGTTAATTATAGGCGATAAGACGCCTATGGCCGAGTTTTGTTTATCTCTAGGTCATGTAGCAAAAACTGGCGATACCCTTTTTAACCCCAGAATGTTCTCAAGAATCATATTTTTTAATTGTGGTAAAGGCCCAGAAAATTATGTCTGCTGAAATCACAAGTCGGCAGCCTTCTCGCTTGCCAGGTCGTCCACGCTGCAAAAACTCTGTTTACATATAGACCTTTTCAAATAATTTCAAATAAAAATTAATCACTTATAAAATCATTTACTTCAGGATTGAAAGCTTTTGCTGGTTAAAACCGGAAATAAGTCGATACGGCCGAGTATTCTCTTTTCTAGGCCACGTACCAAAAGTGTTCAGATTTTCCCCAGAAAGTTGTCAAAAATCGTATGATTTGTGGAAAAGCTCAGCGTAAAACTATGAAAAAATGAGTCAAATCGGTGGCCGAGTTTTCTCTTTTTAGGGCACGCTGCTTAAACTTCCATTTACATTTTGGCTTTTAGATTCAAATAAATATTATTCCCTCATAAAATCGTTTACTGTCATTGTGAGAGCGGTTGAAAACAAAAAAATGGTGGCCTTTTTTTCTAGGCTACATAGCGAAAAACTCACCTAGTATACACATGAGCAGCTAACGACACATTCTGCCATCTAACATTATTATAAATAGGCGGATTACATACCAAATCCTTCGGATTATTATCCGCCTGCAAATATCGAATTTTTGCGGTATGCCCATTAAGAAGCTCCGGCTCCGTGAGCTCTTCCTCAAGCACTATATTACCCACAAGTGTCACGTATTGGTAATACATAAATTATGCGGAGTTGCTCTGTGGATTTGAAGTGGTTCGAGTACGGTTTTTGTGTCGTCACTTCGGTTTGCGATAATTACGACGTTCCCAGCATCCCCAGGGGCGATAAAGGTTAGTGTTATTTGGTTTTTGTAGAGACTGAAAGAGTGGTTTCAACTTGAAAAGTAACGTAGTTTAAAACATATTCTTCTTTTTTTATTCTGAGATATTTTGATTCTGAAAAAACAAAATTTTTTTTAAATAAAATTGGCAACCTCACAAACTGTGAGTTTGTTGAAATTTAGTTTTTACAACCAATTAATTTTTTAAATTAAAAAAATTTTACGTGTAGTCCTCTAGAATAATTTTAAAAATATATGAATAAGTGTTGAATTCTGCCCAGTTGTTTTTTTTGCCGGTCGCCGAGTGGACTAAGTGCAAAAATTTGGAATTTTTCAAACGGCTTTATATTCAAATCATCAACAACTTAAAAAAATTTAGATTAAAAAATTTTTTTTGGAAGTTTTCGAAAAATTTTGGAAAAATTTTTAATTTGATGTCAGAAAAAAAAACCAGTTTGATTTTATTTTTCTTAAATTCTTTTTTGAAAATTTGTTGAAACTTTTTTTTAAATACTAGACTTTTTTTTTGAATTTTCACGCTGTTCTGGTTTCCCTATTTTGAGATAGAAGAGTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCTTGTCGCGTCGCGGCTCGATATTAGTTGAAAAACTAAATGTATTTGTCAGTCGGTACACGACTTTCCCACGCGTTAGGCGATTATCAATGGACGCGAAAATTTAATGCAATGAGGAAGGCCGGAACCCCGTGAAAAATACATTTTAAAAAATACATGAAAAATGTTCAAATTTTCTTTTTAATTCATAAAATTTGAAACTACGTTTTGTAACTTTACAAAAAGATAATTTTTCGAAATTTTTTTGAAATATTTTTTTTCGATTCTTTTTGTTGATTTCAATTCTCTTTTCTAAACATTCAATATTCCTTACCTGTATCCCTCTAGCCATAATAGTACGCAGAAACAAAAAATGTCTTCGTACGTTGTTATCCAATTCTTTAATCTAGTGTATGAATTTCGAACACGTCTTAATGCAGGCAAGGGATGTATTCAAATATCAGTACAAATGCTAATAATATTACGATATAGGGTCCTGCAACGAATTCTCAACTGCTGGTAGAGTACGGAATAGGGTTTGAATTGAAAATTCCTTCGTACAGTTTCGTGTCGGAATTCATTTTTATTATGGGAGGAAAACAATCTAGTGGTGGTAGTGGTAATGTCAATCGCTAAATCGATGTTGAATAGCACACTTCCGATAAGTATCGGGCGCCAGCGTGGCCTAGGATTTGGGAAAATTCTTCCACCAGAAGGTAGTCCCAGGCTTTTAAATATGATTATTTCATCAAGAAATTTACAACTAAATTGAAAATCAACAGTTAATACATTTTTTCATAGACTTTTCGAAACATATCTGATTTTTACATATCAAATAACCCGGTACGCATCTAACCGTCAGTTGCCTCGTGGCCTAGAACGTTTGCAAACTCTTTCACGAGAAGACATTTCACCGTAGCCTAGTTACTAAAGCTTTGAAACTTCTTGCGTGCAGTTCGCTTGGAATTTTTGCTTGTTTTGTCAACTAACTAGGATTCAATAGCTATTAAAAAGTTTCAAAATTGGGCAATTTATGTAAAAATTCACAATTTTGAAACTTCTCGAAAACTAGACGATTAATTTTGGTAGTGGACTCAAAATTGATCTTCAAACACTAAAAAATAGCACTTTTGTAGAATATATTCCCATAAGATTTTTTGCAAAATTATTTTTTTTTACCCAAAAAAAAGGACAGTCATGGCTGAAATAAACTTTGGAAAAAATAAAAAAATTGTCTAAATTTGCTGAGGGTAATTCATGCATTCTGAAAAAATCTGGGTTTAACCCATCAAACAACATTAAAAGCGGCATGGGTATTTCATTGTAAAAATAATGCATATACAATAAACAATGTAGAGGTAGGTGCAAAATCTGTAGTTTCTTTGAAAGATTTTTTATTTATTTTTTTGTTATTTTTTTTGCAAATTTTCGTATATTTAAGTAGTTAGTTTGCATGTTACATGCTAATGAAAAGTTTGCATCTGCTGATACATATAAAAAAGCGCCGAGAAATTCACAATTTCAGTAAACCATCAGTAAGGTATTTAATTTTTGTAAACTTTAGTCTTCTGCTCCTCTAAAGCTTCTGGAAGAGGACACTTTCTATATCTTCAAAATATTTTTGTGCGCCACTTTCCTGTCAAATTTCTGGCATTATTACATCCAAAAAGTCCCCATAAAAATCGGAATTCCATGGCTACGACAACGTCAGCAAAAGCGGAAAGAAATTTTATATGCCAGTCTAACGAGTCACAAAGCATACACTGACGTTTCTATCAGAAAAGACAGGATATCGTATCAAAACAAAAATTGGGTGCGATTGCTCGATGCACCATGTGATATTTTGCTTTTTTTAAAAATTATTTTGCTCGTTAGTATGGTGCACTTATTCCGTGGGAATGCACGCGGTGTCATAATGCCCATTTCGTTGATGTGCGTAGATCTACGGCAAAAAAAAGATTGCGGGAGTTGAGACGCAGAGGTAGGGCTCAATTCGTGTGGTTAAGAGCGTGCTGACGTCACATTATGGGCAAAAAATTCCCGCATTTTTTATAGATCGAATAAACCGAAATGGCACATCCTGACACCATGTGAATGCAAAAGACTTTACGCGGAACTTTTTAGATTTTGTTACTAATAATCTTAGGATTACCAGTGCTATGGTTTTATAGAAAAATATCAAAAGCGTTCAAAAAGAAATCAAAACATTTTTTCAAAATTTTAGATTTCCACTTTCTATTTCAACTTTAAAAGACTTATTCAAATTTTGTTTTGTTGATTCAACGATTTTTCCGCATTGATCTCACCAAAAGAATTCATCACATCATTCAAAACTAAAAACTCACTTGGCTTTCATTCCGCTCAGATGACAAACTTTTTGGTGGCAAAGGTTCTTTGGGGGCATAGTATCCAAGGAGACAAGCATAAGTATCCAGTAGACAAACTGGGGTGTATCTTGGGGGGCATGTATCTTTGGTGACAACCTTTTTTTCCGACTAGATTTTTATATGTACCTTTTTCAACTACTTTTCTATGTTCACATTTTTCTGAATAAGTTTTTTAATGCAATTTTCAATCGATTATCGGTGATAATTCCCTCACCATTGAATGTATGAACGATGGATTCTTTTGGGAAAAGCTCTAGAACGTCCAACTAACTTGGAATGATCGTGCTAAGTCTTCCCGATGGTCTGATCCTTCAGCTCCGAAGGATCAGATGTGTCCCTTCATGTTCTGATCCTTCAGACATAAGTAGGATCGTAAGGGTACCTCCTGATGGTCTGAACCTTCAGATCTCGGCCAAAGGATCACGGGGCTCTTCCTGATGTTCTGTCAGCTAGGATCACATGGGCACCTTCAGATGATCTGATCCTTCCTGCAGATAAGAAGGATCGTAAGGGTGAACCACTTGATGGTCTGATCCAGCTCCAAAGTTTGAGATCACGACGCCCTTCCTGATGTTCGATGATTTCATCTTCGACAGATCATATGGATTTTTGACAAAATTTGAAAAAAAATTTTGAAAAAAAACTCGAAATTTTTTTTTGTTATTCTCCCTCTGCCATTCTTTAAAGAATAGTGCAAATTTATCATGATAGGACCGAATAACTTTCAAGAAACAGTATAACTATACATGATAATCACGCTTCTACCAAATAATGATAAATTCTCCGCGATGACAAACTTTTCGGTGACAAAGTTTGGTGGAGAAACAAAAATTACCGATACTAAACTGGTAGGTAAGGAGAATAGTGAAATAATAGAGTCCTACAATGGACTATTAAACATGTTCAGTAGGTCAGGACTCGTCCGTCAAAATAAAAAATTTGTCAAACGAAGTTCGAAACTGGGCCCTGTAGGATGGAACAAAGGGCGCTCACTACCACTACACCAACTATGCGAAAGTCGAGCCTCATCGAAGGCTATTATAAAACATAGTTCGAACGAGTATGATCGACATTCCACAAACAGTAATATCTCTCAACAAGAATCTCTTCAGGGAATTGAGGTCATTTCCAGTGACTATTAATTTATCGGTTTTTTCTCAAGTTGAGCATAGGGTCTTTTAATTTTTTGAACATAGAAAATCACGAAAGCTGCCTGTGCCCTGTATCCATCACTGGATCGAAATAGACGTAGCTCTGGCCTAAAATATTTCCTGAACAGTGATCATTTCATGTCCATTGTGTGTTTCTCTGTATTTTGCACCAGAAAGTTGAACAAAAATGATAATATTATATCGAATAATGGAACAAATACAAATAATTCTGACTAATCAAATTTCCTCCGGATATTGTTTTTTCTGTCATGATTATAAGTTTCTAAGTTTTTTATAATGTGTTTACAACGTCATAATTACCTTCCTTTCAAGCAAAAACCGTTCGAGGCGTCTTAAAAATAGATGTGCAAAAAACTTAATTCGTTTCGATGAACACCATACTACGGTCGGTGTGACTTGGCGTGGCGGTTTGCTTTTGAATCATACTATTTGACCCACCAAACTAAATTAGCAATGAAATTATTTACTGCAAATTCTGCATCGAAAAGGACATTACGATGGAAAAAATGACGATTTTAATTATAAAGCAACACATTATAAAAAATTTAAGAACATATAATCATGACAAAAAAAACAATGTCCGGAAAAAATTTGATTAGGCCTAAAATAAGGTTATTTACTCCTTTTTTTCCAATGTTTATCGATTCAATATCAACATTTTTGTTCGACTTTCTAGCTCAAAATTCATAGAAACTCACGATGAACATGAAATGATCACTCAGGAAATTACTTTAGGCCAGATACGTCTGTTTCGATCCAGGATACAAGGAACAGGCAGCATTCATGATTTTCTATGATCAAAAAATTCACAAAACACCCTATGCTCAACTTGAAAAACCGATGTCGTAAAAATAGTCAAATGACCTCAATTCCATTAAGATATTCTTGTTGATAGATATTACTGTTTGTTGAATGTCGATCATACTCGGGCGAACTAAGTTTTATAATAGCCTTCGAGGAGGCTCGCCACTTTCGCATAGCTGGTGTAGTGGTAGCTCTGAGCACACTGGTTTGCATCCTACCGGACACCAGGTTCGATCTTCGTCTGACAAACTTTTTTTTATTTTGACGGAAATCAGTAAAACACCTACTGATGTTTAATAGTCCATAGGACTACTCTATTTCACTATTCCTTTACAGTTTTCGGTAATTTTTGTTTGTCCACCAAGATACTTTGTCACCGAAATGTTTGTCATCGGCGAATTTATCATTATTTGCTAGAAGCTGATGATCATGTATAGTTATACTGTTTCTTGAAAGTTTTCGGTCCTATCATGATAAATTTGAACTATTCTTTATAGAATGAAAAAAACAAAAAAAAATTTCGAGTTCTTTTTCAAAACTTTTTTCTTTCAAATTTCGGTTGTCAAAAATCCTTATGATTCCGTCGAAGCTGCGAAGGATCAGAACATCGTAGAGGAGGTACCCTGATCATTCGGTTATCTCTGAGACAAAGAGATCATCAGGCAGAGCCTCCTGTTCTTTTGGAGCTGAAGGACACAACATCACGAAGAGCCTCATGATCCTTCTGAAGTAACAGACCATCAGGAGGTACCCTACGATCCTTCTTATCTGAAAGATCAGATGTCCCCATCAGAAGGTACCATGTGATGCTTCGGATCGGAAGGATCAGATAGGACATCAGGCAGAGCCTCATGTGCTTTTGGAGCTGAAGGAGAACATCAGAGCCTCGTGATCCTTTGGAGCTAAAGGATCACACCATCGGGAAATCAGGTACCCTTACGATCCTTCTTATCTGAAGCATCAGAACATCAAAAGCCATGTAATCCTTCGGAGCTGAAGGATCGACAGACCATCAGGACGAGCCTAAACATGGTATTCCAAGTTAGTTGGACGTTTTATCAGCTATTACCATCGTTCATACATTCAATTGTGAGGGTAACCGAAAATCGATTGAAAATTGCATTAAAAAGCTTATTCCAGAAAAATGTGAACAAAAATTAGCTGAAAAATACATATAAAAATCTAGTTGAAAAAAAGGTTGTCATCGCCAAAGATTATGCCAGATACCCCGTTTGTCTACTGGAGACTTTGTCTTGGATCCCCGCCAAAGAACCTTTGCCACCTAAAAGTTTGTCATCTCGAAAGAAAGCCCCCCGACTCTGCGCGTTATGGTGAGACCCTAATACGTCATGTTTGACCCGCAAAATATCTCGTAGCGAAAAATACAGTTATTTTTTAACCGTATACTGTAGCGCTGTTGTAGAAGTTTACGGGATCTCTATTTTTCTAATGATTAAAATTAACAACAAATCAGAAGAATGACCCTCACACGAAGAAACGAAGAGAATGAAATATCGATGTCACTTTTCGGAAAAAAAATTAATTTCAAATGAGCCCGTAAATTTACACATGCGCTACGGTAGACATTTAAACAATTACTGTAGTTTTCCGCTCCCAACGAGAAATTTTGCGCGTCAATAATAATATATCGCACAATAAGCATTCTCAGAATTTTGCATGTTCCCGGAATAATTTATTTAATGGTTTTTTTGGTTGTTTCCTATTGGTCCCAAAAATCAACAAAAAAAAATTTGTTATGAAAAATTTCTGTTTTCTTCCGTTTAAAATCAAAAGTTTTTTTAGTTGCTTTTTTTGATAAATTTTTGCAACCACCCTGATTTATATCCCGATAAATGTTTAATGTCCCGCTTATGATATCTGGAACTGCCTCTTTGCACGTAAAATTCCTACCTGCGGACCAAACACACCATACATCACGCGCACTTTTTTTTTTTTCATCTGGACAAACACATTTTCCGCATGATTTCACTGACTTTATTTAACTCTCATCACTCGTATCGTTAAAAAATGCCCTAATCATCAACCTATTTTCATTGTCATTCAAAAAAAAAAACTATTTCGTACTCGGCGATCGTACTAATTTGTCATCATTGCGTTCCGTCGAGCAAAAATCAATCGGGAGTACTTTTACGTTTTCCGTTGAAAAAAAATCCAAAAAAAACACCATCCAAAAAAGATCCAAAAAAATTCCTAGTTAATTAAAACCGGGAATAAAAAATTCAAATAAAAAGTTCAAACGTTTCGTTATAAAAATGTACACCGGTAAGCTGAAACATATACATTTCATAAAGATTCTAACAATGTGCGACGATACGCTCGCAGTTTGTAGTCCAGCTCCATTCAGTGATGATGTAGAGGTTATTAAACAACAGGCGATCGATTATCCCATACAAATCACTCTGGTAGCGATTTCTGGGAACGGTAAGCCGTGCGCTCCGTTGTACTCATAGTTCGATGAATGAAGGCATCCGTGTAAGTTCTCAAATTTTCAAATGAAAACTGCCAAAAAAGGTTTTTAGTTATAATCTAAGAAATTATCGATTTTTAAATTTTATGAAAATTTTTTCGAAAAATTTGGGTTTTTTGTTTTTGTTTTTGATTAATTGATTGTTCGGCAAAAATGTCAAAAATCGAAAATTTAGGTATTTTTTCTTGGGATGAAAAAAAAAAAACTTTATCCGCCCGGCTAAGCGAAACTTGTGCTTTTTCGGTTTATTGATTTAAACCTTTGATTTACTGGAAAAACTTGAAAAAATCAATACTTTTATCACTGCGATCTGGTCTTCCACTTTAAACCTCGCGCTCCATTGAGAATCGCGGACAACGCATCGCGGGAAAGCCGTGTACTCCACACGGACAAGAATACAATTAGATTTACAACTAAAGTGTGACGAGCCGCGACGCGACACAACGCGCCGGAAATCTACCCCAGATATGGTCTGGCCTAGATCGGAAAAAACTCTTCCATTTCAATTTTATTATGAGGGAAGCCAGAAATCTTTGTTTTTATTTTATGCGATTTTGCTCTAAATTATCGATTTTTTGGAAAAAGTTTGAAAATTCCATAATTTTTTAATGATTATTGGAACTAAAAATTAAAATTTTCACAATGCTCAAAAACAAAAATTACTGATGTTAGATAAAAAAAACACGGCATGCAATTTCTAGACCACCGAAACTATCAAAAACCTCTTCCAGTGACTCGTCCGGTCCGTCTCTACGCAGACGGTGTCTACGATATGTTCCGCTACGGCCACGCGAATCAATTCCTGCAGATCAAACAACCTCTTCCGAATGTCTACCTTATTGTTGGCGGTGAGTTCGGCCCGCGCAATTCAAAATTTTTAATTTAAAAAAAAAACGATTTTGTCCAGTATGGTCCGAAGAGTCTATGAAGAATAAGGGGAGAACTGCAGGGCAAAGGAGAGCGGTTCGAGGCGATTCGGCATATTGTGCCGGTACGTCGACGAGGTGTATCAATGAGGCGTCGCCGTGGATATCTCCGATACCGTTTTTTGAAGGAGGGAGGTAAATTGCGCGTGAGATTCGGTGTTCGCACAGTTTTATGTCCAAGAACGAAGGAAATTTTATACCTAAATTTCGGAGAAAAATCATCAGTATAAATTATTGCCTTTTTTAAACGTCACTCACAAAATCGATAATAAAAGTTTGAAAATCACAGTCAATTTTTATTTTCAAAATTTCGTTGTTCTATCACGGGAACGCAAATTTCTCAGCATGCGTACTACACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTTGTTTATTGACACTGTAGCGCGCTACTGTCGATTTACGGGCTCTATTTTAAGCTCTTTCTATCGATACATATAGGATACATATTGATCCCGTAAACAGACAGCGCGCTACAGTAGTCAATTAATGAGTCACTGTAGTGGTCTTTCACTGCTACAAGATATTTTGCAGCCTCAGACATGTTGCGCAATAGCATCCTCAGAATTTTCTGTACCCCGTAACAAAACTTCGAGTTTTTCGAAACAAAAAGTTTAATTTAAAAAACCTCTAATCTTCGAGATATTCGAGTATTGATCTATTGATTTTTCGATAAATATTTATTTTTTTTTTACGATATTCGAAACAATTATCGAAATTTCAGAACTAACAAAAAACATTTGCGGAGGAAAATCGATAACATTTTCAAAGTATATTTTGTGTCCATAAAATTGATTTTTCCGTAAATTTAATTTGTTTGATTTTCGGGTTGGGTTCGTATTCCTAATTTCGGTAATTTTGAGTCGATAATTTTTTGTTTTTTTTTTTCAATTGAAACTTTTATTGATCAAGTTTCTGGCCAGTGCTCTTATAAATTGAAATGAGAAGATTTGGCCGAACCAGACCATTCTGGCTCGGACATGTCTGGGGTAGAATTACGGCGCGCGCGTCGCGCCTCGATCCTTTTAGCTTGTAAAACTACATGTATTTGTCCGTGTGGAGTACACGACTTTGCGTTGTCGAGCAGGTGATTGTCAGATGGAGCGCGTACAATGCTATGAGGAAAGCCAGAACCCCGTGATTGATTAGTTTTTGACTTAAAAACCTGATTTGAAAGAAAATATCGGTAATTTTTCGGATTTTTAACAAGAAAGGTCTTTATTTCCGGAAACTTTCATTTGATAATTATTTATTTATTGGTTTCTCGGAAAAATTTGCCGAAATCTATCGATAGTCGGACAATTGGACGAAAAGTCGAAAAAAAAATTCTAGGCCACGAATTTCCTCTTCCAGGTTGACTTTATGTCACACGACGCTCTGCCATACCAAGGTACCGCCGGAGAAGACATCTACGAGAAGCACGGCACTGCTGGCATGTTCCAGGAGACGCAGAGAAGCGAAGGAATATCGGCGAGCGATTAGATTTGTCGAGATTATGTCAGCGACTACGACACGTATGTCAGAAGAAATTTGCAGGTGAGAGGATATTCGGCCACCGATTGGAACGTTGGCTTTTTTACAGTGAGCCTGGCCTAGAAAGGGGTGGCCTAGAAACAAGTGGTGGCCTAGCAAGACTCTTCCATTTTTTTCAGACCAGCAAATATAGTCTGCAAGACACCGTAGTGGTGAATAAAAGAATTGGGCCGTGGCCTGCTGCAAACGTGGAAAACGTTTTGAATTTATTGATTGAAAGAATCTTGACGACCATTTGCCATCGTGATCTTCAGCGAAACCGTTCGAACAACAAAAGGGCCGATGAAAATGTGGAAAATAGGGAGAATATTGAGTTTTTAAAGAAAATTCGAGTAAATTATGGGAAGAAAAATTATACTCGTGAAAGTTAACTGAATTTATGCAATTTATTTTTTGAAATTCTCAATTTTTTTGGAAAATTTTTTTTTCTTAGGGCTTAGTCGAACATTTGGCTTTGTTTTAGGATTAAGGCTCATGCTTAGGCTAAGGCTTAGACAAAAACTTAAGCTTAGGCTTAGGCTTTTGATTAGGCTTAGGATTCAGGAGTCGGTGTCTTTCACTTAGGTTTGGCGTCATTGGCGAGCGTTAGCTCGCTATTTAGGCTTGGGTTAATTAGGCTTAGGCTTAGGCCTAGATTTAAACTTTTAGGCTTAGGGTTAGAATCACGCTGGCTAGGGGAAAAAAGAGAAATTCCAAAAATTCCAGGTTAAACGTAAAAAGGACAAAAAGGTACATCCCGAAGTCGGGTCAAAAAATAAAGTGATGAAATGTTCGGGATACATGAATGAATATTTCTGAGTCTCGCGGATTTATTTTCATAATCATATTCTGAACGTATTATTGACTCGTCGTGTGGGACATTTCAATGGATTTTCCATAGAAATCTCTGTAGAATTCCGCCATCGGCCAACGATTCTTCACAAGAGCCAAACTCGGCGAGTCGGTCAATGTTTGAGCTCGTCTGAAGAGTTTCAAAATATATGAATTCATTTATCTTGCAAACCTTTCACCGTTTGTGTTCAGTAAAAAGTCCGTCGGGGCAGATTTCCGTATCATCAGACGATTTGCATGTATACAATCCACATGAGGTTTTGTTCGCCTTTAGAATTTCTCCCAGTTGCCTGGAACGTTAGTTTTTCTGAATTTTTTGAAAGGTATAGAGATAGCAACAAAAAAAAAAATATACCCAAATAATGAGCTATTTAATCTAGGGGCTTTATTACAAATACTTTTCTAAGAACGTCTTGGTCTTGATAAATGCGTGCTTTAAGAAAAAAAAAAGTCAAAAATAATAGCGAGTCCTCAGATGTCGGGCGTTGTACTTATTAAACTCGGGGTCAATAAGTTCCGGGTCAAAATTCATAACTTTTGCGTAGCAAATCGATTTCCTTAAATGTGGGACTTTATGTTATCAAACATGGTCTTTTATTTGACGGCACTTTCAAAAAGTTTTGCCCACTCCATGTACCCAAGCTCGGATCCACTTTTTTCAGGCGTATGCCCGATCTCGCATTTTCTTTGTAACTTTCAATTGAGACTTTTGTGCGGATTTTGATTAATTAAATATACAATGTAAGAATACAATAAAAATTTGAGAAAAAATTCGCTCAAAAAAACAATTTTTTTGATCGGCAAAAAACTTAACCCTCGAAAAAAATTTTGTCGCCCAAATCTCTAGGTTTTATGGAATGATGCAAACAATTCTGAACAATTATTTAACACATAAAAGTTTTTTGGATTTAAGGCGTCACACACAAGCGGCAATGGAAAAAATGATTTTTTAGTGAATTTTTTGAAATTTTTGAGAAATTCTCGTCTAAATATTAAATTCTCAAATGTTTTGTGTGTCGAAAAATTGTTCAGAATTTTGCATAATTAGTCTCCTGTACAAAAATCCAGAAATTCCGACAAAAATTTCTCCGAGGATGTTGACGAACCTAAAAAATTTGTTTTTTTGAAGGAATTTTTTCTCTTTATTGTATTCTTACATGTATACTTAATAATTCAAAATCCGCACATAAGTATCAATTTACAGTTTCAAATAAGCAAGATCGGGCATACGCCTGCATAAAAAAGGATCCGTGCTAGGGTACACGGATTGGTCAAAATTTTGAAAGTGCCGTCAAAGACCATGATAGATAACATAAATTCCCACGACTTTTAGAAAAATCGATCAGCCACCCGAAAAAAGTTATGAATTTTGACCATGGTATCGAACTTTTATCGTGTGCTACATGCTTGTCGCGAAATATACCTATTTACCTATACCTGTACCTATACCTGCTTCATCTTTCGATATACGCCGTTCAAATTGTGGAGCATCTTGTCCAAATCGTCGTATCCTCTTCCAACTCCCAGGTAGATTAGTTGTTGAATCTACAATTTTATATTTAATTATAAATTGTATATTTTTGTAATTTAAAAAAAAACCTTTCGAAATGCGGCTAAGTAATCAATAATATTGACCTTAATGCCATGGGTCCTCATGGAATTTTCTGCCCATGCACAGTGTAGGAGAGCTCTTCCACTCCGTTCCGATCGATCAGCACATTACTTAGATAAATTAAGTCCCTGTGCTCGAATTCAAGAGCTGCTTCAGCTGCAACCATTGAGAGACCACGAGCTGGTGAATGATGGAAAATAGTTCATCTTCACTTTCAAGGACAAAATCTGCCAGCGGGGAAAGATTCCACCATTTGCCGAGCCGGCTGAAAAGGATAAAGTTTTGATGTTCCTGAAGAATAAACATCTGGCCTCAAATGTTCGGATTCATTGAGCTTCTCGTAGGCATCCCAAGCTCTCAGTAATCCCTTAGGATTTTCCCCTATGACTATTTGGGCTGAAATCATTTCGATAAAATTCGGCATAGAATTCCAAGAATTTGGGTCTCGAGTATCACGCCGACAGTGATTTCCTTGCCCATCACAATCACCTCTGACAAAACGGCGTGGGTTGTTGGAATCTCCACGGATTGATTTCCATAGAAATGCACGTTGTTTTCGAATGGCAAAACCTTTGTTAGCAACCGGTCTACCATTCGGCGCCAGACAGCTGAGAAGACTTCACCGTAGGCTCCTTCGCCGAGCTTCCTTCACTTTTCGAGCATCTAGCGCCGACGTTGATAGGCTACCCCATGGTTTTGCTTCTTTTTGGGCCAACAACACGGCGAAGTTGTGCCATGGACGGATCTTTTTTGTGAAATGTGATACTGCCAATGGGGATATTTCTAGAATCAGGATGAGCTGACCGAGCACTTGGAGCTCATTTGTTCCAGTTCAGCAAGCATGCACAGTTCGAAAGGATGGACAGTCCGAAAATGACTTTTCTGAAATTGTCATAGTTCATTGTGAAAATTCGTTTCGGCTAAAAATGCAAATGCATTATGTTTCTGAAACTCACCAGTTGACTCTGAAATCGTCGTTCGTTGTCATGTCGAGTGCCAAGAACGGTGGTGGTCACCACTGCCGTCTTTGTGAACCGCATCCAAATCGACAAATGTCTCGGGAGTTAACTATAGAAATGAAGTTTTGAAAAATTAAAAAACTCACAATTATTGAAACACGTTATTAGGCCAATAACTTCACACGTGAATTAATACATTCATGTATTCGATTTTCTCTGACTGTTATCACGGGTTTCTGGCTCACGGTAGTTCAGCCACGGTCCCAGCACAGAAAATAGATGTCACGTTCATGACGAATAATCAGTCTGAAAGCTATATTGGCTGCTATCTCGAAAACTCTCTAAAAACGCGTTTTGAGAAATTATATTATGATTTTTTGGAGAAAATCAGAAATTATTGATTTTTTTGAAGGAGAAAATGGGAAATTTTTCATTTTTATTGGGGAAAATCAGAAATTATTGGTTTTTGGAGAAAATCAAAAATTACGATTGGTAATTTGAAGCAGGGGTGGGCAGCAATTGCCGTTCGGCAAATACGCAGATTACCGGCCGATTTTCCGGGTTTTCATTTACGGCAGTTTGCCGGTTTTGCGTTCAATTTGCCCGACATTTTTCAATTTCTCCGGCAATTTGCCGGTTTGGCGATTTGCCCGAATTTTTCAATTTAACCGGCAATTTGGCGGTTTGCCAATTGGCCCGACATTTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCTTACCCGAAATTTTCAATTTCGTCAATTTGCCGGTAATCGGTGCCGATTTCCAAAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTGCCCGAAATTTTTCGATTTCGGCAATTTGTCGGTTTGCCGATTTGCTACGGAATATTTCATTTTCGGCAATTTGCCGGTTTGGCGATTTGCCCGACGTTTTTCAATTTCGGCAATTTGCCGGCGTTTTCCGATAATTTGTCGAAATTTTTCATTTTCGGCAGTTTGCCGGTTTGCAGATCTGCCCATTTAAGTTCGGAACTCAGATTGGCGGTTTGCCGATTAGCCCGAAATTATTTAAACGGCAATTTGCCGGTTCGCTTTAGCCAGAAATTTTTCAATTTCAGCAATTACAATAGAGGTCGATTTACCATTCAGCTGCCGGAAGTCTTCAGAAGGAATTTTTTATAATAAGGAACCACTAAACACAGCGTTTTGAAACTTTTCCACGTTTTTTAAAGATGATTTCATAGAATTTGCTTACTTGGTTTGTCGAATTGCCAGAAGTTTTTCAATTACAAGTTGGCAATTTCCGGAATTTTTAATTATGGCAATTTGACGGTTTGCCGAATTATTTGCCAGAAATTTTTCAAATTCGCCAAATTGCCGGTTTTCCGATGGAACTTTTTCTCGGCAATTTGTCGATTTGCCGGAGTCTTAAATTTTTCCAATCAATTTGCCGATTTGCCGGAAAAAAAATTGTTTCCCGCCCACCCATCAGTTGATGAATTCATCGTTCTTTTGTGTGTTTGTACTCCCATCAATCTTAAACTCGACCCGGACTGCAAAGGCATATTTACAGTTTTCTCTTCTGGTAGTGAAATGGTGGTCTTAAGTTTCGAAGACTATGCCCACGTAATTTCTAAAGTATTTATGTTTTGCAATTGTTTATCAATGACCCTAAAAAACAGACAAAGCATTTCCGCGTGGCAAATTATCAAGTAACTTGCCTAGGCGAATAGTACTGATGTTATAATTTTTTTTTAGAATCAGTTTGGAATTTCGAATTTTTCTGAAACAACCGCCGGCAAAATGAATTACTGTGAGCACTTTTGATTGTTCCCCGGTTTTCTTGTAGATTTTTGTGCAAAAAATTTCGACTTTCAGCGGTAAAAAAAATACAAAAAGGTCGAAGAAGAAGGAAACGAGCAACACTGCTTCTTGGTCAGGAGGCCCCAAAACCAGGGGGAGCAAAACAAAAAACCAAAACCATCGAAAGGAAATGCGACAGGGGTCGCGGCGAACCGGAATTGACTGCACATCGAAAAAAACCAAGACAGCAAAAAAAGTGAGACAGAAGAGAGATATAAATGCACCGGAGTTCAATTTTAAGCTCGTATTATAGATATACGTCATTGTATCAGGGGTGGGCGGCAATTGCGTCGTTCGGCAAATTGACCGCCAAATTCGGCATATCAATTGCCGGTTTGTCGATTTGCCGGAAATTTTCAATTCCGGCAATTTGCTGGTTTGCCGATTTGCCGGAAGTTTTAGGGTCATGTTTTTCGGTCAAATCAGTTTTGCCGGAAATTTGGTTATATAAGAGACGGACTGTCTTTTTGAGTTGTTCCCGTTTTTTTACATATTTTCATAGAAATTCATCGAGATAATTTGCCGAAATTTTTCGGCAAATTGCCGTTTTGGCAATTTACCGATTTGCCGGAAATTTCCATTCCGACAATTTGATATGCCAATTCGCCGGAAAAAATCGTTTGCCGCCCACCCCTGAATATAGAGCCCTTTTTAGTCTCATGTCACCTCGATCACGTGAAATGCTGTCAGACAGCAAAAAGACGACCGTTGATGATGATTCAGCAGTTCCAAGAACAACAAATGTCGCTGGAGCAGTCACTTCTACGATTCCTGCTCTCACCTCTGAAAACGTCCCGTTCTAATTCAGCCACCCAAAGACCTTATATGGTGCGGGACGAAAGCCAAAACGGTGCTCCGGAACTTGACGGATCTGGCAGCGTTTCACTTTCACTCAAGAGCTCACTGACTGGAGGTGATAAGTGGCTTGGAGAAGCCGTGGCAAGGAATTGGATTCGCTCGGTTAGCATCCTTTTTTTATTGGAGCGGCGGCGTAAAAATCGTGCCAGAGTTGCGAGAGGGGGCGTGTTTTTTAGTTTTTCTGTTGTTGGTGGGGACTTATTATTATTAGGTTGGTGATTTTATTTTCACTGGTGGAAATCAGCTAATAAAACTAAAAAATAACTTCGGGATATGCAAATAAAAACCCAACTTTAAAAAGCGAACTCCGATCAGCAGTTTGCTCGGCCCACTATTCAACCAATCCAATTGGTTCGTTGAAATTCTTGGGAACTCATTGTTAGAGGATAGAATTCAAACGAAAGATTAGCAAGTTCACTGGTTATTGCTTTCATTAGAATATCATTGCTTATATATATATTTCAATAAAAAAATAGTGTACGTCATCAATGGGCGGAGCCTCTTCCATCGTGGAGACCCATCGTGGTGAGACACGTGGTGGTGAGACCCATCGTGGTGAGACTTCGTGGTGAGACGTGGTGGATTCAGACCCGTAAATAGAGACCTGCGCATCGAGGTGAGACCCCTCCTGGTGAGACCCATCGTGGTGAGACCCATCGAGGAGAGACCCTTCGTGGTGAGACCCATCGTGGTGAGTCCCCCATTAATTTTGGCGTGAAATTCAAATTTTCTAAGATCGATTTGGCTTTTTTTCGTTTAACGAAAAATCTGGAAAGGAAATTCTAGCATTTTTTTAGAATAATCTGATGAGGAAATTTCTTACTTTCCAGCGAAATCTGGAAACTCCAAGGATTTCCTAACATAATCTGGAGACTTCTAAATAAGATCAGGAAATTTCTAGAACTTTTTTATAATCGTCTGAAAACATCTTTCTAGAGTATACTAAAAACTTCTAGAATTTTAAAATTCCGCGAAGATCGAGGAAGAGATTTGCCAAGTTCAATTAATGTGGAGCCAGACGGAGCACGCGCTTTGCGCGCGCGAAACGGCTGGTTTTAGATATTTTGTAGTATTTTTCAAATCTTAAAAGAGCAGAGGTGAAAAAAAAACGAACTGCAATAACAGAAAATCGATGTCGAGAAGGACTGTAAAACCTGGAAATCCAACTCGCGCCAAAATTTAACCAATCGGAAGACTTTCCTGCCTTGGACTTCAATCTCGTGAAACTTGGCAAAGACTAGGTGAACATCAGTCTTTTGCGTAGATGTTCCATTGGGAAGAAATGTTCATCTAGGTCAAGCTCCGGTCACACGGAAGATACATTAATGTTCGACAAGCGAATCACTCACATTGATCTACTCGGCGGGCCTGCGATGAAACCATCGAATTCTTCCCTATAAAAAAGGCAGAAGATTATACAGAATTCCGTATGGTCAGATGTGGATCAATCCCTTAACCGCCGTGTCGAGTATGTCAATGACGATGTGTACCGATTTGCAATTGAAGGAGTGCCCCACGGATTCTCCAACTCGATCAACTGCAATGTGACTGTTATCAGCATTTGGAAGGACGCTGTGCCTTTGAAACAAGCAATCGCCTCAGAGAGGCACTTGGTCTACACTACTTCTTGCTTCTGAAAGCACCCCCTGACGAATGCGACCGATGATCGTCTCACCACGTGGAGCTTGTAGGACGAGCTGGCTACTTTTTGGCACTTGCGGTTGCAGTCAACACGATTGATGCAAAGCTGGCCGAACCTGTATTGCGGATATTGTCCAATCGATTAGCTCCCAGAGACCAAGAGCCGTGGATTCTTGTCAGTATCTGCTCCCTGTGCATTTCGTTGCTCTACTTCATCAAGGAATTGGTTTTTGAGTTCTTGTAAAATGAGAGAATAATTCTCTAATTTACAGAAGAAAGGGACAAAACAATCAGAAGGGGAAGCCAACACTGAGCAACAAATACGTCTACAACAAGTCGGTTGAGTTGACGAAGCAATTAACCGTTCTCCTTCTAGAAGCCAGGAGAGTGTGATGGGACCTGGATAGTTCTTCTCCATTATGAATATGTGAAAAGCATTTGAATTGATCTGGGTTTGGAAATGAAGAATTTTATAATGGATTCTTTCCGAAATCTTCCTTCCTGCCTGCTGTTAACTCTGCGGCTTGATCTGCAAAAAAAGCGGTAATATCTCCCCCAGGAAGACGTCAGCACACTCTTAACCATGCCTTAGTTGAAACGTTTCTCGGTATTCTCCCGCATTTTTCGAAGATCACACCAAAATGGGATACTTTGACAACACGTGCCTGCCATCGCTTCCTGAACGGGGATTTTGTTAGAAAATTCGTGGAAAATAGGAAGAATCATTTCGAGAAAATGGAATTATTGACTCTTTTCTGATTTTCTCAAACAAAAAAAAATTAAAATCGAATTGATTTCTGGCTTACCTTACCTAAATAGAATTGAAATGGAAGAGTTTGCCGAACTAGGCCATTTGTGGCGGCCTGGGGTATATTTGCGGCGAGTTGCGTGTCGTCGCGGCTCGTTGTTGTAAATCTAAATGTGATTCGACCGTGTGGAGTACACGACTTTCACATTCGTTGTGCCGCGGGCGATTGTCAAAGGAGCGCGAAAAATACAATGAGGAAATCGGCCAAAACCCCGTGTATTGATTTTTCGAAAATTTCGGAAAAATCTGCTAATTTTATTCAATATTTACATTTGTCCTAATTTCTTAGAAATGTTCAAAAAATCTGATTTTCTTTTTCCCGATGAATTTTTGTAAAATAGTTGCTATCCGTATTTCTCGAAAAGAATCGATTATTTTTTTCCGGTTTCCTGGTAAGCTAATCACTTCAGAAAAAAGAATTAAGTTAATATATACTTATAAAAGTCGTAAAAGGTTGGAAATATAAAGTATTTAAATCAGAACAGCGATTACTGACTGAAGCATCTCAACTACCAGGCAAGTTCTTCTTATCGAACTCGACAAATGAAACGAAGAGGTCGGAGCTATAATTGTGCCGATCATTTTCCGGGCGCCCGTCTCTTCGAACTCGGATACGGTAGCCTGCCCGACGTATGTGAAATCGGCCATTAGCACTCAATCGGCAAGCGCCGATTGATGCTCCGTGGCCGACGATAGGGCTTCCTGAAAGAAAATCGATAATTTGCGGTGTGTTTTTATTGATTTTTATGTGAAAATTGGCAAATTATTGATTTTTCGGCTAAATCATAAATTACTGATGTTCTAACCCGTTAAAATCAGTAATTTATTGATTTCTTCGGCTAAATCAGGAATTATCGATTTTTCAGTGAAAATCTGAAAATGATTGAACATTTTACAGCTCTGCGAAAATCAGAAATTAGTTTCGCAAAAATTCACCTTCATATTTCTAAATCGCCACGCAGGGTCTTTCCGACACGTGGCACACACGCGTCATCTCCACATCCTTCGCGGGGTAGTGTGTTCTGAAAAAAAAGCCATTCGGTAATTTTTATAGGTCTCGCACCGGATTGCCGCCACCGGTTATCTTCATTTTTCCAACTAAAGCGCCAACACCGGCGCCGGCATCTTCTTATTTTTCCACGTAGCCGGCGCCAGCCGCGCCAAAACTATCTTCAAGCGGCGCCGGGCAGCTTTTTATTTTCCCCATAGCGTGCCAGCGGCGCCGCCGGCATCTTTTTATTTTTCCACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTTCGCCGCCGCCGGTTTACTTTTCCACGTAGCGCGCCAGCGGCGCCGCCGGCAAGTTTTAATTTTCTTCCACGTAGCGCATAGGCTAGCGCCGCCCCCGGCATCTTTTCATTTTTCCACGTAGCGCGCCAGCGCCGGCAGCCTCGCAAACTATTTCACTGTTCGCCCGCCGGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGCGCCGCCAGCATATTTTTATTTTTCCACGTAGCGCGCTAGCGCCGGCGCCGGAATTCATTCTTTTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATCTTTTTATTTTTCCACCTAGGGCGCTAGTGCCGGCCGCATTTTCATCTTTTCATGCAGTGACCGCCAGCGCGGCCGCCGGCCTCTTCTCATTATCCATGTCGCGCTAGCGCCGGCGGCAGCGCAAACGATTCTTCGCCGCCCCCGGCGCGTTTTCCTTTATTAATTAGTGCGCCAGCGCCGCCGCCGGCATCTTTTGATTTTTCCGCAGTGCGCCAGCGCGGCAACGGCGCAATTCTAATCTCGGTCTTTTTTGACCGATACCTGAAAACGCCTAGGAATATAGTGGGGCCAAATCTACAAGCGGAAATTTCTCAGCTAGTTTGTCGGTTTCCCAGATTCCAGGAGGCTTATCACAAAGATAAAGTGCCTCACAAAGGCCACCGTCCGCCTTCACTTTCATTCCTCTATCCTCAATAATCGTCGAAGCTGTCTCAATTGTCCGTCGAACGGCGAGGCAAACGTATGCGAGATTGCCATTTTCGAACCCATATTTTGCACTCTTTCGCCTGTTGCCGACCGCGCACGCTGAGCATCGAATTATCCGTCGTGAGACCGTCGGCTCCGTCGAGTAAATTACGCCAATTTCGATTGATATTGTTGTCTCCTCGCTGCAACGCAAAAAATCAATAATTTCTGATTTCCAACGTAAAATCAATAAGTGTTCTGATTTTTGTTGAAAAATCATTACTACCGATTTTAACTGAAAAATCAATAAATGCTGATTTTCCTTTTTTTTGCACGTACAAAAGTCGATAATTTCCAGATTCTCATCGAAAAATCAATAATTTGTGATTTTCGCCAACAAAAAATCAATAATTCAGATTTTTACCGAAAACACAAATTGATAATTTCAGATTTTCACCGAAAAATCAGAAATTATTGACTTTGGATAAAAATCAAAAATTTACTGATTTTCATCTAAAAATCAATAATTTCAACCATTCGCAGAAACATCGGTCATTTTTAATTTTCACCGTAGAATCAATAATTTCTGATTTTCACCAAAAATTATCAAATAATTTTAATTTTTTTTTCGAAAAATCAATATTTTCTAAGTGCTTTTTATCGGAAAATCAATAATTTCCGATTTTCACCAAAAAATCAATAATTTCAGATTTTTTTCGCATAAAAAAGCTCTGTAAATAATTTACGAAGTTGACGAGAAATCAATAATTTGCTGATTTTATTCTCACAGAAAATCAATAAATTTTTTTTGTTTTTCGTTGTTTTTTTTTTCTAAAAATCAGCGTTTTTAATTTCCCCAAAAAATCAGTAATTTTTTAGGGATTTTATTTTTCGAAAAATCATTTCAGATACCGAAAAAATCAATAAATTCAAAAAAAAGTATTTCATTTTTTTGAATTCTTCAAAGTACCGTTCCACGTGTCAGAACAATCCAAATTTTCCGTGGATAAGTTATCGGCATCCTATCGATATCGGTTTTAGCTGAAGAAAAAACTTAAACAATTGGAAAATTGTGTCCTCCTGTCGGACAGGTGCTCGGTGCTCTCCCATCACGGCTTGTCTACAAAAAATGCGGGATTCTTCGTTCTTAACCATACGAAATCAGTTGACTCTGCGTCTCTCTTCCCGCATTTTTTGTAGATCAACGTAGATCAGACCAAAATGAGGAGCACACTGAATGAAGACACCATGATTTTTCGAAACAAAAGAAATTCTCAAAAAGTGACGTCAAGAGGTATATAGGTAAATCGGATACTTGGTATCAAATGACGGAAAAACAAACGAAAGTTGCAAAATTTTTAGATGAAATTAATTAGACTTTGGCGGGAAAAACAGATCAAATTTACATTAAAATACCGGAAAAATAGGGGGAAAAAAGCCTAATTATTGCCTAAAAAATTCAGGATTAAACGGGTTGTACTTTTTCTTCTTTCCACGCTTCTCCTCCGATTCCTCGGCGGCTTTTCGTTTCTGCAGCAGCTCAATTTCCTCGGGATGTAGCAAAGCATGGGCTCTCGCTTTCTCGACTCGTTCCCGGCAGTTTCTAGACGCTTCTCGCATGCTCGCCAGGCCGTCGTTCTCGATCGTATACCTCTTCGAGTTGACGTTCTTCAGAGCTATCACGGTGGCGGTACTGCTTTTTTGGAAGAAAAATTGGGGGGTTTTTTTGTGGTTTGTAGTGGGCACCCTATATGCGCGAAAAAAGAGTCGAATTTTTTTGTAGATCAACGTATGGTGAAGAACGTACTGGCGTCATATAATTTTGGGCGAAATTCCCGCATTTTTGGTAGATCAAACCGTAGTTGAAAATTTTTCGGGAAAAAAAATTACGAATTTCTGGCTTTTCTCAAATTGAAATGGAAGAGTTTTTTCCGAAATTGGCCATTTTGGCTCGGCCATATCTGAGCTAGATTTACGACACGTTGCGTGTCGCTTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCAGGCGATTGTCAATGGAGGGCGAAAAATTCAATGAGGAAGGCCTGAACCCCGTGGTAGTCCGATGCACAAAACTGATTTTGTTTTTGAATTCTTGGGATTGAAGAAATTTTGCCGATAAAGCCGATAACTCAAAAAATTCTAAAAAATTTGGATAATGTCTGGAGGAAAAACCCCAATGCTGAAAATTTCGAATAATTTAAAATTTTTGCGCATGGCCGAAAAGAATAAAACTCGGCCAATTCTTTGGCGGCCATGATGCAAGACACCATATTTGACGCACGCAAAAAAAGGTGTTTTTGGATGTTATTTTCTTTTTCCGCCAGAATCTTTAATAATGGTATCTATTCCAGTGACAAAAAATCATAACCTGTTGCAAAAAACGGATGTTATTTTTTTCGAAAAATTCAATTTTGCGCGTCAGATGTGATGCTTTAAGCTCTGTGGCCGCCCAAAAAGAGAACACTCGGCCCACCAATTTTTCGATGACTCCATTGACAATAGCCTGCTGGACACCGGGTGGAAAAGTTTCGTGTACTCCCATGGGGCACGGACAAATACATTTAGTTACCATTTACAACTAAACGAGCCGCGACGCGACACGCAACGCGCCGTAAATCTACCGTGGCCAGATGTGGTATGGCCTGGCCTAGTTCGGCAGGAAGGTTTCTCTTCCATTTCAATTTATGAGGGAGGCCAGAAATCCGTGGCCGAAAAAGAGAAAACTCGGTCTCCATCCGATTTTTTTTTCTGACGGCCATGACAAGTTTGCGCGACAATAATACACTTCATCATATTTGGCAAAAAATTTTTTAAAGTTTTTTCGAATTTTTTTGATTTCCGAGCAGAAAAAAAAATTGTCTGAGAAATTTATGTGGCCGCGGTAAACTTCGGCCACCGATTTTCGAAGATTTTGACCGTGTTTGAGGGAAAAAGCAATTTGACGCGCAAATTTTCAAAAAAAAAAAAGCCCAAAACACTTTTCTTCTTCTTCTTGTCTTTTGTTAGATGCCGTTTCTGCCTTTTCTTCACTATCACTATCCTCTCGTTTCCGCCTTCCCCTCCTCTTCCAGCTTCCGCTCCGCTCAAACACGGCAGAGCATCGCGCGCTTTTCGTCGATCAAGTGTCGGCGGCTTTACGCAGCGGAGCTCCTCGTACCACTCGTTTTTGTTGTTTAAATCGTATTATCCGCGAAATACACCTGAATTCACATTTACGTCGACTCCCATTCCTTCTTCTCGGCCGCTTTTTCCGCTTCGTAGCCGCGGTTTCCGGATCCATAGTTTTTTCGTTCTTCACGTTCGAGATCCTACAAAATATCATTTTTTTTGGAGAGAAATTTAGTTTTTTTTTGGAGAAAATTATCGATTTTCTGGAAAAAATTATCGATTTTTCGGGGAAAGATTAATTACGATTATTTTAAAAGAAAATTATCGATTTATATTGGGAAAAAAATCACTGATTTTCTGGAAAAAATTATCGTTTTTTGTCGGAGAAAGAATATTAAATTTTTTGCAGAAAATTATCGTTTGTTTTTTTGAAAAAAATTTCCGATTTTTCAGAGAAAACTTTTTTATAAAATTATGGATTTTTAAATATAAAATTAACGGTTTTTAGACGCTGGAGTCTTCAAAATTGCGAGATCGATTTTTTTCTGGAGAAAAACATATTGTTTTTTTTTGGAGAAAAATTTCGATTTTTTTGAAGACATTTATCTTGGTGATTGTTGATAAAATTATCGATTCTTCGGGGACAAGTATAGCTTTTTTTGGATGAAATTATCGATTTTTTGGGAGAAAAAATACCGATTTTTTCCGTTTGGATCAAATTACCGTTTGAAAAACAAGTATCACAATTTTTTGAAGAAAATTGTCAATTTTTTTGGTAATAAATATAGTTGTTTTGGATAAAACGAGATTTTTCAGCTAAAAATATAGATTTTTGCTTTTAGATAAAATTTTGATTTAAAAAGAAAATTATCGATTTTATGGGTAAAAAATAACGTTTTTTGGATAAAATTATGGGTTGATTTCTTCGGGGTTCGTATAAATATTGATTCTGTCGGGGAAAATATTTTTTGGATAAAATTATCGATTTTTTGGAAAAAATTATGGGTTTTTTTTGAAGAATGATTTTATTGGTGAACAATATCGAATTTTTTCGGGAAAATATCGATTTTTCGGAGAAAATTTCTCATCGATTTTTAGAAATTATCGATTTTAAATTGGGTAACAATCTCGATTTTTTGAAGCAATTCTGAGCCAAATTTTGAATTTTCGAGCGGCAATTTTTGCACAAAGCATTATAGGTTTGACGCACAAAATTCGAATTCTTCAGAATTAGTTTCACAAAAAATTCTATCACCTAAAACTAGTTCACATGTCCCGTTTCATCTGAAACGCTGACATTTTTTGGCTTCTCCACGCTGAGCTCGAACCAGCTCCTCCACTGAACATCGTCTCCATTCGTTCATCGGCTCGGGCTCTCGACTGCATAGCCTCAGGCGCCGCGCCTCGTTTTCCGCCTGAATTTGCCTGTCGAGCAGACGCTGCGCATCTTCGGCGGCTTTTCGCTCGTCTCGGCGAACCCGTTGTTGGATTTTGTCCGAACGTGCCATGATTTGCCAAATGATGGAGAATGTATCATTCATCTGGAAGCGGAAATTATAGAGCAAACCAGTTGATAATTGTGCTCGAAATTTGGGGAAGAAGCGCAACCAAAAAATCAATAATTACGTCCAAAAATCTATTTTATTCAGAAAAACCAGAAAGCGATTTTTTTTCCAAAAATAAATAATTTTCGTGCAAAAATCGATAATTTAGACCGCTTCTAAAAGTCTCAATTTTTCCAACAAAGAAAACAATCTCGAAAAACCGATGTTTACAGAAAAAACAAAAAGCAAAAATTCATAAAAATTAAAAAATTAAAAAAAAATCAATAATTTTTCTAAAAGCGATTTCTTTTTCTAAAAATCCTTGCGTTTAATTTTCTTCTGAAATCGATATTTTCCGTTGCTTTTGGTTTCGTGAAAAAAATCGTCTATTGAACATTTTGCTAAATTTCGAAAAAAAATCTTGAACGATGCACCATGATTTTGAAAATTCTGCTCTGGATCAATTTTTCGAGAAAATCGATTTTTGGAAACTATCATACAAAAATCGACTGCTAGTTGTGCTCGAGATTTGGCTCTGAGGAAAAATCAAAAATTTTCTTCTAAAAATCGATTTTTTATCCAAAAAATCAATAATTTCGTCGGACAAACCGATGTTTTCAGAATAATCAAAAAAAAAATTAAAAAATTAAAAAAAAAATTTCAATACTTTCTAAAATTTTGCGATATCTTTTCTAAAACTATTTAATTTTCTTCTAAAATCGATATTTTTGATTTTTTCGTGAAAAAAATCGTCAATGTTATTGAAATTTTTGCTTAATTTCGAAAAAAAATCTTGAAACTTCGATGCACCATGATTTTGAAAATTCTGCTCCGGAACAATTTTTCGAGAAAAATTTATCGATTTTTGGAAACTATCATACAAAAATCGACGGTAATTGTGTTCGAAATTTGGGAAGGAGGAAAAATCAATAATTTTTTTCTAAAAATCGATTTTTTTTCTACGCGAATCAATAATTTCGTAACCGATGTTTTCAGAATAATCAAAACAAATTTCAAAAATAATAAAAAATCAATAATTTTTTCTAAAATTTTGCAATTTTTTTCTAAAAATCGTTTAATCTTCCTCTAAAATCGATATTTTTCCGGATTTTTTCGTGAAAAAAATCATCAACTTTATTGAAATTTTGTCATACTAAATTTCGAAAAAAAATCTTGAAATTTTGATGCACCATGATTTTCAAAATTCTGCTCCGGACCAATTTTTCGAGAAAAATTATCGATTTTTGGAAATTAGCATACAAAATTCGATGTGCTCGAAATTTGGCTCTGGAAGGAGGAAAAATTAATAATTTTCTAAAAACCGATTTTTTTTCCAAAAAATCAATAATCACGTTCGGCTAATGGAAAACCGATGTCCTTTCAATCAAAACAATCTCAAAAATAATAAAATCACTAAATCAATAATTTTGTCTAAAATTTTGCAATTCTTTTTTCTATAAATCGTATTTTTCCGATTTTTTTCGTGAAAATAACTCGTCTTTTATTGAAAATTTTGCTTTTCGATAAAACGATGATTTTGATTTCGATGCACCATGATTTCGAAAATTCTGCTCCTGAGCAATTTTTCTTTAAGAAAATTACGATTTGTGGAAATCATCACACAAAAACCGATAATTTTGTGAAAAAATTCGGTTTCGCACCATGATTTCGAAAATTCTCAGAATTTTAGAAAATTTATCGATTTTGTGTAGAAATTCGAATTCCAGTGGAAAAATTTTCTTTGTATTTCTCAAAAAATGTTTGATTTAAAAAAAATCGATTTTATGATCTGAAATTCAGGCATTTTTGTAGGGCAAAGTAAAATGGCAAAATCGATGATTTCTCTGATGAGAATGGGAATTTTTGTCAAGAAAAATATAAAAAATTCTTAAACAATTAAAGTGTTGTCAAAAAATTGAAATTTTGCGGAAAAAAAATATATTTACAGATGAATTTTTTAGAAAAATTCTACAAAAAGAGGTTCCATCTAATATTATTTTGTCGCATTGGGAGTTTATATCACATAATTTTTTTTTGTTTCGGTTGCCGTGGAGAATGGGGGTTGCAAATACCAATATCACATTTTTCAGAGGAAAATCACAACAAATATAAGGAAAATTTAAAAAAGGCGCGGGGGGAAATTCACCAGATTATCGATATTTATGGATAATTTCCACGATTATTTTTATAGCAAAATTGATCCGGAGCAGACTTGGGATAAAGCAAATGTTGGAGGGGGAAAATGAACAAATTGATAAATTATAATATATTCGGGGCAAAAAATGGGAAATAATTAAATTGTCGGAACATATAAATGATTAATTGATTGAGGCCAATGGGATTGGTTTCATGTGAGCCAACGCTTCATTACAGACCACTTCCTACCGATGACGTAGCGGCCATGAGAATGCTCGACACGAGCAAGACGGTAGGTTCTAGAGGCGTTTATCTGGAAATTTTGTGAAAAAATGAAGAAAACAAGCTTTCTTCGCTGAAAATTCCAAGATTTTCGGTCGTTTTTTTTTTGCTAATTTTTTTTAAATTCGCCTTGAATTAAATTTCCAGATGTTCAGTAACACGTTTTTTTCTCCTTCAAAAATCGGTTTTTCAATTAATCAAATTCAGAGTATTAATAATTATTTTCCTCCACCAGAATTTGAATATTTTATCCACATTCTGAAACCGGCTCACAGAGCGGCTATTACTACGTGGCCTAGAAAAATCAAACGAACTCCGCCAATGATTTATCCCGTGGCGATTTTTGTGGGATATTTCGGAAACTTGACGAGAATGTTCTCGAATGGTCGGGGGTGCTACAGTTCCACCGTGGCGATTTTTGAGAATATGTTCCGTAGTTATGAAGGTGGCCGAGGGTTGTTTTCTTATTTTACGGCCACGTAATAAAAACCGATCTGTGGGCTCCTGAGCAGAATATCGAAACATATCATGGTGCATCGAAAATTTCAAAATTATCGATTTTTTTGTTGTAGCAAAATTTTCAATAAAATAAGAAATCATGGTGCATGGACAAACCAATTTTTTCCTTTTTTTCGAATTTAAAATAAAATTTAAAAAACAGTAAAATTCTTGAATTTTACTTTTTAAAAATATTTTTTTCAAATTCTGGCAGTTTTAAAATAATAAAAAACGTTTTTTTTTCCATTTTTTTCAATAAAGTTTTTTTATGCCATGATTAGTACTACTAATGTAAAATTTACAGGGTTTTCACAGATTTTCAATTTTGTTGATTGGCTTATTCGTTCTTCAAAAATTCTAAATTTTCAGGTTTTCTTTTCCATTCGCCTTTAATTTTTGGGAAAAAACAATGTTTTTAATTAATTTTTCAGAAGGACTTAAAAAATTGTGACAACTAAAATTGTTCAATTTTTTCCGCAAAAATAATTTTTCGGAAATCCGCGTTCAAATGTCCTACAAAAAACCCCTTACCACAGTAAGCCTAACCAACTGTGAGAGCTCTCTGTTCATCGACTAGGGCTCCGTCGAAAAGCCGCCCAAACTCTAGAGCCGACGCCGTATCGACGCGCACTCGAACCATCTGAAAAACCAAAAATGGAAGAGCTTCTAATTTTTCGTCCAAGGCAGGCCATTTGATCTACGTAGATCTAGAAAAATTGCGAGAAAGAAGAGACGCAGAGTTCTCAACGCTTTCGCATGATTAGGAGTGTGTTGACGTCACATTCGCAAAAAATTCCCGCATTTTTTGTAGATCAAACTGTAATGGGATGGGACCACGAGCAGTGTTAGGCTGTACCATTACGGTTTGAGCTACAAAAAATGCCGGAATTTCTTGCAGAGGTCAACACACTCCTAATCATGCGAAATCAGTTGAGAACTCTGCGCCTCTTTTTCTTGTCCTGCATTTTTGTAGATCAATGTATATAAGCCTCTCTCTCTCTCACCTGAAGTATCACCGCTTGCTCCAACACAATCAGAACATCACAAAACTTGCTGGCAATCGTTTCGCGGGTGTACACTTTCCGTGTGTTCTCACCACACCACATGCCCTCATCGTTTCCGATATGCTTCCCTTGTGGCTGCTGCACAGCCGTTGAGTCGTGCTCACATGGAATATCACCTCAGCCTCGGCGTCTGCAAAGTACGGAGCCCGTGTCTCTACGGGCAGCCACCTGTGTAATCATCGTGTCCTCGACCCACTTTGACCTCCCATCCGAGCTCCGAAGCTATTGCGCGGGGGCGGATGCGGTGGTGTTGGACAGGATCGATGCTCGATCCTCCGGCGATTGTCCTAATAGATCACATCGACTTTGTGGACTTCACGAGAACAAGTCTGATCTAAATGCCAAGTCACGGGGAAATTCTGCCGTGAACCTGAGACACAAGTGGGACAGGAATCCCCGGGAAGCCGACAGCGATCTCCATTCGACTGTCGCGTTCGGAGTGAACGCTGGCAAGTGATCGTGGGGCGCCGACGATGTGGAGGCTGTGGCTGCCGTCTAGACGTCTCAATCATCGATGTAAACTGTGCGGCACCAAGGCGGGCTCGTGACGGGGGATAGGTCCGGTATATCATCCGAACGGATCATCCATCGCGGATCCCCTGGCTTTCCGGACCGGGACGTTTTCCCTTGAGAGCCTCTTTGCGTAGCCAATTGGTCACATTGGTGGCAGGCTTGCGGACATCCGGTTCTAGATCCAGATATGCCGGCCAACTAACGTTCGGGAAGTGATTTCGCAGGGGAATTTGGCGTAGAAATCCTTTTAGACGGGACACCGAGATTAATCGCCGATTGCCTATTAATATACACGGTTTTATGCTCTCCTTGTAGTGGCGGTGCTCCTGCAGAGCTCCATATCTGAACCTCAAAACCTCGCACCGGATTCTGACCACCGAGCGTGACAAGCTCTCCATGGGAGCACCATATCCTATCGGCCAAGATACCACGAATGACGATTGGCATTTGAGGTTTTGGCCATTGATGGGCATACAAGGCTTCACCATCTGCCACTCGATCTCGGTTCTCGTACGCTCATCGCGTAGGTGATGGAGCGAGGCGGCTCACGGAGCAGCGCCTGGAGCAGTGCTCGAGAACTGGGCTAGCGAGGCGATCGGCAGAAGAGCGGAATGGGCCGCATAGCGGACTCGATGGGTTTCGATGGTTAACGCGGTGAGCACCAAGACGAGTTGGGACGTTTTGCACGTTGAGGATGGCTAGCGAGTTACCACGATTACTAGGGCATTCTGCGATACGTCTGCATTGACAAGCTGATCGACAAGGATTGGCTCGGCTCCATGATACGATGAATCTAGCATTGAGAAACTTCAACGAGTGCGAGGACACCTTCGTGTCCTTCGAGCTCTTCGCCGCCTGCAACATCTTCGGCAAATGCTCCAGAGCTCGCGTACGGAGCAACATGAAGTGATACTTCGTGTGCCAGAGAGCCCACAGATCGCCAGAGCCACTAGTTGCACCTTGGATAGGAGTGCATAAGACGGATGAAGCAGAAAAGAATGTTGTCCGAGAGCAGTGGCGGTGGCGGACGGTTCCTTGATTCGTCGAGAATTGCACTTAGAGCCGGAACATAGCGGGGCAGCAGGATTGGGGGTACGGTAACGAGGGTGCGGCACGCGAGCCTTACGAGTGGGCCAGTGGGTGCAGCTATACCGGGAAAGCAATGTAATTTTTTTTTCGGGCTTTTTTTCAAATCGAATTTTCACTTTTTCTAAATTTTTTTGTAAATTTTCTAAAAATAATTGTTCGATTTCAGAGTACCTCATTTCTCCGTGCGTGATCTACGTTGATCACGTGACAAATAATGCGGGACTGATTGTCCATGGTTAAGAACATGCCGACGTCCTATTTTTTGGGCAAAAATTCCCGCATTTTTTGTAAGATCACCACAAACAGTAATGACAGCCTCACGTCGTGCCAGAAAGTCCCATTTCGTGCTTCGATTACGCTGATCTCAAAAAATGAGTGTCTGATTGTGCATGATTAAGAATGTGCTGACGTCACATTTCGTTTGGAAATTCCCCCATTATTTGTAGGTCACACCGTAATGGGACAGCCTGACACCACGTGATCTTCAAATTCCGGCCAGCGTGAAACCCAAAAGCAAGATCTCAATCGTCAATGACATGACGCAATCGATTGCCACGTGGGCACTCGAGTTGGTCTACGGATCCACGAGTGAGATGCCACGACGCCATGAAACGCCAATTCGTCGCCCGACAAAGACTGAAAAAGGGAAAAAGGGTGTGATATGCGCACGAGCTGTAAGAAAGGCTAATTAGTTGTCCACCTAAACAGGATAAAATGCTGAAAAGGCATTTTTCAGGGTCTATTTTCACAATGAGTTTGGGTATATTGGAGAGTTTTCCATAGATAATGACTGCGCAACTAATTTTGACGCGCATAATATCACGTAGCGAAGACTACAGTATTTAAATTACTACTGTAGCGCGCTGTGTGTCGATATACGGAATTAATTAAAATATTAATTGATAAAACAGAAACTATGATCAAAGAGACCCGTAAATGGACACAATCGCTACAAATTCAAAAAGTACTGTAGTTTTCGCCTACGAGATATTTTGCGCGTCAAGTATGCTAAGAAAATATGCAGTTGTGGTAGCCTTGTGAATTTTTAGAAGGTTTTTTGAAAAATAACTCGCCACTATTAAAAAAAATATATATTGAGGCTTTTCAAAGGGTTAAAGTAATTTTATACGTTTTTAAAATCGTTTTTTTTTAAAACTAAATTTTGAGCGTTTTTAGGACAATTTTCGTAACTTTTACGCTTTTTTTATGGCCATATTGTGTAGTTTTTTACACTCTGATATTCCAGAAATCGTCAGAAAAAGCACTTAAAACGGGCTAGAAAAACGGGGTTTTGGCTTGCTGCGAAACTTTTTTTTTTGAACCAAACTTACCGCGCAAAAATATATTGTCATTCAAGTAATGTTGCAAAATGTATAAAAAACAGGTTTTTAATGTTTACGATTTTAATACAGTTGTGACGTATTTTTTCTATTTCAATTTTTGCAAAATAAGAAAAAATATGACTGGAAAAAAGTTGGAAAGTTTTTAAAACACATTTTATACAGGAGCGGTCATTACGCTCTAAGATTTGCTGGCATAAGCGAGAATGGTCTTTGACACTACATATATAATATTAAGTCTCCAAATAAGTCCGGGTCTAAAATCATAAATTTGTTCGCTGTGTATCGATGTTTATGAAATTGTGGGAATTTGTGTTATCAACCCTGATCTTTCATTTGATGGGCAAGAGTCACAAAATTTTTTGGCCGTCGGAAGTGCCCCGCCGGTACTCGCAGCCAATTTTTTCAGACATGTTTCAGATCCCGCTTCTTTTCAGTTTTCAACTGAGGATGGTGTGCGGAAGGTCTATTGCTTAGTTTAGTACACAATGTAAGAAAACAAAAAAGTTTGGAAAAAAATCCGTCCAACAGAAATAAAATATGTTTTTTGTCGCTCGTCAAAAAATCTACAAAATTTTGTCGAAAATTATTTGAATTTTTACACCCAATAAAAATGATGTAACCGTGTGCAAACTAATTTTAATCACACAAAACGACTTATGAAATTTGGATCGAGGAATACTCCATTCTAAAACTCGATAATAGTTCGAAAAAGCTGTGTTTTTTGTTATTTTTTTTAGTGTGATGCACCAAAGTGAAATTTTTTGTATGTGAAAAAATAGTTTGCATGGTTACATCATTTATAAAAAATCGAGAATTTTCGAAATCTGATTTGTTGAAGATTTTTTGACAACCGACAAAAATAATTTTCTTTGGACGGATTTTTTTCCAGACTTGTTTGTTTTCTTACATTGTGTACTAAACTAAGCACACGCACACAAAGCTCGATTGAAAACTGAAAAGAAGCGAGATCTGGAAAATGACTGAAAACTGGCTCCGAGTTAGGGCGCTTCGGACGGCCAAAAAATTGTGACTATTGTCAAATGAAAGATCATGTGGTTGAACATAAATTCCCAAAGTTTCATAAGAATCGATACACAGCGAACAAATGCTGTTATGATTTTTGACCCGGATCCTATTTGGAGACCTAATATATATACATAAAGTATACCTACCGTAACCGCAATCGTAATATCATCACTGTCATGAAAAACGTTATCCTCTGCAATTGTATTCGACGAGGACATATCTCCAGTCTCTGACAATCATTTACTCGGGTCTTCCATCATTGCCGATTCGAGAATTGCCTGTCGTCGACTGTTCTGTGAGAATCCGGTTCTGTCGCTTTTCGGAGAGCTTCTTCACAGAATATGTCGATATGGGCGAGATGGAGGATTAATGCTTGCGTTCCACTGTTCACAATCTGAAGACGTTTTATTTTTTTGATTTTGGCTGGAATAAAGCTATGCTTTTGTTGAAATTTCAGTTTAAAAACATAAGGTTTTTGAACTGAAAATTGGGATCCGGAAAGAATTAGAAAAAAATTTGTTTTTTCTCTAAAACTGCTGTATCCATTTTATTCAATTTTTTAAGATTTTCACAAAACATAAGAATTTTTGTAATTTTTTTTCCAAATTTTTTGAATTTTCAGCAAGAACTGGACAAAAAAGGCACTAGTTTTACTAAAATTGGCAGCATTTAGGAAGCGGTTTCTGAAAAAAACAATTAATTTTCATTATTATTGTCATATGATTACAGGAACACACTATTCTGGACGTAGTATGCGATTACACAACATATTTGACGCGCAGAATATCTCGTAGCTTACAGTAATTCTTTAAAAATGACTACGTAGCGATTGTGTCGATTTGCGGGCACGATTTTTTGATATGAATTTTAATCATATTTTGAGCAAAAAATGGCTCAAAAAACAAGCCCGTAAATCCACACAATCGCTAACATGGTAATTTAAAGAATTACTGTAGTTTTCGCCGAGATATTTAGTGCGTCAAATATGTAATACGCATTCTCAGAATTTTTTGACTTTTCCTATAAAAAAAAATCGTGATCAAAAAAAATTTTTAATTGTATTTTAGGATGAAATTACGATTTTATTCGTTCTCTATAAATTTTGAGCAAATATATTTCAAAAAAAAAAAAAATTCTTTCTATATTTAATTTTTTTTTCGAGTCGAGCTTTTTTTTCTATCTTCTGTACAAAAGCAATTTAAAAAAAAGGAAAAAAGATTAAATCTAGAGTTCTAATTTTCCTCCGGGTTCTGGCCATCCTCATAAACAGAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGCAAACTCTTCCATTTCAATTTATGAGGAAGGCCAGAGCCTCGTGGAAAATTAGAAATTAGAGTTTCGAAAAATCTTAAAATTTTGCCCGTAAATTTCTTATTAGTGTGTTTTGTACAGGAGATTGAGAAAAAAATCGGCAATTGTATACAATTTAATTTTAAAAACTTATATAGTTAAACATAAATTCAATGATCTAACTGGAAAAAAATGTTTACTTTGAAAAGTTAAAAAAAATGACAAAAATGTAAACTCAAAAATTGAATAAAATGCGGCAATTTCATAAAATAGCTTTTTTCCATAGTTTCTGTCAATTTTCGGCTAAGATTAATTTTTTCTCATCAAAATTTACGATTTTCATACTCTCTTACCGAAGCCCATTGACATCGGTATCCAAACACCCTTCTTCATGACGTCATGATACACCTCATCCCACACCTCATCGTCAATTCCGAGTATGCGTCTGACGCAGGATAGCCTTAATCACGACTGGGATATTCGAGATGAGTGTCGACGTAAAAGCAGCCGACACATTCTCGGAAAACGCGTCCGATTGGCAGACAGATTTTCGAGGCCCATGTGCTTAAAGTGTCGCGCCCTTTCTGAGCCGGAGAATTTTTAGGGAAGCGGTTTAGTGTTTTGAATTCGATGCGAAACCAGCTGCTTGCACGATGTTAGAATCGCAAATGCTATGGAGATAGCCGAGGAGTGACTGGAAAATTTTTTCTTAATTTTTAAATGGCCGATTTTGGGAGGGTTAGTCGAAAAATTTAAAACTAGGATCTATGAAGTTTTTGTCACACGGCAACTTCTGGTTTTTGGAATTTCGCCACTTTTTAACAACCCTGGCAATGCGTGCAAATTTTTGGAAAACCGGCAATTTATGGTGACCTTTCGGAATTTTGCTAATATGAAAACCGGCAATTTGCCGCTTTGCAAATCTTAGGAAAACCGGCAATTTGTGGTTTTTGGAACTTGGCCACTTTTTATCAAGGACCTACAAATTGCTTGCAAATTTTTGGAAAACCGGCAATTTCTGGTTTTTTTTTGGAATTTTTCTAACATTTATAAACCGGCAATTTGCCGATTTGCAAATTTGTGGCAAACCGGCAATTTGTGGTTAAATTCGGCTTTTGGAATTTTTCTAAAATTTTAATGAACCGGCAATTTGGGTTTGCAAATTTTTGGTAAACGGGCAATTTTTGATTTGGAATTTTGCTAAAATTTTTAAAAACCGGACAATTTGCAAAATTTTGGAACAGTAAACCGGCAATTTGTGGTTTTTGGACTTTTGCCACTTTTTATAAACCGACAAAGTCATTTGCCGATTTTCAAATAGGCCAATTGCAGGTTAACCTAAAAAAACATTCCAAAAAAACCAGAAATTGCCGGTTTTCCAAAAATTTGAATATCGGCAAATTGGTAGGTTTATAAAAAATGGCAAAATTCCAAAACCGAACCACAAAATGCCGGTGTTCCAACTCTTTCAACGAGAGTATCCAATTTTTTAAATAGAAAAATTGCCGTATTCCATACCGTTCTCCACACATTTGCCGATTTTCAAATTTTTGGAAAACCGGCAATTTTTGATTTTTGGAAGTCTGTAAAAATTTTTTATAGCGGTTAGTGGTCTATGGATGTCTGTCACCTTTTATCTAAACTTCCACTTGCCGGTTTCAAATTTTTGGAAAACAATCTTTGTAGATTGTTCAAGTCTGCTAACTGGCAAACTGGGAAAATGCCTTAGTTTGGAAGTTTAAGGTAAATTCTCAGACACCGGAATTTTGACATTTTTCAAACTTCCAAAAACCACAAATTGCCGGTTCGCCAAAAAATTGCAAAGCGGCAAATTGCCGGTTCTTAAAAATTTTTGAAAAATTCCAGAAAAACAAGAATTGGCGGTTTGCCAAATTTGCGAAATTCCTACAACTGGAAATTGACGGTTTTCAAAAAAAAACAAAGAAGGGAAATCGGACCAAATTACAGACGCTTACATAAAGTGGCAAAGTTGCAAAATCCAGAAATGATCTTGCCGGTGTGTCAAACTTGCGAACACATTAAAATACCACAAATCAAATTGCCGGTTCCGAAAAGGTGCAAATCGGCAAATTGCCGGTTTTTGAAATGCAAAACTCCCAAAATTTACAGAAAAAATTCCAATAATCAAAAATCCGAATTATTGTTCCACAATCTTCGGAAAAATTATTACAAACACAATCAATTTTCCAACTTTTCATCAAGCGTATTAGCGAAATACAATCGCAAAAATTTCTCGTAATTTATTTTTGATCTACCACTTGTCGTTGACTAGCCTCCGCCCCTCATCTTGTTGCTGTTGTTATAGTTGGTGGCTGTCTAGTTGAAGGAAGGGGCGGAGCCTATTCAACGAGGTAGATCAAAAATAAATTATGAGAAATTTGTGCGATTGTATTTTTTTTGTTCGATAAAATACCCCAATTTTTTAATGGAATAACAATTCCCTACCGTACTACATTGAGCCAAATACGGACTGTGAAGCCCAACAAGATATTCGAGAGCAACAGAATAGCGAGCACGTTCAATCGATATTTCTCCAGACGCTACGAATGGTGGAATTTCGTACTGGAAAAGCCATGCGGAGAGCACATTTACCACTATATGAGTGACATTTGAGCAAATGCCAAGGGGAGTCCTATTTCATTGCTTCACGCATTAGTGTGAATGCTACATTTGTGCCTGGAAAAGGACAAATAAAACTATTTTATTAAATGTAAGTAATTAATTTATTTTTTGAAATCTCTTTAAATGCGGTGTAGTCGAATATTGTTTCAATTGCTTACCCTCAAAATTGTCTGAAAACACCGAATTTCATAATGAACTTCTTGAAAACTTCTCAGAAAAATCTTAGTTATGACGCCTCAAAAAATGAAAATTGGTTAAAATGTGAAATTTGACCTACTTGCCAAGCGGCTGCAAACTATCCAGCTTTTTTTTGAAATCAATGTCAAGTTTTGAGTATTCAATTTAATTATCCGTTTTCAACTCGATTCAGGGGTATTTTAAAGTCGCTATAAACGAAGAGTTTTTTAAAAATTATTTACCAAATCCTTCTACCATCGATTTAAAAATACCTAAATTTAGTTCAAAACGCAAAATAATTAAATTGAATACCCAAAACTTGACCGTGATTTCAAAAGAAACTTAGTTTCCAGCCACTTGACAAGTTGGCAAATTTCAAATTTTAACTTTAGGCAATTTTTTAGAGCGGTCATAACTTTTTTTTTTGGAGAATTTTTCAGGAAGTTTCATTATGAAATTCGGGTGTTTCGATCAGATAATTTTTAGTATAATAAAGCAATAAAAAAAATTCTACACCAACTTCAATCGAAAATGTAAACAATTTTGTTTTGAAGGCGGTTTTCTTTTACTTTTCTAAAAAGAAATATTCAATTTTACGATTTTTTGCGTAAAAAAACACGGTCAAATTTTTGTTAAATTCGAAAAGATTGGCGTGTCCATTACGGTTTGACCTACAAAGAATGCGTGATTTTTTAGCCAAGTGTGACGTCAGACACATTCTGCGTCTCTTCTCCCTCATTCTTTGTAGTACGTAGATCAAGCCGAAACGGGAGAGCCTGACACCACGCGCGTGTGCGCCTGTAAAGTGAGTACTGTAATTTCAAAAAATCCACAACATCCAGAGTTTGAAACTACAGTACTACTATTTAAAGGCCACACACTTTTTCGAAACAACGATAAATTGTGGTGTTGAGACCGTATTTAGGGCTCAAAAAAAAAATAATTATCGTTAGAATATGGTTCGGGAAAGTTCCTATGCAGTTTCACTGAAAATTTGAATTTCCCGCCAAATAACGAATCTTCATCCGAAAAATTTGAATGCCAAACAATTTTTTTAAATCATAAATTTGAATTTCCCGCCATAATCGTATTTCTCAGAAAATTTGGATTTTCCATGCCAAAAATAAAAAAAAAAATTTTGGCGCGGCGAAAATTCAAATTTTCTGAAAAAATAATATTTCGGCGGGAAATGCAAATTTTCAGAGAAATTTTTTGGCGCAATTTTTCCTCGAAGGAATTTTCTTGATGTGTAAATTTCCAAAAATTTCAACGAACCCAAATCGCATTTTTCTTATTTTTTCCCCAAAATTTTCAAAGTTTCTCGTACAACGGAATTTTATGCGACGAAAAAAGCGCATTTCGATACAAAATCATCGATGCATGTGTAGTTTGTAGTGTTGGTTGTCCAGCCGTTGGGTGAGTTGCCGTTGCATATTATTTCCATAGAATTAGGCAATATCTTGCAATTACCACCGGCTGTATTCACCAATGGTTCCCTACCATTCTCATCGGCTGCTTCCCAGCCACCGAACGACTCCGTTCGTATCCAGATTGAAGCATTCGCCCATGTGTAGCCACTTTATTACTCTGAAAATTGAAGAGTTTTATAGGCTCCTCTTACATCGGACATTGAGGTGATTTTTCGAATTCTTTAAAACAAAGATTTCCTGAAATTGAGCTTTTGGAAAATTTTAAAATTAGATCAAAATTTCAAAATCAAAAAAAAAAAAACAAGCGTTTGTACAAAATTTAAAGTGGAGAATTTTTTTTAGATTTCAAATTTTTTAAACATTTCTGAGTGCAGAGTCGCAAATCTCAGGCCAATCGGCTTCGCCGAAATTGAAAATTTCTCATATATCGGAAATTGCCGAAAATGAAAAACTCCGGCAAGTCGGCATATTGCCGGAATTGAAAATTCCTTACAAATCGGCAATTTGCCGGAATTGAGAAAATATCCGGCAAATCGGCAATTTGCCGGAGTTGAAAACTTCCGCCAAATCGGGAATTTTTGCCGAAATTGAAAATTTCGTATAACTCGCCGATTTGCCGGAGTTGAAAAATTCTGGCTAATTTGAAAATCGCCAATTTGGTTGGCCAAAGTTGAAAAACCGGGCAAGCCAATTTGCAGATTTTTCGAAATTTGACCGGCAATTCCTGTCGCGGACACCTTTTTTCCGAGAAGAATTAACTTTCCATTTCTCATTGAAAAAGTCAGTAATTTGCCGGACTTGACAAATTTCCGGCAACTGGACATTATGCTGAAAATGAAACATTCTGGTAAATCGGCAAACTGCCGAAAATGAAAAATTAAATCGGCAATTTGCCGAAGTTGATAATTTCCGCCAGATACAGGGAATTTGCCGAAACTGAAAATTATAAATCGCCGATTTGCCGGAGTTGAAAGATTATGGCAAATTTGCAAATCGGCAATTTGCCAAAGTTGACAAATTCCGCAAATCGCCAACTTTCTGCCTGTTGTGTATATTATTTTCACGAGTAAAAATCGTAATTAATTTAAATTAAATTTGCTTTTCGACCGAAATTTGCCTACCGGCAATTCCTGTCCTTTTTGCCGAGAAGAATTTAAATTTCCAAAAAAATCTTTAATTTGCCGGAGTTGTTTCTGGCAAATTTGCAAATCGGTGTCATACTTTGCCGGAGTTGAAAAATTCTGGAAACCGGCAACCCGGCAAACCGCCAAGTTGCATTTTTCGAGCGAAATTTTTTTTTCCGGTCGCCCCCTTTTTCCCTGAGAACAGTTAAATTTCCAAAATTCTCTAAAAACCACAAACCTTTTCTCAAAAATTCGCACACTTCACTCCTGTCGCTTCCCCTCATCATTCCACTCAATCCGCACATTTTCTCGAGTACAGCACTCCAAAAACTTGTCCAAATAAACTTGGAGCTTTTGAGCCCGTTCTTTCGAAGTCTGACGCCCACGCTGTTAATCGGCCCATTCCTCAGTCGACCAATCACCGGCTCCCGACGATTGACAGTACTCGTTGAGCACATTCCGCATTTTCACCAGTCTGTGTAACGGGAAGACATATGGTAGAAGCCAAAGTAAGACACGATCCAGGTCTGGTGTGGCTCTTCCGTACACTCCGAGACAGTGATAGAACACTAGGAAAAAGCGAATCGCAATTCTTCGCACTGCCATAATTTTTCGGGTACGACTGCTTTTTTGAGAAGCGATTCGATTGCCGTTGCCAGCCTGTGAGAAAAAAATTTAACTTAATTGTTATTTAAAGGTGGGGTCGCGCTAGTGGGGAAATTGCTTTAAACCTAGGGTACCACAATGACCGAATTTCATGATATAACAATTCAAAAAAATTTTCTAAATTTTATATGATTGAAAATTGAAAAAATCCAGTTTTTGTCTAATTTTGAATTACCGCCAATTGAACTTTTGTTCTATGGAGCGCGCTTGCACGTTTATCTATTAAATTTATCTACTTTATTTTTTTGGTAATTCGTTTCTGTTATTTTTCCACCAATTGTTAATGTTCGCGGTGTATTTTTGCTCGAATTTTAGAGAAGAAGTCAAAATAAATGCTTTTCGATTAAAAAAAGCACGATAAAATCAGTGAAATTAATTAATTAACAGGTTTGAAAACGTTTAAGATACATTTGTCATTTTTACGCCTGTAACCGTGCATTTTAATTGAAAATTTGTTTATCTGGACTTTATCTCTAAAATTCGAGAAAATACACCGGAAACATTAAAACTCGGTGGAAAAACCTACAAAAACTACAACATAAAATAACTTAAAAAGCGTGCAAGCGCGCTTCATCGAACAAATTCATTTGGCGGTAATTCTAGAAATTAGGGGGGAAAACTGAGATTTTTTCAAGTTTCAAAAAATCATATAAAATCTGGAAAATTTTTTTGGATTTTCTATCATTATATTGGGTCATTACCATAGGCGTGTTTCAAAGCAATTTCCCCACTGGCGCTACTCCACATTAAATCTCTGACGGTTTTTTTTCGGTTTTCCTTGAAAATCCTCTAAAAATCGATTATTTGTATTGCGTTGTTTTTCCGGGATTTTTCTCGGATTTCCCACGGGGTATCCGGCCTTCCTCACTGAATGTTTCGCTCCATTGACAATGTCTCGCGTGTACTCCACACGGAAAACAAATCACATTTAGTTTTACATAAAATTGACCAGAGACGCGGCAGCCAACGCGCCGTAAATTTACCCCAGATGCCTGGCCTAGTTCGGCGAAAACCCTTCCAGTTCAGTGTATGAGTGAAGCCAGAAATCCATGTTTTCCTCGAAAAAAACCTCTAAAAATCGAGTTTGTAATAAAAATTGCGTTGTTTCTTCGGTTTTTTTTACAATTTGAGGGTTTTTTGTCTTTTTGTTTTAACACGGATTTTTGGCTTCCCTCATATCTTGAAATGGAAGAGGCCTTTCTGCCGAACTAGGCCTGGCCATAACTGGGGGAGATTTACGGCGCGTTGCGTAACAGTGCCACGCGTCTCGATTTTAGTTGTAAAAGTAAATGGACTCATTGTCCGGGTGGAGTACGGCGATTGTCATTATGGAGCGCGAAAAGCAACGAGGAAGGCCAGAAGCCCGTGCGGAAAGACGGGGATCTCAAACGGGGACAATCTACAAAAAAATTAGTTTAAAAAAGACTTCCTCAAAAAAATTCGAAAATTGTGGTTTTCTCTTTTTTTCATAATTTTTTGTATTTTGATAAATTTTTTGCGACATCAAAAAATGGAAGAACTTTGTTCGCTTTTTGAATTTTTGGTGAAAGAAGAAAATTTCGAAAATTCGTTAGGGAATCGATAAATTTTTATCAAAAATCGATATTTTAAAATTATTTTTTGCAGTTTATAAAAAATCAAGATTTTTTCGCATTTCGCGCGTAATTTTCATTTTTGTCGTTTTTTTCTTAATTTTCCGAAATTTCTGAAATTTTTTCTTTTCTTGTTCTGAAGCTTATGCCTAAGGACCTAAGCCTAAGCCTGAGCCTAAACTCCTAAAACGCACCACTTCCAACCAGCTCCGGAGCACAGAGCACCTGCTCCAGTGTACAGAGCCTGGATTCAGCCTCAATTGCACTCGATTTGGCTGACGTCGCTGACGAGCAGAAGCTCAACGAGATGAAACGTCTCGAAACTATGCTCATCTTGGAGCAGTGGACCAGCTTTTCCTGTAGAAATGTTGTGGTCGAATTAATGCGAAATATGGGAAAATTCGGGTTCAAATCGATGAAAAATCGTGCAAAAACGAACATTCGTCGTTAATGTGTCGAGCTCTTTGTTTCAAGGCACACGGCTCACACAATCCCTGTTCAAGTCGGTGAATCTTGAAATGCTCACCTGCACATCTGACGATTTGCCCTTTCGGGCAAACATTTTCCTGTGATTTTAGGCGATTTTCTGCAAATTTTCGCTGTTCAAACGTTTAAAATCGACGGGAAAATGCGTATTTTTTACGAAATATGCGAGAAATAGTGATTTTATTCGAAAAAATCAATATAAATAAGGAAAAGAACTACAGGAGTAATTTAAAGGCGCATACCTCGAAAGTTAAAATCGTGCCAGGACCCGCCGCAATTTGGAATCGGTTTTTAAATGAAAACTTTTTGCTTTACTAAAAATTAAAATTCACTGAAAATTTCGGTTAAACTCTGACTATTAACACGAATCTTATCACAAACTATGACTTTCTAGTGACAATGGCCAATTTTGTGTGTAAAAAATTTTTTCAGTGTAAAATGTTTTTTTTTGAAACTAAAATTTCGAGCTTGAAACTAGAAAATGTCAAGTAAAAAAGTCGTGCATTTTTAAGCGAAAAATAACGTTTATTTCCAAGTTTTCGCCTATAATTCACACAAAAAATACTGACTCAGCAAACAATGTAGGGAGCATCCCGAAAATGGTGATGGTAGAGCAAAAACGAAAAGTCGATGAATTATTTTAGAGAGAGAGGTAATTTTATACAATTTTTCAGGAATGGAGGTTAAAAAAAAGAGTAGAAACCATTAAGGCAAAACGATCCAGCTTGAAACCGATTTAGAAACTGCAACTCCCAGAAAACGAAGCAAATAAGAAAATCCCACAAAAAATCCGAATTTCATTGCAGTTTTCGACCGCCGTAATTCAGCCAACCAGGGTGAGTGTTCAATTATTAAAGAAGAAGCACATATATACATATAACATTATTCAAAGGACATAATCCATATAAAGTCTGTCAAAACGGTAAAGGTTCTTGTATCCAAAAACACATTTGGCCCCCTCTTTCGAAAAGAGAGAGCATGGGAATCGGAGAGGACGGTGCGAAAGACCCAGACATCGAGATGACACTTTTTGACAGTCCAACAGCCTGTGTGTGTCTGTGGTGTGTGTGAGTCTCTGTGATTGAGTGAAAGCGCTTTTGGGAATATATAGTACCTGGTAGAAATTTAATTTAAAATGATAAAAAATTTCTTGGGATTTTTTTTTTTGAGTACTGTAGTACACCACAAAAGGACGTAATGTTCAACTGCGCCCATGGAGTCCCAATGACGTAATATCATGATAAAAAAATTTTGAAATTGGAAAAAACTCAGGTCTTCCCCCCCCCCCTAATGTCTTCCAATTAGAACTTGCGCCAATTGAATTCGTTCGGCGGAGCGCGCTTGCATTATTTTTATTATATTTAAATTTCGCTCTGTGTTGTAATTTCACTGATTTGTGTTCATTTTTTGGGGGTTTTTAATTGGCAAAAGAGAGAAAAATGCAAGATCAATGCAAATTGTTCACTAAAAAATCACTGAAAATAGGTAATACTGTGAAATATGCTAATTTCAGGCTTGGTGTAGTCGGAACTCATAATTTCGTAGTTTTACCCATAGTCTATCATTTTTTAATGAACATCTGCATTTATCTTTTTTTTTTAAATTGAATTGCTATTAAAAATCCCCAAAAAATGAAGAAAATCAGATAATTAGAAACAATAAAATAAATTTATAAAAATAATGCAAGTGCGCTCCACCGAACGAAGCCAATTGGCGGGAGTTCAAATAGCGAGAATTAGAGGGAAAACTGAGATTACTTTTTCAATTTTGAAAAACATCATAAAAAATACGCATTTTAGCTTAAAAACTCGAAAAATCATACAAAAATTAATCTGCACCAAGTTGTCCACGAGTAGTACCTTGCGTCGCCTGGTTGCAGAAATGGCATAGATTTCGATTAGATTAAAAGCTTAAAAATCATTTTTTTTTACCCAATTTCCATTTAAATATCCTAATTCCAGCTTAATCTCAATTTTCTTGAAAGAAGTGCAAATATAGATTAACGTAAAAATTCTACGCTGCGAGACCCATGCCCCCATAAATCGCCTGCGCCTTTATTGATGATTTATATTTATTTTCTCTCTCAACCAGCGATGAACATCACGTTTTTGAACGAATTTTCGAAAAAATAAGACAAATTTCTATTTTATAAACCACTTTATACCGTGGGTCGTCGCTAAATAGCAAATTTTGACGCAAAACAAAAACGAACAGACAACGGAAAATCGATTGAAAACAAGTGAGAACACAGCAAAACTAGTCCTAATTAATTAAAGGCGCATCACGTGGAAAAGAAAACTGTTGTGGAAGAATAAAAAATGGAACATGAGGGGAAAGATTACACTAAAATAGTAAAAGATGCAGCAAGATTAAGATTATTTCTCGTGGAAAAATCGAGTCCCCTTCCGCCCAGGAATTCATCATAATTTTCGACTTTTTTTCGGAGATTGCTGCACTTTGTCGGCTGCTCCGGTGGTTTTTGGCAGGTTTTGAGAGCGCTGAAAGATTTGAATTTTTTGGAATTTCGAGAAATTTCTTGTTTTCTACCCGAAGCGCTTTGAATATGGCCAGCTGCATTTCCAGCTTGCATTGTCCGTTCAGTGACTTTGACCCTTCCAGTTTTCTGAAAAAAAAACACGAGTTTTTGAATTTACTTTCTGATTTAACGATTTCTGGTTTCCCTCAAAGAATTGAAATGGAAGAGTTTTTGCCGAACTAGAGGCCATATCTGTAGATTTACGGCGACCGTTGCGTGTCGCGTCGCGGCTCGCTTTTAGTTGTAAAGCTAAATGTGATTTGTCCGTGTGGAGTACACTACTTTACCCTCCCACGCGTTGTCCGGCAGGCGATAGCGCGAAAAATTCAAAGAGGAAGGCCAGAACTCCGTGATTTTTCTTTTTCGCGTAGATTTCGCAGTTTCGGACTGTTTATCAGGTCTAATCAGCGGAATTTTCGGTGATCCCGCCAATCTCGGTTATTTTCTGAGCCTTTTTCGCTCAGGTTCTGGGATTTCAGCTGTTAGAGCAATCTTTGTATATTTAGACAAGTTTCTTGAAGTCCAACGCAATTTTTTCAGTAGTATTCACAGTTTCCGGCAATTTTTCAGAGCAACTCTTCGAAATTTCGACAAGTTTTCTGACAGACTTTGTAGATTTCGTCTGACGGTTTTTCTGCAAATCCCGGTATTTTCGGCTCGCGGAGGACTCCCAGCTGCTCTTATTGTTCAGCATTGTCTGCTCAGTAGCGGGCGCGTCTTGATTTTCAGTAGAATTCGCAGTTTTCGGCAATTTTTCTTAGAATCTTCAAAATTTTGATAAGTTTTCTGTTCCGGCGTAGATTTCGCAATTTCTGGCGGTTTTTCCGCAAATCTCAGTGATTTTGGGCTCGGGGAGCCCCTTCCAGCTTCTCTATTGTTCAGAATTGGCTGCTCAGCAGCGGGGGCGTCTTGATTTTCAGTAGAATTCGCATTTTCCGGCCACTAATTGTTCTGAGGTAATCTTTGGAATCTCGGTTTTCTGACTTTTGGCGTATACGCAGTTTCTGGTGATTTTTAACCCGGCACGATGAGCTCCCAGCTTCTTCATTATTCAGCCTTTTCAGCTGGGCTTCTTGAGAGCTTGTAATCACGTCCGTCGTAATTGGCCTCTGAATCATCATCCGAAACCAAATTGGCGTCGATTATTTCCTGAAAAAATCGATAAATTTTTTTGCTTTTTTTTGCTTTCTCATAGTCTGCTTTTCCCACTTTCCCGCAATTTCTCAAAACACGGCGTTGGAACGTATCCTGGTCGCCGATCGAACTGGATAACTGGCCGGCTGGCGATAAAGAGATCGGCGAAATCTGCTACTTTCTCGTCAGATGAAACCTCGGTTTTTCTGCTAAAACCTACTCAAAATTTCCACTGGCTAAAATCACCTGATAACATTACATTATCATCATTTCCGGGCATTTGTACTTGACGAAAAAAAAGCGGAAAATATTTAGGATTTCGAAAATGAAGCGAAGGTTACGGTACACTAAGGCACATGGCGTAAAATATTCCGCAGGACTCGCCGCGATTTAGGATTTTCACTATTTTTTTTGGGCAAAAGTTGACATTTTACAGAATAGAATACTAAATTGTGTTGATAAATTGTTTATTTGGTTTTCAAATTTAAATCTAAACTGTAAATTTTAAATGTTCCCCCAAATATTCGCAAATTCCCTTCAAACCAAGTTTTCTAGCACAACCGTAATCCCCGAGCAATCGCGCTCCACCAACCTACACACCGCGAATTTTGAATTACATCCCTCATAATTAATTGTTTTTGCCATTTTTTTGCTATTTCCAGTGGATTTTAATGAGTAAAAGCCTACAAACCGACGAAAATGGCGGTGTCAGTGTAAGTCCATCAAATACATATTTTGCTACACGCTGGAATGCTCTCTACGCATCATACACCTCATCAAGCAAGAAAAAGACTCCAATCTCCTCGAAAAGCGCTATAATGACTGTCTATACGGCAGAAATGAGCGCAGAGGTTTTAGCGAATGAATGCCTGTTTTAAGAGCAAGTATAAGAATTCAGAAAAATTCACCTGCAAATCGTGCTAAATACCACCGCTACCGGACAGCCCGCAGTAGTGTGCCATGACGTCACAGCAGTTGTACACTTGCAAAGCGTTGCAAAATGGTAAGTGTACTGTCGAAATTCGCTGTAAGACCTAAAAGACCACAAAAATGGAAAATATCTGAAAACCTCACGATGCTCGTTAATGTTCCAAATGTTCAATGCGCGCCGCGAAAGCTCAACGTCTTCATGAAATCTCTCCAAGCAAAGTTGGATATTATGAAAATGGAGAAAAGCCCAATTTCAGCAGTGTAAGATAAATTATCGAAAAATCAATAAAAATCCCAACTTTCAGACCCCGGCAATTCTAACACGTCCGCCGGCAGCAGGGTGCTGAGCCCGCTGACGCAGCGAAATGCGAAAAGTGAAGATTAGCTACGCGAACCGTCGGCGCTGGCGAGACCTTGAATTCGAAAGACCCACACCGAAGCGGCGGTAATTTGAAATTTTCACATTAAAAAAAAATCGCGAATTTCAGCACTTCCTCAATGAATTTGCTAGCAAGCACGCTTGCGGCTGAAAATCGTTATGAACTCGATCGATTGGGCTGAAAAGGACGACCGCTGCAGTTTTGCTAGAGATGATCGTGAAAAAGCCTCTGCAGCTTCAAAAATCCGTGAAAAATCGATAAAATTTCGTTTTTGTTCCGTGACATTCCAGGTGTTTTAGTCCAAAAGCAGCCTACGGATTTGCTTCCCTCATAAATTGTAATGGAAGAGTTGCCGAACTCCAAGCCACATCTGGGGTAGATTTACCGCGCGTTGCGCCTCTTTAGTTGTAAAACCAAATGTATTTCTCCGTGTGAGGTACACCACTTTCCCATTGCCCGGCGGGTGATTTTCAATGGAGCGCGAAAAATGCAATTAGGAAGCTCAGAAACCCGTGACAAAAGTGTCACGCGGGTTTCAAAGTAGAGGTGCAAGTTCGCGCTGCACCGCTCCACGGTGCTTGGCGGCAAAACCAGAATTCGCTGATTTCAAGCATTTTCCGTCGTTTTTCATGATTTATCATGTCGAAATAGTGTTTGAAATATGTCTTTAATGCTGGGAAAAGTGAATATTAAAAATTTTGACACGTTGAAAAACTGAAAAAATTATCGGAAAAGTGTATTTTGTGAGTTTTTACTTAATTTTCTCGGGGTTTTTAAAAAAATTATTTCTACATAAAAATTGATGAAAACAGCATATGAAGTGCAAAAAATAAAGAAGACTTACATAAATTTTGACAAAAATAGATCACGAAAAACAATAAAAAAAGTCGAAAAATGATTGGAAACGGAGAATTTTTCCATTTTTATGTAGAAATTTTGAATTTTTTAACAAAATTTTCTCAATTTTGAAACACAAAACATGATTTTAAAAATTATTGAAGATATACTCTTGAATTTTTAGTTGCGCCAATAACGGGACTCACGGAGTGACCATGGAGCGCTTGCATCTCGATTTTAAAATTGGTATGAATTTTTCGCGCTCCATAGACACACCTGCCTATAGGACAACGGGTAAGTGTCGTGTACTCCACCCGGACAAATATTTAACTAGAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAGTCTACTGAGCCAAAATGGCCTAGTTCGGGAAAAACTCTTCCATATTCATGAGGGAAGCCAGAAACCCGTGTTTCTAGAAAATCAAGAATTTCTTTGGGAAAAAATGCCAACAATCCCAGACCTAATTCTCAGGGCTAATTTTTCCCCGAAACAGACAACAGACCCTTGTCTCCCTGTTACAAAATCATTCAAAGATGCTCCTGCGATTTCCGAACGTCAGCTGTTGAGCAAAAGGTGGTCCGATGTGTGATAAATGTAATTTTTCGAAAAAAAAATTTATCGAAATTTGCAGTCACGAACGCGAGTGTCTTCTTCAACACGGGATCCGCTGGAACCGGAAAATCTGTAATTCTCCGGAGTATCATTAAAATGTCCCGCCACATATCACCGCAGCGACAAGGTAGGGGATCACTTTGAAATATTTGCAAAAAATTTCTCGTATCAAGACCTCAAAAAATTTTCATGTACCTTTCAAAAATAGAACGACCTTTTTTAATTAAAAAATCATTCAAAAAGGAAAATTTGGGAAAAAAAATCATTAATTCTTTAATTAATAATTGTTTATTTGTCACAAGAAATAGCTACACCGGAAGATAAAGAAAAAAAGTAAATAAAAAAGATGTGTGGACAAATAAGTAAATGTCCAATTGGACCAGCTTTAGCCCGGGAGGTTAAGTTGGGGGGAAGAGGGTGTCAAATGGGATGGAGTCTAGGCGCGACGCAAATGCATTTGGAGTTAACAGTATAGGGAATGAAACGTTTTGCTATTCGATTCCACAACGACAAGTTAACATGTAGAAAACATTTAGACGGAACACCACAGACAACAAGTAGATAGGGGTGAGGAGTAGAGCGTGAAGCTCGAACGAACGATATAAGGTCGGGAAGTAATACTCACTTGAAATAATATTTTTATGGAAGGTTCGGAAGATTTGAAGAACCCGTCTATGGTGGGTGGACAATAAATTAAATTGGGAAAGCCTACTACCGTATGACGAGTAAGATAAATTGCACCTTTGAAAGACACACATTGAGAAAAACCGGAGGGGAGATTCTAGTTATTTCGTGCGGCAAGTTCGGTAGAGTTGGGAAGCGGGAAGAGCTCGCAGCGATATTCGAGTACAGGGCGGTGCTTATGTAAACATTGAACAGTTAAAATAGAATTCGGGACTTTCCTCAGAGCGGAATGAACGATGGAGTTGGCACTTAACCACGGAGTATTAGAAACCAGTCTGATTAATATGATTAACAAAAAATTTGGTATCGACAATGACTATGCTTCCAAGATCTCTGATAGATAAATCACGCGGTTTAATTTCCACCCGATTTAAACAGTATTTATGACGCCCGGGGGTTCTTTTTTCCGAAATGTAATACGGCGGTTTTGTGCTCAGCAAGATGACGCCATTTTTTACACAAATCAGCGACTTGATGCTTGTTTGGATAGAGGTATCAGGGGGTCCGCTCCGAGTAATTTTAGATCGTCGGCAAAGGCTGTAACATGGACATCAGGAGGGAACAAATCGCTCTAATAACCCATTAATATACAAAAGAAAGCGGAATGGTAAAAGAAAAAACCGTAAAAAATCAGCAAATTTCGAAAAAAAATCGTAAAAAATTGAGACCTTTGGAAATAAAAATCTAGCAAAATTTGAAAAAAAAATAGTTTAAGATTCAGAAATTTATTTTAAAAAATCATTAAGAATTCAGCAAAAAAATAAAACAAATAAATCTGTAAAATTAAAAAAATAACCAGTAGAATTTCAAAAAAAATTGTTTATTCAGCAAATCGTCTTCTAAAAAAAAATCATAATAAAATGATAAAAATTAAAAACGTAAAAAAATTTAAAATCTGCAAAATTTGAAAAAAATCGTTTAAAATTCAGCAAATTTCGAAAAAAAAAGCATTAAAAAAGCGAGAAATGGGAAAAGCACAATTTTTTAAAATTTATTGAAAAAAATTAAAAATTCATGGAAAAACCTGCAAAATTATTTTTTAAAAACCGGTAAAAATTCAGCAATGGAAAAAAATCTTTTAAGAAAATCAGCAAATTTCGAAAAAATAAAACATTAAAAATACAAAATTAAAACTTTTAGAACATCATTAAAATAATAGCCAAACCGTAAAAAATCAACAAATTTCGGAAAAACTTTACGTGTTCGTTAAAACTCCAGCAAACGTCTAAAAAAAAGCATTTAAAAAGGAGATACAAGAAACATCAAAAATCGAGACAATTGGAAAAAAAATTCGTTAAAAATTAACCCAAATATTTGCTGAATTTTTTAGATTTCTTTTTTTTAAACTAAATTTGCTGAATTTTTTAAAAAGACAATTCAGCAAAACTTAATACAACTAAAAAATTCAGCAAATTTCTTTTTTAAAAATCGTTAATAATTGCATCGGGAAAACTTGGAAAAATTGTGCAAAATTCAGAACAAAAATTTCAAAATTTTCCCAATTTTTATTAATTATTTAGTTTTCAGAATTGATTAATAGTGAAAAATTCATAAAAAATTCAACAAAATTTAGAATTCAAAATTTCATTTTCATGGGTCCCGCCACGATCCACTCCAACCTACAAAAAATCATGTAATTTCCAGGCGTTGCGGCATCCCAAATCGGCGGAATCACACTTCACGCGTTTTGCGGTTTTCGCTACGAACATTCGACGCCGTAAGCAGTGCCGAAAACATGTTGTTACGCCAAAATCACATGGTCCGACAGTGGAAACAATGCTCACACTTGATATGACGGATTTCATACCATGATTGATCGCTTTGCAGGTTTGAAGCTCTCGAATATGTGAGCTCATTGCGTTTTGATCTACAAAAAATGCGAGAGTTTTCGCAGCATTGCTCATTTGATCTACAGAAAATGGGGGAATTTCGTACTACCAGTATTGCTCCTTTGATCTACAAAAAATGCGGGAATTTTCCCAGCATTCCTCCTTTGATCTACAAAAAATGCGGGAATTCTCCATTGCACATTTGATCTACAAAACATGCGGGAATATTTCAAGTGTGACGTCAGCGCACTCATGCGAAATCTGCATGAAAAGTCTGCGTCTCTTCTCCATTTTTCGGAGCTCAAACCAAAATGGGCGGTACCCGAAAATTCCAAAAAAAAAACGATAATTTCCCGTCCCATGTCGCCCGTACGTCCGTAATAACGATAAGCCGTTCGGTAGAATTCAGCTCATTAGGTTCACTGGAGATTTCTTTCAATTACCGCCGTCTCGAAAGATGAACCAGTCTTTTGTTTTGAGGTGTGCGGAATTTCGGAGCATTTGGACCGTCTAACTATTAAAAAAATTATTTTGCAGAGCGCAGCCTGGAGCCGATGTATCCAAAAAACGATTGTCCTGAAAAATGTGAAACGACATAATGACAATGTTTTTGTAAATAATAACGTTAGAGTTGGAAAGTACGTAAACTACTGGATAAATTTAAAAATTTCGAATTTTTCAGGGTTTTTTAGTACTGGAAATATTGATTTTTCAGTGAAATTCCAATAAAAGCTGGAAATTTTCCACAGAAAAAGGGAAATGAAAATATGAAAATTTGTAATTAATTTCGAAAAATGCAGAAAATCCCAAAGCCTTCCAGAAAAGCTGGAAATTTCATAAAAATTTCGGAAAATCTGAAATTTTCAGAAAATACAAAAAAAGCAAAAAATCTCGAAAACCTTCCAGATAAGCTGGAAAATTTTAGAAATTTCCAAAAAAATAAATTACTACTGAAAGTTTCATAAAATTCACTGATTTCTGTCTTCCTTCTTGTAATGGATGAGTTTTGCCGAATCAACTAGGCCATTTGGTTCGGCCAGATGTAGATTTACCGGTTTGCGCGTTGCGTGTCGCGTCGCGAGCTCGATTACTTAGTTGTAGATAAAATGTATTAGTCAGTGTGGAGTACACGACACTTTCCCATGTGTTGTCCGGCAGGTGATTGTCAATGGAGCGCAAAAAATTCAACGAGTCCAGAACCCCGTGATAGAGCGGCCAACACGGGGTTCTGGCTTTCCTCATTTCATATTTCGCGCTCCATTGACAATCACCTGCCGGATAACACGGTGGAGTGTCGTGTACTCCACACGGACAAATACCTTTATTTAGAACTACTAATTGAGCCGCGACGCGACACGCTACGCGCCGGAAACCTACCAGAAATGGAGATGCTAGTTCGGCAAAAACTCTTACCATTTCAACTCTTTATGAGGGAAGCCAGAAATCCGTGTGATTCCAAAAAGAAGCTCCAAAAAAAAATTCCAAAAAAATCTCCATAGCCTTCCAGAACCGCTGGAAATTTCAGTCCCCTAAAATTGATAAAAATTCGAATAAATTCTCAAAATTGTTAGAAAATCAGTGAAAATTTGGAAAATTCGGAAATTAAACAATTTTTTTTGGAATTTAAAATTTAGAATTCTTCGTACGAAAGATGCTCCAGAAAACTTGTAAAAATTTAATTTTTTTTTTGAAATTTCCAAAAAATTTATTTATTTTCAGATGCGGCTTCAAATCAGCTGATATTCTAAAGTAATCCTCGAAAAATCAATTCCTGAGCCATCCAGCGTAATTCCAAACAAACTGTGCACCAGATGACGCCGATCGAATTAACAGCTCAAGCATCGAGACAACACAAGCGCGAAAACCTTGCAGAGCGCCTACGATGACGAGAGTGACGCACGCCAAGGTCCGTACGTTGCAGCACAGAAGAACCTTGTAGGCTGAAAGTTGGAGCTCAGGTGATGCTCATCAAGAATATCGATGTGAGGGACTTTGTAATGGGTCACGTGGATCTATGGTGAAATTTTCTGTGAAAACGGGAATCTCTATGATCCGATTTGTATCGCAAGCCGATGCTTCCATTGAGGCACGTTTCACAGAAATGACCATTTTATGGGCGTGGCTTTCTTTTTCGAAAATTTATTTTTTCCAAAATTTCTACATGGATTTTTCTCTACAATGGAAAAAACCCCCGAAATATTGTAAAAAATTTGAAATTTATCGGAAAAAAATAAAATTTTCTCTCTTACAATTAGGCTTAGGCTTAAGCTTCTAGGCCTGGGCTTAGTCTTAGGTTTATGCTTAAATTTGAAAAAAAAAATTCTTGCAATTTTTTCCAGATTTTTCCGTTTTTTTTTTCACAGAAAATCTAAGATTTTCGATTTCTACTTTCAAAAAAAATGAGTTAAAAAAAATTACGCAAATTTTGTAGAAATTTTTCTTTTTTTTTTCTTAAAAATTAGGCTTAGGAAGCTTAGGCTTATGCTTAGGCTTAGGCTTTGGCTAATCGCAGGACTATGCTTTGGGTTAGAAGACTTGCGCAGACAAGCCTAATCCTAAGCCTAACCCTCTTAAAAAGTTACAAGACGGTTTTTCCTTGCGCTGGGAGCTCAAAAGAAGAAAAGAAAAAGAGCTATTCGGACTTAGTGTGCCTATCTGTAATAAAACATTGGAAATCCCTATGACGCACTTAAGCCTACGGCCCGCAAAACATACTAGGATGCCCAACTGGAATAAAATATTAGAAATCCTTATGACACACCGGCGGTATGGCGCGGACTTAAGCCTAAATGGCCACTTTTATCAAAATACATTTGAGCTCGTCTTGTGTTTTACGTTGACTCCTCTGAGGCAACTCAAAAATATTCTGTGGATATTCTGCAGAAATCAGTTTAAATGAAGACAAGAGATTACTAAGAAACTTGGAGATTTCATAATATTTGGGGGGATGCGAGCATCCATTGGAAATTTGCCATTTGATACTTTTAGAGGCAAAAGTCCAAGTCGTAACAAGCTCACAGTGGGCTCTCAAATCATCAAATTGTAACGAAGAAACGATCGATATAACGAAACAATTTTACAAAGTCACTTTGGTAGCTCATATCTCCGTGGATAAAATTTTTACAGACGTAAAAGTCATCAACTGATATGTTGTTGATATGGTTGTAAAGAACAAGTTTGTTTGAAAAGTTTTTTTTACCAAAAAATTTTCGTCGTGTTTCAAAGAAATAGTAACGGAATAGCATCATAAAAATAACAACAGCAGTTGCGCCGCGCACTTCACGCGGTTATTCTTAAACGGGAGATGAGCTACCAGAGTGAAATTGGATGGCCCTCCAATGCTTCGTTAAAGTTCACGGCCATTTTCAGGATCTTTGAGAGCCCGCCGTGAGCTTGGTTTTCGAGGAGTTATATAAATTGACCCCTCCAGATTAAAGGAGGACTTTTATATAATCACGATGGTATTTAATTCCGATGAGTAATCCATTTTTCTTTTCACATTTGTCAAACAAAACTAAGTTTTAAATTAAGGCGGGATATACTAAGGTGTGATAACATATGTTATTCATGTTTAAGTTTAAATAAAGTTTTTTTTTAATTTTTGCTAAAAAACGAATTACAACCGCCTCGCTCAAATGTATTTTATAAAAGTGGCTATTTAGGCTTAAGCCGCGCCATACCGCCGGTGTGTCATGAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTAAGGCTTAAATGTCATAAGGATTTCCAATATTTTATAGTTGGGCATCCTAGTTTTTTTTTTTCAGGCCCTTAGCCGTAAGTGTGTCATAAGGATTTCCAATGTTTTATTCCAGTAGGGCACCCTAAGTATAAATAGCTCTAGGGCTTTTCTTTACTTTTGCGCCTCCAAGCGCAAGGAAAAACCTTCATGTAAAAGCTTTTTAAGAGGGTTTCATCATTATATTTATTGAAATCGGGGCGAAGCCCTGATTTTGAATCCATATTTTTGTCTTTGTCTTCCACTTGATCCCTGCAAACTAGGAAAGAGAATGTTTTCTTTCTGATGAAGTAAAAATCATCATAAAATCTTGAAAACGAGCAGGAGGTAATATTTGAATATATTGGGTTGTAAATGTGTGTCTCCCCTTGTGGGTGGGGTGGCGATGTGCTGGCAGCCAATCTGCCTTCAACGTGTATCTCCCGCCTGTATCGCCCTTCAAAGTGAGAATTGGGTTACCAAAATTTGAGGGAATCTGATGAGAAAAGGTGAGGATTTCAAAAATATTATTGTTGACACACCAGACCAAACTTTAGCCTGGGCGAAGAGACAGAAAATTAGGAATTTTTTGAAAACTTTCAAACTGGCACAAAATTATTTCACAAACAAAACTCTTTTCACATATTGTTAAAACAGATGCCATTTTCCAATAATCAATATTGTCCATTGAACACAGAAAAGAAAACGAAGATTCTATCAAAAAATGAGTGAAAAATCGCAATTTAAAAATCGAAAAAATCCGTGCTGAACTCGAGTTTTGGCGGTGCTGAAAAGAAAATTTTCACTAAAATTTTTTGGAAACTTAGTTTTTCGGATTTAGCGTCAAATTTTGAATCTATACAAAAAAAAAATTTTGAACTCAGATTGAGTGGATAATAAACGCTCAAAGTTGAAAATTGACAACGCAAAAACGGCGTGAGTAACTTGCTTCAAGGTCGGCTGTCTCAGTGAGTTTTCACCCAATTTTCCCCAAATTTTTTTGCTCTATCGCTTTAGAAATATTTTCTTTGTGGTAATTATGTTTTCCTCAAAATCAAGATAATATCTTAAACGACCGCCATCCTATTTTACAAGAAAAAAAAAGTCTTTGGAAGAAAAATCAGAAATTTTCGGCGTCGATTTTCAAAATGACAAAATCACTTTTTCGTAATAAACTTATTTAAATGTATTTTGATAAAAGTGGGTATTTAGGCTTAAGCCGCGCCATACCGCCGGTGTGGGGGTCATAAGGACCACTATTTTATTCCGATGGAGTTGGGCATCCTTGTATGTTTTTCGGGCCTTTAGGCTTAAGTGTGTTATAAGGATTTCCACGATATTTTATTCCAGTGGGGCATCCTAGTTTTTTTTTCGGGCCCTAAGAGCGGCTGTGTCATAAGGATTTCCAATGTTTTATTCCAGTTGGGCACCCTAAGTCTGGGTGAATAGCTTTTCATTTCTTTTGGTCGCCCTCCAAGCGCAAGGAAAAACCTTCTTGCTTAACGATTTTTTAAGAGCGTTAGGCTTATGCTTAAGCTTAGAGTTAGGGTTGGGGTTAGGCGTAGGCGTAGGCTTACGTTTACGGCTTCGGCTTCAGGAATATTTAAAACAAAAATCGAAAAATAGATTTTGGGAAAAAAAATCGTGATAAAGCCTGCTAAAATTTTCACAAAAATTAAATTTTTCAAATTTTTCAAATTCCTAAGTGATTTTGGTCTCGCAGCGAAAAAACATCCAACTACAGTAACCCTCGCCCTCTCCAATTTTCAGCTCCCCGGCTCCAATGTTCTCGCATTCCAGGGTGTGATACTCCGTTGATTCGCCGTGAACTCCCACTCCAACTCGCCTGGGCCATCTCCATTCACAAATCGCAGGGAAGCTCGACAGTCCGGGAATGTTGAAGCGCGTTTTCGCCGACGGACAGGCGTATGTGGCGTTGTCGCACTCAAGATCAATGGACGGCGGCAATTAATTATCGGCTTCGAGCGTTGTGTCCGAGCGAATTCAAAGGTGAACAGGGGATTTTCGAGATGAAATCTATGATTGCAAATCAGAATGGATGGATGCTGTTAGATATCTCCTTTTCGTGGGTTCTCTCACGTGGTAGAGTGCTCATTTCGGCTCTACTGTGTAGATCTACAAAAAATGCGGGAGATGAGGAGACTCAGACTTCTCAACTGGTTTCGCATGGTCTAGAACGGCGTTGCTGACGTCACTTTTCTCTCGGCATAAAATTCCCGCATTTAACCGGTAAGGGATCTCTCAGCTACGTGGAAAATTATCGATGTTTTACCGAATTTCAGGTTATCTAGCTTTTTACAAATCCATCGAGGCAGAATGCGACGACGAACAGGACTGGGGAGCCCCTGGTGCTGGGCCTAGTGCTCAAGTCGAGTTCGATCGATTTTTTATTTAAAATTTTTTTGTGATCTCCAAATGTTTCTGTCTTTCTATCTTCCCCCCCACCCCACCAAAATAACCGTTTTCACAACACTCTGTATCATCATAATTCTCACATAAACTATTTCAACGTTGACGTCGCCTCAATTTTTAGTGCTATAAGCGTCATCGGATCTGAAAAAAATGTAAAACTTGAACAAAAAAGCAGGGGGTGGCCTAGAAAGCACAAAAAAAACTCGGACACAGTTCAGGAGCCAGTTTTTGGAAAAAAAAAAACGTCATTTTCGTATAGCCGTCCACACTGAAATTGAAAGAATTCTGGCCGAGTTTTCCAAATTCTAGGCCACCATGCAAACCGACGTTTTGGACGGCAACGTGCCGGTGGCCGTGGCCCCAAAGAAGGAGGGAAAAACTCGGCCACTCTTCTATGTACCCCTCTCGGGGAATTTTTACCATGGCCGAGTTTTTGTGTCTTCTAGGTCAGGCATTTTTCTTAGTCAGTTTCAAAGGAAATACGATACCTGGTCTCGACGCGAAAATTTAATTAAATCCAAAAAGACGTGCGACTTTAAAAAGTACTGTAATTCCAATATACTTGCGCTGTTGGGAAATTTATCGATTTTTCGTATTTTTCAAAAAAAATAATCAAATGTACACAGGGTTCTGTTCTTCCTTAAATTTGATTTATTCGCGCTCCATTGACAATCGCCCGCAGGATAACGCGTGGGAAAATCGTGTACTCCACACGGACATCGACGCGACGCGACACGCAAGTCGCGCCTTGAATCTACCCCAAATATGGCCGAGCCATAAAGGCCTATTCGGCAAACTCTTCCATATCGATTTATGAGGGAAACCAGAAATCCGTGAGGATAGTGAGAAAACAACGAAAAAATCATAAAATTTCCCAACAAGACGAAAGTTGAGATTACAGTAGTCTTTAAAGGCGCACTTTCTCGCATTTAACTTAAATTGGTCGTGGAGAGAGTATTTTTAGCGCAAAACTTCGCATTCCGGGTAGATAATAGAAGAATTGAAACTGACAAATCCGCCGTTTCCTCAAGCAGCAGCGGCACAATAAACATGAAATACACGGCCAACACGAAATGAAGCGGCACCATCGACACAATGAACAACGACATTCGGAGCATGTGCTACAAAACTGTCGGCCGCAACTTTTTCGACGGATTCTTCCCAAAGACGAGATACCCTTGCATCGGGCTACATCGGGGCTTGAACCGACTTCTTCTTCATTACAGCGCTCCCTTCTCTGGGCAGCAGGTAGCGTGTCCACGTGGTATAGGGTGACTCAGTGGTTCTGTGATTAATCGGCGCGAGCTGGAGCATTCTTTGCAGAGTCGCTAGGCGTGAGGCCACGGTAGCGGAGGTGTTGGCTCTGAAAGTAGATTTCATACAGGATGGTTATTTCGGGGAGTACTGTAGTGGTGTTATAGTGGTTACTTGTAGGAGTACCCTGTAGGGGATACGAAATGCAGGGGTAGCAGTACTGAGGGGGGTACTGTAGGAGTACTGTAAGGGTGTGGGGGTACTGTAGGAGTAATGTGGGGGTACTGTAGGAGTACTGTAGGACCACTGTAGGGGAAATGTAAGGATGCTGTAGGAGTAATGTAGATGGTACTGTAAAGGTACTGTAGGGGTGCGCTAGTGATACTGTAGGGATCATGTAGGAGGACTAGGTCCTGAAATAAGGGTACTGTAAGGGTACTGTAGAGGGTTAGTTTTATGTCCCTGTAAGGGTACTGTAGGGGTACTGTAGGTGTACTGTAGGAGTAAAAGTGGATTCACTGTAGGACAATAACGCCAGAGGTACTGTAGGAGCACTGTAGGCGTACTGTAAGGGTACTGTAGATGTACTGATTATGTAAAAGGTCCTGTAGGGGTACTGTAAGAGCACTCTAGGGCCATTGTAGGGGTACTGTATGTACTGTAAGGCTACTGTGATGTACTGTAAGGGTACTGTAGTTGTTCTGTAAAGGATACTGTTGGAGTACTGTAGGGTTACTGTATAAGGGTACTGCAGGGGTGCTGTAGGGATACTGTAGGAGTACTGTAGTGTCTATAGGAAGACGAACTTTTTTTTGAATTTACTCATCGGAGAATCTAATATTTTCTGTCTCCAAATCGATACACCATAAAAATTTTAGGACCCAGAGCTAAAAAAAAATACCAACTTCTCCAATATCATCTCCATCAATTCCAGTTGTTCTGTGCAGTTCGCCATCCCTTCTTCATTCCATCGGCCGATTCTCCAAATCGTCCACCATCTTCACACCCCGCCGACACGCCGGTGTCTCCACATCGTTCCGTACCAGCTTCCGCAATTTTCATAAGATTCTCGACAGACTCGTTAAACTTGCGTTGGCTTGAACAAGTGGGAACCTAGAATCGCCTCGGGAACCGGATTTCCACCCCCTTCCACCAGGAGGCTGACCAGTGTCGTTTTCTGCCTGACGACCTTAGCCAGGACGTGCTCATAGTTGATCATGTAGATTTGCCCGTTTTCAGATATGTTGAATGTTTCAGATGAGGACAATTGAAAATTACCGATTTGATTGTGCGTGTTCATGCACGACAGTAATGAAGGCGAGGCGGCAAATTAAAACTCTGAAAGTTTAGATAATTGTACTTTAGTTGAAATCCTTTTGTTGACAGTCGACTAAAAAAAAAAGCAGGTAGGTAGTAGGTAGGTAGAGTAGGTAGGTAGAGTAGGTAGGTAGGTAGGTAGGTGAGTAGGTAAAGAGAGACACGGTGCATCGATCTGACTTTAAAAATCTCAATCTCGTATCTTAAGCGTCTTTGGTTCCTGTCAGGCAGGTAGGGGGGAGAGTAGGTGTGATCAGGTAGGCAGAGCTCCGGAGTTAATATCTGGTGGATTGTGAGTTGCTAATAGGTAGTGTAGACAGGCAAGCAAGCAAGCAAGCAGTCAGGAAGGTAGGTAGGTAGGTAGGCAGGCAGGTATCAGTTGTCAACTTTTTGATGAATCTAACGGAGCCGAACGAGTTATAAGGAGGCCCAACGTTGCACCAGACATCGGGAATCGACCTAACTTGCAAAACAACTCGTAACTTAAGAGTGTCTTTGGTTCAATTTGGGAGGCAGGTAGGTAGGCGCTTAAGGTAGGTAGGTATATCTTACGCTTCTTGTTTCAAAAATAGTTATATATTAAAAAACAATAAAAATTTTTTGCAAATTTTATCAGTCGACAACTTTTCTTGTTAAAACTAAAAAGAGACGAGATATTGTAAGTGTTGCAAAAGTTGAACGAGACATGGTGCATGGAAGGATGGCTAGGCAGGTAGGTAGGTATTAAGGAGGTAGGTAGGTAGGTAAGCATTCCGTATTTCTCTACTTGCTTATATCCTGGTTGTTATGTGTTGTATCAAAAAATGTTTAACAAAGATAACATAGACTGAAAATATTTAGCACGTAGCAAACTTAAAAAACTAGGTTGGTAGGTAGGTAGGTAGGTAGGTAGATAGGTAGGTAGAAATGCAGGCATGTAAATCTGGTGAAGGTAGGTAAAAGTACTCACGATGGAGAACATCAAGCAAGAAGATCGCCAATTGAAAGTGGTACGGAAGCGAGTTGAGCAAATATTTTAGAGTATTTGTCTAGAAAAAATATTAATAAGTATTCAAAGTTTAAACTAATAATAAAATACCAATTCCGAAAAACTTCATTATAAACAAAATCGTCAGAATCCCACTGGAGAGGACTAAAAGTCACTCGTGTTGGCAGACGTCTGATAAACATCGAGGGTGTGTCCGGGTGGTAGGAGAAGCACATTATCGTGATACTTTGACACTGATAGATTCCTCAATAGAAGCCAACGCTTTTCCGAAAACTGGAATCGAAATGTTCAAAGCATTGAGAATTATTTTCTGGTACTCTTCAACCAGGCATGTTGTACTCCGAGTTTAGATCCGCAGAAAAATCTAAATTTGTATTAGATTGGGCGATACCGTACTTGCCTACCTGCCTACTGGTAGGTAAGCAGCCTACTTATTTTCAACTTACAAACCTCCTACTTTGTAACGTTTATTTCGCAATAATCGATTTCTCGAAATATTTGCATTTCCCCTCGACAAATGATTTCTTTGCGGGAATCTTTAGGAACAGCTGAAAATTTTTTTTTCCGTGTGGCCTTTTCACGGCCACGACGTACCTTAACGCTTACACATGGTGCAGTTGACGTAGTCATGCAAGAACCAATTTATTCGGCGGCGTTCGTTTTCGGTGACGGCGAAGTTTAAGCACGGTATGTAGAACCTTACGGTGGAGACGTTCTTTGATGGCTGGAAGTTATGACGTCATGTATAATTAGGGATGAGATTCCTAGGCCACGTGTGACGTCACAGCAATCCCCGAAACCCTGGCTTTTTCGATGGGCGATTTTTACTACATCGATACTTTCTAGGCATTCATCGAGCGAAACTTTTGTGATACTTTGGCAATGGTCATCAGGTAGACAAACAACGTGATAATTTCTAGGCCACGCTTGCCTCTGTCACGTGGCCGAGATTTCGCGCCAGGACCTAGAACTAGACAGGGTGCATCGACCTAACTTAAACCTCGTATCTCAGTTGCCAGGTAGGTAGGCAGGCAGTCAAGCAGATAGGTAGGTAGGCTGGTATTTTAATTTCATTTCTGCGGCTACAACACAATTTCTCTTCCAATCAAGGACAAATTTCTAGCGCCACACATGCAGAGTGCGGACTAATAATTAAAGTGTTTTACGACAAGGCCGAGAAAAGAGAAACCTAGGCCACTAATTTGTAGTGAGGTGTGATGTAACGCCACTATAAAACTATAGAACTCGCTTGACGCATAAAACTCTGATCATTTGCGGTTTCGAACTTGCATCGTCCTTCCATAGACCGCATCCTGAACGTACACTCTCGTAAATTGCGGCCTAAATTGTATAGACCCATTAAAGGGTACAAAATATGGGAATAATGGTGAATCCGGAGCGATTATCATCCAAATACACGAGAGATTACTTCGATACATAACCTCGAAGAGCAACAATTTCCCCACGAAGAATATCAGCAGAGCTGTGAGCAGGAGAGGCGATTATTATCTGGCGGATTGTGCGCTGAAAGTAGGAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAAGTATCGGGTGGTAGGTAGGGAGGCAGGTATCAGCTGCCGACTTTTCGATAAATATTAGACGGAGCGCCGAAATATAAATTGCCAAAGTTGTACCAGACATGGTGCATCGACCTTACTTAAACAACTAGGTGGTCTAGGTAGGCAGGCAGAGGCAAGTAGGTAAACTCACCGAATGCCTTAAAACAATTGCTAGAACATCGGCATAACCCGAGCTTCTCCCATTCTACGTCGCGACCACAAGCGCGCGCACACTTTTCCGCAGGTTCTCATCATCGCGATCAGCGCAAAAATCCTCGATTATCTCGAATCCACTGGCTCTTTTTTGTGTGCGACGTCTAATCGTTTATAGCTGATCGGCTCGGGAAAACCAATCGTCACACTGCAGCTTCGCATCCTCCAAGCGGAAGCCGTGAGAAAACTGGGCACTGCATAGGAACTAGAAGTAATTTCAGTCTTATTGTTCTGGAAGAAGGCTTTTTTATGGATGGGGTTTGAAAATAATCACTAAAAAAAAAACTTACAGCTGGAACTTTGTTCGATAATGAAACAATTAATCTATAAAAAGCAAATTTTTGACAAAATTTAAAACTTTAACGTGTATGAAGGTCACGTGAAAACTGAAAACAAAAATGTCGAAAAATAGCAAGAAAACGGCCTAGGCACACGTAGACTTATGGTAGGCAGCAAGGCGTAGGGGTTGATCCAGGCAGGGTCACGTCTTGAAGGCAGGTTAGGTATAGGTAGGCATAGGTAGCCATATGTAGGCGTAAAGGCAGGGGCATCTCTAGATCCTTTTTGTATGTGGCAGATTGGCCGCTTTGCAGGCAGGTTGGCAGGTGTGGGTGGCCTAGTAGACCGAAGTTTAAACAAGCGTAAAGTTCCTATAGTAGTAGGTAGGCCAAACCTTTTTTGTAGATGATGAAGTAGGTGTAGGCTGTCGTTTGAAGGCAGTGATGCAGACAAGGTTAGGTCGTCGCAAAGGTTGGCTGGAGGGTAGGCACGTGGGTCAGCAGATAAGCGTAGGCAGGCATAGGCAGGAAGGCATTAGGCAGGTAGACGTAGGCAAGTAGACGTAGACAGGATTTCAAATATGACGTGAAAAGGGGAAAATTTCTTATTCTGCGAGGCGATCCAGTATGCATAGGCAGTTATGGCGTTGGCCGGTAGGCGTTAGGTAGGCGTATGTAGGTAGGCGTCGATGTAGCAGGTAGGCGTAGTCAGGTCCTAGAGATAAGCAGGTAGTCGTGACCGGATAGGCAGGCAGGTAGGCGCATGCAGATAGTCCTAGGCAGGTGGGCGTAGGAACGTAGGCGTTGGCAGGTAGGTGAGGTAGGCGCAGGCAGAGACGTAAGCAGGTAGGCGTAGGCAGGTAGGCGTAGGTAGCTAGGCGAAGGCACGTAGGCGCAGGTAGGCAGGCATAGGTAGGTAGGAGTAGGCGATGCGCACATGAAAACCTTATAAATGTTTCAACCGCATAATCATCATCCCATTTTTCTCTCGATCAAAACGAAAAAATGCCAGCAGCAAACACAATTTGCATCCATTTCTCTCTCTTACTCACTTATATATCCTCACTTTATCCCCCGTTATTCAACCTTCCAAACACTTCCAAAACCTCCAGAACTGCTAGAGAGTAACACGGAAAATATTTGAACTTTTGTCTCGACCAAGTTTTTTTTTATTTTTTCTTTGGATTTCAACAAATTTGATGTCTGTATTTTTTCCATTTTTCGTGCAAAATACGGTAATGAACTAGGTTTTTGCTACGTGGCCTAGAAAATCTCGGCCACCGATTCTGATCTGTTGCAGGCGGCGGCCGCGGCCGAGGGTTTTTCACTTCAATTGATACCAATCCCTCTTTTACGCAAGGAATCACGTGGAGTGTGTCTCTTCATCTTGATTTACGCAGATCTACAAAACATAGCGGGAACTGAGTTCGTATCGTTAAGAACATGCTGACGTCACAGTTTTTTTATCAGCGTGTAAATGTAGAAGCATTCCGGCATTTTTTGTAGATAAAACCGCAATGGGACAGCCTGGCACCACGTGCTCTTCAATGGCAACCGTTATATTTTTTTTGACAAAATCTTGAATTTTCTAGGATTTCAATGAAAATCCAATTTTATACCAAAACTTAAAAAAAAAATGCTAAATTCGACTAGCAAAAAATGCACCCAGTTTTACAAAAAATCTTTATTTCTGAAAAAAAATTCAGTGGAAAATGTCTATAATATTCAGTATTTCATACTACGGAAAACAATTTTTACAACAAGTTTTGATGTGGCCGCGGCCGAGGTTTGCTTTTCCACGTGGTGTCAGACTGTCGTCTCTCGGCTTGATCTTAGATCTAAAAAAAACGCGGAAACTGATTCCTCATGCTATGTTAAGAACGCGCTGACGTCACATTTTTTTGATCGGAAAATTCCCGCATTTTTTGAGCGTTTGAAACCGTGATGGGACAGCCTGGCATTACGTGAAAACAAACAATGCAAGCGCGCTCAAATGTAGTCGAATATATTTGCTCTACCACCAGATAAATTCCACTTTTTCACAATAAACCTAAATATTTTTTGTGTCAAAATCTTGAGAATTCTTAGCATTCGAGAATTTCCGCGTAAACCTACGATTTTGTTATTGTTCAGGGGAACAAGTGAGCCACAAAGCTTCCACTGCTGCTCCGAATTCGATTCCCCTGAGGCATTTTTGTTCGAAAAAACCCTCGTTTGTCATACTCGTCGACTTTCTTCGAAGTTTTTGTTCTAGTTTCAAATAATTTTTCGTCAATACTTGTTCCTTCCGACCCAGCAGATGTTGTTGGGGGGGGGGGATGGGAGAAAAAAAATAAGAGAAGAAGCAGAAACTCGACACTTTTGTGTCCGCATTTCTCGTAAAGTAGATTTTTGAGCTTTCCAAGGCTCAACCACCTAGCAAATTTCGCCGCAGAGTTGATTTCTCCGGGATAGCGTGGGCTTTCTACTGGAGACCTCACTATTTTTTTGCCTTTTAGTAGAGCTTGTTAATCTTTTTTAATAATTTATTGCAGCTCTATGGATTTTCCAAAAAAAACCACCCAAAAGCCCGAAATAATCAAAATTTTCGTTTTTAAAACGCTAAATCCCGTACGACATGCCGTCCAAAGAACACTCACATAACAATGAAGAGATTTCGCCAAAAAAGTGAAATCCAATTCAATTTATTTCAATTTTGAAGAGTGCGTTCGTCTTTTTTCGACAAAAAAATAAGAAAATGTGTACCTTGTGTAGTTTTCAACAGATTTATTGTTTTATTAATTATATAATAGAAATCAAACCTTCTTTCTGCCGACCTGTAGATGGCTACCTACATGCCTAGTTGCAAGTAAGGAGACCTGTGTATCTATCTAGGTACTTATCTCACACCACCTACATACCTACTACTCACCTCCCTACTCATGTAGACATAAGTGATCCTCAAAAAGGAATGCGGTAGATCAAAAGTTTATGGAAATTTATTTCGATTTTCAGGTTTTTAAAATTGCGGAAGATGTTTTCATTTAGATTGAAGATTAGTTTAAATTTTTTTTTAATTCCGTAAGAAAAAAAAATTATTAGTTTATTATTACTCTTTCTATTCCGAATATCTATGTGAAGCTCTTTTTAATTCCTTGGTTTTATATCTAATCTTAAAATCGCTAATTTCTTGTGCACCCAAGAGATTTCGAATTTTCACGGGGTTCTAGCCTTCCTCCTTGAATTTTTCGCGAGTCGCTCCATATAATAGAGAACCGGGCAACGAGTGGGAAAGTCGTGTACTCCACACGGACAAATACATTTAGTTTACAACTGAAACCGAGCCGCAAACACGCAACGTAAATCTACCTCAGATATGGCCGTGCTAAAATGGCCTAGTTCGGCCAAACTTCCATTTCAATTTATGAAGCCCAGAAATACCGTGTAATTTTTGCGCCATCAGAGACGCCATGTGTCGATTTACGAGATTGTTGTATATTTACAATCGGGAATGCGTAATATTTACTAGAATGCGGATTTCCGTTTTTTTTTTATGAAAAACGTCATCCACAAATTAAATTCGGCGATTTTAAAAATCGCGTTAAATATAAAATCAGGGAAATTTTTTAAAATTTTTTCACGTAGGATATCGGAATACAGGGGAAAATTTGGAGGCAAAAACTAATGTCACCCTGATCATGTTTAAATTCTTTAAACTATTGATGAGAATCCTTTTTTCCTAAAATGAAATAATTTCTGACTTTTTTCTCTTTTCAATAAGAAGCTAAAAACAGACGAACCTATTCCAATTTCCCACCACACCAATTCATTCTTTCCGCATTCTTCTTCTTCCATTATTTATCTACCTTTTCCTGCATTCTCTGTGCTCTTATAAATAGTTCCATCATCCCATTTGCTTTCTTGTTGTGTGGTATGCACTTTTTCAGGTCCATAACCTATACGAAAATTCGATTTCATTTTCCATTCTCAATTACATTTTAAAAATTTTTTAAAGCAAATCTCGCCCTGAGTCCATCGATTTTAAAATACGTTTTTTGGTTTTCAAGAAATTCCATTATGAAATTCGGTGTCTTTCAGACAATTTTGAGCCTAATTAAACAATTTAAACTTTTGACTACATCACCTTAAACTTAATGCCGTTTAAACTTATAACTTTTTCAGAATCCCATATGCTATGGAAGTATTGCACTTGCTACACCGGCTAATTCTCATGATCCTGGTCCTAATCCCATGTTTCTGGCAAGCTTACGATTATCCCCGTTCTCGATTCTCCGATTCTCTGATCTATCAAGAAATTCCGCGCAAAAGAGCTGATGATTTCAAGGGAGTTTTATGTGTGCTATAGCTTACTGACAGGATTTCAAAAAACAGTTACGGTAAGATAGTTTTTTCGAAAAATTCTTTCACGGATTTCTTGCTTCTTGCCGAACTAGGCCATTTTGGTTCGGCCATATCTGGGGTAGATTTACGGCGCGTCGCGTGTGGCATCGCGGCTCGATTTTATTAGTAACTAAACTAAAGGGATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAATCATGGGGAGCGCGAAAAATTAAATGAGGAAGGCCAGAACCCCGTGCCTGTATAGGATATTTTGAATCTCGAATTTTAACGAAGATTTGATTGTTTGAGTTTGAGGTCGGAAAATAAAAAATTCCTTTACGGTAAATTTTCGGATGCAAAAATGTGATTCTGCTGTAAAAAATCCGAGAAAGCCAAGAAATGTGCGGAGCCTATTTTCCGATTTTATATTACGTGGTTGGTATTTCAAAACTTCAAAAATATCAAATTCGGAAAAAAAACCGCTACTTGGTAAAATTTCCTCGTAAAATATTCTCCGCTTACGCCGCCCCTCTCTGGGCATTTGGAAATTTTTTCGTTAAATTTGTTGGAATCTGAAATTAAGTCCAAAAAGAACCAAGAAACGGGCGGTATTATGGGATTGAGACATGGTGCATCGATATGGAAACGGCTTTTCTCAATTTGGTTTTTTTAAGGATAAGAAACTAGCAAAACTCAAGTGGCCTAGCTTTCAACTCTTCCAGAATTCCATGATACATTCAAACTGGTCATTGCTCATTGACGCTCTCTCTTTATGTCATCACCATAACGAATCCACTCAATTTTCACTCAAGCTGTCATCTCCAGCAGTGTCTCTCAATTTAATCATGCTTGAAATTGTTTTTATAAAATGAAACAACAGCGACATACTCTGTAAAAGCTATTATTAAAAAGTATATATATACACGAATTCCTGGGTGGGGATTGAGACAACGGAAGACATGGAGGAGAATTTGAATTTCATTAAAAAAAAAAGACAAAGAGGTAGGTTACTGTAGCATCCAATCTGGAAGTGGCTGCACAAAGAAGAACCTCCACCGTCAGCAATATGTTCGACACACCTGGAACGTTGAAACGGGGTATTATTTCCTTAAAATTTTCTTAGTCTAAGCCTGAGCCTAAGCCTGAGCCTAAGCCTAAGTCTAAGCCTAAGCCTAAGACTAAGGCTACCTGAACCTAACCCTAGGCCTAATCCTAAGAAAAATCCTAAGCTTGAGCCTAAGCCTAAGCCTACTAAAGCCAAAACCTAAGCCTAAGCCATAAGCCTAAAGAGCTCCCAAACCTTAGCAAAACCTAAGCCGAGCTTAAACCTGAGCCGATACCTCCTAAGCTTCCCTATGCCTATTCCTAAGCCTAAATATAAACCTAACCTAAGCCTAAGCCTACGCCAAGCGCGTCAGAGCCTAAGCTGAGCCTGAGCCTAAAATTAAGCCTCAGCCTGAGCTTGATCTTAAGCTTAAACCTAAGCCCTGAAAATTTTTTTTTGAACTCTCGCACAACAAAATTTGTAGAATGTTATGAATTTAAAAATTGAGATTCTAAAATTCCCCGCCAAAACGTTTAAAAACTTCACATAATTTATCTGTTTAAAATCTATATCCATCAACGGCCATACCTCTTAGATTTAGATTTTCGCGGCAAAACTTGTAGATCATTTCAAAAATTTACTTTCGCGCCAAAGATTGTTCGGCTCGCGAAATTTACAATTTTATAAAAAATGTATTTCACAGAATTTCAAAAAATCGAAAATCGCGCCAAAAAATCCATTTATAAAATTTTTTAAGTATTGTGACGTCATAGACTACAAACTAACCCCTCTATTGCCCCTCACCGTGCTCTCCAATGAGTTCGGCTCCACTTCATCAATCCCTGGGAACAGGCCCGGGTCCTTTTTTTCCTCGTGGGCCTTGTGCACCAATCGGGCAGTCGATACCAGGCATATCAGACGGTCCTGGCGTGCCCGAATTCTCCTCTCTCCGATCGTACCTGCCGTTGGACCCGATGGATGAACGGTTTCGTGTGGCGTCCGCACCCGGGTCGCCCATTTCTCCATCCAGTCCTTGGCCTGAGTGCCTTGTAGGCCTTTGGGTCCCATTTTTCCTAACCATTTTCCGCGAGCCGAAGTCCATTCTTTCCGGTAGTCCTGGCTTACCAGTGCTTACCCTTTCACTCCCTGAAAATTTAGTTTGGGGTATAGGCCTATCAAATAGGCTTACCGTAATCCCAGTGGTTTGTACTTCTCTCGGACACCGGATCCGCACACAAAGACTTATAATTCACAGGAGGCCCACATGGCAGGCGCGCTGGAAGTCCAGGCGCACCTTCCGATCCTCTCGTTCCAGGAAGACCGTCTCTTCCTGGGATCCCGGGGGGCTGTTCCTTGTGGATGACGGCACTCACATACTCGGTGGATCTTGCGGTTTGGCCGGTTTAGGAAATCGTCCATTTCATCTCTTTTCTGGCGGGTTATGTTTTGGAAATCGTTGGCGACAATCGCATGTTTTTCATCTCGAGGGCGCTCGGGTCTTTGGACATTTAAATTTGCTTGAAATTTTCAAACTTGTTATATTATAATTTACAAACTACTGACTTTGTATGTTTTTTTTTTATTACAGGAACACAAAATTCTAAGAATGCGTACTGCACAGTATATTTGACGTGCAAGATATCTCGTAGCAAAATCTACAGTGACTCTTAAAATGCGATGACTACAGTCGCGCTTGTGTCGATTTAGCTCGATTTTCGCAACTTTTTTTCTTTTGGATTTCCTTCGTCGTGTTGTTTTCTAACATCTTTTTCTTTCAAAATTTCAATAAAGCTTTCTATCGATAAATAAATCTTTTTACTTTATTTCGAAAATCGCCCGTAGATCGACTCAAGCGCTACCGAGTCATTTAAAGGTTCACTGTAGTTTTCGCTACGAGATATTTTACGCGTCAAACATGTTGATACGCATTCTCGAATTTTGTGTTTCTCTCCATCATACTGTGTTTTTTGGATTTGAATGGAAGGAAAAGCCCGAAACTTTTAAAATTTTTCGGTGCATTCGGTATCCAAAAAGCTGAATAAACTAATGTGTACAAAAAAATGCCACATTTTATTGAAAAGTTGATAATAAAATAATTTGTTCTAATTAATAATGTTTTGAATTTCTCAATTTTGGAATTTTTGGATTTTTTCGGGCCAGAAAGTAGGCATTCTCTGGAATGATGTTTTCTTCATAATTATATATTCAAAAAAACGGACTCCCACAAAAAAAGGTCCGAGAGGCGAACAAGGTTGTAAAACTTGCTATTGTTTATTTACAACCGCCATTAGACACCTATAGGGGTTGTAACAAGCCACATAACAATTTGATAAGATGCACACAGTAGGGAGAGAGGACCTGATTTAAAAATATAAGGAATTTTCTCATTAGATACAATTTTTCTCTATTTCTTTCACGGTGGAATATCGAGAGGAAAATCAGCGAAATTTGAAATTTTTGAGAGGTTTTTTTCTAAACAAAAAAAGATTTGAAAAATTTCAAGATATTCTGTGTATTTATCGATAAAATTTGAGAAATCAAGGGGGTCGTATAGTAGTGAGACGGTCGGTTTTTCTACTTTCAGCTAACTATATGAAATTTCATTTGTTCAGAGACGGTTTTCTGACATTTCAAATCAAATGGCATTAGCTGTTTTTCATGAAAAGTTTCAGAAAGTATCAAAGCTCGAAATGTTGGGAGGGTCGTATAGAAGGTGGACGCACTAAAAAAAAAGGAAGTGGTTCTAATTATTACGGAAACACCAAATTCTGAGAATGCGTATTGCAGTCAAAATATGCGCAAAACTTCTCGTAGCGAAGACTACAGTAATTCTTTAAAACTTTTGAAGCGATCGTGTCGACACGTGGTGCCGGGACAGATTGTCTCAATATTTCGGCTTGATCTACGTAGAACAAAAAATGCGGGAGAAGAGACGCAGACTTCTCAGCTTACTGATTTCTCATGGGGAACCTGCTGACGTTACATGTTTTCGGGCCGAAATTTCCCGCATCTTTTATGTGGGTAGATCAAACACACCGTGATGGGACATGGCAATATGTGTGTCGATTGTTGGGTTTTTGAAATTGATTAAAATAATTTAGTTATCGATATTATATTGAAATTAAACAAACAGTGAGAAAATAACTCGAGCACGTAAATCGACACTACAATAGTCATATAAGCTAGAATTACTGACCGTTAGCAATGCCACAAAATATGTTTGCGCGTCTAATATATTGCGCAGTACGCATTCACAGATCCGTCATCCAAGTCAAACTCCTGACAGTACTCGGCATCGTTGACATTGAATTCTGAATAGCCGAGTGTCGAAGTATTGAGGCAAGGGGTCTACGAAACAATGACGACATCGTGGATAGCGAGATAAATAGTGAATCTATGATTCACGTGGCGTGCTTTCTCGAGCATTCTCGTTCATTTTCCAGGAGAAGCAAGAGAAGCCTATGGAGAACGAAAAGTGAGTAAAGAGGAATGATGCGCTGGCGCGGAAAAACGAGAGCGTTTATGTATGGGAGTGACCCAAAGACACGGAAAAATAGATAACAAGAAGAACAAGGGGGCAACTTTCTCTATCTCAACATATCATCATCACCCATAAATCATTATCTCCTTTCTCCGGGATTTCATGAGAATAAATCCATTTACTCGTTTTTTTTGTGTCTTAAGTCTGCAATAAATATGTAGCTAATTTCAACTTTAAAATAAAACTTAATGAAACTAGTAATTCTATCATCTCTCAGCATACCCATTCCTTTCTTTTATATATAACTTTTATTCCACTCTGTATTTAAAGAAATTTCAAGTTTAGAGTCTAACTTGAAAATTGACAGTGATGAATATAAAATTATACGCGTAAAGAATATTTCGAGAGAAGTTGGGAGTGTAGTCTTGGAGGAGGAGAGAGGAAAGAGGTGAGGAAAAATTACGTTTTTTTGAAGTTTTTTCTTTAATTGTTCGAAGGATTAGGCTTAGGCTTGGGCTTAAGTTAGGCTTAGGCTTAGGAATAGGCTTAGGCTTAGGTTCAGGCTTAGACTTAGGCTCAGGCCAATTTAAGCTCAGGCTTTTGTTCAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAAGCTTATGCTTAGGAAGAAGGGTATAGGCGGCCTAGGCTTAGACGTGCACAGGCGTACATTGGCTTAGGCTTAGGCTTAGGCTTAATCATTAGGCTTAGCATTAGTGCTTAAGGCTCAGGCTGAGGCGTAGGCTTAGACCAAGGCGTAGGCTTAAGCTTAATCTAAGGCTTAGGTGTCGACTTAGGCTTTAGGCTTAGGCTTAGTCTTAGGCTTAGGTTACTCTTAGGCTTAGGATCTCAGGCTTAACGTAGGCTGCGGCCTGGGTGAGGTTTCGGCTTAGGTATAGACTTAGACTAAAGACTTAGGTTTCCTAGAATCAGACTAAGGCTTAGGGCTTAGGCTTGGGAGGCGCTACCGAGGCTGGGCGGATCAGAAAAAGAGACCAAAATTCCAGGGAAATCCAAATAAAATCCAGAGAAAATAATAAAAAAAAGGAAACAAAAAACGTGAAAAATGGGCATTCCGCGTCTTCCGCGTCAAAACCCGTTTTCCTTAAAAAACGGACAGAGGAAAGGACCAAATTATGAAATACCAAAGTTTAACAAAAAATATTTAAACATTTTTTTTGCCGGGGTTGAGCTCACCCAGCTGAGCTCACTCCATAATTGCACACAAAGTGATTCTCAAAAAATTAATTTTAGAGACTACGAGGCTAGCAAATGGAATGCACATGCTCTGATTTCTCAGAGCGGAAATGCCCGCCAGGCTCCAAAGAGCGTGTGCTCCAGGAGCCGATGGTCCTGAATCCCCGGCTCCAGAGGTCTGAATGGTATGGATGGAGAGGCTGGGCACAGTAATATGGCTGGTATGTTCACTGTAAGTTGCCCAAGATCTTTTTTGTAAATTCATACTCCAGTCATGAACAGGATGCATCCGTTGCCTAGCGGGTCCTCCAGGTTCTCGCCTGGTGATCATGGATCTCCTGGTAGGGTACCCCGGGTCAGGACCTCCAGGGGAACCCGGTTACGCAACAATTGGGCTTATCGGGCCACCTGGGAGCGACTCGCAGGCCAAGATGGTCTAGATGGAGCTCCTGGCGAGATAGCCGCAGTGGAATGGATGCAGGGGAGATTGTTTCAGTTGATGGAAAAATTGGAAGAAGAGGAGAAGCGGGGAACAAAGGAAGCAAAGGATCTCGAGGAGGGGTTGGAAAAGCTGGAGGGCCTGGGGTGGCTGGAGAAATGCGAGAAAAAGGAGTAAGAGGTGAAGATGGAAAGCCTGGAGAGTCTGGAAAGGTGAATTTTCAGAAGTTGATCGATGCACCAGGGAAATTAACGCGGTTTTGCCGATTTGGCCGGAAACTGTCAATTCCGGCAATTCGCCGGTTTGCCGATTTGTTGGATCTCAAATTTGGCGGAAATGTTTAGAGGGGTTTTTTAAAAGACGAAAACACTTAAAACTTTATCCCCTTTTTTCCCGTTTACTAGGGAATATAGTTAATAGGGGAATTGCTAGGAAGAAAATACAAACTTTAAATGACTGATGAGGTCTTCTGGCTACAAAAATCATTTTTTTCATTATTATCATTTTCATAGAATTTGCTCTCTTCAAAATAGACGTAGGGACATACATAGGATGCTTAATTTCGCCGTTTGAAATTTACATTCTGAATTATCCAAAAAAAATCGGCAATCTGCGGTTTGTTGCCGGAAATTTTCCATTCTGGCAATTTGCCGATTTGTGCCCGATTTGCCGATTTGATGACCGGAGTTAACTTTCAATTCCTGCAATTTGCCGCCGTTCAATTTGCCGATTTTCCGGAAATTTTAATTCCGGCAATTTGCTGATTGGCCGTTTGCCGGAAAATTCAATTGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTCAATTCCGGCAATGGTGTTGGGTTTGCCGATTTGCCAAAAATTTTGGAATTCCGGCAATTTGCCGGTTTACCGGCCAAATTTTCCAATTCACCGGCAATTTATTGATTTGCCGATTTGCCGGAAATTTCAATTCCGGAAATGTGCCGATTTGACGGAAATCTAAAACATTCTCCGGCCGAATTTTCCAAAAGTATAATTTTTAAGCCCGGCGCACCTGGAATCCCTAGAAGTAACTGCCGATGTCCCCAGTAAATCGTCACGATATTTCTCCATATAGAATGATGGAAAATCTGATAATAGTAATAAAGATAATAATAAAATAAATACAGGCAGGAAACGAAAAGCGAGCACTGACGATTGTATGATACCCGAAACATTCAGGAGGAGCACAAAAAACACAATGAAAAGACACAGCTCAGAAAAATTGAAATTGAAAAACTGGTAACGAGACTAGAATCGTCATGATGATCTTGTAGAAAAAATTGGAAAAAAATTAAGAATCTAGGAAATTGATTAGGTTGCACGCAGACTTGACACGAGCTCGGGCACCGAATCCGCATAGGCCAATGTTTTCGCATGCTCTTGAGCCCATGACGGGCAGAGGGAGTCATGATCGATGCATCTGAAATGGGGATATTATTTTTTACGCTTCAGGTTTAGGCCTATCGACCCCCGTTTGGATCTCCGGCTCAGGTCCTTAAATTGTGTATTCAAGCGTAGGCTCTCTCGCTCCAGCCTTTAGATTTTAACTTCGATCTTAGCCTTACACTAAGCTCTACGACTGATCTAGGATATCATACTAAGGGCCACTTTGGGCCTGAGGCATAGGCTAGTATCTCAAGCTTAGGATCTCACGCTTAAGCTCTCTGACGCAGGCCCATAGATTGCAATGTAAACCTTGGCCTTAGCCCCGACTGATTTAGGATATCAGACTTAGGGCCTAGGAGTTCCGGCCTGAAGCTTAGGCTCTCAGATTCAGGCCCTCAGACTTAGAGTCTAAGGCCGTTAGACTACGATTTTCAAGCTTACAATTAGGCTTTCACTTGAAATCAAAATCCAATTAAGTTCTTTAAAAATAATCAAACATTTCTAAACCGCATACAATTTTTTAAAAACTACCCTAAATATTTCAAATTTTAGAGGTTAGCCTGGACTTAAACCTTTAAACTTTTGGTCTCAAATTTAGCCTACAGGTCTGTGGACCTAAGATTTTGGACCTCGGACTGCGGCCCTTAAATCTCATGCTTGGGCTCTAATGTCCTGGCACGCTAAGTCCTAAATCTTTTGATCGTAGTTTCAGGCTTTCATGCTTTCAGGCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTGAGGCTTTCAGGCTTTCAGGCTTTCAGGGTTTCAGGCTTTCAGGCTGTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCATTCAGGCTTTCTGGCTTTCAAGAGGCTTTCAGGCTTACAGGCTTTCAGTTTCAGGCTTTCAATCTTTCAGGCTTTCAAAGGTTTTCAGGCTTTTATGTTTCAGGCTTTCAGGTTCAGGCTTTCAGGCTTCTTTATAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCTGGCTTTCAGGCTTTCAGGCTTTGAAATACTTTCAGGCTTTCAGGCTTTCGGACTTACCGGCTTTCAGGCTTTCAGGCTTCCAGGCTTTCAGACTCAGCTTTCAGGCTTTCGGGTTGTCAGGCTTTCAGGCTTTCAAGCTTGGCTTTCAGGCTTTCAGGCTTTCAGGCGGGCTTTCAGTCAAACTTTCAGGACTTTCAAACTTTCAGGCTTTCAGGCCTCACTGTTTCAGGTTTCAGGCTGCTTTCAGGATTTGAGACCACAACTAGACCGGCAACACAAGTGTTGTCAAATTACTCACCTCTTTGCCGGCGCTTTATCCGATGCATATTTGATGGTATCTCGATTGTCTTTGAAGCTTTTCAACCCGCCCCAAGTTTCCAGCTGTTGGAATGATCGTTGTAACATCAAAAATCATCATCAAAAATCGTGGTGACCCAAAATTACCTGATTCTCAGCCAAGAATCCATCCAAACTTGCTCTACTCAACTCGGAGACAGGAATGAAGTACTTGACGTGGGCTTTTCCCTTTGCCCAATCTTCTGAGCCACCGGATGCGGGGTCTGGAAATATTTTGAAATTTTCTCACATACATAGGAGCCTTAAGAAATAAGCGCTTACAAAGTGTATCTGCACCGGTTCCAACTTTGTACTGCGTGTTGAAGACACTATAAGCCTGAGCTGACTGAGAGGGCAGTGGATCTCTGAAATATTCAGTAAAATATGACCATGAACTTGGGCAATTCCCGTATTTTTGTAGATGACACCGTAATGGCTAAACACGGGGTGCCAGAGTGTCGCGTTTTGATCTACGTAGATCTGCAAAAAATGCGGGAACTGATTTCTCATCGGTTAAGAACGTGCTGACAAATTATATTGAGCGAAAAATTCCCGCATTTTTTTGTTAAGATCAAACCGTAATGGGACAGCCAGGTACCAACTAAAAAATTTACTCCAACCAAATCATTTTTCAAATCATTGGAATAAGTTCTGTTGATGGCCGAACGGATACATCAAAATTTGACTGAGAGTCCGAGTGGAAGGTGAGGAATGTCGAAATACGGTGTCGCTGCACGAAATCTCACCGCCGCAGTCTCGGGCAATATCCGAGAAGGCTGGTTTAGAGGCTCCCTGATAGATTTCCGAGGAAGGATTGATGAGCCGACTTGTCCGTAGAACCAGTCAAAGTTTCGACTGAGGTCGACACCTTCAAAGACAGCGGGTTGTTGAGGGAGGTTGGGAGAGTCCTGAAAGGTTCTTATTTTTGAGATTTTTAACGTTCACAGTCGGAGAATTGCCGCAAAATCTTAGTTTTCATAGCCTGTGTGACATTATTAGGGCGTATCTAAAGTCCAGAAAGCGTATGCCTTGTGCTGTTTTTGCAAAAATTGTGCCCAGTTTTCCCACTTTTTAGTGGTTTTTGATGGGTTAAACCTAAATTTTCTGAATTCAAGTTTTTACTTTTTCCAACTGTTTTTTCAGCCGTCGAATGGCTGTCCTTTTTTTTGGGCAGACAAAAAAATAATCTTTCTGAATAAGCTAATCGAAAACAATTATAAAAAAGGCAATTTTGTAAATTTTTTCTAGTAAATTTTGAGTCCTCTACAAAATAAACTATTTTGGACGAGTTTCAAAAATGTGAAACATTTCTACAAAAATTGCCCAATTTTTGCCCTTTCTGGTGGTTTTTGATGGGTTAAACCTAGATTTTCTGAATTCTGCGTATATAAATTACACGAACAAATTTAGACATTTTTTTTATTTTTAATTTTTTTCCAGCCATCTAATGATGATTAGTTTTTAACAAAAAAAATTTCTGAAACACAATTATTATAAAACAGGGGTGTGCGGCAAATCTCAAAATTTGCCGAGCACGGCGAATTTGGCAAACGGCAAATTTGGCAATCAGCTAATTTGTTGAGCTTTACAATTCCGCAAAAATTTGATACTTAATTTGAACCACCTAAACTACTAATTTCTGAACAAAACGTGTTCAATAACTTGATTTTGTGCCATTTTTCTAAATTTTTGGAAACCAATAATTTTGACAATAATTTTTGAGGCTAAACTTGTATTGTCAAATTTTTGACGCGGGCGGCAATATTTCAAAAATTTCTGAGCTCGGCAAACAGCAAAATCGGCAAATTTGTCAAATTTGCCCCACATTTTTTTTTGGTTCATAATAAAACACTAACATTTTAGATTTTTCATAATTTCCCGTCGAAGGTTTAGCAATTGCTAAAATTCTGAAAAATCTGAGTATTTTAGGAAACCCAAAGCAATGCGGCATGTTCCGACCCCAATGTATTAATACAAATGATTAAAACAAACGAAATTACAGTAGACAAAATGTAGAAAAAAAATTATTTTTGGTCGACTCCAAACGAATTATGAGTGGCAAAAACTTTGTAATAGTCACCTTTTGACAGTAAATAAATTAGAATTTTTTTGAAAAGTTTTATTATGATATTCGGTCATTGTGGGACCAAATGAGTGGTTTTTAACTATTCCGGCACTGGCGCAGTCCAGCATTTGCCGTAATCTTAGTTTACATAGCCGACATATGCGGGCCTAACTGAAGCCCAGGAAGCTTGTTTACAAAAATGAGCAAGCAGAAAAAGATCAATCTCCCCAACAAACCTCTTGCCTGTTTATTACACTTTGGTGGTGAGCGATTCTTTCTCCATAGTCTGATCTCCGGATGTACATAGCTACTTCTACTGTACTCATAAGCATCCGGATTCAGCAGTGGAACAATATTCCATTCGAGTTGATCTACGAATTGCATGATTTGAACATTTGTCGTACTGGGTGACCAGTTGGTGAATGAAATAGAGTACTGTCGATTGTGACACCCATTCACGAGCATGGATTCCTCCGTCCACCCAGATGCCACGTTTCGTACGTTACGCTTGTTGGTGATCTGGAAGTGAGGAAAATTGGGGTGAGATGGGATCACTAAATTGTTAATAGTTTCTGTGCTTCTGTGTTTATGTTTTTTGCGCTCCATTGGCAAGAAATCGCCTGCCCATCAAAAACCGTCAAAAAGTGGCAAAGCGGGGCAACTTTAAATTCCCAATTTTGAAACTCCTCTAAAATGGTTTAGTTCGTAGATAGAGAGGACTTAAAACTGATTTTTCTATAAATTGTCTAAATTTGTATTGAAAACGGGTAATTCTTGTATATCAGAAAATGGTTTAACCCATCAAAAACCATCAAAAAGTGGCAATAGTGTTCTCGGCCATTTTTGCGTGATAAAAATTCACAATTTTGAAACTCCTCTAAAATGGGCTATTTTGTAACTACTCAACATTTCCAAACTCTAAAGAATTGTTCAGAATATAGTGGTTTCAATAATTTTCGAACAGAATGTTTTTTGCCCAAAAAAGGATGGCTGAACAAAAGGCCGAAAGAAAAAGAGTTTTACACTGAAAGCAAAATCGTGACGCGACACGAAAGCTAGGTAAATCGACCCCAGCCGTTCCAGGCCGAGTTCAAATTGCCAAATTCGGCAAACTCTCACATTTCAGGCTATGTATTTCAAGCGAGAAGCGCGTGCGATTTCTCAAAAACCGGCAACTCAGTTGGGAGGACTTTACGAAAAAAAATTCCAAGGTATAATTGGTAGGTTTAGTCATGTTGCATGGTACTTAAAATGTTTTTTTAACTTGCAAAAGTGGCTTTTATTTTGCTTCTTAGTTTTGCAAGCCGAATAATAAAAATATTATCCACGTTTTTAATGCTTCCATGGTAGGCAGCCGCTCGCCAACATGGAAGCCCTACATGTCACGGATTTTTCGCCAGAAATTGAAATGTGGAATGAGCTATGCCGTACGAGGCCAGGCCATATCTGTGGTAGATTTACGGCGCGTTGCATGTCGCGTCGAGGCTCGATTTTAGTTGAACAACTAAATGCATTGTCCGAGTGGAGTACACGACTTTCTCACGCGGGCGATTGCCAATGGCGCGCGAAAAATTGAATAAGAGGAGGGCCAGAATCCCGTGATCCCGTCCAAGCAAAGTTAAAACAACAAGCAAACCTTAATCAACGGGATCTGCCGTCCTTCGTGAGTCGAAGTTCCGATTGGCTGCAGACACATCCGGATATGGTTAATGACGTTCAGGTAGTTGATAACATCATCAAACGATTGGTGATAGGCGTTGTGCAAGGTTAAATTGAACCTGCAATTATTGAACTATTATCATTGAGGAGAACGTGGTGTCTGGGTGCCTCATTTTAGATTGATCGCTGATCGACAAAATGCGGGTGAAGAGAATGATTTCGAATGGTTAAAAACGTGCTGACGTCACATCTTATGGGCTGAAAATTCCAACGCATTTTTTGTAGCTCAAACCCTAATGTGACAGCCTGACACCACATGTATTCACTCACTTTCTGCGGCTCCCTCCAATCATGCAGTCGAACTTGATTCCGAAGCTAATCCCGCTTCCTTCTGCTCGACAATCACTGTGAAATGATCGATGAAAAGATAAGTTGGGCTTAATAGTGTCCCCCCACGAATACACTCATCACGCGTAACGAGCCGTGATGCGCGGTGGTTTGAATAAAGAGTATTTGGACTAGTGATCCCCCGCGAAAACCTGTATCGCGACTACGTGATGCCAGGGTGTCTCATCACGCGGGTTGATCTACAAAAAAAGCGGGAATTTTTTGCCCAAAAATGTGACGTCAGCACGTTCTTAACCCTGGAGCACCGAATTGAAGCAGTTCCCGCATTTTTTGTAGATCTACGTAGATAAGCCGAGATGACACACTCTAACACCACGTGGTATGCGCCGAAAAACTCACTTCTGAACGGCACCAATCATCGTTAACGGAATGCTTAATCGAAGGATCATCGAGCTCTTTCATAAACTGCCGTGTTTTCTCATCGGATATCATCACATGAAACTCCTTGCAAGCTAAGCTCCGACGGGGATTTCCAAAAATCTAGCGGAAAATTTTAGTGTGTCCGGAGGCACCCTAGTATACTTATATTTCAAAATTTTTCTCTAACCCCTCAAAACCGTACTCTACATCGCCGTACTGGCCGAGTGGTCTAACGTTCAGGTCGCAGTCTCCGGAGGGCGCAGGTTCGAATCCTGCGGACGGCAGATTTCTTTTTAAATACTACTCTTCAATGCATGATGAAGAAGAAGAAGAAAAAGAAAGAACGTATTGGCTTTTACTTTTACACTTTTGATAATCCCTAGGAACAGGTTATAAACAGCGATGCAACATGAAAAGCAGCAGTGAGTGAGATGGACAACGAGCTGATTTTGTTCTTCAATTATATGACACCGCTATTTTAATGGTTGGTTTGTTGCGTGGAACATCATACCTTTAAATGGTTGAATTACAAATCATGTAATAATAATGTCTACTTGATTATCTTGGGTCGTCGGCTGCACCATCCATACTGTGAATTTTCTGAAGAATCTTTCTGAGAGTTTACCGGCTGTTGGGGGAGAGTTTACGATTAACGTTTGAGTTTTTGGATAGATCTAAATCTAGAGAAGATCATGCGGCGGTTAGGTATATTTGAAATAAAAAACAATTGACCTAGATATGAAACATGGAGATCTAATGGATTTGGTAAAGTTGAAATTATTATTTTTTTGAAAATTTGTTCATTTTACAAGAAAAGACGAATAAATATTGACCAAAAAAATTTTTTTCAATCAAAAATGTATAAAAATTAATCATCGTTCCTTTTAGCTTTTAAACAGCGGTGGAGTAGCCAGTGTGGATTTTGTCTCCCTAAATACAGTCAATTATTATGAACCAAAATTCAAATATCGTGTAATACAACACTTCAAAAAACTTCTTTATTTCAGATTTTTCATAATTTCTGGCCAGACTTTTTGCAAATTTCCAAAATTTTTCAGAATGTCGAAGTTTCCGACCCCTGCAATGTTTTAATAGAAATGATTGAAACAAAATTACAGAATAAAAAATGTAGAAGATAACTTTTTTTTTTTGGTCGACTTCCAAAATTATGAGTGGCAAGAACTGTGCAATTGACACTTTTGTGAAAATAAAAAATTTTAAGAATGTTTTTGAAAAGTTGTATTATGATATCTGCCTCGGTCAGTTTGGGACCAAATATGAGTGGTTTTTAATAATATTCAGAAGCCACTGGCGCTACTCCCCGTTTAAAGTTCTATGGTTTTTAAAACTCACGTTTTTTTTTATGAAGTCTATTTTAAATCTGGACTCTCAGTCGACAGAGGTTCAGCATTTTTCGAAATTTCAGAAATTTAAAACATAAGTCGGGTCCTAAAAGCTACAAAAAAATTCTCACAAAATGTTTTTTTGATGAAAGCAAACTTATATAGGAGTGCCAAAATGACCAAATTTTGGTTTTAAAAATGATATTGAAAAATCTTTAGAAAGTCTCTTCTGGTTTTTATTTATTTTTAAAAAATTCATATTGAAATATTATAGTGCTTTAGATTGCTCGGAAAAAATTCCACACATTTTTTAATTTTTCATTAGTTTTATAATGATATTTGGTCATTTTAGCTATCTCGGGTAATACTGCAAAGCCACGTGGTGCCAGGATTTCCCATTAAGGATTGATCTACAAAAATGCGGGACTTTTATTCCGCTTAAAAAGACGACGTCAGCTCATTTTTAACCATGCGAAATCAGTTGAAAACTGTGCCGCAATGATTTTTTGTAGATCTAAGTGGGGAGATCAAACCGAAATGGTGAGACATACTGGCATCGTGTCCACCTTCATAGTTAGTAATTGCATAAACAAAAAATACTGAGAATGCGTATTGCACAACGTATTTGACCGAACGCGCAAGAATATCTTGCGTTGCGAAAACTACAGTAATTCATTTACTACTGTAGGTTGGTTTGCCACGCAGGCTGGATTTTTTGAAAAATAAATGAATTAAAATAGTTAATGGAATATTACTATCTCTATGTATTAGTAAATAAGGTTGAACCCGTAATGAGACCGCTGCCTACCTGCCTGATTATAGATGGCCGCCCTAAAATTAGGCAGGTAGGTTTTAACGCCTAGCCAGATACAAAACTTAAAGAGAAATGCCTAAAATAACAATAACTTACATCCTTTCTTATCGTCCTCCCCGGCGATCGCCTAAGATCATAGCTAACAACTAGCCGCTTTCGGTCATGCAATTATTATATTATAATTGATGGATGGATGGGGGATAATCCAGAGAAAGGGGTGAAAAAAGAAACATACCTAGAAAACAGGTTCCCCTGACTCAAAACCTACTTTTGATGTGCCACCACGGATGGCACGACGAGATACGATGATCACGTGTTCATCTTCATCATTTTCATCGTAGTAAAACTTGGGGGGGCTGATGTGGGAAGGATGCCCTCGTCAAGTGTTCGTTGAACAATCCGACACGGTTATCAAAAAAGCAGTGGTGTCTCCGCCCAACTTCCGCGCGTCAGCCGCCCTGTGTACTGTCTTGTCCTATAGCTCTCTTTTCTCCACCCCGGCTTGCGGGTGAGATTGTTCTCATTACTAGGTGAAGAACGTCTCTAGTAGAAGAAGAAGAAGAAGAAGACGACGATGGAGAAGAAGCTGAAGGCACGACGCACTGTTTGCGCCACGATGTTTGTTGTGTTTGCGAGCGTGAGCGCCGCAATTAAAACGTGTAGATCGGTTTGAAAAGCGCGCGCGCGCGGTCATCTTTCTCCGCTTGCGCGCACGCATTGACAAAAGACCGAGACAAAAGGTTCAAAATTGAAGAGGCAAACGTTCGTCCTCTTAGCACCTAAATGTGGAAGCATAAGATTTTGCTCTGAAAATGAAGTTGGGTAAGCTATTCCTGGGTGATGTTCTCAAATTCCGGGGGCATTGTTGGGAAAGTGAGGACCAAAATAGGCCATAAAAAATGCAGATATACATGCTAAGGCTTTGGGGGCTTAGGCGCAGATTCAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTGGAATTAGGCTTGGCGTCAGTGGCGAGCGTGAGCTCGCCACGGACGCTATTTAATTGGGTTTATAACGTTTTTTTTTCGAGTTCCCGTCGAGCGAAATTCAACTGAGAGTCGTATAGGCCGCCGAGAACCTGACGTTCCAAATAGGTGACTTCATTAAAACTCTTAGGCTTAGGCTTAGGCTGTCACTAGGCTTAGGCTTTTAGCCATGCTAGCTGATCCCGAACATATTTTTAAAAATTGCAATATGTGACCAAAAGCTGTATTTTTCAAAAATCCAAAAGTACGCGAAATCATATGAAGTGCTTCTTTTTCTTTCAATAAACTGTTCAGAATTGTCATTTTTACTAGAAAATACCACAAAAATATGCTAGCTTGACCGGAACATATTTGAAAAAATTAGAATTTTTGACCAAAAGCTGTTTTTTCAACAAGTTGAAAAGAACTGGAAAATCATATGCTTCTTTTTTCTTACGTAAAACTGTTCAGAATTGTCATTTATACCAGAATATATTAAACAAAGTATGCTACCTAATCCGAAACATTTGTTTCCAAAATATTTTAAAAAAAAGATTTAGCGGCTCTGACTAAATTGTTTGTTCGTTTTTTCTGGTTTTTCCACTTTTTCGGTGAAAAATTTTGTAAAAAATTTGACCGAGGTGCGTGTTAGAGTTGAATTCATCAAGTTTTGACATTATTTTAGTACGGGCACAGTTGCTGCAAACGAAATTTCCAATAACGCTTATTTCTCGGGATAAAGTTATTCTATTTTTCTTTGCAAATCTGCTAATTCTACAAATCTACTAACCGAGGTGGAGTTGAACACCTTTCCAAAAAGAAGTAGCAGTCCTGAAAATGTTTTAGTGAGGCTTCTCATTATTCTAGAGCCCGAGCCACTAATGTAATTGTTCCAGAAGTAGTTTATAAATTTTTGAACTGATTTTATCCTCTCCATGATAGAGGAATTGTTAAAATTTTCAGATCAAATTGGAATTTTCACAGCCAAATATTTTGGTAAATTTTCCACAAAAAATTGGGCGGAAATTGGAATATTAATTTGATTTAATTCGATTGGAGCAGAGTGTATAATTATTCAAAGTTTCCTCCCTTAACAGCCATTCAAACGCATTCGGCTTTTTTCTTAGTTTAGTTTTTCTTATATATGGCCTGCAGGCTCTCACCAAGTTCCGTTTTACCGGAGAGTTTAAGTGCACAACAAATCCTGAGATCCCATGTTGTAGTTTGTGAAGACGATGAGGTGTTTGAGTAGAAAAATGAGAAATGTTCTAGTATTTAAATATTATAAATTGTTTCAGCGAGAACGTTATCAGTAAACACCATTACGTGTTCCATACATATGCACCACATATGTCGCTATCTCGTTAAGGCTGAAGATACCAATGACGGATTGCCAAAGTTTTTGGATGTATTACTTTTTTTCCGTTTTCTCTAGTATTTCTCAGAAAATTTGAATTTCCCGGTCACCAAAATTTTCCGAAAATTTGAATTTCCCACCAAAATTTTTTATCAGAAGATTTGAATTTCCCACCAAAAGTTTTTCAGAATTCAAAAAATATGAATTTCCCACCAAATTTTCATTTTTTCTCAGAAAACTTGACCGCCAAAGACTTTTATCTGTCTCAGAATTTTGAATTTCCCGCTAAAAAATGTTTCTTAGATTAAAAGTCCCGCTAAGTAAAAAATTTTCGTGAAGAAAACTAAAAACCCCCGCCAAAACTTTTTCTCACGTAGGAGTTTGCATTTGCCGCCAAGAAGTTGTTTTCCATAAAATCTGATATGAAATTCCCACCCAAATTTTTTCTCAGAAAATTTGAAATTCCCGCTAAAAAATTTTTCTTCAGAAAATTTGAATTAGTCCCGCCAAAAAATTTTTTTCTCATAAAAATTTCGCTAAGCCACCAAATTTCGCAGAAAAAATACCCGCCACAAAAAGTGAACATTCTAGGAGTTTAGACTGACAGTTTACCGAAAAACCTTGACTGACGATTTTGGAAGATCGAATAACCTCTTAAATAAAACCTCTAACTCGTAAAAATTGAAAATTTAAATATATAGCTTTGCAGTCCTATTTAGACGTGTTATACATGATATCGTCCACGATTGCACGGAGAATGGGAAATATAAGTTGTTGAGTTGACTTGGGATCTTATTATATCAAGGATGGGTTAGGTACTTTAGGGCAGGCTAGCAAATGGCTTCCACGTGAAGCAGAAGCGGTTTGCCGGCTTCTCGCCTGATTCCTGCACTTTGGCAAAAATTCCAAGCCTCGATGCTCACACATAGGGCTGGCTTGGACGTCGCGTCGGTTTTTGGCAAATTTTAAATCTTTCCGAGATAGTTTTTTTTGTACGGCGACGTCCGACAATTTCCGAGTTTGGCCACTCATGATTATATTGGATTAAGTATAGTGCCCCGAGTGGCCAAACTCGGAAGTTGTCGGCCGCCGTAAAATAAACTACCTCTCGGAAAATTTTAACATTTCAAAAAACCGGACGACCGGACGCCATATGTCAGCCCTACTCACACCAAATAGTACGGTCTATAAGCGGTTTTTTTGCCGCAGGCCGACACTTTATGGTTTCCACGCCGCACTGTACAGAAGGCGCGGCCCGAGGCAGTTGTCAGGCGTTTTAGCGCCTGTGTGCAAGCTCTAGGGCAGGCATGTTTTCAAAAAAATGAACATTTTCAGGCAGTACGATGAAACCCGCAACCTTGATCTGAACACTGCCGGTGGGACGAATGGACATACGAAGTATCGGAAGAAAGGCGATAGTGATGTCCAACATATTTATTTGCAATGTTTGATAATAATGTTCATCAATATTCGAGCCTACGTAGGCTTACCTGCCTACAAAGTAGCCTACATATATTATTTTTGCTAATTAACAAAAATAATTAAAACATTATTAAGATTTGCTGAAAAAGCAAAAAGTGTTTTTAAGTTCGACTTTTTGCCCAACAGGTTTACGTTAGGCATGTGACAAAGCCTACATTCAAGGTAATCTACGCCTGCCTCGGTACATGGTGCATCGACCAATACTTACCTCTTAGCTTCGAGAGGTTATAACACGGTTACATTTCGCTCTATCAAAATAAGTGGCCAACTGCAAAAACTGTTCTCCAATGCTTTTTCTACAATTTTGTGGTTAAAATTTTTTTAATATCTACACTAGCAAATATAAGCCACCAACCCGTACAATCCGCGCCGCCCCCCGAGAAAGCAATTCAAACCCAAGTTTATTGCAATAAAAACAACACAGTAGAAACGAAAGAAATGAGGTTGATTTTGGAGACTTTTCAGTTGGCACGGGTTTTACATTGTTGGCATTATTCAGATTCGATTGAGAAGGAGAAGTCGTGGGGAGGCTGAAAAGTTCTAAAGTTGTTGAAAAAAGTAACAAATCTGCACTTTTTTAAAAACCTGATTCTTCAAGACTTCCATCCATGGCCATAAGTGCACTGAACAGTCTGTTGCTCTTGCTCTTTGTGCTCCGTGTCCTCGGAGCAATCATCAACCTTGTCTGGAACTGTCGGTGTTGGTCAGTTGACGAAGCCAAGGAGGAGGATGGTGTCGCAGTCTTTGGTTTGGGAGATGAGGGCGGAGCTGGCTGAATAGCGGTGGAATTGGAGATGCAATCTTTTTGGGGTTACTGCAGACTGTTTGCTCAAACTCTTGCTCCGCGATTTTGTGCTCTTTTTTGGTTTCTTCTTTGAGGGCTGGTTGTGTTGCTTCTTGCTTTTATCTGAAAATTAGAGTTTCTAGGCAATCAAGCGATTTTCTAGGCGACCAGACATATATTTAGCCATGTCGGAATTTTCTAGGCCAACACAAATAGTTCTAGGCCATATAATTTTCCTAGGCCACGTAAAACTTTTCTAGGAGACCACCAACAGTTTTCTATGACCGCAATTTTTGCTAGGCCACCAACAAAAGCAAATGAACATAAGACATAGGCCACCAACAGAATTTCAAATTTTTCTAGGCCTTTAACTCACATATTTCACAATGGAAGCGGCGGCGAACACGATGAAGGGTACAATGAGAATGCCAATGATTATGCATTATCACTACTTTGGTCCTGGCGTAGTCGATGTCGCATGCTGCAAAAATGGAGGTACAGGAAATCAACATGCAAACGCGCTACCGTGGCACTAGCAGTGCGGTAGAGCGCGTTTCAAACTAACAGCCAGAAGTTGGCGCCGGTGCTCGCTGAGTGGAGGTGGCCATTTTATCGGAAATGAATGAGAAAATGGAGAAATTTGGGAAAGTTGATTAGAGACGTGGGAGTTTTTTGAATTTTTATAATATTTATGAGTAGGGGGAAGGGGTGAGGGTCACAGCAGGAAAAGACCAAAAATTTGTGATTTTTCCATTAAATTGGAGGAAAATTGACACCATACCTCGTGGCCTAGAAACTGCAGAATTTCTAGGCCACACACGTTTCGTCATAATTTACCTGTTAAACCAGGTAAACTATCAAATAAAGAGTGATTAATCATCTCCTATCTTCTTTTATTGCTCAGTTCCTACTCCAAATGTTTTCTTTTTTGTAATTTGTGATCACAAATTGTTGCATTTTAGTACGCCATGTACGTCTGTGTACTACTTTTTTCTGAAAGAAAAAATGTTCGCTTTCAAGAAAAAATAGTGAGAGGTACAACCGAAAAATACGGGGGACTAGAAATATGTGAATAAGAGTTCGACAACCTAGGCCGGTAGGCAGGCAGGCGAGTAGGCAGTTAGGCAGGTAAGCAGGTAGGTAGGCAGGATAGTAGGCAGGCATAATAACGTTCAGATGCAGGCACGTAGGCGGATGTTTCGAGCAGGCATGAAAAGTCCCGGGGGTAGGATGTGGGTATGTAAGCAGATGTCGGTATGTTGACAGTCATGCTGAAGGCACGTGGGTAGGTAGGCAACTAGGCTGAGGGAGTAGACGGTCGGGTAGGCAGGCGTGAGGCAGACGCGTAGTAAGAGTAAGCCAGGTTGCAGGCACGTAGGCAGATGTAGGATGCGTATGTTTCTTGTAGGCATGCTGAAGTCATGTGGGTCGGCAGATTGGTAGATGTAGTACGCAGAGTAGGTATGTTGCGGGTATTATGAAGGCACGTGAGTGGGTAAGAGCAGAAACCGCAGGTAAGGCAGGCAGGTAGGTAGACATGTAAATATGACAGGCATATACGGAGGGAGAACAAGCCATAATTCAGGGTGGCACTTAGGCAGATTTAGGTATGTTGTAGGCATGATGACGTAACGTGGGTAGCAGAGAGGCACGTAGGCAGGCTCGTTAGCTGGCAGGCATAATAAAGACACATAAGCAGGCATGTAAATCTGCGGCAGATACGTAGGATCACAAGAGCAAGATGTAACTGGTAGGCACGTAGGCAGGTGTAGGTATGTTACAGCCATGACGGTGGGTATGCAGGTAGGTAGGCAGCCAGGCAGGATAGGTGGGTGCATAAAAGACAGGTAGGCTCTCGGGTAGACAAGCATGTAAAGGTGCAGGCAGATACGTAGTAAGAGCAAGCTAGGATGCAGGCCCGTAGGCAGATGTAGGCATGTTGCAGGCATGATGAAGGCACGTGAGTTGGTATGTAATCGGTGAGTAGGCAGGCATGCAGGCACATAGGCAGATGTAGGTATGATTAGGCAGGCAGGTAGGAAGACTCAATGCAGCCGTGGTGCTAGAGCGCCCCTTCCTAGTTAAGACAATCTCGTTATTCTAATAATAAGCTATTCAATCATGTCACCGCGCCGCATACACAAACTACCTGTTTTTTTGAGTATGAGTCTCGCCCGTTCTCTGACCAAAAGCTTCTACAGAGTGATTACACAGTATAAGGGGTAGAGAGGTTAGATTCAATCATGTCTCACTTTTTTCCCTTTCTCTGATTCTTCCTTCTCCCTTTTTTTACAGGGCGCTTTTCCCTTTTTCGTGCGTGAATATGAAGAGAGAGAGTGCATACAGGTGTAGAGGACGCCCAGACATCGAGACGGAAACAGGTTCTTCATCGTCTTCAGTTATTTGGAAGCAGGAGTAAAAGGTGACGGTGTGTGTTTGGAGACGTGTAACCATCATGTTTTATAACACTTCCTTGCTCATTTTTCTCTGCTTCTCTGCCGTCTCTCTATACACACAGTCTTTCGCCGTTTATTTATTACCCAATCACAGACGGATCAGCTATACAGAGGTTATACAAAAAGCGACGGCGGATACCCTCATGATGTGAGTTTTGTTTTCGCTTTTGCAGCAGATACAATTTCTAGGCCACCAAAAATTTTTCTAGGCCGTTGAAAAAATCACTATTTCTAGGGACGTTCACAATTTTGAGCAAGTTCTAGGTTGATGAATTAGATTATTACGCCATGGTGCATATTTCTAGGCCATCAGGAAATTTTGCAGGCCACCGTTTCTGATGCAGTTGAACTAAGTTAGTGGCCTAGAAAACCCTTTGCCCGTTAGCCTAGAAATAATTACGGCGCCCTAAACACATTTTTGGAGGCCTAGAAACACTAACTTTTGGTAGCCTAAAAATTTTCTGTGACCCACATGGAAACATTGTTGGCGGCCTGAAAACATTTTTGGAGGCTTAGAAATATTCTTGGCAGAAAACATTTTTGGTGGCCGAGAAATTTCTGGCCTAGAATGTTTTTGTGGTCTATATTTTGGCCGGCATAAAAAAATTTGGAATGGCTTAGAAAAATTTTTTTGGTGGTTTACAGCCACTTTTCAACGACCCGTAAAGAAACATTTTTGGTGGCCTGAAAAGATTTTTGGTGGCCTAGAAACATTCTTGGTGGCCTGAAATTCACATTTTCGGTGGCCTAGAACCATTTTTGGAGACCTGGAAATGTTTTGGTGGCCTAGAATATTTGTCGTGGCCAAATAGAATATTTGTTTGTTTGTCTAGAAATATTTCTGCGTAGAATGTTTTTTGGTCTATAAATAATTTTGGTGGCCTAGAAATATGTCTTGGAGACCTGATATCATTTTTGGTGACCTCGCATAAATATTTTTGACAGCCTAAAAATTTTCGGTGGTCCAAGAAATATTTCTGATGGCCTATAATGGTGTCGTGGTCTATAAATATTTTTAATAACCTAGAAACATTTTGACTGGGGGCCTTGAAACATTCTTGGTGGCGCCCTAGAAATGTTTGTTTCCTAGAAACATTCTTCGAGAAACCTGAAACATTTTTGAATCTGTGGCCTAGAGACATTTTTTATGGCCTAGACACATTTGGATTTGGTGGCCTAGAAATGTTGCTGATGGCCTATAATGTTTCTGTGGTGTATAAGTATTTTCGGCGGCCTACAATATTTTTGATCGGTGACCTAAAACATTTTTGGAGAGCTGGAAATGTTATTTTGATTGCCTCGAAACGGCTTATTTGTACTGTGCTGAAACATTATCGGTGGCCCAGAATGAGACCTGAAAACATTTTTGGTGGCCGAAAAAATTTTAGTGACCTAAAAACTTTGGGAATTACCTGGAACCAATTTTGGCGACCTAGAAAAATTTTCCGGGGCCTACTAAAAATTCCCAATAATTAACAAATTTAGCTAAACTACTTCTGGAAAACGGGGACAAGCACGGGTCTTGGCATGTGATGGGGATATGAAGAATTCGAAATATTTTTTGGACTTTCTACAAGTAAGATATTTCTTACATAAAGACGAATCGTGGAGGGGTGAGCTTTTTCTGAAATTTTGAAAATTACATGATGATTGGAATATCTATTGATAAACGGTTAGGATCGCAATTTAACGATGATCGACAAGAATCTCCGTAAATACACAACGGCACCACATCTCAAAAATTCGTAGGCCACACGTGTGACGCCATTTTTCTTCCAGAATAACAAAGCCCGTGAGAACAACAAGACCCTCTCGAACATGTGTGGTCCCCCGTCTGTGGGATGACTCCTCGTCTGTCATCTCATTATGACTTCCACACCTATGGATCCTATCAGCGAATTACTGATTGGAATCAGCTGGTGGTGAAGTACAAAGATGGTTCAGTATATATCGATTGGAAAAATACGGAGGGCAGGAATATCGGTGGAGTTGAGGTAGGTCTAGCAGGCTTCGGTCTAGGTCGAAGTCTAGGTTTAGGTCTAGGTCTCAGTCTAGGTCACTTAGGTCGAGGAATCTAGGTCTAGGTCTAGGTACTAGGTACACTAGGTCGAGGTCTAGGTCTAGGTCTAGGTCTACGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTTTAGCTCTAGGTCTAGGTCTAGGTCTAGGTCTATCTAGGTCTAGGTCTAGGTCATGTCTAGGTCTAGGTCTAGGTCTACTAGGCCTTCTAGGTCTAGATCTTTATAGGTCTCGGTCTAGGTAGGTCCTAGGTCTAGGTTGTCTAGGTCTAGGTCTAGGAGGTGTACGCAGGTGTAGGCCGATCGATTTCTATGTGTATTAGGCCTCATAGTGATTTTCTGAGATCGGCGGAGACTCCCGCACCAAAAAGATTTTCTGGATCGATTGAAGTATTCATGCTCGAGAAGGGGCGGCCCCGAACACGCCGGTCCCTTTGTTATTCATCCATCAGGTATGTGATCCGGCCCCGTCAGAAAAAGTGTGTTCCGTTTAGCTCCGCTTGACACAAATGTTGGCAGAGACAGAAAAAGGGACACCTTGATAACAAATGGGTTGGAAAACAAGGTAATCGGATGATGCAATCGCGCCCTATTGCACTACCTCAACAAAACACTTTTCCCAGTTGCAGCTTACCTCCAGGGAAAACGCGCCCGGAATCAAGAAATTGCTGAACGACGTAAGATCACATTTGTAGTGGTTCCCTGATTGAATCCAGTATGAGTTCACGAGGTGCTCCACCCACATGTAGGTTGGGGTAAGGTTACTGTACCCCCCCCCCCCCCCCTCCGCAACTCAGGCGCAAGCACTCCCAGCGATTGCAGGTACCGTTCGTCTGTGGTTCCGTAAGCTCGAAAAAGCAATGCCGTAAGGACATTTGGGAACGCAATCACTGCTGTCGCGGTGACGATTTGAATCGTAATTTCGATTTACACTTTAGAGATGAGAGAGAGGGTGAAGTGGTTTTTCTGAAAGTGGACTTGAAAATTAAGAGTCAAAGTTTTGAAAGAAAACTTTGACTAAAAAAAAACACCCTTGAGAATTTGTTCGAATATACGTAGTTGCTGAAAATTAACGTTGTGGAACATTCTAAAACCATTTGAATTTAAATAATTTTTTAAACATACCAAAAAATCATGGGTTCCAAAATTCACGAAAGTTTCGAAAGGTGATTCCCTACTCCTGAACAAACCTCCCCTACAGTATCCTTAAAGTACCCTACTCCAGTACCTATACAGAACTCCTGTAGTACCCTTACAGTCCTAAAGTATCCCTACAGTACCCCTACAGTTGCCCTATAGTACCCCTACAGTAATCTCGCAGTATCCTTACAGTAGCCCTACAGTATCACAGTACCCCTACAGTATTCCTACAGTACCCCTATGAACAGTAGCCCTACAGTAGCCCAATCGCACTGAGCCTTACAGCATCCCTAAATTATCCCTAGATAATCCCTACAGGTGTACCCCAACAGTACCCCTACAGTACCCCTACACCATCTCCATAGTACCCCTATAGTAGCCCCAGTAGCCCTACAGTTCCCAAACAGCCCTTATAGTGCCTATACAGAACCCTATAACATACAATACACCTACAGTACCAGTACGTAAATTACCCCTATAGTACCCCTACAGTACCCTGGCGGTACGTACTCCAACAGCAATACCCTACAGGACCCCCATCCCTACAGTACCCCTGAAGTACCCATACGGTTTCCTTACTGTATCCCGTGAGTATCCCATTACAATACTCTCACAGTACTCAGTACCCCAAAAGTTCCCATACAAAACCCCTACAGTACCCCGACAGAACACTCACGCTACACTCCCGTATCCCTACAGTCCCTGAAGCTACAAAAATTTCCCCCCAACAATTCAAAAAAGCGGTACAAGACGAGCCCGTGCTCAGAGATCTACCAGGGATCCTCTCGATTCAGTGAGCCCGAGGCAAAAGCCGTACGGGACGCGTTGTTGTCGCAGAGATATTAGGGAAGAACCGACGCGCGCCTATATCACACTACACACTTATTCACAGGGAAATGCAGTTAAGCAGTCGTCTTTTTCTCGGCCACCGATCACATTTTCTCGGCCATCGATATTTTCGCCATCGAATTATTTTCTCGGCCACCGAAATTTTTCGCGGTCATCGATATACTCTCGTTCACGCGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTCACCGATATTCTGCCACCAAAATATTGTTTTTCGTGGCCATCTATCCCATTTTCATCGGCCATCTATATTTTCTAGGACACCAATTGTTTTTCTCGGCCTCCCCGATACTCGGCTACCAACATCGTTTTTCTCGGCCACCAATTTTTTTCGGCCTACATTTTATGTCTCGGCCATTAATTTTTGACGGCAATCCGAAATTATTTCGGTCACCGATATTTTTCACGGCCATCCGCCAGAATTTTTTGAAAATTTGATTTGAGCAAAAATCTTCAGATTTGGATCACACGTCCATATGGTCACAAGAAGGATGCATATCCAGGAGATATTAAGGATTTGGTGAGTTGGATGACGCGTCATTCTTCTTGAAACGTTGAAAGTCAGATTTCCAGTACGAAGTTGGCATAAAAGCTGCTCAGGCTCTGAAACGGGTTTACGGCACAAAATACGTAGTCGGAAGCGGTGACACGCACAACCCGGCGTCTGGAGATCTGAAGCTTGGGCAAATATAGGCGCGAGGCGAAGGTCAAAGTTGTGTACCTTCTAGAATTGAGGCCCGACGAGAATATAAAAAAAACGTTCAAAGTTCCTGAAAAGTTGGGCGATAATTTCAGCCTGGGATGGGGTCATAACGAGAAGGAGCTGATCCCGACACTCGGGTCTGGTTGAAGGTGTCCGAGTTGTGGCGGAAGCTGTGCTCGATCGGATAGTAGCCGGCAAGTCGACGGATGCTCCAAGAGGTAGGCAAACTTTGATGTGCCTGCGTTCCTGCCTTGTGCCTATAGTTTACGAATAGGCACGGAGCAAGTAGGCAGCAAGCGAAATGTGGACCGATAGGCGTAAGGTTAAGGGCTTGCGATGCTTTTGCGTAGCGAAAAAAAGAAAAATTTTTAAATTACAGTGCTCACGGCCTAAAGGAGATGGCTTCTTAGGTAGTCACTACGATGCTCCTTGACTCTCTGACCACAGCCCCTTGGTTTCTCGATTTTTCGTTTTAGAAATTACACTTGTTTATTTTATGATTGTTGACACGCTAAATGTTTATTTAAACATAATTTTTCTTGAAAAAACAATTTACATTTAGAGAAAATAGCAGCGAGTCGTGGCCGCGGAATGAAAAACTCGACCACCAGCTATAAAATTAAAACGTATAATAATTTGGTGGTTACTCAGTTTTGCAGAAAAGAATGGCTGGCCGAGTTTTCACGTTTCTAGGCCATCGGTTAGCAAAGTTGCTCTGAAGCGCTTTCGCGAATTCGTTTCCAAATAAAAACTGTAGGTGAAAACTCGACCGCCCACGCATTCTTAAAGCCACGAAATCGATTGGAAGTTCATAATTTCTCGGTCACCAATTTTTTCACGGCCACCGATATTTTCTCGGCCACCGAAGTATTTTCTCGGCCAATCAAAAGTTTTCTAGGCCACCAACTTTTTCTCGGCCATCTATATTTTCCCGGCCTCCGACATTTTTTCTCGGCCACCGATATTTTTCGCACCCGTCTATATTTTCTTGGCTACCAATTTTTTCTAGGTCTCCGATACTTACTCGGCTACCAACTTTTTGTCATAGATATTTTTCGCAGTCATCTACCTATTTTCTCGGTCAGCGATTCTTGATAACCCGTGTTTTTCTCGGCCAACGATATTTTTCTCGTGACCATCGATATTTTCTACCGGCCATGCCAAAATTCATTCTCGGAGCCACTTATATTTTTCTCGGACACTAAATTGATAATTTTCTCGGCCACCTATATGTTCTCGACGACAGATTTATTTCTCGGCCATTACTCTACGGCCTCCACCGACCTTTTTTTCGGTCACCGATTTTTTCTCCGCCATCTAGATAATCTCAGTCACCAACTTTTTTCGGTCATTGATATTTTCTCGGTCACCAATATTCGTTTCTCAGGCATCAATATTTTTATCGTCCACCGGTATTTTATCGGCCACCGAAATTTTTCGCGGTCATCGATACGTCACGGATATTTTTCCCAGCAAAGTTTTCTTCTTCACCGATATTCTCTCGGCCACCAAAATTTTTCTCGGCCCCGATTTTTTTTCCACAGATATTTTTCTCGGTCATATTTTTCTGCCATATTTTTTCTCGGCCCTCACCAATTTTTTTCTCGGCCTCGGAGTTTTTCGTGGCCATCTATATTTTCATCTGCCGTCTATATTTTCTAGGCCACCAATTTTTTTCTCGGTCTCCGATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTTGGCCACAGATATTTTTCTCGATTAATTTTTGACGGCCACCGAAATTTTATGGTCACGATATTTCACGGCCATTGATATTCTTTTTGCACGGTGATACTTTCTCGGCCACAAATATTTTCTCGGCCACCGAATTTTTTCGCGGTCCTATAAATTTTCTCGGCCTCAGCAATCGATATTTTTCTGTCTAGTTTTTTTTTGGCGGCCGTGACCTCCAAAGAATTACAAAAATAAACGATACATCTCATATTTTGTGCAACCTCAAGTACCCCCCCCCCCCCCCCTATATATATTGTTACAGAAGCCCCAAAAGCTCGCGCATTCCGATTCGGTGCGGCACCGAAGGAGTCTATGATGTTTCGATGTCCGAAACGCGTGCAAACGAAGGGTTCAGGAACGGCATGAGGCAGGACGGTGCCAATTTTCATGCGAGAACTGTGCCTACTCTTGCAATTTCTGTTGATTTTTTTGGTAGCACGTGGCACTTCTTATTTTCTGTATATCCATTTTGTCTTCTACATACAGGAATATATATATATATAGGATATGTTTAAAAACCTAAAACCTAAAAAAAAACCAACCTAATACAGTGTTCGACGAGCGTCCCCCGCCGCCGGCGGACACTCATTATTTGCATTGTGCTCACCGTGAGGTCGCGCGGGAGCCCCGGTGATGAGCATCTCTTTACGATGTCCACACGAATAATACAATAACACGGGCTCCTCTTCAAATATGACAAAATGTCTTTGGCGTTCTCTCCTGACTTGGAGCTTCTGGGTCTTCGACCCGTTCTTGTCTGTGAGGCGAGATGCGATTACCCTCTATATTATTTTTGGAGATTTTTTGGTTTTCTAGGGGCTGCGCCATTCATAATACAGATGATAATGCCGGCTATCATAATAAGTCCACAAAAGTACCCATATGGCCTTGAAGGAAAACTCTTCTTCACTCTTGGCGTGGGGACATTTGGTTGTCTGTGCTAGGTTTGATGCTGAACATGGTAATTTAAATTTCCGAGGCCATTGTATATGTTTTCTTCTAGGCTACGACATACAATTTTTTAGGCCACAAAATATTTTTTTTTAATTGTATAAAAACGGAATGTTCCATAAATTATCTATTTTTGAATTACAGTTAGTCTGAAAATTTTTTTCAAGGGCACCTGTCTAGGTCAAGAACGGATTTTTTACTGCCGGAGAACATAGGCATCAACTTTTTCTGCCACGATTAGACAGATGGAAGAGCTTTTCGTAAAAAAAGCTCGGCCTCCACCCCACCTAACCCGGCAAAAAACTTGCAGCTACAAACTAACGAATCAATCCGGAAACTGACGGAAGTAGGCGTGAGATATCTTCGAAGTCTGTAATCCCTCTCGATCTGGATTTCTGGCAGCCTCCTACGAATATCGGTTAGTGTGACTTAACCTCGTGATGCTAGCGTGCTCCATTTATAGTTTGGTCTACGTAGATCTACCAAAAATGCAGGTGAAGAGACGCTCTCAACTGATTCTGTATGGTTAAGAACGCTGACGTCACATTGTTTTTGGGAAAAAAATTTCCGCATTTGTAGATCAAATCGCGATGGGACAGTTTGCCACCACGTGCTTACCCAGGAAAATCTGAAATCGGTGTTCGAATTTTCAGGAGCTATCGTAGACTTGACAGTTGCTCCGCCGGATGCTCCAAGATGAAGGATTTAGAAGAAGGTCAGCTACATCGTGGCGGTTAATCATTTGTCGTTCGTTTGGTTTTTTCTAGGCCACGGCTATCTGTGACGTCACTAAACTAGTTTCCAGAGCAATCGAAAACGAGGGAGAAATTCTACAGTGTCACCCGAGAGTGTCGCTGGTTTTTCTGCATATTGCCGACAAGTCGGACAATGGAGGAGATACAAGCAGAAATGAAGCGGCTTAAGAAGGAATACCCGACCCCTTATCGATATCGGACAAAGTAACGTCCGTATAATCGTACGCTTTTGGTGATGGAAGGTAAGACATGCGAACGCGATCTATTGGGTGGGCGTGGTCACGTCCATTTGCAAAGTGGGCGCACGGTTCCTTTACAGTGGACGCCAGCTTTTGAAGTTTTGAGTAATTTTTATGGGAATTGCTACGATAAATTCATTTAAAAAAAACCCAAGAATACTTTTAAAGTCGTAACGAAAAAAAACAACCGTGCGCACGTCTTGCAATAAGTTAGGGCGCCCTAAATTTTAAAAACGAAGGAATTTCATTATTTCTAACGCTCCAAACTCATTTTCACTACAAAGAACACGCCTCCTGGGAAAGCCCTTACTCATTTGCTGGATATATGACGTCACTAAATTAGTAGAGTGAAACCAGGTGCGCTCCATTGTACTACGCACACCGACGTGGTGTCAAACAGTGTCCCATTTCTGTGTGATCTTCCATAAATGCGATCGGATTTCTAAACAGATGGCGTTCGCATGGTTAAGAGCGTGCTGACGTCACAAACTTTTCTCTGCAAGAAATCATTTTTTGTAGATAACACTAAAATGGCACTTTGACGCCACGAACCTGCGCTCTCACTTTCAACACTCCCATTAAGCATTTCATGTACGCGCCAAAACGCACGGATTTCTGGCTCCCATTTACATAAATTGAAATTTTGAAAAAGAGTGTGCCGAACTAGGTCATTTTGGCTCGGCCATATGTGGTGAGATTTTCACCGCGTTGCGTGTCGCGTCGCGGCTCAATTTAAGTTGTAAATCTGAATGTGTTTGTCCGTGTGGAGTACCCGACTATTCCACGCGTTGCCCGGAATGCTATTGTGGATGGAGCACGAACATGAAAATTCAATAGAAGGCCAGAACCCCCTGAAAACGCCTGCCGCGCCCCCGCCTGCCTTGCAGCGCGGAACCCAAAAAGTGTTCACGGCCGCGGCGAAAGGCCCTCGACACTATGTGGTGTTAATACCTAGCTATTGACGCCTTAGTGTAAAACAAACATGAGATAACCGGAGAACGAAACCCCCTCGGGTCGACAATCTCCATGTGGATTGACGCTGGAATTCATGCTCGAGAATGGATTGCTACCCGGCGCCCGCAATGTACATTGGAGCTTCTCCTCGGGTATGAAAACGACGCGACGGTGGCTAAGCTGATGGACCATATCGATATTTGTGTTATATTCTACCTGTGATGAACCCAAATGGGGCCATATGAGTATTCCAGACCTGCGAAAAGGTTGGTTTTTGAACCTTACAAAAGCCTTAAAACTAGTGTTACTATTTCAGAACCGCATGGGAGGAAAAACCGGAGCCCCGCGATGCGCCTGGCAAACGTATGCTGCTGTGGAATCGACCTCATCAGGAACTTCGATTGGTTCTCCTGATAAGTCACGTGGTCTGAGAAAGTCTCATTGAATTGATCTACAAAAAATGCGGGAATTTTTTGTTGATCGAAGCGAACTGGGACTTCCTGCTCTAGTCGTAGTTAGCTCAATTACACCTTAAAAAGTAACTTAATCTTAAAAATTTCCAGCCACCGCTTGTTCGGGATCCGTCACGACACCTAGTTTTTCACGGCCCGGCGGCCTTCCCGGAGCCTGAATCACAAGCTGTCAGGGATTTCCAGACCTGGAGCAAAACACACCCGTTCATCTCGCTGCATTCCTACTCCCAAATGTGGTTGATACGCCATATGGACATCAGAAAACAGAGTTATCCACAAGACTACCATACTGGACGGCGGCCATAGGCTCTGCGAGTAACTAAGGCGTTGTATTGTATGGGACGAAATATCAAGTCGGGACCGGCGCTGATTTGATGTGTAAGTAATATCCTTTTTTTCCAATTTTTAAATTTCTAAGGATTTCAAGCAATTTTCAAATTTTGAAAATTAAAAAAACAATTTTTTTCGGAATGTTTTAAAATTAAAAAAGAAATTTTTTTAATAGATATTTTAAAGTTTTTTTTTGGAAAATTTTGGATTTCTGAATGGCGTAATTTTCTTTTCAGCTAACTGGATGAGATTAGTAAAGATTTTTTTAGGACTTTTTAATTTAGACATTTCCGGAAAAATTTTTAAATTATTAAAATTTCGAACTTTTTCGATATTTTCGGATTTTTTTGCAACCATGGTGAATTTTATTTTTTTGGATTTATTGGAATCACTAGGAGGTGGGCAGCAAGATTTTTTCCGGCAAATCGGCAAATCGCGCAATTTGCCGGAATTTAAAATTCCCGCCAAATCGACAAGTGCCGATTGAAAATTTCTGGCAAAACGGCAAATCGGCAAATTGCCGGAATTGAAAATTTCTGGCAGACCGGCAAACATGCTAATTGCCGATTTGCCGAATTTATCGATAAATCAGTTGCCAAACGGCAATTTCCCCCACCCATTAATGGGATCTTTGAAATAAAACATGAAGAAATTTTAAATTGTTGGAGTTGAATTTTGTATTTTTCGGGAATTTTAATAAAAAAACGCTGAAAATTCTAAATTTTGTAACAAAGTTATTTGTGATTTAAAAAAACATTTTTTGGACTTTTCTGAAATTTCACGGATTTCTGGCATCTCTCATAAATTGAAATGTGACGAAGAGTTTTTGCCGAACTTGGCTATTTTGGCTCTGCCATATCTGGGATGGACGGCGCGCTTCATGTCGCGTCGCGGCTCGTAAAACTAAATGCACTTGTCCGTGTGGAGAGAAAATTCAATGAGGAAGGCCAGAACCCCGGATTTTTGAAATTTTGAAGTTCTGAGAAACCTGTGAAAGACTCCTACCTAAACCTGAAGAATTTGAGACGAAGCTTCTGGAGATCACATGATTTGGCTAAGGGGAGCAGCTTAAGGTCCCCTATGCCTACCTGATTGAGCTCCGACCAAAGAACACCATGATTGGGTAAGCGATGGATCCTATCAAAAATATTTCATTCTAGCCACGGCTTCCTTCTCCCCGAACGAGAAATTGTGCCCACTGGACTAAACCTTCTAATCCATCAAAGTGGTTTATGTGCCGACGAGCTTGTGGCGCATAATTTGTGGATCCTGTGATTCGTATTGAACCAAGCTGACCACAACTACCACAAAGCCCGCAATTCCCACCGTATCGGTGTGTGGATGGTCACTCTATAATCGACACCAACTATGGCGGTCGGAGCTTACACAGAAGCCTACGGAAGCTCCAACCAGGCACCACCACTACTACGAAAACCTACTACTACCACAACGACCGAGGAGCCTACCGAAGCCCCAACAGAACCCAGTCCGACTACTGTCGAGGCCACCGAGGCTTCTACAACTACAACGAGAACCTTCCACATGCTCTGATACAAGTACCACAGAGAATTCTGAGGAGTACCAACCAGAAGACATCCACACCAGGGGCACCTGAAGCAAGCACCAAAGTGAAGAGGATGGTTTTTGAGTCTCAGGCTTAGGCCTATGGCTTAAACTTAGCCTTTCTTAGACTGAGGTTTAGGAGCTTAGGCTTCAGCTTAGGCTTAAACTTAGTTTTAACTTAGGCTGTGGCGTAGTCTTAGACTTAGTTTTGAAGGCTTAGAGCTTAGGCTCAGACCTCGGCTTAGGCGTAGGCTTAGAATAAGGCTTAGCTGTTTTAGGCTTAGACTTAGTCTTGGGCTTAAGCTTCGGCTTAGGCTGTCTTAAGCTTAGGCTTAGGGATGCTTGCACTTGGGCTTGGCTTCATTGGCGAGCGTGAGCTATTTAGGGTTTTATGGGAACTTCCGCACCTTTAGACTTAGGCTGAGGTTTAGGCTTAGGCTTCGGCTTAAGCGTTCTTAGGCTTATGCTTAAGCTTAGGCTTGGACTTAGGCTCATACTTGGGCTTAGGCTTAGGCTTGCACTTGGGCTTAGGCTTACTTATGCTTAGTTTTAGGCTTAGATTTAGGTTCAGGCTTAGGCTTATCCGTACCTATGCAAATACATTTTCTGGCACAACTGATAGTTGCCAGCGACCTATTTTAACTTCGAAATTCCCACGAACCATTCCAGGAAACAATCACACCGATCAAACTGCGTCGACTACGGTGACTGCCACTGTCGTCTTTGGCACTGGGGGTCTTTCAGCTCTGCTATCGGATCAGGTCCAAGTTGTGCCCCAAAGACTTGCGACTCGCGGTGCTCTTTTTCGGTGTGAGGCGCACGCTGGAAACTATCGTATGACAAATTGTCAATGTATTGTATAAATGATTTCCAACTTTCGTAATTGTGGACTAAAAACTACGTTATATTTTTCATGCCTGACTGCGTGGCAGCGTGTCAGCGCCCGACATTTTCTGAGTTCCACGACGGGATCCTGGCAGGCGTAGGCGTTGCAATTTTGACTCATCAAATTGCTTGGAATAATTAAGTACTGCTACAAATGATGTCACTAGCTACAAACTACAACTAGGAATTTCACACTACAAACTACAAACTACAATCTTAGCTCTTCAAGCTATGAAATACAAACTAAGAAATTTTTATTTTGCAATATTTTTTAAACGAGGTGTAATTTGGGTATAGTAAAAACTGGAATGACAAAAGCAAATCACAAACGACAAACTAGAAACTAAAAGCGGAAACTGCAAACCAACTACAAACCACATACTACAAACACAAACTACAAAAATTACGAAGTACACTACAAGCTACAAACTACTGAACTCTGAATAAAGTTGAACGTTTTTTTTGGTGCAATGATTGGCGTATGAATTGCGAAATAAGTGGTTAAACACATACTACAAACTACTACAAACTACAAACTAGAACGATCCTAGAAACTACAAACTACAAACTACAAAATATATTACAACCTTAGAAATTTTGAATTTTTAAATATTTGTGGAACAATCAGTTTTAATTATTCGACGACTAAAGTCAAAGCTGAAATCATAAAATGCTAACCACAAACTACCAACTAAACTACAAACGGCAAACTACAAGCTACAAATCACTGAACTCTAATAGAATTTGAAAGTGTACTCATGGTTTGTGCCATTACTGGACGTATGAATTACGAAACCATAAGTTTTTAGTGACCCACTACGAACTATAAATTTCAGAAAACTACAAACTACTAATGAATGTAACTACAAACTACAAACTGGAACAACAGCAAACTACAACCTACAAACTACAAGCTACAAACGCTTATATATGATTATTCGATTTTAGTTATTTCCTGTTTTTTATTCTTTTCCAAATTCTCAAACTCTACTGAAATAAAAATACCTCACACAAATGTTTCTCATCATGCATCACTGACTAATTATTTTCCAATAAACATAGCGTTTTGAAAAAGTATGGAAACAAAAAATGGAAATCAAAGGCGGAAATATGCATTTTTCTTACTCATTTTCTTGAAATTGGCTTCATGTGATTGGACTTTTTGATTTTTTGTTGGCCTTGTTAAAAACGTGGTAGGCAGGCATTCATGCCTACGTCGAGTGCCTGCCTACCAGTCGAATTCGAACCCGCAAGATGTCGGCCGCTCCCTTCGATTTTGGAAGATTTTACTTATTCCTCTTCTGCTAACATATTAGACAATTATTTTTCAACCCGTGTACACAATAGGGCGGCTAAAAATTAGGTTGGAAGATAGAGGTGTACAGGAAACGTTTATAAGCTCTTTATGCGCTTACTACTGAGTACCACTTATTTGCCAATGCATTTTGTTTCTCAACAAGTTGGAGATTCCAGAACAACCAAGGTTTGGCGGGGCTTACTTTGAGGCAATTTTGCGACTGTACAGTAGATTCATATGTGCGAATTTAAGTAGACTTTGAAAACATTTAGGCGGGAATTCAAACATTTATTTTTAAAACCATCTTGGCGGCGTGATCAAAGTTTTCTAGTTTTTCGAAAACACTTTGGCGGGAATTCAAAATGTTAATTAGTCTTAACTTCCTGAATGCTCTAGATCAACCTTCTGGAATATTTTAGAAAACTCTAGAATGAGAACCTTCTGAAAAATTCGAAACAAGTCTAGAATGTTCTGCAGAGCCTTTTGGACAAGGCTTTTCGAAAAAAATCTGGAATAGACTTTTGGAAATTTTGAGAAAGTTCTGGAATGTTTTGGAACCTTCTGGAAAATTCGAGAAAATTCTGGAATGTTCTAGAACCTTGGAAAATTTGAGAAAATTCTGGAATGTTGTCGACCCTTTGGAAATCCGCGACTGGAATGTTGTGGAACCTTCTGGGAAATTTTTAGGGGAACAATCCTGGAATTCTCGATAGCTTCTGGAATTGAGAAAATTCTTGTCACCAACGTTTTGTGAAAAAATTTAGCTGGAAACTAAATAATTTGAGAATTCAAACTTTAATTTTTCCAATTTTTTCGGATTTTTTTTTTAGCTTTTAAGCTTTTTACATTTTCCATAAATTTTAGATTTCAAAAACAAAGCTTAAATTGGCAAAGTTTTGACCAAATTTTTTGGCTTTATAGCATACAAAAGGTTGAAAAAGTCCACAAGGTTCTTGCTCCACACAGTCCCCAAAAACACATCAATTTGGTGGAAATTCAAATCATGTTTTTTTTTCAAAAAATGTAATGGCCTAGAAAATATTTCAGATTCAAAGCAGTAAGGCCGTCAATCCTACCTCCGTTCAATCCGTAAAATACCTAAAAATCAATCCCCAGGAATTAGTCTCATCAAGAAAGAAAAGAGCTCTGCTTGTGCCCACTCCTCATCTCTTCTCATTTATTTGTTTGCAATTAAACACATCCTACTCAGACTGCATAACGAAGGAAACAAAAAACGAAAGAATAACGAAATCCCAGAGCATATTTCCTTTATTAACCCTATTCATTATTTTTGTATTCAGGTGGAACAAAAAACCGGCTCGGCGGGTTTATCTGTCTGTAAATCTTCTACACGCCTACCTACAGCGGCCTGCCTGACTGACTATGTGCCTAGTGTTTTTTGTCCTTTTCGGTTGGTTTTTTTGAAAAATTTTTTTTCCTGATTTTTTTTGTCGTTTTTCCATTTTTCTGAATTTTTAGGAATTTATGTAAGTTTCTCTTTTTTCTCCCCCCCGCCGGAGCCTAAGCATAAGCCTAAGTACGCCTAATGGTGCCTAAGCCTAAGCCTAAGCCTAGGCCTCAGCTTAAGCCTAAGCCTAAGCCTAAGCCTAAGAGGCCTAAGCCTAAGTCTAAGCCTAAGACTGAGCTTAGGCTTAAGCCAAAGCCTTAAGCCTACTCCTATGCCTGCGCCAAAGCCTAAGTAAGCCTAGGCCTAGTCTAAAATAAGCTCGGCCCCTTTCTGGGCCAAAATTTGTACATGTACCTCCTAAAATTGTTTCATCGTTAATAGCCATAAAAACTAGGAAAAATCTATTTCAAATTCTGAATGTCAAAGATAAAAATTCACAGAAGTGCGGGAAATTTGACCTCACCAGAAATGGGGCGGAGCCCATTTTTGGATAGGCTCCACCTCTTTCTAGGTTCTCTAAAATCAAATTTAGCTGTCAACTTTCCTGGTAAGCTTTAGTGGTTTCATTTTTTGTATTCATCACATTTCTTTTTCATTTTTTACATTTTTTCATAATTAATTTTGATCTACTTGTTTAACTTGACCCTGCCCCCCAATCTCCTCAAAGTAATGGGAGGAGTCTAAACAAGGTAGATCAAAAATAAATAGAAAATGAGAAAAATTTGCCATCGTGTTTTTCGATAACACTACAGTTTAATCATACAATAATCCCACAACTTAAAATTCAGCAAATAACCAGGAAATGGGCGTGGCTTAGATTTTCAAGGTTTCGCTGTTTTTTCCAAGTTGTTTCTGATATGAACCGGCCCCGACAAAAAATGCCACAAAAGTCGTAGTAGTGATGTGTGACGTCTGTTCTGATGACTAGAATTCATATTATAAAGGTCGAAAAATCCCTTCCGAACGAACCCCCCAAGATCATCCTAACATCCCAGATTTCTTCACCCGCCCGCTCATATAGCTTTACCCACCTAATCTTTTTGCTTATTTCTCAATCTCCGTCTTTCTTGCGTTTTTAATTAATTCAAGGAATCAAGCAGTTGTGGTTAATGGCTATGAATTGCTTTTTTATTGATATCTTTAATTATTATTTATTTAGTATCTAGCCATGTACATGTGTTGAGTCGAATAACCTGAAAATTTTGTGCCAAGTTATGAAGGCGGGGTCTTTCATACATTTTTTAAATTGTTTTTTGGCTAAAATTGTATGTATTTTGAAAGTTGTGTGTGTTTTCCATTTTCTTTAAAAAAACATCAAAAAAAAAAATTGGTATGTAGTAACGTAGGTAGGCAAGAAGTAGTTGTGTAGGTAGAGACTTGAAAATAGCAGCTATGAATAGGTGCGGTACTTTTGTAGTTTAGGCAGGTTCGTAGGCAGATAGGTGAGTAGAAAAATCATTCAGAAGACATTCGGCCAGGTAGGATCACTGGTAAACAGGCATAATGTAGACGTACGTAGGTTAACACTTACGTACGAGGCAGTAGGCATCAGGGCTTTGTGGCAACCGGCAACCGGCAACCAAAAACCAGGTTGCCGGTTACGGAAAAATTGCCGAAATTTCAGCAACCAAAAGGTGCTCGCCCGAATTTTCTCGAATTTTCCAAAAGGTTCTAGAACATTCCAGTTCTCGAATTTTCCAAGAAGTTCTAGAACATACCTAACTTTTCTTGTCGAAGTTTCCAAAAGACCCATTCTAGACGCAACATTCCAGAAAATGATATTCTCCGAATCTTTGCCTCAGACTAGAACATTCCTGAATTTCGTCTCGAATTTTCCAAAAGGTTCTAGAACATTTCAGCATTTTCTCAAATTTTCCAAAAGGTTCTAGAACATTCCAGAATTTTCTCCAAGTTCCCAAAAGATGCTAGAACATTCCAGAATATTCTCGAATTTTTCAGAAGGCTCTACGATGAATATTCCAGAATTTGCTCGAATTTTCCAAAAAGTTCTAGAACAAGTTGCATTTTCAGCGTACGGCAACTTTACTCAGCAATTGCGGGTTGGCATGTAGTCGCAGGCAGGCATGTTAGTAGCGCAGTTTTGACAGTTTTGAAGTTAACAATCCTACCTGCGATGCACAAGAAAATGCGCGGCAGTTGCGGACCGGCAATTCTACCAAATGAGCTAGACGGTAGGGCATGTTCTTCCGAGTATTTTTTAAAAAAATTTGGCAAAAGTATAGCATGCATAAATCTTTGTTTTATTTGAAAGTTTTATTGGCTAGGAACAACCGAAAAAGTACTCAAAAATTGTCGGAATCTTGAAAATGTGAAAATTTCCAACATTTCGACTATTACTGGAGATTTTTACAATTTAGTCTATTAAAAAAAAACAGTTTACTTTCAAATAAAGCAAATTTTTCTATATTGTGTGATAAAATTTTAATGAAAAATAGGGGAACATGCCCAACCGTCTCATTTTGCCTAGAATTGCCGCGCACCGTGTTAGTTTATCCCCGTAAACCTCCAAGCAATATGGCAGGAGTCCTTCCGTCCGTCCAAAACGTCATAAAAACTCGTTGGAGATGGCAAAATTGGAGATGTGCCAAGTTTGCTGGAGAGGTGGGGGGAAGGAGACAATCATGTTGTCTGCGTACCTGAGGCCAGACTCGTCTTGTTATCTCTCTGTACCTACCTGGCAAATGGGACCTCCCCAGACCGGTGAGTTTGTCCTTTCAACACCTATTGTTTCTGTTGGTTTGATACCTTTTTTTCAACGCTACTTTGCGGGAATTTAGACTGATTTCTCATGGTTAGAAACGTGCTGACGTCACATTTTTCGCGGGAAAAAAAACCCACATTTTTTGTAGATCAAACCGTAATTGGCTAGCCATTCCAACAATTCACTGTTTTTTTTCTGAACAAGTCGAAGTTTTGAGTTCCGCACACGCAATTCTGTCTCTGATAAGTTTGGAAGTTTCAAATAGAAACCTCTCAATTGTCGGACCAGCGCGCTACTTCATCATACCCCGCAAATTGAACTGCTCGCGGCAAAATTTAAAAATTGATGCTTCTCCATAAACATACCAAAACTACCTAAGACTGAACTTCATTATCTTCTTTTAAACTTAAACATTACCTTAAACGAAAAAACGTTTGTACGAGTCAGAGTGTCTCATTTCATTTCGATCTTCATTGATCTACAAAGAATGCGGGAGAAGAGGCGCAGAGTTTTCAACTACTTTCGCATGGTGAACGTGCTGACGTCACATTTTTTAAGAAATTCCCGCATTTTTTGTAGATCAAACCAGCCATGTTGGCAGTCCACGTGGCCGGCGTTTGTAATCGTTCAGTAGGTAGGTAGACACAGGTCAGTAGGCATAGGTAGGCGGTCGGTCTGAGGTAGGATGTTGTTGACCATCATCCAACGTAGCAAAACATGCTTGACGACTAGCCTCAGGATAATCACAAAGTTCTACGTAGTTATGATTTCAAGCAATGAGCACATTATATCACTGACTAAGCCACAGCTATAAGACCCTCCTCCGAGTATATTCTGAGGATCACCAAACATCTAGACGTAGGTTTGCAGTCTTTCTGTTGGAACATTAACGAGAGTAAATCTCATCTGTTAGGCAAACGACCAATTTCAAGTTCAAAACTATAAATATAAATAAAGCTAGTAATTGAGCCAGTCCTACTTCAAATTTCCCACAAGTTCATTACAAACCGTCCAATTCCCAAGCCCATGTACTCCCACTAATCAGTTTCTATCCTTGCCGCCCAACTTTCCAAATTCATTTATCCGCTTTGCATAGTTTTCGGTAATCTTGACGATTTTCAGAGGTTGAATTTTTTATTTTTTCCAAGAGTTACGCAATGCCAAAATAAATTTTTTTTTGTATTCTCAACAGAAAATTGCTAAATTTGTCCAACTTCCCATTTCTCGGAATTTGACGTAATCAGTTTTTTGAATTTTTTTGAAATTACTGATTATCAAATTTTGTTGGAAAGTTTATTCCTTTAACCTACACAGCTACCATATTCTGTCTAGGTGCTTACCTACACGCCTGCTTCGTGCCTACCCGCATACCTGCAGCTGGTTTATCTTCAAAAAGTGCAAAGAGCCAAAAGTTTCGAATTGACAAAATACGTGCTAATTGTTTGGAGCAAATTTTGCAACATGCCAAAGTTATCAAATTTCCGCATAATTCCAAAATGGCAGCCCGACATCATGTGCCTACATTCCTGTGGTCTGTAGGCCTGACAAAATGTCCATCAATGTATGTACCTATTTCATACTTATCTACCCGTATAAACATAGTTCATCTCTACCTCAAACAGCATGTTACAGGCTTTCTTCTCTCCTACCTACCTACCTTCATTAACTGCTCTGTTTATTGACTACGGCTGCCTACCTTTAGCATGCCTGGCATGCCTTCATACCTACCTCATTTATCAGATCCTTATAAAGCGTATGTACAAGTTCGCCTACCTATTGTGTTAATAACGATCACCGTCTCTAGGCTAACCTGCCTAATTGTGTCTACCTACTTAGCTATCTCATGCCTGCCTACTAACCAGCTCAAGTACCTACTTCATGCCTACCGGCCTACGTTCCTAACAACGTGCCTACCTGCCTGCTCACTAGCCTAAGTGTCTGCCTACATGAATTGTTCGTTAGCACACCAGACTTATCATATATACAAAACATAAAAAGAAGATAAACAATAATAACAAGTGGGTAACTCAAAAATGAAATTGGTTTATCTCCCTGCTCCGAGAGCACCAGCACTTTGGTTTAGATTCCGTCACTACAACTTCAAATTTTGCTTTGTTCGAAGGACCTTTTCCTGATACATACTAATTTTTTCGGATCCGGTTGGCTCTGGATTTCAAGTTTTATAATAACTTGGGCTCCCAGTGACGTCATCAGTGGAAGGTGCAATTTTAGTAACTAGACAGCTTGCTCCTAGTTTACTGCTCCTCTTCTCAACGCCATGAAATAAGCCAGAGAGAGAGAGACCCCTCATCGAAAATTAAATTAATCGCTAAAACGTAGGTAGGAAAGAGAGTGGGAGGGAGACTCCAAAAAAAGAGTCAGGGGGGCTCTCTCTCTATCTCTCTCTCTTCGAGCGGCAAATCCGCTTTCAAATTCATTCAAAAATATGTGCGCAACCACCACCACTACCACCGGCTCCAGGTGGTAATTACACTTGAAAACCAAGTACTGGTTTTCGTGGCCGGGCAACTTTTAAGACCCCGGTGGAATTTTGTAGGTCTATTTAAAAAATTGCAATTGCGCTTTTTTGTACTGTTTTTTTTGACACAACAACTTTGAAGCTTCATGTAAAGCTGGAACAGCGCTCTAATGACAATTTTGACTGCATACTCGCACTGTTGATAAATGGTCCGTGTACTCCACGGGGGCAATTAAACTGGATTTTTTTCGATTAAATAATATCTTGATTTTTTGCAGTTTTGGCTTAGGCTTAGCGAGGCGTAGGCTTAGGTTTAGTTTTTTCTCGGGCTTAGGCTTATGGTGAGGGTCAGGCTTAGGCATAGGCTTGGGCTTAGGCTTCGGCTTAGACTTAGGCTTAGGCTTAGCCAGGCTTTTGTCTTAGGGGAGCCTTAGGCTAGTTGTAGGCTTAGGCCTGAGGCTTAGGGGCTTAGGCTTCCCTAAGGCTTAGGTTTAGATTTAGACTTGGGATTTAAAAAAGGGGCTTAGGCTTAGGCTTAGGCTCATACACAGGCTTAGGCTCAGACTTAGGCTTAGACTTAGGAGGCTTTGGCTTAGTCTTAGGGATCTTAGGCTTAGTGGACTTAGGCTTAGGCTCAAGCTTAAGTTCAGGCTTAGGTTTCGGCTTAGTCTGAATATTTGGCTTAGCCTTGGGCTTAGGTTTAGGGAGGGCTTAGGATTAGGCTTTGGCTTGCCGGCCACCTAGAATGTGGTTTGACAGCGGTAGGCTATCCAAATTCTAAAAAAATCGGCTACATAATTAATACTTAGATGGGCCTATAAACCATTTCTCTAGGCCATCCTGCGAAATTACCAAGACAAAAAATTTCAGCCGCTAGGGGAATAGAGTTTCCGTTTTCCAAGGCCACCTCAAATTTACCACAGTCATATGTAAGGTATCGGAGGGCACTGTAGAAAATTCAGTATCAAAAATCAGCGAAGTAAGCATTAAGAAAGTTTTTTGTGTGTGTGTGTTTTTTGTGGGAGAAAACATTTCCCCTCTCTTTCCTGCCTGCTCATTTGGATACCACCGCTAACCCATCTTGACTTTGATTACCCATTTCCGTCCCCCTTCTTCGTCTTCTTCTACCCGGGATAGAGAGAGAGCTCTATATATTTTCGTGTTCTTGATCTGTTACCGCGCATTGAATTTGTTTGAGCTGCCGCCGGCGAATATATACATGCATGTCTAATTTTTTAAGTAACTGGAAAATCTAGGAATTTTAACGTAATTTGGTTATAAGCGTACAGATCGGCCCATGCTGGTGATTGTACGAAATTTTAATTTCATAGTGTCTGCAGAGAAGCTAGGCATATCCACAAGCCCCTACGTGGCCGTCAAAATTGAAAACTAGGCGATTTTTTCTCGGACTTTTTATCTACTTTTATTAGGCCCTGTCTTCTTTTTTGCAACGTTTTTCTACTAGGTCACCAAATTGTTCTACGCCAAGCTGCCTAAAACTCGGCCACCGATTTTTATTTGCGTCGGTCTGTAACATTCAGTCTCCGACCAGCTCGACTTTTGCTACCTGGTCGCCAATGTTTCGTAAGCGACATCGAAAATGGCACTCGCTGTGACATTTGTACTTTTTTTCACCCGGCCTAGAAATTTTGAAAAAAACTCGGGCACTGATTTTATCGGCCTTGGAATCCTAGTGTAACTTTGTGGCATGATTTTTTATTTATTGTCCATCCAGTTTTTCGTCTGAAAATTACAAAATGTTTTAGTGACCGTTGAAGCAAAAACTCGGTCACCAATTTCCCGGCCAAGTTACTACGGGATTGTACCGTCTCTACCATATTTCTGTCTCAAAACATACTCTCCTTCCGTGCTGCCTACGTGGCCGCTCAAGTAGAAAACTCGGCCATCATTTATTTTCTAGGCCATGGCGAAAATATGTAAAATAGGCAAAGAATAAGCGTGGTGGTTAAAGTAATTTTGGGAAATGGATTTTAAAGGCACAAGTTGAAAAAATAAATCAGATGAAGCTAAATACACGCATAAACCTTAAATAGGCCATCAATTTTTTTCTCGGCCAGGTTCAATCTACAGGTAACCGTCATGTTTCTTGCTCAAATTTACACCCTATTCTCGAAAAATTTTTTTTACGTTGAGTATGCTCTCCTGCCTAACTCGGCAGTGGCCGCAATTAGAAAACTCCCGGCCACCCATTTTTTCCCGCTAGGTCATGTCGAAAATGCGTAGGCGATGTAATGGGGTAGTTCAAGGTTGCGTAATGAATAACCTGGAACCAAAAATGTTGTCAATATATGGCCGCCAAAAAAGAGAAAACTCGGCCAACAATTTTTTCTCGCCCAGGTAGGCTACCAATGAACGCTACGGGAACCGTCCCTATCTCAGGCTCAAAATTACGCCTTTTTTCTCGAAAAATTTTTGCATGCACTCACCTCCCGTGATTCTTAATTAATGTAAGACGTTCTTTTTTCTCTTCGTCTAACGTGTGTATATGCAGAATTCAGGATACTTGGTGCGTCTTCCTTTCGGAGTTCTTGTCTTCTAAGCGAAAAAAACGTCAAATCTCTGTGTGCGTTGTCATCGGAAGACTCGCCTTCGAAGAAGACGCTTATTAGCTCATTTCATCCACTCGCAAATGCTTCATTAATTTTGTGCTTCTTCGCCTGCCTTCCGACGTGTTTACTCACACCACCACAACCACCACTCCGTACCTCCTCACTCACCGTGGAGAAACAGGTTCTGGATTGTTTTGTAAGCTTTTGAGTTTTGTGTCCTAACTCACTTTTTAAGCTCCGCCCACTTCTTGGCCTGTTCGGTTTATTAGAATTTGTGTGGTGTACTACCATCTGAAATTCGATCCGAAAAATGGCAAAAAAAATTCAGCTGACTGATTTTTTTGAACTTTCAAAGGTTCAGTTTTTGCAACCTAAACCTCTCTTAACATTAACTTTTCAAACCCCGCCCAAATCTTCTTTTTCCAGAAATCCACCAGTAATTTTTTGGGCAATTTATGGTACAAAGCTATCAGAACAATTTTTACCGAAGTTTTTTTATTTATTTTAATTAAGTCTACTGAAATTCCTAATATATATTGAAAAATGCTTTGGATGATCCCGAAATTGGCCAAAAAACGTTGATCGATGGTTATTTTTTTGAACTTTCACAAAAGGTTCCGTTTTGTATTCAACCTTTAAACCCCCCCATTTCTTGGCTGTATTGTATTCAAAGTTAAAAGTTGTTCATGTTGTACTAAAATATGCAAGTAGCATAAAAAATTAATAACTTTTTAAGCTCCACCCATTTCTTGGTTTTTCTGGAAATCCTTCCTGACTACAGTAATTTTCTGGGACTGTTATGGTACATTTAGGTATCAGAAAAAAAGGATTCTTGGATTTATGTCCACTGAACTTGACCTGAAAATGTTTTGAGAATTCAACAATCTTAAATATTTTGATAAAGGTAGAATTTGTGTAAAACCCGCCCTTTTCTTGGCTGCCCAACCCAACTTTGCCCTTTGAAGATTTTCTAACTTCGGCCTGCTAAAATTCCAATTCTAGGCGATCTACCCTGATAAGAACTTACTCCTGAGTTATTGTTTGAAAAACATAGTCCATCCGTTGCCTAGAAATCCAAAACTAGGCCATCAGATTTTAGGTTCCTAGAATCACAAAGGCAGTTTTATGTTGTCAAATTTCAGTGGCATAACCTCATAATTTAGACCTATTCTATAAGGTCAGCCTATTTTTCTGGCCTAGAAATTTTCCTTGAGTTTGAGCCCCCTACCCCCACACCCACATGGCCTAGAAACCCAAGCCTAGGCCATGTGTCCCCGCATTCTCACTCACTTTTAATTTCTTAACCCACTTACACAATTCTCTCCCCCTTTTCCAATTTCGAGACATCGCGAACCTGGGAAAGCTCATTAGCTCATTTGTTGTGTGTGTGTGAGTAAGAAGCGGGGGGAAGGGGAGCCCCCCTTTTGAGTGGGCGGGGAGCTAGTATGGAAAAAGAGAGAAGGAGGAGAGCCATTTTGGATGGGTATGCAATGATTAGGAATCGAAATTAATTAAACAAACAACGGAATGAAAGGGGGGGGGATCACGGGCAATCGCCTGCCCTTCACTACATGTCCCCTGCTGGAAATGTGGAAATGTAAATTAACTGTAAATTAGAAAACTAGCAAAAAAGTGCGAACGTTTTTTATCGTCCTACTTGTTAATTAGTTTAAATTTCTATATATGTATGGTTAGACATGCCTATTTTGGCGTCTAAGGGTAGATGCGGGATACGGATACCATGGTTAAATGGGCGATGCATCATGCCAAATAGTAAATGCACCACTACACATTGAAAATTTAGCATTATATCCATATCACTGAAATTGTCCGGGGCCCAATCAATAGCCGCCGCCGACTTCTCAGGACTCCACGCGCCGTTATGTTTAATTCGCAGCGGGCGGAGACAGCTGGCCGCGCCCACAACGAGTTAAACCGCAGCGGCGCGCGGTACTCGTCAGATGTCGGCGGCCTGATATGATTTGGTTGGGTCCCGAATTTCAGTCTTTATTATTTGGAGTTCGCGTATAATGCTAAATTTTGTACCGTGTTAGGAATGGTCGATGCACCATGATAGTGCTAAATAGTCCAGCGTCTAGAAAACGTTGAGTACTGTTGAAACAGTGCAAAATAACAGTTCCGGAGGCGGATTCTAATTTCTTGAATTTTTTTTTTTCAAAAATTGTTTTAAAAGTAGCACTGTGAATTCCACCTCAAGCATTTTTGGTGTAAAGCAAATTTTTCACGCTCAAAATTTTGCGCAAATGGTTCTGAGGCTCCGTTGAAAGTGGATGCTCTTAATCAAGAAAGAAGTTAGTCCCGCCTATTGGAGGAACTGATCAAAACTGGGAGGAGCTTAAGAAGGTTATAAAATTTTGCTAATTAAAACACCCAGCTCCGCCCACTTATATATTAGTTGACTCCGCCCCACCCATTAAAAGTGGGCGGAGCTTAAAGATATTGACCACCTTTCTTGGGTGACAGTGCGTTTTAGCGTTTTTCATAGAGTAAATTTTCCGGCGGACCCCGGATCGATGCAGTCCCATGATTTGACGCGCAACGCCCGCTGGTAGTATGACGTCACTCGTGGCCGAACTCTTGCGGGGGAAACTTGTACTTACAGCAGTAAATTTCGGTGTCTCACGGAGCACCTGCACACGTACCGATCATGAGTGATGCTTCCCACCCAGACATACACATACACACAAACGTACTAATTAAGACAAATTATAGAACAAGTGGGGGGGGGAGGGGAGAAATTTACAAAAGTGTGCAGTGCGAGAGAACACACGTTAGAAGGAGAAGCTGCTCTGGGAGACGTGGGCATATCAGTTGGATTAGTTTACTGCTCTTTTCATGGGCAAATCAAGTGAGCTCCAAACATTTTGACTTTGATTGGGTTTGATTCTGAAATTTTTTTGTATATGGATATGCAGAAAAAATACGTTTCTTTTTTATTTTGGAATCGCACCAATACGCTGCGTTGCTACAGTGCAACTGAGCCGGTCGCATTTCTCTTCCATAACTTTTTTTCCTTCTAAATTATCAAAGATTAAAACTCATGCAAAAGCTCAATTTTATATCATTAAGGATTAGTAAAGTGTGGGTGATCGTCGAGGGGGATTACCATAATTCATTACTCATTTTTCAATTTTCAGCTGTGTTTTGTTTGATAACCTAGATGACCAACTAGTTTTCCCGTTACAGGGCTGGGACCAAAAAAAAAATTTGGACCAAAACACAAAAACAAAAAATTGAAGTTTTTCAAAAACCAAAACCAAAAAAAAACAAAAAAAAACAAAAGTATAATACCAAAAAATTTCTTATGCTTAAGTTGATTTTTAATGGGGTTAATCAAGTAATGTTGCAAAATGTATTAAAAAACACTATGACGTCACAACTGAGTTAAAATACATGTTTTAAAGTATTTTAATACATAATAGTTTTGCTCGAGTCGAGACTAGACATGGTGAACACTTTTTTGGATTTTTTTGGATTTTTTGGTCCCAATAAACCAAAAAAAACCAAAAAATCGATTTTTCGTCAAAATACCAAAACCGAAAACGACAAAAAAAAAAAACCACAAAATTCTCAGCCCTGGTTACCTGTCAGCAAATTTTCCCCTATCACCACTTCAGGAGTAATCAACACCCCAAAACGGCAATTATTTATTATTCTCCTCACCTCCTCAACACTCCATAGCGCCAGCCACCCTAATTTGATTGTTTAATTCGATTCAGGGCACCCCACCACACACAAATTTATTAATTTTTGGCTTTCTCGCCATTTTCCGTTAATATGCCCGGCTTGTGTTAGCTTTATTATAGAACTTTTTAAAGCGATTTCTTAGGAATTTGTGGGAAAACGTCATATGTGGCCTAGAAATTTGACGATCTCGGCCGTCGGGGTCGATGAACCATGTTGTGATGTATGAAAGGTGGCCTAGAAAATTTTAGGCCACCGTGATAGTCGTGGCCTAGAAATTCGGGCGCCTTCAGGTGGCCTAGTATGTGAAAAGTGACGTGTGAGTTCTTTTGCCGGTACGGTCAGGCCAATTTTCCAAATCCTTCGGAATGCTTTTGTTTTAATTAAGGTCCGTCCATATTCTACAATTTTAGGATCCGCCCATATCTTGGTTAAACATTTTTTTTGTGCTTCCTTTTCTGGAATATTCATTCAATCCATCATTGTTCTCAAAATTTGATGCACCATGTACTATATCTGTGGCCTAGAAAGCGCGACGTCACTTATGGCCTAGAAAATTGGATCTTGAAATGGGAGAAAGTAAAAAAGTAACCAAAGCCCCCTTCTGGACGGTCGTGGCCTAGAAAGTTAGAAGAAGGAGGGGAGTAGGAGATCGATCCATGTACAGCTGCAGCATTTGACGACTCGACGGCGCGTAGCTTTGTCGCAGGCCACGGCCATAAAAAAATGTATGAGATCGATGCACCTTGTTCGCGGACTAGAAATCGAGAATGTGGCGCATGTCACGCATGGCCTAGTGACTTTTACGGTTCAGGCCGAAACATAGGACGTGTCCTAGAAGTCATTCTTAGTCCAAGACGCTACTAAAAACTCTCAAAAAAGGTGAGCCTATGTGCCAGCCTACTAATCTGCCTACATTCTTGCCTACCTGTTACTGCAATCACCATGTTGCACCTACAGTACCCCCTTCCGCCCCCGTAAAACTTTTTCAACACGGCTCACCCAAAAAGTGCAGAAAACACAAAAAAACCAAGCCCAATCTACAAAAGCTCATACCCATTCGTGCTTGGATTAACAAATGCGCCACCATTAAAATGATAATTAAGAGTGTGATCGAGACTATTGTTGAAATCTGATCGGATTAAAAAGCGACTGGTCCGCGAATGAGCTTTTCATGCAACTGATGAGCCATTTCCTGTGCATGTACACTGATGATAAATCTCCCGATTTTATCTTTTCCGAGACATACCAAGTAATCTCAATGTTCTTCATTAGTTTCTTCATTTCCCGATTCTGGAATTAGTTGCTTTGATTTATTAAAATCTGTCACACCTTATGTCCATAAATCGTGATTAAATTTTTTACAGTTTTTTTTAAATATAGAAATGTGATAACTTTCCAACCAGGCTGTCCCAATACAGTTTTGATCTACAAAAAATGCCGGAAGTTTTTGCCCAAAACTCTGAGACGTCGGCACGTTCTTAACCATACAAAATCAGCTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTAGATCATCGTAATACAATAATGAGAGAAAAAAATTTGAAAAATGAAAAACCTATGCCAAAAATTTGGCATTTCCCTCGGATTTTTTTTTTCGAGCCTAAGTTTCGATAAATTCTAGATTTTTTGAAAAACTGTCTGAATTTTTTTTTTTGAGAACAATGATTATATTGATTAAAGATCAGTGTTTCATGTAGCGTAGAAAAGGTTAAAAAAAAGATATGGGCAGAGCCTAAAATTACAGAAATTGGACCGTAAAGTTTTCAAAAAACTTTTTTTTTTTCAAAAACCGAAATTTTATTTTAATTTCAAAATTTCCGCTTCGGGGTTTCTTGATTTTTTCAAGTTCAATTAATTTTTTAGATTTTTTCCCGTAAAAAACCCAAAATTTACTGAAGCTTCACTATTGGATTAAAAATTTATAAGGTTTTGCGGGAAAATTAGTAAAAAATCGAAAATATAATTTAAATCTGAGAAAAATCAAAAGTAATTACAAAAAATTAAGGCTTCCATGGAGCTAGGTTCGCGTGGTGCCAGGCTACCCATTATTTTTTGTTTTGTTTTTTCCCCAGGAAAGTGTGACGTCAGCACGTTCTTTATAACTATGCTCAGTTGAAAAGTCTGCCTCTCTTCTCCCGAATTTTTCGAAGATCATACCAAGATGGGGCATTTTGACGCCACGTGTAGACTGTAGGCCATAAACCGCCTGCCTTCCTGATTTTCAGGCTACCTCCGCCTGCCTGTCTTTTCGCCCCAATCCACTCCTTATGAATATCTAAAACACATTCAGGAAATTCCTTAATTTGATTTTCACCACAGTGATAAAAAAGATAAATTAAAAATCATTCTCGTCAAAATGCAAAAAGAGTCGTAAGGCAGGCAGGTTTCAGGCAGGCCCTGGCTCACGCGTGCCGACGAGGCAGGTTACTAAATTTCGAAAATACCTTATTTACTCTACAAATCCTCTTAATACCCCGACATTACATCAAACCTATTAATTTCTGCCTTAGGCGATGGGACTACTAATTGATAGGAAAAGACGACTTGTGTGTGTGTGTGTTGAATTATGATACAAATTTGATTTTAGGCAGGTCCTCTTTCGACAAAAAACTTGTGTCACCACCCCACACCTCCCACGTTTTCGGTCAGTGAAGCTTCTGCTCGCTGTTAAGCAGATATTCCTAGGGAAATCATAAATCCATTCAAGTACTCTTTATTTTCTTCTCTGCGACCAAATTAGTATACAGATGTCATCATACTTTTTTGTTTCTTTTTGTGGGGGCTGTTCATTACAGTTTGCTCTACAAACGGGAATTTATTTTGCTTTTTGCCCAAAAGAATGTGATGTCAGCACGGTTAGCCGTAACCATGCTCAGTGAACTCTGCGACTCTTCTCCCGCGTTTTTTGTAGATCTAGCATTCCTGTAGATCGAAGTGGGAAACTCTGACACCACGTGCTTTGCGAAAAAATTTGAAAAAAACCTTTCTTTAAAAATTTGGCATTTTCAGCTGGGTTTTTTTTCTCTACAAAATTTTTTTTTGAACGAAAAAATGTTTCGATAAAAAGGTTCTAGATTTTTTGAAACTGTCTGAAATTTTTTTTGAGAACAATGATGACTTGAATATTGTAGAGAAGCGTAAAAATAAGTAAAACCAAAAAAAAACGCCTTGGGCGAAGCCTAAAATTACAGAAATTCGACCATAATGAAAGTTCCCAATTTTTTCTTCACAACTTTTTTCAAAATTGCTGAAATAACCCAACTATTAACTTTAAATTTAAATTTCAGAAATCCTAATTTTGACGCCGATTTTTACAATTATAACCTGGATTTGTTTTTCCTGCAAATTCTTTTTTAGCAACTTACAGTTGGTCGGTTTGTCGATAGAGCGTGCTTATTCACCAGGCGCTACTTCCAGTTTGTTCTACAACAGTGCGGGACTTTTGCTTTTTGTCCAAAAGACTGTGATATCAGCACGTTCGTAACCATGCAACAATCAGTTCCGCATTTTTTGTAGATCAACGTTGATCAAAATGGGGCACTGAGACGCTTTGGGGGGCGTAGCGGGCCCTTTCTCATTCCCGAAAGTGCTCTCTGTTATGAGGTCTCCGTCCACGCTTTATGGATTCAACTTTGTACAGTTCACACGAGCACCCACGACATGATTATTCATACAACATTATACAGAACTAACTATTCGAATCTCAACATGTCTTCTTGCCGAAGGGTTTTTTATCAACTTTGACTTCCTTCTTCTTCGAATTCTTTATACAACTACTCATCTTCTAGTTGCCCTTCTAGTTGCCTCACACAAGCAAAATTTCTTTTGAAATGAATAAACTCTCGAATTGACTAGTCAAAATTTCATCAATTGCTCCTAGAGAGAAGTCAGTCGACGTGTTAGACTTATTTGGCAGATATAAAGAGAGAGGCACCGAAAATGAATTGGGTTTAACACAACAACGCGTAGATGAGTTGTGTGTGTCAACGATGCTGAAGATGATGAAAAGAGCAGAGGAGCATGAGTGATTTCTGGCGGTCGCGGCGGATGAGCATGAAGAAGGCTTACGAGCTGTATGGCGATGCGGCTAAAAATTATACGATGATTACTGTAGATTTGGAGCTTTACACCGTTTAATACGTACATACAGACTTGTTTTAGAATATTTTGTATTTGAAGCTAATAATACAAATCGCCCGTGTGCCGATTTGTCGGAAATTATTCCGGCAACTTGAGGGCCGGTTTGCCGATTTGCCGTTAATTTTCAATTCCGGCAACTTACCCGGTTGCCGCTTTGTCGGTTTACAATTTTGGTCGCTCTCAAACTGCCGGTTTGCCGATTTGCCGGAAATTTTCTTCCGGCATTGTGCCGGTTTTCCGATTTGCCGGAAATTTTCAATTCCGGCAATTTTCCGGTTTGCCGGTTTTCCGTTTGCCGGATAATAAAGTTTAGAGGGATTTTTTTAGAAGGAAACTCTCTGTGACTTTTTGAAACTGTTGCCCGTTTTCTTTTGCGATTTTTTTTCATAGATTTTGCAAGAATGCGTGCAGCTTTGCCAGTTTAGACGTAATTGAATTTCTGAAATTTCAAAAAAAAAAGTGAGCAAAATCATAAATTTTTGACATTCATTTTTTCCGGTAATTTGGCGATTTGCCGGAAAAAATTCATTTACCGCCAACTCCGAATGGTACGTCTAACCGCAAAAATTTAGGCTTTTGCTCTGGAGCCTTTTCTCTGGCGTTCTTTCAAGCTATCGTAATGTGACCACACACCTTTCTATAAATTTCAGTATTTACGCCAACCGAGAAGATCACACTAGTTTAAGGTTATAGTGCAGCTGCTCAATGGATCAGGTCTCTTACCGGGAAAATATTAACAGGCCGAAGTGACTGTGAAGCTTCGTGAAAATTTTCTGCCGTAAATTGTCAATTTTCTGCCGCACTTGGTCAATTATCTCATAAAGGTCACTTAAGTTAGCCAAACCGTGAGACAAAACTGCCCCTTATTCCTCATGCCGTCGGAAATCTAGAGCAACCCTGTATTCGAGGTCCCAATCTTTCTTCCCCCGTCTATCTAACTTTTCCTAACTACATATAACGGAGGACCATAATAATCCTAAATTTGTCCTTAGTTTTCTCCCTCCTCACCGTCTTCTAGTTTCATCCATGTCTCGCCTCATTTCACCCGATTGACGATCATCTCGGCTCCACACTTTGACACCATAGCGCGAATGAAAAAAAAGAGTCAGGCAAAAGGGGAAAAAATGCCGTTTTATTAGGAGTCAAATAGACACCAATACACACACACTCAATTTTAATGGATTAAGACGGGGCACGATTTGACACCATCGACACCAATTTGGATGGGGGCAAATAGATACATACACAAAAGGAGTTGTACCACTAGTTTTGGATCTAGAAACATCATTCTAACATCTTTTCATTTATGATTTGATTTATGCAAATGTCCTTGATTCGTGACTTCTTGTATAGTAGTTTGGATATTGTAGTATAATCATGGTAGTTGCTGAAGACTAAGCTCTTTAGCAGATTTAAGGTATGACCGTAGACAGTTCGGGATCCCGGCTTGTTATTGTGTCAGGTCCGGCCCAGGTTGTCTAATAAATACAGGTCTGCTCCAGGACGATAGCATCACTAGAATAACGGTCGTTCCGTGACTTTGTAGTTTGAGCTTTGGTCTTTGGTCTTTGAACTCTGTAGTTTTTGGTCTCATCACACAAGAGAGGTCACATAGGCCCGGCCCTTTGTGACGTCACAAATTGGCGGGAAAGTCAAATTTTGAGAAAATCGATTTTGGCGGGAATTATATAATTTAGATTTTTTGAAAACATTTTGGCGGGAATTCAAAATTTATCAAAAACATTTTGGCGGTAATTCAAAATTTAATTAGACACTGTTCTCGGTTCGGCCCAGATATAATCATCCAACAAGTCTTTCTCAAGACCACTCTTCAACACATCAGTTCTACTGTTACCAGCAAGACTGCCGCTCCACACCCTGTATAAGGGCCCTAAGGCTCGACTGAGTTTGATGTAAATCTTGCCAAGCCTGTATCATACCTACCTAGGCCCATCACAGGCGCATCTCTCACAGATCTTCCACAGGTGTTTCTAAGTTGCAACAGATCTGCACCAGGTCTGTTTTTAGCCAGGTTTTGCCTGGGTGCAGCCCAGTAGTCTACCTCTAAACTATCAAGCAGATCCTGACACCAGTTCCTAGGTCTCACATTCATCTAGGCGGATAGTCTACCTAGCTAACGCTTCAACCTCCACTGTTTTAAAGTCTTACCCTTTCTCAAACTTCAACTCATTAGTACATACATATGTTATTAGTAAATTCGCGACTCACTAATAACAATAATTCAAAGCCTCTTTCCTGGCAATGCTTCCGGTACTGAACACGGAGAGAGCGCGAGGTGGCAGGTATCCGGTAATTTGTTAACTCGAGCGCCGCGCACCCTGGCTTTAACCCAGAGCAAACAGCCCCGATGATCGCTCATGCACGAGTCTCTTACTCACGAGGTGGTGGTGAGAGGTAGGTTGGAGAAAGCGGTTCTAGCTTCACAAATTTCAATTTCAATTTACTCTCGCTCCGTTTGACTCGGGTCCCCCCCCCGCCCTCAATTTTTCGCCCCAAATTGCTCCTTTAATGGAAAGTGTTTGAGTGTGTGAAAAAGAGAGAGAGAGAGACACCTTCGGGTCACGCCAATTGCACTAATATGTGCTCTCCCATTCGCATCCTAGAGCTAAGAGGTTGAATAATTTTCGAACTAATTCGAGGAATGTCAGGTTTTTAGTTGGTCCTAACTCTTTGGCCTAGAAATTTAGAGTTCTAGTGGGGTCGTCCATCTAGATGCGGTGGTCCGAGAATCCTAGGCTTTAGTTGCCCAGGCCATCAGGCCTAGATTCTGAAATGTTGTGATGCTATTTTCCAACTTTGACCCAAAAGCCCTCTAATTTGTAGGCCATGAATCTAGGAACCTATAGGTAAGGCCTGATCCTTTGCTTACTTGCCAATAACTAGAAATCAATGCCCTAGAAGCTCGCAAAACTTTCCTAATAATTTCTAGGCCACCAATTTTTTAAAGATAGCAAGTCATCAACCAAAAATTCACGGCTCAGAAATGAAATTCGCTTTTAAGCGCACCTCTGACTTCATAGCAGTGGCCTAGAACGCCAACCGTCAGTATGTAAAAATGAGCTTTTTGGGCCTCGAACAGAACCGAACGGGACATGGAAGCCTAACATTTTTAGGCCACTGACTTTAAAGCAATTGCCTAGCACCCCGTTTTTCTGTTAGACAGCCTAGACTATCATCTAGAAATCATTGGCCTAGAATCCTAAAAATAATTCGGCCACCAGAATTTGAATGGCCTAGAAATCTAGTTGAATTCTAGGCCACCATTGACAAAGGATTGGCCTAGACTCCCTAAGAATGTGATTTTTAAGCTACTAACTATACCCTAGACCATTGTTTAAAATTGAATGGCCTAGAAACTAGAATTTTTGATTTTTAGGCCACTACCTGTTGTGAGCGGCCTAGACTATTATCTAGACCCCAATGGCCTAGTTTCCCCGTCCGCTGAAAATGTGTTTTTTCGGCCTGAAATAGGCCTAACATATTACAGTCCACCAACTCTTTTAAGATGACCAGTACTATAAGTTTAATCCTAGCTTGCCACTATAAATAATTGGCCTAGAAGCTCCTAGGCCACCATCTAATAATCGATGGCCTAGAAACCTCCCATTTTTTGTATCATAGGTGTCACCAACAACCACTGATGCCCAAGACCCGGGCTTCTCATTTCATAATGAGCAGCAATGCAAATGAGCTACCGTACCACTTCTACACACTGCCACCCTCCTTGATCCACACCCATTTCCCCTGATTTCTCGTCAATTTAAGCGGCGGCGGTTCACCACGGGATAAATTTGTGAGAGGTGAGCTGCTCACAATAATTGTTGTGAATAGGCGGCAGTGGTAGTGGTGTTAATTGTGAGTTCCCAAAGTTCACACAAAAATTTTTCGCCGCAATTGTTATCCAACCAACATAATAATAATAATAATAATAAATGAGTGTGCATAAATGTGCCCTTTTTCGCTCCACACCCGTCCTGATGGGGACGACGCTTCGTTGAATAGTTGGAATAATAATAATAAATTTGGTTGGAAAAATTTGGGCGCCCCCCTCCTAACACCCTCACACACACGAAATTTCATTTCGCGCGCGCTTCGAAAACATATTGATGACATGTTCTTCGCGAGACAAGTTATGAAAATTTGTGGCAATCGATGTGGTCCCCGCCGGCTTCAAATTTAGAGCAGAAAATTTGTGCTCTAAAGGTGCCTTTTAAATCAAGAAGGGTTACACATAAGAAAGTTTGTCGGAATCCATATTTTTGTAAGGTCCTTGGACCTGAACCCCCGGTCTTCAAATTGTTAGGCATTCTAGGTCTTCCATGGGAGACAGGCGTTTAGGCGTGGGCCTCGGCCTCTCGCCTCATTTCTACACTATGGCGAGAAGACAAAGGGCGGGTGCTCGACACTTTGTGCCAGATCATTTCGGCGTGATCTACCTTGATCTACAAAAATGCGGGAGAAGAGAAGCAGAGTTCTCAACTGATTTTACATGGTAACAGCGTGCTGACGTCAAATTTTTTTTGGACGAAAAACTTCCGCATTTTTAGTAGATCAAAAACCGTAATAGGACAGCAGGGCGTTCCACTAGAATAATTCCACTTGTTCATAATAAACGTATATTTGTCAAAATCTTGAGAATTTCCATAACTTCAACGAAAAGCACTGATAAAAGTGGTTCTTTCGCCGCGGCCGACACTTATCGGGTTCCGCGCCTATAAAGGAGACGCGGCGCGCGGCGCGAGGCAGGCGTTTTGGCGCCTGCCCGGATGCCCTACACCAAACAGCAAACATTTCTAGCTCCGTTTTTCGGACTCTACGCCTTAGTCTTTTTGTCACAACTTCGCTACACTGTGTTATTCTTCCTTCTACGACTTTAAAGGCGTGCGGAATGCGACTCACGTGATGTCAGGGAGTCTCATTGCGGTTTGATCTCAAAAAATGCGGGAAACTTTCCACCAGGAAATTGTGACGTCAGCACACTCTTGCGAGATCAGCGTTGAAAAGTCTGCGTCTCTTCCCCCGCATTTTTCGAATATCAAACCAAAATGGGACATTCTGACACCACGTACTGGTGACTTTGGATCAATGTAGATCGTTTTATAGGCCATCCATTGTTTTTAGCTCGTGGCCATTTTAAATGAATTTCCAAAATTTCCAAACACCTATTTTTTTGTCAATTCACAAGTCCCCCACGGACCCCCTCCATTGTTCCCCCGTTCACAACCTCCCTCGGTAACCACCCATTTAGCGGGAAAAAATTAGCGAATCAGTGACTCATAATCAAGTAAACCGGTCAATGCTCTACGAGCAAGAGGGGGGGAAAGGGGGTGGCTAATCGAATTATACGGGGGAATGGGATCCCTCCGCGGACACCTCGCTGCCAATTAACAAGTCAACTACTTGGGGGGGGGGGGCGGCCTCCTCACAACAATTGTATTATATTTCTTGTTATTATGATTATTAATTATTATTCTTATTAGAAATTAGTTTATGAGTATATAATATCAACTATAAAGATGACAGTTAATAATAATTGAAGTCTTCCAATAGGTGGCCATTAGAGAGAGGGGTCTGTAGTAATAGAAGAGACAAGGCGGGGGAGAGGGGCCAAATAATTAATCTGGGCCCCGTGGGCTCGTAAAATTCCGATAAAGTTGCTTGTTTGTAATTAGCTAATTCACTGAATCTTTTTTTTTTGTTGGGGTCTTACTATGTGTTTGAAACTTCCTGTTATAACATGTTTCAAAATAGACTATCTTACCTCAATGGGGACTTACAGAACCCTGGTGTTGAGATTGCTAGTCTAAAGGGTTAACCAACCATGGACCAAAAATTGCAATTTTTGATTTTTCTTACTTGAGGTTCTATTTTTTTGAATACAACGATCAGTAAGGATCTATTTCGATTTAGCAAAAAAACCTAATCAAATTTTGTAAAAATTTTCTAAAAAGTTATGAACATTCCACGTTCACACATTTCTTGCTTCCCTCATAACTTGAAAGTAAATGGAAGAGTTTTCGGCGAACAAGAGCCATGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTTATGCTCCGTGTGGGGTCCACGACTTCCCCCGTTGTCCGCCAGACGATTGTAAATGGAGCCCGAAAAATTCAATGAGGAATACGGGCCAGAACCCCGTGCACTTTTTTGTTTCTAAAACTGAAATAATTTTCAATTTTGAAATTTTCCTTGGTTTTACAATATACAAAAGCTTAAGTTCGCAAAAATTTTTGACACTGGTGGGGGCGTCGAACCCCTGAGGGGCATCCCTGTTAGCCACTGGGACCCGCCAAATTGCTAAAACTTCAAAACAAAAATTTTAGACCTTTTTTAAGGTTGCTTTCCTAATTACCGACGTCCGACTTTTCTAAAATTCCTATTCAAAGTCTTCGTAAAACTAAAGACTGGGGGGCTCGAAGCCCGGTCATCATATGAGTAGTCATCCCTGTCAGCTGGACCAATACACCACTTGCCCCCGATAGACGTGTTTCTGGTCTGTTTTACGGAGCGTGGCCTAAAAAAATCAGCCACCAATTCGAAAAGTCCATAGACCAATGTCAGTTAATATAGAAAGTCGTCTTTCAACCACAAATTCGAGCCAACCAACTAATATATAACCTATTTTCGCCGTGTTGTTCCTGTGTGTGTGTGTGCCCCTAGTTAGGCCTACCCCCCTTATGCGCTTTACTTGCTTTACAATTTCGATTGGCCCCCACACAGTTACGATCATTTTGTGTCGGGTTAATTCGACATATCGTTTAAACGGGTTACCTCTCTCGGGGCCCCCTATTCTCCTACTTCTTATTTGCTCAATATTTGCGCGTCGAAATTTCTTCTGCGATGCCCCAAATAATCAGATTCACCAATGTATAAAATAGTGCCACGCCTCACTTTTTCCACACCCATCATCTCAACTTTCCTCTTCTCAAATGCCTAATCAGCCAGTTATAACGAGGCTGCTCTTCGTGTGGCGCCCCGCACATTTTATTGCTCCTCTCACGCTTCATTCTCACTTTTTCTGGGGATCCTTTTTTTTGCAGACCTAAAAATTTGAGCTCAGCCATATTTTTGTAAATATAATCAAAAAAAAATAGACATTAGTCAAAAAAGTTTAAGCCTAAAAAAATTTTTTAGATAAAAAACGTTTTTAACTTTTTACAGTTTTTCAGTGAAATATTTTCAAATTTTTATAAAAAAATGTTTTAAGCTTATCTAAGCCTATGAGCCTAAGCCTAATAACCCTAAATATAGTGTGGGAGCTCACGCTCCCCCACTTAAGCCAAGCCTAAACGCCTAAGCCAAAGCCTAGGCCTAAGCCTGGCCCGAAGCTGAGACCTAAGCTTAAGCCTAAGCCATAAGACTGAGTTCAAGCCTAAGCCTAAGACTAAGCCTGAGTCTCAGCCTAATCCTAAGCCTCGTAAGCCATTTTTAAAAAAAATCTTCATTTTTTTGCAATTACTATTTTTTCTGAAAATCAAAAATATCGAATTTTTAGAGTTGCTATAAAATTTAAAATAATATTCAAAAAATAATCCGAAAAAATTAAATTTTTTTTCTCAAAACGGAGATCATACAGAATCAGCTTTAAAAAATTCAAACCAACCTATTTTTCGTTTCAAAAATGTTCAGAAAATTTGGTAAAAGTTTTGTAGAAAGTTTTCATAAACTAGCTGTTGAATAGGGTTTTAAGTAGGCGTTAAAACGCTTGCCTGCCTGACCTTCAGGCGACTTTCGCCTGACTGCTTGACTTTCAGACGTTCTCTGCTGCCTGACTTTAAGGCGACCTCCGCCTGCCACTCGCCTCAAGGGTATCCGAACCTTTTCTCTTAAAATGTTTGATAGTTCTTCATCAAATTGCTAAAAATACGGAAATTCCAAAATTTTGTAAGTACATGAATGCAGGCATCTGCTGTGGCCACCCATAGGCCTCCGACTTTCGTTCTACAATTGTCGTTGCCGTTTCCTTCATTTTCATACCCCAAAGTTATGATTTTTCTTACACCCCTTGCGCTGCTGCTGCTTCCGCTCGTGATGTTATGAACCAGTAGTCAGAACCGCAGGTCGAGAATCCCCACAATGATCACCCAATAAACGGGAAACATTAGCAAAAACGTATGCCCCCGTTTTTTTTTTCTGAGAAGTGTCGGCATCCCCCTAACATATGCGGGGAACATAGTTCGCTAAGTTTTGTGTGTTCCTCCAGCTCCTCCATATGGTTACCGTAGTCCACTGGTGTGTAATTGTTGTTGTAACTATCCCCCGAATACCTCTCCTCACATTCATTCACAACACAGGTGTCAACTCAACTCTCAGTGCTCATTTGAAGTTTATGAAGGTTAGCTTCCGGGGATGGCTCTCCTGGGCTCCCCCACGAAAATCAGTTAATTAAGCAATGTGGTGGTGGAGGGGCGAGCTGCTCGCTTACCCCCCCGCCCCGATTCTCTCTCTTTCATTTGTGACTTATTAGATTTTAAATCACGTCTCAAACTTTCCACTTTAACTTTCGCGTTTTTTAAATTTTTTTTTCACTTTTTCCTCACAAATTCATCCAAATAAGTTTCCAGAGTTGTCCCGCCCCATACATTTGCTAAATGGTAGAATGGGATGTGACACCTTTGACAATGTATTTGACAACAACAAACCGCCGACAAGTTCAGAGTGTACGGCGAGTATGAGTTTGGCCGGGGGAAGGCCGATAAGTTGGCCAAGACTTCTTTTTTTTTAATTTTCAAAGGTCGTTACCTTCGCGACGTTGTGCCAGGTTGTCCCATTGCTTTTTGATCTACAGAAAATGCGGGATATTTTCCCTAAAAAATGACATAAGCAAGTTTTTAAATCTTTTCTCCCGCATTTTTTTGATCTTCGTGTACCAGATCATACTCTGACACCACGTGTACCTTGAACCTCCTGGCTCCGTTTCTGAAGAGTCGTCGCTAGTGCGCATTTCTGCATTCTCAGTGGTATTTAATTTGTACAGTACCGCCAGAATCATGTAACGCGCCGCTTGTAGTCTAGTCGTTACTTCAGCTCTAAACGATAGGTCCGGGGTTCGATTCCTTGCAAGTATCCATGGAATTCCTTTCTCAAGATGGAGGTACATATGTGCTTAAAATGTGCACTAGAGATCGCGAAACTTAAACCATGGTCCGACATGTACAGGGTTCCGCGCGCACGCCGACTCGGGCCTCCAAAAAACGCCTGCGGTTCCAGCGGCGACCTCCGCCTAACTCGCGGCGCTATGCCTTCTGTATACGGCCTTCTGTCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATCTTGGGCTCGGTATCTGGTCTCGATTTTAGTTGTAAAAACTAAATTATTTGTCCGTGTGGAGTGCACGACTTGCCCACGCGTTGACCGGCGGGCGATTGCCAATGGAGCGCGAAAAATTCCATAAGGAAGAACCCGTGTATAGTGCCGCGCGGCCCGAAAAGTGTCAGCCGCGGCGGAAACATTCCATAGGAAAACTAAAGTTCTCACTTTCAGAAACATACCAATGATACCAGATTCTGCGGAGATAATGCGACTTGTTGCGGATCCTTCGACGTCTCAGATGTTTGGTAGGTCATAGATCAAATTTTTTCCGCAATTTCCCGAAGATTTTCAACGAAAACACAAAATGTCGGACGAGATCTCCCCGCGTCAGGCTTCGACGAGGCGAGCCTCTCCTCCTCGTTTCCGTGCGATCCGACGCTCGGCGCGTTCGCCGACATTTCCCAATTCTGAAACATCACTCCGAAATTCGTCGAACACGCTGAAATGTCCAAAGTGTGGCCCGACAAGTACCAGGATACCCTCGAAAATGATTTGAAGGAGAAGCACAACGATGTGGATGTCAAGTGCATGTTTTGTGCCGAGAACCGTCCCCACCCGAAGCTTGCTCGCGGTGCGCGTACTCGTGCGGTTATAAGTCACCATAATCCTTCGATGCGAGTTGTGTCGGTACAGTACGACGAGAAAGGGCGAGTATTCATATGCAAATAAGCATCTTCATGGACACCAGTTCAAGAGCTCCCGAATTTGTAGTAGTAGGTGGGGCGGCGAAGGGTACTGTAGTTTTCGTGGTCGGCCCCAAGAATTTGTTTCACAAGAATTTAACTGTAGAACTCGAACTTTTCGATTCTAAGGTCTACGCAAAAACACATACGCCAACTTTTTTGAACCCTAAAAAATGATACTCATTAGAGTTCTCAGTGAGCAAAATTCGATTTTACAGTTTTTAATTTGACGGTACTGTGGGTCTTACACTCAAAGGGTTCTATAGTTCTCGTGGTGGGACCTTGTCAAATGGACGTGATTATATTTGGTTTAAAGCCCCTAGAATTCTGATTTTTTTAATACATTGGTTTTATTCTGAAAAGACTGAGAAAATTGAGTTTAGTCGAAATCAATAAAAATCGCGTCGAGACCCAAATTTCCCGGGTCTCGGCACGAAAATGGGGGAGAGGGTACTGTAGTTTTCTAGTCTTCTCTCAAATATCGAAATGGTAAAGTTTTTGCCGAACTAGGGGCCATATCTGGGATAGATTTACGGAGTGCCGCGTTGCACTGTGTAATGCGCTTGGGCTCAATTTTTGTTTTAAAACATGAGGAAGACCACAATCTGTTTTCGTGGTGGGACCCAAATGGGTCATGATTATACTTATTTGAAAGGCCTTAAGAATTCATTTAAGATTTTTATTATTTTAATTTAAAAATATCCTTAATTTTCCAATTCGCTAGGAGACAACTTCGCGTGTGGTGCTCCAGTTAGCCTAAGTAGTCCAAACGAAGAGCCCGACGGATTCCTGGTCTGCTATCTGCGGTATCTTCACCTCTATCGCCGAAATGATGGCACGTGGAACAAGACCGTCCCAAGACGTTCCACGGAGACGTTACCGTCCTAAACGGGCCGGAAGTGCCACTTGTGCCCGTAAAATACCACATTGAAAGCCAATTTTCAACTACACACAAGGACGGGGGATAAGCTTCTGCAAGAAGGTTCAAATTGTGAGTTTTGTATTCCCCCCTCATCATCTTCTTATTTTTAGGCTTGTGTCGCCCTTTTCCCATTTTTGTGAGTGTCTGTGTGTGTATGCGCACCGATTTGTATACACATAAATTCATGATTTAATAGCGTAGTAATATTTGCTTTGCCACTAACAGTTTTCGTTATTTTAAAGCCTTTTTTCTACTATTTTTGAAAAAAAAATTTAAAAATTTGAACCTTAATATTTCCCTAAAAGCTCAAAACTGTAGTGATTTAAATTTTGAATTCAGTGCTGAGACCTTTTACCGTAGTATAATCATTACTAGGTTTTGGTTCTGACGAAAGTGTTCGTTTTGGCGGAGCCCAAGCAAGGCGTAATTGATTATAGGGTCTTTGCACGCAAAAAATTTAAGGTCCGGTAGGCTTGGAGTTTTTCTTGAATTATATTAGTTTCATAAATTTTCAATTTTTTTGAGTTAATTTTACTCTCCCTTCCCGCGGTCGTGTTGTCTGATCCTAAACCAAGCTCTAGGCCTAAGCCGAAGCCTAGGCCTAAGCCTGAAATAAAGTTTAAGCCAAAGCCTGAGCCTAAGCCTATGTAACCCTAAGCCTCAGCCTCACCCTAAGCCTAACCATAAGGCTAAGCCTGAGCCTAAGCCTGAGCCTAAGCTTTAGTCTAAGCGTAAGCCTAGGCCTAACCCTGACCCTAAGCTGGGTAAGCCTAAGCCTTACCGCCTAACCCTAAGCCTGAAGGGCCTAAGCCGCCTGCAAGCCTAAAGTCTTCGTGAGACGCAATTATACTCAATTGAAAATGAGCTCACTATGAGCTGACTTCAAATTTCTCAATCAAAATGTGAAATACTTTGATTTTACGGGCGGTGGCTTTACTGGACCCACCGAACTTAATAAACTCTGAAATTTTTTTTTCATTGAATCCGGTTTCTACTCTCTCCGGCTATTTGTAGGCTGTCTTTCACTTCTTTGTTCTCGTCTGGTTGTTCCCAATTTCTCGTTCAACCCTTTACTCATTCGCCCTCTCATTTTCCCAAATCCTATTAGTTATGGACCTATCGGGGGTGACGGTGACGATTCTCGCCATTAAGACCCCCCCCCTCTCAGAACTGGGCCGATTGAGATGGAACAAAACAAAACTGTCAATTTGAATAAATTTGCAATTTGACGCGGGCGACGCGGTTACCGAGAAGGATATAAACTGGGGAACTCTACTTAGCCCGTAAGGTGCTGCTACTATTTTATCACATCTCAATTTTTACGGAATCCCGTAAGGCGTTGTCTGCTGCTTCTCTGTTTTTGCATGCTTTTACAAGTTCGGCCCGTCCGATGTACTCGGCTCTTTGTTTTGCAAAACAATTTAAAATTTGAGCCAGGTGTCTGCTGCTCCGGCTAGATTTCCAATATTTAAATTTTGCGCAATCCTGTAAGATGTGGGGTGCTTGTCAGTTTTTACAAAGTTTTTTCTCTAAGGCCCGCGCAGTGTCGGCTGCCACCTCGTATGTTTCATCAAGCTTGATCGATTCGAGCCCGTTAGCTCAGGGCCTGCGTCTTTTTTTTTCTCAAAATTCCAGCCCGTATCTTTTCGGTTGCTAAATAAAGACAGAAATTATTACGAAATTTTAACGCTTGAAGTGTCGGCTGCAAATTACACTCATTAGATTCCCTGTCTCTCCCTCTCCCTCTCTCTTCATTGGGGAGTGCTTCTCCCGAGAGAAAATGACTAAAACTGTCAATTCGAATATGCACACAGCGGGAGATGTTTTTCTGTAACTCCAGACTCCACCGTCTTCTTCGAGTGTTCTACTGCCTATTAAGCGATGATTAACTAGTCGTTCCCTCCCCCTCTCCACATACCAATAAACCTGCCAAAAGTTATGTCGAGTATGCTTTGCTCGCCATCGTGCCGGAGGCTATTTTTTCTAGACTATGATGTTTTTTGGAAAAACATTTTTCTATGGAACGATGCAAGCTAGTGCCGTGTTGCCGAGTCTTCAATTTAGGCGTATCAATTATGAGATTTCAATTTTAGTCCCTTGTATATATTATTTTTTTTGAACATTAAAATTTGATAAACTGTAGATACCCCCTAACTATTTATTTTTGTGCCAAATTATACTATACAAATTGACTTGACTCTAGATGCACCCTGACTTTTTAACCGCACTTTCGAAGATCTCATATTGTCGCCTAAAATTATTCTCAAATATTTAAATTTAAACTTTAATCCTTTATTTTTTTTCATTCCTCGGAAAAAACCCCGTTAACAGAATTCCCAATCTGGCCTCCAGTTGGCGCTTTTGTCGATGCACCATGTTCAATATTTTTTCAAAATTTGGCTCATTGACCTGAAATTTTGTCATTTTTTTATGTTGCAGGGTTTATTTTGCGATTTTTGCGATGACAACCACATTATGTGGATTAAAAAAGTTTGGAATCTCGTTTTCCCGTTTGGCTTCCATATTGCTATGTAGTTGATGCACCATGTCCAGCTTTCTGTTGAAATTTTACTTTTTACATTTTTTGCTCGCTTTTTTAAAATTTAGTTTGACCTTAAAATTTTGTCAGTTTGACAGTAAAAATTTGTCAGTTTGACCTTAAAATTTTGTCAGACATATAATTTTTTTGTGTTTTTTGTTTAAAAAATTGAAGGTTTTTCGCGATATTTAACATATTGCATGGAATCTTTTGATCGTCTCTAATTCGTGTAGCAAGTCGATGCACCATGTCCAATTTTTTAAAAGCCATTTTTACTTTTTTTAAATTGTTTGCCCAGTGGCTCTTGACCTTAAAATTTTGTCCATTTTCCCTTAAAATCTTGTGTTTTACCTTAAAATTTTGTAAGTTTGTTAAAATGTTTGTTTTACCACAATTAAAATTTCCGAATAAACTTTTCTGTTTTTTGGGTTTAAAAATTGATTTTTTTTGCGTAACACATCAAATGGCAAAAAATCATGCACCATACCGGGTGTAACTTTATCCGAAAACAGTTTTCCCTAAAAGTTTGTCAGAATTATACATTCTAAGTTCAAAACCGTACGGAAAAATTAGAACCCATGTCGACGCACCATAAGCTTTGGCCCACTGAGCTTCGTTGCTGGTCCTGCATATCTCTTACCCCCTCTCGCCGCTCTCATAACATTGACCAATTAATTGGGCGGAGCGCCGTTTGGAAATCGATTGGCTGACGGGCCCGCCCCGCCCCCCGTCCCGCAAATTTTCGAAGGAGCTTTGGACTGGACAGACACACACACAAATTCACAAATACACGCCAATTTGTCGATTTTTCTTGAAAATTTCTTCATTATTGTATATTTTTTTGTGTCGTCCTCTTGTCATCCGCCATCCTCGGCGTCTTCTTTCGTTTGATTATTTCATACACCTACCACGTAATTCGCCTATTATCCGCCTCGTTACCTTCATCTTTCGGTCGACGTTGACGTGACATCGGCGCTCCCGAAATGAGAGGAAATAGGGGGGGGGGGGGGGGCGGACGACGGGCCCACTACGACAGATCACGATCATTTTCGTTCTATCATCTTATCCGGCAAACCGTCGTCCCCCTCCATTTTTCAACTTATGTAACCAAAACTTTTCTTATCTTGGGATTTGGTCCCCTTTTATAGCAAATGCACTGAATTGACAACATATTAGTTTCTCACTTTTTCGAAGTTTCACAATTTTTAGTTAGTCCGTTTTTTCAGTCTGGCCGAGTTTTCAATTTTCCCCGGCCAGGGAATCTAGTAGTATTCACATAATTTTTCTTATTTTTGGTTTTCTAGGCGACCACTCCCTATTCTAAGCCCGGCAAACTTCTAGGTCCCCCATTTACACCTGACTTCCTACCTATCTGAAATGCCTACTTGCCTTCCACCTGACAAAGATGCCTACCTACCTAAAACCTTCCTACCGAACTATTGACTCTTACCTACATAAGACTTGCCGATCTGAAATACATGCCTACTAAGACATGATACCTAGCCTACCTATCTAAGCTACCTACTTACAGATAATGTACCGACACAAGACTTGCCTACCCACGCACGGCATCATTTTTACCTACCTACCTGTACTTAAGATCTAAGACCTAGATCTTAGTACATAAGAATTTTCATCTTAGATACCTACTCAAGGTCCTGCCAAAGATGCATGCTTACCTATGACCTACTTACTTAAGATACCTGCTGGCCCAAACCCTACTACCTACATGCGCTAGCTCCCCCACCTACCTAAGATACTTACTTACCTATACCCGATTTACCTACACAAGACTTGCCTACCTAGGGCCGCAAGGCTTGATTTTCTTATTGTTAACCTACCTACCTAACTATAAGTACGATTTAAGACCTAGACGTTATTGCAAGACAGAGTTTCTGTCTTAAATACGTACTCAAGATCCCCCACGATACCTAGAAGCACTTCCGACCTAAGATGCCTCCTAAGCCCTGTCTCCCTAAGACCTAAGTGTCCTATAAGAACTTCCTAACTAAAAACACCTACCTAAAATAAGCCTTACGCCAAGCTCAAAAATTTAGAGCATCTGCATGAGATAAGGCTGAAAAATATCAACGAATAATGGAGAGCGATTATGTTCCTGCCCTCTTACTAGAAAGTTCGGAAGTAGTCGCCGCAAAACGCCATTACTATTGCTCATCGAGCCATTTCCGGTACTCAGTACTTTCTCATCCCCCACTACTTTTTTCGCACTCTCTTCTCGATTTGATTTGCATTCTTTTTGCCCTCGTTTCGAGCTGAGCCCGGTTGATTTCCCGCACTTTCTCAATTCTTTCCTCTTAAGCCACCGCACTTGAACAGGAGCAGTTCACACATGCAAACTTGGACTTAATCATATTAAGACCCCCCCCCCCCACCCCTCTTAATTTCCTAATCCCCTCCCCCTCCTCCTCATCATGACCAAAAGACAATTGTCTTCAGGCGAACCATCTTCGTGAGAGAACCCTCACACGGCAATCTACCGTCTGTCGAGCACAACGTGCGTTCAAGTGTTGTGTCGACAGTGTCACGAGCTGATGGGCTTCCCGTGGCGAATCGCCAAATCCGCGAGCATCGACACTTTCCTGCTTGCCGCCAAGCCAACGCTTGTGGCGATGTTGTGTAGGCTTGCTGGATTTCGATTCGGTTCTTCTTGCAGCTGGTGAGTTAGTTATTTTTAGGAAGAAATTATATCTGTGTAAGTCCCCCAAATATAAGCCATGTCCCTCTTAATAATGAAGCTTCTGACTTAATTTACTATAGATTTTGAATTTCGTCTATCGAAAAATTAGGTTCACCATGATTTGTCGATTTTCGATGCACTATGATTTGTTGCTAGGATAGAAAACAAGAAAATTCGTGGCCTACGAAAGTTTTTTAATTATTTCTTTTTGTCGGCCAAGATGAAAAAGTCACCTTTTGTGTATGGATGCAGCATGACCCTTTTCAGTGGATTTTGGCCCAAAAATCGTCAAAAGTTTAAAAATCAAACTCTAAATTACCTTTTTTTTTCAAATTTTCTTAACAAATTGGAGCATTTTACAGAAAGCCGATGCACCGTGATTTTAGTTAGAATTGAAAAAACATTCTCGGGCAAGTTGCAAAACTCACATTTAATGTATATTCGATGCACCATGACCATTTTCGAAATTTTGCGGTACCTATTCAAATAGTGCACATAGGCGTACAAACATTGGTGGTGGCCTCGTTTCCTCATGCTTTCGGCCACGAAAAAAAAATATACAGTTTTTGGGATCGGGGAGATGCACCATGATTGTTTTTCAGTGAAAGCCTGTTTTTGCTTAGCAGTCTCAAAGGTATCCGGCTTAATGTTCCCACGCTAAAACGTAATCCAAACATTTAAATTTTAGCGTCAAACTTTTAGGCCCGGCGTACACTAAAAATTGTAAACTTTCAATATATCAAAAATATTCTGACCTATAGCAAAAATTAAACCTAAAAGCAATCAGATATTTTTTCAAAAAAGCTTCTGTGTGATGTCCAATACATGGGTGTGCAGCTAATCTTAAAGTGCTGGCCGTGCTTAACATACTCCGAAAAAGAGTGATATTATTTTATGCTTTTTGGAGCACCAAAACTACTGAAGTTCGTGCTTAGCAAACAAATTCGGCATATTTGCCCCCCTGGTCCACTAGTTAAGCAAAACCCACCGCTGAAAACTAATCAATTGGTGTTTGAAACGGGGAGTGCTAGTACTAGAAGTATTTGGCTGTTCAAAATCTCTTTATTAAACACTTCTTTGTGTCTATTCTGCCCTTTCCTCCTCCCCGCTCAAAATCACTGTACCTCTAATTACGGTCAACTGCGGGTTGAGTTTAGTGAATGAATTGTGAAATGAATGAATGAATGAATGGATAGGTAGATGTGGGTTCTATGTATGTGGAGAAGTGCGACACATGAGCACAACCAGCCGTCACCGCCACTACCACCAGCAGTAGCAATACCCATCAAATATAAGCCTTGCATTTCATTATTTCATAGTGTCATAGATAGTAGCAGGCCCCGAGGTCCGAAAGGCCTAGACCAGGCAGCCGGCAGGTTATATTCAGTTCATTTTTTGACACCCCCCCCCCCCCCCCCCCCACCTCTACAATTCTTCTTCTCTACACATACATTAATCGCATAGTCAGGCCATTCATGTTTTTCACACAATTTTGTTAATAAAGCCGCTCTGGTGGCCGCCACCTCTCAGTAGTCCTTTTCCATCGTCTCTTTTTCCCTCTCCCTTACGAATAAACAAAAACAGTCATTGATGAACGACGTATCGGAATTGTAGTCTCGCAATTATGGTAGGACATATGTCTTGCCACGAGCCGTCCACTTGGCCCAACGAATCACTTGGTGAGTCTCTTTACAGCTTGAAATTTGTGTTGTTTTGTTGGGAAATATAGTTAATCGTTTTTTTAATTAGTATCTCCAATTAGGCCAAAACTACAATCGTGAAAGAATAGTTTCTGCACATGGTGCATCGCCCTGATCTATCTCACTAAACTTTTTTTGGGCTTCATCAAAAACTTGTTAGCTAATATAGTTTAGCATCACTCTATTGATATGTTCAATTTGAACCGAATATGGTGGATCATTTATTGCAACTGAAACAATTTGGCGCATAAAATTGCAACTATGTAGTTTATGTACATCGATCTTGATTACCGTATTTCCTCTATTGTATTGCACCCGACATAACTTTGAAACGTTATATCTCGGTTCATATTGAAGATATCAATAAATACTATTCCGAAATGAAAGCAAAAGAACTAACAAAGATTTTGTTAGTTGACCATTTTTGAATAGGACAAACGATTAAGATGTAACAAAAGTGGACAATGGGGAGCAATACTAATTGTGTAAATACCTTATATCTCGGTTCGCTTTGGTTTTAACAAAAATTTTAAACTGACAAAATATCATCTTAATGACCATATTGTAGTTAACAATATTTTGATATCTTTAAGAACTAGCGATTTTCGACATGGTGCAACCTCAGTCACCTAGTCTAACTTTGCTGGATTTCTTAGTTTTAGTATTAACCGTTCATTTTAATATACTTTTATAAATAGTGTCCTAACAATTTTTTGATACCTTCAAACGTGTTGAACAGGAGCGGGGATTATAGCATGGAGCTTTGATCCTATCTTGCCTTAATTTTCAAGCTTATTGTTGTAAAAAAAATTTAGACATGGTTCATTGACCTGAACTACCTGATATATCGTACTTATCTTCAATTTTAGCAAGTTTTGGAACCAAAAAAATATTAATAAAATCGATTTATAACATTTTTTCCATTTTCAACCTTCCGACAAAAATTTTCAATTTTGACCTTTTTTTATATGGGAACCCGGCAAAAATCTAAAAACTCCCAAGAACATTCTCCCACGAAAACCTAAATACTTGTAAATCTAGATCAGTCAACATGATTTGCACCTTCTTCCCATGGGATGGCTAAAGAACCCAGTGCGATGATGAATCGGCCTGTGGGCCGCGAGCAGACGCCGCTCTAATCACTTTTGGAGCATTTGTATATATATAGCGAAGAATTTACGTTGGGACCAATGAAACCAATAGAAATCCAAACATATTTTTGTTTTGTAATCTCTTCCCTCGCTGCTATCAGCTCTCTTGCCCCTCCTTAACCAATCAGAGACGCAGGCACACACCGCACCGCCAGTCCGTCATCGTCATCGAGTTCCGCAATTAGTCGTCTATTCTATCCGTTTTTGATTGGAGTTATGGAGCGGAAAGAGAAAGACCGAGAGAGAGAGAGAGAGATTAGCTCTTAGATTCATTCAACTAATCTTGAAATAACACACCCACACACATACAAAATGAATAAGGTATCTTGATTTCTAGAAAATCATGGAAATCAGCAAATTCGCTAGAAATGGAAGGGGAAGCTTGAAATAAGAGCACTACTTGATACCGAGTTGGGTAGTGTTTTAATATTTGAAGAAATATTACAATTTTGCATTCTTTATACTTCTAAAAACAAGTTGCTTGATGCATCATGCCTCTTTAGATAACGTTGTCGTTGTTTTAGGCTTAGGCTTAGGTTTAGGCTTAGACTTAAGCTAGGCATAGGCATAGAGGCTTAGGCTTAGCATAGGCTTAGACTTAGGCTTAAGCTTATTCTTGGGCTTAGGCTTTAGCTTAGGCTTAAGCTTAGGCTTCGGCTTGGGCTTAGGCTTTAGGCTTAGGCTTAAGTTTAGGATATAGGCTTAGGCTTAGGCTTAGACTTCTAGATTTCTCGTAAACCACCAAATTACTGTATATTCTCTATCATAGATACTACTTCGGACCAGCTTATAACTCAAGTCTTTTATCAGAGATGAATCACTGCTTTAATTACAACAGGTTAATAAATACACCATATTTTATTAGTTTAAATTTTTTGATTAAGCTAACGAGAAAAATATGACTAGTCAAAGATTATCGATGCACCATGGTACTACACTTTACTTTGCCGGCTCATAACTCGGTTTATTTTCAGGATATCAAAAAGGTTTGATACAAACCTATTAAGAGAAACATATAATAAAAATATTACTATTTTGTAAGACAATTTTGGTAAAACTAATAAGAATCGAGGTAGATATAGGCCGTTGAAGTAGCATGATGCAGTTGAAAGCCTACGTTTTTAGACTTAAAGCTTGAAAAGGATGTACCGTCACGTATTTCCTCTATTATTGTGCCACCCATTGTTCAACTGTGAAATCTTTTATCTCAGTGACTGTTTGTTCTAATCAGAAATAGTTAACAAAATATTTCTTAGTTCTTTTTCTATCATTTCTTAGTTGACCTTATATTGATACTAAAATAAACCGAGATAAAACGTTTCAAAGTTAAGTAGTCGGGTACAATAATGGACGAAATCATGCGGTATTAAATATTTTGACACGGTTAACTATTTGAGCTAGATTCTCGATATCATTTTAATTTCTGATCCATGGCTCGTTCAATTGTCTTGCCTAGAAAATCTCTAAAAATAACGTCTACGAGAGCGGGTGAAACAATAGGTGGTTAGATGTAAGTTGATGCCCCTGAAGGCATCCGGGATCCCGGTGTCCGCAAAAACAGTACAAATGTAACATGAGATGTACATCCCCCATTTGTGGTCGCTCTAGTCCAAGTTGAAATCGTAAGCATGCAAAGACATTGTTAATATAGCCGTGACGCGACGGTGGGCTCGCTCGATGAATCAAGATCGTTTTGGGAAGAGAGGGACTGAAAATATTAAAAAAAGATTTGCATACCCTCTGTAATTGTTTGAATCATCAGCATCATCATCATCATCAATCATAACATAGAGGAAACTTTTCCTGCTGTGAATGTGTCTCCTTTTTAGTACAGTCAATAAATGTGTCACTTTAAAGGGGGAGAAGCTTTTCACGGATGCTTTGCTCTCGACCTCCTTCCCTCCTCGCTTATAAATTTCCATTTTTCTCTTTAGGCTCAAACATTGATTGATTTACTTATTCTATTGACATTCTGATATTAATTTGATCATCTACTAAAAGGTATATATATATATAACGTATATCAACTCTTGGAGCCCATATCTTTAATGCTCATTAAACTCTGCTCCCAGTTAGGACTCGTCCGGGAGTGTAGTACTGGGTGTGGGATAAGAAAGTTAGGATGTGACGGGTTTCATGTTCATCTCGAGCTGCCAATCTTGCACATTAAGCGATTGGCTCATTGGCACTCTGTTTGTCCTCAGGGCCTGCCGCGGAGCCATCTCCCGTTTGATATCTGCTCCCGGACGTTCCCATGGCCGGAGAGAGGCGCCGCGAAGCACAAGCTCAACCTTTTCTAATGTAATGGGCCGGTGTACAATTAGGGGAAGAAAACAAAGAGGATGAGAGGTTGGGGTGGATGAGGCAGGGAAAAGAGCACCACCACCAACTGATTTGCTGGTTGGAGAGGAGCTCGTTCTGTTTTCTTGTCGTCGTAAAGTAGGAAGAAGAAGAGAATCGCGCTAGTTAGTGGTTAAAAGAATCGAGACCCGAATGTGATAGATGTGTCGCCAATTTAGCCAGTAGGATTTTTGCTGATTTTGCACACTTCTTGCTCTAGACATTACATCCCATCTTACGCTTCATTCATTGTGGTGATTTTAAGATTTGGGGGACCTAGTTCGAGCCTCTACAGTATTACTTTAAATTTCACTATTGTTTGGTTTGAAAAGAGACTATTGCGTCATATCATTTTAAGGCACCTATGTATACAGTTCAAAATTTTGCAACATTCCTGGACCATAGCGATCTTAAAGCGGGAAATATAATCCAGACATTATCTGATAACCCATTTTTTCGAACTCAAAAAATTGAGTAAAGCCAATTGAATCGTATCCCAAGCCTAATGGATTGCAAAGTTGGGCCATTCTGAATAGCTTCGAGTTCCAAATAATCACTGAAGCTAGCCAGAAGCTGAACGCACTGACCTTCCTGCCAAGCCTTTCTTTAGTGTGAATAAGTCTCAGACTAGAAGCACTACCTGATGAGAGAGATTCCTTTCTCTCATAAGTAGTCTATTTCATGATGCAAGAACTTACAGCATTTACATTACCATGTAACATTACTTAAGATCCCATTTCCACTTAAAATGTGGGAAAATCGATACGGTTTTATAAGAAGTGTCTTTTCGCATCTTTATAGCCTAGAGCAAAAAGCCAAATTGTTTGGCAGATCATGTCTCCGACAATATTCTGATCGATTAAGAAACTTTTCCAAATCTGCTCGGTTTTTTAGTCTACGCGCCCAGATAACTGTGTTCTCGGCATGGCCGATTTGCCGATTTGCCGGAAAGGATTTTTACGTACTTTACGACAACTTACTGGCATTTGCCGGAGATTAAGGGAGAATTTTTTTGAGACGGAAAATTTTTTCATTAGAGATGTTCATAGAATTAGCTTACACTTACAAAATAGGTCTATGAACATATTCAAAGACCGATGCGCAACTTTGCCGATTGAAATTGAAATTCTGAAATTTCCAAAAAATAAATAGGTGACACAATTTGCCGTTTTCCGGCCAATTCGGCAAATCGGCAATTTTCTGGATCTGCAAATTTGCCTGAAATTTTCAATTCCCTTTATTTGCCGGGTTGCAAATTTGCCAGAAATTTTCAATTCCGCACATTTGCTTCCGGCCAATTCGTAAAATCGGCAACTTTCCGGGTTCCAAATTTGCCGGAAATTTTTCAATTCCCTTTATTATGCCGGGTCTCTGCAAATTGGCCAGAAATTAATTCAATCGGCAATTTGTCAGTTAACGTGTAAATTTTCAATTCCGGCAATTTGTCGATTTACCGGAAAAAATCGTTTGCATCAACCCATGTGAACGCTAGCACACCTCCTAGTATTAAGGCTCCAGCTAATTTCTGACGCATATCATGGTTCCCAACTATACGTTCCTCCCCTCCCCCTTCCCACACCATTTCGAATGGGCGCCAATTATTAATGGATTCTCAATTCCCATCATATTGGGGGGGGGGGGGGGGGGGGCATTCGTACAGTCTCAATACGAATAATACTTATAAGCCCTCTTCTATGCCCAAAGCGCGGCCTTCTTCTTCACCCCTCTAGGCGATAAATTCTCATATTTAGCATTTTGTAAGACTCGGTCTCCCCCTTTCAAGTATCTCTGGGCGATGATTCCCGCTCTAGCTCTCGCACACACCCCATTTTTTTTTCACAATAATCATTCAAGGTGGACACCAAAAAAGCCATCAGTTCGATTCCGGTCAAATCGAGAGAACTGGAAGAGAGAGAGAGAGAGAGAGAGTAAGAGGAAATGAGACAGAGGGGTGAGAGATGGAAAACGAACAAGTTTGATGGGCGTCCCCCCCCCCCCCCCCCAGGGCCGCTCCTCATACTTAAATTTAACAGCTGTCACTCTCTTTTGCTCTTCAATTTCTAGCTCTCTAAACTCCTCAGGTCTACAGTAATCGGGGAGGGGGTAGTGATAAGCCTCTTCCCGCCCCCCCCCCCCCGGGGGTTAGGTGTCAGAAATTAATCATAGATGCCACGCCTCTAATGTTTTCGGAAGCAGTCATCCTCGCTTTAAATCTTTAATTCATTAACCTATTAATTCATTAGTCTTACACTGTCAATTTCATAACTAATGTTGAAAAAACTTCTCAAAAAAAAAAGTTTTGGCGGCTTAAGAAATGGCCTAATATTAGTTCGACTTTTCAAGCGGCTGGAAACTAACTTTTTTTGAGATCCACCCTAATTTCAACAACGTAAATAAAAAAATTTGGTGACCCAATTAAATTTATTTAGGCCAAATCTGGTGTTCAAATTTTTTAGGCCAAATCTGGTGACTAAATTTTTTAGGGCCCAATATGGTGACAAAATTTTTTAAGGCCAAATCTGGTAACCACAATTTTTTAAGGCCAAACGTTTTTAAATACCAAATTTAGATGTTAGAGCCAAAGTGACGGTGCAAAGGTATTTAGGGGCGAATCTAATGACCACATTTTTTGGCCAGACCTGTCCCTAATTTTTTACAGGGCCAAATCTGGAGACCAAATTTTTTAGGCCAAGTCTTGGGATCATCATTTTTTAGGCCAAATCTGATGACCAAAATTTTTAGGCCAAATCTAAGGACCAAGAAAATTTAGGATTTAGGGGCCAAATCTGGTGACCAAATGTTAGGGCCTCTGGTGACCAAAATTTTGGCAAAATCTAGTTACCAAATTTTTTAACCAAATCTGGTCACCGAATTTGGCCAAGCCTTGTGATCAAATTTTTTTAAATTTTCAAATCTGGTGACCAATGTTTTTTGAGGGCTTTGGTGGCAGCATAAAATTTTTAAGGCCAAACTTTTAGGACAAATCTGGTGACCAAATTTATAAGGCCATAATAACTTTTTTTTGAAAGTTTGAAGACGTTTCTAATTCATAAGTCTTTATCTTTTTCAATTTAATCTTCGATATTCTAGATTTCAAAACGATGGAGGATGCGGCTTACGCGTGTGCTGGCTGCGACTTCAAAGTGAGTGTTTTTTGTTGTTTCCTCATCAGCATCAGCTCTATCTTCTCCCCACCCCACACCGCTCATGGCCACTTCCTGTAACCTCCAATTGCCATTCATTTCACACAGTATTAGTACCACACAACACCCTTCCATGCAATTTGACTCATTCATAGCCCTTTTCTGGACCATGTCTTTCTTCCCCCTTCTTTCTCTCTAATACTCAACCTATACCTACCTACCCGCAATTTAATTGTTGAGCAACTAATTGATACACTCGGACGGCTCAAACGATGCGCGTCCGTCGTCGAGTGCCCAAGACTGGGACCGGTTTTCAGAATGTCCAGTGTATGTGTGTTTGTGTCTACGGCTGGCAGGCAGCCACACCACTCCGATTCGTTAATTTATTGTGAGATGATGACTGTACATTACTTTAAGTGCTGCTGGTGCTGGTGGTTTGCATCATATAATTATAGCTGATTATATTGACACACACACACATACACATTTACTTTCAATTGCTTTTACCCAATCGTTTTTCTTCCATTCCCCAATCTCCTTGCTCCCATTTGGCCCTTTGATATTAACCGCGTTGCGCGTTTCGCACTAATTTCGCGCCCGGACCGGTGTGCTCGGCGCGGCACGTCTTTCATCTTTTTACCTCAATTTCATTATGATTATAATAATCATATTATGGAAGCGAGACACGGCAAAGACGCGCTCAAGAAACTGATAAATGTGTAGAGGTCGGGTCCTTTTGAGAGAGACGGAGAGAGCGAGGTGTGATAAGAGCGCCTAATGAGCATGGGCAATCATCACATTACTATCAGCAGCATTAAAACTTTTTCAGAAGACGTGTCGGACTTCATTTGAAGAGCACACAAAAGGACACGAAGAGGAGGAACGGGAGCCTCTTCACAGAAGGCGTGTGCGCTGTGCCTGCTGAGCCCACCGACCACCTCGAAAAGCACCTTGTCGAGCACCCTGCTATCGCATCGCCGAGAGGGCTATCGAAAAGTTCCTGCTTACTGAGCGAACAGCCAAGTGAGTGTTTTTTTTTCACTCAAATATTTAGTAGTAAATCTTATACTTTTATTTCTAGCGGTTTCATTTTTGATAGCTAGTTAAAAACCATAGAATAACAATTAACTTTTTGACACCTGTCGTTTGAATTTTTTGACAAAAATTTTGTCGTTTGAATTTTTAAAATATGATCGAGACAACCGAGATATAAAAGGTCAAAGTCCAGTGAGAGGGGCCATAATGATAGGGATTATACGGTAGGTATCGAAAGAGACTTATAAGGACAAAGATAATGGCGCTAGAAAGTTTAAACTAGTCCAATTTGAACAATAAAAATATATATCACGTACTTCCCATTTAGTATAAATATTTTAATGAGAGTAATCTGAGATACAGTAAATTTTTGATTAACAATTTCTAGGCACCATGTACAAAACCTAGTCCCCAGCCCTAAAATTAAATAGCACGTACTTTTTAGTATAGAGCCTATTTCAAAAGTTAAGCCATCTGATACACAGTGAATTCTACCAAGTCCTAGTCGATGCACCATGTGCCCACTTGACTTTCACGGCGCACTTCCCGGCTAATTTCATACCTTTCAGAATCGCGATTTTCAACTATTAAACTATAGAGGGGTTTTTAATAAACATTTTCTCTGTTGACGACTTTTTTAACGTAGAATCAAAGACTACCTCGATAGCTTGATAGTTAAAGTCGAGATGCAAGGTTTTTTCGGAAAAATCACGCGGTGTTTTCGGTTTGTCTACGTACAACGAAAAATTCGGGAGAAGAGACGCAGAGGTTATCAACTCGTATGGTAAAGAACGTGCTGACGTTGTCACATATTTTTGAACAAAAAATCATTTTTAGATCAAACCGTAATGGGGCAACCTCGCACCACGTGAAAAATTAGTTTTTGAGGCTTCTCTAGTCTAGAGACTCACTAAAGTATTTTTTTTGATTGGCCTTGTTTTTTCTAGACTTAAAGACCAGTTAGATCCAATCAAGGTTTTTCAGAGTGTCGATTTTTATGAATTTAAAACTTTCAAATTGTAATCGCACGTTCCTCCATTTCAACCCCAAACACGTTACGATATTGTGCTATCATAATCATTCAACCATGCTTGCTTGTGTGCAAGTTGCACAGGGTGCGCCGGTGGTGGAATTGGCATTACTGTAAATGTCCTGCGTCTCCATCCTTGCCCCCAGTGTCCCCATCGGCATAACTATTCGAGAGGACGATCCGCTTTTGCATATCTAATTGTTCAGGATTGTTTACGCGCTCTAAAATTCAATCCGTCGCCAACCACCCGCCCCCCTGCCTGACTCTTCAATTCATCATGAGTATTAGTGTATTGATTAATTTTCGAATTCACGAATCAGTGCTGGCGCCCTGCTACTAGTAACCAGTGAGGTCATAGCGTTGCCCGCAGTTTCGATAGGGCTAATGAAATATGTAGTTTCTCTAGGGGCGGGAGGATAGGTTTGATCAGGAATTGGGCGTCGGTTTGATCTACGTAGATCTATGAAGATCGCGGGAATTTAGACGCAGACTTCTCAACTGATTTTGCATGGTTAAAAACGTGCTGACGTCATATGTTTTAGGGGAAAATATTGCCCGCACTTTTTGTAGATCAAACCGTAATGGGACAGCCTGACACCATGTGCTCAGTTATGGTCCAACTAGAGGGTTTTGTCGGAAAAATCTGCAATCAATTTTTTAAACTGACAACACATTTAGCTCCTTCTCCAAAACTGAGCCAAATGTGTAATGTCAAACTTTTCTTGAAATTTTTGTATCGAAATTAATTGATGTTGAGGTGAATTTTCAAATTTCAAAAAAGGTACTCATTTCTATCAATTTGTCTTCACCTATGTTTTCGACTAAGTGCGAGGCTAGAGGTGGAGGTCCCCTTAAAATCATAAGATAGCCTTATGTGATGTCGAAAAATGCCAAAAACCGCAATGTATTTTTCTATAGTTTCCCCGTGTGTAGAAGAATGTAAAAAGAGCATGCATTTTGTGATCATTTTTTGACATTTTCCTGCATTTTTTTTTGACAATTTTTTTTCATTTTTCCACACAGATGAATAGCGGAAAAACTTAGGAAAAAAATACCATATTTGCATTTTTCATGATCACATGATCCCCCATAAGGTTTTTTAAGGCATAATATTGATATTTATTAGTCTACTTCGGATGCATAATGCCTACTATTGAAGGCAAATCAAATCGACATCACTTTTTGCTCATTTTCAAAACTGAGAGGCACGGCTTCTATGTTGACTACTAAACCAGTCAATAACACTTATAAAATGTTTGGAAAACACTCATACACAGCCACGTCATAGCTTGGACTGGATGGGACCCCATTTCTTGAATCATAAAACCTTGATTGTTAAACTATCATCCCCCCCGCCCTCCTCATTGGACGACCCCACGGCTCTGTCTCCAATTTGTTCCCCGTCCTCTTCTTATCACCTTGACGCGTTGCTAATTGAAATTTTGCGTAGAGGATTTCACTTCCTCCCCACCGCTTCCTTTACTCCTTGGGGGATAAGTATGGAGAGTGTTTATTTGTGTGATTGAAGTGAAGAAGGTGGCTGCCTCATTATTTCATTTTCGTCGCTTTCTTTGAAAGAACAACTTGACAGTTTCCCCCCCCACCCCCCATCTTAATAATAATTACTTGCAGACAAGCGTCGTGTTCACCGTAGTCGGAGTCGAGCTAAGAATTCGCGCATCGCTGCTCGAGTTGCTCGATGGCGTTCCGAAGCGAGTCGCAGCTGCAGACGCATTCCCTTCAGCTCGTGTTCAACTCGTTCCACAAGTGCCCCACGTGTGGCGATTCGTTTGATGACAATACTATTGGTGAGTGTATTGACACACTTTTGGGTCACAGTCACGCTTGATCTACGTGTTTTTAGACACTTTTGAGTCTACACGTCGTGTCAAATGTCTCTTGGGCTAACTTGATCTGCGTTGATATACCGAAAAATGCGGGAGGTTTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCGTATTGGGACAGCCTGGCATCACGTGGAGAACTCAGTTAAAGTAAGAGGGTTTTGTCACTAGATTTATTTTCTGTAAACTGACAACACATTTAGCCGCACTCATTCTCCAAATCTGAGCTAGGTTGTCGACCGACTTTTTTTGAAATTTTTTTAAACGAAAGTAGTTTTGCTAGTTTTCCTAAAAGGAGAAAGAAGGGTTGTCCAATTTTTATAAGAAGGTTTTTGTCGACTCGGAAAAACGATTTTTGTAAATGACAACCCTTTTCGCTCGTCTTTTCAAAATTAATTTTTTTCTCTTGGCACTTAATCCCATTTTATGTAAATTAACAAAAAAATGTCAAAAAATCTTCAAGTAGTTCTACAGGGTGGCCTATCTATAGGGTGGCCTACATTTTTGCACGGGTTGTCTAGATCCTTAAACAGGGATGGCCTCTCTGTAGTGGCCTAGACCTTTTCTACACGGTGTAGATTTTCACTGGTGGCCTAGATTCTCACACTAGGTGGCCTAGATTTTTCCACTAATCATAGCGTAGATTCTTTACAGGGTGTCCTAGATATTCACGGTGTCCTACATTCTACACAATTGTGGGTGACCTAGATTTGTTACACTGGTGGCCTAGATTCTCTACAGGGTGCCCTAAATTCCTTATAGGATGACCTAGATTCTTAAACAGGATGGCGCTACCTAGATGTTGACACTAGGCCTTGATATTTTACAGGGTGGCTACCTAGAATTTCTACAATGGCCTAGATTTTTTGCAGGGTGATGCTTGGATTATTAAACAAGGTGGCCTAGATTCAGGGTGGCCTAGATTTTATACAGGGTGGTCTAGATTGAACGTTTACACTGGTGGGCTAGATTCTTTACAGGTTCGCCTCAAGATTTTCTATCGGATGGCCTAGATTATTAAACACGGTGGCCTAGATTGGCCCTTTACAGGGTAGCCTAGATTCTTCACCCAAAGCGTAGACTAGATTTTTCTGGTGGCCTAGACTAAAGGGTGGTGGAACTAGATTTTTGCACTGGTGTATGGCGTGGATTCTTAAACAGGCTGGCAAATTGTTCCCCTTAGGGGATGCCACTAAATTCTTAAACAACCTAGATTTTATACGGGAAGGCCTAGAACTACTTTTTGTAAATGACGGCACTTTTTGCTCGTTTTCCAAATCGTTTTTTTTTCAGAGCCATATGTTGGAGCGTACACCAAAGAAGAATGCGAAATGTCTGAAACATTTGCCACAAAAGAGGCATTCCCCTCCCCCCTGAACTCAGCGTCACCTACTGAACACAAAGAAGCATCTGGAAAGCTGGACTCGACTTAAACTCTCAGGTGAGCCGCCGCCGCGCCTCAGGCTGCCGCCTGGCTACCGTAGTCACCGTACCTTTAATTGCTATTATAGCCACGCCGCTCAGCTACAAGCTCGGAGCGCAGAGGTGACAGAAAAAGCCGACAAAACATTAATATTATTACACTTTTTTATGATTGAATGCGAGAGAGATGTATGTGTGTGGAGTGGAGAGGCGCATGAAATGGTGTTCGGGTTCCATAGCAAGCTCATTGAGCACAATGATTTGTTTTTTAAATATATTTTATTGGAAATGACAGAAGGTGAATCTTAAAAGGAACGTCCAGTATTTAACTTAAAGTATTGATTTAGCACGTAGTTTCAGCCTGTCCCATCACGGTTTGATCGTACAAAAAATGCGGGAATTTTCTTCCCAAAAAGTTTGACGTCAGAGTTCTTAACCATGCGAAATAAATTGAGAACTCTGCGTCTCAACTCCCGCATTTTTTCTAGATCTACGCTTAGATCAAACCGATATGGGGCACGTTGCATTTGATATTTAAAGGGTCTCGACAATAAAGAACTCAAAATAGCCTTGCCAAGATAAATGGGCGGAGCTTTGGTAGGAATTTTCATAAGTCGAGGACTCCGCCCAGTTCGTTGGCCAATTTGGGTTTTTGTTCGTGCCTTCAATTTTTAGTGTTTCATTAATTTCCAATAAGTTTAAGATTGAAATAGTTTTTGAGGTGAAAACTGATCCTAGCATGGGCCGCCCATTTGTTGGTTTTTTTTTTGTTTTTTGTTCTTTTAAACTAAAATTCCACTGAACTTGTCTAATATCAGTTTCCATTAACGAAAAAATTCGAAATGCCATGAAAGGGGAGGAGCCTAAGCGAAGACTTTTTCGATGAAATTTGGCCAAGTTGCGATGTTTTTGAATTTCATATTTTTGAATCAAGTTTTGAAATAAAAAGTAATATAAAATTGGAAAATAGGCTCCGCCCATTTATTGGTTTTGTTGGGGTATTTTTTTCTGCATGGATCATTTTTGCATCCGAAAATTTGTCGGAAAGGCATTTTTCCCAATTTTTTTCCGTAAACTATCATCAACTTTTGAGATTCAAAATATCCAACATAAGCACGGGGTTCTGGCCTTCCTCATTGAATTTTTCGCGATCCATTGACAATCATTTGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTCCACGCGGACAATTAGAGCCATTTTAAGCGCCGCAAATCCCAGATATGGCCGAGCGAAAATGGCCTAGTTCGGCAAACTCTTTCTGACGATTTCCAGAATTTATTAGGGAAGACTCCGTACATAGGCTCAATAAAAGGTGAAATAGGCTCCGCCCATATCTTGGATCGATTCCAATATTGAAATTGACATGTGTTAGTTACACTTGTTCCTAATCCAAAATTCTATCCGAATTTCAATTACCCAAAGTCAAAAAGTCAACAAGTTCTGTTCTTATATGTGCGCGCGCGAGCGCGATCGTTTGTCTCTAATATTTGCTCATCTCTCTCTCTCTCAATCACCGCCATACCCAAAGGATTATCGCCCATGGATGATGGGATGATGTTGAAGACTGCGCGGTGGGCCCCCTATCCCCTGCCTCGGCATTCATCATGTTTGTAAACAAAAGGCGGCGGTTTGAGAAAAGAAGACAGTGAGCGGGCGGGAGAGAGTGAGGTGATGAAGGTAGTAATCGTGTGTCGACGAAAACACATATAGAGAACAACAGATTCGTGTGAAATAGATGAGGGCAAATAGGACGAATTTATTTAAGAGCAGATTATGATGCTTTGGCCCAGATGAGGGGGGGGGGGGGTATCATGAAGATGTGATGACGAACCATATCGTTCCTTCAATGTTTGTTGCTCGCTTAACCGCCGTCGCCGCAATTTAAAGGTTATTTCGACTGGGTATGATCAGATAAGAAGACGTAGACGGCTTTTCTTGGGGGGGACGTTCAGCTTTGATTCCTTTCAAATAATCAATGCGGCCTAGCTTTCTGATCTACAGGCGGGCCTTCTTTGCTAAATTTTAAGCGATTTTACTACCTCTTTGGCCCGCCCCACTTTGATCTACTTTAACTAAGCTTATATCCGATCTCGGTTGTCTTTAGCTTCATCAAAAAGTTATGAACTAACAAAGTGCGTGCCAATACATACTTCTACAATTCGGTAGTTAGTATTGCGATTTTGGATTAAAGTTAAGACAACCGAGAGGCTGTAAGCTGTTGAAGTAAATTTCTAGTTTGACTTACTCCCGACTCCAATTTTGATCTACTTTTACAGCTTATATCTCGTTTGTTTCTGGTAACAGCAAAAAGTTGCCAACTAACAAATTACGTGCCAAATATTTTTCTAAAATTTTGTAGTTGAAAATTTTTGAATAAAAGTTAAGACAATCACCGAAAGCTGTTGAAGTAGATTTCTAACAGGTTTGACTTACTCCCCAAACTTCGATCTACTTCATTTGACAGCTTTTATCTCGGATATTATTTTGGCAATATTAAAAATTTGTCAACTAACAAATACGACCCAAATATTTATCTACAATTTGGGAGTTGAACATTTATGTTAAAAGTTAATACGGCCGAGAAGCTGTTGAAGTAAAGGTGGTGCTTAGCCGACCTATATTTTTGAATTACACAACAGTTATAACTAACTTATTTTATGGGTAACACTATTCTAGCTAGTTGACTTTCAAAATCTACAGAAACTTTTGTTCCTGCCTCCACCTTTAGCAGCATAGCAAAGCGCCTATAGGAACACCTACGGCCTACACCTCATACCACCTACTCGAGTACACCTACTGCCCATCTACTGTTTGCGTACTTTCTACATAGCTTTGATGCCCGTTCCTAACCAATACTCTTTTACAGGACAAAAAGCGGCGTTGTGTGCAACGTCTGCAAACCAAATCCTCCTATCTTCCACATTGACAAGCGGCAAATCTCTGACAAGTGCACATGAGGTCAATGACACATCAGACCCGGATGAGCCGGCTGTCCGAACTTGTGGCAACCGGGGAGCTTAATGGGGAGACATGCCGTGTGTCAGTAACCAGGAATCCCCGACGATAAACAGCATCACTGAGACGGTAGGTGAGGGGTTTGTGCAGGCATCCTGAAAATCAGCTGTTTGGTTTCTGTGAAACATTTGTGCGGAACATAGTTTATTTATAGTTCAATTTGAAAAAAACTGGTTTCTGAGAGTGTTCAATCAATTTTCAATGTTCGATTCTCGATTAATAAAATTTCCACTTTCCAATTCCAGACAACCAACATCCTCTCTGAACGACCTGATGTCACTGCTCACACGAAGCGGGTCGGATGAGATTCGAGGTAAACGGCCTTCAAGTCATGACACAGATCAAAGTACGGTGACCAAGATCACTAGCCTAGTCCCAGAGTTGGGAAAATCGATAACATTGCGCTCTTCGATGACTCCGTGCGGCAGAGGTGTCGAAGATCGTTCTCGGCTTGTGGGCAGCAGATCTCAGGGATCCTTGCTTTGAACCTCCATTATGAAGAGTCCCATCGAAGATTCCGAGTGACGTGTTAAGAAAGTTCGGAGACGGCCGTTACTTGCCGCATTAGAGGAAGCACGGGTTAGCAGAGAGTTCCTTGAAGAAGGATCGCAAAGCCCTCTGCGCAATGACGATGAGCCCATGGAGAAGAATATGCGGCTGGAGAAGACACTCTGCTGCCTGAAATGGACAAGAACGGGGCAGCGTCGCAATTTCGCATAATGTTCCAGACAAATGATGAACTGCCTCCCGTACACTCATGGCACCAGGCACGTCTAGTGGCAACTTTGGATTCTCGCCAGATAAATGATCAATCAGCACATGAAGCATGCGGCGGCGGCGGCGGCGTCGCGACTGCAGCAGCAACAGCCCACACTGCCAACAACTGCGAAGAGAGCAAGAATACGCACTGATGATCAGCTCAAAGATTACGGTAAGTCGTCTTGTGTGTGATTACTGTAAGCTACGGCGAACAGGACAGACACGAGGGGGGCGGTGGAACATGAATTGCAAACAATAGGTGGGAAATGGTCGGCGCCGTGATCAAAATGAATGAGAAATGAGAATGAAGAACAAACATTGTGTGTGAGTGGTGTGTGTGAGACGAGACGATAATCAATCAATTTCTGGAAAACTACACATATATTTTCCCGGCGAACTTTCTGTTTGAGGGACCGTGCGGAACAAGACCCCCCTGAAAAAAAAAATCCGGAAAATCCTTAGCCTAAATAGCGAACGCTCGCTACTGACGCTCAAGCCTAAGCCTAAGCCTAAGCTACCTAAGCCTAAGCCCAGCCCAAGCCTAAACGGGAACCCCCTGAAAAATCAAAAGGAAGAGAATCCCAAGCCTAACGTCCAACGCGCCACTGACGCCAAGCCGTATGTCTAAGCCTAAGCATCTGCCTAAGCCCATCCCAAACCTAAACAGGAACCCCCTGAAAAATCAAAAAAGACTATCCGGAAAATCTTAAGTCTAAATAGCGAACGCTCGCCACTGACAACCGCCAAGCCTAAGCCTAATAAAGTAAGCCTTAGCCTAAGCCCACCCAAACCTAAGCCCAAGCCTAAGCCTTTCACCTTCCTAATTGTCAGGCAGGCTCTAAAAACCGCGCCTGCCTACAATCGAAGCCCTAATCTGTCCGCTTTAGCAAAATACCCTCAAGTTGGTCGGTGCAAAGGGCACATCAGTATAGTAAACGCGCTCTACTGATTATTCGAGTTTAGCCAGGTTTGGGCGCGTTTCAAGGAAAAGAACTTTGGCTCAAAAATTGTGAATTTATTTTCGAACATTTTTATATGCATCACAAAAATGTTAGTCCACCCGTTTTTGAGAAACTAACGCCCAAACGTCCAGGTATACGGTACATGCGCAAATTGCGTACAGATACCACTGGGGGGTCGTGTTTGGGCTTTAGTGTAGCTAAGGCTGTAGCGGCCCTACGGCCTAACTGCAAGCCTCAGCTTATTCGCCATAGGCTTGTCTGCCGTATTTCAAGCCGACAACAAAAAACCTTTCAGCCAATACTTCAACATCAACAACTCGCCGTCAGAAGCGATCAAGTTCGAGATGTCACAAAAAGCGAGCCTTCCGGACAAAGGCATCAAACACTGGTTCCGCAACACACATAGCTTTTCAAGGGCTTTGTTAATTTATTTTACTTCGAATATTGTTATTAGGCTCGGAGTGGAAATGAGCGAGGTGTGAACATTGGTAATTAGCCGGTTCATCTGATGAATACCCACACGAGAGGGAGAGCAAACAAGGAGAGCAATTGAGACGAGGGAGGGAGAGAGAGAAAAAATAAGAAAATCTTAATGTTAGTTGGGTGCCACGCGCTCGGCCAGGACCACCGGCCGGGAACCATTTAGTTTTGATTATGATTTCCGTCGTGGCTCATGATTTATGGGAATTGACTATTTGTGCTTGTTAGGTGATAGAATAGTTAGAGCAACTATCAGGAAGCGGACAAGTCGCAGTGCGAGACTATTAGAACACGTTCTGCAAGGTTTATTCTGATAGATTTGGATAAGTACTAATATTGGTAGAGACTAAATCGCTCTCTTGATATATACCAGCTTAATAATTGTTCTACCAAAAAAACTGTTAAAGAACGCTTCGAGATTCGAGCTTCGGGAAAGCTTAAAGGATGGGTACCGAAAAATTCTTTTTGCCTGATTCCGAATATGGATGTGGAAAAATTCAAAAAAAATTCCCTGATTTTATATTTGAGCTTTTACGATTTTCAAACCTTTTGTGCCCACCTGGTGATATTTTGGATTGATCTACGAGCTCTTGATCTACAAAAAATGCGGGAGAAGGCAGAGTACTCGACTGACTTTGGCACGGTTAAGAACGTGCTGACGTAAGCCACACTTTTTTGCGCAAAAGCAAAAAATTCCCGCATTTTTTGTAGATCAGACTGTCATGAGACAGCCAGGCACCATGTGTGTGCCTCGGTTCAATTTTCAATTTTTTAAACCAGTTTCTTTTTTTTTAGTCGATACGTTTTCTGAAAGCTAAATATTTTTTTTGCCAAAAATGAATGTAACTGGCTTAAAAAAACTAAATAAAACGATGCAAGCGCAAATGCGAATTTATTTGGGCGAATTTGAAAAAAGTGATGCGGGAATGAAATCGGAGATTCTAAGCAGGCTCTAAATAAACAGGAAAATTTTTTTGAATTTTTTCACATTGATATTCGTAATCGGAGAAAATCCATTTAAAAATATTTTCCAGATTTCGGTGCCCCACCCTTAATGAGATAAAAGAGGAAAAAAGGAGTTTTGTAACCTTTTAAGTTTTTTCTTTTTCAGGAACGCCAAAGCGACAAGGATTCCCCGTCCAACTTCAGCGTCCCTCCCCAAATGGGAATCGACTTGGTCTACGAAAAGACCGGAAGTACTGTCGCTTATGAAGCACCAAAGTCTGAGTTGAGCTCTGCGCGGGCCACACCGACATAATTCCGACTCCGATACCGCTCATGGATCGTTGAAGAGAAGAATCCGGTGCCAAACCGGACACCATCGTCTTCTTCCTCTCAGCTTGCAGGCTATGTTATCTCAGATGCAGGGAAGTTTTTTCGACGCGTCAAACTTCATGTCAGCATCAGTGAATCCGATGACAGCACTCCTTCCTACCGTCCAGTGGACGACAAGCCCGAATGGCTCTAGAATCAAGACCGATTTCCAGCTGAGATCTCTACAGCAATTTTTCGACAAGCACTACCCGAATGATGATGATCTAGAAGCGCTGACCAAGAAGCTTCAGCTGACCACGTGTGATTGTCGTCGGGTTCCAGAATGCAGAAGGCCAGAAAGATCTATGAGAATCAGCCAAATCACGAGAGTTCCGATCGATTTGTGAGAACGCCGGCATCGAACTTTGCAAAAAAGGTTTTAGTGTTGGAAATTAAAATTTAAATTTAAATTTTCCTAAATTCCAGGTGCTGCCAAGTATTCCAACGCTACTATTCGTAGAACTCATCCAACATCAAAAGAAAAAGTGCTGACGATGTAGCAGCACCTCTGGCAAGTGACAACCTCAAGAGTGTCGAAGAATCACTGACGGAAGAAGAGAAATCCCAGCTTCTAACAACAAGTAGCCCAACTAAGGAGTCAGGAGCTCCCAAAGTTCCAGCCGGCAGAGCTTTTGAAAATGATCGGAGCTAATTCGGTGACTCCATCCCGGCTGCAAGTCAGAAGTCTAGCAACGATGCCGTTCTGCTGAAGATGTGTGAATCATTGTTGGTGGGAGCATCACCTAGTACATCACCGTTCCACCAACGTTGTATTTTCTGCGAAGACTTCAAGGATTGGAGTGCGATGAGTGAGCTCATGGCTCAGAAGCGGGATCCCCAGCATATGCTTCTTCCAAACTTCGATCCATGATGCCAGAGGCTGGTCGTGCAGAGCTTCTCATGTGATCTTAAAGGACTCTGCGTTCGATCTTTGGGGCTCTTCAGTCGTCTACCGGGATTCTATCTCAACATCTCCATCTCGATCCGAAGATGATGTTCTCACAGAGGCTCTGGATGATTTTGCATTTGCCGCGTGAACTACAGCTTGCAAATTCCACAAGCGGCTCGGAAGATCTCCGGCGAGCAACAAGACGAACTCATCTCACACCGATGCAAGTGCAAATCAGTTGAAGAGCGAGTTTAACCAAGACCCCATCCATGCCATAATGTGAGCTTCTCCGCAAGGAAGTCGGCCTTCCATACAAGCGTGTTTCAACTCTGGTTTTAAAATGCGCGAGCCATATCGGAGCGAAAGACGCGCGGTGGAGTGACCAGGACTCTCGCGATCCGGAGAACTTCACTGGGAAATTTGTGATAAGACGTTCGCGACGAGTCTTTTGCTGCAAGACCAGCTGTTTGCCGAGCAGCACATTGAATTTTTAAGGAATAATCTGAAACGGGAAGGGGTCTCCGCAGTGGACGACCGCTGACCGAGTGCTCTCCAGAGAAAAAGTAAGAATTTGAATTTTTATGTAATTTAATTACATATATCATTACCCTATATAACCTTAAAAATATTCCAGAGCAAAGCTTCCGAACGACGCCCGCTGGGTCTTGCCAGTTTCCCGTTCCTCGACACGTTCGACATTCACATTTAAGGAATACCCATCGCCTTTCTGCAGGCTGTCTGATGAGATCAGGATTAAAAGCAGATCACTGATGATATGACGGCTGGAAAATCGCGAACCACGTTCTGCCAGGACGGTTGCTCGACAAGTTGAAAGAGTCGCTGCCCGAGGATGAGAAATCAAATTGACAGAAACCCAGAAAGACGTTAGCTTTTTTTTTTTGGGAAAAATTTAGAACAATTTGGCAATTTCAGGTCGGATGGGCGTGCATGTACATTTGTCTTCCACTAAGAAAAAGAAGCTCCGTGAGCATCAAAAAGTATCCCATGTGCAGTGATAAGGTGCGCAAGAAATTAGGAAACGGGCTTGAAGTTTAGCTCATAGTTAGTCGTGTCAGACTGTCTTTGATCTACGAAACATGCGGGAATTGGAATTTCAGAAAAATTGTGAAGACTCAGCAGGAACGTTATTAACCATCGACGCAAAATCAGTTGAGATGTCTGCGTCATTTCTGCCGCATTTTTTGTAGAGACGATCTACGTAGATCAAACCGAAATGAGAGGCACGTTCTGAATCCACGAGCTAGGCTTAAGCTTATGCTAAGCTTAGGTCCTTTTGTCAGGTTTAGACTTAGGCTTATGCTCAGGCTTAGGCCTTTTCTTGGCTTAGGCTTGGGCTTAGGCTCAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTATGCTAGCTTAGTCTCACAATCAGTCTTAGGATTAGGCTTAGACTTAGGCTTAAGCTGAGGCTTAAGCTTAGAGCTTGGGCTTATTGGGCTTAGGCTTAGGTTTGGGCTTGGGCTTAGGCTTAATCTCAGGCTTAGGCTTAGGTTTAGGCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTGAGGCTCACACGTGCTCACGTTCTTAATCATACAAGATCAGCTAAGAACTCTGCGTCTTTTCGCCCGCATTAGTTTTGTAGATCTACGTAGATCAAACCGATGAGGCACTTTGAATCCACGAGATAGGCTTAAGCTTAGGCTTCCTAAGCTTAGGCCTTTTCTCTCGCAGGCTTAGGCTTAGGCTTATGCCCAGGCGTAGGCCTTTTCGCGTAAGCTTGGGCTTGGGCTTCGGCGTAGGCTTAGGCTTAGGCTTAAGCTTAGGCTTAGACTTAGTCTCACTATCAGTCTTAGGCTTTAGACTTAGGCTTCAGCTTAGGCTTAAGCTTTTATGGGCTTAGGTCTTAGGCTTAGGCTTAGGTTTGGGTTCTTACGCTTAGGCTTAATCAGGCTTAGGCTTAGGTTTAGGATCAGGCTTAAACTCTAGGCTTAGGCCCAGGGCTTAGGCTCACACGGTCTGTTTCCCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCGTCGGTTCTCTCTGTTCGGATTTTTTGTAGATCAACGAACTTAGGATCGAGCCGAAATGAAGCACTCTGACATCACGTGGGCTAAGACTTAGGCTTAGCAGCTTAGGCTTGGATCAGGCTTAGGCTTAGGCTTAGACGTAGGATTAGGCTAGTTATAGCTTGTAACTTTTTTAAATCTACCCCGAGTCAAAAAAAAACAATTCAATTCCAGACGCTAACCATGTGCAAACCCACAACTCGTGCAAAAGGTGTCAAAGTGATTTCTGTCTTCAATCCGAGTGTGATATCTCAATTCCATCTCTCAATCCTCATACTACTACTACCACCACGACGATAACAAAACCCCCCCCAAATATCACCTCATGCATTGCATTTGCCGTCTCACTCAAGGACCTATTTCCGTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCCTCTCTCTCTCTTTTCTTCTCTCGAAAAAACCACAACTCCATTTTTCCGTTCTGAGCTAACTATCCCCCAAAGTAATTTCTTTGTAATATCTATATCCACTTTTTTTTCGACCACACTACACCATATCCCGCCGCCCATCCCCTCCCCCCCCACCGCTTTATGACAAAACTGGTTTCGCTTTTGTCTTCAATTTCACACCAACCGCCTGCAGCTTCTCATAATAATTAATAATTTTTTTTAGCATGCACAATGATTTTGATAAATATATGTATATAAAGTCATCTAGGATTGCCCCCTTTCTAGGATATGTTTTTTTTTGCCATCATCACACAATTTTCCGATTTCAATGATAAGGATTATATCTTTGTCCGTTGACACATGTAGATGTTCCTGACCTTCCAATTTTTAATAGATTTCCATTACTAGTTTTTTTCAGGCCTCACTATTCTATTGCAATAATTACTTGGATGCGATCCATGAACGCAGTCAATAATAGTTCAAATATTTGCACTTCTTTTTTGCACACTAATTCAAACTCACGCCAGGCTGTCCAAATACGGTTTGATCTACTAAAAATGCGGAATGAATGTTTACTCCCAACAAAATGTGACATGATCAGTTGGCACGGTTCTTTTTTAACCATGCGATCGGTTGAGTAGTCTTGCGTCTCTTCTCCCGCATTTTTTGTAGATCAAGCCAAAATGTGACACTGGACAATGACACAACGTGTAGACTAACATTGACTGACACCACGAATATCATATTGAAACTTCTTGAAATCTGTTCAAGAAAAAAGTTATGAAGGCTCAAATGGCCTAAAATTCGCTAATTTAAAAGACACTTAAAACGGTGTCTTTTTGAATTTTTCCGTCCTTTTTTTAAACATCTTTGTTCATAAAATTTAGTGCTTACAAAATGGATGTTGGAACATTTATAGGATACGTTCAATTTTGCCATTTGAAATTGAAATTCGGAAATTTCAAAAAAAAAAAAAAAAAGTGCGAAGCCAAAATTTGTTTATCCAAAAATTATCGGCAATATTGCCGGTTTGCCGGAAATTTCAATTCCAACGACAAATTTGCCGAATAATGGCCGCATCCATTCCTGCAATTTGGCGATTTGCACCGATTTGCCGGAACCAGCTAACCTACTTACTAACTTGCTAACAAGCTCTTCAAGGTTTTTAGTTGATGATTTTCAATAGAAAATTCAGGTGTTTTCAGGCAATTTCGAGAAAGCAATTCAAACGTTTAACAAAAGAAAAACGACACTTTTTCCTCTTATTCGATTCTCTTAATATCTCAATTTTGCCTTATAAATTTATCCTCTCCTCACAAGGTGACACACACACACACACGCACACACTCGTTTCTGCTGCGAAAAAAAGCTATGACCTAACACGCGCCTTCTCGCGTAAGACTAAGATCCACTGAAGACATCTGATAAGAGTGGGTCCGCCATTGTCTCCAGAAAATTCTACACGCCTCCGCCCGGTAGGGGTCCCACCTCGTCGCTTCACTTTTGTTTCTCAAAACGATTCCATCGGCTTCCGCTGGCTTGGGCCATTTTCTCTTATACAACTGGCCATTCTTCTCTTATTGCTTAACATCATGGTTATTTAGGAATTTGTTCTACCCTGACTTGAAATGACTGGACGGCCTATTTTACTTTGATTGACTCAGAAGACTACTATAAGCGGTCATTTGTTGCGAAAATTTCTGCCTTTAAAGGTGGAGTAGCGCCATCGTGGGAAAATTGCTTTAAAAGGGCGCACGCCTATGATACCACACGAATATTATGTTAGAAAAATTCAGGGAAAAAAAATTCTCTAAATTTTATATGATTTTTTGAAAACTGAAAAAATCTAATTTTCACTTAATTCTTATGTGAATTACCGCTTGGATTTGCTCGATGGAGCGCCTTGCACGTTTTTAAATCTATTATCATATTTTATTTGTACTTTGTATTTTCCACGGATTTTTAATGTTTACGGATCATCTTTTTTTCCTTGAATTTTAAAAAGTCAAAATCCAAAATGCAAATTTTCGATTAAAAACAAGCGTACAGGTAAATCAGTTAATCAATTCAGGTTCATTTTTACGCCTGTAAGCGTGCTTTTTAATCCAAAATTTGCATAAAAAAAATTTAAAATGGGTCGAAAATAAGAAAAGATAATATAAATAAACTTAAAAACATGCAAGCGCGCTCCATCGAACAAATCCAATTTAAGGAGGTATTTCAATAGGAATTAGGAGCAGCAGAAACTGAGATTCTTTCAATTTTCAAAACAATAAATCATATGTAAAATTTGGAAAATTTTGATTTAAAATTTTTGCGTCATAGAAAAACCGGAGTTCCTCGCTTTTTTTTCATCGAAATTCAAAAAAGTAGGCGTGGCCCTAAACCGAACAGCTGTTGTTTTGTTATTGCTCTTAAAATTTCACAGCCTCTAATTGGTTGAACACGCCCACTATTCTGAAATTGGCCCACCAATGACAAATCGCGAAACTTCTTGTTTTTTCCGCAGACTATGGAAGCGTCCGCACTCGGGATATTCCCGCATTTTCCGCCAGACTATGGACGCACCATTATCATATCAATTGGGTCATGCTGTGGTACTATAGGCATGTTTTAAAGCAAAATTTTTTCCCCACTGGCGCTACTCCACCTTTAATGCATGCTGCGTCTTTTTTATTCGGTTCTGGCCATAACACACAAATTTTCTCAAAGTTTAGGAATATATAGATTTAAGGAAGAAAGTTTTTAGTTAGGAAAAAATATAGTCTTCTTCATGTTTTCTTTTTTTTGACAATATTCATTCTTGCCATCCGTTTTTTTTTCTGCAACCCTATTCGATAAATGTTTGCTTGGACGATGTAAGGTGCTTTGAACACTCGGCATTAGGGCTTCTTGCCCATTAGACCAAAAATATTAACTTGTATCAGAAGTTAGGCAACTATACGTTGGCAAAACTTGGATTCAGGCAATATCAAAGTTGCTAACCCAAGTTTCACCCAATTCGCAAACTTTGGCCTAAACTTTTTTTGTACTATGCGCAGAAGTTCCATTTTCCAATCGCCCCAACGTTTGCCCATCTTTTGCCCAAGTTTAGCCAACTTCGGTCCCAAGTGAATATTTTTGGGCCATGGGCGCTAGAACATCGCCGAATGACGAGCTCTTAGAATTTTATTTGACTCTATCCGATCTGCTAATTCTCAAAAATCCCCCAATTGCCAACCATTTATCAGAATGGGAGTAATTGGGCGATAGCGCTCAACGTGCTCGGCTTTGGCCGATAGTGCGCCTGATTCCCAGAGGATTATGTGGACCTGGTACTTCCTATGAAAAGCTGTATCCACCATTTCACACGCTAAACGTTTCCTACTCATCTTGATTAATTCAGTGAAATACTACAGTCAAATCAGGTCTTCGACAATTGTTGCTGAGTCGATCTTCTACCGCACTTCATTGGTGCCAAAACTGAGACGAACTTTGATGTTCCGCTCACCTGCTTGAGATTGGAGACTAGCAGGAAGAGATGCTCGTGTGGATGTCACTTCGGTGTGATCTTTTCCCGAATAGATCGTGTTGTTCGAGTAAGTTTGCGATTCTATATGACTTGTCAACGTGGTGTCGGGCTGACCCATTACGTTTTGATCTATAAAAAATGCGGGAAGTTTATGACCAGAAAAAAATGACGTCATCACATTCTTAACCATACGAAATCACTTGAGCAATCTGCGTCTCCCATTTCTTCTCCCGATTTTTTGTAGATCTGCTACGTAGATCAAGCCGCTGAAATGCAATTATTGAAATTCCAGCTTGCTGTCTCAAAATAAGAACCAATCCCACTTGCCTGCTGGGTAAGATCCGCCACCTCCCCCACAAACCGTGATGCCAGCCAGCCTTCGGCCCTCTCTTTGCTGCCCGGCAACCCCAAACTGTTGCCCGAATGTCCACCCAGCTGCCGAGTTCGTCGCCCCGAAAGAGTACGAGGACGAGCAAGGCAACCCTGGAGGCGTCCCAGCACCACCAAACCCACCAAGAACTTGCTGTCCTCCACCAACACCTGCTCACCATCGCCACCACCTCCACCACCACCGGCTCCGGAAGCTCCAACGCAATGCTGTGGATCACAGCCTTATAGAAGAACACCGTGCAGGTCGTCCGGATGTCCGAATGGAGATTGTTGATGCGGAAGACCTTGCTGTTACAAGCGGACAGCAGAACCCCACGAATGTTGTAATCAAGGGCAAAAGGCTTGCAGCCCACCAGAACAGCCTTGCTGTCCTCAGTTGAAGCTGGATAACTGCCTCGATTCGGCCCCACCTTGCCTTCGCGCCTGTCCATCGTGCCTATTCCTGAACTGATGCTTGGGAAGAGAACTAAGAGAGACTGGGCACCGGGGCTTCATATGCCACCCAAGTAAGCTATAAGTTTAGATTTTCACCTAGTGGCAGGCTGTCTCAGAGTGGTTTGATCTACAAAAAATGCGGGAATTTCTCGCCCAGGAAAATGTAACGTCAGCATCAGGGCTGGGACCAAGAAAAAAATTTTACCAAAGATAAGTTTAAAACCAAAAAAACCAAAAAAAAAAAAACCCAAAAAATTTTTGATATGCTTAAGTTGATTTTTAAGCTGGGGTTAGTAATGTTGCAAAATGGTAATTATTAAAATACATTTATGCACAACTGTGTTAAAATACATGTTTTAATGTATTATAAAGATTAGACTCTAGTCGACACTAGACACGGAACTTTTTTTTTAGATTTTTGGTCAAAATACCAAAAAAACCAAAAAATTCCCAACAACATGTTCTTAACCATGCGAAATCAGTTGAAAACTCTGCGTCTTTTCTCCCCGTGCGATTTCGAAGATCAAACCAAAATGAGACACTTTGACACCACATGGGGTATTTTCAAAACGCTGAAAATAAGTAAAATAAATAATAAAAATTTTCAGTCGGACTCCTTGGTCAACAATCCCCACCGACTGATTACAAAGCCGGTAAAGACCATAATAAAATCAAGTGAACTCCCGCGTTGCATCTGGAACCAAGACATCTCAACTGTCCGTCACCAAAAAGCACATCGAACTATCCTCTAACCACGTCCGCGGAATCGCCTCCAACAGCCGGAAACGACTTCCGAAGAGCCCACGTTCGATTCAAGAGCAACATTGTACTTTGGAAATGGACCATGCCAGCTGTGTCTGAACGGAACTCTCAGAGAACCAAGCGGTCACTCGCTTATAGTGTTCGTACCTACCTACAACCACAATACTCTGATTGGAACCCGTTCCTCGGAGATCAAAGCCATACGACCGCAGTCGCCACTCTCCACTCGCCGGGCACAGAACTAAGAGAGCTGGCGTGAGTTTGACTCATAGAAATTAACGTAGCTGAATTTATTTTTCCAGTGCCTTCCTCATCCACAATGTACCCCTGCATGTCCGTCGCTATAAGAGAAACCGGATCGGATTCCAATATTGTGAGCTCCAGGCAATGGACACTACGGTAGGAAGAAGCGGGATGGGGAGCCGATAGAGATCTGTGCTTGAAAATACAGAAAGGTGAAGATATGCAGATGAAAAGTGTGATAACGATGAGTTCAGTATTAATGAGCGAAGCAAACGACAAGCCTACAATCCAAAAGGACTTGATTTTGGATATCGTGAAGCTCCTATCCAAGGCCTCCTTCAGGTGGCAACAATCCAGGCGGAGGATGCATGATGCTCCTAGCCTGTGTTCTGGCTCAGAAGAAGAGAAGAAAGAGAAATGAGATCGGCTCGACACGTACTACAAAGCTGTGGAGCAGCACAAGAAGCCGGTGGAAGAGTACGAGAAGGCGATGGAGGAGCACAAGAGAGTCAAGCGGCAGTTCTTCGCTCCGGATAATGCTGCAGTGTTCCTGTCGGGCATGGGTGTCACTTGCCTTGGCACTAGCAGAAAGAAGAGAGAAGTCGAGAAGGTGGAGCATATGAGGATGAGCGAAGCTATCTATCAGAGCAAAGAAGGGGTATAAGGAAGGATATGATGATGATGATGAGGTGAGAGACCTGAAACTTTAGATCCTGTAAGAACCTTTTGAAAATTCCAGAAAAAAAACCCCCTAATTGAAATTACGCCCGCACGCGCCACTGAGATACTGTATTCGCGGCGAGACCACCCTACTGCACATCTAAGAAGTCTCCCAACGCAAGTGACGAATTTGGCCTAAAATGGACTTATGGGATTTCCACAGTTTTCACCATTTTTTTGACACAGTCGACGTTGACTTTTTACACTCAAAAAATTATTGGCGTGGTCATCTCAAAACTGATTTCAACAATTTACTGGATTTTACGCGTGTACTTCATAGTGTCACACCAAAAATTGATCTGGTTCATGTGGTGTCAGCGTGTCGCCTTTTGGTTGATCTACGTAGATCTACAAAAAATGCGGGAGTTGAGAGACGCAGAGAACGGGCGCAACAATGCGGATTTTATCTTAAATTTTCATATCAGGACGACAGTGAATCCTCGGAGGAAACCGAACCCTCTAGACGCAGAAAGCAACGCCGCTCCTGCCAACAAAGTTAGCCGACGATTGCCTGAACAACGTCGAGTACGCAGTCTTCGAAAAACTGGATACAGACAAGAGAACCAAACGAGAAACCGTGTTCCGTCGTAAGAAGTGGACCGCCAGGTGTGGCTCCTTCATGGGCTCACCAGGGCCACATCGTGTCAAGAGAAACTTCGGGCAGCCTGAATATCAATGTCTCGGAGCAGAATTGCACGGCATTCCCACAGTGTCGGCAAACAGTGAAGAGACACTTTTTGGGAGAAGACTGTAACATCTGTACACAGGATACTGGTCTGAGGCGGAGGAAGAGAGTCTTCGGAACAGCGGTAGGTGTTGGTTTAATGAGCTGCCGTATCTTATTCCGCAATGCTACCCATGCCCAGGAACAAACGTTCATAACTTGAAGCGACTCCCTCCGTGGATATGTCTCACATATCACATAAATACCACCTCGTAATAATAATTCAACATGACTAATAACAAATAAGTACATACATACATTTATATTAGCTTTCAGCACCCGTAGTCGCAATGTGGTGCAATAAAGATATGTGTAAAGAAATGGGAGATGTAGTAGATTTGGTCGTTATAGTGATCGCAGATCTTTCCTCTTTGAGCCGGAATATTGACTGGATTGGAGCCAGGAGATGAACCTCGCGGGGGCAAATGATGCAAAGTAGGGGTGAAGCATTGCACTGGCTGCGACACGGCTTTCCGGGCGGAGCTGTAATTTTGAGGGTTACAAGACATAGGTGTAGCTCGATGTCGATTCATTTAGACTAGCATTGAAGCCTTAAGCTTTCGGCTTGAGCTTGCACGTACTCAAAGACACGGTTGCTGCTCAATATAGCTCGCGGAAACTGATTTGTCACAGGTAAGATAACTAGTAGGCCTGGACTGACTGTGGAGTAGCGCCAGTGAAAACTTTGTCAAAATACATACATTATGACGGTCCGAAAAAAAACTAAATTTCATAAGGGGTAAAACCAAAGAATTAGATTTTTCACAATTTCAGGTCAAAGTCTTGGCAAACTGCTCAAAATAAAAATGAGCAATTGAGGAAATCTAGAACAATCAGTCGCATGTTCCGACCCCTCCACAATATTTTAATACACATAATTAAAACACAATTACAGTATAAAAATGTATGAAAAAAAATGTTTTTTTTGGTGAATGTCGACTTCCAAAATTATGAGTGGTAATATAACAGTAAATAAAAAATTTTCAAAATTTTTTTGATTTTATTATATGATATTCGGTCTTTTCGGGAGTAACTTAAGGAGTGGTTTTACAAGTCTACTTACCTGAAGAAGCATCCCCAGAAGTTCCTGTACCAGTTCAGAATCTACGTGAACATCGGGTTCCCACCGCGATGAACGACAACTCCCGATACCAACAGTTCAGGGGTCCTTGTACCCTGGTAATGTCTTTACCTGAAATAAACATCTTTATCTCTAGATTTAGTTAGATTCCCTCACCTCCGGCCACTCGACTCGTCTGGAGTACCCCGAATGCTGAAGATCCCATATCCAATTCTGGTCCTTGGTGCCGCGGTAGTCAGAGGGGTTTCCTTGGATCCCGGGAACAAAGCGGCGCCCGTGCACATTTCAGCGAAGATGCAACCGACTCCCCTGCAATGTTAGTAGATAGAGTGTACCTTTTATAAAATACTATCCTCCTAACACATATCCAGTGAAGATGAATATGAAGTCGGTACTTCCCATGAGAACATGCGGGCGGTACCATAAGGTGACCACCTCGTGAGAACATATGTCCTACTTTTCCGCACAGATTTCGCCCTGGCTAGATCAAAGTCTGCGAGTCTTGAAACGAGCTCTCGTCCTAGCAAGTTTTGTGGTTAAATCTCTGAAAAAGTTTTTATCGTAAGTGGCCGCAACGGCGCCTCCGCCGACTCAAGCGGTCGCCGCGCCGGCCTCGGAACCCCGAAAATGTCCGGCGCTCCAAACAACCACTTTTTTGCACTACGTTGCGCACAAGGCCACTCATTTCACGCCAAGCTGCGGAACACCGAACGTCTCCCCCGCTCCAAATCACTCCCTTTCGCAATACGTTGAGCACACACAAAGCTGGGGAACTCCCATAATTACCTCTCGGCCGCTCCGAGCAACCACTTCTCCTAGCACTTCATCACACAGCAGCTTACTCATTTCACAAGTCGCCGAGGTAAGCTGCGGAACCCTGAACGTGTCCGCCGCTAACAACTCCCTTTCGCAATACGTTAAGCACACACCAACTGCGGAACCCCCAACGTGTCGGACGCTCCGAACACTTCTACGCCACTTCATTGCGCACACACCAGGTTACTCGTTTACGCCGAGCAGCGGAACGCCGAACGTGTCGGCCGCTCCAAATGCCCACCTTTCGCGCTTCAATGGCGTCGGCGTGCGGGCCAGGATTTCGCGCCTCGCTCGGATGGGAGCGCAGTATCACCACTCGGGAGCAGTTTGCAAACTAACCTATGAATCTTCTCCTATGACAAAAATCGAGTCCGCGGATTGAGAGGACAAGCTTGATGTCAATGCTATCCAACCCATAGACGTTCTGCTCCAGGTACTTGCTCAAATCCATTTTCATGTACTCGAACACATAAGTTGGTTGAGGTCGTTGATAGAAGATGTCGTGCAAAGAGACGATTGGGATTCGCATGACGGAGGTTTCTGAGAAGCGAGGCCGAATTTCACGGATAGCGGTGAATGGGAGACGTTCTTGAAATTGAAGTTTGATCTCTAGTTCAAGGCGACTAAGGGTAAGGACCTCTGAATATAATTGAGTGGTAATATCAGGTTAACTAGCATAACTTCCTTGGACTCGCACTTATACACCGTTGCATAAGAGCCTTCCCCTGTCAATTGTACAGATCATTCACATCCTGCGGTGACGTACTTCCTCCTTCGAGGAAGCGTGAGCGTATTTGGATCGTAGTATGCTGATCGTGGTCGACGTCTTCGAAGATGTGTGAAGCGGCCACAGAACTGTTGCTAGATGGTGGAGGTGGCATTCAAGGAGAGTTCACGCTTGTTTAGGGGCACGGACATGGTTTCAGATGGATTGCTTGAGCGGGAACGTGATTGCGGCTGATAGGGTATTACTAGGTTTGACTTGGAAAATTTTCTTAGAAAAACAGTTTAGCGGGAAGTTTAAATTTGCTGATTAAAAATGTTGGCGTAAGTGAATGTCGAGGAAGTACCCCATTATGGTTTGATCGACTACAAAAAATGCGGGAGGACAAAGACTTTGCAACTGATTTTGCAGGATTAAGCTGACGTAAATTTTTCCTGTGGGAAAAATCATAACCCCGCATTTTTGTAGATCAACCGCCGCAATGAGACAGCCATAGATGCCACCACGTTGACGGGATATTTAAATTTTGAGAAACTCAACATTTTGGCGGGAAGTTCAAATTTTCTGAGCAAATTTTGGCGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGCGTTGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGCGGGAAATTGAATTTTTGACCAAAAAATTCTGGCGGGATTATTTTCTGCGAATTAAATTTGGGTAGGGAGAAGTTCAAATTTTCTGTATTTTGCGGGAAAGTGAAACTATTGGCAAAAATATTTTGGCGGGAAAATCAAAGTTTCTGAAAAAAATCACTGTTTGGCGAGAAATTGAAATTATCTGACAAAAATATTTTGACGCGGGAAAATTTTTCTGAGAAAAAAAAATTTTGGCCGGAAATTCATAATTTTTTTTTTTATCTATGAAAAGAAAATTCTACGGACCGGAAACGGCCCAACCACGGCTCAAGAGCCGTCTCGGTCGGTAAATGTGATTTTTGCTCTAAATAATGCATTTAACGACGTAAAAATGCTTAAATTAGCCAACTGGTATCATAGGTAGTAAAAAAATCCGTTTTCTCAAAATTTTTTTCCTCTTAAGGCCATTTTTGTGCATTCCCCGTTAGTTTGCCTTGGTCCGTCGCGCTTTTCATATCCGTAGTTCACCCGTTAATGGTCCGTTCCCTATGAGGTCCAACATCGTCGTAAACGGAGAACCCGTCCCGGCTTTGCCTGTGGTCAGATATAAGTAGTAAGAGTGGTGTCAGACTGCCCGCATTGGATTCTACGAAAAATGCGGAAATTTTTCCCCCAGAAAAACGTCACGTCAGCACACTCTTTAGATAACCATGCGATACCAGTTGAAAAGTCTGCCGTCTCTTCGCATTTCTCGGAGAAAACCAAAATGAGGCACTTTCACAAGTTACAACAAACTTAACAAGGTGTCGAGACTACGGTAATTATAGTCTTACATATACAACCTAATAAGAATCTCCATTACCTCAAAAAGCTGAAAATTTATCTTATATTAGGATGTTCTGGTGTGCTTCCACTGCCGGACCCCGATTATGCCACATTCACATGATTGGAGTGCCATGATTGTGTGCGATCATTTGTTCCCCGTTTTTCGAGATCGGAGATTTCGTGGAGCCTCCTGAAAAAACAGAAATAAATGTGGAATTAATATGGGGGCTCAAATGTTTTCGGAACTAACCTCTTTTTTGGGAACTCTGGAGAGCATTTTTGTGTAAACTGACTAACTCGTGCCACCCCCCGCACCCCATAGAATAAATTGGCTAAAATTTCGAAAAAAAAAACTCGCCACCGCCGTTATTCTTGTATTTCTTCTCCTTATTCCGACTCCGACGCAAAGTGAAAATTGACGAGGACGGCTGGAACAGGATAATTGTTTTGTGTTTGTTTCTAGTGGAAGAGATGCAGAATCGCCGAAGTTTAGAGCGGGTGGCGTGAATTACTGACCTTCCGGGTGCTCGGCGAGCCGTCCACGTCCTGAATTGCGTTGGCGGCGACATTGTGGTGATCTGGAATATGTGGATCGTAATCGAAGCCTAATATTTAGGCTTAGGCTTAAGCTTAGAGTGACTTAGGCTTAGGCTTAGTCGGCTTAGGCTTAGGGCTTAGGCGGCTTAGGCTTAGGTTTAGGCTATGCTTAGGCTTATAGGGGGCTTGGGCCTGGCCTTAGGCTTGAGCTTTGGCCTAAGCTTAGGCTTAAGCTTGCGCTCTGGCGTAGGATTAGGCGTCCGCTTTGGCTTTGGCTTAGGCGTAGACTTAGCCTAGGACGCTTACAGGCACCCCCTAGGCTTACAAGAAATCATATCCAGTTACCGACCGGTGGCCTAGGATTTCAAAAAATGACCCTTTTTGAAAAATCGAATCGAAATATCGACGAATTTTGTTTTTGAGGCGTTTTTTTAATTTAAATTTTTATAATTTTTATCGGTTTTTCGATTTTTCATGAAAATACCAAACTCACCCTATGCAAGTTCGCCGACGACTTCGAATAACAGCGGTGAGCTGTGGATGCTGTATCATAGACACTGAGCACGATGCTCTCATAGGCCTCTCGGGTCCTCCTCCAGCCCAAACCTCCAATTTGGGATAGGTTATTTTTCCCCACATTTGAAAGATGGTATGTCTGCAAGTGACATGTTTTTTTGGGTGGGAAAAAAGAACGTGAACGAATAATTTGGATCAGCGGGGAATTGGGGGGGTGTAAAAAAGAAGAGCCGCTTGGAGTAGGGGTATTACGAAATGAGATATAGAGGAGCAGCCGGTGTGACGGCGGGGCGTTAATGGGTTACTAAAGCCTACACATTCCCATTTTCAGTTTGAAACAAGGAAAATAGAAGAAAAAAAAGAGATGAACAATGACTTACGGGTGGGTTCGGTGAAAAACAGGGGCAAGCAGGAAGAGTGAGGAAAATGGATGGTTGGAGGAGTTTTGGCATTTCTATTAGGCCGGGAATCTTTAGAGACACCTGGACTGTCCCATTACAGTTTGATCTACAAAAAATGTGGGAATTTTTCGCCCAAAAAATTTTCAACAAATTTAGATATTTTTTACATTTTTTCCCCAATTTTCAGCCATATTTCAGCCATGACTGTCCTATATTTTATTTTCCGGCAAAAAAAAATTTTCTCTGAAAATGTTCGAAACTACTTAATTAAGCAAGAAGGCATTTTTTCGGAGATCAATTTTGAGTCCTCTAGAATTTCTATTATCCATTTTAAAAGAGTTTTAAAATTGTAATTTTTTACAAAAATTGCTCACTTTTGCCACTTTCTAATAGTTTTCTAAACCTAGAATTTCTGAATTCTGCATATATGAATTACCCGTTATCAATAAATTTAGACAATTATTTTCATTGTTTCCAAAATTTTCAGCCATTTTTCAGCCAACTGTCCTATTCTTTGGGCAAAAAAAATTTTATAAGGAAATCGGACTACATTACACAACTTCCATGTTTTCTTCGTAGATTTAAGGTCCATGACCACTGCTTGGTGGAAAAGTTTTCCGAGTATTTAGGTCACCGATTTGAGTTGGAAGAGTTTAATCGCATTACTCCCCAACTGTGATAGAACTTCAAAAATTAATATGCAGGGACATCACTCAAATATCACATGTCAGTTTAAAGGATCACGCTGATTATCCGAGTGGGTCTCGCCACGATCCAGGTGCTAAATTTTCACAGTATTTAGTATGTACCTAGTGGCATATTTCTAAACAACACGCGCATAACATCGGAGTGTCGTTGCATAGGCCACTCTGAGAAAAACATAAACAAATGTGTGATAGAAAAATTAAACCACAACTAACGGATTTCTGATCACTCATAAGTTGAAATGGAAGAGTTTTTGCCGAACTAGGTCACCATATTCGGGGTAGATTTACGGCGCGTCGCGGCTCGACTTTGTAAAACTAAATGTATTTGTCTGAGTACACGACTTTCCCAGGCGTTGTCCGGCAGATTGTCAATGGAGCGCAACGTAAAGTTCAATGAGGAAGGCCAGAACCCCGTGACCAGGGATTTTGAAATTTTGCAGATATGAACAAAATGACAATAACTTAAAATGCATTAATCCAGCGGACAAAGGGAAGAAAATAAGTAGTGAAAGAAGTGAAAAAAAAGACGGACGGGGCTTCTCTCATAAAATAGTAATTGGTCATTCTAAGTGTGCCTATTGTCTTAATCCTTATTTTTTTTTCTTGGCTCATTTTACCTCAAAAACCAAATAGCGCGAAGAGTTCTAGAGAACTAGGCCACGCGGAGAGGGAAAAACTGTCACTGGAATTTCTACGCTAACACAAAATTTGTCCCAGCATACCTACGTGGCAGTAAAAGGAGAAAGTTCGGCCACTTTTCGGGCTATCAAATTTCCCACTTTCACCAATAAAAAAGAAACCACTTGTGGAAAATGGCCGTGCATACTAATGTTCGGTCACACACGTTTTTAAAACTTTTTTGCTCAAATTGAAGTACAGAGACCCTTCGATGGGTTTTCACTACTTAGCTACGTGTACAGAGAAAATTCGGCCACCAGACGCACTTTTATTCAAGGCCACACCTCCAAATCCTTCAAAGCTTCAAAAATTTTCTACGTGGCCGTGTACCAAAAAATTCGGCCATCATCTTTTTTTTGGGTCACGTCGCCAAATTCCTCAGAGCTTCAAATTCGAGATTTTCTACGTGGCCGCGGGAGAGAAAATTCGGCCACCAAATCATTTTTTAAGGCCAAACCTACAAATCCTTCAGAGCTCATATTTTATCTACGTGGTGCCGTGTACGAGAAAACCCTGCCACCCAATGAATTTTGAAGGCCCCACCTCCAATTCTTCAGAGATCATATTTTCTACGTGGCGTGGCCGTATACGAGAAAATTCGGCCACCAAATTCTTTTTTAAGGACAAACCTCCTAATCCTTCAGAGCTCCTATTCCCTTCGTGGCCTAGGAGAAAGGTCGGCCACCAAATTAATATTTCCACGTCGCCAAATCCGTCATATTATGAGGAAAAAAGTAAAAAATAATACTAATAACAATTGAGGACAAATTGAAACCCCATATAAAAATATAAGATACTAGTAAATGATTAGAATGAAGAGCGAATAGGAGGCCAGAGAGAGAGAGGGGAGGAAATTGTGCTGTTGAAGACCTTGAAGAGAGATGCACAGAAATAGATAAATTTGAATTACAATGGGGTAAGGAGCCGGGTAACTGTCCCCCCCCCCCCCCCCCCCCAAAAAGTGCGAACAAACGTGATGAAGCGAAGCGAAAATCCGGAGGGGGGGGGGGGGGGGGGGCTGTGATCCAGGTTGATAGATTTAGCCAAGTGTTTCGACTTTTGGCCGAGTTGAGCTCTATGAGCCGGGCTCACCGGAGAGAGCCCATGGAGCCCCATGAAGCAGAGGGTCACGAGGTTTGAGACTCCGGGAGATAGACTGCACAACGTTCAAAGACTAAAACTTTTTTTTTTTGCTAGGTGAGGCATGAAATATGGAGCTTTTTTGCAACATAAAATCCAATTTTTGTAAAATAAGGTCAGATGACGTGTGTATAATCTGGCTGAGAAAACCTGAAAATTGATCTACCTTAATAAACAGGGCGCGGGTGTAAAGCCGAGCGTCGTTGTGATGCTGAATTATTGTTGAACGAGTTCTGGAATTCTGGCCCTCATAAATTAAATGGAAGACTTTTTGCCAAACTAGGCCAGGCCATATCTGGGGTAGATGCGCGCTTTTTTTTGGGCATAAAATTCCCGCATTTTTGTAGTTAGATCAAACCGTACAGCCTGACATCACGTGTTTTTGGCCCCGCTAAACAGGGCGCGGGTGTAAACATTCAAATATTATGTTAAAAAAACGCATGAATTTGAACAATTTTGCGTAGAATTTTTTAACAAAAACATACATTGAATAACTGATGCGAAACGAACAGAACTGCGTAAATTTTCTGAAATTGAAGGACAGGGGAAAAAAATTGTGAAATTTTGGACATTTTTCCCTACGACGCATTGAGCCACCCAGATGAGCAAATAAACCGGGGGAGCAGGAGGAAAATGGAATTGACAAAAAAGGCGGGTGAAGGAGGAGAAGCTCACGTATTTAGTATCCCATAGAAAGAGTCAATTTTCATTAAAACTGCGACAAGTGACTACCAGGGAGCAGTTGCGCTCTACCGACATAGTCAACCAAGGTCCACGTAGAATATGCCAGTCTGTCCCATTACGGTTTGGTCTGCAAAAAAATGCGGGAAAATTTGGCTCAAAAAATGTGACGTCAGCACACTCTTAACCATGCGAAATCAGTTCCCACATTTTTTGGAGATCTACGTAGATCAAGACGAAATGAGACACGGCACCACGTAAAGGTCCTTCTTACAGAGTGCGCTGGAGAGCGATTCAGGTGCCAGTTTTCTAAAAAAAAAATCTAACATGAGCGAAAAATGTGCGTCAAAAGTGGAGTTTCCTTTAGCGATGTAAAGTTTGGAGAAAAATTGAAAACTGTGGAGGAAGAAAAACTATTCGCAAGACCGATTAAATAGTATTTCACTTCTTTTATTTTTCAACTTTTTGCAATTGCTTTGGCAGGAATGGGGAAAAGGAAAAAAAAACGAAATCATCGATAAAAACACCACTAGTCCACCCAGAAGTAAACCTAGCTTATAGAAATAGGCCACCCTGTATGGAAGAATTTTAGGTCATCGCGTAGAAAAGCTAGGCCACCCTGTTGAACTGCTACGCCACGGTGTTGTACACTTAGGCCACTCTGAAAAAAATCTAGACCTCACTGTAAAAAATATAGGCCGCCTTGAAAGAATTTTAGGTCATCTTGTAGAAATTCTAGGCTACGTTTTCGAAATTCTACACCACTCTGTAGAAAACTTGGGTCAGCTACTACTCGACATACTAGGCCACCCTGCAGAAAACTTAGGCCATCTGCCAAAATCCTAGGCCATAGAAAATTTAGGGAATCTACCAAAATTTTATGCGACTATCTGTAGAAAACTTAGGCTACCTCGTTCAACCATGTTCAAGGCCACCGTGTAGAAATCTTAGGCTACCTCGTTAAAATTCTAGGCCACCCTGAAAATTACGTGATCTACCAGAAAAATTCTATGCCCAGAAGTAAACCTAGGCACCTTGTATAAATTCCAGACCACCCTGTAGAAAACTTGGGCCATCTACCAATACTCTAGGCCACCCTGTAGTAAACTTGGGTCATCTACCAGAACCGAACCTAGCCTGTTCCGTTACGCCGCATGCTAAAAAACGCAGTCCAGACCTCCCTGTAGAAAATCTAGGTCACTCCCTACAAAACCTAGGGCACCCTGTGAAAATTCTACACGTGAAAATTCCCTTCCCCAGAATAAACTAGGCCACCCTGTTAAACTCTTGGGCCACTCAGAAAAACTAGACCACCCTTATAAAAACCTATGGCCTAGAAAAAAGCTTGGGAAATTTTGTGGAAAAAGTTAGCCGAAAAGGAAAATCTAGGCCGCCGACAAAAAAGCTAGGCCACGTGGCAAGAAACTTAAGCAGTGACGAATGATACGAGAGGCGTATGTTTGAGGTCAAAAAGGGAGAAAGAAAAAAAGACGAGGCGGAATGTTTCTTCTTTCATTTCAAAAGAATCTCCCCGTCTCTCGGCCACCAATACTCTCACTACTACAACTAATGTTTTTAGGCCCCCCCCCCCCCCCCCCCCGGGCACTTAGCTTTTTTGACGGAAGATGCCACAATCGAAGAGGAAACCATAAAAACCCGCCAACGACCTACTCCTTTTTAAGGCCCGGATGCCCAGATGTATGAAAAAATCGGAGAAACTGAAGGCTTCTCCCTCCCCCCCCCCTCCCTTAAAAAATGATGAATTACAAATGGTGCCGCCCATGTTGACAGTGTTTGCTTTCCCCGTGCTCCGCCAGCTATCTAAAAATTCGGGGGAACATAACAGCCACCTTGAGTTACGTATACAAAGTGACAGGAGGGAAAGATAGAGGTGAAAGTGCCAAAAGGTAGTCGAGTGGTTCGAACAGGGTTTGCAAAATTTGGGCTGTGCGCGGCGCCTTAGACTACTGCGCCACGCGTGCGAACTGTAAATAGGACTGTCAGGCAAAATACGAACGTTCGGTTTTTAAAATCGATTGGCAAAAATGAAATGAATGAAGACACACGAATGACTCATAATTTTTGCATAAAGCGGCCTGGGTCTGGGAACTGGCGTTGAATTAAGCTAAATGAAGGAAAATTGAGGCATCTCCCGTTGAGTAGAAAAGTGAAGAGGGCGGCAAAAAGAGATAGGGGGGGGGGGGAGGACCCATTCATTTTACACTCCACACTCCACACTCTGACTTTTTGATACGAAGGACATGAGTACGAACACGCGAGCACAGAAATACGACACGTTTTCTTCTCATTTTTTTCATTTTGCAAAAGGTGATGATGATAATCGCTTCTAAGAAGAACGAGGGGAAGTGTACTAAATACTAAAATTGCGAGTGGATAAATTGAATTTTTTTATTTTCGGCTCGGCAAAACCTGAAAATCAGTCTGGAAGAGTTTTGGCTAACTTTTTGTTTGTTTAGAAACTCACTTTTCGCTGCGAAACAACCTGAAAGGATATAGTGGGCATGCACCTTTGAGCGCTACAGGCCTGTGGAGGGAATTCAGTATCTCTTGGAAGTCAGATTTGCCGATTGTTTTAACGCAAAACCTGAATTATAGAAAAGAAAATATGAAAATTTAAATATAATGTAATAAATTAAGCAAATTACATATCAACTGAGAAAATCTCCTGCTTGGGGAGAGAAAAATTTGTTGAAAAAAAGCCAGAAAATCGGCAGGAAAGCAATTATCGAGCAAGATCCTTTTTTAGGTGCAGATATCGGTTAAAAAGGAAAACACTATTTTAGCTTTTAACTATTTTGTCTTAAGTTCAATGTTATAACGCAAGAAACGATATTTCTCTGGCATAAATTTTAGGTCCTAGAAAGCAGATTTTCACGTAGATTGGTCTGAAAATAATATTGGAGTAATTTTTATTATTTTTCCTTGCATTATAAAATTACTTTTATTTCCCAAGTCTAAAATATTTTCCCGTTCTTTTATATCTCGCGCTTCTCCGGGATGTTGCATCCCATTCGACAAATGTGAGGAGTCTCGGAGTCGCTGCAAACGCGCTCCACTGGACACAGAAAATAAAAAACCAATAAATTGTTCGAATTTATGCAATTTTCTTGTAATTTTCTCTGTTTTTCGTTTTCTGCAAAAAAGACAAAATTTACAGGTAGCAATGGATGGGGGATTCATATCAAGGGTTATAGCATATGTGTAAGGCTAAAAACTAGGAAAAACTAGGAAAAACCCATGGAAAAATAAAATACTCTGAAATTTCAAACTGCTTTCAGAGCCTGGAATCAGCAGGCGGCTTCACAATATCAACAGCAAGGACAACAGAGTACCCGTAAGGCTCGAAAAAAATTCAAAAAATTCCGGGGAAAAAAATCCATTAAAAAGATCAAAATTTTCAATTTTTTCAGCGGTAGTGAACCCGTACGCGGCGAATCCATTATGGGTACGCGGCAGCACAGCTTCCAACCACTCCACCACCGCTAGTATGCCTTAAAATTGAAGAAAATTTGATTAAAAATTGAAAAAATGCAAATTTTCAGGTAGCCGATCCATACGCCGGCCAATTTCAGACAATTTCCATCTCAAGCCACCAAAATAGCGCCCAATCCCTACTTTAAAAAGCCACAAAATCAGCAGCAACCAATTTTCGCCGTGTTTTCCGGCTGCAAAAAAATTAAATTATCGATTTTTTAAAGGCTACGACGCGGCGGTCTACAATTACTCAGCAGAACACTCCGAAAGAAACCAACGGCGGCGGCGGCCGGGAGAGACAGGGATCTGGGGATATTAAACAGTACTATTGTGACGTAAAAAACGTGGAAAAAATCGAGTAAAACACAGTTTTTCAAAAACCTGAGAAGTTCCGTAAAAAATCCTGTTTTTTGACTAAGGAAAAAAATCGGGTAGCACTTTTAGAGATAAACGAAAGTGGGATAAATCGAATTTTGGACCTGATTTTGGGCTTGAAAGCATGATTTTTATCAGAAAACACAGTTTGTGTTTTTAAAAATCTGAGAAAATTTCTATTAAAAGTCTTGTTTTTGGATGTTAGCAAAAAAAATCGGGTTTACTTCATTTTTAAGGGAACAAAAGTGGCCAAAAGTTAATTTCTTGTAAATTTTCACATGCAGAATATTGAATTTATTAGGTTTTTTCCAGAAAAGTAGTTTTTTTTTCTACATTTAAGGCTTTTAAAACTGAAAACATGAATTTCCTGAAGAGGAAAATCGACAAAAAAACCCATCTTTTGGCCAAATTTAAATTTTTGAGCAAAAAAATCGGGTTTGCAGCACTTAAAGAGAACTGTAAAAATTCAATTTCTTGGAGAAAAAAGGAATTTTAACACCTAGCAAAAAATTCGGGTTGTCAATTTGTTTGAAAAAAAACTTGAAAAACCGGATTTCCAGTTGTTTTTTCATGATTCTCAAAAATCTCATAAAAGGAAATAATTTCGAATTTTTTACTGAAAATCGCAGAAAAATTGAAACTTTTTTTTCAATTCCGATTTAACAAACATTTTTGGTACGCTAAAAAACGGAATTGATTTTTAGCCTTTTAAGTTCGGAAAAGATGCTGAAGATCGAGTCGGAATTTTCTATTTAAAGAAATTTGTGCTGAAAAATTGATTTTTGTGCTCCAAAAACTGGAATTTTTGAAAAATTCGACAAAAAAATTTTTTTATTAGTAATTTTTTTAATTTTTCAACCCGCTTTTTGCCCAATTTTATTTTATTTAAAAATCGGGTCTACTGAACTTTTAAAGGTAGAAAAACTGCAAAGAGTTAATTTCTTGGATATTTTAAGGCGTTAAAGTCCAAATAAACATGTTGAAAATGGAAATGTCTACAATTGGTCGATTAAAAAACATTTTTTTCGCTAAAAAATTGAATATTTTTAGGCTTTAAGTCCAAAGAACAAGATGAAACTTGAATTTTTTTTTCAATTTAAAAAAATTTTGCTCCATGTCAGGCTCCCAAACACTGGAATTTTGGACTTAATCGAAAATTCGGACAAAAAAATATTTTTATTCGTTTTTAATTTTTTTAATTAAGAAAAATCCCAATTTCGAGGTGTGAGCAAACTCTCGTGCATTTTTGGGGTTAAATTGGAATAAATTATCAAAAATTTTCGAATAAAACGGATGGAATAAATCTGATTTTTGTAAATTTTTCGAAAACAAAAATTTACGTTGTTGGCAAAAATTAAATATCTCATGGAAGTCCAAAAACCATGTAGATAATTCGGGAGGAAAAAAATTGGGAGAAAAAAATTTTTAATTTCAGTAATTTGAAAAAAATATTTAAAGCTGGTGTAGTCGACTTTATTTATTGCTTAAGTAGACTCGAAATTGCCTAGAAATACCGAATTTCATAATGAAACTTCTTGAAAACTTCTCACAAAAAAAAAAGTTATGACGGCCAAAAAATGGACTATAATATAATTTTGAAATTTGAGCGACTTTTCAAGCGGCTGGAAACATTTATTCGCTTTTGAAATCACCGTCAAATTTTGAGTATACTGTGCATTTATGTTGCGTGTTTTCAACTTCATTTAGGTATTATAAAGTCAAAGGGCGGCGAGATTTTTAATTTTTAGTGAACCTGACGACATCGACTTTATCTCAATCGAGTTCAAAACTCAAGATAATTAAATTATATTATCAAAATTTGACGGTGATAAGTTGTAAAAAGGTAGTTTCTAGCCGCTTGAAAATCGGTCAAGTTTCAAATTTTAACCAATTTCAGGCCATTTTTTTAGTCGTCATAACTTTTTTTCGAGAAGTTTTCAAAAGGAAGTTTCATTTTGAAATTCGTTGTTTTCATTTTGAGTCTTATAAAGCTTTTAATAAATAAATTCGACTACACCGCCTTAGTATAAATATTTTTTTGAATTTTTTTAAAATTAAAATTTTTTTTTCCAATTTTTCGATTTTTTCCGCATTCTCCGTGGTTTTTGAACTTCCAAGGCCTCAAACAATATTCAGTTTTCGAAACTATTTTTTTTTCGAAGAAATTCCTATAAAAATCAGATTTATTCCATTCTTACTCGAGCAAATTTTTGATAATTTTTTCTTTAACCCTAAAAATGCATGAGATTTTATCACACCTTGACGCTAATTTGCTGGAAGTTATTTGTAGAATTTTTGGAATTATTAATTAAAAAAAAGTTTTTTTTTTTTTTCCGAATTTTCTACATGGTCTTTGAACTTCCAAAGCCTGAAAATGATTTTAAAAACTTTTTGCTTTATTCGGTTGTTTTTGGTTTTTTTTTTTAATTTAAAAAAATTAAAAAATTAATAAAACTATTTTTTGTCTGATTTTTCTATTAAAGTCCTGTAAAAAAATTCTATTTTATAGGTGTTCAAAAAATCCTAATTTTCAGGCCGTTTTTTGGCCTTGATATTCAATTTTTACACAAAAATTTTTTTTGCAGTTTTTTGCCTAAAAAAGCCCTCGAACAAAAAAATCATCTTTTCTCGAATTTTTGGAAGCAAAATTAAAAATTTCAAAAATATCAATTTTTTGGTGTTTTTCGGGTTTTTTACATAATTATTTTTTCATTTAAAAAGTTTGTAAATAACCATAAAATTTATGATTTTTTAAATTAAAAAATAATTATTAAAGAACACTCGAAAAACACCAAAAAATTGAATTATTATTTCAAATTTTTAATTTTTCTTCCGAAAATTCGAGAAAAGATGATTTTTTTTCGACGATTTTTGAGGCAAAAAACTCCAAAAATAAATTGTTTTGTAAAAATTTAATAAGGCAAAAACCAGGCTGAAAATTCGGATTTAAAAAAATAATTTCTTGCTATAAAATAGATTTTTTTCAGGACTTTAATCGAAAAATCAGACAAAAAATATTTTTATTATTTTTTAATTTTTTTAAATTAAACAAAAAATCAAAAATATCCGAAAAAACCGAAAAATTATTGAAATCATTTTCAGGCTTTGGAAGTTCAAAAACCATATTGAAATTTCGGATAAATAAAAATATTTTTTTGTCCATTTTCGATCAAAGTCAAAGACTTCCAGTTTTTGGAGCCTAAAAATAATCAAATACTGAGCAATATCTTTTTAGATTGAAAATGAACGACAAAAAAGTTTCAGCTTGTTTTTTGGACTTTAAAGCCTAAAAATTTTTTCACTTTTTTAGCGAACAAAATGTTTTTAATCGAACAAATAGAAGACATTTCAAATTTCAACATTCGTATATTTGGACTTTAAAGCCTACGAAGAAATAGAAATTAACTTTTAGCAGTTTTTCTACCTTTAAAAGTTCTGTAGACCCGATTTTTTAAATAAAATCTAAATTTGGGCAAAAAGCGGGTTGAAAAATTCAAAAAATTTAATAACTAACAAAAATATTTTTTCATGTCCGAATTCGTTTCTTCCAGTATTGTGGAGCATAAAAATAATCGACTTTTCAGCACAAAAAAAAAATTTGTAAACAGAAACATCAATTTTTTCAGCATCTTTTCCGAACCTTAAGGCCTAAATATATTCAATTCATTTTTAGCTAAAAATGTCTTTTAAATCGGAATCGAAAAAATTTCAATTTTTATTTACAGTAAAAAATTCGGAATTTTTTTCCAATTGTTATGTGATTTTTGAGATAAAATCATGAAAAACCAACTGGAAATCCGGTTTTTCGAGTTTTTTTTCAAAAAAATTGACAATTTTCCCGAATTTTTTCACGCTATTTTTGGTAATTTTTTCTCCAAGAATATCGAATTTTTTCAGTCTTTAGCTTTAAAAGTACTGCAAAAAACTACTTTTTCTGGAAAAAACCTATAAATTCAATATTTTGCTTTTTTAGCTTTTTCCTTTTTTTGTGAAAATTTAAGAAATTAACTTTTCGCCACTTTTGTACCCTTAAAAGTGCAGTAAACCCGATTTTTTTGCTGAAAAACTTACAAAAACAGGAATTTCGGTTGAAATTAAAATTAGGACAAAATAAAAATATTTTTTTGTCCGAATTTTTCCAAAATTTCAGTTTTTGGACCCTAAAAATATTGATCAATTCTTTAGCGAAAATTGTTTTTATTTTTCAAAAACATGCTACGACTACACCACAACTCTGTCAAAAAACCAATGCTAATTAAATTAGAGAAATTCTTCAAAAAATCCCCAAATTTCCAGGTTTGCAAAATCTCGTGCGCCGGCGGAATCACATACAACAGAGCATCTGGAAGGTCAACGGCACAAGAAAAAGAAGCTATGGCAAAACAGGGCATACCGAGCACTTGCACACCCTCGCTAAAAGATTGTCCTATCGTTGTGACCTATGTGACGTCACTTGCACCGGTCGTCTAAGGGCACGTATTCGACGCTCACGCTCATGGCGGAAAACACTTGAAAACTGCACAATTGCACAAAAAAATGGGAAAACCGTCCGCCTGAAGTCGACGTTCCGACGATTATTGCCGGGAGCCGATGGGCTGACGTAGACGTTTAAAGCCAAAGCGAAATGGCATAAACAAGCTCTGCCGGAAAATGTGCGGCATTTGAAAAAATAATAAAATGTTGGAAAAAAACGAGAAAATGCACATTTTTAGGCTCAACAAACTGAAAATATAACGCAAAAAAATTTAGAAAAGGATTCTTAGGAAAAAATTAGCGTTTTCTCGCCAAAAATGCTCACTTTTCGATAAAAATGTACATTTTATTTTTTAACTTGAATTTTTAAAAATATTTTAGGGCTCAAAAATGTCGTCTGTAAATTTTGCAAAAAAAATTCTAAATAGTGATTTTGAAATTTTGAGATTAACCTTCGCCAAAAAAAAATTTGAATTTGACAACTTAAAATGCTCATTTTTCGAGGAAAATGTAAAAAATTTTTTTTCATCTGAAATCTGTAATTTAAAAAATCATTGATTTTTTAAAAAATTTCTACTGTAAAATTTTGAAAAACGGTTGAACGACGTCAAAAAGAAGGACGTAAAAATCCGAAAAAAAGCAACAAAGAACTAGGAATTTTAAAATGTCCAAAAATGGTCTGAAATTTTGAGAAATCAAAAAGAACAAGTTTCTTTCCGTTTTTTTTTAAGCAAAAAATCGTATTTCTAGTCAGAATTTAAATTTAAAGCATATTTTAAACTTTTAAACGCAAAAACATTATCTTTTTCTTTAAAAAAAGACAATTTAAACGATAGCATTTATTAGCTTTTTTCTCAACATTGCCTGATAACACATTACATAATGAAACTTCTTGAAAAAAAAAAGCTCTCAAAAAAACAAGTTATGATTGCTCAAAAAATGGCCTCAAATTAGCTGAAAGTTAAAATTTGACCGACGTGTCAAATAGTGCGGCTGGAAACTATCTTTCTTTTTTGAGATCACCGTCAAATTTTGAGTATAAAATGTAATTATCTTGCGTTATCACCTTTGTTGATTTAGGTATAACTAAGTCGATGGACGGCGAGACTTTTAAAGGTGGAATACCGATTAAGACTTTGCTTTTTTAAACCATTTGGGATGACTTATCGGTGCGATACTGCAAGCCAAAGGTTGAGATAGCTAAAAATATATGGATACGCCGTTTTTTCCATCAGATAAACTTTGATCGGCCATAACTTTTTTATTGGAAAATTTTCAGAACGTCTCATTACGAAATTCGGCAGTTTTGTGGCCATTTTGGGCCTAAAAAAGCAAAGTCTTAAATTTCGGTACTCCACCTTTAAAAATCTCTCCGTCCATCCCTTAAAATACCTAAATCAAGTTGATAACGCAAGATTACATACTCAAAAATTTGACTGTGATTTCAAAAAGAGTAAAAAAAGTTAGCCTCTTGGCAAGCCGTTGAAATTTCAAAATTCCGCTAATTTGAGTGCCAACACTTTTTTGAGATCATAACTTGTTTTTTTGAGAACTTTTTTTTTCAAGAAGTTTCATTATGAAATCGGTGTTTTCCGACAATTTTAAGCAATAAAGCAATAAAAAATTAGAATATACCACTTGATAAAAATTAAAGATTTTAAGTTTAAAATAAAAAAATATGTTTCTTTCCGATTTTTTGATAGTTGAGCTAAAAGTTTTGGCGGGAAATTCAAATTTTCTATGTTAGAAAAAAAATTGCGGTGAAAACTCATGTGAACAGCACAGAACGGCTGCTTATGAGTATAGGTGTGAAAGTGTCTCATTTCGATGGTTTGATTTACTAAAAAAGCGGGTAATTCCCACAAATGACGTCAAGATGCTCTTTATTATTAAATTTAATTAAAAGAGAGCATGGTGAGGCGTAACTTTTGGGGAAAAATTCCCGAACTTTTTTTTGTAGTTCAAGCCGAAATGAGACACTTTGACACCACCACTTTCAGACAAAGTCCCCCACTTATTTGGTAAAACTAGTTCAAAACCCGACTGTAGTACATTTTTGGCAGAAATTTGAAAATTTCAACTTAACACCGCTCAATTTTTCCAAAATTTCACAGTATCATTTCAATTATGGTTTTGCTTTTTTAATTGAAAGATATATTTACAAAAATAGAGGACCATTTTTAGTAACAATTTTTTGGCGCTCTCAAATTACACCTTTAGTCAGAAAATTGCAATTTTCTCCAAACAAGTGATTTACAGATTTATTTTACCTAAAATTAACAAAAGATCGAAAATATTAGACTCCCGCTTTTTTTTTATTTCAATTTTTCCAATTAAAACACAAACATTGAGCATTTCTAGTTGGCACATACCAAATTTATAGGCGAAAAATTTGATTTCAAAATGTCAAAATTCAGAATTTTTTTTTGCTAAATGTTCAGCACCGATTTGTGCGCAAAAATATTTGAAAAAAAAAAAAACTCGAAAATTGAGCATTTTCAGTTGTAAAAGTCAACTTTTAGGCGGAACAAATGTGCAATTTTTCCCCAAAAAATCCAAATTTTCCATTTTCTATCAAATAAAGCACTGAAAAAATTTGTTATACCTAATGTGGAAAAAGTGAATTAAATCAGATTTTTTGAAAAAATGCACTTTTTTTTTTGCCAAAAATAGTTCCCCGACTTTTTGTTCCAGAGTTTCCTCACCAGGTCATCGGTATCATCGGATAAATAAATTTTGCGGGAATAATTGCGCTTTTTTTGTATATCAAACCGAAATGAGACACTTTTACACCCCACTTCAGGCAAACGACTTTTTTCCAGAGTCATCGGCATCAACACGGTAAACTTCGTCGGCGGTAGGAAGCACTCCACCGGACAACTCGAGGGGAAGAAATACAGCGCGATCCAGTTGCTGCCGCCCTGAGCTCACTCGGTGCCTAAGGAAAACCGTGGTGCTGCTGCAACGACGACGATTGAACGGTGGAAGACGAGAAGCTCCGAGCAATGATCTCAGGAGGTACAACCTGTCGCCGATGTACATGTCACTGAAACCGTGATGCTACCGGAAAACTGGTGCAATTTCCATAAACCGTGCGATTGCAAGTTTTCCGATCCGAATGCCAAGGACATTCATATCAGGTGAGTCGTCATCGTGTAAGCTATCGCAGAAGATTGATCCGACGTTTGGTGTGAAGCCACCGAACAAAAGAACACAGGAGAAGCGGAAGAATCAGCTTCCAGCAGTTCATGGATTGTGTAGATTTTATTTACACTAAATCAACAACAACACAAAAAACATGTTCCAACAAAATTGGAAAAAAAAATTTTAAAAATCCCAAATTTCCAGGTGTCTAAAACCCATCCCGTGCATACAATTTTTAGGGTTAAAATTGGAAAAAATCATCAATTTTTCGGATAAAAATGAAACACAATCTGATTTTTATAGAAAAAATAATAATTTGTTGGCAAAGAACTACTTTCAGGCTTTGGAAGTTCAAACTTTGTAGCAACATAATTCAGAAAAAATCGAAAGATTGGAAGAAAAACATTTTTAATTTGAAATAAAATTCAAAAAAATTTAAATTTTTTTAAAAATTGAATTTTTGAGTAAAGAATTTTTTGCTATAAAATTTCAATATTTTTCAGGCTTTCAAGTCCAAAAACCGTCCGTTGAAAATTCCGAAAAAATCGAAAATTGGAAAAAAAATTTTAATTTAAAGGTGGACTACTTGCTCTGTGGGGGGAAATTGCTTAAAACAATGCCTATGGAACCACAATGCCCGAATAGCATAATAAAAAAATTTTAAAATATACTCTAGATTTTATATTATTTTTTGAGAATTGGAAAAATCACAGTTTTTGCCTAATTCCTTTATGAATTACCGCCAATTGGTTCAGACTGGAGCGCGCTTGCATGTTTTTAAATTTATTTATTTTATTTATTCTTATTTTCCACCCATTTTTAATGTTTTCGATGTATTTTTATTTGAATTTTAGCAGAAAAAGTCAAAATAAATACTAATATTAAAATGCACGCTTACAGGCGTAAATCAGTGAACGATAATAATTAACTCAGGTTCGAAATCGTTCAAAATCGTTTCTTTTTCATTTTTACCTGTAAGCGTAGCTTTGCCTTTAGTCGAAAATTTGCATTTATTTTCACTTTTTCTTTAAAATTCAAGCAAAAATACACCGACAGCATGAAAAATCGGTGCAAAATAACAAGAAATAAAATAAATAAATTTAAAAACGCACTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGGAAATTTAATGGATGGGAATTAAGCAAAAACTGAGATTTTTTTTTTTCAAAAAATCATATAATATCAAAATTTTTGTTTTTTTTTTAATTTTTTTAAACATGACATTCGATCATTGTGACCCCATAGGCATAAAGGTGGTGTAGTCGAATTTTTTCTATTTCTTTACTAGACTCAAAATTGTCTGAACGCCGAATTTCATTAAGAAACTTCTTGGAAAATTTTCAAAAAAAAGTTATGGCGGCTCGATGGCCTATAATTAGTGAAAATTTGAAATTTGACCAACTTATCATTGTCGCATCGACTGGAAACAATTTTTTTTTTGAAATTGTCGTTCAATTTTGGGTGTACAGATCGATATCTTGCGTTTTCAGCTTTCTCAAGGTATTTGTCGATGGACTTCAATTGGATCTGTCAAATTTTTTACCAAATCTCGTCCATCGACTTAATACCTAAAAGCTGAAAACGCAAGATAATCGACCTGTATACCCAAAATTGAACGACAATTCCAGAAAAAAATTGTTTCCAGCCGCCGCGACAATGATAAGTTGGCCAAATTTCAAATTTTCACTAATTTTAGCCCATTTTCCGAGCCGCCTTAACTTTTTTTTTTGGAAAAGTTTTCAAGAAGTTTGATTATGAAATGTCTTCAGTGTTTTCAGACAATTTTGAGGCCAGTCTAATTAAGCAATAAAAAAAATTCCTGACTACACCACCTTTAAAGCAATTTCCCCACTGGGCGCGACTCAACCTTTAAAGGGGGATTAGAGTTTGTGGGTATTTTGCTTAATCCATAGACTAAAAGTGCATTCCAAAAACACCGAAGTGATTTCATAATGAGACTTCACAAAAAATCTCCAAAAATTTTTTATGGCCGGTCAAAATTCGAAAAAAAAAGATTGCGCAACTTTCGCGAAATTTGATATTTCGCACACTTTTCTTTGTCTAGCAGCCGATGGATTTTAGTTTTTCTAAGAATATCACCCTCTATTCCTTCTTGGTAATTTATCTCGCGAAACGAATCCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCCAAAAATGCTCAATATAGGGATGCCTAACGGCCTAGTTGTGTCAATCAACGAATTTTCGCGAGATAAATCATTAAAATAAGGATTAAAGGGTGATAATTTCAGAAAAACGAAAATCCAGCTGCTGTGACAAAGAAAACTATGACCCGAAATTTCAGATTTTAGCGTTGCATCTTTTTTTTCGAAATTTTTTATTTTGACCGGCCATAAAAGAATTGTTGGAGATTTTTTGTGAAGTCTCATTATCAAAATATTCGGTGGTTTTGAACCAGTTTTAGTGTATTTAAGCAAGAATACCCACAAACTCTACTCCGCCTGATGATTAAAGGAATGAAAATAATTCTTGGAACGTTTGGTTTAATTTTTTGTTAAAAAATCCACACCGAAGAAAAGTCCACAGTATCAGAGCCTCCGAGCTTCATGAAAAGCCGTGGTTCGCCCCACCGTGGCTCCAGAAGGCCGGGAATTCAAAATAGTAGATGATAGAACTATTAACGAAAAGTACTCGCCGGGCTTAATCCGGGCGTAGAGTTCATTTATGAGGATCGACATCCTTATGTCTGATATCAATCTCTGGGAGGAATGTGTAGGATAATATCGCAGCGAGACGTTCGGACCCTGAAGACGTGGTGGAGCGTCCCACCACCACCTACCACAACGGACGCCGCAGACAGTGTTGGGATGCTCGAGAGTTGGAATTATTGCGAACGTTCATCAAATGACAGGGGATCGGTGTGCGGATGTGGTTCTGACGTGTACGCCGGTGCCGACTTCGGGTTGAGCAGGATTATTTAGGCGGTTGTTAGGAGAGTCGACGGCACGGGCCGGGCTTTTTTTTTTGCCGGAAAGTTCGGGATTTACCGGTTTGGGAACGTTTTTTTTTGCGGCAAATTGCCGGTTTTCGCCGGAAATGTGAAAAACGGCGCAAACCTGACAGTCTAGCGGGAAATTTTCAGTTTCGGCAAACTACCGCGATTTGCCCAAGGATCACAATCGTCCGGCAAATTCGGTAAGTTGCCGGTTTGCCCATTAGCCGGTTAGTTGAATTTAGCAGAGGAAATACGGCAAACGGCAAGTTGCCGGTTTCCCACGACTTACCGGAAATTTGAAAAACGGCAATTCGCCGGTTTGCCGGAAATGTGAAAAACGGCAAATTTCAGAATTCGGCAAGGCCGGTTTTTGCCGGAAATTTTCATCTTAGGAAAATTGCCGGTTTTTGCCTGAAATTTTCGTTTCAGTCAGGGAAAATTGCCGGTTTGCGGGTTTGTCGAATTATCCGGAAATGTGGAAAACGGCAAGTTCCCGGTTGGCTGATTTGCCGGAACTTTTTAATTTTCGGTAATTTGACCGATTAGCCGGAAATTTTTTAACGGGATTTTTGATAAGATGGATTTTTTTCCGGCAAATTCGGCAACTCCGGTATGCCGGAATTTTCATTTTTGACAAATTGCTCCATTCGCCGAACAATAATTATGCCAGAAATTTGAAAAACGACAAGTCGCCGTTTGCCGATTTGCCGAAATTTCAAATAACCGGCTATAATTTGCAGATTGCCGGAAAACTTTTACATATTCGGCTAAGTTACCGCTTTGTCGGATTTTTTAAACCGTTTTTTTCAAGATAGATTTTTTTTCCGGCAAATTTCCGGCAAGTTTCCGCATCGGTTTGCCGGAAATTTCAGAACCGGCAATTTTACATTCTGCGGATTTCTTGTTTGACAATCTCAATTATTAAGACATATCGAACAATTGAGCCGGATCCCGAGCCGCCATCAAGCCTTATTCGCCACAGCTAACTACTTTCCCAAAATGTCGTATTAATCACTTCATCTGGAGACAAGACGAAGCTAGTATTGTATCGGATGTCCTGCTGATAAGGATTTGCGCATTTATGCGCTCGCTTCTATTCGGAATACAAAGTGGTATGATGTGGGGGAGTTTTTTTAATTGTTCCTATACACATATTTTAAATTACTTTATCATTGGAAAATCTAAATTATAGCCCAGTTTACAAAAAAATCTATATTCCAAAAAAAAAATTGAACAAAATCGATAATATTCCCAAAAAACGTTTACATAATCGAACTTTTTAAAACACTTTGAATAAATCGATAAGTTTACAACTGCTGACAATTAAAAAAAATCGAAAATTTCTCAAAGCTCCAGTTGAAAAAATTAATATTTTTCCCGAAAAAATTGAAAAAAATGGATAATTTCCAAGGAACATAAAAGCTAAAGATTTTTTAAAAAAATCGAAAACAATTCAAACCTTTCGGTTCACAAAAATTTGAAAAAAATCGTGATTTTTTTAACTTTTTTTCATCAAAAATTTGTCAAGAATTTGGAAAAAATAGAAAAAATCAATATTTTTCCGAAAAAATTTGAAAAAAAAATCGATAATTTCAAATAATAGTTGCAATTTATAATTTAACAGCGTAGACAAATTTTCAAAGATGTTTAAAATTTTTCACGTTTTTCTCTCTGGTTTTTTTAAAAAGCGTAATTTTTACCGAATTTCTCATCAAATTACATGAATTTTTCTGAAAGAGCGAGAGAATTAAAATAATTCGAAAAACTCGAAACAATTTGTTACCAGATCTAGCCGAAAAATCCCACAGAAACCACCAAACTTTACTTTTTTTATTTAATAAAAAAAAGTTTTAAAAAATATCAATCTCCCTTTTTTTCTGCCAAAAGCGACTTTGATGTGGGTAAGCTTGAAAAGTTTAAAAATTTGCAGGAAAAAATCAGGAAAACTCTTTGTATTTTCAGAGTCACTGCCAATACTCTCGTGCCTATCAGTTAATCGAATGCTCCGAGATTTGCGAAATAAATATCCTGAAGTTGCGTGTCTTGATGATTATGTAAGTTTGAGAGTTTGGAAAAATATTCGAAATTTTTTGGGAAAAATTTGGTAAAAGTTCACAAATGTACTGTACAATTCATTAATTTTTTTGCGAAAAAATTTTTTAAAATTCTCTATATTTTTGCTAAATAGTTTACAAATCTAAATAGTATGAAAAAATATTTTAGCAGAATCAACAAAAATTGTATAAATTCATAATTTTTTGAAAATGAAATAAATGTTTTTTTGCGAACCACTAAGACCAAACTTAAATATGCTAAATAGGTTTTTTTAATGCAGGATATAGTTTTTTAGCTGAAAACGTCTAATGAGAAAAAACGGATAACATTGAAAATTTACGTACATTTTTGCAGACCTTTTTTGCTCACAATTTTGTAAAAACTTTCGGCAAAAATATCACCTTAGTCAAAAAAAAATTGCTTAAAAAAAATTTCTATAATACAAAAAAAATGTGAAATCTATCTATTTTTTTCAAAAAATGAGCTACCTAAAAATCTATTAATGATTCTGTGCGATTTTTTTGTGAAAAATTTTGAAAAAATTCAGAATAATGTATAATTCCGTTATATAATATTTGGCGAAAAAAATTAATTTTTGAACTATAATTTTTTTTATGAAAACTAGTTTCAAAAATCGATATTTCACCTAAAACGAACAACCCTAAAAATAGGCGGCACACGAACTATGTTTCCGGCAAAGTGGTAATTGCCGAAATTTTTGGCAAACTGTATAGGCTTTGCAGAATTTTTTTGTTGGAAATTTCAGATTTTCAAATTTAATCGGCAATGAAAACGAAACGTTTATTCCGCACATCGGCAAACCAGCAAATTGCCGAATATAATATTATGTCTCCTAATAAGTTCCGGGGCAAAAATCATAACCTTGTTCGCTGTGTATCGATTTTTATGAAACTTTGGGAGTTTATGTTATCAACCGTGATCTTTCAATTGACAATATTCACACAGTTTTGTGACCACCCCAAGTGCCCGTACTCGGAGCCAATTGTTTCAGGTATTTTTCTGATCTCGCTTCTTTTTATCTTTGAATCGAGGTTTGTTGCGGATTTTGCTTTGTTTCGAATACATCGTTAGAAAACGAGAAAAGTTTGGAAAAAAATTTGTCCAATAAATTTTTTTTGGATGATCGGCAAAGAAGTTTCAAAAAGATTTTTGTCGAAAATTCTCTTTCATACAATGTAAATGAGGTGTCCGAACCAAGTGTAAATTATTTTTATACATACGAACAACATATCAATTTAGTTCGATACACTAAAATGATAATAATATAATTTTTTCGGATAATTTTTGAGTTTTTTGAATACTTCTTAAGTTTCAAATCGATGTTCAAACTAAAAGAATTTTTGTGTGTAAAAATAATTTTCACTTGGTTACATCATTTTTGTATCAAAAATCTGTGAGCATTTTAAAAATCTTTTTGAAGCTTTTTTGAAACCAAAAAAAATTTTTGGACGGATTTTTTTCCAAACTTTTCTTGTTTTCTAGTGATGTATTCTAAACAAAGCAAAATCCGCACACAAACCGATCAATATCTTCAAAGATAAAAAGAAGCGAGATCAGAAAACCTGCCCAACAAATTGGCTCCGAGTACGTTGGGGTGGTCAAAACATTTTGTGACTATTTTCAAAACACTGAAAGATCATGGTTGAAAACATAGATTCCCAATTTCATAAAAATCGATTTGCAGCGAAGTTAGGATTTCTTGACCCGGAAACTTATTTGGAGACCTTATACAATTTTTCAACATTTTCCAGTAAATTAGGGAGGTAATCGTCTCGAACATTATCGATTCATCTCCAATGTCACTTTATCCGATGCGTTTAAGCGAATTGTCGAAGCTTCACTTGCAATATGTGTATTCTGGTAGGGGGGTTAACTTTTTTTTTCCGGAAATATATTGAAAAATGAGCATATAAAAAGTTTTAAAATAATTTAAATATTTACAAAAAAATTTTTTCTGAAGTCAATTATATTGCGTTTGGAAAATTGATTCTTGTTTCGAGAACGGAAACTCTTTTTTTTTAATTAAAATGTTGAAAAAAAATCCAGGAAAAATGCTGAATTTTTCGGGATTTTTCTGAGCACATTTCTAGCCAAGCTCTAAAAATGAAAAACTTGAATTTTTCTTTATTTGAATTTTGCCCAAAAATGACTATTTGAGGAAAAAAAAAACATATTTCAATCACCGAAAAAATGTATTAATTTAATATTTTAATGTTAAAAAGGTATTTGAATTTTTTTTATACGACCTTTTTTTTGCACAAAAAGTTGAAATTTGGTTGAACCCGGATAAAATTTAGAAAAATTAAAATTTCAATTTTTTTTTGCGTTAAAAGTTTTTTAAGGTTAAATATGTTAAATAAGCACATTTCTTGAAAAGTTCTTTTGATTTTTTATATTAAAAAGTCTATTTTTCAAAAAAAAATTTATTTTAATTTTAAAATTTTAAAAACTTTAGAGTGGTGTAGTCGATTTTTTAAATTGTTCGATTAGACTCAGAATTGACTGAAAACACCGAATTTCATAATGAATCTTCTTGAATACTTCGCAAAAAAAAGATATGACTGCTAAAAAATGGCCTAAAGTTAGTTAAAATTTGAAATTTGATCGACTTGTCAAGCGGCTGGAAACTATTCTTTTTTTTGAAACCGTCAGATTTTGAGTATAAAATGTAATTATATTGGCGATATCAACTTTTTAGGTATTTTAAAGTCGATGGACGGAGAGAAGACATTTTTAAAGGTGGAGTACCGATATTTAATACTTTGCTTTTTTAGACCCAAAATGGCCCAAAACTACCGAATCTGCCGTAATGAGCAACGTTCTGAAAATTTTCCACCAAAAAAAAGTTATGGCCGATCAAAGTGCTTCTTTGGAAAAAACGCCATTTTTAGCTAAGATGTCAAACTTTGGCAAATTTGACAGTCTCGCACCGATAAGTTCGGCCAAAATTTCGGTCTAAAAAAGCAAAGTCTTATATTTCGGTATTCCACCTTTAAAAGTATCGCCGTCCACCGACTTTAAAATACCTAAATCAAGTTGACGCAAGATGCCAATTACATTTTATACTCAAAATTTGACGGTGATTTCAAAAAAGAAAGCTAGTTCCAGCGGCTTGACAACCAAGGTCGGTCAAATTTCAATTTCCGCTAATTATGAGGCCTTTGTCTTATTGGAGCAATCATAACTAGTTTTTTTGAGTGGTAACTTTTTTTTTTCGAGAAGTTATTGTCATGAAATTCGGTGTTTTCAGAAAATTTTGAGCTAATAAAGCAATCAAAAAATATTCGACTAACTTTTTGGCCTATTTTTTTGGGCTAAAATTGAAAGGTATTTTTCCAGCAAAAGCGGTCCGTGTCAGACGTCTGTCCGAACGTTCTCGATGCTTTAACCGACGAGCAGAAGCATTCGTTGACCGCCCTGGCACAGAATTTTGTTCTGCAAATTGCATTAAATCATATACACGAGGTATGCGGGGATTTGAGCAGAAAAAATGTTTAGTCAATTAAGAAAAAACCTTGAGTTTTTAAAAAAATCTGTGGATGAGAAATTTTCGCAATAAAAAAATTATATCGGTATAAAATTAATTTCAAATTTGAAAAAATTTCAATCAAATAAATTTTGAATTTGCATTCCAACGTCATCGGTCTAAAGAAAAAATTGCTTGAAAAATTGAATTAAATATATTTCTTTAACTACCTGTAAATTTTTTATTTGGGATCCGAGAATTCGACACTGAAATTTCATTTAAAAAAAATTAAATAAAATTTGAAATTTTTTGGAATATTGCAAAAAATTGCTAAAAATTGAATTTTCCTATATTTCGATCGGTTTTTTTTTAGATTTTTTAAAAAATTTTTTTTTCAGCCATTTCGGGTGGCCGAAAATGGAGAAAAAATAGTCAGAAAATTCAAAAAATTGCTTTTTTTTTTCAATTTTCCGAAATTTTGTATCTTGATCGTCCAAAAATTTAAAAAATAATCGCTAAAAAGTTTAAAAAAAAATTATTGAAAACAATTTTTTTAGCCAAATAATTTCTAGTAGATTGCATGAAAAAAGGCCCTAGTGAAATACGAAACAATTTTTTTTTCAAATCCGATTCAGAAAAAATTGAATTCTCTCTGATTTTGGGCCGATATTTATAAGATTTACAATATTCCAAAAATTCTTGAGAAAAATTGAACTATGTCTGCCGTATTCCTGTGAACATAGCGGAAAATTGAATTTTCCAGGTTATGTTTATCGGAAAAAGTATAGTGACTCTACGTAGAATTCATGAAAAATTCTGACAAAAAACCAAACATTTTGGCCCAAAATCAGAGATTTCACAAAAAAAAATGCTGAAAAATCAATTTTCAGCAATTTTTTTTTCAAATTTTTTTAAAAAATATATTTTAGTTAATTTAATAATTTTTTTTTCCGTTTTTTTAATAGAAGAAAAGTTATTTTCCCAAAAATGTGCAGACATTTCAGAATTTTCGGAAATTAAAAAAATTTATTTAGCAAAAAAAAAAATTTTTTAATCCAATTTTATACTATGATTTTTTCACTTTTTCGGTGGTATTAGGACTGAATTCAAAGTCTCTTCGAAAAACATAAATTTTCAGAAAACTTAAAATTAATCTGATTATAATTCGGAGCATATATGAAATGTGCTTTTATCACAACATTTTTTTTTTTGACAAGTCAAATCTTTCCACATTTTTAAAAGTTCCTATTTTGTATATATTCGGATTTAAATTATTTTTTTAACGGGTTTATTGTCTGAGCAAAAAAATTGAATTTTTCTAAAATCACCAATTTTCTTCCAGATTCTCGGAATCGATCGTCTTCAAGACCCACTATTGATCTACCATAGGATGCTCCGATCAAAGACCACTGGAGAGCAATGAAAAATGCTGAAAACGCAGAAAATCTCGACGATTCGCCAGTTTCCAAAAAGGAGAAGGATACTCGACGAGGAGCCCGCCGATATTTGAGGATTTTTATTTTAAATTTGGTCGGTTTACGAAATTATTTAATTTTCCTCTATTCTCCCTCATCTCTGTGTTTTTTTCTAATGTCTTTGGGCGTAGAAAAAACGAATGGCTCTCTTCGCGGTTAAACCTTGAAATTTTTATTTTTCTACTATTACCTCCCCCTGCAAACGCGCTCTATTGGCGACAATTCGCAATGGAGCGATTGCATATTTTGTTACCATTTTCCAGACATACTCATGTTCGATCTTCCACTAGGGGAGGGTCTCGCGATTTTTTGAAAACTAAATTTAGATTTTTTTTTGAAAAATATTCGAAACAATTTTAGGTTTTTCGAAAAATCCTAATTTAGCCTAAAAAATCAAAAATTGATGGGATTTTTAAAAAAAATTCAAAACTTATAATCAAAAAAAATTGCAAAGATGTTTAATTTTTTTGTTGAAGAAAATTTTTTGTAAAAATTAATTGATTTTCCGCTTTGAAATAGTTTGAATTTAGAATTTTTTGAAAAATTATAAAAATTTTGAATTGAGCTTTTGAAAAAACATTACTCAAAATTGTTGGAAAAATTTTGAATTTTTTTGAATGAATTCAGAACTTTTTGAAAACGGAAATTCGAATTTTTCTGAAAAAAACGTTCGCAAAATTTTTCGAAATAATTGAATATTGAAAAAATTATAAGTAAATTCCTAATTTAGTCGGAAAAAAATATTGAAAATAAAGTGACGATTTTTGAAAAATTTTCCCAAAAATTCTATAGAACTGTCCTGAATTTCTATAAAAAATTCGAAAAAATAAAGTTTTTTAGAAATTTGCAAATTTCTTTAACATATTGGAAAAAATTCTATTTATTTTTGAAAAGTCATTTCTAAAATCTTCCTTTCTGCTAAAACCTGCAAATAAAAGGACCCTGCCCCTAACTATCTTGTTCATCCAAAAACCGACAATTCTTCTGTTTTTGTGTTATAATCGTCCTTTTTGACTTGTCAAACAAAAATTAAAATAAATTAGAAGAAAAGGGTTTAGATACGATTTTGCCAGCACGAGGCCGAGGTTTTTCACGGCCACGTGGCACAGGCCGGCAAGTAAGGCTGAGGCTGTGGGGGGAAATTGATAGGGAAGAAGGCAGGAAAAAAAAAAGAAAAATTCAATATTTTAAAGCCAAAATAAATTTTTCTGAAAAGACTAGCAAAACAGGAATGGTTAGGGGTAAAGCCGATGTCGGAGTTTGACGGAGAATTTTGCAAAAACATTAACAAAAACGAATCGGTAGGGACGGACCGGCAAGATTGATTGTTGAAAATTGACGAAATCTATCGATTTTTTGGCGCACGGGGTTCTGGCCTTCCCTCATAAATGGAAGAGTTTTGCCGAACTGGGCCACCAGGTCATAACTGGGGTAGGTTTACGGCGCGTTGCGTGTCGCGTCGAGGCTCAATTTTAGTTGTAAAACTAAAGAAGATGTATTTGTCCGTGTGAAGTACACGACTTTCCCGGGGCGCGATTGTCATGGAGCGCGAAAAATTAAGGGCCAGACACAGAACCCCGTGAAAAAAGATAATCCCGTTTAGAATCGGTGAGGGCGTGGAAAGAAAAGATGATCAAGAAAACGGGAATGAGCAACATTTCCAAAAAATCAACAATAGCGCAATTCCAGAAAATTCCATAGAAAACGGGGTCTAAAGCACCAGATTAGTGTTGTGCGTGGGCGTCCACTGTGACGTCATCACCGTCCACGTTTCGTAGTTCTACCGACTCGTGCTGATCTGAGAGCTCGGCCGAGACTTGGAGATCTCGGTGAATGTGGCGAATGCTTCGCGGGTGAACATGTCTGGAAAATCAGCAAGTCAGGAGAAAATTCAATTTTGCGCGTCAACTTTGATGTTTTGTTTGTGTTAGTGAACTTCAGAAAATTGAATTCGCCAAATTTTACGAGCAAAAAATTGGATTCTTTTGGTATTTTTCATGGAAATTTAACCAGGTTAAAAATCGAGGTTTCTCCGGAAATTTAACGTACTTTATCGATTTTTCATCAGAAATCAGTAGAAAATTCCTTCTGCGCGTCAATTGATGTAACCTTCGGGCCGTGCGGAACTGAACTGGATTTCGCCTAATACGAGCAAAAGGGGGGCTACCGTTTGCAAATTTTTCTTGGAAACTGTCAAATATTGAATTTTTCGTGAAGGGCAAAATTTAACCAAAAATCGGGCTTGCTACGGGATTTAACAAATTTTATCGAATTTTTTTGCGCGTCAAATTTGATGTTTTTTGTTGAACTTCGGAAAACTGTATTCGCCAAATCTTACGAGCACAATTGGACTTTTTGGGTATTTTTAGTCCGAAATTGATTGTCTTAGAGATTAAACGCGATTTATCCATTTTTTATCGGGAACAGTAGCAAAATTCAGTTTTGCGCGTCAAATTTGATGATGTTTTTTGTGTTGGTGAACCTCAAAAAACCGTATTCGCCAAATCTTGCGAGCAAAATTGTATTTTTTGCGTCTTTTTCGTGGATTACAAAAATCGTGCATATCTTTTAAAAAAAAAATTCCACACAAAAGTACATTTTCACACAAAAACTGCAATTTGCGCGTAAAATATGGCGCAACCATCGGTTGAGTGCGGCACGCCGACTCAAAAACACCATATTTTTCACGCGCATATATTAATTGAAGCGCCTTCACGTGGTGTCAGGATGGGTCCACGGTTTGATCTACAAAAAAATGGGGGAATTTTTTGCCCAATAATATAGGTGACGTGCATGTTCTTAGCCATGCAGAATCAGTCTAAAATCCCGCCTTTTTTGTAGAAACGTAGATCAAGCCGAAATGAGACGACTCTGGGCTTTAAAACACTCACCAATAAAACCGAGACATGATCGGAACGTTACACGTGCACTTCCGATCGAATATCTCCATCGTCACACCGGCAGCCCTTTCTCTTTTTCTTCTCGAGTCTGGAAAATAATGATTTTAATTTTATTCTTGGAATTTTAAATTTCAAACAGTAAAAAACCAAAAATTATAGCAGTATTAACTTATCCAAGTTAAAGAACTACAGTGAAACTACAGAAATATTAATAAATATTTCGATGCACCAAGAGCCGAAATCTCTGAGAGCCCAAATCTCGGCTCATTTCGAGTTACATTACAAATAAACTGCAAGCTATATATAGAAAATTCAATTTCAATTATTTTGTTAGTTAACAGAATTTGGCTAGAATTGAAATCGAGCTGGGATATGGGCTGGCTAAGTGAATTTTTCCTTTTTTTTTTTGTTTATTTTGATATCCAGGGGTGAGCAGCAAACGATGTTTCCGGCAGATCGGTCGCTAGCTTGCCGGAATAGAACACTGCAAATCGGCAAACCGGCAAATTACCAGACGAGTTTGCCGGCAACGTATGCTCCCTATGAGCCACCCATCAATCGATTTTGTCGGCTTATATTTACGCCATATGGCGGTTTCAGAAGTTTTTATTTTCATGAAAACCAGAGTAACTATAGATCATTGAAAGAATATTTTGTCGTTTATTTTGAAAATATGATAAAAGACAACCGAGATATAAACGGTCAAAGACTAGTCAAGGGGGGCCATACAAAAATGTTTTTTTGTAAATTTAGAAGAAAATGTGTTTCCGTCTTATTAAAAAAATCTCTCTAAGCATTTCCGGCAAACCGGCAATTGCCGCCCTCCCCCGACCTACGCACCTGTTCAAAGTACTCCTCAACAATCCGATGCGCAAACCCCATCGCTCAGACACAATCCCTCTCTCGCCGGATTGGAGATGTCGGGGCGCACTTGACAAGCATACTGCTCATATCGGAAGTGAATTCGTGTCACGTTGCTCCTCCGGCACATCTGTCACATGCATCTTGTTGAACTTGGCGAGGTACTCAAAGTGTCGACTGAGGTCCGTAGCCAACACCATCTCCACCATCGCATATCGCATTTGTATGACTCGCGCGACAGACTCGGGAAGATGTTCACGTTGGCGTTGTGCTGAAGGGTGCTTAGCTGAATGGTTAGCCTAGTGCGGATAATTCCAGGAGTTATCATTGTAAAGTATTGCAAGCTGTCGCGTCGTATTGATCAGGTACGCGTTTCCTCTTCCAGGATGGGCTAGATCATGCACCGCCTCTGCGAAAAGAACCGCCGTCACCGCATGACTTTCATTCAAGTGCACGGAGAACGACGGGGAGTCAAGGTGGCCTGTAGGACGTCGGCTGTGTGAGTTGCGTTGGGATACGTGTTTCCCGCATGGTAATGAGCCTCGATGGATAGATTAGAATCCAGCGGTGGAGGAGATCGTCGGAGCAGCCGAGCACATCGCAAACCTTCCACCTCTCGAAGACTTTCATTCCGATTTCCTTGGGAAAGAGCGTCGTGATCCGACACCTTTTCCAGATGGAGGATGTCGAATTTCCAGCAATTGTCGTTTTCCAGCGGGTGAGGGTCTTCACGTCAGCGGATACCCGTCGACATTCTGCATGGGATCCTCGCTTCTCTCGATGCGCGTCGACGACGCTTGCGCTGCCTAGCTGGATGATGGAGGCGAATGAGACAATCGTAATATTGAGTTGCCTATCCGATCGGCGTCGCGGAATCGGTTGATCGACGGTGCGTACAGCTGGTCCGACGACAGCACCTTCATCGCGTCCTTTATCGTTTTTGCCGGTTCTCCGTCGACCCGCGACACGTCTCGGAGCATTGTGAGCACCTCGGAGATGGGCGCCTAACGATGCCGCCAGTCCGCGATTTCAGGCTTTTCAGGGCGCCGTCGCGGATTGGCGGTACCGGGTTGGTGTTCTTGTGAGCGTTTCACACGAAGTGACTACTGCTAAATAGAATTTTTTGATTAATTGGTGGCCGAGCTTTTTAAATGGTTGCCGCGATGTTTAAGTTGATGGCAGAGTTTTATAGGTTGATGGCCTAGTTTTTTAAATCGTGAGTTTCTATGCAATTTTGTGGCCGTGTTATTGTATAAGTTGGTGGCGGAATTTTATAAATTGACGGCCGAGTTTTGTAGGTTGGCGGTCGAGTTGTATGAATTGGTGGACGGCCTAGTTTTACAATTGTGTGGCCGAGTTTTTGTATAAGATGTCTCGTGATGAGCCGAGTTTTTTCAAAATGATGGCCGCGATCTTAATGATGGTCGAGTTTTATAAGTGCCGAGTTTTATAGGTTGATGGCCGAGTTTTTATGTAATTTGGTGGCCGAGTTTCACAAGCTGATGGTCGAGGTTTATGAATTGGTGGCCGTGTTGCTATACAATTTTGTCTGGCGGTGTTTTTATATAAGTATTTGGTGGACGAGTTTTATAAATTGGTGGCCGAGTTTAACGGAATAAGCAAAGGAAACTAAAGCGAAAGTGCTAATTTTATTGAAGGGTTTTAAAAACTGGGCCATCACCTTTTCAAGAAAAACTCGGCCTCCAAATTTTCCAGCAAAATACTAGGTCGCCAGTTTTTCCAGCAAAAAAACTCGGCCACCAAAATTTCCAGCAAAAAAAACTGGGCCACCAAATTTTACAGCAAAAAAAAAATCGGCCACCAATTTTTCCACAGAAAACGGGCTAGTTTCATTGTTCGTTTGAGAGAAAGGTAGGTCACGTACATTTTCAATACGAATACTCGGCGACCAATTCTTTATAAAAAATTCCGTCATCAATTGTCATAGAGATTAAGTTCGGCCATCAAGGTTGAAAAATAAACTAGGCCACCGATTTTTTTAGTTGAAAAAAACTGCTCGAACACCTAACCTTAAGATTTTCCTTTTTTCTAGCCTAGAGCACGGTTATCGCGTTTTTAGGCCACCGATGCATTTTTTTAATCGAAACTCGAAAAAAAATCGGTGGCCGACTTTTTATCATATACGGCCACCAATTAAAAAAAACTCACTTGTTAGCAAACGGGACCCGTATCATTTTCCTGTCTCAATACCCTCCGTCCGCTTGCCGCTCCTCTTCGGTGCAGGGCCCTCGGGTGTACAGAGACTTCCGTCGCATTTCCGATGCGGGTTGTCCGAACACCTCGGATTATGCATCCCGTCACGTTCTCTAGCCGTAGGCGCAAGGATAACGTACTGCACTAATCGTTGCTCATCACATATTTCCACTGCTTGATTCGTCTGAAAATATCACCGCAAAATTTGAAGGTTTTTAGGCACATGTGGCGCCAGTCCATTTTGATCTACAAAAAATGCGGGAATTTTTCACCCAAAAATATATGATCAGCTCACCCAGTTCTTAACGATTCTAAACTCACCCGCATTTTTTGCACGCTCTACGTAAATCAAGCCGAAATAAGAGACACTCTGACAGCGCGTGTAGGCAGGTAGGCGTTCACCGAGCCAGGCGATTAGGCCAGGAGGCAGTCGATTAGGCAGACTAGTAGGAGGTAGGCAAGTAGGCATTGAGGCAAGAGCTCACCTAATCCAAGACCGCGAAAAGGGCTATGGGCAGCGCGCGGATCCGACTCGCGAGCCGCCCGACGTAGTCGAAGAGCACCACAAGCGTATTCCACGTCACATGCTTAAAAGAAACGCATGAATGGGAATCAGTGTGTATGAAATATAAATTAGAATTGTAAATGAGAAACTGAGAAAACGGATGACTTACCATGATGAATGATGTTGGAGTGCGCAAGAGCTCTCCCTCGCTTTTCGCTGATGTGTCTATGTCGATTGTTAGATTGACAATTCTGGCAGAGTGGTTTTCTAGAAAATTGGGGAAAACTCGGCCAGATATGTTTTCTTTGGTTTTGGTTGGATAATTTTGGCGACCGAGTTTTTCAACGTATCCTTTATGTGTCCGTGGCCGAAGGCACATAGAAGAAAATTAGAACAATGCCGAGTTTTATCAACGTAGTCTAAATTAGGTGTGGCCGAACTTTTCGTCTGACGGCCACGCAGCAAGAGGAAAAAATAATGAAACAAAATTTGGTGGCCGAATTTTAAGCCAACACAAAAAGTTGGTGGCCAAATTTTAAGCCAACGAAAATTGGGGGCGGAGTTTTTGTTTTTTGAAAATTCGTGGCCGAGAATATGGGAAAACGCGGCCACACGATATTTTTTCTTTGGTTTCTGGCTGAATAATTTTGGTGGCCGAGTGTTTTTGTTTTGGATAGGGCAGTTGTGGTGGCCGATTTTTATCATTTAAACCAAATTTACGTGTACTTGGACTTTTTCTGACGGCCACAATAGCAAGCAAAAAATAACGAAAAGTTGGTGGCCGAATTTTAAATTCATAGCAAGAAAAGTTGGTCGAATTTTAAGCCTAAAAAAAGTGGCGGCGCTTTTTCTACAAAATTCATGGCTGTCATTATTTTAATTGGAAAAACTTGTGGCAGTGATTTTGTCTCGAAAAAAATCGTGGCCTTTAACTAGTAAAATTTGTGGCCGACTTTTATTCGCGTAACCTAATTAACGTGGCTGTCGCCGACTAAGGCCACCTTGCAAGAAGGAAAAATACCCAGGCGAAACAATTGTGGCCGAATTTTTAGTCGAAAAAAATGGCGGCCGAGTTTTTGTTTAAAAAACCGTATTTAGTTGGGACGAAAAATGGTGTCCGAGGTTTTTCAATGTATCCAAACTTATGTGGCCTGTTAGTGGCCTATAGCCTAGCTTTCCTAAACCATTTGTTTATAAAGTTGGTGGCCTAGTTTTTAACCAGCATAATCCAACTCACTCACTTCTCGGCGATCGACACAATCAACACCTCCGCTGTGCTCACCGAGGCTGAGACGTCTCTGAAAAAAAGTTTCGTTAGTAGATCATGGCTGACGACGCTGCTCCCTTACTTGGCGATTTATCGAGCGATGGATGAGGTACTCGAGATCTATGAATACAGCTAGAGGGCATATTGATTAAACGTCGGATAGTGCAAGCAAGTGTACATAAAATTTCCGAAATTCAATTTCCTTTTTCCCTCGCCGCGCCACCGTGTCCGAATTTCGGAACTGACCACGTTTCAGTCGTCTTGGTAATTCCCAATTTCCTTTCTCCCTTTTTACGTCACATGATAGCGGTTATACGTGTTTCGATGCATACACAACAAGGCACTTAATCAGCTACTAGCTCCTCTCCCAACCTCCACAGAGAGACTGTATGAGCAAGAGAAAAAGCACCTGCTTCTTCCAGATTAGGCGTGAGCGAGCCTGTTGTCATCTGACTTCTGCTGACGGAGGGAGCTTGAAAAGCGGAGCAGGAAGAGGAGAAGAAATAAAGAGCATTCAGAAATTACGCGCGAGTCGTAGTAGCTATTTATACACTGACTTCGTCTCCTTCTTCTTCCTGCTTTTTCCCCGTCTGCTCCTTCGCTCGTTGATGTCTGCCATCATATTTCATTAACGAGGGCCTAAGAATCCTGGAAGAGTGACGTCACACTGATGGCCTCTACTAGGAATCTCAAAGGCAGGCCATATTGATTCATATAGCAGGCCATATCAGGCCCCATAGCCTGGCCATAGTAGGTCACCACAAGCTATGGACTGCCATCAGGATTTTGGCTCTTTGGATGATAAGCTTCTTTGGAGCCCAGCGCTTAACAGACTGACGTCGTGGTATCGAGAATCTCGGCTAGGCAGAAACGCGGCAATTGTGAATTTTTTGACGCACTAAAGATCTTATAGATCCTTGAAATCTTCCACAGGACTTAGCAGACCGGAGGCCTGGGAACTATGCAGTTAGAGGCGCCAAGTCCAATAGTGGGCTCCGAAGAGAGAGTGCCCAGAAGGGCTCCGAAAAAAGCGTAGATTTTGGGCCAAAATTTCCCAAATTGGGCCAAAATTTCAAAAGTAGTAGGTTTCAACCCTCATGTTTCCCGGAATGATTTTGTGGACTATTATTTACAGACTGTGGTGGCCTGCTACCCACAATATGTACTGGGCCAACCTCTGGCCAGGTTACGGCCTTTAATAGCGAATTGCTCTTCCCTTGGAGTCAAAGTTCTTGCAGAGCCTAGGAGACGCTTACCACTTTGGATCAAATGATCTAAAACTCAATGGATCATGACCCTAGAACCTCAATTTGACCCCTAATAAGCCTAATACGGAGCTACGTCTAAGCTCCCAGGCTATATGGCCTGATATGGCCTGAGCAACACTTCGGTGTGGCCCAGTCTAGGTTTTTCCAAGCCCCAGCGGGCCTCAGTTTTTATAAGCCTAAAGACGCAGCTACTGGGCCAAGCTCTGGCCTTGAATTTTGGAGTAATTATTGCAGAGCCATCATGCCTAGGAGGCCTAATCTAGATTTTTTCAAGGATTGAGGCCCCCACGAGGCCTCAATTTTCATAAGCCTAAAAACTCAGCTGCAGCCCTGCCTGTGTTGGAAACTGTACAAATCCTTATATGCCCGTAACGAGTCAAGAGGAGTACACTCTCGCCGGTGCCTTCCGTCACGATCACAGTCTGAAAAAGACGCATTATTTATAAGATCTTACAGGGGATTTTCAGATTAGGAGGGTCGTGTGCCAGACCTCAACAGCTCGCCGGGGGTGATAAAATGCTGATTGACTTGACATGCATATATATAGATATATATGAAGTTGGAAGAGCGGAAGCAGCAGCAGTGGCAGCAGAACTTGTGTGTGACGGGGATTTGTGGGAACAAGGCGCCAAAGAAGACGAAGCAGAAAAGCAGAAGCCAATGGGGGCAAGCAATGAATGCAATCTATGTAGGAGTATGTAGGAATATGTGTGTGTGTGTGTGTGTGTGCGAAAGTCTCTCTATCTGTGTGTGTGTGTGTCACAGGTTATATCGTGTGCACAAAAAATGTATAAGGTCTCCTGATGTGTGTGCGAGTCTGTGAGTCTGTGAGTGCAGTGTACAACACCTTTTGCGGAGTCTTACCACATACTGATACGAAAGTGTTTGTATTTTATATATTTCTTTGCCACGGCACACTCTTCAATTTTTCGCGGGCTCGCCCTGGCCCATCAGTGGCACGCAGTAGAAAAAGTAGTAGAATAACATGCGTTGTGGCCATAGCCCATCCAACTTTGTTACTTACGGACTGAATTCGCGCGCGCCGCGGGGAGGAGAAGCAGAAGACGACGACGACGAGCTCGAAAGAAGACGAGTTGCGCCTCTGCAGTGCGAGTCCCTCGGCAGCGGCACTGCTGCGCCGCGCGCTTCGATGACGCGAGCTCCCCCCCCCGGCGGGAAAGTACGCGATTTGTCACCGAGATGAGCGCTTTGCTGACAGAATAGAATGGGAAACACAGGAATATCGGATTGCAGTAGACATGTTTTGTTGCAAAGTTATGAAAGCTGGCTTGGCGTGGTCGTCGAATTTTTCGCGCTTCATTGACGGGAGAGAAGGGGAAAGTCGTGTTCTCCACTTCACGGAGAATCACACTAAGATTTAGGACTAAAATCGAGCCGAGCCAAAATGGCCTAGTTCTCGGCAGAAACTGTTCCATTTCAATCTGCGAGGAAAGCCAGAGTTCCGTGAACCTCGGCCCTGCGATCGCCGGCCTGCGATCTCCTAGACAAATGGTCACCCCAGCCGGGACTCGGGAAAGTTAGTGCCAGGAGAATAATTTTTGAATTTGAACAAAAAGAGGAACTTGTACAGTTTTACAGCATCTTCAATTGCATCGGCCCAAACGTGTTTGTGGAGCTGCTCGTTGGACAGTTAGCAAAGGTAGGGTTGGTGGAGCACCACGCGATCCACCTGCACCACCACCATTCTCAGGAATACGACCCACCGCAGCACCATCTCATTGCTAACACTGCCCTGGATGCTGCTGCTGCTGTTGCTGCTGGTGCTCTCTGTGCGTCTTTTAGCTGCGGGCGTGTGCTGCTGCCTCCTGCCAGCTTGACTGTGCTAGCCCCACACTCTTGTCACCCTCTTCTCAGCCCCCCACCCCGCTTCTATCGCCCATTCTCTCCACGAATTCTTCTGTCTGACCTCCTCCTCCTCCTCCTCCTCCTCCCAATTCTCATGTCATCGGGGGGCCCGTCGTTTCGTGGAGCGCCGCGCCTGCAATGTCTCGGGCCGCCGCCGTCGTCGTCGGCATCGGGTATCGTGGCCCGTCGTCTTCGGGGGGTGGGTTGTCATCTGCTGTGTTCACAGATGCCGCCGCCTTCACCGCCCATCTCATCGTCTCCTCCTCTCTGTGGACCCGCCGACCGCTTAAGCCCGCGCGCCTTCTCCCATCAGTTCTATCTCTCTCTATCACTCTCTTATCTCAAACCGCGTCAATTTATCTCTCTGGCAGTACTCGCTCTTCGCTCGGCGAGCTGTATTGGGTGTCGGTTTTCAGTCTGCGTCTCCGCGCCCCGGTGCAATGCATATGTTCCATCACGTTCTGCTCCTCCATAACAGGTTGCTCCGTGTGCTTCCGTGTTTTACGCAATTTGAGGTAAAATTGATACAATACAATTGATAATTATCGAAGTGTCCTCTATGTGTACTGACGCTGTTAATTTAATGGCCTAACCACAGAACTATGCTTCTTTAATTTTTGAACTTCTGTCGTAGCTCCGTAGTTAAATCCACTATGAGATTCCTTGCCATACTCGTTTTTGCAATATTTTTTGAGGTTGTTTGTTATGGAGAAAGTTTATGTGTTCTTTGCTTCTTTGGTTATATGGGAACCCAGCTGGCCAGAAGAATGGAAGGTTTTCTGGGACAGAGCTTTTGAATAGCCCACAATAGGGCCCCAGTGCCGGTAGGCAGGCCCCGAGGCCCCTAATTTAGTGCAGATAGTCCTTATTCAGCGTATAGATGATTCAAAGCTAAAATCAAAGGGCTGTTCCATTACGTTGTGATCTACAAAACATGCGGAATTTTTCGCCCTAAAAATGTGACGTCATCACGTTCCATGCGTTATTATTTATGAAGCTACCTCTGCGTCTCATTATCCCGCTTGAAGATCTAACGTAGATCAACCAAGCGCCTTACCCCTAGCCTCTAAGCTCACTACCTAGGGCCCTCTAGGACCTTATTTCGGCTTTTTGGACTGGCCAAGACCTCGCAATTGGGCTTTTAGGCTCCTAGGTCCCTCAAGGACCGTTAGTCTTGGACTATCTGAAACGATCTGCGTCTAGGCTCCTAGGGCCCTATAGGACTATTTAGGCCTCTTGGACTAGCTGACCATCTAGATCCTTCTAGGCCTCTAGGGCTCTCTAGGACCATGTTCACTTGTCTATAGGACCTGACTAGCTAAGACGGGCTTCTAGGCTTCTAGTAAGGGCGCTCCAGGACCTTAGCCCTCTGGACTCTCTAAGACTAATTGGGCTTCGAAGCTCCTAGAACCCTCTAGGCCCATTTAGGCCTCCTGGACGATCAAAGATCTTCTGGGCTTCTTCTAGGCCCCCAATTTCTAGGACCTTCTAAGACACCCAGTCTTTATATTCCCTAGCGTCTAGGCTCTAAGATAGGCCTCGTTTCCGCAATTCCTACTAATGGCTTTGGGAGACCACGTCACTTTCTAAGGCCCATGGACTTCCACAGTAGCTTTTCACGACAGCCATTTCCAAGTTAACGCACTCAAGGACCATTTAAGCCTTTTGGGCTATTTAAGACCCCAGATCTGGGCGATGACTCTTTTTTCTAGGCCTTTTGCCCTCTTGGGCGCTCCTGTACCTTCTAAGACCCTGGCCTTTTATCCCTAGCCTCTAATCCTCTAGGACTCGATTCCGTAAATACATTCCCAGTCCTAGACGCTCTCAGGGCCCCTGGGGTAGCCTTTCGGTTGACCATTTCAAACAGGCCGTTCCGCTCCATCTCTCCTTGCTCTCTCGTGCTCCTTTCCTCCACCATGTTCTCTCATTGTTCTGACGGATGGTGATGAGCATCATCATCCTCAAAGCTCCAAAGACAATTGCCATCAATGTGCCGCCGCTGTGATAAGTGGTGTTATTTCGCCGGGACAAAAAAAAAGGGAAAATTCTCCATGGGAATTTGCGACTAACACCTCCTATTACTGTAAAAAAACATCTGGAGAAGGGGGAAACGAACTAAAAAAAAACAAAATAAAATCGGCGTATCAAATTGAAGCTTCATCATATGATTCGTCGCCGTCGTCTGCTCTGTTCGGCAATGATCGTTTGTTCGCGTCGTCAAACTAACCTACTCAATGTCATAAAGAACAGAGAATGAATTCAATAAAACATGACGAAAAAATAAATACATTCAGGTACTGTAGCTAAATCAGGATCACATCTGGAATCGCTCTCAGCCTGTTCGTTTGTGGGAGCTTGTTGAGTATAGGCCGACCACTACGCCGCCGTCGACAATCCACGACGACATATACCGCCACCGACGACTACGTATGTCCCCTGAACTTTAAAGTTGCATTTTTTTTTAAAGGATTAGGGGTCTTTCGAAATAAATTTCAGTTTTGGTAATTTTTTAAATTTAGTTTTATTTTTTTACGGGCTTTTGCGATTATTACTGCTAGAATGAAAGTATGTACATTTCTTGTAGATCAGCAACTTTAATTTCTGATAACCGATAAATGTTCCGAAAAACTCGAAAAAAAAATAAATTTTTCCAAACTAACTAAAAAGTAAATTTATTTGTACAATTCAAAGTTTGTAATTTTTGACAAAATACATTCAGAAATCTTTTTGGAATAGGGGTTAATTAGGCTTGGGCCTAGGTTTGCGCTTGGGCTTGGGGTCAGGCTTAGGCTTATGGCTAGGCTTAGGCTAAGGATTGGGCTTAGCTGGCTTAGTGCGCTGAGGCTTGGGCTGGGGCTTAGGCTTCAACTTAGGCTCAGGCTGAGGCTTGTGCTGAGGCTTGGGCTTAGGCTTAGACTCTCAGGATTAGGCTTGGGCCTGGGCTTGGGCATGGACTTAAAAATGTTTTGTTTTTCAACAATTTGGTTGTTTTTCGAAACCTGATGGTTTTACCGGTATAAAGTGCCTTTTTTTGTACATAAAAATAATTTTTAAATTTTTTAACGTTCCTAAAAACTAAACAAACTGTAAAGAAAATTTTATTTAAAAAGCAATAAAACATATTCTTTTTCAGTAATTTCAAATTTGATTTCCCGGTCATAAAAAATCAATTTTTTATGCAGTCAGGGCCACAAAAAAAATTCGTTGAAAAAAATTCAATTGGATGTATTCTTCGTGCTTGCAAATTCGAGTCAATTTTCTAGGGATAAAATAGTTGTTTATTTTCCCTGATTTTTTGACGTTTTTTCCTTTTTTAAAGGATATTTTAGGACTTTCTGGGATTTAGAACGGTTTAGCCTAGGAGTGATTAAGACTAGGTTTAAGCCTGAACCTGATGGGCCTTACAAGCCTAAACCGAACCGCCTAAGCCTAAGCCTAAGCCTAACATCAAAAAAACCTGAGAATCCCCTAAATGGCGCAACGTCGAGTAGCAAGCTGATGCTCGCCACTGACACTAAGCCTAAGCCTCAGCCTATAACGAATAACAATTTTGGAACAAAAATTGCAAAATCTCCGCTTCTCCGCTTCTCTTAAGACATCGAATTTCCTAAAAATTTTTAGAAAAAAAAAATCCTCGGTCCAAACTGATCTGAAAATTCTATCATATTTAGGCTTTAACAAATTTCACTTTTTTCTGGGAGAGACACTTTCCATAACACCACAAATTCGGCGAGTCGACCTGTTGAGGATCTTGTCTCGACCCGCTCTCTCTCTAAGTGATTATAACAGAGATCCCACACCCACCCACCCACCGTCATCTATTATGTTCTAGAACTTTATACATTATGATCAAAACCGAATGCTACAAACTACAAAACATCGCCACTTTTTCCAAATTTTCGGCACATTTTTGCAGTCCGACCACAACTACAAGCACCAAATCCATGTGAATCATCGCATCCGTTGGATCTGACGCGTCGGCTTATAGACGGGACACTGTGCCGGCTACAATCTTCTCTATATGGCCAGCGACTTTCCCGTCGTCGGCTCGCAATGAGTTTCCTGATCTCAGGGGTTAGGCTCACATTCAACGGACTATGATCGGGAAGAGGTGCCTCAAACGATAAGTGAGCTCTCAATGCCTACCTGCCTACATGTTTGCAGTATCAAAGATATGATGCCTACAAGCCTACCCCCCTACCTTGTCCTACGAGCCTGAACTTACACATTTTCTGTGCCTAACATGCTCGCTATACTTTTGTCTGCCGTTACGCGCCCCCCCCCCCGCCTATCTGCCTCCAGAAGTCTCCATTTAGTCTTTATGCCTGCACGCCTATCACAGGCCTCCCATTTGCTTGCGGTCGAGTCGATTCATGCCTACGAGCCTGCGCCTTACTAGCCTGAATTCGCATTTTTCCAGTGCCTAGCATGAGTCCCTATGCCTGCATTTACGCGCCTTCTCCCCTAGCTGTCTACAATCGCACTTTCTGCCTACCTGCATGCTTTCCTACCTATTCGCAATACTTAGGCGTACCTAACACAAGCTTAGCGACTACAAAAGCCTTCCAGTGCCAACCAGCTGCATGACTGCGTAGCCTTTCGCCTGCTTAGGTGCCTACCATAATCCTCCCTTTTGTCGATATTTCTACGCGCCCATACCTACATTCCTATCTTGTTTGAATCGATACATATCATGCCTACGCACCTACCTTGGCCTACCTTGGGCCTACACTCCTGAAATTGCACTTTTCCTGTGCCTAGCTCGTACACTATACTTATGCCTGCCTTTAGGGCTTTCTCCGCGCTTATCTGCCTACAAGCATACCTTCTGCCTCCTTGCATGCCTTCTTATATTAGCCTGCTTACCCGAACCTACCACAAGCCTGGCTGCCCAAACTTCCCTTCTGCCTATATGCCTACGCAACTCCTGCCTGCCTATACGTCTACCTCATGCTGTAAACAGACCTGCCTTGTACCTACCTATGCGCCTAAAGATTGGCTGTCTCCTACGTCTGCCTGGCTGCCGGAATATTTTGCCTATAGGAATTACTGTCAGTGCGTCTTTACCCAGATCCTACCTTTAGGTAGACGTCCCCTAAAGCAACCGCCTGCAAGTCTATCACTTCGCCTCACGCCTCCTTGCCTACCTACACACCTCCCTTATCCCGGCTTTTCCACCTGCCTATGCCTATCGCATGCCTACCCTCAAGACCTGCAAACGTGCCTAGCCGTATGCCTACCTAACTTCGCGCCTACATATGCCTCCCTTTCAGATCGAGATTAAGTCGGAAAATAAAACCGGCCAAGGCAGTAGCCTCCTTGCTGGGACGAGGAAGAGTGGGAGGAGGGCGAGACGGAAACGAGCCATCAATGGAAGGATACAGATGATCGCTATCATGCGAGATACCGGAACACGTCATATTTTGGTAGGTGGGTGAACACAGCAAGTGCGCTCCATGGCGCGGGACACTTTTCCCGCGCTTTTTAGGTCAAACACGTAATTTTTCCAGTAATGACTGTGGCGGTGGAATGCGATGATGAGACTGGAGATTTAACAGTGGTGGATACTCGTTGTACTAGGTGCCGTGCTGTTCGACACTTGCCATCCACGTATTGTCCACGTTTAATGAGCTGATTTGCTCGCAGAAAGCGTGTCTGCGAGAGGAAAATGCATACAACGGGTGATGCCGATGAATATGTAATTTTTTTGTTTTTGCAGTGGAGCGCGTTTGTACTCACTCCACGAGGAAATCACGTGGTGTGAGAGTGTCTTTCGGATTGATCTACAAAAAATGCGGTAGAAGAGACACAGAGTTCTCAACTGTGGATTATTAAGAACGTGCTCACGACAGACATTTTTATGGGCAAAAAATAGGCATCCCGCATTTTTGGTAGATCAAATCAATTGGAGAATAGTAAACCTTTTTATTTGAATATGATCCTTTAAAGAAAAAATAGAAATTTGACTGAATTTCCCGCCAAAAAATTTTCGCAGGTAAAAATTTAAATTTCCCGGGAAAATATTCACGGATATCCGGCTTCCCTCATAAATTGAAATGCAAGATTTTTTGCCGAATTAGGCCAGCCCATATCTGGGGTATATTTTGAAAAGGCTGCGTGTCGCGTCGCGGCTCGATTTTAGTTATAAAAGTAAATATATACGCATTGTCCGTGTGGAGTACAAGACTTTCCCACGCGTTGGTGATTGTCAGTGCGAAAAATTCGAAAATGAGGAAGGCGAGAACCTCGTGAATATTTTCTCAAACATTTTGTTTTTGGAAATAATGTGCAATCGCGCTCTAACGCAGTATCCAAAACTTGAGGCTTCTGGCGGAAAACTCGAAAATCAATTTTTTGCTTTAAAATCGTGAAACAGACGAAACTAGTCGCATAATTCAAATTTACGGTATTGCCGCGCCAGTGCGGTGGATCACGTTTGCACTTAAGAAAATTGGTGAAAATCAAAAATTTGGTTTATTTTTGGCAACTATATTTCATTCTCTATTAAATTCATACTGTACACGTGGAAAATCATTGATTTTCCCGAAAATATAAATGGAAGATGCAAGCGCGCCCTATTGTGGTTCGTTAAAATTCGAAGCGTAACTGAAATCGAAATTTTTTCTCGAAAAATTGCAGTGTGCCCGTTGTAAAATATCGTTTTTGGAAAATTTAATATTTAGAAGTGCGGATGCATCCTATTGTGCGCTTCCAATAAACTTACACGCTGGCATGGGATCCGAATTTTCGCGTCGCTTCCATTGACAATCGCCCGTCTACTCCACAAGGACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCGCGACGACGCAACGCGCTAAATCTACCCCAGATATGGCCTCAGGCCTTCTAGTTCGGCAAAAACTCTTCCATTTCAAAATATGAGGAAGGCCAGAACCTCGTGGAAAATATCGATTTTTCCGTTTCCACGTGGCCAAAGGAATTGCAAGCGCGTTCCAGGAACGTGAACTCGCACATTTTCCATTTTTTGTTCTCCGAAACGTGGGTACACCCGCGAGTGTGCTCGCTGGCAAATGAGCCAAATCGACGTGCGAACGTGTTGTGATTGTATGCTCAATCCGTCATCACCACTGGTCACCTATTTATGAGCGAAAAAACCGGGGAAAAAAACACACAAAGACAACCCAAAACTCAACAAAACAAATAATTTTACAGGATTCAACGAACACAACAAAAAAAAGAAACAATGGCAATTAAATACGGAAGCTGCTGCCAAATATGCTGCCAAATTCAAATTCTCGCTAGAACTTGTACACACGATCTTTATTGAAAACGGTGATCAACGGGCACCCACCACTCTGACCTTTTGAAAATAATTGTTTTAATGATTTGTGTCATTAAAAACCTCGGCCACGGCCGCGACGCCGCCGCTCCGCACGCAGCTGCGTCGGCGGTGGGGTGGATCCTGAACTTATCCCTCCAGCTCGTTATCGTCGTCGACCACCTCGAACAGTTAGCCTCAAATAGAAATCTGAAAAAAATTAATTGGTTTATTCTTTTTGAAAATATATAATTTTATGTTTGGGCGTCTTTGTGGCCTTCCTCATTGCCTTTTTCGCGCGCTCCATTGACAATCGCCCCCCTATGTACTCCAAACGGACTAATCACATCTAGTTTCACAAACGAACGACACGCAACGCGCGTGGCCTAGTTCAGAAAAACTCTACAATTTCAATTTATGAGGGAAGCCAGAAATCCGCGTGCGTTTTATTGATTTTAATTGATTTTTTTACTTTCGAAAATCCCGTTCCGGAGAAGCACAAGGTTTTGCGCGTGTCGGCGATTCGATCCCTCGCTTTACCCCATTATCTGCAAAAAAAAGTACTATTTTTTTTTGTGTAAAATTCCCAATCTGCGAGGGATCTACAAGAAAAATTTTTTGTCCTTTTAATATTTTAATGATTTTTTCAGAGTGATCACATTCTTGCAGATCCTCTTTTCGTGGGGCCTCATAATTTTTCAGTGCTTCACATTTATTTAACATAAAAGTGATTTCTTCATAAAAATTTGAATTTTTTGCCCAAAAATCGAGAAAACCGCCGCTCCGGCTCTTCTTCCGTGCGGCACTGTGCTTTTTGCAAGCTGGGCACAGTATTGTAGGCTTGAGTATGGTCTTCCTTGAGCGCTTGAGTCAACTACGAAAAAAAAAAAGGACTTTCTTTTAAATTTATGTCGGAGATACCACATTCTTGCAGATCAGGGGATCTTTTCGCGGGCTTATTTTTCAGTGCCGCTCGGAAAAAGAGGCGGAACGTCGTGACGCACGGTTTTTTGTCACGATTACAGTTTGACTAAAATTGTTGATTTTGGATCATTTTCGTTGATTTTTTTCGAAGCTGATTTCGGCAAAAAAAAAGTTTTCGCCTTTTTTTGGACAACGAAGAGCCAAAATATCAATAAAAATGAAAAGCTAACTTCATAAATTTTTTAGGATTTTTACATTTTTTTTTTTGAATTGAAAAATGTTTTTTTTAGGTGTTTTTGGTGAAAAAAACTACTTTTTTTAGCTAACAAAAAATATCAAAAACTAAATGACCAAAAATCGGAAAAAAAAAACGCCGCGCCGCCTCTTTTTCCGTGCGGCACTTCGCCATTTGGAAGCTGGGCATGGTTTTGTAGGCGTTGTCATGCTGTCATTACTTGAGCGCTTTGAGGCAAAGACTTATGGGAGAACGGTGATTTAAATCCAAAATTGTCCCGGTGGCGTTCAGGAAGAGACGCGGGGGCTTCTGAAAAAAATTGTTGAAAGATGCAAAAAATCTGAAATTTTAGAGCATTTTTCTGAAAAAAATGCAAAAACCGAAATTTTTGAGCATTTTTCTGAAAAAAACGCTAAAACTCTGGAAGCGCATTTTAGATCATTTTTCTGAAAAAAACGCTAAAAATCTTAAAATTCTGAGCATTTTTCAAAAAAAAGATTCTTGTGCACCTCTGTGAAAACTTCATCCATGATGGTAATTGAAAAATAACAACTGTCCAAAAGCATCGAATTCACAGTGTCGAGTTGGAAAACGCCGACATCTTCGACTACCCTAAAATGCTCATAATGGGGAAAAGCTCTAAAAGCATCGGTGGGCTTCACGCATTCCTCGCGTTGTGTTCGCTCCATTCACAATCGCCCCCGTGTACTCCACGCGCACAAGTGCATTTAGTTTTAAAACTAAATCGAGCCGCCGACACGCAACGCGCCGTAAATCTACGAAAAAAAAAAGGCTTAATTGTTGCTGAAAAATCGATAAAACACGTTAAATTTAATCAGAAAAATCAATTTTCGCACAATAAAATTCGCAAAAAAAAAAAATGAAATTTTTTCGCTCATAAAATTTGGCGATGCTTCAGTTTCGTCTTAGGTTCACCGACCCGAAAAATCAAATTTGACGCGCAAAACTTGAATTTTCGATTGATTTTTGATGAAAAATCGATAAATTACGGTCAATTTAACCAGAAAAATCAATTTTTAACGAGAGAAGCCAGAAATCCGTTGAAAAAGTAAAAAATCAAAACACAAACATTCGAGAGAGTCTCTACAGATGACGGAGACAGGGAACGCATTTTTTCAGAATTTTTCTGCAAGTTTAGGTCCAAAACTGACGAAATAGAAGACACTCCGGGAGCACACTGGCAATGTCATGAAAAAAAATTAATTAAATGCTAGATTTTTAGCATTTTTTCAAAAAAAATGCAGTAAAATTTCAGATTTTTAGCATTTTTTTCGGAAAAGTACACTGAACATCATTTCAGATTTTTATTTATTTTTTTTTGAATGCTACAGACCGAATAGTTTGCCAGGCATTCGAGGAGGAAATCGGCGATGAACTCTGCCACGTCGCGGCATTCGATGGGCGGGGGCTGAAAATATGCAATTTTTTGGCCTAAAATTTGGTTTTTTCTGGAAAATTCTCTTACCCCGATAATGGGAAGGTTTTCGTCTGCGGAATGCTTAAACTAACATACAGCCCTCGGAGCAATTCTCCACGAATTGGAGCCACCTCCTTGGCTTAAGTGAGAGATCATAGATGAAACTGAGCCGCTTCACCATTACGATGCTCTTGCAGCGTTCACGAGCGTTCAGCGTGTTTTTCCAGGATACTCTGAAAAAAGCGCTAATCCTTAATTTTAGCCAAAAAATCCATTACTCAATTTAGCAAAACAATCCGTTAATTTTAGCCAAAAAATCCGTTAATTTTAGCAAAATCCGTTAATTTTAGCCAAAAAATCCGTTAACTTTAGCCAAAAAATCCGTTAATTTTAGCCAATAAATCCGTTAATTTTAGCTCAAAAAATCCGTTATTTTAAGTCAAAAAATCCGTCATTTTTGCCAAAAAATTCGTTATTTTTAGCCAAAAGTTCGCTAGTTTCGGCCAAATATAATCCGTTAATTTTAGCCAAAAAAAACCGTTATGGGGTTCCAAAAAATCCTTTAATTTTAGCCACAAATTCGATATTTTTAGCAAAAAAAATCCGTTAATTTTACGCAACGAACCGTTAATTTTAGCCAAAAAATCCGTTAATGTAAGTCAAAAAATCCGTTAATTTTAGCCAAAGTACAAATCCGTTAACGTTTAAGTCAAACCATTTTAGCCAAAAAATTCGTTAATTTATAGCCAAAAATTCTAGTTTCAGCCAAAAAAATCCGTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCTTTAATTTTAGCCAAAAATTCGATTAGCAAAATCCGTTAATTTTAGCCAAGAATCCGTTAATTTTAGCCAAAAGTCCGATAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAAAATCCGATAATTTTAGGCAACCGTTAATTTTAACAAAAAAATCCGTACTTTAATAGCCAAAAAGAAATCCGTTAATTTTAGTCAAAATATCCGTTAATTTGCCAAAAAATCACCACGTTAATTTAAGTCAAAAAATTAATTTTAGCCAACAAAGACCCGTTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCCAATTAAAATCCGTTAATTTTAGCATCCGTTAATTTTAGAAATCCGATATTTTTAGCAAAAAAAACCCGTTAATTTTAGGCAAAGAACCGTTTAGCCAAAAAATCCTTTTATTATAGCCAAAAAAATATTATGTCAAAAAATCCGTTAATTTTAGCCTAAACAAATCCGTTAATTTAAGACAAAACCGTTAATTTAAGTCAAAAACTAATCCGGTAATTTTAGCGAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCTCTTCGCCAAAATTTCGATATCTTTAGCAAAAAGAATCCGTTAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATCCGTTAATTGTAGCCAAAAATTCGATATTTTTAGCAATAAAAAATCCGTTAATTTTAGGCAAAGTTAATAGCCAAAAATTCGATATTTTTAGCCATAAAATCCTTTAATTTTAGCCAAAAATTGCTAATTCTTTAGCAAAAAATCGCTATTCGGCGTTTAGCCAAAAAATCGGCGTTAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAACTGTTAATTTTAGCCAAAAATAGACCGTCGATTTTAGCCAAACAATTAGATTATTTTTAGCCATAAAATCCCTAAATTTTAGCCAAACAAATCTGTTATTTTTATTAAATAATTCGTGAATTTTAACCGGAAAGTCCGTTATTTTTACTACAAAAATAGCGAATTTTCGCCAATTATAACCAAAATCTCTCGATTTTTTGCTCAAAAATGCACCTAATGTGCGTTTTTCCTTTTTTTTGGCAGTTTCCCTACTTCAATAGCGAGTTTGCAGGCACGTCGTCGTGCAAATTTTGACTTCGATTGCAACAGAATCCAGCAGAATTCGATCGTCAGTCACTTAATACATTCCAAACAATTTTCAGATCCTTTATGGGCACTTCGATGTAATCTGAGAGAGCAAACACGTTAGAATTGCCAGGGTTTACAGCCCTCTTTTAATCACCATCCAACTGGAACGCGAGGTCCATCTTTGGCTGCCATACCTTCACCCGCTCGCCGCCACCCTTGCAAATGTTGTGGATAAATTGAACGGTTCACTCGAAATTCTCCAGATCGCCGTGCTCGACGAGCGCGTTATTCGATGGGTGTGCTCTTTCCGGCTTCTTTTCCTTCTGAAACTGCTGTTTTTCCTTTTTATTTTTTTATGTCGCAAAATTTTTTTTCCGAATTTTTCACGGCACCAACCTGAACAGCGAATCTTCGAAAAGAGACGAAGCGATTTTGGGCTTTTCAAATTTGAAAAATTCAAAGAAGTTGTCACGGAACTAGCCATTTCGAAGTCGAATTGATTAAAAATCAAAAGCAAAAAATTTCGATAAAAAACAGTGTCCGAGAGGAGTACACGCTTAGCCGGGGAACCATGCGCGGGACTCGCACGGAAGAGACGAATTGAAGAACAGCTCGTAAATCCTGTTCCACGCTTTTTTTTTAATTTTTTCAATTCTACTTTTTTCCCAGAAGTTCTTGAAAATATCCTTTTGCAAATTTTTCGGAAAAATGCTCTAAAATTTAAGATTTTTAGCGGCGATTTTTTTCGGAAAAAAATGTTAAAATTGCAGATTTTTAGCATTTTTTCACAAGAAATGCACTAAAATTAATATTCTTAGCATTTCTGCGGAAAAAATTAGCTAAAAATCTTGCACATCAAAGACTGAAAAGAATTTGTTGTAATATTGCATGGATGTTCTGAGGTTTTACATCAAATCTGGGTTCCATGAAATTTGACGTTTTTCACTGAAACATTCTACAAAAATAATTTCTGCGCTCTCGCAAAAGTTAAGATGAAATAATCGCCAATTTTTCAATAGTGCACAGAAACCGTCAGATTTTTAGCATTTTTTCGCAAATATGAAAATTTTAGATTATTAGCAATTCAGAATGCTCTAAAATTTAAGATTTTACCTTTTTTGAGAAAAATTCACTAAAATGCAAGATGTAACTTTAAACATTTTTTTGCAAGAAGCTCTAAAATCAAAGTTTTTTAGCATTTTCTTCGGAAAAATGTTTGAAAATCCCTTCGTTAACGCCTTTTTCGCACTAAAAGATGCTCAAACTAGTTTAAACTTTCAGAGTTTTCCCATGCTTTTGCCCCCTCCACTTCACAAGAAACAATGAAACGAATATGGCGGGATAAAAGCGAAAATTCGGGGAAAACATCATTTTCAATGCATTTTTCATCGCGAAAGCCGAATTTCATTAAAAATGGCCAATTTTTGTGCCAGGTTTCCCAATTAATCTTGTATTTTCGATTAACTCAACCCCTGCGCAGAGAAAATCACAAAATGCAATTGTTTGTGTAAAGCACTTCTCTGCGCGTTTGCGGCATCCGATATGACGAGCAACATATATCTTTTTTCTGGAGCCCTTTATTTTAAATTTATCATTTTTCATGCATTTTTTGAGAAAAAAACTCCCCCAAAATTAACCTAGAAGCCTTGGAAATGAACTTGAATTTTGTGAAATTTGACGTTTTTCAGCGAAAAATTCTCAATCTTTAGTGCATTTCTGCCGGAAAAATGCTAATAATCTTGAATTTTAGTGCTTAGTGGAAAAAACGTTAAAATCAAAATGAAAGAATTTGAAATAAAATCAGAGGCTTTAAAATTTAAGATTTTTAGCATTTTTCCTGAGAAAAGCTAAAAATCTAATTTTTATAGCTTTTTTGTTGAAAAAATGCTAAAAATCTTAAATTTTAGCTCATTTTATTTCAAATTCGACATTTTCATTTTGTATTTAAGAAAAAATAACCTCAAGGTCTGAAAAATATCGAATTTTGAATGAAATTTGACATTTATCAGCGAAAAATTCTCATTTTTCCGGAAAACATGCTATCTTGTAGTGCATTTTTCCTGAAAAAATGCTAAAAATCTCAATTTTTAGTGCATATTCCCGGAAAAATGCTAAAAAATAGTTCTTAAATTTTAGAGCATTTTCCAGACAAAATGCTTAAAATCCTTTTCAGAGAAAGGCTTTATTAATGAAAAATTGCGCTAAAAATCTCTCTAAATTTTAGAGCATTTTTCTCGAAAAAACTTAAAATCTTGAATTTCAGTAGTAAGCATTTTTTTCGGAAAAATGCTAAAAATCTCAATTTTTAGTGCATTTTTCTGAAAAAATACTAAAAATCTTGGATGCTAGTTTTAGAGCATTTTCGCTGAAATATAACAAAAATTTTAAATTTGCATTTTTCCGAAAAAAAAAACGCTAAAAATCTTGTAATAACTGACAAATTTCGAATTTTGAGTAAATTTTATGGCATGTTTTTCGAGGTTTTTCCTTGCAATTTGTTTTCACCTAAAAATTCGACAAAAATGAGCATTTCTGAGCTCTTATATGGCAAAAATTGACAAAAATCGTCAATTTTTCAATAAAAATTGCCCAAAAACCTTAAAATATTCTGAAAAAAGCCGAAAAAACCCCATTTTTTAGCCATTTTCTATAGTATCTTACATTGTTCTCAACTTTCTTCACCTAAAATCGCCGGAGATATTAACATAAAATACCCTTTTTTTTCAGCGCAATGGATTATGAGCCAGGAGGATGAAGCAGCGAAACCAAGATCCGAAGATTCGCGATTGGTAAAAAGTGGGGATTTCCGTGAAATCAAACTCGATTTTTTGTGAAAATATAGAAAAAGCATGAGTTCACAACTGCTCCAAAAACCGAAAAATTTCACTAAAATCTAGAATTTTTGCCCGACTCGAAAACATCAAACGCAAAAATCGCCAAATTTGTGAAAACTAGATTTTTATTTTTAAAAAATTCTAAAAGTTCATAAAAATCAAAAAACCGGATTTTTTTTCTTAAAAATTCTGGAAAACTGTCTAAAAATCTACTCAAAATCAGTTTGTAGAAAATCTGAAGAATAGTCTAAAAAGAATTAATAAGTTGGGAAAAAATTTGAAAAATTACGAAAAAAATCAATATAAAATCGGTTTTGAGCTTGGGAAAAAAAACCCTGAAAAATTGTCTAAAACTCTATAAAAAATTGGATTTTTTAAATAGAAAATCTCAAAAACTAAGAATCAACAAAAAATCGAATTTTCCGGTGGGTGAGAAAACCTGAAAAATTATCAAAAACTTGGTTTTTATCAGAACATCTGAAAAATTACCTAAAAAGCAATAAAACATCAGGGGGTTTTTTTTCTGGAAAAACTGTAATATAGCCTAAAAAGCAATTTAGAAAAAAGTTTTTTTTTTTATAGAAACTACTGAAAAATTATCAATCAAAACCACGAAAAAAGATACATCTTTCGCTTATGTCCAAAAATCCCAAAATTTGCATTAAAAACTAGATTTTTCCGTATTTCAAAAAAATTCAAATTGCCTGAAAATCAATAAAATTGTTGTTTTTTTTTGGAAAGAACAACCCAAATTGGCTAAAAATCCGCAAATTTTTATGCAGCTCAAAGAACGAGAACTCAATGGTCGCGAACCATCAAGCTTTTCTGCCTCCTGGGAGCCGGCGACTCTGGAAAATCGATTTTACAACCAGATGCGTATCATTCACGACGTAGGATATACGTCTAAGAGAGAATAGTGTTCAGAGGCTTGTGGAAATATTATTTTGGTCAGTGCTCCGATGCACTGAACAATTACCGGAAATTGGCAAGACCAAAATTCGTGGATTTTAACCAGAAAATCCGAATTTTAATCAATAAAGGCTAATTTTAGCCAAGCAAAAATTCGCTATTTTAACCAAAAAATCCGTTAATTTTAGTCAAAAAATTCCCTCATTGTTAGCCCAAAAATCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCAAAAAATGTCGCTATTAGCCAAAAAATCCGTTAATTTTACACCGGCAAAAAATCCGTTAATTTTAGTCAAAAACTAGCTCCGCTACTTTAACCAAAACATCCGCTATTACCAAAAAATCCGTTAATTTTCGGCAAAAAATTCGCTACTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCGAATATTTTTAGCAAAACATCCGTTAATTTAGGCAAAATCGCTCATTTCTAGCCAAAATATCCGATAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAATTCGCTGTTTTTAGCCAAAAAATCCGTTAAATTTAGACAAAGACAAATTATTTTTAGCCGCACGACAATTCACCAATTTTCGTTTAAGATCCAATTTTTGACAAAAAAATACACCGAATTTACTCAGACGCAAATTCTCCCTTTTATGGCTAAAAAATGCATAAATTACACAATTAAACCAAAAATTACCCAATTCCCAAAAACTCTAATTTATTTACCAAAAATTCTCCTATTTTTTGTTGAAAATTCTCCAATTTTTTTGCCAAATTTTAACAGAAAAATCTATAAAATATCAGGCGAACCTAATTTTGGTCAAAAATTCACCTATTTTTGTTCAAAATTCTACTCACATTTTACCCAATATCCACCAAATTTTAACAAAAAAAGCTAAAAAATTATTCAAAAACCTAATTTTCGCCCAAAATTTTCCATTTTTACTCAAAAATTCCGATTCTCTTTTTAACCAAAAAATCTAGAATATTAGGTGAAAAATGCCTAATTTTGGCTTAAAATTCACCGATTTATGGCAAAAAAAAGCCTCCAATTTCTGCTTAAAACTTCTCTGCTTTTTACCAAAAAACTCTAAGATATTAGGCGAAAATCACTAATTTCGGCGAAAAAATTACCAATTGACAAAAGAAACTCCAATTCCAATCACACAAAAAGTTCACAAAATTTACTCAAAAATTGTCTGTTTTTCACAAAAAAAAAACCTACAAAATTAGGAGAAAATTCACATCAATTGCCAAAAAATCCCTAATTTTGGCCGAAAAATTTGCCAATTTTGTTAATTCAGTCCAATTTTCGACTAAGAAAACCACGTGCCATTATTTTCAGCAAAAAGTTGACCAAGTTTACTCAAAAATTGATACAAAAAAAGTCTATTAGGCGAAAGATCCCTAATTTAGTCCAAAAATACACCGATTTTTGACAAAAAAAACTCTAATTTCAGCAGAAACTTCAAAACCATAGCCACAAGTTCACTGTTTTTTACCAAAAAAATAGAATATTAAGAGAAAATCCCTAGATTTGTCCAAAGAATTAAACAAATGCCAAAAATGCTCTGTCCGTTTTTTACCAAAAATTCTAGAATGAAATTTTTTAGGCAAACAACATCCCTAATTTTTCCCAACAAATTCACCGAATTTAATCCAAAATGCTCTGTTTCAAAAACTCTAATTCCAGCACAAAATTTACCAAATTATAGCCAAAAACGCTCTTTTTTTTCCAAAAAAAATCTAAAATAGCTTAGGCGAAAAATCCCTACAAGATTTTGTCCAAAAATTCAGCAGATTTTTGACAAAGAAACCTCTAATTTCAGCAGAAACGTCACCAAACTTTCATAGCCAAGCAAATTCACTGTGTTTTTTACCAAAAAAATAGAATATTAAGAGACAATCCCTAAATTTGTCCAAGAAATTAACCAAATTATAGTCAAAAATGCTCTGGTATTTACCAAAAATTCTAGAATATTAGGTAAAAAATCCGTAATTTCCCAAAAGATTCACCGAATTTACTCCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAATTCCACAGTCAAAATTTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCGAAAAAAAATCTAAAATATTAGGCGAGTGAAAATAATCCCTAATTTTGGTCTAAAAAATTACACCAATTTTCCCCAATTTAAGCTTAAAATGTTCAATTTCTAACCAACAAAAAAACTCCCAAATTTTAACCCAAAAATTCCCTCGAATTTCACCCCAAAACCGTCCAATTTTCCAGTCTTTCAACGCCAACACAGGCTATGGAGCAGTTAAAAATCAGCTTCACACACTCGATAATCAGATGCCCGAAAGCTTCTAATGTTCAGCACAACAGGCGAAGAGGATGAGCTGTCGAGGTCGTCGGGCTCATGAAGCGTGTTTGGTTCGGGAATTCAGAAAGCGCTCGAAAGGTGGCGAAATTTCGCTGAAAATTGAGAAAATTCGAGGGATTTTCGCTGAACATCGAGAAATTTCGGTGGAAATTAGCTTATGTCCATGAAAAAATCGTTAAAATCCCAGAAAATTGCGATTTTGACTATTTTTGAGCATTTTTCGCCTTTTTTCCATGAAAAATTCAACGAAATCTTTAGGTCATACTCGCTCTCAGGAAAATTACCGCGTTTTTCGATGAAAAATTCGTTGATATTCGTTGAAAATTATCTATTAGAGATAATTAAAATTTAAAATTCCAGACAAAAAAATATTTTAAAATAATTCGAATTATTTTTGGCTCACACTTTCAAAAACCTCTAAATTCTAAAAAAAAAATTTTGGAGCCCCTTTTCCGGTCTAGAAAATATTTATTACCCAATGATCAAAATCCGGGAAAATTCAGAAATATTTAAGTTTTTGGCTATTTCTGACCTCACTCTTACTCCCACACAAAAATAGTTTTACCAAAAAAAACGGTAACAATTTTTGTCAAAAATTCGACAAAAAAAGTACCTTTCTGGGAAATATTTTTAATAATTTTCCCCTGTTCCGAATATCGATGTGAAAAAATTCAGAAAAATTTTCCGCGATTTTATATGATTTTTTGAAAATTGAACAAATTTCAGTTTTCCCCCCTAATTCCTATTTTAGTTCAATTTGATTTGTTCGATGGACTTGCACACGTTTTTATTAATCTATTTTATTTACTTTTGTTGATTTTTCCACCTCCCGATTTTTAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGCACTGGGAAAAGTCAAAATAAATGCAATTTTCGATTAAAAAGCACGCTGCCCGGCGTAAAAATGAATAACGACTTTAAACGATTTCAAACCTGAATTAATTAATTTCACTGATTTGCGCATGTACGCGTTCGTAGATCAGTGAAATTAATTAATTGAGGTTCGAAAACGTTTACGGGCAAAGCACTTTTTAATTTTTACGCCTGTAAAGCGTGCTTTTTAATCAGAAACTTGCAATTATTTTGACTTTTTCTATAAAATTCAAGCAACAAAAAATACACCGAAAGCATCAAAAATCGATGGAAAATAACAAAAAATAAAATTCTTTAAATAAATTTAAAATTGCGCGAGCGCGCTCCATCGAACAGAACACCGCGGTAATTCATATAGGAATTAGTCAAAGACTGAGATTTTTGAGGCACCACGTTACGGTTTGAAAATCTGTTCCAAAAAGAAGTTCTACGTTTTCGGGATCTGGCACCGTGGCAACTGCGGTTTTCTCGATGAAAAACGTAACCACGATGCGATGTTACGCGTCGCGTGTTGTTTTGCGTTCAGAAAGTACATTTTTTGAAATTTTCTTCTTGATCCTGAGAAACGCTTAACGACACGCAACGCGTAACAGCGGAGCATCGATGTTACGTTTTTCATCGAGAAAACCGCAGTTGGCACGGTGTCCGATCCTGAGAACGTCGATCTTCCTTTCGTAGATTTTCAGAATGTAGATCTTCTTTTGGTAAATATTCTTTTCGTAGATCTTCCTTTCGTCGATCTTCAAAATGGAGATCTTCTTTTGGTAGATCTTCGTAGATCTTCTTTTCGTAAATCTTGTTATTTGAGCGTAGATCTTGCTTTTTGAACAGACGATATTTAGAACGTGGTGCCTCTGATCAAATTTCAAAAAAGCATATAAAATTGAGAAAATTTCCACGTTTTGAATTTGTTTATCAGCATATTTGGTCATTTTGGTACCATATACCCCTTTCCCCTGATTCCGAACAATGTGAAAAAATCGCTTCAAAAAACAAATCCCTGATTTATATTTACGCTTGAAATTGCGCCGAGTGATGTCAAATACGCGCGCATAAATAAATTCTCGACTTGGAGCGCGTTTGCCTCATTTAATTCCTTCTCCATATTTATTTTTACTTTTTTTTCAGTTTTTCACAGCTATTTTCATTCATTGTTATTGTATTTTATAGGTTTTTTTTATTGAAAAATAAATTTTTCCGTGTGAATTGAAACATTATTTGCATAAAAATGAATGAAAATAGCTGAAACACTGGTCCCAATAAAGTAAAAATATAAATGGAGGAAAATTAAATGAGGCGAACGTGCACCAAGGATAATTTAACGCCTTTGGGCGCGTAAAAAATCTCATGTAGTAGGCATGAAATTTAGGCGATTTCTAGCTTAATTATAACAGGGCGAAATTTTTTTTTTGATTTCATCGATATTCGAATCAGGGGAAAATTTGGAGACCTGTAACAAAAGTTGTGTTATGAAAAAAAAATGTATAATTTCTAAGGACAACTTTTTTTTTGTAGTTCTGATCACGCGAATATCACCTCAACGATTCGGCCGTCTGCTATCAGGGCAACGCGACAGGTGCTCCTAATTACATTCCCACACAGGTATTTTTCAGTGGAAAATTCACAAATTTTTCCACTACTTAAAATTCAAATTTCCTTTGCAGGATGACCCGCCCAAGAATGAATACAACAGGAATCTTCAGGAGACGCAGTCGTTGTCAATACAGATCGCCTATTTTTGTAGATGGGGGAAAACTAATTTTACAAAATTGAAAAAATCGTCGCCGAAAAGGTCTTGAGGGTTTTCGACGTTGGTGAACAGCGGTCCGAACGAAAAAGGTGGATTCATTGCCTCGAGGACGTGACGGCACTCATTTTCTGCGTTGCACATATGTCAGAATATGATATGGTTCTTGTCGAAGATTGGCAGTGCGATTTTCGAGTTTTTTGCTTTTTTTTCGTTTTTTTCCCAAGTTTAGGCTACCGTTTTTAGGTGAAAATCTCGGTTTTCTTGGTTAAAATGGTTTTTTTTTTGGCAAAAAACGCGCAAAAATTGAGGATTTTAGCGTGGCGTAAAATTGAGTTAATTACATGGAAAATTTCAGAAATTGAGTTAAAATTGTAGTTTAAGGATTTATTTTTGTGATTTTCTCGATTTTTGACCGTCGAAAACTGTTCGGAGTGAATTTCATTTATTACGCGCGACCACAAAATGCTGTGAGACCGCGTATTGCACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTAAAGTAATTCTATAAATGACTACTGTAGCGCTCTGTCGATTTACGGAAATCGTGTAATCGATAAAGTATTTTGTTTAGAAAAAACACAAAAATGACAAAAAAATACGAAAATTGAATTGTTTCGAATAATCGGGTCCCGATCCCGTAAATCGACACAGTTGCCATTAAATTAAATGAAATTAATCATGTGTCGATTTACGGGACTCTCAATTGATATTCGAAACAATTCAATTTTCTTTCGTTTTTTTTTGTCATTTTTGTGTTTCTAAAAAAAGTTATACTTTATCGATTAATACACGATTTGCGTAAATCGACCCACAATGAGCTACACTAGTCATTTTCAGAACTACTGTAGTTTTCGCTACGAGATATAATTGCGCATCAAACATGTTGTGCATGACGGATTCTCAGCATCTGATTTTGTGGCAAGTCGCGCGTATTGAAAAGCTAAATAATCGATATTTTCTGATTTTTGCGCCGAATTTAATTTTTCTTGTTTTTTTTTCTGCGAAAACCACATTTTACTGACTAAATTCAGGTTCATCCATTTGTGCAAAAACTCCGTCGACGAAAGTGTATTTTAGCGTACTTTTAATTTTAAATTTTTTTCGCTCTGAAAATTATGAAAACAAAATTTTCTCGATTTTTGAACCGAATAAAACGTTCAAATTTCAATTTAAATCGAAATCGGGAAAAAATTTTCCGATTTTTACACCGATGATTATCGCTAATTTTTCCCACACCACATTTTTTGCGTTTCAGAATCGTATGCTAGAATCGCTAAAACTGTTGGACCGATTTGCAACAATAAATGGTTTGTCGAGAAGTCGATTATTCTATTTCTCAACAAAAAAGACTTATTCGAAGAGAACATCGTTAGAACTCCACTCATGCTTTCCGGAATATACGGGCGCCAATAATTACGAAGAATCTGGGTACATTCAACAACACTTTGAGGATAAATGAATAAGAGGACTCCTGCAGAGAAAGTTGGTGGTTTTTTTGAATTCACTGCACTTTTTCTCCTCACGAGGGGACGAGGAAAAGTGGTTTCTAGGTAATGGCCGAGAGGCCGACAAGTACTTTCCAGCAACATGGCCAGCGCATTTAATCTTCACGAGCTTTGTTTTCCGCCTGTTTGCGTCTTTTTTCATCGATTTTTTTCGTTTTTTCGTGAGTAAAACTGATAGAAAATAAGTATTTTTTGCCGATGCTAAAACAATTTCCCTCAAGTAAAAAGATCATGTATTCAGGCGGCAAGCCGGGTGAAATGGGCATTGTATGATGGATTACGGGAATACAAAACCTAAACTTTTTCTGAAACATGAAACATATGATGCTTAGATGCTGAAATTACTTGATTTTCATAACGAGCGGACCGGACCGCTGAAAAGTTTCGGGCTCAGGTTTCCACAAATCAACTTTTTGTGCGAAAAGCTAGACTTTTTCACCACAAAAAGTTGAATTTTGGAAACCTCAAAACTTTTCAGCAAGGCGGTCTCGTTATGAATATCAGGTAGTTTCAGGATTTAAGCAGCATATGTATCATGATTCGGAAAAAGTCTAGGTTTTGTATTGCGGTAATCCATCATATTGATTGCACATTGTTTCTCCGTAATCTGCTTGCCCACTGAATGCATAATTTTTTTACGTGGATATTGATTTAGCATCTGCAAAAAATATTTATTCATCAGTTTTATTAAAAACGAAAAAAATCTGACGAAAGCGGGAAAACAGGCGGAAAACAAAGCAAGATAAATGGCAAACTTGTCGGACCCTCGGCCATGGCGTAGAAACCACTTTTCCAAGTCGTCCCTCGTGAGGAAAACCATGTTGAAGTGAGCAAACTCAATTTTTGAATTTATTTTTCATGGAAATCGGAAAATCTTCAATTTTTCCTAATCAATGCCATCTCTACAGAATCAAGAAATCTACACCCAATTCATTACGTGCCACCGACACTAACAACATTCGATTCGTTTTCGATGCCGTCACCGACATTATCATTTATCGAGAAAACCTCCGCACGTGCGGGCTCAAATTTTTCCGCTAAATTTTTTCCGTTTATTCCCCCAATATCACCTCCGAGACATTTTCCAGTAATTATGTCACTGATTGCCACACACAGCCCTCCTCTCCCGTCTCCGCTGTGCAATGCTACGGATTCTCTTTTTTTTTCTTTTTTTTTCCTGAAATTCCAAGGGTGTCGTTGAAAATCGAAAAATTTGAAAAATTTGGGTTCTAAATTTTAGGAAAAGCCAAAAATACAATTTTTTTGATTATTATTCCGGAGAATTCGAAAAATTTCGATATTTTTTAAATTTTTTACAAAAAATTCGAACAATTGCGTTGGATTTTTTCAGGAAAAAGCCAAAAAATTACAATTTGTGTTTAACAAAACGAAAATAAACCAATTTTTCTGATTTCCGGAAAAATCAAAAAATCTCGATTATTTCCAGAAAAATTCGAATAATTTGGGGCTTTTTCAAAATAAATCTTAAAATTTGATTTTGTCCAGGAAAAATCGATAATTAACTGTTTTCTTTTTTGGCTTCTTCCGGAAAATCCAAAAATTTTGCATTTTTTGGATTTGTTTTCAGAATTAAAATTGGAAAATGGATTTTTCAGGAAAAAGCCTAACAATTTCAAAGCTTTAAAAAAACTTTAACAAATTGATTTTTGAGGAAACAACGAAAAATTTTCCGACATCTTACGTTGATTTTTTTTTTACCGAAAAACAAATTTATTTTTTCCAGGAAAAAGCGAAAAATTTTCAATTTTTAAGGAAAAACTCGAACAATTTAGCCTGATTTCGAGTTGATTTGCGTTTATTACGGAAAAATCGAAAGTAATTTTGGTTTTGAGCTTAGAGTGAAAACCCATAAGTTCAATTTATTTTTCAGAAATCCAATTATTTCAATTTTTGAATTTATTCAAAAAAAAAAAATGTCGATTTTTTCCAGAAAAATCGAAATTTTTCGTTTTTGAATGAAAAAAAAATTTTCCTTCAATTTTTCCTTTAAAAAAAATAAATAATGTTCGAATTTCCATGAAAAAAAGTCAAAAAAATTCAAAATTTTCCATTTTCCCTGAAAAGTCAAAATTTTCCGAGTTTCCTAAACTAAAATCCCAATATATTTTCCGGATTTTCCAATTTTCTCTGAAAAATCGAGGATTTTTTCCCGCACACCTTACCCTGCTGTTCACGTGGTGGTCAGGTTGTCTCATTTTGTGATCTACAAAAAATGAGGCCGGAATCTTTCCTCCCCCGGGAAAATCTGACGTCAGCGCACTCGTGTAACCATGCAATCCCCTGCTGATAAGTCTGCGTCTCTTCTCCCGCCGCATTTTTTGTAGTTCAACGTGTAGATCAATAATGAGACCTTGACACCACGTGCCGAAAGCCTAAACCAATATTTTACCGGTAGCTTCTGGCATCTCTACAACCACTGTCTGAAATATCGCGTCATTTTATATTATTATTATTTATTGTATTCGCTTGAACGGCCAAACAATTCCGCCATTTGATTCAAAAAGTAAACATTTCCGAACTTTTTAAAAATTTGAAAAATATTTTTAAAAAATTGTTAGCGTGAAAAACTTGTCCCCCCACCCTGCCTCTCCATAAAAATTAAGTTCGGAAGAATTCAGTCCTTGTTGTTGTAAATTGACGCAATGCGCTTTTTGGTGGTACCTATTTTGCATATTTATCGTCACTTGCGTACGCGAGGTATTGATTCAGATTCCGTCAGTTTTTTACAACAAAATATCGCTAAGCAATCACTCCAGCGCGAAACTTCAAAAGCGAGAAAGGCCAAAATGTTTTGCGTCGCTTTCTATGATTTTATGACGAAAAGCGAGGAAAGCTAATAAAAACAGCGAAAACTTTGCCAGGAAATTTACCGGTTTGCCGCTTTTTTTGCGCTAGAGCGCGATTGCTCACTGAGTTCAAGCGCCCTTCTTATTTTGAAATAGAAGAGTTTGCCGAATTAGGCTATTTTGGTGCGGCACGGCTGGGGTCAATTTACGGCGCGTTGCGTGCCGCGTCGCGGTAGGTGGACCACGCCTTTACCACGCGTAGACGATTGTCACTATAGAGCGCCGAAAATGTAAGGCCAGAAGCCGGTATGAGTGAACTTTTTGTTCATTATTTTTTTTTTCGTCGTTTTTAACGGTTTTTATGTTAAAATCAATAAAAACGGCGAAAATAATTAAGCAAACGATATTCCGGGTTTGGCGCTTGCTTTGCGCTAGAGCGCGGTTGGAGTGCTCACCGAGTTCAAACGGCGCACTCTGGCTTAACTACCCTATTTTGAAATGGAAGAGTTTATTAGGCCTATATTTTGTCCGGTCGGCGGGTAGATTTACGGGGCGTCGCGTGTCGCCCGCGGCTCGATTTTGATTGTAAAACTAAATGTATTTGTCCGTGAGGAGTACACGCGACTTTCCCAATGCCGCGTTGTCCAGCAGGTTATTGCCAATGGAGCGCCGAAAATGCAAGGCCAGAAGTCCGCCGTATAAGTAGCCCATGAATGAGTGAAGTTGTTGTACATTTTCAGTGCACTTTTTGTTTCGTCGTTTTTCTGGTTTTTATGTGAAAATCTGGCACAGTCTCCTGTCATCGAAAGCGCACAAAAAACTGCCTCGCGTTTGAGGTCGCGTTTTTGCTAGCGCATTTTGTGGATTTCTCCGAAATTCAGAAATTACGCGGCAAATGGCGAGGCTTGAATTCCAAATTACAGCCCCGCCTCTTTTGATACATTATCTTCAGGATGAAGATGATCGCTCCGAAAGGTGGGTGACTCTGAATGAAAATACAAGAAAATTATGATTTCTTCAGAGAAACACCATTTTCACCGTTCATTTTTTAATATCCCTACGCCTCCTTCATTTTTTGACCAAATTTTCTCTTTTAATGGTCTTTCATTTCATTTTGTGCTAATAAACAAATTAAGTTCGACATCTGCGAAAAAATTCGTTCAACGCTAAAAAACGACGAAGTTTTTTTTTCAACACTAAAAAGAATATTCACTCCTAGCTCCGCCGGCTGTACCAATGTGCAAGTGCGCCCCAGCCCACTTCGACGCCGAGGAGACTGCGAAATCATTAAAAACAGTGAAAATAACGGAAATTCTGAAATTCCGGGTTTCGTTTGATAATTTTTTGCGCTGGAGCGACTACGATTGCTCACCGTTAAAATAGCGCACGCGCTTCTGGTTTCCCCCATAAATTGAAATGGAAGAGAGTTTTCGCCGAATTAGGTCATTTTGGCGCGGCCCCGACCGGGGTAGATTTACGGCGCGCTACGTGTCGCGTCGCGGATCGATTTTAGGTGTCAAACTAAATGTAGTTGTCCGTGTGGAGGGGGATACACGACTTACACTCCCGTCCGGCAGGCGATTGCAAGTGGAGCGCGAAAATGCGAGGCCAGAAGCCCGTATATGCATTTTTTTGCTGAGGGTCCCGCCACGACATTTACCCTTTCAGTCACGTGTATCAAAGAGGACCGGGCAATTTGGTCAGAAGGAAAATGAGAACTCGCCACGCCAATCAAGTTCTTTTTATCGATGACGGACAATTGCCAAAGGAGGGAAACTCATCTCGTAAGAAAGGGAATTCTTATGAGCTTCGGAAAATCGATTGAAGTATCTGACAAACGGATATGAGACTGTGAGACTTTTTTTAATACTATTGGGTCTCGACGCGATTTCCCACGGATTTCGGGCTTCCCTCATAAATTGAAATGGAAGAGCGTTTACTTGCCGAGGAACTAGGCCCAGGCCATATCTGGGGTAGATTGCTACGGGCGTTCCTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTGAAGGTATATCGTCCGTGTGGAGTACACGGGCGCTTGCCAATGGAGCGCGCTAAAAATTCAATTTGTGTCTCGCTTTTAACGATTTTATCGATTCTTGGGTGCTGTTCGAACAAGCTCTGAGTCGTGTCACTTGAATTCAATACGGAACACTTTCTTGTGATCAATTTTTGGATGAGAAGCTACTATTTCATGACAAACGGTGAAAATACCAGCTGTCATACACCGAAACCAACCATCAAACCCGAATTGAATCACTTTATTCGGTTAGCAGGAGAATATCGCTCCATCGCAACCATGTTTTCAGCGAATACTTCATCCAACTGCGGCCCCTCCAGCGAACAGTCAAAGAGAAACCTGCGTTGATCATGTTTGGGGATCAGTCGAAACCGCGAGTTTTAAAGTCGAAATAATCGAAGAGGGAGAGCAGCGCTGAAAGAGAATTCGGGGAAGAAGTGCTGAAAAAGTTCCAGAAAATTCGGACTGAAAGGTTAGAGCGGCGGCGGTGAATAACTCGACGGAGTGGACACAGACGGTGAAGGATACTCGGAGACTAAAACATCGTAGCGAGTGAGTTTGTGCCAAACGCTACTCAGATGTACTTCCGCTTCCGTGAGGACACCGCGTTTGATCTCTGAAAATTGCGAGAGTCAGCCCCTTCGTGTAAGTTTCCCGCAATATTTGAAGGTTAAGCAGCGAGGTCCTCATATTTTGAAGAAAGAACTTTATTGCCGTCTAATTCGGAGTCGATTTACGGCGCGTTGCGTTGCTTGTCGCGTCGCGTCTCGTGATTCGCATATTTATCGACACTCGCGTACGCCACGTATCAGATTCCGTGAGTTTTTGCAACAAAAAAATCGCATATGAGCAATCGCGCTCCACTGGAAAACACCCGAAAAGTTTTGAAATTGGGGTTGTCGCTTGTTTTGCGCGCTAGAGCGCGATTGCTCGCCGAGGTTTCAAACGACACTCTCTGGTTTCCCCCTTGTAGACGAGCGTCGCGGTTCGGTCCAGCAGGCGATTGTGAGCGCGAAAAACACGTGGTGTCAACAGTGTCCCATTATGGTTTGATCTTTGATAAATGTGTACGGGAGACGACAGACACCGACTTCTCAACTGATTTCGCGGCAATGGTTAAAAGTGTTCTGACGTCACATTTTTCTGGCATTCAAGACGCGAAAAACTCCCGTATTTTTTGTAAATCAAACCGGATTAGGACAGCCGAACGTGGAAAAAAGGCAAGATGACAAGGGCCCAAAGGTGACCCACAGAAGCCCGGCAGAGTCTCGGTTTTATCAGTTTTCGAGTAGTTTCGCACCACAAAAAGCGTGTGACGTCACATTTCCGGCCGCAAAATTCCCGCGCTTTTTGAAGATCAAACCGGAATGCATTGTTTCAGAATCTACTCTTTGTCTCTCGTTCATTCACCTCGGTTTGGGTATGGTATTGATCGTAACGCTATCGTTTTTTTGTTCTTTTTCAAGTATTTCAAGAAGTTCAACTCGACGGTGAAGAATGGAGATCAGGTGTATAGAGAGCAGGAATCGGCTGAGACTGATGAGAAGACTGAGAAGACTGAGAAGCGCGAAAAACTTTCTATCTGCGTGTGTCACTGCAAATAAAGAAAGGAATTGAAAATAAAAAAAAAAAAAATTTTTTGGGAGTTGCATATATGCATGTGTCGTGGTGTCCGAGTGGATTATTTCGGTTTGATCTACGTTGATAATCTCTCCAAAAAATGCGGGCACTGATTTTGCATGGATAAGAACGTGCTGACGTCACATATTTTTGTGGGCGAATATTCCGGCATTTTTTGTAGATCAAACCGTGATGGGACACGGTCTGGCATCACGTGTACTTGTCGCAATAAATGAGGTACAACATGTTATGCCGTTATCCTACAGTACTATAGGTGAACCCCGCACTTTTTGGCCTCCAAAAATTGGATGTTATAGGTCACAAACTTGTAAGGAGTCGTGGACATGAATGTCAAGATTCAAATTATTCAAGTCAAAAGGATGATAGCGCAGACACGTGCCCCCAACTTCGGTTTTCTACTGTGTAGATCAACAAAATGCGGGATTTAGGACGCTGAGTTCTCCACTGATTTTGCAACAAATTCCCGGAGCTTTTTTGAAGATCAAACCGGACAACCTGACACCAGGTGAAGGAATAAAACACGCTCTTTTGCCGAAATCTTAAGAGTTTCTACAATTTGAAAATCCAGTATTAGATTTTCTGAAAAAAAGTCCAAAGTTAAATAATGGACGCTGCCTAGTCTTTGGGTCCTCCTCTAAAAACGCCCTTTACAAAAAAAATCTATAGTTTCTGAAAAATAAGTGGCAAATCTCTACAATTTTCAATATTTCATACTAAAAAAATCACAAAAAATTATTTTATGGCCGCGCTCGAGTTTTTTACTCTTCCTCGTGGTGTCAGAGTGTCCAATTGCGGTTTGATCGACCGTGTAGATCTAAATTCGGGATTCGAGAACTGAATTTGCATGATTGCTGACTTCACATTGTTTTGGGTAAAACTAATTTCGGCATTTTTAGTAGATCAAAAAAGCCTGGCACCGCGTGCGCAGAGAAGAAAGAGCTAATGAGCACGGGGTGTCAGGAACGGCTTGATCTACAAAACTTGCGGGAGTTTTCAACCCAAAAATATGTGACGTCAGCGCGTGCTTAACCATGAAGAATCAGTTTCAACTCCCGCAATTTTTGGATATCTAGGATCATAGATGAAACCGAAATGGGACACTCTGAAACCCCGGGAATGAGCCAATTGAGCAAAAGTATGCGAACTGAAGGAGGCATCGTTTTATTCGCGCAGAGGTTAGTTAGACGAATTGAATAGGCAAGAAAAAATAATGTTTTGCAACATAAAAGTAATGTACATACTAATGGAAATAAATTAATTATGGGGGAGCTTCATTATTACAAGTCGACGAAGAGCAGCACTCGTTCTTCTCCTCCTTTTCCTTCTCTTTTTCGTTTGGAACGGAGAATTCGACTGGGGTTTCCACATTAGACGGGAGCTGGAGCATCTGAAAAAAAAACGCGAAAAATGGTAGACTTGTCACACGTTTTCCAACCTACTACCTTCTCAAAATAAGACTGGAGAAGAGCGGTAGTACACTTGAGCATGTTCTTCAACAGTAGCGACTCGTAGTTTTCGATCGATTCCTGGAACTTTTGGATCCACACACCGCTCCTTGTCCGCCCTGTCGGCGACATGTAGGGTGTAGATGCCCACGACCTTGGTAGTAGCGGGTTTGGTGAATTATGACGAACGCGAATCTTAGGGACGGATTACTAGAAGAGAAACACACTTATAGTGACAATACAGTAGTCCTAGAAGGTATTGGTAAGGTACTGAGGTACTGACTGCGCTAATTTTTGTACGTTACACCTTTTCCTGGAGTTTTGCAGACCTTCAAGAAAATTCTAGCACTTCCCATTTTCTCCGAAAAATTCCTGCACTTTCCAGATTTTACCAGAGAATTCCCGCACTATACAGATTTTTCTAGAAAATTTTGTTTTTCTCAGAGTTTTACGGCTCCTATAACTACAGTAACCCTACAGTACCCCCCAGACCATATCGCCCCTACCCCAACATACAACCCAATACATCAAAAGACAAAAACTCAAATTTTCCGGAACGTAACCCTATAACTCCTTTAACGTAGACCTACCGGGCCCCTACAGCACTGCTGCAGGACCTTGAGACATAACCCCCTACCAACATACAAATACCTCTTCGAAAGCTGGGAACTCAAATTTTCTATACAGTAATCCCGCTACAGTACTTCTACAGTACCTCCAGTACTACTACAGTACACCGACCATATCCCCCACAAACGCTATACAAATTTTCCTTCAAAAGACAAAAACTCAAATTTTCCCAAACTACAGTAAGCCTAAGCAGTACTCCTACAGTCAGATCCCCGACCTTCCGATATATCCCCACACCAACATACAGCCCAATGTTCCTTCAAAAAACAGAAAAAACTAAAATTTTCCAAAACTACAGTAACCCTACAGTACTCTTACAGCTAACCTCTACAGTACTCCTACAGTACCTGGACATCATCCTTCACCACTTCCAATCTAATACCTCTTTAAAAGCTGAAAATTCGAATATCCTATAACTACAGTAGTTCTACCAGTACTCCTACCTCTACAGTACCACTACATTACCCCCAGTACCCCTACCACATCCCCCCATCTCTAAACCAATATCCCTTCATAAGCACACTACAAAGACTACGTGGACTACAAACTATGTATGGTCAGACGGTTTATTTTTAATATGAGAAATGATGATGAACTAGCTGATATATACTACTATATGTACTGACACTGATTCACCAAAATTAGCGTGTCAATTCAAGATAGGGGTCTTTACGGTACTGGTATGGTACTGGTCCGATACTAGCCCCAGTTCTTTAATACGATTCCCTAAAATTGCTGACTCGGCGTTCCTGGTCGTTGGAGTCCGCATCACTCTGACGCAAAAATCCATACCTCGTTCGGTAATACGATCCGGCGCTCAGATTTCCCGATTGGGACTGGATCCTTTCTGCAACTCTTTGTCTTCAGTAATAAAACATGGAGAGTAATAAAACTTCGCGGGACTCCTCACCACTTTAAGCTTCGAAGGGCACTTTTTAGTTTTAGTCAGCACAAACATGTCGTTCAATAGAAACGCGTACATGTCAACGGTCCGCCCGTTTTCCACAAGCTCGAGGGGGCGATCTTCGTGGATAAGCTCTCGACGCGGATGAGCCAGTAGGTTCTCGCAGAATTGACGGATGAGGCGACGCGGAGGAACTGGTAAAAAATCAAGGGAAAATGTTGCGGGGAAAACAAATGTTTCAACTTTCATCATGGACATAAGACTTGGCAAGTCGCTTATATTCGGCCAGACCCCAAACCTGTGTCTGCAACTGCTGAAGCCTCTCAATTATGAAGGCGCCACTGCACACTATAATCAATCGATCGGTGGCCAGTGTTCCGTCATTGTGTCGATCATTCTCCACCTTTCCCTTACTCGCCTCTTCCTCCGATCTTTTGTGAATCTCGCGGAGAAGGATCGGAAGCCGAGTGATCGTCGTTGGGTGCGTCAAAAGATCCTCGAGCCGTACACGGAAGCATCGTTCATCGGCCAGACTTTATCCGCTCGAATTCCGTGAATCGTTCCTCTTTCTGTCGCATTGAGCCGAAATATTCCATGGTTGCGTAGTTGATGCAGTAGGCTTGGTAGGCGAAATTGTGGAAGGGCGTTTGCAGAACTGGAAGTTTCGCGTTATAACAAGGCATAGTCTCAAGCTATTTTCTCTGCAGCCTATCCCAGCTGTGGTCCTGGTGCTTAACAGTCGTGATTTCTGCTGGAAAACCGGTCTAATCCGGACTACGGAAGCCTGTGTTTTTGAGTCTAAACGACAACATTGTGAGCGGCAACCAGGTACGCTTTTTCATACTACTTTTTTTTAAACTGTTTTTTTGTTCTTTTTCGGCCAGCGGAAGTTTTTGACCCAACTTCGAAATGTCCCTTTTTTTCGCACTTGAGTTTGGGAATTTCTAGAAACTTCCCAGTATTTTCTCTTTTTCCCGCGAAGCCCCTTCTAAACCTGGGCCTAGGCCTACGCATAAACCTAAGCCTACGCCAAAACCTACGTAGCCTAAGCCTAAAAAGCCTAAGCTTAAGCCTAAGCCTAAGCCTAACCTAAGCCTAAGCCTAAGCCTAAGCCTTAGCTTAAGCAGCCGAATGCCTAAGCGTAGGCCTAAGACTGAGACTATGCCTAAGTCCCAGCCTTTACCCAAGCCTAGGGCTAGTTGAAATCCTAAAGCCTAACCCAAACCCTAAGCCGATAATTGCCTAAGCGTAAGTCCAACATACTTAGGCCTAAGCATTAAGCCTAACAAGCATGTCCCTTTTTCTGGCAATTTTAGGAATTTCTAGAAATTTCACATTTTCTCTTTTTCCAGCCCCTTCTAAACCTAGGCCTAGGCCGCATCAACCTGAGCCTACGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGTCTAAGCCTAAGCAGCCTCAGCCTAAGCCTAAGCCTAAGTCTAAGCCTAAGCTTAAACCTGAGCCCAAGCCTAAGCCTAGGCCTAAGACTAAGCTTATGCCTGTTCCTAGCGAAGCCTTAACCCAAGCCTAGAAGGGGGCTAGTTGAAAGCCTAAGCCTAACCCAAAACCCTAAGCCTAAGCCTAAGCCTAAGTCTACGACTAAGCATATGTCTAAGCCTAAGTCTAAACCGAAGCCTAAGCCGAATCCCAAGCCTAAGCCTAAGCCTACGCCGACGGAGCACGAGGAGAAAGTACATAACTTTGTCACAAAAACAAACATTTCTCAATATCGGTCAGTTTTCAAAAATATTTCGGGTAATTTCTCAGGACAAATAACAAAAACCCACCCTTTCATACAAGTCCACAACTAGCTGTGTGCCAATTCTCCTTGTCTACCGGACTGAGCAACGAGAGGAACGATTGACAGAAGGCGAGTATTCTGACAAAATAAAAATGTGTGTGTGTGTGTGAAATGGCACGTCAGATTAAAGGGAAATAGAAAAAAAAAATTAAAACTGAAGGAACCTGCAGAGTTGATCCAAATTTCGGAAAAGGAGGGTCCGGCTCGACAAGAGTAGACATCCCTGTTCGACTTGACATCTCTTCAGCGTCCTTGTAAACATCGCGGAGCACGAAGAGCTGACGATAGAGGAAGACGAGCCGTGTGGAACAGCTCCCATAGCTTGAAGTTATGTGTGTCTGGATGTGGGAATTGTCGTGGTCTCGTCTCACATGAACATTTCCTCAAAGGATACTGGCTGAAAGTTGGATTTTTTTTTGGAATTGGAGCGCGTTTATGGGCTCGTTTTGCAGTTTGTTTATACCCTTAGACATTAAAAAGACATCAGCAACAAAGTCCCACAAGTAGTAAACAAGAGAGATTTTCTCTAACACGAAAATGTGAGAGAGGAATTTTTATTCGAAGCACCATGTTTCTCACTCAAATTTGACTACTCATAACTTAGGTAAACTTAATCCAATACTTCCTTAATAGCTAAAAATTCACATATTCCAACAAACTACAGTAAACTACAGGTACCCTACCGTACCCCTACAGTACCCCGACAGTACCCATACAGTACTTTGACAATATCACCAATCCACTCCCTACAAAATCATCAAAAACAAAAAATTCACAATTTTCAAACAGTAAGTACCCTAGAGTGATCCTATAGTATTCCTACAGTACCACTACATTACCTTGACATATCCCCCTAAACCAATTTCCACCCCCAGGAAGCAATACCCCTTCTAAAACTAAAATACCCATTTCCCAAAACTACAGTAACCCTACCGTACTAGTACCTGCAGTACCACTACAGTACCATTAACCTTGACATTATCCCCCTCAACTTCCAATTAAATACCACTTCAGAAGCTAAAAAATCAAATTTTCCCGAACTAAAGTATCCCTACCGTATAACTACAGTACCCTACAGTGCCACTACAGTACCTTGACATTATCCCCCTCCAACTTCCAACCCAATACTCAATCAAACGCTAAAAATTAACATTTTCCCAAACTACAGTAACCTTACCGTATTCCTACAGTACCCCTATAGTTTCACCTACCAACAACTTTTCCAGCTCATGATCCTCAATCTCATGATCCTTGAAGTCTCCAACGGCCTGAACATGCTTAAGAATCTCACTCCGTTTTGCTCGCTGCACCACTCGTAACGTCTCTTCAGTATCCAGGGCGATCGATTTTTCTGGGGCTGACACAAGCTACTGGATAGAAGGCTCGAAAGGCTATTGTGGCACGTCGGGTGAAGATCTGAAAATGAAGAATCGGTGGGGATCCGTGGTGTCAGCGAGGGAGAAGATCTATTTGGTGGGGTGGCATATAGAAGTGGGTAGTAGCGGTTTCTTCGTTTGTGTGATCTTTGTGTCAATAGACATGATATTAGGGCTTCGGTGGTAGGCAGGTGCGGTTTTAGGGCCTGGCTCTTGCCTGACGCCTGCCCTTCTCACGCCTGCCTGGCGCCTTTTATCATTTTGAGACAGTGAGTATAGGTTTCAAACTTCAAATTTTCTCATTTCTATCATTTTGTTGAAAATCAAATTAAGAAATGAAAAAAAAGTTTAAGTAGTTGCATTAGGCGTGTATTTAGGAATTGCGAGAGGCAGGCGGGGGTCGTCAAGTCAGGCAGGCAGGTCTTCTTATGCCTACACCTCCGGAAGGTGTTCAAAAATCGGTTGCGGGTGTCCAGCAGTAACTTGACAAGAATCATACAAAGCATTCGACTTTTACACAAACCTGACTAGGCTGTGTATTCCACCTGTACAAACACCTAACGATCGATGTACCTGATTTTATTTGATCTGAAAAAAAAATTTCTCAGAAAATTTGAATTCAAAATGTTTCTTTGAAAGTTTGAATTCCCTGCCAAAAACATTCTCAGAAAATTCAGGTTCGCCAAAATTGTTTCAGATTTGAAAATTTAAATTCCCGCCAAAATTTTTCTGTGAAAATTTGAACTCTCGCCAAAATGTTTTTTGTGAAGAAATTTGAATTCCGATACACAAATTTTTACAGAGCATTTGAATTTCCCCCTACAATTTTCACAGATCTTCTTATATATACATATATATATATATATATTAGTTGAACTTTTGGGCAGTTTTCAAAAAAAAAGTCCGGTGATTTATTTAAGCACGTGGTGGCAAAAAATAATTTTTCGGCTTGATCTACGCCGATCTACTAAAAATGCGGGAGACGCAGAGTTCTCAGTTGATTTCTCAAGGTTAAGAAAATTCCGGCATTTTGTACGATATCAAACCGTAATGGGACAGCCTGGCAGATTACCACGTGCTAAAGTTATAGTTAATTTACAAGTCCTGGTTGCAGTGGACCTGCAGGATGTCATGAAGTAGCACGTGTTTTCTGGAAAAAGTTGGTAAACTTTCATACGAAGAGGAAAGTGTAATCGATATTTACTTGACCATTTTTTTGCTAAAAAGTAAGAGTCTTTGAGCCAGGCCGGCGATCGGTAATTGCCGAAAATCGGCAATTTCGGCAATTGCCGGTTTAGTGCAAAGAATTTTTTGGCAATCGCCAATTGTGGCAATTGCCGAAATTGCCAAAAATTCGATTCCGCACACTCCTGCTTTGAACTGTGAATTTCCAAAATCCAATCGAAATTCTGCCGACACTGTACAATCCCTACCTGCCAACAATCCGCCGGAGCTGATTGCCCAAATTTATTGAGGTGACTCTCGTTAGGGGATAGATTTGATCATGTGGGACAATGAGGTCACATTGTCGAGCAGCACCCTTCGGATGAGGTCTCCTGATTCTCACTTGGCTGATCAGGAATGATTGCATGGCGTCGGGAAGGTTGCCTTATTAGGGTGACTTGTTTGGGCTCTCCTTCTTCTGGCTGGAAAAATACAATTTTTTGAAGTTAAGATTTGAAAAAGAAAGCTGTCATTTTTTTGTTGGTATTTTTTACCCTAAAAATGTGGTTTCAAAATATTTTTACATCTGAATATCTATTCAACGGGGTGAACAACTGCAGATCGACCATACTCGAGCTTCTAAAAGTTTGAAGGACGCTTCTCGTGAAGAAAAGAAAAGAAACACGATATAGTTACCCCTACATCGGAAGAGGATGGGATATACTGAGAAGTAAGAATAGGAAGAGAAATGAGAAGAGTTCATATGCACTAGAGAAGTATGTACAATATAATAATTTATGAGCATCTGAGAAAATGAGAGCTATTTGAAAATCTGCAGAGCAAGATAAAACTCGGTCTCTTATCAGAAAATTTGAAATCCCGCCAAAATGTTTATTGTTTAATTTGACGCCAAAACTTTTCACAACGAATTTGATTTCGCCAAAATTTTTCTCAGAGATTTTGAATTTTCCCGCCAAAAGATTTACCAGAAAATTAAAATTCCCGCCAAAACTCTTCACCTCGAATTTGAATAACCCGTTTTTTCTCAGACAGTTTGACCGCCAAAATTTTTCACATGAATTGAATCTTTCGCCAAAGATTAAAATCGTTGGATAATTTTCATTCGCGGCTGGTTTCCAAATCGAATTAAGAACGGCCAAAGTTTATCGGGGTTTTTTTTAACACTTACTACGAAAAAAAGCATGATATACATTTATTTTCCTAACGACGCCTGGTAAAATCCGCTTTACACATCAAAAACTTCTCGGCAACATTGCGTCACCGCCAAAAGAGATGCTTGCACTTCACCACGAATAATAGCTATGACAAGGCAATGCGTGTAGGGAGTTGAGAATTACAACTAATTCATATCCCCTGAAAAAATAAAAGCGCTGTTGTCTATATGATTCTTTACATGGTGACAGCTTACCGAAGAATAGACGGGTAATGAGATATATATGTGATTCATAAATATGGGCCTGCTCCCGGGTATCCGAGAGCCGAGTCGAAACAGAAGGGGAGCATGAATGGAGCAACTAGGGAAAATTGTGTTATCACGATGAGGCACGGCGGGGGACACAATAGATTTTTTTTTTGTCGAAAACGTTTTCCATTTTCACGTGGTTGGCGCATTACGATTTGAGCTACCAAAAACGCGGGAATTTTTCCCCTAAAAAAATGTATCGTCAGCACGTTGTTTACCATGAGAAATCAGTTGAGAAACTTGTTAGCGTCTCTTCTCCCGCATTTTTTGTAGCTCTAACTTGATCAAGCCGAAATGAGACGCTCTGACACCACGTGACGAAAAAAAGTAGATCAAAATTTGCCAAGCCCTTATAATACTCCCTTTTTCAGATCTAGGCGGAGCTCAGTTTGACTCTGATGACGTTAACGCAAATCTTGAAATTTCGAATTCTCTATGGAGATTAGAACTTCCCGCCCCCGCCAGACTTTGTAAAGTTCAACATAAAGATGAAATATAGAAAAAGTTCAGACTATGATAAGGAACTTATGACTAACGGCTCTTGAGGTGAATGAGTATGATGTGATTAGTGATGCAAGAGGTGCCGACTAGAGAGAGAGCTAGAGCGACGAGAGGCTCAGAGAGGGGGGAAACGGGAAGGTAGGTTTGTAGGTAGGCAAGGTAGGCAAATAGGGGGTCGGTATCCGAGAAATAAGGAACCTAGGTCGGCAGCCGTAGGCATAAAGTAGGTCAACATCCAAGTAAGTTAGACAGGTACGCAAAGATAGGAAGGTAAGTAGCCGCGGTGGCAAGGAGACTAAAGGAGTAGGACAGGAATACGTAGGCGCAGTAGGCAGACGATGAAGGTAGGTGGGTAAGCTTGTGAGAAGGCAGTCATAAAGAACGTCGACAGTAGATGCACTTAGTAGGTAGGTATGAAAAAAGAATTAAGGTATGCATAAGGAAGTAAAGTATGAATGGATGCAGCCGAACATGTAGATACAGAAATATCAGGCAAGTAGGAAACAGGCAGGCTCATAATATAGGAAAGTTAGCATCGTAGGCAAGTATGTAGTCCTGGGTAGGCATGTAGGTAGACACGTGGTAGGCTTATGGTTCGATATGCAAAAGAGCAAGCAATCATCAGAAATATGCATATTGGCAAGTATGTAGGCACGTGCATAAGATACAAAAGTAGACCAGGCATGTAAGTAGGCACGTAGGTAGGGAGGCTTGAGGCAGCAATGTAGGAGATCTGGTAAGTAGGTATGAGTATAAGTAACCTAGTGGTGGTAAGTCACAGGTATTTGGCACAATCCTGTGGTCACTGTTCTCAATGGTAATCAGGCGAACGTGCCTGCCTGCCTCCTTAGAAATTCGGTAAAAAGATTGTGGAAAAACAACTAGGGGAATTCCCATCCATGGAGTCCAATGCGTAATGTGAGTGGGAGGCGGCAAAAAAAAAGCGGACGTAAACACTTTTTCCTAATTCTCTTATACTCTCGCTCGTGGAAAATGTGAATATTTGATACAATTTTGTGGGAAAGTACAGCGAGCAGAAGAAGAAGCTGATGTCCCGATCGCGCGCGCGCGAAAAAAACTTTCAATTCCCACTCCCCTAATAATCCGCCTAACGCCTAATGTTTGTCAAATTCACCATGTATCGTTTTCTCACCCATCGGCTATGATTGTTTTTTTTTCTTTTTCAGCAAAAAAAACGGGCACATGAGGTCGGGATGGATAATTAGGGATGTGTGCCAATTTGGCTGATAGACAAAAAAGGAGTACGTGAGATTTTTAGAAAAGGTTGTTGAGAAAATTATCATGAGGCGTTGGGCACGTGGCCGCGAATGAGAAAACTAGGCTACCTTCACGGGGCCCCCATGGCCTTTCTCGTTGGAAAACTTTTCGCGATCTACTGACAAACGCCCGTGTTCCACACGGACAAATTCATTTAGTTTTGCAGCTAGAATCGATCAGCAACGCGACACGCAACGCGTCGACTAAATCTACCCCGAAGATATGGCCGCTCTTTAAAATGGCCTTGTTGGGCAAACTCTTCCATTTCAAATTTTTTATCGCCCTCAGTTTAATTTTTTAGGATACGCCTACGAGTGATCTAGGCCAGGCAGTAGGTAGGAGTGTAGGTAGCCCCCTTTTGGTGTCAGGCTGTCACATCGCGGTTTGATCTATCAAAAATATTGGTTCTCCCAGTAGAATGTGAAGTGAGCACGTTCTTAATCACGCGAAATCAGTTGATAAGTCTGCGTCTCAACCCGCTCCCGCATTTTTTGTAGATCAAGCGACGTAGATAAATACGAAATCAGACACTCTCGTGGTGGCAGAGCTGTCCCAACGCGGTTTGATCTACTAAAAACGCGGGAACATGTGCCCAAAATTATGAGACGTCAGCACGTTCTTAATCAGGGAAATCAGTTGAAAATAAAGTCTGCGTCTCTTCTCCCGCATTGTAGATCAAAGTAGACCACATTAAGACCTTCTGACACCATCCCCGAGAAGAGTTCAATATAACTTAGCTCGTAGAACATAAATTTTTCCACGTGGATTTTACAGCACAATTGCTTAGAGCCACTAGCGCGGTTGCCCAAATTTTACAGGAAAATGAATATTCAGGAAAATTTTACCAGATTTCCCGCGCAAGACACGAAAGTCTTAAAAAGTAGGAGAGCATGAAACTAAGAAAGTAAGAAACTTCTGGTTTACCACATAAATCAAATTGGAGATAGTCGACCTTAAAAATTTTGCACCAAACAGGGCGGAGCCAAAAACACCAAAAGTTACGCAAATTTGTACATGAAAACTAAACACCTAAAACCGGAGGACAAATATGAAGAAAAACGCTGAAAATGCGCAATGAGACTTTTTCCTCCGTTGCTTAATTTAATACATGTCCTCTCCCCCTTCCTTCCTGCTTTCACACTCTTTCGGCGTCGCCTCCTTTTGATTAGAGACCTGAGACTTTTTTTTTTGTGATTGCGTTGAGTAGTGTGGGATGCATATATTAAATCAAAAATCTGACATCAAAAATATCCCTGAAAAAAAACGTAGTTAAAATTTGCTTTAAAACTGCCGATGCGTTTGCTATTTGATCTACAGGGTGCTTTGGCGCGTTCGCGTCGCGGTTTGGAGTTCGAGGCGACGGCCATTCAATTTGACCCTACTACAATAGAAATATTTTGTAATCTTAGGCCATCAAAAATTTTTAAAAAACAAAACCGGAAATTTCTAGGCCATCAAGAATCTCTAGGCCACATCAGACTACTTTGAAAATTTGTAGGCCACAATGGGAACTATTTTCTGAACCAAATTTCTGAAATTTCTTGGCCACGATCTGAAATTTCGAAGCCATATAAAGATTTGTTTATAGGCCACGATCTGAAATGCGGATTCTAGACTACATCAACAAATCCTAGGCCACGATACTAGGCCACTATTTGAAATTTGTAGGTCAAGGTTTGAAATTTCTAAGCCACGATTAGAAATTTCTAGGCCACGATCTGAAATTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTATTAGGCCACGATCTGAAGTTTTGGTCATCAAAATTTCTAGGCCATTTGAAATTTCTAGGCCACGATCTGAAATTTGCCACGGTTTGAAATTTCTAGGCCACGCTTTGAAATTTTTAGGCCACAATCTATTTCTAGGCCATCAAAAATTCATAGGCCACGATTTGAAATTTCTATCTGGCCACGATTTGAAATTCTGGGCCACGAACTGAAATTTCTAGGTCATCAAAAATTTCTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTTTAGGCCACATTTTAAATTTATTGTTTAAAATTATAGGTTTTCAAAAAAATTCTAGGCCATCAAAACTTTCTGCAGGGATTTGAAATTTCTAGTAGCCACGATCTGAAATTTCTAGGCCACGATTTGAATTTTCTAGGCCACGATTTGAAATTTTTAGACCACGATCTGAAATTTCTAGGCCCTCCAAAATTTATAGGCCACGATTTGAAATTTCCAGGCCCCGATTTGGAATTTCTGGGCCACGATCTGAACTGATTTCTAGTCATAAAAATTTCTAGGCCACGGATTTGACATTTCTAGGCCACGATTTGAAGTTTCTGGGCCGCTAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGTTTTAAACTTTTTAAAATGTTTAAAATTGTTGGTTTTCAAAAAAATTCTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCCCGAATCTTTCTAGACGATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGGCCACGATCCGAAATTTCTCCAAGGCCATCAATTTATTGGCCACGATTTGAAATTTCTGATCGAGGCCACGATTGAAATTTTTAGGCCACGATATGTAATTTTTAGGTCCTCAAAAATTTATAGGCCACGATTTGAAATTTCTAGACCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTGATTTAGGTCATCAAAAATTTCTAGGCCACGATTTGTAATTTCTAGGATTTGAAATTTCTAGGCCGCGATCAGAAATTTCTAAGCCATCAAAATTTCTAGGCGGCCCACGTTTTAAAATTTTTATTCAAAACATTTATAGGTTTACTTCAAAAAAATTCCTTAGACGGCCATCAAAAATTTCTAGGCCTACGATTTGAAATTTCTAGGGTGACAACGATTTGAAATTTTAAAGCCACGATCTGAAATTTCTAGGCCATTAAATTTATAAGCAGGCCACGATTTGAAATTTCTAGGGCACGATTTGAAATTTCTGGGCCACGAAAGATTTATAGGTCATCAAAAATTTCTAGGACAGGATTTGAGAATTGCTAGTCCAGGATTTACAACGAAATTTCTAGTCCGCGTATTATCAGTCGAAATTTCTAAGCCATCAAAAATTTCAGGCTCACGATTTGCGCGAAATGTCTAGGCCACGATCTATTTGAAATTCCGTGTTTAGGCGATTTCAAATTTCTTGGCCACGATTTGAAATCTAATTTATAGCCCGTGATTTGTAAGTTCTAGGTCATCAAAAGGCGATTTCTAGGCCAGGATTACTCTAAAATTTCTAGTCCATCAATATTTCTAGCACAAAATTTGTGTTCACTTTTTTTTTTGTTTTGGTATGTATTTTTCAGAACTTATTCAAAATTTGTGGGAGCAACAATATGCTTTTTTAATTTCTACGCCACAAAATTCTTTGGCCTTTTTCACTTTTTTTCACGCCGCCTATGGTTCCACTGGATAATTGAATGTAGAGAAAAAAGGGAAGGGTTCAGCTAGCGCAAAATAATTCGTTGGAAGGGAAAAAAATAAATGCAAATCTTCGCCAAAAACCAATTTTAGGTCGGAGCTCGGCGCGGGTTCGCACACACACAAAAATGGAGCAGAAGATGACGTCAGATCTTCTTTTTCAGAAGGCTTTCTCAAACTTTGAAAATGGCCAATTTCTTGCTGCTAATTGTGGGATGGGGACAGAATGATATTTTGTTTCAGGTTTCACACCACATCAGATCCTAGTCTTATTTTTTTCTTTTCTCAGGAGTACACACACTATAAATTGTGGTAAAAAAAAGAACACGTCCAGACTTGCTTATTTTATACCGATTTGATGCGGCCTACACAAAACGCGGGAGTTAAAAAGCAACTCGACATCTCACCTGATTTCGCAAGAGCGTGCTCTAGACCAACCGCCACAATTTTTTTGGAAAAATATTTCCGCATTTCTTGTAGATCAAACTTAAGACACCCGCACCGCGTCACAAATAGTATTCCTCTTGAAAAGGATTTCCCAATCAAGTTCCTTGACAGGCGTACGCAAGATTTTGCAAAAAAAATCGGTGGCCGAGTTTACTCTTCTGGCGGCCACGTAACAAAATTAACAAGGAACGTATAAAAAGGAAAAAAAAATTTTCGTAAAAAGGTACCAGGGACCGAAGCAATTTGAGGAAGGAAGGAAATTTGAGTGTCACTCAAATGATCTACCGGTTTTAAGTCGGTGGCCGCGGAACAGAGAAAGCTCGGCCCCCAAGTATTTTTTAAAATATCACGGATTTCTGGTCCCTGATAAGTTTGAAATGGAAGAGTAAAGAACGAACTAGGCTAGCTCGTCTGGGGCAGATTCACGGCGTTGCGTGTCGCGTTGCGGCTCGATTTTAGTTGTAAAATTAAATATAATTGTCCGTGTGGAGTACACGACTTTCCCACGAGTTTTCCGACCGGCGATTGTCAAGGCCCGAGCGCGAAAAATTCAATAAGGAACGGCCAGCCGTGAGATAGGATTTAAAAAATATTACACAACTATTTATTCAAAACTGGCAATTATACATACGATAAGTATTAACTACATACATGGCCGCGAAAAACCCGGCCACCAATTTTCGCGGTTCACTTACCGGATCTCCTCCTGAAATCAGTCTTGCCCTATAAAATAAGGGCATTTTTCGGATCATAGTGAATGAATTATTTAAGGAATATTATTTTAAAGAACACACACCACACAAGACATGTGAAGGGAAGGAACCAGGGAAAAAGAGACAGGGCAAAATACAATTTCTCTATTATTCCGCTCTGTGTTCTGACTAGCAAATGCAGAATCAGTGATGAAGAAACTGGGAATTTACGAGGTATTTAGCGAGATGGTGACCGCGAGGATGAGGAAAAAATCGGCCACCGCAAGACTTACCGGCTTAATCAATTGACCTGGGCCCGTATGTGATGGAACAATCATGTGAGAGCCGGAGCTTCACTCGTCATAGCTTTGTGTCTAGGTGGCTCTCAAGTACTGCTGGAGCTGAAAAACTGTAAATTTAATTTGAAATTTGTTTCGGATGCAAAAAAGTAGCGACACCTGCCGGGTTCCCACAAGATGTCGTTGAATTGACCTAGTAGAATCGTTAGTGATCTACCGAGCAAACAAGTATGCTTGCAATAAAAAAAGGCGTGTGGTTCAAGGTCGTTGACAAATTCGACACTTTGGACACACGAAATTGGTTATGAGCCACACCCCGGCTAGCTTAGGTCAGGAGAAGAGCCTCTCCGAAGAGGACCCCATGTGCGCGCGCGAGCCGAGATTCTGACAACATGAGAAGCGGAGAAGGCGTAAAGGGAGAAGAGTCTAAGTTGAGCTTGTTGCTGAAAATATCTAGGACTCAGGCTTAAGCTTGGGCTCAAGGCCTCATGCTCAGGCTTAGGCGGATCAGGCTTAGGCTCAGGTTACCCATAGGCTCAGGCTGCTCAGGCTTAGGCTCAGGCTTGGAGAGGCTAGCTCGGAATTGGGCTTCGGCTGCGGCCTTGGCTTGGATTAAGCTTAGGCTTAGGCTCAGCCTTAGAATTGGGCTTAGGTTCCTGAGGCTTAGAATTGGGCTTAAGCTCAGGCTTAGAATTGGAGGCTTAGGCTTTGGCGTAGGCTCAGGCTTAAGCTCAGTTAGGCTCCGTTGGCTTAGGCTTAGGCGTTTAGATTTAGAGGCTTAGGCCCTGGCCTAGGCACAGGCCAAGAGGTCACGCCTATCACTTGCTCCTAGATGTGGTTGGGGAAATGAAATTCTAGTGACGTCAAGATTCTGGAAGAGTTCCGTTGACGCCACCAAAAGCAACAAACACTTCAAATCTGAGAAGATCAGGGCGGAACAAAATGTACTGAAAGTACAAAAAGCCCGCATTTTTTTCTCTAATAATACTACATATCATTTGAGTGGGGTTGAAAAAAATGTGTTGCAAGAACTTATTCGGGGCGAAAAAAGATTGAGAGGAAAGAGGAACTTGTTTTTTTGTTGGAAAATCGTAGGTGTGACGTCACTTCTCTTCCAACGCCCAGGTTTCTAGGCAACTTAGGACATTGTGCAAAAAAATCACAGAGCAAAACTACAAAACCCCAGGAAAGAAATGTGCTCTTGGCCAAAATAATAAATATTGGTTACGAAATAAAGGAGAAAGAGAACGAAAAAAAGCTTTAAAAAAGAAATCAAGGAGGAATGTGGAGAAGAGCTTGTGAGGATATACCCAGCAATTAGGGAGAGAGTACTACGCTGTCGGGAGATGACGTTTCGAGGATATTTCTAAATTCACTGGAATGAAGGGTGGTGGAAGAGTTTTGTAAAGTTCGGGTATAGGCCAGGGGTTTTTTTGGCCAATGAGCCTGGTGCATCGAAGAAAAGCTACATTGGAAGGTTTTATGTCTCGGCCACAATAAATTATAAAACCTAGTACGATGAAGCACACTTGCATTAGGATTGCAAAAATTTATTTGACAATTGAGAAGAAAGAAAATCAGGGGGGCATAAATGCGCCATAGAACAGTGCGATCAAATTGTAGAAGAACTTTCGCCCAAAAAGCTAGGCCACGTAGGAGACCGCTGGAGAAAGTACGTGTATATGGTGGAAGAGTTTTCTTGTTTTTCTAGGCAATCTTGCGACAAAACTTGAATTTATGAAAAGATGGCTTGGAAGAGCTTTCGCATAGAAAATCTAGGCCACGGCTAGCAATTTAATAGGAGATAGAAAACCGCGTCGGAAGATTATTTAACTTTTCCATAAAAATTAGCAAATGTAAGAGAGTTCAGATACTGATCTGGAAGAGTTTTTGTGCAAAAAACCTTGGCCGCGACCAGCAACTAAAGTAGTAGGGGAGATAGGGTACCCCGCTAATTTTTTATTTATTTTTCAAAGAAAAAGTTTTAAGGCTTCGGGATTTGATGAAATGGCTCGGAAGAGCTTTTGCCGAAAAACTTAGGCCACGGCCAGCAATCTAATGAGAGGGGGAGGGTTCCCCGTTAAATTTTTTTTGTTTTTTAAACAAAGTTTTGGGGGGATTTGATTAATTGAGCACCATGGAAGAGTTGTTAAGCAAAAAAACCTAGGCCACAGCACCCTGAGAGGCGGGACCATAAGGTAACCCTACGCTATATTTTTTTTTTCAAAGAAAGTTTTAAGGTTTTGGAGGAAATTTGATTACATTACTTGGAAGAGCTTTTGCAAAAAAAAACTTAGGCCACGGCCAGCAACCTAACTCAGAGTAGAATGGGAGATAGGGTACCCCGCGGAAAATTTTTAGCGTTAATTTTGGTAAACAACAATGGAAGAATTTTCCGGTTTTCTAATCCATCGCATTTTCAGCGTCACGGATTCTGTGGCTTCCCCTCGCATAAAATGGAAGAAGTTGCCGACCTATATCTGGGGTAGATTTACAGTGCGTTGCGATGTCGAGTCCGCCGCTCGAATTTAGTTACAAAACTAGGTAATGTAATTATTTGTCCGTGTGGAGTACACGACTTTCCCAGGAAGGTGATTGTCAATGAAGCGCCAAAAATTCTCAACCAAAAGAATCCAGATTCCCGCGCAGCATCGCCTAGGAGAACATTTTCAAGAAATCTGGCTCACGAAGGATTAAGTAAAACAAGAAAAGAAATAAAACTCTAAGATGAAAGGTAAGGGTGGATGCGGGACAACTTATCACTATTTGCCATCATCATCATTTTTCTTCTCCTCCTCATCAGCTTCTGCTCCTCCGCGATCTCGCGGTGACTCTTCTGAAATTCTTAACTAGGCCAACACAACGTCGGCAACGAGTTTCGAACCCTTCACCCACAAACACATACGAAAAAAGCTCCTTAATTGGAGCAGGGAGACGGAAGAGGCGAGGGAGGAGAGGCTGGTCAATGAGTTAGAGTAGAGAGAGAGAGAGAGAGACTGAAAGATGAAGTATAAGCAGAAGTCGTCGGGATGACAGAAGTAGGAGGAGAAGAAAACGTGAGAGGTGGAGTCAGAAGGATATAATATATTACATTCATAGCGAGGATTACAGTTTAACGAGGCAAAACAAACGAATGCTCCAATATGAATTTTTGGGGTTACTGTAGTTTTTTCTGTAGCCTTATACTTCCAGAAGTTACATGATAAACATATGCGAGTTTTTTAAAATTTGCCAGAAGCACGGGTTCATTTTTTTCAGGCTCAATTGACAATCGCCTGCCGGACAACCCACGTGGAAAGTCGTTCCGCACGGACAAATACATTTAATTTTACAACTAAAATCGGCGACACGCAACGCGTCGTAAATCTACATATATGGCCGAGCCAAAATGACCGACTAGTTTGGCAAAGACTCTTCCATTTCAATTTATGATGGAAGCCAGAAATCCGTGCAGAAGTTTCTCGGAAAAAATACAGAAAGTTTGTGAAAGGGTTGCGACCTCTAACGGTCTTCATTAACATAAATTCAAATTTGACGCGCAATAATGAATTGCGAAATTTACTAGCGAAACATGGTGCATTGGGTGTTTGAACCACAATTTTACAGATCTGTGGTCACTAACATCAATGCATGGCCCGAAGGGAAGTGGTACCTGTACGCAATTTATCTAACGTAAACCTGGACGTTTGGGCGCGTGTATCTCACAAACGGTTGGTCCTGTTTTTTTGTGATGCATTTAAAAAATTTGAATTAAATTCTAAATTTATTGGACCAATGCTTTTTTCGTTGAGTATCACGCGCCCAGACCTGGTCTACACTCAAATTACCAGTAGAGCGCATTTGCTGACCACTTGCTGTCCGGGCCGTGTTCAATGCAACGATGGCGCGTCAAATCGACTGCAACTTCAGAAATCCCTAGTAGTTGCGCTTCAAATTTGATGCATTGCACGGCCCGGCAAGTGGTACATCTATGCAAATTCGCTCTACTGATAATTCAGTGAAGACCAGGTTTGGGCGCGTGATAACGAAAAAAGCTTTGGTCCAATAAATTTACTTAGAATTTAATTTCGTACATTTTTTATATGCATCACACCAAGAAAAAACTGGACCAACCGTTTTTACACGCGCCCAAACGTCCAGGTATACGGTAGACAACTTGCGTACAGGTACCACTTCTCGGGCCGTGTTGAATGTTTGAGTTAAAATTTTGAGTTATATGTGCTGGAAAATTGACATGAACATGGTATTTTTCATTATTTGCGCGTGATGGTGCATTGAAGTCGTTTGCAAATTTTTTTCAGAGCTGAGGTCAACTGACACCAAAGCAACAGAGTTGACGATTTTAAACTGCACTTTTGCACGCTTTGCAGTCGGTATTTGGAGGTTATTTTCGATTGTTGTGTGAGATTCACCGACACACCAGATTGGATGACGCGCAAAATTGTACGAAAACAGTTAGTTAGAAAACTAATAAAAGAAAACTATTAATAAAAGTATAGCGAACATCCTGAACAATTATTTCTGCACCGCCAATGTATCTATAGCATGAATTTCAAAATATACAAAAAAAAATTATGAAAACCACGACGAAAAACCCGGAAGTGTTTTTTGGGTAGCCTGTCTGGATTCCTGAGGGTATTGAATTTCGCCCTCGAATAATATTGTTTCCTTTTTCCCCAGAATACCTACAGAATTTGGGGGAAAGAAATGAACTGTTCCTCACATTAACCTACACGTTCTTATTTTTAATTAAATTTAGGCCACGCCCAGAAAGTAGCTGGGCGGGGTTGCACATTTTTCTAGCTTTCCAAAATATAAAAAGTCGGAAAAAAAGTTGTAGTCCGTAGTTTGTAGTTTGTAGTTTGTATCAGCTTGTCCCATAAGTTTTTGTACTTTTTTTCAACTATGTTTCCAACGTCTAGAAAGTTTTAAAATTTTTTCATCGTAGGTCGTGTCAAGCGGGTCGTCCCGGGCCTGTCACAAAAGATTCATTTCATCCATTTCTACTTTGCCACGATGACAATCATCAAACCTGAACGTCGAGACGTTAGATTGCTTCTTCTTTATGAATTTCGTCTTACTTAGGTCATTCAGCAATGGAAGCGGAACGAAACATATGCGGTCCGATGGGTGAGGGAGCACTCTCTTATAATACAGCACTCAAGAGTTTCAAAAGCTCAAGACGGCGCCGACTTCAGTCTCGAGAAATAGAACGTCAATGTGGGCGACCGGAGGCTACAGTTAAATGAGGAAGACATAGGGAAGCTGGTGGAAGCGCCTCGTCTTAGTCTTCGTGAAATGAAAGAGAACCTTGAGTGTTGTCACAATAGCAAAATTGCACGTCACTTGGGTCGCCTTGGTTTTACTTCAAAATTTGGAAGCCTGGGTGCCTCATGAACTTTCGGCATCACAGAAGCTCACTCGGGTCACCGATTGTACTCATAGACTTCTACCTTTTCGTCGGTACGATTGGCTGAACGACCAATCTTTACGGGAGATGAGAAGTGGGTGCTCTATGTTAACCCACGAAAACGTCTATGGCCGATCGGTGAGAAAGGAATAGCGACGCCAAATGATCTTCACCCAAATTATGATCTGTATCTGGTGGGCTGTTCAAGGACCCGTGCACTGGGAATTGTTGCCCACTAATAAAACTATCACTGCTGATTCCCTGACTATTGTGCCCAGACCGAGTTGCAAAAGACCAACGGAAAATATGAAAAACTATATTTTCCAGCTTTCACGATAATGCTAGTCCTCATGTCGCCAAGAAGACTTTGCAAAAGCTGCAAGATCTTGGTTGGACTGTTTTACCGCATCCACGATATTCTCCACATCTTGCACCAACGCGTCAAACTACCAGTTCTTGTCTCTCAGTGACTACTTGCGCGACTAGCAAAGTTATTCGACGACGAAGAGCATCTCAACTGAACTCTCCACTTTCTTCTCATCGCGCTCGGTACGCATTTCTTCTCCCGTGGCAACATGATGTTACCTAGTAAATGGCAACAATTTGAGGTGGAAAGGTGAATACTTGTGTGTATAGTACTACTTGTCGCTTGAGAGAAATAAATTTTTTTTCAAAAAAAAAATAGTAGAAAAACTCATGGGACAACCTGATAGTTTTAGTTCGTTATTTGCTAATTGTTAACGTTAGTATTCGCCCAGGAGGGCCGAAATAAATAAATTTTAGAAAAGAAAACGAAATTATATACATAGTCATTAAAATGTGGTAGTTTGTAGTTTGTAGTCGATGTATTATGTCTATTCAAATTGTATTATAAACAACATCTAAAATTAAACAGGAAACTTATATTTAAAAAGAAAACGAATACTGAAAAAAGGCGGCTGCATAGTAAAAAATAATGATTCTCCTCCAAAAAATGGAATTCCATTTTTTCAGCGGCTATTTTCACGATGATGAGAGGAGACCAACAAAAACATTTGAGATGAGAAATGAGGGGAATCTTGCACAATTGAAAATGGGAAGTGATTTTTTTAACTTTATACACAGTTAAAATTCCAGCGAAGATCTGCGCGCAGAGTGTTTTTGGCGTGGATCGCGAGAGAAAAAGGAACCGGAGGTGCGCACAGCATTGTGCGTCCATCGCGAATTCTTTGAGATGCATTAGAGTGCGAGCATCGCGAACATAAATAATGGGCACATGTGGTTTCTCCTTTCTGATGATATTTTACTCTCTATGGCTTCTCCAATTATCTTTATCTTGTACTCTGTGCGCTGCCTACTATATTCTACTCTCAGTGTCACCAGTCATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCCTACTATATTTTACTCTCTTTGGCTTTACCAATTATTACTGTGGCTTCCCACTATATTTTACTCACTATGGCTTCCCACTATATTTTACTGTCTGTGGCTTCCCACTATATTTTACCCTCTGTGGCTAGTCCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTAGATTTACTCCTGTGGCGTCATCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCACTAAAAATGTTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGTTTCCCACTATATTTTACTCTCTGTGGCGCTACCCTCTATATCTTACTCTCTGTGGCTTCACTAACTATTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACCCTCTGTGGCTTCCCACTACATATTACTCTCTGTGGCCAACTATTTTACTCTCTGTGACTTCCCACTATATTTTACTCTCTCTGGCTTCCCACTATATATTGGTTAATATCTGTTACTGGTCACCATTCTCGTCGCTTCCCACTATATTTTCCCTCTGTGGCTTCACCATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTAAATTACTCTCTGTGGCTACACCCACTATTTTACTCTATGTGGCTTCCCACTATATTTTACTCTGTGGCTTCCCACTTTCATATTTTACTCTCTGTGGCTTTTTCCACTATATTTTCCTCTCTGTGGCATCACCAACTATTTTACTAACTCGGTGGCTTCCCACTATTTGACTCCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTACCGGTTTTTACTCTCTGTGGCTTCCCACTATATTTTTATCCTCTCAGTGGGTTCCCATAGCTCTACTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTTGGTGGCTACACCAACTATTTACATAACTCTCTGTGGCTGCCCACGCTGTATATTTTACTCTCTGTGGGCTTCCCACTATATCTTACTCTCTGTGGCTTCACTAACTATTTTACTCTCTGTGGCTTCCCAATATATTTTACTCTCTGTGGATTCCCACTATAACGATTTTACTCTCCTGCCTACAATATTTTGTCTGTGGCATTCCCTCTATATTTTACTCTTGGCTTCACAGTGTATTTTATTCTCTGGCATCACAATTATTATATTATACTCTTTGTCTTCTCGCAGAAAGGATATTTTACACTCTGGCTTCACAGAATATTTTACTCTCTGGCTTCGCAGAATATTTTACTCTCTGGTTTCGCAGAATATTTTACTCTTTTTCGCTATGTTTCACAGAATATTTTACTATCTATTAATCCAATTCTTCGTATAACAATCTATTTTTTCGTATTAACAATCTATTTTTTGTATAACCAACTAAACTCGACTTTTCCAAAATTACAGGAACCCTAAGAAATTCTACAGGACTCCTAACTCGCAACCTGCAGTTCAATGAATCACCTCGTTTTTTCACGCGTGACTCATGACTTCCACATTAGTTTACATTTCCTTCATCCATCGGTGTTGGGGCGCTGTTAATATACAACAATTAGAAGAGACCCCACCTCACGCTGCTATTTCTGCTGCTGATCTGTCAAGAATTCTTACCGCCACTTATGACTCATGCCATCAATGACTACTTCCTTCTTTTTTATATTTTCGGCTTCATCTCGAGTAGCAAATTTAACAAAATTCAATAGGTGTGACGTCATCACACCTTCCAGTGGAGAAATCCAAGATTTCTCTCGAAAGGATCAATGTGGTGTCATGGCCAAAACTCCAGTGTGAAACCTAGGCTATGTTAAATATTGAAACCGACTCTAAACTGAGCACATAAGGCTATGATGTCATGGCCTAGAAATCCCAGATTCTATGACGTCATGAAAGACCTGAACTGCACCGAACCTACGAATACCGTCAAAAGGGGTCCTGCTGTGAAGTCTTGTTCGAGAAAACAACTGAGTGCGAAAACTACGGCTCTCCGTAATCTACCATGTGGTAGATCATGCGGCCCTATTGATGGTAGAAAACTTACAGCTTGAAGCTATGTCTTACCTAGAAACTCAATAGTTTTGACGTCATCAATGGCCTAGGTGTATTCGAATGACGCAGTGTCTTAGAATTTTCTGAATATCACACAAAAGTATAACATCTTCTTGAAACCAAATAATTTTGAGGGAATTTGTAACACCCACCCAGTATTGTAACAAATGATATAATAGCGATCGGAACATTCGAGAAAACTGGAAATTTGAGACCTTGTTCGGGAAACTTACCAGTGATTATGCCCAGAGGATGGCTGTGTCGAAAAATGTGCCTAGGAAATGGGATTAGAAAACACGCTTCTTCCTTTTTTTTTCTAAGTACAGAATTACGTTGATAACGAGAAGTGCATTTCATTTTTGTTAGGTTGGAAATTTGAAATTTAAATATTCGTCTCTAGTTAGCACAGCCGTGGAAGACTTTTTCAGAAACGAAACTTTAGCCACGTGTCGCTGGCGGTGCCCACGATATTAGAGAATGTTGATATTTCCTATTTACTTATCTGTGATCATCGAAATTTTAAGATAAAGTTACTACCGTTCAGTTACACTGGTGGAAGAGTTTTTAAGATTTCCCACCGCACAGTTTGGGTGTGCCAGTGACCCTAACACTAAATTTGTAAAATTCTTTTTTCAGCCAAATAATCATATGGTGGTGTCGCCTAGAACCAGAAATTTAACACCTGAAAACTCTTCCATATTTTTTTAATTTCTGAAATCCAACGAAAAATAATTTTCAAACTCCTCTTCCTTCGAATGTTCCAGAAAAATAAAATAATGTGACGAAATCAAGTTCATCTATGAGTTGTGTGGAAGAGTTCAGATTCCTAGGCGACGTCAAAGTTTGAGGGCCCGTGACCCTATCTCGAGACTAAATTTTCCAATTTTTTCAGCCAACCCCAATCAGAAGCTTTCTCTGGCCTGTAATGACATGACAATCGGATATTATCATATGAAGTTTTTTAGGTTAAATTTCTGAGGTCATTTGCAAAGGTGTCATGACTATCATAGTTTGGAGGCTTTTTTGTAACGGTAGGGGTATGAAACTTGTTACTTCTCGAAACGGTATTATGTGGGGGAGAGGAGAAGGAAAGAAGGAAGGTTAGCCAACAGAGATAAAGCAAATTTTGTGTTAGTGGTGGCAGTTTTGAAAGAAGCCATGCTCCAAGGTCGGTTTGTCTTCTTCATTTTTCGGTTTTCTTTTTTGTAATGATTAAAAATATTTTTGTATAGAAATAAAAATTCAATACCAAAAAAATAATCACTGGAAGTTTCAACGTATCGTTTGACGCCTTCAAACATTTTTTAAAAATTCACAGTTTTTCAAATAGATGTACGTACACGTGGTGTCAGAGTATCTCACTTAGTTTCGGCTTGACTACACTTCAAAAAATGCGGGAATCTCCAAAAAAATGTGGAAGTACAGCACGCTCTTATGACCATGCGAAATCTTGAGAACTCTGCGTCTCTCCTCCCGCATTTTCTGTAGATCAGCGTAGATGAAGCCGAAACGAGATACTCTGGCACCATTTTATTTGTTTAGGGCAAAAAATTCCCGCATTTTTTGTAAAGGGATCAACCCGTAATGGGGCGGCCTAGCCCCAGTTTGCGTGCATACTTATTCCTGATGCCGAACGACATTCGCCGATATCCCGTTTTTACAGTATGACTCCCAGTGGGTTACTGTACCAGATTTTTGGTGCTTTTATAATATTGTTTTCTTTTTCAAAAATCTATGACGGAAAAATTTGTACAATTGTTTTTTTTTAATATTTGAATTTTTTCGGCTCCCAGACATTTTAGCGGGATATCGGAGTATCGGCGCATGTAAACGTTTTTTTTTTGGTTTTTTATATTAAAAACGGTTAAGTGTCGTAATAAGACGTGATTCATTTGAATAAAAAATAGCGAGCGACGCCGGCCACCACGACTTAATGGCTTCCCGTCCTAATAACAAAATGGAAGAGTTTTTGCTCCGAACTAGGCCATTTTGGCTCGGCCGTATCCGGGGTACGATTTACGGCGCGTTGCGTGCCGCATCGCGGCTCGTCATTTTAGTTGTAAAACCTAATGTATATGTTGTCCGTGTGGAGTACACGATTTCCACGCGGCGGTTGTCCGGAGGCGATCAATGGCGCGCAAAAAATTATGCCTAGGACAGGACACCGATTCAAAGATATAACGGCCCACATTTCAACAGCGGTATATCGCGAGGGAGTGTCGTTAAGCCTGCACACGGGTTTCTGGCCTTTTCATTGCTTTTGCGCGCTCCATTGACAATCGCCTGCCGGGCAACGCGTGGGAATCGTGTAATACACACGGACAAATTTTTTTAAGTTTTATAATGAAAACCGCGACACGACATGCAATGCGCCGTAAGTCTACCCGGGCCGACCGACACGTGGTGTCGGAGTGTCACGGCTTGATCTACGTAGACCTACAAAGAATTTTGCGTGATTAAGGACTAGTGAGGTGAAGTCACACAACTCTTATGGGCAAAAAATTCCCGCATAATTGTAGATCAAACCGTAAAGGGACAGTCAAAATGGCCTAATTCGCTCTTACATTTCAAAATATAATGGTAGGCAAAAGCATGATGGGGAATTTGTGATTAGATTTTTGAAAAAGGAAATACAATTTTTTCCAAATTTCTACTGAAATTTTTAAAAAAAATGTATTTTTTCCCTAAAATCTTCAAATTTCTGGGGTAGTTTCAATCTCTCACTACCGTGGTAACCAAAAATATGTTTCCTATTTTGACCTCCCGCCACACAGTTTTACTAACAACTTCTTCCCCCCCCACCCACCCACTTACTTCGTATCTGAAACTCCGCCCCATTTTTCGTGTACTTTACACTTGAATGGTGATGAGGTAGAACAAATCTGTGTTTATTGGAAGATCAGCAGTGGTAGCAACAGGAGAAGAAGAAGAATCAGCACTGTGTGGAACCAGCCAGCTGTGTTGTTGTGGTTTTAGTCCTGGGGCTAAGGGAAGAGAGAGGACGACGTCGTGTGTCTTCAATAAAATGAGGATCTGCTCCTATTCCTGACTTTCTTGGCTGGAATTGTTCAGGTAAGCCGGGGTTTAAGTATTGATATTGGTGCTATTTGAAAATTATTTCAAAAATTTTCGATTGGAAAATTTTTTTTTTTTGGCCCAAAACTTTCTTCTAGAACTTTATCATTCCTAGGCATACTAAATATGTCTGCAAATATTATTTTTTCTGGAAAAACACTTTTGAAAATGTACATATGGATAGCAAGTTTGGTTTTAGTATTATTTTGAAAAATTATATTTTTTCAAAAAAATTTTTTACAAATCTAGCAAGAAACGATTTTAAAAACAATTTTAGTCCATTTTCTTTTTTGTTTTTTGGAAATTTCACGAAATATCGGCCCAAAATCAATGCAATACTATTTTTTCACAAAGAAATTTTCAAAATTTGACAATATACAGATCTAGGGCTTCCATGTTAGGCAGGCGCGGTTGCAGACGGCTGCCTGAAACCTGCCTGGTTGCCGCCCGCCTTAATTTTTACGGGAATTTAGAAAAATTTCTAATTTTCTCATTTCTATCAATTTGATTAAAACCAAAATAAATTGCCGAAGCCAAAGGTTGCCTTAAAGACAGGCAGGTGGGCGTTTTAACGCCGAGCAGCTTTACAAAAGCACTATACAACTCTGTTTTTGAAATCTAGCAAATCTTTAAATCAATAAGAGACATGGTGGACAAGACAAAGACATCGACAAATTTTCGACAATATCATCTATAATTTTTTTCGGAAAAATTTTAGTTTATACCTTCCAAATTCGCCAAAGTGAAAAAAAAGTTCCTAAACGTGAGATATTGTATGTCTTCTACACATACTAGCCAATATCAATAACATCTGCCAAGAAAATCTCGAACCAAACACCAAAACGCGGCGTTTGGTAACCGGTTTTCTCTTTTCCAAAAAAACTATACATAGTTTCTAGTAAACAAATACAAATGGAAAATTCAAGGTGACAGCGAAGAAAAAAAGAAAAAAAATAGTTGGTAGTCGCCTAAGAATTGCATGTAACGTCACACCTCGGCCTTAAGAGGGGTCATGGTACATGCTAGATGATTAACCATGGCAAAAGAGTGACGGACCTTCTCGGCCATGACAGTTTTTAGGTTTAGGCTTATTTAGGCTAAGGCTTCGGCTTAGGGTCGTAGGCTTAGGCTTAGGCTTAGACTTAGTCGTGCTCAAGCTTGAGCCTTCTTACACTGGCGTAGGCTTATCCTATGAGCCCATAATCTGAAAACAAATATTAAAAAAAAACCAAAAAAAAAAAAAAAAAAAAACAAACAAACAAATAAAAACAAACAAACAAAAAACAAACAAAATATTTGAATTTTTCTAAGAAGACAAATACGTTACTATCGGTCACGATTTTTGGGCTTTAGGTTTAGGTAGATGTTTAGGCTTAGGCTTTGGCTTAGCCTTAAGCTTAAGCTTAGGCTTAGTGCTTAGGCTCAAGCTTAAGCTTAGGGTTAGGCATACCTTATGAGCCTATAAGCTGCTAGTTCTGAAAAAGAACCAAATATTTAAAAAAAACCAAAACAAAAACAAAAAAAAGACAAACAAACAAATAATTTATCAGGTCCAAGTCTTGCTAGCAATGTTCAAGCCGCTCCTTGAAGGTGGCTGTGGTGTCGGTAATCCGTTTGCAAATCCAAAGGCGATCGGCGTAAGTTTTCGCGCGACAGGCACAGACAAACAGACAGACAATCGAAAGTAGTCCAGGCGCTGAATGGGTTACGCAATTGGTTTTGGGCGCCACGCGCACATCAATTATTTCCATAGATACATACATCATTCAGATACGTGGAAAACCAACACAACGTGAAGATTTAGTGGGTTGGCAAATGCATTTTATGTTTCTTTCCCAGGGTCTCTTCCAACAATTCGCCGGTGGAAATGATGAGGGGATTCGGGCCTTGCTGGAATGGCACCGGTATGTGTTGCGACGGTTAAAACGGACGTTGTGAAAATTTCCGCTTTGGAATATATTGAGAATATTCGAAAATTTTTGTAAAATTTTCGAGATTTTCTTCTAAGCTTTGGCGCGCATCTTAGGCTTAGGCTTAGGCTTCGGCTTATGCTTGCCTAGGCATAGGGCCTATAGGGTGCCTTAAGCGAATTAGGCTAAAGCTCATGACTAGACTTATTCTTAAATTTAGCCTTAAGCTTAGGCATGGAACCCTTAGGCTTAGGTTTTTGCTTACGCTTTAGGCTTTTGCTAAGGCCTTAGCGGCATAAAAAAAGGGATGCCCAAAGTAAAAGACAACTTTTGACAAATTTGAAAGTGAAATATTATATTTTAAGCCTATTTTTTCCCTAAAAAGAAAAAATTACTTTTATAGTTTAGAAAACTATTTTTTGGCAGTGTTTTAGCCGTCAAAATTATGGCTGAAAAACAAAGTTCAAAATATTTTTCATCTAAATTCTTTTAAATTTGCTCTACCTTGAATATTGAAATAGTTTAAACAATTTAAATTATTAAATTTCAAGTAAATTCTAAAATTTTGTTCATTTATTGAAGTTTATGTTCACTCTTACAATATAAATTAGGGTATAATCCTCAAACATTCCAGAAACCAGCACCAGCCGCAGCTGGACCCCGCTCAGCTCCAGCTCCAACCAACGAGGATTACAACACCGACATCGACGTCCCAGCTCCAAAGGCAACGAAGCCCGTGCAGCTCCAACTTCCACGAAGAGCACAAGGTGCTGATGATGATAATATTGATATGACTCTTACACGTCTTGGCTAACTTGGCATGGAAAAGCCCAATTCCTTTAATACAAAAAACTTTTGTCAAAGATTCTCAAAATTTTGCACTTTAATTTTTAAGTTTAATTTTTAAAAAGTTGTGGACTCTCACGTTTGTTAACCATTTTATATGCAAATATGATCCTTATTACTAACAATTTTTAGTAATCTAAACATAAATTGGAATATTTGGTCTTTTTCCCGCCGAAAATCATCAAACATTCCTTAGCAACGGAAAATTGCAGTGAATTGTGTTGGTTTAATTTTACCGTCATTTTTTCCGCATATTTTTTGCCATAGCTCTGCTGTGTTTTGTGCCATCCTTTTCTCTGTGCTATAGAACCTGTTACGTACTTCAATAAATGATTTCTTTTAAAAGTTTTCGCACAAAAAATATAGTCGAGTAGCTGGCAAAATACACGCCATGGTGCAAGAATGTCTCATTTCAGCTTGATCTACGTTGATCTGCAAAAAATGCGGGAGAATGGAGACGCCGTGTTTTCTATTGACTTTGCCTGGTTAAGAACGTGCTGAACGTCACATTTTTTTAGACAAATTCCCGCACTTTTTGTAGAAAGCCGTGGTGGGACATCCTATCCCCACTTGCGCTGGGGGGACAAACCGACATAAGTTTTGAAGACATATTACACATATACATTTAATAACATCTATGTTTTCTGCGGAGGGAAATTAGATTAGAGAATTTCAGCAAAAAAATTCTGATAGCTTTTTGATTTATATTATAAAATTGTTCTTTTTTTTTAGCGAATTCTGATTTTTACAAAAAAGAAATTTTGCGTGAAAACGCTGCCAATATGTGCCTGTCTTACCCTAAAATAAACATTAAAATGGTTCAAAAATTATCTTTTGGAACAATTTTACGGGTCACGCGAAATACTGTCTTAGTTAGTTTTTTTTCTTTGAAATTTATTATTCCCAATATACGTAAATGTCACTGCAAGTTAGAAAATTATACTTGTTCTTTTTCCAGAAATTGAAATGTACATGATACAAGGCTGATTCCATGCAAAATCTAATAAAATTTTTAGAAACAATTTTTTGTCAGAGTCTTGAATATTGCCTTGAGCTATAAGTTACCGTTTTTTTTTTAAAAAAATCAGTTTGGCCTAAAATCTTAAGACTAAGATTAAGCCTAAGCCTACGCCTAAGCCTAAGCCGATCAAGCTTAAGCCTAAGCCTAAAAGGGCCTCAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAACTTAAGACTAAACCTAAGTCTATTCACTAAAATTTTGACGTAAAACTTGTGACTAAAAATTTTGGAAAATTTTTTATAAGTCCTAATGTTTGTTTTTCTAAGCCTAAGTCTTAGTCTAAGTCTAAGTTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCCAACTCTAAGTCTAGTCTAAGTCAAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTACTGAGGTCTACGTATTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTATCGGAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAATCTAAGTCTAAGTATAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTGAGCCTAGTTCAGCCTAAAAAGAGGTCTAACGCTTGCCACTGACGCACGCTCTCTAACGCTCACCACTGAAGCCACGCCTAAGCCTTTATAAGCATAAATCAATTTGAAACTTCAGACTTAAATTTTTGGTGGCCTATACTCTGTTAAATTTCGCTTGTGATCAGAAAACGGGACCCCTTTGTTACAAAAAAAACTAACGCTCGCCACTGACGCCAAGTCTAAACCGTAATACTAAGCCTAAGCCTAAGCCTAAGCCTAAGCGTAATAAGGCGTAAGCGTAAGCGTAAGCCTAATAAGGTGTAGTGTAGCGTAAGCGTAAGCCTAAACTTAAGCCTAAATCTTTGGACAAAAATTTTAAAACTTTGACCTAAACTGCGATACTAAATATTTTGGACGCAAATCTCGGCCTGAATTTTTGGAATAATTCTGGGAACTATTCCAGAGTAATTATAATTAACAAAAAAATTTTTATAGTATTCGGCGTAAAACAAAAAATAGATGCAATGTTTTCAGTAATAAGTTTGAAATTTTCGAAAAATTAAATATTTCTTCGAAACTTCGAAACTTACTTTTCTCTGGAATAACCCCAAATTCTAGCCGCCGAGATGCCCCGCCAGTATACCGCCAAACAGCCTCGCACAAAAGCCAAAAATCGAAAGATTCCGGAATATCGGACATTCGCCGTTCGTGTACGTGGTGAACACCACACCAGCTCCTCACTTTGATAACTTCATCTGGCCACAAAATGCAGCTGTCCCAGGAGCCATTCACATTTGCTCCATGCTCCTTCCAAACTCTTGCCACCACCACCAGCTCCAGGACCCGGCGGCTCGGACTCTTGAGCTATTTTTACCGACGACAGCTAGTCCGAAGCTGTTCTCATAACACTGCTAATCAAAAAATTTGAATACTCAATACCTCCTTATAACTTTTTCAAATTCCAGATGATCCGAGAAATCGCTTCATTTTCCGACAGAGGACGCTCCAGGGATCAGGATTTTGGCGCAGTCGTCTTCAAACGCTCATGCAAGCCCTTCGAAGCAGTCTCCAGTCGGAAATAATGGTGGAGCAGGAGCTGCCGCCGGAGCCGGAACAGCTCTAGGAGTAGGTTAAGCTCACTAAAGACGTCGTGAAGTTTTACTATTTTTTAGATGCTCCAATGCTTCAAGCCCATCGAGATGGTAGTTGGGGGCAATCCAATCGCGCGCTAACCAACAAAAGCTTTTCGAGTCGGACATGGTGTTGACGGTCAAGCAGAGGCGTGAGTGTGGGGTACGGCGCAATAAGATTATTGTAGGGGTACTGTAAGATCTCTGTAGGGATACTGTAACCCTACCGTGATATTATAAAGGGGTGCTGTCAGATTACTGTAGGGAGTACTGTAGGATTCCTGTAGGGGTACTGTAAGATAAAATATCTGTTTAAGAGGTTACTGTAGGGGATGCTGTAAAATTTCTCTAGGGATATTGTAGAATTATTCCGACGTAGGGATACTGTAGAATTACTGGAGGGAACTGTAAGTGTACTGTAGGATTACTAAAGAAGTACTGAAGTATTACTGTAGGGGTACTGTAAAATTACTATAGAGTACTGTAAGATGTAGGGGTACTGTAGGATTACTGTAGTATTACTAAACAAGTACTTAAAGATTATTGTAGGGGTACTGTAAAACTAGAGTACTTTTAAGAGTACTGTAGGATTACTAAAGAAGTACTGAAAGATTACTGTAGGGGTCCTGTAGGATTACTGTAGTATTACTAAATAAGTACCGAAAGATTACTGTAGGGGTACTGTAAAATTACTATTCCGAGAGTAATGTAAGATTACTGTAGGGATACAGGAGATTAACGTAGAGACACTGATCGTAAGATTATTGTAGGGGTTCTTTAAGATTTTCATCTGTAGGGTTACTGTAGAATTACTGTAGGGTACTGTAAAATTACTGTAGGGGCACTTTAAGTTTACTGTAGGGATACTGTAGAACTACTGTAGGGTAACTATAAGTTTACTATATTAGTTCTGGGTACTGTAAGTCCCCGTAGAGACTTAATAAGATTCCTGTGGGGGCACTGTTACACTACTGATAACTAAAACGGTACTGCACGGTACTATAAAGCGACCACCCTAGATTCATGGTTATTTCAAAATTGTGCTGCCGCCCAAGAGGCCCGTAAACGGACGTAAAAAGCGAAAGGTGATTAACCGGGATCCGTGTACCGATGGAAGAGTGTGATTCCCTTCCGATTCAAAGGTGGCGACGCGAAATTGAAGAAGCTGATCCGTGAAGGCCTAGGCCTATGGGGAACGGGTGTGCGATGGAGCGACAATGCCCCCGCCAAGGATTATGTGATCTTCTTGGATCGGGGTGAGTTGACATGCCCCACAGTGTAGTTTTTTCATCAGATAGTTGGTGGGTTTTTTTTCAGATGCTACTCATCGCTGTCGATCCGGAGGATCTCAACCTTATTTCGATTCGGTATGGCTGTGAAGATCTAAGTTTTAGTATTTTATACTATTTATAAATTCAAATTTTCTAGAAAGGAATCGTTGCTCACGAAGTCGGTCACTCCCTAGGTTGGCACGAGCAGTCCCGTCCGGATCGGGCTCATGACTACATCCATTTAAGAAAAGACTGGATTATTAAACCGATGGAAACTTCGAGAAACGAAGTTGGGAAGAAATCGAGGATATGGGCGTTCCGTAATGTCGGAAGTGTAATGCATTATGGGTCGAATGTAATTGTTAATTCTGAGTCGGTAGTTTAGATACTCAAAATGATTTTCAGGCCAAAGGACTGGGACCAAATTACTATTGAGACCAAAGATAGTAGAGGGAACGATTGGTCAACGGTGAGCCACATGAAGCTTTCGTTTATCGATGTTAAGCAGCTTAACAGGCTTTATTGCAATTGTGAGTAGTTACGCAAAAATGAAATAAATTTGACGACTGAGCGGATCGAACGCCCAATCTTTCAATCTGGAGTCGAACGCGATACCATTGCGCCAAGCAGACACAGTCGCAGGAAACGGATAGAGGAGAAAAGAAAAAAATAGACAACCCTACGTTTTATCAGTGGAGCGCGGTTGCAATTTAACATTCCAATTTTCAGCTGTTTGCCCGGTTGCCTTACCCTGCATGCAAGGACGATACCCCGACCGCCGAACAATAACTGTGCGGTTTGTAGCAATGTCCAGACGGTCTCGGAGGATTGTGTGGACGTGCCGCTAAGCGCACAGATCATGGACTCCACTGGAATTTATGGGAAAAAACCCCCCTAAAATTTTCCGACAAATGCGGCGGTGCTAACAGCGACCACCGAATGGCAGGAGATGGTCTACAAGGGGAAGCGGACGTGCAATTGGAAGGTGAAGTCACCGAGCGGTGGGCGGGTTCGGTTGGTGCTCACCGAGCTAAGCAGTGTGCACCGGCGTGTAAGGCCTACAACGAGATCAAGCATAATACCGACTCCCAGCAGACCGGATTCAGAGTTTGGTGAGAACCCTAGATTCCCAAAATTCTACACCTTTTTCAAAAAAAAATCGAAAATCGACCCATTTTGGCGGGAATTAAAATTCTTTTAAAAATGACAAAATATTTTTCTGCAGAAAATGTTTCGACTTTTTTTAGAAAGCAAGCTGCGTTTCACGCGGTTTTGGCTTCCCTCATATATTGAAGTGGAAGAGTTTTTGCCTAGGCCATTTCATGGCTCGGATATCTACTGGGCAGATTTACGGCGCGTCGGATTCGGCTCGATTAGTTGTAAAACTATTTAATTGTCCGAATGTGCAGTATATGCGACATTCCCACGCGTTGTCCGGCAGGCGCTTGTCAACGGTCCACTAAAAATTGAATCAGAATCGAGCCGCGAAGCGACACGCTACGCGCCGTAAACTACCCCAGATATCGCCAAGCCAAAATGGCCTAGTTAGCTCTTCGGACATTTCAATGTATGAGGGAAGCCAGAAATCCGTATAAATTTAATTTTTTGTTGCTTAAAAAAAAAAACTAAACATCTATTTCCCAATTCAAATTTCTAGCTGCTTCAACAAAACATATGACGTCATCTCCGACCACTCTGAAGCCCTGATCCTCTCCAACGCGAACATCTTGGACTACGCGTAGGGCTCCTACAAGCTGCAATGACCGATTCAAGCCCACCCCCCCCCCCTTTTTTATCCATAGAGCGCACTCTGATTTGTTCCAGACAACGGAGAAGCCACCACCGAAACCCACGACCCGGGTGTACAGCCCGGAGAGAACCATTCCGCGGTGTGGAGAACTGGGGCGGCACCATCAGAAAAGTTCATCCTGCAAGCGATTCCAAAGATCCGAGACTCGCATCGGCCACTCGAGAGTATTACTAGTATTGTTGCGGAATATGGTCTCGCAACGCTACTTTATATATAATGGATAGTCCGACCGATTTTTGCAATGGCGTGAGAGGATTATATATATATATTTGTAAATTTGGTACCATTCCAAAAATCCAATTTATCTTTCACAATTTTCAAAATTTGCTCATCTTTCACAATTACTCGGGGATTAACACATCTAATGGCTTTCAAATTCATAAATAACAGTTCATATTTAAAGTGATTATTATATTGCAGGAACACATATATCTATGCGTATCGGACAACATATTTTGACCAAATATCTCGTATCGAAAACTACGTTTAAAGGACTGTAGCGCTTGCCATGTCGATTTACGGGCTCCTGTTTTGAAATTTACACGGTTTTCATCGTTGGCTAGCTTCCCCTCAAAAATTGAAATGGAAGATTTTGCACTAGGCTATTTTGGCCACATCGTTCAAAAACTACAGTCGAATTATTAGCGTCAAAATGGTGACTACTGTAGCGCTTGTTTCGATTGTACGGCATTATTGAGATTAATTTTCTTTCGAGTTCCCTTCGTTTTTAATTTTTTGCTTAATTTGAATTTTTTTTTGAGATATTAAAAAAAATGATTTTACACGGTCTCCTGGAGTGTTCATGATTATTGGAGCGCAGTTCCTGATCCTTGCCGCGCTGATTTACTTTTTCACCGTTAGAAAATGAGTAAAATCAAAGATTCCATTGGTCAAGAAATCTGATTAAAATAAATAGGATTATTAATTTTCAAAACCGAGTCACAGGTGGTGCCAGACTGCCCCATCACGGTTTGATTAGATCTACAAAAAATGCGGGAATTTTTAGCCAAAAAATGTGTGACGTGAGCACGTTCTTAAGCATACGTTAAGAGTTGAGAATTCTGCGTGTATTCTCATTATTTGTAGATCTACGTAGATCAAGCCGAAATGAGACATGACACTTTGACACCACGGTCCGTAAATTGACGCCAGTGCTACTGAGTCATTTAAAAAGTTACTGCCTGTCAAAATAATTGCTGTTCCCGTAATATCGCATTCAGCAGGCCACCCTATGAAAACCCAAATTGGAAAAAAATCAATAAAAATTTGAATTTTGACGGAAAAAAAATTGAGACCACATTTTTGTATCTTGAATATAAACCCGTTGTTTATCACAAAAAATTAGTGAAAATCCTTCAAATCATATTATTAGTTCGAAACGTCGACGCGTAGGTGATCGATCGTACACTGGGAATTGCCGGTTCCGAGAGTTCACCGCCGTTTGATATCCTTCTTTGCAAACTTTTGATCTGAAAACATTGACTTTTGCTACCTGGTGGAAGAGCAAACTCGGTCACTATGTTTGTTTTAGCGACAAGGGTATATGCGCAAACCTACAAAATGATCTTCAAAAAAGAATTTTTTGCCCAACAAAATGAAGTGTCAGCACGTTCTGACTAACACCGTAAATCCCGCATTTTTGTAGATCTGCGTAGATCAAGCCGGAACACAAAAATATCAAAGTTTTGAATTTTTCAAATAAAAGCCAGCACACGAGAAGCTAGCCAGCTTGAACAGCAAGTAAATAAGCCACAAAACGCGCACAAAGCTCAAGATCAAACGAGAACTTGGTCGCCCGCATTGAAACTTCTGTCATGTGAGAGAAACGGTTGGGTGGCGTGATCGTTCAAGACAAATGAAAGCATGTAGACTAGTCCATCAATCAGATAGACTGCCGCAATGACTGGCAAACCCTTTGACATCCTGCTCATCAGAACCCTGGAGAAGCCCGCAGCAAACAGACGAAAGAGCAATGTAACTGATGAGGAATAGAATGAGCTCACGGAGAAGTTGAAGAGATCTAGTCGGTGCCCGGGCTACTGCTGCTCCTGATGCAGAATCCGGTGATGGGATTGGCGGCGGCGGCTTTTGCGAGATCGCGAGCTGGCATCGACTAGTGGAGCCGTCCCAGGATGAGCATGATCACGCGGGTGCTGGAGTCGTCCTAGAGAAGATCATTTTTTTAAATCCGTTAATGGACGGAAAATTTATCATCTGGAATACAGGCTGACTAGCCCTATTTCCCGTGGTAGTGTCTTATTTCGTCTTGGTCTACCATGATCTACAAAAAATGCGGGGAAAAGAGACGCAGACTTCAACTCTCAACGTATGGTTAAGAACCTGACGTCACATTTTTAATGTACAAAAAATTCCGTCGCATTTTTTGTAGATCAAGCTGTAACAGCACAAATTTCAGCCCTCAATATATGCGATGTCCTTGTCGCCTTATTCCACGACACACAGATCAAGAGCTAGTAGCCAGAGACGCGCCGTGTAGTAAATCAGTGAGGCCACTAAAGAACATGGAACATGGGAAAGCCCTCCGACGACCGACGAAGGTGATGTAATCGGTTCACGAAATCTGACTGTCTTTGGAACTTCCAAAATTCTTTTTGAATGGTTCGAAAATATTGAGTTTGAGCCTAGTTAAGTCCATTTGAAGTTGGTGGCCTAGGATTTTTAGGAGTATTCTAGGCCGCCAACTTTGGACAGCCATAACTTGGCTGAAAATGAAAATTTTTGAAATCTAATTTCACAGTTGAATTTAGCAGACAATGAGCTTAAATTTGAGAAATATTTTTGCGCCTTGCCACGAAAGCAGACCTACAGTAATCCCGCCATGCATAAATTAATGTTAACTGAAAGCTCAGAGTATGCTAAATTTAAATACAAAGTTCGATTTCCAAACATCTCGATTTTCAGAAAAATTATGAAGACGCTAAGTTGATTGGGCCTAGCATTTTCCTCAGAGTATTCTAGGACGCCAACTTCAAACGCTCATAACTTGGCTCAGAATTAATATTTTAGAGCAAAATAACAAGTATTTAACATAACAAAAATCTTGTGATCTACCGCATACAAGATGCGCCCAATTTTAAATATCTAGGCCACCAAATGAAAACCGTGACTCGGCTCAAAATTATTTCTGCTTCAACCAAAAACCAATTCATTTATATAAAGCCCGGTGTCGGCTCAATTCAAATACCAAGTTTATTTTCAAAATACCAATTTTCAAAAAAGCAATGAGCGTTCTAAGTTGGTGGCTAGGATTTTCATAGATATTCTAAGCCACCAACTTCAAACGCTTATAACGTGGCTTAAAATCAATATTTTCGAGCAAAATAAAAAGGATTTAATAGAAAATCTTGTGATCTATGCAGAATGCATAAATTCTGCAGAGGTCACTAAGTAAAATATTCGGTGCCACAAGCCTCGGCCGAAAGTTATTATTTATGTCTGCTGAGCCAACAACCAAATTCTCCAAAAACTGCTTACCTGATTGTCTTTAAACGAAATGCTCACAAGATAAACCCATGCAAAACGAGAGAGAAGAAAATGGACGGCCAGTTTTCGTAATTACTGTGAGTGGAGCATCTCGAGACGTCTAAAAGATCCTGTTTTTGGAAAATTAGGCCACACATCACACAATCCAACACTTACGACGAGTATGAAGAGTGATAGAAGTGTTAGTATTACAGAGCTCAGCGAGAGAATCACCAAGCGTCGGGTTGCGGATTCACGTCTGAATGTACTCATTTGTTACTGAACTAGGTCTACCTAAGCCTAAGCCTAAAGTAAGCCTACCTGCCCAACCTTCGGTTCGAGCACTAAGGCACACACTTTGAGGATCGATTCAGGAACAACCCGACCTGGGCATTTACCTTTGACGCAGGCGGTGATCGACCTCCCGTTGAATATCTACGTCGATGCATTACCGTCGTCCTTCTGGAAAGACAGAAGGACGATTGATTTGAAGCTCTGTATCTAATTACCCCTGTTTGATGATCAGAGGACGGACAGATTACAATCAGATGTTCTCTGTTTTTCTCTGTTTTTTGGTAGCTAGTATAGAAAACTATAGAGTACTGTAATTCCTATTTGGGGCTTCAGCTAGGTATTGTGCTATTATTAAAAAAATACAATTGCACAAATTTCTCCTGATTTACCTCGACATGTTGAGCTTGACTCCGCCCCCAATCTTGTTACTCTTTACATTAAGGTAGATGAAAAAGGAAGATCAAATAAATGACGAGAAAATTGTGCGATGGAATTTTTTTCTATAATATCAAACTTTTATTTATCATTTTAGGACATTCTGTGATTAACTTTTATAGTTTCACGGATTTCTGGCTTCCCTCAAGTGTAAAATTGAAATTGAACCTGGCCCTAAGTTTTCACTGGACTAGGCCATGTTGGCTCGGCCACGCGTGGCGCGTCGCATTCAGGCTCGATTTTAGTTGTAAAACTAAATATTTCCCACCCGTTGTCCGACAGGAGACTGTGAATGGAGAGCAAAAAATTCATTGAGGGAGGTTTCTATTTGGCAGCTTTTGGTTAGTGGTCTTTCAAAAAATTTTTCATAATTTTCAAATGATCATAACTCTGAAACTACAAATTTTTCGGCATAAAAAGTGCTTAATATTGTAAAATGTTGCTCTGTCTAGTCTATACGATAAATCCTTATTGTTCTCAAAATTTTACATTGATAAACAGGCCAATAGGTACAGCGCCCGACAACTCGCGGGTCCAAAATTCAAAAATGGCCAAACTTCGACTCGCGAGATCTCGAGGGCTAAATCTATTGACTTTATTTTTTTGAATTTTTCAATTGGAAAATTTGTTATCCAATAGAAAAATTTATGAGCAACATATTATTAGTTAAGCGTTTCTTGCCAAACATTTTATATTCAGGAGCTATACTCATTTAGCGAAATTTTTGAAAAAGGCAAACCAAAAAGCTGGCGCGGCAAACGATTTTTTCCCGCAAATCGGCGAATTGGTGCCGGAATTAAAAATTTCCGGTAAATCGGCAAACCGGCAAATTGTCGAATTTGCCGAAAATTTCGGCAAATTGTGGTTTTGCACTGTTTTTGGAAATTTCAGAATTCCAATTTCAAATTGCAAAATTATAGGAAACTCATCCTATGAATGTTTCTATCTATTTTGAAAAGTAAGTAAATTCTATGAAATTATATAAACGACGGAAAAAATTAAGACCTCGTTTTAAGTGTTTCCGTCTTATCAAAAAAGCCCTCTTTTATCCGGCAAATTGATATTCGGCCAACGAGGGAAATTGGCGAGTTGCCGGAATTGAACCGATACTTAAACTTTCTTTCGCTGCAAACTTTGCCCTCTCATCTTGAATTGCTCCTCGCTGTTCATTAACTTTGGCCCTTTCATGCACTTTCTCTTTGTTCTCCAACGGGATATCACAACGAATCACATCGGGCCACTTGAATCCGTTCCAGCACTGGAAGACACTTTTCCTGGACGGAAAGACACAATGGACGGCATGGACCAATTGGGTTGGCTAGCGTAGTTGAAATTTGAACGATGATAAGATAAAATTGTGCCTGATCTCTGATTGAAGTCACTTTCTCGTTGCACATCGGGAAGTGACGGAGCACATGAAGAATCTACTCGGAGCAGATAACGGAGAGCAGGAAGAAGGCTTGTAGGTGCGGATGGATTCAGGAGGCGTCTTTGCATGATTCCGCGTCGACGAGATTTGTGCAACTGGAATAAGGGCTTGTAAACAACGTTTGAGAAACTTGAGATTTACAGGGTCAAAAATTGCTCACGACCTCTCCGGGTGCCGATAAGTTCTTGTGCGGAAATTTGAGCAACCAAAAGTTCTGCCGATTGCCGTATAAATCGGGTACGGCAACTTCGGCAATCGCCGGTTACCGAAGAATGTTTTAGAGTTCTGCAACTTCGGCAATTGGCGGTTGCCATTTCTCTCCACGAAATTTCCCACTATTAGATTAAACAGCAAGTGCAAGTGGGGGTGACTCAAACAGGAAAGAAATCCGGCACTGGTGCCGACTTGCCGGAAATTTTCAATTCCGGCAAATTGTCGGTGTTCGGATTTGCCGTGTGCCGGCTCTCAGATTTGCCGGAAGTGTGTAGAGGGATTTTTATAAGACGGTAACACTGAATACTCCATTGTGCCTTTTTGAATTTTTCAGTGTCGTTTTCTTTGGCTATTCATAGAATTTGCTACTTGTATGGGCAAAAAAATGTAGGAACATTCATAGGTTTAATTTTGCTATTTGAAATTGAAACTCTGAAATTTCCTGGCCAAAAAAATGCAAATCCACAATTTGCCGGAATTGTTCAATTCCAGCAATTTGCCGATTTGTCGTTATGCTGGTTTGCCGGAAATTTTCAATTCCGGCATCTTGCCGATTTGCCGATTTGCCGGATTGCCGAAATTTTTCAATTCGTTAGCCGTCCACCCTGGATCCTGCCATCCAAAAAAAAACGGAAACCATTTTTGGCACATTGACGTTTTCCGCCGGCAAATTCGGCAAATCCATGTCAATGTGCTGCTGTGCCGTTTTGCCGGTTTGACGGAATTTTTCTATTCCGGCAATTTGCCGATCTGCCGACTTGCCGGTTTGCAGGAAATTCTCAATCCATCCGGCTCAATATGCTGACGATTTGTCGGAATAAATTTTCAATTCCGGCAATTGACGACGGTTTACGGCTGGAAATTATCAACTTCGGATTTTGCCAATTTGCCGTCTGGCCAAAAATTTAGGGTTAATTCGGTTCGCCGTTTTGCCAAAACTTTTAGGGTTCGGCAACTTCGGCAGTTGCCTGTATCCGCACATCCCTGTCCCACACCCCAGGTGGAAGAACTGGTGGGAGTTACTAGCGGGTCCATCAAGAATGGGACAATCATCAAGTCAACACAATCCTTAGCCGACCTTCCCAAATTCATAATTCCTTCCTTCCAAAGGCAACGGTTTCCGGTCCTTCCAACTGCTTAATACCAGCCACCACCACCAAACCCTCTCCTTCTAGAGAACAAAGTTGCATACCCCCTTTCATTGTTTTGGAGAAAGGGGCGTCTTGTGGTGCTAGTCCGGAGAGCCTGAGGACGTGACAAGTGATAGACGGGCTTATACTATCGGCTCGTCCATTGGATTTCATGCGCCTAGGCAGAGTGCACGGCGGGAGGTGGGGACGCAGGTTCCCGTCCAACTATTGCCGCAGAGCATCCCCTATCTGCTCCTATCAATTGTTCGGAGAGACTTTTTTGTGAATTTTGCCTTTTGCAAGAGGTCTGAGATTTGGGATTTGGGCTTTAGCCTTTAGGCTTTAGGCTCGCTTGCCTTGCGCCAGAGAATGGAAATTTGTCCGTATTTTCCCGGATATCAAAATATGATCGAGGCAACTATAAAAATATAGTAAAATTTTCCAGGTTTTTTGTCAGTTAGTATTTATTGATTAAAACAAAAGAGAGCGGAGATATAAGCTGTCAAAGTAGAAGGGTGGTTTGATCTACAAAAAATGTGGGGATTTTTTTTCATGCTGATAAATAAAAAATGACTCCCACAAATCCAATAAGCCTCAAACTTAAGTTCCTCCAATCTCATCCCCCTCATAAACCATTAACTAAATCGGAGTACTAGATCGCCGGTAGTATATATCAGAAGAACAGTTGCTCTCCCTCTCGAACCGACTTACACTTGAGAAATAGAATAAATTGTGGAAGAGAAGTGACGACATCATAACCTACCACTTCACAAGTTTAGATATATATATATATATACGTACTAGTTGGACTAGCTAGGACCTAATTTAGAACGCATAGGTATCGCCTGTAAGTGAGGACCTAATTAGAACTCACTAGGACTATAGTATATATATATATATATATATATATATGTAAACAAGAACCCGGGCGGGTAACCCCTTACGGTCAGAGGGGTGTCCTACACCAAGGGTATGTAAAACCGTGTCCTCCAGATGTCGACGTTGAAAGGGAAAAAGTGCAAAAGCGCGCGGCTTCGCGCAAACCGTAGCTGATCCAATGTAGCAACGTTTTTGATTTATTGGAGGAGATATTTTGCCAAAAGTGAAAAAAAAGTGCCCCATATGAGATGCGTAATAAAATTCCCTACAAGACCTTAAGAAAACGTGGCGTTGGCTGGCAAAAAACAGGTGGCAATGATAACGGTGTAGGTGTGCTTGTGTGTGTGTGTGTGTGCTAGAAGAGCATAGGCTCGTGAATCGTTATAATTGATGCTGGAGGAGAAGGAGACGATGGGCCTCCAAAGTGTTACACCTGGTATTGTTGGGAAAAAATTGGGAGAAATAGGCATTAAACTACCTAACCTAATTGAGTTTCAAAGCTTATCTTATTATAACTAAGAGGTGTGATAATAGATAATTAAAGAACTTTAAACTTATCAAAACAACGCTTTCAAATCTGTAAAGCTGAATTAGGATTTGCGTAGTACTAGCTAAAATCTAGTTGGGACCTAGGTCTGAGACTATCTAGAAACTTCGGACGGAACTATTTAGGAACAGTTAAGTCTTAAGGCCTGCTTGGGTACAGGTAAACATGTTTAGAATAGGAACTAAATAGGGAAGTACTAGTTAGACTAGTAAGACCTAATTAGAACCTAGGTAAGGCCTGTCAGTCAGGACCTAAATAGGGCGTACTAGGACTTAGGTCTAGTTAATGTCTTATTAGGACTAGTTAGGACTAGCCCTAATTAGAACCTTTTAGGTACGGCCTGTTAGGGAAGATCTGATTAGGCTTTAGGTAGGACTAGTTAAGATAGAGTTAGGCGACTCGAAGTTAGGACTAGTTAAAATTTAATTAGAATCTAGGGACCGTCAGGACCTAATTAAGACATACTAGGGCTTAAGTAGGACTAGTTAATACTAGTTAAGAACTGAACATAGGCACTGTCTCTTAGGCCTAATTAGGACTCACTAGGACTTAAGCAGGGCTAGTTTAGTTATTGTTTGCACTATTTGACTAGTTATGTACCTAATTTAGTACTCACTAGGACTTAGGAGGACTACGTTATAATGCCTTGTTAGTAATATTTAGGACTAGTTAAAATCTAATTAGAACCTAGATATATCCTGTAAGTTAGGACCTCATTAAGACTTGATTTCCGCTAGGATTTAGACAGGACTAGTTAAGATATTGTTTCGACTAGATTTTTGACTAGTTAAGAGCTAATTAGATCTTAGGTACGGCCTGTAAGTTAGGGCCTATTAGGACTGAATAAAAACTAGTTTGTTACGAATGTAGTTAGGACTAGTTAGGACTAGTTAAAACTTAATTAGCACCTAGGTACGGTCTGTTAGGGAATACCTACTTACCAGGCCTTAGGTAGGACTAGTCATGACCTAATTAGAACCTAATTATAACCATTTCTGGGCACGGCCTGTTAGGGAAGACCTAATAAGGACTTACAAGGACTTTTGTAGGACTAGTTAGGACAAGTTAAGACCTATAGTGGTTGTCCTGTAACTTCGGACTAGGACTTACTAGGAAGGTAGGAAGCTCGTTAAAAGGAATAGTTGAAAATTGGGACCTCATAGTTAGACCCTTAATTTTGTACACATCCTTATTAATATCAAGACACATTTTAAAAAAAAACGACTTTTTTAAGTTTAGCTATATAAAACTATAATTATGGAAAATTTGCTGCTTTCCTTGAAATTCGAAAAACCTAGCGTTTCTATAAAAAACCATCTGGAAGTAAATTTTGAAAAAACCCCGTCATCCAACAAAAAGAAATCTCACTCACTCACCTCGTTAAGTTATCGGCAAATCTTTGCACATCTCATGCACCTTTTGACACCTCTGCCCGTCCACACCAATGTCACAAAGAGCAACAGGAGCCTTCCTAGGTTACCCCGAACCACGACAGATGGCATTAATGCTAAGGAATTGGGCTCACAGCCTAGAGAGGGTGGGGGAAAATATTGAGAGTAAAAGAAACAATGAGAAGAGGGAAAGACGGAGGATAGGCGGGGGGGGGGGGGGGGGGCCACAACAGTGGCAGCACCACCAGGGCCTGTCCGTTGACAAATGACCCAAACGGACGGGTGGGGCAGACCTGTTGTGTTTGTTGGGAGATGGCTGGCGGTTATCAGATACTTGTATTAATGGTATAGAGAAACACCAAGAGAGCTGAAAGATGGAGAGGCGAAAGAGGAAGAGAGGGGGGGGGGTGGAAGTTTTTACGAGCCCTTAATAAATATATCGAATCAGGAAATCATTTGATGATAACGGAGGAGCGCGGGGACGGAGACGGATCATCATTATGAGGACCGAGGGGTGTGCGGCGAATTTTTGCCGAATTTGCTGTTTGCCGAGCTCCGCAATTTACCGAATTTGCCAAGCTCGGCATATTTCAAAAAAGTAGATTTGCCAAGTTTGCCGAACTTGGCATATTTCAAAAAAGTAGATTTGCCGAATTTGCCGAGCTCGGCATATTTCAAAAAAGTAGATTTGCTGAATTTGCCGGCCGAGTTTGCCGAGTTCGGCAAATCTGCCTTAGCCGAGCACGGCATATTTCAAAACATTTGCCCGAATTAGCCGACCCGAGCTTGGCATATTTCAAAAAAGTAGATTTGCTGAACTCGCCGATCTCGGGAAATGCCTATTTAGCAGCACGGCCTAGTTCACAAAAGTAGATTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAGTAGATTTGCTGAACTTGCCGGGATCGGCATTTTTCAAAAAAGTAGATTTGCTCAATTTGCCGAGTTCGGAATATTTCAGTAGATGAACTGTGCCGAGCTCGGCATTTCTCAAAAAAGTAGATTTGCTGAATTTGCCGAGCTCGGAATATTGCAAAAAAAGTAGATTTGCCGAATTTGACAATCTTGCCGTGCATGTTCCCCAATTGAGTTTGCCGAACCATACTTGGTCCAAAAAAGGAGATTTGCCGAAATTGCCGAATTTGCCGAAACAATGTGCCCATGGCGAGCTCCTGTTGATTTTTTTCCAAAAATTCAGTAAAACGACACAAATTTGTTTTAAGAATTCATTAGTTTCGGTGCTCCGAACAACATCACAAAAGATCAAGGGATTTTTCCGAAGTTGTTAAGCACAATTTGCCAAATTTGCCGAATCCGCTAATTTTGAGATTTGTCGCACACCCCTGATTAGGACCGAGCAAAGGGCCTAACATGATCTCACAATTTGAAAAATGAAATTCAGGGATTATTCTTGGGAAAAAAGTATGAAACTCTTCCTCCGCCCGTTTCCGGCAGAAACAATTGAACCAAACGAGCCAAAAGTGCAGTGTACAGACACTTTGTTGGGAGTGGAGAGAACCAGAAGAAAGATGGAACTTTCTTGCGATGAACAAATTTTGGATCACTGGAGGGAAAGATTGGTGTTTATTAAGCTTTTTAAGTCAATATTTAGAACTCAATAGGCCCAAACAGGCCTAATAGGCAAATAGGCGAAGTAGATTAAATATGCCAAATAGGTATAGGTTGAATAGGTAAACAGGCCCAATAGGTCAAATAAGCTATAGGCGAGACTGTTGCTCAGATACTTTTTGACCTGGTAATGTTTTTCTACACGAAAAACAAAAAAGTCCCTGCTCTATTAGTTTCGGCAGCAAAATTGTGATTTTTTTCAAAAGTTTCCCATTTGTGCCACTTTTCAATAGTTTTTGATGGGTTAAATCTATATTTTCTGAATTCAGCTTATATGAATTACCCGTTTTCAACAAATTTAGGCAAATTTTTATTTTTGCCCAATCTTTTTAACCATCTAATGACTGATTTTGGGTAAATTTTCCTGAAATTGTACAAAAGCATTAGAAATTGATAGGCCAGTTTATAGGCACATGAGGTTTTTCGGAGTGGGTAATCGTCGTTAGGCGAATTATTTGGTTGACAAATTCGACAAATGCTGGTTTGCCGATTTGCCGGCAAGTATTTCATTTCAAAATATATGTAGGAACATTCAAAGGACGGTTGCTTACAATTTTGCCGGATAAAATTTAAATCTTCTGAACTGAAATTCCTTTAAAAAAAATGTGCAAACCCATAAGTTGCCAGATTTCTAATTCCGGCAATTTGCCGATTTGCCGATTTGCCGTAAATATCAATTCTGGCCAATTGAAGATTTGTCTTATTTTCCGACTTGCCGCATCCCCTGATGTAGGCATCAAAACGAATGTACACCAAGTTTTTTTCAGAGTTTTTAAGTTTACCTTCTAATTATAATTTTTAGTGAGGCTCAAAAAGTTCCAAAATTAATTCTGAAATTTGCTCGGCAAACGGCAAATTTTCCGCACACTCCTGTTTTAAATGTTCACCGCATATTTAATTATTCCGGAAATCTGATTCCCTCAAACAAGTTTCCATCAAAAGTGTTTTCCCTGATTTGTTGACTCTGACACCGACGGTGGTCGTTCCCCCCCCCCCCCACTCTCTCAATTGGCATGTAAATGACCCCGTATGAATGAAATGCCTTTTGGCGGCATAATGCATATCGCCTAGTACCATTATTAATCTTCCATCCCCCATTGTCTCCATCTATATAGGGGGGAGGATGCGTGATGCGTGAAATATGCAAGTGAGACTTCAAATTGAGCGTGTGAGATGTAGTGGCAGATGGCTGGCTGACAACGGATGAGCTCAGTTCCATCGACTGTATCACACGGAGGACTTGGAAGAGAGCAGGGAGATGGATGGGGGCAGATGGCGTCATCTATGGACCATTTTTTTTGGAGCTGTTCACTCAGATATTAGGGTATTCTAATCCCCTTTTTAGGTCTATTTCTGATCGTAAAACTTGTTCTTTTCAACTCATTTTTAATTCAAAAATTTCAAAAGTTTGTCGTAAAAATTACACAAAAACCTAAATTTTGATCTGATTTGAGGCATTTTAGTCCCTTGTTAAGCGTCTTCGATGCACCATTGTTCAACTTGTTTAAACTTTTTAGTTCCGCATTCGAGGAAAATGGAAAATAAAAAATTTGTAAAAACCAGACTTAGATTCTCCGTAACAACGCTTTCATGGGAGGTCACACGCCCGGTTTCACGGCCTGATGCCTACGTCAAACCTGCCTCACGCTGAGTCGGCCTCACGCTCCATTTCTGAATTTTGGCGAAAAATCAAATACTTGGTCATAGTGAAAAGGTAATTTTTTCAACCCGACACTTTTCGGGTTCCGCGCCGCACTATACATGAGGCGAGGCCCGCGGCGCGAGGCAGGAGCGGAGGTCGCAGCAAGGCAGGCGCGGCAAGCGTTTTTGCTTGCATGGATACCCTAGTCTAGACAAAGCACGAAGTTCTGGCTTCCCGCATAAATCGGGAAGAGTTTTTGCCGAACTTGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTGGCCGTCGTGTTGCGTGTCGTCGCGATTTTAGTTGTAAAACTAATTATATTTGTCCGTGTGGAGTACACGACTTTCCCATGCGTTGTCCGGCGGGCGCTTGTCGATGCAGCGCAAAAAATTCAATAAAGGCCAGAACCCAGTGAAAAAGATAATTTGCGACACTTATAAATAATGTTTACCATAAAATTTTTTTTTGTAGTTTTGATTTGTGGCTCTCCTTGTTTTAAGATGTGAACAAGTTTCATCACCGCTGTAAATTGGTGGATTTGTAAAAAATTATGTATTTAAAAATCAAATCTTGATTCTCCGGGATAGAAGCATAAATCAAATTTATTACTGTAACATGTTCACTTTCAGTACGTTTCATTGAAATTTTTAGGCTTTGAATTTTAGGGCATCATAGTTTTGCCTTCAAAATCCACTTGCCCAAAAAACAAGCCAATTCCTACTCGGCGGGGGACGATGGTTCGATAGCATCAATCATATCGGTGTGTGTGTGTGTGTGTGCAAGGCGGGGGATGTAGCTGGCGCGCGAAACGAATAAATCAAGAAACGTCTCTATTTCTGCGAGCACGGATTTCGTTGAGAGCCCGGGCGCTCACGCGGTCTAAAGGAGGAGAGGGTAGTACCACTTCTAATGCAATACAGGGCATACTTCTTCCATTTCCATGTTTTTGTACTGTGATAAACCAATTGTTAACTAGCCAGAAGTGGTTCACATGTTCCGTAAAGGTTTGCAGGGTGTACTGATAATGAATGTCTATTGCTCTGTGAGGAGACAAAGAGGCAACCGAGAGCAAGTCAGTTAGGTTAGGCAGGTGACTTTTCAATTGTGACCAGGAAAAAGTACTTTGGGAATTTTTTTTTATTTTTTGGCTACTGGCCAGATTTTCAGGATTTTTCAAATATTTACAGAAATTGATTCTACATTATAATATTTCTGTAATTTTCTCAATTTTCAAAAAATAGCCAATTAATTTTGAAGTTTCGAATGATTGCCGATCACAAGTTGCCGACTCCCAAGAACACCGGCAATTGATGGCCCTTTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCCATTGCCTTGGAAATTTCGAAAACCGGCAATTGCCGAAGTGGCCGACTCCCGGAAATTTTCAAAACCGGCAATTGCCGACATTGCCGACTCCCGGAAATTTTGAAAACCGGGAATTGCCGAAGTTGCCGACTCCCAGAAATTTTGAAAACCGGCAATTGCCGAAAGCGCATTGCCGATTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCGCTTGCCGGAAATTTCGAAAACCGGCAAGTGCCAAACTTGCCGAATGCTCCGGAAATTTTGAAGACCGGCAATTGCCGAAATTGCCCATTGCCGGAAGCCATTTCGAAAACCGGCTGCCGACCAAATTGCTAGCCGGAAATTTTGAAAACCGGCAATAGCCGAAACTGCCCTTTGCCGGAAATTTCGGTGCGAATACCGGCAACGACCAGTTTCCGACGAAATTCGAAAACCTGCAATTGCCAAAATTGCCGCTTGCCGGAAATTTTGAAAACAGGACACTGCCGAAACTGCCGAAACTCCCGGAAATTTCGAAAACCGGGAGACCGAAATTGCCGACACCCTTTGGGTAATTTCGAAAACCGGCAATTTCCGAAATTGTCGATTGCCGGAAATTTCCGATCCCTGAGTTTAGCCTTTTTCAGCAAATCAAACAGTTTATGATTCTTTTAATTCAAAAATTGTTCTGCAGTGATCTTGCATCACTATTGCTGTGGCCCTCCTTTCAATACAGTACTTTCTACAGTACCACTACATTATTGATGCGTAATTTCCAGTAATGCCATTCGTACACATTGTACCACTACAGTTCCTACAGTACCCTATACAGTACCGTCGCAAAACAATTACCGTAACAATGGAAATCTTATAATAGACTACAGTGTTATACAAAAACTACAGTAACCCCCTTGAAGTTAGTGTACAACTTGTAAATGACGCTTTTTTCTTTGTTTTTTGCTAAGTTCAGAAATTGTAGAGTGTTTTTGGCATCTGCTCAGATTTTCAGAAATTTTCGTGATTCTATAGTAGTCTTTTTAATTTTCTCAATTTTCAGAAGTCTGCAAATTTAAATTGAAATTTCGTGAATAGCTTAAAAAAACTCAAACAGTTGGCACAAATTTTCGTAGATTCATGTACGAGTTTCAGCCTTGTTCAGCAAATCAAACAGTTTTTTATTTTTTTTTGATTAACGTTTTAATTGTTCTCACCCCCTGCAAAGTACTATCAGGTCCTAACGGTAATATTAGCCTACCGTATCACTACATAGTAATCTCCAGTACTTCTGTGCATGCTGTACCCTTGCATCATCATAGTGGTCTTTAAACCTACAGTACTTCTGCAGTAGCACTACAGTACCACTCAGAATCTCTCCATTAGATAGACGGCGTCTCGTATCGTACCACTACCGTAATCCTACAGTACCGCCACAATACCATTACGGTAACACTATGAAAATCTTACAATAACAGTATACAGGCCGGAAACTAAGCCCCCTTGAATGTAAAACTTGCAAATCTCTACCGTTCCTACAGTACCCCAATGCAGTACCACCGCAATACAGTTGGCATAACACTATGAAATCTTACAGTACACTACAGTAGGCAAAAACTACAGTAACCCCCTTGAAGTTGGTGTAAAACTTACAAATGTTCAGCTTTCTTCTACAAATTTGCCAATAACTTGTAAGTTGGGGGAGCGCATCGAACTGTATACATATATGTACATGCCAACCAATTATTTTATCAAACAATTTATTAATAGTCGAAGACACCTGAAGCAACGATTAGGAGGAAGAACACGGGCAGGGAGATAGGCAGAAGAAGAAGAAGAAGACGAATTAGTTGAAGAATCTGTTGAAACGGACGACGTTTGTTTGTGATGTCGCTGTGCGACAGCTTCTCGTTGCGGACGGAACGATGTTCGCACGGCGAATTCGGTGGCGAGATGTCGGACACGTCGATTGTCGACGAGAAGGGATCAGTCGAGACGGTTGAAGAATGCTGAGGAGGAGGATTATGTCGACGTTCCCGTCCACGACACGGGCCTGGGTACAAGTGATACAGACGTGAAGGTTACAGAAGATGTTCACCCCGTTGCGGAGGTATAATAGTCGTTGAGAGGTGGGTGGTGAACATGAACAAAGAACTTAAGAGGCTTCGTTGGGAATGCGCAGGCCTTACTGCTATGTGGTTGTAGAAGATGGTCTTACCATTGCGTCGAGGCACTTCAAAGTCCCCCCACACCTGGAACACAAAATTTTCAATGGTAGTCTCAAATAATATGCAGTGGCCGATGCACTAGGATAAATTGCCAAACAAGGTGCATCGACGCTAAATAATTTTCTTTTGAAATTTCATTTAGAGATGTTTTGCTGCGCAGACTTTCAATCATCTTTTTAGTTTTCCTCTCTAATATCATCAGTGCATCGAGAAAAAATGTTATAGCAGGAGTAAAGAAATTTGAGACTTTACTTATTTAGACCAAAAATGACCCAAAATTAACGAATTGTTTAGTAAGACGTTTTGAACATTTTTCAAAACAAAGTTCTGGCGGTTCAAAGTTCTGGAAAATAGCACATTTTCAGCTAAAATCTAACCAATGTTTTGGGGGTGTGGCTGGGGGAGCTAGGAATCAAAATGTAATGTCATTTTTTTGTGCCCCACTGCCCGTAAATGGACTTTAAGCGACGAATAATAACTGTAAGGGCCACAATATTTATAAAAGAGTTATAGTTATAAATAGAAATTGAGTTCCGCCCGACCGAGAAAAAACTTGACGAAAATTTAGCCTTAATTTTAAAATGGGACTTTTTTTCCAAAACATTGAGCGATAACTCTTTTTTGAGAATTTTACGTGTCATTTAGAGTAAATTCGGTAGATTTAGGTCATTTTTGATTACTAAAAAAGTAAAGTCTCAGATTTTGATACTTTCTCGATGCACCATGATGAAAAGAAAAAAAGAGAAAGTTTAGGGTTAAAAAAAAGAAATCCGTAGAACCCTTCCGACGTTTTGGGAAAGTATAGCAAAACAAAAGATTTGTAAAAAATTCAATTTCAGTAGGTTCCCCCTATTAAATTCTCAATTTGTATCAATGCACCATACATTTTCAGCGTGAGATTTTGTAAAATGGACAGGAATGAAAATTGATCAGGTGTGTATAAAAAAGAAATTGACATTTTGTTTTTTTTTTTGTCAATACACCATGATGAACTTCACGTCAAACATGGTACATCCTGGAAAGGAGAGAGTTTGAAAAATGTATCATTTTATTCTCGATGCCATGAAGATTTATATTAGTAGAAAAACCTTAGCATAAGTGGCATAAAAATAAAGGTGGAGTAGCGTGGGGATTTTGTCTACACTTATTATGATCCAAAACGATAGAATATCTTAATTAAACACTCCAAAATATTTAAGATTTTTCAAAATTTCCGGTAAAAGTTTTGGCAACTAAATATGCTTGAAAAAAATATGAGCTTTTGAGGAAATCTCATCCAAAGCAATGTCGCGTGTTTCGACCCACTGTTTTTATGGTCGACAATGTAGAAAAAAATTTTTTTTTGGTCGACTTTTAAAATTAAGATGGCAAAAACTTAGTAATTGCCTATTTGACAATAAAAAATTTTCAAAATTGAAAAGTTTTATTATGATATTCGATTATTCTGGCACCATGTGAGTATGGTTTGTAGTAATTTCCCCACTGGGCTACTCCACCTTTGCTTAAAATTAAAAAAAAAATCATAATCACAGGGGGATTATTTAATATCAATGAAAGTTTCGATTTTTCCAAATGTATCAAATGCAGTTTTCAGCGCGAAATTTATGTGCAGTACTTTTTCTTCCAATAATATATCCCGAATGATGCATTAGTTATGGGCTACACGATTTGTTAGAAAAACTGGCCATGCTTAAAGGTGGTGAACCGAAACTTGATACTCTGTCTTTTTAGATCCAAAACGGTCCAAGACTACCTATCGAATATTCGTATTAACCTGTTCTGAAAACTTTTCAAAAAAAAAAGTTATGGCCGTTCAAAGTTTTGGAAAATGGTCGATGTTTAGCTAAACTCTCAAATTTTGGCAATCAACCGTCTGTCACAGTTGGAGCTTAATGTTAGAAACAACACGTGATAAATTGCAAAAACATGCCTAAAGGTTCCAACCGCTCCGACACAACCAAAATTTGAATTTTCGCTAAACGACCATTTCCTCTTCCAAAACTTTGGGAGGTCATAATAACTTTTTTTTTTGAATAAAATTTTCAAAACGTCTTAATACGAAATTTGGTAGTTTTTGGACCATTTTGGGTAAAGGCAAAGTATCGGCCAAATTTTGGTACTTTCCACTCAGCCTTTCAAGCAGAGCCCCTTTAAAAGTTTGACCGAGGTCCCAAAATTTTGTAAGTTTCTTCCATGAACCATGATGATTTTGAGCAAAATGTTAGTTTTTTTTTTGTGCTTGAAAAACTGGTGGCAGGACAGTTTTCGGGTGTTAATAAATATTTCGATTCACTATGTTTTTTTTAATGAAACCGTACCTCCCTTCAACACAAGTCTGCACATCCGTTCCGTCTGTGGTAGCTCGGAGATCCCGCCATTCGCCCAACACCTTCCGATTCGTCCATTCTGATCATCGCTCATTTCAACTGTGTACGTCTACTATTTACAAATGCTAGTTTCTTATGATTTATGGAGTCATCCTGACTTACTATCACCAACTGCTAACACGTTGTAGCTGAATCCAAACTGTCCCCGTTTAGACGCTCACCGAACTCGGTAGTCGACTGTCTGAAACATTATATGGGTATCGCAGCGATAATTTTGAAGCCTTACCTTATTATCCGATAGGCAGCTTGCGTGGCATCCGAGCACTTGATAGTGATTCCACCAAATGATACGGTCACCTGAGATTCTTTAGGAACAGGGGCAGAAGGTATACATGCAGGTCAGAAGGTCGTTTGTCGGTTTTTGCACCTTGAATCTTAAAAAAAAACGATGAGCAAGTTATTTTTTATTTTTGTCTATTTTTGTTCGTATATGGTTTTTTAGGTACCATGGAATAAAAAAAATGCTCCAAAAAAAATTAGTTTACAAATATTACTGGTACAGAGAGTGTAGATAGTTAGAGAGTGACTGACCGCATCCGGTGTGGACCCAATGGGGCGGGGCGCGCGGAAGGAGACGATTGGTGTCGATTTACGAAATGATGACAAAGAGGAACGTAAATCGACACAAATCGCCTCTTCCGCGCGCCCCGCCCCATTGGGTCCCGGATGTATGTCACTCTCTAACTATCTACACTCTGTAGGTCCGGTAATACCATAATATGATCATTATGGGCGTCTACATTAGAAAAAAATCGATCTGAAATCACAGATTTTTGGCCTCCCTCATAAATTGAAAAGGAATAAGAGGTTGCGAAATTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTGCGGCGCGTTGCGTGTAGCGTCGCGGCTCCATTTTAGTGTAAAACTAAATGGAGTTGGCCGTGTGGAGTACACGACTTTCGCGTTGCCCGACCAGCGCGCTTGCCAATGGAGCGCAAGAATCAATGAGGAAGGGCCATGGCGCGCCAGAACCCCATGATTTTTAGGGTATTTCGAGGTTGGCAGACGCAATATGCTGGAATCTTTTTGAAAAATTTTTTTTTTTTTGAAAAACAAATTCCAAAAAATCTCCTCATCGATCGAAACATTCTTGGGTGAAAAAAGTTGCACGATTAGGAATTTCAGAAATTAGAAAAATTCGAAATTAGGAGAAAACAGAAAATTTCCAAACTGCTTTCAGAATACTTGTATACATGAAATAGCCTAAAAATCATGAAATTTTTCAATAATTACTCTAAACTAGCCCAAATTTGGTAGTAAATATTCACTGGCAGCAACTTCAGTGCGAGATTTTTCTACTCAGTTTTAAGTGCTCGTATGTCGCTGAATTGTTTGTAGGTACTTATTTGAAACTCTTTTGTCAAAATTCAAAAATTTAATTTTCACGTTTAAATTTTGAGTAGCGCCAGTGGGGGATTTTGTCTAAATACACTCATTATGATCCAAAACTACCTGAGTAATTGCCACTATTTGACAGTAAATAAAACCACGATTTACAGAAAAAAAAAGTTGTATTATGATATTCGGTCACTTTGGGACCAAATGAATGGTTTTTCAAAATTTCCCCACTGGCGCTACTCCACCTTGAAGAAACTGAGCGGAAATACTTTTTACTCCTTGTGAGTATGGCAAAAAACCTTGTACCACATGGCAAAAGAAAACCCACGCATTGTTAGTCATGACAACTTCGGTCTCATTCTCCAAATTGCCGCCTTCTCCGTTCTCCTTGGTCGATCAGCCAGTCAGGCATCTAAGCAAATAATGCCCAAAATTCAATACATCCAGCAAACGTTCAACTGATATTTCGTGTCCCATTGAAGCGTGCCATTTGAATAGATACACTTTGGATGGCCCGCGTTTGTATCGCACGGAAGTTTTCGTCAAACCTGATCTTCAATAGGAATCTGCAATATTGAATTTTTTTCCTTTTGGTGGTGACCTTCAAGGTTTTGGCCTGGGTTTTTAATCTTCCATTAAATCCCTTCAAGTTCGCTTTTTCGAGAGTTTAGTTTCTAGGCCGAGGAACTTCTTGCAGCCAAATTTCTAAACTATTGTGTTTTTGCCAAATTCTAACAAAGAAACATTAGGTCAATTACGTCATATTCTTGCCACATGCAACTTTGTCGTCATAGGCCCACATCATCCGAAAAGCCTAAGCCTGAGCCCAATCGAAGGTCGCTTGAGCCTAATGTTCAGCCTAAGCGTACGCCTAAGCCCAAACTAAAAGCCTAAGCCTGAGCTCAAGACTAAGCCTAAGCCTTAAGAAAAACCGGAAAATCCTAAGCCTAAATAGCGTAGCAAGCTAACGCTCGCCACTGACGCCAAACCTAAGTCTCGGCTTAAGCCAAGGCCTAAGCCTAAGCCTAAACCCATGATTAAGCCCAATCCTAGCGAGCCTACGCCTAAGCTTGAACCTAAGCCTAAGCCTAAGCAAGCCTCAACCCAAGCCTATAATTTAGGCCACCACTAATGTTTTCAAAACTCGATTCTCAAATACTTTTTTCAGGATATGAAAGTAGGACAGAAATGGGCAGGGTATATGGTATGGAGCAAATATCACAAGATGGATCAGAAACATAGATACGGGGTGGGAGTGTTGGACTAGGTGACTTTTCTAAGCCATCCCTACCTTATGTGAACACACGCATTCGAAGTGTCCACAATGGCCACTGATCGAATCAGCGGTGGCAGCACCACAACCACCGACCAAATGATCCAGTGCAGAATGATAAATTTGTGGAGGGAAAAATCGATAACAGTAGGCTCCTGAGGGTAATAGTAGTAATCATACATATATGGAAAAATGAAGGCAATCCAAAAAGATGTGTGCGCTGGTTGGGGTAGTGGCATCAGAATAAAGGTGGGATTGGGCGGTATAATTGGAGCGCGGCCGAGGAGGAGAATCCCAAAAAAGAAGGAAAGTGCAAAGAGGAGAGTAATGACATGTTACGGTAGACAGGACAATGCAACTACCTAATTATATGAAAGAGGGGGGGGGGGCGACGAGAAGAGAAAAGTCTTACGCAATTTGCAATCTACTTGCCGACTTTCAATTTCTGCTAGAAATCGAAAAAAGGAAACAAATTCCAACTCAACTTTTTCGATATCATCACTTCCGTGGCACGGCACACGTCGGAGCAGATTCAACGACGTCTCGCGATCCCGACTCGCTTTACCCATCCCATTGTTCCCCTGATAGTCGATGAGCTCGGAGATGTTGACCCTGAACGTGCGATCGCGGGTAATCGCACTCTCTGGAATTTTGAGAGCTTGGAAGATTTGCCGGGGGGGGGGGGGGAGGGTCTTACGGTGTGATTGAGTAGGATGATTTGTGCCGTTCAGGCGGGTCGGCCAACTCAGCACGTACTTGCCGGGCGTGTGGTCGCTTAGTCTGCAAGGAACTGGCCAAGTTTGAGCGGCCGACAGCATGCGGGTCTTTTTTTAGAGAAGGGGGACTGTGAGGTGTCCGCTGCTTCAGACAATCTTAGCATCATGCAAACCTTGCATCTTTTGTATTTCAGGAAAAAAAACAGAATTTTTTTTGAGCAAATTTCAGCCTAAAACAAAAATCTAACAAAATTTTGGGAGGATGAACTTATTATACCAAATTTTTCCCTGGTCTTTGAAGAAATTTAAAGCCCCGTGGCTTCTGATATTATCAAACAAATTACAGATATGAAATGTGACTGAAGCTTTAGGTCAGAAATACATAAAAAAAGGATTTTTCATACTATTTTTCCAGTCAAATTTGATTTTAGGCTTTCAGATTTATCTACGAAGTCTGTTAAAATAGGCTTATATTAAAAAGCTATCCGATTTACTAGTAAAAAATTATAGCGACCGACATCTCGCAGGTTGTTAAAGAAAAGTGCATTGACGGGCCACGCAACCTTGGCAGTTTATATCTCGGCTGGTTTTGGTTTTATTGGTTAAAAAATTTCTGACGAAATAAGTTTGTATCACTTTTTCTACTAAAAATTTGCAAACACTTTTTGCTAGCAGCGATTAACCGAGATATTACCGGAAAAAGTACATGAGTAACATGGTGCATCGACAACGAAATATCTCACAAAACTCTGGCAGGTTATATCTCGGCTGGTTGTGGTTTTATTAAAAAATTTAACAAAATGTTTATCCTCTTTTCTACTACAACGCAGTTGAACACTTTTTGCTAGCAGTGATATAAACTATGATCGGAAAAAGTTAGATGAGAATCATGGTGCATCGCCAAGAGATATCTCACAAACTTTGGCAGCTTATATCTCGGCTGGTTGTAGTTTTATTGAAAAATTGTTAATTGACAACATATTTTTCCTTTATTCTTTTGCCACAAATTTGCAGATGAACACGTTTTGCTAGCAGCTATAAACTACGAGATATGATTGGAAAAAGTTAAATGGTAGATGCATTGATCAGCTATCATAGCTCATGTTTTACTTATCTCAGGTTTTACCAAAAAATTGCCAATTATTAAAACATTAGCCTTTTTCTTCGAAAATTTTGCTCCCCCGAATTGCCGAAAATATCCTAGATTTGATATTTTTTTGTAGATTTAGGAGCCTTAACATTTGTTAATTTTTTAAGTATTGACCGTTTCCTTTCAAAAATAACTAATCTAATACTGAAACACAGTTAACTTTTTTCATTTCAATTTTTATAATTAGGTTTGAAAATTGCCGAAAACACTGTCGGCATTCAGTTGGAATTTTGGCAATTGCCCCTAGGAATATTTCCGATTCCCACGCGCCCCTGGTGTGAACCTAGTGAGCATGAAGCCAAACGATTTAGAAATCCAGCACAAATAATCCTAGCTTTTTACTATAAACAATCTAAAAGACCTTACCACCAACGCCGTTTCCGTCTTCAACAAAGACTGCAATCCTCTCTGGTGCTGATAAATTTCCATGATACCAAACTTTCCCCACAACATCCTCAGTTACAGTAGGCGCTATTCGACACAAATGACTGTCGATGCAGGGAACCTCAATTCGTCGGGGGCGCCGGCACCGTAGATCCATCGAAGACTTGAAGCATCGCCTGTGAAAGTGTTCACATTGATCGGAGTGGTAAGGACGGCGATGAGTTTGGGCACATCCTCGATGAACACCACGTGGCATCGACGATCCGTTCCATCCTTGTTTTTTGCAATGTAGCCGAACATTAGCTCCGTGTCCGTCCCCTTTTGGCCTTGGGCTCCGAGTGAGAAGAATGAGAAGGGATGACGTTGAATTAGACGACTTTGTTTTGAATGATGATTTTGATCATTTTCGCGAGCAGGAAATGTTGATGTCTACGGTTTCTGGAAGTTTTCTTTTTTCACTTATTCACCGAGGATTACCTGAAAAGATGGTTTACCTGGGCTTTTTCATGGACCCGTGAGGTTGTCGGATGCAATAATTTTGTGGAAATTAGTGAATATCTCTACTTTTATGACTAGCGGCTTACATCATTTAGCGCGATTTTGAGCGACCTGTAAGATGTCGGTTGCTTTAGTACATTCTAGTGGCAGGCTTGGCTGAATTTTACTGGATATATAAGCTATCAAAATTTGAGCATGTCGATGCACCATATTATCTCCTGAGTTTATTTCCATGCTGCTATCAAAAAGTGTTAAAATGCAAAGAGTAAACGATAAATATTTTGTCAACTGACACTTTTTCAAAACAAAACCAAAACCAGCAGAGAAAGTAGTCCAAGTTAAGTCAGATATTTCCGTTAGTCGATGCACCATGAGTAACCTTTCTATAATAACCTGGTGAGATGTCGGTTGCTATAATTTTTTGTCATTAATTTGGACAGCTTGTTAATTTGAGATAAATCTTGATGATATCGTGGCGCGGCCTACCTTTCATATGCGGGTCCTTTTTTTAAACATTTTGCAAAGCTGGTCATGCATTTTTAGTAACACTTACAAATTAATGAGTGTTTTGTATCGTAAATTTTTACCATCAGCCATGCCCAGAAAGGCAACTAGCCTTTTATTTTCTTTTGTTTTTTTATTCCACAAAAAAAAACTCACCCTACTAACAACTGGATTGATTTCTCGAGCCGCAGTCACGCGAACAGTATCTGCAACGTGTTACATTCTCTGAAAATTGATCAGTTACTTACGTAGATTTGTTATATATTTGAGCTTGCAGATGCCTATTACCTGCGTTCATGCCTACTAAGACTACCGTCTGATTTCTAAATTGAATAAGATTTTTTTTTGATTTTAAGCCATAAGAAAAACTAACGAAACAATTCTCATCTCGGAAACCATCACGTTGACTCGACTACTGGATGAACAATGCCGAGGTACTGAAATACAATTTTATATTTTCGGGGAAAAAACTAATAAAAAACTCACAGTAGCCGACAGAGAAACCCCGCTGCTCCGCAGCTCCTCTGCAAATGAGGGCTCCACGTTGAGCATCTCCGCAAGTTGATTTTTCATTCCGACGGAATTCTTGATTATCTTTAGAAAAAATCTAACTCGACATTCGATCCGAAATTTTCCAACGATTGAGTGAATGAGGAACATGACCGGGAGAGAAGAAACGGAGACGCAGGCGGTGAGCGGAGTGGGAGAGAGAGCGCGCGAGACGGAGAGGCGCAGGCAGTGGTAGGGACGAGACAGGGAAAGATCAGATGTTGGCTGATGTAGGTGAGTCAGCATCTAATAAGTTAAGTTGACTCATAACTTTGTTATTTGATCAGACGGGGGGGGGGGAGGCCGTGGCCTAGAAATATCATTGCCTACTTATTCTAACGTCACTAATGGCCTAGGAAACCTTGATAGCTTTTTTGGAGAAGATATGACGTCATCGTGCTGGTGAGTGACTAGAAATCTTATTTTAGTTCTGGAAGAGGACAAATATTCTGACCGTGCAAAACAAATTAATGATGTGACTGGTGGCCTAGAAGTCTCAAATTATACCTGGGGAAATAAATGACGCCACTTGTGGCCTCGAAAACTTAAACTATGCCTGGACGTCACCGGTGACCTAGAAATTTATTTCTGGCCACGTCATAGAAATTTGAATTTTGATGAGAAATATGACAATTTTATTTATGGTTTTCTGAAAATTAGAATTTTATTGATTTTTTGGCAACCGGGAAATTGGAAAATTTAATAATTTGAACAAATGCAAATAAGCAGTTTTTCAACAGTCATTACTTTTTTCCGTGAATTTGATTTTAATTTGTAAATTTAGGTCGGAAAAGTCATACACACCGAGGAGCTTCCCTCATCCTCCCTGGATCAGTCGGTAACTGCGTTTCGACAGTGGGAGTGGGAGGGGTGGGATGAGTTCGATTCTTCTGGAATTCTATAGTTTTTATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGACACAAAAACCTCTCTAGCGCTTATATTTACTCCAATTCTTCCGGAATTCCATAATTTTTATTTTGCTTTTTTGCGCCTACATATACCTGTTACAATTGGAACTCCGTTTGACACAAGAACATCTCTAGCGCGGGCTTAAATTTACTTCAATTCTTCCCGAATTCCATAATTTTTATTTTTGTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGACGCAAAAACTCTTTAGCGCGGCTTACATTTACGTTTACAGTCCAAAAAAATCATCTATAATGTTTTTAAAACTAGAATCCAAATCTATCAGATTTTTTTGAATTTTTGATTTTTTTCACATCGAGATTCGAGCGCGGGAAAATTTGGATCAATTAATATTTTCCAGATTTCGATACTCCATATTTAAAGCAGATCACCTGAACGCCAGAATATGATACTTCCTACTCGTCCACCATCTTCGCTTTTGAAAATAAAAAAAAGTCGCCGTATTATATTGATATAGAAAAAATACCAACAAAATTGTTACTATTCACTGATTAGGCATGCAGGGTCTTTAAAGTCAACATTCATAGTGGGAGCTGGAAATACAAACGCATATATAATAACTTGTTAAAAGTAATTTATTGTGGAGTTATAACCTATAGACAATTAAAATAACCTGCTGCCTAAAGAGTAGTTAACAGAAGCAAAGGTTTTCTTAGTGGAGTTTGTCCATTTACTTTTGTGCATGTTATTGAATTGAAATGATACAGTGAAACTAGAGGTAAAATTATTTACTCGGTTTAGGCTTAGGCTCAGGATTAAGGCGCTTAGGCTTCGTTTTAGGTTTAAGATGAGCTTAGAAGTACCGATCGTAACTGATAACTTCTGCAAATTTAGTTTCTGTAATATCGGCAATAGCCAAAATTGCCGGAAATTTCAAGTGCGATTAAATAAATAGAGAAATAAAAATTAGTTCCTAAGATACATTATCTTTTTGCAGTAAAGTAGTAAAACTACTCACGAAATGCGAAATTGCGATGCGGAAGGAAACATTCCTATGGTTCCTTAGACAATTTCTCACCTATTAGGATATAATATATAAATGATGAATTTGACCTTTTGACAATAATTCTCTTCGATAAATGCATTTACTTGTTTTTTTTTTAATGAGTAAAGCAGAGTGTGGAATATACTATGAGGAAGATGGTGAATATTGTTGGAAATTTTTCTGAAAGTTTTCATTTTTTCTGGAAATTTAAAGAGTTGGGTGTAATTACTGAAAATTATGTTTTAAGAAAATTATTTTAATGTTCAAATTTTACAAAGAACTCATTTTTAAATCATTAGAGGTGTAGCCAGTGGGAAGATTGTTGAGAAGATCCACTCCTTACGAAAAGATACGGAATATCATAATAAATCACTTTTCACGCGAAAAGCTATTAGTAACTTTTTACTGTCAAAAAGTGACAACCACTCTGTTTTGGCCACTCATAATTTTGCAACGACCAAAAAATTAAAATTTGTTCTCCTACATTTATTATATACTTCAACTTTGTTTTAATTATTTGTACTTGAAAATTGTAGGGAACAGCATGCGACAATCCTGTCAGTTTTCAAAAATCTCTACTTACAAAATATAGGACACGCTCTAAAAATGGATGTTTTTACATACAACGCCATCCGAAAATCCCTTGTAACGTCGGCACATGCGGTCCTTTATGTGACAGTTGTCGTGAGAAAATTAGAGATAAAAAATGTCCTCAGTGTAATCAGAAAGGCGTTCGTATCGTGAAAGCAATGTGAATAAACAATTTTGGGATTTAATTGGTTTTTGGCAATTTTTAAAACCCCAGGAAATGGAAGTTGAGGAGACTAGGTTGGTTAGAATAGCTCTTTTTCTTTTGGATTTTTCGGTAATTCCGGGACTGCGGTTATCCTTTGGGCCGAAAACTAGGCCTTAGAGCGATAGGACTAAGCCTTAGCCTAAAACTAAGCCTCAGCCTAAAACTAAGCATGAGCCTGAGCCTAAGCCTAAGTCAAGCTCGCGCTAAGCCGAATAAGTCTGCTGCTATCAAAAAGTGTTAAAATGCAAAGTTGTAGTAGAAAAAACGATAAATATTTTGTCAATTGACACTTTTTCAAAAAAAAACCAAAACTAGCAGAGATATAAGTAGTGATGAGTCAGATATTTCCGGTCGATGCACCATGTAACCTTTCTCTAACAACTGTGAGATGTCGGTTGCTATAACTTTTTAGTCATTAATTTGGACACCTTGTTAATTTGTAATAATTCTTGAAGATCGTAGCGGGGCCGACATCATTCACGGGTCCTCTTTTTTTAACATTTTGTAAAGCTGGCCGCATTTTTGGTAGCACTTAATATTACATCAACCATTAATGAGAAAATGTTTTGTAAATTTTTACTATTAGCCATTGCCCAGAAAATGGCAAGGTTGCTTTTTTATTTTATTTTCTTTTGTTAATTCACAAAAAAATCACCCTACTAACAATTGGATTGATTTCTCGACCCCAGTCACGCCAACTGTAGAACGTGTTGTATACATTCTCTGAAAATTGAACAGTTACTTTATTACGAATTTTTATATATTTGAGCTTGCGATTGTGTGATCAAAAATTTTGAAGCATGGTACGTAATATTTGAACGATTTTTTTTCGGAAAATCAATAAATGAAAATGGAGTTTTTTTTTTGGATTTTAGCAGACTTCCCAAACCGATGACTCGGAAAGATCATATGAATCGATTATTTTTTCTTTAATAAACCTGTTCAGGATTTGGCAGGCATTATTATGAGAAATAGGCCAATTAGCCTAGCATGTACGGAAGTAATTTTTGGTAAAACTTTATAAAAGTAATGAAAAGCTGATATTTTCAAAATTCCAGAAAGACGGAAAAATCATATGAATATGCTTTTTTTTTCTTTTTTAAGCCTATTTAGAATTGTCAAAACTACCAGAAAAGACTAAACAAAATAGCTTAAGCTTGATCGGAAATATTACATTTTAAAAAAATAAAAATAATGAAAAGCTGACGAGATATTTCCATTCCAGAATGACGGAAAAATCATAGCGATACTATTTTCTTTTATAAAACTCTTTAGACTTGTCAAAACTAACAGAAAATACTATACAAAGTAGGTTAGCTTAACCGAATTTCTACAAACTGAAATAATAAAAAGATGATTTTTTCAAATTTCTAAAATGACTGAAAAATCCTATGAAGCGATTCGTTTTTCATTCATAGAATAGTTTAGGACGAATTGGAATCATGATCAGAACACATAAATTCGCAAAGTAGGTTAGCTTGACCGGAAGTATTTTTGAAAAAGTGAAAAAACTGATTTTTAAACCAGAAGGACGGAGAAATCAGATATGCAGCGATTCTTCTTTTATAGAGTAGTCAGAATTAGCATTATTATGAGAAAATCGCGAATAAGGCTAGCATGTACGAAAGTATTATTTAAAAATTTATAAAAGTAATGAATAGCTTCGGATTTTTTAAAAATACCAGAATGACTACGGGAAAACTCATATCATAAGAACGATTCTTTTTTCTTGTATAAACCAGATTTCAGAACTGACAAAACTATTAGAAAAGACTGAACAAATGAGTCCTAGAAAAGACTAGTTAGGGAAGAATTCTTAAAATAGGAAGTTGACCAGAAAATCTGGATCTGAAATCTGGAAAAAGTAACTCTCAAAAATTCAAATTTTGATTTTAGGAAGATATGGCTGTGTAGTCTTCATAGACAATCAAAATAAATTCTATTTTAATTTTCAACCATCTTTATGCACGGGCTGATTCTGTCCTTCCTCATTGAATTTTTCGCGCTCCATTGACAATCGCCTGCCACAACGCGTGGGAAAGTCGTGTACTGCACACGGACAAATACATTTAGTTTTACAACTGAAATCGAGCCGCGACGCGAACACGCAACGCGCCGTAAATCTACCCCACGGTAAAGCGCGACATGAACTAGTTCAAACTCTGCGGTCCATTTCAATTTACGCGGAAAGCCAGAAACCCCAGTCGTTTTTATGTAAAAGTTCATACTGAGCAGTTAATTTAAACAAATCAAAATTTGGAAAATGATTTTAGGCTTTGTGCAAACTGTAGCGTCTCACGCGTAAAAATCTGCCAATGAATAAAAAATTTCTTTTAAAATTTTTATAACAGTTATTTGCCCAACTTCCGTTTTTCAACGTTAATCCGTTTCCAGTGATCAAATGCTTACACGGAAATCACTGATGACGTTCCATGTTTGGTTGCGATGTGAATAAGGTCGTTTTTTGCCCGAGAAAAAATGGTCACACGCACACACACATAGCCACACAAAATATAATTTGTATATTTTGTTTGATTCGAGTAAAAAAAGAGAACAGGTATTCCTGCGGCGTCGTTTTTCTAAACCGCAAGAAAAGATTGAGAGAAAGAAAGAGAAAGAAAAAAGATGGGAAAAAAACAGTATAAGGGATAAAAGTGTTTCTGGATTAGGTTTAATTATTAGGGGCGCACCATATTGTCGTAGAGGTAGGGCCCTTTTCCAAAGTTTTAAGTTTAATCGATAGAGCGTGAATACATAAAGAGAGATATTTGACCTGCAAAAAAAATATATGGTTGGTTTCTCATGCCATAAAAAAAATCCATGCAACAAATGAAAACTACACCTGCCAAGTGTCTCCGCCAGGCTAACCTAGTTTTTCCCTCCAAATGTTCCGTGACTGTTGTTTAAGGCTTTGCAGACCGCTTTCCCCACCGCACCCGTGTTAATCTATTCCCGAAGTGTTCTCCCTAGATAATCGGGTTGCACATTTTTGGTGAATCGGCTGGGGGTAATGAAACGGAGTAATAAAATAAATGAATAAAAAAGAAACTCCTTGTGGAGAGGCAATGAAAAAGCAAGCTATGCAAAGTATTGATCCGTTGTTATGAATCTTCTGGGCTCTTAGGCTTAGGTTTTTTTTAGGTTTAAGGCTTAGGCTTAGGCTTAAGCTGGCTTAGGGTTAGGAGGCTTAGGCTGAGGCTCAGGTTTAGGCTCAGGCTTCGGCTTAGGCTGAATCTAGGCTTTGGCATAGGCGTGGCTTGTGCTTAGGCTTAGAATTAGGCTTAAGCGTGGGCTTAGGCTTAGGTTAGGCAAGCTTAGACTGAGAAGACTTAGGCGTAGGCTTAGGCTTAGGCTTAGGTTTAGGCTTAAGCCTATACCTAGGCTTAGCCTGGCTTAGTCTTAGGCTTAGGCATCTCATGTTTAGGCATTTTATGCTTAGGCTTAGGCTTAGACCATGGCGTGGGTATATCCGAATGTGTGTTTTATTATGTTTCTGATTCTGAAATCATTTGTTATTTTAATATCCTACCAACAAACAAGGTTGTCTCTTTGTGCTGCCAGGTGGCATTTCCTTAATCATCTCAAATATTTTTGGTTTCATTTCCCCCCATCGCAAAATCCCTTTCTTTATCTGTCATTTCGCCTCTACGTTCAACTTATTTGATTTTGTGGTTTTCAAGAGATCATCACGATTAAACAACGAATGAAAAAAATAGGTATGGAATTACTACCGTATTCTTTTTTGCCTATCCTTGTGTCTCTCATTTTCCTTTTCTCTTCTAACCAGTTCTGCATTTTGGAATTTCTTCTCCGATTTGATCAGTTAAAGCTATTCGGTTTAAACCATCTTCTATTCAATTCTGATGATTACTGTTAGGAACGAGTGGTCACTTTCAAAAGGTCGAACTGTTGTACTAATTGAATTGGAAAATGCTCGGTATTTGACGTTTATCAGAGAAAAATTGAAGATTTGATATAAAATTTTGTAAAAATGAAAAATAAAGTTTCATTTAGAGTAGTATTCTGGCTTGCCTTATAAATTGTAATGGAAGAGTTGGCCATATTCGGCCATATCTGGGGTAGATTTACGGTTCGAGCGTTGCGTGCACCATCGCGTCCGGCTCGATTTTAGTTGTAAAACTAAATGTATGTCCGTGCGGAGTACACGACTTTCCCACGCGGGTCCGGAAGGCGATTGTCAATGGAGCGCGACAAATTCAATGAAGAAGGCCAACTTAGTGTAGTATTAGCAGACCAGGTTTTCACATAATTTGAGCGGTCTAATGCACATTTTTACGCAACTTTATGGGCCAGTATAATTTTCTTGGAAGTTTTATTTGAAATAAATTCAAATATTTTGAAGCCTAAAAATAATTGCCAAAAAAACAAATTTTTAGTAATTTAACTGCCTCTAAGAGTAATGAACAAATGTTTCCAACTTTTTGCAAATTACTTGCTAAGTTCCCGTGCAAATCTTGTATATAGATTTTGGCCTGAAACATAACAAGCCGATTGTTACAAAAATTAGGAAGGTACAATAGTGTGTTTATTGATCAAACATGTGTTCTTGAAGTTGGGTAAGAACAATTGATGAAGGTTTGGACCAAAGGAAAGCAAAAAATGTTTTTAGAAGTGAAAGTCTGAAACATTACCTTATTTCTGATGGTCGTTAATCAAATTTTGACAGACTGTAATAAGAAACCTTGGCCATCGTATTTTCTTATTAGTGCAACCGACCACTTTACTTTGAGTAAGACGTTCTTGTTTATTGCCTTTTAAAGACCTCAATATTTTAATAACTACACAATCATAGAGAACCAACAAAAATTTTGTTAGTTGACAAATTTAAATAGGACAAACGATAAATGAGCAATGAGCTGTCAAAGTTGAACAATGGTGGTGCAATAGAAGGAACTACTAGAAAAAATACGGGTCCTAAAATAGTTTTTATGTTAAAATCAGAAGATTGGTGGGTTGATTCCAGAAGTTTATTTCAAAATATAAGGTAACTCCGCTGACCGCGCCTCCGGTACCTTCAAAAGGCAAAAAGTAAGACTTTTCTAAAACTACAGTTATCCTACAGTAGGTCCAACAGTACACCTACAGTACCTCTACAGTATCTTGACATGATCCTCTACCTACTCCGAACCCAGTACCTCTTCAAAGGCTAAAAAGTCAAAATTACACAAACTACAGTAATCTTACCGTACTACAGTAAACCCAGTGAACCATTACAGTTTGACATTATTCGCCACCAACTCACCCTAACCCAATACCCTTCAAAAACTAAAACGTCAAAACAAACTTGTAACAGTAATCCTGACACCGTACTCCTACAGTACTCATACAGGACTACTACAGCGGACCCCAAACATATCTCACTAAGCCCCAAGTCCAGATCACTTTCAATGAAGTCAATTTTTCCAAATGTAACTACAGTAATCCTACAGAACTCCTACGGTACCCCTACAGTACTACTATAGTACCCTGACTATGTCTTCGACTAAATCCAAAGCAATATCCCTTCAAAAGACGAAAAGTTAATCTAAAACTGCACGTTACGGAGTCTTCCAGTACTCCTACAGTCCCCTACAGTACTACTACAGTACCCTGACTATGTCCTCCACTAACTTCAAATCGATAACCCTTTTCAAAAGACGAAAAATCATGTCAATTTTTTCTTTTTTTTATTTGAAATTGTCCGTTATTGCCATTATGTAATTTTCCAAAAATGCTGCCATCCTAAAAAACTGTTAGGTTTTTGTTCATACACATTTAGCTTATACACCACCTGCATAGTGACCCATAAAGAACCAACTTGGCCCCTGCCATACTTGGTATACAAAAATCGAGAACATTTGGCAAACCTGAGTGGTCATTCTATTAGCTATTCACCATGTGCTCTAATAAAGTAGAACTGATCATGGGAATATGTGTCAAGGCAGTAAATGGGGGAGTACTGTTAATGTACGTGTGCAATATTCCAGATGCCAAGTATACAGAGTATCTAATGACGGTAATTTGATTTCAGGTGCTTTAGTACGCTATATTGTTCCAAATGCATGATATTTTTTTTTCGAAAATTGAGGTTTTGTGTCGAATGTCCCATAATTTTGGATAATCAGTGGTCTTTAGCGAAATCTTGAAGCCGCTTAAAGCAGTGCTATATTTACAACTGCATTAGCGTTTTATTTTGCTCTGAAAATGACTGCAAATACACAAAATTTTGGATTAAACCGCCTGATTTTAAAACCGAGCTTAAACAGAATTTTTATTTTACAAACCTTAAAAAGTCCAAAAATTTTCTAAATTCCCTATACTAAAATTTAGCGACCCCATCACTTTCTACCCCTTAATTAATTTTTTACTCCATTTAAAAAAAATATTTTGAACCGGCAATTGTCAGAAAATTGGTTGCCTATTCCCGAAAATTTCCAAAACCGGCAATTGCCAAATTTTCAAAGCCGGCAACTGTCAAAATGGCAGCAAACTTCCAAAACCGGCAATTGTAGAAATTGCCTATTGCCAATAATTTAAAACCGGCAGTTGCCGAAATTGCCGAAATTGCCGCAAACCAAGACAGGCAATTGCCGAAATTGCCGGTTCGAAAATTTTCGAAACCGGCAGTTGCCAAAATTGCCGCAAACTTCCAAAACCGGCAATCAATAGCCTAAACCTTTGCCGATTGCCAAAAACAACACCGGCAATTGCCAAAATTGCCAATTGCGCAAAATGTTCAAAAAGATTTCAGAAATTGATACGTTTTATGTCCTTTAATTGTTGTGGGATTCTTTTTTAATAGATTTGAAACATATCATCCTGTTTTCAAGAAAATTAATTCCTTCAGTTTCTGACGACTCAAATCCTCCGCAAATGCCAAATTTATTTTGGGCAAACTAAACCAATTCTCAACAGAATTTTAGAGGTGGAGTATTGCCATTTGGTCTAAGTACACTTATAATAATCCAAAAGAACAGACTATCATGAAAAACACTCGAAACAAAATTCTTTTGGGCGACTTCCAAAATTATGAGTGGCAAAAAGGCTGTGTAAGTGCCACTGGGAATTTTGATGACAGTAAAAACTATCAATTTCAAAAAAATTTTGGAACGTTTTATTATGGTATTAGGTTATTTTGGGAACAAGTAAGTGGTTTACTCCACCTTTAAAAATTTAGCCGTTATACAAACTCCAACTATATCCATTTGATACTTTCCCCTCTACCCTACCCATAACAACATAACAGAAAAATTGCTTGGGAAATTACGCATCGTCGCAGTACACCACACTCCATTTGGATTGATGTCCCGAGAGAAAGGTCAAATCGTATTCTACCTCCTTATTCTAACCATCTCTATTATATCATGCTTTAATGAACGAGCGCCGCCGCCGCGCGCCTAGCGCCTCCGAGTATCGCAAAGTGCGACTTGGTCTGCCACATAACCTGAATTCTACTTTGTTGTATGATAGAATCGGATAGATGTAATGTGTAACAATAAAAAACCACGACGACGACTGAATATGGAATCGGCTAGGTGGTACAAAAGTTTCGGAATGTTTTGGTACCATGGTATGTGTAAGCTCTGTGAATTGAGCCACGGTCTAGCAACGATATTTCGTCGAAACTTTATTCTCGAAAGATTGTTCAATTGAAATTTTCCGCAAAAAACATTTTTTGAAAATATTTTTTGCTAAAAATGTGAATTTCTAGTGCAGCATTTTTTTTTTAATATGAAGTCCAATCAAAAAAAAATCTCAAAGAAAACATTTGAATTTCCCGGAAACCCCAATTTATGAGAATCAGTTTCCCTTTAAAAGAAAATTTCGGAGAAAATTTGAAATTCCGCGACGCCAAATAATTATTTTGAAATATTATTTCCTTATCGGCAAGTATTTTTTTTTTTGAAAACTTTGATTTAACGGAAAACCTTCTGAGAATTTTTGAATGTCCAGTTTAAAGAAATGTTCGGTCGCACGGGTTTCTGGCTTCCCTCATAACTTGAATGGAAGAGTTTGCCAAACTAGGAAATTTGGTTCGGCTATATCTTGGGGGGTAGATTATTTACAGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTTTAGTTTTAAAACTAAATGTATTTGTCCGCGTGGAGTACACGATTTTCCCACGCGTTGTCCGGCAGACGATTATCAATGGACCGCGCGAAAAATTCAATGAGAGGAGGCCAGAACCCCGTGAATTCCAGCAAACCAAAACTTGAAACTATTTGAAATACCCACAAAAAACCACTTTGGCTGAGAATGTTTGAATTTCCACAATTTGACGGAATACTTGAACAGATTCAAAAAATTTTGTGAGAATAGTTGAATTTCAAAAACCTGTTTTCTGAGAGTTTTGGACAAAATCCCTCAAATTTCGGAAAAAATTTATTTCCCTCAAAAAATTTCGAGAAATATTTTAAATTACCGGCATATTTGACATTTTGAACCCCACGAAAAAATTTTTAAAAATTTTCGAAATCCCGGAATAATTTTTTTCACTATAGTCAAAAAAGATCAACTGACTACTTACAAACTCCAGTACCCAGAGCATAACCCCCATTAGCTTCCGATTGCTACAGTAATTTCCTACAGTACTCCTAAAGTCCCCCTTCATAACGTTCCCCTGATAAATGCCCTTTAAAATATGCGTATTATCACATCTCACATGATTAAGACTAAAAGGGAGAGGTGTACCTTCAGATAAATACCCGTTCAATGTTTTTTCCTAAACCAGTTGACTTATAGGTTATGAAGAGAAGACTTAGTGTAAACAATGTCGTTGGAAGTGATATGTTAAGAAGTTAACGGCAAAATCGATGCCAAAACTTTTTCAGCTTTGACTTCTACTGCACAGCTCATTCCATAACCATGAGCTCACGTGCCCTTCCCCCCCCCCTCTATCTTCCACCGCACTTTCATTCCTCGTTGTGGCAACAAACCCATCTCCGGATTCGCCTTAATATTTGTCACAGCACAGGAGTACACTCCTTAGCGGCCAATTCGTAATAGCGTCTACCCAGCGACTTGGCCCAGAAACCTTCCTCTAATCGCATCCACAATAAAAAGGTCTGCAAGTACAAGATTAGCACCCCCCATTGATGTCAATTTATCTATTTTGATTCCATGGAACTATTCCACAATGTAGAAAATTGGGGTTATGGTAATCGAAACATGGTGGATCACCTAACTGCTGGCCAAATCATCATGGTGTCAAAAATAAGAATCCGAGTCCTCCCAGACATCCATGTAGGGTATGCACTTTCCCGCCTGTCCCGCATCTAACCTAACGATTAACATCTTTACAGACCATCTCTCCTCCGGATGATGTTGAAAATGTCGCGCCAGCACCTTTGGAGGCGGGGGGGGTTAAAAAGATTCCAATCAACCACCTATCTTCTCGATTTATCATCAAGTTTGCCCCCCGCGCTCTTAGATTAAATGAACTCTTTTGGCTCAATCACAGCACTTGTTATTAAATCTAGGAACTGCATCTATTTCGAACATTGTATCGTTACAGTTACCGAAAAATGTTGAAAATTTGGGAAAAGTGCCAAAATGTTGATCAAGTCAGAGAGATTCGAAGACGCTTCTAGCAATTTTTTGACAGTACCTGTCCCCTTTCGGTAGATTTGCGGCAATTCTCGGCAGATTTACAGCCGCTTTTGGCGGTTTTGCAGGTCAACTTTTAGCAATTTTGGCAATTTGAAAACTTCTACTTACTTTGCATTTTAGTCAATTTTCTGTAATTTCTGAGAACTTCAGATTTTCTTTTACATTTTTTTCCGATGCACCATGTCCTGAACGCTCGCGCCACGACTTTTTATTCATTATAGCAGGTCCTGTTTTGATGCATCATTTCCCAAGAGCCCTGCAATGCTGGCGATTCATGTCGCGATGTACCATGTCATCAAATGTTTGCACCCACTGCACGTTCCACCGCAACGAGGTTTTAATGCCAAATTTTCTGCAATTGCTCGTCAAAATATTTTTCGACAATTTTGTTAGCAAATTTTTCCCTTGCAAAAAGGTTCAAAATTCTGTTCCAAACACCAAAAAGTCGAAGATCCGCAAAATCTGCACTTGAAACACTATTTTGACAACCCCCGTCTCAGCTTGCTATCAAAAATGCAGCCAGATATATGGGCAGCTTGCATGTGAAACAAAAAAGAGAACGAGAGGCATCAGGGGCTAGTCCTCAAAGTAGATGTGCAACTCTATGAAATCGATACGGTTATGCATGGCATGGTGACAGGGAGCGAAGTATGATGATGATGATGATGGTGGAGAGAGCGCAACGTATGGTTACTGAATGTTTTCGATAAAGGTTATCTTTATGGGGGGGGGGGGGGGGGGGGTTGGGGCAGTGTGCATCGAAATATAAAAACTTTCGTGGAGATACGCTTTTTCAAGAAATTTGTGACACCTTCTTGGTGCATCGAGACAGTTTTCGTGGCAAGACCTGATTTGGTTGAAACTCTGAAGCCAAATCGCGGTCTACGATTTTGTGACCAGGTCAAGGTTTTCGTGGCATGGTGCATCATAGTAAAAATTAAAATCCTGGGAAAAAAAGCTCTATATATAATAGCGAGCCATGGACCGTACCTCCCGCGTGGCCCCCTTCTGGAGCTAAAAAATAATTTTTCTAAAACTACCGTAACCAGACTACAGTATTCGTACCGTACCACGATATTGTACCACTACAGTACCTCGACGCTATATCCGACTAACCCCAACTCACTATTTATCCAGAAGCCAGAAATGTGACTACAAAGACTACATAGATTACAAACTATGAACACACGTTGTGAATAAGCGCTTCACATAAATAGTGACATGATGGATTATTGAGATCCCATATGTGACATGGTGCATGGTGACAGGCATTCTGGGAGGGTGAGCACAAAACAAAATCATTAGTTATTTTTCGCCGACAATTTCCAATACAGCGAACTTTACCAAGGTCGTGGCCTACTTGTTTCCGTTACAGTTTCCTATTGTTGCATATTATACCGCCAGTAATCATTGCGTTATCACAGTTGACAACGGTTTGATAATGTCACAAAGTGTGGGGGTTTTGGAACAACAAACCAGCATACGATTATTAGAACGTGATAATTATTTTACCTGAACATCAAGTATTATTAGGTGGTGGAGCTGGGAGCTTAGTATTTGGGTTTTGAAACAATGCACCATGTCCTAAAAGATGCTTTATTGCTAGGTAGGGTGCCGCGACTGTATCCATTCCTATAACAGGTTCAGTTCCGATGCATCTGCTATGAATTAATACTGTTCTTATTCTTAGCTCAAAATCAGGCTGAGGCCCGCAGGCCCGAACACTTTTGGAGACTGTGCAGCTTTAATCCCCAAAGGCAAATTGTTATTCGCTCAAGCCAACTCATCTCTCCAGATTTCCACAAACTTTAATCACTCATATCTCTCAAAACCCTAGACTTCGATTTTTAATCCATAGTCGATCCCAATTTTTAAGGAAATCTCGAATATCCCTAGCTCAGGTTTGAGGCGAAGCAGCTGAAGCTACCTTTTTGGGCATCCCCATTCCAGAAACAGACGATAGCTGGCGTGGCCCTGCCGAGCTCGTCATTTGCCAAAACGTCAAATTGCTGGATCATGTCACGATCCATAATGCCTTGAACGGTTCTTCTGCACCTAAAATTAGCACTCAACTGGTTGAGGTAATACATGATGCAAGACCATGTCCCAAAGGGTCCTGCCATGTTGGGACATGTCACGATGCACCATGTCCTGAAAGATCCACGCTGGAAAACTACATTGTTCCGAGTGTTTACCTCTATTTCAATACGAAATGTCAGCAAATTTTCATCCAAACTCATGTCATTCAAACAAGAGCCTCATGTGACTATAGGGTCGTGACTACCTGCTCGAGTTCGCCTCAGCCCTGTTTTCAGAATAGCTATGCGTTAAGTACCCGATGTATTGCAACTGTCACGATTTAACGCTTAAGTTTTGTAGTTTTGATGGAAATTTTTGAGTTTTTCGTTTTTTCTTGGCTCAAATCTGGGAGAGTTTTGCTTTTTTGACGATTAAATATTTCATAGGGCAGCCCGGCATTTCTTGACTGATTGTGCGACATGATGGTGACAGGGCTTAATCGTCGCGAGACATCCCTCTAGTACAAAATTCTTTTAATATCAGTAAAAGCATTATAATCCATGTCTATACTTATTTTATGGAATTTTCATTAAAAAAATCTGAAATTTACGAGATGATCTACTCCAATTATAGATGGGTTTCAATCCAAAATTTCTCAGAAAAACTAAAATTAATGGGCATAAAAATGTTTTGTCTGAAAGCCCTAGATTGTCAAATATCCCTAACACCCCAAAAAACACCAATGTACATCTCCTCTCCGTAAATATGTAGTTTTACAACCGCCTCTCTGTTGACTGGGAGCCATAAATGTAGATATATTATCTTTCCAGATCGCCTGCCGGCCCCTCCCACCTGATTGTAAAACTGCTCTTTGCTGTGGCGGTTTATCGACTTGTTTTTCTTATATATTCCATTCTACATGCACCTTAACACATTTTCTTGTTTCTATACACTTTTTTAACTATAAAAAAATGCAACTCCTTTTCGATTCACGATCTTTTTATGCAAATCTTTTGGCTTAAAGCTGGAGTAGCACCAGTGGGGAAATTGTTAAAAACCACTCCTTTGGTCCGAAATGTACTCCGAATATCATAATAAAACTTTTCAATATTGGAATTTTTTTCTTCACAGTCATAAAGTGATAATTACTCAGTTTTTGCCACTCATAATTTTGGAAGTCGACCAAAATGTTTTTTCTAGATTTTTTATAATGTAACTATTTTGTTTTAATTATTTTTATGAAAACATTGGCATAGAGACAGGCGGGCCAACATAAGATATTGCTTTGCCTCAAAGGCTCATATTTTTCAGAATTTTGGCAATTTGCCAAAACTTGGTATTTAAAAATTGTTAGAGATAACTGTATTTAAATTGCAAAACATAGAACAGTTGTATTTCAAAATAGTTCGTAAAAATTGTCTAGTTTATTTTGCGGCCACACTGACCCCCACGATGCACCAGGACAAATTGCATTTTTTTGTTCAAAAGCTATTGTTTTGCAAAGGGGCATGTTCCAAACATCTGACCCAAGTTTTCCCGTAGTTCTTCTCTCCCCCAGCGGGGTAAACACTGCACTTTACGACTCCGCCCAGTTTTTTTTTTCGCACAAAGTGAGAGAGAAAGAAACATCACTGCGTCACTCTCCCCCAGTCTTACGCTCGTTCCCGCCCCCCTCCTCGATCTGCAAGCCAGACCGTCCTGATGATTCGAGGAGCCATTCCTTTTCTTATATGTATACGTTTTTGGAGAGGTGATCTTGTTTTTTTTGTTTCTCCTTTCGTTTTGTTCTCTATGCTCTGATAAGAATTTTGTTCTCCTACTTTTCTACGGTTTTTTTTTTTATATCCAAATTTTTGAAATAGAGGGTTGATCTACATGACCCCCATGCTTAGTCTACTATAATGCTATATCTGATATTCCGAATGGCTGGTAAGTGAAGGCTTTTAGCCCAGTGAGCCGGCTTACCAAGTCTGCCTAAGGACCATGGTTCTTTCAACTTAAGGCCCAAAATAAGCAGGGATTCTGGCCTAACCCCCACTAAATCTGTAGGCTAATATATAATTTCTATCATACTCCATCCTTCTTTTCTACCTCTTATCATGTTGTTATTGAGCAGCAACCCTTATATTGTTTGGTATATAGATTTGATATAAAACCTCGTAGTAAATTTTATTTTACACAACAATCATTTATCATAATTTTTTTTCATACTATTTTTTTGCAGAACGAAAAAAAAATGCTATTCACAACATCTTGAGCACTGGAGCTGTTATCATCAAAAAGGTGCATCGCAGCACAGCGGGAGCGTGTCATCCGATCAGTTGCTCAAGGCTTTCGGCGAGCTGGAACTTCCACTGAGCAGCTTCACAATGACAACACAGCAGCCCTGTACCACTCCTGTGCAACATTTCACAACACCCAAATTACAGACTCCAGTCAAACTCACCGTGCAGACCGTGTCGACGTGAACTCAGAGCCACACTCTTCAAATTGTCATCACCATTCATTTGAGCATCCGATATGCGCGAACGCTCCGCGGCCGATTAGGAGTCAGCGAACGCCGAAGGAAGACTACCACACTGTACGATCCGAATGAGCTGGAGGAGTCTATGAAGCAGAGCGAGGCGTGCATTTTGGATATCAAGACATTCATCACACAGTACTCGTTGCGGTAGACTACGGTAGTAATGATGACAGGTTAGTTCCCAAAAAAGTGTAGTGGAAGATTTTTTCTAAAATCTAAGCCGTGACCCGCGGAAATAAATCAGAATACATCCCCGCCTAGTTACCTAATCTCTGGTGTTAGCCACAGTGCAATTGTGTATTACTGTAATTCCTTCTATGACGTCATATGAAATAAAGTTGGCTAAAGGGAAAAGGGGACTCTGGATCTTAGGCGAGCAATTCTCTGCAGCCGGCACCAGAATCGATCCCCCGGTGCCTGGATATCTATCCTTCTGGGCTATTAGCCACTGCGAAATGCCCCACCCGCGCTGAGATCGAACAGGCGTCTGAATTCCTAGGCGAAGTTGCTACCCGCGCCATGTAAATCTCCCAAATTTCCAGGAGTAAGCCAGCTGTACATTTCAAAATTGCTCAACGGCAACCACCGTGAACTATCGCTCCGTCGCCGTAAGAACATCTACGGTTGGTACCTGAACTGCCGACGTCATCCCAACAAACTCGCTACTTTCCTCGCCATGTCGATCCGGCTACTCGCCTCGAGAATGGAGATGTCGAGCTGATCCCACAACGTCGAGAACGCTACGTGTTTCGTCCAAATTTCTTCTGATCCGAATGCTAGAATCGTTCTTCACACAAATGCCATTAGATCTTCCACGGCGAGTCTTACGAAATAGCGAATGCTTGCACTCACGTTCTGATGATGGATAAGAAAGGTGTTGGGTCCATGAGGCCAAAGGAGGAGGTTCAGCAGCCTCAAGTGGTTTCGAATTGGTTTGCAAATAAGCGGAAGGGAGTTGAGAAGCCAGAAAGTTCCGCTGAAGCTTTGGCCGCCTCCACCTCGTCAGCTTCGTCTTCTGCGTCATCGACATCATGATTCTGTCAGGGTGTCATCAGCATGAGCCCTCGCGAAAGAGGTGAGAGTTTTAATTTCTCGGCCACGCTGTACTCTGGGTCGAAGAATTTTTTGTAGGTCTGATAAGGAATCCACTCCGGTTTTCCCACACGTTAGGTCATAAACATGTACCATCTAGAGGTACTTAAACTTCTGGACTTTTATTTACTTTAGAGTATGGTAAACCTGTCAGTCCTTGTCAATCATGTGTCTGTTTGGTCTCAAGTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTCGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGTTCTAGTTCTAGGTCTAGGTTTACTAGGTCTGAGTCTAGACACAAATGTCTAGGCCACGGAAATTTCTGCCGTCGCCTAGGATTTAGGCCATATTCTAGGCCATGATACAAAAAACTTTCCCTGTCTCCTCTGGAGTAACCCATTTTGAAACAGACAAGCTCCCGTAACACAACCCCGGACAGCAATCTCCCCGTCTCCAGCAGTGTCCACTTTTGAAGTGTCCCGCCCGTATGCCATCATCTCTGCCATGTCATCAACAACCTCGCCAATCTCAATTCCAGCACAATCATGATCCATCAGTATCGCCGCCAGCTCTCGAATTTTTCGCCATGGCCCAACGGCTTGGAGTTCAGATTCGGTTCCATTTCCGACATTGCCAACACACATTTTCCCGTTTCAAATGGCCCCTACGGGAACCCGGCTTCTATTTTGAAGTCTGAGTTAAGCATTTCTAATTTTCTTTTCCTCTTTTACACCAATATCTTTTTTCCATTTGTTCTTATTCATCCCATGACAGAAAACCTCATTCTTTCATATTACAGGAATAACGATGCTCCGTTTCTTACGCCCTGCAGTCCCCACACACCCGTCGTCGTAGCAAAAATCACTCAATAATCGATAGGTTTTTCATAATATTTACTTTGTTTCTTTCTTAGTGTGTTTCACTGCTGTTTTAATATTTGAAAAGTACGAGTCTTCAAAAACTCTCCATTTTTTGTGAATAATATTTGCAATCCACAGCGTAATTCGTAATGTATCGCTTGCCCTACGACGAAATTTTATTGGAAATTCCATTTTTTGTGCAATTTTTGTTATTTTTCAAGCGAGAATAAATATTTTCTCGTTCTAGAATTCAATTGTGAATTACTTTGCAAACGCGCCCCATTGCACTTCCGGGTGAAACAAGTTCGTGTTTTCAAGATATTTTAAAAACTTGAATTTGGAACAACACAGAAATCTGGAAAATGCAACAGTGTTCCAAGTCTTGTCCACGTGTGATACGAGTACACAATAATTTTTCATCTATACGGACAGATTTCAAAATTGGAATGTTTTCCATTTCGTGTGGTTTCTAGGCCATGGGAAAACGAGCTAGCGGCCATCAAAAATTCCAGGTGACCTGGAAGTTCTAAAACTTTGTAGAAACTTGTCCACGCGGAGTACACTATTGAATAGTTTATCAATAGAGCGCAAGTAAAAGGATAATCGAATTTCTTGTCCTTTCGCCACCCCCTCTCCATTATATATGAGGTTTTTTCCCTCGCAATTTCCCACGCTCAAGAGGGTCGCCGCCATTTTTTTTTTGAGGGGGGTCGTATCTAGATTAAACACGTTCATTTATGCTCAAAATGTGCCAATAATTTTTGTTTTTGAGTTTCTAGGCCATTTTGGTAAGTTCGCACACTGACTTTACGACTTCCAAGGAAATGGCCAACGTTAGCTTATTTTTCTAGGCCATATAATTTTTTGAGTTGCAACTGTGGCCAATGTTTTTTTTGGGTTTCTATCACTTGTGAAAAGTTAGGTCATAGAATAACATTACAGTAAACGGGTCCTCAAGGGACAATCAGGAATTGTAGCCTAGTTTTCCTAGACCACATTTGATTTTTGTCTTTCTAAGCCTGGTTTGGGTCTAGCTCTAGTCCTAGGTCTAGTTATAGGTTGGTCTATGTCTAGGTCTAGATCTAGTTCACATGAGAAACAAGAATTAGGCCACCTTCCCCCTAAACTCTATTATCTCCAAACTACTACTTTCTAGAAAACTCTAAAATCATAAAACCAATTTTTTATCACTATTTTCATGCTAAAATCCAATCAGAAATTTGATCAGATACACGCATATAAATATTACGACTATAAATTCGTTTCTTTTTTTCATTTTTCCCTCGATAAGGCTCTCGGCGAGAAAAATTATTTCTTCTTCTATGTGTCGAGACATGTGATATTCCGGCCGGCGGTGGCTCTGAATCAATATTCAATTGAGCGAGAAATATATATTCTCTCCAGAAGGCGTTTATATAATGTGTTCCTCCTGTAGTTTCTGCTGTATTCGGCGGATTTGGTATGCTTCTCAGTGGAGTGCAGTTGCAGCATTTTTTTTCTTTAATACTAACTTTTTGTCAAGTCTTTTTTTGGGATCCCTAGAACACTAGAATTTCTCGCTATTTTGAGATTTCTAGACCATTCTTGAGATTTCTAGGTCATATTGTGAGTTCTAGTGCATTTTTGGGTTTCACGGCCGAATTGGAAGTTTGAGGCCATTTTTCGGTCACATAGGCCACGAATTTGAGGATTTTGTGCCAAACTGGGATTTCTAGGCCATCATGGGATCTTTAGGCACGAGTTTTCCAATCATAATATAATTTCTAGGATATCTTGAACCTGTATTCCTAATGCCACTTTGGAATATTAGGCCATCTTGGGACTATTTCTGCCATGATTTCTAGGTTAATAACTGGCAATTTTAGATTTGGGCTTAATCTACAGGAGGACATACTGCGAATTATACACGAGCCCACGGTTGGATATATAGGCTATCGTGGGATATCTACGCCGATATGTATGGAATCCTAGGCCAACTTAAAATTTCTAGGCCACTTAACCCCGGGATTTCTAGGCCGACCATCACGCCTCCTAAAAGGCACAGACGGAAAGTTCAACACCCACCACCAGGATAAAAGTGTTCGTGAATTAGTCAGCAACACCCCATTTTTCTTCTCCAAAAACTAAAAAAAAAGATACCCCTGACAGATATGGGCAGAGATGAGGGTGCGAATCCTGAAATTGCCTAGAATTCCGAGCTTTTTGTGCCAGACAAAGTAGAGCAATGGAGAATGTGTGTCGCCACTTCAAACACCATTTTGTCCGTTGCTTCGCCCGAAGGGCCCGAAAATAGGCTTGAAAAGCTGTGGCCTAGAATTTTTTCTCAAAATTTTTGACGTGGAAAAATTGCTTAAGATTTTCGAGGCCAAGAGGTGGCCTAGATTCAACATTTATTGGCAATTCTTATCTAGATCCCGAACCCCGACCAGCCAGTTTTTAATTCTCCTCCGGTGTCTGAATTTTTAATTAGAAAAATTATTTTTGGTTGAGGAGCTCTGTTTTTTTTTCGTCAAAAATTGAAGGTGGCCTAGCTTTCTCATTTTAAGGCCACGAATTCTAGTTAATTTTTTGTTGGCTCATTTTTTGTTTCAAAAAATGAACCAGTTAGTCAAAAAATTCTTTTCTGCATATCAAAGGCCACTATTTTTGAGGTTCTTTCCTGCACAATTTTTCGAAGAAAATTTGAATTCCGGAAAGTTTTCTCAGAAAATTTGAATCGCCGCCAAAATTTTTCTCTGAAAATTTGAATCGCCGCCCACCCAAAATTTCAGAAACCGTATTTGAATTCCTGCAAAGTTTTCAAAATGGGGTCTCACCACAGAATGGTGACAGCGCCCACATTTCTCAGAGACATTGGTTTTTAGGCCAAAAAAATAGTTTTTTTGACAAGACAAAAACATAGCAAACACTTGAGCAGTTGTCATATGTCTGTTGCAAGTGGAAAAAATAAAACATCTTTCCTTTTTTCTGCTTCTCCCCCTCCGTCCTTTTTGGGCTCAAAACTCAAATGGGTTGCTCATCTCAATTGTCTGACAAATTAGCAAAAGATGAAGCAATTTTTCCCTGTTTATCTTTTTTTGCCTCCGTTTGGCTCCTATGTCTTTTTTAGTAGTTTTCAGAGGTTTAATATTGAATGTTCAAACTGGCTAAAAAATTTCGATTTTTTTTTCTTTCTAAACTCTTACGAAAATTCTGATATAGGTTAGAAAATTTGCCTTAAACAGATCGACGGCCGACAGCGTTTACATTTGTGGCCTAGACTTCCAAGCCTGGGCCATGGCAAAAACTTGTTTAACTAGCCTACCTTTTCAAATAGTGGCCACTCTAAACTATTTCTGAACTGTTTACTCAAAAGAGAAAGTTAGTGGCCTAACTTTCTCAATGGTGGCCTAGAAAACTCCAATTTTGGCATTCATGACCGGTCATCAACCTGACATTGATGGCCATGCTAAAAAGTTAATGAGTGGCCTAGAAAACCAAAATATGGCCATGCGCTCAGCATGTTTCTAACTTTCCAACTCTGCTATAAATTCCTTGGGGGAAACCTCGGCCATCACGGGTGACCTAGAAAACAGAAATTCGGCCAAGACCCCGTAATTCATGGCCTAACCCTTTAGACGTTTGACTTTGGTGGCCTAGTTTTTTGTGATGGCTAAGTTTACAGAAAAAATCCTCAGCCACAACCTTTACCCTATACATGACATAAAAATGTCCATTATCCAATTAAATTTCCAATTCTCCACCCTTAATTTTTCATTTTGTTCTCTTCTTTTATTTTGTCACTCTCTCATTCTGAAACTAATCTTTTCAATTCTCAGTTTTTCTGGTGTGGTTGATTTTCACAGCTTTGCTCCCGCCATTTTGCAATAGGATTATCCGTGACACAGGCGCTCACATAGCTCAGTGAGCAACACCAACAAAAGCATATATAGATATACAACGATATCTAACTAGTTACACCGGAGCTTCTGTTGTTCTTGCCCCTCCGAGCCGAGACAAACTTTTGGAAAAGAGCTAAACAACGCTTCTGGAGCCGACATATTCGAATGGAAAGAGACAATTGCGACCACTATGAGGAAATGATGGTCGAGGAGGAAATGAGAGATGGCGTAGCTCAAATTGCGCGACGAATGCTCCAAGTTGGTCTATACGGTAATCAGTGAGTTTTTGTGTTTTGTTGGCCGTAGTAGAGATAACTAGGCCAACTAGGTAGGCTGACGATCTTCAGTTTGCAAATCCTCTTCAACCGTACTTTTTTGAGCGATCTAGGTTTGCAAAAGGTAGGCCGCCTGGTCCACCGTACCTGTCAACTTATGATGGCAGAGGTTTTGTCTGGGAAAGCTAGGCCACCTGTGTGAGCTCATGGTCCAAGGTCTAAAGTTTACAAAAACTCTTCCACCGAAACTTCTAGGGTGCTCACGACCGAGGCTTGCAGAAAGGCCACGAGACTTGGCTCGTGGCCCAGAATTTTACTCATCCATCGTAAATTATTAGAAATCCGCGAGGAAAAAGCTAGGCCATCAAATTACCTTAGTGGCCCAGAATCTATAAAAACTATCCCATCGTAGCCCTCTTGCATGGACGGCTGAGCTGAGGTAGCTAGGCCCCGAGAATAGGCCAGTGGTCTCGAATCAACACAAACTCTCCACCGTACCTCCTACAATGGCCGAGGTAGGGAAGATGGGCGCCAGGCTAATCTAACTTTCCTAGACTGACCTAAAGGGGAAAAAACAAGGCCACCGGGTTTACGGAGTGGCCGACTGCGAAATTTCACAGAGACATTGCCCTGACTATCTGACTGATTTTTTACCGTCGAAAAATTCATATTTTCTATGCCAGGGGCCCCCTACGGCCCAATCCTCGCAATTTTTTTATGCAGATATCTAAAATCGCACATTTGTTAAAGCTCTGCACACTAATCAAACTTCTCGTCTGCTGGTGGGCCGTTGCTCCGCAAGTCAACTCCTACATGACGCACAGTATGGGGAGCAAGAGTTCATTGGCGCGAATTTGTCAGATCCAGAGAAAATTCAAAACTTAAAATTAGCAGATCTTAAAATGTGATTCTCTAGGGAGCCTCCCGCTTGAGGCCGTGGACGCTGTAATTTTCGATATCCGACTTTTCCATTACCTATGGGGCATTCGAGGATGTGTGGCAGATTATTTGGATGGCGGTGGGTACTGTTAAGTTTCCCTACGAATCTATACATTTTTCAGGCTTCGGGCGACTTTTGTGGTGCGTTTCCTGCTTAACCCTGGTTTTCTCCATTCCGGTCCTCTTCATCTCCCATCCGAAACCCTGTCTCTTTCGGCCGCTGCTTTTTCAGGTGAGTTGGCTGAAAAAATTTGGAAAAAAACTTTAAATTTTATCCGAAAGGCGATAAGCAGTGGGATTTTCCACGACTACCACTCACAACAGCATGGTTCGACCCAGTCCGCGTGGGTGTGAATTATTTTTCTAGTTTTTTTTTGAAGTACGGAAATTGTATTTAGCCTTATCTGAAAAATTCTAAAATATGCAAAAAAATCTCCGATCAAACCAAGTAGTATCCTTCTCCAAAAAGCGCAGCAACGTCAAATGGTCCCACGTGGGGCCTGAATAACGGCAAATTTCCTGACAATTGACGGGTTATCATCCACCACCCTCATCCTCTTGAAGGAACATTGACTTTTTCCGTTGAAATGGACAAAAAAATTGAAAAGAATTAGATAGATGCGGGAGAATGAACATGGTGGCCTAACGTGGTGCTTGACCCATGGGCTAGAAAACCAAAACTCAGTCATCACCCTGATTGAGGCCATGAGATTAAGCCACGTACGACGCAATCCTAGGCCACCACGTTTTCTCGGCCACAGCCACCCCAAACAAAAATCTGAACTTTCTGATCCTTTCCATCTCTAACCAACGTTTGTTTATCTTTTTACTCGCTCCACAGGAGCAGAACTTTTTTCTATTTTGAAATCCACAAAAGAATCCGGGACAGACACTAGTGTATTTTGTTTTTTATTCAGCCATGAGCACAGACCAGAAATAGGATTGTATCTCGGACTTCAGAGCCTGGAAAAAATCGGAAAAAATCGGAAAACAGTGGAAGAACTGAGTTGGGTGCTAAATTTGGCAACTTGCCAAAATTTGGGGATAACTTTTTCGGTAATCTGTAACTACAGTTTTCCTAAAAATGTATGAACCTTTTAGTGATTACTGCATAGTTTTTCAGGTCTTTAAAAATGAACCTACAGTAGCCCGTACAGTTCACAGGATTGCAAAATTCCAAATTGACCACTTTTTAAGAGTGTATCTCGGCAGAGTATTGGGAAAGTATCGGAATATTTTAAAAATTTTGGATAATTTTTTTTTTATTTATAATTAATTAACATTTAGCTTTCAAAGATGAGCAATGTATTTATAGATACCCATGCAACTTTGAAATAGTTTGTATATCCGTTCAGTGTAACTATCAAAAAATTTTCAACTACAAAATTACTTCATAGCAAAATTTAAAACAAAGAAATTGTTAGTTACTTTTTAATAAAGTACAACCGAGATATTTGTCAAAGTTGAGCTACTTTATCGGCAACCATAAGTAGCCCCCGTACAATGCACCATGTGGTAGAAAATTTCGGTTTGATCTACTTAAATCTACAAAAAGTGCGGGAAGTCGGAGAGTTTGGATAGCTAAGAACGTGCTGAAGTGTTTGCACATTTTGTTGGGCACAAAATTCCCACTTTTCTGATTGTAGATCAAACCGTCGCGGGACAAACTGGTACCTCTTCGTTGTTGGTATGTAAATTTTGAAAATCACTTCGTTTGGTTGGTATGAAACTTTAAACTAGAAAAAGCCCTAAAAGTTGAGCTAGGCGCTCAAATTGGGTAGCATTTACTTTTTTCAACAAAAACATTGCTGGCCGAGCTTTCTTTTACGGCCACGTTGCAATAAAAATCCAGGAGGACCATGTCATCAACAAAAGTACAAGGATGTAGCATAAACAATCACTCCGAAACTTTTGTCGGGCACTGCTTTATCGGAAAAAAAAAAGGATCTCTCCGAACACATCGGTGTCACCCCCAGGGTTCTATAGCGTCTCCCTGACCTCGCGAGCTATTTCCTCGAGACAAATCTCTCTGAATCCTTTTGTAATGGTTGTTTCATGTTCTTCTTCATCTTCTTCTTAGGCTATTCTTCGCTGGGATAAGTAGTAGAAGAAAACCAAAAGAACACATAAAACACAGGCACACACACACACACATTCACACCGTAATATCATATAAAAGTGTGGCTGCGTCTCCCAGAGCGCCCTGGGGGTAAGCAACGCGGGCGCCCGCAAGGAAAAAGTGCAAAGAAATTAGAGAAAAAAGACCGTCTCACTCACTTCTCGATGCCTTTTCTTCTCTAACTATAAAAATTGTCAACTGTGGGGCCTCGAAACGAACGAAAGCGAAAAAAATCAAGAGAACTAGACTCTGAGAGAGAGACAGAAGAAAGAGTTTTTTTCGACGCCGACCGCAGCTGCCAAGCAGCAATAATGACATGCTGGAGAAAAAAATTCAAAGTTTAAATATGTTTTGGCGATCAGAAGCCTAGACCATAAGCCCCTTGTATTGAGTTTTCTCGGCCATTTTTGGTACGGTACATATACATAGAGACTTCAGATTGGGAATTGCGAATCTGTTAGAGTAAGAATAGGCCTAAAACATTGGGCCTAACGGTGACGGAGACTAGGCCTTGTTGGGAGCGATTGTTAAACTATGACATTGCCTAGAACCTCGTTCTATCTTGGTTATGTGGTGTCGGGCTTTCATGATCAGCTCCTTTACTTTTGTCCAGAGAAGGTTTGGGCTTTTTCTGTGGGTGCTTTGGGCTCTATTGTAAATAGGTGATCTTGCGCAGAACACAACGTAGATCTAAATTCTTGTCTAGGCTCTGCAGGCTCCTGAGGGTAGCTGTTTTGCACCCCAAAGCAAAATGATCTCAAAATTACACGACTTCAAGCAGGAGGATTTTTCGATGATTGCCAAATTTTGTAACTTTTATAGGCTTAAGCTTATGGTTATGTTTAGGCGTAGGCTTAG ####################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################### +V 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#tag_depadded.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#tag_depadded.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,11 @@ +@HD VN:1.4 SO:coordinate +@RG ID:UNKNOWN SM:unknown LB:UNKNOWN +@SQ SN:CHROMOSOME_I LN:102 +I 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;28;+;STOP;Note=tag1 +II.14978392 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;27;+;PRIM;Note=tag2|28;28;+;OLIG;Note=tag3 +III 0 CHROMOSOME_I 2 1 27M1I73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########################"##@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:1;1;+;COMM|101;101;+;COMM +IV 16 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +V 0 CHROMOSOME_I 2 1 100M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +* 768 CHROMOSOME_I 2 255 1M * 0 0 * * CT:Z:+;STOP +* 768 CHROMOSOME_I 28 255 2M * 0 0 * * CT:Z:+;COMM;Note=consensus%0Amulti%09line%0Atag%0A!"#$%25^&*()_+<>?:@~{}%7C%0A1234567890-=[]'%3B#,./\ +* 768 CHROMOSOME_I 101 255 1M * 0 0 * * CT:Z:+;STOP diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#tag_padded.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#tag_padded.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,11 @@ +@HD VN:1.4 SO:coordinate +@RG ID:UNKNOWN SM:unknown LB:UNKNOWN +@SQ SN:CHROMOSOME_I LN:102 +I 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;29;+;STOP;Note=tag1 +II.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:27;27;+;PRIM;Note=tag2|29;29;+;OLIG;Note=tag3 +III 0 CHROMOSOME_I 2 1 101M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########################"##@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC PT:Z:1;1;+;COMM|101;101;+;COMM +IV 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +V 0 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +* 768 CHROMOSOME_I 2 255 1M * 0 0 * * CT:Z:+;STOP +* 768 CHROMOSOME_I 28 255 3M * 0 0 * * CT:Z:+;COMM;Note=consensus%0Amulti%09line%0Atag%0A!"#$%25^&*()_+<>?:@~{}%7C%0A1234567890-=[]'%3B#,./\ +* 768 CHROMOSOME_I 102 255 1M * 0 0 * * CT:Z:+;STOP diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#unmap.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#unmap.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +I 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +II 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +III 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +IV 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +V 4 * 0 1 * * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC +VI 4 * 0 1 * * 0 0 ACTAAGCCTAAGCCTAAGCCTAAGCCAATTATCGATTTCTGAAAAAATTATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTTA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#unmap1.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#unmap1.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,20 @@ +@HD VN:1.0 SO:unsorted +@SQ SN:CHROMOSOME_I LN:15072423 +@SQ SN:CHROMOSOME_II LN:15279345 +@SQ SN:CHROMOSOME_III LN:13783700 +@SQ SN:CHROMOSOME_IV LN:17493793 +@SQ SN:CHROMOSOME_V LN:20924149 +@SQ SN:CHROMOSOME_X LN:17718866 +@SQ SN:CHROMOSOME_MtDNA LN:13794 +@RG ID:UNKNOWN SM:UNKNOWN +@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta5 +SRR065390.33808391 4 * 0 0 * * 0 0 GATCGCACTGAAAATCTGGATATAGAACGTGTGCAAATGATTGTCTCTACCGTTCCGTAAAAATTATTGCTAATTAGCAATGATTTTAAGCTAATTAGTT CCCCCCCCCCCCCCCCCCCACCCCCACCCCCCCCCCCCB;CCCAACCCCCCCCCCCCCD=B9BCABCBCB>BBBC@B<<@BA;BCC?B>A<<@(?:4==4 YT:Z:UU +SRR065390.33808433 4 * 0 0 * * 0 0 NCATCTTCTGCAGGCGCGGTCGGCACCGTGTATTCGTTACGTTCCACGCCGATGATATTAGACACCAGCACGGTGTGATGCGCAGTCACCGCACGACCCG !################################################################################################### YT:Z:UU +SRR065390.33808462 4 * 0 0 * * 0 0 NGTTTGAGCGCAATGACTTGACGATGACCGGTGATTACAGTAACCAGCATATTGTGCCGATGAAGCAGGCTGTCGCTCCGCAATTTGAAGAGGGACACGA !################################################################################################### YT:Z:UU +SRR065390.33808468 4 * 0 0 * * 0 0 NGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTTTATTTTACTCTCTGTGGCTTTATCGATTATTTTTTTCTCCTTGGCTTTCCTCTTTATTTTT !))))))''&585555AAAAA6AA############################################################################ YT:Z:UU +SRR065390.33808471 4 * 0 0 * * 0 0 NCGTCTTCTGCGGTTTCTATGATAGAGCAATTCTGTGGCGGATATTAAGATAACGGGTATCTGTTCTTTAATGATGCCGCAAAAAATGGAAAGTTAAGAA !################################################################################################### YT:Z:UU +SRR065390.33808489 4 * 0 0 * * 0 0 NGGAAATTCTGCGGTATCGAGAGATATTTGCCTTTAATTACCCCATAGCCGATTAACATCCCGGCACTATTAATCATTTCAATATTATCAATCACAAAGT !################################################################################################### YT:Z:UU +SRR065390.33808504 4 * 0 0 * * 0 0 NTGGAACACCATGCCCACTTTCGCACGCAGCAGGGCGATATCCTGAGAGTTGGTCAGGATGTTGTCGCCATCAAGCAGAATTTCACCTTCCGCACGCTGC !################################################################################################### YT:Z:UU +SRR065390.33808511 4 * 0 0 * * 0 0 NCAGAAATATATTGAACTTTTGAAACATGTCCCAACTTTTTTTTTTTTTAGAACACGTTGGCTGGTTTTTCAAGTTTTGAATACTTTTTAGGTTTTTTTG !***()(+++AAAAAAAAAA:78:8318::AAAAAAAAAAAA########################################################## YT:Z:UU +SRR065390.33808521 4 * 0 0 * * 0 0 NTGTCAATACATTGTAAGGATTTCCCATTATGTCAATACATAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATTTCGTATGTCGTGTTTCTTT !################################################################################################### YT:Z:UU +SRR065390.33808523 4 * 0 0 * * 0 0 NTACTTCTTACAAGATTTTTATCGCTACTTGAAAAAAATTCATCAACATAATCGCCATGACTATCTGCACCGTGAGTATGATAAGCAGCAACTCTATCTG !***+--,')AAAA778577A72AA50888AAAAAAA72A88858AAAA77AAAAAA7AAAAAAAAA8AA############################## YT:Z:UU diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce#unmap2.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce#unmap2.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,29 @@ +@HD VN:1.0 SO:unsorted +@SQ SN:CHROMOSOME_I LN:15072423 +@SQ SN:CHROMOSOME_II LN:15279345 +@SQ SN:CHROMOSOME_III LN:13783700 +@SQ SN:CHROMOSOME_IV LN:17493793 +@SQ SN:CHROMOSOME_V LN:20924149 +@SQ SN:CHROMOSOME_X LN:17718866 +@SQ SN:CHROMOSOME_MtDNA LN:13794 +@RG ID:UNKNOWN SM:UNKNOWN +@PG ID:bowtie2 PN:bowtie2 VN:2.0.0-beta5 +SRR065390.14978392 16 CHROMOSOME_I 2 1 27M1D73M * 0 0 CCTAGCCCTAACCCTAACCCTAACCCTAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA #############################@B?8B?BA@@DDBCDDCBC@CDCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:1 XM:i:5 XN:i:0 XO:i:1 AS:i:-18 XS:i:-18 YT:Z:UU +SRR065390.921023 16 CHROMOSOME_I 3 12 100M * 0 0 CTAAGCCTAAATCTAAGCCTAACCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################################???88:;98768700000<>:BBA?BBAB?BBBBBBBB>B>BB::;?:00000 XG:i:0 XM:i:3 XN:i:0 XO:i:0 AS:i:-6 XS:i:-13 YT:Z:UU +SRR065390.1871511 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA 0:BB@>B<=B@???@=8@B>BB@CA@DACDCBBCCCA@CCCCACCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU +SRR065390.3743423 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ##################?6@:7<=@3=@ABAAB>BDBBABADABDDDBDDBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU +SRR065390.4251890 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###########@BB=BCBBC?B>B;>B@@ADBBB@DBBBBDCCBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU +SRR065390.5238868 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA @,=@@D8D;?BBB>;?BBB==BB@D;>D>BBB>BBDDBA@@BCCB@=BACBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU +SRR065390.8289592 16 CHROMOSOME_I 3 1 100M * 0 0 CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA ###############################A?@C9@@BC=AABDD@A@DC@CB=@BA?6@CCAAC@+CCCCCCCCCCCCCCC@CCCCCCCCCCCCCCCC XG:i:0 XM:i:0 XN:i:0 XO:i:0 AS:i:0 XS:i:0 YT:Z:UU +SRR065390.33808391 4 * 0 0 * * 0 0 GATCGCACTGAAAATCTGGATATAGAACGTGTGCAAATGATTGTCTCTACCGTTCCGTAAAAATTATTGCTAATTAGCAATGATTTTAAGCTAATTAGTT CCCCCCCCCCCCCCCCCCCACCCCCACCCCCCCCCCCCB;CCCAACCCCCCCCCCCCCD=B9BCABCBCB>BBBC@B<<@BA;BCC?B>A<<@(?:4==4 YT:Z:UU +SRR065390.33808433 4 * 0 0 * * 0 0 NCATCTTCTGCAGGCGCGGTCGGCACCGTGTATTCGTTACGTTCCACGCCGATGATATTAGACACCAGCACGGTGTGATGCGCAGTCACCGCACGACCCG !################################################################################################### YT:Z:UU +SRR065390.33808462 4 * 0 0 * * 0 0 NGTTTGAGCGCAATGACTTGACGATGACCGGTGATTACAGTAACCAGCATATTGTGCCGATGAAGCAGGCTGTCGCTCCGCAATTTGAAGAGGGACACGA !################################################################################################### YT:Z:UU +SRR065390.33808468 4 * 0 0 * * 0 0 NGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTTTATTTTACTCTCTGTGGCTTTATCGATTATTTTTTTCTCCTTGGCTTTCCTCTTTATTTTT !))))))''&585555AAAAA6AA############################################################################ YT:Z:UU +SRR065390.33808471 4 * 0 0 * * 0 0 NCGTCTTCTGCGGTTTCTATGATAGAGCAATTCTGTGGCGGATATTAAGATAACGGGTATCTGTTCTTTAATGATGCCGCAAAAAATGGAAAGTTAAGAA !################################################################################################### YT:Z:UU +SRR065390.33808489 4 * 0 0 * * 0 0 NGGAAATTCTGCGGTATCGAGAGATATTTGCCTTTAATTACCCCATAGCCGATTAACATCCCGGCACTATTAATCATTTCAATATTATCAATCACAAAGT !################################################################################################### YT:Z:UU +SRR065390.33808504 4 * 0 0 * * 0 0 NTGGAACACCATGCCCACTTTCGCACGCAGCAGGGCGATATCCTGAGAGTTGGTCAGGATGTTGTCGCCATCAAGCAGAATTTCACCTTCCGCACGCTGC !################################################################################################### YT:Z:UU +SRR065390.33808511 4 * 0 0 * * 0 0 NCAGAAATATATTGAACTTTTGAAACATGTCCCAACTTTTTTTTTTTTTAGAACACGTTGGCTGGTTTTTCAAGTTTTGAATACTTTTTAGGTTTTTTTG !***()(+++AAAAAAAAAA:78:8318::AAAAAAAAAAAA########################################################## YT:Z:UU +SRR065390.33808521 4 * 0 0 * * 0 0 NTGTCAATACATTGTAAGGATTTCCCATTATGTCAATACATAGATCGGAAGAGCGGTTCAGCAGGAATGCCGAGACCGATTTCGTATGTCGTGTTTCTTT !################################################################################################### YT:Z:UU diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce.fa --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce.fa Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,20803 @@ +>CHROMOSOME_I +GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA +GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA +GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAAATTGAGATAAGAAAA +CATTTTACTTTTTCAAAATTGTTTTCATGCTAAATTCAAAACGTTTTTTT +TTTAGTGAAGCTTCTAGATATTTGGCGGGTACCTCTAATTTTGCCTGCCT +GCCAACCTATATGCTCCTGTGTTTAGGCCTAATACTAAGCCTAAGCCTAA +GCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAATACTAAGCCTAAGC +CTAAGACTAAGCCTAAGACTAAGCCTAAGACTAAGCCTAATACTAAGCCT +AAGCCTAAGACTAAGCCTAAGCCTAATACTAAGCCTAAGCCTAAGACTAA +GCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAAGACTAAGCCTAAGA +CTAAGCCTAATACTAAGCCTAAGCCTAAGACTAAGCCTAAGCCTAAAAGA +ATATGGTAGCTACAGAAACGGTAGTACACTCTTCTGAAAATACAAAAAAT +TTGCAATTTTTATAGCTAGGGCACTTTTTGTCTGCCCAAATATAGGCAAC +CAAAAATAATTGCCAAGTTTTTAATGATTTGTTGCATATTGAAAAAAACA +TTTTTCGGGTTTTTTGAAATGAATATCGTAGCTACAGAAACGGTTGTGCA +CTCATCTGAAAGTTTGTTTTTCTTGTTTTCTTGCACTTTGTGCAGAATTC +TTGATTCTTGATTCTTGCAGAAATTTGCAAGAAAATTCGCAAGAAATTTG +TATTAAAAACTGTTCAAAATTTTTGGAAATTAGTTTAAAAATCTCACATT +TTTTTTAGAAAAATTATTTTTAAGAATTTTTCATTTTAGGAATATTGTTA +TTTCAGAAAATAGCTAAATGTGATTTCTGTAATTTTGCCTGCCAAATTCG +TGAAATGCAATAAAAATCTAATATCCCTCATCAGTGCGATTTCCGAATCA +GTATATTTTTACGTAATAGCTTCTTTGACATCAATAAGTATTTGCCTATA +TGACTTTAGACTTGAAATTGGCTATTAATGCCAATTTCATGATATCTAGC +CACTTTAGTATAATTGTTTTTAGTTTTTGGCAAAACTATTGTCTAAACAG +ATATTCGTGTTTTCAAGAAATTTTTCATGGTTTTTCTTGGTCTTTTCTTG +GTATTTTTTTGACAAAAATTTTTGTTTCTTGATTCTTGCAAAAATTTTTC +CGTTTGACGGCCTTGATGTGCACTACCTTCGCTTAAATACTACATTTTCT +GAAAATGTTATAATAGTGTTCATTGTTTCATACAAATACTTATTTAATAG +TATTTCTGGTTATATAATTTGTATAAAAAGTGGTTGACATAACAAGGCTG +ACGAAACTTTGTGATGGCTGAAAATATTTTCCTAGCTTTATTGATTTTTA +TTTATACGTGTTTGAATAACTTGGCCAAATCGCCGAGAAGGAATAGAATA +CTGGACGACATTGTACATATTTTCCAAAAAATCAGAAAGTAGATGACGGG +ACCAATTCTTTCTGTCAGGTTTTACAACCGCCCAGTGCGTCTACGTCACA +TGTTGTATAAATGGTTGTAAACAATATGCGGAAACAATCAAATGCATTCC +CATAAGGCATAATATAGAGGCTACAGGCAATGAGTATCGCTCTTTGCTTT +GTTTAAAGGGGGAGTAGAGTTTGTGGGGAAATATATGTTTCTGACTCTAA +TTTTGCCCCTGATACCGAATATCGATGTGAAAAAATTTAAAAAAATTTCC +CTGATTTTATATTAATTTTTAAAATCCGAAAATCCATTGGATGCCTATAT +GTGAGTTTTTAAACGCAAAATTTTCCCGGCAGAGACGCCCCGCCCACGAA +ACCGTGCCGCACGTGTGGGTTTACGAGCTGAATATTTTCCTTCTATTTTT +ATTTGATTTTATACCGATTTTCGTCGATTTTTCTCATTTTTTCTCTTTTT +TTTGGTGTTTTTTATTGAAAATTTTGTGATTTTCGTAAATTTATTCCTAT +TTATTAATAAAAACAAAAACAATTCCATTAAATATCCCATTTTCAGCGCA +AAATCGACTGGAGACTAGGAAAATCGTCTGGAGATAGAACGGATCAACAA +GATTATTATTATATCATTAATAATATTTATCAATTTTCTTCTGAGAGTCT +CATTGAGACTCTTATTTACGCCAAGAAATAAATTTAACATTAAAATTGTT +CATTTTTGAAAAAAAAATAATTAAAAAAACACATTTTTTGGAAAAAAAAA +TAAATAAAAAAAATTGTCCTCGAGGATCCTCCGGAGCGCGTCGAATCAAT +GTTTCCGGAACTCTGAAAATTAAATGTTTGTATGATTGTAGAACCCTTTC +GCTATTGAGATTTGATAACTTTTAAGTAATAAAATTTTCGCAGTAAGACA +TTAAAACATTTCACAATTAAGCTGGTTCTGAACTGTGTGAAGTATATTGA +AAAAAACTAACTGATACAAAAATATAATTTTATGATAGTTTTCTGGATGT +CCCAATATAAACGATGTCAATTCTGCGACATGCTACAGTCATCCACGAAA +GTAACCCGAATACCGACAAAAGAAGAGGAACGCCAACTTTGGATAGACGC +TCTAGGGGCTGATTTTGGTCGGAAAATAGTCGGGAAAAAATAGAGGACAT +TACAGATGAGGATGAGGATGAAGATAGAAATTTGCCGACAACTTCGTCAT +GCCGCTGATTTTTTTGATGTTCTACGCTTAAATTTTCAGCGAACGAACTA +TTTTTTATATTTTGATTGTTTTTAAATAATATTTGCCATAAGAAATTCTC +ACTTTTCCAGGAAACGTCGTTTCGCCGCGATTTTCCTCGTCTCCAGTCGA +TTTTGCGCTGAAAATGGGATATTTAATGGAATTGTTTTTGTTTTTATTAA +TAAATAGGAATAAATTTACGAAAATCACAAAATTTTCAATAAAAAACACC +AAAAAAAAAGAGAAAAAATGAGAAAAATCGACGAAAATCGGTATAAAATC +AAATAAAAATAGAAGGAAAATATTCAGCTCGTAAACCCGCAAGTGCGGCA +CGGTTTCGTGGGCGGGGCGTCTCTGGCGGGAAAATTTTGCGTTTGAAAAC +TCACATATAGGCATCCAATGGATTTTCGGATTTTCAAAATTAATATAAAA +TCAGGGAAATTTTTTTAAATTTTGTCACATCGATATTCGGTATCAGGGGC +AAAATTAGAGTCAGAAACATATATTTCCCCACAAACTCTACTCCCCCTTT +AACAACCACCCGAGGATATATTCGACAAACGATCTATCTACTAGGAATAA +CTCGATTATTGACATATTATAGACTTCTTTTAGTATTTGTAAAATAGAGG +ATCAGACCCAAAATTCAGCCCGCGAAGGCATGACGTCAGCGCGAGGCAGT +AGTTTCCAGAAGAACTCTGTCGTCTACCTTAATGCCTCAAATGCGAACCC +GCTTCGGCCATCCTTCTCGCTCAGAGAATGGATTAGAGTTCTCATCAACT +CCTCTGTCTAATTTTCAACTGCGGCGGTTGGCGACCGGTATTACCGCGGC +GACCGACACCTCCCGGGTTCCGTCGATCGCTGTCTGTTGTGTGCGCCGCG +ACTCCGCCCACCGGTGGTAACTTTTTGTGGGGGAATCTTTGTTTTTGGTC +ATTTTTCAGCGCTTTTCAGCGATTATTGACCAATTTTGAATAAAATTTTC +AACAGAATATCATCTAAAATATTGCTTAACATTTATTTAACAGAAATAAC +GTGAGCACGCATGTAAAACATGAAATTTTCGGGAAAATTGCAATTAAACG +AATAAAAATCGATATTTAAATCAATTATTGGTGAATCCGGTGTGTTGAGG +CTTCAATGCATACATTTTTACTGGATAAATCTCCTTTGGGAATCCGGTTT +GCAGTGCTTTCGAGACCATGTCCAGTTGAGAATCGGCGAACGCTTTAAGA +AGCTCGGGCTGAATAATGAATTGTTTTAAAAAATGTTTAGTAAAAAATTG +TTTTCGTGCAAATTGTCTTCGATATTATCCAAACGTGACGTTTTGCGATT +TTCGCGCTAAAATTACAGTAAGTGGGGTCTCGACACGACAATTTTTGTGA +AATACAAACGGGCGTGTGTCTTTAAGAAGTACTGTAGTTTAAAAACTTCA +TTTCTGTGGAATTTTCATATATTTTTCATAGTTTTTCTCTTTAAATAAAT +CACTTTTCAACAAAAAACTATGAGACAATAGTTTGAAATTACAGTATTCT +TTAAAGGTGCACGCCTGCTCGAATTTCGCAAAAACGTGTCGTGTCGAGAC +CCCAATTACAGTATTTTTGACCCGAATATCGCGAAATTTCGAGTCTGGGT +GAAAACATTGAAATTTTTGGCAAAATAAAAGAAATATGTCCTTTTTCAGA +ATATATTTTCTAAATTTCGAGACGAAACAACAATTTTAAATGAATTTTAA +TTTTAAATATTAAATATTTCGGAATTTGGCGTTTTTTATGCATGTCGATT +CACTAACGATTTTGTACTACACGTGGGCAAGTTTATACAGTTTTTGGCTA +AAATTTGTGAATTTGAACCGTTTTTCGGCGAATATTTGAAAAATTGGCAA +AACTGGTTCAAAAACAAAAATTTTTTAAACTGTACAAACTGTCCAAAAAT +TCGTCGTAAATCGACACACCCTTCTCATTTTTTCAAAATTTTAATTGTTT +TCGAATGTTTTTTTTGCAGAATAATTTGTAAAATGAGCCTTTTGTGAATT +TTTTTTAATTTCAAAGTTTTTATTATTTTTTCTCAAACCAGCACCTCTGT +TCTCGTCCAACTATGATCATCATCGTCGAATAACCGTTTCTCGTGATTTG +TCACATTATCCTTGAGCACAATACATCCACCAGGTTTCAGTCCTTTCTGA +AAATGAAAATTAATTTTAAAAAAATTGAATTATTTTAAATGAAACAGTTT +TCAGAGATTTCTCAACTTTTGAGTCCACCACCAGGCCTGCACGTTTTTCG +GGTTTTATCTTTTAAAAAACTGAAAAATCGAAAAATTTCAATTTCTGTTT +TGTGGTCAAAATTGTAATTACAGGTAAGCAAATAGTTTAATTTTAAAATT +GAAAATTAGGGAAATGACCGGACATAAGTTTAAAAACCCGATTTTTTCAA +TAAAAAGGAAAATTGAAAATTTAATAAAACAGGTTGTAAATCAAGGAGAT +CGTATTGATTGAAAAAAAATCCGAATGTTCCGGATTTTTCAGTGGTTTTT +TTTGAAAGAAAATCGAAAAAGTAAATGTTTTTAATTTTTAAATTTAAATT +TTTAATCGGAAAAAATGTACGAAATTGACTTTTTAATGTGAAAAATTGTT +GTTTTAAAAAAAAATTTTAACCGATACAGATTTTCTAGACTCAGTTTTTT +CGGTTGAATATTGTTTTTTACTATTTTTTCATTACAGAAAGAATCCAATT +TTATTTCGCTTAAAAAATAACCGGAGCATCGAAAATATTTTTTTTTCTGT +TTTACTCAAAGCATTTCAATTACCTAGAATTTTGTTTAAAAACTACATGC +TTTATTTATGAACGTAATAAATAAGACCCCCTCTTATTTATAAACTTTCA +ACATATTTTCAGTTTTCAGTGCTATCTAGTGCTTACCGCACATCTTTTAA +AGAAATCAACCAAATCCTCATCAACCAAATGCCCTGAAACCCATTGAATC +CATATCAAATCATAACGTCGTTCGGGCGGTGCAAACGTCTGCAGTCCTTC +GACGAATTTATCTCCAATTCGTGGATGTTTTCCAATATATTGATCACTTT +TCGTGATCAACTCCTCGACGACGTCTTCCATATCAACTTTCGAGAAGAAT +GGCATTAAGAGATGCTTTGTAACACGTCCGATACCCGCTCCGCAGTCCAG +TGCATAGTCAAAGTAGCCGAATAGATTCTGGAAAATATTTATAAAATTCA +AAGTTGGCCCAGGGGTGACCGGCAATTTCAAGCAAATCGGCAAATTGTCA +ATTTTCTGAATTTGCCGAAAATTTGACAAAAACGACAATTTGCCGGTTCG +CCGAATTTACCTTTTTTAAATTTAATTTTCAATTCAGGCAAACTGACGAT +TTTCCGTTTGCCGGATATCAATTTGCAGGAATTTCTCAAAGGAATTTTTA +TTAAGACGGAAACACAGTGCTTTTTTGAATTTTTTTTCCCGTTTTCTTCA +GATATTTTTATAGAATTTACTGACTTTTCAGAATAGATGTAGGACAATTT +TGTTGTTTTAAAAATTGAAATTCTGAAATTTCCAACAAAAAAACATGTGC +AAACCCACAAGTTGGCAAAAATATTTTGCATTTGCCGTTTTTCCCGTTTG +CCGAAAAGTCTAATTTCGGTAATTGGGCCATTTTTCGAAATTTTGAGCCA +CATAAAAAACTTTGAACCATTTTTGAGAAGTATTATTACGACATTCGTTT +ATTTGAGCACAATTTGGGCCTATACTTTCAAAATCGGGGTTTGAAAACCC +CTATATGTTCGACCGAATGTTAATCTCATAAAAATTTGATGAAAATAAAA +TTTTCTACGGCTCATAAACGTATAGCCCCCGTCAGTCTCAAAATTTATAC +GATAGACACTTTTTGGCGTTTATCGCCTATATTCCGTCAAAAACCATTAT +TCATCATTCTTTCAATGTTGTTTTTTTTAAGGCTAAAAAACTTTCATGCA +AATTTGTTAGCCGTGTCGTGGTTTATACGAAAATTTCAGAATTTATAAAA +TAAAGGAAAACGAAAATGTTTCTATATACCCTATTTATGTTCTCTGATTC +CGAATACCAATGTGAAAAATTCAAAAAAAATTCCCTGATTTTATATAAAT +TTTTGTAAGCGACAAAAATTGTCGTTTGAATTTCACACTTGGTTACAAAA +ATTTATGAAAATGAGGAAAATTTGTTTTAATTTTTTCACATTGATATTCG +GAATCAGGAAAATAAATAGGGTCTATAGAAAAATTCCGAACCTTCACTCC +TTCTCTGAGTATAATAAATTTAAAATAAATACAGAAAATTTCAGTTCAGA +CCTCATTAAATTTGGGTATATTTCTAGGATCCGAGTTTTTACACCAGATT +TACAAACTTTTAGCCTTTCACCGCCTTTTTATGCGCATTTCCCATCAGTC +AACTCCAAAAAAATCGCAACTTTTGCCTCATATTTCAAGAATATTCCCCT +TTCTCTCCCCATTGAAAGTCATTTTCGAAACAAGCGGAAGATTCGTCATA +TGTGGTAATGTGTGGCGTGCGTTGGCAAACAACAAGAAAGAATCATTCTC +TGAAAACAAAAAGCGTTTTGGGTGCCAAAGTAATATTGAAAATCTGCCGT +GTTTTCTCATTTTCCATCAAAAGAAAATGAGAAAAAAGTTTCGGCGTTTT +ATTTGATTTCCGGGAAAGAAGACTCGGAAAAAGATTTAATTGAATTTTTC +ATAGCAAACCTATATTGCAACAACTTTCTAAAAGGTCAGAAATTGCCGCG +TAGCCTAGAAAATTGGAAAACTCTTCCAGCTGGTATTATTTCAGACATGG +TGCATCGAAAATTCGAAAATTACAGAAATTAACATTTTGGAGCATCTGCC +AGAAAATTGAGATTACAGTACCCCACTTCTGCCGAGAAATTCGAGGTGGA +AGAGGTCTTACAAAATTTTCGGTCACGTGAAAATGGGAAGCGTTCAGGCT +CCACACGACGGAATTCACCTAGTTTTCAGGTGAGAAGATATCGTACGAGG +AGAATTGACCTCCAAATCCTGATCGTGACTACAGGTCGTCGTTCGGAGCT +GTGGAAGAGTTTTGAAAATCTTCGACCATGAGAGAAATAGACAGGACGAC +CAAACATTTTCAGTGGAAGAGCTTTTCCTAGGCCATCAGGATGCTATTTC +GACAGAGCTGAGTTATCCTCAAGTCGTTACGAGGTGTGGAAAAGTTTTCC +AAAATCCCCGACCAGGTAGAAAATGAGCACACCGATTAAGTTTCTCCAGT +GGTAGAGTTTTTTCTAGGCCATCATTATGCTATCTAGAAAAAAGCTTCGG +CCATGGGGTTTTTAGGCCGTCTATTTATTTCTCATAACTTTCTCAGAAAT +TCGTCTATTTCTCAGAACCCCCCAATGATAAGTTTTTTGCAAAAAAAGTT +CTGCTTTGCTCATCAGCCGTAATCAGGTGACCTCATTAGGCCTACCCAAA +CACAGATTTGTCATTATTTTTCAGACAAAAAACACGAAAAAAATCTTCAC +GCATGGGGTGATAACCTGATTTTAAATCTTACTGTGCCGGCTGGCGCGGC +GAGCTTCGATCACTGAGCCGAAAGATTATGAAAACTATGGGAATGACGGC +GTAGCCTAGAAATCGTCCAGGCAGAGATTCTGTCTAATTTTCGAGCATAT +ATCTCCCAGTTTTGTTATTAATTTAAGTAAACTCAAACCTAGAAACAAGT +AAAACGGGAGGGGGGGGGGGAATATCAGAAAATTAAATCTTGCGACACTT +TTCCATTGATACTTTCAAGGTAATGCCCAGAGGTGTGCGGCAAATTTTGA +AACTTGCGCATGCCGCCTTTTTTTTTTTCTAGAAAACAGTCAGAATTTTT +TGTCGAATTTGTTGAAAATTCGCTAATATACTGTGAGTTTAGAAAAAATA +ACGAAAAAACTCGGAAAAGGAGGAAGAGATCTGAAATATGTAGATTTTTT +TAGAAAAGACCAGAAATTACTGAAAAATTGGCATTTTTCGTCGAAACCCC +AATATACTAAATTATTCGGATTTTTAGAAAATTTTCAAATTCACCATACA +GTGCATTTTTTCCTACTTCTACGACTTTAAAGGGGGGAGCATTTATGCGG +AAGGGTCTTGCCGCGCATTTAGTCATCATTTTTAGCAGTTTCTGTGTAAA +ATTCGCGTAGATCACATGAAGATCACAAAATATTTATCCCATATTTCGTA +TTTCTGTTGCTTTTTCACAAATTAATTGTGATCTACGCGTGATCTCCGCG +AATTTTGAGCAGACTTTGTTAAAAATGATGACTATGTGCACGGCAAGACC +CTTCCGCATAAATGCGCCCCCCTTTAAAGTCGTAGAAGTGGAAAAAAAAT +GCACTGTAGCAAAAAATCGAACATTTCTGTTCGATTTTTGAATTTCTCGA +AATTTTTTAAAATAATTTTTAAAATAACATTTTTATTTTATTTCGAAAAC +TACCGATTTTAGAAAAATTCTAAAATTTCGATTTTTTTTGTTGATTTTTC +GATTTTTAAAATAAAATTTCATAATTTTTTAAACCGATCTTTCTTGCTTT +TCCTGAAAAATCGATGATTTCTATACCTTTTTCTTCAGTCCTTCAATAAA +TCGTTTCGACGCCGATATGTCGGGCGCGTGAAGCGCTTCGAATCCGCCGA +GCATTCCGTTGACGTCCTGGCTCGCGCGGCTCCAGTATTCCTCCGCCTGA +AAGAGAATAGTTGAAAACATTGTTTTGAGACTTAAAAATTTTTTTTTTAG +TTTTTTTCAAAAATTCTTACATGTTATAGAGTTTTTTTTTCAAATTTTCA +GCTTTTTTCAGAAAAACTTAGTATTTTCGATAATTTTAAATAAAAAAGTT +TTTTTTCAAAAAATGTTTCGGTTTTTTTTTTAATTTTTGGTCTAAAATTC +TCCGCAAAAGATTTGCGTGCTGGCCGAACTTTTTGATTTTGTACCTTTTC +ATAAACATCTTCACCATTGTGAATTCTAGAAGATGATGAAGAGCTCATTT +TTGATGTTGTGACAGCTGCTCCGAGCAATCTGGAGACTTTTGTGACGAAA +AGACGAGAGGTCACGGATATGATGATGATACTGGAAATGAGATATTTATA +TTTACTAGTTCATCGGGAAAATTATTACGAGAAAGATAAACAGACATGTG +CGTTTTTTTAATGGAAGAGAAACACAAGAAAAATCTGGAAAACTAGGCCA +CGGCTATCAGTGTCGATTTACGGCATACGGTCTCGACACGACTATTTTTG +TTAAATGTGAAGGTATGCACCTTTAAAGAGTACTGTAGTTTGTAACTCTC +ATTGCTGCAACATATTTGACGCTCAGCGAAAACTACAGCAATTCTTCAAA +AGACTACTGTAGCCTTTGTGTTGACTTACGGGCTCGATTCTCGAAACGAA +TTTCTGCTCGAATTGTGACAGCCATATTCAATTTGGTATAGTCTTTTCGT +ATTTTTTGCCATTTTTCTGTTTTCTTCTAATATTTAATCTATTATTAAAT +TATGTCCGTAACTCCCTCCAAAATTAGAACTGCGACCGAACAGAGATTCG +TTCCGCCCCATATTCCGGCCAATCAGATCGAGTAGGCGGAGTTCGAAGTC +GCTGATTGGTTTGAAAAGTCGCGGAAATTTGCAAGTTTTAAGGTAGCGAA +AACTGATGACTATTGTAGCGCGCTTGTGTCGATTTACGGAATCTCGATTT +TCAGGAATGAATTTTTAATTACATTTTTTCGCTCAATTAATATTCTAAAT +AAATAAATAAATGATTTGAATTAATTTAATTTCATTCGAGCCCGTAGATC +GACACATGTGCTACAGTAATCATTAGTTTTCGCTACGAGATATTTTGCGC +GTAAAATATTTTCCCGTAATAACTCTACTCCGACAAACATTACGACCTCC +ATGGAGGCCTCCAGGTATAGGTGAGACTCTTGTATTTCCAATTCAGAGAC +AATGCGTCACTGGAAGAGAAAACGAAGCGGAAAAAAAAACACGGAAACCC +AAAAATAGTGTTTGCCCCGCTCTATTCTTCTCCAATAATTTCTGTGTCTA +ATTTTGAAAGACTCCACCTGTGTATGCCTTCTCGACATAAACCCCCCCCC +CCCCCCCTATCTTACATGGTACTGATAACACTTTCAGTCTTTCACACTTT +TGGCGCGCAACGCCGCTCTTTTTTCGCGGCGAGCTGATGACGTCATCAAT +TTTTCATCGCTTTTGATTATCTTCAATGTTCTAGAAGGGCACATAGGTCA +TCCTTATTTTTTCCTTCTCTTTCTCGTGACGGCCCTTGTTGCGCATGCCC +GCCCCCTAGAGCAGGGCGTGGCCTGAACGGCGGCTCCGAGAGCTACTCAT +TCTTGCCGCGTCACCCTCCAGCGCCACCCAAACTTCTTCGGTTCTAGAGA +TCGAGAAGAACGTATGATTTTTTAAAATTATAATTGTTTCTTTCGAAAAA +AAAAATTTCATTTACAGTAAGCCAAACATACACAATCAACATGAAACTCG +TAATTCTGCTATCTTTTGTTGCGACAGTTGCGGTTTTTGGTGAGTTTATG +CTTTAGATAATACTTTTCCGCCAAAAATACAGTTGCCGGTCTCGGTATGG +CAATATTTTTGTTAAATTCGAAAAGCAGTGAGTAATGTAGTTTCGAATTT +TCGTTTCTGCTTAATTTTCATCAATTCATCGTTTTTCTCACGACTTCTTC +TTTATGAAAAATCAATGAAAATTCTGACTAGGTCAGCTTAGGGGTGAGGT +ACCTAGAGACGCCACATATGCCAAACGGAAGCTGAGATCATTGGCTACAA +GAATATGCTTTCAAATTCTGCAACGGACCTCTGGGAGTCTGGAAATTCTT +GTCTGAAATTATGCTTTTGAATGCTCGAAAGTGGTAAGAATTTAGAATTT +ATTACAGAAAAACGTTTAATTAATAAAATTAGTTTTATACTTGAAACAAG +TACTGTATGCACTGTATCAAAACACATTTTCATCTTTTCTAGGTATTCAA +CTTCACGTTTTTCTGTAATAAATTCTAAATTCTTACCACTTTCGAGCATT +CAAAAGCATAATTTCAGACAAGAATTTCCAGACTCCCAGAGGTCCGTTGC +AGAATTTGAAAGCATATTCTTGTAGCCAATGATCTCAGCTTCCGTTTGGC +ATATGTGGCGTCTCTAGGTACCTCACCCCTAAGCTGACCATTCCCTAGTG +AGCAAACAAAATTTTGAAATTACAGTACTATTTAAAGGCACATTGATTTT +TTGGGTCAAGCAAAAATTTGTCGTGTCGAGACCGGCTACGGTATTTTCGC +GAAAAATCGCAAAATCTTGCGGCTGGGATATACTTGTGCGAAATACTTTT +TGCATTAATTTTGAGCAAAATTATTTTTTTTAGACTTTTTGAAATCCAAA +TTTTTTGGATTGCGAAAAAAACCTGTGTCCGGTTGTTTCATTAGGCCAAC +AAAGTTCCTGGAACACTGATGAAAACCATGATAGAGGCGGAGCATAATAT +CGATTTTTCGTACTTTCCTGTATTTCTTCTTCTATATGGCCGAGTAGAAC +AGGATTAGGGGTAAAGTCAAAATTTTTCTCATATGGATATCATATGGATA +TCAAAATTTTTCTCATATGGATATGGAGAAAATTTTTCTCATATGGACTT +TGAAAGTTGAATCACTTGACATCTGGGAAATTAGTATTCCAGGCGTAAGT +CGGATCTGTTAGAAACGGAATACTTATAGGCTTCGTGAATTAGGTAGACT +TTCAATTAATCTGATCCATGGGAGTCAGACGCGGTTTCCAGGCCTGACGC +CTGCCTCCAACTTGCCCGCCTCACGCCGGTCTCTCGCCTCATTTCTGCAC +TGTGACGAGACAGACGAAGGTCGCCTTCTGGCGCCCGCATGGAAATCCTA +CGAATATGTCAGCTTCTGATGGGACTCCGTAAATCGACACACAGGGGTAC +CTCAGACATTTCCCTCCCCCTTACAAATTGTTAGGACAAGGAGGGGGAAT +TCATCTCCACTCGAGACACACATATGTTGTCGTCAGTGAAGTGTAAAGAT +CTAAACGATTGCGTGTATGAAAAAGCACTCTATGATCACCTTTTTCATCT +TCCTACACCCTTTTTAGGTGTGGTGCCCATCGAGCACTCACGCCAGGCAG +GGAGAGCACCGGTCCCTGACTAATGGGATTCGAATGTTTTAGACCGGAAA +TAGGAGCGATGAAAGAGCATAGAAATGATCATTTGGAAATCACGTTTAAT +TAGGTTACGGCGAAAATTTGCAAAAAAGAGCAGGAAACTTGGCTCAAATC +CTTCGAAATATAACAACTAGGACTTCCATGTAGGCGTTAAAGCGCCCTGT +CTCTCACCCCAATCCGTACCTTAAGCTGAAACAAACGTGAACTTTTTTCA +TTTCTTAAAGGAGTATCGTCAATGGGAAAATTGTTTTAAAATGTAGTATT +TGTACTTCAACTTCCAATTATTGCAAAAGAAAAACGGAAAAAATCCGTTA +ACATTCAGCATTTTAAGTCGAAGAAATCTTTAAAATTTAACTAGAGAAAT +CCTAGGCCACGACGCTCATTCGAATTTTAATTTGTTTTGATATTGTATTT +TGAAAAAAAAACTTAATACAATTCCTTCTTCCCAGTTTTCTATAACTTTT +TGAGAAAAAAACGAATTAAATTCCGAAAAAACTACATTTAAATCAATATT +TTGTTTACGAATATGGCCTAGAAATCGCGTGGTGGCCTAGGATTCATTTG +CGCGCGAAATTCAAATTCCGTCACTTTCGTCGATTTCAACGGCTAAATGC +TGAATGTCAACGGATTTTTCCCGTTTTTCTTTTGCAATAATTAGAAGTTT +GAGTACAAATACTACATTTTAAAACAATTTTATTTTTGGTATTTTGACGA +AAAATTGATTTATTGGTTTTTTTGGTTGTTTGGGACCAAAAAATCCAAAA +AAAATGTTTGGCGTGTCTAGTTTCGACTCGAGACTATTCTGTATTAAAAA +TACATTAAAACATGTATTTTAACACAGTTGTGACGTCATAAATGTATTTT +GATACATTTTGCAACATTACTTAAATAACCCCATTAAAAATTAACCTAAG +CATCAAAAATTTTTTGGTTTTTTTGGTTTTTCGAAAATTTCAATTTTTTT +TGTTTTTTGGTTTTTTTTGGTTTTTCAAAAACTTCAATTTTTTGTTTTTT +GGTCCAACATTTTTTTTTGGTCTCAGCTCTGCTGCCTACCCTAGAAGAAC +TAATAGCGCTTCAAAAACTGATGAAAACGTTCAAATTTGTCGAAATATTA +CGAAAATTTGAAAAGTTGGCTCAAATCTAGATTGAATCGGCCGATTTTCC +ACAAGTTTCCAAGTTTCCACAAGTCGCCACATATCCCGAGAAAAATCGAT +TCAAATTGTTTGAAAATTGGAATACTGCGAATTTTGAACCAAATTTCCCT +GGCTTCTCTGTTGAAATACTTGAAAATACCGCGAAGCAAACAAAAAATCT +AATTATTACGTGAACACAAAATTCTGAAAATGCGTATATATTGCGCAACA +TATTTGACGCGCAAAATATCTCGTAGCGAAAACTACATTAATTCTTTAAA +TGACACGCTGTATGTGGTGATTTACGGGCTCAAAAAATTATTTTCGAAAA +TCAAGCCCGTAAATCCACACGTAGTAATTATATAAAGAATTACTGTAGTT +TTCGCTACGAGATATTTTGCGCGCCAAGTATGTTGCGCAATACGCAACCC +CATATGTTGATATATACTGATGTGAGGATAAAAAACAACACAACTTTCAG +CGGCTCCATCGGCTCCGGCAGGTCTCGAGGAGAAGCTGCGTGCTCTTCAG +GAGCAACTGTACAGTCTGGAGAAAGAGAACGGAGTTGATGTGAAGCAAAA +GGAGCAACCAGCAGCAGCCGACACATTCCTTGGATTTGTTCCACAGAAGA +GAATGGTCGCGTGGCAGCCGATGAAGCGGTCGATGATCAATGAGGATTCT +AGAGCTCCATGTAAGTTAGTGGTGGTGGCCGGAAAAGAGAAAACTCGGCC +AAGCTGCTCGGAGTTTTTGAATTTTTGATAATCCGAAATAAAAATTGATT +GCTCGAAAAGGAACAATCTTTTGGAAAAAAACGAATTTTGTCATTTTTTT +CAGCAAAAATTGATTTTCGAATTTTTCCAATAAAAAATCGATAATTTCTC +CCCGTGCAGTGGAAAACAAACAATATTTTTTTGTTGATCGTTCTCTTCCA +AACCCGGAATAGGTACACACATTCCTGCGTCATCCCATTCTCTTATCACA +CTTTTTTTTCGAAAATAAAAGTGTAGAGACGGAAAAGTGAGAAAGGAGTC +AATTTTATGCGAAATTTTGCATGATAATACACTCAAATTAAAAAAACTGC +GTGGCGTGCACTGCAGAAAACCTCATATTTAGGCCCCGCCTTTTTCTCGT +CCACTCACGGAGAAAAGGCAAAAATTTGGGGACCAACCAATATCAGGCCG +CCGACATCCTACGGGTTCCGCGCGCCGCTATGTTTAACTCGCTGTGGGTG +TGGCGAGCTGTCTCCGCCCGCTGCGAGTTAAACATAGCGGCGCGCGGAAC +CCGTAGGAAGTCGGCGGCCTGATATTGTTGGTCCCCAAATTTTTTCCTTT +TCTCCGTGAGTGGACGAGAAAAAGGCGGGGCCTAATTATGAGGTTTTCTG +CAGTACACGCCACGCAGTTTTTTTATTTTGAGTGTATAGGTCTCGATTCT +CGAAAGTATGACAGTTATTTAAATGATGAACTCGTGATGACTGTTAAATT +TTTGGAAATTTCGGGGGAATTATATCGATTTTTCGATAAATTTACAGGAA +AAAAGTCCAAAATCTAGGTATTCCATGGTAGGCAGGCGCGATTTCTTGAC +GCCTGCCTGGAATCTGTCCGCCTCACACCAAAAAATGTCAATCATTTTGC +TGAAAACCAAATTAAGAAATGAAAAAGTGCACTTAGAGATGATGACGGAG +GTCGCCTTAAGGTCAGACAGGTTAAAAAACCGATTTTAGTTGAGTTTTCC +CGAAATTTTCTGAACAACCGAATTAGAAATATGCTGCTTGTCATTTTTGA +GTAAAAATTAACGAAAACTTCGACCAAAACCACGAAAAAAATGAAGAAAA +TAAAGATTTTTCGAGAAAATAACAACAAAATCCAGCAAATAGTGAAAAAT +AGTTTTATCCGAGAAAAAGTAGTTTAGACGCTATGAACTCTCGAAAATCA +GATTTTTTCAATCTAAAAGCCATAAAATTATCGATTTTTTAAAAATTCTC +ACTGAAAACCGGCGAATTTCAGTGCTCCACGCAATCGAAGCCCGCTTGGC +CGAAGTGTTGAGAGCCGGAGAACGCCTCGGAGTCAACCCGGAGGAAGTTT +TGGCGGATCTTCGTGCTCGTAATCAATTCCAATAAATATTCTTTGCCCTA +AATACTTTAAATTATCCATCTGACAACTAAAATTTCGGTTCTTCTTGGCT +TCTTCTATTTGTGAAATGGTTTATTTTCCCCCGAACTCTCAAAAGGTTTA +AATATTGTTCGATTACCCCTTTTTATCAATTATTTTCTTCAATTTCTTAT +TTATCATTATTTTTCTAAACGAAGACGGATGTGATTTTAAATTATGTTAA +TGGACTATTTTACAAACTGAATAAATTCAGCATGTTGGCAGGTTTTTTCA +GTAGTTTTTGAGTGAAAATAGAGGTAAAAAGACAGAAAATCAATAAAAAA +TGAAAACAAAACTATGAAAAATGGTTGAAAATCGAGCAAAAATCGTTCAA +AAAAAAATAAATTCAAAAAATAATTGCGTCGAGAAACGCGTCAGTAGCCG +CTCTCTGCGTCTCTCACCCTTCAGCACGCGGAGAGAGCCACGAGAAATGC +GCAAAGGCTAAATTCGGCGCGGAAAATCATTTTTCAAAATAAATTCGACG +AGAAAATCAATACTTAAGTAATTATCGATTTTCAGCTCGTTCAAAAAATT +TTCAGAAACGTTTTAGTCGTTTAAAGGTTTTTTTAAAATTAAAATCGTCG +GAAGTAAAAAAATAGCGCGGATGGAAATCTACGGAGTGCGGAGCGAACAA +ACGCGCGGTAATTCAAATGGGTAGAATAGTCAAAATTGAAAATTAGCCAG +CATCGACCGATTTTTTTAAAACTTAATGGATTTTTTCGTTTTTCTTTTGT +GGTATTTCGGCATTTAGGATTAGATAGCACATTTTAAAGTAAAATTCCCA +TCCAAGCTACTCCACCTTCTCCAGACTGTACAGTTAAACCAATTTGAAAA +GTGTATTGTATCCCGTTTTTTTTTCTGAACAATTTTGAAAATTTTTCGTT +TATCCAGGATACGATAATCATGATTCAAATTCGTTAACAAAAAATGAATA +TATGAGAGCGATTAAAGCATTTGTGTCGGAAAATATGGGTTAAATGGGGA +GAAGGGGGCGGACATTTGGATGGGGTACAAAAAAATATGCAAAAAATGGG +CTAAAAACAATATTTTCAAATTATGCCCGACAAAGGTTCAAAAGTCAATA +TATAGAAATGAGAACATGAGTATTATGCCACGTGGCGGGAAAAATATGTG +GAATGTAATACGATGAGATCCTTGTGAATACAAAGCTTGTGACGACGTGG +CCGAGAAGAACTTTTTAAGCCAACGAGAAAAAAGGGGTTCAAGGCCGAAA +TTTTTTTTGGGCCACCTATTAAGTTAAATTGAAAATTTAAAAAAAACACA +GCGGATCCAATTATTTGCCGAGTTTTGACTTGAGCTCGGCGCGATACGTG +TCGATTGACTGAAAATATTGTTTTTTTTTATTTCCGAATAAAAAATGGTG +AGTACCTCCAAAATTAGCTTTTCATTGTCCATATAGAACTTTTTGATTTG +TTCCACAGTTTTTGTGGCCATCAACTCGGCGATCAACTCGAAATTGTCCT +TGTACCAGTGGAAACCTGAAGGAATTTCGGATGTTTTTGCTTAATCATAA +TCATAATAATCTTAATCATAAGACTTGGAAAATGCGAAATTTTTCGAGAA +TATTCAATTTATCTTCAGATTTTATTGCAACAAATCGATTTTCAACATAA +AATTAATTTTTCCAACTTTTTTTCCCAATTTATGAGAGTTTAAAGATTGT +TTTAAAGCAAACCGCCAACTTTACATAAAAAATTAAAATATTGTGAAAAA +AATGATGAAATTTAGCAGATTTTCTGATAAAAAATTGAATTTTTTTGGAT +TCGCGCTTCAATTTCACATTGTTCTTTTAGAAAAGTCGAAATTTTATATT +TCCAATTTTCAGATTTAAAAAAATTTAAAAAGGAATGAACTTTTCCAAAG +AAAAACTGAATATAACCAGAAATTGTGATTTTTCAGCATTTTTTTTTAGG +TTTGAATTTTTTTTTCATGATTAATCACGTGAAAAGTCAATTTTACCGCA +AAACATTTAAAAAATCAAGATTTTTCAATTTTCTCTGAATTCCTGCAGAT +TTTTCGATGAAAAATTGAATTTTCCTTGGAATTTATATTTTTCGGGTATT +TAAAGTTTCGGATATTAAAAAAAATTTTCAATTTTCTCTGAAGTTATCGA +TAAAAATTATTTTCTGCAAAAAATCTACTTTTTTTCGTTGAATATTCCGG +AAAAAAAATCAGAATTTCAAGGCACATTTCCTTTTCTAATCTAATTCGAA +TAATTCAATATTCTTTTAAAAATTCGGGGTAGAAAAGGAATTGTACCAAT +TTTTATTTTTAAAAGTTAATTTTTCTAATTTTCAAAATTTTCTTGAATTT +TCGAATTACAGATTTTCAAAAAAATTTTTTTTGTTTTTTTTTCTCGAAAA +TTTGAAATCCATACATCTAATAGCATTCTTCTTTTCCTCAGGACTCCAAC +CATAATTTATCCTGACTTTTCCAGATCGATTGCCATTTGTTGCAGTAGTA +TCTAGTTCAGGAGTAAATCTCTCGAATCTTCCCTTCAACGCCATCATATC +TTTCTTCCAATTTGCAATTTCTCCTTTTGGTACACGGCTGTATGTCATTG +TTGCACGGAACATTTGTTGACGGGCTTCTTCATTCAGAATTCTGGAAAAA +TTGATGTTGTGCGATTTTTTTTGGTTAAAAAAAACAATTTTCGTAAGTTT +AATTAACTAATATTTTAAAAAATCTCTCATTTTCTGAGGCACCACGGATT +CAAGATCTGGTGGGATTCCGGATCTGGCACCGTGCCAACGCATTAAATGC +AATTTTTCTGAAAAAAGGGCAACGAAGATCCGATTTAAAAAAATTTTTCA +ATTATTTTTCAAAATTTTCACTAACTATAAGAAATTAGAGATTTTTCACA +AAAATTCCAGTTTTCTGTTAGAATTTGAAAAAAAAATTGAATTTTTCCTA +AAAAATTTGTAATTTTCCGATATTTCAAGCTGTCAAAACCTAAAATCTGA +AAACTGAATTTTTAAAGGAAAAATTTTGAGCATTCTTATCAAAAAATTGT +TTCAACTTTTTCTCAAAATGTTTCAACCTTTTTCTTTCTAAATTCTGAAA +AGCATATCTCAGCTTTTGCTAAACTATTTTTTTCCTCAATTTTTGAGAAA +ATTAAAATATAATATATAATATAGTAAATATTGCTTATTTTCTAATAATT +TTTGGTATTTCTATTCTTTCGTTTTTTTTTTCAAAAATTCCAAATAGTTT +TAAATGTTCATATTATTTTTTTTGACGAAAATAAATTTTAATTTTAAACC +GGAAAATTGTTTCGTAACTTTTTTTTTCAAAAAATTTGAATTTTCGACAT +GAAAGATGTAAAGTGTAATTTAAAAATAATAGTGCAGGTATTTTCAGTTT +ACAGCAAAAGTCAGTTTAAAAAATTTCGACTGGTTTTCAAAATGAGTTTC +CTTATTTTTTACACGTAGAACTTTTTTTATTTTCCGATTTTTTTTGTTGC +GCAGAAATTTTTTTTCCGCAAAATCAGGAAAAATTCAGAAAAAGACAGTC +AAAAAATTGTAGATACAATTTTTTGACTGTCTTTTTCTGAATTTTTCCTG +ATTTTGCGGAAAAAAAAATTTATTTTTTCATGAATAAAAATCGAATACCC +ATCCAATTCCACAAACTTACTCGTTCTCCTCCATACATTTCGTTTGTTTA +ACTCTCCAAACAAGTGGAACACACATATGATGTTTTCTCTTGATATTATC +AATTAATGCCAGTGCAGCCGGTGTATCGAAGCACCGTGTCATTCTGCACG +TATTCTCATCGATTGGATCAGCTTCAATCGATTGCTCCACAATGTAGGGG +CCTGATGGTTTACGGAGAAGGCAGTCGTCTGGAGAAAAATAGAATAGAAT +AATGATTTTTAGGTTATTTTACGTTTAAAAATCTAATTTTTAAGACGCGT +AAACGTTGAGCTCATTTATAAAAATTCGGCAAACCGGCAATTTGCCGAAA +AATTTCGGAAAATTGTCGGTTTGCACATTTTTTCTTGAAATTTCAGAACT +TCGATTTCAAACGGCAAAATTGTATACATCCTATCAAAACATCAATCTTG +AAAAGCCAGTAAACTCTATGAAAATGTCTAAAGAAAAGAAAACGGTAAAA +AAATACAGTTTTAAATGTTTCCGTCTTATTAATAACAAAATTCGACAATT +TGCCGGAATTGAAATTTTTTTTTCTCCAATTTCCGAAAAAAACCCACCGA +CCACCATAATATCATCGTCTTCTTCTTTTTCTTTTCCAATTCCAAGCCGT +TTGATCGCTTTTCCGTTGGCTGGCTCCATGAGCTCAAGATATCCGTATAC +ATAAATTTTCATGTCTGAAAGAAAATTCAAATTTCTTCTGGAATCAGTTA +TTCGAAACTAACATTCTGGACATAAAACTCGTTGCCGTCGTTTTGTCAGT +GCACGGAGGCTTGCCGGACGTGGAACACGCATCAAACGGAAATAAAGGAT +ACACGGTTTACATTCGTGACGCGACATTACACGATTTAGCTTAAAATTGT +GAAATTAATTTTTTTTAATAGCTCTTTATTTTTTTGAAAATTTCTCCCAT +GCTTTTTCCATTTTTTCAACGAGTTTCCTTATTTTTTGTCCATTTACTGT +AAGTTTTTTTTGAGAATTTTTTTTTGTTAATTTAACATTTTATTAGCTCA +AAACATTTATTAGCAAAAATTTTATTAGCAAAAAAATTTTTTAATTTTTT +TAAATTAGCTCAAAATTCTCGAAATTTTAAATTTTTAGGGTAAACAATAT +AAAACTTAGGGAGTTTTGAGCTATAAAATGATAAATTGATTTTAAAAAGG +ATGAAAAACTTATTTTAAAAAACCGACAAAAATCGACAAAAATGAAGGGA +ACAGGCAGCAGCTTAGCCCCATGCTTAGCCAGCAGCCCCGTAGCAACCCA +GTATCAATAATATCCCGTGCCAATTTTCATAAAACTGAATATAAATTGGG +TTGATGTTGCTAAAGGGCTGCGAAAAACTGACCTGGGATGAAGCTGGGCT +GCAAGGGGCTGCGAAGTGCTGCGAGGGCAAAGCGCTACAGTGCTAAAAGG +GGGCTGAGCCCAGACCCTCAGGAAAAAACTCATACTCGCAGCCCTTCGCA +GCCCACATTTGCGCTCTGATCGCGTGCTATCCGCGCGCACAGAATTTCGA +AAGTATTTTCCAAATTCGGAATGCGCGCGGAGCAGACGCAATTAGAGCGC +GGATCTGGCACGTAAGGAAGAAGTGTGACTGGAGCACGAACCAGTAATCT +AGTCGCGCCCCGTCCGCGCTCCAGGAGGAGCGATTTGCCGAGCAGTTCAG +CCCTTCGCAGCCCTTTAGCAACAACCAAATTTATACAGTTTTATGAAAAT +TGGAACGGGATATTATTGATACGCCTAAGCAGCCCTATTAAATAGTGATG +AGGGCGTAAATGAAATTCGCCATTTCCAGCTAAAATATAAATTTTTTGAA +TTTTTTAACATTGATATTCGGAATGGATTCAGCAGAAAATTTGAAGTCAT +TTGAAAATATTTTCCAGATTTCGGTACTCCACTTTTAAAATTGAATAAAA +CTGTAGTCTTTATTCAATGTTTCTTCAAAATTTAAAAAGTAGAATATAAC +TGTGAGAAAATTTCCAAAATTGTCAAAATTTCAAATAGCTGAAATATTTC +ACGGCCCGGCGGGGGGTACATGGATGAGAATTCTCTACCGTATTCCAATT +TGGCTGACTGCGTGCTCAACGTTGAATACTCAGTGTAAACTTTCGTACAC +CGTTGCGTACTGCACAGCGCGCATTTTAATTGACGACATTTAGCAAAAAT +TGAACATAAGATTTTTCGGAATTATGAAGCTCAATTTTCACAAAAATAAT +GAGTTTTTTGTAGAATTTATGAAAAAACGTGAATATATAGATTTTTTGTT +CATGATATTCAAGAAAAAGCGATTTTTAGTTCTTCACAGAGGAATCCTCT +CGCATTTCACTTGCTCATGATGTTTTTTGCTCCACTTTAGGACGATAAAA +ATGCGAATTGTTGATAAAATGAATGAATAATATAAAAAGTGCAAATATGA +CTTCAGCAAGTGTTAAATCCCAAATTTTTCCTGCGATTTTCTGCTAGATT +CCTGGTTTTGAGTAAACAGTCTGATATATTCATGATTATAATGATAACAA +TAACGAACATAATAATAAAAATGGAGAGCACAGAGAAACAACAAATTGCA +AAAACAGCAACTGATATCAGAATTAACGACGACCACGGAAACCGCCTCGG +TCTCCACCTCGCCCACCACGGAAGCCACCACCTCTGTCGCGTCCTCTGAA +TCCTCCTCGATCTCCACCGAATCCACCTCTAAATCCTCCATCGCGGTCTT +CTGATCTACCACGGAAGCCTCCACCTCCACCAGGATCTGTTGAAAGTCCT +CTGAAGCCTCCTCGATCGCCACCTCCACGGAAGCCACCACGATCCGCGGA +TTTTCCTCTATAGCCTTCGAGGCTTCAGTTGTACCCCATTCTTCGTTGGC +ACGCTTCAGATCTCTACAAAAAAAACAAATTAGAAGCATTCAATTATCGA +AATGTGTACCTATCCCGATTTATCGCAATCTGTCTATTCTTCTCCTTCTG +ATTCTCAACTTCTTTAACTTGTCCAGTAGCGGCAGCTTGCTTACGAGCAG +CATTTTCCCGAATCGCCTTCACCTCTGCCTCCTCAGCATCCTGTTGCTCC +TTGACAATCGTAAGTCTTCGAATGACACGTTGCTCACTCTCCTGCTCACG +ACGCTTTTTCATCTGCTTCTTCTTGTTTATAGTCACCGCATTATGCTTGT +GATAGAGAACCTCTCCCTCATCGATTTCTTCTTCAATTTTGACGAGTTCC +AGGGTCAGTCGGGTCCGATCTCACGAAGACGGACGTTGCTATTCTGGCCA +ATTCCGCAGTCACGTCCTTCATAAATGTCTTGTGGAAGTTCTTCTTGCTG +AGGGGGCTGCTGAAACCAATGTCGGCATGATGAGAGTTCCGGTCTTCTGA +ATCCATTTCCTGCGTGGGCTGTGGCGACGAGCTGCACGTCTGAAAATCAA +GTTTTTGTAATTTTTGGGCGCATGATATGGAGCTGAATCATTCGATTTTA +GAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAATCTGGA +CCAACAGTTTTCGAAAAAATTTAATTTTTGTTCAGAAATGTGAATATTCA +CTAAATCGAAAAAAATAATTGCAAAATCCGTCAGCTGAACATTCAAAACT +TATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGTTTCAAA +AATTCTGAGACCAATTTTTATTGAGAAAAATAATTTTTCGCTCGAATTAT +TGAATTTTCACTAAATGCAAAAAACAGTAAACTTGGGCCCATGCTACAAG +CCTGAATCTTTCAAATTAAGAACCAGCATGATTTTTTCAATATTCTAGGA +CGTTTAAAAAAAATCTGGACCAACAGTTTTTGAGGAACGTAATTTTTTAT +ACAAAAATGTTCTGATTTTTCACTAAACTCAAAAAAATAGTCAAGTTGGG +CCCATGCTGTACACCTAAATCATTAAAATTCAGAACCGCCATGTATTTTT +TCTTACCAAAGGCTCTTTAAAAAAAATCTGGACCAACAGTTTTTGAGATA +TTTAGAAAAACAACTCACTTTTCGACGTTTTTCGCCTTTTCGTGGCTCAC +CCGGTTGATTTTTGCGGCGATTTGTGGTCTTTCGCTGAAAATATTATTTT +TATTTCAATTATTAACGAAGAAAACAAGAAAAAACGACGAGAAAACATCA +AAAAAACGCGAAAAAACATCGAAAAACCACCGCAACCTCATGAACAAAAA +AAAAGCATTGCAGCCGCGGGACTAGTTTTCGCAACTTTCTAGGCCATGTC +CCGTTCGCCGTGCCGTGTATTTGTTTAATTCCCTTTTTGGAAAAAGTCAA +CATATTTTTCTAACAAATCGTTTTTCTATTAATTTTTTTCTAAAACTCAC +AATCAACAGATCACTTTTTGCATTGCAATTCTCACAATATCCCGACGGAA +CCCTCTCCAAATGATTGACCTCTTTGAATAGTTCATCATAAGTGTCGGTT +TCATTCAAATGCACATTAATCATTGTTTTATAGTTTTGCACTTTTTTCGT +GTTGTAATAGTATTGGATAATGGAAGAAAGCGAGCGTTGGGGCATCTGCA +AAAAATAATGAAATTTATTTTCTTTTTATGATTAAATTAAATTTTCAAAA +ATTCCCTTTTTTTGACATATGCACTTACAGCCGCATGAATCTTCTTGAAC +CGTTTTCCGAAATGAAAGAAGCAAGTGGAGAAAAGACTAATTTCTTCTGC +CGTCCAATCATCATGAATTTCTTTTCTTCTCATCGCTTGAACCATCGCAG +CGTCGAAATCATTTGACTGTTTGTTCAGAATGAACAGAGCCTGTAAAAGC +AGTTAGTTTTTTTTTCAAATTCAAAGTACATTTCCGAAAAATAAAAAAAA +GGCTTGATTTTTTAAAATCTCGAATTTTTATTATGGTCAATTGTTATTTT +TTCCAGAGAAAAACTCATTTTCTCCCAATTTTCAGACGTTTCTCTCTAAA +TTTGGTGTTTTTCCAATCGTACCCTATCTATAGGTAATTGATATCGTCCA +GTAGCTTCTGAAATGTATTCTGTAAGCCGATTCTCGTTCATTTCGTCTGG +AAACGCCCAAATTTGTTGATCTCTGCACGGTTCTTTTTCCAATTGCTCTG +CAGTTGGCTGTATAATCGCCTGATATTCGGTTCCCACGTGGATTAGATTG +TCGACGTTGGAAAGTGGATTTGCTGGAAGAAATTGGGAATTTTTCAAGGT +TTTAAGTGGATTTTCAAGCTATTTATAAAAGCATGAAAAAGCTCAGAAAT +GACTATAAAACCTTTTTTTACGTCGTATTTTTTTCAATGAAATTACCTAC +TTTTAATTAATTGTTCGGCTTAAAACCAGAAAATTGTTTCATATCGATTT +TCCCGGTGAAAATCGAAGGAATCGTCGCATTCTCAAAGTTTTTTCACCGA +TTTGTTTCAATTTTAGCACAACTAAATGGAAAAATCACAAAAATTCCATT +ACAGCCGATTTTCGTGAATTTTCCTACATTTCGAACTAAAAATTGTCCTT +TCTTCTGTTTAAACCGGAAATTCTCTTTTGAAAAACCAATGAAAATTTGA +ATTTTCTGGGCTTTTCTTCGGAAAATTATTCTCGAAATTTATCAATCGAT +CCTTGGGCTTTTTTTGTTCCGCAGAGGCTGGCGGAGTTTACAAGCGTACG +AAGTGGTTCAACTTTTATATAAAGCTTTATAAATGGGACATAGATGAATA +TTTCGAATGCTAAATGCAAAAAGAATCAGTAAAAAAGCGCGCAGCCCCGT +CCTTCTCTGACGAAAAACGCCGTTTAAGGATCGATTGCTAAATTTTGGCA +GTAGTTAGAAGTGTCAAAATTTCTGCCGGAGAGTCGTCAAATTTCACTGA +AACGTAACCCGGTAATTTCCACAATTAATGGTCGATTTTTCGCAAAAAGT +GGTATGTTTGTCAGGATTTATTAGAAATTGTGGCTGTCCAGATTTTAAAG +AGTATTTTTGGGCAAAAATGTCGAATTTTCTCTGAAAAAGTTCGATTTTT +ATCGAAAATTCAGATTTTTTAGATAGTTTTCATCGATTTTCCCAGTTTTC +AGCCTGAGAACTTTACTAACAGAAAGATGTGTCATGAGCACCACTTTCAT +GATGCTCACGAGCTTCAGCTTCTTCATCTTCGTCCTCTTCATCCTCCAAA +TCTTCATCCTCATCGCCCATTGATTCCCCAGACGTTGTTTCGCGTTTTCT +CATGGATCTTATAGGACGAGCCATCTGAAGTTTCAATTTTAGCTTTTAAA +TTCAATTTTACCGCTTAAAAATCGATAATTCTCCCGTACTCTGCTGGTTT +CTTCTTCTTGTTCCGCCTGCTCCTCTGGATCATCTTCCTCCATTGGCTCC +GGCGATGCATTCAACATATTCAAGCCTTCGTCTGAAATATCTGGCCAATT +TATAGAAAAACCGACAAAATAATAAGCCTCACTTTCTTTTCGAGAGGCGT +CTTCGTCAGATGACGTGTACGAATCCATTTTCTGGAATTTGAGGATTTTT +GAATGTTTTTAAACAAACTTTATAGAGAAAACATTCGAAACACTAGAAGT +TATGTTGAAACACGAGAAAATTTTTTAAAAATCCATGAGAAAAACAGTTT +TGAAAAATCTGTTTTTGGAGGCTCTCCGGATTTTGAGGAATCGTCACCCC +GGAGACGCAGATTCTCCGGTAATTTTTCATTCATATTTGAGTTTAAGAAC +AAAACAGTTTAAAAAAATGTTTTTAGTATTTGAATGAAACTTATAATGTA +TTTTTTCTTCCATTAAAACTTAAAAAAAACTACAAAATTATTATGAATCA +AATTTGAAACCGTGAATCAATCTCCGCGGAAGGGCGAGTCTATACTGCTG +CAAGCGCACTCTATCGCAAATGTACAATTGGCGGTTTTTCAAACAGGAAT +TAATCGGATTCTCGTAGTTTATTTTGGATTTCTTTTTTCGGGAACATATT +GGTGTTTTTGCGTTCAATATTCAAATTTAGAGGAAAACTGCTTCAAATAT +TTAGGTAAACTCTTGAAACCGCTGAAAATAGGCAAAAATAATTATTTTTG +TATTTTTTAGGCTACTTTCTATACTTTTGCGTAAATACTATAGTTTTTCT +ATAAAACACCCATTAAAATTATTTTTATAAAATGATTTTTCCAATAAAAA +TAAAATGCGCAAAATGATTCTTTTCCAGAATCCTATATGCGCCTTTAAAA +TCTCTCGGATTACTGTAGTTTCAAAGAAATTATCCTTTATATTTTTAATT +TTAAATTTTTTCCTGAATGTCAAATATTAGGGGAAAAATTATAATAATAT +GTGCTTTATTCATATGAGTGTAGAATTAGTGAAAAAGAAAAAAAACATGT +ATGGACTGTAAAATTGGAATTTTAGCGAGAAAATAAAAATAATATGCAGA +AAAAATTAAAATTTTCAGGAAAAAAGTCAGTAAAGCCATCAAAAACTACT +CGATTTTGAAGGAAATCAGCAAGAAAAATTAGAAAAAAGTATTTTTAAGT +TGGAAAACCCCTGCTTGAATTTGTACACTAAATTGGGCATAAAAGCGTAC +AAATTCGCAAAAACCGGTAAAAATCTGGGGATCGTGATGGATGGAGTGTT +TTGTGAAAAAATGCAGCGAAAAATTGAGTAGACAATTTCAAAAATGTCGA +TTTTTGAAATTTGTGACGAAAAAATTGAACAAAAACTGTTTTTTTTTGGA +ATTTTCAACAAGAAGTTTTATAAATTTTTTTGTTTAAAATTTTGAATATT +ATATGAGTTTGGTTTCACTTAACAGAACAATTCGAACAAAAGTATTCTAG +AAAGGAAATGTGCGCTCCAGCACACTATTTGCCCGTGGAGCGCACTTGTG +TGCACGAACGCTAGCGAGAATGTGTGGTAGAAAGGGAGGGAATAGGAAAT +ATTAACAAAATTGGGCAAAATATGTAAGATTCGGAGAAAGAATTGGAGAA +AAATATGTATTTCGAGCTCCGCGAGCTGATCAATCCAAAGGCTTTCTCCA +TCCTTTTTTCGAGAGGCACATTGCATTATAGTTACACACAGCACGTGTAT +AATGGAACATTGAAGCCTGGAAACGAGCCATCGCTACCATCATTACCACG +TGGATCTGAAAAAATTAAAGTTTGATGATTCGAAAATTTTCTGGAAAAGT +TATGATTGTGAGATAAATTGAATTCTTTGAAAAATCAAAATTCAAAAGCT +TGTAGAAAATTTTATATATTTTTTTAAGCGTATTTTTTCCGTATACATTT +CCAAATTTTTTTGTTACCCAATTTTAAAGATTTTCTTGAATTTTAAAATT +TCTTTCAGTAAAAACTTTTTTTCAACTTTTTGATTTTTTTTCCGCATTTT +TTAAAATTTTATTCAGAATTATTAGATTCTTTTGAATTTAACGAATTTTT +TTCGCTAAAAAATTGTTCGATTTTTCCCGAATTAAGAAAAATATTATTTG +GTTTTTGAATTATTTTCCTGATTTTTTTCGATTAATAAATTTGTAAAAAC +AATTTTTTTTCTAATTTTTGGTTTTGATGATTGTGTTTTTTTTCTGAACT +TTACAGTTTTCAAAGTTTACACCGAACTTCCACATTAAAAAATTCTGATA +CAAAAAAGTATTCACATGATTTTTAAAATTTAAATATTTTTCAAAAAAAA +TAATATTTAAACTGTGTTTTTTTCGGAATTTTTTTTCGATTTTTTCCGAG +TTTTTTTTGGAATTTTTTCCTTTCTGCTCCAAAAATATTCAAATTCAATG +TTGTGTAGAAATTTTATTCAAAAAAAGTGTTCAACTTCTGAGTCTAAACC +TTTTCCGAATCCTTAAATCCTGGCAGAGCTCTCGTGAATTCAGTTGTCAA +TTTATGTGGATAGCAAGCTGCCAGTTTAATGAAAGTTTTAGTTCCTTTGT +CAAGTACTCGATTAATTTTCGAATAATCATAATCATCGACTCGAACACCA +TATAATCCTTGAGTATAGTTCCAAATTGCTTCACGGAATGCAGCAGTGTC +AATTTCATTCTGATTCACGGCGGCTGGTGGTTCTCCGTCTCCAGATGCAT +GGGATGAGCCGGATGGCCTGAAAAATTAATTTTTTGGAATTATTATATTT +TTCTGTTTTTGAAATTTCATGCATCTCGAATATTTTAACAAAATTACCAA +ATTCAACTAGATTTCTTACAACTTTCACTGTGTCGATTTACGGGTTCGTT +ATACGAATTGAATTTGTTTATCGATAGAATATTAAAATTTAGCTAAAATT +GAGAAGAATATAAGAAGAAATTAATTTTTTTAATTTCAAAAATCGAGCCA +GTAAATCGACACGAGCGATCGACACAGTAGTCATTTAAAGACCAGTTTCC +GCCACGAAATATTTCGCGCTTCAAACATGTTGCGTAGTACGTATTCTCAA +AATTGTGCGTTCACGTATAATATTTATGCGAATTTTTGGTCTACTTTGTT +AGAGAAATCATCACTAACATATTGCCAGTAAGAGTCCGAATATGATCGAA +CATTCGATCAAGCCGTGACGTCAGTGTATCCGTATACTCATTCATCGTAT +TATAAACATGATCCCATCCAAATTCTTCAACTCGGAATGGCGGAATATCC +TTTTCAGGTCGCTTTCTAAAATCAATATATCCAAATGTTCGATGATGCGA +GTAAATTGGATAATTACACGGCGGCTCTTTTTCCATAATATCTTCTCCAT +TTTCATCGATATTTGCAAGAAGAAGTACAGGCGAGTAGTTTTTCCGATTG +GAACTATATGTTGCTGCAGGAGCACTAATTAATGATTCAATAGTTTCAGT +AGTCATTGCACACATCTTCGCTGGTGGCCTAGTTTGTCCTTTTTCCGTCT +TTTTCAGCTCACTGATCAAATATTCGACTTCAGTTGGCCGACGATCTGGG +ACTTTTCGGAAATAGGCCGACATTCTCGCCTCCCAATAGTCGAGATCATC +GATATTAAGGAAATCAATCTCATCTTGTGTCAAATCAACACGACGTTCCA +ATCCAATACAGCATATAACTGTGCACATTGCGTGAGTCATTGACATTATT +CCGACGGCGTGGTGGAGAGAGCAAACCGAGAAAAACGCAGGACCACCGTC +TGGCGTGCGGCGAGCGAAGAGCACCTGGAAATTTTCAAATTCTTGAGAAA +AACCTAACATCGTTGTTATACGTTCGTTCTCTTGGCATTGGAGTTGGCAG +AATTTGTTTTGAAAAAACGTTGTTTTTTTTTTGAAAGAACATTTTTTTAT +TACGGGACCATGAGATCATGAGAATTCCTATTTACTGGCGCGAAAATATT +GGCAGGCCACGGCAACGAGAGAGCATATGGCAAAGAGAGACGCATCTTAT +TTTGTCTTGTAATTTTTTTTTAAAATAATTTACAATCCCTTTTCAACTAT +CGTGATTGTAAAATATTACAAATTTCAGAATTTCGCTACCAAATTATTAC +TGGAAAACTAAACTCTGAGAATGCGCATTGAGCAACATATTTGACGCGCA +AAGCATCTCGTAGCGAAAACTACAGTTATTCTTTAAATGACTACTGTAGC +GCTTGTGTCGATTTACGGGTTCGGTTTTTGAAATAATTTTCTTTTCGAGA +AGTGACAGTGATATTCCATTTTCCTTCTTTTCTTCCTATTATTTTATCAT +TATTTGCTTAATTTTAATATTCAATTCATAACTAAATTACTTTAATTCAT +TTCGAGTAGACATTCAAAGAATTCCGGTAGTTTTCGCTTCGAGATATTTT +GCGCGTGAAATATGTTGTGAAATACGCATTCTTAGAATATGGTGTTCCCG +TAATATTCAGAAAAGAAAAGATTTCCAAGAACTTTCTGAAGATTTCAATA +TTTGCAAAATCAGAAACCAGTTCTGAATATTCTTTATTTTTAGAAATTTT +TCAAGGTTTTCTAAATAACTTTTCTAAATAACCTACCGTATTTCTTCTAT +TAATATGGCTGCAATACTATTTTTCGATGGTCTTCCCGCTTGCAATACTA +TTAGGGAGTGCAAGTCTAATAGGGAGTGCCATACTATTCTTCAGAAAATT +TTTCTGTGTTGGGGCTTACTAGATTCTACTTGAAAAAACTCCAATTTTAT +TTGGAAGTATAGAAAATTTGATTGAAATTGCAACAAAAAGGTACAATAAC +TTCAATCTCTAAAAATTTTGTTATAAACTGTTGCAAAATAGGCAAAAAAT +GTTATTAAAATTTTAAAATTAGTAAGGAGTGTTTGCAACAAAAAAAAGTA +GGTGCAAGACTATTAGGGAGTGCAACACTAATAGGGAGTGCAATACTAAT +TTTCGGAAGGTCTCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATA +GGGAGGCCATATTAATAGAAGATATACGGTATATATAGCTTTGAAAAATC +GGAAAATGCCTAATTTTTACTTTTTGAGGTTTGAAAATCTCTAAAAATTC +AATAAAATTTCAAATTACCGCTAGATTTTTCCAATGAATCATCCATGGTC +TATGACAGAGCATTCGATTCAAATAATCCAATTTTCGAAATTTCATGTAT +GACCAATCAATGCCCAACAACCACATTTGTTGTCCACCCTTTTCCAGAAA +TTTGCGACGATGATGATCCATAAGTGATAGGCATCTGTGACGTGATGCAG +CCATTAGTGCAAGATAATGACGAGCCGAAGCTGGTAGATCACTTATATCA +ACGAACATATGGCCATAACTTCCTGTCATATGAACATGTAGAGTTGGGTG +TTTACATGTGAAACGGAATAATCTGGAAACGTGAGGGAAATTAGTTCGAG +ACGGGGAGGGGCAGGTTGGCGGTGCCAACCGACAGCCGAACATTGGGGTT +TCTCAGCTGGTAGCGCCAGCCGACAGTCTACTGCAGTACTGCAGATAAAT +TTTCGTCGGCTGTCGGCTGGTGAAAATTTTCATGAAAATCAATAATTTTA +AAGAAATTGTTGCAAATTTTTCCCAAACTTGACCAAATTTGTTGGCTGGC +TGTACCAGCCGACACCCGAAATTTAGAACATTGATTAGAGGCTGCTTGGC +AGAAATAATTTTAAATTCAGAAATTCAATTCGTTTTCAAAAAATATTTTT +TAAAACTTTACCGATCAACTTCTGGAATCGGATCAAAATTGAGCCAATCC +ATGGCTTTTCGTCTTTTAGTTGTAGTGTGCATTGTGTAGATCTTTTTATA +TTGCTGCGAGGTGAGTAAATGAAGAATTTTCGCGACCCGTTTCTGAAAAA +ACTCAGTTTTCTAAGGAAATTTTGAAAATAAATTCGAGAAAAAGAAACTG +AGTCAGCAAAAGAAAATTGGAAATGTCTGTCTGGAAATATTCGAATATTA +TATTCAAAAGTTTTCAAAAAAACAACGAAATTACAAGCAATTGTGATCAG +AAACCGCGGAAGGAACTGGACGAAAAAAATTATCTTTGAGACGAATCTCT +TTGCATCTTTGTGATCTAAAAGATTAATAAAGGTTGTCATCACATTTTTC +GAGATTTGGGAATGTGATAAGGGTGAAAAATGGAGATTAATTGTGGTAAA +ATGAGGAAAAACCTAATTTTTGGTGAGAAAATTGTGGAAAAACTATAAAA +GAATCTTTATGGAGTTTAAAACTCAAGTTTTTCACGCTTTTCCGCACTGT +GCGGAACGTTTTTTGAGAGAATTTGGCCGAATTCGGTGATTAAAAAAATA +ATTTCAAAACTTTGCGCCTCAATTGTGATGTATTACCGTACTCTGTTGCC +ATTCCACCAAAATTTCCTTCATTGTTTTGCCATTTTTCTGCATAATAACT +GTTCTGGGTTTTTTTGCTTCATGTGCCCAAATGTACGAATTTCCCTAAAA +ATTATACCTATTTTTTCAAAATTTTTAATCGCTAGAATTTTTTTTTCTGC +ATTTTCTTTAAAAAAAGAGATTTCTCGCAAGTAGAAGGAGAAAAAATGTG +TGGCTATACTTCTTCTTAAAGAATGCACGACTAGCCATAGCTCAAGCCCC +CTCTGGAACGTTCCATCTTCCTCCCATTTTCCCACGTTCAAGAATCATCA +GCTTCTTCTCCCTCAGCTTCTCTTCTTCTAAAACCACAACTAGACAAATG +TTCTTGTTTTCCACCCTATTTTTCACATAAAACCGCCGAGAAACCCGCTA +TCACAGACTCAATGCGCACCGGAGGGGCTCTTTGTGTGTGTGTACTGATC +TCTGCGTTATATTCGAACACCGGCGCACACTCGGATTGAACCAGAGGGGG +GGGGGGAGGGGGGGGGGGGGGTGAAAAAAGAGAAATACTCTGAAATTCCA +TAAAATCTAGAAGAAGAAAGAAAACAAAGGAAAAATTGGACATTCCGAAG +TCAGGCTAAAAAATCTCATAAAACAAAATCTATTCGATTTGTGACCATTT +TCATCTATCTCTCTCAAAACCCGAATAAACAAAGCCTCCCGTCCCCAAAG +TGTGCTCTCATGCTCTTCTGGAGCCTTCTAGACTGTCTGTAGAGCCTAGA +GACAGCGGAATTGCACTGAAGTGATGGAGAGACGTAGAGAAAACGCCTGA +AGAAAAAAACGAACACTTTGGTGGAGGAGGAGATGGCTTCCCTCCAAATA +AACAACAATTTCTATCGTTTCTCTGTGATTGTGTTCTCTTCTATGTATAC +TGTTACGATATTGAACAGGAAATTAAATTGAGCACTCTGAATACATAATA +CACAATAAATAAATACAAAAACTATAGTTTCAGCACAAAAAATTCGAAAA +AAAAACGATTTTTTTTGTCCGAGAGGAGTATATGGCCTAGAAAAAGAAAA +CTCGGCCACTCTGATGCAATAAATTTAAAAAATTATGGCCGAATTTTAGA +TTTCTCAGGCCAATTTGATACGTTTCTCGAAAAGCCATAAATTAGTCGGT +TTTTCACGGGCTTCTTGCCTTCCTCATTGCATTTTTCGCGCTCCATTGGC +AATCTCCTGCTGGACAACGCGTGGGAAATCGTGTGCCCCACACGGGCAAA +TACATTTTGTTTTACAAAGAAAACCGTGCCGCGACGCGACACGCAACGAG +CCGTAAATCTACCCCAGATATGGCCGAGCTCAAATGGCCTAACCTGTCAA +AATCTTCCACTTCAAAATATGAGGGAAGCCAGAAGCGCGTGTTGTTTCTG +AAAAAAAAACCCGCCTAAAGTTGATTTAAATTATCGTTTTTTTGGAAATA +ATAAAATCGATGAATTTGTAGATTTTGATAAATTTCCGATAAAAAAAAAA +TTTTAAAAGAGGAAAAAAAATGTTTCTTCGCCCTTTAGTACCAAAAATAC +GCCCAACTAACCAAATCGTTCTTTCAATCTTTTTTAAATGTTTGTGCGTC +TATAATTGTCGCTTCAGAAAACTACACAAAACACACACACACACAAGGAG +AAGAAAAGAAAAAACGTGTTCCATGACCTGCCACTGGGATCGATCTGTAA +AAGAATTGGGGAAAATTGAGGTAAACTGGTTTTTTATCGGGAAGATTTTT +TCGGAAGGATTGAGATGAAAGTTCGAAAGGTAATTGGCAAAGTTGAAAAT +TGAAAAATTCGAAAAAAATCTCAATTCTCTGCTGTAACCCCCAATTTTGC +GTCATGGCCTAGAGTATGCAGCGTGGCCTAGAAATTCCTAACGTGGCCTA +AAAGATCACGGCGGTACCTATGATTTTCTAGCGTGACCTAGAATATACCA +GACCTAGAATTTGATAGCGTAGAATTTCCCAGTATATCCTAGCAGTCTTA +AGTGACAGTTTCTCAGTACGTCCAAGAATTCGTCAGCATGACCTAGGATG +TTAAAGCGTGGCCTACAAATTTTCAGAGTCTTCTAGGATATTCCAGTCTA +AAAATTTTCAGTGAGGCCTGAAATCATCGCGTGTCCTAGAATGTCTAATA +ATTGCAAAAAAAAGATTTGAAAACTAGTATTTACCCTAAAATTGCATTTT +GAGCATTATTTTTAATCTAGTTTTAAGGAAAAAATCAGAAAAAATAAACA +TTTTTTGATTAAATCTTCCGATCTACAGATAGAAAGTGTGCAAGAAAGAA +TGCAACATTGTGCTCGGTGGAGCAAGAAGATAAAAGAAAGAGAAAGAAGG +TCCCCCACCCCTCCAGTGGTCGAAACAATGATAAATTGGACAAACGGAGG +ACCAAGGGGCCGGGCAGACACAAGAGAGAGAGTACGTGAACTGAGGAGGG +TGTGCAGGGAAAAATGGGATGGGGGCAAATCTAGTTCAAAGATGAGACAC +TTTTCAGGATCTTTGATTCTGAGAAAAATTTTGAACAAAAAGAATACTTC +AATAATTTAATGGCACATAGAAATATTTTCAGATTGTTCTTCAAAAGAAA +AATATTTTTATGCCCGGAAAATTTATTTATTGCATTTCTTCCAAAACAGT +GGCCGGTCTCGACACGACAAATTTTTGTTAAATGCGAAGAGGTGTGCGCC +TTTAAAGAGTACTGTAATTTCAAACTTTCGTTTTAATATTTACTTGTGGG +AAAACATTAATGCTTAACGAAAAATTACAGTACTCTTTAAAAGCGCACAT +CTTTTCGCATGTGACAAACATTTTCGCGTCTCGGTGACAACTTTTAAGTT +AAAGGCACATAGAACTTTTCTGAAGAATTTTATTTATTTTTCTGAAAGTT +AATTGCTACAGTATCCTTTTTCAAGTCGCACCGAGAGCCAAACTGTAGCA +AATCATCAAAAAAAAGTCGACAAAACGTGCCGAAATCAGTAAACTTGAGA +GCTTTAAAACTCTATTATCAGTTCTTCGCCAACAAAAAAAAAGAGTACCG +TATCAAAAACGAACTTCGACTTTTTTGGCTCTCCTGCATACGGACATGAT +TCTGATTGACAGTTTTCATGTTTTTTTTTGGGAGTTTTATTTATTGTGCA +TTTAAAAAATCGTATAGTTTGATGCGTGGCCTAGAATTTGCCAGTGTGAG +CATTAACTCTCCACGGTAGCCAAGAAATTTTCTACGGTGGCCTAAAAACT +GCCAGTGTAGCCTAAAATATTTTATTGTGGCCTAAATTTTCCAATGGTCT +GTTTTTTTTATAGTTGCCTAGAATTTCTTTTCGTGACCTAGAAGCGTACA +GAGTGGTGGCCTAGAAAACGATTCATGGCAGAGTTTTGAAAAAAAAACGA +AATTTCGAGAAACAAGCGAACAAAAATCGTCTGTCGAAAGAGTATTTCGA +ATGCTGGGGATGCAAATCAGCAAATCATTCAAAAAAAACTTTTGTGATAA +GAAATCAAACTGATAAGCCAGTGTCAAAGTCTCGAGGATTAAAAATAGCA +TTTCAGGTCGGGGTACGGTAGGGTTTTTGTAGAAATTAATGCAAAATTTC +AGTGGGAAACGAGTTCGTGGCCTAGAAAAATCATGTCTGAAAAATTGCAA +ATGCGCTCCCCCGAAATGGTTAAAAATTTTCAATTGATAGCCTATTTGAA +GTGGCGGCCTAGAATATCAAATAATGGCCTAGAACTCAAATTGGCGGCCT +AGAAATCAAACTAATGACCTAGATTAGGGCATCTTGTAGGCAGCTTAGAT +CACCTATTATAGGCAGGTGTAGGTAAAATTGTAGACAAATGTAAGTTTCT +TTGAAGATAGGCGTAGGTTCCTTTGCAGGCATACATAGATCATTTATTAG +GCAGATGTAGGCCTGATTGTAGGTACAGTGCCGGCCAAAAATATATCCTA +TTTTTGACTTTTGATAAATTTACAAATTTTCCAAACGAGCACAACTTTAA +AACTAGAAATGTTATCGAAAAAAGTTCAACTCATGTATGTATTGCCCATA +ATTACGTCTACTCGTATTCAATTGTTTGTTGTTTACTAGTGTCACGACAA +CAAATACAGCGGCCGACATCTCGTAAGCCCGTTTTTGACAACGTTTACTG +ATTCGGCCGTATCTCGAAAACTAATTTTTTTCTGAAAATGTTGTTAAAGT +GAAATAGTTTTCATGTTATTTGTTATCATTTGTGTTTATTCACTTTGTTC +TGAAAAATCCAGTAAAAAAGTTATGGGAGTGCAAACTTGTCGCTCACTGC +CACTCACCCGCTACAATCAAAAATCAGGTTACTTATAGTTAGTTCTAATT +TTTTTTTTGTAGAGCATTTTTTAGAAATAACACATGTAAAATCACAATGA +AGCTATATTCAAACACGATATCAAGATTCAGGAAAAAATTCATTGTTTGC +GAGAAATGTTCAAGGCGTGGCCAAACACTATTCAAGTTTAATCTCTCATA +ACTCTTTTTCTGGATTTTTCAGAACAAAGTGAATAGACATAAATGATGAC +AAGTAGTATGAAAACTATTTCACTTTAACAACACCTCGAAAAAAAAATCG +CTCTCGAGATACGGCCGAATCAGTAAACGTTGTCAAAAACGGGCTCACGA +GATGTCGGCCGCTGTATTTTTTGTCGTGGCACTGGTAAAAAACTTAAAAA +ATTGAATACAAGTAGACGCAATTATGGGCAATACTTCATCAGTTAAACTT +TTTTCGATAACATTTCTAGTTTTAAAGTTTTGCTCGTTTGGAAAAGTTGT +AAAGTTATCAAAAATCGAAAATGGCATATGTTTTTGGCCGGCCCTGTAGG +TTAAATATTTTCGTTATCAGGTGTAGGCATGAATCGCCATGTAGGCGGGC +GTAGGTATCTTCTAGGTAGGCGTAGGTTACCTGAGTCAAATTATAGGCAG +ACGTAAGTAATCATAAAAATTGACACTTTGTGGGCAGGCGTAGGTCACCT +TTTAGACAATCATAGTTAGCTTTCTAAGTAGGGTTAGGACACCTATTATA +GGCAGGTTTAATTCCTCTTATATGTGTGCGTAGAACACGTTATAGTCAGG +TGTAGGTCACTTTGTAGGCAAGTCTAGGTTCTTCTTTCGGCAGGCGAAGG +TCATCTTCTGAGCAAGTTAAGGTTCGCCTTGTAGGTCGGTGTAGGTTGCC +TCGTAGGCAGACTAAGTTACCTTCTGGGCATGCCTAGATTGACTAGTAGG +CAGGTGTTGGCACCAAGGGTGTCAGTGTCCCGTAAAAATTACAAAAACGG +GACAACGGGATGTCCCGTTCCCGTGAAAATTTTAAAAACGGGACAACGGG +ACGTCCCGTTCCCACGAAAACACCCAAAAAACGGGACAACGGGACATCCC +GTTCCCGTGAAAACGCTCAAAAACGGGACAAAAGACGTCCCGTTCCCGTA +AAAATGACAAAAACGGGACACCGGGACGTCCCGTTCCCGTGATAATTTTG +AAAACGGGACAACGGGACGTCCCGTTCCCGTGAAAACACCCAAAAAACAC +CCAAAAAAACGGGACAACGGGACAAACGGGACACGGGACTTGACACCCTT +GGTTGGCACCACTGAAGAATGCTGAAACCGACTTTTTTTTCAAAAATGTC +CTGCTCAACGAGCCGAATGCATTTTGGTCGGATTATATTGGCACACCTTT +TTGCCCCCGAGAGAATCATTGAACAAAATCTCATGCACTTTCAATTTCAT +TTTTCATTTCATCAAATAAAAAGATTCGGGAGGATTTGATATATATTGGA +AAAATAAATGAATGGGGGATTTGTATGGTGGGGGAAAAGTGCACACCCGG +AAATGAGCAGTAGGATTTTGAGCAGGAAATTGAAGGAGCTGGAGCAGGAG +AGCAGCTACAGTAACCACCCCTTCACAGCAAAACACATGGCTCATAAAAT +TGAATATTTGAAGTGAACTACTAGTGATAAGCGGTGAAACGGGGTATGTG +GCACTAATTTTTTTTTCTTCAAAAAACCCATTTCTTATCACTTGTGTGCA +GAAGCATTATGGAGACAGGCAGGAGGCAAGTGGTGGTCTAAAAATTAGAA +AAGTTCGGCCACAGCTTGCCCGATAGGAGCACACGGGCATACTGTTTCAA +CAAAAATTCGAAAAAATTGGAAAATCCCGGAATTTTGATTCCGCGGAATC +CGACGATTAAAGAAATTCTCGCGTTTCTGATTTCACGGAAATCGGTATTC +TCGAAATTTGGTTTCTGCGGTGTCTATTGTTTTGGAAATGTTGTGTTCAT +GTTTTATGAAGAACAATATAATATTATGTATAATAGATATTATATATTAT +ATATAATAGAATAATTTTAGTAAAAACCCCACAAAACTTCGAAAATAGAA +GAAATTCTCGCGTGTCTCCAAAATTACAAAAAAATCAGTTTTTTTCCTTT +ATTTTATATTACACAGGATATTTATATCAATTCAGCAAAAAAACGGGCGG +GACAGAAAATTAAGAAATTTGCGAATATTCGTTCCCACGGAAGTAAATTT +CCCCGAATTAGAAAAAATTCGAATTTTTACTGGATTTGTCTCAAGCTTTT +GAATCTAGAAACATTTTCTAGTAAAATCTCTTTAAAAAATTTTTTACACC +AAAAAACTTTTTAGGCCCTGAATTCTGCGAATTAAAAAATTCCGCAAGAG +ACCACACAAAATCGAGAGACTTAGTTAGACAAGTAGAGGGAAAAATAAGA +GGCAACAAATCATCGAAAGTTTTTTTCTGCAGAGAGAATGGGGGAGAAGT +TGCGGCGCTGAAAGAGAGAGAAAGAGAGAGAGAGACAGAGAGGGTGAGAG +ATATAACAGAAAACCAGGATAGTGCGGAGGAAGAGAAGAAAAAAGTGTTA +GAAATATTTGTCCGTCGACGCCTTCTTCGTCTTCTTCGTCGCCTTCATAA +ATGAAACTATGCATTTTCCTCAGATATTGCCTTACTATTAAATGGGGCCC +GGGCTAAAGGGTGTGGCCGGCCGATCCAAAACGGTGGCCTAGAAAAATAT +CGGCGGTGGCCGATATCAAATAAAAAAAACATCGATAGTTATGAGACCAT +AATTTTTAGTTTTTCAGATTTTGAGTCACTTTTCTGATTTTTATCCCAAA +AATAGAGCTCTTTGCTGTTTTTCTGCAGAATCAGCAGGTGGCAACTTGGT +TTTCGGAATTTGTGCTATTCTTAGAAATTCCCGACACAGCATCGAGTTTT +ACTGGAGAACACGTAGCGAGCACAGAAAAAGGAAGGAAAGACAAGAATTG +GCTCGGCGAGCAACCAGAAAAGCAGCAAGAAAAAACTGACCGAGCAAAGA +ACAGCGCGATGGGGCTCATATATATCTAAAAATGGATGGATGGAGAGATG +AGAGACAGCAGCAGTATTCGGTCAAATGAAGACAAGCCAATTTCGAAGCT +TATTTGGTATTCATGCGTGTCTTTTTTTTTCTTGCAAGAAAAACTGATCA +TTAGCAGAAAATTCAAAAAATATTGGTTGTCCGAGAGGAGTACAGAAATT +AAAAAAAATCGTCCGAAAGGAGTACAAAATTCAAAATGTCTATTATCCAA +GAGAAGTACAAAATTCAAAAGTGTATATTGTCCGAGAGGAGTACAAGATC +CAAAATATGAATTGTCCGAGAGGAGTAAAAATTCAAACCACAAAAATCCG +AATTTGCCAAGAAAGGGGCGGAGCCTGATTCGAGTGGAGTGTCGTTGCAA +AACGCAAAACTTCAAAAACATACGGTTTTCAAAATCTACCTCGCCGACCT +ACCGTAACCCTCTAAAATTTCTAGGATCAAATATCATCGCAAGAAAAGTG +TTCGTTCGAAACGAAAAATATTTCTGACGCCTCATCAATCATCATATCAG +TAACAAAAACCTGAGAGAGACGGAAACAAAGAAATATATTTTGAACCGAA +CAGGGATCCTGCAACAAATCACGTAATGGACAAAATGCGCCCTATTGCTA +AATATGCAGCAAGACGCAATTGCATTCTTCTGCCAGAATATCGATTTTTA +TACGTACTTATAGTGATAAAAAAAATGCTGAATTATCGATTTTTAATTCC +CCGGAAAAATGTGCGACAGAGCGTGTTTGCATTTTTTTTTTCGAATTTTC +GTGCAGAAAAACCCGTAAGCATCGATTTTTCTCAGTAAAAATTTCTCGCG +CCAAAATTGTTTCTATTTTTTTCGGGAAAAATCGAAAATCTCCAAAACTT +CGGTGGAGCGCACTTTCTGGACCACAATTTTTGAAGGGAAACATCACTTT +CTGCGGTTTTCAATAAACGAACAAACATCAACAAGAAACGAGAGAGAGTT +TTTGTTGACTTTCAAGAAAAAAATGGATATCGAATTTCTGTGCTCCATTT +CCCTCTCCGGGAAATGGCGCGGGGAACGTGCAAACAATGCGAGTATGTCT +AATGGCTCTCACGTAGATCGAGAAAGTGGAAAATTTGCTAGTATAGACAG +TTTAAGGAGGCTCTTTTATTCTATTGGGGAACCGATTTGTTTATGTCTTG +CCGTGGAGCGTAGTTACTGTAATTTTTTTGCAAACGTGCTCCATCGAACA +GTAAAAAAATCAGTATGCATACTAGTATGTACCTTTAAATAGCTGTAACA +CGAATTGCCTGTGAAAATAAAAATCTCGGCAAGTTCTCTCCATCGGATCA +ATGTAGGGAATTTTGCTGTTTATAATGCAAACTCGCTCTAATAAACTACA +ATTTTCGATCGGTATTTCATGCATTTCGACTGATTTTCGTTATTTTTTAT +GTACGCTCTCTATTGAAACACGGGGCCCGAGAAAATATCCAAAATCTAGA +GAGGTTGTATTGCTTAGGCTTAGCCGAAAACCTGTAAAGATTTTTTAAAA +ATTGTTCAGCCTGCGATGGACGACTTTTTGTAAAACTTGGCCACCAACTT +TTTTACGGTGCGGCTACATCGCATTTGGGTGACCTTTAATGTGTTCAGGG +TGTCTAAACATGCACCCAAAAGAGAGTGTCATTTTTAACGCGAAACAGCA +TCAATCCAAACGGGGCGACAAAAAATGAGAGAGAGAGAGAGAGCGGGCGC +AATCTAATGTTTTATCAAGTGTCTCTTCTTCTCCTCCGACCTCGTTTGCA +TCCCCCTAATTCATCATTCGTCGGTTTGTAATACAGAGAGAGGGACATAG +TGAGTGAGAGGGAAAATTGAGGAGATTCAGAGAGTTAGAAAGAGAGAGTG +AGAGGGAACTTCAACTTTTTTTTTCAAAAGTTTTGGTCGATGATTTTGAC +ATTTGATAAAACTGAATGAGAGATGATGCTTAGATAAATGAAAATTGATG +AGATGATATTTATAAATGCACTTGCGATGTTGTTTTACGTGCAAATTGCT +GATTAGTCGAGAAGTTGTGATTTTCGTGTCGGGAATATTTCACTAGGAAC +GCCCTTGCGCCTTTAAAATGTAAAGTAGCATAATTTATTTTCAGAAAATT +TAAGCGTTGGAAAAATAAGTAGTGCGCAACATATTTGACTCCCAAAATGT +TTTGTAGCGAAAACTACAGTAACTCTTTAAACGAATACTGTGGTTCTGGT +GTCGAGTTACGGGCTGCCAAAATTCGAAAGTAAATTCATTTATAATCGAA +CCCGTAAATCGACACAAGCGCTGCAGAAGTCATTCGAAGAATTACTGTTG +TTTTCGCTACTAGATATTTTGCGCGTCAAACATGTTGCGCAGTACACATT +CTCAGAATTTTGTGTTCCCGTGATATAACAATTCATTTTTCTGTCTATAA +CCTCTTTCAATTATAAGAAACCATTTGCAGCGAAACACAAAAAATTTAGC +CGATTTCTATTTCACCTATAAAATTCGCGTCAAATGGCCCGCGCTGTCAA +GACAGTCATAAAACCAAATGTTATGCAAATGGCGTAAAATTCAACAGTGC +CCGCCCGCATGGTCATTGATCGTTTAAGAAGAATGGAGGAGGGTGCGGGG +AGCATCATTTCCTGAAATGAGCCCAGAAGCGAGAGATTAGAGAATTAGAG +AAATGAGAGATCAATGAGGAGAGGGTGAAAGGTATGAACAATGAATAAGA +AAGGGATGGAAATGATCACAGATGGAAATAGATGGAATAATGAAGTGCAT +CGATGCACCATTTCAGATTTTTCGGGCTTTTCGCAGATAATTGAGGAATT +ACATTTTTCGGGCTCCATCGATAATACCCTGCCGGACAACGCGTTGGAAA +GTGTGTGTACTCCACACGGGCAAATACCTTTAGTTTTACAATGAAACCCG +AGCCGCGACCCGACACGCAACGCGCCGTAAATCGACCCCAGCCGTGGCCG +AACCAAAATGGCCTAATTCGTCAAACTTTTACATTCCAAAATATCAGGGA +AACCAGAAGTGCGCGTTTCCTGTTGTCCGAAAAAAGATTACAACAAAAAA +GAAGAAATGGAGCATTTGCGCTCCATCACACTCTCAGACAATTTCATTTT +CCACATCCTATATATATTTTGGTTTTTCTGTCGTATTTTGTTTTAATTTA +TTGGTATTTCGTTCAAAAATAATTATTTTGACTGTATTTTTGGTTGCATA +CATGTAGAACTGCTGTTTTTTAAGATATTCTGCCCATTCAAGTTTTTCAG +TGTAAAATTGATATATTTCATTCCAACTGAAAATGAGATCGAAACGATGG +AAAACCTCGGATATTACTGATTATGGAAAGAAGAGAAAAGAATCGGAAAG +TTGTGGATCAAGTTCACCGATTCTCGAAACACAGTCATCTGGCGGTGCGG +AACTTGACGAAGTTACTGAGGATGAATATTCTAGTAATTCGAGCAGTAAT +GAAACTAGCGACGAAGAGGAAAACTCAGAAGTACCAAATGTCTTATCTAT +AACAGAAAGAGGTAAGAATTGCGTCTTCTAGTGATCATACTTTTCGCCAG +ATTCCCTAATGTAATATATTTTGTTGTAGAGAAAAGTTGGCAAAAGTTAA +CGGAAAACGATTTGGGACGAATTCGTTTCATCTTGAAGTACACTAGCAAT +ACTAAAAAATGCGTGAACGAGTATTTTCAATATAATCATGGGCAAAACAA +TGAAATTATGAAAAGTCTATTATTGGATACCGATGGAACTATGACTGCAA +AGGCTTGTTCGGAATGTGCCTACGATTTGAATCAGTAAGTTACTCTCTCG +ATTTATTCCCAAAATTAATATGTGCTTCAGGTGCCACTGCAAAAAACCGC +TTCGCTTCATCAATGCTCCGTGTGGTTGGTTTGCTATTCAAAACTATAAA +TAGTTCACTGTTTCCGTTCAGAGGTCATCAACCAAGTTCTTCATGTTGAA +AATGCGGAGCCCACCAGGATCAACCATGTAATCGCAACACTCTTCCGGAA +TCACATTGGCGAGATTTTGTTGGTCCACTCTATTTCTGTGCGAGAACTGT +GATAAAACTAGTATTTTCAGCACAAAGGCTCGAACTGCGGAAGCTCGCGC +ATCTGAAGAAGCTCAAATCAGGATTCAAATCCAAGACAACTCGAACGCAT +TCCAAAGATCGTATCATAACGATCCACAACCTTCATCAGCCGAAGAACAT +GAGGAAGATATCGTGGTGGATGGCTGAGTACGGAGCTCAAATGCCTTAAG +GCGAAACAATTGGTTTTTTAATTTGCTGGTTATCATGTTAGATTTTGAAC +GTGTTAGGTCTTTCAATTGTTTTTTTTTTTCGAAATGTTGTTGTTCTAAT +AAATTTGTTTTATTTAATCAAACGTTTTTTAGTCTACTACGGGCGTGAAG +CCAGATATCAGTGGTATCTTCTTATCAGAAGCTGAATCATTTCCGGTTGA +CAATGTTTGAAGGACATAAGAAAGGCTGTGTTACTGATTTCGACCATTGA +TTTGTTTATATATGGATATGTTCCACTGCCTTTTGGAAAGGCAGTATTCC +CGGTATATATGGGCCTAATACGGAATCTAAAATAACCTGACACAAACCTG +ACGTTGACCTGTTGCCGGCCCGCGGCGGCTTAGTGTCAACTTGACAGCGG +GTCGCGATTTCACCTGCCAGTTGTTCTCCATTCAGCAGCCAGCGACCTGC +TGGCAGGTTGCCACTAACCTGACGCGGTTTACCTGTGTTATCGGCGCGTG +CATAGCTTAGTGGTTTCAGGAAATGATGCTAGTAATCAGAAGATCGGGGT +TCGGGAAACGGCAGGGGCTTGAAGGTTAGGTTCTATGAAGCAGGGCGAAG +GGTTGACAAGGAGAGGCAATAAGCAAGTAGTAGGGGTTCTCTAGAAAACA +TTTTTGTCTTTAATATGCGTTTCCTACTGATTTATTATTGATATTTGGAT +CCCCTTTTCTAGAAAAAAAAATCAGAATCAGCAGAAAAATTTGAGAAAAA +GTCATAGCAAATCAGAGTTGGTCAGAGTAAATCAGAGCTAGTCATAGTAA +ATCATAGCTAGTCAGAGAATATCAGAGTTAATCAGGGTAATAAGTAGACC +TAGTCATAGTAAATCAGAGCTAGGCATAGTAAAGCGTGGTTACTCCGAGT +AAAACCACACTTGCACCGAACTGCGGTTAGTGTGCTTTACCATTATGTAA +CTCCGCTTTTTACTCTGAGTTAGTATGATATGGTTTGTCTGAGCTGTGGT +TGGGCTTCGCGGGAAACTTGAATAATTCGAGACAAAATCTAATTTTAGCG +AATTTTCTTTAATTTCTTTGAGGTTTCTACGACAGAACTCGAAAAATTTC +GGGTTTTAATGTTTACACATTTTATTTAAAATTGAATAATCAACTGCGGG +ACTCCTCGAAAATCACATGCTCATTTAAATTTTGAAGTTCAAACCTCAAA +AAACGCGCAAAAACCAAATTCAGCTAGGATATCAAATTTATGATTGAAAT +CTATATTTTGATGCGGTGTTTCTGAAGTTTTCGCGATAAAATCCGAATAA +TAATTCCACGTACCGTATATTCTCTATCTAATTTCCAGGTCATTTTTTAA +TGCAGCACTATTAGAGACTGTCGTACTACTGGAGACTGCAGCATTAATTT +TCGAACGGCTACTGTCAATTATAGATCACTAGTATTTAGTCACAAAAGCT +AATTTTTTAAGCAGAAATTCATAAAAATGTTTTCAATATTGCGAACTTTT +GTAACAAAAAGACCCAGTAATTCAATTACTTTCGTAAATTATCAAAAAAT +CATCAAAAATATACAAAAAAATACCAAAAAATATTGAAACTTTCAAGTGA +CTCTTTCAATAGAAAATGGGGTGCAGCACTAATAGAGACTGCTGCACTAT +TTTTCGGACCCTTTTTGAATGCAGCACTATTAGAGACTGCAGTATTTACT +ACTGGAGATGCAGCACTAATAGAGAATATACGGTATATACGTAATATATT +CTTGCAGAAAAAAGTACGATTATCAATGAAAAATAGCTGATAAGAGGCTT +TTGTTTGAACTAACAGACGGAACGACTCCGGTTTAGTTCAAAAAATTCTA +AAAACACGTTGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATG +CGGGAATATTTTTCCAGAAAAATTGTGACGTCAGCACGCTCTTAACCATG +CGAAACGAGATGAGATGTCTGCGTCTCTTTTCCCGCATTTTTCGAAGATC +AAAACGAATGGGACTTTCTGACTCCACGTGTAAAAAGGGGTTACGACGGA +CCCTGGCCTAGAAATTAGGCGTGAAAATTCTCGGGCACTGGATGTAGTGA +ACGCCCGCGATGAAAAATTGGGGGAAAATTAGGCTTTCTTTGCGAGAAAG +ATTAATTAAAAATGTTTTCCTTTGTCGAAAATAATTTTTAAAAAACACAC +CACGTGTATTCAGCTCGACCAACGCCTCGAAAATTTTCAAAAAAGGCGGG +AAAAATTAGTTGAATTCGCCAAGAGGAATTTCACCGCAGCGCGTGCAAAA +ATTTCAGCATTTGCGCGTGACGGTGTTTGCACAAATTACACCGAATGGTC +GAGCTGAAAACACGTGCACACTTTTAAATAAAACTAGAAAATAAATCCCA +GGCCTGCAAATATTGCACACAAAACCGTAATCCCCTTCGCGCTAAACAAC +ACGCGCAACGATGCTCCGCTTGGGGACAAGGAAAAATTAATTTAACTCGG +GATTTTCATTAAAAAATTAGGTTTTTAGTTAATTTTTCGATGTTTTCACT +GCGAAAAAGTGTTAAAATAACGATTTTTCAACCTATTTTCAATTAATCCG +TGCAAAAAATCGTGTATTTCTCGAGTTTTGAAAGAAATTTATGAAAATCG +GCATTTTTAATAATGGTTTTTCAAATAAAAATATAATTTTTCGGTGCAGA +AAAGTCGTTGCTCGTACAGTTTTTTTAAAGCATTTTCACATCAAAATCCT +CCATTTTTCCAGTAAATCGATATGGAGTGCGACGAGACAAAGCTGAGCGA +CGGCGCAAGCGGCTGGGTGCCGAGTATCCCGACAGATATCGATTCAAAAG +ACACACCGTTGCTCGATATATCTTCTCAGGCGATTTGGGCGCTTTCCAGT +TGTAAAAGCGGTAAATTTTCCGACTTTCAAGGGAGAAAAGTGTAGAAAAA +TCGAAATTACTTCTTAAAAATCTCGTAAAAATCGAATTCTTTCAGGATTC +GGCATCGACGAGCTCCTATCCGACAGTGTTGAGAAATATTGGCAAAGCGA +TGGCCCGCAGCCGCACACGATTCTTCTAGAATTCCAGAAAAAGACCGACG +TGGCTATGATGATGTTCTATTTGGATTTTAAAAACGACGAGTCTTATACA +CCGTCAAAGTTAGCATTTTTGGCTTTTTCAAACGAAAAAATACAATGAAA +CACTGAATATCTAGTTTTTTTCTCAATTTTTGCCTAAAAAACGGCGATTT +TTCACTAGCTTTTCAATTAAAATTTGAACAAAAAGTTTTTTAAAGGAAAA +ACATGAATTTCTAGCTTTTTCAGAGGTTTTCTATTAAAAAATAGAGATTT +TTGTGATATCTGACTGAAAAATTACCAAACTGTCGATTTTTTTAAACTAT +TTTTCACTTAAAATCTGCAATTTTTTTTTTCGAGGAAACATGTGAATTTC +AAGCTTTTTCAGAGATTTTCTATGAAAAAGGTTCGTGCCGAGACCCATGT +GCTTTTAAACTTCAGAATTTTCCCAATTTTGAAATTAAAAAGAGAATGAA +AATTGATTTTCATGGAAAAATGCGTTTTTGGCCCAAAACCTCCAAAAAGT +ACAAATATAGGTCGACTTTCAACTGTTTTAGATCAATTTTTTTGCAGAAT +TCAAGTAAAAATGGGTTCATCTCACCAGGATATATTTTTCCGTCAAACAC +AAACATTCAACGAGCCCCAGGGATGGACATTTATCGATTTACGCGACAAA +AATGGGAAACCGAATCGCGTTTTTTGGCTTCAAGTACAAGTTATTCAGAA +TCATCAAAATGGGAGAGATACTCATATAAGGTAGAGGAATTGAGAATTTC +AGAACGAAAATTGCCGAAAAAATGAAATTTTAGCGAATTTGAGTCGGAAA +TTTCGAAATTTGATTGATTTTAAGCAAATTTCCAACTAAAATCTTGAAAA +TTTGATCTTTTTAGATAAATTTTTTTTTAATTTTGTGCTTTTCAAAAAAC +CTCAAAAAACAATTAAAAATTGAAGTAAAATTAATTTTTCAACAATTTTT +GAAAGGCCGAATTTTTGATTGAAAATTTTCACAATTTGTCCATTTTGTGG +TGGGGCTTATTCCGAAAAATCGTTGTTTTTTTTTTCAAAAAAGTTATAAA +AACTTTAAAATTGCCATGTAAAATATGTTTATTCTCAGACCTCGTAGGCA +CGAAGCAGGCGTAGGTCGCCTCGCAATAAATTTGAAAATCTCAAGAAAAA +TCAATAAATTTGTGATTAATCAAAAAAATTTAATTTCCTGGTCCCAGCAC +GAATGCTATTTTTCGAAAAAAAAAAAGAGGCGAGCCTAATATAGACCACG +CCCACAAAATGGGCAAAAGTTTGATTTTTCAAAAAATCGAAACAAAAATT +TTTCCAATTTTGTGAGATTTTAAAATTTCCGGTTTTTGGAAAATCGAAAA +AAAATTTCTCGTTTTTTAATTTTCAAAAAAAATTGTGCCTAAAATTCAAA +AAAAAAATCAATACTTTCTCAAAATTTCCAGAAAACAGTCCATTTTCCAG +GCACGTTCGAGTCCTTGGACCCCAGCGATCTCGTGTCTCCACAACGAATC +GAATATTCACCGGAGAACCACACGGACCGATTCCCGATAAAAATATCACT +AATTTCGACGACGAGGATTTTGCCAATTTTATCGATCACTCACTTGTTCA +CTTATCACTTCGTTAAATTTACCTCCAGTGATTCCAGATAATGAGCCAGT +TTTGCATTGAAATTTAGTGCCAAAATATAGAAAATCGCATGATTTAACAT +AAAATAGCGTTTCGAATTGAAACAATGGAAAAAAAGTGCTATGATGATTT +TTTAACACTTTTAATTGTTCCAATTTGAAGTAAAATCTATTTTCAGATAA +ATCAACTGATTTTCTATATTCTGCCACTAAAGCTTAAAAACTTGCCCTGC +TGTCCTAACCTTCAAATTGTTCCCTGCAAATTTTATTATTCTTGTTTCAT +ATTTTTGCGATTGCTTCGCGAGACCCAAACTCACACATTTACCTGTAAAA +TATAATCGAATAATTATTTATATATTTTCTGTAAATTTCCTTAGTATACT +ATAAATTTTCTGATCTCTCTTCAAAAATCGCTAGAAAAAATAAACAAATG +TCGGTTTAAAAATTCCTGGTAATTTACCTTCTATAGAAAATTTTTCGAAA +AAAAAACCGAAGAAATTCAGATGGAAATTCCCGATCCCGAACTGCCGGGA +ATACCGATTGATCCGCAAGATTTGGAGATTCTAGACACGCCCACACGGTT +TTACGAGAAGCTTTTAGTGCGTTTTTCGTGTCGGGACCCGGAAATTTGAC +ATTTTTGGCGCGCGGCTTGTTAGACTCCAAACCTTTTCAAAGATTTTTTT +TTCGAATTAAATAACATTCGTGCTTGGGCCCGGAAATTGAATTTTTGATT +TGAAAACAATTTTTTTTGAGTCCAAAATTTTCAAAGTTTGTCCATTTTTG +GCGCGTGGCCTAGTAGGATCCGCCCCTTCTAAATTTTTTTTGAGCAAGTT +TTCTGAAGCATTGATTTCAAAAATTTTTTTTGGAAATTTCTGGTTTATTT +TTCCGGTTTTTTTCCGAGTTGCTGTTTAAGTTTGGAGAAATTCCAGAATT +TGTCAATTTTTGGGGCGTGGCTTTTTCAGTAAGCACAGTTTTTTTTTTTT +GAAAAATTGAAATTTTCGCGGTGCGGTTCAAGAAAAACCACAAAAACTCA +ATGATTTTTTAACGAAAATTTCAAATTTCTTGCAAGACCTACTGCAATTT +CGATTTTTAGAAACTTTTTGAAAAAAATCCGAATTTTCTGATTTAGCCCC +GCCCCAAAAATGGAAAGATTTCCGAAAATTCGAACCAAAAGTTCGCAAAA +ACTTGAATTTCTCTCACACAGATTGACGCGCTAATTTGAATTTTTCCAAA +AATAAGCCCCGCCCCAAAAATGGACAAATTTTAAAAATTTTGAACCAAAT +AAATTCAATTTTTTTTCGCTTTTTTCCGTTTTCGAACAAAAAATTCTAAA +AATATATGGTTCTAGGCGGGGCTCAGGCACCCATCTACCTACTTAAAAAT +GCGTTAAATTTCAGGAATTAACTGCATCAACCGAACGGCGTCTCGCATTG +TGTAGTCTGTATTTGGGCGAAGGAGATCTCGAAAAAAATCTGATCGCTGC +GATCCGAGAAAGATCCGAAAAATCCGAGATTGAAGTGACGATTCTGTTGG +ATTTTTTGCGCGGAACACGGACCAATTCAAGCGGCGAAAGTAGTGTAACA +GTGCTGAAACCTATTTCGGAAAAGTCAAAAGTTGGTTTTTTTTGCAAAAA +AAAATCGATAAATCGATAAAAACCGACAATTTTGAGAATTTTCATTTCAA +ATTTGAGTCCCACATGCGCCTTTAAATATGGTGTACTGTAGTTTTAGCTC +GAATGTTGAATTTCAAAAATTGAGAATAAAGAAATGTCGTGACGAGACCC +ACAAATGTTTTGAAAAAAATTTTCAATTTCAAAAAAATGTAAAAAATTGG +GAATTTCCCTCCAAAAGTTAAATTGGTTTAGTCACAAACTTTGAAATTTT +GAAATAAAATTTTTTTCGGCTAAAAATAAGTATTTTTTAAAAACTATTTT +GAAGAAAAAAAGTTAGGTCTCGCCACGATGTATCTTGTATATGTGTATCT +AAATTGCCATGTCGTGACGAGACCCTCTCATATTTTACACTGCAACTTTT +TCCTCACGAGGGACGAGGAAAAGTGGTTTCTAGGCCATGGCCGAGGGGCC +GACAAGTTTCATCGGCCATTTATCTTGCTTTGTTTTCCGCCTGTTTTCTT +TCGTTTTTCACAGCTTTTTCCCATTTTTTCTTATTAAAACTGATAAATAA +ATATTTTTGCAGATGCCAAAACGATTTTCAAGTAAAAAAATCATGTATTC +AGTGGGCAAGCAGCGGTGAAAGTGGGCATTGTAATATGATGGATTACGGG +AATACAAAACCTAAACTTTTTCTGAAACATGATACATATGATGCTTAAAT +GCTGAGACTACCTGATTTTCATAACGAGACCGCTGAAAAAGTTTTGAGGT +TTTCAAAATTCAACTTTTTGTGCGAAAATCTCGACTTTTTCACCGAAAAA +GTTGAATTTTGGAAACCTCAAAACTTTTTCAGCGGTCTTGATATGAAAAT +CAGGTAGCTTCAGCATCTAAGCAGCATATGTATCATGTTAAAGAAAAAGT +TTAGGTTTTGTATTCCTGTAATCCATCATATTACATTGCCCACTTTCACC +GCTGCTTGCCCACTGAATACATAATTTTTTCACTTGGAAATTGTTTTAGC +ATCTGCAAAAAATATTTATTTATCAGTTTTATTAAGAAAAAACGAAAAAA +ATCAGTGAAAAACGAAAGAAGACAGGCGGAAAACAATACAAGATAAATGG +CCGCTGAAACTTATCGGCCCCTCGGCCATGGCCTAGAAATCACTTTTCCT +CGTCCCTCGTGAGGAAAAAGTTGCAGTGATTTTGCTCAAATAAAAAAATC +CCCCAAAAACCGATAATTTCACCATTTATCAGATATATCTCTTCCACACA +CCGGAGCTTAGTGGCTTAGTAAAACGAGTTCTTCCACAGCGAGCCGACGA +GATTATCGGTCTCCAGCACATGAAATTATACATTTTTGATGACAATGTAT +TGATTAGTGGGTTAGTTTTTTGTTTGCATGGGTCAGACTACAAACTACAA +AAAGCCTAATTTCAGAGCAAATTTGTCGGATTCTTATTTTACTAATCGAA +CGGATCGATATTTTCTATTCAGAAATTGCAAACCATTGGCAGATTTCTTC +CACGAAATTATCAATGTTGTTGGTGAGTTGGCGATTGCGCTCCACCGCAC +ACACTGTTCAATGGGGCTCGCTTGAACTGATAATTTTTTCTAAAAAATTA +CAAAAATTGTTTTAATTTGCCTTCAAAAAACCATCAGTTAATTAAAATTT +TCTAAGCAAAAAATTATATACTTTCTAAAAAAATTGAATTTCCCGCGAAA +ATAATTTTTTCTGAGAAAATTTGAATTTTTCACCAAAATATTTTTTTCAA +CATTTTTTACCACAAAATGAGGCGGGGCCTCGGTATACACGCTCAAAAAA +TCAAAAAATACTTGTAAATTTGACTACCAGCTATTTTTTTTTCGAAAAAA +AAATCGAAAAGTAGGCCAGTTTTCGAAAAATTCTCGACAAAAATTCCGAA +AAATGGGGCGGAGACCTGTGCGGTATTCGGCATTCGGCATATGCCGATGC +CGGTTTTTGGAGCCCGTCATATGCCGTTATGCCGATTTGAAAATTCACGG +CATATGCCGAAAATGCCGTTATGCCGAAAAATCCCGAATGCCGCACAAGT +CTGGGCGGGACTTCAAAAACCACGCCCACAACAGAGAACAAAAATTTGGA +GTGATGGTTTGCAATTCCCTCGCGCACTTTTTCTTGTTTTTTTTCAAAAA +GATGAAAAAGCGCTCTACTGTACACGTTTTTTTTCGAATATTTTCATTAA +AAATCCAATTTTCAGCCGACTCGAGCTTCATTGTCGAAAATGAGCAACTG +GTGCCGAGCCCAAAATGTGATGTGCACCCATATTTAGGTAATCTGAAAGG +ATGGGTAACCTGAAATTTTTCCAAAAAAATTTTTTTTAAGGCTCCGCTCA +TCTCTACCGAGAAATGCTCAAAACACGTGTGAATCGAGTTATCGAAAAAT +ACAAAGAATCGCGAAAAACGTCGTCGAATTGCATGTCTGCTGACACGTGG +ATTTACCCCGTTTTACAAATGGGGCTTTTGGGAATTCATCAGGAGTTTGA +ATTTTTGCAAAAACTTTTCTCACTGAAAAATCCGGAGCTCAAAATGACGA +TGGCTTCGGGATATTTCAATTTTATTCGAGATTATGAGGAATCGATTCTG +AAAGAAGGAGATTATCATTTGGATATTCTTACAGCTTCTCCTTTTGTAAG +ATTTTTTTTGAGGGAAAAATATCTGAAATAAGTTCAAAAATTTCAAAATT +GAATTTTTTCGAAATTTTTGTAGGAAATTTTGGTTAAAAAAAGTTTTCTC +GAGAAATTTGAATTTCCCGCCAAATTTTTTCTGTGAAAATTTGATTTTCC +CCTCAAACATGTTTTCTCATAAAATTTGAATTTCCCGTCAAAATGTTTCT +GAGGAAGTTTGATTTTCTCATCAAAATTTTTCAAAATTTCCAGGCGAACG +GATTCTTCGAATCAAATGGCTTCTCGAAATATATTCCACCACTATATTCC +AACATTTCTGATCAATTTCTTCGAAAACGAGAAATCAACGGCCGATTGAA +TGTAAAAATGTTCGAATATCGAAGAGAAGAATGGACATTTCATGCAAAAG +GTCTTTGGGCAGAACATAATAATCAATTAATGACATTAATTGGCTCATCA +AATTACGGTTATCGATCGGTTCATCGAGATCTTGAAGCTCAAGTGATGGT +TGTTACAAGAAATCCGACACTTATCGATCGATTGAAAGATGAGAAAAATC +TATTATTCGAATATTCATCGATACTTGACATGGCTGCACTTCAACAACCG +GAACATCATATTCCACCATTAGTTCGAGTTATTTCACGTCTTATTCGGAG +TTTTTTGTAGACGTTTTCCAATTTTTTATAGCGGAATAATAAGGTTTTTG +ACTTTAATAAATCTTTGTAGATTTCAGTTTTTTTGAAATGCAACATTTTG +CCGAATTAGGCCATTTGACAATTTTTGGTCGTGTCACGGCGCGGTTTGCA +GTAGAAAACTAAATGTATTTTGATTTGTTTTTTCGAAATATCCGAAAAAC +AACAAAAAAATCTGTTTTTTGTTGAAAAAAATGTTGCGAATTTCAGAAAA +CGGCACTTTTCCGATTTCTGCCCCCTAGGGCTGTTATGAGGGACGTCCCC +TATTGGGGGGCGGGGACGATCATTTGTCCCCCCATGGGGGACGGGGGCTC +GTCCCCGTCCCCACGTCGGGGGACGGGGAGCGCCCCTTGTCCCCGATGGA +ACGAAAAGTCGTCCCCTTTTAATTTTTGATTTATTTTAGATTTTCACTTC +ATTTATTACCGGTACAGAGAGTGTAGATAGTTAGAGAGTGCCAGACATCC +GGGACCCAATGGAGCGGGGCGCGCGGAAGAGACGATTAGTGTCGATTTAC +GAAATTTTCCTCGTTGTCATCATTTCGTAAATCGACACAAATCGTCTCTT +CCGCTTGGGTCCCGGATGTCTGGCACTCTAACTATCTACACTCTCTGTAC +CGATAATAAAATATTTTTACGTGAATCTCGTTTCCACTAAGATGTGCGGG +TGGATACCGTGGATATTCCACACAAAAAACGTGTCGCTTTAATAATTATG +AAGCAAAATACAAACGCACATTCTTCACATTGGGTAAAGGGGGCGCGCTC +CCCCTTTACCCGGGCGCCCCTTTTCGGGGGGGGGGGGGGGGCGTATTACG +GGAGGTTTTTTGAAAAATAATTTTTGAAATTTGTCAACTGTCGACAGCTG +TCGTTCAATTAATGTTTTTTTTTCAAATCTCCATACAAAAATGTTCATAG +TAAATTCTTTATCAATATTGGGGTCCCTCACAAAGTTCAAGTTTTCTTCT +CACTCTTCACGGCCGCCTTCGATTTTTTCTTAAGACCTTCATTTGCATCA +AAATACATTCGACAAATTTGAGTCACATAAGCATCATCATGTGCGTTTGC +CTGCAAATGTTAACAAAGTACCAGGCGGATGCCAAGCTTTCACGTCTTCA +TGTCTACGTAGAAAATGCAGTCATGAAGTAGGCACGCAGACAGACAGGCA +AGTACATAATCAGGCAATAAATGGGCAAGTAGGCAAAGCAGGCATGAAAT +AGGCGCTTAGGCACGTGGGTAGGCAGGTATGAGACATAGGCAAACATGCA +GGCAGGTATGAAAAGCGAGAAAAGGCAGGTGAGCATGATGAAGGCACATA +GGCAGGTAGGCAAGGAAGCTCCTAGACAGGTACAAAATAGATGTGCGCAA +AGTAGGCATGTGCAAAGAAACTAAGCTCGTCGCCAGGCATGAGGTAAGCG +CATAGGCTTGCAAGTAGGCGAGTAAACACGCGGGCATCGAATAGGCAATT +AGGCAGGTATTTTTGTGCTCCATTTGGAAACACACTTACTGGATAGAAAA +GAGTGAGAGTCGTGTAAAATGCAAATGCCAAATAAATTGGATCCGGTGCA +GCACATTTTCTCTTTGATCTCGTTTGTTCAATCAGACTCCGATAATTGAT +TTCTCCAGTTTCACTTGTATTGATCGCTTGGAAGAGGCTCTCGATGACTG +AAAAATGCTCAGAAATTTCGGATATGTTCTCGATTTTCAGTGAATTTTTC +CTGAGAAAAAGCTAAAAACTCACGAACAAACGCTGCCGATCGTCCACCAC +CAGTATTGCATACGACAAAAACCGGTCTCTCGCTGTCTGTCACTAGTTTC +AACAAATACCTAATCTCCTCGGCATCTTTCGGTCCCATATGCTCCGGCCA +TCCGGTATACTGGTAATGAGTCACCTCTTGAGTACGCTTCTTTCTGGAAA +AAAGTTTGTTGCAGGCTACCTTTTATGCCTGCATGGAAAAAAATAGTAGG +CGGACAGGCGTGAGGAAGGTTAGAATATTGATGAGAAAAATTGAAAACAA +TCATTTCAAAAAGCAAAGAATTGACCGGTTATTATTAAAAAATAAAAATT +TTTATCCGGACAATCCGATGCAGATGTGAGTGCCTGCCTACCGGCGTGCC +ACCGCGCCTATTTCATGCCTGCGTGCCTATACTTACCCAAATGTTAGCAA +CAATTGTCTAGTCTTCAACAAAGGCTTCGAGATACTCTTCGTGCAAGTGA +TTGTTAAGTCCGCCAAAATTAGTTTTTCGTCGAGTTCAGTGGGAAAGTAC +CTATCACAGTTCACCTTATTAGCTCCAATAAAGTGATCTGAAAAATAAAT +GGATTAAAAACGGAGGGTGGCTTGATAGACAGGCAGGCAGGACTACTGCC +CTGTGTAGGCCGTCTTGTAGACAAGCAGACAGGAGTGGGTCACCATGTAG +GCAGACGGGAGGGTGTAGGTTGTCTAGTGGGCAGGCAGGCGTAGGCTGCT +GCCAAGCAGATATAGGCTCACCTATTTCCGCGAAATCGCACAACATCACA +ATTGTGCTTGGTTTATTCAGCTTCACTGACTCCCAAAATGCGGCAATCGC +CAAAATATCGGAGCTTTTCTTATCAACAGGCAACTGCGGAGCAGGCATCA +ACACAAACTTCAAGCCGTTATCCAATTCAACAACATGTGATGATTCTCCC +TGGCTGAAAATGAAGATTTTTTGGTAGGTACCCATAATTTTGCCTACCTG +TCTACCTATGTGCGCTTGAGTTAAAGGTTAAACCTAAGCCTATGCCTAAA +CCTGAGCCTAAGCTGAAGCCTAAGCTTAAGGTTAAGTGTAAGCGTAAGCG +TAAACCTAAGCAATATGTAGAGGCGAAAGGTAGGCAGGCAGGCGTAACAG +TCTTACCCATTCTTTTTCGAAGACTCATATGACACCGGATCACATTGACA +GTGATTACCTCCCTGTAAGCCGCAAAACTGGGCAAAATCGTCTCCCGTAA +TTTCTAGGTTATTTGGAACATTCTCAAATACTGAAGTACAATTTCTTTTT +CTAGTAACGAAATCCGAAATTTGCGTGTTGAATGTCTTGAGGAAGTTTGA +AAAACGTGTCTCATTCACATCCACACGACTGATCATCTGATTTGGCGGGT +ACAGTTTCTCTTTTTCTTCCGAGTCGAGTATTTTGTAGCCGTTCGGGGTT +AAGCAAAAGTAAGCAATTATTGCACAAATTATGACAATGACGATCAGAGC +CAAAATTACATATTGTCCGTGTGTTCTGGGATTTTGGAAATTTTTAGTGA +AGCTTCTAGGCTTTAGCTTATGCTTAGGCATAGGCTTAGGCTTCGGCTTA +GGATTAGGCCTAAACACAGGAGCATATAGGTTGGCAGGCAGGCAAAATTA +GAGGTACCCGCCAAATATCTAGAAGCTTCACTAAAAAAAAAACGTTTTGA +ATTTAGCATGAAAACAATTTTGAAAAAGTAAAATGTTTTCTTATCTCAAT +TTTTTCCTTGATTTTATATTGTAATTAAAAATAATAATTTGAATTTTCAG +CTCGATTTAGATAGAGTTGTGCTAGATTTCAAGAAGAAATTGAGAATTTT +CGTAAAAAATATTTTTAACGCGAAAAAATTTTTAAAGCTTTAATCCAAAT +TGTTCAAAAAAGTTTGGAGTAAAAAATTTGGAATTTTTTTGATTTTCACC +CGAAAACCTTTCTTTAGAATGTCTGCCTCTTGCCTCCATCCGCGCCTTAT +GCTCAATCCGCGCCTTATGATTTTTCTCCGGGAACTTGAGACGATTTGGT +TGTTGGGAGAAGAAGTGCGGAATGTGGAGCGTTTGTTGAGAAAAGATAAA +ATTTGGAATTTTTTTGATTTTCACCCGAAAACCTTTCTTTAGAATGTCTG +CCTCTTGCCTCAATCCGCCTTATGATTTTTCTCCGGGAACTTGAGACGAT +TTGGTTGTTGGGAGAAGAAGTGCGGAATGTGGAGCGTTTGTTGAGAAAAG +ATAGATTTTCTACTATTTCTCAATTATTCAATACTATCGAACGACTTGAT +GTCCAGTCTTTGAATGTTCTTGTCGAGGAGGCGAAGGTTATTGGTAAGTG +TATGCGTGGCTTTCCGATGAATTACCAACGGCACGGAAAGCCTGAGTGTA +CCCTTTCGATTTCATCTTCGGAAAGTGTGCTAAGCGTAGGCGCGTTAAGC +TAATTTTTCCTGGTAAATCCGCAATTCTTGAAGATCGAACCAATAGGGAA +CACTGTGGCACCACGTGCAACTTCAGGGGTAGGCGGCAAACACAACGGAA +ATTTATCGATTTGCCCAATTTGCCAGAAATTTCGGTTTCCGAAATTTTGT +CGATGCATTAAGGGTTTGATAATAAAATCGAGTTTGGGAATTAGCGTTTT +TCAAAAATTGTCGAATACCTTCAGAATTTTGGTTTCCGAAAGTTTGTCTA +AAAATGCAGGGGTAGGCGGCAACTGCCGTTTGGCATATTTATTTTTGGCG +AATTCACCAAATTCCCGTGAAACATGCGTGAACTTTCTTCTCGTTTCTTA +ATTAGTTTTTCATCAAATTGATAAAAATGAGAAAATTATAAATTTGTAAA +TTCACTTCAAAATGCAGGCGGGCAGGTTTCAGTCAAGCCCTGAAACCGCG +CCTGTCTACCATGGAAGCCCTACTTTCAAATAAGATCAACTCACTGTGGT +GGTGGACCATTCTTTTCAGAATTTCCAAGATCTGGCGGTGGGAGAATTGC +AGTCGGCAGAGGCTTGAATAAATTTGAAAAAAACAAGTCAAGAGCAGCAA +GAGCCTTTTTCGGTTCATCAAGTCTGTTTTGAAAACTTGAAAACTCCAGT +CCACCATCATCCAAGCTCTTCAGAGCATCCTGAACTTCACCGAGCGACTT +CTTATTGCCAACATCCTTCACAAGTTCTACCAGTTTTTCCAACGATTTTT +CCAAGCCCATAAGACCACCAAGATTAGCCCAATCAACCTTCTTAGCTTCC +GTGAAAACATAACCATAGTCTACAAATTTTGTGGAATCAGACTTTTTAAT +TCCACTCTTCCATGCATCTAGCTGAACAAACATCACATCCAAAGATGCTC +CAAGCGCCACCAGCTTCTCCAGATTATCCTTATCGTCCTGTGCCAAAGTG +GCTCCACTCGCTGCCAACTCTCGTTGCACAATTTGTGCATGGTTCTTGAT +AATATCCACATTTGCTCTTTCTCGGAGCACGTCCTCCAGTCGAGCAATTT +CTTGTGCCGCTGGGCCAATGGAATTAGTGTGTTCAGCGGCGTTTGGAAAC +TGGGATGTTTTATCCGAAGCAAATTTGCGGCGCTTGCTAAAGTACAGCGC +CAGAGATTTCAGACCACTATTGAGGCTTGAAACTGAGATCAGAGCATCTT +CGACGGCAGTGACTATCGGCGGGAATTTTTGATCTGCTCGGAACGAATTC +AAATCTGACAGGTTCTTTTGAATTTTGTCCAATTCTTTGTTGGATTGAAG +ACAGCTCAGTACGTCGAGAAATTGAGCAATATCAGATCGAGAGTCATTGA +TTTTTTCAATAGCACGTTTTTCTAGTGTTTTCAAAAGATTCGGATTCAAG +AAAGTAGCGTTTGCCGTCATTCTACTCATGGTCAGCGACAAGCCGGTCAT +TTTTTTCACTCCATTAAAGCATGGCTCAGCGGTTGTCCAATTGCTATTGT +TCATATCCTTGCAAACAGTGAGCACTTCTGCGTGTCCTGATTTGCTTTCA +ACAAGTTGATTCATCACACTTTTCAATATCGATTTCGATTGTTCCAATTC +GGTGTCAATGTTCGATGCAATTTTAGATAGTTCCTCCAGATTCGTGAAGT +CGGGGGCGGTAGTTAGAGTAGATTTGGCGCATTGGGCTGAAAGTTTATTT +TTATTTTCGTTTTTTTGAGTTTGAACTTTTGTGGACAACCGACAGATTGG +CTCAAACTAAAAGGACTCTAAAATATACAAATTTTGGAACTCAAATCAAT +TTCGCAAATATTACTTTTTTCTACGGAGCTTTGATCAGGGTGGGGTGGCA +AACGATTTTTTTCCAGCAAACGGTAAATCGGCAAACCGGCATTTTGCCGA +TTTTCCAAAATGGCCGAAAATTTTTGAATCCCTCCCTCTAAACACTTCCG +GCAAATTGTTATCCAGCAAACTACAATTCGGCAAATTGCCTGAATTAAAA +ATTTCCGCCCAATCGGCAAATTGCAGTAACTGCAAATTTCCGATAAATTT +GGAGAAACCGGCAAATCGCCGAAAATTTTTGGTAACTGGAAAAAATTTCA +AAAGGCACTGTACCCGTGCTTCCGTTTTTTAAAAAATGCTTCTAAACAGT +TCCGGCATATTGATATCCGGCAAACGGCAAATCAGCAGTTTGGCTAAAAT +AAAAATATCCGGCGAATCAGCAAATTGCTGGAATTAAAAAGTTCCTCCAA +ATCGGCAAAACCGGGAATTTGGTGAATTCGCCAAAAATAAATATGCCAAA +CGGCAGTTGCCGCCTACCCCTGCATTTTTAGACAAACTTTCGGAAACCAA +AATTCTGAAGGTATTCGACAATTTTTGAAAAACGCTAATTCCCAAACTCG +ATTTTATTATCAAACACTTAATGCATCGACAAAATTTCGGAAACCGAAAT +TTCTGGCAAATTGGGCAAATCGATAAATTTCCGTTGTGTTTGCCGCCTAC +CCCTGAAGTTGCACGTGGTGCCACAGTGTTCCCTATTGGTTCGATCTTCA +AGAATTGCGGATTTACCAGGAAAAATTAGCTTAACGCGCCTACGCTTAGC +ACACTTTCCGAAGATGAAATCGAAAGGGTACACTCAGGCTTTCCGTGCCG +TTGGTAATTCATCGGAAAGCCACGCATACACTTACCAATAACCTTCGCCT +CATCGACAAGAACATTCAAAGACTGGATATCAAGTCGTTCGATAGTATTG +AATAATTGAGAAATAGTAGAAAATCTATCTTTTCTCAACAAACGCTCCAC +ATTCCGCACTTCTTCTCCCAACAACCAAATCGTCTCAAGTTCCCGGAGAA +AAATCATGTGATCAGTAGTTTCTCGGGCCCAAGCGTCGGTTGCCAATTGA +GAGTTTAGTGCTCCAATATCAATTGCTCCATTCGGTAGACCAACTGTGTA +CTTCTTGGTTCGCAGGGACTGCCCGATGGATTCGATGGTTTGAAGATGGA +TCTTCGATTCTTGATTTGGAAATGCATTCCGGATAGATGCCATGTGTTCT +TCTAGCTTTCTTAGTCCCCGATTGATGTCTACAATCTTGAAGGATGAAAT +AAAGTTCATCACATCACGAACTTTTGGCCATAATACAAAGAAAGAAGCAG +CAGAATTATTGTTTTTGAAGCCATGCAACGTAATCTTCGGATTCTCCACT +ATGTTCAAAAAATCTTGGGATTTTTTCAACAAATCGTTTAACGCAGAATG +GGATTTGGGAATATCGGTGAAACTAGTGAACGCTTCAATCTCTGTGTACG +AGTTGCTCCATACTGATAGCTTTTCGGAAAGGGTTGTAACTGATGAAAAA +CTGTCTGTAATGTCTTTCATGTCTGCCTTGAAATTAGTCTCGTCTGGCCA +CTTCTTGAGATCTCCAATATCATGAGCCACGTGGACAACACTTTTGACAG +TTGTGAAGAATTGATCTGCCTCAACATCGTCGCCGATATTCGATTGTAGT +TCTATAAAGGTATAGTTTTTGGGGGCAAAAAACGAAAGTGGTTCAAAATT +TTGGAACAAAATGCCTATTTTTAGATAGCTAAAATCTAAAATTTTGCAAT +GCTGACAAGTTGTGAAAATTTGAAATTTTAACAGAAAATAGGCTTTTTCC +TAAACTTTGAATCACCTTACTTTTTTTTTGAAATTTTCGAAACTTTTCGG +TTATTTCCAAAAAAAAGCCGCAAATACTCTATCAGGGGTAGGCGGGAATT +GCAGTTCGGCAAATGTATTTTCTGCAAATTCGGCAAATCGGGATGTGTAC +AATTTTGTCGTCTCTGGCAGTTTACCGACTTGCCCATTTACCGAAAATTT +TAATTCCGGCAAATTGTCCATACTCTATTACTACCATAGGCCCTTATATA +ATCTTTTTCCGCCCACCCCTGTACTCTATTACCACCTAATCTGTTACTAC +AGTGGATTTTTTGAAACCAAAATTTCAGCTTTTGAATTTTATATTCGTAG +TGAAAAGATATTCGTAGTGAAAAGTTGAAACCTGGAAAACATAGTTGCAT +AATTGCATCGTAATATGTAAAAATAGGTCTTCCATGGTAGATAGGCGCGG +TTTCAGGGCCTGCCTGGAACCTGCCTGCCCTATGTGAACGAGTAGACTGT +AGTTTTAAAAAACAAAAAAAGGTATTTGCCTAACAAAAAACATACTCAAA +TATTTGAATGTTTGCAACCAAACCTTTAAGCGCTATCAGTTTAGATTCCA +GCGAACTGTAGTCAATTGCATTCAGTTGATCCATTGAGAAATCGTATTTG +AACAAATCCAAAGTTAAATTCATTGATGGAATGGTTCCTTTTGTCAATTC +TTGTTGTAGGTACATTGCATTGATCAATCGTGAGGCGAATTGTAATCGCT +CAACGGCAGTTATCAAGTTGTCATCTGCAACTTTTATGAATGATTTTTTT +AAAAAGTTATTTGTTGTCATTTTTCTTTTATTAATTATTACGTATATTAT +ACGTATCATGCGAGTTTAGCTTTCCAACCCCCCGCGAACTCTTTTTACTT +TTTTTTTTTTTAACTTTTGTCTTTTTTGTCCTTTCTTGGCTATTTTTTTT +ATGAGAATTGACCCGAATTTGACTTTTTTCGGATTTTTAGGAATTTCTAG +GAATTTTTCTTTTTTGTCAAAGCGAGCTAACGCTCGCCACTGACGCCAAG +CCTAACATAAGACTTAACCTAAGTCTTAGCCTAAGCCTTACAAGGAAAGT +CTTTGAAGGGGCCTGTAGATTTGGGTTTCTCATGTTGATATTCCGATAGA +AGAGTGTTAGTTTTGATCTCTCCAAAAAATTTAGCTGCCCAAGCCAAGTT +TCAGCAAAGTAATGACATTTTGAAATTTCAGTTAAAAACACCATTGAAAT +ACACTGTCTTACAGTGCTATCCACACAAATATCAGCTTGCGTGAACACCG +AAAATGTGACGCCCACCACAATAGGCTGAAGACAGTGGATTTCAATGGTG +TTTTTAACTGAAATTTCAAAATGTCATAACTTTGCTGAAACTTGACTTGG +GCAGCTAAATTGTTTGGAGAGATCAAAACTAACACTCTTCTATCGGAATA +TCAACATGAGAACCCCAAATCTACGGGCCGCTTTAAAGACTTCCCTTGTT +AGCCTAAGCCTATGCAAGACACGCAAAATATACATTAACATATATATACA +ACAAATACAACGTAAAAATTGTTTTTCTGTAATTCGACTGACAAACCTTT +AGCTTCACGTTTGGAACGTGGATCTAATGACATCACATTAAAGAAACTGG +ATTCTTCTGGAACAAAATATATTGAAATTAAAGCTCTGAAACAGTCAAGA +AACCTTCGAAAGTATCCGAATTGACAACACGATTAACCGTTATAATTATC +AAAACGATTATTATTTTGATTCCTGGAAGACAGAAGAAATTCGGAACGAA +AATAAAAATCAACCTACTCATTGCAAAGTATTATGAAACTTCCCTTTGAT +CGACGGTTTTTGAATCAATTAATGATTGGAAGTGTGAATTCTGAGAGAAG +GAGTGTTGGAATTTTTATTTATTTTATAACGAAAAGGTCACGGTTTCTGT +AATTTTAATTTCTATGAAAGTTTTAGGGACTCACAGAATGTCAAACACTA +GATGGCCGAAGAAAATTTGACATAAGCAGCGAAATTTGACCTTTCAAAAA +AAAATTAATATTACGTGAAATCTTTTTTTTTCCAATGGAATTGAATTTTT +GGCTGATACATGAGGGAATGTGTTTCAAGCTGTAATTTCAGTAAAACTGT +ACAAGAAAAAACGTTCAATATTTTTACCTTTGCTTATAACTCCTCTACAA +AATTTTTTCGGACAAAAAAATAAAACAAGCATGGAGATTACAGGTGAATT +TCGAATCCTCATCTTCATTTTTCAGACTGAAAATCCAAGAAAAGTAGCCC +GAACTTTTTTCTGAAAAAGTTCCTATATACTCATCAAACATTCATAAACA +GTATTTAAACAAAAAATCCCGAGATAACACTTTTGTCTTCAAGATATTCA +GGTTGAAAACTAATGTCCTGAAACTTGGATTTTGGGTCCTTAAGAAGATA +AAACAGATAATTAGCTTTTACGTTAATACCCGCAATCATTTGCAAATTAG +AGCAAAATTAAATTGAAACTTTTTTTTGGATTTAAACATTTTTTGGAGCC +GAAATACAAGTTTCAGGACACTAGTTTTCAACCTGAATATCTTGAAGACA +AAAGTGTTATCTTGGGATTTTTTGTTTAAATACTGTTTATGAATGTTTGA +TGAGTATTTAGGAACTTTTTCAGAAAAAAGTTCGGGCTACTTTTCTCGGA +ATTTCAGTCTGAAAATGTATGATTTTTTAATTCAAAATTTGAGGGAATGT +CGTTCATTGTGGCTCGAGGTCAATGGATAAATGGCTAAGACTAAAACATC +ATTGATCGAAGAATGATTTTTTATTCATAAAAACTATATATTTGACCTGA +AATCATTGTTTTTTGTCACTATAACCCATTGGAATGAGCTGTAGAAATTA +ATTAAATTTAGAAATGATTTTACCGATACGTGGCAATGTTTAATACATTA +GTTTTCTGGCCGAAGATTTGTATGTTTTCCCGAGAAAGTGAAGCGACAGC +TTAAAAGCGCATCGCCTTTAGTGAGAGGCAGGTCTCGACGCGACGACATC +TTTCCTCGCGCGCAGCGGCGAGATTTCGTCATTCTACGTGTTGGTAAAGA +AAAAGGACGTGATTTTATCGATTTGCATCGATTTTTTTTGGATTTTTCTT +TGTTTTTATTGTATTTTTATCGAATTTTTAGTAGTTTTAAGGTTTTTTAT +CGATTTTCCTTGATTCCGTTGCGTTTTTAAGCGTTTTTCTCGTTCGTAAT +GATAAAAAGGGGGTTATTTCTCCGTTTTCCAAGAGTTATCTGCGCGTATG +CCAGATTTTGCAGGAGGAATCATCAAAATTCTCAGTTTTTGGCATGTAAT +CCTTACGAAGAGTACTTTCTGAGGCTCAATGGCTTTTTCCCCCGCTGTTA +GGTGCTTCAGTAAGTGTTCTACTCCTTTCAGGGGTTCCTTCTCTCGTCTA +GGAGATTAAATATGTTCGCATTTGTTTCTTCCCTCTCTCTTACGCGCTCT +TTCCAGCATTGTTAGTTTATCCACGCTCTTTTCCTCTGTAATTTTTCGTT +TATCACTTTCTCTAATTTTTCGGTTTCCGGTTCGTGCACTCGCGCACCCT +CTCCCTATTTTACTCTATCTCTCACTATCTCTCACATCTATCTCTATCTC +TCACAAGCTATTTTGGTATTTTGCGCGTTAAGAAGTCATGTTTTGATGGA +CCGTGTCCAAAGGAAGAATATTTTCGTCGAGTGAAAGGTATGTAACTTCG +TGTGAAGTCGACTCCATGAGTCTTGTGAATATTCCGATAACGTTTTATCG +AGATGTATTATCGGGCGGCCCGAATTTTATGTATGTTTTTCATTGTGGTT +ACCATGTAACGGGAGTTCACATCGCAGAAAGAGCAATTCTTTATCGCGAA +AGTACGATTTCAGGCCCCGGAAGGCTTTCTTATCAGTTTAATGCGACATC +TTTCGTCGGGTGAGATATATTGTCTTGCGTTTCTATCGCATTTCATTGGA +CCGGTCGAGCCAGGTCTGAGTGTTTATGAGTACGAGTCGACTCCGTGAGT +CTCAATGATTTTCCGTTTTCAGGCGGTTTTCAAGGTTTCCCGTTCTTGGT +TTCTGCTTCATCTTCTACTACCGTTTTAAGTAGGATTGGCTCAAGTCTAC +GGAAGAGTAGAGCAAGCCTACGAAGAAGGTCTTCGAAAGAGTAGCGCAAG +TTTACGGAGGATTCACGCAGGTCTACGGAAGAGTGGAGCAGGTATACGTT +AGAGTGGCACTAGACCATACTGGGAGTCCGATTTCCAATTGGATTCTCGA +AAAACCTTGTACCTGCACAAATAACCAGACGAGCCGATATATCTACCTTA +CCGAGCTCCGGGTTAATCGTCGTCAAGTATTTCAGGATGAAGCGTATAAG +GCGATGATTTTCTTTAGCTATGCCGCGCGTTTTGCAATTGCATAGCTGTG +TATTCCGTGTAGACTTTATCGCTCACTTGTTCGATTTTCAGGACATCCGG +TTCGACCTTTTTTCTTTCTCCCGCTATCGACGACGCAGATCACGTATGAG +TTGCTTTTATATACGGCGATCGATTGGTCCGGTATACGTAAAATTAGCTC +TATATTTTATCGCTTTCGTTGCTCACGCGATTCCCAGGTATTTTAATGTC +GAATCATATTCCGTCACCTACCACTACGTAGGAGATATGCAGGGCTATGT +GAGAATAACTCAGGTTTCGTAAGAGTTTCTCAAGACTAGGGAGGATATTC +GCAGGTTGTTGAGTAATTTGTTTTTCCAATTAGCTATTCTCCTTGTCAGG +ACTTATTCAGGTGTGAGTCGAAGTAGCCCGAGACGTTTGGCCCTAGTATG +GATACTTCACGACAGTTTCAGACAGATTGTGGTCCGCCTTTAATGGGAAT +TATTTCTACTGCACAGGTTCATAGCTGACTTAGCCGAATGAGCCCCTTCG +ACGTCGCAATTTGGCGGTTAGCACACTTCCAGGAAGACATAGACGAATCA +CAGTTTCAGAATTCCTATACACTTCAGTAACTACGGAGTAAGGCGATCAG +TTCCTTGCCGCATTTATATGTTCATCTTAACTTTATTTTATATTAGCTCA +CGGCTTTCATTGGAAACTACAGATAACTGAGCCAAATGCTTCGCCTTTTT +GTCACTTTTTCCCAGTTCACTCAAGCCCAGAGTAGATGTAGTTTGAGGTT +ATCTACTTCTCGTTTCCATGTGCGGATACTAGCAGAGTTTCTCCTGTTAT +AACTGAGAGTCATTTCACACACAATACGGTTTATCTGTCGGCAGTTTCTT +CTCACAAGGTTTTCGCTATAGATGAATATCTGGTATAGGGGTGAAGAATC +TGTAATTATTAAACGCCTCAAGCTTATAGCCGTGACTGACAGTTATAGCC +CCCGGCTTTGCTGGTTCTACCCTATACCACACAAAACCCAAACCAATAAA +CCCATAATACTATATAATTCGTGTTGTCTTATTAGAGCGTAACTTGATCA +GGGAAAACGAATTCTCGGGGAGCGAAGCGATCCGAGAATTGTATGTTTTC +CCGAGAAAGTGAAGCGACAGCTTAAAGGCGCATCGCCTTTAGTGAGAGGC +AGGTCTCGACGCGACGACATCTTTCCTCGCGCGCAGCGGCGAGATTTCGT +CATTCTACGTGTTGGTTTCCCCCCTCCCGCCCCACACACATATTATTCCA +AAGTGCGAGACACATATGCTATGATTTCCCTTCCGGAGAAAAATCGAATT +ATTATGAAAATATTAAGTTTAAACCGTAAGTCGTTTATTTTCAGGAGGTG +AGTTTTATTTTTCCTTCATTGTCGCCTGAGTGGGCAGTCGGTGTCTATCT +GCAACATTCGCAGCTCGACCCTTGTGCTTGTTTTGGCGGTAGCAGGAAAC +TTATGGGTTTTTTCACAGTTTCGGGAGAGATATTTACAGGCTCTGGTTCA +GGGAACCAGATTCAGAGTTTAATAATGATATATCTTTACAGGAAAATTGT +GGTTAGAGTTTCATGGCAGCTTCAGATCCCCTGATGATCAACAGTTCAAT +CCACGGAAACACGGACGAAATGAGTGGTCCACCGAGCAACAATGTGGAAC +GAGACGATTCCAGGTTTTCCATGCCCCCTAACATCGATGATGGTCTTATG +GTAAAGTTCTTCCAATCAAGCGGTGTTCGTGTTTTGGATAAACTTCTTCG +ATAAGTAATACTTGACTAAAAAATATCGAGAATTAAAGTCACAATTAAAA +TTTACAAAATATTTTGTTCCAGATTATGAATTTTCGAAGATTAGACTATT +CACGGCCACGTAGCGTTTGACATGTTGTGGGACTGAATTTCTACAAAAAC +GTGAACTCACGTAGACTGTCTCTTGAATAATTTGAATGAAACAGATGTGA +GCTCCGGAATAGGCTTAGGCTTAGGCTTAGGCGGGGCTGGGAGGAGAAAA +AAATTGCGGAATTTGCCGTTTGAAGAGCTCGGCGAGTTTGCCGAGTTTGG +CAAATTTTAAATTTTGCCGTACACACTACAAATTGGACAAAAAATCGAAA +TATCAAAAATAACAAATTGTTCTGAGTTTGATCAGTTCGGTAAGAAAATT +TTGAAAAAAGTGATTTGCAGAATTTGCCAAGCTCGCCTTTGTCTTTGGTC +AATTTAGCACCATATGAGTGATTATTATCAATTTTCCCACTGTCGCTACT +TCACATTTAAAAAGTAGTCATCAATTGCCGAAACAACTTCCTTCCAGCTT +AAACTTTTTTCTTAGCCTCATCGGGACCCTTTCCTAATCCCTTCTTAACC +TCATTCTTCCCATCTTCCAAAATTTCCATCCTTCTTCTTCTTCTTCTTCC +CACTACGACCATCTTTGTCGTATAGCACCTTTCTCGCGAGAGTGTGTGGA +AACAATTTGCGAAAAACGGCTCCCGATCCCCCCATTCGTTTTGGCGAAAT +CAATAGACACAAAAATGTTCAAACAAATCTCCCCTTCTCGTTTATCCCCC +TGTTGCACAATATCCTTTTCTCACAAAAAAACCTTTGCTCTTCAATTTTC +GGAATCATCTTTTTGCGCTTTGTCGTGTTACTGTGAAAGGCGGAGTACTG +AAATATGGAAAATATTTTTAAATGACTCCCTGATTCCGAATATCTATGTG +AGAAAGTTCAAAAAATTTTCCCTCATTTTATATTTCAGCTTGAAATCGTG +ACTTTCATTGTGCACTAATGAGATTTCGATTTCGAAGTTTTTTTGAAATG +TGTTTTCAAGGTCAATTTTCAAGGTCAATTTATTATTTTACTATCGAAAA +ACTAAAAAAATTTCAATGAGTAAAGTAAGTAAGTAAGCATTTCGTAAATA +TACAAAAATCTCGTAAATCGACACATAGCGTCTCTGGCGCGAAAATTCGA +AATCTCATGGGTGCACAAATGAAATGCGAGATTTCAAACTCAAATGTAAA +ATAAGGGAAATTTTTTTGAATTTTGTCACATAGATATTCGGAATCAGGGG +CAAATTTGAAGTCAATTAAAAATATTTTTCAGATTTCGTGGTACTCTAGT +CTAAAACTAAAACTAAAACTAAACTAAAGTTAAATTAATATTAAATTACC +ATGAATCTAATTTTTGTTTTTTAAAGTTTCCTGCAAAAATTCCAAGATCT +CAGTTTGCCGAAGTCTAAATAACGACAACTCTGAACTTTTGTCCCGAAAG +AAATCGAACACCGGTGTATACTAATAAGATCCCTCGAAGCTCGGTATACA +AAAGGATCATGAAAAAGGGGTGTCTCACCTTGCGCATAATACCTTCTGTC +TTTCCCCCTTCACCAGAAAGATTTCCTTCTTATATTTGTTCGTTTCGTTC +CTGCACACTCTCCATCTCTTCTAACCCCCTCCTCATTCAGAATACTCTCT +CATCTCACAACGCTTCTGTCTACCTGCCTGCGTCTCCTCGGTACCATATA +CTATCTTGTAGCTGCCACTTACCAACAGACTTGCCTCTTGGAGGTCTCTC +TCTCTTTTCCACCAAATCACCTTGTTCTTCCGACTTGTTCTCTCTTATCG +AACTGACTTTTCGTGTCTGCGGGCCTTTCACATTATTTTCCAATTTTATT +CGAATTTTATGTGCCCACTGCTTGCTAGGTTTATTGAGTGCCGCATTAAT +TTTATTGATTAAAAAAAAAGCCACTTGTAACAATTTTTATGAAATTTGTT +TGCATATTTATTTAACAGTAGCGAAATTGTTTTAAAATTCGTACTGTGTG +AGAAATTTGCACTTTCGAAGTGTTTAAAACATTCTATTACGGGATCACAA +GATTATGAGAATGCTTATTGCGCAACATTTTTGACGCGCAAAATATCTAG +TAGCGAAAACTACAGTAATTCTTCAAATGACTACTGTAGCGCTTGTGTCG +ATACTGGCTCGATTTTTTAAATGATTTTTTTTCGAATAGTGACGTCGATA +TTCCATTTTGCTTTCTTTTTCGTATTATAATTTTATTCATTTCGAGAATC +GAGCCCATAAATCGACACAAACACTACAGTAGTCATTTAAAGAATTACTG +TTATTTTCGCTACGAGATATTTAGCGCGTCAAGATTTTTCCTTACGGAAA +TACAAACTTCTTGGCGAAAATTTCACGAAAATTCAAATTTCCCGCTTAGA +ATTTCCCGAATTTTTCGAATTTCCTGCCAAATAAAAACTAGTTTAAATAT +TTAAAAAAAAGCTTAGAATTCTTAGAATGCGTATTGCGCAGCATATTTGA +CGCCCAAAGTATCTCATAGCGAAAACACAGTAATTCTTGAAATGACTACT +GTAGCGCTTTTGTCGATTTACGGGCTCGATTTTTGAAATAAATTTTTTAA +AATCTTTTCGAATCAAGCCCGTGAATCGACACAAGCTCTACAGTAGTTAT +TCAAAAAGTAGTTTTGGCTTCGATCGAGATATTTTGTGTGTCAAATATAT +TCCCGTAAAACAAAATACCGTCTAAAGATATAAAATTTAACGCCTATTAC +ACCCCAAAACCCGCCGGAAAATCCAGAAAAATTATATAAATTCGCAGTCA +CTTCTCAAAAATAACCTGAATAGTTGACCGCGTAATTCGACCCGTTTCCC +TACGACTGACCACACCCCGATTCTCTCGAATTACCCGCGACAAGCTTAAG +CATCTTTCTTCATTCCCACACTTTTCGTAAACTTCTGAGAGACAAAACAA +TAATATTTCTTTCTCAAATCAATAATGCCTATATTCTCCGCATCCCGTAG +CCGATCCCATCACCGTAATTCTAGAAATCCCACGAAATTTTCCAATTTCT +CTATTGAAAAGGTCTCTCTTTTATATTACCCAGGCGCAAAATTTCGTGCA +AAAATACAATCGACGGTCTCGACGCGATAATTTTTGCTAAATTCCAAAAA +TGTGTGCGCCTTTAAAGATTATTGTAAATAGCTTCAAACTTTCACCGATA +TTTTTAAAAATTGATTTTTCTATGTTTTCCGTTTAATATATATTTATTTA +TTTAAAAATTAAGTTGAAATTGAGAAATCGATGAAAATCGAAAATTACAT +TACTCTTTAAAGGCGTACATGTCGTTTCGAGACCGGGTACAGTATTTTCG +ACTGCGATTTTGGTTTTTAAAAAAACCTAACCAATAGAATTTCCAGCGCT +CACACTCATTGGGTGGAAGCAGCAGCAGTCCGACGAGCTCTTTTTCGTCA +AACGACGAATTCGACGATCGTCAGAACAAAAAGTGAGTCATCAGTTTTGT +TTGAACAGCAGGTGTGAAATTTATTGTGAAATTTAAAATGGGAAATCCGA +AAAAACACACCTTGTGTGATCTAAGATCCAAAAAAAATAGAACAATCGAT +AATTTTCGGGTAATTTTAAAGTTATTTTTAGCGAAATAAACAATGCATTT +TTGAGGGATTGGTTTTCAGTCATTTTCGATTAAAAAATTCAATGTTGAGC +TGAAAATATCGATTTTTACCAGAAAATTGATAATTTTCGAGCTCAATACC +ACAATTTTAATGTTTAAATCGCTTTGAAACCTCATAAAATCTCCCGCACC +TCCAGTTTTTGTAGTTTTCCGCCTAAAATGTCGGAAATTCAACAGAATAC +TCATTTTCCTAGCGAAATCTATTAGTTTATAATAAATTTGATCGTTTTCT +GCTTAAAATTCCCTGAAACTTCTGAAAAAAAACCGATTAATCAGCTGAAA +TTCGCTTAAAACTAATTTCGTGCCGGGACCACGGCCTTTTAAATCGGTAT +GCGCTTTTAGTTTTGTACCGTATCTATTTTAGTTTTTAAAGTAAAAAATG +AAATTTTCAGCAAGTTTTGGCGTCAAAGAAATGTATCGAACGCAGAAATT +GAACGAATAATCGAGGATTTCATAGCGAATGGTATTTTAAGTGAGTTTTA +TTCGATAAAATCGACGAAAAACCAGAAATAAACAGTTAATTTCCAGAAAT +GAGCAACGGGAACAGCTACAATCACCATCACCAATTCCCGATGAGCATTC +CAATATCGTGCTCGTCACACTCAATTCAATCACAATCACGAATGAACACT +CTGAACGCGAATAGGGATCTCCTGTCTCCCGGCAACGACGTAATTGTCAC +CAGAACCGTGTCACCGTCGTTTTATTCGCATGGAATGCCGGCCCGGGATA +ATGTTTTTCGAAAAGACGATCATGTCAGGATATTGGGGAATACAACGGTA +TGAAAATCTGCTTTTCATCGAAAAAAATTGGAATTTTCAGGACCCAGCGT +GGTATCGAGCCCGTAATGCGAATCAGGAGGAGGGTCTGGTTCATGCAGAT +TGTGTAGTGAGAATAAAGTTGGTTTTTCTGATCAATTTCTGTGAATAACC +CCGATTCCCATGAAAATAGGATTTTCAGCAGAAACTCCAGGCAAATTGAG +TTTTTGATGCGAATAATGGATTAAAAAAGATAAAAATCCATGAAAATTTA +ATTTTTTACATCAAAAATCCATAAAAATCGGATTTTTGAGCGGATTAGAT +TACTTTGCCGAAAATTCATTTAGAAAAAAACAATTCTTGCGCGCAATTGC +GCAAAAAATTCAGAAAAATGAAACATAAAAGTTAAAAAAATTATTTTTAA +ATATTTTTGAGCTGAAAATAAAAGAAAATTCGGATTTTGTGGCCAAAAAT +TCAAGAATATTCCATGAAAATTAGTTTTTGTTTGCAAAAATCCGAACAAA +AATTAATTCTTTTTTTCGCTAAAAATTGAGAAAATGGTTTTAACACAAAA +ATCCACAAAAAATTGATTTTTAGGCCACAAAATCTATGAAAATTCTGATT +TTCTGGAAAAAAATTAAGAAAATTCAAATTTTTTGTTCAAAAACTTTTTT +CAAAAGCATTTCAAGAAAATTTGATTTTTCATCAAAAAAATTAATAAATT +TTAGCGGGCAAGCCTACGACAATGGAATTGTAAGAATGAGAGCTAGCGGA +TGTGACGTGGCTCCGGGAGCAGCTTCAACAACCTCCAGCACATCATCACA +TCATTCAACTGCAGCAAACCATCAGCCATGGTTTCATTCAATGATTAGCA +GAGAAAATACTGAAAAGTAATATTGAAAATGTTGGAAAAATCTGGAAAAA +TGCGTCATTATCTCGGTTTTCAGTCGGTTTCCAGTTTTATGAAAAAAACG +TCACTAAAAACGACATATTTCTTTAAAAACGTAAACATCGGAAATTGTTT +GCATGAAAAATGTCGCGATTTTCTAGAAAATTTTAAAATTTAAAGAAAAA +TGTTGAAAATAGATTTTTTCTGAATTTTTTGAATTTTATTAGAAAATAGA +GAAAACATCATGTTTTTCAACGTTTTTCGCCTGAAACGCTGGAAAATGCA +GAAAATGGTTTTTTTAGTGGAAAATAAAAATATTTTTTAAAAAAACGAGA +ATTTTTTTTTCGTCGAAAGTTCCAACAAAAATTACATGTTTTACAAAACA +TGTAATTTTTGTTGGAACGTCTTTTTTTTCTGAATTTTTCTTTGATTTTG +TTAACTTTCTGAATTTCAATTCAAATCGGCAAAATTGTACGCGTCTTTTG +AATGTTCCCACATCTATTTTGTAACGAATACGGGAAAAAATATTTCAAAA +AGGCACATTTTTCAAGTGTTTCCGCCTTATAAAAAATTGCCACTTCCGGC +AAATTGATATCCGACATACGGCAAATCGGCGAACTGACAAATTGCCGGAA +TCGAAAGATTCCGGCAAACCGACAACCCTCCGATTTGCCGGTGTCAGAAA +ATTGAAAAGTGTAGAAAAATGACGTCACAACTAAATTATAATACATGTCA +TTTCTTAATGTATTTTAATACAGTTTTGACGTCATTTTTCTCCACTTTTC +ATTTTTCCGGCACTACTTGAATAACCCTGTATACCACTTTTAAAAATCAT +GTTTTACAAATTTGTAAACTCCAGATTACTCCGCGGCAAACCGGACGGAA +CCTTCCTAGTACGTGAATCCACAAATTTCCCCGGCGACTTCACACTATGT +ATGTCGTTTCACGGAAAAGTCGAACACTATCGCATCGAACAGACGTCCGG +CGGACAGCTGACCTGTGACAAGGAAGAATACTTTTCCAATTTGACACAGT +TGGTCTCGGTGAGTCATTTCGGGGCTGTAGAGACAGGAAAAGGGGGAGGA +ATGGGTAATGAACCGGTATTCGTTAGAATGAGACAGGTGAAGATAACAGT +TATGATTTTATATTGTGAAGAGTTGTATTATAAAAAAGGTTGGTAGAGAT +TTGAATATTTGGGAGAAAGAGAAAATGAGGGGAAAATTGTTAAAATTCGG +ATTTAAGTTTGAAAAGTCACAAAAATGTTATATAAATATTTATATTTATT +GGATATAACTAATTAAGATTTTATATAGCAATACTTTAAATAATATGAAT +ATTGTTAAATATTGATATAATATCATATCAATCTTCATTTAATGGCTAAT +TGTAATTTCCAATTTTCCAGCACTACAAACGTGACGCGGACGGTCTCTGC +CATCGCCTGGTAACTCCGATTATTTGTGAAACAGCGACATTTTCATCAAA +CGGATCATCGTCATTTGGTTCATCGTCGACAGTTGATTTGGAAGATCGAA +CATCAGTATTTCGACACGCGGGTCTAGTTATTTCATCGAACGATATTGAT +GTTGGTGATACAATTGGACACGGAGAATTTGGAGATGTTCGATTGGGAAC +TTATAAGAATCGAAAAGTCGCGTTAAAAGTGTCGAAAAGGCATGGAAATG +GAATGTTGGACTCATTGCTGGATGAAGCCAAGTTTATGGTGTAAGTTATC +AAATTATTGAGAAGAAAATAATTTTGGCAAAGCCCAAAACAATGCGTGTT +GAACAAAGTCATATTAAAAATATATTTATGTTTCAAAAATGTTATAATTC +AATTTATTTTTAATTTCGAAAATCTATAATAACAACTTTTCCAAGTTTTT +AGTTATGAGTACCCCGAAATCTGAAAAATATTTTCAATTGACTCCAAATT +TGCCCCTGATTCCGAAAATCTAAGTGAAAAATTCGAAACCTGATGGGCGC +ACAAATTATTTGTACAATTTAAACACTTTTTAATTAAGATTAAAAATTTC +CCCAATTTTTTTGAAAATATTCATTAATTTCTATTTTATGTTAATAATTG +TTTCAGTTTATAACGCTTAGTTTCAAAATTTTCAATTTTCCTGATTGATG +ACTGATAACTAATGGCAGCAAATAAATCTGAAAAATTCCGAATTTTGCAG +AGGTCTCTCGCATCCAAATCTAGTGACACTTGTCGGTGTTGTACTGGATG +ATGTGAATGTCTACATGATAACTGAATATATGGCAAATGGTAATTTAATC +GATTTACTCCGATCTCGAGGAAGGCATGCGTTGGAGAGGAGGCAGTTGAT +GATGTTTGCGATGTAAGAAAAAGTTGACAAATAAAAAAATTGGAATTTAA +CATTCAAATTAGATTGTTCAAAAATTGTTGACATTTCTGCATTTTTATAA +CCGAAAAATCGAAATTTCATTTTTTCCGCCTGAGTAATAGTAACTCACCA +CGAAAAGGGTTACTGTAGCAGTGCTTTTAGCTGTCTCTGGTTTAGAAATT +TACGATTTGCCGGTCTGTCTGAAACCCGATTTTTTCTAGATTTTAAACAA +TTTTCTAGTATCCTGTTGAATTAATTCCAAAAACATTTTTTGCTAAATTT +TTGTTCTCCGTTTGTCAAAAAGCCGACTTTTTAAAAACACTGCAAAATTT +CTCTCTAAGTTTTTTAAAAAATGTTTGCCCTTGAAATCAATGCAGTTTTT +TTTTTAAATTTTATTTTGGAGTTTTTTCGAACAAAAATTTATTTCTTCGT +CTATTCGTACCGAAACACCAAAAAATCCACTTTTTTTCGAAATTTTTTTT +TTCAAACAACAACCCTGATTTCAAGGGTAAACATTTTTTAAAAAATTTGA +AAAAAATATTGTAAAATCGGTTTTAGTTTTTAAAAAAAGTCGTTTAAATT +TGTTGCACAATTAAAAAAAAATTTAGAGAAAAATCTTGCAATGCTTCAGG +CACACAGCTGAAAATGCTAATACAGTACTGCTTTTCGTGGTTGGACCCAG +CCGTGGTTACTGTACCTCCGGCAAAGTGGAAAATTCGATTTTTTTTTGTT +AGAAAATTTGAAAATGTCAAAGATCTGATTTGAATGTTTCAATTTTTTGT +GACAGCTGTTCTTGAAATCCAAATTTTCAACTTTTTTTCCATTTTCAGGG +ATATTTGCCAAGGAATGTGTTATCTGGAATCAAAACAGATTGTTCATCGA +GACTTGGCCGCTCGAAATGTCCTACTCGACGATGATTTAGTAGCGAAAGT +TTCGGATTTTGGATTAGCGAAAAAAGCAAACAGCCAGTCACATGATTCGG +CTTCTGGCAAATTTCCGATTAAATGGACGGCACCTGAAGCGCTTAGACAT +AGTGTAAGTTTGGTTGAAAAATTGAAAAAAATTGAGAAATTTTTACAGAA +TTTATTCTTTCAAAATTAATTTCATAAAAAGAAACAAAATCATTTCAATT +TAAATTGGAATTTCGTATTCTTAAATTTTTAATTTAAAAAAATCGATATT +TTTTAAATTTAACAAAATTTGAAAAAAGAAATCCGAAAATCCGCCGGAAA +ATGCCTCAAAAATCTGCACTTTTTTTGAATTTTTGCCCAAATTTCTAGAA +TTTTCCCTTACTTCATTTTCTTTCATAGCTTGAATATCAAAAATGGGAAA +ATCTTGAAAAAAAATCCCAAAAAAATAAAAAACGAAAAAATCGATTTTCA +AAAGTTTATTTTTTAAAAATTTTTGTGATTTTTTTCTGATAAAAATAGTT +TGAAACTAGAATTTTTAGAAAATATCCAAATTTTCTAATAGTTCGCTGAA +AAATGACTCAAAAATCACCAAAAAATATTGAATTTTCGCATAAATTTTTC +AAAAATGGAATTTTTTTCATTAAAAATTAAGAATTTTTGCAATTTTCCCA +AATTTTTTTTAGCAATTCACCACAAAATCCGATGTTTGGTCATTCGGCAT +TCTTCTTTGGGAAATTTTTTCATTCGGACGAGTACCGTACCCAAGAATTG +TGAGTTTTCAGACAACATTTTTTTAATTAAAAAAATTTCTCGTGTTTTTT +CATATTATTCCTCGCTAGCTGTTGTTTTTATTTCTTGGTTGGGATCATTT +CTTTTAAGGCTCCACGGAAAGGGAATCTGCGCGAGAATGAGATCTACGAA +AATGAGCGACGATGCTAGGATGAAACGCGCGTTGTTTAGCATGTTTTTGA +GACTTTTCAAAAATAGAGTTTTTAACCTTTTTCGTAGATCCTCTTCTCGT +AGATTCCTTTTTCGTGGGTCCTCTTCCTATATTTTCGGCTTGGCCGAGTT +TTCTCCCGGCCACGATCATCACTATTTTATTGATTTTTGTCATGATTTTC +AGGGAGCCGATGGTCGTTCGGTATGTGTATATTGCATTTTTTCGTTAGGT +TCTATTTTTTTCAAATTCTATCCACTTCTATTATACAATACATCTCACTA +TCTTTTCCCCTGCCTGAAATTTTTGAAAAAAAATGAAGAAATTTTAATTT +TAAACTTTTTCCAAAATTTTCCAAAAAAAAAAGTTTTTTATCAATTTTTT +CAATAGCTCGAATTCTGAAAATGAAAAATGATGATAGAAATTGTTTTAAA +AAAATGATTTTTTTTGTTGCAAAATTTAATTTTTAAATCGAAATACAACG +TTTTTTTCAAAAAAAAAACACCTTATTCGAGACAAAAATAAGTTTCTTTT +TTTTTCAAAATTGAACATTTGGATTTTCTGGAAAATTGAATAATTAAAAA +AGATTAAATGTTCGAAAAAAAGAGAAATATATATTTATTGGCTTATTTGG +AAAAATCAAAAAATAGTAAGAAAAAAATCAAAATTGTTCGATTTTTTATT +TTTGTTTTGTTTCCGAAGATGTCCTTGTGGTATATAGTATTTTGGGTCCC +ACCACGAAAATCGCCGTGCGCCTTTAAATTCGGCCGACCACGTCTCGCCT +AAGTCCAGTCCCCCACTAATGTCAAAAAAAATTTTTTTTCGCAAAACCTG +AATTTTGAAATCTTTTTTCCAAAAAAAAAAACGTTTTTTATTTAATTTTA +AAAGAAAAAATTGGAAAAAAGTATTATTTTTTCTAATTTTGAACTTTTTA +AAAAAATTATTACACATTATCTGGATTTTCAAAATTTTCCATATTCGATG +TTAAAAATTATAAACATTTTTCAGAAAGGAACACCGAAATTTTTTTTAGA +AAAAAGTCAAATTTGGAGCGAAAATTATGTTTTTCAACAATTTTTCAACA +ATAATTTTGTTCAATTTTTTTTTTGGATCCAAAAAAATCTGTGTGTTTTT +GTGTGATTTCCGGCACCCAACTCCCCAGAATTTCCCTCAAAAACTCTATT +TTTTTCTCTGCTACCTCTTCTCAATCTTCTAATTAATTCTATGTTTTTTC +ACTATTTTTTATTATTTTTTCACCCCTTTCAGAGCTCATTTAGAGCCCAA +AAATAACCATCAGAAACACAAAAAAAACAACTTTTTTTTTCTTTTTGAAT +TAATTTTTTCAGCCTATCCAAGACGTTGTGAGATATATTGAGAAGGGATA +TCGAATGGAAGCACCTGAAGGATGTCCACCGGAAATTTTCAAGGTTATGA +ATGAAACATGGGCTCTATCGGCACAAGATCGACCGTCTTTTGGACAGGTA +GATTTTTTAAGGGAAATTTTTTAGAATTTTAAGACGAAAATCTGAAAAAA +AAACCTACAATTATGGCAATTTTTGTGATGAAAATCTACAAAATTGAATT +TTTTTTCGAAAACCTGATAGAAAAAAGAATAAAAATTAATTTGAAAAATG +CCGTAAATTGACCAAAAATATGGAATTTTTACCAAAATTTCAGGGGTTTT +TCAGATTTTACCAGAGTTTCTGCCTTATAAATTAAAAATTTCAAAGAGAA +ATATCTTTTTAAAATCAGCATTTTTAGCAATTTTTGTGATGAAAATTGTT +TAAAAATTGCCAAAAATGGGAATGTTTGAAGAAAATTCAGAAAAATCTAA +ATTTTGGGCAATTTTTGCAATAAAATTGAAAGATTCGGAAAATAATAAAT +TTTTCGAAATCCTGAAAAAATTTCACAATTTTTGCGAAAAGAATTGTAGA +AAATTCGAAATTTTATTATTAAAAATATTGAAAAAAACAAAAAATTTCAA +AAATCCGCCGAAAATGGCTTAAAAATCTAAAAGAAAAGATTTTTTGCATT +AAATTTTATTGCATTAGTATTTGCGAAAAACAAACCCGAAAATTCACTCT +AAAATTACAAAAATTTCAATTTTCTGAAGCTGCGTCCACAAAATGGCTTT +AAAAATCATTTTCATGTACAATGTCAAAATTTTAAAAAAAGTGAAATTTT +GTTCAGAAGTTACTATAATAAAGGTTTTTTGCTTTCCGGTCATTTTTTTG +AATTTTGGAACATTAACCGAAAAAAAAATTCCGCATTTTTACCCTGAAAA +ATGCGAAAATGTTTGAATTTTTTGAAAATTCCACTTAAATTTTTTATATT +TTCAGGTCTTGCAACGATTGACAACCATCCGAAATACAGTATGACATCGG +CGCACATCTCGAAACTTCCAGAAATCCATCGAATTTTCTAGTCCATATGA +TGTTTCTGTTTTTTTTTCGCTGTTTTTTACACAAATTTTGTCATATTTTA +TTGTAATTTCCCCCACACATTTTTAGGCATCGTTATTATATATTTTCTAA +TCCGCTGCCGCGCATTTCGGGAGATCCTGGAATTTAAAGGCACAGCGGTG +TTTTTGGATGGGTCCCACCGCGAAAATTATTATGCGCCTTTGAAATTTTT +TTTTCGATATTCCTAAAAATCACAAAAAACATTTTTTTTTCTAAATTAGA +GAAGTTTTAGCCTTTCTTTCGAAAAGTCGATTTTTTTGGTTTAAATTTTT +CTCGATTTGAAAAAAATTTCAATTTTTAGTGAAATCAAAGAAAAAACATC +AAGAAACTTCTATTCGAAAGAATTTTTTAAAATTGTATTTTCCGAAATAA +TTTTCTCTGTTGGGTCTCACCACGAAAATCGTCATGCACCTTTAAATTTC +CTTGCCCACACCTCTCCGAACGGCCGATACCCAATCTACGGTTTCTTCAA +TTTTCCTCTGCATTTTTCATCGATTTTTAAAAATTTTTATCGAATATTTT +CACGTTTAAAATTATTAATTTGCAACGAATTTCCCTCAACAAAAAATGCT +CAAAACTCCGCCCCTTTATTGGCATAATTTTTGCCGCCACGGAAAATGCA +ATAAATTTTATATTACTTTTCACCGATTTTTTAAGATTATTTTTAGAACT +TTTAGTTTTTGTATGTGTGTGTGCTCGTAGTTTATCGGCAAGAAATTATT +GTTTTTTTTTCTTAATTTTTAATAAGGGAACATTTTTTAAAGAGATTTTC +AGAAAATCGGTAAAGATTTAAGATGCTCTGAATATGTCCAACTTCACAAG +CTTCGTAGATTACGCGGAAAAGGTGATTTTGAATGTTGAATGTGCAAGTG +CGCCCTATGGATAAATGGAGCAGCGTGGCAATTCGAAAAAATTTAAATAA +AAACGTATTACTCGAAAGTTCACAGAGTTTTTCACCAAAAAATTGAAAAT +TCGCTGAAAAAGTCGCGGGACATTCCATTTTTATTTTTCGGGAAGAAATT +CGAGAATTGACTGAAAAAAGCGCGTCTTTATTCCAGAAATTTTAGCGGAA +AATTCCAGATTTTTTTATTTAAAAAGACTCAAAACATGAAAAAAATATTC +TGGAGAAATCAAAAATTGATTGAAAAGTTTCAGTTTTAGGCTAAAATTTT +TTTGCGAAAAATTCATTTAGTTTTTGTTGGTAAAGTTCCGATTTTTCTGC +AAAATTTGAATTTCTTTCTGAAAAAGTGCGTTTTTTTTTTCAAAAAATTC +TTAAAATCGGAAATTTTTCGCCCCGAAACTGAACCGAAAAATTCGAAAAA +TGAAGCGCGGTCAATTTTTGAATTTTGGCATTGAAAATATTCTGAAAAAT +TCAAAAATTGACGGAAAAGCTCAAAGTTTTTCACAATATAATCGATATTT +TCTCATTTTTCAATGTAAAAATCGATAGTTTCAGCCGCACGTCGCAGCAA +CAAGCCAGACACCAATACCGCCGTCACCGTTGAACGAAAAACGGCCAATT +CCACTGTTTCCAAGTGAATTTATCGATTTTTCTGTAGAAAAATCTGAAAA +TTTCTGAATTTTCAGACGAAATCAGCAGCTCTTCGTGCGATGACGTCTCG +TTTTCCATGCAATTCGGAGAATCTGAGCAGGGACATGTTATATGTACAAA +AGTTCGACTTCGATTCTATCCTGCCGTGGTGAAAGAGGTTCGAAATTCAA +AAAAAAAAGAAAACAATATTACTATACATTCGTAAAAATTAAATTTCAGT +TTAAAGGCGCATCTCACATTTAAATATGCATTATTATTCATTAGTGTCGA +CCCAGATTGAAAGCGCATGCAAATTTTGAACTTTAAAACTGGAAAAAAAA +TTTTATTACACATTCGTGTAACATGAATATTCAGTTTAAAGGCGCGTGCT +AGTTTTAAACTTCAAAAATTAAAAAAATATATATATATTCGTGAAAAAAT +GTTCTTTTTAAAAGCTCTTTAAAAGTTTAAAAATGATTATTATACGTTTC +TCAAAATTTTCAAAAATCAGGTCAAATGCACTTAGAATATTGGAAAATAT +GAAGAAAAATCTTTATACATTCCTGAAAAAATACGCATGGTCCAAAAGTC +GACAAATCGTGGCCCAATATTTTCTATTTTTTCAGAGAAATCTTCCGCAA +AGGTCGAAATTTTTCGACGATTTCTACGATGTTCCGCTCACTGCGATCGC +CAGAATTGAGGTGGCCATTGTGAAAGGTGAAAAATATTTTTACTTCAAAA +AATTATTATATTAAATTTACACATACACATTCGTGAAAAAATTTTGCCGG +TAAAAATAATGAAAAATATATACAGAAAAATACGGAAAATTTGGATGAAA +AATATTTTTTGGTGACAATTAGAATATTACCCGCAAACAAAATTCAAATG +AATTTTTTCAGTTTTTGAAAATCTAAACAAATTTCAAAATGTTATTATAG +ATTCGTGAAAAATTAAAACTCAGTTTAAAGGCGCATTTCATATTCAAATG +AGAATTATTAAACATCTTAAAGACATAAACAAAAAAAATGAAATCTGAAG +AAGAAAAATTATACATTCGTGAAAGTTGGGAACAAAATTTTGTAATTTGA +GTGCTTGACATCAGTTTAATAAAAAATTTTGAAACCAAGAATTTTCGAAA +AAAAATCACGTATACCTAAAAACTTGTAGTTTTTTAAAGTTAGTAAACTA +TTTTCTCTCAAAAATTCAAAAATATTCCAGGTAACAGTAAAGGAAAAGCG +GACAAATTTCAACGCCTCGAGACAAGCCTATCAACAATGGAAACAGTATC +AATAATTCGTCTAATATTAAAAGATGTCAGAGTTGTTACAATTGACTTGA +GAAGATCTCAAAATGCAAATATATTGGCTAATCAAATACTCTACTTCTCG +AAAAGTGGACCAATCGAAAAAATGACTCAAGTTGGAGCTGCTATGGAGGA +GCGCGGTGTGAAGGCGAAAAGTAGGCATTGGATAATTAGTATTGGGGGTT +GGGAGGGGAGGGAGGAAAGTTCGAGAAAATCGGAATATCTTATAAATATT +AGGCCGTTTGATTAATAAATCGACACATCAAGTAAATAAATTTTGAAACA +AATTAAAAATTTTAAACGTTTCGATTGATATATGTGTATCAATTTTTTAA +AAGATGTATATTAGTAACAAACAAGAAATTTTTTATTCAATAAAAATATA +CTACGGGAGCACTAAATTTTTAGAATGCGTATTGCACAACATATTGGACC +AGATATCTCGTAGCGAAAACTACAGTAATTCTTTAAATGACTGGTGTCGA +TTTACGGGCTCTTTTTTCATTTCTCCGTATTATTTTCTCTTTTTTGCTTA +ATTTTAATATTCTATCTATAACTAAAAAATTAATTCATTTCGAAAATCTA +GCCCGTAAATCGACACAAGCGCTACAGTAGTCATTTAAAGGATTACTGTA +ATTTCGCTACGCGATACTTTGTGCGTCAAATATATTGTGCATTACGCATT +TTCAGAATTTTGTATTCTCGTAAAATTTTCGAAAAAGTAAATCTTTTAAA +AAACTTTTTATTAAATGAATAAAAACGCATTTTTTGGAGAATCGGATAAA +AATAATTTATTTAAGTTTTGAAATTTTAATATTTTGAAAAAAAAACATTT +TAATTGGAAAAAAATATGAAACTTTCTTTTGTAAATATGGTTTTTACAAA +ATTCCCGAATGTCCAATATACAAACTTATCATTTTCCAGCAGCATTCAAT +AGCTACGAAGCATGGCGTTCGGAACTCCAAAGGTGCCAGCAGAAGACGGA +TTCAACGTCTGTCTGGAAAATTGTAGCACTTAACAAAGAAGGCTTCAACT +ATGCGGCTCAGGGGTGCGATTTTTGGAAAAAAAAACTGGATTTCCGATTA +AAAATATGTATAGTGTATGTATTTTTCAAATTTCCAGCTACCCTGTGTAC +GTAGTAGTGAGCAACTTCTTGGATCGTGTGGACATTGAACGACAACTACA +ACACTACAAACAAGGACGATTTCCGATTTGGGTGTGGTCTCGGGCGAACG +GACACTCGGCGTTATTCGTTTCGGCGGATCACGAGAACAATATCGCGATG +CCGGCGATTTTGGCGAAGTTAGTACATTATATTTTAAATTTGTAAAATGT +TATTTTCTTCCAGAATGCAAGAAAGTATCACCCGTTGCCATCCGAATAAC +GAGAAGCCGCATGTTATAAAATTGGACGTCGATTTTGTGTCGAATGTTGG +AAAAGCTTTTGATAATCTTCTATCGCTTTGTGCAATTGGTGAGGGAGAGC +ATTTCATATTTAAAAAAAAAATTATTCGCCGTATTTTCAGCTGTTTTATT +TTCCATTATTTTCCATATAATATGCATTTTCCCAGACTCCTACGAGCAAT +ACGTTACACTGCAAAACGGTTGGAATACGAAACTCTCGAGAACCGGATGG +CTTCATCTCGTCAAGCTGTGCCTTCAGACTACCTATCAGACGATTCAATG +GATTGTTGATAGAGATCGATCGGTTATTTTACAGGGTACTATCAATTTAG +GTTTTATTCAGAGAGAGAGAGATAGCAATTTTCAAAATATTTACAAACGA +GTTAGTCATTTACATCCACAATCGACTGATCAGAATCTGATTCGTGGCCG +TTTTCCTCCGCCAGAACTTTAGGAACTTGCACCGAACTACTTGCTGCTTG +ATCCTCCCCCTCCAGAGGATCTTCTCCAGATGGGATACAACTTTTGATGA +AGCTGATCATCGGATCCTCCTCTCCATCATCCGAACTAGTTTGTCTGAGA +AGAATATCAACCAGTGTCTGCATTAAATCACCGGGTTCCGTTCTTGCTCG +TCGAGTACTCAAATTGTGTCGGCACATGAATTTGTCCAACCATCCGCGGG +ATGCCTGAATGATAAAGGTGGAGTAGCGTCGAATAGTTATTTTTTATGTT +TTTCATATACTCGTTTGCATTAAAGTAACGGCTCTCCTACCTTGAAATCC +GAGTTCTGACTGATTTTCTTTGCCGTTTCACCGATGATTCTTCTGGTGAC +TCGTTGTTTCTCCTTACGCTGATCGTGAACCCATTTAATCAATTCCTTAT +CAACGTCGTCATACTTTAAAGGTCTTCCACCTCCCGAAAGTCGCTTTGTT +GCAGTTGAGCCGTTGTCTTCTCTGAAAGTGTTATTTGCCAAAAGGCAGCA +AGTCGAAAATTTTTCAAAAAGAAAATTTGAAATCGAACAGAGAATTTATG +TTATGCCCGTATTTCAAAATATAGGAATAGTTGAAATGACTTCTTTTGAT +AGGATTAATTATAAGCCTAGAAAAAATCATAGTATTTGGAATAAAAGGTC +CATAAAAGGTTCTCAATTGATAGGGCTTGCATGTAGGCGTTAAACCCTGC +CTTTAAGGCGACCTCCGCTTGCCTCTCGGTTACGCCTTACGTTGTGCTAA +AACATAATCAATCTTTTTTTTTTTAATTTCTATTTTGATTTTCATCAAAT +TGAGAGAAATGAGAAAATTAGAAATTTGTAAATTCACATAGGCGGGTTTC +AAGCAGGACCCTGACACCGCGCATGCCTAACATGAAAGTCCTAGCCCTGG +ACTATTTTTTTGAACACAAAAATATGTCCGAAGTGGCAAAACTTACAACT +GCTTCTCGATTTCAGCTTTCTGGGCGATCCACTGTTGAATGTTTTGCCTA +TTCACATTCAAATCCTTTGCTGCTTTCGATATATTCTTATGTTCAAGGGC +ATAATTTATGGCATGCAGTTTGAACTTCAAGTCATACGTTCTTTTTCGAG +TTTTTACAGGCACTTCTGTAGGGATTTCGCTCATTGGTTTTCTCTGAAAA +ATAAGTATATAACAAGCAAAGTCTTAACTAGTCAGCAAGTTATTGGAAAT +AAAACATGTGAGAAAAGCGAACGAAGGGGCAAGACTAATGGAGACAGCAA +ATTGGCACACACGCAGAGAGACATGGCTAATAGAGTGTGCAAGACTATTA +GAGGGTAGAGGCAGTGAGACGAATTTCCGACTGGTCAGAATGTAAAGGGG +GTGCAAGGCTAATAGGAGGAGACAAGACAAATAGAAAAACTACATTATTA +TATGAAAAGAGAGTAAGACTGAATACGTGTATGGGCACCCCACATATTTG +TATGTAAGTAGTTATGTAAATGACTTTTTGGAATTGAAAAGAAAATACCA +AGAAATGGAAAAAACCTCCGGTCAATCGTAAAAAAATTATGAAAGAAGTT +CGATCTACTCGGCTACGATTTACAGTTTCCCTTACTGATTTCTACTAAAA +TGCATTAATCTTGAGTTTATCTCTAACAAATTGATGGTACTTTTGAATGG +TTATAACACCGGATATTTTGCAGAAGACGAAGGATCAGATATGTCGATTA +TTGTGGCCAGCCTCACGCAAATGTGCTGTGATCCATTTTACAGAACAACT +ACGGGTGAGTTTATTAAATGTTTTTTCTGTACTAAAAATGGGGTTTAAAA +AACTAATTTTAATTTAGTTCTCTCCTTGTATTAATTTCCAAAATTTTCCG +AAATTTTTTTTTCAATTTAAAAATCAATTTCAGGTCTTCAACAACTCATC +GAAAAAATGTGGATTGCCCTTGGCCACCCATTTGGTGAACGGCTACTCGG +AAGAACCGACGATGATCCATCGAGACGTGGAAAACCACAGAATAAAATGA +GAACTGACGTCATGCCGACGTGGTTGCTCTTCTTGGATTGTGTTTCACAG +CTACATCGAATATATACATTTGAGTAGGTTTGGTAAAAAAAATGTTTTCC +CCCGCAAAAAAATGTTTTCCTCAAAAAATTTGAATTTCCCACCCAAAATT +TTTCTCAAAAATTTTTTTAAAAATTAATTTTAAAATTGTTTTCTCAAAAA +ATTTGAATCTCCCGGATTTAAAAATTCCAAAAATTCGTCTATCAATAAAT +TTTATATTGTTTTCGAATTTCGAATCATAAAAATTAGTTTCAAGTTAACA +CACCTTTTTTTTCAAATAATTTTTTTAAAAAATAATTTTAAAAACAATTA +ATTTTTTTCCTATTTCCAGATTCACATTCTCTCCACACGTTCTCATTGCA +CTATGGGATCTTTCATTAACTGGAATGGTTCCATCAATGGCTTGTAATAA +TCTGGAAGAGCAATTACTCGCAAAAGTCGGCGGTGGACCATTCCCATTGG +ATCGATATTTTGAGAAAAGCTACTCGAAATTATTTGGAAATATTTGGCAC +GACGCAGTGCTTTTTATGGAATCTATTAAGAAAAGTTGGTGCTTTTTAAG +AAAAAAATTTTATATCGATTGTTCTTTTCTTTTTGATTTCAGCTACTTTT +TCACCTCGGTCAGCAACATTTTTTTGCAACATTTTGGACGTGGCCGCGAA +AAAAAAATTGGTGGCCGAGTTTTCTTTTTTTTCACTGCCATTAATTTCCG +AGAGGAAAATCTAGGAATTAAAATTTTTTCGAAAGTATACAATGTTGACC +GAGAAAAAATCGGTGGCCGAATTTTCTCTTTCTTCTCTGCCACGTTATTT +TAGTAAAAAATTAGAAAAAAAAACACAAAATGTTGTTCAAATTTTGGAAA +AAGTCTGTAAAAACAACAAAAAATTGATGGCCGAGTTTTTTTTCCATTTT +CGCGGCCACGTGACAAGCAGTGATTTCTCAAATGTTTTCAGGAAAAAAAA +ACAGGCGGAATTCAGATAATTCTACGAAAACTATTTTTGTTTCTGGAAAA +AAGTCAAAACTTGAAAATCGGTGGTCGAGTGTTCTCTTTTTTTGCGGCCT +TATCTCGATTTTTCCAGATCAACCAGTGTGTGCTCACTCGAAATTCCTTC +AATGTGAATTTATTCGGCCACCGACGTCGTTTTGCGATATTCAACTGTGG +TCCGAGTGCTATCTTCGATGGATTCCTCCGGCAAACGGGAAAAATTCGGG +AAAACTCGGCGAAGAACTCTCGCTGGACGAGAAAATGATCGAAATGGCCA +AAAAATGGAACAGTTCCGAGTGGAAAATGCATTTGGACCTACCGGAAGAG +GTGACCAAACTTTTCGGATTTATAGGCTCTAAACATATTTTTACTTTCAA +TTCTTAAATTTTTAGTATTCATCTGCATATCCTTACTCGATTCCGGAGAT +TTCCCGCCCAATAATGGATTTAAATGATTTTGATATGATCCGGCCGGATG +ATTTCGACGCAATGTCCATGAATTCATCCATCAACTCATATTCGTTCGTT +AATACGGTAGGGATACTTATTAGCTCGGAAAATAAATTACGACATATTTT +GTCTCGAATTTTTTATAGGTGACTTATAATAGACATTTAGTGTCTAGGCA +CACATAAAAGTTAGATCTTTTTCAGCTATCGTTTCGATACTTTCACACAA +AAGTAGGTTTTTTTTCGCAACTTTGTAAATTGAAAAATCAATAGGTCGGC +AAATAATTGTTGGCGTATTTTGTCAATTCACGATATTTATCAAAAATTTT +ATATGTGACTTCTGGTAGAAATTTATTATGGTTGGCAATAAGTACTGAGT +CAAAATTCATATAACTTGTTTTGTTGCTTATCGATTTTTTTTAATTGCCG +GAGTTCATGTTATTAACTATGGGCTTTCATCTGAAAGTAGTCACAAAACA +TTTTAAAAACTCGAAGTGATCCAAGTCGAAACAACTTTTTCAAGGTTTAC +GCCCTCTTATTTTTTCTCTTATTTTCAGCATTGATATGAGTTTATGTACG +GATCAAGAGTGTCGGTTTTTCGATTTTTGTATAAAATCGAAATTTTTTTT +TTGATTTTTCGATTTTCCCTGAAAAACACACAATTGAAAAATGTCACTCT +TGGTACGGATATTGCTAAATCTATTATACAATGTGAGAATCCAATAAAAG +TTTTATATTTTATTTTTGCAGCCAGTTCGTAACAACACGACAACAGAATC +AATATTCGATCATTCGACACTTGAGAAACGAAATCGTCGAGCAGCTGCCA +CAATTGGCTCCGAATCGCCAGTTATTCAAATGAGACCAAAAGAGCAAATT +GTCGGATATTCGAAATATGCATTTGATGATTCATTATCACCAAGACCACA +TTCCCGAACTGTTGAGACGCCTATTTTAAAGAATGTACGGGATTTTTGGA +AAATTTAAAATTTGGAAAATGAAAAATTCAAACAAAACAATTTTTTCGCT +TTCAAATTTCATAAAAATTTATGTTAAAAATAGTTTTTAATTGAATTTTT +AAAAAATTCTTACTGAAAACTTTCGAAATAATTAAAAAAAAAAACCAAAC +TATATTTGTTTTTTTATTATTGAAAAAGTTAAAAAAAATGTTTTTTTTTG +ATAATTTTACACTGCTCGCCTTCAAAATTTGATGAAAATCTTAATACTAG +ATTTTTTTAATTTTTCATTTAAGACTTTTCGAAAAATTCGAAAGTTCAAA +AAAAAAAATCCAAAAAAAATTTCACTCAAATCAATCGCCTTCAAAATTTG +ATAAAAACTCGATGAAAATTTTGTGGAATTAAAATGTTTAATTTATCATT +CTGAGGCACCACGTTTTCAAGATCTGGTGGGATTCCGGATCTACATTCTT +CATTTCAGCGCAAAATCCCTAAATCCGGAATTCCACCGAATCTTGAAACC +GTGGTGCCTCATCATTCTACCTTTAAAAACTCGAAATTATAAAAAATTCT +GCAAAACTCTAAAAAAATTTGATTTTCGATTTTCGAAAATTTATCTTTTT +TTGTATTTAACATTCAATAAAATATTGATGAAAAAATTTCTAGAATCATA +TTTTTAAATTTTGCTTTACAAAATTTTTTAAAAATCTACAATCGTTCACT +TTCTTGCCTTCAAAATTTGAATGAAGAAAAAATTTCAAAAACTTTAAGAA +TTAAATTTAAAATGTGCTCAAAAAATTCTTTAAAAATATGCGTTTCCCTA +ATAATTTCCATGTTTCAGTCCCCATCGCCCTCCTACACCCCATTTCACCC +GACGCCCGTTCACCGGAGCAACACCGTCCGTGCCGACAATCGCCCAATTC +CCCCGCCCCGGCCGCAGGGCCTAGGAACACTGACCCCATCACGCCCCGAG +ATAAGAGCTCATCGAGATGATATAGAGAGCCCTACTATTCGGGTCACAAG +ATTTTGAAGAAAAAGTTATACTTTTATTTTAATTTCCGCTCAAAATCGGA +ATTTTCTATAAATATGCCCCTTTAAATTGAGCTACAGTAGTCACGTCGAA +AAATTTTCAATTTTTTTGAATTTTTTGAATTTTTTCATCCAGTTATAAAA +AAAAGCTTGCCCCTCAGCTCTACCCCATTTTTCTTTCATTTGTCACCTAC +TTCCTTCATATATGCCCGGTTAATTATGTATTTTTTGATGCTTTTTTAGT +CCCGCCACGGTTTTTTTCATTTCGAAAAGTCGATCGATTATCGATTTTTT +CGAAAATTTGGAAAATTTGGAGAAAATCTAAATATTATCGATTTTAAGCT +AAAATTTTAAGATTTTATTTTTTCAAATAAAATTTTGGAAATGTTTTTTT +GAAAAAAAAAGTGCAAAAAACACTCAAGGGAAAATTTTTAAAAAATTGGA +AAAAATCTTGAAAGTTTGTCGATTTTTCAGTGTGCATTTTGGAGTTATCG +GTTTTCTTTCCGAATTTTCATCAAATTTATTTTTGATCTACCAAAAAATC +TCTAAAACCCCGTGGCGGGAACCTACTTCACTTTTATTCTGCATAATTAG +ACAAAAATGTGATTATTTTCTCATTTCAAAACTTGTTACATATTTTGTGT +TGTGATACATATGTCTAAATTTTTACGGACTGAAAAAATACTTTTTTCTT +AATGTTTTTGAAATTTTCATTATTGGTGGCGTCATCCATGTCTATTTGAT +TTTCCAGACCCCCCCCCCCCCCTCTAAAATGAAAAGAACAAGACGATTGA +CAGCTAGCATGTGCGACGATCAAAGTACCGATTTGATTCAGTTGAAGGGA +CACGAGAACGCGAAAAAGTCGGAAGCCCATCTGAAAGTGCTGGAATACAT +TGGCAAACGCTATGAAATTCGAATGACCGACGGGCGGTACATACGTGGCA +CGATGATCGCCACTGACAAGGACGCTAATATGGTTTTCAACAAGGTAAAA +ATTTGATGAAAATTTGGTCCAAAAGCTCATAGTTTCAAATATTTTTCCTT +AAAATTATGCGCCGCAGGCAAAACAACATTCCGCCTTTTTCTATTGCTGG +CTTAGTTTTCGCAATTTTCTCGGCTACCAGGCTACTGCAAAAATGATCGA +TCCGTGAATTGTGCAAACATCTGAGTTACACAGAGAGTGGGGCGGAGCGG +AACATCGCAACACTGCCGCATGGTTTTTCCACAACTTTTTTTTTCAAGAA +AGTTTCGATTGTACTTGTTTTTTCTCTTTTTTGTATAAAAATGGTATTCA +TTCTAAATAATTCACATATGCTAAATTGCATATAAAAACATGGAATATCC +TCTCAAATTAAGAGTCTTAATCTTATTAGAATTAAATTGGATATCATTTT +CATTCGAAAAGAAAGAGAAAGAAACAAGTAAAATCGAAACTTTTTTGAAA +AAAATGCTTGATTTTATTTCATTTTCGTTGTTTTTTTTTCAGTATTTAAC +TTTTGAACGATCGATTATTTATAAGGTTTGCGGTTAAAAACGATGAATTT +CGTGTTTTTCTTTTCTGGATTCAAATGACAAGTTTTAACCAATTCGAATG +TCAAACACGGAAAAATAAGCGAAAATAACAAAAAATCGTGTATTGTAACC +AAAAAGTTCTCCACGAGTAGTACACTAGAGCCGACGCGCCGCAGGTTTGC +AAAACAACGCCCACCCCGTTTTCTGCGCGGCACTACACAATTTTCTATCT +CACGAATAAATATTTCAGAAAAGGCAGGATTTTGTCTGAAAATCATGAAA +AATCAAGTTTTTTTCAGGTTTCCAACGCTGAAATGGTTGGAATTAGGGTT +TGTTACCAAAAATCGTATAATATTAAAATCCCAGTGCTTCTCTGTCTTTC +AGCAATTTCTTTTAATTTCCAGGCAGACGAGCGATGGGACAAAGATCCAC +AATTGAAAGGAGTCCGATTTCTAGGGCAAGCGATGATCTCGAAAAAGCAC +GTGGAATCGATGCACGCGTTGCCGGACCCTAAAGAAACTGAAATTTGATC +CAGTTTTCTTATTTTCTCTAATTTATCCCATCCTTTTCTTGTCAAGATTA +ATATAAATTAATTTTTATCGAAGCGATTTTTGTTCATCTCATCCAAATAT +GAAAAAACATTCGAAAAAAAATCGCAGGCTTCACTTGGAACCGCGCGCCA +TCAGTTGAAAATGCTGAATATGTACAAAGACTGGAAAATATTAAATTTTT +ATGTTTAAAATTTCACGTTTTTCGTGTTTTCCACAAAAAAGCAATGCATT +GTCGTTTTTCAAAAAACACTCATGGTAAACGAAGTCCCCGTGGAGTACAC +GACAATGTCGCATCGAGACCCAAACTGGGAAACGCCTGCGCCTTTAATTT +TAGGAGTTTAATTTTCGAATTTCGAGTTATTTTTTTCTCAAGTCTTTTTG +CGACTTTTTTTTGAATATTTTATTACTTGTAGCGCTGAAATATGACAGTT +ATTATAGCGTCACACTGGGGACCTCAATCAAAACAGGTATTTTTCAAAAT +TTCGCCGTAAAATCTAATAACCAATTTTGAGATGTTGCCACCCGAGCCCC +CACGGATAATTCTGAGAGAAGTTCCGGTCCAGAATAACCAGAAAGAGCAT +CCACCGGTTCAGGAGATCAAAACCGTGTCCAGCAAGTCGAAGGAACATCG +CGTCAGTTCGAGCCGGAAAATTCCGGATCACTTCGACGTGGGCCCACGGT +TCTACATGAATGTCCCCGCAGATGGCTCAGAAGTGTTCGAGGACGACGAA +AAAGACGTCGAGAACGAGTGTTGGGCGGTGATCGAAAGAATAGGAAGCGA +GGATGACAAGTTCGAGGCCTCTGAGCTTGTCGAGTACCGCGATCACGATT +GGTACATCGCTTTGGCGATTAATAAGGAGAAAACGCCGGATAAGGCGAAT +TATCAAGTAGGAATTACGAAAAAAATTTTGATTTTCAATCTCATTTTTTA +AATTTCAGCACCTACTCTACAGCTATCGAGGCGGAATCCAACGCATAATT +CTCACGCCTCAACAGACGGATTCGATCGACAAAACGCCGCTAGTGAAGTA +CAAAATCATCGGAGACGGTCTGTACGAAGTGCTTCCGATTCACTCGTCCC +TTCCTCAAACTGGTCTAATCAGTCCCAAATATCGTTACAACAAAGGCGTC +GAGCTTCGGATTTTCGGGATAGTGAATTGGATTGATTTTGTGTTGGACGA +CGATCATCAGACGCACAGGACGATGGTTTGGACAGATGCGGTCGGACCGA +TCTATCTGAGTGCCGCGGATCGAGCCAATATTCGACGGAAGCTGCTGCTG +ACCGAGATGCAGATTTTCGCGCCGTTGCGAATGTGCCATATTACTGTCAA +GGCGGAATTTAACTTGTTAGTTAAAAAAAACGCGTAAAAAGAATAATAGT +TCCAAATTTTCAGCTCGATTCCCGATGGTTCCCCGATTCAATGGACCATA +TCATCGTTCCAGCCACTCATCGAAGAATCAGAGAAGGATCCGAATATTGG +GCGCAATTTATGGCCAGCGAGAGTGCTCAGATTCGATGATTTAGTCGTTA +CAAAGAAGGTGCTTAATCATTTTAATATTAAATTTTAACAGCATTTATAA +TTATTTATCTATTTCCAGACACCGAACGGCTACTGGCTGAAGTCTCAAAG +ATTGGAGGGTCACGTTAATGTGTTCGCCGGTGCAAATCAAATCGGAATCA +TTGAGTCGGCGGGTGAAAAATACGCGACGAAGGGAAGCATGATGGCGTTC +GTGGTTCCGTGCTATCAGAACAGCACGTTTGCATATTTCGAAGCACTTAT +CGCCGGACCCCCGCGAGTCGTGATGATTATTACCGAAGGACGCTTTCTGA +ATTATTGCCCGAAGACGTGGCCACCGTCTGTTCGGAAAATGCGTGATCAG +TATCAGAAAGAGCACGTTGTAAGCACAATTTTCCAGAGAAAAAGGCTTTC +GATAAATTTTCTTATTTTCAGCTGAAATCCGAAGTCCGAAGTTCACCAAT +CTGCATGAAACAGCCGGATTATTGCCTCAAATCACTACGAGGATTCAGCG +AGTGCCCATTTTGATCACTCAAAGTTTTATATATTTCTGTATTTCTTCTG +CCTTATTTTAAAAAGTATTTTCCCGTTTTTTTTCTTTTGTTCAATTTTCC +CTTTTTCTTTACTTGTTATGTCCTATGTTTCATGCTAAATTAACGTATAT +TTTTAATTAGCAATTAAAAAACTTTCTGATTAACTGCCAGTTTTTGAGAA +GAACCAGAAGATGGAACGCAGGCGAGTTTCTGAAACGGAAAGGGTTTGAA +ATTTTTATCAATCAAACAAACTCGCAATTTTATCAAAAACCATGCCGTCG +TTGCAAGTTTGAAAAAACCACATATATTTGCAACATTGATAGAATATCAT +TGGATCGTATGGATCCGCCATGGCCAGACCATCATATTGACATGTACCGT +TTAATGGGTTCGGTACCGCTGAAAAGTTGTTGGTCTCGCAGCGAAGTACT +ACAGTAATCGGGAAAAAGCGCTGTTTATTATCGATTTTTCAATTAAAAAT +CAATAAACTCGCCGCGAGATCCAAACCTCAACTTACGATAGCTTTTTGTA +GGAGTCGATTGTCCATCGACAAGGAAGCCAGCAACTAGGAAAATTTTGAT +AGGGAGAAGCATTGAAATTTAATTGTTTTTGGGGGTTTCGTTTGGTTTTT +ATAGGAATTTTTGAGCTGTAAGAAAACAAAGCAACATTTATTTCAATTAA +AACCGGAAAATATGAGTCATTATGGGGGGTTTTCAACCGTACGGAATTTG +ACAAATTTGAAACTACCATAAAATGGTTAGTTTTGTAGTTAGAGAACTCA +AAATTGATTTTCTAAGACAAAAAAATTGCCCTTTTTCAGAATATAGTAGG +TTTGTATAATTTCCAAAAAATTATTTTTCTTGCCCAAAAAAAAAAGGACA +GTCATTAGATGGCTGAAAAAAAAGTGGGCAAAAATAAAAAGTGTCTAATT +TTGTTGAAAACGGGTAATTAATATATGCAGAATTCAGAAAATCTAGGTTT +AACCCATCAAAAACCATTAAAAAGTGGCAAAATTTGGCAATTTTTGCAAA +AACTCACAATTTTGAAACTCCTCTAAATTGGTTCAATTTGTAGCTAGAGA +ACTTAAAATTGGTCTCCAAGCCCTAAAAAATTGTCCTTTTTCAAAATATA +ATAGTTTTAAACGTTTTTAGAAAATTTATTTTTCTTGCCCAAAAAAAAGG +ACAGTCATTAGATGGCTGAAAAAAATTGGGCAAAAATAAAAACTTGTCTA +ATTTTGTTGAAAACGGGTAATTCATATATGCAGAATTCAGAAAATCTAGG +TTTAACCCATCAAAAACCATTAAAAATCTAAAATGATTAATTTTCTAGTT +AAAGGATTCAAAATTGATCTTCGAACACTAAAAAGTTGTCAAGTATCCAA +AAAAAGTGGTTCAATTTAAAAAAAATTGGTCAGGGAAAATTATCGATTTT +TTCGCCGCTTCGCAACTTGGACGAATTTTTCTTTCGCTGCACAAAAATCA +ATAATTATTGATTTTTTTTCTAAAACAGAAAAATAGATATTTGCACTTTT +CTGAAAAATCGATATTAAACGGAAATTCGCAAAAATCGATGGTCACTAAT +TTTTTTGCAAAACCCCAGTAAAAAATCGCTTTTTTCGCCGCATTTCCTAA +CTTTTTCTATGCCACCACTATTGATTTTTTTTCCAGAAATCTTGGAGCTT +CCCAAACCCGCTCATCAGCCCGCGTGCTTCATCAATCATTCCGTTGAGAA +CTATGAATTTTTCGAATGAAAATTAAAAAGAGGGGGATTTATTAGACTGA +AAAAGTGTTTTTGTGCCACGTGGCGGCGGCCGAATTCTCCTGGACGGGAA +TTTCTAGGCCATGCTTGGGGGAGATGAGGAGATGGGGGTCAACTTCAAAT +GTGTGTAACAAAATAGAAAAAAAACTATAAAAGGTAAGAGGAGATCAAAG +GTCACGCCACTAGGGCTTGAAAAATGAATGCCTGCCTACAAATAGACATG +TAGGAATGTAGGCAGGCAGACAAAAAGTGGGTGAACAACGAGAAAAGGCA +CGTAAAAAGGGGTAAAGGTTAGAGAAAAAGAAAAAAAAAGCTCACAGAGC +ACATTAAAAATGGAAAAAAACGAGATCATTGGATATTCTGCTGCCGTTGA +TCATCGTCATCATGAATGATCAGCTGATTGGGGTCGACTATCACATCATC +TGGGTTCACGAGAGCATCTTCTTCGAGCAGCTCATGCGGAGGATGATCGT +CGTGATGATTTGGCTCTTCCACAACCACTTGTTCGAGGACATCTGGAATT +TATAGAATTAAAAAATACATTTTTTAGACAAGAAATCGACAAATTTCTGT +GTTTATTTCTATTTTTCAGATAATTCCACACAATTAGATAGTTATTGAGT +TTTCTTTCTATAAATTTCAAAAAAAAAAACGATAATTATTGATTTTTTTT +TAAATCAAAAACTTCACAAAACTCAATAATTATATATTTTTCGTCCTCAT +TCTCTTTCGGTTTTGTGTGTGTGTGAGTTTTTTTGAAAAACGCAAAATTT +TCTGTGATATTTCTATTTTTTAACCTGACATGGGCAGTTTTTGAAAAAAT +TTTGCAATATTTTCGGTGTTCTTTCTCAGAAAAACTCGAAAAATTGCAAA +ATAAATGTAAAATTTATCAAAAATTACACATTTTCGGTCAACCTTTTGCT +CAGAGAAACTAGAAAAAAAATTTCAATTTTTTTGGAAACCTGCCAAAAAA +TGAAGTTTCAGTGAAACATTTTTTTTATCTTTTTTCGAAAATTTAATACA +TTTTTTTGCAATTTTTTAATATCAATCCGTTCTCACATTTTTTGGTAAAA +ATATGAGGAAAATGAATACATTTTGGATTTTTTCAGAAAATCTGTTTACC +ATTAATCTGCTTCTCCCCAGTATAAACTTTAGGCTCATTCTCGTGCACTT +CTTCTTCCAAATTAACATCATCACCAACTGTCCCAATAACTTCTTCCTCG +ACAATTTCCTCAACAATTGCTCCATCAGGAGCCATATGCAAATGCATTTC +TCCATTATCCATTTCTTCTCCAGCCATTATTTCGACTCCAAACGTGTGAT +TCACTATTTGCAAGAGACGATGTTCGCTTTTTTCGAAGAGCATTTTGAAG +AGCAAATCGAATGTCTCGTTGTCGGTTGCTGAGCCAAATGAGTTCTTGGC +AATACGGAAGAGAGCCTCGTTTCGACTTGTTCCACGCGCCATTCCAGATT +GTGATAGAGGCTGGAAATATTACTATTTCAGATTTTTAGATTAAATGTGG +AGCTGGGAAATTCGAGTTTTCGACGAAAAAATAGCCTTTCAAAAGATTAT +TTTCAGATATGTTTAAAAAAATTCCGTTGAAAACGACGAAATTAGATAAA +AATTGGATTTTCAGCACATACACGGGCGTTTGATTACGTGGCCGTGAAAA +CGGAGAAACTCGGCCACGTAGAAACAAAACCGAAAATTGCAGAAAATCCA +GGAATTTTTTTTAATGACTCCGAAATTTCCCCGATTCCGAATAATATATA +TGAATGAATATATACTTCTGAAAAATTTCAAAACCTTTGCTCACCAAGCC +ACTACTCTGCTGCCCAAAATTTTTAGGCTCCTGATATTTCGCCTTTCTAT +ACGGCAGCTGAATCTGTTGCTGGGATGATGATGGTTGCTGAATCTCTTCG +GTATGTGAAACCTGAAGCTCTCGCTCGTCGAGCATCTCCTCAAGATGCAC +ATTTTTCTTTCTGGATCCTCCTTCTGAAGCTTCTGCTGAAGCTCCAGCCG +TGTCAGTCGTCCAATCATCCACAAAATCACCCGCCGCCGCCGAAACAATC +ATCTCATTCTTCAACTCGTACGGATCATGATCATCTTCAGCATCCCGAAT +ACCATCAGTCGCCGCCATAATCTCACGACGTCGTACATAATAGAGCATCT +TCGTGTTCACCTGAATCCCATACTTCTCCAAAATCACTTTAGCCACCTCG +GCAGGTGTCATTCTCGCGAGCAGCCGGAGCACATCCTCCCGAATGTGTGG +TGGAAGACGTTGAAGTGAGTATTCTTGAGCGGAGCTCATCGTGCTCACGT +TAACCGGAGCCGGCATCTCGCCGGGCTCAGTGTACCAGTAAATGATCATT +GCGTTGCCGATTTGATGGCCATTCTTCAACACGTACGTCACCTTCTTGCG +AAGACGTGGACAACGTGGAAGGGTGGCTGTGTAGACGTGAAGCTGGAATT +CGATGAGATCCGAACGATGGGATGATGGTGTCTTCCAGATGCGTAGTTGA +CCTTCTCGATTCAGTGCGAGCGCTTGTTTCGCAGATTTTGGACGTTTTGT +GATGCCGTCTGAAAAACAGAAAAAAAATTAAGTTTGGAGCATCTTGAATT +TGCCTTTTTTACTTTCGGAACGTCCCACTTTTGCTGATTTTTCGTGTTTT +TTTTTCTGGAATTTTGGAATTACAGGGAATATCTCTCCAAACCAATTACA +GGGAATATCTCTCCAAACTGGCCGTCGCAGGAAGACTTCACTTTTAAATT +GTTTTACCTGTAGGCACAAAAGCAAAAGAGGAGAGCCTACATCTTTGTAT +CTTCGATAAATTCGTTAAAAGTTCTTTTGTCTTTATTCATTTTTCAAATT +ATTTTCCAATGTTTTAAAAACATTTTTTCTAAACTTTACAGTAATTTGGG +CTATTTTCACTATTTTTCAACTTTTTGACGCGTTTTTAATTCTTCATTTC +AACCTCATTTTGTCCAAACTTTCTCAAATTTCCACATAATATGGCCGATT +TTCATGAAATTTTCATAATTTACACCAATATATTCAATTTTTAACCTCAT +TTTTTTCACAGAAATTCCCAACATTTTCACATATTTTTCATGACAAATTT +GAATTATTTCAATGTTTTCCAAACTTACGAGGATTGGTGCTAGTATTCTC +TGACCACGGAACCAGTCCATCACACGTCAAATTTCTTGCATCAACCTCGA +GCCCATCAATAAAGAAAACGAATGCGGCTTTGCCAGTTGTGGCTGGCGGA +AGGGCCGGTACTCGATTGTTGAGGCATCCGAGGGACTCACTGCAAAAAAA +TCATCGTTTTTTCTAGAAATGGATCGATGTTTGTGTAACTTTATCGATTT +GCTAGAATATTATCGATTATTCCGAAAAAAAATTTTAAAACAACAACTGT +ATTTCTATTTTTATTTTTTTAAAGATAGACTTCCAGATCATATTTTTTTT +GAAAATTTATTTAAAAAATTATCGATTTCTCTAGGAAAAATATCGGCTAT +TCTCGAAACTTGTGGATTTCCCTAGAGATTTATCGATTTCTGAAAAAATT +ATCGAATTTTCTAGAAATTTTGCAAATTTTTTCATAAAATTATCGATTTT +TCTGAAATATATCGACTTTTCGCCCAAAAAGTACGTACATCAATGAAGGC +TTATTGACAAGAAAGTGTAATTGTCGATTCCTATCATTCCAGAACTCCAT +ATCCAACAGCTGAAGATACAAACTACCATCATCGGCGGCTTGTGCTGGCA +CAGCAAACGGGCATTCTTTCTCGCATTCCGACATATCCGACACATCATTA +TCGATATCATGTATCTGCGTTGGCTGGAAAAATGGATCCTACACGCGTTG +AGCACACACTTTGTGAGCTCTGCGAGAGCTCAATGAGAACCTACCGGTCG +TTTTGTGGCTCGTTTCGCGAATCGTTTCAAATATCCGCCATGCATTCGTG +GTAGCTCGCCTTCCTGATTATAGTCGTACATGATGAGCGCATGGCTCACC +ACGAGCCGTGATTCGGTTTCCATCATGTAATAGATTTTTTTGCGTAGTCG +TGGCTCGCGTGGATTGATGGAATACAGGAATACCAAGTGGAATGGGCACG +TTTTGTAGTCCATGTTGTCTTTGGTCTGTGAGGGGTTTTGGATATTATTA +CGGGAGGCATAAAATTCTGAGAATGCGTATTGCACAGCATATAGACCAGA +TCCGTAAATCAACACAAGCCCTACAGTAGTTATTTAATAAATTACTGTAG +TTTTTGCTGCGAGATATTTTGCGCGTCAAATGTGTTGCGAAATACGAATT +CTCAGAATTTTTTGTTCCTAAGAACAGCTCGTCAATTTTTTTTTCAGTTT +TTCAGGGTTATTCAAAAAAAACCTGTTTTTAAAGCTTCTAGGTCTCATAT +TTAAAAAGTTTTGAGAATTTAATACATTTTTTTTAATAGAAATTTGGCAA +TTTTTTCATCACCTCATCGTCGATTATTCTTTTTGAAAAATTTTCGATTT +TTATGGGAATATATTTATTTTCCAAGAAGATTAACTTTTTTTCAAGAAAT +CTGAAAATTTATCAATTTTTCAAAAGAAATTAATGAATTTTATCAAAAAA +AGAATAACTTTTCCAGAAAATATTTTTTTTTCTTAAAAATTAAAAAAAAA +TTGTTAAATCGCTTTTTGTGTCAATTTTTCAAAAAAAAAAAAGAGGCATC +GAGAATATCCCATTTTTTTCGAAAAAAATTTTTTGGTTATTTTTCTTTTT +TTAGATAAAATGTATATACTTTTTTAAAAATGTTTTTTCACCAACAAATT +TTGATATTAAAAAGTTGGAATTTTATGACTAAATTATGGAAAACTTTTTC +GATTTTTAGAAAATCGGAAAATTTTGAAAGTGGGCGTCGTCAAAAAATTT +AATTTTTTAAGAAATTATAGAAAATATGCTGATTTTGGTATTTTTGGAGA +GCGTCGATTTCCATCGGATTTTTTTGGTTGTTTTCCCTGGGATCCATGTA +ACACCTGAAACTGTGATCCCAGCTCATCACAAATCACTCCGACTTTGCGA +ACTTTCGTCCGATAGCACGTCGGATTCTGTGCATTTCCATTATGAGACCA +TGGCGAGAAGTCGTCACGATTGATGTCGTGTGGAAAGATGGCTGTCCCGG +CGACGAAGAATGCGTACGCACGAGAATTACGAACAATTGGTGGGTGTCCC +GGCTTCGCGTAGTTCAGCAGACCACGTTCTTCGCTGGAAAAATGATGATT +ATATCGAAACATTCGAGGAAAATGGATAGAAAAAACGAAAAATTCAATTT +TTATCAAAGTTCGTTTATGTTGATGAAAACATTATTACGGGAACACAAAA +TTCTGAGAATGCGTATTGTGCAAAGTATCTCGTAGCGAAAACTACAGTTA +TTCTTCAAATGACTACTGTACCTATTGTGTCGATTTACGGAAATAATTTA +TAAATCGATAAAACAGTAGTTATTTTTAGAATTACTGTAGTCCTCGCCAC +GAGATATTTTGCGCGTCAAATATGATGCACAATACGCATTCTCCAAATTT +TGTGTTCCGTAATAAAAAATAAAGTTGTTAGATGAATATTCAGGGTCTCA +ACAAAATTTAATCTGTGTTTTCAGTTTTCATGTTTTTAGAGTGGAAAACG +TTTTTTTTTCAGAAAACAGTCAGAAATGTAGATTTTGTTCCATATTTCAA +AAAATCATTTAAAAAATATAGAACATTTTTTTGAAAAATCAAATTTCTCC +AGAGTGTAGTACGCCATTAAAGGTCTCGTCACGATTTTGTTTGTTTTCAA +TTTTTAAGTTTTTGAAGTAGAAAATTATTTTTTTTAGGAAAATTTTTCGT +CGATTTCGTTGAAAATTCGCTAATAAACGGGGATTAAAAAAAACGAAATT +TTCCAATTTTTCGAAAAAAAAAATCGAAAAATTCCTCCCAAACTTACACA +ACATTGGTATTAGCAATCCACTCCAACACGGCCTCAAACGTGCTGGCGAC +CCTCTTATGTCGAACAGTCAAGTAGATATGTCCCGTTTCCAATTGCCGGG +GATTCTCAAAATAGGGCGCCGGGTTCTCCTGCTGAGTAAGCGGATCATCG +TCAAACTCCAAATCGTAGCCATTGTTGAGCACATCCTCTTGAGACATATC +CAACAAATCATCGTCTAGCAGATGTCCCTGAGCGTCTTGAGCAATCGAAA +CATCTTGCATTAGCTGATGTTGCTGCTGCTGGTGCTGATCGTGTTGAAGC +TGGATCTGATCTAGGGAATCATTGTGATGTCCGATGACTTCTTCTTCCAC +AACTTCCAAATCTTCTACATCTATAAATTGTTCTTCATCATTCGGTGCAG +CAGATGATGTAGATGGATCTTGTGATGTATCAATCTTCTTCTGATCGTCG +ATCCATTTCGATCCTCCAACACCTCGTCCAGGTGTTCCAGGTGGTTTAAC +ATACGGACACGGAACCGGACCATCTCTCACATATTCATAGATATAACACA +CATTTCCGATCGTAATCGTATTGTTGCGTTGAATATAAATGAGACGCTTC +CGAAGACGGGGACATCTCGCCAGGACGGACATTGTTTCGACGAGACACAA +CTGTGACGAGTGCCAGCCGCCAGCCGTGTCTTTTGCCATTTGGAACTGGC +CGTTGTCGTCTTGGACGATGGCTCGGCGAGTTGAGCGGACGCGGGGTGAC +GGACCTTCCGAGGCAGCTGAAATTAATGAAACTACGGCACTCTGTACATC +TCCGGAGGCACCACGTTTTCAAGATCTACCAAAACAAGATCTACTATTTG +GAGATCTACGAAAACAAAATCTACGTTTTCAAGAAATGGTACCATGCTAA +TTGCAGTTTTCGCAGTTTTCTCGAAGAACAACAAATCAACAATGTTGACC +GCCCAGTGTGCTCCGATGTCGCGTGTTGTTTAGCGTTTAGAAAAATCTTT +TTTGAAAGAAAAACTTCAGGAGAACGATAAACAACGCACGATGAGTAATA +TGGAAGAATTTTTGTTTCGTTTTTCTTTGAGAAAACTGCGAAAAAGTGCT +AGATCCTGAAAACGTATATCTTGTTTTGGTAGATCTTATTTTCGTAGATC +TTGTTTTTGAACAGATCTCGAAAACGTGATGCCTCAATCTTCTGCAGTTG +CCGAATTTTCACATTTTTAAACCTTAAAACATATTTTTTCTAAAACTTTT +CCAAAAATCGATTTCTTCGTTTTCACGATTTTTTTCAGAGAAAATATAGA +AAATCGAAAATTTGTAAATTTTCGATTGAAAAAATGGAAAAATTACAGGA +AATTATTGAAGATTTAAACTTGTTTCTAAACAATCGAAAATTATCGTTTT +TTTTCTTTTGGAAATTTTTTTTTGGATTTTTCCCAAAATGGTGGTTTTTG +AAATCAAAAAGCGTTAAAAACAAATTTCTTTTAAAATTACCGGAAATTAT +TTTAGAAAATTTCCGAAAAGTCAATAAATTAAAAAATCGAACAAGAGAAA +GAGTTATTAAATTAAACAAAAACAATTTCACAAAAGTCGATAACTATTGA +TTTTTCATCAGAATTTCCTAAAAGTCGATATTTTTAAACCTTCTGATAAA +TTCTTTTTTTGTTAAAAAAAACTTTCGATTGATTAGAAACACGTTTAAAT +CTTTAATAACTTCCTGTAATTTTTCCTTTTTTTAATCGAAAATTTACAAT +TTTAATTTATTCTTTTAAAAAAATCAAAAAACGAAGAAATTGTTCGTTTT +TTCTGGAAAAATTAATTCTTCGGCTCGAAATTTCGATGATTTCTTTTTAG +AAAAAAATATATGTAAAAAATTATACAATTTCAAATAAAACACTGTTTTT +TTTCTTTTGATATTGAAAATAGTAGAAATTTTTCAATAAAAATTCCAATT +GTTCACTCAAAATTTCAAATTTTCGACAAAAAAACTTACGATTAACAGTC +CACGGTGACAGTCCATCGCCAGTATGATTAATCTGATTTGCAACAAAATT +CGCCGGCACAAAGTACACAAAAACGCCGGTTGTCGGAATAAGTGGCGGTA +GGTACGGTGTTCGGCGATTCAAACAATTCGATTGGCTCAGCAGCTCGGGC +TCATTCACCAAATATCGGAGGAGAAGCTTCTTGTTGTGTGCCCAACCGAG +TTTTGCAAGTTTTACGCGAAGAAACATTCCACCACGTGGTCCTTCCACTA +TCTCGTCTTCGAACTGGGAATTTTTTTTTGATGAATTTGAGAAAAATAGT +TTAAATCTTTATATTTCAGTTTGAAATCGCCGAATTTCAGTTGTGCACCT +TCGTGTATATTTACGATATGTTTAATCTTTTTCGGATGCTGATTTCCGAT +CTTTAACGGTTTTCCTTCATTTTCGTCGGTTTTTTTTGGATATGTGTTTT +TGAGGTCAATTAATGAACCATTTTATTATCAGAAAACTAGCAAAATGTTC +AATACTCGACAGAAAATCCATATGCTATATGCTTTTCTCGACTGAAAACC +GGAAATGTTGCTAGTTTTTGATAATAAAATGTTAAATTAACACATTTTCA +AAAAAAAAACACTTCTACAAAAACCGACGAAAATTAAAGAAAATCGTTGA +AAAAACGAAAATCAACACCCGATAAAGATTAAGCATTTCGTAAATATACA +CGAATTTGGTAAATCGACACATGGCATCTCTAGCGCGAAAATTCGAAATT +CGTAATTTCCAGCTGAAATATTAAATCAGGGAATTTTTCTGAATATTTCA +CTTAGATATTCGGAATCAGGGAAAAATTTGGAGTTCTTATAAAAAAATTT +ACTAAGCAAAGTTTTAGCAATTTAGGTTCTAATAGGCTTTACAAATATCA +AAAAGTCCCGATTTTTCAAGGATCTATATATATTTTTAGAACCACAGATT +TTTTGCTGTTTTTCAGCATTCTCGGAAGACCATACCGGTGTGGATCCGGG +ATCATCCAGATCTAACGAGACGTGCGGATCAGTTGGATCGACCATCGCAT +GTCTTAAATAGTCGTTTCCGTGCGGAAGATTTACGATTGGTGGAATTTCA +CCGGGACACGTGTAGTCGTAGAGAATGAGCACGTTTCCATAGATTTGGCC +ATCGCGGGAGAGGTAGAAAATCTGGAAAAAATTTTTTGAATAGATTTTTT +CGCCTTTTCTGAAGGATTTTTTTTGAAATTTGAAGGAAGACGGGTTTTTG +CTTGCATAGACTCAAAATAAACCCTTTAGAAAATTTTTACGTTGGCTCAA +AATATCGAGAATAAAAACCAATTTTTTTCTAAAATTTCGAAAAAATGGGC +ATAACGGCGGAAAATGTATTTTTATTTGATTATTGTACCTTTTTCAGTTC +ATTTTGGAGCATTTTTGGCCCATAGGCTTAAAATTAACCTTAAACATTTA +AAAAACGTGAAATAAGATATCAAAAAGCCATTATGGCCACTATGACCTAA +AAAAAATATTTAAAAAAAAACAACTTTTTTTTGAATATTCAAATTTTCTG +AAACTGATAATAAACCTTTTTTCTCAATCTTAACAGTCTCGGCAGCCACG +CGCTGTACTCGGTGAGATGAAGTTCGGCGATACGTGGATCTCCTTTGACC +GATTGGAGCCGTCCGTTGAGACGAGCAACCGGATGACGTCGGACATTCGG +TTTGATGACTGGATCGTTGAAGTGTTGCTCGCCGCCAGTAGAGCTCCATG +GCTTCAGATCGTCATTCGAGACGTCTTTTATCGACATGATTTTGGAGCCG +TCCACGTAGAATGCGAAACAGGCTTTGTGTGGAACAAGTGGTGGGAGACG +GGGTGGTTTGTCGAGAAGCCAACCTCCTTCGCGACTAAAAATGGGGACCG +TTGATTTTTGTTTTTTTTTTCTGACCGATTTTTCGGACAATAGCTTGAAA +TTTTGACAATTTTCTTTATTTTTAGAAGATATTTTTTTCTTATATTTTTT +TTTCTCTAAAAACTATAGTAAAAAATAGTTCAATTTTTTGTGGTTCTGGC +GAAAAATGTATTTTTTCGAAAAAAATTTTTTTTTTTCAAAACAAGATATT +TAGATTTATCACTGAAAATTGCTAATTTCCAGTGCGAAAAATGACTTTTT +CTGGCTATTTCTGCCTGATTTTTGATATAAATTCCAATTTTCACAATAAA +ATTGCTGAAATTTTCTCCTTTTTTCACTGTCTCCGTACATCATTGCAATT +TCGGTCTCGTTGGTGAGCAGCTCAATTATTCGTTCCTTTCTGAGAAGGTA +GGCCAGGCAGCCTGATATCACTGTGGCGTAGCAATCACCGTTTTCCGTCA +TTTCAACTTCATCTTCGAACTGCAAAAATTATAGAATTGAAAAAAAAAAA +CGATAAAATCCGACTTTCTCGATGATTTTTATGATTTTTAACTGAAAAAT +TGATTTTTCGGCATTTTCTGAAGGATTTTGATTAAAATTTGAAGGTTTTT +TTTTCTCCCGTAGGCTCAAAAAACGCCCTTTTTATGGCGGCTCAAAGGCA +AATTTTAAGTAATAATCGAATAAAAAATCATAAATTTACGACCCCTACGG +CACGGGAAATTGGAGACTTCAGCTAAAACTAACCGTTGATTTTGAATATT +TTGAGCCAAATTTGGCCAAATAGGCATTAAATGCACTCCAGATGACTAAA +AACACGTGAAAAAAGCTATTAAAATTAGGTAAATAAGACAAAAACAGAAA +AAAAAGAACTTGAAGCGAAACTGGAGCCCATTTTTGGAGACAATTCTCAT +TACAAAATTGGTTTTTTGGGCACATTTTTTAGTCTTTCTAGTTATTTCGA +ACATTTTCCGAAGAATTCCCATAAAACTTTGAAGCTTTTCCATGTAAGCC +CCTACCAATTTCACGTGGTACTGCCTTTCAGCAAGAGCTTTACTGATAAC +TCGTTCTCCTTGAACTCGGAACATTTTCGACGGTGTCGCCGCCGCCGGAT +TTATAATTTTCATCGCCTTCTTCTCCTTATCCCCATCGTCGATAGACCCA +TCGGTATCCATTGGCTTGCGTGTTCGGACACGTCGCTGTTTGCTGGGCCT +GGAAAATTTCGATTTTAAAGATTTTTTAAATAAAAAATCCCCCACAAATT +CATTTCCAAATCCGGTGGTTGCCCATCCATAAACCCGTCGTCCTCCTCCT +CATCATCACCGAACGGGTCCATTTGTATGCGATCCTCGTCTCGATATCGG +GAAAGGTTCAGAATTGGCGGCTCATCCTCTACGATGACCTCCGTCTCTGC +GTGGAGCATCGAGTCGTCGCCGGCGAAGATGGGCTCTCCGAGCTCTCCGG +CGGTGAGCTCCTCCAAATGTGGCGCTGGCTTTCTCTTTTTCGCGTTTCGA +ACCGTACTTTCCTCCGTCCTGGAGCGTTTTGGAGCTGCGATCGAGCTTGT +TGATGCAGAGGCGAGCGCTTCTTCCTTTGGGATGCCCAACTCGTAGTCTT +CATTGTTGTAGAGCACGGATTTCCGAGCATTTCGACGTGGACGAGATTTT +GTGGCTGGATCCTGGGGCTCTGCGGCAGGCTCTGGATTTTGCTGGGGCTC +TTCGGCCGGCTCTGGATTTTGCTGGGGCTCTGTTGGATTTTGCACAAGCT +CTTGATCAACTTCTTCCTGATTTTCTGCCAATTCTCCCGAATTTTCAGGA +TTCTCGGACATTTTTCTGCAATTTAATAATTGAAAATAAGAATAATTAAC +GGGGTGGAAAATTAAAAATTAAACAAGCATTAAAATAAATTTGAAAAAGT +CCTGATTTGTAGTCCGCAACGCACGCACGCAAGCATACACCAGAACAACT +AAGAGAGACGGGAGGAGAGATGGAGAATTTGAAAGAGACGGCGAGGCGAC +GAGAGAGCCGGAGGATTGAGGAAGGACAAACACACAGATGTGGGGTCTTG +CAGCGCTTTCTCTGCGTCTCTTTTTTCGACATTTTTCAATGGGAAATTTT +TTTTTGGAGTTTTTCTTTTTTTTTATCGGAAAACTTCAAAAAATTCAAAT +GGAAACGCTGTACGGACAATGCATAGAATAACACGCAAAAATGCACATTT +TTAGGCCTTAGGTTACTGTAGTGGTCTCGGCGCGAAAATGCGGATTTTCA +TTTTGAATTCAAAATAAAAAAACTGGACGTGATTTGGTACAAGCGTTTAG +TGAAAATGTTTCACAAAATAGGAGATCAATTAGATATATTTATTTATTCA +TGGAAAATGACTATTTGGAAAAAAATTGCGAAATAAATAAAACTCGATTA +AAAACAATGTGCATATGTCTTCGTTGCTTTCTTGGCGAGGGTTTCTCGGT +ATCGAGTTCTACAAGAGACACACATTACGAATAACCAAAATAGTTTAGGT +AATATACACATTGGGTGGGGGTGGGCCAGAATAATATTGAATAAGGGTGA +AGAAAAAATATTCAAAATACGTCGCTGAAGTTGGCATACAATCTTGAGTC +GGATAAATGGTAAGAAAGCAGCACCACTCAACTCAGATCACAATCTTCTG +AAGAAAAAGGGACGAATGTATAGGTTCGGAGGGGGGGGAGGGGGAAGGGG +TGGGGATGGAGGCAATTACAAATAAATCTGAAAGAAAGTTACAAATACTA +CACACCAAAACGGTGAAGACTTGCAAACGCAGTGCTTGCAAGAATTCGAT +AAAACTCGCGGATGTTAAGAGCGAATCATTTGGATTTCGGGGGCAGTAAA +TTAAATGGACAAGGCATTTCGAAAAATACACACGTTAGACTGAAAAAAAA +AAACACGATGTGATTTATGGGATGCAACACTGCTTCTTTGGTGGGTCGGA +CGCTGGCGAAGGAATGATTGTACCACTGCCACCGCCATATCCTTGTCTGT +CAGTTCCTACATGCTTGTTGGATACTGATTTGTAGATTTCCGTCAGGATA +TTAGTGAAAGCTGCTTCAACGTTGGTGCTGTCGAGGGCAGATGTTTCTGA +AAAAAAAAAATATATAAACGCAATAGATTAGTTTAACTTACCAATAAACG +ACAATTGATTTCTTTCGGCGTAGATCTTGGCCTCGTCTGTTGGAACTGCA +CGCAAATGGCGCAAGTCGCTCTTGTTTCCGACCAACATAATCACAATGTT +CTGATCGGCGTGATCACGAAGCTCCTTCAACCATCGCTCAACATTCTCGT +ACGTCACATGCTTAGCGATGTCGTAGACTAGGAGAGCTCCGACAGCCCCA +CGATAGTAAGCGGATGTGATGGCACGGTAACGTTCCTGTCCAGCAGTATC +CCAAATTTGAGCCTTCACTGTCTTGCCTTCTACCTACAAAAATAATAATT +TGAATCATAAGTGTATTCTAATGAAGTTCCTCACCGAGATGCTTCTCGTG +GCAAACTCGACTCCGATTGTTGATTTTGATTCCAAGTTGAACTCATTTCT +TGTGAAACGAGACAGGAGATTCGACTTTCCGACGCCTGAGTCTCCAATCA +GAACAACTGAAACAATTTTTCGTTTGGGAATTGAAAAATGAAAAACAAAA +TTACCCTTGAACAAGTAGTCGTATTCATCGTCACGAGAGCCCATCTTTAC +TGCTGAGCTGTAAAATGATAAAGCTTGTTTGAAAGTTGTGTATATATTGG +GACGATTGTAAAAAAGAAAAAGGGCATTGGTCACATGATTCATCAGCCGG +GCGCAATGTTTTGTTGTAAAATCGATATTAAAAGAACGAGACACTGTTTT +ATCGGCGGAGAATATTTTTATGTTCTGTTCCCGACACAAACGCGGAGTCA +GGAACCGGTTGTCTATCTCGACGGGGATTGAAAAAATATAAGTGAACTTG +ATTTAAGAATGATTCAAAGTATATGGAGTTGGGAGTTTTATATTGAATTT +TATCAATATATGAGGGTGGTTAGTCAGAAGAAAAATGTGAAAATGTATAT +AGAAGTGTGTTATGAAAGAGTATTTGAGGCTTATCATACCCGAAAAAGGG +AAGGTGAGCGGCCGAACTTTGTTTGTCGACACGATTTCGAAATAGTTGAA +CAGGATATTTTTAACAAGGGAAAGCTTTCTCTGGGTGTTCTTTTTTGATA +ATTTCAGCTAAAAATTGAAAAAAATAATTAGTTTTATGGCTGTGAACATC +CAGAATAAGCTTTTCCGAACGCGAAATGCGTGTGAAACCCATAAAATCGA +ACGTAAAACAGGTCAGGCGCACCGGCGCAGCCACGTCGGTCTGAGGGTAC +GCGACGCTAGCCGCAGCGCAAGCCTCCTCGGGTCTCGGCACGACAACTAC +CGTACCCCTTTCGCAGCGGCGCAACGGAATCTCAATTTTACATTTTTTTC +TTTTTGGCCTAACGAATTTTTCCGTTTTTTCAGAGCATTTTTCATTGATT +TTCTTAAATTTTCATCAGAATAAATTTTAGAACTAATTTCCCGTAATTCT +GATACGCGTTTTTTATAGTTTTCGTGAAGAAAATGCTGAACATTCGAAAA +ATACTGAAATAATTTAGTTTTGAAAACTTGCTCCTCTGTTTCAATATCTT +ATAATTTTCTTTTCTGATTAATATTTTGATTTTCCAGGTAATCAATCGCC +TATAATGGCTCCAACGTAAGTTTTCTTTATAAATTTATATTAGATTGAAA +TTTACTTTTAGGCCTGACTTTCAAATACTTCAATTTTGATATTAATTCTT +GGTTTTTCAGAAAGAAAGTGCCACAGGTTCCAGAAACTGTGCTCAAGCGC +AGAAAGCAGAGAGCCGATGCCCGCACCAAGGCTGCTCAACACAAGGTGAC +CGTCGCCGCTGTAAGTTTATTTAACTGTCAGAAAACAGAAAATGCTCTTC +AAAAGCACTGGTTTTAGGATCCACTATTATCCAAGCCAGCCGTCAAAACT +GAGCTATAAGAATTATCTTGTTTTTGGGTGAGGTGTATTCAATTCAGAAT +GCGTCTCAATAACACGATGACAATTCGAAATTTTAAAGTTTAAATTTTCT +TTTAGGTGTTTGAAAATTAATTTGAACTAATCCTGCATTAAAAATAAAAT +TTTTTACAGAAGAACAAGGAGAAGAAGACCCAATACTTCAAGCGTGCTGA +GAAATACGTCCAGGAGTACAGAAACGCCCAAAAGGAAGGACTCAGACTCA +AGCGCGAGGCTGAGGCCAAGGGAGACTTCTACGTTCCAGCTGAGCACAAG +GTCGCCTTCGTCGTCAGAATTCGCGGTATCAACCAGCTTCATCCAAAGCC +AAGAAAGGTGAAATTGTGTTAATGAGTTTTTTAATAACCATTCTTTGTTT +TCAGGCTCTCCAGATCCTCCGTCTTCGTCAGATCAACAACGGAGTGTTCG +TCAAGCTGAACAAGGCTACTCTTCCACTTCTCCGTATCATCGAGCCATAC +GTAGCTTGGGGTTATCCAAACAACAAGACCATCCACGATCTCCTCTACAA +GCGCGGATACGCCAAGGTTGACGGAAACCGTGTCCCAATCACCGACAACA +CCATCGTCGAGCAGAGCCTCGGTAATTTGAAAACTTATGCTTTTTAATTC +TTATTTAATTGTTTTCAGGAAAGTTCAACATCATCTGTCTTGAGGATTTG +GCCCACGAGATCGCCACCGTCGGACCACACTTCAAGGAGGCCACCAACTT +CTTGTGGCCCTTCAAGCTCAACAACCCAACTGGAGGATGGACCAAGAAGA +CCAACCACTTCGTTGAAGGAGGAGACTTCGGAAACAGAGAAGATCAAATC +AACAACCTTCTCCGAAAAATGGTCTAACTTGTTTGTTGTTCATACCTTCC +TTCCGGATAAATCGTTATTGTTTGACGTTGTTTAATTATGTGCATAAATA +ATCATGAAACGTGATCGTCTTGGCTCGACTCATCTCGCATTTCATGAAGC +GTCTCATCATTCAGATGAATCGTAAAACCGCTTTGCTGACTACTCTCCCG +AGAACAGTCACTGTTCCCTACTATGCTCCATCCTGTTTATTTCTAGAAAC +TTTTCTTCGGAGCAAGCTAATTCCCTATGAAGTGAGAGCATTTAGGTTAA +TAAACATAGTCCAGATTTAAATCCAGACAACGCAATGTTCTCTCTACAAT +GTACTCCCTCGTGAGCACCTATACCCATTGATTGATGTCGATGGGTATTT +CTTCAAAAATTTGATGGAAGGACTTGATTATCTGCTCGCCAAATATGGAA +AAGTTGGCTTAAAACTAGAATTTTAGAAAAAGCTTAAATATTCTTCCAGT +CTCTGGACTCGGGCCTGACTCCAAAAGAGCGAGCACAGGCTCTCGCATTG +AGCGCTTTGCTCGACGAGCTTACTTGGATGCTCGCCTACTCGCGAGGCCA +AGATTTCACGTGGCTCCGCGATGATCGTAAGATTATCGAAGACTTCGGGC +TTGTTCAGCTCTATTTTTGGAGGAATTGGATTGTACCGCAGATGCAGAAA +CGGGTAGATTATTGATATTTTATGGAAAAATCGATAAAATATTGATTTTT +TACTGAAAAAATTGATCAAAAATCGATTTTTTTTTCCTCGGAAAATCTGT +AAATTAGTAGTTTTTTGTTGAAACAATCGATAAAATTCTGGTTTTTCAGA +AGCAAAATCGATATATTAGGCCAAAATCACCAAAAATTATCAATTTTCCT +ATAAAATTTACCATTTTTGGCTAGATTATCGATTTTTAAGGCAAGAAAGT +CGATATTTCACAATTTTTTATTGATTTTTTTGGCTTTCCAGCGCGCAAAC +TGTGCCAAGATCTAAATTTTCCGAAATTTTCATTTCAGACACGCCGCCGA +GTGCGAGGCTACGGAATATCCGGAAAATCGGCGAGAAAGGAGGTCGCCTG +CCGAACTGAAGCAATGTTGGAGGCATTGGCCTCACTTTTGGCCTCGAATA +AATACTTTTTCGATGTCAATGAACCGTCTTGGGTAGGTGGCAGCCAAAAA +ACTCGGCCAAAACTCGGCCTTTCAGCTCGACTGCAAGGCGTTCGCCGTGC +TGGCTCAATTCAAATATACACCACTGCAGAACGAGGCCCGCGTAAAACAA +TTCATGAAGGACCGAACTCCAAATTTGGTGGGTGGCCTTGAGTTTTCTAG +GCCACGAGATTTGAAAAATTCTATAATTAGGGCATGTGGTTTCAGATGAC +ATTTGTGACGCGCATGAAAGAGGAATTCTGGTCGGATTGGTGCACCACGT +CGGAGGATTGAATTTCGTGGAAAATGCTAATTTGTTTAATGTAATATGAT +TTTGCTTCGTAGATTTTAACCTATGCTCGAATAAAATTTATATTCTAATT +TTAAAAAAATTTCAAAACAAAAAATTTCTTACGTGACAATTAAAGGGTAT +TACAATATGGGCATAAAAAATGTATTCCCTAATTTTCGAACTTGTTCAGT +CTTGGTTGCCCAGGTAATTTTTTTGCAGTTCTTGTTTGGGACTCGGAGCG +ATTTTGCGCAGATGCATCATATTTGACGCGCAGAGTTTTAATTGAGGTTT +GAGCTTGAATTGAGTTTGAATTGAATTTTAATTAAATAAAGCGAATTCTA +GAATAAAATGATGTGTTTATTGCGAAATAGATCGTGAACCTACAAAACAA +CAGACTTTACGCGCAAATTTCCGAAATTTTCCAGAAAAACCAGTCAGAAT +TTCAAATGATACTTGTTCCTCTTCTATTTCTTCTCCCAATTTTGTTGTGC +GGTGGGAAAAAGAAAAAAGCGAACAAAAATGTGAAAGAGGCGTCGAAAGT +GAACTCACTGGTTCCACCGTCGACCTCTACGGACCCGCTGAAGACTAAAG +AGAAGGAGATGAAAAAAGAAGAAGCTCCGGGAGCACCAGACGCCCCGACT +AAGCCGAAAAGTCCTCCGAAACCAGTGGTCCAGGACACGAAACTTGCTGA +AGTGCTGCCTGAAAGTGAGAAGGAAGACGAAATGAAGAATGGTATTCAGT +TGCCGAATCCGCCGAAAAATTTGGTGGGTCTCACGGCGATTTGAGTGTTT +TATCGATTTTCTATGAAATAATTGATTTTTTCTAAAATTATTGAGATCTA +GATTTGCGAGTTTTCTGAATTTTCTAATATATCGATTTTTCAGAAATGCG +AAAGTGAAATTGCTCCAAAGGAAAAGCCGGCGGCTGACGAAAAGAAGGAC +GAGAAAAAAGATGAAAGCAAGAAGGATAAGAAGGAAGAGAAAAAGGAGGA +GAAAAAAAAGGAAAATGACGAAATTATGTGAAAAATTCGATAAATTGGTT +CTTGAAGATTATTGATTTTTCATTGTCGATTTTTCAGAATTCCTCGAAAT +TTATTTGCGCGTCATATATGGTGCATTGAGTCCATAGAGACTTCAAAGTT +CACGCGCAAATGCAGACATTTTTGCACGCGCTGCGGTGAAATTCCTCTTG +GCGAATTCAAATATTTTTTCCCGCCTTTTTTGAAAATTTTCGAGGCGTTG +GTCGAGCTGAATACACGTGAAGTTTAGACTGAATGTCAAATCACAAATAC +ATCACATTTGACGCGCAAAAAATTCGTTTTGAAAATTTGCGCGTCAAATA +GGGTGCATTGAGTACGCGGAGCCAATACATCACACTTGCTTTTCGTGGAA +AATGGAGCGAAATTTGATTTTTTGATTTAAATATTACGGGAACAGAAAAT +TCTGAGAATGCGTATTGTGCAACATAATTGACGCGCAAAATATCTCGTAG +CGAAAACTACAGTAATTCTTTAAATGACTACAGTAGCGCTTGTGTCGATT +TACGGGCTTGATTTTTTTTCCATTTTCTTCAGTTTTTCTGACATTATTGT +GTTTTATTTTAATATTTTTACCGATTAATAAATGATTTCCGTAAATCGAC +ACAAACGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCGCTGCGAG +ATATTTTGCGCGTCAAATATGTTGTGCAATACGCATTCTCAGAATTTTGT +GGCCACGTAATATTTGCGTTAAATAAAAATCAAAAAATTAAAAAAAAAAA +AACATTTCAGAAATTTTCAAAAATTTTTTGAAAAATTGACGCACAAAGTC +TCCTGTTTCCCTTTTCCCCAAAGTTTTAAACTAATAAAACTTTTTTAATT +GTCGAATCCGACCAGTTATTTAATACGAGACAAAACGGAAACAAAGATTC +CAATTTCCGATTACGGTCAGCTCAACACTTTCGCTCAAGGAATTCTCTAC +GCTTAGATTTTGATCTTAATGGAAAACTGGTAGAACTTGGTATAAAACTA +TCCAAAAAACTGGCAGAAAGAGTAGTCTTTCCGAAGAAATGAAGTCCCTA +ATCGAGGAAGATGACTTGGAAGTCGGCAGATTCCGCCGCAACGCGTTTTC +CGCCGTCGCCCTCTCCACCTCCTGTATTCTGGCGATTGTGGTGTTAACAC +CAATTGCCTATCAGGCAATTCAGAGAATTCACTCAAATTTGCTTAACGAT +GCCCATTTTTGTCAGGTAATTTTTTTAAAAAATTTAGAAATTTTGATTTG +GAAATATTCAAATAAAAAAAAAGTTTTTCGAAATTTATTTTCAATCGTTT +GAGATTTTGACATACATTCCAAAAATTCCTACTCTTCGCAATTTTTTAGT +CAACTCAAACTCAAAACCTTAAAAAAAAACCGCAAACCTGTCATGGCGCA +TCGATGTTATCCCTACGCTAAATGTTCTGTTTTCGAAGGTTACTTTTTTC +CAATTTTTATCACCAAGGAAAATGTATACACAAAAATATATAGAATTTGA +CGTGCAAATTGGCAAAAAACTAAACTTGCGCGTAAAATCACTGCATTGCC +TCTGCGGACTCAACACACCAGATTTGAAATTTCAGGAACTTATCGATTTT +TGTAAAATTTTGCAGCATGGCGCATCGATTAAATATTAAAAAAAAATTGA +AAATTATCGATTTTTTTGAACACGAACAATTTGTGGAAAATATGAAATAA +AAAAAAACATGGTGCATCGAAAAACTTACAGGCTCGAAACCGTGACCTCT +GGACAGAAACAATGAAGATGGCTCGGAGCCGCGGCCGGGACGAGGAGCTC +GTGGCCCGAACCAAGCGAGCGGTTAAAGGCACATGGCTCTTCGGACAGTA +TATTCCAGACCGATCAAGCAGAAATCGACGACAGCAATACGCCGAGGCCG +CTGGCGGAGGCGGTGGAGCACCACATGCCGAGTGTAGACGGGGTCCACCG +GGACCACCGGGTGATGGTAGGTTTTTAGATTTGCGAGGCAATTGTGGTGT +ATTGGTTTAATTTTACAGACGGGGTCGACGGAACGGACGGAAAAGACGGT +GCACCTGGAACCGATGGAAAAGACGGTCAGGTACCACAAGGACCAGCCGA +CGGAGGTTATCAAGAGGGACCATCTGATGCAGTTGAAGCATGCACACGTG +AATGCCCACCAGGACCGCCTGGACCAACTGGAGCGCCCGGAGACAAAGGA +TCTCGAGGCTACCCTGGAGAATCTGGAGAGCCAGGCACCCCGGGAAGCGC +CGGACCGAAAGGAAATGCTGGACCGTAAGTGGAACTAAAGAATCGATAGT +TTTCGGTAAAAAATCAATCATTTTAGGAAAAAAATCGATAATTTTCATTT +TCATTTTTCTCCATTAAATTATGTTAACTTTCTAGAGCTGGACCACCAGG +ACCACCCGGATATCCAGGACGTCCTGGAGAAACCGGAGATCACGGAAAGA +CGATCGCCGGAGAGGCGCCACCTGGACCACCAGGACGACAAGGAGAAATG +GGTCCACAAGGACCACCGGGACCACCAGGGCCACGTGGAAAGGACGGAGC +CGGTGGAGAGAAGGGTGCTCCGGGAGATCAAGGTAATCCGGGACCATATG +GAAAACCTGGGCAACCGGGAGCTCCAGGACCCGATGGCTCTGCTGGTGAG +AAGGGAGGATGCGATCATTGCCCACCGCCAAGAACTCCACCTGGTTATTA +AAGATTCTTCGATTGATATTTTATTTTATTTTCATGACGTTATTCATTTT +GTCATTCGGTTTTCTTTTGTTGCAATATGATAATAAATCAGATTCTCTTG +CCAGTAGTTCCAAGTGCCCCAACATATTTTTGAGTCCTTTATGTAGATCC +CTCTCCTCGAAAGCTGGATGATTTAATAAATCTTTCAGAAAAATCGAAAA +TTTTAGAAAAAAAAACATCAAAATTTTTGACAAACTGCATAATCAGTCAA +TATTCTAAAAAAAAATACGATCGCACAAAAATAAACAACGACGCAACGAC +ACTCCGCGGTTACTAAGCTCCGCCCACGATTTCATTTGCACTGCGTTGAG +TCGGCCGTATTGTTATTCAAACATGAATGAATATACTGGTGAAGTTTAAA +AAATTGGGTGTTTAGTTTTGAAGAAAATAATTTTTTTGGAATTTTGAATA +AAGCACAATTGGCAGCTGAAACTGGACTTTCAGACAAATTTTGAACGGTG +GTTGTTGATGCTTTGAGTTTATATTGTTATTCAAACATGTATGAACTTGT +AAAGTGCTTGTAAAACTTGTAAGTTGCTTGTTCGCTCATTCTGAAATAAA +ATTTAAATTAAATAAAAGTTCACGTGATACAAAAAAGCCAACTTATTGAT +TGAAATCGATAAAATCGATAAGAAATTCATTCATTTAATAGTTTTTAACA +AACAACAAATGCGATCAAAAAGTTCGGAAGGTGATTTACAACCAGAGGAC +ACCCAATCCAGAGAAGATAAAGAGACGACTGCTACGTATAGTGAGGATAC +AAAGCCAGGTAAATACAGTAGTCCTACCTTAAAATTACAGTAACCCAGCT +GACTAAATATCATAATAAAACTTGCAAAAAAATGATGTAAAATCTTAGTT +TTTAGTCTTTTGAACTGGTAGAAACTGTGTTAGCGCCACTTTTTGACTCT +AAATAGAAAAATTTCCCATTTTAAAAGAGTTGTATTATGATACACTGCGT +GGCGTGTAAAATACCAAAAAATAAGCGCGGTTTTTTTTTTCGTAAAATCA +CAGGGAAAAATCCGAAATCGGAACTCCAATCAGCCGCCAACATCCCACGG +GCCCAATAACTTCTGGGTTTTGTTTCAACAATCTCATTTACTCCAATTCC +AGAAACCCAAAAGGAGAGAAACGCGGCACTGGACAATCTTGCCAAGACCC +CAATCCAGTTAGTCGTCCAACCAACTCCTCTCACACCAGCCATCACGCCA +TGCGAAGCACCACCACCACCACCTCCACCAAAACCCTCTAGCGATAATAA +CAACTCGAAACGATTGAAAGTGAAAGATCAACTGATTGAAGTGCCCAGCG +ATGAAGTAGGCCGAGTTGAGAATAATATAGACAATTTCCCGTTCTATCAT +GGATTCATGGGAAGGAACGAGTGTGAGGCGATGTTGAGCAATCATGGAGA +CTTTTTGATTCGAATGACGGAAATTGGGAAGAGGGTCGCCTATGTGATTA +GTATCAAGTGGAAGTATCAAAATATTCATGTTCTAGTGAAACGGACCAAG +ACGGTGAGAGTTGTTTGGTATTATCATTTAGTTTCGTTTCAAATCAGACC +GAGATACATACAAATATTGAAGTTCAAATTTAGAACATGTTGCATCGCAA +TGTGTTCATTGTGCTCCCTGAAGCATTATGCGGACATCACGAATTACATA +AATTATTTTAACCAATGGTGGGCGGCAAATTGACAAATTGCCGATTTGCC +GAATTTGCCAAAAATTTTCGGAAAATTGTATTTTTGCACATTTTTTTTAA +ATTTCAAAATTTCAAATTTTATCGGCAAAATTGTATGCATCCTATGAATA +TTTCTACATCTGTTTCGAAAAGTAAGCAAATTATATGAAAATATCTAAAG +AAAAGGGGAAAAAATTCGAAAAGGCACAGTTTTCAGTGTTTCCGTCTTAC +AAAAAAAACCTCGAAAAACTTTCGGCAAATAAGCAAACCGGCAAATTGCC +GGAAATTATAGTTTCAGGCAAATCGGCAAACCGGCTATTTGCCGAATTTG +CCGAACGGCAGTAGCCTCTCACCCCTGATTTGAACATGGTGCATTGCATC +ACCGCTCCTCGACTTGGAAAGTTTATATCGGTAGATATTTGCAGCAGATG +TAATTTACTGATATTTTCAGAAAAAGCTCTACTGGACCAAAAAGTACGCC +TTCAAATCCATCTGTGAGCTTATTGCCTATCACAAGCGAAATCACAAGCC +GATTTATGAGGGCATGACGTTGATCTGTGGCCTGGCACGACATGGATGGC +AGCTGAACAACGAGCAGGTCACATTGAATAAGAAGTTGGGAGAGGGACAG +TTTGGAGAAGTGCACAAAGGATCGCTGAAGACATCTGTATTTGCAGCCCC +GGTCACTGTTGCCGTGAAGACCTTGCACCAGAACCATCTATCCGCCAATG +AGAAGATCTTGTTCCTAAGAGAGGCCAATGTGATGCTCACCCTGTCTCAT +GTAAGCTACCTGTTTCAAGTTGAACTAAACTAAAATTAATTTCAGCCAAA +TGTGATAAAATTCTACGGAGTATGCACCATGAAGGAGCCCATCATGATTG +TCATGGAGTTTTGCGACGGGAAATCCCTGGAGGACGCTCTACTCTCCAAG +GAAGAAAAAGTGTCAGCTGAGGACAAGATTCTCTACCTTTTCCACGCCGC +CTGCGGTATTGATTATTTGCACGGAAAGCAGGTTATTCACAGGGATATTG +CGGCGAGAAATTGTTTGTTGAATTCCAAAAAGATCGTGAGTTTGTTTTTC +AAAAATTTCTGAATCTATGTGAATGAAAAAATAAATTTCAGCTGAAAATC +TCCGACTTTGGATTGTCGGTCAAAGGAGTTGCTATAAAGGAGCGAAAGGG +AGGATGTCTGCCGGTCAAGTACATGGCTCCGGAGACATTGAAGAAGGGGT +TGTACAGTACTGCCTCTGATATTTATAGGTGAGCCTACGAGCATACATAG +ACATTGGTAGTGGCGTCAGCGGTGGCCTAGAAACCTTATCCGCGTCTGAA +GGTTAATCAACCTCACACAAGTCTCTATGATTTCCAGCTACGGCGCTCTA +ATGTACGAAGTCTACACGGACGGAAAGACGCCATTCGAAACGTGCGGGCT +ACGTGGAAATGAGCTCCGAAAAGCGATCATCGGGAAGAGAATCAGCTTGG +CCGTTGAGGTAGAGCTACCAGTGTTCATTGCCAACATTTTCGAGCAAAGC +AGGCAGTACGAGACCGAAGATCGCATAAGCTCCAAGCAAATTATTCAGAT +TTTTAAGGAGGTTTGTGAAGCATTTTATCGGTTTTTTGTTCAAAAAATTA +GTAATTTTCCAGGAAGTCGGATTCCATGAAATTGAGACAAGTGGGATACT +GCATAAGCTTGTCAATTCTCTTCCGAGAATTCACAATAAGGAAAGAAAAC +CCGCGGCGGTGGCAGTGTAATAAATATCTGAAAATCCCCCCACCCCTGAA +AATATTTGACTGTATTTTTTAAATCAAACACACAACGCACACAAACAGAC +AGACAGAAAGCCTAAGTACACAGAGAAAATGTTTGAGGTGAGGTGCGAAA +GGGAGGAGGCTAGAACACCTACTTTACGCCAACAAGTTATGACTTTTTGG +AATTCAAAATGTCGTTTTTTGCTAGTTCACTGCTTACCTACAAACCTTCC +TACCTTGTCTGCCTACCTTCCTTCCTATTCTCTTATTGCAAGATCTTTTG +AATTTTTCTGAAACGTCTGTCTACTTCTGCGTCATTTGCAAACAGGCTGT +TCTCAGTTTTAGGGGGTGGCAGCACCCACAAAAAAACATTGGAACAGAAA +TCAGTCGGAGTGATCTACTAGATTAGATAAACATTAGATATCAGTTTGGA +AAAGTTAAACATTATTAACTCACAATGGATTTTCTTATTGTGTTTCTTGA +TATAAAGCGTTGAGCGGTATTGATACCATTACAATGCACTAAGCTAAAGG +CTGTCAGAGCCGAATGAAAAACATGATACATCGAGCATGCGGCAATTGGC +GTTCGGAAAATCGGCAAATTAAGATTTGCCGGAAATGTTTTGAGGGATTT +TTTATAAGATTTAAATGTGCCTTTTTGAAATTGTGTCCCGTTTTCTTTAG +ATATTTTTATAGGATTCGCTCACTTTTCAAAATAGACGTAGGAGAATTCA +TAGGATGCATACACTTTTGCCGATTGAAATTTAAATTCTGAAATTTCCAA +TAAAAGTGCATCACCACAATTTGCCGACTTTTGGCAATTGCCGTTTCTCC +GGCAAATTCGACAAACCGGCAATTTGCCGATTTGTCGATTTGCCAGAAAT +TTTCAATTCCGGCAATTTTTCGATTTGCCAATTTGCCGAGAATTTCAATT +CCGTCAATTTGCCATATTGCCGGAAAAAATCGTTTGCCGCCCATCCCTGG +TTCGAACTCCTAGAATGGTAGAATATGAGTATACTAAAAATAATTTGAAC +AGAACTGGAACTGGAAGAAAAATTTTTTACCGACGTCTTCTGAGAAAATT +TCGTGAAAATTGAGTTTTTATCACTTTCTGACTCACAATAAAAAAAATTT +CCAAAATTTTTTGAATAGTTCTCGATCGTTTCCAAACTGGTCTTCCGACA +TTCAGGTGCGTGATTGGTAAATATGAGGGAACTGCCATAATCAAATGAAA +AACACGGTGTATCGTCTGAGAAAACCTTAAACTGTTCCGTTTTAGTAATT +GGACAAGGATCTGCTGAATCTCGCTACTATAGCAACCGACATCTTGCGGG +TCCAAAAAAGATTGATCTTGAAAATTTGATCCAAGTTTATTTAATCGCCG +CCACACACACACTCACAAAAAAATCAATCAAATCACCCATATCAGTTGCG +CGATTTCTAGTTTCTAGGCGCGAAAATCAAAAGGAGGAGAAGAAGCATTT +CCGCATTACTCGTGTGTGTGCCGTTTCCGTTTATTTGTCCCTCAGGCTCC +CCTCTCTGTTTTTTTTGTTTGCGAAAACTGTCTCTCTCTCTCTCTCTCCA +TCACTTTTCTGTTGCGGAATAGAGGGAGAGAGAGAGAATTTCGGAGGGAA +AAATACCTGAAATGTGATCCTCTCTCTGTATGTCATTGACTGTTGCGCGA +GAGCCTTTTCCCGCGCGCGCGAGCCTCCCACCTACCCGTCGACGAGCCTA +TTTTCTTGTCGGCGGTGCCATTCGGCAATACACGTCCCTCTCTCTTCTTG +CTCTAGAAACATTCGGATTTTGATTTTTTGATTTTTCATGGTGGATCTGT +AGGCTTTTTTAGGCCATCTTGGACTTTGTGGTGGCCTAATATATGGTGTA +TTTTCCAATTTATCATATTTGCTTTAGTATTGTCCGACTTGTAGGCAAAT +TGCACCATTTTAAGCCAAGTAATAAAGCTTTGAAGTTTGGCTGCCTAGGT +TTTTCTAGCCACCAAACAATTTTTTTGTTTTCACAGCACACTTTTTTAAA +GACTGTCATAAGTTTTCAAAATTCTTTGAAAAATTTTACACCGAATTTTG +AGATCTTTAAGTTTGGTGGCCTAAATTTTTCAAAATTTTCTATGCCACCA +GACTGAAACGTCCTAACTCTATTTGAATTATCTTTGAAACTATGAAAACT +ACAAGTTCGACTAAATATGGCTTATCCAATTAAACTCGATTGGTGGCCTA +GAAAACCAATTTCGATTTATTTCATTTTCTAGGCCACCAATAATCTTGTT +CGAAAATTACTTTTATTTAATTACAGTGGAGTTTGGAATACTTACTGCCA +TGGGCTGTAAGATGTTGCTCGCCTAACTTTTTCTATGCCAGCAACCAAAA +AGTGGTGTTGGTGGCCGACAAACCCAAACTTGGACAATTGCATTTTCTAG +GCCATCATTTTTTTTAAACTAATCGTTGTTGGTTTAGTCTACTGTAAAAA +ATCAAATCGATAAGAACATTGGGAGCCAAGCTTTGGAGTTGGTGGCCTAG +ATTTTTCTAGGTCACTAACTTGAAATGTCTGTAACTCTAAAAAATAATTT +AGAGATATATAACAGAATTAGTAGGCTAATTTTAGGATGAGAAACTATTT +AAACAATTGGTGGACTAGAAACTGAATTTTGAAATTTCTAGGCCACCAAT +TCCAAATAAGCCTATTTCACTCCTGAATTGAGATAAAACGCTGAAATTTT +GGACATATTAGAATACGCTATATTTGAAAAAATGGAATTGGTGACCTAGA +AAATATTTTTTTGAAATTTCTGCTCCACCAATTTCAATTATAGCATAACT +CATTTCATAGTTGTAGGACGGTGATTGAAATTTAGGATAGACAGATTTTA +AACCAAAACAGATTGATGGCCCTTGAAATTTCTAGGCCACCTCTCCAGAA +AAAAATCTGAAAATTGTTTTTATTTCTAATTCATTTTCTTCGTCCGTTTT +TCATCTCTCGAGGATCTTATCCCCTTGTCTTACGTCTCCCACCCGCTGCT +ATTTGGGCGACCTTCATAACTGTGAAAATTCTCACCATTCTCCCTCTCTC +GTTTTTGCCCCCCCCCCCCGGTCTCCTATCATTGTTCAAGTACACCTGTT +GTCCCATAACATCTGCCAACCAATTTTTTCCAATTTTGCCACAATTTTTA +TTCAAAAAAGTGCATTGCAGCGGCAGGCATGCCTCACTCGTACACACACT +TGAGCATACAGGAAAAGCGAAAAAATCAGTGATTGTTTGGATTCCTGGCT +CTTTCTAGGAAAAAAACTCTTCCATTTTTGTAGTGCACATCAAAATGATC +AAGCTGGTTAATTTTCAAGTGACTCCCAAAAAAATAACTGAGAAAGTTGC +GTTTTAAAGTTTCTAGGCCATTGTGGGATTTCTAGGTAGGTTTTTGAAAA +TAGAAGACAGTCTTGCACTAAAGTTTTGATTAGGCTGTTAAATGATTTTT +GTCAGTACGTTTTTTGGAACTTCGATTTTTGCCAAAAATTCCTTTTTTAG +TTTTTGTTTCAGTTTTTTGCAAATTTTTATTTCTTCCATATCTTACAACA +TTTAGAAGGTCTCAAAGTCTCTGATAGCCAAGAATTGACTCTAATGACGT +TATGAGCTCCGAGACTATTTTAACCTTTTTCCCTTTTAAGCATAAAATAT +ATAAATATCAAAAATTTAATACAAAAACTTCTCGTTTCGAAACGTTTCGA +AATCCTCCAGTTAAAAAAAAATTAGATTACGGCATCGGAAAAATTGCGAA +ACTTTTGAATCTGAGGGATTTTCAATAGAGGGTCCCGCCAGGAATTTGAG +TTTTTAACAGTACCCTTTCCATCGTCCTTCCCGAAGCCCATTACATCATC +ATTAATTTTGCGACCTTTCTAAAAGCGGTCATGGGGGGGGGGACATGTGT +TTGTTGCATATACAGGGACCCCCCGCCACAACCACCGCAACTAGAGATAA +AGATCTGCTGCACACAGACAGCTGGCACATGGATGGACAGAATGTCTCCT +TAATTTTACCGCCTATTTCATAATAATAAAAGTAGAACGGGGGGCAGAAA +AGAGAATGATTGCGAAACCACCTGCTTGGCTGTCAGCGCATAAACTTTTC +GGAAATTTTGGGTCCCACCACGCTTTTTTCGGTAACAAATTTTGAGATTT +CTCGATACACCATGATGTCTTTTGGTGGAATTTTGGGTTATCATGGCTAA +TACAAAGCTTTAACGTGCCTTGAACTTTCGCAATTTGAACTTTTGGCCTT +TACTTAAAAATTTCGATGGGGCTCTATAAGCCATGTGGTTTCGAACTTTT +CCTGAAAATTTAGATTTTTGTTCATGCACCATGTTGTTTTTTTTTTGGAA +TAATTGAGGAATTCCTTACTTTTAAAGTAAAAAGTTTGGTGAGATCCATG +TGTTTTCATATTATTCAGTTGGTAAATTATACAGATTATTGACTGAAGGT +TAATTTTTTGTTGGGAAAATAAAAATCGCCAAAATCAATAAAATCGTATT +TAGAAGTAGGGTTTCCATATAGGCGGTAAAAGGCTTGTCTGCCTGACAAT +AAGACGACCGCCGCTCGCCTCAATCCGCGGCGGAGGCAGGCAGGGTTCAG +GTAGGCACTGAAACCGCGCCTGCTTACCATGATGTTCCGTTCTTGTCGAT +GCACCATGATAATTTTGGGTTACATTTTGAGCCTTTTCGAAAAATTAATG +GTGGAAAATTTCAAGCTGAATTTTAATATTTATTTTTTTAACCGTATTGT +GGGACATGCAAATGTCTTTCATTTTGTGTCCCTTCACTCTAACGTCTTCA +GAATTTTCGAACTTCTCGATGCACCATAATGCTGTTTGGCGATAACTTTA +GAGTAAGAATGGTAGCGATTTTTGCGATGCACCATGACGTTTTTATCGAT +TTTCAGAAAAAAAATCACTCCGAGACCCAAATAGTTTCATTCTCGACGCA +CTATAACGTTTTCGAAGTAAATTTCAAAATTGCTTCTCGGAAAAGTTTTT +TGAGACCTACATGCACCTTTAATCTTCTTTGGAAACTTTGGAATTTCCGC +CGAATACTCTCATTTCAGTTGTTCTCGATGCACCATGATGGTATTTTTTT +CAAATTACTTTTTTTTGATTTTTCCATGAGAGGACCAATATCTGTCTTTA +TAACGGCGCATTCTGTAACCAAATTTTGAAATTCCACGACATTCTGCTCT +CATCGATTCAACATGATAATTTTAAAATGAAATTTAGCGATTTTTCGGGA +AAAAAACAGTTTCGAGATTTTCTAGTTATTGGACACTCTGCACCTTGCTT +ATTTGGAAATTACATTTTAAACCGACAACCCTTCAAAAACTGCTTTTCGT +CGATGCACTATGAGTGCATAATTTTGTGTAAATCGTGGTGGGCCTCTAAA +AAAACCGAAAAAAAAAACGTATAAAACGCAAACAAATTGTTTTTGTTGTA +ATGTTGACACCAACAGATTCGGCGTGGAATATACGGAAGATCGGATTTCC +AAAAAAACAACCGCTCTCCTGTTTTCGACGTTCCGCCGCTTTTTATGGGA +GAAGTAGTATGTACCTTTAAGGGTACTGTAGCCCCTTGAATATTGGCCTA +AAAGTGAAACTAGTGTTGCCAAAAAAAAACGAGATGACCAGTTTCAATAT +GTCATTTACATCTACACATTTCTAAAATCTCATTTTAAATTCCATTGTTT +TCTCGTTTCTTCTGTCCCAAAGTACCGTATCCTCATCCTTCTACCACCTT +AATTTGCATTTCTTCTTCCTTATTCACTCTTCTTCCCCTGGACGAAAAAT +GTTGCACGACAACAACAAAAGAGACCCGCCCCCCACCATCGGTTTCTCTG +AACCTCTAACTGTCCCCGCCCCCTTTTGGGAGCCCACTGTCTTTTCTTTT +TTTCTTTGGTCGCTGATTATGACGGATCGTTTTTGTCGTTTTTGTATTAC +AGGAATACAAATTTCCCAAAACGCGTATTGCACAACATATTTGACGTGCA +AAATATCTAGTAGCGAAAACTATAGTAACTCTTTAAATGACTTTTGTAGC +ACTGATGCCGATTTAATTAAATTATTTATTAACAGATAAAATATTAAAAG +AAAACACGACAATTCAAAAAAATTCATTTCGTAAATCGAGCCCGTAAATC +GACACAAGCGCTACAGTAGTCATTTAAAGAATTACTGTTTTTTCGCTACG +AGATATTTTGTGCGTCAAATATGTTGCGCAATACGCATTCTTATAATTTT +GTGTACCCGTAGTATATTTTTGTCTCTCTGATTTCCATTGCAATTTTTTA +ATTCCATATTTTTTTGGTGACAAATTTCTCCGCTTATCAATTTTTTTTTC +AACCACATAATTATTAACCCCAAAACATCGCAGATTTTCAGGTAAAATGC +CAGTCGTGAGCGTTAGACCTTTTTCTATGAGAAATGGTGAGCAATTTTTT +TGAAGTTTTTTTTTGAAATTTTTAATTTTTCCAGAAGGCTTCTCAAACGG +GCATAACACGTGGAACGACGCCGAATTTTGGAAACCGTGAGTTTTCGGCA +AATAAGCTAACAGTCTAAGAAACACGAAAAAAAATCCAATTTTCTTTTCA +AAATTCGTGATTTTCGGATGATTTTTGAACTTTTTGATTAATGTTCCCAC +TGAAAATCCTCCAAATCTCTAAAAATCCGCTTCTAAAAAAGCCTCAAATG +GCCTTGCGAGAATAGACGGAATGTTCAAGGATGACTGGTATAAAATCGGC +AAACGTGTTGCCATTCAAACAGAATATCTCGAAATTTCGCCTTCCTTTTT +TTTAAGTGGGTCGGATATTTAACATACAGAAGAGAATAGGGAGAGAAAAG +AGGGAAAAGAGGGGAAAAGTCTTCTTGGAAACAACCTCGAACCGCAATTA +AGTTTTTGCCTCACCCTTCAATTTTCGTGAGAAAGTTAAAAATCCAAATT +TTTTTCTCCTTTTTTAAAAAAAGATTTCCTCCTCAAAAATTCAAAGGATC +GAATTTTTTGTTACACGCCTGCCTCCTTTTTATTACCCTTGTTCTTGATC +GCAACCTCTTTTCTAGATTACTTGAAAAAATGCGCTATTTTTTTTCCTTT +TTCAACAGAGTCAATTTCAAAGGTGCTGTGGAAAAAGTTTCGGTTTTTTT +TTGCAAAAATAATCGAAATTTGTTCGTTTATACTGCTTAAAAAATGACCA +AAATTTCAAGTAATTCATTCGAAAAATCGATTTTTTTGAAATATACAAAA +ATTTTCAATTTTTCATATCTGAAAACACAATTTTTTCGATTTTTCATTTT +TCTTGGAAAAAACACAAAAAAAAACTGTATTTAATTTCCCACTTAATACT +ACGATATCCAAGCCCCGCCTCCGCGTATTGTACGTGAACACGGCGGCCCA +AAATTACACACTATCTCACACACGTTAAATGAGTGATACCGTACTCTCTC +TGTTTTTTCTTTCATTTTTTCGGCGCCGAAAATTTTCAATTTTTGGTGGT +TCTTTTGGCGGGATTTTTCGGATTTTTGTCGCGTTCACACACACACACCA +GTTGGTGTTGCCTGTCGTCACCCACCCGCCCCACTCTTTGTCCGTGTACT +GCTTTGCCATTTGTGCGCGCGTACCGCTGCCCGTCTGTCTTTCTCATCAT +ATGCGCCTCGTTTTGTCGCTTTTTCTCCATTTGCCCTTCCTACATGGGTA +CCTGCGGTTTTCATCGAAAATATCCTTAAAAATTCCGAAAAACCTCTATT +TTTCGATTTTTGAATCGATTTTCGCCCAAACATAACCATTTTTCAGAATG +AAGGAAGAACAAATCGCCTATAAATTGCCAGGGGCTTGGTATTACGAGGA +GGACACTGCCTCGTGCTCTCCAGTCAGCGATCCGGAGGATATTGCGCAGT +TTCTCAACTACAGAACGTCGATAGGCGTGCAAAATGTCACAGAGTCCGTG +GAAGTTCCGACGTCGGAGCATGTCGCCGAGATTGTTGGTCGTCAAGGTAA +AAATTGCCTTTTTAGTCAAATCTACAGTTTCCACAAATTTTCAGGCTGCA +AAATTAAGGCACTGCGCGCCAAGACCAACACCTACATCAAGACACCGGTT +CGCGGAGAAGATCCAATTTTCGTGGTCACCGGACGCCTGGAGGACGTGAA +CGAGGCGAAACGAGAGATCGACTGCGCCGCCGAGCACTTCACACAGATCC +GTGCGTCGAGAAGACATACACAAGGTAGGTGACCGTAGGCAGCCGGTTCC +TGAGCGCCTTGTTCAGTTGTTCCAGGAGCCCATGCACCTGGACAGATCAC +GAGCTATGTCAGAGTTCCGTTAAGAGTTGTCGGACTCGTCGTCGGACCGA +AAGGAGCGACTATCAAGCGAATTCAACAGGACACCCACACGTACATCATT +ACGCCGAGCCGAGAAAGGGAGCCCGTTTTTGAGGTAATTTTGTTGGAGAG +CATAGAGTTTTGGAGCAAAATTCTCAGCAATTTCATGCTTTTTAACAAAA +ACAGAGAAGTTTCTAGTTTCGGCTTAGAAAATACTGAAAATCGGCTTTTC +CATGGCATATATCGTGCTGAAAATCTACTTTTGACTGAAAAATTCAAGTT +TATGACTAAGAAAAGTTAGATAATTAGACCATGCTATTATTTCATAATAT +TGGTCCAATTTTTGTTGCTTTGCTGAAAATTAACAAAATTTAAAAATCGG +CGGGGTTTCTGAAATATTTCTGTATAAAAACCGATTTCAACTCCAATTTT +CCTCGATTTTTACATATAAGTAATCTAGAAAAATTGTAAAATGGGGAGAA +TTCATAAGAAAATCGGCTGTTTTGTAGCAAAGTTTGTAAATATATCATTC +TGAAAGTCTCAGCGATAACCGTGATTCTAGAAAACCTCATCAGGATTTGA +TTTCTGCGACACACTTCTCTCGAGTTTTACATAGAAGTTGTTCATTACAA +ATTTCTATTTTTAAGGTCCCCATTACCATTGTCAATCTTTCATTCCGATT +ATTTGTTTTTCCTCGTCACTGCAAGAAGGGGAGCCTAATGCCTAGACAGA +GACAGAAAACACATGTGTGTTTGTAAGTGTCTGGTGTGATATACCCAATT +CTTTTCGGCCGTCTCTTGTTTTCTTCCTGACACCGAGTTTCGAGCGATTT +TCGAGGTCGTACAGTTGTGAATTGGCTGCCACTGCTGTGGCAAACAAACA +AAAACAATCAAACTTGTGCGGAATTGATATTCTAAAGAGAATAAAGAGCA +ACCATGGGCGCCGAAACGAGCAGCGGAAGGGCTTGTGACCTCTTGGTGTG +AATTTTAAACGGTTTCCTTCCATCCGAAATGCTAAAAATTCCTCGGGAGC +CGTTTAGGGTCTTCACTGAGAGATGATGATTAGAATCTTTTAATTTGGTA +GAATTCCCCCCGCGGGACCGATTAATGTTGCATGTCGTCTTCTTCTTCTT +GGCAGCAAAATATCATTGTTGATGAGATATCTCAGTTTGATGCTCAATGA +CGCCTTGAGAAACATCCAGCACACAGTAGATTAGTCGAATTACCGATGGA +TGGGGCCGCCCGGGTTTTTGGAGCCAAGAGTCACGCGATGGGGAGTCCAC +ATACACACGCACCAACTCTTTCATTCCATCTAACAGGGTAGTAGGGTGAA +GAAAAGGGGGGGGATCGCGATGACAAAGAGACTCAATTAATTAAATGACC +GGGGCGGGCGCCAAATTGCACATATGCTTGGTTTTATTGCACCGTTGGCT +CAGGGAGAGCAACATTTTGTGGCAGCACCAGGGGTACTTCAAAATGACGA +ACAAAGGTCGTTGTTGTTTCTATAGGAAGGCTTCCGAACTTTTGAACAGT +AATCAGATCATATTAGGGTTATGTAATTGACGGTTTTGACCGTATGTGTC +TATAGATGCGTGTGTGTGTGTGTGTGTGGCGACATAAATTACCGTATCCG +CATGGCCTTTTTCCTCCTTCCTCACAATGGTAATTATCATCCCCCACTAC +TCTGGGTCGCCGGACGAACTGTGAATGTGTTGACAGTGCGGGCCCACTAG +TACATGACATCTTGCCCCGGTGCGGTGCGCTCATCGTTATTCCTCCCAAT +TTAGTTGTCCGTTTGACACAAATGCCTCCGGTACCCTGGACGAGACAAGG +AGGTGATGGATTTGCCAGGCGGGGAAGGAATTACATGATGTTTGGGAGAA +TATGAGGGAAAGGTACAGAAGCTTCACCTCGGATATTATATGCGTTCTAA +AAAGACCAATTGTCGTTTTTGTTCGTGGCTCAAATGAATAATTGGTATGG +AAATATAGAAAAATGTCCGACTAGTTTGGTAATAGAATTGTTTCGTTTTG +AACATTTCAAAAATACCTCAAATAGTGCACTTGAGATCTTTGTTGAATTT +TCAAAGGTTTTATTTTCAGATAAATTGAGCATTTTCCATACTTATAAAAT +CAATTTTTGGTTCAAAAACTTCTAATTTTCTCACCGAAAAAGTTCTCACA +AGACAGTGACAGAGGTCGCGTGTCGTTTTGATATCCATCTCGATAATCAG +AGATTGTGATCTATGCCTCAATGACACAGTTCCGCGAAGGAGTCCGAGAA +AAACGTACAAAATTGGGGAAAAATATTGGAAATAACATTTATTGAAAAAT +TAAAAAAAAAACATAAACTATTTAAATTCACAAAAATTCGGAAGCATATT +TCCTATAATGAAAACAAAAAATTCTGAAAATGTGTACTGCACAACATATT +TGACGCGCATAATCTCTTGTAGCAAAAACTACAGTAATTCATAAAATTGA +CTACTGTAGCGCTTGTTTTGAGTTACGTGCTCTACGAAATGAATTTAAAT +AATTTATCGATGGAAAAATAATTTTAAGCAGAAAATGAGAAAATAATATG +AAGAAACAAAAAGAAATTCGAGTTACGTGCTCTAAGAAATGAATTTAAAA +AATTTATCGATGGAAAAATATTTTTAAGAAGAAAATGAGAAAATAATATG +AAGAAACGAAAAGAAATTCATTCGAAAATCGAGCGCGTAAATCCAGAGCT +ACAGTAATCAGTGAAAGAATTACTGTAGTTTTCGCTACTAGATATTTAGT +GCGTCAAATATGTTGCGCAATACACATTTCTGGAATTTTGTGTTTCCGTA +ATAAAATAAGTTTTTTGCGAGAACTACAAAAATATAACTATTTCTATTCC +AGGTGACCGGCCTCCCACATAACGTCGAGGCTGCCCGCAAGGAGATCGAG +ACGCACATCTTCCAGCGAACCGGAAATCTTCCAGAAACCGACAATGACTT +TGCCGGACAGTTGGCCGGTGTCTCGTTGATGGTGCAGAAGCAGCAACAGG +CTCAACAACAAATGCAGGAGGCTCAGCAACAATCGATGTTCTATCGAAGA +GCATTCGGCAACAGTAATCCGTTCAATCAGAAGGAGATGTCGTCGTCGCC +ATTCGGAATGGAGAGCTCGTTGGGATTGGACGCGTTGCTCCGCAGTTTCC +CATCGATGCGTAGTTCGTTGACTCCGGAATCTCTTTCCGGTACTGGACTG +TCTTCTCGTCCATCGTTGGGAGGAGGACAATCGGCGAAACAAGATCTGCC +AACCTACGACTACTGGGGAACCAACAACTCGCTTAATGATATTATGGAGA +ACGGTAAGCTTTTTTTGCGAATTTTAATAAGAATTTTAAATGACAAATAA +GGATTTTTCAGAAATTCTCAGCCGCAAGTACGATGCCCTGTCCGCATGGT +CGTCGATGGGATTGGAGAAACGCGAGGAATCCCCAACCAATGGGTATATA +TTTTTGAAGGAATTTTATAAATTTTTGAAATAAAACTAAAAATTGCAATT +TTCCTTCAAAGTTCTAAATTTTTGAAAGAAAATTTGATTTTCCGCTAAAA +AATTTAAAAAAAAAACAAGTTTTCGTGTTTTCCACTCGGAACCTGACGGC +TTCTTATCAATTTTTTAAATAAAAAATAACGTTTCTAAAACTCAGAATGT +TTAAAAAATTTCACATTAAAAAATTATTTTTCCGAAATCTTGAACCTATC +CGTTTTTGAAAATAAAAAAGAGTAAAATCGTAGTTTTCTCTATAAAAATT +ATAATTTTCATTTGAAATTCAAAAATTTTTAAATAAAATTGGATTTTGTC +CGTCAGAAATCTATAAAAAGAAAATTTTTTTTGAACAATAAAAGAAAAAT +TGTAATTTTCTTTTGAACTTCAAAAAAATATGTTTTTTTTCACATGCAAA +AAATTGATTTTTTCAAAACCTCGTTTTTGAGAGAAAAAGGTGAAATTCCA +ATTTTAAGAGGTAAAGTTAAATTTATTTATTTTATGAGAAAAACTTGAAA +TTTAAAGGAAAATTACTGAAATTTACAATTTATCATACATATTTTTTAAT +TTCGACATATCTCGAAATATCAAGTCGTAAATTTTTTCCACAAAAGTGTG +ATATTCTCTTTAAAAACTAGAAAATTTCAATTGTAAATTTATGAAAAATC +AAATTTTTTGCAGGCTCATGTCCTCCCTCAAAGGAACATCCGCCGGCTTC +GGTCTTCTCAGCACAATCTGGTCTGGCGGAAACATGAATCTGAGCCCAGG +ATCGTTGGCTTCAGCATCTGCCTCGCCGACTTCATCGACCTGCGATCACA +ACGATCATACTCTCGTGCCGATCAATGGATAAGCTGTGGATCCATTCATC +ATTCCATTACTATCGTGTAGACTCTCATCTAGCAAAAACCCATCCTCAAC +GAGTTCCAAATTCATCTTTCCATTCTTTAAAAGACTCTTTTTCCCATTTT +CTACTTTGTTCATCGGTGTACGAGTCCCTCCATTCCCATTTTCTCACCTC +TTTACTACATTACTAGAACACACAAAAATCACCATCATTCTCACCCCAAA +ATCCTAGACAAAAAAAACGAAAAAAATCACATATATTTATATATAACTAT +TATTATTTGTTATTCATATTTTTGAAATATCTATATTATATATATTTATA +TATGTAACCCATGCAGTCCCCCAATATATATTCCTACAGTAGGTTTTTTT +GGAAAATCTGTAACTTTCTCTATTATTCTTTTTTGCATTATGATAGGACG +ACCAACTCATGTTTTAAACAAAAATTATATATATTATAAGGATTTCCTCT +TTTCTCTCTATCTCTCACCTAGTGTTTAACTCCCAATTTTCCCCCTCTCT +ACTACGCACAACTAACGGAGAATTGAGAGGCCTTTTATATTTATAGCACC +TCTTTATAATTAAAAACTCGAGTGATCCCCACCTCACCCATCAAATTTAT +CGTATTTTGTAAAAGTTCTGATATATTCCACAGATTTTGGTGTATGTGAA +TGAAGCGATTCGTGTCGTCTCTCCATATTCTGGTATCCATAGCAACTCCC +CGAGCTTTTGGCTCACTCGCGCACGCCCTATACTATACCTTTACTATTAT +TAAATGCACTCAACAAATCCTATCCTGCGTCAATTGGCCGATCAATTGTC +CGAATTGCCACAATATGCACCATTGCGGGTAATAATAGCACAATAGTTGA +ATATATTAATAATTCAAAAATATTTATTATATTTTGAGGTGTCCCATTGT +TTCAGACATATATCCGCGCGACGATAAGTGCCACGTTGGGGGAAACGCCA +AAGAAAACGAGTAGGGATTTGACGTATAGAGGTGAAATTTTTAGAAAATT +TGAAATTTTCTGAAAAAAAAAGGATTTTTCTTTTATGAAAAATGCTCTTT +TCGCCAAAAAAATCACAATTTTCGACTTAAAAACTTCAAAATTTTTTCAG +GAACACACAATTCAAAATACAAAATATCTCGTAGCAAAAACTACAGTAAT +TCTTTAAATGACTACTGTAGAGCTTGTGTCGATTTACGGGCTCAATTTTA +AAATTAGATAAAAATGAGAAAATAAAGACACGAAGAAACGAATGAAAGTG +TAATATCGAAAATATTCGAAAATAAATAAATTTCAAAAATCGAGTCCGTA +AATCGACACAAGAGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCG +TTACAAGATATTTTGCGCGTCAAATATATTGTGCAATATGCATTTTCAGA +ATTTTGTGTTTCCGTAATAGGTAAAATGTCAGAAAATCAAGGATTCAGTG +CAACCCCGCGTTCTACGGGTATTTTGGCCACGGCCACTTTTTGCAAAACT +GCAAAATAGGCGTTGTTATTTCATTTTCTGAAAAAAACATTGAAAATTAT +TATCGAGAAAGTACGATCTGACAAATTTCTCATAATTTATTTTTGATCTA +CCTGTTGAACTTTACTCCGCCCCCAATCTTGTTGCCGTTGTTATTTTGTT +GTAGCTGTCTTGTCGAAGGACGGGGAGGAGCCTAGTCAACAAGGTAGATA +AAAAATATATTATGAGAAATTTGTGCGATCGTATTTTTTCGATTATATAT +ATATATATATCTTCATGTAATTCTCATGAAATCTTGAAAAAAAACGCGAC +ACATGGTATTACCACGCCCACTTTTTATAATTTGAGCGCGTGCAATTTTT +TGTCGATAACATAGTTTCTATTTAAACAAAAAACATCGTGCGCCCACATT +GAAGAAAATCCTATAATTGGGCGTGGCCTTAACTCTGAAAATTTACAGAA +CGTGTCACCCATAGCATGATTGCCGATTGGCTCGAGCAGAATGGATATCC +AATATCATCTCAAGTCTTGAAAACAGAAATGTCTGGAAACTACATGGAGA +GTGCAGAAAAACACGTGGAAAATGGGGAAAAAATCGATAATCTATTGCGA +AGTCAGCTGAAAATCGATATTCGCGATGGCACCGGTGACGATTTTGAACG +AAAATCGATAAAATCGATTGGCGCCGGCCGCCCGTTTGCAAAAATTAATA +TGGTCGATAAACAGCGAGCACCGTTGAAAATTACACCGCTTAGTGATGAG +GAATTTCGAAAAACGATGCGGAAACGGATGGAAATGGAGAGGGAACGAGT +GAGTTGCGTTAAATAATTTTTTTTTGAAATATTTAACAAAAGTCGACAAG +GCGATTTTTTAAAATCGATGTTTCGCGACTTTTATTCAAAAGAAAAATTT +CAATGCCCTAAATCACTCAAATGATGATTAAAAAAGTATTTGCGCGCGCG +CGTAAAATTTAGTGCCAGCGTATGACACTATGTGGTGCAAACTTCACTCC +GGGTCCGACACTTTTTGGATTTTGCGCATCGCTATAAAGATTTCAGATCG +CGGCGTGAGAGCGGCGTTTGCGGCGCCGACATGAGAGTCCTACTTTCCTA +CTTTTCTTGGCAAAAAAATCGATCGATTTTTCAGCTCGCACGTCTATCCA +ACCAGGCAGAAGACGATTCCGACGATTCATCGTCCTCCTCCGACTCTTCC +ACGTCATCCGCGTCGTCATCTTCCGAGGAGAAGTTGACTTTTTCGGATAT +CTTGGGGAAACCCACAGCAGCTGGCGCGGAGAAAATGATCGAACTAAGCC +AAATTCCCAACGCATGGGGTCCGTCAAAATCCGCGTTAGTCACTGATGAC +GTGGCAAGCACTTCTGACCCACTTCCGGCGATTTTCAACGCACATCTTCC +GCCGCTCTCCATGGGACGACCACCGCTGACAAAAAGCGCGAAAAGTCGGG +AAATCGACGCCATTTTCGGCTCGGATAACGTGGATTATGATTTAGAGGAT +TTCGAGCAGGATGGCGTGGCGAAGAAAAAGTCTATACTGCCTATGGAGAA +AAAGAAGGAGGAAGCGAAACCAAAGGAACAGGAGCTAGTGGAGCCGTTGG +TCTTGTCAGAAGGTAACTTTGAACTTGCACCATGCAAAAATTTCGAAAAA +TTATGCACGTGGTCACTGGCTGTCCTTTTGCATAAGCTTGAAGCAAACGC +GCCTCATTGAGAATTCACGTTTGCGCCAACTCTCGCTATCCATTGGGCGT +GAGAGACGCAGATACTACTTTTTTCTCTGAACGTGAAAAACGCAAAGAAT +AACCGTTTTGCCGTCTGCATCTCTTCTTTCACACGCTATTTTGGCTGTGG +ACGAGGAATTCTCCTCTTCCAGGATTTTCTAGGCCATTTTCTCATATTTC +TCAAGTTTTCTCGTCCGCGAGAAAACGTGAATTTTGAGACAGCCAGCGAG +CACGTGATTATGCAACTCTCCTAAAAATCGATCATTGTTCCTGTAGCTTA +TAATTTTAAAGGCGCATATTCCGCTTGCGGAGCAAAAGTAAAAAAAAAAC +ATGCCTCTACATACAAATCGATGAATTTCCTGAAAAATCAATAATAAAAA +ATTTTCAGGAGAATCAATCGACGAGCTTGAAGATTTCGACACCGGTCTAC +TATCTTCCGGAGGATCCGATTATTCTTTTTAAAATTTTCTTCTTTTAAAA +AATTTCTTTTGAAATAAATAAATTCTCACCTAGGAATTTCAACAATTCAA +CTTGAAAAAAGTTCGCGCAAACTACGAACAAATGTGTGTCGAGCGGGCGG +AGCCACTGAGAAAGAGGAGCAAAATGTACACAAAACCATATTTGAGTGTA +ATTTTTCAAAGTTTGGCGCCGATTTTCTGTGAGAGATGAGTTTTCTCAAT +TTATATTTGGTTATTTTTATTTTAGTTCTTACTGGTAAATTTCTGGGTAA +GTCCTGATGACTTTGAAAACGAAAAAAACTCTTTCATTGATGCTAGTGCG +ATTGCTAGGAAAGCAACTTTTCAGTTACCAAGAAAAAGTCCAAGGCCATA +GGGATTAGCTGCGTGGCATAACAACTCATCCATCCTCGCAGATGCAAATC +CGCTCTATTGGCAAATAACATGGAAGAGTATAAACATTTTCTCTTCCACA +CGGAAACCTAGTCCCCTTGGGGAGCGGTAGTGCCCACAACCCCGCATGTT +TACCAAACTACACAGACAGCGCTATTGTCTGCAAGTGGCAAAAAATGGCC +GCCGAAAATTTTTACAATGTAAATAATTTTCAAAGTGTTACTATTTGCAC +CTTTTTGGCAAAAATTCCATAAGTAAGAAATTTGATGGAAGAGATGCGAG +GTGCGGGGAGTCTGAAAATGGCTGCATGGCCTGTATGTGACCTGTGTATG +TGGCCTAAAGGTCTAGTTACCCCTAGAAATCAAAGTTCAGTTCAGCAAAG +AGACTTTATTTTCAGCACTCCAACAAGAGGCAGAAACTCAACGGTACGAC +GGATGGTACAACAACCTGGCGAACAGTGAATGGGGTTCTGCTGGTAGGTT +TTTTTGGAAGAGAAATGACGTCACACTGACCTACTCCTTCAGGAAGTCGG +CTGCATAGAGATGCACGTTCCTACTACTCAGACGGTGTATATTCAGTGAA +TAACTCACTTCCGTCCGCCCGTGAACTCTCCGATATACTATTTAAAGGAG +AGTCCGGTATTCCTAATACAAGAGGATGCACCACTTTATTGGCATTTTTC +AGTTTGTATTTTTTTAATACTTATAGTAGCCAATGTTTGTAGGTCAAGTA +GTTGCTTATGAAATAATGCAATCAAATGGAGTATCCTGTCCACTAGAGAC +ACTTAAAATTCAAGTACCCCTATGTGATAATGTATTTGATAACGAATGCG +AGGGGAAAACTACAATCCCATTTTACCGTGCAAAATACGACAAAGCAACT +GGAAATGGTCTTAACTCGCCTCGAGAACAAATCAATGAACGGACTTCATG +GATTGATGGATCATTCATCTATGGTACCACCCAGCCATGGGTGTCCGCAT +TAAGATCTTTTAAACAAGGACGGTTAGCTGAAGGTGTACCTGGATATCCA +CCACTTAACAACCCACATATTCCATTGAATAACCCCGCTCCGCCACAAGT +ACATCGATTGATGAGTCCAGATAGATTATTTAGTGAGTTCATTGTTCTAT +AGAAAAGTATAAATATTTAAAATTGAAGTGTTGGGAGACTCGCGTGTGAA +TGAGAATCCTGGTCTTCTTTCATTTGGTCTGATCCTCTTCCGTTGGCATA +ACTACAATGCAAATCAAATCTATCGAGAACATCCTGACTGGACAGACGAG +CAAATCTTCCAGGCAGCACGTCGTTTGGTGATTGCATCTATGCAGAAGAT +TATTGCATATGACTTTGTTCCAGGACTTCTAGGTTACTCAACTATCATTT +AATAGCTTAAACTCAGTGTTTCTTTTAAGGTGAAGACGTTCGTTTGTCAA +ACTACACCAAATACATGCCACATGTTCCACCTGGAATCTCGCATGCTTTT +GGAGCAGCCGCCTTCAGGTTCCCTCACTCAATTGTGCCACCAGCAATGCT +TCTGAGAAAACGAGGAAATAAATGTGAATTCCGGACGGAAGTTGGTGGAT +ATCCTGCATTGAGATTGTGCCAGAATTGGTGGAATGCACAGGATATTGTG +AAGGAGTACAGTGTGGATGAGATTATTCTTGGTTAGTTCATACTTGAGTG +GTTATATAATAAAGATTGTAATTTCAGGAATGGCAAGCCAGATAGCTGAA +CGAGATGATAACATAGTAGTCGAAGATCTTCGTGATTACATCTTCGGACC +AATGCATTTCTCTCGTTTGGATGTTGTTGCTTCATCAATAATGAGAGGAA +GGGACAATGGAGTACCACCGTATAATGAATTGAGAAGAACATTCGGACTT +GCACCAAAGACATGGGAGACAATGAATGAAGATTTCTACAAGAAGCATAC +TGCAAAAGTGGAAAAGTTGAAAGAGTTGTATGGAGGCAATATTTTATATC +TGGATGCTTATGTTGGAGGGTAAGCGTTTTTTATAAATTAAGTTAGAGAT +CCTCCAATATACCCTCATAACATATTGTATCAGTTTACTTCATCAATAAT +TCAGCTTGAACCATTTAGAATGCTGGAAGGAGGTGAAAATGGGCCTGGAG +AGATGTTCAAAGAAATCATAAAGGATCAGTTCACCCGTATTCGAGATGGA +GATCGATTCTGGTTTGAGAATAAACTAAATAGATTATTCACTGATGAAGA +AGTTCAAATGATTCATAGTATTACACTTCGTGATATTATCAAAGCAACAA +CCGATATCGATGAGACGATGCTTCAGAAGGATGTGAGTTTATTGTAAACA +CCCGTTGGTGATGATCGAGTAAGTTAATAGCATGTTTCATTCCAGTCATT +GATTGATATTTTGTCATGAATTGTTATATAACAATATATGTATGTATTAT +ATTACTCATGTCTCAATATTGCATTTAATTTCCAGGTATTTTTCTTCAAA +GAAGGTGATCCATGCCCCCAGCCGTTCCAAGTGAATACCATTGGACTTGA +GCCTTGTGCTCCACTTATTCAATCCACCTACTGGGATGATAACGATACTA +CTTATATCTACACTCTAATTGGTTTGGCGTGTATTCCTTTAAGTCAGTCT +TTATTTCAATCTAAATGACTACCGATAGAGACTCAGCGATTATAGAGTTG +ATCAAGCTAAGAACTTTCAGTTTGCTATAGTATCGGTCATTATATGGTTG +AACGACGTATCCGAATAGGTCATAACAGTGCTTGTGACAGCTTGACTACT +GACTTTTCAACAGAAAGTCCCAAAGTTAATGTCTACAAAGTGAATGGTTC +GTTATTTTTTCATACTTGATTTTTATTTAAATTATACGGTGAATCTGTTA +CAGCTTTGGAATGGCTTCAAGAAGAGTACATACGGCAAGTTCGGATAGAA +ATAGAGAATACCACGTTGACAGTGAAGAAGCCACGTGGTGGAATCCTTCG +AAAAATTCGTTTTGAAACTGGACAGAAGATTGAGGTATTCCACTCTATAC +CGAATCCATCAGCAATGCACGGACCATTTGTACTTTTGTCTCAAAAGAAT +AATCATCATTTGGTGATAAGATTGTCGTCTGATAGAGATTTATCTAAATT +TTTGGATCAAATTAGACAGGCGGCTAGTGGAATCAATGCAGAGGTTATCA +TAAAGGATGAGGAGAATTCTGTGAGTTTACTTCAAGAAATACGTCGAATC +TGGAAATTATTTCAGATTCTCTTGTCCCAAGCAATCACAAAAGAACGCCG +TCAAGACCGACTGGACCTGTTCTTCCGTGAAGCCTACGCAAAAGCATTCA +ATGATAGTGAACTTCAAGATTCGGAAACTTCATTTGACTCATCGAATGAT +GATATATTAAATGAGACAATATCTCGTGAGGAATTGGCAAGTGCAATGGG +AATGAAAGCTAATAATGAGTTTGTGAAGAGAATGTTCGCGATGACTGCAA +AACATAATGAGGATTCGCTCAGTTTCAATGAGTTTTTGACAGTATTGAGG +GAGTTTGTTAATGGTGAGTATGATTTACTAAAGTTCTGATCACAAAAACT +ACACGTGAATGAATGTTCCAGTCCGTTTTACACTAGGTTCGGTAAATATG +TATAATGTTATAGTGACTGTTACATGTTGAAGCAGTAGTCTTCTTTTCTT +TGAATGGCAACAAAAAGGCTCCCTCATTATTTAAGCTGTATTTCACTGCG +AATAACGGCTTAATGTGCTATTTAAACATTCGGGTCTATTAGTCTTTTAG +TATATTGTCGCGCATACTAAGGCTCGCTTTAATAATCAGTTTGAAACGCG +AATTTGATGGTGTTAAATACGATTTTAATTTGGGAATTGTTCACAATTAG +ATGCTATCTTGACTAATAATAATTAAATACAGAAACAAAAAACTTTTAAT +GGACAAAAATCACTCCGAAACTACCCAAATCGGCATTAGGTTAATGTCTT +TGATTACTCACCTTCTTTCCTAATTTCCAGCTCCTCAAAAGCAAAAACTG +CAAACTCTATTCAAAATGTGTGATTTGGAGGGAAAGAACAAGGTACTCCG +AAAGGATCTCGCAGAACTCGTCAAGTCCCTCAATCAAACCGCCGGAGTTC +ACATTACCGAAAGTGTGCAGCTTCGATTATTCAATGACGTGCTGCACAAG +TCTGGTATACATCCCTGTTTAGTATGCCAAGTATTATAAGAAGTTTCAGG +AGTAAGTGACGATGCGGAGTACTTGACTTGTAATAATTTCGACGCATTGT +TCTCGGAGATCTCTGACGTCCAGCCGATCGGTCTGCCATTTAATAGGAAG +AATTATAACTCACATATCAAGGAGTATGTTGTTGAATTCAAATCCGCAAG +TAAATACAAACTTCAGGCCATCATGCCACACCTCATTCCCAATAGTGGAC +CACTCTACTCCTGCTCCACTTTCTCTGATTCAGAGAATTTGTGCATTCCT +GGAAACCTATCGCCAACACGTCTTCATCATCTTCTGCTTTGTCGCCATTA +ACATTGTCCTTTTTTTCGAACTTTTCTGGCGTAAGTTTACTGTTTAGTTC +GGTTTTCAAAAGCAATATTCAATTAAGATTCCCGCTACCTAAACGAAGAT +CGAGACCTCCGTCGGGTGATGGGTGCCGGGATCGCTATCACTCTCTCTTC +TGCGGGAGCCTTGTCATTTTGCATGGCGTTGATATTGCTCACAGTTTGTA +GAAATATTATAACACTGCTTCGAGAGACAGTTATTGCGCAGTATATTCCA +TTTGACTCGGCTATCGCGTTCCATAAGGTAAGAGCCTCTCTCTTGGCCTA +GCGCTGTAAATAAAACTGCCAAATTTTTAAACTCCATCAATTTCAGATCG +TCGCATTATTCACCCTATTCTGGTCTACCCTTCACACCATCGGCCATTGT +GTTAACTTTTATCACGTTGGAACTCAAAGCGACCGTGGACTTGCTTGTCT +CTTCCAGGAAACATTTTTCGGGTAAGCCCCACCTACTCGGTAGATCTCTC +AGTAGATTGAACGTTGGCTTGCTTTCAGATCTGACGTCGTGCCTACCCTA +AGCTATTGGTTCTATGGAACAATTACTGGGTTGACGGGAATTGGATTAGT +TATTGTTATGAGTATCATTTATGTGTTCGCATTGCCAAAGTTCACTAGAA +GAGCATATCACGCGTTCCGGCTGACTCATCTTTTGAATATTGGGTTTTAT +GCACTCACTATTCTTCACGGACTTCCTTCACTTTTTGGGGTAAGGCTTAA +TTTAATTTGATTCATTTACGCTCTTTTTACGCTCTTGACGTCAATATTTG +TTACAGTCTCCCAAATTTGGCTACTACGTTGTTGGACCCATTGTCCTTTT +TGTAATCGATCGTATAATTGGGTTGATGCAATATTACAAGTCGTTGGATA +TTGCCCATGCAGAAATCCTTCCATCAGATATTATATACATCGAGTACCGT +CGTCCAAGAGAATTTGAATATAAATCAGGACAATGGATTACTGTATCATC +ACCATCTATATCATGTACCTTTAATGAATCTCACGCATTCTCGATTGCCT +CAAGTCCACAGGATGAGAATATGAAGTTGTATATAAAAGCAGTTGGACCA +TGGACATGGAAGTTGAGAAGTGAATTGATAAGATCATTGAATACAGGGTC +ACCATTCCCATTAATTCATATGAAAGGACCATATGGTGATGGTAATCAGG +AATGGATGAATTATGAAGTTGCAATAATGGTTGGAGCAGGAATCGGAGTG +ACTCCATATGCATCCACGCTTGTTGATCTTGTACAAAAAACATCAAGTGA +CTCGTTTCATAGAGTTCGATGTCGTAAAGTATATTTCCTATGGGTGTGTT +CGAGTCACAAGAACTTTGAATGGTTTGTGGATATGCTGAAAAATGTTGAA +AATCAAGCAAAGCCGGGAATCCTGGAGACACACATATTCGTCACTCAGAT +GTTCCATAAGTTTGATTTAAGAACTACTATGCTTGTGAGTTTTTTATGCG +TTTTTGGTTTTTTAGTGGTATAACTCTAAAACTAAATGTTTGGAGAAAAA +GGCTTAACTAATAAAATGTTGCTCATAACTTTTTCTATGCAATAAAATAT +GTTTCAAAATTTCATCCGAGATCTCACAAGTCCAAATTTGATTATTTTTC +TTAAAACGAGTATATTTCAAGACCGAAAAGTTTTCTTGAAAAAATGGTAT +ATTTTTTGCACATAATCATTTTTTCATAAAGTGCTCTGCAAATCAGAAAT +TAAAGTTCGAACAGTCTTATAGTTAGTACCGTGACATTTATTGTAACTTA +AAAAAAAAAATTACGCGACATAGAAACGCTCGATTATCTGAAAAACCAAA +TTGGATTTTGATTCTAGTTAATTTATTTTCAAAAATAAACATATTTTGTG +ATAATTGTAAACTAAAAACTATACCTGAATATTTTTATAAATTTTATGTG +GTTTTTGGTTTCAGGATTAAAACAATGGTAAAATACTACCCTAACGGCTT +ACCCAAGGCTCAGAAAATTGTAGTTAGTCTCAACAAATTAATACATATCA +TTTCTTATTTGCAGTACATTTGCGAGAAGCACTTCCGTGCCACCAACTCA +GGCATATCAATGTTCACTGGCCTACACGCTAAGAATCATTTCGGACGGCC +CAACTTCAAAGCTTTCTTCCAATTTATTCAGAGTGAACATAAGGAGGTTA +GTTTCATGGTTTTAACCTCTAAATAAAGCAAATTTGCAGCAATCCGAAAT +TGGAGTGTTCAGTTGTGGACCTGTAAACTTAAATGAAAGTATAGCTGAAG +GATGTGCAGATGCCAATCGACAACGAGATGCTCCGTCATTTGCACACCGC +TTTGAAACTTTCTAATCTTTCTACTGTTACTTACTATGAAAATCATAAAA +ATTAAGACGCTTCATGAATAAAACATTGAGAAAAAAAACCTGAAATAAAG +AATTTTCACATTTGTCCAGGTAGTATATATCCCCAATACAAACATTTTGA +GACGCGAACCTTCCCAAATAATCATCAGACATTGTTCTGTAATTAGGCAA +AAAACCAGCCCCCTAGCCTCCTCCCTCACCACAAATAAAACCAATTCCCC +CATTTCCCCCCAGTTCATTCACCAACAATGAGTTTGTTCAAAGTATACAC +CTCGTTTTCTTTGTTTTTCTCCGTTCTATTCCTTCTCGTCGCTTTTATTG +TGATCTATGACATTTTCGATGAAATTCGCGAATTTCAAGAAGTAATCGAA +AAAGATGCCAGGAAGTTTGAGGTAAGGCAATATGTGGTGCAGCAATAATT +TCCGCATTTTTCGTAGATCATACCGTTATGGGACAGTCTGACACCACGTG +ATAAAATAGTATACTAAGTATTACAAGCAAGGTTGAAACGAAAATGAAAT +TTCGTTTTCGAAAACGAAAACGAGAATTTTCGTTTTAAACGCGAAAAACG +AAAACGAAAACGAAAATATCAGTTTTGTCCAATTTAATTGGTAAAATATA +GATTTCATGAAATATTAGGTCCATTTTCGAATCAATAATAAACAAACAAT +AGTTTTATTACAAAAAAAACAATAAAAATTAAATAAAGCAAAAGAACAAT +AACAATAACACTTGCTGAACAACTATTCCATTAATCTAAACCAATTTTAA +AGCCTAAAACTTTTTGATTTTGCTGTAAGAACACAGACTTGCTCAACGAC +TTTGTAGACATCTTTCTTCTCAGCTTTGTAGAAACGCGGCCAGCTCCTGA +AAAAACTCGTTCCGATTCAGCAGATGAAGCTGGAGTTGTCAGATATCTGT +TCGCTATTTGAGAAAGCAATGGAAACTTAGATCGATTGAGCGGATTTTGC +CAAAAAACAGCGGGGTCTGATTTTCTATTGTTATCGGTATCGTAGAAAAC +TTCAACTTCTGCACTAGCACAGAGCATGGAATCTACAGGCGCTTTGTCTT +TTCTTTTTCTGATCTTGGAATGCTTTTTCTCGTAAGCTTCAAACAGGTCG +TCTATTCCCTCAAGAGTTTCATTTTCTGGCTCATCGACTGCTTCTTCCTC +TTCTTTTGATAATCCTTGAGCTAAGCTCAAAACAAGCTCTTTTCCGTCAC +AATATTTTCTTTTGTATCGTGGGTCAATGTTTGATGCAACAATCAGTTTG +AATGTCACCAGTCGGTGCCCGCGCCGTAGGTGCGGTCAACGGCTGGTATG +TATATAAAATATATTAGATTGAAAATATAACATTGAAAAAAAAAAACAAA +CATTGAAACACAATAAAAATCAAAATATAGACGCTCTTTATTCTTGAATA +AAAATAAGAATTACGAATTGTTCACTGGGAGTCAGCTTATTTCTTGTACA +AAATAATGATTTTGACCAGTGTCAGCTCAAAAAAAATACGTTGACAGAGA +GAGGTGGCATTTTCGTTTTTTCGAAAATTTTCGAAAACGAAAACGAAAAA +ATCATTTTCGCCAAAAACCCGAAAATAACGAAAAAACGAAAATTCGAAAA +CGAAAAAGTGACAAGCCTGATTACAAGGTCGGTATTTCATAATATGAATA +TTGTAGAGAAAGGTTACTAGCGATGATTCCAAAAAAATTTAGATTCATCA +GAGATGTACACCCAAATACCCAAGGCATAGGCCCTAATTATTGATTAGTC +ACAACTTCTTACTTCCAACAAGCTTTTCCTATTTTTCCAGTTCTACTCCA +CCGCCGCCTCACGTTCAATTGCCGGTCTCGACAAGCGGAGCCTATTCGGA +GGAGCTGTTTCTTTTTAGTTGTATATACATCTATTCAAAATTAAAAGTCA +TTGTTGTTGTTACCCATAAAACAGTGAATGAAAAAAAATGAAGTCTAGAC +AGAAAATGTAAAGCTGGCACAGAATACTCAAAGAAGCATAAAATATGTAT +AATAATGATGATATAGGGAAGGTTAGAACGTTTCAAAGCGATGTGCAAAT +GAAGGAGCATCTCGTTGTCGGTTGGCATCTGCACATCCTTCAGCTATACT +TTCATTCAAGTTTACAGGTCCACAACTGAACACTCCGATTTTGGATTGCT +GCAAATTTGCTTTATTTAGAGGTTAAAAAGCATTTAACTAACCTCCTTAT +GTTCACTCTGAATAAATTGGAAGAAAGCTTTGAAGTTGGGCCGTCCGAAA +TGGTTCTTAGCGTGGAGACCAGTAAACATTGAAATTCCTGAGTTGGTGGC +ACGGAAGTGCTTCTCGCAAATGTACTGCAAATAAGATGTTAAAGTTTAAA +AGCTTCAGACCTTAAGATGCCACTGCGTTTAAATGCGTCCGCTTTAATCA +GTTTATAACCAAACCTGACGTTTGATTTTGAAAATTATCTTCAATAAACT +CACAAGCATAGTAGTTCTCAAATCAAACTTGTGGAACGTCTGAGTGACAA +AGATATGTGTCTCCAAAATTCCCGACCTTGCTTGGTCTTCCACGTTCTTG +AGCACATCCACAAACCATTCATAGTTCTTGTGAGTTGAGCACACCCATAG +GAAATATACTTTACGGCAACGAACTCTGTGAAATGAGTCACTTGATGTTC +GTTGTACAAGATCAACAAGTGTCGATGCATATGGAGTCACTCCGATTCCT +GCTCCAACCATTATTGCAACTTCATAATCCATCCATTCTTGGTTACCATC +ACCATATGGTCCTTTCATATGGATTAATGGAAATGGCGATCCTGTATTCA +ATGATCTTATCAATTCGCTTCTCAACTTCCATGTCCATGGTCCAACTGCT +TTTATATACAACTTCATATTCTCATCCTGTGGACTTGAGGCAATCGAGAA +TGCGTGAGATTCATTAAAGGTACATGATATTGATGGTGATGATACAGTAA +CCCATTGTCCTGATTTATATTTAAACTCTCTTGGACGACGGTACTCGATG +TATATAATATCTGATGGAAGGATTTCTGCGTTTACAATTTCTAATTTTTT +GTAATATTGCATCAAACCAATTATGCGATCAATTACAAATAACACGATGG +GACCAACAACGTAGTAGCCAAATTTGGGAGACTGTAACAAATATTGAAGA +AACTTCTTGAACCGAACAGTGGCAAAAACTCACATCCAACAACTTTGGAA +GCCCATGAAGAAGAGTAAGTGCGTAAAAGGCAATATTGAGAAGATGTGTG +AGCCGGAATGCGTGATAAGCTCTCTTAATGAAACATGGTAACGCGAAAAC +ATAAATGATGCACATGACAGCGACCAATGCAATTCCTGTCAGACCTGTAA +TTGTGCTGAAGAACCAGTAACTGATTGAAGGAAGGAAGTTGGATCTGAAA +GTTATTTGATGAAAGTTGTTGACAGTCTTGAGGGAGTTTGTTAATGGTGC +GTATTCTAGTAAGATTGAATGCAAAAATGAATTCAAGTAAAGTATTACCC +AAAGAATGCTTCCTGAAAGAGACAAGCAAGACCTTCTTGACTTTGAGTTC +CAACGTGATAGAAATTGACACAATGTCCAACGGTGTGAAGAGTGGCCCAG +AAAGCCGCAAAGAGCGCAACGATCTAGAAATGTTCAGTTATTATAGAGTT +TTTGATACTGGCGGTCATAATAAACAATACTTTGTCCGAAATATTAGTTT +TCCCATTGTTTATCATAGTTTATTTTTTTATTCAAAAATCTGCCCTCTCT +ACAGAACACTTATATGTAAAGTAGACTTAAAAACATCTGAGTTTTTTGAG +CAACAAGAGACCCACACTCGTTCTAAAAAGAAATATATCTGGAGCACAGG +AAAATCTAAACTTAGGAGACACTTTTTTGTCAACAGAACACTACACACAA +TGAAGCAACACTGATCTAATGTTACCTTATCCTCACTTCTATTCATCATT +TATTCTTGCCTTTTATACATCGATATTTGTGTTTTTTGCTTCTTCTCCAA +TGTAGCCATTATTTTTTTTCTCATCTCTTTTTATTTTTGTTCCATTTTTA +TTTATGTAACCACTTGTGATGGTTTGTATCTATTAATGTGTGTTTTTTTT +CTACCTCACGATATCTTACTATCGTAATAAATTTAAAAAAATTAAACACT +TACAAGTTTAGGATAACATCGCTATATCATAAGTTCACATCTGGCTGAGA +AACACCATGTTCGATGCAAAGATCTTTCCTTTCATGCTTGTATTCTATTT +TAAAAAATCTTTTCAAAACATTGGGTATGCACAGTACAGTTATCCTACTT +GCATTAAACCTCCGCATTACTGTACAGATAATAAAATAACAAGTTTTCCC +TTATATCTGAACATGCTAAATATTTTTAAAAACAACTGATTTGACAAAAT +TTACTAATGCAATAATAATATTTAAAAAATGTGTTACACGCTGCCCTAAC +GTTTCTCACCTTGTGGAACGCAATAGCCGAGTCAAATGGAATATACTGCG +CAATGACTGTCTCTCGAAGAAGTGTGATTATGTTTCTACAAACTGTCAGC +AATATCAACGCCATGCAAAATGACAAGGCTCCCGCGGCACCACGAGTAAT +AGCGATTCCAGCTCCCATTACTCGTCGGAGATCCCTGTTTTCCGCCATGT +AACGATAATCTGAAAACTAAATTAACATGAGCTCCCAATTATATGAACTT +ACGCCAAAACCGTTCGAAGAAAAGAACAAGATTGATGGCAACAAAGCAGA +AGACAATGAAAACGTGTTGGCGATAGGTCTCCAAGAACGCTGAAACTTTG +TGGATCAAAGTTAGCGGTGCTGAACTGTTGATGGATCGATCCACGACGGC +AAATGAGTTCAGAGAAGATGTTCTAAAAGTTATAATTGTTATACAGTCAG +AGTCCTCCTGAATACTCACTCTCCAATACTTGGCTGATAGTTCTTTCGAT +TGAACGGCAGTCCAACTGGTTGCTTGTCAGGTATATCCGAGAACAGAGCA +TTGAAATCGTCGTAAGTCAGGTACTTGGCATCATTGCTCACTCCTGCATA +GTGCAACACTTCATTGAATAATCGAAGCTGCACACTTTCAGTAATGTGAA +CTCCAGCGGTTTGATTGAGGGACTTGACGAGTTCCGCGAGATCCTTTCGG +AGTACCTTGTTCTTTCCCTCCAAATCACACATTTTGAATAGAGTTTGCAG +TTTTTGCTTTTGAGGAGCTGGAAATTAAAGTAGGTGGTGCATAACATTTT +TTAAAGGCAGTGTTGGTTTTTCTACTGTTCAGTAAAAGAAAATCTACAAT +TGACTAAATTCTCAATACTTTGATGCCATATTAGTTGTGACCTCCCTGTC +ACACGAGAACTTTCTACAGTGCTCGCAAATTCTATAGGACTCCCCCGAAT +AAATTCAGATTCAGAATAAATAACCTTTAGAACTTTTACTATCTCGAAAT +ATTGCCGACCATAGGACACCGAGTTTCACCTCACGGCTAATGAACCTACA +AAATGTTAATCGGTCGCTAATCCCGGCCTAGTTTAAATTCAGATCAGAAG +AAATAAATTTCTTTTCGCAGGAGACTTCGGCTCTCTTGAACCAAAACCTT +TTATATGTAGTTTTGTACGTACAAAATCAAAGACAGTTCAAAACAACTTT +ACCGCTACTGCTGTTACACGTAATTAAGCTGCATTAAGAAATTATATTTA +TTCAATTAGAACTTATGTTAATGGGAAACACGCCGGAACATTCTAGAACG +TAGTCTTTGTATCACAACAAATTTATGCTGAAATACTCACCATTAACAAA +CTCTCTCAAGACTGTCAAAAACTCATTGAAACTGAGCGAATCCTCATTAT +GTTTTGCAGTCATCGCGAACATTCTCTTCACAAACTCATTATTCGCTTTC +ATTCCCATTGCACTTGCCAGTTCCTCACGAGATATTGTCTCATTTAATAT +ATCATCATTTGATGAGTCAAATGAAGTTTCCGAATCTTGAAGTTCACTAT +CATTGAATGCTTTTGCGTAGGCTTCACGGAAGAACAGGTCCAGTCGGTCT +TGACGGCGTTCTTTTGTGATTGCTTGGGATAAGAGAATCTGAAATAATTT +CCAGATTCAACGTATTTCTTGAAGTAAACTCACAGAATTCTCCTCATCCT +TTATGATAACCTCTGCATTGATTCCACTAGCCGCCTGTCTAATTTGATCC +AAAAATTTAGATAAATCTCTATCAGACGACAATCTTATCACCAAATGATG +ATTATTCTTTTGAGACAGAAGTACAAATGGTCCGTGCATTGCTGATGGAT +TCGGCATAGAGTGGAATAACTCAATCTTCTGTCCAGTTTCAAAACGAATT +TTTCGAAGGATTCCACCGCGTGGCTTCTTTACTGCCAACGTGGTGTTTTC +TATTTCTATCCTGACCTGTCGTATGTACTCTTCTTGAAGCCATTCCAAAG +CATTTACACCATAAATATCTCCCTTCGCGCCACAATCATCATTTGCAAAG +TCAGTAGTTAGGCTGTCACAAGCACTGTTGTGGCCAATAGCAATGCGACG +ATTAACCAAGTATCGGCCAATTCCATAGCAAACTGAAAGCATTTTGGTTT +GTATGGAACTAGATGCAATAGCTCACTTAATGGCACACATGCTAATCCAA +TTAGGGTGAAAACATAAGTGGTGTCATTATCAGTCCAATAAGTTGATTGC +ATAAATGGAACACATGGTTCAAGTCCAGTTGTGTTCACTTGGAATGGTTG +CGGGCACGGGTCACCTTCCTTGAAGAAGAATACCTGGAGTGATAAATACA +TTGCAATGCGGAATTCAAAAGAACATAATAATAAACCATTAAATTTGGAA +AGTAACTTACATCCTTCTGAAGCATTGTCTCATCGATATCGGTGGTTGCT +TTGATAATATCTCGAAGTGTAATACTATGAATCATTTGAACTTCTTCATC +AGTGAATAATCCATTCAATTTATTCTCAAACCAGAATCTATCTCCATCAC +GAATACGGGTGAATTGATCCTTTATGATTTCTTTGAACAACTCTCCAGGC +CCATTTTCACCTCCTTCCAGCATTCTAAAATAATAACGTTTGATTAACGT +AATCCAATATATGTGCACTGAGAAAGAAACAAGTATGCGTAATTTATTCT +GCCTAGATTTGCAAAAAAAACTACCTTGCATGGGTAACGTTTGAAATACC +GAAGGAATTGCACTATAAAACTGAGGTGACATACAACTTCCAGAGTTTAT +GCCTGCTACAAATTTTAGAGTTTGACCAAAAGAAGCCGTTAGAAGTTTAC +TCGTGAGAACTTTTTAACCCTTGAGAAGATTTAGTGAATATTCAAAATTC +CACACTTCTTAAACCAATCAGTTATGTTAAAACGAATTGATTTTCATTGT +TTTTGCTTGAAACTCTTCGAATTCACCGCATTTTAAGTTAAGCATTCCAC +TTTAAACCCAAAACTAACCCTCCTACATAAGCATCCAAATATAAAATATT +GCCTCCATACAACTCTTTCAACTTCTCCACCTTTGCAGTATGCTTCTTGT +AAAAGTCTTCATTCATTGTCTCCCATGTCTTTGGCGCAAGTCCGAATGTT +CTTCTCAATTCATTATACGGTGGTACTCCATTGTCCCTTCCTCTCATTAT +TGATGAAGCAACAACATCCAAACGAGAGAAATGCATTGGTCCGAAGATGT +AATCACGAAGATCTTCAACTACTATGTTATCATCTCGTTCAGCTATCTGG +CTTGCCATTCCTGAAATTACAACCTTTATTATATAACCACTCAAGCATGA +ACTAACCAAGAATAATCTCATCCACACTGTACTCCTTTACAATATCCTGC +GCATTCCACCAATTCTGGCACAATCTCAATGCAGGATATCCACCAACTTC +CGTCCGGAATTCACATTTATTTCCTCGTTTTCTCAGAAGCATTGCTGGTG +GCACAATTGAGTGAGGGAACCTGAAGGCGGCTGCTCCAAAAGCATGCGAG +ATTCCAGGTGGAACATGTGGCATGTATTTGGTGTAGTTTGACAAACGAAC +GTCTTCACCTTAAAAGAAACACTGAGTTTAAGGTATTATAATATAGTTGA +TTAACCTAACAGCCCTGGAACAAAGTCATATGCAATAATCTTCTGCATAG +ATGCAATCACCAAACGACGTGCTGCCTGGAAGATTTGTTCGTCTGTCCAG +TCAGGATGTTCTCGATGGATTTGATTTGCATTGTAGTTATGCCAACGGAA +GAGGATCAGACCAAATGAGAGAAGACCTGGATTCTCATTCACACGCGAGT +CTCCCAACACTTCAAGTTTAAATATTTATACTTTTCTATAAAACTATGAA +CTCACTAAATAATCTATCTGGACTCATCAATCGATGTACTTGTGGCGGAG +CGGGGTTATTCAATGGAATATGTGGGTTGTTAAGTGGTGGATATCCAGGT +ACACCTTCAGCCAACCGCCCTTGTTTGAAAGATCTTAATGAGGACACCCA +TGGCTGGGTGGTACCATAGATGAATGATCCATCAATCCATGAAGTCCGTT +CATTGATTTGTTCTCGAGGTGAGTTGAGCCCATTTCCAGTTGCTTTATCG +TATTTGGCACGTGTAAATGGGATTTCTGTCTTTCCCTCACATTCTTTATC +AAATACATTATCACATAGGGGTACTTGAATTTTAAGTGTCTCTAGTGGAC +AGGATACTCCATTTGATTGCATTATTTCATAAGCAACTACTTGACCTATA +ATTATTATTACTAATTTTTGAGGTAGAGGGCAATAAAAACGAACTGAAAA +ATGCCAATAAAGTCGTGCATCCTCTTGTATTAGGTATACCGGACTCTCCT +TTGAATAGTATATCGGAGAGTTCACGGGCGGACGGAAGTGAGTTATTCAC +TGAATATACACCGTCTGAGTAGTAGGAACGTGCATCTCTATGCAGCCGAC +TTCCTGAAGGAGTAGGTCAATGTAACGTCATTTCTCTTCCGAAAAAACCT +ACCAGCAGAACCCCATTCACTATTCGCCAGATTGTTGTACCATCCGTCGT +ATCTTTGAAATTCCTCATTTTGTTGGATTCCTGAAAAGATAAATGTTACG +AGTTTTTGATTTCCAGGCCACCAAAATCTATATGATGGCCTAGGTTCCTT +ATTGAAATTTCTAGGTCACACATGCTCCCTTCACTACATTTTCACACCGA +TTCGTGCATTTTCTCACTGAACGCGCAAATTTCCGGTCAGTAGCGGAGCA +GAGCAAACATTTGCCCCGCCACCCGAAACAATTATTTTCGTATCATTTTC +GCACCTATATTTATTCTGTTTGTTTGCCTATTTTTTGTACATTTTATCCT +TTTTCTTGTATTGGGCGACGATGGCAAGGTCAGTAAAACAGGAAATTGTT +CCTGATAACTCGGGAATTTCAGGAATTTTTCCAAAATTGGTTGGGAAACC +ACCACTTTGTTGAAATTCGAAAGATACACATTTTGTTATTTAGGTGTAAA +CATGAACACTTTCTTAGGTAAACTATGTGATTTTTATGAAAAAGAACACA +GACACCGGGTGGCACACAGAGCTTATCAGTAAACAGCTATCAGTGATTTT +GAAATTTTGGAGGGGCAGAAATGTTGCGGACAAGGAAAATTTTTGTTTGG +AATTTGAAGTTTTGAAATACGCAATTTGAGAATTTTTGAACATTTTTTTG +TAATTTTTATCCCATTCATTTTTAACCTAACATTTTGAAAATCTAGCACA +GAAAATAGTACAGACACGTTCAATTGAGCTATTCCAAAAATTATCAATAT +AGCGCACTTGGTGTCCATCTTCCTTAACTGTTTGCAATTAGTCTCTCTTT +ACAAGAAATCAGCTACTATTTGAACAGATCTTGAACACATTTTCAAAGAT +CGGCTCAAGATCAAAAGCCTCTTAAACATTTAAGATAGCAGGTCCGCTCT +GTTGACAAATTTTCCACCCGGTCCTCCGAAAGGAATTTTTTTGGTCATCC +AACAACCTAGACCATGACGGCACCGATCATGCAATTTGCCTGCTTATAAA +AAACGATATTTCTAGGCCACCCATTTTTAAATATTTTTTTGCCTAGTCTT +AGCTATGTGGAATAAATTCTAGGTCAGGAGGTTTTCTAGGCCACGTAATT +CCACTCACCTTTCCCTCCAAAAATTGAACTGAACAGTATAGCTATGTACA +GCACATGTTTTGAGCGCATTGCTCGTGCGCCTTAGAGTTTTAGTTGACCT +GAAAATATTTGAATATTTAGAAATTGAAATTTTGAAACGCAATGATTAAA +ACGGTCAAAAAAGATGTTATTTATACATACGCAACATTTCAAAATTGATA +ACAAATATTTACAGGAACACTTTTTTCCAATAATACGGTGACTAAGGGGG +AGTTTACTGATAGTAACAAATTGGAACGGTACAGGAAGAAAATTTAAAAC +CGGCTCTACCCATTTTAGTGCTACCAGCCGACAACCAAAAAAATCAATCA +GCCGCACACCCTGCTTGGAATGTGACAATCACAGAGTTTTGGAATTTTCC +TAATTTCTAAAATTTAATTTTCTAAAAACTGGGGATTTTTTCTGTAATTT +TTTTTTAATTTTAAATTATTTTTTAGGAACATTTTTTTGAAAATAACTTT +TGTTTGAAAAATTGTTCGCTAAAAGAGTATAAATAAGATCAGGCTTCCGA +AAATGTTTCAAAAAATATTTTTTCACGATTCTTGCAACAAAAAAAAACAA +ATACTGAAAAAAAAATTGTAAGAAATTTATTTTGTTGAACTTTTCAAATC +TACATTTACAACAAAAACAGTTCTTTATAATATTTTAAAATCCAAATAGA +TTCCCAGTAGATTTTGTTTAAATATTCGGAAAACGACCAAACTTTCATTT +TTTGAGTTCTTAAATTAAAAAAAAAATTTTAAATTAAAATTTTTGATTTT +CAGTCTAAAAATTTCAAAAAAGAGCTTTTAGTTCTGTAACTTTTGGAATA +AAAATTCAAAAAAAAATTGGGGGAGCCAAAAACTAACGCCTGCTTGAAAC +CTGCCCGCGAGAACTTGCAAATATTCAATTTTCTCATTTTTATTAATTTG +ATGAGAAAAATTTAGAAATAAAAAAAAATTTGCATAAGGCATCGATTGAG +GCGAAAGGCAGGCGGAGGTAATTTTAAGGCCAGGCTGGCGTTTTAACTTA +GGCTTCCATAGACCTAATATTTTCATACTTGTTGAAATTTCAGAGGTTTG +AAAATTGAACAATTTAGGCCCAAAACCTTTGTTCCTACAGTACTACAAAA +ATTCTTTGAAAAATTCCGGTAATAATAATTGGAGGAGGAGGAAAAATATA +AAATGATTCTTCGTCAGACAGAAATAAATTGGTGAAGAGAAAAAAATGAA +TTGAGAGAAAAAGAGAAAGAAAGACGGAGAGCGTCTTCGAAAGAAGGAAT +CCTCCTGCGCGGGATCGAAAAAATAAGCAGCAGCCGGGAGTGAGAGAGTA +CACTGCACTAGAAAAGATGCAGAGAGATTCACAGAAAATCGGGAGAGACC +CCCCGTATGTCGGTCGAGACTGAACACCTAAGACCTACTTCATATTTCGA +ACCGGTTCATTTTCATTGGCATTCGTATTATTATTAGTTTTGACAGGGGC +AGTCGTCGTAGATGCTATTGTTGTCAGTTTGACGTGATGGCCGTGTCATG +GGAAAAATTCGGCCATCAAAAATCGGGGGGTTCCTGCCACCCTTTGTCTT +CTATGGTCGGAGAGGCGTTTTCTAGGCTACTTATTTTGGTAGAGTAGCTG +TTAATTAAAAATTTCATCAATTTGGTAATAATGTGGCTGCAAATCATATT +TAAATTTTCTATACAGTCAGTGCCACCCAATTAAAAATTTTCTGGCAGTG +CCACCCAGAAAAAAAAAATATCCTAGGCCACCAATTTTTAAGATCATTAA +TTTTTTGGCTATCAAATTAAGTAGACCACTAAAATGTTTCGTCATTAAAA +TTTTCTAGGCCACCAATTTTGCTTGACTACTAACCTTCTTGGCCATCACA +ATTTCTAGGCCACTAATTTTTTTTCTAGGCCACTAATTTTCTAGGCCACT +AACAAACTGTTCAGGCCATAAAGTTTTCTAGGTCCCTATTTTTAGGTCTT +CAATTTTTTCAGGCCACCAAAATTCTATTCCAACATTTCTCCGTCACCAA +AGTTTCTAAGGCCTTTAATTTTATAGACGACTTCTTAATTGTAAGTCAAA +TTGTTTCAAAACGATTATTTTCAATACATATCAAAAACCCAAAATTTTTC +AAAAACTTAGTAAACTAAACTAAATTTCCAATACGTGCTTCATTTTTATA +TGTAGGCGTTTAGACACCCCAGTGGGCAGCAGTAATTGTTAATTCTTATG +ATTATCTCATTGGTACACTTTTCTTGTTCAACTTTAATTATTTATTTTTG +AAAAGGATTATCATTGGCATTGGCAAATAAATAAAATTGTTAGTGACGTG +GTGATATTGGACATTTTTTGATTTTAGTTTGCTTTTTGAAATTTCAATTT +TCGGCACTTTGAAATGTTCAAAATGTTCATTTGTATAGCAAATTATTTTA +TTAAAATTTTTTTCAAATTTATTACATTTTCAGTGAAAATTGCACAATTT +TTTAAAACTTTCTAAAAACTGCAAAAAAATAATTAGGTTTAAATAATCAA +ATCAATAATTTTTTAAAGGATTAAAATAAAATTATAGTTATTACAAATTA +TTTAAAAGATGTATACTTAAAAACTACTATTTATGTTTTGATTTTTACTC +GAAAATCCAGAAATTTTAAGTTTTCGAGAAAACTTTTTAAATTTGTTTTT +AAAAGAGGTTTATATAAATATAATGAACCCAAACTTGAAAGTGCGAAAAT +GTACTTAAAAGAGTCCAAAATAAGCAAATATCATCACGAAAAGCTCCGAA +CGTTTTTAAGTTTTTCGAAATGTTCAGTTATAGTTTTGGTAAACTGCCAA +CTTTACGAAAAATTCGGGTTTAATTTTCAATGTTTTTATACAAATATTTA +AAACAGAGTAATAGTATAAAATTTGTAAAAAAAAATTTTTTGGTCGGTAT +TTAAAAATGGTGATAGGTGATAGGGCCATTTTTGACAGTAAAAAAAACTT +TTATAATTGTTTTACATTTTACCAACATAGGAGCTGCCTTAAAAAATATC +TAAAGGCTTGGGGTTTTGCCCTACAGTCCCAAACTACCAAATATAAATGT +AAAATTTTTATAAAAATGTTCAAAATTTTTAATGATTAAAAAAATTTGCG +AAACTTAATCAAAATGCCGAATAATTGTTTCATTCCCGCGATTTTTTAAT +AATAATTTTTTTGTATAATTTTTGCATTTAGTGGCGTCATTTGTTTACAT +GTTGTGTTTTTCGGCAATATTAATAGAGGTTTTCAGAGATTTTCTAGTTT +TTGAAGCACATTTTGCCTTGTTCCCGTAAAGAAAACTTGATAATTGGAAA +GAAATTTGGCAAAACGGCGAAATTGACCAAATTGACCAAAAAAGTTAACA +AACTGTATTTAAAAATAAATTATTAAGCAAAGTAAAAACAAAGAAAACCC +ACATAAATGTCAAAAATGACGTCACTCATTTGAGCTGAAATTCAAAAAAG +AATTCGGTCCTTCTTTTTTTTTTTCAAAACAAATTTTTCTTAAATCATAA +AAAACATATTATAATTTTATGACTTTTCTGACAGTTATATTTGGAATAGT +GGGACATTTACAAGGGAAGTCGAAAAACTGAACTCCGGACTTTGACATGC +TATAGTTATTTTTCGATAAAAGAGTGAAAATAATGATCCCTCCAAAAAAT +TTTGCTGCCGCGGACCAGGTTCAGCAAAGTTATGACGTTTTGAAAGTGCC +GAAAAAAATTCCTTGACCAACCCAAGCAAAAAAAAACTTTCAAATTTTCA +AAAAAAAAATTCTGAAAGTTGATAAAAACTATTGTAACTTATTCAAAAAT +GTGAAAAACGTATATCATGCACGTTTTTTCTCCCCACGGACAAAAAACCA +CATTGCTTGATCAAAATATCTTGAGCAAAATTCTAAAAATTACTTTTTCT +TGTAGATTCATTTATTGGTTTTCTTCAGAGTTATGAGCTAAAACTTGCAT +GGCATATGTTTTTCACTGTTTTGAATAATTTACAAATATTTTTTCCTCTT +TTCAGAATTTTTTTTTTGAAATTTTTGAAATTTTTTAAAAGGGTGTTTCA +GCCACTTTCAAAACGTCATAACTTTGCTGAAGCTGGCCCGCGGCAGCTAA +ATTTTTTTGGAGAGATCGTTATTTTCACTCTTTTATTGAAAAATTACTAT +GACATGTCAAAGTCCGGAGTTCAGTTTTTCGACTTCCCTTGTTAGGGCAA +AAAATACCCACAGACGGTACTCCGCCTAAAATCAAAAAAGTTCCAGCAAC +TCGAGATCACTTTTTTACCATCTCAAATCGTTCGGTTTGTTGGGGGGGGG +GGGGGGGGGGCTTAAAGAAAAACGAAAAAATGAGACACTTGTTAATTTGA +TGGTAACAAGTGAAATGGAGAGAGAAAGAGAGTGTAAATACAAGAAGGGA +ACAAACACTTGAAAATCAAAATTGTCGGAAGGAACTAGGGGGAGGATAAA +ATATTGGAAATTAGGTTTAATAGGATATGTATCTAATCCCGAAGAATATT +ATTAAAATAATCGGTTCAAAGAATCTGAAAAAATCGATAAATGCGTTGTG +TTGTCCTACTTCCGTCCTCTACACAACGTCGTCTTCTTCTTCAGGGCGCA +TTCTTTTGTGTAACAGTGCCCCTTTTCTCTCTTGATGCCACAAAACACTT +TGGCAGTTACGCAATCGAAAGGCGAGGAAAGCAAAACGGGTATCAGATGA +TGATTAAGTGAAACTGGAACTGATAAGTGAGATGGATTGAAATACAGATA +GCCGTAAACTTTTAATAACCTAGAATTTTAGTTATTAAAGGTGTTATGTA +TGTTTCGAAATTTGAAAAGATTTTCTCAATTTTTGAATGAATTATGTTTG +AAGTAATTTAAAATGCCGAATGAAGGGTTTCAATTTTTGTTTTTTTAAAA +AGATTTTTCGTCCGGCCGATTTTTCGCAAAATGTTTTTTAAAATTTGGGT +TTATGTTCTTCTCTTTTTTCATGCCTAAGCCTAAGCTAGGCTTAGGTTTA +GGCTTACTAATCCTAATCCGAAGCATAAGCTTAATCCTAAGCCTAAACCT +CTCCTACTCTTTTAAGCTTAATGAATGCCCTAGCTTCATTTTTTTCATTT +TTCGCAGGTTTTTTTCTCAAAAACTCAAAAGCGATGCTACGAACACCAAA +AATTGGTGGTTCAAAATGTGTGTTTCTATTTTTTTCAAAATTTATTTGAC +TATACAAACCAGCTGACAATTTTCTTCAAAATTCCGTTTTTCTTATCAAA +AATAGTCAATTTTTCATCTAGAAACTTCAAAAAACCGTTACCGTTTCCCT +AAGTTTTGCTATCAGTTCCGTAAATCTTGTACCTTATGTCACATGGCATT +AGAAATATTTCAATTGAACCAATCTTGTTCGCGTGGAGTACAAGTTAAAC +ATTTATGATATGTGGATGGGTGCAATTGCGCTCTATTGAACAAACTATGT +ATCAACAGAACGCGTTAACATTATTTGTACAGGTGGGGAAAAACAGGAAA +AACGACTAGGCAAAACAAAAAGTATATAAGTTTTCTTCTACACGTCTCAT +AAAGGAAATTCAAATTTTTTAGAAAAAGAGCGGGGGGGCGCGATTGCAAA +GGTTTAGACGGCGTTAAGATCTTTGTCGACGAGTGGTTCAGCCGCTGAGA +ATGTGATTGCCGCCGGAATATTGTCCTTCTCGTTGATTGAGTCTTTCGAG +AAGAGCGCCAGAATGACGGGCAGAATGAAGAGACCGTGGAGGAGACCTGG +GAGAATTTTAAAATTTTTGAGTTTCTAGGCCACGAGTGACGTCACTATTA +TGTCCAAGAAGATATTCTAAGGACAAATTTGATGATTGTTCACTACTTTT +TCACTAAAAATCAGCTTGAATCGTAGAAAACAAAGAACTTTCAGAAAATT +TCAGCGCTCACCAATAGCAACGACCAAAAAAACGGTCTTAGCAAAGCACA +CGATTGCATAAGTTGGCACAAAAATCAACGGAAGCATGCATAGGAATGTC +GACAGTCCGGCTTCACACATTGGCATTGCCATTTCTGCCAGACTACTGTA +GACACGTTCTTGTGGAGTGCCACGTGCACGAAAAAAGTTGTAGGCCACGT +GAGCGGTGTAGTCGACCGAGAATCCCGTGGCGAGAAGGACGTCCACTTGG +ATTACCGGGTCCAGGTCGGCACCCCAAAGGGAGAGACCACCGACGAGAAC +TGTAAAAACGATTTTAAAAAAAAGTAACTTTTTCAGATTAAATCCAAGAA +AAAAACATAATTAAAATTTGTTTCAATGGTTTTTTAAAGTGACAATTACT +CATTTTCAGGTTTTAAAAACTTTAACTTGAAAAAAAAAAACATTTTGAGC +TACTTTTGAAAAAGGTTCTATTTTGAATTTCCCATCCAAACTTTTTGAAA +AAATACAAATGATAAAAATAATTGCTTTCTTAAAAAAAAATTGTTAGCAA +CCCTACCGTTCGCTAAAGATCGTTGTCGTTTTTTCTCAGAAAATTTAAAT +ATCCCGCCATATATATTTTCGGAGAATTTCAATTTCTCGAAAAATTGTTT +TCTCTGAAAATTTGAATTTTCCGCCAATAATTTTTCTCAGAAAATTTGAA +AAAAAGGATTAAAAACATGAATTTTCCGCAAAAAATGTTTTCTCAGAGAA +TATGAATGTCCCGCCAAATATATTTTCAGATAATTTTAAAGTCTCGCCAA +AACGTTTTCTTCGAACATTTTAGGATTATGTGTTGAATTTGTAGAATTTT +GATCTTGATTTAAATTTTTTCAGTTTTCAATTGAAAAAAAACTAACCATA +ACAGATACTTGCAATAACAGATGTAATCACAGCAACTGCATTAAAATTTG +CAATAAACACAAAACAAACGATTGCCATACAGACTACCGTAACCGCAATC +GATCCAATTAAGTCAGTGCCAACAGTCAGGATGATACTGAGAATTGCAGA +GTCACAGTCAAAGAGTGTAGCGTTGAATTGACTTTCTTCATGAAGAATTG +TTCGGATATGTTGCATTGCACGTGCTCTTTCTGCCCATTCAGACATTCCT +TTACCGAGAAGTGTCAGACGGAACGCTGTGACAATTGTTCTGAAAATTTG +GAAATTATTCGGATTGAAATTGAAAAGTGTATAGGAATTAAGTTTGAACT +ATTTGAGAAGTTTGTATTTTAAATTTTGCGCTAAGTTGCCTGAAAAAAAA +CTAATTTCGAACTATATACCTACAAATATTTTTCAAAGAGCTCAATATTT +GAATTTCGCGCCTAAAATATTTCGAAAACTTAAAATTTGCGACAAAACTA +TTTAAACTATTTGAGAAATTTGAACTTTTAATTAACATTTGAACTTTGCG +CCAATTTTTTTTTGGAAAATATTAAACTTTTGAAATTCTAGTTGAAAGGA +AATTCAGAAAAATTGAGGATGTAATTTTTTTATATGAAAAACTTTTAGAT +TCGATTTCGCGTCGAAAATTTTTGAATTGTCAAAATTTAAATTTTGACTT +TTGCAAAAAAATGGCGGGAAAGTGAAGTTTCATTAGGAAATTCAAATTTG +ATAGGCGTTTGACTAACTTATTATCATCTCCCATGTGATATTTTACAAGT +GGAGGGTTCCCGATCGCATCCATCCACGTCGGAAGATTATCATAAGATGG +GCGGTATTTTTCTCCAACCAGAGTGGATAAAATATTCATCGTCTTATCAA +AATTCACATATTGCGGAAGAAAAATCAGACTTCGATTGTCTCCACGAATA +CCTGGCACGTGCTCGAGCCGATCCATCATATTGTTGAAAGAGTCGTACTG +AAAATTGAATGGCCTAGTAAGTAAAAATTAGATCATGAACTTACCTCTGC +TTTGATCTCGATATTTGGAGGGTTGTTCACTATTACTGTAATAGGAAAGT +AACGGTTGAAGACTGGCCTGAAAAATGATAAATGCTCAAAAAATACAACT +TTTTTCTTTTAATAACGTAAAAAGTTTTTTAAATCGATAAAATCAATAAA +TCGGCATTTCAACTGTAAACCAAAAATAACAATTATTGATTTTTCTTACA +AAGACCTTAAAAATAAAAAAAAATCAATAAAAATAGCGATTATCTTTCCA +AAAATCTGAAAATCAATTCAAATAATTTTCTTGATCTTTTATGTTAACCT +ATAAATACCAATTATTGATTGTCTGGAAAATCAGTAAAGATTATTGATTT +TTTTGAGAACCTAAAAATCAATAAAACCCAATAAAAAAGTAATGTTTTTT +CAAACGCTTTTTCAAACAAATTCTTGATTTTACTTTCAAAAAACCAACTT +AATATTCGACAACGAATCCACCAGCTTCGAATTTGATGGGAATGCCTTTG +CAGGTTCAAAGGTCGTTTTCATGGTGACTACTCCATAAGTTGTCAACGCA +TACATCCCAAGGAGCACCATAATGCACGCTACACGCCCCTTCACGGAGCA +CACGAAGCTCGAGTACTTGGAGAGCCACGTGTCGGCTCGGGAAATTTTTG +GCTCCGTCTCATTGGCGATGGATTTGTAATCTGGGTCGTTGCAGAGGAAT +ACAATTGGAGCTAGGATCGTATAGGTGAAGATGTAGTCGAGGAGCAAGGC +GAGCGAGGCAGTTAGGCAGAACAAGGACATCTGGAAGAAGAGTTTTATTC +AAGCTAGCCCACGTTTTCAAAAACTGGGCTACGTGCCAAAAAAGGTTACC +TGAGGCGTTGGCGTCAAGAATCCGATTCCAAAAGCAATAATATTGGTAAG +TGAGGTGATTGTAATCGATGGTCCAACATCGACAATCACTTGTTCCAAAC +GGCGAGGTCTGAAAATTGCAATTTCACGATGCTTTTACAATACCCCTACA +GTACTTTTGCAGTTTCTCTACAGCACCCCTGTACAACTACGGTACTTTTA +TTTATTTATATATTTGTTCATCAGGCAACAATCATAATGATACAATTACA +ACAAGGCAGTGAACTTTTACAATACAATGCCCCACCCTCTTTTTCCGTGA +AAACTTACGTGTCAGTAATTGCAATATGATGTTTCCATCTGTGAAGTAGA +ATAAAAGCATCATCAACTCCAATTCCAAGTACCAAAAACGGCGTAACACA +TTGAATAGAGAACGACGGGAAGCCCATCCAACAAATTGCTCCAAACGAGG +CGACAGTTGCAGCCATCGGAGTGAGCAATGATGTGGCAACCAGATAGAAT +GCCATTTTGACAGATGACAGGCGGACAATGACAATGATGACCTGAGTCAG +AAGTAGGAAGAATCCGATTGTCATTAGAGTGGTAGCTTCAATGGCTCCTC +GAATCATTTCACGATTTGCTACTTGGTCACTGAAGATGGTGAACTGAACG +TGCTCGAAGGCAGAGGAGTTTTTGGAAAGTTGGAAGAGCTCGTCGATTGC +GTCCTGGGAAAAGTATAATTAGGAAATGCCGAGTGCTTGCCAGTTTTTTT +TATTATGTAAATTTGCTTCCCAGAATCGCGAAAATTTGATTTCCCGCAGA +AAAGACTGAAATTTAAATTTCTACTAAAAATTGTTCAGATGTTTGTTTTT +AGAAATTTTCTTTAAAGACAAAGATTTGAATTTCCTATTGAAAATAGGTG +AAAATTCAAATTTACTACAAAAAAATTGAGTTTTGTTAAAAACACACTGA +AAAATTGAACTTCCTGATTAAAATTGATTGAAAAATTAGAGGCTCCTAAA +AAATATTGAAAACTCGAAATGTAAATTCAAATTTCCCGTCCAAAAATTGA +CAAAAATATTTGAACTTTCTGCCAGAAACAAGTTAAAAAATCAAAGGTTC +CTCTAATAGTAAAACTGACTCAAAATTAATTGAAAATTGATCAAAAAGCC +GTATGAGTCTTCTAGGCTATTCTCACCTTAAACGCCAATTTTCCTTCTGG +AGTATCAGACCTCGAAAAATACCACAGCACCAAGGATTTGGAGCTGATCC +TCTCGGTCGGTGGTTCTGAAAGTTTCAATATTTTTTCACATTTTTCCAGA +ACTTTTTATAGTTAAAAAAATGAAATTTTAACTGGAAAGTGGCTAAATCA +TAAAAACTATTTTTCAACTTTTCATTTAACATTTCAAAAAAAATCTTACC +AAAATCCGCATTACTCAAGTGAAGTCCCAGGAAAATATCCAGTCCGCTAT +ATGGCATATCCGGATAGGTGAATACACTTGTGGTACCATTGTTTCTCCGC +GTCAAATTCTGAAAATTGCCATGTGGTCGTTGAAGAGTTTTCTAGTCCAC +CACCACCACCACCAAGGGTTTCGGTTTTTCGACTTTTTAGAAAATCGAAA +AATCGAACAATTTTTGAGAAAAACTTACAAAAAGCTGATAATGTTTTTAT +TTTAACTTTTTTCTCCATCATTCATTTTAAGAATATAGATAAATGGGATA +AGACCGTCCAGGTTTCTGTTCAGTTTTCCCTGTTGTTAAATTCATTAAGA +TGTTTGGTCCCCAAAAAACAATGTTTCTTTCATTTTTCGATTTTCAATTT +TTAGATTTTTCGATTTTCACTAAAAACATCGAATAATTGAAAAAATCGAA +AAATGACACCCTAGACCACCACCTACCGCTAACAAGTGAAAGGGGCTGTT +CAAGTCGCAGAGTGGATCGCAATTTTTTCGTCCATCCCCATCTTGGTAGC +CAACTGCCGCCGATAGTCGATTGTCCACAGTATAAATCTGAAATTTTTTA +AATTCCCGCCAGAAAAGTGGGCGTGACGGAGAATCAACTTACGTCTGCCA +GTGCGCCTTCCTGGAGAATACTGGAATTTTCGCGCTTGGCGGTAAAAATA +CAGAATGCTCGTTCCGGATAGATGTCGAGTCCGTAGTATTCCAGCCAGAC +ACGGGTTTCACTGAAAAATGTAAAAAAATTTATAGAAATTTCCGCAAAAA +GCATATATTTAAAATAGGAGTTTTAAAAAAATTAACAAAATAGTTACGAA +CGAAATTTTCATTTGCTTTAAAGTTTTCTTTTTTTTCTTATTTATTTTTG +ATCAAATATTTATTTTGGGTTTTTTAACTTCAAGTGGAATTCCAAAAAAA +TTCAATTTTCTTCCCAGTCAACCAAACATTGACCAAATCACAATAAGAAA +GGGAGAAAGGGAAATCGAATTAGAAAAAGAAAAACATTGCGAAAAAACGT +GTTATTTCTGACTGGTGGAGGAAGGAGGCTTCAAGGTCAGTAGTCACTTA +CTATCCAGCATCTGAATCATCCGGTGAAAAGGCTTTGCGAATATCTGGCT +CTAAACGAATGTGCACAAGTCCTGAACTGAGAACTAGGATGGATAAGATG +CTCACTGAAAATTGTCCAACTTGAAAAATTTCGATTTTTTATGTTTATTA +AATTTTTTCTGGTGTAAAATAGCAGAAAATGCCAAAAAAAAATGTATCAG +ACACAACTTTTTTTCAATTTTTCAAACTTTTCGTTGCAAGACCAAACATA +CAATAACAATTGTCGTTCGAGCGCGTTTTGCCCATGCACCCTTAACGGAG +ATTTTCATCGACTACTCTATAGAGCGCGTTGGTGATTTTGAAAATGAATT +TTTCTTGGAAATTTAAAACTTTTAGAAAGGGATTTTTCTATTTTTTCCAA +AAAATTATATTGAAAAATCAATAAATTAATTATTGATTTTTCAAAACTAT +AGTGATTCTGATTTGAAAAATGAAAAACATTGCTTTTAAAATTATCTGAA +CTCAGTTTTCACGAAAAATCAATAAATCGGTAATCGAAAAACATTCATTT +TTCTATTTTTCTCAATTTTTCGATGTATTTTCCAAGAAAATCGATTAATT +TATCGATTTTTTTTCCAGAATATCTGATCGATTTTTTTATTCATCGGAAA +AGTTCAATTATTTTATTTTTAGGAAATTGTTTTCCAAACTTATATTGGTG +GCCAAGTTTTCCCATTTCGACGACCATAAAGTTACAAAAAACTCACAAAG +TATCGAATAAACCGGATAGGCGGCTAACAGCCGTGCCACGACGGCACTAA +TCACATCCCATCCCATGTGCTGAAAAACTTCGAAATTTTTTTAATATTTC +AGAATTTAAAGCAGCATGCAAACGCGCTCCAACAAAGAAAAATGTTTTTA +AAAAATTGAAATTCAAAACACAAGCACGTGAAGCAGAGAATGCAGAAAAC +AAGACCACTGTCACAAAATTGTAGAAGTGAGGGAGGGAGGGCTATTGCAG +AGGTGACCAACGGGTTTCGGTTTCCAATTTTTCGGACACGGCGCAGAGGA +TTTGAGTCATTATTATTGTGTTTAGAGAGTGTAAGAGAATTAGAGAATTA +GGGATAGATGGGAAACTGTACGTACTTCTGCGAAATGGTGCACTTTTAGG +ATCGGCGGCCTAGAAATTTACATGGTGCTCTAGAAGTCTAATAGATAGCC +TAGATCTTTTTAAGTCCAGAAAATTACTTGGTGGTCTAGAAGTTTTTTTT +GTGACCTAGAAATGCAGTTGGTGGACTATAAATTCACTTGGTGGCCTAGA +AATTCATTTGGTAGCCTAGAAATGTACTTGGTGGCCTAGAAATTAACCTT +GAAGCTTAGAAGTTTGTTTGAAAGCCCAGAAATTCACTTGATTGCCTATG +AATTCACTTGGTGGTCGAGAAATGTTCGTGAAAGCCCAGATATTTACTTG +GTGGTCTAAAACATTTTTCAGTTCAGAAATACATTGGAAAAAATTTCGAT +TGAGAATTATGGCGTGGGATTTCAAGTGGTGACCTAGAAATTTGTCAAGG +GACTGAGGAATTCATTTGGCGTCTGGAAATTTTTTTGGTGACCTAGAAAT +TTATTTGGTGACCTGAAAATTCATTTCATGACCAGTGAATTTACTTGGTG +GTCTAAAAAGTCTCATGGTGCCGGTCTTAAAGTCTCATGTGTTGCAAAAA +TTATACTACAATATTTAACTTTGAAATAAAAATTCAGCGGGTCTAGATTT +GCAAGAAAAATCTGTATTTTCTCAATTTTTTTCAGGTTTTTGATTAGTTA +AAAAAAATCGAAATGATTGTTTAGAACTGCAGAGAAAAAACAATTTTGTA +TCTCCGGAATGCGCTATTCTGGGGAGTCAGATTTACTGGATTTTACTTTT +TTTCCTGCAATTCCAATGCAAAATAAGGTAAAAAAATGAGAAAACTGGCG +GAACACGGCGGTACACACAGGGGCAACTTGAATGTAAGGCAGGTGTTTAG +TAAGTGGACCGAGGGGACGGCAAAAGCTGGTATTTTTCCTGTGTCGATGG +GGGACAGTAGTAGCACACAAGAAACAAGTATTTTGATGATAATACGAATA +AGAAAAAGAAAAAGGCAGCAAAAAAGTGTGTGGCAGACCACCACCGTCCA +TCGGATTAGGGAGCGGAGGCAAACTCGCTCTACCGAACAGAGGGGTGTCC +GTTTCCCCCAAAATCCTCTGAATGTGACGTCATTGTTGGGGCGGCGGGGC +GGCGTCCAAAAATTAGTGATTTTTTTTTTGGTATTTTGGAAAAAAAGGAA +AAAATCGAGAAACATTTTTTTGTGTTTTTGGGGAGTTTGTCATGTGAAAT +TTGAAAATGTTGGGTACAATCAAAAAATTGTTTTGGTTTTTATAATTTTA +ATAGGAATTTTTAAAAATCTGAATCGTTTTTCTTTGAAAAATCAAAAAAC +AACAAAACATCCGCTTTTTTTAAAAATTGTTTGTTAAAAAAATAGAAATC +GGAAAACAAAATTTTCCGATCTTCTCGAAATTCACAAACTCATAAAAAAA +TCGAAATCCCCTTGTACCCCACCCTAGTTCACTGAAGCGCGTTTGCTTTC +TGGCCAAAGGCATGGAGGGAGGCGGGCACCTCCCTTTTGCAAAATTGACC +TAAATAAAGGTGATATGCCAGTGATAAGGAACGGTTTAATGATCCGAAAC +CGCCAAAAGTGCATAGTTTCTGCGTTAAAAAAAGTGACAACTGACATCAC +ACGGAGGCTACAAAAGGGGACTCACAAGTTTGCCGGAGAGGAATGAAAAT +TGGAAATTTGTACGGGTAAGGGGATCAATGTTCAGTGGTGGTCGCGAGGG +AGGACGGAGGGAAAAAGTGGAATTAGAATTGAATGGGAAATTGGTGGCAA +AACGGTAAACACTTCTTATTATCCAAATGCATGAGGGATGGAGAAAACTG +GAAACCTTTGCAGAATTTTGGAGGGGGTGATGAAAAGTATTGGCAACACC +TTGGTGGCCGAGAATTTTAAATTGATGATCTGGACTAAAAATTCAGATGA +TGGCCGAGTTTTTCATATTCGCACCAATACAAATGATGGCCTAGAAAGTT +TGGAGCGACCTAATTTTTCAAATTTACAAATAGATCTTTAATGTTTCATC +GACAAGGGATGTGAACTAGAAATTAAGATGGTGGCCTAGAATTATATTTA +TGGTTCGTCAAGAGGTGGCCTAACTCTTCAAATTCACGAAATATTCTAAA +GTTTAAATTTCCTTTAATTAGTATTGTGGACTAAAAGTCGAGATAATGAC +CGAACTTTTCATAAGCTCTCCACATCAATTGGTGGCCTTGAAATTCCGAC +ATGGCCGAATTTTCGTAAGTCGACCCCAGTGGTGGCCGAGCCAAAAAACA +TAATTCCGCAAACTCTTACATTTTAATATATGAGGGAAGCCAGAAGTGCG +TGCCACATTATTTTTACATTTTTGACTATCGTGCCAAAATTCCAAAATCC +TCAAAAATTTGAATTTCGCGGCACAATTTCGGGTTTTGAATATCTTTTTT +TTAGTGTGATGTAGGGCGTACTTTCCAATTTGCATAAAATAAAAAATCAA +CAAAAAGCCATACATAATGTCAAATGGTCAGTTGCAAAGAAAACAAACCT +GCGGTCAGGATGGCCGAACCAGAAAAATCAATTCAAGCTTTCGATTTCGC +CCGAAAAAAATGAGGATCAGAATAAGAAGGTGTCGCCTATTAGAGATTGG +AGGATGTTGAGAAAAAGAGAATAGTGGAGGAAAATGATGAGGTAGAACGG +AATTGAACATGCAAATAAAATGAATGTATTGGGTAGGAGAGGGAAGGTAA +CACTGTGTGTTCTGTGTTTGGAAAAGGATTGAAGTGGTGGACAAAAGGAC +TCTTGGTTTAATACTACTTGCCTGTTCTGATCAGGTTCAGAGGTATTTCA +GCAATAGCTTTTGTATTTTGCATTTTGTCTTTTTAAGTACTATTATTTAT +CAAATCCTTTTTTGTAACTTTGAATCTGATGTCAAACTTGTGGAAAGTTT +GAACTCGAAGAAATTGCTCAAAAAGTAAAATTTGCGCCCAATTTTTCGAA +TTTTTTTCGTTGTTTCTTTTTAATTTCAAAACACAAATCTTCGCCAAAAC +ATTGTTACAAAATTAACATTTTAATTTTTAAACAGCTGCTAAAGCACTAC +AAATGTGAAATTGATGCCTAAAATTGGAGAAAAATGGAGTTTTTCAAAAA +AAATTGAAATAAGAAAGTTTGGAAACTAAATGTCTATATATGGGGAAAAT +GCTATTTCGAATCTCGCGTTTTTTTAAGTTGGGCATCTCCAAAATATGAA +AAAAATACAAAAAAAAACTCCAAAAGATAATGTTGAATTTTTTCAAAACC +CTCACCAAGAAGTATGTTTTAATAAACAAAAATTTGAATTTCTTTTCGAA +TTTTTTTCAAAATTCGTAATATAAGATACCTGTCACACTTATTTTCAAGC +TAACAGGAAAAAATAAATGTTGAACTTTATTTAATGATAAAAATAGTTTG +TAGAAAATTCGTAAATTTAAAAAAATTCAAATTCTACCAAAATATATTAG +TTTTTCACCTGGAACTAAAAACATTTGAAGAATTTTTTTTAGCTTATATA +ACACTACAACCGCAACACATTTTTGTGAGAACATGTCTAGCCTCTGTCAA +ACAGTTTTCCGGTATCTTCGTGTGTGTGTTTGCTAGTGTTCAATAGATCT +TCCTGTAAAAAATCGAAAATTTCCGATTATATGCTTTTTATGTGTTTGAT +TCTATAAGCGTTTAGATTGTTATCAGATGATTTGACATTATTCGCAACAA +TTTTTTTAAATCCGAATGTTTTTCGAATTTCTATTTTTTATAATTTTCCA +GACAGTTTAAGAGCAAAGTTGAAGTTATTTTTTCCTATCAAAAAATGCAG +GAATAAATACTACCTCAATTTTTGCAAGAAAAAAAATTTACAGTAGTTTT +TTTGCTGGAAACTAAATTCCGCAGAATTTGAAAAATACTGAAAGGGTTTT +TTTCCTTTTTTAATTTGTACTCCCTACAGTACCCCTTATTTTTGAATTAC +AATTTGATGTTCGTACCTAAAATTGACACTTTTTCTCTAGTATATTTCCG +AATTCAATTCATAATTATCAGTTGAAACTAGACCCCACCAAAATCACAAA +TTGATAAGAAAACGTAGAAAGGGGAAAGCACGTGTAGCCTACAACAATAT +TAACTGTTTTCAATTTATTATTTTTATTTTCCAAGGGTTTTATTCTTAAT +TCTATTCACAATTTTTCGAAAAATATTCAGCAAAAAAGTATGCTTTCTGA +CTATATTATCAGTATAAAGTGAGTTTTTTGTGAGCATTAAAAAAATCAAT +TTTTTGTGGCCTAGCTTTGCATTTAGTGGCCTAAAAAATTAAATGCATTT +CTTCCACGTTTTCCGTAAAAAAGACAGTGGAAGAGTTTTTATCCGTACTT +GGGCAGGCTTAATATTTTGTGGCCAAATTTTTCGCGTGGTGCCTAGAAAC +TTTTTTTACGTTTTTTCTCGGAAACTTATTTTTTTCCATGGCCGTGAACG +AGTTTTGTTTAAATTTCAGGTCGCTTTCAATATTTTGATGACTAGTTTTT +TAAAAAATATTTTCCTGCTTTTAGTAATGCTTGGCCAAACGTCTTCACGT +GGTCGAGCTTTTCATTTGATGCCCTAGGATTTTTAACCTGTCGTTCTCTA +GACAATAACTACCGTGGACTCGAAAGTTCTACGCCACGTTTTAAATATTT +GTAGCCTAGAAATCAAAGTCACTTCCCGAGTGGCCTACGTTTCCCTGAGC +ATAACTAGTCCTCGAGAAGTCCAGTCGACCGTTACTGTCTACAAGATTAT +CGGCAAGATAATCCGTTTCGATTTCGATGTCCACTCATTCACTAGTCGTT +TTGTCGTCGTTGCAACAATGTGGAAATTACTAAATTTTGGCATTTTTAAA +GATTTTTAAACACATTTTTTCTGTCGGAAACTGAGAACCGCAGTTTGTAG +AGAAAAAAATTGCATTTACTTTCCTGATTGAAAAATCTTTGTTAGCGTTC +TTCCCCGCTGATTTATGTACCGTTTAAGTTTCAGCTGAGAGACAGCGTGG +GATTGGGGGAGACGCAGACAGCGAGTGAGTTTGCGTCTCCCTCTCCCTCC +CACTCTCTCATTTGCAAGTTTTGAGTTTTCATAACTCGGAGAGTGGAGCT +ATCGAAAAATTCAAAAAAAAAAACAAAAAATTAAAATAAAAAAATTCTAC +AAATTTTTAGTTGCTAATTTTTTGATAGCGCTGCTAGGTTTTGAGATAAT +GACGTTTTTAACTCTACCTCGACTTTTTGTGTGTTACCAAGTTAGTATTC +CTCTGACAAACCGCATGACCTCACCTCATTGTAGCCTCTTTCGAAATCTG +TAAACTTTACAACTCATGTTTCCTAGTGATATCCGCCTCCATCTCAGCTG +TTCTCTTTCCATCTTCTCCTAACTGTTTTCGTCTATTTTAAAAATGAGAT +TATTCGGATTTCTTACTAGTTCCGCTCAAAAACCAATAAATTTATTTTGT +AGAGCGAAAAATTCTACACATTTTTGTAGTCAACAAGTTTTTCAATGCAC +CTCTCCTCGCTGAGTTTTTAAGATCTATAATTTGATAGTAAAAATATTTT +TGACAGTAGCTTTTGTTTTAGAGATAATCAGGATTTCGCAAGCCACGGAC +TTCAGTCTAGCCTCATTTCGAAAGTTGTGAACTCTGCAAGTCATGTTGAC +TAATAGTATCCCTCTCCAGCTGTTCTTTCTCCTCCTTCACTCAAGTGGTG +ATCGTTTTCTCACTTCTCTCGCTTTTTCGCCCCTCTCTGTAGTGTCCAGA +GAGTATCAGTTATGTCTCCAGGACGCCGTGTGACGTCATCGCTGACAAGC +CGTAGCCTACAGCGCCCGGCAGAAGACCTGTTTTGACATGCCATTCGTGA +AAAATTTAGATTAGCCCTCTCACACTCTACATGTCTCCATGTTTTTTCAC +ACAAACTATTTTTTTGAAGAAATATCTTTAAAACTTTGCTTTGTCTATAA +TTGATAGCATAAAAGGTCCAATTTTTTCCGTAGCTCAGCAAATGGCGTAA +CTAAATGGTGTGAAATGTTTGATAGGGGACCGGTTTTTGGCTGAAATCTC +AGAAAAAATGGAGCCCTGCCTGCATAGAGACCCCTTTCGACTGATGACGT +CACAGAGTAAGGTGTCACATCACACCATTCTTATTTCTCTATTTGAGGTC +CAATTAGACTAGGGGGTCAGCGTGCTCTCGATTCCTAGCCGATGACGTCA +CATATTTGCCATTCACAACTTTCTAAACTTCAAACATTTTTTAATTTTTC +CCAAATTTCAGCCGATTCCTAATGGGAGGATTCCTCTCCAAACATCACCA +CCTCACTGCAGTCCACGATGCCACGTGTGGCCCAATAAAAGGTGTCGGAT +ATGAGCAAGTAGGTCATAAATTGAGCTCTCACTAAGTTAAGATGAAAGAA +AATTATTTAGGAAGACGGTTCAGTGGTGGAGGGGTTCCTTGGAATCCCGT +ACGCCGAGCCACCAATTGGAGCCTTGCGCTTTAAGAAGCCAGTTGCTCAT +CGGAAATGGACGGAGCCGCTGGATTGTGTTAGGTTCGGGCCAAGGAGTCC +GCAAAATGATGAGCTACTAGGGCAGGTGAGGCGCCTAAATCAGAGCAAAA +CTCTGTCATTTTTATAATGTTCAGTTTGTGAACACAGTCGGGAAAAGTGA +GGAGCACTGTCTCAGCCTGAACGTATTCACTCCAAAGTGGGAGTCAAATG +AATGGCCCGACGGCTTCCCAGTGATGGTCTTCATCCATGGCGGAGGCTTC +GCTGTTCACTCATCCAGCAACTACGGCTGCGCTTCCATCGCACGAAACCT +TTGCACCAAGGACGTCGTCGTCGTGACCATTAACTACCGCCTCGGCGTCC +TTGGATTCTTCACCACCGGCGACGAAGTGTGCCGTGGAAACCTTGGACTT +TGGGATCAGACTGCCGCACTCGAGTGGGTTCAGGAGAACATTCAAAGCTT +CCGAGGCGACCCTGATAATGTTACAATCTTTGGCCAAAGTGCAGGTGGAG +CATCTGTGGATCTGCTTTGCCTATCGCCGCACTCGAGGGGATTGTTCAAT +CGGGCGATTCCGATGGCAGGGAATGGAGAATGTGATTTTGCGATGCGGAC +TAGTGAGCAGCAGGCTCAGTTGTCGAGGGAGTTTGCGAGATACCTTGGAT +GGGAAGGAGATGGTAAGTGATTGAAATGTCGCTTAGTCGTAAGATGTTAG +AAATTGCATTGTCATCAGAGTTGGATTGAGTTTGTTTAAGCGTAATTTTT +ACTAAAGCCCATCGAAGCAGTTCCGTTGGCTACTTGGCCTACCACACTCA +GCCTGGGAGCCCGTCATAGCAAGGCTCAAGACATTTCCTATGTAGTTATT +TCTATTGCAAATTTAATACGGTGAATTTTCCAAAAATCTTGACGTATCCG +AATGAAAAACCAGTGCAAACTTGTTGAGTAATATCCCTAATTACTTCATT +CCAGACAACGACAGTGAAGACCTTCTCCAATTCATCGACCAGCAACCCCT +TTACAAGATCGAGATGGGCATAAACCCGAAAAGAGGATTCAAGCATTCCC +AGGCTGGAAGCTTGTATTTTGTGCCAAACTTTGACGGCGACTTCTTCCCG +AAACCACTTAACCAGCTTAGAAAAGAAGCTCCAAAGATGCAAATAATGAC +AGGAACCACCAAGTACGAGGGTCTATTTTTCAGTGAGTTTAAACTTCTGA +AAATTTTCTGAAAATTTTCTATTATAGTCGCCCTCGGTGCCTTATCGAAA +AATCCGGAAGGAATTAAAAAGTTCATGGGAAGAATCTTTAAAGAATGCGA +CTATGGAGAGCGTGCTGACGATGTGCTGCAGATGGTCTACGACTTTTATT +TCAAGGGGGTACATCCCAAGGATCATGAGAAGAATATGCATCAGATTGTG +AAGGTAGGTGGCATAGAGCCTACAGGGCCATCAGCCAGTGTTTCAGTTCA +TTGGAGACTATTCTATCAACTATGGTACATACCGTCTGGCTAACATTATG +ACGGATCTTCAACACGATGTATACTTCTATCAGTTTGACTATCATAACTC +TGCAGGATTCGGAGTGTTCCGGTGGCTTCTTCCGTTTTTGGGTGAGTTTA +GGCAGGATGGGTCAGATTTTCTAAGCTCTGGGCCACATGCTTTTTGGTAG +ATCAGTTTTAGAAATTCTAAGCTAGAAATGTATGAGTATGGTAAAACTTT +TAAATCAGATTGAAAAGAAATTTTCCAAATTATAGGACTTTGTAAAAACT +CCGATTGCTTAGGCTACTTCATCCGTACGACCGTAACCTGTCACTAACGA +TTCTAATAGTGTACCTTATCTGAACAGTATTGCCGAACTAATTGAAATTA +ATCCTGAGACTCCGAGATTACCTAGCGGTCCCTATCGCTGTGGCCCAGTG +CCCATTTGGCTCAATATCCAATTTTCAGGCTCCACACATTGCACGGAAAT +GAGATATGTGCTCGGCAAAGGAATAATCTCGAAATTCCGACCAAATGATA +ATGATAAGAAGATGCTTCACGTTATGACAACTTATTTTACAAATTTTGCA +AAATATGGGTACTTTTTTTGTGAACACTTTCGAAAAAAATTAAGCTGCTT +TCAGAAACCCTAATGGAGAAAACCAGGAGACTGGAGAATGGCAAAAGCAC +GACTCGGCACACCCGTTCCGCCATTTCAAGATTGATCTGGACGATTCTGA +AATGGTTGAGGACTATCAGGAACGGAGAGCCGAGCTATGGGATAAACTGA +GAGCATTAAATGTTAGCAGGGCTCAGATGTGAAATTGCTGTTATTTTTAC +TTGATTGATTTTACGGGTTTATAAATATTTTTGATTTGTTATATATTTAT +TTTTTCTGAGTTACATACATACATCAAGAAACATTTCAATATCTTGCAAT +CTAACTGAATTTTATTTTATAATCAGTTATTTTTATTAATCCTGTACTAT +GCCAAAAAATCTAACTTGTTTGAATCAATAACTCAACTACCAATCCTTAA +CACAAAAACCAACACGGTTCTACCCAAACGATGTATAAGCTGGCACCATT +ATAAATTATCCGCATACTTTTTCAAACAAAGGAAAAAGTCGGAAGCTTTC +CATACATTCAACTCTATTATACTTTCCCCTTTCCATGGATGTGCTTTTTG +TGTGAAACCAAAACTTAACCGCCAGAAAGCTTTTTACATAATCTATAACA +GAGGTGGGCGGCAATTGCCGTTCGGCGAACATTCTGATTTTTTGGAAATT +TTCATTTTTGGCAAATTGCCGATCTGCCGTTTGCCGGATATCAATTTGCC +GGAAGTGTTTAGAGGGTTCTTTTTACGACGGAAACACTTAAAACTGTGCC +TTTTTGAAAATATTTAATTTTTATTCTTTTTTTCGGCAAATTTGCCGGTT +TGCCCAATTTGGCAATTCGCCGGAAATTTCAATTTCGGCAGTCTGCCAAT +TTGCCAATTTTCAGAAAAAAAATTTCGACGCCCATCCCTGATGCATACCG +TTTTTGACTCAATTTAAATAGTACACAACCTTCCACATTAATGTAGTAAC +GGTAAGGTTGCCTAATTTGTTTGAACTTTGAAAGCCGCGCACAGCACCTA +CAGTAATCAATCTCCTTAAAGAGTGTTTTCGCAATACCAAACATAGGAGT +TTGTAGAAACATGAAACCGAAGGACAACACATTTTGAAACAGGTGTCACA +TTTATGTATCTGCACTTGATAGCTATGCAGTCAATGAAGCATAACGAGAG +ACATGTGTTCATTCCCGAATGGAGTCAATGAGTCATAAGGTTCTTCGTTC +TCATTTTATTATTACAGGCTTGGGTCCCACATTGATTCATATTATACTTA +CTTTTCAATTCATTGTTTTTTTGTGATTTTTTTTCATTAGAATAGTATTA +TAATAATATTCTTCTAATAATGACAATCGAAATAGTTGCAAGTAGAATAA +CGATTTGTACAGTGATGCCCATAATTGTGCATGTTTATAATGTTCTAATA +TTTCAACGCAATCATGACACAAGCTCTATAGCATCTCGTGAGTTCATTTT +TGGTGAGGTTTCAAAAAAAAAATCCTCTTGCTCAAGAGCCATACGTTTTC +AGTTAAAAATTTCTTTAATAAAATATAATGCTCATTTCTCGAACGTTACC +TGTTAATGTTAACTGCGCCTACCATGTCCGTTCAATCCCACTAGTCAGTT +ATTCTTTGCAATTAAATGATAAACTTTAATGTCTAAATCTCTTCATGGAT +ATCTCCATCTCAACCATCCATCGTTTTTTATCAACCATCATCATTCTCGT +GTTCTCGTTCTCGGGGTCGCCTCCGCTTCTTCATCATCATCACCACGACC +ATTCAAATCGTTCATCTTCCTAATCGACATATTCCCGCATTAAATTTCTC +TGTTGGGTATCAATGACTACCCAAAAACGGTCGCATTTTCTGAAAAAATG +GGAAAATTGATTCCTAATTTATTGGTTTTGACCGGTTGTAACTAACCCCC +ACACACTGTTTTTTGATACTACCTACGTCTATTTTCGGCTAATTTTAAGA +AGTCAATGATTCCTAATTGTCTTTTTTGTTATTTTCTGTGAAGTGAAGTA +TCAAGATAAAATCAGTTTGCGTCTCGCTTCGATTTTCTCATTTTTCGAAT +GCTATTCCCCCGTAGCAATATGGTTTTGTTATTACACATTTGCACTTTTT +TGCTACCCTCCCAATTCTGACTCACACTTGCATTCCGGAGACTGCCTGAG +AGTTAAAACTAAACATAATTGTTATATAATAAATGTCAAAGTTTTTCGCA +AGCTGAAAATTTTTGCCAGCTGAATTATTCCTCCTTCAAAGGAGCATAAG +TCTAAAAATGCTAGAGTTATTGGAAAGTTGCTAATTACAAGTTATAGAGT +TTAAAATTTTGAGTAGTTTCTCGATTTACAATTTTTGAAGCTTTATTCCT +TGCTCAAACTCGAGCAATGAGAGGCAGTGGGGACTCCCCCACTGGGGAGG +GGAGAACCTTGTCAACCCACTAGGGAGGGGAGAACCTTGTCAACTTTAAA +GCCACGTCCCTCTGCAGGGAAAAGATCTATCAAAAGGTTATCAACTAACA +AAATGTGCAAAATTATACGCTCTACATTTTTGTAGTTAACCGTTTTCTGT +TATCACAGTTAGTTTTTGTGAAACCATCAAATCTGTAGTTTCTCCATTAT +TATTATCACCTAACAGTATTATTATCAGCTGATAAGTATCCTTTCTTTTT +GGATAATCCCCTTGTAAAGGAATATACCATTGTCTTCATCTCCTTTTTCT +GTGTCTACCCTTATCTTTGGGTCGCCATCTGCCTCTCCTCCCCGCATATC +CCCTCTTATATCTTCAGAAATTCAGGTTCCAAGGAATATTCCGAAAAATT +TTGTTTGGAAGGTGACATGTCCGATCAATCGCTGGTCCAGAAGGTTCCAC +TACTTGGCTCGTGTTCTCAGGTGAGTATGCGCCTTTAAACATTGAGGGTA +CTGTATGCACCATAACGCAAAATTGCAGATTTTATAGTGGGGCAGGTTTG +TTCTACAGATAACCGTAAAATTTTTATGTCCCTTTAAAAGAAACTCGTCC +GAAAAATTGATAATTTACGAGGAAAACAACTTTTAAAAATGTTTTTTTAC +TTCAAACGATGCTCTATTGTGCCGAATCGCTTGTTGTTTAGCGGCGTTTC +TAAATATTTATTTACTTATCGAAAATCTTTTTTTTCATATTTATAACTGT +TTAAACAAAATCGATAATATTTATTTTTTCTGAAACTATTCTGAAAATTT +TGAATTTCCCGCCAAAAAAATTTCGGAAAATTTTGATTTTTTTTGGCATA +TTATTTTCTGATAGAATTTGAATTTTTGGCCAAAGAAATTCTGAAAGTTT +TGAATTTCCCGCAAAAATTGTATTTCTGAGAGAATTTGAATTTCTTGCAA +TTTTTCTGTGAAAAAACAATTGAAAATAAACGTGGTCGCCAATACGAGAA +AACTCGGCCACCGATTTTTTTTTCGCAAATTTTGCATTCGTTGCTGCATG +ACTGCCAAAAATTGGCGGCCGAGTTTTTTTATTCTACAGGGTTAAATTTC +ACAGATGGCCGAGTTTTCTCAGTTTCACGGTCACAGGCTTCTAGTTTATT +ATATTCATCTCCGCGGCGCGCGCACCGTACTTTCTCCTTCTCTACTCTCT +CGTTGTTCAATCCCTCTCTCGGATCCAACCAACGCCCTCTGCGATTGTGT +CATCATCGATTTGTTATCTCAAATTCCGTTTGGCTTTTCAATAACCGTGC +CTTATTGTCTCAGGAATTTCAAATTTCCGGTCAACAATTCGGATTATTAA +CCATTTCGAAAAAAATCCTTTAAATTATTTTTATTATAATGAAAAACGTG +CGATTTTTTCTCGCTGGTGGGTCCTGGCACGACTGAAACTTTTCAGCTAC +TGTACCCAGCATTGCTTTAGAATTTAAATTTTTGCCGGCAAATTAGAACT +GCAAGATTTTTTTGTTAGTTTTTAATTATAATTGTTTGGGAAAAATTACA +AACTTTAAAAAAACCTACCGTACTCCCAAGTACTGCAGCCAAGAAATAAT +TTGTTTCGTGCCAAGACCCATTTTTCCTTTAAGAACTAGAAACCTCCCTT +GTTTACAACTGTACTTAAAATCGAATTAGTTTGTTCGCTAAACATGTTTT +TCGCGCGAAATTTCGCTTTACTTTCGAAAAATGTTTTTCTTCATTTTCGT +CGGCATGCGCCTTTAAACTACTGTTTTTGAAACTTTCGAATGATAGAAAA +AATTAGAAAATATTTTTAATTTTCGCTTTCGCCGGAATATTCGAAAATTC +GAAAAAAAAACTAAATTTCATGGATTCTCAGTTAAAATTCACGGAAATTA +AAACTTGCGTAGCGAGACCTCAACGATCACATTACCTATGCGCCTTTAAA +GCTACCGTAACCCTATTTTTAATTAAAAAAAAAAGAATTTCCTTTTAAAA +TCGCCGGATTTTCTCCGTCTCTTTTCCCATCTTTTTTCATCTTCGGTACC +AATCATATGTAGGTGAGAATATCTCTGCACCCTCCAACGAACCCAACACT +ATATCGCTGCGCACCGTCCTTCAACGATGTCATCTTCCTCCTACTTCGAC +CCCCTCAATTTATTTCCGATTTCCTCTGATTTATTGATCTTTTTTCCTCT +TTTTCATCATTTCTACGTTCTATAAAGCGAGGTTTATAGCCAAATGGACT +CATTCAAACGATTACAATCCAAAGTTTTCACGTCAGTGAGCTCACTGCGA +AAATCTGAAGAGAATGTGAGTAAAAAGCGGCGGAAGACGTAAAACATCTG +AAATATTTTTAAAAAAATTTGTTAAAAGCCCCACATTTTCGAGATAAATC +TAAATTTTCAAGTTTGTAGCAGCAAATTAAGCAAAGATATATATTTCAGG +CCGACGAGCAGACATACAACACAAAACGATGCTTCATCCACGTCAATCAC +TTATCGATCGCGATCGCCGTCGTCGAGCTCTCGATTTTAATTTATCAGGT +AATTTGTTTGCCTGCAACTCAGACCAACGCTTAGTCGTCTAATTAGATTT +CAACCATATTTGATTAGAAACTGAGCAAATATAATGGGGACATAATTAAT +AGGCTTATGGATTTTATTTGATTTGACAATATGGATTTTCTAACCAAATA +TGGTTAAAATCTAATCCAATATGGAGCAAATCTAATCAAATATGGCTGAG +ATCGTGCCATATTGGATTAGATTTCGACCATATTGGATTAGATTTGTTTT +CTAATGAAATATGGAGAAAATCTAATCTAACATGGATTTCTAATCTAATA +TGGAGCAAATATAATGCAATATGGATTTTCTAAAAAATATGGTTGAAATC +TCGTTGAATATGGTTGAAATCTAATTAGACGACTAAGCGTTTATCTGAGA +AACTGGAAAAACCTAAAAAAAATCTGAAAATTTTCAGTTTTGTGTGGAAA +AAATCAATGAAAAACTCAATCCTACAGTAATTTAAAAATTCTTTTTCACT +AAAAAAATCAGTTCCCATTGAAAAAACAAACTGAAAATCAATTATTTCAG +CTCTCAAATGGCAGTTGGGGCAATTCGGAGCACTCGACCGTCTTCACAAT +CGCCGCCTTGCTCTTTCTGCTCGTCATTTTTCTGCTTTTCGTCGCGATTT +TCTACCAAATCGGAAATCTTCTCATCCCGCACATCGTCATGCAGATTCTG +CTCGTTTTGTGCTTCCTGGGACTCACATGTGCGACGCTTTATGCGCTTTT +CCACGGTGCCACGTTTCAGTTGCTCGTCGTGGTTACAAATCCGCAAATCG +CCGCTGATTCCATGGTAAGTGTGGTAAAAAATGAAATTTGTTTCCTTGGG +AAATTCCTTCTTTTTCCTCAATTTTTCCTCATTTTTTTGCTTCCAAAAAA +AAGACCCATTTTGCGAAAAAAATTTTTTTTTTTCATTAATATATGTATTT +TAAATTTTCCAGACAATTCTCCCGGCGCCAATGATCACAACAAACGTGGT +TTCCGGATTCCTAGTGGGCCTTCTCGTCATTTTCGCAGTCTCCTACTTGC +TCATCGCTGTGCTGAATGTGAGCTTTTCCCATGGCGAGACCCATGTAACT +TTAATTTTTGCAGACCTGGTGCATGTACGTCGTCATCGATAGTTACCAGC +TTTTGAAGAGCCAGAAACTTCAATCTCGTACTCCGTCGGTCGAGGAGTAT +TGTGCGCCGAAGACGATTCAACTCTCACTATACCCCAATCAAATCGTTCA +GGCCACCGATTTTTAGTCTATATTTTAGACCATTTGTTGAATTTTTCTCG +AAAAAATCCGGTAAATTTTTGTGTATATATGTCCCGAAATTCTTCACTTT +TATCACATGTGTCAGGCTTTAATTTTTTCATACTTTATTTTCGAATTCTG +TACAAAAATCTTTGATATATTCTATTTATTCTTCTCAATTAATAATCACA +CGATCCATCTTTCCACCCGTCTCGCCACCTTTGCATCACATCTCGACACT +CGAACTTTGGTTTTCCGGTTTTTTCGTTGACTTTATTGTGTAGCTGGCAC +ATCCATAGCGCAAACGCCTCGCGGCTTTCCACTTTTGGCGGCGATTCTTT +CAGATCTTTTCGGAGATCTTTGGCGCAGAAATCGCAGGGATATGTCTGAA +AAATTTAGGCGTTTTTGTGGGAATCTTGAGCTTATTAGCTAACTTTTCCT +AGAATAGACATGAAACTTCTGGCTCGATCCTTATCCTCGTCGGTAGGCTT +TTCCGGGTAGTAAACCGACATTGTGTGTAGCAAATTCCACGTGGATCTGC +CTGAAATTTGAAATTTTTGGTGGAAATTTGAATTAAAAGCGAACCGAGCT +CATCCTTGTCTACTGGACATCCGTGCAACTTCGCTCCTGTGCTCGTGCTC +GGCGTCGTCTCGGATTCTGCAAAGAACTAAAATAATTGAGATTTTTTGCT +CTGGAAATCTAGGGAAATCACCTTTTTTCTTTATTTTTTCAGCCATTTCT +CTGCCTTTTTTCATCATATCCTCTACACTGACGCATGCACGACACGGCTT +TCCATCTGGACCGATTTCCATTCTGAAATTAATTTTTAAACTTGGTTTTC +GTTTCGTCAGTTTTAGAAGCCGTTTTAGGGCGTAAACTTATGAAACTATA +CATAGTCTACGACAAATCTATAGAAATGCATTAAAAATAGGTCAAAAATG +TGAGAAATTGCGCAAAAAATGATGCAAAAACGAAAAAAAATTAACTAAAA +ACAAGAAATGCAAGTGCGCTCCACTGACACGCGTTAGAGAGCGTAGACGC +AGAGAAATCTCGAGATGAGGGAAATCGTGGCGCGCGGGAATCAAGCTTTT +TTGAATTGTCTTGATTTTTAAAGCCCAAAAAATAGATTTTTGGCGGATTT +TTGGTGGATTTTCTTGCTTTGCAATGTAAAAATTAATTATTTGTTGCATC +TAATCACTTTTAACAGAGATTTACAATTTTTTTAGTGGTCTGAACCTGGG +AAAATCCTTCAAAAATCAATTTTCCCTACAAAAATTCGTTATTTACCGCA +TTTTCCGCCCAGCTGATCAAAAATTCTTCTATTTTCTCAATTTATTGATA +ACACTCGCCCACCTCAAGCATTTTATCACCTGAAACTCGTCACACTTTAC +AATTTGTTTGCAGAAATATGCGAAAATGAGCGTTACTCAGCTAAAAAATC +TGAAACACGCGATAGCTCAGCTTCTGGAGTGGGATGGAACGAAAACGGCG +AGAAAGGCAAGTTTTTGGTGGAATTTATCGAAAAAACCTGATTTGTTTTT +TTGCAGAAAATCGTCGACGAGGTGGTTCTTCTCTATCACGCTCTGGGAGC +GGAGGCATTAAGTGAGGATAACCAGGAGATATATGATTTGTATGATTTAT +CTGCACGTATATTCAACTTAGCTAAGAAAGTTAGTTTTTTTTTTGTTAAA +AAGTCGTAAACAACAAGTAAATTTAAAAATAAGCATTAAAAAATATTGAG +GCTTATGAGAGCAAAAAATTCCAGGAAATCGAAGAAGCCAACCAACAATT +CGAAAAAGAACGAAAAAAGGGCACAAGACGAAGCGAAAAACCAGTCCCAA +CTCCACTTTTCGAGCTATCAATACAACATTTAAAACGTTGCTGTCAGCAG +GGAATCGATCACAATCAGGTGCCATGGATAGCATATTGTCTGAAACTACT +GGAATTTCCAATCACAATCACCGAAAAATCGATCGAAAACGAGATTTCCA +ACGTGCTCCTATTGAGCTCCAACGCCTCACAGCTCCATTGGGCCGAGCAT +GCTCATTTGAGCAGCTTATGGAAATGGATTTGGAGCCGTGTCGAGACCGC +CGATATTGGGGCACTCGCCATGAGAAATTATATGGAATTGGCGGCGAACT +TGCTGGAAAACGTGGATTACGTGGTTTTCGAGAAGTCGCCTATTGACCTG +ATGGCGAAAGTGATGGGAACACTGAAGAAAAGTGTGGAAATGGGAAATCC +CAAAGAATAGTGCGTGGAAAACGAGTTCTTGAAATAATGTTCAAAAAATT +CAAATTGGCTTGGACTTAGGCTTAAGCTTAAGCTTAGATTTAGGCTTAGG +CATAGGCTTACAAGGGAAGTATTTCAACTTATTCCCGGACTTCAGAATGA +AACCTATGTCATTTCGAAGAAGACTCTTTAAGTAGGTCCCTACAAAAAAT +TTAGCGGCAGAGGAGCACTTTGACCTGGAAAAAAGTCGCTCTGAAAACTT +TTCAGTGCATTTTTTCACGGCTTTCAAGGCCCGTAAAATGGCTCCAAATG +CGAATTTTTGTAGATTTTTGAAGATTTCTAGGATGCTCAGGGGCCGGAGA +GCACTCGGAATTTTTTTTGGAATTTTTTAAAATTTTCGAAAAAATCTGAA +ATTTTTTGAATAAGTCCATGGCAAAATTTTTCAGTGAATATATATATATA +TTTTTTTTAAATTTCAGAAAAGTTGTCAGTTATTTAAGATCAAAATTGGG +TGTTTTTACACAATGAAAATTTTTTTGAGATTTTTCGGAACTGCAAAAAC +CAATTTTGGAAAAAAATCGGCACCCGGAGTCGAACCCCAGTCTTAAAAAA +TATTAATCAAACTCGCTAACCACTCGGTCATTCAACGACAATTTTTCTTG +TAAATGAAATGGATGACAAAAAAACGTGACTCTTTGATATCTACTTAAAT +ATATAGGGACGTGAGAAATAGCTTTGGAAAAGGAGAGGACGCAGAGAAAA +ATTTTCAGAGCGACTTTTTTCCAGTTCAAAGTGCTCCTCTGCCGCTAAAT +TTTTTTGTAGGGGCCTACTTAAAGGGTCTTCTTCGAAATGACATAGGTTT +CATTCAGAAATCCGGGATTAAGTTGAAATACTTCCCTTGTTAGGCTCACT +AGGGAATGACCAGAATAAATGGAGCGATATTCAAAAAAAATATATTGTAT +CGGAAAGCTGGCATTCTCTACTATAAGAATATGACTGAAATTTTTGCCCG +TTCGGGCTGGAAATCTGAAATTTTTACGTCTGAAATTCTACACTGAAATC +AGTGCATTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGCGCCAACAGA +AGTCTCACCACAATGGTGGAAGGGCGAAAACATCGGTTCGGTGGTCGAGT +GGTGAACGCGTTCGCCTCTTGAGCAGAAGTTTGTGGGTTCGGTTCCCATA +CATGGTTTAACTTTTGGCCTTTTTTATACAAAATTTTCAGAACGGGAAAC +AAGTATTTAGAACATTTTTTTGAGGGTTTTACATAATTTTTTTGCTTTTT +AATTGAACCATAATTACCCTGGAAACTTTTCAGAAATTTTAATTTTTTTC +GAAAATTGTCACTTTTTTCTCCACCAAACCCATGAGAAAATTTGATCGAA +AAATTTTTTTTTGAAATTTTTTTAAAAATGCATGAAATATTTTAGAGTGT +CACAAATAACCTATTTTTCATTATTTTCAATGACCGAATCATTGATTCTG +ATGCCTTATCAAGACGTTTTACCAAATCGATATTGGCAAAACATCTTGTT +TTTGAGGCTCCATATCTCTGCAGGAAAAAATCGCACTAAAAAGTGATCAA +CTAGAAACTTGTTAAACACAATGTGATCTAAAACATTTCAGTTGAACACT +TTTTTGTAAAAAATTTCGTTGCCGAGTTGGAACCAATTGATTTGAGCTTC +ATTATTTTTGAATATTCTAAATAGTTAAAGATCTATATCTTGGCAACGAA +ATTTTTTACAAAAAAGTGTTCAACTGAAAAGTTTCAGATTACATTGTGTT +TAACAAGTTTTCAGTTAATCACTTTTTAGTGCGATTTTTTCCTGCAGAGA +TATGGAGCCTCAAAAACAAGATGTTTTGCCAATATCGATTTGGTAAAACT +TTATTTTAATTTTTTTTTTTCATATTATTGTTTTTATATTGGGTCAAAAC +GTATTTGCTCTGCTAAATAGTTAGCTGGCGCTAATTTTTAATTTTATTAT +TTTCGTATTTTGATAAATTTCACTGAAATTGTCACTTTAATAGTTTACAT +TCTATTGGTTTTCTTTTATTCAATGTCTTTTGATATCGGAAACGTGATGT +TTGCCTTGCATCGTCATTTTCCCAATCCCCTCCCATCAAATCCCTCGATT +TCGAGACATGAGCAGAAGGTGGCAGATCATTTGGCAAGCATTATAAAGGA +ATCTTATTATGGAGATACCAGTGTGGAAGAATCCGAATATTTGGTTCAAG +AAGAATATGGCGATTGGGAGCCAGAAGTTTTTGAGGTATGTTGGTTTCGA +CACTATTAATTGTCATTTAAAAAACCTTTCAGCCGTATGACTGTGTGTTG +CCGGATCAAGATGATGTATTGTTCGGTGAGAAAGCTGTATCAAGGGAAGA +GTTGGATAAAGCGATCACCTTCTACCGTAGCGGAAAAATTGGAAGTAGGC +CGATAACGACTATGCACCATAGTTATCGCTGGATACGAACCGATGCTCAT +ATGAACAAACTGCGCAAGTACGAGAAAGATAAAAAAGCGTTCCAAGAAAG +CGTGCGGGTTCGTTTGGCACAGCTTACACAACGGCTTTATGAGGAGGTCA +AGGAGAAACTTGATAATGGTAACGAACATTAATATAACAAGTTTTAATAT +AAATATTTCAGGAGTCAATTTGCATGATTCTGATTTGATGGCTATGGCAC +TGGAAATCAACACCCGCGAAATGAAGTTGCAAAAACAAAACGAAATGAAG +TTGCAAAAAGCGTCACAATCCTGGATAACCCGATGGAAGCAAAGCCACAG +GTATGTAATAAATTGCGGAGTATGTTAGATATATATATATATATATATAT +AATTTCAGAATCGTGAGTCGGAGAGTCACCAAGTTTGTCACACGGAAGTG +CCTGATCAATAAAGACGCTATCAAAAAAAACGCGGATGATTTTGTCAAGA +ATGCCAGAACAGAGATCTCCAACTATCACCCGTCGATGGTCTTCAATTGT +GACCAAACCGGAATTCAAAAGGAGCTGTATCCAGCCCGGTCTTTAGCCTT +TATGGGCGAAAAAACAGTCGAGAGGTTGGCGCAATCGAAATCGTCGCTGA +CCCACTCGTTTACGTTTCTCCCGATGATTTTCCTCGATGGCTCAATGGGA +CCCAAGGCGTTTATGGTAATCGCTGAACCAAAAGGCCAGTTTCCTCCGTC +TCGTCCAATTCCAAACTGCCCAAATTTGGAAGTGCGGGCTGGATACAAGA +CACACATCATGACGAAGCAATTGATGTGCGATTTTTTCGAAAGTTGTGTC +TTCATTCCGTCTGTACCGAAAAAACTGTACATCATGCTGGACAGTTGGCC +AGCGTTCAAGGACCATACAACGATCAAGAACTTGGTTCCCAATGGTCATG +ATGTCGTCATTCGCAACATTCCAGAGCACACAACTGGAATGATCCAACCG +TTGGATGTCTATTGGAATGCGCCATGGAAGGTATGAATTTAAATCTTTAT +AACTTTTTGATAGTATTTTCCAGAGCTTGATCAAGAAGTTCACAGCATAT +GCCCTTCGAACCCAGACGGATTACGTCATCGCACAGAGGAACAACGCAAT +TTGCATGGTATCTGTGTTGTATCACCAGATCTCGGCAGAGCACTTCCGAC +CGTTTTTACAGCATTGTTGGAAGAAAGCTGGATACGTGGGTGCTGCGAAT +ACTTCATCAACACCATTTTTGACTCCAGCTCAATATTGCATTGATCATGG +TGACACAGTGATTTGCTATCACACTGGATGTAACCATCTCGGATTCATCC +GATGCGCAAGATGCAAGATGTTTGTTTGTTTTAATCATTTTGTTGTGTCA +AAACAACATCTTTGTTCATCTCCTTGAATAATTAATAAATTCATGATTGC +ATTACATTCAAGTTTCGCTATGAATAAAATTGTTTATATGAGGGGATCCA +TGGTTGTAGTGGTCCATGGTTAAGTTTAAATTTTAGGGGAAAAGATGTTG +AATGAATCATTATGGTGTTGGTCGACACATTGATCATGCTGATATCGATC +AGAAAAATTAAAATTTGGGCTTTTATATAGTTTCGAAAAAACACGTTTAA +ATTTTTGAAAAACTTTACGTTAGGGTGGAATTGAACCCCAGAGTCCCACC +ATGCTTGTCATCCACTCTATCCACTCGGCCATCTCGCTGTTGCAGGCAGT +ACTAATTGGGGATGGTGATAAGTAAAGCACGTCAAAACGAATAATTTCAG +ACGTAAAAATTTCAGATTTCCAGCCCGAACGGGCAAAAATTTCAGTCATA +TTCTTATAGTAGAGAATGTCAGCTTTCCGATACAATATTTTTTTTTTGAA +TATCGCTCCATTTATTCTGGTCATTCCCTAGTCAGGATCAGCCTCAGGCC +TAGGCTAAGCTTAGGATTAAGGGTAGGCTTTGGCTTAGGCTTATGCTCAC +GCTTAGGCTTCGGCTTGAGCTCAATCATACATCTTGCTTAAGCACGCAGC +TTAACAGCAAAGCTTAAGCACACAGATTGGGCTTAGGCTCAGGCTCAGGC +TTAGAAAAAGTCGAAAAGTTAACTAAGTCAAAAAATTTTATTGTTAAAAA +ATTGTTTAAAAAGTATTATGATTTTAATAGAAAATTGGAAAAAAACCGAA +AAAAAATGAACATAAATCAAAAAAAAAATTTTTTTTTAAAGAAAACTTCT +TTTTTTTGAAAAAAATGCAATTTTAAGGTTTTTCTGAAAAAAACTGGAAA +ATACTTTGATTTTACTGTAAAGAGAATTTTTTCTGTTTTTTTCCAAGATT +TCAACTTATTTCTGCGAGTTTTTTTTTTCAAATTTCCTCTTATTACAGTT +GGTGTCATTACCGAAAATTCTCGGTCGTCCACATTCTCTCATATATCGTA +CATCGTTGGGGTCTCGAAGCGAGAGATTTCATTCTTCGTGAGATTTTCGA +GCTCACTGGTAGTTTGTCCAACTTGATATCAGTGGCTCATAAGGATGGAG +AACAGTCCAAGGTTTGAGTTTTTTTTTCTGAGTTTGCAAACGCGCCCTAA +TTATAAAAATTTGGAAAATTCCACGTGGAAAATAGTTTGGCGAAAGTTTT +TATACAAATTTTTCGTGGAAATTAATTTTTTTTCGAAATTCTCTTTTAAA +AAATTTAAAAATGTTTTATTGGCGTATTATTTTTCTAAATTTCAGTTTTT +CGCAGATTTCACCAATAAAATATTTTTTTGAAAAATATCGCTTCGAGACC +CAAAAAAATAATTATGATTTCAATGAAAAATTGAAAAAAGCCAATGAAAT +CGAGAAATTATCGAAAATAATTCGAAAATTGGAACTTTTTAAAAATTTTA +AATTTTTTTCAAAACAAAAATAGTTTCTCAACTTTTTGCTAAACAAGAAA +TATATTTCGTGGCGAGACCCATTTCTACTAATTTTCTTTTTCAGAAATGC +ATAATGCGTTTGATTGATGATCTCGTGAAGCTCGCCATGATCGAAACCGT +ACACGGCCACCGTACCATGAACGAAGTGACACGTGGAAATATTCAAAAAC +TCGTGAAAACCGGAATCCAAGAGTCTCTGAAATCGGCGCACCGAAATTTC +TCAAGGAGTTCGACATTTTCGATTTCCGAAGAATGCGTGAGATATCTGAC +GAGATGGTTGTTGGCCGAACGAAGACTTGAACAGCCGTCTGCGGCTATGA +ATGAATCGTTTGAATTGACCGGTGATAGCAGTAGTAAGAAGAAGGACGAT +GCCACGTTTGATAGTGCGTAAATGGAATTCTACCAAAAGGAGATCTACAA +AAAGAAAATCTACGAAAATAGGATTTGGCACGGTGCCAGATCGATCTTTT +TTCGGCTCAAAATTGGAAAAACCTGCAATTTTTATACATTTTTGGCTTCG +AAAATCAGGGAACTCTGCAATTTTTGGCATTTTTCGCTAAAAAATTGGAA +AAATCTGCAATTTTTATACATTTTTGGCTCACAAACTGGAAAAACTTCCA +ATTTTCATCTCAAAAAATCGGGAATATCCGCAATTTTCCTCACATTTTTA +GCTTAAATAATTGAAAAAATCTGCAATATTTTACATTTTTGGCTCAAAAA +ATCGGGGAATTTTGCAATTTTTTACATTTTAAGTTTAAAAGTGGAAAATT +GCAAAAATCGGCATAATTTTGAACGTTTTCTTTTTTCCGGTTTTCCGTTT +TGTTACGATTTTCGTTTTGCATGGAAAATGCTTCGATTGATACCCTTCTT +TCGGAAACGAGTTTCTCCTGAAATAGGCGTAGTCTCAAACCATTTTATGG +GCGTGGTCTTTCTCTTATCTTGTTTTTATAAATGTTGTTCATTAAAACAT +TTTCAGGCCTTATCGATCTCTCCTTTGGCTCGACGATTTCCGGAAAACAT +AAATTGAACGCGTGGAATGGTGTAATGCAAATCCTGAATGAGCTCCTAAA +AAGTCGACGACTCGAACTTCAAGTCACTGAAAAAATCGTGACAATCCTCT +GGGAAAAGCGAAAATCCTACACAACGGAGCCACTCCGTACTGTGTTCTGC +TCCATTCTCTCCACAGTCGTCTGCCAGGCCGATGTTCGATTCGGTCATCG +GAAAGTGCCGACAATCGACTCGATTCTCAAATATTCGCTGTCTCTAATGC +CAAATGTCGCATCTCTTCCCAGTGCCGCTGCGTTGACCGAAACGATTGTC +AGATTCAGGACAGTATCACGAGAGGGTCTCCGTAACACGTGGGATACCGT +ATCCCGAACTAGCTCCGGCTCATTTGAAGTTGTTCGGCTGATTTCGGCGT +TGATCTCCGTTACGGAATTTGATGAGAATTCGAGATTCGCCAACGATGAG +AGAGTTCGGAGTTGGAGGTAAGTCACTATGCCACGTGGATGGATTTCCTT +TAAAAAGAGTTTTTGGAAAACAAATCAGATTTTGTATATCACTTCACCTT +TAAAGCGAAATTCTTGTTTTTTTGCAGTTTTCGAAAAGACATAATCGAAT +GGGTATTGCTGGATCCGAATGCACATAGTCACAAATTACTCTATCAGTTG +TGCCAGTATCATCCAACGTATTGTTATGAATCAGAAGCTTCTTCTAGTGG +TTAGTTTATTCCGTAGGGCTTCCATGGTAGGCAGGCGCGATTTCAGGGCC +TGACGCCTGCCTGAAACCTGCTGACCTTTCGCCTCTTTTCTCTCATTGCT +ATCAATTTGTTGAAAATCAAATTAAGAAATTAAAAAAAAAGTTCACGTAT +GTTTTGTCGTGGATTGAGGCGAGGGGCAGGTGGTGGTGGTCTTAAGGTCA +GGTAGGCAGGTGTTTTCACGCCTACATTGAAGCCATAGTACCCCATATGC +CGAAAACGCTGAAGTTTTCTCATTTTTCCAGACGACTCCCTGCTTCAAAC +TCTGAAACTATGTAAATTAGCTTGCTCTCCAGCTCCCCCATCGGCTCCAA +AAGCCCTCCGACCACTCGAAGCTTCAATTGAAGAGATTGTGAGATATGTG +CATGATAAGCTCAAGAGCATTCTCGGTGAGCATCGGCTGTCGTTTTTTTG +ATTTTTGAATTTTTAAAAACATTTTCAGCGACTGAAATCACTCTGCCTGC +ATTTGTGCTCTGCCACGAATTTGCTCTGAAGTATCCGGATAGATCTTATG +AGTTTAATGTTGGTTTTTTTTTCTAATTTTCGAAAAATTTAAGAAATTTT +AGGATATAAATAGAAATTGAAGAGAATTTGAATTTTTAAAAAATTTCGAA +TTTATGGAAATTCAGTAAAGTTTGTCGGAGTTTTTAAACGAATTTTCAGA +ATTTGTAATAAAAACTAAATTTTCTAATTTTTTTTCCACAATTTACAACA +TCTAAAAAACTTTTTAGAAATGAATTGTTAGAAGTTAGAATTCCTGGAAA +TTAAAAAAAAATTTGGATTTTTTTAGAATTCTTAAAAGTTTGATATTTTC +AAATGATATGAAGTTAACACATTTTTTAAAATATTCAAAATAAGAACATT +TTAATTTTTTTGAAGAAATGTTCAAAAAATTAACATTTTTTGGGACTTTC +AGAAGTTTCTTCTTTTTTTTTGCGTCTTTCAAGATTTTTTGCAATTTGCG +TAATTTTTATTAAGGGGACAGAAAATTCTGAGAATGCGGATTGCACAACA +TATTTGACGCGCAAAATATCTCGGAGCGAAAACTACAGTAATTCTTTAAA +TGACTACTGCTAAAATTGAGCATAAAAATAAAAATATATCGATGTATCTT +GGATCCCGTAAATCGACACTAGCGCGCTACAGTAGTCTTTTGAAGAATTA +CTGTAGTTTTCGCTACGAGATATTTTGCTCGTAAAGTGTGCACGAATTCT +TATAATATTTTGTTCTCACAAAAGTTGGTCAATTTATGGGATTCTCAAAT +TTTCGATGTTTTTTTTTTTGAAATTTAAGATTTTTAAAACATTTTTCAAA +AAACTGATTTTTCTCTTAAATTGAAAAGGTTTTTTTTTCAGAAAATGTAC +AAAAAGCTCTACCAAATCATGGAAGATCAAGAAGAAGACGAGTTTCTCCA +ATCAGCTCGCCATTTCTCAAAATGGCCTCAAAATCTGACACTACCAATAC +AAAAACAGACAATAAATTGCATGGCTGTCTTTTTCGAAGCGAATCTTGAC +AATCAGCTCGTCGATCTCTGTCAGTGGAGTGACCGACGAAAAGTGCTTGT +CGAGATGCTCGCCGAGCTGGCCGCCACAAGATCTGAAATTCGAGATAAAC +TTCAAAAATCGATGCCGTTCAACAAATTCGTCAAGGAGTGTATAATGGAG +AATCGCGGTGATTTGTATGAAATGACAAAGAGATTTGAGAAATATTCGTT +TTTGCTCTCGATTCGGAATTTAATTGTTACTAGGATGATTATAACGTGAG +TGTTTGTTTTGGGGATTGCCACGAAAAACTGGAAAAACGTTTCGAAAATT +CAAAAAATATTTCTTCAACATTAGAAAGAATTTCCATTTTTTATATAATT +TTGGAAAGTTTTTAGATTATTTTAGATAAAAAATCATTTCGAATTTACAA +AAAAAAATTATGAAATTTTAAAAACAAGTTTGAAAATGTATTTTTAAAAA +ATTTAAATATTAATAAAAAATCTTGTTTGAATTATTTAAATGTTTGCTAT +TGTGTTTTAAAAAAGCTTAAATTAAAAATTTTTTTCAACAAATGACTAAA +TTAACAATATATAACAAAAATTCAAAAAAAATTGTTTTCGAGAAAATTTT +TTGCTTTTTTTAAAAATAAAATTATAAAAAGAAACAGAATAAAAATCGAA +AAAAAAACAATTATTTTGAAATTTTCAAAAAAACTAGAAAAATGTAAAAA +TTTTGAGGAAAAAAATTCAAACATCCCAATTTTTGCAGAAACGAAGCCGC +CCGACTCCTAGGAGATGGTGAAACAATCAGTGAAACCGATATCTTCATAA +TCGAAAAGCGTACTCTTTCCACGTGTATTCGTAATGTGTCCGAAGGAAAA +GAGTTGAGCGGCTACACACTGGACCCCTATACGGTAGCTGCCAACGTGCA +CAATGTGCATTTCGATCACATAAACGTCGAAATCTATCTGGAATTGCTGA +AAAAGTCGCCATTTTTCGCTCAGAACATTGTACGCCACTTGTTACGGCAG +AATGGAAAAGAAGCAGAAGAAGAGACGTGGCACTTGCATGCCACTGTGCT +GAAAATTGTGATGAAAGATGAAAAGTTGCTGGCGGTAAGGAATTTTTTTG +GAAAAACTTGAAAAAAAAGAATTTCATCGTATTTTTAAATAATTTTTTGA +ATGAAAAATTCGGTACTTTTCCTTTTCTACCCCGCATTAAAAAAATATTC +AAACTATTGACTTATTCGAATTTAATTCTCACGTGAATGTTTGTATTAAT +ACTATTTTCATTTTTAGGCTTAGAAAACAACAGTACTAAGCCTTGAAATA +CAGAAAAAGAAAAAGAGTTCACGTTTTTATCAATGAAAATATTCCTGAAA +AAATGCGGGGTAAAAAAGGAAAAGTACCAAAAATCAAACTTTCAAAGTTA +ACAATACGCAAGTTTTCAAGTTAATTTTAATAATGGATTGTTTAAATCCG +GAATTAAAAAAGTGGTTCAAATTTTATTTTATTTGACTCTATTGTGGCGA +TTTTCATGACAATTGAAACGATTTTTGAAACTTGTATTTATTGAAAAAAA +AGTTGAAGCAGGTCGTAATTTTAATTTGAATATTTAAAAAAAACTTATAT +GGGTGCTTCAATTTTGCAAAACATTGCAATTAAAAAAAAAATTTTCAAAA +TGTGGTCGGCAAATCAGAGTGTTTGAAAAAAATCCTTCTAATTGTGTTTC +CGGAATTTTTGGGATTTTTTCTTCGAAAATAGGAATGGTTTAAATTGAGT +TAGAAATTTTTGCAAATAAAAATCGGTTTTTTAAAATCAATTTCTTGCAA +TCAAAAAATTGAAATTTTCAGCAAAATAATAAAGTTTTCTCTAATTTTTC +AATTTTCAGGTATGCGTGGCCACAATTCCAAATATGGTTCGATATCTCAA +AGTCTATCAGATTCATTTCAGTCCGAAATCCAACGCGGCGAAGTTCTTGT +AGGTTTTGTAACTGCGAATTTCAAAATTTTGCTCGTCTAATTTGACGCCT +GCTCTGTTTTTTTTTACGCGCAAATCTTAGAAATCGGTGACTTTTTCGTT +TAAAAACACCATTTTTCAGTAAAATCTGAGCAATTTTCGGTTTTTGCGCG +TCAAATATGACTAATTGAGTCAAACTTGACGCGCAAAATTTTCAAAAAAA +AAATTCAATATTTTTCCAGACACCTCGACATGGAATCGATTTCCCACTGC +CAATCATATTTGCGAAAACCAACAAAATCATCCAATCTGATCACGGCCGC +CAACTTTTTGACACTTTTCGGATGTGAAAAGCGCACGTGGAAGCGCCCGA +TTCTCAGATTTTGGAGCATTTTCAAGCAGCAACCGGCTATGTGTTGCGAG +AAATTGCTCATTTTTGTAAGCAATGATTTTTTGATAAGAAATTTCCCAAA +AATTTTGAATTTTTGAATTATTTTTGTTAACTTCTTATTTTTAACTCAGT +ATTTTTGCAAACTGAAAATTTCCAATTTTTGGGCTTAAAAAATCTCCATT +TTTCAGGCTGAAGAATGTGTCGAACTTGGCCTGAACCACCGAATCGCTTG +TCTTTTACGCGCACTGACAACCAGTGAATTCTGCCGAAAAGCTCTATGTG +ATGAATATCTGAAAATCGCGTTTCAGCTGACTTATCGATCGATTTTTCTG +ATTTTAAGCAAAAATGAGTGCAGGTTGGTGGAGAAGGATATGTGGAAAAA +CAATATTTGAAAAATAAAAAAAAAACTAATTGATTTGAATTTTCAAAAAT +TCCAAAAAAATAAAGAATTGTATTCCAATTTTCATGAAAATGGCAACAAA +AAACTCAAAGTTTCATTGGAAAATTTTTGAAATTACAAAAAAATTAATTT +TTGAGTTTCAATAAAGTTTCAAAAGTTTAGTTTGAGTAGTGTTGTCAACA +AAAATTGAATGCCTATTAGAAATAGTTGAAAAAATTGGAATTTACAAAAA +AAAACAATTTTTAAACTAATTTCTCGAATTTCAAAAAAAAAATCTTCTAA +TTTTTGAAATTGAACAATTTGGAAATTTTTTGAATTTTCAAGAAAAATTT +TCAATTTTTCGAATATTCAACAGTTCCAAAAAAAAATTTGTTGGATTTTT +TTCCAATTTTAAACAAAAAATTTTCAAATTTCCACAGATTTTTTTTTAAT +TTTTTAAATTTCAGAAAAAAATTAATTTTCATAAAAAATTGAAAATTTCC +ATTCTTCAAAAATAAGTTTTCACATTTTTCAGACCAGAAATTGTGGAGCT +CTGCGATGACATGAATCTTCGGTACGATCTTCTCCAGCACCAGATCAAAC +ATGTCGCGGCTCACCATTTGGAGCACTTTGAGCGTTTCGAAACGAAAATC +GCATTTTCTGTTGAGAAATTTCTGAAATCTGGAATTGATGGAATCGATTT +TGAAGATTTAGGATTAGTCGAGTTTTATAAGCAGTTGAACGAAAATTTGA +CAGAAGACGCGATCAGGAGCAATGAGGCGAGAAGTAAGGCCGTGGAATAT +AAATTGGTGGCCGAGTTTTTTGTAAACTATGCCACCAAACTTGGTTTCTC +CGTTCGTGGCCACAAAAATTTTGAATTTTTTGAGCTTCTCTTATAATGTT +TAAAAGTGATTTCCTGGCAAAAATTCATTTCTTTAATTAGAAAATTCCAA +AAAATTTGAAAAAAAAATGTAAACTCAATAAAAAGTCTAATTGTTTCAGA +TTTATTCTGGTTTTTATTGAATTTTCAGATTTTTTCTTCAATTTTCAGTT +TTTTTCGACTTTTCTAATTAAAAAAAACCAATTTTTGCCAGAACAAAAAC +CATTAAAAATCGACAGTAGTCATCCCATTGGAGTACAAAAATTTTAATGT +CCAAATTTTCATGACGAACGAAGAAACCTAGTTTGGTGGCCTAGTTTCCG +AAAAAACTCTGTCACCAATTTCTTTCAAAATTCAACAAAATTTTAGTAAA +TTCCAAAAAAACGAACATATTCGGCGAAAATTATTTCAAAAGCTTCCGAA +CAAAATCTAAAAACGTTCAGAAAGTTCTGGGTAATTTTTTAAATATTAAA +AAAATTCAACAAAAAAAGGGGGGCAGATAGCTCAGTCGGTAGTGGTGGCC +GCTAGCAGTCTGGAGGTCACGAGTTCAAGTCCGGCCTCACCCCCTAGGTT +CACCCAGCCTCTATTGGGAAGTGGAGCAATCCACGACTGGATTATCGGCC +ACAGTCCCCGGCTAGGACGTGGCTTAAATTACAGCCCAGAGGGATCACCA +CCAGGCAGTGTACCTGAATCCCAGATCCGCAGTGCATAGCACTTGAAGAA +CGGATCGTCCTTTAATTCTTTCAAAACTAATTTTTTACTAAAAAAAATTT +CCAGACATCTACATCGTCGACATTCTCTCAACAATTTGGCTCCAGCTCCC +CTCAATTCGTCCTCAAATTCTACCGATTCTCGCCCGCTTCAAGCACATTT +CCCCAGCGTGGACTAATTTCCCACAGCCGCCTCATATTTCGACAAACGAG +AAATCATTTCTTCAACATCTACGATTTCATCTTTATCTAAAAATGATGAA +TATCTCGAAATCCATGACGCAAGGCGAGTATGCCACGTGTATTATGATGC +TCCTGACGAGCTACGACTCGAGCCATTTCGTTGCGGATTTGATAGAGAAA +AAGCAGCTGGGAAAGCTGAAATTGCAGCAGAGAAGGAATGTTTTGTGCAT +TTTGAGCCGACTTTTGAAAGATCAAGCTGTGATGGGTGATGAAGATGAGA +CGATTATCGATCCGATTCTTTTTAAGGCAATCACCAAAGCTTCCGCCGTT +TTTGTACGTTTTTATACGACGGAAATCACTGAATTTCATGTTTCTATGCC +GAAAAATTATGAGCAATTAAATATACATCACAAGAAAGAAAATAGTTGCC +GGTTTTTGAATTTTTCTGTCATATCGGCAATTTTGGCAACTGCCACTTTT +TGAAGTTTTTAAAAATTTGGTAAATTTGGCAATTGCCAAAATTATCTCTG +TTTCGATTTTTTTCATCAGAATCATAATATTTTAAATTTCGCGCTAATTT +TTTTAGCAAATGATCTTCGAAAATTTAATGTCTCGCAGTTAAAAATACAT +CTTTGCAGGAAGACACCGCCGCGTGCATCGTACCATTTTTGTTCAAAATT +TGTGTGGATTTCAAGGGAAAATACGATAAATGTGTGATAAATTTGCTGGG +ATGTCTTAAGGGAGTTAATGCAGGTATGATTTTTCGTCAGAAATGACTGG +AACGAGTTTTTCGCATCAATTCAAATTTAATGTAATGGCATTTGGCATAT +GACATCGAATGTCGAATGCTGGGAATGCCGAATAATATATTTTGGTCGAG +TAGGAGAATAAACTAGACAAAGTTCAAATATATTCCCAACAGGGATGGCT +TCACCCGTGACCCGTTTCACCCGTTCACCCATTTTTACAAGGGAAGGTTC +TGAACTCGTTATCGGACTTCGTTACGCCACTATATACATTCGATAGAGAA +TGGTTACAGATGATCACTCCAAAAAATTTAGCTGCTTCAGAGCAGGTTCG +ACCAAGTTACGACACTTTGAAGATGCCGAAAAAAAAAATCATTGATGCAC +CCCCTTTGAAAAAAATTGAAAATTTTCACTGAAAATTTTTTTTTTCTGAA +AGTTGATAAAAATAGTTGTAATCGATTTAAATAGTAAAAAACATATATTA +TACAAGTTTTAGCCCATCACTCTCAAAAAAACCCTTAAATTAATGTACAT +ATCTTGAGAAAAATTCCAAAAAGTAGATGTTCATGTAGATCAATTTAAGG +GAGAATTATGAACTGAAACTTGTATGGTATGATTTTTCCATCATTTGCAA +CTATTTGAAAACATTTTATATCAACTTTTAGAAAAAAAATTTTTTTTTGA +ATTTTTTGGAATTTTTAAAAAGGGGTATTTTGGCACTTTCAAAATGTCGT +AACTTGGTCGAACCTGCTCTGAAGCAGCTAAATTTTTTGGAGTGATCATC +TGTAACTAATCTCTAACGAATGTATATAGTGGCGTAACGAAGTCCGATAA +CGAGTTCAGGGCCTTCCCTTGTTAGGCGTTTTTACGGGTGACGGGTGACC +CGCTCGCCCGTTTTTTTTTTCGTTTTAGTTGTTTTCACGGGTGACGGGTG +GCTCGCTCACCTGTTTTTCACCCGTTTTTGGAAGTTTTCACGGGTTATGG +GTGATCCTTGGTTCCCAAGAGGCAGCCAGTTTAGGTCAATAGGTCGTAAA +TATCGTTTTGGGCCACGTTTACAACTGGGCTGTGTGCAACTAGAGGTGCA +CTTGGGTCGAAAAGGGTCGACCCGCTCCAACTTTAGGTAGCATTTGTAGC +GACCCCGATAAATAAAATGTCGACCCCGAATGAAAATTTTAGCAAGGAGG +CCATGCTCGTTTAATTTCCATTTTCAAAATTATGATCGGACTATTGGTTG +AGCTACTGTGAAATAAGCGGGTCGACCCTGCTCGACCCATGAGCACCCCT +AGTGGCAACCATGATTTTCGGCAACTGGCAATTGCCAGAGTTGCCGAACC +CAATAAGTTTCGGCAACCGGCAATTGCCGAAGTTGCCGAACTCTAAAAAG +TGCAACCGGCAACTTTTGCGCAGCCCTGGTTTACAACTACCTAACGACTT +TTGGTAGACTAGAAATAACACATGTATTCGAATTCGACATATGCCGAATG +CCGAAAAAAGTATTGAACGACATTAGGCACAGGGATGGGCGGATACCTTT +TCGGATAACTTCACTAAATCAATTTATCAATAAGTATTGATTTAGTTATT +CTGGAGATACTATACTAGAATAAAGAGTACCTATTGAGCAACATTTTCAT +ATGACAAAAACTTTTAAAATTGTACGCATTTTCCTCGACAAGACCCTGAA +ACTCGTTATCCGATCAAAATCGGCTAACAGATAACGGACTTGCATACTTT +TTATACGGGAAACGTGTAGAATTTTAAAAAGTTTTGTGCCATGAAAATGT +TGCTCACCAGTTTCAATTTTGTTCTGATGCACTTTTTCCAGAATTACTAC +ATCAGCACGTATTGATAACTTGATTTAATGAAGTTACCCGAAAAAGTATC +CACACCCCATAATCAGCATATTTCATATGTCAAATATCAAATTTCCTGAA +TTCCGCACACCTCTGCTCTCCATACTCCAACTAATTTTAATTGCAGAAGA +CGAAATAGTAGTCCGCTGCCTTGCCGAATGCGTCGACTCCATTGGACTCA +ACGTGATTGCTCGTTACGAACGCCTGAACATTGAGACTCATTCGGAATTC +GGTGTGAAATGGTTCTTCAAATTATCCCGTCTCTTTCTGAAACATGGATT +TACTACGCATTCCTTCGCGATTGCGAATATATTATTTGACCGACTTTCGG +CGAGAAAACGAAATACAATGATGATAGATCGTACGAGTTTAGACCGAATT +GACAGATCACAGGAACTTATCAATCTTTTGGTGGAGATCTATGTGGCCGA +GGGTAACTCGGTAGCGTTGTCCTCTCTGCCACCTGCGGTACAAAATAGAC +CGGATGTTCGGCAGGTTATGAATAAGAGTTCAAAGGAATGGTTGAAATTG +CTGTCTTCGAATCAAATGGACTCGTGGGAGTTGACTATTGTGCAGTGGAT +GTGGTAATTGTTTATTTTGAAATTTTTCATTAGAATAGAAAGCAGTTTTC +TGGAAATTTTCAGGAAAACGCATTAATTTTTTACCTATTCTGCATTTCTA +GGTTCTTCAATTTTTTGAGAAAATATATATTCCTTCGAAAAAATCACTAA +CTTCTTTTCGGAAATTTAAAAAAGTTACAGTCGACGACTTTAAAAAATTC +AGTTAATAAAATTAGATTTCAAAAACAAATCGAATTTTTTAATTTGTACC +GAAATCTGGAAAATATTTTTAAATGACTCCAAATTTTTCCCTGATTCCAA +ATATCTATGAGATAAAATTCAAAAAATAATCCCTTTTTGATCTTGAAATC +GCCGAATTTCATTTGTGCACTCATGAGATTTCGAAGTTTCGCGCCAGAGA +CCCCATGTGTTGATTTACGAGATTTGTGTATATTTACGAACCCCTTAACC +TTTATCGGTTGCTGATTTCCGTTTTTCAACGAGTTTTCTTCAGTTTCGTC +GGTTTTTGTTAAAGTTTTTGTTTAAAACATTTTCAAAAAAACTTTGACAA +AAATGAAGGGAACTCGTTGAAAAACGGCAATCAGCATCCGATAAAGGTTA +AGGGGTTCGTAAATATACACAAATCTCGTAAATCGACACATGGAGTCTCT +GGCGCCAAAATTCGAAATCTCATGAGTGCACAAATGAAATTCGCGATTTT +AAGCTGAAATAAAGAACCAGGGAAAAACATTTTTTCACATAGATGTTCGG +AATCAGGGTCAAATTTAGAGTGAAAAACTTTTAAATTTTTAAATTTTTTC +AGTGGCATCCAATTCAATGCAATCACCGGCGATAAATACCTGAATTCAAT +TCTTCGTTGCAATTTCAACGAGTACACCAAAAAAATCGATTCCCCATTAA +AATTCGTCTATTTTCAACTATTCCATCTTTCGACGAGCACTCTGGAAATC +GAAGAAGCCATTTCTAGCATGCCGTTGGCTCCAACAATCGATCAAATGCG +GCTTATGATTATAGCCAACGCGACGGCAAGCTTCGAGCCACAATCCGTTG +AAGAGCACGTTGTTCGAGCTGTTCGAGAGCTCCGAGAGACGTCAAATCGG +CGAAAATCCGGTGGAAATGTGAAGGGAATTAATGAAAAAACAACGAGAAT +GGTGAAACTGGCCGAGATGCTCACCGAGAATAAAGCATACGATGTACGGA +GCAAAAAATAATGGAAAATTTGAATTTATTCAATTGTCAAAAAAAAGGAA +ATTTCCTTAATTTTTCGGTTTTTTTTTTCGGAAAAATCTGAATTTTTTCT +ATTTTGAGCAAAAAATTTAATTGAAAATCCGGAGAAAATCGTATACTTTT +TCTGCGAACCATTTTGTGGGCGGAGCCTAACTAGTAACACTTTTCAATTT +CCAAACAGAAAAGTGAGAAAAAATTCCTCTTTTTCTCAAAAATCTAAAAG +AAAAAAAAATCGGAAATTTTTGAATTTTTCGGTTTTTTCTGAATTTTTCA +ATTTTCATTCAAAGAAGGTCGAAAACTTTTCGATTTTCCGGTTTCCTTTT +TGAAAAAAAATATTTTAAAAATGTGTAGTTTGTAGTTTGTAGTTTTTGTA +GTTAATGTCTTCCACATTTTTAGGCGGCAATAAACCTGCTCGACACGTGG +GAGCACGAGTGTCTCCAATGGACATCTGTCGCTGCCGAATCAATCGATAT +CGATTTAATTCGAATCTGCAAACAACACGTGACGTGTCGGTCGGGAGATC +CAAGAATGGCGGACATAAATCTACGAACAATGCATCCACGTGTCCCGGTG +ATGAGTGACCTGGCGATTGCCGAATGGTCACTCGCGTTGAGCAAGATTAC +AATTGAATATCGGAATGATATGGAAGAGGGTATTCGGATTTTGGAATTTG +GATGCAAACATTTACAGAATAAGGATTCTGTAGAGACGAGGTTAAAGGTA +CATGCGGTCGGGTCTTGCAGCGAAATAATGCATTTTTAAAAATTCGAGAA +AAAAATTGTGAATTTTGCGCGTAAAACGTGATTCAATCTCGAATTGTTCT +ATAGATTTTTCCGACAATTCGGAAAAATGCCGGAATTGAAAATTTCCGGC +AAATCAGCAATTTGCCGTAATTCAAAATTTCCGGTAAATCGGCACATAGC +CAAAAATTAAAAATTTCGGCAAGTCGGCAAATTGCCGGAATTCAAAATTT +CCGGCAAATCGCCAAATTGTCGAAATTCAAAATTTCCCGAAAATCGGCTA +ATTGCCGGAAGTGAAAGTTTTATTGATAGAGATAAATTTAGAACTATCAC +TAGAATTTAAATGTAAAACAACTAGGAGTTATCATGTAAAACTTGTCATT +TGAATTTAACACTAGGAGTCCAATAGATTTTCAGATTTTAAAAAATTAAT +ATAAATTCAGGAAATTTTTTTTGAATTTATCCACATTAATATTCGGTATC +AGGAGCATAAATAGGATCTATTGAGATATTTTAACAAATTTCCGAACAAA +GTTTCAAATATTTTTTTCCAATTGATAGAATGTTCCATGAAACATTACAA +AAAAATTATTCATCAGGTTCTCCTAAAACTCCATTCCGTCTGTATTGGCC +AACTGTCGAAACTCGAAGAATATCGCGAAACGCGTACCTACCGTATGAAG +CAGCAGGCGGTCACCGCATTCGAACAACAAATTCAAAATTCGTGTCGAAC +CAGTCTGGCACGTGGCAATTCGGGTGACGAATGGACGAAAAAAACGGTGC +AACGGGTGAGAAAAGAGCATCAGTTTGAGAAGAATGATTTGGAAAAAGTG +GATAATTCGTTGAATTCGGCGGCCCGGAAAGCTGTATCGTCGGGTTTTGA +TGCACTTTGTGAGCAATTTTTGAAGTTTTTATTGAAAATTCAAAACTTGC +ACAAAAGGATTTTAAATTCGATTTTTCGCGATGTTTTAGCAATAAAATTT +TGAAAAATGACAAATTTTTGAAATAATTTCAGAAAGAGTGTAAAGTTTCA +GAAAAAAAAATTAAAATTAAAATTTATTTTAAAACTTAAAAAAACCGACT +TTTAGCGAATTTTTTTACGAAAAACAAAGTATTTAATTTCATAAATTAAT +TCAAAAAAAATATCTAAAATTTTTGTGAAAAACTGTTTTATACAGTTTCA +GAAAAATTTAAGAAAAAATTTTTTTTCAGAAAAAACCGGATTTTCTGTTA +ATTTGAAATTATGGAAAAAAAAACCCCAAAGGGTATTACGGAACTACAAA +ATTCTGAGAATGCGTACCGCGCAAAATTTCTCGTGGCGAAAACTACAGTA +ATTCTTTAAATGACTACTGTAGTGTTGGTGTCGATTTACGGGCTCGATTT +TAAAATTGAGCAAAAAATTATCACATAATACGAAGAAACGAAGGAAAATG +AAACTAAGTTATAAAAAAATTCGAAAATCGAGATCCCGTAAATCGACACG +AGCGCTACAGTAGTCAAAAATTAAATTAAAATTAAAGGATTACTGTAGTT +TTCGCTACGAAATATTTTGCGCGTCAAATGTGTTGCGCAATACGCAGAGA +TCTCAAAATTCTATGCTCCCGTAATAGATTTAGAAAAATTTTCCGAAAAT +TTACGTCTCGAAAAAGAAAAAAAAACTGGTGTAAAAAATTACACCAGTTT +TAATATTTACTGAAAAAAATTGGTAAAATCTAAAAATTAATCAGCTGAAA +TTGATATGTTTTGGGATAAAAAATTTTGGCGGGAAACTCAAGTTAAAAAA +AAAAATTTCAGTATGCATCAGCCAACTGGAAGACGACGACGAAGCGATCC +GCGCTTCATCTCTCATAATATTTCCATTAATCGATGTGATCTACAAATAC +GAAACGGACGTCGGAGTGATCGCCTTGCTCAAAGAGCACACCAAATCGAA +GCTCCCGTCGAAGCTGTGGATAAGTGCCACCTCACACATTGCCTCTAAGT +GCTTCTCCATCGAAAAATCGCAAATCACGAGACACTTATCACAGATTCTG +TGTCATCTCATCTATGACTACCCGTATCACGTTTTGCACACAATTTTGAT +GTATGATGACGAGAAGAACGCTTCCAAGGTGAAAGGCTTCTTGAAAACGA +TATTTGACGCGCGAGCTGACCAACGGGATTCGTCGAAGCTTAAGGAGATT +GTGATTACTATTCGTGAGGCTCACCAGGCTTATAGGTACATACGGCGGCT +AAATTTTTTTTGAAATTTCGAAAAAGACGAGAAATTCGATTTCTTATCAA +GTTTACAAAAATCTTCGCTTTTTTCTGACAATTTTAGTGTCGTGGTATCC +AATCAACGAAAAAAATTAGGTTCTTCTGGTTATTTTTGAGCATATTCAAT +AATTTAAGCAAATACTCTTTTACTTCTAAACTTTCATCGGCGATACGTGA +ACAATTTCCAAAATTATATATTATCTAACGCTACAGCATATAATTTTTAC +CAATTTTCATTCATTTTGATGGAAAAAAGCATCTAGAACATGTAATATGT +TCAATTGTTCGATTTCAATAAAAACCGACGGCATCCTTGGTTTGAATCGA +AAGTTTAGAACAGTTTTTTTCAGAGAAATTGCAATGCTTGACGTGAGAGG +AAACGTTCGGATACAACGTGTTGAAATAAACGGAAAAACGATGTACCGAT +GGCCACATGATTTGAAGATTTTCAAGTGCAAATTGCGTCAATTGCCGATT +CCCACCATTTCGCAAAAGGTTTGTTTTTATTTTATTAAAATAATTTAATG +AATATGTATTTGATCATACAAAAAAAAAATGTTTTCTTCTAAATTCCAGA +TTGGTTGCCCGGGTGACTACTCGACGACTGACCTAATCACGTGGAAACGA +TGGAAAGATGTATTCACAATTGCCGACGGAATTTCCACTCCAAAAATCTG +GGAAATTGAGGGTAGCGATGGAAAATGGTATAAAACTGTGTGGAAGAAGG +ACGACGTACGACAGGATGTGCTTGTTGAGCAAATGTTTGATGTTACGAAT +AATATGTTGGAGAAGGCGATGCTTCGGACGTATAATGTTGTCCCGTTAGA +CACTGAATGTGGAGTTATAGAGTTTTGTGGTGGAACTGTTAGCTTAAGTT +CGTTTTTTTTTCGTTTTTGAAAAAAACCAAAATAGTATTACGATAACACA +ATATGCTGAGAATGCGTATTGTACAACATATTTGACGAGCAAAATATCTC +ATAGCGAAAACTACAGTAATTTTTTAAATTACTACCGTAGCGCTTGTGTC +GATTTACGGGCTCGATTGTCGAATATTACGGGGCCATGAGATCATGAGTA +TGCCTATTTACTGGCGCGAAAATATTGGCAGGCCGCGGCAGCGAGAGAGC +GTGTGGCGAAGAGAGACGCAGGTCCCTTCGCTACGAGATATTTCCCGCCA +GAAAAGTAGCATTCTCATGATCTCATGGTCCCGTAATAGTGACAGCGATA +TTCCATTTATTTCACTTCAAAAATCGAGATGCCGTAAATCAACACAAGCG +CTACTGTCATTTAAAGAATTACTTTAGTTTTCGCTACGAGATATTTTTCC +CGTCAAATATGTTGTGCAATACGCATTCTCAGAAGAAAAAAGAGGGGGGC +AGATAGCTCAGTCGGTAGTGGTGGCCGCTAGCAGTCTGGAGGTCACGAGT +TCAAGTCCGGCCTCACCCCCTAGGTTCACCCAGCCTCTATTGGGAAGTGG +AGCAATCCACGACTGGATTATCGGCCACAGTCCCCGGCTAGGACGTGGCT +TAAATTACAGCCCAGAGGGATCACCACCAGGCAGTGTACCTGAATCCCAG +ATCCGCAGTGCATAGCACTTGAAGAACGGATCGTCCTTTAATCCTTTAAT +CCTTTAAAAATGTAAAAAAATTTCATTGCAAAAATATCAAACTATGAGAT +TTTTTCTATTATTTTTCAGAAGAAGTTATGTGTGGTGTGACACGAGAAGG +CGGTCTCCACCGGGAGTTCAATTCAGAAGAAGTTTCGGCGAGTAAAGTGT +CGTCAATGATGAGACAAGTACAGACAGAGTCCACAGAGACACGACGACAA +GTTTTTGTGGAGATTTGTCAGCAGTATTCTCCAGTTTTTAGGTAATTTTT +CTGAAAGTTGTCGAAGTTTTTTTTTTTGAAATTCAAAAAAATTCCCAAAC +AATTGGCCTTTTTTCAAATTTTTCCAAAAAATAAAATTACAGACACTTCT +TCTACACCAACTTTTCGACGGCGCAGATTTGGCGGCAAAAAATCATAAAT +TACAGGCAGAGCTTGGCCACGTGGAGTATTGGTAGGTTTCGAACTAAAAA +TGCTAAAAAATTTTCGAAGAATTCGAACATCTCAGATTTTTTCCGAAAAA +TAATAAAAACGTTATTTTCCAATTTTCTGAAAATAAGAATTTATTAGTTT +CTTGCGAAATGAAGAGTCTCAAAAAATCATATTTTTTTTAAAAATCAGAT +TTTTAAATTCTTTTTTTAAAAGTTTTATCGTGAAATTGAACGTTTATGAA +AAATGGCGAGAAAAACTTTTTTTTCGCTTTTTCAAATAATTCTCAAAATA +AAAATTCCAGTGTGCTACATCGTTGGCCTCGGCGATCGACACGCGTCGAA +TATTCTATTCGATCAGAAATTGTGCACATTTGTGCATATCGATTTGGGAA +TGATTTTGGAGTATAGTAAACGAACGTTGCCAGTTCCCGAACAAGTTCCA +TTCCGTATAACTCGAGATGTGCTCGACCCGATTCTGATTGAAGGAATCGA +GAATGGACAGTTGGCTGAGGAATGTACGCAGATTATGGAGAAATTGAAGG +AAAATGGAAAGGTACGGCGGTCTGGGGAAATTTATACGAAAAGAAAATTT +TGGACTGACAAAATTTTGGACTTGTAAAGCTATTTAAAAAATTCAAATTT +CCCGCCAAAAATATTTTTTCAAAGAATTTGAATTTTAGCTAAATTTTTAA +ACAAAATCTGAAGTTACCGCCAAAAGTTTTCCAAAAAAAATCGAATTTCC +CGCCTAAAATGTTTTTCAATAAATTCAAATTCCCGCCAATTTTTTTTACA +CAAAATTTGAATTTCGCGTCAAAAATTTTCCAAAAAATATTCAAAATTCC +CTGAATAGTTCAATTTCCCACCAAATATCAATTTTTCTGAATAAAATTTT +AGAATTTCTCGCCAAATTTCTTTTTCAATTTTTTCAATTTCCAAAATTTC +CAGGTAATCCTCGGTGTCGCCTCTGCTCTACTCCGCGAAACGATGACAAA +TTTCCGAGAAGCCGAACAGGCTGCCGGCCGCCCGTCCTACATTTCTGAAA +TGGCCATCGGACGGCTTCGAGAAAAGCTACGGGGCACCGATGACGGTGTG +ACGGCCCAATCGTCGAATCTTCAAATTCGGCGACTTTTACGAGAAGCTAC +GAGTGCTGACAATTTATCGCGAATGTTCTGCGGATGGATGCCGTTTTTGT +AGAGAAATCAGAGAAAATTTTTCTCGAAAATTAAAATTTTTACTGTATTA +TTGTTTTCTCGTATCAATTTTTCAGAATTTGCTTTGTTATTTTATTTTAC +GCGCAAAATAATCTTTCTAATTTAGAAATTTTAAAATTATGGAAACTTTC +TGAAATTTCTGCAAAATTCTAGAAAATCAAAAAATTTAGTTTTCCATCCT +AATTTTTTTTTTCGTTGATTTTCCCCAGAAAATTCAAACTTTTACTGTAT +TATTATTTTTTCATATCATGTAATGTTTTTTGTTCAACATTTACATGTTT +TTCCTACCTCTTCTATGATTTCCCCTTCCCCCAGGTCTCATTTTTCTTCA +CAATTTTTAAAATTGATTCACTGTTGAATGTGTTGTCTTTTTTCTATGCG +AATTTTATTAATTTTATGAAAAAAATTTGTAATATTTTTGTGTAAATTTT +GAGTCTTCTTACACTACAAAGTTAACCATTTCAGAGGAGTTTCAAAATAA +ATAGTGAATTTTTACAAAAATTAGATTTTCTGATTTCAGCGTACATGAAT +TGCCCGTTTTCAACAAAATAAGACAACTTTTTATTTTTGCCCAATTTTTT +TTCAGCCATCTAATGACTGTCCTTTTTTTTTGGGCAAAAATAATAAATTT +TCTAAAAGCGTTTAAAACTATTATATTTTGAAAAAAGACCATTTTTTAGG +GCTTGGCAATTTTAAGTTCTCTAGCTACAAATTGAACCAATTTAGAGGTT +TCAAAATTGTGAGTTTTTGCAAAAATTGCCAAATTTTGCCACTTTTTAAT +GGTTTTTGATGGGTTAAACCTAGATTTTCTGAATTCTGCATATATGAATT +ACCCGTTTTTAACAAAATTAGACAACTTTTTATTTTTGCCCAATTTTTTT +TCAATGACTGTCCTTTTTTTTTGGGCAAGAAAAATAATTTTTTGGAATTT +TTTTCTGAAAATGTTCGAAATTTTTGAAGTTTCTCTTGAAGCACTCCGAA +AAACCAAACGACCAGCACTACTTGCAAAGTCCGAAAATTTAAGTTTAGAA +AAATTTTGAAGTTTTAAAAGCTCCCAAACCAGAAACTCACGATATAGAAA +TTATTTCCAAACATTTCCGAAAATTCCAAAAAATGAAAAATCAGAACAAT +TTCGAAATTTTTTTCAAAACACTTCTGAAAAAAACCGAAACTGCAAAAAT +TTGAAAATGTGCTAAACTCCAAACTGTACGATTTTCCACATTTCAGAAAT +TCCAAAATTCGTAAATCTGCCAAATCCCTTCGGCGCAATAATCCCCCGGG +GTACCCCCCCCCCCCGCCCTAAAACCTTTTGCCTCTATTGTCTCTGGCGC +AGAAAATTGAAATTAAAAAATGAATCGATATTTTAAACTGTTATTCGTAG +CCATCTTCTCCGGATGTATAATCGCCTACACGAATCTATTCAATCGATCG +TTTTTCAACGGGTACTGTAGTAATAATGCTACGTGGCAACAGTCACAAGG +CGAAAGCGACAGTCACGTGGCAAATTCGTTGGATTTGTGTCGTGGCGATG +GTGTGAAGCAGTGTATTCCGCCGTTGATGAGGTTCAAACAGTTGTATCGG +GTGAGAAAGATTATCGATTTTTAACACCCGTCTCGCCAATTTTTTTCTCA +GAAATTGGAATTCCCGTCACAAAACTTTTACAGAATGTGAATTTTCGAAG +AAATTGGAATGACACCCAAAAATTTTCTCAGAAATCTAAATTCTCGGCAA +AAGTTTTCTCAGAAATTTGAATTCTCGTCAAAAATTTTCTCAGAAATTTG +AATTCCCGCCAAAATTTAAATCAGAAATTTGAGTTACCACCCTTCTCTTC +AAGTAACAGTATTCAACAATATACAATTAAATAGCTTTTCAAATTCCTAA +AAAGTTTGCTGGAGTTATCAATTTTTGATTCAAAACTCGCTAAACCACTT +GCCCATGTAGAATACATAATCAATTCTGAATAGAACGCTATTTTATCCTA +TTTTCAGACATCAAAACCGAATAGCCTAATCGCATGTGTCATTGAAAAAT +CATTTTCGACATTTCTTACTGCTATTATGTGCTTTTTACACGATCCACAA +ACATTTAAAGACAGCAATCGAACACTGGATTCTGATATTTTTGGAGACAG +GTTTGCGGCAAACGAACTCCGCTGCCGACTCTCGAATTATCAATTTTGCA +GGCTTTGTAAGGATAAAAACGAATTTACCGAGTTGAAGAAGATCGGAAGC +TGGCAGAAAATGTCGATTTTCACTGTGGTTCGGAATCCGATCGATCGGTT +TGTATCAGGCTTCACGGATAAATGTTTAAGAGAAAATGTCTGGAAAAAGT +TCAAAAATCGATGCGCCGGATGTAAGACTGTGCGTTTTATTTGCTAAAAT +CTTTTACTTAAACAATTTTTTTGGAATCTTTTATTTTCGGGAGTTTCGAA +AGTATATTGGAGTTTTTTAGAGAAAAAAATATCAATTGAAAAAGGTTTTT +TGAAAGGGGGTAACATTTTTCTAGGCCACTAGGCTTTGTAAGGTGGCCTA +GAAAATAATGTAAAAATCTAGGCCATAAGGGTTTATTGCGTGATGGCCTA +TGAAAAAGCTAGGTCGCCATAACTTTTATCAGGGTTTAGGAAAGTTAAAA +CTTCGGGCAGCAAGTTTCGCATAATGACCTAAAACTTTCTGGAGAACTAG +GCTATAAAAATGTTCATGATGGTTTCAAAAAGCGGAACATTCGGTGACCA +TAATCTTCTAGAATTTTTAGGAAAACTAGGCCATTAAGGTTTCTTCCGTG +GTCTAGAAATTCTGGAATACTAGGCTGCCAGGGTTTCTAGGCCACATAAG +AAAGGCCTAGATACAAAAATTTCAGAACGGTCTAGAAAAGTGGATAACTA +GGCCACCAATTTTCTCTTCGGAGTTTCAAAAATATATGATTCATGATTTA +CTTTTTTAAGAGTTTTTTTTTTCAAAAATTCTAAACTTTTGACACTAAAA +TGCTTCTGAATTTTTGAAAACTTTGAAAATTAAATGTTTAAAAATAATTT +TTTGAAAATCTCTCAATTTTTTTTCTTCGAAAAGCTCAAAAAAACGATAA +ATTTCCACATTTTGGCCAGAATTTAACATGTTTCGTCGATAAAATGTACG +ATCGGATGCATAGATTCGCGCGGAATCCGTATAAAGGAATCGATTTCGAC +GACAGTCACTTTTTCCCACAATCTTGGTATCGGTAAACGCGCTCTATAGA +TAAAGTCTCAATGGAGCGCATTTGCATTTTGAAATTTGATATATTTGTCG +TTTCAGGAGATGCGAGTTCTCGTCTCATCTTGTCAAATACCAAATTTTTC +AATTAGACGGTGCAAATTTCACAAATCAACTTCTTGGACTGCTGTCCGAG +CGGGGAGTTGATGAGAATGGAATTAACTTTATTAGTGAGTCTTAATCAAG +TTTGGGTCTCACCGCGAAAACCGTAATTGATTGGGGACAATGGGACCCAA +GAGAGCCCAATGGAGCGGAATTGCAACTCCTATGAATTTTCCAGACGGAA +GTCTCCATCACCGGACCCCACACAGCACAATGGATTCCGTGGAACGGGCG +GCCGTCGAGGAAACTGTTCTGAGCAGTCCGTATTTGTTGCGAAAAATAAT +TCAAATGTATTATTTTGACTTTTTGCTATTCGGGTATAAGCTTCCTGATA +TTCCAGTTGGAAATTAGGAAAGTTCTTTATATGTATTTAATTGTTGTTAA +ATAGTAAAAATCGATAAATTGCTTGAATTTTGATAAATTACGGCCACGTC +AATTTTTAGATAATTAACGGGCAAAAAAAATCTAAAATTCTTACAAATTG +AAAAAAAAAATTTCACAAAAAATAATAACATTTAGTCTAAATGTGTTATA +GCTTAGGCTGAGGTTTAGGCTTGGGCAGGTTATTTTTTAATTTTCAAGGT +TTCTCATTACATACTTTATTTCCGAAATACAAAAAAGAAGTCTCACAACG +AGTCATCAGTGCGTGTTGGTGGGTGGGGTGGGAGATTCTGGTGGCGACCT +ACAACTCACAAACAAAGATGACAACAGGGAAAATGTACACGTGGCAATAT +GGTGAAGCTATATGTATATATAATGAATAATGATATGTAAATTTGCATAA +TACAGGAACAGTACGTGATTGCTGGGGCGAGTAGAAATGTGGGTTATTAT +CTATCGATTACCATTACACATGAATTACGCTGGATTACGGTTAGAATTTT +GTGAAAAAAAATGAGTAAAACGCTGGGGCTATAAATCTATAATTGTCGAA +GATGCTCAACGAGCCAGGAACGAGGGGAACATTGCGTCAAACTGGGCGGT +CAATTCCATTAATGATGGTGCAGCTTGTGCATTGATTGCTGCAGCAGTAG +GGACTCCATGCCTCATCACCGAATCGATAATCTTCTTTCCAGATGAGAAA +CGCTCGAGACGGGAGGCGTGTTGGAGCACACGCTGCTTCATTTTCTCGTA +CCATCCAGAGTAGAGAAGCAGAATAGCTGGTGGAAGTTGACGTTCTCTGG +AAAAAAACAAGATTTTCTCTAGTTGCCTTAACACTTGGATTTACAGAATT +AGTGAATATTTAAATCAGGGTGGGCGGCAATTTTTTTTCCGGCAAATTCA +GCAAATTGCCGATTTGCCGGAAGTTTTTAAAAGGATTTTTAAAAGACGGA +AACACTTAAAACTGTGCCTTTTTGAAATTTTCTCCCGATTTCTTTACATA +TTTTCATAGATTTTACTGACTTTTCAAAATAAATGTAGGAACATTTATAG +GATGCGTACAATTTTGCCGATTAAAATTGAAACTGTGAAATTTTCAGAAA +AAATGTGCCGAATCACAATTTGCCGAAAATTTTAGTTCCGACAATTTGCC +GTTTGCCGGAAAAAACCGTTTTCCAAGCCACGTGGATCATTTTTTGAAGA +AAAAAATACGGCAAATTTACAGAAACTTTAGTACCATGTGGATTTTTTAA +GAACTATTGCCAAAGTACGTGGAATGTTCAGAAATTTTTTTGCCTTTGTG +AAATTTTGGATTTTTCTGGATTTTCGGAAAAAAATTCAAATTTTTCTATG +AAGACGAATTTCTGATTTTTTTAAAAATTTTTCACGAACTCAAATAATAC +TCAGACGCGAAATTTTACGTTTTCCGATCAAAACACGGTACCCGGGGTCT +CGAATCGACATGCAGTATTTTTCTCGCTTTGTCATAGTTTCTCGATAAAA +ATGGATTTTTTTGAATTCAAAATCCTTAAGTTTCTACCCAGGGGAGAAAA +AGAAGACTATAAAAATTTGAAGTTAAAGTACTCTTTAAAGGCGCCCTTTT +TTCGAACTTAACCAAAAATTGTCGTGTCGAGGCCTGGTACCGTATTGTGG +TGCGAAAATCATTTAAAAAATTGCGTCGATTTTTGGTTTTTTGTTATTTT +AAAAAATGTTCAATTTTTCAAAAATAGCTTTTAGATAAAAATAATAGGTT +TTTCCTTCTTTTTTTCCGGCTAAATAATTTTAAGAATCCATTTGCCACGT +TTCATCACAGAAAAAAAACTAACTCTGTGCCAATCAAAGCGGCGGTGCAA +ATCGAAATCATTTGCTGAACGACATAGTTGCCATACTGGTGGAACAGAAG +AATATCCAACGCATCACGATTCGACTCGACATCCTTCACATATCCACTGA +AAATCTCCTCCATCATCTCGTGAAGCAACGCGGGCGGTGCAAACAAGAAC +GCTCCCTCGATGACGTGCGACGCATACTTGTCCTGTGACATTGAGAGCAA +GTTACGGAGCAGGCATTTATCGATGATAGTGTCTCTGTACATTTCCATGA +TACCCGACGATTTGATGACGTATTGGATGACGTAGTTGGCGAACTCGTTG +GAAGACAGCCGGTAGCAATTACGGACGATACACGTCATCAGAGAATGCAA +CAATTGAATACGGAATTTGAAACACGGGAGCTTGGGATTCTCGGCGAGTC +TATCGATGACCTGTTGCACGAGACGACATCCATACTTGTCCTGGCACACG +GCCATCAGTGAATCTCCTGACGAGAGGAAATGCACGAAAAAGGTCCACAT +GTCGACTGGAAGTTGCTTGACGACACGTTGAATCACGTGGATCGAGATTT +GATCATCCAAGAGCTCAGCACATTGCCGCCAGGTCGAATGTGCTGAGCTC +TTGGATGAGCTGGAAGACGTTGGAATGGTCGAATTTCTGAAATTAACAAA +TTATTGATTTATTACACCTGGAAAGGCCTAAAAAGACCAAAAATAGCCCT +AAAAATTTCGAAGAAATGGATTAATTTTTAGCTAAAACGTAATTTTTTGC +CAACTTTTCTGTGTCGCGATTTTTTTAAACCAAAATCGAAAAATTTCGTT +TTTCGATATTTTGAACAAATTTCAATTTTTTCGGGAGAATATCTTAAAAC +TTAATTATTTTCCTCTAGGAGCCATTTTGTATGTTTTTTTCATCGACAAA +AAATTTTCGTTAATGTGTGCACCTTTAAGTAGTACTGTAACTTTAAACTT +TCATTGCTGCGGAATTTTTTAAAATTGATTTTCAATGTTTTTCTACAGTT +GTCGTCCAATTTCATGCAATTTAGAAAAAAACAGAAGGAAAAAGTGAAAC +ATCGATTTTAAAAAAATTCCGGAGCAATGAAAGTTCGGAGTTACAGTACT +CTTTGAAGGCGCACACCTTTTTTGTTTTAACAAAAATTTGTCGTGATGAG +ACTGGGGACAGTTTTTCGGCGGAAAAATCGCAAAATTTCGGCTAATATCG +AAGAAAAATCAATTTCCGACCGCTGCGACACTTTAGCAAAAAATTGTGAT +TTTAGCCAAAATTCAGTTATTTTTCGGAATTCCCGTGGCGAGACGTATTT +CTCCCACCTGCAGAGCCAACTGCACAACTCGACATGCGAATTTATCCTTG +CACATGGCCAAAAGCCCTCCGTCGATCATTTGACGAAGCAATTCCCGCTG +CTCGGCCGGTGTTGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCAC +TTCGACTGTGGCAGAGCCCCACGAAGAGCGTCGTGGATTCGGTGAGCTTC +TCGAAGACGGCTTTACGAATCTGATCTTCGGAATCCAGTGGGTAGTTGGC +CTCCAAGAACTTTACGCCCGATGGATCGATTGCGAAATCGATGAGCTGCC +CGTTGAACAGCACATCTTCGAGCGAAATGAAAATCGGAGCAACTGGTGGT +GGGGTCTCATCGTCGGAAGATCCCGATCCACTGTTGAAGATGTAGCTGTC +CGAGTCGGAGGAGGTGGTGTTGCTTCCGTGGCGGTAGGGAAGAAGCTTGA +CCGGCGGCTTTGGATTCTGGAAATTCGAATTTTAAATTTTTATTATATTT +TCTATTTAAATTAGAAGTTTTTATGCAATATTCTACCTTGTTCTTGTGAG +TTTTGTTCGACAAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCG +AGCATGTTGTACGAGTCTGTGCTTCTACGATTCGGGGTCATTTAGACAGA +AATGAATGAATACAGGTTAGTAGACGCTGAAAAATTTTGGGAATTAGGAT +TTTCAACGGAAAAAAGAGTGAAAATGAGAGGAAAACATGTAAATTTCAAC +GAAAATCGCGAAATTACCGCGCATCAAAATTCAAAATTGAATTTTTCGCG +GTGGCCCGGGTTACGGTGATTTTTAAAGGCGCATGGTTGTTTTGAGTAAG +GTCTTGACGCGAAATTTAAAATTATTGAACATTTTTATTTTATTTTTACA +TTTTTAAAGAAAAAAATGATTAAAATTCGATTTTTTAGGAGAAATTAAAC +ATTTTCACAAAAATTGCAAGAAATCGCTCGCCAAAATTCGAAAATGAAGA +GTTTGGCGGTGCTCATGGATTACGGTGGATTTAAAGGCACATGGCTTTTT +TGTATTAGGTTTCACCACGAAACTTGGAGTTTTGATAGTTTGCTTCCCAT +TTTGGGATTTATTTTTTTAATTTTCGCTCGATTTTCACACATTTTCACTC +ATTTGCACTCAATTTTTTTGCAGAAAAATGTCAATGGATATTGTTATGAA +GTCAGATGAGCAGCCGTTCATCTCTGCGCCTGTATGCTTTAAGTAAGCTC +CAATTTTTGTTATTCTGGCCTAAAATTATTTTTTTGATTTCCAGAACGTT +CGCATTTTTCGCCAAAGCATCCGCAGAGGAATGCAAACTTCTCTTCGGGC +TCCAACGCTCGAGAAAGTTTCCAGCAGGCCACGGGGCTCTCGGAGAAGAT +CACGGAAGACATTTACCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACC +CTTAAAAACTACTATTTTTCTATTTTCCAGCGTCTCCCACATTTCGTCGA +TGGTCTTCAACAGAGAAATGGACGGTGGCATCGAGAGAAATCGGCTCGGC +TCGCAAGCGATTCTGCTCGACGAGAACTCCAGGCGCCGCAATCCACAGTT +CAAATCGATCGCGCTCCGCTCTCCGCTACGATCACATCGATCATAGAGCG +TTGGCAAGGAAATCGCCTCATCTGATGCCTCCGACTTTTATCAAAGAGGA +AATTATGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGGTTTCCGTTG +GAGAAGCCGCCTTGCCCACGCCAAAAGTCGAACTGAACATGGACCATCCG +GAAAAGGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTAC +CCTTCAATACCACGAGATTCGCCTCGGACGTTTGATGAAGATCACGGATC +GGCTCGAGCTCACCGGAGATCACACGCTTCGCGATCTGAAAAACGCGTTC +TCGTGCCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAGAAAAAGCC +GTCGTTCAAGGATATGGCGAAAAATAAGTGGCCGTCGACGATGTTCTTCA +TTCATGACACGTTTTATATATAACTGGAAATAATTTAATATTTTTCGAAC +AAATTTGAAAACTATAAAACCATCTTATTTTGATAAAACTCCGCCGCTGC +TCTCTGAAGCAATGAACTGCAATCAGACATCGAAGGGATCAGCCGATCAC +GGAACCAACCTGCCATTGAGCTTCTGAAAATTAATATATTTGATTCAATT +TATTGTACGAAATCGTTTTTACCCATATCTGTGAGCTAGCAAGCTAGCTA +ATCGTGATTAATTGTTGGGTATTCCTTCGCGTTCTTCAGCTTCTCCACAA +GCAAAATTCTTGTCTGCTCATCACAAATGATGTCATCAGCATCGCTCTGA +TCTTGAAAATCCTGAAATTATAACATTCTAGAGGGTTTCTGATGAGAATA +GTTACCTTACAACCAACACCAAATACGTTCTTCATTATGGCATCCGGCAG +CTTTCCATAATCGCAGAAGAAGTGCTCGGCATCACGATCGGATGCTCTAT +TTGGGAAACGACCGATGTAGACACGAACCATGTTGAGTGGCCGAGAGAGG +GATCATCTGAAACATTTAAATGTTAACTAAACAGGAGTTTAGAAACTTTA +AAACAACCTAACCTCCGTGATAACGTAGTTAGCTTCTCGAGTGAGCTTCT +TCTTCAAAATAAAACAGAATGAAACAAGAATCAAGTGGGTAAAATTGTAA +AATGAAGTATTTCAGACATTTTCGCTAATTTTGGCAGTAAAAACCTATAA +TTTTGGTAAAAATCGCTTGTATTCTGAAAAAAGAACTCAATATTTAATTT +TTTATAACTGATTTTAAAGAGAAACAAACGAAATATATGAAAAAATCGAA +AAAATCCCTGAAAAAGGCCTCCGCAATATTGATTGTTAAAGGGACACCGA +CTGTTCATCGAATGGGTCCCGCCGCGATTGTCCATTTCGAGCGCTTTTCG +CGATTTTTTACTACTGTAAAAAAGTGTAGGAAAATGTCGAAAAATGTCGA +AAAATGACGTCACAAATGTATTTAAATACATGTTTTTATTGTTACTTGAA +TAAGGCAAAATATGTATTTAAATACACTTTAATTTTCCGACATTACTTGA +ATAACCCCATAAAAAACCCCGAAAAAATTTTTTTTTTGTGAAAATAACCA +GAAAAATACATGTTAAAACAATTTTGTGAACAAAAAACTAAAAAATATTT +TTTTTGCAGAGATGAATCCCACGTGAACGTCGAATTTCCACGCCGCCTCG +TCGAACGGAATTTCAGAAGAATCGCATGTGACACGTGCAAGGAGGCGTCG +GCTCAGTGAGTACAGAAAAATCCATGGGGATTTTTTAGAAATTCGGAATT +GATTCGATTCAATAAAATCGATTTTTATATTAAAAAAAAGGATTTTATTG +GTTTTTAAAAAATTTAAGAAAAAATTACAAAAAATCTATAAAATCGATTT +TTTATTTAAAAAATTGAAACTCAATAAAAGTTCTTTCTAATTTTAGAAAA +ATCGATTAAAAAATAATGTTTTAAAAATCAGTAAGAATCGATTAAAAATT +CAATTTCATCGATTTTATTTATTTTAAAAAAACTTAATTTTTATGAAAAT +CGATCATATCGGAGTCCAAAAAATAATTGGGAAAAAACTAAATTTTCAAG +AAAATAATCGAAAAATTTTAATTTTGTTCAAATAATTGATAAAAACTCAT +TTTTTAGGTTTTTTTTCAAAAAAAATTTGAACAAAAAACACATATTTCTC +GAGCTTTTTTTCACAAATTGACCCGATTTAAATTAAAAATTCATAAGCTA +AAAACCTTCTTTTTTTAACCAAAAAAAAAACGAAATTCCCAAAAATCATC +AATTAAATCCAATTTTTTCAGCTGGATGATCGTCGACCACGACAATCTGC +TTCCCAACTCGCCAGGCTATCTGTGCTCTTCGTGCTACAAGGAATTCTGT +TTCGACGTGAACGGCAACAAAGTGTGCCAGTTTAAGGCCGTACCGTATTG +CGATCGAAAGGACATTGGCGACGGACGCCAATTCTTCACCGAGCTCGATC +TTTAGAGAGCGAAATTTAAAATTCTGTATCATTTTTTGTTGTTTTTTTTT +ATGTTTTTCGATTTGATTGTTTAATTATCAATTTTTGGCCTGTAACTGTG +TATTTGTTGAAATTCCAAATTTCGTTTTTTTTTTAAATAAAATTTCTGTG +TGCAAAAAAATTTATCCAATAAATAAACGGAATATATCGATGATATGGCA +AGTAGGGGGAAACGGACGGGAAAATGATTATTTACAGAAAGGGCGCGCAC +CAGAGGTTTCTCGGGGGAGCCCCGAGGCGGGTGGCGGAGCTTGGCTCAAA +ATCTGTCGGAAAAATGGGTGAAATGAGAGAAGAGGTAACCTAGAAAATGA +GATGAGAAATTCGGAAGTTTTGGGAAAAAAAAATCAACTTTTGAACAATT +CAATTGAAAAATCGATAATATTGATTTTTTTAAAATTCTCTAAGATCGAT +AAATCTGGTTTGGAAAAATCAATAAAATCGAATCTTAAATATCTTTTTAA +AAAACTATTTTCAAAAATCAATAATATCGATTTTTGAACAATTTGAAAAA +TCGATAATGTTGATTTTTAAAATTAAATTTTATTGATTTTTTGAAAATCG +ATTATATTGTTGATTATTGATTTAAAAATCACCAGAATCGATAAATCTGA +TTTGGAAAAACCAATAAAATTGATTTTTACAAAAATCAGCCAATAAAATA +GATTTTTTATAATCAAAAAAATCTATTTTTAAAACCGAAAAAATCGATAT +TTCAAAAATTGAAAAAAATCGATAAATCAATAAATCAATACATAGGTGAG +CTCGTCTCGTCGATTTGTGTTTTTGTGATTGGTCCCGGCTGCTTTTGAGA +TGGCCTAGGCGTTGTTCCGTATGACATTCTGGAATTTTTTTTTGTTGGGA +ATTTGGCACGCCCACAAAATGGACGGTGGCGGAAATTTAATTATTTTAAA +TACCTTTCTGGATAAAAAAAATCGATTTTTCCACTTTTTCGAGTGAATCG +AAAATTAAAAAAAACATTCAAAATTGTTTAGGGTCTCGCCACGAAAAACT +CACAAATGCACGTTATGCGGAGTGTCGTCGGATTCCGGTGTGTTGCTACG +GATCGTGTCGTCCATGCTCAGCTTCATCGTCGATTGACGTCGCCGTTTTG +TGGTGATCTGAGCGAGATTTATTGATTTTTAAAGGCGCATGGCCTAGAAA +ACACAACACTTCGGCCACGGACTTTGGCGGCCGAGTTTTCTAGGCCATGC +TGCGGCATTTAAAGGCACATACCATGATAATGAAGATCGCCAATCCGAAA +ATGATGACCAATGCGAAAGTGATAATTACAATCATCGATGATAAGGAATA +TGATGAAGTTTGCGTGGAAATCGAATCGATGTACGCTTGTGACGTCATTC +CTGGAAATTATTGATTTTTTTTTGGAAAAAAATTAATAATTACTTACCGT +CAACAGTAACACTCAACGAGTCAATTTTGTAATCCGAAATCATAGAGTTA +TTGCGTGAAAATGCGGCTTCCAACCTGAATGTTAAAAAAAAATCTATAAT +ATCGATTTTTTGAAAGTTTTTCGAAAAATTGATAAAATTGACGATTGATT +GTTTGCCCATAGAAACAGATAAAAATCGATATAACTTAATATCGATTTTT +TTTTGTGCACCTTTAAAGAGTACTGTAACTTCAAACTTTCATTGCTGCGG +AATTTTTTTATCGGTTTTTACAATTTTTTGTACAGTTTCCGTCCAATTTT +ACAGAATTGAACAACAACAGAAGGAAAAGTGAAAAATCGTAAAAAATGTC +CGCAGCAATGAAAGTTTGAAGTTACAGTACTCTTTAAAGGCGCACACCTT +TTTTGTTTTAACAAAAATTTGTCGTGGTAAGACTGGGGACCGTTTTTTCG +GCGGAGAAGTCGCAAAATTTCGGCTAATATCGAAGAAAAATCAATTTCCA +ACAGCAGCGACACATAAAAATTAGCAAAAAATTGTGATTTTAGCCAAAAT +TCAGTTATTTTTCGGAATTCCCGTGGCGAGACCCATTTCTCCCACCTGTA +GAGCCAACTGCACAACTCGACATGCGAGTTTATCCTTGCAGATGGCCAAA +AGCCCTCCGTCGATCATTTGACGAAGCAATTCCCGCTGCTCGGCCGGTGT +TGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCATTTCGACTGTGGC +AGAGCCCACGAAGAGCGTCGTGGATTCGGTGAGCTTCTCGAAGACGGCTT +TACGAATCTGATCTTCGGAATCCAGTGGGTAGTTGGCCTCCAAGAACTTT +ACGCCCGATGGATCGATTGCGAAATCGATGAGCTGCCCGTTGAGCAGCAC +ATCTTGGAGCGAGATGGTGATCGGAGCCACTGGTGGTGCAGTCTCATCGT +CGGAAGATCCAGATCCGAAGGTGTAGCTGTCAGAGTCGGAGGAGGTGGTG +TTGCTCCCGTGGCGGTAGGGAAGAAGCTTGACCGGCGGCTTTGGGTTCTG +GAAATTCTATATTTGAATTTGAAAATCAACAAAATTCAATATTTTACCCT +GCTCTTGTGAGTTTTGTTCGACAAAAGCGAAAAATCCGGGTCGAAATCGA +ATGAAACGCCGAACATGGGGGCCATTTGGACAGAAATGAATGAATACAGG +TTAGTAGACGCTGAAAAATTGGGAATTTCAATTAATTTAGGATTTTTTAA +CGGAAAAATAAGTGAAAATGAGAGGCAAACATGCAAATTAAAATCGCGAA +ATTACCGCGCTTTGAAAGGGACTCCACCGATCGGAGAGACGAGGGAAGTG +GAGAGACGCAAATCGAAGAGACGCCTTTTCAGACATTTTTTCGTGATAAT +TTTGCATGAATTGGCAAGTAGAGCTTACACGTGATGCGAATCATTGATAA +AAACATCAATTGTTGTTTTTAGTGTACTGAAATTCCGGCACAATAGCTCT +CGTAAATCGACACAAAAGTCACTCCGTGGAAAAGTGGAATTTGGATAATT +TTGTTCTTTTTTTTAAATATGATTAACGTTTTTGAAGGCTTTTGTCTCAT +AATTCATCAAATTCAAAACCGGAATTATCCAAATTCCACTTTTCCACGGA +GTGACTTTTGTGTCGATTTACGAGAGCTATTGTGCTGGAATTTCAGTACA +GTAGAAACAGAAAATGTTGTTTTTATCAACGATTCGCATCATGTGTAAGC +TCTACTTGCCAATTCATGCAAAATTATCACGAAAAATGTCTGAAAAGGCG +TCTCTCCGATTCGCGTCTCTCCACTTCCCTCGTCTCTCCGATCGGTGGAG +TCTCTTTTGAAATTCGAAAATAAAAAGTTTCGCAGTGCGCCCGGGTTACG +GTGAATTTTAAAAGCGCATCACGGTTTTGAGTGAGGTCTCGACGCGAAAT +TAGCCGTTTTTGAAGATTTGTCGTTTATTTTGGCATTTTTGAAGGAAACA +TAAGTGAAAATAAACAATTTTAATCTTAATTGAGAGAAACTTGAACATTT +TTACAAAAATTGCAAGAAATTGCGCGTTAAAATTCAAAAATTAGAAGTAT +CGCGGCGCTCAAGCCGTTGATAACAAGCCGTTATAAACTTATATAACTAT +ATAATGTAACTCGATGATTTGTTGATGTGATCTTTAAAAAGGTTGAAACT +GCCCCAGTCGATGTCCGCGCCAGAGGCGCTGTCAGCGGCTGGTTACTTAT +ATATAAAAAATATCGGGAAAAACGCACTTCCGTTCCATTTGTTTCTTTGT +TTTTGTGACGTCACTGAGAATTATGGGCGGGCCCGTCTGCCTTCGTGGTA +AGACCCATCGTGGCGAGACATATCGTGGTGATATCCTTCGTGGCGAGACC +CATCGTGGTGAGACCCATCGTGGCGAGACCCATCGTGGTGAGACCCATCG +TGGTAAGACCCATCGTGGCGAGACCTTTCGAAAATTTGGTGGGAATTCAA +ATTTTCTTAGAAACATTTTTTGGTGGGAATTCAAAATTTTCAAAGAAAAA +CTTTGGCGGGAATTCAATTTTTCAATAAATAATTTTGGCGGGAATTCAAA +TTTTCTAAGAATAATTTTGACGGGAAATTCAAATTTGTTGAGAAACTCGA +GTAAATGCTGGAATGTTCTAGAACCTTCCTGGAGATTGGGGAAAATTTTA +GTATGTTCTAGAACCATCGGCGAACTTAAGAAAATTCTGGAAAGTTCTAA +AACCTTCTAGAAAATTCGTGAAAATTCTGGATTGTTCTAGAAATTTCTAG +AAAATTCGAGAAAACTCTGGAACGTTCTATAGAACCTTCTAGAAAATTCG +GGAAAATTCTGGAATGTTCTAGAAAATCTTGTTTGCCAAAAGCTCTCGGA +AGGAACCGGAAAAGTTTCTTATGATTTGAAGAACGTCTAGAAACGTTCAA +GAAATTTAGAAGTAGTTCCAGGAAACCTGGTATTTTTAAGTTGTAACTCT +TGAAAACTTAGTTATATAATATTCATGTTGCGTTAAAAACTTCTGGAAAA +CTGAGAAAAACGTTCCAAGGCTTAGAAATTTTAGAATTTCATCTTAATTT +CGAGTACGCCAGTCGGAGCACGCGCATTGTGCGAACGGCTGGTATACAAA +CAATAGTCAGTCAATCCCATGGATCAAATTTTGAATTTTTCTAAGACTGA +ACTGTTCCTTTGATATGCAAAATTTTATAAAATTGTCTGTTATTGAAAGA +CATGAAACAAACTTGAATTACAGTAATTCTGTAAATTCTGAACTTACTAT +TAGAATCCTTAGTGAGCACACTTGAAAACGAATGAAATAAGGTATGTGAG +AATACCGTATCAATCAGATACGTCTGACACTTCCCCAAAAAAAACTATCA +GAATATGAGTACGATATGTTATTACTAGTGTGCATCTTTCCGCGCGACCA +TCATGGCTCAGCAGGTAAGACTTCGGCGACGCCTCGAGACGACGAGGTAG +TTGACGACTTTTTTCATTTTTTAGGCAGCGCCCAACTCTTGTCCGAGGTC +TACAGGCTACATGGTTTGGACGGACAGAGTATTTGCTTTATTAGTAGTAA +CAGAAATACACATAAAATCAATTAATAAGATCCATGAAATGCAATAAAAA +TCCAGTTTTCACCCATCTACTATGTCTCTCATTGAAGAACTTTTTCAGAT +AGCTTTTGGTATAGAATATATTAAAATTCATTCTTCGATTTTCTGTGGAA +TTTCTTATTTGAAAGCTTTTTCCATACCAGACAGTCACTTCTCCAAATCC +ATCCTTGAAATTTTCTTTGGGGATATTTAAAATATCATCGAGATACCAAC +AATCTACTGGTTTTTCACCTACAAGACGTGCTCTTGAATTGAAAATGTCT +GGGATATCCTCTGGAATATGTTTTTCTCCTTTGTCATGCTGATAGTATAA +GTTGAATGTGACACTTCCATTTCTCTGGCTGTTTTGTTCAGTCAATCGGA +TTAGCTTTGCTGTGACTCTGTCCATATTGTCCGGAGTAATGAGGAGATAC +GTTTTAGGAAGTAGAACAGTCATACTCTTGGCTGGGAAGTTTCGTTGAAC +ATTTGCAATCACATTGTCCATTGGTGAATAATAGTCGTTTTCCAGTTGTT +CGTTCATTTCGAGTAACATATCCTCAGAGTATTGTAAATCGATCTCCACT +TTTTCCAGAAGAACCCTCGAAACGGGTTGGGTGTTGAATGGTACATTGAA +TACGGCATTTGAAAAGTCTTTAGACGTTTCCAAAATGAAATCCATATTTG +AACTAAACATAGTATTAAAATGACCACTGTAAGCTTCGAACCGGAACTCC +AGTCTGAAATCCTTAACATTCCACTTTGAAATAAGCTGGTATAAAAAGTC +TCTTGGGATTGAAAGGAACTCTTTTCCCAGTATTAAAACGGTGAATGTGT +GGCATGTTACCAATGAATTGAGGAAATAATTTGCTCGAGCACCAACTACG +TACCGCCCTAGTTGCTTTTCGTATATGGTCCGATAAAACAACCTGTAAAA +TGTAATCTTTATAATGTTCCTGAGCATATCATGTCAAGAGTGTCTGAGTT +TTTCATCAACAAAAACAAAATTTGATTTTTTTGTTAATTTTCTAAACAAT +CCGATTTTTGGTTTTCCGGAAAATTGAAACATCGAAATTTTCCGTTTTTC +AATATCCAATTATTCGATTTTCCGATTTCCTCTCAGAAGAACGAAAAAAA +CGAGAATAAAGTTTCCATGACATTGATCGCAGTGGGCTGTTTGTTTTTGG +GATAACTTTAAGTGAAGGAATGGAGAGACTATCTAAGTATGAAAAACACG +AGAATTCACTCTTTTGAGAACCTGTTACAATACGTGTACTGTTATAATAG +AAAAACTAAAGCAGTGATTCAAACATCTGTTCGACGGTGTTCATTACAAA +TGTATCAATTTACACTCACCAGTCTTTCATTTCCAGCGCTTTGTAATGAC +GTGGAGATATCCTGATTTGATTTATGATTTCTATTATTTTTAATTCTCCA +AATAGCTCTTCTCCCAATATTCGCAACTCATCAATTCCAAAATTGCTCAA +TCGAAGATATGCGAATTTCCCGAATAGTTCGTTTAATCTGTCCATAAATC +GATCATGCTCATCAACTCCAAAATTTTCCAACATCAAATTCAAAAACTGC +TGCGGTATCGAATTTCCACCAAAATATTGAAGTTGAATACTATGAACTAT +ACAGTTTTTATTTCTATGAATGTCTCGACATATTTGACAACCACAGCAAA +AATCATTTTTATATTCTTCAACGAGTCCATCTAAAAATCATGAATGTCAA +ATCAGTAGTTCAAAAGCCATATATTTTACTCAGAATTCTGAAAAACAGGC +GCTCATGTCAAAAATTGACTTACAATCTACTCCAATCAAGCAATCGTGTA +TGAGATCATTGAGTATAATTCGAGCATCCACTCCGCACGAAATTTCGTTT +TTCTTAATCGGTTCGACATAAAGCTTGTAGACTTTCACATTTACCGTATT +TTTTAAAAATCTGAAAATAATGTTACAGCTGAGTACAAAACATTAAAAAT +TGGTTTAATTGATTGAAATTTTCACCACTTCTCATATTGTTTCCACGATC +ACAAAAAAGCATAAAAAACTTCAACAGACTCAGAAAACACTTTTTAAAGG +CAAGTTTTGAACCACCTATTTTGATGAAAAATTGTCTGAAACACTTCTCA +GATCGACTTTTCCCTAGCTCAAAGTGATCCTCTGCCGCTAGCTCTTTTTT +AGAGTGGTCATTCGAAAGTCCGGGTTTAAGTTGAAATATTTCCCTTACCG +GTCAAAATTCTATCAACATCAAAATAAAATTGAATTTTTTGGTAGTTAAC +AGAGGAAGCGGCGAGCAAAAAAACCAGGTTTTGAACAATTGATTTCAACT +TACACGAATAAGTGTTTCACCTTGTTTTTGTTTATCTCCAGTGCATTTAT +AAGAAACGAGCAAGTGCATCGACGAAGCTGTTTTAGCGGAAGTTCAGGAT +CTACTTGATTGTTAATGAATATTGATCTTTTTCTTCAATTTTTACAAGTT +TTGAAACTGTGAATTTGTATTTTTCGATGCTCATTTCGAATTTTGTGCAA +AACTTCTTCGCTGAACAATTTATTTATCAGCTGAAAAAAGAGCGAATTAA +AGTAAAATTGAACACAATTTTGATACCTGTCTATAATTAGGGATATCAGT +CCGCTGTATTGATTTTTTTGTTTGAAAAACTGAGTTTTTGTTTATTTGCA +GCGGCAAATTTTTATTAATTTTTTTTGATAAAAGTTCATCAATGCCATCA +GTGTTGTGGCACCACGGAGTGGCGGAAGACCGAACCCTTTAAGCCTCAAG +AGGAACCGAGCAACGAAGACTATGTCAGAGGTGCAGCATGGCATCGTCTA +TTTGTATATGTATTGGAAAGAACAGAACACAGTTTCAATAAATATGTTTA +TTACTCCAAAGGGGAGATAATCAACAGAGGGGGAGTGGGTCGTACACAAG +AGAGAGGGAATTGTCTGGTGTGAGAATATCACGTCCTGCCACGCGGGTCT +TTAGTCTGAAAAGGTCGAGTGTATGAATAGTCGGGGTCTTTGCAGACTCG +TAGAATAATGTCTTTGGTCAACTACACTTTCCAAATAAAGGGAGGGAAAG +GTAGGAAACGTCGGCAATTAGTCTGACTGGGAGCTGTCAATAACGGGGGG +GGGGGGGAAGAGACCAGCAAAACCGAACCAAGAGTGGGGAGGAGAGTTCC +TTTCCTGGTGCCACCGACGCTGCAGCTCGCTCCGTATCGTCGCTCATTGA +GTCGCCGCGCAGCCAATCGTTGCTACGGGGCGCGAGTGTAACTCTCGTTA +GAGAGCGTGTGGGAGCAAGAGACGCAGAAATACAGTAAACTTCTGCGACT +CCTAACTGTATGGTAAGCTTAAGAGCTGGTCTTAAAAGGTCGAATTGAAT +GTACCCCTCGCTCGGAGAACTGCTGAAGCAGTCGAGAGCGAGACATTGTG +AAATGGGCGATACAGCAGAGCCCAGTTCACAACTCTCCGGGGGGCGGGAC +TTGTAGGCTGGTTCACGTAGTGAACTTAAGGTTTGAAGCCTTCCTTTGCC +TTTCTTGGAAGAGATTGGCGGAGTGGAAGGTCGTCTGAGCTCCTGGCTTC +TTTTCGTGAGCGTTCAGCTTCTTTTGAAGATCTAGTATTAGGTGAGCTCG +GAGCTTCTTTTCTAAATCTTGCTTCGTCTGAGCTTAAAGCTTCTTTCCTG +GATTTAATAAATTTTAAAGATGGAAGCATAGGTAGTGAGGGTTCAGGAAA +GTCGGAGTCCGTCTCTTCGTCTTTTTGTGGAATTTTGTCTTTATTGTCTA +TGTCTTCCGCTGTAACCTCAAGAGGATACAGTTGATTTAGTGATCGTTCC +AACGTGGAGTTATTGAAACGAACTCGTGCCGATTCAATGTTTCCTTCTTT +ACTCGGAATGAGCTCCACAATTTTGCCCAGAGGCCATGTGTGTCTTGGCA +ACATTTCTTGTCCGACGAGAACAATGTCTCCTTGTTTAGGATCTCGAGGA +GCATCCCTTGTATTAGTCTTTTGTCTTTCTCTCAGAAACAGGAGATATGA +TGTCGACCAGATTTGCCACAACTTTGCAACTGTTGTTTCAACTCTGGCTA +AGTGTCTTCTCGTGATTTGCTCTGTTGATCGAGCTGTCTTTGGAGAATAT +TCCATCGGTTCGTCTAGATCAACTTCATTCGGTGCATCTAGCTGAACTTT +TGGTAGTAGAAAGTCGATTGGGCGGAGAGCCGTCAGATCATTGGGATCTG +TGTTGTCTGGTGTAAGTGGACGGTTGTTAATCATCCCTTGCACCTGTCTT +AACGTGCTGGACAGCTCGAAGAAGGTTAACTTTTTTTTGCCAATAGTCTT +GCGAAGTTGGTGCTTCGCAATTCCAACAATCCTCTCGTACACTCCACCTT +GCCAAGGGGCGAATGGAGTGATGTTGTGTACCTGAATTTCGTATTTGGCT +AAAAAGCAAATCATTGAGTTGCTTGGTGCGTAAAGTCTGATGTCTTGGTT +GACCATTTGGTGGCCGAGTGTAAATGTTGGTGCATTGTCACAGTAGATAT +GGGGCGGAACACCACATGCACTGGAGATTGCTCTGAGTGCGAGCAAGTAG +TTGGCTGTAGTAGCGTCTGGAATGAGTTCTAGAATGGTAGCTCTAGTCTT +CAGACAAGTGTAGATAAGAGCATAGGCTTTACCTAGCTTGTCATCGTCTG +TCTTGTATTGTATTGGACCCAAATAGTCGAGTCCTACATGGTCGAATGGT +GCAGAAGGTACAGTTCTGCAGTTTGGTAGTCGTGTGTCGTAATTGTATTT +AAAGGGTCGTGCTTTCACCTTTTTACAGTTCACGCACTGAGCAATTGTAG +TTCTTGCAATTTTGCGATCATTTCTGATCCAAAAGTGCAGTCTTACCGTA +GTTGCCAAATAGTGTAATGGTAAGTGGGTATTTCGTCTGTGGACATCTTC +CACAATTAGACACAATCAGATGTGGAACCGGATTGGGTCCCACTATCCAA +TGATGTTTGTTTCCGTCCTCGTCTACTGGGTTACGCAATGTGTCTTGCAA +AGTGATTAAGTAACCGTCTGTAACAACTGGAGAAGTTGTGTCAAAAAATG +TCTGAATCAGTATGATTTTGTCTCTGTCTTTGAATTCGAGAATTCGTATT +GTCTTGCATTGACTGAGCATAAGAACAGTTTCCTGTTATATGACTCGGTG +ACGAGCAAATCGTGCATCTACCATTGTTGATGCAGAAGCGTTTGACTTCA +ATCGCACCCATTGTGCACGTTTGAAGTGGATGGTCTTTTTTGCAGGGAGG +GCACGGATCTCCATCGAGAAATTCTTGCCAATTCTCCACGAGTCTGGAGG +TAGTATTACCCGTCTTTTGTTGAATATGCAGGTTCAGGAGGTTTTCCTTT +AGTTTTCTGTCCCGTTGGACATCAACCAAAGTACGTCGCCAATCTTCCGC +GCAGTTGTCTTCAAGATGTTTTTTGAGGCTTACGATTGGATCGTCAGCCC +GTCTGGGTCGTATAAAGTTACGCGGAGTCAGCTCGGTATAGTCAGCTTGA +TAGTCTTGCATATAGTCTTTGAGATCTTTAATTATCATGTCTTTGGATTT +AATCGTTGAAGGTTTCTGTTTAACAGTTTCCAACAAGTCTTTAATCGTCG +ATAGTCTATGTCTCAAGTCACCAGAAATAACAATCATTTTCTGTCTGGCC +AGATTAGTCGTGGATCGTATGATATCTGTTAAATTCAAAATTGGCGTACC +TGTATCCTTTGCCTTCTCGGCGACGTCCTTGAACATCTCCTCGATGATAT +CCGGCAATGAATTGGCTTCGACCAAGTATTGAGTCAGGTCTTTGTACCAT +TTGTGAAGATCCTTGATGTAGTCCATATGCTGCTGCTTGTCACAATCGAT +ATTGGCGTTAAGCCAGTCGGATGAAGACTTATCTTTGTGCTTCAAGTCTT +CAGTCTTAAGTGCGATACGCGTCAGCAACAATGCTATGGATGATGAAGTG +GAGAATGGGGTCCTGGATTCCCTTCCCAAGCTGCCACCACCGGAGTCGGG +ATCAAGACTTCCACCTCCAAGATGAAAAGTCATTCTTCTTTGAAAACCGA +GAAACTTGTTATCTAAAATCAATAATTGGTTAAGAAGAAAGACAAAATGT +TTTGAGATTAAGTAAAAGACTTAATAAGAGATTAGGAAAGAAAGATGGGG +ATGAAGACTCAATTTGAGTGATAAGAAAAAAAGGTATTTTAATATAAGAT +TCTACAATAGGGATTGGGAAAGGTGTGCCGTGGCCTAATATAGGTTTGGT +GGTACAATAAATAGGGGAAGTAATGACCCAATATGGGTGGGGGGATTATT +AAATGTTACCTAATATGGGTGAATTATTAATTATTCCTTTGGCAGAGGAA +TGTCGGTGAGGGCTAAGAGTTCCCTGTATTGTAGGTTGATTAGTCATGTA +GGGGACTGGTGTAGAGTAATTTGGTGTAGAGTAATTTGGTGTAGAGTAGG +TATTTGGTGTAGAGTAGGTTTTGGTGTAGAGTAGGTTTTGGTGTAGAGTA +ATTTGGTGTAGAGTAATTGGTGTAGAGTAGGGATGGAGGGAATTCAACAC +CGACTGGTCGTGAATCAGATCGGCCCTGAATTGGGGTAGGGGACAATAGA +AAGAAACTACCGTGTGGCCAACTGCCCCCAGCAGGGACCTAGTTGGGATT +GTTTTCACTTGAACACGAAAACAATGGGGGTTGGGAAAGTTAATAGGGAC +AAAGGAGCAAAACGAAACGTCCATTCCCGCATCGAATTGCCTCATAGGCA +CCGCACCCAAACTCTCCTGCCGCTGCAGCAGTCAGGGAATCCGACGCTCC +ACGCTCTCCATCGCGACTGGAGACCAAGTTCTTCTTTCTTCTTATAGTCT +TTTTTTTCTAGTGGCGCCGGTTAATTACTCCATTGCCAACTAGCTGTCGG +GAAGTCAGAAGTCAAATGTCCTTGCGGACGTGGAATATAACATGTTTGAA +ATTAGGGTGGTTTAAGTTTTTTGTGAGATCCCTATGGATAAATTTTGGTT +AATTTTTAAATTTGAAAGGTTTTAAAAGATGTACAAATAATTTTTAATGA +TGTATAATTTTTGGAGAAGGTACTAGTTGAAAGATATAAAGAATTTTTAA +ATTGAAAGTTAAATTAAAATTTTGAGGGGAATTGGTGTAGAAAATTAGTT +AAAATATATTTTTGGAATTTTTGAAATTTTATAATTTTTAAGGATTTTTT +AAATTTTTTAGGAAGTTATAAAAGGGGGTAAATAAACTAACTGTTCGATC +GCCGCGTCCTCCAACGAGCAAATCCTCCATCCATCCAGAGTTCTTGTCTA +CCCGTCTTGTCGTCTATTCCTCCTTTTCTTCTTGTCTCTAGCACACAGGA +GACTGTGCACTATTGTCTTTCCGTTGCAGTCAGCGAGCTGCCAGCAACTA +GTCGCATCGTTAATGGCACCTTTGCCACTGTATTGAATGCTGTGAGCTGT +TTTAAGTGCTATTACACTATAGTCTGTAGAAAACAAGAAATTTTGTAATC +GTCTTTCGTCTTTCGTCTTGAACCATATTAACAGCCGAGATTTATTAAAT +CAAGGAACAAATAACAGCTTCAACAATGTGGTATCAGATACCGGTGAGGA +GTGGTGAGGGGGGAATTTCAAAAAATTTAAAAGATAAAAATTTAGTGATC +GAATATCGAGATATTCGATGGGGATTGTCCTCGTGCCAATTTCTTGGCGA +TCCTTGGTTGGTATCGGCGTCTGACCGGCTGGTGTTGTTGCTGCTGTTGC +TGGAGTTGTGGTGGCGGTGGTCCAAATAGTTGTGGAGCAGGAACGCGAAG +TGGTGGTGGGAACTCCTGTGCGGCTGGTACGAGTTGTGGTGGAGGTTGCT +CTTCGGATGGTGGTGGCGTGTGAGCATTGAATCCTCCAGAGACTTCCATC +GCGAGGGAGATCCTGTTGATCGCTGCGTGCACCACATCTATCTTGTCGTA +CAGAACGACGTGATCCGCGGATTGGATCCACACTTCCTGGGAGCCAGAGC +CTTGTGGAGCCGTCGCAGTCGTCGGGCCATTTGGGTCGCGGCCGGTCTGG +GGGGCTGGGCCCGTACTTCCTGGGAAGTTGAGAAACCAGTCTTCGAAGAA +CTCGGATGGAGATGTGTCGTCGGTGAGCGTCGGGTCGAACGGTCTGAGAA +GATTTTAGAAAATTAATAATAGTATATGGAAAAATTGGATAAATTTTTAG +AATTTTGAAAGAATTGATTGAAAATGTGTATAAATTGAATTTTTTAGAGA +AAAATGATAAAATTTTTTAGAGAAAATAATAATTTTTAGATAATTTTTAA +ATAAAATCGAAACTTCCTTTAGTCTGGCGCTTCGTGGATGGGTAGGCTCC +ACTCAGCTGTCAACTTACGTACTACCAATGAAGAATTGCAGGATAATGTG +CATATTAGATGCAAAACGACGAGAAATAGCGAATAATAAGTCGGGGAAAG +TCGAAATTGTGCTCTGGGAGCATGAGTTTGCCAAACTCACGTCCCTCGGC +GTCTGTGGGCTCGCGAGCCGCCCTTGTGTACGATTTTAGGGGTTTTTTAA +TTTTGAATTTTTAGAATTTTAATTATTTTTAAAGAAAGTTTGGTAGAATA +AAGGGACGGGGGATGTTTAAATAGATGTGTACCTGTCGTCTATCAAGTCT +TCGACTATCGAAAACGTCGAGTCGTCGAAGTTCATATTGAATCGTCTCTT +CACGGCCCGGCGGGGGGTACATGGACGAGAATTCTCTACCGTATTCCAAT +TTGGCTGACTGCGTGCTCAACGTTGAATACTCAGTTTAAAGTTTCGTACA +CCGTTGCGTACTGCACAGCGCGCATTTTAATTGACGAAATTTCGCGAAAA +TTAACAGAAGATTTTTTTCGGAATTATAGAGCTGAAATTGAAAAAAAAAC +TATCAAATTTTCATCGAATTTGTGAAAAATCGTAAGTATGAAGATCTTTT +CTTCACTATATTCAAGGAAAATCGATATTTCGCTTTTCACAGACGAATGA +TGTCTCATTTTACTCGATGAAAGTTTCTGATGAGCTGTTTTTATCGATTT +TTGAGCGATAAAAATGCGATTTGTTGATAAAATGGATCAATTATATAAAG +AAACAACATATATTGCTCTGAGATTACTTTTTGAGAATCAATTCTTTATT +TTTCGGTCATTTTAAATTAAGCATTAAAATAAAAATATTAGAAATCATAA +TAAAAAAAACAGAAAATCGATATATTACTTTTTCTTCGGAATTTCACGAC +TTTTTTGGACGAATTTTATTCTGTAAACTTTCTTCTTCGAATTTGTGTCC +ACGTGGCTTTCAGTCGAAGAAGATTCTGCAGCACTCCTTCTTGCTTGCCC +ACAACTTACTCGAATTTTCTAAAATTTTTAACTTATTGAAATTGTCATTT +CACCTTTACACTCACTTCAGCTAAACTATTACTGCATTTCGGAAGTTGAT +AGGATACTGGTGGAGCAACAAGTGGATGGCTTCTAGTGATTGGCTGGCTT +GTCGAGCAAGTTTGTGTGATTGCCTGAAATAATTTTTGATTTCAATTTTG +AGTTGATTTAAAGCAGTGAACCTACCACCGGGTTCGGACGAGAAAGAGCA +TTACTCGGTAGACCACGGAATCCAATTTTCGTTGAATTGCCTCCAAATGC +AATAGAAGTTTGTACGTTTTGTGAGAAGTCGGGCTGAAAATTTTCAAAAT +TTGAAACTTTTCGAGAAAAATAAAAATCTCACCACAGCATTTCGAGATTT +TGTCGATTGTGGAAGCCTTTTCCTGGAGCGAAAATTGATTTTTTTTTTCG +CTAAATTTTTTCTTTTTTGGGCAGCCGTGACGTCCCGAATAACTGCTTTT +GGGTCCCGAAGATCATTTTGCGAAGAAATTGGCAGAACTGTTGCATCTTT +TGGTACGATGGAAAGACCGGGAATGGACGTGTTCTGAAATAGTTGTGTTT +TTAAGAATGCAGAAATGTTTTTCTGTACCAAAATTACCATAGTCATGTCA +TTCATGATGTTACGACACATGAGCTCTCTCAGAACATGGATGTAACGCCT +TTTCTTGTCCCGGTAATTGCAAAATCTCCTCTCAAGTGCATTGAAAATCG +CGTGGACAGATTCAACTCCTTGTTCTGTGATCCTTCCAATGTTTCTCACA +TCTTTTGCCATTTGTGGTGCATGGTAGACCAACAAGTGCAGCTTTAAAAT +AATTGTTTCTTCGGGAACCGCTACTTTCAAATCCTCCACAAATCCGCGAA +TCGAATTTTGAAGTATTAAGACGTCGGAATCATTTAAAAACTTGTTTCCC +GAAAGTGACATAATAGTTGAAAGCTTTCCCATTGCTGATTTCAATCCGAG +CAACATTGGGCATAAATTTGGGCCAAAAATGTTGAAAGTCTCCTCTACAA +CAGCCGGCGTTAGCAGCAATTTCAAATGGTTTCCGCAAAATGATTGGAAC +CAAGCCTGCTTGTCCGCTCCAAACTTAGCCCAACACTGTCCCATTTTTTC +AAGTGTTCCTTCGGGAGTACCATTCACAATTGTATCGAGCAACAATTTTT +CCGATTGAAGTGCTTTCAGTTCAGCATGCGACTCCAATTTCATCTTTCCG +GTGGCTCCTTGATACTTTTCTTCCGCACTTTTAATTAGGTTAACAGCGTT +TTTTAGAGTTGCTTTTCGTGTTTTCAGGATAGGAAAAGAAGTAGTGTTAT +CCAAAGTATCAGAATATTTCCAGAGGGGATTGAAGATATATTTGTCAAAA +ATACCCATGATAATGTGCAGAAGAGGAATCAAATAGAACATGATCGCAAC +GTGTGGCAGAAGTGGAGTACATCCTTTGCGAACACCCAAGTCGCCATTTT +CACAACAAGCTTTGTAAAGATCGATTGTTCGTGGGTGGAATGTTTCATCA +ACATTCATATCCTTGATTTTCATCCTCTCTTCAGCTCCCCGTGGATTCTG +TGCAAAACATTTGAAGCAGAAATTGTGGGATGAATGTCCTTGGTGTCCAA +GAATATCAGATTGAAACTTGCAATCTCCAGTTGCAATTTGCACAATTTTT +GCGGTTTTTTGAACTCCTTTGTCCAAATATCAAATTTTCGTTAGCTTGCC +AAGCTGCTCAAGAACGTCCGGAATGAATTTTTTCAGAGACGAATAATTGT +CGGATCCGTCATATACTGCAATTACCATAACGTGTCTCGAAGAATTCGGT +CGAGATACGTTTCCGATTACCAATGCCAACTTTGTGCTTCCACCTCCAGC +GTCACCAACGACTCCAATCTTGATTACTCCTTTCGTGTATCCGTCGTCCA +CAAATTGATTTGAATTGCATAGAAGCTCTATTCGATAGGCTAAAACTTCT +GCAATTTTCATGCACTGCACAATGGTAATCACTTTTCCTTTATTGTCGAA +CGAAGTGGAAACTTTGAAACTGGAGATCATTGATAACTGGATTGACAAAT +CTCTTGTGTTCTTTACCGATGGAAGCAAATCATAGCCAATGGCATTAGTC +AAATAGTTTTTGATTTTTTCCATCTGACTTAGAGATAATCCGCATTTTGA +TAAAAAGTCAACGGCCTCAAAGTTTGAAAGCTTGTTTTTGTAGCTTTGAT +TCTCTTCTGAATTCAGGAATTTTGTGAATTTTCGAATAAATTGTCCGACG +TCATCCTCGAGGCAGATTTCGTGTTGAAGCAAGTGAAGAGCTTTGCGAAA +TCGATTTTTGATACAACTTTTGCTTCTTAGATTCGAAATATTAACTTTAA +AAGCTGATTTTTTAAGGTTTTCAACTTCTTCGGCGTGTCTTTGTAGACTC +AGAACCATAGCTTTGCCACTTTTCTTCACATCTGCACAGCTTCTCACCAA +TCGACCTTCTATACCACTGACGATCGTTCGTATATTGCATACTTCCATTT +GCAGCGAAGAATTAGATGCTCTTATAGTGATATTTTCATGGCGGACTATT +TGCATTTCTTCCGAAAACACCGCAAACTCATCAATCCGCTTTTGTATTTC +TTCTGATATTTCATTTTTTTCATTTTTCAGTCGTTCGATCGTTAGTCGGA +GCATTTTGATCTGCGGAATTTGCTCAACATTGGAGATTATTCGAACCCTC +GGTGTACTGAACGAGTTTCGTAAAGGTGTCGGTGGAAATACGGGATTGGA +GAATCTCAGCAAAATCATATAATATTAGTTTTGAAATATTGAAAAAAATT +ACATTGTGAGAAAAAGTCGGAATTTCGTCACTAAAATCCATTTCCACGTC +TCTCGTCAGAATTCCTTCATCCATATTGAAACAATTTGACGACCTGCATG +TAGTTGCGGAGCTACTGGAAGCAATGTCGGGATGGTGGGAGTTTCGATCT +TCTGAACTGATTTCCTGATTAGCCTGTGGCGACGAGCTGCACGTCTGAAA +ATCACGTTTTTGAAGTTAGAACAAACTACTCCAACTTAATTAAAGTTGAC +AAAATTGAGCTGAACGAACCTCCACTTTCGAATTGTTCAGTTCTTCCTCT +TCAGTTTGATCTTTTGAAACTCCATTAGCACTGTTCCTTGCTCTCTGGGC +ATTTGCTAAAAGAAGGCCTGCACAAGATTTTTCTTTTCTTTTTTGTTTGA +AGTATACTTTTGTCATCTGGAAATATTGCATGAATATTATAAGGGAAACA +ATTTTTAAATATCGATTTTCACGAAATTTGAAAAAATCAATAATTTGGGC +GCATGATATTGAGCTGAATGTTTCGAATTTAGAATCAGCATGCTTTTATT +CATATTTTAGGATCTTTTTAAAAAATCTGGACCAACAGTTTTTGAAAAAA +AAATACTTTTCGTTCAGAAATGTACTGATTTTCCACTGATTTTCACGAAA +TTTGAAAAAATCAATAATTTAGGCGCATGATATTGAGCTGAATGTTTTGA +ATTTAGAATCAGCATGCTTTTATTCATATTTTAGGATCTTTTTAAAAAAT +CTGGACCAACAGTTTTCGAAAAAATTCAATTTTTGTTCAGAAATGTGAAT +ATTCACTAAATCGAAAAAAATAATTGCAAAATCCGTCGGCTGAACATTCA +AAACTTATCAATTTGAAATCAGCATATTTCAGTGTATAATTAAAAAAGGT +TTCAAAAATTCTGAGACCAATTTTTGTTGAGAAAAATAATTTTTCGTTCG +AATTATCGATTTTTCACGAAATGCCAAAAACAGTAAACTTGGGCCCATGC +TAAAAGCCTGAATCTTTCAAATTAAAAACCAGCATGATTTTTTCTATATT +CTAAGACGTTTAAAAAAAATCTGGACCAACAGTTCTTGAGGAAAGTAATT +TTTTATACAAAAATGTGCTGATTTTTCACTAAATTCAAAAAAATAATCAA +GTTGGGCCCATGCTATACACCTAAATCATTAAAATTCAGAACCGCCATGT +ATGTATTTTTTCATACCATAGGCTCTTTAAAAAAAATCTGGACCAACAGT +TTTTGAGATATGTCAAAAAAAACAACTCACTTTTTGACGTTTTTCGCCTT +TTCGCGGATGATGCGGTCGATTTTTGCGGCGATTTGTGGTCTTTCGCTGA +AAATATTATTTTTATTTCAATTTTTAACGAAGAAAACAAGAAAAAACGAC +GAGAAAACATCAAAAAACACGAAAAAAACGTCGAAAAACTCCCGCAACCT +CATGAAAAAAAATAAAGCACTGCAGCCGCGGGACTAGTTTTCGCAACTTT +CTAGGCCATGTCCCGTTCGCCGTGCCGTGTCTTGTCGTGGTGGTGTGAAG +TGTGTTGGTGTGAAGCGTGTGAGTACGGTAGGCTGCTGCAGATGTGGTGT +GAGCTGTAAAAAATCGAAATAATTCAAGAATTACGACGATTTTCGTATTT +TGAGAAGAAGAAAATTTTAAATCACGAAAATTCGAGAGAAAAAATGATCA +AATTCAGTCTCAGAAGCGAAAAATGAACTTCTTTGTCTGGAAAACAGCGG +TTGCTCGTGAGAAAAAATGTTTAAAATTGAAGAAGATCAACAAAAACAAA +AAAAGACACGTAAATGCAACTTGTTTTTAAAGGTCGTGGCCGCGTCGCGG +TCGCGCCGCGTGCGCACTTTTGTAGAAGACTCCGCCCCCTTTTTTCTTGG +CGCCGTGCCAATTTTTAGAAGGAAGAGCGTTTTTGGTTGAAATAATCGAT +TTTCGACGAGAAAATAGACTAAATCAAGTATGGTGAATCTGATTAAAGGC +ATATTAACTTTGTAAACTGCACAATTAACTAGAAATCGTACTATAACCGA +ATATAGTCAAAGGGTCGCTCAGTTCCCCCGGTCTAGAGTCCCAGGTTCAT +CTTTCGAGCTGTTTCCTGAGAAATTGTACAGGATTTGTCTGAGTCGTGAA +CTGAACACGCTTTTCAGGTAAACGTCGTCTGGATGTCCTGGAAATCAAAT +GTTAGTCTTTGTATCGATGGAAAACATGGTTTTCTCAAGGAAATAGTCGG +AAAGTCGGTCGATGCACCATGTTGTGGCACCACGGAGTGGCGGAAGACCG +AACCCTTTAAGCCTCAAGAGGAACCGAGCAACGAAGACTATGTCAGAGGT +GCAGCATGGCATCGTCTATTTGTATATGTATTGGAAAGAACAGAACACAG +TTTTAATAAATATGTTTATTACTCCAAAGGGGAGATAATCAACAGAGGGG +AGTGGGTCGTACACAAGAGAGAGGGAATTGTCTGGTGTGAGAATATCACG +TCCTGCCACGCGGGTCTTTAGTCTGAAAAGGTCGAGTGTATGAATAGTCG +GGGTCTTTGCAGACTCGTAGAATAATGTCTTTGGTCAACTACACTTTCCA +AATAAAGGGAGGGAAAGGTAGGAAACGTCGGCAATTAGTCTGACTGGGAG +CTGTCAATAACGGGGGGGGGGGGGGGGGGGGAAGAGACCAGCAAAACCGA +ACCAAGAGTGGGGAGGAGAGTTCCTTTCCTGGTGCCACCGACGCTGCAGC +TCGCTCCGTATCGTCGCTCATTGAGTCGCCGCGCAGCCAATCGTTGCTAC +GGGGCGCGAGTGTAACTCTCGTTAGAGAGCGTGTGGGAGCAAGAGACGCA +GAAATACAGTAAACTTCTCCTAACTGTATGGTAAGCTTAAGAGCTGGTCT +TAAAAGGTCGAATTGAATGTACCCCTCGCTCGGAGAACTGCTGAAGCAGT +CGAGAGCGAGACATTGTGAAATGGGCGATACAGCAGAGCCCAGTTCACAA +CAATCAGACTAACTGGCACTTACGTATAAATAATATTATGGGTTTCGTCG +CTCCCCCTCCAAATGTTTTAAAAACGATTTAAAACATAATTTATACTGTT +TTTTTTTACTACTGACCAATGAAAGTTCATGGTTGATAACATAAATCCCC +ACATTTTCAGAAAAATGGATAAGCAGAAAAAAAGTTATTAATGAACTCAT +AATTTTCATCGAAATTAGCCAGCTTTAGTTTCGGTGTATTACCAGAAAAC +AAATTTAAGTGATCTTACTCTCAACTCCAACAGAGTATCTAATTGATTAG +ACACATTTTTTACAATCTTGCTGACAATTGTGCGATTTTTGAAGATTTTG +TCAATAAGCACGTGATCCTGAAAATAAAAAAGTGAGTAATTTTACGCTCG +CGAAATTGTGAGCCAGTGGCTGCCTAGATTTTCAATTTGTTACATTATTT +TGCAGCCATACGTGGACCATAATTCTGGCGACCACTTTACGGCATTATAA +TTTTTTGAACTGCAAACAAAACATGTAAATATACATATATGTATACTAGG +AATTCGCACTAAAGTAAATTATTGAAATTCGTCAACTTTTATTTTCATTT +CTTATATTTTGTCTAATTTTCAACGAATTATTGAAAATGAAAATTTTTAA +TTCACGTCAAAATTAGTGAACGCGGTGAACGGCGACGGCGAAGGCGGGCC +GGCGTGAGGCCGGCGTGAGGCCCGCGTTTCGCGCCTCACTTAGCTGGAAA +CCCTAAGTTTCTCCAATTAAATTACAGGTGATATACATTTTTCCTCTTTA +GGATAAGAAAAGATCATTTCCTAAGCCTGACAATACAAAAATGTGGTTCA +CGTTTTTATTTTTCATAACTTAAAAAAATACTATTAAAATGAGGGCATGT +AATACACAAATACCGGCAAACGGTGTTTCAAATCAAATATTGAAGAAAAA +ACAAACAAAATATGATGAATTCTCTTTGTTCTTACCAAAATCGAAACCAT +CATTTAAAATTTAGCAATTTTTTACAGTTATATTTGGTAATTACGGCCCA +TTTTCTATAATATAAAGAAACAATTGAAACTGATCCACCCTGTCCGCCGA +CTATTGGGCATCGACAGATGGTGTTCTCAAAATACCAAAAATGGGTGGAA +CTCTCTCACGAGCGCTCTGCAGGTGTCGTTTTCCTTTGCAAAGGACTGCC +CTTCCATTCATTTGTGTCTCTATACAACATCTCATCTGTCATGCAAACCG +ACATTCCCAACATACTCGAAATCCCAATTGATGTAAGTTCTTGTTTCTTA +AACTAAAATTAGCCAACTATTTTCTAGAAATATCAATCTAGACCGAAATA +CCTTTTACTCTTGAATGATATCAAAAGTTTAAAAATGTTTTATCTGGTAA +ATATATTATTCAGTCAATAATAACAGAGCAATAATTTCCTATTTGTAAGA +CGGTTTGCCAGCCCTACTGATGTAAGCTAAAGGTCCTACAAAAAATCCCT +GAATTTTGGGTCTCCTTTGCTAACTACAAATGGTAGGCAAAAGAACATAT +TTGTGTACAAAAAAGTATGCAAGCAAAAGAGACAGCGTAGGCAGGCAAAA +GATTCATAAAAGAGAGATAGCCCCCGCGGTCAAATCATTCTACTAGTGGC +TTGAAGCCTCTGTTGATGTGATAAAAGTAACATTTTATATAGCATTGTGT +TCGATTTTTCTAACAAATAAAATGCATATCATTACTTATACAGTGCGTGC +ATGTTCTTTATGCCACCCCCAAAGTTTTTAATCATGGCAGTTTCTGTGTA +ATTTGGTGAGCAAAAAGTATTGAAAACCTATTCACAATGAAAAACCTAAA +CTCAAGAAATGTTGTGATTATATCTCGAAAATTGTGAAAAATAAGACAAT +AAATCAAAAATTGGCCGTGCAACTTCTATATGCCACCTCGGATTTTTTTA +TGATTTCTTATGATTTTAGACTATTAACTTATTATTCAAATAAAATTCGA +TTCAATTCGTATACATTTCAGTGCTAAATAACTATTCCTGTAACTTCTCC +CAAAGACGATACGATGATCAAAATATGGGGATATGTTCTAGATACTAATT +AAACATAGTATGTGAATATTGGTTCACATTGGTGGATTTTTAGCGTCGCC +AGAGGGACATATTTGGTGTCCCCAGCCGTTTTTGGTGAAAACACTATTTC +TCTTTTTTTTCTCGGTGCCAATCAAGTTGAGAAATTTCAGGCATGCTCTC +GAACCTTCAGGAAAGATCGAATACTGCAGAAAACCTGTAGACTAGGAAAA +CAACTTGGAAGTTTCTTAAAAGTTTGGAATTTTACTAGAATTTTCTGAAA +AATTTCAGAAAAAAAGAGACTTTCAAGAAACTTCTGAAAACTTCGAGAAA +GTTCTGGAATGTTCCAGATTTTTCTAAAAAGTAACAAATTCCGTTCAGAA +CAATGTTTTGAATATATGCCAGAATCTTACTCAAGTAAAATAATTTTTTT +TAAATTCTGATACTCCAAAAATATTATGAAATTTCAAAAAAAATTAAATT +TAATAGACGTTTGCAATACTATTGAAGACCTGAAAAAATGTTAGAAATTT +AGAAATTGTTCATTTTGAAGTATTCGAAATACTGTTCGATTATTCATGAG +ACTGATAATGTTATCAGTTTTTTTTATTTGAAAGCTTTCTAAGAATTTCA +TATGATTAGAACATCGAAATAGTTTTACTTTAAAGAAAAAATTGCTCCTG +GAAAATTTTAACTGCTGAAAACTTGGTTACAGAAATTTTATGATGCTCAA +ACACTTCCTGGAAACTGAAAAAAAAAAACGTTTCATCTGCAAAGAAAAAC +TTAGAACAAATTTCAATAATTTACTTTAGTGCAAATTCCTAGTATACATA +TATGTATATTTACATGTTTTGTTTGCAGTTCAAAAAATTATAATGCCGTA +AAATGGTCGCCAGAATTATGGTCCACGTATGGCTGCAAAATAATGTAAAA +AATTGAAAATCTAGGCAGCCACTGGCTCACAATTTCGCGAGCGTAAAATT +ACTCACTTTTTTATTTTCAGGATCACGTGCTTATTGACAAAATCTTCAAA +AATCGCACAATTGTCAGCAAGATTGTAAAAAATGTGTCTAATCAATTAAA +TACTCTGTTGGAGTTGAGAGTAAGATCACTTAAATTTGTTTTCTGGTAAT +ACACCGAAACTAAAGCTGGCTAATTTCGATGAAAATTATGAGTTCATTAA +TAACTTTTTTTCTGCTTATCCATTTTTCTGAAAATGTGGGGATTTATGTT +ATCAACCATGAACTTTCATTGGTCAGTAGTAAAAAAAACAGTATAAATTA +TGTTTTAAATCGTTTTTAAAACATTTGGAGGGGGAGCGACGAAACCCATA +ATATTATTTATACGTAAGTGCCAGTTAGTCTGATGGCATTGATGAACTTT +TATCAAAAAAAATTAATAAAAATTTGCCGCTGCAAATAAACAAAAACTTA +GTTTTTCAAACAAAAAAAATCAATACAGCGGACTGATATCCCTAATTATA +GACAGGTATCAAAATTGTGTTCAATTTTACTTTAATTCGCTCTTTTTTCA +GCTGATAAATAAATTGTTCAGCGAAGAAGTTTTGCACAAAATTCGAAATG +AGCATCGAAAAATACAAATTCACAGTTTCAAGACTTGTAAAAATTGAAGA +AAAAGATCAATATTCATTAACAATCAAGTAGATCCTGAACTTCCGCTAAA +ACAGCCTCGTCGATGCACTTGCTCGTTTCTTATAAATGCACTGGAGATAA +ACAAGAACAAGGTGAAACACTTATTCGTGTAAGTTGAAATCAATTGTTCA +AAACCTGGTTTTTTTGCTCGCCGCTTCCTCTGTTAACTACCAAAAAATTC +AATTTTATTTTGATGTTGATAGAATTTTGACCGGTAAGGGAAATATTTCA +ACTTAAACCCGGACTTTCGAATGACCACTCTAAAAAAGAGCTAGCGGCAG +AGGATCAATTTGAGCTAGGGAAAAGTCGATCTGAGAAGTGTTTCAGACAA +TTTTTCATCAAAATAGGTGGTTCAGAACTTGCCTTTAAAAAGTGTTTTCT +GAGTCTGTTGAAGTTTTTTATGCTTTTTTGTGATCGTGGAAACAATATGA +GAAGTGGTGAAAATTTCAATCAATTAAACCAATTTTTAATGTTTTGTACT +CAGCTGTAACATTATTTTCAGATTTTTAAAAAATACGGTAAATGTGAAAG +TCTACAAGCTTTATGTCGAACCGATTAAGAAAAACGAAATTTCGTGCGGA +GTGGATGCTCGAATTATACTCAATGATCTCATACACGATTGCTTGATTGG +AGTAGATTGTAAGTCAATTTTTGACATGAGCGCCTGTTTTTCAGAATTCT +GAGTAAAATATATGGCTTTTGAACTACTGATTTGACATTCATGATTTTTA +GATGGACTCGTTGAAGAATATAAAAATGATTTTTGCTGTGGTTGTCAAAT +ATGTCGAGACATTCATAGAAATAAAAACTGTATAGTTCATAGTATTCAAC +TTCAATATTTTGGTGGAAATTCGATACCGCAGCAGTTTTTGAATTTGATG +TTGGAAAATTTTGGAGTTGATGAGCATGATCGATTTATGGACAGATTAAA +CGAACTATTCGGGAAATTCGCATATCTTCGATTGAGCAATTTTGGAATTG +ATGAGTTGCGAATATCGGGAGAAGAGCTATTTGGAGAATTAAAAATAATA +GAAATCATAAATCAAATCAGGATATCTCCACATCATTACAAAGCGCTGGA +AATGAAAGACTGGTGAGTGTAAATTGATACATTTGTAATGAACACCGTCG +AACAGATGTTTGAATCACTGCTTTAGTTTTTCTATTATAACAGTACACGT +ATTGTAACAGGTTCTCAAAAGAGTGAATTCTCGTGTTTTTCATACTTAGA +TAGTCTCTCCATTCCTTCACTTAAAGTTATCCCAAAAACAAACAGCCCAC +TGCGATCAATGTCATGGAAACTTTATTCTCGTTTTTTTCGTTCTTCTGAG +AGGAAATCGGAAAATCGAATAATTGGATATTGAAAAACGGAAAATTTCGG +TGTTTCAATTTTCCGGAAAACCAAAAATCGGATTGTTTAGAAAATTAACA +AAAAAATCAAATTTTGTTTTTGTTGATGAAAAACTCAGACACTCTTGACA +TGATATGCTCAGGAACATTATAAAGATTACATTTTACAGGTTGTTTTATC +GGACCATATACGAAAAGCAACTAGGGCGGTACGTAGTTGGTGCTCGAGCA +AATTATTTCCTCAATTCATTGGTAACATGCCACACATTCACCGTTTTAAT +ACTGGGAAAAGAGTTCCTTTCAATCCCAAGAGACTTTTTATACCAGCTTA +TTTCAAAGTGGAATGTTAAGGATTTCAGACTGGAGTTCCGGTTCGAAGCT +TACAGTGGTCATTTTAATACTATGTTTAGTTCAAATATGGATTTCATTTT +GGAAACGTCTAAAGACTTTTCAAATGCCGTATTCAATGTACCATTCAACA +CCCAACCCGTTTCGAGGGTTCTTCTGGAAAAAGTGGAGATCGATTTACAA +TACTCTGAGGATATGTTACTCGAAATGAACGAACAACTGGAAAACGACTA +TTATTCACCAATGGACAATGTGATTGCAAATGTTCAACGAAACTTCCCAG +CCAAGAGTATGACTGTTCTACTTCCTAAAACGTATCTCCTCATTACTCCG +GACAATATGGACAGAGTCACAGCAAAGCTAATCCGATTGACTGAACAAAA +CAGCCAGAGAAATGGAAGTGTCACATTCAACTTATACTATCAGCATGACA +AAGGAGAAAAACATATTCCAGAGGATATCCCAGACATTTTCAATTCAAGA +GCACGTCTTGTAGGTGAAAAACCAGTAGATTGTTGGTATCTCGATGATAT +TTTAAATATCCCCAAAGAAAATTTCAAGGATGGATTTGGAGAAGTGACTG +TCTGGTATGGAAAAAGCTTTCAAATAAGAAATTCCACAGAAAATCGAAGA +ATGAATTTTAATATATTCTATACCAAAAGCTATCTGAAAAAGTTCTTCAA +TGAGAGACATAGTAGATGGGTGAAAACTGGATTTTTATTGCATTTCATGG +ATCTTATTAATTGATTTTATGTGTATTTCTGTTACTACTAATAAAGCAAA +TACTCTGTCCGTCCAAACCATGTAGCCTGTAGACCTCGGACAAGAGTTGG +GCGCTGCCTAAAAAATGAAAAAAGTCGTCAACTACCTCGTCGTCTCGAGG +CGTCGCCGAAGTCTTACCTGCTGAGCCATGATGGTCGCGCGGAAAGATGC +ACACTAGTAATAACATATCGTACTCATATTCTGATAGTTTTTTTTGGGGA +AGTGTCAGACGTATCTGATTGATACGGTATTCTCACATACCTTATTTCAT +TCGTTTTCAAGTGTGCTCACTAAGGATTCTAATAGTAAGTTCAGAATTTA +CAGAATTACTGTAATTCAAGTTTGTTTCATGTCTTTCAATAACAGACAAT +TTTATAAAATTTTGCATTTCAAAGGAACAGTTCAGTCTTAGAAAAATTCA +AAATTTGATCCATGGGATTGACTGACTATTGTTTGTATACCAGCCGTTCG +CACAATGCGAGTGCTCCGACTGGCGTACTCGAAATTAAGATGAAATTCTA +AAATTTCTAAGCCTTGGAACGTTTTTCTCAGTCTTCCAGAAGTTTTTAAA +GCAACATGAATATTATATAACTAAGTTTTCAAAAGTTACAGATGTTTTCG +GCCGAAATTAGACTATTTTGCAATATTTTGCGACTTTTTGCTGAAAAATG +GTACCCATCAGAGATGTGCGGCATGTGCCGAACGGCATGTGCCGATGTGC +CGAAAATTATTCCACTCGGCACATCGGCATGTGCCGACCTTTTTTGTCGG +CACATTTCGGCACATTTCGGCATATTCGGCACTGTCTGGAATATGTACCA +AAATTTATTTTTTAATTTTAAAAATGCAAAGAAACTTCAAAAAATTGATT +AAAATTTTCGGAATTTATCATTTCAACTTATAGTTTACTAACTTCAATAT +TAAGACAAATGCACTGCATTTTTTATGGGGTTATCCAACTGAATGTTCCC +GCTTTTTCCTCCTGTTTCCCCCCTCTAGTCGCGATCCAACTGGGAGGAAA +AATGCATTTTCCCCTCGTTTTCGCATTTTTTAGCTGCGAAATTTCAGAAC +TGAGCTTAGGGTGGGCATTTATAGACTTTTTTTAATTTTTTTTGACCAGA +AAAAGTTAAATTTTTATAGTTATTTTACCAATTGGACCTTAAATTTGAGC +TATGATATCTTTGTGGTAAGCCAGAGTCATGGTGAGTGATCAACTACAGA +GTTGTAGCAAATTTTCTGTTTAAAATTTTGTTAGTTGATCAATTCTTGGT +ATCATAGATTTTCACAGACTAACATAGCTGTGAAACTGGACAATTTCTTA +ATGTAAATTGCGTACACGAGATTTCTCTATTTTCCGCGTGGAGTACTAAT +ACCAAAAATTGATCAACTAACAAAATTTTAAACAGAAACCTTGCTACAAC +TCTGTAGTTGATCACTTACCATGACTGTGGCTCACCACAAAGATATCATA +GCTCAAAGTTAAGGTCCAATTCATTTTAAAAAAAACTATAAAAATTTAAC +TATTTCTGGTCAAAGAAAGCTGGAACCGCATTAAAAATTATGTTATTTTA +GTATTTCAACAAATGTCTAACTGTGAAAATTAAAAGTAAGTTTGAAAAAA +TTTCTTTAAAACATTTTTTGATAATTTTTTCATGTCCTGTGCAGATTTCA +AATTTTGAAACAATACTTTTAATTCTCATATATCTCCGTTGAAAAATTTT +TTATGACAAAGTGATCAATTACAAAGTTGTACTTTGGATTAAGAAAAAAA +AACTTTGTAGTTGATCACTTTGTCATATAAATTTTTTCCACGGAGATATA +CGCATCCGAAGTGAATGAGTTTTCACTATCAATTCTACTAAACCCTATGT +TTTTGTCTGAAATCGTGTTCAGAACATCCAAACTGAAAAAAACAACAAAC +ATTGCAAGTAATTTTTTGTTATTTATTTAAATTGATGAACTTTTTGTTTT +TTTTAAGAAGCTATATAGTATCTTTGCAAATGTGCCGAATGTGCCGATTT +TTTTAGGTTCGGCATGTACCGAGTGCCGAGAAAAAATTAATTCGGCACAT +CGGCATGTGCCGATGTGCCGAAATTTCAACAAGTGCCGCACATCTCTGGT +ACCCATCGTCTCGTCACGACAAATTTTTGTTAAATTCGAGTATGTGTGCG +CCTTTAAAGAGTACTGTAATTTGAAACTTTCGTTCCTATGGAATTTTCTT +TGACTTTTCACTTTTTCCTCTGGTTTTTATCCAATATTCATAGAAAAAAA +GAGAAAATTTTTCTAAAAATCGAAAGTTTGAAGTTACAGTACTCCTTAAA +GGCGCATAACGTTTCGGAATAAACAAAAATTTGTCGTGGCGAGACCTGAG +TATTATTACAGGAACGCAAAATTCGGAGAATGCGTTTTACACAACATATT +TGACGCGCAAAATATCTCGTAGCGAAAACTACAGTCATTTTTTAAATGAC +TACTGTAGCACTGGTGTCGATTTACGGGCTAGATTTTTATTAATTTCTGA +AAATTGAGCACCCGTAAATCGACACTACTGTAGTTATTTGAACAGGATTA +CTGTAGTTTTTCGCTACGAGATAATTTGCGCGTCAGATATTTTGTGCAAT +ACGCATTATAAGGGACAAGTTCTCCAGTGAATTCTTCCAATTACATTGAA +ATCCTTCTATTTTGAATACAAATTACTCAAAAGACAAAGTGTCGATTTAG +CCTAAACATTGCGCATGCGTAATTTCTGAATCTTGTTCGTTCTTTACATC +TGCACACTTGGGTAAGAAGTTGGGCAGCCTATGTTTTAGAGGGAAGTCAA +CAATGTTATTTTCGCACTTGTGGCAACAGAGTTGAAACTACGGTACTGTA +TATGGGTACACCTTTTAAAATTTTAAACAAAAATTTGTCTTGTTGAGACC +GGAGCACATAGATATTCTCAGTGTGTATTTGTCTAAAAACCTGCCAATAT +TTGAAAATCTTTCAAAACTTCAATATTTTGCTCCAAAAATTAAATTTTTC +AAATAATCTACAAAAAGAATCCAATTTGACTGAAAACCTGCTAATATTTA +AAAATCTTTCAAATGTATAATTTTTTTGCTCCAAAAACTGATTTTTTTCA +AATAATCACAATTTCAATTTTAATTTCGATAAAGATACACAAAAAAAAAG +AATAGCATTTAAGGATTTCCTTGTTAAGCTTCAACAGCGTAAGGGAAGGC +CTCGTTGGCAATCATCATGCGTGTAAGTTCGGCGGCGCTGAAAATAAATT +TTTGATGTTTAGCTTGCATGGTATGTATTACTGATCCCTCAACTCCGCCA +TGGTCCGACCCTGACGAAGTGGTATCTCTCCAGCATGGTGAACTCTGACG +TGATTCCAGTGCACAAGCCTTGTTGCAGTATACGACAGCCCACAGATACC +GCAGTAATACGGATAGGGAAGGGTATGCAGATGGTAGACGTGGCGAGCCC +TGAATGTTGAAACTGACTTTTTGAAATGACTGGAAAAATAATTACAAGTC +AACTTGCTGTCCGAAATTCATCATTACAAATGGAGCATTGGAATTGTTGA +GCATCAGGAGATTCCGAATTCCGATGGGTATCTTGAGGCTCTTCCATTTC +CTGAAAATTGTAATTTTAGACTTTTTAGATAATATTCACAAAATCTGTTT +AGGAAAAATTAACTACTAAAGTTACAGTAAGAATTTTGCTCTGAATTTGC +TCATAAAGGAAATTTTTTTAAGCTTGCACCCTGATTTGTTTAAATTCTTC +AATCTTTGGATTCCTCGCAAAAAATTCAATTCAGTCTCCTGGGCGTCGAA +TTGCGATGGAGCGCGCTTGCCGTGCGTTGGCGCAGCCACGGTGGTTCAGT +TGTAAGATGGGTGCAAACGCGCTCCACAGAGTTTTCGATCCCCAGGAGAC +TGTGTCCAAGTAAACTGAGTGGTAGCTTTTTTGTTCAAAAAATGTGCCCC +GCCCATTGGAAAAGCATGACCTTGTAATCGAAAATCCTTCAAATACGATT +TCTATTCAAATTTACGAAACTGAAAAAAAATTAATTTTACGAACACTTTG +ACGTCCATTCGGTGAGATTCTTTCAGGTGTGAATCGTTTTCTCTTGTTAC +GAGCATCATTTGGCTCCGGCACCGCCATCTGACCGGCCTAAAATAAGAAT +GTTTAAAAAAATATGCATTTAGGAAGTTTAATATTCAAAACAGAAGAGAC +ACATTCCATATGAAAACAACTTACATTCTGAACGTTTCCAACGTCCGCCG +ATTCCTTTACACCGTATCGATCGATTAAAAAATCGATCAGCTGACCGTTG +AGCAGTACATCCTGGAGCGAGATGGTGATCGGAGCCACCGGTGGTGCAGT +CTCATCGTCTGAAGATCCAGATCCGAAGGCATAGCTGTCCGAGTGGATGG +TGTTGGAGTGGTCGAATTTCTGAAAATTGACCAATTTTTGATTTTTTAGA +CTTGAAAAGGCCTAAAAAGGACAAAACGAGCCCCAAAAATTTGAACAAAA +GGGTTGAAATTTCATATTTTGTTAATTTTTCTGTGTCACAATTTTGATTT +TCAATCTATCGATATTTTGAATAAATTTCAATTTTTTCGGGAAAATATTG +CAAAATTTAGTCATTTTTCCTCAAAATAAACCAAAATTTGATTTTAAAAG +TTTGGAGAATGAATTGTTGAACTTGGAAACACCAAAATTAGCTCTAAAAT +TTCGAAAAAATGGGTAATTTCAACTTTCCGTATCTTTTCAGTTTGTCGGA +ATTTTTAAAAAATTTTATTACAGAAAACCACCAATAATTAAAATCTTGAC +TTTTTTTTTAACCCTAAAAGATTTTTTTCGAGAAAATATCTTAAAATTTA +GTCATTTTTCTTCTTTTTAGGAGCTATTTTTATGTTTTTTACTTTTTGTT +CCGTCAAAAACAATTTTAATTGTAAAGGTTTTTTTACGATTTTTCCAGAA +AAACCGGTAAATGACACTATTACGGGAACAAAAAATTTGGAAAATGCGTA +CTGCACAACATATCTGACGCACAAAATATCTTGTAGCGAAAACTACAGTA +ATCCTTTTCAAATGGCTACTGTAGTGTCGAATTACGGGGCTCGATGTTCA +GAAATTAATTTTTTAATCGAGCCCCGTAAATCGACACTACAGTAGCCATT +TGAAAAGTATTACTGTAGTTTTCGCTACGAGACCCTATTTTGCGCGTCGA +ATATGTTGTACAGTACGCATTTTCAGAATTTTGTGTTCCTGTAATAATAC +TAAGATCTCGCCACGACAAAGCGAAAAATTTTTATCGATTTTTCAGCAAT +TTTTCTCTTGTTTTCATAAAAATTGGGCAAAAACCGGAGGAAAAAAGTGA +CGAATTAATAAAAATTCCATGGCAACGAAAGTTTGAAGCTACAGTACTCT +TTAAAGAAGTGCACCTTTTTGGATTAACAAAATTTTGTCGTGACGAGACC +CTGGATACCATTTTTCCGGCGGAAAAGTCGCAAAATTAGCGATTTTGGGA +ATTTTTCGCGGCGAGACAACTGCACAACTCGACATGCGAGTTTATCCTTG +CAGATGGCCAAAAGCCCTCCGTCGATCATTTGACGAAGCAATTCCCTGGT +GTTGCGAGCTCGACGAGCTTCTGAACGATGAAATTGCCATTTCGACTGTG +GCAGAGCCCCACGAAGAGCGTCGTGGATTTGGTGAGCTTCTCGAACACGG +CTTTACGAATCTGATCTTCGGAATTTAGTGGATAGTTGGCCTCCAAGAAC +CTTACCCCCGATGGATAGATTGCGAAATCGATGAGCTGCCCGTTGAGCAG +CACATCTTCGAGCGAAATGAAAATCGGAGCCACTGGTGGTGGGGTCTCAT +CGTCGGATGATCCCGATCCACTGTTGAGGATAAAGCTGTCCGAGTCGGAG +GAGGTGGTGTTGCTTCCGTGGCGGTAGGGGAGAAGCTTGACCGGCGGCTT +TGGATTCTGGAAATTCGAATTTTAAACTTTTATTATATTTTTATTTAAAT +TAGAAATTTTTATGCAATATTTTACCTTGTTCTTGTGAGTTTTTTTCGAC +AAAAGCGAGAAATCCGGGTCGAAATCGAACGACGCGCCGAGCATGTTGTA +CGAATCCGTGCTTTTACGATTCGGAGTCATTTAGACAGAAAAATGAATGA +ATATAGGTTAGTAGACGCTGAAAAATTGGGAATTTTGGATTTTTTAACGG +AAAAACGAGTGAAAATGAGAGAAAAACATGTAAATTTCAACGAAAATCGC +GAAATTACCGCGCATCGAAATTCAAAATTGAATTTTTCGCGGTGGCCCGG +GTTACGGTGATTTTTAAAGGCGCATGGTTGTTTTGAGTGAGGTATTGACG +CGAAATTTAAAATTATTGAATATTTTTTTCTTATTTTTACATTTTTGAAG +AAAAAAATGATTAAAATTCGATTTTTTAGGGAAAATTAAACATTTTCACA +AAAATTGCAGGAAATCACTCGCCAAAATTCAAAAATGAAGAGTTTCGTGG +TGCGCCGGGTTACGGTGGATTTTAAAGGCGCATGGCTGTTTTGTATTAGG +TCTCACCACGAAACTTGGAGTTTTTGATAGTTTACTTCCTATTAGGGATT +TATTTTTTTAATTTTCGCTCGATTTTCACACATTTTCACTCATATTCACT +CAATTTTTTGCAGAAAAAATGTCAATGGACATTGTTATGAAGTCAGATGA +GCAGCCGTTCATCTCTGCGCCTGTATGCTTTAAGTAAGCTCCAATTTTTG +TTATTCTGGCCTAAAATTATTTTTTTGATTTCCAGAACGTTCGCATTTTT +CGCCAAAGCATCCGCAGAGGAATGCAAACTTCTAGCTTCGGGCTCCAACG +CTCGAGAAAGTTTCCAGCAGGCCACGGGGCTATCGGAGAAGATCACGGAA +GACATTTACCGCCAAATTGAGTAGGTTTTTCGATTTTTTTACCCTTAAAA +ACTACTATTTTTCTATTTTCCAGCGTCTCCCACATTTCATCGATGGTCTT +CAACAGAGAAATGGACGGTGGCATCGAGAGAAATCGGCTCGGCTCGCAAG +CGATTCTGCTCGACGAGAACTCCAGGCGCCGCAATCCACAGTTCAAATCG +ATCGCGCTCCGCTCTCTCCGCTACGATCACATCGATCATAGAGCGTTGGC +AAGGAAATCGCCTCATCTGATGCCTCCGACTTATATCAAAGAGGAAATTA +TGGATGATGAGCTCGACGAGGTGAAGGAAGAAGTGGTTTCCGTTGGAGAA +GCCGCCTTGCCCACGCCAAAAGTTGAACTGAACATGGACCATCCGGAAAA +GGACCTGATCATCAGCATTTCCGTGTATCTCGGCTACACCCGTACCCTTC +AATACCACGAGATTCGTCTCGGACGTTTGATGAAGGTCACGGATCGGCTC +GAGCTCACCGGAGATCACACGCTTCGCGATCTGAAAAACGCGTTCTCGTG +CCCCATCGATTTCTCGTTTTCCGACGATTTTAGCGAGAAAAAGCCGTCGT +TCAAGGATATGGCGAAAAATAAGTGGCCGTCGTCGATGTTCTTCATTCAT +GACACGTTTTATATCGACTCGAACACTGGCGACAAGTTTGTGGATCCGTC +GATGTGAGCAAGGGTGCCGGCTAAAAGTTTTTCAGTGTTTTTTGAGCGAA +AAGGAACAATTTTTTTCTGAAAATTATTGATTTTTCGTTAGTCTTCAGAA +AAAATGATTTTTTACGCCGCAAAATCGGGAAAAAACAAAAGAAAACTGAA +AATTAAGACATTTTCGTTGATAAAAACGAATTTTTTGGTTTTTTTTTTCA +GAAATATATTATTTTTTGCTTTATTTCAACAAAAAAAACCCAAATTTTCA +GCACAATCCGAAGTTGGGCCAAAAAGTTCGACTACATCGGTCCGATGCAC +GTGAAACAGATGTCGGAGACGAGGATCGGGGATCTCATTTGTCGGCTCGG +TCAGCCATACGTCTACATTCATCAAGGCGTCTGCGAGCACCTCATCGTCT +TCAATGACTTGTGCCTGAGGTACGGAAATTCTGGAAAAATCGAAAATTTT +GATTTAAAAAAACTCAAATATTTATGTGTTCTTTTTTTTACTAAAAATTT +TTTTCAAATTGTTTATGAAAAAAACACTAAAAAATAAGTTTTTATCAATT +ATTTAAACAAAATTTATATTTTCCGATTATCAAAATTGTTTTTTTTTTTC +AAATAAAATACCCCGAAAAATATATATTTTTTAATTTTTTTTTTCTATTT +TTTGCAGAGATGAATCCCACACAAACGTCGAATTTCCACGCCGCCTCGTC +GAACGGAATTTCAGAAGAATTGCATGTGACACGTGCAAGGAGGCGTCGGC +GCAGTGAGTAGTAGCATTTAGAAATTCGGAATTTTTTGTGAAACCCCCGA +AAAATATAGTTTTTATCGGAGTTCGAATTTTCGAAAAAAAAATCCAAAGA +GAATCGATTAAGGCAAAAATCATCAATTGAATCCAATTTTTTCAGCTGGA +TGATCGTCGACCACGACAATCTGCTTCCCAACTCGCCAGGCTATCTGTGC +TCTTCGTGCTACAAGGAGTTCTGTTTCGACGTGAACGGCAAAAAAGTGTG +CCAGTTTAAGGCCGTACCGTATTGCGATCGAAAGGACATTGGCGACGGAC +GCCAGTTCTTCACCGAGCTCGATCTTTAGAGAACGAGATTTAAAAGTCTG +TATCATTTTTTGTTGTTTTTTTTTAAATGTTTTTCGATTTGATTGTTTAA +TTACCGATTTTTGGCCTGTAACTATATTTGTTGAAATTTCAAATTTCTTT +TTTTTTAAATAAAATTTTTGTTTGCAAAAAAATTTATCCAATAAATAAAC +GGAATATATCGATGATATGGCAAGTAGGGGGAAACGGACGGGAAAATGAT +TATTTACAGAAAGGGCGCGCACCAGAGGTTTCTCGGGGGAGCCCCGAGGC +GGGTGGCGGAGCTTGGCTCAAAATCTGTCGGAAAAATGGGTTAAATGAGA +GAAGAGGTAACCTAGAAAATGAGATGAGAAATTCGGAAGAATTTTGAACA +ATTTGAAAAATCGATAATGTTGAATTTTAAAATTAAATTTTATTGATTTT +TTGAAAATCGATTATATTGTTGATTATTGATTAAAAATCACTAGAATCAA +TAAATCTGATTTGGAAAAATCAAAAAAATCGATTTTTTATAATCATAAAA +ATCAATTTTTAAAATCCAAAAAAATCGATATTTAAGAAATTGAAAAAAAA +TCGATAAATCAATACATAGGTGAGCTCGTCTCGTCGATTTGTGTTTTTGT +GATTGGTCCCGGCTGCTTTTGAGATGGTCTAGGCGTTGTTCCGTATGACA +TTCTGGAAATTTTTTTGTGAGGCAATGACACGCCCACAAAATGGACGGTG +GCAGAAATTTAATAATTTTAAATAATTTTCTGGATAAAAAAATCGATTTT +TCCACTTTTTCGAGTGAATCGAAAATTTAAAAAAAACATTCAAAATTGTT +CAGGGTCTCGCCACGAAAAACTCACAAATGCACGTTATGCGGAGCGTCGT +CGGATTCCGGTGTGTTGCTACGGATCGTGTCGTCCATGCTCAGCTTCATC +GTCGATTGACGTCGCCGTTTTGTGGTGATCTGAGCGAGATTTATTGATTT +TTAAAGACGCATGGCCTAGAAAACACAACACTTCGGCCACGGACTTTGGC +GGCCGAGTTTTCTAGGCCATGCTGCGGCATTTAAAGGCACATACCATGAT +AATGAAGATCGCCAATCCGAAAATGATGACCAATGCGAAAGTGATGATTA +CAATCATCAGCGATGATAAGGAATATGATGAAGTTTGCGTGGAAATAGAA +TCGATGTACGCTTGTGACGTCATTCCTGGAAATTATTGATTTTTTTGGAA +AAAATCAATAATTACTTACCGTCAACAGTAACACTCAACGAATCAATCTT +GTAATCCGAAATCATAGAGTTATTGCGTGAAAATGCGGCTTCGAACCTGA +AATGTTAAAAAAATCAATTATCGATTTTTTTGAAAGTTTTTGAAAGTTTT +TGAAAAATTGATACAATTAACTTGATATTCCCCCGGAAAACCTATAAATC +AATGAAAAAGTTAATATCTAAATTTTTTCCAAAAATTGAACTAAAGTCGA +TTATCGATTATCGATTTTACTAATCATTTTTCAAAAATCTATCATATAGA +CGATTCCTACGGAAACCCCGAACAAATCAAAAATCGATAAAATTGACTAT +CGATATTTTTTTCTAAATTTTACTTTTTTCGATAAAAGTCGATAGCGTTG +ATAATCGATTTTTTAGAGTTTTCCTCAAAAAATGGTAATAAAATATTTCT +AATCGGTAAGAACTCACAAATTAACAGCCATTTGAGCATCACCAAGTGAT +TTTTTGGTGAGCACGTCGGCTCCGACAACCACTGATCCTTTGGTCAGTGA +CTTGATTTCAACATTCACAAAATTGTCGTCTCCCGAAATGGAATTGATGA +ATTCTCCGATCTGGAAAAAAATCAATAATTGTTTAAAATTGATTTTTTTC +AGATCATTTTTAAAATAACTAGTCTAAATCTATATTGAAGTCTAACTCAA +AATTTTCCACAAAGGCTTACTATTAGGCTTAGGCTTAGGCTTAGGCTTAA +GCTCAGGCTTAGGCTTAGGCCACGCGAGATGAAAACAAAAGAGAAAATTT +AGTGAAAACAAGAAAAATTTCTTTTAAAAAAAAGAAAAAAAAAAAAAAAA +AAGAGCAACAGCCATGCAATTCTTAAATATAACAGGTTCAACTACTATCT +TCAAAAATCAGTTTAATATCGATTTTTCCCAAATGTCAATAATCCATTAT +CCATTTTTGACTCACCGCTGGCACCAAATCTTTCGCTAATCTCTTCGCAG +GGCCACTCTGAATATCGTTGAATTCCTCTACAAATTCCAGTGAAATAATA +CGAAAAACTATTGGTGTTCGAATGGATTTAGCCGGAAGGAATACTTTCGA +TGAGTTTTGAAGTGCCACCGGCACAGTTGAAATATCTTCAAAAGTCGTGG +ATTCCTCTGATGAGGTGGAGGTGGTCTCTTCGGAGGAGGTAGTGACGTCA +GTGGAGAGGGTTGATGGCTCGGTTTCGGCCATGGTTGTGTCCATTGTGGT +TTCCATAGTTTTTGTAGTTTCCATTGTTGAAGAGGATTTCATTCTGAAAA +TTTTGAAGTTTTGAATTTTTTCCTGCAATATATGAACACTTCCGAACCAG +CAAAACTCACTAGGTAGTGTTTTAACTATACGGTGCGATCGAGTAAAAGT +GTCATGCGATAGCTGGCATCTTAGGCTTTCAGAATCTGTAATTTGTTCCG +GCGGAAGACCTCTGTGAGTCTGGAAATTTTCATCTGAAAATTTAGTACTG +AAATCTGCATTTCCTATGGTTAACAGTGGATTTTTGTCTCTGGCGCCAAC +AGAAGTCTCACCACAATGGTGGAAGGGCGAAAACATCGCTTCGAAGCTGT +TAACCATAGGAAATGCACTGATTTCAGTACTAAATTTTCAGATGAAAATT +TCCAGACTCACAGAGGTCTTCCGCCGGAACAAATTACAGATTCTGAAAGC +CTAAGATGCCAGCTATCGCATGACACGTTTACTTTTACTCGATCGCACCG +TATAGTTAAAACACTCCCTAGTCAGATATGTGCTCTACACTTTTAAATTT +TGCAATCAAAATACTTGAATATAAAATTAAGAGATTTTTGAATTTACTAG +GCCACCTCGAAAATTTCTAGGCCACGGCAGGTTGGTAGGGTGAAGCTGCA +GACCCCATAAAGCTGTGAGAACGGTTTTTTTGCAAATTTTTTAAAACAAA +CATTTGTGAAGAATCTGAATATTATCAGAACAAAAAATAATTTCGACAAA +AAATAATAAATTTTTTTATCAATATTCAAAATTTTTAACTTCCGAAAAAA +CTCAAAAAAAAACTCACCCAGTCGTAGTGCTCTCGACCATCTGCTTCGTA +GTTTTCGGGATATTCGACAAAATCTTTGGCTCTTCCTCAGACATTTTCAG +AATTGGGAATGCGGGGCTCTGATCTGTGCTCAATGAGCTATCAATAACAC +TTCCATCCTGCTCAAAAAGTCCTTCCAGTGCACTTTGATCAAATGGTGTT +TCTCCGTCATCTCCAGCTTCTGATGGGTCACTTACTGCGACGGTGGATTG +GGTTGTGGTCACTGTAAAATTGGAAATTTGGAAGAGAAAAACCTCGGCCA +TTGGTGACGTCATACTTTTCGCCACTTCTTCGACCAGCTATAATGCCACG +CTTTTAGCAAGTTTTATTTTTGGTAAACCAAAGAGCAACCAATTTTAAAA +CTGTGTCTCCAGGTTTACCGCCAACTTAAGGGCGTGTCCGTACAGGGTTT +GCCCGTTTTATGGGCGTCGCTTAATAAATCATTTTTCAAGTTTTCAGTTT +CGTGGAAAATTAGCATCCGGGAAATTGAGTCATAAGTATGACGTCAGCAG +CCGCGCGGCTTCCCATGACGTCACTCCATGCGCTCCCCCGACGTCCCTCT +AAGACGTCACCACCTCTCACCTGGTTTAGTGGGTCGTGTCATCTCCTTCT +CTTTCAAAACTCGTCTATCAGCGACCTCGTCAACCTCAATCGGAAGGGAG +CTGAACGTAATCACCTCCAAGGGAGTGGTTGGCATCATTTCAGTCGTATT +TTCAGCGGCGAGAGTTGTTTTCTCAGTGGATTCATCCTGATCCTCCATAC +TATCATCTTCGATTGTTGCCTGGGAGAAGTTGAACATACCGCCGTCAAGC +GGAGTTATTGGGGAGAAGACGGACGTTTTCTGGATTGGGTTCACTTCTAG +GGAGGTGTCGTTCGGCGAGAGTTCGATCATTTCTGTACTTGTCTCGAAGG +TATCTGATCTGAAAGTTATGACATTTTTTTGGTGGTGGCCTGGGAGAAAA +CTAGGCCTCCTGGCCTAGAAATCTCAAACCTCGGCCTCCAGCTCTCACTA +GCTGACCTAGGTTTACTAAACATCGGCAAGACCTCTTTTCGACTACTCCC +TTACAAATTTTTAACAGTTTTTCATCACACAATTTTCCGATTCTTACCCC +TCATTCATCATTTCTTCTTTCGGAACAGCCATCATCGGCATATCATCATT +ATCAGGCATTACGGGTGTCGTTGTGTCTTTTGCCAGCGGTTTGTCGAACA +CATCTTCAGAATTTTCGTCTTGCGCGAAGGAAACTGAAAAAGTTAAATTA +CATTTTTTCTAGGCCACCAGGTTTTGCATTTTGGCCTAGAAAATGAAATG +AGAAGCTAGACCATGTGGGTTTATTGCGAGGAAAAGCTATCCCACGAAAA +CTTTTATAAGCGTCTAGAAAAGTAGAAACCTCGGCCACCAAGTTTTGCAC +TGTGACCTAAACAATTTTGGTAAAATAGGCCAGCAAAATTTCCATGATGG +CCTCAGGAAAACTAGGCCATTAAGGTTTCTTCCGTTACCTAGAAATTTTG +TAAACCTAGGTCACCAGGGTTTCTAGGCCACACAAGAAAAGCTAAAAACC +AACATTTCAGATCGGTCTGGAAAAGTGCAAAATTAAGCCACCAGGATTTG +CATGGTGGTAAAAAATTGGTAAACGTGAACTAGAAGTTTATCGGTCATCA +ACTTACGTGTCGTTGAAAATGCAATGAATAGAATAAAACCAAATGGTATG +CGCATCGCTGAAAAATTGCAAAAATTAATTTATGTTTTGGAAAATCAGAA +ATCGGAGTGTTCATTTTTTATGGGACAAGATAAAAAGAGATGGAGAAAAT +TTATATGATATATCAGGTCAAAATGACCTTCGGAAATTGGGAATGAAAAA +TCAAAATTAATTCGCGTGGAACTGGTTAAGATGATCGAAGATTGAAAAAT +TTGACAGAAATTGCAACAATACTAATGCAAAAAGTTGGTAAAATATTTTT +TTCAGTTTTCAGAAAAATCGATAGCAAAAGTCTTTTTTTTTAAATAAAAA +TTTCTGAAATATTTTCGCTGCGAGACCTAAGGTGACAAATTGGATTAAAA +ATTTTATGTGCCCATTAAGAGTTTTTCTGGAAACTGAAGAGAAAGTCGAA +AAATTAATATACCCTACTTAAATTTAAAGGCGCACGGATGAATTTCCAGA +AAACTAAAAAAAAACATCACAAAATTTGATACTCCAAGTTTAAAGATGCA +TGGGTAATCTTTGAATGAGAATTTTGTTTTAAATTTTTGAACTGCCATTT +CAGATATTATGAGAACACAAAATTCTAATAATGCGTATTGCGCAACATAT +TTTGCGCTCAAAATATCTCGTAGCGAAAACTACAGTAATTCTTTAAATAA +CTACTGTAACGCTTGTGTCGATTTACGCGCATCAAAATGAATTAAGATCA +TACATTTACCGACAAAATATTAAAATTAGGCAAAAAATAATACGAATAAT +GCATTTCGTAAATCGAGCACGTAAATCGACACAAGCGCTACAGTAGTCAT +CAAGAAAAATTACTGTACTTCTCGTTACGAGATATTTTGCGCATAAAATA +TGCTGCGCATTACGCATTCTCAGAATTTTGTGCGCCCGTAATAACCATTT +GTTAAATGCTTAAAAAATTCAGATTTTATTGAAAAAAATTTTTGAGCAAA +ATTTTTCGAAAAATAAATTTCGGCAATAAAATATTATTTTTCCATCGAAA +AAGTATCGTATGGTGTGCTTGACATAATCTTGGTAAAAAGTGGCATATTT +TGAAAACAAAAGGGGTTACCCCCTTCCTTCAGCCCGCCCGCCCGGGAAGC +CTGGGCATGCGCGCAAGTGATTGTTTTGTCTGTTGTTGCTTATGTATATG +CTTATTATTTACACATTTGTGTGTGTGTGAGTGACTACACTGCACACCTC +TTGAAACGGATTATCCGGCCGTGGTCGAGGAGGGCCGCCGAATTATGCAC +ATTCCTATGCTATGTATTGTGAATACTTCATTTCAATAACTTTATATATA +TACAGTTAGCACATACGATTTTTGAAAATTGGGGTTGTGGAAGAGTTTTC +ACACAAGTGGCCTAAAGTTTTTGAGTTTACTTTAATACTTCTAAATCACG +TGGTGTCAGGCGGTCTCAATACAATTTGATCTACAAAAAATGCCGGCATT +TTTTCCCAGAAAAATTGTGACGTCCGCACGCTCTCAACCATAAAAAATCA +GATGAGATCTGCGTCTCAACTCCCGCATTTTTTGAAGATCAAAGCGAAAT +GGGACTTTCTGACTCCACGTGCTAAATGAAATGTACGTTAAAAAATTATC +TCTGGAAATTTGGAATTGCTCGGTGGAGCGCGTTTGCCGCTTAGTAGCTG +AACCGTGATAGCTGCGCCGTGAAGAGAAGGGAAAAGTAAGGAAGTTATCA +AAACCAACGACGCACTAATGAAAAGGAACACAAGAAAAAGTGAAAGTGTT +TTTTTTTGGGTTTTTGTGATTTAGTTCGTGTGTGATAAAAGTTCAAATGG +TTCGGCAGGACAATAGGAAGGAAACTGGAATTTTATATTTCATCTCTTGT +TAAATTTACTTTTGTAGGTGTATGATTAGGTAGTGTTAATAGAAATCGGG +ACTCGTGGCCTATCATTTTTTTGTGGCCGAGTAAAAAAATCTTCCACATT +CGTCAACCATACGTGTGAATTTAAAGGTAATCTATAGGATATGATATTGG +TAAACTTTCACAGAAATCCTAAAGCTAGGTTTTGAACTATGGAGCTTTGA +AGTTTCTAGGCCCCTTTGGGAAACATAGGCCACCAACCTGAGAAAGGTAA +GGGGAGGGCAGGGTACATAAAATACAACTTTTTCTCTGAAGTTTTTTTTA +ATTAAGCGAAAAAGCCGACATAAATGTTTCAGTCATGGCCTAACTTGACA +TTGGTGGCCGATTTTTTCGAAAAACTCTTCCACGATTTAGAACATGAACT +TGGCAAAACTTCAAACAAATCCTAGAGATAGTTTTTGAATTATGAAGCTT +TGAAACTTCTAGACACGTTGAAAAAGTTAGACCTCTTCCACTGTCATAAA +CTTATAAATTCACAATTCAAAAATTATAGATTTCTTTCATATGTAGAATT +AGCCCAATTTTTAAATCCATTGCACGGCTAGATTTGAAATCATAGCAATT +TGAAAATTCTAGGCCACGCAAAAGAAAATTCTAGTTCATGGGAGTTGAAA +GAGAGTCTCGGAAGCTAATTTTAAAAGCACAAGATAGAGGAAAACCAAAA +ATTTATAAATTCATAAAAATCCAGTTTTTTAGCAGCTATGTGAAAAGGAT +TAGAATTTCAACACGGCCACCACCGCCGGAGATACAATCATTTTGGGAAT +ATATGTCGTTTTCGCGTATTTCTCACCAAAAAAAGATTCAAATCTTTTAA +TACGAAAAAAAGTTGGAAAAGAATTAGAAAAATGCTGAGAAATTTTTTTT +ATGAAAGCTTAGGCTTACAATTAGGCTTAGGCTTAGGCTTAGTTATTTTT +TCAGTGTTTTCCAAGTGCAGAAAGGAAGAAACCGACGCTTCCTGACTTTC +TATCACACACTGAGGGGAATTTCACCCAACCCCCCCCCCCCCCTCACTTC +CCGCTACTACTTTTACTGTACACTTTCACCGAAAAGTTATTGTGTCATCA +CGTCATTCGCCAAAAACGAATCGAACAAGGAGAAAAAATTGATGAGAAAA +CGCAAGTGTTTCTTCCTACACTACATAGTGTTCAACACCCCTTCATGATA +TGGCCGCGTGAAAACTCTTCCACGACCATAAAAGAAATTTACGGAACAAT +CTAGCAAATTTTCATAAAAATCGGTTGGAAACTATAAAAGTTACAGGGGT +TTGAATTTTCTAGGTCATGCGGAAAAAAACTCGGCCACGCAGGTTTTTAG +GGTTAGGGAGGCGGTGTCTTCAAAAAAAAAGAAACCTCGCACCTAATGAT +CCATGAATCTTCAAACAGAAAATGAGGTATAATCTTAGGTGGCCGAACTT +TTGTTTCTGAAGAAAACTCGGCCAAGACCACGAAAAACGTATTTTTTTGT +ATCGTTAATTGAAAAACTGAAAACAAGAAGTTTCTAGGCCATGTTGATAA +ACCTTCAGTAAAAATTTTTCCTAAGCCATTAAATTACTACTGAACTGAAA +ACCTAGGCCACGGCTTCAAAACATAGGCCACCAAAAACTGAAAGGGGGTC +GTAGGACCGGAACCTGCTATTATGAAGCAAAGTTTTGTGCAATAAAAGTT +TCAGAATTTCCAAGTTTTTAAACTATTTTTTGTCTGGAAATTATAAACCT +GAAATTTCGGGTGCGAGACAAGATGGTCAAAGAAAAATAACGAGAATTCG +GAGGGCAAAAAAATGAGAAGAATTTCCAGGAAAACAAGTGAAAGTGAGTA +TGACTTTGACCTATACGCGTATTGTCTTTTTTGTTTTCTTCTTCTCGAGA +AAAGAGAAACTGTCACAGCAGTAGTAGTTCTTCGATCACCTAATTACCTT +ATTGCCCCCTTCCAGGAAGTCACAGTTTTTTTTAGGAAATGTGTGAAAAA +TACACATTCCGCTAGGAAAAATTGAAATTGCGGTTATTGAGTTCCCTTGC +CACGACAACGTGGCCTAGGATACCGCCATGCTCTAGAAATCCCGCTTGTA +GCCTAGAATTTCCCATTGTGGCCTGGAGAAGTTTAGCGGGGCCTAAGACT +TTTAATTGTGATCTGAGAGTTTTTTCACATGGCCTAAAATGCTATACGTG +GTCTAAAATTCCTCATTGTTGAAATTTTTAGCGCGGCTTAGGATTTTCTA +TTATGGCACTGGATTCTCGCCGTGACCTAGAATTTCGTAATGTGGCCTGA +AAAGTTTAAGCGTGAAAAGTTTAAGTATTTTCAATCATAGCCTGGAGATT +TTTTACAAGAATTCCTCATTGTGGCCTTGAATTTTCTATTATGGCCTAGA +ATTTCGCATCGTGGCCTAGAAGAAATTTGCAGAGTGGTTTTGAAATTCGG +TTTGTGACCTAGGGTGCTATATTGTGGCCTAAATTCTTCCATCATAACGT +ATGATTTCACATTTTGACCTGAAAATTCTTTGCGTGGTCTAAGATTTCTC +ATTATATTCTCGAATTTAACTTCGACACGTGAGAACAATTTTGATGGCCT +AGAAATTGCTCCCGTGACCTAGGAAGTTTCAAATTTTTAAAGTTCAAATA +AATTTCACCAGAAATTCATCAAAATTTACAATTACGGAAAAAGAATCATA +TTAACCACTGCAACTTTTTTCGAACGAAGGACGAGGCAAAAAGGTTTCTA +GGCCATGGCCGAGTCCCCGACAAATTTCAGCGGCCATTTATTTTGCTTTG +TTTTTTGCGTGTTTTCTTTCGTTTTTCACCGATTTTTTCCGTTTTTTCTT +ATCAAAACTAATAAATAAATATTTTTTGCAGATGCTAAAACAATTTCCAA +GTGAAAAAATTGTGAATTCAGTCGGCAAGTAGCGGTAAAAGTGGTCAATG +TAATATGATGGATTACGGGAATAAAAAACCCAAACTTTTTCCCAAACATG +ATACATATGCTGTTTAGAAACACGGGAAAAATCGGTGAAAAACACAAGAA +AACAAAGCAAGTACAAAATGTCGTAAAATGCGGTGTATTGTGTGCAAACA +CCGATTTTTCGCATTTTTTCTCGGCCCTCGTTCGAAAAAAGTTGCAGTGT +TAACGGCGGTGGAAGAGCTTTACCTTTACAAAAGGTGGCCACAAAAAAAA +TAGAAGAAAGGATCCAAAAAGAGCAGGGAAGAGTTTTCTCAATTTGACGG +CCACGTGTTCTATAGAAAAAGATAAATACAATAAATACGTTTTTTGAACA +ATTAAAAAAACAAAAAATTTCAAGAAAAATTTAGAATATTTTTTCAGTTT +TTTTCCTGAAATTCAAATAGAATAAATGGAAGTTCAACAAAAAAAGGTGA +CCTAAATACTTATTAATTCACCTTCTTGACCTCTCGATTCTTCAGAAAAA +AGAATAGGCTTCTCCTCCTCCCACCTCCCAGACACTTATCTACACTTTAC +ATCATTCCTCCCGGCCCCCGGTTTTTTCACATTTTTCAACCTTGAAAATG +ACGAAATAAACAAGTGTTTTAGATAAATGTTTCTGTGTATGTTATCTGAA +ATCTTGGAAGGGTGTTGCAACAGAGCCCCGCGTGTAGCGTGGCCTAGAAA +TCCAAAAAGTCTTCTTTTAGATCTTCAGCTTTCTCAGCAAGTTAGGTCTT +AAGTCAAAAGGACTCTCCATGACCAAGTTATAACGATTTGTAGTTTCTAG +GCCATGGAGTACTCTCCGAAGGGGAGACATTGACCCCCTGACGCCGGATT +TGTAGGAATTTTCACGTGTTTATGCTACTGTAAGCGAGCTATATACGTTC +TTCAAAAATATCCGTCAAATTGTGACCACCGTTTCAGCACTTTAAAATTT +CTAGGCCACGCTGTCGCCATAATGGAATATTTTTCTCACGAGGAATAGAA +ATTAAAAAAAAAACTCTTCAACTGGTCGATATTTGGAAAACCAAACTAAA +ATGTTTCAGAATTATTAAAAGCTTAATTAAAACAAACAGCCACAAAAGTT +ACCTAAACTGATGAAATAAAGACATAGGCATACAGATTTATAAATCCTAT +AAGCATGGGTGTGTCACAGGTAAAGATTATGGAAAGTGAGGGAAAGTAGG +AAGATATTACTGGAAAGTTCTGGGGGAGAACGGCTGAAATCAAAATGGAT +TCGGTTGAACGCGTCGAATCACGGAGACTCGTTTGTAGGGCTTCCAGGTA +GATAAAAAATGTTCTGCCTGAATTGGGCCAAAACACATGAATCTTCAAAA +ACAAATTGACACAAGAAAATACATACTACTCCAAATTTTCAAAAATCAAA +AAATAGGCGATAGGTTTTTAGATACTAAAGTATATTGAGCAATTAAACAA +TTCACCCCCTACAACTGGCGGGCCCGCAGGGCCTGCTAGTCAGGCAAAAA +ATATATGGCCCACACTCCCAGCGACAAGAAAAATTAGGGGATATTAGAGA +CATTTACTCAAAAGGAGCATTACACAAATTTTAAAAATCTCAAAGCGGGA +AATTTTTTTAATGCGTACTGAATAAGAAATCGACGTTTAATGAAACTCAA +TTGCTACAACCCCGTAAACCTCCTTCACGTCCAATCAATAGTGACATGAA +TCCTTCCGACCAACGTCATAAAGATTGGAGATGACGAAATTTAAGATGTA +CCAAGTATGCTGGTACATACAATTTCTACGTCACAACATCTTGACAGTTT +TTTCCCTCAAAGAGAGGTGAGCCTGTAGAAGAGATACAAACGCTGCGTCC +TATCGTGGGTTCAGTTGTGGGGAAAAATTGTAAAAACTGTATGTACCAAC +TATGCTGATGTGCCAACTACCAACCAGCATAGTTGGTGCATCTTCAATTT +TGCCATCTCCAATCTTTATGACGTTGGTCGGAAGGACTTTTGTCACTATT +GATTGGAGGCTTACGGGGTTGAAACAATCGTTCATTAAAAGTCGTATTCT +TATTCAGTACGCATTTCAAAATGTTTCCCACTTTTTTTCGGCTTGATCTA +CGTAGATCTTTAAAAAATGCGGGAGAAGATATGCAGTGTTCTCAACTAAT +TTCGCATAGTTAAGAACGTGCTGACGTCACTTTTTTTTTGAGCAAAACAT +TCCGGCATTTTTTGTAGATCAATCCGTAATTGGACAGCCTGGCACCACGT +GTAAGAACACGATGCCTCTATTTTTGCCCGGGAGTGTGGGCCTTGAAAAG +TTGTGAGCTGTAGAAAAATGGACAACAAGCATGTTGTCAGTTAGCAGCAT +TTTATAAGTCAAGGACAAGTACAACCGAGATAAGTGAAAAGTTTGAAAAA +TGGAAAACTTTCAAAAAACAGCGAAGGTTCTTTGATCGATGCAAGGGCAG +AAAGTGAATAATGCATGTTTTTGAACTTAAAACAAATTGGCTAGACTTTG +ACTGAAACTACCTTTTATAAAAATGAAGAAAATGAACCATTACGAAAATG +TTAAATACACCTGAAAATTGGTGTGTTTTTATTGTCGTTCTGTAATTAAA +TTTTGAATGATCGCTCTTCTGCAAAGAACAACCACAAAAAATAATTCGAT +ATACTCAAGTATCGACACTTATGATTTGAATGCAAACATATAACAAATTA +AAATTAAAATACGGTCATTATATTTTAGGAAAATTATGGAAATTTTTTAG +GCTTATGATGTTTCAAAAACTTTCAGAACTCTAGTAAAAAACATTTTATA +TGTAATAAAACACTCAGCGACTTTAAACTTTGCAAGACAATTTGGGACAT +AATTTTGGGACATTGTAAGAACAGTTAATTGGAAAATAAAATAGTTATTC +GAATGATCGTTCTTCAAACAACCTTACAAACAACAACACACCTACTCTGC +TATAATAAGAAAATTTAAAATACTACTCAAGTTGTCACTTCAAGACCGCA +TAAGTTTATACCACTCGAACAAAAAACAGTCTTCGTTCTTTCTTTCTTGA +AAAGAGACATAATTGAAAATGAACTAATCAGCCGCTGCCCGGGATGGAAA +AAAGAAAAGAAATTCCTATCATCTTTTGACCTTGTTATTTTTGCAAATCA +TGTCTGAATAATACACTTTTTGATACATATAAATCAGGCGTGGGCGACAA +ACAATTTTTCCGGCAAATCGGCAAATTGCTGGAATTGAAATTTCCGGCAA +ATCGGCAAATCAAAAATGTTTGAAAATAGGAGAGTAAAAAGGTGGAAGTC +AAGTGATGGTAAGTACCTATTTTGTTTCAATCAAATTAAATTTTACACCA +TCTCTCTTTTTTTTCCTTATTTAACAGTCTTTGGTCTGTGTTCTGATGTT +GAAAGATAAGGGAACATGGACGAGTTGTTTTTGGGAAAAAACATTCTTTT +TGGATTATTTTAGTAAAAGAAAAATTTAAATTTATAAGCATATTCACTAA +ATATTTTTGTGGGAATTTGAAAAAAAAAGAAATTAAAGAAGAAACTGATA +AAAACTAGAAAATGTATAACTGGGAGAAAAAAGTTTCCAATTTTCAGAAC +TTTTGAAAAATTGTAGAAAATAGTTCATGCTTTCAAAGTTGTAGGAAAAA +ATAATATGTGGCCAATTTCCGAAAGAAAAAACTCTGCCACGACCAAAACT +CAGAACTAGACTGAAATTTCAGTTGTAGCTGACAAAACCATCCAAAAGAT +ATTGTAGGTTACAATATCTAGGCCGTGAAAATTAGAAAACTCGAATCAGA +TATCCTTGGCCGGAATGCGAAAAAACAAAAATTAGAGTTTTCTAGGCCAC +AAAAACTCGTCCACGTGTGCATGAACTGTCAAGTGGTCAACGTAAAAGGT +GTGAAACCCTTCAGAGAAAAACACTAGAAATGAGATAAAGTAGGTGAGAC +CTCCTGTCTCTGAGAAGCAACGTTCGAAATTCTTTTCCAATTCCATCTAT +TATTATTATTATTATTATTATTAGGACGGTATGGCGCCAGGAACTGGTTG +TTTATACTGACCACTGCCTCTTCCCGATTAGGATTCTGAATTTCGGATTT +CGGGAAATTGAGAATGGCAGATGGATGTAATTTCATTAATCATGTTCCTC +AATAAGTTAAGAAACAAAAGAAGGAAGATATAGTGAATCAGTGAGGAACA +AGAACATAGCATATATGGAATTGGCGGTGTAAGACTGGTTTACATGGTTA +CACGGAGGGAAAAAGATTTGAAAGTATTCGTCATCTTATCTAGGTAGTTG +AGACACTTGATTAGTCATAGTTGAAAGAACAAATGGAAGAAGTTCATATG +CTGAAAGCATCGCTAATAACATAATATTGGTTTTAAAGGTGGAGTACGGT +CTGTGGGTTTTTAACCTAAATGACAGAATACAGTCCCAATATACCGAATA +TAACTGTTAAAGATTTATAAAATTTATCTAAATTTTTTATGATTTTTAAA +AAAGTTTTTTTTTTTTTAATTTAAAAATTTATTCAAAATTCCAAAAAAAT +ATTTTATTCAAAACTAAAAACCCAAATTTTCTGAAACTTTACCATTTTAC +TTATTTATGTCTTAACAATAATATACACATATTAACGAAATACCCACCGT +TCAAAATTTGACTTAATCTCCAGTTTTAACTGCCAATGAGAATTTGTTCA +AAATTCCAATCTCACACCCAATGTTTTTCTTTGTTTTTCATTTTAAAACA +GTTCTATCCAGTTTAAAAATTTACCAAATAAAAATGTGTCTATTCCTCTC +ACCTCCAATCCCGTGCATGTGTTCATGTTTACCTATTGAAACGTGTGTAT +TACTATATAATACAGAACAAATATAAAATGGCCACTCTTGCACCTCCAGC +GGAAAGAAAGCTTTTGAGGTGTTACGAACACTGCAACACTTTCCTATTTT +ACTAGTTTTGAGCAATTTTCTGGTCCTTTTATTTATTTTTGTTTTGTCTG +GAACAGGAAGTTGTTTGTGTTCTGTTTGGAAAATTAATCAGTTCTACCGT +GAGATTTTTAAGTTATTTTTTGAATGGAATTTCAATTATTATTTCATTTC +ATTTGTTTTTTTTTCTCACCGAAATCCACTTTTTTTAGAAACAATTTTTT +TTTCTACATTTTTTTCCGATTTTTGTCATTCAATTTTTCAACTTCTCCAT +TTTTTCTACAAAACACCGAAAACTACAAAATACCTAAAAATTGCAAATTA +AAAAAATTTTTAAACATTTTTGCCCAAAAAATTGTTTTTTTTTTCAGAAC +ATCTAAAACTCACTAAAAAATATGCTCAAAAATTTTTTTGAGAACACTTA +ATTTTTCGAAAATCTTATTTTTGCAATATTAAATCCAGAGAAATTAGAAA +AAAAAAACGGTTTTCTACAGTACTCCTACCCTCCCTCTCCAGTACTCTTA +AAATATTCCTACAGTGTTCTTACAGTACTCTTACACCACTCCTACACTGT +TCTTACAGTGATCCGATACTACTTTTATAAGACTCCCACAGACTCCTACT +ATACCTATACCTTATCACTACAGTATCCCTGCCGTACCCCCCCCCCCCCC +CCAGTACCTATACTTGCCACTACAGTATCCTACAGTATTTCTACAGTGCT +CCTACACTACCTCTACAGTACTCCTACAGTACCATTACCAAAAATTTGAA +TAGAAAAGTGAAATTATGAACATTTTTTCCTGTATACCAATTTTTAAAGT +TTTAGTTTTGTAGTTGTTTTTGACAACGAAATCAATTTCAAAGTATTTTT +CTTTAAACAATCGTACTTTTTGCGTACTGTTCTTGCACTTTTTGGGATCT +TTTGGACTAAAAGTGCCCCCCGAAAAAAGCGCGGAATTAAAAGAACAAAA +ACCGGATAGACTGAGGAGGTGTCGAACGATGGAATGAAAAAAGAAACAGA +AATTAGATTTGGTTCAGTGAATTCTGTTTCTTTTATTTGGATTTTGGTTT +TTTGGAGTCTTGGAAAAATGTTTTATTTTTGTTCTTTCCAAGAGTCCAAA +CGTTTTTTTCCACCAAAACTCCAAAATTTTTAAAATTTGGAAATTTGATT +CACTGCCAAAACTTCCAGAGAAATTAAATGTTCAGTTTCCCGTAAATAAC +AGGGTTTCGTATCAAAAACTGTGAATTTTCCCGCCACCTATGTTTTTTAA +AAATGATTATACTCTAATTTCCCGTCAACATTTTTTTATTTTGCGAAAAA +TGATTATTTGAACATCCCAGAAAATTTTAAAAACGTCATGAGTTTTTTGA +AAATTCAATTTTTCGTGTTCCTGTAATAAAAACCATAGAAACTGTTGACC +TATAACCTGCCAGACGTTCTTCCTGTCTGTTTATACCCCCATCTGCTCTG +CACACCAGACACCCCTCCTCCTAACTACACTTTAAACTGTTACCCCCCCC +CCCCCCGTTTACCCCTCATTTGTTTTTTTTTCTAGTGCATCCCTTCCGTG +TAACCTGACACTTTTTCCAAGAAGCTCGCATTTCTTAGGAGGAGCAGCAA +TTTTTCGTTACTTAATTTTCCACACAGTAGGAAAGACAAAAAGAAAACGT +CATAGAAATTAAAAATTCTGCGTTTAATTTTTTGTTCAGTTTCTGAAACT +CAATTTTGTGGAACCGTTTTTTTCGATCTTTGTAAAATTGAATTTTTTTG +ATTTTTGGAAAATTTGGATTTTTGCTGGAAAGTCAATTTTTGTGAGAAAA +GGTTTGGCGGGAAATTTAAATTTATTGAGAAAAATTTTAGCGGGAAATTA +AATTTTTTGATAGTGAGAAAAATTCAATTGAATACCTTTTTTGTGCGAAT +TTTTCATAATATCTGAAACTCAAAAAATCTGAAAATTAACTCGAAAAAAT +TTTCAAATTTGATATTTTGGCAATTCAAAAATTGCTTAAAGAAAATAACG +GAACCTCGTTTTTTTTCTTTAAAAAAAGGTTTTAGTAACTTTTCCGGTAA +CCAAGGTTACTCTTTCCCCATCAATCTCCCAAAAGCATGCCAGAAAAAAA +AGAGAGAGAGAGAGAGATGCGTGTATGATTGTGTCATTTGACAGTGCGCA +ACAGACACACATAAAACAGCTGACATCTTCTCTTTTTATTTCAACTGATT +TTTAATTTCCCTCCTTGTGTTCTCTGAGTCTCTCTCATTTATTCAGTTTC +TCGATTTTCTTCCAAATTCATTAATATTTTAATCTATGCGTAAAGTGGAG +GAAGATTTCTTCTACGTTTTGATTTGCAATTTCTCGGGTTTTTCAAATTA +TGGATTTTGAAAAAAAAAATTTCTGAAATTTATTTTTGATTCATGTCAGA +AAATGAGTCTCCTGAATTTTTTTTGGAAAATATAAAACAAATTCTGAATT +TTTTTTACTTTTTGATGTGTAAAACAAAAAAATTGATTAGAAAAATCTTT +ATCTATTTTTTGAACTTTTCAATTTTAAAATCAAAATTAACTTCTAAGAA +ATAAGATTTTTTTCGGAATTTTGAAAAAAAATGTTGTTTTTTTGAGATTT +TAGTACATTCAATTTTCGTAAAATTCGAATTCATTTTTTTATTGTGCAAA +TGTTTTCTGACTGACTATGAGAAAAATTTCAACATTTTGAAGAACCCCCC +CCCCCCCCCCCCCCATTATTTGGACGGAGCCTGAATACGAAATGTGAGTT +CTCAGAGAAGGAGGTGAACAATTTGATTGATGTGCATATGGAGATGCTCA +TTGTGCATATCAGTTTGGAGCATCTATCTCAGAGTGAGCATGACATTTAC +TTTTACCCATTTGCGTAGGCTCCGCCATTTCACGATTTTTTTTTTCCAAT +TTTTGAACTAGTATAAAAATTTCTGAAATTTCTGTAATTTCTGCCATCTC +CTCATAAATTCCATTGTATTCTTTGCACTATTGTTCCACAAAAGTGCAAA +ATTTTCGAATTCGTAATGTGTCTTTCATATATATATCCATGCACTTTTGT +CCCTTTTCCTGAATACTAATTTGGTGTGCTCCAAGAGGAAATTTTTTTGT +TTTGTTGAAATTACTGCTCCTTTTCGGAATTTTTTAATTTCTGAGAAAAA +TTCAATTCCTAAATGTATAATACTAAAGTCAAAATACTAAAGTGTAATGG +TTTGTTTTTTGTTACAGTCTTTAGTTTGTAGCTTTTGTTTTGTGTAGTTT +TCCAACTTTTTTTTTGCCAAAATGAAGGCTGAGAAACCGAAAAAAAAAAT +TCAAAACATAGATTGGGCTGAAGCGGTATTATTGGTTTACTGTAGCATTA +CTGGGTTACTCTAGTTTGGCCCATGTTTGGTGTACGTTAGTAGTAACAAC +ATTTCGTTCATTTGTTTTTTGATTTGGTAACTTCTGGTGATTAAACTTTT +AATGTACCTAAATCTTCTGTTGCATTATTGATTTGTTGTTTTCTTCTTTT +TAAGTTAAACATGCTCAAATTAAATTCAAATTGAGTTGAAAATGCAAAAT +TATTATCAACTTGAATACCCAAAATTTTGGACGGTATTTCAAAAAAATTG +ATTTCCAGCCGCTTCGACCTTCGACACAACAAACGAATGCTAACTTTCCC +AGGATTACACAAAATAGGTCAAAATCCCCTTTTCTCAATTTTTTGCACAT +ACATCCTCATCATCATCATTGTAATGATCGTGACCATCCGGTCTTCTATT +ATTAAATGAGAGAAGGAAAGAGTATACATATGTGTCTTTTATATTAAACT +AATTATATTTCGACACATTCTGCGCATATCACTACTGCACTAGAATTACA +TTTTAAGAATAAAATGTAACCAAAAGACCAAAAAGTTGTTTGCATTTATT +GTTATAAACAGAATAGAATGAATGTTAGGAAACGTTATTAAAACTTGCAA +AGTGACACAATTCGGTATATCGATTTCTCTGAAATTACTTAACTTAGTAG +GCAGAGTTTTGATACTGATACGGATTTTACTAAATTTAATTTTTGTAAAT +CAGTATTGCTTTTATAACCTATTAAGATTTTTTTGTTCCAGCGTGCAATT +ATTTTTAATTCTATTTAGGATTTTAATAAATAGAAAAATACGTTTTGAAT +TATTTTTTACGTTATAATATTCAATAGTAAAGAAGCACACATCAATTCCC +CTATTCAGTTTCCATACTTTGCCTGATAAACATGAATAGTAAAATAGACA +CTTTCATTTATACAGACACCCCCCCCCCCTTGCTTCCGGATTAAATCCCA +ATAAAGGGTGTGGCAATAAGGCATTGTTGCAGTTTCATTGAATTTATTAA +TCATTTGACAGCATGAAATTACAAAACTGGAGAATTTCTAGTTTAAACTT +TTATACAATGAAGAAATCTTCCATAGAATCAATATTAAATTATCAATAAA +TGAGTATTTACGTTTTTCAGCAACGGTATTATTTTTATACTTACTAGTTA +TTAAGTTAGTAGTTAGTTACATTTTTAAATGCGATGCAGTCGAAATTTTT +TTATAGACTAGAAATTGTCTTAGTTTCCAGCCACTGACAAGTCGGCCAAA +TTTCAAACTTTCAGTAATTTTGCGTCATTTGTTGAGCCGCCATAACTCTT +TTTTTGAGACGTTTTCAAGAAGTTGAAATTTGGTATTTTCAGACATTTGT +ATCTTATTTAAAATATGAGTATTCACTCCTTTTACCTGCCAGTCGGCTGC +CTCCTTATCTCCTATTTTTCTCTAATGAGCACACACCACTATCATCATTA +TTATTACCACCTGTTCTTAATAATAAACATTTCCCGCACTTTATTTCCAT +TTCGATGCATTTTATAGAAAATGTTCCCCCTTTTCGAGCTTTCCAATTAG +ATTCACCCTTTGATTGCTCTTTCTTGGACGGAAGTGTTCCCCAATTCCCC +TTCATCTTATTACATTTTTATGCAGATTTTATTGCATTTTAGTGCGCTAG +ATTTTTCATGGGATTTTGCTAAATAATGCAATCACGCTCTAAATAAAATT +CTCAGTTTATATTTTAATGTTAAAACTGTGTGTAAAATTTACAAACATAG +TGAATACATTTTTCGAATAAAAGTATGAACATTTTTCGAGGGATCTATAG +AAAATTGCCGGCTGTTCCTAAATGCCCTTTCACTGGTCACCAAGTTCCTG +TTCATGCAATTCAAAAGAAATGTTCAGCCCCCCGCTCAATAGTCGCCCGC +ACCACAAAATTGAAAAGCGAACATTTTACTAGTCGAACTTTTGAATTGAA +CATTTTTGGAGTATTTTAAAGAAATGTTTTCAAGTCCACCAAAACATATG +CCAGGCCACAAAAATTTCAATTTTCCGCCAATTTTTTTCTCACAAAAGTT +GAATTTTCTCGAATTTCCGATAATTTTCGATTTATTTGAAAGTTATTGAA +ATTTATATTTTCTAAAACACTTCCACAATAACAAATTAATAGATATAATA +AAATTTGAAATTCCCATGCCACACCTCAAAAAGTGGCTCCCTTAACTCCT +GAGTGCTCGCGGAGCCCTACCAAACTTGGAACATTCTTTTCCCAACGGAG +TCATGAACATATGAGCATTAAATGAGTAGACGACATGTGTATACATAGGA +CCACCACAGCTGTTCCTTCCTTTTTATGAGAAGACATGTCATACACACAA +TGTCTCTTCTCCTTTCCGATTGGAAAATTAAAATTATAGGAGGGGGGGGG +GGGGGGGGCGATTCTTGACATTTCAATTACCCCCCCCCCCCCCCCACATC +CGTTATGTTGCATTTTGGTAGGCTTGGGGCCGAATAAGTCTCCCATGCAG +GCGTCAAAACGTCTGCGGACCTACGCCTGCCTCACGCCGCGCCTGCTGTA +CAGGAACCCGAAAAGTGTCGAACGCGGCTAAAGAACCACTTTTCGCACTA +TGCGGTGTAAACACAAGGTTTTGATTTGTAGTCATAGTGCATATATGATG +CGGGAGGCTGACAGGTAGGAGGCAAGCGTTCAACCGCGCATGCCCACCAT +GGAAGCCCTAGAGCCTAGTTTTAGATGAGTTTCAGCATTTTTGATCTACA +AGATTTTGAAAGTTTTACAAAAAAACCAAGATTTTTTGTAATTTATGAAG +TGATTTTTCTACATTTCATCTAGAAACCAGCAGAGTTATTTTTTGGGTAA +TTTATCAATAGAGCGCGTTCGCGTCATGAAAACAAAATGGCGGCCGAACT +TTGAAAATCGATGGCTGAATTTTTCGGAACAAAAGTCCGTAGCTATAAAG +CACAGGCCTACGTTTTTTTTGCTTTTAAATGACATAGTTTTCTAAAAAAA +AGTCTGTGGCCGAATTTTTAAATTTTGAATAGGGGCTTATTTCAAAAAAA +ATTTGAGGCCAACCTACTCTTCTCAATTATAACTTGCCATGGCAGAACTT +TTGAACAACTATTACAACGTTTTCAAAAAACAAGTTAAAGCATTTTTTCG +AATAAAGGTTAAATTGGTAGCCTAGTTTTCTCAAAACAAAATACTAAAAA +AAATATCGATGACCGAAGTTTATATTTGAAAAAATATGTGACCTAGAACT +TTTAACTACTCTTCCAATGTCTTCTAGCTTCTGAGAAAAAGTTCGTGGCC +TAAGTGTACCACGATGGTCTAGTTATCTCGGAAATAGCCATAGCCTAGTT +TTCTCAAAAAAATCGGTGGTCGAGTTTCCTGTATGTAGGCATGTAGGTAT +GTAATTTTTATCTTCCAGGTATCTATTTGTACTTCCCGGTAGCCAGGAGC +AATACTTTTGAATTCCTTTGCTCTCCCTATTCAGCTTCTCCCCTCACACT +CGTTTTTGGTATTCTATTGTTCTCCTCCTCTTCCCATTCTACCCCCATTT +CATTTTCCTCTTGGAGACCCCTGTCTCTCTCTCTTTGTATTGGCTCTTTT +ACGTCTTCTAGTAGGCTTTTCCTTAATGAACTTGTGTGTGTGTGCTTGAA +TCATCATCGCGTTCTCTCGTTCCATTTCCCTTTTGCAATTTTCTTTTCTT +GGAGAAATTTGGAAAGTTTTGCTCAAAATTCCTACGTACACATGCCTCAA +AATCTGGTTGTATATGGCCTAACATTCAATTTCTAGTGCACACAATAAAA +TTTTCCGGGAAATTCAAATTTTCTGATAATGAGGAAGGACTTTGGCGGAA +AATTCAAATTTTAAAAAAGTAGGCGGGAAATTCGAATTTCGAATTTTCTA +AACTTTTTGGCCGGAATTTCAAATGTTCTGAAAAATAATTTTGGAGCGAA +ATTCATATTTTCTCAGAAAAATCTCAGAAAATTTGAATCTCCCACTAATA +TTCTTCTCAAAAAACTGTTACGTGACCTATTTATATCTTATTTATTGGTC +CATTTATTACGTGGCCTAAAACATTTTTTCTTTTCCCCCGTTTACAGCGA +TCATTTGAGATGGCCTAGAAAACGCACGTTAGGCCATCAGGTTTACGGGG +TATAGTACAACCTCTTGCAGGGGACTGAGGTTCAGAAAACTACAAATTTA +GCTAATTCCCTACCTACTCTTGCAAATCCAATAACTAACCCAATTTCCCG +GGGAAATTTTTATTCTTAGAAAACAACTTGTATATCTCCGCAACTACATA +TCCCTCCTTCAAAATAATAATAATGGGAAGCTTCTGCTTCTCTACACCTT +CTTTTGACCAAAAACTTGTTGCCAGTGCCCTATTATGTACGGTCCGTTGA +GTTTTGTTGTTGTTCACAATAATATGTGTAATTCGCGCATCTGAAGAGGG +GAGGTGTAAATGTTGTGTCTAACCGTTATGTTGCTGTCACCTCCAAGTGG +TACAGGTGGCCTAGAAATTTGCGAAAACTCTTCCACGATTATATTTCTCA +AAAAATTACTTTTCTCAGAAAATTTGATTTTCTCACCAAAATATTTCTCA +GATAATTTGAATTCCCGCCAAAATTGTTTAAAAAAATAGAATATCTCGTC +AAAATTTTTATCAGAAAATTTGAATTCCCCACTAAAATTTTGCCAAAACA +TTTTATTTTCCCACTTAAAAAAGTTTTTTTTTTAATTTGAAAGTGGAAAA +GTTTTCTAGGTCACTTATACATTACCGGTGACCGAGGTCGAATTATTCCT +AGGCCACAAATCTCCCAAAGGGGTATTCCCACACCTAATTGACACCTCCC +CGGGCACCTTTGAGCACTAAGTAAGGACACCCACCCCTCTCAGCTTAATA +GCTTTTAAAGGAGCACACCAGCCATATGTTTTCTCTAATTCTCTCACTCT +CTCTCTCGGCTTCTAAATTCAATTTCCCCCCGTCACGCCTCTCGTTACGT +GAGGAGTGTTCAACATGTTCCCATTCCCTTATCCGATAAGTTTTTGGTAG +GCAGGAGCTTGTACTAGTAGAGGACATTTGTCGCTTCTTGGTCTTTCGCC +TCCATTTTCCGTAATTTATACGTGACTTAGAAAATTAGAAAAAAACGCAT +TCCACGAGTTTGTTGGACAACTTTTTTTACGTGGCCTAGAAAAAAATGAA +ACTCGGCCACCGACTTTTCTTTCACTTTTGTGAAGATATGATCTCATTCT +ATAATTCTGTCGAACCGATTAGGAGGGTGGCTGAGTTTGCACTTTTGCGT +GTTCTATACCATTTACAGAAGCTAGTCCCCCCGTCATTCTTTTTCCTGCA +AAATGTTTTTTTTTGCCCCCGGTGTCTCATCATACAGTACAGCAGCCAAT +ATTATTTGTTTTTTGTTTCGTCTTTTCGTCTTTTCGGAGAAAAAACGCTC +TATTCTATGACAAGGTGACGTCATTGGACTCGTGGCCTAGAAAGTTTGGC +AAACTCTTCCACCATTCGATTTTACAGGAGCCTCAAAGCCCCACATGGGG +CCTAGAAATCTTGACATTTCTAAAAAACATCCATTTTGAAATTTTTCGAA +ATTGGTGCAACCTAGCAACCTCTAGAACTTCACGTGACCTAGAAAAAACA +AAACCTCAAAATTTCATGTGGACTAGAAACTTTTAAAAACTCTTCCATCG +ATTTTGTTTTGTGGCGGGGACTTTTTCCAGTTTCTTTTTCACATAAAAAC +CAAAAAAAAACAAGACGTCAAGCTGTGAAAATGATTAGTCACAAAAAGAA +GAAAAACAGTAGTGTCGTTCCTGCCAATTTCAGAGATTCCTTCTTCGCTT +CTCACGACACGAGGGGGGGAGGGTCTAATTGGCACCCCCCCCCCCCCCTA +CTGAGGTGAGAAGCTTGAGTTGACTCACACGTCGCTCTTGTTTTATTCAT +TTTTGGCACAAAGTGAAGTGTGCGAAAATTGTAGTAGTCTGTGTGTGTGT +GTGTGTATGAGCATTTCGAATTTTAAAATACTTTTTTAATGTACCGCAGG +CCACGTGGTAAGTTTTTTTTCATAAATATAGGATTTGTTTTCTTGTAGAA +AAGTTTTTCGAATTTTGAAATGAAAAGGATAACTGGGAACGGAGAAAAAT +TAAGTTTTAATTTCTAGGCCACGTACCAATGAGGATGAGAAGTCGGTTTT +CTAGATCACAAGGTCATCTAAACTTTTAGGAAATTTAAAAAGTTTGGTGA +TTACGAGAATTTCTAGGCCACGTCGCAATACACCGGCGCGTTGGCGTTTT +TACACTTTCTAGACTACTAAGATTTTCCTAGGCCACGTCCCAATCAGGGC +TGTTGCAAAAAAAAATTTTCGACCAAAAAACAAAAAACAAAAAATTTTTT +GGTCTAACTATGGACCAAAAAACAAAAAACAAAAAAACAAAAAACAAAAA +AAAATTCAATGTTTGATATTGAACGGGACAAAACGGAATTTTTTCATGAA +ATATTCTGGTGATTTTTTATAAAATATTGAAAATTGAACGAACAGAAGGT +TTTTTGTTAGCTTTTTTGCTGAATCAGTGCTGTAATTTATTTTTTGGTTG +TTTTTGGTTTTTTTTTTGGTCTCAAAAAACCAAAAAAACCAAAAAATCAA +TTTTTCCCAAAAATACCAAAAAAAACCAAAAAAAAACAGCCCTGGTCCCA +ATGTACAGGTGTTGTGGTGCTTTTTGTGAGCTCTTAGGCCAGCTGGAGTT +TTCTAGGCCACTTGTAAATCAATGGTTTTTTTTCGGTGTTCTAGGCCACC +TGTCACGCCTAGACCATTGACCTAGAAGTTTAATGTTTTTGAATAATAAG +TACACGTACTCTCACATACCCGCAAATGCACATATCTATCTTCATTTCGT +GATTCTCTTCATCTCATCTTATTTTCCATTTCGGTTTACCCTTTTTTTCT +CTATGAATATATTTTCATGTACTTGCTCTTCTTCCCTGAAAAAGATTCTT +TTACACTTTTTTCATTTCCTTAGGCAGTTGTAAAGAACTTGTCATTAGAA +CTTTCAGAATGACATCAGAGTAGATGGCCGAACTTTTTCTAGGCCACGGC +TTGGGAGCCAAACATGGCTAAACATTCTAACTTCCTGGGTCATCTAGAAG +TTTCTAGGTCTTATGGGTGAAAATTGTCAAATGACAGAATTTTCTTAAGT +TATAGTTGAATTTCCCGCCAAACCGATTTTTTTTTGAAAAATTTAAATTT +CCCGCCAAAAATTTTTTGAAACGTTTAAATTTTATGCCAAACTTTTTCTG +AGAGAATTTGGTTTCGCTCCCAATTTTATTCTCTGAAAATTTTAAATTCG +CACCAAATTTTTCGAGAGCTTTTTGAAGTTCCCGGCAAAATTTGTTTTCG +AAAAATTAGATCCCCGTCAACTATGATAGAGAAGTTACGTCATCTGGCTA +CCCTGGCCGAATTTTCAATATATTTCTAGGCCACATATTGACCGCTAAAT +CATGTTGTGGAAGAGTAGTGACGTCACTTGGCGACCGCGACCATCGAGCA +GCGTGAGGGGCGAAGTATCCCCCTTCCCAACCCTAAAGACGTCGTTCATC +GCTCCTTTTTTGTTGTTGTAGGAGTTCCGTTTTTTTGTGTCTCGATTCGT +TTCCTCCTGTTTGTTGTCATTTCTGAACTCATCTCTACACTTCTCTCGTC +TTCTCTGCGTCTCTCCATCCTGCACACTATTTTTGTTTACCTCGATGATC +TTTCTTTTTGCGTGTGTGTCACTGACGAACGAACGGCTGACACAGACTAT +TGTTTTAGTTTTGTTGTTTAGAAGTAGTTGTAGTATTCCAATAGTTTTTC +ACACTTTGCATTATTTCAGATGGCTCAGGACGGAGACCGCCATCACATTT +TTGTCAGTGCTCCGCCGCCGCCGCCACCTTCCTCGTCGATTCCAGCTCCA +TCGCAGGTAAATTTAAGGTTGCAAGCGCGCTCTAATGACCTTTTTTGTGC +CTCCGGCTCCTCTTTGGGTTATTGCCAACGCGCTCCAATTCGAATTATTC +TTACTTTCAGCCAAATAGACTGGAAAAGGAGCCGCTCATCGATGAGGAAA +CTGACATGATTGACGAATCCCGAGCCACGTATTGGAAGGGATGTGAATTC +TTGAAAGCCTCTGGGTTGTACTCGAGTAAATGTGAGTTGGTCTAGAAAAT +TTGTAAAGCTCTTCCACGAAGTAATTAATAAGGGATACTATTGCCGACAC +CCAGGAACACGTATACCACGGAATTCAAATTTTAATTTTTTGAAAATATT +TTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATT +TAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAAT +TTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAAATAT +TTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGACGGGAAT +TTAAAATTTTAATTTTCTGAAAATATTTTGGCGGGAATTCAAATTTTAAT +TTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAAATAT +TTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAAT +TTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAA +TTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAAT +ATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGA +ATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTA +ATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAA +TATTTTGGCGGGAATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGG +AATTTAAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTT +TAATTTTTTGAAAATATTTTGGCGGGAATTCAAATTTTAATTTTTTGAAA +ATATTTTGGCGGGAATTTAAAATTTTAATTTTCTGAAAATATTTTGGCGG +GAATTCAAATTTTAATTTTTTGAAAATATTTTGGCGGGAATTTAAAATTT +TAATTTTTTGAAAATATTTTGGCTGGAATTTAAAATTTCTGAGAAAAAGA +ACCTTCGTGTCGAGACCCATCGTGGTGAGACCCTTCGTGGTGAGACCCAT +CGTGGTGACACCCATCGTGGTGAGACCCTTCGTAGTGAGACCCTTCGTGG +TGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGACCCATCGTGGTGAGA +CTCATCGTGGTGAGACCCTTCGTGGTGATACCCATCGTGGTGAGACCTTT +CGTGGTGAGACCCACCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGG +TGAGACCCTTCGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGA +CCTTTCGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCTTT +CGTGGTGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGACCCTTCGTGG +TGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCCATCGTGGTGAGA +CCCATCGTGGTGAGACCCATCGTGGTGAGACCCATCGTGGTGAGACCCTT +CATGGTTAGACCCATCGTGGTGAGACCCTTCGTGCTGAGACCATTCATGG +AGAGACCCATCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGGTGAGA +TCTTTCGTGGTGAGACCCATCGTGGTGAGACTCATCGTGGTGAGACCCTT +CGTGGGGAGACTCTTCGTGGTGAGACCCTTCGTGGTTAGACCCATCGTGG +TTAGACCCATCGTGGTGAGATCTTTCGTGGTGAGCCCCATCGTGGTGAGA +CCCATCGTGGTGAGACTTTTCGTGGTGAGACCCATCGTGGTGAGACTTTT +CGTGGTGAGACCCATCGTGGTGAGACCTTTCGTGGTGAGACCCTTCGTGG +GGAGACTCTTCGTGTTTGATATTATATTGGCGGGAGCTAAGGAGTTGGTG +TGGGATAATGTCAAGGTACTCTAGGGGTATTGTGGATTTGCTGTAGGGTT +ACTGTAGTTCAGAAAAATTGACTTTGTGCTTTTGAAGAGGTATTGGCTCG +AGAGTTAGAGAGGCGGAAGCTTCTGTGATATTTTTTACATTCCAGAATGT +TTGAAAAAGTAAAAGTTTCCACCTGTTTTCATGTGACATTGTTAAAAGAT +TATATGGTGTTTTATGTGTCGAACAATTTAAATTTCGCCAGTCGTTGGCC +GCGCCGTAGGCGCGGTCAGCGGCTGGTTTTTCCAGAAAAGGAATAAGAAA +TAAATTATTTGGAAGTTACTAGGACCCTGAATAGAATTCTAGGCCATATC +GAAAAAGGGGATGGGTGCACGTGGGAACCTTTTTTTGGATATTTTGGAAA +GAAGTAAGAAGTAAGAAGTAAGAAGTTGACTTAAGAAGTTGACTTTTCTA +GAGTAAGAAGTTGACTTTTCTAGAGATCATCTCCCCTCTATTATTCTCAG +CGTGACCTAGTTATCCGGAAAACTCTTCCACCAAAAAATGAGTGTCTCCA +ACTGAAAAATGCGTCATAAAACACACGGAAAAGGTACTTGTGTATTACAT +GCCCTCATTTTAATAGTAGTTTTTTAAGCCATGAAAAATAAAAACGTGAA +CCACAATTTGTATTTTTAGGCTTAGGAAATAACATTTTCTAAGCCTAAAG +AGGAAAATGTGTAATACACAAGTACCACGGAAAATTTTTTGAAACCTTCC +GAATTTGAAATAATTTAACTAAAAGTTTCTAGGCCACGATGAAAATAGAA +ACAATGATGTCCCGATTTTGCTGAAAATTTCTGTCCATAGTTATTTAGAG +TTCTGAAAAAAAAGATTTTCGAGAAATGATTTTCTAGGCCACCAGAAAAG +TTTCTAGGCCATTATCCCTTCTTGATCCTTTATCATTATGATTATGATAT +TTTTTAAACGATTTTTTAGGCCACCAGAGGGAATTCTAGTCCGTGTCAAA +AAAAAAAGAAAGGGGGTATTCTTTCCACATAAAAATCCCGTTGGCCTTTT +CAATCAAATTTCTTCAATTTTTCGCATAAAACTTACCTCCCGCTGTGACA +AGCCTCCTCCCGTCTCCCAGTATTCTCAATTCATTAATCATCACCCCCAA +TGCCCTCATCAACTACAGTATCCCTGCAATCCGCGTCTGCAAATATGTGC +CGAATATGTCATACTTCTACGTCAACGCGGTCAAATCCGCTCATCTCACC +GTGTCGATGCTCTGGAACACTGCTCTTTGTGCATAAGGCGTGTGTTGTGG +TGAGCTCTTTTTTTGTAAAATTCAAAATAATAATTAAAAAATTTAAAAAA +AAACCTTTTGTGGAATTTGCAATTTTTATAAAATCGTTAAAAACCAAATT +CAATTTATACAAATTTCCACATTTTCCAAAATAAAAAGAAATAGCCATGC +CCACAAAATGGGCGGCGCTTTCATAGCCACGTCCATTTTGTGGGCGGAGC +CTCGGATCAAAGTTTTTTCAAAAACTTACTATAAGTTGAACACGGATTTC +TGGCTTCCTTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGGCCATTT +TGGGTCGGAGAGATTTTGTGTAGATTTACGGCGTGTTGCGTGTCGCGTCG +CGGCTCGTTTTTAGTTGTAAAACTGCTGTATTTGTCCGTGTGGAGTACAC +GATTTTTTCCACGCGCTGTCCGGCAGGCGATTGTCAATGAGGAGCGAAAA +TTCAATGCGAAAGGCCAGAAGCCCGTGGTTGAAGTGTGGTTTCAATATTA +CAGAAATTTTAAAGAGGAATAAACATGCCTGCCTACAAAATGGGCGGAGC +GTTGGAGGCGTGGTCTAAGAAGTCACGCCCTTTTTTTTAAATACTTGTTC +TGATGTACAATAGAGCGCATTTACATCAAATTAATAATTTGTTTTTCAAT +TTTTCCAGAGATGGCTGGAAATGTCGACTCGAAAAATGGTCCCATCACCA +CGTTGCGAACTATGCGGCTACGATTATCGACGTGGAAATATATTTCAAAT +GAAATCTTTACATGTTCCACACGTGGATCGATCATCTTGTCTGCTCAATG +TGCTCTTTTTGATTACCGTATTAATTATGATATTTTGTGGATATTTTACG +ATTCAATTCATTCAGGAGAATGCACTCTTAAAACGAAGGTGGGCGAAGTT +TTCTGGTGATGACCTAGGAAATTAGAAAACTAGGCCACCCCGCAAATGTG +GTGGCCTAGAATACCGAAATTTGACTAAGCTATGGCCTGCGGCCTAGAAA +AATAAAAGTAGACTGTATAAAATTCTCATCAAGCCTTTTGGAGATGAACT +GGAAACCCAAATTTTTTGGAAGAAAATATTGACCTCCTTTAAAACGGTGG +CCTACTTTTTCTGATGGCCTAGGATTTTAGACAAAGAAGCCACACAGCTA +CTATCCACATAGTTTCAGGAAAAAAAATAAGAAAAATAGGCTCCGCCCAC +ATATTCTTTTGAATTAGAATATACACGAGCCATTTATTTTGCTAAGTTTT +GAATGTTAGCTCCGCCCACATAATGATTTGAATTTCCCGCCCATTTTTCT +CTCAAAAATTTGAATTCCCTGCCAAATTTTTTTTTGCGAAAAACTCAATA +CTTTCAGGCTCTTCGCGCACAGTTCGACAAACACAGCGTACACGTGGAAA +CGGCGTGGCTATTTCAGCGGAAACGGGAATGGAGACGGGGACGGTAGTTC +GGATGGATATTTCTCGCGTACACCTGTCTCATCACTTTTTGACATAAAAG +TGGTCTTGTGTGCCAGCATGTTCTTGGTCTCGTTCATTTTGGCCCTTTTT +ACACAGTATAAGTGAGTTTTTTGACACGTGGCCTGGAAAATGAGAAAACT +CGGCCACCGATTTTTTCAGCCGAATTTTTTTAGTTTAGCGGTCACACGGG +CTTCTGGCCATTCTCTCTGCATTTTTCGCGCTCCATTGGCATTGGCTTGC +CGGACAACGCGTGGGAAAGTCGTGTACTCCACACGGATAAATTTGTTCAG +TTTTACATTGAAAACCGAGCCGTGACACGCCGTAAATCTACCCCGGCCGT +GGCCGAGTCAAAATGGCATAGTTCGGCAAATTCTTGAATTTCAAAATATG +ATGGAAGCCTGAAGCACGTGCGGTCATAAAAATCAATAAATTATCTTTTT +TTTCCAGAGCCGAGTCCACGATATTCCGATGTATTTTCCGATTTTTTGTG +ATCAATAAGAATTGGATGATCAAAAACTACGATATCAAGTGAGTGGGCGG +AGTGTAATTTCGGCGGGAAATTCAAAATTTTTCAAATTTTTCAGAAAAAT +TTCGCGCAAAGTTCAAAAACTCAAAACTTTCGGTAAATTTCGGCGCGAAA +TTCAAAATGTTAAAAATTTTGGGGAAATTTTGGAGGGAAAATCAATTTTA +AAAAACGTTTGTTTGAAATTTTTTTAATTTTCAGAAATGATCCCGAAATG +GCTCACCGCCGCGGTCTCCAGAAGTCTTCACCTGTTCCGTTAACCTTATC +AGCTTCTGATATGTGTATCCACGTGTCATCCTAGTCAACAATTCAACGAA +AAAAACCATTCCAGTTACAATTTCTCATTTCTTTTCACCACTTTCGGGTT +TTTTGCAAATTAAAAAAATTTCGATTTTTTTTTTGAAATTTTAATTTTCC +AATTTTTATTTTTATTCCACAACTCAGGTTGCTCAACAGTGCCTAAAATA +AATTTTATTTCTTTGATTTTTTATAAATTTACAAAAAAAATACAACAAAA +AAATAATATTACACATTCGTGAAAAACGGAAAAAAAATTCAGCCTATTTA +CATTAAAACACGTGGAATTTGAAATTTTAGCGATATATCGATTACCCTTT +CTCGGAAAACTCGTAATAAATGTGAAAAAGGCGAGGAAATTGGAAGAAAT +AAATGCGGGGGTTTCTAGAAAAAAAAATTGGGAGAAAGTTTAAAGAAAAA +TTCAAAATAATGCTCCGGTGTCATCGTGTTCCACAGTGGTTAGATTCTGG +TATTTTGTGCATGGTGTGCTCTGAAATTTAAAAAAAAAGTAAAAAATTGA +AAAAAAAATTTCTTAAAAATTAAAAAAAATGAACTTTTTTTTAAAATTTA +TATTCAAAAATAAAAATGTTTGGTATACCTAATTATTCATACTTTTATCA +ATTTTCGAGAAACTTCAATTTTTCAACTGCTAACGTATACAACTCGCGTT +ACTCGAAAAAGACCTGGGGACTAGTTTCCCACTTGGTGGCCTAGAAATCT +CCAGTAAAAACATCGACGACCGAGATATGAGTTTCTAGGCCTCCATATGA +AAAAAAAACTCGGTCGGGGACTAGGTTTCCACATGATGGCCTTGATAACT +TCAAATTTTTTGGTGACCTAGATTTTTCAAAACTTGGATTACTAGGCCAC +TAAAAGCTTTTCGGTGGCCTAGAAACCAAAATTGCGTGAATTTTTCATAA +TTCTATATCAAAATTGACTAAACCGAAAAGAATGCGATGCTTTTGCAATA +TTTCAGCAGTTGGTGTATCCCACGTGGCGACGGGATTTCGGGCGACCGTG +CCATTGATTAGAGCCAACGGAAGATATTTTGAGCATTCGGCGGTGCTCTG +CAAAAATTTTTTTTTTGCAAAAGTTAAAGACGCATGGTGGGTCTTGATCT +ATGAAATTTCGTGATTATTCGAAAATTTTTTGTCCTTATTGACAATTTTT +TTATCCACAAAAAAGGCGGATGTCCTAATTGCCAAAAATGTGGGTTTCTA +GGCCACGAAAAATAATTTTTTGCTTCAAACATCCTGCTTTTTTTCCAAAA +TTTAGCTTTAAAAAGTCGGTGGCCGAACTTTATTAAAAGTTCAATTTCTC +GGCCACAGAAACTTTGTTTAAGTTTTCACATTTGGATTTCTAGCCCACCA +ATAACGTTTTTATTTCATATTTTTATAAAAATCGAATTAAAAGTAGATGA +TGACCTAGTTTTTTTTCAATAATTTGGGTTTCTAGGCCACCAACTTTTTT +TAAAAATTTTCTTAATTTTCCATAACCAAAAAAAAAAAACAAAATCGATG +GCCTAACTTTTTGGCTTCCTAGGCCACCAATAACTCTTTTATTACTAATT +TTCCTCACTCTCTGATGTCGATAAACACTTTCTTGTCTCGAATATCGCTT +CCCACACCCATCACACTCAAATGCTCCATTCGTCTCATGAGTGAGCAAGT +GTTGATTGAGCCCATGCTTTTGCCGGAAAGTTTTCTCGCAGTCTCGACAT +TTATAAGGTCCATTGTTGGGCTGGGCCTCGTGAGCCGACGACGGGGCCGC +CCGTTTTTTCGCCCTTTTCCCCGATTTTTCCGGTGAAAAAGTGTCGAAAT +ACGCGTTATTGTCATCTAATTTTGGTACATTCGCCAACATTGCTAGATTC +TCCTGAGCCACCTGTTGTGACGTGTGAGGAATGTGATGGTGCTGATAGAG +GTCTGGTGGTGGCTGAAAATGGGGAATATTCCCGGCGCCGAACATTTTCA +GAAGTTCCAGGTCGAATCGTTGTTGAGCATCCGCGTCGACTACTTGATTG +AGGGAGACGGTGAAGTCAGTTGAGGAGGTGGATGGCAGTTTTATAGAGAA +ATCCTGCAAAAACTCAGGTTTTTGCTAAATTTTTCAATTTATCATTGTAA +TTTCCGAAAAATTATAGCTTAATTTTTAGATTTTTCGCTTGATTCTCAAG +TTTTTATGCGAAAATTTAGTTTTTTGTCAATTTTTTTTTGTTTTAAATGT +AAAACTACGGTATTTAAAGGGAGGAGCACTAATTTATGCCGATGGGTCTC +GCAGCGAAAACATTAAATGCCTTAATTTAGCCATGCGCCTGGAAGGTTAC +TGTAGTTTTTATTGATTGATTTTTCATTCAATTTGTGGTTTTTGAAGGTT +TTCAACTCATTTTGAAAGGCTTTTATAGATTTTTTTTTCTGAAAATCAAA +TTTAAATGTTAAAATAATTTTTTTTTTTTTTCACACAAAAATAACAGAAA +TTCCGAAAAATTGCAATTTAAACAGCTCTAAAATATGAAAATTAACGCGA +TTTTTATCATTTTTTGCTTCAAATCGCTGACTTCTGGCAAAAAAAAGGAA +AATTCAGCAAAAATCAATTTTTCAGAAAAATTTGATTGATTTTTGGAATT +TTTCTTACCAATCCGTCGTCTTGCCGTAAATCCTGTAGCTTCATCTCCTT +AGCCAGCAGATTTCTTACATCTAATTGCACGTGGCAATTGCAGTTCTGAA +AAAAAAATGTTTTTGAGATTTTTAGAAAACTTATTTTGTAAATGTTCTAG +GTGGGTTTTCAAATTTTTTTTTAAATTTAATTAAATCAAATTCTTCTCAC +CGTCAGTTTCTCTTTGACAAAATCGCTCAAATTCTTCTGATTTTCCTGAA +CTTTCTCCACTTTCACGGCCAAATCCTGCTGCTCACGCAAAAATTGTTTG +ACAAGACACGTTAGCTGGTTCACATTTGATAGATTGTCCGGGATTTTTAT +AATCTGAAATTTGAAATTAAGGATTTTAGCGGTTTTTTCGGCAAAACGTA +AACTTTTAACGCTGAAAACTCACATTTTTCGAACTCCGCTCCAATAATCG +TCTAGTGAATTCTTGAATAAATCCGGTTGCTTTCATAAAATTCTGAAATT +CCTCATTTCCAATGAATTCGCCCATTTTCCGATGGAAGAAAAACCAATGG +AAATACGGCAATATTTGCGCACAAAATCGATGCTGAAGTGTCGTCGGACG +CAGTGTTTCGTGTGCAGTACACGCCTACGACAAATTGCGGACTTTTTTGT +TATGGAGAGAGTAGAATAGAGAAGAAAAAAGAAGATAAAATGGATAAAAA +TTGCGCGTTTTTCTCGTTTTTTCTCTGAATCTCTCAATTTTTAGGTTTTC +GATCCATATACGTCCCGAGTGGAGATGAAGCCATAAATTTTTCTCTAAAA +ATTGTTTCTTGCCCCTCCAAATCGCTTATTCGTTTTTAAAATTATGAAAA +AAAAATGCTAAAAATGCTTACCAAACCGCAAATTTTTAATTGGAAAATAC +CCAATATTTTGCAATTTATAGTTTAAATTCAAGAAGGTGCCAAAATTTCT +GCAAAATTGCATATCTTCATATAAATTGTTACATTTTTTGTAAAAACTTG +AAAACCCTGCTTTTCACATAATAGTACTGGAATTTTTCAATTTTCAACAA +TTTCATAATTTTTGACCAATTTTTTATTGAAATTTTCAATAAAATATTTA +AAAGATGTGGCTTTCCAAGCAGATTTTCCAATTTTTCCGAGTTTGAGTAA +CTAAGTTTCAACCAAAATGATGTCACAAGTCAGAAAATTTCCCTAAATTT +CAAAACACAGGTGAATAACTATAGGATTAGAATCTGCAAAGATTGAGTCT +GGAGATAATTTCGGACATTTTTTCGGATAGTTTACGTTTCCTGTAGTTTC +AAATAGGCAATTTTACTTTAAAGGTTGCTAATAAAATTAAGAAAAATCCT +TATATAGTCTCCACCCACAGATTGGCTTTTTAGATATTTTCAAAATATCT +TGTAACGAAAACTACAGTAATCTTTAAAATTAAAATTATTACTGTATTGC +TTTTGTCCATTTACGGGCTCGATTTACGAAATTAAATTTAATAATCTTTA +ATCTATAGAATATTAAAATTAAGCAAAAAATGAGAAAATAATACGAAGAA +ATGAAGGAAAATGGAATATCGGTGTAACTATCCGAAAATAAATTCATTTA +GAAAATCGAGCCCGTAAATCGACGTTACGAAGAATTACTGTAGTTTTCGC +TACGAGATATTTTGCGCGTCAAATATGTTGAGCAATACGCATTTTAAGAA +TTTACTGTTATCGTAATAGTTCAAATTTTTCGAGATAATAGTCTTCCAAA +AAACTATTGTTTAAGGTTTTATTTTTTCCGTAATCTAAATTGATTATCAC +TAGACACTGTTCATTAATCATTCAGAACTTGTATAATCCATCTCGGTTAA +ATTGTTGGTGAGACAAAGTGTAATCTGTTCTAGTTGGGTCACACGATCCC +TTTTCCACTCAATCGCTTACCCACTCAACACTATAGACTAGACACTCACA +CAGGAAATAGTATTGTTTACCTGTTTTCTTTTGGACACTGTTTATAACTT +TTCCCTCTCCGTTTCTCTACGTTTAAATTTGTCAAAAATTAATAATTTTC +TTACTTCCACATTCAATACTCATTTAATGACCGGTATTTGAAAATATTTT +AATTTTTTAATCTTTAGTTATTACAGGAACAGTAAACTCTGGGAATTCGT +ATTGCACAACATATTTGACGCGCAAAATATCACGTTAGCTGGCATAATAT +TAGGCATATATTGTTTCTACAATCTTGTAATGTATAACTGACTAACATCT +TTGAAATAAGTTTGTAAAACTTGTGAGTTGGAAAACATTGTGCATGGATG +TCGTGTTTCGCGCACGCGCTAGAGTAGTCATAAAAAGATTACTGTAGTTT +TCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAGTATGCATTCTC +AGAATTTTGTGTTCACGTAATAAATTAAATTGTTAAAAGATATAATAAAA +GTTAAAAGATATAACAGATTTTTTCTCACTTCCCTAATATGTTTAATAAT +CAATCATTTTAAATTGTGCCGAAAATTTTCCGTTTTCCAATTGTTCGGAA +TTTTTTCGGTTTTGCTCGAAAAAACCAAAAAGCAAATTTTTATAAATTTC +CCTGGTGTTCAAAATTTTCCCGCAATTTTTACCTATTTTATTTTCAAAAT +ATTTATTTATTTCAGTTCCCCCAAGTCAAACCGTTCGATGTTGTAGAAAT +GGAGATAATTCCGCTGCATTACGGAGCACAAGTTGGGATTTATGACGAGG +ATCATGAGGTTGGTAGATTTTAATTTGTTTTTTAAATCGTGGCCTAGCAC +ATTCTAGGCCACAGGTAGTGACGTCACTCTGAACATTTTCAATATATGTA +AATTTTAAATTCAAACTACTTAAAACTCGGAAATCACTTTTTCCGTCAGA +TACACAGAAATAAACTAGTTTTACCTTTTAAAAAACTAAAACCATTGAAC +TTTTCACAAATGTTCTTTGAAACTTGAGATAATCTGCAAATCCCAAACTA +TTAAAAACTGAAAAAGGTAGCCTAGAAAATGAAAATTTTCAATAGTTTTT +TCAAGTTCAAAGAAAAAAAATTGAATTTTTAAATTGTTTTTTTTCGCTAC +AAGTCAAAATTATATTATATTTATTAGTTTTTTTCAATTTAAGAACATTA +CTAAAATTAGTGCATATTTAAAAAAAATGTTTGTTTCGGAGAAAACAACT +ATTAGTAATTGCACTGCAATCATCAGATTAGTGAGGAATTTAGTTCTATT +TTTTTCTTTTTTTTCTGTTTCAAAGTCGTTTTTTCATGAAAAATAGACCT +TCGAGCTACTGGTTTTTTGAGAAATATTATTTCAATTTTCAATTTCATGA +TGAACAACATTTTTGGTAACACATTTAATTCTAGTAGAATATTATCCACT +TTTTCTCTAATTTTTCAAAATTTATTCCTAAGTTTTTCTGATCAATGAAG +AACTACCTTTTTACGACAATATTGCCTTCAATTTTTTCTCTCTGAAAATT +CGAAATTTATCTGAATCAATGGTGCCGGTTTTCTTATTTCTGAATAACGA +AATAGATTTTTTATTTATTTTTCAACAATTCCCGGAAATTTCTCTATTGT +TAAAAACAAATGAAGTGAAAATCGATTTTTTTACTTCGAAAGTTTAACAT +GAAATTCGATAAATTTAATCTATGATCTTTCAAGCTCCGCGAGTTTGAGG +CGGGATGTTGATAATTAGAGATATGCCGGGGGAGAACACTACTCTCCAAT +TATATTTCGGTTGCTCGAGAAATATTTTTAATGATAAATACTGGATACTA +GATTCTATAGAAAACTAATTTATTTCAATAAATTTATTATTATTCAGGAG +AATTATATTTTCTTGCTCGAAAGAAAATAAATAATCAAAAACCGACGCAT +TTTCCTGAATTTATAGTTATTCAGAAGAATATAGATTTTTATTTTCAAAT +TCTGAGAATTCAGAAAACATGGCTATTTGCCGGCCTAGAAAATAGAACAA +CTAGGCCACCGATCATTTTTGTTTTGCCGTTGTCAGGCTTCTGGCCTAAC +TTTCTCTATCTTAAAAGATTCCCAAATTCAAACTACTGGCTTTCCAAAAC +CTTCAAATTGTGGAATGAACTTGTGATTCCAAAGATCTGATGTCAAGAAT +TCAGTCCATAGTTCATATACTCCAACAACACTTTTGGAATTTTAAATCTT +CATGGTTTTCAAAAAGAATCCACCAAATTATTTAGCAACGGGGTTTTCCC +TTCTAAACAATTGTGTGACACAAATCATAATCTCCGTCACTTTGTACAAT +TTTTCTAGTTTTGGTGATTTCCCCTCATGAGCTCAACGCGGCGGAGTAGA +TCTTCCATGCAGGCGTTAAAACGCCTGCCTGCCTGACTTTAAGGCGGCCT +CCGCCTGCCTAACGCTTCAGTCCTAGTCTTGTGCTAAACCATACATGAAC +TATTTTTCTAATTCTTAATTTGGTTCTCATAAAATTGATAAAAATTAGGA +AAATTTGAAATCTGAAATTTCAAGTAAAAATGGGCGGCAAACTTTGTATA +AAAAAAAAAAGAAAGCTCGGCCACCAATTTTTCAAAGTTTCTTACCGCTC +TCTGTCTTGCCTCGGGCAAGCCCTAAAACTTTAGAAAACATCCCCGAACA +AAAAAGTAATAAATCCTTCAAATGTGGGAGATGCCCCGTGTATATGTCAC +CTGTCGACTCGTCGAAAACGTTTGTGCCACCCGGCTCTTTACCTCGTCTC +CTCTTACTCATCATTTTACTGCCCCCGTTGCTTTCCGGCTAATGAGGTTC +TTAGGGCGTAGGACGCCATTGATTTGTGCTCTTTTCAGGCAAAATTTTAG +ATTTTATTTCTCTGATTTCACTCAATTATCAGACAATCTAAGTTTTTTGA +CATGTTCAATGCTGGAAGCAATTTTCGATTTTTTTATCGACCATGGCCTA +AAATTACGGGTCAATTTCCTGAAACGGACGAACATTTTTGAAAGCAAAAC +AGTTTGTAGAGTTTCGCTAAAATTTCTGATTTTTATCGAAAAAATCGGGC +ACACCAAACAAAAGTTCGTTTGTGTCAGGACCTTGACGGTACGCAATTTT +CGGACAAACCACGTGTGGCTGATTCAAAAATGTCAACTAAATTGACATCT +TGAAAACATTTTTTTCACCTGAAAACCACTAACAGTGTCAGGTTAATCCG +ATTCAAGCGCTATTTTTATGAACTTTCCTGAAAGTTTAATTCCACACGTT +GTGAGGGAATTTGACACATTTTTAGAAAACCTGATCTCACGGTTAATTTT +TAAACACTTCGAGGGCCCAGAAATCCTAGTTTTTTTTCTGGTTATTCATA +GTTTTTCTAGAATTTAATTTCACATCTACATTTCTAAACAAAACTTTTGA +AGGTCCTTGTAATTCTTCTCTAGTTTTTTATTGTCAAATTAAGTTTTCTC +CAAATTAGGAAGAAGCGATAATTGCGGGTTTTGTGAGGGAAGTTTGTCGT +CGGTCCATTTGTTTTGAAATGAGAATCGGAACGATTTCCTGTCTCCCGTA +GAAACCAATTAAACGAAAACTTTTTTTTTTCATTTCGTTCATTTTGCATG +CTTGCTAGCCTCGTCTATTGGAATTCTTTTGTACTATGATTCTATTCTAG +TTGTGTCTGCATTAAAAAAATCGATTTTTTTGTTGAGTATATTTATTTTT +CAAACAAGCCGAAAAAATAGATCAAAACTGAAAATTTTATAAGAAAAATT +TCAGTTTAAATCTAGTTTTTTTTTCAATTGGCCAACTTATAATTTATATA +TACTCTCAAAATCAAAAAAAAATGCACATTCTATATTACCCACAAACATC +GAAAATCCGCTATTCCCTCAATTATAAAAAATGTGAGAAAATCCTCGATT +CTTGGTTGCTATGAGACAGATTTCAGATTTTTCACCGGATAAACAAGACG +TTATCATTACTTTTCAGTAATGCGCGTTTATTTTTCTATTCCATTTTTCG +AATTTTGAGATGTTGTATTATTTAGAGAGCACGAAATTCTAAGAATGCGT +ATTGCGCAACATATTTGAGGCACAAAATATCTCACAGCGAAAACTACAGT +AATCCTTTAAATGGCTACTGTAGCGCTTGTGTCGATTTATGTAAATCATA +TATTCGTCGATATAATATTGAGCGAAAATTAAGAAAATAATACGAAAAGC +GAAAAATTAATATCGAAAATCGAGATTCCGTAAATCGACACAAGCGCTAC +AGTAGTCATGTAAAGAATTACTGTAGTTTTTGCTACGAGATATTTTGCGC +GTCTAATATGTTGTGCAATACGCATTCTTAGAGTTTTGTGCCTCCCGTAA +TATTATGTACAATGCGTATTTCCTCTGCATGCAAGACTAATTTCCGATTG +GTCTGTAGAGGTGCAGTTGGCTGGCTGACTTTTAATACTTATGTTCCTTT +AAATTTTCAAGTACGATTAGGAACCCTTTCTCTCAGAATTTCACTAGTGT +ACCTTAATGTTTGTCTTTTGCTACCTGAGACGATCATCAAGTCTTTTCTT +TTGTTTGTATTAGATTTCGCAGTAAAATTGTGAAAAAAATTGCAAAAAAT +TGAGAGCAAGAGCAGAAATGTGCACTTCTCGTTGTACCACGATTTTTCGT +TTTCCCACTAAATACCTATACGTATAGGATTATCCAAAGATGATCCCGGG +GATCACCAGTTCTTAGTTTCCTTATCAATTTTATATTACTCGTATGCCTT +CCTCGTTTTTTTTTCTAAAGCCATGAAAATCATAGGTATCGCCTCAGCGG +GTCGTAGAAGGAGCACAATGTACTCGAGCTCGTCACGAAGACCGTTTCGA +CGGCTGGTTCCGCTTAAAATGGTTAGAGAACTGGGTCTTGATGCGATCCT +AACAAATTTTTTGAATCTCTAAATAGTCCCTATAGATCATGTAATAATAT +AGGTTGAACGTTTTACAGAATAAAGTTTTACAATAAACTTTATAGCATGG +GTGTGTGGCAAATTTGCCGGACTTGCCGTTTTCCGAGATCGGCAAATTTG +CCGAGTTTGCTGCACACATGAAAAATTTTTAATTAAGATTTTGTGCAAAA +ACTAATGTAGCCCCTGGTTTACACCTTTTTACGATATTCTGAGTACATTC +GAAAAGGATGTTTTAAATAGATTGAATATCAAATCAAAAAAGAAAGTTGC +ATGAGTATTATATCTAAAAACTTTTAAAGAACACATTTTCAGGCACAAGG +CCGAACGGCAACCGACTACGCGGGTCAGGACTACGATGAATGTTATGATA +GGTTAGTTTCTTTTTCTATTATTTCATTCAGAATATTACGAATTAATGCT +TAAAAAATTTTCAAATTAATTTTCAAATCAACCGCCTTAGCTCCACCCAG +CTCTCTAGATCGCAACCCGCAATAAAGCCCATAAATCAGTGGGCAGCTGC +TGCTGCTCCGTAGTGGATCAGTCTGTCGTCTCTCCGATCAGTGCGCTCTC +GATGATACTCTCACATTTGACCTTTCTCGCTTTTTGTAAACTATGTGCTG +GACACGTTGAAAGTAGTATCAATTGCACTTTTCTGGGTAGTTACCGATAA +AATTGCCCAGATGGAAGAGTTTTCCATAACAATTTCTCTTCCATTTTCAT +CTATCAGCTCTGTGGCCCCGCTCATTAGTGTTTCTCTAGCCGATGCTGTT +CCAGGTTCCCATGGCAATGTGTACATGTGTGCCTAAAGTGAGCCAAAATG +CTCTTTGAATTATTCATTCATCCTATGTTTTTTATTCGTCCTCACGTGAC +CTGCACCACACTGCGCATTAAATATTAATTGGCACTGAAGAGAGCCGCCG +CTCGGGCAAATGTTTAAATTTTAAATTTAATTGATTTATACATATTTGAA +AAATGAGACACTATGTTATTTTCGCCGAATTCGTTCTCTGAGCATTGCGT +TCATATCTTTGCACCTATATGAACAATTAAAATAATTTGTGTGTCCGGTA +ACGAAAAACCCGAAATAAGTCTTGCCTATACAGGAGTTTGTGGAAAGTTT +TCAAAATTTTTAATGCAAACAACGAAGGAAATTGGAGACGTAATACGATC +ACTAGCAATCTGAATTTCTACTTTCAAAACGTTTTTTTCATAAGAAACTC +CATTATCCAAAATCCGGCCACCTTGCTAATCCTGAGTCCATAATAGGCAT +TGCTAAGGCAAATCTAGGGCTTTTGGCCGATAAAAGACTTTTTGATAATA +ATTTCCAAGCTTAAACCTTATTCATATTACTTTTAGTAATCCTATAAGTT +TTGTTTGCAGTGGTTCAGAATTGCCGAACATTCCAAGTTTTTTGATAAAG +GTTTTACATATATGTTGAGCTTAAAAAATAAACTCAAAAAAATTAACAAT +TAGTTCATACGTTATTAATTTCAACGAGTTTTAGTGTAAATATATATGTG +GTCCTCTATATATTTTCCGTATTATTATTATTATTGATTCGCTCCAAAGC +TTTAATTTCAGTCTCAAGACTATACTGCTCAACTGTGTTTATAGTAGTAT +TTTCAAACGAACAAAAAGTGACAATACAGTATACTTTAAACTAAAAAAAA +CTTTGTCGATGAAAGTCTATCGATCAAACTAGCGAAATCCGCCCGTTTAA +TCCGTTTTCCCGCCACCATCACTTATTGTGTTTTCATAGAGCTTTATTTG +ACGGAATTTCCTTTCTTCTGATTTTTCATATTTAACCAAAACTTACTTGA +AAGAATCTTAAAAGGGATTTTTACAACTCTCTGGATCAGATTTTTCGAAT +TGTTTCATTCGCAAAAGAAGAGCGACTCACTGCTATAAATGCAACATTCA +CCACACTATCTCCACAATTTCATCTATTAATTCATACAATGACACTACAA +TAATCCCCACTTGCTCAGAATTTGTCTCTCCCGCGGGGGACAAATTGGAA +TCAATCATTCTGTCGGTCGACCATTGAACCACCACCACACAATATGGTTC +AGCGGGGGGAGGTCCAGTTTTATTGTTATTACGTATACTGCTAGGGGAAC +CCAATTTTCGGACCCCGCGCGGAATATTCAAATTGGAAAGAGTGTGTGTG +CAAAAACTTTGTCCATCTTGTGTCCAGCAGACCAGCCAGCAGCTTCTCAA +TTTCCGCTTCAACTTTCTCCACTTTCCCATGGGACAAACCTTTTGTCTTT +CTTCTGGCTTCTCCTCTTACTTCTTATTCTTCTTCGTTGCCCAAATTGTG +CTGGAAGAACTAGAGATGCTGAAAAGAAATAGGAAAAGAGCACGAAGACA +ATATTTATGTTTTGTTTTCCATGGTTCGCCTCGAGTATTTGATTAGGCTT +CTCCTTGTTGTCTTCACTCGACGTCGTGTTCTCTATTTTATGTCCACTCT +TGAATTCCTGGAGTTTTCAGTGCACGCATTTGTTGAGCTGTAAGAAAGCT +GCAGGAGTTTCCCAGAATTTGATCGATTTACGGAGCGGAGTGTCGTACTA +CTTATTTCCGGATTATAAAATTCTGAGAATGCGTATTGCACACCATATTT +GACGCGCAAATTATCTCATAGCGAAAACTACAGTAATTTTTACGTTTCGA +GAATCGAGCCCCCCTAAATCTACACAAGAGCTACAGTAGTAATTTAAAGA +ATTACATTTCCGAACCTTTCTCATTTTTCAACAATTTTTTAACTTGCCTA +GCGTAGCCGAAAATTAGCGGTAATCGCTTCAAGACCCAAAACAAGCCAAT +TTCATCAAATTTCAAGTAGAATTTTGTGAAAACAACCGTCACTACCATTC +TGATGACCCTTTACTTCGACCGCCCAGTTCGTTAAACATTTTTGAATTTT +GTTCACCTGTCTGCCACCACATATCTTTCTTCATCAAAATTCAACGTGCT +GCGATCATCATCTTCATCTCTGTCTCTTCATCTCGCCCAAATTCATTTCC +GTCACTGCGTCTCGTACTGATTTTTTTTCATTTGTCTCCAATCATTTAGA +GGCCAAAAGACCTCCTCTCAATTTTTTTCTGTCTGTCATTGACCCCTCAG +TTGCGAACCGATTCAGAGTTTACATAAACAAGCTCGCTTTGTATATAATG +TTGAGTGAGCGAGAGAGTGAAAGAGAGAAGACGCAGGAAGCTAAGCGTTT +CCTTTGTTTCAAGCTCTGTCAAATTGTCAATTTTCTAGCTAGAAGATTCT +TATGAAGTTTTGAACATTCTAGATTTAGTTTGTTACCTACAACAGGTGAA +TTTGTCTTTCTTGTCCAGAGATAAAACTTATCGTGGCCTTTTCCGAAATA +GTATCAGATTTCCTTTGTACAAGGGCTTTCGTGAGGCGGTAAATCGCCTG +CCTGACTTTAAGGTGACCTCCGCCTGCCTCTCGCCTCAATACGTTATGCT +AAAACAAACGTGAACTTTTAAAAAAATTTAATTTTCAACAAATTGATAAA +AATTTAAAAAATTTGAAATTTACCTGCCTACCATAGAAGCCCTACCTTGT +TCCACTATTGATGCGATTCATTCTATTACAAATCAATGTAACGAACTCCG +AAGTTTGATAGCCCGAGGCGTTTTCCTTGTTAATTTGATATCGATTATCA +GTTTGACCAACCAAACACCATCGATTTGGCTTGATTTTCAAGGAATTTAT +AGAATTTCGTAGAGTTTTGGACTATGTTTTGCATTTACGTTGAATGGAGA +GAATTATATTTGAATAATTGAATAACTTGTTAATGGTTCAAGGATTACCC +GTTCCGAAGTCTAGAAATGCCCTGGCGATGCTCCCGTCGAGAACTGTAAC +CGATAATCAATCAATATTGCGGGTATTAATTGGCTAATATTCATAATCCT +GAAAAGTTATTTGAATAACGGCAAACTCCCAAGAAACATACCATTTCCGA +GGTGTATGAGAATTTTAACAAGACCTTAGGGTACATAAGCCTATCAGTTT +GAAAAACAATGTCGGAATTTGTGCTTCCATGGTAGACAGGCGCGGTTTCA +GGGTCTGAAGCTTGCCTGAAGGCCAGGCAGACAGGCGTTTTAATTCCTAC +ATGGAAGCCCTAGAATACAGCATATACGGTACCTAAGCCAATTATCAAAT +TTTACTTTTAAAAATTCATTCCACAGGTGTTCCTGTTCTGCTGCATCATC +GTCACACAGACACTTACACGCGCCTTTTCACTTCTCATTTCCCACTTTTT +CTTCGTTTTTCTCGCTTTTTCTTCTTCTCGACACGAAGAAGTAGGATAGA +TCTAGAGACGTCGAAAGCCATAATTGTTTCCGTCGGCGTCTCCACGCGCA +CTCGTACTGTCTACAAGTGCCACACACACACTTGAAGAAAATAGAGAGAG +GTGCAGGAGGAAAAGGAGGGGACGACTTCTGAAAGTGTCGATAACTACCT +CCTATTTGAGTAAAGAGTGCAAGAAATATATGTGCGTGTGTGTCTAATGA +GAGGGTCTTGGAGCGATTTTTAAGCATGTACAGGCATGAATCAGGCGGCA +GGTTCCAGCCAGGCTCTGAAACCGCGCCTGCATACCAGGGAAACCCAACG +ATGGTTTTTCTTTGCCCGGTTGATCCCTTTCTTGGATAGTTTTAGTCTTC +GTCCGTTTTTCATTCATACTCTTTTTGTAACTGTTCAAAAGTCTAGTTTC +ATATAATCAGAAATTCGAGAAAAAGGATTTTTCGAGGCTCTGAAAAAAGA +TCCCAGAAGATTGTGTCTAATTCTAATTCTCTACAGAAAATGCCCAAATC +GAAAATTTTTCGACAGATCCTCGTATTTCGAAATTCTGGAACATTCGGCA +AAGCTGAAAATGTCACAACTTGCCAAAATGAACATTTTCGGCAAATCGGC +CAATAGCTGTATTTTTCAAACTTTCGGTAAACCGGCAGTTCGCCAAAAAA +AATTCGGCCATGGTCTAGACTCTAGAGTTGGGCGGCAGACAATTATTTCG +GGCAAACGCAAAAATTAAAAATGGAAATTGGTGTTCGGCAAATCGACAAT +TCGCCGGAATTGAGAGTTTCCTGCAAATTCGGCAAACCGGCAATTTGCCG +AAGGGCAACTTCTCCGAACTGACACCCCTTCCAAAAATCCGAAATTTTTT +TAGCTTCACCCCCTTCCCTCCCTTCTCGTTTTCTAAAAACCGGACACACC +TCTTACAATTATTACAAACACCACTACGTACGTATTAAACGTCTCTCGTA +ATAAGTGGGGCGCCAAAATATAATGGTTTTTGTTGTGTTTAGTTAGCCTC +CTCCTCTCTACTTCTCCACCATCATCAAATCTACCACCACAATAACATTA +ATTCGATCATCAACTGACTACTTTTGTCTTTCAATGTGGATTTGTAGTTG +TTGGTTATTTGAATTCTTAACTATATATCCATCCCTATGTTGAAAATTTG +AAATTTTTGGTAAATTTGAAAGATACCAAGTTTATGTATATTATAATATA +TTATAAAAATTTCCGGTAAATTGATATCCTGCAAACGGCAAACCGACAAT +TTGCCGGAATTGAAAATTTCCGGCAAACCGCAATTTGCCGATAATAAATT +TGCCTTTATTGATTCTAGGTTTCGAAAAATTACGTGTTCCGTTTTTTTTT +TGAATATTAAAATAGGAATATCAGAATTTTTTATTTTTTATTCTGCAACT +TTTCAAATTATGTTCAAATTTATTATAAAACTATCGTAAGTGTGAATTTG +CAATTAATTTTCTTATTGCTAGGTATCAGTTTTACTAGGGCTGTCATGTA +TGTACCAAAACGCCTACCGCGCCTTCTGTCTAGTGCGGTGCGGAACCCGA +AAAGTGTCGGAATCATCTTTCGCAGTATGTGGTGCTGAAACCAAGCCTTT +GAGTTCTCGCCATAGTGCGGCGAGAGGCCGGCATGAGGCGGGCAGGTAGG +AGGCAGGCTTCAGGAACTGTGTCGCGTCTGCCTCCCAATCCCAGAATACT +TTTTTTTTCAAAAAGTTGCAATGGAAATCAGATTTTCAAACGCAACCTGT +CTTCCTCTTGTACTCAACTTTTACTTGATGATAGTCGATAAAGGTGTGAA +CGCGGTGAGGTGTAACCGTGTGACAATACATCATTGTATTATTCTTTTTC +GCAAAAAAAAAACATTCTTTTGGGTATTATATTCTACCAATGTATCTTTC +ATTTTCTCGATTGATTTTTTCTCCGGCGAAAAGAAAACAAATTGAAAAAA +AACGTCAAAACATAAACATTTGGAAAATATAAAGGTGGATATAAAAACGG +TTTCTTTCTTCTGGAACATTCATTTTTAACCATTTTCCTACATATTTTCA +CGCTAAGCCGGAGCAAAACAGAGACAGTCGAGACTGTCAAAACATGTAAA +ATATACGTTTTTTGGTATACCTATTTATTAACAGGTGCTCCCTTTTCTCT +AAAAGTTTAAATTTGTCGCGAAAAAATGCAAGAAATGTTTTTTTTCTAAA +AACTAAAAACTCGATCAAAAATAATAATTGGGTATTTAAATATTCCGGAA +TCTCCATTTTCTTCCCGTTCCTGCCCTTCCATTTTTTTCTTCCTGCACTT +ACTCGAGTATTCATCCTCTTCTACTGCTGCCATAAAAGGTCTTCCGCTTC +ACTGAAGCCTTCTGCACAGCAGCGTATCCTCCCGCTTCATATCTCGTTGC +TGAACTCCATATAGCTTGTTATAGCTCAGTTTTAGACGGATTTAGGTTCG +AATTTCTGTAGGGTCTCTAGGAGTACTGTAATAAGTGATGTGTCAAAAAT +TTGGCCTAAACTGTCATTGCTATAGATTACGGTGATAGAAATTTGAATAT +GTATGAAATAGTGAAAAATCAGTAGACTGAGCCTTACTCAAATTCACATC +CGTTCGAGATATTTCTGAGTTCTGAATTTCTGTTGATTGCAATTGCCGTA +ACTTATAGCAAGGAAAGAACAATTTGAAGCCGAATTTACGGCACAAAATT +AGTTTTGGTGCTTCTAGAGCCTATTTTATAAAATATATACTTGACACGTG +GCTTTTCAATATCACCATCTCAAGAAATTACCACAATCGTTTCAGGTGCG +AACAAGAGTGTGGCGAGGAGGCGTGGCGAATCGCGTGCTGCTCACGAGTC +GGGAAGATCGCCATCCTTGTCATGTCAATCATTGTATTATATCTTATCAT +ATCAGGTTGGTTTAAATACATATTATTCAAATTTATCTGAGTTTACACAA +TGAATTTTCAGCATTAACGCCCTCCGAAAGCACACACAAGACGGACCTCA +ACGAGCCGCGGCCTGGTATTAATTTAACAAGGTGAGAATGTTGGGAACAT +ATTACTATTGTAGGAAATTGCTCGATAATTCCACACTTATTGAGTTCACA +ATTAATTTCTACTATATTAACTGTGTTTTTGGTAAAGAAGTATCACTTTT +TCCCCTCCCAACTCCGATAATTCGGCATTCCTAGAGTTTTAACACAATGT +TTTACGACATACTTATGAAGAGTTGATGCAAATCGCAAAAAAAAAACAGA +AAAATAACTATTTTATGAATAGTATCATTATCGTATGGTGTCGTCAAAAT +GTTTTGTTGTTTTAGTTTTTTTTTACTCGAAATTTTCTGAAAACACCGAA +TTTCATATTGAATCAAATTTCTTGATAATTTATTAGACATTTCGATTTTA +CAGAGCCAATCAAGTACTCACCGGATTATGTGATGCCTATGAGCGAGGAG +ACGTTTCCGGAGACTCTTGTAATCGACTTTGCTATGATCGAAACTGGCTT +GTCACTGACTTTTACGAAGGGCACAAGACTGTGGTCATAGTGAAAGATGG +CGGACAGATTGCTGTCTATAAAAGCACAAAACCGTTTATGGATCAATTCG +ACGAGCCGAAAGACCATCTGACGGATGCAGAGTTCTCGGATCGAGTAGTC +GATATGGTGAATGATGAGCTGAGACTCGGATGGCCGAAACACTATCGACG +GCATTTAATGGAGACTGTGTGGCCGACACTGTTACGGACCAAGGGAGAAG +CCATGTCGAAAGCGGATCGACGATCCTTGTGGGCTTTGTTAAAGCAGCCT +GAATTCATCCTGTTCCGAGTGTTACCGTTGACACGTGTCACGCCGAAGCT +CATTGGGACGTGTGGACATATGTATCAGACTGAGTCACTGGTGGCGTTCA +AGATGAAAGGGTATTATACGAATTTGAAGGTGGGGATTTTTTTTTAACTT +GATTTTAAAAAAAAAATTTTCTCAATCCAAATTTACAGGCAAAAATCTTG +GTGCATGTCATGGGAACCCTGAAGCTCTTATACGAATTTCTCGACGAACC +CCTTCAATGGTGTGATGTTCGATTTGATAATCTCGGGTTATCAGCAGATT +ATCCGAAAAGGTAGGTCTGCCTGTTTTTTTATTTGATTTTTTTTTCCGAA +AAAATCTACATTTTCAATTATTCGAAACGTAATTCGAATAAAAGTTATTA +ATGATTTTTTAAACAAAAAAATTGATGATAATCCAACCGGAAACTCAAAT +TTTGAAAACCCCTAAAAATCCAAATTTCTCAATTTTTCTGCAGATTCGCT +CTAATGGACGGTGACATGGTGTACACGAAATCGAAATTGGATTCTCTCCT +AAAAGGACGTCCGTGTGAAAGTGATAATGATTGTAAAATTGGAGACTGTG +AGGCGAGATGCACTTCTAATATGGTGTGCTCGTCGAGGAGTAACGGGAAT +TTGGAGGTAAGCTTGAAAGTTGAAAAAGTTTGGAAAAATTGTGAAAAATC +AATAAAATCGGCAAAAAACGAGCTTTTTTCCAGATGGCCGAATTTTTCAT +AGTTTGCAAAAGTTCGTCCACCTGTGAAAAATTGCTAAAAAAGCAACAGC +ATTGATGAATATTCATAAAAAACCAATAAATTCGACAAAAACCTTTTTGA +TTTTTCCAAAAATCGAAAATCACATTCTGATGTTCAAATTGAATTTTCAA +AAAAAATATAGAAATTTCCTAAAAGTTTTAATTCTCAAAAAACGAACGAC +TGACAAAAAATTTTTAAAAAAGTGAATTTTCCGAATTTTTTCTAAAGAAA +AACTGAAAATTTGAGAATTTTCAGTCAGAAATGTGATTTTTTTTTTGATT +GAAAGGAGTTTATTTTGTAGAATTTAACTTCCACTATCAGAAAAAAATTT +ACCTATTTACTTTGTAATAGGAAAAAAGTTGTGAAATTGTTAGGAAAATT +TTTTTCAACTTTACAATTTCCCGGACAGGCCTGTAGTTCCTTTTTTTCAA +AACGTAAAAGAAAAAATTAATTAAAAAGTTCAAACTCCTAGAATTTATAC +ATTTATTTTGCATTCTAAAAAACAAAGTTTTTCTTGATTTTTTTGTGTAA +AAATTGAAAAAAAATCCAAATTTTGTAGGTCTTCTGCGATAAACTGGTCA +ACAAACTGTTCGCAAATCAATGGTCCAAAAATAATAAATATTTGGTCGCA +TGCCGGGATACAGGACGAAATATCACAACTCGACTCAACGAATTACGGTT +AACATGGTCATGGAATCTGCCGGATGTTTAAAGGAATCTAGCTCAATTCT +TTCTTTTTTTTTCTTCTACTCCATGTGTCAAAAAATCCCCGTGTCTTATA +ATTTTCTGGTGCTTTTTTCCATATTTTCCTTTTTTTGTGTTCTGGCTCAT +TTTTCCATGGCTCACAGAGCCCGAAAGCTTAGGATTTTGAAATTTTATTC +GTTTTTTTCTCATAATTCTGTCATCATTTTTTGCTCTGCATCATCATCAT +CATCGTCAACATCATCGCGTTTTATTATGGGTTCATGTATTATTACACTT +TCCTCGAAAAAAAATTTTGACGAACGTGTAATATGTTTCACCTTGTCTCA +TTTGTACCTCGTTCATTGTTACGGGTTTGAAGTTTTAAAACTCTGAATTT +ATATGAAGAATTTTAATTTAAAAAAAAACTTTGTTTCCTTTTTTGAATTT +TTACAGACAAATTTTTGGCTTGAAAACTGAAAAACCCTGACTAAACTTAC +TATTTATGTGTTGGGTATCAACGTGTATTGACCCACGACGTGGCTAAGAA +GATCGTACAACGTGAACTCTATGAACTAACTTATTTATTCCTTAGTTTAG +TAATGTAATAAACTACTCGTCTTCTCCTCCTCGTCTCGCCTTCGAATACA +CAACATTATGAAAAGAGTTTTTCTTAAGATAAAAAATGTTCTAAAAAATC +GATGGCCGAGTTTCCTATTTACGCGGCCACAAGACCAGTAAAAAAGTGTT +AACACAAGTGCGAAAACTAGAACATTTATTTTCAAATTTCACCCGATTTC +TACAAAAAATCAACAAAAAAGTCACAAAATTTAAAATATGAACATAATAA +TCAATATCCCGCTGGCGCTGACTCCTCCCCTTTTCGGAAATCACTGTTCG +CATAGATTTGGCCGTCGGAAAGTCGTTCGGCGGCGGTGACAACTGTCAAA +TTGTTCACTGCCTTCATTACGTGACCACGATCGATCAGGGATTTCACGTA +GGCTTTCGGGAAGTTTGGCTCGTACCACGTGTAATTTGGCTAAAAAATAA +GGAAATTGGGAAAGGTTTTGATTTTATTGATTGAAAAATATTTCATGTGA +AAGTCGAAAATTGATTGAAAATTAAATTCAGAAGTTTTTTTTCTGAAAAT +TATTGATTTTTATTTTTAAAAAATCAACTTTTTGACAATTATCGATTTTT +CCAACAAAAAAAAAATCAAATTTCGCGTGTAATTCTCTACCTGTAACTGA +TTGTGCATCCTTGGAGCATCAACAGCTTGTTTAACATCTGCTTTCAGCCA +TAACGCATGCAGTGCAACTCCAGCAACACCCGAAATAATGGTGGATCCAC +CGGCTCCGCCGACCGCCATAAGCTCCGCCCCTTTTGTGTTAAAGATCACT +AATGGACTTTGACTACTCATGGGGCGTTTTCCAGGGCGAATGAAATTGGC +GGGAGACGGTGGGAAACCGAAGAAATTCGGATGACCGGGAGTGGAAAAGT +CGTCCATTTCGTTATTCCAGAGAATTCCCGTCGATTCGGAGGATACTAGG +GCACCCAGGCTGGAAGAATTTGAGATGGTGGAAGAGTTTTTTTGGCGGTG +GCCTAGAAAATGTCTTCATATCCGAAAAAGTCAAAGTGATGGCCTAGAAA +TTTAAGTTTGTGGCCTATAAACTTGAACTGATGGCCTAAAAATTGAACGT +CGTCCTAAAAATGTTTTTAACTGATGGCCTAGAATTGAAAGGTGATGGCC +TCCAAATTTCAGGTGGGCGTATATAAACTTTGGTTGATGGTCTAGAAATT +ATACACGTGGCCCAGATTATGAAATCACTTCGGTATAAAATCCAGGTGGT +AAACAATTTACTATTAAGACTGCCTAAAATCATCCCCTGGCCTAATTAGT +TTAAAATTTTTGGTGACGACCTCGAACTTGTTCATTTTTATCAACTGCAG +TTGCTTGTCGACTGAGGACTAACTTCTCACTTGCTGGCCGAGTTTTCGAA +GTTCGGCCACCAAAAATTTCCTTTAAAAAAGCCAAACTCACTATAAGTTA +ATGGTAGACGTAACCGAAACTGCATTGCCGTCTGCATCGATAATCGATAC +ATGAGTTGTTCCATGATCCTGCGGTGGTGCTTCAAACGATCCTCCATAGT +AATCATCAGGATGCGTCGTGTCTGTGATCTTCGACCTAACCCAATCCGCC +CACTCTTTTGACGTAATATTTTTGGCGATTTCCGTGGCGTTTGCCACGAA +TTGCGGGTCGCCAAGCCAGCTTCTAGCCGCATAACTAAATTTGCTAGATT +CCAGAAAATGATGGTATAACGTTGCGATTTCGTTGAACGACTTCATGTTA +TATTCGAAGCCATCCATCACGTTAAGTATTGCCTGAGCCACCGCTGAGCC +CGAGGGAGGCGGCGGGCCGCAGACTCCGCGCCCGTTTTTCAGCTTTGTGT +AGATCACATTTTTTGAGTCGTGGACTATTGATTTGTAATTTTTAAAGTCC +TGAAGCCGGATGATCCCACCGTTGGCTTCGAACTCTTTGGCGAGTTGCTC +GGCGAGCCGACCTGTATAAAAGTCGGCGATGGGATCTGTGGAGTTTGCGA +GTAGCCGGAATGTTTCTAGAAGGTTTTGGCGGGTTTTTATCTGCTCTCCT +GGTTGGAAGACACGCTGAGTTTCGGGGTTGATGAAGTTTTTCATGGTGGG +CTCCGCGCGGATTTGGTGCTCGTTTTGGTTGAGAGCTTTTGCAAGGGCAT +GGGACGTTGGGTAGCCTGGAATTTTTTAGGATGGCCTAGAAACATGAACC +GATAACATAGTTACTTATTTTGTGACCTCGAAATTTTCATGATGGCTTAG +AAATTTTTATGATGGCCTAGAATTTTTATGGTGACCTAGAAATTTTTTGA +TGGTCTAGAAATTTTTAGTAATGTAATAAACTACTCGTCTTCTCCTCCTG +AAAAAATTTGGGCCCGTCTCCCTTCGTGGTGAGACCCATCGTGGCGAGAC +CCATCGTGGCGAGACCCATCGTGACGAGACCCATCGTGACGAGGCCTATC +GTGGTGAGACCCATCGTGGCGAGACCCTCCGTTGAGAGACCCATCGTGAT +GAGACCCATCGTGGTGAGACACGCCGTGGTGAGACTTATTGTGATACCCA +TCTTAACGTACACAGTAATTGGAGAAACTTTTAAACTGATTTTTACAAAA +AGTTCAACATTTAACTTACCAAGAGCTCAATATTCCGTTGCCTCGCTTTT +TGTTGCCCTCAGGGATTATTGTTCTGTTGCCTCCATTTCCGTTACCCCTG +TTGTGTTGCCTTCGAGCAGCGTTGAATCCGTTGCCCCCCCCCTTTTTCGT +TGTCCCCGGGGAATATTAAATCCGTTGCCCCCGTTATCCGTTACCCCTAG +GGATTGTTGGCCGGTCTAAAAACGGCCACCAGAAAAGTTTTTGAGCATCA +AAAATGTTCTACGCCGTTAGGAGTTTTTTAGGCCAACAGAAATATTCTAG +GCTCGCAGAAAAAGTGCCCACCTTCAGCCAACAAATCAATAGTTGGTTTC +AACAACTGTCTCCACTCGACTTTTCCACTTCCGAATCTCTCGAATTCAGT +CCGGAGGCCGTGAAGCTCTCCGGGCACCGCAATCGCCTTCCATCCGATTC +TCGACTGATTCCATTTGTCACGGTACATTTCCTCTGTTGCGGCGAGCGGA +GCAATCTCCCGAGCATCGATTACCGTACACTCTTTTGTCGTTCTGGAAGA +ATTTTAGAGGTTTCTAAGTCATTGAAAATATTTTTAGGCCACGGCAGAAG +TTTAAAGGCCACACGCGCTTCTGGCTTTCCTCATATTTTGAAATGGAAGA +GTTTGCCGAGTTAGCCCGTTTGGACTAGGCCACGACCGGGGTAAATTTAC +GGAGCGTCGTGTAGACGATTGTCAATGGAGCGCGAGAAAAACGCTTTGAC +GAAGGCCAGAAACCAGTGAGGCCACAATGTGATGTTTGCAAAAATGTTTT +TAATGGCCTAGGAAAATCATTCTTTCTTCCAAAATTTTTCTTCTTTGTTT +TCCTTTTCGATTATTGATTTTTAGTTGAAAAATCAATATTAATAATTATC +TTTTTTTTTAATTATTGATGTTCCGCTCCAATTCGTGGCGAGACCAACAA +CTCACGCATTATAAATAGTCATAAAATGTCCGCCGCCAATTCCGGCCGAA +TGTGTATCCATTACACCGATACAGAAAAGTGCGGCGATTGCCGAATCCAC +CGCATTTCCGCCTTTCAGCAAAATATTCCGACCGATTTCTGAGCAAATTT +CGTTGTCGGCGGCGACGGCGGCTTTCGAATATTTTCCGAGTGGAGAAAGT +GATGGTCCAGGCCAACGGGGTAGGCGGGCATTGTTCTGGAAACCTTGCCG +AGTTTTATTTTTATCGGCCACGTAGCAAATCGGCCAGCCATGAACCGACT +GCGGACTAGTTTTCACCCTCGTGGCCTAGCTTTCTAACAAACCTGCATTA +GTAAATGAAAATACAATGAAGCGAATGCGACCGTTGAGATTAACAACGTG +AATACGAGAACCGTTAAGCCGACCGCCGCGACTAAAGTACGGATTTTCAT +GGGTTGCTCGGCCTCGATAAGCGGCTCAACTTCATCAAATGGTCCATATT +CTGGCGGTAAATTATCATCGTCCGGAAACGTGTTATAGTATTGAACAGGA +GGTGGGTTACTGCTGAAAAGTCGAGTTTTGCGCGTCAAATTTGATGTATT +GAGTGGCATGATCACTATTATTACAAGACCGCGAAATTTTGAGAATGCGT +ATTGCACAACATTTTTGACGCGCAGAATATCTCGTAGCGAAAACTACAGT +AACTCTTTAAATCACTACGGTAAAGCTTGTGTCGATTTACGGGGTTTCGG +TTTTTTCATTTTTTTTGTGTTTTTTAAAAAACAATTTATCGACTAATGAA +TGATTTCCGTAAATCGACACAAACACTACAGTAGTCATTTAAAGAATTAT +TGTAGTTTTTGCTACGAGATATTTTGCGCGTCGAATATGTTGCGCAATAC +GCATTCTCAGAATTTTGTGTTGCCGTAATAATTCTGATTTAAAAATGGAA +TTTTCAAAAATCAGAGGTTTCCCAAAAATTTGAATATTCCACAAAAAAGA +TGAATCTGAAGAGTATTTTCAATTTTTTGAGAAAATAATCGATTTTCTGG +ATTAAAAAATTTGAATTTATAGATTTCTAGATTCTAAAATTTGAATTTGT +GCAATTTCAAACAAAAATGTATCGATTTTTATCGACTTTTCATAAAATTT +AATTTAATTTTCGAAATTCCGAAAATATTGCCCGTTTTTCATATACCAAA +AAAGTTGTATCAATTTTTTCAAAAAATTAAATTTTCATCGATAGTTGTTT +TCAAAGCATCATGATTTTTTTGAAAGAATTTGCAAATGTGAGAACTACAG +TACTCCCTTAAAGGCGCACGCTTGTTTTTATTTTTAAAAAATTGGTCGTT +TCGAGACCTGGTACCGTATTTTCGCATTTGGGTAATATTTCCAGCATTAT +AAATTTAAAAACAATGCACTTTTTAAATCTTGAATCCATATATATATTTT +TTTCAGAAACTCATGCCGCCTCGTTTGGGTCTCGATTCGAATTTTTTTCA +CAAACGTATAATATTTTCTCGAAAAACCCGCGAATTTTTAACATTATCGA +TTTTTCTCTCACCTCGTCGATTGCCCTTCAGGAGTCATTATTCAGAATTG +AGTATGAATTAAAAAATCATAGAAAAAGTCAAAGCGCTGTCAATTGGAAA +TTTAGGACGAGAATGTCAAAATTGCAACTTTTCACGATAACGGAATTCTA +TCGCAAAACTAGATAAGAGCTACAGTTTGCTGCGTGTAAGCGCGCTCCAA +TGACAAACGAGAAGAGAAGAGAAGAGGGGGTAACCGCCAATAGCTCTCTT +TATCGAGGATAGTCTTCAAGTGACAGAAGAGATATTCTGTGGTGGGAGAG +AGTTGGGTGGAAGGGGGAACAATGAGGACTACGGAAGAATGACTTTTAGA +TTTGGAGTATAGGAGAAAGTGGAGGTTTTGGCTGAAATTATTTTCAAAAA +CTTTAACTGTAACAACTAACGAGTAGATTTGAAAATGAGGATAATATTCA +ACACAACAGAAAAAAAGTCGATAGGTAACTAATAAAAATTAGAGAAAATG +TGGCATCGGGGAGAAGTGGTGGAACAAAAGAAGAAACTGATGATGATGAT +AGGAGGATAGCCGCGAAACAAGCGATTAACAGTGAACAAGATTCATTTCG +GTGAAGATGGAGAAGATAACAGCAAAAAAAAAAACACAACAAAAGTCCTT +ATTATTGCCCATTGAGAGTTTGTTGAAGGACACTGGTAAGGTGCTCGTCG +ATTCCATCTTGCTGCGCGAATTGTGGGAACGATGCGTAGATTTGCTTCAG +GATTGTGACAATTCTTTGCTTGGTTTGGTTGCCGCTATCGTCGTCGTTGA +AAGCATCGTTGGCGATTGAGAGCAAGCCTGAAAAATACAAATAAAAATAA +AATAAGTTACGGATTTTTTTAGATTAGAACTTACAAACAAGGAAGATTCT +CGGAAGATTCTGATTTTCTGGTCCAAAAAGTGCGGCGTCTTGTTTATCAA +ACAATTCGGCGAGACACGTGTAAATGTAGGGGCTTTCCTCGGTGTCTGAA +TATGTTGGCAACCAGCTCAGGAACATCTCGACGACCTGGAAATAATATGG +AACTTTTTTCTTGAAAAACTGAATTCTAAAACCAACCTTTCCGTAGGCTT +CAGCAGGAAGTGGCACATTGCCGATGATTTTGGCAAATGCAGAAATCGCG +TTTTCCGTGGCAACAGTGCTCTCCTCGGTGGCTCGGGCGTCCTCTCGTTG +AATCATGGCGGCCAGTGGCTCCAAACAGCTCAAAATCTCGTTTCGGTAGT +CGCTGATCTGGTGGTAGTTGATGGCCATAACTCCGAAACCGTAGCTCGCT +GCTTGTCTCACTTCAGGATACTCATCTCCCAACAACTTGTACATTATTGG +AATAAGCTTCGGGAAGCGAGTTGGCATATGTCCGACACCGAACTCGATGG +CGTCATCGAGAAGGCACATTCCCCATTGTCTCTCGAAGTATTGTTTGGAT +CCCTCGATGAGTTGAATGGCACAGTTGAACACGTTGATCATTCCCTCGAA +GATAGTTCCCTTGAACTCCTTCATAAGAGAGTGAGTCAAATCAGAGATGG +CTCCAAGGCATGAGGCCTCCAATTCCATGAAATAATCGAGCTCCTCCTTA +GCTTCAGCATCATCGTCATCTTCATCTTCAACTGGACGATCGCTCATTCT +CTTTCCGTAGTTTTCAAGTTGCTTGAGAAGCACCGAAATGATGAGTTGAA +CCTCTTCCTCGGCGATTCCCTCGGTTTTCATAACCTCAATGCACGATCCG +ATGGTCGTCATGAACGAGGCGAGAATCTCGACATCGTCCTCCTCCTCCAT +AGAGGTCGTCAATGCCTTCAAGAACTCGCACCACAAACGACGCTTGTCAG +CCAATCCTTGCTTCTCAACACAGGTCAACAAGCATGGCATGATTTCAGCG +GAAGCCGTACGAACTCCGTCGTGAAGTCCGAAATCGAGATTCTTGATGGC +GAGCTCGTAGACGTCGACGACGTATGGCATGAAAGCCTCCTTCATCTCCT +TGGCGAACGCGACAAGCATATCGCAAGCAGTTGCCTTCTCCTCAAGACCG +CTGGTGCGGATTCCGACAGTCTTTTCTCCTCCGATTCCGTGGTATTCAAC +TCCTTCCTCGTTTTCGTGAACATCTTCGTCTGAAATTTATATATTTTTTT +AACACGTAAAACTAAAAAACACTCACTGTTGAAGATATTGAAGTCTGGGC +GGTAACGAGCGGCACGAAGAACTGGATCCATGACAACTGGGAGGAATGGT +GCGAAATCGGCTCCAAGAATAGAGCAGAAACGAGTCCATGAGCTGATCAT +GTAGCTGTATTGTGGATCATCGATAGCCAAATCCTTCATTCCGTCTCCGA +GAAGGTTCAGGATCTCGATTGCAGTAGCGTGGAATTGTTCCTTTCCGACA +GCATATCCGATGAGAGAGATGCATTCGATGGTCTTTCCTCTCAACTCCTT +GAGCTCTCCGACGTTTTGAAGAATGTGAACGAGGTTCGGGATGAGGCGAG +CATGATGTTCCTTGAAGAGCTCCTCGGCGGCTTCAGCGACGGAGGCGATG +GCGGTGACGATGTTCTCAACGACAACCTGGTATCTCTTGTCTCCGAGACG +ATTGAACACAGCGGAAAGCACATTTTCGAGTTTCTGAAGAATGAATGGAA +GATATTGTCCAATGATGCTCTTTGGGCACTCCTCGGCAAAGTTGACAAGA +GCCGAAGCGGCATGAGCACAGACACGTGGAACATCGGTTCTGTCAAGAGA +CTCGAGAAGAGCTGGTATGACGGCGGCGTGGCACTTCTTCTGAAGAGTTG +GAGCGAAGTCAGAAGACATTTGTCCGATGGCGTTGCAAGCCGCGTATTGA +ACTCTTGGATGAGCATCATTGACGTAATTGGTGATATGAGCCATAATTTG +CTCTATGTGTGGTTCCATAGATCTTTGGCACCCTTCACCGACGGCGGAGA +ACGCGCGAAGAGCCGCGTGCTTCATCTTCCAGTCTTCGCTGGTCAAAAGC +TTCTCGACAAGTGGAAGGAACACTGGGAGCATCACTTTTCCGTTGATGCA +GCAAGCAACACGGTCGATGGCGCTTTCGGCGATGATTGGGATACTGAAAA +ATAATTTAATTGAAGAAAAACTAAAAATTTATCCTTACTCTTCATAGTCT +TCTTCCTCTTCGATCTCGTTGAGCCACTCATTGAGCACATCGTCATCCAT +TTCGGTCATGCATGAAAGAAGAGTCTCGAGAATTGGTCCAAGAGCTCCTG +GTGCGTATTTCTTGAGTCCTTTTGGTGCGGATTCCATGTACGAGCAAATA +ACTTCGATGGCGTTCTGACGGACCATCTCGTTCTTTTCCTTGTTTCCAGC +AATCTGAAATTTGAAAAAATGAAATTTTTAAATTGGGCCATTTAAATTAC +TTACAGCAAGAGTGACTTGAAGAACCTGAGACATATGAGTGTTAAGGCAT +TTTGGCAGAGAAGAGGCGAGCTCGGCGAACTCTCCGAGTGGTCCATCTGA +ATCATCCTCGTCGCTGGTTTCATTGCAAACTTGAAGAACATTTGGAACAA +GAGAGGTCATAAGCCTGACAACATCCTTCTCCTCATCATTATCAACAGCG +AAAGCGATAACAGCACGGACGGCGGTGGCCTTGATTTGCAAATCCGGTGT +AGCCATGCACTTTTCCAAGACAACTTTGAGGGTTGGAAGGAAGTGGGCCA +GCCTGTTTCCAAAAATTATTGGGCATCCGCGAAGAATAAGCAGGGCTATG +TAGTTTCCGGTAAGATCCTCGCTCTTCAAACAATGATCCATCAGCTCGAG +GACTCCTCCCCATGTCATATCTCCAGAATCGTCGATGAGGTTTGAAGCGA +TTTCAGAGATCAAATCAGCAATCTTCTTCTTAATCGAGAGTTCGGTCTCG +TGAACTATCATCTCGAGAACTTTGGCGAGAATGCGCTGTTTGTTCTCCTC +GTTCAGCGTTTCCCAAATCGCATCCCAGTCTCTGGCGAGAACTCGTCGCA +GAAACACCAAAACTGTGGATCTGGCCTGAAAATCGAAAATTCATGGAATA +TATAGGAATTTGAGTGAACTAACATCAGAATTATTCGTGTGGTGTGTGTA +GGCCTCGAAAAGTGCAGCTACTTTGGTTGGTCCTTCAATCTTTTCATAGA +CTTCTTCAGCTTGTTTTCGGATATCATTGTCTGCTGACTGCAGTTTTGTG +ATGAGCTCAGTGAATTGATTGACGTCCATTGTAGGGAACCCTGAAAATCA +GAATATGTGCTAAAAATTTCAAAATTGAGAAGGAAAAAGATGAAAGCGAG +TCGGTTTTGCAGATAAACGCCTGGGGAATACGCGGAATCGCTGAGGAAAA +TAGATTTTTAGTATAAAAATTGGCATTTTCAACAAAAAACCTATCGGAAA +ATGTGAAAAATAGGCCAACAAATATTGAATTTTGGGACAAAAACGCCTCG +AGTGCACGATTCTCAACGGAGCGCACTTGCTGCGTCACACGCACTTTAAA +CTGTACACGGCGGGAAGTTCAAATTTTAAAAGGATTCACGTGATTTTCAC +GACATTTACTGGTTTTTTCAGCGAGTTTTCGCAACTTTTCGGCGACAACC +GATGATGATTTATGTTTGGAATATGATGATGGTAGCGTGTTGCGAAATAA +AAAATCGATGGAATGAGTCAGCGAGAAACTAATATTTGCATAGAGAACTG +TTTGCAATTTTGGCATTACATTGGCCAGTGCACTGACAAAAAAAGAAAAA +AATAAACGGCAAAATCTCTAATACCTATTCCAGGCAACCAGTGTCTGGCG +ACGATGGAGAGTAATTCTGAAAGAGACGCAGTTGAAAAGAGTGTGTTTTT +CGCTTTTTTTTTCAGACAGAAGAGTAAAAAGAGTAAATACGTATCAGTAG +TAAAAACAATGTGCGAGCTGGGAAATCAGTAATAATTAACTACTTGTGAT +ACAAATTCCTCAAGGAATGAAGGAGAAAGTGTACTTTTTTTGAGACCCGA +AGAACTCGGGGGATGTCCAATTGGGGGGATTACCAACTCGGGGGATTGGC +CCCGCCCACAGAACCGTGGCTTGCAATACGCCCATTTCTGCAACTGCCGC +ACGGTTTTAAAACTGTATTTTTCTCAATAGAGCGAGAATTAACAAGAAAA +AATAATTTTAAAACCGTGCGGCAGTTGCAGAAATGGGCGTATTGCAAGCC +ACGGTTCTGTGGGCGGGGCCAAACTCCCGAGTTGGTAATCCCCCCAATTG +GACATCCCCCGAGTTCTTCGGGTCTCCTTTTTTTTAATTTTGAATTGAAA +AATTGTCCGAAAAGTGCAAACGTAGAACATCAAAACCAGTGGAGGGGCGA +AATTTGATAGATCGCATGTTGCAAGAATGAGCATTCTACGAGTTTCGCGC +CATTTCTGCGTAGCGCGCACAATATTGTGCAATAAATCTCGGTATTTGCG +TACATGCATCATATCTTACGCGCAAATCATATTGGAAATTTCCCCGAAAC +ACGGGGAGGCAAAGCTAACGTGGCTGAAGAAATTTCTACAGTAGTCCCAT +TTGGCTGACTGAATATTCAACGCGAATAAGTTTTGTACACTATTGCGTAC +TTTGCGTACGCGCATTTTATTTGACGACAATTCGTCAATATCAGCTCTGG +CTAAAAGCGCTTTTCTCATTATTTAAGCGAATAAAAGTCGAAAAAAAATG +TTTTGTGATAGAGAATAGTAATTTAAAAAATAAAAAAGTGCATATTTTAT +GTTTCTCATTATGTTTCCACTGATTTTCTGAGAAAAACCGAAAATTTCCT +CTTTTTTCGATGAATTTCAGCTGAATAGTTTGTTTTTATCTAGTTTTTCT +TCCGATTGACTGAATAACACATTTAATAACATCAATATAACGTTTAAAAC +ATTCATTGTCTCGAAAACCAATATAAAACTCGTCAGAGAGGGATACTTAG +TAGATATGCTGAACAAGGAAAAGAGAGAGAAGAACATTAACCGAATGGGG +AGGGGGGAATAAGAAATCTGAACAGGAACGAAATATAAAGAACATTATTA +GAAAGAACAAGCATGGCTTGATCTTCTTGGCAGTCGTCTCCTTATCCTAT +CACTTCTTCTCGGCGTCCTTCTGATCATGCTACCGAGCAACGTGGCACGA +TCGAAGAGTTTCACAACGGTTTGATACTTTCGCTCCACGAGGGGGCTCCC +AATTCAGCGAGGGTCCTCTCACGAAGTTTAATTTTTTAAAATTAAAAAAT +AAGTAACACCTCAAGAATTCCATCGAAGTTGTGCTCCTTTGCAATAAGAC +GAAATTTTTTTTTACGGAATTGAACAGGATCATTGAGGTACGGCATGAAA +ACGGCTTCCTCGTTGAACGATGTTGAAGCTCCTTCACCATTGCACCTGAA +AATCAACTTCTAAATTTTCCAATTTAAAGAAAATCCACATACTTATCCTC +GGAAACGAATCCAATATTCTGGTTGCTGAGTGGAATTGCTTCAAAGATTT +TGATCAGATTTTTTTTTGAAATTTTCGATCACACATCTTGTATCCACCAA +ATCGCCGAGTGCTTCATGAACTTCAGACTCGTGCTTTCCAACCTCTTCCA +TGAGCTTCACTTCTTCTGCTTGGAACTTTTGATTGCCTTCGGACCGATCT +GACTTGTAGTTTCTTCTTAAATAGTGGCTGATTGAGCAGTCGACCTTGCA +GTCCTACCTTCTTTGGCTTCTTCTGCGGCACTTGAGCCCTTGTAAGAGCA +CTTATTGCTGCTTAACCTTCCTTATTAATACTTCGAACAGCTTCTTCTTG +TTCGCATCTATTTCGAATTTTGTCTTGAAATCTTCCAATGCAGCGACAAC +GTAATATCTGGAAATTATAAAAACATTAAGAGAAAATATTTTGAAAAAAA +ATCGAAAATTGCACTGAATTCCTAAATTTTTTATTAAAATCGAAAAAAAA +AAATGAAATACGTGAGATTGAGTTTCGAGACTTTTTTATTCAGAATCAGC +ATATATTTCTCCATATTTGAGTAGGTTTTCAGAAATATTGTACCATAATT +TTTGGAAAAATGTAATTTTTAATTCGAAATTGCACTGAATTTCTCGAATT +TTTCACTAAAATCGAGAAAATAAATATGAAATACGCGAGATTGAGGTTCA +AGACTTTTTAATTCGGAATCAGCATATATTTTTCCATATTTGAGTAGATT +TTCAGAAATATTGTACCATAATTTTTCGAGATATTTTGAATAATAACTTA +CTTTTCGACGTTTTTTGCCTTTGTCCGGTTTAATCCATCGAATTTCGAAG +CGGTTTGCGTAGATTAGCTGAAAACATTATGCTTATTCCACGTAGTAACA +AGAAAAAACAAGAAAAAATAAGAAAAAACGAAGAAAAATAAGCATATAAG +TCAAATTAAAAATGTTTATTCGATCAAAATTCTTAACCATAGGAGGCGGT +GGCTAGCCGGCGCACTCTCGCGGCCACGTTAGCTTTGCCTCCCCGTGGAA +AGGAGCCATGATATTACGGAAACACTATTTGAATTCTGAGAACGCGAAAT +ATCTCGTAGCGAAAACTACAGTAACCCTTTAAATGACTACTGTAGCGCTG +GTGTCGATTTACGGGTTCGATTTTTAAAATTATTTTTTTTGTTTTTTGTG +TGCGTCATCGATTACTAAATTATAAATTATTTCCGTAAATCGACATACAA +TCGCTACAGTATTCATTTAAAGAATTACTGTAGTTTTCGCTACGAGATAT +TTTGCGCGTCACTCCTTCAGGCACCACATCTTACACTCAAAATCGAGGTG +AATTTCTGTGTATTTGACAGCAAAAATGTCGTGAAAAACAATTAAATAAG +GCAATTTGAAGAGGAAAAAACTGGGGCAGATGTGAGATAAGAAGAAGAAG +AAGCGGGGCTTCGACAACCGTAAACTAATCAGAGATGGAAAGTGAGAAAT +TTGAAATTTAAGACAAAAAAGTTAACAACGGGGGATTTTTTTTAGAGAGA +AAGAGCGAGTAATCGGGCAGCAGCAGAGAAAAAAAAAGATAATAAACAAT +TGAAAAAATATAAATATCGGGGAAATTATTGCTGAATAGACTGCAAATAG +GTGACAATCTCGGGCGGTACAGAACGAAGTGTCTCTGGACAATTTCCGGG +TCCACGGACAAGAACGGCCTGCGCAAAGTAGGCCTTGTGGTTGGCGATGT +TGGCGGCGACGGGCGGTTGCTTGGGAGCGTAACTCAGACGACAGAATGGG +TTCACAAATTCTCCCTCGGCGTTGTACATTGAAGCTTGCTCTTCTTCTGG +TGATAGGACGGCTCGATCGGAGGCTGAAGCAGCTTCCAGCAGCATTGCCA +CCTCGTATGACAGAATTCCGTATTGACCACTGCAAAAAAAATTTATATGA +GAAATTGAATTTAAAATGATTTTATTTGTAATTTTGTTTTTGTTAATTGT +CGTTAATTGTTTTTTTTTTGAGAAAAAACCGAAAAAAAAATTAAAATCTT +CATTTTTGATTTAATTTTTTTGTTGAAAAATCGGCAGTTTTCGATTTTGT +TTTTTTGAAAAAATAGGGAAAAGTCGGTAATTGTCGATTTTTCAAAAAAC +TGAAAATTCCAGATTTTGTCAGGAAAAAAAACGAAGAAATCGACAAAATT +TCAATTTTATTTTTTTAAATTTGTGTTTTTCAAATTTTTTTTTGATATGT +GATTTTTAACTTTTCTCTGGAAAAAAACCGAAAATTTGCAATTTTTCAAT +TTTTTCCAAAAAAATCTTTAAAAAATAGAAAATTTTCGTTTTTTTTTCTG +AAATATTTAAAAATTGTAACTTTCTATTTTTTTTAAACCCGTATTAAAGT +TTAAAAAAAAAATCGGAGAAAAAAAAACTGAATCGAAAATATGTGATTTT +CAATTTCCTTTGAAAAAAATATAAAAAATCGAAAATTTTCGTTTTTCGAT +ATTTTTTCTGGAAAAAAGCCTAAATTTTCATTACTAACACAAGCTGCTGC +GTGACATCGGCTAGCAAATTGCCCATTCCAATGGCAATAATCCGTTTCTC +AGGCCCCGTTGTCGTTTGTTTCAGACCTGGCAAATCAATGCATACGACCT +TCTCGATGAGCATTCCGAACATGCCAGTCTGAATATTCTCACACGATTGA +ACAAGATCCTGTGCACTCCGGGCGATCGTAAATCGACACAAGAACACGAT +GAATAGCTTCATAAACTTGGGTGTCTTCGACGATTGAACTCTTCGAAACA +TTGTATTGAGCACAAATGTCATCGCGGAACCCTCGAAGTGCTCAATCGAC +GGAAGAATCGTCGCCGCCAACTGGAAACCGTATTGATCCAAGGTTTTCGA +GCCCAAAAGCCGCGCCAAATGGCTCAAGATCAACCCAGAATTCTCCGAGA +CGACTCGCTGAGCATTCACGGAAAGGATCACTTCGAGAACCGAAAGTGCC +GCTGGAACATTCGCTGATCTCGCCCAAAGACGTTCGGATAGCAGAAACGG +AAGGAACGGTGAGAATTGATCGATCGATGAGTTTCTAGCGATACATGAGG +AGACGAGAACTCCCGTGATTTGGAGAGCATATGGGATGAGATCTTCCAAA +TCCTCGCGGAAGATCACTTCGATCAGTGGAAGGAGTTGAGCATCCAGTGA +GGCGCCGATTGTTCGGGTCTGGAACAGGAAATTCGTTAAAAAATATAAAA +TGTTCTTAAAATTGCTATCACTTTTTTTTTGAATAAGAAAAAAAATCACA +AAAAGGAAAACACGAAAAAGCAGACAAATGTTTCGATTTTGCAATTTTTA +ATTTTTTTTTTTCAGAAAAAAATTATCGATTTCTTCTTTAAAAAAAGAAG +ATTCTTTTCGATTTTTTCGGAAAAAAACATCGAAAAATTGAAAAACAAAA +AGTTTTGATTTTTTTTTCAGTGAAAATCGTTCAATTTTTCGGGGTTTGTT +TCGACAAAAATAATTAAAAACTAAAATTTTTCAGTTTTTAGGTTTCTTAT +CAGAAAAATTGAATTTTTTCGATTTTCCGAAAAATTAAAAAAAGGTATAT +TTTTTGAAAACACGAAAACGGAAAAGTGTTGGTTTTTTGTAAATTTTTGC +GTTTTCCAGCAAAATTGCCAATTTTTCCGAAAATTTTCAGATCGAAAGTT +AAATTATCGATGTCTATTCCAATTTCCGAGTTTCAGCGAATTTTTTTTTG +CAGAAAAATTTCAGAAAATTTGACAAGTTATGTTCCAATTTATGAAAAAA +AATTTGAGACCAAAGTGCGGCACGGAAAAATGGGCGGAGTTTAGAGTGGT +ATTTTTCTCTCAAACTACTCCTTACCTTGGTGATCAACACACAAATCGTC +TCAAACAAAAAGTGCGTGTGCACCGAATCCGCCGGATTTTTCGTCGCCGA +CTCGACCAACTGTGCGAGCTTGACCGCAATCGCGTCCGCATGCCGAATCG +TGTCGTCATCGAGAATCACAATGATCCTCAAAATCGCCTTGATCAGATAC +GGCGAGTTTTGCGCTTTGGCATCCTTGTCGAACGCGGTGACAAGGTTCTG +AAGGATCGAGGAGACTGGAAGATTTTGAGCCGAGAAGATTTTGTTGGAAT +CAGCGAGAAGGATCTTTTCAATAGCGTAAGCTGCGTACTTGTGCAGAATC +GGAGTATTCGAGCTGAGAAGAGCGTCCGCCGACTTGATCGCAGTCATAAG +GTGCTCTGGAGCCAGCTGTTTCCTGAAAGTGACCGCAAACTTCAGTGCAT +CAGCTTTAAGGATCGGAGTTTGATTGACATCGGCGTTGAGATGTGTGGCC +ACTTGTGTGATGAAGAAGTCGTTGATGTCCACCAGCGGGTTCGTCGCCGT +TACTCCACTCTTAGCAGTCTCCGTCTTCACCGCGATCGCCGTGATCAGCG +AGTAGACAATGTCGATCTTGATCCAATCACCACTTCCCAGCAGGTTCTGC +ACGATCTCCCCCAGACATGGAAGCATTTGCGCCTCGAATCTTCGGCAGAG +ACCTCGCGCAAGATCGATGGCTCCACGGCGTCGAGTTCCTACATCGGTAC +CCTCGATGTCTCGCTTCATATAATCCAGTGGCTCATCCTCGAACAGTTCC +ATATCCTGTTGACGAAGCAGAAGGTTCTGAACGCACACGTTCTCGGCGAG +AGTCTTCAGAACGCCTTCACCAGTGAAGTGTCCCTCGTAGTACTGTCGCT +GGCTGACCATCGACAGAAATTCCAGCGCGGCGCACACCATCGTATCGTAT +CGAGTGTCGGGGCCGGTAGACTTGAGCAGATTCCAGACGGCAAGGATGAT +GTCGGGCACGAACTCGGAGATCTCCTCCTCGTAGCGTTGCGAGTAGAGCG +TGAAGATCTCACAGATCTCGTGCTTAAGCTCGTCCAGAGTTGTAGGTTCT +CCCGAGTTGGAGGTCTGCGTCGGCGCGTCGATTTGCACGAGATGCAAGAA +GTGTGGCATCCAGTCCTTGAGATGATCCTCGAAGTATTCCGGAATCTCCT +GTGAGCACAGAGAATGGTAGACTTTTGCAATGAGAAGTAAGACTCGGAGC +CATTGGGCGATCTCGTCGGCTCCGAGTTGATCCTTCCGCTGTCCCACCTC +CATCATGTTCCGTAGCAACAGAGTTAGAGGCTCTTGGGTCTGAAAAATCG +GTTCTTTTTATTTGTAACTGAAAAATCTGGGGAGAAAACAGTTTTTCGGT +CCAAATTCGAGACTGACATTCAGATTTCTTCAATTTTTTGGCTCAAAAAT +TTTGAAAATTTGTCCATTTTTATAGGAAAATTATCAATTTTCGCCAAAAA +TTCCTCATTTTTGCTTTAGTTAAAATTTTTGACTAAAAAATCATAAAATG +TTGAATTTTTCACGATTTTTCGGAAAACAAGGCCAGCTTTAGCTAGCTTA +AATGTCTAATTTTGGTCATTTTTTAGGGTCAAAGCGGACAAAAATTCAAC +TTCCGACGGCTGCGACGTAAAAAAGTGGCCAAAATTGGGGATTTTAGCTG +AAATTAGCCAAATTTTGAGCCAAAACGCAACTCACGCTCAGTAGACACTT +CTTCAGCTCTTTCCAAAGCTCTGCTGACTTGGATTCGAATCGGAATTTGC +GGAAAATCTGCTCCATCGACGCCAGCGAGGCCACCAGGTGATTGAGATCC +GCTCCGTTCAGGAATTTCGACAAATATGGAACCAAATCTGGCCATTTTTC +GGGAAAATCTCTCTGAGCGATGAGATACAGAGCATTGGACAGGATTTCCT +GAACATTTGATTTTGTATTGAACATCGCTTCGAGAAGCATGCTTCTGAAC +TGCTCCTCGTCTTCCTGGCCCATTTCTACCTCTGGTGCCGGGCCCTGAAA +CAATTTAAATATAAAATTCACGCATTTATTCAAATTTTCCAACCCAATTT +CTCTTCACAAAATTTTTCAAAGCGACAGCCGCGGCGATTCGGATCTGCGG +AGCAATTTGTTGCTGTTCGTTGACCACCAGTTGAAGAATTTGAATGATAT +AGCCTGGATTTGATTGCAGCGAGCGGAGCGCTTCTTCTCCACGCTTGCGA +ATCGCAGCATCCGGCTCCAGAGTCTGCTGGAGAGCTGCTCCGATTTGCTC +CATCTGAAAATAGGGAAAAATAGCTGTTTTGGGGGTGAAATAGGGAAGAA +TTAGGTGAAAGGACAAAGATAGTTTAGCTTAAAACTTGAAATCTAAAATT +TCCGGTCAAAATATTAAAGTTTTACGCAATTTTTCGCAGGCCCGCGGGGA +ATAAACTCGCAAAAATTCGCAAAAATAAAAAAAAAATTTCAAAAGTGTGA +AGTGTTTGCGTACAGCGCACCCGACCCGACGCGCAAATTTTTTTCATTAT +GTTCTCTGTTTTCACTGATTTTTACTGATTTTTCCTAGTTTTCCCTTGAT +TTTCTTCAAATTTTCCACTTTTTCAGCAAAACGTGCATAAAAAAATAAAT +TAAAACATTTCAATTTTCAAAACTTTGCAAAATAAAGGCGTCGTTGCGTA +CAATGCGCACGACTTGACGCGCAAACTTCCCAATTTTTATTCTTAAATTT +TCCTGGATACCCCTGGTTTTTTCTCTGTTTCCCCCCTAATTTTTCGCATT +TTCAGCAAACATGGGTGTTGATAAAAAGCAAAAGCAACGAAAAACCAATC +CATTCGAGCTAAAATTCAACAAATCCAAGCATGACGTGAGTTTTTCAGAG +TTTTGAAGAAAAAATCGATTTTCTCGCAGATTCTCGGCCGGAAAAAGGGC +GCACAAGTTGGAGCACCGACTGCGTCACGAAAACGAGCTCACGAGCAACG +TGAACAGACGCTAGGCGTAGAATATGACCGGAAAAATAAGATTAGCAAAA +TTGTCGACAAACGGCTCGGCGAAAAGGACGGAAAAAGCGAGGAGGAGAAG +GGCGCGATGAGATTCACAGAGGAAAGAGTCAAAAATTATAAAAGAGCATC +GAAATTCAACTTGACAGATGATGGAGATGAGGAGGAAGAAGGTTTATTCC +GAAATAAATTGAGAAAAATTTTAATAAAGTAAATTTCAGTACTTACTCAC +AAGGGAAAAGCGCTCTCGGACATTGAAAAATACGACAAATCGATGATTTC +CGACTCGGATGACGATGAAGAGCCGGGAAATTTGGGCTCAAATATGGTAA +AAGTGGCTCATTTCGGTGGTGGAGAGAAGACCGCCGAGGAGCACGTCCGC +GAAAAAATCAGCCGAGAGGATATGATTTCGAATTTGATTGCGAAAACGAA +GCTGGCGCGTCACGAGAAGCAACAGCAGAAGGATGAGCTCGAGCTGATGA +CAGAGTCGTTGGATTCCAAGTATCAGGCTTTGATGGGCAAAATGAAGGCT +TCATTTAGGCCGACCGGGCGCCAGCCGCTGGAAAAAGATGATTACGACAA +ATTGGTACGGGAAACATCCCGGTTTTCTCCAAATTTTTAAGATAAAAGAT +AATTATAAATTTAGAGTGAAAATCGATTTTTTTCACAATTTTTTAGTGGA +AAACCTAAAACCCAAAAAACTTGATCTGAAAATGCTAATTTTTAACCATT +TTTGCTATGGAAATTGGAAATTTTCATTAATTTTGCTGTAAAAGTTGAAG +AAATCCAAGTTTTAGCTTTGTAATCAGAGAAAACACTGTAAAATTATTTC +GGAATTTGTGCAATTTGAAGTGAAAAATAAAACATTTAACTTCTTATCGC +GAAAGAAATTGAGCTGAACTGAGAATTTTTTTGACGAAAAATCATTAAAA +AGTCAATTTTTTTGACAAAAATTCGAGAAAAGTCGGTTTTTCTTTTGACA +AAAATGACGAAAAAGGCAATTTTTAATTTAAAAAAATAAATTTTTCGCCG +AAAAATAACTTTAAAAAAGTCGTTTTTTTACAAAATAAAACAATTTAAAA +TAACTATTTTTCGACAAAAAAATTAAGAAAAAGCCAATTTTTTTGTTTAA +AAAATGATAGAAAAAGGCTTTTTTTTTGTTTCTTCGCCTAAAAAATCAAG +AAAAATAGGTTTTATTCCATTTTTTATCCAAAAATTATTATTTTTCCAGA +CAATCACCTTGAAAACCGAAGCCGACGCTCGTGCCACCCCAGCAGATCGT +AAGCTATCCGAAGAAGAAGAAGCTCTGAAAGAAAAAGAACGTCTGGAAAC +TCTCGAGGCCGCCCGTATCTCGAAAAATAATGCATTTTTCAACGCAAAAT +CTCATTTATCAGCCGATGCCGACGTTGATATCGATGCTGGATCGAAGGCC +GACGCCAGAAAAGTTCAGGCGAAAAATTCGAGATTTGAGGTCAAATTTGA +CGATGAAGGTGGCCTGATCGATGAGGATACGGTGGAAAAATCCAGGATTT +TAAAGAAAAATCTGGATGGTTCTGATGAATCTGACGATGACGAGGATCTA +GAAGATGAGGAAGAGGATCTGGATGATCTACTGGAAGATGAGGATGAGCT +GGAAGAAGATTCCGATGATGAGGAAGCTCAGGAAGCCCAAAAAGTCGTCA +AAAAAGCGAAAAAATCTGCTCCAGAACCCGCTGAAACTCTGCCATTCGTA +TTCGAAATGCCGAAAAACTATAAAAAATTCTGTGCTCTTCTGGAAAAACA +CTCGGAATCGATGGATTTAGTGCTGGAACGACTCGTGAAATGTCATCATC +CGAGCCTTAAAGAAGGAAATAAGAAGCGTCTGAATAAGCTTTTCCTCTTG +TGTTTAAGATGGTTTGATGATATGTCGAAGGAGGAATTGACAGCGGAAAG +TGTGAAGGAAATGAATTTAGCGCAGGAAACTATGCATGCGTTGATGAAGG +TAGCGATTGGATGGAAAAGCTGAAAAATTACCGCACTTTTTAATCTGAAA +ATTGAAAAAATTCGAGAATTTTTGACCTAAAATTTTGAAAAATTCCCGAT +TTTTATACCCCAAAAATTGCAAAAAAGTCCCGATTTTTTACCAAAAAATG +TTTTAAAATCCCCGAATTTTTTACCTAAAAATTGCAAAAAAGTTTCGATA +TTTAGACCCAAAAATTGCAAAAAAGTCCCGATATTTTTACCAAAAAATGT +TTTATAATCCCCGAATTTTTGACCTAAAAATTGCAAAAAAGTCTCGATTT +TTAGACCCAAAAATTGCAAAAAAGTCCCGAATTTTTTACCAAAAAATGTT +TTAAAATCCCCGAATTTTTGACCTAAAAATTGCAAAAAAGCCGGTTTTTT +TACAAAAAAATGTTTTAAAATCCCCGAATTTTTGACCGAAAAATTGCAAA +AAAGTCTCGATTTTTAGACCCAAAAATTGCAAAAAAGTCCCGAATTTTTT +ACCAAAAAATGTTTTAAAATCCCCGAATTTTTTGACCTAAAAATTGCAAT +AAATTCCAAAAACTTTGGCCAAAAAATTAAAAAAAATACCCGAATGTTTG +ACCCAAAAATTGCAAAAAAGCCCCGATTTTTTGAGAAAAATCATGTGAAA +TTAAAACCTTTTTTTTTTGAAAATCAGTCTCGAAAAAAAAAAGAAAAACC +AGGAAAATCATGAAAATTTAAGAAAAAAATCATTAAAAATAGGAAACGAT +CATGGAAATATTTTTAAAGAAACATTATATAAAAAATCATTAAAATTTCA +GAAAAAAAATATGGAAAATCCTGAAAATAAAGAAAATAATATTAAAAATT +CAGATTAAAAAACGCAAAAAATTCAACAATTGAAAAAAATTTCAAATTGT +TTTTTGCAGTTCGACATTCAATACGGAGTCCGATGTGTGCGTGCTCTAAT +CCGTCAACACTGGAAAGGCCGCCAGGATAAACAGAAGAGTAGCCCAGTGT +CATTTGGATTAATCTCTGCAATTCGTCTTGTTTCCGGCCTCTTCCCAGTT +GCCGATTCCTGGCATCCTGTAGTGGTTCCGGCTCTTTTTTTGGCAACTGA +AGCACTTTGCTCGGCGAAATGTGCCAATTTGAATGCGTTGGCTAAACAAA +TTCAATTGGCTAATGCTATTGTTGAATATGTGTCTGAATCCAAGAGGTAA +TACTTGGAAACGAACATTTAAATAGGCAAATTTTGAAAAAAATACTGAAA +GCTTTGATATAAAATAGGAAAAGTAACGAAAAAAAAAGCCAAAACCACCA +AAAATATTATTTTCAAAAGCTAACTCAAAAAATTTAAAATTCAGAATTGT +CGCTTAAAAAAATCTATTTTTTTCGATATCGAAAAAAGATTACTATAAAA +ATTCAAAAAAGCAATTTTTTAAAATATAACTTGATTTTTTTTTCTGAAGT +TCATTTTTTAACAAATAATTGCATTAATTTTCCATTTTAATGTTAAAAAA +AAGCGAATTTTTCAAAAATTGATATAAATTTTGTTTTGGCAATTTTTAGA +TCAGAAAACATTGAAAAAATACAAAAATCCCGTTTTTTTTTAAATTAATT +TTTTAGAAAAAATTGCAATTTTTCAAAAATCTTCCGGTCATTTCTCTATT +TTTAAAAAATCTCTCGTCTCTTTTAAAAAAATTTAAAAAACCGAATTATC +GAAGCGTATCAAAATTTTGAAATTAAAAAAAAAACCGAACTCCATTTTTA +CGAAAAATCCGAAAGTTGAAAATTGTTTTCAATAAAATAAATTTCAGATA +CGTCCCCGAGCTGGTCGCATTTGCTCGAAGTGCTCTTCTGCTTGCAGTTA +CAGAGAAAAGTGAGAAATTCGCGACAAATGGATTCCCGATTTCCAAGCCA +CACACGGAAATGTTATGCTTTGAGGAGAAGGTAAATTTATAAAATTTGTT +TTTTTGAGCAAAAAATTGGTTTTTTTTTTTGGTTTTCTCTTTAAAAAAAT +TTGCTTAAAAACGCTCAATATTTAAAAAAAAAACTGGCAAAATCGAATTT +TATAATATAAATTAAAAATTTTGTTCAAATAAAAATGATTTTTTTTTGAA +AATTTAGTTTTGAAAAATTTAAAATTAAATTTTAAATTTTCACAAAATTG +CCAATGATAAAATGTTCACTTTTTCTTGTATAAAACTGCTTGAAATTTTT +TAAAAGCAATTTTCCGAAAAATAATTTTTTAATAGATTTCTGAAAAACCG +AAAAACCACCGATTGAAAAACGAAAATCAAGTTTTTTTCCGAATTTTCTA +TTTTTAACAAATTAAATATCAATTTTGCACATACAAAACGGTTAAAAAAA +AACAAAAAAAATTGCCGAGAGCCAAAAAAATTTAAGTTTCAGCGATTTTG +AAATTTTTTTTTTAGGAAACACGGTCTCCTCGGGTGGAAACGAAGGGGGA +GGGAGATTGCTTGCGCGTTTCACCGATGCGCCTTTCGCGTGCTGGCGCAC +TTCTGAATATTGAATTATTTTTGCGGAAAAAATTCATTTCTTCTATGAAA +TTTTCTTGAGAAAGCAAAGGAAAGATGATGAAATGAATTTTTAAAATAGT +TTTCTCAGTTAAAAAGAGAATACCTTGCTGCAAAAGGTTAAATTTATTGA +AAAATTGAGAAAATAAGAAGTTTATCTTTGTTTTCACTACATAAAGTGGG +GAAATCTCAAAAAAATTTGAAGACAATTAAGAAATATAATTAAATATATA +GCCTGAAAGTCAAATAAGAAATGAAGGTTTGGTCACAAACAATTTTATTT +TTGAATTGAAGTTTTGAGAAATGATCATGTGCCAGAATCACTAAATCTGA +GACATTCAGCCCAATTTCTTTAATTTTCTGTGATTTTATCATGGAAGTGT +GGCTTTTTCTGTGATCTTGCCAGTTTTAACAAGTTGAAATTGGAAAATCG +TGAAGTGGGAAACTAGCAGTGAAGCTTCCAAAAATTTCAAGCCTTACTGA +AAGGAAAGTATTGGAAACTAAAAACGAAAGCTTAAGAAGATACCGTTTTT +ATATATTTGAGTTTTGAAAAGCCTTAATAGGTTTTAAATACAGTTTTCTC +AAGAATTCAAACTTGTAACGATTAAGTTGAGGCACAGAATAAGATGGTAA +TACTAAGTTATGTTGAAAAAAGCCAAGAAAGACTGAAAACATTGCTTTCA +ATCTGATTTTTTGTAAGTAATGTAATGTTGAAACATTATTCTTCATAGTT +CAGCACTTTGTATGGCTTATTTGAGCCCAAACGTACAGTAGTATGTGGCA +AGAAATAAAATATTGTGCCAACAAAATTGGAGCCGAAAAACCCATGATAA +AATGTTTAATACGTGTATTGCTCTAATAAAATACCAAATATTAATTAGAT +TCACTGTCTCGACTCTTTTTAATTCAGATTAATAACTTTTAGCTCCTCTT +TTTAACGAAAAATTATAACTGGATTTCACAAAAAGAGTTCGATCTGAGTT +CTTTCAACAGGTACATAGACGAATTATATCTTAAAATGACGAGAAAAGTT +TGCTCTATAAACGTTATCATTGCAGGTTATGAGAAAAACAAATAAAAATT +TAATTTTAAAAAATCCGAAAATTCAGTTGTTATTTTCAAACAGTTCGTTA +TGCATTTCCACCGAACGGTTTCCGATAATTTTTGTTTCTCCACTTTCGGT +TCAGTCTACTTTATAATTGTTATCATTTTGAAATAGAAAAATCGACGAAA +AACTAATAAAAATCGAGGGAAATCACTCTTCAACGGTGAAATCTCGGTGG +ACGCAATGAAGCTGCAGCATTTCAAAAAAATTTTAGAAGCAATTTTGGTC +ATTTCAGCTTCAAAAAGCTTTAAAACTTAAAAAAATTAAAATTCATTTCA +AAAAATTTGAAATTAGTCATTTAAAATATAAAAATTAGAAAAATTCTAAT +TTTCAGCGAATTTTCAAATTTATTTTTATTTCAGAAAAATTCAAATTTTG +GCTTTCAAAAAAGCTTACAAAATATTAATTTTTAAAAAATCTAACTTTCC +CAATTTTTCAGTACACTGGCCCCGCACTCCAGCCAATCTCCCTGACCACA +ATCTTCAACAATTCCCCATCCGATCCATCTCTAAAGCTTCACGTTCTTCG +TGCTCTGCTCTCCCTCATCCAACATCTCCGTGTAATCTACTCCAACCAAA +ATGAGACCTATTCTATCGTTTTCAAGCCATTCCTCCGGATTTTGGAATCA +ATTCAAGCCAAAAATCTTCCAGCCGAGGTCCAGGAAGAGCTGGAGACTCT +GTGCGCCTCAATGAAGGCTGAAATTGGAGCCAAGTGCCGTCTGGTGCACC +TGTCGCTGGTGAAAACCGAAAAGAGCATGCTGAAAATGCTGGAACCCCGT +TTCGAGTGGGATTTCGATCCGGAACGCCCACATCACGGACCCAAAGACGA +GAAGAAGAAGCTGACGAAGAATCTGAGGAACGAAAGACGCGGAGCCATCA +AGGAGCTCAGAAAGGATACGGCATTCTTGGCCAGGAAGCAATTGTCGAGT +GTCAAGACGAAGGATCGTGCGAGAATTGCGGCCACGAAACGTGTCATGGG +CGGTCTTATGCAGCAGCAGGGTGAATGGAATAAGGAGAAGCGTACGGCGG +ATGTTGAGAAGAAGAAGGACAAGAAATAATTTAAATTTTCCTATTTTTTG +TTTGTTGAAAATGACTTTATTTGGCAAAAAAAACCCCTAAATTTCAGTTT +TTCTCGATTTGTTGAAAAATAGTCAAAAAACTGATTTCTATGTTATTTTT +GGTCAAAATTTGCCTTTTTCAAACATTTTTTTTGCCATTTTTCCTCCATT +TTTTGTTATTTTTTTTTTTCGTTTTGTTATGAGATATGTTTCTGTTTTGT +TGACATTTTTTATTATTGAAAATTAAACGAGTTTTCTGAATTTTTTTGTT +CAATTTTTTTGAAATTTTCCGTTTCACATACGTTTGTCAATATCTCGATT +AATTTTTGAAGTTTTCCAATTGACTCGCGCATTTTCTAAAAAGTTTTTAA +ACTTTACATTGAAAATACCCCTCTAACTCGAATATCTGATTTTATTGGAA +TTTTGAGTTTTTTTAGGTTAAAAAATTCTTGTGCTAAAATCATCCATTAT +AGTTCGTAAGTCAGCAAATTTTGGCTCAAACTTAGAGCGATTTCCAATTT +ATGGAGTTTTTTGTTCAGAATTCTCGAAATTTTCTCATTTCTGGAAATTT +TGAGTCTACGAGTCACACAGTTGTTCCGTAATTAGCTTCACTTACATCTC +CTCAACTCTGCAAACTCTCAAACTTTCGGGAAAGGGTCTCGCCACGAAAT +CACGGGTGGGCGGCAATTGCAGTTCGGCAAATTGCCGGTTTGCCGGAAAT +TTTCAATCCCGGCAAAATTCCGTTTGCCGGAAGTTTTTAAACGGGATCTT +TTATAAGACGGAAACACTTAAAACTGCCATTTTTAATTTTTTGCCCGTTT +TCTCTAAATATTTTCATAGAATTTACTGACTTTTTAGGATAGATGTTTTC +ATGGGATGTGCACATGTTGTTCCGGCAAATCGGTAATTGCCGAAAATTTG +AAAAACGACAATTTGCCAAAAAAATCGTTTGCCGTTCACCCCTGTATTGT +ACCATTTTTGGCGAAAATGCGCGTAAATTAATATGCTTGCGTGTGTAATA +TTTCGTTCATATATTCTAAATATACGCACCTTTTGAAATATTCATAATAT +ATGCATTTACGTACGTTCGAGAATATTTTGGGAATACACATTTATCATCA +TTCCCACCCGTTGCCATAGTATCCTCATCCCCGCCCCGCCCCGCCCCTTT +CTCTCATTTCCTCTTCCAAATCCTTAATGGCTCATCCGGTCATTGGAGAG +ATATGGCAGATGTGGCGGTTTTGACGAATGTTCTGGAGAACTCGAATTTT +ATATAACTATTAGACAATTTCGATATTAAAAACATTTATATGTAAAATTT +TCAATTTTTTGAATTTGCTCGCCGAATTTTGACTTTCTGACAATTGTGTG +TCGATTTACGAGGGTTATGTATATTTACGATATGTTTTTAATCATTATCG +AATGCTGATTTCCGTTTTTCTACGAGTTGTCTTCATTTTCGTTGGTTTTT +TTTTGTTTTTTTTTTTTGAAAGTGTATTTTTTAAGGTCAAAAAACTAGAA +AAATATTCAGTTTTCAGTCAGGAAAACCATTTATTTGGTTTTTTCAATAT +TAAAAAAATTATTGGGAAAAATGAATGAAACTCGTCGAAAAACGAAAATC +ATCATTCGATAAAGATTAAATATTTCGTAAATCGACACACATGTCTCCGC +CGCGAAAAATCGAAATTTCATAGAGGCATAAAAATTCACAATATTTTAGT +TTTTTTATTTTTTATTTTAATCCAAATCCCTATTCATGCTTAGATTTTTA +GGTGTTTTTCTGTAAAAAATCAAAAAATTGTATATTACTCATAAATTTTT +CCAATTTTCTCAAACCTTGGATCTCGCCACGACATTATTAAAAAATTCCC +GTTTTCTGCAGAAATGACGACAACGGAAGAAGCTCCCAAATCGCCGCTTT +TCGAGGCAATCGACAAAAATGACACTGAAGCAGCGCTGGCACTGCTGAAA +ACGAAGGAACAAGCCGCTCAACGGGATCCCAGTGGAATGAGTGTGCTGGC +AGCTGCCGCGTATAGGTATGCACCTTTAAAGCGGCGACGGTTACTGTATC +CTCGCAGATTGTTTAAAGGTACATACCGTAATCCGTTGAATTTCAGAGGA +AATCTTACGTTGGTCGAGAAAGCGATTGAGCTGAAATGTGATGTGAATGA +TAAAACCGATGGAACTCTGTACACTCCACTCATGTTTGCCGCCTTATCAG +GTAGGGCAAAAATTTTTTAAAAAAATTTTTTGCGTCAAATTTGATGCAAA +TTCTGGTTTTTTACCGTTGAAAAGTAAAAAAAAATTCCGAAAAAATCGAT +TTTTATGCTAACAACAAACTTTTAAGTGAAAAATCGTGGAAAATTAGACC +CAAATCACGTATTTTTGATCTGAAATTCAATTTAGCGAAAAGTCATCGAA +ATTTTATGGTTTTCGCGGTGAGACCCAATATTCGCAATTTTTTTTTGCAC +CAAATACAACACATTTGACGCGCAAATTCAAATTTTTGAAACTTTTTTCC +GTTTTTACAATATTTTTAGGCTGAACCCCAATATTTGAAAAAAAAAAAAC +CAATACACTATATTTTACGCGCAAATGTTAAATTTTTATTTAAAATCCTC +GTAAAGTTCTATTTTCTTTTTTTGATCGTTTTCAAGCTCAAAAATTCAAA +TTTCAATTCGAAATATTACCGGAACACAAAATTCTGAAAATGCGTACTGG +TCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTC +ATTAAATGACTACGGTAACGCTTGTGTCGATTTACGGGCTCGTTATTAAA +AATCATTAATTTCAAAAAAATCGAGCCCGTAAATCACCACAAGCGCTACC +GTAGTCATTTAATGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCG +TCAAATATGCTCAATACACATTCTCAGAATTTTGCGTTAACGTATTACTA +CTTTCTTAGTTTTTCCAAAAAAAAAATTCGAATACACCATATTTGACGCG +CAAACTTTTTTTTTCAAAGCAAAATTGTCAAACGTTTGCAGGAAAACAGG +ACGTATGCCGCCTGCTAATGGACTCCGGAGCCCGTATGTATTTGGTGAAT +GGAATCGGAAAAACCGCCTCTGAACTGGCGGCATTTGTGGGTCATCACGA +GTGTGTGGCAATTATCAATAATCATATAACAATTGATGTGATCGAAGATC +TTTTGCGGCCAAAAGTGAATGGAAAATATGAAGGAGCTGAGGAATATCCG +GATGAGCTGGCTGTATTTATTCATTCATTGTGTGGATCACATGAGATTCA +TCCTGTTAAGATTATTTTTCGATTCAGTAAATATCCCGATTCGTTGAAGT +ATAAGAAAAAGGTACATAGCTGTGTAGTTTGGAAAAAAAACGAAAAATCT +GAAAATTTGAGAAATTTCCTTAAGCTTTTTCAAGATGCGCATTTTTGTTC +ATTCTTATTTTCAAAAAAATCCAAAAAGTTTTTTAAAAAATTTAATAAAG +CATTCTTTTTAATTTCAAAACAAAAAAGTTATACCAAATAAAAACTTTTA +GTAATCAAAATTTTTCACTTTTTCTCGGTTTTTCTCATCGTTTTTCAAAT +TTGAGATCTCTTCCTGAATTTTGCCTAAAAATTGATTTTTTCAAAATATT +TTCAGAAATGATTCTTTCTGTGAAAAAATGTTTGAAAATGCGAAAATATT +CGAAACTAAAAAAACTTTTATTAAAATAAATTTTTGAAATTTTTCAGAAT +TTAAAAATTGAATCGAATTAGGTATCAGTAGTTTTCAGATCGATTTTTTC +GAATTTCTGAATTTGTTAAAAACTAGAAATTAAAAAAAAAACTTTTGATG +TTAAATGTTTTTCGAGATTAAAATAAACCGAAAACCCAAAAAAAATGTAA +AAATTGTGTTCTTTTTGTTATAATAAACCAGAATTTTCTCGAAATTTTCA +GAAGGTTCTAGAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTA +GAACATTTCAGAATTTTCTCGAAATTTTCAGAAGGTTCTAGAACATTCCA +GAATTTTCTCGAAATTTTCAGAAGGTTCTAGAATAGTTCAGAATTTTCTC +GAAATTTCCAAAAGGTTCTAGAACATTACATAATTTTCTCGAAATTTCCA +GAAGGTTCTAGAACATTCCAGAATTTTCTCGAAATTTTCAGAAGGTTCTA +GAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACATTTCA +GAATTTTCTCGAAATTTTCAGAAGGTTCTAGAATATTTCAGAATTTTCTC +GAAATTTCCAAAAGGTTCTAGAACATTACAGAATTTTCTCGAAATTTCCA +AAAGGTTCTAGAACATTACAGAATTTTCTCGAAATTTTCAGAAGGTTCTA +GAATATTTCAGAATTTTCTCGAAATTTCCAAAAGGTTCTAGAACAATCCA +GAATAATGTTTTCAAAAAATTCAAATTTGAATTCCCGCCAAAATGTTTTC +AAAAAATTAAAATTCGAATTTCCCGCCAAAATATGTACAGTACTCCTACA +GTACCTCTACAGTACTACTACAGTACCCCGACCATATCCCACTACTAACC +CCAAACCTATATCTCTTCAAAAGACTAAAACACAATTTTTCCTAAACTAC +AGTAATCCTACCGTACTCCTACAGTACTACTACAGTACCCCCACCATATC +CCACTACTAACCCCAAACCTATATCTCTTCAAAAGACTAAAACACAATTT +TTCCTAAACTACAGTAATCCTACCGTACTCCTACAGTACTCCTACAGTAC +TACTACAGTACCCCGACCATATCCCACTACTAAGCCCAAACTAATATCCC +TCCATCAGCCGAAAACGCCTTGCCTTTGTAAACTATGACGTCACTACTTA +ACAAACGGACACTATTTTTTTATATTTTTTTTTCAAAGCAAAAACCACCC +ATTTTCCAGATCCTCTACGTCATCGATCGTGTCTTCGAGAAACAGCTTCG +ATGTAAGGAAAGCAATGAAATAATGTCGCTCAAGCTTTGGCTAATTCTAT +TTTCAATGCGTGAAACCTCGAAATTCGTGGAGTCGAACAAGGAAAAGTCG +CCAGAAGAAGCGTCTCTACAGTACGCAAAACTGATTTCCACGTGGCAAGA +GGGCGATGAAACTAGGCGAGCACTTGACGTGATGCTGAGAAATGCGGTTG +CTTCGTTCCCGTATAAACATTCATTACTTCATGATACTCTACAAAAAGCA +CTGCAAAAAAGTCAAATTGGTGAACGACCAAGTGCCTATGAATACATTGT +TCAGGCACTTTTCGGACAACGAATCGCTGCGGTCTGCCAGTTTTGCTCGG +TTTGCGGACATCCTGGAGCCAAGAAACGGTGCACACAGTGCAAAGTATGG +AGTTTTTAGGGTTAAAAATAATTATTTAATAATTTAATAAAGCTCGAATT +TGGGAAATAATCAATTCCAAATTTTAAAAATATGGAAAAAATTTTATTCC +GTTACATTTTATGAATTTTCCCACAAACTCGGCATTTGGCTCTAGCTTCT +TGCCCAAGTTTAGCCCAAAAAATATTAACTTGAAGCTGTCTAAACTTGGG +CAAAAGTTAGACAAAACTTTGGCAAAACTTGGATTCAAGCTTTACCAAGG +TCTAACCCAAGTTTCACCCAACTCTTGCCAAACTTTGGCCCAAACTTTTC +TTATTTCGTTTCAAATTTGGGCCAAAGTTTGGCAAGAGTTGGGTGAAACT +TGGGTTAGACTTTGGTAAAGCTTGAATCCAAGTTTTGCCAAAGTCTTGCC +TAACTTTTGCCCAAGTTTAGACAGCTTCTGATCCAAGTTAACATTTTTTG +GGCTAAACTTGGGCAAGAAGCAAGAGCCAAATGCCGAGAAACTCGAATAA +AAATTGAAAGTTTTCAAAATTTCAGTTCGTTTTTAATTTACAAAATTTGG +CAGCTCTAACAATTCTTTAAAGATTCTTTAAATTAAAAAAAAGAATTATT +AAAACTTTTTAAAAAAATTCATTCTGTAGAAAATTCCCGTAAAATACTCT +TTGAAAATCCGGGAAAAAACTTCAAAAAACAAAAATAAATTCTAGACATT +CTGTAAATATCGAAAAAAGAACATTTTGTCTGTAAATGTATTAGTCAAAA +TTAATTTCTGATACTTTTTCCAATTTTTCAAAATTTTAAGTGTCGAGGTT +CAATTTTTTTGAATTTCCTGTTTTTCCTTTATTAAAAAAAGTTTTCTATA +ATATGCTGTATTTGAAAATTAAAAACTATATCTGAAAATATCGAGGCACA +ACGTTTTCAAGATCTGGTGAAATTCCGGATCTACGTTTTCCGGATCTACC +ATTTCCGGATCTACGTTTTCCGGATCTGGCACCGTGCCAACGCACAAAAC +GCTTTTTTGTTCACTCGACGCACGTTGTTTTTTGAAAATTTCTTCTAGAA +GAAACGCTTAACAACACGCGACGCGTAACAACGGAGCATCGTTATCACGT +TTTTCTCCGAGAAAAATAGCGTTTTAAGAGTTGGCACGGTGCCAGATCCG +GAAATGGTAGATCCGGAAAACGGAGATCCGGAATTCCGCCAGATCTTGAA +AATGTGGTGCCTCAAAATATCGATTAAAGAATTTTTTCTGAAAAATATCC +AATTTTTCAACAACAGAATAGCTAAAAAGTGAAAAAAAACTCAATTCTCA +TTATAAATTGCAAACAATTTCCAAATTTTGATAAAATGGAAAAGAGTTTA +AAAATTTCAGGCAACACATTTTTTAACTCTAGTAAACGTTTTTTAAATTC +CAACAATTTTTACAGCTCGCCTACTGTTCCCAAGAATGCCAAAAATTCGA +CTGGCCAATTCACAAAAAAGTGTGCTCATTTCTGAAAACGCGACAAGAAG +TGTCGCCCACCGACGAGACCGCCATGTCGCTGGACGATATTCAGGCTCAA +ATCGCCAAAATCGACGTGTAGAAGTGCCGATATTTCGATCTCAATATACT +TTTTTTCTGGAATTTATTTATTTTTAATGTATATTTCGGCTTCATCTCAT +TGCACGAACTTTTAATTTCATTTTCATAAATTCATTTTTGAAGTCATTCC +TTGAACAAAAATTCACTAAAACATGCATTAAGAAATATGGAATCCAAAAA +TTAATCTAAAAACCTTTTCAAAAAACCACTTCGTCAAAAACTGATGATGG +AAAACTCGTTGAAAAACGGAAAGAGTATCCAATAAAGATTAAAAATTTCG +ACATTTCGTAAATCGACACAAATCTCGTAAATCGACAAAAATGAAAAAAT +CAGGAACCCAAGAAATTCAATATTCTCATTTGTAAAGACAACTGGTAAAA +CATTTTCAAATCAAAAAATTATTTTTTTTGCCCTCAAAATTGATCTCCGA +ATACTATAAAAAAGAAAACTATAAAAAGTGGCGAAAATTCGAAATTTTTT +AACCCCTCTAAAATGGTTCATTTTAGTTGTCTAATGATACAACAAAGTAG +ACATAGTTCTACAATATCTGATAAATACTTGAAAAGTCTAAAAACAAAAG +TTTTTTCGTTTTTTTAACGGATTTTTAAAATCCAGAAGAACGAAAAAAAA +TTTTTTTAAGAGAATAGAGTAAACTAATCATGTTCGAGCAAAAAAATCCG +ACTTAGAATATGAACGGACCCAAGTGTATCATAATTATTTTAATTTCTGT +GTATCAGAATTATTTTAGTTTCCTTAGTGTGATTCCCAAACTGCTTAAAT +TCTAGGAAATATTTCTTTACTGGAACACTCTTAGCCACTGTACGCTGCCG +AACGAATAATAAGAGAATACAGAACACCAATTATGCCCGAGAAAAAGATC +CTACTCAGAATATAAACATAGTCAAATTTATCGGATGTATAAAGATTCCC +GAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATCAAATTCTC +TTACTAGAACGCTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGA +ATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAA +CATAGTCAAATTTATCGGATGTATAAAGATTCCCGAAGACACTTTCCAAT +TACCCAAATTGTTCATATTCTAAATGAAATTCTTTTACTAGAACACTCTT +GGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACCAATT +ATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTTAAATTTATT +GGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCAT +ATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGC +CGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGA +TCCTACTCAGAATATAAACATAGTCGAATTTATCGGATGTATAAAGATTC +CCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTC +TCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGT +GAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATA +AACATAGTTAAATTTATTGGATGTATAAAGATTCCCGAAGACACTTTCCA +ATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAACACTC +TTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACCAA +TTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCGAATTTA +TCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTC +ATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCA +GCCGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAA +GATCCTACTCAGAATATAAACATATTCGAATTTAACGGATGTATAAAGAT +TCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATGAAAT +TCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAA +GTGAATACAGAACACCAATTATGCCCGGGAAAAAGATCCTACTCAGAATA +TAAACATATTCGAATTTATCGGATGTATAAAGATTCCCGAAGACACTTTC +CAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAACAC +TCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACACC +AATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATAGTCAAATT +TATCGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATTGT +TCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTACG +CAGCCTAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGAGAAA +AAGATCCAACTCAGAATAAAAACATATTCGAATTTACCGGATGTATAAAG +ATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTGAATGAA +ATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATCAT +AAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCTACTCAGAA +TATAAACATAGTCGAATTTATCGAATGTATAAAGATTCCCGAAGACACTT +TCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGAAC +ACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAACA +CCAATTATGCCCGAGAAAAAGATCCTACTCAGAATATAAACATATTCGAA +TTTAACGGATGTATAAAGATTCCCGAAGACACTTTCCAATTACCCAAATT +GTTCATATTCTAAATGAAATTCTCTTACTAGAACACTCTTGGCCAATGTA +CGCAGCCGAACGTATCATAAGTGAATACAGAACACCAATTATGCCCGGGA +AAAAGATCCTACTCAGAATATAAACATATTCGAATTTATCGGATGTATAA +AGATTCCCGAAGACACTTTCCAATTACCCAAATTGTTCATATTCTAAATG +AAATTCTCTTACTAGAACACTCTTGGCCAATGTACGCAGCCGAACGTATC +ATAAGTGAATACAGAACACCAATTATGCCCGAGAAAAAGATCCAACTCAG +AATATAAACATATTCGAATTTATCGGATGTATAAAGATTCCCGAAGACAC +TTTCCAATTACCCAAATTGTTCATATTCTAAATGAAATTCTCTTACTAGA +ACACTCTTGGCCAATGTACGCAGCCGAACGTATCATAAGTGAATACAGAA +CACCAATCATGATCGAGCAAAAAGATCCGATTCAGAATATAAACATATTC +GAATTTATCGGATGTATAAAGATTCCCTATTGGGAAGTGGAGCAATCCAC +GACTGGTTTATCGGCCACAGTCCCCGGCTAGGACATGGCTTATATTATTG +GGCCAAGGGGAGCACCACCAGGCAGTGTACCTGACTCCCAGATCAGCAGT +ACATAGCACTTGAAGAATGGATCGTCCTTTAATCTTTTAATCTTTTAAAA +AGAATCGAAGGAACTCTCATCGGGTCATGTGGTTGTGGGGACAAAGAGGG +AGGCTTACATCAATACCAAATACCTGTGGTAGATCACAATACCTGTGGTA +GATCACACCCTATCCACAAAGAAAATCTGTGGACGTCCTCAAAGGAGGCC +GCCCGCGCCCTTGAGCTGGCCAACAAACCCTTCGAGCTGGGTGGAGGAAT +ACTCCAGCCGAGCGACTGAAAACGGCGGTAACGCCACGTTGTCGCACAAT +AACAACAAAAAAGCCCGCGGGCCCCAAGAAGCTCAAGAAGCCCACGGCTT +AATTTTCAAATCAATTACCTTACTATGAATCTCCTTTTTGCTCTACGAGT +CGTCGTTGATGTCATCCTTCCGTCCAACCTCCGTCAAACAGTCCATCTGA +CCATCCGTCCAACCAACATGTGGTGGAGTGTCCAACGCATCTGAAATTGA +AAAATATTTATATCTGATTTTTTAAATGGAACCATTTACAAAAAACATAA +ACGGAAAACGCTTAGCAAAAAAACAAACAATTAGTATTTAGAAAAACGGA +GACAAATGCTCTCGCGATCTTATTTATATTAATTTTCCAGTCGATTGCAA +GGCATCTGCTCCCACGGGTTTATATAAAATTGTGTAACTAATTTTAAACT +TCTCTTGAAACCTTTCAACCAGTACTTTTCAAGAGTTTTTGGTAATTTTT +CGATTTTTCAGAAATTTCAAAAAAACGGCGAAATTCCACTCAGAACCCTC +ATTAATATTTCACTAGTCCAGCACACTAACCCAAAAAATTATTTTTTTTT +TGAACTACAGTAATCCTACAAAATTGCTACAGTACTATTACGGGACCATA +ACAAAATTTTGATAATGCGTATTGCGCAACATATATGACGCGCAGAATAT +CTTGTAACGAAAACTACAGTAATAATTTGAATGACTACTGTAGCGTTTGT +GTCGATTTACGGGCTCAATTTTCGTAATGTTACACGACACATTTTTTTGA +CAAATGCAAAAAAGTGTGCGCCTTCAAATTAAAAAAAAATTTGATTTTTG +TTGCCGGCTTTTAACACATCGAAAAAATAAAAGAAACGAAAGTTTGTAAT +TACAGTACTCCTCTTAAACGCGAACACCTTTTCGCTTTTCAGAAAAACTT +GCGCCGTTTCGAAACCGGGTACTATACTTTTATATTAAAATCGATTAAAA +ATCGCGAAATTTTGCGGTGGAGCATATGTCAAATTGCAACTCGAAAAGAA +AAAATCTGAAAATGCATGCTGTGAAAAAAAAAGCAGCAGTACTCCAAGTC +ACCCATTGGAAAGAATGACTGAAAATTGAAAACAATTCTTCACTTTGAGC +GAAAAAATGCCGCGTTGAATGAGAGAGGGACGAATCGAAATTTAAAAGGA +GAAGATCAAAAAAAAATGTTTGTGGTAGGTCTGGAATCTTGCAAATTATC +GTTTTAAAATCAATTTTTAACACTTTTATATCATAAAAATAGTTTTTCAT +CAATCAATCGATTAAAATACCAACTCTCGAAAATTAACAGCTTTAACAGC +GCCGTCTACTGATTTGAAATTGCAGTCGCTGCCGCTCAATTAAATGTTTT +GCGCGTCAATTAAAATGCCTTGTACGCAGATGCGCGTCTCCTAAAAAATA +AAAAGTTGTCCAATTTTATTGAAAACGGGTATTTAATTCATGTAAATATG +CTGAATTTAGAAAATCTAGGTTTAACCTATCAAAAACTATAAAAAAGTGG +CAAAAATGGGCAATTTATGGCAAAAATTCACAATTTTGAAACTCCTCTAA +AATGGTTCATTTTATTGGTAGAAGAGGACTAAAAATTGATATCCGAACCC +TAAAAAAATTGTCCTTTTTCAATATTCAGAAGAAAATTATGAAGTTATTT +ACTTCCATTTTTCGATTGTACGGTAAATCAAAACTAAAGGTGGGCACGGT +ATCTGATAAAGTTACGATCGTTCCAGGATCACGAAAATCGAATAATTACA +CAGCCAGAGTTACATGAAACAGTGTTTGGGAAATTTAAAAATCAGTACAA +GAAAACCTCAAAAAAAAAACAAAATTACAGGAAAAAACGGAAATTTTCAG +TAAAAAATTATAGGGTATGTAAAATCGATAAAATATTTAAAATTCAATCG +TATTCTCCGTTTTCGGCGTTCGGATCGTTCACTGGAAGTACGGGATGTCG +AAGTTTGAAATTGAAGAATTCGCACCAACCGGCTGGAAGTAGATCGTGGG +AGCTGCAAAAAATGTTCGTGGCCGCGAAAAAAATCGGTGGCCGATTTTTG +TTTTTTCGCGGCCACGTTGTGACTAGACGGCGAAATAAAAATTTGTTTTT +TGGTTTTTAGTGTTCAAAACTGTTGTTCTTGTTGAAAAACAATTTTTTCG +AATTTTTTTTGTTTTTTCAACTAATTTTTTTTTCTGAAAATGCTTTTAGA +ACAGTTCATTTTGTTTTTTTTTCAATTTTTTTCAGACACCCCTTACTCCA +TATCATAAAGCTCGGAAAATTCGGAATCCCATCCCTGAAACTCGATGAGC +ACCGTTCTACCGTGTACTTCTTCGACGGAGGCCGGTGATATCCAGTAGGT +CTCGTTTTGGCCGACGGCTTCAAGGACACGACCGAACTGAAAAATATTGT +TTTTTTTTTCAAAACCATTTTTTTTAGGAAAAAATTTTTATTGAAACGTT +TTTTTTTTAATTTTAAAATTCCAAAAAAACGCAAAAGTGCAAAAAAACTT +GAAAAAAATGTTCTCAATATTTTTTCCGACTCACAATCAAAGAAAATTTG +AATCGAAAAAAATTAATTGTTTTCTTTTAAAATTTAAGGAAATTATTTTT +CTAATTATTTCTTCCAAAAAAAAGTTTAAAAATAATAATTTTTCAAGTGT +TTTTCAAGAGAAAATTAAAAAATTTCAAATTTCAAATTTTAATATACTTT +TTATTTTAAAAACTTGTATAAATCTCCGAATTATATGGATTTTTTTGAAA +AATAAAAAATTTTTTTATTGGAAAAAGAAATCTGATTTTTATAGTTTTTT +TTTTTAATTTGAAAAATACGAATTCTATCACGGCAACTCAAAATTCTGAG +AATGCGTACTGCCCAATATATTTGACGCGCAAAATATCTCGTAGCGAAAC +TACAGTAATTCTTTAGATGACTACTGTAGCGCTTGTGTCGATTTACGGGT +TCAGTTATTTAAATGACTTTATTTTTCGTATTATTTTCTTCATTTCAATT +AATTTTAAAAATTGAGCCCATAAATCGACGGTACCGTAGTCATTTCAGGA +ATTACTGTAGTTTTCGCTACGAGATACTTTGCGCGTCAAATATGTTGTGT +AGTACGCATTTTCAGAATTTTGAGCTGCCGTGATAGAATTCGTATTTTTC +AAATTAAAAAAAAACTATAAAAATCAGATTTATTTTTCCAATAAAATTCG +TCTAATTTATAAAAAAAAATAAAAATAAAAATTGAACAACGCTGAAAAAT +CCCAGATTTTTTTTTCTTATTTTTTGAAAAAAAAAACTTTTTTTGGAATT +TTAAATTACATAATTTTTTTGGTTCAATCAATTTTTTGGTTAAAAAGCGT +TTTTTTTTCCTTCAAAAAAGCACCTCAAACATGTGCCTTCTCTCCTTGCT +CGGCAACGGCCTAAGCATCTCATCAGGAATTTTTTCCGCCTGCTTCTCCT +TCAAATACCCTTCCCACTTGAATTTCCCGGGCTCAGTGCCTGCAAGCCGA +TCCAGCTTGATTCCGAACTTCTCAGCATAGCCGACAGGATGCATAAAATG +ATTATCAATATGAATTGGGAAGGATTCATCGTCCGATTCTGTCTCATCAG +GTGAAATAATTAAAAATCCAGGCGTTTTGCATATTTTTCGAATTGTTGCG +ACGCAAAATGACTGGCGTAGGTCGCTGAGTGGATCCAAAAGTTCAAATTT +TTGGCCGACTTTTAATAAATTTAATTTTTCAGCTGAAATGTCAGGTTTCC +CAGCAAAAAGTTGCTCGAAAGTGACGTCATCTTTATGATAACTTCCAGAA +CCTTCTGCGATCCGTCTGGAATGTTCCAAATAACCTTCCGTAGCCTTAGT +CCGTAATCCATTAATCATTGCAAATCCGACTGGAAACAGGAAGAAGCTCG +ACTCATCCACCCAAAACTCGACGTTTTCATGCTGAACCTGCCGATCTTTG +GCCTCTACGGAAGGAAGATCTTCGGGATAATCCTGAGCGGTGACCATGAC +CATCAGACGGCGGCCAAGGATCCTGAGGATCCGTGCGACACGGATTTCTG +TTGGCTCCAAGTAGTTGAGTAGCTCGACGCGTTGATTCAGCCGGAAACGA +GATGGGCGGTGGGCAAGGTGGCGGAGTTGGTCGAAGATTTTTGGCTCAGA +GATTCGATTTTCGTGCAGCTCGGCTTGAAATTCCTGCAGGAAAATTTTTT +TAGGAAATGGGAAAATCAGAAGGGTTTTTTGGAGTTTTTTTTCAGTATTA +TTTTTTTTGTTGTTTTTTTGAGGCTTTGTTAAAGTTTTTAGGTGAATTTT +TTTTGTTGATATTTTTGGTTTGTTTAAGAATAAATCATTTTTTGAAAAAA +ATTCGTTTTTATATTTTCGGTTTTTTGCTGGTTTAGTTAAAAGTTTTTTT +TTCGGATTTTCAGGTTTTTTGACAAAAATTGATTTTTTTTTTGGTGTATT +TCTTAGGTTTTCGGGTTTTTTTTTTGGTTTTTGACGAAAAATTTATTTTA +AAAAAAACGGACTTTTTTGCAAAAAATATGGGGTTTCTTAAAAAAAAAAA +TTTCAATTTTTTTTGTTGGATAAAATTAAAGTTTCTTTTATGGTTGATTT +TTCGCCTTTTTTCACATTCTCCACCAGAAAAAACATGAAAAAAACCAGAA +ATGAGTAGTTTTGAGCAATTTTCAGGCAGTTTTTCCGCTCAGAAAATAAT +TTTGGCCGGATTTTCATGGTTTCTCACATCCAGAATCTCCTCTGTTGGCC +GTGGTACGGGCGGTGCAGGCGTAGATCCACGTCGCCAAAATTTCGGGCAT +TGCATCGGTTTCAGCAAGCTCAGTGGCCTGTATTGAAGCCATTTCATCGC +TGGATCCTGCTTGAGACCGCTGAAATTTCGCGTTTTTTTTTGGAAATTTT +GTTGAAAAATAACCTTCCAATATCGAAAATATCCTCTGAAAGCATATGAA +ACCAGCAGGGTCTTCTATTAAGTTCCCCCACAAATTTAATTGCCACGTAG +AAGCCGCAGACAGCAGTCACCTCGCCGAACCAGCGGATTTCTGGAGATTT +AGTGGTTATAGAAGGATCCAGAGACGGTCGGACGACTACTTCTAGCTGAA +AACATTAAGATTATGGCTTTAAAGTTTTTTAAAAGAAAAACCAACTCGAA +ATCCAGGTTTTAGGTGCTGATTTAGCTTTTCCAGCGGCAAACAACCCTCC +AGCGCCTCGACAGGTAAAAATTGAGTATTTCCATCATAATTACATCGGAG +TTCATCTGACCATGTGAATGTTCCTTCAATTTGTGGCTTTGGAATCCGCT +GGGCGATTTTCTCAACTGGATTTCTTCGACGATAGAATAGCCGTTCTTCG +GTGAAATATCGGTATTCTGCTTCTTCAAGTTTGTAATTATATTGACGCTG +AAAGTAATAAATTATGTTTTTCGATAAAAATGCTTTTAAAATTACCTTTT +TATTCGAAAAATTCATTGATTTTAATTAAAAATCTATTTAAATTGTTTAA +ATTAAAAAGTTCCAAGCTTCTGTAGTTATCGCGTCGAGACCCAACACACT +AATTACCACATGCGCCTTTATATAAATTTTAAGAAAATCAACATTTTAAA +AGATTTTTACAGTTTTTTTGTCGTTAAATTTTTCGAAAAAATGATTTAAA +CTCACAGTAAACTTGTTTGAAACTTGAATATTAAAATTTCACAGTCAATG +GGTTAAATTTCAAGACTTTCCCACTGATGATACGGTAGGCGCGAAGTACG +GTAGTTTGTTTTGTTTTTTTTTATTTTGCCGCCGAGTGATTCAAATTTGA +ATTTATATCATCCGATTTTTTGATTTTTTCCTCAATATTTCTCGATTTTT +CAGCTTTCAGTGTGATTTTCCAAGAGCCGTAGCTCGACCAGACGACGGAG +AGCCTGAGGCTGGTCGCCAGAAGCACTATGAAGTGTGGGTTTTTTTTAAA +GCATAATTTGCATTAATCTTCTAATATTTTAGCCACCCCACACCGTCCAC +GAACAAACTCCGAATCGAAGCTCGGGGCTCGCGAGCAGCTTCTCCGGGAC +TCTATACGAGTGGGTTTAAGTTCTTAATTTCAAATTTCACTCATTTAAAA +ATTTTATTTTTTAGCTTCAAGTAGCTTCGGAGCCGTACGTCCACATGACA +AAGGAATCCACGTGGGACGAGGCGAAAAAACTGGCGATCAGTCTTGAAAA +GAAGCCGGACATTGTCCGTAAAGCGATATACAATCGTCGTCGCTTCGTCA +ATGAAAAGATAAAAAGTGCGCTGGTCAAGCGCGAAATCATCGACCCAAGA +AGCCCGGCAATCCATGAAATAGCAGTGGCGGCGGAGGTATTTTAAAAGAA +AATCAGACAAATTTAATATCTAATTATTCCCCATTTTCTTGCAGACAATC +GCCATAAACGTTGTGCACTTCTTGGAGACTCATCACGCAAAAATACTCGC +TGAAATCAAAGCGGCCGCCGCTGGAGCCGGCGCCCAGCTCCGAACTGCAT +GAATTAATTCAAATTAATATTTTTAAACTCATTTTTCACACAAATAATCA +TTCATGTGTCCATTTTTCACTCTCGAAACCCATATACCCTCACTCTAAAT +ATCAATATAATGCACATTTCTCATAGTTTTAATCTGCCCTTACCAATTAA +ATCTTACCAATTTTCCGCCATGATCCCTTTTTCCATTTTGAATAAAATTC +GACGACGATTTTTCCATTAAAACAAGAAATATATAAATAGATTCAAAAGT +GGCGCTTGTGTCGCTCAGCGGTCTCCTCCACTTGCACACTATCTCACCGC +GGCCTTCCAATTACTCGTCCATTTTCCAGCTGTAAAAAGTTTATAAAAAC +TGAAATAAATGCAATTTTCAGCAGAAAATCGCTGAAAATGCGGCAAATCG +TCGAGCTAAAGTCACTTTTGACTTCGGAGCCAATTAAAGCCATCGAGCTC +TTCGATAGGCTCGTTGGACAAGGTTTGAGCCGAAAATCTAAACTTTTAAG +CTGAGATTTCTTTTAAAAATCCCTTCCAGATGCCGACACAATCACCCAAG +AAGCCTGTGGAACCCTCGCCAACTATATCCGGCATTCCAGTGTTTTTAAG +CGACGGCTTCTGTTCACGGAGCTCCAAAAATGCTCGTTTTTTGCGAAATT +GTGCATTTCGTTTCAATTTCACAGCTTTGAAGACACAGTTTTTCCGCGAA +AATTGATTTTCGAACGATTCAGCGTGTTTTGCGGTGAACTGGAAAAGGAC +AAGCCACGTGGGTTTTCATTTATTGAAAATTGAAAAGATTTTTGCAAAAA +ATCATAAAATTTAATGTAAAACTGAACAAAACTCGATTTTTAACCGAACC +TTTTTGTTTTTTCCGTGAAAAAATCGGTTTTCCAAGTTTTTCGAACATTT +TCCGAAAAAAAATTACGCAAAAAAAACGATTTTCAAGTAACAAATCCGGA +AAAATCAAACTTAAATATTTTCGGAAAATTTCATAATTTTCTTCAAATCT +CTGTAAAAAGTAGATTCGATTTCTGGGAAATTTGAATTTATGTCATTTCT +TTAAAAGCGCATGCTCTTTTGTAGGGTCTCGCAACGAATTATTCAATTTA +AACTTTGAAATTCGCGCCGAAATTTGGGTCTCGGCGCGATTTTTCGAAAA +ATAAATGAAAAATATGTACTATTAATTTTTTCTTGAAAATTATTGATTTT +TCAGATCACCGGCACCACGTCACCGCTGTCGGATCGAATCGTTTCTTCAA +TTTGGGACTACTTTCCGATGGAAGCCCCGTCTCAGAACCCCGACTGGTCC +CCGTGCCACGTGTAATTCAAATCGAGATGACAAATACACACACAATATTT +TTGACTGCTGAAAATCAGATTTACGGCTGCGGAAAAGCTTCATCTTTTTT +GCCGGATAAAACGGAGGAGACGGACGGTGGTTATGTGGCACTGCCCACTT +TGGTAGAAATTCCAAAAGTTACTGGATACGTGGCAGCTGTGAAGGTGTTC +GATGGAGGATCACAGTTTTTGATTGGCGGCAAAGTACGGTTCTAGAAAAT +TGGTGGCCGAGTATTTTTTCGCGGCCACATGGCGATTTTCTACACGAAAA +GTTGTGTAAAAGACAAAAAGGTGTGCGCCTTCAGGGATTACTGTAGCTGA +AGTTTTTCATAGATTTTTTTTTTGGCTTTAAAAAAATCCTTAAAGGTGCA +TTTTCGTGTCGAGACCTTGTTGTATTATTTTGCTAATTTTGCTTAAAAAG +TACAGTACCAGGTCTCGACACGAATAGTTTTGATAAATGCAAAAATGTGT +GCGCCTTTAAGGATTACTGTAGTAAAAAATAAGAATCCCTTTTGGAAAAT +TTGATAATTTTGTGAAGAAAAATAGATAATTCTTTGAAAATGAATAATTT +TTTGGAAAAATCTTTTTTTCTTATTTTTCTAGACGTACACCTTTATTTCA +TTAAAAAATTGTCGCGCCGAGACCTGATACCGTATTTTTGAGCGCAAAAT +CGTGCCGAGACCCAAATTCGTGAATTCAAATTTTCAGTGGTATTGTGTTG +GAAAATGTTCGATTTCCGGAGAAACGCGACGAATTTCGTCGAATTGTTTT +GTTCTGGTAGAGGAGGAAAACGAGGAGAAATTGGAGAAAATGACGAAAAA +TATCGATTTTTACGTGGCAAATGTGCCGATTGAGGAAAGGATTGTGAAGG +TGGATTTTTTTTTTCAAAAATTTGAAAACAAAAAAACTAAAAAAAAAAAT +TTTAATCTTAGTTTCTAGAATTCAAGCCAGTTATAATAATTTTTAAACTA +AAAATTGCATCTTCCGAATTTTCAAGATTTTTTTTTCTGAAAATCGTTTA +AAAAAATATCTTGAAAAATCAAAATTTCAAAAAAAACAAAACTTGAAAAA +AAAAACGTCTTTAGCGGTATTTTTTCTATAATTTTTCAATTTTTTTCAGC +TTAAAAATCATAGAAAATCGTAATTTTTTGACATTTCTTCCAGGTATATC +TAAAAATGGACCAAAACGAGATTCTGTGGGATAGAACGAGCGATTTCTCA +GCGGAAAAGCCGATTTCCTTCATAATCAATGGATTTCCACAAATGGCAAT +TTTCGAATCATTTCAACTTTTAAATGATGGAACTATTTATGCTGCGAGAA +ATTCACTTTTCAAAGGAAAATTGGAGCTATGGAAGAACAAAGATGACGGG +TTTAAAGTGAAAAGCGGGACTGTTTTGGAGCATTTTGACACGAAATATAC +ACTTATTGCACTGATGGAAGAGGTTCCCGGTACTATTGGAACAGAGTTTT +TCAAAGTTTCACCAGATGGGCAGAATTTGATTATGAAGGTTCATTTTGTT +TGGAATTTGAAGGAATTCGACCTTAAAAATATAAAAAATTGCACTGATGA +TGTTATGGATTTTTTTTTCAGAAAAAAAAAAACGAAAAATTGAATGCTAA +ATGACAGAAAATATGCCCCTGTAACATTTTTTTTTTGAATTTTCTAAATT +TTAAATTATTTTTTTCAGTTTTGCGCAAATCAAAGAAACGGCCGAATTAA +ATTTGAATTCCCGCGCAAAAGAGTGACGTCATTTTTTTTTTCCCGTTTTC +CGGATGTATTATTAGGTTTTTATTTTAAACACAGTTTGTCAATTTTTCAG +ACATTTTTTTTTAAACTTGATAACCCGAAAAAAGTGGCCTAGAAATCGGC +TTTACAATTTTTTTTTTAAATCGACAAACTGTGTTTCAAATTATGAAACA +AGGAAAAAACGAAGAAAAACTTATAGCCGGAAAACGCGAAAATGTCGAAA +ATGACGTCACTAAATTGCGCGGGAAAAAATATAGAATTTTTTTTTAATTA +ACAGCTATATTGAATCATTAGGGCTTGTTCTCCGTCAAAAAATTTCTCGA +AAAAATTGATTTTTCGTTTTTTTTTGGAAAATCGAAAAATTTTGTTTCTC +AAAAAAAACAAAATTGGAATTTTTATTAAAAAATTATTTTAATCCAACAA +AAAAAACTAAAATTTTTTGCAAAATTTAAAAATTCATAAAACATTTAAAA +AAATTTTTTAAAAGTTATATTGGGACTGTATTCTAATACTTGGACTAAAA +AAACCCACATTTGACAAAAAATTCAATTTAAAATGAATATTTTCAGATGG +GCTACCAAAACGAACAGAAAACCGAGAAATTCGAATTCGAGTCTCCCAAA +ATTCACAAAATCATCAAAAATCGTGAAGTACAATGTGATCCAGTTGATAT +TCCGTTAGACTCGACTATTCATTTTCATCAAAATTATAATCAAGAAGTAT +TGAAATTTCAATCGAATCGATTATTATTTCAATGGATTTATCCGAATTAT +TTGTTTCAAAACGATGGAGATGTACATTTTTCAATTGAACAATTGGAGAC +TGTATTTGCTGTGGATTTGGAGAATTTGGAATTGTGAGGGTTTCTTTTAT +TAATTAAAATTTTTTTAAGTGGAAAAATTTTGGTTTTCTTTTCAGAAATT +ATTGTAATGTTGTAACTAAATATTACGGGAACACGAAATTCTAAGAATGC +GTATTGCACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACA +GTACTTCCTTTAATGACTACTGTAGCGCTCGTGTCGTTTTACAAGCTCAA +TTTTTTAATACTTTAAATTAAAACTTTTACTTTAAATTTTAAAAAAATTC +GTCTTATTTTTTAATTTTTGCTTTATTCCAATATTCTGTCGATAAATAAA +TCATTTTAATAAATTTAGAAAATTGAGCCCGTAAATCGACATGCGCTACA +GTATCCATTTAAAGAATTACTGTAGTTTTCGCTACGAGATACTTTGCGCG +TCAAATATGTTGCGCCGTACGCATTCTCAGAGTTTTGTGTTCCCGTAATA +TAGAAAATTAGAAGTATGTTAAAATTTTTAAAAAGTATTTTTTTTGGACT +TTTACCCAAAGATTTTTTTTTGCAAATTTTTAGTGAAAATTATTATTTTT +TTCAATTCACGCTAAAATTTATTAAAAATTTAAATAATTTTAGACTGTAT +TCTATACAATCAAAAAACAACAAACATCAATAAAATTTTCAATGAGTTTA +AAATTTTTTTGAATTTTTTAAAACTTTTCTTCGTTGACAAAACGTTCACA +AAACTTGAAAAAATATATTTCAAATTAATACTTAAAAATTCAAACAAAAA +ATTTTTAAAATTTTTCAGCCCGAAATACCAACCTATATCACCAGAAGAAT +TCGTTCCCACCGACACTTCTCCCTCCGATATCTGGTATTTAAAATCCAGT +GAAAAATTGAAAATCCCTTGTCACAAGTACCTTCTCCTACTACATTCACG +TCAAATTGGCGCGATGCAGAGATTTCATTCAAATTATGGGAATTTCGGCG +ATTTTAAGGATGGTAAATCTGAAAATGAAGTGGAAATTGAAGCGAATGCT +AGTGTTGAAACTGTGAAAAATGCGCTGAGAGGGATGATCAATATTCGAAC +TCTTTTCAAAATTAAGACTATTGAGGTAATTGGATTTTTGGTGAAATTTG +AAATGAAAAAATATTTATAAAAATTGAATTTTTTTTCAAATTTTTTTTTC +AGTCACCATAAGTCAATTTTCCATTAGATAAAAATCGATACTTTTTCTAA +ATGCGATAAAAATTGGAAATTCTATAAATTCCGGAAAAATCGATTGATTT +CAAAAAATCGATAATTTCCGGAAAATTGATAAATTCCAGAAAATCGGTAA +TTTCCGGAAAAATCGATAATTACCGGGAAAACCAATTAATTTCCAGAAAA +ATCGGTAATTTCCGGAAAAATCGATTGATTAAAAAAGTCAATAATTTCCG +GAAAATTGATAATATCTAGAAAAATCATTAAATTCAGGAAAAATCGATAA +ATTCCAAAAAAAAATCGATAATATCCTGAAAAGTGAATAAATTCCTAAAA +ATCGATGAATTTCATCAATTCCGGGAATATTTTTTAAATTTAAACTTTAA +AAAATATTTTTTTAAATCTTTAATCCTTATCTATTTTATTCAAAAAAAAA +CTGATCAAAAAAATTTTTTTTTTTCAAAAATTCAATATTTTTGCAGTTAA +TCGAATGCATCAACTTCTACGATTATCATTTAATGGATGAAATGTTCAAT +GATTCAATGCATATTCTAATGGAAACAATCACTGAATTCACACTTCCATT +TCTCTACGAATTATTCTATTCGTTTGAGGAAAAAGTGTTGGAGGGACTTT +TGCAGAGGAAATATTTGATTTCTAACTCAATTTCCAGTGTTTTACCGCCA +AAGGAGCTTCTTGTACGGTAAGTGAGTTAAGAAATGGAAAAAAACACATT +TTTGCTACTGTTGGAATTTTTTTTATTTCACAAATATATTTTTTTTCATT +TTAAAGTTAAGTAGGAGTTTATCAACTTTTCTGGATTTCATCAATTTTTC +CGAAATATTTTGATTTTCCCGGAATTTCTGTGTTTTTCAGGAAAAAAACC +CCAGAAAACTAACAAAAAGAATTAGCAAAAATGACCTAAAAACCGTAAAA +CTATGTATCCCAACTTGTCCACGTGTAGTACAAAAAACCGATGTGCACCA +ACAAGAATTTTTGCAAAAGCTATTTTTCCATTCAAAACTGCGCCCCAAAC +AGTTGAAATTTTATAGAAAATTTTCGAAATTCGCTTCTCCGAAAATAAAA +ATCTCAGATCCGCCCATTTCTTGGCTCTTCCAGATTCGCTGAAAAACTGG +ACACCGATTGCCGCCGACACCACACATTAAAAGTTCCGTCGAAATTCAAA +AATCTAGAAAATCTGAGCACCTATGAGCCCGAGTACATTGTCAAATATTT +TCTGAATCTCGACCAAGATTCGGAGGATGTGACGTGGCGATCGATACGTC +ACGAATTCCACGACACACTTGACACGTGGCACGCGGAAGCTGTGAAGAAG +AGAGATGAGAGACGTATGCACGGAGCAACACGGAGCAGAACGAGTAGTAT +TCGGAAGGAGAGCTTTACGAAAATTCAAAATGTTTCGATGACGTCATCGC +CGGTAGGAATATCGATTTTTATGTATCGAATTTACTGGAAAACTATCAAA +AGTTTAGGAAAAATATCGATTTTCCTGAAATTTATCGATTTTCCTGAAAT +TTATCGATTTTCCTGAAATTTATCGATTTTCCTGAAATTTATCGATTTTT +CTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTCCTGAAATTTATC +AATTTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGA +ATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTT +TTCTGGAATATATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATTTA +TCGATTTTTCTGGAATTTATCGATTTTTCTGGAATATATCGATTTTCCTG +AAATTTATCGATTTTTCTGGAATTTATCGATTTTCCTGAAATTTATCAAT +TTTTCTGGAATTTATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATT +TATCGATTTTTCTGGAATTTATCGATTTTTCTGGAATATATCGATTTTTC +TGGAATTCATCGATTTTTCTGGAATTCATCGAGTTTTCCGAGATTTATCG +ATTTTTCTGGAAATTTTACTCCCCAAAAATTTAACAATATATCGTGCCGA +GACACGAAAAACTCTAAAAATTACAGATTCCAATCGGAGGCGGCCGCTCG +AAACCCGAAAGTTTCTCAAAATCAATCAATAGTCCTGTCATTCAATCGCC +ACTCTCTCCCTCACCAATCAAAGGAATGCCAAAGGTAATCGTGTCGAGAC +CCACCACGCCACCTGCGCCTTTAAATTCCACGTTTTGTAGTCCCGCCACG +ATAGTATTTCCAATTCACTGGACGATTTTCCTGAAATGAGCATTTCACCG +TCCCCCTCGACACCGAAATCCTCTTCCGGTGGCGGTCGCTTCGCACCAAA +AGGAACTCGATTTAAAAAGGATTTCGAAATTCTCGTGAAACCTTCCCAGT +CACCACAGAATCCGTGGAAAATGGGCGGAGCTTCCGCGTCGATTCGCGAA +GAAATTGATCCGCAGGAGATCCGATTCGACGAAGTTGTGAAGAAGGAACA +GAAATTGCAGACTAATATACGTGCGTCACTTGAAATTTTGGAAAAATCGA +TAATTTTCAAAAAAATCGACCTTTTTTTGGAAATTATCGATTATTCTTGA +AAATTATCGATTATTTTAAAAAATTATCGAATTTTCTGAAAAGGATCGAT +TTTTTCGGAAAAAGTTTCGATTTTCTCGAAAAATAACGACTTTTTTTTTG +AAAATTATCGATTTTTAAAGAAATTATCTATTTTTTTGGAATTTATCGAT +TTTTTTTAGGAAATTATCGATTTTTTTAAGGAAATTATCGATTTTTTTAA +GGAAATTATCGATTTTTTTGGAATTTATCGATTTTTTTTAGGAAAAAGTT +TCGATTTTTCTCGAAAAATAACGACTTTTTAAAAAAAATTATCGATTTTT +AAAGAAATTATCTATTTTTTTGGAAATTATCGATTTTTTTTGAAAATCAT +CGATTTTTAAGGAAATTATCGATTTTTTTGGAATTTATCGATTTTTTTAG +GAAATTATCGATTTTTTTGAAATTTATCGATTTTTTTAGGAAATTATAGA +TTTTTTCTGAAAAATTATCGATTTCTCAAAGGAAAAGTATCGATTTTTGG +AAATTATCGATTTTTAAGGAAATTATCGATTTTTCAAAAGAAGAGTATGG +ATTTTTTGAAACTATCCATTTTTCTTTTAATTATTGATTTTTTTCCTGAA +AAATTATCGATTTCTCGATGGAAAAATATCGATTTTTCTGAAAATTATCG +ATATTCTTTTGGAAATTATCGATTATTCTAAAAAAAATTATCGATTTTGC +AGGAAATTCTCGATTTTTAAAATAAAAACAGCGATTTTTTTTTTGAAAAT +CATCGATTTTTAGGGAAATTATCGATTTTTCTGAAAATTATCGATTATTT +CTTCAAAATTATCGATTTTTCGAAGAAAAGTATGGATTTTTGGAAACAAT +CTATTTTTCTTCAAATTATTGATTTTTTTACCTGAAAAATTATCGATTTT +TCTGAAAAAATATATAATACCACACATTAATTTCAGGAACCGGATTCAAA +AAAGTGCAGCTTCTACCACACGTGGAGACGGAAGAGCTCGCCGGAGCTCA +AATTTTGGAGGTTTTTCGACGAGAACTTCACGATGAGGCGCTCATATGTG +TAGGAATTTGTGATGGTTTTTTTCTCAAAAATTTGAAATTTTTCAGGTGG +AACTGGTGATGAGCGACGATTTGGAGGTGGAAAACGAGCAGATCATCTGG +GGAAACATGCCGGGACTTGTTCGGCGTTAAATTTTAAATTTTTGATTTTT +TTTTTTCTTGTAACTTGCATTTTTTGTTTAATTTAGTGTTTTCGGTGTTT +TTTGTTGAAATTTTCGGGTTTTTAATATTCAAAAATTAATTAAATTATTA +TAAAATAAATGCATTTAGAAATGCGGTATAAATTGAAAATTTTCAAAAAC +CATCTCCCCGAATCCAGTGGTTTAGGATGAAAATCGTGGAAATCGAGCCG +AACGAGAGAATTCCGAGTTGCCACGTGGGTCTGAAAATTGAGTGTATTTA +ATTTTGGAAAATTTTGGAGATCTCTTACATTTTCTCAAAAATCCATAGCT +TTTTCCCATTTTTTTGTTGCTGGATCATTTTCAGCTCTTCGGTTATATCG +CAGACTTTGAAGCAAGGGTCTTCCGGGAGAATTTCCTGAACATTTGAAGT +TTTTGGGTGAAAAAAAAGCTTTTTTAAAAGATTTTTTGGTATTTTCAAAT +AATATCGGAAATTTGCGTTTAAATTTTTTTTTTCAAAAAAGTGAATTTTT +TCAAATTTTTCGAAAAATCGAAAAAAAAATTTTCGGGTTTCTGGAAATTT +TAATTAAATGTGTTTATGATGATGAGAAAATATAGTTGACAAAATAATTT +TTTCCGATTTGTCAATTTTTCAAAAAATTTGAAAACAATTTTTTCCATTT +TTATTCCTGAACATAAAAAATTCGAAAAATTTTCGTTTTTAATAATATTT +CGGAAAAATTTTGAATTTACCGTAGTTGTGTCATTTTTAAAGAAACTCAC +AATATTTCTAATCGAAGTATGCATATTTTTTAAATGAATTTTTGGAAAAA +TTTCAAACTTGTTTTTTGTTGAATTTTTCGATTTTCTTTCGTTTTTTTAA +ACAGAACAAATTTTTCATCATCTTTTCTACAAACAAAACAAAAAAAACAA +TTTTTGTTTTTAGAAAAGCGAGAAAAATTTCGAAAAATTATTTTAAAAGT +TAGAAAAATATCAATTTTGAACGGAATTTTTTCAAAATTCGATTTTTTTG +TTTATTTTTCTAATATGTTCAGTTTTTGGCCATTTTTTTTTTTAAAAAGT +TTGCTTTCAAAAAATTTTAAATGAGAATTTAGATTTTTTAACGAGAAATG +TTGAAATTGAGAAGAAAAAAAAAATCAATTTTAAATAGAAAAATTTTCTT +TTTCTAACATTTTCAGTTTTCTCAAAATTCCAAAAACTCGTACATCCTCC +TGACAAGTACAGTAATCCATTGGATCCAGATTCTCCTCTCCAACACTCGT +TTCCCGAATTTTTTCGAACCAATTGTTCATTTTCATAAGAACCGAGCTCA +TCGCAATCAATTTCCCGATATTTCCATCGTATTCCTCCGAAAATTGCTGA +AGCCGATTCAAATTTCCAATATCATGCTGGTGGAGAGAATACGGAGTGTT +CAATAGATCCGTAATTGATTTAACTTTAAAATTTGGTTTTTTCATTGTAA +TAATCATGCTAATCGTCTTGACATGATCTGTTAAATTCTCTCGTTTCGGC +GGAGAATATAATCGATATTCCAGTGGCACGAGGTTGTCGAGAAATCTATT +GAAATTCTGATAAATATCGTTCCAATCACTTCGAAGCTCGTCAGTTTCGG +CTCCAGCTCCGCTTTTGAAGCCAGTCGTTTTTAGATTGTGCTCCAGCGTG +TCTATTGAGCTCTGAAAATTTGATTTCAAAAATTTTGAGTAACTCAGACA +ACCCCATTTTTCATCTAATTCGAAATTAGCCACATCTTATAAGAAATTAA +CCACATCTAATTAGAAAAAACTTTTCTAATTAGAAAGGATGCATATCTAA +TTAGAAAAGCTGCACACCACATCTAATTAGAAGGGATGCTCGTCGAATTA +GAAATGAGGCACATCGAATTAGAAAGGGGGCGCGTTGAATTAGAAGTTAT +GCGCATCTAATTAGAAAGGAGGCACATATAATTAGAAACACATTGCGCAC +CACATCTAATTAGAAGGGATGCTCGTCGAATAGTACTACCTTTTAATGTA +TGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTT +TAATGTAAGTACTACCTTTTAATGTATGTACTACCTTTTAATGTATGTAC +TACCTTTTAATGTATGTACTACCTTTTAATGTATGTACTACCTTTTAATG +TATTACCTTTTGGCTCTTAATGTTGAAAATAAATCGAATCAAATTAGAAA +CAATGCGCGTCGAATTAGAAAAAAAGCATGCCGAACTGGTGCGCGTTAGT +TGACCCTATTTTTCTAATTAGATGAGAGGAATAGGGTTGTCTGAGTAAGA +CTGCAAATTATCAAAATTTTTTGGTTCAATTTGTTTTTGGAGAAAAAAGT +GAAATTTCCTGGCAATTTTCAGTATTACGTAGACGTCGAAATATGAGATT +TTTCACCATTTCTTATGGGTCTCGCCACGCCGACAATCAATTATTGTAGT +TCATGTCGATTTACGGCGCCACTGTTGCATTAATATTCCAAATGACAAAT +TTGCCGCCGAGTTTAAAAAATTCAATAAAAGCCCGTAAATCGACATGAAC +TACAGTAGTTGGTTGTCGGCGTGACGAGACCCAATTCTCATCTTTCGACG +TCCACGTAATATAGAAATTTTTTTTTTGAAAAAATCAAACGATTTTGCCT +CAAAAAATTCAAAACTGTAAATTCAAAAAATACCACAAAAAAAAAGCGAA +AAAAATCGCGGAAGACAGTGGCGCCAGGCTGTCTCAATACAGTTTGATCT +ACAAAAAATGCGGGAATTTTTTCACAGAAAAATTGTGACGTCAGCACGTT +CTTAATCATACGAAATCAGATGAGATTTCTGCGTCTGCCATCCCGCATTT +TTCCAAGATCAAAGTGGAACTGGGACTTTCTGAATAGGACTTTCTGATTC +CACGTGGGAAGGATGACAAATCCAAAATTGCGATATTTCACTAATTTCAC +TGCTTGAATTTCCTTGGAACCAATCAGCGTCTTCAAACTCCGCCCACTCC +ATCTGATTGGTTGAAAAATGGGCGGAGCAAATCGCTGATTGGTCGCAGTT +CTCATTTTTAGCCAAAGTTAAAAATCTCGATTTTTCAAGGTTTTTTGACC +ACCTCCAATTCCAAGCTTCTTCCTTACCTTCAAATCGTAGAATATTGCCA +ATTCTCTGATTGCATCGAGTCCTTCCTTCAAAACCACAACATCTTGCAAC +TCGAACCCCGAAAGCTGATATTTCTCGTTTAACTTGAATTCTCCTAGAAT +ATCCTTCGCACGTAGCAACTCTCCAACGATTCCTTCAGTTGGTAGAAACT +CTTGTAGAGTGTACACTGCCTCCCAGATCTTCTCAAGATCCCCGTAATTC +CAGACATCTTCCGAGCTAGCCACAAGAAATTGCATATGTTGGTGTTTTTC +GTTTCGAGCAACACATTCCAATGAGGATACGAAGTTAGACTCGTTGATTT +TTGTTAAAACGTTTATCATGCTGGCGTAGATTTCCTCGAATTTGGTTTTT +CTTTCTTGAAATTTTTTGTATAGTTTTGAGGGTACCATACAAAAATTCTC +GGGAAACTTTTCGATATCATCTATCATCATCGTCAGGTTATCGAAATCTA +TATACTACAGTGTTTTTTGAAGAGTTTCCACGATATTTTGATCGGTTTGA +TGTTTGAATGCTTCGAGAATACGCTCGTCTCCGCAACGTCTTAACGTAAT +GCAAGGCTGTGCGGTGTGTACAAGTGTCTTGTTTAGCTCTTCAAAACCGG +AGCGATACATAGAAATGGTTTCATGCGCAGCGTCCAGCTGCTCAGGGCTC +TTGAAAGTTTTCAAACATTCCGAGAAGCTCTCAACAATGCTGTTGAGGTT +ATCCTTTGGCAGATTTTCCCGAATTTGATTAACTTCTGATAGATATTTAT +CGATATATTCGATATTTTTATGATATTTTTCCGTGTTGTTTAGGATTTTT +TGCATCGCAAATTCGAATTCCACATAGTATTCCAAAAACTTATTCAATGG +ATGCAGGAATTGAATTGATCCTTTGCCAGAAACGCTTTTTATCCAATAAT +TGCTCTGCTCTTTTATGGACTCTCGAATACTTTCTTCTCGTTTAGGGAGA +CCTAAAGCTCCACGATCAATTCGTTTTTTGAAAGAAATAATTCAAAAATA +CCCAAAAGAAAATTGCCTGATGGCCTGGAAGAATGCGTATCCGAGGATTG +AATACTACGAATAACGTCCCTGACCTTTCGCACCCAATTTGAAAGCCCCA +GTGTCGTATTGGTGTCGCGAATCATTTCTAAATCACTCAACGCCGCTTCG +AAATTGTTCAGTCTTCCCACTGACAAGAAGTCTCGAACACTTTTACTTTC +ATTTTTCATTATAGTCGTAGCGAGTTTGAAGAGATAAAATGGATCTTGAT +GGAGCAATGCGAATTCTTTCTTGGCTCGTTCCGGAAAGAAATTTCTGTAG +TAGGCGCCAACCTCTTCGACCGTTTCATAGTTCCGTTCTGTACGATCTTA +AAAGGTGGAGTACCGAAATCTGGGGAATATTTCTAAATAACTCCAAATTT +GCTCCTGATTTCAATTATCCATGTGAAAAAATTCAAAAAATCCCTGATTT +TGTATTTCGGCTTGAAATTGCCGAATTCCATTTGTGCACACATGCAAATT +TTTCAAACGCGCGCCCAAAGAAATTATCATTGGAGCGCGTTTGCCTCATT +TGATTCTCTCCGGAGCACGGTAGCACAGAAACTAGATGGATTGGTTCATG +ATACTCAGTCTGGAAACCTATATTGGCTACTATCTCGAAAACCATCATAA +AATCGATTTTGCGATGCAAATAAGAAATGACCGCAATGAAATTATCTATC +TCCATTCGTGATGAATTTTCGATTTTGTACTTCCTGGCCAAGTTATGCAC +GTTTGTTCGGTGGAGCGCGTTTTCACCCATCTAGCAACTGACACGGTGGT +TCAGTAGCCAATATAGGTTTCCAGACTGAGTATCATGAACCAATCCATCT +AGTTTCTGTGCTACCGTGCTGAACCACCGTGCTCCATCTACCGTATTTCT +TCCATTAATATGGCTGCAATACTATTTTTCGATGGTCTTCCCGCTTGCAA +TACTAATAGGGAGTGCAATACTAATTTTCAGAATATTTTTCTGCCTTTGA +GCTTACTAGTTTTTTTCTGAAAAAGCTCGAATTTTATGTAAAAATTCAGA +AAATTGGTTTTAATTGTAACCTATAAGTTTCAAAAATTCAATCTCGTAGA +AATTTTTTTGAAAAATTGTTGCAAAATAGGCAAAAAATATTGTAGAAGTC +CTGAAATTAGCGAGACGGGATTGCAATAAAAAAAAGTAAACGCAAGACTA +TTAGGGAGTGCAAGACTAATAGGGAGTGCCATACTAATTTTCGGAAGGTC +TCCGAGGGGCAATACTAATAGGGAGTGCAAATCTAATAGGGAGGCCATAC +TAATAGAAGAAATACGGTATTTTTAGTTCCTTTATTTTTTCAACGAGAAA +ATCAAATGAGGCAAACGCGCTGCAATGAAAATTTAAATTTATTTGTGCGC +GCATTTGAAAAAACTCATTCGGACGCAAATAATATTCACGAATTTAAGCT +GAAATATAATATCAGGGAAATTTTTTTGTTTTTTTTTCATACAGATATTC +TGAATCAGAGGAATTTTTTTTAGTTATTTGAAAATATTTCCTAGATTTCG +GAAATCAAAACAGCAGCTTTTGTACAACAGCTTTTTTTTAAATGTAAAAC +TTGTTTAAAAGTCAAACCACGTCCATTTTAAAAATTAATTTTTTAACTTA +TAAAATAAAAACATGTGGAATGCTTTTGCATGTACATTTATACAAGTTTT +TTGAGAAAAATACATTTAAATTTGAAAAATGTGTTTACTAAAATTCTGAT +CAATTTTTTTGTTATTATATATTAATAGCTGAACTTTACTTTAAGACAAA +AATTCCTCTAATTAAAATCTACCTTCAAACCATTTTTTCAGTTTTTGCAA +ATTCTCCTCGGAAATCGCAGTAGGACTGGGAGCTAGATCATTGAGTGGCG +AGAGAAAATCACGGAAATTTTTCAGGCGATTTTTCAGGCCCCATGTTGCC +TCCCATCCGTATTTTGGTTTCATGAGAGATTGGAGATCATGAAATAAATG +CAAAAAAGCATCCAGCGAGGTGGTGATCTTTTTCAGTGATTCTCGCTGTA +GTTGAAGATGTGGGAGCTTCTTAAGTAAATTTACAGCTTCTTCTCTATCC +TTATAAACTTTAGTGTTCTTCCTTTTCCCGACAATCTCCTCGAAAGCTCT +CTGCTCATCCCATCCGCCAATAGATTTTGTTTTGTAGAAACTTGAAATCC +TATCAAAATCGATATCCCGATCTAATAGCTGATTCGTCAGATCCGTAGAA +GCGATTTCGCCGCTGAGAAGCCCATCGACGATAAGATAGCAGTTAAGGAG +CGGTGGTAGTGAGCTCATCCAGTGAATCCACAGGTTTATGGAGTCCTTTC +CGTAGACTGAAATTATTTTTAATATTAAAGTAGAAAAAAATTATTATATA +AACTAACTATACGCAGGAAAACTCGCATTAAGTTCCAGATTTCGATCGAA +GAATTGTGGATGTCCAGCTGGAAATTTTTATTTAAATTTAGTAAATTTAG +TGAAGAAATTTAATTTAAAAATACCTGTCAAGCGCTGACCCTTAATCTGC +TCCAACATTTGAATACCTTGCCGCTCCCTTTCCGAAATTTCGAGATCTCC +GCAGTGTTTACCCGGTAGAAAAACAAGAAGAAAGGGAATTATCGTTATAA +TCATCGTTATCTGGAAAAAAATTAATTTTCATGGAATATATTTCAAATTT +TCGACAACCAAACGCTGAAAATTCACATTTTTTTCAGGAAATTTGGTTGA +AAAATCTGTTTTTCATAATATTTTGAGAAAAAAACAAGCGTAAAGGTATT +CAAGGCGCATGCAATTCACTTAAGCCAGGGTCTCGAAGCGAACAGAAAAC +ATACGGTATTTGAAAATATTCTTGTTTTCCGCGGAAAGTCGCAGAATTTA +ATTTGATTTTTTTAACTTAAAAAAACAGAAAATTAACCGTTATACCTTTT +GAGCAAAAAATTCTACAAGATAATAATTTAAAACAATTAAAAATTGAATA +AACATTGAAAATTAAATGCTTAAATTTCAAGGCGCGTGCATCAAACTTTT +GTTTGGGTCTCACACCGAATGTAACAAGTACGGTAAGAGTGCGCGCTTAT +TTTCATTTTTCGAATTTGTGCGACCAGTTCTCATGTTTTTTAAACGATTT +TTGCGGTAATTTTGGCCATTTTTTCTAGTTCCCACCGACAAATTGCATTA +TTTCCGTATTTTCAACGAAAATTTTGTTAAAAAACCAACAAAAATTTAGA +AAATTGCATCATTTTGCAGGGATGAATGGTCAAGCGGATCGCTGCGACCG +AACCGCCTACGTTTCGGGTCTTCAGCCGACAATCTCCGACATAGAACTGT +TCGAGGTGTTCAATCGTGTCGCTCACGTCGAGAAGGTCATCGTTCGCAAT +GGAGCCGCCCGTCACGCGCTCATTGTTTTCAAGTTGGCATTTTTTTTCCA +TTTTTCCTCATCTAAATCTCTAATTTTCCTATTTTCAGAACTGTTCAAGG +CCTGTATCAGGTGCTCGTAAACTTTCAAGGAACAACTCTTCACGGCCGTC +AGCTGCACATTCGTCCACTGCGAGAAAGTTCGCACGCGAACAGCGAGGCC +ATCTCAACGATGTTCGAGAAGGTCAAACATCAGGGAAATTCCGGGAATTC +TTCGTATCGTCAAGAGCACTCGTTCCCCGAGTACCGAAACCAGAACCCAC +AGGCTTCATCATACCTTCCACCGAATCCACGTGGTCATCGAAACTCGACG +GGCTGTTTCAATGGTGGCGGCGGGGGCTATGGACGCCGACGTTCCGCCGG +TGGATACAATCAGTACAATCAGAACAAGTATCCGAACGAAACGTACCCGG +GAATGACTCTGTTCGATAATCATCCAGTGCAGCAGTATTCGGGCTTCAAT +CCCATCGATTTTCGCTTTGATGACTATGTGGAAGGAGCCAAAAGGTGCAA +AATTCGCCAAATTTCGCTAAAAAATCTGAAATTTCGCCGACTTTTCCCGT +AGCGCAGCAGTTTTTTCTTGATTTAGGCACATTTCAGGCAATTATTTTCG +GCAAATCAATATTTTTCCACCATATATGTTCTAGAATGTTTTAGATGTAC +TAGATTTTATTTTCAGACGAATCAAGTGATTTTCTATATTTTTACACTAT +TTTTTGTTGAAATATGACCAGAATATGCAACAAAGTGTTCCAGCTGCTGC +GAAAAGGAAAAATCGGCGAAATTTCGAATTTCAGTCTATTTTAATCTGTT +TAAGCAAAAAGAAAACTAATTTTTAAAATTCAGATTCGACAACCTTGCCA +ACCTGATTCGCTCGAGCACCCCCACGGATCCGTTCGCTAATTATCAAAAG +TATTTTTGAATTATTTTGAAAATCAATAAATTGGTTTTTTTTTCAGACCT +TGTGAATCCACAAGCACATCTCGTTCTCGTACGAATTCAGCAAAAGATCA +AAAGCATGGCCCGCCAACGTGGAAAATGGAGCTGCAGATTAAGAAAGATG +ACCACCACCACGCCGGCGGCGGAGCAGCAACCACAGGACAGAAGCTGTCC +CCACAACAGTTTTTGGCTCAGATAGCTCAGAGACAACAATCGGAGCAAAA +CGCGGATGAGGTGGCCAAGAAGAAGCGTCCGAACCTTTCGGTTATCAATC +CATCGCTTTTCTATGAGCAATACCCGAGAACATCGTCGCCAGTTGTTTAT +GCTTCAAAATCTAGTAATATTTTTTGGAGATTTTGGGAAAAAAACAAATT +TTCTCGAAAATACGCCCGAAATAGTGTTTCACGCGAAAATTGGCGATATT +TCAATTTTTCTGAAAAATTGCTATAATTTTTTCGATTTTCACGTGAAATT +GCAAGTTTTTGGATATTTTTCTCGAAAAACGTCAATTCATCGATTTACGC +AGCTAGTATACTCAGCAATTGACCATTTTTTTGCAGACAATTTGGTATTT +TTTACTTAAAATTCTTGATTTTCGACTTCTCGTGTGCTAATCACTTTTTC +AAATGCGCGCCCGAAGAATTTCTCATTGGAGCGTGCTTGCTTCGTGTAGA +TTTACGAGAGCTTTCCATTTATTTAACTTCTTTCGTGCTTTTTCAGTTTT +CCAGCGAGTTTCTGGCTCGACCCCTCGGTGTATTTTGTGCAAACACCGTC +ACGCGCAAATGCATGCACTTTTTCAACGCGCTGCGTGAAAATTCCTCTTG +CGATTTCAAATATTTTTTCCCGCCATTTTCCAAAATTTTCGAGAGGGGGG +GGGTCGAGCCAGAACACCTTGGTTTTCCAGCGAGCTTCCTTCATTTACGT +CGATTTTTTTTTTAATCTTCGTTAAAGTTCTAAAAAAAAACGACTTAAAT +CATTTTAAATTTTCCAAAATTCGGTTTTCCTTCTGCAAAAAAAATCAATT +TCCAGAACCATCCGGCCACTACGACGACAAAATCGCATCTCCACACGATC +CGGCAGTTCTCGCTTACAGTCGCCTTCGTGTACCTCAATCGGCCTTCGAC +AGTCTCTCACCAATCGACACCGACAATTGCTCATTCATCACAAAACACTT +GGGACCAACAACCGGTGTGAAGCGTGATTTGACGAACGACGAGTTGTCGG +ATATGATTGTATCAACTGGAAATCTCCGAATCAATCCAACCAACATCGAT +CATCATGACGAACCGGCACCATGGTCTCCGCTGAAACGTCTTCGCGCCGA +AAGTGGATCCCTATCAACTGCACAAGTCGCGTCGCCCGAGTTCTCACCGA +TCAAACCAAAGACAATGGAGTTCCACGAGACTGAGGATGATGTTTTTGAA +ACTGGACCACCACCAACCTACTTATCCGAAGGAAACGAAAACGCGGAGAA +GAAATGTGTTGAGCAGCCGAAAATCAACTACGACGACATTAATAATAGTC +GTCTTCCGTCGAATTCTCATTCGGCAGCACCGAATTCCGAGAAGAAGCAT +TTCGTTTTTCCGGTACGGGGGCTTTTTTTTGAATTACCGAAAAAATTCCC +AACTTTTTAAAGTTCAAAAAAGTCAAAATTTTTGTCCATTTTCTGGGCGT +GACTGCTTATGCCCCGCCCCCCTTTTTCGAAGTTTCTGCTTCTCGGAAAA +TGTATTCCCAAAGTGCCAGTTTTGAGGCCCCACGAAAAGGGAGCAGAACG +AAAGAGGCACCACGGATTCAAGATCTGGTGCGATTCCGGATCTGGCACCG +TGCCAACAACTTGAAAACGTGGTGCCTCTGAAAATTTGCTGCCAAGGTTG +AAATATCGAATGCATTACCCGTAAATCGACACGAGCTACAGTAACCTGTT +ATCCGCGTGGCGAGACCCATGCGCGTCAGATGTGGCGAAAATTATACTAA +AACCTGTTTAACTTGCAGAAAAACTTAATTTTTTTTGTTGAAAAAATTGA +GCCAAAAGACTCAAAAATTTCATAAAGCGAAACTTTAAAAAAATATATAA +TTTGTTAAAAATTTCACGAAATATTTATGAATTAATTAATTTTTCCAGGA +ATACCCAATGTGCCGTCACTCGTCAGTTCCATCGATTGCTCACTTGGTCG +GTGATCTGTCGGACTTTTGCCCACACGCTACAGCCGACGAGAAGATGCTG +CTCGACGAGGCGTCTTCAATCATCGAAAATACAACTCCAGCAGTGTCTAC +TGCTCCGGCTGCTGCTCCAGGAGCTACAATGCTCCAAATATAGGAGAAGA +TCACATATACAATAATATAATCTTATTGCATTTTCGCAATTCTCGTTCTC +TCCACACACATACACACATCATCCCAAGTATTCCTGTGCTGAATCTCAGT +TTGAATGATGTTTCATACCGTTTTTATCCCACTATTGCCTTATCGTTTCC +TGTTTTATTATATTTTTCATTTTTTATATTGCCACCACCACCACCAACAC +CACCCTCTCTATCTTTTTTTGTTCTTTTGCCTCCAGCAACATCATCACCT +AGTTTTCTGTGAATTTTGAATTTTGTGTTCCCCCGAGTCCCCTCTGATAG +GAATGATAGGAAAAACAATGAAAATGCGAGTTTTTTCAAAAAAAAAAATA +CAAACTAGGAAACTATAGAAACAAAAAAAAAACATTTGAGGCGCAGTACC +GAAATCTCTCCAAATTTGGCCCGAAAAATTCAAAAGAAAATATTTATTTT +TCTAAATTATTATTTTTCCGCCACTCCAGCCTCATTCTCATTGGAGCGCG +CAAAGTCATGTCGATTTACGAGATTAAGATTTTCAACGAGTTTCATCATT +GTTATCGATTTTCGTGTAAAGTTAACTAATTTTTTTGAAAATTTTCGCAA +AAAATTTTGGATAATAAAATGTTCAATTGGCACGAAAATGCAGATCTTCA +GCAAAAAAACCGACAGAAATGTGTAAAACTGAATCTCGTAAATCCACATG +GCATAACGCGCTCCAATGAGAATGTTTTTAGCGAAAAGTTTGAACAAAGG +AATATCAAATCAGGGCCAAATTTGGAGCAATTTCTAAAATATTTTCTCAA +TTCTTTCGGTATTCCACATTCAAACAATTATTCGGCCGTTCCCATGAGCC +TCTGAATCTCGATGGGATCCCTTGGCACTGCAGCAGTCAACAGCTCAATC +CCTCCAGCTTCACTAGTCGCCACGTCATCCTCGATACGGTATCCAATGCC +ACGAAACTCTTTGACAGGCCAATCCATCGGAACATACACTCCCGGCTCAA +TGGTAAATGGCACATTCGGTGGTAGATCAATGTCTCGGGATACTGTCGGA +CAATCGTGAACATCCATTCCGAGATAATGACTGACGTGGTGGGGACACAG +CTTCTCCGCCTGATGAATCATCTCCTTGTGATCCGTAGATCGAATCAGGC +CGAGTTCGGTGAAACTTGCCGCGAGAAGTTCGTTCATTCGGCGGAACAGG +GCGCTTAGGCGGACTTTTTCCATTGAGTGGGCGTAGGTGAGCAGTTCTTC +GTGAACGTAGAGAAGCGCTTCGTAGAGGGATAGTTGGGCGTCTGACCAGC +TGCAAAAACGAATTTTTTTTTGGGAAGGTTTTTTGAAACGATTTTTCAAA +TTTCGTTCGAATTATATTAAACTTTATATAAAACGATTATCCACGGATTT +CTGGCTTCCCTCATAAATTGGAATGGAAGAGTTTACCGAACTAGGCCATT +TTGGCTCGGCCATATCTGGTGCCGCGTCGCGGCTCGATTTTAGTTGTAAA +ACTAAATGCATTTGTACGTGTGGAGTACACGACTTTCCCACGCGTTGTCC +GGCGGGCGATTGTCAATGGAGCGCAAAAAATTCACTGAGGAAGGGGAGAA +CTCCGTGATTAGCACCGCCTATTTCTCTCACGAATCTATTTCTTCGAAAT +CTTCTATTTTTTAAAAATCAATTCCTGAATTCTGAAATTCATTATAGCGT +AATTTTTTGGGAATTTCACCCTGAATTCCATTTCTACGGAACAACATTTT +TTTCTCGAATTTGTGGTGACTCAAATTAGAATTTTCAAAATCTCCAGAAA +AAAAATCATTTTTCCTGAATTTTCTGGAGATTTTTAAAGGAATAAAGTGC +AAAAAAGACTCTTTTTGAGGCACCACCGAAAGGAGAAAGGAGAACACAAA +CCACGCCCATTTTTCCGTGCCGCGCGCAAGTTTTTCTGCAAATTTTTATT +TTCAAACGAGACAGCGAAACTCCGAAATAACGCATATCGTGTTCTTTATC +ATCAACGTGTTATTTCGGAGCTTCGTTGTCTCGTTTGAAAATAAAAATTT +GCAGAAAAACTTGCGCGCGGCACGGAAAAAATGGGCGTGGTTTCTGTTCT +CCTTTTTCACCTGTTCTCCTTTCGGTGGTGCCTCTTCTTTTTTTTTTCTA +TGTTTAGCGTAATTTTTTAGCCATCTTGGAATAGCCCCGCCCATTTCTCC +CACAAATCCATATCTACGAAATCTCGCATTCCAGAATGATTTGTGGTGTC +TCAAACGGGAATATTCAAAATTTCTAGAAAAACCCCATTTTTCTTGAATT +TTGGCCGAACTTCTGTAATTTCTGAAATTCTGAGAAAAATTTTCATTTGA +GTCACCACAAATACTGGAATGCAAGATTTCGTAGAAATAGACTTGTGGGC +GAAATCAGCAAAAAATGGGAAAACATTCAATTTTTTTTAATTTTTTGGGG +TTTTATCACTAATTTTTAGCACTTACAATCCAGAAATCGGAAAGCAACGT +GTCACATCTGACACATAACCATTCAAATCACACCCAGCATCCACGAGAAC +ACATTCCCGGGGATTTAGGTCATTATTTGCGTCCAAATAGTGAATAGTGT +TGGCACGAACACCACCGGCAATCACTGGTGGATATGCTTGCATTTCTGAT +CCACGACGACGTCCTTCAAACTCCAAGAGCCCGCAAATCGCGTTCTCGTT +GTGTAGATCACGTGATCCCGATATCATTGAGCTCATTGTCTGGGCTCCCA +CGTTGCACACGTCACGCATTGAGCTCATTTCGGATGGAGATTTTATTACT +CGGCGACGTTCGATCTGCAAGGAAAACTTGAAAATTGGCAAAAAAATAAT +TTTTTTTTTGAAATTTTAAAACGATTTTTCGGGTGTTCAGAAAAATTTTT +TTTAGGAAAAAATTGGAATTTTCCAAAAGTTTCAAAAAAATAATTTCTAG +AACTTTTTCCTAAAAAAAAAATGAATATTGAAAGCTTCGAAAACAGTAAA +AATTGGGAAAATTTTTTTACCGTTAAAAAATTTTTTTTTTTCGAAAAAAA +AATTTTCAGTTTAAAATTTGGAGCGTTTTCAATTTTATTGATAATTGGTG +AAACAAAATAAAAAGTAAATAAAAAATTTTTTTTTTGAAAAATTTGAAAA +ATTAGATTAAAAATGTTTATTCTGGGATGAAAAAAACCTCCTAAAACCAT +TTTCTGGAAAATTTAAACTTCCTATTTTGTTCAGACAATTCTTTTTTTTC +AAGAAAAAATCAAATTTTCCACTAGAAAATCGAAAAAAATTGACCTCGTT +TAAAAATTGGACAAAATTTGAATTTTTACTTTGAAATCCTCGAAAATCGG +ATTTTTTTTTCAAAGCTTGAACAATTTTCTGCAAATTCTATATATCTCTA +AACTCACAAAATGATTAATTTCCCGAACAGAATTAGCTTTAGCCTGTACA +AACTTATAGAGTAAATCATCAGAAGTCGAATCAAAAAACACTGCAGTTCC +CTTATCGCAAACTTTTTCCAAAGTCTGTAGAATCCGGCTAGTCGGCACAC +ATTCCGTGAATTTTGCAGTCTTTTCCCATTCGGATTCAGTTGGTAGGGCG +CCTTCCCATAGCTCATCATAGGCACTACGACGGTCAGCAAAAAGAATATT +TGTTTCTTTTGAAGATTCGGATATTCCTGATTGCATTATGTAATAACAAT +CTGGTGTGGTGATTCCGTTTAGGTATCTGCAAAAAAAAAAAATTTTTCAA +ATTTTTTTCTGTTAAAAATTTAATTTATTTTTTTTATCAAACAATTTTGA +ATTTTTCCCAAAAAAAATCCGAAAATTGTGAACAAATCTATTATTTTCGT +TGAACAAAAAAAAAACAAATTCAATTTTTAAATAATTTAATTTTCGTTCA +GAAAAAGAAATTTGTCGATTTTCGGCGGCAATGATTTTTTTTAACGAAAT +TTTCCTGAAAAATTCAATATTTCAATAATTCCTGATTTTCTAGTTTTTTT +TTTAAAGAAGAACATGTTAAATTTCTACTAATTTTATAACAAAAAATTTC +GGGAAAATCTAGAATTAAAAAAAAATGTTTTCAGAAAAATTCTACTAATA +TATTAATTTTAGCTTAAATTTCGATAATTTTAGGTTATTTTTCAATTTTT +TTAGGGCGAAATTTTGATTTTCAAAACAAAAATATTTTCTGACAAAAAAA +TTAATTTTCATTCTTTTTTAGATTTTTTGAAAAATTTTCAATTTTTTTCT +GAAGAATTTGGTACTTGTGTATTACATGCCCTCATTTTTAAATTAAATTA +AATGTTCATTAATTTCTCCATTTAAATTAAACGTGATATACATTTTCTCT +TTTTAGGCTTAGAAATTGCTATTTTGCTACTTAAAAAATTACTATTAAAA +TGAGGGCATGTAATACACAAGTACCAAGAATTTCAATCAATTCTTGTTTT +TGAAATTTTTTTTGGGAAAAATTCCAATTTTCGATTGTTTCTTCGATTTT +TTCAGAAAAAAAATTTTCTAAAATTTATTTATTTGTTTGAAAATTGGATC +TAAAAAAATTTCTCTAGTTTTTATTTTTTTTCTGGAAAAAGCTTTTTTTA +ACTTAAAAAGTTAATCTGTGGCCGAGTTTTCTCTCATCATTTTCACGGCC +ACGGCCATCAAAACCGAACCTGAAATGGCTTTTCTGTCGGAACGCGTGTG +GAACATCCGGTGCAATATATGATTTCCGTGCTCCTTTCATCACAACGACC +ACTTGCTTTTCTGAAACTTTGAGAGGTCATGGCCTAACTTTTAAATGGTT +TTCTAGGCCACCATGGTGATTTTATTACGGTACCGGGTCTCGACACGATG +AATTTTGTAGAATAAATTTTTCTGAAAAATTTCGTTTTTTTTTTTAGAAA +AATCAAATTTTCAAGAAAAATGGGAAAACATTTTTCAGGAAAAATTTAAT +TTTATAGAGAAAAATAGAATTTTTCCTTTAAAAAAATCTGAAAATTCGGA +TTTTTGAGAATTCTCTTTATTTGGATTTTAAAATCCAAATTTTCAAAAAA +AAATTTAAAAATCGGAAAATTCCAAATTTTTGAGAGTAAACTCGCCTTAA +TTTTTTTTTTCAATTAAAAAAATTAATTTTTTAAAAGAAAATTGGAATTT +TTACCCAAAAATTGGCAATTATTCGAGTTTTCAACGGAAAAATCTGAAAA +ATCCGAATTTTTGAAAAAAAAATCTTTAAAAATCCCAATATTCAATTAAA +AACCGCGAAATTTCGGATTTTTGAGAAAATTTTAATTTAAAAAAGTCCTA +TTTGTACTGCAAATCCTCATTTCCAAATGATGGCCTAACTTTTTCAGAAT +TCTAGGCCACCAGGCCATTTCTCTGCCTCTTACCCCCAGTTTTGACCTCT +TTTTTGAGTAAATTCATCAAATTCGTCCTTCTCATCGCATATTCCTCATT +TGGAATTCGCGATGGCCACATTGGTAGGCTCCGCCCACTTCTGAGCATTT +TTTTTTTGGATCTGATCTGTGTGGGAGGGAAATTCGAATTTTTTTAGAAA +TGAATAAAACTGAAAAAAATAGATTTTTTGGGAAACAGGGAACCTGAATT +TTCGAGAGAAAAAAGGAGGTAAAACAAAAAATTCGATTTTATATTGAGCA +AAAATTAATAGAAAAAATAAACTTAACAATTATGAACAGAAAAACCTACT +AAAAAAGTCTAAAAAATGAATGAAAAATTGCAAAAAAAATCTACAATCGA +TACGAGACTCCTCCTCCAACAATGCAGTTCTCGCCGGTGATGTACCTGAA +AAAAAGTGATTTTTTTTTGAATTTTTAGAAAACAAAATTATGAAAAAAAC +CAAAAAATTTCCGAATAATCGAAATTTTTCGGAAGTTTTAGGTTAAAAAA +ATTTTTTTTTGATGAAAAGTTTTTTTTCAACAATTCTGAAAACTAAAAGT +ACCAAAAAATTTTAGTTTTTTCGATTGTTTCAATATGATAATTTTTTTTA +AATGTTTAAAATTGTATTTTTTCAAAAAATATTATCAATTTTCCAATTTT +ATGGTAATTTTGGATGTGAGATTTTTTTCTTCAAATTTTCGAAACGTTTC +TCGATAAAAAAATTTTTCAACTGAAAAACTACAAAAAATCCTCTTATTTT +GAAGAAAAATCGATATTTTCTCAAATTGTTCAGATTTTTTCTGTTTTTAC +CAAAAGTGACCAAATTTTGAGACTTTTCGATCCAATGTTTAAAATTTTTT +TCCCGTTTTTTCGATATTTGCGGTTTAAATTTTTTTTAAATTTTTTGATT +CAATTTTAATAAGTTTGAGTGTTTTTCGATTTTTTGTCCAAATTTTTTCA +AATTTTTTTCCAGAAAATTGGTAGAAGCCAAAAAGTGCGATTTTTTTCCT +TAAAAAAGATAATTATTCAGTTTTTCGACTGTTTTCTTCTTGCTTCCAGA +TTTTTTCTCGAATTTTTTTTATATTTGAATTGTATTTTTAAATATTATAC +TCCTAATCGATAAAAATTAGTTTTTTTTTCAATTTAAATTGGAAAAGAAC +GTTCTTTTTCGTAAATTTTAGTGATTTTTGATTCCAAATTTTTGGATTTT +TTCAAAAAATTTCCCAGAAAATTTTACCTGGCTTTGGTAGAAGCCAGAAA +TTCGATTAAATAAGCTTTTTTGGGTTTTTCGACAATTTGTCAAGTTAGGA +ATTAAACTTTTAAAATTTTTTTCAAAAATTTTAAAAAACTAAAAGTATTT +CTGAGAATTTTTCTGAAATTAATTATTCAGTTTTTCGACTGATTTCTGCT +TGCTTCCAGATTTTTTCTCGAAGTTTTTATATTTGATTTTTTTAAAAAAT +ACTCTTAATCGAAAAAAATTCATTTTTTGAATTTTTTCGGGACTTTTTTT +TTCGAAATTTTCGTAAGTGTTAGTGTTTTTCGATTTTTGATTCTAAATTA +TTGGATTTCTTCAAAAAATTTTTTCAGAAAATTCTACCTGGCTCTGGTAG +AAGCCAGAAATTCGATTGAAGAAGCTTTTTTTTCGGTTTTTTGGACAATT +TTCCAAGTTTTAGTTAGGAGTTAAACTTTTTCAAATTTTTTTTGAATTTT +TTTCAAAAACTTTAAAAACTAAAAGTATTTCTGAGAATTTTTGAGAAAAG +CATTTTTTTTCTCGAATATTTGAACTTTTTAAATTTTTAAAGCTTTTTAT +TTTTAAATATCAATTCGAATATTTTACTCTTAATCAATGAAAAATCGATT +TTTTTGATAATTTTTTTCAAAAAAAAATTCGAATTTGAAATTTTTTTCAT +TCAGAAAAGGGAATTTGACTATTTGAAAACAATTTTTTGTTGAATTTTTC +GTAAATTTGAGTGATTTTCGATTTTTGATTCCAAATTTTTGGATTTTTTT +TTGACAATTTTCCAAGTTTTGGTTAGGAGTTAGATTTCTTGGAATTTTTT +TTTGAATTTTTTTCAAAAATTTTAAAAACTAAAAGAATTTCTGAGATTTT +TTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACAGATTTCTGCTTGCT +TCCAGATTTTTTCTCCAAGTTTTTATATTTAAATCTTTAAAATTTATATT +TTTAAATAATATTTCAGATATTATACTCCTAATCGATAAAAATTCGTTTT +TTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAATTTTTTAAT +TTTTTTAAAATTCGAATTTGAAACTTTTTCATTCAGAAAAGAGAATTTGA +TTATTTGAAAACAATTTTTAATTTAATTTTTTAATCCTTTAAATTTTCGT +AAATTTGAGTGTTTTTTGATTTTTGATTCCAAATTTTTGGATTTTTTTCC +AAATTCTCCAAATTCTTATTTTTGCAGAAAATTCTACCTGGCTTTGGTAG +AAGCCAAAAATTCGATTTAAGAAGCTTTTTTTTGGTTTTTTTTGACAATT +TTCCAAGTTTTAGTTAGGAGTTAAACTTTTTTCAATTTTTTTTTTTGACT +TTAAAAAAAAATTTAAAAACTAAAAGTATTTCTTAGTTTTTTCCTTAAAA +AAGAGGAATTTTTTAGTTTTTCGACTGACTTCGTTTTTGAATTTTTAAAA +ATTCAAAAATTGTATTTTTTAAAATTCTAATCGATAAAAATTCGTATTTC +GATTTTTGATTTCAAATTTTTGGATTTTTTTCAAACATTTTTCCAGAAAT +TTTTACCTGGCTCTGCTAGAAGCCGAAAAGTGAGATTTTTTTCCAAAAAA +AGATAATTATTTAGTTTTTTTTCTCGAACGTTTTATTATTTGAACTTTAA +AATTGTATTTTTAAATAATATTAAAAATTTAAATAATAATATAGAATTTT +TTTGAAAATTCCTGAATTTTCTGATTAAAAAAACATTTTCTGATGCATTT +TAGAAACTGAAATTTTTTGAAATCTTTTTGGAATTTTGGAAAATTTCGAA +TTTGTTGATTATACTCTTAATCGATAAAAATTCGTTTTTTTCCAATTTTA +TTTGAAAAAAATGATTTTTTCGATAATTTTTTTGATTTATTTTCGGGAAT +TGACTATTTGAAAACAAAAACTTTAAAAAAAAATCAAACTTTTTTTTTGA +AATTTTCGTATTTAAATTTGAGTGTTTTTCGATTTTTGATTCTAAATTTT +TGGATTTTTTCCAAATTCTCCAAATTCTTATTTTCAGAAAATTCTACCTA +GCTCTGGTAGAAGCCAAACATTCGATTTAAGAATCTTTTTTTTTTTTTGG +ATTTTTTTTTGACAATTTTCCAAGTTTTGGTTAGGAGTTAGATTTCTTGG +AATTTTTTTTTGAATTTTTTTCAAAAATTTTAAAAACTAAAAGAATTTCT +GAGATTTTTTCCTTAAAAAAGAGGAATTTTTTAGTTTTTCGACAGATTTC +TGCTTGCTTCCAGATTTTTTCTCCAAGTTTTTATATTTAAATCTTTAAAA +TTTATATTTTTAAATAATATTTCAGATATTATACTCCTAATCGATAAAAA +TTCGTTTTTTTTTTCAAATTTTAATTGAAAAAAATCGATTTTTTCGATAA +TTTTTGAATTTTTTTTTTACAAATTCGAATTTGAAATTTTTTTCATTCAG +AAAAGAGAATTTGATTATTTGAAAACAATTTTTAATTTAATTTTTTAATC +CTTTAAATTTTCGTAAATTTGAGTGTTTTTTGATTTTTGATTCCAAATTT +TTGGATTTTTTTCCAAATTCTCCAAATTCTTATTTTGCAGAAAATTCTAC +CTGGCTTTGGTAGAAGCCAAAAATTCGACATAAGAAGCAACATCAGACGG +TCTTCCAAGTCTTCCCAACGGAATCATCGATTCCAAGTGTTGTTTAATCT +GACGAGCTTCTTCTCCAGAAGCATGATCCCATACAGCACCAGTTCCGTCT +CCTTCAATCATTCCAGACACCACACTATTCACGCGGACTCCTTGTTTCGC +GGCACTCTGAGCTACGGATTTTGTAAGTGATAGGACACTGCTAGATGCAA +CTGAGTAGAGACCCATATCGATTGATGGAGTGAAGCCGAAACATGACGTT +AGGTAGATGATACTGCCGTTTCTGGAAAAAATCGATTTTTTTTGGACGGG +AAATTTTGCCTGCCTACGTGCCTACCTGCCGGCCTATTTTAGCCTATTTT +TCATTTTTTTTTTGTTGTTCTATTTTTTTGCCGTTTTTTGGGAATTTCAT +GATTTCTAGGGTAGGCACGACTTCATGCCTACGTGCCTATCTACCGGCCT +AACATTTGATATTTTTTTAGAATTCCATGATTTCTAGGTAGGCAGGTAGG +CACGAATACATGCCTGCCTACCGCCTGTTTTTTTGAAATTTTTTTGTGTG +AAAAATTAAAATTCATGGGAATGCTTTTTTTTTCAAAATTCAATGATTTT +TAATGCAGACCGCGCCTATCTGCCTACCGCCTATTTTTGGCATTTTTTGT +GTGCAAAACAAAATCAAATTAGCTTTTTTCTTTTCGTTTTTCTACGATTT +TTTCCAAATTTCAAGATTTTTCGGATAGGCACGACTTCCCACCTACTGTG +CCTACCTACCTACCGCCTATTTTCGGCATTTTTTGTGAGCAAAAAGAGAT +CAAATTAGCTTTTTCTCCTGTTTTCTACGATTTTTTTGGGTAGGCACGAC +TCCATGCCTACCGTACCTACCTACCTACCTCCTATTTTCGGCATTTTTTC +TCGTGCAAAAAATCATATTTATGAAAACACTATTATTTTTGTTTTCTGAA +TTTTTTTTCCAAATTTTGTGATTTCTAGGGTAGGCACCGACTTCATGCCT +ACGTGCCTACCTACCTACCGCCTATTCTCGGCATTTTTGTGAGCAAAAAA +TTAACATTCTTGAAAATCCTTTTTTTGTTTTACTACAATTTTTTCAAGTT +GCATGATCTCTAGGGTAGGCACGATTTCATGCCTACTTGCCTATCTACCT +ATTTTTCCCTTTTTTCGTGGTTTAGGTAGGCAGGCATGAGTCAGGCACGA +AAATCTAGAAACATAATTTTGATTCTATCGGTAAAATAGGCTTTCAAGAC +AGTTTGAATTTTTCGAATTTCTACCAGCAAAAAATAATATCTGAAATTTT +CGCGGCGAGACCCAAAAACTGACTGAGATTTGGCGAGCGTCGACATAGCG +GCTTGCGAAAGACGGAACGGTGTTGTCAGATTGTTGGCGAAAAGCTGAAA +TTGGTTTTTCGAGGTCAATTTTCCACGTGGAATTCAAATTTCAGCACTCT +CGAACCTTATCAAAATCCTCGCCGGATGTCTCAATAATCTCGCCGAGCAC +CTCATTCTGTGGTGGAACTATAATTAAAGTGTCCAGACCGCCGAGCTTCT +CAGCCACTTTCGTGATCAGCTCCTTCCTGTGCTCGGCATTTGCCACGTCT +AATGAGAAAGCTGTGACGTCACCTCCAACCTGAATTTATTCCCGAATTTC +TCTTTGTCAAGTTCTGAAAATCTGCCTAAACCTTTATATTGTCCTCTGCA +ACCTTTCCCACACTATTCGGACAGTCTGCGGCGGCGGCGACCTTGTAGCC +GGTGAACGCGAGTCTTCTCACGACGGCTTTACCCAGTGTGGACGTTGCCC +CGATTACAAGTGCACATGACATTACGCTGAAAGCCCGATGAGGAGGCATA +TTTATAGATACACCTAGACATCAGGTACATTTATTTGGAAATCCGTAGAA +AATAAAGAACATGTGAAAATAAAACAGATCATTTTATTATTTAGAGGGGA +GAGGGAGGGGGAGCAAAGTCGCTGACTGAGAACTTTCGAAAACCGGTTAG +TTACTCCAGTTGTACGGCTTATTCATGCCATATTTTCCAAGATTTCCACC +ATTGTGTTGGTATTGAGAATGTTGATTCTGCTGAGCTGCCGGCTTCGATC +CAGACATCTTGTCGTAACTCTTGCGCTCGTCATCCTGTCCGTAGAGTTGA +CGACCTCCAGCGCTGCTTCCAACATTGGGCATCATGTTCATGAATGGAGT +AAACTGGTGTGGAGCAGGTGAGTACTGCTGCATGAACAACGACGACAAGT +TTGGCTGCTGCATGTAGTTCGTCGCCTGGAACCCTGGTGGTGGTCCAACA +TTCGACGCCTGCTGTGGCTGCTGATCCCGAGAGCTTTGAGATCCGAACTT +ATTGAAGTCCATAAGTCCATGAGTCTCTCGTTGTTGACCAGATTGCACTT +GTTGCGCAGAAGCAGCCTGTGACAGAGGAGCAGTTGGAAGCAAGCTTGTA +AGATCAACTCCCATTCCGTATTGCATAAGAGCAGCAGTATATTGCTCATC +TCGAACTCCTGGCATTGGATTGTACATGTTCATGTAGTTGTTCATGTATG +GTGCATATGGGAGTTGTTGAGTGAACATCATATGTGGATGCTGTTGTGGA +TGTCCAGTCGGTTGTGATTGAGCTGGTGGAGTTTGTTGCTGCTGCTGCAC +TGGCTGTTGTGGGGCTTGTTGCTGCTGCTGCTGTGGCTGGTGCTGCTGAG +CAGATTGCTGTGTTGGAAGTGGTCCAGAATTGTTGAACTTGTTCGGCGCC +ATCCTGTCCGTTGGTTGATATGAAGCGGACGAAGTGTCATAGGACAATCC +TCTGTTAGATTGACCATATGACAATGGAGGTGAAGTCGATTTTAAGTTGT +AATCGCCGTTAGGAATTGACGTCCTTTCTGGCTGAAAAATAATCGAGAAT +TAGAATAAATCGTCTTTGCAACAAATTTAACTCACCTCAACTTGTTTCGG +CATAATACGAGAAGAGTTAAATATATTTTCACTGGCATTTGAGATCGAGG +CAGCGGAGGATTCAGTAGAAGGAAGCTGTGGGCTTGGAGCAGCCTCAACA +AATCCAAATGAGTAGTCATGAATGTTCGTTGGTGCAGTTGTGCCAACAAA +TTCCACTCCAGGATCAGGAATAATCTGGACTGGTGCTGCACTTGGAATTG +GAGATAATCCTAGTCCTGGTGCTTCACTCAATCCTATTCCAAGATCCGTC +TTCAGTTGAGTGGTCCATGCTTGATTTGGTTCTGGGGTGCTTTGTACATT +TTCATCGTGATGAGTCGACACATTAGGCGTCTGCTCCTCAGCCAAAACTG +ATGATTCACTGAAAATTAAATTTTTAATAATCTAAATACAGGGACAGAAC +AACTTACTTTTGGAAGAAACCATCTTCTTTCTCCGGCTGATGCGAAGTTT +CTGGCTCGAAAAATACTGGCGCTGCTGCTGGCTCTTCTTTAACTGGTGCA +ACTGACGGAAGTGGAGGTTGTGGGGAGAGACTCCTCCTTGGCGGAGCTGC +TGGTTGAGGATTCTGTGCCTGGTGCTTTCGGAGTGCTTCTTTGCGATGGG +CAGCTGCTGCTACTGCAGCAAATGAGATCGGTGCCGGCGCAGAAGATGTG +GGAACAGTGGCGGTGACGGATTCCTCTACTGGTGGTTGAACTTCGGTGAC +TGTGGTATCCACTTTAGTCTGATTCTGAAAAAAAAACACGTTTCGTCATT +TTCCTTCTTCAAAAAATTCTTACCTCATCAAGATCAGCAGTGAACGCATC +TGGCTCAAGTGCTGATGATGGAGCAACAGCTCGAGAATATCCACCTCTGG +CGCCACCTCTTCCACCTCGTCCAACATACGGTTTTTCAAATCCTCCTCGA +GTCGAGCGTGGTGCTGCTCCTTCCTTATTATCACGGTTATCCCGATTATT +ATCTCGGCTTTCTCTTGGAGCTCCATTGGATCGCCCGCGGCCTCCTCGAT +CGACGAAACCGGTGCCTCCACCTGAAAAAAACATATCAATATTTGATCTA +TTTCAATCAAGCACGAACCTCTGCCTCTTGCTACAAATCCTCTGTTGTTA +TAACTGCCCTCTTCCGGCTTCTTCTTTTCCTTTTTGGCTCCTTTCTGTTC +AGTCCACGAGTCAAGTTTATCTCCAGCATCCAGAATGTGATCGATTGCGC +CGTAAAGATTGTTGTCAGTATCCAATAGCGCTATCTCAGCTTGTGCTTGT +GTACATCCGGTGGTTTCGATAATCTGAAAATGAAAAAGACATGAGCAGTG +AAAAAACCCCTCTTGGGAATGCGCGAACACTTTAATTAGCCCAAATGAGT +AGGACATCTGGGTACTCTTACTCTCGCTGCACCATCTCAAGCGCGGACAC +CTGCTTTTGTCCTTTTATTTGCCATCTGGCCCCGTCTTATCGATTCGAAA +TTCCTATTGACACTGAAAGCGGACACTAGAGAAGTTCAAAACAACAAAGT +CACGTGCGTCATCATGTCGGTGTGTGGCGAGCGTTCGCGTGATGCAAAGA +TCACTATTTTCAGGAAAGCGTCATTTCCAGCTTGGAGACTTACCGTCTTG +ATCATAAACTGTATGTCCTCCTCATTTCCGGAATTTCCTTCCAGTGTGAG +TCGTGCAAGTCGCGCTTGATCGCTGGTAGCTTTTTTGTCGCCTTTAATAC +CCATTCTGAAAACAAATTATAAATAAAAAGGGTCAGTCATGTGAACGCAA +GAATGGAATGAGAATCACGAGAATACAACTATCAAAGGAAGGTTGAATGA +AAGGAAGGTCAAATAGATGACAAAAGTAGGAAAAGAACGAAATATGGAAC +CTTCCAGATCAAAAAAACATTATCAAAAGAAAAGCCTCGCACAGAAGACT +CTAACGAACATGTTAGGATGAAGAAATATTTCAGCAATACATCACGTTGA +ACTTTGGAGGATATTCTAGAGAAGAAAACCCCTACATTTTACAATAATTT +TGAAATGGAATTCGAATGAACTGCTATACAATGGAGAATCCTATTTAGCG +ATGATAAAGTGTAGGCTTGTTACTAGATTGAATAAAAATTTCGAAATGTA +ACAATACATTGACTGAAAATTTGGGTATTTCAGAGTGTGATATCACAAAA +ATCAATATTTCCACTAAACTCAAAAGTTCTTACGCTGAAAAATCATTAAA +AAATTGAAAAATCACCGCAAGCTAGACTAGAATCGCGTTCAAATCTCGCA +AATTCCCGCAGTTGAAAATGCGGGCGACCGCGACGCGAGCCGCAACGCAC +CCCTCCAAACATGCGGCATGGGTCTCGCCACGACCGAAAGTACGGTCACT +CTTGGCAGTATAAAAGGCGACCATTTTCCGCTATTTTCCGGTAAATTTTC +AAATGAAACTGTGTTGCGGAGGGGGTTTTCCGCTAATTTTGCGGAAATTT +AGCTATTTAATGTGAAAATGTGAATAAAACAAAAGAAAGTGGGGAGGAAT +AGCAAGGAAACACACTGTTGAACCCTGGGAATTATCGATTTTGTATGAAC +TCTTCTTTTATGGCGTCGAAATTATCGACACGAAAACTCAAAACCTTGTC +ACATTTCTGAGAGAGAAATATCATTTTCAGCACACATGAGTCTTCCCAGA +TTTCGACTCGTTCAGGGAAAGGCGATCGGCGAGCGATCAACGCCAGGAGT +CAGCACACCAGAGCCGGTAATTGTTTTTTTTTATTTCAAAATTTCTACAA +CAACAAAAAGAACTAACAATAATTTATTCCTTTGATTCCAGGCCCCTCCG +CAAATAAAGCAGGAAGTCGACTACCAAGATGCTCATCAAATGGCTCCGGA +ACCCGTGGAAGCACCCCGTAAATATTTAAAAATTTAAAAAAGTTAGAAAA +AAAATTTGAATCCCAATTTTCAGAGGCTCAAAACCATCAAATGCAGCCGC +CTCGTCAACCTATACAACAGCAGATGCAGCATTTTCAGTCACCATCGCCA +ATGGCTCCACAAGGGCCGCCCGGGACTCCACAAAACTCTGCAGCGGCGGC +CGCCGCTGCTTCAGATGACAAAAACGTGACAAAATGCGTCCGCTTTCTGA +AAACTTTAATTAATCTGTCGAATAACGATGATCCAGAAATGCCGGACAAG +GCCGCCCGTGTCAAAGAGCTAATTCGAGTGAGGAATTGAGCGAAAAACGC +GATAAAAACCGGACAAATTCGGATATTTCAGGGCGTAATTTATCTGGAAA +CGACGGCTGAAGAGTTTACACGAAATCTGCAACAAGTGCTCAAATCTCAG +GCTCAACCGCATCTTTTACCATTCCTTCAGAATACTCTTCCGGCATTGAG +GAATGCTGTTCGAAATGGTTCGGTTTTATGTGCAAAAAAATTAAAATCGA +CAAAAAAAAAATCATCGAAAAACAGGAAAATTTGAGTTGAAAAGCAGCGA +AAAACTTGAATTTAACATAAAAAATTGCAAAAAATCCGTTGAATTACATT +TTTCAAGAAATTGTGTAGAAATTCCATGAAAAAAATTCAAAATTTCCAAA +TTTTTTGGCTATTTCTAGTCAATTTCTTTAAAATTCCATTTTTGATAGCG +AAAATTATCAAGTTTCTAACAATTTCAAGCTGTTTTTGGTGATTTTTTCA +ATTTTTCGGCTTTGAAATTCCATTTTCCGGAGTATATTGTCATAATATAT +CCGAGTTCCACAAAATTGAGCAAAAAAAATTAAAAATTTCCCTTTATTTA +AAAATATTTTCAGCTGTCAGTAATATATGGATTTTCCGCAATTTTTCTCA +CAATTTTGAGCAAATTCCTGATTTTCAGCCAATTTATAAGGATTTTCACC +CATTTTCATAATTTAGGGCTATTTTCAGCTGAAAAATTGTAATTTAAAGT +TTTTAAAATTTTTATAGATTTTCTCAAATTTCAGCTCAAAAATTCGATTT +TCAAGCGCATTTCCAGGCAATTTATTAAGATTTTCACCAATTTTTTTAGC +TTAAAATTTAAAATTTCCACATTTTTTGTCTATTTCCAGTAAATTTCTTT +AAAATTCTATTTTTGAAAGCAAAAATTATCAAGTTTATCGCACTTTTTCA +ATTTTTCCGGAGTATATTTTGGTAATTTATCCGAGTTCCACGAAATTGAG +CAAAACAATTATTTAAAAACTTCCCTTTATTTAGAGCTATTTCCGCAAAT +TTTCTCGCAATTTTCACGCAATTTTCATAATTCAGGGCTATTTTCAGCTG +AAAAATTGCAATTTAAAGTTTTTAAAATGTTTATAGATTTTCTCAACATT +CAGCTCAAAAATTCGATTTTGAGGCGCATTTCCAGGCAATTTATGAGGAT +TTTTACCTATTTTCTAGATTAAAAATCTTTTTTTTTCCTCAATTTTGGAC +TATTTTCCCTAATTTTCAAATTTCCAGGCACTGCATCAGTTGAAGGCGTA +AATCCACCGCCTGGCTACGTTTTCAACAATGGAAGAACCCCAGGACCCCC +TCAGCCACCTCCACCTCAACAACAATCCCAGCAGCAGCCACCACTAGAAA +TGCGTCAAATTCCGAATCCGAATCAAATACCCCCACAAATGGTTCAAGGG +GGTCCCCATATGGTATCTGTAGGCGCCCGGCCAATGATCAGGCCTATGGG +CCCCGGCGGCCCAAGCCCAATGGGCCTACAAGGCCCCGTACGAGGGCCGA +TGGGACATCAGATGGTCCAGATGCATCCTCCTCCCCCACCACAGCAGATT +CAACAGCAGCACCCGGCTCCCCCTGTAGAAATGGAGGTGGAAGAGAATTT +ACAGCCTACCGCGGCGGCCACGGCCACGAGGCAATATCCTGAAGGATCGC +TGAAATCGTCGATTCTGAAGCCGGATGAGGTGCTGAATAGGATCACGAAA +CGAATGATGTCATCGTGTTCGGTGGAAGAGGAGGCGCTTGTCGCGATTTC +AGATGCTGTTGAGTCGCATTTAAGGGAACTTATTACACTGATGGCCGGAG +TTGCAGAACATCGGGTGGAGAGTTTGAGGTATTGAGGAGAATTGATTTTG +CTTCAAAATACGGCAGCGAAAAAAAAATTAAGCAAAAATAAGGAAATTAT +TGAAGAAAAATCGTCTTAAAAACAATTTTACATTAAAAAAAAAGATTTTT +AAATTTCAAAGGTTCCGAACTATTTATTAAAAAAACATCTAGATTTTGTT +TTAAAATCCAAACAAAAAACATTGCTGAAACGCGGTAATTTTTTTTCAAA +AAAATATAAAAATCTGAGAAATATTTTCAAAAATATCTCCAATTTTCCCC +TGATTCCGAATATCTATTCGAAAAAATTCAAAAAAAAAATTTCCCTTTAT +ATTTCAGCTTGAAATCGCTTTGTGCATGCACACCATGAGATTTTTCAAAT +GCGCGCCCAGATAAATTCTCATTGGGGCGCACTTGCTTCGTGTCGATTTA +CGGGAGCTCTTCATTTTTAAATTTCTTTTAAGCTTTTTTTTTCAGTTTTT +CAACGAGTTTCCTTGATCTTCGTCGATTTTTTGTCATTTTTTTTCCTGAA +ATTTTGTTTTGTGTCAATTTGAAAATTTTTTAGGTCAAAACTCCTGTGTT +CGTCGAGATCTGACGTAAAAATATAAAATTCCGGGAGTTTTGAGATATAA +AAAAAATATTTTAAAAATTTCAGAAAAAAAACTGACAAAAAAGCGACAAA +ATAAAAGAAACGCGCAAAAAAAAAAAAAAAAAACTTAAAAAAGCACGAAT +AAATTTTTTTAAAAAATGGAGAGCTGCCGTAAATCGACACGAAGCAAGCA +TAAAAAAATGGCTTTTTTCCTAACAATTTTTTGTGAAAAATCCGAATTTT +CCATCCTAAACACTACAAAAGATTCCAGAATTCCGGAGAACTACGTGGCA +ATTGATGACGTCAAACGGCAACTTCGATTCCTTGAAGATTTGGATCGTCA +AGAGGAAGAATTAAGGGAAAGTCGAGAAAAAGAGTCGCTAATTCGAATGA +GCAAGAATAAGAATAGTGGAAAAGAGACGATTGAAAAAGCGAAAGAAATG +CAACGACAAGATGCTGAAGCGAAAAGGAATCGAGATGCGAATGCGGCTGC +AATTGCAGCACTTTCCAGTAATAAAACTGTCAAGAATAAGTTCGTTTTTA +GCGTGAAATTTGCAGAAAAATTATTTTTAAAAAATAGATTTAAAAAAAAC +AATTTCCTGACCAAGGGTGTCATTTTTCGATTTTTCGGTTTTCAAAAATT +CGAAAAATGAAAGTTTCGTTTTTCGATTAAAAAACTGAAAAACCGACACC +TTTGTTTCTGAGATTTGGATTTAGAAATAAGCAAAAAAAAATTATTCAGA +AAAAATTGTTTTACAATGCTGCAAAATCGATGAAAAAATAAAATAAATCA +ATAACTAATTTCTAAAAAATGGAAAAAAATTTCGTTTTTTTCGAATTTGT +ATTTCACAAAAAAAAATTTTTAGAATAAAAATTTTCAATTAAAAAATTAC +TATTTAAAATCACTGAAAAAAAATGAAAAAAATAGAAAATTCAGAAAAAT +AGCGAAAAAAAAGTTTTTTTCCAGAAATTTCGTTAAAACGATCAAGATTT +TAACCCTAAAATTTAGATAAAATCAATTTCTTGTGGTTCTTAATTTAAAA +AAAAAAACAGTACTTTCCAGTAATAAAACTTTCAAGAATAAATTCGTTTT +TAGTGCGAAATTCGCAAAAAAAATTACGAAAAAGTGAAAATAGAAGCTGA +AAGGAAAAATGTTTAAAAAATAAGAATATTTTCGACATTAATTGGTTTTT +ATATATATTTTTTTGTAGAAGTTTAAAAAAATTACTAAAATCACTGAAAA +AATTGAAAAAAATTTTAAAATCTGGAAAAAAAGCAACAAAAAATTAATTT +TTCCAGAAATTTCGTTGAACTATTCGGTATTTTAAGCCTAAAATCAAGAT +ACAATCAATTTGAACAAAATTTGCTTTAAAAATACTAAAAATTCGAAAGA +AATAGAAAAAAAAAGAAATTTTCGAAATTTGGATTTATTGTTAGAGAAAA +GCTGAACACTTACAAAAAATTAATTTTTTACGTTTTGAGAAAAATTTTTG +AAAAAAAAAATCGATTTTTAAATAATTTTTAGAATTTTTTAGAACTATAA +TTTTTGAATTTCAGTGACTTATAATCACAGAAAAAAATGAACGAAAAACA +AATGAACATCTTTTCGGCAAAAAAACGTATTTTAAAAAAAAATTTAAATT +TCTAGTGACTTTGAAAAAAAAACCACATTTTCCAATAATTTCCAGGAATA +AACTAAATTTCTTTGGAGAAATTTGAAATTTATTTCACATTTCGAAAAAA +TTTATATAGAAATAAAAATTTATATGAAAATAAAAAATTTGCAGCTCCTT +CCAGTAATGAAACTGTCATTTGTTGAAAATTAGTTTTTTTTTAATTTAGA +AATTCTCTTTTCGAAAAAAAAGGTTTTTTTAAAACTTGATTAAAAATTAA +TTCATTTTTTTCCAAAATTAGGGAAAAAATAATTTCTAAAAAATTAGACA +AATACACTTTTTTGTTGAAAAAAACAACATTTTCCAATAATTTTCTTTTT +TTTTAAATTGCTTCCACTAAATTCACTTTTTGAAGAAATTTTTTGAAATT +TTTACTGAAAATTGTTGGAAAATTATTAAATGTGCATTTTTTTGCAATTT +CCAGTTGATAAACTAATTTCGGTTCAATTTAAAATAAATTTCGAAAACCA +ATTTCAAAAAATTCATTTTTTACAATTTGTTTTTGTTGATAAAACGAGCT +AGTTTCTACCAAAATACCGCTTTTTTACATTGAAAATTTAAATTTCAGAT +GGGAAAACACGGGCGCCGCAACGACAGCACCTCGTCCACGAACAGTACGT +GTAACAACTCGTGATCTACATCTTTTAGTCAATCAGGATAGCCGATTCAC +AGGGTAGCGATTTTTTTTGTTTAAAAAATTTTTTTAAAAAACACCGTATT +AAACATTGATTTTTATTGGAAAAAACTGATTTAAAAATTTTTCAAAAAAC +TTTCAAACGAATGGTAGTTTTTAATATTTTAATTTTAAAAAATTCCAATA +AAAATCAATTTTTATACGATTTAAAAAAATTTTGAAAAGTTATCCAATTT +TCTCCTAAAAAAACTCATTTTTTTTCCAGAACATTCATCCGTGAAAAGAT +GTCATACGGTGGTCCGGCAGTCGATACAACTATCTGAACTAAAGAAATCT +CATGGAAAAAGGAGCGAAAATTCTGCTTTTCTCGTTTTCTTTTTTTAAAT +TTAATTTTATTTTTCCACAAATTAAAACAATCACTTTTTTCCAGTCAAAT +AATAATTATTTCTCATTTTTAAACGAAATGCTAGACATAAAAAAAAGCTT +CTTTTTCAGCTTTTCAGCCAAAAATTTCAGATTTTTCAGAAAAAATTCAA +CAACAAAAAATTGGCAAAGTGCAAAAAAACCAGAATTAGATATTAAAAAT +ACAGGAAAAATCGAGAAAAATGAGTTACAATTCAGAAAATTAGGCAATTT +TTTTTTCAAAATTTCTCAAAAACACTGAAATTTCGGTATTTTTTTCTCTA +CTTGAGCACAACCTCGTGTTGCACCAATCGAACATAGTCTTTGAGCGTCG +GTGGAAGTGGAAGCTCATCGATTATTCGCTGATAGACACCGTCGGCACCG +GCGATTTCCAGATTTCTACGTTGGCGAAGGTGGATGGCGCGCTGGAAAAA +TTTCTAATTTCGAGCTGAAAACTCTTTTATGAAAGCAAAATTTCATAGTT +TCAATTCAAAGTTCGAATTCCTCGCAAAATTTCAGTCGGAAAACCGAAAA +CTAGAAGTTTCTTGCTCGAATTTGAAATTTCGAGGGGTACGGTATCCTCG +AAAGTACGCAAACACCGAATTTTGTTTTTTTGAAGTTTTGGCGCCAAAAA +TACAATACCCGGGGTCTCGACACGACAAATTTTTAAAATTTTTTTGAGTA +CTGTAATTTCAAACAAAAAGTTTTTTTTCGAATAAACTCGAATAATACGA +TAAAAAACATATTTTAATAAAAACCGTGGCAACGAAAGTTTGAAAGTACA +GTACTCTCTTCAAAGGCGCACACCTTTTACGCATTTAACTTTCGTGGCGA +GACCCCGGGGATACCGTAATTTTTGACTCAAAATTTAAACAATAAATCCG +TTAAAATATTAAAAAATTTTTAGATATTTTTCAAAAAGACTGTCGAAAAA +TTGTTTTTTTATAATTTTTAGAATATTAACAAACAGTTTAAAAATTCCAA +CAAATTTTGTTTTTCATACCGAAAAGAAGAAAAATGGACAAAATAGTAAG +CTATTTTTGTGTGTCAAAGTGTCTTATTTCGGCTTGATCTACGTAGATCT +ACAAAAAATGCGGGAGAAGAGACTCAGAGTTCTCAACTGATTTCGCATGG +TTAAGAACGTGCTGACGTCACATTATTTTAAGGCGAAAAAATCCCGCCTT +TTTTTGTAGACCAAACCGTAATGGGACAGCTTGGCACCACGTGACACCCC +CCGATTCTCACCTGTTCGTGATTTTGGCGAACTGCCATTTCTTTCAAATA +ATCGTCTAGCGGGGGACTCGATGCTGAAAAAAAAGTTTGATTCGTTAGAG +GAGCACAAAATTCTGAAAATGCGTATTGCACAACATATTTGACGCGCAAA +ATATCTCGCAGCGAAAACTACAGTAATTCTTTTTAAATGACTACTGTAGC +GCTTGTGTCGATTTACGGGCATCGATAGAATATTTTTAAAAAAGAAGAAA +AAAGAGGGAATAATACGAAGAAAAAAAGGAAAAAAATAAATTCATTTCAG +AAATCGAGTTCGTAAATCGACACAAGCGCTACTGTAGTCATTTAAAGAGA +TACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAA +TACGCATTTTAAGAATTTCCAGTTTTTTCAAACCTTTAAACTTACATTTT +CGCGGTTTTTTGGCGCTCTCGGATTTCGGGGAACGTATACGTCGGCGACG +TGACGTGGTTGAAGCAGGGTCCGTCGAACAACATGGCTCTTCGTCTTCCG +ATACTTGGGATTCTGTTGATGTTGACGGTGATTCCTGAGGTTCCTCTAGA +GCATCTGAAAGCTCTTGCTCATCTTCTGATAAATCTCCATTGGGACGTTC +AACCAGGCCGGTGGTGGAAGGATCATTGATGTTCGGAATCATTACAATCT +CCATTCTCGGAGTATTTGGAGTTTCTGGTCGAGCTATCGAGGAAAGTATG +CGATGATGGCGGGGTCTATCATGATTAATCGTCCATTCGAGCACATATGC +TGGTGCTGGAAGGATTGAAAATTGTAAAAACTAAGATTTTTTGGCCAAAA +AAATAATATTTTCTCAAAAATTTTGAAATTCTCGACAAATATTTTTTACT +ACTGCCGGTACAGAGAATGTAGATAGTTGAAGAGACACAGACATCCCGGG +ACCCAAGGGACGGGGCGCGGGATGTCTGTGTCTCTTCAACTACCTGCACT +CTGTGCTGGTAATATACTTTTTCCAAAAAAAAAACCTACATTTCGGAAGT +AAAAATGGAAAATTTCGGAGTCTACACAATTGGAAATTTTAATTTTTAAA +AAATTAAAAATTGTTTTAATTCGGAGTTTTAGACGGAAAAAATTATTAAA +CTCTAAAATTTTTAAAAATCGAAAAAAAACAAGTCTGAGAGTGAAAAAAA +TTAATAAATTTTGAACTGAACATTAGATATTTCGATTTTTTTTTGAAAAT +CATAAATGTTTTCTCGCAAAATTCGGATTTTTTTTACCTGCTCGATTTTC +AGTAGCCGGAGCTGTATTTCTGAGATTGGCACCATCCAAATGTGCTCGGG +GCGCTGCAAATTTGATATGAAATTTCACTAAAAAATTAGGAACTTATACA +AATTTTCTAAAAGAAATACTAATGTTAAGATAATCGAAAGTTTGGAGTGA +CAGAAAAAATTGTTTCAGCTTCTAGAAATATTTTAATTTAGAAAAAAACT +TCCAGAAAATTAAAATTTTTTTTTAGAACTTTTGAACATTTTTCCTGATT +TTTCTTTTTTTTCCATTTTTTGGAATTGCTGGGAATTTCTCTTTTTTCCT +TCATCCCACAGCTTCGCTTCAGCCTAGGCCTAAGCCTGAGCCTGAGCCTA +TGCATAAATCTAAGCCTAAGCCTGAGCCTAACCCTATGCCTAAAACAAAG +CCTGGACCTAGGCCCAAGTCTAAGTCTAAGCCCACGCTCAAATTTAAATC +GACTCAAGTAACTACTTTAAAGTTGGCAGAAATATTTGAATTCAAAAAAA +TTTTTAACCAAAAAAAAAATAATTTAAAAGAAATTGTTTTTTTTAAATAA +AATCAACAATTCACCTGTAAAACCTTGCATTTCTCTCCAATTCAACATTT +CTTGAAGAACGTCAGTTCTTGTTTCATTCCATCGACGAACATGATCTGCT +ATAGTATTTCGAATATTTTGTTCATTGTTTTCTTGTTCTCTGGGATTATT +ATTACGACCCAAATATTGATCCATGACGTCATCCAAGTGATTACGGGTTC +TTTGATCTGCTGGGAATATTTATAAGCACTTTTTTAATTTAAAACATATT +TTTTAGTGATTTTTTTTCGAACTTTTGAATTTTGAATTAAAAAAAAAAAA +ATTAAAAAGTTAAATCCTGAGGGGAGCCAAGAAGTGGGCGTGTTTTAGGA +CATACTCTTCACTTACGCTTTGGTCTACAAAAAATGCGGAAAACTTTTGC +CCAAAAAATGTGACGTCAGCACGTTTTTAATCATGCAAAATCATTTGAGA +GTTCTGCGTCTCTTCTCCCGCATTTCTTGTAGATCTACGTAGATCAAGCC +TAAATGAGACACTCTGACACCACGTGGAAAATAAAAATCGAACATTTTCA +AAAAAATTACTCAATTGATTGTCTGCTGGAGTTAGTTGGTCGATTCTGAA +AAATATTAAAGTACTAAAAATTTTCCTTAGCAACATAGCGCGTTTGCATC +AAGAAAGGCGGGATTTTTCTAAGCCCGCCCTTTAATGGATCATCAATTTC +TAGGAAAAATCGATATTTTACACTAAAAGTGATCCAAGAAAATCAATAAA +TCGGAAAATTTTCCGATTTTCCGTGCTTTTTTGCGAAGATTTATCGAAAA +TGATTTCCATTAGAGCACGCTTGCAATTTTTTTCACCAATAGCTTTCAAA +TTTCTTACGGTCTTGGATCAAAAAGTTGTCGACGCCGATTCAACTCTTCG +AATTGTTCAGCTTGATGCCTTTGAACATGATCCATATACGTATTTCCACC +TTTCATCACCATTATTGATCCGCAAATCTGACGATTGACACGTGGATTGT +AGGCGTGTCGGCGAATGTCGCGGCGGAGTGCCTGACGCGCCAAGTAGGTC +AACGTGCGGGGACCACTAAAAAATCCGGGTTATTGTGATTTCGTGGTGAG +ACCCGAAAATAGTAGAATTTCCTCGTACATCCTGTGCCTAAGCAGGTTTT +CAGTTTTTGATGGGTTGTTACCTTCATACACCTACCTGCCTTTGTGACTG +CCTCCCTGCCTGCCTAAATGTGTGTATGCCTACCTACAGTCTGTTTATCT +GCCTCAACGCCTTCATACCTACTTGCCTACCTTGCTTACATACCTGCCTA +CGCGACTACCTATCGGCCTACCGGTTGGCAAGTAGGAAGGCTAACAGGTA +GGTAAGCTGGCAGGCCTGAAATTTGCAATTTTTGCGAAAAACCGAATTAC +CTTTCGAAAGGCGTAGGCGTTGAGATCCGTTCCTCCTTCGGAAGCCTGAT +CATTGGAGAAAATGTCATTCTTCCAGGGACGTCATACACAGTACGATGCT +TGGAAACTCTTCTGTATCGGCAAACCTGAAAACCTTTAAATGTGGAGGAG +CCAAGAACTAGACGGAGCCTGTGTAAGGAATATTGTTTCCGGAAACACGG +ATTTTCAAATTTTAGGCTCCACCCACTCACCACGCAAAATTTCATTTTTG +GCCCAAAAAGTAAATGTGCAGAAATTGTATTTCAAATTGTAGAAAAACCA +AGAAATGGGTGGAGCCTGCCTGCCTGCCGGGCTCCGCCCACTTCTTGCCA +AACCATACCCCCTGTATACGTGGCATGACGAGTTGTCCTCCAACATTCAA +CATTCCAAGCATTCGTTTCAACAACTGAGAATCATCGGCAACGAATCCGA +CAAAAATTCGATCATATCGATTTTGATGAGCTTCAAGAAATTTGACATCG +GTGATGTCGCACACTTTGAGCTCCGGCCGAGCCCAGCCGACAGAGCTCGC +TTCGGGTGTAGTTATCCATTGATCAATGCATGTTTCCGAGTAGGTGACGA +GATTCTCGTAGAGTTCGATCCCATGATTTATACCAGTTTCACCTTAAAAA +TAGGGTTGTCAGGCCACGCCCATTTTTAAAAAATGAATTAAAATTTTCTG +AGAAAAAATTTCAAACTTTGGTGGGGCATTAAATTTTTTCACATAAATTT +TTTCGGCGGTAAATTCAAATTTTTTAAAAAATTTCTTTTTTTTTTGGCGG +GAAATGTGCCGCAAATCAGAAAAACTGAAATTTCTACAAAAAAAGTTGGT +GGCCGAGTTTTCTCATTTTGTGGTCAGAAAACTCGGCCACCGATTTCTTT +TGCGGCCCTGTGATTACTTAAAAAAATCGGTGGCCGAGGATTTTTATTTT +CGCGGCCACAAGTAATGAAGATTGCACAAAATTGATAATAGGGAAAACGC +GGCCACGAAGTCTAACATGTGCCACGTGGCCGTTAAAAAAAAGCCGGTGG +CCGAGTTTTATTATTTTTCTAGGCCACGTAACCAGAACTCACCCAATAAA +ATGCCAGCAATCGTACTTAAATACCCTGAACCAGTTCCAATATGAAGAAA +CGAGTGTCCTTTACGCAAATCCAAATAATCGAATAATTTCGCATAAATAT +CAATTGCTCCAACACGAAGTGCTCCCGGATAGAATGGACCGCCCGGTTCT +GTGGAGGTCAACGACGGAAGACGTGTAAATTTCCGTTCACTAATCGGAAG +AAAATCGGATCGATCGACAAGTCGAAAGGCTCGTTCGATGTTTCGACGAC +GGATTGTGTCGTTTTTTACGAGAAAATCGATAAGATCGTCGTTTTGGCTT +TCACTATTGCCCATTTCTGGAAAATCGATTTTTTAAAATTTTAGATTTAT +TTATTGATTTTAAATAAATAATTAGAGAGCAGTCATGTGTTTTTCCTTGT +ATATTTACGAGAGAAATCTCAAAAAATTATTCAAATAGGAAATTTTACGC +CAACAATAAAATGTAGAGTGGTGTGCGCCTTTAAAAAGTACTGTAATTTC +AAACTTTTTGGCGCAAAATTTTAGAGTAGTTTTCTTTAAATTAAAAATTC +AAAAAAAAAACAAATCAAGATAAATACAAAAGTTTGAAATTACAGTACTC +TTTAAAGGATCACACCATTTTGCATTTAAAAAAATTTGTCATGTCGAGAC +CGTAATTTTAACGCAAAAAACGTGAATTTTCGCGTCTGTGTAAAAGAAGT +TAGTTAAGGAGAAAAAACAATTGAAAAATCAACAAAAATTGAACTTTCAA +CGGAAAATCAAAAATCGTTGCGAGTCAATAATTTTTTAGCTTTGAGGAAA +ATAACCCTTAAACTCAAAAAACAATTAATCGACTCAACATCAAAATTTCG +TTACAAGACCCAAATTAAAATTTTTTATTTTGGGATAATTGCTCCTAAAA +TTAATAAATTCCAGAGAAACGAGTAAATCGTGGCGAGACCCACTAGCGTG +TACCTTTAATTTCGAAATTATTTTGGGCTGTTCATCACGAACACACGTGT +TGCCTAGCTACCAAATTCAAAAAACGAAAAACAAAAAAAACAGGTTTCTT +TGAAATGAAAAATCGATAATCAGCAACGTGGCAAGATGTCTCAAATTATT +GGAAAAAAAAAACGTTGAAATTCTCAGAAAACGGACCGTTCTGTGGCAGA +ATTGTGAACGGCGTGCAAGGCCACGACCCGTGGAGAGCGCGTGAGAGTGC +AGAAAAAAGGAGGCGAGAGAAAACGGCTGACCCGTGGATAGACTTTGTGG +ATTCAGGAGACGCAGAGCGACCGTGAGAGACCCAGAAATATATGCAGAAA +GTTAAGGCGTGCAATAGTGTTGGAAATTATAATAAATGGGTACGGTAGGT +ATGACCTTTCGGGATCTTTGTGGGTCTCGCCGCGACGAGTTTTCAAGGTG +CATAAGGTTTTTGCGATGGGTCTCGTCACATAATTGTAGATTAAAATTGT +TGATTCGAGATAAATGGAAATTCGAAGCGTCTAAAACAGTTAGAACTTTT +AGTTTACATTAGGTTGAGCTCAACTGTCCAACCCCGTCAAACTTTTTCCA +CTTTTTTTTTACTTTTGCCTTTATGTCCTTTTCGGCCGTTTTCCTGGGGG +TTTTTACCAGACTACGAAATATCCTAACTTGGTAAGCCTCAGCCTAAGCC +GAAGCCTAAACCTTGGCTTTCAACTATACATACACATTTCCTCCTTTTTA +AACGATATTAATTAATTTACAAAACACCAAAAAAATATACAAAAAATGAT +TTGAATTTATGAGTTTCCCGCTAAATACCTACCGAGACCCAACTTTTGGC +CGTGGAGCGCGCTTGCACTTAAACTTCAATTTTTCACATCCCCATAATAA +CTTCCTTGTTTTAAATTGTTTTTCCCTATATTATTATTATCCTTATCACG +AGATGCCCTTGCAAAACACATTGTAAAAATAGTATTCTCAACTGATAATA +ATATTTTGTGTACCCCACGATAGTCCTTCTGGACCATAAAAATATTGATA +ATTACTGATAAGCTTTCTCTGTGGTTTCTGTAGTTTTGGTGATATTTTGG +GCAACAAATTTATATTATGGAAACACGGAATTCTGAAAATGCGTATTGCG +CAACATATTTGACGCGCAAAATATCTCGTGGCGAAAACTACAGTAATTCT +TTAAATGACTACTGTATCGCTTGTGTCGATTTACGGGCTTGATGTTGGAA +ATTAATTTATTTTCGAATTGTGACAGCGATATTCAGTTTTCCTTTGTTTT +TTTTTTTCGTATTATTTTGTTATTTTTATGCTTTCTTTTAATATTTTATC +AATTAATGAATGATTTCCGTAAATCGACACAAGCACTACAGTAGTCATTT +AAACAATTACTGTAGTTTTCGCTTCGAGATATTTTGCGCGTCAAATATGT +TGTGTAATACGTAAAGAAAGTTTGAAATAATTGTTTTTAAATAATTTCTT +ATTCATTCACTGTCAATTCTCACCGAAAAAAAAAATCCAAGTTCCTCCCG +CCAACTTGGCACGATGCCAAAAGGTTCTCAGGCCCATTCATGTCATTCAA +TCCATTCAAATGAACGACTTTTCGTTCAGTTTAGGCTTCTTCTTTTTCCG +GTTTAGTACTTTTTCAAACCGAAAAAAAAAATCCCAAATTGAATGCAAAT +GTGCTCTATTTGGAATAGACTTCACCCTATTTCGGAATTTTTTCCGATTT +TCTGAAAATCTTTAACACTTTTCTAACTGTTGCATTAATGACATTTTTCT +AGAAATTCTACTGCAAACGCGCTCAGTTGCGAAAGTTTTTGGGTCTCACA +ACGATTTCGGAAGAAAAACGTTTTATTCGTTGCGAGACCCGGAAGAGCCC +GGTGGAGCGCGTTTGCAATTTTTTTGGTTTGAAAATTTTGCGCAACGATG +CTCCAAAATAACACCTCGCGAATTTTATCGTTTTTTTAAATTATGACTTT +TCCGGTCCCAGAACGAATTACAAAAGCAATTTTTATGAAAAATCGTTACA +AGACCACAAAAAAAAGCGCAATAGAGCGCGTTTGCACCTTTTTTTCTTGG +AAAAGTCTCGTTTTTTTCTCGGTAAATTCACTGTGACATTGACCTTTCTC +GAAAAACGAAAAGTGTAATGGAAAGTGAACAAAAGTGACAATAATCTGGT +GAATTGCGTTTTGTTGTAATATTTTTGTATCTTCTTTTCTTTTTTTAATC +TGCGAAAAATAGAAAAGTTTTGGAGAGAAAGTGATTTTCGACGAAATTTT +CCTGATTTTGCTAAAATTGAACAAAAATTGTCATCATTTTCTGTGGGGTT +TCTCAAATGTTTTCTTAAAATTTATGCGCCTTTAAATTTGGGGGATTACT +GTAATGTTTGTATTTTTCAATTTTGTTTCGGGAACACAAAATTCTGAGAA +TGCGTACTGCACAATATATTTGACGCGTAAAATATCTCGTAGCGAAAACT +ACAATGGATTAAAATTTAATGAAATATCGTTATCACTATTCGAAAAGAAT +TTCATTATGAAGCCCGTAAATCGACACAAACTCTACTGTAGTCATTTAAA +GAATTACTGTAGTTTTCGTTACGAGATATTTTGCGCGTTGTCCCCGTAAT +AGTTTAACTTTTACCACGTGGCCGCCAGAAGAAAAACTTCTGCTACCGGA +TTTCATTTCCTCGGCCACAAACCCTTTTGACCCCCGAAAAAGTACATAAA +AACAATTCCGGGGACTGGGTCTCCAATCTCTCGCCCCCACTCACTAACAA +GGGGGACACCCTCAGAAACGAATGCCGTCTAACCGTCTGCACCCTCTCTC +TCGTCGCTCCAAATTCTTGGATCAATGCCAACTAACACGCAGTGTCCCCC +CTCCTCCTTCATCCACCCAAATGTTTCATCACTTCCCGGCCACCGCAGGC +TTCTCTCTCTTTCTCTAAATCTCTCATAAACTACTGTCTCTCTCTCTCTG +CTTCTTTTGCTCAATTGTTCTTCTTCATCACTACTATTTGCTCAATTTTC +GTAAATATTTTATTTTAAAATATCCCTTTTTCCTCCCCCCGCCTCTCTGC +TTCTCGCTTGACGCGCCACATACACTAAAAAAACCGGTTTTTTCTATCTC +TCTCCGCCCGATCATTGAATAGATAGTGTGTGCTGTACATCAAATTTCCA +TGGAAAAATCGCGCCGAAATTCCAGAAAATTCCACTTTTTCTAGAATTTT +CAGCGATTTTTTTCGGTTTTTGAATTTAATACAAAGCGAAATTCCGTGAA +AAATTAATTTTTCCTCAATTTTTGACGAATAAAAAATATTAGTATTGTTT +TTTTTTCAAGAAAGTGTGATTTTTTCACAATTTTCTATGGTTTTTACGGA +GAAAATCTTGAAATTCCACAGAAAAACTTGACAAGTCTTTGAAAATTAAT +AAAATTTCACCGTATCTGCCGATCGTTGCAAGACACACTCCACAAAAGAA +GTCGTGCGCCTTTAAACTGTGTACGGTAACTATATTGATTTAATTTTTTT +TTTCGATTTTGCGTCTATTTTTCCAATTTTTCTCTGATTTCGAACGATTT +TTTGCATTTTACCTCAAAAAAATTAATTTATTTAGATGATAAAGTGGAAA +TTGCTGATTTTTTACAAAAAAACACTTAAAAAACGAGTTTTCTCATCAAT +TTCAGTTGTTTCTGGCATGGCTCATTGTTTATCGACACCTGCTTGTTTTT +CTCCTCCTCTCCCATCAATTTTATGAGTTTTTCTTCGAAATTTCTCCATT +TTTCCCGTTCAAAAACCGCCAAAATTCGCTTTTTTTTTTCCAGAATTCGC +CTACTATAGCACTACTAGATGTGTTAATTTGGAATTATTTTTCAAAAAGA +AATGTATCCGGACGGGCTAACTGAAAATGAGAAGCTCAAAGTGAAGGAGC +TGTGCACTATGGTCAATATATCCGATGAGGATGCGATTAAATTGTTAAAA +GGTGGATAATTAAGCTGAAAAGTGGAAAAAAAAATGCATTTTTTACCTAA +AATTTACCTAAAAATTGGACCAAAACGTCATAAAAATACTGAAAAGTCAG +AAAATTGTCTAAAAAAACTAATTTTCGCTAAATAATTCCAGAAAACGACT +GGGACATTGCAATTTCATCGCGAAGAGTGTCGAAACAAGAGGATAAAACA +TTGGTTCCGGGCACTTCGAGAGGTAAATTTTTGAAAATTTTCAGAATCAA +ACTGAAAAATAGATATATTGTGTGAAAAAATCCATTTTCGCCGTAAGAAA +AGTGAATTTTGAGCGGTTTTTCAAATTTTAAACTGAAAAAAAAAATCAAT +TTATCTGAAATTTTGCTCTTTTCGGCGGGTTTTTTCTCAAAATTTGATGA +AAAAGTTCTAGAAAAACGACAAAAAAGCCTTTAAATGTACTTTTTTCTGC +GATTTTTTATCTTAAATTTAAAATTTTGCGCGTCAAATCTGGTGTTTTGA +CTCCGCCCACTAAATTTAAACTTTTCGTGAAAAAAAAATGTTTTTCTCCG +ATTTTTAATTGTTAATTTAGGCAAAAAAATACAAAATTTGCCCAATTCAC +CTATTTTTTCCAAAAAATCACAAACTTTGCGCGTAAAATCGGGTGTTTAT +GCTCCGCCCACAAAAATTTCTTAGAATTCGATTTTCGGCGGATTTTTTCT +CAAAATTTGATGAAAAATCTGAGAAAAACTACAAAAAATCTTTGAGCTTT +ACTTTTTCTCTGCGATTTTTATCTAAAATTTGAAGTTTTGCGCGTCAAAT +CTGGTGCCTTGGCTCCGCCCACAAAATTTGAAGTTTTCGTTTAAAAAAAT +GTTTTCACCACTTTTTCGCCGCTTTTTCGCCTGAAAAATCCCAATTTTTT +TGCAGAAGAAATCGATTTGGATCGATTATCGAGTCGTCTACGTGTTCACG +GATTAGCCTTCTATCTTCCAGATTTTGGAGGTTTTCCTAATGAATTTCGA +ACGTTTTTGGAGAAGGATTTGATAGAGACGCAGACACAGAAGAGACTGGA +GGCGTCCAGTAAGTTGTTTTCTGGAAAAATTGAAAAAAAAATTGAATAAA +AAAAATGATTTTTTTAATCGAAAAAAAAAGTTTTCAAAAATAAAATTGGA +AAAGGTGAAAAAAATTGAACAATTAAAAAAGAGCGACAAATGAATAAAAA +AAAACTTTTTTTTTTTCGAAAAAAAAGAAAACAAATGTTTTTTAATCGAA +AAAATAAAAAACGAAAAAAAAAGGAAATTTTTTTTACAATTAGAAAAAAA +AAATTAAAAATGTATTAAAAATTTTTTTTTTTGACATTTTCTTTCGCTTT +TTAATAAGTTTTGACTAGCGGGCCCTGCGGGCCCGCCAGTTGCAGGGGGT +GTAGGGCGAGTCCCCCAGTCGGGCGTAGGTTCTCGGCTTCGCCTCGAACC +TGTCAGAGGATTCGCGACAATTGCAGTGAGTCAATGGGAGGAGGGGAGAC +CCACTCATATTTTATAAAATCGAACATTTCTATTTGAATCCCGAGCACTC +ACAAAAAAACGAAAAAGTTTGTCAGTTGGGGGAATCGAGCAAAAGAGCAA +ATTATTCACAGCCATACGCACTAACCACTCGGCCATGCGGGAGAGACCTG +TCACAGAAATGTAGGGAAGGAAAATTTCTGGGGGGGGGGGGGGGGGGGGG +AGTTGTCTTTCGATTCCGTTTTATTCAATAATGACAATTTGGGGAAAGAC +GTTTGAAAACCGTTTATCACTGATAAGTCAGCAGGAAAACAATTTTTTGA +AATTTTTTTATAGCATTGTACTCATTATTTAATTCCCGAAAGAGAGCCGA +AAAGTTGAAGGTGTTATCTTGTAAATTGGTTTATTTGAAGAAAAAACAAG +TTTTGGCCTGAAAATTTTGAAAAAATAATATCTCTTGGCAGAGCATTGCT +AATGCGACGAAACTCCAGCTTCCATTAGATAAAATCAAAAACTATGAATC +AGAAATACATTCCGCAAAACTTTAGTGGAAAAAATGTTCAGGAGACCCAG +GAAACCACTCCCCCCAGTACTAAATTTTTGAATTATTTTTTCTTGAAAAA +TTTTCCCACTGAACTTTTTACAAATTTTATATGTCTCGATGCGTCTTGAT +GAGACCTACACGTCAATTTTTGGAAAACTAAGAAAACTTGAAAACTGACC +GAGTTATGATTGAAAAAGTAGATTAGCAAAGATGGGAAAGTGTGCAAAAT +TTGGCACTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTC +TGAGTTAAAAATCGTGTTCAGCGTACTTTTGTACGTGGGATAAAGAAAAA +AAATATCAAAAAAGATGAAGTAGAACTTGAGATAAAGACGAAAAACTACT +TTTTCGGAAAAAATTTTTTTTTGGCAAAATGGCATTTTTTGGCCTTTTGT +TTTATCACAACTTTTTGCCTTTTGCACTTATGAACTCAAACTTTCTTTCA +AAAAATCCACCTCTCTGAGTAGTATCTTGCACATAAATTTGGAACAAAAC +CGAGCAAAACCCGAATTTTAATTCAATTAAAACATGGTTTTTTGGGGGTA +AAAAAAGCAACAAAAAATTTTTTCAAACTGGGGAAAGCCGCCCTGAGCTC +AGTTTTGCTCCAAACTTTGTGCAGTTTTTTGCTCCCCCGTGGGGTGAAAT +ATTTCTAGTAAGCTGTCAAATATTACAAAATTCAGTCAAACGGCTCTGGA +GTTATTAATGAAAACGCAGTGTGACATTTTTTCGCAAGCCAAAAAAAACG +CGAAAAAACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTATTAGA +GGCTGCTTGGCAGATTTTGAAATATCGGAAAAACTTTAAAAGTTCTTTTT +TTTCCAGGACACCTAAACTGGTGGCATCAATTCGGCCAAAAACTCTACCC +GCTATCAACTACTGGAGACGGAAATTGCCTTCTTCACGCCGCATCGTTAG +GTAAATGGTTTTTCAGAGCGAAAAATCGGAAAATCGCTAAAAACTTACTA +TTTCCACTGAAAAAATTGTAGAGATCGCTCAAAATTTCACTATTTTCTGA +ACATTTTGATAAAAAACGACAAAACTATTTCAAAACGAGCCCCGAAAATT +GTTTTTTTACTAAATTTTTTTTGGAGAAGTGCAAAAATTTAAATTTTTGA +ATTAAATCTTTAAATCTTCAACAAAATTTAATCGTAAATTTTCAGGTATG +TGGGGAGTACATGATCGTCAGCTATCACTTCGTGAAACTCTCTACGAACT +TCTTACAAATGGCGCCAGAAAAGAAGCAATCCGACGGCGATGGAAATGGG +TTGAGAATCATATGAATCAGGTAATTGGCGAGAGAAGAATCTGTGAAAAA +TTTCTTAAAATTCGGTGAAAAATGATCAAAAATGAGCTGAAAACCGGTCA +CGTAGTTGAAATCCGCGGAATATGAAATTCCCAGAGGAAACAATTTTCGT +GGATTTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACG +GAGTTGAAATCCGCAGAATTCGAAATTCCCAGAGGAAACAATTTTCGTGG +ATTTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACGGA +GTTGAAATCCGCGGAATTCGAAATTCCCAGAGAAAACAATTTTCGTAGAT +TTCAACTTCGCGAATTTTTCTCAAAAAGCTTGAGTAAAAACTCACGGAGT +TGAAATTCGCGGAATTCGAAATTCCCAGAGAAAACAATTTTCGTAGATTT +CAACTTTTCTAGATTTTTTGCCAATTTTTTATTACATGTTACAAAAAAAC +GGCTGTAAATACTCACGGAGTTGAAATCCGCGGAATTCGATTTTTGTAGA +TTTCATCTTTTCCAGAATTTTCCAACAAAAAAAACCGGAAAAAATTATCC +GACACTCCATGGAATCTAGTTTTCGGAGATTTCAACATCGAGAACTTTTT +TCGCACATTTTTTTGCATTTTTAAAAAATTTCACCAATTTTCCAATTAAA +ATTTTTTAAATTTCCAGAGTAACGGTCTCGCATTGACCCTCTCGGAAAAT +GAATGCTTGAGTAAAAACTCACGGAGTTGAAATCCGCGGAATTTGAAATT +CCCAGAGAAAACAATTTTCGTAGATTTCAACTTCGCGGAGTTTTCTGTCA +ATTTTTTGAGATTTTTTCTCAAAAAGCTTGAGTAAATACTCACGTAGTTG +AAATCCGCGGAATTCGAGATTCCAGGAAATTCGATTTTCGTAAATTTCAT +CTTTCCCAGAATTTTCCAATTAAAAAAAAACGGAAAAAATTATCCGACAC +TCCATGGAATTTAGTTTTCGGAGATTTCAACATCGAGAACTTTTCTCGTA +GATTTTTTTGCATTTTTTAAAAATTTCACCAATTTTTCAATTAAAATTTT +TTTAAAAAATTTTCAGAGTAACGGTCTCGCATTGACCCTGTCGGAAAATG +AATGGGAACTCGAATGGGATGTTGTACTCGGATTATCATCTCCATTACCC +CGTAAACAAGAGGATAATGGCTCAAATTCCACAGATCAAATCTACGAGAG +TCTTGAGGCAATCCACGTGTTCGCGTTGGCTCATGTGCTCAAAAGACCAG +TTGTGGTTGTATCGGATACGGTAGGGAATTTTAAAATTTTTTAATTCTTC +AAAAATTTATTGAAGAGAACAGTAACAAAAAATTTGGTTACTTGTGAATT +TTACAGAAATATAGAAAATTTTAATTTAAAAAAATTTCGAGATTGGTGAG +AATCAAGGGTGTCAAGTCCCGTGTCCCGTTTGTCCCGTTGTCCCGTTTTT +TGAGTGTTTTTACGGGAACGGGACGTCTTTTGTCCCGTTTTTGAGCGTTT +TCACGGGAACGGGATGTCCCGTTGTCCCGTTTTTTGGGTGTTTTCGCGGG +AACGGGACGTCCCGTTGTCCCGTTTTTAAAATTTTCACGGGAACGGGACA +TCCCGTTGTCCCGTTTTTGTCATTTTTACGGAACATTGACACCCTTGGTG +AGAATAAAAAATCAATAATACACATAATTTTTGGAAGAAAAATCGATTTT +AAAAATGAAGCTTAACATTTTTTTTCGAAAGAAAAAAAGTGTAAGAAGTT +TATCAAAAAAAAAAACATTGAAAAAAATATCTTCAAAAATGTTCAATTTT +GTTTTAAGGTGCAACTATTACAAGAGCACACAATTCTTAGAATACGTATT +GCGCAACCTATTTGACGCGCGAAAACTACAGTAATACTTTAATTGTCTAC +TGTAGTGCTTGTGTCTCGATTTACGAGCTCGATTGATAGAATATTCAAAT +AATTTATTTATCGATTTAATATTCAAATTAGGCAAAAAATGAGAAAAAAT +ATACATGTGAAAAAATTAATTTTAAAAATAGAGCCCGTAAATCGACACAG +TAGTCATTTAAAGGATTACTGTAGTTTTCGCTGCGAGATATTTTGCGCGT +CAAATTTGTTGCTTAATACGCATTCTTAGAATTTTGTGTTCACATAATAC +GGTTTTTCAAAAATTTTAAATCTTCATAAAATTCATCAATAATAACTAAA +ACTTAATCAAAAAAAAATTTAATTTTAGTGTAGTCATCAGAAAAAGTCCA +TCAAAAAAAGTCCATCAAAAAACCATCAAAAAAAGAAAATTGAAAAATTT +GAATTAAAACATTTTTTTCGAATTTTTGAAAATAAAAGTGTTTGAATATT +AAACGTAATTAAAAAAAAAGATTTTCCTTTTTTAGAAAAATCTATTCATA +TTAGAACAGTCGATTTTATAAAAGTATCGATTTTTTTATTAATTGGATTT +TTTGTAAAATAATAATCGATTTTGAAAATAAATTGCTTAAAATATTGTAT +TTTTTGACAGAAAAAATGTAAAAAATTTATCAAAAATAAATAAAATTGCA +AATAATTTTACCTACAAATTAATTGTTTATTAAATAAAGTTTAAATAAAT +TAGAACAGGAGTAAAACGAGTTTTCAAAATTATTCTTTAAAATCTCGGGT +TCTTTTAATTCAAAAATTCTTTTAAAAAAAACTCAATAATTACGGATTTT +TCAAAAATTCGAAAAATTCAGAAATTCAGAATTTGGATAACATAATTCTA +GTTGACTTCCAAAAAAATGATATGTGACTTACTTAAGGTACAACTAACAT +TAATTTTCCAAAATTCTTATGGCTGCTTTAAAACACGCCAATGGGGTCAT +AATGACCGAATATTATGTTTAAAAAAATCAAAAAAAATTTTCTGATTTTA +TATGATTTTTTGAAAATTGGAAAAATCACAGTTTTAACCTAATTATTTTT +GAATTTCTGCCAATTGGATTTGTTCGGTGCAGCGCGCTTGCATTATTTTT +ATTTATTTATTTTATTTATTCTCGTTATTTCACTGATTTTCTTCATTTTC +TATGTTTTTTTTTCTCGGAAAATGAAAGAAATAAACAAGACAAATGCGAA +ATGTTTGTTAAAAAGTAATTGAAAATGCGTAAAACTGTGATATTCTGAGT +TCCGACGACGAAGAGCCTGAAATTAGTATATTTTTCAGTTTCACTCATTT +TCAATTACTTTTAAACAAACATTTCGCATTTTTCTTGTTTATTTCTTCCA +TTTTCTGAAGAAAAAACATAGAAAATGAAGAAAATCAGTGAAATAACGAG +AAAAATATATATAATTCATTAAATAAAAATAATGCAAGCGCGCTCCACCG +AACAAATCCAATTGGCAGAAATTCAAAAATAATTAGGTGAAAACTGTGAT +TTTTCCAATTTTCAAAAAATCATATAAAATCTAGAAAATTTTTTTGAATT +TTTTTATCATAATATTCGGTTATTGTGGCCCCATGGGCGTGTTTTAAAAC +AATTTCCCCACTGAGCGTAGTCCACCTTTGAAATGTTCTCAAAAAATGAA +AAAAAAACGAGTTATAAAAATTATTTTTTAAAAATCCAATATTTTAAATT +AATTTTTTTTTGCAGATTCTGCGAAACGCGAAAGGCGAAGAACTGTCTCC +AGTGGCTTTTGGTGGAATATATCTTCCATTAGAATGCCCACCATCACAAT +GTCATCGTTCACCACTTGTTTTATGCTATGATTCTGCTCATTTCTCACCA +CTTGTACTCATGAGAACAGAGACTAACAATAAACGTAAGCAATTTTTTTT +TTGAGAAAAAATATTTTCAAAATCATTTTTTAACTGAATTTTCAAATTTC +CCCCCCCCGTCCCCCCCATTTTTTTCGAAAAGTGAATTGGAATTTTCCTG +AAATTTGCACAAATTTTTTTTTGAAAATTCAAATGTTCGTCAAATAATTA +TTTTATTCGAAAAATCGACATTTTTCCAAATTGTAATATTTTTATTCTAA +AAATCCAAAATTTGATTTGGTAAAATTTCTGTCAACAATCAATTAAAAAT +CCAAAATTTTCAAAAAAATTGTGATTTTATTCGGGAAATTCGAAATTTCC +TATTTAAAATTGGATAAATCTAAAAGTTTTCGATTTTATAATTTTTAGGA +AAACAAGTTTTCAAATTTTTTTAATTATTAAAGTTTTTTTTTGCAATTTC +ACTAAATGAGCCAAATTTTAAAAGTGGAGCACCGAAATTTGAGACTTTGC +TTTTTTAGACTCAAATTGGTCCAAAACTACCGAATTTTGTAATGATACAT +TCTGAAAATTTCTCAAAAAAAAGTTATGGCTGTTTAAAGTTCGGCAAAAT +AAGGCCCATTTTCAGCTAAAATCAAAATTTTTTCCAACTTCTAGGTGTCG +CAACGTCTGGACCCTAATTTTTATTTATTCATCACTTTTTAATAAATATT +GTGGCCTTTGATTGGGCGTTTAATCGTTGTTTTAAGTACATTTATGATCT +TTGGAGTACAAATAAACGTTACATTTTGTACCCCAAAGACCATAAATGTA +TTTAAATCAACGATTAAACGCCCAATCAAAGACCACAATATTTATTAAAA +AGTGTTGAATAAATAAAAATTAGGTTCCAGACGTTGCGACACCTAGAAGT +TGGAAAAAATTTTGATTTTAGCTGAAAATGGGCCTTATTTTGCCGAACTT +TGAACAGCCATAACTTTTTTTTGAAAAATTTTCAGAACGTTTCATTACGA +AATTCGGTAGTTTTGGGCCAGTTGGGTCTAAAACAGCAAAGTCTCAAATT +TCGGTACTCCACCTTTAAAGAATTCATATAATTTTCTAAAACAACATATT +CTGATTTACAGAAATACATTTAATATCAATATGAATTATTTGAAAAATCA +AAAAATTTATATTTATTTTCAGAAATAATTCCGATAATCGATGTGAACCG +TAACCTGCTGCCTGTCCATTTTGCAGTTGATCCAGGAGAGTCATTCGATT +GGTCCAAATTAGAAACAAATAGTAATACACAGACAACTACTGATATGTCA +CAAATTGATAAGCTTGCGTTGATTAGTCAATATATGGATATTATTAGGTA +AGAAAATGAGAAAAAGGATTTTTTCAATTTTTTTTTCTAAAAAAAATATT +CAAAATATCGTTAAAAAGCCAAAAATGTGTACGTTTTAATTTAAAAAATA +TTAAAATTTTTTTGTCCCAAAATTAAAATATCGAAATCAAAATGTTTCCG +ACATTTATATAGAAATTCTGGAAATTTTTTTAAAATCGAAATCATATTTT +GAATGAAACTACAGAAAACAGCGCCAAAAAAGAAAAAAAATCGTTTTTTT +TTTTCGAATCTTTCATTACAAATATTTGAAAAAACGATACAATTATGTTT +CGCGAAAATTTTTTAAAAAAACTTTAAAAAATTATTAAAATCAGCTATTT +AATCACAAATGAGAAATATATCGGAAATCTGGAAAAAATTAAAAAAATTT +TTTGCGTATTTGTCTGAATTTATTTTACAAATACCAAAAAAAAATCAATT +ATTGTTGGAAAAAATTGAAATACAACGGAAATCGAATTATTTTTATTTAA +AAAGAACGAAAAAAAATCCAGAAACCATCACAAAATTATTGGAAAACGAG +AAAGCTGATTTTTCGCTAAAGTTCAAAAAAATTTACAAAAAAAGAAAAGT +ATTAAAATCGGTAATTTTCCCAGCTTGAAAAACTGAAAAATTCGAGTTTT +CTAAAAAAAATTAAAAAAAAAAATCAAAATATTCCTCAATTTTGGAAAAT +TACGGAAAAAGTAGTTTTCTTTAGCTTTCGGCCAAAATTTTATCATAAAA +ATTTCCGGAATGCATAGTTTTAGAGAATAATTTTAAATTGAAACACTAAA +TTTTTTAAAAAACTTTTTTTTTTGAAAATCCCGGATTTAAAAAAAAATAA +AATTTGAATTTCATATAAATATTTTGTTAGGAAAAATAGTTTCTAAACAA +AAATTTGAAAAAAAAAATATTTTTTTTTTCATATTCTTTGAATAAAAAAA +ATCTGAATTTCGAAACATTTCAGATTAGACGTTCGTCGTGGCTCAATCCG +TAGCTCGCGGAGAGTTCGAAGTGCTCACGCGCAACTTCTCACCGAATCTC +GTGGTGAAAATGGGCAAAATTTGCCCCAAAAATCAATTAAACCAAGAGAT +TTAAGTGCACATTCTAGTGATGAACAACCATCAAATAATGCAAAAGGAAT +GACATTAGCATCAAGTGGAATTGGTTCTGGAAGACATGAGAAATGGAGAT +TAATCAATGAAATTCGGTAAGCATTTTTTTTTTGGATTTTTGGCCTGGAA +AAAATTTTTCCAACAAAAACTTGAACAGAATTTTTGAAAAAAATGTTGGA +AAATTAAAAAAAAATTTTTTAAAGTAATCAATTTTAATTTTAAAAATTAG +AAACTTTTCAAATAAAACATTTTTATTTTTTCAAAAATTTTGAATTTCAT +TTTCAGAATAATCATTAATGAAAATTCAAAAAATTCAAACTACAATACTA +CGATAACAAAAAAAAATCAGAATGCGTACTACGCAACATATTTGACGCGC +AAAATATCTCGTAGCGAAAACTACAGTAATCCTTTAAATGACTACTGTGT +CGATTTACGGGCCTTGTTCTATTTTTGAAATTAATTCATTTTCGAATAGT +GACAGCCATATTACATTTTTCTTCGCTTTTTTGTATTATTTTCTCTTTTT +TTTTGCCTAATTTGAACATTCTATCAATCGAGCCCGTAAATCGACACAAG +CGCTATAGTAGTCATTTAATGAATTACTGTAGTTTTCGCTACGAGATATT +TTGCGCGTCAAGTATGTTGCGTAGTACGCATTCTCAAAATTTTGTGTTCC +CGTAATATGGTAGTTTGAATTTTTTTAATTTTCATTAATGATTATTCTGA +AAATGAAATTCTAAAGTTTTGAATAAATAAAAATGTTAAAAAATTTTTAT +TTGAAAAGTTCCTCATTTTTTCAAATTAAAATGGATTACTTTTAATTTCC +AAAATTTGTTTACAAAAAATTCGTTTAAAAAAAAATTAAACTGTTAAATG +TTAAACTTTTCAAAAAAAAAGTTCAAAATTTTTCTGTAAATTTTTAAAAT +GATACATGTAATTTAGATTATAATTTAAAAAAAAGACAAACATTTTTTGA +CGAAAAATATTAAAATTTTGTTAAAAAATGAAAGTTTTTAAAGCCTAAGC +CTTAGCCTCAGCCTAAGCCCAAGCCAAAGCCCAAGCCTAAGCCTAAGTTT +GGTACTGCAGTATTTAAAAAAAAAGTTTTTCCCCAAATTTCTTCTGTTTT +CTTAAAATTCAAAACTGTTATTTGCAAAAAAAAATGTTTTTGCAAAATTT +GAAATTTATTGAACTGAAAAAAATGTGAATTTTTTAATTGCCTTTGTCGC +AGCGGCTGGAAACAATTTTTTTTTTGAAATCAATTTTAAGAATAAAAATT +GATTATCTTGCGTTTTAAACTTGATTAGGGTATTTAAAAATCGATGGACG +GCGAGTTTTGGTTCAAAAAAATTAAAAATCTCGCCGTCCATCGATTTTTA +AATACCCTAATCAAGTTTAAAACGCAAAGTAATTAACTTGTATACTCGAA +ATTTGACGATGATTTCAAAAAAAAATTGTTTCCAGCCGCTGCGACATTGA +TAAGTTGGTCAAATTTCCGATTTTAACTAATTTTAGGCCATTTTTTGAGC +CGTCATAACTTTTTTCTGAAAAGTTTTCAAGAAGTTTCATTATAAAATTC +GGTGTTTTCAGACAATTTTGAGTCTAAGAAGCCAATAAAAAATTCGACTA +CACCACCTTTAAAGCTCAAAATAACGTCCAAAAATTCAATTTCCAGAACC +CACGTGCTTCGAACTTTTCGTATTTCCTCATCAACACGTGGCAAAGAGAA +ACTAATCGATACGGACGATTGTATTGCAAGAATGAATTCGACGTGCGTTC +TCGCATCGGAATTATTGCCAACTCATCACCAATACATGGACAAAATAATC +AATGAATACATGAAAAGTGCGAAACAACGATTCCAACAGAATCAGCGAAC +ACAATCGGATAGTCGGAAACGGATTAGTCGAAGTTTCAGTGCAAGCTCAC +TTATGCTCACGTGTATCGGTTGTGATTCGGTACGAGACCCACTTTTTGAT +GGAATTTCGAGAAAAAAGTTGAAAAAACGGAGAATTTGGCACAAGTAGCC +TCAATATTTGAAAAAAAAAACCGAAAAAATGGATGAGGGGAAGCCAAAAT +ACCAGAATTTACACCCAATTTTCAAAGTTTTATTGATTTTTTACAAAAAT +TTTCTCAGTTTTTCAGTAAATTTGCCAGATCTGACCATTTTTTAGGAAAA +CTGAAAATTTTCGGTGTTTTGCCAGAATAGCAACTTCCTGAAAATTTAGA +ACTAATTAATTTTTAATTTTTTGGGGGAATCATTTATTTCCTAACAGAAT +TTGATTTGAATTTCGAAAAAAACCGATTCTAAGCTTAAAAATTGACAAAA +ATAGCAATGAATGTCAAAAAAATTGCTAATACATAAAAATTGTTTGAAAA +AATACAAAAATAACAATTTTTATTTAAACTTTAAAAATTTTTCAAATTTT +AAAAATTGAAAAAATTAAAAAATTTTTAAATTAAAATTAAAACATTTTTT +GTTAAAATTTGAAAAAAATTCAAAAAAAAAATTTACATTAAATTTTTTTT +TTCAGGAATTCAAGCCGGCATCTCAAGTGACAAATATCATGTGTGATCAA +TGTTTTGCTTGGCAAAAAATGAGTGTTCTCACGTCGAATTGCGACCAATT +TATGGGAAATTCTGGGCCACCGTGCAAAAGTTCAACACTTCCGTCATTTG +GTAGTAATGATAGTAATCAGAATGATAAGGAAAATATTGTGGAGGTACTT +AATGTGGTGCCTAAAGATGGAGCCAAGACACTTACCAGGTATGGTTGAAA +TTTTGAAAAAATTAGAATTTTCAACGAAAACAGAAATTATTTTAAAAATT +TATTTTTAATTGAAAAATAAAAATTTCTCCCAAAAAATTTTCCCAAAAAA +AGTGTTTATGTTATTTTTGAAAATTATAATTGAATTGATTTTAAAAATTA +CGAGAACACAAAATTTGGAGAATGCGTATTGCGCTACATATTTGACGCGC +AAAATATCTCGTAGCGAAAACTACAGAAATTCTTTAAATGGCTACTGTAG +CGCGCTAGTGTCGATTTACGGGCTCTATTAACGAAATGAATTAAAATCAT +TTAGTTATCGAATAATACAAAAATCATTTCATTTCGAAAATCAAGCTCGT +AAATCGACACAAAAGCTACAGTAGTCCTTTAAAGGATTACTGTAGTTTTC +GATCCGAGATATTTTGCGCGTAAAATATGTTGCGCAATACGCATTCTTTG +AATTTTGGCTTCTCGTAATATACGAAGGTTGAAAATTTCAGATTTTTAAC +ACAAAAACTTATGAAAATAAAATTTATGAAAAGTATAAAAAGTTGAGAAA +ACAGAAATTTTAATTTTTGCGAAATCTAGATGTCAATTTCTTCACAAAAT +TTTTCAAAAATCGATTTTTCTTTCGAAAATTTTTTTTTGTAATTATTTTA +AATCAAAATTTGGCGATTTTCAAAATGTTTATTTTATATTTAATTTCTAA +AATTAATTATTTTGATTAAAAAATATATAAATTCAATTTTCAGATTGTAA +AATGAATTTTTTTGAGTTTGCCGTTGAAAAATAGAAAACAAATTATTTTT +AATAACTGAAATAACTGAAAATGTTGTTTGAAAAATTACATTTTTCCAAA +AAATCGAACATTTTTGACGCGCAAAAAAATTTGTAAAAAAAAATTTTCAA +CAGAAAAAACTGTAAAATAGGAAAAAAATTTACCTAAAAAGCGTATGTGC +CTTTAAAATGTACAGTAACCCCAAAAAAATCGATTTTTTGCAGTATGCGA +GCTGTGGAGGACGAAAACGGTGTGGTTCACTATTATATGGACGATGAAGT +AGCGGATTCGTGATTCTATTATACTCATTTCTTTTTTTGAAAATATATTT +ACTAGAGACCAGTTTTCATTTGATTTTTATCGATTTTTTTTGGATTCCAA +ATTTTTGTTTTTTTTTTGTTGCTTTTTGTGTGTTTTTTGCCGTCTATCCT +TCTTTCCTGCCAACGGGATTTTCTCTTCTTTTTTTTTTTTGAAAAACTCA +ATTTTCCCGCCTAGTATTGCTTTTTTCGAGATTTTTTCTTCCATTTTTCA +TATCCGCGCCAGCTTTTTCTCTCCCCTCCTTTTTTCACCCATATTTTCGA +GCTTTTTTCTGTGATTTTTTTTTCACCCCCAAAATTTTTTGTACCAAAAA +ATTGATGCTTCTTTTTTTTCTCTTTATTTCCAACAAAATGCTTGGCCAAA +GAAATAAACTCTTTTATAATTTATCATTCAAAAAATTTGAGACCAAATTG +AAATCCACATCCAGCAACTGCAAAGTGTCATTTGACAATGCACAAATCGC +ATGGCACGCCCCGTTTTCGTCGATCACCCGGGAACGCGTATTCTGGGACC +AAATGAGGAGGCGGTGGCGATCGGAGAAAATGAAGTATGGACCACATCTG +GAAGACACACCTGATTTTACGCGCAAAAATTTAGAAATGTATCGATTTTT +CGGTCAAAAATCAATATTTATCGATTTTCGGAGGGCACATGGGCTTCTGG +CCTTCCTCATTGAATATTCGCGCTCCATTTACACTCGCCTGCCGGACAAC +GCGTGGAAAAGTGTGGTGTACTCCACACGGACAAATACATCAGTTTTACA +ACTAAAATCGAGCCGTGACGCGACACGCAACGCGCCGTAAATCTACACAA +AATCTCTCCGACCCAAAATGGCCTAGTTCGGCAAACTCTGCCATTTCGAT +TTATGAGGGAAGCCAGAAATCCGTGAGGGCAAAGATTGAACAATCTGAGT +TAAATCGTTTCCATACAAAATTTTTTGAAAATTTTATTCTGAAACTGTCT +AAAACTCGAAAAGTTATCAATTTTCTGGTTAATTTCTGAGGAAATTCAAA +AATTGATATTTTCGAAAAAAAAAATCGGAGCCAATACACATCATTTGACG +CGCAAATGTTGAATTTTCAAATTTACGAGAACCCACGGGATTCTGGCTTC +CCTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGGCCATTTTGTGTCG +GAGAGATTTTGTGTAGATTTACGGCGCGTTGTGTGTCACGTCGCGGCTCG +TTTTCAGTTGTAAAATTGATGTATTTGCCCGTGTGGAGTACACGGCACTT +TTCCACGCGTTGTCCGGCATTTGTCAATGGAGCGCGAAAATTCAATGAGA +AAGGCCAGAACCCCGTGAGAATCCTAAAATTCTGAGAATGCGTATTGTGC +ATCATATCTGACGCGCAAAATATCTCAAAGCGAAAACTAGAGTAATTCAA +TAAATCACTACTGTAGTGCTTGTGTCGATTTACGGGCTTTCGAAGAAGTT +ACTTTTTTAGTTTCTTCGTATTATTTTTTTTCATTTTTTGTCTAATTTTA +ATATTCTATCGATAAATGAATGGGTTTTTATTTATTTTTATTATCGAGCC +CGTAAATCGACACCAGTGCTACAGTAGTTTTCACTACGAGATATTTTGCG +CAATATATTTATAAAAGTTGACTAGCGGGCCCTGCGGGCCCGCCAGTTGT +AGGGGTGTAAGGCGAGTCCCCTTGCCGGGCGTAGGTTCTCGACTTCGCCT +CGAACCTGTTAGAGGGTTTGTGAAAATTTCAGTAGGTCAATGGGAGTCTT +CTTGTTTTTTGAGTTCGGTTTGACCAAAAACAGATGCACCCGATGAATCA +GTTAAAGCTGAGTTTTGATTGATTGAAGTTTGAGGAGGCTTTATATTAGG +GGAGACGTACCCATATTTTGTATAAAATTGAGTATTTCTATTCGAATCCC +GATTACTCACAAAAAAACAAAAAAAATTGACACTTGGTAGAATTGAACCA +ACTACCAAAATTTCTGCAGTCATACGCACTAACCACACGGCCATGCGGGA +GACACCTCAAACTGGGATGTAGGGAAGAAAATTTTCTGGAGGAAGTCGTC +TTTCGATTCCGCTTTCTTCAATTATTACTATTTGGGGAAGACGTTCGAAA +ACCGTTTATCACTGATAAGTCAGCGGAAAACCTAATTTTTGAAAATTTTA +TCACAGGATTGTACTCATTATTGAATTCCCGAAAAGGAGACGTACAGTTG +AGGGTTATATCTTGTACACAGACAGATGTATAGAATAAAACAAGTTTTGG +CCTGAAAATTAAAAAAAATAATATCTCTTGGCAGAGCATTGCTAACGCGA +CGAAACTTCATCTTCCATTAAATAAAATCAAAAACTATGAATTAAAAATA +CATTCCGCGAAACTTTAGTGGAAAAAATGTTCAGGGGACCCAGGAAACCA +CTCCCCCCAGTAAAAAATTTTTGAATTATTTTTTTCTTGAAAAATTTTCC +CACTGAACTTTTTACAAATTTTATATGTCTCGATGCGTCTTGATGAGACC +TACACGTCATTTTTTAGAAAACTAAGAAAACTTGAAAACTGACCGAGTTA +TGATTGAAAAAGTAGATTAGCAAAGATGGGAAAGTGTGCAAAATTTGGCA +CTTATTCGTCTTGCTCGGCCGACTCATAGTACTTTTTCCAATTCTGAGTT +AAAAATCGTGTTCAGCGTACTTTTGTACGTGGGATAAAGAAAAAAAATAT +CAAAAAAGATGAAGTAGAACTTGAGATAAAGACGAAAAACTACTTTTTCG +GAAAAAAAAATTTTTTGGCAAAATGTCATTTTTTGGCCTTTTGTTTTATC +ACAACTTTTTTCCATTTGCACTTATGAACTCAAACTTTTTTTCAAAAAAT +CAGTCTCTCTGAGTAGTATCTTGCACATGAGTTTGAAACAAAACAGAGCA +AAACCCAAATTTTAATTCAATTAAAACATGCTTTTTTGGGGGTAAAAAGA +GCAACAAAAAATTTTTTCAAACTGGGGAAAGCCGTCCTGGGCTCAATTTT +GCTCCGAACTTAGTGCCGTTTTCTGCTCCACTGTGGGGCAAAATATTTCT +AGTAGGATTTCAAATATTAGAGCATGAAGTCACACGGTTCAGGAGTTGTG +AATGAAAACGAAGTGGGACATTTTTTCGCAAGCCAAAAAAAACGCGAAAA +AACGCGAAAAAGGGGCGGAGTCTGTACACTCGGCATTTATTAGAGGCTGC +TTGGCAGAAAATTATCAATTATGTATATGTATAAGAATTATATTCGAATT +TCACGCGTAAGTTCCAAATTTAGCAGCATAGCCGCCTGAAGTTCGAAATT +TAAAATAAAAAAACCGAAAAGTACCTGACAGCCAACGTGGCAACAAATGG +AATCTCATCGACAAGTCCTTCAGAATTGAATACTGCAGCATTTGACGTAT +GATAAATGACTGCCACGAATTGATTTTCAAATAATATTTTATTGATTGAC +GTGGCAGTTTGGTGGCTGAGCGGTTTGTAGTCCAATGTTGGTAGAGTTAA +TAGGTAAAGACCACCCGTCTCGGTTGCCACACACGCTTCTTCGCCGCTTC +TGGAAAATTTGGTTTTGAATTTCTAGGCCATTGGGTTAGGCTTCGTTTTT +GAAATGGGTTAGAAATGTAGAAAATGGAAATTCTAGGCCATCAATTTTCC +TTTTGCATGTGTGTAGGAAATTGGCTAACATTCTAGAAAATCGATAATTT +TATAGAAAGTGAAATTTTCGCAAAATCAATAATTCGATAAAAATCGATAA +ACTTTGATAGAATTTTGTTCATCAAAAACCGATAATGTCCGAAAAATTTC +AGAAAATTAGATTTTTTTAACAGTCCGTTCATTTCGTGGCCTAGAAACTT +ATTTCTAGGCCATGGAAGAGTTTTTCCAAGATTCACGGCCACACGTACAC +TTGCATGCTAACAATTGCGACAGGCTTATTAGAAGTCGAAGATCTTCGAA +TTTTTCGCGACAGATCCGACACTGTGAGCTTTGTCCCGCCGAGTTTTTCG +AGTCCTGATGTTCCGATTTGCCATAAAATTATATTACCATCGTCGGAGCC +TGATAAGAGCCCGTGACGACACATTTCTAGGCAAGTTACTGCTCCGTCGG +TTATCTGGAATAGAGAACATTTGGAACTTGTCGATTTTCAGAAACATTTT +ACTGTACTTTTTTATGGGCAAAACATTGTTTTTTTTAATTAAACAAAACT +ACTGATAATTGTAAAAAGATCAATTTTTTAGTGTTTGAAGATCATTTTTG +AGTTCTCTAGCTACAAAATAAACAATTTTAGAGGAGTTGCAAAATTGTGA +ATTTTAAAAATAAATTGCACAATTTTGCCACTTTTTAATGGTTTTTGATG +GATTAAACCTAGATTTTCTGAATTCAGCATACATGAATTACCGCTTTTTG +ACAAAATTAGACAACTTTTTATTTTTGTCCAATTTTTTTCAGCCATCTAA +TGACTGTCCTTTTTTTTGGGCAAAAAAATAAATTTCCTAAAAGCGTTCGA +AACTACTATATTTTGAAATATTTTGAAATAGGACATTTTTTTAGGGCTCG +GAGATCAATTTTAAGTTCTCTAGCTACAAAATGCGGAAAAAAATGTAAAA +AAGTTTGGTACTTGTGTATTATACCCCCGCCATTTTAAAAATTAATAAAA +TTTCCATCAATTTATTTATTTAAATTAAACGTGATACCATTTTTCCTTGT +TAGGCTTAGGAATGGTTTTTTCCTAAGCCTGAAATTCCACACGTTTTTAT +TTAATGAGTTAAAAAATTAACTTTTAAAATGGCGGGGGTGTAATACACAA +GTACCAAAAGTTTCTAGGCCCCATTTGCTGGGCCACAATTTATAGGCTAC +AGTTTCTAGGACACATTTTCCTGGGAACATTTTCTAGGCCACATTTTTTA +GGCCACATTTTCTTAGCCAAAAATGTACTCACAAACTTAGCAACGTGGCA +ACAATTTCAAAAAAAACCTCATACCTTCTTCTCGAAAATTATTTTATCTT +TCGAACACATTGAGATATTTCCAGAAACGTCGCCGAGAATAAATTGGGTC +GATGAGTAGAAAACTGCAGAAATTGCACAAACCGGTAGAGGAATCGAGAA +GCTCTGAAATTATTCTTCATTAATTTTTTCATGCAATTTTAATCTCGGAC +CAATCAGCGTTTTGCCACGTCTTTTTTTTTTCGAACCAATCAGAGGAGTG +GGCGTGGCTAGATGCTGATTGGTCAGTTTCAAATTTTTTACAAAATATGA +CCTACCGTAGAAGAAGAGCACAAAAGTGCTCTCGCCTGATGGGAACAGAA +AGTTTCATGAGAGATACCGCCGAACAGAATTAACGTTTTTCGTGAAGAGC +TTGAAATCATTAGAATGATATTTTCATTTCGGGTCTGAAATAATTCAATT +TTAAAGGTACACGCCACCACCGTATCCTACTTCCACATGGTACTTCTGCA +CAGTTTCCAGCGCAACTTTATCGAATTTGTGAAATTCCAAAAGCCTGTCG +TAGTTCACCTTAGAATCGTCACGCACGAAATCGTAAAGGAGGTTCAGAAC +CTAAAAGTTTGAAAAATATGTCCTAGGAAATCAAACTGTGAATTTCTAGG +CCACATGATGGAAATTCGTATGAAAATTGCGACGAGCCCTAACATGTGGC +CTATTAATTGTGGCCTAGAATCTGCTGCCTACAAGTTGTGGCCTAGAAAA +AATGTTTCCTAGAAATTGTGACCATGGCCTAGAAATTTTGGCCTAAAACA +TCCGACATAGAAATTGTATGGCCTAGAAAGTGTGGGGGCAAAAGTTTTTA +ATTTTCAATTCGGTTTTTTTTTTCACAAAATGGAGAATTTTTTGATTTTT +ATGTCTGAAATTGAATGGGAAACGTGGAAATATTGCTAATAACCAACCTC +TTTGCTAATTGTAATATCCTTTTTCACATTCTCGCCGACACCATTATCCA +CAGAATCCGTCTGAACTTCTTTATTTTCTTGAAAATTTGCCACGCATTCC +ACGTCTTTTTTATTTGTCTCTATCGTCTGCGTCTCCGACGTCTTATACAC +TATTTCTCCCTGAAGGCGGATAGGTTTTCTCCACGTGAACTGGAATAGTG +TGACGTCTTCCATTATTAGCTGAAAATTTGAGTTAAAACTGCTCTATCAC +ACTAAACACGACGACACTCGTGGCCGCGGAAATTAGAAAACTCGGCCACG +TAACTTGGTTAAATTAATGAAAATATTATAAAAAACTTTCGAAAATTTGA +AACATTTTAACTTTTTTTAAAAAAAAACACATGCAAATGTTCCTAAACTG +GCTAAATAAACAACGCACATCCCCGGCGGAGCTCTGGTTTTCCATGGCAA +CCGAGAATGCGTGCGGGCCAACGGGGAGAATGTGGAGTACGTAGAGACGC +AGACAGTTGTATAAAAGGGGCGGCAACTTGAAAAAATAAATTTCTAGAGA +TTAATCCGTGCAAAGTTGTTTTTAATTACCGATGACCGAGTATGTGATTT +TTCTAGGCCACGGAACCAAATTACGGCGGAGTTCCGTTGAAAATATCGCT +TAATTGTTTTGTTTTTTCTACCAAATTAACTGACTGAAAATCCAGTTTTT +TTTTTCTGAAATTAGGTTCTTTCAAAAATCACCTGAGTGTTCCTTGATTT +GTTTTCGTAACTTTTTTCTCTCCAACTATTACACTACGGGTGTTTTGACA +ACACAATGGAAAACATGTCTGTTCAGTTTAAAGACTGACAAGAGTCTCGT +AGTCTCTCGCGGACTAGCTTACGGCCCTTGTGGTCTAGAATATTGAAAAA +CTTAGTTTCAGTATTGTGGCCGCGAAATTTGAAAACTCGGCCATCGATTT +TTTTTCCCACACCATGGGGCAATATTCACTAGACCATTCATTGTAACAAA +TATTTCAAAACTAAGAATTAAAAAAACTCCTACGCAATTTCCCCAGTCAC +TTGGCGGCTCTCACGCTCCCTATTTCAGATGTTAACCTCATTTGAATAAA +TTGCTTCTCCCATGTGTTTTTGGATGGGATACTCCATCTTTTTCAACCAA +TTTTTTCTCCTTACTTTTGTTTTTAACGGCTTTTTTTCATATTTCTGATT +GAGAATAGGTCAAGTGATGACGTAATAGAGCGCGTGGAAGAGGAGTGACG +TCACACGTGGCCTAGGAATCTCTGCGACCACCACATGAAAAACGTTTTAT +TTTCTAGGCATCCCTACCTACCCGTGTTTTGTCTCTATTTTGACAATTTT +TTGCAAGTAAATTCCCGGCTGAAACAAGGTCACCGCAACACAAAATAGGT +GAAGGGATGATCTCTTTTTTTCCAGAGTCAGTCAACATACATAAATTATG +TGTGTCTCTTCCATTTTCCTGTCGTCAATTTGTTCACTATTCGCTTCACT +AATTCCTGCTTTGCATTTTAATGTCCGTGCCCTCTCACTGGAACTGACAT +TTCACACAATGTTTTTTTCGGTGGAAAAAAGTTTTCTAGATTTTGATATT +TGCTGGAAATTTGGAAAATTTAGCGACTTGACCGTGCAAAAATTTTGGTG +GCCGAGTTTTCTCTTTGCGCGGCCACGTTGTAATAGTTGCCAGGTGTCGC +AAGTTTTTAAAATGACCGAGTTTTCTCTATTCACGACCAGATCTCTCATT +ATAGCCGACTTCCGACTTGCGTAAAAGTGCGACGTGGCCGAGAAAAATTT +CAGTGGCCGAGTTTTCACGCGAAATCACATTTTTTTAGTTTTTTGGTACG +TGGCCTAGTTTTTTAAAACCATTGTTTATCTCCACCCAATCTAAAAAAAT +TTCTGCGGATTTTTAAACCATGGCCGTAAAAAAAAGCCACTCTCATATAT +TTTTTCGACACCTTTCGGTTTTAGAAATATATTTTTAAAAATAAAATAAA +TGGCTTTGAAATCCAAATAGAAATAATTTTCCAAAAAAAGTGGAAAATTT +TCTAGGCCACTTGAAATTTTTTCCGAGATCTTTTTTGGGAAAGGAATTTG +TGGCCTAAAAAACAAAAACTCGGCCACTATTTTTTGACCATTTTTTCCAT +GTGACGTCACTTGTGACTTACAATTCCTTTTCTCAATTTCTTATGAGAAA +TCGCTTTTTTTAAGACTTTTTGTGATTTTGTTGCATTTTCTCCCAGTCGG +AGATTACGCCACGTGGAAATAGTAAACTCGGCCACACTCTTATAATTTTT +TGGCGTCTTTTGGGAAAAGTAACAAGTTCAAACAATGTAAATTACATAGC +CTAGACTTAGCTGACCAAGGCTTGTTTGAAATATTTTTGTGGCCTAGAAA +AATAAATATTCGGCCATTACTTTTTCTTCTCATTTTTGTCAGAAGACGTC +ACTGAAAACCTAGAAATCTCTCTTCCAGGGCTGCAAATGAGTATATCCTC +CATACCTTCGTCACCGTCAATATCGGGATCTTCCACGTCATCGACCGCGC +CGAACATTTCATTTTGCTATACATGGACCACTAAGGTAAGCGGCCTAGAA +AAATAGAAAGTTCGGCCAGCTCTTAAAAAATCGATTAATGATAATTTTCA +GTTAAAAACGCGAAAAACTGCGGACGGCGAGGCGACGATTTTATCGATTT +CTCCGAAATTCGCGACAGTCCACCAACTTATTTCGTTTCAATGGAATATT +CGAATTCATGCCACTTCTGAAATGGTAAGGCTTGTTTTTTTTTGAGGTAG +GCAGGCACGAAAGCGTCTGCTTGCTTTTCGAAAACACGTGGCCGCGGACT +GAAAAACTCGGCCACCAAAAATCTGAAACTGTGAGTCGCCCTGACAGAAT +TTTTTATTTTCTCGGCCAAACAGCAAAAGCCGACAAGTGAAGTTAAAAAG +GGAGGAGCATTTTTTTAAATAAAAAACTAGACTCCTAATGACCTCAAAAA +TATCATATTTTTAAATGTAAGAGTCGGCCACGTCCGCGGTCGATTTACAC +AGTGTCGCGGCTCGGTTTTCATTAATTGAGCACTGAGAAGTTTCACTTCT +CCAATTTCAATTTTCAGAACGAAGAAGACGAAGAAGTGGACTACGTGGCA +GTTGACCTTTACCTGGTAGATGGTCCTGTAAATGAGGTGAACGTTATGGC +CGAGGTGGGGGCTCTAGAGAAAACATCCACAGCAACGTTGGGAAGCCTTC +CCGCAGGTCAGAAAGAAGCAAAGACTATAAAAATGCAAAAGGGCTCTGGT +TGTGAGATAACGGATGCAGATCGAGAATGTGTGTCGAAGTATTTGAAAGA +GAACGTGGAGAATATCATCAAAATCTCCATAATTATAAATATGGAGACAC +GACTTTTCGAACCATCAACCTATTTGGATGCAATATCTCCAACTCCTCGA +GCATCATTTCTAACGGCAAATTACAATGCGAGAGTTAACAGTAAGGTATG +GAAAAGGCGATCACGGAAAAGGAATGGAAGAATCGAGCGAAGAGTGTTAA +GTGATAAAGAGAAGACGAAGTATGAGAGTAAAGTACAAATGATATTGGAT +GAGGAACGGGAGAAGCTGTGTGATAAACGAGAGATGTTGAAGGAGGATGA +TGGTGGATCGAGAAGAGCTTCGTTGATTTCTCAGTTCAGGGAGAATCAAC +ATGAATCTGTGTTGGATGATCATATGTTCAAGAGGGTAAGGTTTTTATTT +TTAATGCCTAAAACTTTGAGATTGAGGCAGTTCAATAGGCTATATACATA +TAAGTGTGGACCCAACAAGTTTGTTACATGAAGTATTTTTTCCAGATCCT +CGTTAGCTGCTGTGAATCTTGCGAGCAACGTCGTCTATCGTTCATGTGTG +ACAGTCGAACCGAGGATGATTCTGAAGGGGAAGATTGTGAAGACAATGAA +GAAGATGATGGAGAAGGTGGCTCCGATGATGAGGAAGACGATGGAGAGGA +GCCTCATTTTGAATGTGATAAGAGTGATAAGGAGCATGTCCACGATGTAG +GTCTCCTTTAAAATATCGTCCATAAAAGCTTAATTTTTTAGATGCTAGCA +AATCTATACTTCAACAAAGTAGTCCTTCCCGAAATGGAATATGTCGAGGA +TTTTGTGGATTTCCTGATTGATGCGGAGCTCAATGACTTGCCAGTTCTCA +AAAGAGCTTGTGAGAGGTATTTGTGCAGTGAGCTGAATTCGGTAGGCTTC +TGTTCAAAAAAATATAAAAATCTAATCGAAATATTTTCTAGAAAAAAGAC +ATTGGAACTTGTCTCCTGTTGGATTTGCTTTTCAACTCGATTGTATTCAA +CTTGCCTGTTATGAAGTCGATGACCTTGACGGAGTTGGCGAATCGAACGC +ACGAGTTTGTGGATGCTGACACACTTTTGGATCAGGAAGAGTTTAAGTGA +GTAGGGTGTGCGGCAAATTTGCCGAATTTGCCGAGCACGGCAAATTTCAA +AAAAGTAGATTTGCCGAATTAGCCGAGCTCGGCAAATTTCGAAAAACTTA +TTCATAAACCAGCAGTGTGTAAAGAATTCAGTAGTTTTGGTGCTCCAAAA +ACATTAAAAAATATCAAATTTTTTCGAGTTTGTCAAGCACGGCAAATTTG +CCGAATTTGTCGTGTTCGGCAAATATTGGAAAAATAGATTTGCCGAATTT +GCCGAGTTCGGCAAATTTTGAGATTTGCCGCACACCCCTGGTGTGCACCG +TTAAAAATTCTTTTTTTCCAAAAATCTAAAACTTGAGGTTAATAATGTGA +CCGAAAAACTGAAAAAAAAAAGAATTTGCCGCTGCAAAACCATAATCCGC +CAAAAGTTTTCTTTGTTTTTTTTTCGAATTGCAGGGTTTCCGAATCTGTC +AAAATTGGAAACACGACAGTTTGCCGAAAAAATTTAATTTTTGAGTGAAC +TGTTGATGCGAAATTCATTAAATACGATTTCAAAAAGCTCGGTCACGTAT +TTGTAATTTTAGAGTGGGATTAGCTATTTAAAAATTACATTTGTAATTTC +CAGAAACCTGGATAAAAGAATGCGAACGCTTGCCGATCGGAATCTCGTGG +AGCTCATCGAGCAATGTGTTACGTTTCGTGACCAAAAAGCAAGAGTTCGC +GTTTTGCCGACCGCCGAATCATTTGATATTTCGTTCGACTTAACTAATCA +ATAATATTATCGTGTTACTTTTTTCCTCTGTTTTCTTTCTCATTTTTAAA +AATGAATGCTTTTTTCTTTTTTTTTACCCGATTTTCCACACGACTAACTC +CAAAATCAGCCGCGCCTTTTTGTCTTTTATCCCTGCTTTTCCACACATTT +ATCAAATAAAGAGTGCAACGAAGTGCAAAATGGGAAGTAGTAGTGCTGCA +ATCTCATTTAGAGTACACTTTTGGAGCTCTTTTCTCCAGATATATTATAT +GCTGTAGATGGAAACTTTTCCAGTTTATATATAATATTTTTCATTTTCCA +TATTGCCCTTCACTGCTCATCATCCAATGGGGTGCATCTAATTACGGCAA +AGCTTCGCGGATGGGGCGAGTAATGAGCAAAAGAGCACAAGGATGGGGCT +CTTTTGTTCCTCATTTTCATTGCTTTTTGATTTCATTTCCTTTTCAACAT +GTTTCCATTTTCGAAATTAATCGGCTTTTCTGACCCAGGACTCACGGGAG +ATGAAAATTAATCTTTAAGAATTGTGCTTTGAAAAACAATATCATACACT +TTTCAAACTTCATTTCTCCGTTGTTCCCAGTAAATTCCAAGCTGTCATCC +ATCAACTCTCTGATAAAAAATAATCATTTGGTCCGTCCGTCGCGAAAATG +AAGTGAAAAAAGTTAATCCCGGCATGTTGAAATACACATTTCGTCGCGTG +GAGTATAGTTATGCTTCGATTTCTCAAGAGGATTCTTCTTTCCCCCTTTT +CATATTTTTTCGGGCAAAGAAGAAATCTCTGTCACCCCCCGACTAAAAAA +CGCTAAAAATTCAGCGTTCATTGTTCGGTTTTCCGTTTCAAAAAGAAAAA +AGTGTGTCAAAAACTCAAAAAGTCACCGCCTAAAGTTAGTTAGCACCTTT +TTCCATTGTGAAGATTTTCTTTCCTTCAATACAACTACTACAGTTTGTTT +CCTGTGTGTCGTCCTATTGTTGTGGGTGTAATTGTTCGATAGAGCGCGCT +TTACAAAATCTCTCGAATTAATTGAAAGTAGTGTGTTGTAGAGACCTTGA +CTCCTTTGTCAACACTGTAATTAGGAAGGAGTACACCGCCGGGCGGGTGA +GAACAGTTATTATAACGATAGTGGTTTGTTATTGTTTGTTATTAATAGGT +TAGTTGTCTACTTTAAACGTTTTTTGTTTGAAAAATTTCTGTTAATTAAA +AAATACATAATTTATAAAAATGATGAGTTTTTTTTTCAAATTTCTCAAAA +ACCGAACCCATGGGGTTTTTTGAGAAAAAATAAGAAAATTTTTCTAGTTA +TTCAAAAAATCTATACATTTTAATATCTGTAAATTGTAAATTTGGAAGAC +AAAATTTTGACAATGCGTATTGAATTTGAGTTTATTTAACTTAAAGAAGA +GAAATAGACAAATAAATAATTATATATATTGCGCAACATATTTGAATAAT +ACATTTATTTTTCGTAATATTTATTTTGAAAAATGATTGAAAATAAAACT +CGAAGAAAACTATATTTAAAAATGTCGGTGCTTTTTTTACATTTTTTAAA +CGAAAAAAAATGCGAAAAAAACCAATTTTCCGAGTTTTTTCTTCAAAATA +TTCGTCCCTGTTCATGAAAAATGTTCTCACTTATGTAAGTAGTTGTCACG +CAATGCAGTTGTTGACCAAAAATTATTTTCCGAGTAAACCCTATAATTTC +CAAATTCTCTTCTTCTGAAATTTTGAACTTTCCATCGGGAAAATGTCATT +TCAACTCGAATTCACACTAATTATACATCTGTATAATTATTTAGATTCGT +ACTTTTTCCTCCTTTTGAAAAAGTGCACAGACACCGCCGTTATCTTTACA +ACCGTCTGGCAGGACCGGTGTTGTAGGCTTTAAATAAATATTTTTCCATA +AATTTCTTAATTTTTAGCTGAAACGATTTTCCAACAAAAAAAAACGCACA +TTTAAAATGGTTACCGTATTTCTTCTATCAATATGGCTGCAATACTATTT +TTCGATGGTCTTCCCGCTTGCAATACTAATAGGGAGTGCAAGACTATTAG +GGAGTGCAATACTAATTTTCAGAACATTTTTCTGACTGTGAGCTTACTAT +TTTTTTTTCTGAAAAAACTCGAACCTTGTGTGAAAATTCAGAAAATTTGA +TTGTAATTGCAACAAAAAGGTGTAATTACTTCAATTTCATAGAAATTTTT +CCAAAAATTGTTGCACAGTAGGCAAAAAATGTTGTTAAAATCTCAAAATT +AGTGAGGTGATTTTGTACCAAAAAAAAAGTAGACGCAAGACTATTAGGGA +GTGCAACACTAATTGGGAGTGCAATACTAATTTTCGGAGGGTGTTCAAGG +AGCAATACTAATAGGGAGTGCAAGTCTAATAGGGAGGTCATATTAATAGA +AGAAATACGGTAAATTTTATATTTTTCGGTGCATTTTCATTTTAAAAACA +ATTTGTTTGAAAATAATTATTTTTAAAAATCGTTTTCTTCAAATTTTTTG +TAATTATAAGAAACCAAAAAACCTTTATTTAATTTTCAACAAGTGTATTT +TCTAATTAAAACAATTATGAAAATTCACAATAAAAGTTCAGGACTGAATC +CAAAAAAACTTTTATTTCAAAAACGAAACACCTTGTTTGCCAAAAACCTG +GAAAAGCCTGGAAACCTGGAAAATCGAATAACATCAAATTTTGCAAATTT +TAAGCGTTTTCTCGAAAAAGTTGACCTGAAAAAATAGGATTTTTCAGTTT +ATTTTATAAAAAAGCGAAAAAAAGCAAATTTTTTGAGAAAAAAATTGCCT +AAATTTTCGAAAAATCATTTTCAAAACTATTCACGATTAAAATTCGTTTA +TCCATTTCTCCTTCAATTCTTCCAGATTCGAATGAAAACTTGCTCAGAAA +AAATGCTAAATTTGCTCTTTTTCGTATCCACTACTACTGCTACTACTAGT +AGAAGTTCTTCATTCGGTGGCCGGACTACTTTGAATCAAATCACATTTGT +CGGGAAGAAGGAGGTCGTGCCTTTGCACTTCTGGTCACTCCAGAAATTGA +AGAAATTGAGCAGCTCGAGTTTTGGAGTATTCCAGGCAACTCGGTCGTTT +TTGAAAACCTATTCTATGAAAACTGCAAACTATGTGGCTTCATCTGGTCT +GGCTGGAATTTTTTGTTTCAAATTTTGACCCAGTACCTTGAGAATCAACC +AGTTTTCCACGTATGCTAAAATCCGAAAAAGTGACTCACACGAGAAAGTT +TCAATTTCCGTGATGACGTTCGCCTGGCTCTTCAGCTCATTCTTTTGTCT +CCAGAGCTCTGGGGAGCTGCAAATGAGTTGAGAGCAAGCACATTGCGTGA +GCAAGATAGCTCCAAAAGATATGAAGAGAGCAGGCGGGAGATGAAATTGG +ACGATGAAAAGTCGCCAGAAGCATAATTTTGGTGCGGCGACACCCGAATA +ATGAGACATTTACGACTTTTTGGAACATCTTCTACGGCCAGAATGTTTCG +TAACATTTTGGTAATTTGAGTTGTAGTTTTGAGGGGCTTTTTTCGATTTT +TAAATTTGTATTGACTCTTATTCGCAAAAAAAGAGAACTGCTATAGCACG +TGTAGTCAAAATGTCTTTTTGATCTTCAAAAAATGCGGGAGTTAAGACGC +AGACATCTCATCTGATTCGCATGGCTAAGAGCGTGCTGACGTCACAATTT +TCTGGAAAAATATTCCCGCATTTTTTGTAGATCAGGCTATGATGTGTGTG +TTCAATGAGACAGCCTGACACGACGTGATGTAGTTCACATTTTTCGGCAG +TTTTTTTCCTGAAAAATGTGGATTTTCGTTTTTTCTTAAGTTGTCAAATT +ATCGAAAGCTACTAAGCTTGAGTAACTTAGGAAAAGTAGGATTTTAAATT +GTTTTCACGGGCCTCGCAACGAAAGATCTCACTACTATCACCAGAAATCC +AAAAAAACGAAAATATTTGTCGTGCCGAGCCCAGGCTCCGTATTTTTGAA +GCGAAATTCCTAAACTCCCTAACCGCTGAAAATTTCTGAGTTGATTTTCC +ATCACCTTCTATATACAGTCTTTCGACCCGAAAACGATTTGAATTCGGCT +TTCTCCTCAAATCCTCTGTATTGCATCCTCTTTCTTAGTTGATTTATTTG +TAGCGGATTCTTCCCCTTCCCATCCGTGGCGTTATTGTTCGGTTACGATA +CGCTTCTTGTGAAGGTTATATGCAAACGACTACTTGCCATTCGATTCTTT +CTCCAAAAACGGGTTATTCCATTTCCTTCAACTAAGGAGCTGTTTTTTTC +TTGGTTTTTTGTAGAAAACCTACATTCAAAGTCGAAGTAGTGAAAGTCAA +AAATTACCAAATTTCGCAATTTAATTTTTAATAAAATGTCGCCCGAATTA +ACGATAAGTTAATAAGAACAAAATTCAGTTAGTCCGAGAGTCGTGATTTG +CCGATTTAGAACAGCATTTAGCTGAAAAAAACGATTTTTTTCCAAAGTTT +GAACTGCCACTACATTTTTCTCAAGTATTGAGAGTTTTGAATTTCCATCA +TTTAGTTGTAACCACACTTTTCTTCCGATTCCCATAGCAAGCGAAAGTTG +TCTTGTTTCCGAATATCTGACCTAACTTGGTTTTTTTACGACTGATGCCG +AATTTTGAAAAGTTTATTAGAAACTTTCCACGCTCTCCCCTTTCCAACCT +CGCAAACCCTTTTGTCTGTAGTTGGGATCTGTTGCTTTTTTGGGCAATTT +TTTGCCAGCTTGATCTACATATCATTGCTTGATCTACATATCTTGAGCAA +AATTCCAAAAAGTACGTTTTCTTGTAGATTAATTTGTGGGTTTTTTTTGA +GAGTTTTGAGCTAAAACTTGCATGGCATATTTTTTTCACTGTTTTAAATC +ATTTACAAATTATTTTTTCCTCTTTTTAGAAAAAAAAAATGTTTGTTAAA +ATTTTGGAAAAATTTCAAAAAGGTGTTTTATCCACTTCCAAAACGTCATA +ACTTTGCTGAAACTGGACCGGGGCAGCTAAATTTTTCGGAGTGATCATTA +TTTTCACTCTTTTATCGAAAAATTACTATGGCATGCCAAGCCCGGGGACC +CATTTTTTCACTTCCCTTGTAAGCCGAAGCCTTAGTCTAAGTCTAAGCCT +ACGACTGAGCATAAGCCTCAGCCTAAGCCTAAGCGTAAGCCTCAGCCTAA +GCCGAAGCCTAAGAATAACGGGAAACTTTTTTTGTTGCTTTTTTTTGTTT +TTTTTCAAATGCCGAAAAATAATTGCGGCATTTGAATTATGACTTTGTTG +TTCCTAGAGATTCTGGTTTTCAAAATAGGCAAAAATGCCATGAACCTTAA +CGATGTTCTTTCTCCCCGCCCTTTGAACACTCTGAAGTTTCCCGCCATGT +CAACCTTTTTTGATCGTTCGGCACGATAACGTTCTGAGTGCCGCGGTGCC +CGTTAATTTCCATCGAATCGTTAGGTTTTCTCCTTCGATTCCTAACGATC +AAGCCATAATTTATCCGCAAAATGGGATTTTCTCCCTTTTGTGATGATGA +TGATGATGGCCTCCCTCTTCTCTGCGATGACAGTCGAGTGATGAATGTCT +TCCTTCACACTTGTCCGTTTATCATTTATCACTCTGTGCTGAAAACCGGT +CTCTCTCTTCCCCTGACCTCTTCGGCTTTGTGAAACAGTGAAAGAGAAAC +GGAAAACAGGCGGTGTCAGATGGTTGACACGTTGATGTCGTAATCCATTT +AGTATTAATGCTACTATGTACGCCATTTGCTATATATGCCCATATTTTCA +ATGGCTTTGAGCACAAGCTTTCAGAATTGGCAATCAATTTCTAAAATTTT +AAAATTTTGAAAACCAATATATGGGTGGAGCCTATTTCTTAACTGTTCCG +TAGTTACCGAAAAAGTCGGAAAGCGCCGATTATCTAATACTTTCGAATTC +GGCAAAACTGAAATTTCTTCAGATTTTTATGATTTTGAGAGAAAAAATTA +TATTTCTTTGCCAAAAAACATGTATTACTTAAAATTTGTTTGTTTTATTA +TTTGAGCTCAATAACTATCAAATTGACAAACAATTCATTGGCAAAAATGC +CGAATATCGTAAATTTGAAAAAATCGGCAATTCCCGAATTGCTGCACACA +TCTTGGTTTTTTGAGCTAATTAATTGAATTTTTAAGAACTTTTATTTTGG +TAATCTAAATTTTAGTTACTGAATTCATTGCGAAAAAAATTTCTTCAGAA +TAGGGCTTCCATGTAGGCGTCAAAAAGCTTGCCAAACCTTAAGACGACCT +CCGCCTGCCTACCTCAATCTATGTGCTGAAACATATGCGAACTTTTTTTG +CAATTCTTGATTTGGTTTTCATCAAATTGATAGAAATGAGAAAATTTAAA +ATTGAAAATTTACGCACAAGTACAAAAAAGGATTCAGGCAGGCGTCAGGC +CGTGAAACCCCGCCTGCTTACCATGGAAGCCCTACTGCAGAAAATGAGAA +ATCTGATGTTCAAAAAAAAAAAGAAACCAGCCGTGTTTTTCCTTGAAATT +CGAAAAGTTCCCCGATTTTCCCCTCATTTCCGGACCGTTTGTTCCCATGG +TGGACCGGTATTTTCACCACTCCGTCAAAGGCGATTATCGGGTCTGTCTG +TCGTCGACGACCCATCACACCAAATCGGTTGAATTGTCGCACCCCTTTTT +TAATCGGCAATATATTTACTTTTTATTTGTAACTAAGTAGTAAACAGTAA +TAGTTTTTGCAAGAATATGCATAACACCTTATTTCACTTGGTAAAGTAAT +TGAACTGTTGTAATTGAGCTGAACATGATTCACCTACGAAAAAATGCCTG +TGACCTAGGGCTTGCATGTATGCGTTAAAATGGCTGCCTGCCTGACCTGA +AGGCAGCCTCCGCCTGCCTTTTGCCGGTTTATGCTAAAAACACGGTTTAT +GCTACGTGAAATTATTTTTTCATTTTTAATTTGATTTTCAACTTTTGAAA +TTTGAAAATTCACGTCAAAATGCAGAAAAGAAGGTGAGGCAGGCAGGTTT +CAGGCAGGCGTCAGGCCCTGAATCGGCGCCTGCCTATCATGAAAACCCTA +CTCTGAACTCGATTTCGCCCTCCAAACATCAATTTCCGTCATTCTCCTTC +CGTCCTTTTTACCCACTTTTTTAATGAATTTGAAATGAGTAGTCGAGGGA +AATTTAGTGAACCTACTAGAAGTCGCCACGGTTTTCAGCAGCAAATTTTT +TAATTTCGTAGAAATATGTGCTTCTGTGTTAAAATTAATAATAGCTAAAC +TATTGGATAATGTACTTTAAGACGTGCAATGTCACTCCATATTTTATAAA +ATGTTGAAAATTTTGGAAGGGATCGAGGAAGTTTTGATACTTTTTAGAAA +TCGAAAATTTTCAATTTCCGATTCCCTTCAACATTATATACCTCAACAGT +TTAATAAGATACAAAAAATCTTCAGAGAGTCATCTGTTCGCACACAGTTT +TACCCCTATCAAATTACAGATGTGTTGCCTTGCACATCTGTGAGAACTTC +ACACTATTCTGCTACAACAGATTTTCGGAACAGAAGGTGTGATGTTTCTA +CCTGACTATGAAGATTCACGTGGGCGGCAATCCAAATTTTTTGAAATTTG +GAGATTTTCGAGTTATCCATAAAAGATTCCGTTAAAGAGAGATCACAATT +TTTTTTGTAGATTGACAAGAAAATTACCCCAACAATACTCAAAACAATTG +TAATTACAATTGAATTATTACTTTTCAATTCTTAATTTTTTAAGTGCTGA +AACTTTTCTATTGACGTTAACCCCTGCAAAAATGCAAAATTGATCAACAT +CTAGTAAATCTACTAACAAGGGAAGTCTTTGAGGGGGTCCGTAGATTTGG +GGTTTTCATGCTAAAATTCCTACAGAAGAGTGTTAGTTATGATCTCTCCA +AACATTTTTGCGCATTTTTAAAGTGATTTTATTCTTATTCGGGAACCTAG +AATCATTGTCCGCACTTTTTGGAAATTTTTATTTTTTTCATTTTTGCTCA +AAATTTCTTGATCAACTCCAAGCAAAAAAATCAAAGTTTTTCAACAAACA +TTTTGTTAGTTGATCATTTTTCAAAATAATTTATCTCAACGAAGTTATGC +AACTTCAAAGTTGGTTAAATATTTTGCACAAAGTTCGTGAGATGTAGATC +ATTTCGACGGTTTACTTGCGAATAGAGAGTTAAAACTTGTGTAATGTACG +TTTCATACATTTCTGAACAATAAAATAGCAATTTCATACATTTTTACAAA +AATAAAAAATTTCCTATTTTTGCTTGGAGTTGATCAAGAAATTTTGAGAA +AAAAATGAAAAAAATAAAAATTTCCAAAAAGTGCGGACAATGATTCTAGG +TTCCCGAATAAGAATAAAATCACTTTAAAAATGCGCAAAAATGTTTGAAT +GAGTTGTTTAAAACTTTATTCAACTTACAAAAATATTTCAAAAATAGAAG +GAATCGAACCAAACCTTAAATATTATCAGACGCGCGCACTCCCAACTCGG +CCACCGAGGACAATTTTCAACTCAATGTGGTGGGTGTCACATTTTCGGTG +GTCACGCAAGCTGAGATTTGCGTGGACTGCATGGTAAGACAGTGGATTTC +AATGGTGTTTTTAACTTTCAAAACGTCATAACTTTGCTGAAACTTGACCG +GGGCAGCTAAATTTTTTGGAGAGATCATAACTAACACTCTTCTGTAGGAA +TTTTAGCATGAGAACCCCAAATTTACGGACCCCCTCAAAGACTTCCCTTG +TAAGTCAAACAAAAATTCTGTATTTTTCAGAGTACTATACATAGTATATA +TTTCTGAAATTCTCTCAACAAAATCCTTTCCCCTTCCTCATTTTCCCACG +TAAAGTAAAGTCAAAATACATTTTAATTACCATTAATACCTAAATGAACC +AAACAGGTCGGTCTTGCCCTCAATTCTACCATTTAGTCTCACGGCTTTTG +TACTTGTTCACCCACTTCCCCCATTCTATAATCCAACCACACAACTTTTG +GCAACAAAGTGTTCAATCGAAATGGGACACTATTTGCTATTCCTATAATT +GACAGGCTGGTGGAAGGAGGAAAGCAGCACACGACGAAAGGCATAAAACA +ACTTGGCGTTGTGTTAATCCCACCCGTATTGCATTCTATATTAGGTCGAC +AAACAGTTCATTCATGTCGATTTTCGATCATTTCTCAGAGTTTTGCTTCG +AATTGTAGGTTCATGGAGTTAGCCATTCTGTCTATTTTTTCCGCTGAATT +TTAAGATGTTTAATACTTATTTGCCACCTTTTCGACGGAATGACATGTAC +CGGTCAAATCTTGGAATCGATCTAAGAGATGACAATTTTGAATGTATATA +CTCAAAATGGGCTCAAATGAACGAATTTCGTAATGAATTTTTTAAAAACT +TTTTTCAAAATTTTTTATGGTGGTTCAAAGTTTCGAAAAAATTGACCGGT +ACATGTCATTCCGTAAAAAAAAACGCGCTTCTATCTGAAACAACAATTTT +TTTGATAAAAACTTTCAACTACAAACTTGTTCTTTACAAAAAGATCAACA +ATTTATTAGTTGAGCACTTTTCTGTACAAAAAATTATCCGCGCAGATATG +ATCTACCAAAGTGAATTTGGAAAATTGGCCCGTCAATGCTTCGTTGCAGT +GCTATTTTAGGATCTTTGAGAGCTCGCCGTGAGCTTGGCTCTGGAGATTC +GCAGCTAAAAAGGAGTAACCGTTTCTTTAGGAGTAACCGTTTCAAGACAT +GGGCTATCGAATGGCATAGGTCTCATATGCAAGTCCGATGGGCACCTTCT +GACGGTTCCCTAGTCAGATAGAAGCCAAAATTTGGGCGAGGTATGCCCAT +TGTCATTCTAACTGTCGAAAAAGTGGCCTCCGCCAAGACGTGATAACTAT +TTCTCTCAATTACTCTGCACTCCCAATAAATCCTACACACCGTTTGAATT +GAGTCATTCAAGTGTCAGTTGTTCAGTTTCTAGCAGTTGATACGTGTGTG +TGTGTGGTGGTGGTCAACCAACTGTCGCCCTTTTGAACACACACACACAC +ACATACTTTTCCTGCCATATTCCTCCCCAAGAAAGAGAGAAAAATAAGTT +GCATCTTTTCTTTTCTATATCTCTATCCACTAACACACCCTGTTATTCGC +ATGTTCTCTCCATTCTCCAAACAACGCAATCAGTGTCCGCCTAAATCTAC +ATAATCGATTCAGGGGGAATTAACTGTGTAGTTTTGTAATACTTTTCCTT +AAGGTTCTTGAAATTTTATATTTATAACCGACCGATTATGCCTAATTATA +ATTATAATTTAGAGAATTTTTCAATTTAACAACTATTGCGATGTTTTGAA +TTTTTGATAAAACCGGAGTATTTTTTCAAGAAATTCTGTTTAAATTAGCT +GAAAAATTTTGATTTACTAGTTTTTGGTTTGCCTCAAAAAAAATCGGTAA +AAATTTTTTGGGGCTTTTTTCTCAAAAAAAAAAAAAGAACGATTCAGGAG +ATTTTTCATAACTTCGAAACTTAGTGCAAAATCTTTTACGGGGTGTCGAT +TTTTTGATATTCGAAAAATCGGGTTATTGCTCTATTAAGAAAAATTATTT +CCTGGACATATTTTCTGAAGAATTCCTCGTCTTTTCCCATTTTTCTACAA +TTTTTCCTGATTTTTCATAAAATTGAAACTTTCGCTGTTCAGTTTTCCCT +TCAAAATGAATTTTTTCGACGACGAATGTTCAGAAAGTTAACAAATAATT +TTAAGATTTTGTCAAATTTTCACACACGTACTTTTCCACCAAAATTGACA +AAAAACCCTAAAATTTAATTTCTAAAATTTTCAAAAAATCGTGATCCATT +CTTCCTTATCATGTTATGTCTTGCAAGCGTTGCCTCAAAGTCATCAATCA +GCTAGTTGTCATCAATTCAGCGATACTTAGAGATTGAAAGAATGAGTAAT +TCATCCTTGTTTCTTCTTCATCTCCTCACTTCACTTCCAATTTTCCATCT +GTTACCAATCAATTTGGCCTGGCGATTAGTCATCTATTTGTTCGTCAAAT +TTGGTGCAAATTGGCTCGTGTCACTGATAAGTGGTTATTTTTTCTTTTTG +GTTGATAAGGTTACCTGATAAGGTCATTTCCTTTTTGCGCCTTTTTTCCA +GTAGTAATTCCTCTAATGTTCGTTTTGAAGTTACTAATCGAAGTTGTTAA +AGTATTAGATTTTTTTAAAATCAATAGGAATGTTTTTTTAATACAGTGTT +AACAAAATTTTATGTTTTAAAAAGTTAAAATAAATTTTAAAAAATCTCTG +AGTTGAATTGTTAATTTTTAAAACTATAAACAGCATTGGCATTCATAAAA +AACAAATTTCGACAAAAAATTCGTAAAAATTGCTGAAATCGCACTAAAAA +TACTCAAAACACTGAATTTTTTGCTCATAAAATCTGGAAAATCAAGTCGT +TTTACTTGATATTGCCATAGGAAATTACAAAAAAAAAGTGATTTTATTAA +AGGCTGGTCAAAATTTCATATTTGAACAACGTTTTATAAAACCGCTGTCA +GAGTAGAACAATATAGGTGTAAAATGTAGTTAAAAACTATTCTTCGATTT +TCCTACATTTTTTTTTCTGTAAATTGAAGTTTTCTCGTAGAACAAGAAAA +TTTAAATTTAAACCAAGTTTTTAAATTTTCAATTAAAAAAAACTACAATT +TTCGATTTTTAATAAAACATTTTAAATCCCAATTTTTCTTTCAAACATAT +TTTCCAATGCTGATTCTGAATCCATGAAGTCTTAACACTTCAATTTCAAC +ATTCTGTTGCAACAAGTCGTCCCATCTGACCAATAACAAGGGCTCATCAA +TCACTGACGAGGGCCCCCGGGCGCCGCCATCATTTTCCTCTCTTTCTCTC +TCTCTCTCTCTCTCTCTCTCTCTCTTTGTTTCTAAAAAGAAGGAAAATGA +GCTGCAATTTATCAAATCCACGGTCTTTTTCCCTCAAATTCTCTGCCTCT +CTAGTCTTCTCCCTCATGGTCATTGTCGCCACATTTGTGACTCACAAAAT +GGGCCGTATTATACAAAAATAATTAAAGTTCAATGCGTATGCGTGTGTGT +ATTTGTTGCTGGGTGAGGGCAAATGCACATTAGCCACCCACAACAAACTT +ACGTTTTTTTTTTTGTATTTTGCCTTTTTCTTCTTGAAGAATGGTGTCAC +ATCACATTACGACCTTTTCTTTGTTACGGAGAAAAGAAGATTGGAGCGGA +ACTGACTGAGGTGTGAATACTTTGTTGGTTTTTTTGGCTATACCTATTAG +TTACCTTATTTTTGAGAAAAAAAAATTTGAAGCATGTTATTTTTCGAGTT +GTTGGTAGGATGTTGATAATTACTGTTATCGTGATTTTCTTATTAGAAAT +TAATTTTTATTTATTTAGTAGAATTGGGGATTTTTATTCAAATGATCCAA +AATAATCTTTCGACACTGAAATCACGACCATTTTTGAGCCAATCAACGTT +TTCAAACTCCGCCTACTCTGTCTGATTGGTAGGAAAAGTGGGCGGAGCAA +ATTGCTGATTGGTTTCGAAGTTCTCGACTTAGAAATACCAGAGTTCATCA +AAACTGAAATATTGCGTTTTTAAAGGATATATTATTATTATTATTATTTT +CTCTCGATTTTTTTATTCTGTGGTTGCTCTGAATTTCAGATTATTCGAGA +TAGTTTTCGATAAAGCGACAGATTGTTCAGTTTCTGAATTTTCCATAATT +TATCCTCTAAAAGTGAAAGTCAAGGTTTCGTTCTTTGCAAAAAACTCATT +TTTTTGAGAGTTTTCGGAATTTTGGCTCGCATCACGCTCCAATAAATTAA +TTCAAAATTTCGGAAATTATTAACTTCTTCCATTTTATCAATACTGTGTT +AATCTCACTTTTCTAATTTGAAACAAAAATTGAATTTTCATCGATTTCCA +AAATACTTTACATGCTTGGCAATTGAAAATTAGTTTTGTTTTTCAAATTC +TCAGTTTCCAGCCACTGAAAACATTGCGAGCCTCCATTGGGTCCGCTCCT +TCCTTCCGAAACACATTTCCCAGTACTCTTTCCAATCTGGTCAACATTTG +AAAGGCTGTTGGGGGGTCGAAAGGCAATAAACAACCGAAAAATAGTTTAT +TCCAATGTCATCGAATCCTCCCTGGCTTCTCATATTGTTGCCAAAAATGA +TGATGGAAATTGTTTTTCGTTTGTATACACACACATCATCCTGTGCCACA +CCTTTTCCCCACTCTTTTTCCCGACGAGCTTTTTCATTCGGAAGGCGACA +CAGATAGCAATTACCGACATATGGAACCAATCGTACTCTCTCCGCTGACT +GCGACTACCTAATTAACCTTTTATTGAAAAAATGAGAGAGAGAGAGAGAG +AGGATATGAACGGAAGAAGAAAAAGAGGCAAAGCAATTGTTTACTTGTTT +TTCGAAACAATTCAAAATTTTGTTTGGGCTGTGCGCCTTTAAAGATGGAA +AAAAAACGGAAATTTTCCAGCAATTCGTTAATTTTTTTGTCGGCAAATTT +GGCAAATCGGCGAATTACCGGTTCGCCGATTTGCCAGAAATTTTCATTTT +CGGCAACTTGCCGGTTCGCCGATTTGCCAGAATTTTTCATTTTCGGCAAT +TTGCCGGTTTGCCGTTGCCGGAAGTGTTTAGAGGAATTGTTTATGAGACG +GAAGCACTGTGCCTGTTTGCCAATTAAAATTGAAATTCTGAAATTTCCAA +AAAAATGTGCACAAGCACCATTTGCCAAAAACTTTTTCAGTTGCCGGTTT +GCCGATTCGCCGGAAAATTTAAAATCCGGCAATTTGCTAATTTGCCGGAA +AAAATCGTCTACCGCCCACCCCTCCACCGAATTCGGAAATTTTGTAAAAA +ATAACTTTATTTTTGGGCCAATACGATACTACTTTTCCTAAAAAGAAGCT +GTTACAGTAATCAATGTATCATCTTTTCCATCTCGAATGGTACCTGTGTT +TACCTTAACTGTCACATAACTGTGAAGAGTACTTGAGATGACAAGTAGTC +TTATCAGAAAACCTCCCCGCTTACTGCTTCTCGGGTGTCGGGTTACCGTG +TTTGCTGAACGGTTTTTCGTAGGGATTACTGTAGAGAATTGGATGAGTAG +TTGGGATTAGGCGATTAGGGGGAAATTGGAAAACATGTCTGTGCACTCCA +TATGTTTCTAATAAGAATCCTTGGAAATTTGCATATAACTCAAGAATGGT +ACTGGTCCAGTTTCGTTTTGTTATCTTGATTCTTCGAAATGGTGCTCACT +CAACTTGATTCCATCCCCAGGACGCTAGTTATTTTCGTAATCTCCGCGTT +CGATCTCGAGCTCCTCCTCTATGGAAATGTTAATTTGTGAGGGCTATCGC +GTCCACAGATTTATAGCGTCCGTCGTGCGGTTTCGCTGGGTTCTCGCAGC +CACCCCCCCCCCCCCCCACTCATCAATCGCGTAAACTTTTTGTGAGCACG +CAGCACACAATGTGCTCAGGAGGCTTCTGTCTCTTCGGAGATCCAACATG +TGGCACCTCCTCAAAGTGTTCACTGGCCTCCTCGGCTCGGCAGTCAAATT +TATTCATCTCTTTGGAGATTGGCTCACAATTTTTTTGATTTGAATTCAGT +GACTATTTATCGATTTCTAGGGCTTCTATGTAGGTTGCCTGTGTGCCTGT +CGTCTGACGTTAAGGCGGCCTCCGCCTGCCTCTCGCCTCAATCCGTGCCT +TGTGCCAAAACATACGAATTAATTCGATTTTTATCAAATTGATAAAAATG +AGAAAATTAAAAATTTGTAAATTCAGACAGGCCTGAGGCAGGCAGATTTC +AGGCAGGCATCAGGCTCAGAAACCGCGCCTGTCTACCATGGAAGCCCTAC +TGCTATGTAACGTTTGAGATATTCGGTTCAGATAAAATAAGTTGAAGTTA +CGCGAAGAAATTCTGAATTTTGAATATTTTCCAATAGTTTCTAATAGTAT +TTAGATGTTGTATTTAGATACTGTTGCTACAAAATTTTTAGAAAATTCCG +TGGTAAAGTTCAAAAGACTACTCTTTCTCTGAATATTGGTTAATAATATG +AATCCGTTCTGCTTTTTTTCCGTATTCCAATTCTTGACGACTTGATATGA +AGCCAGCTCAAATAATAGGCCTCCCACGTAGTGTCAGGCTGTCCCAATAC +GGTTTGATCGACAAAAAATGCTGGAGTGTTATGCCCTTCAAAATGTGACG +TAAGCGCGCTCTTAACCATGCAAAATCAGTTGAGAACTCTGCGTCTCAAC +TCCCGCATTTTTTGTAGATCTACGTAGATCAAGCCGAAAGGATACACTCT +GTCACCACGTGGCCTCCTAAGGACTATTTTGCAAGGACCTAATTTTCTGA +ACCTTCACAAATTGATCTGCACCGTTTGAGATCGATTGAAAAGTTCTAAA +ATTTTCTGTCCTGTATACTTTTTTCTGTACATAAGTCCTACCGAAAGGGT +CCCCCGCGGTAATAATTACCCGTCAAAACAATGTGTACTACTAGCCGAGA +TATGAGTTGTTATTGTTGTCATAATACAACAAGATTTGGATCACCGCCCA +ATTTTCTTGTCAAAAAGTTCCGCTTATCTCGTTTTCTGCTAATTAGAGAA +TACTCTATGGGAATTGGTTGATCCACTCCATTAGTGAATGTTCCCCCAAT +AACCATGGAGCTGTTAGAACAAAGACGAAAACCCGCCAGAAGACACACCT +TCTTGAGAGCAGGTATTAGAAAAATGAATGAAAGGAATTGGGAGGGGAAC +CCGCGGTGGCCGAGACTTCCCACTTGACCCGATTTGTGCACATACGCAAT +ATCGATGAGGAGTGGTGGTCCATTCGATACAGTCTTGCACCATGTTTGTC +GAAATGCTATTTGGTTGGCTGGCAGATGTTTTTGGTCCAATTTTCTTGTC +AAATTTTGTCTTGATCTGACAGATTTTAGGATTCTTGGAATTCGACTCTT +CACCGAAAAAATATAATTTTTCGGAGTTTGTTCAATTTTTCAGTATCCTG +ATTGGAACATTTTAATGTTTTACAAAATTCGATTCTAAATTTTAAAGCAC +ATTTTGACCTAGTAGGACTTTCGGAATTTTGTAGCCTTTATAAAAAATCG +GTGGCCAAGTTTTCTATAATTTTTTTACGTTTTGAAATTGCCTTTTTATG +AATTTTAAAATGTGGAACATTTTTTGAATGACTTAGTTTTTCAAATTCCA +CGTAGTGTCAGAGTGTCCCATACCAGTTTAATCGACGTTGATCTACAAAA +ATCGCGGGAACTCTGACGCAGAGCTCGCAACTGATTTTGCAGGGTTAAGA +CTTGCTGACGGCACATTTTTTGGGAAAATTTTCCGCATTTTTTTGTAGAT +CAAACAAATTTCATATTGCCTCGATTTGTTCGCTATAGTTGTCTAGTTTT +GAAATCGTTGGAATTTCTTGAAATTCGAGTTCTTGAAACATTTAGGTTTT +CACCTAGTTTTCTCTGCGTGTTTTTTGTGTTGAAAAAACGGTTCTCAGAA +ATTTGACTGCTTTGAAAATTTCGAATTTCATCTCCAAAAAAAAGTGAACA +ATTCGTATTTTTCTAGAATTTTTGGAAATCTCTTTAAAATGAGTTTTTCT +GAAACATTTTAATCTTGAAATAGTCAGAGTTACGTCAAATTCTATTTTTT +GAGGAATTTATTTTTTGTGAGAAGAAAACAACAAATCCGCAATTTTTTTC +CGAATAATTAACCAATCCAAGATCCCCCCTCAAACCGGATGGCATTTATT +CGGATCCCGGCAGGTGTTCGAATGAGATATGTATCCATTAACACATTGTG +CATACACATAGACACATTGTCAACGTATGCCGTACACAACAAAACAACTG +CGCTCGTTCGCACCTCAATCCTTTGATGTTCTCCGCCGGGGGCTCCTGTA +AGGTCAGGAGTTTTCTAAAAATGTTGCCTTCTTCTCCGTCTTCTTCCTCT +TCATCATCGAATATTCCAGAGGGGGGCCGACACGCTTCACTTGATTTTCG +ATGGCAATTTGTTTGAAGAATTCAAGAATTCGAAGAATTTATTTGGAAAC +TCACTACTCTCTTTTTTACGTTTACATCCAACTTTTGGCACTTAGGCGCC +TCCAACTGCAACCATATGGTGCTCAATGAGCCGAGAGGGATCATCTGTGA +ATTTGGTGTTTTTTTCTCAATTGGTTGCCTATTTGATTGGAGAGAGATTA +ATTTGCATACAATTACCTCTATTTGGCTCAGGGGTGGACGGATATTGCCG +TTCGGCATTTTTTGCCGACAAGTACGGCAAATCGGCAATTCGCCGATTTG +CCGGATTGCCGGAAATCTTGATTTTCGGCAAACCGGCAAACATCAGCGTA +CTATTTTACTATTCAAAATAAATGTAGGAACATTCATAGGATGCGTACAA +TTTTGCCGATAAAATTTAAATTCTGAAGCTTCAAAAAAAATGTGCAAAAC +CACAATTTGCCGAAAATTCTAGCCGATTTCAATTCCGGCAATTTTTTGCC +GAAAAAAATTGCCGCCCACCCCTGATTTATATTCAGTCTGTTACCGATTC +TAGTGAGGGGTTTCCAGCCTTTGCATGAATAGGTGTCTGCTACATTAATT +GCGCAATCCACATTGATACAGAGCAACCTCAATTGTTGTTTTTTCTGTGG +CCCGTTCTGCTCGTTACACCTATAAAAAGGTGGTCAAACAAGTCGTAAAA +TTTGGGTCATGAGATGGTCCCTGGGTTAATTGGAGAAGTGCCGTCATTGA +GAGAGAGAGAGCCAATTACGTATGAGGTCTGCTCTGCTCTCGGGAAGACT +CTATAACCCTTCGTTTTTGGCGGGAGATATGAGATATTTTGCTGTAATTA +TCGCACTTGTTTTGGGTATTCTCTTTTTGTATGATTTACCTAAAATTTTT +GAGCAGTTGTGATTATCCTATTTTGTTTCGAGAACCTAGAAATGTTTCCT +ATCATAGTAACCGTTTAACTCTGTGAGTATAGTTTTACTTTAAGTTGCTC +CGTTTTTTATTTGACTAGCACAGCTTTTTTACATTGCTCCGGTTTTGGCC +AAAGGTTTTCTGTTTTTTTTTTGCAGTTCTGACTTATTCTGGCCTGCTTT +ACCCAGCTAAGCCTAGGCCCGGTTACAGTCCATAAGACAACATTTTTGAA +CTCAATAATTGCCGAATTGCCAAAATGCCAAATTTTCGATTGCTGCCCGT +CTGAGTAAGTCTGAAACAGTTTGTGTGAAATTGAGCCGGAAACTACTCGG +AGTGATGTGGCCACTTCCCTATTTAGTTTCTCGGTTGATTTTCACACTTC +CCGCCGAGAGCCCGAAGCATCTGCCAGCTGAACGGTTTCCGTCGTTTTTC +ATGTCTATCGCTAAAATGTGCGCGTTACACACACATAAACATCACTTCTC +TCATAAAGTGATGGATAATTCGAGTGGATTGCATCTGACACCACACTTCC +GATAATCGCTTCGTCGTCTTGTCATCATCGTCGTTTTCTTCGTCTTGTTG +TCGTCCGGTCCCCACACACACATCAAAACGGCTACTTCCGACGTGTCGGT +GGTTTGTGTGTGTGTCAAACGGCACCACCACAAGTGGTTGCCCTCGCCCG +TGTGCTAATTCGCATTTTGTCTTGTTAATCACGCAATAGTGATAACAATC +GCTTCCGGACCATTGCTAATATAATATATTGGCTACCGCGGGCATGTCTT +GGCAATAACCTTGATGTCAAGTTTTATCGTTAAAATGTGAAGCTGTATGA +TTGCGAAAAATTTGAAGTTTTCCCATTCAAATTGTAGGCATATTTGAAAA +ATTTCTGAAGATTTATATCTGTCGTAAGTGGAACGGTTTATTTGGTTTCT +TGGGTCTCGTCGCGAAAAGCTTTCACTATGGTTTGAAGCACGACTGGGCG +ACAATCGAAGTCGAAGTTCGGCAATTCGATAATTCGGCAATTATCGAGTT +CAAGATTTTCGAAAGAAAAACTCAAAAAATAATTTTGAAATCTATTTATT +AGTTCTGGACACGCGGAGTCAGAAAGTCCCATTTCGCTTTGATCTACGAA +AAATGCGGGAGTTGAGACGCAGACATCTCAACTGATTTCGCATGGTTAAG +AGTGTGCTGACGTCACAATTGTTCTGGAAAAAAATTCCCGCATTTTTTGT +AGATCAAACCGTAATGGGATAGCCTGGACGTAGAACTCGCCAAATCGTAG +ATATATGCATAATGAAAACTCTAGAGTTAACTCTGCCACCCTCATAAAGT +GAGTTAGAAACATTTCTGCTCTGAGGAACTATAGAACCCCCTTTCAAGTC +GATCGTCAGCAAATTCTAGAAAGATCTGACAGTGGCCGATTTTTTAATGT +TTCTAGGCCACGTAAAAAAGCTGATGTCTTGTTACTTTTCAATTCGAAAA +TCCCTTTTTTTAATTTTTCGGCAGCACCCGGTCCGAGCCAACATCTTCCT +AAACACTTCAAAACCCCGCCCCCTTCTGCCCTCCCGGGTGTCTCCGTGTT +GTTCAGGGTGTTGTCCACCCCCTAGACACCCAACTGACCATTCACCCGTC +TCCTCCTCCCCCTCTACAACAACCACCACCACCTGATCCATTCCATTATA +ATGATATTCCGCATACTTGTCATACAGAGAATACCCGGTTTGCTGCTGCC +AAACGGTTTTCATTTATTCCATTTCTCACTCCTTGATTGTTGTCAATTCT +TCGATTCGATGCGGCAAAACTAGCGCCAGTGGGGAAATTGCTTTAATAGT +AAACAATTTTTTTTTAAATTTCCTATATTTTTTGTATAAGATTTTCTTTT +TTAATTGCAAATCCCATGGGAAAGTCTCAAATTGCATAAAATTCCAATTT +GAATTCCCTCCAAGATTTCAATGTTCGATGGAGCGCACTTGAATTATTAT +AATTTTTATCAATGAATTTTTTTATCATCTCTGACTGATTTTTCACGATT +TTTTGTGTAGTTTTAGAGGAAATTTACTGAAAAATCCAAGTTAAATGTAA +ATTTCCGATTTTTATACAATTTTTGGACTACTTTCCCCGCCGCCACCGCT +AAAAATCCCAATTTCCTGCAAGTTTTCACCTGCTCTGACTCATTTCCGCG +AGCGCGCGCGCTCGTACTTTTTATCTTTTACTATTTATTTATCTCCTCCA +AAAAAAAATCCCGTTAATTTTTTTTCCCTTACAATTTCTCATAATTTACT +CATTTAGTTTGGCTTAAAAAATGCTAAATTAAATTTTTTTTTCATTTCCA +GATCACATGACACAACGAAAATGAGGAGAAAAATGAAGTTATTCCTATTT +TTATTATTAGTAATTAATATATGTCGGTCGGCCGCTGCTAACGGTGACGA +ATGCCCGAAATTGTGAGTTTTTCGCTTAAAAATCAGATTTTTTTCGAATT +TACTGTGAAAAAGCGGGGGTTTTGCCTGAATTTTCACTTAAAACTGCTTT +TTTTTGCTAAAATCCCGAATTTTTCAGAGAAAAATAATTCAAACTCCATT +TTTCAGCTGTAAATGTGCTCCGGATCCGGTGCAGCCGACGTCTAAACTCC +TATTATGCGACTATTCTTCGAAAAACACGACAATTACACCTATTGCGTCG +TCGAATTATGATCAGGTTGCTAATATTCGGTGAGGTTTTTTGATTTTTGA +ATGAAAAATTTGAGAAATTTTTAAAAATGGGAAAAAATGTGATTTTTAAA +TCAAGATATCGGAAAATACGAAAAAATTTCCAAGAAAATGGTGGTTTTTA +TCGAAAAAATGTTAAAAATGCATAGAAAATTTGGATTTTCGAGTTCGAAA +TTTTCTGAAAACAAAAAAAAAAGTTTTTTTTTACACTAAAACATTAAAAT +TGGATTTTTTTTTCCGAAAAACATAATTTTTCAATTTCTAACAGTAAAAA +GCTCACAAAATTCCTTGAAAATTGACAAATTTAGTATTTTTTACACGAAA +AATGCATTAAAATTGAATTTTTAAAACAATTTAAACTTAAAATAAAATTT +TCATTTATTCTACACGGTAAATGTATTAAAATAATTAAAACTTCGAAATT +TTAAATTAGAAAAAATCAAATTTCCTCCTTATTCTCAATTTTTTTTTACA +GCAAAATTTCAGTTGAATTTTCCCATAATTTTGAATTAAAAATGTGTTTT +ATTCCAAAAAAAAACTATTTTACAACAAAAAACTAGATTTTTTCCCAATT +TTCTATGAAAAATTTAATTTACCAATAACTTATTTTCTTTTTCCAGATCA +CTATTCATATCTTGTGATAATAATAATTTCCAATTTCCGGATGCCTACTT +CAAGTCGTTAACCGCGTTGCATCATCTGCGGATAGTGGTGAGTTTATTAT +ATTATCAGCTGTTCTCTACAGAACATCTGCTTTTTGCGTGTAAATTTAGA +GGTCAATTTTCGGAAAAATTGGAAAAATTGGCCTAAATCTCAATTTGAAG +TAGATTTTCACGTGTTCAAAAATGTTCAAAAAATTCAATCAAAAATTCGA +TTTTTGGAATACTTCAAAAAAATTTAATTTTCTTCGAGAAAACCGGTAAA +TTACAAAAAAAATTCGTTGGCGATTTTTTTCTGTAGTTTTCCAGAAAAAC +AAACGAAAATTTTAATTTTTAATTTTTAAATTTTCCAAAAAAAATTTTTA +AAAATTCATAAATATGTCCATTTTAATTTTAAAAATATCGGAAAATATTC +AAAAAATGAACTTTTCTATCGAAAATTTAACAAGAAAAAATTACGAAAAG +TTCATTCAAAAAATTAAAATTCTTCTATATCTGAGGAAGGCTAACAGTAA +TTTTTTCCCATTTTTTGACTCTTTGAGCAAATAACCGTATCACTAATTAC +CTTAACCATCAAAAAAGAAAGGTGTGCCTGTCTTCTATTCATCCTCCTCT +CGACACCAAATTCTTAAGAAGAGCCCCCCACTCGGATGTCTCTAATTAGG +CACAAATGTTACGTCATTTTGTCATTTGTACGGCCACAGATGACCTCCGG +TGTGCTTGGAGGACTGCGAGAGAGGAGGATTAAGGGGATTTTTATGTCCT +ACAATTGATTTTTTTAGGTCAAAAGTAGGGATTTTAAGGCCAAAAATAGA +GATTTTTTAGGTCAAAAGTAGGGATTTTAAAGCAAAAAAAAAAAATTTTC +GGCCAAAACAGTGGTTTTTAAGGCCAAAAAATTTAATTTTTCCGTTTATG +ACACCTAAAATTGGGGTGAAATTTTTTTTTCGGATAGAAATCTAAAATTG +CAATTGTTAATTATTCCAACATTTTTTTTTGCATTAAACGTTATTGTAAA +AACATTGAAAATCACTTGATTTATCCGAAAATTTCATTTATTTCAGATAA +ATATTGTTTAATAAAAAATGTGTTAAAAAACATGGTGCATAGATATATAG +ATAATTTTGTAGAATAATTGAAAATTGCAATTTTTAACTTCCTACCCGAG +TAAACAGAATTTAAATCCAATTTTAGGTGTCATAAACGGAAAAATCCCAA +TTTTTGGCCTTAAAAAATCCCAATTTTTCGGCCTAAAACTCCCTAATTTT +GGCCTAAATCACCCTATTTTTAGCCTAAAAAAGTCCCCTGTTTTTCCATT +TTCCCCAGGAACTCGTAGAAGAACATGTGTTAGGCGTGAAGAGGTTAAGC +CGATTAGCCATGTAATATTCAATACTTGAGTATAGAAGGGCCAGAAGCAG +CAGCAGCAGGGGGTGCTCCAAGAGCACCACCTCAACAGATGTATAAAGTG +GTTTTCGAGTAGATTTGTGGTTTTGCACACGGTGGAAGAAATCTGAAATT +TGAATTTTTTAAAGCCATTTTTGTGCTGAAAAATGTACAGAATAACCGAA +ATTTCACCACCCTTTAAGGTACGGGAAATCTCCGGGAAAAAGGCTCAAAA +ATTGCATAAAAATGGAGATTTTAAAGCTAAAAATAGCTATTTTAACAAGT +TTTTTTGCAGGGATGCGAGACCACACATTTCTCTGTGAAATTGTTCGAAG +ATTTGGCCGCTTTGAGAAGATTGGAACTCGATCAGGTACATTTTTCTTGG +AAAATCTAGAAAATTTTGCTGAAATTGGCTCAGAAATGTCCTAAATAGTA +GAATTTTTCATTAAAAAGCCTCTCAAAACGGCTTAAAATTAAGTAAAAAT +CGACATTTTTTCACAGATCTCCACCGCCTCAACCTCTTTCGAAATGACCG +AAGACGTCCTAATGCCGTTGGCTCGTCTCGAAAAGTTTTCCCTCACGAGA +TCACGGAATATCGAGCTTCCACAGCGACTTTTGTGCTCTCTGCCGCATTT +ACAGGTATATTTTTGGGTAATTGATAATTCGCCAAAAAGAACAGCAGCCG +AAAACTCAAATTTTTCACGAAATTTGCCGAAAAACTAGATTTGTAAAATA +AAAAGAATGCAAGAATTTTTAGCTTAAAAATCTCAATTTTGAACGATTTT +TAAAGCAATTTCAGTATGAAAAATCCAGATATTTTTTGGGTAAAAATTTG +GTGAAAACGCGTTAAAATCTGCATTTTTGAACGAAATTCGCCAAAAATCA +AGACTTTTGTAGTGCATTTTACTGTAAAAATGTATACCTATTTTCTATTT +TTATGCGTACTGCGCAATATATTTGACGCGCAAAATACCTCGCAGCGAAA +ACTACTCTTCAAATGACTACTGTAGCGCTTGTGTCGATTTACGGGATCGA +TTGATAGAATATCAAAATTAGAAATAAATGGGAAACTACTGCGAAAACAA +AAATTTATTTCAAAAATTGAGTCCGTAAATCGACACTACAGTAGCCATCT +AAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATGTGT +TGCGCAGTATGCATTCCCATCTTGTTCTCTACATTCAATTACCACCACAT +CTCACAGAGAAGGAATTAGTTGTTTATTAGTACGTGGGGGGGGGGGGGCT +TTAAAGCTTACTACTTCTTCTTTCTTTCCACTTTCTGACGTTCAACCATC +TGGTATTCCTGGCGGCGGGGCAATTGAAAATGAGAACAAAAGGACATCGA +TGGAGGGAGGAGGATTGAGAGTTTGGAAATTGTGAAGAATGCGCGCGGAA +GGAGGAGGTCAAATATCACAAGCGCCGGAAGTTGTTGTCAGCCAGAAGCA +ATAAAGGCCTAATTATGATGATGATGAAGAACCTCCCTGAAAGAGAATAG +CGAAAATGTGAAGTTTCCATCTCAAGGGAGCGATTTTTTAGTGATCATGG +AGTCTTGAAGTGTGCACATAGTCTACGTGCCCCACAAGAGCCTATGCCTG +CCTTATGCCTACTCACATGCTCACAGCCAAACTCTTTCGAAATCAGAATT +CTACATTGTAGAATCTACAACACTGAAGTTTCTGCCATAACGTTGAAAAT +AGGCACCTACGCCTGAATACGTGCCTGATCAACATGGATGCCATATAGTC +CAGGCTGTATAGTCGTAAAACAGGGATTTTTTAGGCTCATGGGTTTTTGT +CGGAAAAAATCGAACATTGAGAAAACCAGAAATTTTTCAAATTTTCGTAT +ACTATTCCACGAATCGTTTCTCCCGTTTATCGAATCTCCACGTCGCACTG +TAATTTTTCAAGTATCGTTAGTCCATTCGCCCGAGAAACTCCACAGTTAC +AAATGCTTTGCAAGCATTTTCAAGAAACCATGGTTCCTGGCATGTTTTGG +CGCATTCAATAATGCCGCTAATAATAATAATAATGCCTCCTATTATGATG +TCGCGTTGTCATCGTTTGCTGCTGCTCCGTCAGATACTTTATGGGGTTGT +TGTTTTCTCCCTCCGCATCAAACGACGTTCCTCTCTTCAAAATGATGATG +GATATACATATATCTATGTTTATAGAAGAATTGAACCCCACACTTTACAT +ATGAATAGATGGGGACCTTGTTACCTTGACTATCGGGAAGAGATTGAAGG +TTCCAAAGACGGCTGGCTGTGGCTCATTAGGCTAAATGATGCGTGATATT +ATTCGCTCTACGGCACCTCTATGATCCAGGAATAGCAGTCACTGTCAACA +AGAGTCACCTCACGGCAACAATACTCCGCTAATTACGGTTTGCGGCAAAT +CCCAGAATTTATTTGAAATTCTAACTGGGTGTTGCAGATGGGTCGAGGAA +ATATGATAGCAATAATTATTGTTACGTGGCAATTGTAATCCGTCAGATAT +CGTTTCGAGACCTGCTGACTCAAGAATGTGAAAATGGACAAATTTGGAAA +ATAGGTAGCGGAAAATTTTCGCAAGTTTTGAAAATTTCGGTCATGATACG +ATACGAACTCCTTGATTTTCACAGCCCGACAAGCCGTACGCGTACGCAAT +TTGTCTACCGTATACCTGAACGTTCAGGCTCGTCTATCTCGAAAACAGTT +GGTCCAGCCTTTTTGTGGGGCATATAAAAAAGGTCAGAACATAAATTCTA +AAATTTTTTGGACCATAGCTTGTTTCGTTATCACGCGCCCAAACCTGATC +TACACTCAAATTATCAGTAGAGCGCATTTGCATGGATGTACCACTTGCCG +GGCCGTGATTTTGAATGGAATATTAAATTCCACGTCACTCTAGTGAATCT +CCGCTTCTCAATATGCTTCATAATTCATCAAATTCAATTCATTTTCGGAT +AAGCCAGTTGTAAACAGTTGTGTGTGTGTGAGTGAGCTCATCCTTCATAA +AATGAATAGAGATAGAACACTGACACTCTCTCAAAGACAAGAGGAATTAA +TAAATATGAGAGCTCATTAGCTGCTCTTCTCGTGACTACTAATTAGGAGG +GTGGTACATGAAACAGTGTATGTGTAAAGGGATCCCCGCCGCCGCCGCCG +CCAATGTCTTTCGGTGTATGGCAATATCCGAGTGGTGTTCTCATTTTGAA +GAGAGTATTAGGATGTAACGTATCAACTGGAGAGAGATAGTTCAAAGATT +GGGGATTTGAGATATTTTAGGTGTCGAAATGGATGAAATATAAGCATAGG +GAGGAAATAAATAGAAAACGATATACTTAAATAGCAATAGTTATTTGAGT +TCTTACTGTAGTTTTCGCTAAGAGATATCGCGCGTCAAATAAAATGCTCT +ACGTACGCATTCTCATGATTTATTGTTCCCGTAATATAAACATAGCAAAC +ATTTTTAATGTTTAAATATTCCTCAATGCTATTGAAATTCAAATTAGTAC +AAAGAAAGCAATTTTTCGATTTTTTTAACGAGAAAACTAAGTTTTCATCA +AAAAATATGTAGATTTTGATGAAAATAATATGACAATTTATTTAAACCTA +TATATTTTTTTGTCCAAAACAACTTTACGAAAAAAATTTTTTTTTAAATA +AAATTATTGGATTTTTCGTCAACTTTACGATAAATTCCGAAAAATTAACA +ATAAATATAGGAGAAAAAAATCCGAAATTAACGAAATCCCCTGTTCCAGG +TTCTGAATATCTCGTCAAATGAGCTTCCATCACTGCGAAGAGAGGAATCG +TGTGTCGCTCAGCAGCTTCTGATCGTCGATTTGTCTAGAAATCGGCTCAC +CAACATCGAGTAAGGGATTTTCCGGATATTTTATAATTTTGATCTTTAAA +AATTTCAAAGTTTGTGAAAATGTGAAAATCTAAAAATGTGGAACAAATAT +TGGTTTTATCTATTTAATACCCCAAAACTTTGAGATTTTTCCGTTGAAAA +ATCGAAAATTCGAAAATTATCTCAAAAATTTCAGGCAATTCCTACGTGGC +ATCCCGGCAATCCGGCAAATTTCGGTGGCTTACAACTCGATCGCCGAGCT +CGATTTATCGCTGGCAACTCCATTTCTACAACAACTCGATGCTGAAGCCA +ATCGAATCGTCGACTTGACGTCACTTCCAGGCACTGTTGTACACGTGAAT +TTGGCTGGAAACGCGCTGAAAAGGGTGCCGGATGCGGTAGCCGAGTTGGC +GAGTCTTGTGGCGTTAAATGTGTCGAGAAATGAGATTGAAGCCGGAAATT +CGTCGGTTTTTTGTGGGTTTTCGGATTTTTTTTTGGAAATTTGAAATTCG +GAAAAAATTCAATTTTTACATACAATTTTGCGTATTTTGATCATATTTGT +TTTAAAAATCGAGAAATTTAAAAAAAATCAAATTTCGCTTATTTTCATTG +GAGAATACATGAGAAAAATATTTTTGTTTCGAAAAAGAAAAATAGCCAAA +ATTTAATGCTATTTTTTCGAAAAATTTCGATTTTAATTTTTGAAAAAGTA +TTGAATAATTTCATCAAATTTGTTTTATTTTGATGAGAAAATACGTGAAA +AATGGAAAAAAAATATGAAAATCTTTAAAACAAAAAAATAATCAGATAAT +TATGCAATTTGGCCTGAATTTTCAAAAAAAAAACTTGGATTTTCGAAAAT +TTCATCAAATTTTGTGTATTTTCATGCAAAAAAAGATAGGAATTTCCAAT +TTTTGACCTTAATTGCAAAGAAAAATTCCTAAAAAATTGTAACGTTTCAA +AATCTCGATTTTCTTCTGAAATTCTCAAAATCTTCATATTTTTCCAGCTT +CCCCAGAACTCGAAATGCTCGACGCCTCTTACAACAAATTGGACAGTCTG +CCCGTCGAATGGCTTCAAAAATGCGAAAAACGCATTGCTCACCTCCATTT +GGAGCACAATTCGATTGAGCAGTTGACTGGTGGAGTGCTGGCGAATGCGA +CTAATTTACAGACGGTTCGTAGACTTGTTTTTTTTTTTTTTTGAAAAAAA +ACACGCTGAAAAAATCTAATAAAACCCAAAAATTTGCATTTTTGTTTAAA +AAATATGAAAAATTGTTCAAATTCCTAGTTTTCAATATTTTCAACAAAAA +AAAATTCTAGAGCTTCCATGGTAGGCAGGCGCGGTTTCAGGGCCTGACGC +CGACCTTTCGCCTCTTTTTTGCATTTTTACGGGAATTTTCAAATTTCTAA +TTTTCCCCATTTCTATCAAATTATTGAAAATCAAATTAAAAACGCGAATC +GCGTATTGAGGCGAGAGGCACGCAGAGGTTGCCTTAAGGTCAGACAGGCA +AGCTTTTTAACGCCTAACGTAATTTTAAAACCTGAAACATTAGAAACTTC +CACACGTTTGTAATTTCACTGAATTTTACTGCACCTCTTCATAAATTCAA +TGTATTTAGATAGTGTAATTTTTAAAGGTGGAGTGCCGAAATTAAAGACT +TTGCTTTTTTAGACCAAAATTGGTCCTAAATAACCGAATTTCGTAATGAG +ACTTTCTGAAAATTTCTCAAAAAAAAGTTATGGCGGTTCAAAGTTCGGGA +AAATAAGGTCAATTTTCAGCTAAAATCAAAATTTTTAAAATTTTTTATTT +ATCACTTTTTGATAAATATTGTGGTCTTTGATTAGGCGGGGCACCAATAA +AAGTTACATTTTGTGCCCCACTGACCATGAATGTATTTAAATCAACGAAT +AAACGCCTAATCAAAGTATTTATTAAAAAGTGATAAATATAAAATTTAAA +AATTTTGATTTTAGCAGAAAATGGGCTTTTTTTTCTCAAACTTTGAACCG +CCATAACTTTTTTTTTGAGAAATGTTCATTACGAAATTCGGTAGTTTTGG +ACCAATTTTGGTCTAAAAAAGCAAAGTCTCAAACTTCGGTACTCCACCTT +TAAAGAACAGTGTAATTTTTTTCTATTTTCCAATCAGTGCAACTCTAATA +GCAACTCTAAACTTATTTCAATAAACTCTAGGCACAGTATTTTGAATAGG +CGATCGCGTGACAGTTTTAACCAAACATAGTCATGATGACCTTTTGTCCT +TACAGAATCTTCTCAAGTTCATGCACACACAGGTGTCATTTACTCTGTCA +AGTATTGTATAAGTGTGATCCCGAGAGTATTATAAATGGTAGTTAGACCA +CCCTTATGGTTAAGTTGTTCGTATAATTGTAGGGGTGGGGATCTTACCAC +ATTTATACGGCCCCCCTCCTATTGTATTGTATTGTTGCCACCAGTCGTCT +TGAGAATCTCTTTCAATCCGGGGTGACAGAAGGTGTCATATTGTCGGAAT +GTGTAATAGGTGGGTCTCGAATGGATATCACTAACAGCTGTGAAGGGATC +CGAGAAGGGTTTTCGGTCTTTCTAGGGGTTTAACTTTCCGCTGTCAATAT +TATTAATCTTACAAGGAAAGGGTTTTAGTTTACCGTCAGACTTTAAAACG +AGACATGTGTCATTTGAAAGTGTTCCATAAGTGTATGTCACTCCAAAATT +TCAAGCGGCAAAGCTCCAGTCTCAAACCCTCTAGCATCGATCTGAAAACG +TTTCAGTGCATTTTTCACTACTTTGAGGCAAGTAGAATTTCTCCAAAATG +TTTTTTTTGCAAATCTTCAATGTTTTTCAGAACGTTTAAAAGAAGGAAAA +CAATCTGGAAAATTTTTGGAAAATTTTAAATTTTTTGAAAAAAATCTGAA +ATTTCTTGGACCTGGTGGCGTGAAGAAATGTTCAGATTTTTTTCAAAAAG +CTTAAAAATTTTCCAAAAATCTCCCAGATTGTTTTCCTACTTTTAAATGT +TCTGAAAAACATTGAAATTTTGCATGTTAGTACGATTTGATAATCGTGTT +ATAATTACATTACACATACATAATAATCAATTGAAATATACAATTCTTAA +TTATAACCTGAAATTGAGATTAGATACCTTAGACAATACAACAAATAAGA +ATGTGATCGATTCAGCAGACCCCTATTTGTGAAAAATGCCTTCTAAATTT +TATTTTACACTTCTCCTAGTAGATGAACAGCACCTGCCAATAATTTCATT +GACAGCCGGATGGTTTTTGGCTCCTCTAAGACAGTATAATCCCGTCTCCC +CCGGGGGGAAGTGGTGTCAAATTGCTTTGCGGAGCAGGTGCTTTTTTCTG +AATCGAATTGGCTTATTGGTGACGGAAAAACCCCTAATAGAATTGATACA +ATTTGGTTTTCAAGAGGATTTGGGGAAGGGTTTAGAGGGTAATTGAAACT +GAGTAGATCTTCGTCTGTCGTGGAGATCAGAAGATTGAGGGAAGTACTGG +GTTTAAGGGGGTCAAGGAGTACTGTAGCGCATTTCGAATACTACTTTAGA +TAGTTTAGGTATTATATCAATAGGATAATATATTATCAAGTTGCACCAAA +ATTGGAGATTCTAGTAGTGCATTTTCTTTATATGCTAGGTATGTATAAGT +TTCTAATAAGTGTATATACCTACCATGTACCTAGGGGGAGTAGAGTTTGT +GGGTATTTTGCTTAAATAGACTAAAACGTGTCCAAAACCACCGAATTTCA +AAATGAGACTTCACAAAAAATTTCCAAAATTTTTTTTATGGAAAAAAGAG +CAAAATTTAACTAAAATCCGAAATTTCGCACAGTTTTCTTTGTCACAGCC +GCTGGATTTGAATTTTTCTGAAATTATCACCCTTTAATCCTTATTTTAAT +AATTTATCTCGCGGAAATTCGTTGATTGAGACAACTTTTAGGCCGATAGG +CATCCCATCTTGATCATTTTTGGATGCCTATCGGCCTAAAAGTTTTTTAA +TTTCAGAAAAACTAAAATCCAGCTGCTGTGACAAAGAAAAGTGTGCGAAA +TTCCAGATTTTAGCAAAATTTGACTCTTTTTTTTCTCGAAATTTTGACTC +GCCATAAAAATTTTTGGAAATTTTTTGTGAAGTCTCATTATTAAATTCGG +TGGTTTTGTACCAGTTTTAGTCTATTTAAGCAAAATACCCACAAACTATT +ACACTTTACTTTAACAAGACACACAATAATTCACAAATGGTGTAGTATCA +TGCCGGAATTTATATAGGATTGATTCTTGAAGAACGAAATTTTAAATAGA +TTATTGCAGACTATGTAACACTATTTGTATAAACAATTAACATAGTGTAT +TGAATAATGACTTTATTGAAATTAATACAGTTTTTGATATACCCATCTTC +TATTAGTATATCATGCAATACTAATAGGTAATATGCAATATCACTTTAAT +TGTTATTTCCCATGCGTCGTGTTTATACAAATGCTTTATATACTCGAATA +GTCTATAATAATCCAATTAAACTCGAGAATCCCAATACAGAATATAGTGT +TTACCAAAAACACTTGTGTTATTATTCTAATATACATGCACACACACACC +CACACACAGGTTTGACACCAGTTCTACTAATATTTGCATAATACCATTGA +GATACCTGAAGTACCCTATAGATATGCACGGGATTCGTTTCGGGCACTGC +CACGGAAAATATTGAAAAAGTGTGGTAAATTTACGAAAAACAACAAAAAA +AATGCGATTTTCCAGAGAAATACGAAAAAAAAGAAAAAAATATTTAGAAA +ATTAACAACAAAAAAAAAAATTTTTTTTTATTAAATAATAAAATGTGTTC +ATTCTGTTTTTCCCCTTTCAGTTAAACTAGGGCTTCCATGGTAGGCAGGC +GCGATTTCAGGGCCTGCCTGAAACCTGCCTGCTTCACGCCGGCCTCAGGT +CGCCTTAAGACGGCTGCTAAAAATTTGAAAAAAAAATTTCAAAATTTGAA +TTTCCGCGCTTTTTTCGAATTCCTAGAACGCTTTTTTTTAATTAAAAAAA +AATTTCAGTTGGACCTTTCATCGAATCAACTTCGAGTTTTTCGAGACGAA +GTACTTCCGGAGAATTCGAAAATTGGAAATTTGAGACTTTCCAACAACTC +TTTGGAGCTCCTCGAGCCGTCGAGCCTGAGCGGCTTGAAATTGGGTAATC +TAAATTTATATGAATTTTGCAAATTCTAAAAATCCTAATTTTTTCTAGAA +TCCCTTGATCTGAGTCATAATAAGCTGACAGAAGTGCCCGCCGCAATTGG +AAAAGTCGAGCAGCTGAAAAAAGTGGATTTGAGCCATAATAGAATTGCGA +AGGTTTATCAATATGTGCTCAATAAGATTAAGCAATTGCATACTGTTGAT +TTGTCGAATAATCAGTTGCAAAGTGTGAGTTTTTTGTTGATAAAAATTTA +AAATTTGAATTTTTTCTTTTTTTTTAATTATTAATTCTGAAAAATTCAAC +GAAATTTCCGAAAATTACTTGAAATTTAAATTTTTATCCAGAATTTAGTC +TATAAAAACGAAAAAATACGAATTTTCGATTAAAAAAATTAATTTATTTA +AAAACACACTTTCGAAAAAAATTTTGAATTAAAAAAAATTTAAAGTTCCT +TAAAAAACTATTTCCTCAATTTTTTTTCTGAAATTTCACTCTTTCATTTT +TTAATTCATTTTTTAAGTCTATAAATACGAAAAAACACGAATTTTCGATA +AAAACACATTTTTCAAGTTTTTAAAAATAATTTTAAATTGGAATTTTTCT +TTAAAAAATTGTTTTTTATAAAAAAACACATTAATGCATTTTTTAAAAAA +TAATTTCTTGAAATCTTCCAAAATCGGTTGTAATTTTAGCGAAAATAACT +ATTTTTTCCAGTTTTTATTTAAAAAATCCCTCGAAATTTGAATTTATCCA +GAATTTAGTCAATAAATGCGAAAAAATACGAATTTTCGATTAAAAAAATT +AATTTATTTAAAAAACACTTTCGAAAAAAAAATTTTCAATAAAGAAACTA +GTTCTTAAAATTTTTTTTCTGAAATTTCACTTTTTCATTTTTTAATTCAA +AAAATTTGAATTTATCTACAATTTACTCTATAAATACGAAAAAAATACAA +ATTTTCGATGAAAAAACACAATTTTCAAATTAATAAAAATATAATAAAAA +ACATATTACTAAATTTTTAAAAAATAATTTCTTGCAATTTTCCAAAACCG +GTTTTAATTTTAGCGAAAATAACGATTTTTCCAGTTTTTATTTTAAAAAT +TCCCTTGAAATTTGAATTTCTCCAAATTTTTTCTTGAAGTTTTTAAAAGT +TCCATCATTTTCTACTGGAACTTTCAAAAAATGTTCCTTAAAAAATCTCT +AATTTCCGCTAATTTCTACGTAAAATTTCAGCAAAAAAACAACGACATTT +CATGTTTTTTTGTTAAAAAAATAATTTTCTTGAAAATTTCTTTGGAATTC +GATTTTTTTTGAGTTTTAACCCAATAAAATGTATAATTTAAAAATATAAA +AATTCCAGATCGGCCCCTACATCTTCTCCGACAGTTCTGAACTTCATTCC +CTGGACGTGTCGAATAATGAGATTTCACTGCTGTTCAAGGACGCTTTTGC +GAGATGCCCAAAGCTGAGGAAAATTTCGATGAAAATGAATAAAATTAGTG +AGTTGAAGCACGAAAAACTGCCCAAAAATTAAAATTTTGAAATTTTTGTG +TTTAAAAACCTAGAAAATCGAGATAAAGTAGGCTTAAAGTTGCTCAAAAT +CCGCAGATTTTTTGAAATCGATTTTGAAAAGTGCACATGGAGCTAAATCA +GACTTCAAAATTCTCAAATTAATTGCATTTTCACTCGAAAACCTCTGAAA +ACTGCCTTCTTCCTATATTAAATCAAATTTTCTTTCAGAATCCCTCGACG +AAGGTCTCACAGAAGCTTCCGGCCTCCGACGTCTCGACGTATCTCATAAC +GAGATCCTCGTGCTGAAATGGTCGGCTTTACCTGAAAACTTGGAGATTCT +CAACGCTGATAACAATGATATCAATCTCCTGACCGCCGCCTCAATGTCCC +CAAGCACCGCAAACTTGAAGTCCGTTTCGCTTTCCAACAACGGCATCACC +ATAATGAATGCGGACCAGATTCCGAATTCGCTCGAGTCGCTGGACGTGTC +GAATAATCGACTTGCAAAGCTCGGGAAGACAGCGTTGGCCGCGAAATCTC +AGTTGAGAAGGCTCAACTTGAAGGGCAATCTGCTTACCGTAGTGGCCACC +GAGTCGATGAAAGTCGTAGAGGCTGTGCATCCGTTGAAAGTGGAAATCTC +GGAGAATCCTCTGATCTGTGATTGTCAGATGGGATGGATGATTGGTGGAG +CGAAGCCAAAGGTTCTCATTCAGGACTCTGAAACCGCAAGCTGTTCCCAT +GCCGTTGATGGGCATCAGATCCAGATTCAAAGTCTCAGCAAGAAGGATCT +ACTGTGCCCATACAAAAGTGTATGTGAGCCGGAATGTATCTGCTGTCAAT +ACGGAAATTGCGATTGCAAATCCGTATGCCCCGCCAATTGCCGATGCTTC +AGAGATGATCAGTTTAATATCAACATTGTCAGATGCCACGGGAACTCATC +AATGGTGCCCAAAAGAGAATTCGTGGTCTCCGAGCTCCCGGTCTCTGCGA +CAGAGATCATTCTGAGCGGAGTCACCCTTCCACAGCTCCGAACTCACAGC +TTCATCGGAAGACTTCGTCTCCAGAGGCTTCATATCAATGGAACCGGGCT +CCGATCCATCCAACCGAAGGCTTTCCATACTCTTCCAGCACTGAAGACGC +TGGATTTGTCGGATAACTCGTTGATCTCGCTGAGCGGGGAGGAATTTCTA +AAGTGTGGAGAAGTCTCGCAGCTTTTCCTCAATGGAAATCGATTTTCCAC +GCTATCCCGTGGAATCTTCGAGAAGCTTCCGAACTTGAAATATCTGACAC +TTCATAACAACTCCCTCGAAGACATCCCTCAGGTTCTTCACTCGACGGCG +CTCTCCAAGATCTCCCTGTCATCGAACCCCTTGAGATGCGACTGCTCGGG +AGGATCCCAACAGCACCTTCACCATCGTCGTGACCCAAAAGCTCATCCAT +TCTGGGAGCATAATGCGGCCGAGTGGTTCTCGTTGCATCGGCATCTTGTC +GTTGATTTCCCCAAGGTTGAATGCTGGGAGAACGTGACGAAGGCCTTCCT +GACGAACGATACGACAGTGCTGAGCGCCTATCCACCTAATATGGGAAATG +ACGTCTTTGTGATGCCTATTGAAGGTTGGTTTAAAATTTTTAAAAAAACG +CGCGTCAAATATTTTAAAGTCTTTTGTTCGAAAAATAACCATTTTACAAT +ATGTAGGATATATCTATAACAGCTACTGTAAAAACTCCAGATGTTTGAAT +TTTTTTAAAAATGCGACGTGGTAAATATTATATTGATTACATATTATTAT +TACAGTGTATTTTTTTCCACTTCTACGACTTTAAAGGGGGGCGCATTTAC +GCGCGATGGTCCCAGCATTGGTCTCGCCACGCACCCCAAAAATCAATGGG +TGGCGCGTGTCGAGACCATCGCGCGTAAATGCGCCCCCCTTTAAAGTCGT +AGAAGTGGAAAAAAATTCACTGTATAATTATTAGTCAAATGATACTTATT +ATGATATTAGAAATTAAAAAATTAGGTTTGAACATTTTTTTTCCTCGATT +TTTTTACGGTATTTCACCATGTATGCGTTATAAATACAAATATGATCCCT +ACCTTTTTATAACTTTAAAATAACTTTTAAAAAGGAATATAATACATGCA +CAAGCACCATAAAATTTCAACGTTTGCTTTTTCTGGTCCGAAGAATTTTT +TCAATACGTTTACTTTATATATCACATATACAAACAATATACTGAGAATG +CGTATTGCGCATTATATTTGACGCGCAAAATATCTCGGAGCAAAAACTAC +AGTAGTCCTATAAATTCCTACTGTACTGCTTGTGTCGATAGAATATTAAA +ATTGCAAAAAAAATTTAAAAAAACGAAAAAAAAACAAAGTATAAGGGAAT +ATATAGCTATTCCAAAATAAATCAATTTCAAAAATCGAGCCCGTAAAAGA +GAAGGACTTACTGTAGTTTTCCCTACGAGATATTTTGCGCGTCAAATATG +TTGTGAAATACGCATTCTGAAGATGTAGTGTACTCGTAATATATATTTTT +TAACAATTCAAACATTTCCAGAATTCCTGCGCGACTACAACTCAACAATC +TGTGTTCCATTCTCATCTGGATTCTTTGGACAAGACCCTCAGAATAGTAT +ACTCTTTGTAATAATAACTATATCGATTGCTGTTCTCCTCTGTGTCCTCG +TTATTCTCGCAATTTCATTTATTCGAAAATCTCACGACGCAATCAATCAA +CGAAGATACAAAGCATCATCTCTAAATTGTTCAACATCAGCCGGCTCGTC +GCCTCTTCCGGTTCCGCTGTTGAGTTATCACGCATTTGTGAGCTATTCGA +AGAAGGACGAGAAAATGGTGATTGATCAATTGTGTCGACCGCTGGAAGAT +GAAGATTATCAGTTGTGCCTGTTGCATCGGGATGGGCCGACTTATTGCTC +GAATTTGCACGCGATATCTGATGAACTCATAGCTCAGATGGACTCGTCGC +AATGCTTGATTCTTGTGTTGACTAAACACTTTTTGGAGAACGAGTGGAAA +ACGCTGCAGATTAAGGTAACAAATTCAAACTTTCAGTTTAAAATTGATAT +ATTCGTAAAAATAAGATGTTCTTAAAAATTCTGAGAATGCGTGTTGCGCA +AAATATCTCGTAGCAAAAGCTACTGTAATTATTTTATATGACTATTGTAC +CGTTCAAAATTACTATCCAAATATTTGATTTTTTGTTTTAAAAAATTATT +TGGAATTTACTCAAATATTGAAAACAATATTATCGAAATTCCAGAAAATT +TGGTGGAAATTCCGAAAATTTCAATTTTTTCGCTAATTTTCGAGAAAAAA +AAAATTAAAATTTGGATTATATGAAATAAATTTCCAAACATTAAATTAAA +AATTTTTTTTTTTTGGATTTTCCAATCTCGAACCTTCAAAAATTGAATTT +TTTTGAAATTTTTTTTCGGAAAAAGTAAAAAATGCTCGAAATATCGACAA +AAAGTTGAAGTATTTTTTTTTGTAAAATTGGAGATTTTTGAGATAAAAAA +TCTGAATTTTCATTCAAATCTTGAACATCAAAATCAGCAAAAAAAATTGC +TATAAATTTATTTAAATAAGATTTAAAAAGAGTAATTCGCTATGATTTCA +AATTTTCAAAAAAAAAAATTTTTTTTTCAAGTTTTAATTTTTGAACACTA +TCAAAAAATTTATTTTTAAACCAAAAAAATTCCGAATTTTCTGTAAAATC +TCAAAAAAAAAACATTCCTAGAAATTTAATCGAATATGATTTAATAATAC +TATTTTTAAATCATATTCAATTACATTTCTAGGAATTATTTTTGCTAGAT +TTCAAAAAGTGTATGAAAAATTAAAACTTTTTGAAAAAAAAACTGTTCTA +AATATAATTTATAACACCAGAAATTCACTAATAACACTCCACATTTTTCC +AGACCTCCCACCAACTATTCGCCAAAAACCGTGCAAAACGAGTGATCGCC +GTGCTCGGCGACGGTGTGGACGCGAATCTGCTGGACGATGAGCTCGGACA +GATTCTACGGAAGCACACGAGAATCGAGATGCGGAGCCATTTATTCTGGA +CACTTTTGCACTCATCACTTCCATCACGACTTCCATTACCATCGAATAGT +GGCGATGATTCGTCTCAACTATATTCGGATATCTATGGAATTGTGCCTTC +CGATGTTGTTTAGCTTACAGTTTTCCCGTTTAGGTCACAGTTTTTAGTAT +TTTTTTTCCTCTTCCAAATGTACGAGTTTCCATTATTCACGAGGTTTCTT +TTTCACCCCCAATTCTTCTGTGCACAATTTGCCATTTTTTGAATTTTTAC +AACAATACCGGTACTATATTTTTCGATTTTCTTTCTTTTTCTATGAATCT +TGCCATCATTCTCTAATAATTGACCAGCGATTATATTTTTGATTTAATAA +TTGAATATTCTCGTTTTTCAGTTCAAATTATTGCTTTTTTCTGTCACCAC +AAATTCAAATTCTCGTCCTACCCTGTGTGATCTTCTGTAATATATATATA +TTAATAATCGTCGTTTCTTCTTGTTGTCATTTGCGGATGCTTATGAAGCT +TGTATTTTAATTTTTTGTTTTGTTTTTTTTCCTGTTTCAGCTGCAAAAAA +TTCGGTAGAAATTCTTGAAAACACGCAAAAAATGAATAAAAAAAATAGTA +TATTAGCTTGTTCGAGAGGAGTTCACAAGCGGGTGGCCTAACATCTCCGC +GGCCGCCCAGTGGTGTACTCCTCTCGGGTGAAAGAATTCCCATTTTATCA +TCAGTTTTTCGGCCTATTTTTTCAGTTTTTCTCAACTAAATAGTCAATTA +TCTCTTAAATAATGTCGAAATTAATTTAATTTACACATTTTTCCAATAAA +ATTCCAATTTTCGGTCATTAAATTACCCCTTTCGAATTTTGCTCTCAAAA +ATTAAATTTTCATCGATTTTTAATTCTCAAAATTCTTGAATTTTCAGCGA +AGATGGGCAAATTCAGCAATCAGAAGAAAAATCGTGTCAAGAACAAGGTG +GCGGTGACAGTAAAAAAAGCGCAACGCATGAAGGCAGACGCTAAAAATGC +CAAAAAAGACGGTGAAGTGGATGTTGAGATGAAGGAGGAGGTGGTGAGAG +TCAGAGGACTCGCCGTATCGTCGCTGGTGAGAAAAAAAAGGAAAAACTCG +GCGAAATTCTTGATTTTGATTTTTTTTTTCAGAAAAAATTGGCCTCCGGT +GAGCTGCAAAACGTGCCAAAAGTGAACGAGAAGAAGATTATCCGCAAGAC +AGAGCTTCCAGTTCGAGAGAAGTAGGATTTTCTCGATCTCTCCAAACAAA +AAAATTGTTTTTTTCAATTTCAGCAAAAAGATCCTGGACGCTCCGACTGG +AAAACGTGGCACCACTGCTCAATACATCACAAAAAAGAAGGCAAAGAAGA +TGTACAAGAAGATGACACACGACGCACGCGACAAATATCGAAAAATTCAG +GCGGAACTGGCCGGAGACGGTGAAGATGACGAGGAGGGTGAAGCCGAGGT +GATGGAGCAGTGATTTTGGATTTTTCCGCGGCATTTTTAAAATTGTTTTT +TTTTGTTGATTTTGTTACTGTTTTTCATTTTCCACATAAAATAATCGAAA +ATTTATTTATCACAAAAACTTTTGCACAATTTGCTCAGCTGAGTGAGCCA +ACTGTTTGCCACGTGTCACGATTCGATGCATCCATCCATTGGGCTCCTCG +AGCTCCGCTTTCGGAGCCTGTAGCTGCTTTAGAATTATTGTCCAGAGCTC +AGAAATGTTCATCGAGTACTGCGCGGAAACTTCGACGAAATTGCACTTGT +GTACTTTGGCCAGGCAGGCTCCTTCTGGAAAAATCAATTTAAAAATCGAT +AATTTGAAGTTCCACGTGGAGCCGCGACGCGGCACGCGTTGCATCGTTTT +TTTTGGTTGAAAAACATGGTGCATCGAAGAATTTTCCTTTGACGATTTTA +TACGCAATGCATCACATTTGACGAACAAAAATTCAAAATACTTTACTTTG +CAAACGCGCTCCATTGATAAACTTATGAAAAATCGATAATGCTCAAATTT +CACAAAATTTTCCTCCATTTGAAATTATATAATTGTTAAACAAAATTAAT +AAAACCAAACATTACGCGCAGTTTCCGATAAATTTCGATTTTTTCAAAAT +GCAAGCGCGCTCCATTGCTAAACCTTGAAAAACCCACCCATTTTCGACAC +CACCGTATTCCGTTTCAAATCGATTTTATTGCCAATCAGTATAATATTGG +CTCCGCGAGCAATTTTTCGATTCAAAAGCCGACTGAGCAGGTCTGTGGCA +CACACGAATGATTCTCGATTGTCAACGTTGTACACTATTGCGTACATTGT +CAGTGATGACGCGAATGGAGAATTCTGGAAAAAAACAAGAGTTTAAAGGC +GCAGGTGGGTCTCGCCACGATCCATGTTTTTTTGCGGGAATAGTGGAAAT +TTGGAGTTAGTAAAAAAATCAAATTTGTGTAATTTTTAATAAAATCGGTT +CGCAAATGCGCTAGTACATCAGATTTCACGAGCAAATTTCATTTTGTGAG +ATTTGCACCAAAGATATGGGCATTTGAACTGATTTTTTAATGGTAAACAC +GCGAAAAAAAATACATATCCAAAAATTGAAAAAATTTTAGGTTTCACAGT +CTCCTCGGCATCGAAAGCGCAGTAGTAGGGGTGGCGATAGGGCGCCCTGC +TAAATTTTCTATTTTTATGGTCTTTCTTTTCGTTTTGTGCTAATGAACAA +AAGTTAAGTTCGAAATCTGCGAAAAAAATCGTTTCAACGCTAAGAAACGA +AGAATTGTATTTCTCAACGGTAAAAAGATTCACTCCTGCGCCAAGGTGAC +AGCAAGTGCGCCCCAGCCCAATTCGACGCTGAAGAGACTGTGGGTTTAAA +AATTTAGAGAAGTCGCAAATTTTTTGTTCAAGATATCAGCCTAAGCTACG +GTTTAAAGGCGCACAAGCACGTGGTGTCAAAGTGTCCCGTTTCGGTGTGA +TCTACCAAAAATGCGGGAATTTAGACGCAGACTTCTCAGCAGATTTCGTA +TGGTTAAGAGTGTGCTGACGTCACATTTTTTTCTGCAACAAATTCCCGCA +TTTTTTGTAGATCACACCAAAATGGGACTGTTTGACAGCACGTGCACAAG +CAGATCACAAGTGGGTCTTCGAGTTATCCTCCCCAAATCCTGTCCAGTAG +AGCGCACTTACCTCCAACGTGGCTTCCAGCAACATTTCCAACTCGATTTG +CTCGTTATTCAACAGGAAATTCATCGTTTTCGATGAAGTGTCATCTCCCT +CATTTGACTCATTATTGTATTGGGTGACGAGCCGCGTGGCAAATTGGTTA +ATTGCTGACAGCAATGTTTTCTTCCCGCTATTCCTTGATCCATAGACACG +TAGAACCACATGTTGCATTGGAACATTCGACGTTTCTTGGAATAGCCAGA +CTTCTGGACACGTGGCTCGGCGATCTTCTGAAAATTTTTAAATTTTCAAA +AATTTGGTTAAAAATTTCAAAGGAAAATCAATAACAAAGCTACTCCAAAA +TTTTCAGCCTGATTGGTTGGAAAATGAGCAAGTTACAGCGCTTCAAGAAT +TCTAGGCCACGGTCACCAGGGAGTGGTGGCGGTGACCCTCTATTTCATTT +TTAGATTTTTTAAATGGGAAACTCGAATTTAAATGTGAAACATCTGGAAC +ATTCCAAGAAAAATTCAAAAAAACTCTCTAAGGAGTCGATAACCCTCCCC +CAATTCCTGAGATGTGACGTCATCAGGGGGAGCCCGTGACCTCATAGCTT +CAAATTTGAATTTTTCAACGAAAAGTGTGAAATTAGATGTAAAATTACTA +GGAAATTAGAAGAAAGATTAGAAAAGAAATTTCGGGGGTGTCGCTCACCA +CCCCCCCCCCCCATTTTTATAGTGTGACGTCATAGAAAGTGGGTCCCCGC +TACCTTCCATTTTCAAAGTTTTTTTATTTTTCCGATGATTGTATTACTGT +ACTCACTGTAATTATGTGCAACAACTGGTTGTCCAGTGGAGCACGTTTGC +TTATACCCATTGTCCGTCACAAATCCATTCTTAATTCCAAAACTTCGAAG +ACTTCCCTCCGGTCGTTTTTCGACGTCTTCGATGTTGTTTTGGTGCATTT +GTAGAGAGTATTGGTATCTGGAATATTAAGGGGAAAATGGTGAAAAAATT +CAGAAATGTACAGGTAATCGAGAAAAAAAGTTAAAACTTTTTTTGAACTA +AATTTTTTTTTCAAAATTTCAAAAAAAAAATTTTATTTGAAGAACTTTTT +TATAATGTTAATTTTTCTGAAATTACTTAACTTTTTCTCTCAAAACTTGC +TCACTGAGTTTTTAAATAGATTTCTGAAATTGTCCACGTGAAGTACACTC +CCAATATATCAAAGGAGCGCATTTGCGAACTAATTTTATTAAAAATTTCA +CAAATTTATTTTTTTTAATAACCTAAAATTTCCGCTATTTTATCGTATTT +TCTAAAATAAATAAAAAATTGTCCAGGAGGAGTACATGGCCAATTTATCA +ATAGAGCTCATATGCACACTTGTTAAAAAACAAAAAAAAAACTTATTCAC +CTTGGCGGTGGGTACCGCTTTTTCACACGACGAGGCGAGTTTTCCGAGCT +GAAAAATGATACTTTTGGCTGGGAAGTTTTAGAATTTTGGGGAAAATAAG +CATTTCCGGTGAAAAAAATTGTTTTTTATTGGAATAGTTTTTAATATTCT +AGGCCATGTCGTAAAGAATTGAGTCAAAATTTAAATTTTTGAGGTACGAG +CTTCCAGTTCCCCCCACAATTCCCCCTATGGCCTAGAATTTCAGAAAACT +CTACCATCGATTCAAACTCTGTTACTTTTGAGGATAAGGGGTTCCGGACG +CCCCAAACTTCCGCCCGTGGCCTAGAACTCCCAACTTCTTCCACCGACCT +GGACGTGGTGCTCGTACTGGCAAAATGCTCATCAACATCTGGCAGTAAAT +TGTTCAACCGTCTTGGGGACACGGTACGCGGGGTCGACGGTAGACTTCGG +CGACTGATCGGCGATGTAGGAAGACTTCTGAAAAAAAATCAATCAATAAA +ACAACGACACTCTGCTCGTGAGGATCCGCCCATTCCGCTTGTTGTTTACC +AATTTCTTTTAAAAAAATTCTACAATGCGCAAAATTAATAGAACTACCTT +CTTATAATTTTTTTTTAACTCAAAATTTTCAAAAAAACAACGACACTCCG +CTTGTAGACTCCGCCCACTTTCCAAAAAGGACAATTCGGAGTGTCGTTTG +AAAAATATCCTAAAATTTGAAAAATTCATTTTTAGTCTCAAATTTTAATG +AAAATTACGTGAAAATCTATAACAACTACGACACTTTTGGCTCCGCCCAA +AAACGTCTTTTGGCTCCGCCCGAAAACGGGGCGGAGCCTGGCACTAATAT +TACAGTTTTTATTTCCATAAGTGATTAAAAAATCAACAAAAAAATTATTT +AGAAAGTATCTCAATTATTGAATGAAATTTTATAAAATCTACGACACTCC +GCTTGGAACCCCCTCCCCCTGCCAAGAATGGGGCGGAGCCTAGAACAAAC +GGAGTTTTTGCAAGAAAAATATTGCTTGAAATTTTAAAGACATTAATAAA +AATCCGAGTTTTTAGAAAAAATTGGGCCAAATCGAATAATAAAAAATACG +TTACTCCGCTAATAAAACCAGCTCATTACCAAGAAAGGGGCGGAGCGTAT +ACAAACGGAGCGTCGTTTGAAAAAATATTTTTTGGAAAACTAAAATGTTC +CAGCGGGAGGAAGCTTCTGCAAAGGCAATCTAATTTTTTTCCGGAAATTC +AATTTCCTCAGGGTTCTCTCTGCAAATTTGTTCACGAAAAAACTCGTGGT +GCTGTGCAAATGCGCTCTATTGATAATTTCATCTAGAGAGCGCAATTACA +TCAAATTAGCAATGGAGCGTTGTTGCATACCTTCTCGTTGCAGCGGGAGA +CGCTGGTGACGGAGGTGATAGCCGTGATGAAAATTGTTGGGGTATCGCCA +GCGCAACTGGAAGGGAAACACGACGATTCGACATTTTTCTGTAAAAAAAT +CCATGATAAAACTAAAATTTAAAGAAAAAATAATGTAAATAAAAGTGGGG +AAGTGGCTAAGCGGGGACACAAATACGCGGGAAATCCGCTTATTTTTGCT +GGATTTGACGTAAAAATCCGAATCAACTGGCACTCGACGCGTTTTCCAAC +AAGAAAAAACTAAAATTTCATATATTGGTGGCCTAGAAAATTCGAAAACT +GTTCAAGCTTACGTAAAGTGTGTATTTTCCATATTAGAGAATAAGATTGG +AAGAAAAATAAAATATTGTAATTTCTAGGCCACCGCAAAACTTCTAAGTC +ACCTATGAAATTTCTAGGCTACCGTGAAAATTCTAGGCCATCATAAAAAT +AAAATTTATATATTTTTGTCCTGAAACTAAGTCCACTTCCGCCAGAAATA +ATAAAAGCAACAAAAAAGACAACACAAAAAATTGAGAACTCTTAAGAACA +AAAGAAATCCGACCCGAAATCGAATACCCCACGAAAATTTTCGGAATTTA +GAAAGAAAAACTATTTTTAGACACTTTTTTTCCTTCAAAAGGAGGAACTT +TGTTGCGCGGCCTAAAAAATAGAAAACTCGGCCACCGATTTGTTTGCGGC +CACGGGACACTCCGCAGTTGCAAAGGCTACAGATGCAAATACTGGAAAAC +TAGGTCACCAAGTGGAAACCTTGGTCATCGCGTGGAAAAAAACTTTGACA +AAAAATTTTTGAAAATTTTATAAATTTATTCTAGGCCACCACCTGTAAAC +CTAGGTCACCATGTGGAAGGCTAGATCACCAAGTGGAGCCTAGACCAGCA +CATAGGCCTCTAGGCCACCACGTAGGAAATTAGGTCACCAACTGGAAAGC +TAGGCCTCCACATGATAAATAATATTTTTTGGAATTTCGTTTTGACCAAA +GAAACTTGTTTTTACCAAAATATTTGAAAATCGTTTTCAAGGCCGTCCGG +TGAAAACTGTGTAAACCTAGGCCACCAAATAGAAAGTCAGGCTGCGACAT +CTAAACTTAGGCCACCAAGTAGAAAGCTAGGCCATCAAGTAAAAACCTAG +ACCACTATGCCAAAATAGATGCCTTCTAAAAGTTTCAGGGAAAAAATGTT +TTTCAACAAAAATTTTTAAAATCGTGGCCGAGTGGACTTTAATAAAATTT +ACTTTTTCAGCCACGTGGCAGAGGGATATCGGAGCATCGTTTGAATTTTC +TAATTTCTGAAAGAAAACCGGAACACATTGCAAAAATACGAAAAATATAA +CTGAAGCTGACATATGAAATGAGTTCTATGCTCCCCGCCGCCTATTCTTC +TCATTTTTCTGCTTATTTTTGTCGTTGGGGGGATGCTGGTATCATATTCT +TCGTCCCCTCTTCTTTCATTGCCAGTCTATTCAGTATTATAATTAGCGTG +TATTCCCTATTGGATTCTGCTCCCCGTCGTTTTTTTTTCTATGCGAAAAA +AATAGAAAATACGAGGTGAACGGGAATTTTTATGAAAACGAACGAAGAAT +TTGAGTTTTCTAGGCCACCAAATTGAAACATAGGCCAGCAAACGGATCTC +TAGTAAAAACCTAAACCACAATACGAAAAACTAGGCCACCAACGAAAAAT +GGGAGATTCCGCTTGTGTGTTCAAGCATTTTGTAAAATTCTAGATTGTTT +TAAAAACTTAATTTTTCCAGTACAAAAATCGATTTAAAAACAATAAATAT +GTCAAACTCGTGACGTTTGTCAATAGAGCGCGTTTGCATGTCAAACAAAA +CATATTCGGTGTAGATTTACGGGGACACTTTACAAAACAAAAAACCTTCA +CAAGGCTCCAAATAAGAGCTAGAAAATGGAACAAATTTCCGTTTTTTTTT +TGTTGGTGAGTGTCTTGTGAGGAGGGGACCGCCCGTGTCTCTTCCAAAAA +CATTATTAAATTAGTGTGACGTCATCACATTGAAAAACAACAAATATAGT +TCGAGTTTTGAAGAAAAATTTCGGAATTTTTCTGGTGAAAAAATTTCAAA +AATTTCAATTTTTTTTTAAATCTTAAAAAATTTTTTTATATATTTTTAAA +TTCAATGTTTGATCTGAAAACCAAATTTTCACACAAAAAATCTGGTTTTT +GACGTCTAAATTTGCTTTTTTTCACCCAATTACGAGGTTCTCCGTGGGAA +GGTGTGTCTAGACACTTGAACTTTTGCTTTTTTATTTTTTTTCTAATTGA +AAATGATTAAGCTAGATATATTTTCTCTCTTTTCTTAATCAGAATTGTTT +TTGAAGATTTTAAATTTTTACACTCCCGTGCAGCAAATGCGCTCCGATGA +GAAGTATGGAAAATTACAACTGGAGATTTTCAAAATGTTCAATTAAATTT +TGCGTTTTTCTTTTAAAGGTTCAAGAGTCTAGAAAACTACGAAAAGGTGC +TGTGACCTTATCGATGACGTCATCACAATTCTTGAAAAACTGGGAAAATG +AGACGATGTGGAAAGAGGGGATTATTTATGCTTAAATAAACTTTTTGCAC +TAATTAATTCATATAGTTGTAGTGCTTCTTTATATTTTAAGAGAAATTGC +AAATTTTGCACCCAAAAAAGTAGACGGCCGAGTTATGGGAAAACTCTTCC +ACGGACACAAGACGTGGAAAACTAAAAGTTTCCGTTGTTTTTTATACGCC +CGCATGGCACATCCCCGCCCCAACAAAATTTTCAGGTTTTCAGGGTGAAA +ACATTTTTTCAGCTGCTGGGCGGCTTCTCGTGCAGCTGGAAATGTATTTC +CAGACGGGTTGGAACCGGGATTTGTCATTCAATTGTTGCAATTACGCTCT +ACCGCTAAACCTCGTTTGGACTCCACGTGGACAACACGGTGCCTTATTGT +AAATTTCTCTTCCATCTCCATAATTTCAGAACAAACCGTCGCTTTTATTC +TCCATAATATTATAATTTTATTTAAAAAAATCTGGAAACATTTATCGATT +TTTGTGAAAATCTATGTGAGATTATTGACAGAAATACAAGAAAATCGATG +CAAACATGCTCTATTGCTAAATAGTTCGTGTACTCTACGTCGACGACACG +ATTTCAAGAGTTTTTCGTTTTTTGAACAAATCATCTGTTATTATTGCAAA +ATTCGGTACATTACTCAAAAAAAAACAATAATTGATAAACATGTAGAAAC +ATACATGCAAACACGCTCCGATGCAAATTATTGATTCTCCAACTTTTATT +GTTAAGTTATCTTGAAAAAAAAACTGATAAAACGAGAAGTCCTTGGTGGT +ATCGGTCGCCTAGAAACAGATGAAAGAATGGAAAAACAAGTATTACGGGC +GGCTCCGTTTCGTATTATGGGGGGTGGGCCGCAGATGATCCTTTAGAATA +AGAAAAATGTCTAGTATTTTGTGATACTTGTGAAATATAACCCTAAACTT +AAAAAATAAATTAGGGCTCAAAAATGGTATTTTTCTAATGTAAGCCTACA +AGCACAAAGGTATTCAATTTTTTTTCAATAGCTAAAAAATTAATTTTTAA +ATTGTGATATCATAATACTTACACAAGTACCAATTTTGTTTTAAACGATA +GAATATTCCATAACTTTTGGGTAGGATTTTCTGCACTCGAAAAAAACGGG +ATTTTCAACAAAAATAGTGGACTTTTTAAAAACAACGAAAAAGTTTTGCT +TGGGACCAAGTCTAGCAGATTACAAAAACTGATTCTTCCAGTCAAAGATT +TTATATATCACTTAACAATTGTTTTGCCTACCTAGCAAATTCCGAAGTCA +GAAAAGTTGAATTTCCCTCCAACAATTTTTTTTCATAGTCAGCCAATTTG +CATTTCCCGCGAAAAAATTTACGGATTCACCACAATGGGTCTCCCACCAA +TAAAATTAATTATTCATTTATCTTCTTAAAAGGTCACACGAGATGCCAGC +GACACAGGGCAAGTGCGACCACTATCCCGAAAAAGACACCGACAGAACCT +AACGAAGGCTTCCAAAAATAGCATAGAAATACAAGAGACACAGAATATCC +CATGATGTTCTGTCACTTTCAACATCATTCTGCCTTTTTTGTTCCCTTGT +GTATGGTGACTATAATTTGATTGTTCTGAATAATCTGATGTCTACTTGTG +TTGTGGACCACTATTGATTTTTGCTGCTTTGGTTAATTTGAGGTAATACT +TTAACAAATTTGTTTTAAATATCATAGTCATTTTACAAATTTCAACAGTT +TTCCTATTAATCCGCTAAACCGCAACTAAAAATGAAAAATTAAAACTTTT +CTCAAAACTGTATGGGAAAGTTCAGTGACGGTTATGATAATTACAACATC +GTTAATGCAAATTTAACAGGTTTCGCAAAATTATATTCAAAAAATTTTTT +AAATCGTTTATTACGGTAACAAGAAATGTTGAGAATGCGTATTACACAAC +ATATTTGACGGGCAAAATATCTCAGAGCGAAAACTACAGTAACTCTTTGA +ATGAATTCTGTAGCGTTTGTATCGATTTACGGGCTCGATTTTCGAAATTA +ATTTATATTTGTAAAGTGAAAGCTATATTCAATTTTTCTTCGATTATTTG +TTGTTTTGTTTTATTGTGTTTTTGTTTTATTTTAATATATTTGTCACTTT +TCAAATAGAAATTAATATCGAAAATCGAGCCCGTAAATGGACACAAACGC +TACAGTAGTCATTCAAAGAGTTACTGTAGTTTTCGCTCTGAGATATTTTG +CCCGTCAAATATGTTGTGCAATACGCATTCTCAACATTTCTTGTTACCGT +GATAAACGATTTAAAATTTTTTTTAAAACTATTTTTTTAAGTAGAACAAA +ATTCAGAAAACAACTCGATAAAAATGTCCTAGTCATCCGATTAAAATAAT +TTTTTGAAATAAATAATATGAAAATTAAATTTTAAATATTAAAAATGTTA +TTGTTGCTTTAAAAAACGTTATTGGACTTTTCAAGGCGGCAAAAAAATGA +AAATAAAAATCGATTATTTTTTGAATTGTTGACTTTTCGGTTTTTAAATG +TTGTTGAAAAGAAACGAATTGTATATACGAATTTCAATTAAAAAGTTTAA +AATGTTTTTTAAAATGTTTTATTTTTTTCAGATAGATCAACTGAACTTCA +TAACTTTAAAAAGCCAGTCTGGGATGTATCTATACCACTCTATCAGACTA +CTCTTAGCACTAATCACAATGTACGACCCCGTGAGAGATTGTTGTCTGTA +CTGGATACTACACGAGTGGTAGAATATAAAGAAGTGTGGTGACAAGTTTG +GGATCTGAGTCCAGTAGAAAAAAATCATTCTACCGAAACTCGAAACTATG +AGCGACTGGTCAAAACTATGCATTTGACGACGTCTACCTGTTTTAAGTTA +TTGGTGGTGAGTGTGCCTTTGAAGAAGTCGCTCGAGCCTCGACCTTCTCC +GACTGGCTTGAACTGAAAGATCCTCGGGAATCATTTTTAGAATTTAGAGG +TGGAGTACCGTCTGTGGATTTTTTTTTGCTCGAAACGATAGAATACAGCC +CCAATATTCCGAACAGGGGTGCGCGGCAATTGCCGTGTGGCAATAGAATT +TTCGGCAATTTCGGCAATTGCGGCAACTTAGGCAATTGCCAAAATTGCCG +AAAATTCACAAAACCGGCAATTGCCGAAATTGCCGATTGCCGGAAATCCG +AATTGGAAATATAAATTTGATTTTTTTTTGTAGTTTTAAGAGCTTGAACA +TGCATTTTACTAAACAATTTTCTCTTTTTAAGCTCAAAATGGTTTAATCC +TTTGAAGATTGACCGTTTTCTTTTAGAAAATTACTGACAGAATATTAAAA +AACAATGTGACATTTTTCAATTTTCGATATACATTTAGGTTTGAAAATTG +CCGAAAATGCCCTGCAATCGGAATTTCGGCGATTTCGGCAATTGCCGAAA +TTGCCGATTGCCGGAAATTTTGAAAACCGGCAATTGCCGAAATTGCCGCG +CACCCCTGATACCGAATATAACTGTAAAAAATGTATTAATTTTTTTGTTG +ATTTTTTGAAAATTTTCATAAAAGTAAAGAAAGGGCCAAATTATGTTTGA +ACTACTAGTAGTCTGTGACTTCATTTTTGGCATTTTTCCGTTTTTCAGCA +ATAATGATTGGTTTTCTTTGTTCTCTAATTTTAAACATATTTCTTCACAA +ATGTCTCAAAAATTAACAACTTCAGTTTAAAGTAATAAAACAAAAAAAAA +AGAAAAATAAAGAAAAACCAGTCAGTTTTTTCAAAAATAATTCAAAAATA +ATTCGGTCCTTATTTTTTTTTTTTTGCAAAAAAAAACAAAACAAACTCCC +CTATAAAAATTTTCCAAAAAAAAATTGGAAGGTTTTTTTTATTTCAGCCT +ATTTTTGGAAGTTGTCGAACTCGATCAAAACATTTTTTCATTGGTTTAAG +TTTTATTATGCTTGAAATATTCAAATTCCAACATACCAGGCATTGAAAAA +TCAGTTTTCGTCGCTTTTTGACTCGAAATAAAAAAAACCAAAAATTTTTG +AAAAGTTTTATTATGATAGAGTCATTCAATTATATTCCCAGTACTTTTAA +ATAATCAAACAATTTTTTAGAATGGCTAGTTTCAAAATCGGCGGCTTTGT +CGTTACATATGAAAACATGCACAACAATATGAAAAATAGGTATGTCTTCA +AAAATATTAAAAACAATATTTTTTTAATTTTACAGATGTTAGCAGTTCGA +CGAAGCAATGCAGGAACTACAGTTATACAATCAAATTCACGCTTTTTATA +TATTAATTTTTAAAATCATAAAAATTACAATTTTCATCAACGTTGATCAG +CTAGACGAATGCATTAAGAAAAGGGAAAACATAGGGCTTCCCAAAACGTC +TGCCTCGCCCGCCTTGTGGCGACCTGCGCCTGCCTCGTGCAGGCCGCGTC +TCCAGTCAGTGCAGTGCAGAAATTTTTATTTCAAAATTGTACAAAAACAT +GGAAAAATAGAGAAGGATAATTTTTTAGGCCTCGGAAATCAATTTTAAGT +CCTCTAGCTACAAAATGAACCATTTTAGAGGAGTTTCAAAATTGTGAATT +TTTACAAAAATTACCCAATTTTGCCACTTTTTAATGGTTTTTGATGGGTT +AAACCTAGATCTTCTGGATAATTCCGCATATATGAATTACCGTATTTCCT +ATATTAGTTTTGCATGCAAGACTAATTTTCAATTGGTCTGTAGGGGTGCA +AGACTAATAGAGACTGCAAGACTATTAGAGGCTGCAAGACTAATTTTCGA +ATGCTATAAAACTCCGAAACGTGACCAATTTTTGATTGTAAACTCAACTT +GATATCGTTTAAACAACAAAAAATACATCCTTTTCCAATATTTAATCAAT +TATTTGAACGCTTTTAATCAAAAACTCGAGTTCAATTTGCCCAGAAATGG +GCCAATTTATTAACGTTGCAGCATCTATGCAAGATATTGCTGGACTGGAA +AAAAGTCGGGTGCAAGACTTTTAGAGACTGCAATACTAATAGAGGCTGCA +AGACTAATTTTCGATTTGCCCGTAGGGGTGCAAGGCTAATAGGGATGCAA +GACTATTAGAGGAAATACGGTACCTGTTTTTGACAAAATTAGACAACTTT +TTATTTTTGCTCAATTTTTTTTCAGCCATCTAATTACTGTCCTTTTTTTT +TGGACAATAAAAATAAATTTTCTAAAAGCGTTTGAAACCACTATATTTTG +CAAAAGGACAATTTTTTAGGGATTGGAGATCAATTTTATGTCCTCTAGCT +ACAAAATAAACAATTTTAGAGGAGTGTCAAAATTGTGAATTTTTACAAAA +ATTGCCCAATTTCGCCACTTTTTATTTTGGTGGGTTATACCTAGATTTTT +TAAATTCAGCATATATGAATTACCCGTTTTCAACAAAATTAGACAACTTT +TGATTTTTGCCCAATTTTTTTTTCAGCCATCTAATGACTGTTCTTTTTTT +GGGCAAAAAAAATAAATTTTTCTGCAAACGTACAAAACCATTAGAAATTG +AAAAAAGGCAATTTTTTAGGGTTCCGATATCAATTTTGAGTCCTCTAACT +TCAAAAATGACTATTTTAGAAGAGTTTCAAAATTGTGATTTTTCTGCCAT +AAATTGCCCATTTTTGCCACTTTTAATGGTTTTTGGTGGGGTATACCTAG +ATTTTCTGAATTCTGCATATATGAATTACCGTTTTCGACAAATTTAGACA +ACTTTTTATTTAAAAAATTAAAAAGGATTAAAGGACGATCCGTTCTTCAA +GTGCTATGCACTGCGGATCTGGGATTCAGGTACACTGCCTGGTGGTGATC +CCTCTGGGCTGTAATTTAAGCCACGTCCTAGCCGAGGACTGTGGCCGATA +ATCCAGTCGTGGATTGCTCCACTTCCCAATAGAGGCAGGGTGAACCTAGG +GGGTGAGGCCGGACTTTTATCTCGTGACCTCCAGACTGCTAGCGGCCACC +ACTACCGACTGAGCTATCTGCCCCCCTTGGGGAAAAAAATAATTTTTTTT +TTTTTTGGGCAAAAAAATAATTTTTTGGAAATTGTACAAACCAAATATTA +TATATTAAAAAATATTATCCAAATATTCCAAATATTCCAAATATTCCAAA +TATTCCAAATTCCAAATATTCCAAATATTCCAAATTTATTCCAAATATTA +TGAAAAAGGCCATTTTGTTAGGGCTGGGAAGTTTGAATTTTTACAAATAT +TGCCCAATTTTGCCGCTTTTTAATGGTTTTTGATGGGTTAAACCTAGATT +TTCTGAATTCTGCATGTATAACTTACTTGTTTTCAACTAATTCAGACAAC +TTTTTATTGTTTTTTTTTCAAATTTTTTCAGCCAATTAATGACTGTCCTT +TTTTGGGCAATTTTTTTTTTGAAACAAAAAAAAATTAAATTAAATTGCCC +AATTTTGCCACTTTTTAATAGTTTTTGATGGGTCCCGGAAACCTAGGAAA +CCTAGTCCCGGAAAATCGAAAAATCGAAAAAAAATTTTTTGAAAATTTAC +CAATGAAAAAAAAAAGACTCAATTTTCTTCCAAAATAAAAAAGTGGGCAA +AATTTTAAATATTTTTCGAAAAAAAAACATAACTTTTCAAAAAATTTTTC +GATTTTCCAACAAAAAAGTGAAATAAGAAGACATGCAGGTTACTGTAGCT +GATAAAGCTTCAAGCGTACCAGGACCCGAAAACCGCCGCCCGCGTAAATC +GACATATTTAATGTACCATCAATTTGATCCTCCTCTTCCTCCTTCTTTCA +ATGACACCACACAACTTCCTGTTATGAAGGTCTCAATTCCCCTTCATAAC +ATTCTTTGTAATTAATGCACCCTAAACAAACTGTGCAAACACACTTAGAC +ACCCCCCTCCTACACGGTCTTTGGAGTTCCCCCGCTCAACTCTAATGGAC +CTGGTAATCCCTTGCGCGGTGGGATTTTTCGGGTCTCGCCGCGATTTTTA +TCCGAATTCCGGAATACCGGAAATGGCGTGGAAATCGATATTGCAACAAA +GAAAACTGTTTTATTTTCAAAAATCCGCTCACTTTTTTTAAAAGTGATCT +TTCAATCATTTTTAAAGTTTTTTTTTTTGAAAGCACGCGTTTCTGGCTTC +CCACATATTTTGGAATGTAAGAGATTGCCGAGTTAGGCCATTTGGACTCG +GCCACGGCCGGGGTCGATTCACGTAGCGGCTCGGTTTCTGTAGAAAACTA +AATGTATTTGTCCGTATGGAGTACACAAGCTTTTCCAGGCGTTATCCGGC +AGGCGATAGAAGCCGCGACGCAACACGCAACGCGCCGTAAGTCTACCCCG +GCCGTGGCTGAGTTATGATGGCCTAACTCGGCAAACTCTTGCATTTGAAA +ATATGAGCGAAGCCAGAAGCAGGTGAACATGGATTTCTGGCTTCCCTCAT +AAATTGAAAAGGGAGAGTTTACCGAACTAGGCCATTTTGGCTCGGCCATA +TCTGGGGCAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTTTA +GTTGTAAAACTGAATGTATTTGTCCGTGTGGAGCACACGACTTCCCCACG +CGTTGTCCGCTAGGCAATTGTTAATGGAGCGCGAAAAATTCAATGAGGAA +GGCCAGAACCCCGTGTGTGATTTTTGCAACTACAGCCCAAAATTTGAACG +GGATTAATACAAATTTAATTTGAAATTTGGATTTCGCAATTCAAAATTTG +CGAAATTAAAATTTCGAAAACCCGAATCTCATCGAAATTAAATTCCAAAG +TTTTCATTCAAATTTCAATGAGGTCTCTATTGAGCCGAATTCCCGCGCAC +GGGAGGTAGTGGACCCCTTTTGTATGTTTAGGGGTACAAAGACCCCCTAC +CACCCCTTGTATATGCACAATAGAGAACACTCAAGACCCGCCCACCCTAG +GCCCCTCATCCAAAACATATCCGAATATACCCTCTACTGTACTTTATTTA +CTTGCTCCGTTTACCCGGGTACCAGGGTACTCCCTAAACTAACTGAATTT +CCAAGGTGGTGGCCTAGAAAAAGCTCTTCCACTGGTTTTTTTGTGGAAAG +AAATGATGAAGGTTCTTGTTGTTTTATTGCTTATGGTAGGTTTTTTTTGC +CACGTGTCCGGAATTTTTAAAACTATTTTTCTATTTTTTAAAGGCCCAAA +ACTTTGTTTTTTTTAATGTTATCGTTTTTTCGTGAAAAAAATTATTTCAG +AAAACGGGGGTTTTAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCT +AGGCTTAGGCTTAGGCTAAGGCTTAGGCTTAGGCGTAGGCTTAGGCATAG +GCGTAGGCTTTAGGTTTAGGCTAAAGCGTAGGCTTAGGTTTAGGCCTAGG +CTTAGGCTTAGGCTAAGGCTTAGGCTTAGGCGTAGGCTTAGGCGTAGGCG +TAGGCTTAGGCCTAGGTGTAGACTTCGGCTCAAACATAAGCTCAGGGGCA +AAAAAAGGAGAAACTCCCACAAATTCCTAAAAATCCTGAAAATTTTTTTA +AATCTTAAAATAGTCAATTTTCAGTGGAAATCACAGTGAGCATTTTGAAA +ATCCAATAATTTTCAGGTAAATTCGACATTTTCGTTCGGATTGGACAATG +AAATAATCGGTGAACCAAAGTTACAATGCAATCCGGAAAGTATTACATTC +TCCTTCAACACACGGAATCCGTTTATGTTAGTCTTGGGGTCTCGACACGA +ATTTTTCCCGCAAAATTAGTTTTCCACGCGTGAGTACACCGCAAGTAGAG +CGCTTATCAATAAATTATAAATTATCAATAGAGCGCACTTGCCCCCGGTG +AATTTCAAAATTTTCAGAGGAAACGTATATATTCGTGGCTTCTACCGAAC +ACCCGGCTGTCGTCGGCAATTCCTCGCACCGAATCAGGCTGGCGGCTCAT +TTACGGTACGGCTCGGCGATTGCGGGATGCGGCGGTCCCGACAAATCAGT +GGACATTCGCCACGTGGCGTCAATCAGCACATCACTTTTGTTGCGAACTT +TCATCCGAATCTCGCGACGAAAGAGGAACGATCATTCAATATTCGATGCT +TTTATGCGCACAGTGAATCTGTTGTCAAAGCTGATCTGGATGTCAGGTAG +GGATGCAAATCGATAAATTCCCCGAAAATCGATACATTTTCCAAAAATCA +ATAAATACCCAAAAAATCAAACAATTCCCAGGAAACTGGAAGAAAATTCT +CAGAAAATCAATAAATGTATTTGTTTTGCAGCTCAATGCCGGAGGAATCG +TTCGAACAGGGTGTGACAATCGTGCCCCAATGCACATATTCCCTTCGTGA +AGGGACATTTGAGGGCCCAAAAGTGTCGAATACACGTGTCGGAATGACAA +TTGTTCATCGATGGGACTGTGATACATCGGGGAACTATGGAATACTGCTA +CGTGGATGCACCATACTCGATTCACGTGGTGTTGAATCTTTTCCATTGCT +TGATGAGAATGGGTAAGAGTAGGGAAGTGTCGGCCGCTAGAAAAGAAAAA +TATATCACTAGAGCACGTTTTCTAAGCATTTTTCTCAATAGAGCGCGCTT +GCTCAATTCCCTAAAATAAATTATGGTGCATCGAAACGTGTTTACGTACT +GATAGAGCTGTAGTACTCGAGGAAGCTGAAAAAAATAATGAAGAAAGTGA +AAAAAATCAAAAGTGTGAACACAGCAGCCTTGTCAGATAAATTTCAAAAA +TCTGTGCATTTGGTCGTAAGTTATGGCGCATCAAAAGTTTTTTGAAATTC +TCAATAGAGCACATTTCAAAAAAGAGCGATTTTCGCAAAGCCCCTTTCTT +CGTTGTTTGATTTAAAAACAATGCAATTTCGTTTATTTCGCAAATTTTTG +AAAAATGAGTTAAATTTGCAACAGAGCGCGATTGCACACACACACACACA +CACATCAAACGTCAGAGACCCCACTGATTTTGGAGATTAAATTACGGTAG +ATAGAGAATCACAAGGAAAACATCACGAACTTTGTTCCGTCAATTCCCGT +GGTGCTTGTTATCATCAGAATGCAAAATTTGAAAGTCTGAAATTAAGCCG +TTTCCGCTAAAACGTAGCGAATCTCATTCCACCGAGTCTATTTTCGTGAG +GTCTCCAATTTTTCAAGTCTCTGCTCGTTATGGTGCATCGAAGGGTAATT +CAAAATTTCAAATAATTTTTAGACACTTTTCGACCAGTTTCAAATTTTTT +TTATGGTGCATCGAAAGAATTTTGCGTAATTTTCAATAGAGCGCGATTAC +TACTCACCTCTAAATTTCTGCAAATTCTTTTTCCAGATGCTCAGTGTCCC +GTGACTTCCCACAAGTGGTATATCTCCCATCACTGACGTCAGCCTACATG +GCAATCGAAGCCATCTCATTTCCTGACCAACCATCGATTTCTTTCTCGTG +TCAAATTAAGTTGTGTGATAAGGGAAGTGATGAGTGTCGGGGTATGAGTC +CCCCCGCGTGTACCCCATTGACACAGGTCCCCATCACGGGACAAGTACCA +ATGCCATTTGATAATACAATTGGAAATACGTTTGGTGAGTTATTTACGGC +CGAGAAAACCTGCAAAAATAAAAGTTCAGCCACCGAACTTTTTGACATTT +TTGCGCAACTGTATGCCGCACAAAACTTTACGTCAGAAGTGGGCGTGTCC +GCCTGCAGGCCCCGATGTTTTAGATGTAAAAAATTAGATGTTTTAGATGT +AAAAAATTGAAATTTGAATACAAAAAAAAATTCGGCCACCGATTTTTTTT +GCTTTCACGTTTTGTCAATGCATTTCCAATTTTTTTCGTGAAACGTTTTT +GTCAGAATTGGGCGTGTCTTGTAAAGTCCCGCCCAATTTATGGGCGTGGC +TTGTTTCGACCAAAAATACTGTTTTTTTAACTCACAAAAACAGAGCTATA +AACTTTTTGAAAAAAACATCCCTGTCCTCTCCTTTCTCCATTCTAAAATT +TGAATTAGATGGCCGTGAAAAACCCCGGCCGCGGTCTTCAATTACAGTGA +AGAATTTGGCGGCAGAGCGCGTTTTCACAGTCTTTTTTTGTCGTCACTGA +GCAAACTTCAACTGCTTCCAGCCAGAAATTTACAAGCAAATTCAAATTTT +CAGACGGAATCCCACTGGAGCCGTGGATGAAAGAGCCCTCTCCTCCCACT +GATGACGTGGCAAACATCACCTCAGAAGGCGAGCCAATGCCTCGGCTCAT +CACCGAAGAGGAACAATATCAAATCGAGTCGAACCATGTTGAGGCGCGAG +AAAAACGATTTGCTCATCGATTATTCAATATCACATCGGAAGATCTCTAT +GTTGAGCCAACCGTCGAGCCAATGGAAGTAGAGATGCCTGGAGCACCGAG +AGAAACTGCTCGGAGGGTGTCTGAGCCATGTGTCTCGGTTGAAACTTTCT +ATATTTCGGCGCTTGCTGTACTTTTCGTTTTTGTCGTTTCGATTGGGATG +GTCTGTTTCTTCGGAAGTCATATGCTTAAAAAGTTGGTTTTTTATTGATT +TTCCTCCCACAGGGTTCTGACCTTCCTCATTGATTTTTTTGCGCTCCATT +GACAATCGCTTGTCGGAAAACGCATGGGAAAGTCGTGTACACGGACAAAT +ACATTTGGTTTTACAACTAAAATCGAGCCGCGCCGCAACACGCAACGCGC +CGTAAACCTACCCCAGCTATGGCCGAGTCAAAATGGCCTAGTTCGGCAAG +CTCTTTCATTTCAAAATATGAGGGAAGCCAGAAATCCATTTCCCCAAATT +GCAAGATATTTGTGGCGTGGCCGAAGTTTTCTAGTTTCTCGGCCACGTTG +TCAAAATTATTTTAAAAAATCGCTGGAAACACTAAATTTAGATATCTCCT +GTAGATTGTGATTCGCGGAAAAATTCCATGAATCTCGTTCTCCCAGTTTT +TTTTTTGTAAATTCAACAAATCAAATGAGCGCCAAAACCTCACAAATCTC +ATACTCCCAAAATTTGCGTTCCTCTTTTTCTTGAGGCCTCCTCTTTTCAC +TGTAAAATTTAAAAAACTCGTAACTTTTTCTTCAGAGCGCGATTGTACGC +ACAGAAAGTCTTTAAAGTCTGAAAATATTTTAAAGTTCCCCAAAATCCCA +CAAGTCTCATTCCACCGAGAGGTCATTTTCCGTGAGGTCTCTTTCTTGGG +TCTCGACGCGAAAATACTGTAATTTTATTAATTTTTTCAGAACTCAAGAC +TGTGAAATGCCGATTCCAGTCCCAGAAGGATATTATCTAAGCAAACACTG +AAACTCTTGTTTAAAAGTATTCGTTTCCCATCCACGTGCCATAATTCTTG +CATTTTCTTTTTTTTTCCCTATTTTTATTCAATTTATTTACAATTTGTTC +AATAAATAATCAATAAATAATAATTAAAAATAACATTAAAAGTCACATTT +TCCGAAGGAACCACGCGTGGAATGTAACGGTGCCGTTGTCGAATGGTTCC +GGCTGAAAATTGATTAGTTATCATTGGAGCGCAATTGCATTTTTCTCGAA +AAATCGATGTTTTCGTGTGATGCAGAATTATCGATTTTTTTTAACTTGGT +GGCCGAGAAAATGGAAAACTCAGTCATCGACTTTTATTTACCTGGAACGA +AAAAATTTAAAGTATGATCACGCGCTAAAGCCTCAATTATGCAAAATGCT +TTAAAAACGGGTTTTGGAATTTTCTAGACCACTGGTGACGTCACTCCTTT +TCCATTTATTATTCTAACTGTTTTCTAGGCCACTGATGTCGATATTTTTC +CACTGCTGGGTTTCTAGATCGCCTGCGACGTCATTTCTCTTCCATACCCT +GCTCTAGCGGGTTTCTAGGCCACTGGAGAAATTATTTTTCTTCCAAAAAA +AAATCTAGGCCATTAATGACGTCATCATTTTTTCTTTTCTTTAGGATTAC +CTCAGGTTCCTCATATTTCAGATCCATCCTCGCCAATCGTTCATTCTCAT +GAACTTTTTCCACTTTTTCACTGCTCGTACTCTTCTCATCTACTGTATCC +GCCACCACAACGTCCGGAGCAACAACTTGCTCATCAATATGCTGATATTC +GGGCTCCTGGCGGTCCCAACGTGGTGTCTCTGGTGCAGTTTCATATTGAT +TTTGCTGCTTCTCCAGGAGGTTCTGTATTGAACTGATCGCTGAGGAGGAT +CCAACGATCGGAGGCATCGGAGGCGGCAGAGGAGCCATAGATGGAGTCTG +AGAAGCCATCATTTGGAGTTGGGGGTAATTCCTTTGTTGGGACATCTGTG +GGGACATTTGTGGGGACATTTGAGGGGACGGGGACATTTGGAATACCATC +GGAGGCATTGGAGGTGGTGGGGGTGCCGGAGCCATTCGTATCATTGGAGC +CATCACGTAAGATGGTGGAGATGGTGGGAGACTGGAATTTTTTTTTTGAA +TTTTTTTTCATAACACGGGCTTCTGGCCTTCCTCATTGCACTTTTCGCGC +TCCGATGATAATCGCCTGCCGGACGACGCGTGGAAAAGTGGTGTACTCCC +CACGGACAAATACATTTAGTTTTCAACTGAAAACCGAGCCGCGACGCGAC +ACGCTACGCTCCGTAAATGGCCTAATTTCTTTTTTTTAATCTTGAGTTAA +AGTTTAATTTTAATTATTTCTACAGAATTGAATGGCTGGGAATGTGCCAC +GTGGCCGAGAATTCTCCTGCGTGGCCTAGAAAATTCAAAAAAATATTTTT +TGGTGGTTTTGATTACAAAATAAAGGATTTATACGGATAAAAACCTATTT +TAAAAGCCGTGAAAAAAATCATATCAACCACTGCCTAAAAGATTGAAATT +TTTATGATGGCCGAGAATTCTCAAGTGTGGCCTAGGAAAAATCAAGGCTT +TTGAAAATTTGCTCATTTCGAAAATTAAAAAAAACAACTCAATTGATAGT +AAATTTTAAAATTAAAAATTATTTTTCTGGTTTTTTTTTCTCAATTTTTG +CAAAATCAAAATTATAATCAATTTTTAATCCAGAATTCGTCAAGTGGCCT +AGAATTCTACTGCGTGGCCTAGAAAATTCCACCAAAATTTAAATTTTCCA +AATTGTAAAAATGCTCCAAAAAGTTGAATGGTGGCCGAGGTTTTTCGTTT +TTCACTTTTCACAGCTACGGAAAAAAACTCGGCCACCAATAGTTTTTCCT +AGGCCATGTTTCAAATGCCCTATTTCTATGTTAATTACAGTATTTTCTAG +ACAAGATTTTAAAAAAACTCACGAATAGCACATGGAGCTCTGACACTTGC +TCCCACCAATACAAAATTCCGAATTTTTTACAAAAAACTGCAAAACTATA +AGAATTTGTGGTAGAAATTGGGGCATTTACGTAATAATAATAATAGAAAA +ATGTCCGCAAATTTTTTTTCATAAATTTCATAGGGAGGAGGTAAGCTTCA +GCTAGAAGCCATTCAATTTTATTGGGGCGCCGAAAATCTTCGGAACACTT +TTACAATTTATACAGTAGTGTACAACTTTTACAACTTAATAATATCTTCA +ATACTTCCAGAATATTCTTCTTTTTCCTCCTCAATTGCCACGTCATCATC +TTGTAATCTGGTCCATTTTGCTGGCGAGGCGTCGGCAAACAGGCAGAATA +TAGTATTTACGAAGAGAAGTAAGCCCGCATGCGCCAGGAAACAATTACGC +CAGTCTGTGAATCTGAAAAAAATAATCTTGTCTTTTAGGGGACCTACGCC +TGCCTGCCTACGTCTGCCTTGCAGGGGACCTTTGCCTACCTACTTGACTA +CCTTCAAGTGAGACCTATGCTGGTTTGCCTGCATTTTTGTCAGTGCCTTC +TAGGCCTATGCCTACCTTACAAACTATGTAGGTCAACTGCCTGCTTTCAA +GGTGGCCTAGGTCAGCCTACATGCTATCTACGTCTACCCCAATGTACCCT +GTGCCTATCTACCTGCTTTTAATGCTATCTGCCTTTTCGATAGTCTTTTA +GGGAATCTACGCCGGTCCAGCTCACATAGGTTATCTATGCCTATGCCTTC +CTGCCTGCCTCCAAAGTGACCTACGCTTACCGTGTTTTTTTTTCTAGACC +GTATATACCTACATGCCTGCCTTTAAGTTTACCTATGCCTGCCTGCATTC +CTCATGCCTGCGTGCCTACATGAATACCCTAAAAACTCACGTATCATCAG +TAACAATCATATTGACGAAAAACGGTTCGATGAATATCGTGCAAGCCCAG +ATGTTCATGATCTGGAAGAGAAATCGTTGGCCTAAAAATTTTCTCGGCCA +CCCCCTTACCTGCTGCATTGCGAAATAGGCGTACTGCTGGGAGTGCAACG +TGGCACACTTGTTGAATCCCGCCGTATTGCACCCCATCACACTTTCGGCG +CAAATCTGGAATGATGGAAGAGAATAGGAAAACTAGGCCATGGATGTATG +TGCGCTATGTTGATAATCGGTTATTTTCAACGTGGATTATCAATTGAGCG +CACTTGTCCCACTGGAAGAGTTTTCCTATCTAGGCCACCACCACCACCCA +CTCACCATTATAATAATAGCCAGCAAGTGTTTTTCCTGTGGAATAAATGC +TAGAACGATGAAAAAAACGGCGGCCACGGCCAGAGCGATTGTGTTGAAAA +TTTTAGTTTTCAGAGTTTCTGAGATGAATCTGGAATATTGATTTTTGGTG +GCCGTAGAGAGGAAAAACTCGGCCACTGATTTTTTTCACAATTATAAAAT +TATTTTTCCAGGAAAAACCCCCGAAAAACTCACTTAATATAATCACTAAT +AATTCCCGACGATAATTTCGTAAAAAATTGAAAAATAATGGGTAAGGCGG +CCAAAAAACCGGACGAAAGTACGTCATAGTTCAAATAATTTTTCATATAT +TGCGGATTGAATTGGGATACCAATTGAACTGTTATCAAATCTCCAAACGA +TGCGATCCAACAAGCCCACAGGCTTAAACTTGTCAGAATATGACGGAATG +GAAGATTTTTTGGCCGGGATACCTGCAAAACGAAAAAGTAACGGGCTTCG +AATTTCCCCCCCCATGTTTTCAAATGGAAGAGGTGGCCGTGAATAAAGCT +AACCTCGACCGGGGGTCGCGACTCGCGACAAACGGGAAAACTCAAAGAAA +TTTCGTACTGTCGCTACTTTTTTTGAGTTTTCCTGTTTGTCGCAGGTCGC +GACCCCCGGTCGAGGTTCGCTTTTTTCACGGCCACCTCTTCCATTTGAAA +ACATGGGGGAAATTCGAAGCCCGTGAAAAGTTAGGCCATGCAATGCGATG +TGGTGGCCGAGGTTTTGAAAACTCGGTTACTCTCATGTAAAAAATCTTGA +AGTTGAAGCAAATTTGCGTACATGAAACCCATTTACCTTGCTAGCAGTTT +TAGAAAAATTTGGGATTTTCTCATACTAATGAGGGAACGTCTTAATTGTC +GACAAATTGCGTACCCCGAGGAACCCACTAATTCAGTCCTAGGTTTAGGC +ATAGGCTAAGGCATAGGCTTAGGCGTAGGCCTAGGCTTAGGCTTAGGCTT +ACACGTGGTGTCAGAGTGCCTCATTTCGGCTTGATCTACGTAGATCTACA +AAAAATGCGGGGGAAGAGCCGCAGAGTTTTCTACTGATTTCGCATGGTTA +AGAGTGTGCTGACGTCACATTTTTTGGGGCAAAAATTCCCGCATTTTTGG +TAGATCAAACCGTAATAGCACAGCCAGGCACCACGTGCGCTTAGGCTTGG +GCTTTCCGTAGTCCTTCGGGCGCGTTTTTCTCAAAAATGATACGTGGTAC +AATTTCAGGTTTTTTTCCGCTCCAAAATCTAGTTATAATTTGTGTCCGGT +AGAGCGCGTTTGCACTCACTTTCTTTCCCGATTTCCCTTCTCGAATCCTC +TCCAATTCCTTCTCGCCAACCCAACTGTGCTCACTCGGCGAGCACTTGAA +AAATAGGAAAAACAGCGAAAAAGTGACCAACGATACACCGGCGTGCACAT +AGTAAACCGACGTCCATCCACCAGACGAAGAGCATAACCATCCCGAAACT +GGCATTGTAAATATATTTGAAAGTTGTGTATTTCCGGTTAATAGGCCAAT +GAATACTCCGTGCTCGTATGGGGTCGCCCAATTTGCTGTAATTGAGCCAG +CGAGGGGAAATGTGGCTGAAAATGCCATTCCTTGACAAATACGGGCGGCC +ACAAACCATCCGTAGCCAATGGTACTTGCCAACGGGATAAGGGCTGTTGA +AACTGGAAAAATTGAGTGCAATACATCATATTTGACGCGCAATTTTAAAA +TTTAAAAAATGGAAACGCGCTCTAATGATGCTTGGTGTACTCCTCTCGGA +CAATAAATGTCAATAATTTTTGAAAAATCGATAATTTTTTTTTAATTTCA +GAAAAATTCGTGAAATCTGTTTTATTTTGCGCGTAAAATATGATTCTTAA +ATACTTAATTCAGTATTTTACGCACGTGGTATCAGAGTGTCTCATTTAGG +CTTGATCTACGTAGATCTACAAAAAATGCGGGAGAAGAGACGCAGAGTTC +TCAACTGATTTCGTATGGTTAAGAACGTGCTGACGTCACATATTTTCGGG +CAAATAATTCCCGCATTTTTTGTAGATCAAACCGTGATGGGACAGCCTGA +CACCACGTGCTTACGCGGAATTTTTCACAATTTTTTGTGCTTCATGCACC +ATGTTTTTGTTTCGAAAAATCAGATTATTGTTTTGCGCGTCAAATTCAAC +GCCCACTGTGCAATACACCATATTTGACGATCAATTTCAAAAATTTTGTA +TGCTTTCGATGCATGCTTTTTGGGGTACTGTAGCTTTGAAAATACGCATG +CACTGGATCTGACGACAAAATGCACAGTTTTTATAAAATTAGTCTATAGA +AATTAGTCAGTTTTCTCGAAACAAATAAAAACTACAGAAAACTCGGCCAC +CGATATTTTTTTTTTTCGCGGCCACGATTGACGTCATACCTCCCGAAATA +ATTCCGGCGACAATGAAGACAGGTTTATGCGGCAAATGTTGAAAAGAAAT +GGAAAATGGAATCGAGGCGGCAAGACTTCCAATAGCCACACACGATTGAA +GAAAATTCGACTCTGATTTGGTATAGTTCACTGAAAAAATCAACTATTTT +GGCGGCCGCCAATGGAAAAACTCGGCCACCGAATTAAAAAAAAAACCTTT +TGAAGTTGAAGTACTATTATCATCTTGCATACAAATTTTTGTAAAATTAT +AAGTATTCATATTTGAAAGAATCGAGGTCAAACACAGTGTGGCACATATT +AAAATCTGCAAAAAAATCGTGAAAATTCAATTTTCCGGGGGTTTTGAGTT +CAAAAAGTACCAGAAATCGGACAGGAACCGGCGAGTTGACCATGGTGCAT +CAGAAACCGGAATTTTAAATAAGTAAAAAAATTTATGATGCTCGTGGTGA +TAACGAAAAGTGCAGTGATCAATTTAAGGGAAATACTGCTGGGGGATTAA +ACGTTGACACTGTCAACTTGATAGTGTTAATTTGATCAATGCTTTGTACT +TGTTTTTTGCAGGAAAAATTCTTTGAAAATTGCAAGACTATAGTATAGTC +TGAAAATTTGATGAAATCTAAAACTTTAATAAATACCGTTAATTATCATT +ATTTTTATGAAATTTTAATATAATCTACTTAAAATTTAATTTTCTAGGCA +TCTGTGAGCTTAAATTTTCGATTATCCCTCGCCAAATTAAAGATTTGCAG +ACTTTTAAGCTTATAAGCTTATTTCAGTGAGAGAGAGCATTGTGAGAAGA +GAAACGCAGACGAGGCTGGCGCGTTTCTCGTGCTCTGACGCGAGTCTCGA +TTTGCTTGCGCATTTCTCGTGCGCGCGACGTTCATTTTATTTTTCCGATT +TTTTTTCAGTTTTTCTGAACTTTTCTTCTTGAATTTGTGATTTTTTATTT +ATTTTTCACGTCTTGTTGCAAAATAACTGATTTTTCACACAAAATATTCG +AATTTTCAGGTCGGCAACATGGGATTCTTGTGGAAAACTGCAAAACTCGG +AATTAAAGTTGGACTCGTCGCCGGCGCCGTCAAACTGTCAATCGATAACG +ATATTTGGTCGACTAACAATGTTAAAGTATTAGTTTTCCCCCGTTTTTCC +ACGAAAATTTTCATTTTCAGGGCAGCGAACTGTATCAAAAGCTTAAAAAG +TACATTCTTCCCGGCACCGTCGTCTTTCCAGAGCAGGTTTTATCGATTTT +TTCTCTGAAAATGCAATTTTTTTCTTATTTTCAGCTCCCAACAGTCGAAG +ATGTGCAGCTGAAGGCCGGTGGAAAGTGGAACAGTGCTGTTGACTCGGTA +GGCTGCATTTTTGAGAGGAAACACGGAAAAATTGCTGCGAAAGTTGGAAA +AAAGTCCTGGAAAATGGAGATTTGGCGCCGAACGTTCAAGAAATTCCATA +ATTTCAAAAATCTATCTGAAAAATTGAAAAATATAAATTTTCAGTCATTT +TTAGTCAAATTTCAGAGCTAAACGTCGAAAAAAGTGCCTAAAACTAGGAA +AAATATGACAAAAAGACACAAATTTTGGAGAAAATTGCTGAAAATAATGC +AAAACACTTTTTTTCACAAAAAGCGAAATTCAAAAAAAATTCCACGTCAA +AAATTAACCAAATGCAAGTACGCTCCATCGCACTTTTTTCCAATTTCTGA +CTCGAAAAGTCTTAAACTTCTGGTTTTGTAGGAAAGATAATGCAAAACGC +AATTTTTAGTCCAAAATTCAGAGAAAATTCTGAAATTGTTTTTAAAAAAA +ATGCAAGCACACTCCATGGCACTTTTTTTTCAAAATTTCGCGTAGAAAAT +TACAGACATTAGCAAAATTCCGACGATTTCGCTGCGAGACCAGAAATATT +GTAGGAAATTCAAACATTATCCGAAAATAATGCAAACGCGCTCTATCGCA +CTTTTCTCCAAGTTCCCACTCAAAAAGCATAGAAAATACCTGAAATTGCC +GTTTTTTTTCACCGGAATTTCAAATTTACGCGATTTCGCTGCGAGACCCA +AGCTAGTGCAGTGGAGCGCATTTCCAACAATTTCAAACTCAATTTTTTTC +AGGTATTCACCACAATCGAGAACGTCCCATCAAGCGTGAACACAGTGGCC +AATCGACTCATCAATAATAAATAAATTCCCCATAAAAATTATCGATTTAT +CGATTTTCCCCCCGAATCCTCGTGTATTCCTTCGTTAGAATGTACTTTTT +CCCTCCTCATTTTCTAGAAGTATTTGTGTGTGTGCTCTATGAAAAAATTT +GCAATTTTTGACTTTAAACGGACGGTGCATTATATTATTTTATCAGTTCC +CATCGTTGATCAATTTTCTCCACTGATTATCAATTCACTGATAAGCTCAC +ACTGCCTGCCCAACTCAATTCATCGCAACTTCTTCTCCCTGCTTTTTTTT +GCCATGAATTCGACGGTGGCTTCCCGTTTCTCATGGGGACTCATTCTGGC +GTCGATCGATTTTTTGGCGTGCCTACTGTTCGCCTGCCTGCATGATGGAA +CTTTCAAATTCGCGAATTTTACTTCGCAATTTGGCGATTTTTCGTTTTTT +ACGAGGTTCGATTGATTGGTGGCCGAGTTAATTTTAGGCCACGAAAAATG +AAAATTGAAGCCGAGTGTCATTTTCGCTGGAATTCTAATTTTCAGTGTGT +AAAAATATAGAAAACTGCAAAAAATTTTGAATTCCCGCCAAAAACTAACG +TTACGAGACCCAAGTACAGTGGAGCGCAGTTGCAAAAAAAAATTTTTAAT +GATTTTTTGCAACTACGCTCCACAGTCCTTGGGTCTCACAACGTTGAAAC +TAAAATTTTGGAATTTCTCCCATAACTTCTTATAATAACGATATTCGGTG +GTCTCGACACGACATATTTTCATTAAATAAAACGGGTGTGCGCCTTTAAA +GAGTACTGCAGTTTCAAACTTTAGTTGCTAAGCGTATTTTCAACAAAGCA +ACGAAAATTTGAACTTACAGTACTCTTTAAAGGCGCACGCCCGTTTTTAT +TAAAACAAAAACTTGTCGTGTCGAGACCGGGCACCGTAGTTTTGACGCTA +AAAATAAGATTTATGAAAAAGCGGGTTTCCAGAAAATTTCACTTTTCAAA +CTTTGATGAAAATTTGAAGTTTCCAGCCAAAATCGCTGCGAGACAGTGGA +ACGAGTGCAGTAGAGCGAAATTGCTGTAAAATTTTGAAAAAAAAGTGAGA +AATTTAAAAACACGGATTTCTGGCCTCCCCCGTAAATTGAAATGGAAGAG +TTTGCCGAACTAGGCCACTTTGGCTCGCCCATATCTGGGGTAGATTTACG +GCGCGTTGCGTGTCGCGACGCGATTTTAGTTGGAAAACTAAATGTTTTTG +CCCGTGTGGAGTACACGACTTTCCCACGTGTTGTCCTCTAGGTGATTGTC +AATGGAGCGCAAAAAATCCAATGAGGAAGGCCAGAACCCCGTGAAAAAGT +ACGCGTTTTTGAAGCAATTCATCGAAAGAAGACAGTAAAAAAAAAGTCAA +AAATTCAAATTTCCAATAGAAAAACCACCAAACCCAACAATTTTTCCAGC +ACAATCGACCTATTCTTGCTGCAATTTTTCCGTTTTGCACTATGGATGGT +GCCGGCGGCAATCCACGTGGCCAACAAGGCGGACACGTTGACAATGTGGA +AAGAGGTCGGTGGCCGCGTGGCCTAGAAATCCCGAAAATTTCAAATTTTC +AGCCAATTTTCTGCTCGGCACTGCTCATCTGCGCGGCGAGCCCCACAAAA +TTGCTCCTCCTCACAGAAAAGCTGAAGCCCGATGAGTTCCTCACTTTCGG +CGACACTGCCTTCCTTGTCTGGAATTTCATTTCCGCGATCATTTTGAACT +CCTCGTGGACAAGATACTTCTCGCGAACTCCGTCTTCATATATAATTCTG +GAGGATGAGGATGTAAGTGCGCTCCGCTGAGAAAATGTTTTGATCACCCC +CACGATTTTCAGCTCGAGGTGGCTCCAAAACAAACGTTTGAGCTTATTTT +CCGCCTGCTCCAATACTGCAAACGTGAATGGCTCTGGCATATTTCCGGAT +TCTCGTGGCTCTTTATTTATTCGATCAGTAAGAGAATATCCATCGGGGGT +TTTTTGTTTCGAATTTAAAAAAAAACACAAGTGGAAGAGTTTTTAAGATT +TCTAGGCCACGCACCCACTCCAAAACCCCAATTTTCAGCCCGTATCTTCG +TTCCCTATTACACGGGACAAGTCATCGCTACCGTGGTCGCCACAAAATCG +TACCCAGCCCTCTCCAACGCTGTCTACATCATGACAATCATCTCGTTGGT +GAGCGCTGTCGCCGCCGGATTCCGTGGAGGATCCTTCGAGTACGCCTACG +CAAGGATCCAGAGGGCAATCCGCTACGATTTGTTCCACGGACTCGTGAAA +CAGGATGTCGCTTTCTATGATGCTCACAAGACCGGAGAGGTGACTTCTCG +TCTGGCTGCTGATTGTCAGACTATGTCGGATACAGTTGCGTTGAATGTTA +ACGTTTTCCTCAGGTAGGTGTGGGTCCGTGACCGAAGTTCCCAGATCACA +TGACCTAATTTTCCCAAATTCTTCCAGAAACTGCGTTATGCTCCTTGGAT +CGATGATCTTCATGATGAAGCTTTCGTGGCGCCTCTCCCTCGTCACATTC +ATCCTCGTCCCAATTATCTTCGTCGCCTCCAAAATCTTCGGAACATATTA +TGATGTAAGTGCGCTCCAGCGAAAACGTTTTTCTAAAGTTTTGACCCCAA +AATTCTGTCAAAGTGCCCCATTTTGGTTTGATCTTCGGAAAATGCGGGAG +AAGAGGCGCAGGCTTTGCAACTGATATCACATGGTTAAGATTGTGCTGAC +GGCACATGGAAAAATTCCCACATTTTTTTGTAGATCAAACCGCACCTGAC +ACCACGTGAAATTTTTGACAAGTCAAGAAAAATTTCGGCAATTGTGAAAT +AATCGAATTACCGCCGCACGTGGTGCCAGGCTGTCCCATTACGGCTTGAT +CTACAAAAAGTGCGGGATGTTTTTGCCCAACAAATTTGACGTCAGCACGT +TCTTAGTCATGCGAAATTAGTTGAGAACTCTGCGTCTCTTCTCCCTCATT +TCTTGTTGTTCTACGTAGATCAAGTCGAAATGACCCACTCTGACATCACG +TGCCGCCTCCCACCCCTGCTCCGACCAGGAATCAGCGGATCTACTTAGTC +TCAACTTGTTTTATTTCAGCTCCTCTCCGAAAGAACACAGGACACAATTG +CCGAGTCCAATGACGTTGCCGAGGAAGTTCTCTCCACAATGCGTACAGTC +CGATCCTTTTCCTGCGAGAACGTCGAAGCCGATCGCTTCTACGGGAAGCT +CACCCACACACTTGATGTCACCAGAACCAAGGCGATCGCCTATATCGGAT +TCCTCTGGGTCTCCGAACTTTTCCAGTCGTTCATCATTGTGTCAGTCCTC +TGGTATGGAGGCCATCTAGTGCTCACCCAGAAAATGAAGGGAGATCTTCT +AGTGTCATTTTTGTTGTATCAAATGCAACTCGGAGATAATCTTCGTCAAA +TGGGAGAAGTCTGGACAGGATTGATGCAATCTGTTGGAGCAAGTCGTAAA +GTGTTCGAGTACATTGATCGAGAGCCCCAGATTCAGCACAACGGGGAGTA +TATGCCGGAGAATGTTGTTGGAAAGATCGAGTTCAGAAATGTTCACTTCA +GTTATCCAACTCGTTCCGATCAGCCAATCCTTAAGGATCTCTCGTTTACC +GTTGAACCAGGAGAGACTGTCGCATTGGTTGGACCATCTGGCTCTGGAAA +GTCTTCGTGCATTTCTTTGCTTGAGAACTTCTACGTCCCGAATGCTGGAC +AGGTTTTGGTGGATGGAGTTCCGTTGGAAGAATTCGAGCATCATTATATT +CATAAGAAGGTACGTTGGCGTCAATTTCGGTTCGACAAATCGTTTGCCGG +TTTGCCGGCAATTTTAATTTTTGGCAAATTGCCGATTTGCCGGAAGTGTT +TAGAGTGCTTTTTTATAAGACGGAAACACTTGAAACTGTGTCCGTTTTTA +AATTTTTGTGCCGGTTGGCGATTTGCATGATATTTTCAATTCCGGCAATT +TGCCGATTTGCCGGAAATTTTCCATTATGGCAAGTTGCCGATATGCCGGA +AATTTTGATTTCGAAAAATTGCCGATATGCCGGAAGTTTCAATTCCGGCA +ACTCGCCGATTTGCCGGAAATTTCAATTCCGGTAATTTGCCGATTGGCAG +GAACAAATCGTTTGCTCGCAGTCTATTCGGATAAAAATTGCGCCAACTGT +TCATCCGTTTGCACAGAAAAAGCATTTCCGCGCTTCGCTATTGGCCAATT +TCAAAATAGTGGGCGTGACCAACCAATCACGGGTGTTTCTTGCTTTCCAT +TGCTGAAACTGTGATTGGTTGGTCACGCCCAATTTTTTGAAATTGACCAA +TTGCGAAGCGATGACTTTGGACGCAAGAAACTTCCGTTTTCTCCTTTAGC +TGTCGATCGAGATTCTCTCCTTTAAAAACACATTGCCGATCTTTTCAAAG +CCCCTGTTTCAAACGACACAGCTAGTAACAACAAAAAACCTCGAAAACTT +CCAATTTTTCAGATCGCCCTTGTCGGCCAGGAGCCCGTCCTGTTCGCTCG +TTCTGTGATGGAAAATGTCAGATACGGTGTCGAAGTGGCGGATACGGTAA +GCACGATTAAATGCACCATGAGCCAAACAAAAAAACTTGTTCAGGAAATC +ATTCGCTCTTGTGAAATGGCGAATGCTCACGGATTCATTATGCAAACCAC +GTTGAAATACGAAACAAACGTCGGAGAGAAGGGAACACAAATGTCCGGTG +GTCAGAAGCAACGTATCGCAATTGCTCGTGCTCTTGTTCGTGAGCCAGCG +ATTCTCTTGTTGGATGAAGCCACGTCGGCGTTGGACACCGAGTCCGAACA +TCTTGTTCAGGAAGCGATTTATAAGAATTTGGATGGAAAGAGTGTCATTT +TGATTGCACATCGATTATCGACTGTTGAGAAGGCTGATAAGATTGTGGTT +ATTAATAAGGTGAGTTGCAATTGCGCTCGACCGAGATTTGGTCGCAAACC +TGACACGGGGTTCTGGCCTTCCTCATTGAAATTTCCGCGCTCTATTGACA +ATCGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTCCACACGGACAAA +TACATTTAGTTTTACAACTAAAATCGAACCGCGACGCGACACGCAACGCG +CCGTAAATCTACCCCAGATATGACAGAGCCAAAATGGCCTAGTTCAGCAA +AAACTCTTCCATTTCAATTTATGAGGGAATCCAGAAATCCGTGCGCCCGT +GGTGTATTACTCGTGGATAACTGCTCATATTTCAGAATTGAGAATTTCGC +TAAAAACTGTAGAATCGCGTTAAAAATGAGACCTCACCAAAACAGGATTC +ACGAAACAAGAATTCACAGAAATAGTATTCAGTGGGCGCAGTGTGCGCAG +TGTGCGCGGGGGTTGCGAAAGCACACTTTTCGGTCCCGCCCCCTAAATCG +TGTTTTTCGTGAATACTGAATCTGGGAAATTTGAAAACTCGGCGAGTTTT +TCTGTGCGGCACACCCACGTGGTGTCAGGCTGTCTCATGGCCCGACAAAG +GGTACATCAGTGTAAATGCGCTCTACCGAACAGAACGCATAACCCACGTG +GTGCCAGGCTGTCCCATTACGGCTTGATCTACAAAAAGTGCGGGATGTTT +TTGCCCAACAAATTTGACGTCAGCACGTTCTTAGTCATGCGAAATCAGTT +GAGAACTCTATGTCTCTTCTCCCGCATTTTTTGTTGATCTACGTAGATCA +AGCCAAAATGAGACACTCTGACATCACGTGATAACCTGGTTGATACTACG +CGTACGGCTTGCCGGGCCGTGTTTCTCATTGCGGTTTGATCTACAAAAAT +GCGGGAATTTTTCCCCCAGGAAAGTGTGACGTCAGCACACTCAGTCTGCG +TCTCTTCTCCCGCATTTTTCGAAGATCAAACCAAAATGAGACATTTTGAC +ACCAACACACACACACACACACACACACACACACACACACACACACACAC +ACACACACACACACACACACACACACACACACACACACACACATCATATT +TGACGAGCAAAATCGGCCCCATAATTACAGGGAAGAGTCGAACAAATCGG +AAATCACGAAACCCTACTGAAGGACACCAACGGAACCTACGCGAAGCTCG +TTCAACGCCAAATGATGGGAGATCAGAAGCCACGTAAACGGCCGGCGGTC +GCCAGATCGGGACCTCAGCCAGCCGCGTCAATCAACGTGGCAGGACCATC +GCAGGGTAATGCAATGTCCCTGTTGTCGACGTCTTTCAGCCAATCTGCCA +GTAGTGTTACTTCTCATTAATTGTTTTTTCTTCTTGTTAATTGGCAAAAT +ATTATGATGAACTTGTTGGGTTGATTAATTTGTAAGAATAAAGTATACAA +TTATTCATTCATTATTAAAATTTGGGCACATAGAAAAAATTGTGGAAAAA +CTGTAAAAAATCTGCAAAAACGTGGAAATTATTCAAATCAACTCCAGGTA +GTCGTTGTCGACATCGTCTCGCTGCCGCATCGTGTTCTGAAAATCCATTT +TTCACTTTTTTTAAAGCAGATTCCCAGCTAACCGTCGACCGGATCGTGTT +GTTCCATCCGCGGATTTGAGAGTAGGAGCTTACGGTGCCACGTGTCTCGT +TGGCAGCTTGCCAATTATTCACAGACAGCCTGTACGAGTCGCTCAACAGT +GGACCGGCGTTTAGAGTCTGAAAATATATAACGGGAACACTAAAATTTTA +GAATGCGTATTGTGCAACACATTTGACGCGCAAAATATCCAGTAGCGAAA +ACTACAGTAATCCTTTAAGTGACTGCTGCACGTGGTGCCCAGCAGGGCTG +GGAATTTTTTGGTTTTTTGGTTTTTTTGGTTTTTTGGGACCAAAAATCCA +AAAAATCAAAAAAAAAAACAAGTTACCGTGTCTAGTCTCGACTCGAGACT +ATTCTGTATTAAAATACATCGAAACATGTATTTTAACACAGTTGTGACGT +CATAATGTAATACATTTGGCAACATTACTTGAATAACCCCATTAAAAATC +ACCTAAAGCATAAAACATTTTTTGGTTTTTTTTTGGTTTTTTTGGTTTTT +CCAAAATTTCAATTTTTTTGTTTTTTGGTTTTTTTGGTTTTTCAAAAACT +TCAAATTTTTGTTTTTTGGTTTTTTGGTCCAAAATTTTTTTTTGGTCCCA +GCCCTGGTGCCCAGCTGTCCCATTACGGTTTGATCTACAAAAAATGCGGA +AATTTTTTGCCCGAAAACATGTGACGTCAGCACGTTTTTAACCATGCAAA +ATCCATGCTTCTCCCGTATTGTTTGTAGATCAACGTAGATCAAGCCGAAA +TGAGACACACTGTGACCGCGTGCTACTGTAGTGCTCGTGTCGATTTACGG +GATCAATTTTCGAAATGATTATACATATAATTATCGATAGAATAATAAAA +TTAAGCAAAAAAAAATCGGAAAATAATACGAAAAAACAAAGGAAAATTGA +AAATCGCTGTCAAAATTCGAAAAAAATTAATTTCGAAAATTGAGTTCCCG +TAAATCGACACAAGCGCTACAGTAGTCATTTAAAAAGGATTACTGTAGTT +TTCGCTACGAGATATTTTGCGCGTCAAATATGTTGCGCAATACGCATTCT +CAAAATTTTGAACTCTCCGCCTCTCACAGCTGGGTCTCGTTAGGTATGGG +GGCGGATCCTTTTCAATTGGCGGTGGAGCGCGATTGAAAAAATTTTCGAT +TTTTTTTCGATTTTTCAGAAAAAATATCGATTTTTTCCGATTTTTCAGAA +AAAAAATTCGATTTTTTTTTGATTTTTCACAAAAATTATCGATTTTTTAG +ATTTTTCAGAAAAAATATCGATTTTTTTTTCAGATTTTCAGAAATTATTT +TGATTTTTTTTTAATGTTTTGTCCCTTTTTCTGAAATTCTACCTCATAAT +GATTGCTTCTTCCACTTCCGCCTCGCTGCCCGTAGTTCAGTGTCGAGTAA +TTCGCATTCGATACTGTGTAAATCGACAGTGGAATAACCGGGTAGATCAT +AATGTAGTACAATGTGGCAAAGTGGATCACTAACTGAAAATTATTGGATT +TTTCTAATAATAAGGTGGGGAAATCCGAAATATGTGAAAAATATTTTTAA +TAAACAAATTTTCCCCTGATTCCGAATATCTATATGAAAAAATTCAAAAA +AAAATTTTCCAGATTTTATATTTAAGCTTGAAATCGCTTGAGCCCGCATC +ACTATTTTCAAATGCTTGCCCAAAGAAATTTGCATTAGAGCGCGCTTGCA +TAGTTTGATTTTCTTCATTCAAATATTGTATTTATTACCGCCAAATTCAA +TTTTTTAACCGGTTTCATTCATTTTTGTCGAAAAAATATATTTTTCAGAA +AAAAACCGGTGAAAAAAAACCAAAATCGACAAAAACTAATGAAGCTGGCT +GATAAAAATTGAATTCGGCGAAAATAAATAAAATATTTAAATGAAGAAAA +TTCTTAGGCGCAAACGAAATTCGCCATTTCAAGCTTAAATATAAAATCAG +GGATTTTTTATTTATTTTTTTTTCACATTGATTTTCGAAATCAGGGAAAA +ATTTGGGGTTAATTATAAATATTTCCCAGATTTCGGTAAGAAAAATATGA +TTATTTTTTTACTAAAAAATAACCCCCACCAGTAAAGCGTAGAAAATTGA +GATGATAAATGCGAAAATGATGAACGCGGAAGAAAAAAAGTCGGGATTCT +TTTGGGCAGTGCTGGAGTAGTTGAAGATCGAGATGATTGTAGAATAGTAG +GACAGGAATGAAACAATCATCTGTAATTTATTTTTTTAAAGCTTCCAGGT +CAATACACGTGGTGTCAGAGTGTCTCATTTCGGTTTGATCTACTGTGTAG +ATCTACAAAAAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTCGC +ATGGTTAAGAACGTGCTGACGTCACATTTTACTGGGAGAAAAATTTCCGC +ATTTTTTGTAGATCAAGCTGTGATGGGACAGCCTGGCACCATGTGGGTGC +CGAGGGTATTGCTTTTTGGTATTTTTTGGAATTTCGAAAAAAACTTTCCG +ATTTTTTTGAAAATAGCTCTTTTTATAGAAGAAAATAGTTTTTTCTCATC +AACACAAATTTTAGAACAATTTTTTCGATTATCCGGAAAATTGAAAACTT +TCGTTTTTCTATGTTCCATTTTCGATTTTATAAATTTGGGAAAACCTAAA +ATTTCGATTTTTTTTGAAAAAAAAACGAGTATTCAATAATTTATATATTA +TAGGCATTCTTTTTCTCTAATTTCTTCTGAAAAACATTAAAAAAAAATTT +TTTTTTTTTTAAACCAATTTTCAGTAATTTTTTTCTGTAAAAAATACGAT +TTTTTTCCAATAAATTTCTAGTTTTTTCTCTCTTTTCGTACATTTGGACT +GTTTCTAATTTTTGCTTGCTTTTTTCTATATTTTTTCTGCGATTTCCTAT +GAAAAGTACCAAAAAATCGGAAATTGTTTTTTTTTTTCGATTTTTTAGGA +AAAAAAACGATATTTCCTATAAATGTTTTTTTCATAAGTAAATACTTTTC +TCCTTTTCCTTTTGATCTACAATATTTCGAATTTATTTTGAAAAAAATTT +TTTAAACGTTTTTTTCTGAAACAAAGACCCAAATTTTCAATAATTCAATA +ATTTTTCTGGATTGTTCAACCGAAATATACACATTTTTCAATAAATTTAT +AGTGTTCTCCTCTATTTTTGTTGATTTTTACTACTATAATTTTTTCAAAA +TTTTCGAAAAAAAAAATTTTTTTTTTGGAAAATTTTAATTTCAATTCGAT +TTAAAAAATATAAATGTTCATATTTTTTCATCGAAATATATATTTTTTGA +TTTTTCAACCTTTAAATTGTTTCATTTTCTCTGAAAAAATCGGAAAAATC +AACAGAAAAATCGAATTTTTTAAAAATATTTTCCGATTCCGACCGTAATT +TTTATGAAAAAAAATCGGTTTTCTCGTTATTTTCTACAACAAAACCTCAA +AAAACATGCTGGGCAACGTCAAAATCGCTCGATATCGAATCTTCAGCTCA +GTCTCATGTTTCACCAAATACACCGCATACAGAAACATCGTGCAGCTGAT +GAAGAAGAAAATGAGCAGATATGCACACTTTTCCACGAAAAATTCGCCCG +AAATCATGAAACGTGGCAAATTGAGCACAATTCGATGGAGCCAATAGCAG +GTCGATGAGCTGCAGCGGAAGCTTTCATTGGGATCTGTGCAGTACGTTGG +AACCGATAAATGTTCCTGCATTGATCGGATACAGTAGACGAGCAGGCAAA +TGTATTTTACAAGTGAGATATTCTGAAAATTTTTGAATTTTTTTTCCGAA +TTTAAAATTTTAGTTTCTCGATTGTTTTGAAGTAAAAAAATTGATTTTTT +AGAAAATTATATGTTTTGTTTAATTTATTTAAAAATCTTTAAAGGTGGAG +TAGCGCTAGTGGGGAAATTGCTTTAAAACATGCCTATGATACCACAATGA +CCGAATATCATGATAAAAAAATTCAAAAAAATTTTCTAAATTTTATAGGT +TTTTTTTTGAAAATTGAAAAATCTCAGTTTTTGCCTAATTCCAATTTGAA +TTACCGCTAATTGGATTTGTTCGGTGGAGCGCGCTTGCACGTTTTTAAAT +TTTTTTATTTTATTTTATGTTATTTTCCACCGATTTTTAATGTTTTCGGT +GTATTTTTGCTCGAATTTTAGAGAAAAAGTCAAGATAAATGCAAATTTTC +AATTAAAAAGCACGCTTACAGGCGTAAAAATGACAAAGTACCGATTTTAA +ACGATTTCCAACCTGAATTAATTAATTTCACTGATTTACGCCTGTAATCG +TCTTTTTTAATTGAAAATTTGCATTTATCTTGGCTTTTTCTCTAAAATTC +GAGCAAAAATACACCGAAAACATTAAAAATCGGTGGAAAATAACAAAAAA +TAAAATAAATAAATTTAAAAACGTGCAAGCGCGCTCCATCGAACAAATCC +AATTGGCGGTAATTCAAATAGTAATTAACAAAAACTGAGATTTTTTTCAA +TTTTCAAAAAAATCGTATAAAATTTAGAAAATTTTTAAAAAATTTTTTTA +TCATGATATTCGGTCATTGTGGTACCGTGTTTTAAAGCAATTTCCCCACT +AGCGCTACTCCACCTTTAAAGTGCTAATGTAAACTTTTTGTACACGTGGT +GTCAGAAAGTCCCATTTCGGTTTGATCTACAAAAAATGCGGGAGAAGAGA +CGCAGATTTCTCAACTGATTTCGCATGGTTAAGAACGTGCTGACGTCACA +TTTTTTTGGGAGAAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGG +GACAGCCTGGCACCACGTGTTTGTACAATTACACATTATCCTGGAACTTT +CCAGAAAATTTGAATTTCCCGCCAAAACTTATGGGTCTCATCACGATGAG +TCACTAACCTCAAACCGATATATTTTCTAAAAACAAAAACTCAAATTTTC +TCAAACTACAGTAATCCTACAGTAATCCTACAGTACCCCTACAGTACTAC +TACAGTACCTTGGCATTGTCCCCCACCAATATACAACCCAATATACCTTC +AAAAAACAAACACGTAATTTTTCCCAAACTACAGTAATCCTACAGTACTC +CCACAGTACCCCTGCAGTACTACTACAGTACCTTTTTAGAACATTTTTCT +GTTTTTCGATTTTTTCGCAAAAAAAATTCAGTTTTTTCAGCAAAAAAATT +GATTTAAAAATATTTCAAGTTACTTTTTAAAAGCTTTTCAAAAGTTTTTC +AATCCGTAAAAATAAAATTTTACGAATTCTTGTATTTTTTAAATTATCTG +AAATTTTTTTTTCTCAAAAAAAAAACTTTTTTTTTCAAGTTTTCAATTAA +TTTCGGCAAATTTCAAAAATTTTAGGTTTAAAAAAATTCAATTTTTATGC +TTAACATTTTATCGACATAAAAATCATTAACAACTACGAACAATTTGTGG +AAAACGTTTTTGGCAGTGGAGCGCACTTGCGCCTCGTATTCAAAAAGCCA +CACAAAATGGTGAAATATTCCCAAAAATCAAATAATTGTTTCGCTACGAG +ACCCAAAATACCGCAAAATAGTAATTTTTACCATAGTAATTTTCAAAAGT +GGCACGTAGACCTGATGAAACGTGTCGTTCACCTCCTCCGAGCTTCTGCC +ACGTGAGCTGGTGCTCCGGCATGGCTGATACATTTGTGAAGTTCGCTAAA +ACAGAAAAATATTATAAATAAGCGGAAAATTTCGTGGTCTCGACACGACA +AAAAATAATAAAAATTATTCGTGGTGAGACCCGAGTTGTTTTGGAGCAAA +ATTCTCAAAATTGGGGTATCACGTGGTGTCAGAGAGTCCCATTTCGGTTT +GATCTACAAAAAATGCGGGAGAAGAGATGCAGAGTTTGCTGACGTCACAT +TAAAAAAAAATTCCCGCATTTTTTGTAGATCAAACCATAATAGGACAGCC +TGGCACCACGTGCGGGGATTAAAACCCGCGCCGCACAGAAAAAAGGCGGA +GTGTTATTTCGCAACACCGCGGCACGGTTTTTTGTTGATCTTTTTCAATA +GTCTTGATATTACTTGCGATTTTTGCAAATTCAAAAAATCAACAATAAAC +CGACCGTGCCGCAGGGTTGCAAACTCCGCCTCTTTTTCTGTGCGATGCTG +ATTTTTTGCGAAATTCACGAATCAAAAAGCACACGTGGTGTCAGTGTCTC +TCATTTCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGAGAAGAGAC +GCAGAGGTCTCAACTGATTTCGCATGGCGCCACACATTTTTGGACAAAAA +ATTCCCGCATTTTTTGTAGATCAAACCATAATGGGACAGCCTGGCGGGGA +TTAGAAACCGCGCCGCACAGAAAAAAGGCGGACCGTAGTTTCGCAACACC +GCGGAACGGTTTTTGATATTACTTGCGATTTTTGCAAATTCAAAAAATCA +ACAAAAAACCGTGCCGCAGGGTTGCGAATTTACGCTCCGCCTCTTTTTCT +GTGCGATGCTGCTTTTTTTGCGAAATTCACGAAAAAAAAAAAGAAAATAA +AAGTACATTTACCGATAAAAGTGACGATAGACCGCCGATATACATGGAGA +GAATAGAGAGAGAAATGTGAAGTTTATTAGAAAACAATTTTGTAAAATTA +TGATGATGATGAAGATTTGCGGAATCTGGTAATCGGTTTTAATTGCCTTT +TCTATTATATTATATTAATCACTTGATGATGTACGGCTTTGCGCTTCCTC +GTCCACGGTCTCCAGATGACGGAATCCACGTGGCGATACTGATCGATTGT +GTTTTGGAGTGGTGGTGCTGCTGGTGCTGGTGGAGGGAATTGAGGTGGTT +GCAGTGGATATTACGCTGAAAAATTGAAAGGATTGGTGGAGGAAATGAGA +GAAATTTGAGAGCATAAATTTTTAAAAATCGAAAAAAAATTTTTTTTTGC +TATTTTTGGGCAGAAAATGGCGAAAACGGTGTTTTTTTGGGTAAAAAATA +ATAAAAATTTACAATTTTTTTTGACAGAAAAATGCGGAAAAGCTGTTTTT +AGGGTTGAAAAATCAAAAAAAAAATTTTTTTTTGCTATTTTTGGGCAGAA +AATGGCGAAAAACGGTTTTTTCAAGTTTAAAACATCAAAACAATTTTTTT +GCAATTTTTTTACAGAAAAATGAGGATAAGCGGTTTTAAAGGTTTAAAAA +ATTTTTTAAAATTTTTTTTGCGAATGGAAATTTTCTGAAAAATCGTGCAA +ATGCCTAATTTGTGCAAAAATCTTATCTGGTCAATGATTTTTAAGAGAAA +ACACCGGTTTTAGAAGGGAAAAAGGCAAAAAACTGGATTTCCAGTGAATT +TTATACTAAAAATGGAAAAAATTCAGAAATTTTTTAAGGAAAAATCAGAA +TTTTCGCAATTTCTACACGAAATATATAGAAATTGAGGAGAACCTCGGAT +TTTTTGCGGAGTTTAAACAATAATTTTTCGGCTAAAATTAACGATTTTCA +GAGAAAAAACTTAAAAAAAACAGAATTTCAGTGAATTTTACACGAAAAAC +GTAGCAAAAAGAGGTTTTTAGGGAATTTCCAAGTCAAATTTCCGAAATTC +TTGCGATTTCAACCCTGAAAAATAGCGAAATTGAGGAAAATCTCGGATTT +TTGCAGATAAATAATATTTTTTCCAATGATTTCCGTCTCCAAAACACAGA +ATAATTTACCAATTCGACGATGGTGAGGAGGGAGAGCCCAGCTCGTTGGT +GACAGCCGTGAGATCCGAGAACAAATTGACGCTGGCTGAAAAAATGGAAT +AAACGCTAAATTGATGATTTCCGCTATTAAAGTGCATATAGAAATACGAA +AAAGCAAAAAAAAAAATTTTTTTTAACCTTTTCCCTGGAATCGAAGAGCA +GTTTGCTTGCGGATTGGACGTCGAAAAGGGCCTAAAATTCTCATTTTTCG +GCCTGAAATTCCTCGAAAAACCCACTATTATTGGTAGTCGGAGATGGCTG +ATCGCCTCGTCGCTGGTAATATAGCACGCCTAGCCAGAATCCGTAGAGAA +AATAAATATAGACTGCCCACACTAGGATGATGGGAAGAAACGACAATCGG +CAGGCGTCTGGAGTGAAGAAATCAAGATTTTTCAGATTAAAAATTAAAAA +TCTTTAAAGGTGGACTACACCCTTGTTGGGAAATGGCTTTCAAACATGCC +TATGGTACCACAATGACCAAATATCATGATTAAAAAATTCAAAAAATTTT +TCTAGATTTTATATGATTTTTTGAAAATCGAAAAAATCTCAGTTTTTGCC +TAATTCCTATTTGAATTACCGCCAATTGGATTTGTTCGATGGAGCGCGCT +TGCACGTTTTTAAATTTATTTATTTTATTTATTGTTATTTTCCACCGATT +TTCAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGAGAAAAAGTTAAAA +TAAATGCAAATTTCCGATTAAAAAATCACTGAAAATGCGTAAAACTGAAA +AATATGCTAGTTTCAGGTTTGTTGTCGTCGGAACTCATTATTTTACAGTT +TTACGTATTTTTCACATTTTTAAACACTTTTTAGCAAACATTCTGCATTA +ATCTTGCTTTTTTACTTCTCTTTCCGATAAAAATACACAACTAATGAAGA +AAATCAGTGACATAATAATAATAATAATAATAATAATAATAATAATAATT +TATTACGCTCGCTGGGAGACGTGAAGGAATACAGAATACAAAAGTTATCA +TTGTTCGCTTGAACTAGAATTGGTGCAGTCGGGCAATCGTTTCCATTCCA +TTAAAATGTTGTCCTTGTCCTTGCGTTGTCCTTGCGTAGACTCCCCCATA +GTGGGCGAGCGATTCCCGAGTGAAAATAATCACGGAATGAAAAAATAGAA +GAAAAATAGAATAAATTAATAAAAAAAATAATGCAAGCGCGCTCCAACGA +ACGAGTTCAATTGGCGGTAATTCAAATAGGAATTAGGCAAAAACTTTTTC +AGATTTTTTCAATTTTCAAAAAATCATATAAAATTTATAAATTTTTTTTG +AAGTTTTTTAACGTGATATTTGGTCATTGTGGTACCATAGGCGTGTTTTA +AAGCAATTTCCCCACAGGGTGTAGTCCACATTTAAAAATTAAAAATTAAA +AATTCTACCTAACAAAATCGAAAATTTCAGATTCTCCTTGATTAAAAGCT +TTATTATTGAGTAAAGAGTCCGCAGCGTCCACACGGAGAGCGGGTACAAG +ATGGAAATCTGAAAATATTTAGGATTTTCAAGGGAAAATATCGATTTTTT +TTAGCAAAATACCACAGAAATTGCGGATGGAATGAGTAGAAGAGCCGGGT +TGACTTTCCGGGGAAAGTTTCGACGTGTGATGCTCGTCTCGGAGAGCCTC +ATTCCCAAGAATCCGGTTGCGATGCTGAAGAAAATCGATGGAAAAAGTCT +AAAATATCCCCTGAAACCCTACCTAAAAATCAGAAAATACGAGAAAATAT +TGATTAAATTCCGAGCCGGCACATAATTCGGGCGGATCAGCACTCCATTG +AAGTTTCGAAACGTTTCGCCGTTCCACTGAAGTCCATCGAAGCCGGGAAC +GGATGGCGGCTCGAAATGCTCGTCGACACTCATTTGACTGGCCCTGTAGA +GCCCGATGATGGCAATGGCGAGCATTCCCACTTCCACATGGAATATCAGG +CTCTGAAAATTAAAATTTAGCTTTTAGACGGAAAAAATCGATTACTTTGA +CATGAACTTGATCGAAAAGCCAGCGATACGGGTATTTTCGGTGCAGGCGG +CCTGATTCCGGACGTGCTCCTCGAGATATATTGGAATTTGTCGAGCGGAT +ACTAATATCTGCCATTTTTTCGCTGAAAAATCAGAAAAAATAAGTTTTAA +AACAGAATTTTAATGGAAAAATAAACGGAAAAATTCGAAACTTTTTTTTC +CGCCATTGAACACCAATGTGCCTTTAAGGTACGGTAGCTCTTCGTGGTGA +GACCACTGCGCCGCGCATCTGATTTCTCGTGGGAAATTTGTTTCGAATCC +TACGTTTTTTACAGATTTTTCTTTTTTTTCGTTTCGCTCATCATTTTTTT +GTTGCAAAAAATCCAATTTTCAGACAAAAATGTCAGAACGCCAATCCAAA +TATTTTGACTATCAAGGTATCGTCATTTCCTCCACTGGACAAGATAACCA +AGATTCGGAGACGGACCTCGTTTATCTCATTCAAGCTCATGTACGTGAAT +TCCCTCCGTTTTCATATTTAAAATAATAAGCTCGTTTTCAGGGAAAAGCG +GCCCCGAAGAACATCATGTACGGTGTCTCCAAGTGCGCATTTGTTCCAAC +AAACTTGGAGAGGAATTTCGATAATATCGAAGAGGCAAAAAATCTTGAGT +CAGTATTTATTTGATTTGAGCCCATTTTTAATCTGTTAACACTTGAATTT +TTAGACGTCGATCCAAAATCCCGCTAAAGTTCGGTGAAGTCATCCTATGG +AACGAATCGGACTGTGATCACGATAAGAGGATAATCCTTCATATCAAACG +AGAAAAACCAATTTATGAAGCGTCTTCCAGCAGAAATGGACTTATTTTGA +AAGTCGGTGGCGTCATCCAGCCCACCTCAACGACCTCGTTCTGGACGCCA +TTATGCACCGTCACCATGCGTATGTTTCTTCTTGATTTTCGTCTCTCTAA +CCATATATTTATTTCAGCAGAGACAGAGGCGACCCGTGCGGAGCCAGACG +TTTGGCTATACGCCTGGATTCGATTCGAAACTACCATGAAGAGTGGTCTA +GATCCTTTCAATATGACTGCAACATTCGAATCGTTTGACAGTTGCGATCC +ATCCGACCAAGCACGCGTCTGTGAAGCGGTATTTGCTTTTTAAAAATTTT +TTACGGGATTTTGAACAAATAACTTTCAGCCATGGAACGCAGGCTCTCCT +GACTCTAAATTCGGTGTTTGGCGCCCGGATCCAAAGCCTGCTGATAGCGA +CGACGAAATTGATATCGAGCCGAGAGAAGGCTGGCACTTGCCAGAAGACA +AATGGGCCGAGGTTAAGGTTGCTTTGTGGATTCTCGTTGACAATTTGATT +TTGCAGGTCATCAAGATGCAGCTTGGCCTGTATGTCGGCGAACGCCTACT +GATTTGCAAAGAACTCTCGCAGTTCGACTTTATTATCCCACTGCAGAAGC +CATTTTCCCGAGGAACGGACAAGACTTTGATCTACCCAGCCGTCGGAGAA +TACTTTCATTTCAGTGCTATTTGGTCGATGCAGCACAACGGTTTTCTGAT +CTATGAGCTTCAGCCAGTTCCACTTCTCAGACAGCATGTAACCTCTGTCA +ACGGAAATGTAAGTTATAATATTGATTTTTTTGTCCAGAACATAATTTTT +ATTTCAGCTCCTTACCCGCGTCGTTCCTGCCAGTATCAGAGGTCTCTTCG +TTGACAAGGAGGGCACTCTTGGATTGATTGATGACCCACACCATCTTCTT +TCATTCTTCGAGTTTCATCCAGCTGGTTATGAATTCTTGAAGGCTATGGT +AATCATGAGTGGGTCTTATTTTGAAACAAACGCTTTCAATTTTCAGGCCG +AAGTTCGTGCTGTTCGAACTTCAGAAAACAAATCTGTCCGTTACCGCATT +GTTCGTACATCGGGAATGTCCATTTTTGAAAACTGGCTTCGTGATACTCA +GGTCTCTAAAGTTAAATTAAACTCGTCCTTTTCACCCCTGAATTTTTCAG +TTCGTTGTTGGTCCAGTCAAAGGAATTCGAATCAATGAAGACACTGTCAT +TTGTGCCAAACATCCGAATGTCTACTTCAAAATCCCCAATAACTTGAAGG +AAGGAATCCCCATTGGCGGAGGAGTTCAATTCGTTGGAAAGCGACAAGCT +GGAGTCGACAGTGAAATTATGATCACCGAATGTTCTCCATGTCCAGCGTT +CACTTGTAAAAATTACTCGGTCTCTGGTGATACGGTTAGTCTTCAATTAT +TTAATAGTTTTTATTCTATGAGGAAAATATTCAGCGCTTGTTCCAAGTGT +ACTTGAAGCCAAATTGCGATCATGAGCAGTTGGCGGAGAGTGATTCGATG +GGATTTGTGGATTTCAGAGAGTTGGAGACTCCATGTAGAGGAAAGTGAGT +GTGTCAGGATTTGTAAAAATAATTGTAACTGAATTTTAAGGTTCCTGGCA +TGGGTCCGTGAATCCATTACTGTCAATGATTGTCGCCGTGCTGCTACCAT +CATGGAAGTATGCTCGACAGCCATCTGTCCTCCGTTGATTGCAATGAGCG +CGAATTCGAGCAGAGCAACATCGGCCAGAACTACGCCAGCTGGAAGTTCC +ATTGGATCCAGATCATCAATTCAATCAAGAGCATCTGCAGCTACTTCAGT +GAGCTCAAACGTAAGTTTATTTTTAAGGTTGGAAGATGATAAAAACAAGT +TTTTCAGCGATTCGTTGGCCCTTCAAGCCGCAGAACTCCATCTGGTACTC +CACAAAGCTCAACATCTTCCAGGGTCTAATTAAATATATACGCATCCCGT +TTTCCCCCGTATTTGTGTTTCAAATGTTCTGCTCATTTTTAATCTACCCG +TTATCCAACCAAACATTTATTTATTTAAACTTCAAGTTCCACCACCATCC +CATTCCGCACAACTTGTCTCTCGTAATTTTCTCGTGCTCTAATGAAGTTG +TGGTAGGTTATTCTAGTGAATACACCCATGTTAAGCAGCGAATACATCCA +GAAAAGTCCCAACAAGCCGGCAGCGAGATACTCCCCCCAAAATGATGGTT +GATCGGTACATCCAAGATAGGGTAGCATCGCGATAGACGTGAGCAAGTTC +GTTATGCACTTGAAAAACTGAAATTTCAGAAAAGATTAGGTGTATCAGAA +GGTTAAAAACAAACAAATGACATATAGATGAACGAAGCCAGTGATGGAAT +CGGATTCCGAATACGAGAAGCCATTCCCGGAGATACTGTGATAAGAATCT +GTGTGATCGAGAACACAATGAGCACACCCACCGGGAACATGAATTCCATG +GAAACACGGAGGCAAAGGTCACAGTACTGCAAAAAATGCGAAATTTTGGC +GATTTTTGCTCTAAAAAATGCACTGGCCGGGTCTCACCACGACAAATTTT +TGTTGTCAGTTGAATGCCAATAGAGTGTGCGCCTTTAAGGAGTACTGTAG +TTTCAAACTTTTGTTGCAATCGATTTTACAGTTTTCCCGAGAAACAAAAG +TTTGAAACTACAGTACTCCTTAAAGGCGCACACACTCTTTCCGCATTCAA +CTTAACAAAAGGTTGTCGTGTCGAGACCCGGCCACTGCATTTTTGTAGCA +AAAAAAATTTGAAATTTTCAAGTCTGGATAATAATATATAATATTTTTAC +CTCAACTATGGGAATTTGCATTTCCAAACTATCCAAACAATCGCTGAACC +CGAAAGCATCACAAATAATCGATCGATATTGTCGCGGAATGTCACGTATC +GATTGGTAGATCATGAATATGTTGCCAAGTAACGCGAAAATCTTGAAAAA +TGGAGGATTTTGCTTTTAAAAAATCCAAAAAAAAAAACTTAAATTCGACA +ATTTCCTGTTTGAATTCCCTCCAAAATGAGAACTGCAGGACCCATCAGCG +ATTTGAGTGGGCGGAGTCCGAGGGCGCTGATTGGTCGTGCAGTTCTAATT +TTGGAGGGAATTCAGCCAAATTTGAAAAATCTCGTTTTTTTTGCAATTCT +TTTGTGGTATTTTCGACATGGGGTTCTTTCTGGCTTTCCTCATCAAGGGT +GTCAATGTCCCGTAAAAATTTCGAAAACGGGACAACGGGACGTCCCGTTT +TTTTGAAAACACTCAAAAAACGGGACAAACTGGGCGGTTAAAAAAAAGAG +TGCATAGTTGGCGTAAATTTTAGTGTATTCGAGGCAAATTATAAAAAAAA +CTGCATGTAAGTCATTAATCTGCATGAATTTAAGTCTTGAAACAAAACTC +AAAAACAGAACTTTAAAATGTGCAACAAAATCATGAGAGAAATTGTCCCG +TTCCCGTGATAATTTTGAAAACGGGACAGCGGGACGTCCCGTTCCCGTGA +AAACACTCAAAAAACGGGACAACGGGACAAACGGGACACGGGACTTGACA +CCCTTGTTCCTCATTAAAATTTTCGCGCTCCATTGATAATCGCCCTGGGA +AAGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACAACTAAAAT +CGAGAAAATTGGGAGAGTTTTTGCCGCGAACCTGGCCTAGTTCGCGGCAA +AAACTCTTCCATTTCAAAATATGGGCGAAGCCAGAAATCCGTGATATTTT +CAGCATATTTTTTTGATTCGAAGCAAATCTCAGTTTCTCACCACAACGAA +CAACTTCACATTCGGATGCCGCCCGTCTTCGAAACGTGGAATTCCAACTG +AATTCACCGATTCGACACTTGAACCGGGTGACATCATCATATTTTCAACC +AGCTCATACTCGAACTCCGGAATATCCGGCACCACATCAATCGGTGCTGG +TTCTGGCGGTGGCGGCTCAACTGACACTTTTCCTTGATCTAAAATTTGTT +TTTTTCTGAAAATTTGTCACTGTACCAAATCAAAAAAAAAACCTTACCAG +AACTCATAATTTTTGGATTTTAATTTGTAAATTGCAAAACAGAAAATGAA +TTGGAATTTTTTCACTTTTTATTTATGGGAGGGGGAAATTCTTTGTTGTT +GCAATAAAGTAAAACAATCACAGTAAATGCCAGTACAATAGTTTTTCACG +TGTAATATATTAACCAATTACTATATTCAATAACTCTGTCGTCTAAATAC +ATAGGGTAGGGGGGAAGGTGAGGGAAAATGGAAATAATAAAGTGAAATGT +TTTGTGTACTTGCGATAAAACAATCAATAAATGGGAACAAGCCGATGATA +AACTGATAAACCGAACGTGAATATCGAGAGAGGGAGGAAGAAAGCGTATA +CCCGTTAATGAAATCAAGTTAATGGAATTATTTGGATTGAAACAAAACAA +CGAAAATATCAATGTTTGAGCATAAGGAATGAGGGAATGGCACTGGTGGT +GGTGGATAAATGAATCGGGGGGAACGGAATCTATGGAAGTTTCGAATACA +TCGCATCGAGTTGCTTCGAGTAGTGAGCCTTCAGCTTCGGACGCTTGCTC +TTCAACGTTGGCGTGAGAAGATCATTCTCGACGCTGAATTGCTCGGCGGA +GAGACTGATATCGCGCACTTGCTCGAACGAGAAGAGCCCGGCTTTCTTGC +CAACAGCGACCATGTCATCGAGGATCGCCTTTTTGACGGCGTCGTTGTTG +CACAGCTCTTCGAATGTTCCCTTGATTCCTTGGTCGGCCATCGCTGGGAC +GAGAACCTAGAAAAATTGAAAATTACATATATATATATATATATACACGC +TCTCCTCAAAGCCGAATAATTATTAGAGCGCGCTTACTGCGCTTCGCGTT +TCTGCATCCGCGGCATTTTGACTTTACACTGAAAAAAGCAGATATTTCAG +ATTTATCGAATTTTTAGCTTTTAAAATTTTTTTCTGCATTTTTCGAACAA +ACCTTTTGTTAAACAGTGAAAATTGAATTTAAAATGACTAAAATGAACTT +TTTTCGTTCACTGGTTGTGAAATGGTTTGAATTTGAAGAAATCAAAGGGA +TTTTTCTGAATTTTTTAATAATTTTCTATTAAAAATCGGTTTTAAACCAT +TTTTTGACCCTAATGTTAAGTCACAAATGTATTGAAACCGGTTTTTAATA +GAAAATATTTAGAAAATAAGAAAAATCCCGTTGATTTCTTCAAATTCAAA +CCATTTCACAACCAGTGGACGAAAAAAGTTCATTTTAGTCATTTTAAATT +CGATTTTCACAGTTTAACAAAACGTTTGTTCGAAAAATGCAGAAAAAAAA +TTTTAAAAGCTAAAAAATCGATAAATCTGAAATATCTGCTTTTTTCAGTG +GAAAGTCAAAATACCGAGGATGCAGAAATGCGAAGCGCAGCAAGCGCGCT +CTAATAATTATTCGGCTTTGAGGAGAGCGTGATATATATATATTTTTTTT +AATTTTGAAAATATTTAAAACCAAAAAACCAACCTCAGCATCAGGTACAA +CAATAGCAATGAGACACGTCTTCAGTGATTCTCCATGAACAAATGATTGA +GCGACATATTTCGAGCGGACATAGATGTTCTCAATCTTCTCCGGTGCCAC +GTATTCTCCCTGCGAGAGCTTGAAAATGTGCTTCTTGCGATCCACAATTT +TCAGCGTTCCCTCAGGAGTCCATCGTCCAATGTCTCCAGTGTGCAACCAT +CCATCCTCATCGATCGTCTCCTTCGTTTGTTGCTCATTCTTATAGTATCC +CTTGAAGATGATGTGTCCCTTGACACACACCTCGCCGGCTTGATCCTTCG +CGTAATAGTTCAACTCGGGCACGTCGACCAACTTGATCTGACACGATGGG +ATCACCATTCCGACGTGTCCGGCTAGCGAATCTCCTTCCATCGAGACAGT +GCAAGCGGCGACACATTCCGTTTGACCGTAACCCTCGACGACGACACATC +CCATAGCGGCACGAACGAAGGTGAGCACATTCGTCGAAAGTGGAGCCGAT +CCGGTGATCATCAGACGCACACGCCCTCCGAATCCTTCGCGAATCTTTTT +GAATACCAAATTGTCGAAGAATCCGTCATTTCTGATATTGAAGCTGGAAA +AAAAAAGAAGATATTAAATACTATCAAATCATTCAGACCACTCACTTTGC +CATATCTCTGGCCTTGTATGAGATAGCGAAATCAAACAACATCTTCTTCA +AAGTCGACTTGTTCACTTCAGACATCACTTTATCGTAAAGCCGATTCAAG +ACACGTGGCACCACTGGCACCACAGTCGGCTTCAACTCTTTGATATCCTC +GGCCAACACACGTATGTCACCACGATAGAATCCGACTTTCGCGCCGACAC +AGAAGCACACACTCTCGATGACTCTCTCGAGCATGTGAGCCAACGGAAGG +AAGCTGATCATCGAATCGGTCGCCGCGATGCCACTGTGCTTGAAGAAGTC +CATACAGACACCGTCGGCGATCACGTTCGCGTGAGTGAGCATCACACCTT +TCGGTGTTCCAGTCGTTCCTGACGTGTAGCATATGGTCGCAAGATCCTCT +GGTGTTGGTGGAATGTGTGCTGGACGAGTCTTGGCGTTCTTTCCAATCTT +CTCGAGATCCTCGAACGTGAGCACCTCGACTCCGAGCGATGACGCAGTCG +TTTTGAGCTCATCGGTGACTGGTTCCATCACAACAAGTGTGCTCAAACTT +GGGCATTGCTCCTTGAACTTTAAGAGACCTGAAATCAAATTTCCTTTTGT +TTTTAATAATATTCCTTATCAAACTCACCAGTGGCCTTTGAAATATCATC +ACAGACAACAATCTTGATCTCTGCCTGATTCAAAATGAATATCGACGCTT +CTGATCCAAGGGTCTCGTAGATCGGCACAATCACATTCGAATAGTTGTAG +GTGGCGAATTCGGTGATGATCCATTCGGCGCGATTCTTCGAGTAGATCCC +AATGTTCTCCGCGTTGCCAGTCGGAACGCCGAGCTCACGGAACGCGACGG +ACACGTTGTCGGCTCGCTCGAGAATCGTATTGTACGACTCCCACACGTAC +GGGATTGAACCATCCGACTGTTTGACTCGACGTCCGAGCATCGGCCCGTT +GTTCGAGAGACGGGCTCCACGGCGAACACCCTGGTAGAGGGTGCGCGCGT +CTTCGAACAGGAAAGCCTGGAGTTCGTCGTCCTTCAGGTAGGCGCTGATG +CGGGAACCATCCTGGAAATTAACATTTTAGTCGGGGGGTTTTTTTGGAAT +TTTTTTTTCGCTCGTTTTCTATTGTAAACCGAGCCACGACGCGACACGCC +GTAAATCGACAAGCCCAAATGGCCTAATTCGGCAAAATCTTACATTTAAA +AATATGAGGGAAGACAGAACTCCGTGATTGGAGAAAATTAAAGGAGGACT +AACGGTTCGGACGATTTTGAACGTATAGACCCAAAATGAGCTCAAATGAA +TGAATTTCGTAATGAAACTGCTCAAAAATTTTTATGGCGGTTCAAAATGT +TGAAAAAATTACACTGATTTTGGCTAAAATCACGAATTTTCCCATTTTTC +CGTGTCACATCTGTTCGAAGTTGGATTTTTTGGAATTATCGTTTTTTATT +ACATATATTGGTAGTTTATCTCATTTAATTTCGTCGATTAAAGTACATTT +AAAGCCGATAGGTAACCAATTTCGATAATTTTTGGTCACCTATCGGCTTT +AAATGTACTTTAATCGACGAAATTAAATGAGATTAATTACCAATATATGT +AATAAAGGACGATAATTTCAAAAAATCCAATTTCGAACAGATGTGACACG +GAAAAATGAGAAAAATTCGTGATTTTCGCCAAAAACAGTGTAATTTTTTC +AAAATTTTGAACCGCCATAAAAAATTTTTGAAAATTTTTTGAGCAGCTTC +ATTACGAAATTCGTTCATTTGAGCTCATTTTTGGTCTATACGTTCAAAAT +CGTCCGAACCGTTAGTCCTCCTTTAAGTTTAAAAAAAAAACGGCATATTT +TGCCCAGTTTCTCTCCAAAACTCACCGGCAAAATGCGACTCTGATTCATC +GGATCCACCAGTGGCTTGACATTTCCCGAATAGGTGACCCCACTGAACGA +GTAGGATCCCGACGTCGATGACGAGCTCTTCGACAAGTAGTATCCGAGGC +CCATGGTGACTGCGGCGGCGGCTCCGATTTGAACGTACGGTGGAAGGGAA +GAGTTCGAGTTTGGTGCCGAAATGAAATCGACAATACTTCTGTAACAATT +GAAATTATATATAGAGAGGACGGGTGATGATGATGAGTCATCCAGGTTGT +TGTTGTCGCGCGCGCGCGCCCGCACTGTTCCCCACAAAACAAACAACTTA +TTTGAAATTATGAAATCGAAGTTTCTTTGTTATTTTATTTTATTTCACAA +GATGGTTTTCATGTTTTATATACCATTCGCAAAAACAATACCTAGTTTTT +GCTCGTTTGGACTCAGAAATTTTGAGACTTTTCTGAAAAGTTTAATGGCA +GATCAAAATTTCGGAAAAAGGTGAATTTTAGCGAAAATTCGCCGTGGTTT +TTCGAAATTTTGATCTGCCATTAAAGGTGGTGTAGTCGAATTTTTTTATT +GCTTTATTAGACTCAAAATTGTCTGAAAACACCGAATTTCATAATAAAAC +TTAAATGGCCTAAAATTAGCTAAAATTTGAAATTTGACCGACTTGTCAAG +CGGCTGGAAACGTTTTTTTTTTGAAATAACCGTCAAATTTTGAATATACA +GTGCAATTATCTTGCGTTTTCAACTTTATTTAGGTACTTTAAAGTCGATG +AACGGCGAGATTTGTTTTTAATTTTTCACGAAATCTCGCCGTCCATCGAC +TGTAAAATACCTAAATGAAGTTGAAAACGCAAGATAATTGCACAGTATAC +TCAAAATTCGACGGTGTTTTCAAAAAAAAAAAAACTGTTTCCAGCTGCGA +CGTCGGTCAAATTTCAAATTTTAACTAATTTTAGGCCATTTTTTGAGCCG +TCATAACTTTTTTTGAGGAGTTTTCAAGAAGTTTTATTATGAAATTCGGT +GTTTTCAGACAATTTTGAGTCTAATAAAGCAATAAAAAAATTCGACTACA +CCACCTGTAATGGCAGATCAAAATTTCGAAAAACCACGGCGAATTTTCGC +TAAAATTCACTTTTTTTCCGAAATTTTGATCTGCCATTAAACTTTTCGGA +AAAGTCTCAAACATTTTGAGTATAAACGAGCAAAAACTAGTCATTGTTTT +TGCCAATGGTATATAAAACATGAAAACCATCCTGTGAAAAAAAAACAACA +AAAACACTTGAAATTCGTAATTTCAAAGTTCTCCAAAAAAAACATACACA +CACCTCGATTGAGACTGTACCCACGCAGCCGTGTCTGTGATAACCATTCT +GTGTGTTTCTGTGTTTAAGTGGCCTATTTATAGTCTTCTGCCAAAAGACG +AAACCGCTTCTAAAATGAGATTAAATTGAGGTGGAAACGACGACGACGAA +GAGGTGGAAGAAGTGAGGGTGAAAATCGAAAAAACAAAGAAGAGATCAAA +GTTATTCCATCTTTAGAACTTTCTCCACTGCCAGCAATTGATAATAATAA +TAAGATTTTTATGTTGATAACTCTTTCGGTATCAATACAAAAAGGGGTGA +AAACCCGCCTCGACAAGCCTTTCGATCAGGCCATATATTTCTTTATCACA +CTCTCCGCACATTTCGGAACAACTTTGACCTCCCCGGCAAGGGGGCAAAA +GTTTCGAGAAGTTGTGTTGCGCGCGAAGGAGATGGAGAAGATGGAGAAGA +TAGGCAAACACGTACACCTCCTCAAACAGTAGTAGTAGTGATAATTGATT +TGATTAGTGATTCGGGTGGGCAAAACGAGAGAGATAGAAAGAGAAAAAGC +GAAGAGGACAACGAACACGTGTAATCAACCGTGTGCCAAAGTTCTCGCCC +TTTGGACTAATTGCAGTTTTTTTGGAGGAAATTCAATTAACACTGAAAAC +TAGTTCGTTTAAGTGTTTACGCTGAATGGGCCAGGTTTTGAGGGAAAACG +ATTTTCGAAGAACTTTAAATGTGGGGTACCGAAATCTGAAAAATATTTTA +AATTGACTCCAAATTTTCCCCTGACTCCGAATATCGATGCGAAAAAATTC +AAAAAAAATTTTCCTGATTTTATATTTAAGCTTGAAATCGCCGAATTTCA +TTTAGAAATTCGCATTGGAGCGCGCTTGCATCGTTCGATTTTTTTTTCGT +TTATTTTATTTATTTTCGCCGAATTCAATGTTTTTAAAGCCAGTTTCATT +CATTTTTGTCGAGTTCTCATCGAAAATTTTTTTGACAAAAATTAATGAAA +CTGATTAAAAAATTAAATTCGGCGAAAATAAGTAAAATAAACGAAGAAAA +TCAAACGATGCAAGCGCGCTCCAATGCGAATTTCTTTGGGCGCGAAGTTG +AAAAAATGGCCCGGGGCACAAATGAAATTCGGCGATTTCAAGCTTATATA +TAAAATCAGGGAAATTTTTTTGAATTCTTTCGCATCGATATTCGGAACCA +GGGAAAAATTTGGAGTCAATTAAAAATATTTTTCAGGTTTCGGTACCCCG +CCTTTAACGGATTTTTTGGCTTAAAATTGGAAACTCTTGGTATAAAACTT +GTAGAAACACCGAGTAAACTGTACACGTTTTAGACGATAATTCAAAAGTA +TCGAGGGAAGTATCCAGAAGTTGAAAAATTGCGAAAAACAGGTAAAATAA +GGAATTCAACGCGTGAATTTTGCATTTTTAGACTGAAAATAGTGTGGTAT +TTCTTCAAATATAGACGAAAATATCGACTCGCACTGGTTTTCGATCGATA +TTTATAGGTCGAGTTCATTGCTATGCACAACATTCCGGGAAAACACGAGA +TTTGAGGAATTTCTGAGCAACTTCTGAGTAAAGCCAACAAAACATTTTGT +ACAATTTTCTTGTTGGTCTTGCTCAGAAAATTTTCAATCAAAAACCAATT +GGAAATCGATATTTTCTGCTAGTTTTGAAAAAACACATGATTTTTAATCA +AAAATTGTTAAATTCATGCAATTTTCCAAAGTTTTACACGATTTTTTCTC +TGGAATTCACATGCTTTTTAAAGCAAACGGCCGTTTCTCGTTGTTGGCTT +CCACGCGATTCCATAGAAACACTGGGGCACCAGAGAAACCGGGGTCGAAG +CAAATGACCAACAAACAACAAACGGATGTGTGCTTTTTCTTCGTTTTCGT +CTTCACGAGGAACCACCACGCAAAATGGAACTACAACTACGATTGATAAC +GAAAAAAAAAAAGAAGAGATGATGATAGTTTTTGCAGCAATAAAAAGAGT +GATAACAAGATACACTCTATCTCACCCACACCTTTCCGTTCAAAGATAAG +GAAATAAGATTCGGGGGGTTCAAAGTGTTGGAGCCAAAAACGGAAAACGG +AGGGAGCAATTGTTCGTTGAACGAACAATAAAAAACCATCATCTGCGTCT +CAAAAATACACGTGTAAGTGAGCGAGTGAGTGAGTGAGTGCCGGGGAATA +AAACGAGTTATATGACCAACACAACGAGCGACGTTGCTGCTGCGTTTCCT +CACTCTCTCCTAGTGAGCGTGTGTGCGCACCACACTCACATGAGCGCATG +CAAGGGTGTATGCGCAAGTGGTACATCGACTCGGTATGAGAAGGACAGAG +CAGTAGTAAGGAGCACACGTTATGTTGCTCCACTACTCACTGTTGCGTAC +CGTGTAGCCTCTGCGGGCCACCGCGGTGCAAAGTACAGTGGAAGGAGGAG +AGTTGAAAAATTGGTGTTTATTTTACTTTTAAACTCGTTTTCCTCCGGAT +TTTGAAGAGAATTGGTTGACTTTTTGAATTTTAGGCGAAAAGCGCGGGAA +AAATCGAAAAAAGATGTGAAAACGAGTGAATTTTAGGGCAAAAGTGAACC +GACAATTGTTATGAGCAATCGGGCTTCTCGGTCGGAAAACAGATCACAGA +AAAATCGGAAAATCCAGCAAAATACTCGAAAATTATGCAATTTTCTAGAA +TTCCAAGCGAAATTTTCTAGAATTTGAGGCAAAATGATACGGAAACCAAC +GAGAAATCCAGAAAAAAAAACTATTTTCATCGAATTCTAGGTGAAAAGCT +CTGAATTATTCGATTCTCCGTCGGGGTAGACTCAAAAATTATGCAATTTT +ATAGAATTCTAGGCCAAACATCGCAGGATCGCCTACACAATTTCCGGAGA +ACGATGAAAATCGGCAAATCTGAAGCAAATAGGAGTGAAGGAAGAGGCTT +CGGATCAGTTTTTCTGAAGAAAATACAAAACTTTCGCTTTCGCAAAACTT +TCGGGAAAATTCTCAGAAAAGGCGTCAAAAGCTCAAAAAATCGACGTTGC +ACGATTTTCGACGGAAAAATAGAGTAAAATATCCGAATTTCTGCTTTAAA +ACTCGAAAAATTGCCCAAAAATCCGTTTGTTTTCGCCAAATTTCTCCTAT +TTGGGGGTCACAAGGCGAGCGGGAGCCGCCGACGACGAGATGAAGAGCTC +CACAGAGCCCCTGAGCCAACAACACAACACTCACCCAAAAATATTGGAAT +TCTCCGGAAGGAAATCGTCGTACGACGACGGCGGCGGCGACGGTGCCATT +TTTCATGGGGAAAATTAGAACCTTGTTCGAATTTGTGATTTATTATCGAT +TTTCTATGTGCCACGTGTGCCCTATTGCGTGACCCACCTGATTAGTTGCG +CGAGTATTTTGTCAGTGCGGTCGACGATCACCCGAAGAATGGAGAAATTG +TCTGAAAAATGCGAAAATTGGCTATAAAACGACGGAAAAAGAAATAAAAA +CAAGTGAAATGAGGCCGAGAGGCAGGTGAATTGTTTATGCAATTTTAGAA +ATGTGATATTTTGGCGGTGTAGATCGAAAAAAATGCGAAAAACACGAAAA +CAGGTCGAGAAATTCGCAAATTTTCGACGACTAAAATTCAAATGCACAAC +GTTCGCGCGCGCGCCGAAGTACGGTAGGTCCCGCATTTTTGCGCGCGCGA +AATTCAAATTTTAATTTTAATATTTTTTCTTTCTTCTTTTCTTTGATTTT +TTAAGAATATTGTGCAAAAAATTCGTTCATTTTTCGAATAAAATTGTTAA +AAAAGACGAAAAAAAAAAGAAAAAATAAGACAATTTCTCGGTGGCATACA +AATAAATACAAGTTATTGTTCGGGAAAAAAATCACAATTTTACATTAAAT +CCAGGTTTGTAATAAAATCAATTATTATTTTATTTTCTTCCAAATCCGGC +ACATGGATTTGGGCATCCGCTGGTCATGCAGCAGCCACCTCCACTCCCTC +CGAGACACGCCAACGACTCGCCGGTTGAGATGGCGAGAAGCACGAAGCAA +ACGACCATGACCTGGAAGAAAATGTGTGAATGTTAAGGTCTCTTAATATT +CCAATAAAATTATTTGGTTTTTTTTTACCGGTGTTCTTGCCAGAAAAGTG +CAAAAATTAATTAAAACTCTAATCGTGGCGAGACCCATCTTAGAAACGAG +AGTATGCGCCTTTAAAATTGGGCTACCGTAATAATCGAATTTTTGCAATC +TTGCAATTGTTGATTTCCGAAGAGCGTTAACAAGAAAACATTTGATAGAA +ATGACACATGAATTAGGTAAAATTTGGTTTTTTTTTAGATTCTTATAATT +CAGATTTCTATTTTGGACACGGAGTTCTGGCCTTCCTCATTGAATTTTTC +GCGCTCCATTGACAATCGCCTGCCGGACAACGAGTGGGAAAGTTGTGTAC +TCCACACGGACAAATACATTTAGTTTAACAACAAAAATCGAGACGCGACG +CGACACGCAACGCGCCGTAAATCTACCACAGATATGGCCGAGCCATAATG +GCCTAGTTCGGCAAACTCTTCCATTTCAATTTATCGATGTCAGAGTGTCC +CATTTCAGCTTGATCTACCTAGATCTACAAAAAATGCGGGAATAATACGT +AGAGTTCTCAACTGATTTCGCATGGTTAAGTACGTGCTGACGTCACATTT +TTTGGGCTAAAAATTCCCGATTTTTTTGTAGATCAAAAAACTGTGATGGG +ACAACCTGACACCACGTGATTTATGAGGAAAGCCAGAAATCCGTGATTTG +GAGAGCACAACAAAAAAAGAAATTCGGCCACTGATTCGCGGCCACGAGCC +ACTGTGCCTTCTCAAGATATTAGTTAATAATTGACGCTGTGAGACCCACA +GTTAAAGGCGCATGCTCAGCATGACTGGCCAATCTAATAGCATCTACAAT +GATAATTGAAAAAAAAACTCACAGTTTGGCAAAGTTTAGCGACGAGTGAC +ATAATTCTCCGAAAGCTTCAGCTGAACAATTTCAGGGATTACTTGCTGTT +TCCCATCGCTTCACCGTCTTATATAGTGCCATCGCCGATTGGCAGAATGG +GATACACCTGCCCCCAACTGCGCAGTTGAATACGATCCGTGTCTCTCTGC +GTCTAGCGGTTCTCCACGATGTTTCTTTGGCGGCGGTGAAGCCGTGTGTG +TGTGTGTGGCTCCTCCATTCTGATTGAATGTGTAACACTGCGGGCAACCG +ATTGGTTTTGGCGGCGGCGGGAAAACGAATCCGGATATACTACATACACA +AACACACACTCACACACACCGAAGGAACTTTTCAGAGAAACCTGAACTGG +CTTTTTATGATTTAAGTGCTTCTGCTGCCAGCATGATGTGGTGGTTGTGT +GTTGTCAATAGGATTTATGCTAATTCCTGACACATTCAAGAGATGAAACA +TCAAACCGGGTAGGAACTTAGTCCACCCAACACTGTGAGAGATTAATAGA +ACCTTTAAAAGTGGCACTTCTAGGCAGAATTCAATAGAATGGTGGGCGCC +TTGGAGCCTAGTCGACCTGCGATGTGAGTGGCAAGGTTGGCAGAGCTAGG +ATAAGCTTCTGGAACTGTAGGACTGTAACAAGCAAGGATCCCGCTCTGGT +ACTGTAGTGAACTTTGAGATCAAATTAGGTTTTTCAATATTTAACTAGCA +CTGTTTCCGGCCCTGATCTTAGAAAGAAAAGAAAAAAAGGATGTGAACCA +GGCGTGGGCGGCAAACGATTTTTTTCCGGCAAATCGGCAAATCACTAAGT +TGCCGGAATTTAAAATTTCCGGGAAATCGGCAAACTGACACTTTGCCAAT +TTGCCGAACGGCAATTGCCGCCCACACCTGATGTATACATATATATGCTT +TCACTCATGTGGTGCCAGAATGTCTCACTGCGGTTTGATCTACGAAAAAT +GCGGGAATATTTTTCCAGAAAAATTGCGGCGTCAGCACGCTCCTAACCAT +GCAAAATCAGATGAGATGTATGCGTCTCTTCTCCCGCATTTTTCGAAGAT +CACAGCAAAATAGAACTTTCTAACTCCACGTGTCTACTGAGAAAAGAGCC +GAAAGCTTATTTTCCACGTATCAGGGATCGGAATCCCACCTAGCTAGTTC +ATCCTATTGCATCATTGAAGCATCTTCCGGATTCTCCACTTTGTTTGCTT +TTCGAAATCGTTTCAAACTGAAAGCCGCGCTTTCAAGGCCGTCTTCTTCC +GATTTTCCGATCTACCTTTTGTTGATCATCACGTGCCTGGCGATCACAAC +ACTGTTCAACCGGAATATCTGAAGATGTTCCACCAAATGGATCGTTTTTC +TCAGGACGGAAGAATACTAATTTGCAAAAAGTCTGTTCTGTTCTAAAAGT +TCTGAATCTTCTGAAAAAATTTCAGACTTAGATCCTGTCATTACATGGGC +AAGCAGTGGAGTCGGAGATTTTTTATCAAAATATATGGATAGGTAATCAG +GGAGAGACTGGCTCCTTTGTTACAATATATTAGGTTTTGTTCTTTAAAAT +GTTCAAATGAAGCTGAAGAGTTCCGGCTAAAAGTATATGATTTTTCAATG +ATTTTTCAAAAATTTCAAGGTATAACTCTGAAACTAAAATTTAAAAAAGA +AACTAAATTGGATTTTAATGTTAGTTAGTTTATTAACAGAAAGAGCAGTA +TTTTTTGATAATTGTAACCTGAAAACTCTATTTTTCTAGTTTCGTGAAGT +AAAAATGTTTTATTATGTGACATTTATTGAAATTTAATTATAATACACTG +TTAGAAATATTTTATTATCTAAAAAAGTAAATTGGATTATAATGTTAATT +ATTTTACTATCAAAAAGATCAGTATTTTGTGATAGTTTTAACCTAAAAAC +ATTTCTGAAGATCGTTTTTTGTGAGAAAAAATTATTTTAATATGTGTCAT +TTAAAGCAACTTTTAAAAAATTGCGGTTTAGAAATGTTCAGCTATCAAAA +AAAAGTACATTGGATTTTGGTGCCAGTCAATTTATCAACAGAAAAAGTGG +TCCTAAAATAATTTCCAAACTTATTAATGGTGGTAGCATTAAAAAACACT +TTTTTTTGGATTTTTTGAAATGAATAGTGTATTTACAGAGACAATGGTAG +ATCAACCTAAAAGAACAAAAAATTTGCAATTTTTCCAGGTAGGACACTTT +TTTGCTACTCGAATATAACTAACCTAAAATAATTTCCAAAAGTTTCAATG +GTGGTAGCACAAAAAAAAACAATTTTTTTGATTTTTGAAATGAATAGTGT +AGTTACAAAGACGGTGGTACATTGACCTAAAAAAACGAAAAATTTACTAC +TTTTTCAGGTAGGACACTTTTTTGCTACTCGAATATAACTAACCTAAAAT +AATTTCCAAACGTTTTAATGGTGGTAGAATGTAAAATAACTTGTTTTTTT +TTGGTTTTTTGAAATGAATAGTGTAGTTACAGAGACAATGGTACATTGGC +CTGAAAGAACAAAAAATTTGCTATTTTTCCATTTTGACCAAAACTATTGG +TTTTGTCCCCAAAAAATTAGTAAAATGACCCACAATCCAGTTATTTTGCT +GTTTAAGCAGACACACTACACGGAATTATTTTCAGAAACCAGATGTATGT +TAAGATTTTAGTAGTTTCGGTGCTGCAAAAACCATCAAAAAATACCAAAT +TTTTCGGCGTTTGTGAAGCACGGCAATTTTTGAGATTTGCCGCACACCCC +AGGTACAGAGACAATTTTATATCGACGTGAACGAACAAAAAATTTGCTAT +TTTCTCAGGTAGGCCACTTTTTTGCTGCTCTAATTTCACACACCTAAAAT +AATTTTCAAATGTTCATCCTACCCTTATATGTAGTAAGAAGATTTCAAAT +TCAAATTTTCATGCATCAACTCGTCCCCACCGTTTTTGTTTCCCTGGCTG +ACTCATCTGACCTTGTCACCCCACGTGTGTTTGTCTTTGTGCCCCCTCTC +GTGCTCACCTTGTTCCAAATTCTGTGAAAACTCATCTCGAAGGCCATTTT +CTTCGTTTATGAGTTTTGAAAAAAAAACGTTCAGACAACTGCAAATGACC +TCCCCGGCGTCGAGAATCGGTGATAACCTTGTACTTCTTAGATGAGACCA +GATACAAAGTGCACCAAAAAATTCAAATTCGCTTGAGAAGCGCTGGCGAG +AGATTCGAAGCGAAAACGAGTTGATTGACAATCGGAACATATACACACAC +CAGAAGACAAAGTGGGGGAAGAAAGGAAACAAAAAAGATAGAGAGGAAGG +AGATTTTGAAAAACGACAATCTCTCTGTGTGTGTGGGTGACAGGTGAAAA +AGTGAGAGTGAGAAAAACGTGGTGGGTACTGTATTGATGAACGATCAGAC +CAAGTTGCATTCAAATTTCTTTGATTGGATTGTTTCCTGATCGGTTTGGT +AGAAGGTGAAGTTGGATTTTGTTCACTGAAGTTATTGGATTTCGAGACAT +GAGCAAGCTAGGTTCAGGATGACTGTAGTGGCCGGCTAACTTTCCGTACA +CCTTTGGCCGACTAGTGAGTGCAACCAGGGCTAGTAAGGAGGTACATCCT +GGTTACCGTAAGCTTATTAAAATTCTGAAAACACCCTACAAAAACTGATA +TTTGTAAAGTTCTCCAAAACAGGTGCTAAAACTTCTGAGGCAAGAGTAGG +CACTTGGAGTCAGAATGTCTTATTTCGATTTGATCTACAAAAAACGCGGG +AGTTGAGACGCAGAAATCTCATCTGATTTCGCATGTTTAAGAGCGTGCTG +ACGTCACAATTTTTCTGGAAAAATATTCCCGCATTGTTTGTAGATCAAAC +TGTAATGAGACAGCCTGGCACCACGTGGGTAGGTGTCGGGATGCACGTGG +TGTCAGAGTGTCTCATTTCAGCTTGATCTACGTAGATCAACAAAAAAAAA +TGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTTGCATAGTTAAGCTC +GCGCTGACGTCACATTTTTTTTGCAAAAAATTCCCGCATTTTTTGTAGAT +CAAACCGTAATGGGACACCCTGGCACCACGTGGGGATGCATTAGTATGAT +TACTGTAGATAAACCTTGAACAATATATATACATTAATTTCGTAATGCTT +GAAACTTGGACCCAAAAACTATCTGTAACTAGAAAATCTGCAAAAATGAG +TTTGCGACTTAAAGCTGGAAGTATACAAGTTGCGCAAAGACCTTTCCAGT +GGCTTCAGCTAGCAACAAAAAAATTTGTAAATTTGCCGGTCCCCACACCA +CATCAAACGTGCAAGACGGGCAACTTGGTACATCCAGTTCACCTGCACTC +CAACTACTTCCCAGAACGCCACATAGTTGAATTATTACCCAACTTGGTAC +ATTATTTTGTCGACTCGACACACCATCACCCCACCATAAACCCCTGCAAA +TAAGGAAGCCGATCGCTATCTACTCATCTTTAGGGACCTTTTTTGCCGCT +TTTTATTGATTTGAACAAAATCTCAGCAGAGCAGTCAAAAATTGCCAATA +TTCCAATTTTTCAGTTGCCAAAGATTTTAGAGTTTCAATACCTACTAAAT +CCTCCCGTTCCAGCCATCCGTTCTTGATATTCTCTCCATAAATTTTCGCT +TATCTCCTCTCTTGTAAAACTAACGTTCACTTATCCACATAATAAATACA +ATAAATGTATTATATACATATATATTATATATATATATATATATATATAT +ATATATATATATATATATATATATATATATGTATATATATATCTCAAAAA +ATCAAACAGGATCTCTCTTTTCCTCCAGGAGAAAAAGAAGATGCCGTTTT +GCAGCCAACAATACTCTCACTCTCAATACACGACGCGACGACGTGGCATC +CCTCCCCCCATCCTGCCTTTCTTCCCCGTTTCTCCTGTGTCATCGAAATT +TCTAGGGCAGCAGCACACCGGATTGGTTGGCATGTGAAGCCGACGTGGAT +CGTGATGGTGATGATGTGGCGGATTGTGATAGATCGTGTTTTTTATCCGG +CGATTACTGCGAGAATTGTCTGAAAGAGTGGCAGGGCCTGGCGCCTGTCT +TTCGGCTCTTTTCAGCATTTTGACGTGAATTTCCAAATTTCTAATTTTCT +CATTTCTATAAATTTGCTGAAAATCAATCAAAGAAATAAAAAAAAAGTTC +ACTCATGTTTTAGCATACGGCGCGAGAGGCAGGCGGAAATCGCCTTAAGG +TCAGGCAGGCAGGCAGGCGTTTAACGCCTACATGGAAGCCCTATAGCACA +CATCTATCTGAAACTGGGAATGTTGTTCCGAAGTGCATTGGAGTGCCTGA +AATTATACAATGTTTGTTCTAATTTATCATTTACTGTATATAAAGCGCTT +ATTCCGTGTGTCCATAGTTGGTAGTCTATGTAGTCTGAAGTTTTGGCTTC +TGGAAGGATAGTGAGTTGGGGTTAGTGTAGGGATATGGTCGGGGAACTGT +AGTGGTACAATAGCGGTACGGTAGCAGTACTGTAAGATTATGGTACTTTC +AGAAAAAAAAGTTTTCAGCCCCAGAAGTCGGGGTCCGTGCCGGAGGAGCG +GACAACGGCTGGTTATCAATAAAGAATACCAACATTTTATCACAGATCCG +GTTACCGCTAGACAAGAAGGTAAAAATTCGCATTCTGAGAAGGACTACTG +TAGCAGGTGTTTAGCGTGTGTCCGAGTAGATGTGGCGACTCTTAATTTAA +GTTGTAGTTTCCTGGTGTCCCCTAATCGCGAACTTCACGATAATTGTAAA +TATTTTAGTGTGGCCTATGTTTACAGGTTTTACGGACAGCCTAGCCCGAG +AAAAACTCTGGAAAAAAATCCCAAAGCTCTTATCCAAAACTACCAAAGTA +TTCTATGCAATTCCCTTTTTGCATTTCCTCACCCCGCCTAATAAGGCATG +TTGTTTACCGCCGACTTTCCGCAATAATCTATTCTCGCAATCATGTGATT +TACCTGACGAATCGAAAGTATACGGTAACCTTCACATTTGGAAGAGGAGA +AAGGAATTCGTTGGAGCCTTGACCCATTCTCCCCACAGGCATAATTCAAA +AAAATATTCACATCAAGAATGCGGATTTGCCACAACCCAACGGGTTCTCC +CATCCAGCATCTCTACCTTTGCCGAGGCAGAAACTGAGGACCGATCTCGA +TCTGCCGCCGCGTTCCGACAAATGTAATAGCAGCCCCCCGCGCGATAGCT +TTTCACTTTTTCTTCTCTTTCTGGCTACTGCTGCTGCCTCCTCCTGCGCA +AGGATGATGCTGCTAGGATGATACCCTACGAGATTACGGAACTATCCGAT +AAATTAGCTTGATGGAGACTAGAGAGATAGTCCCGAAGCTCTGAAGGAAC +CTGATCTTGTTACAGTCTTGGAACCGAACAGCTGATTGCGTCGTCGTATT +ATCGTTATTCATTTCGTAAATAGATTTTCTCTAGGATTGATTCCCGGTTG +AGCCACGTCACTGTCCGAGAACATTCCGGAATGTTATGCATATGTTCTTG +TAAATAACCTTTCTCCTTCCTCCGGCCGGCCAACTACTTTCATTTCTTGA +TGCGTCGAGATACGATATCCAAGGCCATCTTTCAAAATCGCAAGTTATCC +ATCTTTTTTCGCTGATGACTCTCTCTCTCTCTACTCCTTCGCCCATCTCG +TCTTCAGAATCACCTACCGCAAAACAATTGAATAAGTGAGTGTGGAAGTC +ACGTCATGAGCGCGACGAAAAGAGAGAAAGAGAGAGAGAGAGAGAGAAGT +GCCGAAGACGTCGGAAGAGAAAAGCTGGAGGAACCAGCGGCTGGATCGTC +GTTTGTTGATGATGCCTCCTGCCTGCCATTGTTATTCGATATTCCGATAT +TCGATTCTTTTTTGCCGCCGCCGCCCAAGAGGAGAGGAGAATCAGAGAAG +CTTGCGCGCTCCCTATCAAAAAAAAAAGATTATCAAATTTGAAGCAGCAG +AAGCTGGGAAATGGAAATAATAGCGGATAAACAAAGAGAGCGAAATGTTT +TGGGCAATAAATTTGTAGTTTGATGATAAGAGTGGCATTTTGATATGAGG +AAGCTTGCAGAATCTAGTGGTGAACAGGAAGCTTTCGCTATGGAGCAAAA +TGGATTCCGTCATTTTTCTTAAAGAATCGGAGTCGAGATGAAACACCCAG +CCGGAGCTGAAAAATTATTCTGCTGAAAAATCGAGGTGCTTGAAGTACCA +GGGCGTTATACAAAAGATCCAGGGATCCTAGTTCTGCAAAAAAAATTTCT +GCATAATGAAATGGAGAACAGGGCGGTGCGGCAACCAAGATTTTCGGCAA +CCGGCATTTGCCGAAGTTGCGGAACCCAAAACATTTTGGTAACCGGCAAT +TGCCGAAGTTGCCGAATTCAAAAAATTTCGGCAACCGGCATTTGCCGAAG +TTTCCGAATTCAAAAAATTTCGGTAACCGGTTGCCGCACAGCTCTGATGG +AGAACCCGGTGGTCAGCTCAGAGTTTGGATCACCACAACCCAGAAATACC +ATCTTTCAGTGCCTCATACGTAGAAACACTCTAGCTCAAAGTGCCCCTGA +GGCCCTGGGATCTATCCTTACCTGGAAAACTGTGTAAAATTTCGAATATT +CACAGATCCTAGGTTCGTAGTTTCACAAAATGTTCCCACTCTGCCTTCGG +ATCCCCAGGACGCATTGCTACAATATTTTGCACTTGGTACAGTACTCAGC +TTTCCCTTTTTGCACCAAAAAACATTATTGATCCTTACGATTAGCGTCCT +AGATAGGCTACAAGGCCATCGAGATCTCAAATATGCAAATTCTTAGGAAA +GAAAGTGATGTTTCATCATCTTCTTGGATTAAAAATTTCCGAGGAAAAAC +ATGGCAAAAATCAGGTTGATCGTGAAACTCGTCGGGGGCTCCTCTCACTT +CTTCCCCATCTTCATCTCTCCTTCTCTTTCCCGATCCGATCTTTTTTCCT +TTCTTCCATTTTTTCTCGTTTTTCCTTTCCATTTTTTCTTCTCCTTCTTG +TGTTTGATTATCCATCCTCCTTGCCCTTTCTCCTTGTTTCATTTTTCTTT +ATTCATTCGGATGGAATAGAGATATGGTTCCGTAAATTCATTCCAATACT +AGAAGAATTAGTAAGACATTCGTAGGGGGGAAAATTCCGCGCAGAAAGCG +ACAGGAGGTTCGGGATTGGGTAATCGTCGGAAAAATGAAAAATCGCGCGC +GCCCGCCCGCGCAGATGGGATATATACTAAATCACATGGGCAGCGACATG +ATATACGATGGATTGCGTGATCGATAGGCTTTTCAAGGAGGTACATTAGC +ACTGGTGGGCGTCGGGATCCTTGAAGGAACAACGATCTTTGAAGGAGATG +ACGAGGATGTTGTGAAATTTAATTGTGATATCATTCTATTATGTAATCCC +TGGCCTAGAATATACATCATCTTTTAGAATTCTGGTCGGCTAGATGTTTT +CGGGAAGTGCTTCTAAAGGATCGGCGCTGCCATGTATGTAGGAAGTGCTT +ATGCCAACCCCAATCATCTTCTCAATCTACTCCTCAGAAGTTCAGTTCTG +CCAATCCGCACGCTCCACCTTCGTCGCCTATCCGTTTCTCATGCGAGTCT +CGGGTCAAGGCAAGTGTGCGTGTCCTTCAGTCGTGAAGTCCTATTCATTT +ATTTTTGCTGCCAAAGTCCGAACAGTTTTTTCTAGCCGTGTCGGCAAAAG +GGTTCTTATTGCGAATTCACCTCCTCCCCACTCGAGAAATCGCCCCCCCG +CCGTCCTTGGTAAAACTGACCTAGAAAAATAAAAACAACACAAAGCGCCT +CCCGCATCATCACGCGTATATATGTATATATATAAGATGGTAGGCGGGAA +GAGGAATCGACGCAATATCGACTGAAGGTTGCGCAATCGAGATGGCTCTT +CCCGGCACGGATACCTCCTCCTCGCGTACCAGGCACCCGCATATAGCTAA +AGTTCTCCGCCCATTTCGTTACTTTTTTGTGCTTCCCATATCATCGCAGC +AGCGCTTATGCCATTGCGCCCGACCCGATCCAACTTCTTATTCTTGTTCC +TTAGCCTTCTCCCCCTCCCATGTCCTCCCGATATCCAAAAAGTGGGAGGA +GCATGCCATAGTGAGAGGGCGGGGCCGGGACACACACAAGGCTGGCCCCG +AGAAAACGAACAACACTTATGCCGAGGACAGTCTCGACAGTTGGTGGTCA +CCCCACCTGCGCCTTGATTACCCCGCCCGTCCGCGCCCGCCGGGCTAAAG +TATTTTGTTTGCCATTCATGTTCCTCATTCGACGTTCATCATGCTTCTGT +TATGCTTCTTGGTGTTGGTCCGGTTCCTTTCTCTCTCTCTCTCTTTCTTC +CTTGTGGATCAGATGCCATTCCGCCTTTTTGCTAGATAAGCGCATATTCA +TCTCACTCTTCTTTGTTTTCAATTCAGCATTCTTTATATATCCAATATCC +TACATCCTATATCCTCGTTCTCTCCTCATTTTCATTCATATGCCGATCCA +TTTGGTACTGGTGGTGTCGTTCTTCTTAGTTTCGCTTTCCAATTCTTTTC +TAGACAATTCCTTCTATTTCCAGAAACTTTTTTCTACACAATGCTCCCAG +ACAGCCCATCCCCACGCGCTGCCCTTGCTCTCTCCGATCTTCAGCCACAA +ACCGGCGCCTCAACGTTCTCAATTGGCAGTGGATCAGGCAACTGGTAAGT +CGAGTTCTTATGTAACTAGTAGGATGGTAGACATCGAGATTAACGATGTC +TGGCATTCGTTACGTAACGAACGGGTTCTCCCGCCGACCATCGAAGCGCT +TAAGCGCCGAGATTCTCGGCTTCATCGCACCCCGGTCTAGCAAGTTTTCC +AATCCATCCCAAATTACAGGTCGACAAGAGGTGTTGGTGGAGTTAATGGT +GATTACATGGACAAATCCGGCGGAGGAATGTTCGGAAACAGCAGAAACAA +CGTGAGTTATAAAAATATCTGGGGGGGGGGGGGGGGGGGGAAGTGTTGTT +CTAGGCCAGGGACATTGAGAACCGCGTGATGAAGAGTACTTTTATCCGAA +TTAAATCATAGGCAACGAAAACAAGAATCAGGTTCTTGTGCTTTGCACAC +CATGTCGGAATATCCGTCTCAATCAAAACGAAAAAAGCCTAAGCTGGACC +AAGTGTTAAATGCTTAAATGCCAAAAATGAACAATCTTTCAAATCACTTT +CATCTTCCTGTAAATCAGAGAATCCTGAAGCGCTGGCGCGCACACTTACG +AAAAGTGAAAGCCGATATATCAAGTTTATCACCTAGCGGGACTTCCATTG +TCTCATTGTCTCTTGGCTATCCGCCCCACTTTCCCCCCGGATCATCCGCC +CCCTTTAATCCAAGACTCTCGAACAGTTTCGCTTCATTCCAGGACCGATT +CGCATTCGGCAACAACAGCTCGTCGTCCTCATCAGCAGGCTGCTTTTCAT +CGAACAATTCGTCAGGCGGACTTTTTTCCAGTAAATAAGTTAATATGTGA +GTTTTTTTTGTGTACATTTTCTTCTTTTCAAGATCCATTAACATTTCAGA +ATGCGATCGGCAGCCGGTATTCTTATTCTAATCTCAATAATTATTCCCAG +TGTATATAGTGAACCGAAGTTGCCCGATTGCGAGCAAATACCAAAAGTCT +TGTGCTGTACCCAACGTGTCTTAGATAAATGTATGTCTGGTTGTATCGAT +TATGTCACTGAGAAATGCCCCCACAAATTGGAAAAATACGAGACGATCGA +TGAAGAGCCATCGACGAGAGCTCCAAAGAAGCAGGTGAAGCCAGCTAAGG +CAACTAGCAACAGAGTTGTCGGAGCAGTTGAAGTAGACCATGAAGCCAAG +GAGCAGTTCATCGACTCCAAGGATATCAGAAGAGCACCACGAGTCGGTGA +TGCCAAGCTTCTCAGCCAGGAGTACCCGATCACCGAGGTCACCGACGCCG +ATCTCTCCTCCGAGTGCGGAACCGAGAAGTCTCAGCCACCATTCTCACCA +TGCTTGTCCCGCAAGTCGGCCGACGACGTCTTCCTCTCCTGCTGTCGCCA +ACAGGTTCCATCCAACTGTCACAGCCTCTGCACCTACGAGCATCGTGAGC +ATGTCGCCGCTGAAACTCTGATCCAGGCGATCCAGCAAGAGCACTGCGAT +ATGAAGGTAAGAATAGTTCAATCTTCCTATTGAGTTTTTTTTTTGAGTTT +TTCCAAAATTCATTCTTTCAGTACTTCTCCAAACTGCTCTACTGTGCCAA +CCAAAACCGCGACAACCGCGCGTGCTGCTCCAACCTCGGCATGTCAAACG +CGGAACTCGGCGTCGGCGATCGTTGCCTACGTATGTGCAACATCTCCCCG +TCGGGAGACCGTGTAAGCTCTATGGAGAAGGAGGATCTCGTCTGCCTGTC +CAACTGGAACGTCATCATGTACTGTGCCAGAGGTGGTCTTCGTACCATCA +ACTAGACCATCATCCCCGTTCTCTTCTCCCGTAATAAGCTGGCTCAGGTT +GTTAATAATAATTCGCCGCTCGTCTTAATAATTTTCCATTTTCCAATCTC +GTCCCCCCTTTTCAACACTACCACATTTCTCAGTGATATTCATCTGAACC +GCCCGACATACATCAGTTCCTCATAGTACCTAACAGGGTTCAACAAACCC +ATCCACACACCGTCCCCCCACGTAACACCCCCCCCCCCCCCACTTAAGGA +CCAAGTCCTAGTTACTGAATGTGCAACATTATGGCCAGAATGCAATACTT +GTCCCATCTGAATCCATGTTATTTGATAATCTATGACAGTATTATACAAC +CCTTTTTTTTCAAAACACAAGCCCCCTTGAAAACGAACTCATTGTATGTC +AAACGGTATCCCTTATTACACGATTAATTGTGGAGTTTGAAGCGAATAAA +TCAATCAATTTCTCGTTGGGTCCCACAGCGAAATGACTATTACCGGTACA +GAGAGTGTGGATAGTTAGAGAGTGACAGACATCCGGGACCCAATGGGGCG +GGGCGCGCGGAAGAGACGATTTGTGTCGATTTACGAAATGATGACAACGA +GGAAAATTTCGTAAATCGACACAAATCGTCTCTTCCGCGCGCCCCGCCCC +ATCGGGTCCCGGATGTCTGTCGCTCTCTAACTATCTACACTCTCTGTACC +GGTAATACTATTGCAGTAATCGCAGGTTATTTCATAGCGATTTTTCATAG +CTTCACGGATTTCTGGATTCCCTCATAAATTGAAATGGAAGAGTTTTTGC +TGAACTAGGCCATTTTGGCTCTGTCATATCTGGGGTAGATTTACGGCGCG +TTGCGGTTCGATTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGT +ACACGACTTTCTCACGCGTGGTCCGGCAGGCGATTATCAATAGAGCGCGA +AAAATTCAATGAGGAAGGCCAGAACTCCGTGCAGCTTTACTCGCGAATTC +AGGTGTGTGTTTTAATTGTCTTTATTCAGTTTTCTGATAATGAATATACT +TTTTTACAGAAAAACTGGAAAACTGATAAAAAAGTCCCCAGAAACTAGAT +ATTGAAATTACAGTACACTTTAAAGGCGCACACATTTTCACAGTAAACAA +AAAATTTGTCGTGCCGAGATATTTCATCCAGATTATCAGTTGTTAAAATT +TGACAACACTCATTTTGAATATTTAATGAATTCGAATGGAAAATAGAAGA +AAGCTGCCAAAAAGTGAAATTAAATTCTCAAAAACTTGATTTCCAGACTT +TTTTGGCGATTTTCGACCAATTTCAGCAGAATTTTTAGCAGAATTTTACA +AATTTTTTTATTTTAAAGCTTATTTTAATAATTTTTCTCTGAAATATATG +AATATCTTTGCTTTCGATGGATCTTCCTCAAAAGTAGACACACATTTTTA +TTTTTCTACAAAACTGTGCAAAGTTACGTCGTGGTGTTTGCGTACCTCGG +CGGGAATTTAAAGAGAAATGGCATTTTTCACTTTTCTCGCAGTTTTTCTG +ATTTTTTTTTCGTTTTTTCGTAGTTTCCTAATAAAAAATCGTTCCAATTG +TTTCCAGGTAATGGCTGGATTTGAAATTCAAAGAGTCGAGTCCAAATTCT +TCGACTTGGACGACATAATCGCCAAGTCAGACTCCACGTCTTGCACATTT +GAGATTGGAGATTTGAATCCAGGTCTGAAATCGCATCGAAAACCTAAAAA +TTCTAGTGATTTTTGTTCAGATTTCTTCCAGGAAATGCTGGGAGTTTCGA +AGCCAACTCAAAATGCAGACGGATACGGCGTTGATGCTCCATACTGGCTG +CTGGAATCCGTTAGAAGTTCATTTTCCGTGAGAATTTAGTTAGATTTGCC +CCGAATTTTAATTGAGAATTCCAGATTCAACTGCCAAAAGCTTATAGTGT +GAACATGCAAAATGTGCTGAACGCTGACAGCAAGAAATTGAATCTCTCCG +GCTTGCAGCAACACTTTTACGGCAACGGGATGCAGTTATGCCGTCTGATG +AAGGGCGAAAATCCGGACGGCGCGCTGAGCCTCGCACGATGCCTTGTCTC +CACACTTACACAGCGATTAGGAGGTATTAATTAATATAATAAAGCACTTA +TAAAATACAATTTCTGGTTTTTTTTTGTTGCAGAAATTGTGTCAACTGCA +ACCCATCTGCAAAGCAAAGGCGAGAAATTTGACAGCCTCGAGACAAAAGT +GTTCCTGGAGGGTAAACGGTGCAAAGAAGACATTGATACTTGGCTGAGAC +AAGACAATAAGTGCTCGAGCAAGAAGCGTAAGAGACTTTCGTTATAAACT +TCAAATTTCTTATGCTTGAATCTAATTTTATTTTTTTTAATTCGTCTGTA +AATATAATTCAAACCCACCATTCTGTAATAATATTTTATTTTCTATTTTT +TCACACTCATTTTTGTGTTTTATTGGTGTAATAAACCTGGTTTCATGACT +TTTTTGCAAGGAATTTTGTTGAAAAGGCTGCTGCAAAAACTTTGCCAGCA +AAAAATTTTGTGCAAGCACGCTCCATCGCACAGTTTGAACGTCGCGGGTC +GAAGTTAGATGTGCAGGTCATATAGCAAAAAGAGAAACACCCCTTTTTTT +CTCGAGAAGTTTCACCAATTTTGCGCGATTTTTCAACTATTTTTTTGCTT +TTTTGGCTTAATTTTGGCTCAGATTTTCCTCAAAAACATGAAAATCCAAT +CTAGAATAAGTAGTAATGGGTATATTCTAAGATTGTGCAAAAGTTAGCTT +GAATTTCCTCGATTAAAGCTTTCCTACCAAGAAAAATGTGTGGATATTTT +GAATTTACAAGTTTTTCATCTTTTTTTTGTAATATTCTCTTTGAAACTCC +TGTTTCTCTCAAATTTGTAAACTTTCATAAACGTTTTTTTCAGGGTTACC +ACATTAAACAATGACCGGAAGCACCGAAACTCGCCAGAAGGAAGTCAAGG +AGGTTGGTTGTTCAAAGTGACGTCTAAAATATTTAAATTTCTATATTTCA +GCCACAAGTTGACGTTTCGGATGATTCCGACAACGAGGCCGTCGAGCAAG +AGCTCACCGAGGAGCAAAGACGTGTGGCCGAGGCTGCTGGACTTGGAGAT +CACATCGACAAGCAGGCCAAGCAAAGCCGCTCCGAGAAGAAGGCCCGCAA +GCTCTTCTCCAAGCTCGGACTCAAGCAAGTGACTGGTGTCTCCCGTGTCT +GCATTCGCAAGTCGAAGAACATCCTCTTCGTCATAAACAAGCCAGACGTG +TTCAAGAGCCCAGGATCTGACACCTACATCATCTTCGGAGAAGCCAAGAT +CGAGGATCTCACCCAACACGCCCAGATGTCTGCTATTGAGAACTTGAAGC +CAACTCGTGAGGCCCCACAACTCAAGACTGTCGAAGAGGACGAGAATGAG +GATGTTGAGGTAATTCAGTAACTTAATCGGATTTATTACATTAATTGTAC +GGTTTAAGGAGGATTCCACCGGCATTGAGGAGAAGGACATCGAGCTTGTC +ATTTCCCAAGCCAACACCACCCGCAACAAGGCCATCAGGGCGCTTAAGGA +AGCTGACAATGACATCGTCAATGCCATCATGAGCCTTACCATGTAGCTTG +TTTCCTGATGACCTTGCAGATACTCTTGTTATCGTTGTATCTCTTGCTTA +TCCCGTTTTCCGTTCCAAGTAAACGTTTATCAGTCTTTTTTAACTTTTTT +GTTATGTTTAAAAAACAATTGCATCTTCGAATTGACCTACCTTTTACAGA +AAAGAACAATTAAATCACTGTTTGTGTAAAACACCCCTCTATTGATCGAG +AACTTTCACTTCTTCCAATTCTTTACTCGTATGACTGTGATTCATTTCAC +CTGCTATCACTTTATCATGACATTCCAGTTTATATCAACAGCAAATACCA +ATTGTGTGTATGTGAAAAATGCTATTGAATAGCAAGCGCGCCCCAACAAA +CACGTTTGAATGCGCGGGCGAAACGGCGTTAGATGTGCAGGTCATATGAC +AAAACGCATCGACCAGCAGCCAATGGCAAGTTACTGCGAGCTGTTATAGA +TTTTTTCACATGGTTTCCAGTGTTATCAGTTGGAAATCGATCGATAATAC +TGACTAGTAGTACTTAACATCTTCATTCCCACCGTTTCGCTGTCATTTGT +GATACGTGGATTTATTTTTCCTTTCTCGCCGACTTTTCATTTCTAAATCT +TTTCTGGAATTGCGAAATTTTCAGCCAGTTTCATGATCGAATGGCTCGTA +ATGAACCATCATCTCAGCAGCCGAGTAGTTCCGGGAGTAATGGAACTCCA +GCACAACAAAACGGGTCGGCAAAACCATCAAAAGTCACAGTAAAAGGTAA +CAATTCGTAGATTTTTTGCATCTGTTCTAATAATATTTCCCCCTCTTAAT +CATAGTCGTCAACGCGTCGTTCACCAAGGCAGCCGACTGCTATGTCGAAA +TCACGAGTGACACGTCATCGGCGGCGCCAAAAAAGACGACTGTAAAGAAG +AAGACGATGGCGCCCGAGTGGAATGAACATCTCAACGTTCATGCAAATGA +ATCTTCGACAATTTCGTTTCGTCTATTGCAAAAAGCCAAGCTATTCGATG +ACACGTGTCTAGGGATGGCGAAGCTGAAGCTTTCGAGTCTCACAAGAAAT +GAGAATGGAGAGTGTAAGTGGTTTTATTGAAATTTTCTCAAAAAATCTAT +TATTTCAGTCAAAAACGACATCAACAATATATCTTTGCTGGCCAAAGACT +CCTCGAAAATCGGAACTCTCAACATAATTTTCTCCGGATATCCAGAGCGG +AAACGAAGAAGCGCAGGAGTACGAGCTGAAACCGCCGCGTCTGCAAGTTC +AGAGGCATCCACGTCAAATGGCGTTGCCACGTCATCCTCGGCGCGGAGAC +CGGCGACAGCGAAGCGTGACACTTTGGCGGCTCCAACGGTAATCGTGACG +AGACCCATTTTGAATTATTTAATTATTCATGAAACGCTCTACTGGAGTGT +TCATAATTATTAGAGCGCGCTCGCGCGGCACCTCACGAACTCCAGAATTC +GCGAGGACAGCAGTTTTTGGCTATTTTGGCTTCTATGGAAATTATTTTTA +ATTTTTTGATTTAAAATATTGTTGAGAAGCATCATCCAAATTGAAAATGT +GTAAAATTATGAAATTTGACCGAAAACTGAAGGTTTTACAGAGAGGAGTC +ACCACGGCTTTCTTTAAAAAGTATCAGTACCGTCAGTATTTCGATTTCAG +AGTCGTAAAATATGTCATTTTGTAGAGAAACGTCTGTTTCACAAAAATCC +ATGTTTGATATTTTAATTGTTTAATTTCTAATATAAAAATATTCAAAAAA +TCAACAAGTTTACGTTAAAATCGAATTTTTCAATCGTTCAGTTTTTAATA +AGAACAATTTCATAATTTCAAACATGGATTTTTTTGAAACAGACTTTTCT +CTACAAAATGACATATTTTACGACTCTGAAATCGAAAAAACTGACGGTAC +TGATACATTTTAAAGAAAGTCGTGGTGACTCCTCTCTGTAAACCTTCAGT +TTTCGTTAAAAATAATTTCCATAGAAGCCAAAAATAGCCAAAAACTGCTG +TCCCCGCGAAACGAAATCCCGCGAATTCTGGAGTTCGTGAGGTGCCGCGC +GAGCGCGCTCTAATAATTATGAACACTAGAGGAGAGCGTGAATGAGCGTT +TTTTATTCTTTTCTCTGCATTTTTAATGCTACAGAATCATACACAAAATG +TTGTCAAATACATGCATTACTCTACTACTCTTAATGTTTACTTTTCATTT +GCAGAGTACCGCAGCGGCGGCAGCAGCAGCAACAGCAGGCGGCACCCCGG +CCGCCGGAGCAGAAGAACAGCTTCCCGATGGATGGGAGATGCGTTTCGAT +CAATACGGACGCAAGTACTACGTGGATCACACCACCAAGAGCACCACGTG +GGAACGCCCGTCTACTCAGCCATTGCCACAGGGATGGGAAATGCGAAGAG +ATCCGAGAGGAAGAGTGAGTTTTCCGGCGGAAAAAGCAGATTTAGCACGA +GAAAAGCGTTTCTGATTATATTTTTGATGCGAAAATCATCAAAATTAAAA +ATATCTACCGTAGCCGCGGATACCTGGACCAAAATGCCGAAAAAAGTGAC +CTGATAAATTATTTTAAGGCTAAAATCTTGATTTTTACATAATTAGTGTC +TTATTTTTGTTGATTTCTTGTCAAATTTTTGTAATTGCATCGAAATAGGC +CAAAAATAAAGTAAAAATCAACTTCCAACACAGAAAAACTGACAAAATTG +AAGATTTTTGCTGAATTCAGGCAATTTTTCGTAATTTTGATCCTCCATAA +TTTTTTTTTTCGAGAAAATTTTGAAATTTTTTCTTTAAATACGGCCTGAA +AATTAGGAAATTATAACGACGGATAAAAAATTCTGATTTTCTTTATTTTA +ACCAAGGTCTCCAATTATTTGATAATCGAAAAAAAAAAAACTTTCCAGTG +ATTTTTACTTGAAAAATGTCTAAAAATTCACGCCAGGTGCACAATCCATT +TTCAGGTGTATTACGTGGATCACAACACGCGCACGACCACCTGGCAACGA +CCGACAGCCGATATGCTTGAAGCACACGAACAATGGCAATCGGGAAGAGA +TCAGGCGATGCTTCAATGGGAACAACGTTTCCTTCTCCAGCAGAACAACT +TTAGCGCCGACGATCCACTCGGACCATTGCCCGAAGGATGGGAGAAGCGT +CAGGATCCGAATACGTCGAGAATGTACTTTGTGAATCATGTAAATAGAAC +GACACAATGGGAAGATCCGAGAACACAGGGGTATGTGAAAATTTTCAATT +TTCCAATAATATTTCTATCAAAAATCACAGTTTTAATGTTTTAAAAGTTT +CAGAGGCTCCGACCAACCTCTTCCGGATGGTTGGGAAATGCGATTCACCG +AGCAAGGCGTTCCATTCTTCATCGATCACCAGTCTAAAACCACCACCTAT +AATGATCCAAGAACCGGAAAACCCGTCGGCCCGCTCGGCGTCGTCGGTGT +TCAAATGGCCATGGAGAAGAGTTTCCGGTGGAAAATTGCACAATTCAGAT +ATTTATGCTTGGTAAGGGAGGGCGAGAAATTCTTTGATTTTAGCTATAAA +TTGATGTAAATTTCAGTCAAACAGTGTGCCTAATCATGTCAAAATCACAG +TATCCCGTAATAACGTGTTCGAAGACTCATTCCAAGAAATTATGCGTAAA +AATGCAGTCGATCTACGCCGGCGGCTGTACATTCAATTCCGAGGCGAAGA +GGGTCTCGACTATGGAGGTGTCGCCAGAGAATGGTTCTTCCTGCTGTCGC +ACGAAGTGTTGAATCCAATGTATTGCCTATTCATGTATGCTGGTAATAAC +AATTATAGTCTTCAAATCAATCCAGCTTCATTTGTTAACCCGGATCATCT +TAAGTATTTCGAGTATATTGGACGATTCATTGCCATGGTGAGTGTTTTTT +TTTAATTGAAAATCAGTTGAAAATTGGATGAAAAATTGCGAAATCGAGAG +AAAATCGAGTTTTCCGCTTTTTACAATTGAATTTTAAAATTTTAAACGTT +AAATTTTGCAGAAAATTCCAAAAAAAAGCACTTGGATCTAAAATTTTTGT +TTTTTGATGAAGGAAATCCTTAAATATCGATTTTTTTTATTTTCAGCTCA +AAAAACCTGGAAATTTCGATGATCTCAAATTTTCAGATCAATATATTTCA +TTTTCTCCTAAAAATGTTATTTTTATTTAAACAAATAGTTTTTCTTAGAA +AATTCCTTTATTTTCAAATTTCCAGGCGCTATTCCACGGGAAATTCATCT +ACAGCGGTTTCACGATGCCATTCTACAAAAAGATGCTCAACAAGAAGATT +GTTTTAAAGGACATTGAACAAGTCGATTCGGAAATTTATAATTCATTGAT +GTGGATCAAGGATAACAATATCGATGAATGCGATATGGAGCTCTATTTTG +TTGCCGATTACGAGCTGCTCGGCGAGCTCAAGACTTATGAGCTTAAGGAG +GGCGGTACAGAGATTGCTGTTACCGAGGAGAATAAGGTGAGATTTTGGAT +TAGCTAGAGCTTATAAAAATAATTTTTAAATAAAATAATTTAATTTAAAA +AATCCCAATTTTCCAGCTTGAATACATCGAACTGCTCGTTGAGTGGCGCT +TCAATCGCGGTGTCGAACAACAGACAAAAGCCTTCTTCACCGGCTTCAAC +TCGGTCTTCCCGTTGGAATGGATGCAGTATTTCGATGAAAGAGAGCTCGA +GCTGTTGCTCTGCGGAATGCAGGACGTTGATGTGGACGATTGGCAGAGAA +ATACTGTCTACAGACATTATGCTCCACAGAGCAAGCAGGTAGGGGAGAAC +ATTTGATTAAAACTTCTTTTTTTTTAATTAAAAAATACATTTATAGGTAA +CCTGGTTCTGGCAATGGGTTCGAAGTCTGGACCAAGAAAAACGTGCCCGG +CTCCTACAATTCGTCACAGGAACGTGCCGTGTGCCAGTCGGTGGATTTTC +CGAGCTGATGGGCTCGACGGGACCACAACTATTCTGTATCGAGCGTGTCG +GCAAGGAGAACTGGCTCCCACGGTCGCATACGTGCTTCAATCGACTCGAC +TTGCCGCCATACAGAAGCTACGATCAGCTCGTCGAGAAGTTGAGCATGGC +GATCGAGATGACGGAAGGATTTGGAAACGAGTAGTCTCCCGTTGTTTTTT +TTTGGTTTTGCTGGCCGCCTAATTATTGTATAACCCTCATATTTCTTCTC +ACCCACACCCCATTGATTTTCCTTTTTTTTCTCTCCATCAATTAATGTTT +CTTTTTTTCGAATTTGTGTGATAATTTTCGTGTTGTGATACCACTTGCTT +AGGTTCTCTCTCTCTCTTTCCTTTCCTTCTGGGTATGTACCTATATTTAG +AATATAGACAAAGCATCTAGTTTTTTTGGATTTAATTTCCAAATTTCCCG +TTTAATTCCAACAACAAAAAAACAATTCCACCACTTTTCAAATATTTTTT +TTGTGTCCATTGCTTCATTGCTTTTCTTCTTCTCAACCATTTCAACCACC +ACCACCCAATCTGCGCCTTATTCTTACTTGGTCCTTGTCATTCTTAGTTC +CAGTTTTTTTCACGGAAGCAGCTCTCGATTATTAATTCAAATGCATCCCC +CCAACCAATCCGTCACCCCCCGATTAGAACAATTTCTACTTTTTTTTTTG +AAAACAAAAAAAAACACAATTCCTCGATTTGGTTGTAATGAATTTAATTT +TTTAAATTTTGAGCCTTTTTTGTTGTTTTAGGTTTTCTTAACTTTCAGAA +TTTCCATGCGGAACACACGGAGAGCAGAAGATCAATATTTTGAACCCTGC +AGGAGAAGGACGGGACCCTTTGGTCACTCATGTCTCGGCTGTCTGCGTCT +CTCCTCTCTCTCTGCACCAGCGGAGAGGATGGATAGCCTCATTCGTTTTA +TTTCGGACTTTCGATTTTTCTTATTGCTCCACGTTTTAGCTTTTATCAGA +TTCGGGGAGCTCTTGCTTTTTTCTTGATTTTTTCGTAAAGTGTTCTTGGG +TCCCGCAGCGAAAATTAACTTTAAAATGATTTTTTAAAAACTTTCTAAAA +ATTCATTTTTTTTTCCATTTTACGACTAGAAATTTCGAAATTTGAAAAAA +AAAACCGTGTTGCAAATGCGCTCCAGCGTACAAAACAAAACCGCCACCAA +AAAATTTAAATTACTGAAAAAAACGATGAAATTTTGAATTTGTTTTGCCA +TTTTCCGGCAATGATTTTTTAAATAAAAAAAACTGTACAACAAATGCGCT +CCAGCGAACTAACCTTCAAATTACCGAAAAAAATTATAAAAATTTGAATA +TTTCCGATTAACCCAAGAAAAGAAAAATTCAATGATTTTCTTGAAAAAAG +TTATTTTTTTCTCAATTTTTCGTCAATAATACTCAAAATTTGAAGAAAAA +TTGTGTAGCAAGCGCGCTCTAGCGAACCAAACAAAATGTCTCCATTGAAG +CGTTTCACGAGGTTCTGGCCTACCTCATTGAATTTTTCGCGCTCCATTGA +CAATCGCCCGCCGATAACGCGTGGGAAAGTCGTGTACTCCACACGGACAA +ATACATTTAGTTTTACTACAAATATCGAGCCGCGACGCGACACGCAACGC +GCCGTAAATCTACCCCAGATATGGCCGAGCCAAAATGGCCTAGTTCGGCA +AAAACTCTTCCATTTCAATTCATGAGGGAAGCCAGAAATCCGTGATCCAA +GTAAAAAAAATCCCAAAAATTTCAATTTGCAAGGGCGCTCCATTGAAAAC +TGTGGCGCCGATCGCAACTCACGGTCGAATTTGAATTTTTAGTTGAAAAA +AAAACACCAATTTGAACTGAAAATTTGAATTTTCAATTTTTTCCCTAAAA +TAAATTGTTCAGAGTTTCGCTGTCGAATTGTTGATACCCGCTCGTCAGAA +TTGGAAATTGAGAAATTGAGAGAGAATTAGAGAAGGAGAGGAAGAGGAAC +TGCTCACTGGTCCCCTCACTCCATCCGAAATTAGGCACTTTTTGCTCCGG +CGGCACTAGAAGACGAAGAAAAAACGACGAGCAGAACACAATCAATTTCG +TCTTCTTTTTTATTTTTTTTTGGTTTTTTCTTGTTGGTACCACGGATTTC +TGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAAATAGGCCAT +TTTGGCTCGGCCATATCTGGGGTAGACTAACGGCGCGTTGCGTGTCGCGT +CGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTGTGGAGT +ACACGACTTTCCCACGCGTTGTCCGGCGGCCGATTGTCAAAGGAGCGCGA +AAAATTAAATGAGGAAGGCCAGAACCCCGTGGTAAAACATGGTGCATCAA +CGCAAAAATTTTTCATTTTTTGGAAAAACTCAATTGTTTTTTTTTCGCGT +CGGGACCACCAAACCAGAGCTCGTTTACTAAATTGAATTTCCAAAAAAAA +AAAAATTTCGCTCTGTTCAAAATTCGAAATTCAGTTTTCTTTCCCTAAAA +CCTAATAAAATGATCTTGGCACAATGCTCACTGTGAGCTTTGGGTCTAGA +ACGATGGCCTAGAAATGTTGAGATTTCCTCTTCCAGCGCCCTTGCCAATA +TGACCTAGAAATTTCAAATTAGTATAACTCGGCCATTTTCCATCCGTTTT +CGCCAAAACTACACCATTATAACATTTAAAACTTACTTTTCAATATGATG +ATAATACTTTTCCAGTGGAAGAGTTTTCCGCATTTCTAAGCCACCAAAAC +CTCTCCTCCCGACGTTTTATCAAACAAATGATATCACTGTGATTTGTGTT +GTAAGTTGCGCGCATGATTGCACTTGCGCAATTAATTAAGACAATTACTC +AAAATTTTGATCGAATTAACCCCATGTACATATAAAATACAAGATTTTTG +TGTATTGTTCTTCAAAGTTTTTTGTCGTATTTATATAGAAGCAGTGTACA +CCTAAATTTGGCTTATTACGACCTTTTTTTCCAAGGAAAATACTCATTTT +TAGGGTTATAAACCCCTTGATTGATACGTGGCCTAGAAAACTGCAAGCGC +TTTTTCCTGGAAGTTTTAGGCCACCAGTTAGAGTCTTGCAAAGACGGACT +AGTTCTCACATGACCCAGAAAGTCTTAGTCCATCACGTATTTCTTACGAC +GCCTAGAAATGCAAATCTTCGGCCACCAATTTTCATAGACATTCTAGGCC +ACCCTTTTTGACGTGGCCTAGAATCTTTAACAAAATTTGTAATGAAAATC +CTAGGCCACCATTCAGTTAGCTCTCATTTTTGATACTTCGCCTAGATTTT +TAACACGTGGCCTAGATTTCTATTTTAACACGGGGCTTAGATTTTTATTT +TAACAAGTGGCCTAGGTTTTTGCTACTAGGCCTAGATTTTTTACATGTGA +CCTAGATTTTTATTATAGCACCTGACCTAGATTGTTGGCATTTGGCCTAG +ATTTCTGTCATGTGACCTAGATTTTTTAATGCACCAAAAATTCTCCATAC +AAATTTAACTCCTACACTCTAATTTGTAATCAGAACCTTCGATAAGAAGA +ACATGGAGCTACTGCGGTGCTCAAATTCCGAACAAAAAACGGCTGAAAAA +CTGAGGTATACGTGGTTTTTTTTCGAAACTGATAAAAGTCAGCATAAATC +ACGATAAACTGAACGTCCTTTGGCCAAGTTTAGAGAAACCTAGGCCACGG +GTAGTGGTGGCCGAATTTTAAAAAAACTGGGCCACGAGGTTTACGTGGTG +TCAAATTGCCCCATTTTGGTTTGATCTTCGAAAAATGCGGGAGACGAGAC +GCAGACTTTTCAACTGATTTCGCATGGTTAAGAACGTGCTGATGTCATTT +TTTTCCGTGGAAAAATTCCCGCATTTTTTGTATATCAAACCACAACGAGA +CACTCTAACACCACCGTCCGGCCGTTCAAACGAAAATTTAGGCCACGGCC +ACTAGGGTGAAGTGGAATGCCCTACCCTTCTCTACAAAATTCATTGGAGA +AACCTAGGCCATGCTCAAAGAAACAGTGGCCGAGAAAGGAAAAACTAGGC +CGCGTTCGCTTTGTACCTCTCTTATAAAACACTGTCTGTTAGTTCATAAA +TCAGAGTCTGCCCCCTATCACTACTCTCTCATTTACCTGCCCCTCTTAAC +AAACAATCAACCCCCCCCCCCCCTCTAAATCGACTACTTGTTCCCCGTTG +TACCTGTCTGCGTCTAGCTATTTCTGTTAAATTTTTGGAACGAAAAAGTG +GTATGTGAATGTACGAAACAAAAATAATAATCAATTGAATACAATTTTTG +CCCCCCCCCCCCCCCCCCCTCCACCCCGCTTGCCTGTCTCTAACCGGTTT +CCCCTTTTTCACCTCAATCAGCCCCCCCCCCCCCCCCCCCCCCCCAATTT +CATTTGACTGTACATTTTCCTTTACCTATCTGCGTATCTACACAATTTTT +GTATTTTTTCCTTTTATTTTTCTAATTATAAACCCTGCAATTTGCAAGAA +AAAATCTCTAAAACGCTTGGCCCCTTACCCGGAGTGCGACCGTGGCCTAG +AAATTTATATTTCTTATAAGACCCCCCGGCTCTTCCAATTTTTCATTTTT +TTTCTTTGAAAGCCTAAATTTTCATTTTTTCTTAGAGATCAATATATTAT +GGGTTAGTAAAAAATTTCAAAAACAAGCTCCCCGTGGGCGTGGAAGAGTT +TTCCAAATTTCTAGGCCATACTTTTCGAAGGCGTTGGGGTACGCTCGCAC +CCTAGTACTAAAAATTGTAAATTATAAAATTATCATAAAATTGGCTCAAA +GCATTTGAAAATAATAAAAAAAATTTTAGAAAAAAAAACACGAAAAAAAC +CCCTATTTTGAACATGGTTCATCGACCGGGACCTATATACTTTGAAAGCT +TATATCTCGCTTCATGTTTGTTTTATCAAAAATTTTTCAACCAACAAAGT +GTTTATTATTTCTTTTTCTATATTTTTGTAATTAAAAACTTTTTGATAGC +TTCAAAAGTAACTGAGATACATGTTGTCAAACAGAGCAAACTTATAGCTT +AGCCCAATTATTTATTTTTTGCTGTGTAACATTTCTTGTATAAACTTTTA +AAGTTTACGGTTTTTTTAAATTTCTAAAAAAAATTATTGACACTTTAAAG +GGAGGTCATGTGGAGATAGCCTGTACAAATAAAACTGATGAACTAGGACG +AACCGAAATTCATAAACCATTATTTACACAGGTGATTCTTGCCTTTTTTG +GAGGGTTAAAAAGGTTAAAAATTATTTAAAGCTTGGAATGAGCATTTGTG +CGGCCGAGTTTTTATTTTCTAGGCCATAATTTTTAAAACAATGGCCTAGA +AGCACAAATTTCTAAGTAATTTGAATTTCCCGCCAAAAATTTTTTTTTCC +ATAAAATTTAAATTTCCCGTCGAAAATTTTTTTCGGAAAATTTGTATTTC +CCGCCAAAAGATTTTTTGTCTCAAAAAATTTGAATTTCCCGCCAAAATGT +TTTCTCAGAAAATTTAAATTTCCCGCCAAAATATTTTTTGTCTCAAAAAA +TTTGAATTTCCCACCAAAAATTTTATCCCAAATTTTATCGAACATTTGGT +GGCCGAATTTCCATTTTCTAGGCCACCCTCAGTTAAATCGTCAAATAAGT +TGACCTAATTAAATTAAAAATTAACAATTTGTAATGTCTCCGACCAAAGT +TTCATAATTGTATAGATCATCATGGTGGGAGGCGGGGTAGCACTTATGAG +TGAACTTACCGGTTGACCGCCCGTCTATACATAGTAGCCAACACCCGACC +ATTTTCTGCCAAATACCTATAATATCGCTTCGAGACCCAACTATTGCACA +GTTGTGGTTTATTTCGGTTGAAGACCCAATATTAATTTACCTACAGCTGC +TAAAGCGTTTTAAGACCTAAAAAATTAAGCAAGGCCCAAAAATCCAAACT +TAATACTATAGTACTTCTCGTTTCGAGACCCAAAATCCAAAGCTAGGCCA +TATTCTTGGTGAGACCCACCTGTAATAAATATCACTTGAGTGAAAGTGAA +CTCTTACTTTTTTCTTTCGACAGCCAAAAAAAATTGAGTCAATTAGCAAA +TAATTCACGTCTCCCCCTTTCAATGTTTACATACACATTACGAACGAGAA +AAAAAAACGAGAGAAAAATTGAGTGAAATGGAATCAAAATGTGTTCATTT +TTACTTTTTATGAAAATTTGGATAAGCACATGGCGTCAGAGTGTCCCATT +TCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGTGAAGAGACGCAGA +GTTTTCAACTGATTTCGCTTTTTTTTGGGCGAAAATTTCCGCATTTCTTG +TAGATCAAACCGCAACAGTGGATAAGCGCGCTCTATCGACAAACCCGGTG +TGTACTACTCGCGGACAACCAGTATAGTTTTTTTTTTGAATTTTTGTTCG +AAATTGAAATTGAAATAAGATGCCAAATTTAAATTTAAAAAATAACAATT +TTTGAAATTAAATTTTTAAAAAAATTCCCCGTAAATCTACACTTAGTCGC +GTAAATCGACAAGGCTATTTTTTTCAATTTTTGCCCATCGCACTTTTTTT +GCCCAATCAATCATCGTCAATTGATCCATTGATCTTCTTCTTCTTCTCTT +TCTCTTTTCTCACCACCGAAAATTTCATTTTATTTTTTGACACTGTCTGC +GTCTCTCTGTACCCCCTATCTCTCGCCTCTCAAGGACTATTACAACGAAA +AATTTGGGGAGAAGCCGTGATTTTCATTTTAATTTTGATGAAAAATTTTA +ATGAAAATGAAAAAAAAAATTGTTTTTCAAAAAACAATCCCCTCGTAAAT +CCACACCAAATTCAATATTCACCTTATTACAAATTGATTATTTTTCCCAA +AAAACACACGACATCGGGCGCCCATCTATTGTTTTTTATTCCAAAAAATT +TCTGCAACTGTCTGGGTCTCCGGTTAACACTGAGAAACAACAAATTTCAT +TTTTCGATTCATTACATTCATTTTGAAGGTTTTTGGTTACAAATTCGACA +CGGATTTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTGCTGAACTA +GGCCAACTTGGCTCGGCCATATTTGGCATAGATTTACGGCGCGTTGCGTG +CCGCGTCGCGCCTCGATTTTAGTTGTAAAACTAAATGTGAAGTGTCCGTG +TGGAGTACACGACTTTCCCACGCGTTGCCCGGTGAGAGATTATCAATGGA +GCGCGAAAAATTCAATGAGGTAGGTCAGAACCCCTTGAAAATTGAGAAAA +AAAAATCTCACAACGATACTCCGCAAAGTGTGCGTGTTGTTTATTAAATG +ATAAATTCAAAAGCAAATAGCGATTTTGTTTCAAAAATATGCCGAAAAAA +AAGAAAAAAAATTAAAACAAAAGTTCAGCCACCAATTTTATTTCTCGGCC +ATGGTTGTGTCGTTGTTTATTTTTTTGCGATCGTATTTTTTCTATAATAA +GACTTAAAATGAAAAAACATTAATAAAAATCAGTTTTCCATGGCCACTGT +CAAAAGTCGCAACGACACTCCCCTTCCAGGCTCCTCCCCCCCGCGTGTAT +TTTAGCATGTAGTGTAAATTACGCGATTTTGTGTATAAAACCCTAATTTT +TTAGAAGATTTGAGAAAAAAAACTTTTAAAAAATGGGAAAAAATCCCCTT +TCCCTTTTTTGAAATACTTTCCGACAAAGTTTAGCCAAAAGTCCAAAAAA +AACCAATATGGCCTAGAAAAAATCAAAAACTCGGCCATCCAAAAAACTAG +GCTACACGTTCTTTCGACCTCTGCTCCCCACACCTATGCTGCCCATATCA +AATGTCTCCCGGACCCCTCATTCCGTCACACATTTCTCAAAAAAATGTCT +CTTTTTCTCAAATTCTCTGTCGAAAATCCCATATCTCTTCAGTGTTCAGA +ACTGACTGTTTTATTTCAATTCTCATGATCTCATGTCTCCCGTATGACTC +ATTCCTTCGATATATTTTTCTTTTTTCAAAAATCATTTTTCCTATATATA +GACTTTGTTCGGTGGGAATTTCTCATTTCAAAATATTTATTGAGGTCGCT +TGTTCCCTTTTTATATGGTCGTGGCCTAGGTTTCTAAAACTCGGCTACCA +TTTCCAAGTTGTAGCTTCGAGCTCTTTGTCTCGGAGTAGAAAAAATTCAC +GAAATAAATAAAAGTTCACGTGGCCGTGGCCTAGATTTCCAAAACTCGGC +CACCAATTTTTTTTCTCTTATCAGTAAACCACGTAGAACTCCTTTTTTTC +TAGCCATTTTTTAACTGAATTTCCAACATATTCGGTGGCTCCATCAATTT +TACTGATAGTAATTTCCAATAAAAAAAGGTATTTCTGTCGATAGGAACCC +ATTTTCATCTACTTTTTGTTTCTACTTTATGGGTTTTGCCACTTTCCCGC +ATGCCTACGTGCCTACCTATCTGCCGACCTAATATACCTCGTAGGCAGAC +CTCGGCCGCCTTGTGGTGAGATGCCAGTCGCTTTGTAGGCAGGCGTAGTT +TGTCTTGCTGGTATGAGTAGGCCTGTCAGCCGCCCAGTAGGCAAGCGTAG +GCATGATGCAGGCGTAGCAGGCTTCTTAACTAGGCATCGGCTGCCTTGTA +AGCCGGCGCAGGTAAGTGAAGGTTTCTTCGTGGCTGGCATCCTTGCAGTC +AGGCACAAGTCGTCGGCTTGAAGGCAGGCAGATGCCGCCTAGTAGGCAGG +CATATTTTACTTATAGGCAGGTATTAATGATCCTCTAGGCTTGCGTTGGT +CGGTTTGTAAGCTGTCGTAGGCTGCCTTGTAGGCAAATTGAACTCTCAAA +CCAAACAACACAAAAATTCCAATATTTTTTGTACCTTCTGATTTTGATCT +CTGACTCATGATCTCTTTATCAATCTCATATCTTCCATTTTTAGAAATAA +ACAATTTTTCCCTTCTATTCATTGACTTTAATCCCTTTCAATATTCATTC +AATACACCTATAATACGAAAAACTCTTATCTTTTTTCATTTTATCACACA +TGGTGCATAATATTATAGTTAGTGGCTATTGAAAAAGCACATCATTTTAT +CACTTTTTGTCACTTTTCCACGATTCTCAACGTCTTTTTTTTAAACACAA +AACGTTTCCCGTCATTTTCTACAGTACTCCCGCATTTTCATTTTCCAGGT +GAGACCTGAGATGGAGGGCGACGAGTTGGTTCATCGTCCGACGGTCCTCT +CGACGACGGCTTCTGCCACGTCACGGCCGCGACACAAGACTTTTGAGCTG +TTGGGTCCGGTGAATAATATCTCGTTGGCTGATATGTATAAAGTGTGCGG +GAAGATAATTGGCAGGTTCCCGATTGCATTTATTATTGCGACGGTGATCA +TGTGCAGTGGTGGATGTTAGTTTTTTTTGACGTAAAAAATACAGTTTGAG +AAAATCTTTTTTTAGATCAAAAAAGAAGAAAAATATGGAAAAAACAACAT +TAAAATATTTTTTAGAAATCAAAAAATGTAAAAACTGTATGATTTTACTT +AGGGCCTCCATGGTAGACAGGCACGGTTTTAGGGCCTGACGCCTGCCTGA +AACCCACGTGGAGTCAGAAAGTCCCATTTCGCTTTGATCTTCAAAAAATG +CGGGAGAAGAGACGCAGATATCTCATCTATTTCGCATGGTTAAGAGCGTG +CTGACGTCACAATTTTTCTGGAAAAATAATCCCGCATTTTTCGTAGATCA +AACCGCAATGAGACAGCCTGACACTATTAAGCCGCAAAGGCAAAAGTGTT +TGCCGTCTGAATTTTGAAACAAAAGGTTTAACCGGTGAAAATTGAAAAAA +AGTATAATAATAATAATAATAAAAGTAGAACTATTTTCAGTATACTAAGG +CAAAATGATTGTTTTATAAAAAAACTTAATTTTAAAATTAGATCTCCTAA +ATGTTTCAAGCAGCACAACTTTCATGTGATGTCAGGCTGTCTCATTACAG +TTTGATCTACAGAAAACGCGGGAATTTTTCTCCCAGGAAAATGTGACGTC +AGCACACAATGCATAATCAGATGAGATTTCAGCGCCTCAACTCCCGCATT +TTTTGTAGATCAAACTAAAACAAGACTCTCTGACACCACGTGAATTTTCC +AACCATCAAACTATCACAAAAAAATTGGCGCCAAAAAAACTTCTTTAAAA +ACTTCTCATTTCCAGTAGGAACAATCGGTCTCGAACTGAAGGATAATGTG +CGCGACGGGTACACGCCGAAAAACTCGCTATCCCGACTGGAAAATCGCCT +TTATCGAGAGTTCCTGAGTTCCGAAGGTGATCCGGTGATGACTACAGTTC +TCATGACTGCCAAAGACGGAGGATCCATGCATCGGATCAAGTATTTGGAA +GAAGCACAGAGGGTGAGTGGCATAACATATCGGATACCGTATTTCCTCTA +TTAGTAAGGCATGCAAAACTGATTTTCGGACACCTAATTTGATGCAAAAC +TAATAGAGGGTGCAAAACTAATTTTCGAACAGGTTTTTTCTCATTAAGTT +ATATTATAATATCATCAATTTCAATAACAACTTCTGAACCAAAATGGGCG +AATTTTACGACTGATACGCAAAAATTGTCCGAGTTGTACTCATATTTTGC +CAGTTTTGACTTGTTATACCAAGTCTGTAAGAGTTTTCCTAATTTTCAGA +ACGATTTTATAATGCAAATTTTGAATTCCTAAACATAGGGAACAAATTAA +GGGGTGCAAAACTATTAGAGGTGCAAAACTAATAGAGAGTGGAAAACTAA +TTTTCGATTAGTGATTTTTGATGCAAAACTAATGGAGGTGCAAAACTAAT +AGAGGTGCCTAACTAATAGAGGAAATACGGTATATTTTTTTGAATAAAAA +ATTTCAGCAATGGCTCTACATCTCCAAAAACCTATCCGCAGACGTTGGAA +ACGGCGAGTTCATGAAATTCGGAGATTTCTGTGGCCACTACTGCCAAGCC +AACGACATCATAGGATACTTCCTGGACGCCTACAAAACCAAGTCAGCTGA +CCCAAAAATGGATGGCTACCAACTCAATTACCCAATTACCACAGTAATGG +GTTATCAGCTTCATCTCGAGCGTAACTTTTTCGGGGTTACTGTGAATCAG +TCGGATCCGGTCACTAATATTCAGAGTATGAAGGTTCTGACGCTTCCTGT +GTTGTCAGAGGTACGGACGTTTGAGGATACGGATAAGCTGAACAAGTGGG +AGCTGGCGGTTTATAACTATGCTACAGGATACTCTGCACTCGAGGGTGAC +GATCATTTGGTGGAGATTAATGTGAGTGAATAAATTGGACCATTTCAAAA +ATATTGGGCCAGCCCTAAAAAGACAGCGGGCCGGCCCATATCGACCCACT +TAACAGGCTCAAAAAAGTTTAGTTCAGTTGTGTGCCGCAAATTTTGAAAT +TTGCCGAGCTCGGCAAAATCGGCAAATTTGGTAAATCGCATAATTTTCGA +GCTCGGCAAATTCGACAAGGCTAAATGTTTGAATTTTGCCGTTTTCGGCA +AACGGCAAATTTGGCAAATTTGCCTTACACCCCTGGTTTAGGGGTTTCGT +GTTTAATTTTCAAAGCTTAGATAAACCTCTTTTCCAGGTGATCGGTGCTG +AAGTCGTCGACACCGAAATGAACAAGGACGCTCAGAAAATGGTGCCCTAC +TTCATCGTCGGAATCGTCTCGATGATCATCTTTATCTTCTGCACCGTATC +CATCTCTGCCTCCTACTACGGATACTTCTCCTGGCGAATCGGACTCATCG +CCCTCGCCTGCCTCTTGGTTCCGATTCTCGCAATTCTCACTGCATTCGGA +ATCAATAATATGCTGGGAAATCGAACGAACTCTCCGATGATGATCATGCC +GTTCTTGATCAATGGAATCGGAGTCAACGATGCGTTTTTGACACTTCAGA +ATTGGTTGCAGCATAGCCCGGATCTTCCGTCAGGGAAGCGGTTGGGGTAT +ATGTTGGCTGAAGCTGGTCCATCGATCACTACGACCACTTTGACAAATGT +CATTGTTTTTTTGATCGGGTGGATGAACCCAACGGAAGGTAAGGTTCAGT +GGTGGACGGCAAACTACTTTTTCCGGCAAATCGGTAAATCGGTAAATTGC +CGGAATTGAAATTTCTGGCAAATCGGAAAACCGGCAATTTGTCGATTTGC +CGAATTTGCCGGAAAAAAAATTGCCGAACGGCAACTGCGCCCTGGTAAGG +TGCATAGCTTTGGCCTCTAACATAAAAAAATTTGTCTATTCATCCTTTAT +TCCAAAACGACATGTATTCCAGAGATGTCAATCTTCTGCCTTGGATGTGC +AATCTCCCTACTCCTCGCCTACGTCTACACCCTCACGTTCTTCTGTCCGG +TGCTAGTTCTTCTGCTTAGCGAACGCGTCAATGAGCCCAGCAAGCTCGAG +GGCACTTTCAACAAGGTTCTCGGATTCTACGCAAAAATCATATGCAGCCG +ATGGACATTTGCACTTCTCATCATCGGAAGTCTTGTCTACTGGGGTTTCG +GTATCTATGGAACACTGGGGATCCGTGCCGTGTTGAACACTGCAAAGATC +CTTCCCCTGGAGACGCCGATCCGCAAACCGAACAGGATTATCGAGGAGAC +CGTGTGGAAAGAGTTCTACCCAGTCACCGTGATTGTGAACAGCCCAGTTG +ATATAAGCAATGCAAATGCACTTCGAGCATTTGACAACCTCGTTCACGAC +TTTGAATCGATGGAAAAGTGCCGGGGATCCGAGTACACCATATCTCCAAT +CAGAGACTATCAGACCTATTTTTACGGTGTAGGAGCCGAGGACTTTGATT +ATGAGGAAGAAACCGTGAAGAACACCTCACATTCTTTAGATTTCAGTGTA +AGTTAGCAGTCCACGCGTTCCTATTAAAATCTACATATATGCCTATAACG +TGTTTATCCACAGAAGAGAAAAATCGCCATATCTGCCGCGCAAATGAATC +CGCGGGAAGAGACAAAACTACTGTAGTTTTTAACCAATTTGTGTAGATTT +ACGAGCTATTGCGTCATCGTTGTATTTAATTTTGAGCCGCAATTTTTAAT +TTTCAGGCGTTTCACACGTTTTTATATTGAAATTTATCTATTTATTGAAT +AAATCTTAAAAGAAAACACAAAAAAATTAGAAAAATTCCGAAAAACGCCT +GAAAATTAAAAATTGCGGCTCAAAATTAAATTCAACGATGACGCAACAGC +TCGTAAATCTACACAAATTGGTTAAAAACTACAGTAGTTTTGTCTCTTCC +CGCGGTTTCATTTGCGCGGCAGATATGGCGATTTTTCTCATCTCTGGATA +AACACGTAATACCTACATATTTTGTGTGCCTAAAAACATGCCTAGCAGTG +AAAGTAGACAAATGTAAGCACACAAACGTGAGTAGGGCTTAAATGGTATG +CAGGCACTGTTTTAGGGCCTGACGCCTGTCCAGGCCTGTCTTGTACGTTT +CATCAATTCAAGCCGTATATTTCCAGAAGCTCACCGGATTCCTTGCCAAC +CCTATCTACAAGCATCACAAGGGAGGACTAAAACTTAACTTTTCAAATCC +GTTAGTTCCTATCTGCCACCTTACCCTAAATCGAGTACCATTTTCAGTGT +TCCAATCCGAAAAGTGCAACTGATATTCGCTTATGAAAACGTAACCTCGT +GGGATGAACGGATTCAGATTATGCAGGACTGGCGGACCATCGCAAGTTCC +CACGTGGCCCTAAATGTTTCAGTGTGGAATGTGAACGCAATGTTCGTAGA +TCAAATGCTGAGCCTGAAGGGATTGGCGATCTCGGTAAGATCTCAATGGT +TCCAGCGCCCTATAAATACCGCTTATTCTTTCAGAATGCCCTAGTCACCT +TGGGATGTATGGCTGCCGTCTGTGTAGTCTTCATCCGCAACCCCCTCTCA +GTTGGCCTAGCGACCGCTTCGATTTTATCCATCTCCATTGGAGTAACTGG +ATACCTGTGCTTCTGGGACTTGGATCTGGACCCTGTGACCCTGTGCGCAG +TAATTGTTTCAATTGGAATGTCCGTTGACTTTGTTGCCCATGTGGCCTGT +CACTATCAGGTCAGGTATAAAGAGTTCGAGGAGAAAGGAGTATTGAAGAG +GATTGAGATGAAAACTCCCGAATCTCGAGTCGTCAACTCGCTGTCCAATG +TGCTCTGGCCAATGGTCCAGTCGGCTTCTTCAACTCTTCTATGTGTACTT +CCACTTGGTATTCTACAGGTACCTACCAATACCTATACTTTACCGATAAC +CCTACCCCTCAAACATTCCAGAACTACCTCCCAATGGTTTTCGTGAAAAC +CATCCTGCTCGTCGTGATCTGGGGAATGTTCCACGGTCTTGTGCTGCTCC +CGTGCATTCTTGCACAGTTTCCCCTGTCTGTGTTCAACAAGACGTTCGCC +GACTTGTTGTTCGGCAGAACATCCTCTTCGTCTTGCTCTTCGGAGTCCGA +TTCGGAAACCGACACCGGTGATGCTCAGGAGATGGTTCCGCTCGCTGGAA +CCGAGAAGGCTTAAGATCTGAAATTAGTTGTTGTTTGTTATTATGTACAG +TTGGGATACAAAGTGTATTATGTAGTCTGTAGTGTCGCAGTGCTACAAAC +TACAAATTCAAAGCTACAAACTATAAACTCATTGAGATCTGGCAGAGCTT +TATAGTTTGTAGTTTTATGTAGCAGCTACAAACTACAAATTTCGATTGTT +GTAGTTTGTAGTATGGCGCACAAACTACAATGTACATTTTGCAAGTTTTC +TAGATTTTTTTCTCACTCACACACACACACACACACCGTTTTGCTACGTG +GCTGCGAAAATGGAAAACTCGGCCACGTCGCAATTCACACATCGCCAGAA +ACTTCTAGCTTTACCAGTAGCTTTTCATGATCTACTCTTCTTTTTTTTCC +CCCCTCAATTTCTATTTGAAATTTCAGAATTCCCTCAATTAGTCTTCTGT +CACCGTGTCCTCCTCTTTTCCGCAAGCGGGTCCCCTTTTCCCCCCACAGA +TCGGCTTCTCAGGGTTCCTATAGCACTTTTTTCTTCGATTCTTGTCACAC +AAAAAATTGTACTTCCATCGCTCGACGTGTCCATTTTTTCTTGTATTTTT +TAAATGCATTTTTTGATAAATTTGATTTTTTTTATCATCCAGAAAATGGT +CAAAAATTCAGATTTTCTTGCTGGGATTTTGCTGGAATTTTTTCAAGCAT +CAGACATGCAAAAACTTATGCAAAACTACACAACACTATCGATGGGGACT +GTTCGACTCTTCACCCCAGTCAAACTTTTTTTCACTATTTTTTTTAACTT +CTGTTTTTTTGGTACTTTTCTGGCCGTTTTTATGGAATTTTTTAACCCGA +CATTGGAGTTTACCTTTTTTTGTTCAGGATTTTAGGAATTTCTGCGACCT +TCTCACTCATGTCCTCCAGCCCCGCCTAAGCCTATGCCTTAACTCAAGCC +TAAGCCTAAGCCTAAGCCTAACCTAAATCGCGTCAGAGATAACGTTCGCC +ACTGACGCCAAGCCTCAACCTAAGCCTAAGCCTAAGCCTAACACTAAGCC +TAAGTATAAGCCTAAATCTAGGCCTCAGCCTAATACTAAGCCTAAGCCTA +AGCCTAAACCCAAGCCATAAGAAGACACTCTAAAAATGTTCAGATTATTA +AAAAATTACATTCAAAGTTTTCTTCAAAATTTTGCTTTCGACTTTCCAAG +TAATCAATACCATGTAGAATTCCAAAATCTTCATACAAATCCCTCCCCTC +TTCACATCTTTCCCGACAGCTTGTACTATTTCTCCTCCACCCACTAGGCC +AGGTCAACGCTGCGTCTCTCGTGTTTCATATGCTATCTCCCTTTTGTGGA +ATCCGTTCATCGTTTCGGATCGCTTACTTCTTCCGCGCGCGTCGCATTTC +ACTTTGAAATAAACTTCAGTTTTCCTTTCCAAAATTTAATTGGTGGAAGC +GTTTGAACATGCGAAATTTGTTAATTATCGTGTGTATTCATTTAATATTA +CTACTTGTACATTTTACCGATGCATGTAAGTTTTGGATGTATCAAAAAAT +TAAATAAATTTCTTAAAGGTGGAGTAGCGCTAGTGGGGAAATTGCTTTAA +AACATGCCTATAGTACCACAATGACCGAATATCATGATAAAAAAATTCAA +AAAATTTTTTAAAATTTTATATGATTTTTTGAAAATTGGAAAAATCTCAG +TTTTTGCCTAATTCCAATTTGAATTACCGCTAATTGGATTTGTTCGATGG +AGCGCGCTTGCACGTTTTTAAATTTATTTATTTTATTTTTTGTTATTTTC +CACCGATTTTTAATGTTTTCGGTGTATTTTTGCTCTAATTTTAGAGAAAA +AGTCAAGATGAATGCAGATTTTCGATTAAAAAGCACGCTCACAGGCGTAA +AAATGACAAAGTAACGATTTTAAACGGTTTCGAACCTGAATTAATTAATT +TCACTGATTTACGACTGTAAGCGTGCTTTTTAATCGAAAATTTGCATTCA +TCTTGACTTTTTCTCTAAAATTCGAGCAAAAATACACCGAAAACATTAAA +AATTGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAAAAACGTGCA +AGCGCGCTCCATCGAACAAATCCAATTAGCGGTAATTCAAATTGGAATTA +GGCAAAAACTGAGATTTTTCCATTTTTCAAAAAATCATATAAAATTTAGA +ATTTTTTAAAGAATTTTTTTATCATGATATTCGGTCATTGTGGTACTATA +GGCATGTTTTAAAGCAATTTCCCCACTGGCGCTACTCCTCCTTTAAAGTT +TGAAGTTTTAGTAAAAAAAGAGTGTCGGTTTTTTAGTTAATAATATTAAT +TTCCAGTCGCCGGAACAGTTCGACCATTTTTCACCACTCTTCCAGTACCT +GGAAGAAATGTTCCTATTATGAGATTATTCGAGAACTATGCTGCATCGTG +CCGACCAAAAAGTAAAAAGGACTTCAATGTTGATCAGCTGGCAAATGTAG +GTTTTTTCCCGCAAAAAGTCGTATTTCGTGCAAAACCGGCAAAAGCAAAA +ATTTTGAATACCGGCAATTGTCGGAGTTGCCGATTGCCGGAAATCAAAAT +TGCGGGAAATAAAATTTTGATACTTTTTTGTAGATTTAGGAGCCTAAAAA +TGCATTTTAATGAACAATTTTTAATTTTCAAGCTCAAAATGATTTAATCC +TTTAAGGATTGACCGTTTTCTTTAAAAAAGACTAACCGAATACTATAAAA +AAAGGTGAAATTTTTTCAATTTCCAAAATATAATTAATTTTGGCAACTGC +CGATTGCCGGAAATTGCCGATTGCCGGAACTTCACAATACCGGCAATTGC +CGAAATTGCCGATTGCCGGAAATTTCCAAAACCGGTAATTGCCGGAATTG +CCGATCGCCGGAAATTCCCGATTGCCGCGCACCCTTGTATTAAAGGATAC +GGCAAACGATTTTTTCCGGCAAGCGGCAATATCGGCAATTGCCGAAATAA +AATATTTTCGGCAAACGGCAAACGGCAGTCAGCAACATGCCACTTCTCCA +ATTTTCGGCAATTTCGGCAAACGGTCAATTTGCCAGAAATCATCGGAAAA +TTGTGATCTTGCACATTTTTTCTGGAAATTTCAGAATTTCAATTTTAAAC +AACAACATTGTACACATCCTATGAATGACACATATCTTAAAAAGCCAGTA +AATTCTATAAAAAATATCTAGAGAAACTGGCAAAATAATTAAAAAAGGCA +CGGATTCATGTGATTTTGATTATTGAAAATATCTTTGAAAACTTTCGGAA +AATTGATATCCGGCAAATCGGCAAATCGGCAACTTGCCGATTTCCCGAAT +TTGCCGAGCAATGAACTACACTGTTCCAAATCGAATTCGTAACCGATATT +ATACTTAGGAATGATATTTGTAACTCGTATAAATATTAAATAATATATAT +ATATTCCAGCTTCTCCAATCTCTCCAAATGGATGAAGTAGCCACAAAAGC +CTACAACTCCCTATTCTTCTCAATGGCTGATATGCAAATCGAAAAGTTCA +TGGGTAAATGGTACACAGTTGTTGATTCGAAAGAAGTTCATAAAGAGGAT +TGTTCAATTTTCTATTGTAAGTTTATTTTCATTCTGAAAATGAGATGCAA +ATTTTCAGTCGATATGGTACTTCAAACTCCATACACCGCAACATTCACCT +CAAAGCAGTACGGAGTGATTAATAATGATGTCGTCACCAATGAGGGGTAC +GGTAGTATGGTTGGTCCAGAGCCCGGAGCCGTTCTTATTACAACTGGTAG +TGAAAGGGATCAGTGTCCATGTAAGTATTTTAAATAACTTTGGTCCGGTG +ATATTAAGATACAAGTTTAAATACTTCCCGTTTCAAAAACTTCGAATTTC +CCGCCAAAACTTTTCTCTGAAAATTTTAATTTCTTTCCAAATTTTTTTCT +TTGAAAATTTGAACTTCCCGCCAAAATTTTGTAGTCAAAAAATTTGAATT +TCTCTCCAAGAATGTTTTCTCAGAAAATTTGAATTTCCCGCCAAATTGTT +AATGTCAGAAATTTTGAATTTCTCGCCAAAATTTATTTTCTGAAAATTTG +GATTTCCCGCCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAA +TTTTTCTCTGAAAATTTTAATTTCTTTCCAAATTTTTTTCTTTGAAAATT +TGAATTTCCCGCTAAAATTTTATTGTCAAAAAATTTGAATTTCTCTCCAA +GACTGTTTTCTCAGAAAATTTGAATTTCCCGCCAAATTGTTAATGTCAGA +AAATTTTAATTTCTCGCCAAAATTTATTTTCTGAAAATTTGGATTTCCCG +CCAAAATTTTTTTCTCAATAAATTTAAATTTCCCGCCAAAATTTTGTTAT +CAAAAAATTTGGATTTCTCGCCAAAATTTTATTGTCAGAAAACTTGAATT +TCTCGCCAAAGTTTTTTCTCAAAAAATTTGAATTTCCTGTCAAAACTTTG +TAATCAAAAAATTTGAATTTCCCGCCAATTTTTTTTCTCCGAAAATTTAA +ATTTCCCGCCAAAACTTTGTTATCAAAAATTTGAATTTCTCGCCGAAATT +TTATTGTCAGAAAATTTGAATTTCCCGAAATCTCTATGAATAAAACATTT +GCAGTTTTCCCTGTACGAATCGGTGGCTTGAGTGACGAAGGAGAATATCA +ATACATGATCTTAAGTACACCACTGAAGTATCCAACGATGGTCTTGACAA +GGTAAGTTTGCCTTAAAATTTGTTTTCTAATTATTCCAATCTAATATTCA +TGTGATGTTGAAAAATGCAAACATGTATTTTAATACATTTTCCCCCTATT +GATGCGTACCGAAAAATGTAGAAAAATGGAATCATTTTTTTGCATTTTTC +GACATTTTCGACATTTTTGACATTTTCCGACATTTTTCGACGTTATTCGA +CATTTTCACGCATTTTTCAGAGTTTGCCGAACTAGGCCATTTTGGCTCGG +CCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTTGA +TTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGACTTTC +CCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGGACAGAAC +CCCGTGTCCACAGGAAGAATTTTCTCTGCGTCTCTTGTCTTTAGCATTTA +AAGTGGGGCGACGCCGATGTAGAAAAATGCTGAAAAATTTCGAAAAATGT +CGAAAAATGCACAAAATGATGGCATTTTTCTACATTTTTCTGCATTTTTC +GGCACGCAAAAAACATCACATGAATAACCCCATAAAAACTCCAATTTTTC +CAGAGACCTAACCCTATTCGAAACGAAATGGAAGCGAGAAGTGTATGATT +TTGTTGAGAAGAATGGTTTCATGAGTCCAATGGCAGCATTGAACACTCGT +CTCCATTTCACAGATGTCGATGTTTGCAGAAAAGTGAATAAGTTATATGA +GAATGGAAATGTTTGAGTTGAAGATTATCTTTTTTCTGATGATACGGCAG +AGTTTTTGACGGGTTGTGCAGTGTTTATTTTTAACCTTCATGTGTATTTA +AAAATAAAGATTAATTTAATTGAATCTGTGTTTAATATGAACTTTTAAAA +CACAAAATTTCAGATTTTGGTTTAAAAACTGTAGACACTTGATACTTTGT +TGAGTGTACCTAATTTGAATTTCGCGAAAAAATGACTGTCATATGATTCT +TGACCGTGTACACCTCTCGGGCAATACATTAATATTTTAATATTATGGAT +TATAAGCATTTTCAGTAGACTTTCCATATTTTCTCATGATTATTACTCAT +TTTTATGACGAAAAGCATTGTTTGGAACTCAAAATTATCAACTTTAAATG +TTAAAAAATATTCAGGAAAACATAATATTTGCCTATTAAAAAATTTCCCA +TTAATTTTCCACAAAAAAGTTTCTTTTTTCTTTTTTTAATTTTTTCTCAG +AAAAATCAAATCTCCCAACAAAGTTTTTCTCAGAAATTTTGAATCCACCG +CCAAAAATTTTTCTCAAAAAATTTGAATTTCCCACCAAAAAAATTTTTCT +CACAACTTGAAAATTTGAATTTCCCACCAAAAATGTTGTCTCAAAAATAG +TAAGTTTCCCGCCAAAACTTTTTTTAAAAGAAAATTTGAATTTACCGCCA +AAAATTACTTACCAGAAAATTTCAATTTCCCGCCAAAAATGTTTTCTCAG +AAATTTTTAATTTTTGGTCAAAATTAAAATACTACTACGGTACCTTAATC +CTACACCTCCACCCAAAAAATCATTTTTCAAAAACTACTACAGTACTACT +CCTACAGTACTCCTACCGTACTCCTAAAGTACTCCTACCGTACTCCTACA +GTACTCCGACCGTACTCCTACAGTATCACTACAGTACTCAAACCATATCC +ACCACTAACACCAATCCAATATCCCTTCAAACGACAATAACTTTTTTATT +CAAAAATACAGTAATCTTACTGTAGACAATCTTTTAAATTATAGTCTTCA +TCCAAAACTATAACGGACTCCATCCCATAAAAAGTAAACGACAAGTCATA +AAAATTGGAATTCGCGTAGTTTGCTCTTCCGTGAAGGCAAACACACGTGC +TCAGCTATATTGATAAGAGATGAAAAACGAGAGGAATCAGTCGAGGTGTC +TGATCTACTTCCAGGATGGTGACCGCTCTTCTACTCCTATTGGCTCTTGC +AGCCACCTCTTTGGCGGCTCTTCCAGATTTGGGATATCCCGGATGGCAGT +GCGATGCATCGCTTTATCAGAAGTAGGTGGCTTACTTTAATTACTAAAGT +TTGAAATTTTCCTCGCTTTCAGGAGCAAAAATACCCCGACTTCTGCCCAC +TCCGTCCGATTCACCGACATAAAAGTTTTGGGAGCTCTCGGAGACTCCTT +GACCGCCGCCAATGGAGCCGGAGCACCAAAGGGAGACCCTCTGGCTGTGA +TCCTTCAGTACAGAGGACTAGCCTTCCAGTGTGGAGGTGACCACTCTCTC +GACGAGCATGTCACTGTTGCAAGTAAGCCATTTTTCTGGGGAATTGAGAA +AACTGAGTTGTTGTAGATGTGCTGAAAAAGTTCAGCCCTAACCTAATGGG +ATACTCCACTGGAATCGGAAGTGCCAACGTTTGGGAGGTCTCAAAACTGA +ACCAAGCAGTTCCAGGAGCTGAAGCAATCGATATCATCACTCAGGCCAGA +GCTCTGGTGCAAATTATCCAAAGCCACAAGGAGGTAGCCAAGTCCAAACT +AAACATCAATTCCGATGCATTTCCAGATTGATTACAAAACTGATTGGAAG +CTTATCAACGTATTCATTGGAGCAAACGACATGTGCGCCTATTGCAACGA +CCGAGAAAATGTAAGATAGTCAAAGATCATTCCACACCCGTTTTATTGCA +TTTTTATAGGGCCCACACTCAAAAGCAATCTGGAAGCAAAATGTGATCAC +TGCCATTCAAATTTTAAAGGATAACTTACCAAGGTAGGTAAACTATAGGG +ACATGACATTCTAAAGTAAATAACTATAATATTATGAAATTGTCACATAC +CTATACCTACCTATAAATACCTACATGGTCCAGAGCTGTGTGGCAAATTT +TGAAACCAGCAAATTCGGCAAATTTTCCGGGGTCGTCATACTTGGTAAAT +CGCAACATTTTTTGGAGCTCAAAAAGTGCCAAAATTAACAGAAAATCTAA +GTTGTTAAACATTTGTGGCAAATTCCAAATTTGTCCAAATTTTTGAAATT +TGCCTTGCTCGGGCAAATTCGGCAAATTTGCCGTGGTTGTCGGACTCGGT +AAAGCGCATCATTTTTTGGTGCTCAAAAAGTACCGAGTTGATGGAAAAAC +TAAGTTGTTAAACATTTGTGGCAAATTACAAATTATGTCCAAATTTTTGA +AATTTGCCTTGCTCGGAAACCGGCAAATTCGGGAAATTTGGCACACCCTT +GATCCCATAGCAGTGGCGCAAAAAAATCTTTAAAATTGTGGCCGTTTCCG +TGCCAATTATAAATTAAAGTTAAACATATTATCGAAAAAATACGATCGCA +AATTTTTCTCGTAACTTATTTTTGATCTACCTTGTTGACTAGGCTCCTCC +CCTTCCTTCGACAAGACAGCCACAACAAAATAACAACGGCAACAAGATTA +TGGGCAAACACGTGGTGCCAGGCTGTCCCATTACAGTTTGATCTACAATA +AATGCGGGAATTTTTCGCCCAAAAAAAAAGTGACGTCGGCACGTTCTTAA +CCATACAAAATCAGTTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTTGT +AGATCAACGTAATTCAAGCCAAAATGAGACACTCTGACACCACGTGGGCA +GAGTCAACTTCCAAAGGTAGATCAAAAATTAATTATGAAAAAAATTTGCG +ATCGTATTTTTCGATAATAAGAGCCAACATTTTTCGGCTTTTTATGGAAA +TTTTTTTTTCAAAAAGAGGAGTATGGTCCATAACTATGCCATCAATACCA +AGTCCTTCCAGAACCATCGTATCCATGACCGGAATGTTCGACATGGCCAT +GCTTCGCCAAATCGACCACGACAAGTATTTCTGCGACGGCCTCCATGTGT +TCGAGTGCCCATGCGAGAAGAACAAGGACTTCCCGAATACCGACATCTCG +GCTGCCTGCCATCTTTACATGGATGCTCAGCAGGAGATTCAAGACTCGGG +AATCTTCGACTCAACAGATGACTTTACATTTGTCGTTCAACCATTCTTCA +ATGGAATCACAGTTCCACCACTCAAGCCCGACGGAGAAGTCAATCTGGAT +TGGTTTGCACCGGATTGCTTCCATTTCTCAAAACTAGGCCACGCCAATGT +TGCCAAGCACTTGTGGAACAATATCGTTCAACCAGTCGGATCCAAGAACC +ATCAAGTCAATCTGTCAGATCCTACCATTCCACTAAACTGCCCAGACACC +AAGTGCCCATTCTTCAGAACAACTAAGAACAGTGTTGACTGCTCGAAATA +TATGACTGCCTAGACTGTAGGAAATTGTGTTTGTGTGTGTAATTTGACGT +ACTTATCGGGTCTGCAATAAAATGTTTTATCGTGTAATCTTTAATTTTTA +ACGTGTGAGACATAAAAGAAAGAGCACCCTCAATAAAAATATCCACGTGG +AGTACACAATATAGCTATCAATAGAGCGAGTAAATATTTTTGCAATAATT +ATTTATTAGAAGAATGGAGATCAAGGTAAAGGAAGAGATCTTGATTTTGA +AAAAAAGATACTGGAAATACTAATTGTTCACGGGATTTCATAGAAGGGGA +TATATCACGACTTTTTCTTTGAAAAATAAAAACAACATAAAATTATTGCG +GCTTCACAATCTGATCATCCGGTATTTCTCCAGATCTTTCCTTTTCCGAT +TCGATCTTCTTCCACTTGGTACGCCGGTTTTGGAACCAGATTTTCACCTG +GAATTTGAGAAATTTCAGCTATGCGTTGAGTGCCGCGTTACGTGCTGCGT +TGCGTGCTGCGTTGCGTGCCGCGTTGCGTGCCGCGTTGCGTGCTGCGTTG +CGGGCTGCGTTGCGTGCCGCGTTGCGTGCCGCGCTGCGTGCCTACCTGCG +TCTCCGTGACATCCAATCGTTTTGCAAGCTCACTTCTGTCACTACTTGAC +AAATACTTTTTCGCCTCAAACTGCTTCTCCAGTTCGAATACTTGTTTCCC +GGAAAATGTCGTCCGCGCCTTCTTTCTCTTTGTTTTTTGACATTTTTCTA +TAGGAGACTCTTTGGCTTGGTCGAGGCTGGATTCTGAAAAAATATTCTTA +ACGGCTGATTATTTTTCTACGTGTAGCATTTTTCCGAAATTCATTGAACA +AAATTAGTAAATTTCCAAAAAATTTTTTTTCCAAAATTTCGAAAACATTT +TAATTTTTTTCAGATTTTCTAATATTTTAAAACAAAAATTGAGAGTAAAG +GAAATAAAAATTGTGTCTTGTAATTTTTGTAATTTTTACTCAAAAAAAGG +CCAGTGAAATACTATTACAGAAAATACGAATCGATGCACCATGTCAAAAA +GAATAGTATTTCACCTCAAATGCACCATGCCCAAAACTAGTCTATTTTTC +AACTACAAAACTTCATACACCTAATCCAAAGAAATCAACTTACTGCATCT +TCCAAATTCATCAATTTCTCCATTAACAGTTGGTAAGTCAAGTATATCCT +TTATCAGGTGACTAGTTCTTCTCTGAGGCTTCACATCAGACGTCAACAGT +GCAAAATAGGGTTGAAGTAGTTGGAAGAGCAAGTCAGTTTCCATTTTGCA +CGAATGAAAAGAACTTCTGAGAGACTTCTCTATACAGTAGGTCTCGAGGT +CCCCGCCTTCTCTTCAATCAAATAATTGAAATTCTGGACTCTCGGGGGAC +TTTTGACGGTTGACGACGACGACAATTTGCCAAAGTGGTCGACAATGATT +GCGCAATTGGTGTGGAAAGAAGAAGAAGATGGGTGAGTTCTGAGATGATG +ACAAAAAGAGCATGAGCCAGCAAATTGAATAAGAGACCGGATTTCGAGAA +GGAGGAGGGGGAGAGGAGGATTGGTGGTAAGGGATGATACTTGATGCAAT +TGAGGGAATGAGTTTCTCATACTTGACTATTAAATACTTTTCTTGAACTT +AAATATTTGAATTGAAATTTTGGAGTAGCGGAGGCACATGTGATATTATT +GTGCTAATTTGTAATACTTGGACTTTCAAATATAACCTCAATTATTTGAA +AAAAACCTTTTGAATAGACCAGCAAGGTTGATCTACAATTTTTCATGGAA +ATCGAATTAATTTTGTAAGGATGTCTACTGAGTATAAGCTTATTGTTAGG +CTTAGGCTTAGGTCTAGACTTAAGGCTACACTTAAATTTAGGCCTAGGCT +TAGGCTTAGGCTTAGGCTTAGGCTGAGGCTTAGGCTGAGGCTTAGGCTTA +TGCTCAGACTTAGGCTTAGGCTTACGCTTAGGCTTAGGCTTAGGCTTAGG +TGTTGGCTTCAGAATAAGCTCAGGCGGGGGTGAGGGAAGGGTAGAAAAAA +AAGAAAGAGAAATTTCCAGAAATTCACAAAATCCAGAAAAAAACATATCT +TTCACAAGTTTATATTTTTATAGCCTAAAAAATTACTTTTAAAATGAGGA +TATGCAACCCGCACGCAAAAAAACCTTTTTTTTTTTGAGCAATTTCACGG +CTCTTTTTTTTTTAATTTAAAAATACAATAAAAAAACCAAAAAAATTTTC +CGAGCCCAAATTGCTCCCAAATGCTCTAAATTTCTTTTGAAGTTTGATAT +ATTCCTATTAGAACTTGAGGAAAATGTAAAACTAGAGAAACATAATACTA +CGCATGTTAAATGTAAATTACTTACTTTTAAAAAGTCGTACGTTATTTTG +GAAAGTTTGAGGTTTTTGCATTTTTTCCGTAATATCACTGAACACTTTTA +TTTAAATATCATCAATTATCGGAAGTTTATAGGTTGCAGGAGAAAAAATA +TATTCTAGCGGGAAAATGAAATGAGACGGGGGGACATTTTTAACCAAAAA +AAAATCAGAAAACAGTTGGTAATAAAATTATTCCAAGAAAGTATAAATTC +ATGACTTCCATCTTGGGAACATTCTTAAAAAATGTCAACGAATAAATCTT +TGTGGCAAACAAACTTTTTCCATAAATGTTTCAGACCTTATATAGCGGAC +ATGAAAGTTGATTGCTTATTTGATATGTCTTGAGTTTATTTTTTTTTATT +TCAAGCGAGGGGAGATTTATTTGCCTAGATATATATATAATTATTACTGG +AACGAACTGGAAAAAAACTTGGGATCAAAAAAATCAAAAATTCAAATTCA +AAAATTCAATTTTTCGAAACTTTTTCTACAGCTTTGTCGAGAAGCAACAG +ACAAATACTTATAGCTAAAATTTTATTAATATTCTAGTTTTAGTCATGGT +GAATCGAGAATTTGTCAATTTCCATGTGGTATCTTAAAAATAAACCGATA +CACGTGGTGTCAGGCTGTCTCATTGCGGTTTGATCTACGAAAAATGCGGG +AATATTTTTCCAGAAAAATTGTGACGTCAGCACGCAAAAATTAATAAGGG +TCTAACCAAAAAAACTTGAATCTTGGAAATATTTTTAATTCACCCTAAAT +TTTCCCCTGATTCCGAATATCTATGTGAAAAAATTCAAAAAAAATTTCCT +GAATTTATATTTAAGCTTGAAATCTTTCATAAAAATTTTTTTTTTTTAAA +TTTCATTTGTACTCGCATCACTTTTTTCAAACTCGCGCCCAAATAAATTA +GCGCGCGCGTGCATCGTTTGACTTTTTTTCGTTTAGTTTTTTTTATTTTA +GCCGAATTCAATTTTTTTAAAACCAGTTTCATTCATTTTTGTCGGTTTTT +TTTTTCTGAAAAAAATGTAAAAAAACGAAAAAAAATCAAACAATGCAAGC +GCGCTCCAATGCTAATTTATTTGAGCGCGTATTTAAAAAAGAGACCGGGA +TACAAATGAAATTCGGCGATTTCAAGCTTAAATATAAAATCTGGCAAACT +TGTTTTGAATTTTGAATTTTTTCACATAGATACTCGGAATCAGGGGAAAA +TTAGGATTCATTCAAAAATATTTCCCAGATTTCGGTACCCCACCTTAAAA +ATTTTTTTTTGGGAAAACAAGGAAAATTTCTAGCTTGAACTTATTTTATC +AATACCTAAAATGCTGAACATTAAAACACACACACCCGTATGAGTATTAT +ATACTTCCAAGGAAACATTTGAAAAATAAAGAGTTCTCCGCTTTGATTAT +ACACTTGTGATATTCTCACGCCTGGCACTTGGCACCAGCTCAAAGTGCTC +ATTTTGGCTATAATTGTTTGAAGGTATATGAAAAAGTGGAAATTGGGAGG +AAAAATGGCATGTTTTGGCTTTCTCTACCTGGCCTATGTGTTAGAAAACT +CTTCTATGAAAATTCAGTTTAATTTTTTAATTTTTCTTAATTTTTAAAAT +TCTAAAAATGGCTAAACTTTCAAAAATATAATTTTTAAAAAGCCAAATAC +TATAAAATTTCTTTGTTAATTTCTTTATAACCAAAATTAACGATTTTCAA +AAGTCAAATTTTTCAAAATTACAAAAAATTTAAAATTACTGTAAGATGCG +CAAAAATTACAGAGTTTTCAAAATATAAAACACTCTTGTGGCCGAAAACT +TCCAAAGTTCAGGAAATAAAAATTCCAAAAAAAAATCAAGAAAAAAATGT +ATCTCGAAAAATTACCGCTATTAGAAAATCGCCTTCTCTAAAATTTCCCA +AATTTTGAAATTATGGAAATTCCCAGATTTTTCAAAAGCGATCTAGTCGG +AGTTGTCAGAAAAAAAGTTCAAGAAAACTTTCTCTAGAAACTCAAAAGTT +GGCCTGATCAGAACTTGTTGGATTTTTTCAATTTCCCAAAAAATTTTCAA +AGTTGCCGAAAATTACCGAAACTCCAGGGCTCACTTTTAGACCTTAAAAT +GAAACTTTTGCCATTTGAAAGAGGCTCTTTGAAAAAGGTCTCTGCAAAAA +ATTTAGCGGCAGACGAGCACTTTGAACTAGAAAAATGTCGCTTTGAAATT +GCTATCATTGAAATTTTTCACTACTATAGAGGCCGGTAAAATTGCTCCAA +ATCATAATTTAAAATATTTTTTCATGATTTTTTTTTATTTTTTCATGATT +TTCGAGGTAGGCAAATATTCTGGGAGCTTTTTTGGATATATTTATTTTTT +TGGAAAAAAAAATCTGAAAAATCCCACATTTCCAATAAAAAAATTCCAAA +AAGCTTTCAGAATACTTGTCTACCTCGAAATATCCTAAAATTCATAACAA +TTTCAAAAAAAATATAATTTGGAGCAAATTAACGGGCTATTTCAAAGTCT +AAAAGTGAGCTATAATGCATACATTCCAGAAAATGGAATAAAAAATAAAC +TGAAGTCAATTTAATCTAATCTCATGATACCTCCTCCTCCTTCCCCCAAC +AAATAATGCTCAATAGCCCCCAATCAACTCGTTCCAATTTGAATAGTGTA +TTATTTAACAAGCTTCATCATCTCTTCCTCCTATTTTTTTTTGTCATTTT +TATCGTCCCCTCGGCCGTTTGTATTATCCTCTCTTCCTTCTTCTTCTTCT +TCTTGAAAACGAATTGAATTTCTTCATCCAATTCACTCAAATCACATCCT +CCACGGACACATTCAATTAATCCAAACGTCCTTTTCAATTGAACACAACA +ACAATCACTATTTCATAAAAATTGTTTTAAATGTACATATATCAAAAATT +GCGACGGCTGGAAAAATTAAATTTTTACACCAGAAGAAAATTTGTAACCA +TAGTTATGGTAGCTATAACTCAAAAAAGTAGGAAAATTATGTGACATGTT +CTCAGGACTGCAGTGATCGCAATAAAAATAAATTCTGCTGATCCAATACT +CTTGAAATAATAAATCGTTTCTGATTGATTCCATCATTCTCAGACAAATG +GAGCTTGGTTGAGTGCTCAATTGGTCAATGTCGCTGTCATGGCACCAGGG +TTGTGCGGCATCCGGATTTTCTGGCAATCGGAAATTGCCTTTTGCCGAAC +TCTAATTTTTTTTCGGCGATCGGCATTTGACGGTTGCCGAAAAACTCGTT +TTTTCGTTTTTTCGCCATTTTTCGGCATTTTTCGGCGTGCTTAAACTCTT +TGAGGTTTTTTTTTTATTTTTTCTTGTATTTTATAAATCTAAATAATTCA +ATTCCAAAGTTTGATAAGGAGTGTCTTGGTTTAAATTTTCTAGCACAGAT +CAATTTCATTTATTAACGATCAGACTGGTAGGATAGTCAACGACCCCAGA +GGCAAGAATGATTCAAAATAATTGCACACATGGACAGCAATAGACAAAAT +CTTTGAGAGTTTTATGGTGGGGTGGCGATGTGTCGACCAAAAGAGTATAT +CCACTATATGGCTAATAATTCAAATATGTTGTATTTTGGAAAGTGTTAGA +ACACAAGTGACTTGAGTGTTTTCGGATACAAGAGACACAGAGATGTCCCT +TGATTGTTCACAGAAAGCGATTTTTAAGGGTTTGACTACAATATTTGCGG +ATTTATGTTTCAACGAATAAATGTAAAAAACTCGAATATCATTTACTATA +TATAAAGCGCTTATTCCGTTTTTCCATAGTTTGTAGTCTATGTAGTCTTT +GTAGTTTGCGTAGTTTTAGCTTCTGGAGGGATAGTGAGTTGGGGTTAGTG +TAGGGATATAGTCGGCGTACTGTAGTGGTACAATGGTGGTACGGTAGGAG +TACTGTATGATTACGGTAGTCTCAGAAAAATTGGTTTTCAGCTCCAGAAG +TCGGGGACCGCGCCGGAGGTGCGGTCCACGGCTGGTATATACATATGTAT +ATGTATGTATATATGTATACATATATTCAATTAAATTTAATTTAAAAAAT +AAAAAAAACATTTCTCACAAATGCCGAAAACACCGAAAAATGGCGAACAT +TTTTAGGCATTCGCCGATATTTTGACCAACTATTTTTTTTTGGCGAACGG +CATTCGCCGTTTGCCGCACAGTCCTGCATGGCACCCCGACCGGTTTCGTG +ACAATAGTTTTGACCTGAACGCACTAGGAGTCAGGAAGTTATAGGGGTCA +TGGGTGCTTTAATGACCCCCTGTAAAAAGCACATATATTGACAACAAAAT +TTGCTCGCTGTTTTTTGTATTAATTTTTTGTCTCCCCTCGATGCGCATTT +CTAGTAATGATGCACATATTTATTTTTTTTCATGTACATATCTAACAAAA +TCATAAAACTGAAAATTGCGCTTTTGTTCAAGTTAGCAAGACAACCATTA +TAAAGCTTTCCAAATAGCAAATTAGCAAAATAAAGTGAGAAGCTAGAAGA +TAATGGGGAGTCCCTATAATCTTTCGGGCACACCTTCAGACTTTGTGACT +ATAATAGCCCAAACCCACAGTTTACTGAAAACTAGGGCTTCATTTGCTAT +ATGGTACCCCTAAACTCTTTCAGTAATCGAATCCCAAGAAACCTTCACAT +CTGTAACCTGGACAAAAAACACACAATTTCAAAAATATAGAATTCTTTAT +TCAAGAATCATCATCATCATTTTTTTCAATTTGTACAGACAAATGCCGAC +CATATTTTTTGTCAGGGGAATGGCAACGGCGGGAACCCAAGAAAATCAAA +CAAAAATATGGAGAGAAAAATGAGCCAGAGAGCCTGAGCAACCATGCATA +AATAATGAGGAGTTGGTGAGATGAAGAAAAAACAGATAAGTTACGACGCG +AGGAACTATTTGAAAAATAAACTGCTAAATACTATGTGCTTAATCCTCCC +AGGTAAGCGAGTGACGGTTCTCGTATCTCAGCTGGCAGTTTCTCTTTCCG +TACCAGTTGACGTAGGCGAACTCGGCGTCGGAGACGATGGCGTTGAAGCG +TCCTCCGAACTTGGCCGAGGCGTCTCCCTCGATCTTTCTGGCGGCCTCGA +GGTTGTCCTGGAAGGTATCAGTGATTGGATTTGATTTATAGTTCTTCTTT +TTTTTCTTTAATTTCTTGCTTGTAATTCTAAAGCAACTAGAAAAAAAAGT +TTCGGAACGCATCTATCATGCCAATTTACATAACCGGTATGGGTTTGCGC +GCGCGGGGGGCTTGCAACATTTTCTTAAATGACATTAAGGTATGAGAGGG +GGGGGGGGTGTTGTAAATAGGTATCCAGTTCTTGTCTGTCCCCGTTATCA +AGTTTCTCTGGTGACGCAACGCAAGAAGGCAGAAAACAAACCTTCTCGTT +CTTCAAAGCGGCCTCAACGATGGCGCGGAGCTCTGGATCGTCGCAGTTTC +CCTCGTCTCCTTCCTCATCGGCGTACTCGACAGCTTCGTTGGTCTCCTGG +AAATTTAGAAATTAGATTTTTCTCGAAATTTGGCCGAATATTAAAAAAGT +AATACTAAGAATTTCCCCACGAAAGGCTGAAAAATTGAGGTTTCCTGGGA +AAAGTGAAATCCCGGTCTCAAAATTTTTTTTGATTTTTGAGCTCCGTTGA +ATACCGACAACAAAAATGGCTCTGGAATTTGAAAATTACGGGGAACTGAA +ACGCAACTTCTACTGCTGCCAGTATGTCTCTCCCGCATTTTTCGGAGGCT +CAATCGTAGATCAAAGTTTTCCGAATAAGTTACTATTAGGTTTTTATCGA +GAATTGGTACTAGACTATGTTGACAAATACCAAATATCAAATATTTACCC +AGATGCAAGTTATGGTGCTTTGAACTAGAATTCCTGGGAACTGATTGTAA +GTGTCAAAACCTCAGCCAACCGACCTAAGCCTAAGCCTAAAAAGGTGTAT +CGAACTTAAATTTCGACATGGCATGGCATTCAAATGGGTATACCGATGAT +TTTGTTTCAGCAAAATTTTTAGGGTCGAATTTTTAAGGTAGAGCAAAATT +GGGATAATTTTAAAGACTATTAATTGTCCAAAAATCCAACAAATCCAACT +TCAAATGAGCTTAAACTTTAGATCACCTTCCCAAAAACCCACCTCAACAG +TATCAACTTGCTCGGTGGCGGTCTCGGTGGCGGTGGATGGCTGCTCCTCA +ACAATATCATCATAGGTGCTCTCCTCCTTGGCAGCGGCAACTGGAGCCTG +AGTCTCCTCGACAACTGGAGCTGGAGTCTCTTCAACGACAACTGGCGCCT +CGGTCTCCTCGATCACAACTGGAGCCTCGGTCTCAACGACGGCTGGGGCT +TCGGTCTCTGCAACGACGACTGGTGCTTCAGTCTCAGCGACGATTTCTGG +AACGATTTCCTCTTGGACAGTCTCGACTACGGTTGGCTCTGGTGCTTGCT +GTGGTTCTGGTGCTTGTTCTGGTTCTGGTGCTTGCTGTGGCTCGACAACA +GTCTCGACGACCTGCTCGACTGGTGTTGGGACTGGCCCCTGGGTGTATGT +GGCGACTGGTGCGACTTGCTCGACAACTGAAGTGTGGGTGAGGGTGAATG +TGTGGGTGGGAGTGGTGCGAATCTGACTAAAAACTGTAAAAACTAACCTT +GAACAGCCTGGTGCTCTGGTGGAGCTTGGTAGTTTCCTCCCTGAGAGACT +TGGGTCACCTGGATAGAGCTGACTGGTCCCGATTGGTATCCTCCTTGTTG +AACTTGCTCGACTGGGGCAGATGGTCCGGCGTTGTAGCCTCCTTGTGGGG +CGACTGGGGCTGGTTGGGAAGCTCCAGCGTATGAGGGTCCTCCTCCGATT +GGTCCTTGGGATCTAGCGTATGAGGATGCTCCGACAGCTTGGGAAGCTCC +AGCGTATGATGGTCCAGCTTGCGATCCAGCGTGCGAAGATGCTCCTCCTC +CGATTGGTCCTGGACCAGCTTGGTAGGCACCTCCACCGACTTGTCCTCCG +AATCCTTGTGGTCCCTGGGAGTACGAGGCTCCTCCGACTGGTCCAGGTCC +TCCGAATGGAGCGGCATATCCGGCTCCTCCACCGATTGGTGCCGGTGGTG +GTGGTGGTGGGGGTGGAAGGGCAGGCGCGGCGGCATAGCTTCCGCCTCCG +CCTCCGGTTGCGTAACTGTAAATGAACACATTGGGAATAGTATGGAAGAG +GTGGCTAAAGGGGGAAGCAGGTTTTAGTTTTGGCGGCCAGCAGCAGGAAA +AAGGACATTTTGCATGAATGGGGTGGCAAGTAGAATGGACTTTGTCGCTC +CTTAAGGAAGACATCAAAAGAACTTCAGAAAGAAAGAAATTATTTTTGGA +ATCAGGAAAAAGCATTTGAATAGCAGTAGAAAAAATATAACAATATAGTC +ACAAAAATACAAAAAAAAAGGCAAAATCTTACCTCGAGCTAGAGCATGGT +GGAGCTCCTCCTCCGCACGATGGCTGGGATGGTGGGCAACATCCACCGGC +GCTTCCGGCACCTCCGATACACGCTAACGCAGGCGACACGGCCAATAAGA +CGGCTACCAAGACTCTCATCGTTTTTGAGAAGGCAGAAATCGCAATGGAA +TGCTGAGTAACTGTCGTCGAATGGCAACGTAGGACGTGCCTTTTCTACCT +GCCACCCCAAACTAACTCCGCCCATGGCCGTCTGGAGGGGGCACGCGCGC +GCACGAAGCCTTCCGAAAGACGCCCGATCGCGTTTTATCGATGATGATGA +TGATGATGATGAGATGAAGCCTCTCTCTCTCCGTCGGAGGGCACCTTGCG +ACATTCACCTTGTGTGCGTGTGTGTGTTGCAGAATAGGGGGAAGAAGAAG +CGATCGCGTACAAATGGGGTTCGTGTTCATTTCCGAATGATCCAATGATC +AGCTGGAATATTCCTATTAATGTGACTCGTGCCACGTCATTGTTAATGAT +CTACTATGTTTGAGTGATTGGATATGTGTTGTTTCCTTTTCTAGTTAGAT +TCCTGAACAGTTCACCTTTACCTAATCCGTGATCGATGTTCCAATGCTTC +TTCCTTTCACTTCCACTGCGGCACCTAATCAGGCGGAATAACATGCTTTC +ACTCTGCCGGTAAAGTGTGAAAATCCTAAAGTTTTAGATTTCAAAGATTT +CAAAAACGATCGTTGATCCTACCGCGCTTCCGCATCAACTGATATCAGGT +TTTTTTTAATGATAAGATTGTGGAGGAATGAACTGGTGAACTTTTAGGCT +GATTTAGAGCCACGTGGAAACTTCCAGCTTTTACCTAGGTGACTACAAAC +TACGGAAGATCAAATTACATACATTTTGTAAAAACATACATCACTTTCAA +AAATTTCGGTTTAGTTCAAAAAATCACATTTTTACTGTTTTGAGATTTTT +TTTTTCCCAAAAATGTCGATGCAATTTTGATGTCGATGCACCACGGGCGA +TTTAAAGGAAATTATCAGTTTTCTGAATATTTTTGTTTTGTATGTCTTGA +TTATGGGTTTTGTAGGCTTCGATGGCAGGCAGGCGAGGTTTCGGGTCCTG +GCGCCCGTCTGAAACCTGCCCGCTTCACGCCGGCCTTTTGCCTCTTTTTT +GCATTTTTACGTGGTGCCAGGCTGTCCCATCGCAGTTTGATCTACAAAAA +ATACGGGAATTTTTCGCCCAAAAATATGTGACGTCAGCACGTCTTTAACC +ATACGAAATCAGTTGAGTCTCTTCTCCCGCATTTTTTAGTAGATCTGTGT +AGATCAAGCCGAAATGAAACACGCTGACACCACGTGTGTTTCTCATTGGA +AATTGGAGGCCTAGAAAATCAAAAGTTAGGCCATCAACAGATTTTTGTTT +CAGCAAAAGGCGCGGATTGAGGCGAGGTCGCTTTAAAGTCAGGCAGGCAG +GCGGTTAACGCCTACAGGAAAACTTTAGGTTTTAGGTTATCTGTATGTTT +CCCTTTTGTGTGTTTTTTAGACGTCCAAAGAATCGTATCAAAATGAATAG +GTATTTTCTCGTTTTATGCAGATAGGTAAAGGTCTGTAACCTGAAAATCC +AGAGCCTTATAATCCACACCTACATAATCATCAATTAAAATATTCAGATA +ACTGATAATTTCCTGAAAATAAGATATCTGTAAATTGAATCAACGCCAAT +TTTAGACATGGTGCATCAAATGCAACATTGTATTGATATATAAACTTTGG +CAGTCAATACATGTTTTCTTATGCATTGTTCTCAGTGCACCTTGATCAAT +TGAGTAGACTTCATCTATTCTTGTCCACTTCCTAAACATGAAATCAATCA +CGGCACCCCATCAAAAAGCACTAAAAAAGTACATTTAAAAGAGTACATTA +TTATTGCCCGTTCAATCCTCGTAATGTATCTTTGCAAGTTCCTTCTTCCT +CTGACATTTCCCGTTCCAATTCTCCGCCATACCTGATATGCTCGACTTTT +TCGATCATAGACGCGAATTGCGCAACGCGCGAAAATATCTTGCGCAATGA +ACAAGGAGAAGAAGAAGAAGAAGAAGTAGGAGAAGCCAAATAAAAGATAG +GTGATAACCGAGATGTTAAGCCAAAGAGAAGGAGTGTAATAGCTGAACAA +GGCCTATTTTTGTGTAACTCCCCCCTCTGACAGCTTCTTCACTTTCCCTC +CAACCGTTTTTACTCTGTATGGTAATTGTTGATGGATCGCCATGGAAAAG +CCCTAATGGTCATGAATAAGCTGTAAAGCAGCGGGGGTGAGCTTGAAGGA +CGATCGGACAAATGAGATATGAAGCGTGAAAAACGGAAAGCATGCTTAGA +GGGGGAGATATATGTAGATTTGGGGAAAAGCTACAAGGTCGATTTTTATC +CGGTGTCAGGATTATAGAGGTGTTTTGAAGTAGAAGCAAGGCACTGAAAT +TCACCACTTCCTCTATTAGAATTGCACATTTTTTAAAACTATGTACCTGT +TTTCTTAAGAATTGCTTGAAAAGTTGAATTTGAACTAGTAGTTCTTGCAA +AAAGGCCAATTGAACTATCTGGTTTAGTTGCGTCCTTATTAATATTGCAC +TTTTTAATTCCGGCAAAACGCCGGTTTACCGATTTGCCGGGGATTTTCAT +TTTTGGCAAATCGCCGATTTGCCGTTTGCCGAAAAAATTTTTAACAGACG +GAAAAACTTAAAACTGTGTCATTTTGAATTTATTACCGTTTTCTTTAGAT +ATTTTCATAGAATTTGCTAACTTTTGAAAATAGATGAAGGAACATTTATA +TTATTTGAAATTGAAATTCTGAAACTTCCAAAAAAATAAGTTGCAAAACC +ACAATTTGCCGAAATGCCGTTTTCCCGGCAAATTCGGCAAATCGGCAATT +CGCCGATTTGCCGAAAATTTCAATTCCGGCAATTTGCCGACAAAGCAATG +TTTCATAATACATAAAATGTTTCTAATTTTTAAGAATGATTTTTTTAATT +TTGACAAAGTTTTTTTATAAAAGAGCCGAATTATTTTAAATTCCCGCGCA +AATAAGTGACGCCATTTTTTACATTATTTGTATTTTCTGGCTAAATTAAT +TGGTTTATGTATGTTTTTTCTTTAGTTTATAACTTGAGTAAAATTCACAG +TAAAAATTAATTTTGAAAAATCGATTTTTAGTTTAATTTCAATTTCAGAG +TTTCGGCAAATGTATTCTCAATTAACAAGTTTTCCAAACGGAAAAAAATC +TGAAAATTGACAAACCACGGTGTAGATCAAGCCGAAATGAGACACCCTGA +CACCACGTGTGTTTCCCCTTGGAGGCCTAGAAAATCAAAAGTTGGGCCAC +CATCAGGTTTTTGTTCGACTCAATTGGTAAACTTTGCAGACTAGGCTGAA +ACGTGGTATTTGCAAAAATACAATTTTACACATTTATTTTCCACAAACCG +AATAAAATCCTTATCTCAACAGTGTTATATAATTTTTTTTTTCAGATCAC +TATCACGACATTTTAAAATATATTACAGCACTCTCTTCTTTAGGTTTTGA +ACGTTGATGCTTCGAGGATAAACATGAAAACCAGATCAGCTTTTCCGTGA +CCTCACATACTCATTTTCTCAAATTCTCAAAAATGTTCTGCCTTCTCCAA +CGGTCTCTAAAAAAGCTTGGAAAACCCACAAAAGGTGTCTTGGGACACTT +CTGTCTCTCTCTTTATCGATGACCGGATCGCCCGGATAAACGGGTTTTGC +GGACTGACACCAGCAGGTGGAAATGGGCACACTTGTAAAATAAAACGAAA +AATAATAATAAAAATAACACGGAATGCGGAGAGAAGTGGCAAGATCGGAA +GAATGGTGGGGGGGGGGGGGGGGGGGATTACATAAAGATGGCGGCATAAA +GTGCGTTTCATTAGGGGGATATTGGGGTTTTTATAGGGGGAAACTTTGAT +TTTTTTGAAAAAAAAATTAAGAAAGAAGCGACAACAACCAACAACAAGGT +CATTTTTAAAAGGAAAATTTGGCATGAAATTTACATTTTGGGATGAATTA +TGAGGATATACTCATATAACCTAATTTTGTCACAAAAAAAACGTCGAAAT +TTTTAAAAATGACTACATTCTGCAATTTTGAAAAATTTGGTGGTCCTACC +ACGAAAAATCCATGGTTTTTTGGTATTTTGACGAAAAACTGATTTTTTGT +GTTTTTTTTCTGGTATTTTGAAGCCGCTGTACTTCAAACCCTTTTCATAT +TCTAAAAATATCTTTTTGCAAAATTCGGTTTTTTCTAAAGTTCAAAATAA +ACCACTATTTTCAATTTTTAACGGAAAATCTGCAAATAAAATTTCGGAAA +ATTCCGGCAATTTGCCGATTTGCCATAAATTTCAAGTTCCGGCAACTTGC +CGATTTGCCGATTTGCCGTAAATTTCAAATTCCGGCAAATTTGCGAATTG +CCGTCCTACCATGAAAAATCCTTTTTTTTTCTGGTATTTTGAGACCGCCG +TACTTCAAACAATTTTCATATTTTACAAATATCTTTGAGCGAGCGGTTTT +TTTTGAATTTCAAAATAAACCAAAAGTCTACTTTTTTTGGTTTGTTTTTG +TAATTTTTTTTTTAGAAATTTCAATTTTTATCGGCAAATTGGCAATTTGC +CGGTTTGCCGGAAAATTTCAAATCTGGCGATTTGCTGCTTTGCCGATTTG +CAGGAAATACCTATCCCTGATGTAAATTACCAGAATTAGAAGTTTGGTAC +ACGATTGGCACACAATTTTTTGGTACAAAACACGCTAAAAATTAAATGTT +TTTGAAAAAAAAAATTCTTTTGAAATTGTTTTAGTGTGAATTTCCATGTA +TTCAATTTTTATCATTTTTAGCCTGTTGCTCCAAACTAGGTTTTCTCCCA +CGTGGCATCTCTCATTACACATAAAAATACCTGCTAACTCAAAACATTAA +TCAGAGATCCATATCCATGTCTTCCTCACTTTCCAACTTTTTCCCTCTTA +GCTTATCTAGATATATGTAGGTATATCTATATCTACAAACAACTTTCTCT +TTTCAAACATCCAGTTTATCTTCTGACCTTTGCAACATTTTTCCTTTATT +CCAAACTTCCGCCAGATTGCATCTTATTCAATTATTACATTCAAAGAGTG +TCTAAAGTTTTGCTTAGAAGAAACAAAAGGTAAAATGTCAGATATGTTTA +GAGAAGGTTGTAAAATTTGGCAATTTATTGTAAAAATTCGCAATTTTGAA +ACTCCTTTAAAATGGTTAATTTTGTAGTTAGAGGACTCAAAATTAATGCC +CGAGAACTAAAAAGTTGTCATTTTTCATTTATCAATGATTTTACTTAATT +TCAAAAAAAAAATTTTGCCCAAAAAAGGACAGTCATTAGAAAAAAAAACG +GAAAAATGATATGGAGTGATTCTTTTTTATTTTATAAAATTAATCAGCAT +AGTCAAATGTACCAGAAAAAAGCAAATAAAATGTACTAGATTGACCGGAA +GATTATTTGAAAAATTGCAGAAAATGCACCAAAAGCTGCTTTTTTCAAAA +ATTCAAAAGTACGGTAAAATCATACGGAGCTATTCTTTTTTATTTCATAA +AACTCTTCAGCATAGTCAATAATACCAGAATATGTCAATCAAAGTATAAT +AGCTTGTACGGAAGTATCTTTTTAAAAATTGATAAAAATATATAAAAGCT +GTTTTTTTCAAAAATTCAAAAGTATGGGAAAATCATAAGGAGTCATTCTT +TTTTATTTCATAAAACTCTTCAGCATAGTCAAAAATACCAAAATATGTCA +ATCAAAGTATAATAGCTTGTACGGAAGTATTTTTTTAAAAATTGATAAAA +ATATATAAAAGCTGTTTTTTTCAAAAATTCAAAAGTATGGGAAAATCATA +TGGAGTCATTCTTTTTTATTTCATAAAACTCTTCAGCATAGTCAAAAATA +CCAGAATATATCAATCAAAGTATAATAGCTTGTACGGAAGTATTTTTTTA +AAAATTGATAAAAATATATAAAAGCTGATTTTTTCAAAAATTCAAAAGTA +CGGGAAAATCATAAGGAGTCATTCTTTTTTATTTCATAAAACTCTTCAGC +ATAGTCAAAAATACCAGAATATGTCAATCAAAGTATTATAGCTTGTACGG +AAGTATTTTTTTAAAAATTGATAAAAACAAATAAAAGCTGATTTTTTCAA +AAATTCAAAAATTCAAAAGTATAGGAAAATCATATGGAGTCATTCTTTTT +CATTTTATAAAATTCTTTAGCATAGTCAAAAATACCAGAATATGCCAATC +AAAAGATAATAGCTTGTACGGAAGTATTTTTTTTTTAATTGATAAAATAT +ATAAAAGCTGATTTTTTCAAAAATTCAAAAGTACGGAAAACTATATGGAG +CGATTCTTTTTTCTGTTATAAAACTGTTCATCATTGCCACGTATACCTGA +AACTACCAGAAAAAGTATGCTAGCATGTACGGAAGATTATTTGAAAAATT +GCAGAAAATGCACCAAAAGCTACTTTTTTCAAAAATTCAAAAGTATGGAA +AAATCATATGGAGCGATTCTTTTTTCTTTTATAAAACTGTTCAGCATAGT +AAAATGTACCAGAAAATACCAAAAAAAAGTATGCTAGATGTTCGAAAAAT +TGTTTTTATAATTTTTGAGAGGAGTTTCAAAATTGTGAATATTTACAAAA +AATGGACATTCTTGCCACTTTTTACTAATTTTTGATGGGCTAAACCTAGA +TTTTCTAAATTTTACATTTATGAATTACCCGTTTTCGACGAATTCAGGCA +AATTTTTATTTTTTCCTATTTTTTTCAGCCATTTAATCAGCCATAATAAT +GAATGTCCTTTTTTTTTGGGCAAAAAAAAATTTTTTAAGGCTCGAAGACC +AATTTTAAGTTCTCTAGCTACAAAATGAACCATTTTAGAGGAGTTTCAAA +ATTGTGAATTTTTACAAAAATTGCCCAAATTTGCCACTTTGTAATGGTTT +TTGGTGGGTTAAACCTAGATTTTCTGTATTCTGCATATATGAATTACCCG +TTTTCAACAAATTTTGACAAATTTGTATTTTTTCCAAAATTTTTTTTCAG +CCATCTATTCCTTTTTTTTGTCTGTTTTTTTTTCGGGCAAAAAAACCTTT +CCCCACTGGTGCTATACCACCTTTAACGGTAAATTTTACTGGTCTAAAAA +TCGGCGAAAAAATGAAACTTCAAGTAATATAATGGTAATTGAGTTTTTTT +TTCTATTTTCTTTGTTCAAAATATCAATTATGACAAAAAACGAGAAAATT +ATATTGACACAGTTAAGCGGATATAAATAATAAAACATCACAAGCACATT +TAATTTTTCAAACCCCCTCAGGAGTCATGAAGAAATCCTTCTCTGCACAT +CTACCTTTCTCCACATCCAACTCCTGATTTATTTTCTCCGCAAACTCCGT +GTAACTTTTAATTGCAACATTCAAAAGTTTTGTATGATGCTTCAAGTGAC +CCAAGTCGATTACACAATCCCCGCAAAGAGCTTCGCTGCGAATTTTGTCA +ATTCCCTCTTCTAAATTCACTTGTTCTCCAAACTTCACTGATTTCCTTAG +GATCCCAGTGCTCAGGCAACAGTTTGTGCAAATTCTCAAGGTTTTTGATT +TCAGTTGGCAAGCGGTGCAGATAGGGCTCTGGAATTTTAAATTATTGATT +TTTTTAAAAATTATTAACTCACCTCGTCGCTTTCATGTGCTCTTCTTGGA +TTATGGTCATATGGAACTAAGAATCTCGAAAGTTGTATTAAATCCCACAA +AGATCGATTCACATTTTTCCTTTCAAACGCATTTTCTCGTTTACAGTGTG +GACATCTCTTGTTCAGTAGTTGGAGTCGGCATCTGTCGCAGATAGTGTGA +CCGCAAGTGCCTATACAAGGGATTTGGGTATCATGATCTGGAAAATTTGG +TGTGTAGGGCTTCCATGGTAGGCAGGCGCGGGGCCTGGCCCGCCTCACAC +CGGTGAATTTACAAATTTTTGATTTTCTCGTTTTTGTCATTTTGATGAAA +AACATTGAGGCAGGCGGAGGTCGCCTCAAGTTCACTCGGCGTTTGCCGCC +AGCTTCCTACCCAAAGCTTTGCAACTTCTTACCCAAGCCTTGCCCAAAAA +ATAAAAAGCTTAAATATCAAAATTACTCAATTTTGTGTCATTCTACTAAT +TTTCTGAGAAAATTTGAATTCCCGCCAAAAATTTTATTGGAAAATTTGAA +CTACTGGCCAAAATTTTTTTTGGCTGCGCCAAAGATGATCTTAGAAATTT +GAATTCTCGCCAAAATTTTTCCCAGAAATTTGAACTTCTTGCCAAAAATT +TTTGTTGGATAATTTGAATTTCCGGCAAAAATTATCTTATAGTGAGGACA +CAATCAATAGTTTTGGTCAAAATTGTATTGTCAAATTTTTGATGTGTGTT +GGCAATTTTGGCAAATTTGCCGAGCTCGGCAAATTCGGCAAATTTGCCGA +GCTCGGCAAATTCGGCAAATCTACTTTTTGAAATTCGCCAAATTTGGCAA +ACGGCAGAAAAAAGTACAATTGAGATTTGAGGTACACAAGACTTACATCG +AAATTAATCTAATTAAAAGAATATCACTTACCATATTCATCATAGCATAT +ACTGCATTCAGTAACCTTCATCGCAAAAATAGTCTAGACACTGACCAAAC +ACTACACACTTGATGCTATTTATATACTTTCTATGCTGAGCAATACAGAA +CATGCGATGTGAGGAATCTTAGGTAGCAGAAGTACAAAAAGATTGACATG +TGATTAAATTCCTAATTTGTTCCTTATCACATTTCCCATATGTCAATTAA +TTCGTAGATAGATGCTATTGATAAAAGTTTTTCGAGAATTTGTAAGATAT +GAAAATAATATTCCTCATTTTTAATTTAATGATACAGTACTTTGAAAATT +TCAACAATTTCAACAATTTTTAACACCTATGTTATCATTCATATACAACA +ATTTGTTTAATACAGTAATACATTTCCACCCACGTGGTATTAATACAGTG +TTAAGCTTGTTATTTTTTAAGGAAAAATTTAGAAAATTTTTCTTCCTCAT +TTTGCTTACTTTTCAAAAAAGCGTGCAACTCCCTCATTTAAAAAAGAAGT +GTCGTCGCTGAGGAAAATGTTAAAAATTTCTCTCATGGTGCTAAAATTAC +TAACTAAAAACAGTAAGTATCGTAGCGAAACATTTCAAAAATTTTCAAAA +TTTTTTATTTATAGTCAACAGTTTTGGAAGTCAATTAAAAACATTTTTTA +CTATTTTTAATATTTAAAAACGTTTCAGTTGCTTGTAACTTTATAAGTTT +GCCTACCGTACATTTACCGTAAAACAACCTTAAAAATGTAAGCTTTTCTC +CCGATAAAAATCTTTACTCAGGAGTTCGCGACTCTTCTCTTACATTAATT +TTTTCTCTAATATATTGAGCTCAAACCTAGCTGTAAAATTGAACATACAT +ATAACTTTGAGTGCAATTTAAATTTCAGAAAACTTTCACAAACCCAAAAA +TTGAGAATGCTCAGGACAGTTTGACCTTTCAAGAAAATTGCTTCGAGAAA +ATTCCAAGCTTCACAAAATTGCTCATTGCCAAGTTATTTCCTTTAGTTTG +TGGCCAACGCCTTAAAAAATACAAATTAAAAAAAAAACTCTGACACCACG +TGATGATGCAATCAGACTCACGAACTCACGGGGTTCTGCCCTTCCTCATT +GAATTTTTCGCGCTCCATTGACAATCACCCGCCGTACAACACGTGGGAAA +GTCGTGCACTCCACAAGGACAAATACATTTAGTTTTACAACTAAAATCGA +GCCGCGACGCAACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCAA +GCCGAAATGGCCTAGTTCGACAAACTCTTCCATTTCAATTTATGAGGGAA +GCCAGAAATCCGTGCGAACTGCGAGCCTAACGCTCTTTTTCAAAATATCG +TATAACTCGGAAAACAAGCCATATTCCCAGTTCCTGTTTTATTTCGAAAA +ACAGATAATACAAAAGAAATATCTGAAAATTAAGAATAACATGTTTTTAT +TAAATACTTCTTTGTCTATATTCCATATAAAAAGAACCCCATGCGAATGA +AACACTCACTATACATTCAAAATGAATTTCGCCATCTACCTTCTCGCTTT +CATCGCCTGTCTCGCTAACTTTGGATTTTCACAGGGTAATCCAGGACTCT +CATTTGATCCAGAAGAAGATTCAGTAAATATTGTAAGTTTTCGGATTAAT +GGTTACAACATCTATAAGATTGTTTAGAATGGCAAAGTGCCAGTGGGAGC +AGTGAAGACGTTGGTTAATGATCTTGTGAGCCCTACTATTGCAATTGTGG +AGAAAACATTATCCTCATTGTCAGTTTAAGGAGCTACGGGAGGGCTCCAT +CCATCTCAAATGTTTCAAATAACTCATATTGTTCTTTTATCTGGGAGTAA +ATAAATTACATATTGGGAATCCTTTTCTTTTTGTTGTTAACCAAGTTGCC +GGTTGCCAAATTTTTTTGGGTTCGGCAACTTCGGCAACTGCCGGTATCAA +TGTCAAACATTTTGAAGCTTAGAAAAAAGCATTCAGAGAGCCTGAAAAAT +TCTATAATTTCACTTTAAACGAAAAAAATACCATACTTTTTTACCAAAAC +GCTCAAAAATATAATTTCAACAAAAAAACATTGAAACCTGGTTGCCGAAT +TTTTTTGGGTTCGGCAATTGCCGGTTGCCGTTAACCTCGGTTGCCGCACA +GCCCTGATGTGGAACTCTGCAGGCCTAGCGGCATCCATGTGAAGGAAGCG +TATTGTATTTATTTTTAAACATAAATTAAAAAATCGATAAAACCTTCATA +TATATAAATTGTTTAGACCGGTGAATAAAATGAGACGATGCCACGCGAGT +TGGCGAACGCTTTTCTCCGAAGATCCAAGTCAGGACGTCGTCGATGGGCG +GGACCCGGTGGGCGGAGCTTAGTCGGATAGCGCAGCAGACAAAATACGGG +CGGTGCGTCGAGATCAAGTGCGTACTCCTCGACGGAAAGGGAGCTTGACG +CGTGGATTGCGTTCTCGTCGGATGAGGAAAGATCTTCTGAGGAGGCGACC +GGAGCCAGTGGTGGGAGCTCTTGTAAAAGGCGTTCTCTGAAACAAATAGT +GGTGTTAAGGGGAAATGCGATGGGAAATCCGAGTAGTTGATGTCCGCGGA +ATTAATTTTCTCGGGGTTTCATGGAAATTTAATTCCGCGGATTTCAACTT +GCCGAGTTTTTATTCGATTTTATGAAAAAAATTACACGAGAAATTGTTTT +TTTTAATTAAAGTATCCGAAATCCCCGGAAACAGATTTCCATAGAGAGAG +GTCACTAGAGGTTTCATGGAAATATGTATTCAAGGTCTTAAACTACCCAA +TTTTTTTACCTCGATTTTAACAAATTTCAAGTAAATTTGAATAATTCTAA +CCAGTTTTGTTGTTTTACACAAAAATTCGGGTTCTTTAATCCGCGGAAGT +AGCTTTCCAGAGGTTTCATGGAAATATGTTTCCGGAGATTTCAACTACCC +GAGTTTTTTATCTCGATTTCACACATAATCGGCATAAGAAACTACAATTA +TTTGTTTTCGGGGAAACTTTAAAAAACCCCAGAAAGTTGAATTTCTAGAA +ATTAGCTTTCCCGAGGTTTCATGGAAATTTGTTTTCGCGGATTTCAACTA +CCCGAGTGTTTTACATCAATTTCATCATAATTGACATAAGAAACTACAAT +TATTTGTTTTGGGCGAAAGCTAAAAAATCCCCGGAAATCTGGATTTCTAG +AAACTAGCTTTCCCGAGGTTCATGGAAATTTGTTTCCGCGGATTTCAACT +ACCCGAAATTTTAATTCAATCTTTAAAAAACATCCAGTTTTTGTGACATG +TTCTTCAGTTAAAAAAAATCAGAGTGTTGGAATCCTAAATTTCTAAATTT +TCATAGTTTCCGCGGATCGAATTTCTAGAAATTACCTTTCCCGAGGTTTC +ATGGAAATTAGTTTCCGCGGATTTCAACTTCCTGAAGTCTTCATTGGATT +TCAATATAATTCGCACAATAAAAAAAGCCAAAACGCGAGGATCCCTGGTA +GTTGAAATCCGCAAGAATAGTTTTCTCTAGTTTGAAAAATTTACTGAAAC +CCTTACTTTTGCTTTCCCAAGAATTCGAGTTGTTCCTCGAACAATTGCTT +TGCAGTCCCAATATTCGGCGAAAATTTCGATGGTTCACTATTCCGACGGT +GCTCTTCAATTTTTCGCAAGTTTGCTGATACCTGAAAAATCGATATTTCA +GACTATCTGTGCCAAAAACTAATTTATTAATTTACCTTCTGACTAGCATC +CTCCAGCTCAACAATGTTATGAATGGTGGCTTTATACTGTTTCAGCTTCT +CCTCAATTAAAGTCTGAACACAACCCGTTTGCCGTGCCACGTCATTCAAC +TGCTCCTGAGCATGAGCACTATCTTGTCGGCGGAGCACACATGGCCCGAA +GATCAGAGCCAAGTTGTTGCAGCCCATTTTGTTGACGGCTTCCTGGTCGG +CGACACGTGCCAAATGATACATTAGGCGATCGAGCACGGCGCGGTTCGGT +TTTGGGAGAAGCTCGATCATTACGGAAAGACAACGGACACGTTCACCCAT +ATCCTCCACTTCTGTAATTTTTTTTTTTGGACGAAAAAAAACAACAAAAA +ATATCATTTTGACAAAATGTTAACTTTCAGAAAATTTGAAAATTGATTTA +TTTTTTTTGTTTCAATTTTTAGGTTTATGAATGAATCCGATTTTTTTTTG +TCGAAATTTTTAATAAGAGCCCTAGTAGGCATGTGGTGTGTGTGTGTCTC +ACTTCGGCTTGATCTACGTAGATCTACAAAAAAATGCGGGAGAAGAGACT +CAGAGTTCTTAATGGATTTCGCATGGTTAACAATATGCTGACGTCACTTT +TCTGGGGAAACAATTTCCGCAATTTTTTGTAGATCAAACCGTATTGAGAC +AGCATCTCTGCCTGGCTGCGGACGCCTCGTTTTTCCCTTGGAATTTTTTT +GGCGCGAAATTCAACTTTTCAAGTAAGTGCGAATATTTTCAAGTGAGACT +GTTCAAAATTATTTTGCTGCCAAATTTGAGTTTGCAAATAAATTATTGAG +CAAAATTCAAATGTTCAAATATTTTCTTTCGAAACGTAATGAAAAAACTC +AAAGTTACAAATAATTTGGCGCGAAATTTGAGTTTTCAAATATTTCTAGT +GCAAAATTTGAATTTTTCGAATAATTCTGGTCCAGAATTCAAAAATTAAA +AAAAAATTAGTTTGAAGCGATGCTCAGGTTTTCATAGAGCTTCCATGTAG +GCGTTAAAACGCCTGCCTGCCTGCCTTATGCCGCGCCTAATGCTTGAATA +TACGTAAACTTTTTTTCATTTCTTAATTTGATTTTCAACAAGTTGATAGA +ATTGAGAAAATTATAAATTTGTAAATTTACTTAAAAATGCAAAAAAATAG +GCAGGGTTCAGGCAGGTGCCAGGCCCTGAAACAGCGCCTGCCTACCATGA +AAGCCTATCGTAAAAAATCCAAATTTAATTTTTAATTTTACTAAAATTTC +GATGGCTCGTTTTTTTTCAAACATCACAAACCTGAAACATTCAAAAAATT +TTCATAGAGATCAAAAATGATAATTGGTTCGGCGAGTTCTCGGAAGAACG +CCTTGACAAGTGTAGTTAGCACATGAACTCCAATATCCTCAAGATTCACA +GAATCCGCATCTGAAACTCCGAATTTGATTTTTTTTTTTTCAATTTTTCT +GCAGTTCAACAATTACCTGCAGTCGATTCAATCACTTTTCTGATACTTCG +AACTTGGGGTAGAGATCCACTTTTTCTGAAATTACGGGCGCAAAAATTTC +AATTTCAAAGACCTTCAGGTATTTCCGTACCTATAAACTCCTTCCACAAA +CAGGGCACGTGTCTCAATTGCAAAAAAGAGTCGGTCCAAGAGTGTTGGCA +CAGTATGATCATCATCGACAATTGATACTAAAGAGGCGCCAAAGAATCTT +CCACCATTTGTCTGAAATTCAATATTTATAATAGCATTATAATAGCATAT +TTGGCTGTAGTTTGTAGCAGGGGTCAGGCAAATTGCCGATGTTGCAAATT +TCCGGCAAATCGGTAAACCGGCAAACTGCCGGTTTGCCGAATTTGCCTAA +AAATTTTTGGCAACTTTTTTTTGGAATTTTCAGAATTTCCATTTTAATCG +GCAAAATTTTACGCATCGTATGAATTTTCTTACATTTATTTTGAAAAGTA +AGCAAATTCTATGAAAACATCTGAAGTAAACGAGAAAAAAAAATTCAAAA +AGGCACAGTTTTAAGTGTTTCCGTCTTATAAAAAATCCCTCTAAACATTT +CCGGCAAATCTGATATCCGGCAAATTGCCGGAATTGAAAATTTCCGGCAA +ATTTTGATTCTGAATTTTTCAAAAAAACTGTTGGCAAAATACAAATTTTA +TTTTATTTTCAAATATGTTTTTTTTTTCAGAAAAGTAAATTTTTTGCCGG +GAATCAAATAATTCTTGAAAATGTTTCAAGATTTTTTTGCCACGAAATCA +GACGTTTTCAGAACAGTTTTAGCGGAAAGTTAAAAAAAAATTTCAAAATT +TTTGGCAGGAAGTAAATATTTTTCAGAACATTTATCCGAACAGTTTTGGC +TGTAAATTCAAATGTTTAGTTTTCAACAACTCTTAGCGGAGAATCCAATA +TTTTTCAGAATTTTGGAAATTAAAAATTTATCGAAAATTAATTGCAATTT +CTAAGAAAGCAGTTGTAATTTTTTTTTTCAAAAAGCTACCGAAAAAATCT +GGCAAATTTGGCAAATTTGCCGAGCTGAGCAAACCCGGAAAAACGCAATC +ATTTTCTATACTTTTTGGATCATCAAAATTACTGAATTCCTACAATTAGT +ACACGTCAGATTTTTCTATAAGCTCCGTTTGGTCTACTTGTATAAAGCTC +GAAATATCTCAATGTTATGTTATTTTACTAGATTTTTTTGGAACAAAATC +AATAATTTCGGTTAAATTATATTGTTCATTTTGTGGTGTGTGCGTGAAAT +TTCAAAATTTGCCGAGCTCGGCAAATTCGGCAAATTGCCGCACACCCCTG +TATTACTCACCTTCGGATCAATCGCCTTTCCAGTCATCTGACACGGATGT +GTGACCTTCGGCTGACACTTTTTATGACACGATATCCGGCACGCAACACA +AGTGTACAGCTTCTCATGGTGCCATATTAACTGATTACACACTTCACAAT +AAGTCGGCACATGGACTGCTTCGGCACGGAATCGGTGACCAGCATGTACC +TGGAATATTGGAATTGCGTGGGCAGGGGAAACTAGTTTCATTGAAAATTT +TTTTTTAACTGCTGAAATTAGTCCAAAATGACATGTTATATGTACTTTTC +TCAAAATGTGTGAAAATTGCACACTGAATTAATAAATAATATTATTTTTG +TAAAAACATAAAAAGGGGAAAAGTCAGCGGTAAAAAAGTAAAAACACTCA +GAGTTAGATCTTTTGACCTCCAAAATCCATGAAAATTTGCTTCATTTTTT +TCATAGCTGTGACGTCGTGGGCGGCAATTTCCGTTCGGTAAATTTATTTT +CGGCAAATACGGCAAATTGCCGATTTGCAGTTTGCCGGATATCAATTTGC +CGGAAGTTTTAAAAGGGATTTTTTAAAAATTCCAAAACACTTAAAACTAT +ACTTTTTTGAAATGTATTTTTACTATTTTCTCTAGATATTTTCATAGAAT +TTACTTACTGTTCAAGCCCACAGCTTGCCGAAAATTTCCGGCAAACTGTC +GGTTTGCCAAAATTGCCGAAAATTTAAGAAACGGCAATTTGTCGGTTTTG +CCGTTTTCTAAAAAAATTTAAATTTCGGCAATTACTGTATTTGCCGTTTG +CCGAAAAACTAAATTTGCCGCCCATCGTCACACAATACAAAAAAATTGCG +CGGCTTCTGGAGATCAAATCTGACAGCTTACTGTATTTATAACTACAAAT +TCACGCTGTGTTTTTCTCTAATTCACGTGGTGTCAGGGTGTCTCACTTCG +GCTTGATCTACGTATATCTACAAAAAATGCGGGTGAAGAGACGCAAGAAT +GTGCTAACGTCACTTTTTTTTTGAAAAAAAAAAAATTCCCGCATTTTTTG +TAGATCAAACCGAACCGTAATGGGACATCCTGGCGCCACGTGCTAATAGT +AAGTCACTACATTCTTACCGCCGCTACATCTGATTTTACACGCTTCTTTC +CAACTTTCTGAATACCAATATTTTACACAATTTTCTCGGATTTTGATATA +TAATACTTTCGCGGGCTTCTGGCTTCCCTCATATTTTCAAATGTAAGAGT +TTACCGAATTAGGTCATTTGGGCTAGGCTACGGCGCGTTGCGGCTCGGTT +TTCATTGCAAAACTAAATGTATCTGTCCGATTGTCATTGGAGCGCGAAAG +GAAAGCTAGAAGCCCATGTATTAAAAAATCGACTTACCTTTATCATTGAT +GACTTCTCCTTCCCGCGCTTCTTTTTCGATTGCACATGAACGTATTCGTT +CAGGAAACCTCTGGAATTGAAAAAAATTGTTTTGTTACAAACGCGCCCTA +ATAACAATTGATCGTGTATTCCACGTTGGAAATTATACAAAATACAATGG +AGCACTTTTGCTCGAAGCCTAACATTTTCTAAATGTTTTCTCACCTAAAA +GCGTTAACGCCAAGTGTTGTCGGAAAGGACACACTCTCCTCGAGACAGAC +TTTCGTTAAAAGTCCCTCGAACATTGTGATGACGTCACGGTATTTAAGCA +CGGATTGCTCGACCTGAAATGATATGTTGCTAATTACACTTGCGTGGCCG +TGAACCCCAAAAACTAGGCCACCTTTTGCGCCCAATTACCGATAAAACCG +CCTCATATCCCAACAGCTCCATATGGAAAGCTCTTAGCGACTTTTTGAAG +ACCGCATCCACTACAGTATCCCTTTTGGCATTACTCTCGTTTAGATGACG +TGTCTTGTTGAAAATAAAAATACTGAATTGTCGGAGATCGTCGGTGGATT +CTACAAGCATGTTTCCAGGGTCGATCTGTAAGTATTGTTTAAGTACAAAG +TACTACTGCTTCAGTAAGCATTGTAGTTTATAGTTTGTGGTTTGTGTTTT +GTAGTTTGTGGAGTTTTTAGTATGTAGTGTGAAGCTTGATATTCATTTTG +CAGTACATTGACTTGGATTGGGGTGTGCTAAGATATAATATCAAAGTACA +AACAACGAGTGACAAATTAAACATCTCAATCCGAAAACTACAAACTAAAC +CCTACAGACTACAAACTACAAACTATATCCTACAGACTACAAACTACAAA +CTACAAATCACAAACTACAACCACGCAAAAGAACGTTACCTACCTGTTGC +TTGGTTTTTGTTAAACTGAACGTGCCGGTCGATGGAATTGGTGAGGAGGA +TTGCCGCTGCTTGTGGGGCCTGGAGTTTCAATTTTTTTTTGTTTCAATTA +AGATTTTCCTCAAATGTTCCTTACATCAAATCCCATGGCCGTTTCGGTGA +ATGCAGCCGAGTTGGTGATCGAACTGGTGACGTGGGATTGCACGGGATGG +AGGAGGCGAAGACGAAGCATTCCTTGTGCAGGCACATTTTGCATCCTGGA +AGAGTTCAAATTACGGCTTCTAGGTCATGGTGGCCGTGGCCGAGGCTTGA +AGGGATGCTAGGTCAAGTCTGACGTCACATGTGGTTTTTCTAGGACACGT +TACAAAGATTTCGAAGCGCCCAATTTTCGGAGAGGTTTCTAGGCCATGAA +AATGTTCTAAATTTCAGGTTTCTAGGCCAGTAGAGAATTTTGAGGTTTCT +AGGCCAGTAGAGAATTTTAGGCCATATCTGACGTCACACTTTTTGGGACG +CGCCTAATAACGATGGTGGACCTCTATTCTAGGAGGAGCAACACATTTTT +TACGAATTTCTAGAAGATGCAACTTCTGCTACTAGGCCACTCATGTGGTG +CGAGGCTGTCCCATTACGGTTTGATCTACAAAAATGCGGGAACTTTTTGC +CCAAAAAAATGTGACGCCGGCACGTTCTTAAACTTGCAAAATCAGTTGAA +AACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATACGTAGATCAAACCA +AAATGGGACCACACACACACACAAAACCCACTCTGACACTTGTGCGCCTG +TGAGATGAAGTTCGTCAGGTGCCGATTGCAAAGAGCACATATCTCCTGCC +GATGAAGTCGTGACATCTTGAATTGATGGTCTTTTGCGACGAACACGTCC +GGCGTCAGTTCACTGGCAAAACTTGGTCCCGGAGACGGTTCATCCTCGTC +CTCGTTCCTGCCAAAAAGTGCCTTCAAATTCTTTTTTGCCTTCTGGAATC +CCAACTTTCCAGCGCCTCCTTTCTTTTTGGAATGTGTTGGGCTTAGCTGA +AAATTCAAAAGTTTTTAATATTATAAGTAGAACCCTTACCGTGAACGAGT +CATCACATCTTGACATTGAGAAATTGTTGGATTCGGTACTATTAGCCCTC +CGTAACATTTTTAATTTGGTGGTTGAAGCCGTAGGGGCCAGAGATTGCCG +TCTATGATGGGATAGATCAGCTCCTTCAATGAGCTTCAACTTTGTGTCTT +CCAGGATAAATGTGGCGTCCACGTCGACGGCGTCATCGCTGAAAAAAGGT +TTGCGTGTTACGGTAAGCGAGAATTATGGCAGAGGTGGGCGGAAATTGCC +GTTCGGGAAATTTTTTGTCGAAAAATTGCCGGTTTGCCGAAAATTTGAAT +TCCGACACTTTGTCGGTTTGCCAGAAATTTTCAATTCCGGCAATCTGCCG +ATTTGCCGGAAAATTTCAATTTCAGCAAGTTGTCGATTTACCGGAAATTT +AAATTCCGACAATTTGCCAATTTGCCGGAAATTTCAATTCAGGCCATTTG +CCGATTTGTCGGAAATTTCAATTCCGGCAATTTGCCGATTTTCCGGAAAT +TTCATATCCGGCAATTTGCCGATTTGCTTGGAAAATATCAATTCCGGCAA +TTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCAGATTTGCCT +GGAAATTTTCAATTCCGGCAATTTGCCGATTTACCGAAAATTTCAATTCG +GCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCCGATTT +GCCTGGAAAATTTCAATTCCGGCAATTTACCGATTTACCGAAAATTTCAA +TTCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCAATTTGCAG +ATTTGCCTGGAAATTTTCAATTCCGGCAATTTGCCGATTTACCGAAAATT +TCAATTCGGCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGGCAATTT +GCCGATTTGCCTGGAAAATTTCAATTCCGGCAATTTGCCGATTTACCGGA +AATCTCAATCCGGCAATTTGCGAATTTTCCAGAAAATTTCAATTCCGGCA +ATTTGCCGATTTACAGGAAATTTCAATTAAGGCAATTTGCCGCTTTACCG +GAAATTTCAATCCGGCAATTTGTGAATTTTCCAGAAAATTTCAATTCCGG +CAATTTGCCGATTTGCCTGGAAAATTTCAATTCCGGCAATTTGCCGATTT +GCCTGGAAAATTTAAATTCCGGCAATTTGCCGATTTGCCGAAAAATTGCA +ATTCTGGTACATTGCCGATTTCCCAGAAAATTTCAATTCCGGCAATTTGC +CGCTTTACCGGAAATTTAAATTCCAACAATTCTGGCACATTGCCGATTTG +CCAGAAAATTTCAATTCTGGCAATTTGCCGCTTTACCGGAAATTTAAATT +CCGGCCATTTGCCGATTTGCCAGAAAATTTCAATTCTGGCAATTTGCCGC +TTTACCGGAAATTTAAATTTCGGCAATTTGCCGATTTGCCGAAAATTTAA +ATTCCTAAGAAACAGTGGCCGAGATCAGTTTTGACGTCACTTCTCTTCCA +GAAAATGCACTAAAGTGATGTGACGTCATGACTGAGTTTCTAGGCCACGT +TTCGTTTGATAAAATTGGCGGAGGACCTAATTTCCAATGGAAAATAAATT +CAATTTTTTTAAATTTCATAATTTTCTGAAAAACTCACTCCTGAAAAGCA +TCACTCTCTTCCGAAATATCATCATCAAGCCCATCCTGCGTAGACTTATC +ACTATCCGAATCATCATCCGAAAGAGCAAAAGCCGCCAGAGAGCTCGGAT +CACTCAAGTCGAACTTTGTAAGATTCACAGCATGAACCTTCCGAACTCTA +AACGGTGACTTCTTAACGTTCAAGGCTCCATTGCCCTTTGGAATCTCGCC +GACTCGCTTGCGAACCGATGCTCCGCGATACGCAGACTGCAGAGCTATCA +CCGATTCTCTTATCGATAAATATTTCTGTCGTTGCTTGTACTTCTTCCAA +TTACACTGTATCGTTTGAGCTGCTAAGGCTTTTTTCCGAACTTCGGCTCT +TGCAAATGATCCTCGAATCAATGCTTGGATCTTGATAATACCCTCTTTCA +TTCTCAAATATCGCTTTCTAGCCAACATTGTCCTGAACCATCGTTGAAGT +GTATCGATTGATTGCATAATTGTCCGATGCAAATGATCATCGAGTATCAA +CTTTTCAGCGTCTCTCATAAAAATCTTATTGGTTCCATATTGAATATTAT +CATTATCAATCGATGCATGGGAATGTATGTACTCTTTCACATCGTCCACA +GTACTATCCCTTCCGTTTCGCAAAAGAATTCGGTATTGCTGGACAAAGCT +TGGATACTCAATTCTCACAGAGTACCCGGCTCTCCGAATTCGAACGGTCT +CGAGCATTCCGGTGTAGCGGAGCTGGCGGAGGATTATGTTGTCGTCGAAG +TGGTTGGCGATCTATAAAATTTTAGGTGAGTGGTTTTTGTCAATAATTTC +TACTTATATTCAGTCATATAAATAAAAACACATATAAGAAAAGTACCAAA +AATTTCGATCACCTAATTTTTTTAATTTTTTCTATACTCTTACTAGTATG +AAAGAGCAGGATACAAAAATAACTCCACAAGTGATAAACCACCTTTAATT +GGATTAGTGTGTATCACTTTGAGTAAGCTAATATTGAAGGTTTAAATGTG +GACTACCTAGCCTAGCAAGAGAGGTCCTGTAAGTAGACTTCAAAAATATA +GATTATCTTATGAACATATGAACTTATAAACAAACGTTGGTCAAAAAGTA +GGTGTTCAAAGATTCCACCAAAGTTTACAAACTCACCTTATCATTATTAC +TCTTAATACACCTTATAAAATACGGCGTCGCGTTGGCCAGTGTGCTCATC +AACCTCGTCAACGAGTACTCGAACTGCTTTGAAACCGACGATGGCTTCTT +GGCAAGCCTCCGTCCTCCGATAGCCTCCTTCAGAATTTGCAGCGATTTCA +GCAAGCTCATTTTGTCGTCAGACTTTCCCGCCGGGGTACGCCGTGCTTGA +TTTCTAATCGTGTTGAACATGCTGGTATCACAAAAGTCTGGAACTTCACA +GCGAAGTTCGCCACGTAGAAATGCGGAGAGAGCAGAGTCCGAGCCACGAC +GGGGAGACGTTACGATGGAGTCCATTACTCGGAGATGGCCGGCGGATTCT +GGAAATGTTGAATAATTATATTAAGGGCAGGATAGCTCAGTCGGTAGTGG +TGGCCGCTAGCAATCTGGAGGTCACGAGTTCAAGTCCGCCTTCAACCCCT +AGGTTCACCAAGCCTCTATTGGAAAATGGAGCAATCCACGACTGGATTAT +AAGCCACAGCCTTCGGCTAGGACGTGGCTTAAATTGTAGCCCAGTGGGAG +CACCACCAGGTAGTGTACCTGACTCCCAGATCCGCAGATACACTCAAAAT +AAAAAAACTGCGTGGCGTGTACTGCAGAAAACCTAATATTTAGGCCCCGC +CTTTTTCTCGTCCACTCACGGAGAAAAGGCAACAATTTTGAACCCAACCA +ATATCAGGCCGCCGACATCTCACGGGTTCCGCGCGCCGCTGCGTTTAACT +CGCTGTGGGCGTGGCGAGCTGTCTCCGCTTGCTGCGAGTTAAACATTGCG +GCGCGCGGAACCCGTGAGATGTCGGCGGCCTGATATTGGTTGTGGTCAAA +ATTTTTTGCCTTTTTTCCGTGAGTGGACGAGAAAAAGGCGGTGCCTAAAT +ATTAGGTTTTCTGCAGTACACGCCACGCAGTTTTATTATTTTGAGTGTAC +TTGAAGAACGGATCGTCCTTTAATCCTTTAATTATACATTGCATTTTTTT +TCCACTTCTACGACTTCGAAGGGGCGCATTTACGCGCGATGGTCCCGCCA +CCCACCCCAAAAATCAATGGGTGGCGCGTGCCGAGACCATCGCTCGTAAA +TGCGCCCTCCTTTAAAGTCGTAGAAGTGGAAAAAATGCACTGTAGAAATG +AAGAATACCATACTTTTTGTGTTAATTTTTTCTATAATATCGTAGTTGTC +CATTTATTTAAATCTTCCCACTTATTTAACTAAGGACTTCTAACGCTTAT +TCCAGTTATTGGTTCCGATTAAATCTACGAAAACTTGCCACTTTTCTGCA +GTTTCCTTGTCGATTGCTTGAACGCGTTCATCGCCCGAAACACACTTCTC +AGCACATTCCACCTGTGCACCGCCACCGGATCGATTCCCAGCAGGGTCTT +CATCACTGAGCTCGTACTGGACTTCAGAGCGTTCAACACATCCTGTCTCA +TTAGGTCCTTATTCTTTTCTCGGAAACCCTGAAATTTAGTTTTGACGTGA +TGATGGAAGACGTTTTTTTTGGAAGTTGTGTGTTTACCGTAATTTGATAC +TTGACTTTTCCAGCATAATGAGCCACGATGAATGCCGGCTCCTTCTTCTG +TGGGGTCTCATAGTATTCGTTGTTCTGGAAATTTAATCATGGAACTAGTC +ATGTAAAAACATTTGAAGGAGTTAAGGTATGTCCCGGAGGAGTGAACATC +TTAAGCCTGACCTAGAAGTTGATCCAAGTGGCAAGCCGACTGGCCTGAAT +CCTATTAACAGGCCTACATGTGAATATTAAAGGTGGATTAGCGCCAGTGG +GAATTTTGTCTAAATACACTTATAACGATGCCAAACGATCGAATATCATA +ATAAAACACTCCAAAAACTTTTAGATTTTTCATAATTTCCGGTCAAAGTT +TTGGAACATTGACAAAATTTTGACAAATTTGAGCTTTTGAGGACATCAAA +ATCAATGTAACATTTTTTTGGACCCCTACAATGTCTTTTTACGAAAAATT +AAAACAAAATTATAGTATAACAAATAGAGAAAAAAATTTTTTTTAGTCGA +ATTTGTGTCACTTTTTGACTGTAAATAAAAAAATTTTGAAAAATTTTTGA +AAAGTTTTATCATGAGATTTGGTCATTTTGGGAGCATAGGAGTGGTTTTT +AACAATTTCCACCACCGGCGCTACTCCACCTTTAATCGATAATCGATTGC +AATTTTTTCATACCTTCAAAAACTGATTTAACTTCGCCAGCATTGAGTCA +TCTGTTCCATTATTGATATTACTCTCCTCATCGACTAGCCTGAGAATTCC +ATATGGTTTACTCTGAAAATTCATCGGAATTTATATATATGGATATATAT +ATATATATATATATATATATATATATATATGTATATATATACATGTATAT +ATATATATATATACAGTGTGGGAAAGTTCTATAGGACCCCCCCTAATTTG +AAGGTTTGAGGAACTTCCGAAAATTTTTTTGAAAAACTGCTAATGCCATT +CGTTTTTAAATTGAAAAAAACCTATATACATTTTTTTCCAGAAGTTTATC +TCAAAAACTGAGGTCGCGCTGGAAAAAACGTCAAAATCCAGTGTGAAACT +TCTATAGGACCCCCCGTTTTTTTTCACGATTTTTACTAAAATCAACAGAT +TTTGGAATTTTTGACAAAGCTCAAATCAAGTTTGAGTTAGAAATGAGTTC +AGATAAGCAGTTTTGACTTTAAAAAATTAATACGAAATGTTCTCGTGGGA +TCTCCAGACTGGTTCTGATTCTTCCGAACTTTGATGTTCAAGTCTGTTTC +AAGCTTCCTGGTGCTCTCGGTAATGCCAAAACTTGATAAACTCTCTTTAA +CAAGTTCCTACTAAAATTCCTAGCACACACACCATAAAAATTTTTACGCC +ATCCCCAAGAAACCAGTCAGAAACAGCGTATTAACAAGTTGCAGTTATTT +TTGATCAACAACAGAACATTCATATACTAAAATCAAGAAAGGATCAATAG +TTAATCGGGTTTCCTTGTGTGCGGATGATCTCAAACAGTCTGTCCTCCAT +TGATCTGACCAAACTTTTCAGCTGGTTGTCCGGAATAGACTTCCAAGCGT +CGAGAATTCCTTGCTTCAACGATGCAACTGTTGGGTAAGTCTTGTTCTGA +GCATACACGATACGGACAAGAATCCCCCACAAATTTTCGATTGGATTGAG +ATCAGGACTTCGAGCTGGCCAATCAAGAAGGTTGATCTTCTTGAGCTTGA +AATAGTCGCGGGTTGAGTTGCTCACATGGATTGTCGCATTATCCTGCTGA +AATCTAAAGTCTTTTCTGGAGTAGTGACGAAGATATTTGGAGAGCTCCAG +TTCCAAGACGTTCTGATAGTCAGTGCTGTTCATCTTGCTACTGACGAACT +GTATCTCAAGCTTCTTCTTCTCCGTGAACGCTCCCCAAACCATCACCGTT +CCTCCTCCAAAATTACGTCTCGAAAAAACCATTGGTTCCTTGCGCAAATC +GCGCCAATAGTAGCGGCAACCGTCAGGCCCATCGAGATTGAATTTCTTTT +CATCGGAGAAGACAACCTAAAACAATGATCCTAATTATTCACTCTTGCTT +TTTTAAATTCTCACTTTACTCCAATTCGTTCCCATATTGTTCTTAGCAAA +TTCCAATCGCTTGAGTTTATGGTCTGCAGAGAGTAACGGAGCAGGGCGAA +GTTTCTGACGAACGATTACACCAGATCGTTTGATGACATTGAGGATGGTC +CTTTTTGAAGCAGACAATTGAAGCTCATTGCGAATATCTCTTGCCGTCTT +ACAGGAGTTGGAGGCAGCACGAATCACATTTCGTTCGTCACGCACGGAGA +GAGCTTTGCGACGAGGAGCTCTTTTAGATGTACCGTAGCTCACCGGATCC +TTCAGATACTCGCGAATACAGTGTCGAGAACGGGAAATTTTCCTACTCAT +TTCATGCAGGGACACATTGAGCAATTTCATAACATCCAGCTGAGCGCGTT +CAGTGTCCGAAAGGGCAGATCCTCGAGGCATTGCAAGTTAGACTGCTTTC +GAAGTAAGCTTTCCAGCCTCTATATGTGTGCCACAACACATGCCACAATT +CCACATTTAATAATTCACGCAAAAAATAGTAAATAACATCTGTGAGGGAC +AATTTAACTTGAAATATTGGTCCCATGGAACCTTGTAATCAAAGAAAAAC +GATTTGATTCCTGATAAGCCTTCCATTGTTTCCTGCTGCATATTTTGCCA +AATCAGCTTGACTACACAGTCGAAACATCTAAAGTGCGTGCTAGGAATTT +TAGTAGGAACTTGTTAAAGAGAGTTTATCAAGTTTTGGCATTACCGAGAG +CACCAGGAAGCTTGAAACAGACTTGAACATCAAAGATCGGAAGAATCAGA +ACCAGTCTGGAGATCCCACGAGAACATTTCGTATTAATTTTTTAAAGTCA +AAACTGCTTATCTGAACTCATTTCTAACTCAAACTTGATTTGAGCTTTGT +CAAAAATTCCAAAATCTGTTGATTTTAGTAAAAATCGTGAAAAAAAACGG +GGGGTCCTATAGAAGTTTCACACTGGATTTTGACGTTTTTTCCAGCGCGA +CCTCAGTTTTTGAGATAAACTTCTGGAAAAAAATGTATATAGGTTTTTTT +CAATTTAAAAACGAATGGCATTAGCAGTTTTTCAAAAAAATTTTCGGAAG +TTCCTCAAACCTTCAAATTAGGGGGGGTCCTATAGAACTTTCCCACACTG +TATATATATATATATATATATATATATATATATATATACATTTGAAACCC +AAAAAGGACTTATTGGACTTACCTGAAACAGCTGCACACACTCCGTATTA +TCAGTATACTCGATATTGGTCCAAGAAATGCCCTCCTTCAAGTACTCCTC +TTGTTCAAATTGGAAAATATGTTGATTGAAATAGGACTGAAGTTTCTCAT +TGGCATAGTTGATACATAACTGTTCAAAGCTGTTGCATTGAGACCCAACG +TCTTCAAATCCGAATATATCCAAGATACCTGAAAATTACTTCAATTTTTA +ACAATTGATAATTAATCTAACCTATATAATATCCCTTCCCAGCTGAGAAG +TCCTTCTTCAGCAATGCCTGATTAATCCTGAGGACTATATAGTGAAACAA +AGAGTTGTATATGCACTTTGCCATGGCATCTCGGGTGTTGGTGGCCTGAA +ATTAATTTTTTTATCTTAAATTCTTAATTTCACTTCTGTATATATATATA +TATTACCTCAGAGACACTATATCGCAAAACTACAGTTTCTGTCTTCATAA +CATGTCGTTTCATAGTGAGAGCCTGCATGAGAGTGTCGGTTTTGATGTGA +AGCAGATTTGCGACTAAATCCACGACTTCTTCATTTTCAATATACCCACT +TTCATCGCTATGGTAGCCATGTCTCTGGAAAATTATAGGAAAAATAAAAA +AAATTTGATGATGTTATTATATTAGGAATCCTCTAAACAAGGGTTTTCAG +GTTTTTTGGTTTTACGATTATTCAAATTTTTATGGAAATTATTATAATTC +AAATAATTTTCGTCACTATTATAGCCATGTTGTTGAAATAATATGCTATT +TTTAAAGGTGGAGCACCGAAATCTGGAAACTATTTTTAAATGAGTCCAAA +TTTTCCCCTGATTCCGAATATCTATGCGAAAAAATTTTAAAAAATTCATT +TATCAAATTTTTCAAATTTTTCAAACGCCGAATTTTCGCGCCAGAAACGC +CGTGTGCACGTGGTATCAGAGTGTCTCATTTTGGCTTGATCTACGCAGAT +CTACAAAAAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGAGTTCGCAT +GGTTAAAAATGTGCTGACATCACATTTTTTTGGCATTTTTTGTAGATCAA +ACCGTATTGGGAGAGCCTGGCACCACGTGAGTAGGCAGGCATTTTTTGCC +TGACTGCTTGCGGGTGCCTCGTTTTTTCCTCAGAATTTTTTGGCGCGAAA +TTCAAATTTTCAAATAATTTTGAATATTTTCGAGTGAAGCTTTAAAAAAT +TGTTTGTGCCAAATTTGAGTTTGCAAATAAATTATCAAAAAATGTGCTGA +CGTCACGTTTTTGAGCAAAAAAATCCCGCATTGTTTGTAGATCAAACCGT +AATAGGACAGCCTGGCACCACGTGCGTGTGTCGATTTACGAGATTTGTGT +ATATTTACGAAATTTTTTATCTTTATCAGACTCTGATTTCCGTTTCTCAA +CGAGTTTTCTTCATTTTTGTATGTGATTTTTTTAAGGTCCATTAAATATT +TTATCATCAAAACCCTAGCAAAATTTTTGGTTTTCAGTCGGTAAAATCAT +ATAGGTAATTGGATTTTCCGTCAAGTTGTGACCTAATAGTAAGCATTGGA +AATTTTGCCAGTTTTAAATAATTAATTGACCCTAAAACACACATTTCAAA +AAAAAACCGATAAAAATTAAAAATTCCGTAAATATACACAAATCTCGTAA +ATCGACACATGGCTCTAGCGCGAAAATTCAAAAACTCTTGGGTGTACAAA +TAGCGATTTCAAGCTCAAATATAAAATCGTGGAAATTTTTTAAAAATTTT +TTTCACATAGGTATTCGGAGTCAGGGGAAATTTGGAGTCAATTAAAAATA +TTTTCCGGATTTCGGTGCTCCGTAGAACTCTCTGAATAAAATTTTAAAAC +TATGGCAATAGGCAATTATTCGGTAGTTAACTTCTGAGTTGTATTTCTTT +TTGAATCTAAACCGTCCCAATCATTTACCTTGATATATGTGATATTGCCA +AGAAGCAACACTGCCGAAATAATCCCGAAGATGGTCTGCTGGGTCTTTGC +ACAAAATCCGACGGAGCTCATTGCATGCCTCAACCTATCAAACTCATTCC +GCTCGTTCACACCTTCCAGTGCAAATGGCTCGTTCTGGAAATTTTTAATT +TTTTTTTAATTTTTTAAAAAATCGCTTTGAGGTCAGCGAATGTATCCCAT +ATTCGCTCCAAACTTTTCCCAGCTCACCTGATTCAAATACTTATAATCAT +GTGGCTTCAACAAGAAATATTTCTTCCTTTCTTCCTCGTCTGCACCCTCC +AGAAGGTAGTAGAATACGTGGTAGTTTCTGAAAAAAATATTAAAGTCCAA +GTGAGACACCAAGGGAGTTTATGTACCGTTCTCCTTTAGTTTGAAATATG +ATGCGTGATTTTTCCAGCAGGTAGATCTCCACGTTTGCTCTGAAAAGTAC +AAGTATAAGGCATTTTTTGTGGTATAGACATCAGGAGAAGGCTTCAAATT +TTACGTTCAGGTCAATTTAGGTCATAGTGCCTAGTAAGTATGGTACCTAT +AAGCTTGATTACTGCCAAAGTAAAAATTTTCCAATTCCGGCAATTTGCCG +ATTTGCCAGGCATTCCAATTCCGGCAATTTGCCGATTTGCCAGGCATTCC +AATTCCGGCAATTTGCCGGTTTGCCGGATTGCCGGAAATTTAAATTCCGG +CAATTTGCCAAATTTTTTTTCATTTTCGGCAATATACTGGATTGCCAAAA +TGTTACGGCAACTTGCCAATTTGCAGGAACTTTTCATTTTCGGCAAATTG +CCGGTTTGCCGATATCCCAGAAATTTTCAGGTCCGGCAAGTTGTTGATTT +GCCGATTTTCCCCGGAAATTTCAGTTCCGGCAACTTGCCGATTTGCCGGA +AATTTTCAAATCCGGCAATCGCGGGAAATTTCAATTCCGTCAAATTACCA +ACATGCCGGATATTCCAATTCCGGCAATTTGCCAATTTGCCGAGCATTTA +AATTCCGGCAATTTGCCGAATTGCTGAAAATATCAATTCTGTCAAATTGG +CAATTCGCCGGACATTCCATATCCGACAATTTGCCGATTTGCCGATTTCC +CAGAAGTTTTCAATTCCGTCAAATTTCTAATTTGCCGGAAATTTCAATTT +TACTAAGTCGCCTGCTAGCCTCCTAATCTCACCCGGAAACCATTCCATTC +TCCCGATAGTTGATTTTGATGAATTTTCCAAATCTGCTACTATTATTGTT +CGTTAATGTGACAGCATTTCCAAAAGCCTCTAGAACAGGACCAGCTGACA +GAAGTGTCTGCTCAGTACTGCAGCCTGTTGAACCTTTCTGTGATAGCGAT +ATCAAATGGGACATCAGATGATTCGTGGATTCCGTTTTTCCCGAACCACT +TTCCCCGGAGATTACCACGCATTGATTTTCCTTGATACGGAGCATGCTGA +AAAAATTGTTTTTTTAAAAATTAGTAGTGACATTTAGTTAATCCAGCATC +AGAATGTATATCTCTGAAATTTTTTTTTTTTGAAATCAAAAGTGCTTTGA +GGGTCTTGAAACGAACACATAACTGCAAAAAAATTGGTGGCCGAGTTTAT +AATCGGCCACTTGGCAAATATACAAGCCAATACACAAAGTGAGCACCTAC +GTGGCCGAGTGAAGAGAAAACTCGGCCACCGATTTTTTTTGGTCACTTGA +AATTTCAAAAAATAGTAACTGGGTTCCGGTAAGAACTTAGAACTCACTTG +TGGTAACAGACATCGGCGATTGCAAAAATGTGCGGTGGTAGTGAGCCGAG +CCGCTTACTTTGAAAGTATAGCCTAGCATATTTTGGGTTGTAGATCGGAA +AAAAGCAAAACGGGTTCACGGCTACTAGAATTGGACCGATGTACGTGTAA +ATGTGCCCATTCGCGAATCTTTCCCGCAAATTGTCCAAGAGGGTTTGCTC +CGTGAGCTCTGGCAAGTTACAGAGATCGGCGTACTCGCGGTCCTGAAAAA +TTTTAAGGTTTAAAATTTTTTTAAATATAAAAATATTTAAAGGTGGAGTA +CAGGAAATCTTTTTTAATTACTCCAAATTTTCCACTGATTCCGAATATCT +AAGTAAAAAATTTTGAAAAAATTTCCCTGATTTTGTATTTAAGCTTGAAA +TTACGATTTTCATTTGTGCCCGCACCACTTTTTTCAAATACGCCCAAAGA +AATTCGCATTGGAGCGCGTTTGCATCGTTTGATTTTCGTCGTTTATTTTA +TTTATTTTCCACGGGGTTCTGGCCTTCTTCATTGAATTTTCGCGCTTCAT +TGACAATCGCCTGCCGGACAACACATGGAAAAGTGTCGTGTACTCCACAC +GGACAAATACATCAGTTTTACAACTAAAGACAAGCCGCGACGCGACACGC +AATGCGCCGTAAGTCTACACAAAATCTCTCCGACCCAAAATGGCCTAGTT +CGGCAAACTCTGCCATTTCGATTTATGAGGGAAGCCAGAATTTCGTGATT +TTCGCCGAATTCAATTTTCTTGAACCAGTTTCAATCATTTTTGTCGAGTT +TTTGCTAGTTTTTTTTTTGACAAAAAGGAATGAAACTGGTTAAAAAAACT +GAATTTGGCAAAAAATAAATAAAATCTTTAAATGAAGGAAATCAAAGCGC +GCTCCAATGCGAATTTATTTGGGTGCGCATTTGACAAAAACACGTGGTGT +CAGGCAAGGGTGTCAATGTCCCGTAAAAATTTCGAAAACGGGACAACGGG +AATTCCCGTTCCCGTGAAAATTTTAAAAACGGGAAAACGGGAATTCCCGT +TCCCGTGAAAACTTCAAAAACGGGACAACGGGAATTCCCGTTTTTTTGAA +AACACTCAAAAAACGGGACAAACTGGGCGGTTTAAAAAAAAGAGTGCATA +GTTGGCGTAAATTTTAGTGTATTCGAGGCAAATTATAAAAAAAAACTGCA +TTATAAACATTTTTATCGATTTTTTCAATATTAAACAGATATTTAAAAAG +CCAAAAAATGAGGGAAAATGTCCCGTTCCCGTGAAAATTTTAAAAACGGG +ACAACGGGAATTCCCGTTCCCGTGAAAACACCCCAAAAACGGGACAACGG +GAAAAACGGGAAACGGGAATTGACACCCTTGGTGTCAGGCTGTCTTATTT +CATTTTTATCTACAAAAACAGCGGGAATAGTTTTCCAGAAAAATTCTAAC +GTCTCTTAACCAGGCGAAATAAAATGAGAAGTCTGCGTCTCTTCACCCGC +ATTTTTTGAAAATCAAAAAAAGAGACCGGGCACAAATTAAAATCAGGGAA +AATTTTTTTAATTTTTTCACATCTAAATTCGTAATCGGGGGGCAAATTTG +GAGTGATTTAAAAATATTTCCCAGATTTCGGTACCCCACCTCAAAAAAAA +ATAATTAAAGAATTGCCTTACCTGTGGCTGAACCAAGAATTTCGTAAGAA +AAGCGTCAATCGATGAGGCGACCTCTGCACTTCCAAACCGAGTGCCGCCG +GTTGCCGCCCGATAACCGCGGTGTCGAAAAACAAATCGATTTTTTGGAGT +GGCACTGTCCACCACTACAGGCAGTCTTGACCAGATGGCCTGTACCGCGA +CTGGGTATTCCCCGGGGTCTAGGCGGCGTTCTTTATAGGTTTGACCGTCG +GGGGTGCCCATCATTTCGAAGAGGTCAAAGTCTTGTACCGACTGGCCTTC +TAGTTCTGGAAATTTTGACTTTAGAAAAGAAATCATTTTTTTCCTTTTTT +TTTTAAATTAGCCCGTGGCTTTTTTCAAAATTAAAAGAAAATTTGAAAAA +ACATTGCATTAGAGCGCGTTTGCATTCACTCCATGCAGTCCAATTTTGCT +GGGAGCTTGAGTGTCTCATTCGACTTGATCTACACAGATCTACTAAAAAT +GCGGGAGAATAAAATCCACTGATATTGTATGTTTAAGAATGTGCTGACGT +CACATATTTTTGTGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCATG +ATGGGACAGCCTGGCACCACGTGAGATTGTGTCGACAAATTTTTGTTGAA +GATGTATGGCCAAAAACGGCACATTTAAGTAATTTATCAGTAGAGCGCGT +TTGAAATTTTTTTAAAAATTCTTTTTAAAAAGAGTTCCCACTACCCCAAG +TCCTCCGATTTTTCTAAAAACTAAGAGAAGGGAATCTACGACCCTGAGCC +TTTAAAACCTTACCAGCTCTCCCGGCGAGCACTTTTTCGATGAGCTCCTC +CGTCGTGCACCGCTTATGAACCTCCAAGTGTACCGTATCATTTTCACAGT +CGGGATTGAAGCTGTGCATATAGACGGCTACCGTATGTGTGTGTGCATCG +TCTGTCGCGTTGATTGTGTGAGCACGTCGGGGAAAACATCCCGTCGCTCC +AGCTGATATTGAGTCAAATGACATTTAGTTAATCCAGCATCGGGATGTAT +ACGTCTGTAAAAAAAAATTTTTTTTGAAAGTAAAAGTGCCTGGAGGATCA +TGCAACGAACACAAAAATTTCACAAGACCGCGAAAAAAATTGGTGGCCGA +GTTTTCTCTTTCGCGGTCACTTAGGAAATACTAAAATCGCACGGATTTCT +GGCTTCTCTCATAAATTGAAATGGAAGAGTTTGCCGAACTAGGCCAGTAT +AGCTCGGCCATATCTGGGGTATGTTTACGACTTTCCCACGCGTTGGGCGA +TTGTCAATGGAGCGCGAAAAACTCAATGAGAAAGGCCTGAACCCCGTGAG +ATCGAAATGAAAATTTGCTAAATGGCCGAAAATTGAAAACTCGGCCGCCA +ATTTTTCCACACGGCCACAGGAAAAATCGTAACAAAAATTGAGAGAAATT +TATTAGAAAAAATCTGAAAGTAATTTTTATTGCACCGTGGCCGCAAAATG +TAAAAACACGGCCACCGATTTTTTTAATGTGGGGAAAAAGTTGGTGGCCG +AGTTTTATATTTTGCGGCCACTTAGAAAATATTTAGATCGAAGGGAAATT +TTGTTGAAAATACGTTTAACGAAAACCAGTCAATTTTTGTTACATGACCG +AAAATTGAAAACTCGACCACGGATTTGTTATGCTTTATAAATTTTTGAAA +CTATTATTTTTTGATTCAGAAATTTTTGGAATTGAAAAAAACTCGGCCAC +ATTTTTTTTCTCACGGTCACAATTTTCTTTGTGATCGTAAAAATGGAAGC +TCGGCCATGGTGGCCGAGTTTTTTTCGCTGCCACTGGTAACACGTGGTTG +GGTGAAGAGAAAACTCGACCACCGGTTTTTTTTGGCCACTGAAATTTTTA +AATTTCAAAATATTTTAAATTTTGCTGCAATCTTTCACCACAACCGCGAA +AAAATGAAAACTCGGCCACCAATTTATTTATTTTCACTGGGAGAAAAAAT +ATTGTTAGCCAAGTTTTCTTTTAGGCAACAGAAAATCAAAAAATGAGCGA +TTTTTGTTACGTGGCCGTGAAAAGAGAAAACTCGGCCACCAATTATTTTT +AATTTGAGGCACTGTTGTAAAATCTTATAAAAAAACAGGTTTAGTACATT +GAACTCAAAAATAAGGAAGATTTTTGGAAAAACAAAAATTGCTGGCCGAC +AGCTGGAAAAAACTCGGCCACCAACTTTTTCCGGTCACACAGCAAAATCT +CTCGATTTTCGATGTTTGAATATTGAAATCTGGGTTGGATTTTTTAGTAT +CATTTCATTTCCGGTGGAGAAACGAGGGAGAGAAAAAGAGAAAAAAGATT +TGTAGTGTCCCGGGAAGCTCTCTTTCTCATGTGGGAAGAAAGTGGAAGAA +GCTTCTGCAGCAGCAGCAGCAGTGGTTCACGAAAGAGAGAGAGAGACATG +TTGGACATGAAAATGATGAAAAATAAGAAGATGAAGAAGAGAATTACACA +CTACCACCACAACACAGATTATTTTTATCACGTTTTGAGGGGGCGCTTCA +CACAATTTTCATGGCCTAGAAATTTAAATTTGGTGGCCTAGAAAATACTA +TATTAATTATATTAATTATTCTACGAAATTTCAATAATTTAAACGGGAAA +ATTTATTTTAAAAAAGCCTAGAAGAGGTTTTGAAATTGGTGGACTAGGAA +ATGAAAAATTGTGTTTTTGGAATTTTCTAGGCCATTTGAACTTCCTGACG +TCCACAATTTTCATGACTTCGAAATTTGAATTTGGTGGCCTAGAAAATCA +TAAAAACTAAGAAATCGAGAAAAAAGCATGGATGAAATTTTGAATTTTAT +AGGTCATTTGAAATTTGTGGCCTAAAAAATGAAAAATGATTTTTTTTTTT +TTGAATTTTCTAGGCCACTTGAATTTCCTGACGTCCACAATTTTCATAGC +CTAGAAATTTAAATGTGGTGGCCTAGAAAATAATTAAAACTAAGAAATCG +AGAAGAAAAGCGTGGAAGAAGTTTTGTATTTTCTAGGCCATTTGAATTTG +GTGGCCTAGGAAATGAAAAAAAGATTTTTTAGGAAATTTCTAGGCCACTT +GAAGTTGGTGGCCTAGGAAATTAAAATTTGTGTTTTTGGCATTTTCTAGG +CCATTTGGATTAGGTGGCCTAGGAATTGAAAAGTAGTTGTTTTGGAATTT +TCTAGGCCATTTGAATTTGGTGGCCTAGGAAATGAAAAAATATTTTTTAA +AGGAAATTTCTAGGCCATTGAAGTAGATGGCTTAGGAAATAAAAAAAGGT +TTTTTAAAGGAAATTTCTAGGCCATTGAATTAGGTGGCCTAGGAAATGAA +AAATGATTTTCTTAAAATTTTTTAAGCCACTTGAATTTGACGGCCTAGGA +AATGAAAAATGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGACC +TGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAATTTG +ACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACTTGA +ATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCC +ACTTGAATTTGACGGCCTAGGAAATGAAAAACAGTTGTTTTGGAATTTTT +TAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTA +ATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTC +TTGGAATTTCTAGGCCATTGAATTAGGTGGCCTAGGAAATGAAAAATGAT +TTTCTTAAAATTTTTTAAGCCACTTGAATTTGACGGCCTAGGAAATGAAA +AATGGTTTTTTGGTAATTTCTAGGCCACTTGAATTTGGTGACCTGGGAAA +TGAAAAATGATTTTCTTGGAATTTTTTAAGCCACTTGAATTTGACGGCCT +AGGAAATGAAAAATAGTTTTTTGGTAATTTCGAGGCCACTTGAATTTGGT +GGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAGGCCACTTGAA +TTTGACGGCCTAGGAAATGAAAAACAGTTGTTTTGGAATTTTTTAGGCCA +CTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCGA +GGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAAT +TTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTTTTT +GGTAATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAATGAAAAATGAT +TTTCTTGGAATTTTTTAGGCCACTTGAATTTGACGGCCTAGGAAATGAAA +AATAGTTTTTTGGTAATTTCGAGGCCACTTGAATTTGGTGGCCTGGGAAA +TGAAAAATGATTTTCTTGGAATTTTTTAGACCACTTGAATTTGACGGCCT +AGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGACCACTTGAATTTGAC +GGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACTTGAAT +TTGACGGCCTAGGAAATGAAAAATAGTTTTTTGGTAATTTCTAGGCCACT +TGAATTTGGTGGCCTGGGAAATGAAAAATGATTTTCTTGGAATTTTTTAG +GCCACTTGAATTTGACGGCCTAGGAAATGAAAAATAGTTGTTTTGGAATT +TTTTAGGCCACTTGAATTTGGTGGCCTAGGAAATGAAAAATGATTTTCTT +GGAATTTTCTAGGCCACTTCAATTTGGTGGTCTGGGAAATGAAAAATGAT +TTTCTTGGAATTTTTTAGGCCGCTTGATTTAAGTGGCCTAAGAAGTTAAA +AATAGTTGTTACGGAATTTTCTAGGACATTTGAACTTGGTGGCCAAGGAA +ATGAAAAACTTTTTTTTTTGGAATTTTCTAGGTTTCTGTAATATTAATTT +ATTCATTTAAAAAATTAAAAAACATTAAATTTTTTTTAAATTTCGTGTTT +CAAAAAAAAAATCAAATTTGCCCAAAACTTCAAAAATAAGCTAAAAAATT +GTAAAACGATACAGAACGGCTAATAAAACTTGAAAATAATAAGCGTGATG +AGTCGGAAAGAGCCGCCGGCTGGGACCTTCTTTTTCTCTTTTTTTCTCCT +CTCCCATCCCGAGCAGGAGCAACACAACGAGAGAGCACAACAAGAAGAAA +AAGCAGATAGATATATAGATATATGTTGTCTTCTCTTCATATTCTTTCTT +TTATCTTTTCATTCGAAACAACACTTGGTTCATTTCTCCCGTTGGACGGG +GGGGGGGGGGGGGTGACGCGGGAGACGAAAAAAAAAAGAAAAATTGGGAT +GGGAGTTGGAGAATGTTTGGAAAAAGATTGATTGATCAATCAATTTGCCA +GCCGAGTCTCGGCTATTTTCGGAAATCGGGGCTATGCAAATGCGCCCTAC +TGATAAAATGGGACGTGTCATTTAAACTCCTTGGTTTTTTAAAAAGAAAC +GCAAAATCGGCAAATTTCCAGTTTGCCGATTTGCCAGAAATTTTCAGGTA +CAGCAATTTTCCGATTTGCCGATTTGGCGGAAATTTCAATTTCGACAAAT +TGCCGGCTTGCCGAAATGCCAAAAATGTCCAGGTCCGGCAATTTGCCAAT +GTTGATTTTTGGCAAGTTGCTGGTTTGCCGGAAGTTTTCATTTTCGGCAA +ATTACCGATTTGCCAAAACGCCAGAAATGCTCAGGTTCTCTAAACCGCTG +GTTTTCCGGAAATTTTTCATTTTCGGCAAATTGCCGGCTTGCCAAAATGC +CGGAATTTTTCAGGTCCGGCAATTTGCTGATTTGCCGGAATTTTTCATTT +TCGACAAATAGCCGGTTTGCCGAAACGCAAGAAATGCTCAGGACCGGCAA +TTTGCCGATTTGCCGGATATTTTCATTTTCGGCAAATTGCCGGTTTGCCG +ATATGCCAGAAATGTTCAGGACCGGCAATTTGCCGAATCGCCGGAATTTT +TTATTTTTGGCAAATTGCCGATTTGCCGAAAGGCCAGAAATGTTGCGGTC +CGGCAATTTGCCGAAATGCCATAAATGTTCAATTTCGGCAATTTGCTGAT +ATGCCGGAGTTATAAATTTCGGCAAATTGCCGGCTGGTCGATATGCCGGA +AATTTTCAGGTCCTGCAATTTGATGATTTGCCGAAAAATTTATTTAAAAA +AAAAATTAATTTTCGCCAGACAGGAAGTCTCTAAAATCTCATTTAATAAG +AAGAAACAAAAGAAACAAATAATGGCCTAACAAGTTTCGAGTTACAGAAA +CCTAGGCCACTTTGAACACCGGCGTGGCCTAGAAACCCAGTTCCACAAAA +ATAAGAAAAAATTAAAACTCGGCCACATAATCTAGGCCAGGAGCATACAA +ACACTCCACGAATATTAAAGACTCTTTCTAGGTTAGTGGCCGTTAACGAT +GGAAAACTCGGCCATCTGCCAATTTTGTTGCTTAAAATTGGAAAAATAAA +GTTTTTTTAACTTCAAAAAAAAAAGATCAAAAAGTGAAAAGCGGGGATTT +TTCTCACACAATTTAATAAATCTGTAGCCGAGTAGCGGAGAGCTCTCGGA +GCTCAACGTGAATTTCTATTTGGACGGTAAACATACTCAGCCACCCCACC +CCAGCCCACCGTTACTGTCTTTTTTTTTCTTTTTTATTATCAACCAGCAC +TTATCACCTTTATCTTTGTGTGATCCCGCGCCGCGCAAGAACGAGAGAGA +GAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGAGA +GAGAGAGAGAGAGAGAGAGAGAGAGAGGGATATTGGTGAGACGCAGACAA +TTAGAGTCACTCGTGGGCTCTTTCACACATGTGATATTGAACGAGAAATT +GCGCACCTAGGCCACAAAAAAAACAGTGTATTCGATTTCATGATAGGGGA +GAAGCTGGCACGGTGCCAAGTTTCAGAAAAAATATGGAATTTTTGCTTGA +AGCATGGTGAATCAGACGTGCTTACGTCACAATTTTTCGGGATAAATATT +CCCGCATTTTTTGTAGATCAAACCGCAATGAGACATCCTGATACCACGTG +AGGTTAATTAAAAGTATTGATCGGGATTTTGAGCGTCAAATATGGTGTAT +TTACCGGCAACCCTGATGCGCCAGATTTGACGCGCAAATCCTTCATTTTA +ATAAAGTTGGGCGTCAAATGTGATGCCTGAATTTTCAATTTTTTGAAATG +TTTTGATTTCGTGAAAAATAACGGCGAATTTCAGAAAATTTATAGAAAAT +TTTCATTTGTTGCGACCAAAAAATCTTAAAAACGACCAAAATTCTCAGGA +AATTCACATTTTTCGCCGAAAAAACCATTTTGCGCGTAAATTCTGATGTA +TTTTGCCGTAGGCTATGTGTGAAAACACTGCCGGTAATACGTCATATTTG +ACGCGCAAACCACAAAAATCCTCGAAATTATTCCGGGTGCACAAAATTCT +GAGAATGCGTACAGCGCAACATATCTGACGCGCAAAATATCTCGAAGTGA +AAAATACAGTAATCCTTTTCAAATGACTACTGTAGCGCTTGTGTCGATTT +ACGGGATCTCGACTTTCGAAATGGATTAAAATATATTATTTATCAATAGA +ATATTACAAAAAGAAGTTAATTTCGTAAATCGAGCCCGTAAATCGACACA +AGTGCTATAGTAGTAATTTTAAGAATTACTGTAGTTTTCGCTACGAGATA +TTTTGCGCGTCAAATATGTTGTGCAGTACGCATTCCCAGAATTTTTCGTT +CCCTTTCACAAAAATCTTCAAACTTGCGCGTAAAATTTGGTGCATTGGTG +CCTGTGAGGGGTTCACCTATACAAGTGGTGCCAGGGGCTGTCCCATTACG +GGTTGATCTACAAAAAATGCGGGATTTTTTTGCCCAAACCATGCGAAATC +AGTTGAGAACTCTGCGTCTCTTCTCCCGCATATTTTGTAGATCAACGTAG +ATCAAACACTCTGACACCACGTGGGCCGATGATGTAAGTGCACCAGATTA +CACGCGCAAAAACTGAAAATCTGAAAAAAAAAAAAGCGAAAACTGTCAAA +TTTGAGCGAGTTTTTTATTCCACGAATCACAAGAAAAATCAATAAAAAAT +CGATAATTAAAAAGTGAGTATCATATTATTCGACAACAGAATTTCCAGTT +TCATCAGTGAGCATTGTAAGTATACGATGAGCCATCGACGGTCCAACACG +TCTCCCGTTCTCTGCCACAAGTTCGCCAATCTCTTGAATAGCGAGCGAGT +AGTCCATTTTCGAGTATTTATCGATTGCGGCAATCGGATCAGGGATTAGT +TCGAGAATTGCACGTCGCTGAGCATCCGACAGCCGATCGATTGTTGTGAG +CATTTTCGACCACCAATCCGTGACGATTTCCGAGCGACTTCCGATCACAA +TTCCCTGGAAAAAAATCATCGGGGTTTCATGCTTTTGATCTATTTGATCT +ACAAAAAATGCGGGAATTTTTTGCCCAAAAATATGTGACATCGTCAGCAC +GTTTTTAACCATGTGAAATCAGTTGAGAACTCTGCGTCTCTTCTCCCGCA +TTTTTTGTAGATCTACGTAGATCAAGCCGAAATGAGACATTCTGAGTCTT +GACACGACAAATTCCCGTTAATTACATACGGATGTGAGCCTTTGTTGGAT +GTGAGAGAGTTTCCAGGTTTTTCTCGAAAGCTTTTCTTAAAATTTCATTT +AAAAAATAATTTTTTAACGAAAAACTACAAAAAATCATCCGAAAAACCTG +GAAAATCGATGAAAAACTCTGTGACAAATACAGTACTGTTTAAAGGCGCA +CGCCAGTTTGTGTTCTGAGAATGCGTATTGCACAACATATTTGACGCGCA +AAATATCTAAACTACAGTAATTCTTCAAATGACTACTGTAGCGCGCTAGT +GTCGATTTACGGGTTCGGCTTTCGACAAATTTCGAAAATCGAGCTCGTAA +ATCGACACAACCGCTACAGTAGTAATTTAAAGAATTACTGTAGTTTAGAT +ATTTTGCGCGTCAAATTTGTTGTGCAGTACGCATTCTCAGAACTTTGCGT +TTTCGTGATTTTTTTTTTCAAATTTTAACTGCAGTAAAAAAATAAAACAA +CATAAATTTCATTTAAAAAAAACGATTTTAGCGCTCTTTAAAGGCGCACA +CCCGTTTGTGTTTTAAAAAAAAAAAATGTCGCGTCGAGACCAGATTTCTG +CAGATTTCGCGCCAAGACCCAACCTTATCCCCCTGATACTGTAATTTGTG +GCCTCCTGCCCCTCCTGCACCACCACCACCGCCCCCATCACTTCCAGCGT +CGAGCTTCTTCTTCTCCTGTCTCGCCAAACTTCTCAAGTACTGAGCAGTG +AATAGTGCCAGCTCGGCGATCGTTTCGATTTGCACAATTTGTGCACGATG +TTGCTCGTAGATTTGCAGCGATAAATTGTGCAATTTCTTCTTTTTCGCAA +TTTCTGCCCTGCCGAATGAGACGATGAGCATTGTGCAGCGGCCACCGTTT +TGAAATCCGGATTTTTGCTGGAAAAATAAAATTTAAATGAGATTTTTTTT +AGGTCTCGCAGCGATTTCTCTGGCTGTTTCAATTACGGTTTGATCTACAA +AAAATGCGGGAATTATAAAAAATGTTTGCCCGGTAAAATGTGACGTCAGC +AAAGTTTCTTAACGCTGCGAAATCAGTTGAGAACTCTGCGTCTTTTCTCC +CGCATTTTTTGTAGATCTACGTAGATCAAGCTGAAATGAGACACACTGTG +TGTGCAAACACTATCCACAATACATCATATTTGACGCGCAAACTCTAATT +TTTTTTTCGCTGCGAGACCTAAAAAATCTCAAACTTTCCAGTGAAAATCC +GGATTTTCTTCATTTTAAAAAAGTTGCGCGTCAAATGTGATGTGCCTGAA +TTTTCGCTTTTTTGAAATTTTTTATTTCGTTAAAAATGACGACGAATTTC +TGAACATTTATAGAAATTTTAAAAATTTTCATTTTTTGGGTTAAAAAAAT +CTTAAAAACAACCATAATTCTCAGGAAACTCAAATTTTTCGCCGAAAAAC +CCATTTTGCGCGTGAAATCTGGTGTATTTTACCGTGCCTAGGCTGTGTGA +GAACACTGCCGGTCATACATTATATTTGACGCGCAAACTGCAAAAATCGT +CGGAATTATTTCGGGAACACAAAATTCTGAAAATGCGTATCGCGCAACAT +ATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTAATTATGTAAAT +GACTACTGTAGCGCTTGTGTGTCGATTTAAGGGCTCAATTTTCAAAAAAT +CGAGATCCCGTAAATCGACATAAGTGCTATAGTTGTTATTTAAAGAATTA +CTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTGCAATG +CGCATTTTCAGAATTTTGTGTTCCCGGAATAATTCCGACGATTTTTGCAG +TTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCCCACATCGCCT +AAGCACGGTAAAATACACCAGATTTTTCGCGCAAAATGGGATTTTCGGCG +AAAAATTCGAATTTCCTGAGAATTTTGGTCGTTTTTACTATTTTTTAATC +CAAAAAAAAATGAAAATTTTTAAATTTTCTATAAATTTTCTGAAATTCAC +CGTCGTTTTTCACGAAATAAAAAAATTTCAAAAAATTGAAAATTCCGCCA +CATCACATTTGACGCGCAACTTTTTTAAAATGAAGAAAATCCGGATTTTT +CTGGGAAATTTGAGATTTATTTAGGTCTCGCAGTGAAAAAAAAATTAGAG +TTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCCCACATCGCCT +AAGCACGGTAAAATACACCAGATTTTTCGCGCAAAATGGGATTTTCGGCG +AAAAATTCGAATTTCCTGAGAATTTTGGTCGTTTTTACTATTTTTTAATC +CAAAAAAAAATGAAAATTTTTAAATTTTCTATAAATTTTCTGAAATTCAC +CGTCGTTTTTCACGAAATAAAAAAATTGATAAAATACACGATAAAATACA +TCAGATTTTACGCGCAAACTGGCAAAAAAATTGATTTTTTGGCTTTTTCG +GACTAAACATTAGAAAAAAGACTATACTCCAACAATTTTTTTCAGTTTTT +TTTTTGAAATTTTTTTTTTTTCAGTTTAAAATGTTTTCATCGCTTTGTTC +GTTTATTTTTGTCTGTTTATTGTGATTTTGTGCGAAATTAATGTAAAAAT +TTCCATATCCAACACTGTTGTGTGATTAATTCGGATAGATAAAAAATGTT +CAGCATGTTGAGTTTAGTTTTCGTCGTCCAATTTAGCTTTTTTTTGATTT +TCAGTCAAGATTTTCTTTCGCCTTCCGCTTTTTGACTTTTCTATGCAGTA +ATGACCAGTCTTGATTTCTAGCTTTTAGTGTTTGGTTTACCATTCTGCTA +TTACATGAGTCACACCTTATCACTAATATAAATGCAGCATAATTTCAGAG +TGAGCAAGCCGCGAGTATTAAACCAGCGCTGTTTTAAACTGATAATGATT +GCAGTTTCCTTCATTCTCACCGAATATCAATTTTTATTCATTCCAGAGTC +TCTCGAACTATGGAAAAACAACTAAAAGCTATGTCCGTCTCGGACAAACC +TGCTGCCCCAGCTGCCCAAAAGCTTGGTACCGCTCCGCTCGCTGCAAAAA +AGACGAGAAATGAGGAGTGGGGAACCAAGGTCAATATCGATACCAACATT +CGCAAATTGAGTAAGTTTTTATTTTACAATTACCAGTCGTTCGAGCTTAT +ATATCAATATTTTTTAGCGATCAAACCGAATCAGCCAATTTACAAGTACG +CTGTGCAAGTGAACTACGTCTTCCGGAAACCTGATGGAACTGAGGCGACA +ATCGAAATGTCCAAATCAGCCAAAAAGGGAACGGAGCACGACAACGACAA +AACACGCTGCCAGAACGTTTACAATGAGGCGATCAAGCGTTACGATGAGC +TGAAAACCGGAGGACCGTTTTTCTACGATCGTCAAGCCTCTTTGTACACT +CTGACCAAATTGAAGAATGAGGTGAATTCGATTTTTTGCTTAAAGTTTAA +TATTTTGCGTTTCAGAGCATCTCTTTCGTTGTTACTGACAAGATTTGCAA +GCGACAAAACTTCAAAGAGGCACAGTTTGTTCTCAAAAAGGTGGATCAAT +CGTTCCAGTCAACATCGAATGACGTCATCAAGACAACCAACTCGTGCCCA +GCCAATGCCGACAAAACTTTGCTTGAGGCAATGAACATCATTGTCTCGGG +ACCAGCGTTCGAAAAGTATGCCGCTTTCAGAGATAATCAAGCTATTTCAT +CTCGTTTTCAGCAAAAATGTTATCACCGTTGGAGCATGCGTTCATTACCT +CATCGACCCAACTGGAGTCGAGTAAGAAACTTTAAGAAATTATCATATTA +GTATTTAATTGTTTTTTCCAGCGTCGCGTACAAGGAATACCCTGAAGGAC +AACTCTACTCAGGAGTTGGTGTTTCAAAGTCGGTGAAGACATTGGAAGGA +ACGGACAAGAAAGTTCCATCACTCTTCATGACAACTGAAAGTTAGTTTTT +CAGAAAATCTAGATTTTTTTCAAAATGTTATAAAATTGTTAATTTTCAGT +GAAGACAACATTGTTCCATCCGGATTATGCCCCACTTGTGGAACTTTTGC +AAACGTTCAGAGGTTTCAGCACAACTCTCAAAGCGAATTCTCCAGCCGCG +CAGAGAATTGAGAAAGCCTTTGTTGGACTGGATGTTGTCTTGAATTACGG +TGTGCACAAGGGTCTCGGAGAGGATGGTGTCGTTATGAAGATCCGTCGAT +TCCACACGTCAGCTAAGGAGACATGTTTTGAAGTTGAGAAGTCAACTCGT +GAATTCACGAACGTCTTTGACTACTTCAAAAAGAAGTATGGAATCACTTT +GAAGTATCCCGATTTATTCACCATTGAAGCGAAAGGGAAACAAGGAAAAA +TTCATTTCCCTGCGGAAGTTCTCCTTCTCTGTCCGAACCAGACGGTCACG +AATGATCAAATGATCAACAATGAGCAGGCGGACATGATTAAGGTAATTTT +ATATTTTAAAATCTGAATAATATCCCGAATCCTTTTTCAGATGTCAGCCG +CACAACCACATATCAGAAAGACGACAACTGATACTATCGTGAGAAACGTC +GGATTGGCTTCCAACAATATCTATGGCTTCATCAAAGTTGAAGACCCAGT +CAACCTTGAAGGAATGGTTCTTCCAAAACCTAAGATTGCGTTTGCCGGTA +ACCGACTCGCTGATTTGGCAAATCCGAAGTCTAGATTCCCCACCGACTTC +AATCGTGCTGGACAATATTACGATGCCAAGGAATTGACGAAATGGGAACT +GGTCTTTGTTCAAAACGAAGAAGTCCAGTAAGTTTCAGTTTGTAATTTTT +CATTTTATTGACTCAATTTCAGAGGACTTGCTAAGCAGCTCGCCGATGAA +ATGGTGAATAATGGTATGAAATGCAGCAACCCAACGATGAGTTTCATCAT +TAGAGGTGATTTGGAACCAATCTTCAAGAAAGCGAAGGCTGCTGGAACGC +AACTTCTCTTCTTCGTTGTCAAATCTCGTTACAACTATCATCAGCAAATC +AAGGCGTTGGAGCAAAAGTATGACGTGCTCACTCAGGAGATTCGCGCTGA +AACCGCCGAGAAAGTCTTCCGTCAACCACAAACTCGTCTTAACATTATCA +ATAAGACGAACATGAAACTCGGAGGACTGAACTATGCTATTGGGAGTGAA +GCGTTCAACAAGCCAAATAGATTGATCGTTGGATTTGTTACTTCTCAACG +AGTTGGTGGAAATCCAGATGTGAGTCATGTGTTACAGCTGCATAATCATA +TTTCATTTTTTCCAGTATCCAATATCAGTTGGATTTGCTGCAAATATGCT +CAAGCATCATCAAAAGTTTGCTGGTGGATACGTGTATGTTCATCGCGATA +GGGATGTTTTCGGATCCATCATCAAGGATACTCTCTTGACAATCTTCAAA +ACATGCACTGAGCAGCGCGGAAGACCAGATGATATCCTTTTGTATTTCAA +TGGAGTTTCCGAAGGTCAATTCTCAATGATCAACGAGGAATTCAGTGCCC +GAGTGAAGGAGGCGTGCATGGCATTCCAAAAGGAGGGAACCCCGCCATTC +AGACCACACATCACCATCATCGCCTCATCAAAGGCTCACAACGAGCGTCT +GTACAAATCCGACAAGGGACGTATTGTTAATTTGGAGCCGGGTACGGTCG +TGGACCATACCATTGTGAGCAATGTCTACACTGAGTGGTATCATGCCTCA +GCTGTTGCTCGCCAAGGAACTGCAAAGGCTACCAAGTTCACTCTCATCTT +CACCACTAAAGCAGGCCCACAAGCTGAGCCATTGTGGCATCTCGAGCAAT +TGACCAATGATCTTTGCTACGATCATCAGATTGTCTTCCATCCGGTCGGA +CTTCCCGTCCCACTGTACATTGCTGATCGTTACAGTCAACGTGGAGCAAT +GGTTCTTGCCGCCAATCAAGGGTAAGTGACAGTAAAATGTATACGACATC +TCATTTATTATTTTCAGTCCAATCTACAATGAAGGACAAATCGATCTCGC +GGCTACCAACAGTGCATATGGCTACGGAGAGAAGAAGCTCTTCACCACTC +GTTTCAATGCATAATTATCTGTACTCCTCCGTTTCTTTTACTTGGCTGTA +TAATGTTTTATTTCCGTCAACCCAGAATACTTTCGCTATGATTGTATATT +TTTTAGCATTTGGTCATTGTAATTTGTAATTATTGTCGGAATGGATAAAA +TGATTTAAGAATCAAATGCATCGCTTCTTGGACAATTCCTGTTGATAATC +TCATTCTGATATTTTCAAAAGTTGTGGTATTGATTTTAAAAATTAAAATA +TTTGCAGCTGCCGCTGTGACTGGAGAAGTTGATGTTTTATTTCTTCCAAT +TCAGCTGTTTGTACCTGTTTTGTAATGTTATTACTTTCTTTCGAACAAAA +TGTCATTCTTTTTCTGGCAGAAAATTCCGCTTTTTAAAAATTATTTTTAC +AACATTACAGATGGATCCTTCTGTTGTGTCTCGATTGGAGAATGTTGCGA +ATCGAATGGAGAATATATTGCTGAAATATGACTCGAACAAAAAAGGCAAT +TAAATAATTGTTCTCGAAATTATAAATTTCAAAAAAATCGCTTTTTAGAA +ACTCCGGTCGGCGCGACGCCTCAAATCATTAATCTTTATGACGATGCGAT +CTGTGAGAATCTCGTCTCGTTTTATGATTTATCTGCAAAAATTGGAGGAG +ATTTGAATCGCCTTGGATGCATGGTAAGGAAATATATAATATTTAATTCA +AATTTTATCGAAAATTATGTTTCAGACTAAGAATCTATTTTTCACGCTTT +TTTCGATGTTTTTTGTGGATTGCGTGTGGGCGCAAAAAAGCGGACAACGA +CGAGTTCGCGACTCTTGTGAACGATTTGACGACGGAAATTGTTGCATTTT +CCGATTTCAAGGAGAAAAATCGAAAATCCGAATTCTATAATCATATTTGT +GGACTTGAAGCTGCGGTTGGAGGTGAAAATTTGCCCCTGATTCCGAATAT +CTATGTGAAAAACTCTTCATTATTTTATATATTTCAGCTTGAAATCGCTT +GTTCATCCATTACTTTTTTCAAGCACACGCCATATTCTCATTGGAGCGCG +CCGTGTTGTGTCGATTTACGAAATTTTCCAATTTTTTCAATTTCAGTTTT +TAAACGAGTTTTTATTTTTGTGGGCTTTATTTTTGTGGGTTTTGCTTTTT +GGGTTAAAAAAAATCTTAAAAACAATCATAATTCTCAGGAAACTCAAATT +TTTCGCCGAAAAACCTATTTTGCGCGTGAAATCTGGTGTATTTTACCGTG +CCTAGACTATGTGTGAGAACACTGCCGGTCATACATCATATTTGACGCGC +AAACTGCAAAAATCGTCGGAATTATTTCGGGAACACAAAATTCTGAAAAT +GCGTATCGCGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTA +CAGTAATTATGTAAATGACTACTGTAGCGCTTGTGTGTCGATTTAAGGGC +TCAATTTTCAAAAAATCGAGATCCCGTAAATCGACACAAGTGCTATAGTT +GTTATTTGAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCA +AATATGTTGTGCAATGCGCATTTTCAGAATTTTGTGTAAAAATTTTTGTG +TTTAGTGATTTTTGCAGTTTGCGCGTCAAATATGATGTATGACCGGCAGT +GTTTGCCCACATCGCCTAAGCACGGTAAAATACACCAGATTTTTCGCGCA +AAATGGGATTTTCGGCGAAAAATTCGAATTTCCTGAGAATTTTGGTCGTT +TTTACTATTTTTTAATGCAAAAAATGAAAATTTTTAAATTTTCTGAAATT +CACCGTCGTTTTTCACGAAATAAAAAAATTTCAAAAAATTGAAAATTCCG +CCACATCACATTTGACGCTCAACTTTTTTTAAATGAACAAAATCCGGATT +TTTCTGGGAAATTTGAGATTTATTTAGGTCTCGCAGCGAAAAAAAAATTA +GAGTTTGCGCGTCAAATATGATGTATGACCGGCAGTGTTTGCACACACAT +AGCCTAGACACGATAAAATACATCAGATTTTACGCGCAAACTGGCAAAAA +AATTGATTTTTTGGCTTTTTCGGACTAAACATTAGAAAAAAAGACTATAC +TCCAACAATTTTTTTCAGTTTTTTTTTGAAAAATTCCATATTTTCTGAAG +TTCAAATAAATATATATTTTTTTAAAGTTCAAAAAATTCAAATTAGCGCG +TTAAAAACGACGTATTCAGGCATCACATTTGACGCGCAATTTTTTTTTTA +AAGAAGGATTTGCGCGTCAAATCTGGCGAATTAGGTTTGTCGGCGGAATA +CACCGAATTTCACGCGCAAAATTTCAAACCTCAATGATAAAATCGGAGAG +CGTATTCGAGGAAATTACGTCTTTCAACGTCTCCGCCGGAACCACGACAG +CGAACAAGTTTTGTGTTGACTGAAAAAAAAATTAAATTTTTCGACAAAAA +AAATTAAATTTTTCAACGAAAAAAAATTAAATTTTTCAACGAAAAAAATT +AAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAAT +TTTTCAACAAAAAAAAATTTAATTTTTCAACAAAAAAAAATTAAATTTTT +CAACGAAAAAAAATTAAATTTTTCAACGAAAAAAATTAAATTTTTCAACA +AAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAA +AAAATTTAATTTTTCAACAAAAAAAAATTAAATTTTCCAACAAAAAAAAA +TTAAATTTTTCAACAAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAA +ATTTTTCAACAAAAAAAATTAAATTTTTCAACAAAAAAAAATTAAAATTT +TCAACGAAAAAAAAATAAATTTTTCATCAAAAAAAAATTCAAATTTCCGC +GGAAAGTGCAAAAAATTTACAGAATATTCAAATCGTTCACTTCTCCCGCT +ATCATCTTCACGCAATTCGACACATTTTCGTCGCCATTCGATGCGGGTTC +CCAGTGATGTATCGATTTTCAGTTGATTATCGATTTTTCGCTCCACGTAC +AGTACACTGAGTTCCGCTTCGAGGCCATCTGAAATTTTTTTTTTAATTTT +TTTAACGATTTTTTTTTCAGAAAATCAATAAATCTATTCAGCTGTTTTTT +TTTAACTTTTACACAATTTTCCGTTTGAAAATGTCAAAAAAATGTGTTTT +TGAGCCACATTTTATTCAAAAAATTTTGAAAAATTCCCTGCATTTTCGCT +GTGGGACCCAAGAAGTGCGTGTGCCTTTAAGAATATTTCAATTTTTTTAA +AACTTAAAACAAAGATTTAAAAAATTCTGCTTTCTAAAAATAAATAATTA +TTTATTTTTTTGTGTATTTGTTTGGAAAAAATCAATATTTATCGATTTTT +GTGAATTTTTTTGAAAAAAATCAATATTTATCGATTTTTGTGAAATTTTT +TGGGAAAAATCAATTATTATCGATTTGTGTGAATTTTTAAGAAAAAAATC +AATAATTATCGATTTTTTGTGATTTTTTCGCAAAAAAATCAATAATAATC +GATTTTTGTAAATTTTTTAATCGAAATTCGGCTTTTTCCGGTAAAAACAT +CAAAATTTCGCAAAATTAATCTGATTTTTTCTGCGAAAAATTTAAATTTC +TCATAAAACTTTCGAAAAATCGAATATTTTAAAAATCAATAATTTCGATT +TTTGGTTAATTTTTTTGGAAAAAATCAATAATTATCGACTTTTTGCGATT +TTTTTTTTGAAAAAAATCAATAATTATCGTTTTTTTTTAATTTATTGGAA +AAAATCAATAATTATCGAATTTCAGTGAAATTTTTGGAAAAATCAATAAT +AATCGTTTTTGTGTGATTTTTTTCGGAAAAAATTAAAAATTATCGTTTTT +TGTGAATTTTTTGAAAAAATTAATAATTATCGACTTTTTTTGAATTTTTT +TTTGGAAAAAATCAATAATCATCGATTTTTTTGTGAATTTCTTGGAAAAA +AATCAATAATTATCGATTTTTCCGATTTTTTCCAAAAAAATCGATAAATC +AATAAATTTTCCTTACGCCACGTGTCAATTACAGTCTTCCCCACGTGGCA +AAACGTGTAGAGCTCGCATTTCGAATTGGTTGCCGCCGAAATTTCGCGTT +CGATTTTTCGAGTTTCCTTGTCTTTCTGAAATTTTTTTTTTCTAAATTTT +CTGAAAAATGTTCTTCTGTAAAACCTCTTTTTCCTCTCTTCTCCGCGCCA +TTTCGCTCTTTTTTTTATCCTTTTCCAGCGTTTTTCTCTCTTTTTCAGCT +TCCCGAGCTCGTTTCGCATTTTCTCGGAGTTCCTGAATAAGTTTTAAATT +TTTAAGGGGAAATTTGCTATTTGGAGAGTAAATATTTTCGCTGTGAGACC +CGTGGACCTGAAAATTTTGATTTTCCGCTTAAAATCAACTGAATTTCGCT +TAATTGTGATGTTTTAAGCTGAAAAAGCTGAATTTTGATTTTAAAAAATT +GAAAAAAATTAATATTTTTAAAGGCGCATTTATTGATTTTTTTTCCAAAA +AAAATTTACAAAAAAATTGATAATTATTGATTTTTTCCAAAAAAATTAAC +AAAAATCGATAATTTTTTTTCCAAAAAATTCACTGAAAAATCGATGATTA +TTGATTTTTCCAAAAAAAATTCACTGAAAAATCGATAATTATTGATTTTT +CCAAAAAAAAAAATCACAAAAGTCGATAATTACTGATTTTTTCCAAGAAA +ATTTTAAAAAAAAACGACAATTATTGATTTTTTCCGAAAAAATTACAAAA +AAATCGACAAGTACTGATTTTTTCTGAAAAAATTACAAAAAATCGATAAT +TATTGATATTTTACAAAAAATCGATAATTATTGATTTTTTACAAAAAATT +CACAAAAAAATCGATAATTTTTAATTTTTTTCAAAAAAAAAATCACAAAA +AATCGATAATTATTGATTTTTACCAAAAAAAATCACAAAAATCGATAAAT +ATTGATTTTTTCCAAAAAAATTAACAAAAATCGATAATTATTGATTTTCC +CAGAAAAAATTCACTGAAAAATCGATAATTATTGATTTTTTCCGAAAAAA +TTCACAAAAAAATTGATAATTTTTTAATTTAAAAAAAAATCACAAAAAAT +CGATAATTATTGATATTTTACAAAAAAAAATTACAAAAAATCGATAATTA +TTGATTTTTTACAAAAAATTCACAAAAAATCGATAATTTTTAATTTTTTT +CAAAAAAAAAATCACAAAAATCGATAATTATTGATTTTTTCCAAAAAAAA +TCACAAAAATCGATAATTATTGATTTTTAGGCGGAAAAGCCGAATTTTTA +TCAATTTTTCAAAAAAACAATCGATAGTTTTAAAGGCGCATGCGCTCTCC +TGGGTCTCACAGCGAAAAGTGGATTTTTCAAATTTTTTGGATAAAATTTC +GCTGAAAAACGTATTTTTTTGACAGTTTTAAAGGGAAAATTGTCTAAAAT +CAAAAAAAAATTGTTTTTTCAACAATTTTTTCAGTTTTCGTAAAAATTTC +AGTTTTTTTTTCGCGAGAAAAAAACCAATTCTCGATTGAAAAATCAGAAA +AAATATTTTGGTATAAAAATATTTTTGGTATTACGATATTTTGGGTCCCA +CCTCGAAAATTTAGAGGATTTTTCAAATTTTTAAGATTTTCTTCAACTTT +TAACAATTTTTTTCGGAATAAAAATCGATTTTCGCTGCGAGACCCAAAAA +AAATAGATTTTCTCGAATTTTGCGATGGAACTTTTGATTTTTCGGTGAAA +TTTTCCAAAAAAATCGCAAAATGTATCAAAAAATCAATACTTTCTGCGTC +TCCTTCTCATCGTCGGTTAGTTTCCGTTTTTCGGGTCTCGCCACGACATT +TATGTCAGTATTCTCTTGTGAGCTTGAGCACAACGAGTATGAGCTCGTCT +GATTCTGACGGATCATTTCGTCAAGATTGAGCATTCCCTCATCCAGCCAT +GTTTTTGCCGCAGCTGGAATTGCATCCTTATTCACTGCGTCGACGATGGA +AAAGCTCGCGGAGTACCTGGAAATTATCGATTTTTTATTGATTTTTTATC +GGTTTTTATCGATTTTTTTGATGGGGAAAAATCGGAAAAATCGATAAATT +TCGATTGGAAAATTCAAAAAACTTCGGGTCTCACAACGAAAATTGATTTT +TTTTCTTGGATTTTCAAATTTTTAAACTTTTGTTGTAACAACAGTGGAAA +TTTTTCGAAAAAAAATCAATAATTATCGATTTTTTGAAAAAAGGCAATAA +TTTTCGATTTTTTGAAAAAAAAAATCAATAATTATCGATTTTTTGTGAAT +TTTTGAAAAAAATCAATAATTTTCGATTTTTTGTGATTTTTTTTCGAAAA +AATCAAAAATTATCGATTTTTTGTGGATTTTTTGAAAAAAATCAATAATT +ATCGATTTTTTGTGGATTTTTTGTAAAAAATCAATAGTTTTCGATTTTTT +TTGGAAAAAATCAATAATTATCGATTTTTTGTGGATTTTTTGAAAAAAAT +CAATAATTATCGATTTTTTTTTGAATTTTTTGAAAAAAATCAATAATTTT +CGATTTTTTGTGATTTTTTTTCGGAAAAATCAAAAATTATCGATTTTTTG +TGAATTTTTTTTTGGAAAAATCAATAATTATCGATTTTTGTGATTTTTTG +TAAAATATCAATAATTATCGATTTTTTGTGATTTTTTTCGGAAAAATCAA +AAATTATCAATTTTTTGTGATTTTTTTTTTGGAAAAATCAATAATTATCG +ATTTTTGTGATTTTTTTTGGAAAAAATCAATAATTATCGATTTTTGTGAA +TTTTTTGTAAAATATCAATAATTATCGATTTTTTTGTAATTTTTTCGGAA +AAAATCAATAATTTTCGATTTTTTGTGAATTGATTTTTTTTGGATTTTCA +AAATTTTAAACTTTTAAAATAAATTTTTCCATAGTTTTTTGTTGAAAAAT +TCCTGAAATTTTGAAATTCAATTAATTTTTTCTTTAAAAAAATCGTTGAA +AAATTAGTTTTTTGGAAAAAAAATCAGCGAAAATAGATTTCGCTGTGAGA +CCCAATTGGGCTCCTCAAAGTCCCTGCGCCTTTAAAATATCGTTTTTTTT +TTGTTAAATTTTCCCGCGAAATTAATCAGATTTTTTCTGCGAAAAAGTGA +AATTTCTCAAAGAAACTTTTGAAAAATCAATTTTTTTAAAAAGAAAACCC +CTAATTTTTCCGTTTTTCCCGCTAAAAAAACATCTAAAAAATTTGAAAAA +TCCACAGAATTATCGCTGTGGGACCCAAAGTGCATGCGCCTTTAAGATTA +TCGATTTTTTTCAAATTTTTCAATCGAAATCAGGTTTTTTTTTTCAGCAA +AAATCATAATTTTGCGAAATTAATCTGATTTTTTGTGCAAAAAATTCAAA +TTTCTCTTTTTTTACGTTTTTTCGCCAAAAAAACCATCTAAAAAATTCGA +AAAATCCAGAGCATTTTCGCTGTGAGACCCAAGTCCGTGTGGCTTTAAAA +ATATCGATTTTTTGTTAAATTTTCCAATCGAAATTTGGCTTTTTTTCCGG +TAAAAAATCATAATTTTGCGAAATTAGTCTGATTTTTTGTGCGAAAAAGC +GAAATTTCTCATAAAACTTTTGAAAAATTGATTTTTTTTTTCTGGAAAAA +CCTATTTTTGTCGTTTTTTCGCTAAAAAACATCTAAAAAATTCGAAAAAT +CCCCAAAATTTTCGCTGTGAGACCCAAGGCTCCTGAAAGTCCCTGCGCCT +TTAAAAATATCGATTTTTTGTTAAATTTTTAATCGAAATTCGGCTTTTTC +CGGTAAAAACATCAAAATTTCGCAAAATTAATCTGATTTTTTCTGCGAAA +AATTCAAATTTCTCATAAAACTTTCGAAAAATCGATTATTTTCCGCTAAA +AAATCATCTAAAAACTCGAAAAATCCAGACAACTTTCGCTGCGAGACCCA +AGTCCATGCGCCTTTAAAAATATCGATTTTCTGTGAAATTTCTCACAATT +TCTCCAAATTTCCCGCCGTCACATTCGTCGTTTCCTCAATCATAATACAG +TCCTCATCATCATCATCATCCGAGAGGACTACAATCGCCTCGTCCATCTG +AATAGTGGGAAAATATCGATTTTTTGTAGAAAATCATATATTTAAATTGA +TTTTTTTACAATAAAAAAAATTTTGGGGATTTTTTTGGAAATTTCGGGTA +AATCGTGTAAATCGTGTAATTTAAATTCATTTTTGTTTCAAAAAGTCAGG +GGGGGGGGGGGAAAGAAAAAATTTTTGACAAAGCGTGGAGCGAAAAAAGG +AGTAAATATACAGTCGCGAAAGAACGATCGCTCCGCCAATTTTGCATGCG +GCAAAGGGGCGTGGTTTATTGGGGGCGGGATTCCGGCGCAACCCTGCGGC +ACGCTTTTTTCTCGCTTTTTTCGTGCGGTAATTTTCAGTTATTTTTATTC +GTTTTCTGTTCGAAATTTCACGATTTCGCTCGATTTTGTTCGTTTTTTCG +GATAAAAAAGTGTCCAACTATTTTTTAAATGAAAAATAACCAAGTTTTCA +CAGATTTTACCCGAAAAATGCTTTGTTGGTCTCTCTTTCTGTAAATTACG +ATTGTTAAGAGAGAAAATGGGGGAAAAAAAGGAAAATGTGAAGAGAAAGC +GTTTTTTTAACGTTTTGCTTCGTATATTACAGAAAAAGAGACAAACGAAG +CATTTTTTCAAGTAAAAACTGATAAAACTTGGTTATTTTTCATTTAAAAA +TAGACACTTTTTTATCCGAAAAAACGAACAAAATCGAGCGAAATCGTGAA +ATTTCGAACAGAAAACGAATAAAAATAACTGAAAATTACCGCATGAAAAA +AGCGAGAAAAAAGCGTGCCGCAGGGTTGCGCCGGAATCCCGCCCCCAATA +AACCACGCCCCTTTGCCGCATGCAAAATTGGCGGAGCGATCGTTCTGTCG +CGACAGTATGTAACATGTAAGGTAACAAGGTGGGTTGGTTTTCATGAGAA +AAGGGGGATTTTTTTCCGATTTTTCAGGTGCAGAGCCCACGCTCTCCTCA +AAGCCGAATAATTATTAGAGCGCGCTTGCAGCGACTCGCGTTTCTGCATC +CGCGGTATTTTGACTTTCCACTGAAGAAAGCAGATATTTCAGATTTATCG +AATTTTTAGGTTTAAAATTTTTTTTTTCTGTATTTTTCGAACAAACCTTT +TGTCAAACAGTAAAAATCGAAATTAAAATGACTAAAATGAACTTTTTTTG +TCCACTGGTTGTGAAATGGTTTGAATTTGAAGAAATCAACGGGGTTTTTC +GTATTTTCTGAATATTGTTCTATTAAAAATTGGTTTTAATACATTTTTGA +CTTAACATTAGGGTCAAAAAATGGTTTAAAACCGATTTTTAATAGAAAAA +TATTCAGAAAATACGAAAAATCCCGCTGATTTCTTCAAATTCGAACCATT +TCGCAACCAGTGGACGAAAAAAGTTCATTTTAGTCATTTTAATTTCGATT +TTTACTGTTTAACAAAAGGTTTGTTCGAAAAAAACAGAAAAAAAAATTTA +AAAGCTAAAAATTCGATAAATCTAAAAAAGCTGCTCATTTCAGTGGAAAG +GCAAAATACCGCGGATGCAGAAACGCGAGACGCTGCAAGCGCGCTCTAAT +AATTATTCGGCTTTGAGGAGAGCGTGGTGCAGAGCCCCAATTTTAAACAA +AAAATAGCGGAAAAAAATATTTAAAAAAACGAGGATTAAATAAAAATTAA +ATAATGTCAGCAATGTTCATTGGCATCTCGTCGATTTGTGTCGAGTAGTA +CTGCTCAATGTCGCGGAGAATTCGTACGTCGTCCTGTTTGACGAAATTGA +TGGCGACTCCCTTGCGGCCGAAACGTCCCGAACGGCCGATACGATGGATG +TAGAGCTCACGGTTGTTCGGCAAATCGTAGTTGATTACCTGGAAAATTTT +TTGATGAAAAGCTGATTTTTGCGATTTTCGCCATTTTTTGACCTAAAAAA +TTGGCGAAATTCGGAATTTTTAAACAAATTTTGACGTAAAGTAGGTTAAA +ATTCCAAAATTTTACGGTAAATAGCCTGAAATGCTTTAAATTGATCCTTT +TTTGCACAATTTTAACAATGAAAACCTGTATTTTTCGCTACTTTTAGTTG +AAAAAAGCTTCCAAAACGAGTAAAATTGGCAAATTTTATCGATTTTCGCA +AATTTTTCACCTAAAAATTGAAGAAATCGGTATTTTTAAACAAATTTTGG +CATAAAGTAGGTTAAAATACCAAAATTTTACGGTTTTTAGCAATTTTTGA +GTCAATTTTCAAAATGTTCCAGTATTTTTGCAACTATTTGGTTTTTATTC +ATCTATGTTCTTTGAAAATTCTTTTTTTTAAGGTGAATTAGGTTAGAAAG +GGGTCGATTTTGCAGAATTTTGACAGATTTCGCATGAAAATTTGAATTTT +CAGGCGAAAATCATCAAAAATATGATTTTTTGCTACTTTTAGTTGAAAAA +AGTGTACAAAACGAGTAAAATTGACAAATTTTTATCGATTTTCGCCATTT +TTTCACCTAAAATTTAATTTTTTTTTTCTAGTGAAATAAGTTAAATTCAG +TGTTAAAATGTATCTATTTTCGCTCAAAATTTGAAAATTTTCAATTTTTC +ACTGAAATCCATGAGAAACCAGTGAAAAAATTTTTTCAATTTGAAAATTT +GCAGTGAATTTTATTTTTTCTGCTAATTTTTCGGTGAAAAATGCACTTTT +TCACGAGAATTAGCGGGATTTTTGTATTTTCAAAGTTTTTAGGTCAATTT +TCAAAATGTTTCTCGCTGAAAATTGATTTTTTGTCAATTTTTCACATATT +TTCTATGAAAAATTCCACCTTTTTGCAGAATTTTGACTAAGAAATACGAT +TGTCGCCTAAAAGTTTGAATTTTTCAATTTTTTTTTGCTGAAAATCATCA +AAAATACGATTTTCAACAGAAAATGATGAAATTTTCGCTATTTTTCGCGG +AAAATCATTGATAACCTGATTTTTTCGCTACTTTTAGTTGAAAATAGTTT +ACAAAACGAGTGAAATTGGCAAATTTTATCGATTTTCGCAAGTTTTTAAC +CTAAAATTTAGTTTTTTTCTAGTAAAGTAGGGAAATTCAGTGAGATTTTT +TAATTTTTCACTGAAATCCATGAGAAATTAGTGAAAAAAAAATGTTTTTG +GCCAACTTTTCACATATTTGATATGAAAAATGCCGTTCTGAACAAAAAAA +GCTGTGGAAATTCAACTTATTGTCAATTTTCCGCTGAAAAATTCATTTTT +TTTTCTCAAGAATTCGCATTAAAACTGCGGAATTTCTTGTATTTTCAGCA +GAAAATGATGAAATTTTCGCTATTCTTCGCGGAAAATCATTGAAAACCTG +ATTTTTTCGCTACTTATAGTTTAAAATAGTTTACAAAACGAGTGAAATTG +GCAAATTTTATCGATTTTCGCAAGTTTTTAACCTAAAATTTAGTTTTTTT +TTCTAGTAAAGTAGGGAAATTCAGTGTCAAAATTTACTTATTGGGTAAAT +GGAAATTGTGAATTTCCATTGTAAAAATTTCTGCTGGGAAATTCATTTTT +CCCAAATTTTTCATATAATTAGGCTGAAAAATGCAATTTTTCACAAGAAT +TCGCATTAAAACAGCGGGATTTTTTTTGTATTTTCAACGGAAAATGCTAT +TTTTTGCGGAAAATCACTGCAACTTTTTCCTCACGAGGGCCAAGGAAAAG +TGGTTTCTAGGCCATGGCCGAGGGGCCGACAAGTTTCAGCGGCCATTTAT +CTTGCTTTGTTTTTCGCCTGTTTTCTTTCGTTTTTCACAGCTTTTTCCCG +TTTTTTCTTATTAAAACTGATAAATAAATATTTTTTGCAGATGCTAAAAC +AATTTCCAAGTAAAAAAAATTATGTATTCAGTCGGCAAGCAGCGGTGAAA +GTGGGCAATGTAAAATGATGGATTACGGGAATACAAAACCTGAAATTTTT +CTGAAACATGATACATATGCTGCTTAGATGCTGATACTACCTGATTTTCA +TAACGAGACCGCTGAAAAGTTTTGAGGTTTCCACAATTCAACTTTTTTGG +TGAAAAAATCGAGATTTTCGCACAAAAAGTTGAATTTTGAAAACCTCAAA +ACTTTTTCAGCGGTCTTGATATGAAAATCAGGTAATTTCAGCATCGAAGC +ATCATATGTATCATGTTTCAGAAAAAGTTTAGGTTTTGTATTCCCGTAAT +CCATCATATTGCATTGACCACTTTCACCGCTGCTTGCCGACTGAATACAT +AATTTTTTTACTTGGAAATTGTTTTAGCATCTGCAAAAAATATTTATTTA +TCAGTTTTAATGAGAAAAAACGGGAAAAAGCTGTGAAAAACGAAAGAAAA +CAGGCGGAAAACAAAGCAAGATAAATGGCCGCTGAAACTTGTCGGCCCCT +CGGCCATGGCCTAGAAACCACTTTTCCTCGTCCCTTGTGAGGAAAAAGTT +GCAGTGGGAAAATGCTATTTTTCGCGGAAAATCGAAAATGTACCAAGGAC +ACTTGCGGAACATCAAGTCCTCTCGCCCAAACATCAGTAGAAATGAGGAC +ACGAGTGGTTCCAGCTCTAAACTCCTTCATAACCTCATCACGATCCTTCT +GCTCCATATCTCCATGCATCGATGAGACGGTAAAGTTGGCCTCCTTCATC +TTATCAGTCAACCAGTCCACCTTTCTACGTGTATTACAGAACAACACCGC +CTGAGTGATGGTTAAGGTGTCGTAGAGATCGATAAGCGTGTCGAACTTCC +ACTCCTCCCGATCAACTGCGACGAAGAACTGCTTGATGCCTTCCAGTGTC +AACTCGTCACGCTTCACAAGGATCCGAATCGGATCCGTCATGAATTTACT +CGTCATCTCCAGAATCTCATGAGGAAGCGTCGCGGAGAGCAGCACCACCT +GGGCTCCGGGCGGTAGATAGCGATAGATATCGTAAAGCTGCTCCTTGAAC +CCCTTGTTGAGCATCTCGTCGGCTTCATCGAGCACGAGAAGCTTGATGGC +GCGGGTGCGCAGGTTTCGACGGCGAATCATGTCGAAAACGCGTCCCGGAG +TACCGGAAACCACGTGCTGGCCGTAGTCGAGCTTTCGGATGTCCTCGCCG +AGATTGGTGCCTCCGATACAGGCGTGGCACTGGACATTCATATAGTCGCC +GAGCGCCAGCACGACTTTTTGAATTTGAACTGCCAGCTCTCGTGTCGGCG +AGAGAATCAGAGCTTGGGTCTCGCGGACCTGGGTGTCTAGCGATTGGAGT +ACGGAGATCGAGAATGTCGCCGTTTTTCCTGTTCCGGATTGAGCTTGAGC +GATGACGTCACGAGCCTTGAGAATTGCGGGGATGGCGCGTTGCTGGATGG +CAGATGGCTTTTCGAAGCCGTACGCGTAGATTCCACGAAGCAAGTCTTCT +CTGGAAATCGAAAAAAATTTTGAATTTAGTTTTATATTTAAAGGTGGTGT +AGTCGAATTATTTATTTCTTTATTAGACTCAAAATTGTCTGAAAAAAAAG +TGTACAAAACGAGTAAAATTGGCGACTTTTATCAATTTTCGCCATTTTTC +ATCTAAAAAAATCGACGAAATTCGGAATTTTAAACAAATTTTGACGTAAA +GTAGGTTAAAATTCCAAAATTTTACGGTTTTTAACAATTTTTCCACCTTA +AAGTTGGTGTAGTCGAATTATTTTTTTCTTTATTAGACTCAAAATTGTCT +GAAAACACCGAATTTCATAATGAAACTTCTTGAAAACTGAAAACTTTTCA +AAAAAAAGTTAAGGCCTCTTGAAAAAAGGCCTAAAATTAGTGAAAATTTG +AAATTTGACCAACTTGTCTGTCAAGCGGCTGGAAACAATTTTCTTTGAAA +TTGTCGTCTAATTTTGGGTATACAGGTCGATTACCTTGCGTTTTCAGCTT +TATTTAGGTATTTAAAAGTCGATGGACGAAGAGATTTGTCAAATTTTTTT +CACCAACTATCTTCGTCCATCGACTTTTAATACCTTAATAAAGCTGAAAA +CGCAAGATACGACCTGTATACCCAAAATTAGACGACAATTTCAAAAAAAA +TTGTTTCCAGCCGCTTGACAGACAAGTTGGTCAAATTTCAAATTTTCACT +AATTATAGGCCATTTTTCGAGCCGCCATAACTTTTTTTTGAAAATTTTTC +AAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAAA +AAAGCAATAAAAAAAATTCGACTACACCAACTTTAAGGTGGAAAATTTTT +TAAAAACCGTAAAATTCTGGAATTTTAACCTACTTTACGTCAAAATTTGT +TTAAAATTCCGAATTTCGTCAATATTTTAGATGAAAAAATGGCGAAAATC +GATAAAATTTGCCAATTTTACTCGTTTTGTACACTTTTTTCAACTAAAAG +TAGCGAAAAATCATGTTTTTGATGATTTTCAGCTGAAAATTCAAATTTCA +GGCAAAATTCTGCAAAAAAAGGGTAATTTTTCAGAGAAAATATGGGAAGA +ATTGAAAAAAAAAACTGTTTTCAGCAAGAAAAATGTTTGAAAATTTACCT +TTAAATTTTTAAAAACCGTAAAATTTTGGAATTTTAACCTACTTTACGTC +AAAATTTGTTTAAAATTCCGAATTCCGTCGATTTTTTTAGATGGAAAAAT +GGCGAAAATCGATAAAAGTCGCCAATTTTACTCGTTTTGTACACTTTTTT +CAACTAAAAGTAGCAAAAAAATAATGTTTTGAGGCGAAAATTTGTTTTCA +GCGACAAAATTCTGCAGAAAAAGTTCAATTTGAAGCTTTTCTGGTTATTT +ATAGAGAATTTTCCGTTAAAATCGATAATTCAATACCTCAAGCCCATTTT +GTCAAAAGTTGGGATAATTGAGACCTCCTCAGACGACTCGAACTCCACAG +TCGCCATATCGTCGTTTTTCTTTTTATTTTCCGCCATTTTTGAAGGAAGA +ACTCTGTAAAATCGATAAAAATGAATATTTTCGAGCATTTTTGCAGAGAA +ATTCAGCATTTTTAGGTGGAAATTATCAAAATCAATGAATTTACATCGAA +AAAATCAAGAAAAACGTGTAAAAACGATAAAATTGATTATTTTCGGGCAT +TTTGCAGAGAAATTCAAGATTTTTAGGAGGAAATTAACAAAATAAGTGAA +TTTACATCGAAAAAATTAAGAAAAACCTGTAAAATCGATAAAAAACTAGT +AAAAGAGCAAGATTTCGAATGTTTTCGAAAATACCCTGTTTTTCGAGCAT +TTTTGCAGAGAAATTCAGCATTTTCAGGTGGAAATTTACAAAATAAACGA +ATTTACATCGAAAAAATCAAGAAAAATGGTGATTTATCGGCTATTTTCGC +TCATAATTCGTAGGATTCGATTCGAAACTAAAATTCGAAATTCGAAAAAC +ATGGCCGTGGCCTAGCGTTCCCCTCCTAGTCCACGGCCGCGCACGATTTA +CGGAGAGCACGATTATTGATCGATGACACATGGTTTCCGACTGTTTTTCC +TGTTAAATTTACCCTTAAATCACAATTTTCCATAGAAAATGGGTGGAATT +TTCTCGAAAAAAGAGAAATCACCAAAATCGGCGCCGGTTTCCGATCAGGA +TAATGCGATTTTGGTTTGTTTAATGAGGTTTTTCACATGGAAATTATTAT +TTTTTTGGTAATTCCAGGCGCTCAAAACACAACGGGACAAAATGAAGCAA +ATGATCAAGCGAAAAGAGAATTGTTTGGAGAAGGAACGACAATTGGCAAA +GCAGCTTATAAAGGATGGCCGGAAAGAGTAAGAAATTTCAGAAAATTCAG +TTTTTTTTATTAAAAAAAAAAAATATATATATAAATTTTTAACTAATTTC +AGCCGTGCTTTACTGCTTCTGAAGAAGAAACGCTACCAAGAGAAGATTAT +CGATCAAACCTTGAACCATCTTAGCAAAATCGAGCAAATGGTATTGAAAA +ATCAGAAAAAAATAAAAATTTTCCAGCAAAAAAATCAATAAATTTCCAGG +TAAATGACCTAGAATTCGCAGAAGTTCAACAGCGAGTAACCGATGGCCTT +CGACAGGGAAATGAAGCGCTGAAAAAGATGAATCAACTATTCGATATCGA +TGAAATCGACAGGATTATGGAAGAAACCAAAGAGGCGGCGGAATATCAGG +AAGAAATCTCGAATATGCTGTCCGGCCAGCTTTCCAACACGGATGTCTCG +GACGTTGAGAAGGAATTGGAGGATCTGTTGGCGGCGGAATGGGGCACAGT +TCAACTTCCAGAGGCTCCGAGCCATGAGCTGCCTGAAGCAGAGCGGGAAC +GGCAAAAAGGTTGAGATTTGCCGAGAAAATTCCTAAATTTTCCCTAAATA +AATAATTTTTTTTCAGAAAAAGAGAAGCCACGTCGCGAGAAGATTGCTCT +GGAAGCCTAAATATTGCTTGTTACTGTGAATAAAATAAATTCATTATATT +ATTATATTTTTTATACAATTTTGTCTTACTGGCGTTGTTCTGAACGAAAA +ATTCGTTTAAATAACGCTGTAACAAAAAATCTCATTTTGCGCGTAAAATA +AAATGCCAGTGACGCAATCACCACGACGAAAAATCGCACAGTTTTGGAAA +ATTGCGGTTTTTCAAACTTTTTTTCGCTTTTTTCGGATGCTATTCAAGCG +GCTATAGACTGTTCAAATAGAGATAGAACGGTCAGAAAATGAGAGACATA +GACAAATAAAGAGACAATTTATTGACTTTTTAGGCTATTCTTTGTTGGAA +ACCAACAAATTTTGTGTTCCCAGGCTTTTCTTTGCAAATTCTGAAGGGTT +CTTCTTTGCAGATGCGTCGACGTGTAGCTCTGGACAATGACGAGCATGAT +GGTAAGTTAAAAAATTGGAAAAAAAAACTTTGGTTTCTATTAAATTTTAT +TATACTTATTCCCTTTTTATAATTAAAGGCGTCTAGCTCATTCAAGCTCA +TTCACGACGTTAGTTGACGCATTCCTCCTTGCACGCATGGCCTAGTGGGT +TAAGGCGCTGAACATCACTCAGAAGTCCACAAGTTCAAACCCAACGAGGC +TCCCCCGCTTTTCTAACCCTAGCTTGAGCAATCAAATCGGAACGCGTCGG +AGCTGTCTCGGAGCCAGAAGCCTCATCAAATATTTTGATTGCTTCCAAAC +AATCTATCGCACGTTTGTGCTCCTCATTTCCGTAATGACGTGTGCATGCG +TAAGCTTGATCTTTCCAGTTTTCTAGGTGACTCATTAGAGCAATCGAGTG +AGCAACTCGTTCATTCGGTATTTCATGAGCCAATTGCTATGCGGGACGCG +GGGCTTCTGGAAAAAAATTAAACAAATATTTTTCGTTTTTTTTTCCACAT +GTGTGGATCTCAATTTATTTCTTCTTTTTTTGTTTACCTCATTTTATAAA +ATTCTCCTTTTTTTCTCATTAATTTTTCTGTGGCTTTTTCAAAGATCTTT +TTCAGATTTTCATCTATTTGTTTTAATGTGGAGCAAAATTGAAATTTGTC +TGGTAGATACGGTAGCTTTAAAGGCGCATACTAAATTTAAAGTGACAAAA +TAAATATTTAGTTCCATATGGAATTTCAATTTTTGCTGCCAGGCTGTCCC +ATTACGGTTTGATCTACAAAAAATGCGGGATTTTTTTTGGCCCAAATAAT +GTGACGTCAGTGCGTTCTTAACCATGCGAAATCAGATGAGAACTCTGCGT +CTCAACTCCCGCATTTTTTGTAGATCTACGTAGATCAAACCAAAATGGGA +CATTCTGACACCAGGTATTCGCCGCGGAACCAGTTTTATACCGTATTTCG +TATGCGCCTTTAATTCTACCGTACCCGCTTCTGGAAGTTTGGAAGTTTGA +AAAACTATTAAATAGAATTTATTAATTTTTGCATATTACTTTGTGCAGAA +TACCTCTAAAAATATTAAAATCCAGATAAACATGGTTTTTAAAATGTTTT +GCACAAAAAGCGATGATTTCGCTTCGAAGCCACTTTTATAAAACGCCTTG +TGCGCCTTTAATTCCACCGTACTCGCCAAAATTAAACTGAATGAGCGAGT +TTTGAACTAATTTTTACGAAAAAATCACGTTCTGATCGGTTCTGGTCTTC +CTCTAAAATCGGTTCTGGTCTTCCTCTTTGAATTTTCGCGCTCCATTGAC +AATCGCCTGCCGGACTGGGAAAGCCGTGTACTCCACACGGACAAGTACAT +TTAGTTTTACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTA +AATCTACACCAGATATGACCGAGCCAAAATGGCCTAGTTCGGCAAATTCT +TCCATTTCAATTTATGAGGGAAGCCAGAAATTCGTGTATTTTTACAAAGA +AATGTGAAAAAGAAGCTAAAATTTCAATGAAATAGAGATTTTTCCCGGAA +TCTCACAGTTTCGCAAAATACTATGGATTAAAAAACGCTGAAACCCAAAT +TTGCGCGTAAAATTCAATGTATAGCGAACATTCACGGATTTCTGGCTTTT +CTCATATATTGAGATGGAAGAGTTTGCCGAACTAGGCCATATCTGGGGTA +GATTTACGGCGCGTTGCGTGTCGCGTCACGGCTCGATTTTAGTTGTGAAA +CTAAATGCATTTGTCCGTGTGGAGTACACGCGTTGTCCGGCGGGCGATTG +TCAATGGAGCGCGAAAAATTCAATATGGAAGGCCAGCACCCCGTGTTAAC +ATTTAAAAATTACAAGATTTGCCCCCTCAAACATCCCTGGAAAAACTAGA +AAAACCTCGTGTGCTTGCCTGACAACAGCTGTTCACCGACAAAAAGATGA +CGGGGAGGGCTTCAACAGAGCTTGTGTTTCCTCGTCAACTCTTTCGAGAA +CTGACAGCACTTTTCATATAACTCATCACTAACTTTCGCTGCTCGTGGCG +GTTTTTTTTAGTTCCCCAGTAATGAGTCAATTTTGTCTGTTGCTCAGAAC +TCTCAATTACCGATGCTATTAGCGGAAGGACTTTTGGAGCGCCGGAGCCA +GAGCAAAATTCATTTTTATTTGAAAAATGAGTGATGAGTTTTTCTCTCTG +TTTTTCCATGTTTTTCTCGTTATTAGGCTGTAACTTTCCACATACACTTG +GTGTCAGAGAGTCCCATCACGGTTTGATCTACAATAAAAGTGTGACGTCA +GCACGTTCTTAACCTTGTGACAATAGTTGAAAAATCTGCGTCTCGTTTCC +CGCATTTTTGTAGATCACACCGTGATGGGACTCTCTAACACCACGTACAC +ATGAAAATTTCGCTGAGAACAAATTTTTGCGCGTCAAATCTGATGTATCC +GGACTGTACCGATATCAATACATCGAATTTGACGCGCAAACTCCGTTTTC +ATGGGGAATTGTTGAAAAAATTGTTTAACTTCCGGAAAATTAACATTTTT +CAGAGAAAATCAAAATTTTTCTGTTTTTCCTTAAATTTCTAGGAAAATTG +TAGCAGATTTTGTTGAAAAAATTCAAATTTCCACTGAAAAAAGTGAAAAA +AGAAGACGATGTGTAAGCCTAAGCCTAAGCCTAAGACTAGGTCTAAGCCT +AAGCCTGAGCCTATGCCTCAGCCTGAGAATAAGCGTGAGCCTAAGCGTGA +GCCTAAGTCTAAACCTAAGCCTAAGCCTAAGCCTGATCCCAAGCCCACAT +GGTGCCAGGCTGACCCATAACGGTTTGATCTACAAAAAATGCGCGAAATT +TTTTGCCCAAAAAATTTGACGTCAGCGCTTTCTTAACCATGCGAAATCAG +TTGAGAACTCTGCGTCTCTTCTCCCGCATTTTTTGTAGGTCTACGTAGAT +CAAGCCTAAATGGGACACTCTGACACCACGTGAAGCCTAATCCTGAGTCT +AAGCCTTATCCAATTTCCGAAAAATCAATAAAAATGCAAATAACATAGAT +ATTCCCGCCTAAAGTTCAATAAATTATTTTTTTTTTGAAACTTTTTTCAA +AACTTGCGAATGCATAGTACCAAAAAACGCCATATTTGACACGCAATTTT +TGGATTGACTTTTTTTTGAATTGATATGTCATGAGCATCACTCAAGTGGT +TCCAAAAAGGCGTCAAGTACTTGAGCCCTCCCTGAGCCACCACCGTCTCC +AGAGAGCAGCCGAAACCAAAAACAAATAGGGGGAAAATGAACAGTTCTCT +CTGTTTCAAAATCTATATATTCCTGTTCTTTGTATTATCTTCCGTGCGGC +TTCAGCCCTCTACTGCTGCTCCAATTCTTTTCCATGTTATTTACCGTACC +GATTAGACGAATGAACAGGACCCCCTTTTACCGTTCAACCGATGAGCCAA +TGTGCTCTTTGTTGGCTAATTTGGGTGTTTTGCTCATTTGGAGGAACACT +AACTTCCCTCTCTAACTACACACTACGTGGAAGAGTTTTTTCAGATTTCT +AGGCCTCGCAACTTTCCTTGGTGGCCCAGAAAAACGCTTAAAACTTCAAG +GTCAAAACGTTCATTTTTGTTGAAAAAAATCGGTTTTTACTTGAATTTTT +GTAAGTGGAAGAGTTTCCTAAATTTCTAGGCCATGTGCTTTTTCCTGCTT +ATCTGAAAATTTTGTTCAAATTTTCTTTTTTCACTTAAATATTCCCCGAA +AATCTTGTCCACAAAAAGAAATTTTTGAACATTCAGATCATTTTTTTAGA +ATGGAAGAGTTTTCCAGATTTCTAGGCCACATGGCTTTTCCTGGTGGCCT +AGAAAATTTTCTGTTGGAAGAATCAGGTTTTTACTTGAATTTTCGTAAGT +GGAAGAGTTTTTTACATTTCTAGGCCACGTGATTTTTTCCTGATGGTCTA +GGAAACTTGTTTTCTCTAATTTTCCCCGATTTTGGATAATATTTGTTTAG +TGGAAGAGTTTTCAGAAATTCTAGGCCACGTGGTTTTTTTTGGAAAAGAA +ATATTTAGATCACATTAACATGTACTTTTATCAGATTTTTTGCCAAAATA +CCAATTTTACAAGCTATTTTTTTGTTATATGTAAATTTTGTGGAAGAGTT +TTTAAAATTTCTAGGCCACCTCTAGATGCACGTGGTGTCAGAGTGTCTCA +TTTCGGTTTGATCTACGTGGATCTACAAAAAATGCGGGAGACGAGACGCA +GAGTTCTCACCTGATTTTACATGGTTAAAAACGTGATGACGTCACATTTT +TTGGGCAAAAAATGCCCGCATTTTTTGTAGATCAAACCGTAATGGGACAG +CCTGACACTACGTGTACGTGCAGATGGCCTAGAAATGCTAAAATCTGTTT +TTTAAATGTAACTTTGAAAGTGAAAGAAACAATTAGAAACAAGTTGGCTG +TCGCCCCCAAAAAGTCTGTTCTGGCTATGTGGTCGCGAAAAGAGAAAACT +CGGCCACCAATTTTTTTCCACGGCCAGATCTATGACGCTATGACGTCACA +TTATCAGCTTGTTTCCGATTTACACACACATACACGTACACTTTCTCCGT +ATCACTTTCACTGATAGCTTGAAACGAGATTAATCATCATTCCAGCTATT +CTTTTTTATTTATTAGGTTAATGCCACTACTACTATTATTTTTTCATATT +AAAAATACAATGAACTATGTAGACATAAATTCAAATGAGATGCCAAAAAG +TGAGTTCGAACTTGTGGAAAATGTGTGTTTTTTAATAAATTTTTCAAAAA +TATAGTAAATTTCTGAGAAATTTTGATTTGAATTCCCGCCAAGCATTTTT +TTGAAAATTTTGAATTTCCGCCAACCATTTTTCCTTTTTTTTCAGAAAAT +GTGAAAAAATTTTCTAAGCAAATTTGAATTCCCGCCAAGATTTTTTTTGA +AAAAATTTCGAACTCGCGCTAAAGTATTTTCTAATAGCAGGATTATTGGA +ATCCCCGCCAAAACATATTCTCAGAAAATTTGAATTTCCGCCAAAACTTT +TTCTGATAAAATTTAAATTCCCGCCAACCATTTTTTCCTGAGAAAATTGG +AAGAACATATTTTCAGTGAGAAAATTTGAAAATATTTTTTTCAGAAAGTT +TGAATTCCTGCCAAAACATTTTCTAAGAAAATTTGAATTCCCGGCAAAAC +TTTTTCTGATAATTTTTTGAAATTCCCCGCAAAAATTATAGTAAATGAAG +ATGATTTGAGCAAAGTTATGACGTGGCCGCGGAAAAAATTGATGGCCTAG +TTTTCTCTTTTCGCGGCCACGTAGCCAGAACAGACTTTTGGGACCGTACA +ACCAACAAATATTTCTTCCCCTTTCAAAAATACATAAAAACCAGATTTTG +ACATTTCTAGGCCATCTAGAGGTGCCTCGTGGCCTAGAAATTTGAAAAAC +TCTTCCAGAAAATTTGTTCTGTATTTCTTGAAAGTGCTCCAACAAATCTG +TGCAAATTTTAAAAACGTTTCAAAATATTTATTGAATAAATTCTTTTGTT +GCACAAAGAGGTATCAAATCAGACCACCAGATTCGACCGTTGATCATTGT +TTCAGTTGATAGGTAGGCAGGCGTGGTTGCCTGAAACCTGCCGGCCTCAC +GCTGGGCAAGAGGCAGGCCGCCTTAATGTCAGGCAGGCAATGCCTACATG +CAAGCCCTACTTCTACGATTATCTCGAAATTTAGCGAGTTTTTATTTGTC +CAAAAAAAATCGCAACTGAACAACATGAAAAAGCCGCCAAAAACTTTCAT +AAAATTCTGTCCGTAGTTTGCCGTTTCTTGCGTCTCATGCTTAATCCCTA +CTGTAATTATGCTGAGATTTTCGATCTTTTTCACTTTTTGAAAATTTTTG +GCAATTCTTTTTAAGTTTGTTGAGATTGTAACTTATGACAAACAGTAACT +AAAAAGCGTGGCCGCCAAATTTTCTAGGCCATCAATATCAGTTGCGTCAT +TTCTTCACCATACTGGACCGAGAAATATTCTAGGACATGTGTTTGCGTCA +TTCCTCTTCCATTCCTAGTCCCAAAAATTCCAAGACCACTGGTAAGTTTG +GCCGAGAAATATTCTAGGCCATCGATGTTAATGACGCCATTTCATACCCG +AATTGGCCACTAAAATTCTTAGGTCATCAGTGACGTCACACCTCTTCCAA +GCCTTGGAATGAGCATTTCTAGGCCCTCTAATCTAGGCTTGGCCGTCAAA +TTTCCTAGGCCAGGTGACGCCATCCCTCTTCCATGCTCGACCACTAGGTC +AAATGACGTCACTTCTCTTCCACCTACCGCACTTTGATTTCCTAGGCCAC +CATGTGACGTCACTTCTCTTCCATCTAGGTTTCCCATGCCCTTCTCCTCT +CACGTGGTATCAGAGTGTCTCATTTTGGCTTGAATACGTTGATCTACAAA +AAATGCGGGAGAAGAGACGCAGAGTTCTCAACTGATTTCGCTTGGTTACG +CACGTGCTGCCGTCACATGTTTTTGGGCAAAAAATTCCCGCATATTTTGT +AGATCATACCGTAATGGGGTGTCCTCTTGTTAAATATCGAAATTTCACTC +AAAAATTTTGAACGTTGAGCTTTTTGTCTCTGGTCAATTGGTCAGCCGCG +CAGTGTTCCGGTGTTTGTGCTCATGTTTTCGTGTGCACATTTGTGCTGCT +GCTAAGGCGTATTTTGTTCCGGGCGGGGACAGGGGGGAGAAGCAAAAATG +TGTCAAATTTTGTTTGTTTTGCCATTGATATTGTCCTTCTGCTCAGAGGA +TTTCCTCATTTTACGCCGTATGTGCAAAAGCATAATCACCACAATAATTT +TGAATATAAGTTTGCAAACGCGCCCTATTGATAATCCTCGCCCGTGTAGT +CTGCGTGCACGTGGTGTCAAAGTGTCCCATTTTGGTTTGATCTCCGAGAA +ATGCGGGAGAAGAGGTGCAGACTTTTCAACTGATTTTGCATGGTTAAGAG +TGTGCTGGCGTCACGTTTTTCTGGGGGCAAAAATTCCCGCATTTTTTGTA +GATCAAATTGCAAAGCGCCCTATTGATAATCTTAGCCCGTGTAGTCTCTT +GTTTAATTTTCAATTTTTCTGGTTCGGCACCTAAACTGTAACTACGACAC +TCGGCAAAGTTAGACTGTTAAACTCCGCCCACTTAATGGCACCTTTTTTG +CAGAAATGTACCCAACCGACAAAGAGCAGACACGGACCACATTTGAGACG +AGAAGTCGGCGGAAACGGCTGGCGCAGGTCGCCGCCACAATTGCTAGCGT +GATATTACTCTTGTTGGCAGGTAAGTAAAAAACTACGACACTCCGAGACC +AAGAAAAAAATCGATAATCGAAATATTGAAAATTGCAAAATTTATTTCGC +CGGATCATTTTCCATATCGATTTTCTGAATGGTATGGTGATAGCAATCCT +CATCGTAGGCACATCCCTGGTGAACCACGTACTCTTGACCTGAAAAATAG +GTTTCGTTCGGTGGAGCACATTTGCATACACTGACCTTTAATCGGGTGGC +GACACGCTTTACACTTGAAACATGCCATATGCCAGTGGACATTGAACGCC +GACACGCATCTCTCAAAAGTCGGCAATTTGCACGCGTGGCATTTTGGTGA +CTTGGCCGCCCGGTGACAGTCCGCGCAACGGAGCGCGTTACCGTACGGCG +CGGGCATTGGATAACACGGAGTCATGCCAATGACTGTCTGGAATTTTGGA +GAAATTTATTGATTTTTTGACGGAATTTAATGAAATAAGGAAAAATCAAT +AATCGACATATTTATTTCGCAAAAAAAAAAAAACATTATTGATTTTCACG +GATTTCTGTCTTCCTCATAAATTGAAATGGAAGAGTTTGCCAAACTAGGC +CATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCG +CGTCGCGGCTCGGTTTTTGTAGTAAAACTAAATGTATTTGTCCGTGCATG +GAATTCTGGCTTCCCTCATAAATCGAAATGGCAGAGTTTGCCGAACTAGG +CCATTTTGGGTCGGAGAGATTTTGTGTAGATTTACGGCGCGTTGCGTGTC +GCGTCGCGGCTCGTTTTCAATTGTAAAACTGCTGTATTTGTCCGTGTGGC +GTACACAACACTTTTCCACGCGCTGTCCGGCAGGCAATTGTCAGTGGAGC +GCAAAAATTTAATTAGGAAGGCCAGAACCCCGTGTCCGTGTGGAGTGCAC +GACTTTCCCGCGCGTTGTCCGGCGGGCGATTGTCAATGGAGCGCGAAAAA +TTCAATGAGGAATGCTTTTTGCAAAAACAAATTACATAGGCTTCTGGCCT +TCCTTATTGCATTTTTCGCGCTCCATTGACAATCGCCTTAAAGCAGGGGA +GTGTGTGTGTGTGTACTCCACACGGACAACTTAAAATGAAAACCGAGCCG +CGACGCGACACGCAACGCGCCGTAAATCTACTCCGGCCGTGGCCGAGTCA +AAATGGCTTAATTCGGCAAATTCTTACATTTCAAAATATGAGGGAAGCCA +GAAACGTGTGTCACATGTTATAAAATTAATTTTGAAAAAAAATTATTAAA +TTTCGCAAAAATAAATTATCGCTTTTTGTAAGAATTTATCGAATGAATTG +ATTAAAAATTTATCGAATTTTAGCGAATCAGAAAATATCGATTTTCACTA +AGAATTTATCGAATTTTTCGATTTTCGCTAAAATTATCGATTATTGCAAT +GTTTTACCTGACAAACCGAGCATTTCAGGCATGAAATATGATACATCTCG +TCTTGAATTTTGATCACTTTTCCCTGCAAAAATCGATATTTTCAATTGAA +TATATTTCCAAAAATGTGCTCACAGTTTGAGCTTCTTGACGAGTCAGCGT +TGTTGTGCAGCCTTTGCAATGGATATTATATGGAAGAACAATCTTTTGGA +GACGTTTATTGTTCGACGAGAACAACATTTTTCGAATTTTTGAAATGATT +AATTTAAAAATTTAAAAAGGAGAAAATTGAAGAGAAACGTGGGAAAACGT +ATTGATTTTTCAAAATTTTATTGATTTTATAATCACGGGGTTCTGGTCTT +CCTCATTGAACTTTTCGCGCTCCATTGACAATCGCCTTCCGGACAACACG +TGGGAAAGTCGTGCACTCCACACGGATAAATACATTTAGTTTTACAACTA +AAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAATTTACCCCAGATA +TGGCCGAGCCAAAATGGCCTAGTTCGGCAAACTCTTCCATATGAGGGAAG +CCATAAATCCGTGTATAATCAAACGCGCAATTTAAAAAAATCGGTAGTTG +AAATTTATCGATTTTCCCTCGATCTTATCGATTTTTTAAAAGACTTATCG +ATTTTTATCCAAATTTATTATTTGAAAAATCAACGTTTATTGATTTTTGT +CATGATTTATCGATTTTCTCAAGAGATTATCGATTTTTGCTGTCGATGCA +CCATGTGCAAACTTCGCCACGTTTTTTCGCGGCGAGACCCAAATTTTTTG +AATTTTCAGTTCTCGGTCTGGTATACGGTAGCTTCTACCTCTACCGTCGA +TATGTGACAGATGCAAATGATAAACGGGATAATGATGAATATTTGCGAAA +ACTCGTTCGTCAAGTCAATGACTCGCCGGAGACCACGTGGAAAGCCAAAT +TCAATAAGTTTGGTGTCAAAAATCGATCTTACGGATTCAAATATACGAGA +AATCAGACGGCGGTCGAGGAATACGTGGAACAAATTCGAAAATTTTTCGA +GTCTGATGCGATGAAGCGGCATTTGGAGTGAGTTAACTCAAATTTGAGCG +GGAAACAACGATGCTCCGCGCTCTCGCCGCATGTAGTTTAGCGCGTAAGC +TGTGATGCATACGATAGTCCTGCAATGCATCATATTTTACACGCAAATGC +AGAAATTACCAAATTTCGAGAAAAATCTATATTTTCCTTTTAAAAATTAT +CGATTTTTTAAACAAAACTTCTGAATAATTGGATTTTTCCAGAAGTTTTA +AAAAGTTTTGGGTACAATTTTAAAAAGACAGCAAAATGTTCGTAAAACAC +CAGGAAAGAATTTTGCGCTTAATATCTGATGCTTCGTAAACTCCACGGGC +TTCCGGCCTTAAAGCCGAGCTACGCGCCGTAAATCTACCCCGGCCGCAAC +GCGCCGTAAATCTACCCCGGCCGTGGCCGAGCTCAAGTGGCCTAGTTCGG +CAAAATCTTCCATTTCAAAATATGAGTGAAGCCAGAGGCGCGTGAATGAT +GACTTCCACACGGTTCGGTAGAGCGCATTTACACTTATGTACCCTTTGCC +GGGCTGCGTTCAAAACCTAAAAATTTGAAATTTTGCGCGTAAGATCTGGT +GCATTGGGTTCTGAATTATTTCGACAAAACATGGTGCATCATCCCAAAAA +TTGCAATTTTGCAGTGAACTTGAGAACTTTAACAGCTCCGATGTTCCGAA +AAACTTCGACGCTCGTCAGAAATGGCCGAATTGCCCGTCAATCTCGAATG +TTCCAAATCAGGGAGGATGCGGGAGTTGCTTCGCGGTCGCCGCCGCCGGT +GTCGCCTCCGACCGTGCCTGTATTCACTCGAATGGAACTTTTAAGTCACT +TTTGTCCGAGGAGGATATTATTGGATGCTGCTCGGTGTGCGGAAATTGTT +ACGGCGGAGATCCACTGAAGGCCTTGACCTATTGGGTTAATCAGGGACTT +GTTACAGGTAAGCGGTGACGTCATAGGTGGCCTAGGAACCTTTGATCTAC +AATGTGATTGAATTTTATATCACGCAATTTGTAATAATTTCTAAAAAAAA +TTATCGATTTTTCTGAAAATTAACTTGTTCCAAATTTTGAACGAATTTTC +TAGAAGATTTTTGCAATTTATCGATTTTTGCAAGCTATCGATTTTTCCCG +CAAACTATCGATTTTTCTAGAAAATTATCGATTTTTCTAGAAAATTATTG +ATTTTTCTAGAAAATTAACGATTTTTCTAGAAAATTTTCGATTTTTCTAA +AAAAAATTATCGACTTTTTTCTCAAAAGTATCGATTTTTGCAATTTATCG +ATTTTTTGAAATTTATCGATTTTCCCTGCAAATTATCGACTTTTTTGAAA +ATAAGCTTTCCCCAAAAATTTGAACGAATTTTCTAGAAATTATCAACTTT +TGCAATTTATCGATTTTTTTTTTGCAATTTATCGATTTTTTGCAAATTAT +CGATTTTTTGCAAATTATCGATTTTTCCAAACAATAACGATTCTTCTAAG +CCCGTGGAAGAGTTTTTCGAAAACCTAGGCCATCTCTATTTCCAGGTGGC +CGTGACGGTTGCCGTCCCTACTCGTTTGACCTGTCGTGTGGAGTCCCGTG +CTCGCCGGCCACGTTCTTTGAGGCCGAGGAGAAGCGAACATGTATGAAGA +GGTGTCAGAATATCTATTACCAGCAGAAATATGAGGAGGATAAACATTTT +GGTTAGAGATATTTTTTTTTAGAAAAATAGAGAAAAATTTCTGGGATCTA +TTCAAAAATGGCAAACTTTTTGGAAATTATCGATTTTTTCCGGTAAATAA +TTATCAATTTTTTTCTCGGAAAATATCGATTTTTTCGGAAATTGACAATT +TTTTCGAAAATTATCGATTTTTTCCGTTAATGATCGATTTATTCGGAAAT +TATTGATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATTTTTT +CCGATAATTATCGATTTTCCGGTAATTATCGATTTTTTCCGATAATTATC +GATTTTTCGGATAATTATCGATTTTTTCCGATAATTATCGATTTTCCCGA +TAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTATCGAT +TTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGATAAT +TATCGATTTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATTTT +CCCGATAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTA +TCGATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCG +ATAATTATCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGA +TTTTTTTCCGGAAATCATGAATTTTTCCAATAATTATCAATTTTTTCCGA +TAATTATCAATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATT +TTTTCCGATAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAAT +TATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACTTTT +CCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTTCGATAATTA +TCGACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCG +GTAATTATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGA +CTTTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTCGATA +ATTATCGACTTTTCGGGTAATTATCGATTTTTTCCGATAATTATCGATTT +TTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGATAATTA +TCGATTTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATTTTCC +CGATAATTATCGATTTTTCCGGTAATTATCGATTTTTTCCGATAATTATC +GATTTTTCCGATAATAATCGACTTTTCCGATAGTTATCGATTTTTCCGAT +AATTATCGATTTTTTTCGATAATTATCGACTTTTCGGGTAATTATCGATT +TTTTTCCGGAAATCATGAATTTTTCCAATAATTATCAATTTTTTCCGATA +ATTATCAATTTTTCCGATAATTATCGATTTTTCGGATAATTATCGATTTT +TTCCGATAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGTAATTA +TCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACTTTTCC +GATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTTCGATAATTATC +GACTTTTCGGGTAATTATCGATTTTCCCGATAATTATCGATTTTTCCGGT +AATTATCGATTTTTTCCGATAATTATCGATTTTTCCGATAATAATCGACT +TTTCCGATAGTTATCGATTTTTCCGATAATTATCGATTTTTTTCGATAAT +TATCGACTTTTCGGGTAATTATCGATTTTTTTCCGGAAATCATGAATTTT +TCCAATAATTATCAATTTTTTCCGATAATTATCAATTTTTCCGATAATTA +TCGTTTTTCCCGATAATTATCGATTTTTCCGATAATTATCGATTTTTCGG +ATAATTATCGATTTTTCCGATAATTATCGATTTTTCCGATAATTATCGAT +TTTTCCGATATTTTTTTTCGGAAATGGCTGCCCCATCGCGGTTTGATCTA +CAAAAAATGCGGGAATTTTTAGCCCAAAAACATGTGACGTCAGCACGTTC +TTAACCATACGAAATCAGTTGAGAACTCTGCCGCATTTTTTGTAGATCTA +CGTAGATCAAGCCGCAATGAGACACTCTGGCACCAAGTGTCTGTAATTGA +CTTCACGGAAGAAAATATATTTTTATTTAATGCGCAAAACTAAAATTCAA +AATTTCGTTTCGACCAATACACCATATTTTAAGCGCAAATTTCAATTCAA +ATTTTTGCAGCAACCTTTGCCTATTCAATGTATCCCCGCTCAATGACAGT +ATCCCCCGATGGAAAGGAACGAGTAAAGGTGCCAACAATCATCGGTCACT +TCAACGATAAGAAAACCGAGAAGCTGAACGTGACCGAGTACCGTGACATC +ATCAAAAAAGAAATTCTACTTTATGGTCCCACCACGATGGCGTTCCCAGT +TCCCGAAGAATTCCTTCATTATTCGAGCGGAGTGTTCCGCCCGTATCCAA +CTGATGGTTTCGACGATCGAATTGTGTATTGGCACGTGGTTCGATTGATC +GGATGGGGAGAATCAGATGATGGAACACATTATTGGTTGGCTGTTAATAG +TTTTGGTAACCATTGGGGTGATAATGGTGAGTTTTCGTGCAAATTGCGCA +CGGCCCGGCAAATGGTACATCCATACAAATGCGCTCCACTGATAATTTGA +GTTTAGCCAGGTTTGGGCGCGTTTTAAGGAAAACGCCTTGGTCCAAAAAA +TTTAGAATTTGATTTCGGACATTTTTTATATGCATCACAAAAATGTTGGA +CGAGCCGTTTTTGAGAAAAAGCCCAGGTATACGGTAAACAAATTGCGTAC +AGGTGCCACTTCCCGGGCCGTGATGCGCGTTAAATATAGTGCTTTTTAAG +AATGCGTGTTGCGCAACATATTTGACGCGCAAAATATCTCGTAGCGAAAA +CTACAGTAATTTTTCAAATGACTACTGCAGCGTTTATGTCGATTTACGGG +CTCGAAAAAAAAGTTACAGCGATATTCCATTTTTTCTCATTTTTTGCTTA +TTTTTATTTAGTATTCTCACGGTGTGTCATTCTGTCCCATAACGGTTTGA +TCTACAAAAAATGCGGGAATTTTTCGCCCAGAAAAATGTGACGTCAGCAC +GCCCCTAACCATACGAAATTTGTTGAGAAATCTGCGTATAAATTCCCGCA +TTTTTTGTAGATCACGCCGAAGTGAGACACTTTGACACCACGTGTATTCT +ATCTAAAAATAAATTATTTCAAAAATAGAGCCCGAAAAAAAAAATCGACA +AAAGCGCTACAGTAGTCATTTAAAGAATTACTGTAGTTTTCGCTACGAGA +TATATTGATATTTTGCGCGTCAAATATGTTGCGCAGTACGCATTCTTAGA +ATTTTGTGTTGCCGTAAATAAATTTGGACGTCAAATACAGTGCATATTGC +GGTCGATCGGCTACAATATATTTTGCGAGCAAATTTGGAAGTTTTGCGCG +TCAAATATGATGTAGCCGATCGGTCATGTTACAAAACACCATATTTGACG +CGCAAAACTTTAATTTTGGACAAAAAGTCAGAGAATTAGTATTGCGTAAA +AAACTGGCAATTTTTTTCAGAACATTTCTGAAATTTTCAATATATTTTCA +AACTTTTCGCGTCAAATATGGTGCATCAAGTCGCGAACCAAATACACTCT +AACACGTAGTGCCAGGCTGTCCCATTATAGTTTGACCTACAAAAACGCGG +GAATTTTTCGCCCAAAAAAATGTGACGTCAGCACGTTCTTAACCATGCAA +AATCAGTTGAGAACTCTGCGTCTCCTCTTCTCCCGCATTTTTTGTAGATC +AACGTGATTCAGGCCGAAATGTGACACTCTGACACCACGTGGCCCTAATT +AACTCGTAAAAATCACCGTTTTTTTTCCAGGACTCTTCAAAATCAACACA +GATGACATGGAAAAATATGGTCTAGAGTATGAAACAGCAGTCGTCTAATT +ATAATTCGGCAAAAATTTTTTGTAAATAGTTAAATATTGTCCACCTATTT +CATCCCCACCCGATTGCATCTCAACTTGTCCCATTTCCGAGAAAAATCAA +TTATTTATTTTTATTCGGCCATCATTTATTAGCTCCCTCATTCCATAGTT +TTTTTTTAATTAGATTTTTTTTGGATGCTAAAATTTGCCATTCTCATAGA +CATTTTCAATATTTGTGTAAAATAAATCATTTTTCTGGTCTTCAATTGAT +GGAAAAAAACAAAAAAACAATGCGCGTCAGGTTTGGTGTATTGTGTGCAA +ACACCGAGCGCATATTTTGAAATTTATTTTTTTTTCGAATTTATTAAAGT +TGCTGATTTTCTTTAATTTCAGGCTTAAAAATGTCGGATTTTGTGCCAGA +AACCGAGGAAAATGAAGAAGAATCTCAAAAAATCGATGAAATCCATGAAA +TCCCAGCTCAAGCAATTATCATCGACCAAAGTGAGGAAAATGCTGACTTT +ATCAATTTTCAATTACTTTTTGCATTTTTTCTAGGTTTTTCTCGACGATT +TCTCAACAATAAATGGTACGGAAAGTACGGCGAAGATGGGGATCTTCTGG +AGCACATCGACGAGGACTGGGAGCCCGTAGGCCTCGACGAAGTGGAATTT +CTGAGCCAACTGTGGTTTGAGCAGGAGGATCAGGAGAAAAAAGCTCATAG +GCACTATGATTGGGATGAAGAAAAGAAGGAATGGGTGCCGAAGGCCAAGC +AGGAGGAGGTCAATGAGGATTTTATCGCAGAATATCAAGCGAATTACGGG +GTTCAGTATGATGATATTTATAAAAAAATGGACGAAGAATTGCAAGAAAA +AGCGGCAAAAGCTCAAAAAGAAGATGAAGAGAAGAAGGAGAAGAAGCGGA +AGAAAAAAGTTGGCTTGGGAGCCGGGGAAGACGCTAAAGAGGGCTGGCTT +GACCTAGGAGATAAGGTTCATGCGGTTTATGTGTCAAATCTTCCGGAAGA +TATTACAGACGAGGAATTCCAGAAATTTATGTCAAAATGTGGAGTTATTC +AGCCGGATATTCGAACGAATAAGCCGAAATGCAAGCTTTACCGGGAGGAA +AACGGCAAACTCAAAGGCGACGGAAGATGTTGTTATATTAAGAAGGAATC +TGTCGAGCTTGCCTGTAACATTCTCGATGGAGCGAACTTAAACGGGCGGG +AAGTGAAGGTTGAGGAAGCTCGATTTGAGATGAAGGGCGATTTTGATCCG +GCGAGGAAGCGGCGGAAATTGACTGCGGCGCAGAAAAAACGATATATGGA +GCAGCAGAATAAGTAATAAAAAATATTTGGTGAAATTTGAAATAGCTCGT +AAATCGACATTAAGCTGAAAAAATGAAAAAAAACCAAAAAAAATCGTATT +ACGGGAACACAAAATCCTGAGAATGCGTACTGCACAACATTTTTTTTTTT +TTTGACGCGCAAAATATCTCGTAGCGAAAACTAAGACTACTGTAGCACTT +GTGTCGATTTACGGGCTGCTCGATTTTCGAAATGAATTAAAAGAATTTAT +TTATGTGATATTGAAATTGGGCAAAAAATAGGAAAATAATACAAAAAAAT +CTAAAAAATTTATTTCAATAATCGAGCCCCCGTAAATCGACACAAGCGCT +ACAGTAGTCATTTAAAGAGTAGTTTTCGCTACGAGATATTTTGCGCGTCA +AATATGTTGTGCAATACGCATTCTCAGAATATTGTGTTCCCATAATATAT +CGACGAAAAAATTGGCCCAAATCGTGGATTTTTGTCCGAATTTGATGACA +AATGGCTTTGAAAATCACAAAATTTCAGAGAAAAATTTCGATTTTTGGTT +TAAAAAAACAAAAATTGAAACCCAACAAAATTGTTAACTTGAAAACCTGC +TGAAAATCTTAGAATTTTCAGATTTCACCCAAAAAATACCAGATTTAACT +CGAAAATTGCGAATTTTAGGCCAAATTCCTTGCATTTTTCATAGAAAAGA +TAAACTAACGACACAAAATCAAATGAAATTGACTAAAAAACTATTGAATT +TTGTAGAAAAATCCCGATTTTTGCCTAAATTTGCAAAAAAAATATTTTAT +TTTAGCATTTATTTTTCTTAATTTTCACACTAAAAATTACGAAAAAAGAC +AAAAAAAATTTTTTTCATTCAACAATTTTTTGGGCTAAAATGTGTAATTT +TTGCGGGAAGAATTCGAAAAATTATTAAAAATCGTAGAGACTAACTGAAA +ATCAATTTTTTAGGGACCAAAAAGCCAACTTTTGCCGATTTTACTCAAAT +TTTTCCGTGAAAAATCCGGAATTTTTAAATATTATTTAATTGCGAAATTT +TACAATTTTTACACCTAAAATAAGGGTAATATGGTAGCTGGTCTCGACAC +GACAATTTTTTTGTTAAATTCTAAAAAAGGTGTGCGCCTTTAAAGAGTAC +TGTAATTTCAAACTTTATGGAATTTTTTTTTGATTTTTCAAATAAACTAC +GAAAAATCGAAGAAAATTCCACAAAGTTTGAAATTACAGTACTATTTAAA +GGCGCATACCTTCTAGAATTTTACAAAAAATTTGTCGTGTCGTGACCGGC +GACCGTATTACCCTAATTTTTGGTGTAAAAATCGTAAACTGTCCGGATTT +TTCACTACGAAATTCAAATTCGAGGAAAATCGAAAAAAATTGGTTGTTTT +GGTTCCTAAAAAATATATTTTCAGTTATTTTCTACCATTTTTTAATAATT +TCTCGAATTTTTCCCTCAAAAATTACAAATTTCAACCAAAAATTCTGATT +TTTCCTTTCCAGAATCTTCGAATGGACGCCCGATAAGCCACGTAACTACC +GTCCAAAGTCGGACTGTACGGTTATTGTCAAAAATCTGTTCACTCAGGAA +ATGATGAACAAGAATGCGGCGTTGATGTTGGATTTGAAAGAGGAAATGAC +ACAAAGTTGTCAGAAATATGGAATTGTTAAGAAAGTCGTCGTTTATGCGG +TTGGTATTGAGGAAATTTGTGGAAATTTCGATTTTTGTAAAAAAAATTTA +TTCTAAAAAAATAAATTAAAAAAAAAAGATTTAAAAAATTTAAAGCTAAT +TTTCGAAAAATTGAAGCTAATTTTGGAAAAAAAACCGAAAATTTTTTTTT +TTAGAAATGTCGATATTCATAAAAAAATATTCTAAAAACGGGATCAAAAA +TTTTTGAAGCTATTTGTCGGAAAAATTTTTAAAAATGTAAAGCTAATTTT +CGAAAAAAAACCCAAAATTATTGGATTTAACAAATTTTCAAAAAAATTGT +TCTAAAAAAGATAACCTTTAACATTAAAAAAATTATGGCTATTTTTCGAA +AAATTAAAAAAAAACAATTTTTAGCTAATTTTCGAAAAAAAACCGAAAAT +TTGTGGAAATTTCGATTTTCAAAAAAAATTTATTCTAAAAAAAAATAAAT +TTTTAACATTAAAAAATGGCTATTTTTCGAAAAAACCGAAAATTTTTGGA +AATTTCGATTTTCGAAAAAAAAGTATTTTAAAAAAACAATGAGAAATGGT +TATAAATTGTTCTTTCAAAAATTTTTTACAGCTTTTTTTTTCGAGAAATT +TAAAAAAAAAACAATTTTTAGCTAATTTTAAAAAAAGTAAAGCTAATTTT +CAAAAAGAACCCCAAAATTGATGCATTTATCGATTTTTAAAATAAATTGT +TCAAAAAAAGATAAATTTAAAAAAAAAGTTATTGGATTTTTTAAAGTTAT +TGGATTTTTCAATTTTCAAAAAAAAATCATCAAAATGTATAAATAAATAA +AAACTATGGATTTCGAAAAATTAAAAAAAACAATTTTTAGCTAATTTACG +GAATTAAAACAACAAAAAATTTCGGAAAATCGAAAATTGTTGGTTTTTTT +TTTCGATTAAAAAAATTCAAAATCTTCTGAAAGACATTTTTAAAATTTCC +AAAAAAAAATTATGAGTATTTTTCAAAAAACAAATCGAATTTTGATTAAC +TTCCGATTTTTTTGACATTTTTTGAAATTTGAAAATCATTAATTCAAAAA +TTTTTATTGAAATAATTCAAAAATTTTTATTGAAAAAAAACGAAAATTTT +TGATTTTCGCTTGAATATTTCGGAAAAAACAATCGATTAAAAAAAAAATA +GGCTTCTAGTTATTTTTCAAGAATGCTTTTTTTTTGACAAACTGCTGATT +TTTTGTCAGTTTCGTCGATTTTCGTTGTAAAAAATCAAAAATTCAAAATT +TCTTCTATTACGAGTGCACAAAATGCTGAGAATGCGTATTGCACAACATA +TTTGACGCGCAAAATATCTCGTAGTGAAAACTACAGTAATTCTTTAAGTG +TCTACTGTAGCGTTTTCGGAAAAATTCCACTTTTTTTATTTAAAAAAAAA +AACGAAATATTTTGATTTTTTTTTATTAAAAAAAACGAAAAATTTTGATT +TTTTATTAAAAAAAACGAAATATTTTGATTTTTTATTTAAAAATGAAAAA +TTTTGATTTTCCAAAAAAAAAGGCTCCTAATTAAAAAAAAAAAATTTTTT +TGAAAAAGTGCAGATTTTTGTCTTAAAATTTAAATCAAAAATTTTTAAAT +AGACTTTTTCCATCAAATTTCCCCAATTTTCAGAACCACCCGGACGGCGT +CGTATCGGTAACCTTTCCAACGACAGAAGAATCGGATATGGCTGTAAAAT +ATCTTCACGGACGAGTAGTTGACGGTCGGAAATTGACAGCCGAGCTCTGG +GATGGCCGGACAAAGTTTAAGGTCGAGGAGACGGAAGAGGATGAGGAGAA +GCGTCGGAAAGAGTACGAGAAGTATATTGAGGGTGGAAGTAGTGAGACGA +AGGAGGAGAGCGACGACGATGATGACGATGAAGCTGAAGATAATTGATTG +ATCTAAATTTTTTCTGAAAAATTATTTTTAGTTTATACATTTTTCCGAGA +GGAGCAACCGATCAATTTTTACCAAAACTATGTTCAAAATCGCCCAAAAA +TATCAAATTTAGTGAATTTTCGTTTTCATGGATTTTTCGAAAATTAGCTT +TAAAAATGTTTGCCAAATTTTTCGACGATATCGCGATATTTTAAAAATTT +CGAACAAAAATTGCCTAATTTCAATTAAAATCCCTTTTTTCGAAATTTTC +TAATTTTCTGGGCCAATTGGGTCGTTTAAAAAGAAAAATGGCCAAAATTT +GAGAGTTTTAAAAAAATTCTAAAATTTCAATCCTACGATTTTCCGGGAAA +AAAATTTTCTTGGAAAATTGCTTTTTTTTTGAAAAATTATTTTTAGTTTA +TACATTTTTTTTCCGAAAATAGGAACAACCTATCAATTGAAATTTTCAAA +AAAAAATTAATTAAATTTGGAAGCATTTTCCGAAAAATTGCATGTTTTCG +GTTTTCTAGAAAAAAAAAACTAAAAGAACGAAAAATTTCACCAAAAATCA +AATATGAAAATACTTTCCTAAAAATCTGAAAAAACCAGAAATTTTCAATT +TTCCCTATTCAAAAAAATTCAAAAAAAAAACCAAATTTCAGTTAAAATCC +CTTTTTTCGAAAATTTTAAAATTTTCTGCGCCATTGTGTCGTTGATTTGA +AATTTTTTTCTAAAAATCCGTGAATTTTTGAAATTAAACAAAAAATTTGA +AAAATCAAAAATTATCGATTTTTCAACGAAAAAAATTCAAAAATTTCAAT +CTTACGATTTTCCTAACTAAAAAAAAATTTGAAGTAACGAAAATGTTCAA +TTTTTTCGAAAATTTTCGAGGTCATTTAGAGTTTTTTCTGTGAAAATTGC +ATTTTATATACTCATTTAAATTAATTTTTATATATTCCTTTCCCGAAAAC +TTCAAAAAAAAAACCCAGTGATACAATTAAAATCGAGATAATCACAGACA +AAGTAGGCAGTAGGCAGGCAAAAAACAGGCACATATTAAGGTAATACAAA +ATTCTGATAATGCGTACATCGCAACACATTTGACGCGCAAAATATCTCGT +AGCGAAAACTACAGTAATTCGTTAAATGGATACTGTAGCGCGCTAGTGTC +GATTTACGGGAATCTTAAAGAACCTAAAGAATTGTAGGAAAAATGGAGAT +CCCGTAAATCGACACTAGCACGCTACAGTATCCATTTAAAGAATTACTGT +AGTTTTCGCTACGAGATATTTTGCGCGTCAAATATGTTGTTCAATACGCA +ATTTTAAAATTTCGTGGTCTCATAATAATACACAATTAACTAGTAAATCT +ACAAAATCTACAAAATTCTCTTCATCAACTCTTCCACAGCTCGATCGACC +TGTGCATGAGTCTCCTCGTACGCCCACAGAGAGCACAACGCCACGTTGCT +ATTGTCGAGACGTTCCTTATTCGAAATCTGTGACGACATGCGATCCTTGG +CCTGATCTTCAGTCAGGTTATCCCTCGCAACGACTCGACGGACGGCTTCA +TCTGCTGGCACGAAGACGGTCCACGTTTCGGCGAGCGTTTTGTGCCATCC +GGCTTCGATTAGTGCGGCCGCTTCGATGACTGAATGAATTTTTTTTTCAA +CTTTTGCAGAAAAAATTATGATTTTGCAAAATTAACGGGGAAAATTGGCT +GTTTAAAAAATATTTATTATTTTCGCGTTTTTTTAAAATAAAAATCGATG +AAAATTCTGCAAAGTTTGAAGCTTCAGTACCCTTCAAAGGTGCACACGTT +TTAGAATTTAGCAAAAAATTGGCGTGTTCACGATTTTTTGGTTAAATTCA +AGAAAGTGTGCGCCTTTAAGGAGTACTGTAATTTCAAACTTGCTGAATTT +TCATCGATTTTTCACTTTTTTTCCACGATTAGTAAAATTTGTGTTATTGT +AGATTTTTTAAATTTAATACCAAATTTTCCAAAAAATCGAAAAAAAAAAG +AAAAAATGTAATTTCGTTATTTTCAAAAAAATAAATTGAAAAATTGAAAA +AAAATCCAAATATTCGATTATATTTTTTCAGAAAATAAAAATGAAAATTG +GAAAAAAACATATTTTTGGGTTTTTCGATTTTCCAAAAAATTTAAACATT +TAAAAAATCTAAATTTTCGATTTTTTTCAAAAAAAAAAAATTAAAAATCG +CACAAAAACCAAAAAAAAACATTTTTGGCCGATTTTCCAAAAAAAAAAAG +AAAAATAAACAAAAAACAAATATTTCAAAAAAAAAAACAATTTTTTCCGA +TTTTCCAGAAAAACAACTGAAAATCGGAACAATAATTTGTTTTTTCTATT +TTTCAAAAAATATTGAAAAATAAAAGAAAAAACGGAAATTTTCGATTTTT +TTCCGATTTTCCAAAAAAAAAAAATTCAAAATCTCACAAAAACCAAAAAA +AAAATGAAAAATCAAAGAAAAACGAAAATTTCGTTATTTTCAAAAAAATA +TCGAAAAAACTTTTTTTTCTTCCGATTTTTCTGAAAAACACTGAAAATTG +TGGAACAATAATTTTTTTCTATTTTTTTGGTCTCCACGATTTTTCGCGAA +AAATTTCAAAAATTAAAATTTTTTTTTAAATCCAAATTTTCACTTCCCCC +CCCCCCCCCCCCTCACCAACAACTTTCGCCGTCGACTTCTTCACAATCTC +CATAGCTTTCTCTTTCACCTCCGGCCAAACAAGCTCACTCAGCTCGCGGA +GCTTCACCTTATCCGAAAACACAATCGTTCCAAGCTTCCGGCGGTCTACA +ACTCCATCGACAACGACATCCCCTCCAAAATGTTCGCCGATTTTTCGATT +CAACGAGCTTCCCCGTTCATAGCACGTGTGTGCGAGCTTATCACAATCGA +TAACATCGAAATTATGCGTTTCACGGAGATATTTCCCGATATGACTTTTT +CCCGACGCAATTCCTCCGGCGAGCCCAATGATGTACGGGGCGCCCGTTTC +TCTTGGAACCGCCCGAGCTGGACGGAGCAAGTGACCCAGATCCTCTCGTC +GTCTGGAGCTTGAGCTGATCTTTGTCTCTTTCAGGATCTCATCGGATCCT +TCCACCAGCTCGACAATTATCACATCCAGCTGCGACATTCCTTGCTCATT +TCTCTTTTTGTTCACCGCATCGGCACCTTTAATGGTCTCCCGGGACACTA +CTATCGCTTCGAGGTCTTTTATTCGTGTTGAAGGACCGAATGGGTCGATT +ATTGGCTCCGCGAGACATTTTGCCTGGAAAATTATGGGGGTTCTATTGAG +CAAAAATGACCATTTTTGGAAAATTAGAAAATCGGAAAAAAAAATTTCCC +GAAATTTTTTATTTAGAAAAGTTTTTAAAAAACAGAAATTATATATTTTT +TGAGTTTTCCAAAACAAAAAATCGAAAAAAAATATTTCGATTTTTCGGAT +TTTCCAAAAGAAAAAATTTAAAATATCGAAGTTTTTAGATTTGCAATAGA +AAAATTGAAAAAAAAAACGGAAATTGTATTACGGGAACAGAAAATTCTGA +GAATGCGTATTGTACAGCATATTTGACGCGCAAAATATCTCGTAGCGAAA +ACTACAGTAATTCTTTAAATGACTACTGTATCGATCAAGCCCGTAAAGCG +CTACAGTAGTAATTTAAAGAATAACTGTAGTTTTCGCTACGAGATATTTT +GCGCGTCAAATATGTTGTGCAATACGCATTCTCAGAATTTTGTGTTGCCT +TAATGCAATTTCCGTTTTTTTTTCAATTTTTTCTTTTGAAAATCTGAAAA +TTTCGATTTTTTCCAATATTTTCTTTTGGAAAATCCGAAAAATCGAAACA +AAAATTTTTTTCTATTTTTTAAATTTTTTTTTTTGGAAAATCGGAAAAAA +ACCAAAATTTTAGTTTTTTAAAATATTTTATGGACCAAAAATATCGATTT +TTCCTAAAGTTTTATAGAAAACTGAAAAATTTAAATATTTATTGTTTTTA +ATTTTTAAATTTTTATGGAAAAATTTCGATTTTTTTTTTTGAAAAAAAAG +CTTTTTTTAAATTTTTCTTTATTTTTGGAAAATCGAACATTTGCTATTTT +TTTCGATTTATTAATTTTTTTGTTGGAATTTCTAAAAATCGATGTTTTTT +TTTCAAAAATCAGCGGTTTTTCCGAAAAATGGCAAAAATTTTTTTAAAAA +ACATTTATTTCTTTTCCTATTTTTCGAAAAATAAATAATTTTTTCTGGCA +ATTTTTAATGAATTTTTGATCGGTAAACTCTTACAGTCCCGGAAATATCC +TCTACAAAATCGACAACTTTCTTAATCCGAAACTCCACAGGCTCAATCAT +CTCGAATAATGATTTTTCTGGAAAAAAACCAATTTGTTAAAAGTTTTATT +TCCAAGCTATAATCTAACTAATAATCATATCCTTATCGGTGACCCCCACG +ACAATAACATCAGAAGCGAGCTCGGCAGCCTTGTTGAGCAACACTTTGTG +CCCATTGTGAAGCCGATCGAATGTGCCGCCCAACACGACTTTTTTGTACT +TTTTCGCCGCCGCCAATTTTTCCGCGTTCTCCAGCAGCTTTTCCTCGCCG +ATTAGCACATAATTCTCGGGATTTCCGCGGATTTCCGACACAACTAGACG +GACGTCGAGCTTCGGGCATGAGCTCGCCGATGTTAGGTAGATTTTCGAGA +CTAGCTCGTCGGTTCGCGGCTCGTCCGGGTTTAATCTGCAAGGAATCCTT +GTTAACCTTGATTTTCGAGCCGGGAAAAAGCCCAAAGCACTTTACCTCAC +ATAAAGCTTCGAGCTTAACGCGGCGGCCGCAGACGTGAGCAATTGCTTCA +GTTTTTGCACATTTTTGCTATTTAACACGAGAAGTCCGTATTTCGAGCTC +ATTGAGAATGATGAGAAATATCAGGGAATATTCCTCAAATTTTAAATAGA +AAAATTCGCTGCCACGTTCGCTGCTCTTATCGGCTGCGCGTCTCTATTTC +ACACACTGTCTCATCTCTCGTCTCGCGTCTCTCGTCTCTAACGCGTGACG +GTGGAGCGCACTTCCCTCCTTTTTGCTGTAAAATCTTTCAGACATGCCGG +AAACAAGAAAAACAAGAAATTATTGAACTGAAAATAATGTAAACGTACTC +ATCGTATTTTTAGCTTCAAAATAAGATATCTTAGAGCATATAATATTGCT +TCTAAACGAAAACCAAAACATCGCTGAAAATGTTGTGAATTTTATGAAAA +TCTAGGATCATTTTTCCCATTTTTATGAAAAACAACAATAAAATGAGAAA +AATTACATGGGAAAACCGAAGAAACTTAAATTTCGCGGTCAAAATTCGAA +TAGAATTACTGTATTTTTCGCTCAGAGATATTTTGCGCGTCAAATATGCT +GCGCGTGCGCATTTTCAGCGTTTTTTATTTAATAAAACAGTAATAAAATG +ATTAAATGCATTTTGTGTGATTTTCAGCCCAAAATGTTTGAAATAAATTG +TTGTTGTTCAAGCCAGCATTTTTAAAAACTTAAATATATGGGAAAACCAT +AAAAATAACACAAAAGTTTGGCAAAATTTTGGAACTACAGTACTCTTTAA +AGGCGCAAGCCCTTTAAGACAAATTTGTCGTGTCGAGACCGGACAAATAT +TCTAAATTTCTTTTATACATACGCAGATTTAAAGTACAGAAGAGCGCATT +TGCACATTGCGCAATTTCTAAATTTTTTCTAACAATAAAAATTAAAACCA +AAATACTTTATTCAATACCACAAATACCACAAGTTCATTTATCTTATTCA +ACCTCTTCCGCCGACGTCGTCTTGTTGTTGCTCTTCCCCTTCTTCTTAGA +CTTCTGAAATTTTCTCATATATGCAAACGCGCTCCGATCTAACAAAAAAC +CTTCTTCTTCTTTTTCTTCTTGTCTACATCTTCCTTCTTTGGCTGCTCTC +CAGATTCTCCCCCGGCTCCCGGATCGCTCTTCCCAAAGTCCATCTCCGGC +TTCAGCCCAACCTCAGGCGGCGCGATCATCAGTACCTGCTGGTATCCAGG +ACCCTTGTAATCCGTCATACAATCCCAATCTGGTGGCTCCTGGGTATTTG +ACTTAGACTTCTCAAACAGCTTCTGGATCCCATCAGCGATACGATCGTAC +TCCACAAACTCAGCGACATCCTTGGGCTCACGGATGATGGTCAGAAGATC +AAAGAACCCAGCAGTGGTCTCCGGAGTGGTTCTCCAAACCGACGCGACCA +TCGGTGCAGTGATGCGACGTTTCAAGTGGAGCACGTCCTGTTCGCTTTCC +TTGTTGAGCAGTGCCCATGGGAGAGCTCCGAGGAAGAACTCGAGCACCAT +GTACCACCAGGACTCCATGTCGTCCTTGTAGCCGAGATTTTTCTGGGAAG +AAAAAAGTTGTTTTAAAGAAATTGTGAACGGTAAGGTTACCCCCTGGTGA +GCATGAACGCTCGCGTACTTGACGACTCCTCTGTAGTGAATCGCATTCTT +TCTCATCTGCTCCTCAGCTTCGTCGTTCTTCTTGACGAATCTTAATTTTA +AAAAAAGTTTTCGGGGTAGATTTACGACGCGTTGCGTGTCGCGTCGCGGT +TCGATTTTAGTTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACGCGAC +TTTCCCACTCAAAATAGGATGGAATTGAATTCGGAGGTGTCACTGTTGCA +AATTCGGATTGTCTGAATAAATATAAAGTGAGATTTTGAATTTTGCTCCA +TTGATAATGGTGTTTTTTTTTGAAATTCTGCAAACATTAATTTCTAGAAA +ATTTGAGTTTCCTCCAAAATTTTTCACAGAAAATTTGAATTCCCGCCAAA +ATTTTTTCTCTGAAAATTTGAATTCCCGCCAAAATTTTTTCTCTGAAAAT +TTGAATTCCCGCCAAAATTTTTTTCAGAAAATTTTGAACCCCGCTTAAAT +TTTTCTGAACTAGGCTATTTTGTCTCGGCCATATCTGGGGTTGTGGTTTA +CGGCGCGTTGCGTGTCGCGTCGCGGTTCGATTTTAGTTGTAAAACTAAAT +GTATTTGTCCGTGTGGAGTACGCGACTTTCCCACGCGTTGTTCGTCAGGC +AATTGTCAATGGAGCGCAAAAACTGCCGACCGCTCCAAATAACTACTTTT +TGCACTTCATTGCATACACACAGCAGCTCGCGGCGTCGGCATGAGGCCCG +CATTTCGCGCCTCACTGGAAGCCCCAGATGCCAAAAAATCTACCTCGGTC +TCTTGCACAACCCGAAATCCAACAGGTAAACCTGATGGTGCTGTCCGTCA +ATCTCTCTTCCAATACAGAAATGCGATGGCTTGATGTCGCGATGAATGAA +TCCATTCCGGTGGAGGTCACGAATCGCGGCCAGCGTCTGCTCGGCCAAGT +GAAGACCCGTCGCCATGCTGAACTTGCGATCCTTGTTCGTGTTCATCATC +AGCTCGTATAGGTTCTCGCCATACTGAAATATGGAATTTGGCTGAAGTTA +GGCAACGAAAAATGGTACCAATGGCATCACAATGAAGAGGAAGCGATTTG +GAACCGTGCCACGTTCCTCGATATTCGTGAAGAATGGAGATGGGTGGTGG +ATCGACGCGAGGACAACTGACATTTGACGAAGAAGCTGGAATTTTTTTTG +CTCTCTAGAAACGGTTTTCACGGCGGCCGACAATTTCCGAGTTTGGAAAC +TCACTGCACTTAGTCATGTAATTTTATAATGAGTGGCTAAACTCGGAAAT +TGTCGGCCGCCGTTAAACCACAAGACAGTTGGTTCCTTCGCCGCGACCGA +CACTTTCCGGGTTCCGCGCCGCACTATACAGAAGGCTGGCTGCGCGAGGC +AGGCTAGACCGCGGCAGGTGTTTTGGCGCCTACATGGACTTGCTAGCTTG +TCAACAAGGCAGCCTAAGCGTGCCTGCAAAAGGTAGGCAGGCACGCTTCT +AAAACCGTGCCAACACACCATAAATAACTCACCGAGCTCTTCATGTTCAA +CGCCTCGCATTTGACCGCAAAAAACTTCCCATCACTCTCGCGTTTTACCT +TGTAAATCGAGCCGAACGTGCCCGTCGCCAGCGGTTTCGTGACTTCATAG +GTGCCGTTTTGTGCTCGAATGAGCTCCTTTTGCGGTTGTCCAGGTCCGAC +TGACGTCATTGATTTAACACCGAAATGTCACGATTATTCGGAAGTGAATC +GATAATCGAAAATCGGAGACTCGAAACTTTTCGAAATAGATTTTATTATC +TTTGTAGGGTTTTTGGAGTTTATGATGATAATGAGGAGGGGGGATTTTAT +GTGGATTAAGAGGCTACGAGGAAAATATTTATTTTTTAAATATTTTATTG +TCATTCTTTTCTTTTCTAGATTTTCACGTTTCTTATTATTAAAAAAAAGT +TTTTCAGAATTTATTTCAAAATCCCGAACATAATCTGAAATTCAGAAATA +CTACAAAAGAAAAACGAAAAAAAAACTGAGAAAAATGGTCCAGATTCTCC +AGTATTGTTAGGCGTACCCCCCCCCCCCCCCTACCTACCTACCTTCCTTC +CTCGCCTACATGCATACCTGCCTACCTACACGCCTGAGTGCCTGCCTACC +TTCCTGCCTACGTTTATGTCTACATTTTTTGCCAGCCTTTTGCCAGTATA +CTTTACGTGTGTTCTTAATTACGTGCCTATCTACTTACCTTTCTTCCTCG +CCTACATGTATACCTGCCTACCTACACGCCTGCGTGCCCGCCTCCTGCCT +ACCGACTCACCTACCTGTTTGCATACATGCCTGCCTACCTTCTTGACCAT +GCCGAGGCGCCTATCTTACTACTTGCCTACCTACACGCCTGTCTATTGCC +TACCTGTTTGGTTACATGTGCCTGTGCCGTACCTGTGCCTCAAAAACATC +TTTATTTTGTAATAAATAATTTTAATAAAACTTTATAAAACAAAAAAAAT +ACAAAATTGAAAATAACCTAACAAAAAGTCTTTTCAAACCCCTTCGAACT +GCTCAACTGATAAAAATTCGTGTTATACTTCAACAATTTGAACTGCAAAT +CCGATTTGACACAGCTAAACTTGTATTTTGTCGCTTTATTCCTGCACAAA +TGTGCTCCTGGGCAATTGAGACTATTCGAATCGGTGTAGTAGGTGGTGAA +GCTCTTTGAGCATCTTATTGTAGAGTGATCTTCTCGAAGACGGCCCAGAA +TTGCGGTGATTGAGGGATTTGTGATGGTTCTGGGGATTTGATGTAATAAA +TTTAAATTGTGTGGTTTAGATGCAGAAAAAAAAACTAAGAATTCAGACTA +AGACTTGAAAAAGAGCCAAGAAAAGGGCGGAGCCTATTATCGATTTTTCC +ACTTGCCGTTTATGAAGTTTATCTACACTTATATAGTCTATTATCAATAC +TAAGTTAAACAGTATATGGTATAATAAATACTATGACTGCAAGAAAAATC +AATAATAGGCTCCGCCTCTATATTTGTTTTTTCTCGTTTTAAATCCAAAC +TTATTCTACGCCGAACCTATATTCTTTTATATTTTTTGAAATTATATATC +CTTCTATTTATAAGATTTTTCCAGCCAAATTTTTTTTTCTCAGAAAAATT +GAGTTTCCCGCCAAAATGGGTTTCTCAAAAAATTTGAATTTCCCGCCAAA +ATTTTTTTTCTCAGAAATTTAAAATTTTCCGCAAAATTTTTCTCAGAAAA +TTTGTATTCCCCGCCAAAAATGTTTTCTCATAAAACATGAATTTCCGTCA +AAACTTTCTCATAAAATTTGAATTTCCCGCCAAAATTTTACGAGAAAATT +TGAATTTCCAGCCAATCTTTTAATGAGAAAGTTTGAATTCCCACCAAAAT +GTTTTTTTTTCTCAGAAAATTTGAATATTCCGCAAAAATGTTCTGAGGAA +AATTGAATCTCTAGCCAATTTTTTCTCATAAAATTTGAATTTCCGGTCAG +CTTTTTTCTGAAAAAGTTTGAATTTCGCGCAAATTTTTTTTCTCAGAAAT +TTTAAACCTCTGGCTTTATTTTTCTCAAAAAAATTAAAATGTCCTGCCAT +TTTTTTAAAAAAAAAATTCACAGAAAATTTGAATTTTTAATTTTAAAATT +CACAGAAACTGACTTCCTTATCGACATGCCAATTGTCACACGATCCGCTG +ATTTCAGAGCTTCACCGCCCGTAAAATTGCCACGTATCATTGAATCCACG +TCAGCAGAGTCGGGAATTTCAAAAATTTTACTATCATCCATTTGTTTGCT +GGAAGCGTTAATTATCGATTTTTATTTTTTTATTCGTTATATTAATTTTA +TTCATATTTTTTGAAAAATAAAATCAATTTCACTCTCGGATTTCTGGCTT +CCCTCATAAAATGAAATGAAAGAGTTTGCCGAACTAGGCCATTTTGGCTC +GGACATATCTGGGGCAGATTTACGGCGCGTTGCGTCGCGGCTCGTTAAAA +ATAGATTTATTTGTCCGTGTGGAGTACACGACCTTCTCACGCGTTGTCCG +GCAGGCAATTGTCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAAT +CCCGTGTTCACTGATTTTTTGAATTTACAATTTTTAAAGTATCGAATAAA +AATTTTAATTGAAAAAATCGATTTTCAAAAAGTTTTAAAATTTTTTTAAA +ATTTGAATTTAAAAATCGATTTTAAAAATTATTGATTTTCGAGCAAACCT +TTTCAATTTGTACGGATGTTCCACGGGCTCATTGAGCCAAACACTATCGA +TTAAAGATGGGCGTGTCACCACTTTTGCCACGCCCCTTTCATTCCGATAT +TCCAATAACCCGACGAATATCTCTGATTCGTAATAGTTGGCGAACTCGGA +AAAATAGGAATCGAACGATTTCGGCACGAGAAGATCAGACCACTCGAGAA +ATGTGATGAAGCTCCCCGAGCTCTGAAAGTTTGGATAAATAGAGTTGTGA +GCCTAGTGCAAGTTGAAAAAATCGATAAATTATCGATTTTCTGATTGTAC +GAATTTAGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTC +AAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAA +TTTTGGCGGGAATTCAAATATTCTGAAAAAAAATTTGCCGGGAATTCAAA +ATTTCTGAAAATAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAATTT +TGGCGGGAATTCAAATTTTCTGAAAAAAATTTAGGCGAGAATTCAAATTT +TCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAAATTTTGG +CGGGAATTCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCACATTTTCT +GAGTAAAACTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAG +AATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAA +AAAAAATTTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGGCGAGAA +TTCAAATTTTCAGAGAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAA +AATTTTGGCGGGAATTCAAATTTTCTGAGTAAAACTCTCTGGCGGGAATT +CAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTCAGAGAAAAA +TTTTGGCGGGAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAA +ATTTTCTGAAAAAAAATTTCGGCGGGAATTCAAATTTTCAGAAAAAAAAT +TTTGGCGGGAATCCAAATTTTCTGAAAAAAAATTGGCCGGGAATTCAAAA +TTTTTGAAAAACATTTTCGGCGAGACTTCAGGGGTTCTCATAAGAATTCA +AATTTTCTGCAAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAAAAAAT +TTGCCGGGAATTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAAT +TTTCTGCAAAAAATTTTGGCGGGAATTCAAATTTTCTGCAAAAAATTTTG +GCGGGAATTCAAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTC +TGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGA +GAATTCAAATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGA +AAAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGA +ATTCAAATTTTCAGAGAAAAATTTTTGGCGGGAATTCAAATATTCTGAAA +AAAAATTTTGGCGAGAATTCAAATTTTCAGAGAAAAATTCTGGCGGGAAT +TCAAATTTTCTAAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGTAAA +ACTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAA +ATTTTCAGAGAAAAAATTTTGGCGGGAATTCAAATATTCTGAAAAAAAAT +TTGCCGGGAATTCAAAATTTCTGAAAATAAATTTAGGCGAGAATTCAAAT +TTTCAGAGAAAAATTTTGGCGGGAATTCAAATTTTCTAAGAAAAATTTTG +GCGGGAATTCACATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTC +TGAGAAAAATTTAGGCGAGAATTCAAATTTTCTGAGAAAAATTTTGGCGG +GAATTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAATTTTCTGC +AAAAAATTTTGGCGGGAATTCAAAATTTCTGAAAAAAAATTTGCCGGGAA +TTCAAAATTTCTGAAAATAAATTTTGGCGGGAATTCAAATTTTCTGCAAA +AAATTTTGGCGGGAATTCAAATTTTCTGCAAAAAATTTTGGCGGGAATTC +AAATTTTCTGAGAAAAATTTTGGCGGGAATTCAAATTTTCTGAGAAAAAT +TTTGGCGGGAATTCTAATTTTCTGAGAACATTTTTGGCGGAAATTCAAAT +TTTCTGAGAACATTTTTGGCGGGAATTCAAATTTTCTGAGAAAAATTGTG +GCGGGAATTCAAATTTTCTGAGAAAAATTTAGGCGAGAATTCAAATTTTC +AGAGAAAAAATTTTGGCGGGAATTCAAATTTTCTAGAAATCAATTTTTTC +AGAATTTCAGAAAACACCACCCCGGCTATCAATGGAGCGCATTTTCAAAG +TCTCACTTTATATTTATTCAGGCAATCCGAATTTGCAACAGTGACACCTC +CGAATTCAATTCCATCCAATTTTGATTTCCCATAAAAATCTGGAAACGAG +TCAACTGATATTCCTTTGAGACGCTTCAACTCTTCTAGAAATTCGAAAAA +CGGGCGACTTGTAGTTGCCACGTATGTTTGGAGATGGCCGCCGAAACTGG +AAAAAAAATTTAAAATAAACTGACAAGTCTATATATTTTTTCTTTAAATT +TTTTTAATCGAAAAGCACCCCTATTATATAAATTCTTTTTTAACCTACCA +TTTTTAATAATTGATGGCCGAGTTTTCTTTTTTAGGCCATGTTCAAAAAG +CCGGTCGGTACCGGTTTTTGGTGACCGAATTTTCAAATTTTCTAGGCCAC +GTAGAAAAACCAGGTCTTCTTTTCACACATTGATTGTTTAATTTTCTCAA +AGAACCCCCTCTCCTATAAAATCACGGTTAATAATGGGCGATAAGTCGAT +GGCCGAGTTTTTTTTATATATTTCTAGGCCATGTAGCAAAAACTGACCCT +TTTTAACCCCAGAATGTTCTCAAAAATCGTATTTTTTAATTGTGGAAAAG +CCCAGAAAATTATGTATGCTGCAAAATCACAAGTCGGCGGCCGAGTTTTC +TCTCTTCCTAGGCCACGCTGCAAAAACTAACCTTCCGTTTACATATTGAC +TTTTTCAAATAATTTCAAATAAAAATTATTCACTTATAAAATCATTTACT +TCATGATTGAAAGCTTTTGCAATTGGTTAAAACCGGAAATAAGTCGATGG +CCGAGTTTTCTCTTTTCTAGGCCACGTACCAAAAGTGTCCCTTTTTTACC +CCAGAATGTTGTCAAAAATCGTACTTTTTATTTGTGGAAAAGCTCGGAAA +ATTATGTTGTAAAAAATGAGTCAAGTCGGTGGCCGAGTTTTCTCGTTTTC +TAGGCCACGCTGCTTAAACTGACCTTCCATTTACATTTTGGCTTTTAAAT +TCAAATAAAAATTATTCCCTCATAAAATCGTTTACTGTCATTGTGAGAGC +GGTTAAAAACAGGAAAAAAAATGGTGGCCGAGTTTTTTTTTCTAGGCCAC +ATAGCAAAAAACTCACCTAGTATACACATGAGCAGCTAACAACACATTCT +GCCATCTAACATTATTATAAATAGGCGGAGTACATACAACCAAATCCTTC +GGCTTATTATCCGCCGGCAAATATCGAATTTTCGCGGTATGCCCATTCAC +AAGAAGCTCCAGCTCCGTGAGCTCTTCCTCAAGCACTATAGTACCCACAA +GTGTCACGTATTTGCATAAATTATGCGGAGTTGCTCTGTGAATTTGAAGT +GGTTCGAGTACGGTTTTTGTGTCGTCACTTCGGATTGCGATAATCTTACG +ACGTTCCCAATGTGCATCCCGAGGCGCGATAAAGGTTAGTGTTACTTGGT +TTTTGTAGAGACTGAAAAATTTCAAAAAACTTAAAAACTAACGTAGTTTA +AAACATTATTCTTCTTTTTTTATTCTGAGATATTTTGATTTTGAAAAAAA +AAAATTTTTTTTACGAAAAAAAAATTGGCAAAATACCTCAAAAACTGTGA +GTTTGTTGAAATTTAGTTTTTACAACCACGGGAATTAATTTTTTAAATTA +AAAATATTTTACGTGTAGTCCTCTCGAATAATTTTGAAAAATATATGAAG +TGTTGAATTCTGCCGAGTTTTTTTGTCCGAGTGGACTACAAAAGTGCAAA +GAATTTGGAATTTTTCAAACTTTATATTTAACAGCAATCATCAACAACTT +AAAAAAATTTAGATTAAAAAATTTTTTTTGGAAGTTTTCGAAAAAAATTT +TGGAAAAATTTTTAATTTTCAGAAAAAAAAACCAGTTTGATTTTTTTCTT +AAATTCTTTTTTGAAAATTTGTTGAAACTTTTTTTTAAATGCTAGACTTT +TTTTTTGAATTTTCACGCGGTTCTGGTTTCCCTCATATTTTGAGATAGAA +GAGTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTT +ACGGCGCGTTGCTTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAA +TGTATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTAGGCGATTAT +CAATGGAGCGCGAAAAATGCAATGAGGAAGGCCAGAACCCCGTGAAAAAT +ACATTTTAAAAAATACTTGAAAAATGTTTAAATTTTCTTTTTAATTTTAA +ATTTGAAATTTTGTAACTTTACAAAAAAATAATTTTTCGAAATTTTTTTC +AAATATTTTTTTTCGAATTCTTTTTGTTGAAATTTCAATTCTCTGTTCTA +AAAATCAATATTCCTTACCTGTATCCCACTCCATAATAGTACGCAGAAAC +AAAAAATAGGTCTTTCTCGTCGTTATCCAATTCTTTAATCTTATTAGTGT +ATGAATTTCGAACACGTCTTAATGCAGGCAAGGGATGTATTGAAATATGT +ACAAATGCTAATAATATTACAAATAGATATAGGGTCCTGCAACGAATTAT +CAACTGCTCGTAGAGTACGGAATAGGGTTTGAATTGAAAATTGTTCAGTT +TCGTGTCGGAATTCATTTTTATTATGGGGAGGAAAACAATCTAGTGTGGT +GGTAGTGGTAATGACAATCGCTATTTGAAATCATGTTGAATAGCTGCGAT +AAGTATCGGGCGCCAGCGTGGCCTAGGATTTGGGAAAACTCTTCCACCAG +AAGCTAGTCGTGGCCCAGGCTTTGAAATTTGATTATTTGATCAAGAAATT +TACAACTAAATTTAAAATCAACAGTTAAGACATTTTTCATAGACTTTTCG +AAAAATTTCTGATTTTTCCATATCAAATAACCTCGGTACGCATCTAACCG +TCAGTTGCCTCGTGGCCTAGAACTTTTGAAAACTCTTCCACGAGAAGATC +ACCGTAGCCTAGAAAGTTTTGAAACTTGTGTAGTTCGCTTGGAATTTTTT +TTTGGTTTTTTTGTCAACTAACTAGGTTCAATAGCTATTAAAAAGTTGCA +AAATTGGGCAATTTTTGTAAAAATTCACAATTTTGAAACTTCTCTAAAAT +TATTAATTTTGTAGTAAGAGGACTCAAAATTGATCTTCAAACACTAAAAA +ATAGCCCCTTTTTAGAATATAGTGGTTTCGAATATTTTTTGAAAAATTAT +TTTTTTTTACCCAAAAAAAAGGACAGTCATGGCTGAAAAAAAATTTGGAA +AAAATAAAAAAATTGTCTAAATTTGTTGAAAACGGGTAATTCATGCATTC +TGAATTCAGAAAATCTAGGTTTAACCCATCAAAAACCATTAAAAGCGGCA +AAAATGGGTATTTCATTGTAAAAATAATGCATATACAATAAACAATGTAG +AGGAATGTTCAAAATCTGTAGTTTTTTTGAAATTTTTTTTTTATTTTTTG +GTTATTTTTTTTGCAAATTTTCTCGTATATTTAATTAGTTAGTTTGCATG +TTACATGCTAATGAAAAGGTTTTTTTTGCATCCTGATACATATAAAAACC +GAGAAATTCACAATTTCACAATCAGTAAGGTATTTAATTTTTGTTAACTT +TAGTCTTCTGCTCCTCTAAAGCTTCTGGAAGAGGACACTTTCTAAATTTT +CAAAATATTTTTTGCGCCACTTTCCTGTCAAATTTCTGGCATTATTACAT +CCAAAACCCAATAAAAATCGGAATTCCATAGCTACGACAACGTCAGCAAA +AGCGGAAAGAAATTTTGTTTGCCTGTCTAACGAGTCACAAAGCATACACT +GACGTTTCTATCAGAAAAGACAGGATTTCGTATCAAAACAAAAATTGGGT +GCGATTGCTCGATGCACCATGTGATATTTTGCTTTTTTTAAAAATTATTT +TGCTCGTAATGTATGGTGCACTTATTCCGTGGCTGCAGAATTTGCACGCG +GTGTCATAATGCCCATTTCGACTTGATCTACGTAGATCTACAAAAAAATG +CGGGAGTTGAGACGCAGAGGTAGGGCTCAACTGATTTCGTTTGGTTAAGA +GCGTGCTGACGTCACATTTTTATGGGCAAAAAATTCCCGCATTTTTTATA +GATCAAACCGTAATGGGACAGCCTGACACCATGTGAATGCAAACTTTACG +CGAAAATTTTTAGATTTTTAATAATCTTAGAATTAGCTATGGTTTTATAG +AATAATATCAAAATTATCCAAAAAAAAAAACACATTTTTTCAAAATTTTA +GATTTCCAGTTTCTATTTGAACTTTAAAAGACTAATCCAAATTTTGTTTT +GTTTCAACGATTTTTCATTGATCTCTCCAAAGAATTCATTGAAACACATC +ATTCACAAAACTAAAAACTCCCCGACTTGGCTTTCATTCCGAGATGACAA +ACTTTTTGGTGGCAAAGGTTCTTTGGGGGCATAGTATCCAAGGAGACAAA +GTATCCAGTAGACAAACTGGGGTGTATCTTGGGGGGCATATCTTTGGTGA +CAACCTTTTTTTCGACTAGATTTTTATATGTATTTTTCAACTAATTTTTG +TTCACATTTTTCTGGAATAAGTTTTTTAATGCAATTTTCAATCGATTATC +GGTTATAATTCCCTCACAATTGAATGTATGAACGATGGTCTTTTGGGAAA +AGCTGTAAAACGTCCAACTAACTTGGAATATCGTGAGGCTCTTCCTGATG +GTCTGATCCTTCAGCTCCGAAGGATCACATGGGTACCTTCTGATGTTCTG +ATCCTTCAGATAAGAAGGATCGTAAGGGTACCTCCTGATGGTCTGATCCT +TCAGATCCAAAGGATCACGAGGCTCTTCCTGATGTTCTGATCCTTCAGCT +CCGAAGGATCACATGGGCACCTTCTGATGATCTGATCCTTCAGATAAGAA +GGATCGTAAGGGTACCACTTGATGGTCTGATCCTTCAGCTCCAAAGGATC +ACGAGGCTCTTCCTGATGTTCTGATCCTTCAGCTTCGACAGATCATATGG +ATTTTTGACAAAATTTGAAAAAAAAAATTTTGAAAAAAAACTCGAAATTT +TTTTTTGTTATTCTTCATTCTTTAAAGAATAGTTCAAATTTATCATGATA +GGACCGAAAACTTTCAAGAAACAGTATAACTATACATGATAATCAGCTTC +TACCAAATAATGATAAATTCTCCGCGATGACAAACTTTTCGGTGACAAAG +TATCTTGGTGGACAAACAAAAATTACCGAAAACTGATGTAAGGAATAGTG +AAATAGAGTCCTATGGACTATTAAACATGTTCAGTAGGTGTATTCAGGAC +TGTCCGTCAAAATAAAAAAAAGTTTGTCAGACGAAGTTCGAACCTGGGAC +CTGTAGGATGCAAAGTGCGCTCACTACCACTACACCAGCTATGCGAAAGT +CGGCGAGCCTCATCGAAGGCTATTATAAAACTTAGTTCGCACGAGTATGA +TCGACATTCAACAAACAGTAATATCTCTCAACAAGAATTTCTTCATGGAA +TTGAGGTCATTTGACTATTTTTATCGGTTTTTCAAGTTGAGCATAGGGTC +TTTTAATTTTTTGAGCATAGAAAATCATGAAAGCTGCCTGTTCCTTGTAT +CCTGGATCGAAATAGACGTATCTGGCCTAAAATATTTCCTGAACAGTGAT +CATTTCATGTCCATTGTGTGTTTCTCTGTATTTTGAACCAGAAAGTTGAA +CAAAAATGATAATATTATATCGAAAAATGGAACAAATACAAATAATTTTT +AGGCCTAATCAAATTTCCTCCGGATATTGTTTTTTTTGTCATGATTATAT +GTGTCTAAATTTTTTATAATGTGTTTTATAACAAAATTCGTCATTATTTC +CTTCATTTCAAGCAAAATTTAACAGTTCGAGCTTAAAAATAGATGTTGCA +AAAAATTTAATTCGTTTCGATGAATACGGTATACGGTCGGTGTTTGCGTA +CTTTGGCGTTTGCGTATGAAGCATCCTATTTGACGCACGAAACTTTCAAT +GAAATTTAATGCAAATTCTGCATCGAAAAGGACATTACGATGGAAATAAT +GACGAATTTAATTATAAAACACATTATAAAAAATTTAAAAACATATAATC +ATGACAAAAAAAACAATGTCCGGAAAAAATTTGATTAGGCCTAAAATTTA +TTTTTTATTTTTTTCCATTTATCGATTCAATATCAACATTTTTGTTCGAC +TTTCTAGCTCAAAATTCATAGAAACTCACGATGGACATGAAATGATCACT +TTTCAGGAAATATTTTAGGCCAGATACGTCTATTTCGATCCAGGATACAA +GGAACAGGCAGCTTTCATGATTTTCTATGATCAAAAAATTAAAAGACCCT +ATGCTCAACTTGAAAAACCGATAAAAATAGTCAAATGACCTCAATTCCAT +GAAGAAATTCTTGTTGAGAGATATTACTGTTTGTTGAATGTCGATCATAC +TCGTGCGAACTAAGTTTTATAATAGCCTTCGATGAGGCTCGCCGACTTTC +GCATAGCTGGTGTAGTGGTAGTGAGCACACTTTGCATCCTACAGGTCCCA +GGTTCGAACTTCGTCTGACAAACTTTTTTTTATTTTGACGGACAGTCCTG +AATACACCTACTGAACATGTTTAATAGTCCATAGGACTCTATTTCACTAT +TCCTTACATCAGTTTTCGGTAATTTTTGTTTGTCCACCAAGATACTTTGT +CACCGAAAAGTTTGTCATCGCGGAGAATTTATCATTATTTGGTAGAAGCT +GATTATCATGTATAGTTATACTGTTTCTTGAAAGTTTTCGGTCCTATCAT +GATAAATTTGAACTATTCTTTAAAGAATGAAGAATAACAAAAAAAAATTT +CGAGTTTTTTTTCAAAATTTTTTTTTTCAAATTTTGTCAAAAATCCATAT +GATCCGTCGAAGCTGAAGGATCAGAACATCAGGAGGTACCCATGTGATCA +TTCGGCTCTGAAAGATCAGATCATCAGGCAGAGCCTCATGTTCTTTTGGA +GCTGAAGGATCAGAACATCAGGAAGAGCCTCATGATCCTTTGGATCTGAA +GGATCAGACCATCAGGAGGTACCCTTACGATCCTTCTTATCTGAAAGATC +AGATCATCAGAAGGTACCATGTGATCCTTCGGATCGGAAGGATCAGATCA +TCAGGCAGAGCCTCATGTTCTTTTGGAGCTGAAGGATCAGAACATCAGGA +AGAGCCTCGTGATCCTTTGGAGCTAAAGGATCAGACCATCAGGAGGTACC +CTTACGATCCTTCTTATCTGAAGGATCAGAACATCAGAAGGTACCCATGT +GATCCTTCGGAGCTGAAGGATCAGACCATCAGGAAGAGCCTCACGATATT +CCAAGTTAGTTGGACGTTTTACAGCTTTTCCCAAAAGACCATCGTTCATA +CATTCAATTGTGAGGGAATTATAACCGAAAATCGATTGAAAATTGCATTA +AAAAACTTATTCCAGAAAAATGTGAACAAAAATTAGTTGAAAAATACATA +TAAAAATCTAGTTGAAAAAAAGGTTGTCACCAAAGATATGCCCCCCAAGA +TACACCCCAGTTTGTCTACTGGATACTTTGTCTCCTTGGATACTATGCCC +CCAAAGAACCTTTGCCACCAAAAAGTTTGTCATCTCGGAAAGAAGGCCCC +CCGACTTTGCGCGTAAGATATGGTGAGACCCTAATACATCATATTTGACG +CGCAAAATATCTCGTAGCGAAAACTACAGTAATTTTTTAACCGTCTACTG +TAGCGCTTTTGTAGATTTACGGGATCTCGATTTTTTTAATGATTAAAATT +AAACAAAAAATGAGAAAAGAACACGAAGAAACGAAGAAAAATGAAATATC +GATGTCACTTTTCGGAAAAAAAATTAATTTCAAAAATTGAGCCCGTAAAT +TTACACATGCGCTACGGTAGGCATTTAAAGAATTACTGTAGTTTTCGCTA +CGAGAAATTTTGCGCGTCAAATATATCGCACAATACGCATTCTCAGAATT +TTGTGTTCCCGGAATAATTTATTTATTGGTTTTTTTGGTTGTATTGGTCC +CAAAAATCAACAAAAAAAAATTTTTATGAAAAATTTCTGTTTTCTTCCGT +TTAAAATCAAAAGTTGGTTTTTTTTGTTGCTTTTTTTGATAAATTTTTGC +AACCACCCTGATTTATATTCCCATAAATATTTAATGTCCCGCTTATGATA +TCTACTGCTTCTTTGCAAAATTCCTACCTGCGGACCAAATACACCATACT +TGACGCGCACTTTTTTTTTGATTTTCAGCTGGACAAACACATTTTCAGCA +TGATTCTGACTTATTTATTTAACTCTTATCACTCTTATCGTTAAAAAACG +CCCTTATAATCATCAACCTATTTTCATTGTCATTCAAAAAAAAAAACTAT +TTCGTACTCGTCGATCGTACTAATTTGTCATCGTTCCGTTCCGTCGAGCA +AAAATCAATGTAGTTTTACGTTTTCCGTTGAAAAAAAATCCAAAAAAAAA +TCCAAAAAAAATCCAAAAAAAAATTCCTTGTTAATTAAAACCGTGAATAA +AAAATTCAAATAAAAAGTTCAAACGTTTCGTTATAAAAATGTACACCGGT +AAGCTCAAAAATATACATTTCAGATTCTAACAATGTGCGACGATACGCTC +GCATTTTGTAGTCCAGCTCCATTCAGTGATGATGTAGAGGTTATTAAACA +ACGTGAGGCGATCGATTATTCCACACAAATCACTCTGGAAGATGCGATTT +CTGGGAACGGTAAGTGCGCTCCGTTGTACTCATAGTTCGCTGAATGAAGG +CATGTATAAGTTCTCAAATTTTCAAATGAAAATTGCCAAAAAAGGTTTTT +AGTTAAAATTTAAAAAATTATCGATTTTTAAATTTATGAAAATTTTTTCG +AAAAATTTGTGTTTTTTGTTTTTGTTTTATTGATTTATTGATTTTTTGGC +GAAAATGTGAAAAATCGAAAAATTATGGATTTTTTCTTGGAATTAAAAAA +AAAAAACTTTATCGGCTAAGCGAAACTTGCTTTTTCGGTTTATTGATTTA +TTGATTTACTTGAAAAAGTACTTGAAAAAATCAATACTTTTATCACGGGG +ATCTGGTCTTCCACATTAAACTTTTCGCGCTCCATTGAGAATCGCCCGCC +GGACAACGCATGGGAAAGCCGTGTACTCCACACGGACAAATACAATTAGT +TTTACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGCCGTAAATCT +ACCCCAGATATGGTCTGGTCTAGTTCGGCAAAAACTCTTCCATTTCAATT +TATGAGGGAAGCCAGAAATCTTTGTTTTTATTTTATTTTGAAATCTCTAA +ATTATCGATTTTTTGGAAAAAAAGTTGTTTGAAAATTCGATAATTTTTTA +ATGATTTTTTGGAAAAATTAAAATTTTCGCTTTTCAAAAAAATCAAAAAT +TATTGATTTTTGAAAAAAAAAACACGGCATGCAATTCCTAGACCACCAAT +CAAAAACCTCTTCCAGTGACTCGTCCGGTCCGTGTCTACGCTGACGGTGT +CTACGATATGTTCCACTACGGCCACGCGAATCAATTCCTGCAGATCAAAC +AAACTCTTCCGAATGTCTACCTTATTGTTGGCGGTGAGTTCGGCCCGCGA +AATTCAAAATTTTTAATTTAAAAAAAAAACGATTTTTTCCAGTATGTTCC +GACGAAGAGACTATGAAGAATAAGGGGAGAACTGTGCAGGGCGAAGAAGA +GCGGTACGAGGCGATTCGGCATTGCCGGTACGTCGACGAGGTGTATAAGG +CGTCGCCGTGGACATGTCCGATACCGTTTTTGAAGGAGTTGAAGGTAAAT +TGCGCGTGAGATTCGGTGTTTGCACAGTTTTATCTCCAAAAACGAAGGAA +ATTTTATACCTAAATTTCGGAAAAAAATCAATAAATTATTGCCTTTTTTA +AACGTCACAAAATCGATAATAATTTGAAAATCACAATTTTTTTTTTATTT +TCAAAATTTCGTTGTTCTATCACGGGAACGCAAATTTCTGAGAATGCGTA +CTACACAACACATTTGACGCGCAAAATATCTCGTAGCGAAAACTACAGTA +ATTTGTTAAATGACTACTGTAGCGCGCTAGTGTCGATTTACGGGCTCTAT +TTTAAGCTCAATTTTAATTTCTATCGATAAATATATGATACAAAATATTG +ATCCCGTAAACCGACACTAGCGCGCTACAGTAGTCATTTAATGAGTCACT +GTAGTTTTCGCTACAAGATATTTTGCGCGTCAGATATGTTGCGCAATACG +CATTCTCAGAATTTTGTGTACCCCGTAATAAAAATTCGAGTTTTTCTAAA +CAAAAAGTTTAATTTAAAAAACCTCTAATATTCGAGATATTCGATTGGCG +ATTTATTGATCTATTGATTTTTCGATAAATATTGATTTTTCAATTTTTAC +AATATTCGAAACAATTATCGAAATTTCAAAAAACTAACAAAAAATATTTG +CGGAGGAAAATCGATAACTTTTCAATGTATATTTTCTGAAATTCCATAAA +ATTGATTTTTCTAAATTTAATTTGTTCGATTTTCGGGTTCTCGGTTTTCC +TAATTTCTGTAATTTTGAGTCGATAATTTTTTGTTTTTTTTTTTCAATTG +AAACTTTTATTGATCAAGGATTTCTGGCTTCCCTCATAAATTGAAATAAG +AAGAGTTTGCCGAACTAGGCCATTCTGGCTCGGCCATATCTGGGGTAGAA +TTACGGCGCGTTTCGTGTCGCGTCGCGCCTCGATTTTAGTTGTAAAACTA +AATGTATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCA +GGTGATTGTCAATGGAGCGCGAAAAATGCAATGAGGAAAGCCAGAACCCC +GTGATTGATTATTGAGTTTTGGAAAACTATTTTAAAAAACCTGATTTGAA +AGAAAATATCGGTAATTTTTCGGATTTTTAACAAGAAAAAGGTTTTTATT +TCCGGAAACTTTCATTTAATAATTATTTATTTATTGATTTCTCGGAAAAA +TTTGCCGAAATCTATCGAACTATAGTCGAACAATTGGACGAAAAGTCGAA +AAAAAAATTCTAGGCCACGAATTTCCTCTTCCAGGTTGACTTTATGTCAC +ACGACGCTCTGCCATACCAAGGTCCCGCCGGAGAAGACATCTACGAGAAG +CACCGCACTGCTGGCATGTTCCTGGAGACGCAGAGAACCGAAGGAATATC +GACGAGCGATTCGATTTGTCGAATTATCCGCGACTACGACACGTATGTCA +GAAGAAATTTGCAGAGAGGATATTCGGCCACCGATTTGAACGTTGGCTTT +TTTACAGTGAGCCTGGCCTAGAAAGGGGTGGCCTAGAAAGAGGTGGCCTA +GAAAAACAAAACTCTTCCATTTTTTTCAGACCAGCAAATATCGTCTGCAA +GACACCGTAGTGGGAATAAAAGAAATGGGCCGTGGCCTGCTGCAAACGTG +GAAAACGAATGCGGATTACTTGATTGAAGGATTCTTGACGACATTTGCCA +TCAGTGATCCGAAACCGTTGCCGAACAACAAAAGTGCCGATGAAAATGTG +GAAAATAGGGAGAATATTGAGAATTTTTAGAAAAAATTCGTGTAAATTAT +GGGAATAAAAATTTGAATACTCGTGAATGTTTACTGAATTTATGCAATTT +ATTTTTTGAAATTTTCAATTTTTTTGGAAAATTTTTTTTTCTTAGGCTTA +GGCTTAGTCTTTGGCTTTGTTTTAGGATTAGGCTCAGGCTTAGGCTTAGG +CTTAGACAAAAACTTAAGCTTAGGCTTAGGCTTTTGATTAGGCTTAGGAT +TAGTCTGTCTTTCACTTAGGTTTGGCGTCATTGGCGAGCGTTAGCTCGCT +ATTTAGGCTTGGGTTAATTAGGCTTAGGCTTAGGCCTAGCTTTAAACTTA +GGCTTAGGCTTAGGCTTAGAATCAGGCGGGCTAGGGAAAAAAAGAGAAAT +TCCAAAAATTCCAGAAAAAAGGAAAAAAGGTACATCCCGAAGTCGGGTCA +AAAAATAAAGTGAAGAAATGAAATTTTCACGAAAATGAATGAATATTTTT +GAGTCTCGCGGATTTATTTTCATAATCATATTCTGAACGTATTATTGACT +CGTCGTGTGGGACATTTCAATGGATTTTCCGTAAAAATCTCTGTAGAATT +CCGCATCGGTCAACGATTCTTCACAAGAGCCAAACTCGGCGAGTCGGTCA +AACAAATGTTTGAGCTCCTGAAGAGTAGTTCAAAATTATATATGAATTGA +TTTATCTTGCAAACCTTTCTCCGTTTGTCGGTAAAAAGTCCTTCGGGGCA +GATTTCCGTATCAATCAGACGATTTGCAATGTATACAATCCACATGAGAT +TTGTTCGCCTTGAGAATTTCTCCCAGTTGCCCCTGGAACGTTAATTTTTC +TGAATTTCTAGAAAGGATATAGAAATAGCAACAAAAAAAAAAATTTATCC +AAATAATGAGCTATTTAATGTAGTTTATATTACTACAAATACTTTTCTCA +TAAGAACGTCTTGTTCTTGATAAATGTGTGCTTTAAGAAAAAAAAAAGTC +AAAAATAGAGTCCTGAGATGTCGGGCGTTGTACCTATTAGGGGTGTCAAT +AAGTTCCGGGTCAAAATTCATAACTTTTTTCGTAGCAAATCGATTTTCTT +GAAAATGTGGGAATTTATGTTATCAAACATGGTCTTTCATTTGACGGCAC +TTTCAAAAAGTTTTGACCACTCCATGTACCCTAGCTCGGATCCACTTTTT +TCAGGCGTATGCCCGATCTCGCTTCTTTGTAACTTTCAATTGAGACTTAT +GTGCGGATTTTGATTTATTAAGTATACAATGTAAGAATACAATAAAAATT +TGAGAAAAAATTCGTTCAAAAAAACAATTTTTTTGATCGGCAAAAAACCC +TCGAAAAAAATTTTGTCGAAAACTCTTGATTTTTTGTACAGGAATGATGC +AACCAATTCTGAACAATTTTTTAACACATAAAAGTTTTGAATTTAAGGCG +TCACACACAAGCGGCAATGGAAAAAATGATTTTTTAGTGAATTTTTTGAA +ATTTTTGAGAAATTCTCGAAATCTAAATATTAAATTCAAATGTTTTGTGT +GTTGAAAAATTGTTCAGAATTGGTTGCATCACTCCTGTACAAAAAATCCA +GAATTTCCGACAAAAATTTTTCCGAGGATTTTTTTGACGAACCAAAAAAA +TTTGTTTTTTTGAAGGAATTTTTTCTCAAATTTTTATTGTATTCTTACAT +TGTATACTTAATAATTCAAAATCCGCACATAAGTATCAATTTAAAGTTTC +AAAGAAGCAAGATCGGGCATACGCCTGAAAAAAGTAGATCCGAGCTAGGG +TACATGGAGTGGTCAAAACTTTTTGAAAGTGCCGTCAAATGAAAGACCAT +GTTTGATAACATAAATTCCCACACTTTTAGAAAAATCGATCAGCCACGAA +AAAAGTTATGAATTTTGACCGGTAACTTATTGTGCTACATGCTTGTTGCG +AAATATACCTATTTACCTATACCTATACCTATACCTGCAATTTTCTCTCA +TCTCTCGATATACTTCAAATTGTGGAGCATCTGGTCCTTCAAAAATCGTC +GTATCCTCTTCCAAATCCCAGTAGATAGTTGTCGAATCTAAAATTATATA +TTTTTAATTATAAATTGTATATTTTTTTAATTTAAAAAATAACAAACCTT +TCGAAATGCGGCTAAGTGTGAAATCAATAATATTGACCTTAATTCCATGG +GTCCTCAGTGGAATTTTCTGCCCATGCACAGTGTAGGAGAGCTCTTCCAC +TCCGTTCCGATCGATCAGCACATTACTAAGATTTAAGTCCCTGTGCTCGA +ATTCAAGAGCTGCTTCAGCTGCAACCATTGAGAGAACGAGCTGGTGAATG +ATGGAAAATAGTTCATCTTCACTTTCAAGGACAAAATCTGCCAGCGAGAT +TCCACCATTTGCCGAGACGAAAAGGATAAAGTTTTGATGTTCTGAAGAAT +AAACATCTGGCCTCAAATGTTCGGATTCATTGAGCTTATCGTAGGCATCC +CAAGCTCTCAGTAATCCCTTAGGATATTCCCCCATGACTATTTGGGCTGA +AATCATTTCGATAAAATTCGGCGTAGAATTCCAAGAATTTGGGTCTCTCA +ACGCCGACAGTTCCTTCATCACAATCACCTCTGACAAAACGGCGTGGGTT +GTTGGAATTTCCACGGATTGATTTCCATAGAAACATCCGTTGTTTTCGAA +TGGCAAAACTTTGATAGCAACCGGTCTACCATTCCAGACAGTTGAGAAGA +CTTCACCGTACGCTCCTTCGCCGAGCTTCTTCACTTTTCGAGCATCTAGC +GCCGACGTTGGTAGGCTACCCCATGGTTTTGCTTCTTTTTGGCCAACAAC +ACGGAGAAGTTGTGCCATGGACGGATCTTTATTGTGAAATGTGATACTGC +CAATGGGGATATTTCTAGAATCAGGATGAGCTGACCGAGCACTTGGAGCT +CTTTTGTTCAGTTCAGCAAGCATGCACAGTTCGAAAGCATGCACAGTGCG +AAAATGACTTTTCTGAAATTGTCATCAAAAGTTCATTTTGAAAATTCGTT +TCGGCAAAAAATGCAAATGCATTTCTGAAACTCACCAGTTGTCTCTGAAA +TCGTCGTTCGTTGGTCATGTCGAGTGCAAGAACGGTGGTGGTGACCACTG +CCGTCTTCGTGAACCGCATCCAAGACATGTTTCGGGAGATAACTATAGAA +ATGAAGTTTTGAAAAAAAAACTCAAGACCACAATTATTGAAACACGTTAT +TAGGCCAATAACTTCACACGTGAATTAATACATTATTCATGTATTTTTCT +TTGACTGTTATCACGGGTTTCTGGCTCACGGTAGTTCAGCCACGGTAGCA +CAGAAAATAGATGACCACGTTCATGATAATCAGTCTGAAACCTATATTGG +CTGCTATCTCGAAAACTCTCTAAAAACGCGTTTTGAGAAATTATTGATTT +TTTGGAGAAAATCAGAAATTATTGATTTTTTGGAGAAAATGGGAAATTTT +TCATTTTTATTGGGGAAAATCAGAAATTATTGATTTTTGGAGAAAATCAA +AAATTATTGGTAATTTGAAGCAGGGGTGGGCAGCAATTGCCGTTCGGCAA +ATACGCAAATTACCGGTGTGCCGATTTTCCGGGAATTTTCATTTTCGGCA +GTTTGCCGGTTTGCCGATTTGCCCGACATTTTTCAATTTCGGCAATTTGC +CGGTTTGGCGATTTGCCCGAAATTTTTCAATTTCGGCAATTTGCCGGTTT +GCCGATTTGCCCGACATTTTTCATTTTCGGCAATTTGCCGGTTTGCCGAT +TTGCCCGAAATTTTTCAATTTCGGCAATTTGCCGGTGTGCCGATTTGCCA +AAAATTTTCATTTTCGGCAATTTGCCGGTTTGCCGATTTGCCGGAAATTT +TCATTTTCGGCAATTCGCCGGTTTGCCGATTTGCCCGAAATTTTTCAATT +TCGGCAATTTGCCGGTTTGCCGATTTGCCGGAATATTTCATTTTCGGCAA +TTTGCCGGTTTGCCGATTTGCCCGAAGTTTTTCAATTTCGGCAATTTGCC +GGTTTGCCGATTTGTCGAAATTTTTCATTTTCGGCAGTTTGCCGGTTTGC +CGATTTGCCCGAAATTTTTCAATTTCGGCAGTTTGCCGGTTTGCCGATTA +GCCCGAAATTTTTAAATTTCGGCAATTTGCCGGTTTGCTGATTTGCCAGA +AATTTTTCAATTTCAGCAATTTGTCGATTTGCCATTTGCCGGAAGTGTTC +AGAAGGATTTTTTTATAATAAGGAACCACTTAAAACTGTGCCGTTTTGAA +ACTTTTCCCCGTTTTTTTAAGATGATTTCATAGAATTTGCTTACTTGGTT +TGCCGAATTGCCAGAAGTTTTTCAATTCCTACAAGTTGCCAATTTGCCGG +AAACTTTTTAATTATGGCAATTTGCCGGTTTGCCGATTTGCCAGAAATTT +TTCAAATTCGGCAATTTGCCGGTTTTCCGATTTGCCGGAAATTTTTCAAT +TTCGGCAATTTGTCGATTTGCCGGAAAATTTTTATTTATGGCAATTTGCC +GATTTGCCGGAAAAAAAATCGTTTCCCGCCCACCCATCAGTTGATGAGTT +CATCTTTTTTTTGTGTCTCTCCCATCAATCTTAAACTCGACCCGGACTGG +CAAACGCATATCTACAGTTTTCTCTTCTTAAAATGGTGGTCTTAAGTTTC +GAAGACTATGCGTAATTTCTAGCGAAGTGGCGAATTTATGATGATTTTGC +AATTTATCAATGAAAAAAACAAAAAAAGCATTTCCGCGTGGCAAATTATC +ACTGTTGTGCCGCGAATAGTACTGATATAATTTTTTTTTAAATTGAATCA +GTTTGGAATTTCGAATTTTTGAAACAACCGCCGGCAAAATGAATAATATA +CTGTGAGTTTTCAAAGATTGTTCCCCGGTTTTCTTGTAGATTTTTGTGCA +ATTTCAAAATTTCGACTTTCAGCGGAAACAAAAATACAAAAAGGTCGAAG +AAGAAGGACGGAAAGTTTACGAGCAACACTGCTACTGATCTTGTTGAGGC +CCCAAAACCAGGTGGAGCAAAAGGATCCAAAAAACCAAAACCATCGAAAG +GAAATGACGACAGGGGACGCGGCGAACCGGAAATGACTGCACAATCCAAA +AAAACCAAGAAAGCAAAAAAAGTGAGACAGAAGAGAGATACAAAGGCACC +GGTGAGTTCAATTTTATAGTTTTATAGATATAATTGTATCAGGGGTGGGC +GGCAATTGCCGTTCGGCAAATTGATTTGCCGCCAAATTCGGCAAATCGGC +AAATTGCCGGTTTGTCGATTTGCCGGAAATTTTCAATTCCGGCAATTTGC +CGGTTTGCCGATTTGCCGGAAATTTTCATTTTCGGCAAATCAGTTTTGCC +GGAAATTATAAGACGGAAACACTGTCTTTTTGAATTGTTCCCGTTTTTTC +TACATATTTTCATAGAAATTCATAGAGACAATTTGCCGAAATTTTTCGGC +AAATTGCCGTTTTTCCGGCAATTTACCGATTTGCCGGAAATTTCCATTCC +GACAATTTGCCGATATGCCAATTTGCCGGAAAAAATCGTTTGCCGCCCAC +CCCTGAATTGTATCCCTTTTTAGTCTCCTGCAATGTCACCTCGATCACGT +GAAATGCTGTCAGACAACAAAAAGACGACCGTTGAGGATGATCCAGCAGT +TCCAATAACAACAAGTGTCGCTGGAGCAGTCACTTCTACGATTCCTGCTC +TCATGTCCACTGAAAACGCGTTTCAGCCACCCAAAGACCTTATCTCGGGA +AGAAAGCCAAAAGGTGCTCCGAACTTGTCTGGCAGCGTTCCACTTTCACA +CAAGAGCTCACTGACTGGAGGTGCAGATAAGTGGGTTGGAGAAGCCGTGG +CAAAGAATTGGATGGATTCGATCGGTTAGCATCCTTTTTTTTTTGATTGG +AGGCCCCGGCGGCGTAAAAATCGTGCCAGAGTTGCAAGAGTGGGCGTTTT +TTTTTGTTTTTCTGTTGTTGGTGGGGCCTTATTATTATTTGGTCGATGGT +GATTTTACTTTACTGGTGGAAATCCGCTAATAAAACTAAAAACATCGGGA +TATAAATAAAAACCCAACTTTAAAAAGCGAACCAATCAGCAGTTTGCTCC +GCCCACTATTCAACCAATCCAATGATTGGTTCGAAATTGGGTACTCATTT +TAGAGGGAATTCAAACGGAAGATTAGCAAGTTCGGTTATTGTTTCATTAG +AATATCATTGCTTATATATATATTTAAAAAATAGTGTACGTCATCAATGG +GCGGAGCCTCTCCCATCGTGGTGAGACCCATCGTGGTGAGACACATCGTG +GTGAGACCCATCGTGGTGAGACCCTTCGTGGTGAGACCCTTCGTGGTGAG +ACCCATAGTGGTGAGACCCATCGAGGTGAGACCCTTCGTGGTGAGACCCA +TCGTGGTGAGACCCATCGAGGTGAGACCCTTCGTGGTGAGACCCATCGTG +GTGAGACCCCCATTAATTTTGGCGTGAAATTCAAATTTTCTAAGAACAAT +TTTTTGGCTTTTTTTTTAAAGAAAAATCTGGAAAATTCTAGCATTTTTTT +AGAATAATCTGGAAATTTCTTGAACTTTCTAGCTAAATCTGGAAACTTCT +AGAATTTCCTAAAATAATCTGGAGACTTCTAAAAAAGATCAGGAAATTTC +TAGAACTTTTTTAGAATCTTCTGAAAACATCTTTCTAGAGTATACTAAAA +ACTTCTAGAATTTTCATAAAATTCCGCGAAGCTCGAGGAAGAGATTTGTT +CAAACAATTTAATGTGGAGCCAGTCGGAGCACGCGCTTTGCGCGTGCGAA +CGGCTGGTTTTAGATATTTTGTAGTATTTTTCAAATCTTAAATTTTCAGA +CACAGCAGAGGTGAAAAAGGAATACGATAAACTGCAATCACAGAAAATCG +ATGTGGAGAAGGACTGTAAAACCTGGAAATCCAACCCAAAATTTAACCAA +TCGGAAGACTTTCCTGCCTTGGACTCCAATCTCGTGAAACTTGGCAAAGA +CTATGTGAACATCAGTCTTGTAGATGTTCCATTGGGAAGAAATGTTCATC +TCGGTCAAGCTCCGGTCACGAATACGGAAGAAACATTCTGGAAAGCTGTG +TTCGACAAGCGAATCACTCACATTGATCTACTCGTCGGCGATGAAACCAT +CGAATTCTTCCCTAAAAAGGCAGAAGATTATACAAATTATGGTCAGATGT +GGATCAATAACCGCCGTGTCGAGTATGTCAATGACGATGTGTACCGATTT +GCAATTGAAGTAGTGCCCCACGGATGCTCCAACTCGATCATCTGCAATGT +GACTGTTATCAGCAATTGGAAAGTGGACACTGTGCCTTTGAAACAAGCAA +TCGCCATCAAAGAGGCACTTGGTCTAAACTACTTCTTGCTGAAAGCACCC +GCTGACGAGCATGCGATGATCGTCTCACCACGTGGAGCTGGACGAGCTGG +CTACTTTTTGGCACTTGCGGTTGCAGTCAACACAATTGATACAAAGCTTG +CCGAACCATGTATTGCGGATATTGTCAAATCGATTCGCTCCCAGAGACCA +AGAGCCGTGGATTCATTTTGTCAGTACTGCTCCCTGTACATTTCGTTGCT +CTACTTCATCAAGGTATTGGTTTTTGAATTCTTGTAAAATGAGAGAATAA +TTCTCAAATTTACAGAAGAAAGTGACAAAACCAGCAGAAGGGGATAAAAA +GCCAACACTGAGCAACAAATACATCTACAAGAAGTCGGTTGAGTTGACCA +AGCAATTCACCGTTCTCCTTCTCGAAGCGAGTCAGCAAAGTGTGATGGGA +CCTGGATAGTTCTTCTCCATTTTGAATATGGAAAAGCATTTGAAGTGATC +TGGGTTTGAAAATGAAGAATTTTATAAACCCTGGATTATTTCCGAAATCT +TGCTTCCTGCCTGCTGTCTCATTGCGGCTTGATCTGCAAAAAAAGCGGTA +ATATCTCCCCCAGGAAAATGTGACGTCAGCACACTCTTAACCATGCGAAC +TTAGTTGAAACGTCTGCGTCTCTTCTCCCGCATTTTTCGAAGATCACACC +AAAATGGGATACTTTGACAACACGTGCCTGCCATCGCTTCCTGACCGGGG +ATTTTGTTAGAAAATTCGTGGAAAATAGGAAGAAACATTTCGAGAAAATG +GAATTATTGATTTTCTGATTTTCTCAAACAAAAAAAAATTAAAATCGATT +GATTTCTGGCTTACCTTACCTAAATTGAAATGGAAGAGTTTGCCGAACTA +GGCCATTTTGGCTCGGCTATATCTGGGGTATATTTACGGCGCGTTGCGTG +TCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTG +TGGAGTACACGACTTTCACATGCGTTGTGCGGCGGGCGATTGTCAATGGA +GCGCGAAAAATACAATGAGGAAGGCCAAAACCCCGTGTATTGATTTTTCG +AAAATTTCGGAAAAATCTCTTTGTTTTATTCATTATATTTCTCCTAATTT +CTTTGAAATGTTCAAAAAATCTGATTTTCTTTTTTTTCCCGAATTTTTGA +AAAATCGATATTTGCTATCCATATTTCTCGAAAAGAAAATCGATTTATTA +ATTTTTTTCCGGTTTCCTGGAAGCTAATCAATTCAGAAAAAAGAATTAAG +CTATGAATATATACTTATAAAAGTCGTAAAAGGTATGGAAATATAAATTA +TTTTAAAACAGCGATTTCTGACTGAAGCATCTCAACTACCAGGGCCTCAA +GTTCTTCTTATCCGACAAATGAGACGAGTCGGAGCTATAATTGTGCCGAT +ATTTTCCGGGCGCCGTCTCTTCGAACTCGGATACGGTAGCCTGCCCGACG +TATTTGAAATCGCCCATTAGCACTTCGTGGCAAGCGCCGATTGATGCTCC +GTGGCCGACGAGTAGGAGGTTTCCTGAAAGAAAATCGATAATTTGCGGCG +TGTTTTTATTGATTTTTATGTGAAAATTGGCAAATTATTGATTTTTCGGC +TGAAATCATAAATTACTGATTTTCTGTTAAAATCAGTAATTTATTGATTT +CTTCGGCTAAAATCAGAAATTATCGATTTTTCTGTGAAAATCTGAAATTA +TTGATTTTTCTGCGAAAATCAGAAATTTACGTAGTTTCGCAAAAATTACC +TTCATATTTCTCGAAAATCGCCCGCAGGGTCTTTCCGACACGTGGCACAC +ACGCGTCATCTCCACATCCTTCGCGGGGTAGTGTGTACTGAAAAAAAAGT +TCGGTAATTTTTCTAGGTCTCGCAGCGATTGCCGCCACCGGTATATTTTC +ATTTTTCCAACTATAGCGCCAGCACCGGCGCCGGCATCTTTTTATTTTTC +CACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTTCGCCGCCGCC +GGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATATT +TTTATTTTTCCACGTAGCACGTCGGCGCCGGCAGCCGCGCAAACTATTTT +CGCCGCCGCCGGCATTTTTTACTTTTCCACGTAGCGCGCCAGCGGCGCCG +CCGGCATGTTTTTATTTTTCCACGTAGCGCGCTAGCGCCGCCCCCGGCAT +CTTTTCATTTTTCCACGTAGCGCGCCAGCGCCGGCAGCCGCGCAAACTAT +TTTTCGCCGCCGCCGGCATCTTTTTATTTTCCACATAGCGTGCCAGCGGC +GCCGCCGGCATATTTTTATTTTTCCACGTAGCGCGCTAGCGCCGCCGCCG +GAATTCATTCATTTTTCCACATAGCGTGCCAGCGGCGCCGCCGGCATCTT +TTTATTTTTCCACGTAGGGCTCTAGCGCCGGCGGCATTTTTCATCTTTTC +ATGCAGTGCGCCAGCGCCGCCGCCGGCATCTTCTCATTTTCCACGTAGCG +CGCTAGCGCCGGCGGCAGCGCAAACCATTTTTCGCCGCCGCCGGCGCCTT +TTCATTTTTTAATTAGTGCGCCAGCGCCGCCGCCGGCATCTTTTGATTTT +TCCACGCAGTGCGCCAGCGCCGGCAACGGCGCAATTCTAATCTCGGTCTT +TTTTGAGCGATACCTTCGAGAAAACAGGAATATAGTCCAAATCAACAAGC +GGAAATTTCTCAGCTAGTTTGTCGGTTTCCCAGAATCCAGGAGGCTTATC +ACAAAGATAAAGTGCCTCACAAAGGCCACCGTCCGCCTTCACTTTCATTC +CTTTATCCTCAATAATCGTCGAAGCTGTCTCAATTGTCCGATCGAACGGC +GAGGCAAACGTATGCGAGATTTGTGCATTTTCGAACCGATTTTTGCACTC +TTTCGCCTGTTGCCGACCGCGCACGCTGAGCATCGAATTGTCCGACGTGA +GACCGTCGGCTCCGTCGAGTTTACGCCAATTTCGATTGATATTGTCCTCG +CTGCAATGCAAAAAATCAATAATTTCTGATTTTCACCGTAAAATCAATAA +TTTCTGATTTTTGTTGAAAAATCATTACTACCGATTTTAACTGAAAAATC +AATAAATTCAGATTTTCATTTTTTTTTTCGAAAAGTCGATAATTTCCAGA +TTTTCATCGAAAAATCAATAATTTGTGATTTTCACAAAAAATCAATAATT +TCAGATTTTTACCGAAAAATTGATAATTTCAGATTTTCACCGAAAAATCA +GAAATTATTGACTTTGGATAAAAATCAATAATTTACTGATTTTCATCGAA +AAATCAATAATTTCAACCTTTCGCAGAAAAATCGATAATTTTTAATTTTC +ACCGTAAAATCAATAATTTCTGATTTTCACCAAAAATTAATAATTTTAAT +TTTTTTTTCGAAAAATCAATATTTTCTAATTTTTATCGGAAAATCAATAA +TTTCCGATTTTCACCAAAAAATCAATAATTTCAGATTTTTATCGAAAAGT +CAATAATTTACGAATTTGACAAGAAAAAATCAATAATTTGCTGATTTTAA +CAGAAAATCAATAATTTTTGTTTTTCATTGTTTTTTTTTTCGAAAAATCA +GTACTTTTTTAATTTCCCCAAAAAATCAATAATTTTTGATTTTATTTTTC +GAAAAATCAATAATTTCAGATTTTAACCGAAAAAATCAATAAATTCAAAA +AATTTCATTTTTTTTTTGAATTCTTAAAAGTACCGTTCCGCGTGTCGAAC +AATCCAAATTTTCCGTGGATAAGTGATCGGCATCCTATCGAGATCGGTTT +TAGCTGAAAAAAAACCTTAAAAAATTGGAAAATTGTGTACTCCTCTCGGA +CACGTGGTGTCAGGCTCTCCCATTACGGCTTGATCTACAAAAAATGCGGG +ATTTTTCGTTCTTAACCATACGAAATAAGTTGAGAACTCTGCGTCTCTTT +TCCCGCATTTTTTGTAGATCAACGTAGATCAGACCAAAATGAGGCACACT +GAATGAAGACACCAGGATTTTTCGAAAAACTCTAAAGAAATTCTGCAAAA +AGTGACGTCATGAGGTATATAGGTATGAAATCGAATACTTGGTATCAAAT +GACGGAAAAATAAACGAAAGTTGCAAAATTTTTTGATGGAATTTATTAGA +CTTTGGCGGGAAAACAGATCAAATTTACATTAAAAAATACGGGAAAAATA +CGGGGAAAAAAACCAAATTATTGCCTAAAAAATTCAGGATTAAATTGCGA +GTTGTACTTTTTCTTCTTTCCACGCTTCTCCTCCGAATCCTCGGCGGCTT +TTCGTTTCTGCAGCAGCTCAATTTCCTCGGGATGTAGCAAAGCATGGGCT +CTCGCTTTCTCGACTCGTTCCCGTTTCAGACGCTCGTCTCGCATGCTCGC +CAGCTTCTGCCGTCGTTCTCGATCGTATTCCTCTTCGAGTTGACGTTCTT +CAGAGCTATCACGGTGGCGGTGCTTTTCTGGAAGAAAAATTGGGGGGTTT +TTTTGTAGTTTGTAGTGGTGAGCACCCTATATTGGAGGCGCGAAAAAAGA +GATTTTTCGAATTTTTTTGTAGATCAACGTATGGTTAAGAACGTACTGAC +GTCATATAATTTTGGGCGAAAAATTCCCGCATTTTTGGTAGATCAAACCG +TAGTTGGACAAAAAGCAGATTTTTCGAAAAAAAATTACGAATTTCTGGCT +TTCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGG +CTCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGG +CTCGATTTTAGTTGTAAAACTAAATGTGATTTGTCCGTGTGGAGTACACG +ACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAATGGAGCGCGAAAAAT +TCAATGAGGAAGGCCAGAACCCCGTGGTGGTTCGATGCACAAAACTGATT +TTTTTTTTGAATTTTTGGGATTGCGCAAGAAATTTCGCCGAAAAAGTCGA +TAACTCAAAAAATTCTAAAAAATTTGGATAATCTGGAGAAAAAACCCAAA +ATTTGCTGAAAATTTCGAAAAATTTAGCTTTAAATTTTTGCGCATGGCCG +CCGGAAAAGAAAAAAACTCGGCCACCAATTTTTTGGCGGCCATGATGCAA +GACACCATATTTGACGCGCAAAAAAAGGTGTTTTTGGATGTTTTTTTCTT +TTTCCGCCAGAATTTTTAATAAATTTCCAGGGACAAAAAATCATAACCTG +TTGCAAAAATGTTTTTTTTTTCGAAAAATTCAATTTTGCGCGTCAAATGT +GATGCTTTAAGCTCTGTGGCCGCCGAAAAAGAGAAAACTCGGCCACCAAT +TTTTCACTCTCCATTGACAATAGCCTGCTGGACAACGCGTGGAAAAGTGT +CGTGTACTCCACACGGACAAATACATTTAGTTTTACAACTAAAATCGAGC +CGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCTGGC +CTAGTTCGGCAGAAACTCTTCCATTTCAATTTATGAGGGAAGCCAGAAAT +CCGTGGCCGAAAAAGAGAAAACTCGTCCACCGATTTTTTTTTCTGACGGC +CATGACAAGTTTGCGCGTCTATAATACATCATATTTGACGGGCAAAAAAT +TTTTTAAAGTTTTTTCGAATTTTTGTGATTTTCGAGCAGAAAAAAAAATT +GTCTGAAAATTTATGTGGCCGCGGTAAACTTCGGCCACCGATTTTCGACG +ATTTTGCCCGTGTTTTTGACGGAAAAAGCACCATATTTGACGCGCAAATT +TTCAAAAAAAAAAAAGCCCAAAAATCGCACTTTTCTTCTTCTTCTTGTCT +TTTTTATGCCGTTTCTTCGCCTTTTCTTCACTATCACTATCCTCTCGTTT +CCGCTTCCTCTCCTCTTCCAGCTCTTTCCGCTTCAAACACGGCAGAGCAT +CGCGCGCTTTTCGTCGATCAAGTGGCTCGGCGGCTCTTCGCAGCGGCAGC +TCCTCGTACCACTCTTTTTTCTTGTTTAAATCGTTCGTATTATCCGCGAA +ATACACCTGAATTCCCATTTTCGACTCCCATTCCTTCTTCTCGGCAGCTT +TTTCCGCTTCGTAGTCGCGGTTTCCGGATCCATAGTTTTTTCGTTCTTCA +CGTTCGAGATCCTGCAAAATATCGATTTTTTTTGGAGAAAAATATAGTTT +TTTTTTGGAGAAAATTATCGATTTTTTGGAAAAAATTATCGATTTTTCGG +GGAAAATTAACGATTATTTTAATAGAAAATTATCGATTTTATTTGGGAAA +AAAATCACTGATTTTTTGGAAAAAATTATCGATTTTTTTCGGAGAAAAAA +TATTAAATTTTTTGCAGAAAATTATCGTTTTTTTTTTTGAAAAAAATTAC +CGATTTTTCAGAGAAAAATATCGATTTTTTAGAATAAAATTATGGATTTT +TAAATATAAAATTATCGATTTTTAGGGAGAAAATTATCGATTTTTTTTGG +AGAAAAATATTGTTTTTTTTTGGAGAAAAATATAGATTTTTTTGAAGACA +TTTATCGATTTTTTGTTGATAAAATTATCGATTCTTCGGGGAAAAATATA +GCTTTTTTTGGATGAAATTATCGATTTTTTGGGAGAAAAAATACCGATTT +TTTTGGATAAAATTATCGATTTTTTTGAAGAAAAAGTATCAAATTTTTTG +AAGAAAATTGTCAATTTTTTTGGAAATAAATATAGTTGTTTTGGATAAAA +TTATCGATTTTTCAGCTAAAAATATAGATTTTTTTAGATAAAATTATTGA +ATTTTAAAAAGAAAATTATCGATTTTATGGGTAAAAAATAACGATTTTTT +TGGAGAAAATTATTGATTTCTTCGGGGATAAATATTGATTTTTTCGGGGA +AAATTATCGATTTTTGGATAAAATTATCGATTTTTTGGAAAAAATTATGG +ATTTTTTTTGAAGAAAAATATTGATTTTATTGGAGAATAATATCGAATTT +TTTCGGGAAAATATCGATTTTTTGGAGAAAATTATCGATTTTTTTTGAGA +AAATTATCGATCTTTTGGGTAAAATTATCGATTTTTTGAAGCAATTCTGA +GCCAAATTTTGAATTTTCGAGCGGCAATTTTTGCACAAAGCATCATATTT +GACGCACAAAATTCGAATTTTTCAGAATTAGTTTCACAAAAAATCCATCT +ATCACCTGAAACAAGTTCACATGTCCCGTTTCATCTGAAATGCTGACATC +TTTTGCTGCTCCAGCTGAGCTCGAACCAGCTCCTCCACTAAACATCGTCT +CCATTCGTTGATCGGCTCGGGCTCTCAACTGCATCAGGCGCCGCTCGTTT +TCCGCCTGAATTTGCCTGTCGAGCACACGCTGCTCATCTTCGGCGGCTTT +TCGCTCGTCTCGGCGAACCCGTTCCATGTTGGATTTTGTCCGAACGTGCC +ATGATTTGTGATGGAGAATGTTCATCTGGAAGCGGAAATTATAGAGAAAA +AATTGATAATTGTGCTCGAAATTTGGCTCTGGAAGAAGCGCAAAAAATCA +ATAATTTCGTCCAAAAATCTATTTTTTTCAGAAAAACCAAAAAGCGTTTT +TTTTTCCAAAAATAAAGATAATTTTCGTCCAAAAATCGATAATTTACTTC +TAAAAGTCTCAATTTTTCCAACAAAAAAAACAATTTTCGTCGAAAAACCG +ATGTTTTCAGAAAAATCAAAAATCAAAAAAAAAATTAAAAAATTAAAAAA +AAATCAATAATTTTTTCTAAAATCTTGCAATTTTTTTCTAAAAATCGTTT +AATTTTCTTCTAAAATCGATATTTTTCCGGATTTTTTCGTGAAAAAAATC +GTCAATTTTATTGAAAATTTTGCTAAATTTCGAAAAAAAATCTTGAAATT +TCGATGCACCATGATTTTGAAAATTCTGCTCCGGATCAATTTTTCGAGAA +AAATTATCGATTTTTGGAAACTATCATACAAAAATCGATAATTGTGCTCG +AAATTTGGCTCTGGAAGGAGGAAAAATCAATAATTTTCTTCTAAAAATCG +ATTTTTTTTCCAAAAAATCAATAATTTCGTCGAAAAACCGATGTTTTCAG +AATAATCAAAAAAAAAATTAAAAAATTAAAAAAAAATCAATAATTTTTTC +TAAAATTTTGCAATTTTTTTCTAAAAATCGTTTAATTTTCTTCTAAAATC +GATATTTTTCCGGATTTTTTCGTGAAAAAAATCGTCAATTTTATTGAAAA +TTTTGCTAAATTTCGAAAAAAAATCTTGAAATTTCGATGCACCATGATTT +TGAAAATTCTGCTCCGGATCAATTTTTCGAGAAAAATTATCGATTTTTGG +AAACTATCATACAAAAATCGATAATTGTGCTCGAAATTTGGCTCTGGAAG +GAGGAAAAATCAATAATTTTTTTCTAAAAATCGATTTTTTTTCCAAAAAA +TCAATAATTTCGTCGAAAAACCGATGTTTTCAGAATAATCAAAACAAATT +TCAAAAATAATAAAAAAATCAATAATTTTTTCTAAAATTTTGCAATTTTT +TTCTAAAAATCGTTTAATTTTCTTCTAAAATCGATATTTTTCCGGATTTT +TTCGTGAAAAAAATCGTCAATTTTATTGAAAATTTTGCTAAATTTCGAAA +AAAAATCTTGAAATTTCGATGCACCATGATTTTGAAAATTCTGCTCCGGA +TCAATTTTTCGAGAAAAATTATCGATTTTTGGAAACTATCATACAAAAAT +CGATAATTGTGCTCGAAATTTGGCTCTGGAAGGAGGAAAAATCAATAATT +TTTTTCTAAAAATCGATTTTTTTTCCAAAAAATCAATAATTTCGTCGAAA +AACCGATGTTTTCAGAATAATCAAAACAAATTTCAAAAATAATAAAAAAA +TCAATAATTTTTTCTAAAATTTTGCAATTCTTTTTTCTAAAAATCGATAT +TTTTCCGGATTTTTTTCGTGAAAAAAATCATCAATTTTATTGAAAATTTT +GCTAAATTTCGATAAAAAAACGATTATTTTGAAATTTCGATGCACCATGA +TTTCGAAAATTCTGCTCCGGATCAATTTTTCTAAGAAAATTATCGATTTT +TGGAAATCATCACACAAAAACCGATAATTTTGTGAAAAAATTCGATTTCG +ACGCACCATGATTTCGAAAATTCTCAGAATTTTAGAAAATTTATCGATTT +TGTGTAGAAAAAATTCGAATTCCAGTGGAAAAATTTTCTTTTCTCAAAAA +ATGTTTGATTTAAAAAAAATCGATTTTTTCAGAAATTCAGGCATTTTTTT +GCAAAGTAAATTGGCAAAAATCGATGATTTCACTGTGAGAATGGGAATTT +TTGTCAAGAAAAATATAAAAAATTGCCTTAAACAATTAAAGTGGTTGTCA +AAAAATTGAAATTTTGGAAAAAAAAATATATTTACAGATGAATTTATTAG +AAAAATTCCACAAAAAAAGAGGTTCCATCTAATATTATTATGTCGCATTG +GGGGTTATATCACATAATTTTTTTTTGTTTCGGTTGCCGTGGAGAAGGGG +GAAAATATCACATTTTTCAGAGGAAAATCACAATAAATATAAGGAAAATT +TACAAAAAAAGGCGCGGGGGGAAATTTCTTCACAAAATTATCGATTTTTG +GGTGATAATTTCCAAAAATCGATAATTTTTATAGCAAAATTGATCCGGAG +CAGACTTGGGATAAAGCAATTTTTGGAGGGGGAAAATGAACAAATTAATA +AAATATAATATATTCGGGGCAAAAAATGGGAAATAATTAAATTGTCGGAA +CATATAAATGATTAATTGATTGAGCCAATGGCATTGGTTTCATGTGAGCC +AACGCTTCATTACAGAACACTTCCTCCCGATGACGTAGCGGACGAGAATG +CTCGACACGAGCAAGACGGTAGGCTCTAGAGGCGTTTATCTGGAAATTTT +TAGTGAAAAAATGAAGAAAAAAAGCTTTTTTCGCTGAAAATTCCAAGATT +TTCGGTTTTTTTTTTGCTAATTTTTTTTAAATTTGCCTTGAAATAAATTT +CCAGATGTTCAGTAGTTTTTTTTTCCTTCAAAAATCGATTTTTCAATTAA +TCAAACATTTTTCAGAGTATTAATAATTATTTTTCCACCAGAATTTGAAT +ATTTTATCCAAATTCTGAGAACCGGCTCACAGAGCGGCTTTTACTACGTG +GCCTAGAAAAATCAAAAACTCGGCCAATGATTTATCTGGGATTTTTGACG +TGGGATGTTTCTGAAACTTGACGAGAATGTTCTCGAATGGGGGTTCTATA +GTTCCACCGTGGCGATTTTTGAGAAAATGTTCCGTATCCATGTTATGAAG +GTGGCCGAGTTTTCTTATTTTACGGCCACGTAATAAAAACCGCTCTGTGG +GCTCCTGAGCAGAATTTTCGAAATCATGGTGCATCGAAATTTCAAAATTA +TCGATTTTTTTTTTGAAATTTAGCAAAATTTTCAATAAAATAAGAAATCA +TGGTGCATCGACAAACCAATTTTTTCCATTTTTTCGGAATTTAAAATAAA +ATTTAAAAAAAAGTAAAATTCTGGAATTTTACTTTTTAAAAATATTTTTT +TCAAATTCTGGCAGTTTTAAAATAATAAAAAAACGTTTTTTTTCCATTTT +TTTCAAAAATTTTTTTCTGAAATTTAGTACTACAAATGTAAAATTTACAG +GGTTTTCACAGGAATTTTCAATTTTTTTGATTCGCTTTTCTTCAAAAATT +CTAAATTTTCAGGTTTTTTTTTCCAATAATTTTTAATTTTTGTGAAAAAA +AAATGTTTTTAATTTTTTCAGACTTAAAAAATTGTGACAACTTTTTTCAA +TTTTTTCCGCAAAAATAAATTTTCGGAAATTTCAAATTTCCTACAAAAAA +CCCCTTACCACAGTAAGCCTAACCAACTGTGAGAGCTCGCTCATCGTGAC +TAGGGCTCCGTCGAAAAGCGGCCCAAACTCCAGAGCCGACGCCGTATCGA +CGCGCACTCGAACCATCTGAAAAACCAAATAATGGAAGAGTTTTTTTTCG +GCCAAGCCAGGCTGCCCCATTTGATCTACGTAGATCTACAAAAATTGCGG +GAGAAGAAAAAAGAGACGCAGAGTTCTCAACTGATTTCGCATGATTAGGA +GTGTGTTGACGTCACATTCGCAAAAAATTCCCGCATTTTTTGTAGATCAA +ACTGTAATGGGACAGCCTGGGACCACGTGCAGTGTTAGGCTGTACCATTA +CGGTTTGATCTACAAAAAATGCGGGAATTTTTTGCAAATGTGACGTCAAC +ACACTCCTAATCATGCGAAATCAGTTGAGAACTCTGCGTCTCTTTTTCTT +CTCCTGCATTTTTGTAGATCAACGTAGATCAAGCCTCTCTCTCTCTCTCA +CCTTATCACCGACTTGCTCCAACACAATCAGAACATCACAAAACTTGGTG +GCAATCGTTTCGCGGGTGTACACTTTCCGTGTGTTCTCAGTCCACACCAC +ATGCACCTCATCGTTTCCGATATGCTTCCACTTCTGCTGCACATCGCCGT +TGAGCATCGTGCTCACATGGAATATCACCTCAGCCTCGGCGTCTGCAAAG +TACGGAGCCCGTGTCTCTACGGGCAGGCCACCGGTGTAACCATCGTGTCC +TCGACCCACTTTGACCTCCCATCCGAGCTCCGACGTGAAGCTGTCAAATT +GCGCGGAGGCGGAGGCGGTGGTGTTGGACAGGATCGATGCTCGATCTTCC +TGCGATTCTCCTACATAGATCACAGCGACTTTGTGGACTTCACGAGAAGA +AGTCTGATCTAAATGCTTCAAGTCACGCGGGAAATTCGCGTGAACCTGAG +ACACAAGTGGGACGAATCCCAGGGAAGCCGACAGCGATCTCCATTCGAGA +AGCTTCGCGTTCGGAGTGAACGCTGGCAAATGATCGTGAGCCGCCGACGA +TGTGCCAAGTGGCTGTGGCTGCCGTCTAGACGTCTCAATCATCGATGTAA +ACTGTGCGGCACCATCGACAGGCGACGGGCTCCCACGTGACGGGGGGTAG +TCCGGTAGATCATCGAACGGATCATCCATCGCTCCGAGGATCCCCTGGCT +TTCCCGACCGGGACGTTTTCCCTTGAGAGCCTCTTTGCGTAGCCAATTGG +TCACGTTGGTGGCAGGCTTGCGGACATCCTCATGGGTATCTAGATCCCAG +ATATGCCGGCCAACTACCGTTCGGGAAGTGATTTCGCAGGGGGATTTGGC +GTGGAAATCCTTTCGGGACACCGAGATAATCGCCGATTGCCGATTAATAT +ACACGGTTTTATCCTCTCCTTGTAGTGGCGGTGCTCCTGCAGAGCTCCAT +CTCTGAACCTCAAAACCTCGCACCGGATACTGACCACCGAGCGTGACAAG +CTCTCCATGGAGCACCATATGCCTATCGGCCAAGATACCGCGAATGACGA +GTGGCATTTGAGGTTGTGGCCATTGCATACAAAGCTTCACCATCTGCCAC +TCGATCTCGGTTCTCGTACGCTCATCGCGTAGGAGCGAGGCGGCACGGAG +CAGCGCCTGGAGCAGTGTGGTGCTCGAGAACTGGGCGAGCGAGGCGATCG +ACGAGCAGAAGAGCGGAATGAGCCGCATCGCGAACTGATGGGTTTCGATG +GTTTTCAACGCGGTGAGCACCAAGTCGATTTGGGCTTTTTGCACGATGAG +GATGGCTAGCGAGTTCACGATTACTACGGCGTTCTCCGATACGTCTGTAT +TGACAAGCTGATCGAGAAGGATTTGCTCGGCTCCAGGATACGATGAAGCT +AGCATTGAGAACAACTTCAACGAGTTCGAGGACACCTTCGTGTCCTTCGA +GCTCTTCGCCGCCTGCAACATTTTCGGCAAATGCTCCAGAGCTCGCGGAG +CAACAATTGATAGTTCGTGTGCAGAGAGCCCACAAATCGCCGGAACCACT +AGTTGCTCCTTGGATTGCATAAGACGGATGAAGCAGAGAAGAATGTTGGC +CGAGAGCAGTGGCGGTGGCCGACGGATCGTTGATTCGTTGAGAATTGCAC +TTAGAGCCGGAACACAGCGGGGCAGCAGGATTGGGGGTACGGTAACGAGG +CGGCACGCGAGCCAGTGGGCCAGTGGGTGCAGGTTTACCTGGAAAGCAAA +ATTTTTTTTGGCTTTTTTTCAACTCGAATTTTTTTTCTAAATTTTTTTGT +AAATTTTCTAAAAAATAATTGTTCGATTTCAGAGTGCCTCATTTCGTGCG +TGATCTACGTTGATCAACAAAAAATGCGGGACTGATTCTGCATGGTTAAG +AACGTGCCGACGTCCTATTTTTTGGGCAAAAAATTCCCGCATTTTTTGTA +GATCAAACCGTAATGAGACAGCCTCACGTCGTGCCAGAAAGTCCCATTTC +GTGCTTGATCTACGCTGATCTACAAAAAATGAGGGGCTGATTGTGCATGA +TTAAGAACGTGCTGACGTCACATTTCGTTTGGCAAAAATTCCCCCATTTT +TTGTAGATCAAACCGTAATGGGACAGCCTGACACCACGTGATCTTCAAAT +TCCCGCCAGCCTGAAACCCACCAAAAGCAAGTTCTCAATCGTCAATGACA +TGCAATCGATTGCCACGTGGGCACTCGAGTTGGTATACGGATCCACGAGT +GAGATGACACGACGCCACGTTTGAAGCCACGCCAATTTGTCGCCAGACCA +AGACTGAAAAAGGGAAAAAGTGTGATATGCGCCTTTAAGAAAGGGTTACT +ATAGTTGTCAACAACAGAAAAAAATGCTGAAAAGGCATTTTTCAGGGTCT +ATTTTCACAATGAGTTTGGGTATAAATTGGAGAGTTTTCCATAGATAATG +CGTACTGCGCAACTAATTTGACGCGCAAAATATCTCGTAGCGAAAACTAC +AGTAATTTTTTAAATTACTACTGTAGCGCGCTGGTGTCGATTTACGGAAA +TTAATTAAAATAATTGATAAACAAAACAGAAACTATGTTCAAAAATCGAG +ATCCCGTAAATCGACACAATCGCTACAGTAGTAATTTAAAAATTACTGTA +GTTTTCGCTACGAGATATTTTGCGCGTCAAGTATGCTAAAAAATATGTAG +TTGTGGGAGCCTTGTGAATTTTTAGAAGGTTTTTTGAAAAATAACTCGCC +ACTATTAAAAAAAATATATATTTTGAGGCATTTTCAAAGGGTTAAAGTAA +TTTTTTACTTTTAAAATCGTTTTTTTTTATAAAATAAATTTTAAGCGTTT +TTAGTACAATTTTCGTAAGTTTTTCGTTTTTTTTTTGGTCATATTTTGTA +GTTTTTTACACTATTTTCCAGAAATCGTCAGAAAAAGCACTTAGAAACGG +GCTAGAAAAACGGGGTTTCGGCTTGCTGCGAAACTTTTTTTTTTGAAATT +ACCGCGCAAAAATAAATTGTCATTCAAGTAATGTTGCAAAATGTATTAAA +ATATAGGTTTTTAAAAATGTATTTTAATACAGTTGTGACGTAATTTTTCT +ATTTCAATTTTTGCAAAATAAGAAAAAAAATGAATGTAAAAAAGTTAGAA +AGTTTTTAAAACACATTTTATACAGGTCATTACGCTCTATTTTCTGCCAT +TTAAAGCGAGAATGTTTTTTGACACTACATATATAATATTAGGTCTCCAA +ATAAGATCCGGGTCAAAAATCATAACTTTGTTCGCTGTGTATCGATTTTT +ATGAAATTGTGGGAATTTGTGTTATCAACCATGATCTTTCATTTGACAAT +AGTCACAAAATTTTTTGGCCGTCCGAAGTGCCCGTACTCGGAGCCAATTT +TTTCAGACATTTTTCAGATCTCGCTTCTTTTCAGGTTTCAACTGAGGTTT +GTGTGCGGATATTGCTTAGTTTAGTACACAATGTAAGAAAACAAAAAAGT +TTGGAAAAAAATCCGTCCAAAAAAAATTTTTTTGTCGCTCGTCAAAAAAT +CTACAAAAAAAATTTTGTCGAAAATTCTTGAATTTTTATACAAAAATGAT +GTAACCGTGTGCAAACTAATTTTAAACATACAAAACATTTGAGTATGAAA +TTTGGATCTCGAGAAATACTCCAAAAACTCGAAAATAGTTCGAAAAAGCT +GTGTTTTTTGTTATTTTTTTTAGTGTGACGCACCAAATTGAAATTTTTTG +TATGTGTAAAAATAGTTTGCACATGGTTACATCATTTTTGTATAAAAAAT +CGAGAATTTTCGAAAAAAAATTTTTTTGAAGATTTTTTGACAACCGACAA +AAAAAATTTTGTTTGGACGGATTTTTTTCCAAACTTTTTTGTTTTCTTAC +ATTGTGTACTAAACTAAGCACAATCCGCACACAAAGCTCAATTGAAAACT +GAAAAGAAGCGAGATCTGAAAAATGACTGAAAAAACTGGCTCCGAGTTAG +GGCACTTCGGACGGCCAAAAAATTTTGTGACTATTGTCAAATGAAAGATC +ATGGTTGATAACATAAATTCCCAAAGTTTCATAAAAATCGATACACAGCG +AACAAAGTTATGATTTTTGACCCGGATCCTATTTGGAGACCTAATATATA +TATATATATAAAGATACCTACCGTAACCGCATTTGTAATATCATCAGTGT +CATGAAAAACGTTATCCTCTGCAATTGTGTTCGACGATGACATACTATCT +CCAGTCTCTGACGAATCATTTCTCGGGTCTTCCATCATTGCCGATTCGAT +TGCCTGTCGTCGACTGTTCTGTGAGACTTCTGTCGCTTTTCGGAGAGCTT +CTTCACGGGAGAATATGTCGATATGGGCGAGATGGAGGATTAATGCTCGC +GTTACACTGTTCACAATCTGAAGATTTCGTTTTATTTTTTTGATTTTGGC +TGGAATTTCATAAAGCTATGCTTTTGTTGAAATTTTAGTTTAAAAAAATA +AGGTTTTTGAACTGAAAATTGGGATAAGAATTAGAAAAAAATTTGTTTTT +TCTCTAAAACTGCTGCATTTTATTCAATTTTGTAAGATTTTCTGTACAAA +ACATAATAATTTTTGAATTTTTTTTCCAAATTTTTTGAAATTTCAGCAAG +AACTGGACAAAAAGCACTACTTTTACTAAAATTGGCAGCATTTAGGAATT +TCTGAAAAAAACAATTAATTTTCATTATTATTGTCATATTACAGGAACAC +ACTATTCTGAGAATGCGTATTACACAACATATTTGACGCGCAAAATATCT +CGTAGCGAAAATTACAGTAATTCTTTAAAAATGACTACTGTAGCGATTGT +GTCGATTTGCGGGCACGATTTTTTGAAATGAATTTTAATCATATTTTGAG +CAAAAAATGGGTCAAAAATCAAGCCCGTAAATCGACACAATCGCTACAGT +AGTAATTTAAAGAATTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTC +AAATATGTTGTGTAATACGCATTCTCAGAATTTTGTGACTTTTCAAAAAA +AAAAATCGTGATCAAAAAAAATTTTTAATTGTTTTTTAAGATGAAATTAC +GATTTTTTTCGTTCTCTATAAATTTTGATCAAATTTATTTCAAAAAAAAA +AAAAATTCTTTCTATATTTTTTTTTTCGAGTTTTTTTTTCTATCTTCTGT +ACAAAACACAGCAATTTAAAAAAAAGGCAAAATTTTAAGATTTTTCTAAA +TCTAGATTTCTAATTTTCCTCGGGGTTCTGGCCATCATCCTCATAAACAG +AAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGAAACTCTTCCATTTC +AATTTATGAGGAAGGCCAGAGCCTCGTGGAAAATTAGAAATTAGATTTCG +AAAAATCTTAAAAGTTTGCCAATTTCTTATTAGATTGATGTGTTTTGTAC +AGGAAATTGAGAAAAAAATCGGCAATTTTATACAATTTAATTTTAAAAAA +TATAGTTAAAAATAGAAAAATTCAATGAAACTGGAAAAAAATGTTTACTT +TGAAAAGTTAAAAAAAATGAAAAAAAAACTCAAAAATTGAATAAAATGCG +GCAATTTTTGAAAAAAAAGCTTTTTTCCATAGTTTCTGTCAATTTTCGGC +TAAGATTAATTTTTTTTCATCAAAATTTCGATTTTCATACTCTCTTACCG +AAGCCCATTGCTCAGCCATCGGTATCCAAACACCCTTCTTCATGACGTCA +TGCACCTCATCCCACACCTCATCGTCAATTTCGATGCGTCTGACAGCCTT +AATCACGACGACATTCGAGATGAGTGTCGACGTAAAAGCAGCCGACACAT +TCTGGGAAAACGCGTCCGATTGGCGACAGATTTTCGAGGCGCATGTGCAG +AGTCCCGCCATTAATTCTGACCAGAATTTTTGGGGAAGCGGTTTTGGGAG +TTGAATTCGATGGGAAACCAGCTGCTTGCACGATGTTAGAATCGCAAATG +CTATGGAGATTGCCGAGGAGTGACTGGAAAAATATTTTTTTTTAATTTTT +AAAGGGATTTTGGGAAATCGAAAAATTTAAAAACTCGGATTTATGAAGTT +TTTGGCAAACCGGCAACTTCTGGTTTTTGGAATTTCGCCACTTTTTAACA +ACCGGCAATTTGGCGATTTGCAAATTTTTGGAAAACCGGCAATTTATGGT +TTTTTTTTCGGAATTTTGCTAATATTTTTAAAACCGGCAATTTGCCGATT +TGCAAATTTTTGGAAAACCGGCAATTTGTGGTTTTTGGAACTTGGCCACT +TTTTATAAACCTACAATTTGCCGATTTGCAAATTTTTGGAAAACCGGCAA +TTTCTGGTTTTTTTTTGGAATTTTTCTAAAATTTTAATAAACCGGCAATT +TGCCGATTTGCAAATTTTTGGCAAACCGGCAATTTGTGGTTTTTTTGGAA +TTTTTCTAAAATTTTAATAAACCGGCAATTTGGCGATTTGCAAATTTTTG +GAAAACCGGCAATTTTTGATTTTTGGAATTTTGCTAAAATTTTTAAAAAC +CGGCAATTTGCAAATTTTTGGAAAACCGGCAATTTGTGGTTTTTGGAATT +TTGCCACTTTTTATAAACCGACAATTTGCCGATTTTCAAATTTTTCGGCA +AATTGCAGGTTAATAAAAAGTGGCAAAATTCCAAAAAAAAACCAGAAATT +GCCGGTTTTCCAAAAATTTGAATATCGGCAAATTGTAGGTTTATAAAAAG +TGGCAAAATTCCAAAAAACCACAAAATGCCGGTTTTCCAACTCTTTCAAC +GAGAGTATCCAATTTTTTAAATAGAAAAATTGCCGTATTCCCTACCGTTC +TCCACACATTTGCCGATTTTCAAATTTTTGGAAAACCGGCAATTTTTGAT +TTTTGGAAGTTTGTAAAAATTTTTTAAAGCGGCAATTAGTGGTTTTTGGA +TTTCTGTCACTTTTTATAAACTTACAACTTGCCGATTTCAAATTTTTGGA +AAACCGGCAATTTGTGGTTTTCAAGTTTTCTGCTAATTGGCAAACTGGCA +AAATGCCTTATTTTGGAAGTTTAGGTAAATTCTCAGAACACCGGAATTTT +GACATTTTTCAAAATTCCAAAAACCACAAATTGCCGGTTCGCCAAAAATT +TGCAAATCGGCAAATTGCCGGTTTTTAAAAATTTTTGCAAAATTCCAAAA +AACCACAAATTGGCGGTTTGCCAAATTTGCGAAATTCCTAAAACTGGAAA +TTGACGGTTTTCAAAAAAAAAAAAAGAAGGGAAATCGGCAAATTACAGAC +TTACAAAAAGTGGCAAAGTTGCAAAAGCCAGAAATTGCCGGTGTGCCAAA +TTTGCGAACATTTGAAAATACCACAAATCAAATTGCCGGTTTGCCGAAAA +TGTGCAAATCGGCAAATTGCCGGTTTTTGAAAATTTTTGCAAAACTCCCA +AATTTACAGAAAAAATTCCAAAAATCAAAAATCCGAATTATTCCAGAATT +TTTTCTTCGGAAAAATTAAAAATTGTTCAATTTTCCAACATTTTCAACAA +GCGTATTATCGAAAAAATACAATCGCACAAATTTCTCGTAATTTATTTTT +GATCTACCTTGTTGACTAGGCTCCGCCCCTAATCTTGTTGCTGTTGTTAT +TGTTGTTGTGGCTGTCTAGTTGAAGGAAGGGGCGGAGCCTATTCAACGAG +GTAGATCAAAAATAAATTATGAGAAATTTGTGCGATTGTATTTTTTTTCG +ATAAAATCCAATTTTTTAATGGAAAATTGCCAATTCCCTACCGTTCTCCA +CATTGAGCCAAATACGGACTGTGAAAGAAGCCCAACAAGATATTCGAGAG +CAACAGCGAGCATCGTTCAATCGATACTTCTCCAGACGCTACGAATGGTG +GAATTTCGTACTGCAAAAGCCATGCGGAGAGCACATTTACCACTTTATGA +GTGACATTTGAGCATGCCAATGGGAGTTTCATTGCTTCACGCATTAGTGT +TAATGCTACGTTTGTTGCCTGGAAAAGGACAAAAAAAACTATTTTTTTAA +ATGTAAGTAATTAATTTATTTTTTGAAATCTCTTTAAATGTGGTGTAGTC +GAATATTTTTTCAATTGCTTAATTACCCTCAAAATTGTCTGAAAACACCG +AATTTCATAATGAACTTCTTGAAAACTTCTCAGAAAAAAGTTATGACGCC +TCAAAAAATGGCCTAAAATTGGTTAAAATTTGAAATTTGACCTACTTGCC +AAGCGGCTGGAAACTAGCTTTTTTTTGAAATCACTGTCAAATTTTGAGTA +TTCAATTTAATTATCTTGCGTTTTCAACTCGATTCAGGTATTTTAAAATC +GATAAACGAAGAGATTTTTAAAAATTATTTACCAAATCTCTTCTTCCATC +GATTTAAAAATACATAAATTTAGTTGAAAACGCAAAATAATTAAATTGAA +TACCCAAAACTTGACTGTGATTTCAAAAAAAAGTTAGTTTCCAGCCGCTT +GACAAGTCGGTCAAATTTCAAATTTTAACTAATTTTAGGCCATTTTTTAA +GCCGTCATAACTTTTTTTTTTTGAGAAGTTTTTCAGGAAGTTTCATTATG +AAATTCGGGTGTTTTCAGATAATTTTTAGTATAATAAAGCAATAAAAAAA +ATTCGACTACACCAACTTCAAAAATGTAAGCAATTTTATTTTGAAGGCGG +TTTTCTTTTACTTTTCTAAAAAAAAAATTTATTCAATTTTACGATTTTTT +GCGTAAAAAAACACGGTCAAATTTTTGTTAAATTCGAAAAGGCGTGTCCA +TTACGGTTTGATCTACAAAGAATGCGTGAATTTTTAGCCCAAAAAGTGTG +ACGTCAGCACGAAAATTCTGCGTCTCTTCTCCCGCATTTTTTGTAGACCT +ACGTAGATCAAGCCGAAATGGGAGAGCCTGACACCACGCGCGTGTGCGCC +TTTAAAGTGAGTACTGTAATTTCAAAAATTCCACAACATCGAGAGTTTGA +AACTACAGTACTACTATTTAAAGGCGCACACACTTTTTCGAATTTAACAA +TAAATTGTCGTGTTGAGACCGTATTTAGGGCTCAAAAAAAAAATAATTAT +CTCGTTAGAATATTCGGGAAAGTTGCAGTTTCACTGAAAATTTGAATTTC +CCGCCAAAACGAATTTTCTCCGAAAAATTTGAATTTCCGCCAAAAAATTT +TTTTAAATCAGAAATTTGAATTTCCCGCCAAAATCGTATTTCTCAGAAAA +TTTGAATTTTCGCCAAAAATAAAAAAAAAAATTTTGGCGCGAAATTCAAA +TTTTCTGAAAAAAAAATATTTCGGCGGGAAATTCAAATTTTCTGAGAAAA +TATTTTTTGGCGCAATTTTTCATAGAAATTTAGTTCTTTTGATGTGTAAA +TTTCCAAAAATTTCAACAAAAAATCGCATTTTTCTTATTTTTTCCCCAAA +ATTTTCAAATTTTCTCCTCCAAAACCACGGAACTTTATGCGACGAAAAAA +GCGCATTTCGATACAAAATCAACGATGCATGTGTAGTTTGTAGTGTTGGT +TGTCCTCCAGCCGTTGTGTGAGTTGTTGCCGATGCAATATTATTAATCCA +TCGAATTAGCCAATATCTTGCAATTACCACCGGATCAGCTGTATCCAATG +GTTCACCATTCTCATCGGCTCCTTCCCAGCCACCGAATACATCGACTCCG +TTCGTTTCCAGATCGGTGAAGCATTCGCCCATGTATAGCTTTATTACTCT +GAAAATTGAAGAGTTTTGTACTCCTCTCGGACAATTGGAGGTGATTTTTT +TTTTCGAATTCTTTAAAACAAAAATTTCCCGAAATTGAGCTTTTAAAATT +TTAAAATTTCAAAATTTCAAAATCAAAAAAAAAAAAAAAAACTTTTGTAC +AAAATTTAAAGTGGAGAATTTTTGTATTTTAGACAAATTTTTTAAACATT +TCTAGCAGAGTTGAAAATTTCAGGCAAATCGGCAATTCGCCGAAATTGAA +AATTTCTCATAAATCGGAAATTGCCGAAAATGAAAAATTCCGGCAAGTCG +GCATATTGCCGGAATTGAAAATTCCTTACAAATCGGCAATTTGCCGGAAT +TGAAAATATCCGGCAAATCGGCAATTTGCCGGAGTTGAAAATTTCCGCCA +AATCGGGAATTTGCCGAAATTGAAAATTTCGTATAAATCGCCGATTTGCC +GGAGTTGAAAAATTCTGGCAAATTTGAAAATCGGCAATTTGCCAAAGTTG +AAAAATTCCCGGCAAATCGCCAATTTGCAGATTTTTCGACCGAAATTTGC +CTACCGGCAATTCCTGCCGACCCCTTTTTTCCGAGAAGAATTAACTTTCC +ATTTCTAAAAAATCTGTAATTTGCCGGAGTTGAAAATTTCCGGCAAATGG +GCATTATGCCGAAAATGAAACATTCCGGTAAATCGGCAAATTGCCGAAAA +TGAAAAATTCCGGCAAATCGGCAATTTGCCGAAGTTGATAATTTCCGCCA +AATCGGGAATTTGCCGAAATTGAAAATTTCGTATAAATCGCCGATTTGCC +GGAGTTGAAAAATTCTGGCAAATTTGCAAATCGGCAATTTGCCAAAGTTG +AAAAATTCCCGGCAAATCGCCAATTTTTTGCCTGTTGTGCATATTATTTT +CACGACTAAAAATCGTAATAAATTAAATTAAATTAAATTTGCCGATTTTT +CGACCGAAATTTGCCTACCGGCAATTCCTGCCGACTCCTTTTTGCCGAGA +AGAATTAAAATTTCCATTTCTAAAAAATCTGTAATTTGCCGGAGTTGAAA +ATTTCTGGCAAATTTGCAAATCGGTACTTTGCCGGAGTTGAAAAATTCTG +GAAACCGGCAACCCGGCAAACCGCCAATTTGCCGATTTTTCGACCGAAAT +TTTTTTTTCCTGTCGACCCCTTTTTCCGAGAACAGTTAAATTTCCAAAAT +TCTCTAAAAACCACAAACTTCTCAATAATAAAATTCGCACACTCCTGTCG +CTTCCCCTCATCATTCCACTCAATCCGCACAGTTTCTCGAGTACAGTACT +CCAAAAACTTGTCCAAATAAACTTGGAGCATTTGAGCCCGTTCTTTCGAA +GTCTGCGACGCCGACGCTGTCGACTTAATCGGCCCATTCCTCAGTCGTTC +ACACCAATCACCGGCTCCCGACGATTGACAGTACTCGTTGAGCACATCTT +CCGCATTTTCACCACTGGTAAGCGGGAAGAATGGTAGAAGACACTGAAAG +ACACGATCCAGGTCTGGTGTCGCTTTTCCGTACACTCCGAGACATTGATA +GAACACTAGGAACAAGCGAATCGCAATTTTTCGCACTGCCATCAAATTTT +TCGGGTAGACTGCTTTTTTGAGAAGCGATTCGATTGCATGACGTTGCCAG +CCTGAGAGAAATTGGGAAAATTTTTAATTTTTATTTAAAGGTGGGGTAGC +GCTAGTGGGGAAATTGCTTTAAAACATGCCTATGGTACCACAATGACCGA +ATATCATGATATAACAATTCAAAAAAATTTTCTAAATTTTATATGATTTT +TTGAAAATTGAAAAAATCTCAGTTTTTGTCTAATTCCAATTTGAATTACC +GCCAATTGAATTTGTTCTATGGAGCGCGCTTGCACGTTTTTAAATTTATC +TATTTTATTTTTTGTTATTTTTTGTTATTTTTCCACCAATTTTTAATGTT +TTCGGTGTATTTTTGCTCGAATTTTAGAGAAAAAGTCAAAATAAATGCAA +ATTTTCGATTAAAAAGCACGCTTACAGTCGTAAATCAGTGAAATTAATTA +ATTCAGGTTTGAAATCGTTTAAAATCGTTACTTTGTCATTTTTACGCCTG +TAAGCGTGCTTTTTAATTGAAAATTTGCATTTATCTTGACTTTTTCTCTA +AAATTCGAGCAAAAATACACCGAAAACATTAAAACTCGGTGGAAAAAACA +ACAAAAAATAAAATAAAATAAATTAAAAAACGTGCAAGCGCGCTCCATCG +AACAAATTCAGTTGGCGGTAATTCCAATAGAAATTAGGGGGGAAAACTGA +GATTTTTTCAATTTTCAAAAAATCATATAAAATCAGGAAAATTTTTTTGG +ATTTTTTATCATGATATTGGGTCATTGTGGTACCATAGGCGTGTTTTAAA +GCAATTTCCCCACTGGCGCTACTCCACCTTTAATTTCTGACGGTTTTTTT +TCGGTTTTCCTTGAAAAATCCTCTAAAAATCGATAATTTGTAAAAATTGC +GTTGTTTTTCCGGGATTTTTTTCGGTTTTCCCACGGGGTTCTGGCCTTCC +TCACTGAATTTTTCGCGCTCCATTGACAATCGCCCGTGTACTCCACACGG +ACAAATCACATTTAGTTTTACAACTAAAATCGAGCCGAGACGCGGCAGCC +AACGCGCCGTAAATCTACCCCAGATATGGCCTGGCCTAGTTCGGCGAAAA +CTCTTCCATTTCAATGTATGAGGGAAGCCAGAAATCCGTGTTTTCCTCAA +AAAAATCCTCTAAAAATCGATAGTTTGTAAAAATTGCGTTGTTTCTTCGG +TTTTTTTTGCAATTTGAGGGTTTTTTGTCGATTTAACACGGATTTTTGGC +TTCCCTCATATATTGAAATGGAAGAGTTTCTGCCGAACTAGGCCAGGCCA +TAACTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTT +TAGTTGTAAAACTAAATGGACTTTGTCCGTGTGGAGTACACGGGCGATTG +TCAATGGAGCGCGAAAAATGCAATGAGGAAGGCCAGAAGCCCGTGCGGAA +AGACGGGGAATCTCCGAAAAACGGGGAAAATCTACAAAAAAATGAGTTTA +AAAAAGACTTCCTCAAAAAAATTCAAAAATTGTGGTTTTTTTTTTAATTT +TTTGTATTTTGATAAATTTTTTGCGACATCAAAAAATGGAAGAACTTTTT +TTTTTCGATTTTTGAATTTTTTGTTGGTGAAAAAGAAGAAAATTTCGAAA +ATTCGTTAGGGAATGGATAAATTTTAATCAAAAATCGATTTTTTAAAATT +ATTTTTTGCAGTTTTGCATAAAAAATCCAGATTTTTTCGCATTTCGCGCG +TAATTTTCATTTTTGTCGTTTTTTTTTTCTGAATTTTCCGAAATTTCTGG +AAATTTTTTCTTTTCTTGTTCTGAAGCTTATGCCTAAGCCTAAGCCTAAG +CCTGAGCCTAAACTCCAAAAACGCACCACTTCCAACAAGCTCCGGAGCCA +AACAGAGCACCTGCTCCAGTGTCCAAAGCCCGGATTCAGCCTCAATTGCA +CTATCGATTTGACTGCTGACATCGTTGACGAGCAGAAGCTCGTCAACGAG +ATGAAACGTCTCGAAACTGTGCTCATCGAGCAGTTGACGCTTTTCCTGAA +GAAATGTTGTGGTCGAATTAATGCGAAATATGGGAAAATTCGGGTTAAAA +TCGATGAAAAATCGTGGAAAAACGAACATTTGTGGTTAATGTGTCGAGCA +GAATCTTCAAATGTTTCACACGGCTCACACAATCCCTGTTCAAGTCGGTG +AATCTTGAAATGCTCGCCTGCACATCTGACGATTTGCCCTTTCGGGCAAA +CATTTTCCTGTGATTTTAGGCGATTTTCTGCAAATTTTCGCTGTTCAAAC +GTTTAAAATCGACGGAAAATGCGTATATTTTACTAAATATGCGAGAAATA +GTGATTTAATTCGAAAAAATCAATATAAAAATGGAAAAAAACTACAGTAG +TAATTTAAAGGCGCATACCTCGAAAGTTAAAATCGTGCCAGGACCCGCCG +CAATTTAGAATCGATTTTTAGATGAAAACTTTTTTTTTCTTACTAAAAAT +TAAAATTTTTCACTGAAAATTTCGGTTAAACTCTGACTTTTAACACGAAT +CTTATCAAAACTATGACAATTTCTAGTGAAAATCGCCAATTTTGTGTGTA +AAATCAATTTTTTCAGTGAAAAATGTTTTTTTTTGAGTTAAAACTAAATT +TCGAGCTTGAAACTAGAAAATGTCAAGTAAAAAATTCATTTTTAAGCGAA +AAATTAACGTTTTTTTCCAAATTTTCGCCTATAATTCACACAAAAAATAC +TGAGTCAGCAAACAATGTGGGAGCATCCCGAAAATGGTGCAGAATGGTAG +AGCAAAAACGAAAAATCGATGAATTATTGTGGAGAGAGAGGAAATTTTAT +TCAATTTTTGAGGAATGGAGGTTAAAAAAAAGAGTAGAAACATTGAAAAG +TGGCAAAGAAATCCAGCTTGAAACCGGAAAAACTCCCAGAAAACGAAGCA +AATAAGAAAATCCCACAAAAAATCCGAATTTAATTGCAGTTTTCGACCGA +AATTCAGCCAACCAGTGAGTGGTTCAATTATTAAAAAGCACATATATACA +TATAACTTTATTCAAAGGACATAATCCATATAAAGTCTGTCAAAACGGAA +AAGGTTCTTTCCAAACACACAATTGGCCCCCTCTGTCCAAAAGAGAGAGC +ATGGGAATCGGAGAGGGCGGTGAGAGAGACGCAGACATCGAGATGACACT +TTTTGACAGCAACACTGTGTGTGTGTGTGTGTGTGTGTGAGTCTCTGTGA +TTGAGTGAAAGCACTTTTGGGAATATATACTGGTAGAAATTTAATTTAAA +ATGATAAAAAATTTCTTGGGATTTTTTTTTTTGAGTACTGTAGCCACAAA +AGTACGTAATTTTCTTGAAAATGCGCCCATGGGGTCCCAATGACGTAATA +TCATGATAAAAAATTTTTGAAAATTGGAAAAATCTCAGTTTCCCCTCCCC +CCCCCCCCTAATTCCAATTTGAATTTCCGCCAATTGAATTCGTTCGGCGG +AGCGCGCTTGCATTATTTTTATTAATTTATTTAATTTTCTCTGTTGTTAT +TTCACTGATTTTCTTCATTTTTTGGGGATTTTTAATTGGGAAAAGAGAGA +AAAATGCAAGATAAATGCAAATTGTTCATTAAAAAATCACTGAAAATGGG +TAAAACTGTGAAATATGCTAATTTCAGGCTTGGTGTCGTCGGAACTCATA +ATTTCGCAGTTTTACCCATTGTCTATGATTTTTTAATGAACATTCTGCAT +TTATCTTTTTTTTTTAAATTCAATTTCTATTAAAAATCCCCAAAAAATGA +AGAAAATCAGTGAAATAATTAGAAAAAATAAAATAAATTTATAAAAATAA +TGCAAGTGCGCTCCACCGAACGAATCCAATTGGCGGGAGTTCAAATAGGA +ATTAGAGGGAAAACTGAGATTTTTTTCAATTTTCAAAACAAAAAATCATA +AAAAATAAGCATTTTAGCTTAAAAACTCGAAAAATCATACAAAAATTAAT +TTCAAGTTGTCCACGAGTAGTACGCGACGCCTGGTTGCAAAAATGGCGTA +GATTTCGATTATTAAAAGCTTAAAAATCATTTTTTTTTACCAATTTCCAA +TTAAATATCCTAATTTTAATCTCAATTTTCTTGAAAGACGTGCAAATATA +GATACATCTAACATAAAAATTCTTCGCTGCGAGACCCAGGACCCCATAAA +TCGCCTGCGCCTTTAAATTTATATTTATTTTCTCTCTCAAACAGCGATGA +AAATCACGTTTTTGAACCAAATTTTCCAAAAAATAAGACAAATTTCTATT +TTAAAAACCACTTTATTCGGTCATTGGTCGCTAAATAGCAAATTTTGAGG +CAAAAAAAAAACGAACAGACAACGGAAAATCGAGTGAAAACAAGTGAGAA +CACAGCAAAACTAGTCCTAATTAATTAAAGGCGCATCACGTGGAAAAGAA +AACTGTTGTGGAAGAATAAAAAATGGAACATGAGGGGAAATATTACAAAA +ATAGTAAAAGATGCATCAAGATTAAGATTATTTTTCGAAAATCGAGTCCT +CCGCCCAGGAATTCATCATAATTTTCGACTTTTTTTCGGAGATTGCTGCA +CATTGTCGGCTGCTCCGGTGGTTTTTGGAAGGTTTTGAGAGCTGAAAGAT +TTGAATTTTTTGGAATTTCGAGAAATTTCTTTTTTTTTACCCGAAGCGCT +TTGAATCTGGCGAGCTGCATTTCCAGCTTGCATTGTGCGTTCAGTGACTT +TGATTCCTTGAAGTTTTCTGAAAAAAAAACACGAGTTTTGACTTGAATTT +TCTGAATTTTTAACACGGATTTCTGGTTTCCCTCAAAGAATTGAAATGGA +AGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGATTTACGGCG +CGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATGTGAT +TTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATT +GTCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAACTCCGTGATTT +TTCTTTTACTCGGCGTAGATTTCGCAGTTTCAGACTGTTTTTCAGGTCTA +ATCAGCGGAATTTTCGTTGATCCCGCCAATCTCGGTGATTTTCTGAGCCT +TTTTCGCTCAGGTTCTGGGATTTCAGCTTTTAGAGCAATCTTTGAAATTT +CGACAAGTTTCTTGAAGTCCAACGCAATTTTTTCAGTAGAATTCGCAGTT +TCCGGCAATTTTTCTGAGCAAATCTTCGAAATTTCGACAAGTTTTCTGAT +TTTCGGCGTAGATTTCGCAAATTCTGACGGTTTTTCTGCAAATCCCGGTG +ATTTTCGGCTCGGGGAGCTCCCAGCTGCTCTATTGTTCAGCATTGTCTGC +TCAGTAGCGGGGGCGTCTTGATTTTCAGTAGAATTCGCAGTTTTCGGCAA +TTTTTCTGAGCAAATCTTCGAAATTTTGACAAGTTTTCTGATTTTCGGCG +TAGATTTCGCAATTTCTGACGGTTTTTCTGCAAATCTCGGTGATTTTGGG +CTCGGGGAGCTTCCAGCTGCTCTATTGTTCAGAATTGTCTGCTCAGTAGC +GGGGGCGTCTTGATTTTCAGTAGAATTCGCAGTTTCCGGCAATTTTTCTG +AGCTAATCTTTGGAATTTCGACAGGTTTTCTGACTTTTGGCGTAGATTTT +GCAGTTTCTGGTGATTTTCGGCACGATGAGCTCCCAGCTTCTTCATTATT +CAGCCTTTTCAGCTGGGCTTCTTGAGAGCCTGTAATCACGTCGCCGTCGT +CATCCTCTGAATCATCATCCGACCAAATTTCGATTATTTCCTGAAAAAAT +CGATTTTTTTTGCTTTTTTTTGCTCTTTTCTCATTGTCAGCTTTTCCCAC +TTTCCAGCAATTTCTCCACGGCGTCGGAACGTATCCTGGTCGCCGATCGA +ACTGGATAACTGGCCGGCTGGCGATAAATCGGCGAAGATCTGCTACTATC +TCGTCTGAAAACGTTTTTCTGCTAAAACCTGCTAAAAATCTGGCTAAAAT +CACCTGATAACATTACAATATCATCATTTCCGGGCATTTTTGACGAAAAA +AAAGCGGAAAATATTTAGAATTTCGAAAATGAAGAGAAGCGTTACGGTAC +TAAAGGCACATGGCGTAAAATATTCCGCAGGACTCGCCGCGATTTATGAT +TTTCACTATTTTTTTTGGGCAAAAGTTGACATTTTTCAGAATAAAATTCA +AAATTGTGTTGATAAATTGTTTATTTGATTTTTTTTTCAAATTTAAATAA +ACTGTAAATTTTAAATTTTCCCCCAAATATTCGCAAATTCCCTTCAAACC +AAGTTTTAATAGCACAGTAATCCCCGAGCAATCGCGCTCCACCGGACTAA +CCTACACACCGCGAATTTTGAATTACATCCCTCATAATTAATTGTTTTTG +CCATTTTTTCGCTATTTCCAGTGGATTTTAATGAGTAAAAGCCTACAAAC +CGACGAAAATGGCGGTGTCAGTGAAAGTCCATCAAATTGCACATATTGCT +ACACGCTGGAATGCTCTCTACGCATCGAATCCACCTCATCAATCAAGAAA +AAGACTCCAATCTCCTCGAAAAGCGCTATAATGACTGTCGGCAGAAATGC +GCAGAGGTTTTAGTCGAATAAATGCCTGTTTTAAGAGCAAGAAATTCCAG +AAAAATTCACCTTCAAATCGAGCTAAAGACCACCGCTACCGGACAGCCCG +CTGTAGTGTGCTATGACGTCACAGATGCAGTTGTACACTTGCAAAGCGTT +GCAAATGGGAAGTGTACTGTAGAAATTCCTTCGCTGTAAGACCTAAAAGA +CCAGAAAAATGGAAAATATCTGAAAACCCCAATTTCAGCTCGTTAATGTT +CCAAATGTTCAATTGCGCGCCGCGAAAGCTCAACGTCTTCATGAAATCTC +TCCAAGCAAAGTTGGATATTATGAAAATGGAGAAAAGCCCAATTTCAGCA +GTGTAAAATCGATAAATTATCGAAAAATCAATAAAAATCCCTTCAGACCC +CGGCAATTCTCACGTCCGCCGGCAGTTTTCAGCGTTCTGAGCCCGCTGAC +GATCAGCGAAATGCGAAAAGTGAAGAAGCTACGCGAACCGTCGGCGCTGG +CGAGACCTTCGAAAGAGGCGACCACACCGAAGCGGCGGTAATTTGAAATT +TTCACATTAAAAAAAAATCGCGAATTTCAGCACTTCCTCAATGAATTTGC +TCGCCGGCGGCTTGGAAAATCGAATTATGAATCGATCGATTGGGCTGAAA +AGGACGACCAGTTTTGCTAGAGATGATCGTGAAAAAGCCGAGGTTCTGCA +GCTAAAAATCCGTCAAAAATCGATAAAATTTCGTTTTTTTTCCGTGAAAT +TCCAGGTTTTTTAGTCCAAAAGCACGGATTTCTGGCTTCCCTCATAAATT +GTAATGGAAGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGAT +TTACCGCGCGTTGCGGCTCGATTTTAGTTGTAAAACTAAATGTATTTGTC +CGTGTGAAGTACACCACTTTCCCATTGCCCGGCGGGTGATTGTCAATGGA +GCGCGAAAAATGCAATTAGGAAGCCCAGAAACCCGTGAAAAAGTGTCACG +CGGTTTTCAAAGTAGAGGTGCAAGCGCGCTCCACCGCTCCACGGTGCTTG +GCGGCAAAACCAGAATTTTCGCTGATTTCAAGCATTTTCCGTCGTTTTTC +ATGATTTTTCATGTCGAAATAGTGTTTAAAAATGTCTTTAATGCTGAAAA +GTGAATATTTCAAAAATTTTGACATGAAAAACTGAAAAAATTATCGGAAA +AGTGTATTTTTTGAGTTTTTACTTATTTTTCGGTTTTTAAAAAAATTATT +TCTACATAAAAATTGATGAAAACAGCATATGAAGTGCAAAAAATAAAGAA +GACTTACATAAATTTTGACAAAAAATCACGAAAAACAATAAAAAAAGTCG +AAAAATGATTGGAAACGGAGAAATTTTCCCTTTTTATGTAGAAATTTTGA +ATTTTTTCAAAATTTTCTCAATTTTGAAACACAAAACATGAAAAATGATT +GAAAATATTTGAATTTTTAGTTTTCGCGCCAATACCTAACGAGACCCATC +GGTGTGACCATGGAGCGCGCTTGCATCTCGATTTTAAAATTCGTATGAAT +TTTTCGCGCTCCATTGACAATCGCCTGCCGGACAACGCGTGGGAAAGTGT +CGTGTACTCCACCCGGACAAATCACATTTAGTTTTACAACTAAAATCGAG +CCGCGACGCGACACGCAACGCGCCGTAAGTCTACTGAGCCAAAATGGCCT +AGTTCGGCAAAAACTCTTCCATTTCAATTCATGAGGGAAGCCAGAAATCC +GTGTTTTAACCTAGAAAATCAAGAATTTTTTTGGGAAAAAATGCCAAAAA +TCCCAGATTTTCCCTAATTTTCAGCTAATTTTTCCCCGAAACAGACAATT +TTCAGACCCTTGTCTCCCTGAAATCATTCAAAGATGCTCCTGCAATTTCC +GAACGGATTCAGCTGTCAGATGAGCAAAAATCGGTTGTCCGATGTGTGAT +AAATGTAATTTTTCGTTCGAAAAAAAAAATTATCGAAAATTTGCAGTCTC +GAACGAGTGTCTTCTTCACGGGATCCGCTGGAACCGGAAAATCTGTGATT +CTTCGGAGAATCATTGAAATGTTGCCCGCCGGGAACACCTATATCACCGC +AGCGACAGGTAGAGGATCACTTTGAAATATTTGCAAAAAATCGTGTCAAG +ACCTCCCCCAAAAAATTTTCATGTACCTTTAAAAAATAGAACCGACTTTT +TTTAATTAAAAAATCATTAAAAATTAGAGGAAAATTTGGGAAAAAAAATC +ATTAAAAATTCTTTAAATAATAATTGTTTATTTGTCACAAGAAATAGCTA +CACCGGAAGATAAAGAAAAAAAGTAAATAAAAAAGATGTGTGGACAAATA +AGTAAAATGACCAATTGGACCAGCTATAGCCCGGGAGGTTAAGTTGGGGG +GAAGAGGGTGTCAAATGGGATAGAGTCTAGGCGCGACGCAAATGCATTTG +GAGTTAACAGTTTAGGGAAACGTTTTGCTATTCGATTCCACAACGACAAG +TTAACATGTAGAAAACATTTAGACGGAACACCACAGACAACAAGTAGATA +GGGGTGACGAGTAGAGCGTGAAGCTCGAACGAACGATGATAAGGACGGGA +AGTGATACTCGCTTGAAATAATTTTATGGAAGGTTCGGAGGATTTGAAGA +ACCCGTCTATGGTGGGTAGACAATAAATTAAATTGGGAAAGCCTACTACT +GTATGACGAGTAAGATAAATTGCACCTTTGAAAGACACACTTTGAGAAAA +ACCGGAGGGGAGATTCTAGTTTTTTGGCAAGTTCGGTGGAGTTGGGCGGG +AAGAGCTCGCAGCCATATTCGAGTACGGGGCGGATGTAAACATTGAACAG +TTTAAAATAGAATTCGGGACTTTTAGAGCGGAATGAACGAAGGATTTGGC +GACACTTAAGGAGGGCACTATTAGAAGTCTGATTAATATGATTAACAAAT +GATAATTTGGTATCGACAATGATTCCAAGATCTCTGATAGAATCACGCGG +TTTAATTTCAACACTATTTACAAAGTATTTATGACGGGGGTTCTTTTTTC +CAAAATGTAATACGGCAGTTTTGTGCTCAGCAAGATTTAGACGCCATTTT +TTACACCAATCAGCGACAATATTGATGCTTGTTTGGATAGAGGTGGGGTC +CGATCCGAGTAATTTTAGATCGTCGGCAAAGGCTGTAACATGGACATCAG +GGGGGAACAAATCTAATAAGCCATTAATATACAAAAGAAAGAGGAATGGT +AAAATTGTGGAAAAAACCGTAAAAAATCAACAAATTTCGAAAAAAAATCG +TAAAAAATTGAGACATTTGAAAAAAAAAATCTAGCAAAATTTGAAAAAAA +AATCGTTTAAAATTCAGCAAATTTATTTTAAAAAATCATTAAAAATTCAG +CAAATTTGGAAAAAAAAACAAATAAATCTGTAAAATTAAAAAAAAAACCA +GTAGAATTTGAAAAAAAATTGTTTAAAAAATTCAGCAAATTTCTAAAAAA +AAATCATAATTAATTGATAAAAATTTTTTAAAAACGTAAAAAAATATTTA +AAATTCTGCAAAATTTGAAAAAAATCGTTTAAAATTCAGCCAAATTTCGA +AAAAAAAAGCATTAAAAAAGAGAAAAATTGGAAAAATTCTGCACAATTTT +TTAAAAATTATTATTCTGAAAAAATTTAAAAATTCATGGAAAAATCTGCA +AAATTATTTTTTAAAAATCGTTAAAAATTCAGCAAAAATTGGAAAAAAAT +CGTTTAAAAATCAGCAAATTTCGAAAAAATAAAACATTAAAAATTCAACA +AAATTAAAATTAGAAAATCATTAAAAAATACAGCCAAACCGTAAAAAATC +AGCAAATTTCGAAAAAAATTCGTTAAAACTTCAGCAAACTTCTAAAAAAA +ATCATTTAAAAATGCAGGAAATACGAAAAAGAAACATCAAAAATTGAGAC +AATTGGAAAAAAAATTCGTTAAAAATTAACCCAAATAAATTTGCTGAATT +TTTTAGATTTTTTTTTTTATAAATTTGCTGAATTTTTGAAAAAAATTCAG +CAAATTTATTTTAAAAAAATCTAAAAAATTCAGCAAATTTCTTTTTTAAA +AATCGTTAAAAATTCGGGAAAACTTGGAAAAATTGTGCAAAATTCAGAAC +AAAAAAATTTCAAAATTTTCCCAATTTTTAAGTTTTTATTTAGTTTTCAG +AATTGTTTAATAGTGAAAAAATCATAAAAAATTCAACAAAATTTAAAATT +CAAAATTTTCCAGAATTTTCATGGGTCCCGCCACGATCCACTCCAACCTT +CAAAAAATCATGTAATTTCCAGGCGTTGCGGCTTCCCAAATCGGCGGAAT +CACACTTCACGCGTTTTGCGGTTTTCGCTACGAAAATTCGACGCCTGAAC +AGTGCCTAAAACAGGTTTTACGCCAAAATCACATGGTCCGACAGTGGAAA +CAATGCTCACACTTGATAATTGACGAGATTTCCATGATTGATCGCGACTT +TTTTGAAGCTCTCGAATATGTGAGCTCATTGCGTTTTGATCTACAAAAAA +TGCGGGAGTTTTCCCAGCATTGCTCATTTGATCTACAAAAAATGCGGGAA +TTTTCCCAGCATTGCTCATTTGATCTACAAAAAATGCGGGAATTTTCCCA +GCATTGCTCATTTGATCTACAAAAAATGCGGGAATTCTCCCAGCATTGCT +CATTTGATCTACAAAAAATGCGGGAATTTTTCAAGTGTGACGTCAGCACA +CTCATGCGAAATCTGCTGAAAAGTCTGCGTCTCTTCTCCCGCATTTTTCG +GAGATCAAACCAAAATGGGACCCGAAAATTCCAAAAAAAAATCGATAATT +TCCCGTCCCAGGTCGCCCGTACCGTCCGTAATAACGATAAGCCGTTCGGT +GGAATTCAGCTCATTATCACTGGAGATTTCTTTCAATTACCGCCCGTCTC +GAAGGATGAACCAGTTTTTTGTTTTGAGGTGTGCGGAATTTCGGAGCATC +GTTTGGACCGTCTAACTCTTAAAAAAATTTTTTTGCAGAGCGAAGCCTGG +AGCCGATGTATCCAAAAAACGATTGTCCTGAAAAATGTGAAACGACAAAA +TGACAATGTTTTTGTGAAAATTTTGAATAACGTTAGAGTTGGAAAGTACG +TAAACTACTGGAAAAATTTAAAAATTTCGAATTTTTCAGGGTTTTTTACT +AGAAATTTTGATTTTTTTCAGTGAAATTCCAATAAAAGCTGGAAATTTTC +AGAAAAAAGGAAAAAATATGAAAATTTGTAATTAATTTCGAAAAATGCTG +AAAATCTCCAAAACCTTCCAGAAAAGCTGGAAATTTCATAAAAATTTGGG +AAAATCTGAAATTTTCAGAAAATTCAAAAAAAGCAAAAAATCTCGAAAAC +CTTCCAGAGAAGCTGGAAAATTTCAGAAATTTCCAAAAAAATAAATTCTG +AAAATTTCATAAAAATCACTGATTTCTGTCTTCCCTCATAAGTTGAAATG +GAAGAGTTTTTGCCGAACTAGGCCATTTTGGTTCGGCCAGATCTTGGGTA +GATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAA +TTAAATGTATTAGTCCGTGTGGAGTACACGACACTTTCCCACGTGTTGTC +CGGCAGGTGATTGTCAATGGAGCGCGAAAAATTCAACGAGGAAGGCCAGA +ACCCCGTGATAGACCGGCCAACACGGGGTTCTGGCCTTCCTCATTTCATT +TTTCGCGCTCCATTGACAATCACCTGCCGGACAACACGTGGGAAAGTGTC +GTGTACTCCACACGGACAAATACATTTAGTTTTACAACTACTAATTGAGC +CGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGAAATGGCCGAGC +CAAAATGGCCTAGTTCGGCAAAAACTCTTCCATTTCAATTTATGAGGGAA +GCCAGAAATCCGTGTGAAATTTCCAAAAAGAAGCTCCAAAAAAAAATTCC +AAAAAAATCTCGATAGCCTTCCAGAAACGCTGGAAATTTCAGAAAATCTC +CTGAAATTGATAAAAATTCGAAAAAAATCTCAAAATTGTTAGAAAATCAG +TGAAAATTTGGAAAATTCAGAAATTAAAAAAAAAATTTTTTTTTGGAATT +TAGAATTTAGAATTCTTCAAATTGTCGAAAAATGCTCCAGAAAACTTGTA +AAAATTTAATTTTTTTTTTTTTGAAATTTCCAAAAAATTTATTTATTTTT +CAGATGCGACTTCAAATCAGCGGATATTCTAAAGGAATCCTCGAAAAATC +AATTCCCATCCAGCGTAATTCCAACCAAACTGTGCACACATTCAGATGAC +GCCGATCGAATTAACAGCTCAAGCATCGAGACAACACAAGGCGACGCGAA +AACCTTCCACGCCTACGATGACGAGAGTTTTGACACGCACGCCAAGGCCC +GAACGTTGGCACAGAAGAAGCTTGTGCTGAAAGTTGGAGCTCAGGTGATG +CTCATCAAGAATATCGATGTGATCAAGGGACTTTGTAATGGGTCACGTGG +ATTTGTGGAGAAATTCTCTGAAAACGGGAATCCTATGATTCGATTTGTAT +CGCAAGCCGATGCTTCCATTGAGGCACGTTTTACAGAAATGACCATTTTA +TGGGCGTGGCTTTTTTTTTGGAAAATTTTTTTTTTCCAAAATTTCTGGAT +TTTTCTCTAAAATGGAAAAAACCCACGAAAATTGTAAAAAATTTGAAATT +TTTTAAATCGGAAAAAAATAAAATTTTCTTTCTTAAAATTAGGCTTAGGC +TTAAGCTTAGGCCTGGGCTTAGTCTTAGGTTTATGCTTAAATTTGAAAAA +AAAAATTTCTAATTTTTTCCAGATTTTTCCGTTTTTTTTTTCAGAGAAAA +TCTAAAATTTTCGATTTCTACCTGTTTTTCAAAAAAAGTTAAAAAAAACA +TTTTCGCAAATTTTGTAGAAATTTTTCTTTTTTTTTTCTTAAAATTAGGC +TTAGGCTTAGGCTTATGCTTAGGCTTAGGCTTAGGCTTATTCGTAGGACT +ATGCTTTGGCTTAGACTTAGACTTAAGCCTAAGCCTAAGCCTAACCCTCT +TAAAAAGTTACAAGAAGGTTTTTCCTTGCGCTTGGAGCGCAAAAGAAAAG +AAAAAGAGCTATTCAGACTTAGGGTGCCCAACTGGAATAAAACATTGGAA +ATCCTTATGACACACTTAAGCCTAAAGGCCCGAAAAACATACTAGGATGC +CCAACTGGAATAAAATATTGGAAATCCTTATGACACACCGGCGGTATGGC +GCGGCTTAAGCCTAAATAGCCACTTTTATCAAAATACATTTGAGCTCGTC +TTGCGTTTTACTTTGACTTCTCAGGCAACTCAAAAGTAATCTGTGGATAT +TTTTCAGTAATCTAAATGAAGACTATAGATTACTAAGAAACTTGGAGATT +TCATAATATTTGGGGGGATGCGAGCATCCATTGGAGATTTGCCATTTGAT +AGAACTTTTAGCGGCAAAAGTCCAAAACAAAGCTCACAGTGGGCTCTCAA +AGATCATAAAATAGCACTGTAACGAAGAACTTTAACGATCTAACGAAGCA +ATTTTACAAATTCACTTTGGTAGCTCATATCTCCGTGGATAAAATTTTTA +CAGAAAAGTCATCAACTGATAAGTTGTTGATATTGTTGTAAAGAACAAGT +TTGTAGTTGAAAGTTTTTTTTACCAAAAAATTTTTGTTTGAGAGAAAAGC +ATTAGAAACGGAATAGCATCATAAAAATAACAACAGCAGTTGCCGCACTT +CACGCGGTTCTATCTCAAACAAAAGCGGAGATATGAGCTACCAAAGTGAA +ATTGGAAAATTGGCCCTCCAATGCTTCGTTAAAGTGCTATTTTCAGGATC +TTTGAGAGCCCGCCGTGAGCTTGGTTCTGGAGTTATATTGATCAAATTGA +CCCTCCAGTAAAGGAGGACCTTTGATGAATATAATCACTCTGATGGTATT +TAATTCCGATGAGTAATCCATTTTTCTTTTTCTCACATTTGTGAACCAAA +AATAAGTTTTAAATTAAGGCGGGATATTCTAAGGTGTGATAACATATGTT +ATTTATTTTTAAATTTAAATAAAGTTTTTTTTTAATTTTTGCTAAAAAAC +GAATAGTTTACAACCGCCTCGCTCAAATGTATTTTGATAAAAGTGGCTAT +TTAGGCTTAAGCCGCGCCATACCGCCGGTGTGTCATAAGGATTTCCAATA +TTTTATTCCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTTAGGCTTAA +GTGTGTCATAAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTTT +TTTTTTTTCGGGCCCTTAGGCTTAAGTGTGTCATAAGGATTTCCAATGTT +TTATTCCAGTTGGGCACCCTAAGTCTAAATAGCTCTTTTTCTTTTCTTTT +GCGCTCCAAGCGCAAGGAAAAACCTTCATGTAACTTTTTAAGAGGGTTTC +ATATATTTTATTAAAATCGGGGCGAAGCCCTGATTTTAAATCCATATTGT +TTTTGTTTTTGTCTTCCACTATCCCTGCAAATAGGAAAGAGAATGTGTTC +TTTCTGATGAAGTAAAAATCATCATAAAATCTTGAAAACTGAGAGCAGGA +GGTAATATTTGAATATATTGGGTTGTAAATGTGTGTCTCCCTGTGGGTGG +GGTGGCGATGTGTTGGCAGCCAATCCTTCAACGAACTGTATCTCCCGCCT +GTATCTCCCTTCAAAGTGAGAATTGGGTTACAAAAATTTGAGGGAATATG +AAAAAAGGTGTGAGGATTTCAAAAATATTATTGTTGAAACACCAGACCAA +ACCACTTTTTCTGGGCAAGAGACAGAAAATTAATTTTTTGAAAAATTTCA +AACTGGCACAAAATTTTTTCAAAAACAAATTTTCACAAATTGTTAAAAGA +TGCCATTTTTAATCAATATTGTTCATTGAACACAGAAAAGAAAACGAAGA +TTCATCAAAAAATGAGTGAAAAATCGCAAAAATTCGAAAAAATCCGTGCT +GAAAAACTCGAGTTTTTGGCGGTGCTGAAAAAAATTTTCACTAAAATTTT +TTTGAAACTTAGTTTTTCGGATTTAGCGTCAAATTTTGAATCTATATAAA +AAAAAAAATTAAAATTGATCTCAGATTGAGTGAATAATAAACGCTCAAAG +TTGAAAAATGAACAACGCAAAAACGGCAGTAACTTGCTTCAAGGTCGGTT +GTCTCAGTGAGTTTTCACTCAATTTTCGAAATTTTTTTGCTCTATCGCTT +TAGAAATATTTGTAATTTCATTTTTTTTCCTCAAAATCAAAATATCTCAA +ACGACCGCCATCCTACGAGAAGGGAAAAAAAAAGTTTTTGGAAAAAAAAT +CAAAAATTTTTTTTCTGCCTCGATTTTCAAAATGAAAAAATCACTTTTTC +GGAATAAACTTTTTCACAAATGTATTTTGATAAAAGTGGCTATTTAGGCT +TAAGCCGCGCCATACCGCCGGTGTGTCATAAGGATTTCCAATATTTTATT +CCAGTTGGGCATCCTAGTATGTTTTTCGGGCCTTTAGGCTTAAGTGTGTC +ATAAGGATTTCCAATATTTTATTCCAGTTGGGCATCCTAGTTTTTTTTTC +GGGCCCTTAGGCTTAAGTGTGTCATAAGGATTTCCAATGTTTTATTCCAG +TTGGGCACCCTAAGTCTGAATAGCTCTTTTTCTTTTCTTTTGCGCTCCAA +GCGCAAGGAAAAACCTTCTTGTAACTTTTTAAGAGGGTTAGGCTTATGCT +TAAGCTTAGGGTTAGGGTTAGGGTTAGGCGTAGGCGTAGGCTTAGGTTTA +GGCTTCGGCTTCAGGAATATTTAAAAAAAAAATCGAAAAATAGATTTTGC +GAAAAAAAATCGTGATAAAGCCTGCTAAAATTTTCAAAAAAATTAAATTT +TTCAAATTTTTCAAATTCCCAAGATTTTGGTCTCGCAGCGAAAACATCCA +ACTACAGTAACCCTCGCCCTCTCCAATTTTCAGATCCGCCGCTCCAAGTT +CTCAGTCCGCATTCCCGGGAGTGATGCTCCGTTGATTCGCCGTCAACTCC +CACTCCAACTCGCCTGGGCCATCTCCATTCACAAATCGCAGGGAATGACG +CTCGACTGTGCGGAAATTTCGTTGGAGCGCGTTTTCGCCGACGGACAGGC +GTATGTGGCGTTGTCGCGCGCACGATCACTGGCGGCAATTCGAATTATCG +GCTTCGACGCGTCGTGTGTCCGAGCGAATTCAAAGGTGAACAGGGGATTT +TCGAGATGGAAATCTATGAAAAATGGATGGATGGTGTTAGATATCTCCTT +TTCGTGGGTTCTCTCACGTGGTGTCAGAGTGCCTCATTTCGGCTTGATCT +ACTGTGTAGATCTACAAAAAATGCGGGAGATGAGGAGACTCAGACTTCTC +AACTGGTTTCGCATGGTTTAGAACGTGCTGACGTCACTTTTCTCTGGGCA +TAAAATTCCCGCATTTTTTGTAGATCAACCGGTAAGGGATCTCTCAGCTA +CGTGGAAAATTATCGATTTTTTATCGAATTTTTTGCAGGTTATCGATTTT +TACAAATCCATCGAGGCAGAATGCGACGACGAACAGGACTGGGAAGCCCC +TGCTGCTGGACCAAGGCTCAAGCGAGTTCGATCGATTTAATTTTTTTTTT +TAAATTTTTTTGTGATCTCCAAATGTTCTGTCTTTCTGTCTTCCCCCCCC +CCCCGCCAAAATTCATTAACTGTTTTATTTCACAACACTCTGTATCATCA +TAATTTTCACATAAAATTGGCTATTTCAATGTTGACGTCGAATTTTTAGT +CCTATCAGCGTCATCGGATCTGAAAAAATGGAAAACTTGAACAAAAAAGC +AGGGGGTGGCCTAGAAAGCACAAAAAAAACTCGGACACAGTTCAACGGAG +GCAGTTTTTGGAAAAAAAAAAACGTCATTTTCGTATAGCCACACTGAAAT +TGAAAGAATTCTGGCCGAGTTTTCCAAATTCTAGGCCACCATGCAAACCG +ACATTTTGGGCGGAAAAGTGCCGGTGGCCGTGGAAGAAGGAAAAACTCGG +CCACTCTTCTATGTACTCCTCTCGGAGAATTGTGTTTTCCATGGCCGAGT +TTTTGTGTTTTCTAGGTCATGTCGGCATTTTTCTTAGTCAGTTTCAAAGG +AAATACGATACCTGGTCTCGACGCGAAAATTTTTTAATTAAATCCAAAAA +GACGTGCGCCTTTAAAAAGTACTGTAATTCCAAACTTTCGTTGTTGGGAA +ATTTTTATCGATTTTTCGTAGTTTTCAAAAAAAATAATCAAATGTACACA +GGGTTCTGTTCTTCCTTATTGATTTTTTCGCGCTCCATTGACAATCGCCC +GCAGGATAACGCGTGGGAAAGTCGTGTACTCCACACGGACATCGAGACGC +GACGCGACACGCAACGCGCCGTGAATCTACCCCAAATATGGCCGAGCCAA +AATGGCCTAGTTCGGCAAACTCTTCCATTTCGATTTATGAGGGAAACCAG +AAATCCGTGAGTAGTGAGAAAAACAACGAAAAAATCGATAAAATTTCCCA +ACAACGAAAGTTTGAGATTACAGTAGTCTTTAAAGGCGCACACTTTTTCG +CATTTAACATAAATTTGTCGTGGAGAGAGTATTTTTGGCGCAAAACTTCG +CATTCGGGTAATGATAATAGAAGAATTGAAACTCACAAATTCTCCGCCGT +CTCCTCAAGCAGCAGCGGCACAATAAACATGAAATACACGGCCAACACGA +AATGAATCGGCACCATCGACACAATGAACAACGACATTCGGAGCATGTGC +TCCAAAACTGTCGGCCGCAACTTTTTCGACGGATTCTCAAAGACGAGATA +CACTTGCATCGGGCTGTGCACATCTTGAACCGACTTCTTCTTCATTACAG +CGCTCCCTTCTCTGGGCAGCAGGTAGCGTGTCCACGTGGTGTAGGGTGAC +TCAGTGGTTGTGTGATTTATCGGCGTGAGCTGGAGCATTTTTGCAGAGTC +GCAGGCCAAGGTAGCGGAGGTGTTGGCTCTGAAAGTAGATTTCATACAGG +ATGGTAATTTCGGGGAGTACTGTAGTGGTGTTATAGTGGTACTGTAGGAG +TACACTGTAGGGGAACTGTAGGGGTGCTGTAGCAGTACTGAGGGGGGTAC +TGTAGGAGTACTGTAAGGGTGCTGTGGGGGTACTGTAGGAGTAATGTGGG +GGTACTGTAGGAGTACTGTAGGAGCACTGTAGGGGAACTGTAAGGATACT +GTAGGAGTAATGTAGATGTACTGTAAGGGTACTGTAGGGGTGCGCTAGTG +ATACTGTAGGGATCATGTAGGAGTACTGTAGAAGTCCTGTAAGGGTACTG +TAAGGGTACTGTAGAGGTGCGCTAGTTGTACTGTAAGGGTACTGTAGGGG +TACTGTAGGTGTACTGTAGGAGTAAAGTAGATTAACTGTAAGGGTACTAT +AGGGGTACGCTAGTGGTACTGTAGGAGCACTGTAGGCGTACTGTAAGGGT +ACTGTAGATGTACTGAAGTAGTTCTGTAAAAGGTACTGTAGGGGTACTGT +AAGAGCACTCTAGGGGCATTGTAGGGGTACTGTAGGTGTACTGTAAGGCT +ACTGTAGATGTACTGTAAGGGTACTGTAGTTGTTCTGTAAAGGGTACTGT +TGGGGTACTGTAGGTTTACTGTAAGGGTACTGCAGGGGTGCTGTAGGGAT +ACTGTAGGAGTACTGTAGTGGTTCTATAGGAAGACAAACTTTTTTTTGAA +TTTACTCATCGGAGAATCTAATATTTTTCACCAAATCGATACACCATAAA +AATTTTAGGACCCAAAGCTAAAAAAAAAAACCAACTTCTCCAATATCATC +TCCATCAATTCCAGTTGTTCTGTGCAGTTCGCCATCCCTTCCTTCTTCAA +TTCCTTCGCCCGATTCTCCAAATCGTCCACCATCTTCACACCCCGCCGAC +ACGCCGTCTCCACATACCGTTCCGTACCAGCTTCCGCAATTTTCATAAGC +TTCTCGACAGACTCGTTAAACTTGCGTGTTGGCTTGAACAAATGGGAACC +TCGAATCGCCTCGGGAACCGGATTTCCACCTCCTTCCACCAGGAGGCTGA +ACAGTGTCGTTTTCTGCCTGACGGCCTTAGCCAGGACGTGCCCATAGTTG +ATCATGTAGATTTGCCCGTTTTCAGATATGTTGAATGTTTCAGCAGATGA +GAACATTTGAAAATTATTTGATTGTGCGTGTTCATGCACCACAGTAATGA +ATGCGAGGCGGCAAATTAAAACTCTGAAAGTTTAGATAATTGTACTTTAG +TTGAAATCTACTTTGGTTGACAGGTGCATCGACTAGACTAAAAAAAAAAG +CAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTA +GGTAGGTAGGTAAGTAGGTAAAGCGAGACACGGTGCATCGATCTGACTTT +AAAAATCTCAATCTCGTATCTTAAGCGTCTTTGGTTCTGTCAGGGAAGCA +GGTAGGGGGGAGGTAGGTGTGATCAGGCAGAGCACCGGAGTTAATATCTG +GTGGATTGTGGGCTGCTAATAGGTAGGTAGGCAGGTAAGCAAGCAAGCAA +GCAGGCAGGTAGGTAGGTAGGTAGGTAGGCAGGCAGGTATCAGTTGACAA +CTTTTTGATGAAACTAAACGGAGCCGAGTTATAAGGTGCCAAAGTTGCAC +TAGACATGGTGCATCGACCTAACTTGAACAACTCGTATCTCAAGTGTCTT +TGGTTCTATTTGGGAGGCAGGTAGGTAGGCAGGTAGGTAGGTATATCTTA +GGTTGTTTCAAAACTATTATACATTAAAAATCAATAAAAATATTTTGCAC +GAATTTTATCAGTTGACAACTTTTTGATAAAACTAAAAAGAGCCGAGATA +TTGTAAGTTGCAAAAGTTGAACGAGACATGGTGCATGGAAGGTAGGTAGG +TAGGTAGGTATTTAAGTAGGTAGGTAGGTAGGTAAGCATTCCGTATTTCT +CTCTACTTTGACAGCTTATATCCTGGTTGTTTTGTGTTGTATCAAAAAAT +GTTTAACAAAGATAACATAGAAAAATATTTAGCACGTAGCAAATTTAAAA +AACTAGGTTGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGAAAG +GCAGGCATGTAAGTAGTAGGTAGGTAAAAGTACTCACGTGGAGAACATCA +AGCAGAAGATCGCTGAGCAAATTGAAAGTGGTACTGGAAGTTGAGCAAGT +ATTTTGGAGTATTTTTCTGGAAAAAAATAAGTATTCAAAGTAACTAAAAT +AAAATACCAACTCCGAAACTCAAACTTCATAATAAACAAAATCGTCAGAA +TCCCACTGGAGAGGACTGCAAAAGTCACTGTCGTGTTGGCAGACGTCTGA +TAAAAATCGAGGGTGTGTCCGGATGGTAGGAGAAGCACATTATCGTGATA +CTTTGACACAAATTCCTCAATAGACGCCAACGCTTTTCCGAAAACTGGAA +TCGAAATGTTCAAAGCATTGAGAATTATTTTCTGGTACTCTTCCACCAGG +ATGTTGTACTCCGAGTTTAGATCCGCTGAAAAATTTAAATTTGTATTAAA +TTGGGCAATACTCGTACTTGCCTACCTGCCTACTGGTAGGTAAGCAGCCT +ACTTATTTTCAACTTACAAAACTCCATATACTTTGTAACGTTTTCCAATT +TCGCAAAAATCGATTTCTCGAAATATTTGCACTTCCCCTCGACAAATGAT +TTCTTGGCGGGAATCTTCAGGAACAGCTGAAAATTTTTTTTTCCGGTGGC +CGAGTTTTTTCACGGCCACGACGTACCTTATTAAACATGGTGAAGTTGGC +GTAGTCATGCAAGAACCAATTTATTCGGCGGCGTTCGTTTTCGGTGACGG +CGAAGTCTCGTTTGAACAAGCACGGTATGTAGGACAGCTTACGGTGGAGA +CGCTCTTTGATGGCTGGAAGTTATGACGTCATGAATAATAAGGGATGAGA +TTTCTAGGCCACGTGTGACGTCACAGCAATCCCCGAAACCTTTTTGGATG +GCCGAGTTTTACCGATTTCTAGGTCATCGAGCGAAACTTTTGTGATACTT +TGGCAATGGTCATCAGGTAGACAAACAACGTGATAATTTCTAGGCCACGC +TTGACGTCACGTGGCCGAGATTTCGCGCCAGGACCTAGAACTAGACATGG +TGCATCGACCTAACTTAAACAACTCGTATCTCAGGTGCCAGGTAGGTAGG +TAGGCAGTCAAGCAGATAGGTAGGTAGGCAGGTATTTTAATTTCATTTCT +GCGGCTACAACACAATTTCTCTTCCAATCAAGGACGTAAATTTCTAGGCC +ACACATGCAGAGTGCGGACTAATAATTAAAGTGTTTTACGACATGGCCGA +GAAAAGAGAAACCTAGGCCATGGTAGTTAGGTGTGACGTAACGCCACTAT +AAAACTATAAAACTCACGCATAAAACTGTGATCATTGGCGGTTTCGAGCA +TCGTCCTTCCATAGACCGCATCCTGAGTACACTCTCGTAAATTGGCGGCC +AAAATTGTTAGACCAAGGATACAAAATATGGGGATAATGGTGAATCCGGA +GCGATTATCATCCAACCAATACACGATTACTTCGATAACCTCGAAGAGCA +GCAATTTCCAGACGACGAGGAATATCAGCAGAGCTGTGATCAGGCAGAGC +ACCGAGATTATTATCTGGCGGATTGTGGGCTGAAAATAGGTAGGTAGGTA +GGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAGGTAAG +TAGGTGGTAGGTAGGGAGGCAGGTATCAGCTGCCAACTTTTCGATAAATA +TTAAACGGAGCCGAAATATAAGTTGCCAAAGTTGTACTAGACATGGTGCA +TCGACCTTACTTAAACAACTAGGTAGGTAGGTAGGTAGGCAGGCAGCTAG +GCAAGTAGGTAAACTCACCAAATGCCTGAAAACAATTGCAAGAACATCGG +AATAACCCGAGCTCCTCCCGTTCAACGTCGCGACCACAAGCGCGTGCACA +CTTTTCCGCAGCTTCTCATCATCGCGATCAGCGCAAAAATCCTCGATTAT +CTCGAATCGATGGCTCTTTTTTGTGTGCGCCGGGTCTAATTTATAGCTGA +TCGGCTCGGGAAACCAATCGTCACACTGCAGCTTCGCATCCTCCAAGCTG +AAGCCGTGAGAAAACTGTGCACTGCATAGGAATAGAAGTAATTTCAGTTT +CATTTTGTTCTGGAAGAAGGCATTTTTATGGATGGAGTTTGAAAATAATA +ATTAAAAAAAAAACTTACAGCTGGAACTTTGTGAAATCGATAATGAAACA +ATAAATCTAAAAAAAGCTCAAAAAATTTTTGACAAAATTTAAAACTGTAA +CGTGTATGAAGGTCACGTGAAAACTGAAAACTCACCAAAAATGTCGAAAA +ATAGCAAGAAACTAGGCACACGTAGACTTATGGTAGGCAGGAAGGCGTAG +GCGTTGATCCAGGCAGGGTCACGTCTTGAAGGCAGACTGTTAGGTATAGG +TAGGCATAGGTAGCCATGTAGGCGTAAAGGCAGGAAGGCATCTCTAGATC +CTTTTTGTGGCAGATTGGCCGCTTTGCAGGCAGGCAGGTGTGGGTGGCCT +AGTAGACCGAAAAACAAGCAGGTAAAGTTCCTATAGTAGTAGGTAGGCGA +GCCAAACCTTTTTTGTAGATGATGAAGTAGGTGTAGGCCGTCTTTTGAAG +GCAGTGAGGCAGACAAGGTTAGGTCGTCGCAAAGGTTGGCTGGAAGGTAG +GCACGTGGGTCAGCAGATAAGCGTAGGCAGGCATAGGCAGGAAGGCATAG +GCAGGTAGACGTAGGCAAGTAGACGTAGACAGGATAAGATTCAAATATGA +AAATCGTGAAAAGGGGAAAATTTCTTATTCTTCGAGTGCGCGACAGTATG +CGTAGGCAGGTAGGCGTTGGCAGGTAGGCGTAGATAGGTAGGCGTATGCA +GGTAGGCGTAGGCAGGTAGGCGTAGTCAGGTAGATAAGCAGGTAGTCGTA +GACCGGGTAGGCGTAGGCAGGTAGGCGCATGCAGATAGTCCTAGGCAGGT +AGGCGTAGGTACGTATGCGTTGGCAGGTAGGTGTTGGCAGGTAGGCGCAG +GCAGGTAGACGTAAGCAGGTAGGCGTAGGCAGGTAGGCGTAGGTAGCTAG +GCGAAGGCACGTAGGCGTAGGTAGGCAGGCATAGGCAGGTAGGAGTAGGC +GTAGACATGCGCACATGAAAACCTTATAAATGTTTCAACCCCATCATCAT +CATCCCATTTTTCTCTCGATCAAAACGAAAAAATGTGCGCAAACACAAAT +TGCATCCATTTCTCTCTCTTTTTTACTCACTTATATATCTCTCATCACTT +TATCCCCCGTTTTTCAATCCCTTCCAAACACTTCCAAAACTCTCCAGAAC +TCCTAGAGAGTAACACGAGAGAAAATATTTGAACTTTTGTCTCGACCAAG +TTTTTTTTTTTGGGATTTTTTCTTTGGATTTCTACAAATTTGATGTATTT +TTTCCATTTTTCGTGCAAAATATGGTAATGGACTAGGTTTTTGCTACGTG +GCCTAGAAAAATCTCGGCCACCGATTCTGAGCTGTTGCAGCGGCCGCGGC +CGAGGGTTTTTCTCTTCAATCGATACCAATCCCTCTTTTACGCAAGGAAT +CACGTGGAGTCAGAGTGTCTCATTTCGTCTTGATCTACGTAGATCTACAA +AAAATGCGGGAACTGATTTCGTATCGTTAAGAACATGCTGACGTCACATT +TTTTTATCATAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGAC +AGCCTGGCACCACGTGCTCTTCCAACCTTTATATTTTTTTTGACAAAATC +TTGAGAATTTCTAGAATTTCAACGAAAATCCAATTTTATACCTAAACTTA +AAAAAAAATTGCTAAATTGTGTTCGACTAGCAAAAAATGCACCCAGTTTT +ACAAAAAATCTTTTTTTCTGAAAAAAAATTCAGTGGAAAATGTCTATAAT +TTTCAGTAATTCATACTAAAAAAAATCCAATTTTTACAACAAGTTTTTGT +GGCCGCGGCCGAGGTTTTTCCTCTTCCACGTGGTGTCAGAGTGTCTCATT +TCGGCTTGATCTACTTAGATCTACAAAAAACGCGGAAACTGATTTCTCAT +GGTTAAGAACGCGCTGACGTCACATTTTTTTGATCGTAAAATTCCCGCAT +TTTTTGTAGATCAAACCGTGATGGGACAGCCTGGCATTACGTGAAAACAA +ACAATGCAAGCGCGCTCTAATGCGAATTTATTTGCTCTACCACCAGATAA +ATTCCACTTCTTCACAATAAACCTAAATATTTTTTGTGTCAAAATCTTGA +GAATTCTTAGAATTCCAGAATTTCAGCGAAAACCTAATTTCCGATTTTGT +TATTGTTCAGGGGAACAAGTGAGCCACACAGCTTCCGCTTCTGCTCCGAA +TTCGATTCCCCTGAGGCATTTTTGTTCGAAAAAAGCCTCATTTGTCATAC +TTGTCGGCAACTTTCTTCGAAGTTTTTGTTCTTGTTTCAAATAATTTTTC +TTCAATACTTGTTCCTTCCGTCCCAGCAGATGTTCTTTTGCGGGGGGGGG +GGGGGAGGGGAGAAAAAAAATAAGAGAAGAAGCAGAAACTCGACACTTTT +GTGTCCGCATTTCTCGTAAAGTTTTCAGATTTTTGAGCTTTTCAAGCTAT +AGCTGAACCACCTAGCAAATTTCGCCGCAGAGTTGATTTCTCCGGGAGTG +GGCTTTCTACTGGAGACCTCACTTTTTTTGCCTTTTACTAGAGCTTTTTA +ATTTTTTAATAATTTATTGCAGCTCTATGGATTTTCCAAAAAAAACCACC +GAAAAGCCCGAAAAATCAAAATTTTCGTTTTTAAAACCCTAAATTCCATA +CTCCGTCCAAAGAACACTCACATAAAAATGAAGAGATTTCGCAAAAAAAG +TGAAATCCAATTCAATTTATTTCAATTTTGAAGAGTGCGTTCGTCAGCTT +TTTTTTCGACAAAAAAAAAAGAAAATGTGTAGTGTAGTTTTCAACAGATT +TATTGTTTTATTAATATAATAGAAATCAAACCTTCTTTCTGCCTACCTAC +ATGGCTACCTACATGCCTACTTGCAAGTAGACCTGTCTATCTAGGTACTT +ATCTCACACCTCTTTACCTACATACCTACCTTCCTACTCACCTGCCTACT +CATGTAGACATAAGTGATCGTCAAAAAAGAAGCTGATGGATCAAAAGTTT +TTGGAAATTTATTTCGATTTTCAGGTTTTAAAAATTGCGGAAGATGTTTA +ATTTTTGACGATTAGTTTAGAATTTTTTTTAATTAAGAAAAAAAAATTAT +TATTTTATTTTTAAATTACTCCAAATTTTCTTCTGATTCCGAATATCTAT +GTGAAACTTTTTTTAATTCCTTGGTTTTATATCTAAGCTTAAAATCGCTA +ATTTCATTTGTGCACCCAAGAGATTTCGAATTTTCACGGGGTTCTGGCCT +TCCTCCTTGAATTTTTCGCGCTCCATATAATATTGACAACCGGGCAACGC +GTGGGAAAGTCGTGTACTCCACACGGACAAATACATTTAGTTTTACAACT +AAAATCGAGCCGCAACGCGACACGCAACGCGCCGTAAATCTACCCCAGAT +ATGGCCGAGCCAAAATGGCCTAGTTCGGCCAAAACTCTTCCATTTCAATT +TATGAGGGAAGCCAGAAATCCCGTGTAATTTTCGCGCCAGAGACGCCATG +TGTCGATTTACGAGATTGGTGTATATTTACAAAATGCGTAATATTTATAG +AATGCTGATTTCCGTTTTTTTTTTTTGAAAAATGTCATGTGTGCACAAAT +TAAATTCGGCGATTTTAAGCTTAAATATAAAATCAGGGAAATTTTTTAAA +TTTTTTTCACGTAGATATCCGGAATCAGGGGAAAATTTGGAGGCAATTAA +AAATGTCTCCCTGATCATTTAAATTCTTTAAAAGTACTCTTCAGAATCCT +TTTTTCCTAACCAAATAAAATAATTTCTGACGCCTTTTTTTTCTCTTTTC +AATAAGAAGCAAAAAACAGACGAACCTATTCCAATTTCCCACCACACCAA +TTCGTTCTTTCCGCATTCTTTTTCTTCCATTATTTATCTCCCTTTTCCTC +CATTCTCTGTGCTCTTATATATATCCATCATCCCATTTTCTTTCTTGTTG +TGTGGTATGCTCTTTTTCATCCATTATTCGAAAATTCTCATTTTCCAAAG +TTTTTTGTCAAATACATTTTAAAAATTTTTTAAACCAAATCTCGCCGTCC +ATCGATTTTAAAATACCTTTTTTGAGAAGTTTTCAAGAAATTTCATTATG +AAATTCGGTGTTTTCAGACAATTTTGAGTCTAATAAAACAATTTAAAATT +TTGACTACATCACCTTTAACTTGTAGAATGCCGTTTAAACACACTTATCA +CTTTTTCAGAATCCCATATGCAATGGTATCACTTGCTCCTGCTAATTCTC +ATGATCCTGGTCCTAATCCCATGTTTCTGGCAAGCTTGGCTACGATTTTC +CCGTCGATTCTCCGATTCCTATGATCTATCAAGAAATGCGCAAAAGCGTG +ATGAGATTTCAAAGGAGTTTTATGTATAGCTTACTGACAGGATTTCAAAA +AACAGTTACGGTAAGATTTTTCGAAAAATTTCACGGATTTCTGGCTTCTT +GCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTACGGCG +CGTCGCGTGTCGCGTCGCGGCTCGATTTTATTTGTAAAACTAAAGGTATT +TGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTG +TCAATGGAGCGCGAAAAATTCAATGAGGAAGGCCAGAACCCCGTGCCTGT +ATAGGATATTTTGAATCTCAAAAGAATTTGAAGATTTGAGTTTTTTGAGT +TTGAGGTGGAAAAAATCGTAAAAAATTCCTTTCCGATAAATTTTCGGATG +CAAAAATGTGATCCATGCTGTAAAAAATCCAAGAAAGCCAAGAAATGTGC +GGAGCCTATTTTCCGATTTTATATTACTTTTTATTTCAAAACTTGATTCA +AAAATATCAAATTCGGAAAAAAAACCGCAACTTGGTAAAATTTCCTCGAA +AAATATTCTCCGCTTAGGCTCCGCCCCTCTCTTGGCATTTCGAATTTTTT +CGTTAAATTTTTGGAAACTGAAATTAAGTCCAAAAAGAACCAAGAAACGG +GCGGAGCCTATTATGGGATTGAAAAGACATGGTGCATCGATATGGAAACG +GCTTTTAATTTGGTTTTTTTTAAATAAGAAACTAGTAAAATTCAAGTGGC +CTAGCTTTCAACTCTTCCATAATTCCAGGGTACATTCCAACTGGTCATTG +CTCATTGCTCTCTCTTTATGCTTCTCATCACCAACGAATCCACTCAATTT +TCACTCAAGCTGTCATCTCCAGCAGTGTCTCTCAATTTAATTATGCTTGA +AATTGTTTTATAAAATGAAACAACACATACTCTGTAAAAGCAATTTATTA +TTAAAAAGTATATATATACACGTATTCCTGGGTGGGTATTGAGACTAACG +GAAGCGACATGGAGGAGAATTTGAATTTCATTAAAAAAAAAAAACAAAGA +GGTAGGTTACTGTAGCATCCAATCTGGAGGCTGCACAAAGAAGACTCCAC +CGTCAGTGGCGCAATATGTTGGACACACCTGGAACGTTGAAACATTATTT +ATTTCTTTAAAATTTTCTTTGTCTAAGCCTGAGCCTAAGCCTGAGCCTAA +GCCTAAGTCTAAGCCTAAGCCTAAGACTAAGCCTAAGCCTGAACCTAACC +CTAGGCCTAAGCCTAAGAAAAAGCCTAAGCTTGAGCCTAAGCCTAAGCCT +AAGCTAAAGCCAAAACCTAAGCCTAAGCCTAAGCCTAAACCTAAACCTAA +ACCTAAGCCCGAGCTTAAACCTGAGCCGATACCTAAGCCTAAGCCTAAGC +CTATTCCTAAGCTTAAATATAAACCTAAACCTAAGCCTAAGCCTAAGCCA +AGCGCTGAGCGTAACTTAGAGCCTAAGCTGAGCCTGAGCCTAAAACTAAG +CCTAAGCCTAAGCTTGATCTTAAGCTTAAACCTAAGCCCTGAAAATTTTT +TTTTGAACTCCACAACAAAATTTGTAGAATGTTTTTAAAAATTGGGATTC +TGAAATTCCCCGCCAAAAAGTTTAAAAACTTCACATTTTAATTTATCTGT +AAAATTTATATAAATCCCTCTTAGATTTTGAATTTCGCGGCAAAACTTGT +AGAACATTTCAAAAATTTACTTTCGCGCCAAAGATTGTCGCGCGAAATTT +ACAATTTTTCTATAAAAAATGTATTTCATAGAATTTCAAAAAATCGAAAA +TCGCGCCAAAAATTTTTAAAAATTTTTTTCAGTATTGTGACGTCATAGAC +TACAAACTAACCCCTCTATTGCCTTCCTCCCCGTGCTCTCCAATGAGTCC +TTCGGCTCCAGCGGCTCCATCATTCCCTGGGAACCCGGGCTTTCCTTTTT +TTCCTCGTGGGCCTTGTGCACCAATCGGGCCGTCGATACCAGGCATACCA +GACGGTCCTGGCGGCCCGAATTCTCCTTCCTCTCCGATCGGACCTGCTGG +TCCCGGGATGAACGGTTTCGGGGTGGCGTCCGCACCCGGGTCGCCCATTT +CTCCATCCAGTCCTGGGATTCCCTGAGGGCCTTGTAGGCCTTTTGGTCCC +ATTTTTCCATTTTCCGCGCGAAGTCCATTCTTTCCGGGTAGTCCTGGCTT +ACCAGTGTCTCCTTTCACTCCCTGAAAATTTAGTTTAGTGGTATAGGCCT +ATCAAATAGGCTTACCGTAATCCCAGTGGTTCCTTGTACTCCTCTCGGAC +ACGGATCCGCACACAAAGACTTATAATTCACAGGAGGCTCACATGGTAGG +CGCGCTGGAAGTCCAGGCGCACCTTCCGATCCTTTCGTTCCAGGAAGACC +GTCTCTTCCAGGGATCCCCGGGGGTCCTTGTGGATGACGGCACTCACATA +CTCGGGATCTTGCGGTTTGGCCGGTTTCGTGTAGGAAATCGTCGATTTCA +TCTCTTTTCTGGCGGGTTATGTTTTGGAAATCGTTGGCGACATCGGATAG +CATGCTTTTCATCTCGAGGGCGCTTTCCTGGAAATTTAAATTTGCTTGAA +ATTTTCAAACTTGTTATATTATAATTTACAAAATACTGACTGCCTTTGTA +AGTTTTTTATTACAGGAACACAAAATTCTAAGAATGCGTACTGCACACTA +TATTTGACGTGCAAGATATCTCGTAGCAAAATCTACAGTAACTCTTAAAA +TGACTACTGTAGCGCTTGTGTCGATTTACGGGCTCGATTTTCGCAACTTT +TTTTCTTTCGGATTTCCTTCGTTTCCTCGTATTGTTTTCTAACTTTTTAT +TTCAAAATTTCAATATTCTATCGATAAATAAATCATTTTAATTTATTTCG +AAAATCGAGCCCGTAAATCGACACAAGCGCTACACGAGTCATTTAAAGGA +TTACTGTAGTTTTCGCTACGAGATATTTTGCGCGTCAAACATGTTGTGCA +ATACGCATTCTCAGAATTTTGTGTTTCTCTAATACTGTGTTTTTAGGATT +TTGAATGAAAGGAAAAGCCCGAAACTTTTAAACAAATTTTTCGGTGCATT +CTGTATCAAAAAAGCTGAATAAAATTGTACAAAAAAATGCCACATTTTAT +TGAAAAATTGATAATAAAATAATTTGTTTTCAAATAATTTTTGAATTTCT +CAATTTTTTGGAATTTTTGGATTTTTTCGGGCCAGAAAGTAGGCATTCTC +ATGAACTGATGTTTTCTTCATAATAATATATTCAAAAAAACGGTCTCCCA +CAAAAAAAGGTCCGAGAGGCGAACAAGGTTGTAAAACGTTGCTATTGTTT +ATTTACAACCGCCATTATACCCCTATAGGGGTTGTAACACCACATAACAA +TTTGATAAGATGCACACAGTAGGGAGAGGGACCTAATTTAAAAATATAAG +AATTTTCTCATTAAATACAATTTTTCTCTATTTCTTTCAGGAATATCGAG +AGGAAAATCAGCGAAATTTTTGGAAATTTTTGGTTTTTTTCTAACGAAAC +AAAAAAAATTTGAAAAATTTCAAGAAATTCTGTGTATTTATCGATAAAAT +TTCAGAAATCAAGGGGGTCGTATAGAAGTTAGACGGTCGGTTTTTCGACT +TTCAGCTAACTTTATGAAATTTCATTTGTTCAGGTTTTCTGACATTTAAA +ATCAAATGGCATTAGCAGTTTTTCATGAAAAGTTTCAGAAAGTCTCAAAA +CTCCAAATTTTAGGAGGGTCGTATAGAAGTTGGACGCACTAAAAAAAAAG +GAAAAATGTGGTTCTAATTATTACGGAAACACTAAATTCTGAGAATGCGT +ATTGCACAAAATATTTGATGCGCAAAACATCTCGTAGCGAAGACTACAGT +AATTCTTTAAATGTCTACTATTGTAGCGATTGTGTCGACACGTGGTGCCA +GATTGTCTCATTTCGGCTTGATCTACGTAGATCTACAAAAAATGCGGGAG +AAGAGACGCAGACTTCTCAACTGATTTCTCATGGTTAGGAACGTGCTGAC +GTCACATGTTTTCGGGCCGAAATTTCCCGCATTTTTTGTAGATCAAACCG +TGATGGGACAGCCTGGCACTATGTGTGTCGATTTACGGGTTTGATTTTTG +AAATTGATTAAAATAATTTAGTTATCGATATTATATTGGAATTAAACAAA +AAGTGAGAAAATAAATCGAGCCCGTAAATCGACACTACAATAGTCATTTA +AAGAATTACTGTAGTTTTCGCCACGAAATATGTTTGCGCGTCAAATATAT +TGCGCAGTACGCATTCTCAGAATCCGTAATCCTCAAACTTCTCACCTGAC +AGTACTCGGCATCGTTGACAGTATTCTGAATAGCCGGTCGAAGTATTGAG +GCAAGGGGTCCTACAGAAACAATAAACGACGACATCGTGGATAGCGAGAT +AAATAGTGAAACTATGATTAACGTGGCGTATGCCGTTTCTCGAGCATTCT +CGTTCATTTTCCAGGAGAAGCCTCCAAGAGAAGCCTATGGAGGATCCAAC +GAAAAGTGAGTAAAGAAATGATGCGCTGGCGCGGAAAAACGAGAGCGATT +ATGTATGGGAGTGACCCAAAAACACGGAAAAGTAACGGATAACAAGAAGA +AGAAGGGGGCAACTTTCTCTTTCTTATCATCATCACCATCATCATTATCT +CCTTTCTCGGGATTCCGTCATGAGAATGAATCCATTTACTCGTTTTTTTT +GTGTCCATTTAAGTTTGTCTATAAATATGGCTAATTTCAACTTTAAAATC +AAATAATGAAACTAGTAATTCTACTCATCTCTCACGCAATTCCTTTCTTT +TATGTGATATATAACTTTTATTCCATATTTAAAGAAATTTCAAGTTTAGA +GTCTAACTTGAAAATTGCCAGTGATGAATATAAAATTAGAATGAAGAATA +TTTCCAGAGAAGTTGGAAGTGTAGTCTTGGAGGAGAAGAGAGGAAAGAGG +TGAGGAAAAATTACGTTTTTTTGAAGTTTTTTCTTTAATTTTCGAAGGAT +TAGGCTTAGGCTTGGGCTTAAGTTTAGGCTTAGGCTTAGGTATAGGCTTA +GGCTTAGGTTCAGGCTTAGGCTTAGGCTTAGGCTTAGGCTCAGGCTTTTG +TTCAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAAGCTTATGCTTAGGTC +AAAGTATAGGCTAAGAGGCCTAGGCTTAGACTTAGGCATAGGCTTAGGCT +TAGGCTTAGGCTTAATCTTAGGCTTAGGATTAGGCTTAGGCTTAGGCTCA +GGCTGAGGCGTAGGCTTAGACCAAGGCGTAGGCTTAGGCTTAATCTAAGG +CTTAGGTGTCGGCTTAGGCTTTAGCTTAGGCTTAGTCTTAGGCTTAGGTT +AATCTTAGGCTTAGGATTAGGCTCAGGCTTAGGCTGCGGCCTGGGTTTCG +GCTTAGGTATAGGCTTAGACTGAAGCTTAGACTTAGGTTTGGGCCTAGAA +TTAGGCTTAGGCTTAGGCTTAGGCTTGGGCGGGGCTGGGCGGATGAGAAA +AAGAGAAAAATTCCAGGAAAATCCAAATAAAATCCAGAAAAAATAATAAA +AAAAAGGAAAAAACGGGAAAAATGGGGCATTCCGCGTCTGCCGCGTCAAA +AACTTTTCCTTAAAAAACGGACAGAGAAGGACCAAAAAAGACAAAAGTTT +AACAAAAAATAGTTAAACATTTTTTTTGACGGGGTTGAGCTCACCCAGCT +GAGCTCACTCCATAATTGCACACAAAATTCTCAAAAAATTAATTTTAGAG +ACTACACAGAGGCTAGCAAATGCACATGCTCTTCAACGATTTCTCAGAAA +TGCCCGCCAGGCTCCAAAGGTGCTCCAGGAGCCGATGGTCTGGACGGGAT +CCCCGGCTCCAGAGGTCTGAATGGTATGGATGGAGAGGCTGGGCACAGTA +ATATGGATGTTTGTGAGTTGCCCAAGATCTTTTATTTTTTGTAAATTCAT +ATTCCAGTCATGTCACCAACAGGATGCATCCGTTGCCCAGCGGGTCCTCC +AGGTTCTCCTGGTGATCATGGTTCTCCTGGTGAACCAGGGTACCCGGGAC +CTTCAGGACCTCCAGGGGAACCCGGTTACGCAACAATTGGGCTTATCGGG +CCACCTGGACTCGCAGGCCAAGATGGTCTAGATGGAGCTCCTGGCGAGCC +GGGAGTAGGTGGAATGGATGCAGTGAAGATTGTTTCAGTTGATGGAAAAA +TTGGAAGAAGAGGAGAAGCGGGGAACAAAGGAAGCAAAGGATCTCGAGGA +GGAGTTGGAAAAGCTGGAGGGCCTGGGGTGGCTGGAGAAATGGGAGAAAA +AGGAGCAAGAGGTGAAGATGGAAAGCCTGGAGAGTCTGGAAAGGTGAATT +CTCAGAAGTTGATCGATGCACCAGGGCGACAAATTAAGCGAATCGGCAAA +TTGCCGATTTGCCGATTTGCCGGAAACTTTCAATTCCGGCAATTTGCCGG +TTTGCCGATTTGTCGGATATCAAATTTGCCGGAAATGTTTAGAGGGATTT +TTTAAAAGACGAAAACACTTAAAACTGTGTCTTTTTGAATTTTTTCCCGT +TTTCCTAACTAGGGAATATTGTTAATAGGGGAATTGCTAGGAAGAAAAAA +CAAACTTTAAATGACAGATGAGGTCTTTGGCTACAAAAATCATTTTTTTC +ATTATTTTCATTTTCATAGAATTTGCTCACTTTTCAAAATAGACGTAGGA +ACATTCATAGGATGCGTTTAATTTTGCCATTTGAAATTTAAATTCTGAAA +TTTCCAAAAAAAATCGGCAATTTGCCGGTTTGCAGATTTGCCGGAAATTT +TCCATTCTGGCAATTTGCCGATTTGCCGATTTGCCGATTTGCCGGAAACT +TTCAATTCCTGCAATTTGCCGGTTTGCCGATTTTCCGGAAATTTTAATTC +CGGCAATTTGCGGATTGGCCGATTTGCCGGAAATTTCAATTCTGGCAATT +TGCCGGTTTGCCGATTTGCCGGAAATTTCAATTCCGGCAATTTGCCGGTT +TGCCGATTTGCCAAAAATTTTAATTCCGGCAATTTGCCGGTTTGCCGATT +TGCCAAAAATTTTAATTCCGGCAATTTGTCGATTTGCCGATTTGCCGGAA +ATTTCAATTCCGGAAATTTGCCGATTTGCCGGAAATTTAAAATCCGGCAA +TTTTCCAAAACTGTATAATTTTTCAGCCCGGCGCACCTGGAATCCCTGGA +AAAGATGGTACATACTGCCGATGTCCCGATCGAAATCGTTACGATATTTA +TCCATATAAATCGAAAATCTGATAATAGTAATAAAGATAATAATACAATA +AATACAGACAGGAAACGAAAAGCGAGCACTGACGATTGTATGATACCCGA +AACATTAAGGAGGAGCACAAAAAACACAATGAAAAGACACAGAAAAATTG +AAATTTGAAAAACTGGTAACGAGACTAGAATCGTCATGATGATCTTGTTG +AAAAAATTGGAAAAAAATTAAGAATCTAGAAATTGATTAGGCGCAGACTT +GACACGATCTTGGGCACCGAATCCGCATTTCAGGCCAATTTTCGCATGCT +CCGCCTTGAGCCCATGACGGGCAGAGGGAGTCATGATCGATGCATCTGAA +ATGGGGAATATTATTTTTTATTTTAAGCTTCAGGTTTAGGCCTATCGACT +TTGGATCTCAGGCTCAGGTCCTTAAATTGTGTATCTCAAGCTTAGGCTCT +CTCGCTCAAGCCTTTAGATTTCAAATCTTAGCCTTAAGCTCTCCGACTGA +TTTAGGATATCAGACTAAGGGCCTAGGACTTTGGGCCTGAGGCTTAGGCT +AGTATTCAATCTCAAGCTTAGGATCTCACGCTTAAGCTCTCTGACTCAGG +CCCTTAGATTGCAAAAACCTTTGCCTTAGGCTCCCCGACTGATTTAGGAT +ATCAGACTTAGGGCCTAGGACTTCGGGCCTGAAGCTTAGGCTCTCAGATT +CAGGCCCTCAGACTTTGAGTCTAAGGCCGTTAGACTACGATTTTCAAGCT +TACAATTAGGCTTTTAGGCTTAAAATCAAAATCCAATTTAGTTTTTTAAA +AATAATCAAACATTTCTAAACCGCAATTTTTTAAAAATTACCCTAAATAT +TTCAAATTTTAGGCTTAGACTGTCAGACTTAAACCTTTAAACTTTTGGTC +TCAAATTTAGCCTACAAGTCTGTGGACCTAAGACTTTGGACCTCGAACTG +CGGCCCTTAGATCTCATGCTTGGGCTCTAATATCCTGGCCCTCTAGTCCT +AAATCTTTTGATCGTAGTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCT +TTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTT +CAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCA +GGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGG +CTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAAGCTTTCAGGGT +TTCAGGGTTTCAGGCTTTTAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTT +CAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCA +GGCTTTCAGGCTTTCAAACTTTCAGGCTTTCAGGCTTTCAGACTTTCAGG +CTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGGCT +TTCAGGCTTTCAGGCTTTCAAGCTTTCAGGCTTTCAGGCTTTCAGGCTTT +CAGGCTTTCAGGCTTTCAGGCTTTCAAACTTTCAGGCTTTCAAACTTTCA +GGCTTTCAGGCTTTCAGACTTTCAGGCTTTCAGGCTTTCAGGCTTTCAGG +CTTTCAGACCACAACTAGACCGGCAACACACGTGTTGTCTAATTACTCAC +CTCTTTGCCGGCGCTCTATGCATATTTGATGGTAACTCGATTGTCTTTGA +AGCTATCACTTTCACAGCTTCCCAAGTTTCCCGAGCTGTTGGAATGATCT +GAAACATCAAAAATCATCATCAAAAATCGTGGTGAGACCCAAAATTACCT +GATTCTCAGCCAGCAAGAATCCATCCCAAACTTGCTCTTCGGGTCTCAAC +TCGAACAGGAATGAGTACTTGACGTGGGCTTTTCCCTTTGCCCAATCTTC +TGAGCCACCGGATGCGGGGTCTGGAAATATTTTGAAATTTTATACATAGG +AGCCTTAAGAAATAAGAGCTTACAAAGTGTATCTGCACCGGTTCCAACTT +TGTACTGCGTGTTGTAGACACTATTCAAAGCCTGAGCTGCTGAGAGGGCA +GTGGATCTCTGAAATGTTTAGAAAATATGACCATGACTTGGGCAAACAAT +TCCCGCATTTTTGTAGATCACACCGTAATGGGATAGCAAAACACGTGGTG +CCAGAGTGTCGCATTTCGTTTTGATCTACGTAGATCTACAAAAAATGCGG +GAACTGATTTCTCATGGTTAAGAACGTGCTGACGACAAATTTTTTTGAGC +GAAAAATTCCCGCATTTTTTTGTAGATCAAACCGTAATGGGACAGCCAGG +TACCAAGTAAAAAATTTACTCACCAAATCATTCAAATCATTTGAATAAGT +TCTGACTTGATGGCCGAACGGATACATCAAAATTTGAGAGTACGAGTGGA +AGGTGAGGAATGTCGAAATACGGTGTCGCTGCACGAAATCTCTAACCGCC +GCAGTCTCGGGCTCCGAGAAGGCGTAGGCTCCCTGATAGATTTCCGAGCA +AGGATCAGTTGATGAGCCGACTTGTCCGAAGAACCAGTCAAAGTTTCGAT +TGAGGTCGACACCTTGACAGCAGGTTGTTGTGGGAGGTTGGAAGAGTCCT +GAAAGGTTTTTATTTTTGAGATTTTTAACTTTCACGGAGAATTGCCAAAA +TCTTAGTTTTCATAGCCTGTGTGACATTATTTGGGCGTAACTAAAGTCCA +GAAAGCTTATGCCTTGTGCTGATGAATTTTTGCAAAAATTGTGCCCAGTT +TTGCCACTTTTTAGTGGTTTTTGATGGGTTAAACCTAAATTTTCTGAATT +CAAGTTTTTATTTTTTCCAAATGTTTTTTCAGCCATCGAATGGCTGTCCT +TTTTTTCGGGCAAAAAAATAATTTTTCTGAAACTATTTGAAACAATTATA +TTCTAAAAAAAAGGCAATTTTTTAAATTTTTTCTAGTAAATTTTGAGTCC +TCTAGCTACAAAATAAACCATTTTAGATGAGTTTCAAAAATGTGCATTTC +TACAAAAATTGCCCAATTTTTGCCACTTTTTGGTGGTTTTTGATGGGTTA +AACCTAGATTTTCTGAATTCTGCGTATATAAATTACACGTTTTCAACAAA +TTTAGACATTTTTTTTATTTTTGCCCAATTTTTTTCCAGCCATCTAATGA +ATATCCTTGTTTTTAAGCAAAAAAAAATTTCTGAAACACAATTATTATGA +TCCAAAACAGGGGTGTGCGGCAAATCTCAAAATTTGCCGAGCACGGCGAA +TTTGGCAAACGGCAAATTTGGCAAATTCAGCAAATTTGCTGAGCTTTACA +AACTCCGCAAAAATTTGATACTTTTTGAAGCACCTAAACTACTAATTTCT +GAACAAAAGTTCAAAATAACTTGATTTTGTGCCATTTTTCTAAATTTTTG +GAAATCAATAATTTTGTCAATAATTTTGGTTAAAATTGTATTGTCAAATT +TTTGACGCGGGCGGCAAATTTCAAAAATTTCTGAGCTCGGCAAACGGCAA +ATTCGGCAAATTTGTCAAATTTGCCGCACATTTTTTTTTGGTTCAAAACA +TAATAAAACACTCCAAAACATTTTAGATTTTTCATAATTTCCGGTCGAAG +TTTTTGCAAATTGCTAAAATTTTGAAAAATATGAGTATTTGAGGAAATCC +AAAGCAATGCCGCATGTTCCGACCCCTACAATGTTTTAATACAAATGATT +AAAACAAAATTACAGTAGACAAAATGTAGAAAAAAAATTATTTTTGGTCG +ACTTCCAAAATTATGAGTGGCAAAAACTTTGTAATTGTCACTTTTTGACA +GTAAATAAAAAATTTTAAGAATTTTTTTGAAAAGTTTTATTATGATATTC +GGTCATTTTGGGACCAAATGAGTGGTTTTTAACAATTCCGGCACTGGCGC +TAGTCCAGCAATTGCCGTAATCTTAGTTTTCATAGCCGACATTATGCGGG +CCTAACTGAAGCCCAGAAAGCTTGTTTACAAAAATGAGCAAGCAGAAAAA +GATCAATCTCCCCAACAAACCTGTTGCCTGTTGAATACACTTTGGTGGTG +ATCGATTCTTTCTCCACAGTCTGATCTCCGGATCATTGCTACTTCTACTG +TACTCATAACCATCCGGATTCAGCAGTGGAACAATATACCATTCGAGTTG +ATCTACGAATTGCTTGATTTGAACATCTTTGTCGTACTGGGTGACCAGTT +GGTGAATGAAATAGAGTACTGTCGATGGTGACACCCATTCACGAGCATGG +ATTCCTCCGTCCACCCAGATGCCACGTTTCGTACCTCCGTTACGCTTGTT +GGTGATCTGGAATTGAGGAAAATTGGGGTGAGATGGGATCACTAAATTCT +GAATCTAGTTTCTGTGCTACTGTGTGTTACGTTTTTTGCGCTCCATTGGC +AATCGCCTGCCCATCAAAAACCGTCAAAAAGTGGCAAAACTGGGCAATTT +TTGTAAAAATTCACAATTTTGAAACTCCTCTAAAATGGTTTAGTTCGTAG +CTAGAGGACTTAAAACTGATTTTTGAACCCTAAAAATTGTCTAAATTTGT +TGAAAACGGGTAATTCTTGTATGCTGAATTCAGAAAATCTAGGTTTAACC +CATCAAAAACCATCAAAAAGTGGCAAAAGTGGGCAATTTTTGTAAAAATT +CACAATTTTGAAACTCCTCTAAAATGGGCAATTTTGTAGCTAGAGGACTC +AAAATTAACTTCCAAACTCTAAAGAATTGTCCTTTTTCAGAATATAGTGG +TTTCAATAATTTTCGAACAGAATTTTTTTTGCCCAAAAAAGGATGGCTGA +AAAAAATTTTGGCCGAAAAAAAAACAGTTTTACACTGAAAGCCAAACCGC +GACGCGACACGCAAAGCTCGGTAAATCGACCCCAGCCGTGGCCGAGTTCA +AATAGCCAAATTCGGCAAACTCTCACATTTCAAGCTATGTATTTCAAGCC +AGAAGCGCGTGCGATTTCTCAAAAACCGGCAGCTCAGTTGCAGGAGGACT +TTACGAAAATTTTGAAAATTCCAAGGTATAATTGGTAGGTTTTTCGGCAT +GTTGCATGGTACTTAAAATGTTTTTTTAACTTTCAAAAGTGGCTTTTATT +TTGGTTCTTATTGCAAGCCTAATAATAAAAATACTATCCACGTTTTAAAT +GCTTCCATGGTAGGCAGGCGCGGTTTCAGGGCCGACATGGAAGCCCTACA +TGTCACGGATTTCTGGCTTTCCTCAGAAATTGAAATGGACTAGTTTTTGC +CGAACTAGGCCAGGCCATATCTGGGGTAGATTTACGGCGCGTTGCATGTC +GCGTCGCGGCTCGATTTTAGTTGAACAACTAAATGCATTTGTCCGAGTGG +AGTACACGACTTTCCCACGCGGGCGATTGCCAATGGAGCGCGAAAAATTC +AATGAGGAGGGCCAGAATCCCGTGATCGTCCGAAGCAAAGTTAAAACAAC +AAACCTTAATCAACGGGATCTGCCGTCCTTCGTGAGTCGTTCCGATTGGC +TGCACAGACACAAGCTCCGGATAAGTGATGGCTAATGAGTTCAGGTAGTT +GATAACATCAGCAAACGAGTGATATTGTGCAAGGTTAAATTGAACCTGCA +ATAAGTTATCATTGAACTATGTATCATTGAACGTGGTGTCAGAGTGCCTC +ATTTTGGATTGATCTACGCTGATCTACAAAAAATGCGGGAGAAGAGACTG +ATTTCGAATGGTTAAAAACGTGCTGACGTCACATTCTTTTGGGCTAAAAA +TTCCCGCATTTTTTGTAGATCAAACCCTAATGTGACAGCCTGACACCACA +TGTATTCACTCACTTTCTGCTCCCTCCAATCATGCAGTCGAACTTGTTTC +CGAAGCTTATCCCGCTTCTCCTTCTGCTCGACAATCACTCTGAAATCGAT +GAAAAGATTGTAAGTTGGGCTTAATAGTGTCCCCCCACGACACCCATCAC +GCGTAACGAGCCGTGACGCGTTTGAATAAAGAGGGTATTTGGACTTGTGA +TCCCCGCGAAAACCTGTATCGCACGTGATGCCAGGGTGTCTCATCACGGG +TTGATCTACAAAAAATGCGGGAATTTTTTGCCCAAAAATGTGACGTCAGC +ACGTTCTTAACCATGCCGAATCAGTTCCCGCATTTTTTGTAGATCTACGT +AGATCAAGCCGAAATGACACACTCTAACACCACGTGGTATCGCCGAAAAA +CTCACTTCTGAACGTCATCAATCATAACGGAATGCTTAATCGAATGATCA +TCGAGCTCTTTCATAAACTGCTGAGTTTTCTCATCGGATATCATCACATG +AACCTCCTTGCCAGCTTCCGACGGGGATTTCCAAAAATCTAGCTGAAAAT +TTTAGTGTGTCTGAAGCACCCTTATCAGTTCATATTATATTTCAAAATTT +TTCTCTAACCCCTCAAAACCGTACTCTACATCGCCGTTCTGGCCGAGTGG +TCTAAGGCGCTGCGTTCAGGTCGCAGTCCTCTCCGGAGGGCGCAGGTTCG +AATCCTGCGGACGGCAGATTTCTTTTTTGAATACTACTCTTCAAACAATG +CATGATGAAGAAGAAGAAGAAAAAGAGAAGAACGTATTGGCTTTTCCTTT +TACACTTTTGAAATCCCTAGGAACAGGTTATAAACAGCGATGTAACATGA +AAAGCAGCAGTGAGAGTGATCGAAAACGAGCTGATTATGATTTGTTCAAT +TATATGACACCGCTATTGTAATGGTTGGTTTGTTGCGTGGAACATCATAC +CTTTACATCGTTTAAATACAAATTATGAAGAATGTCTACTTGATCTTGGG +TCGTCGGCTGCACCCTCCATACTGTGAATTTTCTGAAAAATCGAGAGTTT +ACCGGCTTTTGGGGGAGATTTTACCATTGACTTTTGACTTTTTGGAGAGA +TCTAAATCTAGTAGATCATGCGGCGGTTAGGTCTATTTGAAATAAAAAAT +AATTGATCTAGATATGAAACATGGAGATCTAAGGGTTTTGGTAAAGTTGA +GTAGAATTTTTAATTATTTTTTTGAAAATTTGTTTGCAACATTTTACAAA +AAAAGACGAATAAATATTGACCAAAAAAATTTTTTTCAATAAAAAATGTT +TAAAAATTAACCACCTTTTAGCTTTTAAAGGTGGAGTAGCGCCAGTGTGG +ATTTTGTCTAAATACACTTATTATGAACCAAAATGGTCAAATATCATAAT +AAAACACTTCAAAAAATTTCTTTATTTCAGATTTTTCATAATTTCTGGCC +AAACTTTTTGCAAATTTCCAAAATTTTGAATGTCGCAGTTTCCGACCCCT +ACAATGTTTTAATACAAATAATTGAAACAAAATTACAGAATAAAAAATGT +AGAAAAAAAATTTTTTTTTTGGTCGACTTCCAAAATTATGAGTGGCAAAA +ACTTTGTAATTGTCACTTTTTGACAGTAAATAAAAAATTTTAAGAATTTT +TTTGAAAAGTTTTATTATGATATTCGGTCATTTTGGGACCAAATGAGTGG +TTTTTAACAATTTTCCCACTGGCGCTACTCCCCGTTTAAAGTTCTATGCT +TTTTAAAACTCACGTTTTTTTTTATGAAGTCTATTTTAAAAAATCTGGAC +TCTCAGTGGACAGTTCAGCATTTTTCGAAATTTCAGAAATTTAAAACATA +AGTCGGAAGTGGTCCTAAAACTTCAAAAAAATTCTCACAATATGTTTTTT +TGATGAAAACAAACTTATATAGTGCCAAAATGACCAAAATTTTTTTAAAA +ATAATATTGAAAAATCTTTAAAAAATCTCTTCTGGTTTTTATTTATTTTT +AAAAAATTCATATTGAAATATTATAGTGCTTTAGATTGCTCGGAAAAAAT +TCCACAAATTTTTTAATTTTTCATAAGTTTTATAATGATATTTGGTCATT +TTAGCTCTCTCGGGTAATATTGCAAACCCACGTGGTGCCAGGATTTCCCA +TTAAGGTTTGATCTACAAAAAATGCGGGACTTTTGCTTAAAAAGATGTGA +CGTCAGCTCATTTTTAACCATGCGAAATCAGTTGAAAACTCTGCCGCATT +TTTTGTAGATCTACGTAGATCAAACCGAAATGAGACATTCTGACACCGTG +TCCACCTTCAAAGTTAGTAATTGCATGAACAAAAAATTCTGAGAATGCGT +ATTGCACAACATATTTGACGCGCAAAATATCTCGTTGCGAAAACTACAGT +AATTCTTTAAATTACTACTGTAGGTCGATTTGCAGGCTGGATTTTTTGAA +AAAAAAATGAATTAAAATTTAATGGAATATTTCTATCTCTATGTATTAGA +AAATAAGGCCCGTAATGAGACGAGCGGGCCTGCCTACCTGCCTGACTATA +GAAGGCCGCCTTAAAATCAGGCAGGTAGGTTTTAACGCCTAGCCTACAAT +AAACATAAAGAGAAATGCCTAAAATAACAATAACTTTCCATTATCCTTTC +TTATCGTCCTCCCCGGCGATCGCCTAAGATCATAGATAACAACTAGCCGC +TTTCGGTCATGCAATTATTATATTATAATTGATGGATGGATGGGGGATAA +TCCAGAGAAAGGGGAAAAAGAAACTTAGAATCCTAGAAAACAGGTTCCCC +TGACTCAAACAAAAAAACCTACTTTTGATGTGCCAACACGGATGGCACGA +CGAGACCGATGAGGACGATGATGTTCATCATCATCATCTTCATCGTAGTA +AAACTTGGGGGGTGATGAGGGGCAAAAGGATGCCCTCCGCGCGTCAAGTG +TTCGTTGAACAATCCGACGCAGACGGTTAAACAAAGCAACACAGTGGTGT +CTCCGCCCAACTTCCGCGCGTCCGCCGCCGCCCTGTGTACTGTCTTGTCC +TATCCTATCTCTCTTTTCTCCACCCCGGCTTGTGTGTGAGATTCTTCTCA +TTACTAGAAGAAGGTCTCTAGTAGAAGAAGAAGAAGAAGAAGAAGACGAC +GATGGAGAAGAAGCTGAAGGCACGACGCACTGTTTGCGCAACGATGTTTG +TTTTTGCGCGCGCGAGCGCCGCATTTAAAACGTGTAAATCGGTTTCAAAA +GCGCGCGCGCGCGGTCTTCTTTCTCCGCTTGCGCGCACGCATTGACAAAA +AACCGAAAGGTGCAAAAGTGAAGAGGCCAACTACTTTCGTCCTCTTTGAG +CACCTAATTGTGGAAAGCTTTTGCTCTGATGTGAAATGAAGTTGGGTAAG +CTATTCCTGTCTGGGTGATGTTTTCAACTTCCGGGGGCATTGTTGGGAAA +GTGAGGACCAAAATAGGCCATAAAAAATGAAGATATACATGCTTAGGCTT +AGGCTTAGGCTAGGCTTAGGCTCAGATTCAGGCTTAGGCTTAGGCTTAGG +CTTAGGCTTGGAATTAGGCTTGGCGTCAGTGGCGAGCGTGAGCTCGCCAC +TGACGCTATTTAAGCTTGGGTTTATAGCGTTTTTTTAATTTTTCAAAGGG +TTCCCGTCTGCCGATCAAAGCGAAATTTAACAGAGAGTCGTATAGGCCGC +CAAGAAGCTGAAGTTTCAAATTGATTTCATTAAAACTCGCTTAGGCTTAG +GCTTAGGCTTAGGCTTAGGCTTACGTTTTAGCCATATGCTAGCTGATCCG +GAACATATTTTTAAAAATTGCAATATTTGACCAAAAGCTGTATTTTTCAA +AAATTCAAAAGTACGGTGAAATCATATGAAGTGCTTCTTTTTCTTTCATT +AAACTGTTCAGAATTGTCATTTTTACTAGAAAATACCAAAAAAATATGCT +AGCTTGACCGGAACATATTTTAAAAAATTAGAATTTTTGACCAAAAGCTG +TTTTTTCAAAAATTGAAAAGTACTGGAAAATCATATGAAGTGCTTCTTTT +TTCTTTCGTAAAACTGTTCAGAATTGTCATTTATACCAGAATATATTAAA +CAAAGTATGCTACCTAATCCGGAACATTTGTTTCCAAAATATTTTAAAAA +AAAGATTTAGCGGCTCTGACTAAATTGTTTGTTCGTTTTTTCTGGACCCT +TTTTTCCCCTTTTTTTGGGTGAAAAATTTTGTAAAAAATTTGACCGAGGT +GTAGAGTTGAATTCATCAATTTTTGACATTTTTTGAGTACGGGCACATGA +AAACGAAATTTCCAAAAACGCTTATTTCTCGGGATATAGTTCAATTCTAC +CAAATTTTTCTTTGCAAATCTGCTAATTCTACAAATCTACTAACCGAGGT +GTAGAGTTGAACTCATTTCCAAAAAGAAGTAGCAGTCCTGAAAATGTTTT +AGTGAGTCTTCTCATTACTCTAGAGCCCGAGCCAGTAAAATTGCTCCAGA +AGTAGTAATTTATAAATTTTTGATGATTTTATGCTGTCCAATGATAGAGA +AATTGTTAAAATTTTCAGATCAAATTGGAATTTTCACAGCCAAATATTTT +GGAAAATTTTCCACAAAAAATTGGGCGGAAAATTGGAATATTAATTCGAT +TTAATTCGATTTGGAGCAGTGTATAAATTCAAAGTTTCCTCCCTTAACAG +CCATTCAAATGCACTTTTTTCTTCGTTTAGTTTTTCTTATATATGGCCTC +CAGGCTCTCACCAAGTTCCGTTTTACCGGAGAGTTTAAGTGCAAACATAA +ATTCCTGAGATCCCATGTTGTAGTTTATGAAGACGATGAGGTGTTGTGAG +TAGAAATGAAAAATGAGAAATGTTGTATTTAATATTATAAATTGTTTCAG +CGACAACGTTATCAGTAAACACCATTACGTGTTCCATACAAATGCACCAC +ATATGTATCTCGTTGAGGCTGAAGATACCAATGACGGATTGCCAAAGTTT +TTGGATGTATTACTTTTTAATTTCCCGCTTTTTCTCTAGTATTTCTCAGA +AAATTTGAATTTCCCGCCAAAATTTTTTATCAGAAAATTTGAATTTCCCA +CCAAAATTTTTTATCAGAAGATTTGAATTTCCCACCAAAATTTTTTCTCA +GAAAATTTGAATTTCCCACCAAAATTTTTTCTCAGAAAACTTGAAATTCC +CGCCAAAAACTTTTTCTCAGAATTTTGAAATTCCCGCTAAAAAATGTTTC +TCAGAAAATTTGAAATTCCCGCTAAAAAATTTTTCTCAGAAAATTAAAAA +TCCCCGCCAAAACTTTTTCTCAGAGAATTTGAATTTGCCGCCAAAAAATT +GTTTTCTCATAAAATCTGAATTTCCCACCAAAATTTTTTCTCAGAAAATT +TGAAATTCCCGCTAAAAAATTTTTCTCAGAAAATTTGAATTTCCCGCCAA +AAAATTGTTTTCTCATAAAATCTGAATTTCCCACCAAAATTTTTTCTCAG +AAAATTTGAAATTCCCGCCAAAAAGTGAACATTCTAGGAGTTTGGCAGTT +TACCAAAACCTTGACTGACCATTTTGGAAAATCGAATAACCTCTTAAATA +AAAACTCTAACTTGTAAAAATTTAAAAATTTAAATATATAGCTTTGCAGT +CCTATTTCGAGTTATACATGATCATCGTCCACGATTGCACGGATAATGGG +AAATACAAGTTGTTGACAGTTGACTTGGGATCTTATTATATCAAGGATGG +GTAGGTACTTTCTACAGGGCAGGCTAGGGCTTCCATGGGAAGCAGGAGCG +GTTTGCCGGCTTCTCGCCTGATTCCTGCACTTTGGCAAAAAGTCAAAGCC +TCGATGCTCACACATAGGGCTGGCATATTGGACGTCCGGTTTTTTGAAAT +TTTAAATTTTTCCGAGAGGTAGTTTTTTTTGTACGGCGGCCGACAATTTC +CGAGTTTGGCCACTCATGATAAAATTATATGATTAAGTATAGTGAGTGGC +CAAACTCGGAAGTTGTCGGCCGCCGTAAAAAAAACTACCTCTCGGAAAAT +TTTAACATTTCAAAAAACCGGACGACCGGACGCCCAATATGTCAGCCCTA +CTCACACCAAATAGTACTATAAGCGGTTTTTTTTGCCGCAGCCGACACTT +TACGGTTTCCACGCCGCACTGTACAGAAGGCGCGGCCCGAGGCAGTTGTC +AGGCGTTTTGGCGCCTATATGCAAGCTCTAGGGCAGGCATTTCTGTTTTC +AAAAAAATGAATATTTTCAGGCAGTACGATGAAACACGCAACATTGATCT +GAACAATGCCGGTGAATGGACAAACGAAGTAATCGGAACAAAGGCGATGG +TGATGTCCAAGATATTTATTTTCAATGTTTGATAAAATTGTTCATCAATA +TTCGAGCCTACCTGCCTACCTGCCTACAAGGTAGCCTACATATATTATTT +TTCCTAATTAACAAAAATATAATTAAAACATGATTAAGATTTTCTGAAAA +TGAGCAAAAAGTGTTTTTAACTTCCACTTTTTGCCCAACAGGTTTAAGAT +AGGCATGTGACAAAGCCTACATTCAAGGCAACCTACGCCTGCCTCGGTAC +ATGGTGCATCGACCAATATTTACCTCTTAGCTTCGAGAGCTTATATCTCG +GTTACATTTTGCTCTATCAAAAAATGGCCAACTGAAAAACTGTTCTCCAA +TGCTTTTTCTACAATTTTGTGGTTAAAATTTTTTTAATATCTTGAAAACT +AGCGAAAATATAAGCCACCAAGTCGCGCGCCGCCCCCCGAGAAAGCAATT +CCAACCCAAGTTTATTGCAATAAAAACCAGTAGAAACGAAAGAAATGAGG +TTGATTTTGGAGACTTTTCAGGTGACACGGGGAGCTTTTACATTGTTGGC +ATTATTCAGATTCGATTGAGAAGGAGAAGTCGTGGGGAGGCTGAAAAATG +TTCTAAAGTTGTTGAAAAAAAAAACAAATCTGCATTTTTTAAAAACCTGA +TTCTTAGACTTCCATCCATTGCCATAAGTGCACAGAACAGTCTGTTGCTC +TTGCTCTTTGTGCTCCGTGTCCTCGGAGCCATCATCAACCTTGTCTGGAA +CTGTCGGTGTTGGCTCAGTTGACGGAGCAAATGAGGAGGATGGTGTCGCA +GATTCTTCAGTTGGTTTGGGAGATGATGGCGGAGCTGGCTGAGGTGGAAT +TGGAGATGCTCTTTTTTTTGGGGTTACTGCAGACTGTTTGCTCTTCAAAC +TCTTGCTCCGCGATTTTGTGCTCTTTTTTGTTTTCTTCTTTGGCTGCTTT +TGTTGCTTCTTGCTTTTTATCTGAAAATTAGAGTTTCTAGGCAATCAAGC +GATTTTCTAGGCCACCAGACATATATTTAGCCATGTCGGAATTTTCTAGG +CCATCACAGACAGTTCTAGGCCATATAGAAATTTTCCTAGGCCACCTAAA +ACTTTTCTAGGCCACCAACAGTTTTCTATGACCGCGATTTTTGCTAGGCC +ACCAACAAAAGCAAATAACACATTTTCTAGGCCACCAACAGAATTTCAAA +TTTTTCTAGGCCTTTAACTCACATATTTCACAATGGAAGCGGCGGCGAAC +ACGATGAAGGCTACAATGAGAATGCCAATAATTATGAATATCACTACTTT +GGTCCATGGCGTCGATGATGCTGCAAAAATGGAGGTACAAATATGCAAAC +GCGCTCTACCGCACTACCAGTGCGGTAGAGCGCGTTTCAAACTAACAGCC +AGAAGTTGGCGCCGGTGGTCGCTGAGTGGAGGTGGACATTATCAGGAAAT +GAATGAGAAAATGGAGAAATTTGGGAAAATTGATTAGAGACGTGGGATTT +TTTTTTAATTTTTATAATATTTTTGAGTAGGGGGAAGGGGTGAGGGTCAC +GGAAAATACCAAAAATTTGTGATTTTTCCATTAAATTGGAGCAAAATTGA +CACCATACCTCGTGGCCTAGAAAACTGCAGAATTTCTAGGCCACACACGT +TACGTCATAATTTACCTGTTAAACCAGGTAACCAACAATCAAATCAAGAG +TAATTAATCATCTCCTATCTTCTTTTATTTCTCCGTTCCTACTCCCAATG +TTTTTTTTTTGTAATTTGTGATCACAAATTGTTGCATTTTGTAGTACGCC +ATGTACGTCTGTGTACTACTTTTTTCTGAAAAGAATACAAAAATGTTCGC +TTTCAGGAAAAAATAGTGAGAGGTAGAAGAAAATTACGGGGACTAGAAAT +ATGTAAAAGTTCGACAACGTAGGCAGGTAGGCAGGTAGGCAAGTAGGCAG +TTAGGCAGGTAGGCAGGTAGGTAGGCAGGATAGTAGGCTGCCAGGCATAA +TAAAGATGCAGGCACGTAGGCGGATGTTGCAGGCATGAGAAGTCACGGGG +GTAGGCAGGCATGTGGGTATGTAAGCAGATGTAGGTATGTTGCAGTCATG +ATGAAGGCACGTGGGTAGGTAGGTAACTAGTTAGGCTGGTAGGGAGGTAG +ACAGGTAGGCAGGCAGGCAGACGCGTAGGAAGAGTTAGCCAGGATGCAGG +CACGTAGGCAGATGTAGGTATGTTGCAGGCATGCTGAAGTCACGTGGGTA +GGCAGATTGGTAGATGTGTACGCAGAGTAGGTATGTTGCGGGTATTATGA +AGGCACGTGAGTAGGTAAGCAGGCAGGTAGGTAGGCAGGCAGGTAGGTAG +ACATGTAAATATGCAGGCATATACGTAGGGAGAACAAGCCATAATTCAGG +CACGTAGGCAGATTTAGGTATGTTGTAGGCATGATGACGTAACGTGGGTA +GGCAGATAGGCAGGTAGGCAGGCTCGTAAGCTGGCAGGCATAATAAAGAC +ACATAAGCAGGCATGTAAATCTGCAGGCAGATACGTAGGAAGAGCAAGCC +AGGATGCAGGCACGTAGGCAGATGTAGGTATGTTACAGGCATGATGAAGG +CACGTGGGTAGGCAGGTAGGTAGGCAGCCAGGCAGGATCGGAGGTTGGTA +AGCATAAAAAAGACAGGTAGGCGGGTAGGCAAGCATGTAAATGTGCAGGC +AGATACGTAGAAAGAGCAAGCCAGGATGCAGGCACGTAGGCAGATGTAGG +CATGTTGCAGGCATGATGAAGGCACGTGAGTAGGTATGCAGGGAGGTAGG +TAGGCAGGCATGCAGGCACATAGGCAGATGTAGGTATGATTCAGGTAGGC +AGGCAGGTAGGAAGACTGAATGCAGGCGTGTTGCTAGGCAATAGCGCCCT +TTCCTTGTTATGACAATCTCGATAATCTAATAATAAGCTATTCAATCATA +TCACTGCGCCGATACACAAACTACCTGTTTTTTTGAGTATGCGTCTCGTC +CCGTCTGCCCAAAAGCTTCTACAGAGTGATTAGACGGTATAAGGGGGAGA +GATAGGATAGATTTCAATCATTCTCACTTTTTTCGTCCCTTTCTCTGTCT +TCCTTCTCCCTTTTTTTACAGGGCGCTTTTCCCTTTTTCGTGTGTGTGAA +GAGAGAGAGTGCATACAGGTGTAGAGGACGCCCAGACATCGAGACGGAAC +AGGATTCTTCATCGTCTTCAGCTATTTGGAAGAAGGAGTAGAAGGTGACG +GTGTGTGTTTGGAGACGTGTAATCATCATGTCTTATAACACTTCCTTGCT +CATTTTTCTCTGCTTCTCTGCCGTCTCTCTATCCACACAGTCTTTCGCCG +TTTATCGATTATTACCCAAATCACAGACGGATTTTCAAGCTATACAGAGG +TTATACAAAAATGCGACGGATCATGATGTGAGTTTTGTTTTCGCATTTTT +GAGCAGATACAATTTCTAGGCCACGAAAAATTTTTCTAGGCCGTTGAAAA +AATCACTAAGTTTTCTAGGTCACAATTTTGAGCAAGTTCTAGGTTATTAG +ATTATTACGCCATGGTGCATTTTTCTAGGCCATCAGGAAATTTTGCAGGC +CACCATGAGTTTTTGATGCAGTTGAACTAAGTTAGTGGCCTAGAAAAACC +TTTGTTAGCCTAGAAATATTTTCGCCGGCCTAAACACATTTTTGGTGGCC +TAGAAACACTAACTTTTGGTAGCCTAAAAATTTTCTGTGACCTGGAAACA +TTGTTGGTGGCCTGAAAACATTTTTGGAGGCTTAGAAATATTCTTGGCAA +TTTGAAAACATTTTTGGTGGCCTAGAAATATTTCTGATGGCCTAGAATGT +TTTTGTGGTCTATAAATAATTTTGGCGGCCTAAAAAAATTTGGAATGGCT +TAGCAAAATTTTTTTGGTGGTCTACAGCCATTTTTAACGACCAAGAAACA +TTTTTGGTGGCCTGAAAACATTTTTGGTGGCCTAGAAACATTCTTGGTGG +CCTGAAAAAACATTTTCGGTGGCCTAGAACCATTTTTGGAGACCTGGAAA +TGTTTTGGTGGCCTAGAATATTTTTGGTGGCCTAGAATATTTTTGTTGGT +CTAGAAATATTTCTGATGGTCTAGAATGTTTTTGTGGTCTATAAATAATT +TTGGTGGCCTAGAAATATTCTTGGAGACCTGATAACATTTTTGGTGACCT +ATAAATATTTTTGACAGCCTAAAAATTTTCGGTGGCCTAGAAATATTTCT +GATGGCCTATAATGTTTTTGTGGTCTATAAATATTTTTAATGACCTAGAA +ACATTTTTGGTGGCCTTGAAACATTCTTGGTGGCCTAGAAATGTTTTTGG +TTTCCTAGAAACATTCTTGGAGACCTGAAAACATTTTTGGTGGCCTAGAG +ACATTTTTAATGGCCTAGACACATTTTTGGTGGCCTAGAAATGTTGCTGA +TGGCCTATAATGTTTTTGTGGTCTATAAGTATTTTCGGTGGCCTAAAATA +TTTTTGGTGACCTAAAACATTTTTGGAGACCTGGAAATGTTTTGATGGCC +TAGAAATATTTGTGCTGTGCTGAAACATTGTCGGTGGCCTAGAAATATTC +TTGGAGACCTGAAAACATTTTTGGTGGCCTAGAAAAATTTTTAGTGACCT +AAAAACTTTGGGAATTACCTGGAACCAATTTTGGCGACCTAGAAAAATTT +TCCGTGGCCTAAAAATTCCCAATAATTAACAAATTTTTAGTTAAACTTCT +GGAAAACGGGCAAGGACAAGCACGGGTTTTGGGATGTGATGGTGGATATG +AAGAATTCGAAATATTTTTTGGACTTTCTACAAGTAAATGATATTTCTTA +CATAAAGACGATTGATGACGTGGAGGGGTGAGCTTTTTCTGAAATTTTGA +AAATTACATAAAGAATATGTGCTCTATTGATAAACTGTTAGGATCACCGT +AAATCGACAAGAATCTCCGTAAATCCACAACGGCCCCATCTCAAAAATTC +CTAGGCCACACGTGTGACGTCATTTTTCTTCCAGATTAATAACAAAGCAC +GAGAACAACAAGACCCTCTCGAACATGTTCCCCCGTCTGTGGGATGACTC +CTCGTCTGCTCACTATGACTTCCACACCTATGGATCCTATCAGCGAATGA +CTGATTGGATGAAGCAGCTGGTGGTGAAGTATCCAAAGATGGTTCAGTAT +ATATCGATTGGAAAAACTACGGAGGGCAGGAATATCGATGGAGTTGAGGT +AGGTCTAGAAGGCTGCCTTAGGTCTAGGTCTAAGTCTAGGTTTAGGTCTA +GGTCTAAGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGG +TCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTC +TAGGTCTAGGTCTAGGTCTAGGTTTAGGTCTAGGTCTAGGTCTAGGTCTA +GGTCTAGGTCTAGGTCTAGGTCTAGGTCTATGTCTAGGTCTAGGTCTAGG +TCTAGGTCTAGGTCTAGGTCTAGGTCTAGATCTAGGTCTAGGTCTAGGTC +TAGGTCTAGGTCTAGGTCTATGTCTAGGTCTAGGTCTAGGTCTAGGTCTA +GGTCTAGGCCGATTTCGATTTCTATGTGTATGGCCTATAGTGATTTTCAG +ATCGGCGGAGACTCCCGCACCAAAAAGATTTTCTGGATCGATGGAGGTAT +TCATGCTCGAGAATGGGCGGCCCCGCACACGGCTCTCTTTTTCATCCATC +AGGTATGTGATCCCGCCCCGTCAGAAAAAAGTGTGTTCCGATTAGTTCCG +CTTGGATTACACAAATGTTGGCAGAGACAGAAAAAGGGAAAACTTGATAA +CAAATGGGTTGGAAAAAACGTAATCGGATGATGCAATCGCGCTCTATTGC +ACTACCTCAACAAAACATTTTTTTGCAGCTTACCTCCCGCGCAAACGAGC +CCGGAATCAAGAAATTGCTGAACGAGATCACATTTGTAGTGGTTCCCTGC +TTGAATCCAGATGGCTATGAGTTCACGAGATCCTCCACAAATCCACATGT +AGGTTGGGGTAAGGTTACTGTACCCCCCCCCCCCCCCCTCCCCAACTCAA +AGGCGCAAGCACTCCCAAATTTTTTGCAGGTTCGTCTGTGGCGTAAGAAT +CGCTCGAAAATGCAATGCCGTAAGGACATTTGGGGACGCAATCGCTGCTG +TCGCGGTGTCGATTTGAATCGTAATTTCGATTTCCACTTCAGAGGTGAGA +GAGAGAGGGTGAAGTGGTTTTTCTCAAAGTGGACTTGAAAATTAAGGGTC +AAAGTTTTAAAAGAAAACTTTGAAAAAAACTTGGGAATTTGTTCACGAAT +ATACGAAGTTGCTGAAAATTTGTAAAACGTTTTGGAACATTCTAAAACTA +TTTGAATTTAAATAATTTTTTAAACATACCAAAAAATCATGGATGTTCTC +AAAATTCACGAAAGTTTCGAAAATTCCCTACAGTACTCCTGAACTAGCCC +TACAGTATCCTTAAAGTACCCTACAGTACCTATACAGAACTCCTGTAGTA +CCCTTACAGTATCCCTAAAGTATCCCTACAGTACCCCTACAGTTTCCCTA +TAGTACCCCTACAGTACTCTCGCAGTATCCATACAGTAGCCCTACAGTAT +CCCTACAGTACCCCTACAGTATTCCTACAGTACCCCTACAGTAGCCCTAC +AGTACCCCAGTAGCACCCTTACAGCATCCCTAAATTATCCCTAAATTATC +CCTACAGTACCCCTACAGTACCCCTACAGTACCCCTACAGCATCTCCATA +GTACCCCTATAGTAGCCCTACAGTATCCCTACAGTTCCCACACAGCCCTT +ATAGTGCCTATACAGAACCCCTATAATACCCCATACAATACACCTACAGT +ACCCCTACAGTATCCGTAAATTACCCCTATAGTACCCCTACAGTACCCTG +ACGGTACTCCTACAGCACCCCTACAGGACCCCTATAACATCCCTACAGTA +CCCCTGCAGTACCCATACGGTTTCCTTACAGTATCCCGTGAGTATCCCAA +CAATACTCTCACAGTACTGCTACAGTACCCCAAAAGTACCCCTACAAAAC +CCCTACAGTACCCCTACAGAACCCTCACGGTACCCTACCGTATCCCTACA +GTACCTGAAGCTCCAAAAATTTCCCCCACTTCCAGAAAGCGGTACAAGCG +ACGACCCGTGCTCCGAGATCTACCAGGGACCCTCTCCATTCAGTGAGCCC +GAGGCAAAAGCCGTACGGGACGCGTTGTTGTCGCAGAGATATAAGGGAAG +AACCGACGCCTATATCACACTACACACTTATTCACAGGTACTGTTAAGCA +GTTGAAAACTTTTTCTCGGCCACCGATATTTTCTCGGCCATCGATATTTT +CTCGGCCATCGTTATTTTCTCGGCCACCGAAATTTTTCGCGGTCATCGAT +ATACTCTCGTTCACGGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTC +ACCGATATTCTCTCGGCCACCAAAATTTTGTTTTTCGTGGCCATCTATAT +TTTCATCGGCCATCTATATTTTCTAGGCCACCAATTTTTTCTCGGTCTCC +GATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTCGGC +CACAGATTTTTTTCTCGGCCATTAATTTTTGACGGCCACCGAAATTTTTT +CGGTCACCGATATTTTTCACGGCCATCGATATTTTTTGAAAATTTGATTT +GAGCAAAATATTTTCAGATTTGGATTCATCCATATGGTCACAAGAAGGAT +GCATATCCAGGAGATATTAAGGATTTGGTGAGTGATGACGTCATTCTTCT +TGAAACGTTGAAACTCAAATTTCCAGTACGAAGTTGGCAAAAAAGCTGCT +CAGGCTCTGAAACGGGTTTACGGCACAAAATACGTAGTCGGAAGCGGTGC +GGACACGCTCTACCCGGCGTCTGGAGGATCTGAAGATTGGGCAAAGCACG +AGGCGAAGGTCAAATTTGTGTACCTTCTAGAATTGAGGCCCGACGAGAAA +AGTAAAAAAAAAACGTTCAAAGTTGCTGAAAAAAGTTGGGCGATAATTTC +AGACTGGGATGGGTTCATACTGGACGAGAAGGAGCTGATCCCGACGGCTC +GGGAAACTTGGGAAGGTGTCCGAGTTGTGGCGGAAGCTGTGCTCGATCGG +ATAGTTGCCGGCAAGTCGACGGCTCCAAGAGGTAGGCAAACTTTGATGTG +CCTGCCTGCCTTGTGCCTACAGTTTTATTACGAGTAGGCACGGAGGTAGG +CAAGTAGGCAGGCAGAAATGTGGACCGATAGGCGTAAGGTTAAGGGCTTG +CGAAGCTTTTGCGTAGGATTGCGAAGAAAAAGAAAAATTTTTAAATTACA +GTGCGCACGGCCTAAAGGAGATGGCTTCTGAGGTAGTCACTACGATGCTC +CGCTTGCTCTGACCACGCCCCTTTCCTGGTTTCTCGATTTTTGTTTTAGA +AATTACACTTGTTTATTTTATGATTGTTGATAAATGTTTTTTTAAACATA +ATTTTTCTTGAAAAAACAACTTACAATTAGAGAAAATAGCAGCGAGCGGT +CGTGGCCGCGAAATGAAAAACTCGGCCACCAGCTATAAAATTAAAACGTA +TAATAATTTGGTGGTTCAGTTTTGCAGAAAAAAAATGGCTGGCCGAGTTT +TCACGTTTCTAGGCCATCTAGCAAAGTTGCTCTGAAGCGCTTTCGCGAAT +TCGTTTCCGAAAAAACTGTAGGTGAAAACTCGACCACGCTTTCTTAAAGC +CACGAAATTTTGAAATAATTTCTCGGTCACCAATTTTTTCTCGGCCACCG +ATATTTTCTCGGCCACCGATATTTTCTCGGCCATCAAAATTTTTCTAGGC +CACCAACTTTTTCTCGGCCATCTATATTTTCCCGGCCTCCGACATTTTTT +CTCGGCCACCGATATTTTTCGCAGCCGTCTATATTTTCTTGGCTACCAAT +TTTTTCTCGGTCTCCGATACTTTCTCGGCTACCAACTTTTTCTCGGTCAT +AGATATTTTTCGCAGTCATCTATATTTTCTCGGTCAGCGATATTTTCTTG +ACAACCCATGTTTTTCTCGGCCACCGATATTTTTCTCGACCATCTATATT +TTCTCGGCCACCAAAATTCATTCTCGGCCACTTATATTTTTCTCGGCCAC +CAATATTTTTCTCGGCCACCTATATTTTCTCGGCCACAGATTTTTTTCTC +GGCCATTAATTTTTGACGGCCACCGACATTTTTTTCGGTCACCGATTTTT +TCTCCGCCATCTATATTATCTCGGTCACCAATTTTTTTCGGTCATTGATA +TTTTCTCGGCCACCAATATTCTTCTCAGCCATCAATATTTTATCGTCCAC +CGATATTTTATCGGCCACCGAAATTTTTCGCGGTCATCGATATACTCTCG +TTCACGGATATTTTTCCCAGCAACAGATTTTTTTCTCGGTCACCGATATT +CTCTCGGCCACCAAAATTTTTCTCGGCCACCGATTTTTTTTCCTGGCCAC +AGATATTTTTCTCGGCCTCCGATATTTTTCTCGGCCACCGATATTTTTTC +TCGGCCACCAATTTTTTTCTCGGCCTCCGAAGTTTTTCGTGGCCATCTAT +ATTTTCATCGGCCATCTATATTTTCTAGGCCACCAATTTTTTCTCGGTCT +CCGATACTTTCTCGGCTACCAACTTTTTCTCGGCCACCAACTTTTTCTCG +GCCACAGATTTTTTTCTCGGCCATTAATTTTTGACGGCCACCGAAATTTT +TTCGGTCACCGATATTTTTCACGGCCATTGATATTTTTTTCGGTCACCGA +TACTTTCTCGGCCACAAATATTTTCTCGGCCACCGAAATTTTTCGCGGTC +ATCTATATTTTCTCGGCCTCAGCCATCGATATTTTTCTGGACCGTCTAGT +TTTTTTTTGGCGGCCGTGACCTCCAAATAGAATTACAAAAATAAACGATA +CATCTCATATTTCTGTGCAAATCCTCAAGTACCCCCCCCCCCCCCCCTAT +ATTTATTGTTCCAGAAGCCCCAAAAGCTCGCGGATTCCGATTCGGCGACG +GCACCGAAGGATCATGTTTCGATGTCCGACACGCGTGCAAACGATGGGTT +CAGGAACGGGAGGAGCTGTGCAGGACGGTGCCAATTTTCATGCGCGAGAA +CTGTGCCTACTCTTGCAATTTCTGTTGATTTTTTTGGTGTGCCACTTCTT +TTTTTCTGTACATATATCCATTTTGTCTTCTACATACATATATATATGTA +TATGAAATGTTTAAAAACCTAAAACCTAAAAAAAAACCAACCTAATACAG +TGTTCACGAGCGCCCCCCGCCGCCGGCGGCTCCTTATTTGCCTTGTGCTC +ACCGTGAGGTGGCTCCGCGCGGGAGCCCCAGTGATGAGCATCTCTTTTGT +CCACACGAATAATACAATAACACGGGCTCCTCTTCAAATATGACAAAATG +TCAAATTTTGGCGTCTCTCCTGACTTGGAGCTTCTGGGTCTTCAGACACG +TTCTTGTGTGTGAGGCGAGATGCGATTACCCTCTATATTATTGATTTTTG +GAGCATTTTTTGGTTTTCTAGGGGCTATTCATAATACAGATGATAATGCC +GGCTATCATAAGTAAGTCCCCAAAATACCCATATGGCCTAGAAATTCGGA +AAACTCTTCCATTTCACTTTTGGTAGGGACATTTGGTTTCTGTGCTAGCT +TTTATGCTGAACATGGTAATTTAAATTTCCTAGGCCAGTGTATATGTTTT +TCTAGGCTACGACATACAATTTTTTAGGCCACAAAATATTTTTTTTTAAT +TGCGGCTTATAAAAATGTTCCATAAATTATCTATTTTTGAATTACAGTCT +GAAAATTTCCATTTTTCAAGGGCACCTTTCTAGGTCACAAAAACGGATTT +TTTCAACATAGGCATTTTTCAACTTTTTCTAGGCCACGACAGATGGAAGA +GCTTTTCGTAAAAAAAGCTCGGCCACCACCCCACCTAACCAAAAAACTTC +CAGCTTCAAACTAATCCGAATCAATCCGGAAACTGAAGGAAGTGTGAAAT +ATCTTCGAAGTCTGTACGAGGATCCCTCTCCGTACGAGCTGGATTTCTGG +CAGCCTCCTACGAATATCGGTTAGTGTGACTTACCCACGTGATGTTAGCG +TGCTCCATTTTAGTTTGATCTACGTAGATCTACCAAAAATGCGGGAGAAG +AGACGCAAAGTTCTCAACTGATTCTGCATGGTTAAGAACGCACTGACGTC +ACATTTTTTGGGAAAAAAATTTCCGCATTTTTTGTAGATCAAACCGTGAT +GGGACAGTTTGCCACCACGTGCTTACCCAGGAAAATCTGAAATTTTTCGA +ATTTTCAGGAGCTATCGTAGACTTGACAGTTGCTCCGGCGGATGCTCCAA +GATTTGTGAAGGATTTGGAATCGAAGAAGATCAGCTACATCGTGGCGGTT +AATGATTTGTCAAAGTTCGTTTTTTTTTCTAGGCCACGGCCATCTGTGAC +GTCACTAAACTAGTTTCCAGAGCAATCGAAAACGAGCGCGGAAGCGACAA +ATTCTACAACCCGGTCGCTGGTTTTGCATACGACAAGTACAACAGTTTGG +AGGAGATTCAAACAGAAATGAAGCGGCTTAAGAAGGAATACCCGACCATG +ATCACGCTTATCGATATCGGACAAAGTCACGAGAATCGTACGCTTTTGGT +GATGAAGGTAAGAGCGAACGCGCTCTATTGAGTGGGCGTGGTCACGTCCA +CGTTTTGCAAAGTGGGCGCACGGTTCCTTTACAGCGGTCCCAGCTTTTGA +AGTTTTGAGTAATTTTTATATGGGAATTGCTAAAATTCATTTAAAAAAAA +CCCAAAAATACTTTTAAAGTCGTAACGAAAAAAAACAACCGTGCGCACGT +CTTGCAAAAAGTGGGCGTCCCAAAATTTAAAAACGACGGAATTTCATTAT +TTCAAACGCTCCAAACTCATTTTCACTACAAAGACATCACGCGCCTCCTG +GGAAAGCCCTTACTCATTTGCTGGATATATGACGTCACTAAATTAGTAGA +TGTGTGAAACCGCGCTCCATTGTACTACGCAACACCGATCCCACGTGGTG +TCAAAGTGTCCCATTTCGGTGTGATCTACCATAAATGCGGAAATATTGAC +GCGGATTTCTAAACAGATTTCGCATGGTTAAGAGCGTGCTGACGTCACAA +ACTTTTCTCTGCAAGAAATTCCCACATTTTTTGTAGATCACACTAAAATG +GGACCGTTTGACGCCACCTGCGCTCTCACTTTCAACACTCCCATTAAGCA +TTTCATGTACGCGCCAAAACGCACGGATTTCTGGCTCCCCTCATAAATTG +AAATGGAGTTTGAAAAAGAGTTTGCCGAACTAGGTCATTTTGGCTCGGCC +ATATTTGGGGTAGATTTTCGCCGCGTTGCGTGTCGCGTCGCGGCTCAATT +TAAGTTGTAAATCTAAATGTGTTTGTCCGTGTGGAGTACCCGACTTTTCC +ACGCGTTGCCCGGAATGCTATTGTCGATGGAGCGCGAAAAATTCAATAAG +GAAGGCCAGAACCCCGTGAAAACGCCTGCCGCGCCCCCGCCTGCCTTGCA +GCGCGGAACCCAAAAAGTGTCGGCCGCGGCGAAAGGCCCTCGCACTATGT +GGTGTTAATACCTAGCTATTGACTTATCGCCATAGTGTAAAAAAACCCAA +ACTCCCAAATTTTCAGATAACCGGAAAACGAAACCCCCTCGGCTCGAAAA +TCTCCATGTGGATTGACGCTGGAATTCATGCTCGAGAATGGATTGCTCCG +GCGACCGCAATGTACATTGCTCATGAGCTTCTCCTCGGGTATGAAAACGA +CGCGACGGTGGCTAAGCTGATGGACCATATCGATTTTTATATTCTACCTG +TGATGAATCCAGATGGATATGAGTATTCCAGAGAAAAGGTTGGTTTTTGA +ACCTTAAAAAAGCCTTAAAACTAGTGCTCTATTTCAGAACCGCATGTGGA +GGAAAAACCGGAGCCCCGCAAAATGCGCCCGGCAAACTTTCAGTACGGTC +TGCTGCTCTGGAGTCGACCTCAACAGGAACTTCGATTGGTTCTGGGCCTG +TAAGTCACGTGGTGTGAGAAAGTCTCATTGAAGTTTGATCTACAAAAAAT +GCGGGAATTTTTTGTAGATCAAAGCGAACTGGGACTTTCTGACTCTACGT +AGTTAGCTCAATATTAGACCTTAAAAAATAACTTAATCTTAAAAATTTCC +AGCCACCGGTTCGTCTTCGGATCCGTGCCACGACACGTATCACGGCTCGG +CGGCCTTCTCGGAGCCTGAATCACAAGCTGTCAGGGATTTCCTGGAGCAA +AACACACCCGAGGCGTTCATCTCGCTGCATTCCTACTCCCAAATGTGGTT +GATACCATATGGACACAGAAAACAGAGTTATCCACAGGACTACCATACTG +GACTGCGGCCATTGGCTCTGCGAGCAACTAAGGCGTTGTATGAGTTGTAT +GGGACGAAATATCAAGTCGGGACCGGCGCTGATTTGATGTGTAAGTTAAT +ATCCTTTTTTTCGAATTTTTAAATTTCTAAGGATTTCAAGAAATTTTAAA +ATTTTGAAAATTAAAAAAACAATTTTTTTCGGAATGTTTAAAAATTAAAA +AAAAAATTTTTTTAATAGATTTTTTAAAGCTTTTTTTTGGAAAATTTTGG +ATTTCTGAATAATTTTTTTTTCAGAACTGGAATTTTTGAGTTTATTAAAG +ATTTTTTTAGGACTTTTTAATTTAGACATTTCCTGAAAAATTTTTAAATT +ATTAAAATTTCGAACTTTTTCGATATTTTCGGATTTTTTTGCAACCTGAA +TTTTATTTTTTTTTTGGATTTATTGGAATCAGGGGTGGGCAGCAAGATTT +TTTCCGGCAAATCGGCAAATCGGCAATTTGCCGGAATTGAAAATTTCCGC +CAAATCGACAATTGCCGGAATTGAAAATTTCTGGCAAAACGGCAAATCGG +CAAACTGCCGGAATTGAAAATTTCTGGCAAACCGGCAAACAGGCTAATTG +CCGATTTGCCGAATTTATCGATAAATCAGTTTGCCAAACGGCAATTTCCC +CCACCCCTGATTGGGATCTTTGAAATAAAACAGGAAGAAATTTTAAATTG +TTGGAAATTTTGTAATTTTCCGGAATTTTAATAAAAAAATGCTGAAAATT +CTAAAAGTTTTGGAACTATGTAAAATTATTTGTGATTTAAAAAAAAACAT +TTTTTGGACTTTTCTGAAATTTCACGGATTTCTGGCTTCTCTCATAAATT +GAAATGGAAGAGTTTTTGCCGAACTTGGCCATTTTGGCTCTGCCATATCT +GGGATGGATTTACGGCGCGCTTCATGTCGCGTCGCGGCTCGTAAAACTAA +ATGCACTTGTCCGTGTGGAGTGAGGAGAAAATTCAATGAGGAAGGCCAGA +ACCCCGGATTTTTGAAATTTTGAAGTTCTGAGAAACCTGTGACTTCTACA +CTAACCCTGAAGAATTTCAGACGAAGCTTCTGGAGGATCACATGATTGGG +CTAAGGGGCAGCTTAAGGTCCCCTATGCCTACCTGATTGAGCTCCGACCA +AAGAACACCATGATGGGGTAAGCAGGACGATGGATCCTATCAAAATTAAA +ATTTCATTCCAGCCACGGCTTCCTTCTCCCCGAACGAGAAATTGTGCCCA +CTGGACTGGAAACCTTCGAATCCATCAAAGTGGTTGCCGACGAGCTTGTG +GCGCAATTTGTGGAACCTGTGATTCGAGCCAAGCTGACCACAACCACAAA +GCCCGCAATCCCACCGTATCGGCGTGGGTACTCTATAATCGACACCACAA +CTATGGAGCCGGTCGATGAGATTACACAGAAGCCTACAGAAGCTCCAACC +ACAGAGGAGCCCACCACCACTACTACGGAGGAACCTACAACTACCACAAC +GACCGAGGAGCCTACCGAAGCCCCAACAGAACCCAGTCCGACTACTGTCG +AGGCCACCGAGGCTTCTACAACACCAGAAGCTTCCACATCCTCTGAGACA +AGTACCACAGAGAATTCTGAACCCAACCAGAAGACATCCACACCAGTGGC +ACCTGAAGCAAGCACCGTTGAGGAGGTTGGTTTTTGGCTTAGTCTCAGGC +TTAGGCCTAGGCTTAGGCTTAAACTTAGCCTTAGTCTTAGACTGAGGTTT +AGGCTTAAGCTTAGGCTTCAGCTTAGGCTTAAACTTAGTTTTATCTTAGG +CTGTGGCTTAGTCTTAGACTTAGTTTTAGGCTTAAGCTTAGGCTCAGACT +TCGGCTTAGGCTTAGGCTTAGAATTAGGCTTAGTTTTAGGCTTAGACTTA +GTCTTGGGCTTAAGCTTCGGCTTAGGCTTAGTCTTAAGCTTAGGCTTAGG +CTTGCACTTGGGCTTGGCGTCAGTGGCGAGCGTGAGCTATTTAGGGTTTT +ATGCTTAGCTTTAGACTTAGGCTGAGGTTTAGGCTTAGGCTTCGGCTTAA +GCTTAGGCTTATGCTTAAGCTTAGGCTTGGACTTAGGCTCATACTTAGGC +TTAGGCTTAGGCTTGCACTTGGGCTTAGGCTTAGGCTTATGCTTAGTTTT +AGGCTTAGATTTAGGTTCAGGCTTAGGCTTATACCTAAGCAAATACATTT +TTGGAACTATTTGGATATTTGCCAGCGACCTATTTTATCAACTTCGAATT +TCCCAAACCATTCCAGGAAACAATCACACCGATCAAATGCGTCGACTACG +GTGACTACTGTCGTCTTTGGGGAGTCTTACAGCTCTGCTATCGGGATCAG +GTCTCCAAGTTGTGCCCCAAGACTTGCGACTCGAGGTGCTCTTTTTCGGT +GTGAGGCGCACGCTGGAAACTATCGTATGACAAATTGTCAGCTTATGTAT +GTATAAATGATTTCAAACTTTTGTAATTGTGGACTAAAAACTACATTTTT +CATGCCTGACTGACTGCCTGGCAGCGTGTCAGCGCCCGACATTTTCTGAG +TTCCACGACGGGATCCTGGCAGGCGTAGGCGTGCAATTTTTAACTCATCA +AATTGCTTGGAATAATTAAGCACTGCTACAAATGATGTCACTAGCTACAA +ACTACAAACTAGGAATTTCACACTACAAACTACAAACTACAATCTTAGCT +CTTCAAGCTATGAAATACAAACTAAGAAATTTTTATTTTTCAATATTTTT +TAAACGAGGTGTAATTATGGGCGTATATAGTAAAAACTGGAACGACAAAA +TGCAAATCACAAACTACAAACTAGAAACTAAAAACTAGAAACTGCAAACC +ACAAACTACAAACCACAAACTACAAACTACAAACTACAAACTACAAATTA +CAAACTACAAGCTACAAACTACTGAACTCTGAATAAATTTGAACGTGTAA +ATTTTGCGTTTTTGTGCAATGATTGGACGTATGAATTGCGAAACCATAAG +TGTTTAATCACATACTACAAACTACAAACTACAAACTACAAACTACAACC +TAGAAACTACAAACTACAAACTACAAAATATAAATTACAACCTTCAAGAA +ATTTGTATTTTTCAATATTTGTCGAACAAGTTTTAATTATTCGACGAATA +AAGTCAAAGCTGAAATCATAAAATGCTAACCACAAACTACAAACTACAAA +CTACAAACGGCAAACTACAAGCTACAAATTACTGAACTCTAATAAAATTT +GAAAGTGTACTCATGGTTTTGTGCAATTACTGGACGTATGAATTACGAAA +CCATAAGTTTTTAGTCACACACTACAAACTATAAATTACAAACTACAAAC +TACAAATGAAAACTACAAACTACAAACTGGAAACTACAACAGCAAACTAC +AAACTACAAACTACAAGCTACAAACGCTTATATAATTCGATTTTAGTTAT +TTTCTGTTTTTTATTTTTCCAAATTCTCAAACCTGAAATAAAATTACCTA +CACACAAATGTTTCTCATTATGCATCGAATGACTAATATTTTCCAATAAA +CGTTTTGAAAAAGTATGGAAGAAACAAAAAATGGAAAACAAAGGCGGAAA +TATGCATTTTTCTTCTCATTTTCTTGAAATTCGTGTGATTGTACTTATTG +ATTTTTTGTTGTTGTTAAAAACGTGGTAGGCAGGCATTCATGCCTACGTG +CCTGCCTACCAGTCGAATTCGAACCCGCAAGATGTCGGCCGCTCCCTTCG +ATTTTGGAAGTTTTTACTTATTTTCCTCTTCTGCTAACACATTAGACAAT +TATTATTCAACCCGTGTACACAATAGGGCGGCTAATAATTAGGTTGGCAG +GTAGAGGTGTACAGGAAACGTTTATAAGCTCTTTATTTACTACTGAGCTA +CCACTTATTTGGAGCCAATGCATTTTGTTTCTCAACAAGTTGGAGATTCC +AGAACAACCAAGATTTGGGCGGGGCTTATTTTGAGGCAATTTTTCAACTG +TACAGTAGATTCATATAATTTAAGTTTTGAAAACATTTAGGCGGGAATTC +AAACATTTATTTTTAAAACCATCTTGGCGGGAATTCAAATTCTAGTTTTT +CGAAAACACTTTGGCGGGAATTCAAAATGTTATTTCTTAACAACTTCCTG +AAATGCTCTAGAACCTTCTGGAATATTTGAGAAAACTCTAGAATGTTCTA +GAACCTTCTGAAAAATTCGAAAAAAGTCTAGAATGTTCTAGAGCCTTTTG +GAAAATTCGAAAAAAATCTGGAATATTCTAGAACCTTTTGGAAATTTTGA +GAAAATTCTGGAATGTTTTGGAACCTTCTGGAAAATTCGAGAAAATTCTG +GAATGTTCTAGAACCTTCTGAAAAATTTGAGAAAATTCTGGAATGTTCTA +GACCCTTCTGGAAATCCGAGAAAATTCTGGAATGTTCTGGAACCTTCTGG +GAAATTTTTAGAAAAATCCTGGAATTCTCTAGGACCTTCTGGAAAATTTG +AGAAAATTCTTGTCGCCAAAGTTTTGTGAAAAAATTTAGCTGGAAACTAA +ATAATTTTGTGAGAATTCAAACTTTAATTTTTCCAATTTTTTCGGATTTT +TTTTTTAGCTTTTAAGCTTTTTACATTTTCTATAAATTTTAGATTTCAAA +AAAAAATTGGCGAAAAATTTTGACCAAATTTTTTGGCTTTATAGCATAAT +TTCAAAAAGTTTAAAAAGTCCAAACTTTGCTCCAGTCCCCAAAAAAAAAT +TTGGTGGAAAATTCAAATCATGTTTTTTTTTCAAAAAATTTCATGGCCTA +GAAATTTCAGCAAAGCAGTAAGGCCGCCTACCTCCCTTCAATCCGAAAAA +TACCTAAAAATCAATCCCAAGCAATTAGTCTCATCAAGAAAGAAAAGAGC +TCTGCTTGTGCCCACTCCTCATCTCTTCTCATGTATTTGCTTTCAATTAA +ACATCTTACTCAGACAGCATAACGAAGGAAACAAAAAACGAAAGAATAAC +GAAATGAGCATATTTCCTTTATTTATTCCTTATTTATGTATTCAGGTAGA +ACAAAAAACCGGCTCGGCGGGTTTATTTGTCTGTAAATCTTATGCCTACA +CGCCTACCTACAGCGGCCCTGACTGCCTATTTGCCTAGTGTTTTTTGTCC +TTTTCGGTTGGTTTTTTTGAAAATTTTTCCTGATTTTTTTTGTCGTTTTT +TTTCCATTTTTCTGAATTTTTAGGAATTTATGGAAGTTTCTCTTTTTTCT +CCCCCCCTCGAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC +TAAGCCTAAGCCTAAGCCTAAGCTTAAGCCTAAGCCTAAGCCTAAGCCTA +AGCCTAGGCCTAAGCCTAAGTCTAAGCCTAAGCCTGAGCTTAAGCTTAAG +CCAAAGCCTAAGCCTAAGCCTACTCCTATGCCTGAGCCTAAGCCTAAGCT +TAAGCCTAGGCCTAGGCTAAAATAAGCTCGGCCCCTTTCTGGGCCAAAAT +TTCATGTACCTCCTAAAATTGTTTCATCCTAAATAGCCAAAAAACTTGGA +AAAATCTATTTTTCAAATTTTGTAAAAATGTCAAAGAAAAATTCTCAGAA +GTGCGGGAAAGTTTGACCCAGAAAGGGGCGGAGCCTATTTTTGGATAGGC +TCCACCTCTTTCTAGGTTTTTTAAAATCAAATTTAGGTGTTTCCTGGTAA +GTTTTAGTGGTTTCATTTTTTGTATTCATCACATTTCTTTTTCATTTTTT +ACATTTTTCTCATAATTAATTTTTGATCTACCTGTTGAACTTGACCCCGC +CCCCCAATCTTGGTGCCTCAAAGGAATCGGAGGAGTCTAGTCAACAAGGT +AGATCAAAAATAGAATATGAGAAAAATTTGCCATCGTGTTTTTCGATAAT +ACTACAGTTTCATACAATAATCCCACAACTTAAAATTCAGCAAATAACCA +GGAAATGGGCGTGGCTTAGATTTTCAAGGTTTCGTTGTTTTTTCCAGGTT +GTACTTCTGATCTGAACGGGCTCCGACAAAAAATGCACAAAATTCGTAGT +AGTGATGTGTGACGTCTGTTCTGATGACTCGAATTCATATTATAAAAGTC +GAAAAATTCCTTCCGAACGAACCCCCCATCATCCTAACATCATCCAGATT +TCTGCACCCGCCCGCTCATATAATCTGCTTTTCTTCACCCATAATCTTTT +TGCTTATTTCTCAATCTCCGTCTTTCTTGCGTTTTTAATTAATTCAAGAA +ATCAAGCAGTTGTGGTTAATGGCGTTCTACGAATTGCTTTTTTCTTGTAT +TATGATATTTTAATTAATTTTATTTATTTAGTATCTAGGCATGTACATGT +GCAAGTTGAGTTGAATAACCTGAAAATTTTGTGCCAAGTTATGGGCGGGG +TCTTTCATACATTTTTTAAATTGTTTTTTGGCTAAATTTGTATGTATTTG +CTTTGAAAGTTGTGTTTTTTTTCAATTTTCTTTAAAAAAAAACCAAAAAA +AAAAATTGGTATGTAGTAACGTAGGTAGGCAAGAAGTAGGTGTGTAGGTA +GGGACTTGAAAATAGCAGCTATGAATAGGTGCGGTATTTGAAGTTTAGGC +AGGTTCGTAGGCAGATAGGTGAGTAGAAAAATCATTCAGAAGACATTCAG +GTAGGCTCACTGGTAAACAGGCATAATGTAGGTACGTAGGTTAACACTTA +CGTACGAGGCAGTAGGCATCAGGGCTTTGTGGCAACCGGCAACCGGCAAC +CAAAAACCAGGTTGCCGGTTACCGAAAAATTGCCGAAATTTCAGCAACCA +AAAGTCGCCAGAATTTTCTCGAATTTTCCAAAAGGTTCTAGAACATTCCA +GAATTTTCTCGAATTTTCCAAAAAGTTCTAGAACATTCCAAACTTTTCTC +AAAGTTTCCAAAAGACTCTAGAACATTCCAGAATATTCTCGAATTTTTCA +GAAGGTTCTAGAACATTCCTGAATTTTCTCGAATTTTCCAAAAGGTTCTA +GAACATTTCAGAATTTTCTCAAATTTTCCAAAAGGTTCTAGAACATTCCA +GAATTTTCTCGAATTTCCCAAAAGATTCTAGAACATTCCAGAATATTCTC +GAATTTTTCAGAAGGCTCTAGAACATTCCAGAATTTTCTCGAATTTTCCA +AAAAGTTCTAGAACAAGTTGCAGAAATTTTCAGCGTACGGCAACTTCAGC +AATTGCGGGTTGGCATGTAGGCAGGCAGGCATGTTAGTAGGCAGTTTTGA +CAGTTTTGAAGTTAACAATCCTACCTGATGCACAAGAAAATGCGCGGCAA +TTGCGGACCGGCAATTCTACAAAATGAGACGGTTGGGCATGTTCTTCCGA +TATTTTTTATAAAAATTTAATGATAAAGTATAGAAAAATATTTGTTTTAT +TTGAAAATAAGTTTTATTTGGCTAGGAACAACCGAAAAAGTGCTCAAAAA +TTGTCGGAATCTTGAAAATTGCCGTGAAAATTTCCAACATTTCGACTATT +TCTGGAGATTTTTACAATTTTGTCTATTAAAAAAAAACAGTTACTTTCAA +ATAAAGCAAATATTTTTCTATATTGTGTCATAAAATTTTAATGAAAAATA +TCGGGGGAACATGCCCAACCGTCTCATTTTGTAGAATTGCCGCGCACCTT +GTTAGTTTATCCCCGTAAACCTCCAATCAATAATTGGCAGGAGTCCTTCC +GTCCGTCCAAAACGTCATAAAAACTGGAGATGGCAAAATTGGAGATGTGC +CAAGTTTGCTGGAGAGGTGGGGGGAAGGAGACAATCATGTTGTCTGCGTA +TCTCCAGACTCGTCTGCTATCTCTCTTACCCGGCAAATGGGACCTCCCCA +GAACGGTGATTTTGTCCTTTCAACACCTTTTTTGTGTTTTTGTTTGTTTG +ACACCTTTTTTTCACTACTTTGCGGGAATTTAGACTGATTTCTCATGGTT +AGAAACGTGCTGACGTCACATTTTTCGCGGGAAAAAAAACCCGCATTTTT +TGTAGATCAAACCGTAATGGGATAGCCATTCTAACAATTCACTGTTTTTT +TTCTGAACAAGTCTGAAGTTTTGAGTTCAGCACCCGCAATTCTGTCTCTG +ATAAGTTTGAAAGTTTCAAATTGAAACCTCTCAATTGTCGGACCAGCGCG +CTACTTCATCATACCCCGCAAATTGAACTGCTCGCGGCAAAATTTAAAAA +TTGATGCTTCTCCAGAAACATCCCACCAGAAACTACCTAAGACTGAACTT +CATTAACTTCTTTTAAACTTAAACAACGATCATAATACCTTAAAAAAAAC +GTTTGTACGTGGTGTCAGAGTGTCTCATTTCATTTTGATCTACATAGATC +TACAAAAAATGCGGGAGAAGAGACGCAGAGTTTTCAACTAATTTCGCATG +GTTAAGAACGTGCTGACGTCACATTTTTTAAGACAAAAAATTCCCGCATT +TTTTGTAGATCAAACCAGCCTGGCACCACGTGCGTTTGTAATCGTTCAGT +AGGTAGGTAGACACAGGTCAGTAGGCATAGGCAGGCGGTAGGTCTGAGGT +AGGTGTTGTTGACCACCACGTAGCAAAACATGCTTGACGACTAGCCTCAA +ACGGATAATCACAAAGTTCTACGTAGTTATGATTTCAAGCCGCCCAATGA +GCACATTACGCTGACTAAGCCACAGCTATAAGACCCTCCTCCGAGTATAT +TCATCACCAAACATCCAGTTTCCAGTTTTGCAGTCTTTTTTTCTGTTGGA +AAATAAAGAGAGTACATCTCATTAGACATTAATGAACAATTTCAAGTTCA +AAACTATAAATATAAATAAAGCTAGTAATTGAGCCAGTCCAACCAAATTT +CCCACAAGTTCATTATAAACCTTCCAATTTCCCAATCCCATGTACTCCTA +CTAATCAGTTTCTTTCCTTCCGCCCTACTTTCCAAATTCATTTATCCGCT +TTGCATACTTTTCGGTAATCTTGACGATTTTCAGAGGTTTCTAGAATTTT +TTATTTTTTCAAATTATGCAAAAATAAATTTTTTTTTGTATTCTCAAAAA +ATTGCTAAAATTGTCCAACTTCCCATTTCTCGGAAATTGACGTAATTGCA +GTTTTTTGAATTTTTTTGAAATTACTGATTATCAAATTTTGTTGGAAAGT +TTCCTTTCACCTACACACCTACCATATGCCTATCTGCCTAGGTGCTTACC +TACACGCCTGCTTCGTGCCTACCCGCCTACCTGCCTGGTTTATTTTCAAA +AAGTGCAAAGAGCCAAAAGTTTCGAATTGTCAAAATTGCTCGGAAATTTT +TTGAAATTTTGGAAAATGCCAAAGTTATCAAATTCCGCATAATTCCAAAA +TTGGCAGCCCGACATCATGCCTGCCTACATTCCTGTCTGCATATAGGCCT +GACAAAATGTCCATCAATGTATGTACCTATTTCATACCTATCTACCTGTA +TAAACATAGTTCATCTCTACCTCAAACAGCATGTTACAGGCTTTCTTCTT +ACCTACCTACTTCATTAACTGCTGTTTATTGACCTGTCTACGTGCCTACC +TCATGCCTGGCATGCCTACATACCTACCTCATTTATCAGATCCTCATGAA +GCCTATTTACAAGCCTACTTCCAGCCTACCTATTGTGTTGATTACGATCA +CCGTCTCTAGGTTGCCTAACCTGCCTAATTGTGTCTACCTACTTAGCTAT +CTCATGCCTGCCTACTAACCTGCTCAAGTACCTACTTCATGCCTACCGGC +CTACGTTCCTACCAACGTGCCTACCTGCCTGCTCACTAGCCTAAGTGTCT +GCCTACATAAATTGTCCGTTAGCACATCAAACTTTTCATATATACAAAAA +ATTGCATAAAAAGAAGATAATCATTAATAACAAGTGGGTAACTCAAAAAG +GAAATTGGTTTATCTCCCGGCTCCGAGAGCACCAGCACTTTGCTTTTCCG +TCACTACAACCTCTAATTTTGTTTTGTTCGAAGGACTTTTTCCGATACAT +ACTAATTTTTTCGGATCCGGTTGGCTCTGGATTTCAAGTTTTATAATAAC +TTGGGCTCCCAGTGACGTCACCAAAGGTGCAATTAGCCTTTAGTAACTAA +ACAGCTTGCTCCTAGTTTACTGCTCCGTCTTCTCAAATGAAACAGAGAGA +GAGAGACCCCTCATCGAAAATTCAATTAAACGCTAAAACGTAGGTAGGAA +AGAGAGAGAGAGGGAGACTCCTCCCAAAAAAAAAAGACAGGGGGGCTCTC +TCTCTCTCTCTCTCTCTTCGAGCGGCAAATCGGCTTCCGAATTCATTCAA +AAACAAATTATGTGCTCAACCACCACCACTACCACCGGCTCCAGGCGGGT +AATTACACTTGAAAACCAAGTACTAGGTTTCGTGGCCGGGCAAACTTTTT +CTTATTAGACCCCGGTGGAATTTTGTAGGTCTATTTAAAATTGCAATTGC +GCTATTTTGTACTGTTTTTTTTTTGACAAACTTTGAAGCTTGATGTCAAG +CTGGAAAAGCGCTCTAATGACAATTTTGACTGCAAACTCGCTCTGTTGAT +AAATGGTCCGTGTACTCCACGGGGGCAATTAAACTGGATTTTTTTCGATT +AAATAATATCTTGATTTTTTGCAGTTTTGGCTTAGGCTTAGGCGTAGGCT +TAGGTTTAGTCTCGGGCTTAGGCTTATGGTCAGGGTCAGGCTTAGGCATA +GGCTTGGGCTTAGGCTTCGGCTTAGACTTAGGCTTAGGCTTAGGCTTATG +CTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCT +TAGCCTAAGGCTTAGGTTTAGGTTTAGACTTGGGTTTAAACAGGCTCAGG +CTTAGGCTTAGGCTTAGGCTCATGCTCAGGCTTAGGCTCAGACTTAGGCT +TAGACTTAGGCTTAGGTTTTGGCTTAGTCTTAGGTTTGGACTTAGTCTTA +GGCTTAGTCTCGGACTTAGGCTTAGGCTTAGGCTTAAGTTCAGGCTTAGG +TTTAGGCTTAGTCTGAATATTTGGCTTAGCCTTGGGCTTAGGTTTAGGGC +TTAGGCTTAGGATTAGGCTTTGGCTTGCCGGCCACCTGGGATATTGTGGT +TTGACAGGGGTAGGCTATCCAAATTTTAAAAAAATCGGCTACAAAATTAA +TATTTAGATGGGCCTATAAACCATTTCTCTAGGCCATCCTGCAAAATTTC +CAAGACAAAAAATTTCAGCCGTGAATAAAGTTTCCGTTTTCCTAGGCCAC +CTCCAAATTTTCCACGTCATATGTAAGGTATCGGAGGGTACTGTAGAAAA +TTATCAAAAATCAGCAAAGAATAATAAGCATTAAGAAAGTTTTTTGTGTG +TGTGTGTTTTTTGTGGGAGAAAACATTTCCCCTCTCCTTTTTTCCTGCCT +GCTCATTTGGATACCACCGCTAACCCAACTTGACTTTGATTACCCATTTC +CGTCCCCCTTCTTCGTCTTCTTCTACTCCGGGATAGAGAGAGAGCTCTAT +ATAATTACTTTCGTCTTCTTGATCCGTTACCGCCCATTGGCAATTGGTTT +GAGCTGCCGCCGGAGAATATATACATGCATGTCTAATTTTTTACTGGAAA +ATCTAGGAATTTTTACGTTGAAAATTTGGTTAAAAGCGTACAGATCGGCC +CATGCTGGTGATTGTACGAAATTTTAATTTCAAAGTATCTGCAGAGGAAG +CTAGGCCACAAGCCCCTACGTGGCCGTCAAAATTGAAAACTAGGCCACCG +ATTTTTTCTCGGACTTTTTATCTACTTTTGCTATTAGGCCCTGTCTTCTT +TTTTGCAACGTTTTTCTACTAGGTCACCAAATTTTTCCTAGGCCAAGCTG +CCTAAAACTCGGCCACCGATTTTTATTTGCGTCGGTCTGTAACATTCAGG +CTCCGACCAGCTCGACTTTTGCTACGTGGTCGCCAATTTTTCCTAAGCCA +CATCGAAAATGACTCGCTGTGACATTTGTACTTTTTTTCACACGGCCTAG +AAATTTTGAAAAAAACTCGGCCACTGATTTTATCGGCCTTGGAATCCTAT +GTAACTTTGTGGCATGATTTTTTATTTATTGTCCATCCAGTTTTTCGTCT +GAAAATTACAAAATGTTTTAGTGACCGTTGGAGAAAACTCGGCCACCAAT +TTTTTTCTCGGCCAAGTTACCAAATTACGGGATACCGTGTTCTCTATCAT +ATTTCTGGCTCAAAACATACTCTACTTCCGTGCTGCCTACGTGGCCGCTC +AATTAGAAAACTCGGCCATCATTTATTTTCTAGGCCATGTCGAAAATAGG +TAATGTAAATAGGCAAAGAAATGCGGTGGTTCAAGTAATTTTGGGAAATG +GATTTTAAAAAGTTGAAAAAATAAATCAAATGAATAAGTCTGAAACACGC +AAACCTTAAAGCTAGGCCATCAATTTTTTTCTCGGCCAGGTTGCCAATCT +ACGGGAAACCGTCATGTTTCTTGCTCAAAATTACACCCTATTCTCGAAAA +ATTTTTTTTACGTTGAGTATGCTCTCCTGCCTAGGTGGCCGCCCAATTAG +AAAACTCGGCCACCCATTTTTTCTAGGTCATGTCGAAAATAGGCGATGTA +ATGGGGTAGTTCAAGGAATTTTGCGTAATGAATAACCCCAAAAATGTTTT +CAATATATGGCCGCCAAAAAAGAGAAAACTCGGCCACCAATTTTTTCTCG +GCCAGGTAGGCTACCAATCTACGGGATACCGTGCGCTCCATCCTATCTCA +GGCTCAAAATTACGCCTTTTTTCTCGAAAAATTTTTGCATACTCTCCTCC +CGTGCGGTTCTTAATTAATGAAAGACGTTTTTTTTTCTCCTTGTCTAACG +AGTGTATATGCAGAATTCAGGATATGCGTCTTCTTTTCCGAGTTCTTGTC +TTCAAAGCGAAAAAAAAAGTGTGTGTGTGTGTGGACATAGGAAGACTCGT +CTTCGAAGAAGACGCTCATTAGCTCATTTCATCCACTCGCTAATTTCATT +AATTTTGTGCTTCTTCGCCTGCCTTCCGACGTGTTTACCCACACCACCAC +CACCACCACTCAGTACCTCCTCACTCACCGTGGAGAAAGATGTTCTGGAT +TTTTTTAAGCTTTTGAGTTTTGTGTCCTACCTCACTTTTTAGGCTCCACC +CACTTCTTGGCCTGTTATTTCGGTTTATTAGAATTTGTGTGGTGTACTAC +AAATTTCGATCCGAAAAATGGCAAAAAAAATTCAGCTGACTGAATTTTTT +TGAACTTTCAAAGGTTCAGTTTTTGCAACCTAAACCTCTCTTAACTTTAA +CTTTTCAAACCCCGCCCATATCTTGGCTTTTCCAGAAATCCGAGTAATTT +TTTGGGAAATTTATGGTACAACTAGCTATCAGAACAATTTTTACGGAAGT +TTTTTTAATTTTATTTTAATTTAAGTCTACTGAAATTGACCTAAAATATA +TTTTGAAAAATGCTTTGATCCCGAAATTGGCCAAAAAACGTTGATCGAAT +TTTTTTGAACTTTCAAAGGTTCCGTTTTTGCAACCTTTAAGCCCCGCCCA +TTTCTTGGCTGTATTGTATTCAAAGTTAAAAGTTGTTCATGTTGTACTAA +AATATGCAAGTATCATAAAAAATTAACTTTTTAAGCTCCACCCATTTCTT +GGTTTTTCTGGAAATCCGAGTAATTTTCTGGGACTGTTATGGTACAATTA +GGTATCAGAAAAAAAATCAAGGAAATTTTTTACTTGGATTTATGTCCACT +GAAATTGACCTGAAAATGTTTTGAGATTTTAAAAAACTTAAATATTTTGA +TAAAGGTAGAATTTGAATTCCCCGCCCATTTCTTGGCTGCAGTTCCCAAC +TGTCCAACTTTTTGAATATTTTCTCAAACTTCATGGCCTAAAATTCCAAT +TCTAGGCGATCTACCTTGATAAGAACTTACTCCTGAGTTATGTTTGAAAA +ACATAGTCCATCCGTGGCCTAGAAATCCAAAACTAGGCCATCAGATTTTA +GGTTCCTAGGCCCAATCACAAAGCCAGCAGTTTTAAGTTGTCAAATTTCA +GTGGCATAACCTCATAATTTAGACCTATTCTATTAGGTCAGCCTATTACA +GTTTCTGGCCTAGAAATTTTCCTTGAGTTTGAGCCCACTACCCCCACACC +CACATGGCCTAGAAACCCAAGCCTAGGCCATGTGTCCCCGCATTCTCACT +CACTTTTAATTTCTTAATCCACTTACACAATTCTCTCCCCCTTTTCCAAT +TTCACATCGAACCCGGGAAAGCTCATTAGCTCATTTGTTGTGTGTGTGTG +AGTTGAAGAAGCGGGGGGAAGGGGAGCCCCCCTTTTGAGTGGACGGGGAG +CTAGAATGGAAAAAGAGAGAAGGAGGAGAGCCATTTTGAATGGGTATGCA +ATTAGCAATCGATGCAAATTAATTAAACAAACAACGAAATGAAAGGGGGG +GGGAGGGCAATCGCCTGCCTTCACTCACATGTCCCCTGCTGGAAATGTGG +AAATGTAAATTAAAATTAGAAAACTAGCAAAAAAGTGCGTTTTTTATTCC +TACTTGTTAATTAGTTTAAATTTCTATATATGTATGGCTTTGACATGCCA +ATTTTGGCGTCTAAGGGTAGGTATAGGTGGGCGATGCACCATGTTAAATG +GTCGATGCATCATGCCAAATAGTAAATGCACCATTACACATTGAAAATTT +AGCATTATACACTCCATATAACTGAAATTCGGGGCCCAATCAATATCATG +CCGCCGACATCTCACGGACTCCGCGCGCCGCTATGTTTAACTCGCAGCGG +GCGGAGACAGCTGGCCGCGCCCACAACGAGTTAAACACAGCGGCGCGCGG +AACTCGTCAGATGTCGGCGGCCTGATATTGGTTGGGTCCCGAATTTCAGT +TTTATTATTTGGAGTGTATAATGCTAAATTTTCAGTGCACCGTGTTAAAT +GGTCGATGCACCATGATAATGCTAAATAGTCCATGCACCTTGTCTAGAAA +ACTCGTTGAGTACTGTACTTATGAAACAGTTTAGCAAAAAAAAATGTCAG +CCTGTTTGGCTCCGCCCCGAAAGTGGGCGGAGTCTAATTTCTTGAATTTT +TTTTTTTCAAAAATTGTTTTAAAAATAGCTCTGTGAATTCCACCTCAAGC +AACTATTTTTAGTGGAAAGCAAATTTTTTCAAAATTTTGCGCAAATGGTT +CTGAGGCTCCGCCTTGAAATTGGATGCTCTTAATTAAGAAAGAAGTGTTA +GTCCCGCCCCTTTATTGGAGGAACTCAAAACTGGGAGGAGCTTAAGAAGG +TTATAAAATTTTGCTAATTAAAACACCCAGCTCCGCCCACTTATATATTA +GTTGACTCCGCCCCACCCATTAAAAGTGGGCGGAGCTTAAAAATATTGAC +CACGCCCCTTTCTTGGGTAGTTTTAGCGTTTTTCATAGAGTCAATTTTCA +CGGCGGACCCCGGATCGATGCACCATGATTTGACGCGCAACCCAGGTAGT +ATGACGTCACTCGTGGCCGAACTCGCGGGGGAAATTTGTACTTACAGCAA +TAAATTTCGGTGTCTCACGGAGCACCTGCACACGTACCGATCATGAGTGA +TGCTTCCCACCACAAGACATACACATACACACACAAACCTACTAATTAAG +ACAAATTATAGAACAAGTGGGGGGAGAAGGGTAGAAATAAAAGTGAGCAG +TGCGAGAGAACGCGTTAGACGGAGAAGCTGCTCTGGGAGACGTGTGAGAG +GCATATAAGTTGGATTAGTTTACTGCTCTTTTCATGGGAAAATCAAGTGA +GCTCCAAATATTTAATCTGACTTTGATTTGGTTTGATTCTGAAATTTTTT +TGGGATTTGCAGAAAAAATACGTTTTTTTTTTGTATTTTGGAATCGCACC +AATACGCTGCGTTGCCCTCCTACAGTGCAACTGAGCCACATTTCTCTTCC +ATAACTTTTTTCTTAATCTCAAAGATTAAAACTCTGCAAAAGCTCAATAT +TTTATAAATGATAAGGATTAGCAAAGTGTGGGTGATCTTCCAGAGGGGGG +ATTACCATAATTCATTACTCATTTTTCAAGTTTCATCTGTGTTTTGTTTG +ATAACCTAGGTGACCTACTAGTTTACCTACAGGGCTGGGACCAAAAAAAA +AATTTGGACCAAAAAACAAAAAAACAAAAAATTGAAGTTTTTGAAAAACC +AAAAAAACCAAAAAAAAACAAAAAAAAACAAAAAAAACCAAAAAATTTCT +TATGCTTAAGTTGATTTTTAATGGGGTTATTCAAGTAATGTTGCAAAATG +TATTAAAATACATTATGACGTCACAACTGTGTTAAAATACATGTTTTAAT +GTATTTTAATACATAATAGTCTCGAGTCGAGACTAGACATGGTAAACACT +TTTTTGGATTTTTTTGGATTTTTTGGTCCCAAAAAACCAAAAAAAACCAA +AAAATCGATTTTTCGTCAAAATACCAAAAAAAACCAAAAAACAAAAAAAC +CAAAAAATTCTCAGCCCTGGTTACCTGTCAGCAAATAATTTTCCCCTATA +TACCACCACTTCAGGAGTAATCAACACCCCAAAACGGCAATTATTTATTA +TTCTCCTCACCTTCTCAACACTCCATAGCGCCAGCCAGCCTAATTTGATT +GTTTAATTCGATTCAGGGCACCCCACCACACACAAATTTATTAATTTTTG +TCTTTCTCGCCATTTTCCAATAATTTTCCCGGCTTGTGTTAGCTTTATTA +TAGAACTTTTTAAAGCGATTTCTTAGGAATTTATGTGTGACGTCATATGT +GGCCTAGAAATTTGACGATCTCGGCCGTCGGGGTCGATGAACCATGTTGT +GATGTATAGGTGGCCTAGAAAATTTTAGGCCACCATGATAGTCGTGGCCT +AGAAATTTGGGCGCCTTCAGGTGGCCTAGAATGTGAAAAGTGACGTGTGA +CCTAGTTCTTTTGACGGTCAGGCCAATTTTCCAATTCGATGCTTTTTTTT +TAATTAAGGTCCATATTCTGCAATTTTAGGCTCCGCCCATATCTTGGTTA +AACATTTTTTTTTTGCTTTTTTCTGCAATATTCATTCAATCCATCATTGT +TCTCAAAATTTGATGCACCATGATATGGCAGTGGCCTAGAAAGTGCGACG +TCACTTATGGCCTAGAAAATTCGAGGATCTTGAAATGGGAGAAAGTAAAA +AAGTAATCAATGCCCCCTGACGGTCGTGGCCTAGAAAGTTAGAAGATCTA +GAGGAGGGGAGTAGGAGATCGATGCACCATGTACAGCTACAGTGACGACT +CACGTGGCCTAGCTTTTTCGCAGGCCACGGCCATAAAAAAATGTATGAGA +TCGATGCACCATGTTTGTCGCGGACTAGAAATCGAGAATGTGGCGCACGT +CACGCATGGCCTAGTGACTTTTACGGTCAGGCCGAAACACAGGACGTGGC +CTAGAAGTCATTCTGTTAGTCTAAGACTCTGCAAAAACTCTCAAAAAAGG +TGAGCCTATGTGCCTGCCTACTTGCCTACATTCTTGCCTACCTGTTACTG +CTTTCTAATCTGTACCATGTTGCACCTACAGTACCCCCTTCCGCCCCCGT +AAAGACTTTTTCAAGCTCAAAAGTGCAGAAAACACAAAAAAACCAAGCCC +AATCTACAAAAGCTCATCTATTCGTGCTTGGATTAAAATGCCATTAAAAT +GATTAATTAAGAGATCGAGACTGGTTGAAAACTGATCGGATTAAAAAGCG +ACTGAGGTCCGCGAATGAGCTTTTCATGCAACTGATGAGCACATTTCCTG +TGTATGTACACTGATGATAAATCTCCTTATCTTTTCCGAGACATAACAAT +CTCAATGTTCTTCATTAGTTTCTTCATTTCCTTCTGAAATTTGTTGCTTT +GATTTATTAAAATCTGTCATTATGTAAGATCCATAATTCGTGATTCGAAA +TTTTTTACAGTTTTTTTTAAATATAGAAATTTGAATAACTTTCCTACCAG +GCTGCCCCAATACAGTTTGATCTACAAAAAATGCAGGAATTTTTTGCCCA +AAAATATGTGACGTCGGCACGTTCTTAACCATACAAAATCAGTTGAGAAC +TCTGCGTCTCTTCTCCCGCATTTTTTGTAGATCACCGTAATACAATGCAA +AAATGAGAGAAAAAAATTTGAAAAAAAACCTATCCAAAAATTTGGCATTT +TCAGATTTTTTTTTTCGAGCAGACCTAAAAATGTTTCGATAAATTCTAGA +TTTTTTGAAAAACTGTCTGAATTTTTTTTTTTGAGAACAATGATTATATT +TTAAAGATCAGTGTTGACTTGAATCATGTAGCGTAAAAAAGGTTAAAAAA +AAACCAAGATATGGGCGGAGCCTAAAATTACAGAAATTGGACCGTAAATT +TTTCAAAAAATTTTTTTTTTTTCAAAAACCGAAATTTTATTTTAATTTCA +AAATTTCCGCTTCGGGGTTTCTTGATTTTTTCAATTTCAATTTCAATTTT +TTAGATTTTTTCCCGTAAAAAACCCAAAATAAATTTACTGAAGCTTCACT +ATTGGATTAAAAATTTATAAGGTTCTTTGCGGGAAAATTAGTAAAAAATC +GAAAATATATTTTAAAAGAAAAATCAAAATTAATACAAAAAATTAAGGCT +TCCATGTAGGTTCGCGTGGTGCCAGGCTATCCCATTATTTTTTCTTTTTT +TTTTTTTTTCCCCAGGAAAGTGTGACGTCAGCACGTTCTTAACCATGCTA +AATCAGTTGAAAAGTCTGCCTCTCTTCTCCCGCATTTTTCGAAGATCATA +CCAAAATGGGGCACTTTGACGCCACGTGTAGACTGTAGGCCATAAACCGC +CTGCCTGCCTGATTTTCAGGCTACCTACGCCTGCCTGTCGCCCCAATCCA +CGCCTTATGCTAAAACACATTCATTTCTTAATTTGATTTTCACCAAAGTG +ATAAAAAAGATAAATTAAAAATTAGTACATTCTCGTCAAAATGCAAAAAG +AGTCGTAAGGCAGGCAGGTTTCAGGCAGGCCCTGGCTCACGCCTGCCTAC +GATGCCGGTTACTAAATTTCCAAAATACCTTATTTACTCTACAAATCCTC +TACCCCGACATTACATCTCAAAACTCATCCTATTAATTTCTGCCTTAGGC +GATAGCACTACTAATTGATAGGAAAAGACGACTTGTGTGTGTGTGTGTTG +AATTATTATACTAATTTGATTTTAGGCAGCCTCTTTCGTCAAAAAAAAAT +AACTTGTGTCACCACACCACACCTCCCACGTTTTCGGTGAGTGAAGCTTC +TGCTCGCTGTTAAGCAGATATTCATAGGGAAATCATCCGTAAATCCATTC +AAGTCCTCTTTATTTTCTTCTTCTTCGACCAAATTAGTATACAGATGTCA +TCAACTTTTTTGTTTCTTTTTGAGGGCCCAGGCTGTTCATTACAGTTTGA +TCTACAAAAAATGCGGGAAATTTTTTTTTGCTTTTTGCCCAAAAGAATGT +GATGTCAGCACGTTCTTAACCATGCAAAATCAGTTGAGAACTCTGCGTCT +CTTCTCCCGCGTTTTTTGTAGATCTACGTAGATCAAAACGAAGTGGGAAA +CTCTGACACCACGTGCTTTGAGAAAAAATTTGAAAAAAACCTTTTTAAAA +ATTTGGCATTTTCAGTTTTTTTTCTTTACAAAATTTTTTTGAACGAATCT +AAAAATGTTTCGATAAATTCTAGATTTTTTGAAAAACTGTCTGAAATTTT +TTTTGAGAACAATGATGACTTGAATATTGTAGAAAATCGTAAAAATAAGT +TTTAAAAAACCAAAAAAAAATGGGCGAAGCCTAAAATTACAGAAATTGGA +CCATAAAAGTTTCCAATTTTTTCTTCACAACTTTTTTCAAAATTGCTGAA +ATAAAAAAAAACTATTATTTAAATTTAAATTTCAGAAATCCTAATTTTGA +CGCCGATTTTTAAAATTATAAGGATTTGTTTTTCCTGCAAATTCTTTTTT +AGAAACTTACAGTTTGTCGGTTTGTCGATAGAGCGTGCTTATTCACCAGG +CTGTCCATTACAGTTTGATCTACAACAGTGCGGGAACTTTTTTTTTGCTT +TTTGTCCAAAAGACTGTGATATCAGCACGTTCTTAACCATGCAAAATCAG +TTCCGCATTTTTTGTAGATCAACGTAGATCAAACCGAAATGGGGCACTCA +GACACCATTTGGGGGGCCTAGAAACCGGTCCCTTTCTCATTCAAAGTGCT +CTCTGTTATCAAGTCTCCCACGCTTTATGCATTCAACTTTGTACAGTTCA +CACGAGCACCCACGACTTGATTATTCAACATTATACAGAACTAACTATTC +GAATCTCAACATGTCTTCTTGCCGAATTTAATCAACTTTGACTTCTTCTT +CTTCTTCGACTTCTTTATACAACTACTCATCTTCTAGTTGCCCCTCTAGT +TGCCTCACACAAGCAAAATTTCTTTTGAAATGAAATTTAAACGAATTGAC +TAGTCAAAATTTCATCAATTTTCTACTAGAGAGAAGCGACGAGATTGACT +TTTGGCAAATATAGAAGAGAGAGGCACCGAAAATGAATTAGATTTAACAC +AACAACGAGTAGATGAGTTGTGTGTGTCAACGATGATGATGATGATGAAA +AGAGCAGAGGAGCAAGCATGAGTGATTTCTGCGGCGGAGGTCGCGGCGGA +TGAGGAGCATGAAGAAGGCTAACGAGCTGTATGGCGATGCGGCTAAAAAT +TGATGATTACTGTAGATTTGGAGCTTTACACCGTTTAACTGGCTACGATT +ACATACAGACTTGTTTTAGAATATTCTGTATTTGAACCTAATAATACAAA +TTGCCGGTGTGCCGATTTGTCGGAAATTTTCAATTCCGGCAACTTGCCGG +TTTGCCGATTTGCCGTAAATTTTCAATTCCGGCAACTTACCCGTTTGCCG +ATTTGTCGGAAATTTTCAATTTTGGCAAACTGCCGGTTTGCCGATTTGCC +GGAAATTTTCAGTTCCGGCATTGTGCCGGTTTTCCGATTTGCCGGAAATT +TTCAATTCCGGCAATTTTCCGGTTTGCCGGTTTTCCGTTTGCCGGATAAC +AAAGTGTTTAGAGGGATTTTTTTATAAGAAGGAAACTCTTAAAACTGTGA +CTTTTTGAAATTGTTTCCCGTTTTCTTTCGATATTTTCATAGATTTTGCA +AGAATGCGTGCAGTTTTGCCAGTTTAGACGTAATTGAATTTCTGAAATTT +CAAAAAAAAAAGAGCAAAATCATAAATTTTTGACATTTGTCATTTTTTCC +GGTAATTTGGCGATTTGCCGGAAAAAAATCATTTACCGCCAACTCATGGT +ACGTCTAACCGCAAAAATTTTTTGGGAGCCTTTTCTGGCTTTCTTTCAAG +CTATCGTAATGTGACCACACACCTTTCTATAATTTTCAGTATTTACGCCA +ACCGAGAAGATCACAGTAGTTTAAGGTTATGGTGCAGTTTCTGGTCAATG +GATCAGGTCTCTTACCGCGAAAATTTTAATACCGTGAATGTGAAGCTTTG +AAAATTTTCTGCCGTAAATTGTCAATTTTCTGCCGCACTTTGTCAATTAT +CTCATAAAGGTCACTTAAGTTAGCCAAACCGTGAGCCAAAACTGCCCCTT +ATTCCTCATGCCGTCTTGGAGGAAATCTAGAGCAAACCCTGGTCCATATT +CGGACAAGGTCCCCTTTCTTCCCCCAAGCGTCTATCTAACTTTTCCTAAC +TACATATAACGGAATTAATAATCCTATCCCCAATTTAACGTGTCCTTAGT +TCTCTCCCTCCTCACCGTCTTCTAGTTTCATCCATGTCTCGCCTCATTTC +ACCCGATTGACGATCATCTCGGCTCCACACTTTGACACCATAGCGCGAAT +GAAAAAAAAGAGTGAGAAAAGGGGAAAAAAGTTGCTGCCCTATTATTAGG +AGTCAAATAGACACACACACACACACACTCAATTTTAATGGATTACGCAC +GATTTGACACCATCGACACCAATTTGGAAATGGGGGCACATAGATACATA +CACAAAAGGAGTTGTACTACTAGTTTTGGAACTAACATCATTCTAACATC +TTTTCATTTATGATTTGATTTATGCAAATGTCCTTGATTCGTGACTTCTT +GTATAGTAGTTGGGATAAGTATAATCATGGTAGTTGCTCAAGACTAAGCT +CTTTAGCAGTTTTAAGGTATGCCCCAGTTCGGGATTCCGGCTTGCTTTAA +GATTGTGTCAGGTCCGGCCCAGGTTGTCTAAAAAATACAGGTCTGCTCCA +GGACGGTATACCATCACTATATATAAAGCACGTGTCGTTCCGTCACTTTG +TAGTTTGATCTTTGATCTTTGGTCTTTGAACTCTGTAGTTTGTAGTCTCA +TCACACAAGAGAGGTCACATAGGCCCGGCCCCTTTTGTGACGTCATCACA +AATTGGCGGGAAATTCAAATTTTCTGAGAAAATATTTTGGCGGGAATTTA +AAATTTAATTTTTTGAAAACATTTTGGCGGGAATTCAAAATTTAATTTTT +CAAAAACATTTTGGCGGGAATTCAAAATTTAATTAGACTGTTCTCGGTTC +GGCCCAGATATATCCAAAGTCTTTCTCAAGACCACTCTAGATCTGTTCTA +CTGTTACCCAAGACTGCCGCTCCACACCCTGTATAAGTTGGCCCTAAGGC +TCCACTGAGTTTGATCTAAATCTTGCCAAGCCTGTATCATACCTACCTAG +GCCCACCACAGGTGCATCTCTCACAGATCTTCCACAGGTGTTTCTAAGTC +TGCATCAGATCTGCACCAGGTCTGTTTTTAGTTTTGCCTGGGTGCAGCCC +AGTAGTCTACCTCACTATCAAGCAGGTCCTGACACCAGTTCCTAGGTCTC +ACATTCAGGCTTCTAGGCGGATAGTCTACCTAGCTAAAGCTTCAACCTCC +ACTGTTTTAAAGGCTTCCCCTTTCTCAAACTTCAACTAACATTAATACAT +ACATATGTTATTAATTCGCGACTCGGCGACTAATAACAATAATTCAAAAC +CTCTTTCCTGGCAATGCTTCCGGTACTCAACACGGAGAGAGAGGTGGCAG +GTATCCGGTAATTTATTAACTCGAGCCGCGCACCCTGGCTCCCAGAGCAC +ACAGCCCCGATGATCGCTCATGCACGAGTACTCACGAGGTGGTGGTGAGA +GGTAGGTTGGAGAAAGCGGTTCTACCTTCACAAATTTCAATTTCAATTTC +CTCTCTCTCCGTTTTACTCGGGCCCCCCCCCCCCCCTTCTTTCAATTTTT +CGCCCCAAATTTGTGCTCCTTTAATGGAAAGTTTTTGAGTGTGTGAAAAA +GAGAGAGAGAGAGACACCTTCGTGTCACGCCAATTGCACTAATATGTGCT +CTCCCCACCTAGAGCTACCAAAATGTTCAATTCACAATTTCCGAACTAAT +TCGTGTCAAGTTTTTAGTTGGTCCTAACTCTTTGGCCTAGAAATTTAGAT +TTCTAGGTCATCCATCTAGATGCGGTGGCCTAGAATCCTAAGCTTTAGAT +GCCCAGGCCATCAGGCCTAGATTCTGAAATGTTGTGATTTTTCTAGGCCA +TCAACTTTGACCCAAAAGCCCTCTAATTTTTAGGCCATGAATCTAGGAAC +CTATCTAGAGGCCTGATCCTTTGCTTTCTTGCCAAAAACTAGAGATCAAT +GCCCTAGAAGCTCACAAAACTTTGGCCTAATAATTTCTAGGCCACCAATT +TTTTAAAGATAGCCTAAGTCATCAACCTAAAATTCACGGCTTAGAAATCA +TGAAATTCGCTTTTAAGGCCTCTGACTTCATAGCAGTGGCCTAGAACTCC +AACTGTCAGTAGTCTGTAAAAATGAGCTTTTTGGGCCTCGAACATAACAT +GGGACATGGAAGCCTAACATTTTTAGGCCACTGACTTTAAAGCAATGGCC +TAGAACCCCGTTTTTCTGTAGCCTAGACTATCATCTAGAAATCAATGGCC +TAGAATCCTAAAAATAATATTTTTCGGCCACCAAAATTTTAGGAATGGCC +TAGAAATCTATTTTGTTGTATTCTAGGCCACCATCGACAAAGGAATGGCC +TAGAATCCCTAAGAATGTGATTTTTAAGCTACCATCTATGTACCCTAGAC +CAATATTTAAAATTCAATGGCCTAGAAACTAGAATATTTGATTTCTAGGC +TACTAACTGTTGTGTGCTGTATCCTAGACTATCATCTAGACCCCAATGGC +CTAGATTCCTGAAAATGTGTTTTTTCGGCCTGAAATAGGCCTAACATTTT +CCAGTCCACCAACTCTTTTAAGATGACCTATAAGTTTAATCCTAGCTTGC +CAACTATAAATAATTGGCCTAGAAGCTCCTAGGCCACCATCTAAAAATCG +ATGGCCTAGAAACCTCCCATTTTTTGTATCCTAGGTCACCAACAACCACT +GATGCCCAAGACCCCGGCTTCTTATTTCATAATGAGCAGCAAAATGAGCT +ACCGTACCCCTTCTACACACTTCCTCCCTCTCCACACCCATTTCCCCTCA +TTTTCGTCTATTTTAGCGGCGGCGGCGCGGGATAAATTTGTGAGAGGTGA +GCTGCTCACAATAATGGGCTTGTTGTAATAGGCGGCAGTGGTAGTGGTGT +ATGGATAATTGTGAGTTCCCAAACACACAAAACTTTTTCGCCGCAATTGT +TATGCAACCAACATAATAATAATAATAATAATAAGTGAATGTGCATAAAT +GTGCTCTTTTTCGCGTCTCCACACCCGTCCTGATGGGGACGACGCTTCGT +TGAATAGTTGGAATAATAATAATAAATTGGAAAAATTTGGGCGCCCCCCT +CCTAACACCCTAACACACACGAAATTTCATTTCGCGCGCGCTTCGAAAAC +AAATTGAAGACAAGTTTTTCGCGAGACAAGTTATGATAATTTGTGGGATG +TGGTCCCCGCCGGCAGCTTCCATCAATTTGGAGCAAATTTGTGCTCTCGC +AAACCTTCTTAAAGAAGGGTTACACTAACAAAGTTTGTCGGAATCGATAT +TTTTGTAAGTGGGCCTGAACCCCCGGTCTTTAAATTGATAGGCATTCTAG +GGCTTCCATGGGAGACAGGCGCGGTTTTAGGGCCTGACGTCTGCCTCTCG +CCTCATTTCTGCACTATGGCGAGAAGCCAAAGACTTGGTGTTCACACTTT +GTGCCAGAGTGTCTCATTTCGGCTTGATCTACGTAGATCTACAAAAAATG +CGGGAGAAGAGAAGCAGAGTTCTCAACTGATTTTACATGGTAACCAGAGC +GTGCTGACGTCAAATTTTTTTTGGACGAAAAACTCCCGCATTTTTTGTAG +ATCAAAAACCGTAATGGGACAGCAGGGCTTTCCACCAGAATAATTCCACT +TCTTCACAATAAACCTATATATTTTTTGTCAAAATCTTGAGAATTTCCAG +AATTTCAACGAAAACCACTGCTAAAAGTGGTTCTTTCGCCGCGGCCGACA +CTTCTCGGGTTCCGCGCCGCACTATAAAGGAGGCGCGGCGCGGCAGGCGG +CGCGAGGCAGGCGTTTTGGCGCCTGCACGGATGCCCTACACCAAACTGCA +AACATTTCTAGTTCCGTTTTTCGGACTCTACGCCTTATTTCGGTCTTTTT +GTCACAACTTCGCTACACTGTGTTTTTCTCCACTTCTACGACTTTAAAGG +AGGGCGCATTTATGCGACTCACGTGATGTCAGGCAGTCTCATTGCGGTTT +GATCTACAAAAAATGCGGGAAACTTTCCACCAGGAAATTGTGACGTCAGC +ACACTCTTGCGAGATCAGTTGAAAAGTCTGCGTCTCTTCCCCCGCATTTT +TCGAAGATCAAACCAAAATGGGACATTCTGACACCACGTGGTGACTTAGG +ATCAATGTAGATCGTTTTATAGGCCATCCATTGATTTTTAGAGCTCGTGG +CGGGACCATTTTAAATGAATTTCCAAAATTTCCAAAAACCTAATTTTTTT +GTCAATTCACAAGTCCCCCGGACCCCCTCCATTGTCCCCCCGTTCACAAC +TTCCTCCCTCGTTAACCACCCATTTAGCGGGACAAAATTAGCGAATCATT +GACTCATAATCAAGTAAATCGGTGAATGCTCGACGAGCAAGAGGGGGGGG +GGGGGGTCTAATCGAATTACGGGGGAAGGGACCCCTCCGCGCGACACCTC +GCTGCCAATTAACAAGTCAACTACTTGGGGGGGGGGGGGGGCCTCCTCAC +AACAATGTTTGTATTATATTTCTTGTTATTATGATTATTATTATTATTAT +TATTAGAAATTAGTTAGTATGAATATATAATATCAACTAAAAACAAAATG +ACAGTTAATAATAATTGAAGTCATCCAATAGGTGCCAATTAGTCAAAGAG +AGGGGTCTGTGAAAACAGAAATAGAAGAGAGAAGGCGGGGGAGAGGGGCG +CTCTCAAATAATTAATCTGGGCTCCGTGGGCTCGTAAAATTCCGATAAAA +TGGCTTGTTTGTAATTAGCTAATTCACGGAATCTTTTTTTTTTGTTGGGG +TTTTACTATGTTTTTGAACAACTTCCTGTTATAACATGTTTCAAAAAAAC +TATTGACCTCAATGGGGACTTGAACCCTGGTGTTGAGATTGGTAGTCTGT +TAACCAGTACACCAAAAATTGCAATTTTTGATTTTTGTTTTGTCTATTTT +TTTGAATACAACGATAAGTAAGGATCATTTAGATTTAGAAAAAAAAAATC +AAATTTTGTAAAAATTTTCTAAAAAGTTATGAACATTCCACTTTCACAGA +TTTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGGCGAACAAGG +CCAGATGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAATGCATT +TGTCCGTGTGGAGTCCACGACTTCCCCCGTTGTCCGCCAGACGATTGTAA +ATGGAGCGCGAAAAATTCAATGAGAAAGGCCAGAACCCCGTGCACTTTTT +TGTTTCTAAAACTGAAAATTTTGAATTTTGAAATTTTCCTTGGTTTTACA +GTATACAAAATCTTAGTTAGAGTTCGCAAAAATTATTGACACTGGTGGGG +GCTCGAACCCCTGAGGTGGCATCCCTGTTAGCCACTGCGCCAAAATTGCT +AAAACTTCAAAAAAAAAATTTTAGACCGTTTTTAAGGTTTTTAGACTTCC +GACTCTTCAAAAATTCCTATACAAAGTCTTCGTAAAACTAATGACTGGGG +GGCTCGAACCCCGGTCATCATATCAGTAGTCATCCCTGTTAGCCACTACA +CCACTTGCCCAGACGTGTTTCTGGTCTGTTTTACGGTGCAGCGTGGCCTA +AAAAAAACTAGTCAGCCACCAATTCGAAAAGTCCATAGACCAAGTTAATA +TAGAAATTCTTCAAATTCGAGCCAACCAACTAATATATTCACTAACCTAT +TTTCGCCGTGTTCTTCCTGTGTGTGTGTGTGCCCCTAGTTAGGCCTAGCC +CCCCCCCTTATTTTACTTGCTTCACAATTCAATTGGCCCCCACACAGTTA +CAGTAGTCATAATCATTTTGTGTCGGGTTTTCGACACATCGTTTAAACGT +GTTACCTCTCTCGGGGCCCCCTCTTCTCCTACTTCTTATTTGCTCAAAAT +TTGCGCGTCGAAATTTCTTCGTCGTGCGCTGCCCCTTCCGAATAATCAGA +TTCACCAATGTATAAAATAGGCCACGCCTCACTTTTTCCACACCCATCAT +CTTCCCTCAACTTTCCTCTTCTCAAATGCCTAATCAGCCAGTTATAACGA +GGGTGCTCTTCGTGTGGCGCCCCGCCCATTTTATTGCTCCTCTCACGCTT +CATTCTCACTTTTTCTGGGGATCCTTTTTTTTGCAGACCTAAAAATTTGA +GCTCAGCCATATTTTTTTTGTAAATATAATCAAAAAAAAATAGACATTAG +TCAAAAAAGTTGTTTTAAGCCTAAAAAAATTTTTCAGATAAAAAACGTTT +TTCTTTAACTTTTTTGAACAGTTTTTCAGTGAAATATTTTTAAATTTTTA +TTTTAAAAAAATGTTTGTTTATCTAAGCCTAAGCCTGAGCCTAAGCCTAA +TAACCCTAAATAGCGTCAGTGTGGGAGCTCACGCTCCCCCACTGACGCCA +AGCCTAAGCCTACGCCTAAGCCAAAGCCTAGGCCTAAGCCTGGGCCGAAG +CTGAGACCTAAGCTTAAGCCTAAGCCTAAGACTAAGACTGAGTTCAAGCC +TAAGCCTAAGACTAAGCCTGAGTCTCAGCCTAAGCCTAAGCCTAAGCCTA +AGCCATTTTTAAAAAGCTTAAAAATTTTTGCAATTACTATTTTTTCTGAA +AATCTGTAAAAATATCGAATTTTTAGAGTTGCTATAAAATTTAAAATAAT +ATTCAAAAAATAATCCGAAAAAATTAAATTTTTTTTCTCAAAACGTAGAT +CATACAGAATCAGCTTTAAAAAATTCAAACCATTTTTCGTTTCAAAAATG +TTCAGAAAATTTGTAAAACTTGAGTTTTGAAGAAAGTTTTCATAAACTAG +CTCTTGAATAGGGTTTTTAAGTAGGCGTTAAAACGCTTGCCTGCCTGACC +TTCAGGCGACTTTCGCCTGCCTGCTTGACTTTCAGACGTTCTCTGCCTGC +CTGCCTGACTTTAAGGCGACCTCCGCCTGCCTCTCGCCTCAATCCGAGCC +TTATCTCTTAAAATGTTTTTCATCAAATTGATAAAAATACGGAAATTACA +AAATTTTGTAAGTTCATGCCAAAATGCAGGCATCAGGCCCTGAGGCCACG +CCTGCCTAGGCCTCCGACTTTCGTTCTACAATTGTCGTTGCCGTTTCCTT +TATCCCATTTTCATACCCCAAAGTTATGATTTTTCTTACACCCCTTGCGC +TGCTGCTGCTTCCGCTCCCGTGATCTTATGAATCAGTAGTCAGAACTGCA +GGTGTGAATCTCCACAATGATCACCCAATAAACGCGAAACACCATTAGAA +ACAAAGTGTCCCCCGTTTTTTTTTTCTGAGAGTGTCGGCACCCCCCTAAC +ATATGCGGGGAACATTGTCTCAAGTTTTGTGTGCTCCTCCAGCTCCTCCA +TATGGTTACCGTAGTCCCCTGTCAGTGTTGTGTAATTGTTGTTGTAACTA +TCCCCCGAATACCTCTCCTCACATTCATTCACAACACAGGTGTCAACTCA +ACTCTCAGTGCTCATTTGAAGTTTATGAAGTTTAGCTTCCGGGGATGGCT +CTCCTGGGCTCCCCGCTCCCTCGAAAATTTAATTAATTGCAAGCACATGT +GGTGGTGGTGGGGCGAGCTCCGCGCTTCCCCCCCCGCCCCGATTCTCTCT +CTCTCATTTGCGACTCATTAGATTTTAAATCACTCTCAAACTTTCCACTT +TTCCAACTTTCGCGTTTTTTAAATTTTTTTTTCACTTTTTCCTCACAAAT +TCATCCAAAAAAATTTCCAGAGTTGCCCCGCCCATATATTGGCTAAATGG +TAGAATGGACGTGGCACTTTTGACAATGGATGACAACAACAAACCGCCGA +CAAGTTCAGAGTCTACGGAGAGTAGGGGTGAGTTTGGCCGGGGGACCGAT +AATTTTTAGGCCAAGACTTCTTTTTTTTTAAATCATTTTCAAAGGTACGT +TACCTTCACGTGGTGCCAGGTTGTCCCATTGCTTTTTGATCTACAGAAAA +TGCGGGATTTTTTCCCCAAAAAATGTGACATAAGCAAGTTTTTAAATCTT +TTCTCCCGCATTTTTTTGTAGATCTACGTAGATCATACTCTGACACCACG +TGTACCTTGAACCTCCTGGCTTTCTGAAACTAGAGTTCGTCGCTAGAGCG +CATTTGCATTGTCGTGGTATTTAATTTACAGTACCGCCAGAATCATGTCG +CGCCGCTTGTAGTCTAGTGGTTAACACGCTTCAGCTCTAAACAATAGGTC +CGGGGTTCGATTCCTTGCAAGATGAAATTTCTTTCTCAAGATGGAGGTAC +ATATGTGCTTTAAATGTGCACTAGAGATAGCGAAACTGATACCATGGTCC +GACATGTACAGGGTTCCGCGCGCGCCTAGGGCCTCCAAAACGCCTGCTGC +TCCAGTTTTGCGGCGACCTCCGCCTAACTCGCGGCGCGCCTTCTGTATAG +TCACGGCCTTCTGTCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCG +AACTAGGCCATCTTGGCTCGGTCACATCTGGGCTCGATTTTAGTTGTAAA +ACTAAATGTATTTGTCCGTGTGGAGTGCACGACTTGCCCACGCGTTGACC +GGCGGGCGATTGCCAATGGAGCGCGAAAAATTCAATAAGGAAGGCCAGAA +CCCCGTGTATAGTGCCGCGCGTGGAGCCCGAAAAGTGTCAGCCGCGGCGG +AAGAACCACATTCCATAGGACTAAAAAACTAAAGTTCTCTCTTTCAGAAA +CATCACCACCAATGATGCCAGATTCTGCGGAGATAATGCGACTTCTTACG +GATCCTTCGACGGCTCAGATGTTTGGTAGGTCATAGATCAAATTTTTTCC +GCAATTTCCCGAAAAATTTCAGCCAACGAAAACACAAAATGTCAGCTGGG +ACGGATTCTCGCCGCGTCAGGCTTCGACGAGGCGAGCCTCTCCTCCTCGT +TTCCGTTCGATCCGACGCTCGGCGCGTTCGCCGACATTTCCCAATTCTCA +TCACTCCGAAATTCGTCGAAAACGCTGAAATGTCCAAAGTGTAATTGGCA +CTACAAGTACCAGGAGACCCTTGAAATTCATATGAAGGAGAAGCACAACG +ATGTGGATGTCAAGTGCATGTTTTGTGCCGAGAACCGTCCCCACCCGAAG +CTGGCTCGCGGTGAGACGTACTCGTGCGGTTATAAGCCATATCGATGCGA +TTTGTGTCGGTACAGTACGACGACAAAGGGCAATTTGAGTATTCATATGC +AAAGTGATAAGCATCTTCATGCAGTGCAAGAGCTCCCGAATAGTATAGGT +AGGTGGGGGGGGGAGGCGAAGGGTACTGTAGTTTTCGTGGTGGGACCCAA +GAATTTGAATTTCACAAGAATTTAACTGTTGAACTCGAACTTTTCGATTC +TAGGGTCTCGCCACGCAAAAACACTTACGCCAACTTTTTTGAACCCTAAA +AAATGATACTCAAATTAGAGTTCTCAGTGAGCTAAATTCGATTTTACAGT +ATTTTTTTAATTTGACGTTCTGTGGGTCTTACACTCAAAGGGTACTGTAG +TTTTCGTGGTGGGACCCACTTGTCCAAAAATGGACGTGATTATATTTGGA +TTAAAGCCCCTAACTTTTCTGATTTTTTTAATAAATTGGTTTTATTTTGA +AAAGACTGAGAAAATTGAGTTTAGATCGAAATCAATAAAAATCGCGTCGA +GACCCAAATTTCCCGGGTCTCGGCACGAAAATGGGGGAGAGGGTACTGTA +GTTTTCTGGCTTCTCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTA +GGCCGGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGGCTCA +ATTTTTGTTTTAAAACATGAGGAAGACCAGAATCCCGTGTTTTCGTGGTG +GGACCCAAATGGGTCATGATTATACTTATTTGAAAGGCCTTAAGCTGAAT +TCAGATTTAAGATTTTTATTATTTTAATTCAAAAATATCCTGAATTTTCC +AGAATTCGCAGCCAACTTCGCGTGTGGTGCTCCAGTTAGCCGAAGTAGTC +CAATCGAAGAGTCCGACGGATCCCTGGTCTGCTTGATCTGCGGTATCTTC +GCCACCGAATCTATCGCCGAAATGATGGAACACGTGGAACAAGACCGTTC +CAGGACGTTCCAAGGAGACGTTACCGTCCTAAACGGGAGCTTCCGGTGCC +ACTTGTGCCCGTATAATACCACATTGAAAGCCAATTTTCAACTACACACA +AGGACGGATAAGCATCTGCAAAAGGTTCAAATTGTGAGTTTTGTATTCCC +CTCTCATCATCTTCTTATTTTTATTGTGTCGCCCTTTTCCCATTTTTGTG +TGTCTGTGTGTGTATGCGCACCGATTTGCATATACACATAAATTCATGAT +TTAATAGCGTAATGAGTAATATTTGCTTTGCCAAGGCTAACAGTTTTCGT +ATTTTAAAGCCTTTTTTCTACAATTTTTGAAAAAAAAATTCAAAAATTTG +AACATTTCAATATATCCCTAGAAAGCTCAAAATTGTAGTGAAAATTTTGA +ATTCAGTACGCTGAGACCTTTAAAATAAGTATAATCATTACTAGGTTTTG +GTTCTGACGCGAAAGTGTTCGTGGCGGAGCCCAAGCAAGGCGTAATTGAT +TATAGGGTCTTTGCACGCAAAAAATTTAAGGTCCGGTAGGCGTGGCGGGG +AGTTTTTCTTGAATTATTTTAGTTTTTCATAAATTTTCAATTTTTTGGAA +TTTATTTTTCTCTCCCTTCCCCCGCGTAGTCTGAGCCTAAACCTAAGCCT +GAGTCTAGGCCTAAGCCGAAGCCTAGGCCTAAGCCTGAACTTAAGTTTAA +GCCAAAGCCTGAGCCTAAGCCTAAGCCTAACCCTAAGCCTCAGCCTCAGC +CTAAGCCTAAGCCTAAGCATAAGGCTAAGCCTAAGCCTAAGCCTGAGCCT +AAGCTTTAGTCTAAGCGTAAGCCTAGGCCTAACCCTAACCCTAAGCTTAA +GCCTAAGCCTAACCCTAAGCCTAACCCTAAGCCTGAGCCTAAGCCTAAGC +CTAAGCCTAAAGTCTTCGTGTCGAGACCCAATTATACTCAATTGAAAGCT +CACAATGAGCTGAATTCAAATTTCTCAATGAAAATGTGAAATACTTTGAT +TTTACGGTCGGTGGCTTTACTCCCCCCGAACTTTGGAAAAAACTCTGAAA +TTTTTTTTTCATTGAATTCCAACCGGTTTCTACTCTCTCCGGCTATTAGT +GTATGTGTCTTTCACTTCTTTGTTCTCGTCGGGTTGTTCCCAATTTCCAA +CCCTCGTTTTACTCATTCCCCCTCTCATTTTCCCAATCCAATTAGTTATA +CCTATGGGGGGAGGTGACGGTGATGATTCTCGCCATTAAGACCCCCCCCC +TCTCCTGGGCCGATTGAGATGGAAACAAAACAAAACTGTCAATTTGAATA +AATTCGCAATTTGACGCGGGCGGCGCAGCGGGTTGCCGAGAAGGATATAA +ACTGGGGAACTCTACTTAGCCCGTAAGGTGTCGGCTGCTACTATTTTATC +ACATCTCAATTTTTACGGAATCCCGTAAGGCGTCGGCTGCTTCTCTGTTT +TTGCATGTTTTTACAATTTCGGCCCGTCCGATGTCGGCTCCTTCCAATTG +TTTTGCAAAACAATTTAAAATTTGAGCCAGCAAGGTGTCTGCTGCTCCGG +CTAGATTTCCAATATTTAAATTTTGCACAATCCTGTAAGATGTCGGGTGC +TTCTCAGTTTTTACAAAGTTTTTTCTCAAATACGGCCCGCGCAGTGTCGG +CTGCCACCTCGTATGTTTCATCAAACTTGAACGATTCGAGCCCGTTAGCT +GCCCGCTGCGTCTTTTTTTTTCTCAAAATTCCAGCCCGTAACTTTTCGGT +TGCTGAAATAAACAAAATTTTTACGAAATTTTAACCCTTGAAGTGTCGGC +TGCAAATTAAGATACCTACTCATTCAGATTCCCGTCTCTCCCTCTCCCTC +TCTCTTCATTGGGGAGTCCTTCTCCCGAGAGAAAATGAATAAAACTGTCA +ATTTGAATAAATGCACACAGCGGGAGATGTTTTTCTGTGAAGACTCCACC +GTCTTCTTCGTCTTCTGCCTATTAAGCGATGATCCTTTCACTTAACTGTC +GTTCCCTCCCCCTCTCCACATACCAATAAACCTTGCCAAAAGGTCGAGTA +TGCTTTGCCCGCCATCGTGCCGGAGGTCTTTTTTCTAGACTATGATGTTT +TTTTTTGGAAAAACATTTTTCTATGGATCGATGCACCATGATGCCGAGTT +GCCGAGTTTTCAATTTAATCAATTTTGAGATTTCAATTTTAGTCCCTTGT +ACATATTAATTTTTTTGGAATTAACATTAAAATTTGATAAACTGTAGCTA +CAACTATTTATTTTTGTGCCAAATTATACTATCCAATTTGACTTGTCTCT +TGATGCACCATGACTAACTTTCTAAGATCTCATATTTTGGCCTAAAATTA +TTCTCAAATATTTAAATTTAAACTTTAATCCTATTTTTTTTAATTCCTCG +GAAAAAACCCCGTTAACAGAATTCCCAATTTGGCCTCCAGGAGCTTTTGT +CGATGCACCATGTTCAACATTTTTTCAAAATTTTGCTCATTTTGACCTGA +AATTTTGTCATTTTTTTATGTTGCAGGGTTTTTTATTTTGTGATTTTTGC +GATGAAAACCACATTATGTGGATGAAAAAAGTTTGGAATCTAGTTTTCCC +GTTAGGCTGCCATATTGCTATGTAGTTGATGCACCATGTCCAGCTTTCTG +AAATTTTACTTTTTACATTTTTTGCTCAGTTTGACTTTAAAATTTTGTTA +GTTTGACCTTAAAATTTTGTCAGTTTGACATTAAAAATTTGTCAGTTTGA +CCTTAAAATTTTGTCAGACATATAATTTTTTTGTGTTTTTTGGTTAAAAA +ATTGAAGGTTTTTCGCGATATTTAACACATTACATGGAAAAATTCTTTTG +ATCGAGTTTTCTAATTTGTTCGTGTAGCAAGTCGATGCACCATGTCCAAT +TTTTTAAAATTTTACTTTTTTTAAATTATTTGCCCAGTTTGACCTTAAAA +TTTTGTCAATTTTACCTTAAAATTTTGTCAGTTTTACCTTAAAATTTTGT +CAGTTTGACCTTAAAATTTTGTCGGTTTTACCTTAAAATTTAATCAGACA +TATAAACTTTTCTGTTTTTTGGGTTTAAAAATTGATTTTTTTTGCGTTAT +TTAACACATTAAATGGCAAAAAATCATGCACCATGTCTAACTTTTTCCAA +AAACACTTGATTTTTCCCTAAAAGTTTGTCAGAATTATACATTCCTTAAG +TTCAAAACCGTACGGAAAAATTAGAACCCATGTCGATGCACCATAAGCTT +TGGCTCGCTGAGCTTCGTTGCTGCTCCTGCATATCTCTTACCCCCTCTCG +CCGCTCTCAGAACATTGACCAATTACTTGGGCGGAGCGCCGTTTTGAAGT +CGATTGGCTGATGAGTGTCCCGCCCCGCCCCCCGTCCCGCAAATTTTCGG +AGGAACTTTGCACTGCACACACACACACACAAATACACAAATACACGCCA +ATTATTGTCGATTTTTCTTGAAAATTTCTTCATTATTGTATATTGACTTT +TTTTGTCGTCCTCTAGTCTTCCGCCATCCTCGGCGTCTTCATTCGTTTCA +TTATTTCATACACCTGTTACCACTTAATTCGCCTATTATCCTCCTCATTA +CCTTCATTTTTCGGTCGGCGTTGACGTCGACATTGGCGCCCGAAATGAGA +GGAATAGGGGGGGGGGGGGGGGGGTATAGACGACGGCGACTACGACAACC +ATGATGACGATCATTTTCGTTCTATTCATCTAATCCTGCTAACCGTCGAT +TTGTCCCCCTCCGTTTTTCAACTTACCAAAACTTTTCGGTTACCTTGGGA +ATTGGTCCCCTTTTATAGGCGCGTAAATTGACAACATATTTTGCTCACTT +TTTCGAAGTTTCACAATTTTTAGTTAGTCCGTTTTTTCAATCTGGCCGAG +TTTTCAATTTTCCCCGGCCAGGGAATTCTAGTAGTATTCACATAATTTTT +CTTATTTTTGGTTTTCTAGGCTACGATAAAACTCCCTATGCCCGGCAAAA +CTTCTAGGTCCCCCATTTTACACCTGACTTCCTACCTATCTGAAATGCCT +ACTTGCCTTTCCACCTGACTAAGATGCCTACCTACCTAAAACCTACCTAC +CGAACTATAAGATGACTCCTTACCTACATAAGACTTGCCGATCTGAAATA +CCTACCTACTAAGACATGCTACCTAGCCTACCTATCTAAGATACCTACTT +ACATATAATGTACCGACACAAGACTTGCCTACCTACGCAAGGCATGATTT +TTTAGACCTACCTACCTGTACTTAAGATTTAAGACCTAGATCTTATTACA +TAAGAATTTTCATCTTAGATACCTACTCAAGATCCTACCAAAGATGCATG +CCTACCTATGACCTACTTACTTAAGATACCTGCCTACCCAAACCATACTA +CCTAGCGCTAGCGCCCACCTACCTAAGATACCTACTTACCTATAATTTAC +CTACACAAGACTTGCCTACCTACGCAAGGCATGATTTCTTATTGTTAGAC +CTACCTACCTAACTATAAGTACTTAAGATTTAAGACCTAGACGTTATTGC +ATAAGACTTTTTGTCTTAGATACCTACTCAAGATCCTCTTACCCAAGATA +TACCTAGATGAACTTCCGACCTAAGATGCCTACCTACCTAAGCCCTGTCT +ACCTAAGACCTACCTATAAGAACTTCCTACCTAAAAACACCTACCTAAAA +TAAGCCTTCAAGCTCAAAAATTTTTAGAGCATCTGCATGAGATAAGGCTG +AAAAATATTAACGAATAAGTGGAGAGCGATTAAGTTCCTGCCCTCTTAAA +GTTCGGAAGTAGGCGCCGCAAAACCCCATTACTATTGCTCATCGAGCCAT +TTCCGGTACTCAGTACTTTTTCATCCCCCACTCACTTTTTTCTCTCTTCT +CGATTTGATTTGCATTCTTTTTCCCCTCGAATTTCGAGCTGAGCCCGGTT +GATTTCCCGCACTTTCTCAATTCTTTCCTTAAGCCACCCCACTTGACCAG +GAGCAGTTCATTCAAACTCGCACTTAATCATATTATGACCCCCCCCCCCC +ACCCCTCTTAATTTCCTAATCCCCCTCCCCCTCCTCCTCATAATGACCAA +AAGACAATTGCAGGCGAACCATCTTCGTGAGGGAACCCGTCCGCACACGG +CAATCTACCGTCTGTCGAGCACAAAGACGAGCGTTCAAGTGTTGTGTCGA +CAGTGTCAGGAGGTGATTTCCAGTGGCGAATCGCTCCGCGAGCATCGACA +CTTTCACGCCCTGCTTGCCGCCAAGCAACGCTTGTGGCGATGCAAGTTGT +GTAGGCTGGAGTTCGACTCGGTTCTTCTTGCAGCTGGTGAGTCTTGATAG +TTTTTTTTAGGAAGAAATTATATCTGTAAGTCCCCCAAATATAAGGCCCC +CATGTCCATCTTAATGAAGCTTCTGACTTAATTTTTACTATAGATTTTGA +ATTTTGTCTATCGGAAGAAAAATTAGGTTCACCATGATTTTTCGATTTTT +TCGATGCACCATGATTTGTTGCTAGAATAGAAAACAATTCGTGGCCAAGT +TTTTTAATTATTTCTTTTTGTCGGCCAAGTTGCAAAAGTCACCTTTTGTG +TATGGATGCACCATGACCCTTTTCAGTGGATTTTGGCCCAAAAATCGTCA +AAATTTTGAATTTTTAAAAATCAAACTCTAAATTACCTTTTTTTTTCAAA +TTTTCTTAACAAATTGGAGCATTTTAGAAAGTTCCGATGCACCATGATTT +TTGCTAGAATTGAAAAAAAAATTGTCGGGCAAGTTGCAAAACTCACATTT +TATGTATCGATGCACCATGACCATTTTCGAAATTTTGCGGTATCTATTCA +AATAGTGCACATAGCCGTAAAACATTGGTGGTGGCCTCGTTTTCTCATGC +TTCGGCCACGAAAAAAAAAATTCTACAGTTTTTTGGATCGATGCACCATG +ATTATTTTTCAGTGAAAGCCTGTTTTTGCTTAGCTCAAAGGCCGGCTTAA +TGTTCCCACAAAACGTAATCCAAAAATTTAAATTTTACCGTCAAACTTTT +AGCCTGGCGTACACTAAAAATTGTAAAGTTTCAATATATCAAAAATATTT +CTGGCCTATAAAATTAAACCTGAAAGCTTAGAAATCCAAGATATTTTTTA +AAAATTGATGTCCAATACATGGGTGTGCAGCAAATCTTAAAGTTTGCCGT +GCTTAACAAACTCCGAAAAAGTGTGATATTTTTTTATGCTTTTTGGAGCA +CCAAAACTACTGAATTCGAGCTTAGCAAACGGCAAATTCGGCATATTTGC +CGCACACCCCTGGTCCACTAGTTAAGCAAAACCCACCGCTGAAAACTAAT +CAATTGGTGTTTGAAACGGTGTGTGCTACTACTAGAATTTCGCTGTTCAA +AATCTCTTTATTAAACACTTCTTTGTGTCTATTCTGCCCTTTCCTCCTCC +CCGCGCAAAATCCACTTGTACCTCTAATTACGGTCAACAAGTTTGCGGGT +TTAGTTTAGTGAATGAATTGTGAAATGAATGAATGAATGAATGGATAGGT +AGGTGTGTATGTATGTGGAAAAGTGCGACACACACAACCAGCCGTCCACC +ACCGCCACTACCACCAGCAGTAGCAACAGCCATCAAATATAATCCTTGCA +TTTCATTATTTCATAGTGTCATAGATAGTAGCAGGCCCGAGGTCCGAAAG +GCCTTGACAGCGGTTTATATTCATTTCATTTGACACCCCCCCCCCCCCCC +CCCCCTCCTACTATTCTTCTTCTCTACCACATACATTCACATAGTCAGGC +CATTCATGTTTTTCACACAATTTTGTTAATAAAGCCGCTCTGGCGCCACC +TCTCAGTAGTCCTTCTTCTTCATCATCATCACTCCCTCTCCCTTACCAAT +AACCAAAAACAGTCATTGATGCGTATCGGAATTATAATCGCGCATTTATT +GTAGGACACATGACTTGCCACGAGCCGTCCACTTGGCCCAACGAATCACT +TGGTGAGTCTCTTTACAGTGAATCTTGAAATTTGTGTTGTTTTGTTGTGA +AATATTGTTAATCGTTTTTTTATTAGTATCTCCAATTAGGCCAAAACTAT +AATCGTGAAAGAATAGTTTCTGCACATGGTGCATCGACCTGATATATCTC +ACTTTTTTTGGGCTTCATCAAAAACTTGTTAGCTAATTATAGTTAAGCAT +CACATCTATTGATATGTTCAATTTGAACAGAATATGGTGCATTGCATTGT +ATTGCAACTGAAACAATTTTATTGGCGCATAACATTCAACTATGTAGTTT +ATGTACATCGATCTTAATTACCGTATTTCCTCTATTAGTATTGCACCCGA +CTAATTAACTTTGAAACGTTATATCTCGGTTCATATTGAAGATATCAATA +TATAATTAACTATGAAATAATAGCAAAAGAACTAACAAATATTTTGTTAG +TTGACCATTTTTGAATAGGACAAACGATTACGGAGATATAAGCTGTCAAA +AGTGGACAATGGGGTGCAATACTAATTGTGTAAATACCTTATATCTCGGT +TAGCTTTGGTTTTAACAAAAATTTTAAACTGACAAAATATAAGTCATCTA +AATGTCTATAGTTTTGTAGTTAACAATTTTTTGATATCTTTAAAATGAAC +TAGCGATTTTCGACATGGTGCATCAACCTCAGTTACCTAGTCTAACTTTG +CTGGCTTATTTCTTAGTTTTAGTATTAACCGTTCATTTTAATATACTTTT +ATAGATAGTTAACAATTTTTTGATACCTTCAAACTGAACCGGAGCGATTT +TAGACATGGAGCTTTGATCCTATCTTGCCTTAATTTTCAAGCTTATCTTT +TTGTTGTAAAAAAAATTTAGACATGGTGCATTGACCTGAACTACCTGATA +TATCCTACTTGATATATCTTCAATTTTAGCAAGTTTTGGAAAAAAAAAAT +TTTAATGAAATCGATTTTTTTTTTCAATTTTCAACCTTCCGGCCAAAATT +TTCAATTGAGTTTTGACCTTTTTTTTTAACCCGGCAAAAATCTAAAAACT +CCCAAGAACAATCTCCCACAAAAAACTAAAAACTTGTGAATCTAGATTAG +TCAAAAATTTGCACCTTCTTCCCATGGGATGGCTCAATCGAACCCAGTTG +ATGAATCGGCCTGTGGGCCGCGAGCAGTCGCCGCTCTAATTTGGAGCATT +TGTATATATATAGCGAAGAATTTCACGTGACCAATGAAACCAATAGAAAT +CCAATCATATTTTTGTTTTGTCTCTAAATCATCTCTTCCCTCTCTCTCTC +TTGCCCCTCCTTAACCAATCAGAGACGCACACACCGCACCGCCCGTCCGT +CATCGTCATCGAGTTCCGCAATTAGTCGTCTATTCTCTCCGTTTTTGATT +GGAGATGGAGCGAAAATGAAAGAGAAAGAACGAGAGAGAGAGAGAGAGAT +TAGCTCTTAGATTCATTCAACTAATCTTGAAATAACACACACACACACAT +ACACAAATGAATTATCTTCATTTCAAATCATGGAAATCAGCAAATTCGCT +AGAAATTTCATGGAAGGGGAAGCTTGAATTAGGAGCACTACTTGATACCG +AGTTGGAATTGTAGTCTTTTAATATTTGAAGAAATATCACAATTTTTCAT +TTTAAACTTCTAAAAATATGCAAGTTACTTGATGCATCATGCCTCTTTAG +ATAACGTTTTTTTTAGGCTTAGGCTTAGGTTTAGGCTTAGACTTAAGCTT +AGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAGACTTAGGCTTAAGCTTAT +TCTTGAGCTTAGGCTTAAGCTTAGGCTTAAGCTTAGGCTTCGGCTTGGGC +TTAGGCTTAGGCTTAGGCTTAGGCTTAAGCTTAGGATTAGGCTTAGGCTT +AGGCTTAGACTTCTAGATACTTTCTCAAACCACCAAATTACTGTATATTC +TCTATCATAGATACTACTTCCATTTGGCAGCTTATAACTCAAGTCTTTTG +TTAGAGATATCACTAGCTTTAATTACAACATTATAGGTTAATAAATACAC +CATATTTTGTTAGTTTAAATTTTTTGATTAACCTAACGAGAACCGAAATA +TGAGTAGTCAAAGATTATCGATGCACCATGGTACTACACTTTACTTTGCC +GGCTCATAACTCGGTTTATTTTCAGGATATCAAAAAGGTTTTTACTACAA +ACCTATAGAGAAACATATAATAAAAATATTACTATTTTGCAAAATTTTGG +TAAAACTAATAAGAATTGAGATATAGGCCGTTGAAGTTGCATGATGCAGT +TCAAAGCCTACGGTTTTAGACTTATAGCTTTAAAAGGAGGTACCGTATTT +CCTCTATTAGTATTGCACCCATTGTTCAACTGTGACATCTTATATCTCAG +TTACTGTTTGTTCTAATCAGAAATTGTCAACTAACAAAATATTTCTTAGT +TCTTTTTCTATCATTTCTTAGTTGACCATATATTGATACCTTTAAAATAA +ACCGAGATAAAACGTTTCAAAGTTAAGTAGTCGGGTACAATACTGATGGA +CGAAATACGGTATTGAATATTTTGATCTACGTAACTATTTGATCTAAAAT +CTCGATATCATTTTAATTTCTGATCCATAGCTTTGCGTTCAATTATCCTG +CCTAAAAAATCTCTAAAAATAACGTCTACGAGAGCGGGTGAAACAATAGG +TGGTTAGATGTAAGTTGATACCCCTGAAGGGCATCCGGGATCCCCGCGCA +AAAACAGTACAAACATGAGATGTACAATCCCCCATTTTTTTGTGGTCGCT +CTAAGTTGAAATCGATGCAAAGACATTGTCAATATAGCCGTGACGCGACG +GGCGGGTGGGCTGGCGCGCTCGATGAATCAAGATCGTTTTGGGAAGAGAG +GGACTGAAAATATTAAAACAACATTTGCATTTTGTAATTGTTTGAATCAT +CATCATCATCATCATCATCAATCATATCATAGAGGTGGCGAAACTTTTCC +TGCTGGGAATGTGTCTCCTTTTTAGTACAGTCAATAAATGTGTCACTTTT +GAACGGGGGAAAAGCTTTTCTGCTTTTCTTCGCTCTCCACCTCCTTCCCT +CCTCGCTCATAAATTTCCATTTTTCTCTTTACAAACATTGATTGATTTCC +TTATTCTATTGACTTTCTGATATTAAATTGATCATCTACTAAAAGGTATA +TATATATATAAGGTATATCAACTCTTGGAGCCCATATCTTTAATGCTCAT +CAAACTCCCAGTTAGGACTGGGAGTGAAGTACTGGGTGGTGGGATAAGAA +AGTTAGGATGTGACGGGTTTCATGCTCATCTCGAGCTGCCAATCTTGCAC +ATTAAGCAATTGGCTCATTGGCATGCTCTTGTCCTCTGGGCCTGCCGCGG +AGCCATCTCCCGTTTGATATCTGCTCCCGGGGGACGTTCCCAACTTGGCC +GGAGAGAGGCGCCGCGAGCAGCACAAGCTCAACCAAAACTTTTCTAATGT +AATGGGCCGGAATTAGGGGAAGAACAAACGAAGGAGAGGGTGGGGTGGAT +GAGGAAGAGAAAAGAGCACCACCACCAACTGATTTGATGGTTGGAGAGGA +GCTCGTTTTGTTTTCTTGTCGTCGTAAGAAGAAGAAGAGAAGCGCGCTAG +TTAGTGGTTAAACGAATCAAGACCCGAATGTGATAGATGTGCCGCCAATT +TAGCCAGTAGGATTTTTGCTGATTTTGCACACATTCATTTTTCGCTTGCC +TAGACATTACATCCCATCTTATTCCGCTTCATTCATTGTCGTGATTTTAA +GATTTGGGGGACCTAGGAGCCTCTACAGTATTATTTAAATTTCACTTTTG +TTTGGATTTTGAAAAGAGATGCGTCATACATATTCATTTTAAGGCACCTA +TGTATACAGTTCAAAATTTTGGAACATTCCTGGAATAGCGATCTTAAAGC +GGGAAATATAATGACATTATCTGACAATTTTTTCGAACACCTAAAAAACT +TGAATAAAGCCAATTGAATCGTATCCCTAATGGTTTGCAAAGTTGGGCCA +TGCTCTGAATAGCTTAGAGTTCCATCCTGACCTGGAGCTCGCCAGAAGCT +GAACGCACTGAACTTCCAGTCAAGCCTCTTTTGAATAAGTCTAGTTGCAG +ACTAGAAGCCTTAACTACCTGATGAGATTTTCACCCTTCTCTCATTAGTC +TATTTCATTAAGCATGAACTTACACGAGAATTCCAATTACATTACCATGT +AACATTACTTAAGATCCCATTTCCACTTAATTTGTGAAAATCGATACGGT +TTTATAAGAAGTGTTTTGTCCTTTTGCCTATAGCCTAGAGCAAAAATACC +CAAATTATTTGGCAGATCATGTCTCCGACAATATTCTGATCGATTAAGAA +ACTTTTGCAAATCTGCTCGGTTTTTTAGTCTACATTCGCCCCCAGATAAC +TGTTCTCGGCAAGTTGCCGATTTGCCGATTTGCCGGAAATTTTTCTTTTC +GCCAACTTACTGATTTGCCGGAAATGTTTAAGGGATTTTTTTGAAGACGG +AAAATTTTTTCATTAGATATGTTCATAGAATTAGCTTGCATTACAAAATA +GGTGTATGAACATATTCAAAGGATGCGTACAATTTTGCCGATTGAAATTG +AAATTCTGAAATTTCCAAAAATAAATGTGCAAAACCACAATTTGCCGTTT +TCCGGCCAATTCGGCAAATCGGCAATTTTCTGGGTTGCAAATTTGCCGGA +AATTTTCAATTCCCTTTATTTGCCGGGTTGCAAATTTGCCAGAAATTTTC +AATTCCGCAAATTTGCCGTTTTTCCGGCCAATTCGGAAAATCGGCAATTT +TCCGGGTTGCAAATTTGCCGGAAATTTTCAATTCCCTTTATTTGCCGGGT +TGCAAATTTGCCAGAAATTTTCAATTCCGGCAATTTGTCAGTTTGCCATA +AATTTTCAATTCCGGCAATTTGTCGATTTACCGGAAAAAATCGTTTGCAC +CCACCCTTGATGTGAACGCTAGCACTACCTCCTAGTATTAAGGCTCCAGC +TAATTTCTATATCATGGCTCCCAACTATACGTTCCTCCCTCCTCCCCCTT +CCCAATTTCGAATGGGCGCCAATTATTGCTCAATTCCCATCAGATTGGGG +GGGGGGGGGGGGGGGGCATTCGTACAGTGTCAACACGAATAATAATTATG +AGCCCTCTTCTATGCCCAAAGCGCGGCGTCTTCTTCTTCACCCCTCTAGG +AAGTTCTCATAATTAGCATTTTGTAAGACTCGGTGTCCCCCTTTCAAGTA +TCTCTGGATGATTCCCCCCTCTCGCACACACTCTTCCCATTTTTTTTTCA +CAATAATCATAATCATCAAGTTGGACACCAAAAAAGCCATAAATTCGATT +CCGGTCGAATCGAGAGAATTGGAAGAGAGAGAGAGAGAGAGAGAGAAAGA +GGAAATGAGACAGAGGGGTGAGAGATGGAAAACGAACAAGTGTGATGGTC +GTCCCCCCCCCCCCCCCCCACGGGGCCGCTCCTCATTCCTATATTTATTT +ACAGCTCTCTCTCTCTTTTTCTCTTCAATTTCCATCTCTCTCTCCTCATC +TACAGTAATCGGGGAGGGGCTAGTGATAAGCCTCTCCCCGCCCCCCCCCC +CCCGGCGGTTAGGTGTCAGAAATTAATCATAGAGGCCACGCCTCTAATGT +TTTCGGAGCATCATCCTTAATTCTTTAATTCATTAACCTTAATTCATTAG +TCTTACACTGAATTTCATAACTAAACTTGTTGAAAAAACTTCTCAAAAAA +AAAAGTTTTGGCGGCTTAAGAAATGGCCTAAAATTAGTTCGACTTTTCAA +GCGGCTGGAAACTAACTTTTTTTGAAATCCCCCCTAATTATGGGTCTACA +ACGTAAATAAAAAAATTTGGTGACCAAATTTATTTAGGCCAAATCTGGTG +TTCAAATTTTTTAGGCCAAATCTGGTGACTAAATTTTTTAGGGCCCAATA +TGGTGAAAAAATTTTTTAAGGCCAAATCTGGTAACCACAATTTTTTAAGG +CCAAACTTTTTAAAGACCAAATTTTTAGAGCCAAATCTGGTGACCAAATG +TTTTTAGGGCCGAATCTAATGACCAAATTTTTTTAAGGCCAGACCTTTTA +AAGCCCTAATTTTTTAGGGCCAAATCTGGTGACCAAATTTTTTAGGCCAA +GTCTTGTGATCAATTTTTTAGGCCAAATCTGATGACCAAATTTTTTAGGC +CAAATCTAATGACCAAATTTATTTAGGGGCCAAATCTGGTGACCAAATGT +TTTTAGGGCCAAATCTGGTGACCAAAATTTTTTAAGGCCAAATCTAGTTA +CCAAATTTTTTAAGGCCAAATCTGGACACCGAATTTTTTAGGCCAAGTCT +TGTGATCAAATTTTTTTAAAAATTTTTTTCAAATCTGGTGACCAATGTTT +TTTTAGGGCCAAATTTGGTGGCAAAATTTTTAAGGCCAAACTTTTAGGAC +AAATCTGGTGACCAAATTTTTAAGGCCAGAATCCACAACTTTTTTTTGAG +AAATTTTGAAGAAGTTTCTAATTCACCTAATTCATTACTCTTTTTGAATT +TAATCTTCGATATTCCAGATTTCAAAACGATGGAGGATGCGGCGTACGCG +TGTGCTGGCTGCGAATTCACCACAAGTGAGTTTTTTTTGTTGTTTCCTTA +TCAGCATCAGCTCTATGCCTTCTCCCCACCCCACCCCGCTCCTCCTGTAA +CCTTCAATTGCCATTCATTTCACACAGTAATAGTACCACACAACACCCTT +CCATGCCTTCAATTTGACTCATTAATAGCCCTTTTCACCATGTCTTTTTT +CCCCCTCTTTCTCTCTAATACTCAACCTTTACCTACCTACCCGCAATTTA +ATTGGCAACTAATTCGGATACATTCGGACGGCTCAAACGATGCGCGTCCG +TCGTCGGGTGCCCGAGACTGGGACCGGTTTTCAGAATGTCAGTGTATGTG +TGTGTGTGTCTACCGGCTGGCAGGCAGCCACACCACTGCGATTCGTTAAT +TTATTGTGAGATGATGACTGTACATTATTTTGAGTGCTGCTGGTGCTGGT +GGTGTGCATCATATAATTATAGCCTAGTTGATAGAGATATATCGACACAC +ACACACATACACATTTACTTTCAATTGCTTCTACCCAATCTTTTTTCTTC +CATTCTCCAATTCCTCTCCTTGCTCCCATTTCGCCCTTTGATATTCACCG +CGTTTCGCGTTTCGCACTAATTTCGCGCCCGGACCGGTGTGCTCGGCGCG +GCACGTCTTTCATCTTTTTGCCTCAATTTCATTATGATAATAATAATCAT +AATAATTATGCGAGACACGGCAAAGACGCGCTCAAGAAACTGATAAGTGT +GTATAGGTCGGGTCCTTTTGAGAGAGAGAGAGAGCGAGGTGTGATAAGCG +CGTCTAATGAGCATGGGCAATCATAACATTCCTATCAGCATATCAGCATT +AAAACATTTTTTTCAGAAGACGTGTCGGACTTTGAAGAGCACGCAAAAGG +ACACGAAGAGGAGGCGGGAGCCTCTTCACAGAAGGCGTGTGCGCTGTGCC +TTGAGCCCACCGACGACCTCGAAAAGCACCTTGTCGAGCAGCATCGCATC +GCCGAGAGCGCCATCGAAAAGTTCCTGCTTACTGAGAGAACAGCCAAGTG +AGTGTTTTTTTTTGTCTTCAACTCAAATATCTAGTAGTAAGTCTTATACT +TGGCTTATATTTCAGCGGTTTCAAAATATTTTTGATAGCTTTAAAAACCA +TAGAATAACAATTAATTTGACAACAATTTTGTCGTTTGAATTTTTTGACA +AAAATTTTGTCGTTTGAATTTTTAAAATATGATCAAAGACAACCGAGATA +TAAACGGTCAAAGTCCAGTGAGAGGGGCCATACTAATAGGGATTATACGG +TAGGTAACGAAATTTTGATAAGACTTATAAGGACAAAGATAATGGAGCTA +GAAAGTTTAAACTAGTCCAATTTGAACAATAAAAATATATATAACGTACT +TTTTAGTATAAATATTTTAAAAGTAGAGTAATCTGAGATACAGTAAATTT +TTAACAATTTCTAGTCGATGCACCATGTGCAAAAACTAGTCCAGTCCTAA +AATTAAATAGCACGTACTTTTTAGTATAGATATTTCAAAAGTTAAGCCAT +CTGATATACAGTGAATTTTACCAATTCCTAGTCGATGCACCATGTGCCCA +CTTAACTTTCACGGCTCACTTCCCGGCTAATTTCAAACATTTCAAAATAT +TTTCAACTATTCAACTATAGAGGGGTTTTTAATAAACATTTTCTCAGTTG +ACGACTTTTTTATAGAATCAAAGACTACCTAGATATAGCTAGTTAAAGTC +GAGATGCAAGATTTTTCGGAAAAATCACGTGGTGTTTTCGGTTTGATCTA +CGTAGATCAACGAAAAATGCGGGAGAAGAGACGCAGAGTTATCAACTGAT +TTCGTATGGTTAAGAACGTGCTGACGATGTCACATATTTTTGAACAAAAA +ATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGGCAGCCTCGCACCAC +GTGAAAAATTAGTTTTTGAGGCTTTTCTAGTCTAGAACTAAAGTTTTTTT +TTTGATTGGCCTTGTTTTTTCTAGTCTTAAACACCAGGTAGATCAAAACA +AATTTTTTTTCAGAGTTTCGATTTTTATGAATTTAAAACTTTCAAATTGT +CGCACTTCCTGTCCCTTTCAACCCCAAAAACGTTACGATTTTGTGCTATC +ATAATCATTAAACCATGCTTGCTTGTGTCAAGTTGCACAGGGTGCGCCGG +GGGGGGAATTGGCATTACTGTAAATTTCCTGCGTCTCCATCCTTGCCCCC +AGTGTCCCCATCGGCAATTAGAGAGTACGATCCGATTTTGCATATTTTAT +TCACGTCGCCTCTTGTTTACTCGCTCTAAATTTCAATCCGTCGCCAACCC +CCCCCCCCTGCCTGCCTCTTCCATTCATCATGAGTATTAGTGTATTGATT +AATTTTCGAATTCACGAATGAATTCATTGCTGGCGCCCTGCTACTAGTAA +TCAGTGAGGTCATAGCGTTGTCCTTTCGATAGGGCTAATTAAATGTTTCT +CTAGGAGCGGGAGGATAGATTTGAAATCAGGTGGGCGTCGGTTTGATCTA +CGTAGATCTACGAAAATCGCGGGAATTTAGACGCAGACTTCTCAACTGAT +TTTGCATGGTTAAAAACGTGCTGACGTCATATTTTTAGGGGAAAATATCC +CGCACTTTTTGTAGATCAAACCGTAATGGGACAGCCTGACACCATGTGCT +CAGTTACAATTGGAGGGTTTTGTCGGAAAAAAATCAATTTTTTAAACTGA +CAACACATTTTGCTCATTCTCCAAAACTGAGCCAAATGTGTTGTCAAACT +TTTCTTGAAATTTTTTTGAATCGAAATTATGTTGAGGTGAATTTTCAAAT +TTCAAAAAATGCCCCATTTCTATCAATTTGTCTTCACCTATGTTTTCGAA +TAAGGGCGAGGCGAGAGGCAGGCGGAGGTCGCCTTAAGATCATAAGATAG +CCTTATGTGATGACGAAAAATGCCAAAAAATGTATTTTTATATAGTTTCC +CCGTGTGTAGAAAAATGTAAAAAGAGCATGCATTTTGTGCATTTTTTGAC +ATTTTTCTGCATTTTTTTTTGACATTTTTTTTTCATTTTTCCACACAGAT +GAATAGCGGAAAAACGGAAAAAAATACATTTTTGCATTTTTCATGATCAC +ATGATCAACCCCATAAGGTTTTTTAAGGCATAATATTGATATTTTTTATT +AGTCTACTTTGCATAATGCCTACTATTGAAGGCAAATCAAATCGACATCA +CTTTTTGCTCATTTTCAAAACTGAGAGGCACGGCTTCTATGTTGACTACT +AAACCAGTAATAACACTTATAAAATGTTTGGAAAACACTCATACACATTG +CCACGTCATTTGGATGGAAGGGACCCCATTTGTTGAATCATAATTGATTG +TTAAACTATCATCACTCTCCCCCCGCCCTCCTCATTGGACCCCACGGCTC +CAAACTGTCTCCAATTTGCTCCCCGTCCTCTTCTTATCACCTTGACGCGT +AATTGAATTTTTGCGGATTTCTTCCTCCCCACCGCTTCCTTTGCTCCTTG +GGGGAAAAGTATGGAGAGTGTTTATGTGTGTGATTGAATTGAAGAAGGTG +GCTGACTCATTCTTTCATTTTCCTCGCTTTCTTTGAAAGAACAACTTGAC +AGTTTCCCCCCCCCCCCCCCATCTTATAATAATAATTACTTGCAGAGAAG +CGTCGTGTTCATCGTCGTCGGAGCCGAGCTCAGAATTCGCGCATCGCTGC +TCGAGGTGCTCGATGGCGTTCCGAAGCGAGTCGCAGCTGCAGACGCATTC +CCTTCAGCACGTGTTCAACACGTTCCACAAGTGCCCCACGTGTGGCGATT +CGTTTGATGAGAATACTATTGTGGTGAGTGAATTCACAACACTTTTGGCT +CACAGTCACGCTTGATCTACGTGTTTTTAGACAATTTTGAGTCTACACGT +GGTGTCAAAGTGTCTCATTTCGGCTTGATCTGCGTTGATCTACAGAAAAA +TGCGGGAGAAGAGTTTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAA +ACCGTAATGGGACAGCCTGGCACCACGTGCTCAGTTAAAGTAAGAGGGTT +TTGTCACTAGATTTATTTTTTGTAAACTGACAACACATTTTGCTCATTCT +CCAAAACTGAGCTAAAAGGGTTGTCAAACTTTTTTTGAAATTTTTTTAAA +CGAAATTAGTTTTGCTAGTTTTCCTAAAAGGAGCAAAAAGTGTTGTCCAA +TTTTTATAAGAAGGTTTTTGTCGCCTAATCGATTTTTGTAAACTGACAAC +CCTTTTCGCTCTTTTTTCAAAATTAATTTTTTTCTTTTGGCATTAATCCC +ATTTTTTGTAAATTAACAAAAAAATTTCAAAAAATCTTCAAGTATTTCTA +CAGGGTGGCCTAGATTCTCTATAGGGTGGCCTACATTTTTACACTGGTTG +TCTAGATTCTTAAACAGGGTGGCCTCGATTCTGTACAGGGTGGCCTAGAT +TTTCTACACGGTGGTCTAGATTTTCACTGGTGGCCTAGATTCTCACACTA +GGTGGCCTAGATTTTTCCACTAATAGCCTAGATTCTTTACAGGGTGTCCT +AGATTTTCACACTGGTGTCCTAGATTCTACACAGGGTGACCTAGATTTTT +TACACTGGTGGCCTAGATTCTCTACAGGGTGGCCTAAATTCCTTATAGGA +TGACCTAGATTCTTAAACAGGATGACCTAGATCTTGACACTAGTGGCCTT +GATTTTTTACAGGGTGGCCTAGATTTTCTACAATGGTCTAGATTTTTTGC +AGGGTGGCTTGGATTCTTAAACAAGGTGGCCTAGATTTTTCACAGGGTGG +CCTAGATTTTATACAGGGTGGTCTAGATTTTTACACTGGTGGCCTAGATT +CTTTACAGGTTGGCCTAGATTTTCTATAGGATGGCCTAGATTCTTAAACA +GGGTGGCCTAGATTCTTTACAGGGTAGCCTAGATTCTTCACAGGGTAGCC +TAGATTTTTACACTGGTGGCCTAGATTTTCTAAAGGGTGGTCTAGATTTT +TGCACTGGTGGCCTAGATTCTTAAACAGGCTGGCCTAAATTCCTTAGGGG +ATGCCCTAAATTCTTAAACAGGATGACCTAGATTTTATACAGGATGGCCT +AGAACTACTTTTTGTAAATCGACAGCACTTTTTGCTCGTTTTCCAAATCG +TTTTTTTTTCAGACCCATATGTTGGAGCACACCAAAGAAGAATGCGAAAT +GTGCTCTGAAACATTTGCCACAAAAGAGGCATTCCTCTCCCACCTGAACT +CAGCCCGACACCTACAACAGGCAAAGAAGCAGCTGGAAAACTCACTGGTC +GACTTAAACTCTCAGGTGAGCCGCCGCCGTGCCTCCTGCCGCCTGGCTAC +CGTAATCACCGTACCCATTATTTAATTGATTTGCTTTTAGCCACGCCGCT +GCTGCTCGGAGCGCAGAGGTGACAGAAAAAGCCGACAAAAAACAACATTA +AAATTATTACACTTTTTTATGATTGAATGCGAGAGAGATGTATGTGTGTG +GAGAGATGGAGAGGCGCATGAAATGGTGTTCGGGTTCCATAGCAAGCTCA +TTGAGCACAATGATTTTTTTTTAAATATATTTTATTGGAAATGACAGAAG +CTGAAGCTTGAAAGGAACGTCCAGTTTTAAATTAAAGTATTGATTTAGCA +CGTAGTTTCAGCATGTCCCATCACGGTTTGATCTACAAAAAATGCGGGAA +TTTTCTTCCCAAAAAATTTGACGTCAGAACGTTCTTAACCATGCGAAATA +AATTGAGAACTCTGCGTCTCAACTCCCGCATTTTTTGTAGATCTACGTAG +ATCAAACCGAAATGGGACACTTTGACACCATGTGATATTTAAAGGGTCTA +GAAAGAACTTAAAATAGCCTAGCCAAGAAATGGGCGGAGCTTTGGTAGGA +ATTTTCATAAGTCGAGGACTCCGCCCATTTCTTGGCCAATTTGGGTTTTT +GGCCTTCAATTTTTAGTGTTCACTAATTTCCAATAAGTTTAGGATTGAAA +AAGTTTTTGAGGTGAAAATTGATCCTAGCATAGGCTCCGCCCATTTCTTG +GTTTTTTTTTTGTTTTTTTTTCTTTTAAACTAAAATTCCACTGAACTTGT +CTAATTTCAGTTTCCAAAAATTTAACGAAAAAATTCGAAATGCCAAGAAA +GGGGCGGAGCCTAAGCGAAGCCTATTTTTCGATGAAATTTGGCCAAGTTG +CGATGTTTTTGAATTTCATATTTTTGAATCAAGTTTTGAAATAAAAAGTA +ATATAAAATTGGAAAATAGGCTCCGCCCATTTATTGGCTTTGTTGGATTT +TTTACTGCATAGATCACATTTTTGCATCCGAAAATTTATCGGAAAGGAAT +TTTTTTTCCCAATTTTTTTCCGTAAACTGTATCATCAAATTCTTTTGAGA +TTCAAAATATCCAACATAAGCACGGGGTTCTGGCCTTCCTCATTGAATTT +TTCGCGCTCCATTGACAATCGCCTGCCGGACAACGCGTGGGAAAGTCGTG +TACTCCACGCGGACAAATACATTCAGTTTTACGCGCCGTAAATCTACCCC +AGATATGGCCGAGCCAAAATGGCCTAGTTCGGCAAACTCTTTCATTTCAA +TTTATGAGGGAAGCCAGAACTCCGTACATAGGCGCAATAAAAGGTGAAAT +AGGCTCCGCCCATATCTTGGATCGGTTCCAATAATGTATCCAAATTGACA +TGTGTTAGTTACACTTGTTCCTAATCCAAAATTCTATCCGAATTTCAATT +TCCCAAAGTCAAAAAGTCAACAAGTTCTGTTCTTATATGTGTAAGGCGCG +CGCGAGCGCGATCGTTTGTCTCTAGTATTTGCTCATCTCTCTCTCTCTCA +ATTACCGTACCCATTATCATTCCGCCCATGGATGATGATGATGATGAAAA +TGAGCGGTGGGCCCCCTCTTCCCCTGCCTCTTTTCGCGCATTCATCATGT +TTGTACAAAAGGCGGCGGTTTGAGAAAAGAAGACAGTGAGAGGGAGGGAG +AGAGAGAGGTGATGAAGGTAGTAAACGTGTGTCGACAAACACATATAGAG +AACGATTCGTGTGAAATAGATGAGGGCAAATAGGACGAATTTATTTAAGA +GAAGAATAAGATGCTTTGGCCCAGATGAGGGGGGGGGGGGGGTATCATGA +AGGTGTGATGACGAACCATATTCCTTCAATGTTTGTTGCTCGCTTAACCG +CCGTCGCCGCAATTTAAATTGTTTCGACTGGGTGATCAGACAAATAAGAA +GACGTAGACGGTTTTTCTTGGGGGGGACGTTCAGCTTTGATTCCTTTCAA +ATAATCGATGCGGCCTAGCTTTCTGATCTCCAGAAACCGCGGGCCTTCTT +TGCTAAATTTTAAGCGATTTTACTTCCTCCCCCCCCCACTTTGATCTACT +TTAACAGCTTATATCTCGGTTGTCTTTAGCTTCATCAAAAAGTTATCAAC +TAACAAAGTGCGTGCCAAATATACTTCTACAATTCGGTAGTTAGTATTTT +TTGGATAAAAGTTAAGACAACCGAGATATAAGCTGTTGAAGTAAATTTCT +AGTTTGACTTACTCCCCCAATTTTGATCTACTTTTACAGCTTATATCTCG +GTTGTTTTTGGTAACAGCAAAAAGTTGCCAACTAACATATTACGTGCCAA +ATATTTTTCTAAAATTTGGTAGTTGAAAATTTTTGAATAAAAGTTAAGAC +AACCGAGATATAAGCTGTTGAAGTAGATTTCTAGTTTGACTTACTCCCCA +AATTTCGATCTACTTTGACAGCTTATATCTCGGTTATTTTTGGCAATATT +AAAAATTTGTCAACTAACAAATTACGACCCAAATATTTATCTACAATTTG +GTAGTTGAACATTTATGTTAAAAGTTAATACAGCCGAGATATAAGCTGTT +GAAGTAAAGCAGTGGTGGTGCTTAGCTCGACCTATATTTTTGAATTGCAT +AACAGTTATAACTAACTTATTTTATGTGAAACCCTATTCTAGCTAGTTGA +CTTACAAAATCTCCAGAAACTTTTGCCTGCCTACCACCTTTAGCAGCATA +AGCGCCTATAGGCACACCTACTGCCTACACCTATGCCACCTACTGTACAC +CTACTGCCCATACGCCTACTGCCTTTTGCCTACTTTCTACATAACTTTGA +ACTGCCCGTTTCTAACCAATAATCTTTTACAGGACGTCGAAAAGCAGCGT +ATTTATGTGTGCAACGTCTGCAAACAATCCTATCCACAAGCGGCTAATCT +CGACGTGCACATGAGGTCAATGACACATCAGAGCCGGATGAGCCGGCTGT +CCGAACTTGTGGCAACCGGGGAGCTTAATGGGGAGAAGGCCGTGTTTGAG +CAACCAGGAATACCGGCACCGACGATAAACAGCTTCATTGAGACGGTAGG +TGAGGGGTTTGAGCAGGCATAATCCTGAAAATCATCTGTTTGGTTTCTGT +GAAAAACTTTTGTGCGGAAAATAGTTTATTTATAGTTCAATTTGAAAAAA +ACTGGTTTCCGATTTTCAATTTTCAATTTTCAATGTTCGATTCTCGATTA +ATAAAATTTCCAATTTCCAATTTCCAGACAACCAACCAATCCTCACTGAA +CGACCTGATGTCACTGCTCACACGAAGCGAGTCGGATGAGATTCGAGAAG +AAGTAAACGGCCTTCAAGTCATGACACAGATCAAAGTCTACGGTGAATCC +AAGATCACTAGCCTAGTCCCAGAGTTGGCCGGGAAAATCGATAACATCGC +GCTCTTCGATGACTCCCGTGCGGCAGAGGTGTCGAAGATCGATTGCTCGG +CTTGTGGGCAGCAGATCTCAGGGATCCTTGCTTTGAACCTCCATTATGAA +GAGTCCCACTCATCGAAGATCCCGAGTGACGTGTTAAGAAAGTTCGGAGA +GCGGTTACTTGCCGCATTAGAGGACGGGTTGAGCAGAGAGAATTCCGTGA +AGAACGGATCGCAAAGCCCTCTGAGCAATGACGATGAGCCCATGGAGAAG +AAGATGCGGCTGGAGAATATGCTTCCTGAAATGGACAAGAACGCGGCAGC +GTCGCAATTCGCAATGTTCCAACAAATGATGAACTGCTTCCCGTTCATGG +CACCACCAGGCACGTCTAGTGGCAACTTTGGCTTCTCGCCAGAAATGATC +AATCAGCTCATGAATCCTGCGGCGGCGGCGGCGGCGGCGACTGCAGCAGC +AGCAGCCCACGCTGCCAACAACTCGCCGGCGAAGAGAGCAAGAACACGGA +TCACTGATGATCAGCTCAAAGTTTTACGGTAAGTCGTCTTGTGTGTGATT +ACTGTAAGCTACGGCGAACAGGAGAGACCCGAGGGGGGCGGTGGAAAATG +AATTGCAAACAATAGGTGGGAAATGGTCGGCGCCGTGATCAAAATGAATG +AGAAATGAGAATGAAGAACAAACATTGTGTGTGAGTGTGTGTGTGTGAGA +CGAGACGAAAATCAATCAATTTCTGGAAAAAACAACACATATATTTTCCC +GGCGAACTTTCTGTTTGAGGGACCGTACGGAACAGGACCCCCCTGAAAAA +AAAAATCCGGAAAATCCTAAGCCTAAATAGCGAACGCTCGCCACTGACGC +CAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCCAGCCCAAGCCTAA +ACAGGAACCCCCTGAAAAATCAAAAAATCCGGAAAATCCTAAGCCTAAAT +AGCGAACGCTCGCCACTGACGCCAAGCCTAAGTCTAAGCCTAAGCCTAAG +CCTAAGCCCAGCCCAAGCCTAAACAGGAACCCCCTGAAAAATCAAAAAAT +CCGGAAAATCCTAAGCCTAAATAGCGAACGCTCGCCACTGACGCCAAGCC +TAAGCCTAAGCCTAAGCCTTGGCCTAAGCCCAGCCCAAACCTAAGCCCAA +GCCTAAGCCTTTCACCTTCCTAATTTTCAGGCAGGCCCTAAAAACCGCGC +CTGCCTACCATGGAAGCCCTAATCTGTGCGCTTTAGATTCTGAACCCTTA +AATATGTTGCACGGCCGGGCAAAGGGCACATCAGTGTAAACGCGCTCTAC +TGATAATTCGAGTTTAGCCAGGTTTGGGCGCGTTTCAAGGAAAAAAACTT +TGGCTCAAAAAATTGTGAATTTATTTTCGAACATTTTTATATGCATCACA +AAAATGTTAGACCACCCGTTTTTGAGAAAAACGCGCCCAAACGTCCAGGT +ATACGGTAGACAAATTGCGTACAGGTACCACTGGGGGGTCGTGTTTGGGC +TTTAGTTTAGCTAAGGGAATCTGTAGCGGCCCAACGGCCTAACTGCAAGC +CTCAGCTTATTCGCCATAGGCTTGTCTGCCGTATTTCAAGCCGATTCCAA +CAAAAAACTTCCAGCCAATACTTCAACATCAACAACTCGCCGTCAGAAGC +GCAAATCAAGGAGATGTCACAAAAAGCGAGCCTTCCGGAGAAAGTCATCA +AACACTGGTTCCGCAACACACTTTTCAAGGTTTGTTTATTTATTTTACAA +AACTATTCATATTGTTATTAGGCTCGGAAATGAGCGAGGTGAGAACATGA +GTGTGGTAATTAGTCATCGGATGAATACCCACACAAGAGGGAGAGCAAAC +AAGAGAGCAATTGAGACGAGGGAGGGAGAGAGGGAGAAAATAAGAAAATG +TTAATGTCAGTTGGGTGCCAGGCGCTCGGCCAGGACCACAGGCCGGGAAC +CATTTAGTTTTGATTACGATTTCCGTCGTGACTCATGATGGGAATTGATA +TTTGTGCCTGTGGTGATAGAATAGTTAGAGCAACTATCAGGAAGGGGACA +AGTCGCAGTGCGAGACTATTAGAACCTGCAAGGTTTATTCTGATAGATTT +GGGACTAATAAGGACTAATTTGGTAGAGACTAATTGGCTCTCTTGATATA +TACCAGCTTAATAATTTCTACAAAAAAAACTGTAAGAACGCTTCGAGATT +CGAGCTTCGGGAAAGCTTAAAGGATGGGTACCGAAAAATTTTTTTTCCCT +GATTCCGAATATCGATGTGGAAAAATTCAAAAAAAATTCCCTGATTTTAT +ATTTGAGCTTGAAATCACGATTTTCATTTGTGCCCACCTGGTGTCAGAAT +GTCTCATTTTGGATTGATCTACGTTGATCTACAAAAAATGCGGGAGAAGA +GACGCAGAGTTCTCAACTGATTTTGCATGGTTAAGAACGTGCTGACGTCA +CACTTTTTTGGGCAAAAGCAAAAAATTCCCGCATTTTTTGTAGATCAGAC +TGTAATGAGACAGCCAGGCACCATGTGTGTGCCCCGGTTCAATTTTCAAT +TTTTTAAACCAGTTTCTTTTTTTTTAGTCGATAGGTTTTTTTCTGAAAAA +TATTTTTTTTGCCAAAAATGAATGTAACTGGCTAAAATAAACTAAAAATA +AAACGATGCAAGCGCGCTCAAATGCGAATTTATTTGGGCGCGAATTTGAA +AAAAGTGATGCGGGCACAAATGAAAATCGGCGATTTTAAGCCTAAATATA +AAATCAGGGAAATTTTTTTGAATTTTTTCACATTGATATTCGTAATCAGG +GGAGAATTTAAAGCCAATTAAAAATATTTTCCAGATTTCGGTGCCCCACC +CTTAATGAGATAAAAGAGCAAAAAAGGTGTTTTGTAACTTTTTAAGTTTT +TTCTTTTTCAGGAACGCCAACGCGACAAGGATTCCCCGTACAACTTCAGC +ATCCCTCCCCAAATGGGAATCGACTTGGACATCTACGAAAAGACCGGCGA +GACAAAAGTACTGTCGCTTAGCAATGAAGCACCAAAGTCTGAGTTGAGCT +CTGCGCGCGCCACACCGACAATTCCGACTCCGATACCGCTCATCGTTGAA +GAGAAGAAACCGGAGCCAAAGAGCCAGACACCATCGTCTTCTTCCTCTCA +GCTCAACCTGCAGGCTATGTTATCTCAGATGCAGGGAAGTTTTTTCGACG +CGTCAAACTTCATGTCAGCATCAGTGAATCCGATGACACCGAGCACTCCT +TCCTGCAACACGTCGTCCAGTGGACGACGAGCCAATCGCACGAGATTCAC +AGATTTCCAGCTGAGAACTCTACAGCAATTTTTCGACAAGCAAGCCTACC +CGAAGGATGATGATCTTGAAGCGCTGAGCAAGAAGCTTCAGCTGAGTCCA +CGTGTGATTGTCGTCTGGTTCCAGAATGCACGGCAGAAGGCCAGAAAGAT +CTATGAGAATCAGCCGAATCACGAGAGTTCCGATCGATTTGTGAGAACGC +CGGGATCGAACTTTCAGTGCAAAAGGTTGGTTTTAGTGTTGGAAATTAAC +ATTTAAATTTAAATTTTCCTAAATTCCAGGTGCAGCCAAGTATTCCAACG +CTACTATGAACTCATCCAACATCAACAGAAAAAGTGCTACAAAGACGATG +TAGCAGCCCTGGCAAGTGACAACAAGAGTGTCGAAGAATCACTGACGGAA +GAAGAGAAATCCCAGCTTCTGGCTCAACAACAGGTCGCCCAACTAGCCAG +CACTCTGGAGCTCCCAAAGTTCCAGCCGGCAGAGCTTTTGAAAATGATCG +GAGCTAATTCGGTGACTCCATCCTCGTCGGCTGCAAGTCAGAAGTCTAGC +AACGACGTTCTGCTGAAGATGTGTGAATCGATTGTTGGTGGGAGCACACC +TAGTACATCATCGTTCCACAAACTTTGTATATTCTGCGCTCAAGACTTCA +AGGATCGGAGTGCGATGAGTGAGCACATGGCTCAGAAGCATCCCCAGCAT +ATGCTTCTTCCAAACTTCGATCTCGACATGATGCCAGACGCTGGTGGTGC +AGAGCTTCTCATGGATCTTAAGGACTCTGCGTTGGATCTTTCGGGCTCTT +CAGTCGACTACCGGGATTCTATCTCAACATCTCCATCTCGATCCGAAGAT +GATGTTCTCACAGAGGCTCTGGATGATTCTGCATTTGCCGCGTTCGGACT +ACAGCTTGCAAATTCCACAAGCGGCTCGGAATGCAGATCTCCGGCGAGCA +ACAAGAGATTCCGAACTCATCTCACACCGATGCAAGTGCAAATGATGAAG +AGCGTGTTCAACGAGTACAAGACCCCATCCATGGCAGAATGTGAGCTTCT +CGGCAAGGAAGTCGGCCTTCACAAGCGTGTCGTTCAAGTCTGGTTTCAAA +ATGCGCGAGCCAAAGAGCGAAAGACGCGCGGTGCAGTTGACGAGGACTCT +CGATCCGGAGAACTTCACTGTGAAATTTGTGATAAGACGTTCGCGACGAG +GCTTTCGCTGCAAGACCATCTGTTTGCCGAGCAGCACATTGAATTTTTAA +GGAATAATCTGAAACGGGAAGGGGTCTCCGAGTTGACGACCGCTTCGGTG +ACCGAGTGCTCTCCAGAGAAAAAGTAAGAAATTTAATTTTTAATTTAATT +TTACATATATCATTACCCTATATAACCTTAAAAATTTTCCAGAGCAAAGC +TTCCGAACCCGCTGGATCTTGCCAGTTTCCCGTTCCTCAACACGTTCGAC +ATTCAAATTTACGGAACACCCATCGCCTTTCTGCAGGTGCCTGATGAGAT +CAAAAAGCAGATCACTGATGATATCACGGCTGGAAAATCGCGAACCACGT +TCTCCCAGGACGGTTTTCCGCTCGACAAGTTGAAAGAGTCGCTGCCCGAG +GATGAGAAATCAAATTTGACAGTAACCCAGAAAGATGTGAGCTTTTTTTT +TTTGGGAAAAATTTTGAACAATTTGGCAATTTCAGGTCGGATGGGCGTGC +CCGGCATGTACATTTGTCTTCCAAGAAGAAAAGAAGCTCCGTGAGCATCA +AAAAGCCATGTGCCAAAGTGATAAGGTGGGCAAGAAATTAGGAAACGGGC +TTGAAGTTTAGCTTATAGTTAGGCAAGTGGTGTCAGACTGTCTTTGATCT +ACAAAACATGCGGGAATTGGAATTTTTCCCAGAAAAATTGTGAAGTCAGC +ACGTTTTTAACCATGCAAAATCAGTTGAGATGTCTGCGTCATTTCTCCCG +CATTTTTTGTAGATCTACGTAGATCAAACCGAAATGAGGCACTTTCTGAA +TCCACGAGCTAGGCTTAAGCTTAGGCTTAAGCTTAGGCCTTTTCTCAGGC +TTAGGCTTAGGCTTATGCTCAGGCTTAGGCCTTTTCTTAGGCTTATGCTT +GGGCTTAGGCTTAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTATGCTTAG +ACTTAGTCTCACTATCAGTCTTAGGCTTAGGCTTAGACTTAGGCTTAAGC +TTAGGCTTAAGCTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTT +AGGTTTGGGCTTAGGCTTAGGCTTAACCTCAGGCTTAGGCTTAGGTTTAG +GCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTTAGGCTCACAC +GTTCTCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCGTCTTTT +CTCCCGCATTTTTTGTAGATCTACGTAGATCAAACCGAAATGAGGCACTT +TCTGAATCCACGAGCTAGGCTTAAGCTTAGGCTTAAGCTTAGGCCTTTTC +TCAGGCTTAGGCTTAGGCTTATGCCCAGGCTTAGGCCTTTTCTTAGGCTT +ATGCTTGGGCTTAGGCTTAGGCGTAGGCTTAGGCTTAGGCTTAGGCTTAT +GCTTAGACTTAGTCTCACTATCAGTCTTAGGCTTAGGCTTAGACTTAGGC +TTAAGCTTAGGCTTAAGCTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTT +AGGCTTAGGTTTGGGCTTAGGCTTAGGCTTAACCTCAGGCTTAGGCTTAG +GTTTAGGCTCAGGCTTAAACTTAGGCTTAGGCCCAGGCTTAGGCTTAGGC +TCACACGTTCTCACGTTCTTAACCATACAAAATCAGCTAAGAACTCTGCG +TCTTTTCTCTCGCATTTTTTGTAGATCAACGAAGATCGAGCCGAAATGAG +GCACTCTGACATCACGTGGGCTAAGACTTAGGCTTAGGCTTAGGCTTAGG +CTTAGGCTTAGGCTTAGACGTAGGCTTAGGCTAGTTATTTGTAACTTTTT +TAAATCTCCCCCGAGTCAAAAAAAAAAACAATTCAATTCCAGACGCTAAC +CCTGGTGCAAACCCACTACTCGTGCAAAAGCTGTCAAAGTGATTTCTGTC +TTCAATCCGAGTATCAATTCCATCTCTCAATGCCTCCTCATACTACTACT +ACTACCACGACGACGCCATAACAAAACCCCCCAAATAGTCACCTCATGTC +ATTTCATTTGCCGTCTTCACTCAAGGACCTATTTCCGTCTCTCTCTCTCT +CTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTCTTCTCCTCTCG +CCTTAAAAAAACCACAACTCCTTATCCCGATCTGAGCTCACTTCCTATCC +CCCAAAGTAATTTCTTTGTAATATCTATATCCACTTTTTTTTCGACACAC +TACACCACATCCCGCCGCCTATCCCCTCCCCCCCCACCGCTTTATGACAC +AAAAACTGGTTTCGCTTTTGTCTTCAATTTCACCCCAACCGCCTGCAGCT +TCTCATAATAATTAATAATTTTTCTTACCATGCACAATGATTTTGATAAA +TATATATATATATAGTCATCAGGATTGCCCCCTTTCTAGGATATGTTTTT +TTTTGTCTTCACACAATTTTCCCATTTTCTATGATAAGAATTATTTCTTT +GTCCGGTTGACACATGTAGATGTTCCCCTTCCAATTTTTAATAGATTTCT +ATTCTAGTTTTTTGCAGGCCTCACTATTCTATTGCAATAATCACTTGGAT +TTCATGTATGGAACGCAATAATAATTCAATAAAATATTGGTACTTCTTTT +TTGAAACACACTAATTCAAACTCACGCGGTTCCAGGCTGTCCCATTACGG +TTTGATCTACTAAAAATGCGGGAATGTTTACTCCCAACAAAATGTGACAT +CATCAGCACGTTTTTAACCATGCGATATCGGTTGAGTACTCTGCGTCTCT +TCTCCCGCATTTTTTGTAGATCAAGCCAAAATGAGACACTATGACACCAC +GTGTAGACTTAAAATTGACTGAAACCACCGAATTTCATATTGAAACTTCT +TGAAATCTATTCAAAAAAAAAGTTATGAAGGCTCAAAAAATGGCCTAAAA +TTTGTTAATTTAAACAAAAGACACTTAAAACGGTGTCTTTTTGAATTTTT +CCGTTTTTTTAAACATATTTTCATAAAATTTACTTATTTTTCAAAATAGA +TGTTGGAACATTTATAGGATGCGTTCAATTTTGCCATTTGAAATTGAAAT +TCGGAAATTTCAAAAAAAAAAAAAAAAAGTGCGAAACCAAAATTTTCCGA +AAATTTTCGGCAATTTGCCGGTTTGCCGGAAATTTCAATTCCAGCGATTT +GCCAATTTGCCGAATGGCCGGAAATTTCAATTCCAGCAATTTGGCGATTT +GCCGATTTGCCGGAACCTGCTAACCTACCTACTAACTTGCTAATCTTCAA +GGTTTTTAATGAGTTTTCAATAGAAAATTCGGTGTTTTCAGGCAATTTCG +AGAAAGCAATACAAACGTTTAACAAAAAAAAGACGCTTTTTCCTCTTATC +CGATTCTCAATTCTCAATTTTGCCTTATCAATTTATCCTCTCCTCACAAG +GTGACACACACACACACACACACACACACACTCGTTTCTCGACAAAAAGC +TATGAGCTAACAAGCGCCTTCTCGCGTAAGAATACATCCACTGATAAGAC +ATCTGATAAGAGTGGAACCCGTCCGCCATTGTCTCGAGAAATACACGCCT +CCGCCCGGGAGGACAGGTTATCCCACCTCGTCGCTTCACTTCATTGTTTC +AAACGATTCCATCGGCTTGCGCTTGGATTTTCTCTTATGCAACTTGCCAT +TCTTCTTTTATTGCTTAACATCATGGTTATTTATTAGGGAAATTGTTCTA +CCCTGACTTGAAATGACTGAAGACGGCCTATTTTACTTTAATTTGAAGAC +TCAGAAGACTACTATAAGCGGTCATTCTTGTTGCGAAAATTTCTGCATTT +AAAGGTGGAGTAGCGCCAGTGGGAAAATTGCTTTAAAACACGCCTATGAT +ACCACAATGACCGAATATCATGATAAAAAAATTCAAAAAAATTTTCTAAA +TTTTATATGATTTTTTGAAAATTGAAAAAATCTAAGGTTTTCACTTAATT +CATATTTGAATTACCGCCAATTGGATTTGCTCGATGGAGCGCACTTGCAC +GTTTTTAAATTTATTTATTTTATTTTTTGTTATTTTCCACCGATTTTTAA +TGTTTTCGGTGTATTTTTGCTTGAATTTTAGAGAAAAAGTCAAAATAAAT +GCAAATTTTCGATTAAAAAGCAAGCGTACAGGTAAATCAGTGAAATTAAT +CAATTCAGGTTCATTTTTACGCCTGTAAGCGTGCTTTTTAATCGAAAATT +TGCATAAAAAACATTTAAAATGGGTGGAAAATAACAAAACATAAAATAAA +TAAACTTAAAAACGTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGG +TAATTCAAATAGGAATTAGGCAAAAACTGAGATTCTTTCAATTTTCAAAA +AATCATATAAAATTTAGAAAATTTTTTTGAATTTTTTATGGTGCGTCCAT +AGAAAAACCGGAGTTCCTCGCTTTTTTTTCCTCGAAATTCAAAAAAGTAG +GCGTGGCCAACCAATCAGCTGTTGTTTCTTGTTTTCTCATTGCTCAGCTT +AAAATTTTACAGCCTCTAATTGGTTGAACACGCCCACTATTTTGAAATTG +ACCAATAACAAAGCGAGAAACTTCTTGTTTTTTCCGCAGACTATGGACGC +TTCCGCACGCGGGAAATTCCCGTTTTCCGCAGACTATGGACGCACCATTA +TCATGATATTGGGTCATTGTGGTACCATAGGCATGTTTTAAAGCAATTTC +CCCACTGGCGCTACTCCACCTTTAATGCATTCTGCGTCTATTTTATACAG +TTCTGACCATAAAAGCACACAAATTTTTGTCTCAAAGTTTAGGAATATAT +AGATTTAAGGAAGAAAGTTTTAGTAAGAAAAAATATAGTCTTCTTCATGT +TTTCTTTTTTTTTACAATATCCATTTGCCATCCGTTTTTTTTTCTGCAAC +CTTCGATAAATGTTTGCTTGGATAACTATGTAAGGTGCTTTGAACACTCG +GCATTTGGGCTTCTTGCCCAAGTTTAGCCCAAAAATATTAACTTGGATCA +GAAGTTGGGCAATACTTTGGCAAAACTTGGATTCAGGCAATATCAAAGTT +TAACCCAAGTTTCACCCAACAAACTTTGGCCTAAACTTTTTTTGTTTCGA +ACTTGCGTAGAAGTTTTTGCCCAATTTTCGCCCAACTTTTGCCCAACTTT +TGCCCAAGTTTAGCCAACTTCTGTTCCAAGTTAATATTTTTGGGCCAAAC +TTGGGCATGAAGCTAGAGCCGAATGCCGAGCTAATTTTATTTGACTCTAT +CCGAATTCTGCTAATTCTCAAAAATCCCCCAATTGCCAACCATTTCAGAA +TGCATTGGAGTAGTTGGGCGATAGCGCTCAACGTGCTCGTGCTGGCTTTG +GCCGACAGTGCTCCTGAAAGATTCCCAGAGGATCATGTGGACCTGGTACT +TCCTATGAAAAGTATCCACCATTTCACCTAAACGTTTCCTAATCATCTTG +ATTACAGTGAAATACGACAGTCATCTTCGACAAGCTGATCTTCCACCGCA +CTTCATTGGTGCCAATGAGACGAACTTGGTTCCGCTCACCTTGAGATTGG +AGACTAGGAGGAAGAGATGCTCGTGTGGATGTTCGGGATGTGATCTTTTC +CCGAATAGATCTTGTTGTTCGAGCTGTAAGTTTGCGATTCTATAAGACTT +GTCAACGTGGTGTCAGGCTGACCCATTACGGTTTGATCTATAAAAAATGC +GGGAAGTTTATGACCAGAAAAAAATGACGTCATCACATTCTTAACCATAC +GAAATCAGTTGAGAAATCTGCGTCTCCCATTTCTTCTCCCGCATTTTTTG +TAGATCTACGTAGATCAAGCCGAAATGAGACAATTGAAATTCCAGCTTGC +TGCTCCTCTCAAAAACCAATCCCACTTGCCTGCTGTCCGCCACCTCCCCC +ACCAAAACCGTGTTGCCAGCCAGCCTTCGGCCCTTGCTGCCCGGCAACCC +CAAACTGTTGCCCGAAACCCTGCTGCCGAGGTCGTCGCCCCGAATACGAA +GAGTACGAGGACGAGGAAGGCAACCCTGGAGGCGTCCCAGCACCACCAAA +CCCACCAAGAACTTGCTGTCCTCCACCAACACCTGCTGCTCCACCACCGC +CACCACCTCCACCACCACCGGCTCCGGAAGCTCCAACGCAATGCTGTGGA +TCACAGCCTTATGGAAGAACACCGTGCAGGTCCGGATGTCCGAATGGAGA +TTGTGGATGCGGAAGACCTTGCTGTTACTATCAGAACCCCACATGTTGTA +ATCAAGGGCAAAAGGCTTGCTGCCCACCTGAACAGCCTTGCTGTCCTGAG +TTGAAGCTGGATAACTGCCTCGCTTCGGTCCCACCTTGCCTTCGCGCCTG +TCCATCGTGCCCTTGCAGAAAACGTCTGATGCTTGGGAAGAGAACTAAGA +GAGACGCACCGGGGCTTCATTGCCAGCCAAGTAAGCTATAAGTTTAGATT +TTCACGTAGTGTCAGGCTGTCTCATAGTGGTTTGATCTACAAAAAATGCG +GGAATTTCTCGCCCAGGAAAATGTAACGTCAGCATCAGGGCTGGGACCAA +AAAAAAAATTTTTGGACCAAAGAAGTTTTTGAAAAACCAAAAAAACCAAA +AAAAAAACAAAAAAAAAACCAAAAAATTTTTGATATGCTTAAGTTGATTT +TTAATGGGGTTATTCAAGTAATGTTGCAAAATGTATTAAAATACATTTAT +GACGTCACAACTGTGTTAAAATACATGTTTTAATGTATTTTAATACAGAA +TAGTCTCGAGTCGACACTAGACACGGTAAACTTTTTTTTTAGATTTTTCG +TCAAAATACCAAAAAAACCAAAAAATTCCCAACAGCATGTTCTTAACCAT +GCGAAATCAGTTGAAAAGTCTGCGTCTTTTCTCCCGCATTTTTCGAAGAT +CAAACCAAAATGAGACACTTTGACACCACGTGGATTTTCAAAACGCTGAA +AATAAGTAAAATAAATAAAAAATTTTCAGTCGGACTCCTTGGTCAACAAT +CCCCACCGACTCTGATTTCAAAGCCGGTAAAGACCATAATAAAATCAAAA +TCCCGCGTTGCTGGAACCAAGACATCTCAAGTGTCCGTCACCAAAAAGCT +CATCGAACAATCCTCTGACCACGTGGAATCGCCTCCAACAGCCGGAAGAC +TCTACGACTTCCGAAGAGCCCACGTTCGAGTCAAGAGAAACATGAACTTT +GGAAATGGAGCATGCCAGCTGTGTCTGAACGGAACTCCGCTCAAGAGAAC +CAAGCGGTCTCTCGATTGTGTTCCGTGTACCTACCTACAACCACAATACT +CTGATTGGAACCCGTTCCTCGGAGATCAAACGCCACGCGGATCGCAGTCG +CCAGTTGGAACTCCACTCGCCGGGCACAGAACTAAGAGAGCTGGCGTGAG +TTTGACTCATAGAAATTAACGAAGCTAAATTTATTTTTGCAGTGCCTTCC +TCATCCACAATGTACCCTGCATGTCCGTCGCTATAAGAGAAACCTGATCG +GATCCCAATATTGTGAGCCATGCAATGGACACTACGGTAGAAAGAAGCGG +GAAGCCGAGAGAGATCAGTGCTTGAAAAGAGAGAAAAGATATGCAGATGA +ACAGTGTGATAACGATGAGTTCAGTATCAATGAGCGAAGCAAACGACAAG +CCTACAATCCAAAAGGAATTTTGGATATCGTGAAGCTCCTATCCAAGGCC +TCCTCAGGTGGCAACAATCCAGGAGGATGCATGAAGTTCCCAGCCTGTGT +TCTGGCTCAGAAGAAGAGAAGAAAGAGAAATGCAGATCGGCTCGACACGT +ACTACAAAGCTGTGGAGGAGCACAAGAAGCTGGTGGAAGAGTACGAGATG +GCGATGGAGGAGCACAAGAGAGTCAAGCGGCAGTTCTTCGCTCCGGATAA +TGCTGCATCCTGTGTTCCGTGTCCGGCATGGGTGACACTTGCCTTGGCTA +GCAGAAAGAAGAGAGAAGTCGAGAAGGTGGAGAAGCATATGACGATGAGC +GAAGCTATCGCGGATATCAGAGCAAAGAAGGGGTATAAGGAAGGATTTGA +TGATGATGATGAGGTGAGGACTAGACCTGAAATTTTAGATCCTGTAAGAA +CTTTTTGAAAATTCCAAAAAAAAAACCCCCTAATTGAATCACGCGCGCAC +GCGCCACTGAGAAGGATACTGTATTCGCGGCGAGACCACCTGCACATCTA +ACTCCCAAAAGTGACGAATTTGGCCTAAAATGGACTTTCTTCATGGGATT +TCCACAGTTTTCACCATTTTTTTGACACAGTTCATGACTTTTTACACTCA +AAAAATTATTGGCGTGGTCATTTCACAATGATTTCAACAATTTACTGGAT +TTTACGCGTGTACTTCATCGTGGCACACCAAAAATTGATCTGGTTCATGT +GGTGTCAGAGTGTCCCATTTTGGTTTGATCTACGTAGATCTACAAAAAAT +GCGGGAGTTGAGAGACGCAGAGATCTCAACTGGCGTCACATCAATGCGGA +TTTTAAAATTTTCATTTCAGGACGACGAATCCTCTGAGGAAACCATCGAG +ACCCGCAGAAAGCAACGCCGCTCCTGCCAACAAAGTGACGATTGCCTGAA +CAACGTCGAGTACGCAGTCTTCCAAAAAGTCTATGCAGACAAGAGAACCA +AACGAGAAGCCGTGTTCCGTCGTAAGAAGTGCTCGAGGTGTGGAGTCTCT +GGGCTCACGCCACATCGTGTCAAGAGAAACTTCGGGCAGCCGAATATCAA +CGTCTCGGAGCAGAATTGCATGGCATTCCCACAGTGTCGGCATAGAGTGA +AGAGAAACTTTTTGGGAGAAGACTGTAACATCTGTACACAGGATACTGGT +CTGAAGCGGAGGAAGAGAGACTTCGGAACAGCGGTAGGTGTTGGTTTAAT +GAGCTTCCTTATCTTAAAGTTTTCAGCAATGCTACCCATGCCCAGGAACA +CGTTCATAACTTGAAGCGACTCCCTCCGATTCTCACATATCACATAAATA +CCACCTCGTAATAATAATTCAACATGACTAATAAAACAAATAAGTACATA +CATACATTTATATTAGCTTTTAGCACCCGTAGCAATTTGGAGCAAGAAAA +TATGTGTAAAGAAATTGGAGATGTAGTAGATTTGGTCGTTATAGTGATCG +CAGATCTTTCAGCTCTTTGAGCCGGAATATTGACTGGCTTGGAGCCAGGA +GATGAACCTCGCGGGGGAATGAGGCAAAGTAGGGGTGAAGCATTGCACTG +GCTGCGGAGACACGGCTTTCCGGGCGGAGCTGTAATTTTGAGGGTTACAA +GATAGGTGTAGCTCGATGTCGATTCATTTAGACTAGCATTGCAGCCAGGG +CTTAAGCTTTCGGCTTGAGCTTGCACTCAAAGATTGCTGCTCAATATAGC +TCGCGAAGACTGATTTGTCAAAGATTAGACTAGTAGGCCTGGACTGACTT +AAAGGTGGAGTAGCGCCAGTGAAAATTTTGTCAAAATACATACATAATGA +TCCGAAAAAAAAACCAAATTTCATAATAAAACAATCCAAAAAATTAGATT +TTTCACAATTTCAGGTCAAATTTTTGGCAAACTGCTAAAATTTTGAAAAA +TGAGCAATTGAGGAAATCTAGAGCAATGTCGCATGTTCCGACCCCTACAA +TATTTTAATACAAATAATTAAAACACAATTACAGTATAAAAATGTAGGAA +AAAAAATTTTTTTTTTGTTGGTCGACTTCCAAAATTATGAGTGGTAAAAT +TACAGTAAATAAAAAATTTTCAAAATTTTTTTGAAACGTTTTATTATGAT +ATTCGGTCTTTTCGGGACTAAAGGAGTGGTTTTTACAAGTCTACTTACCT +GAAGAAGCATCCCCAGAAGTTCCTGACCAGTCTTCAGAATCTTCGTGAAC +ATCGGGTTCACCGCGATGAACGACAACTCCCGATACCTGGGGAACAGTTC +AGGGGTGTAGCCTGGTAATGTCTTTACCTGAAACAAACATCTTTATCTCT +AGATTTTAGATTCCCTCACCTCCGGCCACTTTTTCTCGTCTGGAGTACCC +CGAATGCTGAAGATCATATCCAACTGGTCCTTGGTGCCGGGGTAGTGAGA +GTCCTTGGATCCCGGGAACAAAGCGGCGCCCGTGCAAATTTCAGCGAATA +TGCAACCGACTCCCCTGCAAAGTTAGTAGATATAGTTGGTACCTTTTATA +AAATAATATCCTCCTACCACATATCCAGGGAAGTTGAATAGTCGGTACTT +CCCATGAGAACATCAGGCGGGCGGTACCATAAAGTGACCACCTCGTGAGA +ATATGTCCTACTCGGCACAGATTTCGCCCTGGCTAGACCAAAGTCTGCGA +GTTTTAAAACACCGTCTTCGTCGAGAAGCAAGTTTTGTGGTTTTAAATCT +CTGAAAATCAGTTTTTATCAAGAGTTATGGCCGCAACGGCGCCTCCGCCG +ACCCCAGCGGTCGCCGCGCCGGCCTCCGCGGAACCCCGAAAATGTCCGCC +GCTCCAAACAACCACTTTTTTGCACTACGTTGCGCACACACCAGGCTACT +CATTTCACGCCAAGCTGCGGAACACCGAACGTGTCCGCCGCTCCAAATAA +CTCCCTTTCGCAATACGTTGAGCACACACCAAGCTGCGGAACTCCCAACG +TGTCGGCCGCTCCGAACAACCACTTCTACGCACTTCATTGCGCACACACC +AGGTTACTCATTTCACGCCAAGCTGCGGAACCCTGAACGTGTCCGCCGCT +CCAAACAACTCCCTTTCGCAATACGTTGAGCACACACCAAGCTGCGGAAC +CCCCAACGTGTCGGCCGCTCCGAACAACCACTTCTACGCACTTCATTGCG +CACACACCAGGCTACTCATTTCACGCCAAGCTGCGGAACCCCGAACGTGT +CGGCCGCTCCAAATGACCACCTTTCGCGCTTCAACGGCGTCGGCGTGAGG +CCCGAATTTCGCGCCTCACTCTGCTGGGAGCCCTATCAACACTAGGGAGC +AGTTTGAAAACTAACCTATGAAGAATCTTCTTCCTATGACAAAAATCGAG +TCCGCGGAGAAGTTGAAAGAGGAGAAGCTTGATGTCAATGCTATCCAACC +CATAGACGTTCTGCTCCAGGTACTTGCTCAAATCCATTTTCATGTACTCG +AACACAAAAGTTAGCTGGTGGTGTTGATAGAAGATGTCGTGCAAAGAGAC +GATATTCGCATGACGGAGGTTTCTGAGAAGCGAGGCTTCACGGATAGCGG +TGAATGGGAGACCTTCTTGAAATTGAAGTTTGATCTCTTTCAAGGCGACT +ATGGATCCGTCAAGTCTGAAAATATAATTTAGTTTGGTAATATCAGCTGT +TAAAATATCTAACTTCGATTCGCACTTATACACCGTTGCATAAGATCCTT +CCCCCAGCTTGTCAATTCGTTTGTACAGATCATTCACATCCTGCGGTGTC +ACTTCCTCCTTCGCAGGAAGCGTTATCGTATTTGGATCGTAGTGTGCTGA +TCGTGGTCGACGTCTTCGAAGATGTGTGAAGTCGGCCACAGTGTTGCTAG +ATGGTGGTGGTGGCATTGATGGAGAGTTCTTGTTTAGGGGCACGGTTGAC +ATGGTTTCAGATGGATTGTTGGAGCGGGAACGTGATTGGCGGCTGAAATG +GTATTACTAGGGTTTGATTCGGAAAATTTTCTTAGAAAAACAGTTTGGCG +GGAAGTTTAAATTTTCTGATTAAAAATGTTGGCGTAAGTGGTGTCGAAGT +GCCCCATTTTGGTTTGATCTACAAAAAATGCGGGAGTTGAGACAAAGACT +TTTCAACTGATTTTGCAGGATTAAGCTGACGTCACATTTTCCTGGGGGAA +AAATCCCCGCATTTTTTGTAGATCAAGCCGCAATGAGACAGCCTGACACC +ACGTGTTGACGGGATATTTAAATTTTCTGAGAAAAACATTTTGGCGGGAA +GTTCAAATTTTCTGAGAAAAACATTTTGGCGGGAAATTGAAATTTTCTGA +CAAAAAAATTTTGGCGGGAAATTGAAATTTTCTGACAAAAAAATTTTGGC +GGGAAATTGAAATTTTCTGACCAAAAAATTTTGGCGGGAATTCAAATTTT +CTGGGAATTAACTTTGGGGAGAAGTTCAAATTTTCTGTAAAAATTTTGGC +GGGAAATTGAAATTTTCTGACAAAAATATTTTGGCGGGAAAATCAAATTT +TCTGAGAAAAAAAAATTTTGGCGGGAAATTGAAATTATCTGACAAAAATA +TTTTGGCGGGAAAATCAAATTTTCTGAGAAAAAAAAATTTTGGCGGGAAA +TTCAAATTTTTTTTTTTTGAAAAGAAAATTCTACGGACCGGAAACGGCCC +AACTACGGCTCAAGAGCCGTCTCGGTCGGTAAATGTGTTTTTTGCTCTAA +ATAATGCATTTAACGACGTAAAAATGCTTAAATTAGCCAACTGGTATCAT +AGGTATTAAAAAAATTCGTTTTCTTAAAATCCATTTTTTCCTCTTAATGG +CCATTTTTTTACATTCCCCGTAGTTTGCCCGTAATTGGTCCGTCCCGCTT +TTCATATCCGTAGTTCACCCGTTAATGGTCCGTTCCCGGTCCAAGATCCG +TAAACGGACCGTACCGGCTTTGCCTGTGGTCAGATATAACTAGTAAGTCA +AGTGGTGTCAGGCTGCCCCATTATGGTTTGATCTACTAAAAATGCGGGAA +TTTTTCCCCCAGAAAAACGTGACGTCAGCACACTCTTAACCATGCGATAC +CAGTTGAAAAGTCTGCGTCTCTTCTCCCGCATTTCTCGGAGATCAAACCA +AAATGAGGCACTTTGACACCACGTGGTAAGTTATAACAAACATAACAAGG +TGTCGAAACTACTGTAATTATAGTCTTACTTCAATATACAACCTAATAAG +AATCTCCACCACTTACCTCAAAAAGCTGAAAATATTCTTATTATGATGTT +CTGGTGTGCTTCCACTTCCGGACCCCGATGATGCCCCATTCACATGATTG +GAGTGCCATGATTGTGTCATTTCATTTGTTCCGTTTTTCGAGATCGGAGA +TTTGGTGGAGCCTCCTGAAAAAACAGAAATAAATGTGGAATTATATGGGG +GCTCATATGTTTTCGGAACTAACCTTTTTGGGAGAAGACTCTGGAGAGCA +TTTTTGTGTAAACTGACTAACTTGTGCCACCCCCCGCACCCCATAGAATA +AATTGGCTAAAATTTCGAAAAAAAAAACTCGCCACCGCCGTTATTCTTGT +ATTTCTTCTCCTTATTCCGACTCCGACGCAAAGTGAAAATTGACGAGGAC +GGCTGGAATAATGTTTTGTGTTTGTGTCTTGTGGAAGAGATGCAGAATCG +CCGGAAGTTTAGAGGGGGTGGCGTGACTTACTGACCTTCCGGGTGCTCGG +CGAGCCGTCCACGTCCTGAATTCGTTGCGGCGACATTGTGGTGATCTGGA +ATATGTGGAGCGTAATCGAAATATTTAGGCTTAGGCTTAGGCTTAGACTT +AGGCTTAGGCTTAGTCTTCGGCTTAGGCTTAGGCTTAGGCTTAGGCTTAG +GCTTAGGCTTAGGTTTAGGCTTAGGCTTAGGCTTAGGCTTGGGACTGGGC +TTAGGCTTGAGCTTTGGCCTAAGCTTAGGCTTAGGCTTACGCTCAGGCGT +AGGATTAGGCTCTGGCTTTGGCTTTGGCTTAGGCTTAGACTTAGGCCTAG +GTTCACGCTTAGGCCTAGGCTTACAAGAAATATCCTCATTTACCGACCGA +CTGTGGCCTAGGATTTCAAAAAATGACCCTTTTTGAAAAATCGAAAAATC +GAAATATCGACGAATTTTCGTTTTTGAGGCGTTTTTTTAATTTCAATTTT +TATAATTTTTTTCGGTTTTTCGATTTTTCTTGAAAATACCAAACTCACCC +TATGCAAGTTCTCCGACGACTTCGAACTCCTAACAGCGGTGAGCTGTGGA +TGATGTATCATAGACAGTGAGCACGATGCTCTCATAGGCCTCTCGGCCTC +CTCCAGCCCAAACCATACTCCAATATGCGAGGTTATTTTTCCCCACATTT +GATTGAAAGATGGTATCTGCAAGTGAAATTTTTGGGTGGGGAAAAAGAAC +GTGAACGAATAATTTGGAGCAGCGGGGGGGGGGGTGGAAAAATGAAGAGC +TGCTCGGAGGAGGGAGCCGTACTACGAAATGAGAAGAGGAGAAGCCGGTG +TGACGGCGGGGCGTTAATGGGTTACTAAAGCCTCCACATTCCCATTTTCA +GCCGTTTCGAAACAAAGAAAATAGAAGAAAAAAAAGACAGATGAAAAATG +ACTTGGGTGGGTTCGGTGAAAAACAGGAAGCAGGAAGAGTGAGGAAATTG +GATGGTGGAAGAGTTTTGGCATTTCTAGGTTACCGGGAATCTTTAGAGAC +ACCTGGGCTGTCCCATTACAGTTTGATCTACAAAAAATGCGGGAATTTTT +CGCCCAAAAAATTTTCAACAAATTTAGATATTTTTTACATTTTTTCCCCA +ATTTTTTCAGCCATATTTCAGCCATGACTGTCCTTTTTTTCGGGCAAAAA +AAAATTTTCTCTGAAAATGTTCGAAACTACTAAATTATGCAAGAAGACAA +TTTTTAAGGTTCGGAGATCAATTTTGAGTCCTCTAGCTTCAAAATTATCC +ATTTTAGAAGAGTTTTAAAATTGTAATTTTTTACAAAAATTGCTCAATTT +TGCCACTTTTTAATAGTTTTCTAAACCTAGATTTTCTGAATTCTGCATAT +ATGAATTACCCGTTTTCAACAAATTTAGACAATTTTTTTCATTGTTTCCA +AAATTTTTTTCAGCCATTTTTCAGCCATTACTGTCCTTTTTTTGGGCAAA +AAAAATAATTTTTTGAAATTACATTACACACCTTCCATGTTTTCTTCGTA +GATTTAAGGTCCATGTCCACTGCTTGGTGGAAGAGTTTTCCGAGTTTTTA +GGTCACCGGAGAATTTGAGTTGGAAGAGTTTTCGCATTACTCCCCAACTG +TGATAGAACTTCAAAAATGAATATGCAGGGACATCACTCAAATTTGACAT +GTCAGTTTAAAGGAACACGCTGATTTTCCGAGTGGGTCTCGCCACGATCC +AGGTGCTAAATTTTCACAGTTTTTAGTATGTACCTAGTGGCTTATTTCTA +AACAACACGCGCATAACATCGGAGTGTCGTTGCATAGGCCACTCTAAAAC +ATAAACAAATGTGTGAAGAAAAATTAAACACAACTAGCACGGATTTCTGA +CGTCCCTCAGAAGTTGAAATGGAAGAGTTTTTGCCGAACTAGGCCAGGCC +ATATTCGGGGTAGATTTACGGCGCGTCGCGGCTCGATTTTAGTTGTAAAA +CTAAATGTATTTGTCCGTGTGGAGTACACGACTTTCCCAAGCGTTGTCCG +GCAGGCGATTGTCAATGGAGCGCGAAAATTCAATGAGGAAGGCCAGAACC +CCGTGGGATTTTGAAATTTTTTTCAGATATGACAAAAAATGACAATGCCA +AATTTAAAATGCATTAATAGCGGACAGAGGAGAGAATAAGTAGGGAAAAA +AGAAGAAAAAAAAAGACGGGCGGCGCTTCTCTCATAAAATAGTAATTGGT +CATTCTAAGTGTGCCTATTGTTCCTTATTTTTCGCTTTTTCTTGGCTCAT +TTTAGCTCAAAAACCAAATGTCGAAGAGTTTCTAGAGAACTAGGCCACGA +GAGGGAAAAACTAGGTCACTGGAATTTCTACGCTAAAAATTTGGCCCAGC +ATATTTACCTACGTGGCCGTAAAAGAGAAAGTTCGGCCACTAACTTTTTC +GGGCTATCAAAAAAGGTTTACCAAAACTTTATAAAAAAGAAACCACTTGT +GGAAAATGGCCGTGCATACTAAAGTTCGGCCACAAACTTTTTTAAAACTT +TTTTGCTCAAATTGAAGTACAGGACCACTTCGATGGGCGGTTTTCACTAC +TTGGCCGTGTAAGAGAAAATTCGGCCACCAACTTTTATTCAAGGCCACAC +CTCCAAATCCTTCAAAGCTTCAAAAATTTTCTACGTGGCCGTGTACGAAA +AAATTCGGCCATCATCTTTTTTTTGGGTCACGTCGCTAAATTCTTCAGAG +CTTCAGAGATTTTCTACGTGGCCGCGGGAGAGAAAATTCGGCCACCAAAT +TATTTTTTAAGGCCAAACCTCCAAATCCTTCAGAGCTCATATTTTCTACG +TGGCCGTGTACGAGAAAACTCGGCCACCAAATTAATTTTGAAGGCCCCAC +CTCCAATTTCTTCAGAGATCATATTTTCTACGTGGCGTGGCCGTGTACGA +GAAAATTCGGCCACCAAATTCTTTTTTAAGGCCAAACCTCCAAATCCTTC +AGAGCTCCTATTCCCTTCGTGGCCGTAGGAGAGAAAGTTCGGCCACCAAA +TTAATTTTTTAAGGCCACGTCGCCAAATCCGTCATATTATGAGGAAAAAA +GTAAAAAATAATACTAATAACAATTGAAGAAAAATTGAAAAATATAAAAA +TATAAGAGACTAGTAAATGAAGAGGAATGAAGAGCGAATAGGAGGCCAGA +GAGAGAGAGGGGAGGAAATTGTGCTGTTGAAGACCTTGAAGAGAGAGGCA +CAGCAATAGATAAATTGAATTACAATGGGGTGAGGAGCCGGGTCTGTCCC +CCCCCCCCCCCCCCCCCAAAAAGTGCGAACAAATGTGATGAAGCGCAGAG +AAAATCGGGAGGGGGGGGGGGGGGGGGGGCTGTGCTCCAGGTTGATTGAG +CCAAGTGTTTCGACTTTTTGCCGAACACGTTGAGCTCTCCGATGAGCCGG +GCTCACCGGAGAGCCCATGGAGCCCCATGAAGCAGAGGGTCACAAGGTTT +GAGACTTCCGGGAGATAGACTGCACAACGTACAAAGACTAAAACTTTTTT +TTTTTGCAGGTGAGGCATGAAATTTAGAGCTTTTTTGCAACAAAATCCAA +CATTTTTTTTGTAAAATAAGGTCAAATGACGAGTTTTTTCTATAATCTGG +CCGAGAAAACCTGAAAATTGATCTACCTTGATAAACAGGGCGCGCGGGTG +TAAAGCGGAGCGTCGTTGTGAAGCTGAAATATTGTTGAACGAATTCTGGA +ATTCTGGCTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCAAACTAGG +CCAGGCCATATCTGGGGTAGATTTACGGCGCGCTTTTTTTTGGGCATAAA +ATTCCCGCATTTTTGTAGATCAAACCGTACAGCCTGACATCACGTGTTTT +TGGCCCCGCTAAACAGGGCGCGGGTGTAAACATTCAAATATTATGTGAAA +AAAACGCATGAATTTGAACAATTTTGCGTAGAATTTTTGAACAAAAAAAT +ATATGAATAACTAATGCAAAACGAACAGAACTAAATTTTCTGAAATTGAA +GAGAGGGGAAAAAAATTGGGAAATTTTGGACATTTTTCCCAACGACGCAT +TGAGCCACCGGACCCAGATGAGCAAATAAACCGGGGGAGCAGGAGGAAAA +TGGAAATGACAAAAAAGGCGGAGGAGGAGAAGCTCACGTATTTAGTATCC +CATAGAAAGAGTCAATTTTCATAAACTGCGACAATTGACTACCAGGGAGC +AGTTGCGCTCTACCGACAAAATCAAGCAAGGTCCACGTAGTGCCAGTCTG +TCCCATTACGGTTTGGTCTACAAAAAAATGCGGGAAAATTTGGCTCAAAA +AAATGTGACGTCAGCACACTCTTAACCATGCGAAATCAGTTCCCGCATTT +TTTGTAGATCTACGTAGATCAAGCCGAAATGAGACACTGTGGCACCACGT +AAAGGTCCTTCTTACAGAGTGCGCTAGAGCGCGATTGCCAGTTTTCTAAA +AAAAAAATCTAACATGAAAAAATGTGCGTAAAAGCGGAGTTTCGTTGCGA +TGTAAAATTTGGAGAAAAATTGAAAACTGAGGAGGAAGAAAAAGTTAAAT +GCCTCTTCGCAAGACCGGGATTAAATAGTATTTTACTTCTTTTTTTTCCT +TCAACTTTTTGAAATTTTTGGCGGAATGGGGAAAAGGAAAAAAAAACGAA +ATCATCGATAAAAACAACACTAGGCCACCCAGAAGTAAACCTAGGCCACC +TTATAGAAATTCTAGGCCACCCTGTAAGAATTTTAGGTCATCGCGTAGAA +AAGCTAGGCCACCCTGTTGAACTGCTAGGCCACGCTGTTGTACACTTAGG +CCACTCTGAAAAAAATCTAGACCTCCCTGTAAAAAATCTAGGCCACCTTG +AAAGAATTTTAGGTCATCGTGTAGAAATTCTAGGCTACGTTTTCGAAATT +CTAAACCACTCTGTAGAAAACTTGGGTCATCTACCGAAATTCTAGGCCAC +CCTGCAGAAAACTTAGGCCATCTACCAAAATCCTAGGCCACCCTGTAGAA +AACTTAGGTAATCTACCAAAATTCTATGCCACTCTGTAGAAAACTTAGGC +TACCTCGTTAAAGTTCTAGGCCACCGTGTAGAAATCTTAGGCTACCTCGT +TAAAATTCTAGGCCACCCTGTAGAAAAATTAGGTGATCTACCAAAATTCT +ATGCCACCCAGAAGTAAACCTAGGCCACCTTGTATAAATTCTAGACCACC +CTGTAGAAAACTTGGGCCATCTACCAAAACTCTAGGCCACCCTGTAGTAA +ACTTAGGTCATCTACCAGAAAACCTAGGCTGTTCCGTTACGCCGCATGCT +AAAAAATCCAGACCGCCCTGTAGAAAATCTAGGTCACTCCCTACAAAACC +TAGGCCACCCTGTGAAAATTCTAGGCCACCTTGTGAAAATTCTAGGTCCT +TCCCTAGAAAAACTAGGCCACCCTGTTAAACTCTTAGGCCACTCTCTAGA +AAAACTAGACCACCCTGTAAAAAAACCTCGATGGCCTAGAAAAAAGCTTG +GGAAATTTTGTGGAAAAAGTTAAAAAGGAAAATCTAGGCCACCCACAAAA +AAGCTAGGCCACGTGGCAAGAAACTTCAAAAGTGACGAATGATGAGACGA +GAGGCGTATGTTTGAGGTCAAAAAGGGTGAAAAAGAAGAAAAAAAGACGA +GGCGGAATGTTTCTTTTTTCTTTTCAAACTGAGCATCTCCCCGTCTCTCG +GCCACCAATACTACTACTACTACAACTATTCATGTTTTTAGAGAGCCCCC +CCCCCCCCCCCCCCCGGCCACTTGTCAGCTTTTTTGACGGAAGATGCCAA +CACACAATCGAAGGGGAAACCATAAAAACCCGCCAACGACACTCCGTTTT +AAGGCCCGGATGCCCAGATGTATGAAAAAATGGAGAAACTGAAGGCTTCT +CCCCTCCCCCCCCCCTCCCTTAAAAAATGATGAATTACTAATGGTGCCGC +CCATGTTGTGTTTGTTGCTTTCCCCCCGTGCTCCATCATTGGGGGAACAT +GACAGCCACCTTGAGTTACATGTATACAAAGTGACAGGAGGGAAAGATAG +GGGTAAAAGTGCAAAAAGGGAGTCGCGGGTTCGAACCAGTGAGGGTTTGC +AAAATTTGGGCTGTGCGCGGCGCCTTAGACTACTGCGCCACGCGTGCGAA +CTGTAAATAGAACTGTCAGGCTAAATACGAACGTTCGGTTTTTAAACTCG +ATTGGCAAAAATGAAATGAATGAATAGACAGGAATGACTCATATTTTTTG +CATAAAGGGGCCTGGGTCTGGGAACTAGGAACTAAACTAAATGAAGGAAA +ATTGAGGCATCTCCCGCCAATTGAGTAGAAAAGTGATGAGAGCGGCAAAA +AGAGATAGGGGGGGGGGGGGGGACCCATTCATTTTACACTGGACACCACA +CTCCCCACTCTCTCTTTGATGACGAAGGACATGAGTACGAACTCGCGAGC +ACAGAAATACGACACGTTTTCTTCTCATTTTTTTTTTGCAAAAGGTGATG +ATGATAATCGCTTCTAAACGAGGGGAAGTGTACTAAATAATAAAATTGCG +AGTGGATATTGGATTTTTTCGTTATTTTCCGCTCTGAAAAACCTGAAAAT +CAGTCGGAAATTCGAGTTTTGGCTAACTTTTTGTAAATTTTGTTTAAAAA +ATCACTTTTCGCTGCGAAACCACCTGAAAGGATATAGTGGGCATGCGCCT +TTGAGCGCTACAGTGGAGGGAATGCAGTATCTCTTGGAAGTCAGATTTGC +CGATTGTTTTAACGCAAAACCTGAAGTATAGAAAAGAAAACATGAAAATT +TATTGAAAATATAATAAATAAATTAAGCAAATTACATATCAACTGAGAAA +ATCACCTGCTGGAGAGAAAAATTGAAAAAAAACCAGAAAATCGGCAGGAA +AGCAATAATCGAGCAAGATCCTTGGAATTTTTAGGTGCAGATATCGGTTC +AAAAGGAAAACACTATTTTAGCTTTTTTTTGTCTTAAGTTCAATGTTATA +ACACAAGAAACGATATTTCTATGGCATAATTTTTGGGTCCTAGAAAGCAG +ATTTTCACGTAGATTGGTCTGAAAATAATATTGGAGTAATTTTTATTATT +TTTCCTTGCATTATAAAATTATTTCTCTTTTATTTCTCAATTCTAAAACT +ATTTTCCCGTTCTTTTTCCCTATATCTCGCGCTTCTCCGGGATGTTGCAT +CCCATTCGACGTGAGGAGTCTCGGAGTCTCTCCGCTGCAAACGCGCTCCA +CTGGACACAGAAAATAAAAAAAATAAATTGTTCGAATTCATGCAATTTTC +TTCTAATTTTCTCCGTTTTTCGTCAATTTTTCTGCAAAAAAGACAAAATT +TACAGGTAGCAATGTATGGGGGATATCAAGGAGCATATGGGTAAGGCTAA +AAACTAGGAAAAACTAGGAAAAACCCATGGAAAACTAAAAAACTCTGAAA +TTTCAAATTTCAGAGCCTACGGGAACCAGCAGGCGGCTTCACAACCATAT +CAACAGCAAGGACAACAGAATTATTACCCGTAACTCGAAAAAAATTCAAA +AAATTCGAAAAAAATCAATTAAAAAGATCAAAATTTTCAATTTTTTCAGC +GGAGTGAACCCGTACGCGGCGAATTATGGGTACGCGGCAGCACAGCTTCC +ACCACCACCTCCACCACCGCCAGTATGCCTTAAAATTGAAGAAAATTTGA +TTAAAAAATTGAAAAAATGCAAATTTTCAGGTAGCCGATCCATACGCCGG +CCAATTTCAGACATTTCCCTCTCAAGCCACCAAAATAGCGCCGAATCCCT +ACTTTAAAAAGCCACAAAATCAGCAGCAACAGGGTATTTTCGCCGTGTTT +TCTGGCTGCAAAAAAATTAAATTATCGATTTTTTTAAGGCTACGACGCGG +CGGTCTACAATTACGCTCAGCAGAATACTCCGAAAAATTGGAAACACGGC +GGCGGCGGCCGGCAGGGGAGACAGGGATCTGGCGATAATAAACAGTACTA +TTGTGAGGTAAAAAACGTGGAAAAAATCGAGTAAAACACAGTTTTTTATT +CAAAAATCTGAGAATTTCCGTAAAAAATCCTGTTTTTTGACGTTTTTAAG +CAAAAAAATCGGGTTTACAGCACTTTTAGAGATAAAAAAGTGGAAAAAAT +CGAATTTTGGACCTGATTTTGGGCTTGAAAGCATGATTTTTATCAGAAAA +CACAGTTTTTTTTGTCAAAAATCTGAGAATTTCTATGAAAAGTCTTGTTT +TTGGATGTTTTTAAGCAAAAAAATCGGGTTTACTTCATTTTTAAGGGTAC +AAAAGTGGCGAAAAGTTAATTTCTTGTAAATTTTCACATGCAAAATATTG +AATTTATTAGGTTTTTTCCAGAAAAAGTAGTTTTTTTGCTACATTTACAG +GCTTTTAAAACTGAAAACATGTTAAATTTCGAGGAAAATCGACAAAAAAA +CCCATCTTTTGGCCAAATTTAAATTTTTGAGCAAAAAAATCGGGTTTGCA +GCACTTTTAAAGATAAAGAACTGAAAAAATTCAATTTCTTGGAGAAAAAA +GCAATTTCAACACCAAAAATAGCAAAAAATTCGGGAAAATTGTCAATTTT +TTTGAAAAAAAACTTGAAAAACCGGATTTCCAGTTGTTTTTTCATGATTT +TTTCTCAAAAATCTCATAAAAATTGGAAAAAATTCCGAATTTTTTACTGA +AAATTCGAGAAAAATTGAAATTTTTTCAATTCCGATTTAAAAAACATTTT +TCGCTAAAAAATTGAATATTTTTAGGCTTTAAAGTTCGGAAAAGATGCTG +AAAATTCGGAATTTTCTGTTTAAAGAAATTTTTTTTGTGCTGAAAAATTG +ATTATTTTTATGCTCCAAAAACTGGAATTTTTGAAAAATTCGGACAAAAA +AATTTTTTTATTAGTTTTTAAATTTTTTTAATTTTTCAACCCGCTTTTTG +CCCAAATTTAGATTTTTTATTTAAAAAATCGGGTTTACAGAACTTTTAAA +GGTAGAAAAACTGCAAAAAGTTAATTTCTTGGATATTTTCAGGCTTTAAA +GTCCAAATAAACATGTTGAAAATTGAAATGTCTTCAATTTCGATTAAAAA +CATTTTTTTCGCTAAAAAATTGAATATTTTTAGGCTTTAAAGTCCAAAAA +ACAAGCTGAAACTTGAATTTTTTTCATTTTCAATTTAAAAAAATTTTGCT +CAATAGATTTTCAGGCTCCAAAACACTGGAATTTTGGACTTAATCGAAAA +TTCGGACAAAAAAATATTTTTATTAGTTTTTAATTTTTTTAATTAAAAAA +AATCCCAATTTCCAGGTGTGCAAAATCTCATGCATTTTTAGGGTTAAAAT +TGGAAAAAATTATCAAAAATTTTCGAATAAAAATGGAATAAATCTGATTT +TTATAAATTTTTCGAAAAAAAAATGATTTGTTGGCAAAAATTAAATATTT +CAGGCTTTGGAAGTCCAAAAACCATGTAGAAAATTCGGAAAAAATCGAAA +AATTGGAAGAAAAAAATTTTTAATTTCAAAAAATTTCAAAAAAATATTTA +AAGCTGGTGTAGTCGACTTTATTTATTGCTTAAGTAGACTCTAAATTGCC +TGGAAACACCGAATTTCATAATGAAACTTCTTGAAAACTTCTCAAAAAAA +AAAGTTATGACGGCTCAAAAAATGGACTAAAATTAGTTAAAATTTGAAAT +TTGACCGACTTTTCAAGCGGCTGGAAACATTTTTTCTTTGAAATCACCGT +CAAATTTTGAGTATACTGTGCAATTATGTTGCGTTTTCAACTTCATTTAG +GTATTTTAAAGTCAAAGGGCGGCGAGATTTTTAATTTTTTGAACCAAATC +TCGCCGACCATCGACTTTAAAATATCTAAATCGAGTTCAAAACTCAAGAT +AATTACATTATATAATCAAAATTTGACGGTGATTTCAAAAAAAAGGTAGT +TTCTAGCCGCTTGAAAAGTCGGTCAAATTTCAAATTTTAACCAATTTCAG +GCCATTTTTTTAGTCGTCATAACTTTTTTTCGAGAAGTTTTCAAGAAGTT +TCATTATGAAATTCGTTGTTTTCAGACAATTTTGAGTCTGATAAAGCAAT +AAATAAATTCGACTACACCGCCTTTAAATATTTTTTTGAATTTTTTTAAA +ATTAAAATTTTTTTTTCCAATTTTTCGATTTTTTCCGAATTCTCCACGTG +GTTTTTGAACTTCCAAAGCCTGAAATATTCAATTTTTGCCAACAAACTAT +TTTTTTTTCGAAAAATTTATAAAAATCAGATTTATTCCATTTTTATTCGA +AAATTTTTGATAATTTTTTCCAATTTTAACCCTAAAAATGCATGAGATTT +TACACACCTGGAAATTTGGAATTTATTTGTAGAATTTTTGGATTTTTTAA +TTAAAAAAAAGTTTTTTCCGATTTTTTTTCCGAATTTTCAACATGGTTTT +TGAACTTCCAAAGCCTGAAAATGATTTTTTGAATAACTTTTTGATTTTTT +CGGTTATTTTTGGTTTTTTTTTTTAATTTAAAAAAATTAAAAAATTAATA +AAAATATTTTTTGTCTGATTTTTCGATTAAAGTCCTGAAAAAAAAATCTA +TTTTATAGCAAAAAATCCTAATTTTCAGCCTGTTTTTTTGCCTTGATATT +CAATTTTTACAAAAAAATTTTTTTTGGAGTTTTTTGCCTAAAAAATCGAA +AAAAAAAATCATCTTTTCTCGAATTTTTGGAAGAAAAATTAAAAATTTCA +AAAATAATTCAATTTTTTGGTGTTTTTCGGGTTTTTTACATAATTATTTT +TTAATTTAAAAAGTTTGTAAATAACCATAAAAATTTATAATTTTTTAAAT +TAAAAAATAATTATTAAAAAAAACTCGAAAAACACCAAAAAATTGAATTA +TTTTTGAAATTTTTAATTTTTCTTCCGAAAATTCGAGAAAAGATGATTTT +TTTTCGATTTTTTAGGCAAAAAACTCCAAAAAAAAATTGTTTTGTAAAAA +TTTAATATCAAGGCAAAAAACAGGCTGAAAATTCGGATTTAAAAAAATAA +TTTCTTGCTATAAAATAGATTTTTTTCAGGACTTTAATCGAAAAATCAGA +CAAAAAATATTTTTATTAGTTTTTTAATTTTTTTAAATTAAAAAAAAAAT +CAAAAATATCCGAAAAAATCGAAAAATTATTCAAAAAATCATTTTCAGGC +TTTGGAAGTTCAAAAACCATGTTGAAAATTCGGATAAATAAAAATATTTT +TTTGTCCGAATTTTCGATCAAAGTCCAAAAACTTCCAGTTTTTGGAGCCT +AAAAATAATCAACTATTGAGCAAAATTTTTTTAAATTGAAAATGAAAAAA +ATTCAAGTTTCAGCTTGTTTTTTGGACTTTAAAGCCTAAAAATATTCAAT +TTTTTAGCGAAAAAAATGTTTTTAATCGAAATTGAAGACATTTCAATTTT +CAACATGTTTATTTGGACTTTAAAGCCTGAAAATATCCAAGAAATTAACT +TTTTGCAGTTTTTCTACCTTTAAAAGTTCTGTAAACCCGATTTTTTAAAT +AAAAAATCTAAATTTGGGCAAAAAGCGGGTTGAAAAATTAAAAAAATTTA +AAAACTAATAAAAAAATTTTTTTGTCCGAATTTTTCAAAAATTCCAGTTT +TTGGAGCATAAAAATAATCAATTTTTCAGCACAAAAAAAAAATTTTTAAA +CAGAAAATTCCGAATTTTCAGCATCTTTTCCGAACTTTAAAGCCTAAAAA +TATTCAATTTTTTAGCGAAAAATGTTTTTTAAATCGGAATTGAAAAAATT +TCAATTTTTCTCGAATTTTCAGTAAAAAATTCGGAATTTTTTTCCAATTT +TTATGAGATTTTTGAGAAAAAATCATGAAAAACCAACTGGAAATCCGGTT +TTTCGAGTTTTTTTTCAAAAAAATTGACAATTTTCCCGAATTTTTCGCTA +TTTTTGGTGTTGAAATTGCTTTTTTCTCCAAGAAATTGAATTTTTTCAGT +TCTTTATCTTTAAAAGTGCTGCAAAAAACTACTTTTTCTGGAAAAAACCT +AATAAATTCAATATTTTGCTTTTTTTTTTCCTTTTTTTGTGAAAATTTAC +AAGAAATTAACTTTTCGCCACTTTTGTACCCTTAAAAGTGCAGTAAACCC +GATTTTTTTGCTTAAAAACTTCCAAAAACAGGAATTTTCGGGTTGAAAAA +TTAAAAAATTTTAAAAACTAATAAAAATATTTTTTTGTCCGAATTTTTCC +AAAATTTCAGTTTTTGGAGCCTAAAAATATTCAATTCTTTAGCGAAAATT +GTTTTTTTTTCAAAAACTTCCTACGACTACACCACCTTTAAAAAACCAAA +TTAAATTAGAGAAATTCTTCAAAAAATCCCCAAATTTCCAGGTTTGCAAA +ATCTCGTGCGCCGGCGGAATCACATACAAAGAGCATCTGGAAGGTCAACG +GCACAAGAAAAAAGAAGCTATGGCAAAACAGGGCATACCGAGCACTTCCC +TCGCTAAAAATAAGCTTTCCTATCGTTGTGACCTATGTGACGTCACTTGC +ACCGGTCAGGACACGTATTCGGCTCACGTTCGTGGCGGAAAACACTTGAA +AACTGCACAATTGCACAAAAAATTGGGAAAACCGGTGCCTGAAGACGTTC +CGACGATTATTGCTCCGGGAGCCGATGGGCCGACGGAGACGAAAGCCAAA +CCGAAATGGCATCAACAAGCTCTGCCTGGCGGGAAAATGTGCGGAATTTG +AAAAAAAAATTTTGGAAAAAAACGAGAAATTGCACATTTTTAGGCTCAAA +AATCTGAAAATTTAGCAAAAAAATTTAGAAAAATTTGGATTTTTAGAAAA +AAATTAGCGTTTTCTCGCCAAAAATGCTCAATTTTCGATAAAAATGTACA +TTTTTTTTTTTGGATTTTTAAAAAAATATTTTAGGGCTCAAAAATCTGTA +AATTCTGCAAAAAAAATTCTAAAAAATTTTGAAATTTTGAGATTAAATCT +TTCGCCAAAAAAACGAAAAATTTGAATTTTACAACTTAAAATGCTCAATT +TTCGAGGAAAATGTAAAATTTTTTTTCAATCTGAAATCTGTAATTTCTTT +TAAAAAATCGATTTTTTAAAAAATTTCTACTGTAAAATTTTGAAAAAGTT +GAACGACGTCAAAAAGAAGGTAAAAATCCGAAAAAAAGCAACAAAGAACT +AGGAATTTTAAAATTTCCAAAAATGGTCTGAAATTTTGAGAAATCAAAAA +AAACAAGTTTCTTTCAGTTTTTTTTAGAAAAAAAAATCGTATTTCAGAAT +TTAAATTTAAAGCATATTTTAAACTTTTAAACGCAAAAACATTATATTTT +TCTTTAAAAAAAAAACAATTTAAACGCATTTATTGCTTTATTAGACTCAA +AATTGTCTGAAAACACCGAATTTCATAATGAAACTTCTTGAAAAAAAAAA +GTTCTCAAAAAAACAAGTTATGATTGCTCAAAAAATGGCCTCAAATTAGC +GGAAATTTGAAATTTGACCGACTTGTCAAGCGGCTGGAAACTAGCTTTCT +TTTTTGAAATCACCGTCAAATTTTGAGTATAAAATGTAATTATCTTGCGT +TATCAACTTGATTTAGGTATTTTAAAGTCGATGGACGGCGAGACTTTTAA +AGGTGGAATACCGAAATTTAAGACTTTGCTTTTTTAGACCGAAATTTTGG +CAACTTATCGGTGCGACACTGCAAAATTGCCAAAGTTTGAGATTTTAGCT +AAAAATAGGCCGTTTTTTCCAAAAACTTTGATCGGCCATAACTTTTTTTT +GGAAAATTTTCAGAACGTCTCATTACGAAATTCGGCAGTTTTGGGCCATT +TTGGGTCTAAAAAAGCAAAGTCTTAAATTTCGGTACTCCACCTTTAAAAA +TCTCTCCGTCCATCGACTTTAAAATACCTAAATCAAGTTGATAACGCAAG +ATAATTACATTTTATACTCAAAATTTGACGGTGATTTCAAAAAAAAAAAG +TTTCCAGCCGCTTGGCAAGTCGTTGAAATTTCAAATTTCCGCTAATTTGA +GGCCATTTTTTGAGCAATCATAACTTGTTTTTTTGAGAACTTTTTTTTTC +AAGAAGTTTCATTATGAAATTCGGTGTTTTCAGACAATTTTAAGCCTAAT +AAAGCAATAAAAAATTAGAATATACCACTTGAGAAAAATTAAAGATTTTT +TTAAGTTTAAAATAAAAAAATATGTTTCTTTCCGATTTTTTGATAGTGAG +ATAAAAGTTTTGGCGGGAAATTCAAATTTTCTAGAAAAAAAATTGAAAAA +ACTCATAGTGTATAACTGCACAGAACGGCTGGTTATGAGTATAGGTGTCA +AAGTGTCTCATTTCGGTTTGATCTACAAAAAAAGCGGGAATTTTTCCCAA +AAAAAGTTACGTCAAGATGCTCTTTTTTATTAAATTTAATTAAAAAAGAG +AGCATGCTGACGTAACTTTTGAGGAAAAATTCCCGCTTTTTTTTGTAGAT +CAAGCCGAAATGAGACACTTTGACACCACCACGTTCAGACAAAATCCCCC +ACTAAATATTTGGTAAAACTAGTTCAAAACCCGACTGTAGTACATTTTTG +GCAGAAATTTGAAAATTTCAACTTAAAACCGCTCAATTTTTCCAAAATTT +CACAGTATGCATTTCAAAAATTATGGTTTTGTTTTTTTTTAATCGAAAAA +TATATTTTTAACAAAAATGGACCATTTTTAGTTGTAAAATTCAATTTTTT +GGCGCTTTCAAATTTTTAGGCAAAAAATGTGCAATTTTCTCCAAAAATTT +TCAGATTTTTTAACCCTAAAATTAAAAAAAAATCTAAAATATTAGAATTT +CCCGCTTTTTTTTTCAAATATTTCAATTTTTCCAATTAAAACACAAAAAT +TGAGCATTTCTAGTTGGCACATTCAAATTTTTAGGCGAAAAATTTGATTT +CAAAATTTCAAAATTTTTCAGAATTTTTTTTTGCTAAATGTTCAGATTTT +TGTGCGCAAAAATATTTGAAAAATCCAAAAAAAAAACTCGAAAATTGAGC +ATTTTCAGTTGTAAAATTCAACTTTTTAGGCGGAAAAATGTGCAATTTTT +CCCCAAAAAATTCAAATTTTCCAACTTTTCTCTCAAATAGCACAGAAACA +GAAAATTTGTTATACCTAATGTGGAAAAACTGAATTAAAACAGATTTTTT +GAAAAAATGCACTTTTTTTTTTGCCAAAAAATAGTTCAAACCCCGACTTT +TTGTTCCAGAGTTTCCAGGTCATCGGTATCATCGCATAAATAAATTTTGC +GGGAAAAATTCCCGCTTTTTTTGTAGATCAAACCGAAATGAGACACTTTG +ACACCCCACGTTCAGACAAAACCCCGACTTTTTTCCAGAGTCATCGGCAT +CAACACGGTAAACTTCGTCGGCGGTACGAAGCTCAACTCCACCGGACAAC +TCGAGGAGAAGAAGCGCGAAGTTGCTGCCGCCGTGAGCTCAGTCGGCCGG +AAAACCGGTGGTGCTGCTGCAACGACGACGATTGAGGTGGAAGACGAGAA +GCTCCGAGCAATGATCGCCGCCGAGGAGGTACAACCTGTCGGCGAGGAAC +ATGTCACTGAAGAACGTGATGCTACCGGAAAACTGGTGCAATTCCATTGT +AAACTGTGCGATTGCAAGTTCTCCGATCCGAATGCCAAGGAGATTCATAT +CAAAGGTCGTCGACATCGTGTCAGCTATCGGCAGAAGATTGATCCGACGT +TGGTGGTGGATGTGAAGCCATCGAACAAAAGATCACAGGAGAAGCGGAAG +AATCAGCTTCCAGCAGTTCATGGTGTGTGGATTTTTTAACAAAAAATCAA +CAACAACACAAAAAACATGTTCCAATAAAATTGGAAAAAAAAATTTAAAA +AATCCCAAATTTCCAGGTGTCTAAAAATCTCATGCATTTTTAGGGTTAAA +ATTGGAAAAAATTATCAATTTTTCGAATAAAAATGGAACAAATCTGATTT +TTATAGAAAAAATAATAATTTGTTGGCAAAAATTGAATATTTCAGGCTTT +GGAAGTTCAAAAACTATGTAGAAAATTCAGAAAAAATCGAAAAATTGGAA +GAAAAAAATTTTTAATTTGAAAAAATTCAAAAAAATTTAAATTTTTTTAA +AAATTGAATTTTTGAGTAAATAATTTTTTGCTATAAAATTCAATATTTTC +AGGCTTTCAAGTCCAAAAACCGTGTTGAAAATTCCGAAAAAATCGAAAAA +TTGGAAAAAAAATTTTAATTTAAAGGTGGACTACGCTCAGTGGGGGGAAA +TTGCTTTAAAACATGCCTATGGTACCACAATGCCCGAATAGCATAATAAA +AAAATTTTAAAAAATATTCTAGATTTTATATGATTTTTTGAAAATTGGAA +AAATCACAGTTTTTGCCTAATTCCTATTTGAATTACCGCCAATTGGATTT +GTTCGGTGGAGCGCGCTTGCATGTTTTTAAATTTATTTATTTTATTTATT +GTTATTTTCCACCGATTTTTAATGTTTTCGATGTATTTTTGTTTGAATTT +TAGAGAAAAAGTCAAAATAAATACTAATTATCGATTAAAAAGCACGCTTA +CAGGCGTAAATCAGTGAAATTAATTAACTCAGGTTCGAAATCGTTTAAAA +TCGTTACTTTTTCATTTTTACGCCTGTAAGCGTGCTTTTTAGTCGAAAAT +TTGCATTTATTTTCACTTTTTCTTTAAAATTCAAGCAAAAATACACCGAA +AACATGAAAAATCGGTGGAAAATAACAAAAAATAAAATAAATAAATTTAA +AAACGTGCAAGCGCGCTCCATCGAACAAATCCAATTGGCGGAAATTTAAA +TGGGAATTAGGCAAAAACTGAGATTTTTCCAATTTTCAAAAAATCATATA +AAATCAGAAAAATTTTTGTTTTTTTTTTAATTTTTTTAAACATGACATTC +GGTCATTGTGACCCCATAGGCATGTTTTAAAGGTGGTGTAGTCGAATTTT +TTTTATTTCTTTATTAGACTCAAAATTGTCTGAAACCCCGAATTTCATAA +TGAAACTTCTTGAAAAATTTTCAAAAAAAAGTTATGGCGGCTCGAAAAAT +GGCCTAAAATTAGTGAAAATTTGAAATTTGACCAACTTATCATTGTCGCA +TCGGCTGGAAACAATTTTTTTTTTGAAATTGTCGTTCAATTTTGGGTGTA +CAGGTCGATTATCTTGCGTTTTCAGCTTTATTAAGGTATTTAAAAGTCGA +TGGACAAATGGATCTGTCAAATTTTTTACCAAATCTTTTCGTCCATCGAC +TTTTAAATACCTAAATAAAGCTGAAAACGCAAGATAATCGACCTGTATAC +CCAAAATTGAACGACAATTTCAAAAAAAAATTGTTTCCAGCCGCCGCAAC +AATGATAAGTTGGTCAAATTTCAAATTTTCACTAATTTTAGGCCATTTTT +CGAGCCGCCATAACTTTTTTTTTTGGAAAAGTTTTCAAGAAGTTTCATTA +TGAAATTCGGTGTTTTCAGACAATTTTGAGTCTAATTAAGCAATAAAAAA +AATTCGACTACACCACCTTTAAAGCAATTTCCCCACTGGGCGCTACTCGA +CCTTTAAAGGGGGAGTAGAGTTTGTGGGTATTTTGCTTAAATAGACTAAA +ATTGGTCCAAAACCACCGAATTTCATAATGAGACTTCACAAAAAATCTCC +AAAAATTTTTTATGGCCGGTCAAAATTTCGAAAAAAAAAGATGCAACTTT +TGCTAAAATCTGAAATTTCGCACACTTTTCTTTGTCTAGCAGCCGCTGGA +TTTTAGTTTTTCTAAAATTATCACCCTCTAATCCTTCTTTTTGGTAATTT +ATCTCGCGAAAATCCGTTGATTGAGACAACTTTTAGGCCGATAGGCATCC +AAAAATGATCAATCTAGGGATGCCTATCGGCCTAAAAGTTGTCTCAATCA +ACGAATTTTCGCGAGATAAATTATTAAAATAAGGATTAAAGGGTGATAAT +TTCAGAAAAACTAAAATCCAGCTGCTGTGACAAAGAAAACTGTGCGAAAT +TTCAGATTTTAGCAAAAGTTGCATCTTTTTTTTCGAAATTTTTTATTTTG +ACCGGCCATAAAAAATTTTTGGAGATTTTTTGTGAAGTCTCATTATCAAA +AATTCGGTGGTTTTGAACCAGTTTTAGTCTATTTAAGCAAAATACCCACA +AACTCTACTCCCCCTTTAAAGGAATGAAAATAATTATTGGAACGTTTGTT +TTTTAAAATGATTTTTTGTTAAAAAATCCACACCGACGAAAAATCCACAG +TTTCAGAGCCTCCGAGCTTCATGAAAACGCCGTGGTTCGCCCCACCGGCT +CCAGAAGGCCGGGAATTCAATATAGTAGATGATAGAACTATTAACGAAAA +GTACGCCGGGCTTAATCCGGGCGTCGAGTTCATTTCCAATGTGGATCGCC +TTATTTCGGATATCAATGAATCGCTGAAGTATGTGTCGGATAAGATCGAG +CGAGACGTTCGGAAGATCCCTGAAGACGTGGTGGAGCTTCCCACCACCAC +CACCACAACGGAGCAGCCGCCGCGGACAGTGTTGGGATGCTCGAGAGTTG +GAATTATTGCGAAGGGAACGTTCATCAAAGGGGATCGGTGTGCGGAGGTG +GTTCTGACGTGTACGCCGGTGCCGACTTCGGGGCTTGTTGAGCAGATTAG +GCGGTTGTTTGGAGAGTCGACGGTACGGGCCGGCCTTTTTTTTTTGCCGG +AAATTTGGGGATTTACCGGTTTGCCGGAATGTTTTTTTTTCCGGCAAATT +GCCGGTTTTCGCCGGAAATTTGAAAAACGGCAAACTGGCAATTTGCCGGA +AATTTTCAGTTTCGGCAAACTGCCGCGATTTGCCGGATAACAATCGTTTA +TTCCGGCAAATTCGGTAAGTTGCCGGTTTGCCGATTTGCCGGTTTGTTGA +ATTTAGCGGAAATACGGCAAACGGCAAGTTGCCGGTTTCCCGACTTACCG +GAAATTTGAAAAACGGCAATTCGCCGGTTTGCCGGAAATGTGAAAAACGG +CAAATTTCAGAATTCGGCAAGTTGCCGGTTTTTGCCGGAAATTTTCATCT +TAGGAAAATTGCCGGTTTTTGCCTGAAATTTTCATTTCAGGAAAATTGCC +GGTTTGCCGGTTTGTCGAATTTTCCGGAAATGTGGAAAACGGCAAGTTGC +CGGTTTGCTGATTTGCCGGAATTTTTAATTTTCGGCAATTTACCGATTAG +CCGGAAATTTTTTAACGGGATTTTTGATAAGACGGATTTTTTTCCGGCAA +ATTCGGCAAGTTGCCGGTTTGCCGGAATTTTTCATTTTTGACAAATTGCC +GATTCGCCGAATAATAATTATGCCAGAAATTTGAAAAACGACAAGTCGCC +GGTTTGCCGATTTGCCGGAAATTTCAAAAAACCGGCAATTTGCAGAATTT +TGCCGGAAATTTTCATATTCGGCAAAGCTACCGATTTGTCGGATTTTTTA +AACCGGTTTTTTCATAAGATAGATTTTTTTTCCGGCAAATTTCCGGCAAG +TTTCCGGTTTGCCGGAAATTTCAAAACCGGCAATTTTCCGAATTCTGCCG +ATTTCTTGTTTGACAATCTCAATAATTACACAGACATCTCTAACAATTGA +GCCGGATCCCGAGTCCCCATCAAGCCTTATCGTCACAGCTAACTACTTTC +CCAATATGAAATGTCGTATTCTAATCACTTCAGCTGTAGTTAGAAAAGAC +GATGATAGTATTGTAACTGGATGTGCTGCTGATAAGGATTTGTGCATTTA +TGCGCTCGCTTCTATTCGGAATACAAAGTGGTATGATGTGAGTTTTTTTT +AAATTTTACACATATTTTAAATTACTTTATCATTGGAAAATCTAATAAAT +TAGAGCCCAGTTTACAAAAAAATCTATATTTTTCCAAAAAAAAAATTGAA +AAAAATCGATAATTTCTCAAAAAATGTTTACAAAATCGAACTTTTTCCAA +AAAACTTTGAAAAAATCGATAATTTTAAATAACTGCTGACAATTAAAAAA +AATCGAAAATTTCTCAAAAATTGAAAAAATTAATATTTTTCCAGAAAAAA +TTGAAAAAAATCGATAATTTCAAATAATAGCTGAAGATTTTTTAAAAAAA +TCGAAAATTCGAACCTTTCTCAAAAAATTTGAAAAAAATCGATTTTTTTT +CCAAACTTTTTTTCATCAAAAATTTCTCAAAAATTTGGAAAAAATTAGAA +AAAATCAATATTTTTCCGAAAAAATTTGAAAAAAAAATCGATAATTTCAA +ATAATAGTTGCAATTTTTAATTTAAAAGCGAATTTTTCAAAGATTTTTCA +AATTTTTCACGTTTTTTTCTCTGGTTTTTTTAAATTAAAAAGCGTAATTT +TTACCGAATTTATCATTAAATTACATGAATTTTTCTGAAAGAGCGAGAAA +ATTAAAATAATTCGGAAAAAAAACAATTTTTTTCCAAATTTTCCAAAAAA +TCCCACAGAAACCACCAAACTTTACTTTTTTTTTTTAACAAAAAAAAGTT +TTAAAAAATATCAATTTCCGGCTTTTTTTCTGCCAAAAACTTTGGAAAAT +GTGGGTAATTTTGGCTTTAAAAGTTTAAAAATTGAAAAAATCAGGAAAAC +TTTTTGAATTTTCAGAGTCACTGCCAATACTTGAACTCGTGCCAATCAGT +TATTCGACTGCTCCGAGATTTGCGAAATAAATATCCTGAAGTTGCGTGTC +TTGATGATTATGTAAGTTTGAGAGTTTGGAAAAATATTCGAAATTTTTTG +TGAAAAATTTGGTAAAAGTTCAAAATAATGTATAATTCTTTAATTTTTTT +GCGAAAAAATTAATTTTTTGAAAAAAATTCTCTATATTTTTTGCTAAAAA +GTTTAAAAATCTAAATAGTATGAAAAAATATTTTAGCAGAATCAACAAAA +ATTGTATAAATTCATAATTTTTTGAAAAAAATGAAATAAATTTTTTTTTG +CGAAAAAAATATGCGAAATAGGTTTTTTTAATGCAGGAAATAGTTTTATA +GCTGAAAAAATGAGAAAAAACGGAGAAAATTGAAAAATTACGTACATTTT +GCAGATTTTTTGCTCACAATTTTGTAAAAATTTCGGCAAAAATATCACCT +TATTCAAAAAAAAATTGCTAAAAAAAATTTTTATAATACAAAAAAAATAT +GAAATCTATCTATTTTTTTCAAAAAATCTACCTAAAAATCTATTAATAAT +TTTCAATTTTTTTGTGAAAAATTTTGAAAAAATTCAAAATAATGTATAAT +TCTATAATATTTGGCGAAAAAAATTAATTTTTGAACTATAATTTTTTTTT +TGAAAACTAGTTTCAAAAATCGATATTTCACCTAAAAAAAACCCTAAAAA +TAGGCGGCAAACTATTTTTCCGGCAAATCGGTGGTAATTGCCGAAATTTT +TGGCAAATTGTGGCTTTGCAATTTTTTTTTTGTTGGAAATTTCAGATTTT +CAAATTTAATCGGCAAGAAAACTGAAAAATCCCGTTTAAAAAATTCCGGC +AAATCGGCAAACCGGCAAATTGCCGAATATAATATTAGGTCTCCTAATAA +GTTCCGGGTCAAAAATCATAACCTTGTTCGCTGTGTATCGATTTTTATGA +AACTTTGGGAGTTTATGTTATCAACCATGATCTTTCAATTGACAATAGTC +ACAAAATTTTTTGACCACCCCAAGTGCCCGTACTCGGAGCCAATTTTTTC +AGGCATTTTTCTGATCTCGCTTCTTTTTATCTTTGAATTGAGGTTTGTGT +GCGGATTTTGCTTTGTTTAGAATACATCATTAGAAAACGAGAAAAGTTTG +GAAAAAAATCTGTCCAAAAAATTTTTTTTGGTTGATCGTCAAAAAAGCTT +CAAAAAGATTTTTGTCGAAAATTCTAGATTTTTCATACAAAAATGATGTA +ACCAAGTGTAAATTATTTTTATACATACAAAACATATCAATTTAGTTCGA +TACACTAAAATGATAATAAAAAATATAATTTTTTCGGATAATTTTTGAGT +TTTTTGAATATTTCTTAAGTTTCAAATTTCAAACTAAAAGGATTTGTGTG +TGTAAAAATAATTTACACTTGGTTACATCATTTTTGTATCAAAAATCTAG +AATTTTCGACAAAAATCTTTTTGAAGCTTTTTTGACGATCAACCAAAAAA +AATTTTTTGGACGGATTTTTTTCCAAACTTTTCTCGTTTTCTAATGATGT +ATTCTAAACAAAGCAAAATCCGCACACAAACCTCAATTCAAAGATAAAAA +GAAGCGAGATCAGAAAAATGCCTGAAAAAATTGGCTCCGAGTACGGGCAC +TTGGGGTGGTCAAAACATTTTGTGACTATTGTCAAATGAAAGATCATGGT +TGATAACATAGATTCCCAAAGTTTCATAAAAATCGATTTGCAGCGAACAA +AGTTATGATTTTTGACCCGGAACTTATTTGGAGACCTTATACAATTTTTC +AACATTTTCCAGAAAATGGAGCTAATCGTCTCGAACATTATCGATTCATC +TCCAATGTCACTTGGACTATCCGATGCGTTTAAGCGAATTGTCGAAGCAC +TTGCATCTGGATATTTGTATTCTGGTAGGGGGGTTAACATTTAATTTTTT +TAAAATATTGAAAAATGAGCATATAAAAAGTTTTAAAATAATTCAAATTT +TTACAAAAAAAAAATTTTTTTTTTCAATTATTTTGCGTTTTTGTATGAAA +ATTGTGTTTTGAGAACGGAAACTCTTTTTTTTTAATTAAAATTTTGAAAA +AAAATCCTGGAAAAATGCTGAATTTTTCGGGATTTTTCGGAGCACATTTC +CAAGCTCTAAAAATTGCTGAAAATTGAATTTTTCAGAATTTTTTTGAATT +TTGCACAAAAATGACTATTTTAGGAACAAAAAAAACATTTTTCAATCACC +GAAAAAATGTATTAATTTTATATTTTAATGTTAAAAATACGGTATTTAAA +TTTTTTTTAAACGTTTTTTTTACACAAAAAGTTGAAATTAGGTTGAACCC +GGATAAAATTTAGAAAAATTAAAATTTCAATTTTTTTTGCGTTAAAATAT +GTTTTTTAAGGTTGAAAAAAATATGTTTATTCAAATAAACACATTTCTTG +AAAAGTTCTTTTGATTTTTAATATTAAAAAATTTATTTTTCAAAAAAAAA +TTTATTTATTTAATTTTAAAATTTTAAAAACTTTAAATGTGGTGTAGTCG +ATTTTTTAAATTGTTCTATTAGACTCAAAATTGACTGAAAACACCGAATT +TCATAATGAAACTTCTTGAAAACTTCTCAAAAAAAAGATATGACTGCTCA +AAAATGGCCTAAAGTTAGTTAAAATTTGAAATTTGATCTACTTGTCAAGC +GGCTGGAAACTATTCTTTTTTTTGAAATCACCGTCAAATTTTGAGTATAA +AATGTAATTATCTTGCGTTATCAACTTGATTTAGGTATTTTAAAGTCGAT +GGACGGAGAGATTTTTAAAGGTGGAGTACCGAAATTTAAGACTTTGCTTT +TTTAGACCCAAAATGGCCCAAAACTACCGAATTTCGTAATGAGACGTTCT +GAAAATTTTCCAAAAAAAAGTTATGGCCGATCAAAGTGTTTGGAAAAAAC +GGCCTATTTTTAGCTAAAATCTCAAACTTTGGCAATTTTGCAGTGTCGCA +CCGATAAGTTGCCAAAATTTCGGTCTAAAAAAGCAAAGTCTTAAATTTCG +GTATTCCACCTTTAAAAGTCTCGCCGTCCATCGACTTTAAAATACCTAAA +TCAAGTTGATAACGCAAGATAATTACATTTTATACTCAAAATTTGACGGT +GATTTCAAAAAAGAAAGCTAGTTTCCAGCCGCTTGACAAGTCGGTCAAAT +TTCAAATTTCCGCTAATATGAGGCCATTTTTTGAGCAATCATAACTTGTT +TTTTTGAGAACTTTTTTTTTTCAAGAAGTTTCATTATGAAATTCGGTGTT +TTCAGACAATTTTGAGTCTAATAAAGCAATCAAAAAAATATTCGACTACA +CCACTTTTTGGCCTATTTTTTTGGCCTAAAATTGAAATTTTTCCAGCAAT +CCTAAGCGATCCGTGTGAGACGTCTCGTCCGAACGTTCTCGATGCTTTAA +CCGACGAGCAGAAGCATTCGTTGACCGCCCTGGCACAGAATTTTGTTCGG +CAAATTGCATTCAATCAGATACATGAGGTATGCGGGGATTTTTCCTGTGC +AGAAAAAATGTTTAGTAAATTAGGGAAAAAAACCTTGAGTTTTTAAAAAA +ATCTGTGGAAAATTTGAAAATTTTCGCAAAAAAAAAATTATAATAAAATT +AATTTCAAATTTGCAAAAATTTCAATTTTTCAAATAAATTTTGAATTTGC +ATTCCAAAGTCACTAAAATGGAAAAAATTGCTAAAAATTGAATTAAAAAT +ATTTCTTTCCTGAAAATTTTTTATTTTCCGAGAATTCTGAAATTTCTTTT +AAAAAAAATTAAATTCGCGAAAATTTGAAATTTTTTGGAATATTGCAAAA +AATTGCTAAAAATTGAATTTTCCTATATTTCGATTTTTTAGATTTTTTAA +AAAAGTTTTTTTTCAGCCATTTCTGGCCGAAAATTGAGAAAAAATAGTCA +GAAAATTCAAAAAATTGCTTTTTTTTTTCAATTTTCCGAAATTTTGAATA +TTGATCGTCCGAAAATTTAAAAAATAATCGCTAAAAAGTTGAAAAAAAAA +TTATTGAAAACAATTTTTTTAAAATAATTTCTAGCAGATTCCATGAAAAA +AGGCTGAAATTTACGAAACAATTTTTTTTTCAAATTCAATTCAGAAAAAA +TTGAATTTTCTCTGATTTTGGGCCGATATTTATAAGATTTTTCAGAATTT +TCCAAAAATTCTTGAGAAAAATTGAAATTTTTCTGCCGTATTCCTATGAA +AACAGCGGAAAATTGAATTTTCCAAGTTATTTTTATAGGGAAAATTATAG +TGACTCTATAGAATTCATGAAAAATTCTGACAAAAAACCAAACATTTTGG +CCCAAAATCAGAGAAATTTCACAAAAAAAAATGCTGAAAAATTTAATTTT +CAGCAATTTTTTTTTCAAATTTTTTTAAAAAATAAATTTTCGTAAATTTC +ATAATTTTCAGTTTTTTTCCATTTTTTTAAAGAAAAATTATTTTTCCAAA +AATGTGCAGAAATTTCAGAATTTTCGGAAATTAAAAAAATTTTTAGCAAA +AAAAAAAATTTTTTAATCCAATTTTTATGATTTTTTCACTTTTTCGGTGG +TATTAGGACTGCAAATTCAAAGTTTCTTGGAAAAACATAAATTTTCAGAA +AATTTAAAATTAATCTGATTATAATTCGGAGCATAAAATGTGCTTTTATC +AACAACATTTTTTTTTTCGAAAAGTCAAATTTTTCCACATTTTTAAAAAT +TCCTTTTTTTTGTATATATTCGGATTTAAATTTTTTTTTTAACGGGTTTA +AGCTATTTTCTGAGCAAAAAAATTGAATTTTTCTAAAATCACCATTTTTC +TTCCAGATTCTCGGAATCGATCGTCTTCAAGACACTATTGATCTACCAGA +GGATGCTCCGATGCTCAAAAGACCACTGGAGAGCAATGAAAATGCTGAAA +ACGCAGAAAATCTCGACGATTCGCCAGTTTCCAAAAAGGAGAAGCTCGAC +GAGGAGCCCGCCGATATTTGAGCATTTTTATTTTAAATTTGGTTTAAATT +ATTTAATTTTCCTCTAATTTTCCTCATCTCTGTGTTTTTTTCTAATGTTT +TTGGGTCCCGTAGCGAAAAAACGAATGGCTCTCTTCGCGGTGAGACCTTG +AAATTTTTATTTTTCTACTATTACCTCCCCCTGCAAACGCGCTCTATTGA +CGACAATTCGCAATGGAGCGCGATTGCATATTTTGTTACTACATTTTCCA +CACTCATGTTCGATCTTCCACTAGGGGAGGGTCTCGCAGAAGGATTTTTT +GAAAAATTTAGATTTTTTTTTGAAAAATATTCGAAACAATTTTACGTTTT +TCGAAAAAAGTCCTAATTTAGCCTAAAAAATCAAAAATTGATAGGATTTT +TGAAAAAAATTCAAAAAATCAAAAAAAATTGCAAAAATTTTTATTTTTTT +TTTTGAAGAAAATTTTTTGTAAAAATTTGATTTTTTTGAAAAAGTTTGAA +TTTTGAATTTTTTGAAAAATTCTAAAAATTTTGAATTTTTTGAAAAAAAC +TCAAAATTTTTGGAAAAATTTTGAATTTTTTTGAATAAATTCAGAACTTT +TTGAAAAAATTCGAATTTTTCTGAAAAAAACTCAAAATTTTTGGAAATAA +TTGAATTTTTTCGAAAAAATTCGAGAAAATTCCTAATTTAGTCGGAAAAA +AATATTAAAAATTGATACGATTTTTGAAAAATTTTCCCAAAAATTCTATA +GAACTGTCCTGAATTTCTAAAAAAAATTCAAAAAAAAAACAAAGTTTTTT +AGAAATTTGCAAATTTCTTTAAAATTTTGGAAAAAAATCTATTTTTTGTT +GAAAAGTCTGCAATTTCTAAAATTTTCCTATTTTTTCTGCTAAAACCTGC +AAAAAAGGACCCTCCCCCTAACTATCTTGTTCCTCCAAAAACCGACAATT +CTTCTGTTTTTGTGTTATAATCGTCCTTTTTCTTGTTCAACAAAACAAAA +ATTAAAATAAATTAGAAGAAACGGTAAATTTAGATACGTTTTTGCCACGT +GGCCGAGGTTTTTCACGGCCACGTGGCAAAGGCCGGCAAGAAATGCGCTG +TGGTGGGAGAGGAAATTGATAGGGAAGAAGGAAGAAGAAAAAAAAAAGAA +AAAATCAATATTTTAAAGCCAAAAAAAATTTTTCTGAAAAGACTAGCAAA +ACAGGAATGGTTATGGGTAAAGCCGAGGTTTTGAAGGAGAATTTTTGGGA +AAAAAATTGCAAAAAAAAACGAATCGGTAGGGACGGACCGGCAAGATTGA +TTGAAAAATTGACGAAATTATCGATTTTTTGGCGGCGCACGGGGTTCTGG +CCTTCCCTCATAAATGGAAGAGTTTTTGCCGAACTAGGCCACCAGGTCAT +AACTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCAATTTT +AGTTGTAAAACTAAATGTATTTGTCCGTGTGAAGTACACGACTTTCCCGG +CGCGCGATTGTCAATGGAGCGCGAAAAATTAAGGGCCAGAAGTCCTCAGA +ACCCCGTGCAAAAATCGATAATCCCGTTTAGAATCGGTGAGGGCGTGGAA +AGAAAGAGATGATGAAACGGGAATGAGCAAAATTGCAAAAAAAAACAACA +AGAAATTCCAGAAAATTCCATAGAAAACGGGGTCTAAAGCACCAGATTAG +TGTTGTGCGTGGGCGTCCACTGTGACGTCATCACCTTCCACTTTTCGTAG +TTCGACTCGAGCTGATCGGAGAGCTCGCCGAGCTTGGCGAACTCGGTGAA +TGTGGCGAATGCTTCGCGGGCGAACATGTCTGTAAAATCAGAAATCAGGA +GAAAATTCAATTTTGCGCGTCAACTTTGATGTTTTTTTGTGTTGGTGAAC +TTCAGAAAATTGAATTCGCCAAATTTTACGAGCAAAATTGGGTTCTTTTG +GTATTTTTCGTGGAAATTTAACCAAAAATCGAGTTTTCTACGGAAATTTA +ACGTATTTTATCGATTTTTCATCAGAAATCAGTAGAAAATTCCGTTTTGC +GCGTCAATTTTGATGTATTCGGGTCGGTGAACTGCACCAAACTGGATTCG +CCAAATTTTACGAGCAAAATGGGGGTTTTTGCAAATTTTTCTTGGAAACT +CAGTCAAATATTGAATTTTTCGTGGAAATTTAACCAAAAATCGGGCTTGC +TACGGGAATTTAACAAATTTTATCGAATTTTATTTTGCGCGTCAAATTTG +ATGTTTTTTGTGTCGGTGAACTTCAGAAAACTGTATTCGCCAAATCTTAC +GAGCAAAATTGGATTTTTTGGGTATTTTTCGTCCGAAATTGATTTGTCCA +GTGAAATTAAACGCGATTTATCGATTTTTTATCGGAAATCAGTAGAAAAT +TCAATTTTGCGCGTCAAATTTGATGTTTTTTGTGTTGGTGAACCTCAAAA +AACCGTATTCGCCAAATCTTACGAGCAAAATTGTATTTTTTGCGTCTTTT +TCGTGGAAATTTTTACAAAAATCGTTCTTTTAAAAAAAAAATTCCACACA +AAAGTACAATTTTCACACAAAAACTGCAATTTGCGCGTAAAATATGGCGC +AATCGGTTGAGTGCGGCACGCCGACTCAAAAACACCATATTTTACGCGCA +AATATTAATTGAAGCGCCTTCACGTGGTGTCAGGTTGTGTCATCACGGTT +TGATCTACAAAAAAATGGGGGAATTTTTTGCCCAATAATATGTGACGTCA +GCATGTTCTTAGCCATGCAGAATCCGTCTAAAATCCCGCATTTTTTGTAG +ATCAACGTAGATCAAGCCGAAATGAGACACTCTGGGCTTCAAAACACTCA +CCAATAAAACCGCATTGTGTGATCGGAACGTTACACGTGTTCCGATCGAA +TACCTCCATCGTCACAGGCAGCCCTTTCTCTTTTTCTTCTCGAGTCTGGA +AAATATTGATTTTTATTTTATTCTTGGAATTTTAAATTTCAAACAGTAAA +AAACCAAAAATTATCAGTTTTAACTTATCCAAGTTAAAGAACTACAGTGA +AGAGAACTACAGAAATATTAAAAAATATATCGATGCACCAAGAGCCCAAG +AAATCTCTGAGAGCCCATATCTCGGCTCATTTCGAAGTTACAAATAAACT +GCAAACTATAAAAATATAGAAAATTAAATTTCAATTATTTTGTTAGTTAA +CAAAATTTGGCTAGAATTGAAATGAACTGGGATATGGGCTGGCAAAGTTC +ACTGAATTTTTTCTTTTTTTTTCTTTTGTTTATTTTGATCTCTACACCAG +GGGTGAGCAGCAAACGATTTTTTCCGGCAAATCGGCAAATCGTTAGCTTG +CCGGAATAGAAAACTTCCGGCAAATCGGCAAACCGGCAAATTACCGATGT +GCCGAGTTTGCCGGCAACCGTATGTTCCCTATGAGTATGGCCACCCATCA +ATCGACTTTGTCGGCTTATATTTCAGCGGTTTCAGAAGTTTTTTGATATT +TTCAAAAACCAGAGGATAACGATAGATTTGAAAAATATTTTGTCGTTTGA +ATTTTTAAAATATGATAAAAGACAACCGAGATATAAACGGTCAAAGTCAA +GGGGGGCCATACAAAAATTTTTTTTTGGAAATTTAGAAAAAAATGTGTTT +CCGTCTTATTAAAAAAATCTCTCTAAGCATTTCCGGCAAACCGGCAATTG +CCGCCCTCCCCCGACCTACGCACCTGTTCAAAGTACTCCTCAACAATCCG +ATGCGCCCATCGCTGACACAATCCCCACTCTCTCGCCGGATTGGAGATGT +CGGCGCACTTGACAAGCATATCACATATCGTAAGTGAATTCGTGTCACGT +TGCTCCTCCGGCACATCTGTCACATGCATCTTGTTGAACTTGGCGAGGTA +CTCAAAGTGTCGACTGATGTCCGTAGCCAACACCATCTCCACCATCGCAT +GTCGCATTTGGATGAACTCCTCGCGCGACAGACTCGAGAAGATGTTCACG +TTGGCGTTGTGCTGAAGGGTTAGCTGAAAGGCTAGTGCGATGTGATGATT +CTCCAGGATCGAGTTATCATTGTAAAGTATTGCAAGCGACTGTCGCGTAT +TGATCAGGTACGCGTTTCCTCTTCCAGGATGGTCTAGATCATGCACCGCC +GCTGCGAGAAGAGCCGCCACCGCATGACTTTCATTCACGTGCACGGCGAC +CGACGGGGAGTCCAGGAAGAATGAGGTGGCCTGTAGGACGTCGGCTGCGT +GAGTTGCGTTGTGATACGTGTTTCCCGCATGGTAATGAGCCTCGATGGAT +AGAATCCAACGGTGGAGGAGATCGTCGGAGCAGCCGAGCACATCGCAAAC +CTTCCACCTCTCGAAGACTTTCATTCCGACTTGGGAAAGAGCGTGGTGAT +CCGACACCTTTTCCAGATGAAGGATGTCGAATTTCCAGCAATTGTCGTTT +TCCAGCGCGTTCTTCACGTCAGCAGATACCCGCCGACGTTCTCCATGGGA +TCCTCGCTTCTCTCGATGCGCGTCGACGACGCTTCGCTTTCGCTGCCTAG +CTGGATGATGGAGGCGAATGAGACCATCGTAATATTGAGTTGCTATCCGA +TCGGCGTCGCGGAATCGATTGATCGACGGCGCGTACAGCTCGTGCGACGA +CAGCACCTTCATCGCGTCCTTTATCGTTTGTGCCGGTTCTCCGTCGACCC +GTGCCGACACGTCTCGGAGCATTGTGAGCACCTCGGAGATGGGCGCCTCG +ATGCCGCCCGTCTGCGATTTCAGGCTTTTCAGGGAGACGTCGCGGAAGAT +TGCGGCGGTGTCACCGGTGGTGTTTGAGCGTTTCATATACACGAATTGAC +TACTGCAAAATTCATAGAATTTTTTGATTAATTGGTGGCCGAGTTTTTTA +AAATGGTGGCCGAGATCTTTAAGTTGATGGCAGAGTTTTATAGGTTGATG +GCCTAGTTTTTTAAAATGGTGACCGAGTTTCTATGCAATTTTGTGGCCGT +GTTTTTGTATAAGTTGGTGGCCGAATTTTATAAATTGACGGCCGAGTTTT +ATAGGTTGGTGGTCGAGTTTTATGAATTGGTGGACGAGTTTCTATACAAT +TTTGTGGCCGAGTTTTTGTATAAGATGGTGGCCGAGTTTTTTCAAAATGA +TGGCCGCGATCTTTAAGTTGATGGTCGAGTTTTATAAGTTGGTGGCCGAG +TTTTATAGGTTGATGGCCGAGTTTTTATGTAATTTGGTGGCCGAGTTTTA +CAAGTTGATGGTCGAGTTTTATGAATTGGTGGCCGAGTTGCTATACAATT +TTGTGGCCGTGTTTTTATATAATTTGGTGGACGAGTTTTATAAATTGGTG +GCCGAGTTCTAACGGATTAAGCAAAGGAAACTAGAACAGAATTTTATTGA +AGAGAAAACTAGGCCATCAGCTTTTCAAGAAAAACTCGGCCACCAAATTT +TCCAGCAAAAAACTAGGTCGCCAGTTTTTCCAGCAAAAAAACTCGGCCAC +CAAATTTTCCAGCAAAAAAAACTGGGCCACCAAATTTTCCAGCAAAAAAA +AAATCGGCCACCAATTTTTCCACGGAAAACTAGGTCATTTCATTGTTCGT +TTGAGAGAAAGCTAGGTCACGTACATTTTCAATAAGAAAACTCGGCCACC +AATTTCTTGAGCATAAAAAATTCGGTCATCAATTTTTATAGAGAAAGTTC +GGCCATCAAGGTTGAAAAATAAGCTAGGCCACCGATTTTTTTTGTTGAAA +AAAACTCGAACACCTAACCTATTTTCCTTTTTTTTTCAAGCCTAGAAAGC +TCGGTTATCGAGTTTTTAGGCCACCGATGCATTTTTTTAATCGAAAATCG +AAAAAAAAAATCGGTGGCCGACTTTTTCATTTACGGCCACCAATTAAAAA +AAACTCACTTGTTAGCAAACGGGACCCGTATAAATTTCCAGTCGCAACTC +CGCCGCCGCTCCTCTTCGCCACGTGCCCTCGGCAGGGACTTTCGTCGCAT +TTCCGATTCGGGTTGTCCGATCACCTCGGATCGTATGCATCCCGTCACGT +TCTCGTAGGCGCGGTTAACGTACTGCACTACTCGTTGCTCATCACATATT +TCCACTGCTTGATCCGTCTGAAAATACGCAAAATTTGAAGGTTTGTAGGC +ACACGTGGCGCCAGTCTATCCCATTACGGTTTGATCTACAAAAAATGCGG +GAATTTTTCACCCAAAAATATATGACGTCAGCTAGTTCTTAACGATTCTC +AACTCCCGCATTTTTTGTAGATCTACGTAGATCAAGCCGAAATAAGAGAC +ACTCTGACACCGCGTGTAGGCAGGTAGGCGTTCAGCCAGGCGATTAGGCA +GGCAATTAGGCAGGCGATTAGGCAGACTAGTAGGAGGTAGGCAAGTAGGC +ATGGAGGCCAAAAGCTCACCTCATCCAAGACGGCGAAAAGGGCGGGCAGC +GCGCGGATCCGATTCGCGAGCCGCCCGACGTAGTCGAAGAGCACCACGTC +ACGCGTATTCCACGTCACATGCTGAAAAGAAACGAATGAATGGGAATCAG +TGTGAATGAAATATTAATTAGAATTGAAAATGAGAAAGTGAGAAAACGGA +TGACTTACATGAATGATGTTGGACTGCGCAAGAGCTCTCCGTCGCTTTTC +GCTGATGTGTCTGGAATATGTGATTGTTAGATTGACAATTCTGGCAGAGT +GGTCTAGAAAATTGGGGAAAACTCGGCCACCGATATGTTTTCTTTGGTTG +TGGTTGGAAAATTTTGGCGACCGAGTTTTTCAACGTATCCAAATTTATGT +GGCCGTGGCCGACTAAGGCCACATAGAAAAGAAAAATACCGAAACAATTG +GTGGCCGAGTTTTATCAACGTAGCCTAAATTAGGTGTACTTGGCCGAACT +TTTCTTCTGACGGCCACGCAGCAAGGAAAAAATAATGAAAAAAAAGTTGG +TGGCCGAATTTTAAGCCTACACAAAAAGTTGGTGGCCAAATTTTAAGCCA +ACAAAAATTGGGGGCCGAGTTTTTGTTTTTTGAAAAAATTCGTGGCCGAG +AAAATGGGAAAACGCGGCCACCGATATTTTTTCTTTGGTTTCTGGCTGAA +TAATTTTGGTGGCCGAGTTTTTGTTTTGGATAGGTTGGTGGCCGATTTTT +ATCATTTTAACCTAATTTACGTGTTCTTGGCCGAACTTTTTTCTGACGGC +CACATAGCAAGGAAAAAATAACGAAAAAAAAGTTGGTGGCCGAATTTTAA +ATTCACAAGAAAAGTTGGTGGCCGAATTTTAAGCCTACAAAAAGTGGCGG +CGCTTTTTCTACAAAAAATTGCTGTCATTATTTTAATTGGAAAAACTTGT +GGCAGTGATTTTGTTTTGAAAAAAATCGTGGCCGAGTTTATCTGTAAAAT +TGGTGGCCGAGTTTTATTCACGTAACCTAATTTACGTGGCCGTGGCCGAC +TAAGGCCACATGGCAAAGAAAAATACCGAAACAATTGGTGGCCGAATTTT +TAGTCTAAAAAAATGGCGGCCGAGTTTTTGTTTAAAAAACCGTATTTAGT +ATATCTGGGACGAAAAATGGTGGCCGAGGTTTTTCAATGTATCCAAACTT +ATGTGGCCTTGGCCTATAGCCTAGCTTTCCTAAACCATTTGTTTAAAAAG +TTGGTGGCCTAGTTTTCCAGCATAATCCAACTCACTTCTCGGCGATCGAC +ACAATCAACACCTCCTCTGTGCTCACCGATGAGACGTCTCTGAAAAAACG +TTTCGTTAGTAGATCATGGCTGACGATCAACGCTGCTCCCTTACTTGGCG +ATTTGCGATGGATGAGGTACTCGAAGATCTATGAATACAGCTAAAGGGCA +TATTGATTCAACGTCGGATGTTGCCTGCAAGAAAGTGTACATATTCAAAA +ATTTCCAAAATTCAATTTCCTTTTTCCCGCCCGTGTCCGAATTTCCGGAA +CTGACCACGTTTCAGTCATGGTCTTCGTAATTCCCAATTTCCTTTCTCCC +TTATCTTTTTACGTCAATCATGATAGCGGTGATACGTGTTTCGAGGGTAT +ACATGCTCACACAACAATGCACTTAATCAGCTAATCTCTCCCACACCTCC +ACAGAGAGAGTGTATGAGCAAGAGAAAGAGCACCTGCTTCTTCCAGATTA +GTGAGCGAGCCTGTTGTCATCTGACTTCTGCTGACGGAGGGAGCTTGAAA +AGCGGAGCAGGAAGAGGAGAAGAAAAAGAGCATTCAGAGATAATTACGCG +CGAGTCGTAGTAGTATGTATACACTGACTTCTTCTTCTTCTTCTTCCTCT +TTTTCCCCGTCTTCTGCTCGTTGATGTCTGCCATTATATTGATCATTAAC +GAGGGCCTAAGAATCCTGGAAGAGTTGTGAGGTCACACTGATGGCCTAGG +AATCTCAAAGGCAGGCCATATCATATTGCAGGCCATATCAGGCCCCATAG +CCTGGCCATAGTAGGTCACCACAAGCTATGGACTGCCCTCAAGATTTTGG +CTCAATTTGGATAAGCTTCTTCGGAGCCCCTGGGCTTAACAGACTGACGT +CATAGGTGGTATATCTCGGCTAGGCGGAAACTCGGAAATGTGAATTTTTT +GACGCAAACCAAAGATCTTATAGATCCTTGAAATCTTCCACAGGACTTAG +CAGACCGGAGGCCTGGGAACTATGCAGTTAGAGGTAATCGCCAAGTCCAG +GGCTCCGAAGAGAGAGGGCCCAGGGCTCCGAAAAAAGCTTAAATTTTGGG +CCAAAATTTCCCAAATTGGGCCAAAATTTCAAAAGTATGTAGTAGGTTTC +AACCCTCATATTTCCCGGGATCATGATTTTGTGGACTATTATTTTCAGGC +TGTGGTGGCCTGCTATACCCAGACTATGTACTGGGCCAAGCTCTGGCCAG +GTTATGGCCTTTAATAGCCTTGAATTTTGGAGTCAAAGTTCTTGCAGAGC +CTAGGAGACGCTTACCACTTCGGATCAAAGGCCTGATCTAAAACTCAATG +GATCATGACCCTAGAACCTCAATTTTCATAAGCCTAATACGCAGCTACTG +GTCTAAGCTCTGACCAGGCTATATGGCCTGATATGGCCTGAACACTTCGG +TGGCCTAGTCTAGGTTTTTCCAAGCCCCAGCGGGCCTCAATTTTCATAAG +CCTAAAGACGCAGCTACTGGGCCAAGCTCTGGCCTTGAATTTTGGAGTCA +AAGTTATTGCAGAGCCATCATGCCTAGGAGGCCTAATCTAGATTTTTTCA +AGCATTGAGGCCCCCACGGGCCTCAATTTTCATAAGCCTAAAAACTCAGC +TGCAGCCTTACCTGTGTTGGAAATGATACTGTACAAATCCATCCGGATGC +CCGTAACGAGTCGAGGAGCACACTCTCGCCGGTGCCTTCCGTCACGATCA +CAGCCTGCAAAAAACGCATTATTTATAAGATCTTACAGGGGATTTTCAGG +ATTTTCAGGAGGATTTTGTCGTGTGCCAGACCTCAAAGCTCGTCGGGATA +AAATGCTGATATTGATTGACATGCATATATATAGATATATATGAAGTTGG +AAGAGCGGAAGCAGCAGCAGTGGCAGCAGAACTTGTGTGTGACGGGGATT +TGTGGGAACAAGGCGCCAAAGAAGACGAAGCAGAAGAAGAAGAAGAAGCC +GGGGGCAAGCAATGAATGCAATGTATGTAGGAGTATGTAGGAGTATGTGT +GTGTGTGTGTGTGTGTGCGAAAGTCTCTCTATGTGTGTGTGTGTGTGTCA +CAGGTTATATATTGCGTGTGCACAAAAAATGTATGAGGTCTCCTGATGTG +TGTGTGAGTCTGTGAGTCTGTGAGTGCAGTGTACAACACCTTTTGCGGAG +TCTTATCACATACTGATACGAAAGTGTTTGTATTTTTATATTTCTTTGCC +ACGTCACACTTTATTCAATTTTTCGCGTGTGCCTCTCGCCCCGTCATTGG +CACGCAGTAGAAAAAGAAGTAGAAGAAGATGCGTCTTCTTGTTGCCATAT +CCCATCCAACTTTGTTACTTACGGAATTCGCGCGCGCGCGCGGGGAGGAG +AAGCAGAAGACGACGACGACGAGCTCGAAAGAAGACGAGTCCGCCTGCGT +CTCTGCAGTGATCTCGTGTCCCTCGGCAGCGGCTGCGGCGCGCGCTTCAA +TGAAGACGAGAGCTCCCCCCCCCGGCGGCGCCGAATACGCGATTTGTCAT +CGAGATGAGCGCTTTGCTGACAGAATAGAATGGGCAAAAACAGGAATACG +GAATACAGTAGTCATGTTTTGTTGCAATGTTATGGGAAAGCTGGCTTGGC +GTGGTCGTCGAATTTTTCGCGCTTCATTGACAAAGAACAAGGGAAAGTCG +TGTTCTCCACACGGACAATCACACTAAGTTTTAGGACTAAAATCGAGCCG +AGCCAAAATGGCCTAGTTCGGCAGAAACTCTTCCATTTCAATTTGTGAGG +AAAGCCAGAGTTCTGTGAACCTCGGACCTGCGATCGCCGACCTGCGATCT +CCTAGACAAATGCTCACCCCAGCGCGGGACTCGGGAAAGTTAGCGCCAGG +AGAATAATTTTTGAATTTGAAGAAAAAAAAAGAGGAACTTACAGTTTTCA +GCATCTTCACTTGCATCGGCCCAAACGTGTCATGTGCCGTGGAGCTGCTC +GTTGCGGCGACAGTTAGCAGAGGTGTTGGTGGAGCACCACGCGATCCACC +TCCACCACCACCATTCTCAGAATACGACCCACCGCAGCACCATCTCATTG +CAAACACTGGCCTGGATGCTGCTGCTGCTGTTGCTGCTGGTGCTCTCTGT +GCGCCTCTTCTAGCTGCGGGCGTGTGCTGCTGCCTCCTGCCAGCTTGACT +GTGTGCGCTAGCCCCGAGCACACTCTTTTCACCCTCTTCTCCCCCCACCC +CGCTTCTATCGCCCATTCTCTCAATTCTTCTCTGCCTCCTCCTCCTCCTC +CTCCTCCTCCCAATTCTCATGTCATCGGGGGGCCCGTCGTGTCGTCGAGC +GCCCTCTCGCGTCTGCAATGTCTCGGCGCCGCCGCCGTCGTCGTCGTCGT +CGTCGTCGTCTTCGGGGGGTTGTCATCTGCTGTGTTCACACTGATGCCGC +CGCCTTCACCGCCCATCTCATCGTCTCCTCCTCTGTGTGGACCCGCCGAC +CGGCCGGCGCGCCTTCTCCCATCAGTTCTATCTCTCTCTCTCACTCACTT +ACTCTCAAACCGCGTCAATTGATCTCTCTGGCACGCTCTTCGCTCGGCGA +GCTGTATTCGGTGTCGGTTTTCAGTCTGCGTCTCCGCGCCCCGGTGCAAT +GCATATGTTCCATCACGTTCTGCTCCTCTTGTTGCTCCGTGTGCTGCCGT +GTTTTACGCAATTTCAGGTAAAATTGATACAATTGATACAATTGATAATT +ATCGAAGTGTCCTCTATGTGTACTCACGCTGTTAATTTAATGGCCTAACC +ACAGAATTATGCTTCTTTAATTTTTGAACTCGTAGCTCCGTATGTTAAAT +CCACTATGAGATTCCTTGCCATGTTTTTGCAATATTTTTTTGTTTGTTAT +GAGAAAGTGTATGTGTTCTTTGTTTGGTCACATGGGAACCGCTGGCCTGA +GAATGGAAGGTTTTCTGGGACAGAGCTTTTGAATCCGATAGCCTACAATA +GGGCCCCAGTGCAATAACGGTAGGCAGGCCCGAGGCCTAATTTAGTCCAA +ATAGTCCTTATTCAGTCTAGATGATTCAAAGCTAAAATCAAAGGGCTGTT +CCATTACGTTGTGATCTACAAAAAATGCGGGAATTTTTCGCCCTAAAAAT +GTGACGTCATCACGTTCCATGCGTTATTATTTATGAAGTCTGCGTCTCAT +TCTCCCGCATTTTTTGAAGATCTACGTAGATCAACCAAGCGCCTTACCCC +TAGCCTCTAAGCTCCTAGGGCCCTCTAGGACCATTTAGGCTTTTTGGACT +GTCTAAGACCAATTGGGCTTTTAGGCTCCTAGGTCCCTCAAGGACCGTTA +GGCCTCTTGGACTATCTGAAACCATCTGGGCGTCTAGGCTCCTAGGGCCC +TATAGGACTATTTAGGCCTCTTGGACTATCTAAGACCATCTAGACTTCTA +GGCCTCTAGGGCTCTCTAGGACCATTTTGACTTGTTCTATAGGACCTTGT +TCGACTAGCTAAGACCATCTGGGCTTCTAGGCTTCTAGGGCTCTCTAGGA +CCATTTAGGCCTCTTGGACTATCTAAGACTAATTGGGCTTCGAAGCTCCT +AGAGCCCTCTAGGACCATTTAGGCCTCTTGGACGATCTAAGATCATCTGG +GCTTCTAGGCTTCTAGGCCCCTCTAGGACCTTCTAAGACCCCAGTCTTTA +TTCCCTAGCCTCTAGGCTCATAGGCCTCGATTCCGCAATTCTAATGGCTT +TGGGAGCCCAGTTCTAAGGCCCATGGACTTCCACAGTAGCTTTTCAGTCA +ACCATTTCCAAGTTAACCAAGGACCATTTAAGCCTTTTGGGCTATCTAAG +ACCATCTGGGCGTTTACTTTCTAGGCCTTTTCCTGCCTATTGGGCCCTCT +TGGACCTTCTAAGACCCTGGCCTTTAATCCCTAGCCTCTAATCCTCTAGG +CCTCGATTCCGCAAATACAATCCCAGTTCTAGACTCTCAGGGCCCTTGGG +CTTGTAGGCTTTCAGTTAACCATTTCAAACAGGTGCCGTTCCGCTCCATC +TCTTCTTGCTCTCTCGTGCTCCTCTCCTACACCATCTTCTCTCATTGTTC +TGACGGATGGATGAGCTGTCATCATCATCATCAAAGCTCCAAAGACAATT +GCCATCAATTTGTGCCGCCGCTGTGCTAAGTGGTCTTATTCCGCCGGGAC +AAAAAAAAAGGGAAAATTCTCTGGGAATTTGGACTAACACCACCTACTAT +TACTGTAAAAAAACATTTGGAGAAGGGGGAAACGAACTAAAAAAAAACAA +ATTAAAATCGGCGTATCAAATTGAAATCATATGATTCGTTGCCGTCGTCT +TCTCTGCAATGATCGTTTGTTCCGTCGTGTCAAACTAACCTACTCAATGT +CATAAAGAACAAAGAATGAATTCAATAAAACAAGACGAAAAAATAAATAC +ATTCAGGTACTGTACAGAGAGAATCAGGATCACATCTGGAATAGCTCGCA +GCCTGTTCGATTCTGGGAGCTTGTTGAGTATAGGCCGACCACTACGCCGC +CGCCGACCACTACGACAGAGTATATACCGCCACCGACGACTACGTATGTT +CCCTGAACTTTAAAGTTGCATTTTTTTTTAAAGGATTAGGGGTTTTAATT +GAAATTTCAGAATTTTTGGTAAATTTTTTAAAATTAGTTTTATTTTTTTA +CGGGCTTTTGCGATTATTACTGGTAGAATGAAAGTATGTACATTTCTTGT +AGATCAGAAAATTTAATTTTTGATATCCGATAAATGTTAAAAACTCGATC +GAAAAAAAAATAAATTTTTCCAAAAACTAAAAAGTTGCAAAATTTATTTT +TTTTACAATTCAAAGTTTGTAATTTTTGACAAAATACATTCAGAAATTTT +TTTGGAATAGGGGTTTTAATTAGGCTTGGGCCTAGGTTTGGGCTTGGGCT +TGGGCTCAGGCTTAGGCTTATGGTTAGGCTTAGGCTTAGGATTGGGCTTA +GGCTTAGGCTTGTGCTGAAGCTTGGGCTTGGGCTTAGGCTTCAGCTTAGG +CTCAGGCTTAGGCTTGTGCTGAGGCTTGGGCTTAGGCTTAGGCTCTCAGG +CTTAGGCTTGGGCTTGGGCTTGGGTATGGACTTAAAATTTTTTTTCAAAA +ATTTTATTTTTCGAAAACTTATGGTTTTACCGGTATAAAGTGCCTTTTTT +TGTACATAAAAAATAATTTTTAAATTTTTTAACGTTCCTAAAAACTAAAC +AAACTGTAAAGAAAATTTTGTTTAAAAAAAAAATCAATAAAACATATTTT +CAGTAATTTCCAAAATTTGATTTCCCGGTAAAAATCAACAATTTTTTATC +GGGGCCACAAAAAAAATTCGCTGAAAAAAATTCAATTGGATGTATTTTCT +GCAAATTCGAGTCAATTTTCTGAAAATAGTTGTTTATTTTCCCTGATTTT +TTGGCGTTTTTTCCTTTTTTAAAGGAATTTTAGGACTTTCTGGGATTTAG +AAGGGTTTAGCCTAGGGAGTGATTAAGCCTAGGCTTAAGCCTGAACCTGA +GCCTAAGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGCCTAACATCAAAA +AAACCGGAAAATCCTAAGCCTAAATAGCGTCAGTAGCAAGCTGACGCTCG +CCACTGACACCAAGCCTAAGCCTCAGCCTTTAACGAAAAACAATTTTGGC +ACAAAAATTGCAAAATTTCCGCTTCTCCGCTTCTCTTAAGACATTGAATT +TCCAAATTTAAAAATTTTTAGAAAAAAAAAAACCTCGGTCCAAAATGATC +TGAAAATTCTTATTTAGGCTTTAAAAAATTTCACTTTTTTCTGCGACACT +TTCCATAACACCACAAATTCGGCGAATCGACCTGTTGATGATCTTGTCTC +GACCCGCTCTCTCTCTAAGTGATTATAACAGAGATACACCCACACACCCA +CACACGTCATCTATTATGTTCTAGAACTTTATACTTTATGATCAAAACCG +AATGCTACAAACTAAAAAAACATCACCACTTTTTCCAAATTTTCGTCACA +TTTTTGCAGTCCGACCACAACTACAACCACCAAAGATCCATGTGAATCAT +CGCATCCGTTGGATCTGACGCGTCGGCTACGGGACACTGCCGGCTACAAT +CGTATCTATATGGCCAGCGACTTTTCGTCGGCTCGCAATGAGTTTCCTGA +TCTCAGGGGTTTGGCTCACAAAGCTTCAACGGACTATCATTGCGGGAAGA +GGTGCCAACGGTGAGCTCTCAATGCCTACCTGCCTACTTGTTTGCAGTAT +CAAACATATAATGCCTACAAGCCTACGCGCCTACCTTGGTCTACGAGCCT +GAACTTGCACATTTTCTGTGCCTAACATGCACGCTATACTTTTGTCTGCC +GTTACGCGCCCCCCCCCCCCGCCTATCTGCCTACAAGTCTCCCTTTTGTC +TTTATGCCTACGCGCCTATCACATGCCTACCTGCCTATTTGCTTGCGGTC +GAGTCGATACATATCATGCCTACGAGCCTACGCGCCTACCTTGGGCTACT +AGCCTGAATTCGCATTTTTCCAGTGCCTAGCTTGCGCGCTATACCTATGC +CTGCATTTACGCGCCTTCTCCCCGCCTAGCTGCCTACAATCGCACTTTCT +GCCTACCTGCATGCTTTCCTACCTATTCGCATACTTAGGCGTACCTACCA +CAAGCTTAGCTACCTACAAAACTGCCTTCTGCCAACCTGCATGACTGCGT +ACCTTTTCGCCTGCTTAGGTGCCTACCACAAGCCTCCCTTTTGTCGATAT +TCCTACGCGCCTATGGCATACCTACATGCCTACTTGTTTGAGTCGATACA +TATCATGCCTACGCGCCTACCTTGGCCTACCTTGGCCTACAATCCTGAAA +TTGCACTTTTCCTGTGCCTAGCTTGTACACTATACTTATGCCTGCCTTTA +CGCGCCTTCTCCGCGCTTATCTGCCTACAAGCATACCTTCTGCCTCCTTG +CATGCCTACATACCTATTAGCCTGCTTACGCGAACCTACCACAAGCCTAG +CTGCCTACAAACCTCCCTTCTGCCTATATGCCTACGCACCTAACTCCTGC +CTGCCTATACGTCTACCTCATGCTGAAAACAGACCTGCCTTGTACCTACC +TATGCGCCTACCTAAGATTTGCCTCCTACGTGCCTGGCTGCCTATTTTGC +CTATAGGCATTACTGTCAGTGCGTCTACCCAGAGCCTACCTTTAGGTAGA +CGTTTGCCTACCTAAAGCAACCGCCTACAAGTCTATTCGCCTGCCTCCTT +GCCTACCTACACACCTCCCTTATCCCGGCTTTTCCACCTGCCTATGCGCC +TATCTCATGCCTACCCAAGACCTGCAAACGTGCCTAGCCGTATGCCTACC +TAACTTCGCGCCTACATATGCCTCCCTTTCAGATCGAGTCAACTAATTCG +AAAAATCATAAAAACCGGCCAACCGGCAGAAGCCGAACGTGCTTGGTGGG +ACGAGGAAGAGTGGGAGGAGGGCGAGAGACGCAGGAAACGAGCCATCGAA +TGGAAGGATACAGATGATCGTCTGCTAATGCGAAATACCGGAACATCACG +TCATATTTTGGGTAGGTAGGTGGGTGAACACAGCAAGTGCGCTCCATCGC +GCGGGACACTTTTCCCGCGCTTTTTAGGAGGTCAAACACGGAATTTTTCC +AGGAATGACTGTGGCGGTGGAATGCGATGATGAGACTGGAGAATTTAATA +GTGGTGGATACTCGTTGTGTACTACGTGCCGTGCTGTTCGACACTTGCCA +TCCACGTATTTTCCACGTGTCATTAATGAGCTGATTTGCTCGCAGAAAGC +GTGTTTGCGAGGAGAAGGAAAATGCATACAACGGGTTATGCCGATGAAGG +TATGTAATTTTTTTGTTTTTGCAATGGAGCGCGTTTGTACTCACTCCACG +AGAATCACGTGGTGTCAGAGTGTCTCATTTCGGATTGATCTACAAAAAAT +GCGGGAGAAGAGACACAGAGTTCTCAACTGATTTTGGATGATTAAGAACG +TGCTGACGACACATTTTTATGGGCAAAAAATTCCCGCATTTTTTGTAGAT +CAAATCACTTGGAGAATATTATTTTTATTTGAATATGATCCTTTAAAGAA +AAAATAAAATTTGACTGAATTTCCCGCCAAAAAATTTTCGCAGAAAATTT +AAATTTCCCGGCAAAATATTCACGGATATCTGGCTTCCCTCATAAATTGA +AATGGAAGAGTTTTTGCCGAACTAGGCCAGGCCATATCTGGGGTAGATTT +ACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAA +TATATTTGTCCGTGTGGAGTACACGACTTTCCCACGCGTTGGTGATTGTC +AATAGAGTGCGAAAAATTCAATGAGGAAGGCCAGAACCCCGTGAATATTT +TCTCAAACATTTTTTTTGGAATTAATGTGCAATCGCGCTCTAACGCAGTA +TCCAAAACTTGGGTCTTTTGGCGGGAAACCCGAAAATTCAAAGTTTTTTG +CTTTAAAATATCGTGAAACAGACGAAACTAGTCGCAAAATTTCAAATTTA +CGGTCTTGCCGCGCCAGTGCGGTGGATCACGATTGCACTTAAGAAAAATG +GCGAAAATCAAAAATTTGGTTTATTTTTGGCAACTATTTTTCATTCTCTA +TCAAATTCATACTGTACACGTGGAAAATCATTGATTTTCCCGAAAATTTG +AATAAATGGGATGCAAGATGCGAGCGCGCCCTATTGTGATTCGTTAAAAT +TCGTTAGAAGCGTCACTGAAATCGAAATTTTTTCTCGAAAAATTGCAGTG +TGCCACGTTGTAAAATATCGATTTTTTGGAAAATTTAATATTTAGAAGTG +CGGATGCATCCTATTGTGCTCCAATAAAATTACACGGGCTTCTGGCATTC +CGCATTGAATTTTTCGCGCTCCATTGACAATCGCCCGTGTACTCCACACG +GACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCGCGACGCGACACGC +AACGCGCCGTAAATCTACCCCAGATATGGCCTGGCCTAGTTCGGCAAAAA +CTCTTCCATTTCAAAATATGAGGAAGGCCAGAACCTCGTGGAAAATATCG +ATTTTTCCATTTCCACGTGGCCAAAGGAATTGCAAGCGCGCTCCAGTGAA +CTCGCCCAATTTCCATTTTTTTTCAGGTTCTCCGAAACGTGGGCACCCGC +GAGTGTGCTCGCTGGCAAATGAGCCAAATCGACGTGCGAACGTGTTGTGA +TTGTATGCTCAATCCGTCATCACCACTGGTCACCTATTTATGAGCGAAAA +AACCGGGGAAAAAAACACACAAAACAACTCAAAACTCAACAAAAAAAAAT +AATTTTACAAGATTCAACGAAACAACAAAAAAAAGAAACAATGGAAATTA +AATACGGATGCTGCTGCCAAATATGCTGCCAAATTCAAATTCTCGCCTTG +TACACACGATCTTTATTGAAAACGGTGATCAACGGGCACCCTCCACTCTG +ACCTTTTATCTGAAAATAATTGTTTTAAAGATTTATTTGATTAAAAACCT +CGGCCACGGCCGCGACGCAGCCGCTCCGCACGCAGCTGCGTCGCGGTCGG +GTGGATCCTAACCTGAACTTCTCCCTCCAGCTCGTTATCGTCGTCGACCA +CCTCGAACAGTTTGCTAGCCTCGAATAGAAATCTGAAAAAAATAAATTGG +TTTTTTTTGAAAATATATAATGTTTTATGTTTGGGCTTCTGGCCTTCCTC +ATTGCATTTTTCGCGCGCTCCATTGACAATCGCCCCCCTGTGTACTCCAC +ACGGACAAATCACATTTAGTTTCACAACGAACGACACGCAACGCGCCTGG +CCTAGTTCGGCAGAAAAACTCTTCCATTTCAATTTATGAGGGAAGCCAGA +AATCCGCGTGTGTTTTATTGATTTTATTGATTTTTTTACTTTCGAAAATC +GCGTTCCGGCTGGTAGAAGCACAAGGTTTTGCGCGTGTCGGCGATTCGAT +CCCTCGACCATTCTCTGCAAAAAAAATATTTTTTTTTGTGTAAAATTCCC +AATCTGCGAGAACGGGATCTACGAAAAATTTTTTTTTTAATATTTTAATG +ATTTTTTCAGAGATCACATTCTTGCAGATCATCTTTTCGTGGGGCCTCCT +AATTTTTCAGTGCTGCACATTTATTTAACATTCAAAAGTGCTTTTTTCAT +AAAAATTTGAATTTTTTGCCCAAAAATCGAGAAAAACGCCGCTCCGCCTC +TTTTTCCGTGCGGCACTGTGCCTTTTGCAAGCTGGGCACAGTTTTGTAGG +CGTGAGCATGGTCTTACTTGAGCGCTTGAGTGATCTACGAAAAAAAAAAA +GCTTTTTTTAAAATTTATGTCGGAGATCACATTCTTGCAGATCATCTTTT +CGTGGGGCCTGCTTATTTTTCAGTGCCGCTCGGAAAAAGAGGCGGAGCGT +CGTGAGGCACGGTTTTTTGTCACGATTTTACAGTTTTTTGACTAAAATTC +TTGATTTTGGATCATTTTCGTTGATTTTTTTCGGAAAAAGCTGATTTTGG +CAAAAAAAAAATTTTCGCTTTTTTTTGGACAAAGAAGAGCCAAAAAAAAA +AATGAAAAAATCATAAATTTTTTAGTTTTTACATTTTTTTTTTTGAATTG +AAAAATGTTTTTTTGTGTTTTTGGTGAAAAAAACTACTTTTTTTTGCGAA +AAAAAAATAGCAAAAATGACCAAAAATCGGAAAAAAAAAACGCCGCTCCG +CCTCTTTTTCCGTGCGGCACTTCGCCATTTGCAAGCTGGGCACGGTTTTG +TAGGCGTTGTCATGTTGTCATTACTTGAGCGCTTTGAGGCAAAGACTTAT +GGGAGAACGGTGAAATCCAAAATTGGTGGCGTTCGGGAAGAGACGGGGGT +GCTTCTGAAAAAAATTGTTGAAAAATGCAAAAAATCTGAAATTTTAGAGC +ATTTTTCTGAAAAAAATGCAAAAAATCCGAAATTTTTGAGCATTTTTCTG +AAAAAAACGCTAAAAATCTGAAATTTTAGAGCATTTTTCTGAAAAAAACG +CTAAAAATCTTAAATTTCTGAGCATTTTTCCCGGAAAAAAAAAGATTTTT +ATGCACCTCTGCGAAAACTTCATCCATCATGGTAATTGAAAAATCACAAC +TGTCCAAAAGCACCGAATTCACAGTGTCGAGCTCGAAAACGCCGACATCT +TCGACCTAAAATGCTCAATTTTAATGGGGAAAAGCTCTAAAATCATGGGC +TTCTCGCATTCCTCGTTGAATTGTTCGCGCTCCATTGACAATCGCCCCCG +TGTACTCCACACGGACAAGTGCATTTAGTTTTAAAACTAAAATCGAGCCG +CGACGCGACACGCAACGCGCCGTAAATCTACGAAAAAAAAAAGGAATTTT +TGCTGAAAAATCGATAAAACACGTTAAATTTAACCAGAAAAATCAATTTT +CGCACAAAAATTCGCAAAAAAAAAAAATCAAATTTTGCTCATAAAATTTG +GCGATTTCAGTTTTCTGAGGTTCACCGACCCAAAAAACGTCAAATTTGAC +GCGCAAAACTTGAATTTTCTATTGATTTTTGATGAAAAATCGATAAAATA +CGGTCAATTTAACCAGAAAAATCAATTTTTAACGAGAAAAGCCAGAAATC +CGTTGAAAAAGCTCTAAAAATCAAAATACAAACATTCGAGAGAGTCAGAT +GACGGAGACAGACGCATTTTTTCAGAATTTTCTGCAAATTTAGGTCCAAA +CTGACGAAATAGAAGACACGGAGCACACTGGAAATGAAAAAAAATTAATT +AAATGCTAGATTTTTAGCATTTTTTCAGAAAAAATGCACTAAAATTTCAG +ATTTTTAGCATTTTTTTCCGGAAAAATACACTGAAATTTCAGATTTTTAT +TTATTTTTTTTTGAAAAAATGCTACAGACCGAATAGTTTGCCAGGCATTT +CTGCCGCGGAGGAAATCGGCGATGAACTCTGCCACGTAGCGGCATTCGAT +GGGCGGTGGCTGAAAATTTGCAATTTTTTGGCCTAAAATTTGGTTTTTTC +TGGAAAATTCTCTTACCAACGGGAAGGTTTTCGTCTTCGGAATGCCTAAA +TTAACAATACAAGCCCTCGGAGCAATTCTCGCAAGAATTGGAGCCAGCTC +CTTGGCATAAGTGAGATCATAGATGAAGAAGACGAGCCGCTTCACCATTA +CGATGCTCTTGCAGCGTTCACGGCGTTCTGCGTATTTTTCCAGGATACTC +TGAAAAAAAATCCGTTAATTTTAGCCAAAAAATCCGTTAAATTTAGCCAA +AAAATCCGTTAATTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATC +CGTTAATTTTAGCCAAAAAATCCGTTAACTTTAGCCAAAAAATCCGTTAA +TTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATCCGTTATTTTAAG +TCAAAAAATCCGTTATTTTAGCCAAAAAATTCGTTAATTTTAGCCAAAAA +TTCGCTAGTTTCAGCCAAAAAAATCCGTTAATTTTAGCCAAAAAAGAACC +GTTATTTTTAGCCAAAAAATCCTTTAATTTTAGCCAAAAATTCGATATTT +TTAGCAAAAAAAATCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGCC +AAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTTAGCCAAAAAA +ATCCGTTAATTTAAGTCAAAAAATCCGTTATTTTAGCCAAAAAATTCGTT +AATTTTAGCCAAAAATTCGCTAGTTTCAGCCAAAAAAATCCGTTAATTTT +AGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCGTTAATTTTAGCC +AAAAATTCGATATTTTTAGCAAAAAGAATCCGTTAATTTTAGCCAAAAAT +CCGTTAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATTCGATATT +TTTAGCAAAAAAAATCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGC +CAAAAAATCCGTTAATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAA +AATCCGTTAATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCC +GTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAAATCCGTTA +ATTTTAGCCAAAAATTCGATATTTTTAGCCAAAAATCCGTTAATTTTAGC +CAAAAATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAAAA +TCCGTTAATTTTAGGCAAAGAACCGTTAATTTTAGCCAAAAAATCCGTTA +ATTTTAGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTT +AGCCAAAAAAATCCGTTAATTTAAGTCAAAAAATCCGTTAATTTAAGTCA +AAAAATCCGTTAATTTTAGCCAAAAAAGAACCGTTATTTTTAGCCAAAAA +ATCCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCAAAAAGAATCCGT +TAATTTTAGCCAAAAATCCGTTAATTTTAGCCAAAAATCCGTTAATTTTA +GCCAAAAATTCGATATTTTTAGCAAAAAAAATCCGTTAATTTTAGGCAAA +GAACCGTTAATTTTAGCCAAAAATTCGATATTTTTAGCCAAAAAATCCAT +TAATTTTAGCCAAAAATTGCTAATTTTAGCAAAAAAATTCGCTATTTTTA +GCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCTATTTTTAGCCAAA +AAACTGTTAATTTTAGCCAAAAATCCGTTGATTTTAGCCAAACAATTAGT +TATTTTTAGCCAAAAAATCCGTAAATTTTAGCCAAAAAATCTGTTATTTT +TAGTCAAAAAATTCGTGAATTTTAACCGGAAAATCCGTTATTTTTACTAC +AAAAATAGCGAATTTTCGCCAATTTTAACCAAAATCTCTCGATTTTTTGT +CAAAAATGCACCAAATGTGCGCTTTTTTTCGTTTTTTTTTGGCATTTTCC +CTACTTCAATAGCGAGTTTGCAGGTCGTCGTGCAAATTTTGACTTCGATT +TCAACAGAATCCAGCAGAATTCGATCATCAGTCATACATTCCAAACAATT +TTCAGCATCCTTTATGGGCACTTCGATGAAATCTGAGAGAGCAAACACTT +TAGAATTGCCAGGGTTTACAGCTCTTTTAATCACCATCCAACTGGCACGC +GACGTCCATTTTTGGCTGCCCATTCACCCGCTCGCCGCCACCCTTGCAAA +TGTTGTGAAATTTGATGACAAACGGTTCAGAGTACTCGAAATTCTCCAGA +TCGCCGTGCTCGACGAGCTCGTTGTTCGATGGTGCTCTTTCCGGCGTTCT +TTTCCATCTGAAACTGCTGTTTTTCCTTTTTTTTTTTGTCGCAAAATCTT +TTTTTTCACCGAATTTTTCCACCAACCTGAACAGCGAATCTTCGAAAAGA +GACGAAGAATTCGATTTTGGGCTTTCCAAATTTGAAAAATTCAAAGAAGT +TGTCACAGAACTAGCCATTTCGAAGTTGAAATGATTAAAAATCAAAAACA +AAAAATTTCGATAAAAATCAATGTCCGAGAGGAGTACACGCTTGGGAACC +ATGCGCGGGTCTCGCACGGAAGAGACGAATTGAAGTACGGTAGCTCGTAA +ATCCTGTTCCACGATTGATTTTTTTTTAATTTTTGATCAATTTTTTCGAT +TTTATCCCAGAAGTTCTTGAAAATTATCCGTTTTTTTGCAATTTTTTCGG +AAAAATGCTCTAAAATTTAAGATTTTTAGCATTTTTTTCCGAAAAAAATG +TTTTAAAATTGCAGATTTTTAGCATTTTTTCACAAAAAATGCACTAAAAT +TAAGATTCTTAGCATTTTTGCGGAAAAAATGCTAAAAATCTTGCAAAGAC +TGAAAAAATTCGAATTTGTTGTAATATTGCATGTTTTCCGAGGTTTTACA +TCAAATATGTGTAGTTTTCCTTGAAATTTGACGTTTTTCACTGAAAAATT +CTACAAAAATAAGCATTTCTGAGCTCTTTTGTCGCAAAAGTTGATGAAAA +TCGCCAATTTTTCAATAAATATTGCACAGAAACCGTCAGATTTTTAGCAT +TTTTTCGGAAAAATGCACTAAAATTTTAGATTATTAGCAATTTTTCAGAA +AAATGCTCTAAAATTTAAGATTTTTAGCCCTTTTTTTCAGAAAAATTCAC +TAAAATGCAAGATTTTAATCATTTTTTTGCAAGAAAAATGCTCTAAAATC +TAAGTTTTTTAGCATTTTTTTCGGAAAAATGTTTGAAAATCCCTTCTTTA +ACGCCTTTTTCGCACTAAAAGATGCTCAAACTAGTTTAAACTTTCAGAGT +TTTCCCATGCTTTTGCCCCCTCCACTTCACAAGAAACAAGAAACAAATAC +GGCGGGAAAAAAGCGAAAATTCGCGGAAAACATCATTTTCAATGCATTTT +TCATCGCGAAAATTGCCGAATTTCATTAAAAATGGCCAATTTTTGTGCCA +GTTTTCCCAATTAATCATGTATTTTCGATTAACTCGAAGCCCCTGCGCAG +AGAAAAACACAAAAATGTTGCAATTGTTTGTGTAAAGCACTTCTCTGCGC +GTCTGCGGCATCCGATATGACGAGCAATATATATCTTTTTTCTGGGAGCC +TTTTATTTTAAATTTATCATTTTTCATTTAGTTTTTGAGAAAAAAATTCC +CCCAAAATTAACCTAAAAGCCTTGAAAATGTGAATTTTGAGTGAAATTTG +ACGTTTTTCAGCGAAAAATTCTCAATTTTTAGTGCATTTTTGCCGGAAAA +ATGCTAATAATCTTGAATTTTAGTGCTTAGCGGAAAAAAAATTCAAAATG +AAAATGTCGAATTTGAAATAAAATGCTTTAAAATTTAAGATTTTTAGCAT +TTTTCCCGAGAAAAGCTAAAAATCTTAATTTTTATAGCTTTTTTGTTGAA +AAAATGCTAAAAATCTTAAATTTTAGATCATTTTATTTCAAATTCGACAT +TTTCATTTTGTATTTAAGAAAAAATAACCTCAAAGTCTGAAAAATATCGA +ATTTTGAGTGAAATTTGACATTTTTCAGCGAAAAATTCTCATTTTTCCGG +AAAAAATGCTAAAAATCTTGAATTTTAGTGCATTTTTCCAGAAAAAATGC +TAAAAATCTCAATTTTTAGTGCATTTTCCCGGAAAAATGCTAAAAATCTT +AAATTTTAGAGCATTTTCCAGAAAAAATGCTTAAAATCTTGAATTTCAGA +GCATTCTTAATGAAAAATGCTAAAAATCTTAAATTTTAGAGCATTTTTCT +CGAAAAAATGCTTAAAATCTTGAATTTCAGAGCATTTTTTTCGGAAAAAT +GCTAAAAATCTCAATTTTTAGTGCATTTTTCTGAAAAAATACTAAAAATC +TTGAATTTTTAGAGCATTTTCGCTGAAAAATAATAAAAATTTTAAATTTT +AGAGCATTTTTCCGAAAAAAAAAACGCTAAAAATCTTGTAATAACTGACA +AATTTCGAATTTTGAGTAAAATGGCATGTTTTTTGAGGTTTTTCCTTGAA +ATTTGACGTTTTTCACCTAAAAATTCGACAAAAATGAGCATTTCTGAGCT +CTTATATTGCAAAAATTGACAAAAATCGTCAATTTTTCAATAAAAATTGC +CCAAAAACCTTAAAATATTCTGAAAAAAGCCGAAAAAACCCCATTTTTTA +GCCATTTTCTACAGAATTTTACATTTTTCTCAACTTTCTTCACCTAAAAT +CGCCGATATTATTCACATAAAATTCCCTTTTTTTTCAGCGCAATGGGGTG +TATTATGAGCCAGGAGGATGAAGCAGCGAAACGAAGATCCAAGAAGATTG +ATCGATTGGTAAAAATTGGGGATTTTTCGTTGAAAAAACTCGATTTTTTG +TGAAAAAATATAGAAAAATCATCAAAACTGCTTCAAAAACCGAAAAATTT +CACTAAAAACTAGAATTTTTGCTCGAAAACCTCAAAAAATCGCAAAATTT +GCAGTGAAAACTAGATTTTTATTTTTAAAAAATTCAAAAAGTTCATAAAA +ATCAATAAAAAAATCGGATTTTTTTTCTTAAAAAATCTGGAAAACTGTCT +AAAAATCTACTCAAAATCAGTTTTTTTTGTAGAAAATCTGAAAAATAGTC +TAAAAAATTAATAAAAATCGATTTTTTGGGAGAAAATTTGAAAAATTACG +AAAAAAATCAATAAAAAATCGGTTTTTTGGGAAAAACCCTGAAAAATTGT +CTAAAAATCTATAAAAAATTGGATTTTTTAAATAGAAAATCTGAAAAACT +GCCAAAAAATCAACAAAAAATCGATTTTTGTGTGAGAAAACCTGAAAAAT +TATCAAAAAATTGGTTTTTATCTAGAAAATCTGAAAAATTACCTAAAAAG +CAATAAAAAATCGGTTTTTTTTCTGGAAAAACTGTAAAATAGCCTAAAAA +TCAATTTAAAAAAAGTTTTTTTTTTTGTAGAAAACCTGAAAAATTATCAA +TAAAAACCACGAAAAACAGTTTTTCGCTTATAAAAAGTCCAAAAATCCCA +AAATTTGCATTAAAAACTAGATTTTTATTTCAAAAAAATTCAAAAATTGC +CTGAAAATCAATAAAATTGTTGTTTTTTTTTGGAAAAAAAAACCCTGAAA +AATTGGCTAAAAATCCCAAATTTTTTTGCAGCTCAAAGAAGACGGCGAGA +ACTCAATGCGAACCATCAAGCTTCTGCTCCTGGGAGCCGGCGAGTCTGGA +AAATCGACGATTTTAAAGCAGATGCGTATCATTCACGACGTCGGATATAC +GACTGAAGAGAGAAAAGTGTTCAGAGGCGTCGTTTATGGAAATATTATTT +TGGTCAGTGCTCCGATGCACTGAAAAATGACAGGAAATTGGCAATTTTGA +CCAAAATTCGTGGATTTTAACCAAAAAATCCGTTAATTTTAATCAAAAAT +CGGCTAATTTTAGCCAAAAAATTCGCTATTTTAACCAAAAAATCCGTTGA +TTTTAGTCAAAAAATTCGCTATTTTTAGCCAAAAAATCGCTATTTTTAGC +CAAAAAATCCGTTAATTTTAGCCAAAAATTTCGCTATTTTTAGCCAAAAA +ATCCGTTAATTTTAGGCAAAAAATCCGTTAATTTTAGTCAAAAAATCCGC +TATTTTAACCAAAAAATCCGCTATTTTAACCAAAAAATCCGTTAATTTTA +GCCAAAAAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAA +AAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTC +GCTATTTTTAGCCAAAAAATCCGTTAATTTTAGCCAAAAAATTCGCTATT +TTTAGCCAAAAAATTCGCTATTTTTAGCCAAAAAATCCGTTAATTTTAGC +CAAAAAATTCGCTATTTTTAGCCAAAAAATTCACCAATTTTCGTTTAAGA +TTCTCCAATTTTTGACAAAAAAATTCACCGAATTTGCTCAAAATTCTCCC +TTTTTTGGCTAAAAAATGCATAAATTACACAATTAAACCAAAAATTACCC +AATTTCGCCCAAAAACTCTAATTTTTACCAAAAATTCTCCTATTTTTTGT +TGAAAATTCACCAATTTTTTTGCCAAATTTTAACAGAAAAATCTATAAAA +TATCAGGCGAAAATAACCTAATTTTGGTCAAAAATTCACCGATTTTTGTT +CAAAATTCTTCAATTTTACCCAATATCCACCAAATTTTAACCAAAAAAGT +CTAAAAAATTATTCAAAAAATCCCTAATTTTGGCCCAAAATTCTCCATTT +TTACTCAAAAATTCTCTCTTTTTAACCAAAAAATCTAGAATATTAGGTGA +AAAATGCCTAATTTTGGCTAAAAATTCACCGATTTTTGACAAAAAAAACC +TCCAATTTCAGCTTAAAACTCTCTGATTTTTACCAAAAAAATCTAAAATA +TTAGGCGAAAAATCACTAATTTCGGCTAAAAAATCACCAATTTTTGACAA +AAGAAACTCCAATTCCAACAAAAAATTCACAAAATTTACTCAAAAATTGT +CTGTTTTTCACAAAAAAAAAACCTACAATATTAGGAGAAAATTCACAAAT +TTTGGCCAAAAAATCCCTAATTTTGGCCGAAAAATTTGCCAATTTTGTTC +AAAATTCTCCAATTTTCGACTAAAAAAACCTGCCATATTCAGCAAAAAGT +TCACCAAATTTACTCAAAAATTCAAAAAAAATCTAGAATATTAGGCGAAA +AATCCCTAATTTTGTCCAAAAATTCACCGATTTTTGACAAAAAAAACTCT +AATTTCAGCAGAAACTTCACCAAATCATAGCCAAAAATTCACTGTTTTTT +ACCAAAAAAATAGAATATTAAGAGAAAATCCCTAAATTTGTCCAAAAAAT +TAAACAAATTATAGCCAAAAATGCTCTGTTTTTTACCAAAAATTCTAGAA +TATTAGGTAAAAAATCCCTAATTTTTCCCAAAAAATTCACCGAATTTACT +CCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAATTCCAGCACAAAAT +TTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCCAAAAAAAATCTAAA +ATATTAGGCGAAAAATCCCTAATTTTGTCCAAAAATTCACCGATTTTTGA +CAAAAAAAACTCTAATTTCAGCAGAAACTTCACCAAATCATAGCCAAAAA +TTCACTGTTTTTTACCAAAAAAATAGAATATTAAGAGAAAATCCCTAAAT +TTGTCCAAAAAATTAAACAAATTATAGCCAAAAATGCTCTGTTTTTTACC +AAAAATTCTAGAATATTAGGTAAAAAATCCCTAATTTTTCCCAAAAAATT +CACCGAATTTACTCCAAAATGCTCTGTTTTTGACAAAAAAAAACTCTAAT +TCCAGCACAAAATTTACCAAATTATAGCCAAAAATGCTCTTTTTTTTCCA +AAAAAAATCTAAAATATTAGGCGAAAAATCCCTAATTTTGGCCAAAAAAA +TTACACCAATTTTCCCCAATTTCAGCTTAAAATGTTCAATTTCTAACCAA +AAAACCCCCAAATTTTAACCCAAAAATTCCCTCGAATTTCACCCCAAAAC +CGTCCAATTTTCCAGTCTCTCAACGCCATCATCCACGCTATGGAGCAGTT +AAAAATCAGCTTCACCACACTCGATCACGAATCAGATGCCCGAAAGCTTC +TAATGTTCAGCACAACAGGCGAAGAGGATGAGCTGCCCGAAGAGCTCGTC +GTGCTCATGAAGAGTGTTTGGTCCGATTCGGGAATTCAGAAAGCGCTCGA +AAGGTGGCGAAATTTCGCTGAAAATTGAGAAAATTCGAGGGATTTTCGCT +GAAAATCGAGAAATTTCGGTGGAAATTAGCTTATTTCCATGAAAAAATCG +TTAAAATCCCAGAAAATTGCGATTTTGGACTATTTTTGAGCATTTTTCGC +GTTTTTTCCATGAAAAATTCAATGAAATCGATTTTTTAGGTCATATTCGC +TGAAAATTACCGCTTTTTTCGATGAAAAATTCGTTGATATTCGTTGAAAA +TTATCTATTAGAGCTAATTAAAATTTAAAATTCCAAAAAAAAAAATATTT +TAAAATAATCAATCGAATTATTTTTTGCTCACACTTTCAAAAACCGCTAA +AAATTCTAAAAAAAAAATTTTGGAGCCCCTTTTCCGCTAGAAAATAGCTT +TTTTTCCCTCAAAATCCGGGAAAATTCAGAAATATTTAATTTTTTGGCTA +TTTCTGACTCTTATTCCCACACAAAAATAGTTTTACCAAAAAAAAACAAT +TTTTGTCAAAAATTCGAAAAAAAAATTTCTGGGAAATATTTTTAAATGAC +TCTAAATTTTCCCCTGTACCCGAATATCGATGTGAAAAAATTCAGAAAAA +TTTTCCGCGATTTTATATGATTTTTTGAAAATTGGACAAATTTCAGTTTT +CCCCCCTAATTCCTATTTGAGTTACCGCCAATTTGATTTGTTCGATGGAC +TTGCACATTTTTGAATTAATCTATTTTATTTTTTGTTGTTTTTTCCACCG +ATTTTTAATGTTTTCGGTGTATTTTTGCTTGAATTTTAGGGGAAAAGTCA +AAATAAATGCAATTTTCGATTAAAAAGCACGCTGACCGGCGTAAAAATGA +AAAAGTAACGATTTTAAACGATTTCAAACCTGAATTAATTAATTTCACTG +ATTTACGCCTGTACGCGTGCGTAGATCAGTGAAATTAATTAATTTAGGTT +CGAAATCGTTTAAAAGCGTTACTTTTTCATTTTTACGCCTGTAAGCGTGC +TTTTTAATCAGAAATTTGCAATTATTTTGACTTTTTCTCTAAAATTCAAG +CAAAAATACACCGAAAACATCAAAAATCGGTGGAAAATAACAAAAAATAA +AATAAATAAATTTAAAATTGTGCAAGCGCGCTCCATCGAACAAATCCAAT +TGGCGGTAATTCAAATAGGAATTAGGCAAAAACTGAGATTTTTGAGGCAC +CACGTTTTGAAGATCTGTTCAAAAAGAAGATCTACGTTTTCAGGATCTGG +CACCGTGCCAACTGCGGTTTTCTCGATGAAAAACGTAACAACGATGCTCC +GATGTTACGCGTCGCGTGTTGTTTTGCGTTCAGAAAGATATTTTTTGAAA +TTTTCTTCTTGAAGAAACGCTTAACGACACGCAACGCGTAACATCGGAGC +ATCGTTGTTACGTTTTTCATCGAGAAAACCGCAGTTGGCACGGTGTCAGA +TCCTGAAAACGTAGATCTTCTTTTCGTAGATTTTCAGAATGTAGATCTTC +TTTTGGTAAATCTTCTTTTCGTAGATCTTCTTTTCGTCGATCTTCAAAAT +GTAGATCTTCTTTTGGTAGATCTTCTTTTCGTAGATCTTCTTTTCGTAGA +TCTTCTTTTTCGTAGATCTTCTTTTTGAACAGATCTTCAAAACGTGGTGC +CTCTGATTTTTCCAAATTTCAAAAAATCATATAAAATTTAGAAAATTTTT +TTGAATTTGTTTATCAGCATATTTGGTCATTTTGGTACCATATTTTCCCC +TGATTCCGAATATCAATGTGAAAAAATTCAAAAAAAAAATCCCTGATTTT +ATATTTAAGCTTGAAATCGCCGAATGAGATTTTTCAAATACGCGCGCACA +AATAAATTCTCCTTGGAGCGCGTTTGCCTCATTTGATTTTCTCCATATTT +ATTTTTACTTTTTTTTCAGTTTTTCACAGCTATTTTCATTCATTTTTATT +GTATTTTATAGGTTTTTTTTTTTGAAAAATAAATTTTTCCGTGTGAATTG +AACATTTTATTTGCATAAAAATGAATGAAAATAGCTGAAAAACTGAATAA +AGTAAAAATAAATATGGAGAAAATTAAATGAGGCAAACGTGCACCAAGGA +TAATTTATTTGGGCGCGTATTTGAAAAATCTCATGTAGGAGGCAAATGAA +ATTTAGGCGATTTCTAGCTTAAATATAATATCAGGGAAATTTTTTTTTTG +ATTTTTTCACATCGATATTCGAATCAGGGGAAAATTTGGAGCCACCTGTA +ACAAAATTTTATGAAAAAAAAAACTGTATAATTTCTAACAACTTTTTTTT +TGTAGATCACGCGAATATCAGCTCAACGATTCGGCCGGCTACTATCTGAG +CCAACTCGACAGAATTTGTGCTCCTAATTACATTCCCACACAGGTATTTT +TCACTGGAAAATTCACAAATTTTTCCACTACTAAAAATTCAAATTTCCTT +TGCAGGATGACATTCTCCGCACAAGAATCAAGACAACAGGAATCGTGGAG +ACGCAGTTTGTCTACAAAGATCGCCTATTTTTGTAGGGGGAAAATTAATT +TTAAAAAATTGAAAAAATCGTCGCCGAAATTCAGGGTTTTCGACGTTGGC +GGACAGCGATCCGAACGAAAAAAGTGGATTCATTGCTTCGAAGACGTGAC +GGCACTCATTTTCTGCGTTGCACTGTCAGAATATGATATGGTTCTTGTCG +AAGATTGTCAGACGGTGCGATTTTCGAGTTTTTTGCTTTTTTTTCGTTTT +TTTCCCAAGTTTAGGGTTTTTCGGTGAAAATCTCGGTTTTCTTGGTTAAA +ATGGTTTTTTTTTTGGCAAAAAACGGCAAAAATTGAGGATTTTAGCGTAT +TTTGGCGAAAAATTGAGTTAATTACATGGAAAATTTCAGAATTTGAGTTA +AAATTGTAGTTTAAGGATTTTTTAGTGATTTTCTCGATTTTTGAACCGAA +AAACGTTCGAATTTCATTTATTACGCGCGACCACAAAATGCTGAGAACGC +GTATTGCACAACATATTTGACGCGCAAAATATCTCGTAGCGAAAACTAAA +GTAATTCTATAAATGACTACTGTAGCGCTCTTGTGTCGATTTACGGAAAT +CGTGTATTAATCGATAAAGTATTTTTTTTAGAAACACAAAAATGACAAAA +AAAATACGAAAGAAAATTGAATTGTTTCGAAAATCGAGTCCTCCCGTAAA +TCGACACAGTTGCCATTAAATTAAATAAAATTAATGTTAACTGTGTCGAT +TTACGGGAGGACTCTCGATTTTCGAAACAATTCAATTTTCTTTCGTTTTT +TTTTGTCATTTTTGTGTTTCTAAAAAAAATACTTTATCGATTAATACACG +ATTTCCGTAAATCGACCCACAAGAGCTACAGTAGTCATTTTCAGAACTAC +TGTAGTTTTCGCTACGAGATATAATTGCGCATCAAATATGTTGTGCATGA +CGGATTCTCAGCATTTTGTGGTCGCGCGTAATGAAAAGCGAAAAAATCGA +TATTTTCTGATTTTTGCGCCGAATTTTGTTAATTTTTCTTTTTTTTTTTT +CTGCGAAAACCACATTTTCCTGACTAAATTCAGGTTCAGCCATTTTTTTT +CGCAAAAATCGACGAAAATTGAGAATTTTAGCGTACTTTTAATTTTTTTA +AATTTTTTTCGCTCTGAAAATTATGAAAAAATCAAAATTTTCTCGATTTT +TGAACCGAAAAACGTTCAAATTTCATTTAAAAATCGAAAAAATCGGGAAA +AAATTTTCCGATTTTTGCACCGATGATTTTCGCTAATTTTTCACCACATT +TTTTGCGTTTCAGAATCGAATGCGAGAATCGCTAAAACTGTTCGACTCGA +TTTGCAACAATAAATGGTTTGTCGAGACGTCGATTATTCTATTTCTCAAC +AAAAAAGACTTATTCGAAGAGAAAATCGTTCGATCTCCACTCACACACTG +CTTTCCGGAATATACGGGCGCCAATAATTACGAAGAAGCTTCTGCGTACA +TTCAACAACAGTTTGAGGATATGAATAAGAGGACTACTGGAGAGAAAGTT +GGTGGTTTTTTTGAATTCACTGCAACTTTTTCCTCACGAGGGACGAGGAA +AAGTGGTTTCTAGGTCATGGCCGAGGGGCCGACAAGTTTCAGCGGCCATT +TATCTTGCTTTGTTTTCCGCCTGTTTTCTTTCGTTTTTCATCGATTTTTT +TCGTTTTTTCGTAATAAAACTGATAAATAAATATTTTTTGCAGATGCTAA +AACAATTTCCAAGTAAAAAAATCATGTATTCAGTCGGCAAGCAGCGATGA +AAGTGGGCATTGTAATATGATGGATTACGGGAATACAAAACCTAAACTTT +TTCTGAAACATGAAACATATGATGCTTAGATGCTGAAATTACCTGATTTT +CATAACGAGACCGCTGAAAAGTTTTGAGGTTTCCACAATTCAACTTTTTG +TGCGAAAATCTCGACTTTTTCACCAAAAAAGTTGAATTTTGGAAACCTCA +AAACTTTTCAGCGGTCTCGTTATGAAAATCAGGTAGTTTCAGCATTTAAG +CAGCATATGTATCATGTTTCAGAAAAAGTTTAGGTTTTGTATTCCCGTAA +TCCATCATATTGCATTGCCCTTGTTTCACCGCTGCTTGCCCACTGAATGC +ATAATTTTTTTACTTGGAAATTGATTTAGCATCTGCAAAAAATATTTATT +CATCAGTTTTATTAAGAAAAACGAAAAAAATCGATGAAAAACGAAAGAAA +ACAGGCGGAAAACAAAGCAAGATAAATGGCCGCTGAAACTTGTCGGCCCC +TCGGCCATGGCCTAGAAACCACTTTTCCTCGTCCCTCGTGAGGAAAAAGT +TGCAGTGAGAAAACTCAATTTTTGAATTTTTTTTTCATGAAAATCGGAAA +ATCTTCAATTTTTCCTAATCAATTCCATCTCTACAGAATCAAGAAATCTA +CACCCAATTCACATGTGCCACCGACACTAACAACATTCGATTCGTTTTCG +ATGCCGTCACCGACATTATCATTCGAGATAACCTCCGCACGTGCGGGCTC +TACTAAATTTTTCCGCTAAATTTTAAATTCCGTTTTTTCCCCCCAAAATC +CCCTCCCAGACATTTTCCGGTATTTATGTATTGACCACACACAACTCTTC +TCTCCCGTCTCCGCTGTTCAATGCTACGGTTATTCTCTTTTTTTTTCTTT +TTTTTTCCTGAAATTCCAAGGGTGTCGTTGAAAATCGAAAAATTCGAAAA +ATTTGGGTTTTTTAGAGGAAAAGCCAAAAATTCAATTTTTTTTTCGATTT +TTATTCCGGAAAATTCGAAAAATTTCGATATTTTTTAAATTTTTTACAAA +AAATTCGAAAAATTTGGATTTTTTCAGGAAAAAGCCAAAAAATTACAATT +TGTGTTTAAAAAAACGAAAAAAAAAACCAATTTTTCTGATTTTAATTCCG +GAAAAATCAAAAAATCTCGATTATTTTCAGAAAAATTCGAAAAATTTGGG +GCTTTTTCCAAAAAAGAAATCGTAAAATTTCGATTTTGTCCAGGAAAAAT +CGAAAATTTAATGTTTTCTTTTTTGGCTTCTTCCGGAAAATCCAAAAATT +TTGAATTTTTTGGATTTGTTTTCAGAAAAATTGGAAAAATTTGGATTTTT +CAGGAAAAAGCCTAACAATTTCAAATTTTGCTTTAAAAAAACTTTAAAAA +ATTGATTTTTGAGGAAAAAACGAAAAATTTCGACATTTTTTGATTTTTTT +TTTACCGAAAAAAAAATTGATTTTTTCCAGGAAAAAGCCAAAAATTTTCA +ATTTTTAAGGAAAAATTCGAACAATTTTGATTTATTGATTTTTTATTACG +GAAAAATCGAAAAATTTGGGTTTTTTAGAGTGAAAAGCCAAAAGTTCAAT +TTATTTTTCTGGAGAAATCCAATTATTTCAATTTTTGAATTTTTTCAAGA +AAAATAAAAAAATGTCGATTTTTTCCAGAAAAATCGAAATTTTTCGTTTT +TGAATGAAAAAAAATTTTTCCTTCAATTTTTCCTTTAAAAAAAATAAATA +AAAATGTTCGAATTTCCATGAAAAAAAGTCAAAAAAATTCAAAATTTTCC +ATTTTCCCTGACAAAAAAATCAAAATTTTCCGATTTTCCTAAACCAAAAT +CCCAAAATTTTCTGATTTTCCAATTTTCTCTGAAAAATCGAATTTTTTGC +CGCACACCCCTGGTTTCACGTGGTGGTCAGGTTGTCTCATTGCGGTTTGT +GATCTACAAAAAATGAGGGAATCTTTCCTCCCCCGGGAAAATCTGACGTC +AGCGCACTCGTGTAACCATGCGAAATCCTCTGCTGAAAAGTCTGCGTCTC +TTCTCCCGCATTTTTTGTAGATCAACGTGTAGATCAATCCAAAATGACAC +CTTGACACCACGTGCCTAAGCCCAAGCCTAAACCAATCCATTTTACCGGT +ATATCTCTACAACCTTTCACTGTCTGAAATATCGCGTCATTTTATATTAT +TATTATTATTGTATTCGCTTAAACGACAACAATTCCCCCATTTGATTCAA +AAAGTAAACATTTCCGAACTTTTTAAAAATTTGAAAAATATTTTTAAAAA +ATTTTAGCGTGAAAAACTTGTCCCCCCACCCTGCCTCTCCAAAAAAAATT +AATTTCGGAAGAATTCAGTCCTTGTTTTTGTAAATTGAGAACGTAATGCG +CTTTTTGGTGGTTTTTGCATATTTATCGACACTTGCGTACGCGAGGTATC +GATTCAGATTCCGTGAGTTTTTTACAACAAAATATCGCTAAGCAATCGCG +CTCCAGCGCGAAACTTCAAAAAAAGGCCAAAATTTTGCGTCGCTTTCTAT +GATTTTAAGACGAAAAGCGAGGAAAAATCAATAAAAACAGCGAAAACTTT +GAAATTTACGGGTTTGCCGCTTTTTTTGCGCTAGAGCGCGATTGCTCACT +GAGTTCAAGCGCCCTTCTTATTTTGAAATGGAAGAGTTTGCCGAATTAGG +CTATTTTGGTGCGGCCACGGCTGGGGTCAATTTACGGCGCGTTGCGTGCC +GCGTCGCGGTTAGGTGGACCACGCCTTTCCCACGCGTAGACGATTGTCAA +TAGAGCGCCGAAAATGCAAGGCCAGAAGCCCGTATGAGTGAAGTTTTTGT +TCATTTTCACTTTTTTTTCGTCGTTTTTAACGGTTTTTATGTGAAAATCA +ATAAAAACGGCGAAAATAATTAAAAATTTTCGATATTCCGGGTTTGGCGC +TTGCTTTGCGCTAGAGCGCGATTGGTCACCGAGTTCAAACGGCGCACTCT +GGCTTCCCTCTTAATTTGAAATGGAAGAGTTTGCCGAATTAGGCCATTTT +GGGTCGGCGGGTAGATTTACGGCGCGTCGCGTGTCGCCTCGCGGCTCGAT +TTTGATTGTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGCGACTTT +CCCACGCGTTGTCCAGCAGGTTATTGCCAATGGAGCGCCGAAAATGCAAG +GCCAGAAGCCCGCCGTATAAGTAGCCCATATGAGTGAAGTTTTTGTACAT +TTTCACTTTTTGTTTCGTCGTTTTTATGGTTTTTATGTGAAAATCCACAG +TCTCCTCGTCATCGAAAGCGCACAAAAAACTGCTTACTGGCGCGTTTCGC +GTTTTTGCTAGCGCATTTTGTGGATTTCTCCGAAATTCAGAAATTACGCG +GAAAATAGGCTAGAATTCCAAAATTACAGCCCCGCCTCTTTTGATAATTA +TCTTCAGGATGAAGAAGATGATCGCGAAGGTGGGTGACTTGAAATATACA +AGAAAAATATGATTTCTTCAGAGAAACACCATTTTTACCGTTGATTTTTT +AATATCCCTACTCCTCCTTCAGTTTTTGACCAAATTTTCTCTTTTAATGG +TCTTTCATTTCATTTTGTGCTAATAAACAAATGTTAAGTTCGAAATCTGC +GAAAAAATTCGTTTCAACGCTAAAAAACGACGAAGTTTATTTTTCAACAC +TAAAAAGATTCACTCCCTCCCCCGGCTGTGCCAATGTGCAAGTGCGCCCC +AGCCCAATTCGACGCCGAGGAGACTGTGAAATCATTAAAAACAGTGAAAA +TAACGGAAAATTTCTGAAATTCCGGGTTTGCCGTTTTTTTTTGCGCTGGA +GCGCGATTGCTCACCGATTTCAAATAGCGCACGCGCTTCTGGTTTCCCCC +ATAAATTGAAATGGAAGAGTTTTCGCCGAACTAGGTCATTTTGGCGCGGC +CACGACCGGGGTAGATTTACGGCGCGCTACGTGTCGCGTCGCGGATCGAT +TTTAGTTGTAAAACTAAATGTAGTTGTCCGTGTGGAGTACACGACTCTCC +CGTCCGGCAGGCGATTGCCAATGGAGCGCGAAAATGCGAGGCCAGAAGCC +CGTGCATTTTTTTGCGGGTCCCGCCACGACATTTACCCTTTCAGACACGT +GTATCAAAGAGGACCAGGCGATTTTGGAGAAGGAAAATGTGAACTCGCCA +CGCCAATTTCTTTTTATCGATGACGGACAATCGCCAAAGTGGAGGGAAAA +TGATCTCGAAGGAAAAGGAATTCTTATGAGCTTCGGAAATCGATTGAAGA +ATCTGACAAACGGATATGAGACTGTGAGACTTTTTTTACGGGTCTCGACG +CGATTTCCCACGGATTTCGGGCTTCCCTCATAAATTGAAATGGAAGAGTT +TTTGCCGAACTAGGCCCCGGCCATATCTGGGGTAGATTTACGGCGCGTTG +CGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTGAATGTATTTGTCC +GTGTGGAGTACACGGGCGATTGCCAATGGAGCGCGAAAAATTCAATTTGT +GTCTCGTAACGATTTTATCGATTCTTTTTCAGGGTGCCGAACAAGCTCTG +CGTGTCCTTGAATTCAACAATACGGAACACTTTCTTGTGATCAATTTTTG +GATGAGAAGCTACTATTTCATGAAAAACGGTGATAAATATCAGCTGTCAT +ACACCGGAACCACCATCAAACCCGATTTGAATCACTTTATTCGGTTAGCA +GGCTTGGAGATGCAATATCGCTCCATCGCAACCATTTTTTCAGCGTATAC +TTCATCTGCGCTCCAGCGAACAGTCAGAGTGCGTTGATCGTGTTTGGGGA +TCAGTCGAAACCGCGAGTTTTAAAGTCGAAAAAATCGAAGAGGGAAGCAG +CGCTGATTGATGAGAATTCGGGGAAGAAGCTGAAAAAGTGCCAGAAAATT +CGGACGAAAAGAGCGGCGGCGGTGAATAACTCGACGGAGTGGACACAGAC +GCTGAAGGATACTCGGAGACTTAAACAACGTAGCGAGTGAGTTTGTGCCA +AACGATACTCCGATGTTCCGCTTCCGCTGAGGACACCGCGTCGTTTGATC +TCTGAAAATTGCGAGAGTCAGCCTCGTGTAAGTTTACCGCAAATTTGGAG +GTCAAGCAGCGAGGTCCTCATATTTTGAAATGGAAGAGCTTGCCGAATTC +GGAGTCGATTTACGGCGCGTTGCGTTGCGTGTCGCGTCGCGGCTCGTGAT +TTTCGCATATTTATCGACACTTGCGTACGCCAGGTATCGATTCAGATTCC +GTGAGTTTTTGCAACAAAAAAATCGCTGAGCAATCGCGCTCCACTGGAAA +ACACCCGAAAAGTTTTGAAATTCCGGGGTTGCCGCTTGTTTTGCGCGCTA +GAGCGCGATTGCTCGCCGAGTTCAAACGGCGCTCTCTGGTTTCCCTCTTG +TACGAGACGAGCGTCGCGGTTCGGTCCAGCAGGCGATTGTCAATGGAGCG +CGAAAAACACGTGGTGTCAAAGTCTCCAATTATGGTTTGATCTTTGATAA +ATGCGGGAGACGAGAGACACCGACTTCTCAACTGATTTCGCATGGTTAAA +AGTGTTCTGACGTCACATTTTTCTGGAAGAAAAACTCCCGCATTTTTTGT +AAATCAAACCGGATTAGGACAGCCGGACACCACGTGGAAAAACAAGATGA +GGGAAGCCACAGAAGCCCGTGCAGAGTCTCGGTTTTATCAGTTTTCGAGT +AGTTTCGCACCACAAAAAGCGTGTGACGTCACATTTTTCCGGCCGCAAAA +TTCCCGCGTTTTTTGAAGATCAAACCGAAATGCATTGTTTCAGAATCTAC +TCTTGGGCACGTCTCTCGTTCATTCACCTCGGTTTCGGTATGGTAGTGAT +CGTCAACGCCATCGTTTTTTTGTTCTTTTTCAAGTATTTCAAGAAGTTCA +ACTCGACGGTGAAGAATGGAGATCAGAAGCAGGAATCGGATGAGACTGAT +GAGAAGACTGAGAAGACTGAGAAGCAGGCGAAATAGAACTTTTTAGTCTA +TCTGTGTTGAAATAAAGGAATTGAAAAAAAAAAAAAAAAAAATTTTTTTG +CATATATGCATGTGGTGTCAGAGTGGATTATTTCGGTTTGATCTACGTTG +ATCTACAAAAAATGCGGGAACTGATTTTGCATGGTTAAGAACGTGCTGAC +GTCACATATTTTTTGGGCGAAAATTCCGGCATTTTTTGTAGATCAAACCG +TGATGGGACGTCTGGCATCACGTGTACATGTAGAAATGAGATACAACATG +TTATGTACCGTTATCCTACAGTACTATAGGTGAACCCCTCAATTTTTGAC +CTCCAAAAATTGCGGGAATCTTATAGGTCAACTTGCAGGGGGTCGTGGAC +ATGAATAAGCCAAATTCAAATTATTCAAGCCAAAAAGATGATAGCGCAGA +CACGTGCCCCCAATTTCGGTTTGATCTACTGTGTAGATCTACAAAAAATG +CGGGATTTAGGACGCTGAGTTCTCCACTGATTTTGCAACAAATTCCCGCT +TTTTTGAAGATCAAACCGGACAACCTGACACCACGTGAAGGAATAAACCA +CGCTCTTTTGCCAAAATCTTAAGAGTTTCTACAATTTCAGTGAAAATCCA +GTATTAGATTTGATATTTGAAAAAAAAAAGTTAAATAATGGACGCGGCCT +AGTCTTTCCTCTTCTACTAGCAAAACGCCCTGTTTTACAAAAAAAATCTA +TAGTTTCTGAAAAAAAAATCAGTGGCAAATGTCTACAATTTTCAATATTT +CATACTAAAAAAATCACAAAAAATTATTTTATGGCCGCGGTCGAGTTTTT +TACTCTTCCACGTGGTTTCAGAGTGTCCAATTTCGGTTTGATCTACCGTG +TAGATCTACAAAAAATTCGGGAGTCGAGAACTGATTTTGCATGATTGCTG +ACGTCACATTGTTTTGGGTAAAAAATTCCCGCATTTTTTGTAGATCAAAC +CGGACAGCCTGGCACCGCGTGCGCAGAGAAGAAAAAGCTAATGAGCACGC +GGTGTCAGGCACGGCTTGATCTACAAAAATTGCGGGAATTTTCAACCCAA +AAATATGTGACGTCAGCGCGTGCTTAACCATGCAGAATCAGTTCTCAACT +CCCGCATTTTTTGTAGATCTACGTAGATCAAACCGAAATGGGACACTCTG +ACACCACGTGAATGAGCCAATTGAGCAAAAATCGTACTGAAAGAGATCGT +TTTATTCGCGCAGAGGTTAGTTACACGAATTGAATAGAAAAAATAATGTT +TTGCAAAAAAAAAGTAATGTACATACTCATGGAAATAAATTTATTATGGG +GGAGCTTGATTATTACAAGTCGACGAAGAGCAGCACTCCTTCTTCTCCTC +CTTTTCCTTCTCTTTTTCCTTTGGAAGCTGCGGAGAATTCGACTCGGATT +TCGACATTAGACGGGAGCTGGAGCATCTGAAAAAAAAACGCGAAAAATGG +TAGATCACACGTTTTCCAACCTATTACCTTCTCAAACTAAGACTGGAGAA +GAGCGGTGTACACTTGAGCATGTCCTTCAACTGTATCGACTCGTAGTTTT +CGATCGATTCCTGGAACTTTTCGATCCACAGCTCCTTGTCCGCCTTGTCG +GCGGCTTGTAGGGTGTAGATGCCGACGACTTGGTAGTAGCGGGTTAGGTG +AATTATGACGAACGCGAATTTTAGGGACACTGGAAGAGGAACACACTTAT +AGTGACACTACAGTAGTCCTAGAAGGTATTGGTAAGGTACTGGTAAGGTA +CTGACTGCGCTAATTTTTGTACGTTACACATTTTCCTGGAGTTTTGCAGA +CCTTCAAGAAAATTCTAGCACTTTCCAGATTTTCTCCGAAAAATTCCTGC +ACTTTCCAGATTTTTCCAGAGAATTCCTGCACTTTACAGATTTTTCTAGA +AAATTTTGTTTTTCTCAGAGTTTTTCCTATAACTACAGTAATCCTACAGT +ACCCCGACCATATCGCCCCTACCAACATACAACCCAATATTCCATCAAAA +GACAAAAACTCAAATTTTCCCGAACTACAGTAACCCTACAGTAACTCTAC +CGTATACCTACCGGGCCCCTACAGTACTGCTGCAGTACCTTGACATTATC +CCCTACCAACATACAACCCAATACCTCTTCGAAAGCTGGGAACTCAAATT +TTCTATAACTACAGTAATCCTACAGTACTTCTACAGTACCTCTACAGTAC +TACTACAGTACACCGACCATATCCCCCACTAACCCTAAACCAATATTCCT +TCAAAAGACAAAAACTCAAATTTTCCCAAACTACAGTAAGCCTACAGTAC +TCCTACAGTCCCCCGACCATATCCCCCTACCAACATACAGCCCAATATTC +CATCAAAAAACAGAAAAAACTCAAATTTTCCAAAACTACAGTAACCCTAC +AGTACTCCTACAGTACTCCTACAGTACCTCTACAGTACTCCTACAGTACC +TGGACATCATCCCTCACCAACTTCCAATCTAATACCTCTTCAAAAGCTGA +AAATTCAAATTTCCTATAACTACAGTAGTTCTACAGTACTCCTACACTAC +CTCTACAGTACCACTACAGTACCCCTACAGTACCCCGACCATATCCCCCC +ATTGACTCTAAACCAATATCCCTTCATAAGCACACTACAAAGACTACGTG +GACTACAAACTATGTATGGTCAGACGGATAGTTTTTTTTAATATAAGAAA +TGATGATGAACTATATATACTACTATATATACTGACACTGATTCACCAAA +ATTAGCGACTCTGGCAATTCACCAAAGATAGGGTACGGTACTGGTATGGT +ACTGGTACGATACTAGACCCCAGTTCTTTAATACGATTCCCTAAAATTGC +TCACTCGGCGTTGCCTGGTCGTTGGAGTCCGCATCACAGAACACGCAAGA +ATCCAACGGTACCGGCTGTCGTTGGACGATGTAGTGCTCGGATTTCCCGA +TTGGGACTCCTTTCTGCAACTCTTTCAGTAATAAAACAAGTAATAAAACT +TCGCGGGACTCCTCACCACTTTCAGCTTCGAAGCGCACTTTTTAGTTTTA +GTCAGCACAAACATGTCGTTGAATAGAAACGCGTACATATCAACGGTCCG +CCCGTTTTCCACAAGCTCGAGGGGGCCTTCGTGGATAAGCTTTCGACGCG +GATGAGCCAGAAGGTTCTCGCAGAATTGACGGGATAAGGCGACGCGGAGG +AACTGGAATTGTAAAAAATCAAGGGAAAATGTTGCAGAGAAAACAAATGT +TTCAACTTACATCAGGGACATAAGACTTGGGCTCCAAGTCGCTTATATTC +GGCCAGACAACCTGTGTCTGCAACTGCTGAAGCCTCTCAAAATTATGAAG +CCACTGCACACTATCATCAATCGATCGGAGTGATTCCGTCATTGTGTCGA +TCACCTTCTCCACCTTTCCCTTACTCTCCTCTTCCTCCGATCTTTTGTGA +ATCTCGCGGAGAAGGATCGGAAGCCGAGTGATTCGTTGAAGCGGTGCGAT +CAAAAGATCCTCGAGCTGTAGACGGAAGCATCGTTCATCGGCCAGACATA +TCCGCTCGAATTCCGTGAATCGTTCCTCTTTCTGTCGAATTGAGCCGAGA +TATTCCATGGTTGCCTTGTAGTTGATGCAGTAGGCTTGGTAGGCCGAAAT +TGTGGAGGGGCCTTTGGAGAACTGGAAGTTTAGAGTTATAACAAGGCATA +GTCTCAAGCTATTTTCCAGCCTATCCAAGCTGTGGTCCTGGTGCTTAACA +GTCTTGATTTTTTAGAGCTGGAAAACCGGACTAATCCGGACTACGGAAGC +CTGGTTTTTGTCTAAACGACAACATTGTGCAACAAGGTACGCTTTTTCAT +ACTACTTTTTTTTAAACTTTTGTTTTTTTTTGTTCTTTTTCGGCCAGCTT +TTAGGAACTTTTTTGACCCAACTTCGAAATGTCCCTTTTTTTTGCAATTT +TAGGAATTTCTAGAAATTTCCCATTTTCTCTTTTTCCAGCCCCTTCTAAA +CCTAGGCCTAGGCCTACGCATAAACCTAAGCCTACGCCTAAACCTAAGCC +TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA +AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCTTAAGCCTGAGCCCAAG +CCTAAGCCTAGGCCTAAGACTAAGCCTATGCCTAAGTCCCAGCCTTAACC +CAAGCCTAGGGCTAGTTGAAAGCCTAAGCCTAACCCAAACCCTAAGCCTA +AGCCTAAGCCTAAGTCCAAACTTAGGCCTAAGCATATGTCTAAGCCTAAG +CCGAAAATGTCCCTTTTTTTTGCAATTTTAGGAATTTCTAGAAATTTCCC +ATTTTCTCTTTTTCCAGCCCCTTCTAAACCTAGGCCTAGGCCTACGCATA +AACCTAAGCCTACGCCTAAACCTAAGCCTAAGCCTAAGCCTAAGCCTAAG +CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCT +TAAGCCTGAGCCCAAGCCTAAGCCTAGGCCTAAGACTAAGCCTATGCCTA +AGTCCCAGCCTTAACCCAAGCCTAGGGCTAGTTGAAAGCCTAAGCCTAAC +CCAAACCCTAAGCCTAAGCCTAAGCCTAAGTCTAAACTTAGGCCTAAGCA +TATGTCTAAGCCTAAGTCTAAACCGTAGCCTAAGCCGAATCCCAAGCCTA +AGCCTAAGCCTAAGCCGACGGAGCACGAGGAGAAAGTCCAAAACTTCACA +AAAAAACAAACATTTCTCTCAATCTCGGTCAGTTTTCAAAAATATTTCGA +GTAATTTTTCAGCACAAATAACAAAAACCCACCCTTTCAAACAAGTCCAC +AACTAGCTGTGTGCAGTCCCAATTCTCCTTGTCTACCGTACTGAGCAACG +AGAGGAACGATTGACAGAAGGTTCGAGATATTCTGACAAAATAAAAATGT +GTGTGTGTGTGTGAAATGGCACGTCAGATTAAAGGCAAATAGAAAAAAAA +AACCAATTAAAAACTGAACGAACCTGCAGAGTTGATCCAAATTTCCGAAA +AGGAGGTCCGGCTCGACAAGCAGTAGACATCCCTCGACTTGACATCTCTT +CAGCGGCTCCTTGTAAACATCGCGGAGCACGAAGAGCTGACGATAGAGGA +AGACGAGCTCCGTGTGGAACAGCTCCCATACCGCTTGAAGGTATTTGTGT +TTGGATGAGGGAATTGTCGTGGTCTCGTCTCCCATGAACATTTCCTCAAA +GGATACTGGCTGAAAGTTGGATTTTTTTTTGGTATTGGAGCTCGTCTCTG +GGCTCGTTTTGCAGTTTGTACCCTTAAAAAGACATTAAAAAGACATCAGC +AACAAACTCCAAAATCCCAAGTAGTAAACAGATTTTTTCTAAAACGGCAA +AATTGAGTGAGGAATTTTTATTCGATGCACCATGTTTCTCACTCAAATTT +GACTACTCATAACTTAGTTAAACCTAATCCAATACTTCCTTAAAAGCTAA +AAATTCACATATTCCCAAACTACAGTAAACTACAGTACCCTACCGTACCC +CTACAGTACCCCGACAGTACCCCTACAGTACTTTGACAATATCCCCCATC +AACTCCCTACAAAATCATCAAAAACAAAAAATTCACAATTTTCAAATCTA +CAGTAACCCTAGAGTGATCCTACAGTATTCCTACAGTACCACTACATTAC +CTTGACATATCCCCCACCAATTTCCAACCAAATACCTCTTCAAAAACTAA +AATTCACATTTTCCAAAACTACAGTAACCCTACCGTATACCTGCAGTACC +ACTACAGTACCATTAAAGTACCTTGACATTATCCCCCACCAACTTCCAAT +TAAATACCCCTTCAAAAGCTAAAAATTCAAATTTTCCCGAACTACAGTAA +CCCTACCGTATATCTACAGTACCCCTACAGTGCCACTACAGTACCTTGAC +ATTATCCCCCACCAACTTCCAACCCAATACTCAATCAAAAGCTAAAAATT +AACATTTTCCCAAACTACAGTAACCCTACCGTATTCCTACAGTACCCCTA +TAGTTTCACCTACCAACAACTTTTCCAGCTCATCATCCTCAATCTCATGA +TCCTTAGAAGTCTCCAACGCGGCCTGCACATGCTTAATAATCTCCCTCCG +TTTTGCTCTGCCCGACCACTCGTAAAGTCTCTTCAGAATCCAGGGCGATC +GATTTTTCTGCGGCTCGGAAGCTTCTGCATAGAAGGCTTGAGAGGCTATT +GTGGCACGTTGAAGATCTGAAAATGAAGAATCGGTGGGGATCAGTGGTGA +CAGCGAGGGAGAAGATCTATTTGGTGGGGTGGCACATATAGAAGTGGGTA +GTAGCGGTTTTTTGTGTGATCTTTGTGTAAATAGACATGATATTAGGGCT +TCCGTGGTAGGCAGGTGCGGTTTTAGGGCCTGGCGCTTGCCTGACGCCTG +CCCGTCTCACGCCTGCCTGGCGCCTTTTATTCTGCATTTTGAAGTGAGTT +TTCAAATTTCAAATTTTCTCATTTTTATCATTTTGTTGAAAATCAAATTA +AGAAATGAAAAAAAGTTTAAGTAGGTTTCAGCATCAGGCGTGTATTTAGG +CGAGAGGCAGGCGGGGGTCGCCTCAAAGTCAGGCAGGCAGGCCTTCTTAT +GCCTACACGGAAGGTGTTCAAAAATCGGTTGCGTGTGTCCAGTAATGACA +AGAATCATACAAAGCATTCGACTTTTACACAAAACTAGTCTGTATTCCAC +CTGTACAAAAACCTACCGATCGATGTGATTTTATTTGAATCTGAAAAAAA +AATTTCTCAGAAAATTTGAATTCCCGCCAAAATGTTTCTTTGAAAGTTTG +AATTCCCGCCAAAAACATTCTCAGAAAATTCAAGTTCCCGCCAAAAATGT +TTCTTTGAAAATTTGAATTCCCGCCAAAATTTTTCTTTGAAAATTTGAAC +TCTCGCCAAAATGTTTTTTTTTTGAAAATTTGAATTCCGATAAAAAACTT +TTTACAGAGAATTTGAATTTCCCCCTACAATTTTCACAGATCTACTTATA +TATATATATATATATATATATATAAGTTGAACTTTAGTTTTCAAAAAAAA +ACCGGTCATTTATTAAAGCACGTGGTGTCAAAAAATATTTTTTCGGCTTG +ATCTACGCCGATCTACAAAAAATGCGGGAGAAAAGACGCAGAGTTCTCAG +TTGATTTCTCATGGTTAAGAAAATTCCCGCATTTTTTTGTAGATCAAACC +GTAATGGGACAGCCTGGCACCACGTGCTAAAGTTATAGTTAATTTACAAG +TCCTGGTTGGACCTGCAGGATGTCAGGCGCTGAAACGTGTTTCAGGATAA +AGTTGGTAAACTTTTATAACCAAGAGGAAAGTGTTATCGATATTTTGCTA +GTTGAACATTTTTTTTTGCTAAAAAGTAAGAGTATTTGAGCCAGGCGTGC +GCGGCGATCGGTAATTTCCGAAAATCGGCAATTTCGGCAATTGCCGGTTT +TGTGAATTTTTGGCAATCGGCAATTTTGGCAATTGCCGAAATTGCCAAAA +ATTCGATTCCGCACACTCCTGCTTTGAACTGTGCATTTCCAAAATCCAAT +AGAAATTCTGCCGACACTGTAAAATCCCTACCTGCCAACAATCCTCCGCC +GGAGCTGATTGCCCTATTGAACAGGTGACTCTCGTTAGGGGATATTTGAA +CATGTGGGACAATGATCACATTGTCCGACGAGCAGCACCCTTGGGATGAG +GTCTCCTGATTCTCACTTGGCTGATCAGGAATGATTGCATGGCGACGGGA +AAGTTGCTCCTTGTTAGGGTGAATTGTTTGGGGCTCTCCTTCTTCTGGCT +GGAAAAATACAATTTTTTGAAGTTTTTGAAAGAAAGCTTGTCATTTTTTT +GTTGCTATTTTTTACCCTAAAAATGTGGTTTCAAAATTTTTTTACCTCTG +AATATCTAATCAACGGGGTGAACAACTGCAGATCGACCATACTCGAGCTT +CTAAAAGTTTGAAGGAAGCTTCTCGTGAAGCACGAAAAAAAAAGAAACAC +GAAATAGTTACCCTTACAATTATCAGAATAGGATGGGATGTACAGAGAAG +TAAATAGGAAGAGAAATGAGAAGAGTTGCACTAGAGAAGTATGTACAATT +AATAATTTATGAGCATCTGAGAAAATGAGAGCGACTTGAAAATCTGAAGA +GCAAGGAAGATAAAACTCGGTCTCTTATCAGAAAATTTGAATTCCCGCCA +AAATGTTTATTGTTTAATTTGAACTCCCGCCAAAACTTTTCACAACGAAT +TTGAATTTTTCGCCAAAATTTTTCTCAGAGATTTTGAATTTTCCCGCCAA +AAGTTTTACCAGAAAATTAAAATTCCCGCCAAAACTTTTCACATCGAATT +TGAATAACCCGGCAATTTTTTTATCAGAAAGTTTGAAATCCCGCCAAAAT +TTTTCACATGAAATTTGAATCTTTCGCCAAAGATTAAAATCGTTGGATAA +TTTTAATTCGCGGCTGAACGTTTCCAATTCGAATTAAGACCGGCCAAAGT +TTTTCGGGGTTTTTTTTAAAACTTACTACAAAAAAGCATACATTTATTTT +CCTAACTAGACGCCTTACTAGGTAAAACCCGCTTTTCACATCAAAAACTT +CAACAATGCGTCACCGCCAAAAGAGATTCTTGCACTTCACCACGAATAAT +AGATCAGAAGGAAAAGCGTGTAGTGAGTTGAGAATTATAACTAATTCATA +TCCCCCGAAAAAAAAAACGCTGATGTCTATATTCTATACATGGTGAGAGC +TCACCGAAGAATAGACGGGTAATGAGATATATATGTGATACATAAATGTG +TGCGCCCGGGTATCCGAGAGCCGAAAACAGAAGCATGGAATGGAGCAACT +AGGGAAAATTGTGTTATCACGAGGCACGGCGGGAGACACAATAATATGAT +TTTTTTTCGAAAATTTTCCATTTTCACGTGGTTGTCCCATTACGATTTGA +TCTACCAAAAACGCGGGAATTTTTCGCCTAAAAAAATGTAACGTCAGCAC +GTTGTTTACCATGAGAAATCAGTTGAGAAATTAGCGTCTCTTCTCCCGCA +TTTTTTGTAGATCTAACTTGATCAAGCCGAAATGAGACGCTCTGACACCA +CGTGACGAAAAAAAGTAGATCAAAATTTGGCAAGCCCTTATAAAAGTCCC +TTTTTCAGTTCTAGGCGGAGCTCAGTTTGACTGATGACGTAAACGCAAAT +CTTGAAATTTCGAATTCTCTATGGAAATTAGAACTTCCCGCCGCCGCCAG +ACTTTGTAAAGTTCAACAAAAAGATGAAATATAGAAAAAGTTCAGACTAT +GATAAGGAACTTATGACTAACGTCTCTTGAGGTGAATGAGTATGATGTGA +TTAGTGATGCAAGACGACTAGACCGAGAGAGAGAGAGAGAGAGGCTCAGA +GAGGGGGGAGGGAAGGTAGGTTTGTAGGTAGGCAAGCAGGTAGGCAAATA +GGGGGTCGTAAGTAGAAATTATGAAGGAACCTAGGTCGGCAGCCATAAGG +TAGGCATAAAGTAGGTCAGCATCCAAGTAAGTTAGACAGGTACGCATAAG +ATAGGAAGGTAAGTAGGCGCGGTGGCAAGGAGACTCAAGGCAAAGTAGGA +CAGGAAGTAGGCAGTAGGTAGGCACGATGAAGGTAGGTGGGTAAGCTTGT +AAGAAGGCAGCCATAAAGTATGAACGTCGACAGTAGGCATGCATTTAGTA +GGTAGGTATGAAATAAGAATTAAGGTATGCATAAGGAAGTAAAGTATGAA +TGATGAAGCCATGTAGATACAGAAATATCAGGCAAGTAGACAGGCAGGCA +TAATATAGGAAAGTTAGCAGTAGGTAAGCATGTAGTAGGTACGTGGGTAG +GCATGTAGGTAGGCACGTGGTAGGCTTATGGTAAGCAGAACACAAGCACA +GAAATATGCATATTGGCAAGTATGTAGGCATGCATAAGATACAAAAGTCG +ACCAGGCATGTAAGTAGGCACATAGGTAGGCAGGCTTGAGGCAGCAATGT +AGGTGATCTCGTAAGTAGGTATGAGTAAGGAACCTAGGTAAGTCACAGGT +ATTTGGCACAACCTGTGTTCTTCTCAATGGTAATCAGGCGAACGTGCCTG +CCTGCCTACCTAGAAATTCGGTAAAAATTGTGGAAAAAAAACTAGGGGAA +CCTCTTCCCAATGGAATGCGTAATGTGAGTGGGAGGCGGCAAAAAAAGAG +CGGACGTAAACACTTTTTCCTAATTCTCTTTTTCTCTCGCTCGTGGAAAA +TGAATGAATATTTGATACAATTTTGTGGGTACAGCCAGCAGGAGAAGAAG +AAGCTGATGTCCCGACGCGCGCGCGCGAAAAAAACTTTCAATTCCCTCCC +CTAATTATCCGCCTAACGCCTAATGTGTGTCAAATTTACCATGTATTTTT +TTCTCCTCTCGGCTATGTTTTTTTTTCTTTTTCAGCAAAAAAAAGTACGG +GCACATGAGGTCGGGATGGATAATTAGGGATGTGTGCCAATTTGTTGGAT +AATAGACAAAAAAAGTACGTGAGATTTTTAGAAAATGCTGAGAAAAATAT +CACGAGGCGTTGGGGACGTGGCCGCGAATGAGAAAACTAGGCCACCTTCA +CAGGGCCCTGGCCTTCCTCATTGAACTTTTCGCGCTCTACTGACAAACGC +CCGTGTACTCCACACGGACAAATGCATTTAGTTTTGCAGCTAGAATCGAT +CAGCGACGCGACACGCAACGCGCCGTAAATCTACCCCAGATATGGCCGAG +CCAAAATGGCCTTGTTCGGCAAACTCTTCCATTTCAAATTTTTTATTCAG +TTTAATTTTCTAGGATACGCCTACGAGTGATCTAGGCCAGGCAGTAGGTA +GGCAGCCAGTGTAGGTAGCCCCCTTTTGGTGTCAGGCTGTCCCATCGCGG +TTTGATCTATCAAAAATATGGGAACTTTTCTCCCAGTAAAATGTGACGTC +AGCACGTTCTTAATCAGGCGAAATCAGTTGAAAAGTCTGCGTCTCCTCTC +CCGCATTTTTTGTAGATCAACGTAGATAAATACGAAATCAGACACTCACG +TGGTGCCAGGCTGTCCCATCGCGGTTTGATCTACAAAAAATGCGGGAACT +TGTGCCCAAAATTATGAGACGTCAGCACGTTCTTAATCAGGCGAAATCAG +TTGAAAAGTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATCAAAGTAGAT +CAATCCACATTAAGACCTTCTGACACCATGCCCGAGAAGAGTTCAAAATA +AATTTCGTAGAACATAAATTTTTCCACGTGGATTTTACAGCACAATTGCT +TATAGAGCGCGGTTGCACCCCAAATTTTACAGGAAAAATAGGAAAATTTT +ACCAGATTTCCCGCGCAAGACACGAAACAAGGTCTTAAAAAGTGGGAGAG +CATGAAAAATCCTAAGAAAGTAAGAAACTTCTGGTTTACCACATAACTCA +AATTGGAGATAGTTCGACCTTAAAAATTTTGCACCAAAAAGGGCGGAGCC +AAAAACACCAAAACTTACGTGCAAATTTGTACATGAAAAAACTAAAAAGG +ACACCTAAAACCGGCGAAATATGAAGAAAAACGCTGAAAATGAGCAATGT +GTATCAATTTTTCCCCCGTTGCTTAATTTAATACATGTCTTCCTCTCCCC +CTTCCTTCCTGCTTCACACTCTTTCGGGCGGCGCCTCCTTTTGATTTGAG +ACTTGAGACTTTTTTTTTTGTGATGTGCGTTGAGTAGTGTGGGATGCATA +TATTATGAATCAAAAATCTGACATCAAAAATATCGCTGAAAAAATAGTTA +AAATTTGCTTTAAAACTGCCGTTTTTGATCTACAGGGTGCTTTGGCGCGT +TGCGGTCGCGTCGCGGCTTGGAGTTCTAGGCCACGGCCATTCAATTTGAC +ACTACTACAATCAGAAATATTTTGTAATTCTTAGGCCATCAAAAAATTTT +TAAGCCAGAAAACAAATCCGGAAATTTCTAGGCCATCAAGAATTTCTAGG +CCACATCAGACTACTTTGAAAATTTCTAGGCCACAATGGGAACTAATTTC +TGAACCTAATTTCTGAAATTTCTTGGCCACGATCTGAAATTTCGAAGCCA +TAATTTGAAATTTCTAGGCCACGATCTGAAATTTCTAGACCATCAACAAT +TTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTGTAGGT +CAAGGTTTGAAATTTCTAAGCCACGATTTGAAATTTCTAGGCCACGATCT +GAAATTTTTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTT +TAGGCCACGATCTGAAGTTTTTAGGTCATCAAAAATTTCTAGGCCACGAT +TTGAAATTTCTAGGCCACGATCTGAAATTTCTAGGCCACGATTTGAAATT +TCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAAATTTCTAGGCC +ATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAA +TTTCTGGGCCACGATCTGAAATTTCTAGGTCATCAAAAATTTCTAGGCCA +CGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGA +AATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGC +CGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCCACGTTTTAAA +ATTTTTAAAATGTTTAAAATTATAGGTTTTCAAAAAAATTCTAGGCCATC +AAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATCTGAAATTT +CTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGACCA +CGATCTGAAATTTCTAGGCCATCAAAAATTTATAGGCCACGATTTGAAAT +TTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTGAAATTTCTAGGT +CATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAA +ATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAAAATTTCTAGGCC +ACGTTTTAAAATTTTTAAAATGTTTAAAATTATAGGTTTTCAAAAAAATT +CTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCACGA +TCTGAACTTTCTAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAAT +TTTTAGGCCACGATCTGAAATTTCTAGGCCATCAAAAATTTATAGGCCAC +GATTTGAAATTTCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAA +ATTTCTAGGTCATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCC +ACGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTGGGCCACGATCTG +AAATTTCTAGGTCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGG +CCGCGATTTGAAATTTCTAGGCCGCGATCTGAAATTTCTAAGCCATCAAA +AATTTCTAGGCCACGTTTTAAAATTTTTAAAATGTTCAAAATTATAGGTT +TTCAAAAAAATTCTAGGCCATCAAAAATTTCTAGGCCACGATTTGAAATT +TCTAGGCCACGATTTGAAATTTTTAGGCCACGATCTGAAATTTCTAGGCC +ATCAAAAATTTATAGGCCACGATTTGAAATTTCTAGGCCACGATTTGAAA +TTTCTGGGCCACGATCTGAAATTTATAGGTCATCAAAAATTTCTAGGCCA +CGATTTGAAATTTCTAGGCCACGATTTGAAATTTCTAGGCCGCGATCTGA +AATTTCTAAGCCATCAAAAATTTCTAGGCCACGATTTGAAATTTCTAGGC +CACGATTTGAAATTTCTAGGTCACGATTTGAAATTTCTAGGCCACGATTT +GAAATTTATAGGCCGTGATCTGAAAGTTCTAGGTCATCAAAAATTTCTAG +GCCACGATTTAAAATTTCTAGTCCATCAATAATTTCTAGGCCACCAGAAA +ATTTGTGTTCACTTTTTTTTTTGGTTTTTGGTATGTATTTTTCAGAAATT +ATTCAAAATTTGTGGGAGCAACAATATGCTTTTTTAGTTTCTAGGCCACA +AAATTCTTTGGCCATTTTCACATTTTTTCCCGCCGCCAATGGTTCCACTG +GATAATTGAATGTATAGAAAAAAGGGAAGAGTTCAGCTGGCGCAAAAGAG +GGTAATTCGTTGGAAGGGAAAAAAATAAATGCAAATCTTCGCCAAAAACC +AATTTTCGGTCGGAGCTCGGCGCGGGCCGACACACACAAAAATGGAGCAG +AAGAAGACGTCAGAATCTTCTTTTTCAGAAGGCTTTCTCACTTTGAAAAT +GGGGTGTCCAATTTCTTGTTGCTAATTGTTGGATGGGGAAAGAATGATAT +TTTGTTTCAGGTTTCACACAACATCAGCCTAGACATTTTTTTTTTGTTTT +CTCCAAGAGGAGTACACACACTATAAATTGTTGTAAAAATCGAAAAACAC +GTGGAGCCAGAATTTCTTATTTCGATTTGATCTACAAAAAATGCGGGAGT +TAAAACGCAGACATCTCACCTGATTTCGCAAGAGCGTGCTGACGTCACAA +TTTTTTTGGAAAAATATTTCCGCATTTTTTGTAGATCAAACTGCAATAAG +ACAGCCTGGCACCACGTGAAAAATAGTATTCCTCTTGAAAAAGATTTCCC +GAATCAAGTTCCTTGAAAGGAGTACGCAAAATTTTGCAAAAAAAATCGGT +GGCCGAGTTTACTCTTCTGGCGGCCACGTAACAAAATTAACAAGGAAGGA +TAAAAAGGAAAAAAAAATTTTACTCGTAAAAAGGTACCAGGAAGCAATTT +GAGGAAGGAAGGAAATGTGAGTGTCTACTCTAATGATCTACCAGTTTTGG +TGGCCGCGGAACAGAGAAAGCTCGGCCCCCAAGTATTTTTTCAAATATCA +CGGATTTCTGGTTTCCCTTATAAGTTGAAATGGAAGAGTTTTTAAAGAAC +GAACTAGGCCATTTTAGCTCGGCTGGGGCAGATTCACGGCGCGTTGCGTG +TCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATATATTTGTCCGTGT +GGAGTACACGACTTTCCCACGAGTTTTCCGACAGGCGATTGTCAATGGAG +CGCGAAAAATTCAATGAGGAAGGCCAGAAACCCGTGAGATATTTAAAAAA +TATTCCAAAACTATTTTTATATTCAAAATTGGAAATTATACATACTATAA +GTATTTTCAACTACATACATGGCCGCGAAAAAAAAAAACTCGGCCACCAA +TTTTCGCGGTCACTTACCGCAGATCTCCATCGATCCTGAAGTCTTGCCGT +ATACAATAAGGGCATTTTTCGGATCATAGTGAATGAATTATTTCAGGAAT +ATTATTTCAAAGAACACACACCACACAAGAAATGTGAAGGGAAGGAAACG +GGGAAAAAGAGACAGGTGGAAAAATACATTTTCTCTATTATTTCGCTCTG +TTTCTGACTAGGAAATGAATCAGAATCAGTGATTAAGAAACTGGGAATTT +ACGAGGTGTTTAGGGAGATGGTGACCGCGAGGATGAGGAAAAACTCGGCC +ACCGCAAGACTTACCGGCTTAATCAATTGATTTCCTCGTATGTGATGGAA +CAATGTGAGAGCCGGAGCTTCACTCGTCATAGCTTTGTGTCTAGGTGGCT +CTCAAGTACTGCTGGACCTGAAAAACTGCAAATTTAATTTGAAATTTGGG +ATGCAAAAAAGTAGCAGCCGACACCTGCCGGGTTCCCGCAAGATGTCGGA +TGCTTCAATTGACCTAGTAGAATCGTTAGTGATCTACCGAGCAAAAACAA +GTATGCTTGCAAGAAAAAAAGGCGTGTGGCTCAAGTTGACAAATTCGACA +CTTTGGACACACGAAATTGGATGAGCCACACCACACCGGCTAGCTCAGAA +GAGCCCCTCCGACGTCAAGGACCCCATGTGCGCGCGCGAGCCGAGATTCT +GGCAACATGAGAAGCGGAGAAGGCGAAGAGAAGAGTGCTAATTTGAACTT +GTTGCTGCAGGAAAAATATCTAGGCTTAGGCTTAAGCTTGGGCTTAGGCT +TAGACTTATGCTCAGGCTTAGGCTTAGGATCAGGCTTAGGCTCAGGCTTA +GGCTCAGGCTTAGGCTCAGGCTTAGGCTCAGGCTTAGGCTCAGGCTTAGA +ATTGGGCTTCGGCTTCGGCTTTGGCTTGGCTTAAGCTTAGGCTTAGGCTC +AGGCTTAGAATTGGGCTTAGGCTCAGGCTTAGAATTGGGCTTAGGCTCAG +GCTTAGAATTGGGCTTAGGCTTTGGCGTAGGCTCAGGCTTAAGCTCAGCC +TTAGGCTTTGGCGTAGGCTTAGGCGTAGGCTTAGATTTAGGTTTAGGCTT +AGGCCTTGGCCTAGGCACAGGCCAAGGTTTCAGGTCACTATCACTTGCTC +CTAGGTGTGGCTGGGGAAATGAAATTCTAGGCCAGTGACGTCAAGATTCT +GGAAGAGTTCCGTTGACGCCACCAAAAGCAACAAAAACTTCAAATCTGAG +AAGATCAGAACAAAATGTACTGAAAGTACAAAAAGCCCGCACTTTTTTCT +CTATTAATACTACTCATTTGAAGAGTGGGGAAAAGAAAAATGTGTTGCAA +GAAATAATTCCGTGCGAAAAAAGTTTGAGAGGAATGAATGGAGCGGAACT +TTTTTTTTTGTTGGAAAATCGTAGGTGTGACGTCACTTCTCTTCCAACCC +CCAGGTTTCTAGGCCACTTAAGAATTTTGCAAAAAAATCACAGAGCAAAA +CTACAAAAAGGAAAGAAGAAATGTGCTCTTGGAAAATAATAAATATTGGT +TACGAAATAAAAGAGAAAAGAGAACGAAAAAAATAAAAAAGAAAATGGTA +ACCAAGGAGGAATGTGGAGAAGAGGCTCTTGTGAGCCCAGATATACCCAG +CAATTAGGGAGCGAGTACTACTGCCGGGAGATGACGTTTCGAGGATATTT +CTCACTGGAATGGAGGGTGGTGGAAGAGTTTTGTAAAGTTCTAGGCCACG +GGTTTTTTTGGCCAATGAGCATGGTGCATCGATGAAAAGCTATTGGGTTT +CTCGGCCACAATAAATTACAAAAACCTAGTACGATGGAGCACACTTGCAA +TAGAATTGCAAAAATTTATTTGAAAATTGAGAAGAAAGAAAATCAGGGGG +GCATAAATGCTCAACAGTGCAATCAAATTGTAGAAGAGCTTTCGCCCAAA +AAGCTAGGCCACGGAGGAGACCGCTGGAGAAAGTGACGTGTATATGGTGG +AAGAGTTTTCTTGTTTTTCTAGGCAATCTTGGGCGATTGCAAAAATTGAA +TTTATGAAAAGATGGCTTGGAAGAGCTTTCGCATAGAAAATCTAGGCCAC +GGCTAGCAATTTAATAGGGGATAGAAAACCGCGTCGGAAGATTATTTAAC +TTTTCCATAAAAATTAGCAAATTTAAGAGAGTTCAGATACTGATCTGGAA +GAGTTTTTGAGCAAAAAACCTTGGTCACGGCCAGCAACTAAAGTAGTAGG +GGAGATAGGGTACCCCGCTAATTTTTTATTTATTTTTCAAAGAAAGTTTT +AAGGTTTCGGGAAAAATTTTGATGAAATGGCTTGGAAGAGCTTTTGCCGA +AAAAACTTAGGCCACGGCCAGCAATCTAATGAGAGGGGGAGGGTTCCCCG +CTAAATTTTTTTTTTGATTTTTAAACAAAGTTTCATGGGTTCGGGGGAAA +ATTTGATTAATTGACTTGGAAGAGTTTTTAAGCAAAAAAAAACCTAGGCC +ACGGCCAGCACCCTAATGAGAGGGGGGAACATAAGGTACCCCGCTATTTT +TTTTTGATTTTTCAAAGAAAGTTTTAAGGTTTTGGAGGAAATTTGATTAC +ATGACTTGGAAGAGCTTTTGCAGAAAAAAACTTAGGCCACGGCCAGCAAC +CTAAAGTAGTATGGGAGATAGGGTACCCCGCGGAAAATTTTTAAATTTTG +GTAAACAACAATGGAAGAATTTTCCGGTTTTCTAAGCCATTGCATTTTTT +CAGCGTCACGGATTTCTGGCTTCCCTCATAAATTGAAATGGAAGAATTTG +CCGAACTAGGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGT +CGCGGCTCGATTTTAGTTGCAAAACTAAATGTATTTGTCCGTGTGGAGTA +CACGACTTTCCCAGGAAGGTGATTGTCAATGAAGCGCAAAAAATTCTCAA +AAAAAATCCAGATTCCCGTGCAGCGTCGCAGGAGATCATTTTCAAGAAAT +CTGGCTCAAGAAGGATTCAGTAAAACAAGAAAAGAAATAAAAAAGGAATG +AAAGGTAAGGGTGGACAAGTCGGCGGGACAACTTGTCACTTGCCATCATC +ATCATTTTTCTTCTCCTCCTCATCAGCTTCTGCTGCTCCGCGAGCTCGCG +ATGACTCTTCTGAAATTCTAAACTTGGCCAACACAACGTCGGCAACGAGT +TTCGAATTTACACACACACACACATACGAAAAAAGCTCATTAATTGGAGC +AGGAGACGGAAGAGAGGGAGGAGAGGCTGCTCAATGAGTTAGAGAAGAGA +GAGAGAGAGAGAGACTGAAAGATGAAGTATAAGCAGAAGTCGTCGGGATG +ACAGAAGAAGGAGGAGAAGAAAACGTGAGAAGGGGGGATGTGGAGACAGA +AGGATATGTAAATATATTAGATTCAAGGATTACAGCAATTTTAAGGAGGC +AAAAAAAAACAACGATGCTCCGATATTTTTGGGGTTACTGTAGTTTTTGT +AGATACTTCCAGAAGTTATAAACAAATCCGAGTTTTTTAAAATTTGCCAG +AAGCACGGGTTCATTGAATTTTTCACGCTCCATTGACAATCGCCTGCCGG +ACAACGCGTGGGAAAGTCGTGTACTCCGCACGGACAAATACATTTAGTTT +TACAACTAAAATCGAGCCGCGACGCGACACGCAACGCGTCGTAAATCTAC +ATATATGGCCGAGCCAAAATGGCCTAGTTCGGCAAAAACTCTTCCATTTC +AATTTATGATGGAAGCCAGAAATCCGTGCAGAAGTTTCTCGGAAAAAAAA +CAGAAAGTTTGCGAAATGGCAACCTCTAATTCATTAACATAAATACATCA +AATATGACGCGCAAAAATGAATTAATTTACTAGTGAAACATGGTGCATTG +AAGTCGGTGTTTGCACAATTTGTACAGATCTGAGGTTCACTAACACCAAT +GCACGGCCCGAGAAGTGGTACCTGTACGCAATTTGTCTACCGTATACCTG +GACGTTTGGGCGCGTGTATCTCAAAAACGGTTGGTCCAGTTTTTTTGTGA +TGCATATAAAAAATGTCCGAAATTAAATTCTAAATTTTTTGGACCAAAGC +TTTTTTCGTTATCACGCGCCCAAACCTGGTCTACACTCAAATTATCAGTA +GAGCGCATTTGCATGGATGTACCACTTGCCGGGCCGTGTTCAAAGGGGTG +CAACGATTGCGCGTCAAATCGAATGCAACTACAGTAATCCCTAGTAGTTG +CGCTTCAAATTTGATGCATTGCACGGCCCGGCAAGTGGTACATCCATGCA +AATGCGCTCTACTGATAATTTGAGTGTAGACCAGGTTTGGGCGCGTGATA +ACGAAAAAAGCTTTGGTCCAAAAAATTTAGAATTTAATTTCGGACATTTT +TTATATGCATCACAAAAAAACTGGACCAACCGTTTTTGAGATACACGCGC +CCAAACGTCCAGGTATACGGTAGACAAATTGCGTACAGGTACCACTTCTC +GGGCCGTGTTGAATGTTTGAGAAATGTTAAAATTTTGAGTTATATGTGCT +GGAAAATTGACATGAACATGGTTTTTTTCATTATTTGCGCGTGAATTATG +GTGCATTGAAGTCGGTGTTTGCACAATTTTTTTCAGATCTGAGGTCAACT +GACACCAAAGCAACAGAGTTGACGCGCAAATTTTAAAATGCGCTTAACAT +TTGGCACGCTTTGCAGTCGGTGTTTGCACATTTTCGATTGTTGTGTGAGG +TTCACCGACACACCAGATTTGACGCGCAAAATTGTACGAAAACAGTTAGT +TAGAAAACTAATAAAAACTATTAATAAAAGTATAGTGCATCCTGAAAAAT +TATTTCTGCAAATGTATCTATAGAATTTAAAACAAAATATACAAAAAAAA +ATTATGAAAACCACGACGAAAAACCCGGAAATGTTTTTTGGGTAGCTTGT +CGATTCCGGAGGGTATTGAATTTCGCGCTCGAATAATATTGTTTCCTATT +CATTTTCCCCAGAATACCTACAGAATTTGGGGGAAAAATATGAACTGGTA +CCTAACATTAACCTACACGTTTTTTAAATAAGTTTAGGCCACGCCCAGAA +AGTAGCTGGGCGGGGTTGCAGATTTTTCTAGCTTTCCGAAATATAAAAAG +TCGGAAAAAAAGTTGTAGTCTGTAGTTTGTAGTTTGTAGTTTGTATCAGG +TTGTCCCATAAGTTTTTGTACTTTTTTTCAAATATTTTTCCAAAACTTCT +AGAAAGTTTTAAAATTTTTTCATCGTAGGTCGTGTCAAGGTCGGGTCGTC +CCCTTTCAGAAAAGATTCATTTCATCCATTTCTACTTTGCCACGATGACA +ATCATCAAACTTGAACGTCGAGACGTTAGATTGCTTCTTCTTTATGAATT +TCGTCTTGGTCATTCAGCAATGGAAGCGGAACGAAACATATGCGGTGCGA +TGGGTGAGGGAGCACTCTCTTATAATACAGCAAAGAGTTGGTTTCAAAAG +TTCAAGAACGGCGACTTCAGTCTCGAAGAAATAGAACGTTCTGGGCGACC +GGTAGAGTTAAATGAAGAAGACCTAGTGAAGCTGGTGGAGGAAGAGCCTC +GTCTTAGTCTTCGTGAAATGGAAGAGAAGCTTGAGTGTTGTCATAGCACA +ATTGCACGTCACTTGGGTCGCCTTGGTTTTACTTCAAAACTTGGAACTTG +GGTGCCTCATGAACTTTCGGCATCACAGAAGCTCACTCGGGTCAACGTTT +GTACTCAACTTCTAACTTTTCGTCGAAAGTTCGATTGGCTGAACAATCTG +GTTACTGGAGATGAGAAGTGGGTGCTCTATGTTAACCATTCCAGAAAACG +TCAATGGCTTCCGATCGGTGAGAAAGGAATACCGACGCCAAAGCCTGATC +TTCACCCAAAAAAGATTATGATCTGTGTCTGGTGGGGTGTTCAAGGACCC +GTGCACTGGGAATTGTTGCCAACTAATAAAACTATCACTGCTGATTACTA +TTGTGCCCAATTGGACCGAGTTGCAGAAAAGACCAACGGAAAATATGAAA +AACTATATTTTCTTCACGATAATGCTAGGCCTCATGTCGCCAAGAAGACT +TTCCAAAAGCTGCAAGATCTTGGTTGGACTGTTTTACCGCATCCACCATA +TTCTCCAGATCTTGCACCAACCGACTACCATTTGTTCTTGTCTCTCAGTG +ACTACATGCGCGACAAGCAATTCGACGACGAAGAGCATCTCAAAACTGAA +CTCTCCACTTTCTTCTCATCGCGTTCGCCGGATTTCTTCTCCCGTGGCAT +CATGATGTTACCTAGTAAATGGCAACAAGTGGTGGACACTAATGGTGAAT +ACTTGTGTGAATAGTACTACTTGTCGCTTGAGAGAAATAAATTTTTTTCA +AAAAAAAAATAGTACAAAAACTTATGGGACAACCTGATAGTTTTAGTTCG +TTATTTGCAAATTGTTAACGTTAGTATTAGGAGAGCCGAAATAAATAAAT +TTTAGAAAAGAAAACGAAATTATATACATAGTTCATTAAAATGTGGTAGT +TTGTAGTTTGTAGTCTATGTATTATGTCTATTCAAATTGTATTCAACATC +AAAAATTAAACAGGAAACTTATATTTAAAAAAAAAACGAATACTGAAAAA +AGGCGGCTGCATAGGAAAAAACAATGATTCTCCTCCAAAAAATAGAATTC +CGCATTTTTTCAGCGGCTATTTTCACGATGATGAGAGGAGACAACAAAAA +CATTTGAGATGAGAAATGAGGGGAATATTGCACAAAAATTGGGAAATGAT +TTTTTTTACTTTATACACAGTTAAAATGCGATGCGCGCATAGTGTTTTTG +GCGTGGATCGCGAGTGGGAGAAAAAGGAACCGGAAATGATGCGCATTGTG +CGTCCATCGCGAATTTGAGATGCATTGTGCGAGCATCGCGAACATAAATA +ATGGGCACATTGTGGATTCTCCTTTCTGATAATATTTTACTCTCTATGGC +TTCACCAATTATCTTTCTCTCTGTGGCTTCCCACTATATTTTACTCTCTG +TGGCTTCACCAATTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTC +TCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAATTATTTT +ACTCTCTGTGGCTTCCCACTATATTTTACTCTCTATGGCTTCCCACTATA +TTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCAC +TATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTC +ACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGG +CTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCT +GTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACT +CTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTT +TACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTAT +ATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCA +CTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTT +CACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTG +GCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTC +TGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTAC +TCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATT +TTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAAC +TATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCC +ACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCT +TCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGT +GGCTTCCCACTATATTTTACTCTCTGTGGCTTCACCAACTATTTTACTCT +CTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACTATATTTTA +CTCTCTGTGGCTTCACCAACTATTTTACTCTCTGTGGCTTCCCACTATAT +TTTACTCTCTGTGGCTTCCCACTATATTTTACTCTCTGTGGCTTCCCACT +ATATTTTGCTCTCTGTGGCTTCCCTCTATATTTTACTCTCTGGCTTCACA +GTATATTTTATTCTCTGGCATCACAATATATTTTACTCTTTGGCTTCGCA +GAATATTTTACACTCTGGCTTCACAGAATATTTTACTCTCTGGCTTCGCA +GAATATTTTACTCTCTGGCTTCGCAGAATATTTTACTTTTTGGCTTCACA +GAATATTTTACTATCTATTAATCTATTTCTTCGTATAACAATCTATTTTT +TCGTATAACAATCTATTTTTTGTATAACCAACTTCAAACTCAACTTTTCC +AAAACTACAGTAACCCTACAGTAATTCTACAGTACTCCTAAAACTCCCCG +CAACCTGCAGTTCAATGACACCTCGTTTTCTCACGCGTGACTCATGACTC +ATTAGCTTACATTTCCTTCATCCATCGGTGGTGGGGCGCTGTGTAATATA +CAAGAAGAGACACCACCACACGCTGCTATTTCTGCTGCTGGTCTGTCTTC +GTTTACAGCCACTTATGACTCAGCACTGCCATCAATGACTACTTCCTTCT +TTTTTATCTTTTCGGCTTCATCTCGAGTAGCAAATTTAACAAAATTCAAT +AGGTGTGACGTCATCAAATGCCTTCGTGGCCTAGAAATCCAAGATTTCTC +TCGAAAGGATCAATGTGATGTCATGGCCTAGAAAACTCCAGTGTGAAACC +TAGGCTATGTTAAATAGTCTTGAAAACTCTAAACTGAAGCACATAAGGCT +ATGATGTCATCGCCTAGAAATCCCAATTCTATGACGTCATGAAAGACCTG +AACTGCACCGAACCTAGGAATACCCTCAAAAGGGGTGCTGTGAAGTCATG +TCCTAGAAAACATGAGTGCGAAAACTAGGCCGTAATCTACCATGTGGTAG +ATCATGCGGCCCTATTGATGGCCTAGAAAACTTACAGCTTGAAGCTATGA +CGTCACGACCTAGAAACTCAATAGTTGTGACGTCATCAATGACCTAGGTG +TATCTCGAATGACGCAGTGTCTTCTAGAATTTTCTGAATATCACACAAAA +GTATAACATCTTCTTGAAACCAAATAATTTTGTTGTAACACCCACACAGT +ATTGTAACAAATGATATAATAGCGATCGGAACATTCGAGAAAACTGGAAA +TTTGAGGTCTGACCTTGTTCGGGAAACTTACCAGTGATTATGAGGTGTGT +CGAAAAATGTGGCCTAGAAAATGGGAAAACTCTTCCTTTTTTTTTTTAAG +TCCAGAATTACGTTTTTGAGAACGAGAAGTGCATTTCATTTTTGTTAGGT +TGGAAATTTAAAATTTAAATATTCGTCTCCTAGTTACAGCCGTGGAAGAC +TTTTTCAGAAACTTTAGCCACGTGTCGAAGTCTGGCGGTGCCCACGATAT +TAGAGAATGTTGATATTTCCTATTTACTTATCTCCTCGAAATTTTAAGAT +TAAAGTTACTACCGTTAAGTTACACTGGTGGAAGAGTTTTTAAGATTTCT +AGGCCACGGCAAAGTTTGGGTGTGCCAGTGACCCTAACACTAAATTTTTA +AATTTTTTTCAGCCAAATCATCATATGGTGGCCTAGAAAATTTAACACCT +GAAAACTCTTCCATATTTTTTTAATTTCTGAAATCCAACAAAATAATTTT +CAAACTCCTCTTCCTTTTTTCCAGAAAAATAAATTAATGTAAATCAAGTT +CATCTCCGATGAGTTGTAACGGTGGAAGAGTTTTTCAGATTCCTAGGCCA +CGTCAAAGTTTGAGGGCTTCCCGTGACCCTAACACTAAATTTTCCAATTT +TTTCAGCCAACCCAAATCAGAAGCTTTCTCTTTGTGTAATAACATGACAA +TGGGCTATTATCATATGAAATTTTTTAGGTTAAATTTCTGAGGTCATTTG +CAAAGGTGTCATGACTAGTTTGGAGGCTTTTTTGTGACGGTAGGGGTATG +AAACAGGTTGTTACTTCTCGAAAAGGTATTATGTGGGGGAGAGGAGAAGG +AAAGAAGGAAGGCAGATTAGCCAACAGAGATACAGCAAATTTTGTGTGAG +TGGTGGCAGTTTTGAGAAGAAGCCATGCGCCAAGGTCGGTTTGCCTTCTG +TTTTCTCATTTTTCGGTTTTTTTGTGAATTTTTGTAAATTAAAAATATTT +TTTTATAGAAATAAAAATTCAGAAAAAAATACTGGAAGTTTCGTTTGCCT +TCAAACATTTTTTAAAAATTCACAGTTTTTCAAATAGATGTACTTACACG +TGGTGTCAGAGTATCTCATTTCGGCTTGATCTACAAAAAATGCGGGAATC +TTTTGCCCAAAAAAATGTGACGTCAGCACGCTCTTAACCATGCGAAATCA +GTTGAGAACTCTGCGTCTCTCCTCCCGCATTTTCTGTAGATCAGCGTAGA +TCAAGCCGAAACGAGACACTCTGGCACCATTTTATTTTTTTGGGCAAAAA +ATTCCCGCATTTTTTGTAGATCAAGCCGTAATGGGGCAGCCTAGCCCCAC +GTGCACTTATTCCTTATGCCGAACGACACTCCGATATCCCGTTTTTACAG +TATGACTGTGGGTTACTGTACCATTTTTGGTGCTTTTGTAATATTGTTTT +CTTTTTCAAAAACCTAGGAAAAATTTGAACAATTGTTTTTTTTTAATATT +TGAATTTTTTAGGCTCCCACACATTTTTGCGGGATATCGGAGTATCGATG +TAAACGTTTTTTTTTTGGTTTTTTGTATTAAAAAGGGTTTAAGTGTTGTA +ATAAGACATTTTGAATAAAAAATAGCTAGCGCCGCCACGACTTACTGGCT +TCCCTCCTAAATAAAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGG +CTCGGCCGTATCTGGGGTAGATTTACGGCGCGTTGCGTGCCGCGTCGCGG +CTCGATTTTAGTTGTAAAACCTAATGTATTTGTTGTCCGTGTGGAGTACA +CGACTTTTCCACGCGTTGTCCGGCAGGCGATTGTCAATGGAGCGCGAAAA +ATTCAATGAGGAAGGCCAGGACACCGATTCAAAGATATAACGGCCCACAT +TTCAACAGCGGTATATCGGAGTGTCGTTATTTTAAGCTTGCACACGGGCT +TCTGGCCTTTTTCATTGCTTTTTCGCGCTCCATTGACAATCGCCTGCCGG +GCAACGCGTGGGAAAGTCGTGTACTACACACGGACAATTTTTTTTAAGTT +TTATAATGAAAACCGCGACGCGACACGCAACGCGCCGTAAGTCTACCCGG +GCCGAGCCGACACGTGGTGTCAGAGTGTCACATTTCGGCTTGATCTACGT +AGATCTACAAAGAATTTTGCATGATTAAGAACGTGCTGACGTCACACTTT +TTTGGGCAAAAAATTCCCGCATTTTTTGTAGATCAAACCGTAATGGGACA +GTCAAAATGGCCTAATTCGGCAAACTCTTACATTTCAAAATATGAGGGTA +GGCAAAAGCATGGGGAATTTGTGATTAAATTTTTGAAAAAGGAAACAATT +TTTTCCAAATTTCTTCTGAAATTTTTTCAAAAATAAATGTTTTTTTTCCC +TAAAATCTTCAAATTTCTAGTTTCAATCTCTCACTACCGTGACCAAAAAT +TCCTATGATTTTTGACCTCCCGCCACACAGTTTTACCACCAACTTCTTCC +CCCCCCACCCACCCACTTACTTCTCGTATCTGAAACTCCGCCCCATTTTT +CGTGTACTTTACTACTACTTGAATGATGATGAGGTAGAACAAATCTGTGT +TTATTGGCAGAAGCAGTGGTAGCAACAGGAGAAGAAGAAGAAGCATCACT +GTGTGGAACCAGCCAGCTGTGTTGTTGTGGTTTTAGTCGTGGAGAGAGAG +AGGACGACGTCGTGTGTCTTCAATAAAATGAGGATCTCATCGCTCTTATT +CCTGACTTTCTTGGCTGGAATTGTTCAGGTAAGCTGGGTTTTAAGTATTG +ATATTGGTGCTATTTGAAAATTATTTCAAAAATTTTTGGAAAATTTTTTT +TTTTTGGCCCAAAAATTTTTTTTCTAGAACTTTATCATTCCTAGGCATAC +TCTAAATATGTCTGCAAATATTATTTTTTCTGGAAAATTTTGAAAATGTA +TATATGGATATATGCAAGTTTGGAAGTTTTTGTAGTATTATTTTGAAAAA +TTATAAATTTTTTTAAAAAAAATTTTTTATAAATCTAGCAAGAAACGTTT +TTAAAAACAATTTTAGTCAATTTTCTTTTTTTTTTTTTGGAAATTTCACC +AAATATCGGCCCAAAATCTATGCAATACTATTTTTTCACAAAGAAATTTT +CAAAATTTGACATTATACAGATCTAGGGCTTCCATGGTAGGCAGGCGCGG +TTTCAGGGACCTGCCTGAAACCTACCTGGTTGCCGCCGGCCTTAATTTTT +ACGGGAATTTAGAAAAATTTCTAATTTTCTCATTTCTATCAATTTGATGA +AAACCAAAATAAATTGGCGAGAGGCAGGCAAAGGTTGCCTTAAGGTCAGG +CAGGTAGGCGTTTTAACACCTACCAGCTTTACAAAAGCACTATACAAGTC +TGTTTTTGAAATCTCTAGCTTTAAAAATCTTTAAAACAAGACATGGTGCA +AGACAAGACAAAGACATCGACAAATTTTCGACAAAATTAATTTTTTTCGA +AAAACTTTTAGTTTCTTCCAAATTCGCCAAAGTGAAAAAAAAGTTCCTAA +ACGTGAGATTTTGTATGTCTTCTACACATACTAGCCAATATCAATTACAA +TATCTGCCAAGAAAATCTCGAACCAAACACCAAAACGGCGTTTGGTAACC +GGTTTTTTTTCCAAAAAAACTATACATAGTTTCTAGTAAACAAATACGAA +TGGAAAATTCAAGGTGACAGAGAAGAAAAAAAGATTAGAAAAAAAATCGT +TGGTGGTGGCCTAAGAATTGCATGTAACGTCACACCTCGGCCAGGGGTCA +TGGTACATGCTACATGATTACCCATGGCAAAAGAGTGACGTCACTCTCGG +CCATGATTTTTAGGTTTAGGCTTAGGTTTAGGCTAAGGCTTCGGCTTAGG +CTTAGGCTTAGGCTTAGGCTTAGGCTTAGGCTCAAGCTTAAGCTTAGGCT +TAGGCTTACCTTATGAGCCTATAAGCTTTCTGAAAAAGACAAATATTAAA +AAAAAACCAAAAAAAAAAAAAAAAAAAGACAAACAAACAAATAAAAACAA +ACAAACAAATAAAAACAAACAAAATATTTGAATTTTTCTAAGAAGACAAA +TACGTCACTCTCGGTCACGATTTTTGGGCTTTAGGTTTAGGTATATGTTT +AGGCTTAGGCTTAGGCTTAGCCTTAAGCTTAAGCTTAGGCTTAGGCTTAG +GCTCAAGCTTAAGCTTAGGCTTAGGCTTACCTTATGAGCCTATAAGCTTT +CTGAAAAAGACAAATATTTAAAAAAAACCAAAACAAAAAAAAAAAAAAGA +CAAACAAACAAATAATTTTTCAGGCCCAAGACTTCCTTGCAATGTTCAAG +CCGTTCCTCGGAGGTGGCGGTGGTGGCGGTAATCCGTTTGCAAATCCACA +GGCGATCGGCGTAAGTTTTCCGACAGGCAAACAGACAAACAGACAGACAA +TCGAAAGTGGTCCAGGCGCTGAATGTGTTACGCAATTGGTTTTGGGCGCC +ACGCGCGCATATTATTTGCATATATACATACATCATTCAGATAAATGGCA +TTGAAAACGAACAAAAAGTGAAGATTTAGTGGGTTGGCAAATGCATTTTA +TGTTTCTTTTCCAGGGTCTCTTCCAACAATTCGCCGGTGGAAATGGTGGA +GGATTCGGGCAGCTTCTTGCTGGAGCAATGGCACCGGTATGTGTTGCGAC +GTTTAAAACGGAGTGTCGTTGTGAAATTTTCCGCTTTGGAAAACATTGAG +AATATTCGAAAATTTTTGTAAAATTTTGAGATTTTCTTTTTCCAAGCTTT +GGGCTTAGGCTTAGGCTTAGGCTTAGGCTTATGCTTAGGCCTATGCTTAG +GCATAGGCTTAGGCTTAGGCTAAAGCTCATGACTAGACTTATTCTTAGAT +TTAGGCTTAAGCTTAGGCATGGCCTTAGGCTTAGGCTTTTGCTTAGGCTT +TTGCTTAGGCTTTGGCTAAGGCTTAGGCATAAAAAAAGAGAAATTCCCAA +AGTAAAAAAAAAGACAACTTTTGACAAATTTGAAAGTGAAATGTTATATT +TTAAGCCTATTTTTTCCCTAAAAAGAAAAAAATTACTTTTATAGTTTGAA +AACGATTTTTTGGCAGTGTTTCAGCAGTCAAAAATATGGCTGAAAAAAAA +AGTTGATTTCAAAATATTTTTCATCTCAATTAATTCTTTTAAATTTGCTC +TACCAAATTTGAAAAAAATATTGAAAATTATTTTAAAAAATTTAAATTAT +TAAATTTCAAGTAAATTCGAAAATTTTGTTTATTTATTTTATGTTCATTC +TTACAATATAAATTATAATCCTCAAACATTCCAGAAACCAGCACCAGCCG +CAGCTGGACCCCGCTCAGCTCCAGCTCCAACCAACGAGGACTACAACACC +GACATCGACGTTCCAGCTCCAAAGGCAAAAGCCCGTGCAGCTCCAACTCC +ACGAAGAGCACAAGGTGATGATGATGATAATATTGATATGTCTCTGACAC +GTCTTGGCTAACTTGGCTTGGAAAAGCACAATTCCTTTAATACAAAAAAC +TTTTCTCAAAGATTCTCAAAATTTTGCACTTTAATTTTTAAGTTTAATTT +TTAAAAAGTTGTCTCACGTTTTTTAACCAATTTATATGCAAATATGATCC +TTATTACTAACAATATTTAGTAATCTAAACATAAATTGGAATATTTGGTC +TTTTTCCCGCCGAAAATGATCAAACATTCCGAAGTTAGCAACAGAAAATT +GCAGTGAATTGTGTTGGTTTAATTTTACCGTCGTTTTTCATATTTTTTGC +CCGATAGCTTTGCTGTGTTTTGTGCCATCCTTTTCTCTGTGATATACTGT +TACTTACTTCAATAAATGATTCTTTTAAAAGTTTTCGCACAAAAAATTTA +GAGTTGCTGGCAAAAATACACGCCGACACGTGGTGCCAGAATGTCTCATT +TCAGCTTGATCTACGTTGATCTACAAAAAATGCGGGAGAATGGAGACGCA +GAGTTTTCTATTGATTTTGCATGGTTAAAAACGTGCTGACGTCACATTTT +TTTAGGCAACAAATTCCCGCACTTTTTGTAGATCAAGCCGTGGTGGGACA +TCCTATCCCCACTTGCGCTGGGGGGACAAAACCGACATAACTTTTGAAAC +ATATTACACATATACATTTAATATATGTTTTCTGAGAGAAAACGTTTTAG +AAATTTTAGAGAATTTCAGCAAAAAAATTCTGATAGCTTTTTGGAAATTT +ATATTATAAAATTTTTTTTTTTTTTTAATTCTGATTTTTTCAAAAAAGAA +ATTTTGCAAACCGCTTCCAGAATATTTGCCTGTCTCAAAATACCCTAAAA +AACATTAAAATGTTTCAAAAATTATCTTTTGGAACAATTTTACGGGTCAC +GCGAAATACTTTCTTTGTAAGTTTTTTTTCTTTGAAATTTAGATTTATTC +CCAATATACGTAAATTTTTCACTGAAAGTTAGAAAATTATACTTGTTTTT +TTCCAGAAATTGAAATGTACATGATACAAGGCTGCTACATTCCAGCAAAA +TCTGATAAAATTTTAGAAACAATTTTTTGTCAGAGTCTTGAATATTTGAG +CTATAAGTTTTTTTTTTTCAAAAAATTAATCCAGTTTGGCCTAAAAACTT +AAGGCTAAGATTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTCAGCCTAA +GCTTAAGCCTAAGCCTAAGCCTCAGCCTAAGCCTAAGCCTAAGCCTAAGC +CTAAACTTAAGTCTAATCCTAAGTCTATTCACTAAAATTTTGACGTAAAA +CTTGGGACTAAAAATTTTGGACACAAATTTTTTACCTAATTTTTTGGTCT +AAGCCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAA +GTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGT +CTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCT +AAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAA +GTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGT +CTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCTAAGTCT +AAGTCTAAGCCTAATAAGCCTAAATAGGGTCTAACGCTTGCCACTGACGC +CGCTAACGCTCGCCACTGAAGCCACGCCTAAGCCTAAGCATAAATCAATT +TGAAACTTCAGACTTAAATTTCTTGGTGGCCTATACGACTCTCTGTTAAA +TTTCGCTTTGATCAGCAAACGGGAACCCTTTGAAAAATTAAAAAACTAAC +GCTCGCCACTGACGCCAAGTCTAAACCTAAGGGTAATACTAAGCCTAAGC +CTAAGCCTAAGCCTAAGCGTAAGCTTAAGCGTAAGCGTAAGCGTAAGCGT +AAGCCTAAGCCTAAGCCTAAGTGTAAGCGTAAGCGTAAGCCTAAGCTTAA +GCCTAAATCTTTCGACAAAAATTTTGACCTAAAACTTTGACCTAAAATTC +GAGACTAAATATTTTGGACTCAAATTTCGGCCTGAATTTTTGGACTAATT +CTGGGAACTATTCCAGAGTAATTTTAACAAATTGAAAACTTTTTATAGTA +TTCGTAAAACAAAAAATAAATGCAATGTTTTCAGTAATAAATTTGAAATT +TTTGAAAAATTAAATATTTCTTCGAAACTTCGAAACTTCCTTTTCTCTGG +CATAACCCCAAATTCCAGCCGATGCCCCGCCAGTATACCGCCAGCCTCGC +ACAAAAGCCGAAAAAATCGAAAGATTCCGGAATATCGCTCGGACATTCTC +GCCGTTCGTGTACGAGGTGAACACCACACCAGCTCCTCACTTTGACAACT +TCATCTGGCAACAAAATGCACCAGCTGTCACACCGGAGCCATTCACATTT +GCTCCATTCTCCTTCCCAACTCTTGCCACCGTCGCACCACCAGCTCCAGG +ACCCGGCGGCCCGACTCTTGAGCCATTTTTACCGACGACAGCTAGTCCGA +AGCTGTTAGCTCATAACACTGCTAGGGTATCAAAAAATTTGAATACTGAA +TACCTCCCTATAACTTTTTCAAATTCCAGATGATCCGAGAAATCGCTTCA +TTTTCCGACGGAGGACGCTCCAGGGATCAGGATTTTGGCGCAGTTCAAAC +GCTCATGCAAGCCTTCTTCGAGGCAGTCTCCAGTGGAAATAATGGTGGAG +CAGGAGCTGCCGCCGGAGCCGGAACAGCTTTAGGAGTAGGTTAAGCTCAC +TAAAGAGGTCGTGAAGTTTTACTATTTTTTAGGATGCTCCAATGCTTCAA +GCCCATCGAGATGGTACCGAGTTGGGAGCCAATCGCGCGCTGACCAACAA +GCTTTTCGAGTCGGATATGGTGTTGACGGTCAAGCAGATGAAGGCGTGAG +TGTGGGGTACTGTGCAATAAGATTATTGTAGGGGTACTGTAAGATCTCTG +TAGGGATACTGTAACCCTACCGTGATATTACTAAAGGGGTGCTGTAAGAT +TACTGTAGGGGTACTATAGGATTACTGTAGGGGTACTGTAAGATTACTAA +AAATATACTGTGAGATTACTGTAGGGGATGCTGTAAAATTTCTCTAGGGA +TATTGTAGAATTACTCTAGGGATACTGTAGAATTACTGTAGGGAACTGTA +AGAGTACTGTAGGATTACTAAAGAAGTACTGAAGGATTACTGTAGGGGTA +CTGTAAAATTACTATAGAGTACTGTAAGATTTCTGTAGGGGTACTGTAGG +ATTACTGTAGTATTACTAAACAAGTACTGAAAGATTATTGTAGGGGTACT +GTAAAACTACTATAGAGTACTTTAAGAGTACTGTAGGATTACTAAAGAAG +TACTGAAAGATTACTGTAGGGGTACTGTAGGATTACTGTAGTATTACTAA +ACAAGTACTGAAAGATTACTGTAGGGGTACTGTAAAATTACTATAGAGTA +CTGTAAGATTGCTGTAGGGATACTAGAAGATTATCGTAGAGATACTGTAA +GATTATTGTAGGGGTTCTGTAAGATTTCTGTAGGGTTACTGTAGAATTAC +TGTAGGGTACTGTAAAATTACTGTAGGGGCACTCTAAGATTACTGTAGGG +ATACTGTAGAATTACTGTAGGGTTACTATAAGTTTACTATAATATTTCTG +TAGGGTACTGTAAGATCACTGTAGAGGCTACTTTAAGATTCCTGTGGGGG +CACTGTAACACTACTGTAAGATAACTAAAACGGTACTGCAGGGTACTATA +AAGCGACCACCCTAGATTCATGGTTATTTCAGAATTGTGCTCGCCGCCCA +AGAGGCCCGTAACCCTCACGGACGTAAAAAGCGAAAGGTGATTACGGGAT +CCGTGTACCGATGGAAGAGTGTGATTCCGTTCCGATTCAAAGGTGGCGAC +GCGAAATGGAAGAAGCTGATCCGTGAAGGCCTAGGCCTATGGGAGAAGGA +GACGTGTGTGCGATGGAGCGAGAATGGCCCCGGCAAGGATTATGTGATCT +TCTTCAGAGGATCTGGGTGAGTTGACATGCCCATGGTTTTCGGATAGTTT +GGGTTTTTTTTCAGATGCTACTCATCAGTCGGAAGAACCGGAGGATCTCA +ACTTATTTCGATTGGGTATGGCTGTGAAGATGTAAGTTTTAGTATTTCTA +CTATACTATTTATTTTAAATTCAAATTTTCTAGAAAGGAATCGTTGCTCA +CGAAGTCGGTCACTCCCTAGGCTTTTGGCACGAGCAGTCCCGTCCGGATC +GGGATGACTACATCCATTTAAGAAAAGACTGGATTATTAAGGGAACCGAT +GGAAACTTCGAGAAACGAAGTTGGGAAGAAATCGAGGATATGGGCGTTCC +GTATGATGTCGGAAGTGTCATGCATTATGGGTCGAATGTAATTTTAAATT +TTGAGTCGGTAGTTTTTAGATACTGAAAATGATTTTCAGGCTTTTACAAA +GGACTGGGACCAAATTACTATTGAGACCAAAGATAGTAGATATCAGGGAA +CGATTGGTCAACGCCAGAAGCTTTCGTTTATCGATGTTAAGCAGGTTAAC +AGGCTTTATTGCAATTGTGAGTTGTTATGCAAAAATGAAAAAAATTTGAC +CACTGAGCGGATCGAACGCCCAACCTTTCGATCTGGAGTCGAACGCGCTA +CCATTGCGCCAAGCAGTCACATTTTGTTGCAGGAAACGGTGTATAGAGGA +GAAAAGAAAAAAATAGACAACCCTACGTTTTATCAGTGGAGCGCGGTTGC +AATTTAACATTCCAATTTTCAGCTGTTTGCCCGGTTGCCTTACCCTGCAT +GCATGGAGGATACCCCGACCCCAATAACTGTGCGGTTTGTAAATGTCCAG +ACGGGCTCGGAGGAAAGTTGTGTGGACGTGCCGCAAAGGGCACAGATCAT +GGTAAAACTCCACTGGAATTTATGGGAAAAAACCGCCCTAAAATTTTCAG +ACAAATGCGGCGGTGAGCTAACAGCGACCGCCGAATGGCAGGAGATGGTC +TACAAGGGGAAGCGGACGTGCAATTGGAAGGTGAAGTCGCCGAGCGGTGG +GCGGGTTCGGTTGGTGCTCACCGAGCTCAGGTACCAGTGTGCACCGGCGT +GTAAGGCCTACATCGAGATCAAGCATAATACCGACTTCCAGCAGACCGGA +TTCAGAGTTTGGTGAGAACCCTAGATTCCCAAAAAATTCTACACTTTTTT +CAAAAAAAAATCGAAATTCGACCCATTTTGGCGGGAATTAAAATTCTTTT +AAAAATGACAAAAAAAATATTTTTCTGCAGAAAATTTTTCGACTTTTTAG +AAAGCAAGCTTTCACGCGGTTTTGGCTTCCCTCATATATTGAAATGGAAG +AGTTTTTGCCGAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATT +TACGGCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAATTTAATTGTCC +GTGTGGAGTACACGACTTTCCCACGCGTTGTCCGGCAGGCGATTGTCAAT +GGAGCGCGAAAAATTCAATGAGAATCGAGCCGCGAAGCGACACGCTACGC +GCCGTAAATCTACCCCAGATATCGCCGAGCCAAAATGGCCTAGTTCGGCA +AGCTCTTCCATTTCAATTTATGAGGGAAGCCAGAAATCCGTGTAAATTTT +TAATTTTTTGTTGCTTAAAAAAAAAAACTAAACAACTATTTTCCAATTCA +AATTTCTAGCTGCTTCAACAAAACATATGACGTCATCTCCGACCAATCTG +AAGCCCTGATCCTCTCCAACGCGAACATCGTGGACTACGAGGTCTCCTAC +AAGCTGCAATGGATTCAAGGTACCCCACCCCCCCCCCCTTTTCTATCCAT +AGAGCGCACTTTCTTCCAGACAACGGAAAAGCTCTTCCACCACCGAAACC +CACGTCGACCTGGGTGCCCGGAAAAGAGAATCGACCATTCCGCGGAGTGG +AGAACTCGGGCGGCACCATCGAAAAGTTCATCCTGCAAGCGATCCCAAAG +ATCCGAGACTCGCATCGGCCACTGGAGAGTATTACTAGTATTGTTGCGGA +ATATGGTCTCGCAACGCTACTTGGTATATCGCATAATGGAAAGTAGTCCG +TTTGGAACGATTTTTGCAATCGTCAGAGGAATATATATATATATTTGTAA +ATTTTGTACCATCCCAAAAATCCAATTTTTCTTTCACAATTTTCAAAATT +TGCTCATCTTTCACAATTACTCGGGTTAACACATTTAATGCCTTTCAATA +AATAACAGTTCATATTTAAAGTGATTATTATATTACAGGAACACATATAT +CTGAGAATGCGTATCGCACAACATATTTGACGCGCAAATATCTCGTAGCG +AAAACTACTTTAAAAGACTACTGTAGCGCTTGTGTCGATTTACGGGCTCC +TTTTTTGAAATTTACACGGTTTTCTGGCTTCCCCTCAAAAATTGATATGG +AAGAGTTTGCCGCGAACTAGGCTATTTTGGCTCGGCCATATCGTTCAAAA +ACTACAGTAATTCTTTAAATGACTACTGTAGCGCTTGTGTCGATTTACGG +GCTCCATTTTTGAGATTAATTTTCTTTCGAGTTCCCTTCGTTTTTTTTGT +AATTTTTTGCTTAATTTGAATTTTTTTTTGATAAATTAAAAAAAATGATT +TTACACGGTCTCCTGGAGTGTTCATAATTATTGGAGCGCACTTGCTGATC +CTTGCCGCGCTTATTTACTTTTTCACCGTTAGAAAATGAGTAAAATCAAC +GATTTTGGTCAAGAAATTTAAAATAAAATTATTAATTGATTTCAAAACCG +AGTCCACGTGGTGCCAGACTGCCCCATCACGGTTTGATCTACAAAAAATG +CGGGAATTTTTAGCCCAAAAATGTGTGACGTCAGCACGTTCTTAACCATA +CGTTGAGAGTTGAGAATTCTGCGTCTCTTCTCCCGCATTTTTTGTAGATC +TACGTAGATCAAGCCGAAATGAGACACTTTGACACCACGTGCGAGTCCGT +AAATTGACACCAGTGCTACAGTAGTCATTTAAAAAATTACTGCATGTCAA +AATTAAAATTTCCTGTTCCCGTAATATCGGATTCAGCACGCCACCCTATG +AAAATACCAAAATTGGAAAAAAATCAATAAAAATTTATTTTCACGGAAAA +AAAATTGAGACCACCTTTTTGTTTTCTATCTATATAAACCCGTTGTTTTT +CACAAAAAATTATTGAAAATCCTTCAAATCATATTATTAGTTCGAAACGT +CGACGCGTAGGTGTTCGATCGTACACTGCCGGGAATTGCCGGTTGCGGGA +GTTTCGGCACCGCCGGTTGATATCCTTCTTTGCTAACTTTTGATCTGAAA +ACATTGACTTTTGCTACGTGGCCGTGGAAGAGAAAACTCGGCCACTATGT +TTGTTTTTGCGACAAGGGTATATGCGCAAACCTACAAAATGATCTTCAAA +AAATGCGCGAATTTTTTGCCCAACAAAATGTGACGTCAGCACGTTCTGAA +CCGTGCGAAATCAGTCCCGCATTTTTGTAGATCTGCGTAGATCAAGCCGG +ACCACAAAAATATCAAAGTTTTGAATTTTTCAAAAAAAAAGCACTTACGA +GGATCTAGTCAGCTTGAACAGCAAGTAAATAAGACAAAACGCGCACATGA +TGAAGCTCAAAAGTAGATCAAACGAGAACTTGGTCGCCGAGACCGCATTG +AAACTTCTGTCAAGTGAGAGAAACGGTTGGGTGGCATCGTTCACAAATGA +AAGCATGTAGAATAGTCCAGCAATCGGATAGACTGCCGCAATGACTCCGG +CAAACCCATTGACATCCTGCTCATCAGAGCCCAGAAGCCGGCAGCAAGCA +GACGAAAGAGCAATGGAGCTGATGAGGAATAGAATGAGCTCCCGGCAGAA +GTTGAAGATCCAGTCGGTGCCCGGGCTTGCTGCTCCGATGAAGCAGAGTC +CGGTGAGGGGATTGGCGGCGACGGCTTTTGCGAGTAGCGCGAGCATTAGT +GGAGCCAGCGGGATTCCCAGGATGAGCATGATCACGCGGGTTCTGGAGTC +GTCCTGGAAGATCATTTTTTAAAATTTAATTTTTGAAAATTTATCATGTC +TGGAAAAGGTACAGGCTGACTAGACCTATTTCACGTGGTGTCAGAGTGTC +TCATTTCGTCTTGATCTACCATGATCTACAAAAAATGCGGGAGAAGAGAC +GCAGACTTCTCAACTCTCAACGTATGGTTAAGAACGTGCTGACGTCACAT +TTTTAATGTACAAAAAATTCCCGCATTTTTTGTAGATCAAACTGTAATGG +GACAGCACAAAATTCAAAGCCCTCACCAATATATGCGATGTCCTTGTCGC +CTTATTCCACGACACACAGATCAAGAGCCACCAGAGACGTGAGCAAGTTG +CCGTGTAGTAAATCAGTGAGGCCACTGAAGAACATGGAACATGGGAAAGC +CCTCCGACGACGAAGAGCAGGTGATGGGTGTAGTCGGTGCACGAGATTTG +GAACTTCAAAATTCTTTTTGAATGGCTCAAAAATATTGATTTTGAGCCAA +GTTATGACCATTTGAAGTTGGTGGCCTAGGATTTTCCTAGGAGTATTCTA +GGCCGCCAACTTTGGACAGCCATAACTTGGCTGAAAATCAAAATTTTTGA +AATCTAATTTCACAGTTGAATTTAGCAGACCATGAGCTTCAATTTGACAT +ATTTTTGTGCCTTGCCACGAAAACTCGCAGACCTACAGTAATCCGGCCAA +AATTAATGTTAACTGAAAGCTCAGAGTCTGCTAAATTTAAATACAAAGTT +CGATTTCCAAAATATCGATTTTCAGAAAAATTATGAAGACTCTAAGTTGA +TGGCCTAGCATTTTCCTAAGAGTATTCTAGGCCGCCAACTTCAAACGCTC +ATAACTTGGCTCAGAATTAATATTTTCGAGCAAAATAAAAAGAATTTAAC +ATAAAATCTTGTGATCTACCGGAAACTAGATGAGCGCAATTTTAAATATC +TAGGCCACCAAGTGAAAACCGTGACTCGGCTCAAAACCATTATTTCTGCT +TCAACCAAAAACCAATTCATTTATTTTAATTGAAAGCCCGGTGTCGGCTC +AATTCAAATACCAAGTTTATTTTCAAAATACCAATTTTCAAAAAAGCTAT +GAGCGTTCTAAGTTGGTGGCCTAGGATTTTCATAGATTTTCTAAGCCACC +AACTTCAAACGCTCATAACGTGGCTTAAAATCAATATTTTCGAGCAAAAT +AAAAAGGATTTAATATAAAATCTTGTGATCTATCGGAGAATGCATTTTAA +ACTTTCTAGGTCACTAAGTAAAATATTCGGCCACCAAGCCTCGGCCGAAA +ATTATTATTTCTGCTGAACCAACAACCAAATTCTCCAAAAACTGCTTACC +TGATCTTTAAACGAAATGCTCACAATATAAATAACCGATGTCGCACAAAA +CGAGATGCACGAGAAGAACATGGCAGTTTCCGTAAGTGAGTGGAGCATCT +CGAGACGTCTAAAGTAGATCCTGATTTGTTTTTGGAAAATTAGGCCACAC +ATCACACAATCCAAAACTTACGATAAGCCGACTATGAAGACTGATAGAAT +TGTTAGTATTACAGAGCTCAGCGAGAGAAACAACAAGAGTCGGGTGGCGG +ATTCACGGTCAGTCTGGAAATGTACTCATTTGTTACTGAACTAGGTCTAC +TTAAGCCTAAGCCTAAAGTAAGCCTACCTGCCCAACCTTCTGTGGGTTCG +AGCACAAAGGCACACACTTTGAGGATCGATTCAGGAACACCTCATCCTGT +GGGCATTTTCCGTTGAGGCGGTCGACCTCCCGTTGAATATCTTCTACTCG +ATCATTACCGTCGTCCTCCTGGAAAAGAAAGATGATTGATTTGAAGCTGT +GTATCTAATTACCCCCGTTTGATGATATAGGACCGGAGAGATTACAATCA +GATGTTCTCTGTTTTTCTCTGTTTTTTGGTAGCTAGTATAGAAAACTATA +GAGTACTGTAATTCCTATTTGGGAGCTTGGTATTGTGCTATTATCAAAAA +AATACAATTGCACAAATTTCTCATTGATCTACCTGTTGAACTTGACTCCG +CCCCCAATCTTGTTACTGTTATTATTAAGGTAGATCAAAAACACAAGGAA +GATCAAAAATAAATTACGAGAAAATTGTGCGATTGTATTTTTTTCTATAA +TATCAAACATTTATTGATTTTAGGACATTCTGTGATTAACTTTTATAGTT +TCACGGATTTCTGGCTTCCCTCAAAAAATTGAAATGGAAGAGTTTTCGCT +GAACTAGGCCATGTTGGCTCGGCCATGCGTGGCGCGTCGCGGCTCGATTT +TAGTTGTAAAACTAAATATTTCCCACGCGTTGTCCGACAGGCGACTGTCA +ATGGAGCGCAAAAAATTCATTGAGGGAGGTTTCTATTTGGCAATGCGCTT +TTGGTTTTTCAGTGATCTTTCAAAAAATTTTTCATAATTTTCAAATGATC +ATAACTCTGAAACTAAAATTTTTGGCAAAAAAAGTCGTAATATTGTAAAA +TGTTGCTCATAATTTCTTCTATACGATAAAATTTTTTCAAAATTTTACAT +TAAACAGGCCAATAGGTACAGCGCCCGACAACTCGCGGGTCCAAAAATTT +TTCAAAAATCGTCAAAATTCGACTCGCGAGATGTCGAGCGCTAAATCTAT +TGACTTTATTTTTTTGAATTTTTGAAAAATTTGTTATCCAATAGAAAAAT +TTATGAGCAACATCTTATTAGTTAAGCGTTTCTTGCCAAACATTTTATAT +TCAGAGCTATACTCATTTGAAATTTTTGAAAAATCACTGGAAAACCAAAA +ACGCGGCAAACGATTTTTTCCGGCAAATCGGCAAATTGGCAAACTGCCGG +AATTAAAAATTTCCGGCAAATCGGCAAACCGGCAAATTGTCGAATTTGCC +GAAAATTTCGGCAAATTGTGGTTTTGCACTTTTTTTGGAAATTTCAGAAT +TCCAATTTCAAATTGCAAAATTAAACTCATCCTATGAATGTTTCTACATC +TATTTTGAAAAGTAAGTAAATTCTATGAAAATATATAAGGAAAACGAGAA +AAAATTCAAAAAGACATAGTTTTAAGTGTTTCCGTCTTATTAAAAAATCC +CTCTAAACTTTTCCGGCAAATTGATATTCGGCAAACGGGAAATTGGCGAT +TTGCCGGAATTGAAAAACCCGATACTTACACTTTCTTTCGCTGCAAACTT +TGCCCTCTCATCTTGAATTGCTCCTTGCTCATTTGGCCCTTTCATGCACA +TTTTCTCTCGATTGTTCTCCAACGGGAACTTATCACAACGAATCACATCG +GGCCACTTGAAACCGAAACTTTCCAGCACTGGAAGACACTTTTCCTGGAC +GGAAAGACACAATGGACGGCATGGACCAATTGGGTTGGCTAGCTGAAATT +TTTTTGAACGATGAAATGATAAAAATGTGCGATTCTTCTCTGATTGAACT +CACTTTCTCGTTGCACATCGGGAAGTAGACGGAGCACAGGAAGAATTTGA +GCTGCTCGGAGCAGACAACGGAGAGCAGGGGCTTGTAGGTGAGGATGGAT +TCGGAGGCGTCTTTCCATGATTCCTCGTCGACGAGATTTGGGAAGCTGGA +ATAAGGGCTTGTAAAGTTTGAGAAACTTGAGATTTACAGGGTCAAAAATT +GCTCACGAGCTCTCCCGGTTGCCGAAAAGTTGCCGAAATTTGAGCAACCA +AAAGTTGCCGATTGCCAAAAATTGTAGGGTACGGCAACTTCGGCAATCGC +CGGTTACCGAAGATTTTAGAGTTCGGCAACTTCGGCAATTGGCGGTTGCC +ATTGCTCTCACGAAATTTCCCGCTATTTTTGGAGATTAAACAGCAAGTGC +ACGTGTGGGTGTCTCAAACAGGAAAGAAATCCTGGCAGGAGCCGACTTGC +CGGAAATTTTCAATTCCGGCAAATTGTCGGTGTGCCGATTTGCCGTTTGC +CGGTTCTCAGATTTGCCGGAAGTGTGTAGAGGGATTTTTATAAGACGGGA +ACACTGAAAACTGTGCCTTTTTGAATTTTTTCCCGTTTTCTTTGGATATT +TTCATAGAATTTGCTTACTTGTCAAAATAAATGTAGGAACATTCATAGGA +TGCGTTTAATTTTGCTATTTGAAATTGAAATTCTGAAATTTCCAAAAAAA +TGAGTACAAAACCACAATTTGCCGGAATTTTTCAATTCCAGCAATTTGCC +GATTTGTCGTTCTGCTGGTTTGCCGGAAATTTTCAATTCCGGCATCTTGC +CGATTTGCCGATTTGCCGGATTGCCGAAAATTTTCAATTCGTTAGCCGTC +CACCCTGGATCCTGCCATCCAAAAAAAAACGGAAATTTTTGGCAAATTGC +CGTTTTTCCGCCGGCAAATTCGGCAAATCGACAATGTGCTGTTTTGCCGT +TTTGCCGGTTTGCCGGAAATTTTCAATTCCGGCAATTTGCCGATTTGCCG +ATTTGCCGGTTTGCCGGAAATTTTCAATTCCGGCAATTTGCCGATTTGCC +GATTTGTCGGATTGCCGAAAATTTTCAATTCCGGCAATTTGCCGATTTGC +CGATTTGCCGGTTTGCCGGAAATTTTCAATTTCGGCAATTTGCCAATTTG +CCGTTTTGCCAAAAATTTTAGGGTTCGGCAAATTCGGCATTTGCCGTTTT +GCCAAAAATTTTAGGGTTCGGCAACTTCGGCAGTTGCCGGTTTCCGCACA +TCCCTGTCCCACACGCCCCAGGTGGAAGATGGTGGAAGAGTTTCTAGCGG +GTCCATCAAGGATGGGAATCATCAGTCAACACAATCCTTAGCCGACCTTC +CCAAATTCATCATTCCTTCCTTCCAAAACGGTTTCCGGTCCTTCCAACCG +ATTAATACCAGCCACCACCACACCACCAAACCCTCTCCTTCGAAATAGAG +AACAAAGTTGCATACCCCCCTCATTTCTTTGTTTTGGAGAAAGGGGCGTT +TTGTGGTGCTCGGAGAGCCTGAGGACGTGACAAGTGATATATAGACGGGC +TTATACTATCTGCTCGTCCATATTTCACGCGCCTAGGCAGAGTGCACGGC +GGGAGGTGGAGACGCAGGTTCCCGTCCAACTGCCGCAGAGCATCCCCTAT +CTGCTCCTATCAATTGTTCGGAGAGACTTTTTTGTGAATTTTGCTTTTTG +CAAGAGGTCTGAGATTTGGGATTTGGGCTTTAGGCTTTAGGCTTTGGGCC +TTGCTTTGCGCCAGAGAATGGAAATTTGTCCGTATTTTCCCGGCTTATAT +CAAAAAATGATCAACTATAAAAATATAGAAAAAGATTTTTCAAGTTTTTT +GTCAGTTAGTATTTTTTGATAAAACAAAAGAGAGCCGAGATATAAGCTGT +CAAAGTAGAGCAAGGGTGGTTTGATCTACAAAAAATGTGGGGATTTTTTT +TCAAACTTGCTCTACTGATAAATTAATAAATTACTCCCACAAAATCCAAT +AAGCCTCAAACTTAAGATCCTCCAATCTCATCCCCCTCATAAAACAATAA +TACTAAATCACTAGATCTCCGGTAGTATATATCAGAAGAACAGTTGCTCT +CCCTCTCGAACCGACTTACACTTGAGAAAAATAAATTGTGGAAGAGAAGT +GACGTCATCGTAACCTACCACTTCACAAGTTTATATATATATATATATAT +AAGTACTAGTTAGGACTAGCTAAGACCTAATTAGAACATAGGTATGGCCT +GTAAGTTAGGACCTAATTAGAACTCACTAGGACTATATATATATATATAT +ATATATATATATATGTAAACAAGAACCCGGGCGGGTAACCCCTTACGGTC +AGAGGGGTGTCCTACACCAAGGGTATGTAAACTGTGTCCCCCAGATGGCG +AAGTTGAGAGGGAAAAAGTGAAAAAGCGCGCCACATGGCCTCGCGACCGT +ATGTTGCAATTTCAAGCAACGTTTTTGATTTATTGGAGGAGAAATTTTGA +AAAAGTGAAAAAAAAGTGTGACCCCATATGAGATGCGTAATAAAATTCCC +TACAAGACCTTAAGAAAACGTGGCTGGCTGGCAAAAAACAGGTGGCAATA +ATAACGGAATGTGTATGTGTGTGTGTGTGTGTGTGTGTGCTCGAAGAGCA +TAGGCTCGTAAATCGTTATAATTGATGCTGGAGGAGAAGGAGACGATGGG +CCTCCAAAGTGTTACACCTGGTATTTGTTGGGAAAAATTTGGGGGAAATA +GGCATTAAACTACCTAACCTAATTGAGTTTTTTCAAAGCTTATATTATTA +TAACTAAGAGGTGTGATAATAAATAATTAAAGAACTTTAAAATTATCAAA +AACGCTTTCAAATCTGTAAAGCTGATATTTTAAGGATTTAGTACTAGTTA +AAATCTAGTTGGGACCTAGGTAAGACTATCTAGAAAGTTCGGACGTAACT +ATTTAGGAACAGTTAAGTCTTAAGGCCTGCTTGGGTACAGGTAAAAATGT +TTAGAAAGTTAGGAACTAAATAGGTGAAGTAAGTACTAGTTAGGACTAGT +TAAGACCTAATTAGAACCTAGGTAAGGCCTGTAAGTCAGGACCTAAATAG +GACTTACTAGGACTTAGGTAAGACTAGTTAATGTCTTGTTAGGACTAGTT +AGGACTAGCTAAGACCTAATTAGAACCTAGGTACGGCCTGTTAGGGAAGA +TCTGATTAGGACTTACTAGGATTTAGGTAGGACTAGTTAAGATATAGTTA +GGACTAGTTAGGACTAGTTAAAATTTAATTAGAATCTAGGTATAGCCTGT +AAGTTAGGACCTAATTAAGACATACTAGGGCTTAAGTAGGACTAGTTAAT +ACTAGTTAAGAACTAATTAGAACATAGGCACGGTCTGTTAGTTAAGGCCT +AATTAGGACTCACTAGGACTTAGGCAGGGCTAGTTTAGTTATTGTTAGGA +CTAGTTAGGACTAGTTATGTACCTAATTTGGACTCACTAGGACTTAGGAG +GACTAGTTATAATCTTGTTAGTAATATTTAGGACTAGTTAAAATCTAATT +AGAACCTAGATATATCCTGTAAGTTAGGACCTAATTAAGACTTGATTTGC +TAGGATTTAGACAGGACTAGTTAAGATATTGTTTGGACTAGTTGACTAGT +TAAGACCTAATTAGATCTTAGGTACGGCCTGTAAGTTAGGGCCTAATTAG +GACTGAATAGGACTAAATTTCTTGTTACGAATAGTTAGGACTAGTTAGGA +CTAGTTAAAACTTAATTAGCACCTAGGTACGGTCTGTTAGGGAATACCTA +CTTACCAGGCCTTAGGTAGGACTAGTCATGACCTAATTAGAACCTAATTA +GAACCTGGGCACGGCCTGTTAGGGAAGACCTAATAAGGACTTACTAGGAC +TTTGGTAGGACTAGTTAGGACAAGTTAAGACCTAATTAGAACCTTGGTAT +GGCCTGTAACTTAGGACCTATTTAGGACTTACTAGGACTTAGGTAGGACT +AGTTAGGACTAGTTGGAAGTTGGGACCTAACTAGTTAGACCCTTAATTTT +GTACACATGCTTATTAATATCAATAAAAATTTTAAAAAAAAACGACTTTT +TTAAGTTTAACTATATAAAACTATAATTTGGAAAATTTGCTACTTTGCTT +AAAAATCGAGAAAAAACCTAGCGTTTCTATAAAAAACCATCTTGAAGTAA +ATTTTGAAAAAACCCCGTCATCCAACAAAAAAAAATTCACTCACCTCGTT +AAGTTATACGGCAAATCGTTGCACATCTCATGATCCACCTTTTGACACCT +CTGCCCGTCCACACCAATCACAAAGAGCAACAGGAGCCAGGTTACTCCGA +GGTAACCACGAAATGGTCCCATTAATGATAATGGAATTGGGGGCTCACAG +CCTGGGTGGGGGAAAATATTGAGAGTAAAAGAAACAATGAGAAGAAAGAC +GGAGGATAGGCGGGGGGGGGGGGGGGGGCACACCAGTGGCAGCACCACCA +CGGCCTGTCCGTTGACAAATGACCCAAACGGACGGGGGGCGGGAAGAGTG +TCTGTTGTGTGTGTTGGGAGATGGCTGGCGGTTATCAGATATTTGTATGA +ATGGTATAGAGAAACAGAGACCAAGAGAGCTGAAAGATGGAGAGGCGAAA +GAGGAAGAGAGGGGGGGGGGTGGAAGTTTTTACGAGCCCTGTAATAAATA +TATCGAAGCAGCAAATCATTTGATGATAACGGAGGAGCGCGGGGACGGAG +ACGGCAATCATCATCATTATTAGGACCAGGGGTGTGCGGCGAATTTTTGC +CGAATTTGCTGTTTGCCGAGCTCGGCAATTTACCGAATTTGCCAAGCTCG +GCATATTTCAAAAAAGTAGATTTGCCAAATTTGCCGAACTTGGCATATTT +CAAAAAAGTAGATTTGCCGAATTTGCCGAGCTCGGCATATTTCAAAAAAG +TAGATTTGCTGAATTTGCCGAATTTGCCGAGTTTGCCGAGTTCGGCAAAT +TTGCCTATTTAGCCGAGCACGGCATATTTCAAAACAGTAGATTTGCCGAA +TTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAAGTAGATTTGCTGA +ACTTGCCGAGCTCGGCAAATTTGCCTATTTAGCCGAGCACGGCATAGTTC +ACAAAAGTAGATTTGCCGAATTTCCCGAGCTTGGCATATTTCAAAAAAGT +AGATTTGCTGAACTTGCCGAGCTCGGCATTTTTCAAAAAAGTAGATTTGC +TGAATTTGCCGAGCTCGGAATATTTCAAAAAAGTAGATTTGCTGAACTTG +CCGAGCTCGGCATTTTTCAAAAAAGTAGATTTGCTGAATTTGCCGAGCTC +GGAATATTTCAAAAAAAGTAGATTTGCCGAATTTGCCAATTTTGCCGTTT +GCCGAATTTGCCGAGTTTGCCGAGCACGGCATATTTCAAAAAAGGAGATT +TGCCGAATTTGCCGAATTTGCCGAATGTGCCGATGCCGAGCTCCTGTTGA +TTTTTTTCCAAAAATTCAGTAAAACGACACAAATTTGTTTTAAGAATTCA +TTAGTTTCGGTGCTCCAAACAACATCAAAAAATATCAAATTTTTCCGAAT +TTGTTAAGCACGGCAAATTTGCCAAATTTGCCGAATTAGCCGAGCACGGC +TAATTTTGAGATTTGTCGCACACCCCTGATTAGGACCGAGAAAAGGGCCT +AACATGATTTCACAATTTGAAAAATGAAATTCAATTTTTCTTGGGAAAAA +AGTATGAATCTCTTCCTCCGCCCGTTTCCGGCAGAAACAATTGAACCAAA +CGAGCCAAAAGTGCACATTGTGTAACTTTGTTGGGGAGTGTAGATAACCA +GAAGAAACAAGATGGAACTTTCTTGCGATGAACAAATTTTGGAACACTGG +AGGGAAATGATTGGTGTTTTTTAAGCTTTTTAGTCAATTTTTAAAACTGT +TCTACAATAGGCCCAAATAGGCCTAATAGGCAAATAGGCCAAGTAGATTA +AATATGCCAAATAGGCAGTATAGGTTGAATAGGTAAACAGGCCAAATAGG +TCAAATAAGCTAAATAGGCGAGACTGGTGCTCAAATACTTTTTGAACTGG +TAATGTTTTTTCTTCTACACAAAAACAAAAAAGTCCCTGCTTAGTTCCGC +AAAATTGTGATTTTTTTCAAAAGTTACCCATTTTTGCCACTTTTCAATAG +TTTTTGATAGGTTAAATCTAGATTTTCTGAATTCAGCATATATGAATTAC +CCGTTTTCAACAAATTTAGGCAAATTTTTATTTTTGCCCAATTTTTTTAG +CCATCTAATGACTGATTTTGGGCAAAAAAAATTTTCCTGAAATTGTACAA +AACCATTAGAAATTGAAAGGCTCCTCAGTTTAAAGGCACATGAGGTTTTT +CGGAGTGGGTGGCAATTGTCGTTCGGCAAATTTTTTGGTCGACAAATTCG +ACAAATTGCTGGTTTGCCGATTTGCCGGAAAGTATTTTCTTACTTTTCAA +AATATATGTACGAACATTCAGAGGATGCTTACAATTTTGCCGGATAAAAT +TTAAATTCTGAAATTTCCAAAAAAAATGTGCAAAACCATAAATTGCCAGA +AATTTTTAATTCCGGCAATTTGCCGATTTGCCGATTTGCCGTAAATATCA +ATTCTGGCAAATTGAAGATTTGCCTTATTTGCCGACTTGCCGCATTCCCT +GATGTAGGCATCAAAACGACTGAACACCAAGTTTTTTTGAAATTTTTTAA +GTTTACCTTTATAATTTTTAGTGCTCAAAAAGTTCCAAAATTAAATAAAT +TTTGAAATTTGCCGAGCTCGGCAAACGGCAAATTTGCCGCACACTCCTGT +TTCAAATGTTCACCGCATATTTAATTATTCCGGAAATCCCCTCAAACATC +CATCAAAAGTGTTTTCCCTGATTTGTTGACTCTGACACCGACGGTGGTTG +TTCCCCCCCCCCCCCACTCTCTCAATTGGCATGTAAATGAGCCCGTATGA +ATGAAGTGCCTTTTGGCGGCAAAATGCATATCTCCAAGTACCATTGAATT +AATCTTCCATCCCCCATTGTCTCCTTCTATATAGGGGGGAGGATGCGTGA +TTCTTGAAATATGCTCCAAGTGACAAATTGAGCGTGTGTGATGTATCGTG +GCAGATGGCTGGCTGACAACGGATCAGTTCCAAAAACTGTATCAAACGGG +GGGAAGAGAGGGGAGATGAAGGATGGGGGCAGATGGAGTCATCGATGCAC +CATGTTTTTTGGAGCTGTTCACTCAGATATTAGGGTATTTTAATCCCCTT +TTTAAGGTCTATTTCTGATCGTAAAACTTGGTATTTTCAACTCATTTTTA +ACTCAAAAATTTCAAAAGTTTGAAAAATTACACAAAAACCTAAATTTTGA +TCTGGTTTCAGGCATTTTAGTCCCTGTTAAGCGTCTTCGATGCACCATGT +TGTTGTTCAACTTGTTTAAACTTTTTAGTTCCGCATCGAGGAAAATGGAA +AATAAAAAATTATTTATGTATTCAAAAACCATACTTTGATTCTCCGTAAC +AACGCTTTCATGGGAGGCAGGCCCGGTTTCAGGGCCTGACGCCTGCCTCA +AACCTGCCGGCCTCACGCCGGCCTCACGCTTCATTTCTGCATTTTGGCGA +AAAATCAAATACTTGGACATAGTGAAAAGGTGATTTTTTCGACGCGGCCG +ACACTTTTCGGGTTCCGCGCCGCACTATACAGGAGGCGAGGCTCGCGGCG +CGAGGCAGGCGGAGGTCGCCGCAAGGCAGGCGCGGCAAGCATTTTTGTGC +TTACATGGATACCCTAGTCTACACAAAGCACGAATTTCTGGCTTCCCTCA +TAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTTGGCTCGGCC +ATATCTGGGGTAGATTTGCCGTCGCGTTGCGTGTCGCGTCGCGGCTCGAT +TTTAGTTGTAAAACTAAATTTATTTGTCCGTGTGGAGTACACGACTTTCC +CATGCGTTGTCCGGCGGGCGATTGTCAATGGAGCGCAAAAAATTCAATGA +GAAAGGCCAGAACCCAGTGAAAAAGATAATTTGACAATTACAAATAATGT +TTTAAAATTTTTTTTTTGTTTTTGATTTTTGGTTCTCCTTGTGTTTTAAG +AACATGATGCATCACCGCTGGAAATTGCTGGATATGTAAAAAAATTATTT +ATGTACATATTTAAAAATCAAATCTTGATTCTCCGGGATAGAAGCATAAA +TCAAATTTATTACTGTAAATTTTCACTTTCAGTACATTTAATTGAAATTT +TTAAGCTTTGAAGTTCAGGGTATCATAGTTTTGCCTCCAAAATCCACTTG +CCCAAAAAACAAGCCTGGGAATTCCCGGCGGGGGACGATGGTTCGATAGC +ATCAATCATATCTGTGTGTGTGTGTGTGTGTGCAAGGCGGGGGATGAGCC +GGCGCGCGAAACGAATAAATCAAGAAACGTCTCTCTTTCTGCGAGCACGG +ATTTTGTTGTGAGCCCGCGCGCGCGCGGTCTATAGGAGGAGAGGGGTATC +ATGCACTTCTAATACAGGGCATACTTCTTTCATTTCCATGTTTTTGTACA +TGTAATAAAATTGTTAATTAGCCAAAAGTGGTTCACATGTTCACGTCGTA +AACGTCGGTTTTCAGGGTGTACTGATAATGAATGTGCTCTGTGTGGAGAC +AAAGAGGCAGCAGAGAGCAAGAATCAGTTAGGTTAGGCAGGTGACTTTTT +TCAATTGTGACTAGGAAAAAGTATTTTGGGAATTTTTTTTTATTTTTTGG +CTTCTGCCCAGATTTTCAGGATTTTTCAAATATTTACAGAAATTTTCGTG +ATTCTACAATAATATTTTTGTAATTTTCTCAATTTTCAAAAAATTGCCAA +TTAATTTTGAAGTTTCGAATGAAGCAATTGCCGAAGTTGCCGACTCCCGG +AAATTTCGAAAACCGGCAATTGCCGAAATTGCCCTTTGCCGGAAATTTCG +AAAACCGGCAATTGCCGAAATTGCCCATTGCCGGAAATTTCGAAAACCGG +CAATTGCCGAAGTTGCCGACTCCCGGAAATTTTGAAAACCGGCAATTGCC +GAAATTGCCGACTCCCGGAAATTTTGAAAACCGGCAATTGCCGAAGTTGC +CGACTCCCGGAAATTTTGAAAACCGGCAATTGCCGAAATTGCCGATTGCC +GGAAATTTCGAAAACCGGCAATTGCCGAAATTGCCGCTTGCCGGAAATTT +CGAAAACCGGCAATTGCCGAAATTGCCGATTGCCGGAAATTTTGAAAACC +GGCAATTGCCGAAATTGCCCATTGCCGGAAATTTCGAAAACCGGCAATTG +CCGAAATTGCCGCTTGCCGGAAATTTTGAAAACCGGCAATTGCCGAAACT +GCCCTTTGCCGGAAATTTCGAAAACCGGCAATTGCCGAAGTTGCCGACTC +CCGGAAATTTCGAAAACCGGCAATTGCCAAAATTGCCGATTGCCGGAAAT +TTTGAAAACCGGCCACTGCCGAAATTGCCGACTCCCGGAAATTTCGAAAA +CCGGCCACTGCCGAAATTGCCGACTCCCGGAAATTTCGAAAACCGGCAAT +TGCCGAAATTGTCGATTGCCGGAAATTTCCGATCCCTGAGTTTAGCCTTT +TTCAGCAAATCAAACAGTTTATGATTATTTTTTCAAAAATTGTTCTGCAG +TGCTCTTGCATCACTATTGTGGCCCTCCTTTAAATACAGTACTTTCTACA +GTACCACTACATCAATGATCCTTCCAGTAATGCCAACACATTGTACCACT +ACAGTAATCCTACAGTACCCTATACAGTACCGTCGCAATACAATTACCGT +AACACTATGGAAATCTTACAATAGACTACAGTATACAAAAACTACAGTAA +CCCCCTTGAAGTTAGTGTAAAACTTGCAAATGTTCAACTCTTTTTTCTGA +TTTTTTTTTGTTAAGTTCAGAAATTGTAGAGTGTTTTTGGCTTCTGCTCA +GATTTTCAGAAATTTTCGTGATTCTATAGTAGTCTTTTTGTAATTTTCTC +AATTTTCAGAAGTCTGCAAATTCAATTTGAAATTTCGAATAGCTTTAAAA +AACTCAAACAGTTGGCACAAATTTTCGTAGATTCATGTAGAATTTCAGCC +TTTTTCAGCAAATCAAACAGTTTTTTATTTTTTTTTGTATTTTTTCAGAA +ATTGTTCTCACCCTCCAAAGTACTATCACGTCCTAACAGTAATATTAGCC +TACCGTATCACTACAGTAATCCTCCAGTACTTCTGTGCATGCTACAGTAC +CCTTGCATCACCATAGTGGTGATCCTTTAAACCTACAGTACTTCTACAGT +AGCACTACAGTACCACTTCAACAGAATCTTTCCAGTAATATCAGCGTATC +GTACCACTACCGTAATCCTACAGTACCGCCACAATACTATTACCGTAACA +CTATGAAAATCTTACAATACACTACAGTATACAGAAACTACAGTAACCCC +CTTGAAGTTGGTGTAAAACTTGCAAATGTCTACCGTAATCCTACAGTACC +CCAATACAGTACCGCCGCAATACAGTTGGCATAACACTATGAAATCTTAC +AGTACACTACAGTATGCAAAAACTACAGTAACCCCCTTGAAGTTGGTGTA +AAACTTGCAAATGTTCAACTTTCTACAAATTTGCCATTAACTTGTAAGTT +GGGGGAGCGCATCGAAGTGTATACATATATGTACATGCCAACCAATTATT +TTCTCAAACAATTTATTAATAGTCGAAGACACCTGAAGCAACGATTAGGA +GGAAGAAGAGGAAGGAGAGATTGGCAGAAGAAGAAGAAGAAGACGAATTA +GTTGAAGAATCTGTTGAAACGGAAGACGTTGTTTGTGATGTCTCTAGCCG +TGCGACAGCTTCCCGTTTCAGACGGAACGATGTTCGCACGGCGATCGGTG +GCGAGATGTCGGACACGTCGATTGTCGACGAGAAGGGATCAGAGACGGTT +GAAGAATGCTGAGGAGGAGGATTATGTCGACGTTCCCGTCCACGACACGC +GGCCTGGGTACACGTGACACAGACGTGAAGGTTACAGAAGATGTTCACCT +CGTTGCTGGAATAATAGTCGTTGAGAGGTGGGTGGTGAACATGAACAAAG +AACTTAAGAGGCTTACCTCGTTGGGAATGCCCAGGCCTTTATGTGGTTGT +AGAAGATGGTCTTACCATTGCGTCGAGTCACTTCAAAGTCTCCCCACACC +TGGAACAATTTTCTATGGAAGTCTCAAATAATATGCAGTTGGTCGATGCA +CCATGATGAATTTTGTGCCAAACATGGTGCATCGACGCTAAATAATTTTC +TTTTGAAATTTAAAGATGTTTTGCTAGACTTTCCCTAAACATCTTTTTAG +TTTTCCAATGTTCTCTAATATCATCATGGTGCATCGAGAAAAAATGTTAT +AGGAGGAGTAAAGAAATTTGAGACTTTACTTTTTTAGACCAAAAATGACC +CAAAACTACCGAATTGTTTAGTAAGACGTTTTGAAAATTTTTCAAAACAA +AGTTATGGCGGTTCAAAGTTCTGGAAAATAGCATATTTTCAGCTAAAATC +TAATGTTTTGGGGGCTGGGGGAGGAATAAAAATGTAATTTTTTTTGTGCC +CCACTGCCCGAAAATGCACTTTAATCGACGAATAAACGGCTTATAAAGGG +CCACAATATTTATAAAAGAGTGATATTATAGTTATAAATAAAAATTGAGT +TCCCGACCGAGAAAAAAATTGGCGAAAATTTTGATTTTAGCTGAAAATGG +GACTTTTTTTCCAAAACTTTGAGCGGCCATAACTCTTTTTTGAGAATTTT +TCAAAACGTCTCATTTAGAAATTCGGTAGTTTTGGGTCATTTTTGATCTA +AAAAAGTAAAGTCTCAGATTTTGATACTTTCTCGATGCACCATGATGAAG +AGAAAAAAAGAGAAAATTTAGAAAAAAAAAAAAAGAACCCTTCCGATGTT +TTGGGAAAGTTTAGCAAAACAATAGATTTGTAAAAAATTCAATTTCATTA +GGTTCCTATTAAATTCTCAATTTTTATCAATGCACCATACATTTTCAGCG +TGAAATTTTGTAAAATGCACAGGAATGAAAATTGATCAGGTGTGTATAAA +ATAAGAAATTGAAGCATTTTGTTTTTTTTTTTGTCGATACACCATGATGA +ATTTCACGTCAAACATGGTGCATCCTGGAAAGGAGAGAGTTTTAAAAATG +TATCATTTTTTTCTCGATGCACCATGAAGATTTATATTAGTAGAACTTAA +ACCGCACTTAGCATAAGTGGCATAAAAATAAAGGTGGAGTAGCGCCAGTG +GGGATTTTGTCTAAATACACTTATTATGATCCAAAACGATCGAATATCTT +AATGAAACACTCCAAAATATTTAAGATTTTTCAAAATTTCCGGTCAAAGT +TTTGGCAAATTGCCAAAATATTGAAAAAAAATATGAGCTTTTGAGGAAAT +CCAAAGCAATGTCGCGTGTTTCGACCCACACAATGTTTTTATACAATGTA +GAAAAAAATTTTTTTTTGGTCGACTTTTAAAATTATGAGTGGCAAAAACT +GAGTAATTGCCAATTTGACAGTAAATAAAAAATTTTCAAAAACATTTTGA +AAAGTTTTATTATGATATTCGATTATTCTGGCACCATTTGAGTGGTTTGT +AGTAATTTCCCCACTGGCGCTACTCCACCTTTAAAATTAAAAAAAAAATC +ATAATGGGTATTTAATATCAATGAAAATTATCGATTTTTCCAAATGTATC +AAAATGAGTGTTCAGCGCGAAATTTTGTGCAGGACTTTTTCTTTCAATAA +TATATCCCGAATGATGCATTAGTTATGGGCTACACGATTTTTAGAAAAGC +ACCTGGCCATGCTTAAAGGTGGAGAACCGAAATTTGATACTCTGTCTTTT +TAGATCCAAAACGGTCCAAGACTACCAATATTCGTATTAACCTGTTCTGA +AAAATTTTCAAAAAAAAAAGTTATGGCCGTTCAAAGTTTTGGAAAAATGG +TCGATTTTTAGCTAAAATCTCAAATTTTGGCAACTTTTCAATGTCACAGC +TGGAGCTTAATTTTAGAAACAACACGTGATAAATTGCAAAAACATGCATA +AAAATATGTTCCAACCGCTCCGACACTAAAAAGGTGCCAAAATTTGAGAT +TTTAGCTAAAAATCGACCATTTTTCCAAAACTTTGAGAGGTCATAATAAC +TTTTTTTTTTGAAAAATTTTCAGAACGTCTTAATACGAAATTTGGTAGTT +TTTGGACCATTTTGGGTCTAAAAAGGCAAAGTATCAAATTTTGGTACTCC +ACTCACTATCGAAGCAGAGCCCCAAAAGTTTGACCGACCCAATTTTGTAA +GTTTCTTCGATGCACCATGATGATTTTGAGCAAAATGTTAGTTTTTTTTT +TTGAAAAACTGGTGGCAGGACCCAGTTTTCGGCAGTTTTAAATGTCGATG +CACTATGTTTTTTTTAATGAAACCGTACCTCCCCAGAAGTCTGCAAAGAG +CATCCGTGTGAGTCCGACAGTGGTAGCTCGGATATCCCGTCATTCGCCCA +ACACCTTCCGATTCGTCCATTCTGATCATCGCTCATTTCAACTGTGTACG +TCTACAATTTACAAATAGTTTCTTTTGATTTATGGAGTTCCTGACTTACA +ACTCTATCACCAACTGCTAACGGACGTTGTAGCTGCTTTGAATCCAAACT +GTCGCCGTCTAGAACACGAACTCGGTAGTCGACTGTCTGAAACATTATAT +GGGTCTCGCAGCGATAATTTTGAAGCCTTACCTTATTATCCGATAGGCTG +CTTGCTGTGGTGGCATCCGAGTTGATAGTGATTCCACCAAATGATACGGT +CACCTGAGATTCTTTAGGAACAGGGGCAGCAGGTATACAGGTCAGAAGGA +ATCGTTTGTCGGTTTCTGCATTGAATCTTAAAAAAAAACGATGAGGAAGT +TATTTTTTATTTTTGTCTATTTTTGTTCGTATATGGTTTTTTAGGTACCA +TGGAATAAAAAAAATGCTCCTAAAAAAATTAGTTTCAATAACAAATATTA +CTGGTACAGAGAGTGTAGATAGTTAGAGAGTGACTGACATCCGGGACCCA +ATGGGGCGGGGCGCGCGGAAGAGACGATTCGTGTCGATTTACGAAATGAT +GACAACGAGGAAAATTTCGTAAATCGACACAAATCGTCTCTTCCGCGCGC +CCCGCCCCATTGGGTCCCGGATGTCTGTCACTCTCTAACTATCTACACTC +TCTGTACCGGTAATACCATAATATGATCATCATTCTACATTAGAAAAAAA +TCGATCTGAAATCACAGATTTTTGGCCTCCCTCATAAATTGAAATGGAAG +AGGTTGCCAAACTAGGCCATTTTGGCTCGGCCATATCTGGGGTAGATTTA +CGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAAAT +GTAGTTGGCCGTGTGGAGTACACGACTTTCCCACGCGTTGCCCGACGGGC +GATTGCCAATGGAGCGCGAGAATCTCAATGAGGAAGGCCATGGCGCGCCA +GAACCCCATGATTTTTAGGGTATTTCGAGGTTGGCAAATATTCTGGAATC +TTTTTGCAAAATGTTTTTTTTTTTTTGAAAAAAAAATTCCAAAAAATATC +CTGATCGATGAAAATTGTTGGGTGAAAAAAGTTGCAGATTTTAGGAGAAA +TTTGAGAAATTAGAAAAATTAGAAATTAGGAGAAATCAGAAAATTTCCAA +ACTGCTTTCAGAATACTTGTATATATTGAAATAGCCTAAAAATCATGAAA +TTTTTCAAAAATCTCTAAACTAGCCTCCAAATTTGGTAGTAAAAATTCAC +TGGCAGCAACTTCAGAGCGAGATTTTTCTAGTTTAAAGTGCTCGTATGTC +GCTGAATTTTTTGTAGGTACCTATTTGAAAGCTCTTTTTTCAAAATTCAA +AAATTTAATTTTCAAGTTTAAATTTTGAGTAGCGCCAGTGGGGGATTTTG +TCTAAATACACTTATTATGATCCAAAACTACCTGAGTAATTGCCACTTTT +TGACAGTAAATAAAACATTTACAAAAAAAAAAAGTTTTATTATGATATTC +GGTCACTTTGGGACCAAATGAATGGTTTTTCATAATTTCCCCACTGGCGC +TACTCCACCTTTAAAACTGAGCGGAAATACTTTCCTTGTGAGCATAGCGG +CAAAAAACCTAGTACCACATGGCAAAAAAAAACCCACTCATTGTTAGCCA +TGACAACTTCGATCTCATTCTCCAAATTGCCTTCTCCGTTCTCCTTGGTC +GAGCAGCCAGTCAGCGGAATCTAAGCAAATAATGCCCAAAAATTCAATAC +ATTCAATAGGCAAACCTTCAACTGATATTTGGTGTCCGATTGAAGCGTGC +CATTTGCATAGATACACTTTGGATGGCCCGCGCGACTTTGTATCGTGCCA +CGGAAGTTTTCGTCAAACTTGATTTTCAATAGGAAATCTGTCTGCAATAT +TGAAGACGTTTTTTTCCTTTTGGGTGGTGACCTTCAAGGTTTTGGCCTGG +GTTTTTAATCTTCCATTAAATGCCCTTCAAATTCGCTTTTTCGAGAGTTT +AAGAGAGTTTCTAGGCCGAGGAACTTCTTGCAGCCAAATTTCTAAACTAT +TGTGTTTTTGCCAAAAACAATGAAACATTTTAGGTCATTTGTGACGTCAT +ATTTTTTCCATGCAACTTTTTATTGGCTCCACACATCTTCCAAAAAGCCT +AAGCCTGAGCCTAATCCAATGTCTAAGCTTAAGCCTAAGGTTCAGCCTAA +GCGTACGCCTAAGCCCAAACCAAAGCCTAAGCCTAAGCCTAAGCTCAAGC +CTAAGCCTAAGCCTAAAAAAAACCGGAAAATCCTAAGCCTAAATAGCGTC +AGTAGCAAGCTAACGCTCGCCACTGACGCCAAACCTAAGTCTCGGCTTAA +GCCAAAGCCTAAGCCTAAGCCTAAACCCATGATTAAGCCCAATCCTAAGC +CTACGCCTAAGCTTGAACCTAAGCCTAAGCCTAAGCCTAAGCCTAAACCC +AAGCCTAAAATTTCTAGGCCACCACTAATATTTTCAAAACTCGATTCTCA +AATACTTCATTTTTTCAGGATATGAAAGTAGGACAGAAATGGGCAGGGTA +TATGGTATGGAGCAAATATCACAAGATGGCAGAAACATAGATACGGGGTG +GGAGTGTTGGACTAGGTGACTTTTCTAGGCCATCCCTACCTTATCACACG +CAATAGAAGTGTCCACAATGGCCACCGATCGAATCAGCGGTGGCAGCACC +ACAACCACCGACCAAATGATCCAGTGCAGAATCATAAATTTGTGGAGGGA +AAAATCGATAACAGTAGTGAGGGTAATAGTAGTAATAATACAAATATATA +TGGAAAAATGAATACAAAAAGATGTGTGCGCTGGTTGGGGTGGTGGCGTA +AGAATACAGGTGGGTGGGGGGTATAATTGGAGCGTGGCCGAGGAGGAGAA +TCGCAAAAAAAAGAAGGAAAGAAAGAGGATAGTAATGACATGTTACGGTA +GAAGGACAACTACCTAATTATATGAAAGAGGGGGGGGGGGCGACGAGAAG +AGGAAAAAGTCTTACGCAATTTGCTACTCGACTTTCAATTTCTGCTAGAA +ATCGAAAAAAAAATAGGAAACAAATTCCGACTCTATTCGATATCATCACT +TCCGGGGCACGGCACAGGTCGGATCAGATTCAACGACGTCTCGCGATCCC +GACCCTCTGATCTTACGGCCATCCCATTGTTCACATGATAGTCGATGAGC +TCGGAGATGTTGCTGAACGTGCGATCGCGGGTTCGGACTCTCTGGAATTT +TGAGAGGTTTGAAGGTTTGGCGGGGGGGGGGGGGGAGGGTCTTACGTTGT +GATTGTCCAGTAGGATGAGATGTTTGTGCTCGTTTTCAGCGGTTCGGCCA +CTCAGCACGTACTTGCCGGGCGTGTGGTCGCTTTGTCTGCAAGGAACTGG +ACAAGTTTGAGCGGCCGACAGCTTGCGGGTCTTTTTTTAGAGAAGGGGGA +CTGTGAGGTGTCCGCTGCTTCAGACAATCTTAGCATCATGCAAACCTTGC +ATCTTTTGTATTTCAGGAAAAAAAACGCAGAATTTTTTTTGAACAAAAAT +TTCAGCCTAAAACAAAAATCTAAAAAAATTTTGGGAGGATGAACTTATTA +TACCAAATTTTTCCCTGGTCTTTCAAGAATTATTTAAAGTCCCGTGGCTT +CTGAACATATTATCAAACAAATTACAGATATGAAATGTGACTGAAGCTTT +AAGTCAGAAATATATAAAAAAAGGATTTTTCATACTATTTTTTCAGTCAA +ATTTGATTTTTTTAGACTTTCAGATTTTTCTACGAAGTCTGTTAAAATAG +GCTTATATTAAAAAGCTATCCGATTTACTATTAGTAAAAAATTATAGCGA +CCGACATCTCGCAGGTTGTTAAAGAAAGGTGCATTGACCGGCTCACGCAA +CTTTGGCAGTTTATATCTCGGCTGGTTTTGGTTTTATTTAAAAAATTTCA +ATTGACGAAATATTTATCACTTTTTCTACTAAAAGTTTGCAGTTGAACAC +TTTTTGCTAGCAGCGATATTAACCGAGATATTAGCGGAAAAAGTTACATG +AGAAACATGGTGCATCGACAAGAAATATCTCACAAAACTTTGGCAGGTTA +TATCTCGGCTGGTTGTGGTTTTATTAAAAAATTGTTAATTAACAAAATGT +TTATCCTTTTTTCTACTACAACTTTGCAGTTCAACACTTTTTGCTAGCAG +CGATATAAACTGAGATATGATTGGAAAAAGTTACATGAGAAACATGGTGC +ATCGACAAGAAATATCTCACAAAACTTTGGCAGGTTATATCTCGGCTGGT +TGTGGTTTTATTGAAAAATTGTTAATTGACAAAATATTTATCCTTTTTTC +TTCTACAACTTTGCAGATGAACACTTTTTGCTAGCAGCGATATAAACCGA +GATATGATTGGAAAAAGTTACATGGAAGACATGATGCATTGATCAGCTAT +CATAGCTCATATTTTACTTATCTCAGGTTTTACCAAAAAATTGCCAATTA +TTAAAACATTAGCCTTTTTCTTCGAAAATCAAATTTTGCCCGAATTGCCG +AAAATATAGATTTGATATTTTTTTGTAGATTTAGGAGCCTAAACATTTTT +TAATTTTTTAAGTATTGACCGTTTGCTTTTAAAAATGACTAATCGAATAC +TGAAAACACAGTTAACTTTTTTTTCAATTTTCGAATTATAATTAGGTTTG +AAAATTGCCGAAAATGTCGGCATTCAGTTGGAATTTTGGCAATTGCCGAA +AATTTCCGATTCCCACGCGCCCCTGGTGTGAACCTAGTGAGCATGAAGCC +AAACGTTTTAGAAATTCAGCAAAATTCTAGCTTTTTTCTATAAAAAATCT +AAAAAACCTTACCGAACCAAAAAATCGCCTTCCGTCTTCAACAAAGCCTG +TGCATCCTCTCTGGATAAATTTCCATGATACCAAACTTTCCCCACAACAT +CCTCAGTTACAGTAGGTGCTCGGCAATTCGACACAAATGACTGTCGATGC +AGGGAACTTCGATGTCTCATCGGCGGCGCCGGCACCGTAAATCCATCGTT +AGAAGTTGAAGCATTCGCCTGTGCATCAAAAGTGTTCACATTGATCGCAG +TGGTAAGGACGTCGATGAGCTTGTGCACATCCTCGATGAACACCACGTGG +CATCGACGATCCGTTCCATCCTTGTTTTTTGCAATGTAGCCGAACATTAG +CTCCGTGTCCGTACCCTTTTGGCCTTGGGCTCCGAATGAGAAGAATGAGA +AGGGATGACGTTGAATTAGACGACTTTGTTTTATGATTTTGATCATTTTC +GAGGAAATGTTGATGTCTACGGGGAAGTTTTCTTTTTTCACTTCACCGAT +TACCTGAAAATAAGGATGGTTTACCTGGGCTTTTTCATCGACCCGTGAAG +TGTCGGCTGCAATAATTTTAGTCGAAATTAGTGATAATAACTTTTCTATG +AATAGCGGCTGACATCATTTAGCGCGATTTTTGATCGACCTGTAAGATGT +CGGTTGCTTTAGTACATTCTATAGTGGCAGGCTTTTGGCTGAATTTTACT +GGATATATAAGCTATCAAAATTTGAGCATGTCGATGCACCATGTAATTAT +CTCAGTTTATTTCGCTGCTATCAAAAAGTGTTAAAATGCAAAGTTGTAGT +AGAAAAAACGATAAATATTTTGTCAATTGACACTTTTTCAAAAAAAAACC +AAAACCAGCAGAGATATAAGTAGTCAAAGTTGAGTCAGATATTTCCAGTC +GATGCACCATGTAACCTTTCTCTAATAACCTGTGAGATGTCGGTTGCTAT +AATTTTTTAGTCATTAATTTGGACAGCTTGTTAATTTGAAATAATTCTTG +ATGATATCGTAGCGCGGCCGACATTTCACGGGTCCTTTTTTTTAAACATT +TTGCAAAGCTGGTCATGCATTTTTGGTAACACTTAATATCAAATTAATGA +GAAAATGTTTTGTAAATTTTTACCATTAGCCATGCCCAGAAAATGGCAAG +TTTTTTATTTTATTTTCTTTTGTTTTTTTAATTCACAAAAAAAAACTCAC +CCTACTAACAACTGGATTGATTTCTCGAGCCGCAGTCACGCCAACAGTAG +CTGCAACGTGTTGTATACATTCTCTGAAAATTGAACAGTTACTTTATTAC +GTAGATTTTTTATATATTTGAGCTTGCAGATGTTACCTGCCTTCATGCCT +GCCTACCGCCTGATTTCTAAATTTTTGAATAAGATTTTTTTTTGATTTTA +AGCCATAAGAAAAACTAACGAAACAACTTGAACTCTCATCTCGGAAACCA +TCACGTTAATTGACTCGACTACTGGAACACTTCCGAGGTACTGAAAGACA +ATTTTATATTTTCGGGGAAAAAACTAATAAAAAACTCACAGTAGCCGACA +GAGAAACCCCGCTGCTCCGCAGCTCCTCTGCAAATGAGGGCTCCACGTTG +AGCATCGCCGCAAGTTGATTTTTCGACGGAATTTTTGATTATTTTTAGAA +AAAATCTAACTCGAAATTCGTTACAACCGAAATTTTGCAAGATTGAGTGA +ATGAGGAATGACCGGGAGAGAAACGGAGACGCAGGCGGTGAGCGGAGTGG +GAGAGAGAGCGCGCGAGACGGAGAGGCGCAGGCAGTGGTAGGGAGGAGAC +AGGGAAAGATTAGATTGGTGTTGACTGGGTGAGTCAGCATTCTAATAAGT +TAAGTTGACTCATAACTTTGTTTTTTGATCAGAGGGGGGGGGGGGGGGCC +GTGGCCTAGAAATATCATTGCCTACTTATTACGTCACTAATGGTCTAGGA +AACCTTGATAGCTTTTTTGGAGAAGATATGACGTCATTGGTGGACTAGAA +ATCTTATTTTAGTTCTGGAAGAGAAATATTTTGACCGTGGAAGACAAATT +AATGATGTGACCGGTGGCCTAGAAGTTTCAAATTATACCTGGGGAAATAA +ATGACGCCACTGGTGGCCTAGAAAACTTAAACTATGCCTGAAGACGTCAC +CGGTGACCTAGAAATTTAATTCTGGCGACGTCATAGAAATTTGAATTTTG +ATGAGAAATATAATTTTATTGGTTTTCTGAAAATTGAATTTTATTGATTT +TTTGGCAACCGGGAAATTGGAAAATTTAATAAATTGAACAAATGCAATAA +AATAAGCAGTTTTTCAACAGTCATTACTTTTTTCCGTGAACCGTTTTGAT +TTTAATTTGTAAATCTAGGTCGGAAAAGTCACACACACCGAGGAGCTAGG +CTTCCCTCATCCTCCCTGGATCAGTCGGTAACTGCTTCGACTGGGGAGTG +GGAGTGGGAGGGGTGGGATGAGTTCAATTCTTCTGGAATTCCATAATTTT +TATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATTGGAACTCGAC +ACAAAAACCTCTCTAGCGCGGCTTAAATTTACTTCAATTCTTCCGGAATT +CCATAATTTTTATTTTTGTTTTTTTGCGCCTACATATACCTGTGAAAATT +GGAACTCGACACAAAAACCTCTCTAGCGCGGCTTAAATTTACTTCAATTC +TTCCGGAATTCCATAATTTTTATTTTTGTTTTTTTGCGCCTACATATACC +TGTGAAAATTGGAACTCGACACAAAAACCTCTCTAGCGCGGCTTAAATTT +ACTTTCCTGTCCCAAAAACTCATCTATAATATTTTTAAAAAATCTAGAAT +CCAAATCTATCAGATTTTTTTGAATTTTTGATTTTTTTCACATCGAGATT +CGGAATCAGCGGAAAATTTGGAGTCAATTAAAAATATTTTCCAGATTTCG +ATACTCCACATTTAAAGGAGATCACCTGAAACGCCAGAATATGATACTTC +ATACTCTCCATCTTCTCGCTTTTGAAAATAATCAAAAAAAATAGTCGCCG +TATTTATTGATATAGAAAAAATACCAACAAAATTGTAACTATTGATTAGC +CATACAGGGTCTTTAAAGTCAACATTCATAGTGGGAGCTGGAAATAAAAA +TATATAATAACTTGTTAAAAGAATTTATTGTGGAGTTATAACACCTATAG +ACAATTAAAATCACCTGCTGCCTAAAGAGTATTTACCAGAAGCAAAGGTT +TTCTGAATTTAGTGGAGTTTGTCCATTTACTTTTTTGCATGTTATTGAAT +TGAAATGATACATAGTGAAACTAGAGGTAAAATTATTTACTAGGTTTAGG +CTTAGGCTCAGGATTAGGCTTAAGCTTAGGCTTAGTTTTAGGTTTAAGCT +TAGGCTTAGAATTACCGATAACTGATAACTTTTGCAAATTTAGTTTCTGT +AATATCGGCAATAGCCAAAATTGCCGGAAATTTCTGCGATTCGAATAAAT +AAATTGAAATAAAAATTAGTTCCTAAGATACATGTTATCTTTTTGCAGGA +AAGTAGTAAACTCATGAAATGAGAAATTGCGATGAGGAAGGAAACATTCC +TATGGTTCCTTAGACAATTTCTCACCTTACATTAGTATATAATATATAAA +TGATGAATTTGACTTTTTGAAATTCTCTTCAATAAATACATTTAGTTGTT +TTTTTTTTAATGAGTAAAGTTGCAGAGTGTGGAATTTGCTATGAGGAATA +TGGTGAATATTGTTGGAAATTTTTCTGAAAGTTTTCATTTTTTTTGGAAA +TTTAGAGAGTTGGGTGTAATTACTGAAAATTATGTTTTAAAAAAATTATT +TTAATGATTTTTCAAATTTTACAAAAAACTCATTTTTAAATCATTAGAGG +TGAAGTAGCGCCAGTGGGAAGATTGTTAAGATCCACTCCTTTAATCCGAA +AAGTACCGAATATCATAATAAAACTTTTCAAAAGTTTTTAGAAACTTTTT +TATTTACTGTCAAAAAGTGACAACCACTCAGTTTTTGCCACTCATAATTT +TGGAAGTCGACCAAAAAAAAAATTTGTTTTCCTACATTTTTTATACTTCA +ATTTTGTTTTAATTATTTGTATTGAAAAATTGTAGGGGTCGAAACATGCG +ACAATCCTGTCAGTTTTCAAAAATCTCTACTTACAAAATATAGGACACGC +TCCAAAAATGGATGTTTTTACAGACAACGCCATCCGAATCCCTTGCATCG +GCACATGCGGTCATACGTTATGTGACAGTTGTCGTGAGAAAATTAGAGAT +AAAAAATGTCCTCAGTGTAATCAGAAAGGCGCATTTGTTGTGAAAAATGT +GAATAAACAATTTTGGGATTTAATTGTTTTTTCGCAATTTTTAAAACCCC +AGGAAGTGGAAGTTGAGGAGACTGAAGAGGTTGGTTAGAACTTTTTTTTT +GGATTTTTCGGTATTTCCGGGAGGTTATCCTTTGGGCCTAAAACTAGGCC +TAAGAGTAGGCCTAAGCCTAAGCCTAAAACTAAGCCTTAGCCTAAAACTA +AGCATGAGCCTGAGCCTAAGCCTAAGTCAAGCCTAAGCCTAAGTCTGCTG +CTATCAAAAAGTGTTAAAATGCAAAGTTGTAGTAGAAAAAACGATAAATA +TTTTGTCAATTGACACTTTTTCAAAAAAAAACCAAAACCAGCAGAGATAT +AAGTAGTCAAAGTTGAGTCAGATATTTCCGGTCGATGCACCATGTAACCT +TTCTCTAACAACCTGTGAGATGTCGGTTGCTATAATTTTTTAGTCATTAA +TTTGGACAGCTTGTTAATTTGAAATAATTCTTGAAGATATCGTAGCGCGG +CCGACATTTCACGGGTCCTTTTTTTTTAACATTTTGCAAAGCTGGTCATG +CATTTTTGGTAACACTTAATATCAAATTAATGAGAAAATGTTTTGTAAAT +TTTTACCATTAGCCATGCCCAGAAAATGGCAAGTTTTTTATTTTATTTTC +TTTTGTTTTTTTAATTCACAAAAAAAAACTCACCCTACTAACAACTGGAT +TGATTTCTCGAGCCGCAGTCACGCCAACAGTAGCTGCAACGTGTTGTATA +CATTCTCTGAAAATTGAACAGTTACTTTATTACGTAGATTTTTTATATAT +TTGAGCTTGCGATTGTGTAATCAAAAATAAACATTTGAAGCATGATACGA +AATATTTGAACGATTTTTTTTCGGAAAATCAATAAATGAAAATGGAGTTT +TTTTTTTGGATTTTAGCAAACTTCCCAAATGACGGAAAGATCATATGAAG +CGATTATTTTTTCTTTTATAAACCTGTTCAGGATTTGCATTATTATGAGA +AAATCCTAGGCCAATTAGGCTAGCATGTACGGAAGTATTTTTTAAAAATT +TATAAAAGTAATGAAAAGCTGATATTTTCAAAATTCCAGAATGACGGAAA +AATCATATGAAATGCTTTTTTTTTCTTTTTTAAACCTATTTAGAATTGTC +AAAACTACCAGAAAATACTAAACAAAATAGCTTAGCTTGACCGGAAATAT +TTTTAAAAAATTGATAAAAATAATGAAAAGCTGATATTTTCAAAATTCCA +GAATGACGGAAAAATCATATGAAGCGATTCTTTTTTCTTTTATAAACCTC +TTTAGAATTGTCAAAACTACCAGAAAATACTAAACAAAGTAGGTTAGCTT +AACCGGAAGTAATTTTTACAAATTGATAAAAATAATAAAAAGATGATTTT +TTCAAAATTCCAAAATGACTGAAAAATCATATGAAGCGATTCGTTTTTCT +TTCATAAAATAGTTTAGAATTGGAATAATGATCAGAAAATACTAAACAAA +GTAGGTTAGCTTGACCGGAAGTATTTTTAAAAAATTGATTAAAAAAACTG +ATTTTTAAAAAATTCCAGAATGACGGAAAAATCATATGAAGCGATTCTTT +TTTCTTTTATAAAGTAGTTCAGAATTAGCATTATTATGAGAAAATCCTAG +GCGAATAAGGCTAGCATGTACGAAAGTATTATTTAAAAATTTATAAAAGT +AATGAAAAGCTGATTTTTTAAAAATTCCAGAATGACGGAAAAATCATATG +AAGCGATTCTTTTTTCTTTTATAAACCTGTTCAGAATTGTCAAAACTATT +AGAAAATACTGAACAAAATAGGTTAGTCCTAGGAAAGACTAGTTAGGAAA +GAATTCTTAAAATAGGAAGTTGAACAGAAAATCTGGAAGATCTGAAATCT +GGAAAAAGGAACTCTCAAAAATTCAAATTTTGATTTTAGGAATATATGGC +TGTGTAGTCTTCATAGACAATCAAAATAAATTATTTTAATTTTCAACCAT +CTTTATGCACGGGCTTCTGTCCTTCCTCATTGAATTTTTCGCGCTCCATT +GACAATCGCCTGCCGGACAACGCGTGGGAAAGTCGTGTACTGCACACGGA +CAAATACATTTAGTTTTACAACTGAAATCGAGCCGCGACGCGACACGCAA +CGCGCCGTAAATCTACCCCAGATAAAGCCGAGCGAAATGACCTAGTTCGG +CAAACTCTTCCATTTCAATTTATGAGGAAAGCCAGAAACCCGTTTTTATG +TAAAAGTTCATACTGTGCAGTTAATTTAAACAAATCAAAATTTGGAAAAT +GATTTTTGGCTTTGTGCAAACTGTAGCGTTTTAGGCGTTAAAAATCTGCC +AATGAATAAAAAATTTCTTATAAAATTTTTAAAAAAACAGTTATTTGCCC +ATTCCGTTTTTCAACATTTATCAATTACGGTTCCAGTGATCAAATGCTTA +CACGGAAGTCACTGATGACGTTGACTCCATGTTTGGTTGCGATGTGAAAA +AGGTCGTTTTTTGCCCAAATCGAGAAAGGTCACACACACACATAGACATA +CACAAAACCTTATATAATTTGTAAGATATTTTGTTTGATTCGAGAAAAAA +AAGAGAACAGGTATTCCTGCGGCGTCGTTTTTCTAAACGGCAGGAAAAAT +TGAGAGAAAGAAAGAGAAAGAAAAAAGATGGAAAAAAACAGTTTAAATAT +AATTATTAGGTTTAATTATTAGGGGTGCACCATATTGTCGTAGGGGCCCT +TCTCCAAAGTTTTAAGTTTATCGATAGAGCGTGAATACATAAAGAGAGAA +ATTTGACCTGCAAAAAAAATATATGGTTGGTTCCCATGCCATAAAAAATC +CATGCAACAAATGAAAACAACACCTGCCAAGTGTCCTCCGCCAGTCTAAC +CAAGTTTTTCCCTCCAAATGTTCCGTGACATTGTTGTTTAAGGCTTTGTA +CTTTCCGCAGCCGTCTTATTCTTCCCGAAGTGTTCTCCCTAGATAATCGG +GTTTTTTTGTTGAATCGGCTGGGGGTAATGATCGGAGAAGATATATATGA +AATAAATGAATAAAAAAGGAACACCTTTTGGAGAGGCAATGAAAAAGCAA +GCTATGCAAAGTATTGATCCGTTGTTATGAATGGGCTTGCTTAGGCTTAG +GTTTTTTTTAGGTTTAGGCTTAGGCTTAGGCTTAGGCTTAAGCTTAGGCT +TAGGCTTAGGCTTAGGCTTAGGCTCAGGTTTAGGCTTAGGCTTAGGCTTA +GGCTAAATCTAGGCTTTGGCTTAGGCTCAGGCTTGTGCTTAGGCTTAGAC +TTAGGCTTAAGCGTAGGCTTAGGCTTAGGTTAGGCTTAAGCTTAGACTTA +GACTTAGACTTAGGCTTAGGCTTAGGCTTAGGCTTAGGTTTAGGCTTAAG +CATATACCTAGGCTTAGCCTTAGGCTTAGTCTTAGGCTTAGGCATATGTT +TAGGCTTATGCTTTGGCTTAGGCTTAGACCGTGTGTATATCCGAATGTGT +GTTTTATTATGTTCCTGATTCTGAAATCATTTGTTAGTTTAATATCTACA +AACATTCCAAACAGTCTGTATGTGCTGCCAGGTGGCATTTCCTTAATCAT +CTCAAATATATTTGGTTTCATTTCCCCCCATCGCAAAATCCCTTTCTTTA +CCTGTCATTTCGCCTTTACGTTCAACTTATTTGATTTTGTTGTTTTCAAG +TGATAATCACGATTAAACAACGAATGAAAAAAATAGGTATGGAATTACTA +CGGTATTCTTTTTTGCCTATCCTTCTTTCTCTCATTTTCCTTTTGTCTTC +TAACAAGTTCTGCACTTTTGAGGTACATTTCTTCTCCGATTTGATCAGTC +AAAGCTATTCGGTTTAAACCATCTTCTATTCAATTCTGATGATTACTGTT +AGGAACGAGTGGTCACTTAATTCAAAAGGTCGAACTGTTGTACTAATTGA +ATTGGAAAATTTGTAGGTTATTTGACGTTTATCAGAAATTGAAGATTTGA +TATAAAATTTGGTAAAAATGAAAAATAAAGTTTCATTTAGAGTAGTATTC +TGGCTTCCCTTATAAATTGAAATGGAAGAGTTGGCCATATTGGTTCGGCC +ATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGTCGCGGCTCGATT +TTAGTTGTAAAACTAAATGTATTTGTCCGTGCGGAGTACACGACTTTCCC +ACGCGTGGTCCGGAAGGCGATTGTCAATGGAGCGCGAAAAATTCAATGAA +GAAGGCCAGAACTTCGTGTAGTATTAGCAGACCAGGTTTTCACATAAATT +TGAGCGGTGAAACTAAAATTATGACATTTTTACGCAACTTTATGGGCCAG +AAAATTTTTTTTGGAATTTTTTTTTGAAAAAAATTCAAAAATTTTGATAA +AAATAATTGCCAAAAAGACAAATTTTGAGTAATTTTACTGCCTCTAAGAG +TAATGAACAAATGTTTCCAACTTTTTGCAAATTACTTTCTTAGTTCCCTT +GCAAATCTATATAGATTGAATTTGGCCTAAAACCTAACAATTTAGCTGCA +ATATTGTTACAAAAATTTGGGTACAATAGTGTGTTTATTGAAACATGTGT +TCTTGAAGTTGGGTAAGAACAATTGATGAAGGTTGTACCAAATGAACAAA +AAATGTTTTTAGAGAAAGTCTGAAACATTACCTTATTTCTGATGGTCGTT +AATCAAATTTTACTGTAACTGTTATGAAACCTTGGGCATCGTATTTTCTC +TATTAGTGCAGCCGACCACTTTACTTTGAGACGTTATATCTTGTTTATTT +TAAAGATCTCAATATTTTAATAACTACAAAATCATAGAAAAAGAACCAAC +AAAAATTTTGTTAGTTGACAATTTTTAAATAGGACAAACGATAACTGAGC +TATGAGCTGTCAAAGTTGAACAATGGTGGTGCAATAGAAGGAACTAATAG +AAAAAATACGGTAACCTAAATTTTTATGTTAAAATAAGAAGTAGCGGGTT +GATTCCAGAAGTTTTTTTTATAAGGTAACCATCCGCTGACCGCGCCTCCG +GTATCCCTTCAAAAGGCAAAAAGTAAACTTTTCTAAAACTACAGTAATCC +TACAGTAGTCCTACAGTACACCTACAGTACCTCTACAGTATCTTGACGTG +ATCCTCTACCTACTCCCAACCCAGTACCTCTTCAAAGGCTAAAAAGTCAA +AATTTCACAAACTACAGTAATCTTACCGTACTCCTACAGTAACCCTACTG +AACCATTACAGTAATTTGACATTATTCGCCACCAACTCCAAACCCAATAC +CTCTTCAAAAGCTAAAAAGTCAAAAGTTCACAAACTACAGTAATCCTACC +GTACTCCTACAGTACTCATACAGTACTACTACAGCACCCCGAACATATCC +CTCCACTAACCCCAAGTCAATATCACTTTAAATGACGAAAAGTCAATTTT +TCCAAAACTACAGTAATCCTACAGAACTCCTACAGTACCCCTACAGTACT +ACTACAGTACCCTGACTATGTCTTCCACTAACTCCAAACCAATATCCCTT +CAAAAGACGAAAAGTTAATTTTTTCAAAACTACAGTTATCCTACAGTACT +CCTACAGTACCCCTACAGTACTACTACAGTACCCTGACTATGTCCTCCAC +TAACTTCAAACCAATATCCCTTCAAAAGACGAAAAGTCAATTTTTCTTTT +TTTTAATTGAAATTGTCCGTTATTCCCTATTATGTAATTTTCCAAAAATG +CTGCCAACCTCAAAAACTGTTATGTTTTTGTTCATACACATTTAGCCACC +ACCTGCATATGACCCATAAAAAACCATACTTGACACCTGACATACTTGGT +TTCGATACAAAAATCGAGAACATTTGGCAAACCTGAGTTGTCATTCTATT +GGCTATTCACCATGTGCTCTAATAAAGTAGAACTTGGGAATATGTGTCAA +GGCTGTAAATGGGGGAGTAGTATTGTTAACATATGTACTGTGCAATATTC +CAGATGCCAAGTATACAGATTATCTAATGACAATAGGTAATTTGATTTTT +CAGGTGCTATAGTGCTATATTGTTCCAAATACATGATTTTTTTTTAGAAA +ATTGAGGTGTGGTGTCGAATGTCCCATAATTTTGGATAATCAATGGTCTT +TAGCGAAATCCTAATTTGAAGCCGTTTAAAGCTCGAAAGTGCAATACATT +TACAACTGCATTAGCGTTTTATTTTGCTCTGAAAATGACAAATACACAAA +ATTTTGGATTAAACCGCCTGGTTTTAAAACCGAGCTTAAACAATTTTAAT +TTTACAAATTAAAAAGTAAAAATTTTCTAAATTCCCTACACTAAAATTTA +GCGTCCACATCACTTTCTACCCCTTAATTAATTTTTTACTACATTTAACA +AAAATATTTTGAACCGGCAATTGTCAAAATTGCCTATTCCCAAAAATTTC +CAAAACCGGCAATTGCCAAAAATTTTCAAAGCCGGCAATTGTCAAAATGG +CAGCAAACTTCCAAAACCGGCAATTGCAGAAATTGCCTATTGCCAAAAAT +TTCCAAAACCGGCAGTTGCCGAAATTGCCGAAACTGCCGCAAACTCCCAA +GACCGGCAATTGCCGAAATTGCCGGTTGCCGAAAATTTTCGAAACCGGCA +GTTGCCAAAATTGCCGCAAACTTCCAAAACCGGCAATAGCCTAAATTGCC +GATTGCCAAAAACTTCCAAAACCGGCAATTGCCGAAATTGCCGATTGCCA +AAAATTTTCAAAAAAATTTCAGAAATTGATACATTTTTTAATTGTTGTGG +GAATTTTTTTTAATAAATTTGAAACATATCACATCCTCCTGTTTTCAAGA +AAATTAATTCCTTCAGTTTCTGACGACTCAAATCCTCCTCAAATGCCAAA +TTTATTTTGGGAAACTATACCAATTCTCAACAGAATTTTAAAGGTGGAGT +ATTGCCATTTTGTCTAAGTACACTTATAATAATCCAAAACAACCGAATAT +CATAGAAAAACACTCGAAAAAAAATTTTTTTGGTCGACTTCCAAAATTAT +GAGTGGCAAAAACTGTGTAATTGCCACTTTTTGACAGTAAATTAAAAAAT +TTCAAAAAAATTTTGGAACGTTTTATTATGATATTCGGTTATTTTGGGAC +CAAGTAAGTGGTTTACTCCACCTTTAAAAATTTAGCCGTTATACAAACTC +CAAATATATCCATTATTCTTTCCCCTATACCCTACCCATAACAAAACAGA +AAAATTTCAAATTCGCATCGTCGCAACACCACAGCATGTCCATTTGGAGT +GATGTTCCGAGAGAAAGGTCAAATCGTCTACCTCCTTATTCTAACCATCT +CTATGCCTATATATGAGGCTTTAATGAACGAGCGCCGCCGCCGCGCGCCT +AGCGCCTCCGAGTGTCGCAAAGTGCAACTTGTTTGCCACTTAACCTGAAT +TCTACTGTGTTGTATTATGTGAAGAATCGGATAGATGTAATGTGTAACAA +TAAAAAACCACGACGACGACTGAATATGGAATCGGCTAGGTGGTGCAAAA +GTTTCGGAAAGTTTTGGTACCATGGTACCTGTGTAAGCTCTGTGAATTTT +TGAGCCACGATGGGTCTTGCAACGATATTTCGTCGAAACTTTATTCTCGA +AAGTTTGTTCAATTTAAATTTTCCGCAAAAAACATTTTTTGAAAATATTT +TTAAAAATTTGAATTTCTCAGCATTTTTTTTTTAATATGAAGTTTCCAAT +CCCTCAAAAAAAAATTTCAGAGAACATTTGAATTTCCCGGAAACCCCAAT +TTCTGAGAATTTTTCAATTTCCCTTTAAAATAAAATTTCGGAGAAAATTT +GAAATTCCCGCCAAAAATTTATTTTGAAATATTTGAATTTCCCGGCAAAT +ATTTTTTTTTTTGAAAACTTTGATTTAACGGAAAACCCATTTTCTGAGAA +TTTTTGAATTTCCAGTTTAAAGAAATTTCCACGGGTTTCTGGCTTCCCTC +ATAATTTGAAATGGAAGAGTTTGCCAAACTAGGAAATTTTGGTTCGGCCA +TATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTCGTTTT +TAGTTTTAAAACTAAATGTATTTGTCCGTGTGGAGTACACGACTTTCCCA +CGCGTTGTCCGGCAGGCGATTATCAATGGAGCGCGAAAAATTCAATGAGA +GGAGGCCAGAACCCCGTGAATTCCAGCAAAAAACTTTTTGAAACTATTTG +AAATTCCCACAAAAAAACAGTTTTGCTGAGAATGTTTGAATTTCCCCCAA +AAATTTGACGGAATACTTGAAATTCAAAAAATGTTGTGAGAATATTTGAA +TTTCACGGAAAACCTGTTTTCTGAGAGTTTTTGAAAATCCCTCAAAAAAA +ATTTCGGAGAAAATTTGAATTTCCCTCAAAAAATTTCGAGAAATATTTTA +AATTACCGGCATATTTGACATTTTGAACTCCCCACAAAAAAATTTTTAAA +AATATTCGAAATCCCGGAATAATTTTTTTCACTATAGTCAGAAAAGATCA +ACTGACTAACTTTTCACAAACTACAGTACCCCGAGCATAACCCCCATTAG +TTTCCGATAGCTACAGTAATCCTACAGTACTCCTACAGTCCCCCTTCATA +ACGTTACCCTGATTACTAAAAAATGCCCTTTTAATGCGTATTATCACATC +TCACATGATTAAGACCAAAAGGGGTGTCCTTCAGATAAATACCCGTTCAA +TTTTTTTTACTGCAAACCAGTAGACTTATCTTTTAGGTTATGAAGAGAAG +ACTAAGTGTAAACAAGGTCGTTGGAAGTGATATGTTAAGAAGTTAACGGC +AAAATCGATGCCAAAACTTTCTGAGCTTTGACTTCTACTGCTCAGCTCAT +TCCATAACCATGAGCTCATCAACTTGCCCTCCCCCCCCCCCCACTATCTT +CCACCACACTTTCATTCCTCATTGTCGCAACAAACCCATCTCCGGATTCG +TCCTTTATATGTGTCACAACACAGGAGTACTCCTTAGCGCGCCAACTTGT +AATACCCCCAGCGACTTGGCCCAGAAACTTTCCTCTAATCGCATCCACAA +TATGGTCTGCAAGTACAAGATTAGCACCCCCCATTGTATGTCAATTTGTC +TAGTTTTTTATTCCATTGAACTATTCCACAATGTAGAAAATTGGGGTTAT +GGTACATCGAAACATGGTGCATCACATAATGGTGCGCCCAAATCATGGTG +CATCGTCAAAAATAAGAATCCGAGTCCTCCCAGACATCCATGTAGGTATG +CACTTTCCCGCCTGTTCCGCATCTAACCAACGATTAACTGAATCTTTACG +ACCCTCTCTCCTCCGAATGATGTTGAAAAATGTCGCGCCAGCACCTTTGG +AGGGGGGGGGGGGGGGGTTAAAAAGATTCCAATCTACCACCTATCTTCTC +CATTTATCTTCAATTTTGCCCCCCGCGCTCTTAGATTAAATGAACTTTTT +TGGCTAAATCACAGCACTTTTTATTAAATCTAGGAACTGCATCTAAACAA +TGCATGTGGTTACAGTTACCGAAAAATGTTGAAAATTTGGGAAAAGTGCC +AAAATGTTGAATCAAGTCAGAGAGATTCGAAGACGCTTCTAGCAATTTTT +TGACAGTTCCTGTCCCCTTTCGGTAGATTTGCGGCAATTCTCGGCAGATT +TACACCCGCTTTTGGCGGTTTTTCGGCAACTTTTAGCAATTTTGGCAATA +CTTGAAAACTTCTATTTAGCAACTTTTAGTCAATTTTCTGTAATTTCTGA +GAACTTCCGATTTTCTTTTACATTTTTTTCCGATGCACCATGTCCCGAAC +GCTCGCGCCACGACTTTTTTATTCATTATAGCAGGTCCTGTTTTGATGCA +CCATTTCCCAAAGAGCCCTGCAATGCTGGCTCATGTCACGATGTACCATG +TCCTGAAATGTCCCACCACGTTCCGCAACGAGGTTTTACTGCCAAATTTT +ATGCAATTCCAAAATATTTTTCGACAATTTTGTTAGCTTTTCCCTTTCAA +AAAAGTTCAAAATTCTGTTCCAAAACCACACCAAAAAGTCGAAGATCCGC +AAAATCTGCACTTGAAACACTATTTGACAACCCCCGTCTCAGGCTATCAA +AAATGCATGCAGTCATATATATGTGCAGCTTGTGAAACAAAAAACGAGAG +GGATCAGGGGCTCAGTGCTCAAGGTAGATGTGCAACTCTATGAAATTGAT +CGGTTATGCATGGCAAGTAAGAGTGACAGGGAGCGAAGTATGATGATGAT +GATGATGATGGTGTGGAGAGAGCGCAACGTATGAGTTATTGAATTTTCGA +GAAAGGTTATCTTTGATGGGGGGGGGGGGGGGGGGGGGCAGTTCATGGTG +CATCGAAATATAAAAACTTTCGTGGAGATACGCTTTTTGAAGAATTTTGT +GACACCTTCTTGGTGCATCGAGACAGTTTTCGTGGCAAGACCTGATTTGG +TTGAAACTCTGAAGCCAAATCGCGCTCTACGATTTTGTGACCAGGCCAAG +GTTTTGGTGGCATGGTGCATCATAGTAAAAATTCAAATCCTGGGAAAAAA +AGCTCTATATATAATATCCAGCCATGGACCGTACCTCCGGCGTGGCCCCC +TTCTGGAGCTAAAAACTAATTTTTCTAAAACTACCGTAACCCTACAGTAT +TCCTACCGTACCACTATTGTACCACTACAGTACCCCGACTATATCCGTAC +ACTAACCCCAACTCACTATTTATCCAGAAGCCAAAATTTCACAGACTACA +AAGACTACATAGACTACAAACTATGAACACACTGAATAAGCGCTTCATAT +ATATAGTGAATGATGGTGAGATCCATGTGACATGGTGCATTGTGACAGGC +ATTTTGGGAAGGGGGCTTTGAGCACAAAACAAAATCTTTAGTTATTTTTC +CGACAATTTCCAATAAAGTGAAGTTTAACAAGGTCGTGGCGTACTTGTTT +CCAGTTTCCTCACGAGTGTTGCATATTATACCGCCAGTAATCATTGCGTT +ATCACATAGTTGACAACGGTTTGATAATGTCACAAAGTGTGGGGGTTTTG +GAAGTGGCATCAAACCAGCATACGATTATTAGGACGTGATGAACTTATTT +TACCTGAACATATTATTAGGTGGTGGAGCTGGGAGCTTAGTATTTGGGTT +TTGAAACAATGCACCATGTCCTAAAAGATGCTTTATTGCTAGGTAGGGTG +CCGCGACTTTTGTATTCATTATAACAGGTTCAGTTCCGATGCATCTGCAT +TTTTTTAATACTGTTCTTATTCTTAGCTCAATAATTCAGGCTGAGGGCCG +CAGGCCCGAACACTTTTGGAAACTGTGGGCCAGCTTTAATCCTATTCCAA +GCAAATTGTTATTCGCTCAAGCCAACTAACCAGATTTCCTCAAACTTTAA +TCGCTCATATCTCAGCTCAAAACCATAGCAGAGACTTCGTTTTTTAATCA +ATCGATCCCAAATTTTAAGGAAATCTCGAATATCCCTATCTCAGGTTTGA +GGCGAAGCCGAGAACCTGCGCAAGCTACCTTTTTGGGCATCCCCATTCCC +GAAAGGCTGGCGCGGCCCTGCCGCGCTAGTCATTTGCCAAAACGTCAAAT +TGGGTCATGTCACGATCCATAATGCCTTGAAGGGTTCTTCTGCAACAGTC +CTAAAAGAAACTTAGCACTCTGGTTGAGGTATAGATGCACCATGTCCCAA +AGGGTCCTGCCATGTTGGGACATGTCACGATGCACCATGTCCTGAAAGAT +CCACGCTCGAAAACTACATTGTTCCGAGTGTTTACCTCTATTTCAATACG +AAATTTCAGCAAATTTTCATCCAAAATCATGTCATTCTAACAAGAGCCTA +TCATGTTGACTATAGGGTCGTGACGACCTGCTCGAGTTCGCCTCGCTCTC +CTGTTATCAGAATAGCTATGCGTTAAGTACGCGATGTATTGACAGTCACG +ATTTAACGCTTCAGTTTTGTAGTTTTGCTGGAAATTTTTGAGTTTTTCGT +TTTTTCTTGGCTCAAATCGAGTTTTGCTTTTTTGACGATTAAATAATTTA +TTCAAACTTAGCGCATTTTTTGACTGATTGTGAGACATGATGCATCGTGA +CAGGGCTTAATCGTGGCGAGACCCTCTAGTACAAAATTCTTTTAAATATC +AGTAAAAGCATTATAATCCATGATTCTATACTTATTTTATGGAATTTTCA +GCCTTAAAAAAATCTGAAATTTACGATGCTAAAATCTACTCAAATTATAG +TTTCAATCCAAAATTTCTCAGAAAAACTAAAATTAGCATAAAAATGTTTT +GTCTGAAATAGCCCTAGATTCAAATATCCCTAACACCCCAAAAAACACCA +ATGTACATCTCCTCTCCGTAAATATGTAGTTTTACAACCGCCTCTCTGTT +GACTGGGAGCCATAAATGTAGATATATTATCTTTCCAGATCGCCTGCCGG +CCCCTCCCACCTGATTGTAAAACTGCTCTTTGCTGTGGCGTTTTATCGAC +TTGTTTTTCTTATATATTCCATTCTACATACCTTAACACATTTTCTTGTA +TATTTTCTATACACTTTTTTAACTATAAAAAAATGCAACTCCTTTTTCTT +CGATTTCTTTTTATGCAAATTTTTTGGCTTAAAGGTGGAGTAGCACCAGT +GGGGAAATTGTTAAAAACCACTCCTTTGGTCCGAAAAGTACCGAATATCA +TAATAAAACTTTTCAATATTTTTTTGAAATTTTTTTATTCACAGTCAAAA +AGTGACAATTACTCAGTTTTTGCCACTCATAATTTTGGAAGTCGACCAAA +ATGTTTTTTCTAGATTTTTTATAATGTAATTTTGTTTTAATTATTTGTAT +TAAAACATTGTAGGACAAGACAGGGCCGCAACATAAGATATTGCTTTGAA +TTTCCTCAAAAGCTCATATTTTTCAGAATTTTGGCAATTTGCCAAAACTT +GGTATTTAAAAATTGTTAGAGATAACTGTATTTAGACAAAACATAGAACA +TTTGTATTTCAAAATAGTTCAAAATTCTAGTTTTTGAAATTTTGCGGCCA +GACTGACCCCCACGATGCACCATGACAAATTGCAATTTTTTTTTCAAAAA +TTGTTTTCCAAAGGGGCGTGTTCCAAACATCTGACCCAAGTTTTCCCGTA +GTTCTTCTCTCCCCCAGCGGGGTAAACACTGCACTTTACGACTCCGCCCA +GTGCTTTTTTTTTCGCAGAAACTGAGAGAGAAAGAAACATCTGCGTCTCT +CTCCCCCAGTACGCTCGTTCCCGCCCCCCACCTCGATCTGCCAGACCACA +CCGACCTGATTCGAGATTCCTTTTCTTATATGTATATGTTTTTGGAGAGG +TGATCTTGTTTTTTTTGTTTCTCCTTTGGTTTTGTTCTCTATGCTCTGAA +CTTTGGTCTCCTACTTTTCTACAGTTTTTTTTTAAATATCCAAATTTTTG +AAATAGAGGGTTGATCTACATGACCCCCATGCTTAGTCTACTATAATGCT +ATATCTGATGTTCCTCCGAATGGCCTGGTAGGTGAAGGCTTTTAGCCCAG +TGAGCCGGCTTACCAAGTCTAGGACCATGGTTCTTACAACTTAAGGCCCA +AAAAAAGCAGGCATCTGGCCTAACTTCCCCCTCACTAAATCTGTAGTAAT +ATATAATTTCTATCATACTCCATCTTTTTTTTCTACCTCTTATCATGTTG +TTATTGAGCAGCAACGCCCTTATATTGTTTGGTATATATATTTGATATAA +AACCTCGTAGTAAATTTTATTTTACACAACAACATTTATTATTTACTTTT +TTCATACTATTTTTTTTTTGCAGAACGAAAAAAAAATGCTATTCACAATT +GAGCAACTGGAGCTCATCAAAAAGCTGCAGCACACCGGGATGTCATCCGA +TCAGTTGCTCAAGGCTTTCGGCGAGCTGGAAGTTCCAGAGCAGCTTCAGA +ATAACAACACAATTGCCGCAGCCCTGTACAGCCCACTCCTGGTCCAACAT +CTCACAACACCCAAATCAGAGACTCCAGTCAAACTCACCGTGCAGACAGT +GCCGACACCTGTGAAGTCAGAGCCACAATCTTCAAATTGCTCATCACCAT +TTGAGCATCCGATATGCTCGAATGCTCCGCGGCCGATTAGGAGTCAGCGA +ACGCCGATGAAGGAGATTACCACACTGGACGATCCGAATGAGCTGGAGGA +GTTTATGAAGCAGGGCGAGGAGGCGTGCATTTTGGATATGAAGACGTTCA +TCACACAGTACTCGTTGCGGCAGACTACGGTAGCAATGATGACAGGTTAG +TTCCCAAAAAAGTGTAGTGGAAGAGTTTTTTTTCTAAAATCTAGGCCGTG +ACCAGAAATAAATCAGAATACATCCCCGGCGCCTAGATTCCTAATCTCTG +CTGTTAGCCACAGTGCAATTGAGTATTACTGTAGTTGATTCCTTCTATGA +CGTCATATGAAATAAAGTTGGCTAAAGGGAAAAGGGGACTCTGGATCTTA +GGCGAGCAATTCTCTGCAGCCGGCACCAGAATCGATCCCCCGGTGCCTGG +ATATCTATCCTTCGCTGTTAGCCACTGCGATATGCCCCACCCGCGCTGAG +ATCGAACCGAGGCGTCTGAATTCCTAGGCGAAGTTGCTACCCACTGCGCC +ATGTCAATCTTCTAAATTTCCAGGAGTAAGCCAGCCGTACATTTCAAAAT +TGCTCAACGGCAACCACCGTGAACTATCGCTCCGTTGCCGTAAGAACATC +TACTGTTGGTACCTGAACTGCCGACGTCATCCCAACAAACTCGCTGCCTT +CCTCGCCGATCCGACAACTCGCCTCGAGACGAATGGAGATGGCGAGCTGA +TCCCACAACGTCGAGAACGCTACGTGTTTCGTCCAATTCTGATCCGAATG +CTCGAATCGTTCTTCACACAAACGCCATTCCCAGATCTTCCACGGCGAGT +CGAAATAGCGAATGCTTGCAATCACGTTCTGAAGATGGATAAGAAAGGTG +TTGGGTTGATGCCAAAGGAGGTGGTCAGCCCTCAAGTCGTTTCGAATTGG +TTTGCAAATAAGCGGAAGGAGTTGAGAAGAAGATCCGCTGAAGCTTCGGC +CGCCTCCACCTCGTCCGCTTCGTCTTCTGCGTCATCGACTGCTAATCATG +ATTCTGTCAGTGTGTCCAGCATGAGCCCTCGCGATGAAGAGGTGAGAGTT +TTAATTTCTCGGCCACGCTGTACTCTGGGTGGAAGAATTTTTTCTAGGTC +TTATAAGGAATCGCCCTCCGGTTTTCCCACAAGTTAAGTCATAAACATGT +ACCATCTAGAGGTTAAATTTCTGGAGTTTTATTTATTTGAGAGTGATGGT +AAACCTGTCAGTCCTTGGCAAACATGTGTCTGTTTGGTCTCAAGGTCTAG +GTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTAGGTCTTGGT +CTAGGTCTAGGTCTAGGTCTAGGTCTTGGTCTAGGTCTAGTTCTAGGTCT +AGGTCTAGGTTTAGATCTAGGTCTAAGTCTAGACACAAATTTCTAGGCCA +CGAAAATTTCTGCCGTGGCCTAGGATTTTTTAGGCCATATTCTAGGCCAT +GATCCAAAAAAAACTTTCCCTGTCTCCTCTAACCCATTTTTTTTGCAGAC +AAGCTCCCGTAACACAACCCCGGAGACAGCAATCTCCCCGTCACCAGCAG +TGTCCACTTTTGAAGTGTCCCGCCCGTCTGCCATCATCTCTGCCACGTCA +TCAACAACCTCGCCAATCTCAATTCCAGCAACAATCATTCCATCAGTATC +GCCGTCAGCTCTCGAACTTTTCGCCATGGCCCAACAGCTTGGAGTTCAGC +TTCCGGTTCCATTTCCAACATTGCCAACACACTTTTTCCCGTTTCAAATG +GCTCCGTTCTACGGGAACCCGGCTTCTATTTTGAAGTCTGAGTGAAGCAT +TTCTAATTTTCTTTTCTTCTTTTCTACACCAATATCTTTTTTCCATTTAT +TCAACTTATTCTTCATCCCATGACACGAAAACCTCAATTCTTTCATATTA +CAAACGATGCTCCGTTTCTTACGCCCTGCCCCACACACGCCCCGTCGTCC +AAAAATCAATCAATAATCGATTTTTCATAATATTTAATTTGTTTTTTTTG +TGTTTCACTGCTGTTTTAATATTTGAAAAGTACGAGTTTCTTCAAAAACA +TTTTTTGAATAATATTTGCTTCACACTCCACGCGTTTCGTAATGTATCGC +TTGCCCTGAAATTTTGTTGGAAATTCCATTTTTTGTGCAATTTTTGTTAT +TTTTCAAGCGAGAATAAATATTTTCTAGTTCTAGAATTCAATGAAATACT +TTGCAAACGCGCCCCATTGCACTTGACCGAGGGGTGAAACAAGTTCAGTG +TTTTCAAGATATTTTTTTTTAAAAACTTGAATTTGGAACAATACAAAAAT +CTGTAAAATGCAACAGTTTTCCAAATCTTGTCCACGTGGAGTACACAATA +ATTTTTCATCTATACGGAAAGATTTCAAAATTGGAATGTTAAATTATTTT +GTGGTTTCTAGGCCATGGGAAAACTAGGCCATCAAAAAAATTCCAGAGTG +ACCTGGAAGTTCTAAAACTTTGTTGAAACTTGTCCACGCGGAGTACACTG +GTAGTTTATCAATAGAGCGCAAGTAATAATCCCTTGGAATTTTCCTTTCA +CCACCCCCTCTCCATTTTATATGAGAGTTTTTTCCCTCGCAATTTCCCAC +GCTCAAGAGGGTGGCCGCCATTTTTTTTTTGAGGGGGGTCGTATCTAGAT +TTGAAACACGTCATTTATGCTCAAAATGTGCCAATTTTTATTGTTTTTGA +GTTTCTAGGCCATTTTGGTAAGTTAGGCCGCATACTGACTTTGCGACTTC +CAAGGATATGGCCTAGCTTTTTTTTCTAGGCCATATAATTTTTTGAGTTG +CAACTGTGGCCAATGTTTTTTTTGGGTTTCTATGCCACTTGTGAAAAGTT +AGGTCATAGAATAACCTTACGGTAAACGGGTCCTCACAATCAGGAATTGT +GGCCTAGTTATTTTCCTAGACCACGTTTGATTTTTGTCTTTCTAAGCCAG +GTTTGGGTCTAGCTCTAGACCTAGGTCTAGTTATAGGTTTAGGTCTATGT +CTAGGTCTAGATCTAGTTCTCTCACGTGAGAAAATTAGGCCACCTTTCCC +CCTAAACTCTATGATCTCAAAACTAAAACTACTTTCTAGAAAACTCTTCG +AAAATCATAAAACCAATTTTTTATCACTATTTTCATGCTAAAATCCAATC +AGAAATTGATCAGAAACACGCATATAAATATTACGACTATAAATTCATTT +CTTTTTTTCATTTTTCCCTCCAGAAGGCTCTTGGCGAGAAAAATCTGCAT +ATTTTTTCTACTTATATGTGTCGAGACATGTGATATTCCGGCCGGCGGTG +GCTCTGAATGAATATTCAATTGAACGAGAAATATATATTCTCTCCAGAAG +GCGTTTATATTATGTGTTGCTCCTGTTTCTGCTGTATTCGGCGTGGATTT +GGTATGCTTCTCAGTGGAGTGCAGTTGCAGCATTTTTTTTCTTCAAATTT +TGCAATACTCTCGAACTTTTTGCACTTTCAAGCCTTTTTTTGGGTTGCCT +AGAACACTAGAATTTCTGGACTATTTTGAGATTTCTAGGCCATTCTTGAG +ATTTCTAGGTCATATTGTGATTTCTAGTGCATTTTTGGGTTTCAAGGCCG +AATTGGAAGTTTTAGGCCATTTTTCGGTCACATTTTTAGGCCACTTTGAG +GATCTTGTGCCAAACTGGGATTTCTAGGCCATCATGGGATTTTTAGGCCA +ATTTCGAGTTTTCCAATCATAATATAATTTCTAGGCTATCTTGAAATTCC +TAAGCCAGTTTGGAATAATTAGGCCATCTTGGGATTTCTACGCCATTCTC +GGATTTCTAGGTTAAACTGGAAATTTTAGAATTTTGGGGTTTTAGGTCAT +ACTGCGAATTTTAGTCCACGGTTGGATTTATAGGCTATCGTGGGATATCT +AGGCCGATTATGGAATCCTAGGCCAACTTAAAATTTCTAGGCCATTTCGG +GATTTCTAGGCCATCACGCCTCCTAAAAGGCACAGACAAAGTTCAAAACC +CACCAGAAAAAAGTGTGGTGAATTAGTCAGCAACACCCCATTTTTCTTTT +CCAAAAACTAAAAAAAAAGATACCCCTGACAGATATGGGCAGAGATGGGG +GTGCGAATCCTGAAATTTCCGAATTCCAGTGGGAGCTTTTTGTGCCAGAA +AAAGTAGTGGGGGCAAGTGAGAATGTGTGTCGCCTTCCACTTTTCAAACA +CCATTTTGTCCGTTTCGCCGGCCCGAAAATAGGCTTGAAAAGCTGTGGCC +TAGAATTTTTTCTCAAAATTTTTGACGTGGAAGAATTTTAAGATTTTCGA +GGCCAAGAGGTGGCCTAGAATTCAACATTTATTGGCAATTCTTATCTAGA +TCCCGAACCCCGACCAGTCAGTTTTTAATTTCCGGTGTCTGAATTTTTAA +TTAAAAATTATTTTTGGGAGGAGCTCCTGTTTTTTTTTCGTCAAAAAATG +AAGGTGGCCTAGCTTTCTCATTTTAAGGCCACGAATTCTAGTTAATTTTT +TGTTGGCTCATTTTTTGTTTCAAAAAACGAAAGTTAGTCAAAAACTTTTC +TGCATATCAAATGCTCTTTTTGAGGTTTTTTCCTGCAAAATTTTTCTAAG +AAAATTTGAATTCCCGCCAAAATTTTTCTCAGAAAATTTGAATCGCCGCC +AAAATTTTTCTCTGAAAATTTGAATCGCCGCCAAAATTTTTCTCAGAAAA +TTTGAATTCCTGCCAAAGTTTTCACAATGGGTCTCACCACGAATGGTGAC +AGACCCCGCCCACAATTCTCAGAGACATTGGGTGTGTTTTAGACCAAAAA +AATAGTTTTTTTGACAAAAACAATTTTCCAGCAAATACTTGATCAGTTGT +CATTTGTCTGTTGAAAGTGGAAAAAATAAAACATCTTTCCTTTTTTCTGC +TTCTCCCCCTCCTCGTCCTTTTTGTGCTCAAAACTCAAATGGCTCATCTC +AATTGCATGACAAATTAGCAAAAGATGAGAGCAATTTTTCCCTGTTTCTC +TTTTTTTTCCTCCGTTTGGCTCCTCCTCATGTCTTTTTTAGTAGTTTTCA +GAGTTTTACTATTGAATGTTCAAACTGGCTAAAAAATTTTGATTTTTTTT +TCTTTTTAAACTCTTACGAAAATTTTGATATAGGTTAGAAGCCTAAAATC +GACGGCCGACAGCGTTTACATTTGTGGCCTAGACTTCCAAGCCTTGGCCA +TGGCAAAAACTTGTTTAGCCTACCTTTTCAAATAGTGGCCTAAAAACCCT +ATACTATTTCTGAACTAACTGTTTACTCAAAAGAGAAAGTTAGTGGCCTA +ACTTTCTGAATGGTGGCCTAGAAAACTCAATTTTGGCACTTTCATGACCG +GTCATCAACCTGACATTGATGGCCTAAGTTTTAATGAGTGGCCTAGAAAA +CCAAAATATGGCCATGCGCTCAGCATGATCTAACTTTCCAACTCTGCTAT +AAATTCCTTGGGGGAAACCTCGGCCATCACGGGTGGCCTAGAAAACTGAA +ATTCGGCCAAGACCCCGTAATTCATGGCCTAACCTTTTAAAAGGACAGCG +TTTGGCTTTGGTGGCCTAGTTTTTTGTGGCCTAAGTTTACAGAAAAAATC +CTCAGCCACAACCTTTACCCTATACATGAAATCACATAAAAATGTCCAAA +TATTTTCCAATTAAATTTCCAATTCTCCACCCTTAATTCTTCATTTTCTT +TTCTTCTTTTATTCCTTTTTCACTCTCTCATTCTGAAACTAATCTTTTCA +ATTCTCAGCTTCTCTTTTCTGGTGTGGCTCATTTTCACTTTGCTCCCGCC +ATTTTCAATAGGATTATCCGTGCACACACACACATGGCTCAGTGAGCAAC +ACCAACAAAAAAGAGCATATATAGATATACAACGATATCTAACTAGTTAC +ACAGGAGCTTCTGTTGTTCTTCTGTGCCCCTCCGAGCCGAGACAAACTTT +TGGAAAAGAGCAACGCTTCTGGAGCCGACATATTCGAGAAATCCCGGAGA +CAATTGAGACCACTATGAGGAAATGATGGTCGAGGAGGAAATGAGAGATG +GCGTTGCTCAAAGTGCGCGACGAATGCACCAAGTTGGTCGGTTATCAGTG +AGTTTTTGTTTTTTGTTGGCCGAAGTAGAGATAACTAGGCCACCTAGGTA +GGCTGACGATCTTCAGTTTGCAAATCCTCTTCCACCGCACTTTTTTGAGC +GATCTAGGTTTGCAAAAGGTAGGCCGCCTGGTCCACCGTACCTGTCATGA +TGGCAGAGGTCTGGGAAAGCTAGGCCACCTGTCTGAGCTGATGGTCTAAG +GTCTAAAGTTTACCAAAAACTCTTCCACCGAAACTTCTAGGGCGACCAAG +GCTTGCAGAAGCTAGGCCACCAGACTTGGCTGGTGGCCTAGAATTTTCAA +GAACTCTTCCATCGTAAATTATTAGAAAGCCGCGATAGGAAAAAGCTAGG +CCATCAAATTACCTTAGTGGCCCAGAATCTATAAAAACTCTCCCATCGTA +CTTGCAAGGACGGCTGAGCTTGGAGGAAGCTAGGCCACCAGAATAGGCCA +GTGGCCTAGAATCAACAAAAACTCTTCCACCGTACCTCCTACAATGGCCG +AGGTAGGGAAAGATGGGCGCCAGGCTAATCTAACTTTCCTAGACTGACCT +AAATGGGAGAAAACTAGGCCACCGGGTTTACGGAGTGGCCGAAAATTTAC +AGAGACATTGCCCTGACTATCTGACTGTTTTTTTAGCGAAAGAACTTTCA +TATTTTCTAGGCCAGGGGCCCCCTACGCCCCAACACAATCCAATTTTTTT +TTGCAGATTTCTAAACTCGCACATTTGTCTCTGCATATCACTCATCCAAC +TTCTCGTCTGCTGCTGGGCCGTTGCTCAGCACGTCAACTCCTACATGACG +CACAGTAAGGTGAGCCAGAGTTCATTGGAGCGAATTTGTAACCAGAGAAA +ATTCAAAACTTAAAATTCAGATCTTAAAATGTGATTTTCTGGAGGGGAGC +CTCCCGCTGGAGGCCGTGGACGCTGTAATTTTCGATATCCGACTTTTCCA +TTACCTATGGGGCATTCGAGGATGTGTGGCAGAGTATTTGGATGGTGGTG +GGTACTTTTAAGTTTCCCACGAATCTTTACATTTTTCAGGCTTCGGGCGA +CTTTTGTGGTGCGTTTCCCACTGCTTAACCCTGGTTTTCTCCATTCCGGT +CACCTTCATCTCCCATCCGAAACCCTGTCTCTTTTGGCCGCTGCTTTTTC +AGGTGAGTTGGCTGAAAAAATTTGGAAAAAAACTTTTTTTAAATTTTTTC +CGAAAGGCGCAGTGGGATTTTCCACGACTACCACTCACAACAGCATGGTT +CGAGTCCGCGTGGGTGTGAATTTTTTTTCTAGTTTTTTTTTGAAGTACGG +AAATTGTATTTAGCCTTGAAAAATTCTAAAATAAGCAAACAAAAAAATCT +CCGATCAAAAACCAAGTAATCCGTCTCCAAAAAGCGCAGCAACGTCAAAT +GGTCCCACGGGGGGCCTGAAACGACAAATTTCCTGACATTTGACGGGTTA +TCCATCCGCCACCCTCTCTTTTGAAGGAACATTGACTTTTTCCGTTGAAA +TGGATAAAAAAATTGAAAAGAATTAGATAGATTCGGGAGAATGAATATGG +TGGCCTAACGTGGTGCTTGACCCATGGCCTAGAAAACCAAAACTCGGTCA +TCACCCTGATTGAGTGCCCCTTAAGAGATTAGGCCACGTACGACGCAATC +CTAGGCCACCAATAGTTTTCTCGGCCACAGCCACCCCAAACAAAAATCTG +AACTTTCTGATCCTTTACATCTGTACCCACTGAACCGTTTGTTTATCTTT +TTACTCGCTCCACGGGAGCAGAACTTTTTTTTTGAAATTCCACAAAAGAA +TGGGACAGACACTAGTGTATTTTGTTTTTTATTCAGACATGAGCCAGACC +AGAAATAGGATTGAATCTCGGATTTCAGAGCCTGGAAAAAATCGGAAAAA +ATCGGAAAACTGTGGGAGAACTGAGTTGGGTGGTAAATTTGGCAAATTGC +CAAAATTTGGGGAAATTAACTTTTTCGGTAATCTGTAACTACAGTTTTCC +TAAAAATGTATGAACCTTTTAGTGATTCTGCATAGTTTTTCAGGTCTTTA +AAATTGAACCTACAGTACCCCGTACAGTTCAGAAGATTGCAAAATTCCAA +GTTGACCACTTTTAAAGCGTGTATCTCGGCTGATTGGGAAAGTATCGGAA +TATTTTAAAATACAAATTTATTGTTGGAAAATTTTTTTTTTACTTAAAAT +TAATTAAAATTCAGCTTTCAAAAATGAGCAATGTATTTATAGATCCCATG +CAACTTTGAAATTTTGTATATCCGTTCAGTGTAATGCTATCAAAAAATTT +TCAACTACAAAATTATAGTAAAATTTAAAACAAAGAAATTGTTAGTTGAC +AACTTTTTAATGAAATAAAGTACAACCGAGATATGAGTTCTCAAAGTTGA +GCTACTTTATCGGCAACCACAATATAAGTCGCCCCCGTACAATGCACCAT +GTGGTAGAAAATTTCGGTTTGATCTACTTAGATCTACAAAAAATGCGGGA +GAAGAGACGCAGAGTTTTCTTTGCATAGCTAAGAACGTGCTGACGTCACA +TTTTGTTGGGCAAAAAATTCCCGCACTTTTTTGTAGATCAAACCGTCGTG +GGACAAACTGGTACCTCTTCGTTTTGTTGGTATGAAAATTTTGAAACTCA +CTTCGTTTTGTTGGTATGAAAATTTTAAACTAGAAAAGCCAAAGTTGAGC +TAGGCGCTCAAATTTGGTAGCATTTACTTTTTTCAACAAAAAAATAGCTG +GCCGAGCTTTCCATTTTTACGGCCACGTTGCAATAAAAATCCAGGAGGTC +CATGTCATCAACAAAAGTGCAAGGATGTAAAACAATTACACCGAAACGTT +TGTCGGGAACTGCTTTTTCAAAAAAAAAAGGATCTCTCCGAACACATGTC +ACCCCCAGGGTTCTAGCGTCTCCCTGACCTCGCGAGCTATTTCCTTGAGA +CATATCTCTCCGAAACCTTTTGTAATGGTTGTTTCATGTTCTTCTTCATC +TTCTTCTTATTCTTCTTGCTGGGATAAGCAGTTGAAGAAAACGAAAAGAA +CACATAAAACACAGGCACACACACACACACATACACACCGTAATATCATA +TAAAAGTGCGTCTGCGTCTCCCAGAGCGCCCTGGGGGTAAGGAACGCGGG +CGCCCGCAAGGAAAAAGTGCAAAGAAATTAGAGAAAAAAGACCGGTCTCT +CACTCACTTCTCGATCCCTTTTCTTCTCTAACTATAAAAAATGTGTGGCC +TAACGAACGAAAGCGAAAAAAATCATCGAGAGAAGTAGTGAGAGAGAGAG +AGAAGAAAGAGTTTTTTTGGACGCCGCCGCAGCTGCCAAGCATCAATAAT +GACATGCTGGAGAAAAAAATTCCAAAGTTTAAATGTATTGGGGATCAGAA +GCCTAGACCATAAGCCCCTTGTAGAGTTTTCTCGGCCATAGCCTTTTTGG +TACGGTACATATACATAGAGACTTCAGATTGGGAATTGCGAATCTGTTAG +AGTAAGAATAGGCCTAAAACATTATTGGGCCTAACGGTGACGGAGACTAG +GCCTTGTTGGGAGCTTAAACTATGACATTGCCTAGAACGTTGTTCTATCT +TGGTTATGTGGTGTCGGGCTTTCATGATCAGCTCCTCTACTTTTGTCCAG +AGAAGTTTTGGACTTTTTCTATGGGTGCTTTGGGCTCTATTGCACAAATA +GGTGATCTTGCGCACAACACAACGTAGATCAAATTCTTGTCTAGGCTCTG +CAGGCTCCTGAGAGGTGTTTTGTACAAGCCCAAAGCAAAAGGATCTCAAA +ATGTTTACAGGACTTCAAGCAGAGGATTTTTCGATGATTGCCAAAAATTT +TGGAACTTTTATAGGCTTAAGCTTATGGTTATGTTTAGGCGTAGGCTTAG +GCTTAGGCGTAGGTTTAGGCTTTGGCTTAGGCCTATGCTAGGCCTAGTAC +CATAATACTATTCTTACCGCCGCGCCTGATCAAACCAAAGAGTAGGTCAA +CAACCAATATTGACTTGCACTTTTTGCACGGTTAACTATATTACGCATAT +GGCCAATTTTGTTAGGGAGCATTGATTCATGGAAAAAATTTCGGAATTTA +TGAATGTTCAATTAAACTGGACTACGACAATTATTGGGTTCAAACATTTG +AAAATTTTTTGGCCGACGTCGGAACGTCTCACTTTTTCCTGATTTTTGTA +GTTTTTCCTTTTTACCGAATTTTTAGGAATATCTGGGAATTTCTCGTTTT +CTGATTTTTTTTCAATTGTTTTTAGATCCCCCAAGCCTAAGCCTAAGCCT +AAGTTTGAGCATAAGCATAAGCCTAAGCCTATGCCTAAGCCTACGCCTCA +GCCTAAGCCAAATGCGGAGCCTAAGCCTAAGCCTAAGTCTAAGTCTAAGT +CTAAGTCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTGCCGGAGCCTAA +GTATAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTATGCCTAAGC +CTAAGCCGATGCCTAAGCCTAAGCAAGTTCCGACATTTTCGACAATTATC +TAAAAATCCTCTGCTTGAAGTCCTGAAAATCTTTAGGGATCCTCAAGTTT +CGAGTTTGTACGGAACGGCCCAAACGCCTCTTGGGAGCCTGCAGAGCCTA +GACAAGAATTTGATCTATGTTGTGTTGTGTACAAGGTCACCGGTTTGTTG +TGCATCAGAGCCCAGAGCACCCACAGAAAAAAGTCCAAGAGTGTATAGCC +TACGGTAGTCCTTGTTTAGGAGACATAGACAGTCTCTTTCTCTAACGGTT +TTTGTTTATTCTTTTTTTTTCTCCCCCTACTTTCCGACAGACATTTTCAT +CTTCATCTCCTTCTGCTGCGCGAATTGAATGGTCTATAAGTGTCTGCGTC +TCGCCGATTCGTACAGTCTATCGCTTTGAAATCGTCACCCCCAGGCAAAC +AGGACACCCGAACACACACACAACTATCCTCATTCTCAAAAAAATGGCTT +CACTGCATAAAAGTGCAGAAATTAGAGAGTATGCGGAGATTCGGAGAATC +CAGAGAGAACACACAAACACACTCGGAAACTCATATAGTTAGACCAGAAT +GATGGCTTTTTTGGAAATTTGAATTGGAAAGGGGTTTTTGAAAATTGGTT +GGAAGCATTTCAGATAGATTTACATTGAAAAAAATTAGCAGGAGCACCTT +TTCCATTTTAAAAAAATTTGTTGGCTTTAACTTTTTTCACGGATTTCCGG +CTTCCCTCATAAATTGAAATGGAAGAGTTTTTGCCGAACTAGGCCATTTT +GGCTCAGCCATATCTGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGC +GGCTCGTTTTTAGTTGTAAAACTAAATTTATTTGTCCGTGTGGAGTACAC +AACTTTCCCACGCGTTGTCCATCTGAAGATTGTCAATGGAGCGCGAAAAA +TTCAGTGAGGAAGGCAAGAACTCCGTTTTTTTTCAATACTGAAAAGTCTA +ATATTGAATTAATAAATTATTCAAACATTTAAAAACAATCATTTTTAGTG +TTTTGAATTTTTTTTTAATTTCAAATTTTTCTTTAAAACATTAAAATTTT +AAAAACATTTCCAAATTGTTCCAAATAACATTATTGAACTCGTAAAACAA +ATTTAAAGGTGAATTTTCATTTATTTCGTTAAAAAATTACCTTTTAAAAT +TTATTTTTTCAAAAAAATCTGGATTTTTTTTCTGCGATAATATTCGAGCA +GTTTTTTTCGATTTTTTTTCTGAAATTCTGTGAAATTATTAACATTATTT +GAATTAATTATTCAAACAATTTCAAACAGAAATACAACGAGTTTTTCCAT +TTTTTATCATTTTCCAAAGTTTCAGAAAAAAATTTCGCAAAAAAAATTTA +GATTTTTCCAAAAAAATTAAATTTTTGAAAAATTCTCAAACGCACGGATT +TCTGGCTTCCTTCATAAATTGAAATGGAAGAGTTTGCCGAACTAGGCCAC +TTTGGCTCTGCCATATCTGGGGTAGATTTACGGTGCGTTGCGTGTCGCGT +CGCGGCTCGATTTTAGTTGTAAAACTGAATGTATTTGTCCGTGTGGAGTA +TACGACTTCCCCTCCGACAGGCGATTATCAATGAAGCGCGAAAAATTCAG +TGAAGAAGGCCAGAACCCAAAGTTTCACCGAAAAATTCGAAATAAAAAAT +CCTGAAAAATTTTTTAATTTTTCCATAAAAATTAAAAATTTTTAAAAAAT +TCCCAAATTGTTCCCAAGACACATTTCAGAGCAGGTTTCAAAAAATCATA +TAAATTATTTATAAGGGTAACAACACAAAATTTGGGTAACAAGAGCAACA +ATTTTTAATTAAATGTTTCATTTTTCATCAAAATTACTCAATTTTCCTGT +TTCAGCAATCGGCCTATGGTATTTGCCTCCTGGTTCTTCTTCTAGCAGCT +CTTCCAAGAATTGTTGTAGTACTTGCGTCTCCACAAGCGGCTCCGTTGAT +TCCTATTCTGTTTTATCTTGTTGGCACCGCGCTCAATTTTTTTCATGTGA +GTACTTGCTCACTTTTTTATGGTCTAAAAATTGGCGGGAAATTCAAAAAG +TTAAGAGTTTCAAAAAGATCGGCATAAAATTTAAATTGAACATTTTTGGG +GATTTTTTTGGAAAAAAAAACAAATTCGAAATTCGACCCATTTTGGCGGG +AATTCAAATTCTTTTAAAAATTTCGAAAAACATTTTTCTGCAAAAAAAAA +TTTTCATTTAAAAAAAAAACATTTTAAAAAGCAAGCTTTGCCGGGAAGAA +TTCAAAAAATGTGGCTGGGATTTTGGCGCGAAATTCAAATTATTTTAAAA +AATTTTTGAGAATTTCTTGAAAAAAAAACTGAAAATAATTTTGCGGAAAT +TTGAATTCTTTAAAAAATGCCAAAAAAAAAAGATGTTTGTGCAGAAAAAA +TTTTAATTTTTAAAAAGCAATTTTTCACGGATTTCTGGCTTCCCTCATAA +ATTGAAATGGAAGAGTCTGCCGAACTAGGCCATTTTGGCTCTGCCATATC +TGGGGTAGATTTACGGCGCGTTGCGTGTCGCGTCGCGGCTAGATTTCAGT +TGTAAAACTAAATATATTTGTCCGTGTGGAGTACACGACTTTCCCTCCGA +CAGGCGATTATCAATGAAGCGCGAAAAATGCGAAGAGGAATCTGTTCTAA +AATTAGGCGGGAAATTCAAAAAGTTCAGGGTTTCAAAAAGATCGGCGAGT +TTCAAAAATGTCAAAAATATTTTTCTGCAGAAAAATTGTCGACTTTTTAA +TAAACTTTGCCGGAAAGAACACGTGGTGTCAGAGTGTCCGGTTTGATCTA +CGTAGATCTACAAAAAATGCGGGAGTTGAGAAGCAGAGTTTTCAACTGAT +TTCGAATGGTTAAGAACGTGCTGACGTCACATTTTTTGGGCGAAAAATTC +CCGCATTTTTCGTAGATCAAACTGTAATAGGACAGCCTGACACCAAGTGG +AAGAATTCAAAAAATGTCGCTGGAATTTTGGCGCCAAATTCAAATTACCA +AACGGTATTTAATACATAGAGCTTCTCACTCAACATCTGAGCTACCGGAA +ATTAACAACCTTCACATTTTTTGGTCATTACTCACACACATGTGGTTTCT +AAGCAAGTTTCAGATACTTTTTTTTTTGTTTTTTTTTGAATTAATACTAT +TTTTTGCAAAAGTCGCTTCGGGACCCAAAAAAAAAATTCAAATTCTTTTC +AGTTATACGTGTACTGGCACTGGTATTGGCACGTGAGTGCCATGTGGAAT +TCGGTGGTCCGTGTAAAGTTCGGACAGCGGCTCGAAAACGCGAATAAGCG +AAGTCGACGGGATAAGCCGATTGTGCCGAAGGAGGAGATCGATGATGCCG +TTTTGCATTACGTGCCAGCGAATAAGCCAACTGAACAGCAGAATCATGTT +CAGCACAATCATATCAGTCAAAACGGGATTCAGCAACCAAAGGTAGGTCT +ACCTACCTGCCTATTTTCCTGCCTACTCGCCTAAGTTTGTCTAAAATCCA +ACTGCTTGTCTGTTCTGCATACCAATATGCCTAGACATACCCACATTTCT +GCTCATCTTCTAACATGCCTGCTCGCCTAACTTAATGCTGTATGCCTATG +TACTAGGTTACTGCCAGCCTGCCTACTTGCCTACCTACACAAATGCCTAT +CTGACTACATCTATATCTATGCTTCTCTATGCATAAATGCCTGCCAAAAT +GGCTAACTGCGTGTCAAAGTTCATGCATGCCTGCCTACCTGCCTACGTGC +GTACATGCCTATTTGCTTACCTAAATGATTACCTGCTTACCTACCTGTCT +ACCTGCTTAAGAGCCCTACTTATTTGCCTACCCACCTGACTGCGTGTCTC +CTCTCTTTCTGCCAATCTAGGCCTACATGTCTATCTAGGCCTATATAAAT +TCCTACCTGCCTACCTGCCTAAATACCTACTTGCCTGGCTATGTCTTCTT +ACCAACCGTTTTTTTATGCCTACGTACCTGCGCGCATGCCTACCTACGTG +CCTACCAACACCTACAAATACCTGTCCGCCTTCATCACATTTTTCACTTT +CAGGTAATCCTTCCACCACCGAACCCCTACAACACCGCGCCCACACATTA +TCGACGCCGATCCTCCACAGAAGCCCACCGCTACCACCCACCTCGGCAAC +CGAGAAGCTCGGCGCCAACCCACCACCGAGTACCGGCCGACTATCCGAGT +GACGAGGAAGACGACTATGATGATACGGAAGGAGACGACGCGGATATTGA +TGATCTACCCACACCGCCACCGCCGATTTACGCCGTCCGCCTGACCTCCG +ATTCGTGGGAGAATCAGATGAGCCGCCCGTCGGGTAGACGGCGGTTACCG +GCGACTCCGAATTTGCCGAAACATGGAGAATTGCCGCAGATATTTAATAT +TCCTCATGCTAATGTTTAATCAAATTTTTGGGGTTTTATGGGTTTTGGAT +TTTCGGAGCGGAGCTTCATTTATCGCTTTAATATTGAATCAGGGGTGGTT +TTCAATTCTGGCAATTTGCCGGTTTGCCGATTTGCCGGAAAATTTAATTT +TCGGCAAATTGCCGATTTGCTGTTTGCGGGATATCAGATTTTCCGAAAAT +GTTTAGAGGGATTTTTTATAAGACGAAAACACTAAAAACTGTGTCTTTTT +GAATTTTTTCCACTTTTTCTACATATTTTCATAGAATTTGCTTACTTTTC +AAATTGCCGATTTGCCGGAAATTTTTAATTCCGCCAATTTGCCGATTTGC +CGTAAAAAATCGTTTGCCGCCCACCCCTGTATTGAATTATCCGGAACACA +GCAACACTCTGAAATTCGAGCATTAGTTAAATGTGATATTTGAAAAGTTT +TGCAAACAAAATAATTTTCCCCAGCTTTCATCATTTTTTCTTTCAACAAA +AAAAAACCGAGTGATATTATGATTTCCAATTTGTGCTATTTTGAGTTTTA +TTTTATTTTATTTTGTTGTTTTCAATAAATAAACGAATATTTTTTGGTCA +TTTTTTGGCGCTATGAAACTAAAAAATTTCAGGTAACTTAGCGGGAAGTT +CGTTTTTTTTTCATTTTGGCAGGAAATTTCATTTTATAAAATGGCAAAAA +CTTTTCGTTAAAAGTTTTTAAATTTTGAGAAAATTGACGAGAAATTAAAA +ATTTCAAATTTTTTGGCTCTAAATTAGGATTATAATTTTCCGAAAAAAAA +TTTCCGAATTAAAATTTGGCGTCTCAGTGTGTTATTCAATTAGAAAAACC +TTCAAAATATTAAGACATTTCGGAGGCACGTGGTGTCAGAGTGTCTATGC +TCCTTTAAATGATGCATTCAAAGGCGCTTACACACCTGCACGTAATCTCT +TTTTTGTCTCAAAACAAAAGGAGCTTCAGACTCTCATATCTCTGCAACTC +TGTGTGAATAACAATTGGAGCCCCAGAGCTCCCGGCTCCACACTGCCCGT +TTCCATGGAGACACTCCGATTATTATGGGAGCCACCACTGCTCGCCGAGC +AGCAGCAGCAGCAGCCCATTGTTAACCCGATGACCAATATCTATATTTGG +GTCCGGACCGCCCGTTCCCTTCAGTTTTTTTATCCGACTATCGATGTGGA +GGCCGATGGGTTCGGTTGCTTCTATGAGATTTGTTTGGAAATTGTTGGCT +TGTTGGAGGAGTGCGATAGGATAAGGTAAGCGTGCTCTATTGATAACACG +AATTTTTGTGATTTTCGGCAACATGGGATCGTGGTTGCCCAAAGGGAAGG +AAACGCGCCCCATTGATAAAATCATTTCGCAATAGAGCGCATTTTCATCA +TTTTTTTGCAGTTTTGACGAATTCGAGACCCTCTGCGAGAATAGAATATC +GGAAGTTTATGTGGAAGCAATTTTTCAAAATGCTGTGGAACAAGGAAATG +TGAGTTTTTTTGTGATTCTGATGCTAATTTAGCAAGTGCGCTCTATCGAC +AATTATGACTTTGTGCACGTTCAAGTATTTTCTCAAAGTTTAACACAGGG +TTCTGGCCTTCCTCATTGAATTTTTCGCGCTCCGTTGACAACGGACAACG +CGTGGGAAAGTCGTGTACTCCACACGGACAAATCACATTTAGTTTTACAA +CTAAAATCGAGCCGCGACGCGACACGCAAGGCACCGTAAATCTACCCCAG +ATATGGCCTGGCCTAGTTCGGCAAAAACTCTTCCATTTCAATTTATGAGG +GAAGCCAGAAATCCGTGAAGTTTAACAAATTGTGAGGTGTAGCAAACACG +CTCAAGTGACAATTTTTACTTTATGCGTCATAAATTTTTTTCTGAAACTT +AGAAAACGCGCTCTATTGCTACTTTGAACGGAAAACGCGCTCTAATGTCA +ATTTTATTTCCAGATAAACGCCCGCCTAAAGCTTCTCACCTTCTCACTTC +TCTTCGCAGGTCTCCAACAAAAAACTAAAGATCTCACAAATTCCATCAGG +TCGGACGTGGTCTTGACACGAATTTCAAAGTATTTTGGTAAATTTGAAGA +ATAATATTTGTTATTTTTTTGTTTTCCGAACTTTACAGGCCAAATATTCA +AACTTTTGTTCCAATTAGACGTGGGCCGCCGGTTACAGGACAGAGAAATT +GTGCACGCCATTGGAAATGGGCAGGTGAGAAGTTCGGCTACAAAAACGTG +ACGCGTGGCCTAGAAAGATTTGTTTTTCCACAGCTTTTTCCACAGCTTCC +ACAGCTAACGGGATGGCCTAAAAAACTCCACGGTCGTTTAGCGATAGAGC +GCACTTGCACATTTTGGGAATCTTCTGGAAGAAAGTAAACGTCACAAAAG +GCCTAGAAATCTTTATCGTGTGTGGTTTAAGAAACAATTCTCGGCTTTGA +AATTATGGTTGCTCGGGGAAAAATGATTGTTAGAAGCCGCACGCTTGCAC +GCTTGCACAGCTTGGGAATTTTCTGGAAAAGAAGTGACGTCACTGGTGGC +CTGTAAATTTTCGCCATGTGTGAATTAACAAAACAATTATGGGCTTTGAA +ATTATCGATTTTCACGGATTTTTGGCTTCCCTCATAAATTGAAATGGAAG +AGTTTTTGCCGAACTGGGCCATTTTGGCTCGGCCATATCTGGGGTAGATT +TACGGCGCGTTGCGTGTCGCGTCGCGGCTCGATTTTAGTTGTAAAACTAA +ATTTATTTGTCCGTGTGGAGTACACAACTTTCCCACGCGTTGTCCGGCGG +GCGATTGTCAATGGAGCGCAGAAAATGCAATGAGGAAGGCCAGACCACGT +GAAAATCAATAAGTTTTTCAGCAAAAAATGAAAAATGAGGAAATTTCGTT +AATTTTAGTTTTGTTAGCAGTAGTGCGCGCTCACATAGTTCAAGAATTTT +TTTTTGAAGAAAAGTGACGTCACAGATGGCCTAGGAATCTCATCTATGAC +GTCACTTCTCTTCCACTTTATCCTATTTTCAGGGCTATGAATTCCTGGAC +ACCCTATTTGAGGGAACAGTAAAGCACAGACATGGAAACTCGAACCATCA +CGGCGTGCGCCCCCTTTCCCATATAATCCCCCAAATTCTCGAAAAAGCGA +GCAGTATATCCCTACCATTTTTGTGCAATGAAATCCGCCGACACCTTATC +AAAGACCCGTATCATATTGATGAGTTCTCAACTGACAAACCTGCTCAAAT +ATTTTCGACGGCTCGCCGAACGACACTGGCACATAATAGTCGACGGGTGG +TACACTTGCATTATATCAATCGAATTGAAGTGCTGCGGAAGGATGAATTT +GCGAATGTTCACCTGAGAATTTGTAATGATAAGATTAAGGCGTCGTTCGT +TTTTGTTCCGTTGAGGTGAGATTTTTTGGCCGAACTTTTTTTTGTTGCTT +TTTTTGAAAAATTTTTAAGAGATTTCATTTTTTTTTACAATAATAGAAAA +ATCAGAAAAAATATTCACGAAACCAATAAGTGGGCGGAGCATCAAACTGG +CACGCTCATTTTCCGTAGATCGTTTCTGCCAAAATCGAAAATTTCTTGAG +CTTTCTTGAAAAATAACGCTAAATTTAATTGTGAATTTATTATTATCTCG +AAAAAAATTATCAAACAGTCGAAAAGGGGCGGGCTTACATTTTTTAGCCC +CGCCCACTTTTAGATTTGTTTTGTTGAAAAATGTCCAAAACTGAGTTTTT +CTCGGAAAATTTGAATTCCCGCCAAATTTTTTTCCAGAAAATTTGAATTC +CCGCCAAATTTTTTCCAGAAAATTTGAATTCCCTCCAAATGTTTTTATTT +TCAGAAAATTTGAATTTCCCGTCAAAATTTTTTTCCCAGAAAATTTGAAT +TTCCCGCCAAAATTTTCCCAGAAAATTTGAATTCCCGCCAAAATGTTTTC +CAGAAAATTTGAATTCCCGCCAAAAAAAATTTTCTCAGAAAATTTGAGTT +TCCCGCCAAAAAATTTTTTTTAAAAGAAAATTTAAATTCCCGCCAAAATG +TTTTCCAGAAAATTTGAATTCCCGCCAAAATTTTTTCCAGAAAATTTGAG +TTCCCGCCAAAAATTGTTTTACTGAGAAAATTTGAATCCCCCCCCCCCCC +CCCCCCCCAAAAAATTGTTTTACTCAGAAAATTTGAATTCCCGCCAAAAA +TGTTTTTTCTAAGAAAATTTTAATTCCCGCCAAATTTTTTTTTAGAGAAA +ATTTGAATTCCAGCCAAAATGTTTTCCAGAGAATTTGAATTTCCCTCCAA +ATTTTTTTTTCTCAGAAAATTTGAATTCCCGAATTTTATTTTTGAAAATT +TGTGTGAAATTAAATTTTTGGGAATATTCATTGTGGCCTAAGTTGCTCCA +AATGGAAGAGTTTTTTAAAAATTAATTTCTCGTCCACGCGTCAATTGTAT +GCAAGAAATTCGAATATTTTCCAGATGTGAAACCGTATTCCTCGACAGAC +TTATGTACACAAAATGGATAGTTCTTGGCGCAGTACGCGGCATTGTAATT +GTTAAAAATTGTCAATCGACCCGAATTTCGGTGAGCTGCGACCAGCTGAT +TGTGCTCGATTCGAAAAATATCGAAATCTACGCCATGTCGCCGAAGAAAC +CAATAATTTTCAACAGCTCTGCGGTAACTTTTGCCCCATTTAACACGATT +TACGAGGTGAGTTCGGTGGGGCGCGTTTGCATTTATGAATTCGAAAATTT +>CHROMOSOME_II +CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC +TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA +AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAG +CCTAAGCCTAAGCCTAAGCCTAAAATAGTGACTCTGGCAGTTCTCTAAAA +TAAGTGACTCTGGCAGTTCACCAAAAATTGTGACTCTGACCGTTCACCAA +AAATAGTGACTCTGACCGTTCACCAAAAATAGTGACTCTGACCGTTCACA +AAAAATAGTGACTCTGACCGTTCACCAAATATAGTGACTCTGACCGTTCA +CCAAAAATTGTGACAATGACCGTTCACCAAAAATTGTGACTCTGACCGTC +ACTATTTTTATTGAACTGCCAGAGTCACTATTTTTAGTGAACTTCCAGAG +TCACAATTTTTAGTGAACTGCCAGAGTCACTATTTTTAGTGAACTGCCAG +AGTCACTTATTTTGGTGCACTGGGGTGGGTCACGCCCCCAGTTCTCAGTT +ATGGGTACTCTGATCCACTCGGGACCCACTTTATCGTGTTCCCCGTGCCT +CATTTACCCTAGAGCTTCCTCCTTTACCTCTCCTCTCGCTATCTCTAACA +TTCCAATGGAAACTCCTATTTGAATTACCGCCACCGATGTGCCCGACGCG +ACTTACTGTTAGCCCTTGTTTTGCACAAATCTGTTGGCTTCCATATTTAA +AAGTTAATTAATGACCCAATGTTCTTTTTTTCTCTAAATCTCCACAAGAT +GTTCTGTTTTCCCTACTGGACACTATCGTTCACTGCGTCTCACCAATTCA +CATTGTCTCTACTTTACCTTTTTTGTCATAGTACACGTTCGCCAACGGTG +TCGACGGCCAAATGCTTTGGGCAGCGTTTGCTTTTTTTATAATTAGTTTT +ATTTTATTAAAACAATAGCTCTAAAGTTTACAAGTCATTTGTTATAGGCT +AAATGAGTTATGTCTAATAAGTAATTTGAACTAGATACTTCCGTGTAAGT +GACAATGTATCGGAAAAGTCCTCAAAGTGCGATGTAGAAGTTCACATGTA +CTTTGTTTGGCATGTTAGTAAAAGAGCCAGTATGCTGATTCATTTTATAT +TCTATATACTCATGTAATATGCCCATGTAAGGTTTAATTCCAAAAATATG +AGCGTGTTCTATTTTATAATATTTTACTAAAATACCTTTCAGTTAATTGC +ACTCAAATTTGTTGTTCTTCATTCTCTCGTTATGATTTAATCTTATTGCG +TCAAGGTCATTATTTTAGGTCCATTAGTTATCGATCTGAAACATGTTGTT +GTATTTTTCTATTCTTGTGAGCTCAGGACACCTCATACAACTCCAGAGAA +AATGTGTCTCATTATTCTTGTCTTTTTTCAAGATCTAATCAATTTTCTAC +ATTAACGACGTTTTTGTCGTTCTGCTTCTTTTTTTCGTTCGTTTGTCTCG +TCCATCAGCTGTCCACTCATTTCTCTCCCACTCACTAGGCAGTGCTTTGT +TTGGTTCCGATTGGCAGCTGGCTGCAGGGCCTGCATCTCTTCTATGTCTC +TCATTTACTTGCATTCTTTTCTTCGTTAATTTTTGTTATGATATTTAAAC +GGGAAGAAGAGTTTGTGGTTCTTCTTTTTATAATCACTAAAACTTTTGGA +TAAGTAACAATTTTCTGATAAAAATATTTTCACGGCGAAGAAAAAAGAAA +AAGAAGAGTAGTTTTTGCACGTTTTCATATAATTATTTTCGTTGATCAAA +TGTTCTTCTGGAGTTTTCTAATAAATTTCTTATCGACTTTTTTTCAGAAA +TTTTTCTCAACTTGTCATGTCAATGGTAAGAAATGTATCAAATCAGAGCG +AAAAATTGGAAGTAAGTTCTTTATAATTTCATTTATATACTATAAGTTTT +CTCGATCACAGGAGAAACAAAAACAACAGACAACACAAAAAACAATAAAA +CAATATTGCTCTAGTAATCAATAGTGTTGTAAAGAGGGAAGAAAATTGTT +ATCTGTGTAGCAGTCAACGTTGATTGAGATGTTGTGTTTGACTATAGAGT +TGAAAATAATAACTTCAAACTTGCAAGTCATGACTTATCAAACACTGCCG +GAACTTATTCTGGATCAAAGGAAAGTTGTCCAACTGTAGAGTCATGTTTT +TCAAAAGAAAACACAATTTTTAAGTATAAATATTTTGAAAAAGTATGTTT +TAGAAGTATGTCAAATTAAAAAAAAAATCCTTGGTTAAAAAATGATTTTT +TTGGATATATGTGTATTTTTAACTAAAAATATATACTTTACATATATATT +TTGGCGCAGTTATTTGATCTATAAATCAAACTTTTTGATAGACATTTTTT +TATATTTACAACAACTAGGGTTGTTATGAAAACGCCTATTATTCTACAAA +CTAAATTATTTTAATCATACATTCCCCACTATCTAAAAACTAATGCAATT +TTCAGATTTTGTCATGTAAATGGGTAGGATGTCTCAAATCAACAGAAGTG +TTCAAAACGGTTGAAAAGTTATTAGATCATGTTACGGCTGATCATATTCC +AGAAGTTATTGTAAACGATGACGGGTCGGAGGAAGTCGTTTGTCAGTGGG +ATTGCTGCGAAATGGGTGCCAGTCGTGGAAATCTTCAAAAAAAGGTATTT +TTAATTTAATGTGCATTTTATAATATAAATTCTTCAGAAAGAGTGGATGG +AGAATCACTTCAAAACACGTCATGTTCGCAAAGCAAAAATATTCAAATGC +TTAATTGAGGATTGCCCTGTGGTAAAGTCAAGTAGTCAGGAAATTGAAAC +CCATCTCAGAATAAGTCATCCAATAAATCCGAAAAAAGGTATTCACAATT +TGCATGATATTGTTATAATCTAATTTTCAGAGAGACTGAAAGAGTTTAAA +AGTTCTACCGACCACATCGAACCTACTCAAGCTAATAGAGTATGGACAAT +TGTGAACGGAGAGGTTCAATGGAAGACTCCACCGCGGTAAGTGTGTTTCT +TTAAAAATTACTTCCTTTTTTCAATTGTTTGAAATTAACAAGAAACCTGT +TGGAGCGTATTTCTGAACTTTTAAATCGAAAATATCATTTGCAAAAAAAC +TTGAAAATTGAGAAACTTTTTTAAAAGTGGAGTAGCGTCTGCGGGTTTTT +TTGCCCTAAATGACAGAATACATACCCAATATACCGAATATAACCGTAAT +AAAATTATGCGATTTTTATTTTTATTTTTCATGAATGTTAGGGGCAAAAA +ACCCACATGCGCTACTCCGCCTTAAGAAGAATCAGCTGTGAGCACTATCC +ACTATACATTGGAAATTTACAAATAAAATAGAGATTAAGTAATATAATTT +TTAAGGGTTAAAAAAAAGACTGTGATATACTATGATGATGGGCCGAGGTA +TGTATTTCCAACGGGATGTGCGAGATGCAACTATGATAGTGACGAATCAG +AACTGGAATCAGATGAGTTTTGGTCAGCCACAGAGATGTCAGATAATGAA +GAGTACGTTGTTTTGCAAATTGATTAAAAGTGGAGTAGCGTCAGTTAAAA +ACTCTAACATGTCTTAGGTTTTTCAAAAGTTTGGTCAAAGTTTTGGCAAA +CTGCCAACTTCTTGAAAACTTCGTTAAAAAAATTCTTGAAATGATTTGAA +AATTTGTATTATGTTATTCTCTTATTTCTGCACTATTCTATATGGCGCTA +CTATACTTTTAATTGATTTCTTGAAAGCAGTTCAATAATAATTAATTTTA +GAGTATATGTGAACTTCCGTGGAATGAACTGTATCTCAACAGGAAAGTCG +GCCAGTATGGTCCCGAGCAAACGAAGAAATTGGCCAAAAAGAGTGAAGAA +AAGGCTATCGACACAAAGAAACAATCAGAAAACTATTCGACCACCAGAGC +TGAATAAAAATAATATAGAGATAAAAGATATGAAGTAAGTCGAAATTGAC +AAACAGTGGTTTTTGTTTAAGTTTATTGCGAAATATTCAAAATTAGACAT +GTTAAAATTTTGCGAGATAATCTAAAGATTAGGTATACAGATTTTTTCAT +GTAAAGTTACATTCATCAAAATTTTTGTGTTCACCAAATTAGACAAAAAA +TGTTAGTTACACAGTATATTTATTTTTTATATCAATAAAACCTTTTTCAG +CTCAAATAACCTTGAAGAACGCAACAGAGAAGAATGCATTCAGCCTGTTT +CTGTTGAAAAGAACATCCTGCATTTTGAAAAATTCAAATCAAATCAAATT +TGCATTGTTCGGGAAAACAATAAATTTAGAGAAGGAACGAGAAGACGCAG +AAAGAATTCTGGTGAATCGGAAGACTTGAAAATTCATGAAAACTTTACTG +AAAAACGAAGACCCATTCGATCATGCAAACAAAATATAAGTTTCTATGAA +ATGGACGGGGATATAGAAGAATTTGAAGTGTTTTTCGATACTCCCACAAA +AAGCAAAAAAGTACTTCTGGATATCTACAGTGCGAAGAAAATGCCAAAAA +TTGAGGTTGAAGATTCATTAGTTAATAAGTTTCATTCAAAACGTCCATCA +AGAGCATGTCGAGTTCTTGGAAGTATGGAAGAAGTACCATTTGATGTGGA +AATAGGATATTGATTTTATAACGTGTAATTGAGTTTTGGCCAAAAAGGTA +TGGAAAGGTGGCTGTTTAGTTATATATTTTTCTATTATTTATTTGAAACA +TGCAAAATTGAAGTGAACAATAAGTGATGTTCATGGAAATTTAAACTGTT +TTATGATACTTTTTTGAGAAATTGAAAAATCTGTTCATTTTAGAAACAAT +GTCCACATGGTTCTAAGAGCTAAAATTTTTATTTTCATCCATTTAGAGTA +CTTTCTCTTTTAGAGTACGGCCCCAGAGCGATGTTAGAAACCTGAGATCG +GTCAACACAGACCGTTAATTTTGGGAAGTTGAGAAATTCGCTAGTTTCTG +>CHROMOSOME_III +CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC +TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA +AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAAAGCGCGAAATCCTATGAA +ATTTCAAGGATTTATAACTTTTTGAGTCCGAAAAGAGTCGGAAATCAGAT +AAAAATAAAATCGGGCTTTTCGACCAAAATTAGGCCTCGAAAAGTCTGAG +AAAGCACGGAATCTATGGATTCACGGCTTTTTGATTCCGAAAAGGTTCGG +AAAGAGAAGAAAATCGATAAGAATCGATAAATTTGCAGAAGTATTGCAAA +TAAATTCCGATTTTCACTAGAATTGCGTCATTTGGGCGCAGAAAATCGGG +CTTTTCGACCAAAATTAGGCCTAGAAAAGCATGAAAGGGGTCCAAATTCT +GAGATTTCGCAACAGTTTTTGGACAAGGTTATCCCGGAAATTAGCGGGAA +GCACTGAAGATCGAAAAACTGAAGATCTTGTCGTTGAGAATCGTTCAACA +GCGTCAGTTACTACTGAAAAACTGATTTTTGAGCAGAAAATCTGCCGAAA +TGTCCGAAATCGGACGAAAATCAGTGGTTTTTTCGCCAGGAACTCGTAAA +CGAGCGGGAAAAAACACTAAAATAAAATACATAATCGACGACGGCGTCGA +AAAATGGACTTTGGAGGCGATTTTGAGATAAAAATCGCCTCTCTGAGACC +GCGTCACCGCAACTCGTGCCTCCATCTGACTCAGGATCCGAATCCGGCTA +ACGAGTATACTCGAGCCGGTTCGGTCGATGCACCAATGTTGACACCCATG +TTCTTCGGGGAGTCAGACCCGATAGGTAACAAACGTGCGGCTTACTTAAT +GACGCGCGGAGGATACGGAGCTAGTACGAGCGGTGCGACTGATGATGCAT +AGGGAATAACAGTACACAAGCTTGAATTAATCCAAGTTTATTATCGAATA +AAAGGATTAATCAAAGAAAAAAGGAGGAAAGGGCGAGCTGCATTGGGAGA +CGACCTTCCTCGACGAGAGTTGTTGAAGAATTGAATGGATCGTAGGCCAG +AGGCCTATAATAATTATTGTGTGGATTTACGGGCAACGACACTCCGGAGT +AACGCTAGTTAGCGAAGGAGCGCGGTTGCATCTGAATAGCGCATATTGGC +ACGTAATTCAAATTAGAAAAATTACTAAAATGATTTAATTAATATTTTTA +ATAGAACGAATGGAATATAATCAGCAAATGGTACAAGCGGACGTCACAAC +ACATTGCTTAATAATAAATTTCCAACTGAAACCAATAGATTCAGCCTTGA +CACAACTGATCAGAAACTTGTTATACATGTTAAAATACTCGAATTCATAT +TCATCGCCACCAGAATAATTGGGTTTGAACACTCTTGCAACTTCAACTGA +GATGGTACCGTAGATCCAGAAGATGCATTGTTGGAATGTACTTCTTCCCA +AAAGGTTCTGAGATTTAATTGATTTTTAACCTGGGCCTAAAAGTCTCACT +TACGTACATTTCTAATATTTAAGGCATTTAGTGCTGAGAAGTATTCGACA +GTGGCCTCGATGTTTTCAAAGTGGAATAAATAGTGAATTGGAATAATGTT +GAAATAATGACCAAAAACTTTACATTCTTTTGATTTTTTCCACTGATCCA +TCCGAGTAAGCTGCTCAAAGTCATCGATTGTTTCAAGGCACCACAATTCA +ATACTTTTCAACTCTTGAGAATCGAAATAGGGCAGCGTAGATATAATATC +ATTGGGTGACACAAAAATAATCGATAATTCCTTCACATGAATGCATTGCT +TAGATCTGAGGATGTTCAGAAAATATGTGGTAACGTTAAGGTCTTGTTGA +GTTTGTACAACAAATTCGAATTTCCTGACACGTCCCAGTAATATTCTCAA +ATCGTTGAAAGCTAGTTGCATGAAGTTATCTCTTCTGATTACTCTCTTTC +TTCTGTGAGCCACAATCGAATTCCCGGCATTGGTGTAAATGATTTTCATT +TTATCAATCCGCATTTCAACTCGACCATTGCATACCCAAAACGAGATAGA +ATCAAAATTAATTCCATTTTGAACAACGGCAGCTCTCAGACTTTTACAAA +TTTTGAGGTGAGTGAGTCTGAAGAATAATAGCTTGGTTATGATTTTTCAA +AGTTAGGGTACCGAAATCTTGGAAATATTTTTAATTGACTCCAAATTTTC +CCCTGATTCCGAAAATCGATGTGAAAAAAATCAAAAAAAAAATTCCTGAT +TTTATATTTAAGCTTGAAATCACGCATTTCATTTGCGCCCCGGTCTCTTT +TTCAAATTCGCGCCCTAATAAATTTGCATTGGAGCGCACTTGCATCGTGT +CATTTTCTTCGTTTTTTTCATTTATTTTAGCAGAATTCAATGTTTTAAAC +CAGTTTTATTCATTTGTGGAGAGTTTTTATCGGTTTTTTTTTGACTAAAA +TGAAAAAAGGGTCCAAATGAAAATCGAGATGAGCTAAGTCAAGCTTAAAT +ATAAACCAGGGAAATTTTTTGATTTTTTTTTTCACTTTGATATTCGGAAT +CATGGGAAAGTTGGGAGTCAATTAAAAATATTTCCCAGATTTTGGTACCC +CACCTTTAAATCAAAATAAAATCAACTAACTGATCCACTGGCTTTAGCTT +TTCCAATACTTGACCAAGGATCTCTGTGGGCATATCGGAAAGAGTAGGGG +AAATGTGATCCTGGCTGTAACAATCAAATTGCCATTAACCCAGTATTTCA +ACAAAAAAAAACTCACAAATTCATATATCGCACAAAATTAATTGCCCACC +ATTTGTCAAGTTCAGCTCCACGTTCTTCAGTCAGAGCACGTCGGGCTTCT +CGGCTGATTGTTACCATTTTCAAAAGATATAATTTCTTTAACACAGAAGT +TAAATAAAATATGTCCGATAGCAAAAAGTAGATGTGAATGAATTGAAGAA +GAACTGAGAAATAGCTAAATATCTATGTCTTAATTTTCATAGAGTTTCAT +TGTCAGATACTACAATGTTACTATTGAGAAAAATGTCAAACTGATAAGAA +TAGCAGCCAGCTTAAAATGAAAATTTGATAAGAAATTGCTGTCTTAATAT +TAATTATATTGTCGTCAACAAACAGAATTTTCACTTGCTAGTTGTTAGTT +TAAATTATATTTTGATACCGAAAAGTGTTTGAAAATGGGGGGAAACTAGA +AAATAAAGTTTTCTACATATTCCATATTTTCAGAATTGATTTCAAGATAT +GTCGGAAACAAGCCAAGAAGCTCGACGTGCACTGACGGAAGAACGGGGAA +AGGTGCTTGACAAATGGTGGGCAATTAATAATTTGAGATTCATGAAATTG +TGAGTTTTTTGGAAATACTGGCTTATTGGCAATTTGATCGTTACAGTCAG +GATCCCATCTCCCCCACGCTTTCCGATATGCCCTCAGAGATTCTTGTTCA +AGTTTTTGAAAAATTTGATTCTATAGAACATTAAGTTGCTTTGACTTTTA +CAACAAAAATATTCGGTATAAAAATGTTCTGACTTATTTGTCGAAAAGTT +TGTCGAAGTCTGAAGCCCGCCGTGGAAAAAATTGAAATTCATTTTGATTC +TATTTCGTTTGAAGTATTTAATAAAAATGTTATTATGAAATTGGATGGAT +TAAAAATTCTCTACAATGATGTCGCAAATGGTGCTTCTATAGTGGCTTAC +AATAACAAGGAAGCAATGATCAAAGGAGAAAACTTCCTGAAACTAGCTTT +CAATGATTTGGGAATACTACTGGAACGTGTGAGGAAATTCAAATTTAAAA +TCTATGGAGACGATGTACATGCCATTGCCACATTTCTTTTAAATGCTCTC +AAAGCTGATCAGTGTGTTCACGTAAAGAAAGTAGTGCTTTTTTACGTGCC +ACTCATTGATATTTGCTCAATTCTCTCGTATTTTGATTCTGAAATGTTGG +AAAGAATTGACTTGCGTTGTAATGATACAAACGCTCATTTTGAACAACTT +GCTCAAAAAAAATTCCAACGAACAAAATGTGTAGAACTTTACAAACTTTT +TAATAAAGATTTCCAAATTTTTATACAGATTCACTAAATTTCCAGAGTTT +TCCCACAAACCGACACACAGACCGACCTGGTAGTGGAGAGGACAACATCT +TTATTCAATCCAGTCAGTGAAGTGGAATTAAACTGGGCTTCAAGGAAGAA +ATGGCACAACGGAAAAGGTCGGGAGAAAAACCAAAAGTCGGAAAAATATT +TTTTATTGAGATATAATTTTTTTTGGTAGAAACATTTTTCTTCGAATTTA +AATTATATTTCGCGCCAAAAATAAGATTAAAAACCAAAAAAAAATCCGAG +TGTGGAGAAGTATTTTCGAAAATATTCCTCTAATAATACCCTTTAACAAG +GGCTATAATAATGGAATTTCGGGTGCTTGAAAATGAGTTTTTTGAGATTA +GAAGTATGAATTTTTGTGTCTGGTGTTAAGTTATTTAAGTTATATTGAAT +GGAAATTTTAAAAAAATTCTGAAAAAATATTTATAATTGTTATTTGAAGC +TACTATTTCACCTGGAAACTTCTAGAATTTCCAATTTTTTTAAAAATTTT +TTAAAAATTTTTTTATTTTCAATATTTTTCACATATGATACAATTTATTA +TGAGATTTTCGGAATTTTTTAAGTGAAGTTTTTCCCTAAAGTTTTCAAAA +TTGACTCGAATTTTCTGGAATTTTTTTTTTCAAAAGAAACACAGCTTTTG +TTTAATTTCCAGTTAATTTTTAGCTTTAACATTAAAAAAAATTTCTTTCA +TTTTTAACAAAAATTCCCCTTCTTATTTTAGAATTCAAAGCCAAAAACCT +TCAAATTCAATTTTATCTAAAACCTCCTCAAATTCGAAAAAGTGTGAGAG +AGATACGCGAGCTACGAAAAAGAGCAAAAATCTGAGTTTTTGAGCACTTC +>CHROMOSOME_IV +CCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCC +TAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTA +AGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAG +AAGAGACCAAACCGAAAAATCAATTTTTTAAACGAAAAATCAATGTTTTA +AACGAAAAATCTATTTTTTAAACGAAAAATCAATTTTTTAAACGAAAAAT +CCATAAAAAATTGTTATAAAAATTCTGGAAAAAAAACTAAAAACTTAATT +TTTGCTTTGAACATTCATCTTTCGCGAAAAAAATTTCAGCAAATAAAACC +GAAAAATACAATTTTGCAAATAAAAAATCTAAATCAACAGTAAAAAACAA +AAAAGTCAAATTTCAATAGAAAAAAAAATCAAAAATCAATTTTTACTCCA +AAAATTCAACTTTTGCCAAAAACTAACCCAGAAAAATCAATTCACAAAAA +AAAACAAATAAAACTGCAACGATGTTTGTGAAAAAAATTTTCTTGATATT +TTTAACGAATTTTTGTTTAAAAAAAATGCATTTTTGGCCATAAAATTTTT +TTTTTGATTTTTTCAAACGAATTTCCCCTCAATTTTCTTGCAGATCGACG +TGGATATTGACGACCTAGATGACGATTTTCTCTCCACAAACGGAATGGAA +CGACACGGTTCAGAATTACAAGGAGAAGTGGTTTTCACTACGACGAGTAC +TGCGAATAACAATGTGAAACGAGCCGTCGAATATTTCGAAGATGATAATC +AAGATGATGCACTAACATCCACTTCATCCGGCAACAGTACACAGAAGGAA +TCGTCTCCGTTCACAGATTTTGATGATGTTCCGCCGCCACCAGTGGCTCC +AGAAACTCCGGCTCCAGCCCAAAACCGCCGAGAATCTGCGTCCCCCGAAC +GTCAATTCCTTGATGAGAGTCACCTCGGCGGAATTGGATCTCCGTTATCA +CAGAGTACAAGGCTCGATGAGACGTTTATTGAGGAATACTCTATTGAGTT +GGACACCTCTGGGAAGTATGTGTTGGGAAAAAAAATCCGAAAATTGATTG +AAAAATTCGAAAAAAAATCCAAAAAACCTTTTTTTAATGAGATTTTTTCT +GTGCAAAAATTTAAATTTAGAGCTGAAGAATGTGCACTTCTAGAAAAACT +TATTTTAAAAAATTCACATCCTTTTATCAAATTTATTAGCATATTTATAC +AAATTGATGGATAAAAATTCCAAAAAAGTTCCAGAAACAACATTTCCTCC +GCAGCTTCACCTGGTCCCAAGTCTCCATTTGACGATGATTTTACTGATAC +AGCTGCCCCGGTAGCCCCGCCACCAGCACCTACAAAAGCTGCCGAGGAAT +ATCGCCGGCAACCACATCAGAATCCGTTTGATGAGGAAGAGGAAGAAGAA +TCACAGTTTGGAGGGGGAACTCTGTCCGGTAGAGACCCATTTGATGAAGA +TGTACGTTTTTCGTAAAGTTCGGAATTTTTAGGGTATAAATTGAAAAACA +AATGGAGAAAATATGAATACCTAGATTTTTTTTTTCAAAAAATCCCAACC +CTAATATCCACAATTTTTTTTCAGTCTGGAAACTCTAACGAAAACCAGCT +CCGCGAGAAGAAGCTCCACAAAAAAGAGCAACTAGCTCACCGGCTCTCCT +CCTCTTCCGAAGAAATTGTGGAAGCCTCAATTCACGAGGATGAGCCAATT +GTGATGGCTCAAATTCCAGAGGAGAAGCCCAAACCGAAGGCTATCCCGGC +TTTTGATAACGCCTATGACGCCGACTTTGACAATTCCCCACCACTTCATC +ATTACTCGGCGGTTCATTTGGAAACTGGGCTCTCACCGCTTGAGGAGGCT +CAGAGAGCTCTCCGAGCCAACCGAGCAAGGCATAAGCCGTCGAATGTATC +GTTGGCAGAGGAGGCGAAGCTTGCTGCCAGACAGAGATACTCGAATGCAT +CGGATATTAGAAGAGAAGAGGAGGAAGAAGTGGTGGAAGAAGATCCAGCA +GTGGTAGTTCCAGTTCTACGGAAGGATCTGGAAGTTGAGGAGGCTCCGAA +ATCGGTACGACCGCCTAGATATCGGAAGTCAAGGGAAATTGAGGAACCGG +TGGTTGTTGATCGGTTTGTTGAGGAAGAAGTTGATGAGAAGGAGGATATT +GATGCGATTTTTGAGAAATATCGAAAGGTTCGTAAAGATATTTTCGAGAA +AAACGGCGTTGAAAATTTGAAAAATTTGAACTTTTTTCGAGTTAAAAAAT +TTAAACATATAGAAAAGATATGAATCTGACAAAATTTAGAGAAAATAAAA +TGTTATTCACCAAATCGCCAATTTTTCTGCATTTTTTTGTCCGTTTTACT +TTGGTAATTCTGGTAATACAAAACTAGTTTTTTTTCAAAAAAGAATTGCA +GGAAAAATATTTTAAATGTTTTTTGAGCACTTGAGCGCATGAGATAGAAA +AACGTTATTATTATGCATTCCCTCATATAAAAGTTTGTTCAATTTTTTTA +ATTAAACCCCGCTCTTTGAGAAAACTCTGGACTCTACATGGAGACTACCT +TAATACAAATTAACTCATAAATATCGGTGATTTTCAACTAGTTATTCATA +TGATGCAATTACTGATTTAATAACTTATAATTATGTGTCAATTTCAGACG +TCTGTATCCGCCGATCCAAAATCTCACACGCCGATTTTGATGGCCGACGA +GTACAAAGAACCACAGAAGCAAGGTGAGTTTAGTTCGAAAAAAAATCATA +ACACACACCAGTAGGTTTAAAAACATTGTTAGAAAATTTGAAAAAAAAAC +CAAAAACCGTCGTAAAACTACACTTTTTCTATTGAAAATAGAACAAACAA +ATCAAATATCCTACATGTAAAATTTAAATCGAGTGGAATTAAATTCTTCA +AACAAAAAGAAATCTGCATTTAATATCGATTTCTCATTCAATTGTTATGA +ATCATAAAACATGATTTTTTACGACCTCCTCTGAATTATCTACATTGTTC +TCTTTTTCATACTTTCCATATTCTAGTATCGATAGGACTAACACAATTTT +AATAGTGAGTTCGTTTTTCAAACAATTGGGATTAATTTTCAACTGAACTA +GACTGTTTCTGAACGCTCAAAACCTTCAAAATCAATGCTTCTTCAAAACG +AAAAAATTGCACACTATAAACCTCTCACTTGAAGTGGCAGCGCTCGTTTT +ATATTGAGAAAATATATATTCAAAAAAATGCTGCTGCTTCTTCAGCTTCT +CGCCGGGCGCCGCCGCCAATAGTGAGTTCGTTTTTCAAACAATTGGGATT +AATTACAAAAAAACTTAACTGCGCAATTTTTAATTGGGAAACTTTCAAAT +TTTAACCATAACTATCAATACAGCGGTATACGAAATTTTTCTTCAAAATC +GCACCGATACTGCATTTTTCCGGAAAAGGACAAAGTCGGCTAATTGCCGT +TTTTTATAATTTTTGCTCATTAAGCTTATTCCATTAAAAATACAATTCTT +GTTTAAAATTGCTGAACGGCGAATTTTGTCTACCCGTGGTGGAAATTGCC +GGTTTGTTGATTTGCCGGAAAATTTCATTTTCGGCGTGCCGATTTGCCGT +TTGCCGGATATCAATTTGCCTGAAACGTTTAGAGGAATACAACGGAAACA +TTTGAAACTGTGCCTTTTTGAAATTTTTTCCCTTTTTTTTACAATATTTT +CATAGAATTAGCTTACTTTTCAAAATAGATGTAGGAAAATTCATATGCGT +ACAATTTTGCCAATTAAAATTTGAATTCTGAAATTTACAAAAAAATGTGC +AAAACTACTATTCGCCGAAAATTTTTGGCAAGTTGCCGATTTGCCCGAAA +TTTTTATTTTCGGCAAATTGGCGCTTTGCAGTTTGCCGGAAAAAATTACA +TACACCTGTTTTCAGCCTAACTTAAAATATGATTTACTTTGAAAAATAGG +GAATTAAATTTAAATAAAATTTTCAACTGAACTAGACTGTTTCTGAACGC +TCAAAACCTTCAAAATCAATGCTTCTTCAAAACGAAAAAATTGCACACTA +TAAACCTCTCACTTGAAGTGGCAGCGCTCGTTTTATATTGAGAAAATATA +TATTCAAAAAAATGCTGCTGCTTCTTCAGCTTCTCGCCGGGCGCCGCCGC +CACATTTACCGGCCAACCCGTTCTCTGAGGTTGTCTTGTAAGGGCGTTTT +CATGTATATTCAGATTATTATGCATGAATTTCATTAATAACGGTATCCAC +CCACGTATATTTCTCTTCTTCTCTCTTTCTGTTGCGACGGGGGATGTCGA +TTGATTACGCCACGGGCGCTAGCCTATTCCGAATGCATTGAGAAATTTGA +GACCAGATTCTGGAGTTTTTGGAAGACGAATCGTCGGCAGCGGAGCTCGA +TTTTAATTTAATTTCGAGAGCACCCGCGTGCTCTCGCCTCGACACCCTCA +AACTTCTTCTTCTTCTTCTTTTCGTCGTCTTTCACTTTTTTCCTTTTTCC +TGTCCTAACCACGGCGTCTTCCTCCAATTTTCAGTTACCACGACGTCATT +AGCTATTTTTAGTCCGAGTGTGGAGCTTGAGAATTTGAGCAATTCTGATG +TGACATTCCTGTCGTTTTTAGCGCTAATTTTCCTAAAACCTTCAAAAATT +TAGAAATTCTCTATCGTCTTTCAAGAGCCTAAGTTTTTTTTTTCGAAATG +AGTTTTTTAAAATTGATCGAAATGTTTTTAAATACTGAATATTTGGGATT +CTAGATTTTTACTACAATATTTCCTTTTCAATTTTTAATTGGACAAAATT +TCAAAATGTTAAAAAAATTCTCCGAATTGAATGCTATTTTTCTAAAAAAT +TTTTTTAGTGCCTGCACCAGTTGTCGTTGCTCAGGAGTCGCCGATCTTAA +AACGAAGAAACTCTCTAGTACCATCAAGGATCAGTGGAAGGCAGTCGACG +>CHROMOSOME_V +GAATTCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA +GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGC +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCATAAGCCTAAGCCTAAGCCTAA +GCCTAAGCATAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAACA +TAAGCCTAAGCCTAAGCCTAAGCCTAAAACATTTGGAAATTATTTTTGAT +CGTTTATATTCAAGTAGCAAGAAAGTGTCCTAGCGTTAAAAATAGGAAAT +TTTTCGCTCTTTCAGAACAGTATACTCATGTCTCTGTACCGACGATATTC +ATTTCAAAAATCGCAAAAAAAGTTTTTTTCAAAATACCACTACCATTAAA +ACATTTGGAAATTATTTTTGATTGTTTATATTCAAGTAGCAAGAAAGTCT +CCTAGCCTTAAAAATAGGAAATTTTTTGCTCTTTCAGACCAGTATACTCA +TGTCTCTGTACCGACGATATTCATTTCAAAAATCGCAAAAAAAGTTTTTT +TCAAAATACCACTACCATTAAAACATTTGGAAATTATTTTTGATTGTTTA +TATTCAAGTAGCAAGAAAGTCTCCTAGCCTAAAAATAGGAAATTTTTTGC +TCTTTCAGATCAGTATACTAAACATTCACGTGTGGATTAAAATTAAAAAG +GTAGTGTTAAATAATTAAAAATCATTTAGGGGGGAACGAAACCCATAAGT +ACTGTCATTTTTATCTTTTACCTTTTTTTTTACGTACGACGTTTTTCGCT +GTTTTCCCTGATACAAAATGCGTTGTTCTTGTTTATTTATGTTTTTCTTG +AAAATGTTATCAACACTGATAATCTGAAAAATTATAATTTAAAACTTAAA +CGAAGCTAAAATGTGGCTGTTATAATACAGCGACTCAATGAAAAACTCAA +AAAAAAGTTGACTTTGCACGCTATGGTTAAAAATGAATGAATTCTTGGTA +CATGGTTTTTTTTGTGATTTTTCGTTGAAAAATCCACACCGTGTCAGAGA +GAGCTGAAAATGTTCATTGAAAGCGCTAAAAAACATTTGAAAAAATGCCA +ATTTTTCCGTAAGATAATTCGATTTGAAAGTTTGAAAACTGAATAGTAAT +TGTGTACTTGCAAAGAACCTTGTTTGCTTTTTAGTTTATTTGATCTACCA +AAGATTGGGTTCACTGTCTGACCATTTGGGTCACTAATCTCATAAACCGT +CAAAACAATCCAACGTGGTACAAAGTACATCAAGTTTTTCACAAGTCCTA +TAGTTAGCTGCGCATCCCTAATAGGTATCCCCATTAATTTTTTTTTCAAG +AAGAATGGCAACACAAACACCCCTCTCTGATGACTCGTGTGTCAAAAACG +AGCTCACGGAACTCTCCTCTAGTGAAACGGTCTCGAGGATTGACGAGGCC +CCGAAATTTCATGTCAAAGCTGTCGTCGGGCGTGTTGTGATAAAACATTT +TGGTGGCCGGGATTGTGTTTGTGTTCAGTCAGAAAGACGCTATTAGGACC +TCCTCCCATCTTATTAGCTGTTTATCCTTCATCACAAGACATCTCAATAT +TGGTTCCATAGGTGTAGCTTCTTCTGCTTCTTCTTCTTCTTTTGTACCTA +CGTCATCATACATTGGTTACTGTCCTACCGAGGTTTGTTTCAAATTTGCA +CATTTAAAATGGTATACACCTTTAAAATAAACTTAGAAGTAAGGCCTTTG +GTCCCACTACAAAAAATTTACAGTAGTTTGGTTCAGACTTTTCTAAATTT +AATTAAGGTTATTTTTTATTGACAAAAAATATTTTAGTTCAAGAAATATG +TTATGTTCAGTGGGTTTCCTGTCATATACTTCTACTTACCGTATTTCCTC +TATTAGTCTTGCATGCAAGACTAATTTTCAATTGACCCGTAGGGGTGCAA +GACAAATAGGGGTGCAAGACTAATAGAGGCTGCAAGACTAATAGAGGAAA +TACGGTAGTTATACTGGCAAAAGCGATAGCATTTCGAGAGAAAAATATTC +TTAAATGTGCTCAATATGGCTGATACAGATAGGTTTTTCATTACAGACAG +GTTTTTCATTTCAATTTTAAAAAAATACCTGACAGTTTATCAAGAAAATC +CAGCACATTCCAGAGTTATTAGAGTATTTAGAAGTTTGCAAGTTCCCAAT +TTTGTCAAGGGATTTTTCAAAGTTTCTCAAACTTTCCAAAAAATGCAAAA +AAAAACATTCCAAAAGTACCAATTTTTCCAAAAAATTCCATAAATATATT +CAGTCCACCGAACGTTTTTAGATCTAACTGAGAGTTCTCCTGAAGTTTTT +CAGAGTTTGAAGGAATTTATAGAAGTTTCTGATGTTTTACAGGATTTTAC +TAAAGTTTCTCAAATTATCTATAAATGCCAAATCTTTTCAGAAAGTTTTC +AGAAAATTTCCGGAAAACCTTCAATTTTTCAAGTTTTCCAGAAGATTCTC +GATTTTTCCAAAATCGTTTCAGAATTTTCCTAATTATTCCCATATTTCCA +TCGACTTCTTATAGTTAATTTGATTTTCATCAAATTGATACAAATGAGAA +AATTTGAAATTTGATAACTCACGTTTCGATGCAAAAAGAGACGAAAGGCG +GCGTGATGCGGGCAGGATTTAGGCAGGCGGTAGGCCCTGAAACCGCGCCT +GCCTACCATTGAACCTCTAAGCTATTCAGTTGTATTTTTTGATATTCCAG +ATGCGTACCGACGTGGGTTCTATTCCATTAATGTGTATTCTGTCTACACT +AACGACTGGTGTGTTCGGATATCTTCCGACAGAAGATCTCACAAATTCGA +TAATTTCTGGAAACGGTGGTTATCCAGTTCCTCCGGACACTATTATACCG +GCCGATGGAGATGAGGAAGGTAAGTGGATCAGAAATTAATAATTATAAAT +TTTTTAGAGTAGGGTTTTCTTCTGAAATCTGATATTTTGTGAATTTTGCA +AAAAATTGGAAAAATCGACAACGAAATGCAAATTGTTTCGTTAAATGCAA +AATGGATGCGCACCTTTAAAGAGTAAAGTCTATGAAAATGCTTTTATTTG +GTATTACAGTTCTTTTCAAAGGCACACATATTTTTCCCATTTAACAAAAA +ATCGTCGTGACCTTATATCGTATTTTCGGCGCAAAAATCGGAACATTTCG +CGTCTGTATAATACCCCATTTAAAGGTTTACGACGCAATAATACAACACC +GGGTCTCGACGTGGCAAACGATTGTTTATTGATTTTCACGGGATTCTCGC +CTTTCTCATTGAATTTTCGCGCTCCATTGGCAATCGCCTGCCGGACAACG +CGTGGAAAAGTGTAGTGTACTCCACACGGACAAATCCATCGGTTTTACAA +CTAAAAACGAGCCGCGACGCGACACGCAACGCGCCGTAAACCTACACAAA +ATCTCGCAGACTCAAAATGGCCTAGTTCGGCAAACTCTGCCATTTCGATT +TATGAGGGAGGCCAGAATTCCGTGATTTTCCCATTTCTCACGGCCTCTCT +AAATTTCACGTTTTTCAAAATTCATCTTTTTCTCTCTGCTCTCTCACTCT +CTCACGTGAAATATTACTTTCTGAATAATAATTTGTGTTTAATTAAATCA +AATTTTATTGAAATAGAATTCATGATACACGATCTTGAGAAGAGCTCTGT +CCTCCAGGCTGCGAACTGGAGCGTAGAAAGTTTTCATATTGTTAAAAACT +GCAAAGAAATGTTCGATTCCTTGTTCTGACGTGTGATGCTTTCTCAAATA +TGGAATTAAATGACAGACAAGGAGATGAAGTTTCGGAGTGACTCATTATT +TCATCAGTTTCATTAGGAAAAACACTCTTTATTTATTCAAGGAACTGTTA +AAGCAAAACTTCAATTTTGTCAATCTCTTGGTCTAAATACGTTCTATCGT +TAGATAAATCTAACTATCTAACTGAAACGAGTACAACTATATTGTAACGC +AAAAAAGCTAAGCGCCATAAAACACAAGTAAAACAGGCTCCAGTAAGCCT +AAACTGTTTTTACTATAAAAAACCATTGTCATTCACCTACCTACCAAATG +CCAATATAATTGGTTGAAAAAAATTAGTTTAATCTCCTCGCAAGATTTTT +TTCTCCGAAATTTAAGATTGGGCGCTTAGTGATATCATAACTCTGCAGCC +ATCAGAAAAACTGAAATGTATTTAAACTGTAAGTTTTAATCGTTTTATGA +GGATTATTTCTTTAGTTGACAGTTTTTTGATAGCTTCTTTAGTTATTGAG +CTACGGGCTTCCAAACAAAACCAATCAAAAACCACTATAAACCACAATGT +CCTAAAAGTGAAATTACTCAGTCAATTTTTAACCAAATCACGGCATTAAT +GTCTTGATATCTTCATTGAACAATTTGTAAAAATCGTAAGGCGGTAGTTT +TTTGATAAATGTCATCGTTTTTTAGTAAAATTGCGTTAACCATTCAAAAA +TGGCCCATTTTTGGTGTTTTCAGGCCTAATTCTTGTTTTTGAAATTCCGG +AGCCAGTTTTTATCGAAAATTTTTGTGCAATGTCAAAAAATGACCGGAAA +AAAATTCTCTACAATCGTAAGGCGGTACTTTTTAAAATTTCGTTTCCATT +CTTCCCCAGGGATCCCGTAAAAAACCAATTTTTCGACTAGGTCTCACATT +TTGCCCTACAAGAGCATAGTTAATGTTATAAATTTGGATTTTTTGGTCGA +ATTTGATGAGGTAATATTCAGTTGTTTGTTTATTGTTGGAAAATCTGAAG +ATTTATCAGCGAATCGCCCGATTTCGCCAATTATGACCAAAAAACCCCTA +GTTTAGGATTTTCACGAATGGATGAGTTCATTGATACGCTTCCACGCTGT +>CHROMOSOME_X +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA +GCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGC +CTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCT +AAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAAGCCTAA +GCCTAAGCCTAATCTGTGCTCCAAAGCCTTCGAACTGACGGACTTGTGTC +CCGAAGTCGAACTCTTGAAGTTGTCACCGAGTTGGCTAATAAGAAAGACG +CTACGTTGTCTTTTTAGTAAGTTTTCGTCGAAATTCTGGAAAAAAAATCT +GAAAAAAATGAGAAAAATTGAAGTTTCTTGTGAAAACGTGCAGCAGCCGA +CAACTAACGGGACTGGGAAAATTGAAATTTTTAACACAGTTAAAATGCGA +TGTGCGCATAGTGGGTGAAAGGCCATAATGCGCGCACCGCGTGTGGCGAC +CACCTATTATGCACCTATCGCGAACGGTTCGCGATGGGTCCATAATGTAT +CCATGATGCTTCCACTCACGAAACAAACAATTCGAAATATATATTGTTTT +TCCGCCTATTTTTTTAACATTTTATTGCAATTTTTATTGAATTTTTGATT +TTCACTGGTTTTTTTTCTTGAAATTTTGTTTCGTATGTGGTATTTTGTAA +TAATCATAATATTTTTTTCTAAATTGTGTGTCTTTTAGAGAAAACACTGC +TCTAACCAGTTGAGGCATTTAAAAACATCATTTAAACAACATGGCAAGCA +TTATTTCGTTCCTAATAAATGGAAGCATAGTCAGGATTACTGTAGTTTCA +CATGTATTTAGCCATTAAAATTGTAATCTGAGTTTTCATCGGTATTTGCG +CATACTCAGAAAATTTTGTTAAATATCTTGTCTGTTCCTGTATTTTCAAG +AGCGAAATATCGTCAAAATCAGATTATTTCGTTGAATCTGGAAATGCCCA +CTGTTCTTCATGCCTACTCGTGTCTATTTCTCATCAGCGTTATAACTCAC +CTTTTAAATAATATTGTAGAAACAAATTTTTTGCAGCTTCTCTTCGAGCA +GCAGACTTCACAAAAACTTCATCAACAAGAAAAAACGTGAAAATCTTCAA +CATCGGAATGTCTAGGTGAAGGATGTCGGAACGGGCAAGGTTTGGAGCAC +GGCTCAGCTTTTTTAGATTTTAGATTTTAATTTAGAAACACACCACCGAA +GAGGAGGAGATAAAGATGGCTCGGCTCCAGAATGCATTGAAAGTTGTTGG +ATGGTCGAATGGATTGAAAGCAATTGTAAAGAAGGAGTTACCCGGAAGCC +CTGCCAAAAAGCAAAAACCGGCATCGGTTGCGCCGAAAATTTTGGACTCC +TCGATCGGAAGAGTGAGTTTGCTGATTTTCAAAAAATAGGATGAAAGGCT +GAATAATTTGAGCTCTCAATTGCTAAAAATATACGGATGGACAAAACTAC +GATCATCATTGGTCACAAAGTTGCAGCTCCGAAAAGAGAATTCGTCTGGA +ATTCTGGAAGTTCACAAGAATGGTGAGTACTTACCTTTCAAGTGAAAATT +GAGGAAAAATTGAGAAAGAAATGTGTTGAAAGATGCAAAAAAATGACAAA +AATTCAGCTTATCCTGCTAAAATTACGCGTGAAAAAGCATATTTTGTGCT +TGAAAATCGCAAAAAAAATGCATTAGAAAAACCGATTTTATTTAGTCCTC +CTAACAAATCGATTTTTGTAGACCTGGAGTCATCCTAGCAAACGAGGCAA +CACTGGAAGAGGACGAAAAACGTTAAGATTCCGTATGAAGATGTCAGAAA +ACCGAGTTAGGAGGAACTTGGAATTAAATTTTTGAGTTTTCTTTTTTCTA +TAATTTTTTAAGCTCACTTTTTATTCTTTTTGTTGTTCTCCCACTTAGGC +CATGTTAATAAATGTGTTTTTGTTAAGAAAACTGTCTTAAATGCTCAGGA +TCAGGTTTTATTATTAAAAAAACAAACCCACAAAGCGCACATAATTTATG +TTCGCGATGCTCGCAAAATGCATCTCAAGTTCGCGATGGACGCACAATGC +GCGCGCAATGGGCATCATTTCCGGTTCCTTTTTAACACACGCGCGATCCA +CTCCGAAAGCACTATGCGCACATCGCATTTTAACTGTGAATGAAAATTTG +AAAAAAAAAACTAAATTTGAGAATTTTTGAGTTAAAAAATTCCAAATTGC +AGAGAAATAAAAAATAAAATTTTTAGAGAATATATCGAAAGAAATTCAAA +TTTTTAAGAAAAAATCCCAAAAATAAATCATTTTTCTAGAAAAAAAAAGC +AAAAAGTTCCCATTTTGCGATAAAAATCGAAAAAATCCCGATTTTTTTAC +AATTTTCTAAAAAAAAACTGAAAAAAATCCACATTTTTCAGAAAAAAACG +CTAAAATTTTAATTTTTTCTAGAAAAAAACAAAATTTTCAATAAAAAATC +CAAAAATAAAACCAAAATTAAAAAATTATAATAATTACGGGTAAAATCGT +ATGAAATCCCGTTTTTTTTTTAATCGTAATTATTTTCAATTTTTTGGTTT +TCTCCTCAAAAAAAATTGTTTTTTTTCCCATTTTTCTTTAAAAATTGAAA +GTTTTCCAATTTTTCTCGAAATATTGACTCAAAATTAGCTTTTTCTTCGA +ATTTTTAATAAAAATTTTCACTTTCGCGACCCGTTAGTTGTCGGCTGCAC +GGTTTTCTGAAAATTGAGAAATAAAATTAGAAAAGTTGCAAAATTGAAAA +AAAAAACCGCAAAAAACTGAAATTTTCTAGGCAAAAAAAAATAAAAGAAA +TCCACAAATTTTTCGATAAAAATTGAAAAAATCCAAATTTTCCTGAAAAA +AATCCCAAAAATCCAATTTTTCTACAAAAAAAACCCAAAAATCCACTCCT +TTTCGATAAAAATTTGAAAAAATTTCGATTTTTCAAGAGAAAATTCCGAT +TTTCTAGAAAAAAAACCCCAAAAAACTATAATTTTCCTTTAAAAAAAACC +CCAAAAATCCAAATTTTTGTACAAAAAATACCAAAAAATCCACATTTTTC +AATAAAAATTAGAAAAAAAAAACAATTTTTGCTGAAAAAAAACTCAAAAA +TCCAATTTTTCTACAAAAAATACAAAAAAAATCACGATTTTCCTGAAAAA +AACCCAAGAAACTATAATTTTCCTGAAAAAAAAATCCAAAAAAAAACCGG +GAAAAAAACAAAAGAAATCCAAATTTTTCGATAAAAAAATTGAAAAAATT +CCGATTTTTCAGGAATAAATTCGGGAAAAAATTCAATTTTTCTAGTAAAA +AACCCAAAAAAAACCCAATTTTTTTGCAGTTTCCGTCACTTCTTCTACCA +CCGTTTCCACAGTAATCTCATCGAAGGCTCAGGTCGCCTACTCGACAAAA +TTAATGATACTACTGCTGCCCAACAACAACTACAAACTACAAACGAACTC +GACGGCGATGGCCCAGAAATTGCAATCGCCGCGGCCAAAGCATTCCATCC +GACTGAAAAATTCGATTTGGAAATGAATGTGGACGACGATGAAATTCTGA +AAGTATTTGATATACAAGAACAAGAGCAAATTGTGATGAAAAAAATCCGA +CATTTGGAGAATTCTGACTTACATTTCGAGCGAATTCATGTGAATTTGGC +GAAAAAAGAGCGATTTTTTGACGACGTTCAGAGCTCGGAAAATGACTCAA +GCGACGAAAAACTCGCCGAAATTTGCGATTTTTTGAGCCAAAATTGCCGG +GAAATCTCGAATGCTGCGAAGCCTCCTCGAGCAACACTTGACGAATGGAT +TCAGACTGGAAAATTCGAAATACAACGTCGTCGAGAGATCCGGGCGGTTT +GCCACGTCATCAAGGCCATCGGTCAGATGGGAATTACACTTGGCGAGCTG +TGTGGAAAATTGAAAATTGCCATAGAGCAAATTGCCGGAATTTTGGCCGA +TTTGAGCGGAGACAAGAAATGGTGTCCGAGACCTTGGATTGCGCCGGAAG +GTTTTCTTTTTTTTTTAAGGGATTTTTGGGGCGAAAAATTTGGATTTGGC +TCACCACGCGCGAGCTTTGATTTAAAGGTGTTTTCGCGGTGAGACCCGGA +AATTTTATTTTTCCTAAATCTCTCTGAACCCGGTCATGATTATACTTAAA +TGAAAGCTCACGGCGAGCTGAATTCGAATACTAAGTGTATGGTTGTTTAG +CTACAGTAACCTGACACTGAATTTCGCGGCGAGACCCGAAAATCCCCAAA +AACTCTCAAAAACCGTCTTAGAATCGATCAAAATATGTCAAGATTATACT +TAAAGGAGGACTAACGGTTCGGACGATTTTGAACGTATAGACCAAAAATA +AGCTCAAATGAACGAAATTCGTAATGAAACTGCTCAAAAATTTTTCAAAA +ATTTTTTATGGCGGTTCAAAATTTTGAAAAAAATTACACTGATTTTGGCT +AAAATCACGATTTTTTCTCATTTTTCCGTGTCACATTTGTCCGAAGTTGG +TTTTTTTAGAATTATCGTCCTTTATTACATATTTTGGTAATAAATCTCAT +TTAATTTCGTCGATTAAAGTGCATTTAAAGCCGATAAATAACCAGTTTCG +ATGATTTTTGGTTACCTATCGGCTTTAAATGTACCTTAATCGATGAAATT +AAATGAGATAATCTACCAATATATGTAATAAAGGACGATACTTCCAAAAA +AGCCAACTTCGGTCAGATGTGACACGGAAAAATGGGAAAAATTCGTGATT +TTAGCCAAAATCAGTGTAATTTTTTTCAAAATTTTGAACCGCCATAAAAG +ATTTTTGAAAAATTTTTGAGCAGTTTCATTACGAAATTCATTTAAGTATA +ATCATGAGCGGGTTCAGAGAGATTTAGGAAAAATAAAATTTCCGGGTCTC +>CHROMOSOME_MtDNA +CAGTAAATAGTTTAATAAAAATATAGCATTTGGGTTGCTAAGATATTATT +ACTGATAGAATTTTTAGTTTAATTTAGAATGTATCACTTACAATGATGGG +GTTTAAAATTCTATAGTAAAAGTGTTTTTTGTTTTAGCTGTTTTAAGTAG +GATTATTAGATATATTAATATTGACCCTATAAAAAGAAGTTTTTTTCTTA +TCTTTTCACTACTTTTTAGTATACCAGTTATTTCAATGAGAATACATATT +TGGTTTTCTTACTTTATTTGTTTATTATTTTTAAGTGGTATTTTTGTTAT +TTTGGTATATTTTTCTAGTTTATCTAAAATTAATGTAGTGAAAAGTTATA +TAGCTGTGTTTTTACTTTTGTTAAGAATGTTATATTTTTCTCCCACAGTA +TTAACTTATAGAAGATATTTAGGTTTAAGAGGTTTTTATTATAGTATTTA +CTGGTTTATTTTTTGTTTTATTTTAGTATGTTTATTATTTTTTATAAATT +TTAGTAGTTATTTTTTAAATTTTTCAGGTGCTTTACGTAAAGTTTAAAAT +TATGTTTTTATTTGTTAGATTATTTATATTTATTTTTAAATGACAACGTT +TAATTTTTATTCTAATTTCTTTAGAATTTATAATGTTGAGATTATTTTTA +AAATTTTCTTATGTTTTAGGGGAAATAATGTTTTTTTATTTTATGTGTTT +TTCTGTTATTTCAAGAATCCTGGGTATGGTAGTTATAGTAGGTAATATAA +AATTTTTTGGTAGTGATAATTGTATTTTTTAGTAACAGATATAAGTTAAG +TTTAAACTATTGATCTTCAAAATCAAAAATTTATTTCTGTAGAGATAATA +GTATAAATAAGTATGTTTCTTTTTCGCAGAAATGGTTTTTTATCTTATAA +AGTTTTCTTTCAGGGAATTAAAATTTGATCATGGTTTAAGATGATTTAAA +ATGGTATTATCTAAATTTGATTTACAGAGTAGGCAATAAAAATTTACCTC +GGCAATTTATCGCTTGTAAAATACTTGTTCCAGAATAATCGGCTAGACTT +GTTAAAGCTTGTACTTTAATTGATGTTAATTATGAAATTATTATATTTTC +TTTTAGATCTATGGTAGAATTTGGATTTATATTAGTGAATTTTCATAATT +TTAAGATTTGTTGAACAAAGCAGATTAGTACCTGGTTAGACAAAAATTAA +AAGAGCAGGAGTAAAGTTGTATTTAAACTGAAAAGATATTGGCAGACATT +CTAAATTATCTTTGGAGGCTGAGTAGTAACTGAGAACCCTCATTAACTAC +TTAATTTTTTGACTCGTGTATGATCGTTTATTTTATTCTTAAGGATTATA +ATAAAAAATTTTTAATTTATTAAAATAGATATATACCCGGTTTATGATTT +AAGAAACATTTGGCCTACAATATTTTATATTATGGATTTTAGTTTTAGTT +AACTAAATGAAATTGTAAAAGACAGTAAAAAATTCTTAATGTATTTTTGA +AGATTATCTAGAAGTGGTACAAATCATCCATCAATTGCCCAAAGGGGAGT +AAGTTGTAGTAAAGTAGATTTAGGGGAACCTGAATCTAGTAATAAAACTA +TTTTTAAATATGTTTTGAAAACATGTTTTGAGGTAACTCGTAGTTTTTAA +GAGTTAGTTTAATATAGAATTGTTGACTGTTAATCAAAAGGTGTACCTCT +TAATATAAGAGTTTAGTTTAAGTTAAAACGTTAGATTGTAAATCTAAAGA +TTATTGCTCTTGATAATTTTAGTTTTACTTATAGTTATTTTAATGATGAT +TTTTATTGTTCAAAGAATCGCTTTTATTACTCTATATGAGCGTCATTTAT +TGGGAAGAAGACAAAATCGTCTAGGGCCCACCAAGGTTACATTTATGGGA +TTAGCACAAGCTTTATTGGATGGGGTTAAACTTTTAAAAAAAGAACAAAT +AACACCCTTAAATTCCTCTGAAGTATCATTTTTACTTGTACCAGGAATTT +CTTTTGTTGTAATATATTTAGAATGATTTACGTTACCATATTTTTTTGAT +TTTATTAGTTTTGAGTATTCAGTTTTATTTTTTTTATGTTTAATTGGATT +TTCTGTTTATACAACTTTAATTAGCGGTATCGTAAGAAAATCAAAATATG +GTATAATTGGGGCCATCCGTGCTAGAAGACAAAGAATTTCTTATGAAATT +GCTTTTTCTTTATATGTTTTGTGTATTATTATTCATAATAATGTTTTTAA +TTTTGTTTCAAAATTTAATTTGAGACTTTTAATTATTTACATCCCATTTT +TAATTATAGTAATTGCTGAACTTAACCGGGCGCCATTTGATTTTTCTGAA +GGTGAAAGGGAGTTAGTTAGAGGATTTAATGTGGAGTTTGCCAGAGTAGC +TTTTGTTTTATTATTTTTAAGGGAATATGGAAGATTAATTTTTTTTAGGG +TACTTTCTTCTGCTATATTTTTTAAATTTTCAATTTTTATAGCATTTAGT +ATTTTTTCATTATTAATTTTTATTCGTAGTTCATACCCTCGTTATCGTTA +TGATTTAATAATAAGTTTATTTTGATTTAAACTTTTACCAATCTCTTTAA +TTATATTGTGTTTTTACGCAGTTATTTTTTATTATTAATCAAGTTTATTT +TTTAGACATTTTTATATTTGTTTTTGTTTTACAATTTTTGTTTTATTTTA +AAGAAAGTATATTAAATACTTTAGTGAAAAAATTTCTTAATAGGTTAGTA +GGAGTATTTAGATATACAAATACTTTACCATTAAGGTCAGTAATTTCTAT +TTTTACTTTTATTGTTCTTTTAACTTGTTGTTTTGGAGGTTATTTTACTT +ACTCTTTTTGTCCTTGTGGAATGGTTGAATTTACTTTTGTTTATGCTGCT +GTAGCGTGATTAAGTACTTTGTTAACTTTTATTTCAAGAGAAAAATTTTC +AGTTTATATAAGAAAACCAGGAGACACATATTTGAAAACTCTTAGAATGC +TATTAATTGAAATCGTTAGAGAATTTTCTCGTCCACTTGCTTTAACAGTG +CGTTTAACAGTTAATATTACTGTTGGTCATTTAGTTAGAATAATGCTTTA +TCAAGGATTAGAATTAAGAATAGGTGATCAGTATATTTGATTATCAATTT +TAGCCATTATAATAGAATGTTTTGTTTTCTTCATTCAAAGTTATATTTTC +TCTCGTTTAATTTTTTTATATCTTAATGAGTAATAAAAAAAAAAAGATGT +TAACTTAAGTTTTAAAGTGCCAAACTTTTAATTTGGAAATGGTGGACCAC +ATCTTAGTTGATATAGCATAAGAAGTGCATTTGTTTTAAGCGCAAAAGAT +ATCCGTCAACTAACGAGTTCATAAAGCAAGTCTTCTAAATTTGTTCTAGG +TTAAATCCTGCTCGTTTTTGATTGTTTTTATTTCTTTATTTACCTTGTTT +TTAACATTATTAAGAATTTTGACTAATAACGTTATTGTTTGATGAAGAAT +TTTTTTATTGATAACTGTAGTTTTTATTCTATTAAATAAAAGCAGCAAGA +GATATACCAGAATTTTTAATTATTTTGTTATTCAAGAGTCTTTAGGTTTA +TTATTTCTTCTTTGTAGAGGAGGTCTATTACAATTTTTTATTATTTTATT +GAAAATTGGTGTAGCACCGCTCCACTTTTGAATTTTTAATGTAACAAATA +ACATTTTTAATTATGGGCTAATGTGGTTTTTAACATTTCAAAAATTACCA +TTTTTAACTATTTTATTACAAATTTTTTGGTTAAGATCCGTGTATATTTT +GTTATTTGGTTTATTGATTTGTTATGTTCAAATTTTTGTCATAAAAAGTT +ATAAAAATTTGTTAATTATTTCATCCACAGAGTCTTTTAATTGGATTGTT +TTGGGAGTATTTTTTTCAATGTTTAATACATTTTATTTATTTATTTATTA +CTTTGTATTAATAGTTTTATTAATTTCTAAGTTTTCTAAAACTAGGGGTT +ATAATTTTATTAATTGAGAAACAACATTAGTATTTTTAAATATTCCATTT +AGAGTTTCATTTTTTGTAAAAATTTTCTCATTGAGGGAAATTTTTAAATA +TGATAGATTCTTTACTCTATTTTTGCTTTTTACAATATTTTTATCTGTAT +TGGCATTTAGATTTTGATTAATTAACTTGAGAATGAAAAATAATGAAGAA +ACTTCAAATAATAATAAAATAAATTATTTTATTATTTTTCCGTTAATAGT +TATTTCTATTATTTAATTACTTTTCTAGTAAAATATATTATATTATCTTG +ATAAGGTAAAGTTCCAGTTGGGAGAAGTAAGATGTAAAATAGATATTACT +ATGTTTGGTTACGGTCCAAAAAGATGCACATCTTTGCGATCTAGTTTAGA +AAAAATATTTGTTTTTGGTGCAAAAGAGTTTGATTGCATTTAGTTTACTC +TTTTAGTTTATAATTAAAATATGGCCCTGAAGAGGCTAAGAATATTAGGA +GTATTGAAAATTAATAATAGATTATTAAATTTTGTTAATGGGATGTTGGT +GACATTGCCATCTAGAAAAACTTTAACATTAAGATGAAATTTTGGTAGTA +TATTGGGTATAGTTTTAATCTTTCAGATTTTAACAGGTACATTTTTAGCA +TTTTATTATACGCCCGATAGGTTAATAGCATTTTCAACAGTGCAGTATAT +TATGTATGAGGTAAATTTTGGATGAGTATTTCGAATTTTTCATTTTAATG +GGGCCAGGTTATTTTTTATTTTTTTGTATTTACATATTTTTAAAGGGTTA +TTTTTTATAAGATATCGTTTAAAAAAAGTATGAATGTCTGGTTTAACAAT +TTATTTATTAGTAATAATAGAAGCTTTTATAGGTTATGTTTTAGTTTGAG +CTCAAATAAGATTTTGAGCAGCAGTAGTTATTACTAGACTTTTAAGAGTT +ATTCCAATTTGAGGGCCAACTATTGTTACTTGAATTTGAAGAGGTTTTGG diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/ce.fa.fai --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/ce.fa.fai Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,7 @@ +CHROMOSOME_I 1009800 14 50 51 +CHROMOSOME_II 5000 1030025 50 51 +CHROMOSOME_III 5000 1035141 50 51 +CHROMOSOME_IV 5000 1040256 50 51 +CHROMOSOME_V 5000 1045370 50 51 +CHROMOSOME_X 5000 1050484 50 51 +CHROMOSOME_MtDNA 5000 1055602 50 51 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/compare_sam.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/compare_sam.pl Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,172 @@ +#!/usr/bin/perl -w +# +# Copyright (C) 2013 Genome Research Ltd. +# +# Author: James Bonfield +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +# Compares two SAM files to report differences. +# Optionally can skip header or ignore specific types of diff. + +use strict; +use Getopt::Long; + +my %opts; +GetOptions(\%opts, 'noqual', 'noaux', 'notemplate', 'unknownrg', 'nomd', 'template-1', 'noflag'); + +my ($fn1, $fn2) = @ARGV; +open(my $fd1, "<", $fn1) || die $!; +open(my $fd2, "<", $fn2) || die $!; + +# Headers +my ($c1,$c2)=(1,1); +my (@hd1, @hd2, $ln1, $ln2); +while (<$fd1>) { + if (/^@/) { + push(@hd1, $_); + } else { + $ln1 = $_; + last; + } + $c1++; +} + +while (<$fd2>) { + if (/^@/) { + push(@hd2, $_); + } else { + $ln2 = $_; + last; + } + $c2++; +} + +# FIXME: to do +#print "@hd1\n"; +#print "@hd2\n"; + +# Compare lines +while ($ln1 && $ln2) { + chomp($ln1); + chomp($ln2); + + # Java CRAM adds RG:Z:UNKNOWN when the read-group is absent + if (exists $opts{unknownrg}) { + $ln1 =~ s/\tRG:Z:UNKNOWN//; + $ln2 =~ s/\tRG:Z:UNKNOWN//; + } + + if (exists $opts{nomd}) { + $ln1 =~ s/\tMD:Z:[A-Z0-9^]*//; + $ln2 =~ s/\tMD:Z:[A-Z0-9^]*//; + $ln1 =~ s/\tNM:i:\d+//; + $ln2 =~ s/\tNM:i:\d+//; + } + + my @ln1 = split("\t", $ln1); + my @ln2 = split("\t", $ln2); + + # Fix BWA bug: unmapped data should have no alignments + if ($ln1[1] & 4) { $ln1[4] = 0; $ln1[5] = "*"; } + if ($ln2[1] & 4) { $ln2[4] = 0; $ln2[5] = "*"; } + + # Rationalise order of auxiliary fields + if (exists $opts{noaux}) { + @ln1 = @ln1[0..10]; + @ln2 = @ln2[0..10]; + } else { + #my @a=@ln1[11..$#ln1];print "<<<@a>>>\n"; + @ln1[11..$#ln1] = sort @ln1[11..$#ln1]; + @ln2[11..$#ln2] = sort @ln2[11..$#ln2]; + } + + if (exists $opts{noqual}) { + $ln1[10] = "*"; + $ln2[10] = "*"; + } + + if (exists $opts{notemplate}) { + @ln1[6..8] = qw/* 0 0/; + @ln2[6..8] = qw/* 0 0/; + } + + if (exists $opts{noflag}) { + $ln1[1] = 0; $ln2[1] = 0; + } + + if (exists $opts{'template-1'}) { + if (abs($ln1[8] - $ln2[8]) == 1) { + $ln1[8] = $ln2[8]; + } + } + + # Cram doesn't uppercase the reference + $ln1[9] = uc($ln1[9]); + $ln2[9] = uc($ln2[9]); + + # Cram will populate a sequence string that starts as "*" + $ln2[9] = "*" if ($ln1[9] eq "*"); + + # Fix 0 cigar fields + $ln1[5] =~ s/(\D|^)0\D/$1/g; + $ln1[5] =~ s/^$/*/g; + $ln2[5] =~ s/(\D|^)0\D/$1/g; + $ln2[5] =~ s/^$/*/g; + + # Fix 10M10M cigar to 20M + $ln1[5] =~ s/(\d+)(\D)(\d+)(\2)/$1+$3.$2/e; + $ln2[5] =~ s/(\d+)(\D)(\d+)(\2)/$1+$3.$2/e; + + if ("@ln1" ne "@ln2") { + print "Diff at lines $fn1:$c1, $fn2:$c2\n"; + my @s1 = split("","@ln1"); + my @s2 = split("","@ln2"); + my $ptr = ""; + for (my $i=0; $i < $#s1; $i++) { + if ($s1[$i] eq $s2[$i]) { + $ptr .= "-"; + } else { + last; + } + } + print "1\t@ln1\n2\t@ln2\n\t$ptr^\n\n"; + exit(1); + } + + $ln1 = <$fd1>; + $ln2 = <$fd2>; + + $c1++; $c2++; +} + +if (defined($ln1)) { + print "EOF on $fn1\n"; + exit(1); +} + +if (defined($ln2)) { + print "EOF on $fn2\n"; + exit(1); +} + +close($fd1); +close($fd2); + +exit(0); diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/fieldarith.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/fieldarith.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,72 @@ +/* test/fieldarith.c -- CIGAR field arithmetic test suite. + + Copyright (C) 2013 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include + +#include "htslib/sam.h" + +int ntests = 0; +int nfailures = 0; + +void check(const bam1_t *aln, const char *testname, const char *tag, int value) +{ + int32_t refvalue; + uint8_t *aux = bam_aux_get(aln, tag); + if (!aux) return; + ntests++; + refvalue = bam_aux2i(aux); + if (value != refvalue) { + fprintf(stderr, "%s FAIL for %s: computed %d != %d expected\n", + testname, bam_get_qname(aln), value, refvalue); + nfailures++; + } +} + +int main(int argc, char **argv) +{ + bam_hdr_t *header; + bam1_t *aln = bam_init1(); + int i; + + for (i = 1; i < argc; i++) { + samFile *in = sam_open(argv[i], "r"); + if (in == NULL) { perror(argv[1]); return 1; } + + header = sam_hdr_read(in); + while (sam_read1(in, header, aln) >= 0) { + check(aln, "cigar2qlen", "XQ", + bam_cigar2qlen(aln->core.n_cigar, bam_get_cigar(aln))); + check(aln, "cigar2rlen", "XR", + bam_cigar2rlen(aln->core.n_cigar, bam_get_cigar(aln))); + check(aln, "endpos", "XE", bam_endpos(aln)); + } + + bam_hdr_destroy(header); + sam_close(in); + } + + bam_destroy1(aln); + + return (nfailures > 0); +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/fieldarith.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/fieldarith.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,15 @@ +@SQ SN:one LN:1000 +@SQ SN:two LN:500 +@CO For each SAM record that has each listed aux field, performs these tests: +@CO XQ is the expected result for bam_cigar2qlen() +@CO XR is the expected result for bam_cigar2rlen() +@CO XE is the expected result for bam_endpos() +@CO (Note that these are all zero-based, while POS is one-based in SAM) +r1 0 one 50 20 8M * 0 0 ATGCATGC qqqqqqqq XQ:i:8 XR:i:8 XE:i:57 +r2 0 one 100 20 50M * 0 0 ATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCATGCAT qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq XQ:i:50 XR:i:50 XE:i:149 +unmapped 5 two 200 0 * two 200 0 ATGCATGC qqqqqqqq XQ:i:0 XR:i:0 XE:i:200 +hascigar 5 two 200 0 6M2S two 200 0 ATGCATGC qqqqqqqq XQ:i:8 XR:i:6 XE:i:200 +s1 0 one 300 20 2M * 0 0 AT qq XQ:i:2 XR:i:2 XE:i:301 +su1 4 * 0 0 * * 0 0 AT qq XQ:i:0 XR:i:0 XE:i:0 +su2 5 two 400 0 * two 400 0 AT qq XQ:i:0 XR:i:0 XE:i:400 +su3 4 one 500 0 2M * 0 0 AT qq XQ:i:2 XR:i:2 XE:i:500 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/hfile.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/hfile.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,204 @@ +/* test/hfile.c -- Test cases for low-level input/output streams. + + Copyright (C) 2013-2014 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include + +#include + +#include "htslib/hfile.h" +#include "htslib/hts_defs.h" + +void HTS_NORETURN fail(const char *format, ...) +{ + int err = errno; + va_list args; + va_start(args, format); + vfprintf(stderr, format, args); + va_end(args); + if (err != 0) fprintf(stderr, ": %s", strerror(err)); + fprintf(stderr, "\n"); + exit(EXIT_FAILURE); +} + +void check_offset(hFILE *f, off_t off, const char *message) +{ + off_t ret = htell(f); + if (ret < 0) fail("htell(%s)", message); + if (ret == off) return; + + fprintf(stderr, "%s offset incorrect: expected %ld but got %ld\n", + message, (long)off, (long)ret); + exit(EXIT_FAILURE); +} + +char *slurp(const char *filename) +{ + char *text; + struct stat sbuf; + size_t filesize; + FILE *f = fopen(filename, "r"); + if (f == NULL) fail("fopen(\"%s\", \"r\")", filename); + if (fstat(fileno(f), &sbuf) != 0) fail("fstat(\"%s\")", filename); + filesize = sbuf.st_size; + + text = (char *) malloc(filesize + 1); + if (text == NULL) fail("malloc(text)"); + + if (fread(text, 1, filesize, f) != filesize) fail("fread"); + fclose(f); + + text[filesize] = '\0'; + return text; +} + +hFILE *fin = NULL; +hFILE *fout = NULL; + +void reopen(const char *infname, const char *outfname) +{ + if (fin) { if (hclose(fin) != 0) fail("hclose(input)"); } + if (fout) { if (hclose(fout) != 0) fail("hclose(output)"); } + + fin = hopen(infname, "r"); + if (fin == NULL) fail("hopen(\"%s\")", infname); + + fout = hopen(outfname, "w"); + if (fout == NULL) fail("hopen(\"%s\")", outfname); +} + +int main(void) +{ + static const int size[] = { 1, 13, 403, 999, 30000 }; + + char buffer[40000]; + char *original; + int c, i; + ssize_t n; + off_t off; + + reopen("vcf.c", "test/hfile1.tmp"); + while ((c = hgetc(fin)) != EOF) { + if (hputc(c, fout) == EOF) fail("hputc"); + } + if (herrno(fin)) { errno = herrno(fin); fail("hgetc"); } + + reopen("test/hfile1.tmp", "test/hfile2.tmp"); + if (hpeek(fin, buffer, 50) < 0) fail("hpeek"); + while ((n = hread(fin, buffer, 17)) > 0) { + if (hwrite(fout, buffer, n) != n) fail("hwrite"); + } + if (n < 0) fail("hread"); + + reopen("test/hfile2.tmp", "test/hfile3.tmp"); + while ((n = hread(fin, buffer, sizeof buffer)) > 0) { + if (hwrite(fout, buffer, n) != n) fail("hwrite"); + if (hpeek(fin, buffer, 700) < 0) fail("hpeek"); + } + if (n < 0) fail("hread"); + + reopen("test/hfile3.tmp", "test/hfile4.tmp"); + i = 0; + off = 0; + while ((n = hread(fin, buffer, size[i++ % 5])) > 0) { + off += n; + buffer[n] = '\0'; + check_offset(fin, off, "pre-peek"); + if (hputs(buffer, fout) == EOF) fail("hputs"); + if ((n = hpeek(fin, buffer, size[(i+3) % 5])) < 0) fail("hpeek"); + check_offset(fin, off, "post-peek"); + } + if (n < 0) fail("hread"); + + reopen("test/hfile4.tmp", "test/hfile5.tmp"); + n = hread(fin, buffer, 200); + if (n < 0) fail("hread"); + else if (n != 200) fail("hread only got %d", (int)n); + if (hwrite(fout, buffer, 1000) != 1000) fail("hwrite"); + check_offset(fin, 200, "input/first200"); + check_offset(fout, 1000, "output/first200"); + + if (hseek(fin, 800, SEEK_CUR) < 0) fail("hseek/cur"); + check_offset(fin, 1000, "input/seek"); + for (off = 1000; (n = hread(fin, buffer, sizeof buffer)) > 0; off += n) + if (hwrite(fout, buffer, n) != n) fail("hwrite"); + if (n < 0) fail("hread"); + check_offset(fin, off, "input/eof"); + check_offset(fout, off, "output/eof"); + + if (hseek(fin, 200, SEEK_SET) < 0) fail("hseek/set"); + if (hseek(fout, 200, SEEK_SET) < 0) fail("hseek(output)"); + check_offset(fin, 200, "input/backto200"); + check_offset(fout, 200, "output/backto200"); + n = hread(fin, buffer, 800); + if (n < 0) fail("hread"); + else if (n != 800) fail("hread only got %d", (int)n); + if (hwrite(fout, buffer, 800) != 800) fail("hwrite"); + check_offset(fin, 1000, "input/wrote800"); + check_offset(fout, 1000, "output/wrote800"); + + if (hflush(fout) == EOF) fail("hflush"); + + original = slurp("vcf.c"); + for (i = 1; i <= 5; i++) { + char *text; + sprintf(buffer, "test/hfile%d.tmp", i); + text = slurp(buffer); + if (strcmp(original, text) != 0) { + fprintf(stderr, "%s differs from vcf.c\n", buffer); + return EXIT_FAILURE; + } + free(text); + } + free(original); + + if (hclose(fin) != 0) fail("hclose(input)"); + if (hclose(fout) != 0) fail("hclose(output)"); + + fout = hopen("test/hfile_chars.tmp", "w"); + if (fout == NULL) fail("hopen(\"test/hfile_chars.tmp\")"); + for (i = 0; i < 256; i++) + if (hputc(i, fout) != i) fail("chars: hputc (%d)", i); + if (hclose(fout) != 0) fail("hclose(test/hfile_chars.tmp)"); + + fin = hopen("test/hfile_chars.tmp", "r"); + if (fin == NULL) fail("hopen(\"test/hfile_chars.tmp\") for reading"); + for (i = 0; i < 256; i++) + if ((c = hgetc(fin)) != i) + fail("chars: hgetc (%d = 0x%x) returned %d = 0x%x", i, i, c, c); + if ((c = hgetc(fin)) != EOF) fail("chars: hgetc (EOF) returned %d", c); + if (hclose(fin) != 0) fail("hclose(test/hfile_chars.tmp) for reading"); + + fin = hopen("data:hello, world!\n", "r"); + if (fin == NULL) fail("hopen(\"data:...\")"); + n = hread(fin, buffer, 300); + if (n < 0) fail("hread"); + buffer[n] = '\0'; + if (strcmp(buffer, "hello, world!\n") != 0) fail("hread result"); + if (hclose(fin) != 0) fail("hclose(\"data:...\")"); + + return EXIT_SUCCESS; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/sam.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/sam.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,187 @@ +/* test/sam.c -- SAM/BAM/CRAM API test cases. + + Copyright (C) 2014-2015 Genome Research Ltd. + + Author: John Marshall + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include + +#include "htslib/sam.h" +#include "htslib/faidx.h" +#include "htslib/kstring.h" + +int status; + +static void fail(const char *fmt, ...) +{ + va_list args; + + fprintf(stderr, "Failed: "); + va_start(args, fmt); + vfprintf(stderr, fmt, args); + va_end(args); + fprintf(stderr, "\n"); + + status = EXIT_FAILURE; +} + +uint8_t *check_bam_aux_get(const bam1_t *aln, const char *tag, char type) +{ + uint8_t *p = bam_aux_get(aln, tag); + if (p) { + if (*p == type) return p; + else fail("%s field of type '%c', expected '%c'\n", tag, *p, type); + } + else fail("can't find %s field\n", tag); + + return NULL; +} + +#define PI 3.141592653589793 +#define E 2.718281828459045 +#define HELLO "Hello, world!" +#define BEEF "DEADBEEF" + +#define str(x) #x +#define xstr(x) str(x) + +static int aux_fields1(void) +{ + static const char sam[] = "data:" +"@SQ\tSN:one\tLN:1000\n" +"@SQ\tSN:two\tLN:500\n" +"r1\t0\tone\t500\t20\t8M\t*\t0\t0\tATGCATGC\tqqqqqqqq\tXA:A:k\tXi:i:37\tXf:f:" xstr(PI) "\tXd:d:" xstr(E) "\tXZ:Z:" HELLO "\tXH:H:" BEEF "\tXB:B:c,-2,0,+2\tZZ:i:1000000\tY1:i:-2147483648\tY2:i:-2147483647\tY3:i:-1\tY4:i:0\tY5:i:1\tY6:i:2147483647\tY7:i:2147483648\tY8:i:4294967295\n"; + + // Canonical form of the alignment record above, as output by sam_format1() + static const char r1[] = "r1\t0\tone\t500\t20\t8M\t*\t0\t0\tATGCATGC\tqqqqqqqq\tXA:A:k\tXi:i:37\tXf:f:3.14159\tXd:d:2.71828\tXZ:Z:" HELLO "\tXH:H:" BEEF "\tXB:B:c,-2,0,2\tZZ:i:1000000\tY1:i:-2147483648\tY2:i:-2147483647\tY3:i:-1\tY4:i:0\tY5:i:1\tY6:i:2147483647\tY7:i:2147483648\tY8:i:4294967295"; + + samFile *in = sam_open(sam, "r"); + bam_hdr_t *header = sam_hdr_read(in); + bam1_t *aln = bam_init1(); + uint8_t *p; + uint32_t n; + kstring_t ks = { 0, 0, NULL }; + + if (sam_read1(in, header, aln) >= 0) { + if ((p = check_bam_aux_get(aln, "XA", 'A')) && bam_aux2A(p) != 'k') + fail("XA field is '%c', expected 'k'", bam_aux2A(p)); + + if ((p = check_bam_aux_get(aln, "Xi", 'C')) && bam_aux2i(p) != 37) + fail("Xi field is %d, expected 37", bam_aux2i(p)); + + if ((p = check_bam_aux_get(aln, "Xf", 'f')) && fabs(bam_aux2f(p) - PI) > 1E-6) + fail("Xf field is %.12f, expected pi", bam_aux2f(p)); + + if ((p = check_bam_aux_get(aln, "Xd", 'd')) && fabs(bam_aux2f(p) - E) > 1E-6) + fail("Xf field is %.12f, expected e", bam_aux2f(p)); + + if ((p = check_bam_aux_get(aln, "XZ", 'Z')) && strcmp(bam_aux2Z(p), HELLO) != 0) + fail("XZ field is \"%s\", expected \"%s\"", bam_aux2Z(p), HELLO); + + if ((p = check_bam_aux_get(aln, "XH", 'H')) && strcmp(bam_aux2Z(p), BEEF) != 0) + fail("XH field is \"%s\", expected \"%s\"", bam_aux2Z(p), BEEF); + + // TODO Invent and use bam_aux2B() + if ((p = check_bam_aux_get(aln, "XB", 'B')) && ! (memcmp(p, "Bc", 2) == 0 && (memcpy(&n, p+2, 4), n) == 3 && memcmp(p+6, "\xfe\x00\x02", 3) == 0)) + fail("XB field is %c,..., expected c,-2,0,+2", p[1]); + + if ((p = check_bam_aux_get(aln, "ZZ", 'I')) && bam_aux2i(p) != 1000000) + fail("ZZ field is %d, expected 1000000", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y1")) && bam_aux2i(p) != -2147483647-1) + fail("Y1 field is %d, expected -2^31", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y2")) && bam_aux2i(p) != -2147483647) + fail("Y2 field is %d, expected -2^31+1", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y3")) && bam_aux2i(p) != -1) + fail("Y3 field is %d, expected -1", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y4")) && bam_aux2i(p) != 0) + fail("Y4 field is %d, expected 0", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y5")) && bam_aux2i(p) != 1) + fail("Y5 field is %d, expected 1", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y6")) && bam_aux2i(p) != 2147483647) + fail("Y6 field is %d, expected 2^31-1", bam_aux2i(p)); + + // TODO Checking these perhaps requires inventing bam_aux2u() or so +#if 0 + if ((p = bam_aux_get(aln, "Y7")) && bam_aux2i(p) != 2147483648) + fail("Y7 field is %d, expected 2^31", bam_aux2i(p)); + + if ((p = bam_aux_get(aln, "Y8")) && bam_aux2i(p) != 4294967295) + fail("Y8 field is %d, expected 2^32-1", bam_aux2i(p)); +#endif + + if (sam_format1(header, aln, &ks) < 0) + fail("can't format record"); + + if (strcmp(ks.s, r1) != 0) + fail("record formatted incorrectly: \"%s\"", ks.s); + + free(ks.s); + } + else fail("can't read record"); + + bam_destroy1(aln); + bam_hdr_destroy(header); + sam_close(in); + + return 1; +} + +static void iterators1(void) +{ + hts_itr_destroy(sam_itr_queryi(NULL, HTS_IDX_REST, 0, 0)); + hts_itr_destroy(sam_itr_queryi(NULL, HTS_IDX_NONE, 0, 0)); +} + +static void faidx1(const char *filename) +{ + int n; + faidx_t *fai = fai_load(filename); + if (fai == NULL) fail("can't load faidx file"); + + n = faidx_fetch_nseq(fai); + if (n != 7) fail("faidx_fetch_nseq returned %d, expected 7", n); + + n = faidx_nseq(fai); + if (n != 7) fail("faidx_nseq returned %d, expected 7", n); + + fai_destroy(fai); +} + +int main(int argc, char **argv) +{ + status = EXIT_SUCCESS; + + aux_fields1(); + iterators1(); + if (argc >= 2) faidx1(argv[1]); + + return status; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test-regidx.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test-regidx.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,116 @@ +/* test/test-regidx.c -- Regions index test harness. + + Copyright (C) 2014 Genome Research Ltd. + + Author: Petr Danecek + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ + +#include +#include +#include +#include +#include +#include + +void error(const char *format, ...) +{ + va_list ap; + va_start(ap, format); + vfprintf(stderr, format, ap); + va_end(ap); + exit(-1); +} + +int custom_parse(const char *line, char **chr_beg, char **chr_end, reg_t *reg, void *payload, void *usr) +{ + // Use the standard parser for CHROM,FROM,TO + int i, ret = regidx_parse_tab(line,chr_beg,chr_end,reg,NULL,NULL); + if ( ret!=0 ) return ret; + + // Skip the fields that were parsed above + char *ss = (char*) line; + while ( *ss && isspace(*ss) ) ss++; + for (i=0; i<3; i++) + { + while ( *ss && !isspace(*ss) ) ss++; + if ( !*ss ) return -2; // wrong number of fields + while ( *ss && isspace(*ss) ) ss++; + } + if ( !*ss ) return -2; + + // Parse the payload + char *se = ss; + while ( *se && !isspace(*se) ) se++; + char **dat = (char**) payload; + *dat = (char*) malloc(se-ss+1); + memcpy(*dat,ss,se-ss+1); + (*dat)[se-ss] = 0; + return 0; +} +void custom_free(void *payload) +{ + char **dat = (char**)payload; + free(*dat); +} + +int main(int argc, char **argv) +{ + // Init index with no file name, we will insert the regions manually + regidx_t *idx = regidx_init(NULL,custom_parse,custom_free,sizeof(char*),NULL); + if ( !idx ) error("init failed\n"); + + // Insert regions + char *line; + line = "1 10000000 10000000 1:10000000-10000000"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); + line = "1 20000000 20000001 1:20000000-20000001"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); + line = "1 20000002 20000002 1:20000002-20000002"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); + line = "1 30000000 30000000 1:30000000-30000000"; if ( regidx_insert(idx,line)!=0 ) error("insert failed: %s\n", line); + + // Finish initialization + regidx_insert(idx,NULL); + + // Test + regitr_t itr; + int from, to; + + from = to = 10000000; + if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); + if ( strcmp("1:10000000-10000000",REGITR_PAYLOAD(itr,char*)) ) error("query failed: 1:%d-%d vs %s\n", from,to,REGITR_PAYLOAD(itr,char*)); + if ( !regidx_overlap(idx,"1",from-2,to-1,&itr) ) error("query failed: 1:%d-%d\n",from-1,to); + if ( !regidx_overlap(idx,"1",from-2,to+3,&itr) ) error("query failed: 1:%d-%d\n",from-1,to+2); + if ( regidx_overlap(idx,"1",from-2,to-2,&itr) ) error("query failed: 1:%d-%d\n",from-1,to-1); + + from = to = 20000000; + if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); + + from = to = 20000002; + if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); + + from = to = 30000000; + if ( !regidx_overlap(idx,"1",from-1,to-1,&itr) ) error("query failed: 1:%d-%d\n",from,to); + + // Clean up + regidx_destroy(idx); + + return 0; +} + + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test-vcf-api.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test-vcf-api.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,282 @@ +/* test/test-vcf-api.c -- VCF test harness. + + Copyright (C) 2013, 2014 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include + +void write_bcf(char *fname) +{ + // Init + htsFile *fp = hts_open(fname,"wb"); + bcf_hdr_t *hdr = bcf_hdr_init("w"); + bcf1_t *rec = bcf_init1(); + + // Create VCF header + kstring_t str = {0,0,0}; + bcf_hdr_append(hdr, "##fileDate=20090805"); + bcf_hdr_append(hdr, "##FORMAT="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##FILTER="); + bcf_hdr_append(hdr, "##unused="); + bcf_hdr_append(hdr, "##unused=unformatted text 1"); + bcf_hdr_append(hdr, "##unused=unformatted text 2"); + bcf_hdr_append(hdr, "##contig="); + bcf_hdr_append(hdr, "##source=myImputationProgramV3.1"); + bcf_hdr_append(hdr, "##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta"); + bcf_hdr_append(hdr, "##contig="); + bcf_hdr_append(hdr, "##phasing=partial"); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##INFO="); + bcf_hdr_append(hdr, "##FILTER="); + bcf_hdr_append(hdr, "##FILTER="); + bcf_hdr_append(hdr, "##FORMAT="); + bcf_hdr_append(hdr, "##FORMAT="); + bcf_hdr_append(hdr, "##FORMAT="); + bcf_hdr_append(hdr, "##FORMAT="); + bcf_hdr_append(hdr, "##FORMAT="); + + bcf_hdr_add_sample(hdr, "NA00001"); + bcf_hdr_add_sample(hdr, "NA00002"); + bcf_hdr_add_sample(hdr, "NA00003"); + bcf_hdr_add_sample(hdr, NULL); // to update internal structures + bcf_hdr_write(fp, hdr); + + + // Add a record + // 20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ 0|0:48:1:51,51 1|0:48:8:51,51 1/1:43:5:.,. + // .. CHROM + rec->rid = bcf_hdr_name2id(hdr, "20"); + // .. POS + rec->pos = 14369; + // .. ID + bcf_update_id(hdr, rec, "rs6054257"); + // .. REF and ALT + bcf_update_alleles_str(hdr, rec, "G,A"); + // .. QUAL + rec->qual = 29; + // .. FILTER + int32_t tmpi = bcf_hdr_id2int(hdr, BCF_DT_ID, "PASS"); + bcf_update_filter(hdr, rec, &tmpi, 1); + // .. INFO + tmpi = 3; + bcf_update_info_int32(hdr, rec, "NS", &tmpi, 1); + tmpi = 14; + bcf_update_info_int32(hdr, rec, "DP", &tmpi, 1); + float tmpf = 0.5; + bcf_update_info_float(hdr, rec, "AF", &tmpf, 1); + bcf_update_info_flag(hdr, rec, "DB", NULL, 1); + bcf_update_info_flag(hdr, rec, "H2", NULL, 1); + // .. FORMAT + int32_t *tmpia = (int*)malloc(bcf_hdr_nsamples(hdr)*2*sizeof(int)); + tmpia[0] = bcf_gt_phased(0); + tmpia[1] = bcf_gt_phased(0); + tmpia[2] = bcf_gt_phased(1); + tmpia[3] = bcf_gt_phased(0); + tmpia[4] = bcf_gt_unphased(1); + tmpia[5] = bcf_gt_unphased(1); + bcf_update_genotypes(hdr, rec, tmpia, bcf_hdr_nsamples(hdr)*2); + tmpia[0] = 48; + tmpia[1] = 48; + tmpia[2] = 43; + bcf_update_format_int32(hdr, rec, "GQ", tmpia, bcf_hdr_nsamples(hdr)); + tmpia[0] = 1; + tmpia[1] = 8; + tmpia[2] = 5; + bcf_update_format_int32(hdr, rec, "DP", tmpia, bcf_hdr_nsamples(hdr)); + tmpia[0] = 51; + tmpia[1] = 51; + tmpia[2] = 51; + tmpia[3] = 51; + tmpia[4] = bcf_int32_missing; + tmpia[5] = bcf_int32_missing; + bcf_update_format_int32(hdr, rec, "HQ", tmpia, bcf_hdr_nsamples(hdr)*2); + char *tmp_str[] = {"String1","SomeOtherString2","YetAnotherString3"}; + bcf_update_format_string(hdr, rec, "TS", (const char**)tmp_str, 3); + bcf_write1(fp, hdr, rec); + + // 20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. + bcf_clear1(rec); + rec->rid = bcf_hdr_name2id(hdr, "20"); + rec->pos = 1110695; + bcf_update_alleles_str(hdr, rec, "A,G,T"); + rec->qual = 67; + tmpi = 2; + bcf_update_info_int32(hdr, rec, "NS", &tmpi, 1); + tmpi = 10; + bcf_update_info_int32(hdr, rec, "DP", &tmpi, 1); + float *tmpfa = (float*)malloc(2*sizeof(float)); + tmpfa[0] = 0.333; + bcf_float_set_missing(tmpfa[1]); + bcf_update_info_float(hdr, rec, "AF", tmpfa, 2); + bcf_update_info_string(hdr, rec, "AA", "T"); + bcf_update_info_flag(hdr, rec, "DB", NULL, 1); + tmpia[0] = bcf_gt_phased(2); + tmpia[1] = bcf_int32_vector_end; + tmpia[2] = bcf_gt_phased(1); + tmpia[3] = bcf_int32_vector_end; + tmpia[4] = bcf_gt_missing; + tmpia[5] = bcf_gt_missing; + bcf_update_genotypes(hdr, rec, tmpia, bcf_hdr_nsamples(hdr)*2); + bcf_write1(fp, hdr, rec); + + free(tmpia); + free(tmpfa); + + // Clean + free(str.s); + bcf_destroy1(rec); + bcf_hdr_destroy(hdr); + int ret; + if ( (ret=hts_close(fp)) ) + { + fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); + exit(ret); + } +} + +void bcf_to_vcf(char *fname) +{ + htsFile *fp = hts_open(fname,"rb"); + bcf_hdr_t *hdr = bcf_hdr_read(fp); + bcf1_t *rec = bcf_init1(); + + char *gz_fname = (char*) malloc(strlen(fname)+4); + snprintf(gz_fname,strlen(fname)+4,"%s.gz",fname); + htsFile *out = hts_open(gz_fname,"wg"); + + bcf_hdr_t *hdr_out = bcf_hdr_dup(hdr); + bcf_hdr_remove(hdr_out,BCF_HL_STR,"unused"); + bcf_hdr_remove(hdr_out,BCF_HL_GEN,"unused"); + bcf_hdr_remove(hdr_out,BCF_HL_FLT,"Flt"); + bcf_hdr_remove(hdr_out,BCF_HL_INFO,"UI"); + bcf_hdr_remove(hdr_out,BCF_HL_FMT,"UF"); + bcf_hdr_remove(hdr_out,BCF_HL_CTG,"Unused"); + bcf_hdr_write(out, hdr_out); + + while ( bcf_read1(fp, hdr, rec)>=0 ) + { + bcf_write1(out, hdr_out, rec); + + // Test problems caused by bcf1_sync: the data block + // may be realloced, also the unpacked structures must + // get updated. + bcf_unpack(rec, BCF_UN_STR); + bcf_update_id(hdr, rec, 0); + bcf_update_format_int32(hdr, rec, "GQ", NULL, 0); + + bcf1_t *dup = bcf_dup(rec); // force bcf1_sync call + bcf_write1(out, hdr_out, dup); + bcf_destroy1(dup); + + bcf_update_alleles_str(hdr_out, rec, "G,A"); + int32_t tmpi = 99; + bcf_update_info_int32(hdr_out, rec, "DP", &tmpi, 1); + int32_t tmpia[] = {9,9,9}; + bcf_update_format_int32(hdr_out, rec, "DP", tmpia, 3); + + bcf_write1(out, hdr_out, rec); + } + + bcf_destroy1(rec); + bcf_hdr_destroy(hdr); + bcf_hdr_destroy(hdr_out); + int ret; + if ( (ret=hts_close(fp)) ) + { + fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); + exit(ret); + } + if ( (ret=hts_close(out)) ) + { + fprintf(stderr,"hts_close(%s): non-zero status %d\n",gz_fname,ret); + exit(ret); + } + + + // read gzip, write stdout + htsFile *gz_in = hts_open(gz_fname, "r"); + if ( !gz_in ) + { + fprintf(stderr,"Could not read: %s\n", gz_fname); + exit(1); + } + + kstring_t line = {0,0,0}; + while ( hts_getline(gz_in, KS_SEP_LINE, &line)>0 ) + { + kputc('\n',&line); + fwrite(line.s,1,line.l,stdout); + } + + if ( (ret=hts_close(gz_in)) ) + { + fprintf(stderr,"hts_close(%s): non-zero status %d\n",gz_fname,ret); + exit(ret); + } + free(line.s); + free(gz_fname); +} + +void iterator(const char *fname) +{ + htsFile *fp = hts_open(fname, "r"); + bcf_hdr_t *hdr = bcf_hdr_read(fp); + hts_idx_t *idx; + hts_itr_t *iter; + + bcf_index_build(fname, 0); + idx = bcf_index_load(fname); + + iter = bcf_itr_queryi(idx, bcf_hdr_name2id(hdr, "20"), 1110600, 1110800); + bcf_itr_destroy(iter); + + iter = bcf_itr_querys(idx, hdr, "20:1110600-1110800"); + bcf_itr_destroy(iter); + + hts_idx_destroy(idx); + bcf_hdr_destroy(hdr); + int ret; + if ( (ret=hts_close(fp)) ) + { + fprintf(stderr,"hts_close(%s): non-zero status %d\n",fname,ret); + exit(ret); + } +} + +int main(int argc, char **argv) +{ + char *fname = argc>1 ? argv[1] : "rmme.bcf"; + write_bcf(fname); + bcf_to_vcf(fname); + iterator(fname); + return 0; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test-vcf-api.out --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test-vcf-api.out Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,28 @@ +##fileformat=VCFv4.2 +##FILTER= +##fileDate=20090805 +##unused= +##source=myImputationProgramV3.1 +##reference=file:///seq/references/1000GenomesPilot-NCBI36.fasta +##contig= +##phasing=partial +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##INFO= +##FILTER= +##FILTER= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +##FORMAT= +#CHROM POS ID REF ALT QUAL FILTER INFO FORMAT NA00001 NA00002 NA00003 +20 14370 rs6054257 G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:GQ:DP:HQ:TS 0|0:48:1:51,51:String1 1|0:48:8:51,51:SomeOtherString2 1/1:43:5:.,.:YetAnotherString3 +20 14370 . G A 29 PASS NS=3;DP=14;AF=0.5;DB;H2 GT:DP:HQ:TS 0|0:1:51,51:String1 1|0:8:51,51:SomeOtherString2 1/1:5:.,.:YetAnotherString3 +20 14370 . G A 29 PASS NS=3;DP=99;AF=0.5;DB;H2 GT:DP:HQ:TS 0|0:9:51,51:String1 1|0:9:51,51:SomeOtherString2 1/1:9:.,.:YetAnotherString3 +20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. +20 1110696 . A G,T 67 . NS=2;DP=10;AF=0.333,.;AA=T;DB GT 2 1 ./. +20 1110696 . G A 67 . NS=2;DP=99;AF=0.333,.;AA=T;DB GT:DP 2:9 1:9 ./.:9 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test-vcf-sweep.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test-vcf-sweep.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,112 @@ +/* test/test-vcf-sweep.c -- VCF test harness. + + Copyright (C) 2013 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include + +int main(int argc, char **argv) +{ + if ( argc!=2 ) + { + fprintf(stderr,"Usage: test-vcf-sweep \n"); + return 1; + } + + // Init variables. The checksum is just for this test program to output + // something and verify that all sites are read in both passes - fwd and + // bwd. + bcf_sweep_t *sw = bcf_sweep_init(argv[1]); + bcf_hdr_t *hdr = bcf_sweep_hdr(sw); + int chksum = 0; + + // First we must sweep forward and read the whole file to build an index. + // If this is undesirable, we can require the presence of a .gzi index + // which can be created with `bgzip -r` from the samtools/htslib package + bcf1_t *rec; + while ( (rec = bcf_sweep_fwd(sw)) ) chksum += rec->pos+1; + printf("fwd position chksum: %d\n", chksum); + + // Now sweep backward. + chksum = 0; + while ( (rec = bcf_sweep_bwd(sw)) ) chksum += rec->pos+1; + printf("bwd position chksum: %d\n", chksum); + + // And forward and backward again, this time summing the PL vectors + int i,j, mPLs = 0, nPLs; + int32_t *PLs = NULL; + chksum = 0; + while ( (rec = bcf_sweep_fwd(sw)) ) + { + // get copy of the PL vectors + nPLs = bcf_get_format_int32(hdr, rec, "PL", &PLs, &mPLs); + if ( !nPLs ) continue; // PL not present + + // how many values are there per sample + int nvals = nPLs / bcf_hdr_nsamples(hdr); + + int32_t *ptr = PLs; + for (i=0; i +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. + +use strict; +use warnings; +use Carp; +use FindBin; +use lib "$FindBin::Bin"; +use Getopt::Long; +use File::Temp qw/ tempfile tempdir /; + +my $opts = parse_params(); + +test_vcf_api($opts,out=>'test-vcf-api.out'); +test_vcf_sweep($opts,out=>'test-vcf-sweep.out'); + +print "\nNumber of tests:\n"; +printf " total .. %d\n", $$opts{nok}+$$opts{nfailed}; +printf " passed .. %d\n", $$opts{nok}; +printf " failed .. %d\n", $$opts{nfailed}; +print "\n"; + +exit ($$opts{nfailed} > 0); + +#-------------------- + +sub error +{ + my (@msg) = @_; + if ( scalar @msg ) { confess @msg; } + print + "About: samtools/htslib consistency test script\n", + "Usage: test.pl [OPTIONS]\n", + "Options:\n", + " -r, --redo-outputs Recreate expected output files.\n", + " -t, --temp-dir When given, temporary files will not be removed.\n", + " -h, -?, --help This help message.\n", + "\n"; + exit 1; +} +sub parse_params +{ + my $opts = { keep_files=>0, nok=>0, nfailed=>0 }; + my $help; + Getopt::Long::Configure('bundling'); + my $ret = GetOptions ( + 't|temp-dir:s' => \$$opts{keep_files}, + 'r|redo-outputs' => \$$opts{redo_outputs}, + 'h|?|help' => \$help + ); + if ( !$ret or $help ) { error(); } + $$opts{tmp} = $$opts{keep_files} ? $$opts{keep_files} : tempdir(CLEANUP=>1); + if ( $$opts{keep_files} ) { cmd("mkdir -p $$opts{keep_files}"); } + $$opts{path} = $FindBin::RealBin; + $$opts{bin} = $FindBin::RealBin; + $$opts{bin} =~ s{/test/?$}{}; + return $opts; +} +sub _cmd +{ + my ($cmd) = @_; + my $kid_io; + my @out; + my $pid = open($kid_io, "-|"); + if ( !defined $pid ) { error("Cannot fork: $!"); } + if ($pid) + { + # parent + @out = <$kid_io>; + close($kid_io); + } + else + { + # child + exec('/bin/bash', '-o','pipefail','-c', $cmd) or error("Cannot execute the command [/bin/sh -o pipefail -c $cmd]: $!"); + } + return ($? >> 8, join('',@out)); +} +sub cmd +{ + my ($cmd) = @_; + my ($ret,$out) = _cmd($cmd); + if ( $ret ) { error("The command failed [$ret]: $cmd\n", $out); } + return $out; +} +sub test_cmd +{ + my ($opts,%args) = @_; + if ( !exists($args{out}) ) + { + if ( !exists($args{in}) ) { error("FIXME: expected out or in key\n"); } + $args{out} = "$args{in}.out"; + } + my ($package, $filename, $line, $test)=caller(1); + $test =~ s/^.+:://; + + print "$test:\n"; + print "\t$args{cmd}\n"; + + my ($ret,$out) = _cmd("$args{cmd} 2>&1"); + if ( $ret ) { failed($opts,$test); return; } + if ( $$opts{redo_outputs} && -e "$$opts{path}/$args{out}" ) + { + rename("$$opts{path}/$args{out}","$$opts{path}/$args{out}.old"); + open(my $fh,'>',"$$opts{path}/$args{out}") or error("$$opts{path}/$args{out}: $!"); + print $fh $out; + close($fh); + my ($ret,$out) = _cmd("diff -q $$opts{path}/$args{out} $$opts{path}/$args{out}.old"); + if ( !$ret && $out eq '' ) { unlink("$$opts{path}/$args{out}.old"); } + else + { + print "\tthe expected output changed, saving:\n"; + print "\t old .. $$opts{path}/$args{out}.old\n"; + print "\t new .. $$opts{path}/$args{out}\n"; + } + } + my $exp = ''; + if ( open(my $fh,'<',"$$opts{path}/$args{out}") ) + { + my @exp = <$fh>; + $exp = join('',@exp); + close($fh); + } + elsif ( !$$opts{redo_outputs} ) { failed($opts,$test,"$$opts{path}/$args{out}: $!"); return; } + + if ( $exp ne $out ) + { + open(my $fh,'>',"$$opts{path}/$args{out}.new") or error("$$opts{path}/$args{out}.new"); + print $fh $out; + close($fh); + if ( !-e "$$opts{path}/$args{out}" ) + { + rename("$$opts{path}/$args{out}.new","$$opts{path}/$args{out}") or error("rename $$opts{path}/$args{out}.new $$opts{path}/$args{out}: $!"); + print "\tthe file with expected output does not exist, creating new one:\n"; + print "\t\t$$opts{path}/$args{out}\n"; + } + else + { + failed($opts,$test,"The outputs differ:\n\t\t$$opts{path}/$args{out}\n\t\t$$opts{path}/$args{out}.new"); + } + return; + } + passed($opts,$test); +} +sub failed +{ + my ($opts,$test,$reason) = @_; + $$opts{nfailed}++; + if ( defined $reason ) { print "\n\t$reason"; } + print "\n.. failed ...\n\n"; +} +sub passed +{ + my ($opts,$test) = @_; + $$opts{nok}++; + print ".. ok\n\n"; +} +sub is_file_newer +{ + my ($afile,$bfile) = @_; + my (@astat) = stat($afile) or return 0; + my (@bstat) = stat($bfile) or return 0; + if ( $astat[9]>$bstat[9] ) { return 1 } + return 0; +} + + +# The tests -------------------------- + +sub test_vcf_api +{ + my ($opts,%args) = @_; + test_cmd($opts,%args,cmd=>"$$opts{path}/test-vcf-api $$opts{tmp}/test-vcf-api.bcf"); +} + +sub test_vcf_sweep +{ + my ($opts,%args) = @_; + test_cmd($opts,%args,cmd=>"$$opts{path}/test-vcf-sweep $$opts{tmp}/test-vcf-api.bcf"); +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test_view.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test_view.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,239 @@ +/* test/test_view.c -- simple view tool, purely for use in a test harness. + + Copyright (C) 2012 Broad Institute. + Copyright (C) 2013-2014 Genome Research Ltd. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include + +#include "cram/cram.h" + +#include "htslib/sam.h" + +typedef struct hts_opt { + enum cram_option opt; + union { + int i; + char *s; + } val; + struct hts_opt *next; +} hts_opt; + +/* + * Parses arg and appends it to the option list. + * Returns 0 on success; + * -1 on failure. + */ +int add_option(hts_opt **opts, char *arg) { + hts_opt *o, *t; + char *cp; + + if (!(cp = strchr(arg, '='))) + cp = "1"; // assume boolean + else + *cp++ = 0; + + if (!(o = malloc(sizeof(*o)))) + return -1; + + if (strcmp(arg, "DECODE_MD") == 0) + o->opt = CRAM_OPT_DECODE_MD, o->val.i = atoi(cp); + else if (strcmp(arg, "VERBOSITY") == 0) + o->opt = CRAM_OPT_VERBOSITY, o->val.i = atoi(cp); + else if (strcmp(arg, "SEQS_PER_SLICE") == 0) + o->opt = CRAM_OPT_SEQS_PER_SLICE, o->val.i = atoi(cp); + else if (strcmp(arg, "SLICES_PER_CONTAINER") == 0) + o->opt = CRAM_OPT_SLICES_PER_CONTAINER, o->val.i = atoi(cp); + else if (strcmp(arg, "EMBED_REF") == 0) + o->opt = CRAM_OPT_EMBED_REF, o->val.i = atoi(cp); + else if (strcmp(arg, "NO_REF") == 0) + o->opt = CRAM_OPT_NO_REF, o->val.i = atoi(cp); + else if (strcmp(arg, "IGNORE_MD5") == 0) + o->opt = CRAM_OPT_IGNORE_MD5, o->val.i = atoi(cp); + else if (strcmp(arg, "USE_BZIP2") == 0) + o->opt = CRAM_OPT_USE_BZIP2, o->val.i = atoi(cp); + else if (strcmp(arg, "USE_RANS") == 0) + o->opt = CRAM_OPT_USE_RANS, o->val.i = atoi(cp); + else if (strcmp(arg, "USE_LZMA") == 0) + o->opt = CRAM_OPT_USE_LZMA, o->val.i = atoi(cp); + else if (strcmp(arg, "REFERENCE") == 0) + o->opt = CRAM_OPT_REFERENCE, o->val.s = cp; + else if (strcmp(arg, "VERSION") == 0) + o->opt = CRAM_OPT_VERSION, o->val.s =cp; + else if (strcmp(arg, "MULTI_SEQ_PER_SLICE") == 0) + o->opt = CRAM_OPT_MULTI_SEQ_PER_SLICE, o->val.i = atoi(cp); + else if (strcmp(arg, "NTHREADS") == 0) + o->opt = CRAM_OPT_NTHREADS, o->val.i = atoi(cp); + else if (strcmp(arg, "REQUIRED_FIELDS") == 0) + o->opt = CRAM_OPT_REQUIRED_FIELDS, o->val.i = strtol(cp, NULL, 0); + else { + fprintf(stderr, "Unknown option '%s'\n", arg); + free(o); + return -1; + } + + o->next = NULL; + + if (*opts) { + t = *opts; + while (t->next) + t = t->next; + t->next = o; + } else { + *opts = o; + } + + return 0; +} + +int main(int argc, char *argv[]) +{ + samFile *in; + char *fn_ref = 0; + int flag = 0, c, clevel = -1, ignore_sam_err = 0; + char moder[8]; + bam_hdr_t *h; + bam1_t *b; + htsFile *out; + char modew[8]; + int r = 0, exit_code = 0; + hts_opt *in_opts = NULL, *out_opts = NULL, *last = NULL; + + while ((c = getopt(argc, argv, "IbDCSl:t:i:o:")) >= 0) { + switch (c) { + case 'S': flag |= 1; break; + case 'b': flag |= 2; break; + case 'D': flag |= 4; break; + case 'C': flag |= 8; break; + case 'l': clevel = atoi(optarg); flag |= 2; break; + case 't': fn_ref = optarg; break; + case 'I': ignore_sam_err = 1; break; + case 'i': if (add_option(&in_opts, optarg)) return 1; break; + case 'o': if (add_option(&out_opts, optarg)) return 1; break; + } + } + if (argc == optind) { + fprintf(stderr, "Usage: samview [-bSCSI] [-l level] [-o option=value] || [region]\n"); + return 1; + } + strcpy(moder, "r"); + if (flag&4) strcat(moder, "c"); + else if ((flag&1) == 0) strcat(moder, "b"); + + in = sam_open(argv[optind], moder); + if (in == NULL) { + fprintf(stderr, "Error opening \"%s\"\n", argv[optind]); + return EXIT_FAILURE; + } + h = sam_hdr_read(in); + h->ignore_sam_err = ignore_sam_err; + b = bam_init1(); + + strcpy(modew, "w"); + if (clevel >= 0 && clevel <= 9) sprintf(modew + 1, "%d", clevel); + if (flag&8) strcat(modew, "c"); + else if (flag&2) strcat(modew, "b"); + out = hts_open("-", modew); + if (out == NULL) { + fprintf(stderr, "Error opening standard output\n"); + return EXIT_FAILURE; + } + + /* CRAM output */ + if (flag & 8) { + // Parse input header and use for CRAM output + out->fp.cram->header = sam_hdr_parse_(h->text, h->l_text); + + // Create CRAM references arrays + if (fn_ref) + cram_set_option(out->fp.cram, CRAM_OPT_REFERENCE, fn_ref); + else + // Attempt to fill out a cram->refs[] array from @SQ headers + cram_set_option(out->fp.cram, CRAM_OPT_REFERENCE, NULL); + } + + // Process any options; currently cram only. + for (; in_opts; in_opts = (last=in_opts)->next, free(last)) { + hts_set_opt(in, in_opts->opt, in_opts->val); + if (in_opts->opt == CRAM_OPT_REFERENCE) + hts_set_opt(out, in_opts->opt, in_opts->val); + } + for (; out_opts; out_opts = (last=out_opts)->next, free(last)) + hts_set_opt(out, out_opts->opt, out_opts->val); + + sam_hdr_write(out, h); + if (optind + 1 < argc && !(flag&1)) { // BAM input and has a region + int i; + hts_idx_t *idx; + if ((idx = bam_index_load(argv[optind])) == 0) { + fprintf(stderr, "[E::%s] fail to load the BAM index\n", __func__); + return 1; + } + for (i = optind + 1; i < argc; ++i) { + hts_itr_t *iter; + if ((iter = bam_itr_querys(idx, h, argv[i])) == 0) { + fprintf(stderr, "[E::%s] fail to parse region '%s'\n", __func__, argv[i]); + continue; + } + while ((r = bam_itr_next(in, iter, b)) >= 0) { + if (sam_write1(out, h, b) < 0) { + fprintf(stderr, "Error writing output.\n"); + exit_code = 1; + break; + } + } + hts_itr_destroy(iter); + } + hts_idx_destroy(idx); + } else while ((r = sam_read1(in, h, b)) >= 0) { + if (sam_write1(out, h, b) < 0) { + fprintf(stderr, "Error writing output.\n"); + exit_code = 1; + break; + } + } + + if (r < -1) { + fprintf(stderr, "Error parsing input.\n"); + exit_code = 1; + } + + r = sam_close(out); + if (r < 0) { + fprintf(stderr, "Error closing output.\n"); + exit_code = 1; + } + + bam_destroy1(b); + bam_hdr_destroy(h); + + r = sam_close(in); + if (r < 0) { + fprintf(stderr, "Error closing input.\n"); + exit_code = 1; + } + + return exit_code; +} diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/test_view.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/test_view.pl Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,71 @@ +#! /usr/bin/env perl +# +# Copyright (C) 2013 Genome Research Ltd. +# +# Author: James Bonfield +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +# DEALINGS IN THE SOFTWARE. +use strict; +use warnings; + +my $err_count = 0; +my $suc_count = 0; + +sub test { + my ($cmd) = @_; + print " $cmd\n"; + if (system("$cmd || exit 1") != 0) { + print "FAIL $!\n"; + $err_count++; + } else { + $suc_count++; + } +} + +foreach my $sam (glob("*#*.sam")) { + my ($base, $ref) = ($sam =~ /((.*)#.*)\.sam/); + $ref .= ".fa"; + + my $bam = "$base.tmp.bam"; + my $cram = "$base.tmp.cram"; + + print "\n=== Testing $sam, ref $ref ===\n"; + + # SAM -> BAM -> SAM + test "./test_view -S -b $sam > $bam"; + test "./test_view $bam > $bam.sam_"; + test "./compare_sam.pl $sam $bam.sam_"; + + # SAM -> CRAM -> SAM + test "./test_view -t $ref -S -C $sam > $cram"; + test "./test_view -D $cram > $cram.sam_"; + test "./compare_sam.pl -nomd $sam $cram.sam_"; + + # BAM -> CRAM -> BAM -> SAM + $cram = "$bam.cram"; + test "./test_view -t $ref -C $bam > $cram"; + test "./test_view -b -D $cram > $cram.bam"; + test "./test_view $cram.bam > $cram.bam.sam_"; + test "./compare_sam.pl -nomd $sam $cram.bam.sam_"; +} + +print "\nSuccesses $suc_count\n"; +print "\nFailures $err_count\n"; + +exit ($err_count > 0); diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#blank.sam diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#large_aux.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#large_aux.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,4 @@ +@SQ SN:xx LN:20 +a1 16 xx 1 1 10M * 0 0 AAAAAAAAAA * aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 ak:i:1 al:i:1 am:i:1 an:i:1 ao:i:1 ap:i:1 aq:i:1 ar:i:1 as:i:1 at:i:1 au:i:1 av:i:1 aw:i:1 ax:i:1 ay:i:1 az:i:1 ba:i:1 bb:i:1 bc:i:1 bd:i:1 be:i:1 bf:i:1 bg:i:1 bh:i:1 bi:i:1 bj:i:1 bk:i:1 bl:i:1 bm:i:1 bn:i:1 bo:i:1 bp:i:1 bq:i:1 br:i:1 bs:i:1 bt:i:1 bu:i:1 bv:i:1 bw:i:1 bx:i:1 by:i:1 bz:i:1 ca:i:1 cb:i:1 cc:i:1 cd:i:1 ce:i:1 cf:i:1 cg:i:1 ch:i:1 ci:i:1 cj:i:1 ck:i:1 cl:i:1 cm:i:1 cn:i:1 co:i:1 cp:i:1 cq:i:1 cr:i:1 cs:i:1 ct:i:1 cu:i:1 cv:i:1 cw:i:1 cx:i:1 cy:i:1 cz:i:1 da:i:1 db:i:1 dc:i:1 dd:i:1 de:i:1 df:i:1 dg:i:1 dh:i:1 di:i:1 dj:i:1 dk:i:1 dl:i:1 dm:i:1 dn:i:1 do:i:1 dp:i:1 dq:i:1 dr:i:1 ds:i:1 dt:i:1 du:i:1 dv:i:1 dw:i:1 dx:i:1 dy:i:1 dz:i:1 ea:i:1 eb:i:1 ec:i:1 ed:i:1 ee:i:1 ef:i:1 eg:i:1 eh:i:1 ei:i:1 ej:i:1 ek:i:1 el:i:1 em:i:1 en:i:1 eo:i:1 ep:i:1 eq:i:1 er:i:1 es:i:1 et:i:1 eu:i:1 ev:i:1 ew:i:1 ex:i:1 ey:i:1 ez:i:1 fa:i:1 fb:i:1 fc:i:1 fd:i:1 fe:i:1 ff:i:1 fg:i:1 fh:i:1 fi:i:1 fj:i:1 fk:i:1 fl:i:1 fm:i:1 fn:i:1 fo:i:1 fp:i:1 fq:i:1 fr:i:1 fs:i:1 ft:i:1 fu:i:1 fv:i:1 fw:i:1 fx:i:1 fy:i:1 fz:i:1 ga:i:1 gb:i:1 gc:i:1 gd:i:1 ge:i:1 gf:i:1 gg:i:1 gh:i:1 gi:i:1 gj:i:1 gk:i:1 gl:i:1 gm:i:1 gn:i:1 go:i:1 gp:i:1 gq:i:1 gr:i:1 gs:i:1 gt:i:1 gu:i:1 gv:i:1 gw:i:1 gx:i:1 gy:i:1 gz:i:1 ha:i:1 hb:i:1 hc:i:1 hd:i:1 he:i:1 hf:i:1 hg:i:1 hh:i:1 hi:i:1 hj:i:1 hk:i:1 hl:i:1 hm:i:1 hn:i:1 ho:i:1 hp:i:1 hq:i:1 hr:i:1 hs:i:1 ht:i:1 hu:i:1 hv:i:1 hw:i:1 hx:i:1 hy:i:1 hz:i:1 ia:i:1 ib:i:1 ic:i:1 id:i:1 ie:i:1 if:i:1 ig:i:1 ih:i:1 ii:i:1 ij:i:1 ik:i:1 il:i:1 im:i:1 in:i:1 io:i:1 ip:i:1 iq:i:1 ir:i:1 is:i:1 it:i:1 iu:i:1 iv:i:1 iw:i:1 ix:i:1 iy:i:1 iz:i:1 ja:i:1 jb:i:1 jc:i:1 jd:i:1 je:i:1 jf:i:1 jg:i:1 jh:i:1 ji:i:1 jj:i:1 jk:i:1 jl:i:1 jm:i:1 jn:i:1 jo:i:1 jp:i:1 jq:i:1 jr:i:1 js:i:1 jt:i:1 ju:i:1 +a2 16 xx 1 1 10M * 0 0 AAAAAAAAAA * aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 ak:i:1 al:i:1 am:i:1 an:i:1 ao:i:1 ap:i:1 aq:i:1 ar:i:1 as:i:1 at:i:1 au:i:1 av:i:1 aw:i:1 ax:i:1 ay:i:1 az:i:1 ba:i:1 bb:i:1 bc:i:1 bd:i:1 be:i:1 bf:i:1 bg:i:1 bh:i:1 bi:i:1 bj:i:1 bk:i:1 bl:i:1 bm:i:1 bn:i:1 bo:i:1 bp:i:1 bq:i:1 br:i:1 bs:i:1 bt:i:1 bu:i:1 bv:i:1 bw:i:1 bx:i:1 by:i:1 bz:i:1 ca:i:1 cb:i:1 cc:i:1 cd:i:1 ce:i:1 cf:i:1 cg:i:1 ch:i:1 ci:i:1 cj:i:1 ck:i:1 cl:i:1 cm:i:1 cn:i:1 co:i:1 cp:i:1 cq:i:1 cr:i:1 cs:i:1 ct:i:1 cu:i:1 cv:i:1 cw:i:1 cx:i:1 cy:i:1 cz:i:1 da:i:1 db:i:1 dc:i:1 dd:i:1 de:i:1 df:i:1 dg:i:1 dh:i:1 di:i:1 dj:i:1 dk:i:1 dl:i:1 dm:i:1 dn:i:1 do:i:1 dp:i:1 dq:i:1 dr:i:1 ds:i:1 dt:i:1 du:i:1 dv:i:1 dw:i:1 dx:i:1 dy:i:1 dz:i:1 ea:i:1 eb:i:1 ec:i:1 ed:i:1 ee:i:1 ef:i:1 eg:i:1 eh:i:1 ei:i:1 ej:i:1 ek:i:1 el:i:1 em:i:1 en:i:1 eo:i:1 ep:i:1 eq:i:1 er:i:1 es:i:1 et:i:1 eu:i:1 ev:i:1 ew:i:1 ex:i:1 ey:i:1 ez:i:1 fa:i:1 fb:i:1 fc:i:1 fd:i:1 fe:i:1 ff:i:1 fg:i:1 fh:i:1 fi:i:1 fj:i:1 fk:i:1 fl:i:1 fm:i:1 fn:i:1 fo:i:1 fp:i:1 fq:i:1 fr:i:1 fs:i:1 ft:i:1 fu:i:1 fv:i:1 fw:i:1 fx:i:1 fy:i:1 fz:i:1 ga:i:1 gb:i:1 gc:i:1 gd:i:1 ge:i:1 gf:i:1 gg:i:1 gh:i:1 gi:i:1 gj:i:1 gk:i:1 gl:i:1 gm:i:1 gn:i:1 go:i:1 gp:i:1 gq:i:1 gr:i:1 gs:i:1 gt:i:1 gu:i:1 gv:i:1 gw:i:1 gx:i:1 gy:i:1 gz:i:1 ha:i:1 hb:i:1 hc:i:1 hd:i:1 he:i:1 hf:i:1 hg:i:1 hh:i:1 hi:i:1 hj:i:1 hk:i:1 hl:i:1 hm:i:1 hn:i:1 ho:i:1 hp:i:1 hq:i:1 hr:i:1 hs:i:1 ht:i:1 hu:i:1 hv:i:1 hw:i:1 hx:i:1 hy:i:1 hz:i:1 ia:i:1 ib:i:1 ic:i:1 id:i:1 ie:i:1 if:i:1 ig:i:1 ih:i:1 ii:i:1 ij:i:1 ik:i:1 il:i:1 im:i:1 in:i:1 io:i:1 ip:i:1 iq:i:1 ir:i:1 is:i:1 it:i:1 iu:i:1 iv:i:1 iw:i:1 ix:i:1 iy:i:1 iz:i:1 ja:i:1 jb:i:1 jc:i:1 jd:i:1 je:i:1 jf:i:1 jg:i:1 jh:i:1 ji:i:1 jj:i:1 jk:i:1 jl:i:1 jm:i:1 jn:i:1 jo:i:1 jp:i:1 jq:i:1 jr:i:1 js:i:1 jt:i:1 ju:i:1 Aa:i:1 Ab:i:1 Ac:i:1 Ad:i:1 Ae:i:1 Af:i:1 Ag:i:1 Ah:i:1 Ai:i:1 Aj:i:1 Ak:i:1 Al:i:1 Am:i:1 An:i:1 Ao:i:1 Ap:i:1 Aq:i:1 Ar:i:1 As:i:1 At:i:1 Au:i:1 Av:i:1 Aw:i:1 Ax:i:1 Ay:i:1 Az:i:1 Ba:i:1 Bb:i:1 Bc:i:1 Bd:i:1 Be:i:1 Bf:i:1 Bg:i:1 Bh:i:1 Bi:i:1 Bj:i:1 Bk:i:1 Bl:i:1 Bm:i:1 Bn:i:1 Bo:i:1 Bp:i:1 Bq:i:1 Br:i:1 Bs:i:1 Bt:i:1 Bu:i:1 Bv:i:1 Bw:i:1 Bx:i:1 By:i:1 Bz:i:1 Ca:i:1 Cb:i:1 Cc:i:1 Cd:i:1 Ce:i:1 Cf:i:1 Cg:i:1 Ch:i:1 Ci:i:1 Cj:i:1 Ck:i:1 Cl:i:1 Cm:i:1 Cn:i:1 Co:i:1 Cp:i:1 Cq:i:1 Cr:i:1 Cs:i:1 Ct:i:1 Cu:i:1 Cv:i:1 Cw:i:1 Cx:i:1 Cy:i:1 Cz:i:1 Da:i:1 Db:i:1 Dc:i:1 Dd:i:1 De:i:1 Df:i:1 Dg:i:1 Dh:i:1 Di:i:1 Dj:i:1 Dk:i:1 Dl:i:1 Dm:i:1 Dn:i:1 Do:i:1 Dp:i:1 Dq:i:1 Dr:i:1 Ds:i:1 Dt:i:1 Du:i:1 Dv:i:1 Dw:i:1 Dx:i:1 Dy:i:1 Dz:i:1 Ea:i:1 Eb:i:1 Ec:i:1 Ed:i:1 Ee:i:1 Ef:i:1 Eg:i:1 Eh:i:1 Ei:i:1 Ej:i:1 Ek:i:1 El:i:1 Em:i:1 En:i:1 Eo:i:1 Ep:i:1 Eq:i:1 Er:i:1 Es:i:1 Et:i:1 Eu:i:1 Ev:i:1 Ew:i:1 Ex:i:1 Ey:i:1 Ez:i:1 Fa:i:1 Fb:i:1 Fc:i:1 Fd:i:1 Fe:i:1 Ff:i:1 Fg:i:1 Fh:i:1 Fi:i:1 Fj:i:1 Fk:i:1 Fl:i:1 Fm:i:1 Fn:i:1 Fo:i:1 Fp:i:1 Fq:i:1 Fr:i:1 Fs:i:1 Ft:i:1 Fu:i:1 Fv:i:1 Fw:i:1 Fx:i:1 Fy:i:1 Fz:i:1 Ga:i:1 Gb:i:1 Gc:i:1 Gd:i:1 Ge:i:1 Gf:i:1 Gg:i:1 Gh:i:1 Gi:i:1 Gj:i:1 Gk:i:1 Gl:i:1 Gm:i:1 Gn:i:1 Go:i:1 Gp:i:1 Gq:i:1 Gr:i:1 Gs:i:1 Gt:i:1 Gu:i:1 Gv:i:1 Gw:i:1 Gx:i:1 Gy:i:1 Gz:i:1 Ha:i:1 Hb:i:1 Hc:i:1 Hd:i:1 He:i:1 Hf:i:1 Hg:i:1 Hh:i:1 Hi:i:1 Hj:i:1 Hk:i:1 Hl:i:1 Hm:i:1 Hn:i:1 Ho:i:1 Hp:i:1 Hq:i:1 Hr:i:1 Hs:i:1 Ht:i:1 Hu:i:1 Hv:i:1 Hw:i:1 Hx:i:1 Hy:i:1 Hz:i:1 Ia:i:1 Ib:i:1 Ic:i:1 Id:i:1 Ie:i:1 If:i:1 Ig:i:1 Ih:i:1 Ii:i:1 Ij:i:1 Ik:i:1 Il:i:1 Im:i:1 In:i:1 Io:i:1 Ip:i:1 Iq:i:1 Ir:i:1 Is:i:1 It:i:1 Iu:i:1 Iv:i:1 Iw:i:1 Ix:i:1 Iy:i:1 Iz:i:1 Ja:i:1 Jb:i:1 Jc:i:1 Jd:i:1 Je:i:1 Jf:i:1 Jg:i:1 Jh:i:1 Ji:i:1 Jj:i:1 Jk:i:1 Jl:i:1 Jm:i:1 Jn:i:1 Jo:i:1 Jp:i:1 Jq:i:1 Jr:i:1 Js:i:1 Jt:i:1 Ju:i:1 +b1 16 xx 1 1 10M * 0 0 AAAAAAAAAA * ZZ:Z:!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""####################################################################################################$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((())))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))****************************************************************************************************++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,----------------------------------------------------------------------------------------------------....................................................................................................////////////////////////////////////////////////////////////////////////////////////////////////////0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111122222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222223333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444444455555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555555556666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777777788888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888888889999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<====================================================================================================>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>????????????????????????????????????????????????????????????????????????????????????????????????????@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____________________________________________________________________________________________________````````````````````````````````````````````````````````````````````````````````````````````````````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#large_aux2.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#large_aux2.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,11 @@ +@SQ SN:xx LN:20 +a1 0 xx 1 1 1M * 0 0 A # aa:i:1 +a2 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 +a3 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 +a4 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 +a5 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 +a6 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 +a7 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 +a8 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 +a9 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 +aA 0 xx 1 1 1M * 0 0 A # aa:i:1 ab:i:1 ac:i:1 ad:i:1 ae:i:1 af:i:1 ag:i:1 ah:i:1 ai:i:1 aj:i:1 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#minimal.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#minimal.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +@SQ SN:xx LN:20 +@SQ SN:yy LN:20 +a0 16 xx 4 1 10H * 0 0 * * +a1 16 xx 4 1 5H0M5H * 0 0 * * +a2 16 xx 4 1 5H0I10M0D5H * 0 0 * * +A0 16 yy 4 1 0H * 0 0 * * +A1 16 yy 4 1 0I * 0 0 * * +A2 16 yy 4 1 0D * 0 0 * * +A3 16 yy 4 1 0M * 0 0 * * +A4 16 yy 4 1 0P * 0 0 * * diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#pair.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#pair.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,7 @@ +@SQ SN:xx LN:20 +a1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** +b1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** +c1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** +a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** +b1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** +c1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#rg.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#rg.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,13 @@ +@HD VN:1.4 SO:coordinate +@SQ SN:xx LN:20 AS:? SP:? UR:? M5:bbf4de6d8497a119dda6e074521643dc +@RG ID:x1 SM:x1 +@RG ID:x2 SM:x2 LB:x PG:foo:bar PI:1111 +@PG ID:emacs PN:emacs VN:23.1.1 +@CO also test +@CO other headers +a1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** RG:Z:x1 +b1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** RG:Z:x2 +c1 16 xx 1 1 10M * 0 0 AAAAAAAAAA ********** +a2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** RG:Z:x1 +b2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** RG:Z:x2 +c2 16 xx 11 1 10M * 0 0 TTTTTTTTTT ********** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#triplet.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#triplet.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,7 @@ +@SQ SN:xx LN:20 +@SQ SN:yy LN:20 +a1 67 xx 1 1 10M = 6 20 AAAAAAAAAA ********** +a1 35 xx 6 1 10M = 11 -20 AAAAATTTTT ********** +a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** +a1 67 yy 1 1 10M = 6 15 AAAAAAAAAA ********** +a1 3 yy 6 1 10M = 1 -15 AAAAATTTTT ********** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx#unsorted.sam --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx#unsorted.sam Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,8 @@ +@SQ SN:xx LN:20 +@SQ SN:yy LN:20 +b1 147 yy 11 1 10M = 1 -20 TTTTTTTTTT ********** +a1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** +a1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** +b1 99 yy 1 1 10M = 11 20 AAAAAAAAAA ********** +c1 99 xx 1 1 10M = 11 20 AAAAAAAAAA ********** +c1 147 xx 11 1 10M = 1 -20 TTTTTTTTTT ********** diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx.fa --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx.fa Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +>xx +AAAAAAAAAATTTTTTTTTT +>yy +AAAAAAAAAATTTTTTTTTT + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/test/xx.fa.fai --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/test/xx.fa.fai Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,2 @@ +xx 20 4 20 21 +yy 20 29 20 21 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/vcf.5 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/vcf.5 Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,120 @@ +'\" t +.TH vcf 5 "August 2013" "htslib" "Bioinformatics formats" +.SH NAME +vcf \- Variant Call Format +.\" +.\" Copyright (C) 2011 Broad Institute. +.\" Copyright (C) 2013 Genome Research Ltd. +.\" +.\" Author: Heng Li +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the "Software"), +.\" to deal in the Software without restriction, including without limitation +.\" the rights to use, copy, modify, merge, publish, distribute, sublicense, +.\" and/or sell copies of the Software, and to permit persons to whom the +.\" Software is furnished to do so, subject to the following conditions: +.\" +.\" The above copyright notice and this permission notice shall be included in +.\" all copies or substantial portions of the Software. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +.\" IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +.\" FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +.\" THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +.\" LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +.\" FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +.\" DEALINGS IN THE SOFTWARE. +.\" +.SH DESCRIPTION +The Variant Call Format (VCF) is a TAB-delimited format with each data line +consisting of the following fields: +.TS +nlbl. +1 CHROM CHROMosome name +2 POS the left-most POSition of the variant +3 ID unique variant IDentifier +4 REF the REFerence allele +5 ALT the ALTernate allele(s) (comma-separated) +6 QUAL variant/reference QUALity +7 FILTER FILTERs applied +8 INFO INFOrmation related to the variant (semicolon-separated) +9 FORMAT FORMAT of the genotype fields (optional; colon-separated) +10+ SAMPLE SAMPLE genotypes and per-sample information (optional) +.TE +.P +The following table gives the \fBINFO\fP tags used by samtools and bcftools. +.TP +.B AF1 +Max-likelihood estimate of the site allele frequency (AF) of the first ALT allele +(double) +.TP +.B DP +Raw read depth (without quality filtering) +(int) +.TP +.B DP4 +# high-quality reference forward bases, ref reverse, alternate for and alt rev bases +(int[4]) +.TP +.B FQ +Consensus quality. Positive: sample genotypes different; negative: otherwise +(int) +.TP +.B MQ +Root-Mean-Square mapping quality of covering reads +(int) +.TP +.B PC2 +Phred probability of AF in group1 samples being larger (,smaller) than in group2 +(int[2]) +.TP +.B PCHI2 +Posterior weighted chi^2 P-value between group1 and group2 samples +(double) +.TP +.B PV4 +P-value for strand bias, baseQ bias, mapQ bias and tail distance bias +(double[4]) +.TP +.B QCHI2 +Phred-scaled PCHI2 +(int) +.TP +.B RP +# permutations yielding a smaller PCHI2 +(int) +.TP +.B CLR +Phred log ratio of genotype likelihoods with and without the trio/pair constraint +(int) +.TP +.B UGT +Most probable genotype configuration without the trio constraint +(string) +.TP +.B CGT +Most probable configuration with the trio constraint +(string) +.TP +.B VDB +Tests variant positions within reads. Intended for filtering RNA-seq artifacts around splice sites +(float) +.TP +.B RPB +Mann-Whitney rank-sum test for tail distance bias +(float) +.TP +.B HWE +Hardy-Weinberg equilibrium test (Wigginton et al) +(float) +.P +.SH SEE ALSO +.TP +https://github.com/samtools/hts-specs +The full VCF/BCF file format specification +.TP +.I A note on exact tests of Hardy-Weinberg equilibrium +Wigginton JE et al +PMID:15789306 +.\" (http://www.ncbi.nlm.nih.gov/pubmed/15789306) diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/vcf.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/vcf.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3212 @@ +/* vcf.c -- VCF/BCF API functions. + + Copyright (C) 2012, 2013 Broad Institute. + Copyright (C) 2012-2014 Genome Research Ltd. + Portions copyright (C) 2014 Intel Corporation. + + Author: Heng Li + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include +#include +#include +#include +#include +#include +#include +#include "htslib/kstring.h" +#include "htslib/bgzf.h" +#include "htslib/vcf.h" +#include "htslib/tbx.h" +#include "htslib/hfile.h" +#include "htslib/khash_str2int.h" + +#include "htslib/khash.h" +KHASH_MAP_INIT_STR(vdict, bcf_idinfo_t) +typedef khash_t(vdict) vdict_t; + +#include "htslib/kseq.h" +KSTREAM_DECLARE(gzFile, gzread) + +uint32_t bcf_float_missing = 0x7F800001; +uint32_t bcf_float_vector_end = 0x7F800002; +uint8_t bcf_type_shift[] = { 0, 0, 1, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; +static bcf_idinfo_t bcf_idinfo_def = { .info = { 15, 15, 15 }, .hrec = { NULL, NULL, NULL}, .id = -1 }; + +/************************* + *** VCF header parser *** + *************************/ + +int bcf_hdr_sync(bcf_hdr_t *h); + +int bcf_hdr_add_sample(bcf_hdr_t *h, const char *s) +{ + if ( !s ) return 0; + + const char *ss = s; + while ( !*ss && isspace(*ss) ) ss++; + if ( !*ss ) + { + fprintf(stderr,"[E::%s] Empty sample name: trailing spaces/tabs in the header line?\n", __func__); + abort(); + } + + vdict_t *d = (vdict_t*)h->dict[BCF_DT_SAMPLE]; + int ret; + char *sdup = strdup(s); + int k = kh_put(vdict, d, sdup, &ret); + if (ret) { // absent + kh_val(d, k) = bcf_idinfo_def; + kh_val(d, k).id = kh_size(d) - 1; + } else { + if (hts_verbose >= 2) + { + fprintf(stderr, "[E::%s] Duplicated sample name '%s'\n", __func__, s); + abort(); + } + free(sdup); + return -1; + } + int n = kh_size(d); + h->samples = (char**) realloc(h->samples,sizeof(char*)*n); + h->samples[n-1] = sdup; + h->dirty = 1; + return 0; +} + +int bcf_hdr_parse_sample_line(bcf_hdr_t *h, const char *str) +{ + int ret = 0; + int i = 0; + const char *p, *q; + // add samples + for (p = q = str;; ++q) { + if (*q != '\t' && *q != 0 && *q != '\n') continue; + if (++i > 9) { + char *s = (char*)malloc(q - p + 1); + strncpy(s, p, q - p); + s[q - p] = 0; + if ( bcf_hdr_add_sample(h,s) < 0 ) ret = -1; + free(s); + } + if (*q == 0 || *q == '\n') break; + p = q + 1; + } + bcf_hdr_add_sample(h,NULL); + return ret; +} + +int bcf_hdr_sync(bcf_hdr_t *h) +{ + int i; + for (i = 0; i < 3; i++) + { + vdict_t *d = (vdict_t*)h->dict[i]; + khint_t k; + + // find out the largest id, there may be holes because of IDX + int max_id = -1; + for (k=kh_begin(d); k= h->n[i] ) + { + h->id[i] = (bcf_idpair_t*)realloc(h->id[i], (max_id+1)*sizeof(bcf_idpair_t)); + for (k=h->n[i]; k<=max_id; k++) + { + h->id[i][k].key = NULL; + h->id[i][k].val = NULL; + } + h->n[i] = max_id+1; + } + for (k=kh_begin(d); kid[i][kh_val(d,k).id].key = kh_key(d,k); + h->id[i][kh_val(d,k).id].val = &kh_val(d,k); + } + } + h->dirty = 0; + return 0; +} + +void bcf_hrec_destroy(bcf_hrec_t *hrec) +{ + free(hrec->key); + if ( hrec->value ) free(hrec->value); + int i; + for (i=0; inkeys; i++) + { + free(hrec->keys[i]); + free(hrec->vals[i]); + } + free(hrec->keys); + free(hrec->vals); + free(hrec); +} + +// Copies all fields except IDX. +bcf_hrec_t *bcf_hrec_dup(bcf_hrec_t *hrec) +{ + bcf_hrec_t *out = (bcf_hrec_t*) calloc(1,sizeof(bcf_hrec_t)); + out->type = hrec->type; + if ( hrec->key ) out->key = strdup(hrec->key); + if ( hrec->value ) out->value = strdup(hrec->value); + out->nkeys = hrec->nkeys; + out->keys = (char**) malloc(sizeof(char*)*hrec->nkeys); + out->vals = (char**) malloc(sizeof(char*)*hrec->nkeys); + int i, j = 0; + for (i=0; inkeys; i++) + { + if ( hrec->keys[i] && !strcmp("IDX",hrec->keys[i]) ) continue; + if ( hrec->keys[i] ) out->keys[j] = strdup(hrec->keys[i]); + if ( hrec->vals[i] ) out->vals[j] = strdup(hrec->vals[i]); + j++; + } + if ( i!=j ) out->nkeys -= i-j; // IDX was omitted + return out; +} + +void bcf_hrec_debug(FILE *fp, bcf_hrec_t *hrec) +{ + fprintf(fp, "key=[%s] value=[%s]", hrec->key, hrec->value?hrec->value:""); + int i; + for (i=0; inkeys; i++) + fprintf(fp, "\t[%s]=[%s]", hrec->keys[i],hrec->vals[i]); + fprintf(fp, "\n"); +} + +void bcf_header_debug(bcf_hdr_t *hdr) +{ + int i, j; + for (i=0; inhrec; i++) + { + if ( !hdr->hrec[i]->value ) + { + fprintf(stderr, "##%s=<", hdr->hrec[i]->key); + fprintf(stderr,"%s=%s", hdr->hrec[i]->keys[0], hdr->hrec[i]->vals[0]); + for (j=1; jhrec[i]->nkeys; j++) + fprintf(stderr,",%s=%s", hdr->hrec[i]->keys[j], hdr->hrec[i]->vals[j]); + fprintf(stderr,">\n"); + } + else + fprintf(stderr,"##%s=%s\n", hdr->hrec[i]->key,hdr->hrec[i]->value); + } +} + +void bcf_hrec_add_key(bcf_hrec_t *hrec, const char *str, int len) +{ + int n = ++hrec->nkeys; + hrec->keys = (char**) realloc(hrec->keys, sizeof(char*)*n); + hrec->vals = (char**) realloc(hrec->vals, sizeof(char*)*n); + assert( len ); + hrec->keys[n-1] = (char*) malloc((len+1)*sizeof(char)); + memcpy(hrec->keys[n-1],str,len); + hrec->keys[n-1][len] = 0; + hrec->vals[n-1] = NULL; +} + +void bcf_hrec_set_val(bcf_hrec_t *hrec, int i, const char *str, int len, int is_quoted) +{ + if ( !str ) { hrec->vals[i] = NULL; return; } + if ( hrec->vals[i] ) free(hrec->vals[i]); + if ( is_quoted ) + { + hrec->vals[i] = (char*) malloc((len+3)*sizeof(char)); + hrec->vals[i][0] = '"'; + memcpy(&hrec->vals[i][1],str,len); + hrec->vals[i][len+1] = '"'; + hrec->vals[i][len+2] = 0; + } + else + { + hrec->vals[i] = (char*) malloc((len+1)*sizeof(char)); + memcpy(hrec->vals[i],str,len); + hrec->vals[i][len] = 0; + } +} + +void hrec_add_idx(bcf_hrec_t *hrec, int idx) +{ + int n = ++hrec->nkeys; + hrec->keys = (char**) realloc(hrec->keys, sizeof(char*)*n); + hrec->vals = (char**) realloc(hrec->vals, sizeof(char*)*n); + hrec->keys[n-1] = strdup("IDX"); + kstring_t str = {0,0,0}; + kputw(idx, &str); + hrec->vals[n-1] = str.s; +} + +int bcf_hrec_find_key(bcf_hrec_t *hrec, const char *key) +{ + int i; + for (i=0; inkeys; i++) + if ( !strcasecmp(key,hrec->keys[i]) ) return i; + return -1; +} + +static inline int is_escaped(const char *min, const char *str) +{ + int n = 0; + while ( --str>=min && *str=='\\' ) n++; + return n%2; +} + +bcf_hrec_t *bcf_hdr_parse_line(const bcf_hdr_t *h, const char *line, int *len) +{ + const char *p = line; + if (p[0] != '#' || p[1] != '#') { *len = 0; return NULL; } + p += 2; + + const char *q = p; + while ( *q && *q!='=' ) q++; + int n = q-p; + if ( *q!='=' || !n ) { *len = q-line+1; return NULL; } // wrong format + + bcf_hrec_t *hrec = (bcf_hrec_t*) calloc(1,sizeof(bcf_hrec_t)); + hrec->key = (char*) malloc(sizeof(char)*(n+1)); + memcpy(hrec->key,p,n); + hrec->key[n] = 0; + + p = ++q; + if ( *p!='<' ) // generic field, e.g. ##samtoolsVersion=0.1.18-r579 + { + while ( *q && *q!='\n' ) q++; + hrec->value = (char*) malloc((q-p+1)*sizeof(char)); + memcpy(hrec->value, p, q-p); + hrec->value[q-p] = 0; + *len = q-line+1; + return hrec; + } + + // structured line, e.g. ##INFO= + int nopen = 1; + while ( *q && *q!='\n' && nopen ) + { + p = ++q; + while ( *q && isalnum(*q) ) q++; + n = q-p; + if ( *q!='=' || !n ) + { + // wrong format + while ( *q && *q!='\n' ) q++; + kstring_t tmp = {0,0,0}; + kputsn(line,q-line,&tmp); + fprintf(stderr,"Could not parse the header line: \"%s\"\n", tmp.s); + free(tmp.s); + *len = q-line+1; + bcf_hrec_destroy(hrec); + return NULL; + } + bcf_hrec_add_key(hrec, p, q-p); + p = ++q; + int quoted = *p=='"' ? 1 : 0; + if ( quoted ) p++, q++; + while (1) + { + if ( !*q ) break; + if ( quoted ) { if ( *q=='"' && !is_escaped(p,q) ) break; } + else + { + if ( *q=='<' ) nopen++; + if ( *q=='>' ) nopen--; + if ( !nopen ) break; + if ( *q==',' && nopen==1 ) break; + } + q++; + } + bcf_hrec_set_val(hrec, hrec->nkeys-1, p, q-p, quoted); + if ( quoted ) q++; + if ( *q=='>' ) { nopen--; q++; } + } + *len = q-line+1; + return hrec; +} + +// returns: 1 when hdr needs to be synced, 0 otherwise +int bcf_hdr_register_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec) +{ + // contig + int i,j,k, ret; + char *str; + if ( !strcmp(hrec->key, "contig") ) + { + hrec->type = BCF_HL_CTG; + + // Get the contig ID ($str) and length ($j) + i = bcf_hrec_find_key(hrec,"length"); + if ( i<0 ) j = 0; + else if ( sscanf(hrec->vals[i],"%d",&j)!=1 ) return 0; + + i = bcf_hrec_find_key(hrec,"ID"); + if ( i<0 ) return 0; + str = strdup(hrec->vals[i]); + + // Register in the dictionary + vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_CTG]; + k = kh_put(vdict, d, str, &ret); + if ( !ret ) { free(str); return 0; } // already present + + int idx = bcf_hrec_find_key(hrec,"IDX"); + if ( idx!=-1 ) + { + char *tmp = hrec->vals[idx]; + idx = strtol(hrec->vals[idx], &tmp, 10); + if ( *tmp ) + { + fprintf(stderr,"[%s:%d %s] Error parsing the IDX tag, skipping.\n", __FILE__,__LINE__,__FUNCTION__); + return 0; + } + } + else + { + idx = kh_size(d) - 1; + hrec_add_idx(hrec, idx); + } + + kh_val(d, k) = bcf_idinfo_def; + kh_val(d, k).id = idx; + kh_val(d, k).info[0] = j; + kh_val(d, k).hrec[0] = hrec; + + return 1; + } + + if ( !strcmp(hrec->key, "INFO") ) hrec->type = BCF_HL_INFO; + else if ( !strcmp(hrec->key, "FILTER") ) hrec->type = BCF_HL_FLT; + else if ( !strcmp(hrec->key, "FORMAT") ) hrec->type = BCF_HL_FMT; + else if ( hrec->nkeys>0 ) { hrec->type = BCF_HL_STR; return 1; } + else return 0; + + // INFO/FILTER/FORMAT + char *id = NULL; + int type = -1, num = -1, var = -1, idx = -1; + for (i=0; inkeys; i++) + { + if ( !strcmp(hrec->keys[i], "ID") ) id = hrec->vals[i]; + else if ( !strcmp(hrec->keys[i], "IDX") ) + { + char *tmp = hrec->vals[i]; + idx = strtol(hrec->vals[i], &tmp, 10); + if ( *tmp ) + { + fprintf(stderr,"[%s:%d %s] Error parsing the IDX tag, skipping.\n", __FILE__,__LINE__,__FUNCTION__); + return 0; + } + } + else if ( !strcmp(hrec->keys[i], "Type") ) + { + if ( !strcmp(hrec->vals[i], "Integer") ) type = BCF_HT_INT; + else if ( !strcmp(hrec->vals[i], "Float") ) type = BCF_HT_REAL; + else if ( !strcmp(hrec->vals[i], "String") ) type = BCF_HT_STR; + else if ( !strcmp(hrec->vals[i], "Character") ) type = BCF_HT_STR; + else if ( !strcmp(hrec->vals[i], "Flag") ) type = BCF_HT_FLAG; + else + { + fprintf(stderr, "[E::%s] The type \"%s\" not supported, assuming \"String\"\n", __func__, hrec->vals[i]); + type = BCF_HT_STR; + } + } + else if ( !strcmp(hrec->keys[i], "Number") ) + { + if ( !strcmp(hrec->vals[i],"A") ) var = BCF_VL_A; + else if ( !strcmp(hrec->vals[i],"R") ) var = BCF_VL_R; + else if ( !strcmp(hrec->vals[i],"G") ) var = BCF_VL_G; + else if ( !strcmp(hrec->vals[i],".") ) var = BCF_VL_VAR; + else + { + sscanf(hrec->vals[i],"%d",&num); + var = BCF_VL_FIXED; + } + if (var != BCF_VL_FIXED) num = 0xfffff; + } + } + uint32_t info = (uint32_t)num<<12 | var<<8 | type<<4 | hrec->type; + + if ( !id ) return 0; + str = strdup(id); + + vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_ID]; + k = kh_put(vdict, d, str, &ret); + if ( !ret ) + { + // already present + free(str); + if ( kh_val(d, k).hrec[info&0xf] ) return 0; + kh_val(d, k).info[info&0xf] = info; + kh_val(d, k).hrec[info&0xf] = hrec; + if ( idx==-1 ) hrec_add_idx(hrec, kh_val(d, k).id); + return 1; + } + kh_val(d, k) = bcf_idinfo_def; + kh_val(d, k).info[info&0xf] = info; + kh_val(d, k).hrec[info&0xf] = hrec; + kh_val(d, k).id = idx==-1 ? kh_size(d) - 1 : idx; + + if ( idx==-1 ) hrec_add_idx(hrec, kh_val(d, k).id); + + return 1; +} + +int bcf_hdr_add_hrec(bcf_hdr_t *hdr, bcf_hrec_t *hrec) +{ + if ( !hrec ) return 0; + + hrec->type = BCF_HL_GEN; + if ( !bcf_hdr_register_hrec(hdr,hrec) ) + { + // If one of the hashed field, then it is already present + if ( hrec->type != BCF_HL_GEN ) + { + bcf_hrec_destroy(hrec); + return 0; + } + + // Is one of the generic fields and already present? + int i; + for (i=0; inhrec; i++) + { + if ( hdr->hrec[i]->type!=BCF_HL_GEN ) continue; + if ( !strcmp(hdr->hrec[i]->key,hrec->key) && !strcmp(hrec->key,"fileformat") ) break; + if ( !strcmp(hdr->hrec[i]->key,hrec->key) && !strcmp(hdr->hrec[i]->value,hrec->value) ) break; + } + if ( inhrec ) + { + bcf_hrec_destroy(hrec); + return 0; + } + } + + // New record, needs to be added + int n = ++hdr->nhrec; + hdr->hrec = (bcf_hrec_t**) realloc(hdr->hrec, n*sizeof(bcf_hrec_t*)); + hdr->hrec[n-1] = hrec; + hdr->dirty = 1; + + return hrec->type==BCF_HL_GEN ? 0 : 1; +} + +/* + * Note that while querying of FLT,INFO,FMT,CTG lines is fast (the keys are hashed), + * the STR,GEN lines are searched for linearly in a linked list of all header lines. + * This may become a problem for VCFs with huge headers, we might need to build a + * dictionary for these lines as well. + */ +bcf_hrec_t *bcf_hdr_get_hrec(const bcf_hdr_t *hdr, int type, const char *key, const char *value, const char *str_class) +{ + int i; + if ( type==BCF_HL_GEN ) + { + for (i=0; inhrec; i++) + { + if ( hdr->hrec[i]->type!=type ) continue; + if ( strcmp(hdr->hrec[i]->key,key) ) continue; + if ( !value || !strcmp(hdr->hrec[i]->value,value) ) return hdr->hrec[i]; + } + return NULL; + } + else if ( type==BCF_HL_STR ) + { + for (i=0; inhrec; i++) + { + if ( hdr->hrec[i]->type!=type ) continue; + if ( strcmp(hdr->hrec[i]->key,str_class) ) continue; + int j = bcf_hrec_find_key(hdr->hrec[i],key); + if ( j>=0 && !strcmp(hdr->hrec[i]->vals[j],value) ) return hdr->hrec[i]; + } + return NULL; + } + vdict_t *d = type==BCF_HL_CTG ? (vdict_t*)hdr->dict[BCF_DT_CTG] : (vdict_t*)hdr->dict[BCF_DT_ID]; + khint_t k = kh_get(vdict, d, value); + if ( k == kh_end(d) ) return NULL; + return kh_val(d, k).hrec[type==BCF_HL_CTG?0:type]; +} + +void bcf_hdr_check_sanity(bcf_hdr_t *hdr) +{ + static int PL_warned = 0, GL_warned = 0; + + if ( !PL_warned ) + { + int id = bcf_hdr_id2int(hdr, BCF_DT_ID, "PL"); + if ( bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) && bcf_hdr_id2length(hdr,BCF_HL_FMT,id)!=BCF_VL_G ) + { + fprintf(stderr,"[W::%s] PL should be declared as Number=G\n", __func__); + PL_warned = 1; + } + } + if ( !GL_warned ) + { + int id = bcf_hdr_id2int(hdr, BCF_HL_FMT, "GL"); + if ( bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) && bcf_hdr_id2length(hdr,BCF_HL_FMT,id)!=BCF_VL_G ) + { + fprintf(stderr,"[W::%s] GL should be declared as Number=G\n", __func__); + PL_warned = 1; + } + } +} + +int bcf_hdr_parse(bcf_hdr_t *hdr, char *htxt) +{ + int len, needs_sync = 0; + char *p = htxt; + + // Check sanity: "fileformat" string must come as first + bcf_hrec_t *hrec = bcf_hdr_parse_line(hdr,p,&len); + if ( !hrec || !hrec->key || strcasecmp(hrec->key,"fileformat") ) + fprintf(stderr, "[W::%s] The first line should be ##fileformat; is the VCF/BCF header broken?\n", __func__); + needs_sync += bcf_hdr_add_hrec(hdr, hrec); + + // The filter PASS must appear first in the dictionary + hrec = bcf_hdr_parse_line(hdr,"##FILTER=",&len); + needs_sync += bcf_hdr_add_hrec(hdr, hrec); + + // Parse the whole header + while ( (hrec=bcf_hdr_parse_line(hdr,p,&len)) ) + { + needs_sync += bcf_hdr_add_hrec(hdr, hrec); + p += len; + } + int ret = bcf_hdr_parse_sample_line(hdr,p); + bcf_hdr_sync(hdr); + bcf_hdr_check_sanity(hdr); + return ret; +} + +int bcf_hdr_append(bcf_hdr_t *hdr, const char *line) +{ + int len; + bcf_hrec_t *hrec = bcf_hdr_parse_line(hdr, (char*) line, &len); + if ( !hrec ) return -1; + bcf_hdr_add_hrec(hdr, hrec); + return 0; +} + +void bcf_hdr_remove(bcf_hdr_t *hdr, int type, const char *key) +{ + int i; + bcf_hrec_t *hrec; + while (1) + { + if ( type==BCF_HL_FLT || type==BCF_HL_INFO || type==BCF_HL_FMT || type== BCF_HL_CTG ) + { + hrec = bcf_hdr_get_hrec(hdr, type, "ID", key, NULL); + if ( !hrec ) return; + + for (i=0; inhrec; i++) + if ( hdr->hrec[i]==hrec ) break; + assert( inhrec ); + + vdict_t *d = type==BCF_HL_CTG ? (vdict_t*)hdr->dict[BCF_DT_CTG] : (vdict_t*)hdr->dict[BCF_DT_ID]; + khint_t k = kh_get(vdict, d, key); + kh_val(d, k).hrec[type==BCF_HL_CTG?0:type] = NULL; + } + else + { + for (i=0; inhrec; i++) + { + if ( hdr->hrec[i]->type!=type ) continue; + if ( type==BCF_HL_GEN ) + { + if ( !strcmp(hdr->hrec[i]->key,key) ) break; + } + else + { + // not all structured lines have ID, we could be more sophisticated as in bcf_hdr_get_hrec() + int j = bcf_hrec_find_key(hdr->hrec[i], "ID"); + if ( j>=0 && !strcmp(hdr->hrec[i]->vals[j],key) ) break; + } + } + if ( i==hdr->nhrec ) return; + hrec = hdr->hrec[i]; + } + + hdr->nhrec--; + if ( i < hdr->nhrec ) + memmove(&hdr->hrec[i],&hdr->hrec[i+1],(hdr->nhrec-i)*sizeof(bcf_hrec_t*)); + bcf_hrec_destroy(hrec); + hdr->dirty = 1; + } +} + +int bcf_hdr_printf(bcf_hdr_t *hdr, const char *fmt, ...) +{ + va_list ap; + va_start(ap, fmt); + int n = vsnprintf(NULL, 0, fmt, ap) + 2; + va_end(ap); + + char *line = (char*)malloc(n); + va_start(ap, fmt); + vsnprintf(line, n, fmt, ap); + va_end(ap); + + int ret = bcf_hdr_append(hdr, line); + + free(line); + return ret; +} + + +/********************** + *** BCF header I/O *** + **********************/ + +const char *bcf_hdr_get_version(const bcf_hdr_t *hdr) +{ + bcf_hrec_t *hrec = bcf_hdr_get_hrec(hdr, BCF_HL_GEN, "fileformat", NULL, NULL); + if ( !hrec ) + { + fprintf(stderr,"No version string found, assuming VCFv4.2\n"); + return "VCFv4.2"; + } + return hrec->value; +} + +void bcf_hdr_set_version(bcf_hdr_t *hdr, const char *version) +{ + bcf_hrec_t *hrec = bcf_hdr_get_hrec(hdr, BCF_HL_GEN, "fileformat", NULL, NULL); + if ( !hrec ) + { + int len; + kstring_t str = {0,0,0}; + ksprintf(&str,"##fileformat=%s", version); + hrec = bcf_hdr_parse_line(hdr, str.s, &len); + free(str.s); + } + else + { + free(hrec->value); + hrec->value = strdup(version); + } + hdr->dirty = 1; +} + +bcf_hdr_t *bcf_hdr_init(const char *mode) +{ + int i; + bcf_hdr_t *h; + h = (bcf_hdr_t*)calloc(1, sizeof(bcf_hdr_t)); + for (i = 0; i < 3; ++i) + h->dict[i] = kh_init(vdict); + if ( strchr(mode,'w') ) + { + bcf_hdr_append(h, "##fileformat=VCFv4.2"); + // The filter PASS must appear first in the dictionary + bcf_hdr_append(h, "##FILTER="); + } + return h; +} + +void bcf_hdr_destroy(bcf_hdr_t *h) +{ + int i; + khint_t k; + for (i = 0; i < 3; ++i) { + vdict_t *d = (vdict_t*)h->dict[i]; + if (d == 0) continue; + for (k = kh_begin(d); k != kh_end(d); ++k) + if (kh_exist(d, k)) free((char*)kh_key(d, k)); + kh_destroy(vdict, d); + free(h->id[i]); + } + for (i=0; inhrec; i++) + bcf_hrec_destroy(h->hrec[i]); + if (h->nhrec) free(h->hrec); + if (h->samples) free(h->samples); + free(h->keep_samples); + free(h->transl[0]); free(h->transl[1]); + free(h->mem.s); + free(h); +} + +bcf_hdr_t *bcf_hdr_read(htsFile *hfp) +{ + if (hfp->format.format == vcf) + return vcf_hdr_read(hfp); + + BGZF *fp = hfp->fp.bgzf; + uint8_t magic[5]; + bcf_hdr_t *h; + h = bcf_hdr_init("r"); + if ( bgzf_read(fp, magic, 5)<0 ) + { + fprintf(stderr,"[%s:%d %s] Failed to read the header (reading BCF in text mode?)\n", __FILE__,__LINE__,__FUNCTION__); + return NULL; + } + if (strncmp((char*)magic, "BCF\2\2", 5) != 0) + { + if (!strncmp((char*)magic, "BCF", 3)) + fprintf(stderr,"[%s:%d %s] invalid BCF2 magic string: only BCFv2.2 is supported.\n", __FILE__,__LINE__,__FUNCTION__); + else if (hts_verbose >= 2) + fprintf(stderr, "[E::%s] invalid BCF2 magic string\n", __func__); + bcf_hdr_destroy(h); + return 0; + } + int hlen; + char *htxt; + bgzf_read(fp, &hlen, 4); + htxt = (char*)malloc(hlen); + bgzf_read(fp, htxt, hlen); + bcf_hdr_parse(h, htxt); + free(htxt); + return h; +} + +int bcf_hdr_write(htsFile *hfp, bcf_hdr_t *h) +{ + if ( h->dirty ) bcf_hdr_sync(h); + if (hfp->format.format == vcf || hfp->format.format == text_format) + return vcf_hdr_write(hfp, h); + + int hlen; + char *htxt = bcf_hdr_fmt_text(h, 1, &hlen); + hlen++; // include the \0 byte + + BGZF *fp = hfp->fp.bgzf; + if ( bgzf_write(fp, "BCF\2\2", 5) !=5 ) return -1; + if ( bgzf_write(fp, &hlen, 4) !=4 ) return -1; + if ( bgzf_write(fp, htxt, hlen) != hlen ) return -1; + + free(htxt); + return 0; +} + +/******************** + *** BCF site I/O *** + ********************/ + +bcf1_t *bcf_init1() +{ + bcf1_t *v; + v = (bcf1_t*)calloc(1, sizeof(bcf1_t)); + return v; +} + +void bcf_clear(bcf1_t *v) +{ + int i; + for (i=0; id.m_info; i++) + { + if ( v->d.info[i].vptr_free ) + { + free(v->d.info[i].vptr - v->d.info[i].vptr_off); + v->d.info[i].vptr_free = 0; + } + } + for (i=0; id.m_fmt; i++) + { + if ( v->d.fmt[i].p_free ) + { + free(v->d.fmt[i].p - v->d.fmt[i].p_off); + v->d.fmt[i].p_free = 0; + } + } + v->rid = v->pos = v->rlen = v->unpacked = 0; + bcf_float_set_missing(v->qual); + v->n_info = v->n_allele = v->n_fmt = v->n_sample = 0; + v->shared.l = v->indiv.l = 0; + v->d.var_type = -1; + v->d.shared_dirty = 0; + v->d.indiv_dirty = 0; + v->d.n_flt = 0; + v->errcode = 0; + if (v->d.m_als) v->d.als[0] = 0; + if (v->d.m_id) v->d.id[0] = 0; +} + +void bcf_empty1(bcf1_t *v) +{ + bcf_clear1(v); + free(v->d.id); + free(v->d.als); + free(v->d.allele); free(v->d.flt); free(v->d.info); free(v->d.fmt); + if (v->d.var ) free(v->d.var); + free(v->shared.s); free(v->indiv.s); +} + +void bcf_destroy1(bcf1_t *v) +{ + bcf_empty1(v); + free(v); +} + +static inline int bcf_read1_core(BGZF *fp, bcf1_t *v) +{ + uint32_t x[8]; + int ret; + if ((ret = bgzf_read(fp, x, 32)) != 32) { + if (ret == 0) return -1; + return -2; + } + bcf_clear1(v); + x[0] -= 24; // to exclude six 32-bit integers + ks_resize(&v->shared, x[0]); + ks_resize(&v->indiv, x[1]); + memcpy(v, x + 2, 16); + v->n_allele = x[6]>>16; v->n_info = x[6]&0xffff; + v->n_fmt = x[7]>>24; v->n_sample = x[7]&0xffffff; + v->shared.l = x[0], v->indiv.l = x[1]; + + // silent fix of broken BCFs produced by earlier versions of bcf_subset, prior to and including bd6ed8b4 + if ( (!v->indiv.l || !v->n_sample) && v->n_fmt ) v->n_fmt = 0; + + bgzf_read(fp, v->shared.s, v->shared.l); + bgzf_read(fp, v->indiv.s, v->indiv.l); + return 0; +} + +#define bit_array_size(n) ((n)/8+1) +#define bit_array_set(a,i) ((a)[(i)/8] |= 1 << ((i)%8)) +#define bit_array_clear(a,i) ((a)[(i)/8] &= ~(1 << ((i)%8))) +#define bit_array_test(a,i) ((a)[(i)/8] & (1 << ((i)%8))) + +static inline uint8_t *bcf_unpack_fmt_core1(uint8_t *ptr, int n_sample, bcf_fmt_t *fmt); +int bcf_subset_format(const bcf_hdr_t *hdr, bcf1_t *rec) +{ + if ( !hdr->keep_samples ) return 0; + if ( !bcf_hdr_nsamples(hdr) ) + { + rec->indiv.l = rec->n_sample = 0; + return 0; + } + + int i, j; + uint8_t *ptr = (uint8_t*)rec->indiv.s, *dst = NULL, *src; + bcf_dec_t *dec = &rec->d; + hts_expand(bcf_fmt_t, rec->n_fmt, dec->m_fmt, dec->fmt); + for (i=0; im_fmt; ++i) dec->fmt[i].p_free = 0; + + for (i=0; in_fmt; i++) + { + ptr = bcf_unpack_fmt_core1(ptr, rec->n_sample, &dec->fmt[i]); + src = dec->fmt[i].p - dec->fmt[i].size; + if ( dst ) + { + memmove(dec->fmt[i-1].p + dec->fmt[i-1].p_len, dec->fmt[i].p - dec->fmt[i].p_off, dec->fmt[i].p_off); + dec->fmt[i].p = dec->fmt[i-1].p + dec->fmt[i-1].p_len + dec->fmt[i].p_off; + } + dst = dec->fmt[i].p; + for (j=0; jnsamples_ori; j++) + { + src += dec->fmt[i].size; + if ( !bit_array_test(hdr->keep_samples,j) ) continue; + memmove(dst, src, dec->fmt[i].size); + dst += dec->fmt[i].size; + } + rec->indiv.l -= dec->fmt[i].p_len - (dst - dec->fmt[i].p); + dec->fmt[i].p_len = dst - dec->fmt[i].p; + } + rec->unpacked |= BCF_UN_FMT; + + rec->n_sample = bcf_hdr_nsamples(hdr); + return 0; +} + +int bcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) +{ + if (fp->format.format == vcf) return vcf_read(fp,h,v); + int ret = bcf_read1_core(fp->fp.bgzf, v); + if ( ret!=0 || !h->keep_samples ) return ret; + return bcf_subset_format(h,v); +} + +int bcf_readrec(BGZF *fp, void *null, void *vv, int *tid, int *beg, int *end) +{ + bcf1_t *v = (bcf1_t *) vv; + int ret; + if ((ret = bcf_read1_core(fp, v)) >= 0) + *tid = v->rid, *beg = v->pos, *end = v->pos + v->rlen; + return ret; +} + +static inline void bcf1_sync_id(bcf1_t *line, kstring_t *str) +{ + // single typed string + if ( line->d.id && strcmp(line->d.id, ".") ) bcf_enc_vchar(str, strlen(line->d.id), line->d.id); + else bcf_enc_size(str, 0, BCF_BT_CHAR); +} +static inline void bcf1_sync_alleles(bcf1_t *line, kstring_t *str) +{ + // list of typed strings + int i; + for (i=0; in_allele; i++) + bcf_enc_vchar(str, strlen(line->d.allele[i]), line->d.allele[i]); + if ( !line->rlen && line->n_allele ) line->rlen = strlen(line->d.allele[0]); +} +static inline void bcf1_sync_filter(bcf1_t *line, kstring_t *str) +{ + // typed vector of integers + if ( line->d.n_flt ) bcf_enc_vint(str, line->d.n_flt, line->d.flt, -1); + else bcf_enc_vint(str, 0, 0, -1); +} + +static inline void bcf1_sync_info(bcf1_t *line, kstring_t *str) +{ + // pairs of typed vectors + int i, irm = -1; + for (i=0; in_info; i++) + { + bcf_info_t *info = &line->d.info[i]; + if ( !info->vptr ) + { + // marked for removal + if ( irm < 0 ) irm = i; + continue; + } + kputsn_(info->vptr - info->vptr_off, info->vptr_len + info->vptr_off, str); + if ( irm >=0 ) + { + bcf_info_t tmp = line->d.info[irm]; line->d.info[irm] = line->d.info[i]; line->d.info[i] = tmp; + while ( irm<=i && line->d.info[irm].vptr ) irm++; + } + } + if ( irm>=0 ) line->n_info = irm; +} + +static int bcf1_sync(bcf1_t *line) +{ + char *shared_ori = line->shared.s; + size_t prev_len; + + kstring_t tmp = {0,0,0}; + if ( !line->shared.l ) + { + // New line created via API, BCF data blocks do not exist. Get it ready for BCF output + tmp = line->shared; + bcf1_sync_id(line, &tmp); + line->unpack_size[0] = tmp.l; prev_len = tmp.l; + + bcf1_sync_alleles(line, &tmp); + line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; + + bcf1_sync_filter(line, &tmp); + line->unpack_size[2] = tmp.l - prev_len; + + bcf1_sync_info(line, &tmp); + line->shared = tmp; + } + else if ( line->d.shared_dirty ) + { + // The line was edited, update the BCF data block, ptr_ori points + // to the original unchanged BCF data. + uint8_t *ptr_ori = (uint8_t *) line->shared.s; + + assert( line->unpacked & BCF_UN_STR ); + + // ID: single typed string + if ( line->d.shared_dirty & BCF1_DIRTY_ID ) + bcf1_sync_id(line, &tmp); + else + kputsn_(ptr_ori, line->unpack_size[0], &tmp); + ptr_ori += line->unpack_size[0]; + line->unpack_size[0] = tmp.l; prev_len = tmp.l; + + // REF+ALT: list of typed strings + if ( line->d.shared_dirty & BCF1_DIRTY_ALS ) + bcf1_sync_alleles(line, &tmp); + else + { + kputsn_(ptr_ori, line->unpack_size[1], &tmp); + if ( !line->rlen && line->n_allele ) line->rlen = strlen(line->d.allele[0]); + } + ptr_ori += line->unpack_size[1]; + line->unpack_size[1] = tmp.l - prev_len; prev_len = tmp.l; + + if ( line->unpacked & BCF_UN_FLT ) + { + // FILTER: typed vector of integers + if ( line->d.shared_dirty & BCF1_DIRTY_FLT ) + bcf1_sync_filter(line, &tmp); + else if ( line->d.n_flt ) + kputsn_(ptr_ori, line->unpack_size[2], &tmp); + else + bcf_enc_vint(&tmp, 0, 0, -1); + ptr_ori += line->unpack_size[2]; + line->unpack_size[2] = tmp.l - prev_len; + + if ( line->unpacked & BCF_UN_INFO ) + { + // INFO: pairs of typed vectors + if ( line->d.shared_dirty & BCF1_DIRTY_INF ) + { + bcf1_sync_info(line, &tmp); + ptr_ori = (uint8_t*)line->shared.s + line->shared.l; + } + } + } + + int size = line->shared.l - (size_t)ptr_ori + (size_t)line->shared.s; + if ( size ) kputsn_(ptr_ori, size, &tmp); + + free(line->shared.s); + line->shared = tmp; + } + if ( line->shared.s != shared_ori && line->unpacked & BCF_UN_INFO ) + { + // Reallocated line->shared.s block invalidated line->d.info[].vptr pointers + size_t off_new = line->unpack_size[0] + line->unpack_size[1] + line->unpack_size[2]; + int i; + for (i=0; in_info; i++) + { + uint8_t *vptr_free = line->d.info[i].vptr_free ? line->d.info[i].vptr - line->d.info[i].vptr_off : NULL; + line->d.info[i].vptr = (uint8_t*) line->shared.s + off_new + line->d.info[i].vptr_off; + off_new += line->d.info[i].vptr_len + line->d.info[i].vptr_off; + if ( vptr_free ) + { + free(vptr_free); + line->d.info[i].vptr_free = 0; + } + } + } + + if ( line->n_sample && line->n_fmt && (!line->indiv.l || line->d.indiv_dirty) ) + { + // The genotype fields changed or are not present + tmp.l = tmp.m = 0; tmp.s = NULL; + int i, irm = -1; + for (i=0; in_fmt; i++) + { + bcf_fmt_t *fmt = &line->d.fmt[i]; + if ( !fmt->p ) + { + // marked for removal + if ( irm < 0 ) irm = i; + continue; + } + kputsn_(fmt->p - fmt->p_off, fmt->p_len + fmt->p_off, &tmp); + if ( irm >=0 ) + { + bcf_fmt_t tfmt = line->d.fmt[irm]; line->d.fmt[irm] = line->d.fmt[i]; line->d.fmt[i] = tfmt; + while ( irm<=i && line->d.fmt[irm].p ) irm++; + } + + } + if ( irm>=0 ) line->n_fmt = irm; + free(line->indiv.s); + line->indiv = tmp; + + // Reallocated line->indiv.s block invalidated line->d.fmt[].p pointers + size_t off_new = 0; + for (i=0; in_fmt; i++) + { + uint8_t *p_free = line->d.fmt[i].p_free ? line->d.fmt[i].p - line->d.fmt[i].p_off : NULL; + line->d.fmt[i].p = (uint8_t*) line->indiv.s + off_new + line->d.fmt[i].p_off; + off_new += line->d.fmt[i].p_len + line->d.fmt[i].p_off; + if ( p_free ) + { + free(p_free); + line->d.fmt[i].p_free = 0; + } + } + } + if ( !line->n_sample ) line->n_fmt = 0; + line->d.shared_dirty = line->d.indiv_dirty = 0; + return 0; +} + +bcf1_t *bcf_copy(bcf1_t *dst, bcf1_t *src) +{ + bcf1_sync(src); + + bcf_clear(dst); + dst->rid = src->rid; + dst->pos = src->pos; + dst->rlen = src->rlen; + dst->qual = src->qual; + dst->n_info = src->n_info; dst->n_allele = src->n_allele; + dst->n_fmt = src->n_fmt; dst->n_sample = src->n_sample; + + dst->shared.m = dst->shared.l = src->shared.l; + dst->shared.s = (char*) malloc(dst->shared.l); + memcpy(dst->shared.s,src->shared.s,dst->shared.l); + + dst->indiv.m = dst->indiv.l = src->indiv.l; + dst->indiv.s = (char*) malloc(dst->indiv.l); + memcpy(dst->indiv.s,src->indiv.s,dst->indiv.l); + + return dst; +} +bcf1_t *bcf_dup(bcf1_t *src) +{ + bcf1_t *out = bcf_init1(); + return bcf_copy(out, src); +} + +int bcf_write(htsFile *hfp, const bcf_hdr_t *h, bcf1_t *v) +{ + if ( h->dirty ) + { + // we could as well call bcf_hdr_sync here, not sure + fprintf(stderr,"FIXME: dirty header not synced\n"); + exit(1); + } + if ( bcf_hdr_nsamples(h)!=v->n_sample ) + { + fprintf(stderr,"[%s:%d %s] Broken VCF record, the number of columns at %s:%d does not match the number of samples (%d vs %d).\n", + __FILE__,__LINE__,__FUNCTION__,bcf_seqname(h,v),v->pos+1, v->n_sample,bcf_hdr_nsamples(h)); + return -1; + } + + if ( hfp->format.format == vcf || hfp->format.format == text_format ) + return vcf_write(hfp,h,v); + + if ( v->errcode ) + { + // vcf_parse1() encountered a new contig or tag, undeclared in the + // header. At this point, the header must have been printed, + // proceeding would lead to a broken BCF file. Errors must be checked + // and cleared by the caller before we can proceed. + fprintf(stderr,"[%s:%d %s] Unchecked error (%d), exiting.\n", __FILE__,__LINE__,__FUNCTION__,v->errcode); + exit(1); + } + bcf1_sync(v); // check if the BCF record was modified + + BGZF *fp = hfp->fp.bgzf; + uint32_t x[8]; + x[0] = v->shared.l + 24; // to include six 32-bit integers + x[1] = v->indiv.l; + memcpy(x + 2, v, 16); + x[6] = (uint32_t)v->n_allele<<16 | v->n_info; + x[7] = (uint32_t)v->n_fmt<<24 | v->n_sample; + if ( bgzf_write(fp, x, 32) != 32 ) return -1; + if ( bgzf_write(fp, v->shared.s, v->shared.l) != v->shared.l ) return -1; + if ( bgzf_write(fp, v->indiv.s, v->indiv.l) != v->indiv.l ) return -1; + return 0; +} + +/********************** + *** VCF header I/O *** + **********************/ + +bcf_hdr_t *vcf_hdr_read(htsFile *fp) +{ + kstring_t txt, *s = &fp->line; + bcf_hdr_t *h; + h = bcf_hdr_init("r"); + txt.l = txt.m = 0; txt.s = 0; + while (hts_getline(fp, KS_SEP_LINE, s) >= 0) { + if (s->l == 0) continue; + if (s->s[0] != '#') { + if (hts_verbose >= 2) + fprintf(stderr, "[E::%s] no sample line\n", __func__); + free(txt.s); + bcf_hdr_destroy(h); + return 0; + } + if (s->s[1] != '#' && fp->fn_aux) { // insert contigs here + int dret; + gzFile f; + kstream_t *ks; + kstring_t tmp; + tmp.l = tmp.m = 0; tmp.s = 0; + f = gzopen(fp->fn_aux, "r"); + ks = ks_init(f); + while (ks_getuntil(ks, 0, &tmp, &dret) >= 0) { + int c; + kputs("##contig=\n", 2, &txt); + if (dret != '\n') + while ((c = ks_getc(ks)) != '\n' && c != -1); // skip the rest of the line + } + free(tmp.s); + ks_destroy(ks); + gzclose(f); + } + kputsn(s->s, s->l, &txt); + kputc('\n', &txt); + if (s->s[1] != '#') break; + } + if ( !txt.s ) + { + fprintf(stderr,"[%s:%d %s] Could not read the header\n", __FILE__,__LINE__,__FUNCTION__); + return NULL; + } + bcf_hdr_parse(h, txt.s); + + // check tabix index, are all contigs listed in the header? add the missing ones + tbx_t *idx = tbx_index_load(fp->fn); + if ( idx ) + { + int i, n, need_sync = 0; + const char **names = tbx_seqnames(idx, &n); + for (i=0; ikey = strdup("contig"); + bcf_hrec_add_key(hrec, "ID", strlen("ID")); + bcf_hrec_set_val(hrec, hrec->nkeys-1, (char*) names[i], strlen(names[i]), 0); + bcf_hdr_add_hrec(h, hrec); + need_sync = 1; + } + free(names); + tbx_destroy(idx); + if ( need_sync ) + bcf_hdr_sync(h); + } + free(txt.s); + return h; +} + +int bcf_hdr_set(bcf_hdr_t *hdr, const char *fname) +{ + int i, n; + char **lines = hts_readlines(fname, &n); + if ( !lines ) return 1; + for (i=0; ivalue ) + { + int j, nout = 0; + ksprintf(str, "##%s=<", hrec->key); + for (j=0; jnkeys; j++) + { + // do not output IDX if output is VCF + if ( !is_bcf && !strcmp("IDX",hrec->keys[j]) ) continue; + if ( nout ) kputc(',',str); + ksprintf(str,"%s=%s", hrec->keys[j], hrec->vals[j]); + nout++; + } + ksprintf(str,">\n"); + } + else + ksprintf(str,"##%s=%s\n", hrec->key,hrec->value); +} + +void bcf_hrec_format(const bcf_hrec_t *hrec, kstring_t *str) +{ + _bcf_hrec_format(hrec,0,str); +} +char *bcf_hdr_fmt_text(const bcf_hdr_t *hdr, int is_bcf, int *len) +{ + int i; + kstring_t txt = {0,0,0}; + for (i=0; inhrec; i++) + _bcf_hrec_format(hdr->hrec[i], is_bcf, &txt); + + ksprintf(&txt,"#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO"); + if ( bcf_hdr_nsamples(hdr) ) + { + ksprintf(&txt,"\tFORMAT"); + for (i=0; isamples[i]); + } + ksprintf(&txt,"\n"); + + if ( len ) *len = txt.l; + return txt.s; +} + +const char **bcf_hdr_seqnames(const bcf_hdr_t *h, int *n) +{ + vdict_t *d = (vdict_t*)h->dict[BCF_DT_CTG]; + int tid, m = kh_size(d); + const char **names = (const char**) calloc(m,sizeof(const char*)); + khint_t k; + for (k=kh_begin(d); kformat.compression!=no_compression ) + ret = bgzf_write(fp->fp.bgzf, htxt, hlen); + else + ret = hwrite(fp->fp.hfile, htxt, hlen); + free(htxt); + return ret<0 ? -1 : 0; +} + +/*********************** + *** Typed value I/O *** + ***********************/ + +void bcf_enc_vint(kstring_t *s, int n, int32_t *a, int wsize) +{ + int32_t max = INT32_MIN + 1, min = INT32_MAX; + int i; + if (n == 0) bcf_enc_size(s, 0, BCF_BT_NULL); + else if (n == 1) bcf_enc_int1(s, a[0]); + else { + if (wsize <= 0) wsize = n; + for (i = 0; i < n; ++i) { + if (a[i] == bcf_int32_missing || a[i] == bcf_int32_vector_end ) continue; + if (max < a[i]) max = a[i]; + if (min > a[i]) min = a[i]; + } + if (max <= INT8_MAX && min > bcf_int8_vector_end) { + bcf_enc_size(s, wsize, BCF_BT_INT8); + for (i = 0; i < n; ++i) + if ( a[i]==bcf_int32_vector_end ) kputc(bcf_int8_vector_end, s); + else if ( a[i]==bcf_int32_missing ) kputc(bcf_int8_missing, s); + else kputc(a[i], s); + } else if (max <= INT16_MAX && min > bcf_int16_vector_end) { + bcf_enc_size(s, wsize, BCF_BT_INT16); + for (i = 0; i < n; ++i) + { + int16_t x; + if ( a[i]==bcf_int32_vector_end ) x = bcf_int16_vector_end; + else if ( a[i]==bcf_int32_missing ) x = bcf_int16_missing; + else x = a[i]; + kputsn((char*)&x, 2, s); + } + } else { + bcf_enc_size(s, wsize, BCF_BT_INT32); + for (i = 0; i < n; ++i) { + int32_t x = a[i]; + kputsn((char*)&x, 4, s); + } + } + } +} + +void bcf_enc_vfloat(kstring_t *s, int n, float *a) +{ + bcf_enc_size(s, n, BCF_BT_FLOAT); + kputsn((char*)a, n << 2, s); +} + +void bcf_enc_vchar(kstring_t *s, int l, const char *a) +{ + bcf_enc_size(s, l, BCF_BT_CHAR); + kputsn(a, l, s); +} + +void bcf_fmt_array(kstring_t *s, int n, int type, void *data) +{ + int j = 0; + if (n == 0) { + kputc('.', s); + return; + } + if (type == BCF_BT_CHAR) + { + char *p = (char*)data; + for (j = 0; j < n && *p; ++j, ++p) + { + if ( *p==bcf_str_missing ) kputc('.', s); + else kputc(*p, s); + } + } + else + { + #define BRANCH(type_t, is_missing, is_vector_end, kprint) { \ + type_t *p = (type_t *) data; \ + for (j=0; jl&7) { + uint64_t zero = 0; + int l = ((s->l + 7)>>3<<3) - s->l; + kputsn((char*)&zero, l, s); + } +} + +// p,q is the start and the end of the FORMAT field +int _vcf_parse_format(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v, char *p, char *q) +{ + if ( !bcf_hdr_nsamples(h) ) return 0; + + char *r, *t; + int j, l, m, g; + khint_t k; + ks_tokaux_t aux1; + vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; + kstring_t *mem = (kstring_t*)&h->mem; + mem->l = 0; + + // count the number of format fields + for (r = p, v->n_fmt = 1; *r; ++r) + if (*r == ':') ++v->n_fmt; + char *end = s->s + s->l; + if ( q>=end ) + { + fprintf(stderr,"[%s:%d %s] Error: FORMAT column with no sample columns starting at %s:%d\n", __FILE__,__LINE__,__FUNCTION__,s->s,v->pos+1); + return -1; + } + + fmt_aux_t *fmt = (fmt_aux_t*)alloca(v->n_fmt * sizeof(fmt_aux_t)); + // get format information from the dictionary + for (j = 0, t = kstrtok(p, ":", &aux1); t; t = kstrtok(0, 0, &aux1), ++j) { + *(char*)aux1.p = 0; + k = kh_get(vdict, d, t); + if (k == kh_end(d) || kh_val(d, k).info[BCF_HL_FMT] == 15) { + fprintf(stderr, "[W::%s] FORMAT '%s' is not defined in the header, assuming Type=String\n", __func__, t); + kstring_t tmp = {0,0,0}; + int l; + ksprintf(&tmp, "##FORMAT=", t); + bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); + free(tmp.s); + if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); + k = kh_get(vdict, d, t); + v->errcode = BCF_ERR_TAG_UNDEF; + } + fmt[j].max_l = fmt[j].max_m = fmt[j].max_g = 0; + fmt[j].key = kh_val(d, k).id; + fmt[j].is_gt = !strcmp(t, "GT"); + fmt[j].y = h->id[0][fmt[j].key].val->info[BCF_HL_FMT]; + } + // compute max + int n_sample_ori = -1; + r = q + 1; // r: position in the format string + m = l = g = 1, v->n_sample = 0; // m: max vector size, l: max field len, g: max number of alleles + while ( rkeep_samples ) + { + n_sample_ori++; + if ( !bit_array_test(h->keep_samples,n_sample_ori) ) + { + while ( *r!='\t' && r=v->n_fmt ) + { + fprintf(stderr,"Incorrect number of FORMAT fields at %s:%d\n", h->id[BCF_DT_CTG][v->rid].key,v->pos+1); + exit(1); + } + } + else break; + } + else if ( *r== ',' ) m++; + else if ( fmt[j].is_gt && (*r == '|' || *r == '/') ) g++; + if ( r>=end ) break; + r++; l++; + } + v->n_sample++; + if ( v->n_sample == bcf_hdr_nsamples(h) ) break; + r++; + } + + // allocate memory for arrays + for (j = 0; j < v->n_fmt; ++j) { + fmt_aux_t *f = &fmt[j]; + if ( !f->max_m ) f->max_m = 1; // omitted trailing format field + if ((f->y>>4&0xf) == BCF_HT_STR) { + f->size = f->is_gt? f->max_g << 2 : f->max_l; + } else if ((f->y>>4&0xf) == BCF_HT_REAL || (f->y>>4&0xf) == BCF_HT_INT) { + f->size = f->max_m << 2; + } else + { + fprintf(stderr, "[E::%s] the format type %d currently not supported\n", __func__, f->y>>4&0xf); + abort(); // I do not know how to do with Flag in the genotype fields + } + align_mem(mem); + f->offset = mem->l; + ks_resize(mem, mem->l + v->n_sample * f->size); + mem->l += v->n_sample * f->size; + } + for (j = 0; j < v->n_fmt; ++j) + fmt[j].buf = (uint8_t*)mem->s + fmt[j].offset; + // fill the sample fields; at beginning of the loop, t points to the first char of a format + n_sample_ori = -1; + t = q + 1; m = 0; // m: sample id + while ( tkeep_samples ) + { + n_sample_ori++; + if ( !bit_array_test(h->keep_samples,n_sample_ori) ) + { + while ( *t && ty>>4&0xf) == BCF_HT_STR) { + if (z->is_gt) { // genotypes + int32_t is_phased = 0, *x = (int32_t*)(z->buf + z->size * m); + for (l = 0;; ++t) { + if (*t == '.') ++t, x[l++] = is_phased; + else x[l++] = (strtol(t, &t, 10) + 1) << 1 | is_phased; +#if THOROUGH_SANITY_CHECKS + assert( 0 ); // success of strtol,strtod not checked +#endif + is_phased = (*t == '|'); + if (*t == ':' || *t == 0) break; + } + if ( !l ) x[l++] = 0; // An empty field, insert missing value + for (; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; + } else { + char *x = (char*)z->buf + z->size * m; + for (r = t, l = 0; *t != ':' && *t; ++t) x[l++] = *t; + for (; l < z->size; ++l) x[l] = 0; + } + } else if ((z->y>>4&0xf) == BCF_HT_INT) { + int32_t *x = (int32_t*)(z->buf + z->size * m); + for (l = 0;; ++t) { + if (*t == '.') x[l++] = bcf_int32_missing, ++t; // ++t to skip "." + else x[l++] = strtol(t, &t, 10); + if (*t == ':' || *t == 0) break; + } + if ( !l ) x[l++] = bcf_int32_missing; + for (; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; + } else if ((z->y>>4&0xf) == BCF_HT_REAL) { + float *x = (float*)(z->buf + z->size * m); + for (l = 0;; ++t) { + if (*t == '.' && !isdigit(t[1])) bcf_float_set_missing(x[l++]), ++t; // ++t to skip "." + else x[l++] = strtod(t, &t); + if (*t == ':' || *t == 0) break; + } + if ( !l ) bcf_float_set_missing(x[l++]); // An empty field, insert missing value + for (; l < z->size>>2; ++l) bcf_float_set_vector_end(x[l]); + } else abort(); + if (*t == 0) { + for (++j; j < v->n_fmt; ++j) { // fill end-of-vector values + z = &fmt[j]; + if ((z->y>>4&0xf) == BCF_HT_STR) { + if (z->is_gt) { + int32_t *x = (int32_t*)(z->buf + z->size * m); + x[0] = bcf_int32_missing; + for (l = 1; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; + } else { + char *x = (char*)z->buf + z->size * m; + if ( z->size ) x[0] = '.'; + for (l = 1; l < z->size; ++l) x[l] = 0; + } + } else if ((z->y>>4&0xf) == BCF_HT_INT) { + int32_t *x = (int32_t*)(z->buf + z->size * m); + x[0] = bcf_int32_missing; + for (l = 1; l < z->size>>2; ++l) x[l] = bcf_int32_vector_end; + } else if ((z->y>>4&0xf) == BCF_HT_REAL) { + float *x = (float*)(z->buf + z->size * m); + bcf_float_set_missing(x[0]); + for (l = 1; l < z->size>>2; ++l) bcf_float_set_vector_end(x[l]); + } + } + break; + } + else + { + if (*t == ':') ++j; + t++; + } + } + m++; t++; + } + + // write individual genotype information + kstring_t *str = &v->indiv; + int i; + if (v->n_sample > 0) { + for (i = 0; i < v->n_fmt; ++i) { + fmt_aux_t *z = &fmt[i]; + bcf_enc_int1(str, z->key); + if ((z->y>>4&0xf) == BCF_HT_STR && !z->is_gt) { + bcf_enc_size(str, z->size, BCF_BT_CHAR); + kputsn((char*)z->buf, z->size * v->n_sample, str); + } else if ((z->y>>4&0xf) == BCF_HT_INT || z->is_gt) { + bcf_enc_vint(str, (z->size>>2) * v->n_sample, (int32_t*)z->buf, z->size>>2); + } else { + bcf_enc_size(str, z->size>>2, BCF_BT_FLOAT); + kputsn((char*)z->buf, z->size * v->n_sample, str); + } + } + } + + if ( v->n_sample!=bcf_hdr_nsamples(h) ) + { + fprintf(stderr,"[%s:%d %s] Number of columns at %s:%d does not match the number of samples (%d vs %d).\n", + __FILE__,__LINE__,__FUNCTION__,bcf_seqname(h,v),v->pos+1, v->n_sample,bcf_hdr_nsamples(h)); + v->errcode |= BCF_ERR_NCOLS; + return -1; + } + + return 0; +} + +int vcf_parse(kstring_t *s, const bcf_hdr_t *h, bcf1_t *v) +{ + int i = 0; + char *p, *q, *r, *t; + kstring_t *str; + khint_t k; + ks_tokaux_t aux; + + bcf_clear1(v); + str = &v->shared; + memset(&aux, 0, sizeof(ks_tokaux_t)); + for (p = kstrtok(s->s, "\t", &aux), i = 0; p; p = kstrtok(0, 0, &aux), ++i) { + q = (char*)aux.p; + *q = 0; + if (i == 0) { // CHROM + vdict_t *d = (vdict_t*)h->dict[BCF_DT_CTG]; + k = kh_get(vdict, d, p); + if (k == kh_end(d)) + { + // Simple error recovery for chromosomes not defined in the header. It will not help when VCF header has + // been already printed, but will enable tools like vcfcheck to proceed. + fprintf(stderr, "[W::%s] contig '%s' is not defined in the header. (Quick workaround: index the file with tabix.)\n", __func__, p); + kstring_t tmp = {0,0,0}; + int l; + ksprintf(&tmp, "##contig=", p); + bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); + free(tmp.s); + if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); + k = kh_get(vdict, d, p); + v->errcode = BCF_ERR_CTG_UNDEF; + } + v->rid = kh_val(d, k).id; + } else if (i == 1) { // POS + v->pos = atoi(p) - 1; + } else if (i == 2) { // ID + if (strcmp(p, ".")) bcf_enc_vchar(str, q - p, p); + else bcf_enc_size(str, 0, BCF_BT_CHAR); + } else if (i == 3) { // REF + bcf_enc_vchar(str, q - p, p); + v->n_allele = 1, v->rlen = q - p; + } else if (i == 4) { // ALT + if (strcmp(p, ".")) { + for (r = t = p;; ++r) { + if (*r == ',' || *r == 0) { + bcf_enc_vchar(str, r - t, t); + t = r + 1; + ++v->n_allele; + } + if (r == q) break; + } + } + } else if (i == 5) { // QUAL + if (strcmp(p, ".")) v->qual = atof(p); + else memcpy(&v->qual, &bcf_float_missing, 4); + if ( v->max_unpack && !(v->max_unpack>>1) ) return 0; // BCF_UN_STR + } else if (i == 6) { // FILTER + if (strcmp(p, ".")) { + int32_t *a; + int n_flt = 1, i; + ks_tokaux_t aux1; + vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; + // count the number of filters + if (*(q-1) == ';') *(q-1) = 0; + for (r = p; *r; ++r) + if (*r == ';') ++n_flt; + a = (int32_t*)alloca(n_flt * sizeof(int32_t)); + // add filters + for (t = kstrtok(p, ";", &aux1), i = 0; t; t = kstrtok(0, 0, &aux1)) { + *(char*)aux1.p = 0; + k = kh_get(vdict, d, t); + if (k == kh_end(d)) + { + // Simple error recovery for FILTERs not defined in the header. It will not help when VCF header has + // been already printed, but will enable tools like vcfcheck to proceed. + fprintf(stderr, "[W::%s] FILTER '%s' is not defined in the header\n", __func__, t); + kstring_t tmp = {0,0,0}; + int l; + ksprintf(&tmp, "##FILTER=", t); + bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); + free(tmp.s); + if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); + k = kh_get(vdict, d, t); + v->errcode = BCF_ERR_TAG_UNDEF; + } + a[i++] = kh_val(d, k).id; + } + n_flt = i; + bcf_enc_vint(str, n_flt, a, -1); + } else bcf_enc_vint(str, 0, 0, -1); + if ( v->max_unpack && !(v->max_unpack>>2) ) return 0; // BCF_UN_FLT + } else if (i == 7) { // INFO + char *key; + vdict_t *d = (vdict_t*)h->dict[BCF_DT_ID]; + v->n_info = 0; + if (strcmp(p, ".")) { + if (*(q-1) == ';') *(q-1) = 0; + for (r = key = p;; ++r) { + int c; + char *val, *end; + if (*r != ';' && *r != '=' && *r != 0) continue; + val = end = 0; + c = *r; *r = 0; + if (c == '=') { + val = r + 1; + for (end = val; *end != ';' && *end != 0; ++end); + c = *end; *end = 0; + } else end = r; + if ( !*key ) { if (c==0) break; r = end; key = r + 1; continue; } // faulty VCF, ";;" in the INFO + k = kh_get(vdict, d, key); + if (k == kh_end(d) || kh_val(d, k).info[BCF_HL_INFO] == 15) + { + fprintf(stderr, "[W::%s] INFO '%s' is not defined in the header, assuming Type=String\n", __func__, key); + kstring_t tmp = {0,0,0}; + int l; + ksprintf(&tmp, "##INFO=", key); + bcf_hrec_t *hrec = bcf_hdr_parse_line(h,tmp.s,&l); + free(tmp.s); + if ( bcf_hdr_add_hrec((bcf_hdr_t*)h, hrec) ) bcf_hdr_sync((bcf_hdr_t*)h); + k = kh_get(vdict, d, key); + v->errcode = BCF_ERR_TAG_UNDEF; + } + uint32_t y = kh_val(d, k).info[BCF_HL_INFO]; + ++v->n_info; + bcf_enc_int1(str, kh_val(d, k).id); + if (val == 0) { + bcf_enc_size(str, 0, BCF_BT_NULL); + } else if ((y>>4&0xf) == BCF_HT_FLAG || (y>>4&0xf) == BCF_HT_STR) { // if Flag has a value, treat it as a string + bcf_enc_vchar(str, end - val, val); + } else { // int/float value/array + int i, n_val; + char *t, *te; + for (t = val, n_val = 1; *t; ++t) // count the number of values + if (*t == ',') ++n_val; + if ((y>>4&0xf) == BCF_HT_INT) { + int32_t *z; + z = (int32_t*)alloca(n_val * sizeof(int32_t)); + for (i = 0, t = val; i < n_val; ++i, ++t) + { + z[i] = strtol(t, &te, 10); + if ( te==t ) // conversion failed + { + z[i] = bcf_int32_missing; + while ( *te && *te!=',' ) te++; + } + t = te; + } + bcf_enc_vint(str, n_val, z, -1); + if (strcmp(key, "END") == 0) v->rlen = z[0] - v->pos; + } else if ((y>>4&0xf) == BCF_HT_REAL) { + float *z; + z = (float*)alloca(n_val * sizeof(float)); + for (i = 0, t = val; i < n_val; ++i, ++t) + { + z[i] = strtod(t, &te); + if ( te==t ) // conversion failed + { + bcf_float_set_missing(z[i]); + while ( *te && *te!=',' ) te++; + } + t = te; + } + bcf_enc_vfloat(str, n_val, z); + } + } + if (c == 0) break; + r = end; + key = r + 1; + } + } + if ( v->max_unpack && !(v->max_unpack>>3) ) return 0; + } else if (i == 8) // FORMAT + return _vcf_parse_format(s, h, v, p, q); + } + return 0; +} + +int vcf_read(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) +{ + int ret; + ret = hts_getline(fp, KS_SEP_LINE, &fp->line); + if (ret < 0) return -1; + return vcf_parse1(&fp->line, h, v); +} + +static inline uint8_t *bcf_unpack_fmt_core1(uint8_t *ptr, int n_sample, bcf_fmt_t *fmt) +{ + uint8_t *ptr_start = ptr; + fmt->id = bcf_dec_typed_int1(ptr, &ptr); + fmt->n = bcf_dec_size(ptr, &ptr, &fmt->type); + fmt->size = fmt->n << bcf_type_shift[fmt->type]; + fmt->p = ptr; + fmt->p_off = ptr - ptr_start; + fmt->p_free = 0; + ptr += n_sample * fmt->size; + fmt->p_len = ptr - fmt->p; + return ptr; +} + +static inline uint8_t *bcf_unpack_info_core1(uint8_t *ptr, bcf_info_t *info) +{ + uint8_t *ptr_start = ptr; + info->key = bcf_dec_typed_int1(ptr, &ptr); + info->len = bcf_dec_size(ptr, &ptr, &info->type); + info->vptr = ptr; + info->vptr_off = ptr - ptr_start; + info->vptr_free = 0; + info->v1.i = 0; + if (info->len == 1) { + if (info->type == BCF_BT_INT8 || info->type == BCF_BT_CHAR) info->v1.i = *(int8_t*)ptr; + else if (info->type == BCF_BT_INT32) info->v1.i = *(int32_t*)ptr; + else if (info->type == BCF_BT_FLOAT) info->v1.f = *(float*)ptr; + else if (info->type == BCF_BT_INT16) info->v1.i = *(int16_t*)ptr; + } + ptr += info->len << bcf_type_shift[info->type]; + info->vptr_len = ptr - info->vptr; + return ptr; +} + +int bcf_unpack(bcf1_t *b, int which) +{ + if ( !b->shared.l ) return 0; // Building a new BCF record from scratch + uint8_t *ptr = (uint8_t*)b->shared.s, *ptr_ori; + int *offset, i; + bcf_dec_t *d = &b->d; + if (which & BCF_UN_FLT) which |= BCF_UN_STR; + if (which & BCF_UN_INFO) which |= BCF_UN_SHR; + if ((which&BCF_UN_STR) && !(b->unpacked&BCF_UN_STR)) + { + kstring_t tmp; + + // ID + tmp.l = 0; tmp.s = d->id; tmp.m = d->m_id; + ptr_ori = ptr; + ptr = bcf_fmt_sized_array(&tmp, ptr); + b->unpack_size[0] = ptr - ptr_ori; + kputc('\0', &tmp); + d->id = tmp.s; d->m_id = tmp.m; + + // REF and ALT are in a single block (d->als) and d->alleles are pointers into this block + tmp.l = 0; tmp.s = d->als; tmp.m = d->m_als; + offset = (int*)alloca(b->n_allele * sizeof(int)); + ptr_ori = ptr; + for (i = 0; i < b->n_allele; ++i) { + offset[i] = tmp.l; + ptr = bcf_fmt_sized_array(&tmp, ptr); + kputc('\0', &tmp); + } + b->unpack_size[1] = ptr - ptr_ori; + d->als = tmp.s; d->m_als = tmp.m; + + hts_expand(char*, b->n_allele, d->m_allele, d->allele); // NM: hts_expand() is a macro + for (i = 0; i < b->n_allele; ++i) + d->allele[i] = d->als + offset[i]; + b->unpacked |= BCF_UN_STR; + } + if ((which&BCF_UN_FLT) && !(b->unpacked&BCF_UN_FLT)) { // FILTER + ptr = (uint8_t*)b->shared.s + b->unpack_size[0] + b->unpack_size[1]; + ptr_ori = ptr; + if (*ptr>>4) { + int type; + d->n_flt = bcf_dec_size(ptr, &ptr, &type); + hts_expand(int, d->n_flt, d->m_flt, d->flt); + for (i = 0; i < d->n_flt; ++i) + d->flt[i] = bcf_dec_int1(ptr, type, &ptr); + } else ++ptr, d->n_flt = 0; + b->unpack_size[2] = ptr - ptr_ori; + b->unpacked |= BCF_UN_FLT; + } + if ((which&BCF_UN_INFO) && !(b->unpacked&BCF_UN_INFO)) { // INFO + ptr = (uint8_t*)b->shared.s + b->unpack_size[0] + b->unpack_size[1] + b->unpack_size[2]; + hts_expand(bcf_info_t, b->n_info, d->m_info, d->info); + for (i = 0; i < d->m_info; ++i) d->info[i].vptr_free = 0; + for (i = 0; i < b->n_info; ++i) + ptr = bcf_unpack_info_core1(ptr, &d->info[i]); + b->unpacked |= BCF_UN_INFO; + } + if ((which&BCF_UN_FMT) && b->n_sample && !(b->unpacked&BCF_UN_FMT)) { // FORMAT + ptr = (uint8_t*)b->indiv.s; + hts_expand(bcf_fmt_t, b->n_fmt, d->m_fmt, d->fmt); + for (i = 0; i < d->m_fmt; ++i) d->fmt[i].p_free = 0; + for (i = 0; i < b->n_fmt; ++i) + ptr = bcf_unpack_fmt_core1(ptr, b->n_sample, &d->fmt[i]); + b->unpacked |= BCF_UN_FMT; + } + return 0; +} + +int vcf_format(const bcf_hdr_t *h, const bcf1_t *v, kstring_t *s) +{ + int i; + bcf_unpack((bcf1_t*)v, BCF_UN_ALL); + kputs(h->id[BCF_DT_CTG][v->rid].key, s); // CHROM + kputc('\t', s); kputw(v->pos + 1, s); // POS + kputc('\t', s); kputs(v->d.id ? v->d.id : ".", s); // ID + kputc('\t', s); // REF + if (v->n_allele > 0) kputs(v->d.allele[0], s); + else kputc('.', s); + kputc('\t', s); // ALT + if (v->n_allele > 1) { + for (i = 1; i < v->n_allele; ++i) { + if (i > 1) kputc(',', s); + kputs(v->d.allele[i], s); + } + } else kputc('.', s); + kputc('\t', s); // QUAL + if ( bcf_float_is_missing(v->qual) ) kputc('.', s); // QUAL + else ksprintf(s, "%g", v->qual); + kputc('\t', s); // FILTER + if (v->d.n_flt) { + for (i = 0; i < v->d.n_flt; ++i) { + if (i) kputc(';', s); + kputs(h->id[BCF_DT_ID][v->d.flt[i]].key, s); + } + } else kputc('.', s); + kputc('\t', s); // INFO + if (v->n_info) { + int first = 1; + for (i = 0; i < v->n_info; ++i) { + bcf_info_t *z = &v->d.info[i]; + if ( !z->vptr ) continue; + if ( !first ) kputc(';', s); first = 0; + kputs(h->id[BCF_DT_ID][z->key].key, s); + if (z->len <= 0) continue; + kputc('=', s); + if (z->len == 1) + { + switch (z->type) + { + case BCF_BT_INT8: if ( z->v1.i==bcf_int8_missing ) kputc('.', s); else kputw(z->v1.i, s); break; + case BCF_BT_INT16: if ( z->v1.i==bcf_int16_missing ) kputc('.', s); else kputw(z->v1.i, s); break; + case BCF_BT_INT32: if ( z->v1.i==bcf_int32_missing ) kputc('.', s); else kputw(z->v1.i, s); break; + case BCF_BT_FLOAT: if ( bcf_float_is_missing(z->v1.f) ) kputc('.', s); else ksprintf(s, "%g", z->v1.f); break; + case BCF_BT_CHAR: kputc(z->v1.i, s); break; + default: fprintf(stderr,"todo: type %d\n", z->type); exit(1); break; + } + } + else bcf_fmt_array(s, z->len, z->type, z->vptr); + } + if ( first ) kputc('.', s); + } else kputc('.', s); + // FORMAT and individual information + if (v->n_sample) + { + int i,j; + if ( v->n_fmt) + { + int gt_i = -1; + bcf_fmt_t *fmt = v->d.fmt; + int first = 1; + for (i = 0; i < (int)v->n_fmt; ++i) { + if ( !fmt[i].p ) continue; + kputc(!first ? ':' : '\t', s); first = 0; + if ( fmt[i].id<0 ) //!bcf_hdr_idinfo_exists(h,BCF_HL_FMT,fmt[i].id) ) + { + fprintf(stderr, "[E::%s] invalid BCF, the FORMAT tag id=%d not present in the header.\n", __func__, fmt[i].id); + abort(); + } + kputs(h->id[BCF_DT_ID][fmt[i].id].key, s); + if (strcmp(h->id[BCF_DT_ID][fmt[i].id].key, "GT") == 0) gt_i = i; + } + if ( first ) kputs("\t.", s); + for (j = 0; j < v->n_sample; ++j) { + kputc('\t', s); + first = 1; + for (i = 0; i < (int)v->n_fmt; ++i) { + bcf_fmt_t *f = &fmt[i]; + if ( !f->p ) continue; + if (!first) kputc(':', s); first = 0; + if (gt_i == i) + bcf_format_gt(f,j,s); + else + bcf_fmt_array(s, f->n, f->type, f->p + j * f->size); + } + if ( first ) kputc('.', s); + } + } + else + for (j=0; j<=v->n_sample; j++) + kputs("\t.", s); + } + kputc('\n', s); + return 0; +} + +int vcf_write_line(htsFile *fp, kstring_t *line) +{ + int ret; + if ( line->s[line->l-1]!='\n' ) kputc('\n',line); + if ( fp->format.compression!=no_compression ) + ret = bgzf_write(fp->fp.bgzf, line->s, line->l); + else + ret = hwrite(fp->fp.hfile, line->s, line->l); + return ret==line->l ? 0 : -1; +} + +int vcf_write(htsFile *fp, const bcf_hdr_t *h, bcf1_t *v) +{ + int ret; + fp->line.l = 0; + vcf_format1(h, v, &fp->line); + if ( fp->format.compression!=no_compression ) + ret = bgzf_write(fp->fp.bgzf, fp->line.s, fp->line.l); + else + ret = hwrite(fp->fp.hfile, fp->line.s, fp->line.l); + return ret==fp->line.l ? 0 : -1; +} + +/************************ + * Data access routines * + ************************/ + +int bcf_hdr_id2int(const bcf_hdr_t *h, int which, const char *id) +{ + khint_t k; + vdict_t *d = (vdict_t*)h->dict[which]; + k = kh_get(vdict, d, id); + return k == kh_end(d)? -1 : kh_val(d, k).id; +} + + +/******************** + *** BCF indexing *** + ********************/ + +hts_idx_t *bcf_index(htsFile *fp, int min_shift) +{ + int n_lvls, i; + bcf1_t *b; + hts_idx_t *idx; + bcf_hdr_t *h; + int64_t max_len = 0, s; + h = bcf_hdr_read(fp); + if ( !h ) return NULL; + int nids = 0; + for (i = 0; i < h->n[BCF_DT_CTG]; ++i) + { + if ( !h->id[BCF_DT_CTG][i].val ) continue; + if ( max_len < h->id[BCF_DT_CTG][i].val->info[0] ) max_len = h->id[BCF_DT_CTG][i].val->info[0]; + nids++; + } + if ( !max_len ) max_len = ((int64_t)1<<31) - 1; // In case contig line is broken. + max_len += 256; + for (n_lvls = 0, s = 1< s; ++n_lvls, s <<= 3); + idx = hts_idx_init(nids, HTS_FMT_CSI, bgzf_tell(fp->fp.bgzf), min_shift, n_lvls); + b = bcf_init1(); + while (bcf_read1(fp,h, b) >= 0) { + int ret; + ret = hts_idx_push(idx, b->rid, b->pos, b->pos + b->rlen, bgzf_tell(fp->fp.bgzf), 1); + if (ret < 0) + { + bcf_destroy1(b); + hts_idx_destroy(idx); + return NULL; + } + } + hts_idx_finish(idx, bgzf_tell(fp->fp.bgzf)); + bcf_destroy1(b); + bcf_hdr_destroy(h); + return idx; +} + +int bcf_index_build(const char *fn, int min_shift) +{ + htsFile *fp; + hts_idx_t *idx; + if ((fp = hts_open(fn, "rb")) == 0) return -1; + if ( fp->format.compression!=bgzf ) { hts_close(fp); return -1; } + idx = bcf_index(fp, min_shift); + hts_close(fp); + if ( !idx ) return -1; + hts_idx_save(idx, fn, HTS_FMT_CSI); + hts_idx_destroy(idx); + return 0; +} + +/***************** + *** Utilities *** + *****************/ + +int bcf_hdr_combine(bcf_hdr_t *dst, const bcf_hdr_t *src) +{ + int i, ndst_ori = dst->nhrec, need_sync = 0, ret = 0; + for (i=0; inhrec; i++) + { + if ( src->hrec[i]->type==BCF_HL_GEN && src->hrec[i]->value ) + { + int j; + for (j=0; jhrec[j]->type!=BCF_HL_GEN ) continue; + + // Checking only the key part of generic lines, otherwise + // the VCFs are too verbose. Should we perhaps add a flag + // to bcf_hdr_combine() and make this optional? + if ( !strcmp(src->hrec[i]->key,dst->hrec[j]->key) ) break; + } + if ( j>=ndst_ori ) + need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); + } + else if ( src->hrec[i]->type==BCF_HL_STR ) + { + // NB: we are ignoring fields without ID + int j = bcf_hrec_find_key(src->hrec[i],"ID"); + if ( j>=0 ) + { + bcf_hrec_t *rec = bcf_hdr_get_hrec(dst, src->hrec[i]->type, "ID", src->hrec[i]->vals[j], src->hrec[i]->key); + if ( !rec ) + need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); + } + } + else + { + int j = bcf_hrec_find_key(src->hrec[i],"ID"); + assert( j>=0 ); // this should always be true for valid VCFs + + bcf_hrec_t *rec = bcf_hdr_get_hrec(dst, src->hrec[i]->type, "ID", src->hrec[i]->vals[j], NULL); + if ( !rec ) + need_sync += bcf_hdr_add_hrec(dst, bcf_hrec_dup(src->hrec[i])); + else if ( src->hrec[i]->type==BCF_HL_INFO || src->hrec[i]->type==BCF_HL_FMT ) + { + // Check that both records are of the same type. The bcf_hdr_id2length + // macro cannot be used here because dst header is not synced yet. + vdict_t *d_src = (vdict_t*)src->dict[BCF_DT_ID]; + vdict_t *d_dst = (vdict_t*)dst->dict[BCF_DT_ID]; + khint_t k_src = kh_get(vdict, d_src, src->hrec[i]->vals[0]); + khint_t k_dst = kh_get(vdict, d_dst, src->hrec[i]->vals[0]); + if ( (kh_val(d_src,k_src).info[rec->type]>>8 & 0xf) != (kh_val(d_dst,k_dst).info[rec->type]>>8 & 0xf) ) + { + fprintf(stderr,"Warning: trying to combine \"%s\" tag definitions of different lengths\n", src->hrec[i]->vals[0]); + ret |= 1; + } + if ( (kh_val(d_src,k_src).info[rec->type]>>4 & 0xf) != (kh_val(d_dst,k_dst).info[rec->type]>>4 & 0xf) ) + { + fprintf(stderr,"Warning: trying to combine \"%s\" tag definitions of different types\n", src->hrec[i]->vals[0]); + ret |= 1; + } + } + } + } + if ( need_sync ) bcf_hdr_sync(dst); + return ret; +} +int bcf_translate(const bcf_hdr_t *dst_hdr, bcf_hdr_t *src_hdr, bcf1_t *line) +{ + int i; + if ( line->errcode ) + { + fprintf(stderr,"[%s:%d %s] Unchecked error (%d), exiting.\n", __FILE__,__LINE__,__FUNCTION__,line->errcode); + exit(1); + } + if ( src_hdr->ntransl==-1 ) return 0; // no need to translate, all tags have the same id + if ( !src_hdr->ntransl ) // called for the first time, see what needs translating + { + int dict; + for (dict=0; dict<2; dict++) // BCF_DT_ID and BCF_DT_CTG + { + src_hdr->transl[dict] = (int*) malloc(src_hdr->n[dict]*sizeof(int)); + for (i=0; in[dict]; i++) + { + if ( !src_hdr->id[dict][i].key || !dst_hdr->id[dict][i].key ) // gap left after removed BCF header lines + src_hdr->transl[dict][i] = -1; + else if ( i>=dst_hdr->n[dict] || strcmp(src_hdr->id[dict][i].key,dst_hdr->id[dict][i].key) ) + { + src_hdr->transl[dict][i] = bcf_hdr_id2int(dst_hdr,dict,src_hdr->id[dict][i].key); + src_hdr->ntransl++; + } + else + src_hdr->transl[dict][i] = -1; + } + } + if ( !src_hdr->ntransl ) + { + free(src_hdr->transl[0]); src_hdr->transl[0] = NULL; + free(src_hdr->transl[1]); src_hdr->transl[1] = NULL; + src_hdr->ntransl = -1; + } + if ( src_hdr->ntransl==-1 ) return 0; + } + bcf_unpack(line,BCF_UN_ALL); + + // CHROM + if ( src_hdr->transl[BCF_DT_CTG][line->rid] >=0 ) line->rid = src_hdr->transl[BCF_DT_CTG][line->rid]; + + // FILTER + for (i=0; id.n_flt; i++) + { + int src_id = line->d.flt[i]; + if ( src_hdr->transl[BCF_DT_ID][src_id] >=0 ) + line->d.flt[i] = src_hdr->transl[BCF_DT_ID][src_id]; + line->d.shared_dirty |= BCF1_DIRTY_FLT; + } + + // INFO + for (i=0; in_info; i++) + { + int src_id = line->d.info[i].key; + int dst_id = src_hdr->transl[BCF_DT_ID][src_id]; + if ( dst_id<0 ) continue; + int src_size = src_id>>7 ? ( src_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; + int dst_size = dst_id>>7 ? ( dst_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; + if ( src_size==dst_size ) // can overwrite + { + line->d.info[i].key = dst_id; + uint8_t *vptr = line->d.info[i].vptr - line->d.info[i].vptr_off; + if ( dst_size==BCF_BT_INT8 ) { vptr[1] = (uint8_t)dst_id; } + else if ( dst_size==BCF_BT_INT16 ) { *(uint16_t*)vptr = (uint16_t)dst_id; } + else { *(uint32_t*)vptr = (uint32_t)dst_id; } + } + else // must realloc + { + bcf_info_t *info = &line->d.info[i]; + assert( !info->vptr_free ); + kstring_t str = {0,0,0}; + bcf_enc_int1(&str, dst_id); + bcf_enc_size(&str, info->len,info->type); + info->vptr_off = str.l; + kputsn((char*)info->vptr, info->vptr_len, &str); + info->vptr = (uint8_t*)str.s + info->vptr_off; + info->vptr_free = 1; + info->key = dst_id; + line->d.shared_dirty |= BCF1_DIRTY_INF; + } + } + + // FORMAT + for (i=0; in_fmt; i++) + { + int src_id = line->d.fmt[i].id; + int dst_id = src_hdr->transl[BCF_DT_ID][src_id]; + if ( dst_id<0 ) continue; + int src_size = src_id>>7 ? ( src_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; + int dst_size = dst_id>>7 ? ( dst_id>>15 ? BCF_BT_INT32 : BCF_BT_INT16) : BCF_BT_INT8; + if ( src_size==dst_size ) // can overwrite + { + line->d.fmt[i].id = dst_id; + uint8_t *p = line->d.fmt[i].p - line->d.fmt[i].p_off; // pointer to the vector size (4bits) and BT type (4bits) + if ( dst_size==BCF_BT_INT8 ) { p[1] = dst_id; } + else if ( dst_size==BCF_BT_INT16 ) { uint8_t *x = (uint8_t*) &dst_id; p[1] = x[0]; p[2] = x[1]; } + else { uint8_t *x = (uint8_t*) &dst_id; p[1] = x[0]; p[2] = x[1]; p[3] = x[2]; p[4] = x[3]; } + } + else // must realloc + { + bcf_fmt_t *fmt = &line->d.fmt[i]; + assert( !fmt->p_free ); + kstring_t str = {0,0,0}; + bcf_enc_int1(&str, dst_id); + bcf_enc_size(&str, fmt->n, fmt->type); + fmt->p_off = str.l; + kputsn((char*)fmt->p, fmt->p_len, &str); + fmt->p = (uint8_t*)str.s + fmt->p_off; + fmt->p_free = 1; + fmt->id = dst_id; + line->d.indiv_dirty = 1; + } + } + return 0; +} + +bcf_hdr_t *bcf_hdr_dup(const bcf_hdr_t *hdr) +{ + bcf_hdr_t *hout = bcf_hdr_init("r"); + char *htxt = bcf_hdr_fmt_text(hdr, 1, NULL); + bcf_hdr_parse(hout, htxt); + free(htxt); + return hout; +} + +bcf_hdr_t *bcf_hdr_subset(const bcf_hdr_t *h0, int n, char *const* samples, int *imap) +{ + int hlen; + void *names_hash = khash_str2int_init(); + char *htxt = bcf_hdr_fmt_text(h0, 1, &hlen); + kstring_t str; + bcf_hdr_t *h; + str.l = str.m = 0; str.s = 0; + h = bcf_hdr_init("w"); + bcf_hdr_set_version(h,bcf_hdr_get_version(h0)); + int j; + for (j=0; j 0) { + char *p; + int i = 0, end = n? 8 : 7; + while ((p = strstr(htxt, "#CHROM\t")) != 0) + if (p > htxt && *(p-1) == '\n') break; + while ((p = strchr(p, '\t')) != 0 && i < end) ++i, ++p; + if (i != end) { + free(h); free(str.s); + return 0; // malformated header + } + kputsn(htxt, p - htxt, &str); + for (i = 0; i < n; ++i) { + if ( khash_str2int_has_key(names_hash,samples[i]) ) + { + fprintf(stderr,"[E::bcf_hdr_subset] Duplicate sample name \"%s\".\n", samples[i]); + free(str.s); + free(htxt); + khash_str2int_destroy(names_hash); + bcf_hdr_destroy(h); + return NULL; + } + imap[i] = bcf_hdr_id2int(h0, BCF_DT_SAMPLE, samples[i]); + if (imap[i] < 0) continue; + kputc('\t', &str); + kputs(samples[i], &str); + khash_str2int_inc(names_hash,samples[i]); + } + } else kputsn(htxt, hlen, &str); + while (str.l && (!str.s[str.l-1] || str.s[str.l-1]=='\n') ) str.l--; // kill trailing zeros and newlines + kputc('\n',&str); + bcf_hdr_parse(h, str.s); + free(str.s); + free(htxt); + khash_str2int_destroy(names_hash); + return h; +} + +int bcf_hdr_set_samples(bcf_hdr_t *hdr, const char *samples, int is_file) +{ + if ( samples && !strcmp("-",samples) ) return 0; // keep all samples + + hdr->nsamples_ori = bcf_hdr_nsamples(hdr); + if ( !samples ) { bcf_hdr_nsamples(hdr) = 0; return 0; } // exclude all samples + + int i, narr = bit_array_size(bcf_hdr_nsamples(hdr)); + hdr->keep_samples = (uint8_t*) calloc(narr,1); + if ( samples[0]=='^' ) + for (i=0; ikeep_samples,i); + + int idx, n, ret = 0; + char **smpls = hts_readlist(samples[0]=='^'?samples+1:samples, is_file, &n); + if ( !smpls ) return -1; + for (i=0; ikeep_samples, idx); + else + bit_array_set(hdr->keep_samples, idx); + } + for (i=0; insamples_ori; i++) + if ( bit_array_test(hdr->keep_samples,i) ) bcf_hdr_nsamples(hdr)++; + if ( !bcf_hdr_nsamples(hdr) ) { free(hdr->keep_samples); hdr->keep_samples=NULL; } + else + { + char **samples = (char**) malloc(sizeof(char*)*bcf_hdr_nsamples(hdr)); + idx = 0; + for (i=0; insamples_ori; i++) + if ( bit_array_test(hdr->keep_samples,i) ) samples[idx++] = strdup(hdr->samples[i]); + free(hdr->samples); + hdr->samples = samples; + + // delete original samples from the dictionary + vdict_t *d = (vdict_t*)hdr->dict[BCF_DT_SAMPLE]; + int k; + for (k = kh_begin(d); k != kh_end(d); ++k) + if (kh_exist(d, k)) free((char*)kh_key(d, k)); + kh_destroy(vdict, d); + + // add the subset back + hdr->dict[BCF_DT_SAMPLE] = d = kh_init(vdict); + for (i=0; isamples[i], &ignore); + kh_val(d, k) = bcf_idinfo_def; + kh_val(d, k).id = kh_size(d) - 1; + } + bcf_hdr_sync(hdr); + } + + return ret; +} + +int bcf_subset(const bcf_hdr_t *h, bcf1_t *v, int n, int *imap) +{ + kstring_t ind; + ind.s = 0; ind.l = ind.m = 0; + if (n) { + bcf_fmt_t *fmt; + int i, j; + fmt = (bcf_fmt_t*)alloca(v->n_fmt * sizeof(bcf_fmt_t)); + uint8_t *ptr = (uint8_t*)v->indiv.s; + for (i = 0; i < v->n_fmt; ++i) + ptr = bcf_unpack_fmt_core1(ptr, v->n_sample, &fmt[i]); + for (i = 0; i < (int)v->n_fmt; ++i) { + bcf_fmt_t *f = &fmt[i]; + bcf_enc_int1(&ind, f->id); + bcf_enc_size(&ind, f->n, f->type); + for (j = 0; j < n; ++j) + if (imap[j] >= 0) kputsn((char*)(f->p + imap[j] * f->size), f->size, &ind); + } + for (i = j = 0; j < n; ++j) if (imap[j] >= 0) ++i; + v->n_sample = i; + } else v->n_sample = 0; + if ( !v->n_sample ) v->n_fmt = 0; + free(v->indiv.s); + v->indiv = ind; + v->unpacked &= ~BCF_UN_FMT; // only BCF is ready for output, VCF will need to unpack again + return 0; +} + +int bcf_is_snp(bcf1_t *v) +{ + int i; + bcf_unpack(v, BCF_UN_STR); + for (i = 0; i < v->n_allele; ++i) + { + if ( v->d.allele[i][1]==0 ) continue; + + // mpileup's allele, see also below. This is not completely satisfactory, + // a general library is here narrowly tailored to fit samtools. + if ( v->d.allele[i][0]=='<' && v->d.allele[i][1]=='X' && v->d.allele[i][2]=='>' ) continue; + + break; + } + return i == v->n_allele; +} + +static void bcf_set_variant_type(const char *ref, const char *alt, variant_t *var) +{ + // The most frequent case + if ( !ref[1] && !alt[1] ) + { + if ( *alt == '.' || *ref==*alt ) { var->n = 0; var->type = VCF_REF; return; } + if ( *alt == 'X' ) { var->n = 0; var->type = VCF_REF; return; } // mpileup's X allele shouldn't be treated as variant + var->n = 1; var->type = VCF_SNP; return; + } + if ( alt[0]=='<' ) + { + if ( alt[1]=='X' && alt[2]=='>' ) { var->n = 0; var->type = VCF_REF; return; } // mpileup's X allele shouldn't be treated as variant + var->type = VCF_OTHER; + return; + } + + const char *r = ref, *a = alt; + while (*r && *a && *r==*a ) { r++; a++; } + + if ( *a && !*r ) + { + while ( *a ) a++; + var->n = (a-alt)-(r-ref); var->type = VCF_INDEL; return; + } + else if ( *r && !*a ) + { + while ( *r ) r++; + var->n = (a-alt)-(r-ref); var->type = VCF_INDEL; return; + } + else if ( !*r && !*a ) + { + var->n = 0; var->type = VCF_REF; return; + } + + const char *re = r, *ae = a; + while ( re[1] ) re++; + while ( ae[1] ) ae++; + while ( *re==*ae && re>r && ae>a ) { re--; ae--; } + if ( ae==a ) + { + if ( re==r ) { var->n = 1; var->type = VCF_SNP; return; } + var->n = -(re-r); + if ( *re==*ae ) { var->type = VCF_INDEL; return; } + var->type = VCF_OTHER; return; + } + else if ( re==r ) + { + var->n = ae-a; + if ( *re==*ae ) { var->type = VCF_INDEL; return; } + var->type = VCF_OTHER; return; + } + + var->type = ( re-r == ae-a ) ? VCF_MNP : VCF_OTHER; + var->n = ( re-r > ae-a ) ? -(re-r+1) : ae-a+1; + + // should do also complex events, SVs, etc... +} + +static void bcf_set_variant_types(bcf1_t *b) +{ + if ( !(b->unpacked & BCF_UN_STR) ) bcf_unpack(b, BCF_UN_STR); + bcf_dec_t *d = &b->d; + if ( d->n_var < b->n_allele ) + { + d->var = (variant_t *) realloc(d->var, sizeof(variant_t)*b->n_allele); + d->n_var = b->n_allele; + } + int i; + b->d.var_type = 0; + for (i=1; in_allele; i++) + { + bcf_set_variant_type(d->allele[0],d->allele[i], &d->var[i]); + b->d.var_type |= d->var[i].type; + //fprintf(stderr,"[set_variant_type] %d %s %s -> %d %d .. %d\n", b->pos+1,d->allele[0],d->allele[i],d->var[i].type,d->var[i].n, b->d.var_type); + } +} + +int bcf_get_variant_types(bcf1_t *rec) +{ + if ( rec->d.var_type==-1 ) bcf_set_variant_types(rec); + return rec->d.var_type; +} +int bcf_get_variant_type(bcf1_t *rec, int ith_allele) +{ + if ( rec->d.var_type==-1 ) bcf_set_variant_types(rec); + return rec->d.var[ith_allele].type; +} + +int bcf_update_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const void *values, int n, int type) +{ + // Is the field already present? + int i, inf_id = bcf_hdr_id2int(hdr,BCF_DT_ID,key); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,inf_id) ) return -1; // No such INFO field in the header + if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); + + for (i=0; in_info; i++) + if ( inf_id==line->d.info[i].key ) break; + bcf_info_t *inf = i==line->n_info ? NULL : &line->d.info[i]; + + if ( !n || (type==BCF_HT_STR && !values) ) + { + if ( inf ) + { + // Mark the tag for removal, free existing memory if necessary + if ( inf->vptr_free ) + { + free(inf->vptr - inf->vptr_off); + inf->vptr_free = 0; + } + line->d.shared_dirty |= BCF1_DIRTY_INF; + inf->vptr = NULL; + } + return 0; + } + + // Encode the values and determine the size required to accommodate the values + kstring_t str = {0,0,0}; + bcf_enc_int1(&str, inf_id); + if ( type==BCF_HT_INT ) + bcf_enc_vint(&str, n, (int32_t*)values, -1); + else if ( type==BCF_HT_REAL ) + bcf_enc_vfloat(&str, n, (float*)values); + else if ( type==BCF_HT_FLAG || type==BCF_HT_STR ) + { + if ( values==NULL ) + bcf_enc_size(&str, 0, BCF_BT_NULL); + else + bcf_enc_vchar(&str, strlen((char*)values), (char*)values); + } + else + { + fprintf(stderr, "[E::%s] the type %d not implemented yet\n", __func__, type); + abort(); + } + + // Is the INFO tag already present + if ( inf ) + { + // Is it big enough to accommodate new block? + if ( str.l <= inf->vptr_len + inf->vptr_off ) + { + if ( str.l != inf->vptr_len + inf->vptr_off ) line->d.shared_dirty |= BCF1_DIRTY_INF; + uint8_t *ptr = inf->vptr - inf->vptr_off; + memcpy(ptr, str.s, str.l); + free(str.s); + int vptr_free = inf->vptr_free; + bcf_unpack_info_core1(ptr, inf); + inf->vptr_free = vptr_free; + } + else + { + assert( !inf->vptr_free ); // fix the caller or improve here: this has been modified before + bcf_unpack_info_core1((uint8_t*)str.s, inf); + inf->vptr_free = 1; + line->d.shared_dirty |= BCF1_DIRTY_INF; + } + } + else + { + // The tag is not present, create new one + line->n_info++; + hts_expand0(bcf_info_t, line->n_info, line->d.m_info , line->d.info); + inf = &line->d.info[line->n_info-1]; + bcf_unpack_info_core1((uint8_t*)str.s, inf); + inf->vptr_free = 1; + line->d.shared_dirty |= BCF1_DIRTY_INF; + } + line->unpacked |= BCF_UN_INFO; + return 0; +} + +int bcf_update_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *key, const char **values, int n) +{ + if ( !n ) + return bcf_update_format(hdr,line,key,NULL,0,BCF_HT_STR); + + int i, max_len = 0; + for (i=0; i max_len ) max_len = len; + } + char *out = (char*) malloc(max_len*n); + if ( !out ) return -2; + for (i=0; iunpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); + + for (i=0; in_fmt; i++) + if ( line->d.fmt[i].id==fmt_id ) break; + bcf_fmt_t *fmt = i==line->n_fmt ? NULL : &line->d.fmt[i]; + + if ( !n ) + { + if ( fmt ) + { + // Mark the tag for removal, free existing memory if necessary + if ( fmt->p_free ) + { + free(fmt->p - fmt->p_off); + fmt->p_free = 0; + } + line->d.indiv_dirty = 1; + fmt->p = NULL; + } + return 0; + } + + line->n_sample = bcf_hdr_nsamples(hdr); + int nps = n / line->n_sample; // number of values per sample + assert( nps && nps*line->n_sample==n ); // must be divisible by n_sample + + // Encode the values and determine the size required to accommodate the values + kstring_t str = {0,0,0}; + bcf_enc_int1(&str, fmt_id); + if ( type==BCF_HT_INT ) + bcf_enc_vint(&str, n, (int32_t*)values, nps); + else if ( type==BCF_HT_REAL ) + { + bcf_enc_size(&str, nps, BCF_BT_FLOAT); + kputsn((char*)values, nps*line->n_sample*sizeof(float), &str); + } + else if ( type==BCF_HT_STR ) + { + bcf_enc_size(&str, nps, BCF_BT_CHAR); + kputsn((char*)values, nps*line->n_sample, &str); + } + else + { + fprintf(stderr, "[E::%s] the type %d not implemented yet\n", __func__, type); + abort(); + } + + if ( !fmt ) + { + // Not present, new format field + line->n_fmt++; + hts_expand0(bcf_fmt_t, line->n_fmt, line->d.m_fmt, line->d.fmt); + + // Special case: VCF specification requires that GT is always first + if ( line->n_fmt > 1 && key[0]=='G' && key[1]=='T' && !key[2] ) + { + for (i=line->n_fmt-1; i>0; i--) + line->d.fmt[i] = line->d.fmt[i-1]; + fmt = &line->d.fmt[0]; + } + else + fmt = &line->d.fmt[line->n_fmt-1]; + bcf_unpack_fmt_core1((uint8_t*)str.s, line->n_sample, fmt); + line->d.indiv_dirty = 1; + fmt->p_free = 1; + } + else + { + // The tag is already present, check if it is big enough to accomodate the new block + if ( str.l <= fmt->p_len + fmt->p_off ) + { + // good, the block is big enough + if ( str.l != fmt->p_len + fmt->p_off ) line->d.indiv_dirty = 1; + uint8_t *ptr = fmt->p - fmt->p_off; + memcpy(ptr, str.s, str.l); + free(str.s); + int p_free = fmt->p_free; + bcf_unpack_fmt_core1(ptr, line->n_sample, fmt); + fmt->p_free = p_free; + } + else + { + assert( !fmt->p_free ); // fix the caller or improve here: this has been modified before + bcf_unpack_fmt_core1((uint8_t*)str.s, line->n_sample, fmt); + fmt->p_free = 1; + line->d.indiv_dirty = 1; + } + } + line->unpacked |= BCF_UN_FMT; + return 0; +} + + +int bcf_update_filter(const bcf_hdr_t *hdr, bcf1_t *line, int *flt_ids, int n) +{ + if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); + line->d.shared_dirty |= BCF1_DIRTY_FLT; + line->d.n_flt = n; + if ( !n ) return 0; + hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); + int i; + for (i=0; id.flt[i] = flt_ids[i]; + return 0; +} + +int bcf_add_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id) +{ + if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); + int i; + for (i=0; id.n_flt; i++) + if ( flt_id==line->d.flt[i] ) break; + if ( id.n_flt ) return 0; // this filter is already set + line->d.shared_dirty |= BCF1_DIRTY_FLT; + if ( flt_id==0 ) // set to PASS + line->d.n_flt = 1; + else if ( line->d.n_flt==1 && line->d.flt[0]==0 ) + line->d.n_flt = 1; + else + line->d.n_flt++; + hts_expand(int, line->d.n_flt, line->d.m_flt, line->d.flt); + line->d.flt[line->d.n_flt-1] = flt_id; + return 1; +} +int bcf_remove_filter(const bcf_hdr_t *hdr, bcf1_t *line, int flt_id, int pass) +{ + if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); + int i; + for (i=0; id.n_flt; i++) + if ( flt_id==line->d.flt[i] ) break; + if ( i==line->d.n_flt ) return 0; // the filter is not present + line->d.shared_dirty |= BCF1_DIRTY_FLT; + if ( i!=line->d.n_flt-1 ) memmove(line->d.flt+i,line->d.flt+i+1,(line->d.n_flt-i-1)*sizeof(*line->d.flt)); + line->d.n_flt--; + if ( !line->d.n_flt && pass ) bcf_add_filter(hdr,line,0); + return 0; +} + +int bcf_has_filter(const bcf_hdr_t *hdr, bcf1_t *line, char *filter) +{ + if ( filter[0]=='.' && !filter[1] ) filter = "PASS"; + int id = bcf_hdr_id2int(hdr, BCF_DT_ID, filter); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FLT,id) ) return -1; // not defined in the header + + if ( !(line->unpacked & BCF_UN_FLT) ) bcf_unpack(line, BCF_UN_FLT); + if ( id==0 && !line->d.n_flt) return 1; // PASS + + int i; + for (i=0; id.n_flt; i++) + if ( line->d.flt[i]==id ) return 1; + return 0; +} + +static inline int _bcf1_sync_alleles(const bcf_hdr_t *hdr, bcf1_t *line, int nals) +{ + line->d.shared_dirty |= BCF1_DIRTY_ALS; + + line->n_allele = nals; + hts_expand(char*, line->n_allele, line->d.m_allele, line->d.allele); + + char *als = line->d.als; + int n = 0; + while (nd.allele[n] = als; + while ( *als ) als++; + als++; + n++; + } + return 0; +} +int bcf_update_alleles(const bcf_hdr_t *hdr, bcf1_t *line, const char **alleles, int nals) +{ + kstring_t tmp = {0,0,0}; + char *free_old = NULL; + + // If the supplied alleles are not pointers to line->d.als, the existing block can be reused. + int i; + for (i=0; i=line->d.als && alleles[i]d.als+line->d.m_als ) break; + if ( i==nals ) + { + // all alleles point elsewhere, reuse the existing block + tmp.l = 0; tmp.s = line->d.als; tmp.m = line->d.m_als; + } + else + free_old = line->d.als; + + for (i=0; id.als = tmp.s; line->d.m_als = tmp.m; + free(free_old); + return _bcf1_sync_alleles(hdr,line,nals); +} + +int bcf_update_alleles_str(const bcf_hdr_t *hdr, bcf1_t *line, const char *alleles_string) +{ + kstring_t tmp; + tmp.l = 0; tmp.s = line->d.als; tmp.m = line->d.m_als; + kputs(alleles_string, &tmp); + line->d.als = tmp.s; line->d.m_als = tmp.m; + + int nals = 1; + char *t = line->d.als; + while (*t) + { + if ( *t==',' ) { *t = 0; nals++; } + t++; + } + return _bcf1_sync_alleles(hdr, line, nals); +} + +int bcf_update_id(const bcf_hdr_t *hdr, bcf1_t *line, const char *id) +{ + kstring_t tmp; + tmp.l = 0; tmp.s = line->d.id; tmp.m = line->d.m_id; + if ( id ) + kputs(id, &tmp); + else + kputs(".", &tmp); + line->d.id = tmp.s; line->d.m_id = tmp.m; + line->d.shared_dirty |= BCF1_DIRTY_ID; + return 0; +} + +bcf_fmt_t *bcf_get_fmt(const bcf_hdr_t *hdr, bcf1_t *line, const char *key) +{ + int id = bcf_hdr_id2int(hdr, BCF_DT_ID, key); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,id) ) return NULL; // no such FMT field in the header + return bcf_get_fmt_id(line, id); +} + +bcf_info_t *bcf_get_info(const bcf_hdr_t *hdr, bcf1_t *line, const char *key) +{ + int id = bcf_hdr_id2int(hdr, BCF_DT_ID, key); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,id) ) return NULL; // no such INFO field in the header + return bcf_get_info_id(line, id); +} + +bcf_fmt_t *bcf_get_fmt_id(bcf1_t *line, const int id) +{ + int i; + if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); + for (i=0; in_fmt; i++) + { + if ( line->d.fmt[i].id==id ) return &line->d.fmt[i]; + } + return NULL; +} + +bcf_info_t *bcf_get_info_id(bcf1_t *line, const int id) +{ + int i; + if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); + for (i=0; in_info; i++) + { + if ( line->d.info[i].key==id ) return &line->d.info[i]; + } + return NULL; +} + + +int bcf_get_info_values(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, void **dst, int *ndst, int type) +{ + int i,j, tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_INFO,tag_id) ) return -1; // no such INFO field in the header + if ( bcf_hdr_id2type(hdr,BCF_HL_INFO,tag_id)!=type ) return -2; // expected different type + + if ( !(line->unpacked & BCF_UN_INFO) ) bcf_unpack(line, BCF_UN_INFO); + + for (i=0; in_info; i++) + if ( line->d.info[i].key==tag_id ) break; + if ( i==line->n_info ) return ( type==BCF_HT_FLAG ) ? 0 : -3; // the tag is not present in this record + if ( type==BCF_HT_FLAG ) return 1; + + bcf_info_t *info = &line->d.info[i]; + if ( type==BCF_HT_STR ) + { + if ( *ndst < info->len+1 ) + { + *ndst = info->len + 1; + *dst = realloc(*dst, *ndst); + } + memcpy(*dst,info->vptr,info->len); + ((uint8_t*)*dst)[info->len] = 0; + return info->len; + } + + // Make sure the buffer is big enough + int size1 = type==BCF_HT_INT ? sizeof(int32_t) : sizeof(float); + if ( *ndst < info->len ) + { + *ndst = info->len; + *dst = realloc(*dst, *ndst * size1); + } + + if ( info->len == 1 ) + { + if ( info->type==BCF_BT_FLOAT ) *((float*)*dst) = info->v1.f; + else + { + #define BRANCH(type_t, missing) { \ + if ( info->v1.i==missing ) *((int32_t*)*dst) = bcf_int32_missing; \ + else *((int32_t*)*dst) = info->v1.i; \ + } + switch (info->type) + { + case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_missing ); break; + case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_missing); break; + case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_missing); break; + } + #undef BRANCH + } + return 1; + } + + #define BRANCH(type_t, is_missing, is_vector_end, set_missing, out_type_t) { \ + out_type_t *tmp = (out_type_t *) *dst; \ + type_t *p = (type_t *) info->vptr; \ + for (j=0; jlen; j++) \ + { \ + if ( is_vector_end ) return j; \ + if ( is_missing ) set_missing; \ + else *tmp = p[j]; \ + tmp++; \ + } \ + return j; \ + } + switch (info->type) { + case BCF_BT_INT8: BRANCH(int8_t, p[j]==bcf_int8_missing, p[j]==bcf_int8_vector_end, *tmp=bcf_int32_missing, int32_t); break; + case BCF_BT_INT16: BRANCH(int16_t, p[j]==bcf_int16_missing, p[j]==bcf_int16_vector_end, *tmp=bcf_int32_missing, int32_t); break; + case BCF_BT_INT32: BRANCH(int32_t, p[j]==bcf_int32_missing, p[j]==bcf_int32_vector_end, *tmp=bcf_int32_missing, int32_t); break; + case BCF_BT_FLOAT: BRANCH(float, bcf_float_is_missing(p[j]), bcf_float_is_vector_end(p[j]), bcf_float_set_missing(*tmp), float); break; + default: fprintf(stderr,"TODO: %s:%d .. info->type=%d\n", __FILE__,__LINE__, info->type); exit(1); + } + #undef BRANCH + return -4; // this can never happen +} + +int bcf_get_format_string(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, char ***dst, int *ndst) +{ + int i,tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,tag_id) ) return -1; // no such FORMAT field in the header + if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=BCF_HT_STR ) return -2; // expected different type + + if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); + + for (i=0; in_fmt; i++) + if ( line->d.fmt[i].id==tag_id ) break; + if ( i==line->n_fmt ) return -3; // the tag is not present in this record + bcf_fmt_t *fmt = &line->d.fmt[i]; + + int nsmpl = bcf_hdr_nsamples(hdr); + if ( !*dst ) + { + *dst = (char**) malloc(sizeof(char*)*nsmpl); + if ( !*dst ) return -4; // could not alloc + (*dst)[0] = NULL; + } + int n = (fmt->n+1)*nsmpl; + if ( *ndst < n ) + { + (*dst)[0] = realloc((*dst)[0], n); + if ( !(*dst)[0] ) return -4; // could not alloc + *ndst = n; + } + for (i=0; ip + i*fmt->n; + uint8_t *tmp = (uint8_t*)(*dst)[0] + i*(fmt->n+1); + memcpy(tmp,src,fmt->n); + tmp[fmt->n] = 0; + (*dst)[i] = (char*) tmp; + } + return n; +} + +int bcf_get_format_values(const bcf_hdr_t *hdr, bcf1_t *line, const char *tag, void **dst, int *ndst, int type) +{ + int i,j, tag_id = bcf_hdr_id2int(hdr, BCF_DT_ID, tag); + if ( !bcf_hdr_idinfo_exists(hdr,BCF_HL_FMT,tag_id) ) return -1; // no such FORMAT field in the header + if ( tag[0]=='G' && tag[1]=='T' && tag[2]==0 ) + { + // Ugly: GT field is considered to be a string by the VCF header but BCF represents it as INT. + if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=BCF_HT_STR ) return -2; + } + else if ( bcf_hdr_id2type(hdr,BCF_HL_FMT,tag_id)!=type ) return -2; // expected different type + + if ( !(line->unpacked & BCF_UN_FMT) ) bcf_unpack(line, BCF_UN_FMT); + + for (i=0; in_fmt; i++) + if ( line->d.fmt[i].id==tag_id ) break; + if ( i==line->n_fmt ) return -3; // the tag is not present in this record + bcf_fmt_t *fmt = &line->d.fmt[i]; + + if ( type==BCF_HT_STR ) + { + int n = fmt->n*bcf_hdr_nsamples(hdr); + if ( *ndst < n ) + { + *dst = realloc(*dst, n); + if ( !*dst ) return -4; // could not alloc + *ndst = n; + } + memcpy(*dst,fmt->p,n); + return n; + } + + // Make sure the buffer is big enough + int nsmpl = bcf_hdr_nsamples(hdr); + int size1 = type==BCF_HT_INT ? sizeof(int32_t) : sizeof(float); + if ( *ndst < fmt->n*nsmpl ) + { + *ndst = fmt->n*nsmpl; + *dst = realloc(*dst, *ndst*size1); + if ( !dst ) return -4; // could not alloc + } + + #define BRANCH(type_t, is_missing, is_vector_end, set_missing, set_vector_end, out_type_t) { \ + out_type_t *tmp = (out_type_t *) *dst; \ + type_t *p = (type_t*) fmt->p; \ + for (i=0; in; j++) \ + { \ + if ( is_missing ) set_missing; \ + else if ( is_vector_end ) { set_vector_end; break; } \ + else *tmp = p[j]; \ + tmp++; \ + } \ + for (; jn; j++) { set_vector_end; tmp++; } \ + p = (type_t *)((char *)p + fmt->size); \ + } \ + } + switch (fmt->type) { + case BCF_BT_INT8: BRANCH(int8_t, p[j]==bcf_int8_missing, p[j]==bcf_int8_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; + case BCF_BT_INT16: BRANCH(int16_t, p[j]==bcf_int16_missing, p[j]==bcf_int16_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; + case BCF_BT_INT32: BRANCH(int32_t, p[j]==bcf_int32_missing, p[j]==bcf_int32_vector_end, *tmp=bcf_int32_missing, *tmp=bcf_int32_vector_end, int32_t); break; + case BCF_BT_FLOAT: BRANCH(float, bcf_float_is_missing(p[j]), bcf_float_is_vector_end(p[j]), bcf_float_set_missing(*tmp), bcf_float_set_vector_end(*tmp), float); break; + default: fprintf(stderr,"TODO: %s:%d .. fmt->type=%d\n", __FILE__,__LINE__, fmt->type); exit(1); + } + #undef BRANCH + return nsmpl*fmt->n; +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/vcf_sweep.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/vcf_sweep.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,182 @@ +/* vcf_sweep.c -- forward/reverse sweep API. + + Copyright (C) 2013 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include "htslib/vcf_sweep.h" +#include "htslib/bgzf.h" + +#define SW_FWD 0 +#define SW_BWD 1 + +struct _bcf_sweep_t +{ + htsFile *file; + bcf_hdr_t *hdr; + BGZF *fp; + + int direction; // to tell if the direction has changed + int block_size; // the size of uncompressed data to hold in memory + bcf1_t *rec; // bcf buffer + int nrec, mrec; // number of used records; total size of the buffer + int lrid, lpos, lnals, lals_len, mlals; // to check uniqueness of a record + char *lals; + + uint64_t *idx; // uncompressed offsets of VCF/BCF records + int iidx, nidx, midx; // i: current offset; n: used; m: allocated + int idx_done; // the index is built during the first pass +}; + +BGZF *hts_get_bgzfp(htsFile *fp); +int hts_useek(htsFile *file, long uoffset, int where); +long hts_utell(htsFile *file); + +static inline int sw_rec_equal(bcf_sweep_t *sw, bcf1_t *rec) +{ + if ( sw->lrid!=rec->rid ) return 0; + if ( sw->lpos!=rec->pos ) return 0; + if ( sw->lnals!=rec->n_allele ) return 0; + + char *t = rec->d.allele[sw->lnals-1]; + int len = t - rec->d.allele[0] + 1; + while ( *t ) { t++; len++; } + if ( sw->lals_len!=len ) return 0; + if ( memcmp(sw->lals,rec->d.allele[0],len) ) return 0; + return 1; +} + +static void sw_rec_save(bcf_sweep_t *sw, bcf1_t *rec) +{ + sw->lrid = rec->rid; + sw->lpos = rec->pos; + sw->lnals = rec->n_allele; + + char *t = rec->d.allele[sw->lnals-1]; + int len = t - rec->d.allele[0] + 1; + while ( *t ) { t++; len++; } + sw->lals_len = len; + hts_expand(char, len, sw->mlals, sw->lals); + memcpy(sw->lals, rec->d.allele[0], len); +} + +static void sw_fill_buffer(bcf_sweep_t *sw) +{ + if ( !sw->iidx ) return; + sw->iidx--; + + int ret = hts_useek(sw->file, sw->idx[sw->iidx], 0); + assert( ret==0 ); + + sw->nrec = 0; + bcf1_t *rec = &sw->rec[sw->nrec]; + while ( (ret=bcf_read1(sw->file, sw->hdr, rec))==0 ) + { + bcf_unpack(rec, BCF_UN_STR); + + // if not in the last block, stop at the saved record + if ( sw->iidx+1 < sw->nidx && sw_rec_equal(sw,rec) ) break; + + sw->nrec++; + hts_expand0(bcf1_t, sw->nrec+1, sw->mrec, sw->rec); + rec = &sw->rec[sw->nrec]; + } + sw_rec_save(sw, &sw->rec[0]); +} + +bcf_sweep_t *bcf_sweep_init(const char *fname) +{ + bcf_sweep_t *sw = (bcf_sweep_t*) calloc(1,sizeof(bcf_sweep_t)); + sw->file = hts_open(fname, "r"); + sw->fp = hts_get_bgzfp(sw->file); + bgzf_index_build_init(sw->fp); + sw->hdr = bcf_hdr_read(sw->file); + sw->mrec = 1; + sw->rec = (bcf1_t*) calloc(sw->mrec,(sizeof(bcf1_t))); + sw->block_size = 1024*1024*3; + sw->direction = SW_FWD; + return sw; +} + +void bcf_empty1(bcf1_t *v); +void bcf_sweep_destroy(bcf_sweep_t *sw) +{ + int i; + for (i=0; imrec; i++) bcf_empty1(&sw->rec[i]); + free(sw->idx); + free(sw->rec); + free(sw->lals); + bcf_hdr_destroy(sw->hdr); + hts_close(sw->file); + free(sw); +} + +static void sw_seek(bcf_sweep_t *sw, int direction) +{ + sw->direction = direction; + if ( direction==SW_FWD ) + hts_useek(sw->file, sw->idx[0], 0); + else + { + sw->iidx = sw->nidx; + sw->nrec = 0; + } +} + +bcf1_t *bcf_sweep_fwd(bcf_sweep_t *sw) +{ + if ( sw->direction==SW_BWD ) sw_seek(sw, SW_FWD); + + long pos = hts_utell(sw->file); + + bcf1_t *rec = &sw->rec[0]; + int ret = bcf_read1(sw->file, sw->hdr, rec); + + if ( ret!=0 ) // last record, get ready for sweeping backwards + { + sw->idx_done = 1; + sw->fp->idx_build_otf = 0; + sw_seek(sw, SW_BWD); + return NULL; + } + + if ( !sw->idx_done ) + { + if ( !sw->nidx || pos - sw->idx[sw->nidx-1] > sw->block_size ) + { + sw->nidx++; + hts_expand(uint64_t, sw->nidx, sw->midx, sw->idx); + sw->idx[sw->nidx-1] = pos; + } + } + return rec; +} + +bcf1_t *bcf_sweep_bwd(bcf_sweep_t *sw) +{ + if ( sw->direction==SW_FWD ) sw_seek(sw, SW_BWD); + if ( !sw->nrec ) sw_fill_buffer(sw); + if ( !sw->nrec ) return NULL; + return &sw->rec[ --sw->nrec ]; +} + +bcf_hdr_t *bcf_sweep_hdr(bcf_sweep_t *sw) { return sw->hdr; } + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/vcfutils.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/vcfutils.c Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,675 @@ +/* vcfutils.c -- allele-related utility functions. + + Copyright (C) 2012-2014 Genome Research Ltd. + + Author: Petr Danecek + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL +THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER +DEALINGS IN THE SOFTWARE. */ + +#include "htslib/vcfutils.h" + +int bcf_calc_ac(const bcf_hdr_t *header, bcf1_t *line, int *ac, int which) +{ + int i; + for (i=0; in_allele; i++) ac[i]=0; + + // Use INFO/AC,AN field only when asked + if ( which&BCF_UN_INFO ) + { + bcf_unpack(line, BCF_UN_INFO); + int an_id = bcf_hdr_id2int(header, BCF_DT_ID, "AN"); + int ac_id = bcf_hdr_id2int(header, BCF_DT_ID, "AC"); + int i, an=-1, ac_len=0, ac_type=0; + uint8_t *ac_ptr=NULL; + if ( an_id>=0 && ac_id>=0 ) + { + for (i=0; in_info; i++) + { + bcf_info_t *z = &line->d.info[i]; + if ( z->key == an_id ) an = z->v1.i; + else if ( z->key == ac_id ) { ac_ptr = z->vptr; ac_len = z->len; ac_type = z->type; } + } + } + if ( an>=0 && ac_ptr ) + { + int nac = 0; + #define BRANCH_INT(type_t) { \ + type_t *p = (type_t *) ac_ptr; \ + for (i=0; iid[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; + } + #undef BRANCH_INT + if ( anid[BCF_DT_CTG][line->rid].key, line->pos+1); + exit(1); + } + ac[0] = an - nac; + return 1; + } + } + + // Split genotype fields only when asked + if ( which&BCF_UN_FMT ) + { + int i, gt_id = bcf_hdr_id2int(header,BCF_DT_ID,"GT"); + if ( gt_id<0 ) return 0; + bcf_unpack(line, BCF_UN_FMT); + bcf_fmt_t *fmt_gt = NULL; + for (i=0; i<(int)line->n_fmt; i++) + if ( line->d.fmt[i].id==gt_id ) { fmt_gt = &line->d.fmt[i]; break; } + if ( !fmt_gt ) return 0; + #define BRANCH_INT(type_t,vector_end) { \ + for (i=0; in_sample; i++) \ + { \ + type_t *p = (type_t*) (fmt_gt->p + i*fmt_gt->size); \ + int ial; \ + for (ial=0; ialn; ial++) \ + { \ + if ( p[ial]==vector_end ) break; /* smaller ploidy */ \ + if ( bcf_gt_is_missing(p[ial]) ) continue; /* missing allele */ \ + if ( p[ial]>>1 > line->n_allele ) \ + { \ + fprintf(stderr,"[E::%s] Incorrect allele (\"%d\") in %s at %s:%d\n", __func__,(p[ial]>>1)-1, header->samples[i],header->id[BCF_DT_CTG][line->rid].key, line->pos+1); \ + exit(1); \ + } \ + ac[(p[ial]>>1)-1]++; \ + } \ + } \ + } + switch (fmt_gt->type) { + case BCF_BT_INT8: BRANCH_INT(int8_t, bcf_int8_vector_end); break; + case BCF_BT_INT16: BRANCH_INT(int16_t, bcf_int16_vector_end); break; + case BCF_BT_INT32: BRANCH_INT(int32_t, bcf_int32_vector_end); break; + default: fprintf(stderr, "[E::%s] todo: %d at %s:%d\n", __func__, fmt_gt->type, header->id[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; + } + #undef BRANCH_INT + return 1; + } + return 0; +} + +int bcf_gt_type(bcf_fmt_t *fmt_ptr, int isample, int *_ial, int *_jal) +{ + int i, nals = 0, has_ref = 0, has_alt = 0, ial = 0, jal = 0; + #define BRANCH_INT(type_t,vector_end) { \ + type_t *p = (type_t*) (fmt_ptr->p + isample*fmt_ptr->size); \ + for (i=0; in; i++) \ + { \ + if ( p[i] == vector_end ) break; /* smaller ploidy */ \ + if ( bcf_gt_is_missing(p[i]) ) continue; /* missing allele */ \ + int tmp = p[i]>>1; \ + if ( tmp>1 ) \ + { \ + if ( !ial ) { ial = tmp; has_alt = 1; } \ + else if ( tmp!=ial ) \ + { \ + if ( tmptype) { + case BCF_BT_INT8: BRANCH_INT(int8_t, bcf_int8_vector_end); break; + case BCF_BT_INT16: BRANCH_INT(int16_t, bcf_int16_vector_end); break; + case BCF_BT_INT32: BRANCH_INT(int32_t, bcf_int32_vector_end); break; + default: fprintf(stderr, "[E::%s] todo: fmt_type %d\n", __func__, fmt_ptr->type); exit(1); break; + } + #undef BRANCH_INT + + if ( _ial ) *_ial = ial>0 ? ial-1 : ial; + if ( _jal ) *_jal = jal>0 ? jal-1 : jal; + if ( !nals ) return GT_UNKN; + if ( nals==1 ) + return has_ref ? GT_HAPL_R : GT_HAPL_A; + if ( !has_ref ) + return has_alt==1 ? GT_HOM_AA : GT_HET_AA; + if ( !has_alt ) + return GT_HOM_RR; + return GT_HET_RA; +} + +int bcf_trim_alleles(const bcf_hdr_t *header, bcf1_t *line) +{ + int i; + bcf_fmt_t *gt = bcf_get_fmt(header, line, "GT"); + if ( !gt ) return 0; + + int *ac = (int*) calloc(line->n_allele,sizeof(int)); + + // check if all alleles are populated + #define BRANCH(type_t,vector_end) { \ + for (i=0; in_sample; i++) \ + { \ + type_t *p = (type_t*) (gt->p + i*gt->size); \ + int ial; \ + for (ial=0; ialn; ial++) \ + { \ + if ( p[ial]==vector_end ) break; /* smaller ploidy */ \ + if ( bcf_gt_is_missing(p[ial]) ) continue; /* missing allele */ \ + if ( (p[ial]>>1)-1 >= line->n_allele ) { free(ac); return -1; } \ + ac[(p[ial]>>1)-1]++; \ + } \ + } \ + } + switch (gt->type) { + case BCF_BT_INT8: BRANCH(int8_t, bcf_int8_vector_end); break; + case BCF_BT_INT16: BRANCH(int16_t, bcf_int16_vector_end); break; + case BCF_BT_INT32: BRANCH(int32_t, bcf_int32_vector_end); break; + default: fprintf(stderr, "[E::%s] todo: %d at %s:%d\n", __func__, gt->type, header->id[BCF_DT_CTG][line->rid].key, line->pos+1); exit(1); break; + } + #undef BRANCH + + int rm_als = 0, nrm = 0; + for (i=1; in_allele; i++) + { + if ( !ac[i] ) { rm_als |= 1<n_allele, sizeof(int)); + + // create map of indexes from old to new ALT numbering and modify ALT + kstring_t str = {0,0,0}; + kputs(line->d.allele[0], &str); + + int nrm = 0, i,j; // i: ori alleles, j: new alleles + for (i=1, j=1; in_allele; i++) + { + if ( rm_mask & 1<d.allele[i] = NULL; + nrm++; + continue; + } + kputc(',', &str); + kputs(line->d.allele[i], &str); + map[i] = j; + j++; + } + if ( !nrm ) { free(map); free(str.s); return; } + + int nR_ori = line->n_allele; + int nR_new = line->n_allele-nrm; + assert(nR_new > 0); // should not be able to remove reference allele + int nA_ori = nR_ori-1; + int nA_new = nR_new-1; + + int nG_ori = nR_ori*(nR_ori + 1)/2; + int nG_new = nR_new*(nR_new + 1)/2; + + bcf_update_alleles_str(header, line, str.s); + + // remove from Number=G, Number=R and Number=A INFO fields. + uint8_t *dat = NULL; + int mdat = 0, ndat = 0, mdat_bytes = 0, nret; + for (i=0; in_info; i++) + { + bcf_info_t *info = &line->d.info[i]; + int vlen = bcf_hdr_id2length(header,BCF_HL_INFO,info->key); + + if ( vlen!=BCF_VL_A && vlen!=BCF_VL_G && vlen!=BCF_VL_R ) continue; // no need to change + + int type = bcf_hdr_id2type(header,BCF_HL_INFO,info->key); + if ( type==BCF_HT_FLAG ) continue; + int size = 1; + if ( type==BCF_HT_REAL || type==BCF_HT_INT ) size = 4; + + mdat = mdat_bytes / size; + nret = bcf_get_info_values(header, line, bcf_hdr_int2id(header,BCF_DT_ID,info->key), (void**)&dat, &mdat, type); + mdat_bytes = mdat * size; + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not access INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + if ( type==BCF_HT_STR ) + { + str.l = 0; + char *ss = (char*) dat, *se = (char*) dat; + if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) + { + int nexp, inc = 0; + if ( vlen==BCF_VL_A ) + { + nexp = nA_ori; + inc = 1; + } + else + nexp = nR_ori; + for (j=0; jkey), (void*)str.s, str.l, type); + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not update INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + continue; + } + + if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) + { + int inc = 0, ntop; + if ( vlen==BCF_VL_A ) + { + assert( nret==nA_ori ); + ntop = nA_ori; + ndat = nA_new; + inc = 1; + } + else + { + assert( nret==nR_ori ); + ntop = nR_ori; + ndat = nR_new; + } + int k = 0; + + #define BRANCH(type_t,is_vector_end) \ + { \ + type_t *ptr = (type_t*) dat; \ + int size = sizeof(type_t); \ + for (j=0; jkey), (void*)dat, ndat, type); + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not update INFO/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,info->key), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + } + + // Update GT fields, the allele indexes might have changed + for (i=1; in_allele; i++) if ( map[i]!=i ) break; + if ( in_allele ) + { + mdat = mdat_bytes / 4; // sizeof(int32_t) + nret = bcf_get_genotypes(header,line,(void**)&dat,&mdat); + mdat_bytes = mdat * 4; + if ( nret>0 ) + { + nret /= line->n_sample; + int32_t *ptr = (int32_t*) dat; + for (i=0; in_sample; i++) + { + for (j=0; j=0 ); + ptr[j] = (map[al]+1)<<1 | (ptr[j]&1); + } + ptr += nret; + } + bcf_update_genotypes(header, line, (void*)dat, nret*line->n_sample); + } + } + + // Remove from Number=G, Number=R and Number=A FORMAT fields. + // Assuming haploid or diploid GTs + for (i=0; in_fmt; i++) + { + bcf_fmt_t *fmt = &line->d.fmt[i]; + int vlen = bcf_hdr_id2length(header,BCF_HL_FMT,fmt->id); + + if ( vlen!=BCF_VL_A && vlen!=BCF_VL_G && vlen!=BCF_VL_R ) continue; // no need to change + + int type = bcf_hdr_id2type(header,BCF_HL_FMT,fmt->id); + if ( type==BCF_HT_FLAG ) continue; + + int size = 1; + if ( type==BCF_HT_REAL || type==BCF_HT_INT ) size = 4; + + mdat = mdat_bytes / size; + nret = bcf_get_format_values(header, line, bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), (void**)&dat, &mdat, type); + mdat_bytes = mdat * size; + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not access FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + + if ( type==BCF_HT_STR ) + { + int size = nret/line->n_sample; // number of bytes per sample + str.l = 0; + if ( vlen==BCF_VL_A || vlen==BCF_VL_R ) + { + int nexp, inc = 0; + if ( vlen==BCF_VL_A ) + { + nexp = nA_ori; + inc = 1; + } + else + nexp = nR_ori; + for (j=0; jn_sample; j++) + { + char *ss = ((char*)dat) + j*size, *se = ss + size, *ptr = ss; + int k_src = 0, k_dst = 0, l = str.l; + for (k_src=0; k_src=se || !*ptr) break; + while ( ptrn_sample; j++) + { + char *ss = ((char*)dat) + j*size, *se = ss + size, *ptr = ss; + int k_src = 0, k_dst = 0, l = str.l; + int nexp = 0; // diploid or haploid? + while ( ptr=se || !*ptr ) break; + while ( ptr=se || !*ptr ) break; + } + } + else // haploid + { + for (k_src=0; k_src=se || !*ptr ) break; + while ( ptrid), (void*)str.s, str.l, type); + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not update FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + continue; + } + + int nori = nret / line->n_sample; + if ( vlen==BCF_VL_A || vlen==BCF_VL_R || (vlen==BCF_VL_G && nori==nR_ori) ) // Number=A, R or haploid Number=G + { + int inc = 0, nnew; + if ( vlen==BCF_VL_A ) + { + assert( nori==nA_ori ); // todo: will fail if all values are missing + ndat = nA_new*line->n_sample; + nnew = nA_new; + inc = 1; + } + else + { + assert( nori==nR_ori ); // todo: will fail if all values are missing + ndat = nR_new*line->n_sample; + nnew = nR_new; + } + + #define BRANCH(type_t,is_vector_end) \ + { \ + for (j=0; jn_sample; j++) \ + { \ + type_t *ptr_src = ((type_t*)dat) + j*nori; \ + type_t *ptr_dst = ((type_t*)dat) + j*nnew; \ + int size = sizeof(type_t); \ + int k_src, k_dst = 0; \ + for (k_src=0; k_srcn_sample; + + #define BRANCH(type_t,is_vector_end) \ + { \ + for (j=0; jn_sample; j++) \ + { \ + type_t *ptr_src = ((type_t*)dat) + j*nori; \ + type_t *ptr_dst = ((type_t*)dat) + j*nG_new; \ + int size = sizeof(type_t); \ + int ia, ib, k_dst = 0, k_src; \ + int nset = 0; /* haploid or diploid? */ \ + for (k_src=0; k_srcid), (void*)dat, ndat, type); + if ( nret<0 ) + { + fprintf(stderr,"[%s:%d %s] Could not update FORMAT/%s at %s:%d [%d]\n", __FILE__,__LINE__,__FUNCTION__, + bcf_hdr_int2id(header,BCF_DT_ID,fmt->id), bcf_seqname(header,line), line->pos+1, nret); + exit(1); + } + } + free(dat); + free(str.s); + free(map); +} + diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/src/htslib/version.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/src/htslib/version.h Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1 @@ +#define HTS_VERSION "1.2.1" diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/exp_data/hg19_rRNA.bed --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/exp_data/hg19_rRNA.bed Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,1769 @@ +chr1 1815107 1815204 LSU-rRNA_Hsa 495 + 1815107 1815204 0 1 97 0 +chr1 4417098 4417211 LSU-rRNA_Hsa 234 - 4417098 4417211 0 1 113 0 +chr1 7876433 7876473 5S 282 + 7876433 7876473 0 1 40 0 +chr1 9497766 9497837 5S 467 - 9497766 9497837 0 1 71 0 +chr1 13923133 13923172 5S 256 - 13923133 13923172 0 1 39 0 +chr1 13949705 13949779 5S 432 - 13949705 13949779 0 1 74 0 +chr1 15976864 15976906 5S 266 - 15976864 15976906 0 1 42 0 +chr1 25483508 25483621 LSU-rRNA_Hsa 896 - 25483508 25483621 0 1 113 0 +chr1 28242609 28242680 LSU-rRNA_Hsa 410 - 28242609 28242680 0 1 71 0 +chr1 30802098 30802177 LSU-rRNA_Hsa 270 - 30802098 30802177 0 1 79 0 +chr1 31583541 31583592 5S 354 + 31583541 31583592 0 1 51 0 +chr1 31851406 31851445 5S 270 - 31851406 31851445 0 1 39 0 +chr1 32833269 32833349 SSU-rRNA_Hsa 257 + 32833269 32833349 0 1 80 0 +chr1 34578550 34578639 5S 715 + 34578550 34578639 0 1 89 0 +chr1 37168239 37168281 5S 241 - 37168239 37168281 0 1 42 0 +chr1 37315505 37315568 LSU-rRNA_Hsa 274 - 37315505 37315568 0 1 63 0 +chr1 37730289 37730387 5S 512 - 37730289 37730387 0 1 98 0 +chr1 39354488 39354536 LSU-rRNA_Hsa 293 - 39354488 39354536 0 1 48 0 +chr1 39619878 39619968 5S 684 - 39619878 39619968 0 1 90 0 +chr1 39673433 39673475 5S 239 + 39673433 39673475 0 1 42 0 +chr1 41932607 41932698 5S 604 - 41932607 41932698 0 1 91 0 +chr1 42779298 42779471 LSU-rRNA_Hsa 1102 + 42779298 42779471 0 1 173 0 +chr1 42956316 42956359 5S 230 + 42956316 42956359 0 1 43 0 +chr1 43045772 43046173 LSU-rRNA_Hsa 661 + 43045772 43046173 0 1 401 0 +chr1 43215463 43215643 LSU-rRNA_Hsa 1020 - 43215463 43215643 0 1 180 0 +chr1 43662087 43662177 5S 695 + 43662087 43662177 0 1 90 0 +chr1 44480550 44480593 5S 309 - 44480550 44480593 0 1 43 0 +chr1 45136058 45136137 5S 430 - 45136058 45136137 0 1 79 0 +chr1 45397994 45398096 5S 601 + 45397994 45398096 0 1 102 0 +chr1 45955546 45955598 5S 237 - 45955546 45955598 0 1 52 0 +chr1 46902468 46902566 LSU-rRNA_Hsa 458 - 46902468 46902566 0 1 98 0 +chr1 51524305 51524347 5S 262 - 51524305 51524347 0 1 42 0 +chr1 52439082 52439177 5S 742 + 52439082 52439177 0 1 95 0 +chr1 59213662 59213771 5S 279 + 59213662 59213771 0 1 109 0 +chr1 63652004 63652098 5S 498 - 63652004 63652098 0 1 94 0 +chr1 64356532 64356571 5S 257 + 64356532 64356571 0 1 39 0 +chr1 65154802 65154841 5S 303 - 65154802 65154841 0 1 39 0 +chr1 67016502 67016545 5S 296 - 67016502 67016545 0 1 43 0 +chr1 68458490 68458634 SSU-rRNA_Hsa 613 - 68458490 68458634 0 1 144 0 +chr1 68461907 68462474 SSU-rRNA_Hsa 1930 - 68461907 68462474 0 1 567 0 +chr1 69262049 69262103 5S 261 - 69262049 69262103 0 1 54 0 +chr1 72642633 72642675 5S 316 - 72642633 72642675 0 1 42 0 +chr1 74215218 74215309 5S 659 - 74215218 74215309 0 1 91 0 +chr1 76240336 76240470 LSU-rRNA_Hsa 568 - 76240336 76240470 0 1 134 0 +chr1 78080553 78080625 5S 451 + 78080553 78080625 0 1 72 0 +chr1 78245582 78245672 5S 646 + 78245582 78245672 0 1 90 0 +chr1 78560489 78560589 5S 659 - 78560489 78560589 0 1 100 0 +chr1 78840873 78840952 5S 542 - 78840873 78840952 0 1 79 0 +chr1 80851092 80851133 5S 277 + 80851092 80851133 0 1 41 0 +chr1 86349360 86349480 5S 674 - 86349360 86349480 0 1 120 0 +chr1 87918966 87919056 5S 627 - 87918966 87919056 0 1 90 0 +chr1 89025825 89025866 5S 256 - 89025825 89025866 0 1 41 0 +chr1 91852785 91853147 LSU-rRNA_Hsa 3277 - 91852785 91853147 0 1 362 0 +chr1 92655309 92655379 5S 362 + 92655309 92655379 0 1 70 0 +chr1 92972727 92972802 LSU-rRNA_Hsa 586 - 92972727 92972802 0 1 75 0 +chr1 93953887 93954009 5S 750 - 93953887 93954009 0 1 122 0 +chr1 95554734 95554784 5S 346 + 95554734 95554784 0 1 50 0 +chr1 100271938 100272091 SSU-rRNA_Hsa 284 + 100271938 100272091 0 1 153 0 +chr1 105973697 105973741 5S 268 + 105973697 105973741 0 1 44 0 +chr1 108113071 108113633 LSU-rRNA_Hsa 3656 - 108113071 108113633 0 1 562 0 +chr1 108113652 108113729 LSU-rRNA_Hsa 474 - 108113652 108113729 0 1 77 0 +chr1 109786180 109786293 LSU-rRNA_Hsa 295 + 109786180 109786293 0 1 113 0 +chr1 110120223 110120297 5S 305 + 110120223 110120297 0 1 74 0 +chr1 111584455 111584545 5S 605 + 111584455 111584545 0 1 90 0 +chr1 117504996 117505074 5S 552 - 117504996 117505074 0 1 78 0 +chr1 118807024 118807112 5S 562 - 118807024 118807112 0 1 88 0 +chr1 120543883 120544125 LSU-rRNA_Hsa 1648 - 120543883 120544125 0 1 242 0 +chr1 121153238 121153279 5S 247 - 121153238 121153279 0 1 41 0 +chr1 144935533 144935575 5S 256 + 144935533 144935575 0 1 42 0 +chr1 145277249 145277491 LSU-rRNA_Hsa 1702 + 145277249 145277491 0 1 242 0 +chr1 145606862 145606916 5S 355 - 145606862 145606916 0 1 54 0 +chr1 146124157 146124246 5S 647 + 146124157 146124246 0 1 89 0 +chr1 147665989 147666078 5S 692 + 147665989 147666078 0 1 89 0 +chr1 148913293 148913380 5S 622 - 148913293 148913380 0 1 87 0 +chr1 150239193 150239284 LSU-rRNA_Hsa 233 - 150239193 150239284 0 1 91 0 +chr1 153874351 153874393 5S 290 + 153874351 153874393 0 1 42 0 +chr1 153911261 153911303 5S 284 + 153911261 153911303 0 1 42 0 +chr1 157139812 157139887 LSU-rRNA_Hsa 566 + 157139812 157139887 0 1 75 0 +chr1 159148262 159148352 5S 587 + 159148262 159148352 0 1 90 0 +chr1 160145608 160145659 5S 261 - 160145608 160145659 0 1 51 0 +chr1 162308432 162308512 5S 442 + 162308432 162308512 0 1 80 0 +chr1 163438305 163438395 5S 646 - 163438305 163438395 0 1 90 0 +chr1 163479273 163479362 5S 578 + 163479273 163479362 0 1 89 0 +chr1 164838402 164838442 5S 295 + 164838402 164838442 0 1 40 0 +chr1 166011480 166011587 5S 621 + 166011480 166011587 0 1 107 0 +chr1 166640296 166640359 LSU-rRNA_Hsa 448 + 166640296 166640359 0 1 63 0 +chr1 166975195 166975316 5S 893 + 166975195 166975316 0 1 121 0 +chr1 168795896 168796039 SSU-rRNA_Hsa 287 + 168795896 168796039 0 1 143 0 +chr1 169036501 169036578 5S 436 + 169036501 169036578 0 1 77 0 +chr1 169878691 169878920 LSU-rRNA_Hsa 1288 - 169878691 169878920 0 1 229 0 +chr1 171682580 171682622 5S 346 - 171682580 171682622 0 1 42 0 +chr1 173690784 173690945 LSU-rRNA_Hsa 529 + 173690784 173690945 0 1 161 0 +chr1 173890207 173890285 5S 459 + 173890207 173890285 0 1 78 0 +chr1 173938453 173938574 5S 811 - 173938453 173938574 0 1 121 0 +chr1 174734418 174734460 5S 317 + 174734418 174734460 0 1 42 0 +chr1 175662837 175662882 5S 272 + 175662837 175662882 0 1 45 0 +chr1 176951665 176951709 5S 240 + 176951665 176951709 0 1 44 0 +chr1 178530047 178530136 5S 666 + 178530047 178530136 0 1 89 0 +chr1 181740701 181740791 5S 635 + 181740701 181740791 0 1 90 0 +chr1 182181587 182181637 LSU-rRNA_Hsa 390 - 182181587 182181637 0 1 50 0 +chr1 182913539 182913624 5S 656 - 182913539 182913624 0 1 85 0 +chr1 184984080 184984199 5S 780 - 184984080 184984199 0 1 119 0 +chr1 186341759 186341849 5S 629 + 186341759 186341849 0 1 90 0 +chr1 189635306 189635385 5S 465 - 189635306 189635385 0 1 79 0 +chr1 189747044 189747089 5S 266 - 189747044 189747089 0 1 45 0 +chr1 192939927 192939968 5S 290 + 192939927 192939968 0 1 41 0 +chr1 198053630 198053669 5S 312 + 198053630 198053669 0 1 39 0 +chr1 200428778 200428912 LSU-rRNA_Hsa 266 - 200428778 200428912 0 1 134 0 +chr1 204531538 204531649 5S 880 - 204531538 204531649 0 1 111 0 +chr1 204676468 204676556 5S 498 - 204676468 204676556 0 1 88 0 +chr1 207359637 207359689 5S 334 + 207359637 207359689 0 1 52 0 +chr1 207675730 207675772 5S 262 - 207675730 207675772 0 1 42 0 +chr1 207714085 207714135 5S 353 - 207714085 207714135 0 1 50 0 +chr1 207732642 207732692 5S 353 - 207732642 207732692 0 1 50 0 +chr1 207749693 207749743 5S 373 - 207749693 207749743 0 1 50 0 +chr1 207848678 207848721 5S 309 - 207848678 207848721 0 1 43 0 +chr1 207882275 207882325 5S 345 - 207882275 207882325 0 1 50 0 +chr1 208003650 208003776 5S 412 - 208003650 208003776 0 1 126 0 +chr1 208763874 208763978 5S 313 + 208763874 208763978 0 1 104 0 +chr1 211799052 211799116 LSU-rRNA_Hsa 383 - 211799052 211799116 0 1 64 0 +chr1 211799883 211800066 LSU-rRNA_Hsa 383 - 211799883 211800066 0 1 183 0 +chr1 219836016 219836058 5S 282 + 219836016 219836058 0 1 42 0 +chr1 219935130 219935215 5S 541 + 219935130 219935215 0 1 85 0 +chr1 222522768 222522879 LSU-rRNA_Hsa 566 + 222522768 222522879 0 1 111 0 +chr1 222869880 222869970 5S 592 - 222869880 222869970 0 1 90 0 +chr1 224850903 224850959 5S 278 - 224850903 224850959 0 1 56 0 +chr1 225449612 225449652 5S 255 + 225449612 225449652 0 1 40 0 +chr1 226655843 226655885 5S 256 - 226655843 226655885 0 1 42 0 +chr1 227748881 227749003 5S 902 + 227748881 227749003 0 1 122 0 +chr1 228743493 228743604 5S 830 + 228743493 228743604 0 1 111 0 +chr1 228746012 228746133 5S 1125 - 228746012 228746133 0 1 121 0 +chr1 228748253 228748374 5S 1125 - 228748253 228748374 0 1 121 0 +chr1 228750494 228750615 5S 1125 - 228750494 228750615 0 1 121 0 +chr1 228752735 228752856 5S 1125 - 228752735 228752856 0 1 121 0 +chr1 228754976 228755097 5S 1125 - 228754976 228755097 0 1 121 0 +chr1 228757191 228757312 5S 1125 - 228757191 228757312 0 1 121 0 +chr1 228759411 228759532 5S 1125 - 228759411 228759532 0 1 121 0 +chr1 228761653 228761774 5S 1125 - 228761653 228761774 0 1 121 0 +chr1 228763892 228764013 5S 1109 - 228763892 228764013 0 1 121 0 +chr1 228766134 228766255 5S 1125 - 228766134 228766255 0 1 121 0 +chr1 228768375 228768496 5S 1125 - 228768375 228768496 0 1 121 0 +chr1 228770615 228770736 5S 1125 - 228770615 228770736 0 1 121 0 +chr1 228772840 228772961 5S 1125 - 228772840 228772961 0 1 121 0 +chr1 228775081 228775202 5S 1125 - 228775081 228775202 0 1 121 0 +chr1 228777312 228777433 5S 1125 - 228777312 228777433 0 1 121 0 +chr1 228779553 228779674 5S 1117 - 228779553 228779674 0 1 121 0 +chr1 228781784 228781905 5S 1117 - 228781784 228781905 0 1 121 0 +chr1 228783657 228783779 5S 515 - 228783657 228783779 0 1 122 0 +chr1 229685651 229685771 5S 785 + 229685651 229685771 0 1 120 0 +chr1 230955995 230956106 5S 735 + 230955995 230956106 0 1 111 0 +chr1 231417193 231417274 5S 366 - 231417193 231417274 0 1 81 0 +chr1 231510065 231510258 LSU-rRNA_Hsa 790 - 231510065 231510258 0 1 193 0 +chr1 234436991 234437029 5S 266 - 234436991 234437029 0 1 38 0 +chr1 237766308 237766764 LSU-rRNA_Hsa 3134 + 237766308 237766764 0 1 456 0 +chr1 237980427 237980466 5S 231 + 237980427 237980466 0 1 39 0 +chr1 238839887 238839937 5S 377 - 238839887 238839937 0 1 50 0 +chr1 239864162 239864201 5S 240 + 239864162 239864201 0 1 39 0 +chr1 242108860 242108991 LSU-rRNA_Hsa 263 - 242108860 242108991 0 1 131 0 +chr1 242118382 242118420 5S 290 + 242118382 242118420 0 1 38 0 +chr1 242297573 242297684 5S 530 + 242297573 242297684 0 1 111 0 +chr1 247367869 247367963 5S 564 - 247367869 247367963 0 1 94 0 +chr2 133036250 133039236 LSU-rRNA_Hsa 8972 - 133036250 133039236 0 1 2986 0 +chr2 2741842 2741884 5S 272 + 2741842 2741884 0 1 42 0 +chr2 11657523 11657630 5S 520 + 11657523 11657630 0 1 107 0 +chr2 11701790 11701905 5S 891 - 11701790 11701905 0 1 115 0 +chr2 12185872 12185914 5S 289 - 12185872 12185914 0 1 42 0 +chr2 15671492 15671542 5S 294 + 15671492 15671542 0 1 50 0 +chr2 20486646 20486688 5S 286 + 20486646 20486688 0 1 42 0 +chr2 20601397 20601485 5S 724 - 20601397 20601485 0 1 88 0 +chr2 22561757 22561875 5S 742 - 22561757 22561875 0 1 118 0 +chr2 22875571 22875621 5S 326 - 22875571 22875621 0 1 50 0 +chr2 24587368 24587413 LSU-rRNA_Hsa 301 + 24587368 24587413 0 1 45 0 +chr2 24587505 24587639 LSU-rRNA_Hsa 817 + 24587505 24587639 0 1 134 0 +chr2 24787496 24787607 5S 659 - 24787496 24787607 0 1 111 0 +chr2 26794601 26794643 5S 333 - 26794601 26794643 0 1 42 0 +chr2 28124570 28124612 5S 303 + 28124570 28124612 0 1 42 0 +chr2 28780915 28780958 5S 250 - 28780915 28780958 0 1 43 0 +chr2 28906841 28906922 5S 469 + 28906841 28906922 0 1 81 0 +chr2 31451177 31451268 5S 522 + 31451177 31451268 0 1 91 0 +chr2 32342390 32342531 LSU-rRNA_Hsa 621 + 32342390 32342531 0 1 141 0 +chr2 33069210 33069275 SSU-rRNA_Hsa 295 + 33069210 33069275 0 1 65 0 +chr2 33459429 33459471 5S 318 - 33459429 33459471 0 1 42 0 +chr2 33510865 33510954 5S 572 - 33510865 33510954 0 1 89 0 +chr2 33557964 33558051 5S 506 + 33557964 33558051 0 1 87 0 +chr2 35082718 35082761 5S 264 - 35082718 35082761 0 1 43 0 +chr2 37305250 37305308 SSU-rRNA_Hsa 324 + 37305250 37305308 0 1 58 0 +chr2 37544940 37545030 5S 586 - 37544940 37545030 0 1 90 0 +chr2 45093024 45093066 5S 235 - 45093024 45093066 0 1 42 0 +chr2 47414070 47414109 5S 284 + 47414070 47414109 0 1 39 0 +chr2 48569825 48569867 5S 284 + 48569825 48569867 0 1 42 0 +chr2 50196804 50196894 5S 668 - 50196804 50196894 0 1 90 0 +chr2 54071030 54071113 LSU-rRNA_Hsa 321 + 54071030 54071113 0 1 83 0 +chr2 54173550 54173592 5S 321 + 54173550 54173592 0 1 42 0 +chr2 56462366 56462465 5S 615 - 56462366 56462465 0 1 99 0 +chr2 59549314 59549403 5S 764 + 59549314 59549403 0 1 89 0 +chr2 59830730 59830959 LSU-rRNA_Hsa 1440 - 59830730 59830959 0 1 229 0 +chr2 59921896 59921986 5S 537 + 59921896 59921986 0 1 90 0 +chr2 61225886 61225973 5S 570 + 61225886 61225973 0 1 87 0 +chr2 61892492 61892559 LSU-rRNA_Hsa 466 + 61892492 61892559 0 1 67 0 +chr2 63435926 63436321 LSU-rRNA_Hsa 2106 - 63435926 63436321 0 1 395 0 +chr2 63436375 63436640 LSU-rRNA_Hsa 2106 - 63436375 63436640 0 1 265 0 +chr2 63997342 63997384 5S 278 + 63997342 63997384 0 1 42 0 +chr2 65103096 65103154 LSU-rRNA_Hsa 457 - 65103096 65103154 0 1 58 0 +chr2 69409055 69409135 5S 382 - 69409055 69409135 0 1 80 0 +chr2 72489594 72489645 5S 351 + 72489594 72489645 0 1 51 0 +chr2 73854005 73854061 5S 374 - 73854005 73854061 0 1 56 0 +chr2 73914344 73914400 5S 437 - 73914344 73914400 0 1 56 0 +chr2 74195244 74195332 5S 603 - 74195244 74195332 0 1 88 0 +chr2 77000034 77000127 5S 644 + 77000034 77000127 0 1 93 0 +chr2 78928721 78928992 LSU-rRNA_Hsa 1498 + 78928721 78928992 0 1 271 0 +chr2 81723361 81723451 5S 752 - 81723361 81723451 0 1 90 0 +chr2 87792129 87792174 LSU-rRNA_Hsa 230 + 87792129 87792174 0 1 45 0 +chr2 91862884 91862971 5S 622 + 91862884 91862971 0 1 87 0 +chr2 97622462 97622552 5S 515 - 97622462 97622552 0 1 90 0 +chr2 97969897 97970003 5S 231 - 97969897 97970003 0 1 106 0 +chr2 98068892 98068998 5S 231 + 98068892 98068998 0 1 106 0 +chr2 99208676 99208752 LSU-rRNA_Hsa 282 - 99208676 99208752 0 1 76 0 +chr2 101021027 101021064 5S 237 - 101021027 101021064 0 1 37 0 +chr2 101169113 101169152 5S 290 - 101169113 101169152 0 1 39 0 +chr2 112215147 112215192 LSU-rRNA_Hsa 230 - 112215147 112215192 0 1 45 0 +chr2 115075274 115075316 5S 298 - 115075274 115075316 0 1 42 0 +chr2 115585779 115585822 5S 289 + 115585779 115585822 0 1 43 0 +chr2 115695017 115695281 LSU-rRNA_Hsa 1531 - 115695017 115695281 0 1 264 0 +chr2 115695291 115695382 5S 692 + 115695291 115695382 0 1 91 0 +chr2 116509735 116509792 5S 370 - 116509735 116509792 0 1 57 0 +chr2 117000315 117000353 5S 293 + 117000315 117000353 0 1 38 0 +chr2 117780779 117780925 LSU-rRNA_Hsa 248 + 117780779 117780925 0 1 146 0 +chr2 118649524 118649562 5S 271 + 118649524 118649562 0 1 38 0 +chr2 121836197 121836528 SSU-rRNA_Hsa 625 + 121836197 121836528 0 1 331 0 +chr2 122557538 122557581 5S 296 - 122557538 122557581 0 1 43 0 +chr2 125690491 125690570 5S 417 + 125690491 125690570 0 1 79 0 +chr2 128049143 128049383 LSU-rRNA_Hsa 1016 - 128049143 128049383 0 1 240 0 +chr2 128049406 128049488 LSU-rRNA_Hsa 619 - 128049406 128049488 0 1 82 0 +chr2 128049840 128049865 LSU-rRNA_Hsa 619 - 128049840 128049865 0 1 25 0 +chr2 129202652 129202766 5S 828 - 129202652 129202766 0 1 114 0 +chr2 131584240 131584291 5S 349 - 131584240 131584291 0 1 51 0 +chr2 133011919 133013768 SSU-rRNA_Hsa 14662 - 133011919 133013768 0 1 1849 0 +chr2 134988766 134988855 5S 532 + 134988766 134988855 0 1 89 0 +chr2 137621042 137621086 5S 261 + 137621042 137621086 0 1 44 0 +chr2 138269694 138269782 5S 651 - 138269694 138269782 0 1 88 0 +chr2 140490230 140490272 5S 295 - 140490230 140490272 0 1 42 0 +chr2 143438000 143438042 5S 272 - 143438000 143438042 0 1 42 0 +chr2 146930831 146930974 LSU-rRNA_Hsa 282 - 146930831 146930974 0 1 143 0 +chr2 148471043 148471123 5S 545 - 148471043 148471123 0 1 80 0 +chr2 149225075 149225116 5S 231 + 149225075 149225116 0 1 41 0 +chr2 155446921 155447020 5S 553 + 155446921 155447020 0 1 99 0 +chr2 159305914 159305962 5S 272 - 159305914 159305962 0 1 48 0 +chr2 159306260 159306314 5S 272 - 159306260 159306314 0 1 54 0 +chr2 159440391 159440797 LSU-rRNA_Hsa 2230 - 159440391 159440797 0 1 406 0 +chr2 160450395 160450460 5S 374 - 160450395 160450460 0 1 65 0 +chr2 160870909 160870951 5S 292 + 160870909 160870951 0 1 42 0 +chr2 161511254 161511291 5S 247 - 161511254 161511291 0 1 37 0 +chr2 163353446 163353535 5S 561 + 163353446 163353535 0 1 89 0 +chr2 163574714 163574757 5S 299 - 163574714 163574757 0 1 43 0 +chr2 165006663 165006706 5S 245 + 165006663 165006706 0 1 43 0 +chr2 165006717 165006760 5S 245 + 165006717 165006760 0 1 43 0 +chr2 165714941 165715049 5S 605 + 165714941 165715049 0 1 108 0 +chr2 165752197 165752287 5S 632 - 165752197 165752287 0 1 90 0 +chr2 170199912 170199999 LSU-rRNA_Hsa 344 - 170199912 170199999 0 1 87 0 +chr2 178003429 178003531 5S 460 + 178003429 178003531 0 1 102 0 +chr2 182913548 182913639 5S 597 + 182913548 182913639 0 1 91 0 +chr2 183356378 183356418 5S 237 + 183356378 183356418 0 1 40 0 +chr2 189141482 189141571 5S 665 - 189141482 189141571 0 1 89 0 +chr2 191402647 191402786 LSU-rRNA_Hsa 1031 - 191402647 191402786 0 1 139 0 +chr2 194384036 194384085 5S 241 - 194384036 194384085 0 1 49 0 +chr2 195208716 195208758 5S 228 + 195208716 195208758 0 1 42 0 +chr2 195594418 195594460 5S 300 + 195594418 195594460 0 1 42 0 +chr2 198025423 198025538 5S 271 + 198025423 198025538 0 1 115 0 +chr2 198781606 198781650 5S 261 - 198781606 198781650 0 1 44 0 +chr2 199466270 199466312 5S 326 + 199466270 199466312 0 1 42 0 +chr2 201124402 201124517 SSU-rRNA_Hsa 289 + 201124402 201124517 0 1 115 0 +chr2 201713765 201713867 5S 510 - 201713765 201713867 0 1 102 0 +chr2 202793903 202793943 5S 278 + 202793903 202793943 0 1 40 0 +chr2 203210988 203211097 LSU-rRNA_Hsa 929 - 203210988 203211097 0 1 109 0 +chr2 208918884 208918981 5S 588 - 208918884 208918981 0 1 97 0 +chr2 209785268 209785388 5S 787 - 209785268 209785388 0 1 120 0 +chr2 209830233 209830280 5S 245 - 209830233 209830280 0 1 47 0 +chr2 210437186 210437281 LSU-rRNA_Hsa 248 + 210437186 210437281 0 1 95 0 +chr2 210586655 210586744 5S 548 - 210586655 210586744 0 1 89 0 +chr2 212014594 212014719 LSU-rRNA_Hsa 249 + 212014594 212014719 0 1 125 0 +chr2 212400377 212400467 5S 744 + 212400377 212400467 0 1 90 0 +chr2 214122836 214122884 5S 248 + 214122836 214122884 0 1 48 0 +chr2 214365737 214365846 5S 491 - 214365737 214365846 0 1 109 0 +chr2 214637026 214637102 5S 509 + 214637026 214637102 0 1 76 0 +chr2 215572056 215572098 5S 266 - 215572056 215572098 0 1 42 0 +chr2 217658239 217658323 5S 511 - 217658239 217658323 0 1 84 0 +chr2 223100342 223100493 LSU-rRNA_Hsa 971 + 223100342 223100493 0 1 151 0 +chr2 225887043 225887126 SSU-rRNA_Hsa 292 - 225887043 225887126 0 1 83 0 +chr2 228627779 228627868 5S 546 - 228627779 228627868 0 1 89 0 +chr2 229460926 229460968 5S 318 + 229460926 229460968 0 1 42 0 +chr2 230015752 230015823 LSU-rRNA_Hsa 489 + 230015752 230015823 0 1 71 0 +chr2 230045487 230045638 LSU-rRNA_Hsa 1083 - 230045487 230045638 0 1 151 0 +chr2 230045630 230045734 LSU-rRNA_Hsa 796 - 230045630 230045734 0 1 104 0 +chr2 232110067 232110184 LSU-rRNA_Hsa 534 + 232110067 232110184 0 1 117 0 +chr2 232687134 232687177 5S 233 + 232687134 232687177 0 1 43 0 +chr2 235098241 235098283 5S 325 + 235098241 235098283 0 1 42 0 +chr2 235935599 235935642 5S 265 - 235935599 235935642 0 1 43 0 +chr2 242524382 242524472 5S 715 + 242524382 242524472 0 1 90 0 +chr3 5066428 5066480 5S 280 + 5066428 5066480 0 1 52 0 +chr3 9175952 9176057 LSU-rRNA_Hsa 378 - 9175952 9176057 0 1 105 0 +chr3 12196530 12196571 5S 359 - 12196530 12196571 0 1 41 0 +chr3 12368310 12368352 5S 319 - 12368310 12368352 0 1 42 0 +chr3 12552592 12552710 5S 832 - 12552592 12552710 0 1 118 0 +chr3 14436147 14436259 5S 790 + 14436147 14436259 0 1 112 0 +chr3 15345124 15345190 LSU-rRNA_Hsa 535 + 15345124 15345190 0 1 66 0 +chr3 18189730 18189770 5S 257 + 18189730 18189770 0 1 40 0 +chr3 18271202 18271389 LSU-rRNA_Hsa 234 + 18271202 18271389 0 1 187 0 +chr3 19867443 19867485 5S 245 + 19867443 19867485 0 1 42 0 +chr3 21507508 21507551 5S 251 + 21507508 21507551 0 1 43 0 +chr3 22904996 22905109 LSU-rRNA_Hsa 285 - 22904996 22905109 0 1 113 0 +chr3 23768083 23768153 LSU-rRNA_Hsa 393 + 23768083 23768153 0 1 70 0 +chr3 24063078 24063140 LSU-rRNA_Hsa 370 + 24063078 24063140 0 1 62 0 +chr3 25066497 25066584 5S 675 + 25066497 25066584 0 1 87 0 +chr3 25393783 25393883 5S 591 - 25393783 25393883 0 1 100 0 +chr3 27558844 27558889 5S 287 + 27558844 27558889 0 1 45 0 +chr3 27889216 27889362 SSU-rRNA_Hsa 357 - 27889216 27889362 0 1 146 0 +chr3 28124760 28124802 5S 309 - 28124760 28124802 0 1 42 0 +chr3 29899236 29899297 5S 365 - 29899236 29899297 0 1 61 0 +chr3 30072742 30072787 5S 281 - 30072742 30072787 0 1 45 0 +chr3 31270206 31270295 5S 679 + 31270206 31270295 0 1 89 0 +chr3 33533500 33533590 5S 582 - 33533500 33533590 0 1 90 0 +chr3 37383139 37383229 5S 654 + 37383139 37383229 0 1 90 0 +chr3 41426019 41426069 5S 324 - 41426019 41426069 0 1 50 0 +chr3 44364160 44364196 5S 237 - 44364160 44364196 0 1 36 0 +chr3 45494767 45494852 LSU-rRNA_Hsa 488 - 45494767 45494852 0 1 85 0 +chr3 46499883 46499939 5S 397 - 46499883 46499939 0 1 56 0 +chr3 46693773 46693815 5S 234 + 46693773 46693815 0 1 42 0 +chr3 48789984 48790025 5S 262 + 48789984 48790025 0 1 41 0 +chr3 49113651 49113955 LSU-rRNA_Hsa 1211 + 49113651 49113955 0 1 304 0 +chr3 49448636 49448677 5S 297 - 49448636 49448677 0 1 41 0 +chr3 49450185 49450251 5S 300 + 49450185 49450251 0 1 66 0 +chr3 49504577 49504664 5S 657 - 49504577 49504664 0 1 87 0 +chr3 49987456 49987902 SSU-rRNA_Hsa 1962 + 49987456 49987902 0 1 446 0 +chr3 50457212 50457332 5S 817 + 50457212 50457332 0 1 120 0 +chr3 50561992 50562034 5S 279 + 50561992 50562034 0 1 42 0 +chr3 50795938 50795979 5S 321 + 50795938 50795979 0 1 41 0 +chr3 51728478 51728598 5S 948 - 51728478 51728598 0 1 120 0 +chr3 56219153 56219252 5S 567 + 56219153 56219252 0 1 99 0 +chr3 57799850 57799910 LSU-rRNA_Hsa 362 - 57799850 57799910 0 1 60 0 +chr3 61068547 61068637 5S 673 - 61068547 61068637 0 1 90 0 +chr3 61618205 61618247 5S 316 - 61618205 61618247 0 1 42 0 +chr3 63531115 63531196 5S 567 + 63531115 63531196 0 1 81 0 +chr3 67884829 67884960 LSU-rRNA_Hsa 775 - 67884829 67884960 0 1 131 0 +chr3 68932118 68932196 5S 413 + 68932118 68932196 0 1 78 0 +chr3 69280184 69280280 5S 606 + 69280184 69280280 0 1 96 0 +chr3 72740873 72740962 5S 617 - 72740873 72740962 0 1 89 0 +chr3 72794947 72794987 5S 329 + 72794947 72794987 0 1 40 0 +chr3 79159065 79159105 SSU-rRNA_Hsa 270 + 79159065 79159105 0 1 40 0 +chr3 79836882 79836967 5S 336 + 79836882 79836967 0 1 85 0 +chr3 84169349 84169453 LSU-rRNA_Hsa 344 + 84169349 84169453 0 1 104 0 +chr3 94237957 94237999 5S 326 - 94237957 94237999 0 1 42 0 +chr3 100139011 100139065 5S 326 - 100139011 100139065 0 1 54 0 +chr3 106556112 106556158 5S 274 - 106556112 106556158 0 1 46 0 +chr3 108250093 108250368 LSU-rRNA_Hsa 1627 + 108250093 108250368 0 1 275 0 +chr3 114168591 114168643 5S 235 - 114168591 114168643 0 1 52 0 +chr3 117985769 117985855 LSU-rRNA_Hsa 515 + 117985769 117985855 0 1 86 0 +chr3 119248242 119248323 LSU-rRNA_Hsa 648 + 119248242 119248323 0 1 81 0 +chr3 121460313 121460355 5S 302 + 121460313 121460355 0 1 42 0 +chr3 121809468 121809516 5S 270 + 121809468 121809516 0 1 48 0 +chr3 122734688 122734816 LSU-rRNA_Hsa 400 - 122734688 122734816 0 1 128 0 +chr3 124777192 124777282 5S 587 - 124777192 124777282 0 1 90 0 +chr3 125058700 125058742 5S 353 - 125058700 125058742 0 1 42 0 +chr3 126283431 126283520 5S 687 - 126283431 126283520 0 1 89 0 +chr3 127682450 127682540 5S 684 + 127682450 127682540 0 1 90 0 +chr3 129639058 129639101 5S 256 + 129639058 129639101 0 1 43 0 +chr3 131136687 131136842 SSU-rRNA_Hsa 784 - 131136687 131136842 0 1 155 0 +chr3 133204694 133204762 5S 508 - 133204694 133204762 0 1 68 0 +chr3 133205073 133205106 5S 508 - 133205073 133205106 0 1 33 0 +chr3 133428929 133429019 5S 733 - 133428929 133429019 0 1 90 0 +chr3 134502307 134502397 5S 824 - 134502307 134502397 0 1 90 0 +chr3 136249261 136249310 5S 370 - 136249261 136249310 0 1 49 0 +chr3 137237007 137237097 5S 564 - 137237007 137237097 0 1 90 0 +chr3 138428412 138428491 SSU-rRNA_Hsa 250 + 138428412 138428491 0 1 79 0 +chr3 138801287 138801365 LSU-rRNA_Hsa 410 - 138801287 138801365 0 1 78 0 +chr3 141772469 141772534 LSU-rRNA_Hsa 289 + 141772469 141772534 0 1 65 0 +chr3 141773744 141774230 LSU-rRNA_Hsa 1417 + 141773744 141774230 0 1 486 0 +chr3 142099316 142099354 5S 306 - 142099316 142099354 0 1 38 0 +chr3 142310543 142310633 5S 683 - 142310543 142310633 0 1 90 0 +chr3 142384658 142384747 LSU-rRNA_Hsa 665 - 142384658 142384747 0 1 89 0 +chr3 143905745 143905862 5S 549 - 143905745 143905862 0 1 117 0 +chr3 144942633 144942676 5S 343 + 144942633 144942676 0 1 43 0 +chr3 148368424 148368544 LSU-rRNA_Hsa 510 + 148368424 148368544 0 1 120 0 +chr3 149036455 149036551 5S 344 - 149036455 149036551 0 1 96 0 +chr3 150905885 150905971 5S 735 + 150905885 150905971 0 1 86 0 +chr3 155093795 155093838 5S 302 - 155093795 155093838 0 1 43 0 +chr3 155824012 155824051 5S 290 - 155824012 155824051 0 1 39 0 +chr3 156891704 156891829 5S 686 - 156891704 156891829 0 1 125 0 +chr3 158564366 158564446 5S 528 - 158564366 158564446 0 1 80 0 +chr3 158700751 158700798 LSU-rRNA_Hsa 268 + 158700751 158700798 0 1 47 0 +chr3 160146210 160146313 LSU-rRNA_Hsa 314 + 160146210 160146313 0 1 103 0 +chr3 160436226 160436311 5S 521 + 160436226 160436311 0 1 85 0 +chr3 166226613 166226675 5S 253 - 166226613 166226675 0 1 62 0 +chr3 169341333 169341375 5S 284 + 169341333 169341375 0 1 42 0 +chr3 172729250 172729288 5S 269 - 172729250 172729288 0 1 38 0 +chr3 173846978 173847080 LSU-rRNA_Hsa 257 + 173846978 173847080 0 1 102 0 +chr3 176481016 176481101 5S 554 + 176481016 176481101 0 1 85 0 +chr3 177029542 177029583 5S 251 - 177029542 177029583 0 1 41 0 +chr3 178146987 178147077 5S 562 - 178146987 178147077 0 1 90 0 +chr3 179069096 179069138 5S 266 - 179069096 179069138 0 1 42 0 +chr3 179497343 179497506 LSU-rRNA_Hsa 1089 + 179497343 179497506 0 1 163 0 +chr3 179879674 179879765 5S 791 - 179879674 179879765 0 1 91 0 +chr3 181540658 181540778 5S 1053 - 181540658 181540778 0 1 120 0 +chr3 182976114 182976204 5S 654 - 182976114 182976204 0 1 90 0 +chr3 185178987 185179029 5S 303 - 185178987 185179029 0 1 42 0 +chr3 185841107 185841148 5S 247 - 185841107 185841148 0 1 41 0 +chr3 185971408 185971489 5S 403 + 185971408 185971489 0 1 81 0 +chr3 188637947 188637989 5S 325 - 188637947 188637989 0 1 42 0 +chr3 189265665 189265708 5S 265 - 189265665 189265708 0 1 43 0 +chr3 192406338 192406389 5S 352 + 192406338 192406389 0 1 51 0 +chr3 194194315 194194368 5S 339 + 194194315 194194368 0 1 53 0 +chr3 195903749 195903797 LSU-rRNA_Hsa 310 - 195903749 195903797 0 1 48 0 +chr3 197084627 197084679 5S 349 - 197084627 197084679 0 1 52 0 +chr4 4346865 4346907 5S 263 - 4346865 4346907 0 1 42 0 +chr4 7584186 7584364 LSU-rRNA_Hsa 1410 + 7584186 7584364 0 1 178 0 +chr4 8394741 8394853 5S 762 + 8394741 8394853 0 1 112 0 +chr4 9412928 9412979 5S 301 - 9412928 9412979 0 1 51 0 +chr4 9794395 9794483 5S 581 - 9794395 9794483 0 1 88 0 +chr4 10117418 10117508 5S 599 - 10117418 10117508 0 1 90 0 +chr4 10563335 10563458 LSU-rRNA_Hsa 349 + 10563335 10563458 0 1 123 0 +chr4 11415672 11415784 5S 480 - 11415672 11415784 0 1 112 0 +chr4 13726257 13726295 5S 250 + 13726257 13726295 0 1 38 0 +chr4 19183404 19183492 5S 503 - 19183404 19183492 0 1 88 0 +chr4 21720158 21720194 5S 264 + 21720158 21720194 0 1 36 0 +chr4 29529287 29529327 5S 267 - 29529287 29529327 0 1 40 0 +chr4 34853988 34854041 5S 280 - 34853988 34854041 0 1 53 0 +chr4 38760421 38760513 5S 336 - 38760421 38760513 0 1 92 0 +chr4 39938399 39938475 5S 325 + 39938399 39938475 0 1 76 0 +chr4 40533259 40533301 5S 245 - 40533259 40533301 0 1 42 0 +chr4 40992170 40992292 5S 786 + 40992170 40992292 0 1 122 0 +chr4 42585633 42585726 SSU-rRNA_Hsa 235 - 42585633 42585726 0 1 93 0 +chr4 56963556 56963645 5S 774 + 56963556 56963645 0 1 89 0 +chr4 57197330 57197402 5S 500 - 57197330 57197402 0 1 72 0 +chr4 68305710 68305769 5S 398 + 68305710 68305769 0 1 59 0 +chr4 68307765 68307832 5S 386 + 68307765 68307832 0 1 67 0 +chr4 70296581 70296753 LSU-rRNA_Hsa 1066 - 70296581 70296753 0 1 172 0 +chr4 72625242 72625333 5S 617 - 72625242 72625333 0 1 91 0 +chr4 74637232 74637276 5S 274 - 74637232 74637276 0 1 44 0 +chr4 74770162 74770252 5S 535 - 74770162 74770252 0 1 90 0 +chr4 76807175 76807697 LSU-rRNA_Hsa 3075 + 76807175 76807697 0 1 522 0 +chr4 77437020 77437175 LSU-rRNA_Hsa 315 + 77437020 77437175 0 1 155 0 +chr4 77683159 77683241 5S 463 + 77683159 77683241 0 1 82 0 +chr4 78129557 78129888 LSU-rRNA_Hsa 621 - 78129557 78129888 0 1 331 0 +chr4 78133450 78133550 LSU-rRNA_Hsa 328 - 78133450 78133550 0 1 100 0 +chr4 80796959 80797039 SSU-rRNA_Hsa 243 - 80796959 80797039 0 1 80 0 +chr4 86968241 86968396 LSU-rRNA_Hsa 987 - 86968241 86968396 0 1 155 0 +chr4 92185832 92185920 5S 568 - 92185832 92185920 0 1 88 0 +chr4 94741340 94741412 5S 492 + 94741340 94741412 0 1 72 0 +chr4 104086077 104086136 5S 302 - 104086077 104086136 0 1 59 0 +chr4 104665735 104665780 5S 301 + 104665735 104665780 0 1 45 0 +chr4 107924382 107924683 LSU-rRNA_Hsa 1351 - 107924382 107924683 0 1 301 0 +chr4 107924688 107924904 LSU-rRNA_Hsa 1301 - 107924688 107924904 0 1 216 0 +chr4 117220913 117221002 LSU-rRNA_Hsa 245 + 117220913 117221002 0 1 89 0 +chr4 120158524 120158690 LSU-rRNA_Hsa 1301 + 120158524 120158690 0 1 166 0 +chr4 123519825 123519876 5S 294 - 123519825 123519876 0 1 51 0 +chr4 124078770 124078821 5S 368 - 124078770 124078821 0 1 51 0 +chr4 126671578 126671636 5S 261 + 126671578 126671636 0 1 58 0 +chr4 131427823 131427930 5S 653 - 131427823 131427930 0 1 107 0 +chr4 134082914 134083021 LSU-rRNA_Hsa 723 - 134082914 134083021 0 1 107 0 +chr4 134709997 134710456 LSU-rRNA_Hsa 1724 + 134709997 134710456 0 1 459 0 +chr4 142170087 142170224 LSU-rRNA_Hsa 239 + 142170087 142170224 0 1 137 0 +chr4 147368337 147368387 5S 315 - 147368337 147368387 0 1 50 0 +chr4 148666495 148666568 5S 434 - 148666495 148666568 0 1 73 0 +chr4 149479098 149479189 5S 741 + 149479098 149479189 0 1 91 0 +chr4 150417016 150417184 SSU-rRNA_Hsa 306 + 150417016 150417184 0 1 168 0 +chr4 150769069 150769301 LSU-rRNA_Hsa 1148 + 150769069 150769301 0 1 232 0 +chr4 150828711 150828801 5S 653 + 150828711 150828801 0 1 90 0 +chr4 151323377 151323419 5S 270 - 151323377 151323419 0 1 42 0 +chr4 151694074 151694116 5S 263 + 151694074 151694116 0 1 42 0 +chr4 151888681 151888697 5S 516 - 151888681 151888697 0 1 16 0 +chr4 151891857 151891930 5S 516 - 151891857 151891930 0 1 73 0 +chr4 152892680 152892751 5S 520 - 152892680 152892751 0 1 71 0 +chr4 152893176 152893195 5S 520 - 152893176 152893195 0 1 19 0 +chr4 154159754 154159919 SSU-rRNA_Hsa 478 + 154159754 154159919 0 1 165 0 +chr4 155350335 155350399 LSU-rRNA_Hsa 430 + 155350335 155350399 0 1 64 0 +chr4 157366964 157367006 5S 228 - 157366964 157367006 0 1 42 0 +chr4 158934270 158934310 5S 243 + 158934270 158934310 0 1 40 0 +chr4 162202915 162202997 SSU-rRNA_Hsa 235 - 162202915 162202997 0 1 82 0 +chr4 166974339 166974445 5S 426 - 166974339 166974445 0 1 106 0 +chr4 167063724 167063863 LSU-rRNA_Hsa 764 + 167063724 167063863 0 1 139 0 +chr4 167064322 167064663 LSU-rRNA_Hsa 1190 + 167064322 167064663 0 1 341 0 +chr4 167839533 167839642 5S 565 - 167839533 167839642 0 1 109 0 +chr4 178378292 178378382 5S 671 - 178378292 178378382 0 1 90 0 +chr4 179327848 179327951 5S 659 + 179327848 179327951 0 1 103 0 +chr4 190936292 190936412 5S 719 + 190936292 190936412 0 1 120 0 +chr4 190938851 190938972 5S 802 + 190938851 190938972 0 1 121 0 +chr5 3353029 3353158 LSU-rRNA_Hsa 339 - 3353029 3353158 0 1 129 0 +chr5 6347719 6347754 5S 254 - 6347719 6347754 0 1 35 0 +chr5 6658790 6658850 5S 428 - 6658790 6658850 0 1 60 0 +chr5 6981947 6981989 5S 249 - 6981947 6981989 0 1 42 0 +chr5 6982037 6982079 5S 262 - 6982037 6982079 0 1 42 0 +chr5 6982182 6982224 5S 262 - 6982182 6982224 0 1 42 0 +chr5 7047339 7047450 5S 663 + 7047339 7047450 0 1 111 0 +chr5 9761018 9761107 5S 632 + 9761018 9761107 0 1 89 0 +chr5 10374041 10375088 SSU-rRNA_Hsa 3503 + 10374041 10375088 0 1 1047 0 +chr5 10376635 10376766 SSU-rRNA_Hsa 3503 + 10376635 10376766 0 1 131 0 +chr5 10376831 10377147 SSU-rRNA_Hsa 467 + 10376831 10377147 0 1 316 0 +chr5 14903460 14903502 5S 271 - 14903460 14903502 0 1 42 0 +chr5 16033376 16033464 5S 577 - 16033376 16033464 0 1 88 0 +chr5 16854102 16854196 5S 573 + 16854102 16854196 0 1 94 0 +chr5 17157100 17157182 5S 538 - 17157100 17157182 0 1 82 0 +chr5 25493346 25493376 5S 229 - 25493346 25493376 0 1 30 0 +chr5 33134900 33134950 5S 288 - 33134900 33134950 0 1 50 0 +chr5 33277966 33278059 5S 613 - 33277966 33278059 0 1 93 0 +chr5 34038377 34038545 LSU-rRNA_Hsa 908 + 34038377 34038545 0 1 168 0 +chr5 34802384 34802473 5S 757 + 34802384 34802473 0 1 89 0 +chr5 34862059 34862232 LSU-rRNA_Hsa 963 + 34862059 34862232 0 1 173 0 +chr5 35763126 35763168 5S 247 - 35763126 35763168 0 1 42 0 +chr5 36485446 36485534 5S 644 + 36485446 36485534 0 1 88 0 +chr5 38074926 38074969 5S 260 + 38074926 38074969 0 1 43 0 +chr5 39397629 39397706 5S 406 + 39397629 39397706 0 1 77 0 +chr5 41357103 41357192 SSU-rRNA_Hsa 311 - 41357103 41357192 0 1 89 0 +chr5 44638025 44638076 5S 358 + 44638025 44638076 0 1 51 0 +chr5 51182521 51182595 5S 374 + 51182521 51182595 0 1 74 0 +chr5 51813679 51813758 LSU-rRNA_Hsa 286 - 51813679 51813758 0 1 79 0 +chr5 52768689 52768745 LSU-rRNA_Hsa 273 + 52768689 52768745 0 1 56 0 +chr5 54480765 54480855 5S 697 - 54480765 54480855 0 1 90 0 +chr5 55073298 55073413 5S 920 + 55073298 55073413 0 1 115 0 +chr5 55442592 55442673 5S 475 - 55442592 55442673 0 1 81 0 +chr5 55556183 55556271 5S 578 - 55556183 55556271 0 1 88 0 +chr5 55939230 55939327 5S 308 + 55939230 55939327 0 1 97 0 +chr5 62110347 62110389 5S 234 - 62110347 62110389 0 1 42 0 +chr5 63691037 63691127 5S 687 - 63691037 63691127 0 1 90 0 +chr5 64014705 64014745 5S 283 - 64014705 64014745 0 1 40 0 +chr5 65424883 65425076 LSU-rRNA_Hsa 847 - 65424883 65425076 0 1 193 0 +chr5 65425079 65425229 LSU-rRNA_Hsa 903 - 65425079 65425229 0 1 150 0 +chr5 65472412 65472455 5S 280 - 65472412 65472455 0 1 43 0 +chr5 70788829 70788913 5S 322 - 70788829 70788913 0 1 84 0 +chr5 71146744 71146942 LSU-rRNA_Hsa 1590 + 71146744 71146942 0 1 198 0 +chr5 75387535 75387622 5S 472 - 75387535 75387622 0 1 87 0 +chr5 80743487 80743529 5S 331 - 80743487 80743529 0 1 42 0 +chr5 81058035 81058078 5S 291 - 81058035 81058078 0 1 43 0 +chr5 84142029 84142070 5S 276 + 84142029 84142070 0 1 41 0 +chr5 86258963 86259005 5S 333 - 86258963 86259005 0 1 42 0 +chr5 86259385 86259428 5S 333 - 86259385 86259428 0 1 43 0 +chr5 87514081 87514123 5S 252 - 87514081 87514123 0 1 42 0 +chr5 87570074 87570193 5S 702 - 87570074 87570193 0 1 119 0 +chr5 91196809 91196851 5S 304 - 91196809 91196851 0 1 42 0 +chr5 96724874 96725068 LSU-rRNA_Hsa 730 - 96724874 96725068 0 1 194 0 +chr5 97326426 97326479 5S 307 - 97326426 97326479 0 1 53 0 +chr5 97626409 97626460 5S 262 + 97626409 97626460 0 1 51 0 +chr5 99629459 99629502 5S 287 + 99629459 99629502 0 1 43 0 +chr5 101466755 101466845 5S 639 - 101466755 101466845 0 1 90 0 +chr5 103062073 103062216 LSU-rRNA_Hsa 370 + 103062073 103062216 0 1 143 0 +chr5 105258721 105258815 5S 576 - 105258721 105258815 0 1 94 0 +chr5 113734992 113735028 5S 229 - 113734992 113735028 0 1 36 0 +chr5 114480660 114480699 5S 266 + 114480660 114480699 0 1 39 0 +chr5 116153783 116153826 5S 356 + 116153783 116153826 0 1 43 0 +chr5 118112925 118112974 5S 259 + 118112925 118112974 0 1 49 0 +chr5 118408194 118408226 5S 231 + 118408194 118408226 0 1 32 0 +chr5 118781415 118781530 5S 729 + 118781415 118781530 0 1 115 0 +chr5 122990601 122991011 LSU-rRNA_Hsa 2777 + 122990601 122991011 0 1 410 0 +chr5 122991003 122991048 LSU-rRNA_Hsa 267 + 122991003 122991048 0 1 45 0 +chr5 129450095 129450185 5S 752 + 129450095 129450185 0 1 90 0 +chr5 132076634 132076676 5S 306 + 132076634 132076676 0 1 42 0 +chr5 132184268 132184358 5S 754 + 132184268 132184358 0 1 90 0 +chr5 136304903 136304993 5S 540 - 136304903 136304993 0 1 90 0 +chr5 137469192 137469234 5S 311 + 137469192 137469234 0 1 42 0 +chr5 137556191 137556233 5S 335 - 137556191 137556233 0 1 42 0 +chr5 138348018 138348109 5S 687 + 138348018 138348109 0 1 91 0 +chr5 138635541 138635650 5S 675 + 138635541 138635650 0 1 109 0 +chr5 139886780 139886830 5S 323 + 139886780 139886830 0 1 50 0 +chr5 140111671 140111759 5S 592 - 140111671 140111759 0 1 88 0 +chr5 141499847 141499888 5S 305 + 141499847 141499888 0 1 41 0 +chr5 145935545 145935667 LSU-rRNA_Hsa 891 + 145935545 145935667 0 1 122 0 +chr5 145965673 145965763 5S 558 - 145965673 145965763 0 1 90 0 +chr5 146800489 146800537 5S 350 - 146800489 146800537 0 1 48 0 +chr5 148430265 148430304 5S 293 + 148430265 148430304 0 1 39 0 +chr5 148853021 148853062 5S 328 + 148853021 148853062 0 1 41 0 +chr5 149327051 149327142 5S 368 - 149327051 149327142 0 1 91 0 +chr5 150306498 150306549 5S 376 + 150306498 150306549 0 1 51 0 +chr5 150857018 150857138 5S 716 - 150857018 150857138 0 1 120 0 +chr5 151255164 151255253 5S 723 - 151255164 151255253 0 1 89 0 +chr5 151517967 151518010 5S 306 - 151517967 151518010 0 1 43 0 +chr5 153715262 153715304 5S 274 + 153715262 153715304 0 1 42 0 +chr5 154788122 154788360 LSU-rRNA_Hsa 1569 + 154788122 154788360 0 1 238 0 +chr5 155272446 155272537 5S 783 + 155272446 155272537 0 1 91 0 +chr5 155511456 155511545 5S 545 - 155511456 155511545 0 1 89 0 +chr5 156626891 156627060 LSU-rRNA_Hsa 946 + 156626891 156627060 0 1 169 0 +chr5 157460233 157460281 5S 294 - 157460233 157460281 0 1 48 0 +chr5 162306975 162307001 5S 228 - 162306975 162307001 0 1 26 0 +chr5 162912212 162912253 5S 321 - 162912212 162912253 0 1 41 0 +chr5 166232505 166232557 5S 290 + 166232505 166232557 0 1 52 0 +chr5 167666588 167666651 5S 378 - 167666588 167666651 0 1 63 0 +chr5 172643260 172643310 5S 400 - 172643260 172643310 0 1 50 0 +chr5 172719536 172719626 5S 527 - 172719536 172719626 0 1 90 0 +chr5 174541742 174542177 SSU-rRNA_Hsa 3237 - 174541742 174542177 0 1 435 0 +chr6 3080072 3080131 5S 470 - 3080072 3080131 0 1 59 0 +chr6 3088953 3089043 5S 629 - 3088953 3089043 0 1 90 0 +chr6 4428196 4428316 5S 1123 + 4428196 4428316 0 1 120 0 +chr6 4436500 4436541 5S 262 - 4436500 4436541 0 1 41 0 +chr6 5830713 5830755 5S 317 - 5830713 5830755 0 1 42 0 +chr6 7776202 7776239 5S 257 + 7776202 7776239 0 1 37 0 +chr6 10753021 10753159 5S 645 - 10753021 10753159 0 1 138 0 +chr6 12390274 12390323 5S 297 + 12390274 12390323 0 1 49 0 +chr6 13988995 13989035 5S 270 + 13988995 13989035 0 1 40 0 +chr6 14404512 14404554 5S 320 - 14404512 14404554 0 1 42 0 +chr6 15035318 15035391 LSU-rRNA_Hsa 475 - 15035318 15035391 0 1 73 0 +chr6 15522462 15522531 5S 280 - 15522462 15522531 0 1 69 0 +chr6 16425488 16425551 LSU-rRNA_Hsa 284 - 16425488 16425551 0 1 63 0 +chr6 17722015 17722129 5S 795 - 17722015 17722129 0 1 114 0 +chr6 19438513 19438604 5S 693 + 19438513 19438604 0 1 91 0 +chr6 22691316 22691455 LSU-rRNA_Hsa 621 - 22691316 22691455 0 1 139 0 +chr6 22948193 22948350 LSU-rRNA_Hsa 895 - 22948193 22948350 0 1 157 0 +chr6 23008011 23008100 LSU-rRNA_Hsa 298 - 23008011 23008100 0 1 89 0 +chr6 23009068 23009147 LSU-rRNA_Hsa 334 + 23009068 23009147 0 1 79 0 +chr6 26263863 26263995 SSU-rRNA_Hsa 339 + 26263863 26263995 0 1 132 0 +chr6 26264599 26264681 SSU-rRNA_Hsa 339 + 26264599 26264681 0 1 82 0 +chr6 27740108 27740150 5S 347 - 27740108 27740150 0 1 42 0 +chr6 28124039 28124077 5S 256 - 28124039 28124077 0 1 38 0 +chr6 28169811 28169873 LSU-rRNA_Hsa 352 + 28169811 28169873 0 1 62 0 +chr6 29729916 29730463 LSU-rRNA_Hsa 305 - 29729916 29730463 0 1 547 0 +chr6 31193056 31193095 SSU-rRNA_Hsa 229 + 31193056 31193095 0 1 39 0 +chr6 31443154 31443337 LSU-rRNA_Hsa 233 + 31443154 31443337 0 1 183 0 +chr6 32046312 32046404 5S 563 - 32046312 32046404 0 1 92 0 +chr6 36532459 36532538 SSU-rRNA_Hsa 267 + 36532459 36532538 0 1 79 0 +chr6 37312721 37312759 5S 305 - 37312721 37312759 0 1 38 0 +chr6 37354366 37354568 LSU-rRNA_Hsa 256 + 37354366 37354568 0 1 202 0 +chr6 41207255 41207363 5S 565 - 41207255 41207363 0 1 108 0 +chr6 41892168 41892210 5S 266 - 41892168 41892210 0 1 42 0 +chr6 42555542 42555584 5S 335 + 42555542 42555584 0 1 42 0 +chr6 42609814 42609864 5S 323 - 42609814 42609864 0 1 50 0 +chr6 43385831 43385918 5S 621 + 43385831 43385918 0 1 87 0 +chr6 43625575 43625663 5S 539 + 43625575 43625663 0 1 88 0 +chr6 43720579 43720688 5S 622 + 43720579 43720688 0 1 109 0 +chr6 44945280 44945356 5S 385 + 44945280 44945356 0 1 76 0 +chr6 47074872 47074911 5S 266 - 47074872 47074911 0 1 39 0 +chr6 50980611 50980737 LSU-rRNA_Hsa 783 - 50980611 50980737 0 1 126 0 +chr6 52797771 52797812 5S 312 - 52797771 52797812 0 1 41 0 +chr6 66774989 66775079 5S 585 + 66774989 66775079 0 1 90 0 +chr6 67654499 67654585 LSU-rRNA_Hsa 306 - 67654499 67654585 0 1 86 0 +chr6 68177111 68177199 5S 545 - 68177111 68177199 0 1 88 0 +chr6 69693254 69693298 5S 273 + 69693254 69693298 0 1 44 0 +chr6 70183071 70183129 LSU-rRNA_Hsa 465 - 70183071 70183129 0 1 58 0 +chr6 74016137 74016190 LSU-rRNA_Hsa 231 - 74016137 74016190 0 1 53 0 +chr6 74185646 74185803 LSU-rRNA_Hsa 995 + 74185646 74185803 0 1 157 0 +chr6 74877801 74877856 LSU-rRNA_Hsa 269 + 74877801 74877856 0 1 55 0 +chr6 76574973 76575052 5S 540 - 76574973 76575052 0 1 79 0 +chr6 82260695 82260757 LSU-rRNA_Hsa 365 + 82260695 82260757 0 1 62 0 +chr6 82331917 82332016 5S 511 + 82331917 82332016 0 1 99 0 +chr6 84992858 84992930 SSU-rRNA_Hsa 249 + 84992858 84992930 0 1 72 0 +chr6 88348967 88349012 5S 266 - 88348967 88349012 0 1 45 0 +chr6 90961045 90961087 5S 284 - 90961045 90961087 0 1 42 0 +chr6 94774622 94774664 5S 305 - 94774622 94774664 0 1 42 0 +chr6 100029095 100029165 LSU-rRNA_Hsa 557 - 100029095 100029165 0 1 70 0 +chr6 104991145 104991189 5S 303 + 104991145 104991189 0 1 44 0 +chr6 105771976 105772035 LSU-rRNA_Hsa 292 + 105771976 105772035 0 1 59 0 +chr6 105967763 105967826 LSU-rRNA_Hsa 268 + 105967763 105967826 0 1 63 0 +chr6 106897253 106897338 5S 610 + 106897253 106897338 0 1 85 0 +chr6 108573604 108573692 5S 562 + 108573604 108573692 0 1 88 0 +chr6 110010047 110010091 5S 225 - 110010047 110010091 0 1 44 0 +chr6 110074368 110074458 5S 800 - 110074368 110074458 0 1 90 0 +chr6 114472446 114472714 LSU-rRNA_Hsa 649 + 114472446 114472714 0 1 268 0 +chr6 114541860 114541949 5S 591 - 114541860 114541949 0 1 89 0 +chr6 115273212 115273263 5S 364 - 115273212 115273263 0 1 51 0 +chr6 116499409 116499496 5S 651 - 116499409 116499496 0 1 87 0 +chr6 117381849 117381959 5S 782 + 117381849 117381959 0 1 110 0 +chr6 118349015 118349055 5S 292 - 118349015 118349055 0 1 40 0 +chr6 119039999 119040034 5S 269 + 119039999 119040034 0 1 35 0 +chr6 120583441 120583547 LSU-rRNA_Hsa 752 + 120583441 120583547 0 1 106 0 +chr6 121007766 121007858 5S 695 + 121007766 121007858 0 1 92 0 +chr6 126301021 126301080 5S 462 - 126301021 126301080 0 1 59 0 +chr6 126386951 126386993 5S 261 - 126386951 126386993 0 1 42 0 +chr6 127639029 127639118 5S 536 - 127639029 127639118 0 1 89 0 +chr6 129019783 129019870 5S 493 + 129019783 129019870 0 1 87 0 +chr6 129814541 129814634 5S 652 - 129814541 129814634 0 1 93 0 +chr6 132401297 132401347 5S 355 - 132401297 132401347 0 1 50 0 +chr6 133593944 133594166 LSU-rRNA_Hsa 1633 + 133593944 133594166 0 1 222 0 +chr6 134578172 134578282 5S 808 + 134578172 134578282 0 1 110 0 +chr6 134995780 134996047 LSU-rRNA_Hsa 1598 + 134995780 134996047 0 1 267 0 +chr6 135596959 135597001 5S 306 - 135596959 135597001 0 1 42 0 +chr6 136951377 136951466 5S 624 + 136951377 136951466 0 1 89 0 +chr6 137059142 137059226 SSU-rRNA_Hsa 336 - 137059142 137059226 0 1 84 0 +chr6 137358722 137358834 LSU-rRNA_Hsa 317 + 137358722 137358834 0 1 112 0 +chr6 137627145 137627187 5S 301 + 137627145 137627187 0 1 42 0 +chr6 138698052 138698094 5S 293 + 138698052 138698094 0 1 42 0 +chr6 140479751 140479831 5S 471 - 140479751 140479831 0 1 80 0 +chr6 143770945 143771024 5S 492 + 143770945 143771024 0 1 79 0 +chr6 144692027 144692175 LSU-rRNA_Hsa 1139 - 144692027 144692175 0 1 148 0 +chr6 144692196 144692284 LSU-rRNA_Hsa 680 - 144692196 144692284 0 1 88 0 +chr6 146661561 146661645 5S 638 + 146661561 146661645 0 1 84 0 +chr6 150665153 150665281 SSU-rRNA_Hsa 743 + 150665153 150665281 0 1 128 0 +chr6 152157980 152158256 SSU-rRNA_Hsa 542 - 152157980 152158256 0 1 276 0 +chr6 152611080 152611168 5S 646 - 152611080 152611168 0 1 88 0 +chr6 152731409 152731531 5S 644 + 152731409 152731531 0 1 122 0 +chr6 153056934 153056972 5S 249 - 153056934 153056972 0 1 38 0 +chr6 153480390 153480480 5S 606 - 153480390 153480480 0 1 90 0 +chr6 153741575 153741661 5S 683 + 153741575 153741661 0 1 86 0 +chr6 161207528 161207613 5S 650 - 161207528 161207613 0 1 85 0 +chr6 162291117 162291207 5S 702 - 162291117 162291207 0 1 90 0 +chr6 162473065 162473108 5S 327 - 162473065 162473108 0 1 43 0 +chr6 163906224 163906265 5S 230 - 163906224 163906265 0 1 41 0 +chr6 165823050 165823140 5S 800 + 165823050 165823140 0 1 90 0 +chr6 170709405 170709518 5S 258 + 170709405 170709518 0 1 113 0 +chr7 3025176 3025266 LSU-rRNA_Hsa 239 - 3025176 3025266 0 1 90 0 +chr7 5170828 5170870 5S 276 - 5170828 5170870 0 1 42 0 +chr7 5874406 5874448 5S 262 + 5874406 5874448 0 1 42 0 +chr7 11994347 11994389 5S 301 + 11994347 11994389 0 1 42 0 +chr7 14615740 14615782 5S 266 - 14615740 14615782 0 1 42 0 +chr7 22338212 22338302 5S 537 + 22338212 22338302 0 1 90 0 +chr7 23037678 23037720 5S 310 - 23037678 23037720 0 1 42 0 +chr7 24172327 24172413 5S 536 + 24172327 24172413 0 1 86 0 +chr7 25649911 25649953 5S 262 + 25649911 25649953 0 1 42 0 +chr7 26093482 26093524 5S 279 + 26093482 26093524 0 1 42 0 +chr7 27553378 27553502 LSU-rRNA_Hsa 274 - 27553378 27553502 0 1 124 0 +chr7 33123223 33123327 LSU-rRNA_Hsa 531 + 33123223 33123327 0 1 104 0 +chr7 33217351 33217443 5S 681 + 33217351 33217443 0 1 92 0 +chr7 36450441 36450483 5S 331 - 36450441 36450483 0 1 42 0 +chr7 36606004 36606101 LSU-rRNA_Hsa 323 + 36606004 36606101 0 1 97 0 +chr7 36633289 36633375 5S 590 - 36633289 36633375 0 1 86 0 +chr7 40301844 40301891 5S 241 + 40301844 40301891 0 1 47 0 +chr7 44165392 44165471 5S 461 - 44165392 44165471 0 1 79 0 +chr7 46120150 46120190 5S 292 + 46120150 46120190 0 1 40 0 +chr7 55110795 55110834 5S 298 - 55110795 55110834 0 1 39 0 +chr7 66015591 66015681 5S 627 - 66015591 66015681 0 1 90 0 +chr7 66681434 66681479 5S 287 - 66681434 66681479 0 1 45 0 +chr7 67786741 67786790 LSU-rRNA_Hsa 234 - 67786741 67786790 0 1 49 0 +chr7 68188948 68189038 5S 558 - 68188948 68189038 0 1 90 0 +chr7 68527370 68527788 LSU-rRNA_Hsa 3340 + 68527370 68527788 0 1 418 0 +chr7 71378726 71378840 5S 702 - 71378726 71378840 0 1 114 0 +chr7 72062543 72062588 5S 264 + 72062543 72062588 0 1 45 0 +chr7 73901755 73901870 5S 664 - 73901755 73901870 0 1 115 0 +chr7 74011128 74011218 5S 660 - 74011128 74011218 0 1 90 0 +chr7 74077260 74077313 LSU-rRNA_Hsa 356 - 74077260 74077313 0 1 53 0 +chr7 78431778 78431885 LSU-rRNA_Hsa 373 - 78431778 78431885 0 1 107 0 +chr7 79283426 79283514 5S 582 + 79283426 79283514 0 1 88 0 +chr7 80905339 80905409 LSU-rRNA_Hsa 451 + 80905339 80905409 0 1 70 0 +chr7 80962907 80963147 SSU-rRNA_Hsa 1812 + 80962907 80963147 0 1 240 0 +chr7 82647214 82647328 5S 576 + 82647214 82647328 0 1 114 0 +chr7 88597214 88597324 5S 525 + 88597214 88597324 0 1 110 0 +chr7 89406199 89406239 5S 253 + 89406199 89406239 0 1 40 0 +chr7 92043497 92043539 5S 252 + 92043497 92043539 0 1 42 0 +chr7 92436067 92436103 LSU-rRNA_Hsa 260 - 92436067 92436103 0 1 36 0 +chr7 94872503 94872587 LSU-rRNA_Hsa 353 + 94872503 94872587 0 1 84 0 +chr7 96340729 96340782 5S 284 - 96340729 96340782 0 1 53 0 +chr7 98863455 98863497 5S 291 - 98863455 98863497 0 1 42 0 +chr7 99065859 99066207 LSU-rRNA_Hsa 754 - 99065859 99066207 0 1 348 0 +chr7 99212191 99212234 5S 297 - 99212191 99212234 0 1 43 0 +chr7 101965496 101965608 LSU-rRNA_Hsa 597 - 101965496 101965608 0 1 112 0 +chr7 104536768 104536858 5S 561 + 104536768 104536858 0 1 90 0 +chr7 104630544 104630760 LSU-rRNA_Hsa 1025 + 104630544 104630760 0 1 216 0 +chr7 104641782 104641866 LSU-rRNA_Hsa 526 - 104641782 104641866 0 1 84 0 +chr7 104966297 104966532 LSU-rRNA_Hsa 997 + 104966297 104966532 0 1 235 0 +chr7 106422061 106422154 5S 460 - 106422061 106422154 0 1 93 0 +chr7 106526117 106526169 5S 303 - 106526117 106526169 0 1 52 0 +chr7 107927136 107927177 5S 260 - 107927136 107927177 0 1 41 0 +chr7 111593735 111593820 5S 479 - 111593735 111593820 0 1 85 0 +chr7 114253839 114253960 5S 723 - 114253839 114253960 0 1 121 0 +chr7 116584378 116584468 5S 638 - 116584378 116584468 0 1 90 0 +chr7 120537279 120537354 5S 410 - 120537279 120537354 0 1 75 0 +chr7 120621508 120621607 5S 517 - 120621508 120621607 0 1 99 0 +chr7 120723781 120723871 5S 594 - 120723781 120723871 0 1 90 0 +chr7 122403872 122403922 5S 356 - 122403872 122403922 0 1 50 0 +chr7 125923151 125923193 5S 257 + 125923151 125923193 0 1 42 0 +chr7 126159707 126159749 5S 326 + 126159707 126159749 0 1 42 0 +chr7 128074993 128075034 5S 292 + 128074993 128075034 0 1 41 0 +chr7 128118087 128118179 LSU-rRNA_Hsa 440 - 128118087 128118179 0 1 92 0 +chr7 128337505 128337612 5S 892 + 128337505 128337612 0 1 107 0 +chr7 128337744 128337798 5S 439 + 128337744 128337798 0 1 54 0 +chr7 129396105 129396193 5S 448 + 129396105 129396193 0 1 88 0 +chr7 129667116 129667204 5S 685 + 129667116 129667204 0 1 88 0 +chr7 130287669 130287790 5S 829 - 130287669 130287790 0 1 121 0 +chr7 131924563 131924605 5S 261 - 131924563 131924605 0 1 42 0 +chr7 133672674 133672756 5S 240 + 133672674 133672756 0 1 82 0 +chr7 135862193 135862300 LSU-rRNA_Hsa 316 - 135862193 135862300 0 1 107 0 +chr7 140070238 140070327 5S 612 + 140070238 140070327 0 1 89 0 +chr7 140086578 140086690 5S 687 - 140086578 140086690 0 1 112 0 +chr7 140486726 140486777 5S 386 + 140486726 140486777 0 1 51 0 +chr7 141107342 141107384 5S 347 + 141107342 141107384 0 1 42 0 +chr7 143151113 143151226 LSU-rRNA_Hsa 599 + 143151113 143151226 0 1 113 0 +chr7 147546975 147547054 5S 425 + 147546975 147547054 0 1 79 0 +chr7 148481396 148481485 5S 564 - 148481396 148481485 0 1 89 0 +chr7 149811828 149811867 5S 246 + 149811828 149811867 0 1 39 0 +chr7 152290059 152290175 5S 883 - 152290059 152290175 0 1 116 0 +chr7 153683125 153683164 5S 263 - 153683125 153683164 0 1 39 0 +chr7 158026214 158026258 5S 228 - 158026214 158026258 0 1 44 0 +chr8 3558013 3558093 5S 510 + 3558013 3558093 0 1 80 0 +chr8 4038756 4038797 5S 282 + 4038756 4038797 0 1 41 0 +chr8 4969321 4969359 5S 293 + 4969321 4969359 0 1 38 0 +chr8 7249943 7250033 5S 576 + 7249943 7250033 0 1 90 0 +chr8 7776915 7777005 5S 576 - 7776915 7777005 0 1 90 0 +chr8 8688928 8688997 5S 414 + 8688928 8688997 0 1 69 0 +chr8 9734204 9734274 5S 463 - 9734204 9734274 0 1 70 0 +chr8 10544078 10544191 5S 706 + 10544078 10544191 0 1 113 0 +chr8 11944917 11944968 5S 299 - 11944917 11944968 0 1 51 0 +chr8 12191165 12191216 5S 301 - 12191165 12191216 0 1 51 0 +chr8 13393537 13393617 5S 563 + 13393537 13393617 0 1 80 0 +chr8 13579498 13579544 5S 291 + 13579498 13579544 0 1 46 0 +chr8 17574664 17574842 SSU-rRNA_Hsa 246 - 17574664 17574842 0 1 178 0 +chr8 17605626 17605717 5S 669 + 17605626 17605717 0 1 91 0 +chr8 19712054 19712530 LSU-rRNA_Hsa 1293 + 19712054 19712530 0 1 476 0 +chr8 19934640 19934742 LSU-rRNA_Hsa 312 + 19934640 19934742 0 1 102 0 +chr8 20147684 20147774 5S 594 + 20147684 20147774 0 1 90 0 +chr8 21455971 21456306 LSU-rRNA_Hsa 2234 + 21455971 21456306 0 1 335 0 +chr8 25994396 25994515 5S 784 + 25994396 25994515 0 1 119 0 +chr8 28387927 28388016 5S 648 + 28387927 28388016 0 1 89 0 +chr8 28906031 28906120 5S 699 - 28906031 28906120 0 1 89 0 +chr8 29360846 29360883 LSU-rRNA_Hsa 236 + 29360846 29360883 0 1 37 0 +chr8 31455630 31455720 5S 556 - 31455630 31455720 0 1 90 0 +chr8 32011092 32011135 5S 246 + 32011092 32011135 0 1 43 0 +chr8 32049593 32049664 5S 470 - 32049593 32049664 0 1 71 0 +chr8 32114011 32114124 5S 733 + 32114011 32114124 0 1 113 0 +chr8 32870877 32871051 LSU-rRNA_Hsa 234 + 32870877 32871051 0 1 174 0 +chr8 36621962 36622036 5S 460 + 36621962 36622036 0 1 74 0 +chr8 39113654 39113694 5S 288 + 39113654 39113694 0 1 40 0 +chr8 42979609 42979659 5S 279 - 42979609 42979659 0 1 50 0 +chr8 46951570 46952097 LSU-rRNA_Hsa 2649 - 46951570 46952097 0 1 527 0 +chr8 46952095 46952182 LSU-rRNA_Hsa 505 - 46952095 46952182 0 1 87 0 +chr8 49375956 49376033 LSU-rRNA_Hsa 651 - 49375956 49376033 0 1 77 0 +chr8 50080450 50080498 5S 266 - 50080450 50080498 0 1 48 0 +chr8 52458865 52458953 5S 635 + 52458865 52458953 0 1 88 0 +chr8 53003215 53003257 5S 274 - 53003215 53003257 0 1 42 0 +chr8 55887281 55887323 SSU-rRNA_Hsa 225 + 55887281 55887323 0 1 42 0 +chr8 56657788 56657876 5S 607 + 56657788 56657876 0 1 88 0 +chr8 56755032 56755341 LSU-rRNA_Hsa 2153 - 56755032 56755341 0 1 309 0 +chr8 56821653 56822036 LSU-rRNA_Hsa 1553 - 56821653 56822036 0 1 383 0 +chr8 57201887 57201928 5S 295 - 57201887 57201928 0 1 41 0 +chr8 58039231 58039318 5S 564 - 58039231 58039318 0 1 87 0 +chr8 60368443 60368533 5S 718 + 60368443 60368533 0 1 90 0 +chr8 61156161 61156203 5S 345 + 61156161 61156203 0 1 42 0 +chr8 63051550 63051602 5S 332 - 63051550 63051602 0 1 52 0 +chr8 63367483 63367699 LSU-rRNA_Hsa 362 + 63367483 63367699 0 1 216 0 +chr8 66510359 66510401 5S 313 - 66510359 66510401 0 1 42 0 +chr8 68011537 68011627 5S 515 + 68011537 68011627 0 1 90 0 +chr8 69218440 69218796 LSU-rRNA_Hsa 2039 - 69218440 69218796 0 1 356 0 +chr8 69218794 69218922 LSU-rRNA_Hsa 870 + 69218794 69218922 0 1 128 0 +chr8 69607891 69607967 5S 524 + 69607891 69607967 0 1 76 0 +chr8 70602248 70602620 LSU-rRNA_Hsa 2903 - 70602248 70602620 0 1 372 0 +chr8 70842139 70842259 5S 626 + 70842139 70842259 0 1 120 0 +chr8 71828709 71828755 5S 274 + 71828709 71828755 0 1 46 0 +chr8 71986419 71986460 5S 236 - 71986419 71986460 0 1 41 0 +chr8 73269967 73270040 5S 499 + 73269967 73270040 0 1 73 0 +chr8 76906125 76906176 5S 267 - 76906125 76906176 0 1 51 0 +chr8 77280360 77280468 LSU-rRNA_Hsa 326 - 77280360 77280468 0 1 108 0 +chr8 77819698 77819752 5S 307 + 77819698 77819752 0 1 54 0 +chr8 84673782 84673824 5S 241 + 84673782 84673824 0 1 42 0 +chr8 87128872 87128918 5S 352 - 87128872 87128918 0 1 46 0 +chr8 89408690 89408776 5S 544 - 89408690 89408776 0 1 86 0 +chr8 91523363 91523469 5S 752 + 91523363 91523469 0 1 106 0 +chr8 93179688 93179778 5S 799 - 93179688 93179778 0 1 90 0 +chr8 94453504 94453594 5S 610 + 94453504 94453594 0 1 90 0 +chr8 94709613 94709688 5S 367 + 94709613 94709688 0 1 75 0 +chr8 97178596 97178687 5S 265 + 97178596 97178687 0 1 91 0 +chr8 97857963 97858005 5S 264 - 97857963 97858005 0 1 42 0 +chr8 98577733 98577938 LSU-rRNA_Hsa 1284 + 98577733 98577938 0 1 205 0 +chr8 100986335 100986394 5S 344 + 100986335 100986394 0 1 59 0 +chr8 102550179 102550322 LSU-rRNA_Hsa 916 - 102550179 102550322 0 1 143 0 +chr8 103491489 103491536 LSU-rRNA_Hsa 240 - 103491489 103491536 0 1 47 0 +chr8 103533411 103533462 5S 376 - 103533411 103533462 0 1 51 0 +chr8 106206880 106206921 5S 246 - 106206880 106206921 0 1 41 0 +chr8 108896721 108896840 5S 705 + 108896721 108896840 0 1 119 0 +chr8 109304591 109304662 LSU-rRNA_Hsa 566 - 109304591 109304662 0 1 71 0 +chr8 109536847 109536927 5S 409 - 109536847 109536927 0 1 80 0 +chr8 111990680 111990720 5S 238 - 111990680 111990720 0 1 40 0 +chr8 113346339 113346379 5S 247 - 113346339 113346379 0 1 40 0 +chr8 114025683 114025727 5S 250 - 114025683 114025727 0 1 44 0 +chr8 117034927 117035014 5S 697 - 117034927 117035014 0 1 87 0 +chr8 117952298 117952336 5S 285 - 117952298 117952336 0 1 38 0 +chr8 120903399 120903469 5S 519 - 120903399 120903469 0 1 70 0 +chr8 121386127 121386169 5S 282 - 121386127 121386169 0 1 42 0 +chr8 122187143 122187185 5S 258 - 122187143 122187185 0 1 42 0 +chr8 123958073 123958115 5S 311 + 123958073 123958115 0 1 42 0 +chr8 124232699 124232750 5S 370 + 124232699 124232750 0 1 51 0 +chr8 133766519 133766561 5S 301 + 133766519 133766561 0 1 42 0 +chr8 138472198 138472274 5S 245 + 138472198 138472274 0 1 76 0 +chr8 139815622 139815693 5S 528 - 139815622 139815693 0 1 71 0 +chr8 140690398 140690510 LSU-rRNA_Hsa 257 - 140690398 140690510 0 1 112 0 +chr8 141950660 141950763 5S 517 + 141950660 141950763 0 1 103 0 +chr9 401793 401835 5S 264 + 401793 401835 0 1 42 0 +chr9 1212195 1212358 SSU-rRNA_Hsa 696 - 1212195 1212358 0 1 163 0 +chr9 1333833 1333923 5S 651 + 1333833 1333923 0 1 90 0 +chr9 4691651 4691745 LSU-rRNA_Hsa 249 - 4691651 4691745 0 1 94 0 +chr9 4799734 4800000 SSU-rRNA_Hsa 1865 - 4799734 4800000 0 1 266 0 +chr9 7071820 7071862 5S 302 + 7071820 7071862 0 1 42 0 +chr9 7622268 7622335 LSU-rRNA_Hsa 252 + 7622268 7622335 0 1 67 0 +chr9 8740132 8740176 5S 284 + 8740132 8740176 0 1 44 0 +chr9 15220863 15220962 5S 639 + 15220863 15220962 0 1 99 0 +chr9 17001117 17001241 LSU-rRNA_Hsa 723 - 17001117 17001241 0 1 124 0 +chr9 19278552 19278593 LSU-rRNA_Hsa 331 + 19278552 19278593 0 1 41 0 +chr9 19492825 19492988 LSU-rRNA_Hsa 781 - 19492825 19492988 0 1 163 0 +chr9 20846586 20846762 LSU-rRNA_Hsa 360 + 20846586 20846762 0 1 176 0 +chr9 22108404 22108440 5S 277 - 22108404 22108440 0 1 36 0 +chr9 26081081 26081194 LSU-rRNA_Hsa 226 - 26081081 26081194 0 1 113 0 +chr9 27198284 27198354 5S 430 + 27198284 27198354 0 1 70 0 +chr9 28260562 28260626 LSU-rRNA_Hsa 269 + 28260562 28260626 0 1 64 0 +chr9 29042223 29042265 5S 297 + 29042223 29042265 0 1 42 0 +chr9 32537938 32538167 SSU-rRNA_Hsa 573 + 32537938 32538167 0 1 229 0 +chr9 33219984 33220031 LSU-rRNA_Hsa 336 - 33219984 33220031 0 1 47 0 +chr9 33658622 33658771 LSU-rRNA_Hsa 234 + 33658622 33658771 0 1 149 0 +chr9 34206154 34206239 5S 583 - 34206154 34206239 0 1 85 0 +chr9 37421880 37421963 5S 423 - 37421880 37421963 0 1 83 0 +chr9 66458141 66458262 5S 683 - 66458141 66458262 0 1 121 0 +chr9 68408923 68409043 5S 654 + 68408923 68409043 0 1 120 0 +chr9 71835184 71835226 5S 315 - 71835184 71835226 0 1 42 0 +chr9 74914668 74914749 5S 598 - 74914668 74914749 0 1 81 0 +chr9 76045221 76045262 5S 322 - 76045221 76045262 0 1 41 0 +chr9 76365846 76365886 5S 273 - 76365846 76365886 0 1 40 0 +chr9 76365886 76365974 5S 640 - 76365886 76365974 0 1 88 0 +chr9 79186648 79186950 LSU-rRNA_Hsa 1762 + 79186648 79186950 0 1 302 0 +chr9 81503776 81503826 5S 361 - 81503776 81503826 0 1 50 0 +chr9 84036635 84036721 SSU-rRNA_Hsa 567 + 84036635 84036721 0 1 86 0 +chr9 84500411 84500490 5S 431 + 84500411 84500490 0 1 79 0 +chr9 85698145 85698184 5S 237 + 85698145 85698184 0 1 39 0 +chr9 86618416 86618455 5S 251 + 86618416 86618455 0 1 39 0 +chr9 88082355 88082405 5S 323 - 88082355 88082405 0 1 50 0 +chr9 90606456 90606497 5S 308 + 90606456 90606497 0 1 41 0 +chr9 96363081 96363173 5S 475 - 96363081 96363173 0 1 92 0 +chr9 97904728 97904823 5S 458 - 97904728 97904823 0 1 95 0 +chr9 98667286 98667375 5S 647 + 98667286 98667375 0 1 89 0 +chr9 101908158 101908247 5S 706 - 101908158 101908247 0 1 89 0 +chr9 106052412 106052732 LSU-rRNA_Hsa 1017 + 106052412 106052732 0 1 320 0 +chr9 106451769 106451855 5S 474 - 106451769 106451855 0 1 86 0 +chr9 107045875 107045950 LSU-rRNA_Hsa 259 + 107045875 107045950 0 1 75 0 +chr9 107639714 107639767 5S 263 - 107639714 107639767 0 1 53 0 +chr9 109606057 109606147 5S 583 - 109606057 109606147 0 1 90 0 +chr9 109963063 109963142 5S 526 + 109963063 109963142 0 1 79 0 +chr9 111398597 111398678 5S 558 + 111398597 111398678 0 1 81 0 +chr9 112778497 112778539 5S 290 + 112778497 112778539 0 1 42 0 +chr9 113823993 113824152 LSU-rRNA_Hsa 335 + 113823993 113824152 0 1 159 0 +chr9 114173933 114174022 5S 504 - 114173933 114174022 0 1 89 0 +chr9 115014537 115014627 5S 745 + 115014537 115014627 0 1 90 0 +chr9 123867410 123867491 5S 366 + 123867410 123867491 0 1 81 0 +chr9 124252616 124252658 5S 304 + 124252616 124252658 0 1 42 0 +chr9 126813737 126813813 LSU-rRNA_Hsa 621 - 126813737 126813813 0 1 76 0 +chr9 130603428 130603496 5S 404 - 130603428 130603496 0 1 68 0 +chr9 131431165 131431227 LSU-rRNA_Hsa 309 + 131431165 131431227 0 1 62 0 +chr9 134064625 134064664 5S 265 - 134064625 134064664 0 1 39 0 +chr9 136940173 136940235 5S 227 + 136940173 136940235 0 1 62 0 +chr9 138362322 138362381 LSU-rRNA_Hsa 308 - 138362322 138362381 0 1 59 0 +chr9 140687334 140687522 LSU-rRNA_Hsa 1107 + 140687334 140687522 0 1 188 0 +chrM 2591 2747 LSU-rRNA_Hsa 324 + 2591 2747 0 1 156 0 +chrX 1419146 1419257 5S 525 - 1419146 1419257 0 1 111 0 +chrX 9101869 9101989 5S 865 + 9101869 9101989 0 1 120 0 +chrX 9371976 9372053 5S 338 + 9371976 9372053 0 1 77 0 +chrX 9372223 9372328 5S 302 + 9372223 9372328 0 1 105 0 +chrX 9373154 9373204 5S 321 + 9373154 9373204 0 1 50 0 +chrX 9374198 9374278 5S 333 + 9374198 9374278 0 1 80 0 +chrX 9375130 9375180 5S 288 + 9375130 9375180 0 1 50 0 +chrX 9376060 9376176 5S 315 + 9376060 9376176 0 1 116 0 +chrX 9376992 9377108 5S 305 + 9376992 9377108 0 1 116 0 +chrX 9377923 9378029 5S 329 + 9377923 9378029 0 1 106 0 +chrX 9378967 9379047 5S 333 + 9378967 9379047 0 1 80 0 +chrX 9379899 9380015 5S 328 + 9379899 9380015 0 1 116 0 +chrX 9380945 9381024 5S 260 + 9380945 9381024 0 1 79 0 +chrX 9381989 9382069 5S 333 + 9381989 9382069 0 1 80 0 +chrX 13259723 13259760 5S 263 - 13259723 13259760 0 1 37 0 +chrX 13591996 13592054 LSU-rRNA_Hsa 277 + 13591996 13592054 0 1 58 0 +chrX 13593757 13593957 LSU-rRNA_Hsa 610 + 13593757 13593957 0 1 200 0 +chrX 16352365 16352409 SSU-rRNA_Hsa 254 + 16352365 16352409 0 1 44 0 +chrX 16352806 16352903 SSU-rRNA_Hsa 254 + 16352806 16352903 0 1 97 0 +chrX 17648357 17648399 5S 278 + 17648357 17648399 0 1 42 0 +chrX 17841805 17841847 5S 270 + 17841805 17841847 0 1 42 0 +chrX 23465833 23465884 5S 405 + 23465833 23465884 0 1 51 0 +chrX 27726519 27726605 5S 451 + 27726519 27726605 0 1 86 0 +chrX 28988853 28988926 5S 529 + 28988853 28988926 0 1 73 0 +chrX 29000966 29001087 5S 886 - 29000966 29001087 0 1 121 0 +chrX 30909185 30909341 LSU-rRNA_Hsa 435 + 30909185 30909341 0 1 156 0 +chrX 32120181 32120271 5S 596 + 32120181 32120271 0 1 90 0 +chrX 32611588 32611734 SSU-rRNA_Hsa 624 + 32611588 32611734 0 1 146 0 +chrX 34234074 34234164 SSU-rRNA_Hsa 641 + 34234074 34234164 0 1 90 0 +chrX 35530130 35530254 LSU-rRNA_Hsa 257 - 35530130 35530254 0 1 124 0 +chrX 37912828 37912870 5S 293 + 37912828 37912870 0 1 42 0 +chrX 41152050 41152140 5S 706 + 41152050 41152140 0 1 90 0 +chrX 44564652 44564703 5S 358 - 44564652 44564703 0 1 51 0 +chrX 47175511 47175577 LSU-rRNA_Hsa 395 - 47175511 47175577 0 1 66 0 +chrX 47749438 47749802 LSU-rRNA_Hsa 1723 - 47749438 47749802 0 1 364 0 +chrX 48065692 48065783 5S 504 + 48065692 48065783 0 1 91 0 +chrX 48082886 48082929 5S 363 + 48082886 48082929 0 1 43 0 +chrX 48094787 48094887 5S 517 - 48094787 48094887 0 1 100 0 +chrX 48420548 48420630 5S 581 - 48420548 48420630 0 1 82 0 +chrX 48493261 48493303 5S 288 + 48493261 48493303 0 1 42 0 +chrX 50545675 50545733 5S 328 - 50545675 50545733 0 1 58 0 +chrX 52694280 52694371 5S 568 + 52694280 52694371 0 1 91 0 +chrX 53773054 53773103 5S 299 - 53773054 53773103 0 1 49 0 +chrX 53935487 53935597 5S 649 + 53935487 53935597 0 1 110 0 +chrX 54403620 54403690 LSU-rRNA_Hsa 406 + 54403620 54403690 0 1 70 0 +chrX 55288039 55288080 5S 268 - 55288039 55288080 0 1 41 0 +chrX 57789060 57789110 5S 347 - 57789060 57789110 0 1 50 0 +chrX 63360949 63360991 5S 287 + 63360949 63360991 0 1 42 0 +chrX 68892322 68892443 5S 1036 + 68892322 68892443 0 1 121 0 +chrX 69472892 69472980 5S 701 + 69472892 69472980 0 1 88 0 +chrX 70654814 70654855 5S 243 + 70654814 70654855 0 1 41 0 +chrX 73576006 73576044 5S 230 - 73576006 73576044 0 1 38 0 +chrX 75875438 75875528 5S 668 - 75875438 75875528 0 1 90 0 +chrX 76287129 76287250 5S 855 + 76287129 76287250 0 1 121 0 +chrX 77092696 77092734 5S 290 + 77092696 77092734 0 1 38 0 +chrX 80649907 80649949 5S 310 - 80649907 80649949 0 1 42 0 +chrX 84565079 84565156 5S 571 - 84565079 84565156 0 1 77 0 +chrX 88083253 88083341 LSU-rRNA_Hsa 355 + 88083253 88083341 0 1 88 0 +chrX 88735757 88735818 LSU-rRNA_Hsa 395 + 88735757 88735818 0 1 61 0 +chrX 88735818 88735906 LSU-rRNA_Hsa 718 + 88735818 88735906 0 1 88 0 +chrX 88735900 88735943 LSU-rRNA_Hsa 319 + 88735900 88735943 0 1 43 0 +chrX 94837062 94837152 5S 671 + 94837062 94837152 0 1 90 0 +chrX 96403595 96403673 5S 425 + 96403595 96403673 0 1 78 0 +chrX 96772866 96773065 LSU-rRNA_Hsa 766 + 96772866 96773065 0 1 199 0 +chrX 96773062 96773262 LSU-rRNA_Hsa 668 + 96773062 96773262 0 1 200 0 +chrX 98153086 98153123 5S 247 - 98153086 98153123 0 1 37 0 +chrX 101558218 101558257 5S 286 + 101558218 101558257 0 1 39 0 +chrX 101638739 101638778 5S 286 - 101638739 101638778 0 1 39 0 +chrX 102383346 102383381 5S 245 + 102383346 102383381 0 1 35 0 +chrX 103105751 103105841 5S 672 - 103105751 103105841 0 1 90 0 +chrX 105184139 105184180 5S 289 - 105184139 105184180 0 1 41 0 +chrX 106835549 106835588 5S 247 + 106835549 106835588 0 1 39 0 +chrX 106962550 106962592 5S 321 + 106962550 106962592 0 1 42 0 +chrX 108297348 108297830 LSU-rRNA_Hsa 4045 + 108297348 108297830 0 1 482 0 +chrX 110913055 110913176 5S 799 - 110913055 110913176 0 1 121 0 +chrX 113377507 113377557 5S 364 - 113377507 113377557 0 1 50 0 +chrX 115521101 115521246 LSU-rRNA_Hsa 238 + 115521101 115521246 0 1 145 0 +chrX 116134849 116134890 5S 266 - 116134849 116134890 0 1 41 0 +chrX 117333911 117334190 SSU-rRNA_Hsa 999 - 117333911 117334190 0 1 279 0 +chrX 122388041 122388084 5S 235 + 122388041 122388084 0 1 43 0 +chrX 123197331 123197374 5S 303 - 123197331 123197374 0 1 43 0 +chrX 123685042 123685081 5S 251 - 123685042 123685081 0 1 39 0 +chrX 128570507 128570624 5S 895 - 128570507 128570624 0 1 117 0 +chrX 128733731 128733773 5S 269 - 128733731 128733773 0 1 42 0 +chrX 128896278 128896320 5S 339 - 128896278 128896320 0 1 42 0 +chrX 131072894 131072983 5S 586 - 131072894 131072983 0 1 89 0 +chrX 133660310 133660450 LSU-rRNA_Hsa 840 - 133660310 133660450 0 1 140 0 +chrX 134108836 134108891 LSU-rRNA_Hsa 225 - 134108836 134108891 0 1 55 0 +chrX 134562090 134562209 5S 857 - 134562090 134562209 0 1 119 0 +chrX 139858392 139858607 LSU-rRNA_Hsa 1413 + 139858392 139858607 0 1 215 0 +chrX 141498838 141498959 5S 839 + 141498838 141498959 0 1 121 0 +chrX 145509000 145509090 5S 634 - 145509000 145509090 0 1 90 0 +chrX 147089618 147089734 5S 679 - 147089618 147089734 0 1 116 0 +chrX 150194788 150194876 5S 619 - 150194788 150194876 0 1 88 0 +chrY 1369146 1369257 5S 525 - 1369146 1369257 0 1 111 0 +chrY 3004989 3005050 LSU-rRNA_Hsa 396 + 3004989 3005050 0 1 61 0 +chrY 3005050 3005141 LSU-rRNA_Hsa 733 + 3005050 3005141 0 1 91 0 +chrY 3005132 3005175 LSU-rRNA_Hsa 283 + 3005132 3005175 0 1 43 0 +chrY 9928016 9928136 5S 806 - 9928016 9928136 0 1 120 0 +chrY 9930481 9930602 5S 681 - 9930481 9930602 0 1 121 0 +chrY 10034864 10036712 SSU-rRNA_Hsa 14100 + 10034864 10036712 0 1 1848 0 +chrY 19669743 19669858 5S 714 + 19669743 19669858 0 1 115 0 +chrY 19671653 19671771 5S 648 + 19671653 19671771 0 1 118 0 +chrY 19691913 19692439 LSU-rRNA_Hsa 2494 - 19691913 19692439 0 1 526 0 +chrY 19692437 19692524 LSU-rRNA_Hsa 436 - 19692437 19692524 0 1 87 0 +chrY 20487248 20487335 LSU-rRNA_Hsa 468 + 20487248 20487335 0 1 87 0 +chrY 20487333 20487859 LSU-rRNA_Hsa 2706 + 20487333 20487859 0 1 526 0 +chrY 20508006 20508124 5S 624 - 20508006 20508124 0 1 118 0 +chrY 20509918 20510033 5S 690 - 20509918 20510033 0 1 115 0 +chrY 22682756 22682804 5S 250 + 22682756 22682804 0 1 48 0 +chr10 200793 200880 5S 614 - 200793 200880 0 1 87 0 +chr10 327975 328065 5S 817 - 327975 328065 0 1 90 0 +chr10 4176714 4176756 5S 272 - 4176714 4176756 0 1 42 0 +chr10 5341746 5341873 LSU-rRNA_Hsa 799 - 5341746 5341873 0 1 127 0 +chr10 5942280 5942322 5S 313 - 5942280 5942322 0 1 42 0 +chr10 8698678 8698794 5S 631 - 8698678 8698794 0 1 116 0 +chr10 9206289 9206370 LSU-rRNA_Hsa 554 + 9206289 9206370 0 1 81 0 +chr10 10365946 10365987 5S 315 - 10365946 10365987 0 1 41 0 +chr10 10366002 10366043 5S 250 - 10366002 10366043 0 1 41 0 +chr10 12966697 12966784 5S 573 - 12966697 12966784 0 1 87 0 +chr10 13769795 13769885 5S 651 + 13769795 13769885 0 1 90 0 +chr10 14705403 14705493 5S 730 - 14705403 14705493 0 1 90 0 +chr10 18907897 18907948 5S 338 + 18907897 18907948 0 1 51 0 +chr10 19922610 19922732 5S 593 - 19922610 19922732 0 1 122 0 +chr10 21454525 21454564 5S 298 + 21454525 21454564 0 1 39 0 +chr10 23286209 23286280 5S 433 + 23286209 23286280 0 1 71 0 +chr10 24157019 24157067 5S 379 + 24157019 24157067 0 1 48 0 +chr10 24929094 24929215 5S 814 + 24929094 24929215 0 1 121 0 +chr10 26102737 26102846 5S 622 - 26102737 26102846 0 1 109 0 +chr10 26798522 26798615 5S 523 + 26798522 26798615 0 1 93 0 +chr10 29163320 29163419 5S 718 - 29163320 29163419 0 1 99 0 +chr10 31103813 31103855 5S 246 - 31103813 31103855 0 1 42 0 +chr10 31548527 31548617 5S 459 + 31548527 31548617 0 1 90 0 +chr10 31828324 31828373 5S 321 + 31828324 31828373 0 1 49 0 +chr10 32122000 32122053 LSU-rRNA_Hsa 353 - 32122000 32122053 0 1 53 0 +chr10 32699246 32699626 LSU-rRNA_Hsa 1701 - 32699246 32699626 0 1 380 0 +chr10 35370876 35370941 LSU-rRNA_Hsa 261 - 35370876 35370941 0 1 65 0 +chr10 38123895 38123948 LSU-rRNA_Hsa 420 + 38123895 38123948 0 1 53 0 +chr10 46351767 46351870 5S 252 + 46351767 46351870 0 1 103 0 +chr10 46742028 46742143 5S 270 + 46742028 46742143 0 1 115 0 +chr10 47222341 47222456 5S 245 + 47222341 47222456 0 1 115 0 +chr10 48206894 48207009 5S 245 - 48206894 48207009 0 1 115 0 +chr10 48931789 48931904 5S 270 + 48931789 48931904 0 1 115 0 +chr10 50911036 50911419 LSU-rRNA_Hsa 2563 - 50911036 50911419 0 1 383 0 +chr10 51255392 51255495 5S 254 + 51255392 51255495 0 1 103 0 +chr10 51739424 51739539 5S 270 - 51739424 51739539 0 1 115 0 +chr10 55217947 55218035 5S 462 + 55217947 55218035 0 1 88 0 +chr10 55643222 55643351 LSU-rRNA_Hsa 496 - 55643222 55643351 0 1 129 0 +chr10 55654117 55654162 5S 334 - 55654117 55654162 0 1 45 0 +chr10 55934991 55935033 5S 256 + 55934991 55935033 0 1 42 0 +chr10 57359616 57359764 LSU-rRNA_Hsa 242 + 57359616 57359764 0 1 148 0 +chr10 61447835 61448128 LSU-rRNA_Hsa 1380 - 61447835 61448128 0 1 293 0 +chr10 61679154 61679233 5S 327 + 61679154 61679233 0 1 79 0 +chr10 62277181 62277222 5S 264 + 62277181 62277222 0 1 41 0 +chr10 66572202 66572244 5S 229 - 66572202 66572244 0 1 42 0 +chr10 68805210 68805496 LSU-rRNA_Hsa 1631 - 68805210 68805496 0 1 286 0 +chr10 70221163 70221283 5S 828 + 70221163 70221283 0 1 120 0 +chr10 70770154 70770289 LSU-rRNA_Hsa 778 - 70770154 70770289 0 1 135 0 +chr10 75466254 75466373 5S 258 + 75466254 75466373 0 1 119 0 +chr10 75986832 75986898 LSU-rRNA_Hsa 414 + 75986832 75986898 0 1 66 0 +chr10 79346807 79346896 5S 597 + 79346807 79346896 0 1 89 0 +chr10 79729671 79729756 LSU-rRNA_Hsa 497 - 79729671 79729756 0 1 85 0 +chr10 87812204 87812325 5S 830 + 87812204 87812325 0 1 121 0 +chr10 91637246 91637275 LSU-rRNA_Hsa 225 + 91637246 91637275 0 1 29 0 +chr10 91973233 91973275 5S 286 + 91973233 91973275 0 1 42 0 +chr10 92445898 92445940 5S 303 - 92445898 92445940 0 1 42 0 +chr10 95062946 95063031 5S 589 + 95062946 95063031 0 1 85 0 +chr10 95270347 95270437 5S 688 - 95270347 95270437 0 1 90 0 +chr10 95952619 95952669 5S 314 + 95952619 95952669 0 1 50 0 +chr10 98379132 98379232 5S 613 + 98379132 98379232 0 1 100 0 +chr10 101198811 101198878 LSU-rRNA_Hsa 483 + 101198811 101198878 0 1 67 0 +chr10 106406524 106406609 LSU-rRNA_Hsa 365 + 106406524 106406609 0 1 85 0 +chr10 108729779 108729868 5S 696 + 108729779 108729868 0 1 89 0 +chr10 109105514 109105549 5S 252 + 109105514 109105549 0 1 35 0 +chr10 109221318 109221407 5S 618 + 109221318 109221407 0 1 89 0 +chr10 112520899 112520989 5S 626 + 112520899 112520989 0 1 90 0 +chr10 120050213 120050254 5S 327 - 120050213 120050254 0 1 41 0 +chr10 122289205 122289270 LSU-rRNA_Hsa 429 + 122289205 122289270 0 1 65 0 +chr10 123576308 123576350 5S 241 + 123576308 123576350 0 1 42 0 +chr10 124717099 124717141 5S 264 + 124717099 124717141 0 1 42 0 +chr10 127311180 127311235 5S 365 - 127311180 127311235 0 1 55 0 +chr10 127834061 127834151 5S 556 - 127834061 127834151 0 1 90 0 +chr10 128263382 128263451 5S 322 + 128263382 128263451 0 1 69 0 +chr11 6038225 6038342 5S 862 + 6038225 6038342 0 1 117 0 +chr11 8739123 8739166 5S 361 - 8739123 8739166 0 1 43 0 +chr11 9230778 9230821 5S 276 + 9230778 9230821 0 1 43 0 +chr11 10529667 10529842 LSU-rRNA_Hsa 262 - 10529667 10529842 0 1 175 0 +chr11 10924426 10924468 5S 333 - 10924426 10924468 0 1 42 0 +chr11 13285470 13285642 SSU-rRNA_Hsa 897 + 13285470 13285642 0 1 172 0 +chr11 13639650 13639737 5S 575 + 13639650 13639737 0 1 87 0 +chr11 13929047 13929136 5S 694 - 13929047 13929136 0 1 89 0 +chr11 14156531 14156626 5S 719 + 14156531 14156626 0 1 95 0 +chr11 18269933 18270050 5S 725 - 18269933 18270050 0 1 117 0 +chr11 18287942 18288059 5S 725 + 18287942 18288059 0 1 117 0 +chr11 18770707 18770826 LSU-rRNA_Hsa 613 - 18770707 18770826 0 1 119 0 +chr11 19423438 19423528 5S 798 - 19423438 19423528 0 1 90 0 +chr11 21022385 21022426 5S 276 - 21022385 21022426 0 1 41 0 +chr11 21022426 21022511 5S 670 - 21022426 21022511 0 1 85 0 +chr11 21318775 21318815 5S 228 - 21318775 21318815 0 1 40 0 +chr11 21405350 21405455 5S 545 - 21405350 21405455 0 1 105 0 +chr11 22502384 22502526 LSU-rRNA_Hsa 467 + 22502384 22502526 0 1 142 0 +chr11 22709896 22709986 5S 652 + 22709896 22709986 0 1 90 0 +chr11 27129278 27129356 5S 427 - 27129278 27129356 0 1 78 0 +chr11 27543183 27543272 5S 601 - 27543183 27543272 0 1 89 0 +chr11 29053258 29053297 5S 277 + 29053258 29053297 0 1 39 0 +chr11 31621435 31621485 5S 357 - 31621435 31621485 0 1 50 0 +chr11 32185731 32185772 5S 325 + 32185731 32185772 0 1 41 0 +chr11 33285921 33285981 5S 349 - 33285921 33285981 0 1 60 0 +chr11 38785182 38785223 5S 229 + 38785182 38785223 0 1 41 0 +chr11 40282768 40282799 LSU-rRNA_Hsa 231 + 40282768 40282799 0 1 31 0 +chr11 47825843 47825953 5S 529 - 47825843 47825953 0 1 110 0 +chr11 48499423 48499498 5S 356 + 48499423 48499498 0 1 75 0 +chr11 49447711 49447761 5S 319 - 49447711 49447761 0 1 50 0 +chr11 49957299 49957375 5S 297 - 49957299 49957375 0 1 76 0 +chr11 51470427 51470502 5S 324 - 51470427 51470502 0 1 75 0 +chr11 57217655 57217742 5S 564 + 57217655 57217742 0 1 87 0 +chr11 57587124 57587168 5S 341 - 57587124 57587168 0 1 44 0 +chr11 64273960 64274014 5S 304 - 64273960 64274014 0 1 54 0 +chr11 67999042 67999437 LSU-rRNA_Hsa 1284 - 67999042 67999437 0 1 395 0 +chr11 68571596 68571685 5S 607 + 68571596 68571685 0 1 89 0 +chr11 71556254 71556305 5S 298 - 71556254 71556305 0 1 51 0 +chr11 72913399 72913516 5S 254 + 72913399 72913516 0 1 117 0 +chr11 73503098 73503365 LSU-rRNA_Hsa 605 + 73503098 73503365 0 1 267 0 +chr11 73909809 73909899 5S 723 - 73909809 73909899 0 1 90 0 +chr11 75645976 75646064 5S 557 + 75645976 75646064 0 1 88 0 +chr11 75858509 75858684 LSU-rRNA_Hsa 462 + 75858509 75858684 0 1 175 0 +chr11 77597473 77597831 LSU-rRNA_Hsa 2871 + 77597473 77597831 0 1 358 0 +chr11 82815952 82816035 LSU-rRNA_Hsa 542 + 82815952 82816035 0 1 83 0 +chr11 84792605 84792796 SSU-rRNA_Hsa 1108 - 84792605 84792796 0 1 191 0 +chr11 84792780 84792846 SSU-rRNA_Hsa 335 - 84792780 84792846 0 1 66 0 +chr11 85195011 85195307 LSU-rRNA_Hsa 2173 + 85195011 85195307 0 1 296 0 +chr11 85746312 85746437 LSU-rRNA_Hsa 257 - 85746312 85746437 0 1 125 0 +chr11 85755321 85755619 LSU-rRNA_Hsa 531 - 85755321 85755619 0 1 298 0 +chr11 86246362 86246512 SSU-rRNA_Hsa 436 + 86246362 86246512 0 1 150 0 +chr11 86478534 86478575 5S 271 - 86478534 86478575 0 1 41 0 +chr11 87864737 87864814 5S 341 + 87864737 87864814 0 1 77 0 +chr11 89007516 89007566 5S 321 + 89007516 89007566 0 1 50 0 +chr11 94453232 94453365 LSU-rRNA_Hsa 301 + 94453232 94453365 0 1 133 0 +chr11 95257209 95257298 5S 614 - 95257209 95257298 0 1 89 0 +chr11 95573200 95573287 5S 618 - 95573200 95573287 0 1 87 0 +chr11 97528463 97528584 5S 773 + 97528463 97528584 0 1 121 0 +chr11 99219886 99219928 5S 272 + 99219886 99219928 0 1 42 0 +chr11 101928584 101928646 5S 393 + 101928584 101928646 0 1 62 0 +chr11 101928648 101928728 5S 437 + 101928648 101928728 0 1 80 0 +chr11 102270296 102270351 5S 282 + 102270296 102270351 0 1 55 0 +chr11 103279643 103279808 LSU-rRNA_Hsa 270 - 103279643 103279808 0 1 165 0 +chr11 104123310 104123377 5S 548 + 104123310 104123377 0 1 67 0 +chr11 105265687 105265729 5S 264 + 105265687 105265729 0 1 42 0 +chr11 106201703 106201745 5S 243 - 106201703 106201745 0 1 42 0 +chr11 108991602 108991713 5S 744 - 108991602 108991713 0 1 111 0 +chr11 110022143 110022185 5S 256 - 110022143 110022185 0 1 42 0 +chr11 110910843 110910932 5S 673 - 110910843 110910932 0 1 89 0 +chr11 111691907 111692111 LSU-rRNA_Hsa 1042 - 111691907 111692111 0 1 204 0 +chr11 111692115 111692362 LSU-rRNA_Hsa 1833 - 111692115 111692362 0 1 247 0 +chr11 111692656 111692748 LSU-rRNA_Hsa 1833 - 111692656 111692748 0 1 92 0 +chr11 111799127 111799202 5S 578 + 111799127 111799202 0 1 75 0 +chr11 113297896 113297939 5S 249 + 113297896 113297939 0 1 43 0 +chr11 124506354 124506444 5S 788 + 124506354 124506444 0 1 90 0 +chr11 125023196 125023237 5S 282 - 125023196 125023237 0 1 41 0 +chr11 128604168 128604249 5S 378 + 128604168 128604249 0 1 81 0 +chr11 129159798 129159883 5S 606 + 129159798 129159883 0 1 85 0 +chr11 129278797 129279018 LSU-rRNA_Hsa 303 + 129278797 129279018 0 1 221 0 +chr12 10104432 10104478 5S 240 + 10104432 10104478 0 1 46 0 +chr12 11714804 11714846 5S 269 + 11714804 11714846 0 1 42 0 +chr12 12490899 12490940 5S 320 - 12490899 12490940 0 1 41 0 +chr12 13199085 13199175 5S 815 + 13199085 13199175 0 1 90 0 +chr12 13440666 13440713 5S 387 - 13440666 13440713 0 1 47 0 +chr12 13593843 13593935 5S 691 - 13593843 13593935 0 1 92 0 +chr12 17219717 17219795 5S 424 - 17219717 17219795 0 1 78 0 +chr12 17220157 17220174 5S 424 - 17220157 17220174 0 1 17 0 +chr12 18511178 18511316 LSU-rRNA_Hsa 852 - 18511178 18511316 0 1 138 0 +chr12 18511327 18511391 LSU-rRNA_Hsa 315 - 18511327 18511391 0 1 64 0 +chr12 19926144 19926303 LSU-rRNA_Hsa 364 + 19926144 19926303 0 1 159 0 +chr12 20704357 20704522 SSU-rRNA_Hsa 1355 + 20704357 20704522 0 1 165 0 +chr12 26526583 26526666 5S 596 - 26526583 26526666 0 1 83 0 +chr12 27960715 27960754 5S 304 - 27960715 27960754 0 1 39 0 +chr12 28658326 28658416 5S 751 + 28658326 28658416 0 1 90 0 +chr12 30459367 30459458 5S 621 - 30459367 30459458 0 1 91 0 +chr12 30657032 30657073 5S 287 + 30657032 30657073 0 1 41 0 +chr12 30846809 30846883 5S 323 + 30846809 30846883 0 1 74 0 +chr12 30887692 30887752 SSU-rRNA_Hsa 311 - 30887692 30887752 0 1 60 0 +chr12 31587334 31587375 5S 291 - 31587334 31587375 0 1 41 0 +chr12 32664772 32664822 5S 307 + 32664772 32664822 0 1 50 0 +chr12 34356803 34356856 5S 338 + 34356803 34356856 0 1 53 0 +chr12 34358633 34358754 5S 845 + 34358633 34358754 0 1 121 0 +chr12 34372315 34372605 LSU-rRNA_Hsa 1525 - 34372315 34372605 0 1 290 0 +chr12 34372607 34372741 LSU-rRNA_Hsa 684 - 34372607 34372741 0 1 134 0 +chr12 34372739 34372825 LSU-rRNA_Hsa 423 - 34372739 34372825 0 1 86 0 +chr12 38531376 38531463 LSU-rRNA_Hsa 382 + 38531376 38531463 0 1 87 0 +chr12 38531457 38531930 LSU-rRNA_Hsa 1399 + 38531457 38531930 0 1 473 0 +chr12 38555265 38555384 5S 684 - 38555265 38555384 0 1 119 0 +chr12 38557202 38557317 5S 830 - 38557202 38557317 0 1 115 0 +chr12 40033140 40033207 5S 390 + 40033140 40033207 0 1 67 0 +chr12 42052481 42052567 5S 528 + 42052481 42052567 0 1 86 0 +chr12 44082970 44083025 5S 340 + 44082970 44083025 0 1 55 0 +chr12 45417401 45417451 5S 281 + 45417401 45417451 0 1 50 0 +chr12 45511554 45511672 5S 789 + 45511554 45511672 0 1 118 0 +chr12 46634764 46634806 5S 274 + 46634764 46634806 0 1 42 0 +chr12 48588240 48588308 LSU-rRNA_Hsa 278 + 48588240 48588308 0 1 68 0 +chr12 49071772 49071835 5S 422 + 49071772 49071835 0 1 63 0 +chr12 50637225 50637275 5S 357 + 50637225 50637275 0 1 50 0 +chr12 52579766 52579815 5S 252 + 52579766 52579815 0 1 49 0 +chr12 56590697 56590753 LSU-rRNA_Hsa 234 + 56590697 56590753 0 1 56 0 +chr12 57264352 57264465 LSU-rRNA_Hsa 595 + 57264352 57264465 0 1 113 0 +chr12 57264510 57264552 5S 261 + 57264510 57264552 0 1 42 0 +chr12 60878044 60878080 LSU-rRNA_Hsa 238 - 60878044 60878080 0 1 36 0 +chr12 62787810 62787851 5S 269 + 62787810 62787851 0 1 41 0 +chr12 67766646 67766781 LSU-rRNA_Hsa 594 - 67766646 67766781 0 1 135 0 +chr12 68471365 68471450 5S 250 + 68471365 68471450 0 1 85 0 +chr12 69322838 69322910 LSU-rRNA_Hsa 488 + 69322838 69322910 0 1 72 0 +chr12 70063035 70063099 LSU-rRNA_Hsa 314 - 70063035 70063099 0 1 64 0 +chr12 71936901 71936943 5S 244 - 71936901 71936943 0 1 42 0 +chr12 72129472 72129525 5S 341 - 72129472 72129525 0 1 53 0 +chr12 72228953 72228995 5S 322 - 72228953 72228995 0 1 42 0 +chr12 75347340 75347450 LSU-rRNA_Hsa 632 - 75347340 75347450 0 1 110 0 +chr12 75347475 75347612 LSU-rRNA_Hsa 623 - 75347475 75347612 0 1 137 0 +chr12 75891844 75892084 LSU-rRNA_Hsa 459 + 75891844 75892084 0 1 240 0 +chr12 80272092 80272195 5S 674 - 80272092 80272195 0 1 103 0 +chr12 83458421 83458479 5S 429 - 83458421 83458479 0 1 58 0 +chr12 85562696 85562760 LSU-rRNA_Hsa 453 - 85562696 85562760 0 1 64 0 +chr12 86580980 86581021 5S 228 + 86580980 86581021 0 1 41 0 +chr12 88445470 88445561 5S 453 + 88445470 88445561 0 1 91 0 +chr12 88782327 88782366 5S 236 - 88782327 88782366 0 1 39 0 +chr12 90120710 90120795 5S 617 + 90120710 90120795 0 1 85 0 +chr12 90682698 90682740 5S 272 - 90682698 90682740 0 1 42 0 +chr12 92300685 92300727 5S 296 + 92300685 92300727 0 1 42 0 +chr12 94448738 94448903 LSU-rRNA_Hsa 341 + 94448738 94448903 0 1 165 0 +chr12 94450200 94450285 LSU-rRNA_Hsa 263 + 94450200 94450285 0 1 85 0 +chr12 94724243 94724329 SSU-rRNA_Hsa 355 + 94724243 94724329 0 1 86 0 +chr12 97834005 97834053 5S 291 - 97834005 97834053 0 1 48 0 +chr12 99027724 99027766 5S 327 - 99027724 99027766 0 1 42 0 +chr12 99477593 99477682 5S 679 - 99477593 99477682 0 1 89 0 +chr12 100183536 100183578 5S 250 + 100183536 100183578 0 1 42 0 +chr12 101866117 101866224 5S 467 + 101866117 101866224 0 1 107 0 +chr12 101923907 101923949 5S 244 + 101923907 101923949 0 1 42 0 +chr12 102173591 102173682 5S 773 + 102173591 102173682 0 1 91 0 +chr12 102230595 102230686 5S 640 + 102230595 102230686 0 1 91 0 +chr12 102279095 102279224 LSU-rRNA_Hsa 825 - 102279095 102279224 0 1 129 0 +chr12 104319849 104319959 SSU-rRNA_Hsa 728 - 104319849 104319959 0 1 110 0 +chr12 104519013 104519103 5S 815 + 104519013 104519103 0 1 90 0 +chr12 106126438 106126480 5S 276 - 106126438 106126480 0 1 42 0 +chr12 107665096 107665171 5S 530 - 107665096 107665171 0 1 75 0 +chr12 107880322 107880412 5S 588 - 107880322 107880412 0 1 90 0 +chr12 109497790 109497878 5S 491 + 109497790 109497878 0 1 88 0 +chr12 110058039 110058136 5S 463 - 110058039 110058136 0 1 97 0 +chr12 111777330 111777415 5S 474 + 111777330 111777415 0 1 85 0 +chr12 112168129 112168185 5S 320 + 112168129 112168185 0 1 56 0 +chr12 113166368 113166433 LSU-rRNA_Hsa 273 - 113166368 113166433 0 1 65 0 +chr12 114642865 114642907 5S 240 - 114642865 114642907 0 1 42 0 +chr12 118573638 118573695 LSU-rRNA_Hsa 343 - 118573638 118573695 0 1 57 0 +chr12 119267485 119267575 5S 651 + 119267485 119267575 0 1 90 0 +chr12 123767462 123767580 5S 622 - 123767462 123767580 0 1 118 0 +chr12 127650452 127650987 LSU-rRNA_Hsa 2141 - 127650452 127650987 0 1 535 0 +chr12 131784205 131784296 5S 602 - 131784205 131784296 0 1 91 0 +chr12 132145607 132145698 5S 560 + 132145607 132145698 0 1 91 0 +chr12 132285858 132285971 5S 685 - 132285858 132285971 0 1 113 0 +chr12 133300529 133300642 5S 614 - 133300529 133300642 0 1 113 0 +chr12 133624126 133624211 5S 650 - 133624126 133624211 0 1 85 0 +chr13 32374761 32374799 5S 256 + 32374761 32374799 0 1 38 0 +chr13 19662623 19662715 5S 483 + 19662623 19662715 0 1 92 0 +chr13 21920154 21920196 5S 327 + 21920154 21920196 0 1 42 0 +chr13 21943949 21944036 5S 562 - 21943949 21944036 0 1 87 0 +chr13 22041028 22041069 5S 256 + 22041028 22041069 0 1 41 0 +chr13 28109701 28109743 5S 321 + 28109701 28109743 0 1 42 0 +chr13 28718749 28718788 5S 272 - 28718749 28718788 0 1 39 0 +chr13 35378111 35378160 SSU-rRNA_Hsa 257 - 35378111 35378160 0 1 49 0 +chr13 37372429 37372511 5S 639 - 37372429 37372511 0 1 82 0 +chr13 37438518 37438593 5S 378 - 37438518 37438593 0 1 75 0 +chr13 38429017 38429107 5S 634 - 38429017 38429107 0 1 90 0 +chr13 43409803 43409845 5S 270 + 43409803 43409845 0 1 42 0 +chr13 46125616 46125737 5S 746 - 46125616 46125737 0 1 121 0 +chr13 49339027 49339116 5S 658 + 49339027 49339116 0 1 89 0 +chr13 51387122 51387242 5S 694 - 51387122 51387242 0 1 120 0 +chr13 51601900 51601987 5S 556 - 51601900 51601987 0 1 87 0 +chr13 54365339 54365455 5S 231 - 54365339 54365455 0 1 116 0 +chr13 54596459 54596525 LSU-rRNA_Hsa 337 - 54596459 54596525 0 1 66 0 +chr13 58565483 58565573 5S 683 + 58565483 58565573 0 1 90 0 +chr13 61187741 61187831 5S 470 + 61187741 61187831 0 1 90 0 +chr13 63343041 63343119 5S 367 + 63343041 63343119 0 1 78 0 +chr13 68208612 68208701 LSU-rRNA_Hsa 363 + 68208612 68208701 0 1 89 0 +chr13 68965870 68965961 LSU-rRNA_Hsa 566 + 68965870 68965961 0 1 91 0 +chr13 70598213 70598262 5S 318 - 70598213 70598262 0 1 49 0 +chr13 72552231 72552346 5S 616 + 72552231 72552346 0 1 115 0 +chr13 76138098 76138188 5S 583 - 76138098 76138188 0 1 90 0 +chr13 79963676 79963765 5S 566 - 79963676 79963765 0 1 89 0 +chr13 80655091 80655133 5S 295 - 80655091 80655133 0 1 42 0 +chr13 85257702 85257813 LSU-rRNA_Hsa 618 + 85257702 85257813 0 1 111 0 +chr13 86468163 86468203 5S 237 - 86468163 86468203 0 1 40 0 +chr13 90787999 90788094 5S 553 - 90787999 90788094 0 1 95 0 +chr13 92957222 92957262 5S 293 - 92957222 92957262 0 1 40 0 +chr13 94622265 94622307 5S 263 + 94622265 94622307 0 1 42 0 +chr13 94677762 94677852 5S 605 - 94677762 94677852 0 1 90 0 +chr13 95286500 95286593 LSU-rRNA_Hsa 306 - 95286500 95286593 0 1 93 0 +chr13 95303650 95303765 5S 531 - 95303650 95303765 0 1 115 0 +chr13 96732491 96732581 5S 551 - 96732491 96732581 0 1 90 0 +chr13 98015265 98015355 5S 685 - 98015265 98015355 0 1 90 0 +chr13 98360062 98360104 5S 274 + 98360062 98360104 0 1 42 0 +chr13 102311110 102311221 LSU-rRNA_Hsa 613 + 102311110 102311221 0 1 111 0 +chr13 103060936 103060978 5S 283 + 103060936 103060978 0 1 42 0 +chr13 104850117 104850200 LSU-rRNA_Hsa 310 - 104850117 104850200 0 1 83 0 +chr13 105199268 105199312 5S 269 + 105199268 105199312 0 1 44 0 +chr13 105691585 105691628 5S 273 + 105691585 105691628 0 1 43 0 +chr13 106807749 106807839 5S 615 - 106807749 106807839 0 1 90 0 +chr13 108953589 108953677 5S 555 - 108953589 108953677 0 1 88 0 +chr13 113598641 113598869 SSU-rRNA_Hsa 408 - 113598641 113598869 0 1 228 0 +chr14 20558288 20558368 5S 515 + 20558288 20558368 0 1 80 0 +chr14 20614222 20614314 5S 545 - 20614222 20614314 0 1 92 0 +chr14 20883145 20883235 5S 696 + 20883145 20883235 0 1 90 0 +chr14 22069929 22070018 5S 715 - 22069929 22070018 0 1 89 0 +chr14 22198247 22198313 LSU-rRNA_Hsa 439 - 22198247 22198313 0 1 66 0 +chr14 23986957 23987095 LSU-rRNA_Hsa 779 - 23986957 23987095 0 1 138 0 +chr14 24627811 24627933 5S 786 + 24627811 24627933 0 1 122 0 +chr14 33550349 33550392 5S 318 - 33550349 33550392 0 1 43 0 +chr14 43722995 43723045 LSU-rRNA_Hsa 311 + 43722995 43723045 0 1 50 0 +chr14 45486421 45486547 LSU-rRNA_Hsa 265 + 45486421 45486547 0 1 126 0 +chr14 49480412 49480478 LSU-rRNA_Hsa 236 + 49480412 49480478 0 1 66 0 +chr14 49554430 49554472 5S 346 + 49554430 49554472 0 1 42 0 +chr14 50019350 50019437 5S 562 + 50019350 50019437 0 1 87 0 +chr14 52159469 52159560 5S 634 + 52159469 52159560 0 1 91 0 +chr14 55423374 55423429 LSU-rRNA_Hsa 357 + 55423374 55423429 0 1 55 0 +chr14 56679273 56679413 LSU-rRNA_Hsa 341 - 56679273 56679413 0 1 140 0 +chr14 61089036 61089149 LSU-rRNA_Hsa 275 - 61089036 61089149 0 1 113 0 +chr14 67726943 67727031 5S 701 + 67726943 67727031 0 1 88 0 +chr14 68123819 68123926 5S 619 - 68123819 68123926 0 1 107 0 +chr14 70534100 70534190 5S 505 - 70534100 70534190 0 1 90 0 +chr14 72684648 72684746 LSU-rRNA_Hsa 494 + 72684648 72684746 0 1 98 0 +chr14 73468167 73468209 5S 242 + 73468167 73468209 0 1 42 0 +chr14 75819587 75819627 5S 351 - 75819587 75819627 0 1 40 0 +chr14 76070515 76070605 5S 782 + 76070515 76070605 0 1 90 0 +chr14 76529559 76529601 5S 349 + 76529559 76529601 0 1 42 0 +chr14 77870247 77870336 5S 747 - 77870247 77870336 0 1 89 0 +chr14 78644175 78644264 5S 723 - 78644175 78644264 0 1 89 0 +chr14 81047582 81047601 5S 225 + 81047582 81047601 0 1 19 0 +chr14 88596629 88596850 LSU-rRNA_Hsa 520 + 88596629 88596850 0 1 221 0 +chr14 88596900 88597173 LSU-rRNA_Hsa 343 + 88596900 88597173 0 1 273 0 +chr14 89988577 89988621 5S 279 - 89988577 89988621 0 1 44 0 +chr14 90341370 90341573 SSU-rRNA_Hsa 1620 - 90341370 90341573 0 1 203 0 +chr14 90817381 90817444 5S 316 + 90817381 90817444 0 1 63 0 +chr14 91737033 91737074 SSU-rRNA_Hsa 231 + 91737033 91737074 0 1 41 0 +chr14 92270232 92270316 5S 678 - 92270232 92270316 0 1 84 0 +chr14 92630837 92630879 5S 302 - 92630837 92630879 0 1 42 0 +chr14 97294894 97294936 5S 301 + 97294894 97294936 0 1 42 0 +chr14 100048779 100048821 5S 235 + 100048779 100048821 0 1 42 0 +chr14 103783283 103783373 5S 656 - 103783283 103783373 0 1 90 0 +chr14 105590080 105590122 5S 333 - 105590080 105590122 0 1 42 0 +chr14 107092676 107092766 5S 825 + 107092676 107092766 0 1 90 0 +chr15 20466418 20466459 5S 288 + 20466418 20466459 0 1 41 0 +chr15 23842427 23842478 5S 244 - 23842427 23842478 0 1 51 0 +chr15 25983655 25983735 5S 523 + 25983655 25983735 0 1 80 0 +chr15 27525463 27525582 5S 784 - 27525463 27525582 0 1 119 0 +chr15 27997239 27997544 LSU-rRNA_Hsa 798 + 27997239 27997544 0 1 305 0 +chr15 34340075 34340119 LSU-rRNA_Hsa 256 - 34340075 34340119 0 1 44 0 +chr15 35760565 35760654 SSU-rRNA_Hsa 251 + 35760565 35760654 0 1 89 0 +chr15 40623772 40623849 5S 512 - 40623772 40623849 0 1 77 0 +chr15 42144138 42144227 5S 671 - 42144138 42144227 0 1 89 0 +chr15 45007979 45008022 5S 263 + 45007979 45008022 0 1 43 0 +chr15 45845716 45845802 5S 545 - 45845716 45845802 0 1 86 0 +chr15 46366807 46367317 LSU-rRNA_Hsa 419 - 46366807 46367317 0 1 510 0 +chr15 46367529 46367610 LSU-rRNA_Hsa 376 - 46367529 46367610 0 1 81 0 +chr15 46368204 46368338 LSU-rRNA_Hsa 466 - 46368204 46368338 0 1 134 0 +chr15 46368399 46368706 LSU-rRNA_Hsa 367 - 46368399 46368706 0 1 307 0 +chr15 50274639 50274759 5S 687 + 50274639 50274759 0 1 120 0 +chr15 50755577 50755655 5S 445 + 50755577 50755655 0 1 78 0 +chr15 55578305 55578394 5S 668 + 55578305 55578394 0 1 89 0 +chr15 55655753 55655843 5S 524 + 55655753 55655843 0 1 90 0 +chr15 55950320 55950362 5S 274 - 55950320 55950362 0 1 42 0 +chr15 56724895 56724968 5S 444 - 56724895 56724968 0 1 73 0 +chr15 57686863 57686942 5S 377 - 57686863 57686942 0 1 79 0 +chr15 59203644 59203752 SSU-rRNA_Hsa 702 + 59203644 59203752 0 1 108 0 +chr15 59616545 59616641 LSU-rRNA_Hsa 444 + 59616545 59616641 0 1 96 0 +chr15 59866300 59866421 5S 802 - 59866300 59866421 0 1 121 0 +chr15 61028968 61029057 5S 662 + 61028968 61029057 0 1 89 0 +chr15 61877545 61877585 5S 252 - 61877545 61877585 0 1 40 0 +chr15 62977553 62977594 5S 269 + 62977553 62977594 0 1 41 0 +chr15 63720696 63720735 5S 257 + 63720696 63720735 0 1 39 0 +chr15 64683112 64683154 SSU-rRNA_Hsa 283 - 64683112 64683154 0 1 42 0 +chr15 68959198 68959238 5S 259 - 68959198 68959238 0 1 40 0 +chr15 69659923 69660012 5S 511 + 69659923 69660012 0 1 89 0 +chr15 72150910 72151008 5S 771 + 72150910 72151008 0 1 98 0 +chr15 78691413 78691455 5S 347 + 78691413 78691455 0 1 42 0 +chr15 79789535 79789574 5S 250 + 79789535 79789574 0 1 39 0 +chr15 83259187 83259229 5S 293 - 83259187 83259229 0 1 42 0 +chr15 86681508 86681573 5S 436 - 86681508 86681573 0 1 65 0 +chr15 88362145 88362252 SSU-rRNA_Hsa 360 + 88362145 88362252 0 1 107 0 +chr15 90305870 90305971 5S 568 + 90305870 90305971 0 1 101 0 +chr15 93963509 93963569 5S 517 - 93963509 93963569 0 1 60 0 +chr15 95459021 95459062 5S 233 + 95459021 95459062 0 1 41 0 +chr15 96351986 96352033 5S 277 + 96351986 96352033 0 1 47 0 +chr15 100614305 100614393 5S 600 - 100614305 100614393 0 1 88 0 +chr15 101811261 101811338 LSU-rRNA_Hsa 491 - 101811261 101811338 0 1 77 0 +chr16 9658265 9658354 5S 745 - 9658265 9658354 0 1 89 0 +chr16 9693945 9694041 5S 593 + 9693945 9694041 0 1 96 0 +chr16 13158240 13158276 5S 248 - 13158240 13158276 0 1 36 0 +chr16 14929243 14929273 5S 232 - 14929243 14929273 0 1 30 0 +chr16 15720306 15720381 5S 394 + 15720306 15720381 0 1 75 0 +chr16 17258195 17258245 5S 322 - 17258195 17258245 0 1 50 0 +chr16 18103585 18103627 5S 328 - 18103585 18103627 0 1 42 0 +chr16 18571787 18571817 5S 229 + 18571787 18571817 0 1 30 0 +chr16 19074480 19074520 5S 261 + 19074480 19074520 0 1 40 0 +chr16 21049820 21049862 5S 274 - 21049820 21049862 0 1 42 0 +chr16 23443673 23443819 LSU-rRNA_Hsa 767 + 23443673 23443819 0 1 146 0 +chr16 23761261 23761349 SSU-rRNA_Hsa 555 - 23761261 23761349 0 1 88 0 +chr16 24424194 24424265 LSU-rRNA_Hsa 400 + 24424194 24424265 0 1 71 0 +chr16 26040232 26040322 5S 738 + 26040232 26040322 0 1 90 0 +chr16 28173466 28173533 LSU-rRNA_Hsa 394 + 28173466 28173533 0 1 67 0 +chr16 29327125 29327170 5S 314 + 29327125 29327170 0 1 45 0 +chr16 29941276 29941461 SSU-rRNA_Hsa 1076 - 29941276 29941461 0 1 185 0 +chr16 33392130 33392171 5S 296 - 33392130 33392171 0 1 41 0 +chr16 33962496 33964361 SSU-rRNA_Hsa 14910 + 33962496 33964361 0 1 1865 0 +chr16 34368170 34368209 5S 254 + 34368170 34368209 0 1 39 0 +chr16 34968517 34968621 5S 307 + 34968517 34968621 0 1 104 0 +chr16 34968777 34968874 5S 372 + 34968777 34968874 0 1 97 0 +chr16 34969018 34969121 5S 293 + 34969018 34969121 0 1 103 0 +chr16 34969279 34969355 5S 349 + 34969279 34969355 0 1 76 0 +chr16 34969504 34969608 5S 353 + 34969504 34969608 0 1 104 0 +chr16 34969750 34969854 5S 433 + 34969750 34969854 0 1 104 0 +chr16 34970001 34970106 5S 372 + 34970001 34970106 0 1 105 0 +chr16 34970262 34970357 5S 277 + 34970262 34970357 0 1 95 0 +chr16 34970529 34970602 5S 364 + 34970529 34970602 0 1 73 0 +chr16 34980140 34980218 5S 327 + 34980140 34980218 0 1 78 0 +chr16 34980366 34980470 5S 378 + 34980366 34980470 0 1 104 0 +chr16 34980664 34980742 5S 375 + 34980664 34980742 0 1 78 0 +chr16 34980914 34981017 5S 384 + 34980914 34981017 0 1 103 0 +chr16 34981192 34981267 5S 407 + 34981192 34981267 0 1 75 0 +chr16 34981409 34981513 5S 346 + 34981409 34981513 0 1 104 0 +chr16 34981710 34981775 5S 287 + 34981710 34981775 0 1 65 0 +chr16 34981934 34982012 5S 360 + 34981934 34982012 0 1 78 0 +chr16 34982150 34982254 5S 333 + 34982150 34982254 0 1 104 0 +chr16 34982430 34982510 5S 251 + 34982430 34982510 0 1 80 0 +chr16 34982691 34982766 5S 334 + 34982691 34982766 0 1 75 0 +chr16 34982950 34983028 5S 386 + 34982950 34983028 0 1 78 0 +chr16 34983174 34983278 5S 390 + 34983174 34983278 0 1 104 0 +chr16 34983425 34983529 5S 291 + 34983425 34983529 0 1 104 0 +chr16 34983686 34983780 5S 331 + 34983686 34983780 0 1 94 0 +chr16 34983931 34984034 5S 333 + 34983931 34984034 0 1 103 0 +chr16 34984183 34984286 5S 382 + 34984183 34984286 0 1 103 0 +chr16 34984438 34984541 5S 411 + 34984438 34984541 0 1 103 0 +chr16 34984719 34984792 5S 316 + 34984719 34984792 0 1 73 0 +chr16 34984967 34985045 5S 318 + 34984967 34985045 0 1 78 0 +chr16 34985215 34985295 5S 393 + 34985215 34985295 0 1 80 0 +chr16 34985469 34985544 5S 307 + 34985469 34985544 0 1 75 0 +chr16 34985737 34985807 5S 259 + 34985737 34985807 0 1 70 0 +chr16 34985975 34986057 5S 402 + 34985975 34986057 0 1 82 0 +chr16 34986231 34986308 5S 386 + 34986231 34986308 0 1 77 0 +chr16 34986456 34986559 5S 318 + 34986456 34986559 0 1 103 0 +chr16 34986729 34986809 5S 283 + 34986729 34986809 0 1 80 0 +chr16 34986979 34987057 5S 339 + 34986979 34987057 0 1 78 0 +chr16 34987228 34987308 5S 400 + 34987228 34987308 0 1 80 0 +chr16 34987697 34987799 5S 284 + 34987697 34987799 0 1 102 0 +chr16 34987948 34988051 5S 368 + 34987948 34988051 0 1 103 0 +chr16 34988199 34988303 5S 363 + 34988199 34988303 0 1 104 0 +chr16 34988452 34988555 5S 316 + 34988452 34988555 0 1 103 0 +chr16 34988703 34988807 5S 273 + 34988703 34988807 0 1 104 0 +chr16 34988986 34989061 5S 403 + 34988986 34989061 0 1 75 0 +chr16 34989330 34989402 5S 262 + 34989330 34989402 0 1 72 0 +chr16 34989572 34989658 5S 334 + 34989572 34989658 0 1 86 0 +chr16 47484276 47484372 5S 665 - 47484276 47484372 0 1 96 0 +chr16 47519472 47519518 LSU-rRNA_Hsa 270 + 47519472 47519518 0 1 46 0 +chr16 47538629 47539297 LSU-rRNA_Hsa 3804 + 47538629 47539297 0 1 668 0 +chr16 47539342 47539430 5S 589 + 47539342 47539430 0 1 88 0 +chr16 48934358 48934400 5S 295 - 48934358 48934400 0 1 42 0 +chr16 50159790 50159852 LSU-rRNA_Hsa 343 - 50159790 50159852 0 1 62 0 +chr16 50903364 50903478 5S 750 - 50903364 50903478 0 1 114 0 +chr16 53371364 53371484 5S 833 + 53371364 53371484 0 1 120 0 +chr16 55758635 55758833 LSU-rRNA_Hsa 344 + 55758635 55758833 0 1 198 0 +chr16 55789820 55789974 LSU-rRNA_Hsa 330 + 55789820 55789974 0 1 154 0 +chr16 55871465 55871650 LSU-rRNA_Hsa 378 - 55871465 55871650 0 1 185 0 +chr16 55875367 55875655 LSU-rRNA_Hsa 596 + 55875367 55875655 0 1 288 0 +chr16 57839543 57839585 5S 269 - 57839543 57839585 0 1 42 0 +chr16 58201281 58201322 5S 308 - 58201281 58201322 0 1 41 0 +chr16 59528153 59528195 5S 253 + 59528153 59528195 0 1 42 0 +chr16 59765258 59765347 5S 744 + 59765258 59765347 0 1 89 0 +chr16 66335711 66335801 5S 760 + 66335711 66335801 0 1 90 0 +chr16 68776381 68776476 5S 731 + 68776381 68776476 0 1 95 0 +chr16 68971728 68971767 5S 256 - 68971728 68971767 0 1 39 0 +chr16 69536817 69536856 5S 514 + 69536817 69536856 0 1 39 0 +chr16 69537146 69537213 5S 514 + 69537146 69537213 0 1 67 0 +chr16 73737987 73738029 5S 332 - 73737987 73738029 0 1 42 0 +chr16 75894943 75895055 5S 641 - 75894943 75895055 0 1 112 0 +chr16 76778887 76778923 5S 270 - 76778887 76778923 0 1 36 0 +chr16 79298350 79298442 5S 681 + 79298350 79298442 0 1 92 0 +chr16 80388720 80388762 5S 279 + 80388720 80388762 0 1 42 0 +chr16 81901992 81902316 LSU-rRNA_Hsa 1832 - 81901992 81902316 0 1 324 0 +chr16 84073550 84073641 5S 668 - 84073550 84073641 0 1 91 0 +chr16 84296442 84296534 5S 673 - 84296442 84296534 0 1 92 0 +chr16 88055914 88055959 5S 311 + 88055914 88055959 0 1 45 0 +chr17 2092238 2092280 5S 338 + 2092238 2092280 0 1 42 0 +chr17 3960098 3960168 5S 299 - 3960098 3960168 0 1 70 0 +chr17 6504281 6504371 5S 770 - 6504281 6504371 0 1 90 0 +chr17 6890783 6890877 5S 640 + 6890783 6890877 0 1 94 0 +chr17 9845155 9845197 5S 250 + 9845155 9845197 0 1 42 0 +chr17 10789615 10789700 5S 659 - 10789615 10789700 0 1 85 0 +chr17 15611350 15611391 LSU-rRNA_Hsa 250 + 15611350 15611391 0 1 41 0 +chr17 15685655 15685729 5S 504 + 15685655 15685729 0 1 74 0 +chr17 19355538 19356096 LSU-rRNA_Hsa 1949 + 19355538 19356096 0 1 558 0 +chr17 19356672 19356747 LSU-rRNA_Hsa 368 + 19356672 19356747 0 1 75 0 +chr17 19356745 19356850 LSU-rRNA_Hsa 344 + 19356745 19356850 0 1 105 0 +chr17 19356936 19357097 LSU-rRNA_Hsa 600 + 19356936 19357097 0 1 161 0 +chr17 19901006 19901089 5S 611 + 19901006 19901089 0 1 83 0 +chr17 22023344 22023500 LSU-rRNA_Hsa 226 + 22023344 22023500 0 1 156 0 +chr17 28909257 28909340 5S 592 + 28909257 28909340 0 1 83 0 +chr17 29606328 29606370 5S 276 + 29606328 29606370 0 1 42 0 +chr17 30290872 30290952 5S 513 - 30290872 30290952 0 1 80 0 +chr17 30919112 30919237 LSU-rRNA_Hsa 813 - 30919112 30919237 0 1 125 0 +chr17 32447099 32447187 5S 514 - 32447099 32447187 0 1 88 0 +chr17 32820399 32820532 LSU-rRNA_Hsa 304 + 32820399 32820532 0 1 133 0 +chr17 33478114 33478275 LSU-rRNA_Hsa 1273 - 33478114 33478275 0 1 161 0 +chr17 33478275 33478372 LSU-rRNA_Hsa 670 - 33478275 33478372 0 1 97 0 +chr17 34847075 34847166 5S 498 - 34847075 34847166 0 1 91 0 +chr17 36300286 36300335 5S 336 - 36300286 36300335 0 1 49 0 +chr17 36888052 36888173 5S 1010 - 36888052 36888173 0 1 121 0 +chr17 38383641 38383708 LSU-rRNA_Hsa 467 + 38383641 38383708 0 1 67 0 +chr17 38530341 38530409 5S 384 + 38530341 38530409 0 1 68 0 +chr17 39874405 39874495 5S 698 + 39874405 39874495 0 1 90 0 +chr17 42673610 42673649 LSU-rRNA_Hsa 272 + 42673610 42673649 0 1 39 0 +chr17 43404773 43404863 5S 692 - 43404773 43404863 0 1 90 0 +chr17 43635020 43635062 5S 329 - 43635020 43635062 0 1 42 0 +chr17 44017647 44017689 5S 247 + 44017647 44017689 0 1 42 0 +chr17 44582718 44582760 5S 311 + 44582718 44582760 0 1 42 0 +chr17 47693433 47693475 5S 298 + 47693433 47693475 0 1 42 0 +chr17 50979465 50979505 5S 258 + 50979465 50979505 0 1 40 0 +chr17 53056945 53056987 5S 308 + 53056945 53056987 0 1 42 0 +chr17 55369202 55369244 5S 333 + 55369202 55369244 0 1 42 0 +chr17 55868618 55868752 LSU-rRNA_Hsa 952 - 55868618 55868752 0 1 134 0 +chr17 56804099 56804142 5S 313 - 56804099 56804142 0 1 43 0 +chr17 57007389 57007431 5S 302 + 57007389 57007431 0 1 42 0 +chr17 58080072 58080121 5S 319 + 58080072 58080121 0 1 49 0 +chr17 58117390 58117478 LSU-rRNA_Hsa 239 + 58117390 58117478 0 1 88 0 +chr17 58117741 58117829 LSU-rRNA_Hsa 284 - 58117741 58117829 0 1 88 0 +chr17 58457576 58457625 5S 318 + 58457576 58457625 0 1 49 0 +chr17 60502545 60502623 LSU-rRNA_Hsa 402 - 60502545 60502623 0 1 78 0 +chr17 61706867 61706923 LSU-rRNA_Hsa 420 + 61706867 61706923 0 1 56 0 +chr17 62106847 62106884 5S 234 + 62106847 62106884 0 1 37 0 +chr17 62900683 62900725 5S 329 - 62900683 62900725 0 1 42 0 +chr17 64263860 64263949 5S 607 + 64263860 64263949 0 1 89 0 +chr17 64635386 64635465 5S 526 + 64635386 64635465 0 1 79 0 +chr17 64891609 64891687 5S 322 + 64891609 64891687 0 1 78 0 +chr17 65264225 65264345 5S 683 + 65264225 65264345 0 1 120 0 +chr17 69003154 69003222 5S 454 - 69003154 69003222 0 1 68 0 +chr17 70863796 70863886 LSU-rRNA_Hsa 283 + 70863796 70863886 0 1 90 0 +chr17 71183663 71183713 LSU-rRNA_Hsa 243 - 71183663 71183713 0 1 50 0 +chr17 72413752 72413843 5S 724 - 72413752 72413843 0 1 91 0 +chr17 75158031 75158389 LSU-rRNA_Hsa 2011 - 75158031 75158389 0 1 358 0 +chr18 9844756 9844826 5S 534 - 9844756 9844826 0 1 70 0 +chr18 9923915 9923999 5S 612 + 9923915 9923999 0 1 84 0 +chr18 13407509 13407554 5S 262 + 13407509 13407554 0 1 45 0 +chr18 19508948 19509055 5S 532 - 19508948 19509055 0 1 107 0 +chr18 19856796 19856861 LSU-rRNA_Hsa 443 - 19856796 19856861 0 1 65 0 +chr18 19872248 19872290 5S 344 - 19872248 19872290 0 1 42 0 +chr18 21191673 21191827 LSU-rRNA_Hsa 1095 + 21191673 21191827 0 1 154 0 +chr18 21750466 21750587 5S 906 - 21750466 21750587 0 1 121 0 +chr18 21868883 21868956 5S 506 + 21868883 21868956 0 1 73 0 +chr18 29348701 29348779 LSU-rRNA_Hsa 291 - 29348701 29348779 0 1 78 0 +chr18 29756010 29756130 5S 723 - 29756010 29756130 0 1 120 0 +chr18 36530250 36530358 LSU-rRNA_Hsa 564 - 36530250 36530358 0 1 108 0 +chr18 39850553 39850643 5S 487 + 39850553 39850643 0 1 90 0 +chr18 41651547 41651667 5S 842 + 41651547 41651667 0 1 120 0 +chr18 43516369 43516411 LSU-rRNA_Hsa 240 + 43516369 43516411 0 1 42 0 +chr18 46001883 46001971 5S 583 - 46001883 46001971 0 1 88 0 +chr18 46259319 46259362 5S 293 - 46259319 46259362 0 1 43 0 +chr18 47472670 47472758 5S 680 - 47472670 47472758 0 1 88 0 +chr18 47479435 47479473 5S 242 - 47479435 47479473 0 1 38 0 +chr18 47845373 47845466 5S 487 + 47845373 47845466 0 1 93 0 +chr18 48287957 48288132 LSU-rRNA_Hsa 322 - 48287957 48288132 0 1 175 0 +chr18 52813795 52813876 5S 400 - 52813795 52813876 0 1 81 0 +chr18 54460379 54460421 5S 302 + 54460379 54460421 0 1 42 0 +chr18 57379953 57379994 5S 289 - 57379953 57379994 0 1 41 0 +chr18 58715935 58716021 LSU-rRNA_Hsa 251 - 58715935 58716021 0 1 86 0 +chr18 63142748 63142836 5S 512 + 63142748 63142836 0 1 88 0 +chr18 63212159 63212201 5S 297 - 63212159 63212201 0 1 42 0 +chr18 67339199 67339241 5S 275 + 67339199 67339241 0 1 42 0 +chr18 70419230 70419285 5S 393 + 70419230 70419285 0 1 55 0 +chr18 72244399 72244658 LSU-rRNA_Hsa 639 - 72244399 72244658 0 1 259 0 +chr18 72245076 72245117 5S 319 + 72245076 72245117 0 1 41 0 +chr18 75575443 75575523 5S 366 - 75575443 75575523 0 1 80 0 +chr18 77772846 77773065 LSU-rRNA_Hsa 1581 + 77772846 77773065 0 1 219 0 +chr19 453135 453224 5S 462 + 453135 453224 0 1 89 0 +chr19 7951860 7951980 5S 870 - 7951860 7951980 0 1 120 0 +chr19 10778407 10778561 LSU-rRNA_Hsa 780 + 10778407 10778561 0 1 154 0 +chr19 12107629 12107733 5S 532 + 12107629 12107733 0 1 104 0 +chr19 12138726 12138836 5S 485 - 12138726 12138836 0 1 110 0 +chr19 12180984 12181087 5S 438 + 12180984 12181087 0 1 103 0 +chr19 12217314 12217431 5S 436 + 12217314 12217431 0 1 117 0 +chr19 12261920 12262002 5S 332 - 12261920 12262002 0 1 82 0 +chr19 18082834 18082881 5S 320 + 18082834 18082881 0 1 47 0 +chr19 19818692 19818767 5S 326 + 19818692 19818767 0 1 75 0 +chr19 21295931 21296041 5S 640 - 21295931 21296041 0 1 110 0 +chr19 22877614 22877658 SSU-rRNA_Hsa 327 - 22877614 22877658 0 1 44 0 +chr19 22877654 22877696 SSU-rRNA_Hsa 350 - 22877654 22877696 0 1 42 0 +chr19 24182398 24182565 LSU-rRNA_Hsa 1157 - 24182398 24182565 0 1 167 0 +chr19 24182635 24183468 LSU-rRNA_Hsa 4863 - 24182635 24183468 0 1 833 0 +chr19 24183459 24184250 LSU-rRNA_Hsa 4492 - 24183459 24184250 0 1 791 0 +chr19 24184241 24186210 LSU-rRNA_Hsa 10822 - 24184241 24186210 0 1 1969 0 +chr19 29492573 29492663 5S 517 + 29492573 29492663 0 1 90 0 +chr19 32146299 32146367 5S 440 - 32146299 32146367 0 1 68 0 +chr19 32734868 32734979 5S 809 - 32734868 32734979 0 1 111 0 +chr19 33501932 33501973 5S 292 + 33501932 33501973 0 1 41 0 +chr19 34507782 34507824 5S 336 - 34507782 34507824 0 1 42 0 +chr19 34628205 34628247 5S 288 - 34628205 34628247 0 1 42 0 +chr19 35143448 35143490 5S 310 - 35143448 35143490 0 1 42 0 +chr19 36066505 36066675 LSU-rRNA_Hsa 1406 + 36066505 36066675 0 1 170 0 +chr19 36066690 36066749 LSU-rRNA_Hsa 509 + 36066690 36066749 0 1 59 0 +chr19 42069989 42070190 LSU-rRNA_Hsa 775 - 42069989 42070190 0 1 201 0 +chr19 42070201 42070694 LSU-rRNA_Hsa 3059 - 42070201 42070694 0 1 493 0 +chr19 42070722 42070820 LSU-rRNA_Hsa 3059 - 42070722 42070820 0 1 98 0 +chr19 42070848 42071297 LSU-rRNA_Hsa 1628 - 42070848 42071297 0 1 449 0 +chr19 42071435 42071891 LSU-rRNA_Hsa 729 - 42071435 42071891 0 1 456 0 +chr19 43910305 43911078 LSU-rRNA_Hsa 5272 + 43910305 43911078 0 1 773 0 +chr19 43911248 43911354 LSU-rRNA_Hsa 5272 + 43911248 43911354 0 1 106 0 +chr19 43911665 43912167 LSU-rRNA_Hsa 5272 + 43911665 43912167 0 1 502 0 +chr19 44326047 44326088 5S 242 + 44326047 44326088 0 1 41 0 +chr19 46735611 46736114 LSU-rRNA_Hsa 914 - 46735611 46736114 0 1 503 0 +chr19 47511978 47512019 5S 242 - 47511978 47512019 0 1 41 0 +chr19 49160046 49160136 5S 588 - 49160046 49160136 0 1 90 0 +chr19 51654204 51654248 5S 309 - 51654204 51654248 0 1 44 0 +chr19 52286862 52286922 LSU-rRNA_Hsa 369 + 52286862 52286922 0 1 60 0 +chr19 52333773 52333826 LSU-rRNA_Hsa 247 + 52333773 52333826 0 1 53 0 +chr19 52571511 52571601 5S 632 + 52571511 52571601 0 1 90 0 +chr19 52621010 52621090 5S 463 + 52621010 52621090 0 1 80 0 +chr19 54128140 54128184 5S 258 - 54128140 54128184 0 1 44 0 +chr19 54158223 54158402 LSU-rRNA_Hsa 992 - 54158223 54158402 0 1 179 0 +chr19 58093132 58093265 LSU-rRNA_Hsa 553 - 58093132 58093265 0 1 133 0 +chr19 58378630 58378720 5S 789 + 58378630 58378720 0 1 90 0 +chr19 58874864 58874939 5S 502 + 58874864 58874939 0 1 75 0 +chr20 5079032 5079121 5S 644 - 5079032 5079121 0 1 89 0 +chr20 15261429 15261513 5S 582 - 15261429 15261513 0 1 84 0 +chr20 15933519 15933569 5S 289 + 15933519 15933569 0 1 50 0 +chr20 17469657 17470083 LSU-rRNA_Hsa 1383 + 17469657 17470083 0 1 426 0 +chr20 18414485 18414573 5S 536 + 18414485 18414573 0 1 88 0 +chr20 18696136 18696179 5S 244 - 18696136 18696179 0 1 43 0 +chr20 21119591 21119713 5S 780 - 21119591 21119713 0 1 122 0 +chr20 21465225 21465316 5S 651 - 21465225 21465316 0 1 91 0 +chr20 22765836 22765878 5S 289 - 22765836 22765878 0 1 42 0 +chr20 23141492 23141601 5S 689 - 23141492 23141601 0 1 109 0 +chr20 23361531 23361649 5S 724 - 23361531 23361649 0 1 118 0 +chr20 23946334 23946385 5S 290 - 23946334 23946385 0 1 51 0 +chr20 29944672 29944761 5S 589 + 29944672 29944761 0 1 89 0 +chr20 30596178 30596240 5S 545 + 30596178 30596240 0 1 62 0 +chr20 30638390 30638508 5S 726 + 30638390 30638508 0 1 118 0 +chr20 30953215 30953258 5S 354 - 30953215 30953258 0 1 43 0 +chr20 32430069 32430117 5S 389 - 32430069 32430117 0 1 48 0 +chr20 33783108 33783226 5S 731 + 33783108 33783226 0 1 118 0 +chr20 39482778 39482869 5S 600 - 39482778 39482869 0 1 91 0 +chr20 41168027 41168067 5S 301 + 41168027 41168067 0 1 40 0 +chr20 44188394 44188511 5S 814 - 44188394 44188511 0 1 117 0 +chr20 45112773 45112879 LSU-rRNA_Hsa 667 - 45112773 45112879 0 1 106 0 +chr20 46501940 46501997 5S 393 + 46501940 46501997 0 1 57 0 +chr20 49421151 49421193 5S 248 - 49421151 49421193 0 1 42 0 +chr20 54780137 54780229 5S 532 - 54780137 54780229 0 1 92 0 +chr21 9827004 9827578 SSU-rRNA_Hsa 5116 + 9827004 9827578 0 1 574 0 +chr21 14688012 14688049 5S 231 + 14688012 14688049 0 1 37 0 +chr21 15443191 15443309 5S 501 + 15443191 15443309 0 1 118 0 +chr21 15456972 15457500 LSU-rRNA_Hsa 2854 - 15456972 15457500 0 1 528 0 +chr21 15457498 15457585 LSU-rRNA_Hsa 481 - 15457498 15457585 0 1 87 0 +chr21 19374787 19374922 LSU-rRNA_Hsa 347 - 19374787 19374922 0 1 135 0 +chr21 20426587 20426628 5S 247 + 20426587 20426628 0 1 41 0 +chr21 26479053 26479094 5S 229 + 26479053 26479094 0 1 41 0 +chr21 26574520 26574610 5S 659 + 26574520 26574610 0 1 90 0 +chr21 27228058 27228147 SSU-rRNA_Hsa 699 + 27228058 27228147 0 1 89 0 +chr21 30580386 30580428 5S 256 - 30580386 30580428 0 1 42 0 +chr21 31154796 31155001 SSU-rRNA_Hsa 239 + 31154796 31155001 0 1 205 0 +chr21 33856169 33856215 5S 332 - 33856169 33856215 0 1 46 0 +chr21 33935387 33935474 5S 621 + 33935387 33935474 0 1 87 0 +chr21 34279597 34279698 LSU-rRNA_Hsa 487 + 34279597 34279698 0 1 101 0 +chr21 37012236 37012277 5S 250 + 37012236 37012277 0 1 41 0 +chr21 38224210 38224329 5S 537 + 38224210 38224329 0 1 119 0 +chr21 38636344 38636412 LSU-rRNA_Hsa 248 + 38636344 38636412 0 1 68 0 +chr21 39001381 39001423 5S 289 - 39001381 39001423 0 1 42 0 +chr21 39194580 39194623 5S 299 + 39194580 39194623 0 1 43 0 +chr21 41300088 41300129 5S 269 + 41300088 41300129 0 1 41 0 +chr21 43641286 43641397 5S 474 + 43641286 43641397 0 1 111 0 +chr21 45128124 45128187 LSU-rRNA_Hsa 244 - 45128124 45128187 0 1 63 0 +chr22 18105844 18105904 LSU-rRNA_Hsa 372 - 18105844 18105904 0 1 60 0 +chr22 21265391 21265525 LSU-rRNA_Hsa 904 + 21265391 21265525 0 1 134 0 +chr22 22146728 22146810 5S 668 + 22146728 22146810 0 1 82 0 +chr22 22210544 22210651 LSU-rRNA_Hsa 669 + 22210544 22210651 0 1 107 0 +chr22 22210670 22210856 LSU-rRNA_Hsa 833 + 22210670 22210856 0 1 186 0 +chr22 23469876 23469918 5S 226 - 23469876 23469918 0 1 42 0 +chr22 23697966 23698141 LSU-rRNA_Hsa 407 + 23697966 23698141 0 1 175 0 +chr22 23757599 23757699 5S 343 + 23757599 23757699 0 1 100 0 +chr22 24253628 24253709 5S 656 - 24253628 24253709 0 1 81 0 +chr22 25515263 25515312 5S 291 + 25515263 25515312 0 1 49 0 +chr22 26111045 26111136 5S 693 - 26111045 26111136 0 1 91 0 +chr22 26786620 26786748 5S 646 - 26786620 26786748 0 1 128 0 +chr22 30335677 30335719 5S 263 - 30335677 30335719 0 1 42 0 +chr22 31701389 31701479 5S 627 + 31701389 31701479 0 1 90 0 +chr22 33031095 33031184 5S 592 - 33031095 33031184 0 1 89 0 +chr22 33816270 33816312 5S 316 - 33816270 33816312 0 1 42 0 +chr22 36713014 36713053 5S 249 + 36713014 36713053 0 1 39 0 +chr22 36713067 36713106 5S 265 + 36713067 36713106 0 1 39 0 +chr22 36713120 36713159 5S 281 + 36713120 36713159 0 1 39 0 +chr22 39644733 39644831 5S 398 + 39644733 39644831 0 1 98 0 +chr22 41043647 41043689 5S 290 + 41043647 41043689 0 1 42 0 +chr22 42530233 42530285 5S 355 - 42530233 42530285 0 1 52 0 +chr6_apd_hap1 1033560 1034108 LSU-rRNA_Hsa 301 - 1033560 1034108 0 1 548 0 +chr6_apd_hap1 3361052 3361144 5S 563 - 3361052 3361144 0 1 92 0 +chr6_cox_hap2 1246022 1246134 LSU-rRNA_Hsa 257 - 1246022 1246134 0 1 112 0 +chr6_cox_hap2 2707816 2707855 SSU-rRNA_Hsa 233 + 2707816 2707855 0 1 39 0 +chr6_cox_hap2 3516979 3517071 5S 563 - 3516979 3517071 0 1 92 0 +chr6_dbb_hap3 1030728 1031276 LSU-rRNA_Hsa 364 - 1030728 1031276 0 1 548 0 +chr6_dbb_hap3 2490183 2490222 SSU-rRNA_Hsa 233 + 2490183 2490222 0 1 39 0 +chr6_dbb_hap3 3325527 3325619 5S 563 - 3325527 3325619 0 1 92 0 +chr6_mcf_hap5 1030394 1030506 LSU-rRNA_Hsa 307 - 1030394 1030506 0 1 112 0 +chr6_mcf_hap5 2575098 2575137 SSU-rRNA_Hsa 229 + 2575098 2575137 0 1 39 0 +chr6_mcf_hap5 3426152 3426244 5S 563 - 3426152 3426244 0 1 92 0 +chr6_qbl_hap6 1030713 1031261 LSU-rRNA_Hsa 364 - 1030713 1031261 0 1 548 0 +chr6_qbl_hap6 2488966 2489005 SSU-rRNA_Hsa 233 + 2488966 2489005 0 1 39 0 +chr6_qbl_hap6 3307336 3307428 5S 563 - 3307336 3307428 0 1 92 0 +chr6_mann_hap4 1030358 1030906 LSU-rRNA_Hsa 364 - 1030358 1030906 0 1 548 0 +chr6_mann_hap4 2541448 2541487 SSU-rRNA_Hsa 233 + 2541448 2541487 0 1 39 0 +chr6_mann_hap4 3389161 3389253 5S 563 - 3389161 3389253 0 1 92 0 +chr6_ssto_hap7 1067592 1068140 LSU-rRNA_Hsa 363 - 1067592 1068140 0 1 548 0 +chr6_ssto_hap7 2528009 2528048 SSU-rRNA_Hsa 229 + 2528009 2528048 0 1 39 0 +chr6_ssto_hap7 2773921 2774104 LSU-rRNA_Hsa 233 + 2773921 2774104 0 1 183 0 +chrUn_gl000220 95180 95223 LSU-rRNA_Hsa 519 + 95180 95223 0 1 43 0 +chrUn_gl000220 95530 95616 LSU-rRNA_Hsa 519 + 95530 95616 0 1 86 0 +chrUn_gl000220 95614 96145 LSU-rRNA_Hsa 2585 + 95614 96145 0 1 531 0 +chrUn_gl000220 99158 99197 LSU-rRNA_Hsa 239 + 99158 99197 0 1 39 0 +chrUn_gl000220 109077 110946 SSU-rRNA_Hsa 15708 + 109077 110946 0 1 1869 0 +chrUn_gl000220 113347 114110 LSU-rRNA_Hsa 37124 + 113347 114110 0 1 763 0 +chrUn_gl000220 114132 114194 LSU-rRNA_Hsa 37124 + 114132 114194 0 1 62 0 +chrUn_gl000220 114238 115498 LSU-rRNA_Hsa 37124 + 114238 115498 0 1 1260 0 +chrUn_gl000220 115521 116829 LSU-rRNA_Hsa 37124 + 115521 116829 0 1 1308 0 +chrUn_gl000220 116861 118417 LSU-rRNA_Hsa 37124 + 116861 118417 0 1 1556 0 +chrUn_gl000220 153049 154918 SSU-rRNA_Hsa 15708 + 153049 154918 0 1 1869 0 +chrUn_gl000220 157319 158082 LSU-rRNA_Hsa 32456 + 157319 158082 0 1 763 0 +chrUn_gl000220 158104 158166 LSU-rRNA_Hsa 32456 + 158104 158166 0 1 62 0 +chrUn_gl000220 158210 159470 LSU-rRNA_Hsa 32456 + 158210 159470 0 1 1260 0 +chrUn_gl000220 159493 160801 LSU-rRNA_Hsa 32456 + 159493 160801 0 1 1308 0 +chrUn_gl000220 160833 161802 LSU-rRNA_Hsa 32456 + 160833 161802 0 1 969 0 +chrUn_gl000223 58453 58538 5S 650 + 58453 58538 0 1 85 0 +chrUn_gl000228 20112 20232 5S 693 + 20112 20232 0 1 120 0 +chrUn_gl000228 22673 22794 5S 802 + 22673 22794 0 1 121 0 +chrUn_gl000229 18170 19913 SSU-rRNA_Hsa 13464 + 18170 19913 0 1 1743 0 +chr17_ctg5_hap1 19909 19999 5S 692 - 19909 19999 0 1 90 0 +chr17_ctg5_hap1 247970 248012 5S 325 - 247970 248012 0 1 42 0 +chr17_ctg5_hap1 465905 465947 5S 329 - 465905 465947 0 1 42 0 +chr17_ctg5_hap1 1439558 1439600 5S 332 + 1439558 1439600 0 1 42 0 +chr1_gl000192_random 415328 415417 5S 637 + 415328 415417 0 1 89 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/exp_data/hg19_refGene.gtf.tar.gz Binary file ezBAMQC/test-data/exp_data/hg19_refGene.gtf.tar.gz has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/exp_data/treat1.bam Binary file ezBAMQC/test-data/exp_data/treat1.bam has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/exp_data/treat2.bam Binary file ezBAMQC/test-data/exp_data/treat2.bam has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/exp_data/treat3.bam Binary file ezBAMQC/test-data/exp_data/treat3.bam has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.ReadLen_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.ReadLen_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.readlen_profile.png",width=500,height=500,units="px") +readlen_val=c(67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +readlen_count=c(220,212,287,315,327,323,420,437,447,422,435,429,427,487,438,487,492,492,518,536,517,565,503,550,723,808,803,859,881,927,945,1535,1897,44685) +plot(readlen_val,(readlen_count/77686),pch=20,xlab="Mapped Read Length",ylab="Proportion",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.TransCoverage.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.TransCoverage.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.TransCoverage.png',width=500,height=500,units='px') +a=c(0,0,1,0,0,0,0,172,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,5,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5,8,0,0,17,0,1,20,0,0,0,0,0,2,0,4,1,22,0,0,9,12,1,0,0,0,1,0,0,1,0,0,0,2,0,0,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,6,0,0,0,1,2,5,0,0,4,0,0,2,0,0,5,0,0,0,0,0,0,0,0,0,0,0,6,1,0,6,4,6,0,17,0,0,0,0,0,0,0,0,4,9,0,0,0,0,0,0,0,2,0,0,0,0,0,0,5,2,28,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,3,1,4,1,3,0,0,0,0,4,0,0,1,0,1,0,1,0,0,3,0,0,0,3,0,0,1,1,0,0,0,0,0,0,0,3,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,3,7,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,166,0,0,0,0,1,9,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,9,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,0,0,0,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,13,0,0,0,0,0,0,0,0,0,0,0,6,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,1,1,0,3,0,0,1,0,0,0,4,0,0,0,0,0,2,9,7,0,1,0,0,0,0,2,7,11,0,0,0,0,0,8,0,19,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,6,14,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,15,0,1,0,0,0,0,0,0,14,0,4,0,0,0,4,5,0,0,0,0,0,9,0,0,0,0,1,1,1,0,0,0,0,8,0,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,7,0,0,0,0,0,0,2,0,0,2,0,3,5,0,0,0,0,0,26,2,0,4,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,7,1,0,0,1,0,4,0,1,1,0,0,1,1,3,0,0,1,0,0,0,0,1,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,0,0,0,0,6,0,2,6,0,2,1,173,0,0,0,0,4,0,0,0,3,2,1,0,0,2,0,0,8,0,0,0,1,0,0,0,0,4,4,0,0,0,0,0,3,0,0,2,0,0,0,1,0,0,8,0,1,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,0,0,2,0,0,0,0,0,2,1,3,1,0,7,0,0,2,8,2,4,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,2,0,7,0,2,0,17,4,1,0,1,1,0,0,2,0,0,0,0,750,0,0,0,0,0,0,5,15,12,1,1,3,1,0,0,1,1,0,0,0,0,0,0,0,5,16,19,8,0,1,10,0,3,0,16,0,0,0,2,0,0,0,6,0,0,0,2,0,0,0,3,0,1,0,0,0,5,8,1,0,0,1,0,0,3,2,0,0,0,0,0,8,0,3,0,0,0,0,1,0,5,0,0,4,0,0,0,0,0,0,0,0,0,0,5,0,0,0,3,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,4,0,1,8,0,0,1,0,0,0,0,0,2,0,1,0,0,0,0,8,28,0,0,0,0,4,5,1,2,4,1,0,0,0,0,0,3,0,1,3,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,0,2,0,0,0,0,0,3,0,1,2,4,1,0,1,0,10,2,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,2,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,3,0,1,0,0,1,1,0,0,1,4,0,0,1,4,3,0,0,0,13,0,3,3,4,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,0,1,2,1,4,0,1,0,0,0,0,0,4,2,0,18,0,0,1,1,4,0,1,0,1,1,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,103,0,2,3,0,0,0,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,4,0,0,0,5,0,2,0,2,0,0,0,0,8,3,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,1,0,2,0,0,7,1,10,4,0,0,2,1,7,44,0,0,0,0,5,0,57,0,0,0,0,2,0,0,1,0,0,0,0,0,0,1,3,10,4,0,0,0,0,0,0,0,1,1,0,6,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,10,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,2,0,1,0,0,0,0,1,0,0,0,2,0,0,0,3,19,2,1,9,0,0,0,0,0,5,0,0,0,1,0,0,0,0,0,0,0,2,0,5,0,0,0,1,0,0,1,0,16,5,10,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,2,7,0,0,1,0,5,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,21,4,0,1,1,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,2,0,1,4,0,0,0,0,0,0,15,1,0,0,0,0,0,0,2,1,0,21,0,1,1,1,2,0,0,0,2,0,1,0,0,1,0,17,0,0,0,0,0,0,1,0,0,1,100,1,0,0,2,4,1,0,1,0,0,0,1,2,0,0,0,1,0,0,2,0,0,0,21,0,0,0,1,0,0,0,0,2,1,5,3,0,0,38,6,0,0,0,6,0,0,0,2,1,0,0,0,0,0,0,3,2,0,1,0,0,0,0,0,0,3,1,0,0,0,0,0,42,1,0,3,3,0,0,3,0,0,1,13,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,3,0,39,2,0,1,0,0,1,0,0,1,0,3,0,0,2,2,0,1,0,1,0,6,0,0,4,0,5,0,4,0,0,0,0,0,1,0,0,4,4,0,0,0,1,6,0,0,0,0,0,8,0,0,0,4,3,0,0,0,0,0,0,3,10,0,0,0,1,0,6,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,7,27,0,0,0,0,0,1,0,1,0,1,0,0,0,0,40,5,0,1,64,0,0,0,2,0,0,2,25,0,0,34,0,0,0,0,0,0,0,0,0,0,0,16,2,0,0,0,2,0,0,0,5,9,4,0,0,0,0,0,0,3,0,0,0,2,5,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,7,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,2,0,0,1,0,0,0,2,5,0,0,0,0,0,0,0,0,3,0,0,0,2,12,0,0,0,2,0,0,0,0,0,0,0,0,0,3,7,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,2,2,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,1,7,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,244,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,1,0,4,0,2,0,0,0,0,5,0,0,1,0,0,1,0,0,1,1,2,0,0,0,0,2,2,2,10,0,0,26,2,4,0,0,4,0,0,0,8,0,0,1,1,0,0,0,1,0,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,14,0,1,1,3,2,1,0,0,6,2,25,35,0,1,3,8,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,13,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,17,1,0,0,0,0,5,2,0,2,2,2,4,0,0,1,0,0,2,0,4,2,0,0,0,5,0,0,1,0,2,0,0,1,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,43,0,0,0,2,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,7,1,0,0,2,0,3,0,0,0,3,0,1,1,1,9,1,0,1,9,29,0,1,0,0,2,0,0,0,0,0,0,19,0,0,6,0,0,0,0,0,0,0,0,5,0,0,8,0,0,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,9,0,5,2,0,1,0,2,0,0,0,0,1,0,1,1,0,0,0,1,0,13,0,0,0,0,0,1,0,0,0,1,0,4,0,0,0,0,0,0,1,12,1,10,15,0,0,8,0,0,0,2,0,0,0,9,1,0,0,0,0,0,0,0,6,0,0,1,0,0,1,3,0,1,1,0,10,4,6,4,0,0,1,0,2,14,0,2,278,0,0,0,0,7,0,2,2,9,3,0,0,0,3,0,0,2,3,0,1,0,0,0,0,0,1,0,0,2,0,0,2,2,0,2,0,0,0,0,0,0,0,0,0,10,2,0,0,0,5,0,0,0,0,5,0,1,0,0,0,0,2,0,0,0,0,0,4,0,4,7,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,1,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,15,0,1,0,0,0,1,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,2,0,0,0,0,0,0,0,3,0,0,0,0,1,1,0,10,41,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,6,0,3,2,3,0,0,0,0,0,0,0,0,0,1,0,2,0,0,2,4,0,0,1,12,0,0,0,0,0,0,1,0,0,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,1,7,0,0,0,1,0,0,9,2,0,0,0,3,0,0,5,0,0,0,2,1,0,1,2,0,20,0,0,0,0,0,2,3,0,1,1,0,0,0,41,0,0,0,1,0,23,10,0,27,5,4,0,2,0,0,1,0,0,2,0,4,0,0,26,113,0,7,0,0,1,0,0,0,2,0,1,0,4,7,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,3,0,4,1,3,0,0,0,6,0,0,0,1,10,15,0,1,0,0,3,0,1,0,4,0,3,1,0,0,0,0,0,18,4,0,0,5,4,0,0,1,0,0,0,0,5,0,2,1,0,0,1,7,0,12,1,0,0,0,233,13,0,0,0,0,19,4,3,3,0,0,0,2,0,0,0,7,0,16,1,0,2,3,0,0,5,0,0,0,0,0,15,3,0,7,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,1,0,0,2,7,0,0,0,0,1,0,0,0,1,0,0,0,0,0,3,0,5,17,0,0,6,0,0,0,0,0,0,0,0,3,0,4,0,0,0,0,0,0,0,0,0,0,0,1,0,8,0,3,0,0,0,0,2,0,0,0,2,0,0,0,4,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,0,2,0,4,0,0,0,0,5,2,0,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,2,2,0,0,0,0,0,2,0,0,0,1,0,2,1,0,3,0,0,0,0,0,4,3,1,0,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,1,0,0,0,1,5,0,1,25,1,0,12,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,22,0,0,1,0,0,0,0,0,89,0,2,0,3,1,0,0,24,1,0,1,0,0,0,6,0,0,1,0,46,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,6,1,0,0,1,0,1,0,0,0,2,4,0,0,0,0,4,0,2,0,0,0,0,5,0,0,1,1,1,1,3,3,0,0,0,3,0,0,4,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,11,0,0,0,2,0,1,21,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,6,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,1,0,11,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,1,0,2,1,1,0,0,2,0,0,0,2,0,19,1,0,3,0,5,1,0,0,0,2,11,2,0,1,1,0,0,0,0,0,6,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,5,0,0,25,5,2,0,5,0,7,0,1,0,0,0,0,1,1,0,0,6,0,3,0,0,0,0,0,0,1,1,0,0,5,0,0,13,4,1,0,0,0,2,9,1,4,2,0,6,0,2,0,1,0,2,0,12,0,0,0,0,0,0,0,0,0,4,0,2,21,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,47,0,0,0,0,5,12,1,4,0,1,0,0,0,0,1,1,0,0,1,1,1,1,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,0,0,1,1,0,0,1,0,0,3,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,8,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,2,3,2,2,0,0,0,26,0,0,0,0,0,0,2,0,0,0,0,7,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,32,0,8,1,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,1,0,0,13,4,1,0,0,2,0,4,0,0,1,0,0,0,0,0,0,0,0,0,2,2,0,0,13,0,0,1,0,0,0,0,9,3,1,0,0,0,0,0,11,1,0,5,0,12,0,12,0,39,3,7,0,0,0,0,0,0,1,0,7,11,0,0,0,4,0,0,0,0,0,0,0,10,5,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,1,0,0,0,0,2,0,0,2,0,0,0,3,1,0,1,0,0,1,11,3,0,0,0,0,0,0,1,5,0,2,0,1,0,0,73,0,0,0,0,0,0,56,0,1,3,0,0,5,0,1,0,8,0,1,2,0,0,3,1,1,0,2,31,0,0,0,0,1,0,0,0,3,0,0,1,0,0,0,0,0,0,3,7,0,1,0,10,3,0,7,0,0,0,8,0,0,0,1,2,0,2,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,0,0,6,0,4,0,0,18,0,0,0,2,1,0,0,0,0,0,0,0,0,1,1,0,4,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,3,1,0,2,4,0,3,0,0,1,0,1,3,2,0,6,1,0,0,0,2,0,1,0,0,0,1,0,2,1,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,4,0,0,0,0,0,0,2,8,0,12,0,0,0,0,0,0,0,2,2,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,4,8,0,0,1,1,0,0,0,0,0,1,1,1,13,0,0,0,2,1,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,4,1,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,1,2,1,0,0,9,0,3,0,3,4,2,0,0,1,28,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,29,0,0,0,0,0,0,0,1,14,0,0,0,1,1,6,10,2,0,0,0,0,0,0,5,5,2,3,6,0,0,1,0,0,0,0,0,0,6,0,0,0,0,2,1,0,2,0,0,0,1,0,3,3,0,3,1,0,0,0,0,2,1,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,3,0,1,0,0,4,0,0,0,0,0,0,7,0,0,0,0,1,0,0,21,0,0,0,0,0,0,1,0,0,1,0,7,18,4,3,6,2,15,0,0,0,3,0,0,0,0,0,7,1,25,1,0,0,0,0,0,0,0,0,7,0,0,0,1,5,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,46,2,27,1,0,0,0,3,1,0,0,0,0,0,4,0,0,0,9,1,0,0,0,0,1,1,0,0,1,0,0,7,1,0,0,1,5,0,0,0,0,0,0,1,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,7,0,9,3,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,19,0,0,0,0,0,0,0,0,2,5,0,0,0,1,0,0,0,1,0,2,3,0,0,0,0,0,5,1,0,1,0,45,7,0,0,0,1,2,0,0,0,1,0,0,0,2,2,3,0,0,0,1,60,1,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,7,0,0,0,0,0,0,0,0,0,0,17,5,0,0,0,1,0,0,0,1,0,21,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,2,0,0,0,0,105,13,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,1,0,0,2,0,3,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,5,20,0,2,1,0,0,6,1,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,1,0,1,3,0,0,0,0,0,0,0,3,0,0,2,1,0,3,0,1,2,0,2,0,1,0,0,3,0,0,0,0,2,2,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,0,0,0,1,1,0,0,1,4,1,1,0,0,0,0,8,0,0,5,1,1,4,5,20,1,16,0,1,0,6,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,1,0,1,0,0,22,1,5,4,10,0,12,0,0,0,0,0,5,0,0,0,0,7,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0,2,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,23,0,1,0,0,0,10,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,1,8,0,1,12,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,1,4,0,0,0,0,2,0,1,0,0,0,0,0,14,0,0,0,0,0,0,21,0,0,0,1,0,0,0,0,0,0,1,0,2,3,3,2,1,8,0,190,0,0,0,0,1,0,0,0,2,0,0,0,0,64,0,0,1,0,0,0,0,5,0,0,0,12,0,4,1,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,2,0,0,1,3,0,0,0,5,2,3,0,0,0,0,0,0,0,0,0,6,1,0,0,3,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,1,5,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,3,0,0,1,3,0,0,0,0,2,0,0,2,0,0,11,0,0,0,0,10,5,1,0,11,1,2,0,1,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,7,0,0,5,0,0,0,5,0,0,0,0,0,0,10,1,0,3,10,3,0,9,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,1,0,0,3,0,2,2,0,0,1,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,1,0,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,5,0,5,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,48,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,4,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,109,1,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,1,1,23,0,0,6,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,3,0,4,4,11,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,3,1,0,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,0,3,0,0,2,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,407,7,5,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,4,0,0,0,0,4,5,1,1,0,1,0,0,0,0,0,0,1,0,0,0,0,1,1,3,0,0,2,1,3,0,2,1,0,0,0,0,4,0,5,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,19,0,1,12,48,17,5,24,3,23,8,12,0,0,0,4,0,2,0,0,0,0,0,0,0,1,0,5,0,0,0,0,0,0,2,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,10,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,7,1,0,52,2,0,0,0,4,0,0,0,0,0,0,1,2,1,0,0,0,0,0,4,1,0,0,0,0,7,0,1,52,1,0,1,2,1,0,10,0,0,0,0,12,0,0,0,0,0,3,0,1,0,0,0,1,5,0,4,0,0,0,0,0,0,1,0,8,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,2,4,0,0,2,0,0,0,1,0,0,2,0,3,5,0,0,5,0,1,1,1,0,0,0,4,0,0,10,0,0,0,1,1,0,0,1,1,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,4,0,3,3,2,1,10,0,0,0,0,0,0,1,0,2,0,0,0,0,0,2,5,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,1,5,3,9,5,0,1,0,0,1,0,1,4,1,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,0,0,0,4,7,1,0,0,0,1,1,4,0,0,1,5,0,42,0,1,0,0,7,1,0,0,0,1,3,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,3,1,0,2,0,0,1,0,0,0,0,0,0,1,0,0,0,1,7,0,0,0,0,0,1,3,3,0,1,0,0,0,0,0,0,0,0,4,0,0,0,21,0,0,0,0,3,10,28,0,2,0,1,0,2,2,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,4,1,0,0,0,2,10,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,2,0,16,0,1,3,4,1,2,0,0,49,0,0,1,0,4,16,4,0,2,1,0,4,0,2,0,0,0,0,4,0,3,0,17,0,0,0,2,5,0,0,0,2,2,0,0,0,0,0,0,2,0,0,1,0,1,2,6,0,0,1,1,0,12,0,0,0,0,0,0,8,4,0,0,2,3,0,0,0,0,2,0,1,1,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,3,0,0,18,0,2,0,0,0,0,0,1,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,2,0,1,0,0,0,5,0,9,0,0,2,0,4,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,2,3,0,0,3,0,2,10,1,0,5,1,3,0,2,15,0,3,0,1,0,0,0,0,1,0,30,5,9,0,0,0,0,3,0,0,3,2,0,0,1,0,6,1,0,0,0,0,0,2,1,0,98,0,2,28,3,2,0,0,3,0,0,4,1,2,5,0,1,13,0,0,0,0,8,0,0,2,1,0,0,0,0,36,1,2,0,1,3,0,0,0,0,0,0,0,0,0,21,7,3,0,20,0,0,0,0,6,6,0,0,1,0,1,0,3,0,0,0,0,2,0,0,0,0,0,2,0,0,6,0,8,0,0,2,0,0,0,2,4,0,2,21,9,2,2,29,0,0,0,0,0,0,0,0,0,0,0,0,11,0,15,0,0,1,0,0,0,0,0,0,0,3,4,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,7,4,0,1,0,0,0,0,1,0,3,0,0,0,0,0,3,2,0,0,0,4,0,18,1,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,1,0,0,9,0,1,6,0,4,1,0,0,0,33,0,20,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,3,0,5,0,0,0,1,0,60,0,0,0,17,0,2,0,0,1,2,4,0,1,0,0,0,1,0,2,0,1,0,0,2,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,1,4,0,23,0,0,5,0,1,0,0,1,0,0,0,0,1,2,0,0,0,0,17,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,9,0,1,6,16,1,3,0,0,0,0,1,3,6,0,0,0,2,0,0,1,0,0,1,0,2,3,0,0,1,0,0,3,0,0,0,5,0,0,4,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,17,1,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,0,0,0,35,0,0,0,0,0,0,1,0,0,3,1,0,0,0,0,0,4,0,0,0,1,5,4,0,0,0,3,0,0,0,0,0,0,0,0,0,10,3,3,1,0,0,1,0,11,4,4,0,3,0,0,0,30,0,4,1,11,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,12,2,0,0,0,0,0,0,1,0,0,3,11,4,1,0,0,0,0,0,2,0,0,0,1,3,1,0,0,31,1,0,0,13,0,0,1,1,0,17,0,0,2,0,0,0,0,14,0,0,22,73,0,1,2,0,0,0,0,0,17,0,0,0,4,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,11,0,0,0,0,1,0,0,0,0,2,1,0,1,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,1,0,2,0,0,0,0,1,0,6,0,0,0,0,3,1,1,0,0,0,1,0,0,0,1,0,0,1,25,0,0,0,7,0,0,15,5,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,9,0,0,0,0,0,0,0,0,0,1,0,0,5,0,1,0,0,0,1,1,0,0,0,0,3,12,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,0,5,0,10,1,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4,0,0,1,9,2,25,11,0,0,0,0,1,0,3,1,0,0,0,3,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,0,0,0,0,3,1,0,6,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,1,0,0,2,0,0,0,1,0,0,5,0,1,1,0,0,0,1,0,0,0,6,0,0,2,0,0,1,0,0,0,0,0,2,0,0,5,7,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,1,0,0,0,0,0,0,0,0,0,0,1,10,2,0,1,0,0,0,0,8,5,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,4,8,0,0,0,0,0,0,0,30,0,0,0,0,0,0,2,0,0,5,0,1,10,0,0,0,2,8,1,0,0,0,2,0,0,1,0,0,0,2,0,0,0,0,4,0,0,0,2,8,0,0,0,0,0,0,11,0,1,0,89,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,3,0,1,0,3,0,0,0,0,0,0,0,0,2,0,3,1,0,0,0,2,0,0,0,0,0,6,0,0,0,0,0,0,0,0,3,0,0,0,1,0,1,0,0,1,1,0,2,0,6,4,0,0,0,0,2,0,0,0,11,0,5,0,0,1,1,0,1,0,0,10,1,0,0,0,0,6,5,0,43,5,1,0,0,0,3,0,0,1,2,3,1,0,0,0,4,0,0,0,0,0,0,0,1,0,8,5,0,1,0,0,0,0,0,2,13,0,0,7,1,1,0,0,0,0,0,1,1,0,9,8,0,0,0,0,0,0,0,0,0,0,1,5,1,0,111,288,0,0,0,1,18,0,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,0,0,3,1,9,0,0,0,0,1,0,0,5,0,0,14,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,1,0,0,0,6,0,0,1,5,5,0,4,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,4,4,1,0,0,2,0,2,0,0,0,0,1,1,0,0,0,0,0,1,5,1,0,2,1,5,0,3,0,0,0,1,0,0,0,3,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0,0,5,0,0,0,0,7,1,4,0,0,0,0,0,1,1,1,0,0,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,18,0,0,1,4,0,1,10,5,0,3,2,13,13,6,3,0,0,0,0,2,0,0,0,1,0,0,1,0,6,32,8,5,13,2,2,0,0,0,8,0,0,0,10,1,9,0,0,0,0,3,0,4,0,0,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,1,0,0,7,0,0,2,1,0,1,0,0,0,0,0,0,2,0,0,0,0,0,2,0,0,0,1,0,0,0,0,4,0,0,0,5,0,0,0,18,0,1,3,1,0,10,0,0,0,0,0,2,2,21,0,0,0,0,0,1,0,0,0,4,0,0,0,0,1,0,0,36,21,0,0,0,0,2,1,3,0,8,0,3,0,0,0,3,3,2,1,1,0,8,0,0,0,0,0,0,4,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,0,0,0,2,4,3,0,1,1,1,8,0,2,0,0,4,2,0,0,0,0,3,0,0,4,0,0,0,0,0,1,0,0,0,0,0,0,0,7,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,7,0,0,0,0,0,17,0,0,0,0,0,1,1,0,0,0,6,3,0,0,2,0,0,0,3,0,4,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,1,0,2,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,6,0,0,0,2,1,9,0,0,1,0,0,0,0,0,0,0,0,0,0,8,0,9,0,4,0,19,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,1,0,20,0,0,4,0,0,0,0,0,0,0,0,0,1,0,1,1,27,2,1,6,0,0,0,0,0,0,5,31,1,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,4,0,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,1,0,7,0,1,0,1,0,0,0,0,0,0,3,6,0,1,0,0,0,0,0,0,0,0,0,25,0,0,0,6,0,2,1,1,3,0,0,0,0,1,2,0,0,0,0,2,0,0,0,0,1,0,0,0,1,0,1,0,5,0,0,0,2,0,13,4,2,0,0,3,0,10,0,4,0,0,2,0,4,4,1,21,6,0,0,0,0,4,0,0,0,1,0,0,2,0,0,9,7,0,0,0,0,0,1,0,0,0,3,0,0,0,1,0,0,0,0,7,0,0,0,2,6,0,0,0,0,36,4,0,9,11,0,0,0,3,1,0,0,1,0,0,0,1,0,0,0,0,3,0,1,0,3,0,12,0,2,70,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,15,1,3,12,0,0,0,5,6,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,11,0,2,6,0,5,1,0,0,0,0,1,1,6,4,1,1,3,0,0,0,7,22,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,21,4,0,0,14,0,0,73,3,1,3,1,0,0,50,0,0,0,0,1,0,13,8,9,6,15,0,0,0,0,1,0,0,0,0,0,0,0,0,0,17,0,1,0,3,4,18,6,5,2,3,0,0,0,1,3,0,2,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,5,0,0,0,3,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,0,2,9,0,0,0,0,1,1,0,4,0,0,0,0,0,0,0,4,5,5,3,0,9,0,0,3,1,3,0,7,0,3,0,0,0,0,0,0,0,18,4,0,2,2,0,0,0,0,0,28,0,3,0,1,1,0,2,1,1,5,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,1,0,8,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,1,6,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,13,2,2,0,34,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,5,0,4,34,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,92,0,2,0,0,6,0,0,0,0,1,12,0,0,1,0,9,0,0,1,0,0,11,0,0,0,89,0,0,0,1,3,5,0,6,2,2,8,1,0,0,1,0,0,8,1,12,1,0,0,1,3,1,0,0,0,1,2,3,4,0,0,0,0,0,2,1,0,0,19,3,0,0,1,6,1,2,2,0,0,0,1,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,1,2,4,0,27,0,0,0,0,0,0,0,0,7,2,16,0,5,0,0,10,0,0,5,2,3,18,0,0,0,6,2,0,0,1,0,6,0,1,5,0,2,0,7,0,0,0,5,0,0,0,5,0,8,0,2,0,0,0,0,0,0,0,7,0,1,1,1,0,3,0,2,8,5,4,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,26,1,0,3,59,4,0,4,0,0,0,1,1,36,29,0,0,0,0,0,1,0,41,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,2,0,0,0,0,4,0,0,1,0,0,0,5,7,36,0,1,2,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,7,0,0,23,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,5,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,5,0,3,0,0,42,0,0,0,0,0,0,0,2,0,2,0,56,0,0,0,1,4,28,0,0,1,0,0,0,7,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,8,0,0,5,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,9,0,1,0,0,0,0,0,0,0,0,0,45,5,0,0,0,0,0,0,1,0,5,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,4,0,1,0,0,0,1,0,0,10,0,0,0,1,2,0,0,0,1,0,0,1,0,0,2,0,2,0,4,0,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,2,13,0,0,0,0,0,0,0,0,0,30,0,0,1,1,0,0,0,0,3,0,0,11,1,0,25,0,0,0,0,0,0,0,0,0,2,0,0,0,1,6,0,0,0,4,0,0,0,0,0,0,0,0,0,21,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,10,0,23,0,0,0,3,1,1,2,8,0,0,0,5,0,0,5,0,4,0,5,1,8,1,0,0,1,7,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,21,0,0,1,3,5,4,0,0,0,0,0,0,0,0,0,0,5,0,1,2,0,5,0,2,0,0,0,0,1,1,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,11,0,0,3,2,0,0,0,0,0,0,0,10,0,1,0,0,0,0,0,3,1,2,0,0,0,0,0,0,2,0,0,0,6,0,0,0,1,53,1,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,9,0,1,2,0,0,5,1,1,0,0,0,9,0,0,0,0,10,14,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,1,0,0,0,0,1,1,2,2,0,0,0,3,11,0,0,0,3,0,0,0,0,2,0,2,21,1,0,0,0,0,0,0,0,1,0,0,0,0,8,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,1,36,0,0,0,0,0,0,0,0,0,0,0,3,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,19,2,0,3,0,0,0,3,0,0,5,0,0,0,0,0,0,0,24,0,0,0,2,0,1,0,0,0,0,0,1,2,1,15,2,0,1,0,0,0,0,1,8,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,0,0,0,5,0,0,0,0,0,21,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,1,6,0,0,0,0,0,5,0,0,0,0,2,0,1,0,0,0,0,0,0,4,0,3,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,1,0,7,7,0,0,0,0,0,2,0,0,0,0,1,0,3,1,0,0,10,0,0,0,2,2,23,0,0,0,2,0,1,0,0,0,0,2,9,7,0,0,0,0,4,7,1,0,0,6,0,0,0,0,2,0,0,0,0,0,0,2,0,1,0,4,0,0,0,0,0,0,4,0,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,7,0,0,0,0,2,0,0,0,2,0,0,4,0,7,0,0,0,0,0,0,0,0,109,0,1,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,1,0,0,0,0,0,3,0,0,0,0,0,1,0,3,0,514,0,0,9,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,2,4,0,0,0,0,0,3,0,0,0,0,0,0,0,1,1,0,0,23,3,1,5,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,19,0,0,2,0,0,0,0,9,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,35,2,32,0,2,0,0,0,0,0,1,0,0,0,1,0,7,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,3,0,0,2,13,1,6,0,1,0,23,61,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,2,20,0,0,0,0,4,8,0,0,18,0,0,0,7,1,0,0,0,3,1,0,0,0,0,0,2,0,2,0,0,0,0,0,3,22,0,0,0,0,1,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,0,4,4,1,0,1,0,0,0,0,2,0,4,0,0,0,0,11,0,0,0,2,0,0,3,0,1,0,6,3,2,1,0,0,2,0,0,0,7,0,16,1,0,0,0,0,0,0,4,1,0,0,2,0,0,0,0,4,3,0,0,0,7,0,0,0,2,0,0,0,3,0,1,2,0,0,0,1,0,0,0,0,5,0,1,66,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,1,0,1,0,3,1,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,2,2,4,13,0,0,1,0,0,0,1,1,4,4,0,0,0,0,1,1,0,0,0,0,2,0,0,0,0,0,0,4,0,1,0,0,0,0,0,16,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,4,0,0,0,0,5,12,0,0,1,4,0,2,0,0,5,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,42,0,0,0,0,0,1,6,0,6,0,0,0,0,0,11,0,16,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,5,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,2,1,0,0,1,0,0,0,0,1,0,0,0,0,0,4,0,0,0,0,0,1,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,5,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,1,21,0,3,0,0,1,1,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,0,0,1,1,0,0,13,0,3,0,0,1,0,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,11,2,7,1,2,0,0,0,0,0,0,18,0,0,74,0,0,0,0,0,2,7,13,0,0,0,0,0,1,0,0,0,19,16,0,0,0,4,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2,0,0,6,1,0,0,0,0,0,0,2,3,1,0,0,2,0,0,0,0,0,0,0,0,8,0,0,0,0,1,5,0,0,8,104,0,0,1,12,1,6,0,0,0,0,0,0,0,0,0,1,8,13,0,1,2,2,15,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,3,0,0,1,19,0,0,0,0,0,0,0,1,8,0,0,0,0,2,0,1,0,0,0,3,0,1,8,0,0,1,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,12,0,0,1,34,1,0,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,22,0,12,0,0,0,4,0,0,3,0,2,1,0,0,0,0,0,3,0,1,8,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,1,3,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,58,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,1,0,2,0,10,2,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,5,0,0,0,0,0,0,0,0,0,1,4,44,0,2,0,0,0,0,0,0,0,0,32,0,0,0,2,0,0,0,0,0,11,0,0,0,1,0,3,0,34,0,0,4,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,22,0,0,0,0,1,1,1,14,1,4,0,0,0,0,1,4,0,8,11,0,0,1,0,0,0,0,0,0,0,0,0,2,4,0,0,0,0,1,0,1,0,0,8,2,4,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,25,0,0,0,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,12,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,3,16,0,0,2,0,1,0,0,5,0,0,0,0,0,0,2,20,0,0,0,0,0,7,0,1,1,0,1,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,2,0,1,3,0,0,0,0,0,0,0,0,0,0,9,4,0,0,3,0,0,3,1,13,0,0,0,0,0,0,0,1,0,3,16,4,27,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,10,155,0,0,20,1,4,0,0,0,0,0,0,0,1,0,4,0,0,0,4,5,0,0,0,0,0,0,1,0,7,0,0,0,1,11,0,9,0,0,0,0,0,0,0,3,0,0,0,1,1,1,0,5,0,1,0,3,1,0,0,0,7,1,2,0,0,9,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,1,0,0,0,0,0,0,0,11,0,1,1,0,1,6,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,3,2,24,7,1,7,2,0,4,0,2,0,4,2,2,6,3,1,0,0,2,0,0,0,1,14,0,3,10,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,1,18,0,0,0,1,0,2,1,1,18,0,2,0,0,0,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,2,0,0,0,0,0,4,0,1,0,0,0,12,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,1,2,1,0,0,0,1,0,0,0,0,1,1,11,0,0,0,0,0,1,0,0,6,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,3,0,0,0,0,0,0,0,8,1,0,0,5,0,4,0,0,0,0,1,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,1,0,4,0,0,0,0,0,4,1,0,0,0,5,0,13,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,0,0,15,0,3,0,0,0,35,6,0,0,0,0,0,0,1,0,0,3,1,0,0,0,0,0,0,0,0,4,2,0,0,0,2,1,1,0,0,0,0,0,0,0,0,3,0,0,0,5,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,24,1,0,0,0,0,0,12,2,0,0,0,0,1,7,0,8,0,4,0,0,0,4,4,1,3,0,11,0,0,0,5,1,0,1,0,0,0,1,1,1,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,11,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,2,0,6,1,6,2,0,0,0,0,0,2,3,0,0,0,45,1,3,0,0,0,0,3,0,0,2,4,0,0,0,0,4,0,9,0,0,0,0,2,0,0,0,0,0,8,0,0,0,1,0,1,1,3,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,4,3,3,2,5,0,3,0,3,0,28,1,0,0,12,0,3,0,0,1,6,0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,6,1,0,4,0,0,0,0,0,0,0,1,0,0,4,0,1,2,6,7,0,0,4,0,31,2,3,0,1,3,0,0,1,0,0,1,0,1,1,2,3,0,4,0,8,1,0,0,0,0,0,1,1,0,1,5,0,2,0,0,3,11,0,19,0,0,0,4,0,0,0,0,0,0,0,0,7,3,0,0,0,1,0,0,0,30,0,0,1,0,0,0,0,0,0,1,1,0,0,10,3,0,1,1,4,1,0,0,0,1,1,0,1,0,1,0,0,0,0,0,0,0,0,2,5,0,0,2,0,0,1,68,0,2,3,9,0,1,0,1,0,0,0,0,3,0,0,0,2,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,16,0,0,0,0,0,0,7,0,0,8,2,22,0,0,0,0,1,0,2,0,0,0,0,1,0,0,0,0,1,1,0,2,0,0,0,0,1,0,0,0,6,2,3,2,3,2,0,1,0,27,4,0,0,0,0,0,37,1,0,0,0,3,0,0,0,40,1,0,3,2,2,0,0,0,19,0,2,0,0,0,0,0,1,0,0,0,0,0,2,0,0,1,0,0,1,0,0,0,0,0,0,0,47,0,0,0,3,1,0,0,0,0,2,0,0,25,1,2,0,0,6,0,0,0,0,0,0,0,1,3,0,3,0,0,0,2,9,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,4,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,2,1,1,0,3,0,2,0,0,5,3,0,0,0,0,14,0,0,5,2,0,0,14,11,1,1,0,0,7,0,0,0,0,2,0,19,2,0,0,0,2,4,0,7,1,1,0,0,0,5,0,6,0,0,0,0,1,2,0,0,6,1,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,3,0,0,0,0,1,0,6,682,0,0,0,0,6,0,0,3,2,0,0,0,0,7,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,4,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,4,0,0,0,2,0,0,1,1,0,0,0,0,2,0,12,0,82,7,0,0,2,4,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,3,4,0,1,0,0,0,2,0,0,1,0,24,0,1,22,0,27,0,0,0,0,0,0,0,0,12,0,0,3,0,0,0,1,0,0,0,0,0,0,1,0,2,5,0,0,7,10,0,0,0,0,0,0,0,4,3,4,2,1,5,0,0,0,0,0,0,1,0,0,17,0,0,0,4,0,0,0,0,0,2,3,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,9,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,1,319,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,2,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,1,0,0,1,0,1,0,0,1,0,1,0,5,0,0,0,0,0,2,2,0,0,0,0,1,0,0,9,0,0,18,4,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,10,0,0,0,0,0,5,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,16,0,0,2,3,0,0,0,0,2,0,1,0,13,0,0,0,1,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,8,3,1,0,0,0,0,0,0,0,0,39,10,4,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,9,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4,3,0,0,0,0,0,0,0,3,0,0,9,0,0,3,0,0,1,0,0,11,0,0,3,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,13,0,0,0,12,0,0,0,0,1,3,0,0,0,0,44,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,2,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,5,0,1,0,1,0,1,1,0,0,0,0,0,15,0,0,0,0,0,0,15,1,4,41,11,6,20,0,0,0,24,0,0,0,0,0,0,3,1,0,4,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,3,8,0,0,19,0,0,1,0,0,0,0,0,5,1,0,0,0,0,2,0,25,0,0,4,1,0,0,0,0,0,0,0,0,6,0,1,0,0,0,4,0,0,0,9,26,0,3,9,3,0,0,0,0,4,0,2,0,0,0,2,2,3,2,0,0,0,3,2,0,2,0,1,0,2,2,0,2,0,0,0,0,0,0,0,4,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,22,0,0,0,0,0,5,5,2,9,3,0,0,0,2,3,0,17,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,62,1,0,0,0,0,1,0,0,10,2,15,0,0,0,0,0,0,0,0,0,0,0,3,1,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,145,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,0,1,0,2,0,0,0,0,0,1,3,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,6,70,0,0,0,0,0,0,0,0,2,0,0,3,0,2,0,0,9,0,0,0,0,0,2,0,0,1,1,1,0,5,0,0,0,1,0,0,0,2,0,0,2,0,0,0,0,0,1,0,5,44,0,0,0,0,0,0,7,0,0,0,0,0,0,30,0,0,3,0,2,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,2,0,0,0,3,3,52,0,8,0,9,21,2,0,0,0,0,0,1,0,0,4,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,0,3,0,0,5,0,0,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,2,3,1,0,1,0,0,0,4,1,0,0,0,2,0,0,0,0,32,5,70,2,2,0,11,0,0,1,0,0,1,0,6,0,0,0,0,2,9,1,15,4,11,4,0,0,0,1,0,11,1,0,0,5,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,15,0,1,6,0,0,0,0,0,3,0,0,5,11,0,36,0,1,0,0,1,13,0,0,0,11,0,0,8,0,0,0,0,0,0,0,0,0,0,11,0,5,3,0,2,0,21,0,3,0,0,0,0,3,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,1,0,1,0,7,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,0,0,1,142,0,1,3,7,2,1,0,0,6,0,1,0,0,3,0,0,1,0,0,0,0,0,0,0,0,13,0,0,1,0,0,0,27,0,0,0,17,0,0,3,0,0,0,246,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,1,39,23,1,0,4,3,5,6,0,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,2,4,1,14,0,3,36,0,0,0,0,0,0,1,6,0,0,0,0,4,1,0,0,1,0,0,0,0,1,4,0,6,2,0,0,0,2,1,3,0,0,0,3,0,2,0,0,2,0,2,34,0,16,3,0,0,0,3,0,0,136,2,0,0,0,1,0,0,1,0,3,0,2,1,5,2,4,4,0,0,2,1,5,1,1,0,0,3,0,0,0,0,1,22,5,0,0,0,0,0,0,0,1,0,0,0,6,0,2,5,0,0,15,0,263,0,1,0,0,5,0,0,0,0,1,0,0,0,0,8,0,1,0,0,0,0,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,15,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,2,3,0,0,0,0,3,0,0,7,43,0,1,1,0,0,0,0,1,2,0,0,13,0,0,0,0,0,0,0,0,248,0,0,19,1,0,0,0,0,7,0,8,1,0,0,2,1,2,0,0,1,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,16,3,2,0,0,1,5,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,1,12,4,0,3,0,0,0,0,0,27,4,2,0,0,0,0,0,1,1,0,1,7,1,0,2,233,0,0,0,0,2,1,0,1,0,0,1,0,0,0,0,3,1,14,0,1,0,0,1,3,1,1,0,0,0,0,0,1,0,0,2,0,0,5,0,0,20,0,2,0,1,0,0,0,0,0,2,1,0,0,0,0,0,55,0,2,0,0,0,0,0,0,0,0,0,0,17,0,0,10,0,0,12,0,0,2,0,1,0,0,0,1,14,7,0,2,0,10,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,0,3,0,1,2,0,0,0,0,0,67,0,0,3,0,37,0,0,0,0,0,0,13,1,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,1,0,20,0,0,2,0,0,0,0,0,3,0,1,0,6,0,0,0,0,0,1,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,19,0,0,0,0,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,0,1,1,0,13,0,0,0,0,0,0,3,1,0,0,0,0,0,0,5,0,0,1,0,0,0,4,0,13,0,10,0,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,13,0,8,2,0,0,2,1,2,2,0,12,1,2,0,0,0,6,0,1,0,3,0,0,2,12,3,13,0,2,7,0,0,0,0,33,1,1,2,2,0,0,0,0,1,0,0,0,0,8,2,0,7,0,0,0,0,0,0,0,1,0,2,2,1,7,0,0,2,0,11,0,0,0,1,0,0,0,0,4,0,0,6,0,1,0,0,0,0,1,0,1,0,0,0,3,1,0,0,0,0,2,0,3,3,1,0,0,0,9,0,1,0,0,1,6,5,0,28,4,6,0,0,3,0,0,2,13,7,0,0,0,1,49,0,0,0,0,3,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,4,12,0,0,0,0,0,0,0,0,0,0,0,5,0,1,2,2,0,0,0,3,1,1,0,0,3,8,0,0,0,0,5,0,0,0,0,3,1,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,1,0,0,0,0,0,3,38,0,2,0,7,0,0,0,1,0,14,0,3,0,0,2,0,4,0,0,0,0,0,0,0,0,0,5,0,1,0,0,0,3,0,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,0,0,0,1,0,0,0,0,0,6,3,0,0,3,5,1,0,1,1,0,0,0,0,0,0,0,3,0,0,2,0,11,0,13,8,0,4,0,0,0,0,0,0,1,0,0,6,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,8,3,0,0,3,0,0,6,0,0,2,0,0,0,5,10,0,0,4,1,0,1,0,0,0,0,6,0,0,0,0,10,1,0,0,0,0,0,0,0,0,0,0,2,0,0,12,1,0,0,0,1,0,6,0,0,0,2,0,17,2,1,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,1,0,1,0,1,1,1,0,0,32,0,7,14,0,9,5,0,0,1,3,2,0,0,11,3,0,6,9,0,0,10,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,3,0,7,1,86,0,0,0,0,0,14,4,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,1,0,6,0,0,0,0,1,3,6,1,0,0,0,0,2,0,0,0,0,0,2,6,0,0,0,0,0,1,0,0,0,1,0,0,0,14,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,1,0,0,0,0,8,1,0,6,0,2,9,0,0,0,0,0,17,1,0,0,0,5,0,1,0,33,0,0,0,2,0,0,6,2,0,0,0,5,1,0,0,0,2,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,18,0,6,0,0,0,0,31,0,0,0,2,0,0,2,0,0,2,0,0,2,0,0,0,0,4,0,0,2,0,0,0,0,0,0,3,0,2,11,0,10,0,1,0,0,0,0,320,2,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,2,1,1,0,0,0,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,0,0,1,0,2,0,1,0,1,0,0,20,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,1,0,2,1,1,0,1,2,0,1,0,2,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,33,0,0,0,0,0,0,1,0,0,0,0,8,6,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,5,0,0,0,0,1,0,0,6,1,0,3,6,0,0,1,0,0,1,0,2,0,1,0,0,0,0,0,0,0,4,0,0,0,1,0,0,3,1,0,1,1,0,0,0,2,1,0,0,0,1,4,0,0,0,0,0,0,0,0,2,3,1,4,0,1,0,0,1,1,15,20,0,0,2,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,10,3,0,1,0,0,0,0,0,5,0,0,1,0,0,0,0,0,3,0,0,10,6,0,2,0,0,0,1,1,1,2,2,22,2,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,6,1,10,0,0,1,0,0,1,0,0,0,0,1,0,3,1,0,6,1,2,1,0,0,0,1,0,0,3,4,0,0,2,0,0,0,2,17,0,0,0,1,9,0,3,1,1,0,0,0,0,1,10,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,11,0,0,0,0,0,0,0,2,0,2,0,0,0,3,0,0,0,0,1,0,0,0,5,1,0,0,0,0,0,3,1,1,0,2,6,0,0,0,0,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,4,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,9,9,2,0,1,0,0,0,1,0,1,3,0,0,0,2,1,0,0,8,0,0,0,0,0,8,14,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,1,4,1,2,4,0,0,14,10,0,0,0,2,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,5,1,4,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,1,0,0,1,0,20,0,727,0,0,1,0,0,0,0,1,1,8,0,0,1,3,0,0,4,0,0,0,0,0,0,1,0,0,0,0,1,9,0,0,0,0,2,0,4,1,1,0,1,0,5,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,5,2,0,0,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,0,0,0,1,0,1,2,0,0,0,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,9,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,85,1,45,8,98,0,0,0,0,0,0,0,0,0,0,9,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,2,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,8,0,0,1,2,1,0,0,0,3,0,1,4,0,0,0,0,0,1,0,0,0,6,20,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,5,2,0,2,0,1,0,6,0,0,0,0,0,0,0,0,0,0,16,1,1,0,0,0,0,2,0,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,0,0,1,0,4,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,1,1,1,6,0,0,0,1,0,0,0,1,0,0,0,6,2,2,1,0,1,3,0,0,1,0,1,0,0,1,0,2,1,0,0,3,0,0,0,2,2,0,3,0,0,0,1,0,2,0,1,0,1,0,1,1,1,0,2,1,1,1,4,1,0,0,0,3,0,0,0,1,2,0,1,1,1,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,5,0,0,0,0,0,2,0,0,14,0,8,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,3,0,4,0,2,1,0,0,0,1,2,0,4,2,0,0,0,0,1,0,1,0,0,0,0,12,3,0,5,0,0,3,1,6,0,7,3,0,0,0,17,0,0,0,0,0,0,0,0,6,0,0,0,1,1,4,0,0,0,0,0,2,0,0,0,0,0,0,91,0,0,1,2,0,0,1,3,0,0,2,0,0,5,4,0,0,0,0,0,0,1,0,7,2,0,0,0,0,0,16,0,0,0,0,0,34,5,0,0,0,4,0,1,4,0,5,0,0,0,6,0,0,0,0,0,0,2,3,0,0,0,0,0,0,0,0,0,15,0,6,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,5,0,0,0,1,0,0,0,0,0,2,0,0,2,0,0,0,4,18,1,0,0,0,0,0,0,0,0,1,1,0,5,2,0,0,0,1,1,0,0,0,0,4,5,0,0,0,32,0,2,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,2,0,0,0,0,4,3,0,0,0,0,0,0,0,0,0,0,4,8,3,0,0,0,0,10,1,2,1,9,22,0,0,0,0,0,2,0,4,0,7,0,1,0,0,0,0,0,0,2,11,4,17,0,0,0,2,131,0,2,0,0,0,0,0,0,3,4,1,2,1,0,1,10,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,8,0,0,0,0,5,1,0,0,1,1,1,0,1,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,2,0,0,1,0,0,6,0,0,0,3,0,0,2,0,0,0,0,0,0,1,0,7,0,1,2,0,0,5,2,0,0,2,0,0,0,5,1,0,0,1,0,0,0,0,0,35,0,0,0,2,2,2,0,0,0,0,0,0,7,2,0,0,0,8,0,0,1,1,2,2,1,0,0,0,0,0,0,0,0,1,0,0,7,0,1,0,0,0,0,1,4,1,2,3,14,0,1,1,83,0,0,0,0,2,0,1,0,1,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,1,0,0,1,0,0,10,5,1,0,2,0,0,0,0,0,0,0,3,0,0,2,20,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,2,6,3,3,0,0,0,0,0,0,0,0,0,0,4,1,0,2,4,0,0,0,0,2,0,6,0,0,1,12,2,0,1,2,3,2,5,0,4,1,0,0,1,0,0,1,0,2,1,2,1,0,0,0,0,1,0,4,0,1,0,0,1,0,3,2,0,0,0,0,0,0,0,3,0,42,0,2,0,3,0,0,0,0,0,0,25,10,0,0,25,2,1,5,0,47,0,6,6,0,1,1,0,0,0,0,4,32,8,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,1,0,0,183,0,7,0,3,1,0,17,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,3,0,1,1,0,6,7,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,2,6,0,0,3,1,1,5,1,10,0,0,0,10,0,3,0,1,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,4,0,0,1,0,0,0,0,0,0,0,2,0,0,1,0,0,0,143,0,0,4,11,1,0,0,6,0,4,0,0,26,0,0,0,0,0,0,0,0,0,1,2,11,1,0,5,1,0,3,0,6,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,13,0,0,12,0,0,0,0,2,19,0,0,0,0,0,9,3,0,1,0,1,0,0,3,0,0,0,1,0,4,0,0,0,3,6,0,0,16,1,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,12,14,1,0,0,6,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,8,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,24,0,0,0,0,0,0,1,13,0,0,0,0,0,0,0,0,2,0,0,1,1,0,1,3,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,5,0,0,0,0,0,0,25,0,0,3,0,4,0,0,1,8,14,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,3,0,0,0,0,0,40,12,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,1,0,0,3,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,0,0,0,0,4,2,0,0,0,2,0,0,0,0,2,0,0,0,0,2,0,5,0,0,1,22,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,2,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,4,0,1,0,0,0,0,1,0,4,0,0,0,0,0,0,4,3,0,0,0,2,0,0,7,0,0,0,1,1,0,5,0,0,0,0,0,0,0,0,0,17,0,1,1,4,0,1,2,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,1,0,0,2,0,0,1,2,0,0,0,1,1,2,0,0,1,0,3,0,0,0,1,0,1,0,0,3,0,2,0,0,8,0,0,0,0,0,1,0,0,4,0,1,0,16,1,0,0,0,1,0,0,0,2,1,0,1,0,0,1,8,0,0,0,0,0,0,0,0,3,0,1,0,6,0,2,0,2,3,0,0,0,1,2,0,0,0,0,0,5,8,1,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,1,2,0,4,0,0,0,0,0,2,0,0,0,0,0,9,0,0,0,0,1,0,2,0,0,0,0,1,0,2,0,0,4,0,0,8,55,0,0,0,0,0,0,3,4,0,0,0,0,0,1,0,0,0,0,0,2,9,0,0,0,37,0,1,0,0,6,7,0,0,1,0,0,0,0,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,4,0,0,0,6,0,3,9,0,0,0,0,2,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,3,1,0,2,0,1,0,0,0,0,1,2,3,0,1,1,0,2,0,2,1,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,2,0,1,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,1,0,1,1,1,0,5,37,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,1,7,0,0,0,0,0,0,2,0,2,6,0,0,0,0,4,0,0,2,0,1,2,0,0,0,0,0,1,0,0,0,2,0,0,22,1,0,0,0,0,1,0,19,0,8,0,1,2,3,0,0,0,0,3,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,6,0,0,0,0,0,0,0,0,0,0,1,1,1,0,8,7,0,3,0,0,1,1,0,0,0,0,0,0,0,0,0,0,34,1,0,0,0,2,12,33,10,0,1,1,0,0,0,2,0,0,0,5,0,0,0,1,0,1,0,2,0,0,0,0,3,0,1,6,9,8,0,0,0,0,0,2,0,8,0,2,1,62,0,0,0,1,0,0,0,13,0,0,0,0,0,1,0,5,0,0,0,0,0,0,0,1,0,0,0,0,0,1,4,0,2,4,0,0,0,0,3,0,8,0,0,0,1,0,0,0,0,0,8,0,2,0,1,0,0,0,0,1,0,4,0,0,4,0,0,6,1,0,7,3,0,0,0,0,2,1,0,14,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,1,0,0,4,0,1,0,3,0,1,0,0,0,0,0,5,6,3,1,0,5,0,0,4,0,0,0,0,18,0,0,1,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,2,0,0,2,0,2,17,0,0,0,0,0,1,1,0,0,0,1,1,0,4,0,0,6,0,70,1,0,0,0,1,5,4,1,0,0,0,1,0,10,53,0,2,6,3,0,0,0,0,0,0,0,0,33,0,28,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,1,0,0,0,0,1,0,2,0,0,0,0,1,1,1,0,212,1,1,0,1,0,1,9,3,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,14,0,1,0,0,14,2,0,0,0,0,0,2,0,0,17,0,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,1,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,12,26,0,0,16,1,1,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,7,7,0,0,0,0,0,2,18,5,0,6,0,0,0,0,0,1,0,4,0,0,0,0,11,0,11,0,0,0,0,0,0,0,1,0,4,0,0,1,0,0,7,0,0,0,0,0,0,0,1,0,0,7,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,7,3,0,2,0,0,0,0,1,0,0,2,0,0,5,0,0,1,0,1,0,0,0,0,1,11,0,0,0,0,0,3,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,1,1,3,0,0,0,2,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,15,0,0,2,62,0,0,4,1,2,0,0,0,0,0,0,0,6,0,0,2,6,0,0,0,0,0,1,14,3,2,0,0,0,0,0,0,0,0,0,0,0,6,0,0,2,0,5,0,1,2,0,2,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,217,0,0,0,0,0,0,0,0,6,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,9,0,0,0,0,0,1,0,3,0,0,0,0,0,2,6,4,2,0,5,0,4,0,0,0,2,1,9,2,0,0,2,0,0,0,0,0,0,0,0,2,0,1,1,7,0,1,0,3,5,0,0,0,0,2,1,0,9,0,0,2,0,0,1,0,0,0,5,0,0,0,3,0,0,1,0,0,0,2,2,0,0,0,0,0,3,1,0,0,4,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,171,0,197,2,2,0,0,0,12,0,8,4,4,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1,9,0,0,0,1,1,1,6,0,0,0,0,0,0,0,1,0,0,0,0,0,3,9,0,5,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,6,3,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,0,0,1,0,6,0,1,0,1,1,1,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,51,2,0,0,0,0,0,0,0,3,0,1,0,1,3,0,0,0,3,0,0,0,0,9,1,0,32,1,1,0,0,0,1,0,3,0,2,0,0,3,0,0,0,11,1,0,6,0,0,14,10,23,0,0,1,0,0,0,3,0,0,1,3,0,0,0,0,1,25,1,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,1,0,3,1,0,0,0,0,12,4,0,0,14,0,2,0,0,0,4,0,0,0,5,0,1,0,0,0,1,0,0,0,0,0,2,4,0,0,3,11,0,11,5,1,0,2,0,5,7,0,0,6,0,0,0,0,0,0,0,0,0,5,0,0,0,2,22,0,54,0,1,0,5,0,0,0,0,7,0,0,6,0,1,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,1,0,0,0,18,0,0,2,3,0,0,0,0,0,0,0,0,0,0,1,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,0,0,0,0,0,7,0,0,0,0,0,123,0,1,0,0,0,1,59,2,0,0,0,12,14,0,4,0,0,0,0,2,0,0,41,0,0,0,0,0,6,0,0,4,7,0,1,0,0,0,0,1,0,5,0,0,0,1,0,0,2,0,0,0,0,3,0,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,4,1,0,6,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,1,0,4,0,0,0,0,51,0,0,0,0,1,1,0,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,0,2,3,0,0,3,0,4,0,0,4,0,0,0,1,0,0,3,0,0,0,0,0,1,5,1,2,0,58,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,7,0,0,1,0,2,9,0,0,0,3,8,0,0,0,4,0,1,0,0,0,0,0,0,0,4,0,0,1,0,0,0,0,9,0,1,0,1,0,0,0,0,0,0,0,0,0,0,2,0,12,0,0,1,0,0,0,2,0,2,1,0,0,0,1,4,0,0,1,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,2,2,0,0,0,0,3,0,0,0,0,0,0,0,5,2,0,0,0,35,1,5,6,4,0,9,4,10,0,0,0,0,0,3,0,0,0,0,0,1,7,0,9,0,0,0,0,1,3,0,1,0,3,2,0,0,0,0,0,0,0,0,1,9,16,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,13,0,0,1,0,0,1,2,0,0,0,0,0,0,0,3,0,0,1,0,0,0,5,0,4,0,0,1,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,1,0,1,8,0,0,0,1,1,0,6,1,2,1,7,0,0,0,0,0,1,1,0,0,0,0,0,0,0,12,18,0,0,0,0,0,0,5,0,0,0,0,3,0,0,0,0,5,1,0,1,0,0,0,0,0,1,8,2,0,1,1,3,0,0,0,1,12,0,7,0,11,2,0,0,0,6,0,0,0,0,0,2,1,0,0,0,0,0,0,1,0,0,0,6,0,0,0,0,5,1,0,0,0,0,0,1,0,5,0,0,0,5,0,0,0,0,0,0,1,1,0,0,0,2,0,0,0,0,79,0,1,0,0,0,0,0,0,9,0,1,0,2,0,2,0,0,4,0,10,1,0,0,0,8,0,1,21,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,4,2,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,1,21,1,0,0,0,0,11,5,11,0,0,0,4,1,0,0,0,12,2,0,0,0,0,75,0,242,1,11,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,0,0,0,0,0,0,0,1,4,0,0,0,0,0,1,2,0,0,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,1,3,0,0,0,0,0,0,1,0,0,3,0,2,3,0,0,0,5,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,11,1,0,10,0,9,2,0,2,0,1,1,0,0,0,0,0,0,3,1,0,0,0,0,7,0,0,0,4,0,0,0,4,0,0,5,0,0,0,1,5,0,0,0,0,0,0,11,1,0,0,14,1,0,0,6,0,1,0,0,0,3,0,0,0,0,0,7,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,5,0,0,0,0,1,0,0,0,0,0,0,11,0,3,3,0,0,0,1,1,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,3,4,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,1,5,8,3,1,0,2,0,0,0,2,0,0,7,0,39,0,1,12,0,3,0,0,1,0,0,1,0,0,0,1,1,19,2,27,0,0,1,0,0,0,0,1,0,2,0,0,0,0,26,0,0,2,0,0,0,2,3,75,0,0,1,1,1,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,3,0,0,3,2,51,2,4,0,0,2,3,0,4,0,0,2,0,0,0,0,1,0,1,0,0,0,0,0,2,0,0,2,0,0,0,78,0,0,0,0,0,0,0,24,1,1,0,0,1,0,0,0,1,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,1,0,0,1,2,0,0,6,11,1,0,0,2,4,1,0,0,0,0,0,3,6,0,0,0,6,0,0,0,0,0,0,0,0,1,2,0,0,0,1,0,0,0,0,2,0,4,7,1,0,0,0,0,1,0,2,0,0,0,0,0,0,9,0,6,0,0,2,29,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,6,0,3,26,0,0,5,3,1,7,1,0,0,5,0,0,0,7,0,0,0,0,0,0,0,49,8,0,1,0,14,3,2,0,4,0,4,4,0,0,0,0,0,0,0,0,0,1,0,0,5,0,1,3,1,0,0,0,0,11,2,5,3,0,1,1,0,0,0,0,11,0,0,3,0,0,0,22,0,31,61,4,0,7,9,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,3,0,5,0,6,1,0,0,1,1,0,0,10,0,0,0,0,1,0,0,2,1,24,4,0,1,0,3,0,0,4,0,0,0,3,9,1,0,0,0,0,3,0,1,0,0,0,2,0,0,1,0,5,0,0,3,0,1,0,0,27,0,0,1,0,2,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,4,0,3,0,4,0,0,0,0,1,0,2,1,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,13,0,1,2,7,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,2,0,0,4,0,4,1,0,2,0,3,0,0,0,0,0,0,1,0,0,0,3,7,0,0,0,2,0,2,5,0,11,0,0,1,0,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,0,0,0,1,0,8,0,0,0,0,0,0,9,0,0,5,0,0,0,0,0,5,0,0,0,0,15,1,1,0,5,8,0,0,0,0,1,0,0,0,4,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,3,0,0,1,1,0,0,5,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,2,1,0,0,1,0,3,0,0,0,0,0,0,10,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,4,0,0,0,0,0,5,0,0,0,3,0,0,15,0,1,11,0,1,0,0,0,0,0,0,0,0,5,3,1,0,1,1,1,0,0,0,6,0,0,0,0,0,0,1,0,0,49,0,0,4,6,0,58,0,0,4,0,2,2,0,1,0,3,1,0,0,0,0,0,1,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,2,3,20,0,0,2,4,0,0,3,0,0,0,0,0,15,0,0,9,0,0,0,0,0,0,0,5,19,4,0,0,0,0,1,0,0,0,4,2,0,1,0,0,0,0,6,4,9,0,0,1,0,0,0,0,0,0,0,0,0,3,0,1,0,12,0,1,0,0,3,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,1,2,2,0,0,7,0,0,0,0,9,0,0,5,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,11,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,0,0,6,0,0,0,3,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,2,0,0,0,7,0,0,0,0,0,2,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,2,4,0,0,1,1,1,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,1,0,0,3,2,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,13,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,1,55,1,6,0,0,0,0,0,0,7,2,0,0,0,2,4,16,0,0,0,0,0,0,0,0,13,0,1,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,4,67,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +Fn = ecdf(a) +max_x = round(log(max(knots(Fn)),2),0) +xx = c(0,2^seq(0,max_x,by=2)) +y=Fn(xx) +xlog = log(xx[2:length(xx)],base=2) +plot(x=c(-1,xlog),y=y,xaxt = 'n',type="b",col="blue",pch=20,xlab="Number of Reads",ylab="Cumulative proportion of Genes") +axis(1,at = c(-1,seq(0,max_x,by=2)),labels=c(0,2^seq(0,max_x,by=2))) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.clipping_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.clipping_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.clipping_profile.png",width=500,height=500,units="px") +read_pos=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99) +count=c(10290,9294,8453,7955,7448,6951,6512,6050,5602,5219,4931,4682,4396,4114,3827,3540,3283,3032,2781,2555,2301,2073,1849,1638,1411,1212,1012,799,634,485,341,201,104,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,108,203,338,496,660,807,995,1203,1420,1604,1824,2020,2220,2460,2668,2901,3139,3379,3631,3895,4137,4426,4691,4976,5369,5810,6205,6686,7174,7678,8224,9087,10073) +plot(read_pos,1-(count/77686),pch=20,xlab="Position of reads",ylab="Mappability",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.clipping_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.clipping_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,101 @@ +Position Read_Total Read_clipped +0 77686 10290 +1 77686 9294 +2 77686 8453 +3 77686 7955 +4 77686 7448 +5 77686 6951 +6 77686 6512 +7 77686 6050 +8 77686 5602 +9 77686 5219 +10 77686 4931 +11 77686 4682 +12 77686 4396 +13 77686 4114 +14 77686 3827 +15 77686 3540 +16 77686 3283 +17 77686 3032 +18 77686 2781 +19 77686 2555 +20 77686 2301 +21 77686 2073 +22 77686 1849 +23 77686 1638 +24 77686 1411 +25 77686 1212 +26 77686 1012 +27 77686 799 +28 77686 634 +29 77686 485 +30 77686 341 +31 77686 201 +32 77686 104 +33 77686 0 +34 77686 0 +35 77686 0 +36 77686 0 +37 77686 0 +38 77686 0 +39 77686 0 +40 77686 0 +41 77686 0 +42 77686 0 +43 77686 0 +44 77686 0 +45 77686 0 +46 77686 0 +47 77686 0 +48 77686 0 +49 77686 0 +50 77686 0 +51 77686 0 +52 77686 0 +53 77686 0 +54 77686 0 +55 77686 0 +56 77686 0 +57 77686 0 +58 77686 0 +59 77686 0 +60 77686 0 +61 77686 0 +62 77686 0 +63 77686 0 +64 77686 0 +65 77686 0 +66 77686 0 +67 77686 108 +68 77686 203 +69 77686 338 +70 77686 496 +71 77686 660 +72 77686 807 +73 77686 995 +74 77686 1203 +75 77686 1420 +76 77686 1604 +77 77686 1824 +78 77686 2020 +79 77686 2220 +80 77686 2460 +81 77686 2668 +82 77686 2901 +83 77686 3139 +84 77686 3379 +85 77686 3631 +86 77686 3895 +87 77686 4137 +88 77686 4426 +89 77686 4691 +90 77686 4976 +91 77686 5369 +92 77686 5810 +93 77686 6205 +94 77686 6686 +95 77686 7174 +96 77686 7678 +97 77686 8224 +98 77686 9087 +99 77686 10073 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.geneAbundance.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.geneAbundance.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,27321 @@ +gene Counts +AADACL3 0 +AADACL4 0 +ABCD3 1 +ACADM 0 +ACKR1 0 +ACOT11 0 +ACTG1P4 0 +ACTL8 172 +ACTN2 0 +ACTRT2 0 +ADAM15 0 +ADAMTSL4 0 +ADCK3 0 +ADORA1 0 +ADPRHL2 0 +AGL 0 +AGO1 0 +AGO3 0 +AGO4 0 +AGRN 0 +AGTRAP 0 +AHCYL1 2 +AJAP1 0 +AK4 2 +AK5 0 +AKIRIN1 5 +AKR1A1 0 +AKR7A2P1 0 +ALG6 0 +ALPL 0 +AMPD2 1 +AMY1A 0 +AMY1B 0 +AMY1C 0 +AMY2A 0 +AMY2B 0 +ANGPTL3 0 +ANGPTL7 0 +ANKRD34A 0 +ANKRD35 0 +ANXA9 0 +AP4B1-AS1 0 +APCS 0 +APITD1 5 +APITD1-CORT 8 +APOA1BP 0 +AQP10 0 +ARF1 17 +ARHGEF10L 0 +ARHGEF16 1 +ARID1A 20 +ARTN 0 +ARV1 0 +ASH1L-AS1 0 +ATAD3A 0 +ATAD3B 0 +ATAD3C 2 +ATF3 0 +ATF6 4 +ATG4C 1 +ATP1A1 22 +ATP1A2 0 +ATP1A4 0 +ATP1B1 9 +ATP2B4 12 +ATP5F1 1 +ATP6V0B 0 +ATP8B2 0 +ATPIF1 0 +ATXN7L2 1 +AVPR1B 0 +AXDND1 0 +AZIN2 1 +B3GALT6 0 +B4GALT2 0 +BCAN 0 +BCL9 2 +BECN1P1 0 +BGLAP 0 +BLZF1 0 +BMP8A 0 +BNIPL 0 +BOLA1 1 +BRDT 6 +BRINP2 0 +BROX 0 +BSND 0 +BTBD19 0 +BTBD8 0 +BTF3L4 1 +BTG2 0 +C1QA 0 +C1QB 0 +C1QC 0 +C1orf100 0 +C1orf101 0 +C1orf105 0 +C1orf106 0 +C1orf112 1 +C1orf115 0 +C1orf122 0 +C1orf137 0 +C1orf146 0 +C1orf158 0 +C1orf162 0 +C1orf167 0 +C1orf177 0 +C1orf185 0 +C1orf21 1 +C1orf213 0 +C1orf220 0 +C1orf226 4 +C1orf228 0 +C1orf27 0 +C1orf50 0 +C1orf53 0 +C1orf54 0 +C1orf56 0 +C1orf64 0 +C1orf68 0 +C1orf94 0 +C1orf95 0 +C4BPA 0 +C4BPB 0 +C8A 0 +CA14 1 +CA6 0 +CACHD1 0 +CACNA1E 0 +CACYBP 6 +CADM3 0 +CALML6 0 +CAMK1G 0 +CAMSAP2 1 +CAMTA1 2 +CAP1 5 +CAPN2 0 +CAPN9 0 +CAPZA1 4 +CASQ1 0 +CATSPER4 0 +CCDC18 2 +CCDC185 0 +CCDC24 0 +CCDC27 5 +CCDC28B 0 +CCDC30 0 +CD101 0 +CD1A 0 +CD1C 0 +CD1D 0 +CD1E 0 +CD2 0 +CD46 0 +CD52 0 +CD53 0 +CD55 6 +CDA 1 +CDC14A 0 +CDC20 6 +CDC42 4 +CDC7 6 +CDC73 0 +CDCA8 17 +CDK18 0 +CDKN2C 0 +CELA2A 0 +CELA2B 0 +CELA3A 0 +CELA3B 0 +CELSR2 0 +CENPF 0 +CEP350 4 +CEP85 9 +CEPT1 0 +CFH 0 +CFHR1 0 +CFHR2 0 +CFHR3 0 +CFHR4 0 +CFHR5 0 +CGN 2 +CHD1L 0 +CHI3L2 0 +CHIA 0 +CHIAP2 0 +CHRM3 0 +CHRNB2 0 +CHTOP 5 +CIART 2 +CKS1B 28 +CLCA1 0 +CLCA2 0 +CLCA3P 0 +CLCA4 0 +CLCN6 0 +CLCNKA 0 +CLCNKB 0 +CLIC4 2 +CMPK1 0 +CNIH3 0 +CNIH4 0 +CNKSR1 0 +CNST 2 +CNTN2 0 +COA6 0 +COG2 1 +CORT 0 +COX20 0 +CPT2 0 +CPTP 0 +CR1 0 +CR1L 0 +CR2 3 +CRB1 0 +CRCT1 0 +CREB3L4 0 +CROCC 0 +CSF1 0 +CSMD2-AS1 0 +CTH 0 +CTPS1 0 +CTRC 0 +CTSE 0 +CTTNBP2NL 13 +CYB561D1 0 +CYCSP52 0 +CYMP 0 +CYP4A22 0 +CYP4B1 0 +CYP4X1 0 +CYP4Z1 0 +CYR61 0 +DAB1-AS1 0 +DAP3 3 +DARS2 1 +DCAF6 4 +DCDC2B 1 +DCLRE1B 3 +DCST1 0 +DDI2 0 +DDR2 0 +DDX11L1 0 +DDX20 4 +DEGS1 0 +DEPDC1-AS1 0 +DESI2 1 +DFFB 0 +DHDDS 1 +DHX9 0 +DIEXF 1 +DIO1 0 +DISC1 0 +DISP1 3 +DLEU2L 0 +DMAP1 0 +DMBX1 0 +DMRTB1 3 +DNAH14 0 +DNAJA1P5 0 +DNAJB4 1 +DNAJC16 1 +DNAJC6 0 +DNALI1 0 +DNASE2B 0 +DNM3 0 +DPH2 0 +DPYD-AS1 0 +DPYD-AS2 0 +DR1 3 +DRAXIN 0 +DRD5P2 0 +DTL 24 +DUSP12 0 +DUSP23 0 +DUSP27 0 +DUSP5P1 0 +DYRK3 0 +ECM1 0 +EDARADD 0 +EFCAB14-AS1 0 +EFCAB2 0 +EFCAB7 0 +EFHD2 0 +EFNA1 0 +EFNA3 1 +EFNA4 1 +EIF3I 1 +ELAVL4 0 +ELF3 0 +EMBP1 0 +ENO1-AS1 0 +EPB41 1 +EPHA8 0 +EPHB2 0 +EPHX1 0 +EPHX4 0 +ERICH3-AS1 0 +ERMAP 0 +ESPN 0 +EXO1 3 +EXO5 7 +EXTL1 0 +FAAH 0 +FAAHP1 0 +FAM102B 0 +FAM110D 0 +FAM159A 0 +FAM163A 0 +FAM167B 0 +FAM177B 0 +FAM183A 0 +FAM19A3 0 +FAM20B 1 +FAM212B-AS1 0 +FAM213B 0 +FAM231A 0 +FAM231D 0 +FAM43B 0 +FAM46C 166 +FAM71A 0 +FAM72A 0 +FAM72B 0 +FAM72C 0 +FAM73A 1 +FAM76A 9 +FAM87B 0 +FASLG 0 +FBLIM1 0 +FBXO28 4 +FBXO44 0 +FBXO6 0 +FCER1A 0 +FCER1G 0 +FCGR1A 0 +FCGR1C 0 +FCGR2A 0 +FCGR2B 0 +FCGR2C 0 +FCRL6 0 +FCRLA 0 +FCRLB 0 +FDPS 0 +FGGY 0 +FHAD1 0 +FLAD1 0 +FLG-AS1 0 +FLJ23867 0 +FLJ31662 0 +FLVCR1 0 +FMN2 1 +FMO1 0 +FMO2 9 +FMO3 1 +FMO4 0 +FMO6P 0 +FMO9P 0 +FNBP1L 3 +FNDC7 0 +FOXD2 0 +FOXD3 0 +FOXE3 0 +FOXO6 0 +FPGT 0 +FPGT-TNNI3K 0 +G0S2 0 +GABPB2 0 +GABRD 0 +GADD45A 0 +GALNT2 0 +GAS5-AS1 0 +GBP1P1 0 +GBP6 0 +GCSAML 0 +GGPS1 2 +GIPC2 0 +GJA4 0 +GJA8 0 +GJB3 0 +GJB4 0 +GJB5 0 +GJC2 0 +GM140 0 +GMEB1 1 +GNAI3 1 +GNG12-AS1 0 +GNPAT 0 +GORAB 0 +GPR137B 3 +GPR25 0 +GPR3 0 +GPR37L1 0 +GPR52 0 +GPR61 0 +GPR88 0 +GPR89B 0 +GPSM2 1 +GPX7 0 +GRHL3 0 +GSTM1 0 +GSTM2 0 +GSTM4 0 +GSTM5 0 +GUCA2B 0 +GUK1 0 +H3F3A 0 +H3F3AP4 0 +H6PD 1 +HAO2 0 +HAO2-IT1 0 +HAPLN2 0 +HAX1 0 +HCN3 0 +HCRTR1 0 +HDAC1 0 +HES3 0 +HFE2 0 +HHAT 3 +HHLA3 0 +HIAT1 13 +HIPK1 0 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AC 0 +HIST2H2BA 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2BB 0 +HLX 0 +HMCN1 6 +HMGB4 0 +HMGN2 3 +HOOK1 1 +HPCA 0 +HPDL 0 +HS2ST1 0 +HSD11B1 0 +HSD17B7 0 +HSD3B1 0 +HSD3B2 0 +HSD3BP4 0 +HSPA6 0 +HSPA7 0 +HTR6 0 +IARS2 0 +IBA57 0 +IER5 0 +IFI16 0 +IFI44 0 +IFI44L 0 +IGFN1 0 +IGSF21 0 +IKBKE 1 +IL12RB2 0 +IL19 0 +IL20 0 +IL23R 10 +IL24 0 +IL6R 0 +INADL 1 +INTS3 1 +IPO13 0 +IPO9 3 +IQCC 0 +ISG15 0 +ITGA10 1 +IVL 0 +KAZN 0 +KCNAB2 0 +KCNC4 4 +KCNJ9 0 +KCNK1 0 +KCNK2 0 +KCNQ4 0 +KCTD3 0 +KDM1A 2 +KDM4A 9 +KHDRBS1 7 +KIAA0754 0 +KIAA1107 1 +KIAA1324 0 +KIAA1522 0 +KIAA1614 0 +KIAA1804 0 +KIF1B 2 +KIF26B 7 +KIF2C 11 +KIRREL 0 +KLF17 0 +KLHDC7A 0 +KLHDC9 0 +KLHL17 0 +KLHL20 8 +KMO 0 +KPNA6 19 +KPRP 0 +L1TD1 0 +LAMC1 1 +LAMC2 0 +LAMTOR2 0 +LAMTOR5-AS1 0 +LAX1 0 +LCE1A 0 +LCE1B 0 +LCE1D 0 +LCE1E 0 +LCE1F 0 +LCE2A 0 +LCE2B 0 +LCE2C 0 +LCE2D 0 +LCE3B 0 +LCE3C 0 +LCE4A 0 +LCE5A 0 +LCE6A 0 +LCK 0 +LDLRAD2 0 +LDLRAP1 4 +LELP1 0 +LEMD1-AS1 0 +LENEP 0 +LEPR 0 +LEPROT 6 +LGALS8 14 +LGR6 1 +LHX4 0 +LHX8 4 +LHX9 0 +LIN28A 0 +LINC00184 0 +LINC00210 0 +LINC00260 0 +LINC00272 0 +LINC00337 0 +LINC00339 0 +LINC00467 0 +LINC00538 0 +LINC00568 0 +LINC00623 0 +LINC00626 0 +LINC00853 0 +LINC00869 0 +LINC01128 2 +LINC01132 0 +LINC01133 0 +LINC01134 0 +LINC01135 0 +LINC01140 0 +LINC01144 0 +LINC01225 0 +LINC01226 0 +LINC01341 0 +LINC01342 0 +LINC01346 0 +LINC01351 0 +LINC01352 0 +LINC01353 0 +LINC01358 0 +LINC01360 0 +LIX1L 0 +LMNA 0 +LMO4 1 +LOC100129046 0 +LOC100129138 0 +LOC100129620 0 +LOC100129924 0 +LOC100130093 0 +LOC100130331 0 +LOC100132057 0 +LOC100132062 0 +LOC100132111 0 +LOC100132287 0 +LOC100133331 0 +LOC100147773 0 +LOC100505887 0 +LOC100506801 0 +LOC100507564 0 +LOC100507634 0 +LOC100996583 0 +LOC100996635 0 +LOC101060524 0 +LOC101926944 0 +LOC101927164 0 +LOC101927478 0 +LOC101927604 0 +LOC101927844 0 +LOC101928009 0 +LOC101928163 0 +LOC101928303 0 +LOC101928372 0 +LOC101928404 0 +LOC101928778 0 +LOC101929181 0 +LOC101929224 0 +LOC101929441 0 +LOC101929631 0 +LOC101929983 0 +LOC102606465 0 +LOC103091866 0 +LOC148413 0 +LOC148696 0 +LOC148709 1 +LOC284581 0 +LOC284632 0 +LOC284648 0 +LOC284661 0 +LOC339529 0 +LOC339539 0 +LOC388692 0 +LOC391003 0 +LOC440700 0 +LOC440704 0 +LOC643355 0 +LOC644961 0 +LOC645166 0 +LOC645354 0 +LOC645382 0 +LOC646626 0 +LOC649324 0 +LOC729970 0 +LOC729987 0 +LOC730159 0 +LOR 0 +LPHN2 0 +LPPR4 0 +LRIG2 0 +LRRC42 1 +LRRC52 0 +LRRC7 0 +LRRC71 0 +LRRC8B 15 +LRRC8C 0 +LRRC8D 1 +LURAP1 0 +LY9 0 +LYPLA2 0 +LYPLAL1 0 +MAB21L3 0 +MACF1 0 +MAEL 14 +MAGI3 0 +MAN1A2 4 +MAN1C1 0 +MANEAL 0 +MAP10 0 +MAP7D1 4 +MAPKAPK2 5 +MARC1 0 +MARC2 0 +MARK1 0 +MAST2 0 +MATN1-AS1 0 +MDM4 9 +MDS2 0 +MED18 0 +METTL11B 0 +METTL13 0 +MFN2 1 +MFSD2A 1 +MFSD4 1 +MGAT4EP 0 +MGC27382 0 +MGC34796 0 +MGST3 0 +MIA3 8 +MIB2 0 +MIER1 1 +MIIP 1 +MINOS1 2 +MINOS1-NBL1 0 +MIR1231 0 +MIR1278 0 +MIR1295B 0 +MIR197 0 +MIR1976 0 +MIR200A 0 +MIR200B 0 +MIR205 0 +MIR205HG 0 +MIR30C1 0 +MIR30E 0 +MIR3115 0 +MIR3117 0 +MIR3119-2 0 +MIR3120 0 +MIR3122 0 +MIR3123 0 +MIR3124 0 +MIR320B1 0 +MIR3620 0 +MIR3658 0 +MIR3659 0 +MIR3675 0 +MIR378F 0 +MIR4251 0 +MIR4255 0 +MIR4257 0 +MIR4258 0 +MIR429 0 +MIR4417 0 +MIR4422 0 +MIR4423 0 +MIR4424 0 +MIR4427 0 +MIR4632 0 +MIR4654 0 +MIR4666A 0 +MIR4671 0 +MIR4677 0 +MIR4684 0 +MIR4781 0 +MIR4794 0 +MIR5187 0 +MIR5191 0 +MIR548AA1 0 +MIR553 0 +MIR554 0 +MIR556 0 +MIR557 0 +MIR5584 0 +MIR6077 0 +MIR6079 0 +MIR6084 0 +MIR6729 0 +MIR6732 0 +MIR6735 0 +MIR6736 0 +MIR6739 0 +MIR6740 0 +MIR6769B 0 +MIR6878 0 +MIR7156 0 +MIR760 0 +MIR7846 0 +MIR7852 0 +MIR92B 0 +MIR942 0 +MIXL1 36 +MKNK1-AS1 0 +MLLT11 7 +MMACHC 0 +MMP23A 0 +MMP23B 0 +MNDA 0 +MOV10 0 +MPL 0 +MPZL1 2 +MR1 0 +MROH7 0 +MROH7-TTC4 2 +MROH9 0 +MRPL37 3 +MRPS21 5 +MRTO4 0 +MSH4 0 +MST1P2 0 +MSTO1 0 +MSTO2P 0 +MTF2 26 +MTFR1L 2 +MTOR-AS1 0 +MTR 4 +MTX1 0 +NASP 9 +NAV1 1 +NBL1 0 +NBPF10 0 +NBPF12 0 +NBPF15 0 +NBPF18P 0 +NBPF20 0 +NBPF25P 0 +NBPF3 0 +NBPF6 0 +NBPF8 0 +NBPF9 0 +NCDN 0 +NCMAP 0 +NCSTN 1 +NDUFS2 3 +NDUFS5 0 +NECAP2 7 +NEK7 1 +NENF 0 +NEXN 0 +NFASC 1 +NFIA 0 +NFYC 4 +NHLH1 0 +NIPAL3 1 +NIT1 1 +NLRP3 0 +NMNAT1 0 +NOS1AP 1 +NOTCH2NL 1 +NPL 3 +NPPA-AS1 0 +NPR1 0 +NR5A2 1 +NSUN4 0 +NTNG1 0 +NTPCR 0 +NTRK1 0 +NUDC 1 +NUF2 18 +OAZ3 0 +OBSCN 0 +OCLM 0 +OLFML3 0 +OPRD1 0 +OPTC 0 +OR10J1 0 +OR10K1 0 +OR10R2 0 +OR10Z1 0 +OR14C36 0 +OR2AK2 0 +OR2G2 0 +OR2G3 0 +OR2G6 0 +OR2L13 0 +OR2L1P 0 +OR2L2 0 +OR2L3 0 +OR2L5 0 +OR2L8 0 +OR2M1P 0 +OR2M2 0 +OR2M3 1 +OR2M4 0 +OR2M5 0 +OR2T1 0 +OR2T2 0 +OR2T3 0 +OR2T4 0 +OR2T5 0 +OR2T6 0 +OR2T8 0 +OR2W3 0 +OR2W5 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR4F5 0 +OR6K6 0 +OSBPL9 4 +OTUD3 6 +OVAAL 0 +PADI1 0 +PADI3 0 +PADI4 0 +PADI6 6 +PALMD 0 +PAPPA2 2 +PARK7 6 +PAX7 0 +PBX1 2 +PCAT6 1 +PCP4L1 173 +PCSK9 0 +PDE4B 0 +PDIA3P1 0 +PDIK1L 0 +PDPN 4 +PDZK1 0 +PEA15 0 +PEAR1 0 +PER3 3 +PEX11B 2 +PEX14 1 +PFKFB2 0 +PGBD2 0 +PGD 2 +PGM1 0 +PHACTR4 0 +PHF13 8 +PHGDH 0 +PIAS3 0 +PIFO 0 +PIGV 1 +PIK3CD 0 +PIN1P1 0 +PINK1 0 +PIP5K1A 0 +PITHD1 4 +PKN2 4 +PKP1 0 +PLA2G2F 0 +PLA2G4A 0 +PLA2G5 0 +PLCH2 0 +PLEKHM2 3 +PLEKHN1 0 +PLEKHO1 0 +PLK3 2 +PLOD1 0 +PMF1 0 +PMF1-BGLAP 0 +PNRC2 1 +PODN 0 +POGK 0 +POU2F1 8 +POU5F1P4 0 +PPCS 1 +PPFIA4 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIE 2 +PPIH 0 +PPOX 0 +PPP1R12B 0 +PPP1R8 0 +PPP2R5A 0 +PQLC2 2 +PRAMEF1 0 +PRAMEF10 0 +PRAMEF12 0 +PRAMEF15 0 +PRAMEF16 0 +PRAMEF17 0 +PRAMEF2 0 +PRAMEF20 0 +PRAMEF22 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRCC 1 +PRDM16 0 +PRDM2 6 +PRDX6 0 +PRELP 0 +PRG4 2 +PRKAA2 0 +PRKACB 0 +PRKCZ 0 +PRMT6 0 +PROK1 0 +PROX1 2 +PRPF3 1 +PRPF38A 3 +PRPF38B 1 +PRR9 0 +PRRC2C 7 +PRRX1 0 +PRSS38 0 +PRUNE 2 +PSEN2 8 +PSMB4 2 +PSMD4 4 +PTBP2 0 +PTCHD2 0 +PTGFR 0 +PTGFRN 0 +PTPRC 0 +PTPRF 1 +PTPRU 1 +PTPRVP 0 +PUSL1 0 +PYHIN1 0 +QSOX1 0 +RAB25 0 +RAB42 0 +RAB4A 0 +RABGAP1L 1 +RABGGTB 0 +RAD54L 2 +RALGPS2 0 +RAP1A 7 +RASAL2 0 +RASSF5 2 +RAVER2 0 +RBBP4 17 +RBM15 4 +RBM8A 1 +RBP7 0 +RCAN3 1 +RCC1 1 +RCOR3 0 +RCSD1 0 +RER1 2 +RGL1 0 +RGS1 0 +RGS13 0 +RGS18 0 +RGS2 750 +RGS21 0 +RGS4 0 +RGSL1 0 +RHBG 0 +RHD 0 +RHOU 0 +RIIAD1 5 +RIMKLA 15 +RLF 12 +RNF11 1 +RNF115 1 +RNF187 3 +RNF2 1 +RNF207 0 +RNF220 0 +RNPC3 1 +RNPEP 1 +RNU11 0 +RNU5F-1 0 +RNU6-2 0 +RNVU1-19 0 +RNVU1-20 0 +ROR1 0 +RPAP2 0 +RPF1 5 +RPL11 16 +RPL5 19 +RPRD2 8 +RPS10P7 0 +RPS14P3 1 +RPS27 10 +RPS6KA1 0 +RPS6KC1 3 +RPS7P5 0 +RPS8 16 +RRNAD1 0 +RRP15 0 +RSC1A1 0 +RTCA 2 +RUSC1 0 +RWDD3 0 +RXFP4 0 +RYR2 6 +S100A1 0 +S100A7A 0 +S100A9 0 +S100PBP 2 +S1PR1 0 +SAMD11 0 +SAMD13 0 +SARS 3 +SCARNA1 0 +SCARNA2 1 +SCCPDH 0 +SCNM1 0 +SCNN1D 0 +SCP2 5 +SDCCAG8 8 +SDHC 1 +SEC22B 0 +SEMA4A 0 +SEPN1 1 +SERINC2 0 +SERTAD4 0 +SESN2 3 +SETDB1 2 +SFN 0 +SFT2D2 0 +SGIP1 0 +SH3BGRL3 0 +SH3D21 0 +SH3GLB1 8 +SHISA4 0 +SKI 3 +SLAMF7 0 +SLAMF8 0 +SLC16A1-AS1 0 +SLC22A15 0 +SLC25A33 1 +SLC25A34 0 +SLC25A44 5 +SLC27A3 0 +SLC2A1-AS1 0 +SLC30A7 4 +SLC35A3 0 +SLC35F3 0 +SLC44A3 0 +SLC45A1 0 +SLC50A1 0 +SLC5A9 0 +SLC6A17 0 +SLFNL1-AS1 0 +SMAP2 0 +SMCP 0 +SMG7 5 +SMIM1 0 +SMPDL3B 0 +SMYD2 0 +SNAP47 3 +SNAPIN 2 +SNHG3 0 +SNORA16B 0 +SNORA59A 0 +SNORA59B 0 +SNORA66 0 +SNORA77 0 +SNORD21 1 +SNORD38A 0 +SNORD38B 0 +SNORD45A 0 +SNORD45B 0 +SNORD45C 0 +SNORD46 0 +SNORD55 0 +SNRPE 3 +SNX27 4 +SNX7 0 +SOAT1 1 +SOX13 8 +SPATA17 0 +SPATA42 0 +SPEN 1 +SPHAR 0 +SPRR1A 0 +SPRR1B 0 +SPRR3 0 +SPRR4 0 +SPRTN 2 +SPSB1 0 +SRGAP2 1 +SRGAP2B 0 +SRGAP2C 0 +SRGAP2D 0 +SRP9 0 +SRRM1 8 +SRSF11 28 +SSBP3-AS1 0 +ST3GAL3 0 +ST6GALNAC3 0 +ST6GALNAC5 0 +STRIP1 4 +STX12 5 +STXBP3 1 +SUCO 2 +SUMO1P3 4 +SWT1 1 +SYCP1 0 +SYPL2 0 +SYT11 0 +SYT14 0 +SYTL1 0 +SZRD1 3 +SZT2 0 +TAF1A-AS1 1 +TARDBP 3 +TARS2 0 +TAS1R1 0 +TAS1R3 0 +TATDN3 0 +TBCE 1 +TBX19 0 +TCEANC2 0 +TCEB3 4 +TCTEX1D1 0 +TDRD10 0 +TDRD5 0 +TEKT2 0 +TEX35 0 +TEX38 0 +TFAP2E 0 +TGFB2 0 +TGFB2-OT1 0 +THAP3 0 +THEMIS2 0 +THRAP3 3 +TIE1 0 +TIMM17A 2 +TINAGL1 0 +TIPRL 0 +TMCC2 2 +TMCO2 0 +TMEM125 0 +TMEM167B 0 +TMEM183A 0 +TMEM183B 0 +TMEM201 3 +TMEM222 0 +TMEM39B 1 +TMEM50A 2 +TMEM51 4 +TMEM56 1 +TMEM56-RWDD3 0 +TMEM57 1 +TMEM61 0 +TMEM69 10 +TMEM79 2 +TMEM82 0 +TMEM88B 0 +TNFAIP8L2 0 +TNFAIP8L2-SCNM1 0 +TNFRSF14 0 +TNFRSF1B 0 +TNFRSF8 0 +TNN 0 +TNNI3K 0 +TOE1 0 +TOMM40L 1 +TOP1P1 2 +TOR1AIP1 0 +TOR3A 0 +TP73 0 +TPRG1L 0 +TRAF3IP3 0 +TRAF5 0 +TRIM46 0 +TRIM58 2 +TRIM67 0 +TRMT13 0 +TRNAU1AP 0 +TRNP1 0 +TROVE2 4 +TSACC 0 +TSEN15 0 +TSHB 0 +TSNAX 5 +TSNAX-DISC1 0 +TSPAN1 0 +TSSK3 0 +TTC24 0 +TTC39A-AS1 0 +TTC4 0 +TTF2 3 +TTLL10 0 +TUFT1 1 +TXLNA 0 +TXNIP 0 +TYW3 1 +UAP1 1 +UBAP2L 0 +UBE2U 0 +UBE4B 1 +UBIAD1 4 +UBL4B 0 +UBXN10 0 +UCK2 1 +UFC1 4 +UHMK1 3 +UQCRH 0 +URB2 0 +UROD 0 +USP1 13 +USP21 0 +UTP11L 3 +VAMP3 3 +VANGL1 4 +VANGL2 0 +VASH2 0 +VAV3-AS1 0 +VCAM1 0 +VN1R5 0 +VPS13D 2 +VPS45 3 +VWA1 0 +VWA5B1 0 +WDR3 0 +WDR63 0 +WDR64 0 +WDR65 0 +WDTC1 0 +WNT2B 0 +WNT3A 0 +XCL1 0 +XKR8 1 +XPR1 2 +YBX1 1 +YTHDF2 4 +ZBED6 0 +ZBTB18 1 +ZBTB37 0 +ZBTB40 0 +ZBTB48 0 +ZBTB7B 0 +ZBTB8A 0 +ZBTB8B 4 +ZC3H11A 2 +ZC3H12A 0 +ZCCHC17 18 +ZDHHC18 0 +ZFP69 0 +ZFP69B 1 +ZFYVE9 1 +ZMPSTE24 4 +ZMYM1 0 +ZMYM4 1 +ZNF326 0 +ZNF362 1 +ZNF593 1 +ZNF672 0 +ZNF678 0 +ZNF684 0 +ZNF687 0 +ZNF691 1 +ZRANB2-AS1 0 +ZRANB2-AS2 0 +ZSCAN20 0 +ZYG11A 2 +ZYG11B 0 +ABCC2 0 +ACADSB 0 +ACSL5 0 +ACSM6 0 +ACTA2-AS1 0 +ACTR3BP5 0 +ADAMTS14 0 +ADARB2-AS1 0 +ADD3 103 +ADIRF 0 +ADK 2 +ADO 3 +ADRA2A 0 +ADRB1 0 +AGAP11 0 +AGAP6 0 +AGAP9 0 +AKR1C1 0 +AKR1C3 4 +AKR1C4 0 +AKR1E2 0 +ALOX5 0 +ANAPC16 3 +ANKRD2 0 +ANKRD30A 0 +ANKRD30BP3 0 +ANTXRL 0 +ANXA2P3 0 +ANXA8 0 +ANXA8L1 0 +APBB1IP 0 +ARID5B 0 +ARL5B 2 +ARMC3 0 +ARMS2 0 +AS3MT 0 +ASAH2B 0 +ATE1-AS1 0 +ATP5C1 4 +ATRNL1 0 +BAG3 0 +BAMBI 0 +BCCIP 5 +BEND3P3 0 +BICC1 2 +BMI1 0 +BMPR1A 2 +BMS1 0 +BMS1P6 0 +BTAF1 0 +BTBD16 0 +BTRC 8 +BUB3 3 +C10orf107 0 +C10orf11 0 +C10orf12 2 +C10orf126 0 +C10orf131 0 +C10orf2 0 +C10orf32 0 +C10orf32-ASMT 0 +C10orf35 1 +C10orf53 0 +C10orf62 0 +C10orf71 0 +C10orf85 0 +C10orf91 0 +C10orf99 0 +CACNB2 0 +CALML3 0 +CAMK1D 2 +CASC2 0 +CASP7 1 +CC2D2B 0 +CCAR1 2 +CCDC172 0 +CCDC7 0 +CCNJ 7 +CCNY 1 +CCSER2 10 +CDC123 4 +CDH23 0 +CDHR1 0 +CDK1 2 +CELF2 1 +CEP55 7 +CFAP58 44 +CFL1P1 0 +CHAT 0 +CHCHD1 0 +CHST3 0 +CISD1 5 +CNNM1 0 +CNNM2 57 +COL13A1 0 +COMMD3 0 +COMMD3-BMI1 0 +CREM 0 +CSGALNACT2 2 +CTAGE7P 0 +CTSLP2 0 +CUTC 1 +CYP26A1 0 +CYP26C1 0 +CYP2C18 0 +CYP2C19 0 +CYP2C9 0 +CYP2E1 0 +DDIT4 1 +DDX21 3 +DDX50 10 +DHTKD1 4 +DKK1 0 +DLG5-AS1 0 +DMBT1 0 +DMBT1P1 0 +DNAJC9-AS1 0 +DNMBP-AS1 0 +DNTT 0 +DOCK1 1 +DPCD 1 +DPYSL4 0 +DUSP5 6 +DYDC2 0 +ECHDC3 0 +EDRF1 3 +EIF4EBP2 0 +EIF5AL1 0 +ELOVL3 0 +EMX2 0 +ENO4 0 +ENTPD1 1 +ENTPD7 0 +EXOC6 0 +FAM133CP 0 +FAM149B1 0 +FAM160B1 0 +FAM170B-AS1 0 +FAM175B 10 +FAM178A 0 +FAM208B 10 +FAM213A 0 +FAM21A 0 +FAM21C 0 +FAM24A 0 +FAM25A 0 +FAM25BP 0 +FAM25C 0 +FAM25G 0 +FAM35A 0 +FAM35BP 0 +FAM35DP 0 +FAM45A 0 +FAM45B 0 +FAM53B-AS1 0 +FANK1 1 +FAS 0 +FBXL15 0 +FBXO18 0 +FFAR4 0 +FOXI2 0 +FRAT1 0 +FUT11 0 +FXYD4 0 +GAD2 0 +GATA3 0 +GBF1 3 +GHITM 2 +GJD4 0 +GLRX3 1 +GLUD1P3 0 +GLUD1P7 0 +GOLGA7B 0 +GPR123 0 +GPR158 1 +GPR26 0 +GPRIN2 0 +GRID1-AS1 0 +GRK5 2 +GSTO1 0 +GSTO2 0 +GTPBP4 0 +H2AFY2 3 +HABP2 19 +HECTD2 2 +HELLS 1 +HHEX 9 +HIF1AN 0 +HK1 0 +HKDC1 0 +HMX2 0 +HMX3 0 +HNRNPH3 5 +HOGA1 0 +HPS6 0 +HSD17B7P2 0 +HSPA14 1 +HTRA1 0 +IDI2-AS1 0 +IFIT1 0 +IFIT1B 0 +IFIT2 0 +IFIT3 0 +IFIT5 0 +INA 2 +INPP5A 0 +INPP5F 5 +ITIH2 0 +JAKMIP3 0 +JMJD1C-AS1 0 +KAT6B 1 +KAZALD1 0 +KCNIP2-AS1 0 +KCNK18 1 +KIAA1217 0 +KIAA1279 16 +KIF11 5 +KIF20B 10 +KNDC1 0 +LBX1-AS1 0 +LCOR 6 +LDB3 0 +LGI1 0 +LHPP 0 +LINC00200 0 +LINC00202-2 0 +LINC00263 0 +LINC00264 0 +LINC00502 0 +LINC00595 0 +LINC00619 0 +LINC00703 0 +LINC00705 0 +LINC00707 2 +LINC00709 0 +LINC00836 0 +LINC00839 0 +LINC00840 0 +LINC00841 0 +LINC00844 0 +LINC00845 0 +LINC00856 0 +LINC00857 0 +LINC00858 0 +LINC00865 0 +LINC00867 0 +LINC00993 0 +LINC00999 1 +LINC01163 0 +LINC01168 0 +LINC01452 0 +LIPF 0 +LIPJ 0 +LIPK 0 +LIPM 0 +LIPN 0 +LOC100129055 0 +LOC100130539 0 +LOC100130992 0 +LOC100288974 0 +LOC100996758 0 +LOC101926906 0 +LOC101927396 0 +LOC101927472 0 +LOC101927692 0 +LOC101927762 0 +LOC101927964 0 +LOC101928150 0 +LOC101928298 0 +LOC101928453 0 +LOC101928781 0 +LOC101928913 0 +LOC101929025 0 +LOC101929218 0 +LOC101929234 0 +LOC101929279 0 +LOC101929310 0 +LOC101929328 0 +LOC101929662 0 +LOC101929684 0 +LOC102031319 0 +LOC102723703 0 +LOC102724316 0 +LOC102724589 0 +LOC103344931 0 +LOC283038 0 +LOC283070 1 +LOC399715 0 +LOC399815 0 +LOC439994 0 +LOC642361 0 +LRRC27 0 +LRRTM3 0 +LYZL1 0 +LZTS2 0 +MALRD1 1 +MAP3K8 0 +MAPK8 2 +MARCH5 7 +MARK2P9 0 +MARVELD1 0 +MASTL 1 +MBL1P 0 +MCM10 5 +MCU 1 +MEIG1 0 +MGMT 0 +MINPP1 1 +MIR1265 0 +MIR146B 0 +MIR3155A 0 +MIR3156-1 0 +MIR3158-1 0 +MIR3941 0 +MIR4295 0 +MIR4480 0 +MIR4484 0 +MIR4675 0 +MIR4676 0 +MIR4678 0 +MIR4679-1 0 +MIR4680 0 +MIR4681 0 +MIR4682 0 +MIR5100 0 +MIR511 0 +MIR548AV 0 +MIR5586 0 +MIR5692C2 0 +MIR5694 0 +MIR603 0 +MIR605 0 +MIR6078 0 +MIR608 0 +MIR6715A 0 +MIR7152 0 +MKX-AS1 0 +MLLT10 3 +MRC1 0 +MSMB 0 +MSRB2 0 +MTG1 0 +MTRNR2L5 0 +MXI1 1 +MYO3A 0 +MYPN 0 +NANOS1 21 +NCOA4 4 +NEBL-AS1 0 +NET1 1 +NEURL1 1 +NFKB2 0 +NHLRC2 2 +NKX2-3 0 +NOLC1 3 +NPS 0 +NPY4R 0 +NRBF2 0 +NRG3 0 +NUDT13 0 +NUTM2A 0 +NUTM2B 0 +NUTM2D 0 +OIT3 0 +OLAH 0 +OPN4 0 +OPTN 0 +OTUD1 0 +PALD1 1 +PAOX 0 +PAPSS2 1 +PARD3-AS1 0 +PAX2 0 +PCGF5 0 +PDCD11 0 +PDCD4 1 +PDE6C 2 +PDSS1 0 +PFKFB3 1 +PFKP 4 +PGAM1 0 +PHYHIPL 0 +PI4K2A 0 +PITRM1-AS1 0 +PLAC9 0 +PLAU 0 +PLCE1 15 +PLEKHA1 1 +PLEKHS1 0 +PLXDC2 0 +PNLIP 0 +PNLIPRP1 0 +PNLIPRP2 0 +PNLIPRP3 0 +PPAPDC1A 2 +PPIF 1 +PPP2R2D 0 +PPRC1 21 +PRAP1 0 +PRKCQ-AS1 1 +PRKG1 1 +PROSER2 1 +PRPF18 2 +PRR26 0 +PSTK 0 +PTEN 0 +PTER 2 +PTF1A 0 +PTPRE 1 +PWWP2B 0 +R3HCC1L 0 +RAB18 1 +RASSF4 0 +RBM17 17 +RBM20 0 +REEP3 0 +RET 0 +RGR 0 +RNU6-2 0 +RNU6-53P 0 +RPARP-AS1 1 +RPEL1 0 +RPP30 0 +RPP38 1 +RPS24 100 +SAMD8 1 +SCART1 0 +SCD 0 +SEC23IP 2 +SEC24C 4 +SEC61A2 1 +SEMA4G 0 +SFR1 1 +SFTPA1 0 +SFXN2 0 +SFXN3 0 +SGPL1 1 +SH2D4B 2 +SH3PXD2A-AS1 0 +SHOC2 0 +SIRT1 0 +SLC18A2 1 +SLC18A3 0 +SLC29A3 0 +SLC35G1 2 +SLC39A12 0 +SLIT1-AS1 0 +SLK 0 +SMC3 21 +SNCG 0 +SNORD98 0 +SORCS3 0 +SPAG6 1 +SRGN 0 +ST8SIA6-AS1 0 +STAM 0 +STAMBPL1 0 +STOX1 2 +SUFU 1 +SUPV3L1 5 +SUV39H2 3 +SVILP1 0 +TACC2 0 +TAF3 38 +TAF5 6 +TBC1D12 0 +TCERG1L-AS1 0 +TCF7L2 0 +TDRD1 6 +TECTB 0 +TET1 0 +TEX36-AS1 0 +TFAM 2 +THNSL1 1 +TIMM23B 0 +TLX1 0 +TMEM180 0 +TMEM236 0 +TMEM254 0 +TMEM72 0 +TNKS2 3 +TRIM8 2 +TRUB1 0 +TSPAN14 1 +TSPAN15 0 +UBE2D1 0 +UBTD1 0 +UCN3 0 +UNC5B 0 +UTF1 0 +VCL 3 +VDAC2 1 +VENTX 0 +VIM 0 +VPS26A 0 +VTI1A 0 +VWA2 0 +WAC 42 +WBP1L 1 +WDFY4 0 +WDR11 3 +WDR37 3 +WNT8B 0 +ZDHHC16 0 +ZEB1 3 +ZFYVE27 0 +ZMIZ1 0 +ZMYND11 1 +ZNF22 13 +ZNF32-AS1 0 +ZNF32-AS2 0 +ZNF32-AS3 0 +ZNF33A 0 +ZNF365 0 +ZNF37A 0 +ZNF485 0 +ZNF487 0 +ZNF488 0 +ZNF503-AS1 0 +ZNF503-AS2 0 +ZNF511 0 +ZNF518A 0 +ZRANB1 1 +ZSWIM8 0 +AAMDC 0 +AASDHPPT 3 +ABCG4 0 +ACAD8 0 +ACAT1 3 +ACCS 0 +ACCSL 39 +ACER3 2 +ACTN3 0 +ADAMTS15 1 +ADM 0 +ADRBK1 0 +AIP 1 +AKIP1 0 +ALDH3B1 0 +ALKBH3 1 +AMOTL1 0 +AMPD3 3 +ANKK1 0 +ANKRD13D 0 +ANKRD42 2 +ANKRD49 2 +ANO1 0 +ANO3 1 +ANO5 0 +AP2A2 1 +API5 0 +APLP2 6 +APOC3 0 +AQP11 0 +ARCN1 4 +ARHGAP42 0 +ARHGEF12 5 +ARHGEF17 0 +ARL14EP 4 +ARL2 0 +ARL2-SNX15 0 +ARNTL 0 +ART1 0 +ASRGL1 0 +ATG13 1 +ATG16L2 0 +ATHL1 0 +ATM 4 +ATP5L 4 +B3GNT6 0 +B4GALNT4 0 +BACE1-AS 0 +BANF1 1 +BARX2 6 +BBOX1 0 +BBS1 0 +BCO2 0 +BDNF-AS 0 +BEST1 0 +BIRC2 8 +BIRC3 0 +BRSK2 0 +C11orf1 0 +C11orf30 4 +C11orf31 3 +C11orf42 0 +C11orf44 0 +C11orf49 0 +C11orf52 0 +C11orf53 0 +C11orf54 0 +C11orf57 3 +C11orf58 10 +C11orf63 0 +C11orf70 0 +C11orf73 0 +C11orf74 1 +C11orf80 0 +C11orf84 6 +C11orf86 0 +C11orf87 0 +C11orf88 0 +C11orf96 0 +C11orf97 0 +C2CD2L 0 +CABP4 0 +CALCB 0 +CAND1.11 0 +CAPN1 0 +CAPN5 0 +CAPRIN1 4 +CARNS1 0 +CAT 0 +CBL 2 +CCDC15 20 +CCDC67 0 +CCDC81 0 +CCDC83 0 +CCDC84 0 +CCDC85B 0 +CCDC86 0 +CCDC88B 0 +CCKBR 0 +CCND1 0 +CCS 0 +CD151 0 +CD3E 0 +CD3G 0 +CD44 0 +CD5 0 +CD6 0 +CD81 0 +CD82 4 +CDC42EP2 0 +CEP164 1 +CEP57 7 +CHEK1 27 +CLDN25 0 +CLP1 0 +CNGA4 0 +CNIH2 0 +CNTF 0 +CNTN5 1 +COLCA2 0 +COX8A 1 +CRACR2B 0 +CREB3L1 1 +CRTAM 0 +CRY2 0 +CST6 0 +CSTF3-AS1 0 +CTNND1 40 +CTR9 5 +CTSW 0 +CTTN 1 +CUL5 64 +CXCR5 0 +DAGLA 0 +DAK 0 +DCPS 2 +DDB2 0 +DDI1 0 +DDIAS 2 +DDX10 25 +DDX25 0 +DEFB108B 0 +DEPDC7 34 +DGAT2 0 +DGKZ 0 +DISC1FP1 0 +DIXDC1 0 +DKFZp686K1684 0 +DKFZp779M0652 0 +DLAT 0 +DNAJB13 0 +DNAJC24 0 +DNAJC4 0 +DNHD1 0 +DPF2 16 +DPP3 2 +DRAP1 0 +DRD4 0 +DTX4 0 +DYNC2H1 2 +EED 0 +EHBP1L1 0 +EHF 0 +EI24 5 +EIF3F 9 +EIF3M 4 +ELMOD1 0 +ELP4 0 +ENDOD1 0 +EPS8L2 0 +ESRRA 0 +EXT2 0 +F2 3 +FADD 0 +FADS2 0 +FAM111A 0 +FAM111B 2 +FAM118B 5 +FAM180B 0 +FAM86C1 0 +FAM89B 0 +FAM99A 0 +FAR1 0 +FAT3 0 +FBXO3-AS1 0 +FDX1 0 +FEN1 3 +FERMT3 0 +FIBIN 0 +FJX1 0 +FKBP2 0 +FLI1 0 +FLRT1 0 +FOLH1B 0 +FOLR1 0 +FOLR2 0 +FOLR3 0 +FOLR4 0 +FOXR1 4 +FOXRED1 0 +FRMD8 0 +FSHB 0 +FUT4 0 +GAL 0 +GAS2 0 +GLB1L2 0 +GLB1L3 0 +GLYATL1 7 +GNG3 0 +GPR137 0 +GRAMD1B 0 +GRIA4 0 +GRIK4 3 +GRM5-AS1 0 +GSTP1 0 +GTF2H1 0 +GYLTL1B 0 +HEPHL1 0 +HEPN1 0 +HINFP 0 +HIPK3 0 +HMBS 0 +HOTS 0 +HSD17B12 0 +HSPB2 0 +HSPB2-C11orf52 0 +HTATIP2 0 +HTR3A 0 +HTR3B 0 +HYLS1 31 +IFITM1 0 +IFITM2 0 +IGF2-AS 0 +IGHMBP2 2 +IL10RA 0 +IL18BP 0 +ILK 1 +INCENP 0 +INPPL1 0 +INSC 0 +IPO7 2 +JAM3 5 +JRKL 0 +KAT5 0 +KCNC1 0 +KCNJ5 0 +KCNK4 0 +KCNQ1 0 +KCNQ1DN 0 +KCTD21-AS1 0 +KDM2A 3 +KDM4D 0 +KDM4E 0 +KIAA1377 0 +KIAA1549L 2 +KIAA1731 12 +KIRREL3-AS2 0 +KIRREL3-AS3 0 +KLC2 0 +KMT2A 2 +KRT8P41 0 +KRTAP5-10 0 +KRTAP5-5 0 +KRTAP5-6 0 +KRTAP5-7 0 +KRTAP5-8 0 +KRTAP5-9 0 +KRTAP5-AS1 0 +LAYN 0 +LDHA 3 +LDHAL6A 7 +LDHC 2 +LDLRAD3 4 +LGALS12 0 +LINC00167 0 +LINC00294 0 +LINC00301 0 +LINC01150 0 +LINC01488 0 +LINC01493 0 +LINC01499 0 +LOC100128239 0 +LOC100128494 0 +LOC100129203 0 +LOC100129216 0 +LOC100130987 0 +LOC100506082 0 +LOC100506127 0 +LOC100506368 0 +LOC100507283 0 +LOC100507384 0 +LOC100996455 0 +LOC101054525 0 +LOC101927120 0 +LOC101927495 0 +LOC101928008 0 +LOC101928053 0 +LOC101928535 0 +LOC101928580 0 +LOC101928812 0 +LOC101928823 2 +LOC101928894 0 +LOC101928896 0 +LOC101929295 0 +LOC101929340 0 +LOC101929427 0 +LOC101929473 0 +LOC101929497 0 +LOC101929517 0 +LOC102724301 0 +LOC102724784 0 +LOC102724957 0 +LOC221122 0 +LOC283177 0 +LOC341056 0 +LOC399886 0 +LOC440040 0 +LOC494141 0 +LOC643923 0 +LOC646813 0 +LOC653486 0 +LRFN4 0 +LRP4-AS1 1 +LRP5 0 +LRRC10B 0 +LRRC55 0 +LRRC56 0 +LRTOMT 1 +LSP1 0 +LUZP2 1 +MADD 2 +MALAT1 2 +MAPK8IP1 0 +MARK2 0 +MDK 0 +MED17 0 +METTL12 0 +METTL15 0 +MICAL2 1 +MICALCL 7 +MIR1237 0 +MIR1260B 0 +MIR129-2 0 +MIR130A 0 +MIR1343 0 +MIR3160-2 0 +MIR34B 0 +MIR34C 0 +MIR3656 0 +MIR3973 0 +MIR4486 0 +MIR4488 0 +MIR4489 0 +MIR4491 0 +MIR4492 0 +MIR4686 0 +MIR4687 0 +MIR4688 0 +MIR4690 0 +MIR4691 0 +MIR4692 0 +MIR4693 0 +MIR548AR 0 +MIR548K 0 +MIR5692A1 0 +MIR6090 0 +MIR610 0 +MIR612 0 +MIR6124 0 +MIR6128 0 +MIR670 0 +MIR6716 0 +MIR6743 0 +MIR6744 0 +MIR6748 0 +MIR6752 0 +MIR6753 0 +MIR6754 0 +MIR6755 0 +MIR6860 0 +MIR6879 0 +MIR7113 0 +MIR8052 0 +MMP26 0 +MOGAT2 0 +MRGPRF-AS1 0 +MRGPRG-AS1 0 +MRGPRX3 0 +MRGPRX4 0 +MRPL23 0 +MRPL48 0 +MRPL49 0 +MRVI1-AS1 1 +MS4A1 0 +MS4A10 0 +MS4A12 0 +MS4A13 0 +MS4A14 0 +MS4A15 0 +MS4A2 0 +MS4A3 0 +MS4A4A 0 +MS4A5 0 +MS4A6E 0 +MS4A7 0 +MS4A8 0 +MTNR1B 0 +MUC2 0 +MUC5B 0 +MUS81 0 +MYEOV 0 +MYO7A 0 +MYOD1 0 +MYRF 0 +NAA40 5 +NAALAD2 2 +NADSYN1 0 +NAT10 1 +NAV2 7 +NCAM1 1 +NCR3LG1 0 +NDUFS3 0 +NDUFS8 0 +NDUFV1 0 +NEAT1 0 +NELL1 0 +NEU3 0 +NLRP14 1 +NLRP6 0 +NLRX1 0 +NNMT 0 +NPAS4 0 +NR1H3 0 +NRGN 0 +NS3BP 0 +NTM 0 +NTM-IT 0 +NUCB2 1 +NUDT22 0 +NXPE2 0 +OAF 0 +ODF3 0 +OLFML1 0 +OMP 0 +OOSP2 244 +OR10A2 0 +OR10A4 0 +OR10A5 0 +OR10G4 0 +OR10G8 0 +OR10G9 0 +OR10V2P 0 +OR1S1 0 +OR2AG1 0 +OR2D3 0 +OR4A15 0 +OR4A16 0 +OR4A47 0 +OR4B1 0 +OR4C13 0 +OR4C15 0 +OR4C16 0 +OR4C3 0 +OR4C46 0 +OR4C6 0 +OR4D10 0 +OR4D11 0 +OR4D5 0 +OR4D6 0 +OR4D9 0 +OR4P4 0 +OR4S1 0 +OR4S2 0 +OR4X1 0 +OR4X2 0 +OR51A7 0 +OR51B6 0 +OR51D1 0 +OR51E1 3 +OR51F2 0 +OR51I2 0 +OR51L1 0 +OR51M1 0 +OR51Q1 0 +OR51T1 0 +OR52B6 0 +OR52D1 0 +OR52E4 0 +OR52I1 0 +OR52I2 0 +OR52J3 0 +OR52K1 0 +OR52K2 0 +OR52M1 0 +OR52N2 0 +OR52N4 0 +OR52W1 0 +OR56A3 0 +OR56B1 0 +OR56B4 0 +OR5A1 0 +OR5AK2 0 +OR5AK4P 0 +OR5AN1 0 +OR5AR1 0 +OR5AS1 0 +OR5D13 0 +OR5D14 0 +OR5D16 0 +OR5D18 0 +OR5E1P 0 +OR5J2 0 +OR5L1 0 +OR5L2 0 +OR5T1 0 +OR5T3 0 +OR6Q1 0 +OR7E14P 0 +OR8A1 0 +OR8D4 0 +OR8G1 1 +OR8G2 0 +OR8G5 3 +OR8H2 0 +OR8H3 0 +OR8I2 0 +OR8J1 0 +OR8K1 0 +OR8K3 0 +OR8U1 0 +OR8U8 0 +OR9G1 0 +OR9G9 0 +OR9Q1 1 +OR9Q2 0 +OTOG 0 +OTUB1 1 +OVOL1 0 +P2RX3 0 +P2RY2 0 +P2RY6 0 +PAAF1 0 +PACS1 0 +PAFAH1B2 1 +PANO 0 +PANX1 4 +PANX3 0 +PARVA 2 +PATE1 0 +PATE3 0 +PATE4 0 +PAUPAR 0 +PCF11 5 +PCNXL3 0 +PDE3B 0 +PDHX 1 +PDZD3 0 +PELI3 0 +PGA3 1 +PGA4 0 +PGA5 0 +PGAP2 1 +PHLDB1 1 +PHRF1 2 +PIWIL4 0 +PKNOX2 0 +PKP3 0 +PLCB3 0 +PLEKHB1 2 +PNPLA2 2 +POLA2 2 +POLD3 10 +POLR2G 0 +POU2F3 0 +PPFIA1 26 +PPFIBP2 2 +PPME1 4 +PPP1R32 0 +PPP2R5B 0 +PPP6R3 4 +PRDM11 0 +PRDX5 0 +PRMT3 0 +PRR5L 8 +PRRG4 0 +PRSS23 0 +PSMD13 1 +PTDSS2 1 +PTPMT1 0 +PTPRJ 0 +PTS 0 +QSER1 1 +RAB1B 0 +RAB30-AS1 1 +RAB39A 0 +RAD9A 1 +RAG1 0 +RARRES3 0 +RASSF10 0 +RASSF7 0 +RBM14 0 +RBM14-RBM4 0 +RBM4 2 +RBM7 0 +RBMXL2 0 +RCE1 0 +RCN1 0 +RELT 0 +REXO2 14 +RHOD 0 +RIC8A 1 +RNF121 1 +RNF169 3 +RNF214 2 +RNF26 1 +ROBO3 0 +ROM1 0 +RPL27A 6 +RPLP0P2 2 +RPLP2 25 +RPS3 35 +RPS6KA4 0 +RPS6KB2 1 +RRM1 3 +RTN3 8 +RTN4RL2 0 +SAA1 1 +SAC3D1 0 +SART1 0 +SBF2-AS1 0 +SC5D 2 +SCARNA9 0 +SCGB1A1 0 +SCGB1C1 0 +SCGB1D1 0 +SCGB1D2 0 +SCGB2A1 0 +SCGB2A2 0 +SCYL1 0 +SDHAF2 0 +SDHD 0 +SEC14L1P1 1 +SERPING1 0 +SERPINH1 0 +SF3B2 7 +SHANK2-AS1 0 +SHANK2-AS3 0 +SIDT2 1 +SIK2 0 +SIPA1 0 +SLC17A6 0 +SLC22A10 0 +SLC22A11 0 +SLC22A12 0 +SLC22A18 0 +SLC22A20 0 +SLC22A9 0 +SLC35C1 2 +SLC37A2 0 +SLC39A13 0 +SLC3A2 0 +SLC6A5 13 +SLCO2B1 0 +SMPD1 0 +SMTNL1 0 +SNORA23 0 +SNORA45A 0 +SNORA45B 0 +SNORA52 0 +SNORA57 0 +SNORD15A 0 +SNORD15B 0 +SNX15 1 +SNX32 0 +SORL1 0 +SPA17 0 +SPCS2 1 +SPDYC 17 +SPON1 1 +SPTY2D1-AS1 0 +SRSF8 0 +SSH3 0 +SSSCA1 0 +ST14 5 +ST3GAL4 2 +STIM1 0 +STIP1 2 +STT3A 2 +STX3 2 +SWAP70 4 +SYT12 0 +SYT8 0 +SYT9 1 +TAF6L 0 +TAGLN 0 +TALDO1 2 +TBC1D10C 0 +TBCEL 4 +TBRG1 2 +TCIRG1 0 +TCP11L1 0 +TEAD1 0 +TECTA 5 +TEX12 0 +TEX40 0 +THRSP 1 +TIGD3 0 +TIMM10B 2 +TIRAP 0 +TM7SF2 0 +TMEM109 1 +TMEM126A 0 +TMEM126B 0 +TMEM132A 0 +TMEM133 0 +TMEM135 0 +TMEM136 0 +TMEM138 4 +TMEM151A 0 +TMEM179B 1 +TMEM216 0 +TMEM25 0 +TMEM45B 0 +TMEM80 0 +TMEM86A 0 +TMEM9B-AS1 0 +TMPRSS4 0 +TMX2 2 +TMX2-CTNND1 0 +TNNI2 0 +TNNT3 0 +TOLLIP-AS1 0 +TPBGL 0 +TPCN2 0 +TRAPPC4 0 +TRIM22 0 +TRIM34 0 +TRIM44 0 +TRIM48 0 +TRIM49B 0 +TRIM49C 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM51 0 +TRIM53AP 0 +TRIM6 6 +TRIM6-TRIM34 0 +TRIM64 0 +TRIM77 43 +TRPC2 0 +TSGA10IP 0 +TSKU 0 +TSPAN18 2 +TSPAN32 0 +TSPAN4 0 +TSSC2 0 +TSSC4 0 +TTC12 0 +TTC17 2 +TTC36 0 +TTC9C 2 +TUB 0 +TUB-AS1 0 +TYR 0 +UBASH3B 0 +UBE4A 0 +UBTFL1 0 +UPK2 0 +UQCC3 0 +USP2-AS1 0 +USP35 0 +USP47 7 +UVRAG 1 +VEGFB 0 +VPS11 0 +VPS26B 2 +VPS51 0 +VWA5A 3 +WEE1 0 +WT1-AS 0 +WTAPP1 0 +YAP1 3 +ZBED5-AS1 0 +ZBTB16 1 +ZC3H12C 1 +ZDHHC13 1 +ZDHHC5 9 +ZFP91 1 +ZFP91-CNTF 0 +ZFPL1 1 +ZNF143 9 +ZNF215 29 +ZNF408 0 +ZP1 1 +A2M-AS1 0 +A2ML1 0 +AACS 2 +ACACB 0 +ACAD10 0 +ACADS 0 +ACSM4 0 +ACSS3 0 +ACTR6 0 +ACVR1B 19 +ACVRL1 0 +ADAM1A 0 +ADIPOR2 6 +AEBP2 0 +AGAP2-AS1 0 +ALDH2 0 +ALG10 0 +ALG10B 0 +ALX1 0 +AMDHD1 0 +AMHR2 0 +ANKRD13A 5 +ANKRD33 0 +ANO4 0 +ANO6 8 +ANP32D 0 +APAF1 0 +APOLD1 0 +AQP2 0 +AQP5 0 +AQP6 0 +ARHGEF25 0 +ARID2 3 +ARL6IP4 0 +ARNTL2 0 +ASCL1 0 +ASCL4 0 +ASIC1 1 +ATF1 0 +ATF7IP 0 +ATG101 0 +ATN1 0 +ATP2A2 9 +ATP6V0A2 0 +ATXN7L3B 5 +B3GNT4 2 +B4GALNT3 0 +BCDIN3D-AS1 1 +BCL2L14 0 +BCL7A 2 +BICD1 0 +BLOC1S1 0 +BLOC1S1-RDH5 0 +BRI3BP 0 +BTBD11 1 +C12orf10 0 +C12orf29 1 +C12orf40 1 +C12orf45 0 +C12orf5 0 +C12orf54 0 +C12orf57 1 +C12orf60 0 +C12orf65 13 +C12orf74 0 +C12orf75 0 +C1RL-AS1 0 +C1S 0 +CABP1 0 +CACNA1C 1 +CACNA1C-IT2 0 +CACNA1C-IT3 0 +CACNB3 0 +CAND1 1 +CAPZA3 0 +CASC18 4 +CCDC184 0 +CCDC42B 0 +CCDC60 0 +CCDC62 0 +CCDC63 0 +CCDC64 0 +CCDC65 1 +CCDC77 12 +CCDC91 1 +CCND2 10 +CCT2 15 +CD27 0 +CD4 0 +CD9 8 +CDK2 0 +CDKN1B 0 +CEP83-AS1 0 +CHPT1 2 +CHST11 0 +CLEC12A 0 +CLEC12B 0 +CLEC2D 9 +CLEC4A 1 +CLEC4D 0 +CLEC6A 0 +CLEC9A 0 +CLIP1-AS1 0 +CLLU1 0 +CLSTN3 0 +CMAS 0 +CNOT2 6 +CNTN1 0 +COPS7A 0 +COPZ1 1 +COQ10A 0 +COX14 0 +COX6A1 1 +CPSF6 3 +CRADD 0 +CREBL2 1 +CUX2 1 +DAO 0 +DAZAP2 10 +DDX11 4 +DDX47 6 +DDX55 4 +DENND5B-AS1 0 +DENR 0 +DERA 1 +DGKA 0 +DIP2B 2 +DNAH10 14 +DNAJC22 0 +DNM1L 2 +DPPA3 278 +DRAM1 0 +DSTNP2 0 +DTX1 0 +DTX3 0 +DYNLL1 7 +DYRK2 0 +DYRK4 2 +EID3 2 +EIF4B 9 +ELK3 3 +EMG1 0 +EMP1 0 +ENO2 0 +EP400 3 +EP400NL 0 +ERBB3 0 +ERC1 2 +ERP29 3 +ESPL1 0 +ESYT1 1 +ETNK1 0 +ETV6 0 +FAM101A 0 +FAM138D 0 +FAM216A 0 +FAM222A 1 +FAM66C 0 +FAM71C 0 +FAR2 2 +FBRSL1 0 +FBXW8 0 +FGD4 2 +FGFR1OP2 2 +FICD 0 +FKBP4 2 +FLJ12825 0 +FLJ13224 0 +FLJ37505 0 +FLJ41278 0 +FOXJ2 0 +FRS2 0 +FZD10 0 +GABARAPL1 0 +GALNT8 0 +GAPDH 10 +GAS2L3 2 +GATC 0 +GDF11 0 +GLI1 0 +GLIPR1 5 +GLIPR1L1 0 +GLIPR1L2 0 +GLT1D1 0 +GNB3 0 +GOLT1B 5 +GPD1 0 +GPR133 1 +GPR162 0 +GPR182 0 +GPRC5A 0 +GRASP 0 +GTF2H3 2 +H1FNT 0 +H2AFJ 0 +HCFC2 0 +HELB 0 +HIGD1C 0 +HIP1R 4 +HMGA2 0 +HNF1A 4 +HNRNPA1 7 +HNRNPA1P10 0 +HOXC10 0 +HOXC11 0 +HOXC12 0 +HOXC13 0 +HOXC4 0 +HOXC5 0 +HOXC6 0 +HOXC8 0 +HOXC9 0 +HSD17B6 0 +HSP90B1 8 +HSPB8 0 +HTR7P1 0 +IAPP 0 +IFNG-AS1 0 +IFT81 1 +IGFBP6 0 +IKZF4 2 +IL23A 0 +INHBC 0 +INHBE 0 +IQSEC3 0 +IRAK3 0 +IRAK4 0 +ISCU 3 +ITFG2 0 +KCNA1 0 +KCNA5 0 +KCNA6 0 +KCNH3 0 +KCNMB4 0 +KIAA1033 2 +KIAA1467 0 +KIAA1551 15 +KIF5A 0 +KLHL42 1 +KLRD1 0 +KLRF1 0 +KLRF2 0 +KLRG1 1 +KNTC1 0 +KRT18 0 +KRT19P2 0 +KRT7 0 +KRT86 0 +LAG3 0 +LARP4 3 +LEMD3 1 +LEPREL2 0 +LETMD1 0 +LGR5 0 +LINC00173 0 +LINC00507 0 +LINC00592 0 +LINC00615 0 +LINC00935 0 +LINC00936 0 +LINC00941 0 +LINC00942 0 +LINC00943 0 +LINC00987 0 +LINC01252 2 +LINC01257 0 +LINC01405 0 +LINC01479 0 +LINC01489 0 +LINC01490 0 +LLPH-AS1 0 +LOC100049716 0 +LOC100128554 0 +LOC100129361 0 +LOC100130238 0 +LOC100240734 0 +LOC100288778 0 +LOC100288798 0 +LOC100335030 0 +LOC100506125 0 +LOC100506314 0 +LOC100506393 0 +LOC100507091 0 +LOC100507175 0 +LOC100507424 0 +LOC100652999 0 +LOC101593348 0 +LOC101927292 0 +LOC101927464 0 +LOC101927694 0 +LOC101927735 0 +LOC101927905 0 +LOC101928100 1 +LOC101928137 0 +LOC101928162 0 +LOC101928416 0 +LOC101928441 0 +LOC101928449 0 +LOC101928471 0 +LOC101928530 0 +LOC101928937 0 +LOC101929084 0 +LOC101929162 1 +LOC101929384 0 +LOC101930452 0 +LOC102724050 0 +LOC102724663 0 +LOC102724933 0 +LOC283352 0 +LOC338797 0 +LOC374443 2 +LOC400043 0 +LOC642846 0 +LOH12CR1 2 +LRMP 2 +LRP1 0 +LRRC23 0 +LRRC43 0 +LRRIQ1 0 +LRRK2 0 +LRTM2 0 +LTBR 0 +LYRM5 3 +LYZ 0 +MAP1LC3B2 0 +MAPKAPK5 0 +MARCH9 0 +MARS 1 +MBD6 1 +MDM2 0 +MED21 10 +METAP2 41 +METTL20 0 +METTL21B 0 +METTL25 0 +METTL7A 0 +METTL7B 0 +MFSD5 3 +MGST1 1 +MIR1228 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1251 0 +MIR1252 0 +MIR135A2 0 +MIR141 0 +MIR148B 0 +MIR1827 0 +MIR196A2 0 +MIR200C 0 +MIR331 0 +MIR3612 0 +MIR3652 0 +MIR3685 0 +MIR3908 0 +MIR3913-2 0 +MIR3922 0 +MIR3974 0 +MIR4497 0 +MIR4698 0 +MIR4699 0 +MIR4700 0 +MIR492 0 +MIR5188 0 +MIR548C 0 +MIR5692B 0 +MIR5700 0 +MIR6125 0 +MIR613 0 +MIR614 0 +MIR615 0 +MIR6502 0 +MIR6505 0 +MIR6757 0 +MIR6758 0 +MIR6760 0 +MIR6761 0 +MIR6762 0 +MIR6763 0 +MIR920 0 +MIRLET7I 0 +MLEC 2 +MLXIP 6 +MMP17 0 +MON2 3 +MRPL42 2 +MRPS35 3 +MSRB3 0 +MUC19 0 +MUCL1 0 +MVK 0 +MYBPC1 0 +MYF5 0 +MYF6 0 +MYL6 0 +MYL6B 0 +MYO1H 1 +NAB2 0 +NABP2 2 +NANOG 0 +NANOGNB 0 +NAV3 2 +NCAPD2 4 +NCKAP1L 0 +NDUFA9 0 +NECAP1 1 +NEDD1 12 +NEUROD4 0 +NOC4L 0 +NR1H4 0 +NR4A1 0 +NTF3 0 +NTS 0 +NUDT4 1 +NUDT4P1 0 +NUDT4P2 0 +NUP107 2 +NXPH4 2 +OAS1 0 +OAS2 0 +OAS3 1 +OGFOD2 0 +OR10A7 0 +OR10P1 0 +OR2AP1 0 +OR6C1 0 +OR6C2 0 +OR6C3 0 +OR6C4 0 +OR6C65 0 +OR6C68 0 +OR6C74 0 +OR6C75 0 +OR6C76 0 +OR7E47P 0 +OR8S1 0 +OR9K2 0 +ORAI1 0 +ORMDL2 0 +OS9 0 +OTOGL 0 +OVCH1-AS1 0 +P2RX2 0 +P2RX4 0 +P2RX7 0 +PA2G4 9 +PARPBP 1 +PCBP2 7 +PCBP2-OT1 0 +PCED1B 0 +PDE1B 0 +PDE3A 1 +PDE6H 0 +PDZRN4 0 +PEBP1 9 +PEX5 2 +PFDN5 0 +PFKM 0 +PGAM1P5 0 +PGAM5 3 +PHC1 0 +PIK3C2G 0 +PIP4K2C 5 +PIWIL1 0 +PLBD1-AS1 0 +PLBD2 0 +PLEKHA5 2 +PLEKHG6 1 +PLEKHG7 0 +PLXNC1 1 +POLR3B 2 +PPFIBP1 0 +PPHLN1 20 +PRH2 0 +PRKAB1 0 +PRMT8 0 +PRPF40B 0 +PRPH 0 +PRR13 2 +PSMD9 3 +PTMS 0 +PTPN11 1 +PTPN6 1 +PTPRO 0 +PTPRQ 0 +PUS1 0 +PWP1 41 +PXMP2 0 +PXN-AS1 0 +PYROXD1 0 +RAB21 1 +RAB3IP 0 +RAB5B 23 +RAD51AP1 10 +RAD9B 0 +RAN 27 +RAP1B 5 +RASSF3 4 +RASSF8 0 +RBMS2 2 +RDH5 0 +REP15 0 +RERG-AS1 1 +RFC5 0 +RFX4 0 +RHNO1 2 +RIC8B 0 +RIMKLB 4 +RITA1 0 +RMST 0 +RNF10 26 +RNF34 113 +RNFT2 0 +RPH3A 7 +RPL13AP20 0 +RPL13P5 0 +RPL41 1 +RPS26 0 +SCARNA10 0 +SCN8A 0 +SCYL2 2 +SDSL 0 +SETD1B 1 +SETD8 0 +SFSWAP 4 +SH2B3 7 +SHMT2 0 +SIRT4 0 +SKP1P2 1 +SLC16A7 0 +SLC17A8 0 +SLC25A3 4 +SLC26A10 0 +SLC35E3 0 +SLC39A5 0 +SLC48A1 0 +SLC4A8 0 +SLCO1B1 0 +SLCO1B3 0 +SLCO1B7 0 +SLCO1C1 0 +SMARCD1 2 +SMCO2 0 +SNORA49 0 +SNORA53 0 +SNRNP35 0 +SNRPF 3 +SOAT2 0 +SOCS2 4 +SP1 1 +SPATS2 3 +SPIC 0 +SPRYD4 0 +SPX 0 +SRGAP1 6 +SRRM4 0 +SSPN 0 +STAB2 0 +STK38L 1 +STRAP 10 +SUDS3 15 +SUOX 0 +SYT1 1 +TAPBPL 0 +TARBP2 0 +TBC1D15 3 +TBC1D30 0 +TBK1 1 +TBX5-AS1 0 +TCHP 4 +TCP11L2 0 +TCTN1 3 +TCTN2 1 +TDG 0 +TEAD4 0 +TENC1 0 +TESC-AS1 0 +THAP2 0 +TMBIM6 18 +TMED2 4 +TMEM106C 0 +TMEM117 0 +TMEM120B 5 +TMEM132B 4 +TMEM132C 0 +TMEM19 0 +TMEM198B 1 +TMEM233 0 +TMEM263 0 +TMEM5 0 +TMEM52B 0 +TMPO 5 +TMPRSS12 0 +TMTC2 2 +TMTC3 1 +TPCN1 0 +TPH2 0 +TPI1 1 +TRAFD1 7 +TRHDE 0 +TROAP 12 +TSFM 1 +TSPAN11 0 +TSPAN31 0 +TSPAN9 0 +TUBA1C 233 +TULP3 13 +TXNRD1 0 +UBE3B 0 +ULK1 0 +UNC119B 0 +UNG 19 +USP15 4 +USP30 3 +USP5 3 +UTP20 0 +VEZT 0 +WDR66 0 +WNK1 2 +WNT1 0 +WNT5B 0 +WSCD2 0 +XPOT 7 +XRCC6BP1 0 +YEATS4 16 +ZC3H10 1 +ZDHHC17 0 +ZNF10 2 +ZNF140 3 +ZNF26 0 +ZNF268 0 +ZNF664 5 +ZNF664-FAM101A 0 +ZNF705A 0 +ZNF740 0 +ZNF84 0 +ABHD13 0 +AKAP11 15 +ALG11 3 +ALOX5AP 0 +ARHGEF7 7 +ARL11 0 +ATP11A 0 +ATP11AUN 0 +ATP12A 0 +ATP5EP2 0 +ATP8A2 0 +ATXN8OS 0 +B3GALTL 0 +BIVM 0 +BIVM-ERCC5 0 +BORA 0 +BRCA2 5 +BTF3P11 0 +C1QTNF9 0 +C1QTNF9B-AS1 0 +CARKD 6 +CCDC70 0 +CCNA1 0 +CDADC1 1 +CDC16 0 +CDK8 0 +CHAMP1 2 +CKAP2 7 +CLDN10 0 +CLN5 0 +CLYBL 0 +COG3 0 +COG6 1 +COL4A2 0 +CPB2-AS1 0 +CTAGE10P 0 +CUL4A 1 +CYSLTR2 0 +DAOA 0 +DGKH 0 +DIAPH3-AS1 0 +DIAPH3-AS2 0 +DLEU1 3 +DLEU7-AS1 0 +DNAJC15 5 +DNAJC3 17 +DOCK9-AS1 0 +DOCK9-AS2 0 +EDNRB-AS1 6 +EEF1DP3 0 +ENOX1-AS2 0 +ERCC5 0 +EXOSC8 0 +F10 0 +F7 0 +FAM124A 0 +FAM216B 0 +FARP1 3 +FGF14-AS2 0 +FGF9 4 +FKSG29 0 +FNDC3A 0 +FREM2 0 +FRY 0 +GAS6-AS1 0 +GAS6-AS2 0 +GPALPP1 0 +GPC5 0 +GPC6 0 +GPR180 0 +GRK1 0 +GRTP1-AS1 1 +GSX1 0 +GTF2F2 8 +GTF3A 0 +HNRNPA1L2 3 +HS6ST3 0 +HTR2A-AS1 0 +IFT88 0 +IL17D 0 +ING1 2 +INTS6-AS1 0 +IPO5 0 +IRG1 0 +ITGBL1 2 +ITM2B 0 +KCNRG 0 +KL 0 +KLF5 4 +LACC1 0 +LAMP1 3 +LINC00284 0 +LINC00327 0 +LINC00332 0 +LINC00333 0 +LINC00343 0 +LINC00347 0 +LINC00348 0 +LINC00351 0 +LINC00354 0 +LINC00366 0 +LINC00368 0 +LINC00378 1 +LINC00381 0 +LINC00382 0 +LINC00383 0 +LINC00392 0 +LINC00398 0 +LINC00400 0 +LINC00403 0 +LINC00408 0 +LINC00421 0 +LINC00433 0 +LINC00442 0 +LINC00443 0 +LINC00446 0 +LINC00452 0 +LINC00460 0 +LINC00540 0 +LINC00544 0 +LINC00545 0 +LINC00547 0 +LINC00551 0 +LINC00558 0 +LINC00676 0 +LINC01046 0 +LINC01049 0 +LINC01053 0 +LINC01070 0 +LINC01080 0 +LMO7 7 +LMO7DN 0 +LOC101926897 0 +LOC101927284 0 +LOC101929140 0 +LOC101929259 0 +LOC101929657 0 +LOC103191607 0 +LRCH1 2 +LRRC63 0 +MBNL2 0 +MCF2L 0 +MED4-AS1 0 +MEDAG 0 +METTL21EP 0 +MIPEPP3 0 +MIR17 0 +MIR17HG 0 +MIR18A 0 +MIR19A 0 +MIR19B1 0 +MIR20A 0 +MIR2276 0 +MIR3170 0 +MIR4306 0 +MIR4703 0 +MIR5007 0 +MIR621 0 +MIR622 0 +MIR623 0 +MIR759 0 +MIR8073 0 +MIR8075 0 +MIR92A1 0 +MLNR 0 +MPHOSPH8 24 +MRPL57 0 +MTUS2 0 +MYCBP2-AS1 0 +MYO16 0 +NAA16 0 +NALCN-AS1 0 +NBEA 0 +NDFIP2 0 +NHLRC3 2 +NUDT15 0 +NUPL1 4 +OLFM4 0 +OR7E156P 0 +OR7E37P 0 +PABPC3 0 +PAN3 5 +PCCA 2 +PCDH17 0 +PCDH9-AS2 0 +PCDH9-AS3 0 +PCDH9-AS4 0 +PDS5B 1 +PDX1 0 +PHF11 0 +PIBF1 0 +POLR1D 6 +POMP 0 +PROZ 0 +PRR20A 0 +PRR20B 0 +PRR20C 0 +PRR20D 0 +PRR20E 0 +RAP2A 0 +RASL11A 3 +RB1 0 +RBM26-AS1 0 +RFC3 0 +RFXAP 0 +RGCC 0 +RNASEH2B 0 +RNF17 2 +RNF219-AS1 0 +RNU6-52P 0 +RPL21 0 +RPL21P28 0 +RXFP2 0 +SACS-AS1 0 +SAP18 1 +SCEL 0 +SERP2 0 +SERPINE3 0 +SERTM1 0 +SETDB2 3 +SGCG 0 +SLAIN1 0 +SLC25A15 0 +SLC25A30-AS1 0 +SLITRK5 0 +SMIM2-AS1 0 +SNORA27 0 +SNORD102 0 +SOX1 0 +SOX21-AS1 0 +SPACA7 0 +SPATA13 0 +SPERT 0 +SPG20OS 0 +ST13P4 0 +STARD13-AS 0 +SUGT1 11 +TDRD3 0 +TEX26 0 +TEX29 0 +TFDP1 2 +TM9SF2 2 +TMCO3 0 +TMEM255B 0 +TNFRSF19 0 +TNFSF11 0 +TNFSF13B 0 +TPP2 2 +TPT1-AS1 0 +TPTE2P3 0 +TPTE2P6 0 +TRIM13 1 +TSC22D1-AS1 0 +UBAC2 2 +UCHL3 1 +UFM1 0 +UPF3A 3 +USP12-AS1 0 +USP12-AS2 0 +USPL1 0 +UTP14C 0 +VWA8-AS1 0 +WASF3 4 +WBP4 3 +WDFY2 1 +ZIC2 0 +ZMYM2 13 +ABHD12B 0 +ABHD4 0 +ACOT1 0 +ACOT2 2 +ACOT4 0 +ACOT6 0 +ACTN1-AS1 0 +ACTR10 1 +ADAM21 0 +ADCK1 0 +ADSSL1 0 +AHSA1 3 +AK7 0 +AKAP5 0 +AKAP6 1 +AMN 0 +ANG 0 +AP4S1 0 +AP5M1 1 +APEX1 5 +APOPT1 0 +ARF6 1 +ARG2 25 +ARHGAP5 1 +ARHGEF40 0 +ARID4A 12 +ASPG 0 +ATL1 0 +ATP5S 0 +BATF 0 +BCL2L2 0 +BCL2L2-PABPN1 0 +BDKRB1 0 +BDKRB2 0 +BMS1P17 0 +BMS1P18 0 +BRMS1L 0 +BTBD6 0 +C14orf119 3 +C14orf132 0 +C14orf159 0 +C14orf166 22 +C14orf169 0 +C14orf177 0 +C14orf178 1 +C14orf180 0 +C14orf23 0 +C14orf28 0 +C14orf79 0 +C14orf80 0 +CALM1 89 +CCDC176 0 +CCNK 2 +CDKN3 0 +CEP170B 3 +CGRRF1 1 +CHGA 0 +CHURC1 0 +CHURC1-FNTB 24 +CIPC 1 +CMTM5 0 +COCH 1 +COQ6 0 +COX8C 0 +CPNE6 0 +CPSF2 6 +CRIP1 0 +CRIP2 0 +CTAGE5 1 +CYP46A1 0 +DAAM1 46 +DACT1 0 +DCAF11 0 +DCAF4 0 +DHRS2 0 +DHRS4 0 +DHRS4L1 0 +DHRS4L2 0 +DICER1-AS1 0 +DIO2-AS1 0 +DIO3 0 +DLK1 0 +DLST 1 +DNAL1 0 +DUXAP10 0 +DYNC1H1 0 +ECRP 0 +EDDM3A 0 +EDDM3B 0 +EIF2B2 1 +EIF2S1 1 +EIF5 6 +EML1 1 +ESRRB 0 +EVL 0 +EXD2 1 +EXOC3L4 0 +FAM177A1 1 +FAM179B 0 +FAM181A 0 +FAM71D 0 +FANCM 2 +FBXO34 4 +FCF1 0 +FITM1 0 +FLJ22447 0 +FLRT2 0 +FLVCR2 4 +FNTB 0 +FOS 2 +FOXG1 0 +FOXN3-AS1 0 +FOXN3-AS2 0 +FRMD6 0 +FUT8 5 +G2E3 0 +GALNT16 0 +GEMIN2 1 +GLRX5 1 +GMPR2 1 +GNG2 1 +GOLGA5 3 +GPATCH2L 3 +GPHN 0 +GPR137C 0 +GPR65 0 +GSKIP 3 +GSTZ1 0 +HHIPL1 0 +HIF1A 4 +HSPA2 0 +IFI27 0 +IFI27L1 0 +IFT43 0 +IGBP1P1 0 +IL25 0 +INF2 1 +INSM2 0 +IRF9 0 +ISCA2 1 +ITPK1-AS1 0 +JDP2 0 +JKAMP 0 +KCNK13 0 +KHNYN 0 +KIAA0125 0 +KIAA0247 11 +KIAA0391 0 +KIAA0586 0 +KIF26A 0 +KLC1 2 +KLHDC1 0 +KLHDC2 1 +KTN1 21 +LGALS3 0 +LIN52 4 +LINC00221 1 +LINC00226 0 +LINC00238 0 +LINC00239 0 +LINC00521 0 +LINC00523 0 +LINC00609 0 +LINC00618 0 +LINC00637 0 +LINC00638 0 +LINC00640 0 +LINC00642 0 +LINC00643 0 +LINC00645 0 +LINC00871 0 +LINC00911 0 +LINC01146 0 +LINC01220 0 +LINC01296 0 +LINC01500 0 +LOC100506321 0 +LOC100506476 0 +LOC100508046 0 +LOC101926933 0 +LOC101927045 0 +LOC101927081 0 +LOC101927124 0 +LOC101927178 0 +LOC101927620 0 +LOC101928767 1 +LOC101928909 0 +LOC101929080 0 +LOC101929241 0 +LOC102723354 0 +LOC102724814 0 +LOC102724890 0 +LOC145474 0 +LOC254028 0 +LOC283575 0 +LOC283585 0 +LOC644919 0 +LRFN5 0 +LRP10 0 +LRR1 5 +LRRC16B 0 +LRRC74A 0 +LRRC9 0 +LTB4R 0 +LTB4R2 0 +MAPK1IP1L 1 +MARK3 6 +MEG3 0 +MEG8 0 +MEG9 0 +METTL17 0 +MGAT2 2 +MIA2 0 +MIPOL1 1 +MIR1185-1 0 +MIR1185-2 0 +MIR1193 0 +MIR1197 0 +MIR1260A 0 +MIR127 0 +MIR134 0 +MIR136 0 +MIR154 0 +MIR203A 0 +MIR2392 0 +MIR299 0 +MIR300 0 +MIR323A 0 +MIR323B 0 +MIR329-1 0 +MIR329-2 0 +MIR337 0 +MIR345 0 +MIR369 0 +MIR376A1 0 +MIR376A2 0 +MIR376B 0 +MIR376C 0 +MIR377 0 +MIR379 0 +MIR380 0 +MIR381 0 +MIR381HG 0 +MIR382 0 +MIR409 0 +MIR410 0 +MIR411 0 +MIR412 0 +MIR4307 0 +MIR4309 0 +MIR431 0 +MIR432 0 +MIR433 0 +MIR4505 0 +MIR4706 0 +MIR485 0 +MIR487A 0 +MIR487B 0 +MIR493 0 +MIR494 0 +MIR495 0 +MIR496 0 +MIR539 0 +MIR541 0 +MIR543 0 +MIR5698 0 +MIR6076 0 +MIR654 0 +MIR655 0 +MIR656 0 +MIR665 0 +MIR668 0 +MIR6764 0 +MIR758 0 +MIR770 0 +MIR7843 0 +MIR8071-1 0 +MIR8071-2 0 +MIR889 0 +MMP14 0 +MNAT1 0 +MPP5 4 +MRPL52 3 +MTA1 1 +MTHFD1 0 +NAA30 11 +NFATC4 0 +NGDN 6 +NKX2-1-AS1 0 +NOP9 0 +NPAS3 0 +NRXN3 0 +NUBPL 0 +NYNRIN 0 +OR11G2 0 +OR11H12 0 +OR11H4 0 +OR11H6 0 +OR4E2 0 +OR4K1 0 +OR4K15 0 +OR4K17 0 +OR4K2 0 +OR4K5 0 +OR4L1 0 +OR4M1 0 +OR4N2 0 +OR4N5 0 +OR4Q3 0 +OTUB2 0 +OTX2-AS1 0 +OXA1L 2 +PABPN1 1 +PACS2 1 +PAPLN 0 +PAPOLA 2 +PARP2 1 +PAX9 1 +PCK2 0 +PCNX 0 +PCNXL4 2 +PELI2 0 +PLD4 0 +PLEKHD1 0 +PLEKHG3 2 +PLEKHH1 0 +PNN 19 +PNP 1 +POTEG 0 +PPM1A 3 +PPP1R36 0 +PPP2R5C 5 +PPP4R4 1 +PRKCH 0 +PRMT5-AS1 0 +PRPF39 0 +PSEN1 2 +PSMA3 11 +PSMA6 2 +PSMB11 0 +PSMC1 1 +PSMC6 1 +PSME1 0 +PTGDR 0 +PTGER2 0 +PTGR2 0 +RAD51B 0 +RBM25 6 +RCOR1 7 +RDH12 0 +REC8 0 +REM2 0 +RGS6 0 +RHOJ 0 +RIN3 1 +RNASE10 0 +RNASE2 0 +RNASE3 0 +RNASE4 0 +RNASE6 0 +RNASE7 0 +RNASE8 0 +RNF212B 0 +RNF31 0 +RNU6-2 0 +RPGRIP1 0 +RPL13AP3 0 +SAMD15 0 +SAMD4A 4 +SCFD1 2 +SERPINA13P 0 +SERPINA3 0 +SERPINA4 0 +SERPINA5 0 +SIPA1L1 7 +SIVA1 0 +SIX6 0 +SLC24A4 0 +SLC25A21-AS1 0 +SLC25A47 0 +SLC38A6 0 +SLC39A2 0 +SLC39A9 0 +SLIRP 0 +SMOC1 0 +SNAPC1 0 +SNHG24 0 +SNORA11B 0 +SNORA28 0 +SNORD113-1 0 +SNORD113-2 0 +SNORD113-4 0 +SNORD113-5 0 +SNORD113-6 0 +SNORD113-7 0 +SNORD113-9 0 +SNORD114-1 0 +SNORD114-10 0 +SNORD114-11 0 +SNORD114-12 0 +SNORD114-13 0 +SNORD114-14 0 +SNORD114-15 0 +SNORD114-16 0 +SNORD114-17 0 +SNORD114-18 0 +SNORD114-19 0 +SNORD114-2 0 +SNORD114-20 0 +SNORD114-21 0 +SNORD114-22 0 +SNORD114-23 0 +SNORD114-24 0 +SNORD114-25 0 +SNORD114-26 0 +SNORD114-27 0 +SNORD114-28 0 +SNORD114-29 0 +SNORD114-3 0 +SNORD114-30 0 +SNORD114-31 0 +SNORD114-4 0 +SNORD114-5 0 +SNORD114-6 0 +SNORD114-7 0 +SNORD114-8 0 +SNORD114-9 0 +SNORD127 0 +SNORD56B 0 +SOCS4 1 +SPATA7 4 +SRP54 0 +SRSF5 5 +SSTR1 0 +STYX 0 +SYNE2 25 +SYT16 5 +TCL1B 2 +TCL6 0 +TDP1 5 +TDRD9 0 +TECPR2 7 +TEX22 0 +THTPA 1 +TMEM121 0 +TMEM251 0 +TMEM253 0 +TMEM260 0 +TMEM63C 1 +TMX1 1 +TNFAIP2 0 +TOMM20L 0 +TOX4 6 +TPPP2 0 +TRAF3 3 +TRMT61A 0 +TSHR 0 +TSSK4 0 +TTC8 0 +TTC9 0 +TTLL5 0 +TUNAR 1 +UBR7 1 +UNC79 0 +VASH1 0 +VRK1 5 +VRTN 0 +VSX2 0 +WDR20 13 +WDR25 4 +YLPM1 1 +YY1 0 +ZBTB1 0 +ZBTB42 0 +ZC2HC1C 2 +ZC3H14 9 +ZFYVE21 1 +ZNF410 4 +ZNF839 2 +ABHD17C 0 +ABHD2 6 +ACAN 0 +ADAL 2 +ADAMTS7P1 0 +ADAMTSL3 1 +ADPGK-AS1 0 +AEN 2 +AGBL1 0 +AKAP13 12 +ALDH1A3 0 +ALPK3 0 +ANKDD1A 0 +ANKRD34C 0 +ANP32AP1 0 +AP4E1 0 +APBA2 0 +APH1B 0 +AQP9 0 +ARHGAP11A 4 +ARHGAP11B 0 +ARID3B 2 +ARIH1 21 +ARNT2 0 +ARRDC4 0 +ASB7 0 +ASB9P1 0 +B2M 0 +BAHD1 0 +BBS4 0 +BLM 0 +BLOC1S6 0 +BUB1B 18 +C15orf26 0 +C15orf27 0 +C15orf32 0 +C15orf37 0 +C15orf39 0 +C15orf41 0 +C15orf43 0 +C15orf48 0 +C15orf53 0 +C15orf54 0 +C15orf61 0 +C15orf62 0 +C15orf65 0 +C2CD4A 0 +CAPN3 1 +CASC4 0 +CASC5 2 +CCDC33 0 +CCNB2 47 +CCNDBP1 0 +CD276 0 +CEMIP 0 +CGNL1 0 +CHAC1 5 +CHD2 12 +CHEK2P2 1 +CHP1 4 +CHRM5 0 +CHRNA5 1 +CHRNA7 0 +CHST14 0 +CKMT1A 0 +CKMT1B 0 +CLK3 1 +COMMD4 1 +CORO2B 0 +CPLX3 0 +CRABP1 1 +CRTC3 1 +CSK 1 +CTDSPL2 1 +CTXN2 0 +CYFIP1 0 +CYP1A2 0 +DCAF13P3 0 +DIS3L 0 +DISP2 0 +DKFZP434L187 0 +DLL4 0 +DNAJA4 5 +DNM1P41 0 +DPH6-AS1 0 +DTWD1 0 +DUOX1 0 +DUOXA2 0 +DUT 1 +EFTUD1P1 0 +EID1 0 +EIF2AK4 1 +EIF3J 1 +EMC4 0 +FAH 0 +FAM103A1 1 +FAM138E 0 +FAM154B 0 +FAM63B 3 +FAM81A 0 +FAM98B 0 +FAN1 0 +FANCI 3 +FBXL22 0 +FBXO22 0 +FEM1B 0 +FES 0 +FGF7 0 +FOXB1 0 +FURIN 1 +GABPB1-AS1 0 +GABRA5 0 +GABRG3 0 +GALK2 0 +GANC 0 +GCHFR 0 +GCNT3 8 +GCOM1 3 +GDPGP1 0 +GLCE 0 +GLDN 1 +GOLGA2P10 0 +GOLGA6B 0 +GOLGA6C 0 +GOLGA6D 0 +GOLGA6L1 0 +GOLGA6L17P 0 +GOLGA6L22 0 +GOLGA6L4 0 +GOLGA6L9 0 +GOLGA8CP 0 +GOLGA8EP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8H 0 +GOLGA8I 0 +GOLGA8J 0 +GOLGA8N 0 +GOLGA8S 0 +GOLGA8T 0 +GREM1 0 +HAUS2 0 +HERC2P10 0 +HERC2P7 0 +HERC2P9 0 +HEXA-AS1 0 +HMG20A 5 +HMGN2P46 0 +HSP90B2P 0 +HYKK 0 +HYPK 2 +IDH3A 3 +IGF1R 2 +IL16 2 +INAFM2 0 +IPW 0 +IQCH 0 +IQGAP1 26 +IREB2 0 +ISG20 0 +ISL2 0 +ISLR 0 +ISLR2 0 +ITPKA 0 +IVD 2 +JMJD7 0 +JMJD7-PLA2G4B 0 +KBTBD13 0 +KIAA1024 0 +KIF23 7 +KLF13 0 +KNSTRN 4 +LACTB 0 +LDHAL6B 0 +LINC00052 0 +LINC00277 0 +LINC00593 0 +LINC00924 0 +LINC00925 0 +LINC00926 0 +LINC00929 0 +LINC00933 0 +LINC01169 0 +LINC01193 0 +LINC01413 0 +LIPC 0 +LMAN1L 0 +LOC100128714 0 +LOC100129973 0 +LOC100288637 0 +LOC100289656 0 +LOC100419583 0 +LOC100507217 0 +LOC100996255 0 +LOC100996876 0 +LOC101926911 0 +LOC101926928 0 +LOC101927079 0 +LOC101927129 0 +LOC101927153 0 +LOC101928174 0 +LOC101928227 0 +LOC101928363 0 +LOC101928388 0 +LOC101928784 1 +LOC101928988 0 +LOC101929221 0 +LOC101929478 0 +LOC101929655 1 +LOC101929690 0 +LOC101929765 0 +LOC102723320 0 +LOC102723344 0 +LOC102724034 0 +LOC103171574 0 +LOC145837 0 +LOC253044 0 +LOC283692 0 +LOC440300 0 +LOC440311 0 +LOC646938 0 +LOC727751 0 +LOC727924 0 +LOC729739 0 +LOXL1 0 +LRRC28 1 +LRRC49 3 +LRRK1 0 +MAN2A2 0 +MAP1A 0 +MAP2K1 32 +MAP2K5 0 +MAPK6 8 +MAPKBP1 1 +MCTP2 0 +MEF2A 0 +MESDC1 0 +MESP2 0 +MGA 16 +MIR1179 0 +MIR1469 0 +MIR147B 0 +MIR184 0 +MIR190A 0 +MIR3175 0 +MIR4311 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4510 0 +MIR4515 0 +MIR4712 0 +MIR4713 0 +MIR4714 0 +MIR5003 0 +MIR548H4 0 +MIR5572 0 +MIR6085 0 +MIR626 0 +MIR630 0 +MIR6859-1 0 +MIR6859-2 0 +MIR7-2 0 +MIR9-3 0 +MKRN3 0 +MORF4L1 12 +MPI 0 +MRPS11 0 +MYZAP 1 +NDUFAF4P1 0 +NEIL1 0 +NEO1 13 +NGRN 4 +NOX5 1 +NPAP1 0 +NR2E3 0 +NR2F2 2 +NTRK3-AS1 0 +NUSAP1 4 +NUTM1 0 +ODF3L1 0 +OIP5-AS1 1 +OR4F13P 0 +OR4F15 0 +OR4F6 0 +OR4M2 0 +OR4N3P 0 +OR4N4 0 +PAK6 0 +PAQR5 0 +PDCD6IPP2 0 +PDE8A 2 +PDIA3 2 +PGBD4 0 +PHGR1 0 +PIAS1 13 +PIGB 0 +PLA2G4B 0 +PLEKHO2 1 +PML 0 +POLR2M 0 +PPCDC 0 +PRC1-AS1 0 +PSMA4 9 +PSTPIP1 3 +PTPLAD1 1 +PWAR1 0 +PWAR4 0 +PWAR5 0 +PWARSN 0 +PWRN1 0 +RAB11A 11 +RAB8B 1 +RAD51 0 +RCCD1 5 +RCN2 0 +REC114 12 +REREP3 0 +RNF111 12 +RNU6-28P 0 +RPLP1 39 +RPUSD2 3 +RTF1 7 +RYR3 0 +SCAMP5 0 +SCAND2P 0 +SCARNA15 0 +SCG3 0 +SCG5 0 +SEMA4B 1 +SEMA6D 0 +SENP8 7 +SERF2 11 +SERF2-C15ORF63 0 +SH2D7 0 +SH3GL3 0 +SKOR1 4 +SLC12A1 0 +SLC24A1 0 +SLC24A5 0 +SLC27A2 0 +SLC28A1 0 +SLC28A2 0 +SLC51B 0 +SLCO3A1 10 +SMAD3 5 +SMAD6 0 +SNAP23 4 +SNHG21 0 +SNORD107 0 +SNORD108 0 +SNORD109A 0 +SNORD109B 0 +SNORD115-1 0 +SNORD115-10 0 +SNORD115-11 0 +SNORD115-12 0 +SNORD115-13 0 +SNORD115-14 0 +SNORD115-15 0 +SNORD115-16 0 +SNORD115-17 0 +SNORD115-18 0 +SNORD115-19 0 +SNORD115-2 0 +SNORD115-20 0 +SNORD115-21 0 +SNORD115-22 0 +SNORD115-23 0 +SNORD115-24 0 +SNORD115-25 0 +SNORD115-26 0 +SNORD115-27 0 +SNORD115-28 0 +SNORD115-29 0 +SNORD115-3 0 +SNORD115-30 0 +SNORD115-31 0 +SNORD115-32 0 +SNORD115-33 0 +SNORD115-34 0 +SNORD115-35 0 +SNORD115-36 0 +SNORD115-37 0 +SNORD115-38 0 +SNORD115-39 0 +SNORD115-4 0 +SNORD115-40 0 +SNORD115-41 0 +SNORD115-42 0 +SNORD115-43 0 +SNORD115-44 0 +SNORD115-45 0 +SNORD115-46 0 +SNORD115-47 0 +SNORD115-48 0 +SNORD115-5 0 +SNORD115-6 0 +SNORD115-7 0 +SNORD115-8 0 +SNORD115-9 0 +SNORD116-1 0 +SNORD116-10 0 +SNORD116-11 0 +SNORD116-12 0 +SNORD116-13 0 +SNORD116-14 0 +SNORD116-15 0 +SNORD116-16 0 +SNORD116-17 0 +SNORD116-18 0 +SNORD116-19 0 +SNORD116-2 0 +SNORD116-20 0 +SNORD116-21 0 +SNORD116-22 0 +SNORD116-23 0 +SNORD116-24 0 +SNORD116-25 0 +SNORD116-26 0 +SNORD116-27 0 +SNORD116-28 0 +SNORD116-29 0 +SNORD116-3 0 +SNORD116-30 0 +SNORD116-4 0 +SNORD116-5 0 +SNORD116-6 0 +SNORD116-7 0 +SNORD116-8 0 +SNORD116-9 0 +SNORD64 0 +SNRPN 2 +SNURF 0 +SNX1 2 +SNX22 1 +SNX33 0 +SORD 0 +SPATA5L1 0 +SPATA8 0 +SPESP1 2 +SPINT1 0 +SPRED1 0 +SQRDL 2 +SRP14-AS1 0 +ST8SIA2 0 +STARD9 0 +SV2B 3 +SYNM 1 +TBC1D21 0 +TCF12 1 +TEX9 0 +THBS1 0 +THSD4 1 +TICRR 11 +TLN2 3 +TM6SF1 0 +TMCO5A 0 +TMED3 0 +TMEM202 0 +TMEM62 0 +TMOD2 0 +TMOD3 1 +TPM1 5 +TRIM69 0 +TRIP4 2 +TTLL13 0 +TUBGCP4 1 +TUBGCP5 0 +TYRO3 0 +UBE2Q2 73 +UBE2Q2L 0 +UBE2Q2P2 0 +UBL7-AS1 0 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +UNC13C 56 +UNC45A 0 +USP3 1 +USP8 3 +VPS18 0 +WASH3P 0 +WDR76 5 +WDR93 0 +WHAMM 1 +WHAMMP2 0 +ZFAND6 8 +ZFYVE19 0 +ZNF592 1 +ZNF609 2 +ZNF710 0 +ZNF774 0 +ZSCAN2 3 +ZWILCH 1 +ABAT 1 +ABCA17P 0 +ABCC1 2 +ABCC6P1 31 +ACSF3 0 +ACSM2A 0 +ACSM3 0 +ACSM5 0 +ADAD2 1 +ADCY7 0 +AFG3L1P 0 +AHSP 0 +ALDOA 3 +ALG1 0 +AMDHD2 0 +ANKS4B 1 +APOBR 0 +AQP8 0 +ARHGDIG 0 +ARL2BP 0 +ARMC5 0 +ASPHD1 0 +ATF7IP2 3 +ATMIN 7 +ATP2A1 0 +ATP2C2 1 +ATP6V0C 0 +ATXN1L 10 +ATXN2L 3 +BAIAP3 0 +BANP 7 +BCKDK 0 +BCO1 0 +BEAN1 0 +BFAR 8 +C16orf45 0 +C16orf52 0 +C16orf59 0 +C16orf62 1 +C16orf70 2 +C16orf71 0 +C16orf72 2 +C16orf78 0 +C16orf82 0 +C16orf86 0 +C16orf92 0 +C16orf96 0 +CA7 0 +CACNA1H 0 +CACNG3 0 +CALB2 0 +CAPN15 0 +CAPNS2 0 +CBFB 2 +CCDC101 2 +CCDC113 2 +CCDC135 0 +CCL17 0 +CCL22 0 +CCNF 0 +CCP110 6 +CD19 0 +CDH1 4 +CDH13 0 +CDH15 0 +CDH3 18 +CDH5 0 +CDIPT-AS1 0 +CDK10 0 +CDT1 2 +CENPN 1 +CES1P1 0 +CES1P2 0 +CES2 0 +CES3 0 +CES4A 0 +CETP 0 +CHD9 0 +CHP2 0 +CHST4 1 +CHTF18 1 +CIITA 0 +CIRH1A 4 +CKLF 1 +CKLF-CMTM1 0 +CLDN9 0 +CLEC16A 1 +CLEC18A 0 +CLEC18C 0 +CLEC19A 0 +CLEC3A 0 +CLUAP1 0 +CLUHP3 0 +CMIP 1 +CMTM1 0 +CMTM2 0 +CMTM3 0 +CNEP1R1 0 +CNTNAP4 0 +COQ7 0 +COQ9 1 +CORO1A 0 +COX4I1 3 +CPNE2 1 +CPNE7 0 +CRAMP1L 2 +CRISPLD2 4 +CRYM-AS1 0 +CTCF 3 +CTF1 0 +CTRB1 0 +CTU2 1 +CX3CL1 0 +CYB5B 1 +CYLD 3 +DCTN5 2 +DDX11L10 0 +DDX19A 6 +DDX19B 1 +DECR2 0 +DEF8 0 +DHODH 0 +DHX38 2 +DNAAF1 0 +DNAJA3 1 +DNASE1 0 +DNASE1L2 0 +DPEP1 0 +DUS2 1 +DYNLRB2 0 +E2F4 2 +E4F1 1 +EDC4 0 +EEF2K 3 +EIF3C 0 +EIF3CL 0 +ELMO3 0 +EME2 0 +ERCC4 1 +FAHD1 0 +FAM173A 0 +FAM195A 0 +FAM65A 0 +FBRS 0 +FBXL19 0 +FBXL8 0 +FLJ21408 0 +FLJ26245 0 +FLJ30679 0 +FLJ42627 0 +FLYWCH1 0 +FLYWCH2 0 +FOXC2 0 +FOXF1 0 +FOXL1 0 +FTO 0 +FTO-IT1 0 +FUK 0 +FUS 1 +GABARAPL2 4 +GAN 0 +GAS8 0 +GFER 0 +GINS3 4 +GLIS2 0 +GNAO1 0 +GNPTG 0 +GPR114 0 +GPR56 0 +GPR97 0 +GPT2 2 +GSE1 8 +HAGHL 0 +HAS3 12 +HBA1 0 +HBA2 0 +HBM 0 +HBQ1 0 +HBZ 0 +HCCAT5 0 +HEATR3 0 +HERPUD1 2 +HMOX2 2 +HN1L 1 +HP 0 +HPR 0 +HS3ST2 0 +HS3ST4 0 +HSBP1 2 +HSD11B2 0 +HSD17B2 0 +HSD3B7 0 +HSF4 0 +IL17C 0 +IL21R 0 +IL32 0 +IL34 0 +IL4R 0 +INO80E 0 +IQCK 4 +IRF8 8 +IRX5 0 +IRX6 0 +IST1 1 +ITFG3 1 +ITGAD 0 +ITGAL 0 +ITGAM 0 +ITGAX 0 +ITPRIPL2 0 +JPH3 1 +KAT8 1 +KATNB1 1 +KCTD5 13 +KDM8 0 +KIAA0513 0 +KIAA0556 0 +KIF22 2 +KLHL36 1 +KREMEN2 0 +LAT 0 +LCMT1 10 +LINC00304 0 +LINC00311 0 +LINC00514 0 +LINC00920 0 +LINC00921 0 +LINC01082 0 +LMF1-AS1 0 +LOC100128770 0 +LOC100129617 0 +LOC100129697 0 +LOC100132529 0 +LOC100134368 0 +LOC100287036 0 +LOC100288162 0 +LOC100289580 1 +LOC100505915 0 +LOC100506172 0 +LOC100506281 0 +LOC100507577 0 +LOC100862671 0 +LOC101927102 0 +LOC101927131 0 +LOC101927132 0 +LOC101927272 0 +LOC101927334 0 +LOC101927364 0 +LOC101927580 0 +LOC101927817 0 +LOC101928203 0 +LOC101928248 0 +LOC101928446 0 +LOC101928708 0 +LOC101928736 0 +LOC101928737 0 +LOC101928880 0 +LOC101929613 0 +LOC102467079 0 +LOC102723373 0 +LOC146513 0 +LOC283914 0 +LOC339059 0 +LOC388282 0 +LOC400548 0 +LOC400558 0 +LOC554206 0 +LOC606724 0 +LOC652276 0 +LOC653786 0 +LOC81691 0 +LONP2 6 +LPCAT2 0 +LRRC36 0 +LYRM1 0 +MAP1LC3B 4 +MAPK8IP3 1 +MARVELD3 0 +MAZ 0 +MC1R 0 +METRN 0 +METTL22 0 +METTL9 4 +MGRN1 0 +MIR138-2 0 +MIR140 0 +MIR193B 0 +MIR1972-1 0 +MIR1972-2 0 +MIR3176 0 +MIR3177 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3182 0 +MIR365A 0 +MIR3677 0 +MIR3935 0 +MIR4516 0 +MIR4517 0 +MIR4518 0 +MIR4717 0 +MIR4718 0 +MIR4719 0 +MIR4720 0 +MIR484 0 +MIR5189 0 +MIR548AE2 0 +MIR548D2 0 +MIR548X 0 +MIR5587 0 +MIR6504 0 +MIR6511A2 0 +MIR662 0 +MIR6767 0 +MIR6768 0 +MIR6769A 1 +MIR6770-2 0 +MIR6771 0 +MIR6774 0 +MIR6862-1 0 +MIR6862-2 0 +MIR6863 0 +MIR762 0 +MIR7851 0 +MIR7854 0 +MIR8058 0 +MIR8065 0 +MIR940 0 +MKL2 2 +MLST8 0 +MLYCD 1 +MMP15 0 +MMP2 0 +MMP25 0 +MON1B 1 +MPG 1 +MPV17L 0 +MSLN 0 +MT1A 0 +MT1B 0 +MT1DP 0 +MT1E 1 +MT1F 0 +MT1H 0 +MT1IP 0 +MT1JP 0 +MT1L 0 +MT1M 1 +MT1X 2 +MT2A 1 +MT3 0 +MT4 0 +MVP 9 +MYLPF 0 +NAA60 3 +NAGPA-AS1 0 +NDE1 3 +NDRG4 4 +NDUFB10 2 +NECAB2 0 +NFAT5 0 +NFATC2IP 1 +NFATC3 28 +NHLRC4 0 +NIP7 0 +NKD1 1 +NLRC5 0 +NME4 1 +NOD2 0 +NOL3 0 +NOMO1 0 +NOMO3 0 +NPIPA1 0 +NPIPA2 0 +NPIPA3 0 +NPIPA7 0 +NPIPA8 0 +NPIPB5 0 +NPIPB9 0 +NPW 0 +NRN1L 0 +NTN3 0 +NUBP1 0 +NUBP2 0 +NUDT16L1 0 +NUDT7 0 +NUP93 1 +NUTF2 2 +OGFOD1 29 +OR1F1 0 +OR1F2P 0 +OR2C1 0 +ORAI3 0 +ORC6 0 +OSGIN1 0 +OTOA 0 +PAGR1 1 +PAPD5 14 +PAQR4 0 +PARD6A 0 +PDIA2 0 +PDP2 1 +PDPK1 1 +PDPR 6 +PDXDC1 10 +PHKB 2 +PHKG2 0 +PIGQ 0 +PKD1P1 0 +PLA2G15 0 +PLCG2 0 +PLEKHG4 0 +PLK1 5 +PMM2 5 +POLR2C 2 +POLR3E 3 +PPP4C 6 +PRKCB 0 +PRMT7 0 +PRR14 1 +PRR25 0 +PRR35 0 +PRRT2 0 +PRSS21 0 +PRSS41 0 +PSKH1 0 +PSMD7 6 +PYCARDOS 0 +QPRT 0 +RAB11FIP3 0 +RAB26 0 +RAB40C 2 +RBBP6 1 +RBFOX1 0 +RBL2 2 +RHBDL1 0 +RHOT2 0 +RLTPR 0 +RMI2 1 +RNF151 0 +RNF40 3 +RPL13 3 +RRN3P2 0 +RSPRY1 3 +SBK1 1 +SCNN1B 0 +SCNN1G 0 +SEC14L5 0 +SETD1A 0 +SETD6 2 +SF3B3 1 +SH2B1 1 +SHISA9 0 +SLC12A3 0 +SLC5A11 1 +SLC5A2 0 +SLC6A2 0 +SLC7A6 1 +SLC9A3R2 0 +SLC9A5 0 +SLX1A 0 +SLX1A-SULT1A3 0 +SLX1B 0 +SLX1B-SULT1A4 0 +SMG1P1 0 +SMIM22 0 +SNAI3-AS1 0 +SNHG9 0 +SNN 0 +SNORA30 0 +SNORA78 0 +SNORD111 0 +SNORD111B 0 +SNORD68 0 +SNRNP25 0 +SNTB2 0 +SNX29 2 +SNX29P1 0 +SNX29P2 0 +SOX8 0 +SPATA33 0 +SPG7 0 +SPIRE2 0 +SPN 0 +SPNS1 0 +SRCAP 1 +SRRM2 8 +SSTR5 0 +STUB1 0 +STX4 0 +SULT1A3 0 +SULT1A4 0 +SYCE1L 0 +SYNGR3 0 +SYT17 3 +TANGO6 0 +TAOK2 1 +TBC1D24 0 +TBL3 0 +TCF25 4 +TELO2 0 +TEPP 0 +TERF2IP 0 +TGFB1I1 0 +THAP11 0 +THOC6 0 +TMC5 7 +TMC7 0 +TMEM159 0 +TMEM204 0 +TMEM208 0 +TMEM219 1 +TNFRSF12A 0 +TNFRSF17 0 +TNRC6A 21 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TP53TG3D 0 +TPSAB1 0 +TPSD1 0 +TRAF7 1 +TRAPPC2L 0 +TRIM72 0 +TSC2 1 +TSNAXIP1 0 +TUBB3 7 +UBE2I 18 +UBFD1 4 +UBN1 3 +UQCRC2 6 +USB1 2 +USP10 15 +VAC14-AS1 0 +VASN 0 +VAT1L 0 +VPS4A 3 +VPS9D1-AS1 0 +VWA3A 0 +WDR90 0 +WFDC1 0 +WFIKKN1 0 +WWOX 7 +WWP2 1 +ZC3H18 25 +ZFP1 1 +ZFP90 0 +ZFPM1 0 +ZG16 0 +ZG16B 0 +ZNF174 0 +ZNF205 0 +ZNF213 0 +ZNF263 0 +ZNF267 7 +ZNF276 0 +ZNF469 0 +ZNF48 0 +ZNF646 1 +ZNF720 5 +ZNF75A 0 +ZNF771 0 +ZNF778 1 +ZNRF1 0 +AANAT 0 +AATF 0 +AATK-AS1 0 +ABCC3 0 +ABI3 0 +ACADVL 1 +ACAP1 0 +ACBD4 0 +ACE 0 +ACSF2 0 +ADAM11 0 +ADAP2 0 +ADORA2B 1 +ADPRM 0 +AFMID 0 +AKAP1 46 +ALDH3A2 2 +ALKBH5 27 +ALOX12 1 +ALOX12P2 0 +ALOX15B 0 +ALOX15P1 0 +AMZ2 3 +ANAPC11 1 +ANKFN1 0 +ANKRD13B 0 +AOC2 0 +AOC3 0 +AOC4P 0 +AP2B1 4 +ARHGAP23 0 +ARHGAP44 0 +ARHGEF15 0 +ARL4D 9 +ARMC7 1 +ARRB2 0 +ARSG 0 +ASB16 0 +ASPA 0 +ASPSCR1 1 +ATAD5 1 +ATP1B2 0 +ATP5G1 0 +ATP6V0A1 1 +B4GALNT2 0 +BAHCC1 0 +BAIAP2 7 +BCAS3 1 +BCL6B 0 +BHLHA9 0 +BIRC5 1 +BPTF 5 +BZRAP1-AS1 0 +C17orf100 0 +C17orf104 0 +C17orf105 0 +C17orf107 0 +C17orf112 0 +C17orf49 1 +C17orf50 0 +C17orf53 2 +C17orf64 0 +C17orf74 0 +C17orf77 0 +C17orf78 0 +C17orf80 2 +C17orf82 0 +C17orf89 0 +C17orf97 0 +C17orf99 0 +C1QTNF1 0 +CA4 0 +CACNA1G 0 +CACNG1 0 +CACNG4 0 +CACNG5 0 +CALCOCO2 7 +CARD14 0 +CASC3 9 +CBX2 3 +CCDC103 0 +CCDC137 11 +CCDC144A 0 +CCDC144CP 0 +CCDC40 0 +CCL11 0 +CCL13 0 +CCL18 0 +CCL2 0 +CCL4 0 +CCL4L1 0 +CCL4L2 0 +CCL7 0 +CCL8 0 +CD300A 0 +CD300LG 0 +CD68 0 +CDC6 7 +CDK12 19 +CDK3 0 +CDK5R1 0 +CDK5RAP3 0 +CDR2L 0 +CDRT15L2 0 +CDRT15P1 0 +CDRT15P2 0 +CDRT7 0 +CEP95 2 +CHD3 5 +CHMP6 0 +CHRNB1 0 +CISD3 0 +CLTC 1 +CNP 0 +CNTD1 0 +CNTNAP1 0 +CNTROB 1 +COASY 0 +COG1 2 +COX10 3 +CPD 0 +CRHR1 0 +CRHR1-IT1 0 +CRYBA1 0 +CSF3 0 +CTNS 5 +CYB5D1 1 +CYB5D2 0 +DBF4B 1 +DBIL5P 0 +DCAF7 45 +DDX42 7 +DGKE 0 +DHRS11 0 +DHRS7B 0 +DHX40 1 +DHX8 2 +DLX4 0 +DNAH17-AS1 0 +DNAH2 0 +DNAH9 1 +DNAI2 0 +DPH1 0 +DPRXP4 0 +DRG2 2 +DUSP14 2 +DYNLL2 3 +EFCAB13 0 +EFCAB3 0 +EFCAB5 0 +EFNB3 1 +EIF1 60 +EIF4A1 1 +EIF5A 0 +ELP5 0 +EMC6 0 +EME1 0 +ENDOV 0 +ENGASE 0 +ENO3 0 +ENPP7 0 +EPN2 3 +EPN2-IT1 0 +EPN3 0 +EPX 0 +ERAL1 1 +ERBB2 0 +EVPLL 0 +FAM106CP 0 +FAM215A 0 +FAM27L 0 +FAM57A 0 +FAM64A 0 +FBXO39 0 +FBXW10 0 +FGF11 0 +FKBP10 0 +FLJ35934 0 +FLJ36000 0 +FLJ40194 0 +FLJ43681 0 +FLJ45513 0 +FMNL1 0 +FN3K 0 +FN3KRP 1 +FNDC8 0 +FOXK2 7 +FOXN1 0 +FSCN2 0 +FZD2 0 +G6PC 0 +G6PC3 0 +GAA 0 +GALR2 0 +GAST 0 +GCGR 0 +GDPD1 0 +GGNBP2 17 +GID4 5 +GLP2R 0 +GLTPD2 0 +GOSR1 0 +GOSR2 1 +GP1BA 0 +GPR142 0 +GPRC5C 0 +GPS1 1 +GRAPL 0 +GRB7 21 +GRN 1 +GSDMA 0 +GSG2 0 +GUCY2D 0 +HEXDC 0 +HEXIM1 0 +HEXIM2 0 +HGS 1 +HIC1 0 +HID1-AS1 0 +HIGD1B 0 +HLF 0 +HOXB-AS1 0 +HOXB-AS3 0 +HP08942 0 +HP09025 0 +HS3ST3B1 0 +HSD17B1 0 +HSPB9 0 +ICT1 0 +IFI35 0 +IGF2BP1 0 +IGFBP4 0 +ITGA3 0 +ITGB3 0 +ITGB4 0 +KANSL1-AS1 0 +KAT7 4 +KCNH6 0 +KCNJ12 0 +KCNJ16 0 +KCNJ18 0 +KCNJ2 0 +KCTD11 0 +KCTD2 0 +KDM6B 6 +KIAA0195 2 +KIF19 0 +KIF1C 0 +KIF2B 0 +KLHL10 0 +KPNA2 105 +KPNB1 13 +KRT16P1 0 +KRT17P5 0 +KRTAP4-7 0 +KRTAP4-9 0 +KRTAP9-1 0 +KRTAP9-2 0 +KRTAP9-3 0 +KRTAP9-4 0 +KRTAP9-6 0 +KRTAP9-7 0 +KRTAP9-8 0 +KRTAP9-9 0 +KSR1 2 +LASP1 1 +LGALS9 0 +LGALS9C 0 +LHX1 0 +LIG3 1 +LINC00670 0 +LINC00672 0 +LINC00674 2 +LINC01028 0 +LINC01152 3 +LINC01482 0 +LINC01483 1 +LINC01497 0 +LLGL1 0 +LLGL2 1 +LOC100130950 0 +LOC100131347 0 +LOC100134391 0 +LOC100287042 0 +LOC100287072 0 +LOC100505782 0 +LOC100506388 0 +LOC100507002 0 +LOC100507351 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101559451 0 +LOC101927018 0 +LOC101927166 0 +LOC101927230 0 +LOC101927688 0 +LOC101927755 0 +LOC101927839 0 +LOC101928205 0 +LOC101928514 0 +LOC101928674 0 +LOC101928738 0 +LOC102723859 0 +LOC102724596 0 +LOC102724862 0 +LOC339166 13 +LOC339260 0 +LOC388436 0 +LOC400620 0 +LOC440416 0 +LOC440446 0 +LOC440461 0 +LOC644172 0 +LOC729683 0 +LOC79999 0 +LPO 0 +LRRC37A 0 +LRRC37A11P 0 +LRRC37A2 0 +LRRC37B 0 +LRRC37BP1 0 +LRRC3C 0 +LRRC45 1 +LRRC46 2 +LRRC48 0 +LRRC75A-AS1 5 +LUC7L3 20 +MAFG-AS1 0 +MAP2K3 2 +MAP2K4 1 +MAP2K6 0 +MAP3K14-AS1 0 +MAP3K3 6 +MAPK7 1 +MAPT 0 +MAPT-IT1 0 +MED11 2 +MED9 0 +MEIS3P1 0 +METRNL 0 +METTL23 0 +METTL2A 0 +MFSD11 0 +MGAT5B 1 +MGC12916 0 +MGC57346 0 +MIEF2 0 +MILR1 0 +MINK1 0 +MIR1288 0 +MIR193A 0 +MIR21 0 +MIR2117 0 +MIR2909 0 +MIR3065 0 +MIR3615 0 +MIR365B 0 +MIR3678 0 +MIR423 0 +MIR4314 0 +MIR451B 0 +MIR4520-2 0 +MIR4521 0 +MIR4523 0 +MIR4524B 0 +MIR4723 0 +MIR4724 0 +MIR4725 0 +MIR4726 0 +MIR4727 0 +MIR4728 0 +MIR4729 0 +MIR4730 0 +MIR5010 0 +MIR5089 0 +MIR548W 0 +MIR6080 0 +MIR6165 0 +MIR632 0 +MIR634 0 +MIR6516 0 +MIR6779 0 +MIR6785 0 +MIR6786 0 +MIR6787 0 +MIR6866 0 +MIR6867 0 +MIR744 0 +MIR8059 0 +MIS12 1 +MLLT6 2 +MLX 2 +MPDU1 0 +MPRIP 0 +MRC2 0 +MRM1 0 +MRPL12 0 +MRPL45 1 +MRPS7 0 +MSI2 1 +MSL1 3 +MSX2P1 0 +MTRNR2L1 0 +MYCBPAP 0 +MYHAS 0 +MYL4 0 +MYO15A 0 +MYO15B 0 +MYOCD 3 +NAGLU 0 +NAGS 0 +NARF 2 +NBR1 1 +NBR2 0 +NDEL1 3 +NEK8 0 +NF1 1 +NFE2L1 2 +NGFR 0 +NKIRAS2 2 +NLGN2 0 +NLK 1 +NME1 0 +NME1-NME2 0 +NME2 3 +NMT1 0 +NOG 0 +NOL11 0 +NPB 0 +NPEPPS 2 +NSF 2 +NSFP1 0 +NSRP1 2 +NT5M 0 +NTN1 0 +NUP85 1 +NXPH3 0 +ODF4 0 +OR1A1 0 +OR1A2 0 +OR1D4 0 +OR3A3 0 +OR3A4P 0 +OR4D1 0 +OR4D2 0 +OTOP2 0 +OTOP3 0 +OVCA2 0 +PAFAH1B1 5 +PCTP 1 +PDK2 0 +PFAS 0 +PGS1 0 +PIGL 0 +PIGW 0 +PIPOX 0 +PITPNA-AS1 1 +PITPNC1 1 +PLD2 0 +PNMT 0 +PNPO 1 +POLR2A 4 +PPM1D 1 +PPM1E 1 +PPP1R1B 0 +PPY2 0 +PRAC2 0 +PRCD 0 +PRKAR1A 8 +PRKCA 0 +PRPSAP2 0 +PRR11 5 +PRR29 1 +PSMB3 1 +PSMB6 4 +PSMC5 5 +PSMD11 20 +PSMD3 1 +PSME3 16 +PYY2 0 +RAB11FIP4 1 +RAB37 0 +RABEP1 6 +RAC3 0 +RAD51C 0 +RAI1 0 +RAMP2 0 +RANGRF 0 +RAP1GAP2 0 +RAPGEFL1 0 +RARA 0 +RASL10B 0 +RGS9 0 +RHBDL3 0 +RHOT1 3 +RNASEK 0 +RNASEK-C17orf49 0 +RND2 1 +RNF112 0 +RNF126P1 0 +RNF135 1 +RNF157-AS1 0 +RNF167 1 +RNF213 0 +RNMTL1 0 +RPA1 22 +RPAIN 1 +RPL19 5 +RPL23A 4 +RPL27 10 +RPL29P2 0 +RPL38 12 +RPS6KB1 0 +RPTOR 0 +RSAD1 0 +RUNDC1 0 +RUNDC3A 0 +SAP30BP 5 +SARM1 0 +SCARNA16 0 +SCARNA21 0 +SCPEP1 0 +SEC14L1 7 +SENP3 0 +SENP3-EIF4A1 0 +SEPT9 1 +SERPINF1 1 +SERPINF2 0 +SGCA 0 +SGSM2 1 +SH3GL1P1 0 +SH3GL1P2 0 +SHBG 0 +SHISA6 0 +SLC13A2 0 +SLC16A13 0 +SLC16A3 0 +SLC16A5 0 +SLC25A10 0 +SLC26A11 1 +SLC2A4 0 +SLC35G6 0 +SLC47A1 0 +SLC5A10 0 +SLC9A3R1 3 +SLFN5 0 +SMCR8 2 +SMG8 1 +SMIM5 0 +SMIM6 0 +SMTNL2 0 +SNHG16 1 +SNHG20 0 +SNORA38B 0 +SNORA48 0 +SNORA59A 0 +SNORA59B 0 +SNORA67 0 +SNORA76C 0 +SNORD10 0 +SNORD104 0 +SNORD1A 0 +SNORD1B 0 +SNORD1C 0 +SNORD42A 1 +SNORD42B 0 +SNORD49A 0 +SNORD49B 0 +SNORD4A 0 +SNORD4B 0 +SNORD65 0 +SNORD7 0 +SNX11 0 +SOCS7 23 +SOX9 0 +SP2 1 +SPACA3 0 +SPAG5-AS1 0 +SPATA20 0 +SPECC1 10 +SPEM1 0 +SPHK1 0 +SPNS2 2 +SPNS3 0 +SPPL2C 0 +SRR 0 +SSTR2 0 +STARD3 1 +STAT5A 0 +STH 0 +STXBP4 0 +SUPT6H 0 +SUZ12 0 +SUZ12P1 0 +SYNGR2 0 +TACO1 1 +TADA2A 8 +TAF15 0 +TANC2 1 +TAOK1 12 +TBC1D26 0 +TBC1D29 0 +TBC1D3 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P5 0 +TBCD 1 +TBKBP1 1 +TBX2 0 +TBX21 0 +TBX4 0 +TCAM1P 0 +TCAP 0 +TEN1 0 +TEN1-CDK3 0 +TEX19 0 +THRA 1 +TIMM22 1 +TLK2 4 +TM4SF5 0 +TMC8 0 +TMEM102 0 +TMEM104 0 +TMEM106A 2 +TMEM132E 0 +TMEM199 1 +TMEM220-AS1 0 +TMEM235 0 +TMEM88 0 +TMEM92 0 +TMEM95 0 +TMEM97 14 +TMEM98 0 +TMEM99 0 +TMUB2 0 +TNFAIP1 0 +TNFSF12 0 +TNFSF12-TNFSF13 0 +TNFSF13 21 +TNK1 0 +TNRC6C 0 +TOB1-AS1 0 +TOM1L1 1 +TP53I13 0 +TRAF4 0 +TRIM16L 0 +TRPV2 0 +TSEN54 0 +TSPAN10 0 +TTC19 1 +TTC25 0 +TTYH2 2 +TUBG1 3 +TUBG2 3 +TUSC5 2 +TVP23B 1 +TXNDC17 8 +UBALD2 0 +UBB 190 +UBE2Z 0 +UNC45B 0 +UNK 0 +USP32P1 0 +USP43 1 +USP6 0 +UTP18 0 +UTS2R 0 +VMP1 2 +VPS25 0 +WDR16 0 +WDR81 0 +WFIKKN2 0 +WIPF2 64 +WNK4 0 +WNT9B 0 +WRAP53 1 +WSB1 0 +WSCD1 0 +XAF1 0 +XYLT2 0 +YPEL2 5 +ZACN 0 +ZFP3 0 +ZMYND15 0 +ZNF207 12 +ZNF286A 0 +ZNF830 4 +ZNHIT3 1 +ZPBP2 0 +ARL17A 0 +ARL17B 0 +KANSL1 0 +LOC644172 0 +LRRC37A4P 0 +MAPT-AS1 0 +NSFP1 0 +MGC70870 0 +ADCYAP1 0 +ADNP2 5 +ANKRD12 2 +ANKRD20A5P 0 +ANKRD30B 0 +ANKRD62 0 +APCDD1 0 +AQP4-AS1 0 +ARHGAP28 0 +ASXL3 2 +ATP9B 0 +BOD1L2 0 +C18orf21 1 +C18orf25 3 +C18orf54 0 +C18orf61 0 +C18orf63 0 +C18orf8 5 +CABLES1 2 +CABYR 3 +CCDC102B 0 +CDH20 0 +CDH7 0 +CEP192 0 +CETN1 0 +CHMP1B 0 +CIDEA 0 +CLUL1 0 +CNDP1 0 +CNDP2 6 +CTDP1 1 +CTIF 0 +CYP4F35P 0 +DCC 3 +DLGAP1-AS1 0 +DLGAP1-AS2 0 +DLGAP1-AS3 0 +DLGAP1-AS4 0 +DLGAP1-AS5 0 +DOK6 2 +DSCAS 0 +DSG1 0 +DSG2 1 +DSG3 0 +DSG4 0 +DTNA 0 +DYNAP 0 +ELAC1 0 +ELP2 0 +EMILIN2 1 +FHOD3 5 +FLJ44313 0 +GALNT1 1 +GALR1 0 +GATA6 0 +GNAL 0 +GREB1L 1 +GRP 0 +HAUS1 0 +HMSD 0 +HRH4 0 +HSBP1L1 0 +IMPA2 1 +IMPACT 0 +KATNAL2 0 +KCNG2 0 +KIAA1328 0 +KIAA1468 1 +LAMA3 0 +LDLRAD4 0 +LINC00667 0 +LINC00683 0 +LINC00907 0 +LINC00908 0 +LINC01255 0 +LINC01387 0 +LINC01443 0 +LINC01477 0 +LIPG 0 +LOC100287225 0 +LOC100505549 0 +LOC100505592 0 +LOC100505817 3 +LOC100506787 0 +LOC100996669 0 +LOC101927150 0 +LOC101927410 0 +LOC102723376 0 +LOC102724651 0 +LOC284294 0 +LOC339298 0 +LOC400661 0 +LOC643542 0 +LOC729950 0 +LRRC30 0 +MALT1 1 +MAPK4 4 +MAPRE2 1 +MC5R 0 +ME2 0 +MEP1B 0 +MIB1 1 +MIR122 0 +MIR1539 0 +MIR302F 0 +MIR3156-2 0 +MIR320C1 0 +MIR320C2 0 +MIR3975 0 +MIR3976 0 +MIR3976HG 0 +MIR4318 0 +MIR4526 0 +MIR4529 0 +MIR4741 0 +MIR4743 0 +MIR5011 0 +MIR5190 0 +MIR5583-1 0 +MIR6718 0 +MOCOS 0 +MTCL1 0 +MYL12A 6 +MYL12B 3 +NAPG 0 +NDC80 0 +NDUFV2 1 +NEDD4L 3 +NFATC1 0 +OACYLP 0 +ONECUT2 0 +PARD6G-AS1 0 +PHLPP1 2 +PIK3C3 0 +PMAIP1 0 +POLI 2 +PPP4R1-AS1 0 +PSMA8 0 +PSMG2 11 +PTPRM 0 +RAB12 0 +RAB27B 0 +RAB31 0 +RALBP1 10 +RBBP8 5 +RBFA 1 +RBFADN 0 +RIOK3 11 +RNF125 1 +RNF138 2 +RNF165 0 +RNMT 1 +ROCK1P1 0 +SALL3 2 +SCARNA17 0 +SEC11C 0 +SEH1L 1 +SERPINB10 0 +SERPINB11 0 +SERPINB12 0 +SERPINB13 0 +SERPINB2 0 +SERPINB5 0 +SERPINB7 0 +SERPINB8 0 +SETBP1 0 +SIGLEC15 0 +SKA1 1 +SLC14A1 3 +SLC14A2 0 +SLC35G4P 0 +SLMO1 0 +SMAD4 0 +SMCHD1 0 +SNHG22 0 +SNRPD1 7 +SOCS6 0 +ST8SIA3 0 +TAF4B 5 +TGIF1 0 +TIMM21 0 +TNFRSF11A 0 +TSHZ1 5 +TTC39C 0 +TTR 0 +TUBB6 0 +TWSG1 0 +TXNDC2 0 +TYMS 0 +USP14 10 +VAPA 1 +WBP11P1 0 +WDR7 3 +ZCCHC2 10 +ZNF236 3 +ZNF271 0 +ZNF397 9 +ZNF407 1 +ZNF532 4 +A1BG-AS1 0 +ABCA7 0 +ACPT 0 +ACSBG2 0 +ACTN4 0 +ADAT3 0 +ADM5 0 +ALDH16A1 0 +ALKBH7 0 +AMH 0 +ANGPTL4 0 +ANKLE1 0 +ANKRD24 0 +AP1M1 0 +AP2A1 0 +APC2 0 +APLP1 0 +APOC1 0 +APOC1P1 0 +APOC2 0 +APOC4 0 +APOC4-APOC2 0 +APOE 0 +ARHGAP33 1 +ARHGAP35 1 +ARHGEF1 0 +ARHGEF18 1 +ARID3A 0 +ARMC6 0 +ARRDC2 0 +ASNA1 0 +ATCAY 0 +ATF5 1 +ATG4D 0 +ATP5D 0 +AURKC 5 +AXL 0 +AZU1 0 +B3GNT3 0 +BABAM1 0 +BAX 0 +BCAM 0 +BCKDHA 0 +BCL2L12 1 +BCL3 0 +BEST2 0 +BLOC1S3 3 +BRSK1 0 +BSG 2 +C19orf24 2 +C19orf33 0 +C19orf38 0 +C19orf40 1 +C19orf44 0 +C19orf45 0 +C19orf52 0 +C19orf53 0 +C19orf60 1 +C19orf66 2 +C19orf68 0 +C19orf71 0 +C19orf80 0 +C19orf81 0 +C19orf83 0 +C3P1 0 +C5AR1 0 +C5AR2 0 +CACNG6 0 +CACNG7 1 +CACNG8 0 +CACTIN-AS1 0 +CALM3 1 +CALR 2 +CAMSAP3 1 +CAPNS1 0 +CAPS 0 +CARM1 0 +CASP14 0 +CATSPERD 0 +CATSPERG 0 +CBLC 0 +CC2D1A 0 +CCDC105 0 +CCDC106 0 +CCDC124 0 +CCDC130 1 +CCDC155 0 +CCDC159 0 +CCDC61 0 +CCDC9 0 +CCDC94 1 +CCDC97 5 +CCL25 0 +CCNE1 5 +CD177 0 +CD22 0 +CD33 0 +CD37 0 +CD3EAP 0 +CD79A 0 +CD97 0 +CDC34 2 +CEACAM16 0 +CEACAM18 0 +CEACAM19 0 +CEACAM21 0 +CEACAM3 0 +CEACAM5 0 +CEACAM6 0 +CEBPA-AS1 0 +CEBPG 4 +CELF5 0 +CENPBD1P1 0 +CERS4 0 +CFD 0 +CGB2 0 +CGB5 0 +CHAF1A 48 +CHST8 0 +CIC 0 +CILP2 0 +CIRBP 0 +CLASRP 0 +CLEC11A 0 +CLEC17A 0 +CLEC4GP1 0 +CLEC4M 0 +CLPP 0 +CLPTM1 1 +CNN1 0 +CNN2 0 +CNOT3 0 +COLGALT1 0 +COX6B1 3 +CPT1C 0 +CRB3 0 +CREB3L3 0 +CRTC1 0 +CRX 0 +CSNK1G2 1 +CTC-360P9.3 0 +CYP2A13 0 +CYP2B6 0 +CYP2B7P 0 +CYP2F1 0 +CYP2G1P 0 +CYP2S1 1 +CYP4F12 0 +CYP4F22 0 +CYP4F3 0 +CYP4F8 0 +CYTH2 1 +DACT3-AS1 0 +DAND5 0 +DAZAP1 1 +DCAF15 0 +DDA1 0 +DDX49 0 +DHDH 0 +DHX34 0 +DKFZp434J0226 0 +DKKL1 0 +DLL3 0 +DMRTC2 4 +DNM2 0 +DOT1L 2 +DPP9-AS1 0 +DPRX 0 +DPY19L3 0 +EBI3 0 +EFNA2 0 +EGLN2 0 +EHD2 0 +EIF3K 1 +ELANE 2 +ELSPBP1 0 +EMC10 0 +EMP3 0 +EMR1 0 +EPN1 0 +EPS8L1 0 +ERICH4 0 +ERVV-1 0 +ERVV-2 0 +ETV2 0 +EVI5L 0 +F2RL3 0 +FAM129C 0 +FAM32A 0 +FAM90A27P 0 +FAM98C 1 +FCAR 0 +FCGRT 0 +FCHO1 1 +FEM1A 0 +FFAR1 0 +FFAR2 0 +FFAR3 0 +FGF21 0 +FGF22 0 +FKRP 0 +FLJ26850 0 +FLT3LG 0 +FOSB 1 +FOXA3 0 +FPR2 0 +FPR3 0 +FSD1 0 +FSTL3 0 +FTL 109 +FUT2 1 +FXYD1 0 +FXYD3 0 +FXYD5 0 +FXYD7 0 +FZR1 0 +GADD45B 0 +GALP 0 +GAPDHS 0 +GATAD2A 1 +GCDH 0 +GDF15 0 +GEMIN7 0 +GFY 4 +GIPC3 0 +GIPR 0 +GLTSCR1 1 +GLTSCR2 1 +GNA11 23 +GNA15 0 +GOLGA2P9 0 +GPATCH1 6 +GPI 2 +GPR32 0 +GPX4 0 +GRAMD1A 1 +GRIN2D 0 +GRIN3B 0 +GRWD1 0 +GTPBP3 0 +GZMM 0 +HAMP 0 +HAUS5 0 +HCN2 0 +HCST 0 +HDGFRP2 1 +HIF3A 0 +HKR1 3 +HMG20B 0 +HMHA1 4 +HNRNPM 4 +HNRNPUL1 11 +HPN 0 +HSD11B1L 0 +HSH2D 0 +ICAM1 0 +ICAM4 0 +ICAM5 0 +IER2 13 +IFI30 0 +IFNL1 0 +IFNL2 0 +IGFL1 0 +IGFL2 0 +IGLON5 0 +IGSF23 0 +IL27RA 0 +ILF3 6 +INAFM1 0 +IRGC 0 +ITPKC 0 +IZUMO4 0 +JUNB 0 +KCNJ14 0 +KCNK6 0 +KCNN1 0 +KCTD15 0 +KDM4B 2 +KIAA0355 1 +KIR2DL1 0 +KIR2DL3 0 +KIR2DL4 0 +KIR2DS4 0 +KIR3DL1 0 +KIR3DL2 0 +KIR3DL3 0 +KIR3DX1 0 +KIRREL2 0 +KISS1R 0 +KLC3 0 +KLF2 3 +KLHL26 2 +KLK2 0 +KLK3 0 +KMT2B 3 +KXD1 1 +LAIR2 0 +LDLR 6 +LENG8 1 +LEUTX 0 +LGALS13 0 +LGALS14 0 +LGALS16 0 +LGALS17A 0 +LGALS7B 0 +LILRA1 0 +LILRA2 0 +LILRB1 0 +LILRB4 0 +LILRP2 0 +LIN37 0 +LIN7B 0 +LINC00661 0 +LINC00664 0 +LINC00905 0 +LINC00906 0 +LINC01233 0 +LINC01480 0 +LIPE-AS1 0 +LOC100128398 0 +LOC100128568 0 +LOC100128682 0 +LOC100129083 0 +LOC100129935 0 +LOC100131691 0 +LOC100134317 0 +LOC100288123 0 +LOC100289333 0 +LOC100289650 0 +LOC100505622 0 +LOC100505812 0 +LOC100505835 0 +LOC100507373 0 +LOC100996349 0 +LOC101927151 0 +LOC101927572 0 +LOC101927599 0 +LOC101927667 0 +LOC101928571 0 +LOC101928844 0 +LOC101928886 0 +LOC101929059 0 +LOC102723617 0 +LOC102724958 0 +LOC113230 0 +LOC388553 0 +LOC641367 0 +LOC644189 0 +LOC644554 0 +LOC646862 0 +LOC728485 0 +LOC728752 0 +LPPR2 2 +LRFN3 0 +LRP3 0 +LRRC8E 0 +LSM14A 4 +LSR 0 +LTBP4 0 +MADCAM1 0 +MAG 0 +MAP1S 0 +MAP2K7 3 +MAP3K10 0 +MARCH2 0 +MARK4 2 +MAST1 0 +MAST3 0 +MAU2 1 +MBD3L1 0 +MBD3L2 0 +MBD3L5 0 +MCEMP1 0 +MCOLN1 1 +MED25 0 +MED29 0 +MEGF8 0 +MGC45922 0 +MIA 0 +MIA-RAB4B 0 +MIDN 0 +MIMT1 0 +MIR1199 0 +MIR1238 0 +MIR125A 0 +MIR1283-1 0 +MIR1283-2 0 +MIR1323 0 +MIR1470 0 +MIR181C 0 +MIR181D 0 +MIR3187 0 +MIR3188 0 +MIR3189 0 +MIR3190 0 +MIR371A 0 +MIR372 0 +MIR373 0 +MIR4321 0 +MIR4322 0 +MIR4745 0 +MIR4746 0 +MIR4747 0 +MIR4748 0 +MIR4749 0 +MIR4750 0 +MIR4751 0 +MIR4752 0 +MIR498 0 +MIR5088 0 +MIR512-1 0 +MIR512-2 0 +MIR515-1 0 +MIR515-2 0 +MIR516A1 0 +MIR516A2 0 +MIR516B1 0 +MIR516B2 0 +MIR517A 0 +MIR517B 0 +MIR517C 0 +MIR518A1 0 +MIR518A2 0 +MIR518B 0 +MIR518C 0 +MIR518D 0 +MIR518E 0 +MIR518F 0 +MIR5196 0 +MIR519A1 0 +MIR519A2 0 +MIR519B 0 +MIR519C 0 +MIR519D 0 +MIR519E 0 +MIR520A 0 +MIR520B 0 +MIR520C 0 +MIR520D 0 +MIR520E 0 +MIR520F 0 +MIR520G 0 +MIR520H 0 +MIR521-1 0 +MIR521-2 0 +MIR522 0 +MIR523 0 +MIR524 0 +MIR525 0 +MIR526A1 0 +MIR526A2 0 +MIR526B 0 +MIR527 0 +MIR638 0 +MIR639 0 +MIR642A 0 +MIR643 0 +MIR6515 0 +MIR6792 0 +MIR6793 0 +MIR6794 0 +MIR6796 0 +MIR6797 3 +MIR6798 0 +MIR6799 0 +MIR6800 0 +MIR6801 0 +MIR6805 0 +MIR6806 0 +MIR6807 0 +MIR6886 0 +MIR6887 0 +MIR7-3 0 +MIR7-3HG 0 +MIR769 0 +MIR8061 0 +MIR8077 0 +MIR8085 0 +MIR935 0 +MIR99B 0 +MIRLET7E 0 +MISP 0 +MPND 0 +MPV17L2 0 +MRI1 0 +MRPL34 1 +MRPL4 2 +MRPL54 0 +MRPS12 0 +MUM1 0 +MVB12A 0 +MYADM 2 +MYBPC2 0 +MYH14 0 +MYO9B 2 +NACC1 0 +NANOS3 0 +NAPA-AS1 0 +NAT14 0 +NCAN 0 +NCCRP1 0 +NCLN 0 +NCR1 0 +NDUFA13 0 +NDUFA3 0 +NDUFS7 0 +NFIC 0 +NFIX 0 +NFKBIB 0 +NLRP2 65 +NLRP4 407 +NLRP5 7 +NLRP8 5 +NMRK2 0 +NPAS1 0 +NR1H2 2 +NRTN 0 +NUCB1 0 +NUDT19 0 +NWD1 0 +OAZ1 2 +OCEL1 0 +ONECUT3 0 +OR10H2 0 +OR10H3 0 +OR10H4 0 +OR10H5 0 +OR1I1 0 +OR1M1 0 +OR2Z1 0 +OR4F17 0 +OR7C2 0 +OR7D2 0 +OR7E24 1 +OVOL3 0 +P2RY11 0 +PAK4 1 +PALM 0 +PAPL 0 +PDCD2L 0 +PDCD5 4 +PDE4A 0 +PEG3-AS1 0 +PET100 0 +PGLS 0 +PGPEP1 4 +PIAS4 5 +PIK3R2 1 +PIN1 1 +PINLYP 0 +PKN1 1 +PLD3 0 +PLEKHF1 0 +PLEKHG2 0 +PLK5 0 +PNPLA6 0 +POLD1 0 +POP4 1 +PPAN 0 +PPAN-P2RY11 0 +PPFIA3 0 +PPM1N 0 +PPP1R15A 1 +PPP1R37 1 +PPP2R1A 3 +PPP5C 0 +PRG1 0 +PRKCG 2 +PRKCSH 1 +PRMT1 3 +PROSER3 0 +PRPF31 2 +PRR12 1 +PRR19 0 +PRRG2 0 +PRTN3 0 +PSENEN 0 +PSMC4 4 +PSMD8 0 +PTBP1 5 +PTOV1 1 +PVR 0 +PVRL2 0 +QPCTL 0 +QTRT1 0 +RAB11B 0 +RAB4B 0 +RAB4B-EGLN2 0 +RAB8A 0 +RAD23A 2 +RBM42 0 +RCN3 0 +RDH8 0 +REEP6 0 +RELB 0 +RETN 0 +RFPL4A 0 +RFPL4AL1 0 +RFXANK 1 +RGS9BP 0 +RLN3 0 +RNASEH2A 0 +RNU6-2 0 +RPL13A 19 +RPL13AP5 0 +RPL18A 1 +RPL28 12 +RPL36 48 +RPS11 17 +RPS15 5 +RPS19 24 +RPS28 3 +RPS5 23 +RPS9 8 +RPSAP58 12 +RUVBL2 0 +RYR1 0 +S1PR4 0 +SAE1 4 +SAFB 0 +SAMD4B 2 +SCAF1 0 +SCAMP4 0 +SCGB2B3P 0 +SCN1B 0 +SDHAF1 0 +SEC1P 0 +SELV 0 +SEPW1 1 +SF3A2 0 +SHD 5 +SHKBP1 0 +SIGLEC16 0 +SIGLEC17P 0 +SIGLEC7 0 +SIGLEC9 0 +SIGLECL1 0 +SIN3B 2 +SIPA1L3 0 +SLC25A42 0 +SLC27A1 0 +SLC44A2 0 +SLC5A5 0 +SMARCA4 2 +SMIM17 1 +SNAPC2 1 +SNAR-A1 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A12 0 +SNAR-A13 0 +SNAR-A14 0 +SNAR-A2 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-C1 0 +SNAR-C2 0 +SNAR-C3 0 +SNAR-C4 0 +SNAR-C5 0 +SNAR-F 0 +SNAR-G1 0 +SNORA68 0 +SNORD105 0 +SNORD105B 0 +SNORD23 0 +SNORD32A 0 +SNORD33 1 +SNORD34 0 +SNORD35A 0 +SNORD35B 0 +SNRNP70 1 +SNRPA 0 +SPACA4 0 +SPACA6P 0 +SPHK2 0 +SPIB 0 +SPINT2 10 +SPPL2B 0 +SPRED3 0 +SPTBN4 0 +SRRM5 1 +SSBP4 0 +SSC5D 0 +STK11 0 +STXBP2 0 +SULT2B1 0 +SUPT5H 0 +SUV420H2 0 +SWSAP1 0 +SYDE1 0 +SYNGR4 0 +TBC1D17 0 +TBCB 1 +TDRD12 0 +TECR 1 +TEX101 0 +TGFBR3L 0 +THEG5 0 +THOP1 0 +TIMM50 0 +TJP3 0 +TLE6 0 +TMEM145 0 +TMEM147 1 +TMEM190 0 +TMEM38A 1 +TMEM59L 0 +TMEM91 0 +TMPRSS9 0 +TNFAIP8L1 0 +TNFSF9 0 +TOMM40 0 +TPGS1 0 +TPM3P9 0 +TPM4 0 +TRAPPC2P1 0 +TRAPPC5 0 +TRIM28 0 +TRIP10 0 +TRPM4 0 +TSEN34 0 +TSPAN16 1 +TTYH1 0 +U2AF2 2 +UBA2 0 +UBA52 7 +UBL5 1 +UCA1 0 +UHRF1 52 +UPF1 2 +UPK1A 0 +URI1 0 +USE1 0 +USF2 4 +USP29 0 +VASP 0 +VAV1 0 +VMAC 0 +VN1R2 0 +VSTM2B 0 +WDR18 1 +WDR62 2 +WDR83 1 +WDR88 0 +WTIP 0 +YJEFN3 0 +ZBTB32 0 +ZFP28 0 +ZFP36 4 +ZIK1 1 +ZNF101 0 +ZNF114 0 +ZNF134 0 +ZNF135 0 +ZNF136 7 +ZNF137P 0 +ZNF146 1 +ZNF155 52 +ZNF17 1 +ZNF175 0 +ZNF177 1 +ZNF181 2 +ZNF211 1 +ZNF221 0 +ZNF222 10 +ZNF223 0 +ZNF224 0 +ZNF225 0 +ZNF226 0 +ZNF227 12 +ZNF230 0 +ZNF233 0 +ZNF234 0 +ZNF253 0 +ZNF254 0 +ZNF257 3 +ZNF264 0 +ZNF274 1 +ZNF283 0 +ZNF284 0 +ZNF30 0 +ZNF302 1 +ZNF304 5 +ZNF317 0 +ZNF324 4 +ZNF324B 0 +ZNF331 0 +ZNF333 0 +ZNF345 0 +ZNF350-AS1 0 +ZNF358 0 +ZNF382 1 +ZNF383 0 +ZNF419 8 +ZNF420 0 +ZNF429 0 +ZNF430 0 +ZNF431 0 +ZNF439 0 +ZNF440 0 +ZNF441 0 +ZNF444 1 +ZNF446 0 +ZNF460 0 +ZNF470 0 +ZNF471 0 +ZNF473 1 +ZNF480 0 +ZNF486 0 +ZNF491 0 +ZNF492 0 +ZNF493 0 +ZNF507 1 +ZNF524 0 +ZNF525 2 +ZNF526 4 +ZNF527 0 +ZNF528 0 +ZNF530 2 +ZNF534 0 +ZNF536 0 +ZNF540 0 +ZNF542P 1 +ZNF543 0 +ZNF544 0 +ZNF546 2 +ZNF547 0 +ZNF548 3 +ZNF549 5 +ZNF551 0 +ZNF554 0 +ZNF555 5 +ZNF556 0 +ZNF557 1 +ZNF559 1 +ZNF559-ZNF177 1 +ZNF561-AS1 0 +ZNF567 0 +ZNF568 0 +ZNF57 4 +ZNF570 0 +ZNF571-AS1 0 +ZNF574 10 +ZNF575 0 +ZNF576 0 +ZNF578 0 +ZNF580 1 +ZNF581 1 +ZNF582-AS1 0 +ZNF583 0 +ZNF584 1 +ZNF586 1 +ZNF587 2 +ZNF587B 0 +ZNF610 0 +ZNF613 0 +ZNF627 0 +ZNF628 0 +ZNF667-AS1 1 +ZNF69 0 +ZNF700 0 +ZNF701 0 +ZNF71 0 +ZNF714 0 +ZNF726 0 +ZNF729 0 +ZNF730 0 +ZNF738 3 +ZNF749 0 +ZNF761 4 +ZNF763 0 +ZNF765 3 +ZNF766 3 +ZNF773 2 +ZNF776 1 +ZNF788 10 +ZNF790-AS1 0 +ZNF791 0 +ZNF793 0 +ZNF8 0 +ZNF805 0 +ZNF808 0 +ZNF813 1 +ZNF818P 0 +ZNF833P 2 +ZNF844 0 +ZNF845 0 +ZNF85 0 +ZNF865 0 +ZNF880 0 +ZNF90 2 +ZNF93 5 +ZNRF4 0 +ZSCAN1 0 +ZSCAN22 1 +ZSCAN4 0 +ZSWIM4 2 +KIR2DL2 0 +KIR2DL4 0 +KIR2DL5A 0 +KIR2DL5B 0 +KIR2DS1 0 +KIR2DS2 0 +KIR2DS3 0 +KIR2DS5 0 +KIR3DS1 0 +ABCG8 0 +ABHD1 0 +ABI2 6 +ACKR3 0 +ACMSD 0 +ACOXL 0 +ACP1 1 +ACSL3 5 +ACTG2 3 +ACTR2 9 +ACTR3 5 +ACTR3BP2 0 +ACVR2A 1 +ACYP2 0 +ADAM23 0 +AFTPH 1 +AGAP1 0 +AGBL5 1 +AGFG1 4 +AGPS 1 +AGXT 0 +AHSA2 0 +ALLC 0 +ALMS1 7 +ALMS1-IT1 1 +ALMS1P 0 +ALPI 0 +ALPP 0 +ALPPL2 0 +AMER3 0 +ANAPC1P1 0 +ANKAR 0 +ANKRD36 0 +ANKRD36BP2 0 +ANKRD53 0 +ANKZF1 1 +ANO7 0 +ANTXR1 0 +ANXA4 0 +AOX1 1 +AOX2P 0 +APLF 0 +AQP12A 0 +ARHGAP15 0 +ARHGAP25 0 +ARHGEF33 1 +ARHGEF4 0 +ARID5A 0 +ARL6IP6 0 +ARMC9 4 +ARPC2 7 +ASAP2 1 +ASB1 0 +ASIC4 0 +ASNSD1 0 +ATG16L1 1 +ATG4B 1 +ATIC 4 +ATOH8 0 +ATP6V1B1 0 +ATP6V1C2 1 +ATRAID 5 +B3GALT1 0 +B3GNT2 42 +B3GNT7 0 +BBS5 1 +BCL2L11 0 +BCS1L 0 +BIRC6 7 +BMPR2 1 +BOK 0 +BOLA3-AS1 0 +BRE 0 +BZW1 1 +C2orf15 3 +C2orf16 0 +C2orf27A 0 +C2orf40 0 +C2orf47 1 +C2orf48 0 +C2orf49 1 +C2orf50 0 +C2orf57 0 +C2orf69 0 +C2orf70 0 +C2orf72 0 +C2orf73 0 +C2orf74 0 +C2orf78 0 +C2orf82 0 +C2orf88 0 +CAB39 3 +CAD 1 +CAMKMT 0 +CAPN10 2 +CARF 0 +CASP10 0 +CASP8 1 +CATIP 0 +CBWD2 0 +CCDC104 0 +CCDC138 0 +CCDC140 0 +CCDC148-AS1 0 +CCDC150 1 +CCDC74A 0 +CCDC85A 0 +CCL20 0 +CCNT2 1 +CCNYL1 7 +CCT7 0 +CD28 0 +CDCA7 0 +CDK15 0 +CDK5R2 0 +CEBPZOS 1 +CENPA 3 +CENPO 3 +CEP68 0 +CERS6 1 +CFAP221 0 +CFC1B 0 +CFLAR 0 +CHAC2 0 +CHCHD5 0 +CHRND 0 +CHRNG 0 +CIAO1 0 +CLIP4 4 +CNGA3 0 +CNNM3 0 +CNNM4 0 +CNOT11 21 +CNTNAP5 0 +COL3A1 0 +COL4A3 0 +COLEC11 0 +COMMD1 3 +COPS7B 10 +COPS8 28 +COQ10B 0 +COX5B 2 +CPO 0 +CPS1 1 +CPS1-IT1 0 +CPSF3 2 +CREB1 2 +CRIM1 0 +CRIPT 1 +CSRNP3 0 +CTDSP1 0 +CTLA4 0 +CTNNA2 1 +CXCR2 0 +CYBRD1 0 +CYP1B1-AS1 0 +CYP20A1 0 +CYP27A1 0 +CYP4F30P 0 +D2HGDH 0 +DAPL1 0 +DARS-AS1 0 +DAW1 4 +DBI 1 +DCAF17 0 +DCDC2C 0 +DCTN1-AS1 0 +DDX1 2 +DDX18 10 +DES 0 +DFNB59 0 +DGKD 0 +DGUOK 0 +DHRS9 0 +DIS3L2 1 +DLX1 0 +DNAH6 0 +DNAJB2 1 +DNAJC10 0 +DNAJC27-AS1 0 +DNAJC5G 0 +DOK1 0 +DPP10 0 +DPYSL5 0 +DRC1 0 +DUSP19 2 +DUSP28 0 +DYNC1I2 16 +DYNC2LI1 0 +DYSF 1 +EEF1B2 3 +EFHD1 4 +EFR3B 1 +EHBP1 2 +EHD3 0 +EIF4E2 0 +EIF5B 49 +ELMOD3 0 +EMILIN1 0 +EML4 1 +EML6 0 +EMX1 4 +EPAS1 16 +EPB41L5 4 +EPC2 0 +EPCAM 2 +EPT1 1 +ERICH2 0 +ERLEC1 4 +ESPNL 0 +ETAA1 2 +FAHD2A 0 +FAHD2CP 0 +FAM117B 0 +FAM132B 0 +FAM134A 4 +FAM138B 0 +FAM171B 3 +FAM179A 0 +FAM228A 17 +FAM228B 0 +FAM84A 0 +FARP2 0 +FASTKD2 2 +FBLN7 5 +FBXO36 0 +FER1L5 0 +FKBP1B 0 +FMNL2 2 +FOSL2 2 +FOXD4L1 0 +FOXN2 0 +FSIP2 0 +FUNDC2P2 0 +FZD7 0 +G6PC2 0 +GAD1 2 +GAL3ST2 0 +GALM 0 +GALNT13 1 +GALNT5 0 +GAREML 1 +GCA 2 +GCC2 6 +GCKR 0 +GDF7 0 +GEMIN6 1 +GEN1 1 +GGT8P 0 +GIGYF2 12 +GKN1 0 +GLI2 0 +GLS 0 +GMCL1 0 +GMPPA 0 +GNLY 0 +GORASP2 8 +GPATCH11 4 +GPBAR1 0 +GPC1 0 +GPD2 2 +GPN1 3 +GPR1-AS 0 +GPR148 0 +GPR17 0 +GPR35 0 +GPR39 2 +GPR45 0 +GREB1 1 +GRHL1 1 +GTF2A1L 1 +GTF3C2-AS1 0 +GULP1 0 +GYPC 0 +HADHB 0 +HAGLROS 0 +HAT1 0 +HCG2040054 0 +HK2 2 +HNMT 0 +HNRNPA3 0 +HOXD1 0 +HOXD10 0 +HOXD11 0 +HOXD12 0 +HOXD13 0 +HOXD3 0 +HOXD4 0 +HOXD8 0 +HOXD9 0 +HPCAL1 0 +HSPE1 0 +HSPE1-MOB4 0 +HTRA2 0 +IAH1 16 +ICOS 0 +ID2 0 +IDH1-AS1 0 +IGFBP2 0 +IL18R1 0 +IL18RAP 0 +IL1F10 0 +IL1R1 0 +IL1R2 0 +IL1RL1 0 +IL1RL2 0 +IL1RN 0 +IL36A 0 +IL36G 0 +IL36RN 0 +IL37 0 +IMP4 1 +ING5 1 +INHA 0 +INHBB 0 +INO80B 0 +INO80B-WBP1 0 +INPP1 0 +INPP4A 1 +INPP5D 0 +INSIG2 0 +ITGA4 3 +ITGA6 0 +ITGAV 0 +ITM2C 18 +ITPRIPL1 0 +KCMF1 2 +KCNE4 0 +KCNF1 0 +KCNIP3 0 +KCNJ3 0 +KCNK3 0 +KCNS3 1 +KDM3A 21 +KHK 0 +KIAA1841 0 +KIF5C 0 +KLF11 9 +KLHL23 0 +KLHL29 0 +KLHL30 0 +KLHL41 0 +KRTCAP3 0 +KYNU 0 +LANCL1-AS1 0 +LBH 0 +LBX2-AS1 0 +LCLAT1 0 +LGALSL 0 +LIMS1 0 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00152 0 +LINC00486 0 +LINC00570 0 +LINC00608 0 +LINC00954 0 +LINC01087 0 +LINC01102 0 +LINC01104 0 +LINC01105 0 +LINC01118 9 +LINC01119 0 +LINC01120 0 +LINC01122 1 +LINC01123 0 +LINC01125 0 +LINC01126 0 +LINC01127 0 +LINC01191 0 +LINC01237 0 +LINC01305 0 +LINC01412 0 +LIPT1 0 +LOC100129175 0 +LOC100271832 0 +LOC100288570 0 +LOC100506076 0 +LOC100506274 0 +LOC100506457 0 +LOC100507006 0 +LOC100507073 0 +LOC100507334 0 +LOC100507443 0 +LOC100507600 0 +LOC100652824 0 +LOC100996579 0 +LOC100996693 0 +LOC101060019 0 +LOC101805491 0 +LOC101926966 0 +LOC101927027 0 +LOC101927053 0 +LOC101927055 0 +LOC101927285 0 +LOC101927406 0 +LOC101927431 0 +LOC101927482 0 +LOC101927641 0 +LOC101927661 0 +LOC101927881 0 +LOC101927884 0 +LOC101927907 0 +LOC101927924 0 +LOC101927926 0 +LOC101927948 0 +LOC101928020 0 +LOC101928103 0 +LOC101928161 0 +LOC101928222 0 +LOC101928371 0 +LOC101928386 0 +LOC101929231 0 +LOC101929282 0 +LOC101929532 0 +LOC101929570 0 +LOC101929633 0 +LOC101929680 0 +LOC101929715 0 +LOC101929733 0 +LOC102723362 0 +LOC102723927 0 +LOC102724058 0 +LOC102724224 0 +LOC102724849 0 +LOC102800447 0 +LOC150776 0 +LOC150935 0 +LOC151484 0 +LOC1720 0 +LOC200726 0 +LOC284950 0 +LOC285043 0 +LOC339807 0 +LOC388942 0 +LOC400940 0 +LOC440895 0 +LOC440910 0 +LOC643072 0 +LOC643387 0 +LOC646736 0 +LOC646743 0 +LOC653602 0 +LOC728323 3 +LOC728730 4 +LPIN1 2 +LRRFIP1 2 +LTBP1 0 +LYPD6 1 +LYPD6B 0 +MAL 0 +MAP2 0 +MAP4K4 5 +MAPRE3 0 +MARCH7 9 +MARCO 0 +MARS2 0 +MAT2A 2 +MBD5 0 +MDH1 4 +MED15P9 0 +MEIS1 0 +MERTK 0 +METAP1D 0 +MFF 4 +MFSD2B 0 +MFSD6 0 +MGAT5 4 +MIR10B 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1245A 0 +MIR128-1 0 +MIR149 0 +MIR26B 0 +MIR3125 0 +MIR3126 0 +MIR3127 0 +MIR3130-2 0 +MIR3606 0 +MIR3679 0 +MIR4263 0 +MIR4269 0 +MIR4426 0 +MIR4434 0 +MIR4435-1 0 +MIR4435-2 0 +MIR4436A 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4757 0 +MIR4765 0 +MIR4772 0 +MIR4773-1 0 +MIR4774 0 +MIR4775 0 +MIR4776-1 0 +MIR4777 0 +MIR5000 0 +MIR5192 0 +MIR548AR 0 +MIR548N 0 +MIR558 0 +MIR559 0 +MIR561 0 +MIR5696 0 +MIR5703 0 +MIR6810 0 +MIR6811 0 +MIR6888 0 +MIR7515 0 +MIR7845 0 +MLPH 0 +MOB4 9 +MOGAT1 0 +MORN2 2 +MPHOSPH10 3 +MROH2A 0 +MRPL19 0 +MRPL30 3 +MRPL33 0 +MRPL35 2 +MRPL44 10 +MRPS9 1 +MSGN1 0 +MSH2 5 +MSH6 1 +MTA3 3 +MTHFD2 0 +MTX2 2 +MXD1 15 +MYCN 0 +MYO1B 3 +MYO3B 0 +MYO7B 1 +MYT1L-AS1 0 +MZT2B 0 +NAB1 0 +NABP1 0 +NAGK 1 +NBEAL1 0 +NCAPH 30 +NCK2 5 +NCOA1 9 +NDUFAF7 0 +NDUFB3 0 +NEU2 0 +NEU4 0 +NIF3L1 3 +NIFK-AS1 0 +NMS 0 +NOP58 3 +NOSTRIN 2 +NOTO 0 +NPAS2 0 +NRBP1 1 +NRP2 0 +NUP35 6 +NYAP2 1 +OR7E91P 0 +OSBPL6 0 +OSGEPL1-AS1 0 +OTX1 0 +PABPC1P2 0 +PAPOLG 2 +PARD3B 1 +PAX8-AS1 0 +PCBP1 98 +PCGEM1 0 +PCYOX1 2 +PDCL3 28 +PDK1 3 +PEX13 2 +PHOSPHO2 0 +PHOSPHO2-KLHL23 0 +PIKFYVE 3 +PKDCC 0 +PKI55 0 +PKP4 4 +PLB1 1 +PLCD4 2 +PLCL1 5 +PLEK 0 +PLEKHA3 1 +PLEKHB2 13 +PLEKHH2 0 +PLGLA 0 +PLGLB1 0 +PLGLB2 0 +PMS1 8 +PNKD 0 +PNO1 0 +POLE4 2 +POLR1B 1 +POTEE 0 +POTEJ 0 +POTEKP 0 +POU3F3 0 +PPIG 36 +PPM1B 1 +PPP1CB 2 +PPP1R1C 0 +PPP1R21 1 +PPP1R7 3 +PQLC3 0 +PRKCE 0 +PRLH 0 +PROC 0 +PROKR1 0 +PROM2 0 +PRORSD1P 0 +PRSS56 0 +PSD4 0 +PSMD1 21 +PSMD14 7 +PTCD3 3 +PTH2R 0 +PTMA 20 +PTPN18 0 +PTPN4 0 +QPCT 0 +R3HDM1 0 +RAB10 6 +RAB3GAP1 6 +RAB6C 0 +RABL2A 0 +RALB 1 +RAMP1 0 +RANBP2 1 +RAPGEF4 0 +RASGRP3 3 +RBM44 0 +RBM45 0 +REG1A 0 +REG3G 0 +REL 2 +RGPD1 0 +RGPD2 0 +RGPD4 0 +RGPD5 0 +RGPD6 0 +RHBDD1 2 +RHOB 0 +RHOQ 0 +RIF1 6 +RMDN2 0 +RMND5A 8 +RNASEH1-AS1 0 +RNF144A 0 +RNF181 2 +RNPEPL1 0 +RNU4ATAC 0 +RNU6-81P 0 +RPE 2 +RPIA 4 +RPL23AP32 0 +RPL31 2 +RPL37A 21 +RPS27A 9 +RPS7 2 +RQCD1 2 +RRM2 29 +RSAD2 0 +RTP5 0 +RUFY4 0 +SAG 0 +SATB2-AS1 0 +SCARNA5 0 +SCARNA6 0 +SCHLAP1 0 +SCLY 0 +SCN2A 0 +SCRN3 0 +SEMA4F 0 +SEPT2 11 +SFT2D3 0 +SGOL2 15 +SGPP2 0 +SH2D6 0 +SH3BP4 1 +SH3RF3 0 +SIX3 0 +SLC11A1 0 +SLC1A4 0 +SLC20A1 0 +SLC30A6 0 +SLC35F6 0 +SLC39A10 3 +SLC3A1 4 +SLC4A10 0 +SLC4A1AP 0 +SLC4A3 0 +SLC5A7 0 +SLC8A1-AS1 1 +SLC9A2 0 +SLC9A4 0 +SMARCAL1 1 +SMYD1 0 +SMYD5 0 +SNED1 0 +SNORA41 0 +SNORD11 0 +SNORD11B 0 +SNORD51 0 +SNORD53 0 +SNORD70 0 +SNORD92 0 +SNORD94 0 +SNRNP27 0 +SNTG2 0 +SNX17 1 +SOCS5 0 +SOWAHC 0 +SOX11 0 +SP100 0 +SP140 0 +SP140L 0 +SP5 0 +SP9 0 +SPAG16 0 +SPAST 0 +SPATA3 0 +SPATS2L 0 +SPDYA 0 +SPEG 0 +SPOPL 0 +SPP2 0 +SPR 3 +SPTBN1 2 +SSB 7 +SSFA2 4 +ST3GAL5-AS1 0 +STAMBP 1 +STARD7-AS1 0 +STEAP3 0 +STK11IP 0 +STK16 0 +STK36 1 +STON1 0 +STON1-GTF2A1L 3 +STRADB 0 +SULT1C2 0 +SULT1C2P1 0 +SULT1C3 0 +SULT1C4 0 +TAF1B 3 +TANC1 2 +TANK 0 +TBR1 0 +TCF23 0 +TCF7L1 4 +TEKT4 0 +TET3 18 +TEX37 1 +TEX41 0 +THNSL2 0 +THSD7B 1 +TISP43 0 +TLX2 0 +TMEM169 1 +TMEM177 0 +TMEM178A 0 +TMEM182 0 +TMEM198 0 +TMEM214 0 +TMEM247 0 +TMEM37 0 +TMEM87B 0 +TMSB10 0 +TNFAIP6 0 +TPO 0 +TRAF3IP1 2 +TRAPPC12 0 +TRIB2 0 +TRIM43 0 +TRIM54 0 +TRPM8 0 +TSN 2 +TTC21B-AS1 0 +TTC27 0 +TTC31 1 +TTC7A 0 +TTL 0 +TTLL4 9 +TTN-AS1 0 +TUBA3D 1 +TUBA4B 6 +TWIST2 0 +UBE2E3 4 +UBE2F 1 +UBE2F-SCLY 0 +UBR3 0 +UBXN2A 0 +UBXN4 33 +UGGT1 0 +UGP2 20 +UGT1A1 0 +UGT1A10 0 +UGT1A3 0 +UGT1A4 0 +UGT1A5 0 +UGT1A6 0 +UGT1A7 0 +UGT1A8 0 +UGT1A9 0 +UNC50 1 +UNC80 0 +UPP2 1 +USP39 1 +VAMP5 0 +VAMP8 0 +VAX2 0 +VIL1 0 +VIT 0 +VRK2 1 +VSNL1 0 +VWA3B 0 +VWC2L 0 +VWC2L-IT1 0 +WASH2P 0 +WBP1 0 +WDR43 3 +WDR54 0 +WDR75 5 +WNT10A 0 +WNT6 0 +XIRP2 0 +XRCC5 1 +YIPF4 0 +YPEL5 60 +YY1P2 0 +ZAK 0 +ZAP70 0 +ZC3H15 17 +ZC3H6 0 +ZDBF2 2 +ZEB2-AS1 0 +ZFAND2B 0 +ZNF2 1 +ZNF512 2 +ZNF638 4 +ZNF804A 0 +AAR2 1 +ABHD16B 0 +ACSS2 0 +ACTL10 0 +ACTR5 1 +ADIG 0 +ADRM1 2 +ANKEF1 0 +AP5S1 1 +APCDD1L-AS1 0 +ARFGAP1 0 +ARFGEF2 2 +ARHGAP40 0 +ASIP 0 +ASXL1 5 +ATRN 0 +BANF2 0 +BCAS4 0 +BIRC7 0 +BMP2 0 +BPI 0 +BPIFA1 0 +BPIFA2 0 +BPIFA3 0 +BPIFA4P 0 +BPIFB1 0 +BPIFB2 0 +BPIFB3 0 +BPIFB4 0 +BPIFB6 0 +BTBD3 0 +C20orf141 0 +C20orf144 0 +C20orf166 0 +C20orf195 0 +C20orf196 0 +C20orf197 0 +C20orf202 0 +C20orf24 3 +C20orf85 0 +CASC20 1 +CASS4 0 +CBFA2T2 1 +CCM2L 4 +CD40 0 +CDC25B 23 +CDH26 0 +CDH4 0 +CDS2 5 +CEBPB 0 +CEP250 1 +CFAP61 0 +CHGB 0 +CHMP4B 1 +CNBD2 0 +COL20A1 0 +COL9A3 0 +COX4I2 0 +CRLS1 1 +CSE1L 2 +CSRP2BP 0 +CST13P 0 +CST7 0 +CST8 0 +CSTF1 17 +CSTL1 0 +CTNNBL1 0 +CTSA 0 +DBNDD2 0 +DDX27 8 +DEFB115 0 +DEFB118 0 +DEFB123 0 +DEFB125 0 +DEFB126 0 +DEFB127 0 +DEFB129 0 +DEFB132 0 +DHX35 1 +DLGAP4 0 +DNAJC5 0 +DNMT3B 9 +DNTTIP1 0 +DOK5 1 +DPH3P1 6 +DSTN 16 +DTD1 1 +DYNLRB1 3 +EBF4 0 +EDN3 0 +ENTPD6 0 +EPB41L1 0 +ERGIC3 1 +EYA2 3 +FAM110A 6 +FAM182A 0 +FAM209A 0 +FAM209B 0 +FAM210B 2 +FAM217B 0 +FAM83C-AS1 0 +FAM83D 1 +FLJ16779 0 +FLJ33581 0 +FRG1B 1 +GDAP1L1 0 +GID8 2 +GINS1 3 +GNAS 0 +GNRH2 0 +GZF1 1 +HAR1A 0 +HCK 0 +HM13 3 +HNF4A 0 +HSPA12B 0 +ID1 0 +IFT52 5 +INSM1 0 +ISM1 0 +ITCH 4 +ITPA 0 +KCNK15 1 +KIF3B 2 +KIZ 0 +L3MBTL1 0 +LAMA5-AS1 0 +LAMP5 0 +LBP 0 +LIME1 0 +LINC00028 0 +LINC00176 0 +LINC00266-1 0 +LINC00493 0 +LINC00494 0 +LINC00851 0 +LINC01056 0 +LINC01270 0 +LINC01272 0 +LINC01273 0 +LINC01370 0 +LINC01432 0 +LINC01433 0 +LINC01440 0 +LOC100130587 0 +LOC100131496 0 +LOC100134868 0 +LOC100270804 0 +LOC100287792 0 +LOC100505515 0 +LOC100506175 0 +LOC100506470 0 +LOC101060004 0 +LOC101926955 0 +LOC101927159 0 +LOC101927631 0 +LOC101927700 0 +LOC101927770 0 +LOC101929010 0 +LOC101929125 0 +LOC101929312 0 +LOC101929371 0 +LOC101929395 0 +LOC101929625 0 +LOC101929698 0 +LOC102723590 0 +LOC149684 0 +LOC149950 0 +LOC388780 0 +LOC63930 0 +LOC643406 0 +LOC729296 0 +LOC79160 0 +LPIN3 0 +LSM14B 4 +MACROD2 0 +MACROD2-IT1 0 +MANBAL 0 +MAP1LC3A 0 +MAPRE1 17 +MAVS 1 +MC3R 0 +MCM8 3 +MCTS2P 0 +MGME1 2 +MIR1-1 0 +MIR103A2 0 +MIR124-3 0 +MIR1292 0 +MIR133A2 0 +MIR3192 0 +MIR3193 0 +MIR3196 0 +MIR3616 0 +MIR3646 0 +MIR4326 0 +MIR4532 0 +MIR4533 0 +MIR4755 0 +MIR499A 0 +MIR5095 0 +MIR644A 0 +MIR645 0 +MIR646HG 0 +MIR6812 0 +MIR6871 0 +MIR8062 0 +MIR941-1 0 +MIR941-2 0 +MIR941-3 0 +MIR941-4 0 +MMP24 0 +MMP9 0 +MOCS3 0 +MRGBP 0 +MRPS26 0 +MTG2 0 +MYBL2 0 +MYH7B 0 +MYL9 0 +MYLK2 0 +MYT1 0 +NAA20 5 +NCOA3 8 +NDUFAF5 0 +NELFCD 0 +NNAT 0 +NOP56 35 +NPEPL1 0 +NRSN2 0 +NTSR1 0 +NXT1 0 +OGFR 0 +OPRL1 0 +OSBPL2 1 +OSER1-AS1 0 +OTOR 0 +OXT 3 +PABPC1L 1 +PANK2 0 +PARD6B 0 +PAX1 0 +PCIF1 0 +PCK1 0 +PCMTD2 4 +PCNA-AS1 0 +PCSK2 0 +PET117 0 +PFDN4 1 +PHACTR3 5 +PHF20 4 +PI3 0 +PIGT 0 +PKIG 0 +PLCB1 3 +PLCB4 0 +PLCG1 0 +POFUT1 0 +POLR3F 0 +PPDPF 0 +PPP1R16B 0 +PRND 0 +PRNP 0 +PROCR 0 +PRPF6 10 +PSMF1 3 +PTPN1 3 +PTPRA 1 +PYGB 0 +R3HDML 0 +RAB22A 1 +RAD21L1 0 +RAE1 11 +RALGAPB 4 +RALY 4 +RBCK1 0 +RBM38 3 +RBPJL 0 +REM1 0 +RIN2 0 +RNF114 30 +ROMO1 0 +RPN2 4 +RPRD1B 1 +RPS21 11 +RTEL1 0 +RTEL1-TNFRSF6B 0 +RTFDC1 0 +SCP2D1 0 +SDCBP2-AS1 0 +SEC23B 4 +SEMG1 0 +SEMG2 0 +SGK2 0 +SIRPA 0 +SLC12A5 0 +SLC17A9 0 +SLC24A3 0 +SLC2A10 0 +SLC2A4RG 1 +SLC32A1 0 +SLC9A8 0 +SLCO4A1 4 +SLX4IP 0 +SMOX 0 +SNAI1 0 +SNAP25 0 +SNHG11 0 +SNORA51 0 +SNORA60 0 +SNORA71E 0 +SNORD110 0 +SNORD12 0 +SNORD12B 0 +SNORD12C 0 +SNORD56 0 +SNORD57 1 +SNORD86 0 +SNPH 0 +SNRPB2 12 +SNX21 2 +SOX12 0 +SPAG4 0 +SPINT4 0 +SPO11 0 +SPTLC3 0 +SRC 0 +SRSF6 1 +SS18L1 0 +SSTR4 0 +STK35 3 +STK4 11 +STX16 4 +STX16-NPEPL1 1 +SYNDIG1 0 +SYS1 0 +SYS1-DBNDD2 0 +TCEA2 0 +TFAP2C 0 +TGIF2 2 +TGIF2-C20orf24 0 +TGM3 0 +TGM6 0 +TLDC2 1 +TM9SF4 3 +TMC2 1 +TMEM239 0 +TNFRSF6B 0 +TOP1 31 +TOX2 1 +TP53INP2 0 +TPD52L2 0 +TPX2 13 +TRIB3 0 +TSHZ2 0 +TTLL9 1 +TTPAL 1 +TUBB1 0 +UBE2C 17 +UBOX5-AS1 0 +UCKL1-AS1 0 +VAPB 2 +VPS16 0 +VSTM2L 0 +WFDC10A 0 +WFDC13 0 +WFDC2 14 +WISP2 0 +XKR7 0 +XRN2 22 +YWHAB 73 +ZBTB46-AS1 0 +ZCCHC3 1 +ZFAS1 2 +ZGPAT 0 +ZNF133 0 +ZNF341 0 +ZNF831 0 +ZSWIM1 0 +ZSWIM3 17 +ABCC13 0 +ABCG1 0 +ADARB1 0 +AGPAT3 4 +AIRE 0 +ANKRD30BP2 0 +B3GALT5 0 +BACE2 0 +BACH1 12 +BACH1-IT2 0 +BRWD1-AS1 0 +BRWD1-IT2 0 +C21orf119 0 +C21orf33 0 +C21orf37 0 +C21orf49 0 +C21orf90 0 +CBR1 0 +CBR3 0 +CHAF1B 3 +CHODL 0 +CLIC6 0 +COL18A1 1 +COL6A1 0 +COL6A2 0 +CRYAA 0 +CXADR 0 +DIP2A 0 +DIP2A-IT1 0 +DOPEY2 2 +DSCAM-AS1 0 +DSCR10 0 +DSCR8 0 +DSCR9 0 +DYRK1A 11 +ETS2 0 +EVA1C 0 +FAM207A 0 +FAM3B 0 +GABPA 1 +GRIK1-AS1 0 +GRIK1-AS2 0 +HUNK 0 +IFNAR1 0 +IFNAR2 2 +IFNGR2 1 +IGSF5 0 +IL10RB 1 +ITGB2-AS1 0 +ITSN1 6 +JAM2 0 +KCNE2 0 +KCNJ15 0 +KRTAP10-10 0 +KRTAP10-11 0 +KRTAP10-12 0 +KRTAP10-4 0 +KRTAP10-7 0 +KRTAP10-8 0 +KRTAP10-9 0 +KRTAP12-3 0 +KRTAP13-1 0 +KRTAP13-4 0 +KRTAP15-1 0 +KRTAP20-1 0 +KRTAP20-2 0 +KRTAP20-3 0 +KRTAP20-4 0 +KRTAP22-1 0 +KRTAP6-3 0 +LINC00111 0 +LINC00112 0 +LINC00113 0 +LINC00161 0 +LINC00189 0 +LINC00308 0 +LINC00310 0 +LINC00314 0 +LINC00319 0 +LINC00649 0 +LINC00945 0 +LINC01424 0 +LINC01425 0 +LINC01426 0 +LINC01436 0 +LOC101928398 0 +LOC101928796 0 +LOC102724188 0 +LOC339622 0 +LOC400863 1 +LOC642852 0 +LRRC3 0 +MAP3K7CL 15 +MCM3AP-AS1 0 +MIR125B2 0 +MIR155 0 +MIR155HG 0 +MIR3197 0 +MIR3648-1 0 +MIR3687-1 0 +MIR4759 0 +MIR6501 0 +MIR6508 0 +MIR6815 0 +MIR802 0 +MIR8069-1 0 +MIR99A 0 +MIR99AHG 0 +MIRLET7C 0 +MORC3 0 +MRAP 0 +MRPS6 6 +MX1 0 +MX2 1 +NCAM2 0 +NDUFV3 2 +OLIG1 0 +OLIG2 0 +PAXBP1-AS1 0 +PCBP3 0 +PCNT 1 +PCP4 0 +PDE9A 6 +PDXK 0 +PFKL 0 +PKNOX1 0 +POTED 0 +PRMT2 3 +PWP2 1 +RBM11 1 +RIPPLY3 0 +RNU6-67P 0 +RRP1 0 +RRP1B 1 +SAMSN1-AS1 0 +SH3BGR 0 +SIM2 0 +SLC37A1 1 +SLC5A3 0 +SMIM11 0 +SOD1 1 +SON 25 +TRAPPC10 0 +TRPM2 0 +TSPEAR-AS1 0 +TTC3 7 +UBASH3A 0 +UMODL1 0 +USP16 15 +USP25 5 +WRB 2 +YBEY 0 +ZNF295-AS1 0 +ACO2 0 +ACR 0 +ADM2 0 +ADORA2A 0 +ADRBK2 1 +ADSL 0 +AIFM3 0 +AP1B1P1 0 +APOBEC3A 0 +APOBEC3A_B 0 +APOBEC3B 0 +APOBEC3C 0 +APOBEC3D 0 +APOBEC3F 0 +APOBEC3G 0 +APOBEC3H 0 +APOL1 0 +APOL5 0 +APOL6 0 +ARHGAP8 0 +ASPHD2 3 +ATF4 2 +ATXN10 0 +BCL2L13 9 +BCR 0 +BCRP2 0 +BCRP3 0 +BIK 0 +BMS1P17 0 +BMS1P18 0 +BMS1P20 0 +C22orf15 0 +C22orf46 0 +CABIN1 1 +CABP7 0 +CACNA1I 0 +CBY1 5 +CCDC116 0 +CCDC117 1 +CCDC134 0 +CCDC157 0 +CDC42EP1 0 +CDC45 1 +CECR2 1 +CECR5-AS1 0 +CECR7 0 +CHKB-AS1 0 +COMT 0 +CRELD2 3 +CRKL 12 +CRYBA4 0 +CRYBB2 0 +CRYBB2P1 0 +CRYBB3 0 +CSDC2 0 +CSF2RB 0 +CYTH4 0 +DDTL 0 +DEPDC5 0 +DGCR10 0 +DGCR5 0 +DGCR6 0 +DGCR8 1 +DGCR9 0 +DRG1 4 +EFCAB6-AS1 0 +EIF3L 5 +EMID1 0 +EP300 10 +EWSR1 1 +FAM109B 0 +FAM118A 4 +FAM19A5 0 +FAM230B 0 +FAM83F 0 +FBLN1 0 +FBXO7 0 +FBXW4P1 0 +FLJ41941 0 +GALR3 0 +GAS2L1 0 +GCAT 0 +GGA1 1 +GGT1 0 +GGTLC2 0 +GNAZ 0 +GP1BB 0 +GRAMD4 0 +GRAP2 4 +GSTT2 0 +GSTT2B 0 +GTPBP1 1 +GTSE1 9 +H1F0 2 +HIC2 25 +HMGXB4 11 +HMOX1 0 +HORMAD2 0 +HSCB 0 +HSFY1P1 0 +IGLL3P 1 +IGLL5 0 +IL17RA 3 +INPP5J 1 +ISX 0 +KCTD17 0 +KDELR3 0 +KIAA1671 3 +KLHDC7B 0 +KREMEN1 1 +L3MBTL2 0 +LARGE-AS1 0 +LGALS1 1 +LIMK2 1 +LINC00207 0 +LINC00528 0 +LINC00634 0 +LINC00896 0 +LINC01310 0 +LINC01311 0 +LINC01422 0 +LL22NC01-81G9.3 0 +LOC100130899 0 +LOC100506472 0 +LOC100506679 0 +LOC100996342 0 +LOC101927257 0 +LOC101927526 0 +LOC101928891 0 +LOC101929374 0 +LOC101929760 0 +LOC284930 0 +LOC339666 0 +LOC391322 0 +LOC54944 0 +LOC648691 0 +LOC730668 0 +LRRC74B 0 +LZTR1 0 +MAFF 0 +MAPK8IP2 1 +MCHR1 0 +MCM5 1 +MED15 4 +MEI1 0 +MGAT3 0 +MIAT 0 +MIATNB 0 +MICALL1 0 +MIEF1 1 +MIF 0 +MIOX 0 +MIR1281 0 +MIR1306 0 +MIR130B 0 +MIR185 0 +MIR301B 0 +MIR3199-2 0 +MIR3200 0 +MIR3201 0 +MIR33A 0 +MIR3618 0 +MIR3619 0 +MIR3909 0 +MIR4534 0 +MIR4535 0 +MIR4761 0 +MIR4762 0 +MIR4763 0 +MIR5739 0 +MIR650 0 +MIR6817 0 +MIR6818 0 +MIR6820 0 +MIR6821 0 +MIRLET7A3 0 +MIRLET7B 0 +MIRLET7BHG 0 +MMP11 0 +MORC2-AS1 0 +MOV10L1 0 +MPPED1 0 +MPST 0 +MRPL40 0 +MTFP1 0 +MTMR3 57 +MYO18B 0 +NCAPH2 0 +NCF4 0 +NDUFA6-AS1 0 +NEFH 3 +NF2 1 +NOL12 0 +NUP50 6 +OGFRP1 0 +OSBP2 0 +P2RX6 0 +PANX2 0 +PARVB 0 +PARVG 0 +PDXP 1 +PEX26 0 +PICK1 0 +PIM3 0 +PNPLA3 0 +POLR2F 0 +POM121L4P 0 +POM121L8P 0 +POM121L9P 0 +POTEH-AS1 0 +PPARA 0 +PPIL2 1 +PPP6R2 0 +PRR34-AS1 0 +PRR5 3 +PRR5-ARHGAP8 0 +RAB36 1 +RANBP1 0 +RASD2 0 +RBX1 2 +RFPL1 0 +RFPL3 0 +RGL4 0 +RIBC2 1 +RIMBP3B 0 +RIMBP3C 0 +RNF185 5 +RNU12 0 +RPL23AP82 1 +SAMM50 1 +SDF2L1 0 +SEC14L2 0 +SELO 0 +SEPT3 1 +SEPT5 0 +SEPT5-GP1BB 0 +SERHL 0 +SERHL2 6 +SERPIND1 0 +SEZ6L 0 +SFI1 2 +SGSM1 0 +SGSM3 0 +SH3BP1 1 +SHANK3 0 +SLC25A18 0 +SLC2A11 0 +SLC35E4 0 +SLC5A1 0 +SMARCB1 2 +SMDT1 0 +SMTN 0 +SNAP29 5 +SNRPD3 7 +SPECC1L 1 +SPECC1L-ADORA2A 0 +SREBF2 3 +SRRD 0 +SUSD2 0 +SYNGR1 0 +TAB1 0 +TANGO2 0 +TBC1D22A 0 +TBX1 0 +TCN2 0 +TEF 0 +THAP7-AS1 0 +TIMP3 0 +TMEM191A 0 +TMEM191B 0 +TMEM191C 0 +TNRC6B 11 +TOM1 0 +TOMM22 1 +TOP1P2 0 +TPTEP1 0 +TRABD 0 +TRIOBP 0 +TRMU 0 +TSPO 0 +TSSK2 0 +TTC28-AS1 0 +TTC38 0 +TUBA8 0 +TUG1 1 +UBE2L3 10 +UPB1 2 +UPK3A 0 +UQCR10 1 +USP18 0 +VPREB1 0 +WBP2NL 0 +XPNPEP3 0 +XRCC6 8 +YWHAH 5 +ZBED4 0 +ZC3H7B 0 +ZDHHC8 1 +ZNF74 0 +ZNRF3 0 +AADAC 0 +AADACL2 0 +AADACP1 0 +ABCC5-AS1 0 +ABCF3 3 +ABHD10 0 +ABHD14A 0 +ABHD14A-ACY1 0 +ABHD5 0 +ABHD6 0 +ABTB1 0 +ACAD9 1 +ACKR2 0 +ACKR4 0 +ACPP 0 +ACTL6A 4 +ACVR2B 8 +ACY1 0 +ADAMTS9-AS1 0 +ADAMTS9-AS2 0 +ADIPOQ 0 +ADPRH 0 +AGTR1 0 +AHSG 0 +ALAS1 30 +ALCAM 0 +ALDH1L1-AS1 0 +ALDH1L1-AS2 0 +ALG1L2 0 +AP2M1 0 +APEH 0 +APPL1 2 +ARGFX 0 +ARHGAP31 0 +ARHGEF26 5 +ARHGEF3-AS1 0 +ARIH2 1 +ARL13B 10 +ARL14 0 +ARL6 0 +ARL6IP5 0 +ARL8B 2 +ARMC8 8 +ARPC4 1 +ARPC4-TTLL3 0 +ARPP21 0 +ATG7 0 +ATP11B 2 +ATP13A4-AS1 0 +ATP13A5-AS1 0 +ATP1B3 1 +ATP2C1 0 +ATP6V1A 0 +ATRIP 0 +ATXN7 2 +B3GNT5 0 +B4GALT4-AS1 0 +BBX 0 +BFSP2 0 +BHLHE40 4 +BHLHE40-AS1 0 +BOC 0 +BPESC1 0 +BRK1 2 +BRPF1 8 +BSN 0 +BTD 0 +C3orf14 0 +C3orf20 0 +C3orf30 0 +C3orf35 0 +C3orf38 11 +C3orf49 0 +C3orf52 1 +C3orf55 0 +C3orf56 89 +C3orf58 0 +C3orf65 0 +C3orf67-AS1 0 +C3orf79 0 +C3orf80 0 +CACNA1D 1 +CACNA2D3 0 +CADM2 0 +CAMP 0 +CAND2 0 +CAPN7 0 +CASR 0 +CAV3 0 +CCDC13-AS1 0 +CCDC174 1 +CCDC36 0 +CCDC37 0 +CCDC50 3 +CCDC54 0 +CCDC66 1 +CCR2 0 +CCR3 3 +CCR4 0 +CCR5 0 +CCR8 0 +CCR9 0 +CCRL2 0 +CD200 0 +CD86 0 +CD96 0 +CDV3 2 +CELSR3-AS1 0 +CEP63 3 +CEP97 1 +CFAP44-AS1 0 +CHCHD6 0 +CHL1 0 +CHMP2B 2 +CHRD 0 +CHST13 0 +CHST2 0 +CLDN11 0 +CLDN16 0 +CLDN18 6 +CLEC3B 0 +CLRN1-AS1 0 +CLSTN2 0 +CMC1 0 +CMSS1 0 +CMTM7 0 +CMTM8 0 +CNOT10 0 +CNTN4 3 +CNTN6 0 +COL6A4P2 0 +COL6A5 0 +COL6A6 1 +COL8A1 0 +COPG1 1 +CPA3 0 +CPB1 0 +CPNE9 1 +CRELD1 1 +CRTAP 0 +CRYBG3 2 +CSTA 0 +CTDSPL 6 +CTNNB1 4 +CXCR6 0 +CYB561D2 0 +DAG1 0 +DHX30 0 +DIRC2 2 +DLEC1 0 +DLG1-AS1 0 +DNAH1 0 +DNAJB11 11 +DNAJB8-AS1 0 +DNAJC13 5 +DOCK3 0 +DTX3L 0 +DVL3 1 +DZIP3 1 +EAF1 0 +EAF2 1 +EBLN2 0 +ECE2 0 +ECT2 10 +EDEM1 1 +EEFSEC 0 +EFCC1 0 +EGFEM1P 0 +EHHADH-AS1 0 +EIF1B 6 +EIF2A 5 +EIF2B5 0 +EIF4A2 43 +EIF4G1 5 +EMC3-AS1 1 +ENTPD3 0 +EPHA3 0 +EPHA6 0 +EPHB1 3 +EPHB3 0 +ERICH6-AS1 0 +ESYT3 1 +EXOG 2 +EXOSC7 3 +FAIM 1 +FAM131A 0 +FAM157A 0 +FAM162A 0 +FAM172BP 4 +FAM198A 0 +FAM19A1 0 +FAM212A 0 +FAM43A 0 +FAM86JP 0 +FANCD2 0 +FBLN2 0 +FBXL2 1 +FBXO40 0 +FBXO45 8 +FBXW12 5 +FETUB 0 +FGD5 1 +FGD5P1 0 +FGF12-AS1 0 +FLJ20518 0 +FLJ22763 0 +FLJ42393 0 +FLNB 2 +FNDC3B 13 +FOXL2NB 0 +FRG2C 0 +FXR1 7 +FYTTD1 1 +GALNT15 1 +GAP43 0 +GATA2-AS1 0 +GFM1 0 +GHRLOS 0 +GLYCTK 0 +GMPS 1 +GNAI2 1 +GNAT1 0 +GNL3 9 +GOLGA4 8 +GP9 0 +GPD1L 0 +GPR128 0 +GPR15 0 +GPR160 0 +GPR27 0 +GPR62 0 +GRAMD1C 0 +GRK7 0 +GRM2 0 +GRM7 1 +GTF2E1 5 +GTPBP8 1 +GXYLT2 0 +GYG1 111 +H1FOO 288 +H1FX-AS1 0 +HDAC11 0 +HEMK1 0 +HES1 1 +HHLA2 18 +HLTF-AS1 0 +HMCES 4 +HPS3 0 +HRASLS 0 +HRG 0 +HRH1 0 +HTR1F 0 +HTR3C 1 +HTR3D 0 +HTR3E 0 +IFT122 0 +IGSF11-AS1 0 +IL12A 0 +IL17RB 0 +IL17RC 0 +IL17RE 0 +IL1RAP 0 +IL20RB 0 +IQCF2 0 +IQCF3 0 +IQCF4 0 +IQCF5-AS1 0 +IQCJ 1 +IQCJ-SCHIP1 0 +IRAK2 1 +ITGA9 2 +ITIH1 0 +ITIH3 0 +ITIH4-AS1 0 +ITPR1 3 +JAGN1 1 +KALRN 9 +KAT2B 0 +KBTBD12 0 +KBTBD8 0 +KCNAB1 0 +KCNH8 1 +KCNMB2 0 +KCTD6 0 +KIF15 5 +KIF9-AS1 0 +KLHDC8B 0 +KLHL18 14 +KLHL24 0 +KLHL40 0 +KLHL6-AS1 0 +KNG1 0 +KRBOX1 1 +LARS2 3 +LEKR1 0 +LIMD1 0 +LINC00312 0 +LINC00488 0 +LINC00501 0 +LINC00506 0 +LINC00578 0 +LINC00620 0 +LINC00636 0 +LINC00690 0 +LINC00693 0 +LINC00698 0 +LINC00852 0 +LINC00870 0 +LINC00879 0 +LINC00881 0 +LINC00883 0 +LINC00884 0 +LINC00885 0 +LINC00888 0 +LINC00901 0 +LINC00960 0 +LINC00969 0 +LINC01014 0 +LINC01100 0 +LINC01205 0 +LINC01206 0 +LINC01210 0 +LINC01212 0 +LINC01213 0 +LINC01215 0 +LINC01266 0 +LINC01330 0 +LINC01487 0 +LINCR-0002 0 +LMCD1 0 +LMLN 2 +LNP1 0 +LOC100129550 0 +LOC100131635 0 +LOC100132146 0 +LOC100507291 1 +LOC100507389 0 +LOC100507391 0 +LOC100507661 0 +LOC101243545 1 +LOC101927296 0 +LOC101927374 0 +LOC101927416 0 +LOC101927829 0 +LOC101927854 0 +LOC101928790 0 +LOC101929337 0 +LOC101929607 0 +LOC101929754 0 +LOC102723448 0 +LOC102723582 0 +LOC102724550 0 +LOC152225 0 +LOC339862 0 +LOC344887 0 +LOC440982 0 +LOC646903 0 +LOC729083 0 +LOC90246 0 +LPP 2 +LRCH3 0 +LRRC2-AS1 0 +LRRC3B 1 +LRRIQ4 0 +LRRN1 0 +LSAMP-AS1 0 +LSM3 1 +LSMEM2 0 +MAATS1 0 +MAGI1-AS1 0 +MANF 6 +MAP3K13 0 +MAPKAPK3 0 +MBNL1 1 +MCM2 5 +MED12L 5 +MFI2-AS1 0 +MFN1 4 +MFSD1 1 +MGC2889 0 +MIR1224 0 +MIR1226 1 +MIR1248 0 +MIR128-2 0 +MIR1324 0 +MIR138-1 0 +MIR15B 0 +MIR16-2 0 +MIR26A1 0 +MIR3714 0 +MIR3919 0 +MIR4271 0 +MIR4272 0 +MIR4273 0 +MIR4443 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4446 0 +MIR4787 0 +MIR4788 0 +MIR4789 0 +MIR5002 0 +MIR548A2 0 +MIR548AC 0 +MIR548AY 0 +MIR548H2 0 +MIR551B 0 +MIR563 0 +MIR564 0 +MIR567 0 +MIR5688 0 +MIR570 0 +MIR5787 0 +MIR6083 0 +MIR6822 0 +MIR6826 0 +MIR6828 0 +MIR6872 0 +MIR7110 0 +MIR8060 0 +MIR944 0 +MITF 6 +MKRN2 4 +MLF1 4 +MLH1 1 +MME 0 +MOBP 0 +MRAS 2 +MRPS22 0 +MTMR14 2 +MUC20 0 +MYD88 0 +MYLK-AS1 0 +MYLK-AS2 0 +MYNN 1 +MYRIP 1 +NAALADL2 0 +NBEAL2 0 +NCBP2-AS2 0 +NCK1 0 +NDUFAF3 0 +NDUFB4 1 +NDUFB5 5 +NEK11 1 +NFKBIZ 0 +NISCH 2 +NIT2 1 +NKTR 5 +NLGN1 0 +NMD3 3 +NPHP3-AS1 0 +NR1D2 0 +NR1I2 0 +NR2C2 1 +NRADDP 0 +NRROS 0 +NSUN3 0 +NUDT16 3 +NUDT16P1 0 +NUP210P1 0 +NXPE3 0 +OGG1 1 +OPA1 3 +OR5AC2 0 +OR5H1 0 +OR5H14 0 +OR5H15 0 +OR5H2 0 +OR5H6 0 +OR5K1 0 +OR5K2 0 +OR5K3 0 +OR5K4 0 +OSBPL10-AS1 0 +OSTN 0 +OTOL1 0 +OXNAD1 1 +OXSM 1 +OXSR1 3 +P2RY1 0 +P4HTM 0 +PAK2 5 +PAQR9-AS1 0 +PARP14 0 +PARP15 0 +PARP3 0 +PCCB 7 +PCNP 1 +PDCD6IP 4 +PDCL3P4 0 +PDE12 0 +PDIA5 0 +PDZRN3-AS1 0 +PHF7 0 +PHLDB2 1 +PIGX 1 +PIK3CA 1 +PLA1A 0 +PLCL2 0 +PLCXD2 0 +PLS1 9 +PLXNA1 1 +PODXL2 0 +POGLUT1 0 +POLR2H 0 +PPARG 0 +PPM1L 0 +PPM1M 0 +PPP2R3A 0 +PPP4R2 0 +PRICKLE2-AS1 0 +PRICKLE2-AS2 0 +PRICKLE2-AS3 0 +PRKAR2A-AS1 0 +PRKCD 0 +PRKCI 1 +PRRT3-AS1 0 +PSMD2 18 +PSMD6-AS2 0 +PTH1R 0 +PTPN23 1 +PTPRG 4 +PTX3 0 +PVRL3 1 +PXK 10 +PXYLP1 5 +PYDC2 0 +QTRTD1 3 +RAB5A 2 +RAB7A 13 +RAD54L2 13 +RAP2B 6 +RARB 3 +RASA2 0 +RASSF1-AS1 0 +RBM15B 0 +RBM5 0 +RBM6 2 +RBMS3 0 +RHO 0 +RNF123 0 +RNF13 1 +RNF7 0 +RNU6-2 0 +ROBO2 1 +ROPN1B 0 +RPL14 6 +RPL15 32 +RPL35A 8 +RPP14 5 +RPSA 13 +RSRC1 2 +RTP1 2 +RTP3 0 +RTP4 0 +RUVBL1-AS1 0 +SACM1L 8 +SAMD7 0 +SCHIP1 0 +SDHAP2 0 +SEC22A 10 +SEC61A1 1 +SEC62 9 +SELT 0 +SEMA3B 0 +SEMA3F 0 +SENP2 0 +SENP5 3 +SERPINI1 0 +SETD5 4 +SETMAR 0 +SGOL1-AS1 0 +SH3BP5-AS1 0 +SIDT1 0 +SKIL 0 +SLC15A2 0 +SLC22A13 0 +SLC22A14 0 +SLC25A26 1 +SLC25A36 0 +SLC25A38 1 +SLC35A5 0 +SLC35G2 2 +SLC38A3 0 +SLC51A 0 +SLC6A1 0 +SLC6A11 0 +SLC6A6 1 +SLC9A9-AS1 0 +SLMAP 0 +SMC4 7 +SMIM4 0 +SNAR-I 0 +SNORA4 2 +SNORA6 1 +SNORA62 0 +SNORA63 1 +SNORA81 0 +SNORD19 0 +SNORD19B 0 +SNORD2 0 +SNORD66 0 +SNORD69 0 +SNRK 2 +SNTN 0 +SOX14 0 +SOX2 0 +SOX2-OT 0 +SPATA12 0 +SPCS1 2 +SPSB4 0 +SRGAP3-AS3 0 +SRPRB 0 +SS18L2 1 +ST3GAL6 0 +ST6GAL1 0 +STAB1 0 +STAC 0 +STT3B 4 +STXBP5L 0 +SUCLG2-AS1 0 +SUCNR1 0 +SYN2 5 +SYNPR 0 +TAGLN3 0 +TATDN2 0 +TBC1D23 18 +TCAIM 0 +TCTA 1 +TDGF1 3 +TEX264 1 +TF 0 +TFG 10 +TGFBR2 0 +TGM4 0 +THOC7-AS1 0 +THRB-AS1 0 +THUMPD3 0 +TIGIT 2 +TIMMDC1 2 +TIPARP 21 +TM4SF1-AS1 0 +TM4SF19-AS1 0 +TM4SF4 0 +TMA7 0 +TMCC1-AS1 0 +TMEM108 1 +TMEM212 0 +TMEM30C 0 +TMEM42 0 +TMEM43 4 +TMEM44-AS1 0 +TMEM45A 0 +TMIE 0 +TMPRSS7 0 +TOPAZ1 1 +TP63 0 +TPRG1 0 +TPRXL 36 +TRAK1 21 +TRAT1 0 +TREX1 0 +TRH 0 +TRIM42 0 +TRIM71 2 +TRMT10C 1 +TRNT1 3 +TRPC1 0 +TSC22D2 8 +TSEN2 0 +TTC14 3 +TTC21A 0 +TTLL3 0 +TUSC7 0 +U2SURP 3 +UBA5 3 +UBE2E1 2 +UBE2E2 1 +UMPS 1 +UPK1B 0 +USP13 8 +VENTXP7 0 +VHL 0 +VILL 0 +VIPR1 0 +VPS8 0 +VWA5B2 0 +WDR48 4 +WDR6 0 +WWTR1-AS1 0 +XXYLT1-AS1 0 +XXYLT1-AS2 0 +XYLB 0 +YEATS2 1 +ZBTB11-AS1 0 +ZBTB20-AS1 0 +ZBTB20-AS4 0 +ZBTB38 1 +ZBTB47 0 +ZCWPW2 0 +ZDHHC23 0 +ZIC1 0 +ZKSCAN7 1 +ZNF197 1 +ZNF35 0 +ZNF385D-AS1 0 +ZNF385D-AS2 0 +ZNF501 2 +ZNF502 4 +ZNF589 3 +ZNF619 0 +ZNF620 1 +ZNF621 1 +ZNF639 1 +ZNF654 8 +ZNF660 0 +ZNF662 2 +ZNF860 0 +ZPLD1 0 +ABCE1 4 +ADAD1 2 +ADAM29 0 +ADD1 0 +ADRA2C 0 +AFAP1-AS1 0 +AFF1 3 +AFM 0 +AFP 0 +AGPAT9 4 +AIMP1 0 +ALB 0 +ALPK1 0 +AMBN 0 +AMTN 0 +ANAPC4 1 +ANK2 0 +ANKRD37 0 +ANXA10 0 +ANXA3 0 +AP1AR 0 +APELA 0 +AREG 0 +ARFIP1 7 +ARHGAP10 4 +ARHGAP24 0 +ARHGEF38 0 +ARHGEF38-IT1 0 +ARL9 0 +ART3 0 +ATOH1 0 +ATP10D 0 +BANK1 1 +BBS12 0 +BLOC1S4 0 +BMP2K 0 +BMP3 0 +BMPR1B 0 +BST1 0 +C1QTNF7 0 +C4orf17 0 +C4orf19 7 +C4orf22 0 +C4orf26 0 +C4orf29 0 +C4orf32 0 +C4orf33 0 +C4orf47 17 +C4orf48 0 +C4orf51 0 +C4orf6 0 +CABS1 0 +CC2D2A 0 +CCDC109B 1 +CCNG2 1 +CCRN4L 0 +CCSER1 0 +CD38 0 +CDKN2AIP 6 +CDS1 3 +CEP135 0 +CEP170P1 0 +CEP44 2 +CFAP99 0 +CHRNA9 0 +CISD2 0 +CLCN3 3 +CLRN2 0 +COPS4 4 +CPE 0 +CPEB2 1 +CPZ 0 +CRIPAK 0 +CSN1S1 0 +CSN1S2AP 0 +CSN1S2BP 0 +CSN3 0 +CTBP1-AS 0 +CTBP1-AS2 1 +CWH43 0 +CXCL1 0 +CXCL13 0 +CXCL6 0 +CXCL8 0 +CYP2U1 0 +CYP4V2 0 +DANCR 3 +DAPP1 1 +DBET 0 +DCAF4L1 2 +DCK 0 +DCLK2 9 +DCUN1D4 1 +DEAR 0 +DEFB131 0 +DKFZP434I0714 0 +DMP1 0 +DOK7 0 +DRD5 0 +DSPP 0 +DTHD1 0 +EDNRA 0 +EGF 0 +ELMOD2 0 +ENAM 0 +ENOPH1 1 +ENPEP 0 +EPGN 0 +EPHA5-AS1 0 +EREG 0 +ETFDH 0 +EVC 0 +EXOC1 3 +EXOSC9 6 +F11 0 +FAM114A1 0 +FAM13A-AS1 0 +FAM149A 2 +FAM160A1 1 +FAM193A 9 +FAM200B 0 +FAM218A 0 +FAM47E 1 +FAM47E-STBD1 0 +FAM92A1P2 0 +FAT4 0 +FDCSP 0 +FGB 0 +FGF2 0 +FGF5 0 +FGFR3 0 +FGFRL1 0 +FHDC1 0 +FIP1L1 8 +FLJ20021 0 +FNIP2 9 +FRAS1 0 +FRG1 4 +FTLP10 0 +GAB1 19 +GABRB1 0 +GALNT7 1 +GALNTL6 0 +GAR1 0 +GBA3 0 +GLRB 0 +GPR78 0 +GRIA2 0 +GRID2 0 +GRK4 0 +GRXCR1 0 +GSTCD 1 +GSX2 0 +GUCY1A3 0 +GUCY1B3 0 +GUF1 0 +GUSBP5 0 +HADH 3 +HAND2-AS1 0 +HELT 0 +HERC3 1 +HERC5 0 +HERC6 20 +HGFAC 0 +HHIP 0 +HSPA4L 4 +HTN1 0 +HTN3 0 +HTRA3 0 +HTT 0 +IBSP 0 +IDUA 0 +IGFBP7-AS1 0 +IL15 0 +IL21-AS1 0 +ING2 1 +INTU 0 +JADE1 1 +KIAA0232 1 +KIAA0922 27 +KIAA1109 2 +KIAA1211 1 +KIT 6 +KLB 0 +KLF3 0 +KLHL2 0 +KLHL5 0 +KLKB1 0 +LAP3 0 +LARP1B 5 +LARP7 31 +LEF1-AS1 1 +LIAS 0 +LIMCH1 1 +LINC00499 0 +LINC00955 0 +LINC00989 0 +LINC01060 0 +LINC01085 0 +LINC01088 0 +LINC01091 0 +LINC01094 0 +LINC01098 1 +LINC01179 0 +LINC01182 0 +LINC01207 0 +LINC01262 0 +LINC01378 1 +LNX1-AS1 0 +LNX1-AS2 0 +LOC100506122 0 +LOC100507053 0 +LOC100996286 0 +LOC100996694 0 +LOC101060498 0 +LOC101929064 0 +LOC152578 0 +LOC256880 0 +LOC285484 0 +LOC340017 0 +LOC401127 0 +LOC439933 0 +LOC441025 0 +LOC550113 0 +LOC644145 0 +LOC645513 0 +LOC650293 0 +LOC728040 0 +LOC729218 0 +LOC93622 1 +LPHN3 0 +LRAT 1 +LRIT3 0 +LSM6 0 +MAB21L2 0 +MAEA 4 +MAN2B2 0 +MED28 0 +MEPE 0 +METAP1 1 +METTL14 0 +MGST2 4 +MIR1243 0 +MIR1273H 0 +MIR1305 0 +MIR1973 0 +MIR2054 0 +MIR218-1 0 +MIR3684 0 +MIR3688-2 0 +MIR4274 0 +MIR4275 0 +MIR4276 0 +MIR4449 0 +MIR4450 0 +MIR4451 0 +MIR4453 0 +MIR4798 0 +MIR4799 0 +MIR5091 0 +MIR5684 0 +MIR572 0 +MIR574 0 +MIR577 0 +MIR578 0 +MIR6082 0 +MIR7849 0 +MIR8053 0 +MIR8082 0 +MMAA 5 +MMRN1 0 +MND1 1 +MOB1B 0 +MRFAP1 7 +MRPL1 0 +MRPS18C 1 +MSANTD1 0 +MSMO1 1 +MSX1 0 +MTHFD2L 0 +MTTP 0 +MUC7 0 +MYL5 0 +MYOZ2 0 +N4BP2 3 +NAA15 6 +NAT8L 0 +NCAPG 1 +NDST3 0 +NEIL3 0 +NFKB1 0 +NIPAL1 0 +NOP14-AS1 0 +NPFFR2 0 +NPNT 0 +NPY2R 0 +NPY5R 0 +NSG1 25 +NSUN7 0 +NUDT9 0 +NWD2 0 +OCIAD1 6 +ODAM 0 +OSTC 2 +PACRGL 1 +PAICS 1 +PALLD 3 +PARM1 0 +PCAT4 0 +PCDH10 0 +PCDH7 0 +PCGF3 1 +PDE6B 2 +PDGFRA 0 +PDHA2 0 +PDLIM5 0 +PF4V1 0 +PGM2 2 +PI4K2B 0 +PIGG 0 +PKD2 0 +PLK4 0 +POLR2B 1 +POU4F2 0 +PP12613 0 +PRDM8 0 +PRIMPOL 1 +PROL1 0 +PRR27 1 +PRSS48 0 +PTPN13 5 +PTTG2 0 +RAB33B 0 +RAP1GDS1 0 +RAPGEF2 2 +RASL11B 0 +RBM46 13 +RBPJ 4 +REST 2 +RGS12 0 +RHOH 0 +RNF4 3 +RPL34 0 +RPS3A 10 +RRH 0 +RUFY3 4 +RXFP1 0 +S100P 0 +SAP30 2 +SCARNA22 0 +SCOC 4 +SEC24B 4 +SEPSECS-AS1 1 +SEPT11 21 +SGMS2 6 +SH3BP2 0 +SH3TC1 0 +SHISA3 0 +SHROOM3 0 +SLAIN2 4 +SLC10A4 0 +SLC25A31 0 +SLC25A4 0 +SLC30A9 1 +SLC34A2 0 +SLC4A4 0 +SLC7A11-AS1 2 +SLIT2 0 +SLIT2-IT1 0 +SMAD1 9 +SMARCA5 7 +SMARCAD1 0 +SMIM20 0 +SMR3A 0 +SMR3B 0 +SNCA-AS1 0 +SNHG8 1 +SNORA24 0 +SNORA26 0 +SNORD73A 0 +SNX25 3 +SOD3 0 +SORCS2 0 +SPATA18 0 +SPATA5 1 +SPCS3 0 +SPP1 0 +SPRY1 0 +SRD5A3 0 +SRP72 7 +STAP1 0 +STATH 0 +STBD1 0 +STIM2 2 +STK32B 6 +STOX2 0 +STPG2-AS1 0 +STX18-AS1 0 +SYNPO2 0 +TACC3 36 +TADA2B 4 +TAPT1-AS1 0 +TBC1D1 9 +TBC1D14 11 +TBC1D19 0 +TDO2 0 +TENM3 0 +TET2 3 +THAP6 1 +THAP9 0 +THEGL 0 +TIGD2 1 +TLL1 0 +TLR2 0 +TLR3 0 +TMA16 1 +TMEM144 0 +TMEM165 0 +TMEM175 0 +TMEM184C 0 +TMEM33 3 +TMPRSS11E 0 +TRAPPC11 1 +TRIM2 0 +TRIM60 3 +TRIML1 0 +TRMT44 12 +UBA6-AS1 0 +UBE2K 2 +UCHL1 70 +UGDH-AS1 0 +UGT2B10 0 +UGT2B28 0 +UGT2B7 0 +UGT8 1 +USO1 4 +USP17L10 0 +USP17L11 0 +USP17L12 0 +USP17L13 0 +USP17L15 0 +USP17L17 0 +USP17L18 0 +USP17L19 0 +USP17L20 0 +USP17L21 0 +USP17L22 0 +USP17L24 0 +USP17L25 0 +USP17L26 0 +USP17L27 0 +USP17L28 0 +USP17L29 0 +USP17L30 0 +USP17L5 0 +USP17L6P 0 +USP17L9P 0 +USP38 0 +USP46-AS1 0 +USP53 3 +UTP3 0 +UVSSA 0 +WDFY3-AS2 0 +WDR17 0 +WDR19 0 +WFS1 2 +WHSC1 15 +WWC2 1 +ZAR1 3 +ZBTB49 12 +ZCCHC4 0 +ZFP42 0 +ZNF141 0 +ZNF330 5 +ZNF595 6 +ZNF718 0 +ZNF876P 0 +TMPRSS11E 0 +UGT2B10 0 +ABLIM3 0 +ADAMTS16 0 +ADAMTS19 0 +ADCY2 0 +ADRA1B 0 +ADRB2 0 +AFAP1L1 0 +AGGF1 4 +AHRR 0 +ANKDD1B 0 +ANKHD1 0 +ANKHD1-EIF4EBP3 0 +ANKRD32 11 +ANKRD33B 0 +AP3S1 2 +APC 6 +AQPEP 0 +ARHGAP26 5 +ARHGEF28 1 +ARHGEF37 0 +ARL10 0 +ARL14EPL 0 +ARRDC3-AS1 0 +ARSK 1 +ATG10 1 +ATP6AP1L 6 +ATP6V0E1 4 +B4GALT7 1 +BASP1 1 +BDP1 3 +BHMT 0 +BHMT2 0 +BNIP1 0 +BRIX1 7 +BTF3 22 +BTNL3 0 +BTNL8 0 +BTNL9 1 +C5orf22 1 +C5orf24 0 +C5orf27 0 +C5orf30 0 +C5orf38 0 +C5orf47 0 +C5orf51 0 +C5orf52 0 +C5orf56 0 +C5orf58 1 +C5orf64 0 +C5orf66 0 +C7 0 +CAMK4 0 +CAMLG 21 +CANX 4 +CARD6 0 +CARTPT 0 +CAST 14 +CATSPER3 0 +CCDC152 0 +CCNB1 73 +CCNG1 3 +CCNI2 1 +CCT5 3 +CDC42SE2 1 +CDH6 0 +CDHR2 0 +CDK7 50 +CDX1 0 +CENPH 0 +CEP72 0 +CHSY3 0 +CKMT2 1 +CMYA5 0 +CNOT6 13 +CNOT8 8 +COMMD10 9 +COX7C 6 +CPEB4 15 +CPLX2 0 +CREBRF 0 +CRHBP 0 +CSF2 0 +CSNK1G3 1 +CTB-113P19.1 0 +CTB-12O2.1 0 +CTB-174D11.1 0 +CTC-338M12.4 0 +CTC-436P18.1 0 +CTD-2151A2.1 0 +CTD-2194D22.4 0 +CTD-2201E9.1 0 +CTD-2270F17.1 0 +CTNNA1 17 +CTXN3 0 +CWC27 1 +CXXC5 0 +CYFIP2 3 +CYSTM1 4 +DCP2 18 +DDX4 6 +DDX46 5 +DMXL1 2 +DNAJC21 3 +DOCK2 0 +EFCAB9 0 +EGFLAM 0 +EGR1 1 +EIF4E1B 3 +EIF4EBP3 0 +EPB41L4A-AS1 2 +EPB41L4A-AS2 0 +ERAP2 0 +ERBB2IP 0 +ERGIC1 1 +EXOC3 0 +F2R 0 +F2RL1 0 +FABP6 0 +FAF2 0 +FAM105A 1 +FAM151B 0 +FAM153B 0 +FAM153C 0 +FAM159B 0 +FAM170A 0 +FAM174A 0 +FAM53C 4 +FAM81B 0 +FBLL1 0 +FBXL21 0 +FBXL7 5 +FBXO38 0 +FBXO4 0 +FCHO2 0 +FER 3 +FGF10-AS1 0 +FGF18 0 +FGFR4 0 +FLJ31104 0 +FOXI1 0 +FST 1 +FTMT 0 +G3BP1 4 +GABRA1 0 +GABRA6 0 +GABRG2 0 +GABRP 0 +GALNT10 0 +GAPT 0 +GDNF-AS1 0 +GHR 0 +GM2A 2 +GPBP1 9 +GPR150 0 +GPR98 0 +GPX3 0 +GPX8 0 +GRAMD3 1 +GRIA1 1 +GRK6 0 +GRPEL2 4 +GTF2H2B 0 +GTF2H2C 0 +GTF2H2C_2 0 +GUSBP1 0 +GZMA 0 +GZMK 0 +HARS2 0 +HEXB 4 +HIGD2A 5 +HMGCR 5 +HMGXB3 3 +HMHB1 0 +HMMR 9 +HMP19 0 +HNRNPAB 0 +HRH2 3 +HSD17B4 1 +HSPA4 3 +HSPB3 0 +ICE1 7 +IGIP 0 +IK 3 +IL13 0 +IL3 0 +IL31RA 0 +IL4 0 +IL7R 0 +IPO11 0 +IPO11-LRRC70 0 +IQGAP2 18 +IRGM 4 +IRX1 0 +ISL1 2 +ISOC1 2 +ITGA1 0 +ITGA2 0 +ITK 0 +JADE2 0 +JAKMIP2-AS1 0 +JMY 28 +KCNIP1 0 +KCNN2 3 +KCTD16 0 +KDM3B 1 +KIAA0141 1 +KIAA1024L 0 +KIF20A 2 +KIF2A 1 +KIF4B 1 +LARP1 5 +LEAP2 0 +LIFR-AS1 0 +LINC00492 0 +LINC00603 0 +LINC00847 1 +LINC00992 0 +LINC01018 0 +LINC01020 0 +LINC01021 0 +LINC01194 0 +LINC01333 0 +LINC01340 0 +LINC01366 0 +LINC01377 0 +LINCR-0003 0 +LMNB1 0 +LNPEP 0 +LOC100130744 0 +LOC100132062 0 +LOC100132287 0 +LOC100133331 0 +LOC100288152 0 +LOC100289230 0 +LOC100289673 0 +LOC100505658 0 +LOC100505811 0 +LOC100505841 0 +LOC100505878 0 +LOC100506406 0 +LOC100506639 0 +LOC100507387 0 +LOC101926940 0 +LOC101926941 0 +LOC101926975 0 +LOC101927023 0 +LOC101927100 0 +LOC101927421 0 +LOC101927460 0 +LOC101927740 0 +LOC101927934 0 +LOC101928093 0 +LOC101928505 0 +LOC101929153 0 +LOC101929154 0 +LOC101929284 0 +LOC101929380 0 +LOC101929524 2 +LOC101929645 0 +LOC102467214 0 +LOC102467224 0 +LOC102467225 0 +LOC102467226 0 +LOC102467655 0 +LOC102503427 0 +LOC102546228 0 +LOC102546299 0 +LOC102577424 0 +LOC153684 0 +LOC255187 0 +LOC257396 0 +LOC285593 0 +LOC285626 0 +LOC340113 0 +LOC441081 0 +LOC728554 0 +LOC731157 0 +LRRC14B 0 +LRRC70 0 +LSM11 1 +LSP1P3 0 +LTC4S 0 +LYRM7 0 +MAML1 0 +MAN2A1 2 +MAP1B 0 +MAP3K1 0 +MARCH6 1 +MARVELD2 0 +MAST4 8 +MAT2B 2 +MATR3 0 +MCCC2 1 +MEF2C-AS1 0 +MEGF10 0 +MFAP3 0 +MIR103B1 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR143 0 +MIR143HG 0 +MIR145 0 +MIR146A 0 +MIR3142 0 +MIR3607 0 +MIR3655 0 +MIR3661 0 +MIR378E 0 +MIR3977 0 +MIR4458 0 +MIR4458HG 0 +MIR4461 0 +MIR4633 0 +MIR4634 0 +MIR4803 0 +MIR4804 0 +MIR5197 0 +MIR548AO 0 +MIR548BA 0 +MIR583 0 +MIR6131 0 +MIR6165 0 +MIR8056 0 +MRPL22 3 +MRPS30 1 +MRPS36 1 +MSH3 6 +MSX2 0 +MTRR 1 +MYOT 0 +MYOZ3 0 +N4BP3 0 +NBPF22P 0 +NCRUPAR 0 +NDFIP1 1 +NDST1 0 +NDUFAF2 0 +NDUFS4 0 +NDUFS6 0 +NEURL1B 1 +NIM1K 0 +NIPAL4 0 +NIPBL 13 +NKD2 2 +NLN 2 +NNT 0 +NPM1 34 +NPR3 0 +NPY6R 0 +NR2F1 0 +NREP-AS1 0 +NSA2 0 +NSD1 0 +OCLN 0 +OR2V2 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OSMR 0 +OTULIN 2 +OXCT1-AS1 0 +P4HA2-AS1 0 +PAIP2 5 +PAM 0 +PAPD4 4 +PAPD7 34 +PARP8 0 +PART1 1 +PCBD2 0 +PCDHA1 0 +PCDHA10 0 +PCDHA11 0 +PCDHA12 0 +PCDHA13 0 +PCDHA2 0 +PCDHA3 0 +PCDHA4 0 +PCDHA5 0 +PCDHA6 0 +PCDHA7 0 +PCDHA8 0 +PCDHA9 0 +PCDHAC1 0 +PCDHAC2 0 +PCDHB1 0 +PCDHB10 0 +PCDHB11 0 +PCDHB12 0 +PCDHB13 0 +PCDHB14 0 +PCDHB15 0 +PCDHB16 0 +PCDHB17 0 +PCDHB18 0 +PCDHB19P 0 +PCDHB2 0 +PCDHB3 0 +PCDHB4 0 +PCDHB5 0 +PCDHB6 0 +PCDHB7 0 +PCDHB8 0 +PCDHB9 0 +PCDHGA1 0 +PCDHGA10 0 +PCDHGA11 0 +PCDHGA12 0 +PCDHGA2 0 +PCDHGA3 0 +PCDHGA4 0 +PCDHGA5 0 +PCDHGA6 0 +PCDHGA7 0 +PCDHGA8 0 +PCDHGA9 0 +PCDHGB1 0 +PCDHGB2 0 +PCDHGB3 0 +PCDHGB4 0 +PCDHGB5 0 +PCDHGB6 0 +PCDHGB7 0 +PCDHGB8P 0 +PCDHGC3 0 +PCDHGC4 0 +PCDHGC5 0 +PCYOX1L 0 +PDCD6 1 +PDE8B 92 +PDLIM4 0 +PDZD2 2 +PELO 0 +PHAX 0 +PIK3R1 6 +PKD2L2 0 +PLEKHG4B 0 +PMCHL1 0 +PMCHL2 0 +POLK 1 +POLR3G 12 +POU4F3 0 +PPARGC1B 0 +PPIP5K2 1 +PPP1R2P3 0 +PPWD1 9 +PRDM6 0 +PRDM9 0 +PRELID1 1 +PRR16 0 +PRR7 0 +PRRC1 11 +PSD2 0 +PTCD2 0 +PTGER4 0 +PTTG1 89 +PURA 0 +RAB3C 0 +RAB9BP1 0 +RAD17 1 +RAD50 3 +RAI14 5 +RANBP17 0 +RARS 6 +RASA1 2 +RASGRF2 2 +RBM27 8 +REEP2 1 +RELL2 0 +RFESD 0 +RGMB 1 +RGS14 0 +RGS7BP 0 +RHOBTB3 8 +RMND5B 1 +RNF14 12 +RNF180 1 +RNU5D-1 0 +RNU5E-1 0 +ROPN1L 1 +RPL26L1 3 +RUFY1 1 +RXFP3 0 +S100Z 0 +SAP30L 0 +SCAMP1 1 +SCGB3A2 2 +SDHA 3 +SEC24A 4 +SEMA6A-AS1 0 +SERF1A 0 +SERF1B 0 +SETD9 0 +SFXN1 0 +SGCD 2 +SH3RF2 1 +SIMC1 0 +SKIV2L2 0 +SKP2 19 +SLC12A2 3 +SLC1A3 0 +SLC22A4 0 +SLC22A5 1 +SLC25A46 6 +SLC25A48 1 +SLC26A2 2 +SLC27A6 2 +SLC30A5 0 +SLC34A1 0 +SLC35A4 0 +SLC36A1 1 +SLC4A9 0 +SLC6A18 0 +SLC6A19 0 +SLC6A7 0 +SMAD5 1 +SMIM23 0 +SMIM3 0 +SMN1 0 +SMN2 0 +SNCAIP 0 +SNHG18 2 +SNHG4 0 +SNORA13 0 +SNORA74A 0 +SNORA74B 0 +SNORD123 0 +SNX18 1 +SNX2 2 +SNX24 4 +SOWAHA 0 +SPDL1 27 +SPEF2 0 +SPINK13 0 +SPINK14 0 +SPINK5 0 +SPINK6 0 +SPINK7 0 +SPINK9 0 +SPZ1 0 +SQSTM1 7 +SRD5A1 2 +SREK1 16 +SRFBP1 0 +SRP19 5 +STARD4-AS1 0 +STK32A 0 +SUB1 10 +SV2C 0 +SYNPO 0 +TARS 5 +TCERG1 2 +TCF7 3 +TCOF1 18 +TENM2 0 +TEX43 0 +TGFBI 0 +THBS4 6 +THG1L 2 +TLX3 0 +TMCO6 0 +TMED9 1 +TMEM161B-AS1 0 +TMEM171 6 +TMEM174 0 +TNFAIP8 1 +TNPO1 5 +TRAPPC13 0 +TRIM41 2 +TRIM52-AS1 0 +TRIO 7 +TRIP13 0 +TSLP 0 +TSPAN17 0 +TTC1 5 +TTC23L 0 +TXNDC15 0 +UBE2B 0 +UBE2D2 5 +UBE2QL1 0 +UBLCP1 8 +UNC5A 0 +UQCRQ 2 +UTP15 0 +VCAN 0 +VTRNA1-1 0 +VTRNA1-2 0 +VTRNA1-3 0 +WDR36 0 +WDR55 0 +WDR70 7 +WNT8A 0 +WWC1 1 +XRCC4 1 +YTHDC2 1 +ZBED3-AS1 0 +ZCCHC9 3 +ZFP2 0 +ZFYVE16 2 +ZMAT2 8 +ZNF131 5 +ZNF346 4 +ZNF354B 0 +ZNF354C 0 +ZNF454 0 +ZNF474 0 +ZNF879 2 +ZSWIM6 0 +ABCC10 0 +ABCF1 0 +ABRACL 0 +ABT1 0 +ACAT2 1 +ACOT13 0 +ADCY10P1 0 +ADGB 0 +AIF1 0 +AIG1 0 +AIM1 26 +AKAP12 1 +AKAP7 0 +ALDH5A1 3 +AMD1 59 +ANKRD6 4 +ANKRD66 0 +ANKS1A 4 +APOBEC2 0 +APOM 0 +ARG1 0 +ARID1B 1 +ARMC12 1 +ARMC2 36 +ASF1A 29 +ATAT1 0 +ATP6V0CP3 0 +B3GALT4 0 +BAG2 0 +BAI3 0 +BCKDHB 1 +BEND6 0 +BMP6 41 +BPHL 0 +BRD2 0 +BRD7P3 0 +BRPF3 0 +BTN1A1 0 +BTN2A1 0 +BTN2A2 0 +BTN2A3P 0 +BTN3A1 0 +BTN3A2 0 +BTN3A3 0 +BVES-AS1 0 +BYSL 1 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf120 0 +C6orf136 0 +C6orf141 0 +C6orf163 0 +C6orf164 0 +C6orf165 0 +C6orf201 1 +C6orf203 1 +C6orf211 0 +C6orf223 0 +C6orf25 0 +C6orf48 0 +C6orf57 0 +C6orf58 0 +C6orf89 2 +C6orf99 0 +CAP2 0 +CAPN11 0 +CASC15 0 +CASP8AP2 4 +CCDC162P 0 +CCDC170 0 +CCDC28A 1 +CCR6 0 +CD109 0 +CD2AP 0 +CD83 5 +CDC40 7 +CDC5L 36 +CDKAL1 0 +CDKN1A 1 +CDYL 2 +CENPQ 2 +CENPW 0 +CEP57L1 0 +CFB 0 +CLDN20 0 +CLPSL1 0 +CLPSL2 0 +CLVS2 0 +CMTR1 3 +CNPY3 0 +COL19A1 0 +CSNK2B 0 +CUL9 0 +CYB5R4 0 +CYP21A1P 0 +CYP21A2 0 +DAAM2 1 +DCBLD1 0 +DDR1 0 +DDX43 7 +DEF6 0 +DNAH8 0 +DOPEY1 23 +DPCR1 0 +DSE 0 +DSP 0 +DUSP22 1 +E2F3 0 +ECT2L 0 +EDN1 0 +EFHC1 0 +EGFL8 0 +ELOVL2-AS1 0 +ENPP1 0 +ENPP3 0 +ENPP4 0 +ERMARD 0 +ESR1 0 +EYA4 0 +EZR-AS1 2 +FABP7 0 +FAM120B 5 +FAM135A 0 +FAM229B 0 +FAM26D 0 +FAM26E 0 +FAM26F 0 +FAM50B 0 +FAM83B 0 +FAM8A1 0 +FANCE 0 +FARS2 0 +FBXO9 0 +FGD2 0 +FGFR1OP 5 +FHL5 0 +FIG4 0 +FLJ34503 0 +FLJ38122 0 +FLJ46906 0 +FNDC1 0 +FOXC1 0 +FOXF2 0 +FOXO3 14 +FOXP4 0 +FOXQ1 0 +FUT9 0 +GCNT2 0 +GFRAL 0 +GGNBP1 0 +GINM1 0 +GJA1 0 +GJA10 0 +GLP1R 0 +GLTSCR1L 0 +GLYATL3 0 +GMDS-AS1 0 +GMNN 7 +GMPR 1 +GNMT 0 +GPR111 0 +GPR115 0 +GPR126 0 +GPR6 0 +GPX5 0 +GRIK2 1 +GRM1 0 +GTF2H4 0 +GTF2H5 4 +GTF3C6 0 +GUCA1A 0 +HCG11 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HCRTR2 0 +HDGFL1 0 +HEBP2 0 +HECA 0 +HEY2 1 +HFE 0 +HINT3 0 +HIST1H1E 0 +HIST1H2AC 0 +HIST1H2AE 0 +HIST1H2AG 0 +HIST1H2AH 1 +HIST1H2AI 0 +HIST1H2AL 0 +HIST1H2APS1 0 +HIST1H2BA 0 +HIST1H2BD 0 +HIST1H2BE 0 +HIST1H2BF 0 +HIST1H2BH 0 +HIST1H2BI 0 +HIST1H2BM 0 +HIST1H2BN 0 +HIST1H2BO 0 +HIST1H3A 0 +HIST1H3C 0 +HIST1H3E 0 +HIST1H3H 0 +HIST1H4A 0 +HIST1H4C 0 +HIST1H4E 0 +HIST1H4F 0 +HIST1H4I 0 +HIST1H4J 0 +HIVEP1 4 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HMGA1 5 +HMGN3-AS1 0 +HMGN4 3 +HSD17B8 0 +HSF2 0 +HSP90AB1 42 +HSPA1A 0 +HSPA1B 0 +HTR1E 0 +HULC 0 +ID4 0 +IGF2R 0 +IL17A 0 +IRAK1BP1 2 +IRF4 0 +ITPR3 2 +IYD 0 +JARID2 56 +KAAG1 0 +KCNQ5 0 +KCNQ5-IT1 0 +KCTD20 1 +KDM1B 4 +KHDC3L 28 +KIAA1244 0 +KIAA1586 0 +KIAA1919 1 +KIF25 0 +KIFC1 0 +KLC4 0 +KLHDC3 7 +KLHL32 0 +KPNA5 1 +KU-MEL-3 0 +L3MBTL3 0 +LACE1 0 +LAMA2 0 +LHFPL5 0 +LIN28B 0 +LINC00222 0 +LINC00240 0 +LINC00271 0 +LINC00326 0 +LINC00574 0 +LINC00602 0 +LINC01010 0 +LINC01011 2 +LINC01012 0 +LINC01013 0 +LINC01015 0 +LINC01276 0 +LINC01312 1 +LOC100129636 0 +LOC100131289 0 +LOC100132354 0 +LOC100132735 0 +LOC100287632 0 +LOC100289495 0 +LOC100294145 0 +LOC100506207 1 +LOC100506804 0 +LOC100507477 0 +LOC100507506 1 +LOC100507557 0 +LOC100996634 0 +LOC101926962 0 +LOC101927314 0 +LOC101927640 0 +LOC101927691 0 +LOC101927730 0 +LOC101927990 0 +LOC101928516 0 +LOC101928911 0 +LOC101929057 0 +LOC101929420 0 +LOC102724000 0 +LOC441155 0 +LOC554223 0 +LOC643623 3 +LOC729603 0 +LOC730101 0 +LRRC1 1 +LRRC16A 8 +LST1 0 +LTA 0 +LTV1 5 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +LY86 0 +MAD2L1BP 1 +MANEA 0 +MAP3K4 0 +MAPK13 0 +MAPK14 0 +MARCKS 0 +MAS1 0 +MCCD1 0 +MCHR2-AS1 0 +MDFI 0 +MEI4 0 +MEP1A 0 +MICA 0 +MICB 0 +MIR133B 0 +MIR206 0 +MIR2113 0 +MIR219A1 0 +MIR3143 0 +MIR3668 0 +MIR3692 0 +MIR4464 0 +MIR4465 0 +MIR4639 0 +MIR4640 0 +MIR4641 0 +MIR4642 0 +MIR4643 0 +MIR4644 0 +MIR5004 0 +MIR548A1 0 +MIR5685 0 +MIR5689 0 +MIR6780B 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR6835 0 +MIR6891 0 +MIR7111 0 +MIR7159 0 +MIR7161 0 +MIR877 0 +MLIP 0 +MLIP-IT1 0 +MLLT4 3 +MOG 0 +MRAP2 0 +MRPL18 9 +MRPS18B 0 +MRS2 1 +MSH5 0 +MSH5-SAPCD1 0 +MTHFD1L 0 +MTO1 0 +MTRNR2L9 0 +MUC21 0 +MUC22 0 +MYB 0 +MYCT1 0 +MYLIP 45 +MYO6 5 +NCOA7 0 +NCR2 0 +NFKBIL1 0 +NFYA 0 +NKAIN2 0 +NKAPL 0 +NOL7 1 +NQO2 0 +NR2E1 5 +NRSN1 0 +NT5DC1 0 +NT5E 0 +NUS1 3 +OGFRL1 0 +OPN5 0 +OPRM1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2B6 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +ORC3 0 +PACRG 0 +PACSIN1 0 +PAK1IP1 18 +PAQR8 0 +PCMT1 4 +PDE7B 0 +PEX3 1 +PEX7 0 +PFDN6 0 +PGBD1 0 +PHACTR1 1 +PHACTR2 0 +PHF1 0 +PHF3 10 +PI16 0 +PIM1 0 +PIP5K1P1 0 +PKIB 1 +PLEKHG1 2 +PLG 0 +PLN 0 +PM20D2 0 +PNLDC1 1 +PNPLA1 0 +PNRC1 0 +POLH 1 +POLR1C 0 +POU3F2 0 +PPARD 2 +PPP1R11 0 +PPP1R14C 2 +PPP1R3G 0 +PPP2R5D 4 +PPT2 0 +PPT2-EGFL8 0 +PRDM1 0 +PRDM13 0 +PRICKLE4 0 +PRIM2 4 +PRPF4B 1 +PRR3 0 +PRRC2A 0 +PRSS16 0 +PRSS35 0 +PSMB8-AS1 0 +PSMB9 0 +PSMG4 0 +PSORS1C1 0 +PTCRA 0 +PTK7 0 +PTP4A1 2 +QKI 13 +QRSL1 0 +RAB32 0 +RAB44 0 +RAET1E-AS1 0 +RBM24 0 +RFPL4B 0 +RFX6 0 +RIMS1 0 +RING1 0 +RIOK1 30 +RIPK1 0 +RIPPLY2 0 +RNF144B 1 +RNF146 1 +RNF182 0 +RNF217 0 +RNF5 0 +RNF5P1 0 +RNF8 3 +RNY4 0 +RPF2 0 +RPL10A 11 +RPL7L1 1 +RPP21 0 +RPS12 25 +RPS18 0 +RPS18P9 0 +RPS6KA2-AS1 0 +RREB1 0 +RRP36 0 +RSPH4A 0 +RSPH9 0 +RSPO3 0 +RUNX2 0 +RWDD1 2 +RWDD2A 0 +SAMD5 0 +SAPCD1 0 +SASH1 1 +SCAF8 6 +SCGN 0 +SCUBE3 0 +SENP6 0 +SH3BGRL2 4 +SIRT5 0 +SKIV2L 0 +SLC16A10 0 +SLC17A4 0 +SLC22A1 0 +SLC22A3 0 +SLC22A7 0 +SLC25A27 0 +SLC25A51P1 0 +SLC29A1 21 +SLC35A1 0 +SLC35D3 0 +SLC35F1 0 +SLC39A7 0 +SMAP1 1 +SMIM13 2 +SMIM8 0 +SMLR1 0 +SMOC2 0 +SMPD2 0 +SMPDL3A 0 +SNORA33 0 +SNORA38 0 +SNORD100 0 +SNORD101 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +SNRNP48 0 +SNRPC 1 +SNX9 2 +SOBP 0 +SOX4 0 +SPACA1 0 +SPATS1 0 +SRF 0 +SRSF3 0 +STK19 0 +STMND1 0 +STX11 0 +STXBP5 0 +SUMO4 0 +SYCP2L 2 +SYNE1-AS1 0 +SYNGAP1 0 +SYNJ2 10 +SYNJ2-IT1 0 +SYTL3 23 +TAAR6 0 +TAAR8 0 +TAAR9 0 +TAB2 3 +TAF8 1 +TBC1D22B 1 +TBP 2 +TBPL1 8 +TCF19 0 +TCF21 0 +TCP10L2 0 +TDRD6 5 +TDRG1 0 +TFAP2A-AS1 0 +TFAP2B 5 +TFAP2D 0 +TIAM2 4 +TINAG 0 +TJAP1 5 +TMEM14A 1 +TMEM14B 8 +TMEM14C 1 +TMEM151B 0 +TMEM170B 0 +TMEM181 1 +TMEM200A 7 +TMEM63B 1 +TNF 0 +TNFAIP3 1 +TOMM6 0 +TPBG 0 +TPD52L1 0 +TPI1P3 0 +TRAF3IP2-AS1 0 +TRAM2-AS1 0 +TREML4 0 +TREML5P 0 +TRIM15 0 +TRIM38 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TRMT11 4 +TSG1 0 +TSPO2 0 +TSTD3 0 +TTBK1 0 +TTK 21 +TTLL2 0 +TUBB 0 +TULP4 1 +UBR2 3 +UFL1 5 +UHRF1BP1 4 +ULBP1 0 +ULBP2 0 +UNC93A 0 +UST 0 +UTRN 0 +VARS2 0 +VEGFA 0 +VGLL2 0 +VIP 0 +VN1R10P 0 +VTA1 5 +WISP3 0 +WRNIP1 1 +WTAP 2 +ZBTB9 0 +ZC2HC1B 5 +ZDHHC14 0 +ZFAND3 2 +ZKSCAN3 0 +ZKSCAN8 0 +ZNF165 0 +ZNF192P1 0 +ZNF292 1 +ZNF391 1 +ZNF451 2 +ZNF76 0 +ZNRD1 0 +ZSCAN12P1 0 +ZSCAN16 1 +ZSCAN26 0 +ZSCAN9 0 +C6orf48 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-H 0 +HLA-J 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +MCCD1 0 +MICB 0 +MIR6833 0 +MOG 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +OR10C1 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SAPCD1 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GPX5 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6834 0 +MIR6891 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +DDR1 0 +EGFL8 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 1 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR5004 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2J2 0 +OR2J3 0 +PHF1 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SNORA38 0 +STK19 0 +SYNGAP1 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZBTB9 0 +ZNRD1 0 +ABCA13 0 +ABCB5 0 +ABCB8 0 +ABHD11-AS1 0 +ACN9 1 +ACTR3B 0 +ADAM22 0 +ADCK2 0 +ADCY1 0 +ADCYAP1R1 0 +AEBP1 0 +AGAP3 0 +AGBL3 0 +AGFG2 2 +AGK 11 +AHCYL2 0 +AHR 0 +AIMP2 3 +AKAP9 2 +AKR1B10 0 +AKR1B15 0 +AKR1D1 0 +AMZ1 0 +ANKIB1 0 +ANKRD61 0 +ANKRD7 0 +ANLN 10 +AOC1 0 +AP1S1 1 +AP4M1 0 +AP5Z1 0 +AQP1 0 +ARF5 0 +ARHGEF5 0 +ARL4A 3 +ARMC10 1 +ARPC1A 2 +ARPC1B 0 +ASB15 0 +ASB4 0 +ASIC3 0 +ASL 0 +ATP6V0E2 0 +ATP6V1F 2 +AUTS2 0 +AVL9 0 +AZGP1P1 0 +BBS9 6 +BCAP29 0 +BHLHA15 0 +BLVRA 0 +BMPER 1 +BPGM 53 +BRI3 1 +BUD31 0 +BZW2 1 +C1GALT1 2 +C7orf26 1 +C7orf33 0 +C7orf34 0 +C7orf55 0 +C7orf55-LUC7L2 0 +C7orf57 0 +C7orf65 0 +C7orf69 0 +C7orf71 0 +C7orf72 0 +C7orf73 0 +CALD1 0 +CALU 9 +CAPZA2 0 +CASD1 1 +CASP2 2 +CAV1 0 +CAV2 0 +CBLL1 5 +CBX3 1 +CCDC126 1 +CCDC129 0 +CCDC132 0 +CCDC136 0 +CCDC146 9 +CCM2 0 +CCT6A 0 +CCT6P1 0 +CCT6P3 0 +CCZ1 10 +CD36 14 +CDC14C 0 +CDHR3 0 +CDK13 0 +CDK14 0 +CFAP69 0 +CFTR 0 +CHN2 0 +CHPF2 0 +CHRM2 0 +CHST12 0 +CLCN1 0 +CLDN12 5 +CLDN4 0 +CLEC2L 0 +CLIP2 0 +CNPY4 0 +CNTNAP2 0 +COL1A2 0 +COL26A1 0 +COPS6 1 +CPA1 0 +CPA2 0 +CPA4 0 +CPA5 0 +CPED1 1 +CPSF4 1 +CRCP 2 +CREB5 2 +CROT 0 +CTAGE15 0 +CTAGE4 0 +CUL1 3 +CUX1 11 +CYP2W1 0 +CYP3A43 0 +CYP51A1-AS1 0 +DBF4 3 +DBNL 0 +DDC-AS1 0 +DKFZP586I1420 0 +DKFZp434L192 0 +DLD 2 +DLX6 0 +DMTF1 2 +DNAH11 21 +DNAJB6 1 +DNAJB9 0 +DOCK4-AS1 0 +DPP6 0 +DPY19L2P3 0 +DPY19L2P4 0 +DTX2 0 +DTX2P1-UPK3BP1-PMS2P11 0 +DUS4L 1 +DYNC1I1 0 +EEPD1 0 +EGFR 0 +EIF3B 0 +EIF4H 8 +ELFN1 0 +ELMO1-AS1 0 +ELN 0 +EN2 0 +EPDR1 0 +EPHA1-AS1 0 +EPHB6 0 +EPO 0 +EVX1 0 +EXOC4 2 +FABP5P3 0 +FAM115C 0 +FAM115D 0 +FAM185A 0 +FAM188B 0 +FAM20C 0 +FAM221A 0 +FAM71F1 0 +FAM71F2 0 +FBXO24 0 +FEZF1-AS1 0 +FKBP6 2 +FKBP9 0 +FLJ40288 0 +FLJ44511 0 +FLNC 0 +FOXK1 2 +FOXP2 0 +FSCN1 0 +FSCN3 0 +FZD1 0 +FZD9 0 +GALNT11 0 +GALNTL5 1 +GARS 36 +GATAD1 0 +GBAS 0 +GET4 0 +GHRHR 0 +GIMAP1 0 +GIMAP1-GIMAP5 0 +GIMAP2 0 +GIMAP4 0 +GIMAP5 0 +GIMAP7 0 +GIMAP8 0 +GLCCI1 3 +GNAI1 2 +GNB2 1 +GNG11 0 +GNGT1 0 +GPER1 0 +GPNMB 0 +GPR141 0 +GPR146 0 +GPR22 0 +GRM3 0 +GS1-259H13.2 0 +GSTK1 0 +GTF2I 0 +GTF2IP1 0 +GTF2IRD1 0 +GTF2IRD2 0 +GTF2IRD2B 0 +GTPBP10 7 +HBP1 1 +HDAC9 19 +HEATR2 2 +HECW1 0 +HILPDA 3 +HOTAIRM1 0 +HOTTIP 0 +HOXA-AS2 0 +HOXA-AS3 3 +HOXA10-AS 0 +HOXA11-AS 0 +HSPB1 5 +HTR5A 0 +HYAL4 0 +HYALP1 0 +IFRD1 0 +IGFBP1 0 +IKZF1 0 +IL6 0 +ING3 24 +INHBA-AS1 0 +INMT 0 +INMT-FAM188B 0 +INSIG1 2 +INTS4L2 0 +IQCE 1 +IRF5 0 +ISPD-AS1 0 +ITGB8 0 +JAZF1-AS1 0 +JHDM1D-AS1 0 +KCND2 1 +KCTD7 2 +KLHDC10 1 +KLHL7 15 +KMT2E 2 +KRBA1 0 +LAMTOR4 1 +LANCL2 0 +LAT2 0 +LEP 0 +LFNG 0 +LHFPL3 1 +LIMK1 8 +LINC00244 0 +LINC00265 0 +LINC00525 0 +LINC00689 1 +LINC00957 0 +LINC00996 0 +LINC00997 0 +LINC01000 0 +LINC01003 0 +LINC01176 0 +LINC01372 0 +LINC01393 0 +LINC01445 0 +LINC01447 0 +LINC01449 0 +LMOD2 0 +LMTK2 0 +LOC100093631 0 +LOC100101148 0 +LOC100128885 0 +LOC100130705 0 +LOC100130880 0 +LOC100133091 0 +LOC100287704 0 +LOC100287834 0 +LOC100289561 0 +LOC100505938 0 +LOC100506178 0 +LOC100506497 0 +LOC100506585 0 +LOC100506682 0 +LOC100506725 0 +LOC100506860 0 +LOC100507642 0 +LOC100630923 0 +LOC100996249 0 +LOC100996437 0 +LOC100996654 0 +LOC101409256 0 +LOC101926963 0 +LOC101927021 0 +LOC101927181 0 +LOC101927243 0 +LOC101927354 0 +LOC101927356 0 +LOC101927378 0 +LOC101927446 0 +LOC101927497 0 +LOC101927550 0 +LOC101927746 1 +LOC101927769 0 +LOC101927870 0 +LOC101927914 0 +LOC101928012 0 +LOC101928168 0 +LOC101928283 0 +LOC101928333 0 +LOC101928618 0 +LOC101928782 0 +LOC102659288 0 +LOC102723427 0 +LOC102723885 1 +LOC155060 0 +LOC389602 0 +LOC401324 0 +LOC407835 0 +LOC441204 0 +LOC442497 0 +LOC541473 0 +LOC641746 0 +LOC728743 0 +LOC93432 0 +LRGUK 0 +LRRC17 9 +LRRC61 0 +LRRC72 0 +LRRN3 0 +LRWD1 5 +LSM8 0 +LSMEM1 0 +LUC7L2 0 +MACC1-AS1 0 +MAFK 0 +MAGI2-AS2 0 +MAGI2-AS3 5 +MALSU1 0 +MBLAC1 0 +MDFIC 0 +MDH2 0 +MEOX2-AS1 0 +MEPCE 21 +MEST 11 +MET 0 +METTL2B 0 +MGAM 0 +MGC16142 0 +MIOS 0 +MIR129-1 0 +MIR3147 0 +MIR335 0 +MIR3609 0 +MIR3666 0 +MIR3914-2 0 +MIR3943 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4284 0 +MIR4285 0 +MIR4467 0 +MIR4468 0 +MIR4648 0 +MIR4649 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4651 0 +MIR4652 0 +MIR4653 0 +MIR490 0 +MIR5090 0 +MIR548AQ 0 +MIR548F3 0 +MIR548M 0 +MIR548T 0 +MIR550A1 0 +MIR550A2 0 +MIR5707 0 +MIR590 0 +MIR593 0 +MIR6132 0 +MIR6133 0 +MIR671 0 +MIR6837 0 +MIR6839 0 +MIR6840 0 +MIR6875 0 +MIR6892 0 +MKLN1 5 +MNX1-AS1 0 +MOSPD3 0 +MPP6 1 +MRPL32 6 +MRPS17 0 +MTRNR2L6 0 +MTURN 0 +MUC12 0 +MUC17 0 +MUC3A 5 +MYH16 0 +NCF1 0 +NCF1B 0 +NDUFB2 0 +NFE2L3 2 +NME8 0 +NOM1 1 +NOS3 0 +NPSR1 0 +NPTX2 0 +NPY 0 +NRF1 0 +NSUN5P1 0 +NUB1 4 +NUDT1 0 +NUP205 3 +NUPL2 0 +NXPH1 3 +NYAP1 0 +OCM 0 +OGDH 0 +OR2A1 0 +OR2A12 0 +OR2A14 0 +OR2A2 0 +OR2A20P 0 +OR2A25 0 +OR2A42 0 +OR2A5 0 +OR2A9P 0 +OR2F1 0 +OR2F2 0 +OR6B1 0 +OR6V1 0 +OR9A4 0 +ORAI2 0 +PAXIP1-AS1 0 +PAXIP1OS 5 +PCOLCE 0 +PEG10 1 +PER4 0 +PHF14 7 +PHTF2 7 +PIK3CG 0 +PILRA 0 +PILRB 0 +PIP 0 +PLEKHA8 0 +PMPCB 2 +PMS2CL 0 +PMS2L2 0 +PMS2P5 0 +PMS2P9 0 +POM121 1 +POM121L12 0 +POP7 3 +POR 1 +POT1-AS1 0 +POU6F2 0 +PPIA 10 +PPP1R17 0 +PPP1R9A 0 +PRKAG2-AS1 0 +PRKAR2B 2 +PRKRIP1 2 +PRR15 23 +PRSS1 0 +PRSS2 0 +PRSS3P2 0 +PSMC2 2 +PSMG3-AS1 0 +PTPN12 1 +PTPRZ1 0 +PVRIG 0 +PVRIG2P 0 +RAB19 0 +RABGEF1 2 +RAC1 9 +RALA 7 +RAMP3 0 +RBAK 0 +RBAK-RBAKDN 0 +RBAKDN 0 +RBM33 4 +RBM48 7 +REPIN1 1 +RHBDD2 0 +RINT1 0 +RNF216P1 6 +RNF32 0 +RNU6-33P 0 +RNU6-34P 0 +RNU6-57P 0 +RPA3OS 2 +RPL13AP17 0 +RPL23P8 0 +RPS2P32 0 +RSBN1L 0 +RSPH10B 0 +RSPH10B2 0 +RUNDC3B 2 +SBDSP1 0 +SCIN 1 +SDK1 0 +SEPT7 4 +SERPINE1 0 +SH2B2 0 +SLC12A9 0 +SLC26A4 0 +SLC29A4 0 +SLC4A2 0 +SMKR1 4 +SMO 0 +SND1 4 +SND1-IT1 0 +SNORA14A 0 +SNORA15 0 +SNORA22 0 +SNORD93 0 +SNX10 1 +SP4 0 +SPAM1 0 +SPDYE1 0 +SPDYE2 0 +SPDYE2B 0 +SPDYE3 0 +SPDYE5 0 +SPDYE8P 0 +SRRM3 0 +SRRT 0 +SSBP1 2 +SSMEM1 0 +SSPO 0 +ST7 0 +ST7-OT3 0 +ST7-OT4 0 +STAG3 7 +STAG3L1 0 +STAG3L4 0 +STAG3L5P 0 +STAG3L5P-PVRIG2P-PILRB 0 +STARD3NL 2 +STEAP1 0 +STEAP2 0 +STK17A 0 +STK31 2 +STRA8 0 +STRIP2 0 +SUGCT 4 +SUMF2 0 +SUN1 7 +TAC1 0 +TAS2R3 0 +TAS2R39 0 +TAS2R4 0 +TAS2R40 0 +TAS2R41 0 +TAS2R5 0 +TAS2R60 0 +TAX1BP1 109 +TBXAS1 0 +TES 1 +TFAMP1 0 +TMEM106B 0 +TMEM139 1 +TMEM140 0 +TMEM176A 0 +TMEM178B 0 +TMEM213 0 +TMEM248 2 +TPI1P2 0 +TPST1 0 +TRG-AS1 0 +TRIM24 0 +TRIM56 0 +TRIM73 0 +TRIM74 0 +TRIP6 0 +TRRAP 0 +TSL 0 +TSPAN13 0 +TSPAN33 0 +TTC26 0 +TTYH3 0 +TYW1 6 +UBE2D4 0 +UBE3C 1 +UBN2 0 +UNCX 0 +UPK3B 0 +UPP1 0 +USP42 0 +VKORC1L1 3 +VPS37D 0 +VSTM2A 0 +VSTM2A-OT1 0 +VWC2 0 +WBSCR17 0 +WBSCR22 1 +WBSCR28 0 +WDR60 3 +WDR86-AS1 0 +WEE2 514 +WI2-2373I1.2 0 +WIPF3 0 +WIPI2 9 +WNT16 0 +YAE1D1 0 +YKT6 0 +YWHAEP1 0 +ZAN 0 +ZBED6CL 0 +ZDHHC4 1 +ZKSCAN1 0 +ZKSCAN5 1 +ZMIZ2 0 +ZNF107 0 +ZNF138 0 +ZNF212 0 +ZNF273 0 +ZNF277 0 +ZNF282 0 +ZNF316 0 +ZNF398 2 +ZNF655 4 +ZNF679 0 +ZNF713 0 +ZNF716 0 +ZNF727P 0 +ZNF735P 0 +ZNF736 3 +ZNF775 0 +ZNF783 0 +ZNF789 0 +ZNF804B 0 +ZNF815P 0 +ZNF853 0 +ZNF862 0 +ZNF92 1 +ZNHIT1 1 +ZNRF2 0 +ZNRF2P1 0 +ZP3 23 +ZSCAN21 3 +ZSCAN25 1 +ZYX 5 +AARD 0 +ADAM18 0 +ADAM28 0 +ADAM32 0 +ADAM5 0 +ADAM7 0 +ADAM9 0 +ADAMDEC1 0 +ADCK5 0 +ADHFE1 0 +AGPAT5 0 +AGPAT6 1 +AP3M2 2 +ARHGEF10 0 +ASH2L 1 +ATP6V0D2 0 +ATP6V1B2 19 +ATP6V1C1 0 +BAALC 0 +BAG4 2 +BAI1 0 +BHLHE22 0 +BLK 0 +BMP1 0 +BNIP3L 9 +BREA2 0 +C8orf12 11 +C8orf22 0 +C8orf31 0 +C8orf33 0 +C8orf34 0 +C8orf37-AS1 0 +C8orf4 0 +C8orf44 0 +C8orf44-SGK3 0 +C8orf46 0 +C8orf48 0 +C8orf49 0 +C8orf58 0 +C8orf74 0 +CA13 0 +CA2 0 +CA3 0 +CASC21 0 +CCAR2 3 +CCAT2 0 +CDC42P3 0 +CDCA2 35 +CHCHD7 2 +CHD7 32 +CHMP4C 0 +CHMP7 2 +CHRAC1 0 +CHRNB3 0 +CLDN23 0 +CLN8 0 +CLVS1 0 +CNBD1 1 +COL14A1 0 +COLEC10 0 +CPNE3 0 +CPQ 1 +CRISPLD1 0 +CSPP1 7 +CTHRC1 0 +CYC1 0 +DCAF13 2 +DCSTAMP 0 +DCTN6 0 +DDHD2 0 +DECR1 0 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1B 0 +DEFB135 0 +DEFB4A 0 +DENND3 0 +DEPTOR 0 +DLGAP2 0 +DMTN 0 +DNAJC5B 0 +DOCK5 0 +DPY19L4 0 +DPYSL2 0 +E2F5 0 +EBAG9 8 +EFR3A 3 +EIF4EBP1 0 +ELP3 0 +EMC2 2 +ENY2 13 +EPHX2 1 +ERI1 6 +ERICH1-AS1 0 +ERICH5 1 +ERLIN2 0 +ESCO2 23 +ESRP1 61 +EXOSC4 0 +EXTL3 2 +FABP5 1 +FAM110B 0 +FAM160B2 0 +FAM183CP 1 +FAM66A 0 +FAM66D 0 +FAM66E 0 +FAM83A 0 +FAM83H-AS1 0 +FAM86B3P 0 +FAM90A10P 0 +FAM91A1 0 +FAM92A1 0 +FBXO25 2 +FDFT1 20 +FER1L6 0 +FGF17 0 +FLJ39080 0 +FLJ42969 0 +FNTA 4 +FZD3 8 +FZD6 0 +GATA4 0 +GDAP1 18 +GINS4 0 +GLI4 0 +GML 0 +GOLGA7 7 +GPAA1 1 +GPIHBP1 0 +GPR124 0 +GPT 0 +GRHL2 3 +GRINA 1 +GS1-24F4.2 0 +GSDMD 0 +HAS2-AS1 0 +HGH1 0 +HGSNAT 0 +HMBOX1 2 +HNF4G 0 +HOOK3 2 +HSF1 0 +HTRA4 0 +IDO1 0 +IDO2 0 +IKBKB 0 +INTS10 3 +INTS8 22 +KBTBD11 0 +KCNB2 0 +KCNS2 0 +KCNU1 0 +KHDRBS3 1 +KIAA1456 0 +KIAA1875 0 +KIFC2 0 +LAPTM4B 3 +LEPROTL1 1 +LETM2 0 +LINC00051 0 +LINC00208 0 +LINC00293 0 +LINC00534 0 +LINC00588 0 +LINC00681 0 +LINC00964 0 +LINC00967 0 +LINC01111 0 +LINC01288 0 +LINC01289 0 +LINC01300 0 +LINC01419 0 +LINCR-0001 0 +LOC100130964 0 +LOC100132891 1 +LOC100287098 0 +LOC100287846 0 +LOC100506990 5 +LOC100507156 0 +LOC100507651 0 +LOC101926892 0 +LOC101926908 0 +LOC101927067 0 +LOC101927221 0 +LOC101927543 0 +LOC101927657 0 +LOC101927822 0 +LOC101927845 3 +LOC101929066 0 +LOC101929128 1 +LOC101929172 0 +LOC101929217 0 +LOC101929229 0 +LOC101929237 0 +LOC101929268 0 +LOC157273 0 +LOC254896 0 +LOC286059 0 +LOC286094 0 +LOC286114 0 +LOC286177 0 +LOC286190 0 +LOC389641 0 +LPL 0 +LRRC14 0 +LRRC69 0 +LRRCC1 0 +LY6E 0 +LY6K 0 +LY96 0 +LYN 0 +LZTS1-AS1 0 +MAF1 0 +MAK16 0 +MAL2 2 +MAPK15 0 +MATN2 0 +MCM4 2 +MCMDC2 0 +MCPH1 3 +MED30 2 +MFSD3 0 +MICU3 0 +MIR1204 0 +MIR1205 0 +MIR1206 0 +MIR1207 0 +MIR1208 0 +MIR124-2 0 +MIR124-2HG 0 +MIR2052 0 +MIR2053 0 +MIR3150A 0 +MIR3151 0 +MIR3622A 0 +MIR3926-2 0 +MIR4470 0 +MIR4471 0 +MIR4472-1 0 +MIR4659A 0 +MIR4660 0 +MIR4661 0 +MIR486-2 0 +MIR5680 0 +MIR5681A 0 +MIR5708 0 +MIR596 0 +MIR597 0 +MIR6842 0 +MIR6847 0 +MIR6876 0 +MIR7160 0 +MIR8084 0 +MROH1 1 +MRPL15 0 +MSRA 5 +MTBP 0 +MTDH 4 +MTFR1 4 +MTMR9 1 +MYC 0 +MYOM2 1 +NACAP1 0 +NAT1 0 +NAT2 0 +NDUFAF6 0 +NDUFB9 2 +NECAB1 0 +NEFM 4 +NEIL2 0 +NKAIN3 0 +NOV 0 +NPBWR1 0 +NPM2 11 +NRG1 0 +NRG1-IT1 0 +NRG1-IT3 0 +NSMCE2 2 +ODF1 0 +OSGIN2 0 +OSR2 3 +OTUD6B 0 +OXR1 1 +PCAT1 0 +PCM1 6 +PDGFRL 3 +PDLIM2 2 +PDP1 1 +PHF20L1 0 +PI15 0 +PIWIL2 2 +PKHD1L1 0 +PKIA 0 +PLEKHA2 0 +PLEKHF2 7 +PNOC 0 +POLB 16 +POLR2K 1 +POLR3D 0 +POMK 0 +POP1 0 +POTEA 0 +POU5F1B 0 +PPP1R16A 0 +PPP2R2A 4 +PPP3CC 1 +PREX2 0 +PRNCR1 0 +PROSC 2 +PRR23D1 0 +PRR23D2 0 +PRSS55 0 +PSCA 0 +PTDSS1 4 +PTK2B 3 +PTP4A3 0 +PVT1 0 +R3HCC1 0 +RAB2A 7 +RAD21-AS1 0 +RALYL 0 +RBM12B-AS1 0 +RBPMS 2 +RDH10 0 +REXO1L2P 0 +RGS20 0 +RHOBTB2 3 +RHPN1 0 +RIMS2 1 +RIPK2 2 +RNF139 0 +RNU6-83P 0 +RP1 0 +RRS1 1 +SAMD12-AS1 0 +SCARA3 0 +SCX 0 +SDC2 0 +SDCBP 5 +SFTPC 0 +SGK3 1 +SH2D4A 66 +SLC25A37 0 +SLC26A7 0 +SLC30A8 1 +SLC35G5 0 +SLC39A14 2 +SLC52A2 0 +SLC7A2 0 +SMIM18 0 +SMIM19 0 +SNTG1 0 +SORBS3 0 +SOX17 0 +SPAG1 0 +SPAG11A 0 +SPAG11B 0 +SPATC1 0 +SPIDR 0 +SQLE 1 +STAU2-AS1 0 +STMN2 0 +SULF1 0 +TACC1 32 +TBC1D31 1 +TDH 0 +TERF1 1 +TG 0 +TGS1 3 +THEM6 1 +TIGD5 0 +TMED10P1 0 +TMEM67 0 +TMEM70 0 +TNFRSF10C 0 +TNKS 0 +TRHR 0 +TRIB1 0 +TRIM55 0 +TRMT12 0 +TUSC3 0 +UBE2V2 1 +UBXN2B 0 +UBXN8 3 +UG0898H09 0 +UNC5D 0 +USP17L1P 0 +USP17L4 0 +UTP23 2 +VDAC3 2 +VPS13B 4 +VPS37A 13 +WDYHV1 0 +WISP1 0 +WRN 1 +WWP1 0 +XKR4 0 +XKR9 0 +XPO7 1 +YTHDF3 1 +ZBTB10 4 +ZC2HC1A 4 +ZDHHC2 0 +ZFAT-AS1 0 +ZFHX4 0 +ZFP41 0 +ZFPM2 1 +ZHX2 1 +ZNF252P-AS1 0 +ZNF517 0 +ZNF572 0 +ZNF596 0 +ZNF623 2 +ZNF696 0 +ZNF7 0 +ZNF703 0 +ZNF705B 0 +ZNF705D 0 +ZNF707 0 +ABL1 4 +ACER2 0 +ACO1 1 +ACTL7A 0 +ADAMTS13 0 +ADAMTSL1 0 +ADAMTSL2 0 +AIF1L 0 +AKAP2 16 +ALDH1B1 0 +ANKRD18B 0 +ANKRD19P 0 +ANKRD20A1 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKRD20A4 0 +ANP32B 5 +ANXA1 0 +ANXA2P2 0 +AQP7P3 0 +ARPC5L 0 +ARRDC1 0 +ASS1 0 +ASTN2-AS1 0 +ATP6V1G1 13 +ATP8B5P 0 +B4GALT1-AS1 0 +BARHL1 0 +BSPRY 0 +C8G 0 +C9orf106 0 +C9orf117 0 +C9orf131 0 +C9orf135 0 +C9orf139 0 +C9orf142 0 +C9orf16 0 +C9orf163 0 +C9orf170 0 +C9orf171 0 +C9orf172 0 +C9orf173 0 +C9orf3 0 +C9orf41-AS1 0 +C9orf43 0 +C9orf47 0 +C9orf53 0 +C9orf62 0 +C9orf85 0 +C9orf89 0 +C9orf9 0 +C9orf91 0 +CA9 0 +CACFD1 0 +CACNA1B 0 +CBWD3 0 +CBWD5 0 +CCDC107 2 +CCDC171 2 +CCDC180 0 +CCDC183 0 +CCIN 0 +CD274 0 +CDC37L1 4 +CDK9 0 +CDKN2B-AS1 0 +CEL 0 +CELP 0 +CENPP 5 +CEP78 12 +CERCAM 0 +CHMP5 0 +CKS2 1 +CLTA 4 +CNTFR-AS1 0 +CNTLN 2 +CNTNAP3B 0 +CNTNAP3P2 0 +CNTRL 5 +COL15A1 1 +COL27A1 0 +COL5A1 0 +COQ4 0 +CRB2 0 +CREB3 0 +CTSL 2 +CTSL3P 0 +CTSLP8 0 +CYLC2 0 +CYSRT1 0 +DAB2IP 0 +DAPK1 0 +DBH 0 +DCAF10 0 +DDX11L5 0 +DEC1 0 +DENND4C 3 +DMRT1 0 +DMRT2 0 +DMRT3 0 +DMRTA1 1 +DNAI1 0 +DNAJA1 42 +DNAJB5 0 +DNAJC25 0 +DNAJC25-GNG10 0 +DNM1 0 +DOCK8 0 +DOLPP1 1 +EBLN3 6 +EGFL7 0 +EHMT1 6 +EHMT1-IT1 0 +ENDOG 0 +ERCC6L2 0 +EXOSC2 0 +FAM120A 0 +FAM122A 11 +FAM157B 0 +FAM189A2 16 +FAM201A 0 +FAM206A 1 +FAM225A 0 +FAM27C 0 +FAM27E2 0 +FAM69B 1 +FAM73B 1 +FAM74A1 0 +FAM74A3 0 +FAM74A6 0 +FAM95B1 0 +FCN2 0 +FGD3 0 +FKTN 0 +FOCAD 0 +FOXB2 0 +FOXD4L3 0 +FOXD4L4 0 +FOXE1 0 +FPGS 1 +FRMPD1 0 +FSD1L 1 +FUBP3 1 +FXN 0 +GADD45G 0 +GALNT12 0 +GALT 0 +GAPVD1 5 +GARNL3 0 +GCNT1 0 +GDA 0 +GFI1B 0 +GLE1 0 +GLIPR2 0 +GLIS3-AS1 0 +GNA14-AS1 0 +GNG10 0 +GPR107 1 +GPR21 0 +GPSM1 0 +GRHPR 0 +GRIN1 0 +GSN 0 +GTF3C4 0 +GTF3C5 1 +GXYLT1P3 0 +HABP4 2 +HIATL1 1 +HMCN2 0 +HRCT1 0 +HSDL2 1 +IDNK 0 +IFNA1 0 +IFNA8 0 +IFNK 0 +IFT74 1 +IL11RA 0 +IL33 0 +INSL4 0 +INVS 0 +JAK2 0 +KANK1 4 +KCNT1 0 +KCNV2 0 +KDM4C 0 +KGFLP1 0 +KIAA1045 0 +KIAA1958 1 +LAMC3 0 +LCN1 0 +LCN12 0 +LCN2 0 +LCN9 0 +LCNL1 0 +LHX2 2 +LINC00094 1 +LINC00475 0 +LINC00583 0 +LINC00587 0 +LINC00950 0 +LINC00961 0 +LINC00963 0 +LINC01189 0 +LINC01230 0 +LINC01231 0 +LINC01239 0 +LINC01241 0 +LINC01410 0 +LINC01502 0 +LINC01503 0 +LINC01504 0 +LINC01505 0 +LINC01507 0 +LMX1B 1 +LOC100128076 0 +LOC100128361 0 +LOC100128593 0 +LOC100129034 0 +LOC100132077 0 +LOC100132352 0 +LOC100132781 0 +LOC100133920 0 +LOC100288842 1 +LOC100499484 0 +LOC100499484-C9ORF174 1 +LOC100506100 0 +LOC100506422 0 +LOC100506834 0 +LOC100507346 0 +LOC101927358 0 +LOC101927502 0 +LOC101927575 1 +LOC101927623 0 +LOC101927827 0 +LOC101927847 0 +LOC101928381 0 +LOC101928523 0 +LOC101928797 0 +LOC101929331 0 +LOC102723709 0 +LOC158435 0 +LOC286367 0 +LOC389705 0 +LOC389765 0 +LOC401557 0 +LOC441454 0 +LOC441455 2 +LOC642943 0 +LPPR1 0 +LRRC8A 5 +LRSAM1 0 +LURAP1L 0 +MAMDC2 0 +MAMDC4 0 +MAN1B1 0 +MELK 14 +MIR101-2 0 +MIR126 0 +MIR181A2 0 +MIR181A2HG 0 +MIR181B2 0 +MIR219B 0 +MIR2278 0 +MIR23B 0 +MIR24-1 0 +MIR27B 0 +MIR2861 0 +MIR3152 0 +MIR3153 0 +MIR3910-1 0 +MIR3960 0 +MIR4291 0 +MIR4292 0 +MIR4479 0 +MIR455 0 +MIR4665 0 +MIR4667 0 +MIR4668 0 +MIR4669 0 +MIR4674HG 0 +MIR491 0 +MIR602 0 +MIR6081 0 +MIR6853 0 +MIR6855 0 +MIR6856 0 +MIR6877 0 +MIR8081 0 +MIRLET7A1 0 +MIRLET7D 0 +MIRLET7F1 0 +MLANA 0 +MORN5 0 +MRPL41 0 +MRPS2 0 +MRRF 0 +MSANTD3 2 +MSANTD3-TMEFF1 0 +MTAP 1 +MURC 0 +MUSK 0 +MVB12B 1 +NAA35 21 +NANS 0 +NCBP1 3 +NCS1 0 +NDOR1 0 +NEK6 1 +NELFB 1 +NFX1 0 +NIPSNAP3A 0 +NIPSNAP3B 0 +NOXA1 0 +NPR2 0 +NR4A3 0 +NTMT1 0 +NTNG2 0 +NTRK2 2 +NUDT2 0 +NUP188 0 +NUP214 2 +NUTM2G 0 +NXNL2 0 +OBP2A 0 +ODF2 3 +OLFM1 0 +OLFML2A 0 +OR13C8 0 +OR13D1 0 +OR13F1 0 +OR1J2 0 +OR1J4 0 +OR1K1 0 +OR1L1 0 +OR1L3 0 +OR1L4 0 +OR1L6 0 +OR1N2 0 +OR1Q1 0 +OR5C1 0 +ORM1 0 +ORM2 0 +OSTF1 2 +PAEP 0 +PALM2 0 +PALM2-AKAP2 0 +PAPPA 0 +PBX3 0 +PCA3 0 +PCAT7 0 +PCSK5 4 +PDCD1LG2 0 +PGM5 0 +PGM5P3-AS1 0 +PHF2 0 +PHPT1 0 +PHYHD1 1 +PIP5K1B 1 +PKN3 0 +PMPCA 0 +POLR1E 13 +POMT1 0 +PPAPDC2 3 +PPAPDC3 0 +PPP1R26 0 +PPP2R4 1 +PRDM12 0 +PRPF4 2 +PRRC2B 6 +PRRX2 0 +PRSS3 0 +PSAT1 0 +PSMD5-AS1 0 +PTENP1-AS 0 +PTGDS 0 +PTGER4P2-CDK2AP2P2 0 +PTGES2-AS1 0 +PTGS1 0 +PTPDC1 0 +PTPRD-AS1 0 +PTPRD-AS2 0 +RABEPK 0 +RABGAP1 11 +RABL6 2 +RAD23B 7 +RALGPS1 1 +RCL1 2 +RECK 0 +RFX3-AS1 0 +RGP1 0 +RGS3 0 +RIC1 0 +RMI1 0 +RNF20 18 +RNF224 0 +RORB 0 +RPL7A 74 +RPSAP9 0 +RRAGA 0 +RUSC2 0 +RXRA 0 +S1PR3 0 +SEC61B 2 +SECISBP2 7 +SET 13 +SH3GL2 0 +SLC1A1 0 +SLC25A25 0 +SLC27A4 0 +SLC2A8 0 +SLC31A1 1 +SLC31A2 0 +SLC34A3 0 +SLC44A1 0 +SMARCA2 19 +SMC2 16 +SMC5 0 +SNAPC3 0 +SNORD24 0 +SNORD36A 4 +SNORD36B 4 +SNORD36C 0 +SNORD62A 0 +SNORD62B 0 +SNX30 0 +SPATA31A1 0 +SPATA31A3 0 +SPATA31A5 0 +SPATA31A7 0 +SPATA31C1 0 +SPATA31D1 0 +SPATA31D3 0 +SPATA31D4 0 +SPATA31D5P 0 +SPATA31E1 0 +SPIN1 8 +SPINK4 0 +SPTAN1 2 +SSNA1 0 +STKLD1 0 +STX17 6 +STXBP1 1 +SURF2 0 +SUSD3 0 +SWI5 0 +SYK 0 +TAL2 0 +TBC1D13 0 +TDRD7 2 +TEK 3 +TESK1 1 +TGFBR1 0 +TJP2 0 +TLE4 2 +TLR4 0 +TMC1 0 +TMEFF1 0 +TMEM141 0 +TMEM215 0 +TMEM246-AS1 0 +TMEM38B 0 +TMEM8B 0 +TMOD1 8 +TOPORS-AS1 0 +TOR1B 0 +TOR4A 0 +TPD52L3 0 +TRAF2 1 +TRIM32 5 +TRMT10B 0 +TTC16 0 +TUBB4B 8 +TUBBP5 104 +TYRP1 0 +UAP1L1 0 +UBAP1 1 +UBE2R2 12 +UGCG 1 +UHRF2 6 +UNC13B 0 +UNQ6494 0 +URM1 0 +USP20 0 +VLDLR 0 +VPS13A 0 +WDR38 0 +WDR5 0 +WNK2 0 +ZBTB34 1 +ZBTB43 8 +ZCCHC7 13 +ZNF169 0 +ZNF189 1 +ZNF462 2 +ZNF483 2 +ZNF618 15 +ZNF79 1 +FLJ43315 0 +FAM230C 0 +MIR8069-1 0 +LOC100507412 0 +RNA45S5 0 +RNA5-8S5 0 +LOC101928597 0 +DUX4 0 +ABCD1 0 +ACRC 0 +AFF2 1 +AGTR2 0 +AKAP14 0 +AKAP17A 0 +ALG13 2 +AMELX 0 +APEX2 1 +APOOL 0 +AR 0 +ARAF 0 +ARHGAP36 0 +ARL13A 0 +ARMCX1 0 +ARMCX3 0 +ARMCX4 0 +ARMCX5 0 +ARMCX5-GPRASP2 0 +ARR3 0 +ARSF 0 +ARSH 0 +ASMT 0 +ASMTL-AS1 0 +ATG4A 1 +ATP1B4 0 +ATP2B3 0 +ATP6AP1 0 +ATP6AP2 0 +ATP7A 2 +AVPR2 0 +AWAT1 0 +BCORL1 3 +BEX4 0 +BGN 0 +BHLHB9 1 +BMP15 19 +BMX 0 +BRCC3 0 +BRS3 0 +CA5B 0 +CA5BP1 0 +CCDC120 0 +CCDC160 0 +CCDC22 1 +CCNB3 8 +CD40LG 0 +CD99 0 +CD99P1 0 +CDK16 0 +CDKL5 2 +CDX4 0 +CENPI 1 +CENPVP1 0 +CENPVP2 0 +CHDC2 0 +CHIC1 3 +CHST7 0 +CLCN4 1 +CLCN5 8 +CLDN2 0 +CNGA2 0 +CNKSR2 1 +COL4A5 0 +COX7B 0 +CPXCR1 0 +CSAG1 0 +CSAG3 0 +CSF2RA 0 +CSTF2 5 +CT45A1 0 +CT45A2 0 +CT45A3 0 +CT45A4 0 +CT45A5 0 +CT45A6 0 +CTAG1A 0 +CTAG1B 0 +CXXC1P1 0 +CXorf22 0 +CXorf28 0 +CXorf30 0 +CXorf40A 0 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf57 0 +CXorf58 0 +CXorf67 17 +CYBB 0 +CYLC1 0 +DACH2 0 +DCAF8L2 0 +DDX26B 0 +DDX3X 12 +DDX53 0 +DGAT2L6 0 +DIAPH2 1 +DKC1 34 +DLG3 1 +DMRTC1 0 +DMRTC1B 0 +DOCK11 0 +DRP2 0 +DUSP21 0 +DUSP9 0 +EBP 2 +EDA 0 +EFNB1 0 +EGFL6 1 +EIF1AX-AS1 0 +EIF2S3 0 +EMD 1 +ERAS 0 +F8A1 0 +F8A2 0 +F8A3 0 +F9 0 +FAAH2 0 +FAM122C 0 +FAM127A 0 +FAM133A 0 +FAM155B 0 +FAM156A 0 +FAM156B 0 +FAM199X 3 +FAM223A 0 +FAM223B 0 +FAM45B 0 +FAM46D 0 +FAM47B 0 +FAM47C 0 +FAM50A 0 +FATE1 0 +FGF13-AS1 0 +FGF16 0 +FHL1 0 +FLJ44635 0 +FMR1 1 +FMR1NB 0 +FOXO4 0 +FOXR2 0 +FRMPD3 0 +FRMPD4 0 +FTSJ1 0 +FUNDC2 0 +GABRQ 0 +GAGE1 0 +GAGE10 0 +GAGE12B 0 +GAGE12C 0 +GAGE12D 0 +GAGE12E 0 +GAGE12F 0 +GAGE12G 0 +GAGE12H 0 +GAGE12I 0 +GAGE12J 0 +GAGE13 0 +GAGE2A 0 +GAGE2B 0 +GAGE2C 0 +GAGE2D 0 +GAGE2E 0 +GAGE4 0 +GAGE5 0 +GAGE6 0 +GAGE7 0 +GAGE8 0 +GATA1 0 +GDI1 1 +GDPD2 0 +GJB1 0 +GK 0 +GLOD5 0 +GLRA2 1 +GLUD2 0 +GNL3L 0 +GPR112 0 +GPR173 0 +GPR174 0 +GPR34 0 +GPR50 0 +GPR82 0 +GPRASP1 0 +GPRASP2 0 +GRIA3 0 +GRPR 0 +GS1-600G8.3 0 +GSPT2 0 +GYG2 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFM 0 +H2BFXP 0 +HCCS 0 +HCFC1-AS1 0 +HDAC6 0 +HEPH 0 +HMGB3 22 +HNRNPH2 0 +HPRT1 12 +HS6ST2-AS1 0 +HSFX1 0 +HSFX2 0 +HTATSF1 4 +HTR2C 0 +HYPM 0 +IGBP1 3 +IKBKG 0 +IL13RA1 2 +IL1RAPL1 1 +IL1RAPL2 0 +IL3RA 0 +IL9R 0 +INE1 0 +ITGB1BP2 0 +JADE3 3 +JPX 0 +KANTR 1 +KDM6A 8 +KIF4A 24 +KLF8 0 +KLHL4 0 +KRBOX4 0 +LANCL3 0 +LINC00086 0 +LINC00269 0 +LINC00629 0 +LINC00630 0 +LINC00632 0 +LINC00684 0 +LINC00685 0 +LINC00850 0 +LINC00890 0 +LINC00891 0 +LINC00892 0 +LINC00894 0 +LINC01203 0 +LINC01204 0 +LINC01285 0 +LINC01420 0 +LOC100129520 0 +LOC100132304 0 +LOC100132741 0 +LOC100287728 0 +LOC100288814 0 +LOC100506790 0 +LOC101060211 0 +LOC101927476 0 +LOC101927501 0 +LOC101927830 0 +LOC101928128 0 +LOC101928259 0 +LOC101928336 0 +LOC101928358 0 +LOC101928437 0 +LOC101928495 0 +LOC101928564 0 +LOC102723680 0 +LOC102723737 0 +LOC389895 0 +LOC392452 0 +LONRF3 0 +LPAR4 0 +LUZP4 0 +MAGEA11 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA4 0 +MAGEA6 0 +MAGEA8 0 +MAGEA9 0 +MAGEA9B 0 +MAGEB1 0 +MAGEB10 0 +MAGEB16 1 +MAGEB17 0 +MAGEB18 0 +MAGEB2 0 +MAGEB3 0 +MAGEB4 0 +MAGEB5 0 +MAGEB6 0 +MAGEC1 0 +MAGEC3 0 +MAGED1 0 +MAGED2 0 +MAGED4 0 +MAGED4B 0 +MAGEE1 0 +MAGEH1 0 +MAGIX 0 +MAMLD1 0 +MAOA 0 +MBTPS2 3 +MCTS1 2 +MED12 0 +MED14OS 0 +MID1IP1 0 +MID2 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1264 0 +MIR1277 0 +MIR1298 0 +MIR188 0 +MIR1911 0 +MIR1912 0 +MIR2114 0 +MIR223 0 +MIR3202-1 0 +MIR362 0 +MIR3690 0 +MIR374C 0 +MIR3978 0 +MIR4330 0 +MIR448 0 +MIR4536-1 0 +MIR4767 0 +MIR4768 0 +MIR4769 0 +MIR500A 0 +MIR500B 0 +MIR501 0 +MIR502 0 +MIR532 0 +MIR6086 0 +MIR6089 0 +MIR651 0 +MIR660 0 +MIR664B 0 +MIR676 0 +MIR6858 0 +MIR764 0 +MIR934 0 +MORF4L2-AS1 0 +MOSPD2 1 +MPC1L 0 +MSL3 2 +MSN 0 +MST4 0 +MTM1 1 +MTMR1 3 +MUM1L1 0 +NDUFA1 0 +NGFRAP1 0 +NHS 0 +NHSL2 0 +NLGN3 0 +NONO 0 +NRK 0 +NSDHL 1 +NUDT10 0 +NXF2 0 +NXF2B 0 +NXF4 0 +NXT2 1 +NYX 0 +OCRL 1 +OFD1 58 +OGT 3 +OPN1LW 0 +OPN1MW 0 +OPN1MW2 0 +OR13H1 0 +OTC 0 +OTUD6A 0 +P2RY10 0 +PABPC1L2B 0 +PABPC1L2B-AS1 0 +PABPC5 0 +PAGE2 0 +PAGE2B 0 +PAGE4 0 +PAGE5 0 +PAK3 0 +PASD1 0 +PBDC1 0 +PCDH11X 14 +PCYT1B-AS1 0 +PDHA1 1 +PDK3 0 +PGK1 2 +PGRMC1 0 +PHEX 10 +PHF6 2 +PHKA2-AS1 0 +PIH1D3 0 +PIN4 1 +PLCXD1 0 +PLP1 0 +PLP2 0 +PLS3 0 +PLXNA3 0 +PLXNB3 0 +PNMA3 0 +PNMA6A 0 +POLA1 1 +PORCN 0 +POU3F4 0 +PPEF1 0 +PPP1R3F 0 +PQBP1 1 +PRDX4 0 +PRKX-AS1 0 +PRPS1 1 +PRPS2 5 +PRR32 0 +PRRG1 0 +PRRG3 0 +PTCHD1 0 +RAB33A 0 +RAB40AL 0 +RAB41 0 +RAB9A 0 +RAP2C-AS1 0 +RBM10 1 +RBM3 4 +RBMX2 44 +RBMXL3 0 +REPS2 2 +RGAG1 0 +RGN 0 +RHOXF2 0 +RHOXF2B 0 +RIBC1 0 +RNF128 0 +RP2 0 +RPA4 0 +RPL10 32 +RPL36A 0 +RPL36A-HNRNPH2 0 +RPS26P11 0 +RRAGB 2 +S100G 0 +SAGE1 0 +SASH3 0 +SAT1 0 +SCARNA23 0 +SCML1 11 +SH2D1A 0 +SH3BGRL 0 +SHOX 0 +SHROOM2 1 +SLC16A2 0 +SLC25A14 3 +SLC25A43 0 +SLC25A5 34 +SLC6A14 0 +SLC6A8 0 +SLC9A6 4 +SLITRK2 0 +SMIM10 0 +SMS 4 +SNORA11 0 +SNORA11C 0 +SNORA11D 0 +SNORA11E 0 +SNORA35 0 +SNORA36A 0 +SNORA56 0 +SNORA70 3 +SOWAHD 0 +SPACA5 0 +SPACA5B 0 +SPANXA1 0 +SPANXA2 0 +SPANXA2-OT1 0 +SPANXB1 0 +SPANXN1 0 +SPANXN4 0 +SPRY3 0 +SRD5A1P1 0 +SRPK3 0 +SRPX2 0 +SSR4 1 +SSX1 0 +SSX2 0 +SSX2B 0 +SSX4 0 +SSX4B 0 +SSX6 0 +SSX8 0 +STAG2 0 +STARD8 0 +STS 0 +SUPT20HL1 0 +SUV39H1 0 +SYAP1 2 +SYP-AS1 0 +SYTL5 0 +TAF1 2 +TAZ 0 +TBC1D25 0 +TBC1D8B 0 +TBL1X 3 +TBX22 0 +TCEAL1 0 +TCEAL2 0 +TCEAL3 0 +TCEAL4 0 +TCEAL7 0 +TCEANC 1 +TCP11X2 0 +TDGF1P3 0 +TGIF2LX 0 +TIMP1 0 +TKTL1 0 +TLR7 0 +TLR8 0 +TMEM164 0 +TMEM187 1 +TMEM257 0 +TMEM31 0 +TMEM35 0 +TMLHE-AS1 0 +TMSB15B 0 +TMSB4X 22 +TNMD 0 +TRO 0 +TRPC5OS 0 +TSIX 0 +TSPAN7 1 +TSPYL2 1 +TSR2 1 +TXLNG 14 +UBA1 1 +UBE2A 4 +UBE2DNL 0 +UBE2E4P 0 +UBE2NL 0 +UBQLN2 0 +UPRT 1 +USP11 4 +USP27X 0 +USP9X 8 +UTP14A 11 +UXT-AS1 0 +VAMP7 0 +VBP1 1 +VCX 0 +VCX3B 0 +VENTXP1 0 +VGLL1 0 +VMA21 0 +VSIG1 0 +WAS 0 +WBP5 0 +WDR13 0 +WDR44 2 +WWC3 4 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE5 0 +XG 1 +XGY2 0 +XIAP 1 +XK 0 +XPNPEP2 0 +YIPF6 8 +YY2 2 +ZBTB33 4 +ZC3H12B 0 +ZCCHC12 1 +ZCCHC13 0 +ZCCHC16 0 +ZCCHC18 0 +ZFP92 0 +ZFX 0 +ZIC3 0 +ZNF157 0 +ZNF185 0 +ZNF275 0 +ZNF449 1 +ZNF630-AS1 0 +ZNF645 0 +ZNF674-AS1 0 +ZNF711 0 +ZNF81 0 +ZRSR2 1 +ZXDB 0 +AKAP17A 0 +ASMT 0 +ASMTL-AS1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD99 0 +CD99P1 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CSF2RA 0 +CSPG4P1Y 0 +DAZ2 0 +DAZ3 0 +DAZ4 0 +DDX3Y 0 +EIF1AY 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +HSFY1 0 +HSFY2 0 +IL3RA 0 +IL9R 0 +LINC00278 0 +LINC00685 0 +LOC100652931 0 +LOC101929148 0 +MIR3690 0 +MIR6089 0 +NLGN4Y 0 +PCDH11Y 0 +PLCXD1 0 +PRKY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2FP 0 +RPS4Y1 0 +RPS4Y2 0 +SHOX 0 +SPRY3 0 +TBL1Y 0 +TGIF2LY 0 +TMSB4Y 0 +TSPY1 0 +TSPY10 0 +TSPY2 0 +TSPY3 0 +TSPY4 0 +TSPY8 0 +TTTY1 0 +TTTY12 0 +TTTY15 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY19 0 +TTTY1B 0 +TTTY2 0 +TTTY21 0 +TTTY21B 0 +TTTY22 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +TXLNGY 0 +USP9Y 0 +VAMP7 0 +VCY 0 +VCY1B 0 +XGY2 0 +XKRY 0 +XKRY2 0 +ZFY 0 +A3GALT2 0 +ABCA4 0 +ABCB10 0 +ABL2 0 +ACAP3 0 +ACBD3 6 +ACBD6 0 +ACOT7 0 +ACP6 0 +ACTA1 0 +ADAM30 0 +ADAMTS4 0 +ADAMTSL4-AS1 0 +ADAR 25 +ADCY10 0 +ADIPOR1 0 +ADORA3 0 +ADSS 1 +AGBL4 0 +AGBL4-IT1 0 +AGMAT 1 +AGT 0 +AHCTF1 2 +AHDC1 0 +AIDA 1 +AIM1L 0 +AIM2 0 +AK2 0 +AKNAD1 0 +AKR7A2 0 +AKR7A3 0 +AKR7L 0 +AKT3 1 +ALDH4A1 0 +ALDH9A1 12 +ALG14 0 +ALX3 0 +AMIGO1 1 +AMPD1 0 +AMY1A 0 +AMY1B 0 +AMY1C 0 +ANGEL2 0 +ANGPTL1 0 +ANKRD13C 1 +ANKRD20A12P 0 +ANKRD36BP1 1 +ANKRD45 0 +ANKRD65 0 +ANP32E 0 +AP4B1 3 +APH1A 16 +APOA2 0 +APOBEC4 0 +ARHGAP29 2 +ARHGAP30 0 +ARHGEF11 1 +ARHGEF19 0 +ARHGEF2 0 +ARID4B 5 +ARL8A 0 +ARNT 0 +ARPC5 0 +ASAP3 0 +ASB17 0 +ASCL5 0 +ASH1L 2 +ASPM 20 +ASTN1 0 +ATP13A2 0 +ATP1A1-AS1 0 +ATP6V1G3 0 +ATPAF1 0 +AUNIP 7 +AURKAIP1 0 +AURKAPS1 1 +B3GALNT2 1 +B3GALT2 0 +B4GALT3 1 +BAI2 0 +BARHL2 0 +BATF3 0 +BCAR3 0 +BCAS2 8 +BCL10 0 +BCL2L15 0 +BEND5 0 +BEST4 0 +BLACAT1 0 +BMP8B 0 +BPNT1 0 +BRINP3 0 +BSDC1 0 +BTNL10 0 +C1orf109 0 +C1orf110 0 +C1orf111 0 +C1orf116 0 +C1orf123 0 +C1orf127 0 +C1orf131 6 +C1orf140 0 +C1orf141 0 +C1orf145 0 +C1orf159 0 +C1orf168 0 +C1orf174 3 +C1orf180 0 +C1orf186 0 +C1orf189 0 +C1orf192 0 +C1orf194 0 +C1orf195 0 +C1orf198 0 +C1orf200 0 +C1orf204 0 +C1orf210 1 +C1orf216 0 +C1orf229 0 +C1orf233 0 +C1orf234 0 +C1orf35 0 +C1orf43 3 +C1orf52 0 +C1orf61 0 +C1orf74 0 +C1orf85 0 +C1orf86 1 +C1orf87 0 +C2CD4D 0 +C8B 0 +CACNA1S 0 +CADM3-AS1 0 +CAMK2N1 0 +CAPN8 0 +CAPZB 3 +CASP9 0 +CASQ2 0 +CASZ1 0 +CC2D1B 0 +CCBL2 0 +CCDC163P 0 +CCDC17 0 +CCDC181 1 +CCDC19 0 +CCDC23 2 +CCNL2 0 +CCSAP 1 +CCT3 3 +CD160 0 +CD164L2 0 +CD1B 0 +CD244 0 +CD247 0 +CD34 0 +CD48 0 +CD58 0 +CD5L 0 +CD84 0 +CDC42BPA 9 +CDC42SE1 4 +CDCP2 0 +CDK11A 0 +CDK11B 3 +CELF3 0 +CENPL 0 +CEP104 3 +CEP170 1 +CERS2 13 +CHD5 0 +CHI3L1 0 +CHIT1 0 +CHML 0 +CHRM3-AS1 0 +CHRM3-AS2 0 +CITED4 0 +CLCC1 1 +CLDN19 0 +CLK2 3 +CLSPN 16 +CLSTN1 4 +CNN3 27 +CNR2 0 +COA7 0 +COL11A1 0 +COL16A1 1 +COL24A1 0 +COL8A2 0 +COL9A2 0 +COLGALT2 0 +COPA 2 +CPSF3L 0 +CRABP2 0 +CREG1 0 +CRNN 0 +CROCCP2 0 +CROCCP3 0 +CRP 0 +CRTC2 0 +CRYZ 10 +CSDE1 155 +CSF3R 0 +CSMD2 0 +CSRP1 20 +CTBS 1 +CTNNBIP1 4 +CTSK 0 +CTSS 0 +CYB5R1 0 +CYB5RL 0 +CYP2J2 0 +CYP4A11 0 +CYP4Z2P 0 +DAB1 1 +DBT 0 +DCAF8 4 +DCST2 0 +DDAH1 0 +DDOST 0 +DDX59 4 +DEDD 5 +DENND1B 0 +DENND2C 0 +DENND2D 0 +DENND4B 0 +DEPDC1 0 +DFFA 0 +DHCR24 1 +DHRS3 0 +DIRAS3 7 +DISC2 0 +DLGAP3 0 +DMRTA2 0 +DNAJC11 1 +DNAJC8 11 +DNM3OS 0 +DNTTIP2 9 +DOCK7 0 +DPH5 0 +DPM3 0 +DPT 0 +DPYD 0 +DRAM2 0 +DSTYK 0 +DUSP10 3 +DVL1 0 +E2F2 0 +EBNA1BP2 0 +ECE1 1 +ECHDC2 1 +EDEM3 1 +EDN2 0 +EFCAB14 5 +EGLN1 0 +EIF2B3 1 +EIF2D 0 +EIF4G3 3 +ELK4 1 +ELOVL1 0 +ELTD1 0 +EMC1 0 +ENAH 7 +ENO1 1 +ENSA 2 +EPHA10 0 +EPHA2 0 +EPRS 9 +EPS15 3 +EPS8L3 0 +ERI3 0 +ERI3-IT1 0 +ERICH3 0 +ERO1LB 0 +ERRFI1 0 +ESPNP 0 +ESRRG 0 +ETNK2 0 +ETV3 0 +ETV3L 0 +EVA1B 0 +EVI5 1 +EXOC8 0 +EXOSC10 1 +EXTL2 0 +EYA3 1 +F11R 0 +F13B 0 +F3 0 +F5 0 +FABP3 0 +FAF1 0 +FAIM3 0 +FAM129A 1 +FAM131C 0 +FAM132A 0 +FAM138A 0 +FAM138F 0 +FAM151A 0 +FAM189B 0 +FAM212B 0 +FAM229A 0 +FAM231A 0 +FAM41C 0 +FAM46B 9 +FAM63A 0 +FAM69A 0 +FAM72C 0 +FAM72D 0 +FAM78B 0 +FAM89A 0 +FBXO2 0 +FBXO42 1 +FCAMR 0 +FCGR1B 0 +FCGR3A 0 +FCGR3B 0 +FCN3 0 +FCRL1 0 +FCRL2 0 +FCRL3 0 +FCRL4 0 +FCRL5 0 +FGR 0 +FH 4 +FHL3 1 +FLG 0 +FLG2 0 +FLJ27354 1 +FLJ37453 0 +FLVCR1-AS1 0 +FMO5 0 +FMOD 0 +FNDC5 0 +FOXD2-AS1 0 +FOXD3-AS1 0 +FOXJ3 11 +FRRS1 0 +FUBP1 1 +FUCA1 1 +GALE 0 +GAS5 1 +GATAD2B 6 +GBA 0 +GBAP1 0 +GBP1 0 +GBP2 0 +GBP3 0 +GBP4 0 +GBP5 0 +GBP7 0 +GCLM 1 +GCSAML-AS1 0 +GDAP2 0 +GEMIN8P4 0 +GFI1 0 +GJA5 0 +GJA9 0 +GJA9-MYCBP 4 +GLIS1 0 +GLMN 0 +GLRX2 0 +GLUL 3 +GNAT2 2 +GNB1 24 +GNG12 7 +GNG4 1 +GNG5 7 +GNL2 2 +GNRHR2 0 +GOLPH3L 4 +GOLT1A 0 +GON4L 2 +GPA33 0 +GPATCH2 4 +GPATCH3 2 +GPATCH4 2 +GPBP1L1 6 +GPN2 3 +GPR153 1 +GPR157 0 +GPR161 0 +GPR89A 2 +GREM2 0 +GRIK3 0 +GS1-279B7.1 0 +GSTM3 1 +GTF2B 14 +GUCA2A 0 +HDGF 3 +HEATR1 10 +HECTD3 0 +HENMT1 36 +HES2 0 +HES4 0 +HES5 0 +HEYL 0 +HFM1 0 +HHIPL2 0 +HIPK1-AS1 0 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AB 0 +HIST2H2BC 0 +HIST2H2BE 0 +HIST2H2BF 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H3D 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2A 0 +HIST3H3 0 +HIVEP3 0 +HLX-AS1 0 +HMGCL 0 +HMGCS2 0 +HNRNPCL1 0 +HNRNPCL2 0 +HNRNPR 3 +HNRNPU 3 +HNRNPU-AS1 0 +HORMAD1 0 +HP1BP3 0 +HPCAL4 0 +HRNR 0 +HSD52 0 +HSPB11 0 +HSPB7 0 +HSPG2 0 +HTR1D 0 +HYI 0 +IBA57-AS1 0 +ICMT 3 +ID3 1 +IFFO2 0 +IFI6 0 +IFNLR1 0 +IGSF3 0 +IGSF8 0 +IGSF9 0 +IL10 0 +IL22RA1 0 +ILDR2 1 +ILF2 18 +INPP5B 0 +INSL5 0 +INSRR 0 +INTS7 1 +IPO9-AS1 0 +IPP 2 +IQGAP3 1 +IRF2BP2 1 +IRF6 18 +ISG20L2 0 +ITGB3BP 2 +ITLN1 0 +ITLN2 0 +ITPKB 0 +ITPKB-IT1 0 +IVNS1ABP 1 +JAK1 1 +JMJD4 0 +JTB 0 +JUN 0 +KANK4 0 +KCNA10 0 +KCNA2 0 +KCNA3 1 +KCNC4-AS1 0 +KCND3 0 +KCND3-IT1 0 +KCNH1 0 +KCNJ10 0 +KCNN3 0 +KCNT2 0 +KDF1 0 +KDM4A-AS1 0 +KDM5B 0 +KIAA0040 1 +KIAA0319L 0 +KIAA0907 1 +KIAA1751 0 +KIAA2013 1 +KIF14 2 +KIF17 0 +KIF21B 0 +KIFAP3 0 +KISS1 0 +KLHDC8A 0 +KLHL12 4 +KLHL21 0 +KNCN 1 +KRTCAP2 0 +KTI12 0 +LACTBL1 0 +LAD1 12 +LAMB3 0 +LAMTOR5 4 +LAPTM5 0 +LBR 1 +LCE1C 0 +LCE3A 0 +LCE3D 0 +LCE3E 0 +LDLRAD1 0 +LEFTY1 0 +LEFTY2 0 +LEMD1 0 +LEPRE1 0 +LGALS8-AS1 0 +LHX4-AS1 0 +LIN9 0 +LINC00115 0 +LINC00303 0 +LINC00466 0 +LINC00582 0 +LINC00622 0 +LINC00623 0 +LINC00624 0 +LINC00628 0 +LINC00862 0 +LINC00869 0 +LINC00970 0 +LINC00982 0 +LINC01057 0 +LINC01136 0 +LINC01137 0 +LINC01138 0 +LINC01139 0 +LINC01141 0 +LINC01142 0 +LINC01160 0 +LINC01222 0 +LINC01343 0 +LINC01344 0 +LINC01347 0 +LINC01349 0 +LINC01350 0 +LINC01354 0 +LINC01355 0 +LINC01356 0 +LINC01359 0 +LINC01361 0 +LINC01363 0 +LINC01364 0 +LINC01398 0 +LINC01461 0 +LINGO4 0 +LMOD1 0 +LMX1A 0 +LOC100129534 0 +LOC100130417 0 +LOC100131564 1 +LOC100133331 0 +LOC100288069 0 +LOC100422212 0 +LOC100505666 0 +LOC100505795 0 +LOC100505918 0 +LOC100506022 0 +LOC100506023 0 +LOC100506730 0 +LOC100506747 0 +LOC100506985 0 +LOC100996251 0 +LOC100996263 0 +LOC101926964 0 +LOC101927139 0 +LOC101927143 0 +LOC101927468 0 +LOC101927560 0 +LOC101927587 0 +LOC101927683 0 +LOC101928043 0 +LOC101928068 0 +LOC101928241 0 +LOC101928370 0 +LOC101928436 0 +LOC101928460 0 +LOC101928696 0 +LOC101929099 0 +LOC101929406 0 +LOC101929983 0 +LOC102723769 0 +LOC102724601 0 +LOC115110 0 +LOC149373 0 +LOC255654 0 +LOC284578 0 +LOC391003 0 +LOC400736 0 +LOC400794 0 +LOC440600 0 +LOC440602 0 +LOC643441 0 +LOC645354 0 +LOC646268 0 +LOC646471 0 +LOC649324 0 +LOC649330 0 +LOC653160 0 +LOC653513 0 +LOC728989 0 +LOC729737 0 +LOC729867 0 +LOC729930 0 +LOC730102 0 +LPAR3 0 +LPGAT1 0 +LPPR5 0 +LRIF1 2 +LRP8 0 +LRRC38 1 +LRRC39 0 +LRRC40 1 +LRRC41 2 +LRRC47 1 +LRRIQ3 0 +LRRN2 0 +LSM10 0 +LUZP1 1 +LYPD8 0 +LYPLAL1-AS1 0 +LYSMD1 0 +LYST 0 +LZIC 1 +MAD2L2 1 +MAGOH 11 +MAP1LC3C 0 +MAP3K6 0 +MARCKSL1 0 +MASP2 0 +MATN1 0 +MCL1 1 +MCOLN2 0 +MCOLN3 0 +MEAF6 6 +MECR 0 +MED8 4 +MEF2D 0 +MEGF6 0 +METTL18 0 +MEX3A 0 +MFAP2 0 +MIR101-1 0 +MIR1182 0 +MIR1262 0 +MIR1295A 0 +MIR135B 0 +MIR137 0 +MIR137HG 0 +MIR1537 0 +MIR181A1 0 +MIR181A1HG 0 +MIR181B1 0 +MIR186 0 +MIR190B 0 +MIR194-1 0 +MIR199A2 0 +MIR214 0 +MIR215 0 +MIR2682 0 +MIR29B2 0 +MIR29C 0 +MIR3119-1 0 +MIR3121 0 +MIR320B2 0 +MIR34A 0 +MIR3605 0 +MIR3671 0 +MIR3675 0 +MIR3916 0 +MIR3917 0 +MIR4252 0 +MIR4253 0 +MIR4254 0 +MIR4256 0 +MIR4260 0 +MIR4420 0 +MIR4689 0 +MIR4695 0 +MIR4711 0 +MIR4735 0 +MIR4742 0 +MIR4753 0 +MIR488 0 +MIR5008 0 +MIR5087 0 +MIR548AP 0 +MIR548D1 0 +MIR548F1 0 +MIR551A 0 +MIR555 0 +MIR5581 0 +MIR6068 0 +MIR6127 0 +MIR664A 0 +MIR6723 0 +MIR6726 0 +MIR6727 0 +MIR6728 0 +MIR6730 0 +MIR6731 0 +MIR6733 0 +MIR6734 0 +MIR6737 0 +MIR6738 0 +MIR6741 0 +MIR6742 0 +MIR6808 0 +MIR6859-1 0 +MIR6859-2 0 +MIR761 0 +MIR765 0 +MIR7851 0 +MIR7856 0 +MIR8083 0 +MIR9-1 0 +MIR921 0 +MKNK1 3 +MMEL1 0 +MOB3C 0 +MORN1 0 +MPC2 2 +MPZ 0 +MRPL20 3 +MRPL24 0 +MRPL55 0 +MRPL9 0 +MRPS14 0 +MRPS15 0 +MST1L 0 +MT1HL1 0 +MTF1 8 +MTHFR 1 +MTMR11 0 +MTMR9LP 0 +MTOR 5 +MUC1 0 +MUL1 4 +MUTYH 0 +MXRA8 0 +MYBPH 0 +MYBPHL 0 +MYCBP 1 +MYCL 0 +MYOC 0 +MYOG 0 +MYOM3 0 +MYSM1 2 +NADK 0 +NBPF1 2 +NBPF11 0 +NBPF13P 0 +NBPF14 0 +NBPF25P 0 +NBPF4 0 +NBPF7 0 +NBPF8 0 +NBPF9 0 +NCF2 2 +NDC1 0 +NEGR1 0 +NEGR1-IT1 0 +NEK2 3 +NES 0 +NEXN-AS1 0 +NFIA-AS1 0 +NFIA-AS2 0 +NFYC-AS1 0 +NGF 0 +NHLH2 0 +NID1 0 +NKAIN1 0 +NME7 2 +NMNAT2 0 +NOC2L 0 +NOL9 1 +NOTCH2 0 +NPHP4 4 +NPHS2 0 +NPPA 0 +NPPB 0 +NR0B2 0 +NR1I3 0 +NRAS 4 +NRD1 1 +NSL1 0 +NT5C1A 0 +NUAK2 0 +NUCKS1 5 +NUDT17 0 +NUP133 13 +NUP210L 0 +NVL 4 +ODF2L 1 +OLFM3 0 +OLFML2B 0 +OMA1 0 +OPN3 0 +OR10J3 0 +OR10J5 0 +OR10K2 0 +OR10T2 0 +OR10X1 0 +OR11L1 0 +OR13G1 0 +OR14A16 0 +OR14I1 0 +OR1C1 0 +OR2B11 0 +OR2C3 0 +OR2M7 0 +OR2T10 0 +OR2T11 0 +OR2T12 0 +OR2T27 0 +OR2T29 0 +OR2T33 0 +OR2T34 0 +OR2T35 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR6F1 0 +OR6K2 0 +OR6K3 0 +OR6N1 0 +OR6N2 0 +OR6P1 0 +OR6Y1 0 +ORC1 1 +OSCP1 0 +OTUD7B 6 +OVGP1 0 +OXCT2 0 +PABPC4 15 +PADI2 0 +PAFAH2 3 +PANK4 0 +PAQR6 0 +PAQR7 0 +PARP1 35 +PARS2 6 +PBXIP1 0 +PCNXL2 0 +PDC 0 +PDE4DIP 0 +PDZK1IP1 0 +PDZK1P2 0 +PEF1 1 +PERM1 0 +PEX10 0 +PEX19 3 +PFDN2 1 +PFN1P2 0 +PGBD5 0 +PGCP1 0 +PGLYRP3 0 +PGLYRP4 0 +PHC2 0 +PHLDA3 0 +PHTF1 0 +PI4KB 4 +PIGC 2 +PIGK 0 +PIGM 0 +PIGR 0 +PIK3C2B 2 +PIK3R3 1 +PINK1-AS 1 +PKLR 0 +PKN2-AS1 0 +PLA2G2A 0 +PLA2G2C 0 +PLA2G2D 0 +PLA2G2E 0 +PLD5 0 +PLEKHA6 0 +PLEKHG5 3 +PLXNA2 0 +PM20D1 0 +PMVK 0 +POGZ 5 +POLR3C 0 +POLR3GL 1 +POMGNT1 0 +POU3F1 0 +PPAP2B 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIAL4G 0 +PPIEL 0 +PPM1J 0 +PPP1R15B 1 +PPT1 0 +PRAMEF11 0 +PRAMEF14 0 +PRAMEF19 0 +PRAMEF22 0 +PRAMEF4 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRAMEF9 0 +PRDX1 0 +PRKAB2 0 +PSMA5 24 +PSMB2 1 +PSRC1 0 +PTAFR 0 +PTCH2 0 +PTGER3 0 +PTGS2 0 +PTP4A2 12 +PTPN14 2 +PTPN22 0 +PTPN7 0 +PUM1 0 +PVRL4 0 +PYCR2 1 +PYGO2 7 +RAB13 0 +RAB29 8 +RAB3B 0 +RAB3GAP2 4 +RABIF 0 +RAP1GAP 0 +RASAL2-AS1 0 +RBBP5 4 +RBM34 4 +RBMXL1 1 +RC3H1 3 +RCAN3AS 0 +RCC2 11 +RD3 0 +REG4 0 +REN 0 +RERE 5 +RFWD2 1 +RFX5 0 +RGS16 1 +RGS5 0 +RGS7 0 +RGS8 0 +RHBDL2 1 +RHCE 1 +RHOC 1 +RIMS3 0 +RIT1 0 +RNASEL 0 +RNF186 0 +RNF19B 5 +RNF223 0 +RNU1-13P 0 +RNU6-31P 0 +RNU6-72P 0 +RNU6-79P 0 +RNVU1-19 0 +RNVU1-8 0 +ROR1-AS1 0 +RORC 0 +RPA2 0 +RPE65 0 +RPL22 1 +RPL31P11 0 +RPS15AP10 0 +RPTN 0 +RRAGC 11 +RSBN1 2 +RSG1 0 +RSPO1 0 +RSRP1 0 +RTCA-AS1 0 +RUNX3 0 +RUSC1-AS1 0 +RXRG 0 +S100A10 0 +S100A11 0 +S100A12 0 +S100A13 0 +S100A14 0 +S100A16 0 +S100A2 0 +S100A3 0 +S100A4 0 +S100A5 0 +S100A6 0 +S100A7 0 +S100A7L2 0 +S100A8 0 +SASS6 21 +SCAMP3 0 +SCARNA3 0 +SCARNA4 0 +SCMH1 0 +SCYL3 2 +SDC3 0 +SDE2 6 +SDF4 1 +SDHB 6 +SEC16B 2 +SELE 0 +SELENBP1 0 +SELL 0 +SELP 0 +SEMA6C 0 +SEP15 2 +SERBP1 3 +SERPINC1 0 +SERTAD4-AS1 0 +SETSIP 0 +SF3A3 45 +SF3B4 1 +SFPQ 3 +SH2D1B 0 +SH2D2A 0 +SH2D5 0 +SH3BP5L 0 +SHC1 3 +SHCBP1L 0 +SHE 0 +SIKE1 2 +SIPA1L2 4 +SKINTL 0 +SLAMF1 0 +SLAMF6 0 +SLAMF9 0 +SLC16A1 4 +SLC16A4 0 +SLC19A2 9 +SLC1A7 0 +SLC25A24 0 +SLC25A3P1 0 +SLC26A9 0 +SLC2A1 2 +SLC2A5 0 +SLC2A7 0 +SLC30A1 0 +SLC30A10 0 +SLC30A2 0 +SLC35D1 8 +SLC35E2 0 +SLC35E2B 0 +SLC39A1 0 +SLC41A1 1 +SLC44A5 0 +SLC45A3 1 +SLC6A9 1 +SLC9A1 3 +SLC9C2 0 +SLFNL1 0 +SMG5 0 +SMG7-AS1 0 +SMIM12 0 +SMYD3 1 +SNHG12 0 +SNIP1 1 +SNORA14B 0 +SNORA16A 0 +SNORA36B 0 +SNORA44 0 +SNORA55 0 +SNORA61 0 +SNORA80E 0 +SNORD103A 0 +SNORD103B 0 +SNORD44 0 +SNORD47 0 +SNORD74 0 +SNORD75 1 +SNORD76 0 +SNORD77 0 +SNORD78 0 +SNORD79 0 +SNORD80 0 +SNORD81 0 +SNORD85 0 +SNORD99 0 +SNRNP40 0 +SNRPD2P2 0 +SORT1 2 +SPAG17 0 +SPATA21 0 +SPATA45 0 +SPATA6 2 +SPOCD1 0 +SPRR2A 0 +SPRR2B 0 +SPRR2C 0 +SPRR2D 0 +SPRR2E 0 +SPRR2F 0 +SPRR2G 0 +SPTA1 0 +SRGAP2-AS1 0 +SRM 0 +SRSF10 0 +SRSF4 4 +SSBP3 3 +SSR2 3 +SSU72 2 +SSX2IP 5 +ST7L 0 +STIL 3 +STK40 0 +STMN1 3 +STPG1 0 +STX6 28 +SUSD4 1 +SV2A 0 +SYDE2 0 +SYF2 12 +SYNC 0 +SYT2 3 +SYT6 0 +TACSTD2 0 +TADA1 1 +TAF12 6 +TAF13 0 +TAF1A 5 +TAF5L 1 +TAGLN2 0 +TAL1 0 +TARBP1 0 +TAS1R2 0 +TBX15 0 +TCEA3 0 +TCEB3-AS1 0 +TCHH 0 +TCHHL1 0 +TCTEX1D4 0 +TDRKH 0 +TEDDM1 0 +TESK2 1 +TFB2M 0 +TGFB2-AS1 0 +TGFBR3 0 +THBS3 0 +THEM4 0 +THEM5 0 +TLR5 0 +TM2D1 0 +TMCO1 3 +TMCO4 0 +TMED5 2 +TMEM200B 0 +TMEM206 0 +TMEM234 0 +TMEM240 0 +TMEM51-AS1 0 +TMEM52 0 +TMEM53 0 +TMEM54 0 +TMEM59 6 +TMEM63A 1 +TMEM81 0 +TMEM9 4 +TMOD4 0 +TNFRSF18 0 +TNFRSF25 0 +TNFRSF4 0 +TNFRSF9 0 +TNFSF18 0 +TNFSF4 0 +TNNI1 1 +TNNT2 0 +TNR 0 +TOMM20 4 +TOR1AIP2 0 +TP53BP2 1 +TP73-AS1 2 +TPM3 6 +TPR 7 +TRABD2B 0 +TRAPPC3 0 +TRIM11 4 +TRIM17 0 +TRIM33 31 +TRIM45 2 +TRIM62 3 +TRIM63 0 +TRIT1 1 +TRMT1L 3 +TSPAN2 0 +TSTD1 0 +TTC13 1 +TTC22 0 +TTC34 0 +TTC39A 1 +TTLL7 0 +TXNDC12 1 +UBE2J2 1 +UBE2Q1 2 +UBE2T 3 +UBQLN4 0 +UBR4 4 +UBXN10-AS1 0 +UBXN11 8 +UCHL5 1 +UOX 0 +UQCRHL 0 +USF1 0 +USH2A 0 +USP24 0 +USP33 1 +USP48 1 +UTS2 0 +VAMP4 1 +VAV3 5 +VHLL 0 +VPS72 2 +VSIG8 0 +VTCN1 0 +WARS2 3 +WASF2 11 +WASH7P 0 +WDR26 19 +WDR47 0 +WDR77 0 +WDR78 0 +WLS 4 +WNT4 0 +WNT9A 0 +WRAP73 0 +XCL2 0 +YARS 0 +YIPF1 0 +YOD1 0 +YRDC 0 +YY1AP1 7 +ZBTB17 3 +ZBTB41 0 +ZBTB8OS 0 +ZCCHC11 0 +ZMYM6 1 +ZMYM6NB 0 +ZMYND12 0 +ZNF124 0 +ZNF281 30 +ZNF436 0 +ZNF496 0 +ZNF644 1 +ZNF648 0 +ZNF669 0 +ZNF670 0 +ZNF670-ZNF695 0 +ZNF683 0 +ZNF692 0 +ZNF695 1 +ZNF697 1 +ZNF847P 0 +ZNHIT6 0 +ZP4 10 +ZRANB2 3 +ZSWIM5 0 +ZZZ3 1 +A1CF 1 +ABI1 4 +ABLIM1 1 +ACBD5 0 +ACBD7 0 +ACTA2 0 +ACTR1A 1 +ADAM12 1 +ADAM8 0 +ADARB2 1 +ADD3-AS1 0 +AFAP1L2 1 +AGAP4 0 +AGAP5 0 +AGAP7P 0 +AGAP9 0 +AIFM2 0 +AKR1C2 0 +AKR1C6P 0 +AKR1CL1 0 +ALDH18A1 2 +ANK3 5 +ANKRD1 0 +ANKRD16 0 +ANKRD22 2 +ANKRD26 0 +ANTXRLP1 0 +ANXA11 1 +ANXA7 68 +ANXA8 0 +AP3M1 2 +ARHGAP12 3 +ARHGAP19 9 +ARHGAP19-SLIT1 0 +ARHGAP21 1 +ARHGAP22 0 +ARL3 1 +ARMC4 0 +ASAH2 0 +ASB13 0 +ASCC1 0 +ATAD1 3 +ATE1 0 +ATOH7 0 +AVPI1 0 +BBIP1 2 +BEND7 0 +BLNK 1 +BLOC1S2 0 +BMS1P4 0 +BMS1P5 0 +BMS1P6 0 +BNIP3 2 +C10orf10 0 +C10orf105 0 +C10orf111 0 +C10orf113 0 +C10orf115 0 +C10orf120 0 +C10orf128 0 +C10orf25 0 +C10orf40 0 +C10orf54 0 +C10orf55 0 +C10orf67 0 +C10orf71-AS1 0 +C10orf76 2 +C10orf82 0 +C10orf88 0 +C10orf90 0 +C10orf95 0 +C1QL3 0 +CACUL1 16 +CALHM1 0 +CALHM2 0 +CALHM3 0 +CALML3-AS1 0 +CALML5 0 +CALY 0 +CAMK2G 7 +CASC10 0 +CCDC147-AS1 0 +CCDC186 8 +CCDC3 2 +CCDC6 22 +CCNYL2 0 +CDNF 0 +CELF2-AS2 0 +CFAP43 0 +CFAP46 1 +CH25H 0 +CHST15 2 +CHUK 0 +CLRN3 0 +COL17A1 0 +COMTD1 0 +COX15 1 +CPEB3 0 +CPN1 0 +CPXM2 0 +CRTAC1 0 +CSTF2T 1 +CTBP2 1 +CTGLF12P 0 +CTNNA3 2 +CUBN 0 +CUEDC2 0 +CUL2 0 +CUZD1 0 +CWF19L1 1 +CXCL12 0 +CYP17A1 0 +CYP2C8 0 +DCLRE1A 6 +DCLRE1C 2 +DHX32 3 +DIP2C 2 +DLG5 3 +DNA2 2 +DNAJB12 0 +DNAJC1 1 +DNAJC12 0 +DNAJC9 27 +DNMBP 4 +DRGX 0 +DUPD1 0 +DUSP13 0 +DYDC1 0 +EBF3 0 +EBLN1 37 +ECD 1 +ECHS1 0 +EDRF1-AS1 0 +EGR2 0 +EIF3A 3 +EMX2OS 0 +ENKUR 0 +ENTPD1-AS1 0 +EPC1 40 +ERCC6 1 +ERCC6-PGBD3 0 +ERLIN1 3 +EXOSC1 2 +FAM107B 2 +FAM13C 0 +FAM170B 0 +FAM171A1 0 +FAM188A 19 +FAM196A 0 +FAM204A 2 +FAM21EP 0 +FAM24B 0 +FAM24B-CUZD1 0 +FAM25C 0 +FAM25G 0 +FAM53B 1 +FANK1-AS1 0 +FAS-AS1 0 +FBXW4 0 +FGF8 0 +FGFBP3 0 +FGFR2 2 +FLJ37035 0 +FLJ37201 0 +FRA10AC1 1 +FRAT2 0 +FRG2B 0 +FRMD4A 1 +FRMPD2 0 +FRMPD2B 0 +FUOM 0 +FZD8 0 +GATA3-AS1 0 +GDF10 0 +GDF2 0 +GDI2 47 +GFRA1 0 +GLUD1 0 +GOLGA2P6 0 +GOT1 3 +GPAM 1 +GPR158-AS1 0 +GRID1 0 +GUCY2GP 0 +HECTD2-AS1 0 +HERC4 2 +HNRNPA1P33 0 +HNRNPA3P1 0 +HNRNPF 25 +HPS1 1 +HPSE2 2 +HSPA12A 0 +HTR7 0 +IDE 6 +IDI1 0 +IDI2 0 +IKZF5 0 +IL15RA 0 +IL2RA 0 +IPMK 0 +ITGA8 0 +ITGB1 1 +ITIH5 3 +ITPRIP 0 +JMJD1C 3 +KCNIP2 0 +KCNMA1 0 +KIAA1462 0 +KIAA1598 2 +KIF5B 9 +KIN 0 +KLF6 0 +KLLN 0 +LARP4B 1 +LBX1 0 +LDB1 0 +LINC00202-1 0 +LINC00601 0 +LINC00700 0 +LINC00701 0 +LINC00702 0 +LINC00704 0 +LINC00706 0 +LINC00708 0 +LINC00710 0 +LINC00837 0 +LINC00838 0 +LINC00842 0 +LINC00864 0 +LINC00866 0 +LINC00948 0 +LINC00959 1 +LINC01164 0 +LINC01166 0 +LINC01375 0 +LINC01435 0 +LINC01468 0 +LINC01475 0 +LIPA 0 +LOC100128127 0 +LOC100499489 0 +LOC101060691 0 +LOC101926942 0 +LOC101927049 0 +LOC101927419 0 +LOC101927523 0 +LOC101927549 0 +LOC101928272 0 +LOC101928322 0 +LOC101928834 0 +LOC101928961 0 +LOC101928994 0 +LOC101929073 0 +LOC101929397 0 +LOC101929431 0 +LOC101929574 0 +LOC101929624 0 +LOC101929646 0 +LOC102723377 0 +LOC102723439 0 +LOC102724323 0 +LOC102724341 0 +LOC102724719 0 +LOC283045 0 +LOC441666 0 +LOXL4 0 +LRIT1 0 +LRIT2 0 +LRRC18 0 +LRRC20 0 +LRRC37A6P 0 +LYZL2 0 +MARCH8 1 +MAT1A 1 +MBL2 0 +MCMBP 4 +METTL10 0 +MGEA5 1 +MICU1 2 +MIR107 0 +MIR1256 0 +MIR1287 0 +MIR1296 0 +MIR1307 0 +MIR1915 0 +MIR202 0 +MIR202HG 0 +MIR2110 0 +MIR3155B 0 +MIR3157 0 +MIR3158-2 0 +MIR346 0 +MIR3663 0 +MIR3663HG 0 +MIR378C 0 +MIR3924 0 +MIR3944 0 +MIR4294 0 +MIR4296 0 +MIR4297 0 +MIR4482 0 +MIR4483 0 +MIR4679-2 0 +MIR4683 0 +MIR4685 0 +MIR5699 0 +MIR604 0 +MIR6072 0 +MIR609 0 +MIR6715B 0 +MIR7162 0 +MIR8086 0 +MIR936 0 +MIR938 0 +MKI67 1 +MKX 0 +MMP21 0 +MMRN2 0 +MMS19 0 +MORN4 1 +MPP7 2 +MRPL43 1 +MRPS16 1 +MSS51 0 +MTPAP 3 +MTRNR2L7 0 +MYOF 2 +MYOZ1 0 +NDST2 0 +NDUFB8 5 +NEBL 3 +NEUROG3 0 +NKX1-2 0 +NKX6-2 0 +NMT2 0 +NOC3L 14 +NODAL 0 +NPFFR1 0 +NPM3 5 +NRAP 2 +NRG3-AS1 0 +NRP1 0 +NSMCE4A 14 +NSUN6 11 +NT5C2 1 +NUDT5 1 +NUDT9P1 0 +NUTM2A-AS1 0 +OAT 7 +OBFC1 0 +OGDHL 0 +OPALIN 0 +OR13A1 0 +P4HA1 2 +PANK1 0 +PARD3 19 +PARG 2 +PARGP1 0 +PBLD 0 +PCBD1 0 +PCDH15 2 +PCGF6 4 +PDCD4-AS1 0 +PDLIM1 7 +PDZD7 1 +PDZD8 1 +PGBD3 0 +PHYH 0 +PIK3AP1 0 +PIP4K2A 5 +PIPSL 0 +PITRM1 6 +PITX3 0 +PKD2L1 0 +PLA2G12B 0 +PLCE1-AS1 0 +POLL 1 +POLR3A 2 +PPA1 0 +PPIAP30 0 +PPP1R3C 6 +PPP3CB 1 +PRDX3 3 +PRF1 0 +PRKCQ 1 +PRKG1-AS1 0 +PRLHR 0 +PROSER2-AS1 0 +PRTFDC1 0 +PSAP 0 +PSD 0 +PTCHD3 0 +PTPLA 0 +PTPN20B 0 +PYROXD2 0 +RAB11FIP2 0 +RASGEF1A 0 +RBP3 0 +RBP4 0 +RGS10 0 +RHOBTB1 0 +RNLS 0 +RPL13AP6 0 +RRP12 0 +RSU1 3 +RSU1P2 0 +RTKN2 3 +RUFY2 0 +SAR1A 2 +SEC31B 0 +SEPHS1 0 +SEPT7P9 0 +SFMBT2 0 +SFRP5 0 +SFTA1P 0 +SFTPA2 0 +SFTPD 0 +SFXN4 0 +SGMS1 0 +SH3PXD2A 0 +SKIDA1 0 +SLC16A12 0 +SLC16A9 0 +SLC25A16 1 +SLC25A28 0 +SLC39A12-AS1 0 +SLIT1 0 +SMNDC1 2 +SNORA12 0 +SNORA19 0 +SORBS1 1 +SORCS1 0 +SORCS3-AS1 0 +SPOCK2 0 +SPRN 0 +SPRNP1 0 +ST8SIA6 0 +STAM-AS1 0 +STK32C 0 +SVIL 0 +SYCE1 0 +SYNPO2L 0 +SYT15 0 +TACR2 0 +TBATA 0 +TCERG1L 0 +TCTN3 0 +TEX36 0 +TIAL1 0 +TIMM23 4 +TLL2 0 +TLX1NB 0 +TM9SF3 3 +TMEM254-AS1 0 +TMEM26 0 +TMEM72-AS1 0 +TNKS2-AS1 0 +TRDMT1 1 +TTC18 0 +TUBAL3 6 +TUBB8 682 +TUBGCP2 0 +TYSND1 0 +UCMA 0 +UNC5B-AS1 0 +UPF2 6 +UROS 0 +USMG5 0 +USP54 3 +USP6NL 2 +VAX1 0 +VIM-AS1 0 +VSTM4 0 +WAC-AS1 0 +WAPAL 7 +WDR11-AS1 0 +XPNPEP1 0 +YME1L1 2 +ZCCHC24 0 +ZDHHC6 0 +ZEB1-AS1 0 +ZFAND4 0 +ZMIZ1-AS1 0 +ZNF239 1 +ZNF248 0 +ZNF25 1 +ZNF32 0 +ZNF33B 0 +ZNF33BP1 0 +ZNF37BP 0 +ZNF438 0 +ZNF503 0 +ZSWIM8-AS1 0 +ZWINT 4 +ABCC8 0 +ABTB2 3 +ACP2 0 +ACRV1 0 +ACY3 0 +ADAMTS8 0 +AGBL2 0 +AHNAK 0 +ALDH3B2 0 +ALG1L9P 0 +ALG8 0 +ALG9 0 +ALKBH3-AS1 0 +ALKBH8 0 +ALX4 0 +AMBRA1 9 +AMICA1 0 +ANAPC15 1 +ANGPTL5 0 +ANO1-AS2 0 +ANO9 0 +AP5B1 0 +APBB1 0 +APIP 0 +APLNR 0 +APOA1 0 +APOA4 0 +APOA5 0 +ARAP1 0 +ARFGAP2 0 +ARFIP2 0 +ARHGAP1 0 +ARHGAP20 0 +ARHGAP32 10 +ARRB1 0 +ART5 0 +ASCL2 0 +ASCL3 0 +ATG2A 0 +ATL3 4 +B3GAT1 0 +B3GAT3 0 +B3GNT1 0 +BACE1 2 +BAD 0 +BATF2 0 +BCL9L 1 +BDNF 1 +BET1L 0 +BGLT3 0 +BLID 0 +BRMS1 0 +BSCL2 2 +BSX 0 +BTBD10 12 +BTBD18 0 +BTG4 82 +BUD13 7 +C11orf16 0 +C11orf21 0 +C11orf24 2 +C11orf40 4 +C11orf45 0 +C11orf48 0 +C11orf65 1 +C11orf68 0 +C11orf71 0 +C11orf85 0 +C11orf91 0 +C11orf94 0 +C11orf95 0 +C1QTNF4 0 +C1QTNF5 0 +C2CD3 3 +CABP2 0 +CADM1 0 +CALCA 0 +CARD16 0 +CARD17 0 +CARD18 0 +CARS 4 +CASC23 0 +CASP1 0 +CASP12 0 +CASP4 0 +CASP5 0 +CATSPER1 0 +CCDC153 0 +CCDC179 0 +CCDC34 1 +CCDC73 3 +CCDC82 4 +CCDC87 0 +CCDC89 1 +CCDC90B 0 +CD248 0 +CD3D 0 +CD59 2 +CD81-AS1 0 +CDC42BPG 0 +CDCA5 1 +CDHR5 0 +CDK2AP2 24 +CDKN1C 0 +CDON 1 +CELF1 22 +CEND1 0 +CFL1 27 +CHID1 0 +CHKA 0 +CHORDC1 0 +CHRDL2 0 +CHRM1 0 +CHRM4 0 +CHRNA10 0 +CHST1 0 +CKAP5 12 +CLCF1 0 +CLMP 0 +CLNS1A 3 +CLPB 0 +COA4 0 +COLCA1 0 +COMMD9 1 +COPB1 0 +CORO1B 0 +CPSF7 0 +CPT1A 0 +CREBZF 0 +CRYAB 0 +CSNK2A3 1 +CSRP3 0 +CSTF3 2 +CTSC 5 +CTSD 0 +CTSF 0 +CWC15 7 +CWF19L2 10 +CYB561A3 0 +CYB5R2 0 +CYP2R1 0 +DBX1 0 +DCDC1 0 +DCDC5 0 +DCHS1 0 +DCUN1D5 4 +DDB1 3 +DDX6 4 +DEAF1 2 +DENND5A 1 +DHCR7 5 +DKFZP434K028 0 +DKK3 0 +DLG2 0 +DOC2GP 0 +DPAGT1 0 +DRD2 0 +DSCAML1 1 +DUSP8 0 +E2F8 0 +EEF1G 17 +EFEMP2 0 +EHD1 0 +EIF1AD 0 +EIF4G2 4 +ELF5 0 +EML3 0 +ESAM 0 +ETS1 0 +EXPH5 0 +FADS1 2 +FADS3 3 +FAM160A2 1 +FAM168A 1 +FAM181B 1 +FAM76B 0 +FAM86C2P 0 +FAM99B 0 +FANCF 0 +FAU 0 +FBXO3 0 +FCHSD2 0 +FDXACB1 0 +FEZ1 0 +FGF19 0 +FGF3 0 +FGF4 0 +FIBP 0 +FLJ42102 0 +FNBP4 2 +FOLH1 0 +FOSL1 0 +FTH1 0 +FXYD2 0 +FXYD6 0 +FXYD6-FXYD2 0 +FZD4 3 +GAB2 9 +GAL3ST3 0 +GALNT18 0 +GANAB 0 +GDPD4 0 +GDPD5 0 +GIF 0 +GLYAT 0 +GLYATL2 0 +GPHA2 1 +GPR152 0 +GPR83 0 +GRM5 0 +GUCY1A2 1 +GUCY2EP 0 +GVINP1 0 +H19 0 +H2AFX 0 +HARBI1 0 +HBB 0 +HBBP1 0 +HBD 0 +HBE1 0 +HBG1 0 +HBG2 0 +HEPACAM 0 +HNRNPKP3 0 +HNRNPUL2 2 +HNRNPUL2-BSCL2 0 +HPS5 3 +HPX 0 +HRAS 0 +HRASLS2 0 +HRASLS5 1 +HSPA8 319 +HYOU1 3 +IFITM10 0 +IFITM3 0 +IFITM5 0 +IFT46 0 +IGF2 0 +IGSF22 0 +IGSF9B 0 +IL18 0 +IMMP1L 0 +INS 0 +INS-IGF2 0 +INTS4 0 +INTS5 2 +IRF7 0 +JRKL-AS1 0 +KBTBD3 1 +KBTBD4 0 +KCNA4 0 +KCNE3 0 +KCNJ1 0 +KCNJ11 0 +KCNK7 0 +KCNQ1OT1 0 +KCTD14 0 +KCTD21 1 +KDELC2 0 +KIF18A 3 +KIRREL3 0 +KLHL35 0 +KRTAP5-1 0 +KRTAP5-11 0 +KRTAP5-2 0 +KRTAP5-3 0 +KRTAP5-4 0 +LAMTOR1 0 +LGR4 0 +LIN7C 1 +LINC00678 0 +LINC00900 0 +LINC00958 0 +LINC01001 0 +LINC01395 0 +LINC01495 0 +LIPT2 0 +LMNTD2 0 +LMO1 1 +LMO2 0 +LOC100126784 0 +LOC100131626 0 +LOC100132078 0 +LOC100133315 0 +LOC100506258 0 +LOC100506675 0 +LOC100507144 0 +LOC100507205 0 +LOC100507431 0 +LOC100652768 0 +LOC101927204 0 +LOC101928069 0 +LOC101928443 0 +LOC101928837 0 +LOC101928847 0 +LOC101928865 0 +LOC101928940 0 +LOC101928943 0 +LOC101928944 0 +LOC101928989 0 +LOC101929089 0 +LOC101929653 0 +LOC102288414 0 +LOC102723895 0 +LOC103312105 0 +LOC103611081 0 +LOC143666 0 +LOC283194 0 +LOC283214 0 +LOC283299 6 +LOC338694 0 +LOC387810 0 +LOC440028 0 +LOC441601 0 +LOC643733 0 +LOC644656 0 +LOC646522 0 +LOC649133 0 +LPXN 0 +LRP4 0 +LRRC32 0 +LRRC4C 0 +LRRN4CL 0 +LTBP3 0 +LYVE1 0 +MACROD1 0 +MAML2 1 +MAP3K11 0 +MAP4K2 1 +MAP6 0 +MCAM 2 +ME3 0 +MED19 8 +MEN1 1 +MFRP 0 +MIR100 0 +MIR100HG 0 +MIR125B1 0 +MIR1304 0 +MIR139 0 +MIR1908 0 +MIR192 0 +MIR194-2 0 +MIR210 0 +MIR210HG 0 +MIR3160-1 0 +MIR3162 0 +MIR3165 0 +MIR3167 0 +MIR326 0 +MIR3654 0 +MIR3664 0 +MIR3680-1 0 +MIR3680-2 0 +MIR3920 0 +MIR4298 0 +MIR4299 0 +MIR4300 0 +MIR4301 0 +MIR4485 0 +MIR4490 0 +MIR4493 0 +MIR4694 0 +MIR4696 0 +MIR4697 0 +MIR4697HG 0 +MIR483 0 +MIR548BA 0 +MIR5579 0 +MIR5582 0 +MIR5691 0 +MIR6073 0 +MIR611 0 +MIR6503 0 +MIR6514 0 +MIR6745 0 +MIR6746 0 +MIR6747 0 +MIR6749 0 +MIR675 0 +MIR6750 0 +MIR6751 0 +MIR6756 0 +MIR708 0 +MIR7154 0 +MIR7155 0 +MIR7976 0 +MIR8054 0 +MIR8068 0 +MIR8070 0 +MIR8087 0 +MIRLET7A2 0 +MMP1 0 +MMP10 0 +MMP12 0 +MMP13 0 +MMP20 0 +MMP27 0 +MMP3 0 +MMP7 0 +MMP8 0 +MOB2 0 +MPEG1 0 +MPPED2 0 +MPZL2 0 +MPZL3 0 +MRE11A 6 +MRGPRD 0 +MRGPRE 0 +MRGPRF 0 +MRGPRG 0 +MRGPRX1 0 +MRGPRX2 0 +MRPL11 1 +MRPL16 0 +MRPL17 0 +MRPL21 1 +MRPL23-AS1 0 +MRVI1 1 +MS4A6A 0 +MSANTD2 0 +MSANTD4 1 +MTA2 0 +MTCH2 1 +MTL5 0 +MTMR2 5 +MTRNR2L8 0 +MUC15 0 +MUC6 0 +MYBPC3 0 +NAALADL1 0 +NAP1L4 2 +NARS2 2 +NAV2-AS2 0 +NAV2-AS4 0 +NAV2-AS5 0 +NCAM1-AS1 0 +NCAPD3 1 +NDUFC2 0 +NDUFC2-KCTD14 0 +NFRKB 9 +NLRP10 0 +NOX4 0 +NPAT 18 +NRIP3 4 +NRXN2 0 +NUDT8 0 +NUMA1 0 +NUP160 1 +NUP98 1 +NXF1 1 +NXPE1 0 +NXPE4 0 +OPCML 0 +OR10A3 0 +OR10A6 0 +OR10AG1 0 +OR10G7 0 +OR10Q1 0 +OR10S1 0 +OR10V1 0 +OR10W1 0 +OR1S2 0 +OR2AG2 0 +OR2AT4 0 +OR2D2 0 +OR4A5 0 +OR4C11 0 +OR4C12 0 +OR4C45 0 +OR51A2 0 +OR51A4 0 +OR51B2 0 +OR51B4 0 +OR51B5 2 +OR51E2 0 +OR51F1 0 +OR51G1 0 +OR51G2 0 +OR51I1 0 +OR51S1 0 +OR51V1 0 +OR52A1 0 +OR52A5 0 +OR52B2 0 +OR52B4 0 +OR52E2 0 +OR52E6 0 +OR52E8 0 +OR52H1 0 +OR52L1 0 +OR52N1 0 +OR52N5 0 +OR52R1 0 +OR56A1 0 +OR56A4 0 +OR56A5 0 +OR5A2 0 +OR5AP2 0 +OR5B12 0 +OR5B17 0 +OR5B2 0 +OR5B21 0 +OR5B3 0 +OR5F1 0 +OR5I1 0 +OR5M1 0 +OR5M10 0 +OR5M11 0 +OR5M3 0 +OR5M8 0 +OR5M9 0 +OR5P2 0 +OR5P3 0 +OR5R1 0 +OR5T2 0 +OR5W2 0 +OR6A2 0 +OR6M1 0 +OR6T1 0 +OR6X1 0 +OR7E12P 0 +OR7E2P 0 +OR7E5P 0 +OR8B12 0 +OR8B2 0 +OR8B3 0 +OR8B4 0 +OR8B8 0 +OR8D1 0 +OR8D2 0 +OR8H1 0 +OR8J3 0 +OR8K5 0 +OR9G4 0 +OR9I1 0 +ORAOV1 2 +OSBP 10 +OSBPL5 0 +OVCH2 0 +OVOL1-AS1 0 +P4HA3 0 +PACSIN3 0 +PAK1 5 +PAMR1 1 +PATE2 0 +PATL1 3 +PAX6 0 +PC 0 +PCSK7 0 +PDDC1 0 +PDE2A 0 +PDGFD 0 +PEX16 0 +PGM2L1 0 +PGR 0 +PHF21A 0 +PHLDA2 0 +PHOX2A 0 +PICALM 3 +PIDD1 0 +PIH1D2 1 +PIK3C2A 16 +PITPNM1 0 +PKNOX2-AS1 0 +PLA2G16 2 +PLEKHA7 3 +PLET1 0 +POLD4 0 +POLR2L 0 +POU2AF1 0 +PPP1CA 2 +PPP1R14B 0 +PPP2R1B 1 +PRCP 0 +PRDM10 13 +PRG2 0 +PRG3 0 +PRKCDBP 0 +PRKRIR 1 +PRPF19 0 +PSMA1 0 +PSMC3 0 +PTGDR2 0 +PTH 0 +PTPN5 2 +PTPRCAP 0 +PUS3 1 +PVRL1 0 +PYGM 0 +RAB30 0 +RAB38 0 +RAB3IL1 0 +RAB6A 0 +RAG2 0 +RAPSN 0 +RASGRP2 0 +RBM4B 2 +RCOR2 0 +RDX 8 +RELA 3 +RHOG 1 +RIC3 0 +RIN1 0 +RNASEH2C 0 +RNF141 0 +RNH1 0 +RNU6-83P 0 +ROBO4 0 +RPL23AP64 0 +RPS13 39 +RPS25 10 +RPUSD4 4 +RRAS2 4 +RRP8 1 +RSF1 0 +SAA2 0 +SAA2-SAA4 0 +SAA3P 0 +SAA4 0 +SAAL1 0 +SBF2 0 +SCGB1D4 0 +SCN2B 0 +SCN3B 0 +SCN4B 0 +SCT 0 +SCUBE2 0 +SENCR 0 +SERGEF 1 +SESN3 0 +SF1 5 +SHANK2 0 +SIAE 0 +SIGIRR 0 +SIK3 0 +SIRT3 0 +SLC15A3 0 +SLC1A2 0 +SLC22A18AS 0 +SLC22A24 0 +SLC22A25 0 +SLC22A6 0 +SLC22A8 0 +SLC25A22 1 +SLC25A45 0 +SLC29A2 0 +SLC35F2 1 +SLC36A4 0 +SLC37A4 0 +SLC43A1 0 +SLC43A3 9 +SLC5A12 0 +SLN 0 +SMCO4 3 +SNHG1 0 +SNORA1 0 +SNORA18 0 +SNORA25 0 +SNORA32 0 +SNORA40 0 +SNORA54 0 +SNORA70E 0 +SNORA8 0 +SNORD22 0 +SNORD25 0 +SNORD26 0 +SNORD27 0 +SNORD28 0 +SNORD29 0 +SNORD30 0 +SNORD31 0 +SNORD5 0 +SNORD6 0 +SNORD67 0 +SNORD97 0 +SNX19 1 +SOX6 0 +SPATA19 0 +SPI1 0 +SPTBN2 0 +SPTY2D1 0 +SRPR 4 +SSRP1 3 +SSSCA1-AS1 0 +ST3GAL4-AS1 0 +ST5 0 +STARD10 0 +STK33 0 +STX5 0 +SUV420H1 0 +SVIP 3 +SYT13 0 +SYT7 0 +SYTL2 9 +SYVN1 0 +TAF10 0 +TAF1D 3 +TBX10 0 +TCN1 0 +TENM4 1 +TH 0 +THY1 0 +THYN1 11 +TIMM10 0 +TIMM8B 0 +TMEM123 3 +TMEM134 0 +TMEM218 1 +TMEM223 1 +TMEM225 0 +TMEM258 0 +TMEM262 0 +TMEM41B 0 +TMEM9B 1 +TMPRSS13 0 +TMPRSS4-AS1 0 +TMPRSS5 0 +TNKS1BP1 0 +TOLLIP 0 +TP53AIP1 0 +TP53I11 0 +TPH1 0 +TPP1 1 +TRAF6 1 +TREH 0 +TRIM21 0 +TRIM29 1 +TRIM3 1 +TRIM49 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM5 0 +TRIM51HP 0 +TRIM53AP 0 +TRIM64B 0 +TRIM64C 0 +TRIM66 0 +TRIM68 0 +TRMT112 13 +TRPC6 0 +TRPM5 0 +TRPT1 0 +TSG101 12 +TUT1 0 +UBE2L6 0 +UBQLN3 0 +UBQLNL 0 +UBXN1 1 +UCP2 3 +UCP3 0 +UEVLD 0 +UNC93B1 0 +USH1C 0 +USP2 44 +USP28 0 +VPS37C 0 +VSIG2 0 +VSTM5 0 +VWCE 0 +WDR74 0 +WNT11 0 +WT1 0 +XRRA1 1 +YIF1A 0 +YPEL4 0 +ZBED5 0 +ZBTB3 0 +ZBTB44 0 +ZDHHC24 0 +ZNF195 1 +ZNF202 1 +ZNF214 2 +ZNF705E 0 +ZNHIT2 0 +ZPR1 0 +ZW10 0 +A2M 0 +A2MP1 0 +AAAS 0 +ABCB9 2 +ABCC9 0 +ABCD2 0 +ACRBP 1 +ADAMTS20 0 +ADCY6 0 +AGAP2 0 +AICDA 0 +AKAP3 0 +ALDH1L2 0 +ALKBH2 5 +AMIGO2 0 +AMN1 1 +ANAPC5 0 +ANAPC7 1 +ANHX 0 +ANKLE2 1 +ANKRD52 1 +ANKS1B 0 +ANO2 0 +APOBEC1 0 +APOF 0 +APPL2 0 +ARF3 15 +ARHGAP9 0 +ARHGDIB 0 +ARL1 0 +ARNTL2-AS1 0 +ARPC3 0 +ART4 0 +ASB8 15 +ASUN 1 +ATF7 4 +ATP2B1 41 +ATP5B 11 +ATP5G2 6 +ATXN2 20 +AVIL 0 +AVPR1A 0 +B4GALNT1 0 +BAZ2A 24 +BBS10 0 +BCAT1 0 +BCDIN3D 0 +BEST3 0 +BHLHE41 0 +BIN2 0 +BRAP 3 +BTG1 1 +C12orf36 0 +C12orf4 4 +C12orf42 0 +C12orf43 3 +C12orf49 1 +C12orf50 0 +C12orf56 0 +C12orf66 0 +C12orf71 0 +C12orf73 0 +C12orf76 0 +C12orf77 0 +C12orf79 0 +C12orf80 0 +C1QL4 0 +C1R 0 +C1RL 0 +C2CD5 2 +C3AR1 0 +CACNA1C-AS1 0 +CACNA1C-AS2 0 +CACNA1C-AS4 0 +CACNA2D4 0 +CALCOCO1 0 +CAMKK2 0 +CAPRIN2 3 +CAPS2 0 +CASC1 3 +CBX5 8 +CCDC38 0 +CCDC53 0 +CCDC59 19 +CCDC92 0 +CCER1 0 +CCNT1 1 +CD163 0 +CD163L1 0 +CD27-AS1 0 +CD63 0 +CD69 0 +CDCA3 5 +CDK17 1 +CDK2AP1 0 +CDK4 0 +CELA1 0 +CEP290 0 +CEP83 2 +CERS5 0 +CHD4 25 +CHFR 0 +CISTR 0 +CIT 4 +CKAP4 1 +CLEC1A 0 +CLEC1B 0 +CLEC2A 0 +CLEC2B 0 +CLEC4C 0 +CLEC4E 0 +CLEC7A 0 +CLECL1 0 +CLIP1 6 +CLLU1OS 0 +CMKLR1 1 +CNPY2 0 +COL2A1 0 +COQ5 0 +CORO1C 4 +CPM 0 +CPNE8 0 +CRACR2A 0 +CRY1 9 +CS 26 +CSAD 0 +CSRNP2 3 +CSRP2 9 +CTDSP2 3 +CYP27B1 0 +DBX2 0 +DCD 0 +DCN 0 +DCP1B 4 +DCTN2 0 +DDIT3 2 +DDN 0 +DDX11-AS1 0 +DDX12P 0 +DDX23 2 +DDX51 2 +DDX54 3 +DENND5B 2 +DEPDC4 0 +DHH 0 +DHX37 0 +DIABLO 3 +DNAJC14 2 +DPY19L2 0 +DUSP16 2 +DUSP6 0 +DYNLL1-AS1 1 +E2F7 0 +EEA1 2 +EIF2B1 2 +ENDOU 0 +EPS8 2 +EPYC 0 +ERGIC2 0 +ERP27 0 +FAIM2 0 +FAM109A 0 +FAM186A 0 +FAM186B 0 +FAM19A2 4 +FAM222A-AS1 1 +FAM60A 1 +FAM86FP 0 +FAM90A1 0 +FBXL14 0 +FBXO21 0 +FGD6 1 +FGF23 0 +FGF6 0 +FIGNL2 0 +FKBP11 0 +FMNL3 0 +FOXM1 0 +FOXN4 0 +FZD10-AS1 0 +GALNT4 0 +GALNT6 0 +GALNT9 0 +GCN1L1 1 +GDF3 0 +GIT2 22 +GLS2 0 +GLT8D2 0 +GLTP 0 +GLYCAM1 0 +GNN 0 +GNPTAB 5 +GNS 5 +GOLGA2P5 2 +GOLGA3 9 +GPN3 3 +GPR19 0 +GPR84 0 +GPRC5D 0 +GRIN2B 2 +GRIP1 3 +GSG1 0 +GTSF1 17 +GUCY2C 0 +GXYLT1 0 +GYS2 0 +H3F3C 4 +HAL 0 +HCAR1 0 +HCAR2 0 +HCAR3 0 +HDAC7 0 +HEBP1 0 +HECTD4 0 +HIST4H4 0 +HNF1A-AS1 0 +HOTAIR 0 +HOXC-AS1 0 +HOXC-AS2 0 +HOXC-AS3 0 +HOXC13-AS 0 +HPD 0 +HRK 0 +HVCN1 2 +IFFO1 1 +IFNG 0 +IGF1 0 +IKBIP 0 +IL22 0 +IL26 0 +IL31 0 +ING4 0 +IPO8 62 +IQCD 1 +ITGA5 0 +ITGA7 0 +ITGB7 0 +ITPR2 0 +KANSL2 1 +KCNC2 0 +KCNJ8 0 +KCTD10 10 +KDM2B 2 +KDM5A 15 +KERA 0 +KIF21A 0 +KITLG 0 +KLRAP1 0 +KLRB1 0 +KLRC1 0 +KLRC2 0 +KLRC3 0 +KLRC4 0 +KLRC4-KLRK1 0 +KLRK1 0 +KMT2D 3 +KRAS 1 +KRR1 17 +KRT1 0 +KRT2 0 +KRT3 0 +KRT4 0 +KRT5 0 +KRT6A 0 +KRT6B 0 +KRT6C 0 +KRT71 0 +KRT72 0 +KRT73 0 +KRT74 0 +KRT75 0 +KRT76 0 +KRT77 0 +KRT78 0 +KRT79 0 +KRT8 0 +KRT80 1 +KRT81 0 +KRT82 0 +KRT83 0 +KRT84 0 +KRT85 0 +KSR2 0 +LACRT 0 +LALBA 0 +LDHB 0 +LHX5 0 +LIMA1 145 +LIN7A 0 +LINC00477 0 +LINC00485 0 +LINC00612 0 +LINC00934 0 +LINC00937 0 +LINC00938 0 +LINC00939 0 +LINC00940 0 +LINC00944 0 +LINC01089 0 +LINC01234 0 +LINC01465 0 +LINC01481 0 +LINC01486 0 +LINC01498 0 +LLPH 0 +LMBR1L 1 +LMNTD1 0 +LMO3 3 +LOC100129940 0 +LOC100130075 0 +LOC100190940 0 +LOC100240735 0 +LOC100287944 0 +LOC100505978 0 +LOC100506159 0 +LOC100506551 0 +LOC100506606 0 +LOC100506844 1 +LOC100507065 0 +LOC100507195 0 +LOC100507250 0 +LOC100507377 0 +LOC100996671 0 +LOC100996679 0 +LOC101927058 0 +LOC101927267 0 +LOC101927318 0 +LOC101927415 0 +LOC101927583 0 +LOC101927592 0 +LOC101927616 0 +LOC101927637 0 +LOC101927653 0 +LOC101927901 0 +LOC101928002 0 +LOC101928030 0 +LOC101928597 0 +LOC101928731 0 +LOC101929549 0 +LOC101929584 0 +LOC102723544 0 +LOC102724020 0 +LOC102724421 0 +LOC283332 0 +LOC283335 0 +LOC283440 0 +LOC414300 0 +LOC440117 0 +LOC574538 0 +LOC643339 0 +LOC643711 0 +LOC643770 0 +LOC728084 0 +LOC728739 0 +LOH12CR2 0 +LPAR5 0 +LPCAT3 0 +LRCOL1 0 +LRIG3 3 +LRP6 5 +LRRC10 0 +LTA4H 1 +LUM 0 +M6PR 2 +MAGOHB 0 +MANSC1 0 +MANSC4 0 +MAP3K12 0 +MAPKAPK5-AS1 0 +MCRS1 1 +MDM1 3 +MED13L 4 +METTL1 1 +MFAP5 0 +MGAT4C 0 +MGP 0 +MIP 0 +MIR1178 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1279 0 +MIR1291 0 +MIR1293 0 +MIR26A2 0 +MIR3198-2 0 +MIR3649 0 +MIR3913-1 0 +MIR4302 0 +MIR4303 0 +MIR4304 0 +MIR4472-2 0 +MIR4498 0 +MIR4701 0 +MIR548AL 0 +MIR548Z 0 +MIR6074 0 +MIR617 0 +MIR618 0 +MIR620 0 +MIR6759 0 +MIR6861 0 +MIR6880 0 +MIR7106 0 +MIR7107 0 +MIR7844 0 +MIR8072 0 +MKRN9P 0 +MLF2 0 +MMAB 0 +MMP19 0 +MORN3 0 +MPHOSPH9 1 +MRPL51 0 +MRS2P2 0 +MSI1 0 +MTERF2 1 +MYL2 0 +MYO1A 0 +NAA25 0 +NACA 6 +NAP1L1 70 +NCKAP5L 0 +NCOR2 0 +NDUFA12 0 +NDUFA4L2 0 +NELL2 0 +NFE2 0 +NFYB 0 +NINJ2 0 +NOP2 2 +NOS1 0 +NPFF 0 +NR2C1 3 +NRIP2 0 +NT5DC3 2 +NTN4 0 +NUAK1 0 +NUP37 9 +OASL 0 +OLR1 0 +OR10AD1 0 +OR6C6 0 +OR6C70 0 +OSBPL8 2 +OVCH1 0 +PAH 0 +PAN2 1 +PARP11 1 +PAWR 1 +PCED1B-AS1 0 +PHB2 5 +PHLDA1 0 +PIANP 0 +PITPNM2 0 +PKP2 1 +PLA2G1B 0 +PLBD1 0 +PLCZ1 0 +PLEKHA8P1 2 +PMCH 0 +PMEL 0 +POC1B 2 +POC1B-GALNT4 0 +POLE 0 +POP5 0 +POU5F1P3 0 +POU6F1 0 +PPFIA2 1 +PPM1H 0 +PPP1CC 5 +PPP1R12A 44 +PPP1R1A 0 +PPTC7 0 +PRB1 0 +PRB2 0 +PRB3 0 +PRB4 0 +PRDM4 7 +PRH1 0 +PRH1-PRR4 0 +PRICKLE1 0 +PRIM1 0 +PRKAG1 0 +PRR4 0 +PTGES3 30 +PTHLH 0 +PTPRB 0 +PTPRR 3 +PUS7L 0 +PXN 2 +PZP 0 +R3HDM2 0 +RAB35 0 +RACGAP1 14 +RACGAP1P 0 +RAD52 0 +RAPGEF3 0 +RARG 0 +RASAL1 0 +RASSF8-AS1 0 +RASSF9 0 +RBM19 0 +RBP5 0 +RDH16 0 +RECQL 0 +RERG 0 +RERGL 0 +RHEBL1 0 +RHOF 0 +RILPL1 0 +RILPL2 0 +RIMBP2 0 +RND1 12 +RNF41 2 +RNU6-19P 0 +RNU6-78P 0 +RNY5 0 +RPAP3 3 +RPL6 3 +RPLP0 52 +RPSAP52 0 +RSRC2 8 +SARNP 0 +SART3 9 +SBNO1 21 +SCAF11 2 +SCARB1 0 +SCARNA11 0 +SCARNA12 0 +SCNN1A 0 +SDR9C7 0 +SDS 1 +SELPLG 0 +SENP1 0 +SLC11A2 4 +SLC15A4 3 +SLC15A5 0 +SLC2A13 0 +SLC2A14 0 +SLC2A3 0 +SLC38A1 0 +SLC38A2 0 +SLC38A4 0 +SLC41A2 2 +SLC5A8 0 +SLC6A12 0 +SLC6A13 0 +SLC6A15 0 +SLC8B1 0 +SLC9A7P1 0 +SLCO1A2 0 +SMAGP 0 +SMARCC2 13 +SMCO3 0 +SMUG1 0 +SNORA2A 0 +SNORA2B 0 +SNORA34 0 +SNORA70G 0 +SNORD59A 0 +SNORD59B 0 +SOCS2-AS1 0 +SOX5 0 +SP7 0 +SPPL3 6 +SPRYD3 0 +SPSB2 0 +SRSF9 0 +SSH1 5 +ST8SIA1 0 +STAC3 0 +STAT2 0 +STAT6 0 +STX2 3 +STYK1 0 +SVOP 0 +SYCP3 5 +SYT10 0 +TAC3 0 +TAOK3 43 +TAS2R10 0 +TAS2R13 0 +TAS2R14 0 +TAS2R19 0 +TAS2R20 0 +TAS2R30 0 +TAS2R31 0 +TAS2R42 0 +TAS2R43 0 +TAS2R46 0 +TAS2R50 0 +TAS2R7 0 +TAS2R8 0 +TAS2R9 0 +TBX3 2 +TBX5 5 +TESC 0 +TESPA1 0 +TFCP2 0 +THRIL 2 +TIMELESS 3 +TM7SF3 1 +TMBIM4 0 +TMCC3 1 +TMEM116 0 +TMEM119 0 +TMEM132D 0 +TMEM194A 4 +TMPO-AS1 1 +TMTC1 0 +TNFRSF1A 0 +TRHDE-AS1 0 +TRIAP1 2 +TRPV4 0 +TSPAN19 0 +TSPAN8 0 +TUBA1A 0 +TUBA1B 32 +TWF1 5 +UBC 70 +UBE2N 2 +UHRF1BP1L 2 +USP30-AS1 0 +USP44 11 +VAMP1 0 +VDR 0 +VPS29 1 +VPS33A 0 +VPS37B 0 +VSIG10 1 +VWF 0 +WBP11 6 +WIBG 0 +WIF1 0 +WNT10B 0 +WSB2 0 +YAF2 2 +YARS2 9 +YBX3 1 +ZBTB39 15 +ZCCHC8 4 +ZCRB1 11 +ZFC3H1 4 +ZNF384 0 +ZNF385A 0 +ZNF605 0 +ZNF641 1 +ZNF891 0 +ABCC4 11 +ADPRHL1 1 +ALG5 0 +AMER2 0 +ANKRD10 5 +ANKRD20A19P 0 +ANKRD20A9P 0 +ANKRD26P3 0 +ARGLU1 1 +ARHGEF7-AS1 0 +ATP11A-AS1 0 +ATP4B 0 +ATP7B 1 +BASP1P1 0 +C1QTNF9B 0 +CAB39L 0 +CARS2 0 +CCDC122 0 +CCDC168 0 +CCDC169 0 +CCDC169-SOHLH2 0 +CDX2 0 +CENPJ 2 +CLDN10-AS1 0 +CLYBL-AS1 0 +CLYBL-AS2 0 +COL4A1 0 +COL4A2-AS1 0 +COMMD6 1 +CPB2 0 +CRYL1 0 +CSNK1A1L 0 +CTAGE11P 0 +DACH1 0 +DAOA-AS1 0 +DCLK1 0 +DCT 15 +DCUN1D2 0 +DHRS12 1 +DIAPH3 6 +DIS3 0 +DLEU1-AS1 0 +DLEU2 0 +DLEU7 0 +DOCK9 0 +DZIP1 3 +EBPL 0 +EDNRB 0 +EFNB2 5 +ELF1 11 +ENOX1 0 +EPSTI1 36 +ERICH6B 0 +ESD 1 +FAM155A 0 +FAM155A-IT1 0 +FBXL3 1 +FGF14 13 +FGF14-IT1 0 +FLT1 0 +FLT3 0 +FOXO1 11 +FRY-AS1 0 +GAS6 0 +GGACT 8 +GJA3 0 +GJB2 0 +GJB6 0 +GPC5-AS1 0 +GPC5-AS2 0 +GPC6-AS1 0 +GPC6-AS2 0 +GPR12 0 +GPR18 0 +GPR183 0 +GRTP1 11 +GUCY1B2 0 +HMGB1 5 +HSPH1 3 +HTR2A 0 +INTS6 2 +IRS2 0 +KATNAL1 21 +KBTBD6 0 +KBTBD7 3 +KCTD12 0 +KCTD4 0 +KDELC1 0 +KIAA0226L 0 +KLF12 3 +KLHL1 0 +KPNA3 9 +LATS2 0 +LCP1 0 +LECT1 0 +LHFP 0 +LIG4 0 +LINC00282 0 +LINC00297 0 +LINC00330 0 +LINC00331 0 +LINC00346 0 +LINC00353 0 +LINC00358 0 +LINC00359 0 +LINC00367 0 +LINC00371 1 +LINC00379 0 +LINC00380 0 +LINC00395 0 +LINC00397 0 +LINC00410 0 +LINC00411 0 +LINC00412 0 +LINC00417 0 +LINC00423 0 +LINC00424 0 +LINC00426 0 +LINC00441 0 +LINC00448 0 +LINC00456 0 +LINC00457 0 +LINC00458 0 +LINC00462 0 +LINC00463 0 +LINC00539 0 +LINC00548 0 +LINC00550 0 +LINC00552 0 +LINC00554 0 +LINC00559 0 +LINC00563 0 +LINC00565 0 +LINC00571 0 +LINC00572 0 +LINC00598 0 +LINC01050 0 +LINC01069 0 +LINC01198 0 +LINC01232 0 +LMO7-AS1 0 +LNX2 0 +LOC101060553 0 +LOC101927248 0 +LOC101927437 0 +LOC101928730 0 +LPAR6 0 +MAB21L1 0 +MCF2L-AS1 0 +MED4 0 +METTL21C 0 +MICU2 3 +MINOS1P1 0 +MIPEP 1 +MIR1297 0 +MIR15A 0 +MIR16-1 0 +MIR2681 0 +MIR3169 0 +MIR320D1 0 +MIR3613 0 +MIR3665 0 +MIR4305 0 +MIR4499 0 +MIR4500 0 +MIR4500HG 0 +MIR4705 0 +MIR5006 0 +MIR548AN 0 +MIR548AS 0 +MIR548F5 0 +MIR5693 0 +MIR8079 0 +MRPS31 3 +MRPS31P5 0 +MTIF3 0 +MTMR6 1 +MTRF1 0 +MTUS2-AS1 0 +MYCBP2 1 +MYO16-AS1 0 +MZT1 1 +N4BP2L1 0 +N4BP2L2 7 +N4BP2L2-IT2 0 +N6AMT2 0 +NALCN 0 +NDFIP2-AS1 0 +NEK3 0 +NEK5 0 +NUFIP1 6 +OXGR1 0 +PAN3-AS1 0 +PARP4 0 +PCCA-AS1 0 +PCDH20 0 +PCDH8 0 +PCDH9 0 +PCID2 2 +PDX1-AS1 0 +POSTN 0 +POU4F1 1 +PROSER1 142 +PSPC1 0 +RAB20 1 +RASA3 3 +RBM26 7 +RCBTB1 2 +RCBTB2 1 +RNASEH2B-AS1 0 +RNF113B 0 +RNF219 6 +RNF6 0 +SACS 1 +SHISA2 0 +SIAH3 0 +SKA3 3 +SLC10A2 0 +SLC15A1 0 +SLC25A30 1 +SLC46A3 0 +SLC7A1 0 +SLITRK1 0 +SLITRK6 0 +SMAD9 0 +SMIM2 0 +SMIM2-IT1 0 +SNORA31 0 +SOHLH2 13 +SOX21 0 +SPATA13-AS1 0 +SPG20 1 +SPRY2 0 +SPRYD7 0 +STARD13 0 +STK24 27 +STOML3 0 +SUCLA2 0 +SUGT1P3 0 +SUPT20H 17 +TBC1D4 0 +TEX26-AS1 0 +TEX30 3 +TGDS 0 +THSD1 0 +TMTC4 0 +TPT1 246 +TPTE2 0 +TPTE2P1 0 +TPTE2P5 0 +TRPC4 0 +TSC22D1 2 +TUBA3C 0 +TUBGCP3 0 +TUSC8 0 +UBAC2-AS1 0 +UBL3 1 +UGGT2 0 +URAD 0 +USP12 0 +VPS36 0 +VWA8 0 +XPO4 1 +ZAR1L 39 +ZC3H13 23 +ZDHHC20 1 +ZIC5 0 +ZMYM5 4 +ABCD4 3 +ACIN1 5 +ACTN1 6 +ACYP1 0 +ADAM20 0 +ADAM20P1 0 +ADAM21P1 0 +ADAM6 0 +ADCY4 0 +AHNAK2 0 +AJUBA 0 +AKT1 3 +ALDH6A1 0 +ALKBH1 2 +ANGEL1 0 +ANKRD9 0 +AP1G2 0 +AREL1 0 +ARHGAP5-AS1 0 +ASB2 2 +ATG14 4 +ATG2B 1 +ATP6V1D 14 +ATXN3 0 +BAG5 3 +BAZ1A 36 +BCL11B 0 +BEGAIN 0 +BMP4 0 +BMS1P17 0 +BMS1P18 0 +BRF1 0 +BTBD7 1 +C14orf1 6 +C14orf105 0 +C14orf142 0 +C14orf182 0 +C14orf183 0 +C14orf2 4 +C14orf37 1 +C14orf39 0 +C14orf64 0 +C14orf93 1 +CATSPERB 0 +CBLN3 0 +CCDC175 0 +CCDC177 0 +CCDC85C 1 +CCDC88C 4 +CCNB1IP1 0 +CDC42BPB 6 +CDCA4 2 +CDH24 0 +CDKL1 0 +CEBPE 0 +CEP128 2 +CFL2 1 +CHD8 3 +CHMP4A 0 +CIDEB 0 +CINP 0 +CKB 3 +CLEC14A 0 +CLMN 2 +CMA1 0 +CNIH1 0 +COX16 2 +CTSG 0 +DAD1 2 +DCAF5 34 +DDHD1 0 +DDX24 16 +DEGS2 3 +DHRS1 0 +DHRS4-AS1 0 +DHRS7 0 +DICER1 3 +DIO2 0 +DIO3OS 0 +DLGAP5 136 +DNAAF2 2 +DPF3 0 +DTD2 0 +DUXAP10 0 +EAPP 1 +EFCAB11 0 +EFS 0 +EGLN3 1 +ELK2AP 0 +ELMSAN1 3 +EMC9 0 +EML5 2 +ENTPD5 1 +ERH 5 +ERO1L 2 +ESR2 4 +EXOC5 4 +FAM161B 0 +FAM181A-AS1 0 +FBLN5 2 +FBXO33 1 +FERMT2 5 +FKBP3 1 +FLJ31306 1 +FOXA1 0 +FOXG1-AS1 0 +FOXN3 3 +FRMD6-AS1 0 +FRMD6-AS2 0 +FSCB 0 +FUT8-AS1 0 +GALC 1 +GCH1 22 +GMFB 5 +GNPNAT1 0 +GPHB5 0 +GPR132 0 +GPR135 0 +GPR33 0 +GPR68 0 +GPX2 0 +GSC 1 +GTF2A1 0 +GZMB 0 +GZMH 0 +HAUS4 6 +HEATR4 0 +HEATR5A 2 +HECTD1 5 +HIF1A-AS1 0 +HIF1A-AS2 0 +HNRNPC 15 +HOMEZ 0 +HSP90AA1 263 +IFI27L2 0 +IPO4 1 +IRF2BPL 0 +ISM2 0 +ITPK1 5 +JAG2 0 +JPH4 0 +KCNH5 0 +KCNK10 0 +KLHL28 1 +KLHL33 0 +KTN1-AS1 0 +L2HGDH 0 +L3HYPDH 0 +LGMN 8 +LINC00341 0 +LINC00520 1 +LINC00605 0 +LINC00639 0 +LINC00641 0 +LINC00644 0 +LINC00648 0 +LINC01296 0 +LINC01467 5 +LOC100128233 0 +LOC100129345 0 +LOC100288846 0 +LOC100289511 0 +LOC100506071 0 +LOC100506499 0 +LOC100506603 1 +LOC100506700 0 +LOC100507437 0 +LOC101927062 0 +LOC101927418 0 +LOC101927780 0 +LOC101928075 0 +LOC101928791 0 +LOC101929572 0 +LOC101929718 0 +LOC102723809 0 +LOC102724153 0 +LOC102724190 0 +LOC642426 0 +LOC730202 0 +LTBP2 0 +MAP3K9 1 +MAP4K5 0 +MAX 0 +MBIP 15 +MDGA2 1 +MDP1 0 +MED6 5 +METTL3 0 +MIR1247 0 +MIR203B 0 +MIR208A 0 +MIR208B 0 +MIR3173 0 +MIR4308 0 +MIR4503 0 +MIR4707 0 +MIR4708 0 +MIR4709 0 +MIR4710 0 +MIR548AI 0 +MIR548AZ 0 +MIR548Y 0 +MIR5580 0 +MIR624 0 +MIR6717 0 +MIR6765 0 +MIR7703 0 +MIR7855 0 +MIS18BP1 5 +MLH3 0 +MOAP1 2 +MOK 3 +MYH6 0 +MYH7 0 +NDRG2 0 +NDUFB1 0 +NEDD8 3 +NEDD8-MDP1 0 +NEK9 0 +NEMF 7 +NFKBIA 43 +NGB 0 +NID2 1 +NIN 1 +NKX2-1 0 +NKX2-8 0 +NOVA1 0 +NOXRED1 0 +NPC2 1 +NRDE2 2 +NRL 0 +NUDT14 0 +NUMB 13 +OR10G2 0 +OR10G3 0 +OR11H2 0 +OR4K13 0 +OR4K14 0 +OR5AU1 0 +OR6S1 0 +OSGEP 0 +OTX2 248 +PGF 0 +PIGH 0 +PLEK2 19 +PNMA1 1 +POLE2 0 +POMT2 0 +POTEH-AS1 0 +POTEM 0 +PPP1R13B 7 +PPP1R3E 0 +PPP2R3C 8 +PPP2R5E 1 +PRIMA1 0 +PRKD1 0 +PRMT5 2 +PROX2 1 +PSMB5 2 +PSME2 0 +PTCSC3 0 +PTPN21 1 +PYGL 0 +RAB15 3 +RAB2B 0 +RABGGTA 0 +RALGAPA1 0 +RALGAPA1P 0 +RBM23 2 +RD3L 0 +RDH11 0 +RIPK3 0 +RNASE1 0 +RNASE11 0 +RNASE12 0 +RNASE13 0 +RNASE9 0 +RNU6-19P 0 +RNU6-2 0 +RNU6-31P 0 +RPL10L 0 +RPL36AL 1 +RPPH1 0 +RPS29 16 +RPS6KA5 3 +RPS6KL1 2 +RTL1 0 +RTN1 0 +SALL2 1 +SAV1 5 +SCARNA13 0 +SDR39U1 0 +SEC23A 0 +SEL1L 2 +SERPINA1 0 +SERPINA10 0 +SERPINA11 0 +SERPINA12 0 +SERPINA2 0 +SERPINA6 0 +SERPINA9 0 +SETD3 2 +SFTA3 0 +SGPP1 0 +SIX1 0 +SIX4 0 +SLC10A1 0 +SLC22A17 0 +SLC25A21 1 +SLC25A29 0 +SLC35F4 1 +SLC7A7 12 +SLC7A8 4 +SLC8A3 0 +SMEK1 3 +SNHG10 0 +SNORA79 0 +SNORD126 0 +SNORD8 0 +SNORD9 0 +SNW1 27 +SNX6 4 +SOS2 2 +SPTB 0 +SPTLC2 0 +SPTSSA 0 +STON2 0 +STRN3 0 +STXBP6 1 +SUPT16H 1 +SYNDIG1L 0 +SYNE3 1 +SYNJ2BP 7 +SYNJ2BP-COX16 1 +TBPL2 0 +TC2N 2 +TCL1A 233 +TEP1 0 +TEX21P 0 +TGFB3 0 +TGM1 0 +TIMM9 2 +TINF2 1 +TM9SF1 0 +TMED10 1 +TMED8 0 +TMEM179 0 +TMEM229B 1 +TMEM30B 0 +TMEM55B 0 +TRAPPC6B 0 +TRIM9 0 +TRIP11 3 +TRMT5 1 +TTC5 14 +TTC7B 0 +TXNDC16 1 +VCPKMT 0 +VIPAS39 0 +VTI1B 1 +WARS 3 +WDHD1 1 +WDR89 1 +XRCC3 0 +ZBTB25 0 +ZDHHC22 0 +ZFHX2 0 +ZFP36L1 0 +ZFYVE1 1 +ZFYVE26 0 +ZNF219 0 +AAGAB 2 +ACSBG1 0 +ACTC1 0 +ADAM10 5 +ADAMTS17 0 +ADAMTS7 0 +ADPGK 20 +AGBL1-AS1 0 +ALDH1A2 2 +ANKRD63 0 +ANP32A 1 +ANP32A-IT1 0 +ANPEP 0 +ANXA2 0 +AP3B2 0 +AP3S2 0 +AQR 2 +ARPIN 1 +ARPP19 0 +ATP10A 0 +ATP8B4 0 +AVEN 0 +BCL2A1 0 +BCL2L10 55 +BMF 0 +BNC1 2 +BNIP2 0 +BTBD1 0 +C15orf38-AP3S2 0 +C15orf40 0 +C15orf52 0 +C15orf56 0 +C15orf57 0 +C15orf59 0 +C2CD4B 0 +CA12 0 +CALML4 17 +CATSPER2 0 +CATSPER2P1 0 +CCPG1 10 +CDAN1 0 +CELF6 0 +CEP152 12 +CERS3 0 +CHRFAM7A 0 +CHRNA3 2 +CHRNB4 0 +CHSY1 1 +CIB1 0 +CIB2 0 +CILP 0 +CLN6 1 +CLPX 14 +COPS2 7 +COX5A 0 +CPEB1 2 +CSNK1A1P1 0 +CSNK1G1 10 +CSPG4 0 +CT62 0 +CTSH 0 +CXADRP2 0 +CYP11A1 0 +CYP19A1 0 +CYP1A1 0 +DAPK2 0 +DDX11L9 0 +DENND4A 2 +DET1 0 +DMXL2 0 +DNAJC17 0 +DNM1P35 0 +DNM1P46 0 +DPH6 0 +DPP8 4 +DUOX2 0 +DUOXA1 0 +DYX1C1 3 +DYX1C1-CCPG1 0 +EDC3 1 +EFTUD1 2 +EHD4 0 +EIF3J-AS1 0 +ELL3 0 +EMC7 0 +EPB42 0 +ETFA 67 +EXD1 0 +FAM169B 0 +FAM174B 3 +FAM189A1 0 +FAM214A 37 +FAM219B 0 +FAM227B 0 +FAM96A 0 +FBN1 0 +FBXO22-AS1 0 +FLJ10038 0 +FMN1 13 +FRMD5 1 +FSD2 0 +FSIP1 0 +GABARAPL3 0 +GABPB1 2 +GABRB3 1 +GATM 0 +GJD2 0 +GNB5 0 +GOLGA2P10 0 +GOLGA2P7 0 +GOLGA6A 0 +GOLGA6L10 0 +GOLGA6L22 0 +GOLGA6L5P 0 +GOLGA6L6 0 +GOLGA6L7P 0 +GOLGA8A 0 +GOLGA8B 0 +GOLGA8DP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8K 0 +GOLGA8M 0 +GOLGA8O 0 +GOLGA8R 0 +GPR176 0 +GRAMD2 1 +GTF2A2 5 +HAPLN3 1 +HCN4 0 +HDC 20 +HDDC3 0 +HDGFRP3 0 +HERC1 2 +HERC2 0 +HERC2P2 0 +HERC2P3 0 +HEXA 0 +HIGD2B 0 +HOMER2 3 +HSP90AB4P 0 +ICE2 1 +IDH2 0 +IGDCC3 6 +IGDCC4 0 +IMP3 0 +INO80 0 +IQCH-AS1 0 +ITGA11 0 +KATNBL1 1 +KIAA0101 0 +KIF7 1 +KLHL25 0 +LARP6 0 +LCMT2 0 +LCTL 0 +LEO1 3 +LINC00597 0 +LINC00923 0 +LINC00927 0 +LINC00928 0 +LINC00930 0 +LINC01197 0 +LINC01314 0 +LINC01491 0 +LINGO1 0 +LINS 0 +LOC100131315 0 +LOC100422556 0 +LOC100507472 0 +LOC101926895 0 +LOC101927112 0 +LOC101927286 2 +LOC101927310 0 +LOC101927332 0 +LOC101928134 0 +LOC101928414 0 +LOC101928694 0 +LOC101928869 0 +LOC101929076 7 +LOC101929173 0 +LOC101929196 0 +LOC101929439 0 +LOC101929586 0 +LOC101929679 0 +LOC101929701 0 +LOC101929743 0 +LOC102724631 0 +LOC145783 0 +LOC145845 0 +LOC283683 0 +LOC283693 0 +LOC283710 0 +LOC283731 0 +LOC338963 0 +LOC642423 0 +LOC645752 0 +LOC646214 1 +LOC727751 0 +LOC729911 0 +LOC91450 0 +LOXL1-AS1 0 +LPCAT4 19 +LRRC57 0 +LTK 0 +LYSMD2 0 +LYSMD4 0 +MAGEL2 0 +MAN2C1 0 +MEGF11 0 +MEIS2 0 +MESDC2 1 +MESP1 0 +MEX3B 0 +MFAP1 5 +MFGE8 0 +MGC15885 0 +MIR1233-1 0 +MIR1233-2 0 +MIR1266 0 +MIR1272 0 +MIR1276 0 +MIR1282 0 +MIR211 0 +MIR2116 0 +MIR3529 0 +MIR3942 0 +MIR4310 0 +MIR4312 0 +MIR4313 0 +MIR4508 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4511 0 +MIR4513 0 +MIR4514 0 +MIR4715 0 +MIR4716 0 +MIR5094 0 +MIR549A 0 +MIR627 0 +MIR628 0 +MIR629 0 +MIR631 0 +MIR6766 0 +MIR6881 0 +MIR6882 0 +MIR8063 0 +MIR8067 0 +MNS1 3 +MRPL42P5 0 +MRPL46 0 +MTFMT 0 +MTHFS 0 +MTMR10 1 +MYEF2 0 +MYO1E 1 +MYO5A 1 +MYO5C 0 +MYO9A 13 +NBEAP1 0 +NDN 0 +NDNL2 0 +NDUFAF1 0 +NEDD4 0 +NF1P2 0 +NIPA1 3 +NIPA2 1 +NMB 0 +NOP10 0 +NPTN 0 +NPTN-IT1 0 +NR2F2-AS1 0 +NRG4 0 +NTRK3 5 +OAZ2 0 +OCA2 0 +OIP5 1 +ONECUT1 0 +OR4F4 0 +OTUD7A 0 +PARP16 4 +PARP6 0 +PATL2 13 +PCSK6 0 +PDCD7 10 +PEAK1 0 +PEX11A 1 +PGPEP1L 0 +PIF1 0 +PIN4P1 0 +PKM 1 +PLA2G4D 0 +PLA2G4E 0 +PLA2G4F 1 +PLCB2 0 +PLIN1 0 +POLG 0 +POTEB 0 +POTEB2 0 +PPIB 0 +PPIP5K1 0 +PPP1R14D 0 +PRC1 13 +PRKXP1 0 +PRTG 8 +PTPN9 2 +PWRN2 0 +PYGO1 0 +RAB27A 2 +RAD51-AS1 1 +RASGRF1 2 +RASGRP1 2 +RASL12 0 +RBPMS2 12 +RFX7 1 +RGMA 2 +RHCG 0 +RHOV 0 +RLBP1 0 +RMDN3 6 +RNU6-2 0 +RORA 1 +RPAP1 0 +RPL4 3 +RPP25 0 +RPS17 0 +RPS27L 2 +RSL24D1 12 +SCAMP2 3 +SCAPER 13 +SCARNA14 0 +SEC11A 2 +SECISBP2L 7 +SEMA7A 0 +SERINC4 0 +SHC4 0 +SHF 0 +SIN3A 33 +SLC12A6 1 +SLC30A4 1 +SLTM 2 +SNAPC5 2 +SNORD16 0 +SNORD18A 0 +SNORD18B 0 +SNORD18C 0 +SNRPA1 1 +SNUPN 0 +SPATA41 0 +SPATA8-AS1 0 +SPG11 0 +SPG21 8 +SPPL2A 2 +SPTBN5 0 +SRP14 7 +ST20 0 +ST20-MTHFS 0 +STARD5 0 +STOML1 0 +STRA6 0 +STRC 0 +TARSL2 0 +TBC1D2B 1 +TGM5 0 +TGM7 2 +THAP10 2 +TIPIN 1 +TJP1 7 +TLE3 0 +TM2D3 0 +TMC3 2 +TMCO5B 0 +TMEM87A 11 +TNFAIP8L3 0 +TP53BP1 0 +TRPM1 0 +TRPM7 1 +TSPAN3 0 +TTBK2 0 +TTC23 0 +TYRO3P 0 +UACA 4 +UBAP1L 0 +UBE2Q2P1 0 +UBE3A 6 +UBL7 0 +UBR1 1 +ULK3 0 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +USP3-AS1 1 +USP50 0 +VIMP 1 +VPS13C 0 +VPS33B 0 +VPS39 0 +VWA9 3 +WDR61 1 +WDR72 0 +WDR73 0 +WHAMMP1 0 +WHAMMP3 0 +ZNF106 2 +ZNF280D 0 +ZNF770 3 +ZSCAN29 3 +AARS 1 +ABCA3 0 +ABCC11 0 +ABCC12 0 +ABCC6 9 +ABCC6P2 0 +ACD 1 +ACSM1 0 +ACSM2B 0 +ADAMTS18 1 +ADAT1 6 +ADCY9 5 +AGRP 0 +AKTIP 28 +AMFR 4 +ANKRD11 6 +ANKRD26P1 0 +ANKS3 0 +AP1G1 3 +APOOP5 0 +APRT 0 +ARHGAP17 2 +ARL6IP1 13 +ATP6V0D1 7 +AXIN1 0 +B3GNT9 0 +BBS2 0 +BCAR1 1 +BCAR4 49 +BCL7C 0 +BEAN1-AS1 0 +BOLA2 0 +BOLA2B 0 +BRD7 3 +BRICD5 0 +C16orf13 0 +C16orf3 0 +C16orf46 0 +C16orf47 0 +C16orf54 0 +C16orf58 0 +C16orf74 1 +C16orf87 1 +C16orf89 0 +C16orf90 0 +C16orf91 0 +C16orf93 0 +C16orf95 0 +C16orf97 0 +C1QTNF8 0 +CA5A 0 +CARHSP1 0 +CASC16 0 +CASKIN1 1 +CBFA2T3 3 +CBLN1 0 +CCDC102A 0 +CCDC154 0 +CCDC64B 0 +CCDC78 0 +CCDC79 0 +CD2BP2 0 +CDH11 0 +CDH16 0 +CDH8 0 +CDIP1 2 +CDIPT 0 +CDR2 3 +CDYL2 0 +CEMP1 0 +CENPBD1 0 +CENPT 0 +CES1 0 +CES5A 0 +CFAP20 0 +CFDP1 0 +CHMP1A 0 +CHST5 0 +CHST6 0 +CHTF8 0 +CIAPIN1 2 +CLCN7 0 +CLDN6 0 +CLEC18B 0 +CLN3 1 +CMC2 4 +CMTM4 12 +CMTR2 0 +CNGB1 0 +CNOT1 0 +COG4 0 +COG7 0 +COG8 0 +CORO7 0 +CORO7-PAM16 0 +COTL1 0 +COX6A2 0 +CPPED1 0 +CREBBP 5 +CRNDE 0 +CRYM 1 +CSNK2A2 2 +CTRB2 2 +CTRL 0 +CYBA 0 +DBNDD1 0 +DCTPP1 3 +DCUN1D3 1 +DDX28 1 +DEXI 0 +DKFZP434H168 0 +DNAH3 3 +DNAJA2 8 +DOC2A 0 +DOK4 0 +DPEP2 0 +DPEP3 0 +DYNC1LI2 5 +EARS2 0 +ECI1 0 +EIF3C 0 +EIF3CL 0 +EMC8 3 +EMP2 1 +ENKD1 0 +ERI2 0 +ERN2 0 +ERVK13-1 0 +ESRP2 0 +EXOC3L1 0 +EXOSC6 0 +FA2H 0 +FAM192A 1 +FAM57B 0 +FAM86A 0 +FAM92B 0 +FAM96B 2 +FANCA 0 +FBXL16 0 +FBXL19-AS1 0 +FBXO31 1 +FENDRR 0 +FHOD1 0 +FOPNL 1 +GALNS 0 +GCSH 0 +GDE1 0 +GDPD3 0 +GFOD2 0 +GGA2 3 +GINS2 38 +GLG1 0 +GLYR1 2 +GNG13 0 +GOT2 7 +GP2 0 +GPR139 0 +GPRC5B 0 +GRIN2A 1 +GSG1L 0 +GSPT1 14 +GTF3C1 0 +HAGH 3 +HCFC1R1 0 +HERC2P4 0 +HIRIP3 2 +HS3ST6 0 +HSDL1 4 +HYDIN 0 +IFT140 0 +IGFALS 0 +IGSF6 0 +IL21R-AS1 0 +IL27 0 +IRX3 0 +ITFG1 0 +JMJD8 0 +KARS 5 +KCNG4 0 +KCTD13 1 +KCTD19 0 +KIAA0430 0 +KIAA0895L 0 +KIFC3 3 +KLHDC4 0 +KNOP1 4 +LCAT 0 +LCMT1-AS1 0 +LDHD 1 +LINC00235 0 +LINC00254 0 +LINC00273 0 +LINC00917 0 +LINC00919 0 +LINC00922 0 +LINC01081 0 +LINC01227 0 +LITAF 0 +LMF1 0 +LOC100130700 0 +LOC100131303 0 +LOC100190986 0 +LOC100288162 0 +LOC100289092 0 +LOC100505942 0 +LOC100506083 0 +LOC100506655 0 +LOC100507419 0 +LOC100507501 0 +LOC100507534 0 +LOC101926896 0 +LOC101926950 0 +LOC101927311 0 +LOC101927348 0 +LOC101927650 0 +LOC101927814 0 +LOC101928035 0 +LOC101928417 0 +LOC101928682 0 +LOC102467146 0 +LOC102723385 0 +LOC102724084 0 +LOC102724163 0 +LOC102724467 0 +LOC102724927 0 +LOC146481 0 +LOC283856 0 +LOC283922 0 +LOC388242 0 +LOC390705 0 +LOC399491 0 +LOC400511 0 +LOC400553 0 +LOC613037 0 +LOC613038 0 +LOC643802 0 +LOC729159 0 +LOC730183 0 +LRRC29 0 +LUC7L 0 +MAF 0 +MAPK3 0 +MBTPS1 3 +MEFV 0 +MEIOB 0 +MIR1225 0 +MIR1538 0 +MIR1910 0 +MIR3178 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3180-4 0 +MIR3180-5 0 +MIR328 0 +MIR4519 0 +MIR4721 0 +MIR4722 0 +MIR5093 0 +MIR548AA2 0 +MIR6126 0 +MIR6506 0 +MIR6511A2 0 +MIR6511B1 0 +MIR6770-2 0 +MIR6772 0 +MIR6773 0 +MIR6775 0 +MIR6859-1 0 +MIR6859-2 0 +MIR6862-1 0 +MIR6862-2 0 +MIR7641-2 0 +MLKL 2 +MPHOSPH6 4 +MRPL28 0 +MRPS34 0 +MSRB1 0 +MT1G 0 +MTHFSD 1 +MTRNR2L4 0 +MTSS1L 0 +MVD 0 +MYH11 0 +MYLK3 0 +N4BP1 6 +NAE1 3 +NAGPA 0 +NARFL 0 +NDUFAB1 3 +NETO2 5 +NLRC3 1 +NME3 0 +NMRAL1 1 +NOB1 1 +NOMO2 0 +NOXO1 0 +NPIPA5 0 +NPIPA7 0 +NPIPA8 0 +NPIPB3 0 +NPIPB6 0 +NPRL3 3 +NQO1 0 +NSMCE1 0 +NTAN1 2 +NTHL1 0 +NUDT21 11 +NUPR1 0 +PABPN1L 13 +PALB2 8 +PAM16 0 +PARN 4 +PDF 0 +PDILT 0 +PDXDC2P 0 +PDZD9 0 +PGP 0 +PHLPP2 0 +PIEZO1 1 +PKD1 0 +PKD1L2 0 +PKD1L3 6 +PKD1P6 0 +PKMYT1 1 +PLA2G10 0 +PLLP 0 +PMFBP1 0 +POLR3K 0 +PPL 1 +PRDM7 0 +PRM1 0 +PRM2 0 +PRM3 0 +PRSS22 0 +PRSS27 0 +PRSS30P 0 +PRSS33 0 +PRSS36 0 +PRSS53 0 +PRSS54 0 +PRSS8 0 +PSMB10 0 +PTX4 0 +PYCARD 0 +PYDC1 0 +RABEP2 0 +RANBP10 0 +RFWD3 2 +RGS11 0 +RHBDF1 0 +RNF166 0 +RNPS1 1 +RNU6-76P 0 +ROGDI 0 +RPGRIP1L 0 +RPL3L 0 +RPS15A 8 +RPS2 3 +RPUSD1 0 +RRAD 0 +RRN3 3 +RRN3P1 0 +RRN3P3 0 +RSL1D1 6 +SALL1 0 +SDR42E1 0 +SEPHS2 2 +SEPT1 0 +SEPT12 0 +SEZ6L2 0 +SHCBP1 5 +SIAH1 10 +SLC12A4 0 +SLC22A31 0 +SLC38A7 4 +SLC38A8 1 +SLC6A10P 0 +SLC7A5 1 +SLC7A5P1 0 +SLC7A5P2 0 +SLC7A6OS 0 +SLX4 0 +SMG1 6 +SMG1P2 0 +SMG1P3 0 +SMG1P5 0 +SMG1P7 0 +SMPD3 10 +SNAI3 1 +SNORA10 0 +SNORA46 0 +SNORA64 0 +SNORA70D 0 +SNORA76A 0 +SNORD60 0 +SNORD71 0 +SNX20 0 +SOCS1 0 +SPATA2L 0 +SPSB3 2 +SRL 0 +SRRM2-AS1 0 +SSTR5-AS1 12 +ST3GAL2 1 +STX1B 0 +SULT1A1 0 +SULT1A2 0 +TAF1C 1 +TAT 0 +TBC1D10B 6 +TBX6 0 +TCEB2 0 +TEKT5 0 +TERF2 2 +TFAP4 0 +THUMPD1 17 +TIGD7 2 +TK2 1 +TLDC1 0 +TMED6 0 +TMEM114 0 +TMEM170A 0 +TMEM186 0 +TMEM231 1 +TMEM8A 2 +TNP2 0 +TOX3 0 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TPPP3 0 +TPSB2 0 +TPSG1 0 +TRADD 0 +TRAP1 1 +TSR3 0 +TUFM 1 +TVP23A 0 +TXNDC11 1 +TXNL4B 1 +UBALD1 1 +UBE2MP1 0 +UMOD 0 +UNKL 32 +URAHP 0 +USP31 7 +USP7 14 +VAC14 0 +VKORC1 9 +VPS35 5 +VPS9D1 0 +WDR24 0 +WDR59 1 +XPO6 3 +XYLT1 2 +YBX3P1 0 +YPEL3 0 +ZC3H7A 11 +ZCCHC14 3 +ZDHHC1 0 +ZDHHC7 6 +ZFHX3 9 +ZKSCAN2 0 +ZNF19 0 +ZNF200 10 +ZNF205-AS1 0 +ZNF213-AS1 0 +ZNF23 0 +ZNF319 0 +ZNF423 0 +ZNF500 0 +ZNF597 0 +ZNF598 0 +ZNF629 0 +ZNF668 0 +ZNF688 0 +ZNF689 25 +ZNF747 0 +ZNF764 0 +ZNF768 0 +ZNF785 0 +ZNF821 0 +ZNF843 0 +ZP2 9 +ZSCAN10 0 +ZSCAN32 0 +AA06 0 +AARSD1 0 +AATK 0 +ABCA10 0 +ABCA5 0 +ABCA6 0 +ABCA8 0 +ABCA9 0 +ABHD15 0 +ABR 3 +ACACA 0 +ACLY 7 +ACOX1 1 +ACTG1 86 +AIPL1 0 +AKAP10 0 +ALDH3A1 0 +ALDOC 0 +ALOX12B 0 +ALOX15 14 +ALOXE3 4 +ALYREF 0 +AMZ2P1 0 +ANKFY1 0 +ANKRD40 3 +APOH 0 +APPBP2 0 +ARGFXP2 0 +ARHGAP27 0 +ARHGDIA 2 +ARL16 0 +ARL17A 0 +ARL17B 0 +ARL5C 0 +ASB16-AS1 0 +ASGR1 0 +ASGR2 0 +ASIC2 0 +ATP2A3 0 +ATP5H 1 +ATPAF2 1 +ATXN7L3 0 +AURKB 6 +AXIN2 0 +B3GNTL1 0 +B9D1 0 +BAIAP2-AS1 0 +BECN1 1 +BLMH 3 +BRCA1 6 +BRIP1 1 +BTBD17 0 +BZRAP1 0 +C17orf102 0 +C17orf47 0 +C17orf51 2 +C17orf58 0 +C17orf59 0 +C17orf62 0 +C17orf67 0 +C17orf70 0 +C17orf75 2 +C17orf85 6 +C17orf96 0 +C17orf98 0 +C1QBP 0 +C1QL1 0 +C1QTNF1-AS1 0 +CA10 1 +CACNA1G-AS1 0 +CACNB1 0 +CAMKK1 0 +CAMTA2 1 +CANT1 0 +CASC17 0 +CASKIN2 0 +CBX1 14 +CBX4 0 +CBX8 0 +CCDC144B 0 +CCDC144NL 0 +CCDC182 0 +CCDC42 0 +CCDC43 1 +CCDC47 0 +CCDC57 0 +CCL1 0 +CCL14 0 +CCL15 0 +CCL15-CCL14 0 +CCL16 0 +CCL23 0 +CCL3 0 +CCL3L1 0 +CCL3L3 0 +CCL5 0 +CCR10 0 +CCR7 0 +CCT6B 0 +CD300C 0 +CD300E 0 +CD300LB 0 +CD300LD 0 +CD300LF 0 +CD7 0 +CD79B 0 +CDC27 9 +CDC42EP4 0 +CDRT1 0 +CDRT15 0 +CDRT4 0 +CDRT8 0 +CENPV 0 +CEP112 1 +CEP131 0 +CHAD 0 +CHRNE 0 +CLDN7 0 +CLEC10A 8 +CLUH 1 +COA3 0 +COIL 6 +COL1A1 0 +COPRS 2 +COPS3 9 +COPZ2 0 +CORO6 0 +COX10-AS1 0 +COX11 0 +CPSF4L 0 +CRK 17 +CRLF3 1 +CSH1 0 +CSH2 0 +CSHL1 0 +CSNK1D 5 +CTC1 0 +CTDNEP1 1 +CUEDC1 0 +CWC25 33 +CXCL16 0 +CYB561 0 +CYGB 0 +CYTH1 2 +DCAKD 0 +DCXR 0 +DDX5 6 +DDX52 2 +DERL2 0 +DHRS13 0 +DHRS7C 0 +DHX33 5 +DHX58 1 +DLG4 0 +DLX3 0 +DNAH17 0 +DNAJC7 2 +DOC2B 0 +DUS1L 0 +DUSP3 2 +DVL2 0 +EFTUD2 0 +EIF4A3 0 +ELAC2 0 +ENTHD2 1 +EPN2-AS1 0 +ERN1 0 +ETV4 0 +EVI2A 0 +EVI2B 0 +EVPL 0 +EXOC7 0 +EZH1 0 +FADS6 0 +FAM101B 1 +FAM104A 18 +FAM106A 0 +FAM117A 6 +FAM134C 0 +FAM171A2 0 +FAM195B 0 +FAM20A 0 +FAM222B 31 +FAM83G 0 +FASN 0 +FBF1 0 +FBXL20 2 +FBXO47 0 +FDXR 0 +FLCN 2 +FLII 0 +FLJ45079 0 +FLOT2 2 +FOXJ1 0 +FOXO3B 0 +FTSJ3 2 +FXR2 0 +GABARAP 0 +GALK1 0 +GAS2L2 0 +GAS7 4 +GEMIN4 0 +GFAP 0 +GGA3 2 +GGT6 0 +GH1 0 +GH2 0 +GHDC 0 +GIP 0 +GIT1 0 +GJC1 3 +GJD3 0 +GLOD4 2 +GNA13 11 +GNGT2 0 +GPATCH8 10 +GPR179 0 +GPS2 1 +GRAP 0 +GRB2 0 +GRIN2C 0 +GSDMB 0 +H3F3B 320 +HAP1 2 +HCRT 0 +HDAC5 0 +HEATR6 0 +HEATR9 0 +HELZ 11 +HES7 0 +HID1 0 +HILS1 0 +HN1 0 +HNF1B 0 +HOXB1 0 +HOXB13 0 +HOXB2 0 +HOXB3 0 +HOXB4 0 +HOXB5 0 +HOXB6 0 +HOXB7 0 +HOXB8 0 +HOXB9 0 +HS3ST3A1 0 +HSF5 0 +ICAM2 0 +IFT20 0 +IKZF3 0 +INCA1 1 +INPP5K 0 +INTS2 1 +ITGA2B 0 +ITGAE 0 +JMJD6 1 +JUP 2 +KANSL1 1 +KAT2A 1 +KCNAB3 0 +KCNH4 0 +KCNJ2-AS1 0 +KIAA0100 1 +KIAA0753 5 +KIAA1731NL 0 +KIF18B 0 +KLHL11 0 +KRBA2 0 +KRT10 0 +KRT12 0 +KRT13 0 +KRT14 0 +KRT15 0 +KRT16 0 +KRT16P2 0 +KRT16P3 0 +KRT17 0 +KRT18P55 0 +KRT19 0 +KRT20 0 +KRT222 0 +KRT23 0 +KRT24 0 +KRT25 0 +KRT26 0 +KRT27 0 +KRT28 0 +KRT31 0 +KRT32 0 +KRT33A 0 +KRT33B 0 +KRT34 0 +KRT35 0 +KRT36 0 +KRT37 0 +KRT38 0 +KRT39 0 +KRT40 0 +KRT42P 0 +KRT9 0 +KRTAP1-1 0 +KRTAP1-3 0 +KRTAP1-4 0 +KRTAP1-5 0 +KRTAP16-1 0 +KRTAP17-1 0 +KRTAP2-1 0 +KRTAP2-2 0 +KRTAP2-3 0 +KRTAP2-4 0 +KRTAP29-1 0 +KRTAP3-1 0 +KRTAP3-2 0 +KRTAP3-3 0 +KRTAP4-1 0 +KRTAP4-11 0 +KRTAP4-12 0 +KRTAP4-2 0 +KRTAP4-3 0 +KRTAP4-4 0 +KRTAP4-5 0 +KRTAP4-6 0 +KRTAP4-8 0 +LEPREL4 0 +LGALS3BP 0 +LGALS9B 0 +LIMD2 1 +LINC00324 0 +LINC00469 0 +LINC00482 0 +LINC00483 0 +LINC00511 0 +LINC00671 0 +LINC00673 0 +LINC00675 0 +LINC00854 0 +LINC00910 0 +LINC00974 0 +LINC01180 0 +LINC01476 0 +LOC100128006 0 +LOC100128288 0 +LOC100130370 0 +LOC100132174 0 +LOC100288866 1 +LOC100294362 2 +LOC100506325 0 +LOC100506371 0 +LOC100506713 0 +LOC100996291 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101926996 0 +LOC101927207 0 +LOC101927239 0 +LOC101927274 0 +LOC101927539 0 +LOC101927557 0 +LOC101927666 0 +LOC101927911 0 +LOC101928001 0 +LOC101928266 0 +LOC101928418 0 +LOC101928567 0 +LOC101928710 0 +LOC101928766 0 +LOC101928855 0 +LOC101929767 0 +LOC102723505 0 +LOC102723517 0 +LOC102723859 0 +LOC102724009 0 +LOC102724508 0 +LOC102724862 0 +LOC103021295 0 +LOC146880 0 +LOC284009 0 +LOC284023 0 +LOC284080 0 +LOC388436 0 +LOC440434 0 +LOC644172 0 +LOC653653 0 +LOC728392 0 +LOC79999 0 +LRRC37A3 1 +LRRC37A4P 0 +LRRC59 6 +LRRC75A 0 +LSM12 0 +LYRM9 1 +LYZL6 0 +MAFG 2 +MAGOH2 0 +MAP3K14 1 +MAPT-AS1 0 +MARCH10 1 +MBTD1 0 +MED1 0 +MED13 20 +MED24 0 +MED31 0 +MEOX1 0 +METTL16 0 +MFAP4 0 +MFSD6L 0 +MGC16275 0 +MIEN1 0 +MIF4GD 1 +MIR10A 0 +MIR1180 0 +MIR1203 0 +MIR1250 0 +MIR1253 0 +MIR132 0 +MIR142 0 +MIR144 0 +MIR152 0 +MIR195 0 +MIR196A1 0 +MIR212 0 +MIR22 0 +MIR22HG 4 +MIR301A 0 +MIR3064 0 +MIR3183 0 +MIR3184 0 +MIR3185 0 +MIR3186 0 +MIR324 0 +MIR338 0 +MIR33B 0 +MIR3614 0 +MIR378J 0 +MIR4315-1 0 +MIR4315-2 0 +MIR4316 0 +MIR451A 0 +MIR4520-1 0 +MIR4522 0 +MIR4524A 0 +MIR454 0 +MIR4731 0 +MIR4732 0 +MIR4733 0 +MIR4734 0 +MIR4736 0 +MIR4737 0 +MIR4738 0 +MIR4739 0 +MIR4740 0 +MIR497 0 +MIR497HG 1 +MIR5047 0 +MIR6129 0 +MIR635 0 +MIR636 0 +MIR6510 0 +MIR657 0 +MIR6776 0 +MIR6777 0 +MIR6778 0 +MIR6780A 0 +MIR6781 0 +MIR6782 0 +MIR6783 0 +MIR6784 0 +MIR6864 0 +MIR6865 0 +MIR6868 0 +MIR6883 0 +MIR6884 0 +MKS1 1 +MMD 2 +MMP28 0 +MNT 1 +MPO 0 +MPP2 1 +MPP3 0 +MRPL10 2 +MRPL27 1 +MRPL38 1 +MRPL45P2 0 +MRPS23 1 +MTMR4 2 +MTVR2 0 +MXRA7 1 +MYADML2 0 +MYBBP1A 2 +MYH1 0 +MYH10 3 +MYH13 0 +MYH2 0 +MYH3 0 +MYH4 0 +MYH8 0 +MYO18A 0 +MYO19 1 +MYO1C 0 +MYO1D 0 +NAA38 0 +NACA2 0 +NARR 0 +NAT9 0 +NATD1 0 +NCOR1 33 +NEURL4 0 +NEUROD2 0 +NLE1 0 +NLRP1 0 +NOS2 0 +NOTUM 0 +NPLOC4 1 +NPTX1 0 +NR1D1 0 +NT5C 0 +NT5C3B 0 +NUFIP2 8 +NUP88 6 +NXN 0 +OGFOD3 0 +OMG 0 +OR1D2 0 +OR1D5 0 +OR1E1 0 +OR1E2 0 +OR1G1 0 +OR3A1 0 +OR3A2 0 +ORMDL3 3 +OSBPL7 0 +OXLD1 0 +P2RX1 0 +P2RX5 0 +P2RX5-TAX1BP3 1 +P4HB 5 +PCGF2 0 +PCYT2 0 +PDE6G 0 +PECAM1 0 +PELP1 1 +PEMT 0 +PER1 0 +PEX12 6 +PFN1 1 +PGAP3 0 +PHB 3 +PHF12 6 +PHF23 0 +PHOSPHO1 0 +PIGS 1 +PIK3R5 0 +PIK3R6 0 +PIP4K2B 1 +PIRT 0 +PITPNA 2 +PITPNM3 0 +PLCD3 1 +PLD6 0 +PLEKHH3 0 +PLEKHM1 0 +PLEKHM1P 0 +PLSCR3 0 +PLXDC1 0 +PMP22 0 +POLDIP2 4 +POLG2 0 +PPP1R27 0 +PPP1R9B 0 +PPY 1 +PRAC1 0 +PROCA1 0 +PRPF8 3 +PRPSAP1 1 +PRR15L 0 +PSMC3IP 1 +PSMD12 1 +PTGES3L 0 +PTGES3L-AARSD1 0 +PTRF 0 +PTRH2 2 +PYCR1 1 +PYY 0 +QRICH2 0 +RAB34 0 +RAB40B 1 +RAB5C 4 +RAD51D 0 +RAD51L3-RFFL 0 +RAMP2-AS1 0 +RARA-AS1 0 +RASD1 0 +RBFOX3 0 +RCVRN 0 +RDM1 0 +RECQL5 2 +RFFL 3 +RFNG 1 +RHBDF2 4 +RILP 0 +RNF157 1 +RNF222 0 +RNF43 0 +RNFT1 1 +RPH3AL 1 +RPL23 15 +RPL26 20 +RPRML 0 +RTN4RL1 0 +SAMD14 2 +SAT2 0 +SCARF1 0 +SCARNA20 0 +SCIMP 0 +SCN4A 0 +SCO1 0 +SCRN2 0 +SDF2 0 +SDK2 3 +SEBOX 0 +SECTM1 0 +SEPT4 0 +SEZ6 0 +SGK494 0 +SGSH 1 +SHMT1 1 +SHPK 0 +SIRT7 0 +SKA2 0 +SKAP1 0 +SLC13A5 0 +SLC16A11 0 +SLC16A6 0 +SLC25A11 1 +SLC25A19 0 +SLC25A35 0 +SLC25A39 2 +SLC35B1 6 +SLC35G3 0 +SLC38A10 0 +SLC39A11 0 +SLC43A2 0 +SLC46A1 0 +SLC47A2 0 +SLC4A1 0 +SLC52A1 0 +SLC6A4 0 +SLFN11 0 +SLFN12 0 +SLFN12L 0 +SLFN13 0 +SLFN14 0 +SMARCD2 0 +SMARCE1 3 +SMCR5 0 +SMG6 2 +SMURF2 10 +SMYD4 3 +SNF8 0 +SNORA21 1 +SNORD124 0 +SNORD91A 0 +SNORD91B 0 +SOCS3 0 +SOST 0 +SOX15 5 +SOX9-AS1 0 +SP6 0 +SPAG5 1 +SPAG7 0 +SPAG9 0 +SPATA22 0 +SPATA32 0 +SPDYE4 0 +SPOP 3 +SRCIN1 0 +SREBF1 0 +SRP68 10 +SRSF1 6 +SRSF2 0 +SSH2 2 +ST6GALNAC1 0 +ST6GALNAC2 0 +STAC2 0 +STAT3 1 +STAT5B 1 +STRA13 1 +STRADA 2 +STX8 2 +SUMO2 22 +SUPT4H1 2 +SYNRG 8 +TAC4 0 +TAX1BP3 0 +TBC1D16 0 +TBC1D28 0 +TBC1D3 0 +TBC1D3B 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P1-DHX40P1 0 +TBC1D3P2 0 +TBX2-AS1 0 +TEFM 0 +TEKT1 0 +TEKT3 0 +TEX14 1 +TEX2 4 +TIAF1 0 +TIMP2 0 +TK1 0 +TLCD1 0 +TLCD2 0 +TMC6 0 +TMEM100 0 +TMEM101 0 +TMEM105 0 +TMEM107 0 +TMEM11 3 +TMEM220 0 +TMEM256 0 +TMEM256-PLSCR3 0 +TMIGD1 0 +TNFRSF13B 0 +TNRC6C-AS1 0 +TNS4 0 +TOB1 6 +TOM1L2 1 +TOP2A 10 +TOP3A 0 +TP53 0 +TRAPPC1 1 +TRIM16 0 +TRIM25 0 +TRIM37 1 +TRIM47 0 +TRIM65 0 +TRPV1 0 +TRPV3 0 +TSR1 1 +TTLL6 0 +TUBD1 3 +TVP23C 1 +TVP23C-CDRT4 0 +UBE2G1 6 +UBE2O 1 +UBTF 2 +ULK2 1 +UNC119 0 +UNC13D 0 +USH1G 0 +USP22 1 +USP32 0 +USP32P2 0 +USP36 3 +UTP6 4 +VAMP2 0 +VAT1 0 +VEZF1 2 +VMO1 0 +VPS53 0 +VTN 0 +WBP2 2 +WDR45B 17 +WFDC21P 0 +WIPI1 0 +WNT3 0 +YBX2 1 +YWHAE 9 +YWHAEP7 0 +ZBTB4 3 +ZNF18 1 +ZNF232 1 +ZNF286B 0 +ZNF287 0 +ZNF385C 0 +ZNF594 0 +ZNF624 1 +ZNF652 10 +ZNF750 0 +ZSWIM7 1 +ZZEF1 0 +ARHGAP27 0 +ARL17A 0 +CRHR1 0 +CRHR1-IT1 0 +KANSL1-AS1 0 +LOC644172 0 +LRRC37A 0 +LRRC37A2 0 +LRRC37A4P 0 +MAPT 1 +MAPT-IT1 0 +MGC57346 0 +MIR4315-1 0 +MIR4315-2 0 +NSF 0 +NSFP1 0 +PLEKHM1 0 +SPPL2C 0 +STH 0 +ABHD3 0 +ACAA2 5 +AFG3L2 1 +ALPK2 0 +ANKRD29 0 +AQP4 0 +ATP5A1 11 +ATP8B1 0 +B4GALT6 0 +BCL2 0 +C18orf32 0 +C18orf42 0 +CBLN2 0 +CBX3P2 0 +CCBE1 2 +CCDC11 0 +CCDC178 2 +CCDC68 0 +CD226 0 +CDH19 0 +CDH2 3 +CELF4 0 +CEP76 0 +CHST9 0 +COLEC12 0 +CPLX4 1 +CTAGE1 0 +CXADRP3 0 +CXXC1 0 +CYB5A 5 +DLGAP1 1 +DSC1 0 +DSC2 0 +DSC3 0 +DSEL 0 +DSG1-AS1 0 +DYM 3 +ENOSF1 1 +EPB41L3 1 +EPG5 0 +ESCO1 2 +FAM210A 6 +FAM69C 0 +FBXO15 0 +FECH 0 +GACAT2 0 +GAREM 0 +GATA6-AS1 0 +GTSCR1 0 +HDHD2 1 +IER3IP1 8 +INO80C 0 +KC6 0 +KCTD1 0 +KDSR 0 +KLHL14 0 +L3MBTL4 0 +LAMA1 0 +LDLRAD4-AS1 0 +LINC-ROR 0 +LINC00305 0 +LINC00470 0 +LINC00526 0 +LINC00668 0 +LINC00669 0 +LINC00909 0 +LINC01029 0 +LINC01254 0 +LINC01444 0 +LINC01478 1 +LMAN1 4 +LOC100131655 0 +LOC100192426 0 +LOC100505474 0 +LOC100505776 0 +LOC100652770 0 +LOC100996324 0 +LOC101060542 0 +LOC101927229 0 +LOC101927273 0 +LOC101927322 0 +LOC101927571 0 +LOC101927651 0 +LOC101928167 0 +LOC102724246 0 +LOC400654 0 +LOC400655 0 +LOC644669 0 +LOC727896 0 +LOXHD1 0 +LPIN2 13 +MBD1 0 +MBD2 0 +MBP 4 +MC2R 0 +MC4R 0 +METTL4 2 +MEX3C 2 +MIR1-2 0 +MIR133A1 0 +MIR133A1HG 0 +MIR187 0 +MIR3591 0 +MIR4317 0 +MIR4319 0 +MIR4320 0 +MIR4744 0 +MIR5583-2 0 +MIR7153 0 +MIR8057 0 +MIR8078 0 +MPPE1 0 +MRO 0 +MYO5B 2 +MYOM1 0 +NARS 2 +NDUFV2-AS1 0 +NETO1 0 +NOL4 0 +NPC1 9 +OSBPL1A 9 +PARD6G 2 +PCAT18 0 +PIAS2 1 +PIEZO2 0 +PIGN 0 +POTEC 0 +PPP4R1 1 +PQLC1 0 +PSTPIP2 1 +PTPN2 3 +RAX 0 +RIT2 0 +RNF152 0 +ROCK1 2 +RPL17 1 +RPL17-C18orf32 0 +RPRD1A 0 +RTTN 8 +SERPINB3 0 +SERPINB4 0 +SKOR2 0 +SLC14A2-AS1 0 +SLC25A52 0 +SLC39A6 8 +SMAD2 14 +SMAD7 0 +SMIM21 0 +SNORA37 0 +SNORD58A 0 +SNORD58B 0 +SNORD58C 0 +SPIRE1 0 +SS18 2 +ST8SIA5 0 +STARD6 0 +SYT4 0 +TCEB3B 0 +TCEB3C 0 +TCEB3CL 0 +TCEB3CL2 0 +TCF4 1 +THOC1 0 +TMEM200C 0 +TMEM241 1 +TMX3 4 +TPGS2 1 +TRAPPC8 2 +TXNL1 4 +TXNL4A 0 +TYMSOS 0 +VPS4B 14 +YES1 10 +ZADH2 0 +ZBTB14 0 +ZBTB7C 0 +ZNF24 2 +ZNF396 0 +ZNF516 0 +ZNF519 1 +ZNF521 1 +ZSCAN30 0 +A1BG 0 +ABHD17A 0 +ABHD8 0 +ACER1 0 +ACP5 0 +ACTL9 0 +ADAMTS10 0 +ADAMTSL5 0 +ADCK4 0 +AES 0 +AKAP8 0 +AKAP8L 0 +AKT1S1 2 +AKT2 2 +ALKBH6 0 +ANGPTL6 0 +ANKRD27 0 +ANO8 0 +AP1M2 5 +AP2S1 1 +AP3D1 4 +APBA3 0 +ARRDC5 0 +ASF1B 1 +ASPDH 0 +ATP13A1 0 +ATP1A3 0 +ATP4A 0 +ATP5SL 1 +ATP8B3 0 +B3GNT8 0 +B9D2 0 +BBC3 0 +BCAT2 0 +BIRC8 0 +BLVRB 0 +BRD4 11 +BSPH1 0 +BST2 0 +BTBD2 0 +C19orf10 0 +C19orf12 0 +C19orf18 0 +C19orf25 0 +C19orf26 0 +C19orf35 0 +C19orf43 0 +C19orf47 1 +C19orf48 1 +C19orf54 1 +C19orf57 1 +C19orf67 2 +C19orf70 0 +C19orf73 0 +C19orf84 0 +C2CD4C 0 +C3 0 +CA11 0 +CABP5 0 +CACNA1A 1 +CACTIN 1 +CADM4 0 +CALR3 0 +CAPN12 0 +CARD8 1 +CCDC114 0 +CCDC151 0 +CCDC8 0 +CCER2 0 +CD209 0 +CD320 0 +CD70 0 +CDC37 0 +CDC42EP5 0 +CDKN2D 0 +CEACAM1 0 +CEACAM20 0 +CEACAM22P 1 +CEACAM4 0 +CEACAM7 0 +CEACAM8 0 +CEBPA 0 +CEP89 0 +CERS1 2 +CGB 0 +CGB1 0 +CGB7 0 +CGB8 0 +CHERP 2 +CHMP2A 0 +CIB3 0 +CIRBP-AS1 0 +CKM 0 +CLC 0 +CLDND2 0 +CLEC4G 0 +CLIP3 0 +CNFN 0 +CNTD2 1 +COL5A3 0 +COMP 0 +COPE 1 +COX6B2 0 +COX7A1 0 +CPAMD8 0 +CRLF1 0 +CSNK1G2-AS1 0 +CTU1 0 +CTXN1 0 +CXCL17 0 +CYP2A6 0 +CYP2A7 0 +CYP4F11 0 +CYP4F2 0 +CYP4F24P 0 +DACT3 0 +DAPK3 0 +DBP 0 +DDX39A 1 +DEDD2 4 +DENND1C 1 +DHPS 0 +DIRAS1 1 +DMKN 0 +DMPK 0 +DMWD 1 +DNAAF3 0 +DNAJB1 20 +DNASE2 0 +DNMT1 727 +DOCK6 0 +DOHH 0 +DPF1 1 +DPP9 0 +DUS3L 0 +DUXA 0 +DYRK1B 0 +ECH1 1 +ECSIT 1 +EEF2 8 +EID2 0 +EID2B 0 +EIF3G 1 +ELAVL1 3 +ELAVL3 0 +ELL 0 +ELOF1 4 +EML2 0 +EMR2 0 +EMR3 0 +EMR4P 0 +EPHX3 0 +EPOR 0 +EPS15L1 1 +ERCC1 0 +ERCC2 0 +ERF 0 +ETFB 0 +ETHE1 1 +EXOC3L2 9 +EXOSC5 0 +FAM138A 0 +FAM138F 0 +FAM187B 0 +FAM71E1 2 +FAM71E2 0 +FAM83E 4 +FARSA 1 +FBL 1 +FBN3 0 +FBXL12 1 +FBXO17 0 +FBXO27 5 +FBXO46 1 +FBXW9 1 +FCER2 0 +FCGBP 0 +FDX1L 0 +FIZ1 0 +FKBP1AP1 0 +FKBP8 0 +FLJ22184 0 +FLJ25758 0 +FLJ30403 0 +FPR1 0 +FUT1 0 +FUT3 0 +FUT5 0 +FUT6 0 +FUZ 0 +GADD45GIP1 0 +GAMT 0 +GDF1 0 +GGN 0 +GIPC1 1 +GMFG 0 +GMIP 0 +GNG7 0 +GNG8 0 +GP6 0 +GPR108 0 +GPR4 0 +GRIK5 0 +GSK3A 2 +GTF2F1 5 +GYS1 2 +HAPLN4 0 +HAS1 0 +HAUS8 5 +HAVCR1P1 0 +HIPK4 1 +HNRNPL 0 +HOMER3 0 +HOOK2 0 +HPN-AS1 0 +HRC 0 +HSD17B14 0 +HSPB6 0 +HSPBP1 0 +ICAM3 0 +IFNL3 0 +IFNL4 0 +IGFL3 0 +IGFL4 0 +IGFLR1 0 +IL11 0 +IL12RB1 0 +IL4I1 0 +ILF3-AS1 0 +ILVBL 0 +INSL3 0 +INSR 1 +IPO5P1 0 +IRF2BP1 0 +IRF3 0 +IRGQ 0 +ISOC2 0 +ISYNA1 0 +IZUMO1 0 +IZUMO2 0 +JAK3 0 +JOSD2 0 +JSRP1 0 +JUND 2 +KANK2 5 +KANK3 0 +KCNA7 0 +KCNC3 0 +KCNN4 0 +KDELR1 0 +KEAP1 0 +KHSRP 3 +KIAA1683 0 +KLF1 0 +KLF16 2 +KLK1 0 +KLK10 0 +KLK11 0 +KLK12 0 +KLK13 0 +KLK14 0 +KLK15 0 +KLK4 0 +KLK5 0 +KLK6 0 +KLK7 0 +KLK8 0 +KLK9 0 +KLKP1 0 +KPTN 0 +KRI1 0 +KRTDAP 0 +LAIR1 0 +LENG1 0 +LENG9 0 +LGALS4 0 +LGALS7 0 +LGI4 0 +LHB 0 +LIG1 1 +LILRA3 0 +LILRA4 0 +LILRA5 0 +LILRA6 0 +LILRB2 0 +LILRB3 0 +LILRB5 0 +LIM2 0 +LINC00662 0 +LINC00663 0 +LINC00665 2 +LINC00904 0 +LINC01002 0 +LINGO3 0 +LIPE 0 +LMNB2 1 +LMTK3 0 +LOC100128573 0 +LOC100379224 0 +LOC100420587 0 +LOC100505715 3 +LOC100506469 0 +LOC100631378 0 +LOC100996351 0 +LOC101059948 0 +LOC101927411 0 +LOC101927621 0 +LOC101927720 0 +LOC101928063 0 +LOC101928295 1 +LOC101928378 0 +LOC101928517 0 +LOC101928804 0 +LOC101929124 0 +LOC101929144 0 +LOC101929164 0 +LOC102724105 0 +LOC284344 0 +LOC284379 0 +LOC284395 0 +LOC284412 0 +LOC284454 0 +LOC400684 0 +LOC400685 0 +LOC400706 0 +LOC644050 0 +LOC729966 0 +LONP1 1 +LPAR2 0 +LPHN1 5 +LPPR3 0 +LRFN1 0 +LRG1 0 +LRRC25 0 +LRRC4B 0 +LSM4 0 +LSM7 1 +LYL1 0 +LYPD3 1 +LYPD4 2 +LYPD5 0 +LYPLA2P2 0 +MAMSTR 0 +MAN2B1 0 +MAP2K2 1 +MAP4K1 0 +MATK 0 +MBD3 0 +MBD3L3 0 +MBD3L4 0 +MBOAT7 1 +MED16 1 +MED26 0 +MEF2B 0 +MEF2BNB 0 +MEF2BNB-MEF2B 0 +MEIS3 0 +MEX3D 0 +MFSD12 0 +MIER2 2 +MIR1181 0 +MIR1227 0 +MIR1270 0 +MIR150 0 +MIR1909 0 +MIR199A1 0 +MIR23A 0 +MIR24-2 0 +MIR27A 0 +MIR3191 0 +MIR320E 0 +MIR330 0 +MIR371B 0 +MIR3940 0 +MIR4323 0 +MIR4324 0 +MIR4530 0 +MIR4531 0 +MIR4754 0 +MIR4999 0 +MIR637 0 +MIR641 0 +MIR642B 0 +MIR6719 0 +MIR6789 0 +MIR6790 0 +MIR6791 0 +MIR6795 0 +MIR6802 0 +MIR6803 0 +MIR6804 0 +MIR6885 0 +MIR7108 0 +MIR7974 0 +MIR8074 0 +MKNK2 4 +MLLT1 9 +MOB3A 1 +MUC16 0 +MYO1F 0 +MYPOP 0 +MZF1 0 +NANOS2 0 +NAPA 0 +NAPSA 0 +NAPSB 0 +NDUFA11 1 +NDUFA7 0 +NDUFB7 0 +NFKBID 0 +NKG7 0 +NKPD1 0 +NLRP11 85 +NLRP12 1 +NLRP13 45 +NLRP7 8 +NLRP9 98 +NOSIP 0 +NOTCH3 0 +NOVA2 0 +NPHS1 0 +NR2C2AP 0 +NR2F6 0 +NTF4 0 +NTN5 0 +NUCB1-AS1 0 +NUMBL 0 +NUP62 9 +NXNL1 0 +ODF3L2 2 +OLFM2 0 +OPA3 0 +OR10H1 0 +OR7A10 0 +OR7A17 0 +OR7A5 0 +OR7C1 0 +OR7D4 0 +OR7G1 0 +OR7G2 0 +OR7G3 0 +OSCAR 0 +PAF1 1 +PAFAH1B3 0 +PALM3 0 +PBX4 0 +PCAT19 0 +PCP2 0 +PCSK4 0 +PDE4C 0 +PEG3 0 +PEPD 0 +PEX11G 0 +PGLYRP1 0 +PGLYRP2 0 +PHLDB3 0 +PIH1D1 0 +PIP5K1C 0 +PLA2G4C 1 +PLAUR 0 +PLEKHA4 2 +PLEKHJ1 0 +PLIN3 2 +PLIN4 0 +PLIN5 2 +PLVAP 0 +PNKP 0 +PNMAL1 0 +PNMAL2 0 +PODNL1 0 +POLR2E 0 +POLR2I 1 +POLRMT 0 +POU2F2 0 +PPAP2C 0 +PPP1R12C 0 +PPP1R13L 0 +PPP1R14A 0 +PPP5D1 0 +PPP6R1 2 +PRAM1 0 +PRDX2 0 +PRKACA 2 +PRKD2 3 +PRODH2 0 +PRR22 0 +PRSS57 0 +PRX 0 +PSG1 0 +PSG10P 0 +PSG11 0 +PSG2 0 +PSG3 0 +PSG4 0 +PSG5 0 +PSG6 0 +PSG7 0 +PSG8 0 +PSG9 0 +PSPN 0 +PTGER1 0 +PTGIR 0 +PTH2 0 +PTOV1-AS1 1 +PTPRH 3 +PTPRS 0 +R3HDM4 8 +RAB11B-AS1 0 +RAB3A 0 +RAB3D 1 +RABAC1 2 +RANBP3 1 +RASAL3 0 +RASGRP4 0 +RASIP1 0 +RAVER1 3 +RAX2 0 +RDH13 1 +REXO1 4 +RFX1 0 +RFX2 0 +RGL3 0 +RHPN2 0 +RINL 0 +RNF126 1 +RNU6-35P 0 +RNU6-64P 0 +RNU6-66P 0 +RPL18 6 +RPS16 20 +RRAS 0 +RSPH6A 0 +RTBDN 0 +RTN2 0 +S1PR2 0 +S1PR5 0 +SAFB2 1 +SAMD1 1 +SARS2 0 +SBK2 0 +SBK3 0 +SBNO2 1 +SBSN 0 +SCGB1B2P 0 +SCGB2B2 0 +SEMA6B 0 +SERTAD1 0 +SERTAD3 5 +SGTA 2 +SH2D3A 0 +SH3GL1 2 +SHANK1 0 +SHC2 1 +SHISA7 0 +SIGLEC10 6 +SIGLEC11 0 +SIGLEC12 0 +SIGLEC14 0 +SIGLEC5 0 +SIGLEC6 0 +SIGLEC8 0 +SIRT2 0 +SIRT6 0 +SIX5 0 +SLC17A7 0 +SLC1A5 16 +SLC1A6 1 +SLC25A23 1 +SLC25A41 0 +SLC27A5 0 +SLC35E1 0 +SLC39A3 0 +SLC6A16 2 +SLC7A10 0 +SLC7A9 2 +SLC8A2 6 +SMG9 0 +SMIM24 0 +SMIM7 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A14 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-B1 0 +SNAR-B2 0 +SNAR-D 0 +SNAR-E 0 +SNAR-G2 0 +SNORD37 0 +SNORD41 0 +SNORD88A 0 +SNORD88B 0 +SNORD88C 0 +SNRPD2 1 +SPACA6P-AS 0 +SPC24 0 +STAP2 0 +STRN4 0 +STX10 0 +SUGP1 0 +SUGP2 0 +SULT2A1 0 +SYCE2 0 +SYCN 0 +SYMPK 0 +SYNE4 0 +SYT3 0 +SYT5 0 +TARM1 0 +TBXA2R 0 +TCF3 4 +TEAD2 0 +TFPT 1 +TGFB1 0 +THAP8 0 +THEG 0 +TICAM1 1 +TIMM13 0 +TIMM44 4 +TINCR 0 +TLE2 3 +TM6SF2 0 +TMC4 0 +TMED1 0 +TMEM143 0 +TMEM150B 1 +TMEM160 0 +TMEM161A 0 +TMEM205 0 +TMEM221 0 +TMEM238 0 +TMEM259 0 +TMEM86B 0 +TMIGD2 0 +TNFSF14 0 +TNNI3 1 +TNNT1 0 +TNPO2 2 +TPRX1 0 +TRAPPC6A 0 +TRMT1 0 +TSHZ3 0 +TSKS 0 +TSSK6 0 +TTC9B 0 +TUBB4A 0 +TULP2 0 +TYK2 0 +TYROBP 0 +U2AF1L4 0 +UBE2M 0 +UBE2S 1 +UBXN6 0 +UNC13A 0 +UPK1A-AS1 0 +UQCR11 0 +UQCRFS1 0 +USHBP1 0 +VN1R1 0 +VN1R4 0 +VRK3 1 +VSIG10L 0 +VSTM1 0 +WASH5P 0 +WDR83OS 0 +WDR87 0 +WIZ 0 +XAB2 1 +XRCC1 0 +YIF1B 0 +YIPF2 1 +ZBTB45 0 +ZBTB7A 0 +ZC3H4 0 +ZFP14 0 +ZFP30 0 +ZFP82 1 +ZFR2 1 +ZGLP1 1 +ZIM2 6 +ZIM3 0 +ZNF100 0 +ZNF112 0 +ZNF121 1 +ZNF132 0 +ZNF14 0 +ZNF154 0 +ZNF160 1 +ZNF180 0 +ZNF20 0 +ZNF208 0 +ZNF229 6 +ZNF235 2 +ZNF256 2 +ZNF260 1 +ZNF266 0 +ZNF28 1 +ZNF285 3 +ZNF296 0 +ZNF30-AS1 0 +ZNF320 1 +ZNF321P 0 +ZNF329 1 +ZNF347 0 +ZNF350 0 +ZNF404 1 +ZNF414 0 +ZNF415 2 +ZNF416 1 +ZNF417 0 +ZNF418 0 +ZNF426 3 +ZNF428 0 +ZNF43 0 +ZNF432 0 +ZNF433 2 +ZNF44 2 +ZNF442 0 +ZNF443 3 +ZNF45 0 +ZNF461 0 +ZNF468 0 +ZNF490 1 +ZNF497 0 +ZNF506 2 +ZNF529 0 +ZNF541 1 +ZNF550 0 +ZNF552 1 +ZNF558 0 +ZNF560 1 +ZNF561 1 +ZNF562 1 +ZNF563 0 +ZNF564 2 +ZNF565 1 +ZNF566 1 +ZNF569 1 +ZNF571 4 +ZNF573 1 +ZNF577 0 +ZNF579 0 +ZNF582 0 +ZNF585A 3 +ZNF585B 0 +ZNF599 0 +ZNF600 0 +ZNF606 1 +ZNF607 2 +ZNF611 0 +ZNF614 1 +ZNF615 1 +ZNF616 1 +ZNF625 0 +ZNF625-ZNF20 0 +ZNF626 0 +ZNF649 1 +ZNF653 0 +ZNF665 0 +ZNF667 0 +ZNF671 0 +ZNF675 0 +ZNF676 0 +ZNF677 1 +ZNF681 0 +ZNF682 1 +ZNF699 0 +ZNF702P 0 +ZNF708 0 +ZNF709 0 +ZNF724P 0 +ZNF728 0 +ZNF737 0 +ZNF77 5 +ZNF772 0 +ZNF780A 0 +ZNF780B 0 +ZNF781 0 +ZNF784 0 +ZNF787 2 +ZNF790 0 +ZNF792 0 +ZNF799 14 +ZNF812 0 +ZNF814 8 +ZNF816 0 +ZNF816-ZNF321P 0 +ZNF823 0 +ZNF826P 0 +ZNF829 0 +ZNF83 1 +ZNF835 0 +ZNF836 0 +ZNF837 0 +ZNF841 0 +ZNF846 0 +ZNF850 3 +ZNF878 0 +ZNF91 0 +ZNF98 0 +ZNF99 0 +ZSCAN18 1 +ZSCAN5A 0 +ZSCAN5B 0 +SRSF10 0 +HYDIN2 0 +LOC102724558 0 +AAK1 0 +AAMP 0 +ABCA12 0 +ABCB11 0 +ABCB6 0 +ABCG5 0 +ACADL 0 +ACTR1B 1 +ACVR1 1 +ACVR1C 0 +ADAM17 3 +ADCY3 0 +ADD2 4 +ADI1 0 +ADRA2B 2 +AFF3 1 +AGBL5-AS1 0 +AHCTF1P1 0 +ALK 0 +ALS2 1 +ALS2CR11 2 +ALS2CR12 0 +AMMECR1L 4 +ANAPC1 2 +ANKMY1 0 +ANKRD20A8P 0 +ANKRD23 0 +ANKRD30BL 0 +ANKRD36B 1 +ANKRD39 0 +ANKRD44 1 +ANKRD44-IT1 0 +AP1S3 0 +APOB 0 +AQP12B 0 +ARL4C 12 +ARL5A 3 +ASB18 0 +ASB3 5 +ASPRV1 0 +ASTL 0 +ASXL2 3 +ATAD2B 1 +ATF2 6 +ATG9A 0 +ATL2 7 +ATP5G3 3 +ATP6V1B1-AS1 0 +ATP6V1E2 0 +AUP1 0 +BARD1 17 +BAZ2B 0 +BCL11A 0 +BIN1 0 +BMP10 0 +BOK-AS1 0 +BOLA3 0 +BOLL 0 +BRE-AS1 0 +BUB1 6 +C1D 0 +C1QL2 0 +C2orf27B 0 +C2orf42 1 +C2orf43 1 +C2orf44 4 +C2orf54 0 +C2orf61 0 +C2orf66 0 +C2orf68 0 +C2orf71 0 +C2orf76 2 +C2orf80 0 +C2orf81 0 +C2orf83 0 +C2orf91 0 +CACNB4 0 +CALCRL 0 +CALM2 91 +CAPG 0 +CAPN10-AS1 0 +CAPN13 1 +CAPN14 2 +CATIP-AS1 0 +CCDC108 0 +CCDC115 1 +CCDC121 3 +CCDC141 0 +CCDC142 0 +CCDC148 2 +CCDC173 0 +CCDC74B 0 +CCDC88A 5 +CCDC93 4 +CCNT2-AS1 0 +CCT4 0 +CD207 0 +CD302 0 +CD8A 0 +CD8B 0 +CDC42EP3 1 +CDKL4 0 +CEBPZ 7 +CERKL 2 +CERS6-AS1 0 +CFC1 0 +CFC1B 0 +CFLAR-AS1 0 +CGREF1 0 +CHMP3 16 +CHN1 0 +CHPF 0 +CHRNA1 0 +CHST10 0 +CIB4 0 +CIR1 34 +CKAP2L 5 +CLASP1 0 +CLEC4F 0 +CLHC1 0 +CLK1 4 +CMPK2 0 +CNPPD1 1 +CNRIP1 4 +COA5 0 +COBLL1 5 +COL4A4 0 +COL5A2 0 +COL6A3 0 +COX7A2L 6 +CREG2 0 +CRYBA2 0 +CRYGA 0 +CRYGB 0 +CRYGC 0 +CRYGD 0 +CUL3 2 +CWC22 3 +CXCR1 0 +CXCR2P1 0 +CXCR4 0 +CYP1B1 0 +CYP26B1 0 +CYP27C1 0 +CYP4F62P 0 +CYS1 0 +CYTIP 0 +DARS 15 +DBIL5P2 0 +DCTN1 6 +DDX11L2 0 +DGUOK-AS1 0 +DHX57 0 +DIRC1 0 +DIRC3 0 +DLX2 0 +DNAH7 0 +DNAJB3 0 +DNAJC27 0 +DNER 0 +DNMT3A 2 +DNPEP 0 +DOCK10 0 +DPP10-AS1 0 +DPP4 0 +DPY30 5 +DQX1 0 +DTNB 0 +DTYMK 0 +DUSP11 1 +DUSP2 0 +DYTN 0 +E2F6 0 +ECEL1 0 +ECEL1P2 0 +EDAR 2 +EFEMP1 0 +EGR4 0 +EIF2AK2 2 +EIF2AK3 0 +EIF2B4 0 +EN1 0 +EPHA4 4 +ERBB4 18 +ERCC3 1 +ERMN 0 +EVA1A 0 +EVX2 0 +EXOC6B 0 +FABP1 0 +FAHD2B 0 +FAM110C 0 +FAM124B 0 +FAM126B 1 +FAM136A 1 +FAM150B 0 +FAM161A 5 +FAM168B 2 +FAM178B 0 +FAM49A 0 +FAM95A 0 +FAM98A 1 +FANCL 1 +FAP 0 +FAR2P1 0 +FAR2P2 0 +FARSB 0 +FASTKD1 4 +FBXO11 5 +FBXO41 0 +FBXO48 0 +FEV 0 +FEZ2 32 +FHL2 0 +FIGLA 2 +FIGN 0 +FKBP7 0 +FLJ31356 0 +FLJ33534 0 +FLJ42351 0 +FLJ43879 0 +FN1 22 +FNDC4 0 +FOXI3 0 +FRZB 0 +FSHR 0 +FTCDNL1 0 +FTH1P3 0 +FZD5 0 +GALNT14 0 +GALNT3 2 +GBX2 0 +GCFC2 0 +GCG 0 +GCSHP3 0 +GFPT1 4 +GGCX 3 +GKN2 0 +GLB1L 0 +GPAT2 0 +GPR1 0 +GPR113 0 +GPR155 0 +GPR55 0 +GPR75 0 +GPR75-ASB3 0 +GRB14 0 +GTDC1 4 +GTF3C2 8 +GTF3C3 3 +HAAO 0 +HADHA 0 +HAGLR 0 +HDAC4 0 +HDLBP 10 +HEATR5B 1 +HECW2 2 +HES6 1 +HIBCH 9 +HJURP 22 +HNRNPLL 0 +HOXD-AS2 0 +HS1BP3 0 +HS1BP3-IT1 0 +HS6ST1 0 +HSPD1 2 +HTR2B 0 +ICA1L 4 +ID2-AS1 0 +IDH1 7 +IFIH1 0 +IFT172 1 +IGFBP5 0 +IHH 0 +IKZF2 0 +IL1A 0 +IL1B 0 +IL36B 0 +ILKAP 2 +IMMT 11 +INO80D 4 +IQCA1 17 +IRS1 0 +ITGB1BP1 0 +ITGB6 0 +ITSN2 2 +IWS1 131 +KANSL1L 0 +KANSL3 2 +KCNG3 0 +KCNH7 0 +KCNJ13 0 +KCNK12 0 +KCTD18 0 +KIAA1211L 0 +KIAA1715 3 +KIDINS220 4 +KIF1A 1 +KIF3C 2 +KLF7 1 +KRCC1 0 +LANCL1 1 +LAPTM4A 10 +LBX2 0 +LCT 0 +LHCGR 0 +LIMS2 1 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00116 0 +LINC00211 0 +LINC00276 0 +LINC00298 0 +LINC00299 1 +LINC00309 0 +LINC00342 0 +LINC00471 0 +LINC00487 0 +LINC00607 0 +LINC01101 0 +LINC01103 0 +LINC01106 0 +LINC01107 0 +LINC01114 0 +LINC01115 1 +LINC01116 0 +LINC01121 0 +LINC01123 0 +LINC01124 0 +LINC01158 0 +LINC01159 0 +LINC01185 0 +LINC01246 0 +LINC01247 0 +LINC01248 0 +LINC01249 0 +LINC01250 0 +LINC01280 0 +LINC01304 0 +LINC01473 0 +LINC01494 0 +LMAN2L 0 +LOC100129434 0 +LOC100130451 0 +LOC100130452 0 +LOC100130691 0 +LOC100132215 0 +LOC100133985 0 +LOC100144595 0 +LOC100286922 0 +LOC100287010 0 +LOC100288570 0 +LOC100288911 0 +LOC100499194 0 +LOC100505716 0 +LOC100505736 0 +LOC100505984 0 +LOC100506076 0 +LOC100506123 0 +LOC100506124 0 +LOC100506142 0 +LOC100506474 0 +LOC100507140 0 +LOC100507201 0 +LOC100630918 0 +LOC101060091 0 +LOC101060385 0 +LOC101926913 0 +LOC101927043 0 +LOC101927142 0 +LOC101927196 0 +LOC101927438 0 +LOC101927492 0 +LOC101927577 0 +LOC101927619 0 +LOC101927701 0 +LOC101927709 0 +LOC101927795 0 +LOC101927865 0 +LOC101927967 0 +LOC101927987 0 +LOC101928273 0 +LOC101929260 0 +LOC101929319 0 +LOC101929378 0 +LOC101929452 0 +LOC101929512 0 +LOC101929551 0 +LOC101929567 0 +LOC101929596 0 +LOC101929723 0 +LOC101929753 0 +LOC102723824 0 +LOC102723854 0 +LOC102724321 0 +LOC102724691 0 +LOC151121 0 +LOC151174 0 +LOC151475 0 +LOC200772 0 +LOC285000 0 +LOC285074 0 +LOC339803 2 +LOC375196 0 +LOC389033 0 +LOC400958 0 +LOC400997 0 +LOC401010 0 +LOC440895 0 +LOC442028 0 +LOC644838 0 +LOC645949 0 +LOC646743 0 +LOC654342 0 +LOC654841 0 +LOC728819 0 +LOC90784 0 +LONRF2 0 +LOXL3 1 +LRP1B 2 +LRP2 0 +LRPPRC 1 +LRRTM1 0 +LRRTM4 8 +LY75 0 +LY75-CD302 0 +LYG1 0 +LYG2 0 +LYPD1 5 +M1AP 1 +MALL 0 +MAP3K19 0 +MAP3K2 1 +MAP4K3 1 +MARCH4 1 +MATN3 0 +MBOAT2 1 +MCEE 0 +MCFD2 0 +MCM6 2 +MDH1B 0 +MEIS1-AS3 0 +MEMO1 0 +METTL21A 1 +METTL5 0 +METTL8 0 +MFSD9 0 +MGAT4A 0 +MGC16025 0 +MIR1245B 0 +MIR1246 0 +MIR1258 0 +MIR1301 0 +MIR1471 0 +MIR153-1 0 +MIR216A 0 +MIR216B 0 +MIR217 0 +MIR2355 0 +MIR2467 0 +MIR3128 0 +MIR3129 0 +MIR3130-1 0 +MIR3131 0 +MIR3132 0 +MIR3682 0 +MIR375 0 +MIR4261 0 +MIR4262 0 +MIR4264 0 +MIR4265 0 +MIR4266 0 +MIR4267 0 +MIR4268 0 +MIR4429 0 +MIR4432 0 +MIR4435-1 0 +MIR4435-1HG 0 +MIR4435-2 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4437 0 +MIR4439 0 +MIR4440 0 +MIR4441 0 +MIR4773-2 0 +MIR4776-2 0 +MIR4778 0 +MIR4779 0 +MIR4780 0 +MIR4782 0 +MIR4783 0 +MIR4784 0 +MIR4785 0 +MIR4786 0 +MIR5001 0 +MIR548AD 0 +MIR548F2 0 +MIR5702 0 +MIR6071 0 +MIR6512 0 +MIR6513 0 +MIR663B 0 +MIR6809 0 +MIR7515HG 0 +MIR7853 0 +MIR8080 0 +MIR933 0 +MITD1 2 +MLK7-AS1 1 +MMADHC 0 +MOB1A 2 +MOGS 0 +MPP4 0 +MPV17 1 +MREG 0 +MRPL53 0 +MRPS5 6 +MSL3P1 0 +MSTN 0 +MTERF4 0 +MTIF2 3 +MYADML 0 +MYCNOS 0 +MYEOV2 2 +MYL1 0 +MYT1L 0 +MZT2A 0 +NAT8 0 +NAT8B 0 +NBAS 0 +NCKAP1 1 +NCKAP5 0 +NCL 7 +NDUFA10 0 +NDUFS1 1 +NEB 2 +NEURL3 0 +NEUROD1 0 +NFE2L2 5 +NFU1 2 +NGEF 0 +NHEJ1 0 +NIFK 2 +NLRC4 0 +NMI 0 +NMUR1 0 +NOL10 5 +NPHP1 1 +NPPC 0 +NR4A2 0 +NRXN1 1 +NT5C1B 0 +NT5C1B-RDH14 0 +NTSR2 0 +NXPH2 0 +OBSL1 0 +ODC1 35 +OLA1 0 +OR6B2 0 +OR6B3 0 +ORC2 2 +ORC4 2 +ORMDL1 2 +OSGEPL1 0 +OSR1 0 +OST4 0 +OTOF 0 +OTOS 0 +OXER1 0 +PAIP2B 7 +PASK 2 +PAX3 0 +PAX8 0 +PCBP1-AS1 0 +PCGF1 8 +PDCD1 0 +PDE11A 0 +PDE1A 1 +PDE6D 1 +PDIA6 2 +PECR 2 +PELI1 1 +PER2 0 +PFN4 0 +PGAP1 0 +PGM5P3-AS1 0 +PGM5P4-AS1 0 +PID1 0 +PIGF 0 +PLA2R1 0 +PLEKHM3 1 +PLGLB1 0 +PLGLB2 0 +PNPT1 7 +POLR1A 0 +POLR2D 1 +POMC 0 +POTEF 0 +POTEI 0 +PP14571 0 +PPIL3 1 +PPM1G 4 +PPP3R1 1 +PRADC1 2 +PREB 3 +PREPL 14 +PRKAG3 0 +PRKD3 1 +PRKRA 1 +PRPF40A 83 +PRR21 0 +PRR30 0 +PSME4 0 +PTPRN 0 +PTRHD1 2 +PUM2 0 +PUS10 1 +PXDN 0 +RAB11FIP5 1 +RAB17 0 +RAB1A 6 +RAB6C-AS1 0 +RAD51AP2 0 +RAPGEF4-AS1 0 +RAPH1 1 +RBKS 0 +RBM43 0 +RBMS1 0 +RDH14 0 +REEP1 0 +REG1B 0 +REG1P 0 +REG3A 0 +RESP18 0 +RETSAT 0 +REV1 12 +RFTN2 0 +RFX8 0 +RGPD1 0 +RGPD2 0 +RGPD3 0 +RGPD4-AS1 0 +RGPD5 0 +RGPD6 0 +RGPD8 0 +RMDN2-AS1 0 +RNASEH1 4 +RND3 1 +RNF103 0 +RNF103-CHMP3 0 +RNF144A-AS1 0 +RNF149 0 +RNF25 1 +RNU6-2 0 +ROCK2 0 +RPL23AP7 1 +RPRM 0 +RTKN 0 +RTN4 10 +SAP130 5 +SATB2 1 +SCG2 0 +SCN1A 2 +SCN3A 0 +SCN7A 0 +SCN9A 0 +SCTR 0 +SDC1 0 +SDPR 0 +SEMA4C 0 +SEPT10 3 +SERPINE2 0 +SERTAD2 0 +SESTD1 2 +SF3B1 20 +SF3B6 2 +SFTPB 0 +SFXN5 0 +SH3RF3-AS1 0 +SH3YL1 0 +SIX2 1 +SIX3-AS1 0 +SLC16A14 0 +SLC19A3 0 +SLC23A3 0 +SLC25A12 0 +SLC30A3 0 +SLC35F5 0 +SLC38A11 0 +SLC40A1 0 +SLC4A5 2 +SLC5A6 2 +SLC8A1 6 +SMC6 3 +SMEK2 3 +SMPD4 0 +SNAR-H 0 +SNORA36C 0 +SNORA70B 0 +SNORA70F 0 +SNORA75 0 +SNORA80B 0 +SNORD20 0 +SNORD82 0 +SNORD89 0 +SNRNP200 4 +SNRPG 1 +SOS1 0 +SP110 2 +SP3 4 +SPATA3-AS1 0 +SPC25 0 +SPHKAP 0 +SPRED2 0 +SRBD1 2 +SRD5A2 0 +SRSF7 6 +ST3GAL5 0 +ST6GAL2 0 +STAM2 1 +STARD7 12 +STAT1 2 +STAT4 0 +STK17B 1 +STK25 2 +STK39 3 +STRN 2 +SUCLG1 5 +SULT6B1 0 +SUMO1 4 +SUPT7L 1 +TACR1 0 +TBC1D8 0 +TEX261 1 +TFCP2L1 0 +TFPI 0 +TGFA 1 +TGFA-IT1 0 +TGFBRAP1 2 +TGOLN2 1 +THADA 2 +THAP4 1 +THUMPD2 0 +TIA1 0 +TIGD1 0 +TISP43 0 +TLK1 1 +TM4SF20 0 +TMBIM1 4 +TMEFF2 0 +TMEM127 1 +TMEM131 0 +TMEM150A 0 +TMEM163 1 +TMEM17 0 +TMEM18 3 +TMEM185B 2 +TMEM194B 0 +TMEM237 0 +TNP1 0 +TNS1 0 +TP53I3 0 +TPRKB 0 +TRABD2A 0 +TRAK2 3 +TRIM43B 0 +TRIP12 42 +TRMT61B 0 +TSGA10 2 +TSPYL6 0 +TSSC1 3 +TTC21B 0 +TTC30A 0 +TTC30B 0 +TTC32 0 +TTN 0 +TUBA3E 0 +TUBA4A 25 +TXNDC9 10 +TYW5 0 +UCN 0 +USP34 25 +USP37 2 +USP40 1 +UXS1 5 +VPS54 0 +WDFY1 47 +WDPCP 0 +WDR12 6 +WDR33 6 +WDR35 0 +WDR92 1 +WDSUB1 1 +WIPF1 0 +WTH3DI 0 +XDH 0 +XIRP2-AS1 0 +XPO1 4 +YWHAQ 32 +ZC3H8 8 +ZEB2 0 +ZFP36L2 0 +ZNF142 2 +ZNF385B 0 +ZNF513 0 +ZNF514 0 +ZRANB3 0 +ZSWIM2 0 +ABHD12 0 +ACOT8 0 +ACSS1 0 +ADA 0 +ADAM33 0 +ADNP 0 +ADRA1D 0 +AHCY 9 +ANGPT4 0 +APCDD1L 0 +APMAP 0 +ARFRP1 1 +ATP5E 0 +ATP9A 0 +AURKA 183 +AVP 0 +B4GALT5 7 +BCAS1 0 +BCL2L1 3 +BFSP1 1 +BHLHE23 0 +BLCAP 17 +BMP7 0 +C20orf166-AS1 0 +C20orf173 0 +C20orf194 2 +C20orf203 0 +C20orf27 0 +C20orf62 0 +C20orf78 0 +C20orf96 0 +CABLES2 1 +CBLN4 0 +CD93 0 +CDH22 0 +CDK5RAP1 0 +CENPB 0 +CHD6 3 +CHRNA4 0 +COMMD7 1 +CPNE1 1 +CPXM1 0 +CRNKL1 6 +CSNK2A1 7 +CST1 0 +CST11 0 +CST2 0 +CST3 0 +CST4 0 +CST5 0 +CST9 0 +CST9L 0 +CTCFL 3 +CTSZ 1 +CYP24A1 0 +DDRGK1 0 +DEFB116 0 +DEFB119 0 +DEFB121 0 +DEFB122 0 +DEFB124 0 +DEFB128 0 +DIDO1 0 +DPM1 2 +DSN1 6 +DUSP15 0 +DZANK1 0 +E2F1 3 +EDEM2 1 +EEF1A2 1 +EIF2S2 5 +EIF6 1 +ELMO2 10 +EMILIN3 0 +EPPIN 0 +EPPIN-WFDC6 0 +ESF1 10 +FAM182B 0 +FAM65C 3 +FAM83C 0 +FASTKD5 1 +FER1L4 1 +FERMT1 0 +FITM2 0 +FKBP1A 2 +FKBP1A-SDCBP2 0 +FLRT3 0 +FOXA2 0 +FOXS1 0 +GATA5 0 +GCNT7 0 +GDF5 0 +GFRA4 0 +GGT7 0 +GGTLC1 0 +GHRH 0 +GMEB2 0 +GNAS-AS1 0 +GPCPD1 0 +GSS 0 +GTSF1L 0 +HAO1 0 +HAR1B 0 +HELZ2 0 +HM13-AS1 0 +HMGB3P1 0 +HNF4A-AS1 0 +HRH3 0 +IDH3B 0 +ISM1-AS1 0 +JAG1 7 +JPH2 0 +KCNB1 0 +KCNG1 0 +KCNQ2 0 +KCNS1 0 +KIAA1755 0 +KIF16B 1 +LAMA5 0 +LAMP5-AS1 0 +LINC00029 0 +LINC00261 0 +LINC00489 0 +LINC00652 0 +LINC00654 0 +LINC00656 0 +LINC00657 0 +LINC00658 0 +LINC00659 0 +LINC00687 0 +LINC01260 0 +LINC01271 0 +LINC01384 0 +LINC01427 0 +LINC01428 0 +LINC01429 0 +LINC01430 0 +LINC01431 0 +LINC01441 0 +LKAAEAR1 0 +LOC100130264 0 +LOC100289473 0 +LOC100506384 0 +LOC100507459 0 +LOC101926889 0 +LOC101926935 0 +LOC101926987 0 +LOC101927457 0 +LOC101927559 0 +LOC101928048 0 +LOC101929207 0 +LOC101929225 0 +LOC101929413 0 +LOC101929486 0 +LOC101929526 0 +LOC101929591 0 +LOC101929608 0 +LOC102606466 0 +LOC102723483 0 +LOC284788 0 +LOC284798 0 +LOC339568 0 +LOC339593 0 +LRRN4 1 +LZTS3 0 +MACROD2-AS1 0 +MAFB 0 +MATN4 0 +MIR103B2 0 +MIR1257 0 +MIR1914 0 +MIR296 0 +MIR298 0 +MIR3194 0 +MIR4325 0 +MIR4756 0 +MIR4758 0 +MIR499B 0 +MIR647 0 +MIR663A 0 +MIR663AHG 0 +MIR6813 0 +MIR6869 0 +MIR6870 0 +MKKS 0 +MKRN7P 0 +MLLT10P1 0 +MMP24-AS1 0 +MROH8 0 +MTRNR2L3 0 +NANP 0 +NAPB 0 +NCOA5 0 +NCOA6 10 +NCOR1P1 0 +NDRG3 4 +NECAB3 0 +NEURL2 0 +NFATC2 1 +NFS1 0 +NINL 0 +NKAIN4 0 +NKX2-2 0 +NKX2-4 0 +NOL4L 0 +NPBWR2 0 +NSFL1C 2 +OCSTAMP 0 +OGFR-AS1 0 +OSER1 1 +OVOL2 0 +PAK7 0 +PCED1A 0 +PCNA 143 +PDRG1 0 +PDYN 0 +PIGU 4 +PLAGL2 11 +PLCG1-AS1 1 +PLTP 0 +PMEPA1 0 +PPP1R3D 6 +PPP4R1L 0 +PREX1 4 +PRNT 0 +PROKR2 0 +PSMA7 26 +PTGIS 0 +PTK6 0 +PTPRT 0 +PXMP4 0 +RALGAPA2 0 +RALY-AS1 0 +RASSF2 0 +RBBP8NL 0 +RBBP9 0 +RBL1 1 +RBM12 2 +RBM39 11 +RGS19 1 +RIMS4 0 +RNF24 5 +RRBP1 1 +RSPO4 0 +SALL4 3 +SAMD10 0 +SAMHD1 6 +SCAND1 0 +SCRT2 0 +SDC4 0 +SDCBP2 0 +SEL1L2 0 +SERINC3 4 +SIGLEC1 0 +SIRPB1 0 +SIRPB2 0 +SIRPD 0 +SIRPG 0 +SLA2 0 +SLC13A3 0 +SLC23A2 0 +SLC35C2 0 +SLC4A11 0 +SLC52A3 0 +SLCO4A1-AS1 0 +SLMO2 1 +SLMO2-ATP5E 0 +SLPI 0 +SNAP25-AS1 0 +SNHG17 1 +SNORA71A 0 +SNORA71B 0 +SNORA71C 0 +SNORA71D 0 +SNORD119 0 +SNORD17 0 +SNRPB 0 +SNTA1 0 +SNX5 13 +SOGA1 0 +SOX18 0 +SPATA2 12 +SPATA25 0 +SPEF1 0 +SPINT3 0 +SRMS 0 +SRXN1 2 +STAU1 19 +STK4-AS1 0 +STMN3 0 +SULF2 0 +SUMO1P1 0 +SUN5 0 +SYCP2 9 +TAF4 3 +TASP1 0 +TBC1D20 1 +TCF15 0 +TCFL5 1 +TGM2 0 +THBD 0 +TMEM189 3 +TMEM189-UBE2V1 0 +TMEM230 0 +TMEM74B 0 +TMX4 1 +TNNC2 0 +TOMM34 4 +TP53RK 0 +TP53TG5 0 +TRERNA1 0 +TRMT6 3 +TRPC4AP 6 +TSPY26P 0 +TTI1 0 +UBE2V1 16 +UBOX5 1 +UCKL1 0 +UQCC1 0 +VSX1 0 +WFDC10B 0 +WFDC11 0 +WFDC12 0 +WFDC3 0 +WFDC5 0 +WFDC6 0 +WFDC8 0 +WFDC9 0 +YTHDF1 11 +ZBP1 0 +ZBTB46 0 +ZFP64 0 +ZHX3 12 +ZMYND8 14 +ZNF217 1 +ZNF334 0 +ZNF335 0 +ZNF337 6 +ZNF341-AS1 0 +ZNF343 0 +ZNF512B 0 +ZNF663P 0 +ZNFX1 0 +ADAMTS1 0 +ADAMTS5 0 +ANKRD20A11P 0 +APP 0 +ATP5J 1 +ATP5O 1 +BAGE 0 +BAGE2 0 +BAGE3 0 +BAGE4 0 +BAGE5 0 +BRWD1 8 +BTG3 0 +C21orf128 0 +C21orf140 0 +C21orf2 0 +C21orf54 0 +C21orf58 0 +C21orf59 36 +C21orf62 0 +C21orf67 0 +C21orf88 0 +C21orf91 0 +C21orf91-OT1 0 +C2CD2 0 +CBR3-AS1 0 +CBS 0 +CCT8 24 +CHODL-AS1 0 +CLDN14 0 +CLDN17 0 +CLDN8 0 +COL18A1-AS1 0 +COL18A1-AS2 0 +CRYZL1 1 +CSTB 13 +CYP4F29P 0 +CYYR1 0 +D21S2088E 0 +DNAJC28 0 +DNMT3L 0 +DONSON 0 +DSCAM 0 +DSCAM-IT1 0 +DSCR3 2 +DSCR4 0 +ERG 0 +FTCD 1 +GART 1 +GRIK1 0 +HLCS 1 +HMGN1 3 +HSF2BP 1 +HSPA13 1 +ICOSLG 0 +IL10RB-AS1 0 +ITGB2 0 +KCNE1 1 +KCNJ6 0 +KRTAP10-1 0 +KRTAP10-2 0 +KRTAP10-3 0 +KRTAP10-5 0 +KRTAP10-6 0 +KRTAP11-1 0 +KRTAP12-1 0 +KRTAP12-2 0 +KRTAP12-4 0 +KRTAP13-2 0 +KRTAP13-3 0 +KRTAP19-1 0 +KRTAP19-2 0 +KRTAP19-3 0 +KRTAP19-4 0 +KRTAP19-5 0 +KRTAP19-6 0 +KRTAP19-7 0 +KRTAP19-8 0 +KRTAP21-1 0 +KRTAP21-2 0 +KRTAP21-3 0 +KRTAP22-2 0 +KRTAP23-1 0 +KRTAP24-1 0 +KRTAP25-1 0 +KRTAP26-1 0 +KRTAP27-1 0 +KRTAP6-1 0 +KRTAP6-2 0 +KRTAP7-1 0 +KRTAP8-1 0 +LCA5L 0 +LINC00114 0 +LINC00158 0 +LINC00159 0 +LINC00160 0 +LINC00162 0 +LINC00163 0 +LINC00307 0 +LINC00313 0 +LINC00316 0 +LINC00317 0 +LINC00320 0 +LINC00322 0 +LINC00323 0 +LINC00479 0 +LINC00515 0 +LINC01423 0 +LIPI 0 +LOC100129027 0 +LOC100133286 0 +LOC100506403 0 +LOC101927797 0 +LOC101927843 0 +LOC101927869 0 +LOC101928107 0 +LOC101928269 0 +LOC101928435 0 +LOC284837 0 +LOC388813 0 +LOC400867 0 +LRRC3-AS1 0 +LSS 2 +LTN1 3 +MCM3AP 5 +MIR3156-3 0 +MIR4327 0 +MIR4760 0 +MIR5009 0 +MIR6070 0 +MIR6814 0 +MIS18A 25 +MRPL39 0 +N6AMT1 0 +NRIP1 3 +PAXBP1 0 +PIGP 4 +PLAC4 0 +POFUT2 0 +PRDM15 1 +PSMG1 8 +PTTG1IP 14 +RCAN1 1 +RIPK4 0 +RSPH1 0 +RUNX1 0 +RUNX1-IT1 0 +RWDD2B 0 +S100B 0 +SAMSN1 0 +SCAF4 1 +SETD4 0 +SIK1 0 +SLC19A1 1 +SNORA80A 0 +SPATC1L 0 +SSR4P1 0 +SUMO3 0 +SYNJ1 3 +TCP10L 0 +TEKT4P2 0 +TFF1 0 +TFF2 0 +TFF3 0 +TIAM1 40 +TMEM50B 12 +TMPRSS15 0 +TMPRSS2 0 +TMPRSS3 0 +TPTE 0 +TRPM2-AS 0 +TSPEAR 0 +U2AF1 1 +UBE2G2 0 +URB1 1 +WDR4 0 +ZBTB21 1 +A4GALT 0 +ADORA2A-AS1 0 +ALG12 0 +ANKRD54 0 +ANKRD62P1-PARP4P3 0 +AP1B1 0 +APOBEC3B-AS1 0 +APOL2 0 +APOL3 0 +APOL4 0 +ARFGAP3 0 +ARSA 0 +ARVCF 0 +ASCC2 2 +ATP5L2 0 +ATP6V1E1 2 +BAIAP2L2 1 +BID 0 +BPIFC 0 +BRD1 3 +C1QTNF6 1 +C22orf23 0 +C22orf24 0 +C22orf29 3 +C22orf31 0 +C22orf34 0 +C22orf39 0 +C22orf42 0 +CACNG2 0 +CARD10 0 +CBX6 0 +CBX7 0 +CCT8L2 0 +CDPF1 0 +CECR1 0 +CECR3 0 +CECR5 0 +CECR6 1 +CELSR1 3 +CENPM 1 +CERK 0 +CES5AP1 0 +CHADL 0 +CHCHD10 0 +CHEK2 0 +CHKB 0 +CHKB-CPT1B 0 +CLDN5 0 +CLTCL1 0 +CPT1B 0 +CRYBB1 0 +CSNK1E 4 +CYB5R3 2 +CYP2D6 0 +CYP2D7P 0 +DDT 0 +DDX17 2 +DENND6B 0 +DERL3 0 +DESI1 0 +DGCR11 0 +DGCR14 2 +DGCR2 0 +DGCR6L 0 +DMC1 0 +DNAJB7 0 +DNAL4 2 +DRICH1 0 +DUSP18 5 +DUXAP8 0 +EFCAB6 0 +EIF3D 1 +EIF4ENIF1 22 +ELFN2 0 +ENTHD1 0 +EP300-AS1 0 +FAM227A 2 +FOXRED2 1 +GAB4 0 +GAL3ST1 0 +GATSL3 0 +GGT3P 0 +GGT5 0 +GNB1L 0 +GSC2 0 +GSTT1 0 +GSTT2 0 +GSTT2B 0 +GSTTP1 0 +GSTTP2 0 +GTSE1-AS1 0 +GUCD1 5 +GUSBP11 0 +HDAC10 0 +HIRA 0 +HORMAD2-AS1 1 +HPS4 2 +IFT27 0 +IGLL1 0 +IL17REL 0 +IL2RB 1 +JOSD1 0 +KCNJ4 0 +KIAA0930 0 +KIAA1644 0 +KIAA1656 0 +KLHL22 0 +LARGE 1 +LDOC1L 0 +LGALS2 0 +LIF 0 +LINC00229 0 +LINC00895 0 +LINC00898 0 +LINC00899 0 +LINC01315 0 +LMF2 0 +LOC100128531 0 +LOC100506271 0 +LOC101927051 0 +LOC101927722 2 +LOC101929372 0 +LOC101929829 0 +LOC284865 0 +LOC284889 0 +LOC284933 0 +LOC388849 0 +LOC388882 0 +LOC400927 0 +LOC642757 0 +LOC90834 0 +LRP5L 0 +LRRC75B 0 +MAPK1 0 +MAPK11 0 +MAPK12 0 +MB 0 +MCAT 1 +MFNG 0 +MICAL3 0 +MIR1249 0 +MIR1286 0 +MIR3198-1 0 +MIR3199-1 0 +MIR3653 0 +MIR3928 0 +MIR4764 0 +MIR4766 0 +MIR548J 0 +MIR6069 0 +MIR648 0 +MIR658 0 +MIR659 0 +MIR6816 0 +MIR6819 0 +MIR6889 0 +MIR7109 0 +MKL1 3 +MLC1 0 +MN1 0 +MORC2 1 +MYH9 0 +NAGA 0 +NDUFA6 2 +NFAM1 0 +NHP2L1 0 +NIPSNAP1 0 +NPTXR 0 +NUP50-AS1 0 +ODF3B 0 +OR11H1 0 +OSM 0 +P2RX6P 0 +PACSIN2 2 +PATZ1 0 +PDGFB 0 +PES1 4 +PHF21B 0 +PHF5A 1 +PI4KA 0 +PI4KAP1 0 +PI4KAP2 0 +PIK3IP1 0 +PISD 1 +PITPNB 0 +PIWIL3 4 +PKDREJ 0 +PLA2G3 0 +PLA2G6 0 +PLXNB2 0 +PMM1 0 +PNPLA5 0 +POLDIP3 4 +POLR3H 3 +POM121L10P 0 +POM121L1P 0 +POTEH 0 +PPM1F 2 +PRAME 0 +PRODH 0 +PRR14L 7 +PRR34 0 +PVALB 0 +RABL2B 0 +RAC2 1 +RANGAP1 1 +RASL10A 0 +RBFOX2 5 +RFPL1S 0 +RFPL2 0 +RFPL3S 0 +RHBDD3 0 +RIMBP3 0 +RIMBP3B 0 +RIMBP3C 0 +RNF215 0 +RNU86 0 +RPL3 17 +RPS19BP1 0 +RRP7A 1 +RRP7B 1 +RTCB 4 +RTDR1 0 +RTN4R 1 +SBF1 2 +SCARF2 0 +SCO2 0 +SCUBE1 0 +SDC4P 0 +SEC14L3 0 +SEC14L4 0 +SEC14L6 0 +SELM 0 +SF3A1 2 +SHISA8 0 +SLC16A8 0 +SLC25A1 0 +SLC25A17 1 +SLC5A4 0 +SLC7A4 0 +SMC1B 1 +SNORD125 0 +SNORD43 0 +SNORD83A 2 +SNORD83B 0 +SOX10 0 +SSTR3 1 +ST13 2 +SULT4A1 0 +SUN2 0 +SYCE3 0 +SYN3 1 +TBC1D10A 1 +TCF20 2 +TEX33 0 +TFIP11 0 +THAP7 1 +THOC5 0 +TMEM184B 3 +TMEM211 0 +TMPRSS6 0 +TNFRSF13C 0 +TOB2 1 +TOP3B 0 +TPST2 1 +TRMT2A 0 +TST 0 +TTC28 3 +TTLL1 0 +TTLL12 2 +TUBA3FP 0 +TUBGCP6 0 +TXN2 8 +TXNRD2 0 +TYMP 0 +UFD1L 0 +VPREB3 0 +WNT7B 0 +XBP1 1 +XKR3 0 +YDJC 0 +YPEL1 4 +ZDHHC8P1 0 +ZMAT5 1 +ZNF280A 0 +ZNF280B 16 +ZNF70 1 +ZNRF3-AS1 0 +A4GNT 0 +AADACL2-AS1 0 +ABCC5 1 +ABHD14B 0 +ABI3BP 0 +ACAA1 0 +ACAD11 2 +ACAP2 1 +ACOX2 0 +ACTR8 1 +ACTRT3 0 +ACVR2B-AS1 0 +ADAMTS9 1 +ADCY5 8 +ADIPOQ-AS1 0 +ALDH1L1 0 +ALG1L 0 +ALG3 0 +ALS2CL 0 +AMIGO3 0 +AMOTL2 0 +AMT 0 +ANAPC13 3 +ANKRD18DP 0 +ANKRD28 1 +ANKUB1 0 +ANO10 6 +APOD 0 +ARF4 2 +ARHGAP31-AS1 0 +ARHGEF26-AS1 2 +ARHGEF3 3 +ARIH2OS 0 +ASB14 0 +ASTE1 0 +ATG3 1 +ATP13A3 2 +ATP13A4 0 +ATP13A5 0 +ATP2B2 0 +ATP2B2-IT2 0 +ATR 0 +AZI2 5 +B3GALNT1 8 +B4GALT4 1 +BAP1 0 +BCHE 0 +BCL6 0 +BDH1 0 +BSN-AS2 0 +BTLA 0 +C3orf17 12 +C3orf18 0 +C3orf22 0 +C3orf27 0 +C3orf33 0 +C3orf36 0 +C3orf62 0 +C3orf67 0 +C3orf70 0 +C3orf84 0 +CACNA2D2 2 +CACNA2D3-AS1 0 +CADM2-AS2 0 +CADPS 2 +CAMK1 0 +CAMK2N2 0 +CAMKV 0 +CBLB 0 +CCDC12 0 +CCDC13 1 +CCDC14 2 +CCDC37-AS1 0 +CCDC39 4 +CCDC51 0 +CCDC58 0 +CCDC71 0 +CCDC80 0 +CCK 0 +CCNL1 2 +CCR1 0 +CD200R1 0 +CD200R1L 0 +CD47 0 +CD80 0 +CDC25A 9 +CDCP1 0 +CDHR4 0 +CELSR3 0 +CEP19 0 +CEP70 1 +CFAP44 0 +CGGBP1 2 +CHCHD4 0 +CHDH 0 +CHL1-AS1 0 +CIDEC 0 +CIDECP 1 +CISH 0 +CLASP2 2 +CLCN2 0 +CLDN1 0 +CLDND1 4 +CLRN1 0 +CLSTN2-AS1 0 +CMTM6 8 +CNBP 55 +CNTN3 0 +CNTN4-AS1 0 +CNTN4-AS2 0 +COL6A4P1 0 +COL7A1 0 +COLQ 0 +COMMD2 3 +COPB2 4 +COX17 0 +CP 0 +CPN2 0 +CPNE4 0 +CPOX 0 +CRBN 1 +CRYGS 0 +CSPG5 0 +CSRNP1 0 +CX3CR1 0 +CYP8B1 0 +DALRD3 2 +DAZL 9 +DBR1 0 +DCBLD2 0 +DCLK3 0 +DCP1A 37 +DCUN1D1 0 +DENND6A 1 +DGKG 0 +DHFRL1 0 +DHX36 6 +DLG1 7 +DNAH12 0 +DNAJB8 0 +DNAJC19 1 +DNASE1L3 0 +DPH3 0 +DPPA2 0 +DPPA2P3 0 +DPPA4 0 +DRD3 0 +DUSP7 7 +DYNC1LI1 0 +DZIP1L 0 +EFCAB12 0 +EFHB 0 +EGOT 0 +EHHADH 0 +EIF1B-AS1 0 +EIF4E3 2 +EIF5A2 0 +ELP6 0 +EMC3 0 +ENTPD3-AS1 0 +EOGT 1 +EOMES 0 +EPM2AIP1 0 +ERC2 4 +ERC2-IT1 0 +ERICH6 0 +ESRG 0 +ETV5 6 +FAM107A 0 +FAM19A4 3 +FAM208A 9 +FAM3D 0 +FAM86DP 0 +FAM86HP 0 +FANCD2OS 0 +FEZF2 2 +FGD5-AS1 0 +FGF12 0 +FHIT 0 +FILIP1L 0 +FLJ46066 0 +FOXL2 0 +FOXP1 1 +FRMD4B 2 +FSTL1 0 +FYCO1 0 +GABRR3 0 +GADL1 0 +GATA2 0 +GBE1 0 +GCSAM 0 +GHRL 0 +GHSR 0 +GK5 0 +GLB1 0 +GLT8D1 0 +GLYCTK-AS1 0 +GMNC 0 +GMPPB 0 +GNB4 1 +GOLGB1 0 +GOLIM4 0 +GORASP1 1 +GP5 0 +GPR149 0 +GPR156 1 +GPR171 0 +GPR87 0 +GPX1 0 +GRIP2 0 +GRM7-AS1 0 +GRM7-AS3 0 +GSK3B 2 +GUCA1C 0 +H1FX 0 +HACL1 1 +HCLS1 0 +HDAC11-AS1 0 +HEG1 0 +HESX1 0 +HGD 0 +HHATL 0 +HIGD1A 3 +HLTF 1 +HP09053 0 +HSPBAP1 2 +HYAL1 0 +HYAL2 1 +HYAL3 0 +IFRD2 0 +IFT57 0 +IFT80 0 +IGF2BP2 1 +IGSF10 2 +IGSF11 3 +IL12A-AS1 0 +IL17RD 1 +IL5RA 1 +ILDR1 0 +IMPDH2 2 +IMPG2 0 +IP6K1 2 +IP6K2 1 +IQCB1 3 +IQCF1 0 +IQCF5 0 +IQCF6 0 +IQCG 0 +IQCJ-SCHIP1-AS1 0 +IQSEC1 3 +ISY1 0 +ISY1-RAB43 0 +ITGA9-AS1 0 +ITGB5 0 +ITIH4 0 +ITPR1-AS1 0 +KCNAB1-AS1 0 +KCNAB1-AS2 0 +KCNMB3 0 +KIAA0226 0 +KIAA1143 2 +KIAA1257 2 +KIAA1407 0 +KIAA1524 1 +KIAA2018 1 +KIF9 1 +KLF15 0 +KLHL6 0 +KPNA1 0 +KPNA4 0 +KRBOX1-AS1 0 +KY 0 +LAMB2 0 +LAMB2P1 0 +LAMP3 1 +LARS2-AS1 0 +LEPREL1 0 +LHFPL4 0 +LIMD1-AS1 0 +LINC00606 0 +LINC00635 0 +LINC00691 0 +LINC00692 0 +LINC00696 0 +LINC00877 0 +LINC00880 0 +LINC00882 1 +LINC00886 0 +LINC00887 1 +LINC00971 0 +LINC00994 0 +LINC01192 0 +LINC01208 1 +LINC01209 0 +LINC01214 0 +LINC01267 0 +LINC01279 0 +LINC01391 0 +LINC01471 0 +LIPH 0 +LMCD1-AS1 0 +LMLN-AS1 0 +LMOD3 18 +LOC100128164 0 +LOC100289361 0 +LOC100505920 0 +LOC100507537 0 +LOC100996447 0 +LOC101927056 0 +LOC101927123 0 +LOC101927394 1 +LOC101928105 1 +LOC101928135 0 +LOC101928323 0 +LOC101928739 0 +LOC101928882 0 +LOC101928992 0 +LOC101929106 0 +LOC101929694 0 +LOC101929717 0 +LOC102724297 0 +LOC102724604 0 +LOC102724699 0 +LOC220729 0 +LOC253573 0 +LOC339874 0 +LOC401052 0 +LOC647323 0 +LOC653712 0 +LPP-AS1 0 +LPP-AS2 0 +LRIG1 1 +LRRC15 0 +LRRC2 0 +LRRC31 0 +LRRC34 0 +LRRC58 0 +LRRFIP2 2 +LRTM1 0 +LSAMP 0 +LSG1 0 +LTF 0 +LXN 0 +LYZL4 0 +LZTFL1 1 +MAGEF1 0 +MAGI1 1 +MAP4 1 +MAP6D1 1 +MASP1 0 +MB21D2 5 +MBD4 37 +MBNL1-AS1 0 +MCCC1 0 +MCF2L2 0 +MECOM 0 +METTL6 0 +MFI2 0 +MGLL 0 +MINA 9 +MIR1284 0 +MIR135A1 0 +MIR191 0 +MIR198 0 +MIR3136 0 +MIR3921 0 +MIR3938 0 +MIR425 0 +MIR4270 0 +MIR4442 0 +MIR4790 0 +MIR4791 0 +MIR4792 0 +MIR4793 0 +MIR4795 0 +MIR4796 0 +MIR4797 0 +MIR5092 0 +MIR5186 0 +MIR5193 0 +MIR548A3 0 +MIR548G 0 +MIR548I1 0 +MIR5588 0 +MIR568 0 +MIR569 0 +MIR5692C1 0 +MIR5704 0 +MIR6823 0 +MIR6824 0 +MIR6825 0 +MIR6827 0 +MIR6829 0 +MIR6890 0 +MIR711 0 +MIR8064 0 +MIR8076 0 +MIR885 0 +MIR922 0 +MIRLET7G 0 +MKRN2OS 0 +MON1A 0 +MORC1 0 +MRPL3 5 +MRPL47 2 +MRPS25 1 +MSL2 7 +MST1 0 +MST1R 0 +MTHFD2P1 0 +MUC13 0 +MUC4 0 +MUSTN1 0 +MYH15 2 +MYL3 0 +MYLK 2 +NAA50 6 +NAALADL2-AS1 0 +NAALADL2-AS2 0 +NAALADL2-AS3 0 +NAT6 0 +NCBP2 4 +NCEH1 0 +NCK1-AS1 0 +NCKIPSD 2 +NEK10 0 +NEK4 1 +NGLY1 2 +NICN1 0 +NKIRAS1 0 +NLGN1-AS1 0 +NME6 0 +NME9 0 +NMNAT3 1 +NPHP3 0 +NPHP3-ACAD11 0 +NPRL2 0 +NT5DC2 2 +NUP210 0 +OPA1-AS1 0 +OSBPL10 22 +OSBPL11 1 +OXTR 0 +P2RY12 0 +P2RY13 0 +P2RY14 0 +PA2G4P4 1 +PAQR9 0 +PARL 19 +PARP9 0 +PBRM1 8 +PCBP4 0 +PCOLCE2 1 +PCYT1A 2 +PDCD10 3 +PDHB 0 +PDZRN3 0 +PEX5L 0 +PFKFB4 0 +PFN2 3 +PHC3 0 +PIGZ 0 +PIK3CB 1 +PIK3R4 0 +PISRT1 0 +PLCD1 0 +PLCH1 0 +PLCXD2-AS1 0 +PLD1 1 +PLOD2 0 +PLSCR1 0 +PLSCR2 0 +PLSCR4 0 +PLSCR5 0 +PLXNB1 0 +PLXND1 0 +POC1A 0 +POLQ 0 +POMGNT2 0 +POPDC2 0 +POU1F1 0 +PP2D1 0 +PPP1R2 1 +PRICKLE2 2 +PRKAR2A 6 +PROK2 0 +PROS1 0 +PRR23A 0 +PRR23B 0 +PRR23C 0 +PRRT3 0 +PRSS42 0 +PRSS45 0 +PRSS46 0 +PRSS50 0 +PSMD6 1 +PTPLB 1 +PTPRG-AS1 1 +PVRL3-AS1 0 +QARS 8 +QRICH1 7 +RAB43 0 +RAB6B 3 +RABL3 0 +RAD18 0 +RAF1 1 +RARRES1 1 +RASSF1 0 +RBM5-AS1 0 +RBMS3-AS1 0 +RBMS3-AS3 0 +RBP1 0 +RBP2 0 +RETNLB 0 +RFC4 0 +RFT1 0 +RFTN1 0 +RHOA 34 +RNF168 1 +RNU6-69P 0 +ROBO1 0 +ROPN1 0 +RPL22L1 2 +RPL24 12 +RPL29 33 +RPL32 10 +RPL32P3 0 +RPL39L 1 +RPN1 1 +RPUSD3 0 +RRP9 0 +RTP2 0 +RUVBL1 2 +RYBP 0 +RYK 0 +SATB1 0 +SCAP 5 +SCARNA7 0 +SCN10A 0 +SCN11A 0 +SCN5A 1 +SDHAP1 0 +SEC13 1 +SEC22C 0 +SELK 2 +SEMA3B-AS1 0 +SEMA3G 0 +SEMA5B 0 +SENP7 0 +SERP1 3 +SERPINI2 0 +SETD2 1 +SFMBT1 6 +SGOL1 9 +SH3BP5 8 +SHISA5 0 +SHOX2 0 +SHQ1 0 +SI 0 +SIAH2 0 +SLC12A8 2 +SLC25A20 0 +SLC26A6 8 +SLC2A2 0 +SLC33A1 2 +SLC41A3 1 +SLC4A7 62 +SLC6A1-AS1 0 +SLC6A20 0 +SLC7A14 0 +SLC9A9 1 +SLC9C1 0 +SLCO2A1 0 +SLITRK3 0 +SMARCC1 13 +SMCO1 0 +SNORA58 0 +SNORA7A 0 +SNORA7B 0 +SNRK-AS1 0 +SNX4 1 +SPATA16 0 +SPICE1 5 +SPINK8 0 +SPTSSB 0 +SRGAP3 0 +SSR3 0 +SST 0 +SSUH2 0 +ST3GAL6-AS1 0 +STAG1 1 +STX19 0 +SUCLG2 0 +SUMF1 0 +SUSD5 0 +SYNPR-AS1 0 +TADA3 1 +TAMM41 4 +TBC1D5 0 +TBCCD1 2 +TBL1XR1 4 +TCTEX1D2 0 +TERC 0 +TFDP2 0 +TFRC 0 +THOC7 3 +THPO 0 +THRB 8 +THUMPD3-AS1 0 +TIMP4 0 +TIPARP-AS1 0 +TKT 1 +TLR9 0 +TM4SF1 0 +TM4SF18 0 +TM4SF19 0 +TM4SF19-TCTEX1D2 0 +TMCC1 8 +TMEM108-AS1 0 +TMEM110 2 +TMEM110-MUSTN1 0 +TMEM115 1 +TMEM14E 0 +TMEM158 0 +TMEM207 0 +TMEM212-AS1 0 +TMEM39A 1 +TMEM40 0 +TMEM41A 4 +TMEM44 0 +TMEM89 0 +TMF1 4 +TMPPE 0 +TNFSF10 0 +TNIK 6 +TNK2 1 +TNNC1 0 +TOMM70A 7 +TOP2B 3 +TOPBP1 0 +TPRA1 0 +TPRG1-AS1 0 +TPRG1-AS2 0 +TRA2B 2 +TRAIP 1 +TRANK1 0 +TRIM59 14 +TUSC2 0 +TWF2 0 +TXNRD3 0 +TXNRD3NB 0 +UBA3 0 +UBA7 0 +UBE2E1-AS1 0 +UBP1 0 +UBXN7 1 +UCN2 0 +ULK4 0 +UQCRC1 2 +UROC1 0 +USP19 0 +USP4 0 +UTS2B 1 +VEPH1 0 +VGLL3 0 +VGLL4 4 +VIPR1-AS1 0 +VPRBP 1 +WDR49 0 +WDR53 3 +WDR5B 0 +WDR82 1 +WNT5A 0 +WNT7A 0 +WWTR1 0 +XCR1 0 +XIRP1 0 +XPC 5 +XRN1 6 +XXYLT1 3 +ZBBX 1 +ZBED2 0 +ZBTB11 5 +ZBTB20 0 +ZDHHC19 0 +ZDHHC3 4 +ZFYVE20 0 +ZIC4 0 +ZMAT3 0 +ZMYND10 0 +ZNF148 18 +ZNF197-AS1 0 +ZNF385D 0 +ZNF445 1 +ZNF717 0 +ZNF80 0 +ZNF852 0 +ZXDC 0 +AADAT 0 +AASDH 0 +ABCA11P 1 +ABCG2 0 +ABLIM2 0 +ACOX3 0 +ACSL1 0 +ADAMTS3 2 +ADH1A 0 +ADH1B 0 +ADH1C 0 +ADH4 0 +ADH5 2 +ADH6 0 +ADH7 0 +AFAP1 2 +AGA 0 +ANAPC10 2 +ANKRD17 17 +ANKRD50 0 +ANP32C 0 +ANTXR2 0 +ANXA2P1 0 +ANXA5 0 +APBB2 1 +ARAP2 1 +ARSJ 0 +ASB5 0 +ASIC5 0 +ATP5I 1 +ATP8A1 1 +BBS7 0 +BDH2 4 +BEND4 0 +BMPR1B-AS1 0 +BOD1L1 6 +BTC 0 +C4orf27 70 +C4orf3 1 +C4orf36 0 +C4orf45 0 +C4orf46 0 +CAMK2D 1 +CASP3 5 +CASP6 4 +CBR4 1 +CCDC110 0 +CCDC149 0 +CCDC158 0 +CCDC96 1 +CCKAR 0 +CCNA2 10 +CCNI 53 +CDKL2 0 +CENPC 2 +CENPE 6 +CENPU 3 +CETN4P 0 +CFAP97 0 +CFI 0 +CHIC2 0 +CLDN22 0 +CLDN24 0 +CLGN 0 +CLNK 0 +CLOCK 33 +CNGA1 0 +CNOT6L 28 +COL25A1 0 +COMMD8 1 +COQ2 0 +CORIN 0 +COX18 0 +COX7B2 0 +CPEB2-AS1 0 +CPLX1 0 +CRMP1 2 +CSN2 0 +CTBP1 0 +CTSO 0 +CXCL10 0 +CXCL11 0 +CXCL2 0 +CXCL3 0 +CXCL5 0 +CXCL9 0 +CXXC4 0 +CYTL1 0 +DCAF16 3 +DCHS2 1 +DCTD 0 +DDIT4L 0 +DDX60 0 +DDX60L 1 +DGKQ 0 +DHX15 0 +DKK2 0 +DNAJB14 0 +EIF4E 1 +ELF2 0 +ELOVL6 2 +EMCN 0 +ENPP6 0 +EPHA5 0 +ERVMER34-1 0 +ETNPPL 1 +EVC2 1 +F11-AS1 1 +FABP2 0 +FAM13A 212 +FAM175A 1 +FAM184B 1 +FAM198B 0 +FAM53A 1 +FAM86EP 0 +FAT1 1 +FBXL5 9 +FBXO8 3 +FBXW7 2 +FGA 0 +FGFBP1 0 +FGFBP2 0 +FGG 0 +FLJ36777 0 +FLJ38576 0 +FREM3 0 +FRG2 0 +FRYL 0 +FSTL5 0 +G3BP2 1 +GABRA2 0 +GABRA4 0 +GABRG1 0 +GAK 1 +GATB 0 +GC 0 +GIMD1 0 +GK2 0 +GK3P 0 +GLRA3 0 +GNPDA2 14 +GNRHR 0 +GPM6A 1 +GPR125 0 +GPRIN3 0 +GRPEL1 14 +GRSF1 2 +GYPA 0 +GYPB 0 +GYPE 0 +H2AFZ 0 +HAND2 0 +HAUS3 2 +HELQ 0 +HHIP-AS1 0 +HMGB2 17 +HMX1 0 +HNRNPD 9 +HNRNPDL 1 +HOPX 0 +HPGD 0 +HPGDS 0 +HPSE 0 +HS3ST1 0 +HSD17B11 0 +HSD17B13 0 +HTT-AS 0 +IGFBP7 0 +IGJ 0 +IL2 0 +IL21 0 +INPP4B 0 +INTS12 5 +IRF2 0 +JAKMIP1 0 +KCNIP4 0 +KCNIP4-IT1 0 +KCTD8 0 +KDR 0 +KLF3-AS1 0 +KLHL8 0 +LAMTOR3 0 +LCORL 1 +LDB2 0 +LEF1 10 +LETM1 0 +LGI2 0 +LIN54 0 +LINC00290 0 +LINC00575 0 +LINC00613 0 +LINC00616 0 +LINC00682 0 +LINC01061 0 +LINC01093 0 +LINC01095 0 +LINC01096 0 +LINC01097 0 +LINC01099 0 +LINC01216 0 +LINC01258 0 +LINC01365 0 +LNX1 0 +LOC100129917 0 +LOC100129931 0 +LOC100130872 0 +LOC100133461 0 +LOC100505912 0 +LOC100506085 0 +LOC100506272 0 +LOC100506746 0 +LOC100507388 0 +LOC100507639 0 +LOC101927087 0 +LOC101927237 0 +LOC101927282 0 +LOC101928131 0 +LOC339975 1 +LOC344967 0 +LOC389247 0 +LOC401134 0 +LOC728175 0 +LOC731424 0 +LPHN3-AS1 0 +LRBA 0 +LRP2BP 1 +LRPAP1 0 +LRRC66 0 +LYAR 12 +MAD2L1 26 +MAML3 0 +MANBA 0 +MAP9 16 +MAPK10 1 +MARCH1 1 +MFAP3L 2 +MFSD10 6 +MFSD7 0 +MFSD8 0 +MGARP 0 +MGAT4D 0 +MGC45800 0 +MIR302A 0 +MIR302B 0 +MIR302C 0 +MIR302D 0 +MIR3138 0 +MIR3140 0 +MIR367 0 +MIR3688-1 0 +MIR378D1 0 +MIR3945 0 +MIR4800 0 +MIR4801 0 +MIR4802 0 +MIR548AJ2 0 +MIR548AX 0 +MIR548I2 0 +MIR5705 0 +MIR573 0 +MIR575 0 +MIR8066 0 +MIR943 0 +MRFAP1L1 2 +MTNR1A 0 +MXD4 7 +NAA11 7 +NAAA 0 +NAF1 0 +NAP1L5 0 +NDNF 0 +NDST4 0 +NDUFC1 2 +NEK1 18 +NELFA 5 +NEUROG2 0 +NFXL1 6 +NKX1-1 0 +NKX3-2 0 +NKX6-1 0 +NMU 0 +NOA1 0 +NOP14 1 +NPY1R 0 +NR3C2 4 +NUDT6 0 +NUP54 0 +OCIAD2 0 +OTOP1 0 +OTUD4 11 +PABPC4L 0 +PAPSS1 11 +PAQR3 0 +PCDH18 0 +PCNAP1 0 +PDCL2 0 +PDE5A 0 +PDGFC 0 +PDLIM3 0 +PDS5A 1 +PF4 0 +PGRMC2 4 +PHOX2B 0 +PIGY 0 +PITX2 1 +PLA2G12A 0 +PLAC8 0 +PLRG1 7 +POLN 0 +PPA2 0 +PPARGC1A 0 +PPAT 0 +PPBP 0 +PPBPP2 0 +PPEF2 0 +PPID 1 +PPM1K 0 +PPP2R2C 0 +PPP3CA 7 +PRDM5 0 +PRKG2 0 +PRMT9 1 +PROM1 0 +PRSS12 0 +PSAPL1 0 +PYURF 0 +QDPR 1 +QRFPR 0 +RAB28 0 +RASGEF1B 0 +RASSF6 0 +RBM47 0 +RCHY1 0 +RELL1 0 +RFC1 7 +RNF150 3 +RNF175 0 +RNF212 2 +RPL21P44 0 +RPL34-AS1 0 +RPL9 0 +RWDD4 0 +SCARB2 1 +SCD5 0 +SCFD2 0 +SCLT1 2 +SCOC-AS1 0 +SCRG1 0 +SDAD1 5 +SEC24B-AS1 0 +SEC24D 0 +SEC31A 1 +SEL1L3 0 +SEPSECS 1 +SETD7 0 +SFRP2 0 +SGCB 0 +SH3D19 0 +SH3RF1 1 +SLBP 11 +SLC10A6 0 +SLC10A7 0 +SLC26A1 0 +SLC2A9 0 +SLC39A8 0 +SLC7A11 3 +SLC9B1 0 +SLC9B2 0 +SLED1 0 +SMAD1-AS2 0 +SMARCA5-AS1 0 +SMIM14 2 +SNCA 0 +SORBS2 0 +SOWAHB 0 +SPARCL1 0 +SPATA4 0 +SPINK2 0 +SPOCK3 1 +SPON2 0 +SRD5A3-AS1 0 +STPG2 1 +STX18 1 +SULT1B1 0 +SULT1E1 0 +SYT14P1 0 +TACR3 0 +TAPT1 1 +TBC1D9 1 +TBCK 3 +TEC 0 +TECRL 0 +THAP9-AS1 0 +TIFA 2 +TIGD4 0 +TKTL2 0 +TLR1 0 +TLR10 0 +TLR6 0 +TMED11P 0 +TMEM128 0 +TMEM129 3 +TMEM150C 0 +TMEM154 2 +TMEM155 0 +TMEM156 0 +TMEM192 0 +TMPRSS11A 0 +TMPRSS11B 0 +TMPRSS11BNL 0 +TMPRSS11D 0 +TMPRSS11F 0 +TMPRSS11GP 0 +TNIP2 0 +TNIP3 0 +TNRC18P1 0 +TRAM1L1 0 +TRIM61 4 +TRIML2 0 +TRMT10A 0 +TRPC3 0 +TSPAN5 15 +TTC29 0 +TXK 0 +UBA6 2 +UBE2D3 62 +UCHL1-AS1 0 +UCP1 0 +UFSP2 4 +UGDH 1 +UGT2A1 2 +UGT2A2 0 +UGT2A3 0 +UGT2B10 0 +UGT2B11 0 +UGT2B15 0 +UGT2B17 0 +UGT2B4 0 +UNC5C 6 +USP46 0 +VEGFC 0 +WDFY3 2 +WDR1 6 +WWC2-AS2 0 +YIPF7 0 +YTHDC1 0 +ZFYVE28 0 +ZGRF1 0 +ZNF518B 1 +ZNF721 14 +ZNF732 3 +ZNF827 2 +UGT2A3 0 +UGT2B10 0 +UGT2B15 0 +UGT2B17 0 +YTHDC1 0 +MGC39584 0 +MAFIP 0 +AACSP1 0 +ACOT12 0 +ACSL6 0 +ACTBL2 0 +ADAM19 6 +ADAMTS12 0 +ADAMTS19-AS1 0 +ADAMTS2 2 +ADAMTS6 0 +AFF4 5 +AGXT2 0 +AK6 1 +ALDH7A1 2 +AMACR 0 +ANKH 2 +ANKRA2 0 +ANKRD31 0 +ANKRD34B 0 +ANKRD55 0 +ANXA2R 0 +ANXA6 1 +AP3B1 4 +APBB3 0 +ARAP3 0 +ARHGAP26-AS1 0 +ARL15 0 +ARRDC3 0 +ARSB 0 +ARSI 0 +ATG12 0 +ATOX1 0 +ATP10B 0 +BOD1 217 +BRD8 0 +BRD9 0 +C1QTNF2 0 +C1QTNF3 0 +C1QTNF3-AMACR 0 +C5orf15 0 +C5orf20 0 +C5orf28 0 +C5orf34 6 +C5orf42 2 +C5orf45 2 +C5orf46 0 +C5orf49 0 +C5orf55 0 +C5orf60 1 +C5orf63 0 +C5orf66-AS1 0 +C5orf66-AS2 0 +C6 0 +C9 0 +CAMK2A 0 +CAPSL 0 +CBY3 0 +CCDC112 0 +CCDC125 0 +CCDC127 3 +CCDC69 0 +CCL28 0 +CCNH 3 +CCNJL 0 +CCNO 9 +CD14 0 +CD180 0 +CD74 0 +CDC20B 0 +CDC23 0 +CDC25C 1 +CDH10 0 +CDH12 3 +CDH18 0 +CDH9 0 +CDKL3 0 +CDKN2AIPNL 0 +CDO1 0 +CENPK 2 +CEP120 6 +CETN3 4 +CHD1 2 +CKMT2-AS1 0 +CLINT1 5 +CLK4 0 +CLPTM1L 4 +CLTB 0 +CMBL 0 +COL23A1 0 +COL4A3BP 2 +CRSP8P 1 +CSF1R 9 +CSNK1A1 2 +CTB-178M22.2 0 +CTB-7E3.1 0 +CTD-2201I18.1 2 +CTD-2297D10.2 0 +CTD-2350J17.1 0 +CTD-3080P12.3 0 +CTNND2 0 +CXCL14 0 +DAB2 0 +DAP 0 +DBN1 0 +DCTN4 2 +DDX41 0 +DEPDC1B 1 +DHFR 1 +DHX29 7 +DIAPH1 0 +DIMT1 1 +DMGDH 0 +DNAH5 3 +DNAJC18 5 +DND1 0 +DOK3 0 +DPYSL3 0 +DRD1 0 +DROSHA 2 +DTWD2 1 +DUSP1 0 +EBF1 9 +ECSCR 0 +EDIL3 0 +EFNA5 2 +EGFLAM-AS2 0 +EGFLAM-AS4 0 +ELL2 1 +ELOVL7 0 +EMB 0 +ENC1 0 +EPB41L4A 5 +ERAP1 0 +ERCC8 0 +ESM1 0 +ETF1 3 +F12 0 +F2RL2 0 +FAM114A2 1 +FAM134B 0 +FAM13B 0 +FAM153A 0 +FAM169A 2 +FAM172A 2 +FAM173B 0 +FAM193B 0 +FAM196B 0 +FAM71B 0 +FASTKD3 0 +FAT2 3 +FAXDC2 1 +FBN2 0 +FBXL17 0 +FBXW11 4 +FCHSD1 0 +FEM1C 2 +FGF1 0 +FGF10 0 +FLJ16171 0 +FLJ32255 0 +FLJ33360 0 +FLT4 0 +FNDC9 0 +FNIP1 0 +FOXD1 0 +FSTL4 1 +FYB 0 +GABRB2 0 +GCNT4 0 +GDF9 171 +GDNF 0 +GEMIN5 197 +GFM2 2 +GFPT2 2 +GFRA3 0 +GIN1 0 +GLRA1 0 +GLRX 12 +GMCL1P1 0 +GNB2L1 8 +GNPDA1 4 +GOLPH3 4 +GPR151 0 +GPRIN1 0 +GRM6 0 +GRXCR2 0 +GTF2H2 0 +GUSBP3 0 +GUSBP9 0 +H2AFY 0 +HAND1 0 +HAPLN1 0 +HARS 2 +HAVCR1 0 +HAVCR2 0 +HBEGF 0 +HCN1 0 +HDAC3 1 +HEIH 1 +HINT1 9 +HK3 0 +HMGCS1 0 +HMMR-AS1 0 +HNRNPA0 1 +HNRNPH1 1 +HOMER1 1 +HSPA9 6 +HTR1A 0 +HTR4 0 +IL12B 0 +IL17B 0 +IL5 0 +IL6ST 0 +IL9 0 +IRF1 1 +IRX2 0 +IRX4 0 +JAKMIP2 0 +KCNMB1 0 +KIAA0825 0 +KIAA1191 3 +KIF3A 9 +KLHL3 0 +LARS 5 +LCP2 0 +LECT2 0 +LHFPL2 1 +LIFR 1 +LINC00461 0 +LINC00491 0 +LINC01017 0 +LINC01019 0 +LINC01023 0 +LINC01024 0 +LINC01184 0 +LINC01187 0 +LINC01265 0 +LINC01335 0 +LINC01337 0 +LINC01338 0 +LINC01339 0 +LINC01470 0 +LINC01484 0 +LINC01485 0 +LIX1 0 +LMAN2 4 +LMBRD2 2 +LOC100132356 0 +LOC100133050 0 +LOC100268168 0 +LOC100272216 0 +LOC100287592 0 +LOC100303749 0 +LOC100505625 0 +LOC100506526 0 +LOC100506548 1 +LOC100506674 0 +LOC100506688 0 +LOC100506858 0 +LOC100652758 2 +LOC100996325 0 +LOC100996385 0 +LOC101926905 0 +LOC101926960 0 +LOC101927190 0 +LOC101927280 1 +LOC101927379 0 +LOC101927488 0 +LOC101927697 0 +LOC101927766 0 +LOC101927835 0 +LOC101928445 0 +LOC101928448 0 +LOC101928539 0 +LOC101928569 0 +LOC101928600 0 +LOC101928651 0 +LOC101928769 0 +LOC101928794 0 +LOC101929034 0 +LOC101929412 0 +LOC101929454 0 +LOC101929505 0 +LOC101929681 0 +LOC101929696 0 +LOC102467073 0 +LOC102467080 0 +LOC102467081 0 +LOC102467147 0 +LOC102467212 0 +LOC102467213 0 +LOC102467216 0 +LOC102467217 0 +LOC102467223 0 +LOC102477328 0 +LOC102546226 0 +LOC102546229 0 +LOC102546294 0 +LOC102546298 0 +LOC102577426 0 +LOC202181 0 +LOC285627 0 +LOC285629 0 +LOC285692 0 +LOC285696 0 +LOC340074 0 +LOC340107 0 +LOC389332 0 +LOC401177 0 +LOC442132 0 +LOC553103 0 +LOC642366 0 +LOC643201 0 +LOC644762 0 +LOC644936 0 +LOC646719 0 +LOC647859 0 +LOC648987 0 +LOC728613 0 +LOC728637 1 +LOC729080 0 +LOC729506 0 +LOX 0 +LPCAT1 1 +LRRTM2 0 +LUCAT1 0 +LYSMD3 0 +MAPK9 0 +MARCH11 0 +MARCH3 0 +MBLAC2 0 +MCC 1 +MCIDAS 0 +MCTP1 6 +MED10 3 +MED7 0 +MEF2C 0 +MGAT1 0 +MGAT4B 1 +MGC32805 0 +MIER3 1 +MIR103A1 0 +MIR1229 0 +MIR1289-2 0 +MIR218-2 0 +MIR2277 0 +MIR3141 0 +MIR340 0 +MIR3650 0 +MIR3660 0 +MIR3912 0 +MIR3936 0 +MIR4277 0 +MIR4278 0 +MIR4279 0 +MIR4280 0 +MIR4281 0 +MIR4454 0 +MIR4456 0 +MIR4457 0 +MIR4460 0 +MIR449A 0 +MIR449B 0 +MIR449C 0 +MIR4635 0 +MIR4636 0 +MIR4637 0 +MIR4638 0 +MIR5687 0 +MIR580 0 +MIR581 0 +MIR585 0 +MIR6075 0 +MIR6499 0 +MIR6830 0 +MIR6831 0 +MIR8089 0 +MIR874 0 +MIR9-2 0 +MOCS2 4 +MROH2B 0 +MRPL36 0 +MRPS27 1 +MTMR12 0 +MTRNR2L2 0 +MTX3 1 +MXD3 0 +MYO10 6 +MZB1 0 +NADK2 1 +NAIP 0 +NDUFA2 1 +NEUROG1 1 +NHP2 1 +NKX2-5 0 +NME5 1 +NMUR2 0 +NNT-AS1 0 +NOP16 0 +NR2F1-AS1 0 +NR3C1 0 +NREP 0 +NRG2 0 +NSUN2 0 +NUDCD2 4 +NUDT12 0 +NUP155 0 +OR2V1 0 +OR2Y1 0 +OSMR-AS1 0 +OTP 0 +OXCT1 0 +P4HA2 0 +PAIP1 51 +PANK3 2 +PCDH1 0 +PCDH12 0 +PCSK1 0 +PDE4D 0 +PDE6A 0 +PDGFRB 0 +PDLIM7 0 +PFDN1 3 +PFN3 0 +PGGT1B 1 +PHYKPL 0 +PITX1 1 +PJA2 3 +PLAC8L1 0 +PLCXD3 0 +PLK2 0 +POC5 3 +POU5F2 0 +PP7080 0 +PPAP2A 0 +PPIC 0 +PPP2CA 9 +PPP2R2B 1 +PPP2R2B-IT1 0 +PRELID2 32 +PRKAA1 1 +PRLR 1 +PROB1 0 +PROP1 0 +PRR7-AS1 0 +PWWP2A 1 +RAB24 0 +RAD1 3 +RANBP3L 0 +RAPGEF6 2 +RASGEF1C 0 +RASGRF2-AS1 0 +RBM22 3 +REEP5 0 +RGMB-AS1 0 +RICTOR 0 +RIOK2 11 +RNF130 1 +RNF138P1 0 +RNF145 6 +RNF44 0 +ROPN1L-AS1 0 +RPL37 14 +RPS14 10 +RPS23 23 +SAP30L-AS1 0 +SAR1B 0 +SCAMP1-AS1 1 +SCARNA18 0 +SCGB3A1 0 +SDHAP3 0 +SEMA5A 3 +SEMA6A 0 +SEPP1 0 +SEPT8 1 +SERINC5 3 +SGTB 0 +SH3PXD2B 0 +SH3TC2 0 +SHROOM1 0 +SIL1 1 +SKP1 25 +SLC12A7 1 +SLC23A1 0 +SLC25A2 0 +SLC36A2 0 +SLC36A3 0 +SLC38A9 0 +SLC45A2 0 +SLC6A3 0 +SLC9A3 0 +SLCO4C1 0 +SLCO6A1 0 +SLIT3 0 +SLU7 18 +SMA4 0 +SMA5 0 +SMAD5-AS1 0 +SMIM15 3 +SNCB 0 +SNORA47 0 +SNORD63 0 +SNORD72 0 +SNORD95 0 +SNORD96A 0 +SOX30 1 +SPARC 0 +SPATA24 0 +SPATA9 0 +SPINK1 0 +SPOCK1 0 +SPRY4 1 +SRA1 0 +SREK1IP1 3 +SSBP2 1 +ST8SIA4 0 +STARD4 0 +STC2 0 +STK10 0 +TAF7 12 +TAF9 4 +TAS2R1 0 +TBC1D9B 0 +TBCA 14 +TERT 0 +THOC3 2 +TICAM2 0 +TIFAB 0 +TIGD6 0 +TIMD4 4 +TMED7 0 +TMED7-TICAM2 0 +TMEM161B 0 +TMEM167A 5 +TMEM173 0 +TMEM232 1 +TNIP1 0 +TPPP 0 +TRIM23 0 +TRIM36 1 +TRIM52 0 +TRIM7 0 +TRPC7 0 +TSSK1B 0 +TTC33 0 +TTC37 2 +UBTD2 4 +UGT3A1 0 +UGT3A2 0 +UIMC1 3 +VDAC1 11 +VTRNA2-1 0 +WDR41 11 +YIPF5 5 +ZBED3 1 +ZBED8 0 +ZCCHC10 2 +ZDHHC11 0 +ZFP62 5 +ZFR 7 +ZNF300 0 +ZNF300P1 0 +ZNF354A 6 +ZNF366 0 +ZNF608 0 +ZNF622 0 +AARS2 0 +ABHD16A 0 +ADAT2 0 +ADTRP 0 +AGER 0 +AGPAT1 0 +AGPAT4 5 +AGPAT4-IT1 0 +AHI1 0 +AIRN 0 +AK9 2 +AKIRIN2 22 +ALDH8A1 0 +ARHGAP18 54 +ARMC2-AS1 0 +ASCC3 1 +ATF6B 0 +ATG5 5 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +ATXN1 0 +B3GAT2 0 +BACH2 7 +BAG6 0 +BAK1 0 +BCLAF1 6 +BEND3 0 +BLOC1S5 1 +BLOC1S5-TXNDC5 0 +BMP5 0 +BTBD9 0 +BTNL2 0 +BVES 0 +C2-AS1 0 +C6orf1 0 +C6orf10 0 +C6orf106 6 +C6orf118 0 +C6orf123 0 +C6orf132 0 +C6orf147 0 +C6orf15 0 +C6orf195 0 +C6orf222 0 +C6orf226 0 +C6orf229 0 +C6orf47 0 +C6orf52 5 +C6orf62 2 +C6orf7 0 +CAGE1 0 +CAHM 0 +CASC14 0 +CASC6 0 +CCDC167 1 +CCHCR1 0 +CCNC 0 +CCND3 0 +CD164 18 +CDK19 0 +CDSN 0 +CEP162 2 +CEP85L 3 +CGA 0 +CITED2 0 +CLIC1 0 +CLIC5 0 +CLPS 0 +CMAHP 0 +CNKSR3 0 +CNR1 0 +COL10A1 0 +COL11A2 0 +COL12A1 1 +COL21A1 0 +COL9A1 0 +COQ3 1 +COX7A2 2 +CPNE5 0 +CRIP3 0 +CRISP1 0 +CRISP2 0 +CRISP3 0 +CTAGE9 0 +CTGF 0 +CUL7 0 +CUTA 0 +CYP39A1 0 +DACT2 0 +DAXX 0 +DCDC2 50 +DDAH2 0 +DDO 0 +DDX39B 0 +DEFB110 0 +DEFB112 0 +DEFB113 0 +DEFB114 0 +DEFB133 0 +DEK 7 +DHX16 0 +DKFZp451B082 0 +DLK2 0 +DLL1 0 +DNPH1 0 +DPPA5 123 +DST 0 +DTNBP1 1 +DXO 0 +DYNLT1 0 +ECHDC1 0 +ECI2 1 +EEF1A1 59 +EEF1E1 2 +EEF1E1-BLOC1S5 0 +EHMT2 0 +ELOVL2 0 +ELOVL4 12 +ELOVL5 14 +ENPP5 0 +EPB41L2 4 +EPHA7 0 +EPM2A 0 +ERVFRD-1 0 +ETV7 0 +EXOC2 2 +EYA4-AS1 0 +EYS 0 +EZR 41 +F13A1 0 +FAM162B 0 +FAM184A 0 +FAM217A 0 +FAM46A 0 +FAM65B 6 +FAXC 0 +FBXL4 0 +FBXO30 4 +FBXO5 7 +FILIP1 0 +FKBP5 1 +FKBPL 0 +FLOT1 0 +FRK 0 +FRMD1 0 +FRS3 1 +FUCA2 0 +FYN 5 +GABBR1 0 +GABRR1 0 +GABRR2 0 +GCLC 1 +GCM1 0 +GCM2 0 +GFOD1 2 +GJB7 0 +GLO1 0 +GMDS 0 +GNL1 0 +GOPC 3 +GPANK1 0 +GPLD1 6 +GPR110 0 +GPR116 0 +GPR31 0 +GPR63 0 +GPRC6A 0 +GPSM3 0 +GPX6 0 +GRM4 1 +GSTA1 0 +GSTA2 0 +GSTA3 0 +GSTA4 0 +GSTA5 0 +GSTA7P 0 +GSTM2P1 0 +GTPBP2 0 +GUCA1B 0 +GUSBP2 0 +GUSBP4 0 +HACE1 1 +HBS1L 1 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HDAC2 4 +HDDC2 1 +HGC6.3 0 +HIST1H1A 6 +HIST1H1B 0 +HIST1H1C 1 +HIST1H1D 0 +HIST1H1T 0 +HIST1H2AA 0 +HIST1H2AB 0 +HIST1H2AD 0 +HIST1H2AJ 0 +HIST1H2AK 0 +HIST1H2AM 0 +HIST1H2BB 0 +HIST1H2BC 0 +HIST1H2BG 0 +HIST1H2BJ 0 +HIST1H2BK 1 +HIST1H2BL 0 +HIST1H3B 0 +HIST1H3D 0 +HIST1H3F 0 +HIST1H3G 0 +HIST1H3I 0 +HIST1H3J 0 +HIST1H4B 0 +HIST1H4D 0 +HIST1H4G 0 +HIST1H4H 1 +HIST1H4K 0 +HIST1H4L 0 +HIVEP2 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB5 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HMGA1P7 0 +HMGCLL1 0 +HMGN3 0 +HS3ST5 0 +HSPA1L 0 +HTATSF1P2 0 +HTR1B 0 +HUS1B 0 +HYMAI 0 +IBTK 0 +ICK 2 +IER3 0 +IFITM4P 0 +IFNGR1 0 +IL17F 0 +IL20RA 0 +IL22RA2 0 +IMPG1 0 +IP6K3 0 +IPCEF1 0 +JARID2-AS1 0 +KATNA1 3 +KATNBL1P6 0 +KCNK16 0 +KCNK17 1 +KCNK5 1 +KCNQ5-AS1 0 +KHDC1 0 +KHDC1L 0 +KHDRBS2 0 +KIAA0319 0 +KIAA0408 0 +KIF13A 0 +KIF25-AS1 0 +KIF6 0 +KLHL31 0 +LAMA4 0 +LATS1 0 +LCA5 2 +LEMD2 0 +LGSN 0 +LINC00242 0 +LINC00266-3 0 +LINC00336 0 +LINC00472 0 +LINC00473 0 +LINC00518 0 +LINC00577 0 +LINC00581 0 +LINC00951 0 +LINC01016 0 +LINC01108 0 +LINC01268 0 +LINC01277 0 +LMBRD1 10 +LOC100128176 0 +LOC100129518 0 +LOC100130357 0 +LOC100130476 0 +LOC100131047 0 +LOC100270746 0 +LOC100422737 0 +LOC100506188 0 +LOC100507194 0 +LOC100507406 0 +LOC100507462 0 +LOC100507547 0 +LOC101927048 0 +LOC101927136 0 +LOC101927211 0 +LOC101927919 0 +LOC101927950 0 +LOC101928489 0 +LOC101928491 0 +LOC101928519 0 +LOC101928663 0 +LOC101928936 0 +LOC101929122 0 +LOC101929239 0 +LOC101929555 0 +LOC103352541 0 +LOC153910 0 +LOC154449 0 +LOC285740 0 +LOC285762 0 +LOC285768 0 +LOC285819 0 +LOC285847 0 +LOC401242 0 +LOC401286 0 +LOC441178 0 +LOC645434 0 +LOC729658 0 +LPA 0 +LPAL2 0 +LRFN2 0 +LRP11 0 +LRRC73 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +LY86-AS1 0 +LYRM2 0 +LYRM4 1 +MAK 3 +MAN1A1 0 +MANEA-AS1 0 +MAP3K5 1 +MAP3K7 0 +MAP7 4 +MAS1L 0 +MB21D1 0 +MBOAT1 0 +MCHR2 0 +MCM3 51 +MCM9 0 +MCUR1 0 +MDC1 0 +MDGA1 0 +MDN1 1 +ME1 1 +MEA1 0 +MED20 6 +MED23 2 +METTL24 0 +MICAL1 0 +MIR1236 0 +MIR1275 0 +MIR1913 0 +MIR30A 0 +MIR30C2 0 +MIR3145 0 +MIR3662 0 +MIR3691 0 +MIR3918 0 +MIR3925 0 +MIR3939 0 +MIR4282 0 +MIR4462 0 +MIR4466 0 +MIR4645 0 +MIR4646 0 +MIR4647 0 +MIR548B 0 +MIR548H3 0 +MIR5690 0 +MIR5695 0 +MIR586 0 +MIR6720 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +MLLT4-AS1 0 +MLN 0 +MMS22L 4 +MOCS1 0 +MOXD1 0 +MPC1 1 +MRPL14 0 +MRPL2 2 +MRPS10 3 +MRPS18A 0 +MTCH1 0 +MTFR2 3 +MTRF1L 0 +MUT 4 +MYLK4 0 +NCR3 0 +NDUFAF4 4 +NEDD9 0 +NELFE 0 +NEU1 0 +NFKBIE 1 +NHEG1 0 +NHLRC1 0 +NHSL1 3 +NMBR 0 +NOTCH4 0 +NOX3 0 +NRM 0 +NRN1 0 +NUDT3 1 +NUP153 5 +NUP43 1 +OARD1 2 +OLIG3 0 +OOEP 58 +OR11A1 0 +OR12D3 0 +OR2A4 0 +OR2B2 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +OSTCP1 1 +OSTM1 1 +PACRG-AS1 0 +PANDAR 0 +PARK2 0 +PBOV1 0 +PBX2 0 +PDCD2 1 +PDE10A 0 +PDSS2 0 +PERP 0 +PEX6 0 +PGC 0 +PGK2 0 +PGM3 7 +PHF10 0 +PHIP 0 +PKHD1 1 +PLA2G7 0 +PLAGL1 2 +PNISR 9 +POM121L2 0 +POPDC3 0 +POU5F1 0 +PPIL1 3 +PPIL4 8 +PPIL6 0 +PPP1R10 0 +PPP1R18 0 +PREP 4 +PRL 0 +PRPH2 1 +PRR18 0 +PRRT1 0 +PSMB1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +PTCHD4 0 +PTPRK 4 +PXDC1 0 +PXT1 0 +RAB23 1 +RAET1E 0 +RAET1G 0 +RAET1K 0 +RAET1L 0 +RANBP9 9 +RARS2 0 +RCAN2 1 +REPS1 0 +REV3L 1 +RGL2 0 +RGS17 0 +RHAG 0 +RMND1 0 +RNASET2 0 +RNF217-AS1 0 +RNF39 0 +RNGTT 0 +RNU6-48P 0 +RNU6-71P 0 +ROS1 2 +RPP40 0 +RPS10 12 +RPS10-NUDT3 0 +RPS16P5 0 +RPS6KA2 1 +RPS6KA2-IT1 0 +RRAGD 0 +RSPH3 0 +RTN4IP1 2 +RXRB 0 +SAMD3 2 +SAYSD1 1 +SCARNA27 0 +SCML4 0 +SEC63 0 +SERAC1 1 +SERINC1 4 +SERPINB1 0 +SERPINB6 0 +SERPINB9 1 +SERPINB9P1 0 +SESN1 3 +SF3B5 0 +SFT2D1 0 +SFTA2 0 +SGK1 0 +SHPRH 0 +SIM1 0 +SLC17A1 0 +SLC17A2 0 +SLC17A3 0 +SLC17A5 1 +SLC18B1 0 +SLC22A16 0 +SLC22A2 0 +SLC22A23 2 +SLC26A8 2 +SLC2A12 0 +SLC35B2 0 +SLC35B3 0 +SLC44A4 0 +SNAP91 3 +SNHG5 0 +SNORA20 0 +SNORA29 0 +SNORD117 0 +SNORD50A 0 +SNORD50B 0 +SNORD84 0 +SNX14 5 +SNX3 2 +SOD2 0 +SOGA3 0 +SPDEF 0 +SRPK1 35 +SRSF12 1 +SSR1 5 +STK38 6 +STX7 4 +STXBP5-AS1 0 +SUPT3H 9 +SYNCRIP 4 +SYNE1 10 +T 0 +TAAR1 0 +TAAR2 0 +TAAR3 0 +TAAR5 0 +TAF11 3 +TAGAP 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TBC1D32 0 +TBC1D7 1 +TBCC 7 +TBX18 0 +TCP1 9 +TCP10 0 +TCP11 0 +TCTE1 0 +TCTE3 0 +TDP2 1 +TEAD3 3 +TFAP2A 0 +TFB1M 1 +TFEB 0 +THBS2 3 +THEMIS 2 +TMEM217 0 +TMEM242 0 +TMEM244 0 +TMEM30A 0 +TNFRSF21 0 +TNXA 0 +TNXB 0 +TOB2P1 0 +TPMT 1 +TRAF3IP2 9 +TRAM2 16 +TRAPPC3L 0 +TRDN 0 +TREM1 0 +TREM2 0 +TREML1 0 +TREML2 0 +TREML3P 0 +TRERF1 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +TSPYL1 2 +TSPYL4 2 +TUBB2A 0 +TUBB2B 0 +TUBE1 0 +TULP1 0 +TXLNB 0 +TXNDC5 13 +UBD 0 +UBE2J1 0 +UBE3D 1 +ULBP3 0 +UNC5CL 0 +UQCC2 1 +USP45 2 +USP49 0 +VARS 0 +VNN1 0 +VNN2 0 +VNN3 0 +VPS52 0 +VWA7 0 +WASF1 3 +WDR27 0 +WDR46 0 +XPO5 1 +YIPF3 0 +ZBED9 0 +ZBTB12 0 +ZBTB2 5 +ZBTB22 0 +ZBTB24 4 +ZC3H12D 0 +ZFP57 0 +ZKSCAN4 1 +ZNF184 2 +ZNF204P 0 +ZNF311 0 +ZNF318 2 +ZNF322 0 +ZNRD1-AS1 0 +ZSCAN12 0 +ZSCAN16-AS1 0 +ZSCAN23 0 +ZSCAN31 0 +ZUFSP 0 +AGER 0 +AGPAT1 0 +ATP6V1G2-DDX39B 0 +BTNL2 0 +C6orf10 0 +DDX39B 0 +DHX16 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HSPA1L 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +MAS1L 0 +MDC1 0 +MIR6721 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +TAP1 0 +TAP2 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB3 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBED9 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6873 0 +NCR3 0 +NELFE 0 +NEU1 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VPS52 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG4 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB4 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf47 0 +CLIC1 0 +COL11A2 0 +CUTA 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB4 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C3 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +VARS 0 +VPS52 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +AASS 0 +ABCB1 0 +ABCB4 21 +ABCF2 1 +ABHD11 0 +ACHE 1 +ACTB 8 +ACTL6B 0 +ACTR3C 0 +ADAP1 0 +AGMO 1 +AGR2 1 +AGR3 0 +AKR1B1 6 +ALKBH4 1 +AMPH 2 +ANKMY2 1 +AOAH 7 +AOAH-IT1 0 +APTR 0 +ARHGEF34P 0 +ARHGEF35 0 +ASB10 0 +ASNS 1 +ASZ1 1 +ATG9B 0 +ATP5J2 0 +ATP5J2-PTCD1 0 +ATP6V0A4 0 +ATP6V0E2-AS1 0 +ATXN7L1 0 +AZGP1 0 +BAIAP2L1 12 +BAZ1B 18 +BCL7B 0 +BET1 0 +BLACE 0 +BRAF 0 +BRAT1 0 +C7orf13 0 +C7orf25 5 +C7orf31 0 +C7orf43 0 +C7orf49 0 +C7orf50 0 +C7orf60 3 +C7orf61 0 +C7orf62 0 +C7orf66 0 +C7orf76 0 +CACNA2D1 5 +CADPS2 1 +CALCR 0 +CALN1 1 +CAMK2B 0 +CARD11 0 +CCDC71L 0 +CCL24 0 +CCL26 0 +CCZ1B 1 +CDCA7L 8 +CDK5 2 +CDK6 0 +CEP41 1 +CHCHD2 1 +CHCHD3 3 +CLDN15 0 +CLDN3 0 +CLEC5A 0 +CLK2P 1 +CNOT4 12 +CNPY1 0 +COA1 7 +COBL 0 +COG5 11 +COL28A1 2 +COPG2 0 +COX19 0 +CPVL 0 +CREB3L2 6 +CRHR2 0 +CRYGN 0 +CTAGE4 0 +CTAGE6 0 +CTAGE8 0 +CTTNBP2 2 +CYCS 1 +CYP3A4 0 +CYP3A5 0 +CYP3A7 0 +CYP3A7-CYP3AP1 0 +CYP51A1 0 +CYTH3 0 +DAGLB 1 +DDC 0 +DDX56 0 +DENND2A 0 +DFNA5 6 +DGKB 0 +DGKI 0 +DLX5 0 +DLX6-AS1 0 +DNAJC2 5 +DNAJC30 1 +DOCK4 0 +DPY19L1 0 +DPY19L1P1 0 +DPY19L2P1 0 +DPY19L2P2 0 +EFCAB10 1 +EGFR-AS1 0 +EIF2AK1 5 +EIF3IP1 0 +ELDR 0 +ELFN1-AS1 0 +ELMO1 5 +EPHA1 0 +EPHB4 0 +ERV3-1 0 +ESYT2 0 +ETV1 0 +EVX1-AS 0 +EZH2 1 +FAM115A 1 +FAM115D 0 +FAM126A 0 +FAM131B 0 +FAM133B 2 +FAM133DP 0 +FAM180A 0 +FAM183B 0 +FAM200A 0 +FAM220A 79 +FAM3C 0 +FASTK 1 +FBXL13 0 +FBXL18 0 +FDPSP2 0 +FERD3L 0 +FEZF1 0 +FGL2 0 +FIGNL1 9 +FIS1 0 +FKBP14 1 +FKBP9P1 0 +FTSJ2 2 +GAL3ST4 0 +GATS 2 +GATSL2 0 +GBX1 0 +GCC1 4 +GCK 0 +GGCT 10 +GIGYF1 1 +GIMAP6 0 +GJC3 0 +GLI3 0 +GNA12 8 +GNAT3 0 +GPC2 1 +GPR37 21 +GPR85 0 +GRB10 0 +GRID2IP 0 +GRIFIN 0 +GRM8 0 +GSAP 1 +GTF2IP1 0 +GTF2IRD1P1 0 +GTF2IRD2 0 +GUSB 0 +GUSBP10 0 +H2AFV 1 +HEPACAM2 0 +HERPUD2 1 +HGF 0 +HIBADH 0 +HIP1 4 +HIPK2 2 +HNRNPA2B1 1 +HOXA1 0 +HOXA10 0 +HOXA10-HOXA9 0 +HOXA11 0 +HOXA13 0 +HOXA2 0 +HOXA3 1 +HOXA4 0 +HOXA5 0 +HOXA6 0 +HOXA7 1 +HOXA9 0 +HPVC1 0 +HTR5AOS 0 +HUS1 0 +ICA1 1 +IFT22 1 +IGF2BP3 21 +IGFBP3 1 +IMMP2L 0 +IMPDH1 0 +INHBA 0 +INTS1 0 +IQUB 11 +ISPD 5 +JAZF1 11 +KBTBD2 0 +KCNH2 0 +KCP 0 +KDELR2 4 +KDM7A 1 +KEL 0 +KIAA0087 0 +KIAA0895 0 +KIAA1147 12 +KIAA1324L 2 +KIAA1549 0 +KLF14 0 +KLHL7-AS1 0 +KLRG2 0 +KMT2C 75 +KMT2E-AS1 0 +KPNA7 242 +KRIT1 1 +LAMB1 11 +LAMB4 0 +LHFPL3-AS1 0 +LHFPL3-AS2 0 +LINC-PINT 0 +LINC00174 0 +LINC00998 1 +LINC01004 0 +LINC01005 0 +LINC01006 0 +LINC01007 0 +LINC01446 0 +LINC01448 0 +LINC01450 0 +LINC01510 0 +LMBR1 0 +LOC100093631 0 +LOC100129148 0 +LOC100130673 0 +LOC100130849 0 +LOC100131257 0 +LOC100240728 0 +LOC100287834 0 +LOC100505921 0 +LOC100506136 0 +LOC100506895 0 +LOC100507468 0 +LOC101926943 0 +LOC101927269 0 +LOC101927391 0 +LOC101927630 0 +LOC101927668 0 +LOC101927811 0 +LOC101928036 0 +LOC101928211 0 +LOC101928254 0 +LOC101928401 0 +LOC101928700 0 +LOC101928861 0 +LOC102724094 0 +LOC102724484 0 +LOC102724555 0 +LOC154761 0 +LOC154872 1 +LOC285889 6 +LOC349160 0 +LOC401312 0 +LOC401320 0 +LOC441242 0 +LOC493754 0 +LOC646762 0 +LOC650226 0 +LRCH4 1 +LRRC4 4 +LRRD1 0 +LSM5 0 +LUZP6 0 +MACC1 0 +MAD1L1 0 +MAGI2 1 +MCM7 2 +MEOX2 0 +MESTIT1 0 +MGC27345 1 +MGC72080 5 +MICALL2 0 +MIR106B 0 +MIR1200 0 +MIR148A 0 +MIR153-2 0 +MIR182 0 +MIR183 0 +MIR196B 0 +MIR25 0 +MIR29A 0 +MIR29B1 0 +MIR3146 0 +MIR339 0 +MIR3907 0 +MIR3914-1 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4655 0 +MIR4656 0 +MIR4657 0 +MIR4658 0 +MIR489 0 +MIR548AR 0 +MIR548AU 0 +MIR548F4 0 +MIR548I4 0 +MIR550A3 0 +MIR550B1 0 +MIR550B2 0 +MIR589 0 +MIR591 0 +MIR592 0 +MIR595 0 +MIR6509 0 +MIR653 0 +MIR6836 0 +MIR6838 0 +MIR6874 0 +MIR7976 0 +MIR93 0 +MIR96 0 +MKLN1-AS 0 +MKRN1 2 +MLXIPL 0 +MMD2 0 +MNX1 1 +MOGAT3 0 +MOXD2P 0 +MPLKIP 0 +MRPS24 1 +MRPS33 3 +MTERF1 0 +MTPN 0 +MYL10 0 +MYL7 0 +MYO1G 0 +NACAD 0 +NAMPT 1 +NAPEPLD 0 +NAT16 0 +NCAPG2 3 +NCF1C 0 +NDUFA4 2 +NDUFA5 3 +NDUFB2-AS1 0 +NEUROD6 0 +NOBOX 0 +NOD1 5 +NPC1L1 0 +NPSR1-AS1 1 +NPVF 0 +NRCAM 0 +NSUN5 0 +NSUN5P2 0 +NT5C3A 0 +NUDCD3 2 +NUPR1L 0 +OCM2 0 +OPN1SW 0 +OR2A1 0 +OR2A20P 0 +OR2A42 0 +OR2A7 0 +OR2A9P 0 +OR2AE1 0 +OR6W1P 0 +OR9A2 0 +ORC5 11 +OSBPL3 1 +PAPOLB 0 +PARP12 10 +PAX4 0 +PAXIP1 9 +PCLO 2 +PCOLCE-AS1 0 +PDAP1 2 +PDE1C 0 +PDGFA 1 +PDIA4 1 +PDK4 0 +PEX1 0 +PGAM2 0 +PHKG1 0 +PKD1L1 0 +PLOD3 0 +PLXNA4 3 +PMS2 1 +PMS2P1 0 +PMS2P3 0 +PMS2P4 0 +PMS2P5 0 +PNPLA8 7 +PODXL 0 +POLD2 0 +POLM 0 +POLR2J 4 +POLR2J2 0 +POLR2J3 0 +POLR2J4 0 +POM121C 4 +POMZP3 0 +PON1 0 +PON2 5 +PON3 0 +POT1 0 +POU6F2-AS1 0 +PPP1R35 1 +PPP1R3A 5 +PRKAG2 0 +PRKAR1B 0 +PRPS1L1 0 +PRRT4 0 +PRSS37 0 +PRSS58 0 +PSMA2 11 +PSMG3 1 +PSPH 0 +PTCD1 0 +PTN 14 +PTPRN2 1 +PURB 0 +PUS7 0 +RADIL 6 +RAPGEF5 0 +RARRES2 1 +RASA4 0 +RASA4B 0 +RASA4CP 0 +RBM28 3 +RELN 0 +RFC2 0 +RHEB 0 +RNF133 0 +RNF148 0 +RNF216 7 +RNF216-IT1 0 +RNU6-16P 0 +RNU6-2 0 +RNU6-57P 0 +RP9 1 +RP9P 0 +RPA3 1 +RPL19P12 0 +RSPH10B 0 +RSPH10B2 0 +SAMD9 0 +SAMD9L 0 +SAP25 0 +SBDS 0 +SCRN1 0 +SEC61G 5 +SEMA3A 0 +SEMA3C 0 +SEMA3D 0 +SEMA3E 0 +SEPT14 1 +SEPT7-AS1 0 +SEPT7P2 0 +SFRP4 0 +SGCE 0 +SHFM1 0 +SHH 0 +SKAP2 11 +SLC13A1 0 +SLC13A4 3 +SLC25A13 3 +SLC25A40 0 +SLC26A3 0 +SLC26A4-AS1 0 +SLC26A5 1 +SLC35B4 1 +SLC37A3 0 +SMARCD3 0 +SMURF1 2 +SNHG15 0 +SNORA5A 0 +SNORA5B 0 +SNORA5C 0 +SNORA9 0 +SNX13 2 +SNX8 0 +SOSTDC1 0 +SP8 0 +SPDYE6 0 +SPDYE7P 0 +SPDYE8P 0 +SRI 3 +SRPK2 4 +SSC4D 0 +ST7-AS1 0 +ST7-AS2 0 +STAG3L1 0 +STAG3L2 0 +STAG3L3 0 +STEAP1B 0 +STEAP2-AS1 0 +STEAP4 0 +STX1A 0 +STYXL1 0 +SUN3 0 +SVOPL 7 +SYPL1 0 +TAF6 0 +TARP 0 +TAS2R16 0 +TAS2R38 0 +TBL2 0 +TBRG4 0 +TBX20 0 +TECPR1 0 +TFEC 0 +TFPI2 0 +TFR2 1 +THAP5 5 +THSD7A 8 +TMED4 3 +TMEM120A 1 +TMEM130 0 +TMEM168 2 +TMEM176B 0 +TMEM184A 0 +TMEM196 0 +TMEM209 2 +TMEM229A 0 +TMEM243 0 +TMEM60 7 +TMUB1 0 +TNPO3 39 +TNRC18 0 +TNS3 1 +TOMM7 12 +TP53TG1 0 +TPK1 3 +TRA2A 0 +TRIL 0 +TRIM4 1 +TRIM50 0 +TRPV5 0 +TRPV6 1 +TRY2P 0 +TSC22D4 0 +TSGA13 0 +TSPAN12 1 +TWIST1 1 +TWISTNB 19 +TYW1B 2 +UBE2H 27 +UFSP1 0 +UPK3BL 0 +URGCP 1 +URGCP-MRPS24 0 +VGF 0 +VIPR2 0 +VOPP1 0 +VPS41 1 +VWDE 0 +WASL 2 +WBSCR16 0 +WBSCR27 0 +WDR86 0 +WDR91 0 +WEE2-AS1 26 +WNT2 0 +XRCC2 0 +YWHAG 2 +ZASP 0 +ZC3HAV1 0 +ZC3HAV1L 0 +ZC3HC1 2 +ZCWPW1 3 +ZFAND2A 75 +ZNF117 0 +ZNF12 0 +ZNF3 1 +ZNF394 1 +ZNF425 1 +ZNF467 0 +ZNF479 0 +ZNF680 1 +ZNF733P 0 +ZNF746 2 +ZNF767P 0 +ZNF777 0 +ZNF786 0 +ZNF800 0 +ZNF890P 0 +ZNRF2P2 0 +ZPBP 0 +LOC389831 0 +ABRA 0 +ADAM2 0 +ADAM3A 0 +ADCY8 0 +ADRA1A 0 +ADRB3 0 +AGO2 12 +ANGPT1 0 +ANGPT2 0 +ANK1 0 +ANKRD46 3 +ANXA13 0 +ARC 0 +ARFGEF1 3 +ARHGAP39 2 +ARMC1 51 +ASAH1 2 +ASAP1 4 +ASAP1-IT1 0 +ASAP1-IT2 0 +ASPH 2 +ATAD2 3 +ATP6V1H 0 +AZIN1 4 +BAALC-AS1 0 +BAALCOS 0 +BIN3 2 +BIN3-IT1 0 +BOP1 0 +BRF2 0 +C8orf37 0 +C8orf59 1 +C8orf76 0 +C8orf82 1 +C8orf86 0 +C8orf87 0 +C8orf88 0 +CA1 0 +CA8 0 +CALB1 2 +CASC11 0 +CASC19 0 +CASC8 2 +CASC9 0 +CCAT1 0 +CCDC166 0 +CCDC25 78 +CCNE2 0 +CDH17 0 +CEBPD 0 +CHRNA2 0 +CHRNA6 0 +CLU 0 +CNGB3 0 +CNOT7 24 +COL22A1 1 +COMMD5 1 +COPS5 0 +COX6C 0 +CPA6 1 +CPSF1 0 +CRH 0 +CSGALNACT1 0 +CSMD1 1 +CSMD3 1 +CTSB 7 +CYHR1 0 +CYP11B1 0 +CYP11B2 0 +CYP7A1 0 +CYP7B1 0 +DCAF4L2 1 +DEFA1 0 +DEFA10P 0 +DEFA11P 0 +DEFA1B 0 +DEFA3 0 +DEFA4 0 +DEFA5 0 +DEFA6 0 +DEFA8P 0 +DEFA9P 0 +DEFB1 0 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1 0 +DEFB109P1B 0 +DEFB130 0 +DEFB134 0 +DEFB136 0 +DEFB4B 0 +DEFT1P 0 +DEFT1P2 0 +DERL1 1 +DGAT1 0 +DKK4 0 +DLC1 1 +DLGAP2-AS1 0 +DOK2 0 +DPYS 0 +DSCC1 1 +DUSP26 0 +DUSP4 0 +EBF2 1 +EEF1D 2 +EFCAB1 0 +EGR3 0 +EIF3E 6 +EIF3H 11 +ENPP2 1 +ENTPD4 0 +EPPK1 0 +ERICH1 2 +EXT1 4 +EYA1 1 +FABP12 0 +FABP4 0 +FABP9 0 +FAM135B 0 +FAM150A 0 +FAM167A 3 +FAM49B 6 +FAM66B 0 +FAM83A-AS1 0 +FAM83H 0 +FAM84B 6 +FAM86B1 0 +FAM86B2 0 +FAM87A 0 +FAM90A25P 0 +FAM90A2P 0 +FAM90A7P 0 +FBXL6 0 +FBXO16 0 +FBXO32 1 +FBXO43 2 +FER1L6-AS1 0 +FER1L6-AS2 0 +FGF20 0 +FGFR1 1 +FGL1 0 +FLJ46284 0 +FOXH1 0 +FSBP 0 +FUT10 2 +GDF6 0 +GEM 4 +GFRA2 7 +GGH 1 +GNRH1 0 +GOT1L1 0 +GPR20 0 +GSDMC 0 +GSR 1 +GTF2E2 0 +HAS2 2 +HEY1 0 +HHLA1 0 +HPYR1 0 +HR 0 +HRSP12 0 +IL7 0 +IMPA1 9 +IMPAD1 0 +INTS9 6 +JPH1 0 +JRK 0 +KAT6A 2 +KCNK9 29 +KCNQ3 0 +KCNV1 0 +KCTD9 0 +KIAA0196 0 +KIAA1429 3 +KIF13B 2 +KLF10 0 +KLHL38 0 +LACTB2 0 +LGI3 0 +LINC00251 0 +LINC00535 0 +LINC00536 0 +LINC00589 0 +LINC00599 0 +LINC00824 0 +LINC00861 0 +LINC00965 0 +LINC00968 0 +LINC00977 0 +LINC01030 1 +LINC01298 0 +LINC01299 0 +LINC01301 0 +LOC100128993 0 +LOC100130298 0 +LOC100130301 0 +LOC100133267 0 +LOC100133669 0 +LOC100287015 0 +LOC100288181 0 +LOC100288748 0 +LOC100500773 0 +LOC100505718 0 +LOC100505739 0 +LOC100507316 0 +LOC100507420 0 +LOC100507530 1 +LOC100996348 0 +LOC101241902 0 +LOC101926926 0 +LOC101927003 4 +LOC101927040 0 +LOC101927066 0 +LOC101927459 0 +LOC101927487 0 +LOC101927588 0 +LOC101927798 0 +LOC101927815 0 +LOC101927915 0 +LOC101929528 0 +LOC286083 0 +LOC286189 0 +LOC340357 0 +LOC392196 0 +LOC392232 0 +LOC401463 0 +LOC649352 0 +LOC728024 0 +LOC729732 0 +LONRF1 1 +LOXL2 0 +LRP12 0 +LRRC24 0 +LRRC6 1 +LSM1 0 +LY6D 0 +LY6H 0 +LYNX1 0 +LYPD2 0 +LYPLA1 0 +LZTS1 0 +MAFA 0 +MBOAT4 0 +MFHAS1 1 +MIR1234 0 +MIR124-1 0 +MIR1322 0 +MIR30B 0 +MIR30D 0 +MIR3148 0 +MIR3150B 0 +MIR320A 0 +MIR3610 0 +MIR3622B 0 +MIR378D2 0 +MIR383 0 +MIR3926-1 0 +MIR4287 0 +MIR4288 0 +MIR4469 0 +MIR4659B 0 +MIR4663 0 +MIR4664 0 +MIR486-1 0 +MIR5194 0 +MIR548I3 0 +MIR548O2 0 +MIR5681B 0 +MIR598 0 +MIR599 0 +MIR661 0 +MIR6841 0 +MIR6843 0 +MIR6844 0 +MIR6845 0 +MIR6846 0 +MIR6848 0 +MIR6849 0 +MIR6850 0 +MIR6893 0 +MIR7112 0 +MIR7705 0 +MIR7848 0 +MIR8055 0 +MIR875 0 +MIR937 0 +MIR939 0 +MMP16 0 +MOS 1 +MROH5 0 +MROH6 0 +MRPL13 0 +MRPS28 0 +MSC 0 +MSR1 0 +MTERF3 6 +MTMR7 0 +MTSS1 3 +MTUS1 26 +MYBL1 0 +NAPRT 0 +NBN 5 +NCALD 3 +NCOA2 1 +NDRG1 7 +NEFL 1 +NIPAL2 0 +NKX2-6 0 +NKX3-1 5 +NKX6-3 0 +NRBP2 0 +NSMAF 0 +NUDCD1 7 +NUDT18 0 +NUGGC 0 +OC90 0 +OPLAH 0 +OPRK1 0 +OR4F21 0 +OTUD6B-AS1 0 +PABPC1 49 +PAG1 8 +PARP10 0 +PBK 1 +PCAT2 0 +PCMTD1 14 +PDE7A 3 +PEBP4 2 +PENK 0 +PEX2 4 +PHYHIP 0 +PINX1 4 +PLAG1 4 +PLAT 0 +PLEC 0 +PMP2 0 +PNMA2 0 +PPAPDC1B 0 +PPP1R3B 0 +PPP1R42 0 +PPP2CB 0 +PRDM14 0 +PRKDC 1 +PRR23D1 0 +PRR23D2 0 +PSD3 5 +PSKH2 0 +PTK2 1 +PTTG3P 3 +PUF60 1 +PURG 0 +PXDNL 0 +PYCRL 0 +RAB11FIP1 0 +RAD21 11 +RAD54B 2 +RB1CC1 5 +RBM12B 3 +RBPMS-AS1 0 +RECQL4 1 +REEP4 1 +REXO1L2P 0 +RGS22 0 +RHPN1-AS1 0 +RMDN1 0 +RNF122 11 +RNF139-AS1 0 +RNF170 0 +RNF19A 3 +RNF5P1 0 +RP1L1 0 +RPL23AP53 0 +RPL30 22 +RPL7 0 +RPL8 31 +RPS20 61 +RRM2B 4 +RRS1-AS1 0 +RSPO2 7 +RUNX1T1 9 +SAMD12 3 +SARAF 2 +SBF1P1 0 +SBSPON 0 +SCARA5 0 +SCRIB 0 +SCRT1 0 +SDR16C5 0 +SDR16C6P 0 +SFRP1 0 +SGCZ 0 +SGK223 0 +SHARPIN 0 +SLA 0 +SLC10A5 0 +SLC18A1 0 +SLC20A2 0 +SLC25A32 0 +SLC39A4 0 +SLC45A4 0 +SLC7A13 0 +SLCO5A1 0 +SLURP1 0 +SNAI2 0 +SNHG6 0 +SNORA72 0 +SNORD54 0 +SNORD87 0 +SNTB1 0 +SNX16 1 +SNX31 0 +SOX7 0 +SPAG11B 0 +ST18 0 +ST3GAL1 0 +STAR 0 +STAU2 1 +STC1 0 +STK3 1 +STMN4 0 +SYBU 0 +TAF2 1 +TATDN1 0 +TCEA1 0 +TCEB1 3 +TCF24 0 +TDRP 5 +TEX15 0 +THAP1 6 +TM2D2 1 +TMEM249 0 +TMEM55A 0 +TMEM64 1 +TMEM65 1 +TMEM68 0 +TMEM71 0 +TMEM74 10 +TMEM75 0 +TNFRSF10A 0 +TNFRSF10B 0 +TNFRSF10D 0 +TNFRSF11B 1 +TONSL 0 +TOP1MT 0 +TOX 2 +TP53INP1 1 +TPD52 24 +TRAM1 4 +TRAPPC9 0 +TRIM35 1 +TRIQK 0 +TRPA1 3 +TRPS1 0 +TSNARE1 0 +TSPYL5 4 +TSTA3 0 +TTI2 0 +TTPA 0 +UBE2W 3 +UBR5 9 +UQCRB 1 +USP17L2 0 +USP17L3 0 +USP17L7 0 +USP17L8 0 +VCPIP1 3 +VPS28 0 +WHSC1L1 1 +XKR5 0 +XKR6 0 +YTHDF3-AS1 0 +YWHAZ 2 +ZC3H3 0 +ZFAND1 0 +ZFAT 1 +ZFHX4-AS1 0 +ZHX1 5 +ZHX1-C8orf76 0 +ZMAT4 0 +ZNF16 3 +ZNF250 0 +ZNF251 1 +ZNF252P 0 +ZNF34 0 +ZNF395 27 +ZNF704 0 +ZNF705G 0 +ZNF706 1 +AAED1 0 +ABCA1 2 +ABCA2 0 +ABHD17B 0 +ABO 0 +ACTL7B 1 +AGPAT2 0 +AGTPBP1 0 +AK1 0 +AK3 0 +AK8 0 +AKNA 1 +ALAD 0 +ALDH1A1 0 +ALDOB 0 +ALG2 0 +AMBP 0 +ANAPC2 0 +ANGPTL2 0 +ANKRD18A 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKS6 0 +APBA1 1 +APTX 1 +AQP3 0 +AQP7 0 +AQP7P1 0 +ARHGEF39 1 +ARID3C 0 +ARRDC1-AS1 0 +ASB6 4 +ASPN 0 +ASTN2 3 +AUH 0 +B4GALT1 4 +BAAT 0 +BAG1 0 +BANCR 0 +BARX1 0 +BICD2 1 +BNC2 0 +BRD3 2 +BRINP1 1 +C5 1 +C9orf114 0 +C9orf116 0 +C9orf129 0 +C9orf135-AS1 0 +C9orf152 0 +C9orf153 0 +C9orf156 0 +C9orf173-AS1 0 +C9orf24 0 +C9orf40 0 +C9orf41 1 +C9orf50 0 +C9orf57 0 +C9orf64 0 +C9orf66 0 +C9orf69 2 +C9orf72 0 +C9orf78 13 +C9orf84 0 +C9orf92 1 +CAAP1 2 +CAMSAP1 7 +CARD9 0 +CBWD1 0 +CBWD5 1 +CBWD6 0 +CCBL1 0 +CCDC183-AS1 0 +CCL19 0 +CCL21 0 +CCL27 0 +CD72 0 +CDC14B 0 +CDC26 0 +CDC37L1-AS1 0 +CDK20 1 +CDK5RAP2 0 +CDKN2A 0 +CDKN2B 0 +CER1 0 +CIZ1 2 +CLIC3 0 +CNTFR 0 +CNTNAP3 0 +CORO2A 2 +CRAT 0 +CTNNAL1 0 +CTSV 4 +DBH-AS1 0 +DCAF12 4 +DCTN3 1 +DDX31 0 +DDX58 2 +DENND1A 0 +DFNB31 3 +DIRAS2 0 +DKFZP434A062 0 +DNAJB5-AS1 0 +DNLZ 0 +DOLK 0 +DPH7 0 +DPM2 1 +DPP7 0 +ECM2 0 +EDF1 0 +ELAVL2 3 +ENG 7 +ENHO 0 +ENTPD2 0 +ENTPD8 0 +EPB41L4B 2 +EQTN 0 +ERMP1 2 +ERP44 5 +EXD3 0 +EXOSC3 11 +FAM102A 0 +FAM120AOS 0 +FAM129B 1 +FAM138C 0 +FAM154A 4 +FAM163B 0 +FAM166A 0 +FAM166B 0 +FAM205A 0 +FAM205B 0 +FAM214B 0 +FAM219A 0 +FAM221B 1 +FAM225B 0 +FAM27B 0 +FAM27E2 0 +FAM27E3 0 +FAM74A1 0 +FAM74A4 0 +FAM74A6 0 +FAM78A 0 +FAM95B1 0 +FAM95C 0 +FANCC 0 +FANCG 0 +FBP1 0 +FBP2 0 +FBXO10 4 +FBXW2 3 +FBXW5 0 +FCN1 0 +FIBCD1 0 +FKBP15 1 +FLJ41200 0 +FNBP1 8 +FOCAD-AS1 0 +FOXD4 0 +FOXD4L4 0 +FOXD4L5 0 +FOXD4L6 0 +FREM1 0 +FRMD3 9 +FRRS1L 0 +FUT7 0 +GABBR2 5 +GAS1 0 +GAS2L1P2 0 +GBA2 0 +GBGT1 0 +GGTA1P 0 +GKAP1 5 +GLDC 0 +GLIDR 0 +GLIS3 0 +GLT6D1 0 +GNA14 15 +GNAQ 1 +GNE 1 +GOLGA1 0 +GOLGA2 5 +GOLM1 8 +GRIN3A 0 +GSN-AS1 0 +GXYLT1P3 0 +HAUS6 0 +HDHD3 1 +HEMGN 0 +HIATL2 0 +HINT2 0 +HNRNPK 4 +HSD17B3 0 +HSPA5 9 +IARS 0 +IER5L 0 +IFNA10 0 +IFNA13 0 +IFNA14 0 +IFNA16 0 +IFNA17 0 +IFNA2 0 +IFNA21 0 +IFNA22P 0 +IFNA4 0 +IFNA5 0 +IFNA6 0 +IFNA7 0 +IFNB1 0 +IFNE 0 +IFNW1 0 +IFT74-AS1 0 +IGFBPL1 5 +IKBKAP 2 +INIP 3 +INPP5E 0 +INSL6 0 +IPPK 1 +ISCA1 1 +IZUMO3 0 +KGFLP2 0 +KIAA0020 5 +KIAA0368 0 +KIAA1161 0 +KIAA2026 0 +KIF12 0 +KIF24 1 +KIF27 1 +KLF4 0 +KLF9 0 +KLHL9 0 +LCN10 0 +LCN15 0 +LCN6 0 +LCN8 0 +LHX3 0 +LHX6 0 +LINC00032 0 +LINC00092 0 +LINC00474 0 +LINC00476 0 +LINC01242 0 +LINC01251 0 +LINC01474 0 +LINC01492 0 +LINC01501 0 +LINC01506 0 +LINC01508 1 +LINC01509 0 +LINGO2 8 +LOC100129316 0 +LOC100133077 0 +LOC100272217 0 +LOC100505478 0 +LOC101448202 0 +LOC101927069 0 +LOC101927450 0 +LOC101927954 0 +LOC101928381 0 +LOC101928438 0 +LOC101928525 0 +LOC101928748 0 +LOC101928775 0 +LOC101928786 0 +LOC101929116 0 +LOC101929563 0 +LOC102723709 0 +LOC158434 0 +LOC286238 0 +LOC286297 0 +LOC286359 0 +LOC286370 0 +LOC392364 0 +LOC403323 0 +LOC440173 0 +LOC440896 0 +LOC494127 0 +LOC51145 0 +LOC642236 0 +LOC642929 0 +LPAR1 0 +LRRC19 0 +LRRC26 0 +LRRC37A5P 0 +MAMDC2-AS1 0 +MAN1B1-AS1 0 +MAPKAP1 5 +MED22 0 +MED27 2 +MEGF9 0 +MIR147A 0 +MIR199B 0 +MIR204 0 +MIR219A2 0 +MIR3074 0 +MIR31 0 +MIR3134 0 +MIR3154 0 +MIR31HG 0 +MIR32 0 +MIR3621 0 +MIR3651 0 +MIR3689A 0 +MIR3689B 0 +MIR3689C 0 +MIR3689D1 0 +MIR3689D2 0 +MIR3689E 0 +MIR3689F 0 +MIR3910-2 0 +MIR3911 0 +MIR4289 0 +MIR4290 0 +MIR4473 0 +MIR4474 0 +MIR4475 0 +MIR4476 0 +MIR4478 0 +MIR4540 0 +MIR4670 0 +MIR4672 0 +MIR4673 0 +MIR4674 0 +MIR548H3 0 +MIR548Q 0 +MIR600 0 +MIR600HG 0 +MIR601 0 +MIR6130 0 +MIR6722 0 +MIR6851 0 +MIR6852 0 +MIR6854 0 +MIR7-1 0 +MIR7114 0 +MIR7150 0 +MIR7702 0 +MIR873 0 +MIR876 0 +MIRLET7DHG 0 +MLLT3 2 +MOB3B 1 +MPDZ 2 +MRPL50 1 +MSMP 0 +NACC2 0 +NAIF1 1 +NAMA 0 +NDUFA8 3 +NDUFB6 0 +NFIB 0 +NFIL3 0 +NINJ1 0 +NMRK1 0 +NOL6 0 +NOL8 10 +NOTCH1 0 +NPDC1 0 +NR5A1 0 +NR6A1 7 +NRARP 0 +NRON 0 +NSMF 0 +NUTM2F 0 +OBP2B 0 +OGN 0 +OMD 0 +OR13C2 0 +OR13C3 0 +OR13C4 0 +OR13C5 0 +OR13C9 0 +OR13J1 0 +OR1B1 0 +OR1J1 0 +OR1L8 0 +OR1N1 3 +OR2K2 0 +OR2S2 0 +PAPPA-AS1 0 +PAX5 0 +PDCL 4 +PGM5-AS1 0 +PGM5P2 0 +PHF19 0 +PIGO 0 +PIP5KL1 0 +PLAA 5 +PLGRKT 0 +PLIN2 0 +PNPLA7 0 +POLE3 3 +PPP1R26-AS1 0 +PPP3R2 0 +PPP6C 15 +PRKACG 0 +PRUNE2 1 +PSIP1 11 +PSMB7 0 +PSMD5 1 +PTAR1 0 +PTBP3 0 +PTCH1 0 +PTENP1 0 +PTGES 0 +PTGES2 0 +PTGR1 0 +PTPLAD2 0 +PTPN3 5 +PTPRD 3 +PTRH1 1 +QRFP 0 +QSOX2 1 +RAB14 1 +RALGDS 1 +RANBP6 0 +RAPGEF1 0 +RASEF 0 +RBM18 6 +RC3H2 0 +REXO4 0 +RFK 0 +RFX3 0 +RLN1 0 +RLN2 0 +RMRP 1 +RNF183 0 +RNF208 0 +RNF38 49 +RNU6ATAC 0 +ROR2 0 +RPL12 4 +RPL35 6 +RPP25L 0 +RPS6 58 +SAPCD2 0 +SARDH 0 +SCAI 4 +SCARNA8 0 +SDCCAG3 2 +SEC16A 2 +SEMA4D 0 +SETX 1 +SH2D3C 0 +SH3GLB2 3 +SHB 1 +SHC3 0 +SIGMAR1 0 +SIT1 0 +SLC24A2 0 +SLC25A25-AS1 0 +SLC25A51 1 +SLC28A3 3 +SLC2A6 0 +SLC35D2 0 +SLC46A2 0 +SMC2-AS1 0 +SMC5-AS1 0 +SMU1 0 +SNAPC4 1 +SNHG7 0 +SNORA17 0 +SNORA43 0 +SNORA65 0 +SNORA70C 0 +SNORA84 0 +SNORD121A 0 +SNORD121B 0 +SNORD90 0 +SOHLH1 0 +SPAG8 0 +SPATA31A5 0 +SPATA31A6 0 +SPATA31A7 0 +SPATA31C2 0 +SPATA6L 0 +SPTLC1 1 +ST6GALNAC4 0 +ST6GALNAC6 1 +STOM 2 +STOML2 3 +STRBP 20 +STX17-AS1 0 +SUGT1P1 0 +SURF1 2 +SURF4 4 +SURF6 0 +SUSD1 0 +SVEP1 3 +TAF1L 0 +TBC1D2 0 +TEX10 0 +TLE1 0 +TLN1 0 +TMEM2 15 +TMEM203 0 +TMEM210 0 +TMEM245 9 +TMEM246 0 +TMEM252 0 +TMEM261 0 +TMEM8C 0 +TNC 0 +TNFSF15 0 +TNFSF8 0 +TOMM5 5 +TOPORS 19 +TOR1A 4 +TOR2A 0 +TPM2 0 +TPRN 0 +TRAF1 0 +TRIM14 1 +TRPM3 0 +TRPM6 0 +TRUB2 0 +TSC1 4 +TSTD2 2 +TTC39B 0 +TTF1 1 +TTLL11 0 +TUSC1 0 +TXN 0 +TXNDC8 0 +UBAC1 6 +UBAP2 4 +UBQLN1 9 +UCK1 0 +VAV2 0 +VCP 1 +VLDLR-AS1 0 +VPS13A-AS1 0 +WASH1 0 +WDR31 0 +WDR34 0 +XPA 0 +ZBTB26 0 +ZBTB5 0 +ZBTB6 0 +ZCCHC6 3 +ZDHHC12 0 +ZDHHC21 1 +ZER1 0 +ZFAND5 12 +ZFP37 0 +ZMYND19 1 +ZNF367 0 +ZNF484 0 +ZNF510 3 +ZNF658 0 +ZNF658B 0 +ZNF782 0 +ZNF883 0 +LOC100288966 0 +MIR8069-1 0 +LOC100233156 0 +LOC389834 1 +LOC283788 2 +FLJ20518 0 +FRG2C 0 +LINC00960 0 +MIR4273 0 +ZNF26 0 +ZNF84 0 +LINC00266-3 0 +FRG2 0 +ABCB7 1 +ACE2 2 +ACOT9 2 +ACSL4 0 +ACTRT1 0 +AIFM1 7 +AKAP4 0 +ALAS2 0 +AMER1 0 +AMMECR1 0 +AMOT 9 +AP1S2 0 +APLN 0 +APOO 5 +ARHGAP4 0 +ARHGAP6 0 +ARHGEF6 0 +ARHGEF9 0 +ARHGEF9-IT1 0 +ARMCX2 0 +ARMCX6 0 +ARSD 1 +ARSE 0 +ARX 0 +ASB11 0 +ASB12 0 +ASB9 0 +ASMTL 0 +ATP11C 1 +ATRX 11 +ATXN3L 0 +AWAT2 0 +BCAP31 1 +BCOR 0 +BCYRN1 0 +BEND2 0 +BEX1 0 +BEX2 0 +BEX5 0 +BRWD3 3 +BTK 0 +C1GALT1C1 0 +CACNA1F 0 +CAPN6 0 +CASK 0 +CD99L2 0 +CDR1 0 +CENPVP1 0 +CENPVP2 0 +CETN2 1 +CFP 0 +CHM 0 +CHMP1B2P 0 +CHRDL1 1 +CITED1 0 +CLIC2 0 +CMC4 0 +COL4A6 0 +CRLF2 0 +CSAG3 0 +CSAG4 0 +CT45A4 0 +CT47A1 0 +CT47A10 0 +CT47A11 0 +CT47A12 0 +CT47A2 0 +CT47A3 0 +CT47A4 0 +CT47A5 0 +CT47A6 0 +CT47A7 0 +CT47A8 0 +CT47A9 0 +CT47B1 1 +CT55 0 +CT83 0 +CTAG1A 0 +CTAG1B 0 +CTAG2 0 +CTPS2 0 +CUL4B 3 +CXCR3 0 +CXorf21 0 +CXorf23 6 +CXorf31 0 +CXorf36 0 +CXorf38 0 +CXorf40B 3 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf56 5 +CXorf65 0 +CXorf66 0 +CYSLTR1 0 +DCAF12L1 0 +DCAF12L2 0 +DCAF8L1 0 +DCX 0 +DDX11L16 0 +DDX26B-AS1 0 +DGKK 0 +DHRSX 0 +DIAPH2-AS1 0 +DLG3-AS1 0 +DMD 4 +DMRTC1 0 +DMRTC1B 0 +DNASE1L1 0 +DYNLT3 0 +EDA2R 0 +EFHC2 0 +EIF1AX 2 +ELF4 0 +ELK1 0 +ENOX2 0 +ERCC6L 7 +ESX1 0 +F8 0 +F8A1 0 +F8A2 0 +F8A3 0 +FAM104B 2 +FAM120C 1 +FAM122B 1 +FAM127B 1 +FAM127C 0 +FAM156A 0 +FAM156B 0 +FAM223A 0 +FAM223B 0 +FAM226A 0 +FAM226B 0 +FAM3A 0 +FAM47A 0 +FAM58A 0 +FAM9A 0 +FAM9B 1 +FAM9C 0 +FANCB 2 +FGD1 0 +FGF13 0 +FIGF 0 +FIRRE 0 +FLNA 0 +FMR1-AS1 0 +FOXP3 0 +FRMD7 0 +FRMD8P1 0 +FRMPD3-AS1 0 +FTH1P18 0 +FTHL17 0 +FTX 0 +FUNDC1 1 +G6PD 0 +GAB3 0 +GABRA3 0 +GABRE 0 +GEMIN8 1 +GLA 1 +GLRA4 0 +GPC3 0 +GPC4 0 +GPKOW 2 +GPM6B 4 +GPR101 0 +GPR119 0 +GPR143 1 +GPR64 1 +GRIPAP1 1 +GTPBP6 0 +GUCY2F 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFWT 0 +H2BFXP 0 +HAUS7 1 +HCFC1 7 +HDAC8 0 +HDHD1 0 +HDX 0 +HMGN5 0 +HS6ST2 0 +HSD17B10 0 +HSFX1 0 +HSFX2 0 +HUWE1 1 +IDH3G 0 +IDS 4 +IGSF1 0 +IL13RA2 0 +IL2RG 0 +INE2 0 +INGX 0 +IQSEC2 0 +IRAK1 0 +IRS4 0 +ITIH6 0 +ITM2A 0 +KAL1 0 +KCND1 0 +KCNE1L 0 +KDM5C 3 +KIAA1210 0 +KIAA2022 0 +KLHL13 0 +KLHL15 1 +KLHL34 0 +L1CAM 0 +LAGE3 2 +LAMP2 1 +LAS1L 0 +LDOC1 1 +LHFPL1 0 +LINC00087 0 +LINC00102 0 +LINC00633 0 +LINC00684 0 +LINC00889 0 +LINC00893 0 +LINC01186 0 +LINC01278 0 +LINC01281 0 +LINC01282 0 +LINC01284 0 +LINC01496 0 +LOC100132304 0 +LOC100132831 0 +LOC101060211 0 +LOC101927830 0 +LOC101928201 0 +LOC101928335 0 +LOC102723631 0 +LOC158960 0 +LOC286437 0 +LOC389906 1 +LOC401585 0 +LOC643486 0 +LOC729609 0 +LRCH2 0 +MAGEA1 0 +MAGEA10 0 +MAGEA10-MAGEA5 0 +MAGEA12 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA3 0 +MAGEA5 0 +MAGEA8-AS1 0 +MAGEA9 0 +MAGEA9B 0 +MAGEC2 0 +MAGED4 0 +MAGED4B 0 +MAGEE2 0 +MAGT1 1 +MAOB 0 +MAP2K4P1 0 +MAP3K15 0 +MAP7D2 2 +MAP7D3 1 +MBNL3 0 +MCF2 0 +MECP2 3 +MED14 2 +MID1 5 +MID1IP1-AS1 0 +MIR105-1 0 +MIR105-2 0 +MIR106A 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1256 0 +MIR1468 0 +MIR18B 0 +MIR19B2 0 +MIR20B 0 +MIR221 0 +MIR222 0 +MIR23C 0 +MIR3202-2 0 +MIR320D2 0 +MIR325HG 0 +MIR363 0 +MIR374A 0 +MIR374B 0 +MIR384 0 +MIR421 0 +MIR424 0 +MIR4328 0 +MIR4329 0 +MIR450A1 0 +MIR450A2 0 +MIR450B 0 +MIR452 0 +MIR4770 0 +MIR503 0 +MIR503HG 0 +MIR504 0 +MIR505 0 +MIR506 0 +MIR507 0 +MIR508 0 +MIR509-1 0 +MIR509-2 0 +MIR509-3 0 +MIR510 0 +MIR514A1 0 +MIR514A2 0 +MIR514A3 0 +MIR514B 0 +MIR542 0 +MIR545 0 +MIR6134 0 +MIR6857 0 +MIR6894 0 +MIR6895 0 +MIR718 0 +MIR766 0 +MIR767 0 +MIR8088 0 +MIR888 0 +MIR890 0 +MIR891A 0 +MIR891B 0 +MIR892A 0 +MIR892B 0 +MIR892C 0 +MIR92A2 0 +MIR98 0 +MIRLET7F2 0 +MMGT1 3 +MORC4 2 +MORF4L2 4 +MOSPD1 1 +MPP1 1 +MTCP1 0 +MTMR8 0 +MTRNR2L10 0 +MXRA5 0 +NAA10 0 +NAP1L2 0 +NAP1L3 0 +NAP1L6 0 +NDP 0 +NDUFB11 0 +NHS-AS1 0 +NKAP 1 +NKAPP1 0 +NKRF 0 +NLGN4X 2 +NOX1 0 +NR0B1 0 +NUDT11 3 +NUP62CL 0 +NXF2 0 +NXF2B 0 +NXF3 0 +NXF5 0 +OPHN1 0 +OTUD5 0 +P2RY4 0 +P2RY8 0 +PABPC1L2A 0 +PABPC1L2B-AS1 0 +PABPC5-AS1 0 +PAGE1 0 +PAGE3 0 +PCDH19 0 +PCSK1N 0 +PCYT1B 1 +PDZD11 1 +PDZD4 0 +PFKFB1 0 +PGAM4 0 +PHEX-AS1 0 +PHF8 13 +PHKA1 0 +PHKA2 0 +PIGA 1 +PIM2 0 +PIR 0 +PIR-FIGF 0 +PJA1 0 +PLAC1 0 +PLS3-AS1 0 +PNCK 0 +PNMA5 0 +PNPLA4 0 +POF1B 0 +PPEF1-AS1 0 +PPP1R2P9 0 +PPP2R3B 0 +PRAF2 0 +PRICKLE3 0 +PRKX 1 +PSMD10 4 +PTCHD1-AS 0 +RAB39B 0 +RAB40A 0 +RAB9B 0 +RAI2 0 +RAP2C 1 +RBBP7 55 +RBM41 1 +RBMX 6 +RENBP 0 +RGAG4 0 +RHOXF1 0 +RHOXF2 0 +RHOXF2B 0 +RIPPLY1 0 +RLIM 7 +RNF113A 2 +RNU6-2 0 +RNU6-28P 0 +RP11-87M18.2 0 +RPGR 2 +RPL39 4 +RPS4X 16 +RPS6KA3 0 +RPS6KA6 0 +RS1 0 +SATL1 0 +SCARNA9L 0 +SCML2 0 +SEPT6 0 +SERPINA7 0 +SH3KBP1 13 +SHROOM4 0 +SLC10A3 1 +SLC25A5-AS1 0 +SLC25A53 0 +SLC25A6 0 +SLC35A2 0 +SLC38A5 0 +SLC7A3 0 +SLC9A7 2 +SLITRK4 0 +SMARCA1 0 +SMC1A 2 +SMEK3P 0 +SMIM9 0 +SMPX 0 +SNORA11D 0 +SNORA11E 0 +SNORA69 0 +SNORD61 0 +SNORD96B 0 +SNX12 2 +SOX3 0 +SPANXA1 0 +SPANXA2 0 +SPANXC 0 +SPANXD 0 +SPANXN2 0 +SPANXN3 0 +SPANXN5 0 +SPIN2A 0 +SPIN2B 0 +SPIN3 4 +SPIN4 0 +SRPX 0 +SSX2 0 +SSX2B 0 +SSX3 0 +SSX4 0 +SSX4B 0 +SSX5 0 +SSX7 0 +SSX9 0 +SUPT20HL2 0 +SYN1 0 +SYP 0 +SYTL4 2 +TAB3 1 +TAF7L 0 +TAF9B 0 +TCEAL5 0 +TCEAL6 0 +TCEAL8 0 +TCP11X2 0 +TENM1 0 +TEX11 0 +TEX13A 0 +TEX13B 0 +TEX28 0 +TFDP3 0 +TFE3 4 +THOC2 67 +TIMM17B 1 +TIMM8A 0 +TLR8-AS1 0 +TMEM185A 0 +TMEM255A 0 +TMEM27 0 +TMEM47 0 +TMLHE 0 +TMLHE-AS1 0 +TMSB15A 0 +TRAPPC2 1 +TREX2 0 +TRMT2B 0 +TRPC5 0 +TSC22D3 0 +TSPAN6 0 +TTC3P1 0 +UBL4A 0 +UPF3B 3 +UQCRBP1 0 +USP26 0 +USP27X-AS1 0 +USP51 0 +UXT 0 +VCX2 0 +VCX3A 0 +VSIG4 0 +WDR45 0 +WNK3 1 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE3 0 +XIST 0 +XKRX 0 +XRCC6P5 0 +ZBED1 0 +ZC4H2 0 +ZCCHC5 0 +ZDHHC15 0 +ZDHHC9 0 +ZFX-AS1 0 +ZMAT1 0 +ZMYM3 1 +ZNF182 5 +ZNF280C 12 +ZNF41 0 +ZNF630 0 +ZNF674 0 +ZNF75D 0 +ZXDA 0 +AMELY 0 +ASMTL 0 +BCORP1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD24 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CRLF2 0 +CSPG4P1Y 0 +DAZ1 0 +DAZ3 0 +DAZ4 0 +DDX11L16 0 +DHRSX 0 +FAM197Y2 0 +FAM197Y5 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +GTPBP6 0 +GYG2P1 0 +HSFY1 0 +HSFY2 0 +KDM5D 0 +LINC00280 0 +LOC101929148 0 +NCRNA00185 0 +NLGN4Y-AS1 0 +P2RY8 0 +PPP2R3B 0 +PRORY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1A3P 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2EP 0 +RBMY3AP 0 +SLC25A6 0 +SRY 0 +TTTY1 0 +TTTY10 0 +TTTY11 0 +TTTY13 0 +TTTY14 0 +TTTY16 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY18 0 +TTTY1B 0 +TTTY2 0 +TTTY20 0 +TTTY21 0 +TTTY21B 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY5 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +UTY 0 +VCY 0 +VCY1B 0 +XKRY 0 +XKRY2 0 +ZBED1 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.geneBodyCoverage.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.geneBodyCoverage.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,104 @@ +Total reads: 77686 +Fragment number: 49058 +percentile count +0 194 +1 396 +2 581 +3 734 +4 832 +5 892 +6 1002 +7 1069 +8 1105 +9 1181 +10 1242 +11 1183 +12 1154 +13 1288 +14 1353 +15 1327 +16 1235 +17 1250 +18 1297 +19 1373 +20 1405 +21 1401 +22 1412 +23 1430 +24 1406 +25 1438 +26 1485 +27 1524 +28 1512 +29 1499 +30 1528 +31 1496 +32 1466 +33 1408 +34 1392 +35 1430 +36 1394 +37 1369 +38 1373 +39 1408 +40 1487 +41 1466 +42 1455 +43 1493 +44 1461 +45 1429 +46 1461 +47 1496 +48 1449 +49 1476 +50 1466 +51 1447 +52 1440 +53 1473 +54 1503 +55 1581 +56 1606 +57 1587 +58 1605 +59 1584 +60 1609 +61 1688 +62 1685 +63 1694 +64 1665 +65 1732 +66 1750 +67 1802 +68 1891 +69 1926 +70 1939 +71 1951 +72 1927 +73 1902 +74 1933 +75 1938 +76 1990 +77 1996 +78 1988 +79 2008 +80 2022 +81 2049 +82 2036 +83 2017 +84 2016 +85 2032 +86 2004 +87 2015 +88 2020 +89 2070 +90 2118 +91 2144 +92 2161 +93 2117 +94 2084 +95 2056 +96 1916 +97 1797 +98 1488 +99 963 +100 285 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.geneBodyCoverage_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.geneBodyCoverage_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.geneBodyCoverage.png',width=500,height=500,units='px') +x=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +y=c(194,396,581,734,832,892,1002,1069,1105,1181,1242,1183,1154,1288,1353,1327,1235,1250,1297,1373,1405,1401,1412,1430,1406,1438,1485,1524,1512,1499,1528,1496,1466,1408,1392,1430,1394,1369,1373,1408,1487,1466,1455,1493,1461,1429,1461,1496,1449,1476,1466,1447,1440,1473,1503,1581,1606,1587,1605,1584,1609,1688,1685,1694,1665,1732,1750,1802,1891,1926,1939,1951,1927,1902,1933,1938,1990,1996,1988,2008,2022,2049,2036,2017,2016,2032,2004,2015,2020,2070,2118,2144,2161,2117,2084,2056,1916,1797,1488,963,285) +smoothsp = smooth.spline(x,y,spar=0.35) +plot(smoothsp,type="l",col="blue",xlab="Percentile of Gene Body (5'->3')",ylab="Number of read",xlim=c(0,100)) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.mapq_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.mapq_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,12 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.mapq_profile.png",width=500,height=500,units="px") +mapq_val=c(0,1,3,255) +mapq_count=c(573,3442,9322,64349) +xname=c("<3","<10","<20","<30","30-255") +freq = rep(0,5) +freq[1] = sum(mapq_count[which(mapq_val<3)])/77686*100 +freq[2] = sum(mapq_count[which(mapq_val<10)])/77686*100 +freq[3] = sum(mapq_count[which(mapq_val<20)])/77686*100 +freq[4] = sum(mapq_count[which(mapq_val<30)])/77686*100 +freq[5] = 100 +barplot(freq,beside=T,xlab="Mapping Quality",border="NA",space=1.5,main="Mapping Quality",ylim=c(0,100),ylab="Cumulative proportion (%)",col="blue",names.arg=xname) +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.mapq_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.mapq_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +MAPQ Read_Total Read_with_mapq +0 77686 573 +1 77686 3442 +3 77686 9322 +255 77686 64349 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.read_distr.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.read_distr.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.read_distr.png",width=500,height=500,units="px") +M=c(24065,1500,15884,8486,169,452,8521,13287) +Mname=c("CDS","5UTR","3UTR","Intron","TSS_Up_1Kb","TES_Down_1Kb","rRNA","Others") +val = barplot(M,xlab="",space=1,ylab="Read Counts",col="blue",border="NA") +text(x=seq(val[1],val[8],by=2),y=rep(0,8),srt=60,adj=0,offset=2,pos=1,xpd=T,labels=Mname) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.read_distr_pie.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.read_distr_pie.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.read_distr_pie.png",width=500,height=500,units="px") +pie(c(35107,508528),labels=c("Covered 35107 exons","Uncovered"),main="Exons",radius=0.6,clockwise=T,col=c("blue","white")) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.readlen_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.readlen_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,35 @@ +Position Read_Total Read_Len_mapped +67 77686 220 +68 77686 212 +69 77686 287 +70 77686 315 +71 77686 327 +72 77686 323 +73 77686 420 +74 77686 437 +75 77686 447 +76 77686 422 +77 77686 435 +78 77686 429 +79 77686 427 +80 77686 487 +81 77686 438 +82 77686 487 +83 77686 492 +84 77686 492 +85 77686 518 +86 77686 536 +87 77686 517 +88 77686 565 +89 77686 503 +90 77686 550 +91 77686 723 +92 77686 808 +93 77686 803 +94 77686 859 +95 77686 881 +96 77686 927 +97 77686 945 +98 77686 1535 +99 77686 1897 +100 77686 44685 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp0.res.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp0.res.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,49 @@ +filename /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp0.res.txt +is_pairEnd 0 +clipping_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.clipping_profile.png +mapq_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.mapq_profile.png +mapq_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp0.mapq_profile.xls +read_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.geneBodyCoverage.png +trans_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.TransCoverage.png +insert_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.inner_distance_plot.png +insert_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp0.inner_distance_freq.txt +read_dist_plot_file1 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.read_distr.png +read_dist_plot_file2 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.read_distr_pie.png +readLen_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp0.readlen_profile.png +geneCount_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp0.geneAbundance.txt +seqDeDup_percent 0.000000 +posDeDup_percent 0.000000 +no_clipping 0 +no_rRNA 0 +total_reads 77686 +uniq_mapped_reads 64349 +multi_mapped_reads 13337 +unmapped_reads 0 +low_qual 0 +low_qual_read1 0 +low_qual_read2 0 +pcr_dup 0 +rRNA_read 8521 +cds_read 24065 +utr5_read 1500 +utr3_read 15884 +intron_read 8486 +itgup1k_read 169 +itgdn1k_read 452 +itg_read 13287 +unmapped_read1 0 +unmapped_read2 0 +mapped_read1 0 +mapped_read2 0 +forward_read 31875 +reverse_read 32474 +paired_reads 0 +mapped_plus_minus 0 +mapped_plus_plus 0 +mapped_minus_plus 0 +mapped_minus_minus 0 +ins_read 0 +del_read 0 +noSplice 50449 +splice 13900 +paired_diff_chrom 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.ReadLen_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.ReadLen_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.readlen_profile.png",width=500,height=500,units="px") +readlen_val=c(67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +readlen_count=c(182,173,267,238,308,340,386,354,392,415,421,399,419,456,470,469,496,483,489,488,529,499,514,561,748,813,751,827,863,912,958,1648,1875,47529) +plot(readlen_val,(readlen_count/79258),pch=20,xlab="Mapped Read Length",ylab="Proportion",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.TransCoverage.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.TransCoverage.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.TransCoverage.png',width=500,height=500,units='px') +a=c(0,0,1,0,0,0,0,243,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,1,0,2,1,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,5,6,0,0,27,0,4,20,0,0,0,1,0,2,0,3,1,21,0,0,16,18,2,2,0,1,1,0,0,0,1,0,0,1,0,0,1,0,0,0,9,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,3,2,0,0,10,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,10,0,0,8,2,4,0,10,0,0,0,0,0,0,0,3,1,12,1,0,0,0,0,0,0,1,1,0,0,0,0,0,3,6,16,0,0,0,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,11,0,0,0,0,1,0,0,0,0,1,0,4,0,3,0,0,0,0,0,0,0,1,0,1,0,1,0,0,0,0,0,0,6,1,0,1,2,0,0,0,5,1,0,0,2,0,0,35,1,0,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,1,0,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,142,0,0,0,0,1,10,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,13,1,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,6,0,3,0,6,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,7,2,0,0,0,0,0,0,0,0,0,0,4,0,3,1,0,0,1,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,0,4,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,2,1,4,4,0,3,0,0,0,0,4,2,10,0,0,0,0,1,8,0,17,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,2,13,0,0,4,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,21,1,0,0,0,0,1,0,0,13,1,4,0,0,0,2,3,0,0,0,0,0,19,0,0,0,3,5,2,3,0,0,0,0,7,2,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,0,3,0,0,0,0,2,0,0,0,0,1,0,1,3,4,0,0,0,0,23,1,0,6,0,28,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,7,1,0,0,0,0,4,0,0,0,0,0,2,1,1,0,0,0,1,0,0,0,2,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,4,12,0,0,0,0,6,0,0,2,0,0,0,149,0,0,0,0,6,1,0,0,1,4,1,2,0,9,1,1,9,0,0,0,0,0,0,0,0,8,2,0,0,0,0,0,5,0,2,1,0,0,0,1,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,9,2,0,1,0,0,0,0,0,0,1,4,3,0,27,0,0,1,5,3,1,0,0,0,1,0,1,0,0,0,0,0,0,0,0,1,0,2,0,2,1,3,0,10,1,1,0,0,1,1,0,1,0,0,0,0,553,0,0,0,0,0,0,6,13,12,0,0,5,2,0,1,2,0,0,0,0,0,0,0,2,5,16,17,5,0,0,2,0,1,0,15,0,3,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,1,2,0,1,7,2,0,0,1,0,0,5,6,0,0,0,0,0,6,0,4,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,2,0,0,2,0,0,2,0,0,0,0,0,4,3,0,0,0,0,0,6,47,0,0,0,1,1,4,1,2,1,1,0,1,0,1,0,2,0,1,10,0,0,0,0,0,0,1,7,0,0,1,0,0,0,0,0,0,0,0,4,0,2,0,1,5,0,0,0,0,0,0,0,0,3,2,1,0,6,1,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,1,0,0,0,4,2,0,0,0,0,2,5,0,0,0,0,2,0,1,0,0,4,0,0,1,2,6,0,0,0,20,1,2,5,3,0,0,0,0,0,1,1,0,0,0,0,0,0,2,0,0,0,1,3,2,4,1,0,0,2,0,0,0,2,0,1,23,0,0,0,3,4,0,3,0,1,2,2,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,85,0,0,8,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,5,0,2,0,1,3,0,0,0,9,2,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,7,0,0,8,0,9,2,0,0,0,1,5,42,0,0,2,0,6,0,55,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,4,3,0,0,0,0,0,0,0,0,0,0,5,0,1,2,0,0,0,0,0,0,1,0,1,1,0,0,9,0,18,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,1,2,0,0,0,0,0,0,5,0,0,0,2,0,0,1,2,12,0,3,9,1,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,2,0,0,1,0,9,2,28,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,4,0,0,0,1,0,6,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,24,8,0,3,0,0,2,0,4,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,1,0,1,0,1,0,0,7,0,0,0,0,0,0,0,0,5,1,18,0,2,2,0,3,0,0,2,0,0,0,0,0,6,0,16,0,0,0,0,0,0,1,0,0,1,76,0,0,0,2,1,0,0,0,0,0,0,4,4,0,2,0,0,0,0,5,0,0,2,12,0,0,0,0,0,1,0,0,3,0,3,4,0,2,33,6,1,0,0,5,0,0,0,1,4,0,0,0,0,0,0,4,2,0,3,1,0,0,0,0,0,3,1,0,0,1,0,0,30,1,0,1,3,0,1,0,0,0,1,11,0,0,0,0,0,0,0,0,0,1,0,0,2,5,1,0,1,1,0,3,0,36,0,0,0,0,1,0,2,0,1,3,2,0,0,1,0,1,1,0,1,4,5,0,0,6,0,7,0,3,0,0,0,0,0,0,0,0,1,1,0,0,0,7,5,0,0,0,0,0,10,0,0,0,3,0,0,0,0,0,0,0,10,11,0,0,0,2,0,5,0,0,0,0,0,1,0,0,0,0,2,1,0,0,0,25,0,0,0,0,0,3,0,0,0,1,0,0,0,0,1,0,0,8,0,0,9,39,0,0,0,0,0,1,0,0,0,1,0,1,0,0,29,10,0,5,71,0,0,0,0,0,0,1,26,0,0,18,0,0,0,0,0,0,0,0,0,0,0,17,3,2,0,0,2,0,0,0,6,11,2,0,0,0,0,0,0,0,0,0,0,8,5,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,4,0,2,0,0,5,0,0,1,0,1,0,0,0,0,0,1,0,0,1,0,0,26,0,0,0,1,0,0,0,1,0,1,2,3,0,0,0,0,0,1,0,0,1,0,0,0,3,15,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,0,0,0,1,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,3,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,216,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,4,0,1,0,1,0,0,0,0,9,0,0,1,0,0,0,0,0,3,0,0,0,1,0,0,2,1,2,12,1,0,25,1,3,0,0,3,0,0,0,6,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,9,0,0,1,1,1,0,1,0,10,1,25,35,0,0,2,7,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,6,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,0,0,0,2,0,1,0,1,5,4,0,0,0,0,2,1,0,1,4,3,2,0,0,1,0,0,6,0,2,0,0,0,3,9,0,0,0,0,3,0,0,4,3,0,0,0,1,0,3,0,0,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,38,0,0,0,4,0,0,0,1,2,1,0,7,0,0,0,0,0,0,0,0,2,1,5,0,0,0,0,0,6,0,0,0,4,0,5,0,1,7,1,0,0,9,38,2,4,0,2,2,0,0,0,0,0,0,21,0,0,6,0,0,0,0,0,0,0,0,3,0,0,8,0,1,0,0,0,0,0,7,0,0,0,0,0,0,6,0,0,3,0,5,2,0,0,0,1,0,0,0,0,0,0,2,1,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,10,4,7,19,0,0,2,0,0,0,1,0,0,0,6,0,0,0,0,0,0,0,0,9,0,0,1,0,0,3,1,0,0,0,0,7,1,6,3,0,0,1,0,0,9,0,2,268,0,0,0,0,3,0,0,2,11,2,0,0,0,2,0,0,7,0,1,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,1,0,6,1,0,0,0,7,0,0,0,0,7,1,0,0,0,0,0,0,0,0,2,0,0,1,0,0,4,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,5,2,16,0,3,0,0,0,0,1,1,0,0,0,0,6,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,2,0,0,2,1,0,1,0,0,0,0,0,2,0,1,0,0,4,1,1,7,36,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,0,1,1,3,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,3,0,0,1,11,0,0,0,0,0,0,0,0,0,4,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,3,0,0,0,0,0,10,2,2,1,0,0,1,0,0,8,0,2,0,0,2,0,0,2,1,0,0,2,0,0,1,5,0,17,0,1,0,0,0,2,6,0,2,0,0,0,0,34,0,0,1,1,0,18,15,0,18,4,6,1,2,0,0,3,2,0,1,0,3,0,0,19,134,0,6,0,0,0,0,0,0,2,0,3,0,4,1,3,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,0,4,0,0,0,1,0,3,0,0,1,0,5,14,0,2,0,0,3,0,1,0,7,0,1,0,0,1,0,0,0,24,4,1,0,3,4,0,0,0,0,0,0,0,7,0,0,0,1,0,2,14,0,13,1,0,0,0,201,14,0,2,2,0,25,0,0,2,0,0,0,3,0,0,0,1,0,23,0,0,5,0,0,0,4,0,0,0,0,1,18,0,0,7,0,2,0,0,0,0,0,0,0,0,0,8,0,0,0,6,0,0,1,2,2,3,10,1,0,0,0,2,0,0,0,0,0,0,0,0,0,3,0,6,15,0,0,5,0,0,0,1,0,0,1,0,2,1,3,0,0,0,0,0,0,0,0,4,0,0,1,0,12,0,3,0,0,0,0,2,0,2,0,1,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,2,1,1,1,1,0,0,1,3,1,0,0,0,0,4,0,0,1,8,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,3,0,0,0,0,0,0,6,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,3,0,0,0,0,0,0,3,0,0,0,1,0,0,1,2,0,0,0,0,0,0,1,3,1,0,7,1,0,0,0,1,0,0,0,0,0,0,17,0,0,1,0,0,0,0,6,0,2,15,2,0,11,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,11,0,0,2,0,0,0,0,0,94,1,6,0,1,1,1,0,19,0,0,2,1,0,0,14,0,0,2,0,47,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,1,3,3,0,0,0,2,0,3,0,0,0,3,4,1,0,0,0,3,1,1,0,0,0,1,5,0,0,0,1,1,1,7,1,1,0,0,1,0,0,3,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,15,1,3,0,2,1,5,26,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,1,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,0,0,7,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,0,7,0,2,0,0,3,1,0,0,1,0,25,0,0,6,0,10,2,1,0,0,2,12,0,0,0,0,4,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,5,1,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,1,15,0,0,33,8,2,0,12,0,12,0,2,0,0,0,0,0,2,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,7,1,0,7,1,6,1,0,0,0,5,3,1,0,1,6,0,2,0,1,0,0,0,11,0,0,0,0,0,0,0,0,0,5,0,3,21,0,0,0,0,0,0,2,0,1,19,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,5,0,52,1,0,0,0,3,5,3,1,0,1,0,0,0,0,2,1,0,0,0,0,1,1,0,2,0,0,0,0,0,0,5,0,0,1,0,0,0,0,2,2,1,0,0,0,0,0,4,2,0,1,8,0,0,0,0,0,0,2,0,0,0,0,0,1,8,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,2,0,7,2,0,0,0,27,1,0,0,0,0,0,4,1,0,0,0,8,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,1,2,1,0,2,30,0,3,3,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,15,1,1,0,0,2,0,3,0,0,1,0,0,0,0,0,0,2,2,0,0,0,0,0,19,0,0,0,1,0,0,0,7,3,0,0,0,1,1,0,6,3,1,4,0,10,0,11,0,29,0,12,2,0,0,0,0,0,1,0,3,9,0,0,0,2,0,0,0,0,0,0,0,10,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,2,1,0,0,0,0,1,0,0,0,0,3,5,6,0,0,0,0,0,1,1,1,0,1,0,6,0,0,53,0,0,2,0,0,0,62,0,1,11,0,0,4,0,0,0,16,0,0,2,0,0,2,1,2,1,3,32,0,0,0,0,0,0,1,0,3,0,0,2,0,0,0,0,0,0,1,5,0,1,1,5,13,0,3,0,2,0,10,1,0,1,2,2,0,8,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,3,0,5,0,0,15,2,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,3,1,0,0,3,0,0,0,0,3,0,0,0,0,0,1,0,0,1,0,1,0,0,0,5,0,2,0,0,0,0,2,1,8,0,4,0,0,1,0,3,0,0,0,0,0,0,0,3,0,1,3,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,0,0,1,6,0,0,0,0,0,0,2,7,0,10,0,0,0,0,0,0,0,3,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,6,0,0,0,1,0,0,0,0,1,3,0,4,13,0,0,0,3,1,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,5,0,0,0,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,1,0,0,0,0,0,0,4,1,0,0,0,0,6,2,0,0,6,0,1,0,5,2,1,0,0,1,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,2,24,0,0,0,0,1,0,1,4,5,0,0,0,0,2,6,9,1,2,0,0,0,1,0,4,1,2,2,0,0,0,1,0,0,0,0,0,0,10,0,0,0,0,0,0,3,1,0,0,0,0,0,1,2,0,0,0,0,0,0,0,1,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,2,2,0,0,1,0,0,0,0,1,0,1,0,0,2,0,0,0,0,1,0,3,0,0,0,0,3,0,0,33,0,0,0,0,0,0,1,0,0,0,0,2,19,9,5,5,5,15,0,0,0,0,0,1,0,0,0,4,1,32,0,0,0,0,0,0,0,0,0,3,0,0,0,2,5,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,40,0,31,0,0,0,0,3,3,0,2,0,0,0,8,0,0,0,6,0,0,0,0,0,0,2,0,0,0,0,0,10,0,1,0,1,9,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,7,0,13,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,24,0,0,2,0,0,0,0,0,3,2,0,0,0,5,1,0,0,1,0,0,5,1,0,0,0,0,2,3,1,0,0,58,9,1,0,1,0,0,0,0,0,2,0,0,0,0,7,1,0,0,0,1,71,0,0,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,1,0,0,0,0,0,23,3,0,0,2,2,0,0,0,1,0,27,2,0,1,0,0,2,4,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,2,0,0,0,0,0,5,1,0,1,0,0,85,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,13,0,1,2,2,0,2,1,1,0,1,0,0,0,0,0,0,3,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,1,0,0,0,0,0,2,6,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,8,0,0,1,0,0,0,0,5,0,0,0,0,7,1,0,5,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,1,0,0,0,0,5,7,0,0,0,0,0,5,0,3,0,0,1,3,2,21,2,13,0,1,0,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,31,0,2,5,8,0,12,0,0,0,0,0,3,0,0,0,0,7,0,0,3,2,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,4,0,3,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,3,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,10,2,1,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,2,2,3,1,0,0,0,1,0,0,0,0,0,0,0,0,14,0,0,0,1,0,0,17,0,2,0,1,0,0,0,0,0,0,0,0,2,6,6,1,1,7,0,152,1,0,2,0,0,0,0,0,0,2,0,0,0,58,0,0,0,1,0,0,0,4,0,0,0,4,0,5,5,0,0,0,0,0,0,0,0,0,0,4,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,0,3,0,0,0,1,0,2,0,0,0,1,6,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,6,5,0,1,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,1,0,1,3,3,1,0,0,0,3,2,0,1,0,0,4,0,0,1,0,7,3,0,0,11,0,6,0,2,0,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,11,1,0,6,0,1,0,2,1,0,0,0,0,0,4,0,0,5,20,2,1,5,1,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,1,0,5,0,0,0,0,0,0,0,3,0,0,2,0,2,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,3,6,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,3,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,55,0,0,0,1,0,0,0,0,0,2,0,2,0,1,0,3,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,1,0,3,1,1,2,0,0,0,0,0,0,1,0,2,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,95,0,0,0,0,0,0,0,0,0,4,0,0,0,2,0,0,2,1,33,0,0,2,2,0,0,1,0,0,0,0,0,0,1,0,0,1,0,1,0,4,2,8,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,2,7,0,0,8,2,0,6,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,9,1,0,0,0,2,2,0,0,2,0,0,2,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,54,439,13,9,2,1,5,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,0,0,0,3,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,6,0,0,8,0,2,0,0,0,0,0,0,0,3,0,5,1,0,0,0,0,1,0,0,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0,21,0,1,17,46,34,3,18,1,12,4,8,4,0,0,3,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0,0,9,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,3,0,9,2,0,89,2,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,4,0,3,37,2,0,0,2,1,0,11,0,0,1,0,9,0,0,0,0,0,4,0,0,0,0,0,0,6,0,1,0,0,0,0,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,1,0,0,2,2,0,0,4,0,0,0,0,3,8,0,1,9,0,2,1,0,0,1,0,4,0,0,11,0,1,0,0,1,0,0,1,5,2,1,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,5,0,1,2,4,0,16,0,0,0,0,3,0,0,0,0,0,0,0,1,0,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,1,16,9,0,1,0,1,0,0,0,1,1,0,0,1,12,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,2,12,5,0,0,3,0,1,1,0,0,0,1,0,47,0,0,2,0,8,4,0,0,1,0,7,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,1,3,0,1,0,0,0,0,0,1,1,0,0,0,0,0,0,4,7,0,0,0,0,0,2,0,4,3,1,0,0,0,0,0,0,0,0,4,0,0,0,14,0,0,0,0,4,8,18,2,2,0,1,0,2,3,1,0,0,0,0,2,0,0,0,5,0,0,0,0,1,2,0,0,0,0,6,14,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4,0,23,2,0,3,3,2,0,0,1,59,0,0,1,0,3,11,5,0,0,2,0,2,0,1,0,0,1,0,4,0,0,0,13,0,0,0,1,13,0,0,0,4,0,0,1,1,0,0,0,3,0,0,0,0,0,1,9,0,0,0,0,0,11,0,0,0,1,0,0,7,4,0,0,6,6,0,0,0,0,3,0,1,1,0,1,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,17,0,5,0,0,0,0,0,1,13,2,1,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,9,0,1,0,0,0,3,0,5,0,0,4,0,4,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,3,0,0,1,1,0,5,0,0,6,3,5,0,0,16,0,1,1,0,0,0,0,3,0,1,17,3,8,1,0,0,0,1,1,0,2,0,0,2,3,0,9,0,0,0,0,0,0,2,2,0,113,0,0,23,1,1,0,0,7,0,0,0,0,1,5,0,2,6,0,0,0,0,4,0,0,1,3,0,0,0,0,34,2,4,0,0,0,2,1,0,0,0,0,0,0,0,17,4,0,0,25,0,0,0,1,8,4,0,0,4,0,2,0,2,0,0,0,0,5,0,0,0,0,0,5,0,0,25,0,8,0,0,3,0,0,0,1,1,0,3,21,6,5,0,27,0,0,0,0,0,0,0,0,0,0,1,0,14,0,17,1,0,3,0,0,0,0,1,3,0,10,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,2,9,6,3,0,2,0,0,1,0,0,0,7,0,0,0,0,0,1,1,1,0,0,2,0,27,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,10,0,0,2,0,1,6,0,1,3,0,3,1,0,2,0,24,1,20,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4,0,5,0,0,1,5,0,50,0,0,0,21,2,0,0,0,0,1,8,0,0,0,0,0,1,0,3,0,0,0,0,2,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,1,0,0,1,0,0,0,1,2,2,0,0,0,0,9,0,3,0,0,3,0,0,0,0,0,0,0,0,0,0,0,11,1,1,1,5,0,4,0,0,0,0,1,2,3,0,0,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,1,0,0,0,2,0,0,3,1,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,13,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,3,5,0,0,0,0,1,11,0,1,0,48,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,1,0,0,0,0,10,1,0,0,0,4,0,0,0,1,0,0,0,0,0,19,0,2,2,0,0,6,0,8,2,2,1,5,0,0,0,17,0,3,0,11,0,0,1,0,1,0,0,0,0,4,4,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,2,0,0,0,0,0,0,1,0,0,6,6,10,0,0,1,0,0,0,0,0,0,0,0,8,0,0,0,30,5,2,0,18,0,0,0,3,0,11,0,0,2,1,0,0,0,6,0,0,26,81,0,3,0,0,0,0,0,0,13,0,0,0,2,0,0,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,2,0,12,0,0,0,0,0,0,0,1,0,2,0,0,0,0,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,1,0,0,0,0,0,0,1,0,2,0,0,2,0,4,1,1,0,0,0,2,0,0,0,0,2,0,3,27,3,0,0,4,0,2,12,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,9,1,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,1,0,5,1,0,0,0,0,3,24,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,11,0,0,3,0,0,0,0,3,0,0,0,0,3,1,0,0,0,0,0,1,0,0,0,14,3,27,17,0,0,0,0,2,0,3,0,0,0,0,4,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,6,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,11,0,3,5,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,0,0,1,0,3,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,1,0,0,1,0,0,8,9,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,2,0,0,0,1,0,0,1,7,0,0,0,0,0,0,0,2,6,1,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,11,0,0,0,0,0,0,0,23,0,0,0,0,1,0,1,0,0,2,0,3,14,0,1,0,5,2,1,0,0,2,2,0,0,1,1,0,0,0,0,0,0,0,5,0,0,0,2,6,0,0,0,0,0,0,8,0,0,0,90,0,0,0,0,0,1,2,0,0,0,0,0,0,0,6,0,0,1,0,2,0,4,0,0,0,0,0,0,0,0,5,0,5,2,0,1,0,5,0,0,0,0,0,0,0,0,0,0,1,0,1,2,3,1,0,0,2,0,1,0,0,2,0,0,2,0,11,7,0,0,1,2,2,0,0,0,3,0,4,0,0,0,0,0,0,0,0,9,2,0,0,0,0,4,9,0,34,1,0,0,0,0,1,0,0,0,3,4,0,0,0,0,5,0,0,0,0,0,3,0,1,0,13,7,0,1,0,0,0,0,0,2,9,0,0,4,0,0,0,0,1,0,0,1,4,0,8,14,0,1,0,0,0,0,0,0,0,0,0,1,2,0,79,226,0,0,0,0,28,0,2,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,3,4,11,0,0,0,0,0,0,0,0,0,0,22,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,1,0,0,0,9,0,0,4,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2,4,0,0,0,2,0,0,0,0,0,0,3,2,0,0,0,0,0,0,4,0,0,2,0,11,1,3,0,0,0,2,0,0,0,3,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,0,0,7,0,0,0,0,6,3,5,1,0,0,0,0,2,0,1,0,0,0,5,0,0,0,0,0,0,0,0,6,0,0,0,0,0,1,0,25,0,0,0,0,0,4,11,5,0,3,0,6,18,6,0,0,0,0,0,3,0,0,0,3,1,0,0,0,6,37,6,4,13,2,3,0,0,0,11,0,0,0,12,2,11,3,0,0,1,2,0,1,0,0,1,0,1,0,0,0,3,0,3,3,0,0,0,0,0,5,0,0,5,0,0,1,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,4,0,0,1,2,0,0,0,0,2,0,0,0,6,0,0,0,13,1,0,2,0,0,17,0,0,0,0,8,2,1,29,0,0,0,0,0,0,0,0,0,7,1,0,0,0,0,1,0,35,16,0,0,0,0,0,0,2,0,9,0,0,0,0,0,4,4,0,0,1,0,7,0,1,0,0,0,0,3,0,0,0,0,0,2,0,0,0,5,0,0,1,0,0,0,0,1,0,2,4,4,0,0,0,1,6,0,1,0,1,4,6,0,4,0,1,5,0,0,4,0,0,0,0,0,4,0,4,0,0,0,0,0,6,9,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,1,3,6,0,0,1,0,0,1,6,0,3,0,2,0,0,0,0,0,0,0,2,0,0,0,0,0,1,1,0,0,0,5,1,10,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,12,0,0,0,1,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,13,0,3,0,24,0,2,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,2,0,0,2,0,18,0,0,4,0,0,0,0,0,0,0,0,0,1,0,1,1,42,0,0,3,0,0,1,0,0,0,7,38,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,1,2,0,0,0,1,1,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,6,0,0,0,0,0,0,0,0,0,0,3,5,0,2,0,0,0,0,1,1,0,0,0,12,2,1,0,4,0,2,0,0,10,0,0,0,0,3,1,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,3,0,0,1,1,0,10,1,3,0,0,2,1,2,0,0,0,0,0,1,3,2,0,25,8,1,1,0,0,1,0,0,0,0,0,0,1,0,0,23,7,1,0,0,0,0,3,0,0,0,1,0,1,0,4,0,0,0,0,12,0,0,0,5,2,0,0,0,0,34,1,1,7,7,0,0,0,4,0,0,0,0,1,0,0,1,0,0,0,0,3,0,2,0,3,0,7,0,7,54,0,0,0,0,1,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,26,3,1,19,1,0,0,14,12,0,0,0,0,0,0,0,0,0,0,0,8,0,0,1,0,4,0,1,10,0,3,4,0,0,0,0,1,0,3,7,0,0,6,0,0,1,7,27,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,12,6,0,0,11,0,0,63,1,7,2,1,0,0,35,0,2,0,0,2,0,12,5,6,2,14,0,0,0,0,2,0,0,0,0,0,1,0,0,0,13,0,2,0,2,4,25,17,11,2,7,1,0,0,2,8,0,0,1,0,1,2,1,0,0,0,2,0,1,0,0,0,0,0,13,2,0,0,7,0,0,0,7,0,0,0,0,0,1,0,5,0,0,0,0,0,0,0,0,1,19,0,1,0,0,0,2,0,3,0,0,0,0,0,0,0,3,6,1,1,0,10,0,0,4,4,2,0,4,0,5,0,0,0,0,0,2,0,36,6,0,2,7,0,0,0,0,0,24,0,2,0,1,0,0,2,0,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,3,0,11,4,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,3,0,0,0,0,0,0,0,0,2,0,1,1,1,0,0,22,1,1,1,51,0,0,0,0,0,3,1,0,0,0,0,0,2,0,0,4,0,4,40,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,93,0,1,3,4,8,0,0,0,0,0,6,0,2,1,0,1,0,0,0,1,0,6,0,0,0,90,0,0,0,4,9,22,0,2,3,1,14,0,1,1,2,0,0,6,1,13,0,0,0,0,5,1,0,2,0,4,2,4,7,0,0,0,0,0,1,0,0,0,23,12,0,0,0,12,0,0,4,0,0,3,1,0,0,0,0,4,0,0,0,1,0,2,0,0,0,0,0,1,3,5,0,27,0,0,0,0,0,0,0,0,9,0,18,1,5,1,0,5,0,0,5,9,4,12,1,0,0,3,0,0,0,1,0,0,0,0,5,0,0,0,4,0,0,0,12,0,0,3,6,0,6,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,7,0,1,15,2,2,0,1,0,0,0,0,0,0,0,0,1,3,0,0,0,0,29,0,0,3,57,4,0,6,0,0,0,1,0,52,38,0,0,0,0,0,1,0,23,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,2,0,0,0,0,7,0,0,3,0,0,0,3,12,37,0,0,4,3,2,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,7,0,0,21,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,2,0,2,0,0,0,0,0,0,0,0,1,0,0,0,7,0,0,0,0,0,0,1,0,8,1,2,0,0,0,0,1,0,0,0,0,1,0,9,0,0,0,0,1,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,6,0,1,0,0,68,0,0,0,0,0,1,0,0,0,1,0,57,0,0,0,0,11,12,0,0,0,0,0,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,13,0,0,9,0,0,0,0,2,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,5,0,0,7,0,1,0,0,0,0,0,0,0,0,0,47,11,1,0,0,1,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,3,0,0,0,0,0,1,0,0,19,0,0,0,0,4,0,0,2,3,0,0,0,0,0,2,0,4,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,1,0,0,0,2,14,1,0,0,0,0,0,0,0,0,19,0,0,0,0,1,0,0,0,6,0,0,11,2,0,22,0,0,0,0,0,0,0,0,0,1,0,0,0,1,7,0,0,0,0,0,0,0,0,0,0,0,0,0,26,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,8,0,0,0,4,1,0,2,13,0,0,0,8,0,0,9,1,5,0,3,3,6,3,0,0,1,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,19,0,0,2,8,9,4,0,0,3,1,0,0,0,0,0,0,0,0,1,2,0,2,0,2,0,1,0,0,7,0,0,3,0,0,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,0,0,0,1,0,3,13,0,0,5,0,0,0,0,1,0,0,0,7,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,1,1,1,3,0,0,0,0,0,0,74,1,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,8,0,0,3,0,0,1,0,0,0,0,0,4,0,2,0,0,9,16,0,0,2,0,0,0,4,0,0,4,0,8,0,0,0,0,1,0,0,0,0,0,0,0,5,2,1,6,1,0,0,5,12,0,0,0,7,1,0,0,0,1,2,2,35,1,1,0,0,0,0,1,1,5,0,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,5,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,2,4,2,0,1,0,0,0,7,0,0,2,1,0,0,1,0,0,0,24,0,0,0,3,0,1,0,1,0,0,0,0,0,1,17,3,0,0,1,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,1,0,0,3,2,0,2,0,0,0,9,0,0,0,1,0,12,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,2,4,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2,3,5,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,6,13,0,0,0,0,0,1,0,0,0,0,2,0,1,1,0,0,13,0,0,0,0,0,21,0,1,0,3,0,3,0,0,0,0,5,8,15,0,0,0,0,2,2,1,0,0,4,0,0,0,0,2,0,0,0,2,0,0,3,0,1,0,4,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,13,0,0,0,0,2,0,0,0,3,0,0,2,0,17,0,0,0,0,0,0,0,0,82,0,0,0,0,0,0,0,0,0,15,1,0,0,1,0,0,0,0,0,0,0,0,0,0,5,1,1,1,0,0,0,0,2,0,0,0,0,0,3,0,7,0,491,0,0,16,0,1,1,0,0,0,2,0,1,1,2,0,0,0,0,2,0,2,3,0,0,0,0,0,3,0,0,0,1,0,0,0,0,1,0,0,29,3,1,2,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,16,3,0,0,0,1,0,0,14,0,20,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,25,8,23,0,2,1,0,0,2,1,1,0,0,0,1,0,3,0,0,5,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,9,1,0,4,5,18,0,4,0,0,0,21,55,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,2,19,0,0,0,0,0,12,0,1,16,0,0,0,13,0,0,0,0,4,0,0,0,0,0,1,6,0,3,0,0,0,0,3,3,8,1,0,0,0,2,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,0,4,0,1,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,8,2,5,0,0,0,0,0,0,5,0,8,0,0,0,0,16,0,0,0,5,0,0,3,1,1,0,8,6,0,2,0,0,4,0,0,0,10,0,20,1,2,1,1,0,0,0,8,0,0,0,7,0,0,0,0,8,7,0,0,0,5,0,0,0,2,3,0,0,1,1,0,2,0,0,0,2,0,0,0,0,4,0,0,56,2,0,0,0,7,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,23,0,0,0,0,6,0,0,0,0,0,0,2,0,0,0,1,3,0,0,2,0,1,0,0,0,4,2,6,0,0,3,0,0,0,1,1,2,1,1,0,0,0,5,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,5,0,0,23,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,4,0,1,0,0,0,0,6,0,0,0,0,0,0,0,0,0,5,4,0,1,1,2,0,4,0,0,11,1,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,1,0,67,0,0,0,0,0,0,4,1,3,0,0,2,0,0,11,0,11,0,3,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,7,0,1,0,0,1,0,0,0,2,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,1,1,0,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,9,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,0,0,19,0,0,0,0,1,0,1,0,0,0,0,0,1,0,0,1,1,1,0,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,8,0,4,1,0,0,0,4,2,0,0,0,0,0,0,0,0,0,2,1,0,1,7,0,3,0,0,1,0,0,0,0,4,20,0,0,70,0,0,1,0,0,7,11,18,0,0,0,0,1,3,0,0,0,27,14,0,0,0,1,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,11,0,1,2,0,5,0,1,1,0,0,0,0,3,0,1,2,0,3,0,0,0,0,0,0,1,0,10,0,0,0,0,3,1,0,0,5,95,0,0,4,26,0,14,0,0,1,2,3,0,0,3,0,0,5,23,0,0,3,0,11,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,5,0,0,3,0,0,3,13,0,0,0,0,0,2,0,0,8,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,14,0,0,7,25,1,0,0,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,21,0,4,0,0,0,5,0,0,4,0,1,0,0,0,0,0,0,0,0,0,6,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,1,5,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,4,52,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,9,5,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,2,0,0,1,2,0,0,0,0,0,0,0,0,0,0,1,62,0,0,0,0,0,0,0,0,0,0,40,0,0,0,1,0,0,0,0,0,6,0,0,0,7,0,1,0,27,0,0,0,0,0,8,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,1,0,7,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,1,0,2,11,1,3,0,0,0,0,0,4,0,12,7,1,0,2,0,0,0,0,0,0,0,0,0,1,6,0,0,0,0,0,0,2,0,0,8,1,1,0,2,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,4,1,0,0,0,0,0,0,19,0,4,0,1,0,0,2,0,1,1,0,1,0,2,0,2,0,0,0,2,9,0,0,1,0,0,0,0,0,0,1,0,1,1,0,3,1,13,0,0,5,0,0,0,0,2,0,1,2,0,0,0,6,30,0,0,4,0,0,3,1,2,1,0,1,1,0,0,1,6,1,0,0,0,0,0,2,0,5,0,0,0,0,0,0,0,9,0,0,0,0,2,2,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,2,0,0,1,0,2,0,0,0,0,0,0,0,3,1,0,0,0,0,1,0,1,0,0,1,5,7,0,0,0,0,0,0,0,0,0,0,10,4,0,0,4,0,0,3,1,18,0,0,0,0,0,0,0,1,0,4,14,8,25,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,5,126,0,0,16,0,1,0,0,0,0,0,0,0,2,4,4,0,0,1,7,6,0,0,0,0,0,0,0,0,5,0,0,0,0,11,0,11,0,0,0,0,0,0,3,1,1,0,1,0,0,0,0,17,0,1,2,4,2,0,0,0,7,2,6,1,0,19,3,0,0,0,0,5,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,1,1,0,0,0,0,0,7,0,3,0,0,2,8,0,0,0,0,0,0,0,0,2,0,3,0,0,0,0,7,0,0,0,1,2,21,19,0,3,5,0,4,0,3,0,5,0,9,0,1,0,0,0,0,0,0,0,0,9,0,10,9,2,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,10,1,0,1,0,0,0,6,0,0,0,0,0,1,2,0,0,0,0,0,1,0,0,6,15,1,0,0,2,0,1,0,0,17,0,2,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,1,0,0,0,0,0,3,0,0,0,0,0,13,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,1,0,0,0,2,0,2,0,0,1,1,0,0,0,0,1,0,5,0,0,0,0,0,0,0,0,8,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,2,1,1,0,2,2,0,0,9,1,0,0,3,0,1,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,3,0,2,1,0,0,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,10,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,20,0,1,0,0,3,30,0,0,0,0,3,0,0,1,0,0,0,1,0,0,0,0,0,3,0,3,1,2,0,1,0,2,3,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,6,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,47,3,0,0,0,0,0,8,4,0,0,0,0,0,10,0,9,0,10,1,0,0,12,3,2,4,0,10,0,0,0,9,1,0,3,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,27,1,0,0,0,0,0,3,0,4,0,0,0,0,0,0,2,6,0,0,0,33,2,7,0,0,0,2,8,0,1,1,5,0,0,0,0,3,0,6,0,0,0,0,0,0,0,2,0,0,3,0,1,0,0,0,0,1,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,10,0,0,1,1,0,18,0,0,1,11,0,4,0,0,1,3,0,4,4,3,0,0,0,0,0,1,0,0,0,0,0,2,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,6,0,0,6,0,0,0,0,0,0,0,0,0,0,1,0,0,2,6,7,0,0,3,0,37,1,1,0,2,1,0,0,0,0,0,0,0,1,3,2,3,0,4,0,1,0,0,0,0,0,4,2,0,0,0,4,0,7,0,5,1,16,0,21,3,0,0,8,0,0,0,0,0,0,0,0,14,2,0,0,0,3,0,1,2,27,4,0,0,0,0,0,0,0,0,0,0,0,0,13,2,0,3,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,0,0,3,0,0,59,0,0,4,5,0,1,0,0,0,0,0,1,5,1,0,0,0,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,7,0,0,0,0,0,0,11,0,0,9,1,34,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,3,1,2,2,0,0,1,4,0,19,1,0,0,0,0,0,25,0,0,0,0,8,0,0,0,43,4,0,1,0,1,0,0,0,19,0,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,5,0,0,1,0,0,0,0,0,0,0,41,0,2,0,4,0,0,0,0,1,0,0,0,32,0,0,0,0,4,0,0,0,2,1,0,0,1,0,2,0,0,0,0,4,9,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,0,3,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,2,1,0,0,3,0,4,0,1,1,4,0,0,0,0,13,0,0,6,3,0,0,8,5,2,1,0,0,10,1,1,0,0,1,0,13,1,0,0,0,2,1,0,12,3,0,0,0,0,4,1,4,0,0,0,0,1,1,0,0,0,0,7,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,3,1,5,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,5,0,0,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,6,0,0,7,0,0,0,0,0,0,4,667,0,1,0,0,2,0,1,7,1,0,0,0,0,14,0,1,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,5,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,2,1,0,0,0,0,1,0,0,0,0,0,2,0,2,1,8,0,0,0,0,0,4,0,0,0,0,0,0,1,2,0,0,0,0,3,0,14,0,70,1,0,0,3,9,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,7,5,1,0,1,0,0,2,0,0,0,0,19,2,0,23,0,27,1,0,1,0,0,0,0,0,14,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,1,6,0,0,1,16,0,0,0,0,0,0,0,5,5,0,1,1,2,0,0,0,0,1,0,0,0,0,15,0,2,1,8,0,0,0,0,0,0,5,1,0,0,1,0,0,1,2,0,2,0,0,0,0,0,1,0,3,0,0,2,0,0,0,0,8,0,0,0,0,0,0,0,0,1,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,4,0,0,0,0,319,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,4,1,19,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,1,1,0,1,0,0,2,0,0,0,2,0,0,0,0,0,3,2,0,0,0,0,1,0,0,6,0,0,10,10,1,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,1,1,0,0,0,5,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,5,0,0,18,0,0,4,1,0,0,0,0,0,0,1,0,12,0,0,0,0,1,1,0,1,0,1,0,0,1,0,3,0,1,1,0,0,0,3,0,12,2,3,0,0,0,0,1,0,1,0,47,12,7,3,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4,2,5,0,0,0,0,1,0,2,3,0,0,4,0,2,3,0,0,0,0,0,10,0,0,12,0,1,0,0,2,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,2,9,0,1,0,18,1,0,0,0,1,3,0,0,0,0,45,0,0,0,0,0,1,0,0,2,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,0,0,0,0,0,0,4,0,1,0,4,0,3,0,0,0,0,0,0,16,0,0,1,0,2,0,9,2,0,58,10,1,8,0,0,0,18,0,0,0,0,0,0,0,3,0,6,0,4,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,8,0,6,6,0,0,27,0,0,2,0,0,0,0,0,0,2,1,0,0,1,0,0,15,2,0,3,0,0,0,0,0,1,0,0,0,7,0,0,0,0,0,1,0,0,0,4,25,0,4,17,2,0,0,0,0,1,0,1,0,0,0,1,0,2,2,0,0,0,4,1,0,2,0,0,0,2,4,0,1,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,2,0,11,0,0,0,0,0,2,4,1,7,2,0,0,0,1,1,0,18,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,79,0,0,0,0,0,3,0,1,11,0,18,0,0,0,0,0,0,0,0,0,0,0,5,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,185,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,10,0,17,0,1,0,0,0,1,0,0,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,4,73,2,0,0,0,0,0,0,0,1,0,0,7,0,2,0,0,7,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,2,1,7,53,0,0,0,0,0,0,10,0,0,0,1,2,0,38,0,0,3,0,2,0,2,0,13,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,2,2,2,0,0,0,4,3,32,0,7,0,15,8,2,1,3,0,0,0,0,0,1,3,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,1,0,0,0,0,4,0,0,7,0,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,1,0,0,0,3,1,1,0,0,0,0,0,1,1,0,0,1,1,0,0,0,23,1,54,8,2,0,8,0,0,2,0,1,0,0,8,1,0,0,1,2,11,3,8,2,16,3,1,0,0,1,0,14,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,4,0,0,0,0,0,0,0,21,0,0,9,0,0,1,0,1,3,1,0,4,15,0,29,0,0,0,0,1,23,0,1,0,16,0,0,13,0,0,0,0,0,0,0,0,0,0,8,0,13,5,0,2,0,19,0,2,0,0,1,0,2,0,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,8,0,5,2,1,0,1,0,0,0,12,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,2,155,2,8,2,2,0,0,0,0,4,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,11,0,0,1,0,0,0,22,0,0,0,18,0,0,2,0,0,0,212,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,2,34,26,0,0,7,3,2,9,0,0,0,0,0,0,0,0,2,2,5,0,0,2,1,0,0,9,2,16,0,4,45,0,0,0,0,0,0,1,2,0,0,0,0,4,1,0,0,0,0,0,0,2,0,7,0,5,4,0,0,0,2,1,11,0,0,0,4,0,1,0,1,2,0,2,31,1,20,3,0,0,0,6,0,0,139,2,0,0,0,0,1,0,0,0,6,0,1,0,7,0,0,6,0,0,3,3,5,0,2,0,0,1,0,0,0,0,0,25,1,0,0,0,0,0,0,0,2,1,0,0,3,0,0,2,0,0,10,0,263,0,0,0,0,0,2,0,0,0,1,0,0,1,0,3,0,1,0,0,0,0,0,0,6,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,32,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,0,3,0,1,0,1,1,0,0,6,55,0,3,0,0,0,0,0,0,1,0,0,23,0,0,0,0,0,0,0,0,284,0,0,11,0,0,0,0,0,3,0,4,1,0,0,0,0,6,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,13,0,5,0,2,0,3,0,0,1,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,10,8,0,1,0,0,0,0,0,27,6,1,2,0,0,0,0,2,0,0,0,5,0,0,6,199,0,0,0,0,2,1,3,3,0,0,2,0,0,0,0,6,3,9,0,1,0,1,0,0,2,1,0,0,0,1,0,0,2,0,0,0,0,1,3,0,17,0,5,0,0,0,0,0,0,0,1,0,4,0,0,1,0,38,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,9,0,0,9,0,0,1,0,3,0,0,0,1,11,9,0,2,0,10,0,0,0,0,0,0,0,0,0,1,0,0,4,0,0,0,2,0,0,2,0,1,2,0,0,0,1,0,58,0,0,4,0,38,0,0,1,1,0,0,14,1,0,0,0,2,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,13,0,2,2,2,0,0,0,0,2,0,2,0,3,0,1,3,1,0,0,0,1,1,0,0,0,5,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,2,0,17,0,0,0,0,0,0,2,2,0,3,1,0,0,0,10,0,1,2,0,0,0,2,1,16,0,4,1,3,0,0,0,1,0,0,1,0,0,1,0,0,1,0,0,14,0,11,1,0,0,0,0,0,1,0,6,0,1,0,1,0,4,0,0,0,5,0,0,10,13,2,15,0,1,4,0,0,0,0,51,1,0,3,0,0,0,0,0,0,0,0,0,1,6,4,0,3,0,0,0,0,0,0,1,0,0,2,1,1,14,0,1,1,0,19,0,0,0,2,0,0,0,0,6,0,0,5,0,6,0,0,0,0,1,0,2,1,0,0,1,1,0,0,0,0,8,1,3,7,0,0,0,0,5,0,2,0,0,1,10,3,0,20,9,11,1,0,1,0,0,2,18,2,0,1,0,0,49,0,0,0,0,2,0,0,0,1,0,0,1,0,4,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,5,0,3,1,0,0,1,0,0,0,2,0,0,0,0,9,0,0,0,0,4,18,0,0,4,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,0,0,7,7,0,0,0,0,2,1,0,0,0,4,1,0,0,0,0,0,0,1,0,6,0,0,0,0,0,0,0,0,0,1,4,0,0,1,0,1,1,28,2,1,0,5,0,0,0,0,0,21,1,1,0,0,6,0,2,1,0,0,0,0,0,0,1,0,1,0,1,0,1,0,1,1,9,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,4,0,4,3,1,0,3,3,0,0,0,3,1,0,0,0,0,0,0,0,0,0,1,1,10,0,8,5,0,4,0,0,0,0,0,0,1,0,1,5,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,5,0,2,0,4,0,0,1,0,12,5,0,0,1,0,2,10,0,0,0,0,0,0,5,5,0,0,3,1,0,0,0,0,0,1,4,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,0,0,0,5,0,0,0,1,1,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,2,0,0,0,27,0,4,17,0,3,3,0,0,2,3,0,0,2,4,5,0,6,10,2,0,13,0,0,0,0,0,1,3,4,1,0,0,26,0,3,0,0,0,0,11,0,0,0,0,0,0,2,0,0,0,0,3,0,2,0,79,0,1,0,0,0,3,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,3,0,3,1,0,0,0,0,5,8,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,2,0,0,1,4,1,0,0,28,0,1,1,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,2,1,0,0,0,3,0,0,7,0,3,7,0,0,0,0,1,15,1,0,0,0,3,1,2,0,19,0,0,0,0,0,0,11,1,0,0,0,5,0,0,0,2,1,0,2,1,5,1,0,0,0,0,0,0,0,0,0,0,2,0,1,7,0,3,0,0,0,0,25,0,0,0,1,0,0,2,1,0,1,0,0,2,0,0,0,0,6,0,0,2,0,0,0,0,0,3,4,0,3,13,0,6,0,5,0,0,0,0,328,10,0,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,6,0,0,0,0,3,3,19,1,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,3,0,5,0,2,0,0,0,1,2,0,1,0,0,0,3,0,0,0,0,0,1,1,0,0,1,1,0,0,1,33,0,0,0,1,3,0,1,0,0,0,0,8,6,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,1,0,2,0,4,0,0,5,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,4,0,0,0,0,0,0,7,0,0,1,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,1,4,0,0,0,2,0,0,1,0,7,24,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,0,1,13,3,0,1,0,0,0,0,0,1,0,1,0,1,1,0,0,0,4,1,1,11,9,0,1,0,1,0,1,1,1,4,2,13,0,9,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,0,0,0,1,0,0,0,1,0,2,0,0,0,0,0,4,0,15,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,5,2,4,1,0,0,0,0,0,0,1,10,1,4,1,0,1,0,0,10,0,0,0,5,8,0,1,2,1,0,0,0,0,1,6,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,2,0,0,0,19,2,3,0,1,0,0,0,2,0,1,0,0,0,3,0,2,0,0,2,0,0,0,4,0,0,0,0,0,0,1,3,2,1,3,5,0,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,19,1,0,4,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,10,0,0,3,23,13,4,0,7,0,0,0,2,0,0,6,0,1,0,5,0,3,0,4,0,0,0,0,0,6,10,0,0,0,0,0,0,3,2,0,0,0,0,0,0,0,0,1,0,0,3,1,2,2,0,0,14,13,0,1,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,0,3,0,0,1,0,7,3,2,0,0,3,0,0,0,0,1,0,0,1,0,2,0,0,9,0,0,0,0,0,0,0,0,0,2,2,1,0,1,3,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,3,1,0,0,0,0,0,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,6,0,0,0,0,0,0,0,22,0,847,0,0,0,0,0,0,0,0,0,9,0,0,0,5,0,0,0,0,0,0,0,0,0,4,0,2,0,0,1,7,0,0,0,0,1,0,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,9,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,1,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,3,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,6,2,0,1,0,0,0,0,0,0,1,0,0,0,0,104,0,72,6,96,1,0,0,0,0,0,0,0,0,0,14,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,1,1,0,1,0,1,0,1,0,0,0,0,0,3,23,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,1,13,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,0,4,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,5,0,0,0,2,0,1,0,4,0,0,1,6,0,1,0,0,1,2,0,0,0,0,2,0,1,0,0,1,0,0,0,5,1,2,0,0,1,0,2,1,0,0,1,0,3,0,0,1,1,5,0,0,3,0,0,0,0,2,4,0,1,0,0,4,0,0,2,0,2,2,1,0,1,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,6,0,5,0,0,0,0,0,2,0,0,0,1,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,2,1,3,1,0,1,0,0,0,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,5,0,2,5,0,4,1,1,6,0,0,0,15,0,0,0,0,0,0,0,0,9,0,0,0,3,0,6,0,0,0,0,0,1,0,0,0,0,0,0,73,0,0,1,0,0,0,2,0,0,0,3,1,0,11,6,0,0,0,0,0,0,0,0,2,3,0,0,0,0,0,17,0,0,0,3,0,36,3,0,0,0,3,0,0,5,1,3,0,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,7,0,3,0,0,1,0,1,0,0,0,0,0,6,0,1,0,0,9,0,0,0,0,0,0,0,0,0,3,0,0,4,1,1,0,3,16,2,0,0,0,0,0,0,0,0,1,2,0,3,6,0,0,0,1,3,0,0,0,0,1,2,0,0,0,41,0,0,0,0,0,0,0,0,26,0,0,0,0,0,0,0,0,2,0,0,0,0,6,1,0,2,0,1,0,0,0,0,0,0,0,9,0,0,1,0,1,5,0,0,4,3,44,0,0,0,0,0,4,0,3,0,8,0,0,0,0,0,0,0,0,3,10,2,20,0,1,0,3,124,0,2,0,0,0,0,0,0,0,6,0,3,1,0,0,13,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,8,0,0,0,0,10,0,0,0,0,6,7,0,2,0,0,2,0,0,1,3,1,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,4,0,0,0,0,1,2,0,0,0,4,0,0,0,0,0,0,0,0,4,2,0,11,1,0,2,0,0,3,0,2,0,4,0,0,0,3,0,0,0,2,0,0,0,0,0,33,1,0,0,3,3,1,0,1,0,0,0,0,1,4,0,0,0,11,0,0,0,0,0,1,1,9,0,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,5,1,0,5,15,0,0,1,79,0,0,3,0,1,2,0,4,2,0,8,0,0,0,0,0,0,1,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,4,11,1,1,0,0,0,0,0,0,1,0,1,1,0,3,10,2,0,0,0,1,0,0,0,0,0,1,1,0,0,0,1,4,2,3,2,0,0,0,0,0,0,0,0,0,0,2,2,0,0,3,0,0,0,0,0,0,5,0,0,0,15,2,0,1,2,2,0,2,0,3,2,0,0,0,0,0,1,0,3,1,0,0,0,0,0,0,1,0,10,0,1,1,0,1,0,1,2,2,0,0,0,0,1,0,1,0,24,0,0,0,3,0,0,0,0,0,0,22,5,0,0,15,0,0,2,0,29,0,4,2,2,3,0,0,1,0,0,1,22,5,0,0,1,0,3,0,0,0,0,0,0,2,0,1,0,3,0,0,1,0,0,4,183,0,3,0,1,0,0,15,0,0,0,3,0,0,0,0,2,3,1,0,0,0,0,6,0,2,1,0,3,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,2,1,14,0,0,1,0,0,3,1,10,0,0,0,11,0,5,0,0,1,1,0,6,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,1,0,0,0,0,0,0,0,1,0,10,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,13,0,4,0,0,0,0,0,0,0,0,3,0,2,0,0,3,0,0,0,158,4,0,6,9,0,0,0,9,0,7,0,0,18,0,0,0,0,0,0,0,0,0,0,3,3,0,0,10,2,0,3,0,4,0,0,0,0,0,10,0,0,0,0,0,1,2,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,12,0,0,6,0,0,0,0,1,28,0,0,1,0,0,14,0,1,0,2,2,0,0,0,0,1,0,2,0,3,0,0,0,6,6,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,11,12,0,0,0,1,0,2,0,1,1,0,0,0,0,2,2,0,0,0,0,0,11,0,0,0,0,0,0,17,0,0,0,0,0,0,0,0,23,0,0,0,0,0,0,1,23,0,0,0,0,0,0,0,0,2,0,0,0,1,0,1,2,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,4,0,0,0,0,0,0,25,1,0,0,1,1,0,1,1,10,17,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4,0,0,0,0,0,39,3,0,0,0,0,0,0,1,1,0,0,2,2,0,1,0,0,1,0,0,0,0,2,0,0,2,0,1,0,0,0,2,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,1,0,0,7,0,0,0,0,3,0,1,0,0,1,0,0,0,0,2,0,1,0,2,0,16,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,3,1,0,0,0,2,0,0,0,0,0,2,1,0,0,0,0,0,0,3,1,0,0,0,1,0,0,14,0,0,0,4,6,0,2,0,0,0,0,0,0,0,0,0,10,0,1,0,4,0,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0,0,2,0,0,3,0,0,0,4,1,0,0,0,3,4,0,3,0,0,4,0,0,0,1,0,0,0,0,2,0,3,0,0,8,0,0,0,0,0,0,0,0,5,0,0,0,22,0,0,0,0,1,0,0,0,0,1,0,0,0,0,3,2,0,1,0,0,0,0,0,0,0,0,0,0,5,0,4,0,0,5,0,0,1,1,11,0,0,0,0,3,2,3,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,6,0,0,5,34,0,0,0,0,0,0,0,10,0,0,0,1,0,1,0,0,0,0,0,0,6,0,2,0,31,2,0,0,0,4,6,0,0,3,0,1,0,0,0,0,6,0,0,1,0,0,0,1,0,0,1,5,0,2,0,1,2,0,0,1,7,0,3,5,0,0,0,0,0,0,0,2,0,0,0,2,6,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,8,0,0,3,0,0,0,0,0,0,0,0,0,4,0,0,2,0,1,0,0,0,0,5,1,0,2,0,1,0,0,0,0,1,6,5,0,0,0,0,3,0,0,1,3,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,7,1,3,0,0,0,0,0,0,0,0,0,0,2,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,0,0,1,0,0,0,0,0,6,5,1,0,3,40,0,0,0,0,1,0,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,13,0,0,0,0,0,0,2,0,5,0,0,0,0,0,2,1,0,1,0,2,5,0,0,0,1,0,0,0,0,0,0,0,0,20,2,0,0,0,0,4,0,33,0,6,0,2,3,3,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,3,1,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,9,0,2,0,4,0,0,1,0,0,0,0,0,0,3,0,0,21,3,0,0,0,0,10,29,10,0,0,0,1,0,0,0,2,0,0,4,0,0,0,0,0,1,1,2,0,0,0,0,5,0,0,8,3,14,2,0,1,0,1,2,1,4,0,1,0,55,0,1,0,0,0,0,0,15,0,0,0,0,0,5,1,3,1,0,1,2,0,0,0,1,0,0,0,0,0,0,5,0,1,5,2,0,0,0,2,0,6,0,0,0,0,0,0,0,0,0,6,0,1,0,1,0,0,0,0,3,0,10,0,0,0,0,0,13,2,0,10,5,4,0,0,0,0,2,0,14,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,6,0,2,0,2,1,0,0,0,0,0,0,4,6,6,0,0,4,0,0,1,0,0,0,0,17,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,6,0,0,3,0,3,28,0,0,0,0,0,1,1,0,0,0,1,2,0,3,0,0,5,0,84,0,0,0,0,0,1,0,2,0,0,0,0,0,12,71,0,3,23,9,0,1,0,1,0,0,0,0,33,0,40,0,2,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,193,1,4,0,0,0,3,9,3,2,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,12,7,0,0,0,0,0,0,1,0,11,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,0,0,11,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,8,6,0,1,0,0,0,3,32,5,0,11,0,0,0,0,0,0,0,8,0,5,0,0,16,0,11,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,1,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,1,0,0,4,0,0,5,0,0,0,0,0,0,0,11,0,0,0,0,0,4,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,4,0,0,0,0,9,0,0,0,0,0,2,0,0,0,0,0,0,3,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,11,1,0,1,45,0,0,3,2,0,0,0,0,0,0,0,0,3,0,0,2,7,0,0,0,0,0,3,6,1,1,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,10,0,0,2,0,2,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,227,1,0,0,0,0,0,0,0,8,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,4,0,0,2,0,6,0,0,0,1,0,0,0,2,1,0,0,0,0,2,5,0,4,0,10,1,9,0,0,0,1,2,6,2,0,0,0,0,0,0,0,0,0,2,0,0,1,1,2,7,2,0,1,0,1,0,0,0,0,4,0,0,14,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,1,0,1,0,5,1,0,0,0,0,2,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,168,0,247,3,0,1,1,0,13,0,7,4,5,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,2,3,9,0,1,0,0,2,5,2,0,0,0,1,0,0,0,1,0,0,0,0,0,2,16,0,4,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,1,0,11,0,3,0,0,0,0,0,0,0,0,0,0,1,2,0,0,1,0,2,0,0,0,0,2,0,54,1,0,0,0,0,0,0,0,1,0,1,0,0,5,0,0,0,5,0,0,0,0,14,3,0,25,0,0,0,0,0,0,0,2,0,2,0,0,8,0,1,3,9,2,0,1,0,1,11,16,23,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,16,0,0,0,0,0,5,0,0,0,0,0,0,14,0,0,0,6,0,0,0,0,0,0,1,0,0,0,0,1,0,1,8,2,0,1,0,0,5,6,0,1,13,0,3,0,0,0,1,0,1,0,4,0,0,0,0,0,2,1,0,0,0,0,1,7,0,0,5,9,0,5,8,0,0,3,0,0,14,1,0,3,0,0,0,0,0,0,0,0,0,1,0,1,0,0,18,0,63,0,1,0,1,0,0,1,0,6,0,0,19,0,0,0,0,0,0,3,0,0,0,6,0,0,0,0,0,0,0,0,0,0,5,1,0,0,0,0,0,0,0,0,2,8,0,0,4,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,0,0,0,0,6,0,0,0,0,0,116,0,2,0,1,0,0,38,1,0,0,3,12,15,0,8,0,0,0,0,2,0,0,39,0,0,0,0,0,2,0,0,3,10,0,1,0,0,0,0,0,0,12,0,0,0,3,0,0,0,0,3,0,0,5,0,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,1,0,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,0,0,1,0,2,0,0,0,0,51,0,2,0,0,0,2,0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,3,0,1,2,0,2,5,0,3,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,0,11,1,2,0,45,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,0,1,0,0,1,7,0,0,0,0,8,0,0,0,4,0,0,0,0,2,0,0,0,0,2,0,0,1,0,0,0,0,7,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,11,0,0,1,0,0,0,0,0,0,4,0,0,3,0,4,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,2,0,0,0,42,2,7,7,2,1,5,3,8,0,0,0,0,0,0,0,0,0,0,1,6,7,0,8,0,0,0,0,2,1,0,1,0,3,0,0,0,0,0,0,0,0,0,1,6,21,0,1,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,6,0,0,1,0,0,0,3,0,0,0,0,0,0,0,2,0,0,1,0,0,0,5,0,2,0,0,3,3,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,19,1,0,0,13,0,0,0,2,0,0,0,1,1,0,3,0,0,0,0,0,0,1,0,1,0,0,0,1,0,8,30,1,0,0,0,0,1,4,0,0,1,0,1,0,0,0,0,5,4,0,3,0,0,0,0,0,6,8,1,0,1,3,4,0,0,0,0,17,1,11,1,9,0,0,1,0,3,0,0,0,0,0,2,0,0,0,0,0,0,2,0,0,1,0,1,0,2,0,0,3,0,1,0,0,0,0,1,0,12,1,0,0,6,0,0,0,2,1,0,0,0,0,0,0,3,0,1,0,0,64,0,0,0,1,0,0,0,0,9,1,0,0,6,0,1,0,0,0,0,4,2,0,0,0,6,0,0,44,0,1,0,0,0,2,0,0,0,0,0,1,0,3,0,0,3,5,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,3,1,36,1,0,0,0,0,12,4,12,1,0,0,3,3,0,0,0,10,2,0,0,0,0,110,0,284,4,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,3,0,1,0,1,1,2,4,0,0,0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,1,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,10,1,0,12,0,10,4,0,3,0,0,0,0,1,0,0,0,0,2,1,0,0,0,0,7,2,0,2,2,0,0,0,2,0,0,3,0,0,0,1,10,0,0,0,0,0,0,10,1,0,0,16,0,0,2,10,0,1,0,0,0,1,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,1,0,0,0,0,0,0,0,11,0,1,0,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,0,0,0,0,0,6,1,3,0,0,0,0,0,0,0,0,0,1,0,20,2,0,0,3,0,0,0,1,0,0,3,0,30,0,0,17,0,3,0,0,0,0,0,1,0,0,0,1,0,14,7,43,0,0,1,0,0,0,1,1,0,3,1,0,0,0,36,0,0,6,0,0,0,1,6,59,0,0,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,2,0,0,3,3,52,4,3,0,0,1,3,1,6,0,0,3,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,70,0,1,1,0,0,0,0,27,0,0,2,5,0,1,0,0,1,0,4,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,2,0,0,2,0,0,0,9,9,0,0,1,1,4,2,0,0,0,1,0,3,3,0,0,0,6,0,0,0,0,0,0,0,0,0,5,0,0,0,3,0,0,0,0,2,0,4,0,2,0,0,0,0,0,1,1,0,2,0,0,0,0,7,0,7,0,1,1,25,1,0,2,3,2,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,3,0,3,20,1,0,1,0,3,4,1,0,0,14,0,0,0,10,0,0,0,0,0,0,1,76,15,0,1,0,5,4,0,0,7,0,7,3,0,0,0,0,0,0,0,0,0,1,0,0,12,0,4,3,2,0,0,0,0,8,2,10,0,0,1,3,0,2,1,0,12,0,1,1,0,0,1,25,0,34,55,3,0,16,13,2,2,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,5,0,1,0,0,0,0,0,0,0,4,2,5,1,0,0,0,1,0,0,3,0,0,0,0,1,0,1,2,1,18,2,0,2,0,2,0,0,1,0,1,0,2,8,1,0,0,0,0,7,1,3,0,0,0,3,0,0,1,0,13,0,0,2,0,5,0,0,19,0,0,0,0,0,0,1,0,0,1,1,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,2,0,0,0,0,3,2,9,0,0,0,0,3,0,4,2,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,8,0,0,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,1,4,0,4,2,0,0,2,3,0,0,0,0,1,0,0,0,0,0,1,2,0,0,0,2,0,3,3,0,10,4,1,0,0,6,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,10,0,0,0,0,0,0,2,0,0,4,0,0,0,0,1,7,0,0,0,0,14,2,0,2,4,5,0,0,0,1,1,0,1,1,2,0,8,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,1,0,0,0,0,0,6,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,9,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,0,1,7,0,0,0,0,0,0,0,0,13,1,0,0,9,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,7,1,0,0,1,0,0,8,0,0,10,1,0,0,0,0,0,0,0,1,0,7,1,1,0,2,0,0,0,0,0,6,1,0,0,1,0,0,1,0,0,36,0,0,9,7,0,48,0,1,3,0,1,1,0,2,0,0,0,0,1,0,2,0,1,2,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,0,0,1,2,22,0,0,0,6,2,0,2,1,1,1,0,1,14,0,0,5,0,0,0,0,0,0,0,5,17,1,0,0,0,0,0,0,0,0,2,3,0,2,0,0,0,0,4,6,10,0,0,1,4,0,0,0,0,1,0,3,0,0,0,0,0,13,0,3,0,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,2,4,0,0,9,0,0,0,0,11,0,0,3,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,12,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,3,7,0,0,3,0,2,0,0,0,0,0,0,0,0,11,0,1,0,0,0,1,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,1,0,0,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,2,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,7,3,1,0,2,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,3,0,0,0,0,0,0,59,1,6,0,0,0,0,0,0,3,2,0,0,0,2,1,10,1,0,1,0,0,3,0,0,17,0,2,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,0,0,4,2,0,0,0,0,0,0,0,0,0,0,0,0,4,79,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +Fn = ecdf(a) +max_x = round(log(max(knots(Fn)),2),0) +xx = c(0,2^seq(0,max_x,by=2)) +y=Fn(xx) +xlog = log(xx[2:length(xx)],base=2) +plot(x=c(-1,xlog),y=y,xaxt = 'n',type="b",col="blue",pch=20,xlab="Number of Reads",ylab="Cumulative proportion of Genes") +axis(1,at = c(-1,seq(0,max_x,by=2)),labels=c(0,2^seq(0,max_x,by=2))) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.clipping_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.clipping_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.clipping_profile.png",width=500,height=500,units="px") +read_pos=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99) +count=c(10080,9066,8130,7621,7132,6639,6173,5746,5321,4915,4597,4335,4076,3809,3556,3301,3060,2829,2599,2347,2127,1921,1710,1505,1283,1093,918,736,568,415,305,164,84,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,85,162,278,386,526,692,871,1040,1222,1412,1610,1804,2008,2226,2447,2677,2949,3192,3438,3680,3952,4204,4467,4757,5154,5574,5983,6410,6874,7383,7905,8793,9768) +plot(read_pos,1-(count/79258),pch=20,xlab="Position of reads",ylab="Mappability",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.clipping_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.clipping_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,101 @@ +Position Read_Total Read_clipped +0 79258 10080 +1 79258 9066 +2 79258 8130 +3 79258 7621 +4 79258 7132 +5 79258 6639 +6 79258 6173 +7 79258 5746 +8 79258 5321 +9 79258 4915 +10 79258 4597 +11 79258 4335 +12 79258 4076 +13 79258 3809 +14 79258 3556 +15 79258 3301 +16 79258 3060 +17 79258 2829 +18 79258 2599 +19 79258 2347 +20 79258 2127 +21 79258 1921 +22 79258 1710 +23 79258 1505 +24 79258 1283 +25 79258 1093 +26 79258 918 +27 79258 736 +28 79258 568 +29 79258 415 +30 79258 305 +31 79258 164 +32 79258 84 +33 79258 0 +34 79258 0 +35 79258 0 +36 79258 0 +37 79258 0 +38 79258 0 +39 79258 0 +40 79258 0 +41 79258 0 +42 79258 0 +43 79258 0 +44 79258 0 +45 79258 0 +46 79258 0 +47 79258 0 +48 79258 0 +49 79258 0 +50 79258 0 +51 79258 0 +52 79258 0 +53 79258 0 +54 79258 0 +55 79258 0 +56 79258 0 +57 79258 0 +58 79258 0 +59 79258 0 +60 79258 0 +61 79258 0 +62 79258 0 +63 79258 0 +64 79258 0 +65 79258 0 +66 79258 0 +67 79258 85 +68 79258 162 +69 79258 278 +70 79258 386 +71 79258 526 +72 79258 692 +73 79258 871 +74 79258 1040 +75 79258 1222 +76 79258 1412 +77 79258 1610 +78 79258 1804 +79 79258 2008 +80 79258 2226 +81 79258 2447 +82 79258 2677 +83 79258 2949 +84 79258 3192 +85 79258 3438 +86 79258 3680 +87 79258 3952 +88 79258 4204 +89 79258 4467 +90 79258 4757 +91 79258 5154 +92 79258 5574 +93 79258 5983 +94 79258 6410 +95 79258 6874 +96 79258 7383 +97 79258 7905 +98 79258 8793 +99 79258 9768 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.geneAbundance.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.geneAbundance.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,27321 @@ +gene Counts +AADACL3 0 +AADACL4 0 +ABCD3 1 +ACADM 0 +ACKR1 0 +ACOT11 0 +ACTG1P4 0 +ACTL8 243 +ACTN2 0 +ACTRT2 0 +ADAM15 0 +ADAMTSL4 0 +ADCK3 0 +ADORA1 0 +ADPRHL2 0 +AGL 0 +AGO1 2 +AGO3 0 +AGO4 0 +AGRN 0 +AGTRAP 0 +AHCYL1 1 +AJAP1 0 +AK4 1 +AK5 0 +AKIRIN1 2 +AKR1A1 1 +AKR7A2P1 0 +ALG6 1 +ALPL 0 +AMPD2 2 +AMY1A 0 +AMY1B 0 +AMY1C 0 +AMY2A 0 +AMY2B 0 +ANGPTL3 0 +ANGPTL7 0 +ANKRD34A 0 +ANKRD35 0 +ANXA9 0 +AP4B1-AS1 0 +APCS 0 +APITD1 5 +APITD1-CORT 6 +APOA1BP 0 +AQP10 0 +ARF1 27 +ARHGEF10L 0 +ARHGEF16 4 +ARID1A 20 +ARTN 0 +ARV1 0 +ASH1L-AS1 0 +ATAD3A 1 +ATAD3B 0 +ATAD3C 2 +ATF3 0 +ATF6 3 +ATG4C 1 +ATP1A1 21 +ATP1A2 0 +ATP1A4 0 +ATP1B1 16 +ATP2B4 18 +ATP5F1 2 +ATP6V0B 2 +ATP8B2 0 +ATPIF1 1 +ATXN7L2 1 +AVPR1B 0 +AXDND1 0 +AZIN2 0 +B3GALT6 1 +B4GALT2 0 +BCAN 0 +BCL9 1 +BECN1P1 0 +BGLAP 0 +BLZF1 1 +BMP8A 0 +BNIPL 0 +BOLA1 0 +BRDT 9 +BRINP2 0 +BROX 2 +BSND 0 +BTBD19 0 +BTBD8 0 +BTF3L4 1 +BTG2 0 +C1QA 0 +C1QB 0 +C1QC 0 +C1orf100 0 +C1orf101 0 +C1orf105 0 +C1orf106 0 +C1orf112 0 +C1orf115 0 +C1orf122 0 +C1orf137 0 +C1orf146 2 +C1orf158 0 +C1orf162 0 +C1orf167 0 +C1orf177 0 +C1orf185 0 +C1orf21 0 +C1orf213 0 +C1orf220 0 +C1orf226 6 +C1orf228 0 +C1orf27 0 +C1orf50 0 +C1orf53 0 +C1orf54 0 +C1orf56 3 +C1orf64 0 +C1orf68 0 +C1orf94 0 +C1orf95 0 +C4BPA 0 +C4BPB 0 +C8A 0 +CA14 0 +CA6 0 +CACHD1 0 +CACNA1E 0 +CACYBP 1 +CADM3 0 +CALML6 0 +CAMK1G 0 +CAMSAP2 0 +CAMTA1 3 +CAP1 2 +CAPN2 0 +CAPN9 0 +CAPZA1 10 +CASQ1 0 +CATSPER4 0 +CCDC18 1 +CCDC185 0 +CCDC24 0 +CCDC27 5 +CCDC28B 0 +CCDC30 0 +CD101 0 +CD1A 0 +CD1C 0 +CD1D 0 +CD1E 0 +CD2 0 +CD46 0 +CD52 0 +CD53 0 +CD55 10 +CDA 0 +CDC14A 0 +CDC20 8 +CDC42 2 +CDC7 4 +CDC73 0 +CDCA8 10 +CDK18 0 +CDKN2C 0 +CELA2A 0 +CELA2B 0 +CELA3A 0 +CELA3B 0 +CELSR2 0 +CENPF 3 +CEP350 1 +CEP85 12 +CEPT1 1 +CFH 0 +CFHR1 0 +CFHR2 0 +CFHR3 0 +CFHR4 0 +CFHR5 0 +CGN 1 +CHD1L 1 +CHI3L2 0 +CHIA 0 +CHIAP2 0 +CHRM3 0 +CHRNB2 0 +CHTOP 3 +CIART 6 +CKS1B 16 +CLCA1 0 +CLCA2 0 +CLCA3P 0 +CLCA4 0 +CLCN6 0 +CLCNKA 0 +CLCNKB 0 +CLIC4 3 +CMPK1 0 +CNIH3 0 +CNIH4 0 +CNKSR1 0 +CNST 3 +CNTN2 0 +COA6 0 +COG2 0 +CORT 0 +COX20 0 +CPT2 0 +CPTP 0 +CR1 0 +CR1L 0 +CR2 2 +CRB1 0 +CRCT1 0 +CREB3L4 0 +CROCC 0 +CSF1 0 +CSMD2-AS1 0 +CTH 0 +CTPS1 1 +CTRC 0 +CTSE 0 +CTTNBP2NL 11 +CYB561D1 0 +CYCSP52 0 +CYMP 0 +CYP4A22 0 +CYP4B1 1 +CYP4X1 0 +CYP4Z1 0 +CYR61 0 +DAB1-AS1 0 +DAP3 1 +DARS2 0 +DCAF6 4 +DCDC2B 0 +DCLRE1B 3 +DCST1 0 +DDI2 0 +DDR2 0 +DDX11L1 0 +DDX20 0 +DEGS1 0 +DEPDC1-AS1 0 +DESI2 1 +DFFB 0 +DHDDS 1 +DHX9 0 +DIEXF 1 +DIO1 0 +DISC1 0 +DISP1 0 +DLEU2L 0 +DMAP1 0 +DMBX1 0 +DMRTB1 6 +DNAH14 1 +DNAJA1P5 0 +DNAJB4 1 +DNAJC16 2 +DNAJC6 0 +DNALI1 0 +DNASE2B 0 +DNM3 5 +DPH2 1 +DPYD-AS1 0 +DPYD-AS2 0 +DR1 2 +DRAXIN 0 +DRD5P2 0 +DTL 35 +DUSP12 1 +DUSP23 0 +DUSP27 0 +DUSP5P1 0 +DYRK3 0 +ECM1 0 +EDARADD 1 +EFCAB14-AS1 1 +EFCAB2 1 +EFCAB7 0 +EFHD2 0 +EFNA1 0 +EFNA3 0 +EFNA4 0 +EIF3I 1 +ELAVL4 0 +ELF3 0 +EMBP1 0 +ENO1-AS1 0 +EPB41 2 +EPHA8 0 +EPHB2 0 +EPHX1 0 +EPHX4 0 +ERICH3-AS1 0 +ERMAP 1 +ESPN 0 +EXO1 1 +EXO5 11 +EXTL1 0 +FAAH 0 +FAAHP1 0 +FAM102B 0 +FAM110D 0 +FAM159A 0 +FAM163A 0 +FAM167B 0 +FAM177B 0 +FAM183A 0 +FAM19A3 0 +FAM20B 0 +FAM212B-AS1 0 +FAM213B 1 +FAM231A 0 +FAM231D 0 +FAM43B 0 +FAM46C 142 +FAM71A 0 +FAM72A 0 +FAM72B 0 +FAM72C 0 +FAM73A 1 +FAM76A 10 +FAM87B 0 +FASLG 0 +FBLIM1 0 +FBXO28 2 +FBXO44 0 +FBXO6 0 +FCER1A 0 +FCER1G 0 +FCGR1A 0 +FCGR1C 0 +FCGR2A 0 +FCGR2B 0 +FCGR2C 0 +FCRL6 0 +FCRLA 0 +FCRLB 0 +FDPS 0 +FGGY 0 +FHAD1 0 +FLAD1 1 +FLG-AS1 0 +FLJ23867 0 +FLJ31662 0 +FLVCR1 0 +FMN2 2 +FMO1 0 +FMO2 13 +FMO3 1 +FMO4 0 +FMO6P 0 +FMO9P 0 +FNBP1L 1 +FNDC7 0 +FOXD2 0 +FOXD3 0 +FOXE3 0 +FOXO6 0 +FPGT 1 +FPGT-TNNI3K 0 +G0S2 0 +GABPB2 0 +GABRD 0 +GADD45A 0 +GALNT2 0 +GAS5-AS1 0 +GBP1P1 0 +GBP6 0 +GCSAML 0 +GGPS1 0 +GIPC2 0 +GJA4 0 +GJA8 0 +GJB3 0 +GJB4 0 +GJB5 0 +GJC2 0 +GM140 0 +GMEB1 2 +GNAI3 6 +GNG12-AS1 0 +GNPAT 3 +GORAB 0 +GPR137B 6 +GPR25 0 +GPR3 2 +GPR37L1 0 +GPR52 0 +GPR61 0 +GPR88 0 +GPR89B 0 +GPSM2 1 +GPX7 0 +GRHL3 0 +GSTM1 0 +GSTM2 0 +GSTM4 0 +GSTM5 0 +GUCA2B 0 +GUK1 0 +H3F3A 0 +H3F3AP4 0 +H6PD 1 +HAO2 0 +HAO2-IT1 0 +HAPLN2 0 +HAX1 0 +HCN3 0 +HCRTR1 0 +HDAC1 1 +HES3 0 +HFE2 0 +HHAT 1 +HHLA3 0 +HIAT1 7 +HIPK1 2 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AC 0 +HIST2H2BA 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2BB 0 +HLX 0 +HMCN1 4 +HMGB4 0 +HMGN2 3 +HOOK1 1 +HPCA 0 +HPDL 0 +HS2ST1 1 +HSD11B1 0 +HSD17B7 0 +HSD3B1 0 +HSD3B2 0 +HSD3BP4 0 +HSPA6 0 +HSPA7 0 +HTR6 0 +IARS2 1 +IBA57 0 +IER5 2 +IFI16 0 +IFI44 0 +IFI44L 0 +IGFN1 0 +IGSF21 0 +IKBKE 0 +IL12RB2 0 +IL19 0 +IL20 0 +IL23R 4 +IL24 0 +IL6R 0 +INADL 0 +INTS3 1 +IPO13 1 +IPO9 1 +IQCC 0 +ISG15 0 +ITGA10 0 +IVL 0 +KAZN 0 +KCNAB2 0 +KCNC4 0 +KCNJ9 0 +KCNK1 0 +KCNK2 0 +KCNQ4 0 +KCTD3 2 +KDM1A 1 +KDM4A 4 +KHDRBS1 4 +KIAA0754 0 +KIAA1107 3 +KIAA1324 0 +KIAA1522 0 +KIAA1614 0 +KIAA1804 0 +KIF1B 4 +KIF26B 2 +KIF2C 10 +KIRREL 0 +KLF17 0 +KLHDC7A 0 +KLHDC9 0 +KLHL17 1 +KLHL20 8 +KMO 0 +KPNA6 17 +KPRP 0 +L1TD1 0 +LAMC1 2 +LAMC2 0 +LAMTOR2 1 +LAMTOR5-AS1 0 +LAX1 0 +LCE1A 0 +LCE1B 0 +LCE1D 0 +LCE1E 0 +LCE1F 0 +LCE2A 0 +LCE2B 0 +LCE2C 0 +LCE2D 0 +LCE3B 0 +LCE3C 0 +LCE4A 0 +LCE5A 0 +LCE6A 0 +LCK 0 +LDLRAD2 0 +LDLRAP1 3 +LELP1 0 +LEMD1-AS1 0 +LENEP 0 +LEPR 0 +LEPROT 2 +LGALS8 13 +LGR6 0 +LHX4 0 +LHX8 4 +LHX9 0 +LIN28A 1 +LINC00184 0 +LINC00210 0 +LINC00260 0 +LINC00272 0 +LINC00337 0 +LINC00339 0 +LINC00467 1 +LINC00538 0 +LINC00568 0 +LINC00623 0 +LINC00626 0 +LINC00853 0 +LINC00869 0 +LINC01128 5 +LINC01132 0 +LINC01133 0 +LINC01134 0 +LINC01135 0 +LINC01140 0 +LINC01144 0 +LINC01225 0 +LINC01226 0 +LINC01341 0 +LINC01342 0 +LINC01346 0 +LINC01351 0 +LINC01352 0 +LINC01353 0 +LINC01358 0 +LINC01360 0 +LIX1L 0 +LMNA 0 +LMO4 4 +LOC100129046 0 +LOC100129138 0 +LOC100129620 0 +LOC100129924 0 +LOC100130093 0 +LOC100130331 0 +LOC100132057 0 +LOC100132062 0 +LOC100132111 0 +LOC100132287 0 +LOC100133331 0 +LOC100147773 0 +LOC100505887 0 +LOC100506801 0 +LOC100507564 0 +LOC100507634 0 +LOC100996583 0 +LOC100996635 0 +LOC101060524 0 +LOC101926944 0 +LOC101927164 0 +LOC101927478 0 +LOC101927604 0 +LOC101927844 0 +LOC101928009 0 +LOC101928163 0 +LOC101928303 0 +LOC101928372 0 +LOC101928404 0 +LOC101928778 0 +LOC101929181 0 +LOC101929224 0 +LOC101929441 0 +LOC101929631 0 +LOC101929983 0 +LOC102606465 0 +LOC103091866 0 +LOC148413 0 +LOC148696 0 +LOC148709 2 +LOC284581 0 +LOC284632 0 +LOC284648 0 +LOC284661 0 +LOC339529 0 +LOC339539 0 +LOC388692 0 +LOC391003 0 +LOC440700 0 +LOC440704 0 +LOC643355 0 +LOC644961 0 +LOC645166 0 +LOC645354 0 +LOC645382 0 +LOC646626 0 +LOC649324 0 +LOC729970 0 +LOC729987 0 +LOC730159 0 +LOR 0 +LPHN2 0 +LPPR4 0 +LRIG2 0 +LRRC42 2 +LRRC52 0 +LRRC7 0 +LRRC71 0 +LRRC8B 21 +LRRC8C 1 +LRRC8D 0 +LURAP1 0 +LY9 0 +LYPLA2 0 +LYPLAL1 1 +MAB21L3 0 +MACF1 0 +MAEL 13 +MAGI3 1 +MAN1A2 4 +MAN1C1 0 +MANEAL 0 +MAP10 0 +MAP7D1 2 +MAPKAPK2 3 +MARC1 0 +MARC2 0 +MARK1 0 +MAST2 0 +MATN1-AS1 0 +MDM4 19 +MDS2 0 +MED18 0 +METTL11B 0 +METTL13 3 +MFN2 5 +MFSD2A 2 +MFSD4 3 +MGAT4EP 0 +MGC27382 0 +MGC34796 0 +MGST3 0 +MIA3 7 +MIB2 2 +MIER1 2 +MIIP 2 +MINOS1 1 +MINOS1-NBL1 0 +MIR1231 0 +MIR1278 0 +MIR1295B 0 +MIR197 0 +MIR1976 0 +MIR200A 0 +MIR200B 0 +MIR205 0 +MIR205HG 0 +MIR30C1 0 +MIR30E 0 +MIR3115 0 +MIR3117 0 +MIR3119-2 0 +MIR3120 0 +MIR3122 0 +MIR3123 0 +MIR3124 0 +MIR320B1 0 +MIR3620 0 +MIR3658 0 +MIR3659 0 +MIR3675 0 +MIR378F 0 +MIR4251 0 +MIR4255 0 +MIR4257 0 +MIR4258 0 +MIR429 0 +MIR4417 0 +MIR4422 0 +MIR4423 0 +MIR4424 0 +MIR4427 0 +MIR4632 0 +MIR4654 0 +MIR4666A 0 +MIR4671 0 +MIR4677 0 +MIR4684 0 +MIR4781 0 +MIR4794 0 +MIR5187 0 +MIR5191 0 +MIR548AA1 0 +MIR553 0 +MIR554 0 +MIR556 0 +MIR557 0 +MIR5584 0 +MIR6077 0 +MIR6079 0 +MIR6084 0 +MIR6729 0 +MIR6732 0 +MIR6735 0 +MIR6736 0 +MIR6739 0 +MIR6740 0 +MIR6769B 0 +MIR6878 0 +MIR7156 0 +MIR760 0 +MIR7846 0 +MIR7852 0 +MIR92B 0 +MIR942 0 +MIXL1 43 +MKNK1-AS1 0 +MLLT11 3 +MMACHC 0 +MMP23A 0 +MMP23B 0 +MNDA 0 +MOV10 2 +MPL 0 +MPZL1 0 +MR1 0 +MROH7 0 +MROH7-TTC4 1 +MROH9 0 +MRPL37 1 +MRPS21 3 +MRTO4 4 +MSH4 0 +MST1P2 0 +MSTO1 0 +MSTO2P 0 +MTF2 23 +MTFR1L 1 +MTOR-AS1 0 +MTR 6 +MTX1 0 +NASP 28 +NAV1 0 +NBL1 0 +NBPF10 0 +NBPF12 0 +NBPF15 0 +NBPF18P 0 +NBPF20 0 +NBPF25P 0 +NBPF3 0 +NBPF6 0 +NBPF8 0 +NBPF9 0 +NCDN 1 +NCMAP 0 +NCSTN 1 +NDUFS2 1 +NDUFS5 0 +NECAP2 7 +NEK7 1 +NENF 0 +NEXN 0 +NFASC 0 +NFIA 0 +NFYC 4 +NHLH1 0 +NIPAL3 0 +NIT1 0 +NLRP3 0 +NMNAT1 0 +NOS1AP 2 +NOTCH2NL 1 +NPL 1 +NPPA-AS1 0 +NPR1 0 +NR5A2 0 +NSUN4 1 +NTNG1 0 +NTPCR 0 +NTRK1 0 +NUDC 2 +NUF2 12 +OAZ3 0 +OBSCN 0 +OCLM 0 +OLFML3 0 +OPRD1 0 +OPTC 0 +OR10J1 0 +OR10K1 0 +OR10R2 0 +OR10Z1 0 +OR14C36 0 +OR2AK2 0 +OR2G2 0 +OR2G3 0 +OR2G6 0 +OR2L13 0 +OR2L1P 0 +OR2L2 1 +OR2L3 0 +OR2L5 0 +OR2L8 0 +OR2M1P 0 +OR2M2 0 +OR2M3 0 +OR2M4 0 +OR2M5 0 +OR2T1 0 +OR2T2 0 +OR2T3 0 +OR2T4 1 +OR2T5 0 +OR2T6 0 +OR2T8 0 +OR2W3 0 +OR2W5 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR4F5 0 +OR6K6 0 +OSBPL9 4 +OTUD3 12 +OVAAL 0 +PADI1 0 +PADI3 0 +PADI4 0 +PADI6 6 +PALMD 0 +PAPPA2 0 +PARK7 2 +PAX7 0 +PBX1 0 +PCAT6 0 +PCP4L1 149 +PCSK9 0 +PDE4B 0 +PDIA3P1 0 +PDIK1L 0 +PDPN 6 +PDZK1 1 +PEA15 0 +PEAR1 0 +PER3 1 +PEX11B 4 +PEX14 1 +PFKFB2 2 +PGBD2 0 +PGD 9 +PGM1 1 +PHACTR4 1 +PHF13 9 +PHGDH 0 +PIAS3 0 +PIFO 0 +PIGV 0 +PIK3CD 0 +PIN1P1 0 +PINK1 0 +PIP5K1A 0 +PITHD1 8 +PKN2 2 +PKP1 0 +PLA2G2F 0 +PLA2G4A 0 +PLA2G5 0 +PLCH2 0 +PLEKHM2 5 +PLEKHN1 0 +PLEKHO1 2 +PLK3 1 +PLOD1 0 +PMF1 0 +PMF1-BGLAP 0 +PNRC2 1 +PODN 0 +POGK 0 +POU2F1 8 +POU5F1P4 0 +PPCS 0 +PPFIA4 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIE 0 +PPIH 0 +PPOX 0 +PPP1R12B 0 +PPP1R8 0 +PPP2R5A 0 +PQLC2 0 +PRAMEF1 0 +PRAMEF10 0 +PRAMEF12 0 +PRAMEF15 0 +PRAMEF16 0 +PRAMEF17 0 +PRAMEF2 0 +PRAMEF20 0 +PRAMEF22 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRCC 5 +PRDM16 0 +PRDM2 9 +PRDX6 2 +PRELP 0 +PRG4 1 +PRKAA2 0 +PRKACB 0 +PRKCZ 0 +PRMT6 0 +PROK1 0 +PROX1 0 +PRPF3 1 +PRPF38A 4 +PRPF38B 3 +PRR9 0 +PRRC2C 27 +PRRX1 0 +PRSS38 0 +PRUNE 1 +PSEN2 5 +PSMB4 3 +PSMD4 1 +PTBP2 0 +PTCHD2 0 +PTGFR 0 +PTGFRN 1 +PTPRC 0 +PTPRF 1 +PTPRU 0 +PTPRVP 0 +PUSL1 0 +PYHIN1 0 +QSOX1 0 +RAB25 0 +RAB42 0 +RAB4A 0 +RABGAP1L 1 +RABGGTB 0 +RAD54L 2 +RALGPS2 0 +RAP1A 2 +RASAL2 1 +RASSF5 3 +RAVER2 0 +RBBP4 10 +RBM15 1 +RBM8A 1 +RBP7 0 +RCAN3 0 +RCC1 1 +RCOR3 1 +RCSD1 0 +RER1 1 +RGL1 0 +RGS1 0 +RGS13 0 +RGS18 0 +RGS2 553 +RGS21 0 +RGS4 0 +RGSL1 0 +RHBG 0 +RHD 0 +RHOU 0 +RIIAD1 6 +RIMKLA 13 +RLF 12 +RNF11 0 +RNF115 0 +RNF187 5 +RNF2 2 +RNF207 0 +RNF220 1 +RNPC3 2 +RNPEP 0 +RNU11 0 +RNU5F-1 0 +RNU6-2 0 +RNVU1-19 0 +RNVU1-20 0 +ROR1 0 +RPAP2 2 +RPF1 5 +RPL11 16 +RPL5 17 +RPRD2 5 +RPS10P7 0 +RPS14P3 0 +RPS27 2 +RPS6KA1 0 +RPS6KC1 1 +RPS7P5 0 +RPS8 15 +RRNAD1 0 +RRP15 3 +RSC1A1 0 +RTCA 1 +RUSC1 0 +RWDD3 0 +RXFP4 0 +RYR2 2 +S100A1 0 +S100A7A 0 +S100A9 0 +S100PBP 1 +S1PR1 0 +SAMD11 0 +SAMD13 0 +SARS 2 +SCARNA1 0 +SCARNA2 0 +SCCPDH 1 +SCNM1 2 +SCNN1D 0 +SCP2 1 +SDCCAG8 7 +SDHC 2 +SEC22B 0 +SEMA4A 0 +SEPN1 1 +SERINC2 0 +SERTAD4 0 +SESN2 5 +SETDB1 6 +SFN 0 +SFT2D2 0 +SGIP1 0 +SH3BGRL3 0 +SH3D21 0 +SH3GLB1 6 +SHISA4 0 +SKI 4 +SLAMF7 0 +SLAMF8 0 +SLC16A1-AS1 0 +SLC22A15 0 +SLC25A33 0 +SLC25A34 0 +SLC25A44 2 +SLC27A3 0 +SLC2A1-AS1 0 +SLC30A7 3 +SLC35A3 0 +SLC35F3 0 +SLC44A3 0 +SLC45A1 0 +SLC50A1 0 +SLC5A9 0 +SLC6A17 0 +SLFNL1-AS1 0 +SMAP2 0 +SMCP 0 +SMG7 5 +SMIM1 0 +SMPDL3B 0 +SMYD2 0 +SNAP47 0 +SNAPIN 0 +SNHG3 0 +SNORA16B 0 +SNORA59A 0 +SNORA59B 0 +SNORA66 0 +SNORA77 0 +SNORD21 0 +SNORD38A 0 +SNORD38B 0 +SNORD45A 0 +SNORD45B 0 +SNORD45C 0 +SNORD46 0 +SNORD55 0 +SNRPE 10 +SNX27 2 +SNX7 0 +SOAT1 0 +SOX13 2 +SPATA17 0 +SPATA42 0 +SPEN 2 +SPHAR 0 +SPRR1A 0 +SPRR1B 0 +SPRR3 0 +SPRR4 0 +SPRTN 4 +SPSB1 3 +SRGAP2 0 +SRGAP2B 0 +SRGAP2C 0 +SRGAP2D 0 +SRP9 0 +SRRM1 6 +SRSF11 47 +SSBP3-AS1 0 +ST3GAL3 0 +ST6GALNAC3 0 +ST6GALNAC5 1 +STRIP1 1 +STX12 4 +STXBP3 1 +SUCO 2 +SUMO1P3 1 +SWT1 1 +SYCP1 0 +SYPL2 1 +SYT11 0 +SYT14 1 +SYTL1 0 +SZRD1 2 +SZT2 0 +TAF1A-AS1 1 +TARDBP 10 +TARS2 0 +TAS1R1 0 +TAS1R3 0 +TATDN3 0 +TBCE 0 +TBX19 0 +TCEANC2 1 +TCEB3 7 +TCTEX1D1 0 +TDRD10 0 +TDRD5 1 +TEKT2 0 +TEX35 0 +TEX38 0 +TFAP2E 0 +TGFB2 0 +TGFB2-OT1 0 +THAP3 0 +THEMIS2 0 +THRAP3 4 +TIE1 0 +TIMM17A 2 +TINAGL1 0 +TIPRL 1 +TMCC2 5 +TMCO2 0 +TMEM125 0 +TMEM167B 0 +TMEM183A 0 +TMEM183B 0 +TMEM201 0 +TMEM222 0 +TMEM39B 0 +TMEM50A 3 +TMEM51 2 +TMEM56 1 +TMEM56-RWDD3 0 +TMEM57 6 +TMEM61 1 +TMEM69 8 +TMEM79 0 +TMEM82 0 +TMEM88B 0 +TNFAIP8L2 0 +TNFAIP8L2-SCNM1 0 +TNFRSF14 0 +TNFRSF1B 1 +TNFRSF8 0 +TNN 0 +TNNI3K 0 +TOE1 0 +TOMM40L 0 +TOP1P1 0 +TOR1AIP1 0 +TOR3A 2 +TP73 0 +TPRG1L 0 +TRAF3IP3 0 +TRAF5 0 +TRIM46 0 +TRIM58 1 +TRIM67 0 +TRMT13 0 +TRNAU1AP 0 +TRNP1 0 +TROVE2 1 +TSACC 0 +TSEN15 0 +TSHB 0 +TSNAX 4 +TSNAX-DISC1 2 +TSPAN1 0 +TSSK3 0 +TTC24 0 +TTC39A-AS1 0 +TTC4 2 +TTF2 5 +TTLL10 0 +TUFT1 0 +TXLNA 0 +TXNIP 0 +TYW3 2 +UAP1 0 +UBAP2L 1 +UBE2U 0 +UBE4B 0 +UBIAD1 4 +UBL4B 0 +UBXN10 0 +UCK2 1 +UFC1 2 +UHMK1 6 +UQCRH 0 +URB2 0 +UROD 0 +USP1 20 +USP21 1 +UTP11L 2 +VAMP3 5 +VANGL1 3 +VANGL2 0 +VASH2 0 +VAV3-AS1 0 +VCAM1 0 +VN1R5 0 +VPS13D 1 +VPS45 1 +VWA1 0 +VWA5B1 0 +WDR3 0 +WDR63 0 +WDR64 0 +WDR65 0 +WDTC1 2 +WNT2B 0 +WNT3A 0 +XCL1 0 +XKR8 1 +XPR1 3 +YBX1 2 +YTHDF2 4 +ZBED6 1 +ZBTB18 0 +ZBTB37 0 +ZBTB40 2 +ZBTB48 0 +ZBTB7B 0 +ZBTB8A 0 +ZBTB8B 2 +ZC3H11A 0 +ZC3H12A 1 +ZCCHC17 23 +ZDHHC18 0 +ZFP69 0 +ZFP69B 0 +ZFYVE9 3 +ZMPSTE24 4 +ZMYM1 0 +ZMYM4 3 +ZNF326 0 +ZNF362 1 +ZNF593 2 +ZNF672 2 +ZNF678 0 +ZNF684 0 +ZNF687 0 +ZNF691 0 +ZRANB2-AS1 0 +ZRANB2-AS2 0 +ZSCAN20 0 +ZYG11A 1 +ZYG11B 0 +ABCC2 0 +ACADSB 0 +ACSL5 2 +ACSM6 0 +ACTA2-AS1 0 +ACTR3BP5 0 +ADAMTS14 0 +ADARB2-AS1 0 +ADD3 85 +ADIRF 0 +ADK 0 +ADO 8 +ADRA2A 0 +ADRB1 0 +AGAP11 0 +AGAP6 0 +AGAP9 0 +AKR1C1 0 +AKR1C3 0 +AKR1C4 0 +AKR1E2 0 +ALOX5 0 +ANAPC16 2 +ANKRD2 0 +ANKRD30A 0 +ANKRD30BP3 0 +ANTXRL 0 +ANXA2P3 0 +ANXA8 0 +ANXA8L1 0 +APBB1IP 0 +ARID5B 0 +ARL5B 0 +ARMC3 0 +ARMS2 0 +AS3MT 0 +ASAH2B 0 +ATE1-AS1 0 +ATP5C1 3 +ATRNL1 1 +BAG3 0 +BAMBI 0 +BCCIP 5 +BEND3P3 0 +BICC1 2 +BMI1 0 +BMPR1A 1 +BMS1 3 +BMS1P6 0 +BTAF1 0 +BTBD16 0 +BTRC 9 +BUB3 2 +C10orf107 0 +C10orf11 0 +C10orf12 2 +C10orf126 0 +C10orf131 0 +C10orf2 0 +C10orf32 0 +C10orf32-ASMT 0 +C10orf35 1 +C10orf53 0 +C10orf62 0 +C10orf71 0 +C10orf85 0 +C10orf91 0 +C10orf99 0 +CACNB2 0 +CALML3 0 +CAMK1D 3 +CASC2 0 +CASP7 0 +CC2D2B 0 +CCAR1 7 +CCDC172 0 +CCDC7 0 +CCNJ 8 +CCNY 0 +CCSER2 9 +CDC123 2 +CDH23 0 +CDHR1 0 +CDK1 0 +CELF2 1 +CEP55 5 +CFAP58 42 +CFL1P1 0 +CHAT 0 +CHCHD1 2 +CHST3 0 +CISD1 6 +CNNM1 0 +CNNM2 55 +COL13A1 0 +COMMD3 0 +COMMD3-BMI1 0 +CREM 1 +CSGALNACT2 1 +CTAGE7P 0 +CTSLP2 0 +CUTC 0 +CYP26A1 0 +CYP26C1 0 +CYP2C18 0 +CYP2C19 0 +CYP2C9 0 +CYP2E1 0 +DDIT4 0 +DDX21 1 +DDX50 4 +DHTKD1 3 +DKK1 0 +DLG5-AS1 0 +DMBT1 0 +DMBT1P1 0 +DNAJC9-AS1 0 +DNMBP-AS1 0 +DNTT 0 +DOCK1 0 +DPCD 0 +DPYSL4 0 +DUSP5 5 +DYDC2 0 +ECHDC3 1 +EDRF1 2 +EIF4EBP2 0 +EIF5AL1 0 +ELOVL3 0 +EMX2 0 +ENO4 0 +ENTPD1 0 +ENTPD7 1 +EXOC6 0 +FAM133CP 1 +FAM149B1 1 +FAM160B1 0 +FAM170B-AS1 0 +FAM175B 9 +FAM178A 0 +FAM208B 18 +FAM213A 0 +FAM21A 0 +FAM21C 1 +FAM24A 0 +FAM25A 0 +FAM25BP 0 +FAM25C 0 +FAM25G 0 +FAM35A 0 +FAM35BP 0 +FAM35DP 0 +FAM45A 0 +FAM45B 0 +FAM53B-AS1 0 +FANK1 0 +FAS 0 +FBXL15 0 +FBXO18 3 +FFAR4 0 +FOXI2 0 +FRAT1 2 +FUT11 0 +FXYD4 0 +GAD2 0 +GATA3 0 +GBF1 1 +GHITM 2 +GJD4 0 +GLRX3 0 +GLUD1P3 0 +GLUD1P7 0 +GOLGA7B 0 +GPR123 0 +GPR158 5 +GPR26 0 +GPRIN2 0 +GRID1-AS1 0 +GRK5 2 +GSTO1 0 +GSTO2 0 +GTPBP4 1 +H2AFY2 2 +HABP2 12 +HECTD2 0 +HELLS 3 +HHEX 9 +HIF1AN 1 +HK1 0 +HKDC1 0 +HMX2 0 +HMX3 0 +HNRNPH3 3 +HOGA1 0 +HPS6 0 +HSD17B7P2 1 +HSPA14 0 +HTRA1 0 +IDI2-AS1 0 +IFIT1 0 +IFIT1B 0 +IFIT2 0 +IFIT3 0 +IFIT5 0 +INA 0 +INPP5A 0 +INPP5F 4 +ITIH2 0 +JAKMIP3 0 +JMJD1C-AS1 0 +KAT6B 2 +KAZALD1 0 +KCNIP2-AS1 0 +KCNK18 1 +KIAA1217 0 +KIAA1279 9 +KIF11 2 +KIF20B 28 +KNDC1 0 +LBX1-AS1 0 +LCOR 7 +LDB3 0 +LGI1 0 +LHPP 0 +LINC00200 0 +LINC00202-2 0 +LINC00263 0 +LINC00264 0 +LINC00502 0 +LINC00595 0 +LINC00619 0 +LINC00703 0 +LINC00705 0 +LINC00707 0 +LINC00709 0 +LINC00836 0 +LINC00839 0 +LINC00840 0 +LINC00841 0 +LINC00844 0 +LINC00845 0 +LINC00856 0 +LINC00857 0 +LINC00858 0 +LINC00865 0 +LINC00867 0 +LINC00993 0 +LINC00999 0 +LINC01163 0 +LINC01168 0 +LINC01452 0 +LIPF 0 +LIPJ 0 +LIPK 0 +LIPM 0 +LIPN 0 +LOC100129055 0 +LOC100130539 0 +LOC100130992 0 +LOC100288974 0 +LOC100996758 0 +LOC101926906 0 +LOC101927396 0 +LOC101927472 0 +LOC101927692 0 +LOC101927762 0 +LOC101927964 0 +LOC101928150 0 +LOC101928298 0 +LOC101928453 0 +LOC101928781 0 +LOC101928913 0 +LOC101929025 0 +LOC101929218 0 +LOC101929234 0 +LOC101929279 0 +LOC101929310 0 +LOC101929328 0 +LOC101929662 0 +LOC101929684 0 +LOC102031319 0 +LOC102723703 0 +LOC102724316 0 +LOC102724589 0 +LOC103344931 0 +LOC283038 0 +LOC283070 0 +LOC399715 0 +LOC399815 0 +LOC439994 0 +LOC642361 0 +LRRC27 0 +LRRTM3 0 +LYZL1 0 +LZTS2 1 +MALRD1 2 +MAP3K8 0 +MAPK8 4 +MARCH5 0 +MARK2P9 0 +MARVELD1 0 +MASTL 1 +MBL1P 0 +MCM10 6 +MCU 2 +MEIG1 0 +MGMT 1 +MINPP1 0 +MIR1265 0 +MIR146B 0 +MIR3155A 0 +MIR3156-1 0 +MIR3158-1 0 +MIR3941 0 +MIR4295 0 +MIR4480 0 +MIR4484 0 +MIR4675 0 +MIR4676 0 +MIR4678 0 +MIR4679-1 0 +MIR4680 0 +MIR4681 0 +MIR4682 0 +MIR5100 0 +MIR511 0 +MIR548AV 0 +MIR5586 0 +MIR5692C2 0 +MIR5694 0 +MIR603 0 +MIR605 0 +MIR6078 0 +MIR608 0 +MIR6715A 0 +MIR7152 0 +MKX-AS1 0 +MLLT10 3 +MRC1 0 +MSMB 0 +MSRB2 0 +MTG1 0 +MTRNR2L5 0 +MXI1 3 +MYO3A 0 +MYPN 0 +NANOS1 24 +NCOA4 8 +NEBL-AS1 0 +NET1 3 +NEURL1 0 +NFKB2 0 +NHLRC2 2 +NKX2-3 0 +NOLC1 4 +NPS 0 +NPY4R 0 +NRBF2 0 +NRG3 1 +NUDT13 0 +NUTM2A 0 +NUTM2B 0 +NUTM2D 0 +OIT3 0 +OLAH 0 +OPN4 0 +OPTN 1 +OTUD1 0 +PALD1 0 +PAOX 0 +PAPSS2 0 +PARD3-AS1 0 +PAX2 0 +PCGF5 0 +PDCD11 0 +PDCD4 0 +PDE6C 0 +PDSS1 0 +PFKFB3 2 +PFKP 1 +PGAM1 0 +PHYHIPL 1 +PI4K2A 0 +PITRM1-AS1 1 +PLAC9 0 +PLAU 0 +PLCE1 7 +PLEKHA1 0 +PLEKHS1 0 +PLXDC2 0 +PNLIP 0 +PNLIPRP1 0 +PNLIPRP2 0 +PNLIPRP3 0 +PPAPDC1A 0 +PPIF 5 +PPP2R2D 1 +PPRC1 18 +PRAP1 0 +PRKCQ-AS1 2 +PRKG1 2 +PROSER2 0 +PRPF18 3 +PRR26 0 +PSTK 0 +PTEN 2 +PTER 0 +PTF1A 0 +PTPRE 0 +PWWP2B 0 +R3HCC1L 0 +RAB18 6 +RASSF4 0 +RBM17 16 +RBM20 0 +REEP3 0 +RET 0 +RGR 0 +RNU6-2 0 +RNU6-53P 0 +RPARP-AS1 1 +RPEL1 0 +RPP30 0 +RPP38 1 +RPS24 76 +SAMD8 0 +SCART1 0 +SCD 0 +SEC23IP 2 +SEC24C 1 +SEC61A2 0 +SEMA4G 0 +SFR1 0 +SFTPA1 0 +SFXN2 0 +SFXN3 0 +SGPL1 4 +SH2D4B 4 +SH3PXD2A-AS1 0 +SHOC2 2 +SIRT1 0 +SLC18A2 0 +SLC18A3 0 +SLC29A3 0 +SLC35G1 5 +SLC39A12 0 +SLIT1-AS1 0 +SLK 2 +SMC3 12 +SNCG 0 +SNORD98 0 +SORCS3 0 +SPAG6 0 +SRGN 0 +ST8SIA6-AS1 1 +STAM 0 +STAMBPL1 0 +STOX1 3 +SUFU 0 +SUPV3L1 3 +SUV39H2 4 +SVILP1 0 +TACC2 2 +TAF3 33 +TAF5 6 +TBC1D12 1 +TCERG1L-AS1 0 +TCF7L2 0 +TDRD1 5 +TECTB 0 +TET1 0 +TEX36-AS1 0 +TFAM 1 +THNSL1 4 +TIMM23B 0 +TLX1 0 +TMEM180 0 +TMEM236 0 +TMEM254 0 +TMEM72 0 +TNKS2 4 +TRIM8 2 +TRUB1 0 +TSPAN14 3 +TSPAN15 1 +UBE2D1 0 +UBTD1 0 +UCN3 0 +UNC5B 0 +UTF1 0 +VCL 3 +VDAC2 1 +VENTX 0 +VIM 0 +VPS26A 1 +VTI1A 0 +VWA2 0 +WAC 30 +WBP1L 1 +WDFY4 0 +WDR11 1 +WDR37 3 +WNT8B 0 +ZDHHC16 1 +ZEB1 0 +ZFYVE27 0 +ZMIZ1 0 +ZMYND11 1 +ZNF22 11 +ZNF32-AS1 0 +ZNF32-AS2 0 +ZNF32-AS3 0 +ZNF33A 0 +ZNF365 0 +ZNF37A 0 +ZNF485 0 +ZNF487 0 +ZNF488 0 +ZNF503-AS1 1 +ZNF503-AS2 0 +ZNF511 0 +ZNF518A 2 +ZRANB1 5 +ZSWIM8 1 +AAMDC 0 +AASDHPPT 1 +ABCG4 1 +ACAD8 0 +ACAT1 3 +ACCS 0 +ACCSL 36 +ACER3 0 +ACTN3 0 +ADAMTS15 0 +ADM 0 +ADRBK1 1 +AIP 0 +AKIP1 2 +ALDH3B1 0 +ALKBH3 1 +AMOTL1 3 +AMPD3 2 +ANKK1 0 +ANKRD13D 0 +ANKRD42 1 +ANKRD49 0 +ANO1 1 +ANO3 1 +ANO5 0 +AP2A2 1 +API5 4 +APLP2 5 +APOC3 0 +AQP11 0 +ARCN1 6 +ARHGAP42 0 +ARHGEF12 7 +ARHGEF17 0 +ARL14EP 3 +ARL2 0 +ARL2-SNX15 0 +ARNTL 0 +ART1 0 +ASRGL1 0 +ATG13 0 +ATG16L2 0 +ATHL1 0 +ATM 1 +ATP5L 1 +B3GNT6 0 +B4GALNT4 0 +BACE1-AS 0 +BANF1 7 +BARX2 5 +BBOX1 0 +BBS1 0 +BCO2 0 +BDNF-AS 0 +BEST1 0 +BIRC2 10 +BIRC3 0 +BRSK2 0 +C11orf1 0 +C11orf30 3 +C11orf31 0 +C11orf42 0 +C11orf44 0 +C11orf49 0 +C11orf52 0 +C11orf53 0 +C11orf54 0 +C11orf57 10 +C11orf58 11 +C11orf63 0 +C11orf70 0 +C11orf73 0 +C11orf74 2 +C11orf80 0 +C11orf84 5 +C11orf86 0 +C11orf87 0 +C11orf88 0 +C11orf96 0 +C11orf97 0 +C2CD2L 1 +CABP4 0 +CALCB 0 +CAND1.11 0 +CAPN1 0 +CAPN5 2 +CAPRIN1 1 +CARNS1 0 +CAT 0 +CBL 0 +CCDC15 25 +CCDC67 0 +CCDC81 0 +CCDC83 0 +CCDC84 0 +CCDC85B 0 +CCDC86 3 +CCDC88B 0 +CCKBR 0 +CCND1 0 +CCS 1 +CD151 0 +CD3E 0 +CD3G 0 +CD44 0 +CD5 1 +CD6 0 +CD81 0 +CD82 8 +CDC42EP2 0 +CEP164 0 +CEP57 9 +CHEK1 39 +CLDN25 0 +CLP1 0 +CNGA4 0 +CNIH2 0 +CNTF 0 +CNTN5 1 +COLCA2 0 +COX8A 0 +CRACR2B 0 +CREB3L1 1 +CRTAM 0 +CRY2 1 +CST6 0 +CSTF3-AS1 0 +CTNND1 29 +CTR9 10 +CTSW 0 +CTTN 5 +CUL5 71 +CXCR5 0 +DAGLA 0 +DAK 0 +DCPS 0 +DDB2 0 +DDI1 0 +DDIAS 1 +DDX10 26 +DDX25 0 +DEFB108B 0 +DEPDC7 18 +DGAT2 0 +DGKZ 0 +DISC1FP1 0 +DIXDC1 0 +DKFZp686K1684 0 +DKFZp779M0652 0 +DLAT 0 +DNAJB13 0 +DNAJC24 0 +DNAJC4 0 +DNHD1 0 +DPF2 17 +DPP3 3 +DRAP1 2 +DRD4 0 +DTX4 0 +DYNC2H1 2 +EED 0 +EHBP1L1 0 +EHF 0 +EI24 6 +EIF3F 11 +EIF3M 2 +ELMOD1 0 +ELP4 0 +ENDOD1 0 +EPS8L2 0 +ESRRA 0 +EXT2 0 +F2 0 +FADD 0 +FADS2 0 +FAM111A 0 +FAM111B 8 +FAM118B 5 +FAM180B 0 +FAM86C1 0 +FAM89B 0 +FAM99A 0 +FAR1 0 +FAT3 0 +FBXO3-AS1 0 +FDX1 0 +FEN1 2 +FERMT3 0 +FIBIN 0 +FJX1 0 +FKBP2 1 +FLI1 0 +FLRT1 0 +FOLH1B 0 +FOLR1 0 +FOLR2 0 +FOLR3 0 +FOLR4 0 +FOXR1 2 +FOXRED1 0 +FRMD8 0 +FSHB 0 +FUT4 0 +GAL 0 +GAS2 0 +GLB1L2 1 +GLB1L3 0 +GLYATL1 4 +GNG3 0 +GPR137 2 +GRAMD1B 0 +GRIA4 0 +GRIK4 5 +GRM5-AS1 0 +GSTP1 0 +GTF2H1 1 +GYLTL1B 0 +HEPHL1 1 +HEPN1 0 +HINFP 0 +HIPK3 0 +HMBS 0 +HOTS 0 +HSD17B12 1 +HSPB2 0 +HSPB2-C11orf52 0 +HTATIP2 1 +HTR3A 0 +HTR3B 0 +HYLS1 26 +IFITM1 0 +IFITM2 0 +IGF2-AS 0 +IGHMBP2 1 +IL10RA 0 +IL18BP 0 +ILK 0 +INCENP 1 +INPPL1 0 +INSC 1 +IPO7 2 +JAM3 3 +JRKL 0 +KAT5 0 +KCNC1 0 +KCNJ5 0 +KCNK4 0 +KCNQ1 1 +KCNQ1DN 0 +KCTD21-AS1 0 +KDM2A 1 +KDM4D 0 +KDM4E 0 +KIAA1377 0 +KIAA1549L 3 +KIAA1731 15 +KIRREL3-AS2 0 +KIRREL3-AS3 0 +KLC2 0 +KMT2A 0 +KRT8P41 0 +KRTAP5-10 0 +KRTAP5-5 0 +KRTAP5-6 0 +KRTAP5-7 0 +KRTAP5-8 0 +KRTAP5-9 0 +KRTAP5-AS1 0 +LAYN 0 +LDHA 5 +LDHAL6A 9 +LDHC 1 +LDLRAD3 5 +LGALS12 0 +LINC00167 0 +LINC00294 0 +LINC00301 0 +LINC01150 0 +LINC01488 0 +LINC01493 0 +LINC01499 0 +LOC100128239 0 +LOC100128494 0 +LOC100129203 0 +LOC100129216 0 +LOC100130987 0 +LOC100506082 0 +LOC100506127 0 +LOC100506368 0 +LOC100507283 0 +LOC100507384 0 +LOC100996455 0 +LOC101054525 0 +LOC101927120 0 +LOC101927495 0 +LOC101928008 0 +LOC101928053 0 +LOC101928535 0 +LOC101928580 0 +LOC101928812 0 +LOC101928823 0 +LOC101928894 0 +LOC101928896 0 +LOC101929295 0 +LOC101929340 0 +LOC101929427 0 +LOC101929473 0 +LOC101929497 0 +LOC101929517 0 +LOC102724301 0 +LOC102724784 0 +LOC102724957 0 +LOC221122 0 +LOC283177 0 +LOC341056 0 +LOC399886 0 +LOC440040 0 +LOC494141 0 +LOC643923 0 +LOC646813 0 +LOC653486 0 +LRFN4 0 +LRP4-AS1 0 +LRP5 0 +LRRC10B 0 +LRRC55 0 +LRRC56 0 +LRTOMT 0 +LSP1 0 +LUZP2 0 +MADD 5 +MALAT1 1 +MAPK8IP1 0 +MARK2 0 +MDK 0 +MED17 0 +METTL12 0 +METTL15 0 +MICAL2 1 +MICALCL 10 +MIR1237 0 +MIR1260B 0 +MIR129-2 0 +MIR130A 0 +MIR1343 0 +MIR3160-2 0 +MIR34B 0 +MIR34C 0 +MIR3656 0 +MIR3973 0 +MIR4486 0 +MIR4488 0 +MIR4489 0 +MIR4491 0 +MIR4492 0 +MIR4686 0 +MIR4687 0 +MIR4688 0 +MIR4690 0 +MIR4691 0 +MIR4692 0 +MIR4693 0 +MIR548AR 0 +MIR548K 0 +MIR5692A1 0 +MIR6090 0 +MIR610 0 +MIR612 0 +MIR6124 0 +MIR6128 0 +MIR670 0 +MIR6716 0 +MIR6743 0 +MIR6744 0 +MIR6748 0 +MIR6752 0 +MIR6753 0 +MIR6754 0 +MIR6755 0 +MIR6860 0 +MIR6879 0 +MIR7113 0 +MIR8052 0 +MMP26 0 +MOGAT2 0 +MRGPRF-AS1 0 +MRGPRG-AS1 0 +MRGPRX3 0 +MRGPRX4 0 +MRPL23 0 +MRPL48 0 +MRPL49 0 +MRVI1-AS1 0 +MS4A1 0 +MS4A10 0 +MS4A12 0 +MS4A13 0 +MS4A14 0 +MS4A15 0 +MS4A2 0 +MS4A3 0 +MS4A4A 0 +MS4A5 0 +MS4A6E 0 +MS4A7 0 +MS4A8 0 +MTNR1B 0 +MUC2 0 +MUC5B 0 +MUS81 1 +MYEOV 0 +MYO7A 0 +MYOD1 0 +MYRF 0 +NAA40 1 +NAALAD2 0 +NADSYN1 1 +NAT10 3 +NAV2 5 +NCAM1 0 +NCR3LG1 0 +NDUFS3 0 +NDUFS8 0 +NDUFV1 0 +NEAT1 0 +NELL1 0 +NEU3 0 +NLRP14 0 +NLRP6 0 +NLRX1 0 +NNMT 0 +NPAS4 0 +NR1H3 0 +NRGN 0 +NS3BP 0 +NTM 0 +NTM-IT 0 +NUCB2 1 +NUDT22 0 +NXPE2 0 +OAF 1 +ODF3 0 +OLFML1 1 +OMP 0 +OOSP2 216 +OR10A2 0 +OR10A4 0 +OR10A5 0 +OR10G4 0 +OR10G8 0 +OR10G9 0 +OR10V2P 0 +OR1S1 0 +OR2AG1 0 +OR2D3 0 +OR4A15 0 +OR4A16 0 +OR4A47 0 +OR4B1 0 +OR4C13 0 +OR4C15 0 +OR4C16 0 +OR4C3 0 +OR4C46 0 +OR4C6 0 +OR4D10 0 +OR4D11 0 +OR4D5 0 +OR4D6 0 +OR4D9 0 +OR4P4 0 +OR4S1 0 +OR4S2 0 +OR4X1 0 +OR4X2 0 +OR51A7 0 +OR51B6 0 +OR51D1 0 +OR51E1 1 +OR51F2 0 +OR51I2 0 +OR51L1 0 +OR51M1 0 +OR51Q1 0 +OR51T1 0 +OR52B6 0 +OR52D1 0 +OR52E4 0 +OR52I1 0 +OR52I2 0 +OR52J3 0 +OR52K1 0 +OR52K2 0 +OR52M1 0 +OR52N2 0 +OR52N4 0 +OR52W1 0 +OR56A3 0 +OR56B1 0 +OR56B4 0 +OR5A1 0 +OR5AK2 0 +OR5AK4P 0 +OR5AN1 0 +OR5AR1 0 +OR5AS1 0 +OR5D13 0 +OR5D14 0 +OR5D16 0 +OR5D18 0 +OR5E1P 0 +OR5J2 0 +OR5L1 0 +OR5L2 0 +OR5T1 0 +OR5T3 0 +OR6Q1 0 +OR7E14P 0 +OR8A1 0 +OR8D4 0 +OR8G1 0 +OR8G2 0 +OR8G5 3 +OR8H2 0 +OR8H3 0 +OR8I2 0 +OR8J1 0 +OR8K1 0 +OR8K3 0 +OR8U1 0 +OR8U8 0 +OR9G1 0 +OR9G9 0 +OR9Q1 0 +OR9Q2 0 +OTOG 0 +OTUB1 1 +OVOL1 0 +P2RX3 0 +P2RY2 0 +P2RY6 0 +PAAF1 0 +PACS1 2 +PAFAH1B2 4 +PANO 0 +PANX1 1 +PANX3 0 +PARVA 1 +PATE1 0 +PATE3 0 +PATE4 0 +PAUPAR 0 +PCF11 9 +PCNXL3 0 +PDE3B 0 +PDHX 1 +PDZD3 0 +PELI3 0 +PGA3 0 +PGA4 0 +PGA5 0 +PGAP2 3 +PHLDB1 0 +PHRF1 0 +PIWIL4 0 +PKNOX2 1 +PKP3 0 +PLCB3 0 +PLEKHB1 2 +PNPLA2 1 +POLA2 2 +POLD3 12 +POLR2G 1 +POU2F3 0 +PPFIA1 25 +PPFIBP2 1 +PPME1 3 +PPP1R32 0 +PPP2R5B 0 +PPP6R3 3 +PRDM11 0 +PRDX5 0 +PRMT3 0 +PRR5L 6 +PRRG4 0 +PRSS23 0 +PSMD13 2 +PTDSS2 0 +PTPMT1 0 +PTPRJ 0 +PTS 0 +QSER1 0 +RAB1B 1 +RAB30-AS1 0 +RAB39A 0 +RAD9A 0 +RAG1 0 +RARRES3 0 +RASSF10 0 +RASSF7 0 +RBM14 0 +RBM14-RBM4 0 +RBM4 1 +RBM7 0 +RBMXL2 0 +RCE1 0 +RCN1 0 +RELT 0 +REXO2 9 +RHOD 0 +RIC8A 0 +RNF121 1 +RNF169 1 +RNF214 1 +RNF26 0 +ROBO3 1 +ROM1 0 +RPL27A 10 +RPLP0P2 1 +RPLP2 25 +RPS3 35 +RPS6KA4 0 +RPS6KB2 0 +RRM1 2 +RTN3 7 +RTN4RL2 1 +SAA1 0 +SAC3D1 0 +SART1 0 +SBF2-AS1 0 +SC5D 1 +SCARNA9 0 +SCGB1A1 0 +SCGB1C1 0 +SCGB1D1 0 +SCGB1D2 0 +SCGB2A1 0 +SCGB2A2 0 +SCYL1 0 +SDHAF2 0 +SDHD 0 +SEC14L1P1 2 +SERPING1 0 +SERPINH1 0 +SF3B2 6 +SHANK2-AS1 0 +SHANK2-AS3 0 +SIDT2 1 +SIK2 0 +SIPA1 0 +SLC17A6 0 +SLC22A10 0 +SLC22A11 0 +SLC22A12 0 +SLC22A18 0 +SLC22A20 0 +SLC22A9 0 +SLC35C1 1 +SLC37A2 0 +SLC39A13 0 +SLC3A2 0 +SLC6A5 15 +SLCO2B1 0 +SMPD1 0 +SMTNL1 0 +SNORA23 0 +SNORA45A 0 +SNORA45B 0 +SNORA52 0 +SNORA57 0 +SNORD15A 0 +SNORD15B 0 +SNX15 2 +SNX32 0 +SORL1 1 +SPA17 0 +SPCS2 1 +SPDYC 5 +SPON1 4 +SPTY2D1-AS1 0 +SRSF8 0 +SSH3 0 +SSSCA1 0 +ST14 2 +ST3GAL4 1 +STIM1 0 +STIP1 1 +STT3A 4 +STX3 3 +SWAP70 2 +SYT12 0 +SYT8 0 +SYT9 1 +TAF6L 0 +TAGLN 0 +TALDO1 6 +TBC1D10C 0 +TBCEL 2 +TBRG1 0 +TCIRG1 0 +TCP11L1 0 +TEAD1 3 +TECTA 9 +TEX12 0 +TEX40 0 +THRSP 0 +TIGD3 0 +TIMM10B 3 +TIRAP 0 +TM7SF2 0 +TMEM109 4 +TMEM126A 3 +TMEM126B 0 +TMEM132A 0 +TMEM133 0 +TMEM135 1 +TMEM136 0 +TMEM138 3 +TMEM151A 0 +TMEM179B 0 +TMEM216 0 +TMEM25 0 +TMEM45B 0 +TMEM80 3 +TMEM86A 0 +TMEM9B-AS1 0 +TMPRSS4 0 +TMX2 3 +TMX2-CTNND1 0 +TNNI2 0 +TNNT3 0 +TOLLIP-AS1 0 +TPBGL 0 +TPCN2 0 +TRAPPC4 0 +TRIM22 0 +TRIM34 0 +TRIM44 0 +TRIM48 0 +TRIM49B 0 +TRIM49C 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM51 0 +TRIM53AP 0 +TRIM6 10 +TRIM6-TRIM34 0 +TRIM64 0 +TRIM77 38 +TRPC2 0 +TSGA10IP 0 +TSKU 0 +TSPAN18 4 +TSPAN32 0 +TSPAN4 0 +TSSC2 0 +TSSC4 1 +TTC12 2 +TTC17 1 +TTC36 0 +TTC9C 7 +TUB 0 +TUB-AS1 0 +TYR 0 +UBASH3B 0 +UBE4A 0 +UBTFL1 0 +UPK2 0 +UQCC3 0 +USP2-AS1 2 +USP35 1 +USP47 5 +UVRAG 0 +VEGFB 0 +VPS11 0 +VPS26B 0 +VPS51 0 +VWA5A 6 +WEE1 0 +WT1-AS 0 +WTAPP1 0 +YAP1 4 +ZBED5-AS1 0 +ZBTB16 5 +ZC3H12C 0 +ZDHHC13 1 +ZDHHC5 7 +ZFP91 1 +ZFP91-CNTF 0 +ZFPL1 0 +ZNF143 9 +ZNF215 38 +ZNF408 2 +ZP1 4 +A2M-AS1 0 +A2ML1 2 +AACS 2 +ACACB 0 +ACAD10 0 +ACADS 0 +ACSM4 0 +ACSS3 0 +ACTR6 0 +ACVR1B 21 +ACVRL1 0 +ADAM1A 0 +ADIPOR2 6 +AEBP2 0 +AGAP2-AS1 0 +ALDH2 0 +ALG10 0 +ALG10B 0 +ALX1 0 +AMDHD1 0 +AMHR2 0 +ANKRD13A 3 +ANKRD33 0 +ANO4 0 +ANO6 8 +ANP32D 0 +APAF1 1 +APOLD1 0 +AQP2 0 +AQP5 0 +AQP6 0 +ARHGEF25 0 +ARID2 7 +ARL6IP4 0 +ARNTL2 0 +ASCL1 0 +ASCL4 0 +ASIC1 0 +ATF1 0 +ATF7IP 6 +ATG101 0 +ATN1 0 +ATP2A2 3 +ATP6V0A2 0 +ATXN7L3B 5 +B3GNT4 2 +B4GALNT3 0 +BCDIN3D-AS1 0 +BCL2L14 0 +BCL7A 1 +BICD1 0 +BLOC1S1 0 +BLOC1S1-RDH5 0 +BRI3BP 0 +BTBD11 0 +C12orf10 0 +C12orf29 2 +C12orf40 1 +C12orf45 0 +C12orf5 0 +C12orf54 0 +C12orf57 0 +C12orf60 0 +C12orf65 12 +C12orf74 0 +C12orf75 0 +C1RL-AS1 0 +C1S 0 +CABP1 0 +CACNA1C 0 +CACNA1C-IT2 0 +CACNA1C-IT3 0 +CACNB3 0 +CAND1 0 +CAPZA3 0 +CASC18 4 +CCDC184 0 +CCDC42B 0 +CCDC60 0 +CCDC62 0 +CCDC63 0 +CCDC64 0 +CCDC65 0 +CCDC77 10 +CCDC91 4 +CCND2 7 +CCT2 19 +CD27 0 +CD4 0 +CD9 2 +CDK2 0 +CDKN1B 0 +CEP83-AS1 0 +CHPT1 1 +CHST11 0 +CLEC12A 0 +CLEC12B 0 +CLEC2D 6 +CLEC4A 0 +CLEC4D 0 +CLEC6A 0 +CLEC9A 0 +CLIP1-AS1 0 +CLLU1 0 +CLSTN3 0 +CMAS 0 +CNOT2 9 +CNTN1 0 +COPS7A 0 +COPZ1 1 +COQ10A 0 +COX14 0 +COX6A1 3 +CPSF6 1 +CRADD 0 +CREBL2 0 +CUX2 0 +DAO 0 +DAZAP2 7 +DDX11 1 +DDX47 6 +DDX55 3 +DENND5B-AS1 0 +DENR 0 +DERA 1 +DGKA 0 +DIP2B 0 +DNAH10 9 +DNAJC22 0 +DNM1L 2 +DPPA3 268 +DRAM1 0 +DSTNP2 0 +DTX1 0 +DTX3 0 +DYNLL1 3 +DYRK2 0 +DYRK4 0 +EID3 2 +EIF4B 11 +ELK3 2 +EMG1 0 +EMP1 0 +ENO2 0 +EP400 2 +EP400NL 0 +ERBB3 0 +ERC1 7 +ERP29 0 +ESPL1 1 +ESYT1 0 +ETNK1 0 +ETV6 1 +FAM101A 0 +FAM138D 0 +FAM216A 0 +FAM222A 0 +FAM66C 0 +FAM71C 0 +FAR2 0 +FBRSL1 0 +FBXW8 0 +FGD4 3 +FGFR1OP2 0 +FICD 0 +FKBP4 1 +FLJ12825 0 +FLJ13224 0 +FLJ37505 0 +FLJ41278 0 +FOXJ2 0 +FRS2 0 +FZD10 0 +GABARAPL1 1 +GALNT8 0 +GAPDH 6 +GAS2L3 1 +GATC 0 +GDF11 0 +GLI1 0 +GLIPR1 7 +GLIPR1L1 0 +GLIPR1L2 0 +GLT1D1 0 +GNB3 0 +GOLT1B 7 +GPD1 1 +GPR133 0 +GPR162 0 +GPR182 0 +GPRC5A 0 +GRASP 0 +GTF2H3 0 +H1FNT 0 +H2AFJ 0 +HCFC2 2 +HELB 0 +HIGD1C 0 +HIP1R 1 +HMGA2 0 +HNF1A 0 +HNRNPA1 4 +HNRNPA1P10 0 +HOXC10 0 +HOXC11 0 +HOXC12 0 +HOXC13 0 +HOXC4 0 +HOXC5 0 +HOXC6 0 +HOXC8 0 +HOXC9 0 +HSD17B6 0 +HSP90B1 11 +HSPB8 0 +HTR7P1 0 +IAPP 0 +IFNG-AS1 0 +IFT81 0 +IGFBP6 0 +IKZF4 2 +IL23A 0 +INHBC 0 +INHBE 0 +IQSEC3 0 +IRAK3 0 +IRAK4 0 +ISCU 3 +ITFG2 0 +KCNA1 0 +KCNA5 0 +KCNA6 0 +KCNH3 0 +KCNMB4 0 +KIAA1033 5 +KIAA1467 2 +KIAA1551 16 +KIF5A 0 +KLHL42 3 +KLRD1 0 +KLRF1 0 +KLRF2 0 +KLRG1 0 +KNTC1 1 +KRT18 1 +KRT19P2 0 +KRT7 0 +KRT86 0 +LAG3 0 +LARP4 6 +LEMD3 0 +LEPREL2 0 +LETMD1 0 +LGR5 0 +LINC00173 0 +LINC00507 0 +LINC00592 0 +LINC00615 0 +LINC00935 0 +LINC00936 1 +LINC00941 0 +LINC00942 0 +LINC00943 0 +LINC00987 0 +LINC01252 2 +LINC01257 0 +LINC01405 0 +LINC01479 0 +LINC01489 0 +LINC01490 0 +LLPH-AS1 0 +LOC100049716 0 +LOC100128554 0 +LOC100129361 0 +LOC100130238 0 +LOC100240734 0 +LOC100288778 0 +LOC100288798 0 +LOC100335030 0 +LOC100506125 0 +LOC100506314 0 +LOC100506393 0 +LOC100507091 0 +LOC100507175 1 +LOC100507424 0 +LOC100652999 0 +LOC101593348 1 +LOC101927292 0 +LOC101927464 0 +LOC101927694 0 +LOC101927735 0 +LOC101927905 0 +LOC101928100 0 +LOC101928137 0 +LOC101928162 0 +LOC101928416 0 +LOC101928441 0 +LOC101928449 0 +LOC101928471 0 +LOC101928530 0 +LOC101928937 0 +LOC101929084 0 +LOC101929162 1 +LOC101929384 0 +LOC101930452 1 +LOC102724050 0 +LOC102724663 0 +LOC102724933 0 +LOC283352 0 +LOC338797 0 +LOC374443 2 +LOC400043 0 +LOC642846 0 +LOH12CR1 2 +LRMP 1 +LRP1 0 +LRRC23 1 +LRRC43 0 +LRRIQ1 0 +LRRK2 0 +LRTM2 0 +LTBR 0 +LYRM5 2 +LYZ 0 +MAP1LC3B2 1 +MAPKAPK5 0 +MARCH9 0 +MARS 4 +MBD6 1 +MDM2 1 +MED21 7 +METAP2 36 +METTL20 0 +METTL21B 0 +METTL25 0 +METTL7A 0 +METTL7B 0 +MFSD5 1 +MGST1 0 +MIR1228 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1251 0 +MIR1252 0 +MIR135A2 0 +MIR141 0 +MIR148B 0 +MIR1827 0 +MIR196A2 0 +MIR200C 0 +MIR331 0 +MIR3612 0 +MIR3652 0 +MIR3685 0 +MIR3908 0 +MIR3913-2 0 +MIR3922 0 +MIR3974 0 +MIR4497 0 +MIR4698 0 +MIR4699 0 +MIR4700 0 +MIR492 0 +MIR5188 0 +MIR548C 0 +MIR5692B 0 +MIR5700 0 +MIR6125 0 +MIR613 0 +MIR614 0 +MIR615 0 +MIR6502 0 +MIR6505 0 +MIR6757 0 +MIR6758 0 +MIR6760 0 +MIR6761 0 +MIR6762 0 +MIR6763 0 +MIR920 0 +MIRLET7I 0 +MLEC 1 +MLXIP 7 +MMP17 0 +MON2 1 +MRPL42 1 +MRPS35 3 +MSRB3 0 +MUC19 0 +MUCL1 0 +MVK 1 +MYBPC1 0 +MYF5 0 +MYF6 0 +MYL6 0 +MYL6B 0 +MYO1H 1 +NAB2 0 +NABP2 1 +NANOG 0 +NANOGNB 0 +NAV3 0 +NCAPD2 3 +NCKAP1L 0 +NDUFA9 0 +NECAP1 1 +NEDD1 11 +NEUROD4 0 +NOC4L 0 +NR1H4 0 +NR4A1 0 +NTF3 0 +NTS 0 +NUDT4 0 +NUDT4P1 0 +NUDT4P2 0 +NUP107 4 +NXPH4 2 +OAS1 0 +OAS2 0 +OAS3 1 +OGFOD2 0 +OR10A7 0 +OR10P1 0 +OR2AP1 0 +OR6C1 0 +OR6C2 0 +OR6C3 0 +OR6C4 0 +OR6C65 0 +OR6C68 0 +OR6C74 0 +OR6C75 0 +OR6C76 0 +OR7E47P 0 +OR8S1 0 +OR9K2 0 +ORAI1 4 +ORMDL2 1 +OS9 3 +OTOGL 0 +OVCH1-AS1 0 +P2RX2 0 +P2RX4 0 +P2RX7 0 +PA2G4 10 +PARPBP 2 +PCBP2 2 +PCBP2-OT1 1 +PCED1B 0 +PDE1B 0 +PDE3A 1 +PDE6H 0 +PDZRN4 0 +PEBP1 8 +PEX5 0 +PFDN5 2 +PFKM 0 +PGAM1P5 0 +PGAM5 2 +PHC1 0 +PIK3C2G 0 +PIP4K2C 2 +PIWIL1 1 +PLBD1-AS1 0 +PLBD2 0 +PLEKHA5 2 +PLEKHG6 0 +PLEKHG7 0 +PLXNC1 1 +POLR3B 5 +PPFIBP1 0 +PPHLN1 17 +PRH2 0 +PRKAB1 1 +PRMT8 0 +PRPF40B 0 +PRPH 0 +PRR13 2 +PSMD9 6 +PTMS 0 +PTPN11 2 +PTPN6 0 +PTPRO 0 +PTPRQ 0 +PUS1 0 +PWP1 34 +PXMP2 0 +PXN-AS1 0 +PYROXD1 1 +RAB21 1 +RAB3IP 0 +RAB5B 18 +RAD51AP1 15 +RAD9B 0 +RAN 18 +RAP1B 4 +RASSF3 6 +RASSF8 1 +RBMS2 2 +RDH5 0 +REP15 0 +RERG-AS1 3 +RFC5 2 +RFX4 0 +RHNO1 1 +RIC8B 0 +RIMKLB 3 +RITA1 0 +RMST 0 +RNF10 19 +RNF34 134 +RNFT2 0 +RPH3A 6 +RPL13AP20 0 +RPL13P5 0 +RPL41 0 +RPS26 0 +SCARNA10 0 +SCN8A 0 +SCYL2 2 +SDSL 0 +SETD1B 3 +SETD8 0 +SFSWAP 4 +SH2B3 1 +SHMT2 3 +SIRT4 0 +SKP1P2 0 +SLC16A7 0 +SLC17A8 0 +SLC25A3 4 +SLC26A10 0 +SLC35E3 0 +SLC39A5 0 +SLC48A1 0 +SLC4A8 0 +SLCO1B1 0 +SLCO1B3 0 +SLCO1B7 0 +SLCO1C1 0 +SMARCD1 0 +SMCO2 0 +SNORA49 0 +SNORA53 0 +SNRNP35 1 +SNRPF 5 +SOAT2 0 +SOCS2 4 +SP1 0 +SPATS2 0 +SPIC 0 +SPRYD4 1 +SPX 0 +SRGAP1 3 +SRRM4 0 +SSPN 0 +STAB2 1 +STK38L 0 +STRAP 5 +SUDS3 14 +SUOX 0 +SYT1 2 +TAPBPL 0 +TARBP2 0 +TBC1D15 3 +TBC1D30 0 +TBK1 1 +TBX5-AS1 0 +TCHP 7 +TCP11L2 0 +TCTN1 1 +TCTN2 0 +TDG 0 +TEAD4 1 +TENC1 0 +TESC-AS1 0 +THAP2 0 +TMBIM6 24 +TMED2 4 +TMEM106C 1 +TMEM117 0 +TMEM120B 3 +TMEM132B 4 +TMEM132C 0 +TMEM19 0 +TMEM198B 0 +TMEM233 0 +TMEM263 0 +TMEM5 0 +TMEM52B 0 +TMPO 7 +TMPRSS12 0 +TMTC2 0 +TMTC3 0 +TPCN1 1 +TPH2 0 +TPI1 2 +TRAFD1 14 +TRHDE 0 +TROAP 13 +TSFM 1 +TSPAN11 0 +TSPAN31 0 +TSPAN9 0 +TUBA1C 201 +TULP3 14 +TXNRD1 0 +UBE3B 2 +ULK1 2 +UNC119B 0 +UNG 25 +USP15 0 +USP30 0 +USP5 2 +UTP20 0 +VEZT 0 +WDR66 0 +WNK1 3 +WNT1 0 +WNT5B 0 +WSCD2 0 +XPOT 1 +XRCC6BP1 0 +YEATS4 23 +ZC3H10 0 +ZDHHC17 0 +ZNF10 5 +ZNF140 0 +ZNF26 0 +ZNF268 0 +ZNF664 4 +ZNF664-FAM101A 0 +ZNF705A 0 +ZNF740 0 +ZNF84 0 +ABHD13 1 +AKAP11 18 +ALG11 0 +ALOX5AP 0 +ARHGEF7 7 +ARL11 0 +ATP11A 2 +ATP11AUN 0 +ATP12A 0 +ATP5EP2 0 +ATP8A2 0 +ATXN8OS 0 +B3GALTL 0 +BIVM 0 +BIVM-ERCC5 0 +BORA 0 +BRCA2 8 +BTF3P11 0 +C1QTNF9 0 +C1QTNF9B-AS1 0 +CARKD 6 +CCDC70 0 +CCNA1 0 +CDADC1 1 +CDC16 2 +CDK8 2 +CHAMP1 3 +CKAP2 10 +CLDN10 1 +CLN5 0 +CLYBL 0 +COG3 0 +COG6 2 +COL4A2 0 +CPB2-AS1 0 +CTAGE10P 0 +CUL4A 0 +CYSLTR2 0 +DAOA 0 +DGKH 0 +DIAPH3-AS1 0 +DIAPH3-AS2 0 +DLEU1 3 +DLEU7-AS1 0 +DNAJC15 6 +DNAJC3 15 +DOCK9-AS1 0 +DOCK9-AS2 0 +EDNRB-AS1 5 +EEF1DP3 0 +ENOX1-AS2 0 +ERCC5 0 +EXOSC8 1 +F10 0 +F7 0 +FAM124A 1 +FAM216B 0 +FARP1 2 +FGF14-AS2 1 +FGF9 3 +FKSG29 0 +FNDC3A 0 +FREM2 0 +FRY 0 +GAS6-AS1 0 +GAS6-AS2 0 +GPALPP1 0 +GPC5 0 +GPC6 4 +GPR180 0 +GRK1 0 +GRTP1-AS1 1 +GSX1 0 +GTF2F2 12 +GTF3A 0 +HNRNPA1L2 3 +HS6ST3 0 +HTR2A-AS1 0 +IFT88 0 +IL17D 0 +ING1 2 +INTS6-AS1 0 +IPO5 2 +IRG1 0 +ITGBL1 1 +ITM2B 0 +KCNRG 0 +KL 0 +KLF5 0 +LACC1 0 +LAMP1 5 +LINC00284 0 +LINC00327 0 +LINC00332 0 +LINC00333 0 +LINC00343 0 +LINC00347 0 +LINC00348 0 +LINC00351 0 +LINC00354 0 +LINC00366 0 +LINC00368 0 +LINC00378 0 +LINC00381 0 +LINC00382 0 +LINC00383 0 +LINC00392 0 +LINC00398 0 +LINC00400 0 +LINC00403 0 +LINC00408 0 +LINC00421 0 +LINC00433 0 +LINC00442 0 +LINC00443 0 +LINC00446 0 +LINC00452 0 +LINC00460 0 +LINC00540 0 +LINC00544 0 +LINC00545 0 +LINC00547 0 +LINC00551 0 +LINC00558 1 +LINC00676 0 +LINC01046 0 +LINC01049 0 +LINC01053 0 +LINC01070 0 +LINC01080 0 +LMO7 14 +LMO7DN 0 +LOC101926897 0 +LOC101927284 0 +LOC101929140 0 +LOC101929259 0 +LOC101929657 0 +LOC103191607 0 +LRCH1 4 +LRRC63 0 +MBNL2 0 +MCF2L 0 +MED4-AS1 0 +MEDAG 0 +METTL21EP 0 +MIPEPP3 0 +MIR17 0 +MIR17HG 0 +MIR18A 0 +MIR19A 0 +MIR19B1 0 +MIR20A 0 +MIR2276 0 +MIR3170 0 +MIR4306 0 +MIR4703 0 +MIR5007 0 +MIR621 0 +MIR622 0 +MIR623 0 +MIR759 0 +MIR8073 0 +MIR8075 0 +MIR92A1 0 +MLNR 0 +MPHOSPH8 34 +MRPL57 0 +MTUS2 0 +MYCBP2-AS1 0 +MYO16 0 +NAA16 0 +NALCN-AS1 0 +NBEA 0 +NDFIP2 2 +NHLRC3 1 +NUDT15 1 +NUPL1 1 +OLFM4 1 +OR7E156P 0 +OR7E37P 0 +PABPC3 1 +PAN3 3 +PCCA 1 +PCDH17 0 +PCDH9-AS2 0 +PCDH9-AS3 0 +PCDH9-AS4 0 +PDS5B 4 +PDX1 0 +PHF11 0 +PIBF1 1 +POLR1D 8 +POMP 3 +PROZ 0 +PRR20A 0 +PRR20B 0 +PRR20C 0 +PRR20D 0 +PRR20E 0 +RAP2A 0 +RASL11A 2 +RB1 0 +RBM26-AS1 0 +RFC3 0 +RFXAP 0 +RGCC 0 +RNASEH2B 0 +RNF17 3 +RNF219-AS1 0 +RNU6-52P 0 +RPL21 0 +RPL21P28 0 +RXFP2 0 +SACS-AS1 0 +SAP18 6 +SCEL 1 +SERP2 0 +SERPINE3 0 +SERTM1 0 +SETDB2 0 +SGCG 0 +SLAIN1 1 +SLC25A15 0 +SLC25A30-AS1 0 +SLITRK5 0 +SMIM2-AS1 0 +SNORA27 0 +SNORD102 0 +SOX1 0 +SOX21-AS1 0 +SPACA7 0 +SPATA13 0 +SPERT 0 +SPG20OS 0 +ST13P4 0 +STARD13-AS 0 +SUGT1 16 +TDRD3 0 +TEX26 0 +TEX29 0 +TFDP1 3 +TM9SF2 0 +TMCO3 0 +TMEM255B 0 +TNFRSF19 0 +TNFSF11 0 +TNFSF13B 0 +TPP2 3 +TPT1-AS1 0 +TPTE2P3 0 +TPTE2P6 0 +TRIM13 1 +TSC22D1-AS1 0 +UBAC2 0 +UCHL3 1 +UFM1 2 +UPF3A 0 +USP12-AS1 0 +USP12-AS2 0 +USPL1 0 +UTP14C 0 +VWA8-AS1 0 +WASF3 1 +WBP4 3 +WDFY2 1 +ZIC2 0 +ZMYM2 7 +ABHD12B 1 +ABHD4 0 +ACOT1 0 +ACOT2 0 +ACOT4 1 +ACOT6 0 +ACTN1-AS1 0 +ACTR10 0 +ADAM21 0 +ADCK1 0 +ADSSL1 0 +AHSA1 17 +AK7 0 +AKAP5 0 +AKAP6 1 +AMN 0 +ANG 0 +AP4S1 0 +AP5M1 0 +APEX1 6 +APOPT1 0 +ARF6 2 +ARG2 15 +ARHGAP5 2 +ARHGEF40 0 +ARID4A 11 +ASPG 0 +ATL1 0 +ATP5S 0 +BATF 0 +BCL2L2 0 +BCL2L2-PABPN1 0 +BDKRB1 0 +BDKRB2 0 +BMS1P17 0 +BMS1P18 0 +BRMS1L 0 +BTBD6 0 +C14orf119 4 +C14orf132 0 +C14orf159 0 +C14orf166 11 +C14orf169 0 +C14orf177 0 +C14orf178 2 +C14orf180 0 +C14orf23 0 +C14orf28 0 +C14orf79 0 +C14orf80 0 +CALM1 94 +CCDC176 1 +CCNK 6 +CDKN3 0 +CEP170B 1 +CGRRF1 1 +CHGA 1 +CHURC1 0 +CHURC1-FNTB 19 +CIPC 0 +CMTM5 0 +COCH 2 +COQ6 1 +COX8C 0 +CPNE6 0 +CPSF2 14 +CRIP1 0 +CRIP2 0 +CTAGE5 2 +CYP46A1 0 +DAAM1 47 +DACT1 0 +DCAF11 0 +DCAF4 0 +DHRS2 0 +DHRS4 0 +DHRS4L1 0 +DHRS4L2 0 +DICER1-AS1 0 +DIO2-AS1 0 +DIO3 0 +DLK1 0 +DLST 3 +DNAL1 1 +DUXAP10 0 +DYNC1H1 0 +ECRP 0 +EDDM3A 0 +EDDM3B 0 +EIF2B2 1 +EIF2S1 3 +EIF5 3 +EML1 0 +ESRRB 0 +EVL 0 +EXD2 2 +EXOC3L4 0 +FAM177A1 3 +FAM179B 0 +FAM181A 0 +FAM71D 0 +FANCM 3 +FBXO34 4 +FCF1 1 +FITM1 0 +FLJ22447 0 +FLRT2 0 +FLVCR2 3 +FNTB 1 +FOS 1 +FOXG1 0 +FOXN3-AS1 0 +FOXN3-AS2 0 +FRMD6 1 +FUT8 5 +G2E3 0 +GALNT16 0 +GEMIN2 0 +GLRX5 1 +GMPR2 1 +GNG2 1 +GOLGA5 7 +GPATCH2L 1 +GPHN 1 +GPR137C 0 +GPR65 0 +GSKIP 1 +GSTZ1 0 +HHIPL1 0 +HIF1A 3 +HSPA2 0 +IFI27 0 +IFI27L1 1 +IFT43 0 +IGBP1P1 0 +IL25 0 +INF2 0 +INSM2 0 +IRF9 0 +ISCA2 0 +ITPK1-AS1 0 +JDP2 1 +JKAMP 0 +KCNK13 0 +KHNYN 0 +KIAA0125 0 +KIAA0247 15 +KIAA0391 1 +KIAA0586 3 +KIF26A 0 +KLC1 2 +KLHDC1 1 +KLHDC2 5 +KTN1 26 +LGALS3 0 +LIN52 3 +LINC00221 1 +LINC00226 0 +LINC00238 0 +LINC00239 0 +LINC00521 0 +LINC00523 0 +LINC00609 0 +LINC00618 0 +LINC00637 0 +LINC00638 0 +LINC00640 0 +LINC00642 0 +LINC00643 0 +LINC00645 0 +LINC00871 0 +LINC00911 0 +LINC01146 0 +LINC01220 0 +LINC01296 0 +LINC01500 0 +LOC100506321 0 +LOC100506476 0 +LOC100508046 0 +LOC101926933 0 +LOC101927045 0 +LOC101927081 0 +LOC101927124 0 +LOC101927178 0 +LOC101927620 0 +LOC101928767 0 +LOC101928909 0 +LOC101929080 0 +LOC101929241 0 +LOC102723354 0 +LOC102724814 0 +LOC102724890 0 +LOC145474 0 +LOC254028 0 +LOC283575 0 +LOC283585 0 +LOC644919 1 +LRFN5 0 +LRP10 0 +LRR1 4 +LRRC16B 0 +LRRC74A 0 +LRRC9 0 +LTB4R 0 +LTB4R2 0 +MAPK1IP1L 1 +MARK3 6 +MEG3 0 +MEG8 0 +MEG9 0 +METTL17 0 +MGAT2 1 +MIA2 0 +MIPOL1 0 +MIR1185-1 0 +MIR1185-2 0 +MIR1193 0 +MIR1197 0 +MIR1260A 0 +MIR127 0 +MIR134 0 +MIR136 0 +MIR154 0 +MIR203A 0 +MIR2392 0 +MIR299 0 +MIR300 0 +MIR323A 0 +MIR323B 0 +MIR329-1 0 +MIR329-2 0 +MIR337 0 +MIR345 0 +MIR369 0 +MIR376A1 0 +MIR376A2 0 +MIR376B 0 +MIR376C 0 +MIR377 0 +MIR379 0 +MIR380 0 +MIR381 0 +MIR381HG 0 +MIR382 0 +MIR409 0 +MIR410 0 +MIR411 0 +MIR412 0 +MIR4307 0 +MIR4309 0 +MIR431 0 +MIR432 0 +MIR433 0 +MIR4505 0 +MIR4706 0 +MIR485 0 +MIR487A 0 +MIR487B 0 +MIR493 0 +MIR494 0 +MIR495 0 +MIR496 0 +MIR539 0 +MIR541 0 +MIR543 0 +MIR5698 0 +MIR6076 0 +MIR654 0 +MIR655 0 +MIR656 0 +MIR665 0 +MIR668 0 +MIR6764 0 +MIR758 0 +MIR770 0 +MIR7843 0 +MIR8071-1 0 +MIR8071-2 0 +MIR889 0 +MMP14 0 +MNAT1 3 +MPP5 4 +MRPL52 0 +MTA1 0 +MTHFD1 0 +NAA30 7 +NFATC4 0 +NGDN 5 +NKX2-1-AS1 0 +NOP9 0 +NPAS3 0 +NRXN3 0 +NUBPL 0 +NYNRIN 0 +OR11G2 0 +OR11H12 0 +OR11H4 0 +OR11H6 0 +OR4E2 0 +OR4K1 0 +OR4K15 0 +OR4K17 0 +OR4K2 0 +OR4K5 0 +OR4L1 0 +OR4M1 0 +OR4N2 0 +OR4N5 0 +OR4Q3 0 +OTUB2 0 +OTX2-AS1 0 +OXA1L 5 +PABPN1 1 +PACS2 0 +PAPLN 0 +PAPOLA 7 +PARP2 0 +PAX9 2 +PCK2 0 +PCNX 0 +PCNXL4 3 +PELI2 1 +PLD4 0 +PLEKHD1 0 +PLEKHG3 1 +PLEKHH1 0 +PNN 25 +PNP 0 +POTEG 0 +PPM1A 6 +PPP1R36 0 +PPP2R5C 10 +PPP4R4 2 +PRKCH 1 +PRMT5-AS1 0 +PRPF39 0 +PSEN1 2 +PSMA3 12 +PSMA6 0 +PSMB11 0 +PSMC1 0 +PSMC6 0 +PSME1 4 +PTGDR 0 +PTGER2 0 +PTGR2 0 +RAD51B 0 +RBM25 7 +RCOR1 7 +RDH12 0 +REC8 0 +REM2 0 +RGS6 0 +RHOJ 0 +RIN3 0 +RNASE10 0 +RNASE2 0 +RNASE3 0 +RNASE4 0 +RNASE6 0 +RNASE7 0 +RNASE8 0 +RNF212B 0 +RNF31 0 +RNU6-2 0 +RPGRIP1 0 +RPL13AP3 0 +SAMD15 1 +SAMD4A 1 +SCFD1 1 +SERPINA13P 0 +SERPINA3 0 +SERPINA4 0 +SERPINA5 0 +SIPA1L1 5 +SIVA1 1 +SIX6 0 +SLC24A4 0 +SLC25A21-AS1 0 +SLC25A47 0 +SLC38A6 0 +SLC39A2 0 +SLC39A9 0 +SLIRP 3 +SMOC1 0 +SNAPC1 2 +SNHG24 0 +SNORA11B 0 +SNORA28 0 +SNORD113-1 0 +SNORD113-2 0 +SNORD113-4 0 +SNORD113-5 0 +SNORD113-6 0 +SNORD113-7 0 +SNORD113-9 0 +SNORD114-1 0 +SNORD114-10 0 +SNORD114-11 0 +SNORD114-12 0 +SNORD114-13 0 +SNORD114-14 0 +SNORD114-15 0 +SNORD114-16 0 +SNORD114-17 0 +SNORD114-18 0 +SNORD114-19 0 +SNORD114-2 0 +SNORD114-20 0 +SNORD114-21 0 +SNORD114-22 0 +SNORD114-23 0 +SNORD114-24 0 +SNORD114-25 0 +SNORD114-26 0 +SNORD114-27 0 +SNORD114-28 0 +SNORD114-29 0 +SNORD114-3 0 +SNORD114-30 0 +SNORD114-31 0 +SNORD114-4 0 +SNORD114-5 0 +SNORD114-6 0 +SNORD114-7 0 +SNORD114-8 0 +SNORD114-9 0 +SNORD127 0 +SNORD56B 0 +SOCS4 3 +SPATA7 1 +SRP54 1 +SRSF5 15 +SSTR1 0 +STYX 0 +SYNE2 33 +SYT16 8 +TCL1B 2 +TCL6 0 +TDP1 12 +TDRD9 0 +TECPR2 12 +TEX22 0 +THTPA 2 +TMEM121 0 +TMEM251 0 +TMEM253 0 +TMEM260 0 +TMEM63C 0 +TMX1 2 +TNFAIP2 0 +TOMM20L 0 +TOX4 3 +TPPP2 0 +TRAF3 0 +TRMT61A 0 +TSHR 0 +TSSK4 0 +TTC8 0 +TTC9 0 +TTLL5 0 +TUNAR 0 +UBR7 2 +UNC79 0 +VASH1 0 +VRK1 7 +VRTN 1 +VSX2 0 +WDR20 7 +WDR25 1 +YLPM1 6 +YY1 1 +ZBTB1 0 +ZBTB42 0 +ZC2HC1C 0 +ZC3H14 5 +ZFYVE21 3 +ZNF410 1 +ZNF839 0 +ABHD17C 1 +ABHD2 6 +ACAN 0 +ADAL 2 +ADAMTS7P1 0 +ADAMTSL3 1 +ADPGK-AS1 0 +AEN 0 +AGBL1 0 +AKAP13 11 +ALDH1A3 0 +ALPK3 0 +ANKDD1A 0 +ANKRD34C 0 +ANP32AP1 0 +AP4E1 0 +APBA2 0 +APH1B 0 +AQP9 0 +ARHGAP11A 5 +ARHGAP11B 0 +ARID3B 3 +ARIH1 21 +ARNT2 0 +ARRDC4 0 +ASB7 0 +ASB9P1 0 +B2M 0 +BAHD1 0 +BBS4 2 +BLM 0 +BLOC1S6 1 +BUB1B 19 +C15orf26 0 +C15orf27 0 +C15orf32 0 +C15orf37 0 +C15orf39 0 +C15orf41 0 +C15orf43 0 +C15orf48 0 +C15orf53 0 +C15orf54 0 +C15orf61 1 +C15orf62 0 +C15orf65 0 +C2CD4A 0 +CAPN3 0 +CASC4 1 +CASC5 5 +CCDC33 0 +CCNB2 52 +CCNDBP1 1 +CD276 0 +CEMIP 0 +CGNL1 0 +CHAC1 3 +CHD2 5 +CHEK2P2 3 +CHP1 1 +CHRM5 0 +CHRNA5 1 +CHRNA7 0 +CHST14 0 +CKMT1A 0 +CKMT1B 0 +CLK3 2 +COMMD4 1 +CORO2B 0 +CPLX3 0 +CRABP1 0 +CRTC3 0 +CSK 1 +CTDSPL2 1 +CTXN2 0 +CYFIP1 2 +CYP1A2 0 +DCAF13P3 0 +DIS3L 0 +DISP2 0 +DKFZP434L187 0 +DLL4 0 +DNAJA4 5 +DNM1P41 0 +DPH6-AS1 0 +DTWD1 1 +DUOX1 0 +DUOXA2 0 +DUT 0 +EFTUD1P1 0 +EID1 2 +EIF2AK4 2 +EIF3J 1 +EMC4 0 +FAH 0 +FAM103A1 0 +FAM138E 0 +FAM154B 0 +FAM63B 4 +FAM81A 2 +FAM98B 0 +FAN1 1 +FANCI 8 +FBXL22 0 +FBXO22 0 +FEM1B 0 +FES 0 +FGF7 0 +FOXB1 0 +FURIN 2 +GABPB1-AS1 0 +GABRA5 0 +GABRG3 0 +GALK2 0 +GANC 0 +GCHFR 1 +GCNT3 8 +GCOM1 1 +GDPGP1 0 +GLCE 0 +GLDN 1 +GOLGA2P10 0 +GOLGA6B 0 +GOLGA6C 0 +GOLGA6D 0 +GOLGA6L1 0 +GOLGA6L17P 0 +GOLGA6L22 0 +GOLGA6L4 0 +GOLGA6L9 0 +GOLGA8CP 0 +GOLGA8EP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8H 1 +GOLGA8I 0 +GOLGA8J 0 +GOLGA8N 0 +GOLGA8S 0 +GOLGA8T 0 +GREM1 0 +HAUS2 0 +HERC2P10 0 +HERC2P7 0 +HERC2P9 0 +HEXA-AS1 0 +HMG20A 2 +HMGN2P46 2 +HSP90B2P 0 +HYKK 0 +HYPK 2 +IDH3A 0 +IGF1R 7 +IL16 2 +INAFM2 0 +IPW 0 +IQCH 0 +IQGAP1 27 +IREB2 1 +ISG20 0 +ISL2 0 +ISLR 0 +ISLR2 0 +ITPKA 0 +IVD 4 +JMJD7 1 +JMJD7-PLA2G4B 0 +KBTBD13 0 +KIAA1024 0 +KIF23 8 +KLF13 0 +KNSTRN 7 +LACTB 0 +LDHAL6B 0 +LINC00052 0 +LINC00277 0 +LINC00593 0 +LINC00924 0 +LINC00925 0 +LINC00926 0 +LINC00929 0 +LINC00933 0 +LINC01169 0 +LINC01193 0 +LINC01413 0 +LIPC 0 +LMAN1L 0 +LOC100128714 0 +LOC100129973 0 +LOC100288637 0 +LOC100289656 0 +LOC100419583 0 +LOC100507217 1 +LOC100996255 0 +LOC100996876 0 +LOC101926911 0 +LOC101926928 0 +LOC101927079 0 +LOC101927129 0 +LOC101927153 0 +LOC101928174 0 +LOC101928227 0 +LOC101928363 0 +LOC101928388 0 +LOC101928784 1 +LOC101928988 0 +LOC101929221 0 +LOC101929478 0 +LOC101929655 1 +LOC101929690 0 +LOC101929765 0 +LOC102723320 0 +LOC102723344 0 +LOC102724034 0 +LOC103171574 0 +LOC145837 1 +LOC253044 0 +LOC283692 0 +LOC440300 0 +LOC440311 1 +LOC646938 0 +LOC727751 0 +LOC727924 0 +LOC729739 0 +LOXL1 0 +LRRC28 1 +LRRC49 2 +LRRK1 1 +MAN2A2 0 +MAP1A 2 +MAP2K1 30 +MAP2K5 0 +MAPK6 3 +MAPKBP1 3 +MCTP2 0 +MEF2A 0 +MESDC1 0 +MESP2 0 +MGA 14 +MIR1179 0 +MIR1469 0 +MIR147B 0 +MIR184 0 +MIR190A 0 +MIR3175 0 +MIR4311 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4510 0 +MIR4515 0 +MIR4712 0 +MIR4713 0 +MIR4714 0 +MIR5003 0 +MIR548H4 0 +MIR5572 0 +MIR6085 0 +MIR626 0 +MIR630 0 +MIR6859-1 0 +MIR6859-2 0 +MIR7-2 0 +MIR9-3 0 +MKRN3 0 +MORF4L1 15 +MPI 0 +MRPS11 0 +MYZAP 0 +NDUFAF4P1 0 +NEIL1 0 +NEO1 15 +NGRN 1 +NOX5 1 +NPAP1 0 +NR2E3 0 +NR2F2 2 +NTRK3-AS1 0 +NUSAP1 3 +NUTM1 0 +ODF3L1 0 +OIP5-AS1 1 +OR4F13P 0 +OR4F15 0 +OR4F6 0 +OR4M2 0 +OR4N3P 0 +OR4N4 0 +PAK6 2 +PAQR5 2 +PDCD6IPP2 0 +PDE8A 0 +PDIA3 0 +PGBD4 0 +PHGR1 0 +PIAS1 19 +PIGB 0 +PLA2G4B 0 +PLEKHO2 0 +PML 1 +POLR2M 0 +PPCDC 0 +PRC1-AS1 0 +PSMA4 7 +PSTPIP1 3 +PTPLAD1 0 +PWAR1 0 +PWAR4 0 +PWAR5 1 +PWARSN 1 +PWRN1 0 +RAB11A 6 +RAB8B 3 +RAD51 1 +RCCD1 4 +RCN2 0 +REC114 10 +REREP3 0 +RNF111 11 +RNU6-28P 0 +RPLP1 29 +RPUSD2 0 +RTF1 12 +RYR3 2 +SCAMP5 0 +SCAND2P 0 +SCARNA15 0 +SCG3 0 +SCG5 0 +SEMA4B 1 +SEMA6D 0 +SENP8 3 +SERF2 9 +SERF2-C15ORF63 0 +SH2D7 0 +SH3GL3 0 +SKOR1 2 +SLC12A1 0 +SLC24A1 0 +SLC24A5 0 +SLC27A2 0 +SLC28A1 0 +SLC28A2 0 +SLC51B 0 +SLCO3A1 10 +SMAD3 1 +SMAD6 1 +SNAP23 2 +SNHG21 0 +SNORD107 0 +SNORD108 0 +SNORD109A 0 +SNORD109B 0 +SNORD115-1 0 +SNORD115-10 0 +SNORD115-11 0 +SNORD115-12 0 +SNORD115-13 0 +SNORD115-14 0 +SNORD115-15 0 +SNORD115-16 0 +SNORD115-17 0 +SNORD115-18 0 +SNORD115-19 0 +SNORD115-2 0 +SNORD115-20 0 +SNORD115-21 0 +SNORD115-22 0 +SNORD115-23 0 +SNORD115-24 0 +SNORD115-25 0 +SNORD115-26 0 +SNORD115-27 0 +SNORD115-28 0 +SNORD115-29 0 +SNORD115-3 0 +SNORD115-30 0 +SNORD115-31 0 +SNORD115-32 0 +SNORD115-33 0 +SNORD115-34 0 +SNORD115-35 0 +SNORD115-36 0 +SNORD115-37 0 +SNORD115-38 0 +SNORD115-39 0 +SNORD115-4 0 +SNORD115-40 0 +SNORD115-41 0 +SNORD115-42 0 +SNORD115-43 0 +SNORD115-44 0 +SNORD115-45 0 +SNORD115-46 0 +SNORD115-47 0 +SNORD115-48 0 +SNORD115-5 0 +SNORD115-6 0 +SNORD115-7 0 +SNORD115-8 0 +SNORD115-9 0 +SNORD116-1 0 +SNORD116-10 0 +SNORD116-11 0 +SNORD116-12 0 +SNORD116-13 0 +SNORD116-14 0 +SNORD116-15 0 +SNORD116-16 0 +SNORD116-17 0 +SNORD116-18 0 +SNORD116-19 0 +SNORD116-2 0 +SNORD116-20 0 +SNORD116-21 0 +SNORD116-22 0 +SNORD116-23 0 +SNORD116-24 0 +SNORD116-25 0 +SNORD116-26 0 +SNORD116-27 0 +SNORD116-28 0 +SNORD116-29 0 +SNORD116-3 0 +SNORD116-30 0 +SNORD116-4 0 +SNORD116-5 0 +SNORD116-6 0 +SNORD116-7 0 +SNORD116-8 0 +SNORD116-9 0 +SNORD64 0 +SNRPN 0 +SNURF 0 +SNX1 1 +SNX22 1 +SNX33 0 +SORD 0 +SPATA5L1 0 +SPATA8 0 +SPESP1 0 +SPINT1 0 +SPRED1 2 +SQRDL 1 +SRP14-AS1 0 +ST8SIA2 0 +STARD9 0 +SV2B 0 +SYNM 1 +TBC1D21 0 +TCF12 0 +TEX9 0 +THBS1 0 +THSD4 3 +TICRR 5 +TLN2 6 +TM6SF1 0 +TMCO5A 0 +TMED3 0 +TMEM202 0 +TMEM62 0 +TMOD2 1 +TMOD3 1 +TPM1 1 +TRIM69 0 +TRIP4 1 +TTLL13 0 +TUBGCP4 6 +TUBGCP5 0 +TYRO3 0 +UBE2Q2 53 +UBE2Q2L 0 +UBE2Q2P2 0 +UBL7-AS1 2 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +UNC13C 62 +UNC45A 0 +USP3 1 +USP8 11 +VPS18 0 +WASH3P 0 +WDR76 4 +WDR93 0 +WHAMM 0 +WHAMMP2 0 +ZFAND6 16 +ZFYVE19 0 +ZNF592 0 +ZNF609 2 +ZNF710 0 +ZNF774 0 +ZSCAN2 2 +ZWILCH 1 +ABAT 2 +ABCA17P 1 +ABCC1 3 +ABCC6P1 32 +ACSF3 0 +ACSM2A 0 +ACSM3 0 +ACSM5 0 +ADAD2 0 +ADCY7 0 +AFG3L1P 1 +AHSP 0 +ALDOA 3 +ALG1 0 +AMDHD2 0 +ANKS4B 2 +APOBR 0 +AQP8 0 +ARHGDIG 0 +ARL2BP 0 +ARMC5 0 +ASPHD1 0 +ATF7IP2 1 +ATMIN 5 +ATP2A1 0 +ATP2C2 1 +ATP6V0C 1 +ATXN1L 5 +ATXN2L 13 +BAIAP3 0 +BANP 3 +BCKDK 0 +BCO1 2 +BEAN1 0 +BFAR 10 +C16orf45 1 +C16orf52 0 +C16orf59 1 +C16orf62 2 +C16orf70 2 +C16orf71 0 +C16orf72 8 +C16orf78 0 +C16orf82 0 +C16orf86 0 +C16orf92 0 +C16orf96 0 +CA7 0 +CACNA1H 0 +CACNG3 0 +CALB2 0 +CAPN15 0 +CAPNS2 0 +CBFB 3 +CCDC101 0 +CCDC113 0 +CCDC135 0 +CCL17 0 +CCL22 0 +CCNF 1 +CCP110 3 +CD19 0 +CDH1 5 +CDH13 0 +CDH15 0 +CDH3 15 +CDH5 2 +CDIPT-AS1 0 +CDK10 0 +CDT1 1 +CENPN 0 +CES1P1 0 +CES1P2 0 +CES2 0 +CES3 0 +CES4A 0 +CETP 0 +CHD9 2 +CHP2 0 +CHST4 0 +CHTF18 0 +CIITA 0 +CIRH1A 3 +CKLF 1 +CKLF-CMTM1 0 +CLDN9 0 +CLEC16A 3 +CLEC18A 0 +CLEC18C 0 +CLEC19A 0 +CLEC3A 0 +CLUAP1 3 +CLUHP3 0 +CMIP 0 +CMTM1 0 +CMTM2 0 +CMTM3 0 +CNEP1R1 1 +CNTNAP4 0 +COQ7 0 +COQ9 1 +CORO1A 0 +COX4I1 1 +CPNE2 0 +CPNE7 0 +CRAMP1L 0 +CRISPLD2 5 +CRYM-AS1 0 +CTCF 2 +CTF1 0 +CTRB1 0 +CTU2 0 +CX3CL1 0 +CYB5B 2 +CYLD 1 +DCTN5 8 +DDX11L10 0 +DDX19A 4 +DDX19B 0 +DECR2 0 +DEF8 1 +DHODH 0 +DHX38 3 +DNAAF1 0 +DNAJA3 0 +DNASE1 0 +DNASE1L2 0 +DPEP1 0 +DUS2 0 +DYNLRB2 0 +E2F4 3 +E4F1 0 +EDC4 1 +EEF2K 3 +EIF3C 0 +EIF3CL 0 +ELMO3 0 +EME2 0 +ERCC4 1 +FAHD1 0 +FAM173A 0 +FAM195A 0 +FAM65A 0 +FBRS 1 +FBXL19 1 +FBXL8 0 +FLJ21408 0 +FLJ26245 0 +FLJ30679 0 +FLJ42627 0 +FLYWCH1 0 +FLYWCH2 0 +FOXC2 0 +FOXF1 0 +FOXL1 0 +FTO 0 +FTO-IT1 0 +FUK 0 +FUS 3 +GABARAPL2 3 +GAN 0 +GAS8 0 +GFER 1 +GINS3 6 +GLIS2 0 +GNAO1 0 +GNPTG 0 +GPR114 0 +GPR56 0 +GPR97 0 +GPT2 2 +GSE1 7 +HAGHL 0 +HAS3 10 +HBA1 0 +HBA2 0 +HBM 0 +HBQ1 0 +HBZ 0 +HCCAT5 0 +HEATR3 0 +HERPUD1 3 +HMOX2 1 +HN1L 1 +HP 0 +HPR 0 +HS3ST2 0 +HS3ST4 0 +HSBP1 1 +HSD11B2 0 +HSD17B2 0 +HSD3B7 0 +HSF4 0 +IL17C 0 +IL21R 0 +IL32 0 +IL34 0 +IL4R 1 +INO80E 0 +IQCK 0 +IRF8 6 +IRX5 0 +IRX6 0 +IST1 0 +ITFG3 1 +ITGAD 0 +ITGAL 0 +ITGAM 0 +ITGAX 0 +ITPRIPL2 1 +JPH3 3 +KAT8 0 +KATNB1 4 +KCTD5 13 +KDM8 0 +KIAA0513 0 +KIAA0556 0 +KIF22 3 +KLHL36 1 +KREMEN2 0 +LAT 0 +LCMT1 13 +LINC00304 0 +LINC00311 0 +LINC00514 0 +LINC00920 0 +LINC00921 0 +LINC01082 0 +LMF1-AS1 0 +LOC100128770 0 +LOC100129617 0 +LOC100129697 0 +LOC100132529 0 +LOC100134368 0 +LOC100287036 0 +LOC100288162 0 +LOC100289580 0 +LOC100505915 0 +LOC100506172 0 +LOC100506281 0 +LOC100507577 0 +LOC100862671 1 +LOC101927102 0 +LOC101927131 0 +LOC101927132 0 +LOC101927272 0 +LOC101927334 0 +LOC101927364 0 +LOC101927580 0 +LOC101927817 0 +LOC101928203 0 +LOC101928248 0 +LOC101928446 0 +LOC101928708 0 +LOC101928736 0 +LOC101928737 0 +LOC101928880 0 +LOC101929613 0 +LOC102467079 0 +LOC102723373 0 +LOC146513 0 +LOC283914 0 +LOC339059 0 +LOC388282 0 +LOC400548 0 +LOC400558 0 +LOC554206 0 +LOC606724 0 +LOC652276 0 +LOC653786 0 +LOC81691 0 +LONP2 0 +LPCAT2 0 +LRRC36 0 +LYRM1 2 +MAP1LC3B 2 +MAPK8IP3 0 +MARVELD3 0 +MAZ 5 +MC1R 0 +METRN 0 +METTL22 0 +METTL9 12 +MGRN1 1 +MIR138-2 0 +MIR140 0 +MIR193B 0 +MIR1972-1 0 +MIR1972-2 0 +MIR3176 0 +MIR3177 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3182 0 +MIR365A 0 +MIR3677 0 +MIR3935 0 +MIR4516 0 +MIR4517 0 +MIR4518 0 +MIR4717 0 +MIR4718 0 +MIR4719 0 +MIR4720 0 +MIR484 0 +MIR5189 0 +MIR548AE2 0 +MIR548D2 0 +MIR548X 0 +MIR5587 0 +MIR6504 0 +MIR6511A2 0 +MIR662 0 +MIR6767 0 +MIR6768 0 +MIR6769A 0 +MIR6770-2 0 +MIR6771 0 +MIR6774 0 +MIR6862-1 0 +MIR6862-2 0 +MIR6863 0 +MIR762 0 +MIR7851 0 +MIR7854 0 +MIR8058 0 +MIR8065 0 +MIR940 0 +MKL2 1 +MLST8 0 +MLYCD 2 +MMP15 0 +MMP2 0 +MMP25 0 +MON1B 0 +MPG 1 +MPV17L 0 +MSLN 0 +MT1A 0 +MT1B 0 +MT1DP 0 +MT1E 0 +MT1F 4 +MT1H 1 +MT1IP 0 +MT1JP 0 +MT1L 0 +MT1M 0 +MT1X 6 +MT2A 2 +MT3 0 +MT4 0 +MVP 6 +MYLPF 0 +NAA60 1 +NAGPA-AS1 0 +NDE1 5 +NDRG4 2 +NDUFB10 1 +NECAB2 0 +NFAT5 0 +NFATC2IP 1 +NFATC3 14 +NHLRC4 0 +NIP7 0 +NKD1 0 +NLRC5 0 +NME4 0 +NOD2 0 +NOL3 0 +NOMO1 0 +NOMO3 0 +NPIPA1 0 +NPIPA2 0 +NPIPA3 0 +NPIPA7 0 +NPIPA8 0 +NPIPB5 0 +NPIPB9 0 +NPW 0 +NRN1L 0 +NTN3 0 +NUBP1 1 +NUBP2 0 +NUDT16L1 0 +NUDT7 0 +NUP93 1 +NUTF2 2 +OGFOD1 24 +OR1F1 0 +OR1F2P 0 +OR2C1 0 +ORAI3 0 +ORC6 1 +OSGIN1 0 +OTOA 1 +PAGR1 4 +PAPD5 5 +PAQR4 0 +PARD6A 0 +PDIA2 0 +PDP2 0 +PDPK1 2 +PDPR 6 +PDXDC1 9 +PHKB 1 +PHKG2 2 +PIGQ 0 +PKD1P1 0 +PLA2G15 0 +PLCG2 1 +PLEKHG4 0 +PLK1 4 +PMM2 1 +POLR2C 2 +POLR3E 2 +PPP4C 0 +PRKCB 0 +PRMT7 0 +PRR14 1 +PRR25 0 +PRR35 0 +PRRT2 0 +PRSS21 0 +PRSS41 0 +PSKH1 0 +PSMD7 10 +PYCARDOS 0 +QPRT 0 +RAB11FIP3 0 +RAB26 0 +RAB40C 0 +RBBP6 0 +RBFOX1 3 +RBL2 1 +RHBDL1 0 +RHOT2 0 +RLTPR 0 +RMI2 0 +RNF151 0 +RNF40 1 +RPL13 2 +RRN3P2 0 +RSPRY1 0 +SBK1 0 +SCNN1B 0 +SCNN1G 0 +SEC14L5 0 +SETD1A 0 +SETD6 1 +SF3B3 1 +SH2B1 0 +SHISA9 0 +SLC12A3 0 +SLC5A11 2 +SLC5A2 0 +SLC6A2 0 +SLC7A6 1 +SLC9A3R2 0 +SLC9A5 0 +SLX1A 0 +SLX1A-SULT1A3 0 +SLX1B 0 +SLX1B-SULT1A4 0 +SMG1P1 0 +SMIM22 0 +SNAI3-AS1 0 +SNHG9 0 +SNN 1 +SNORA30 0 +SNORA78 0 +SNORD111 0 +SNORD111B 0 +SNORD68 0 +SNRNP25 0 +SNTB2 0 +SNX29 2 +SNX29P1 0 +SNX29P2 0 +SOX8 0 +SPATA33 0 +SPG7 1 +SPIRE2 0 +SPN 0 +SPNS1 0 +SRCAP 2 +SRRM2 2 +SSTR5 0 +STUB1 0 +STX4 1 +SULT1A3 0 +SULT1A4 0 +SYCE1L 0 +SYNGR3 0 +SYT17 1 +TANGO6 0 +TAOK2 1 +TBC1D24 0 +TBL3 0 +TCF25 2 +TELO2 0 +TEPP 0 +TERF2IP 0 +TGFB1I1 0 +THAP11 1 +THOC6 0 +TMC5 3 +TMC7 0 +TMEM159 0 +TMEM204 0 +TMEM208 0 +TMEM219 3 +TNFRSF12A 0 +TNFRSF17 0 +TNRC6A 33 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TP53TG3D 0 +TPSAB1 0 +TPSD1 0 +TRAF7 1 +TRAPPC2L 0 +TRIM72 0 +TSC2 0 +TSNAXIP1 0 +TUBB3 2 +UBE2I 19 +UBFD1 9 +UBN1 5 +UQCRC2 5 +USB1 5 +USP10 15 +VAC14-AS1 0 +VASN 0 +VAT1L 0 +VPS4A 0 +VPS9D1-AS1 0 +VWA3A 1 +WDR90 0 +WFDC1 0 +WFIKKN1 0 +WWOX 4 +WWP2 1 +ZC3H18 32 +ZFP1 0 +ZFP90 0 +ZFPM1 0 +ZG16 0 +ZG16B 0 +ZNF174 0 +ZNF205 0 +ZNF213 0 +ZNF263 0 +ZNF267 3 +ZNF276 0 +ZNF469 0 +ZNF48 0 +ZNF646 2 +ZNF720 5 +ZNF75A 0 +ZNF771 0 +ZNF778 1 +ZNRF1 0 +AANAT 0 +AATF 0 +AATK-AS1 0 +ABCC3 1 +ABI3 0 +ACADVL 0 +ACAP1 0 +ACBD4 0 +ACE 0 +ACSF2 0 +ADAM11 0 +ADAP2 0 +ADORA2B 0 +ADPRM 2 +AFMID 0 +AKAP1 40 +ALDH3A2 0 +ALKBH5 31 +ALOX12 0 +ALOX12P2 0 +ALOX15B 0 +ALOX15P1 0 +AMZ2 3 +ANAPC11 3 +ANKFN1 0 +ANKRD13B 2 +AOC2 0 +AOC3 0 +AOC4P 0 +AP2B1 8 +ARHGAP23 0 +ARHGAP44 0 +ARHGEF15 0 +ARL4D 6 +ARMC7 0 +ARRB2 0 +ARSG 0 +ASB16 0 +ASPA 0 +ASPSCR1 0 +ATAD5 2 +ATP1B2 0 +ATP5G1 0 +ATP6V0A1 0 +B4GALNT2 0 +BAHCC1 0 +BAIAP2 10 +BCAS3 0 +BCL6B 1 +BHLHA9 0 +BIRC5 1 +BPTF 9 +BZRAP1-AS1 0 +C17orf100 0 +C17orf104 0 +C17orf105 0 +C17orf107 0 +C17orf112 0 +C17orf49 1 +C17orf50 0 +C17orf53 2 +C17orf64 0 +C17orf74 0 +C17orf77 0 +C17orf78 0 +C17orf80 0 +C17orf82 0 +C17orf89 0 +C17orf97 0 +C17orf99 2 +C1QTNF1 0 +CA4 0 +CACNA1G 0 +CACNG1 0 +CACNG4 0 +CACNG5 0 +CALCOCO2 7 +CARD14 0 +CASC3 13 +CBX2 0 +CCDC103 0 +CCDC137 6 +CCDC144A 0 +CCDC144CP 0 +CCDC40 0 +CCL11 0 +CCL13 0 +CCL18 0 +CCL2 0 +CCL4 0 +CCL4L1 0 +CCL4L2 0 +CCL7 0 +CCL8 0 +CD300A 0 +CD300LG 0 +CD68 0 +CDC6 1 +CDK12 24 +CDK3 0 +CDK5R1 0 +CDK5RAP3 2 +CDR2L 0 +CDRT15L2 0 +CDRT15P1 0 +CDRT15P2 0 +CDRT7 0 +CEP95 3 +CHD3 2 +CHMP6 0 +CHRNB1 0 +CISD3 0 +CLTC 5 +CNP 1 +CNTD1 0 +CNTNAP1 0 +CNTROB 1 +COASY 0 +COG1 0 +COX10 5 +CPD 1 +CRHR1 0 +CRHR1-IT1 0 +CRYBA1 0 +CSF3 0 +CTNS 2 +CYB5D1 3 +CYB5D2 1 +DBF4B 0 +DBIL5P 0 +DCAF7 58 +DDX42 9 +DGKE 1 +DHRS11 0 +DHRS7B 1 +DHX40 0 +DHX8 0 +DLX4 0 +DNAH17-AS1 0 +DNAH2 0 +DNAH9 2 +DNAI2 0 +DPH1 0 +DPRXP4 0 +DRG2 0 +DUSP14 7 +DYNLL2 1 +EFCAB13 0 +EFCAB3 0 +EFCAB5 0 +EFNB3 1 +EIF1 71 +EIF4A1 0 +EIF5A 0 +ELP5 0 +EMC6 2 +EME1 0 +ENDOV 0 +ENGASE 0 +ENO3 0 +ENPP7 0 +EPN2 2 +EPN2-IT1 0 +EPN3 0 +EPX 0 +ERAL1 0 +ERBB2 0 +EVPLL 0 +FAM106CP 0 +FAM215A 0 +FAM27L 0 +FAM57A 0 +FAM64A 0 +FBXO39 0 +FBXW10 0 +FGF11 0 +FKBP10 0 +FLJ35934 0 +FLJ36000 0 +FLJ40194 0 +FLJ43681 0 +FLJ45513 0 +FMNL1 0 +FN3K 0 +FN3KRP 0 +FNDC8 0 +FOXK2 5 +FOXN1 0 +FSCN2 0 +FZD2 0 +G6PC 0 +G6PC3 1 +GAA 0 +GALR2 0 +GAST 0 +GCGR 0 +GDPD1 0 +GGNBP2 23 +GID4 3 +GLP2R 0 +GLTPD2 0 +GOSR1 2 +GOSR2 2 +GP1BA 0 +GPR142 0 +GPRC5C 0 +GPS1 1 +GRAPL 0 +GRB7 27 +GRN 2 +GSDMA 0 +GSG2 1 +GUCY2D 0 +HEXDC 0 +HEXIM1 2 +HEXIM2 4 +HGS 0 +HIC1 0 +HID1-AS1 0 +HIGD1B 0 +HLF 0 +HOXB-AS1 1 +HOXB-AS3 0 +HP08942 0 +HP09025 0 +HS3ST3B1 0 +HSD17B1 0 +HSPB9 0 +ICT1 1 +IFI35 0 +IGF2BP1 0 +IGFBP4 0 +ITGA3 0 +ITGB3 0 +ITGB4 0 +KANSL1-AS1 0 +KAT7 4 +KCNH6 0 +KCNJ12 2 +KCNJ16 0 +KCNJ18 0 +KCNJ2 0 +KCTD11 0 +KCTD2 0 +KDM6B 5 +KIAA0195 1 +KIF19 0 +KIF1C 1 +KIF2B 0 +KLHL10 0 +KPNA2 85 +KPNB1 8 +KRT16P1 0 +KRT17P5 0 +KRTAP4-7 0 +KRTAP4-9 0 +KRTAP9-1 0 +KRTAP9-2 0 +KRTAP9-3 0 +KRTAP9-4 0 +KRTAP9-6 0 +KRTAP9-7 0 +KRTAP9-8 0 +KRTAP9-9 0 +KSR1 0 +LASP1 0 +LGALS9 0 +LGALS9C 0 +LHX1 0 +LIG3 1 +LINC00670 0 +LINC00672 0 +LINC00674 0 +LINC01028 0 +LINC01152 11 +LINC01482 0 +LINC01483 0 +LINC01497 0 +LLGL1 0 +LLGL2 3 +LOC100130950 0 +LOC100131347 0 +LOC100134391 0 +LOC100287042 0 +LOC100287072 0 +LOC100505782 0 +LOC100506388 0 +LOC100507002 0 +LOC100507351 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101559451 0 +LOC101927018 0 +LOC101927166 0 +LOC101927230 0 +LOC101927688 0 +LOC101927755 0 +LOC101927839 0 +LOC101928205 0 +LOC101928514 0 +LOC101928674 0 +LOC101928738 0 +LOC102723859 0 +LOC102724596 0 +LOC102724862 0 +LOC339166 13 +LOC339260 0 +LOC388436 0 +LOC400620 0 +LOC440416 0 +LOC440446 0 +LOC440461 0 +LOC644172 0 +LOC729683 0 +LOC79999 0 +LPO 0 +LRRC37A 0 +LRRC37A11P 0 +LRRC37A2 0 +LRRC37B 0 +LRRC37BP1 0 +LRRC3C 0 +LRRC45 0 +LRRC46 0 +LRRC48 1 +LRRC75A-AS1 3 +LUC7L3 13 +MAFG-AS1 0 +MAP2K3 1 +MAP2K4 2 +MAP2K6 2 +MAP3K14-AS1 0 +MAP3K3 2 +MAPK7 1 +MAPT 1 +MAPT-IT1 0 +MED11 1 +MED9 0 +MEIS3P1 0 +METRNL 0 +METTL23 0 +METTL2A 0 +MFSD11 0 +MGAT5B 3 +MGC12916 0 +MGC57346 1 +MIEF2 0 +MILR1 0 +MINK1 2 +MIR1288 0 +MIR193A 0 +MIR21 0 +MIR2117 0 +MIR2909 0 +MIR3065 0 +MIR3615 0 +MIR365B 0 +MIR3678 0 +MIR423 0 +MIR4314 0 +MIR451B 0 +MIR4520-2 0 +MIR4521 0 +MIR4523 0 +MIR4524B 0 +MIR4723 0 +MIR4724 0 +MIR4725 0 +MIR4726 0 +MIR4727 0 +MIR4728 0 +MIR4729 0 +MIR4730 0 +MIR5010 0 +MIR5089 0 +MIR548W 0 +MIR6080 0 +MIR6165 0 +MIR632 0 +MIR634 0 +MIR6516 0 +MIR6779 0 +MIR6785 0 +MIR6786 0 +MIR6787 0 +MIR6866 0 +MIR6867 0 +MIR744 0 +MIR8059 0 +MIS12 0 +MLLT6 1 +MLX 2 +MPDU1 0 +MPRIP 1 +MRC2 0 +MRM1 0 +MRPL12 0 +MRPL45 0 +MRPS7 0 +MSI2 2 +MSL1 6 +MSX2P1 0 +MTRNR2L1 0 +MYCBPAP 0 +MYHAS 0 +MYL4 0 +MYO15A 0 +MYO15B 0 +MYOCD 1 +NAGLU 0 +NAGS 0 +NARF 0 +NBR1 0 +NBR2 0 +NDEL1 1 +NEK8 0 +NF1 8 +NFE2L1 0 +NGFR 0 +NKIRAS2 1 +NLGN2 0 +NLK 0 +NME1 0 +NME1-NME2 0 +NME2 5 +NMT1 0 +NOG 0 +NOL11 0 +NPB 0 +NPEPPS 7 +NSF 1 +NSFP1 0 +NSRP1 5 +NT5M 0 +NTN1 1 +NUP85 3 +NXPH3 0 +ODF4 0 +OR1A1 0 +OR1A2 0 +OR1D4 0 +OR3A3 0 +OR3A4P 0 +OR4D1 0 +OR4D2 0 +OTOP2 0 +OTOP3 0 +OVCA2 0 +PAFAH1B1 3 +PCTP 0 +PDK2 0 +PFAS 0 +PGS1 1 +PIGL 0 +PIGW 0 +PIPOX 0 +PITPNA-AS1 1 +PITPNC1 0 +PLD2 0 +PNMT 0 +PNPO 0 +POLR2A 5 +PPM1D 7 +PPM1E 0 +PPP1R1B 0 +PPY2 0 +PRAC2 0 +PRCD 0 +PRKAR1A 5 +PRKCA 0 +PRPSAP2 3 +PRR11 0 +PRR29 0 +PSMB3 1 +PSMB6 3 +PSMC5 2 +PSMD11 21 +PSMD3 2 +PSME3 13 +PYY2 0 +RAB11FIP4 1 +RAB37 0 +RABEP1 5 +RAC3 0 +RAD51C 2 +RAI1 0 +RAMP2 0 +RANGRF 0 +RAP1GAP2 0 +RAPGEFL1 0 +RARA 0 +RASL10B 0 +RGS9 0 +RHBDL3 0 +RHOT1 0 +RNASEK 0 +RNASEK-C17orf49 0 +RND2 0 +RNF112 0 +RNF126P1 0 +RNF135 1 +RNF157-AS1 0 +RNF167 0 +RNF213 3 +RNMTL1 0 +RPA1 31 +RPAIN 0 +RPL19 2 +RPL23A 5 +RPL27 8 +RPL29P2 0 +RPL38 12 +RPS6KB1 0 +RPTOR 0 +RSAD1 0 +RUNDC1 0 +RUNDC3A 0 +SAP30BP 3 +SARM1 0 +SCARNA16 0 +SCARNA21 0 +SCPEP1 0 +SEC14L1 7 +SENP3 0 +SENP3-EIF4A1 0 +SEPT9 3 +SERPINF1 2 +SERPINF2 0 +SGCA 0 +SGSM2 0 +SH3GL1P1 0 +SH3GL1P2 0 +SHBG 0 +SHISA6 0 +SLC13A2 0 +SLC16A13 0 +SLC16A3 0 +SLC16A5 1 +SLC25A10 0 +SLC26A11 0 +SLC2A4 1 +SLC35G6 0 +SLC47A1 0 +SLC5A10 0 +SLC9A3R1 4 +SLFN5 0 +SMCR8 3 +SMG8 0 +SMIM5 0 +SMIM6 0 +SMTNL2 0 +SNHG16 3 +SNHG20 0 +SNORA38B 0 +SNORA48 0 +SNORA59A 0 +SNORA59B 0 +SNORA67 0 +SNORA76C 0 +SNORD10 0 +SNORD104 0 +SNORD1A 0 +SNORD1B 0 +SNORD1C 0 +SNORD42A 0 +SNORD42B 0 +SNORD49A 0 +SNORD49B 0 +SNORD4A 0 +SNORD4B 0 +SNORD65 0 +SNORD7 0 +SNX11 0 +SOCS7 17 +SOX9 0 +SP2 3 +SPACA3 0 +SPAG5-AS1 0 +SPATA20 0 +SPECC1 17 +SPEM1 0 +SPHK1 0 +SPNS2 0 +SPNS3 0 +SPPL2C 0 +SRR 0 +SSTR2 0 +STARD3 0 +STAT5A 0 +STH 0 +STXBP4 0 +SUPT6H 0 +SUZ12 0 +SUZ12P1 0 +SYNGR2 1 +TACO1 0 +TADA2A 10 +TAF15 2 +TANC2 1 +TAOK1 12 +TBC1D26 0 +TBC1D29 0 +TBC1D3 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P5 0 +TBCD 1 +TBKBP1 0 +TBX2 0 +TBX21 0 +TBX4 0 +TCAM1P 0 +TCAP 0 +TEN1 0 +TEN1-CDK3 1 +TEX19 2 +THRA 2 +TIMM22 3 +TLK2 1 +TM4SF5 0 +TMC8 0 +TMEM102 0 +TMEM104 1 +TMEM106A 0 +TMEM132E 0 +TMEM199 0 +TMEM220-AS1 0 +TMEM235 0 +TMEM88 0 +TMEM92 0 +TMEM95 0 +TMEM97 14 +TMEM98 0 +TMEM99 0 +TMUB2 0 +TNFAIP1 1 +TNFSF12 0 +TNFSF12-TNFSF13 0 +TNFSF13 17 +TNK1 0 +TNRC6C 2 +TOB1-AS1 0 +TOM1L1 1 +TP53I13 0 +TRAF4 0 +TRIM16L 0 +TRPV2 0 +TSEN54 0 +TSPAN10 0 +TTC19 0 +TTC25 0 +TTYH2 2 +TUBG1 6 +TUBG2 6 +TUSC5 1 +TVP23B 1 +TXNDC17 7 +UBALD2 0 +UBB 152 +UBE2Z 1 +UNC45B 0 +UNK 2 +USP32P1 0 +USP43 0 +USP6 0 +UTP18 0 +UTS2R 0 +VMP1 0 +VPS25 2 +WDR16 0 +WDR81 0 +WFIKKN2 0 +WIPF2 58 +WNK4 0 +WNT9B 0 +WRAP53 0 +WSB1 1 +WSCD1 0 +XAF1 0 +XYLT2 0 +YPEL2 4 +ZACN 0 +ZFP3 0 +ZMYND15 0 +ZNF207 4 +ZNF286A 0 +ZNF830 5 +ZNHIT3 5 +ZPBP2 0 +ARL17A 0 +ARL17B 0 +KANSL1 0 +LOC644172 0 +LRRC37A4P 0 +MAPT-AS1 0 +NSFP1 0 +MGC70870 0 +ADCYAP1 0 +ADNP2 4 +ANKRD12 2 +ANKRD20A5P 0 +ANKRD30B 0 +ANKRD62 0 +APCDD1 0 +AQP4-AS1 0 +ARHGAP28 0 +ASXL3 2 +ATP9B 0 +BOD1L2 0 +C18orf21 0 +C18orf25 0 +C18orf54 0 +C18orf61 0 +C18orf63 0 +C18orf8 9 +CABLES1 0 +CABYR 3 +CCDC102B 0 +CDH20 0 +CDH7 0 +CEP192 1 +CETN1 0 +CHMP1B 2 +CIDEA 0 +CLUL1 0 +CNDP1 0 +CNDP2 1 +CTDP1 6 +CTIF 0 +CYP4F35P 0 +DCC 0 +DLGAP1-AS1 0 +DLGAP1-AS2 0 +DLGAP1-AS3 1 +DLGAP1-AS4 0 +DLGAP1-AS5 0 +DOK6 0 +DSCAS 0 +DSG1 0 +DSG2 0 +DSG3 0 +DSG4 0 +DTNA 0 +DYNAP 0 +ELAC1 0 +ELP2 0 +EMILIN2 6 +FHOD3 5 +FLJ44313 0 +GALNT1 1 +GALR1 0 +GATA6 0 +GNAL 0 +GREB1L 0 +GRP 0 +HAUS1 1 +HMSD 0 +HRH4 0 +HSBP1L1 0 +IMPA2 4 +IMPACT 0 +KATNAL2 0 +KCNG2 0 +KIAA1328 0 +KIAA1468 0 +LAMA3 0 +LDLRAD4 0 +LINC00667 0 +LINC00683 0 +LINC00907 0 +LINC00908 0 +LINC01255 0 +LINC01387 0 +LINC01443 0 +LINC01477 0 +LIPG 3 +LOC100287225 0 +LOC100505549 0 +LOC100505592 0 +LOC100505817 2 +LOC100506787 0 +LOC100996669 0 +LOC101927150 0 +LOC101927410 0 +LOC102723376 0 +LOC102724651 0 +LOC284294 0 +LOC339298 0 +LOC400661 0 +LOC643542 0 +LOC729950 0 +LRRC30 0 +MALT1 0 +MAPK4 0 +MAPRE2 3 +MC5R 0 +ME2 0 +MEP1B 0 +MIB1 4 +MIR122 0 +MIR1539 0 +MIR302F 0 +MIR3156-2 0 +MIR320C1 0 +MIR320C2 0 +MIR3975 0 +MIR3976 0 +MIR3976HG 0 +MIR4318 0 +MIR4526 0 +MIR4529 0 +MIR4741 0 +MIR4743 0 +MIR5011 0 +MIR5190 0 +MIR5583-1 0 +MIR6718 0 +MOCOS 1 +MTCL1 0 +MYL12A 5 +MYL12B 1 +NAPG 0 +NDC80 1 +NDUFV2 3 +NEDD4L 3 +NFATC1 1 +OACYLP 0 +ONECUT2 0 +PARD6G-AS1 0 +PHLPP1 3 +PIK3C3 2 +PMAIP1 0 +POLI 1 +PPP4R1-AS1 0 +PSMA8 0 +PSMG2 4 +PTPRM 0 +RAB12 0 +RAB27B 1 +RAB31 0 +RALBP1 7 +RBBP8 3 +RBFA 0 +RBFADN 0 +RIOK3 11 +RNF125 0 +RNF138 6 +RNF165 0 +RNMT 2 +ROCK1P1 0 +SALL3 1 +SCARNA17 0 +SEC11C 0 +SEH1L 1 +SERPINB10 0 +SERPINB11 0 +SERPINB12 0 +SERPINB13 0 +SERPINB2 0 +SERPINB5 1 +SERPINB7 0 +SERPINB8 0 +SETBP1 0 +SIGLEC15 0 +SKA1 0 +SLC14A1 0 +SLC14A2 0 +SLC35G4P 0 +SLMO1 0 +SMAD4 1 +SMCHD1 0 +SNHG22 0 +SNRPD1 11 +SOCS6 1 +ST8SIA3 0 +TAF4B 6 +TGIF1 0 +TIMM21 1 +TNFRSF11A 0 +TSHZ1 2 +TTC39C 1 +TTR 0 +TUBB6 0 +TWSG1 0 +TXNDC2 0 +TYMS 0 +USP14 4 +VAPA 0 +WBP11P1 0 +WDR7 5 +ZCCHC2 20 +ZNF236 2 +ZNF271 1 +ZNF397 5 +ZNF407 1 +ZNF532 2 +A1BG-AS1 0 +ABCA7 0 +ACPT 0 +ACSBG2 0 +ACTN4 1 +ADAT3 0 +ADM5 0 +ALDH16A1 0 +ALKBH7 0 +AMH 0 +ANGPTL4 0 +ANKLE1 0 +ANKRD24 0 +AP1M1 0 +AP2A1 0 +APC2 0 +APLP1 0 +APOC1 0 +APOC1P1 0 +APOC2 0 +APOC4 0 +APOC4-APOC2 0 +APOE 0 +ARHGAP33 1 +ARHGAP35 0 +ARHGEF1 0 +ARHGEF18 0 +ARID3A 0 +ARMC6 0 +ARRDC2 0 +ASNA1 0 +ATCAY 0 +ATF5 2 +ATG4D 1 +ATP5D 0 +AURKC 5 +AXL 0 +AZU1 0 +B3GNT3 0 +BABAM1 0 +BAX 0 +BCAM 0 +BCKDHA 0 +BCL2L12 3 +BCL3 0 +BEST2 0 +BLOC1S3 2 +BRSK1 0 +BSG 2 +C19orf24 0 +C19orf33 0 +C19orf38 0 +C19orf40 1 +C19orf44 0 +C19orf45 0 +C19orf52 0 +C19orf53 0 +C19orf60 0 +C19orf66 1 +C19orf68 0 +C19orf71 0 +C19orf80 0 +C19orf81 0 +C19orf83 0 +C3P1 0 +C5AR1 0 +C5AR2 0 +CACNG6 0 +CACNG7 0 +CACNG8 2 +CACTIN-AS1 0 +CALM3 3 +CALR 6 +CAMSAP3 0 +CAPNS1 0 +CAPS 0 +CARM1 0 +CASP14 0 +CATSPERD 0 +CATSPERG 0 +CBLC 0 +CC2D1A 0 +CCDC105 0 +CCDC106 0 +CCDC124 0 +CCDC130 2 +CCDC155 0 +CCDC159 0 +CCDC61 0 +CCDC9 1 +CCDC94 0 +CCDC97 3 +CCL25 0 +CCNE1 1 +CD177 0 +CD22 0 +CD33 0 +CD37 0 +CD3EAP 1 +CD79A 0 +CD97 0 +CDC34 0 +CEACAM16 0 +CEACAM18 0 +CEACAM19 0 +CEACAM21 0 +CEACAM3 0 +CEACAM5 0 +CEACAM6 0 +CEBPA-AS1 0 +CEBPG 1 +CELF5 0 +CENPBD1P1 1 +CERS4 0 +CFD 0 +CGB2 0 +CGB5 0 +CHAF1A 55 +CHST8 0 +CIC 0 +CILP2 0 +CIRBP 1 +CLASRP 0 +CLEC11A 0 +CLEC17A 0 +CLEC4GP1 0 +CLEC4M 0 +CLPP 2 +CLPTM1 0 +CNN1 2 +CNN2 0 +CNOT3 1 +COLGALT1 0 +COX6B1 3 +CPT1C 0 +CRB3 0 +CREB3L3 0 +CRTC1 0 +CRX 0 +CSNK1G2 1 +CTC-360P9.3 0 +CYP2A13 0 +CYP2B6 0 +CYP2B7P 0 +CYP2F1 0 +CYP2G1P 0 +CYP2S1 2 +CYP4F12 0 +CYP4F22 0 +CYP4F3 0 +CYP4F8 0 +CYTH2 1 +DACT3-AS1 0 +DAND5 3 +DAZAP1 1 +DCAF15 1 +DDA1 2 +DDX49 0 +DHDH 0 +DHX34 0 +DKFZp434J0226 0 +DKKL1 0 +DLL3 0 +DMRTC2 1 +DNM2 0 +DOT1L 2 +DPP9-AS1 0 +DPRX 0 +DPY19L3 1 +EBI3 0 +EFNA2 0 +EGLN2 0 +EHD2 0 +EIF3K 1 +ELANE 0 +ELSPBP1 0 +EMC10 1 +EMP3 0 +EMR1 0 +EPN1 0 +EPS8L1 0 +ERICH4 0 +ERVV-1 0 +ERVV-2 0 +ETV2 0 +EVI5L 0 +F2RL3 0 +FAM129C 0 +FAM32A 0 +FAM90A27P 0 +FAM98C 2 +FCAR 0 +FCGRT 0 +FCHO1 2 +FEM1A 0 +FFAR1 0 +FFAR2 1 +FFAR3 0 +FGF21 0 +FGF22 0 +FKRP 0 +FLJ26850 0 +FLT3LG 0 +FOSB 1 +FOXA3 0 +FPR2 0 +FPR3 0 +FSD1 0 +FSTL3 0 +FTL 95 +FUT2 0 +FXYD1 0 +FXYD3 0 +FXYD5 0 +FXYD7 0 +FZR1 0 +GADD45B 0 +GALP 0 +GAPDHS 0 +GATAD2A 4 +GCDH 0 +GDF15 0 +GEMIN7 0 +GFY 2 +GIPC3 0 +GIPR 0 +GLTSCR1 2 +GLTSCR2 1 +GNA11 33 +GNA15 0 +GOLGA2P9 0 +GPATCH1 2 +GPI 2 +GPR32 0 +GPX4 0 +GRAMD1A 1 +GRIN2D 0 +GRIN3B 0 +GRWD1 0 +GTPBP3 0 +GZMM 0 +HAMP 0 +HAUS5 1 +HCN2 0 +HCST 0 +HDGFRP2 1 +HIF3A 0 +HKR1 1 +HMG20B 0 +HMHA1 4 +HNRNPM 2 +HNRNPUL1 8 +HPN 0 +HSD11B1L 0 +HSH2D 0 +ICAM1 1 +ICAM4 0 +ICAM5 0 +IER2 4 +IFI30 0 +IFNL1 0 +IFNL2 0 +IGFL1 0 +IGFL2 0 +IGLON5 0 +IGSF23 0 +IL27RA 0 +ILF3 3 +INAFM1 0 +IRGC 0 +ITPKC 0 +IZUMO4 0 +JUNB 0 +KCNJ14 0 +KCNK6 0 +KCNN1 0 +KCTD15 0 +KDM4B 1 +KIAA0355 4 +KIR2DL1 0 +KIR2DL3 0 +KIR2DL4 0 +KIR2DS4 0 +KIR3DL1 0 +KIR3DL2 0 +KIR3DL3 0 +KIR3DX1 0 +KIRREL2 0 +KISS1R 0 +KLC3 1 +KLF2 2 +KLHL26 7 +KLK2 0 +KLK3 0 +KMT2B 8 +KXD1 2 +LAIR2 0 +LDLR 6 +LENG8 2 +LEUTX 0 +LGALS13 0 +LGALS14 0 +LGALS16 0 +LGALS17A 0 +LGALS7B 0 +LILRA1 0 +LILRA2 0 +LILRB1 0 +LILRB4 0 +LILRP2 0 +LIN37 0 +LIN7B 0 +LINC00661 0 +LINC00664 0 +LINC00905 0 +LINC00906 0 +LINC01233 0 +LINC01480 0 +LIPE-AS1 1 +LOC100128398 0 +LOC100128568 0 +LOC100128682 0 +LOC100129083 0 +LOC100129935 0 +LOC100131691 0 +LOC100134317 0 +LOC100288123 0 +LOC100289333 0 +LOC100289650 0 +LOC100505622 0 +LOC100505812 0 +LOC100505835 0 +LOC100507373 0 +LOC100996349 0 +LOC101927151 0 +LOC101927572 0 +LOC101927599 0 +LOC101927667 0 +LOC101928571 0 +LOC101928844 1 +LOC101928886 0 +LOC101929059 0 +LOC102723617 0 +LOC102724958 0 +LOC113230 0 +LOC388553 0 +LOC641367 0 +LOC644189 0 +LOC644554 0 +LOC646862 0 +LOC728485 0 +LOC728752 0 +LPPR2 0 +LRFN3 0 +LRP3 0 +LRRC8E 2 +LSM14A 9 +LSR 1 +LTBP4 0 +MADCAM1 0 +MAG 0 +MAP1S 2 +MAP2K7 2 +MAP3K10 0 +MARCH2 0 +MARK4 2 +MAST1 0 +MAST3 0 +MAU2 2 +MBD3L1 0 +MBD3L2 0 +MBD3L5 0 +MCEMP1 0 +MCOLN1 0 +MED25 2 +MED29 2 +MEGF8 0 +MGC45922 0 +MIA 0 +MIA-RAB4B 0 +MIDN 0 +MIMT1 0 +MIR1199 0 +MIR1238 0 +MIR125A 0 +MIR1283-1 0 +MIR1283-2 0 +MIR1323 0 +MIR1470 0 +MIR181C 0 +MIR181D 0 +MIR3187 0 +MIR3188 0 +MIR3189 0 +MIR3190 0 +MIR371A 0 +MIR372 0 +MIR373 0 +MIR4321 0 +MIR4322 0 +MIR4745 0 +MIR4746 0 +MIR4747 0 +MIR4748 0 +MIR4749 0 +MIR4750 0 +MIR4751 0 +MIR4752 0 +MIR498 0 +MIR5088 0 +MIR512-1 0 +MIR512-2 0 +MIR515-1 0 +MIR515-2 0 +MIR516A1 0 +MIR516A2 0 +MIR516B1 0 +MIR516B2 0 +MIR517A 0 +MIR517B 0 +MIR517C 0 +MIR518A1 0 +MIR518A2 0 +MIR518B 0 +MIR518C 0 +MIR518D 0 +MIR518E 0 +MIR518F 0 +MIR5196 0 +MIR519A1 0 +MIR519A2 0 +MIR519B 0 +MIR519C 0 +MIR519D 0 +MIR519E 0 +MIR520A 0 +MIR520B 0 +MIR520C 0 +MIR520D 0 +MIR520E 0 +MIR520F 0 +MIR520G 0 +MIR520H 0 +MIR521-1 0 +MIR521-2 0 +MIR522 0 +MIR523 0 +MIR524 0 +MIR525 0 +MIR526A1 0 +MIR526A2 0 +MIR526B 0 +MIR527 0 +MIR638 0 +MIR639 0 +MIR642A 0 +MIR643 0 +MIR6515 0 +MIR6792 0 +MIR6793 0 +MIR6794 0 +MIR6796 0 +MIR6797 8 +MIR6798 0 +MIR6799 0 +MIR6800 0 +MIR6801 0 +MIR6805 0 +MIR6806 0 +MIR6807 0 +MIR6886 0 +MIR6887 0 +MIR7-3 0 +MIR7-3HG 0 +MIR769 0 +MIR8061 0 +MIR8077 0 +MIR8085 0 +MIR935 0 +MIR99B 0 +MIRLET7E 0 +MISP 0 +MPND 0 +MPV17L2 0 +MRI1 0 +MRPL34 0 +MRPL4 2 +MRPL54 1 +MRPS12 0 +MUM1 0 +MVB12A 0 +MYADM 2 +MYBPC2 0 +MYH14 0 +MYO9B 1 +NACC1 0 +NANOS3 0 +NAPA-AS1 0 +NAT14 0 +NCAN 0 +NCCRP1 0 +NCLN 0 +NCR1 0 +NDUFA13 0 +NDUFA3 0 +NDUFS7 0 +NFIC 2 +NFIX 0 +NFKBIB 0 +NLRP2 54 +NLRP4 439 +NLRP5 13 +NLRP8 9 +NMRK2 2 +NPAS1 1 +NR1H2 5 +NRTN 0 +NUCB1 0 +NUDT19 0 +NWD1 0 +OAZ1 2 +OCEL1 0 +ONECUT3 0 +OR10H2 0 +OR10H3 0 +OR10H4 0 +OR10H5 0 +OR1I1 0 +OR1M1 0 +OR2Z1 0 +OR4F17 0 +OR7C2 0 +OR7D2 0 +OR7E24 2 +OVOL3 0 +P2RY11 0 +PAK4 0 +PALM 0 +PAPL 0 +PDCD2L 0 +PDCD5 4 +PDE4A 0 +PEG3-AS1 0 +PET100 0 +PGLS 0 +PGPEP1 3 +PIAS4 2 +PIK3R2 0 +PIN1 0 +PINLYP 0 +PKN1 0 +PLD3 0 +PLEKHF1 0 +PLEKHG2 0 +PLK5 0 +PNPLA6 0 +POLD1 0 +POP4 1 +PPAN 0 +PPAN-P2RY11 0 +PPFIA3 0 +PPM1N 0 +PPP1R15A 1 +PPP1R37 0 +PPP2R1A 6 +PPP5C 0 +PRG1 0 +PRKCG 8 +PRKCSH 0 +PRMT1 2 +PROSER3 0 +PRPF31 0 +PRR12 0 +PRR19 0 +PRRG2 0 +PRTN3 0 +PSENEN 0 +PSMC4 3 +PSMD8 0 +PTBP1 5 +PTOV1 1 +PVR 0 +PVRL2 0 +QPCTL 0 +QTRT1 0 +RAB11B 1 +RAB4B 0 +RAB4B-EGLN2 0 +RAB8A 1 +RAD23A 0 +RBM42 3 +RCN3 0 +RDH8 0 +REEP6 1 +RELB 0 +RETN 0 +RFPL4A 0 +RFPL4AL1 0 +RFXANK 0 +RGS9BP 0 +RLN3 0 +RNASEH2A 0 +RNU6-2 0 +RPL13A 21 +RPL13AP5 0 +RPL18A 1 +RPL28 17 +RPL36 46 +RPS11 34 +RPS15 3 +RPS19 18 +RPS28 1 +RPS5 12 +RPS9 4 +RPSAP58 8 +RUVBL2 4 +RYR1 0 +S1PR4 0 +SAE1 3 +SAFB 0 +SAMD4B 0 +SCAF1 0 +SCAMP4 0 +SCGB2B3P 0 +SCN1B 0 +SDHAF1 0 +SEC1P 0 +SELV 0 +SEPW1 0 +SF3A2 0 +SHD 3 +SHKBP1 0 +SIGLEC16 0 +SIGLEC17P 0 +SIGLEC7 0 +SIGLEC9 0 +SIGLECL1 0 +SIN3B 0 +SIPA1L3 0 +SLC25A42 0 +SLC27A1 0 +SLC44A2 0 +SLC5A5 0 +SMARCA4 4 +SMIM17 0 +SNAPC2 0 +SNAR-A1 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A12 0 +SNAR-A13 0 +SNAR-A14 0 +SNAR-A2 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-C1 0 +SNAR-C2 0 +SNAR-C3 0 +SNAR-C4 0 +SNAR-C5 0 +SNAR-F 0 +SNAR-G1 0 +SNORA68 0 +SNORD105 0 +SNORD105B 0 +SNORD23 0 +SNORD32A 0 +SNORD33 0 +SNORD34 1 +SNORD35A 0 +SNORD35B 0 +SNRNP70 1 +SNRPA 3 +SPACA4 0 +SPACA6P 0 +SPHK2 0 +SPIB 0 +SPINT2 9 +SPPL2B 1 +SPRED3 0 +SPTBN4 0 +SRRM5 0 +SSBP4 0 +SSC5D 0 +STK11 0 +STXBP2 0 +SULT2B1 0 +SUPT5H 1 +SUV420H2 0 +SWSAP1 0 +SYDE1 0 +SYNGR4 0 +TBC1D17 0 +TBCB 1 +TDRD12 0 +TECR 0 +TEX101 0 +TGFBR3L 0 +THEG5 0 +THOP1 0 +TIMM50 1 +TJP3 0 +TLE6 1 +TMEM145 0 +TMEM147 1 +TMEM190 0 +TMEM38A 1 +TMEM59L 0 +TMEM91 0 +TMPRSS9 0 +TNFAIP8L1 0 +TNFSF9 0 +TOMM40 0 +TPGS1 0 +TPM3P9 0 +TPM4 0 +TRAPPC2P1 1 +TRAPPC5 0 +TRIM28 0 +TRIP10 0 +TRPM4 0 +TSEN34 1 +TSPAN16 0 +TTYH1 0 +U2AF2 3 +UBA2 0 +UBA52 9 +UBL5 2 +UCA1 0 +UHRF1 89 +UPF1 2 +UPK1A 0 +URI1 1 +USE1 0 +USF2 0 +USP29 0 +VASP 1 +VAV1 0 +VMAC 0 +VN1R2 0 +VSTM2B 0 +WDR18 0 +WDR62 0 +WDR83 0 +WDR88 0 +WTIP 0 +YJEFN3 0 +ZBTB32 0 +ZFP28 0 +ZFP36 0 +ZIK1 0 +ZNF101 1 +ZNF114 0 +ZNF134 2 +ZNF135 0 +ZNF136 4 +ZNF137P 0 +ZNF146 3 +ZNF155 37 +ZNF17 2 +ZNF175 0 +ZNF177 0 +ZNF181 2 +ZNF211 1 +ZNF221 0 +ZNF222 11 +ZNF223 0 +ZNF224 0 +ZNF225 1 +ZNF226 0 +ZNF227 9 +ZNF230 0 +ZNF233 0 +ZNF234 0 +ZNF253 0 +ZNF254 0 +ZNF257 4 +ZNF264 0 +ZNF274 0 +ZNF283 0 +ZNF284 0 +ZNF30 0 +ZNF302 0 +ZNF304 6 +ZNF317 0 +ZNF324 1 +ZNF324B 0 +ZNF331 0 +ZNF333 0 +ZNF345 0 +ZNF350-AS1 0 +ZNF358 0 +ZNF382 0 +ZNF383 0 +ZNF419 4 +ZNF420 1 +ZNF429 0 +ZNF430 0 +ZNF431 0 +ZNF439 0 +ZNF440 0 +ZNF441 0 +ZNF444 0 +ZNF446 0 +ZNF460 0 +ZNF470 0 +ZNF471 0 +ZNF473 1 +ZNF480 0 +ZNF486 0 +ZNF491 0 +ZNF492 0 +ZNF493 0 +ZNF507 0 +ZNF524 0 +ZNF525 4 +ZNF526 1 +ZNF527 0 +ZNF528 0 +ZNF530 2 +ZNF534 2 +ZNF536 0 +ZNF540 0 +ZNF542P 4 +ZNF543 0 +ZNF544 0 +ZNF546 0 +ZNF547 0 +ZNF548 3 +ZNF549 8 +ZNF551 0 +ZNF554 1 +ZNF555 9 +ZNF556 0 +ZNF557 2 +ZNF559 1 +ZNF559-ZNF177 0 +ZNF561-AS1 0 +ZNF567 1 +ZNF568 0 +ZNF57 4 +ZNF570 0 +ZNF571-AS1 0 +ZNF574 11 +ZNF575 0 +ZNF576 1 +ZNF578 0 +ZNF580 0 +ZNF581 1 +ZNF582-AS1 0 +ZNF583 0 +ZNF584 1 +ZNF586 5 +ZNF587 2 +ZNF587B 1 +ZNF610 0 +ZNF613 0 +ZNF627 0 +ZNF628 0 +ZNF667-AS1 1 +ZNF69 0 +ZNF700 0 +ZNF701 0 +ZNF71 0 +ZNF714 0 +ZNF726 0 +ZNF729 0 +ZNF730 0 +ZNF738 2 +ZNF749 0 +ZNF761 5 +ZNF763 0 +ZNF765 1 +ZNF766 2 +ZNF773 4 +ZNF776 0 +ZNF788 16 +ZNF790-AS1 0 +ZNF791 0 +ZNF793 0 +ZNF8 0 +ZNF805 3 +ZNF808 0 +ZNF813 0 +ZNF818P 0 +ZNF833P 0 +ZNF844 0 +ZNF845 0 +ZNF85 0 +ZNF865 1 +ZNF880 0 +ZNF90 1 +ZNF93 5 +ZNRF4 0 +ZSCAN1 0 +ZSCAN22 0 +ZSCAN4 0 +ZSWIM4 0 +KIR2DL2 0 +KIR2DL4 0 +KIR2DL5A 0 +KIR2DL5B 0 +KIR2DS1 0 +KIR2DS2 0 +KIR2DS3 0 +KIR2DS5 0 +KIR3DS1 0 +ABCG8 0 +ABHD1 0 +ABI2 3 +ACKR3 0 +ACMSD 0 +ACOXL 0 +ACP1 2 +ACSL3 0 +ACTG2 1 +ACTR2 16 +ACTR3 9 +ACTR3BP2 0 +ACVR2A 1 +ACYP2 0 +ADAM23 1 +AFTPH 0 +AGAP1 0 +AGBL5 0 +AGFG1 1 +AGPS 1 +AGXT 0 +AHSA2 0 +ALLC 1 +ALMS1 12 +ALMS1-IT1 0 +ALMS1P 0 +ALPI 0 +ALPP 0 +ALPPL2 0 +AMER3 0 +ANAPC1P1 0 +ANKAR 0 +ANKRD36 0 +ANKRD36BP2 0 +ANKRD53 0 +ANKZF1 1 +ANO7 0 +ANTXR1 0 +ANXA4 0 +AOX1 2 +AOX2P 0 +APLF 0 +AQP12A 0 +ARHGAP15 0 +ARHGAP25 0 +ARHGEF33 0 +ARHGEF4 0 +ARID5A 0 +ARL6IP6 0 +ARMC9 2 +ARPC2 12 +ASAP2 5 +ASB1 0 +ASIC4 0 +ASNSD1 3 +ATG16L1 0 +ATG4B 1 +ATIC 1 +ATOH8 0 +ATP6V1B1 0 +ATP6V1C2 0 +ATRAID 1 +B3GALT1 0 +B3GNT2 47 +B3GNT7 0 +BBS5 0 +BCL2L11 2 +BCS1L 0 +BIRC6 8 +BMPR2 4 +BOK 0 +BOLA3-AS1 0 +BRE 1 +BZW1 0 +C2orf15 7 +C2orf16 0 +C2orf27A 0 +C2orf40 0 +C2orf47 1 +C2orf48 0 +C2orf49 0 +C2orf50 0 +C2orf57 0 +C2orf69 2 +C2orf70 0 +C2orf72 0 +C2orf73 0 +C2orf74 0 +C2orf78 0 +C2orf82 0 +C2orf88 0 +CAB39 1 +CAD 3 +CAMKMT 0 +CAPN10 1 +CARF 0 +CASP10 0 +CASP8 0 +CATIP 0 +CBWD2 0 +CCDC104 1 +CCDC138 1 +CCDC140 0 +CCDC148-AS1 0 +CCDC150 0 +CCDC74A 0 +CCDC85A 0 +CCL20 0 +CCNT2 4 +CCNYL1 7 +CCT7 0 +CD28 0 +CDCA7 0 +CDK15 0 +CDK5R2 0 +CEBPZOS 2 +CENPA 0 +CENPO 4 +CEP68 3 +CERS6 1 +CFAP221 0 +CFC1B 0 +CFLAR 0 +CHAC2 0 +CHCHD5 0 +CHRND 0 +CHRNG 0 +CIAO1 0 +CLIP4 4 +CNGA3 0 +CNNM3 0 +CNNM4 0 +CNOT11 14 +CNTNAP5 0 +COL3A1 0 +COL4A3 0 +COLEC11 0 +COMMD1 4 +COPS7B 8 +COPS8 18 +COQ10B 2 +COX5B 2 +CPO 0 +CPS1 1 +CPS1-IT1 0 +CPSF3 2 +CREB1 3 +CRIM1 1 +CRIPT 0 +CSRNP3 0 +CTDSP1 0 +CTLA4 0 +CTNNA2 2 +CXCR2 0 +CYBRD1 0 +CYP1B1-AS1 0 +CYP20A1 5 +CYP27A1 0 +CYP4F30P 0 +D2HGDH 0 +DAPL1 0 +DARS-AS1 1 +DAW1 2 +DBI 0 +DCAF17 0 +DCDC2C 0 +DCTN1-AS1 0 +DDX1 6 +DDX18 14 +DES 0 +DFNB59 0 +DGKD 0 +DGUOK 1 +DHRS9 0 +DIS3L2 0 +DLX1 0 +DNAH6 0 +DNAJB2 0 +DNAJC10 0 +DNAJC27-AS1 0 +DNAJC5G 0 +DOK1 0 +DPP10 0 +DPYSL5 0 +DRC1 0 +DUSP19 4 +DUSP28 0 +DYNC1I2 23 +DYNC2LI1 2 +DYSF 0 +EEF1B2 3 +EFHD1 3 +EFR3B 2 +EHBP1 0 +EHD3 0 +EIF4E2 1 +EIF5B 59 +ELMOD3 0 +EMILIN1 0 +EML4 1 +EML6 0 +EMX1 3 +EPAS1 11 +EPB41L5 5 +EPC2 0 +EPCAM 0 +EPT1 2 +ERICH2 0 +ERLEC1 2 +ESPNL 0 +ETAA1 1 +FAHD2A 0 +FAHD2CP 0 +FAM117B 1 +FAM132B 0 +FAM134A 4 +FAM138B 0 +FAM171B 0 +FAM179A 0 +FAM228A 13 +FAM228B 0 +FAM84A 0 +FARP2 0 +FASTKD2 1 +FBLN7 13 +FBXO36 0 +FER1L5 0 +FKBP1B 0 +FMNL2 4 +FOSL2 0 +FOXD4L1 0 +FOXN2 1 +FSIP2 1 +FUNDC2P2 0 +FZD7 0 +G6PC2 0 +GAD1 3 +GAL3ST2 0 +GALM 0 +GALNT13 0 +GALNT5 0 +GAREML 0 +GCA 1 +GCC2 9 +GCKR 0 +GDF7 0 +GEMIN6 0 +GEN1 0 +GGT8P 0 +GIGYF2 11 +GKN1 0 +GLI2 0 +GLS 0 +GMCL1 1 +GMPPA 0 +GNLY 0 +GORASP2 7 +GPATCH11 4 +GPBAR1 0 +GPC1 0 +GPD2 6 +GPN1 6 +GPR1-AS 0 +GPR148 0 +GPR17 0 +GPR35 0 +GPR39 3 +GPR45 0 +GREB1 1 +GRHL1 1 +GTF2A1L 0 +GTF3C2-AS1 1 +GULP1 0 +GYPC 0 +HADHB 0 +HAGLROS 0 +HAT1 3 +HCG2040054 0 +HK2 2 +HNMT 0 +HNRNPA3 0 +HOXD1 0 +HOXD10 0 +HOXD11 0 +HOXD12 0 +HOXD13 0 +HOXD3 0 +HOXD4 0 +HOXD8 0 +HOXD9 0 +HPCAL1 0 +HSPE1 1 +HSPE1-MOB4 0 +HTRA2 0 +IAH1 10 +ICOS 0 +ID2 0 +IDH1-AS1 0 +IGFBP2 0 +IL18R1 0 +IL18RAP 0 +IL1F10 0 +IL1R1 0 +IL1R2 0 +IL1RL1 0 +IL1RL2 0 +IL1RN 0 +IL36A 0 +IL36G 0 +IL36RN 0 +IL37 0 +IMP4 0 +ING5 0 +INHA 0 +INHBB 0 +INO80B 0 +INO80B-WBP1 0 +INPP1 0 +INPP4A 0 +INPP5D 0 +INSIG2 0 +ITGA4 3 +ITGA6 0 +ITGAV 1 +ITM2C 17 +ITPRIPL1 0 +KCMF1 5 +KCNE4 0 +KCNF1 0 +KCNIP3 0 +KCNJ3 0 +KCNK3 0 +KCNS3 1 +KDM3A 13 +KHK 2 +KIAA1841 1 +KIF5C 0 +KLF11 12 +KLHL23 0 +KLHL29 0 +KLHL30 0 +KLHL41 0 +KRTCAP3 0 +KYNU 0 +LANCL1-AS1 0 +LBH 0 +LBX2-AS1 0 +LCLAT1 0 +LGALSL 0 +LIMS1 0 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00152 0 +LINC00486 0 +LINC00570 0 +LINC00608 0 +LINC00954 0 +LINC01087 0 +LINC01102 0 +LINC01104 0 +LINC01105 0 +LINC01118 12 +LINC01119 0 +LINC01120 0 +LINC01122 0 +LINC01123 0 +LINC01125 0 +LINC01126 0 +LINC01127 0 +LINC01191 0 +LINC01237 0 +LINC01305 0 +LINC01412 0 +LIPT1 0 +LOC100129175 0 +LOC100271832 0 +LOC100288570 0 +LOC100506076 0 +LOC100506274 0 +LOC100506457 0 +LOC100507006 0 +LOC100507073 0 +LOC100507334 0 +LOC100507443 0 +LOC100507600 0 +LOC100652824 0 +LOC100996579 0 +LOC100996693 0 +LOC101060019 1 +LOC101805491 0 +LOC101926966 0 +LOC101927027 0 +LOC101927053 0 +LOC101927055 0 +LOC101927285 0 +LOC101927406 0 +LOC101927431 0 +LOC101927482 0 +LOC101927641 0 +LOC101927661 0 +LOC101927881 0 +LOC101927884 0 +LOC101927907 0 +LOC101927924 0 +LOC101927926 0 +LOC101927948 0 +LOC101928020 0 +LOC101928103 0 +LOC101928161 0 +LOC101928222 0 +LOC101928371 0 +LOC101928386 0 +LOC101929231 0 +LOC101929282 0 +LOC101929532 0 +LOC101929570 0 +LOC101929633 0 +LOC101929680 0 +LOC101929715 0 +LOC101929733 0 +LOC102723362 0 +LOC102723927 0 +LOC102724058 0 +LOC102724224 0 +LOC102724849 0 +LOC102800447 0 +LOC150776 0 +LOC150935 0 +LOC151484 0 +LOC1720 0 +LOC200726 0 +LOC284950 0 +LOC285043 0 +LOC339807 0 +LOC388942 0 +LOC400940 0 +LOC440895 0 +LOC440910 0 +LOC643072 0 +LOC643387 0 +LOC646736 0 +LOC646743 0 +LOC653602 0 +LOC728323 0 +LOC728730 1 +LPIN1 1 +LRRFIP1 9 +LTBP1 0 +LYPD6 1 +LYPD6B 0 +MAL 0 +MAP2 0 +MAP4K4 3 +MAPRE3 0 +MARCH7 5 +MARCO 0 +MARS2 0 +MAT2A 4 +MBD5 0 +MDH1 4 +MED15P9 0 +MEIS1 0 +MERTK 0 +METAP1D 0 +MFF 2 +MFSD2B 0 +MFSD6 0 +MGAT5 0 +MIR10B 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1245A 0 +MIR128-1 0 +MIR149 0 +MIR26B 0 +MIR3125 0 +MIR3126 0 +MIR3127 0 +MIR3130-2 0 +MIR3606 0 +MIR3679 0 +MIR4263 0 +MIR4269 0 +MIR4426 0 +MIR4434 0 +MIR4435-1 0 +MIR4435-2 0 +MIR4436A 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4757 0 +MIR4765 0 +MIR4772 0 +MIR4773-1 0 +MIR4774 0 +MIR4775 0 +MIR4776-1 0 +MIR4777 0 +MIR5000 0 +MIR5192 0 +MIR548AR 0 +MIR548N 0 +MIR558 0 +MIR559 0 +MIR561 0 +MIR5696 0 +MIR5703 0 +MIR6810 0 +MIR6811 0 +MIR6888 0 +MIR7515 0 +MIR7845 0 +MLPH 0 +MOB4 10 +MOGAT1 0 +MORN2 0 +MPHOSPH10 3 +MROH2A 0 +MRPL19 0 +MRPL30 1 +MRPL33 1 +MRPL35 0 +MRPL44 5 +MRPS9 0 +MSGN1 0 +MSH2 6 +MSH6 3 +MTA3 5 +MTHFD2 0 +MTX2 0 +MXD1 16 +MYCN 0 +MYO1B 1 +MYO3B 1 +MYO7B 0 +MYT1L-AS1 0 +MZT2B 0 +NAB1 0 +NABP1 3 +NAGK 0 +NBEAL1 1 +NCAPH 17 +NCK2 3 +NCOA1 8 +NDUFAF7 1 +NDUFB3 0 +NEU2 0 +NEU4 0 +NIF3L1 1 +NIFK-AS1 1 +NMS 0 +NOP58 2 +NOSTRIN 0 +NOTO 0 +NPAS2 2 +NRBP1 3 +NRP2 0 +NUP35 9 +NYAP2 0 +OR7E91P 0 +OSBPL6 0 +OSGEPL1-AS1 0 +OTX1 0 +PABPC1P2 0 +PAPOLG 2 +PARD3B 2 +PAX8-AS1 0 +PCBP1 113 +PCGEM1 0 +PCYOX1 0 +PDCL3 23 +PDK1 1 +PEX13 1 +PHOSPHO2 0 +PHOSPHO2-KLHL23 0 +PIKFYVE 7 +PKDCC 0 +PKI55 0 +PKP4 0 +PLB1 0 +PLCD4 1 +PLCL1 5 +PLEK 0 +PLEKHA3 2 +PLEKHB2 6 +PLEKHH2 0 +PLGLA 0 +PLGLB1 0 +PLGLB2 0 +PMS1 4 +PNKD 0 +PNO1 0 +POLE4 1 +POLR1B 3 +POTEE 0 +POTEJ 0 +POTEKP 0 +POU3F3 0 +PPIG 34 +PPM1B 2 +PPP1CB 4 +PPP1R1C 0 +PPP1R21 0 +PPP1R7 0 +PQLC3 2 +PRKCE 1 +PRLH 0 +PROC 0 +PROKR1 0 +PROM2 0 +PRORSD1P 0 +PRSS56 0 +PSD4 0 +PSMD1 17 +PSMD14 4 +PTCD3 0 +PTH2R 0 +PTMA 25 +PTPN18 0 +PTPN4 0 +QPCT 0 +R3HDM1 1 +RAB10 8 +RAB3GAP1 4 +RAB6C 0 +RABL2A 0 +RALB 4 +RAMP1 0 +RANBP2 2 +RAPGEF4 0 +RASGRP3 2 +RBM44 0 +RBM45 0 +REG1A 0 +REG3G 0 +REL 5 +RGPD1 0 +RGPD2 0 +RGPD4 0 +RGPD5 0 +RGPD6 0 +RHBDD1 5 +RHOB 0 +RHOQ 0 +RIF1 25 +RMDN2 0 +RMND5A 8 +RNASEH1-AS1 0 +RNF144A 0 +RNF181 3 +RNPEPL1 0 +RNU4ATAC 0 +RNU6-81P 0 +RPE 1 +RPIA 1 +RPL23AP32 0 +RPL31 3 +RPL37A 21 +RPS27A 6 +RPS7 5 +RQCD1 0 +RRM2 27 +RSAD2 0 +RTP5 0 +RUFY4 0 +SAG 0 +SATB2-AS1 0 +SCARNA5 0 +SCARNA6 0 +SCHLAP1 0 +SCLY 0 +SCN2A 0 +SCRN3 1 +SEMA4F 0 +SEPT2 14 +SFT2D3 0 +SGOL2 17 +SGPP2 1 +SH2D6 0 +SH3BP4 3 +SH3RF3 0 +SIX3 0 +SLC11A1 0 +SLC1A4 0 +SLC20A1 1 +SLC30A6 3 +SLC35F6 0 +SLC39A10 10 +SLC3A1 6 +SLC4A10 0 +SLC4A1AP 0 +SLC4A3 0 +SLC5A7 0 +SLC8A1-AS1 1 +SLC9A2 0 +SLC9A4 0 +SMARCAL1 0 +SMYD1 0 +SMYD5 0 +SNED1 0 +SNORA41 0 +SNORD11 0 +SNORD11B 0 +SNORD51 0 +SNORD53 0 +SNORD70 0 +SNORD92 0 +SNORD94 0 +SNRNP27 3 +SNTG2 0 +SNX17 0 +SOCS5 0 +SOWAHC 0 +SOX11 0 +SP100 0 +SP140 0 +SP140L 0 +SP5 0 +SP9 0 +SPAG16 2 +SPAST 1 +SPATA3 0 +SPATS2L 0 +SPDYA 0 +SPEG 0 +SPOPL 0 +SPP2 0 +SPR 2 +SPTBN1 9 +SSB 6 +SSFA2 3 +ST3GAL5-AS1 0 +STAMBP 2 +STARD7-AS1 0 +STEAP3 0 +STK11IP 1 +STK16 0 +STK36 0 +STON1 0 +STON1-GTF2A1L 7 +STRADB 0 +SULT1C2 0 +SULT1C2P1 0 +SULT1C3 0 +SULT1C4 0 +TAF1B 1 +TANC1 1 +TANK 1 +TBR1 0 +TCF23 0 +TCF7L1 2 +TEKT4 0 +TET3 27 +TEX37 1 +TEX41 0 +THNSL2 0 +THSD7B 0 +TISP43 0 +TLX2 0 +TMEM169 0 +TMEM177 0 +TMEM178A 0 +TMEM182 0 +TMEM198 0 +TMEM214 0 +TMEM247 0 +TMEM37 0 +TMEM87B 0 +TMSB10 0 +TNFAIP6 0 +TPO 0 +TRAF3IP1 0 +TRAPPC12 1 +TRIB2 0 +TRIM43 0 +TRIM54 0 +TRPM8 0 +TSN 10 +TTC21B-AS1 0 +TTC27 0 +TTC31 2 +TTC7A 0 +TTL 1 +TTLL4 6 +TTN-AS1 0 +TUBA3D 1 +TUBA4B 3 +TWIST2 0 +UBE2E3 3 +UBE2F 1 +UBE2F-SCLY 0 +UBR3 2 +UBXN2A 0 +UBXN4 24 +UGGT1 1 +UGP2 20 +UGT1A1 0 +UGT1A10 0 +UGT1A3 0 +UGT1A4 0 +UGT1A5 0 +UGT1A6 0 +UGT1A7 0 +UGT1A8 0 +UGT1A9 0 +UNC50 0 +UNC80 0 +UPP2 0 +USP39 1 +VAMP5 0 +VAMP8 0 +VAX2 0 +VIL1 0 +VIT 0 +VRK2 0 +VSNL1 0 +VWA3B 0 +VWC2L 0 +VWC2L-IT1 0 +WASH2P 0 +WBP1 0 +WDR43 4 +WDR54 0 +WDR75 5 +WNT10A 0 +WNT6 0 +XIRP2 1 +XRCC5 5 +YIPF4 0 +YPEL5 50 +YY1P2 0 +ZAK 0 +ZAP70 0 +ZC3H15 21 +ZC3H6 2 +ZDBF2 0 +ZEB2-AS1 0 +ZFAND2B 0 +ZNF2 0 +ZNF512 1 +ZNF638 8 +ZNF804A 0 +AAR2 0 +ABHD16B 0 +ACSS2 0 +ACTL10 0 +ACTR5 1 +ADIG 0 +ADRM1 3 +ANKEF1 0 +AP5S1 0 +APCDD1L-AS1 0 +ARFGAP1 0 +ARFGEF2 2 +ARHGAP40 0 +ASIP 0 +ASXL1 5 +ATRN 0 +BANF2 0 +BCAS4 0 +BIRC7 0 +BMP2 0 +BPI 0 +BPIFA1 0 +BPIFA2 0 +BPIFA3 0 +BPIFA4P 0 +BPIFB1 0 +BPIFB2 0 +BPIFB3 0 +BPIFB4 0 +BPIFB6 0 +BTBD3 0 +C20orf141 0 +C20orf144 0 +C20orf166 0 +C20orf195 0 +C20orf196 0 +C20orf197 0 +C20orf202 0 +C20orf24 0 +C20orf85 0 +CASC20 0 +CASS4 0 +CBFA2T2 0 +CCM2L 0 +CD40 0 +CDC25B 11 +CDH26 0 +CDH4 0 +CDS2 0 +CEBPB 0 +CEP250 1 +CFAP61 0 +CHGB 0 +CHMP4B 1 +CNBD2 0 +COL20A1 0 +COL9A3 0 +COX4I2 1 +CRLS1 2 +CSE1L 2 +CSRP2BP 0 +CST13P 0 +CST7 0 +CST8 0 +CSTF1 9 +CSTL1 0 +CTNNBL1 3 +CTSA 0 +DBNDD2 0 +DDX27 3 +DEFB115 0 +DEFB118 0 +DEFB123 0 +DEFB125 0 +DEFB126 0 +DEFB127 0 +DEFB129 0 +DEFB132 0 +DHX35 0 +DLGAP4 0 +DNAJC5 0 +DNMT3B 11 +DNTTIP1 1 +DOK5 1 +DPH3P1 1 +DSTN 5 +DTD1 0 +DYNLRB1 4 +EBF4 0 +EDN3 0 +ENTPD6 0 +EPB41L1 0 +ERGIC3 1 +EYA2 2 +FAM110A 3 +FAM182A 0 +FAM209A 0 +FAM209B 0 +FAM210B 0 +FAM217B 0 +FAM83C-AS1 0 +FAM83D 0 +FLJ16779 0 +FLJ33581 0 +FRG1B 0 +GDAP1L1 0 +GID8 2 +GINS1 0 +GNAS 2 +GNRH2 0 +GZF1 0 +HAR1A 0 +HCK 0 +HM13 1 +HNF4A 0 +HSPA12B 0 +ID1 0 +IFT52 2 +INSM1 0 +ISM1 0 +ITCH 3 +ITPA 1 +KCNK15 0 +KIF3B 3 +KIZ 1 +L3MBTL1 0 +LAMA5-AS1 0 +LAMP5 0 +LBP 0 +LIME1 0 +LINC00028 0 +LINC00176 0 +LINC00266-1 0 +LINC00493 0 +LINC00494 0 +LINC00851 0 +LINC01056 0 +LINC01270 0 +LINC01272 0 +LINC01273 0 +LINC01370 0 +LINC01432 0 +LINC01433 0 +LINC01440 0 +LOC100130587 0 +LOC100131496 0 +LOC100134868 0 +LOC100270804 0 +LOC100287792 0 +LOC100505515 0 +LOC100506175 0 +LOC100506470 0 +LOC101060004 0 +LOC101926955 0 +LOC101927159 0 +LOC101927631 0 +LOC101927700 0 +LOC101927770 0 +LOC101929010 0 +LOC101929125 0 +LOC101929312 0 +LOC101929371 0 +LOC101929395 0 +LOC101929625 0 +LOC101929698 0 +LOC102723590 0 +LOC149684 0 +LOC149950 0 +LOC388780 0 +LOC63930 0 +LOC643406 0 +LOC729296 0 +LOC79160 0 +LPIN3 0 +LSM14B 1 +MACROD2 0 +MACROD2-IT1 0 +MANBAL 0 +MAP1LC3A 0 +MAPRE1 13 +MAVS 0 +MC3R 0 +MCM8 2 +MCTS2P 0 +MGME1 2 +MIR1-1 0 +MIR103A2 0 +MIR124-3 0 +MIR1292 0 +MIR133A2 0 +MIR3192 0 +MIR3193 0 +MIR3196 0 +MIR3616 0 +MIR3646 0 +MIR4326 0 +MIR4532 0 +MIR4533 0 +MIR4755 0 +MIR499A 0 +MIR5095 0 +MIR644A 0 +MIR645 0 +MIR646HG 1 +MIR6812 0 +MIR6871 0 +MIR8062 0 +MIR941-1 0 +MIR941-2 0 +MIR941-3 0 +MIR941-4 0 +MMP24 0 +MMP9 0 +MOCS3 0 +MRGBP 0 +MRPS26 3 +MTG2 3 +MYBL2 5 +MYH7B 0 +MYL9 0 +MYLK2 0 +MYT1 0 +NAA20 1 +NCOA3 11 +NDUFAF5 0 +NELFCD 1 +NNAT 0 +NOP56 48 +NPEPL1 0 +NRSN2 0 +NTSR1 0 +NXT1 0 +OGFR 0 +OPRL1 0 +OSBPL2 0 +OSER1-AS1 0 +OTOR 0 +OXT 1 +PABPC1L 1 +PANK2 0 +PARD6B 0 +PAX1 0 +PCIF1 1 +PCK1 0 +PCMTD2 1 +PCNA-AS1 0 +PCSK2 0 +PET117 0 +PFDN4 0 +PHACTR3 10 +PHF20 1 +PI3 0 +PIGT 0 +PKIG 0 +PLCB1 4 +PLCB4 0 +PLCG1 0 +POFUT1 0 +POLR3F 1 +PPDPF 0 +PPP1R16B 0 +PRND 0 +PRNP 0 +PROCR 0 +PRPF6 19 +PSMF1 0 +PTPN1 2 +PTPRA 2 +PYGB 0 +R3HDML 0 +RAB22A 6 +RAD21L1 0 +RAE1 8 +RALGAPB 2 +RALY 2 +RBCK1 1 +RBM38 5 +RBPJL 0 +REM1 0 +RIN2 0 +RNF114 17 +ROMO1 0 +RPN2 3 +RPRD1B 0 +RPS21 11 +RTEL1 0 +RTEL1-TNFRSF6B 0 +RTFDC1 1 +SCP2D1 0 +SDCBP2-AS1 1 +SEC23B 0 +SEMG1 0 +SEMG2 0 +SGK2 0 +SIRPA 4 +SLC12A5 4 +SLC17A9 0 +SLC24A3 0 +SLC2A10 0 +SLC2A4RG 1 +SLC32A1 0 +SLC9A8 1 +SLCO4A1 1 +SLX4IP 0 +SMOX 0 +SNAI1 0 +SNAP25 0 +SNHG11 0 +SNORA51 0 +SNORA60 0 +SNORA71E 0 +SNORD110 0 +SNORD12 0 +SNORD12B 0 +SNORD12C 0 +SNORD56 0 +SNORD57 0 +SNORD86 0 +SNPH 1 +SNRPB2 11 +SNX21 2 +SOX12 0 +SPAG4 0 +SPINT4 0 +SPO11 0 +SPTLC3 0 +SRC 0 +SRSF6 1 +SS18L1 0 +SSTR4 0 +STK35 6 +STK4 6 +STX16 10 +STX16-NPEPL1 0 +SYNDIG1 0 +SYS1 1 +SYS1-DBNDD2 0 +TCEA2 0 +TFAP2C 0 +TGIF2 0 +TGIF2-C20orf24 0 +TGM3 0 +TGM6 0 +TLDC2 0 +TM9SF4 8 +TMC2 0 +TMEM239 0 +TNFRSF6B 0 +TOP1 30 +TOX2 5 +TP53INP2 2 +TPD52L2 0 +TPX2 18 +TRIB3 0 +TSHZ2 0 +TTLL9 0 +TTPAL 3 +TUBB1 0 +UBE2C 11 +UBOX5-AS1 0 +UCKL1-AS1 0 +VAPB 2 +VPS16 1 +VSTM2L 0 +WFDC10A 0 +WFDC13 0 +WFDC2 6 +WISP2 0 +XKR7 0 +XRN2 26 +YWHAB 81 +ZBTB46-AS1 0 +ZCCHC3 3 +ZFAS1 0 +ZGPAT 0 +ZNF133 0 +ZNF341 0 +ZNF831 0 +ZSWIM1 0 +ZSWIM3 13 +ABCC13 0 +ABCG1 0 +ADARB1 0 +AGPAT3 2 +AIRE 0 +ANKRD30BP2 0 +B3GALT5 0 +BACE2 1 +BACH1 8 +BACH1-IT2 0 +BRWD1-AS1 0 +BRWD1-IT2 0 +C21orf119 0 +C21orf33 0 +C21orf37 0 +C21orf49 0 +C21orf90 0 +CBR1 0 +CBR3 0 +CHAF1B 0 +CHODL 0 +CLIC6 0 +COL18A1 1 +COL6A1 0 +COL6A2 0 +CRYAA 0 +CXADR 0 +DIP2A 0 +DIP2A-IT1 0 +DOPEY2 1 +DSCAM-AS1 0 +DSCR10 0 +DSCR8 2 +DSCR9 0 +DYRK1A 12 +ETS2 0 +EVA1C 0 +FAM207A 0 +FAM3B 0 +GABPA 0 +GRIK1-AS1 0 +GRIK1-AS2 0 +HUNK 1 +IFNAR1 0 +IFNAR2 2 +IFNGR2 0 +IGSF5 0 +IL10RB 0 +ITGB2-AS1 0 +ITSN1 12 +JAM2 1 +KCNE2 0 +KCNJ15 0 +KRTAP10-10 0 +KRTAP10-11 0 +KRTAP10-12 0 +KRTAP10-4 0 +KRTAP10-7 0 +KRTAP10-8 0 +KRTAP10-9 0 +KRTAP12-3 0 +KRTAP13-1 0 +KRTAP13-4 0 +KRTAP15-1 0 +KRTAP20-1 0 +KRTAP20-2 0 +KRTAP20-3 0 +KRTAP20-4 0 +KRTAP22-1 0 +KRTAP6-3 0 +LINC00111 0 +LINC00112 0 +LINC00113 0 +LINC00161 0 +LINC00189 0 +LINC00308 0 +LINC00310 0 +LINC00314 0 +LINC00319 0 +LINC00649 0 +LINC00945 0 +LINC01424 0 +LINC01425 0 +LINC01426 0 +LINC01436 0 +LOC101928398 0 +LOC101928796 0 +LOC102724188 0 +LOC339622 0 +LOC400863 0 +LOC642852 0 +LRRC3 0 +MAP3K7CL 9 +MCM3AP-AS1 0 +MIR125B2 0 +MIR155 0 +MIR155HG 0 +MIR3197 0 +MIR3648-1 0 +MIR3687-1 0 +MIR4759 0 +MIR6501 0 +MIR6508 0 +MIR6815 0 +MIR802 0 +MIR8069-1 0 +MIR99A 0 +MIR99AHG 0 +MIRLET7C 0 +MORC3 1 +MRAP 0 +MRPS6 3 +MX1 0 +MX2 1 +NCAM2 0 +NDUFV3 0 +OLIG1 0 +OLIG2 0 +PAXBP1-AS1 0 +PCBP3 0 +PCNT 1 +PCP4 0 +PDE9A 2 +PDXK 0 +PFKL 0 +PKNOX1 2 +POTED 0 +PRMT2 4 +PWP2 1 +RBM11 1 +RIPPLY3 0 +RNU6-67P 0 +RRP1 0 +RRP1B 2 +SAMSN1-AS1 0 +SH3BGR 0 +SIM2 0 +SLC37A1 0 +SLC5A3 2 +SMIM11 0 +SOD1 3 +SON 27 +TRAPPC10 3 +TRPM2 0 +TSPEAR-AS1 0 +TTC3 4 +UBASH3A 0 +UMODL1 2 +USP16 12 +USP25 2 +WRB 0 +YBEY 0 +ZNF295-AS1 0 +ACO2 0 +ACR 0 +ADM2 0 +ADORA2A 0 +ADRBK2 1 +ADSL 2 +AIFM3 0 +AP1B1P1 0 +APOBEC3A 0 +APOBEC3A_B 0 +APOBEC3B 0 +APOBEC3C 0 +APOBEC3D 0 +APOBEC3F 0 +APOBEC3G 0 +APOBEC3H 0 +APOL1 0 +APOL5 0 +APOL6 0 +ARHGAP8 0 +ASPHD2 2 +ATF4 3 +ATXN10 0 +BCL2L13 9 +BCR 1 +BCRP2 0 +BCRP3 0 +BIK 0 +BMS1P17 0 +BMS1P18 0 +BMS1P20 0 +C22orf15 0 +C22orf46 0 +CABIN1 0 +CABP7 0 +CACNA1I 0 +CBY1 3 +CCDC116 0 +CCDC117 1 +CCDC134 0 +CCDC157 1 +CDC42EP1 0 +CDC45 5 +CECR2 1 +CECR5-AS1 0 +CECR7 0 +CHKB-AS1 0 +COMT 0 +CRELD2 3 +CRKL 24 +CRYBA4 0 +CRYBB2 0 +CRYBB2P1 0 +CRYBB3 0 +CSDC2 0 +CSF2RB 0 +CYTH4 0 +DDTL 0 +DEPDC5 0 +DGCR10 0 +DGCR5 0 +DGCR6 0 +DGCR8 2 +DGCR9 0 +DRG1 0 +EFCAB6-AS1 0 +EIF3L 4 +EMID1 0 +EP300 11 +EWSR1 0 +FAM109B 0 +FAM118A 3 +FAM19A5 0 +FAM230B 0 +FAM83F 0 +FBLN1 0 +FBXO7 3 +FBXW4P1 0 +FLJ41941 0 +GALR3 0 +GAS2L1 0 +GCAT 3 +GGA1 1 +GGT1 0 +GGTLC2 0 +GNAZ 0 +GP1BB 0 +GRAMD4 0 +GRAP2 1 +GSTT2 0 +GSTT2B 0 +GTPBP1 0 +GTSE1 14 +H1F0 3 +HIC2 27 +HMGXB4 17 +HMOX1 0 +HORMAD2 0 +HSCB 0 +HSFY1P1 0 +IGLL3P 2 +IGLL5 0 +IL17RA 3 +INPP5J 0 +ISX 0 +KCTD17 0 +KDELR3 0 +KIAA1671 4 +KLHDC7B 0 +KREMEN1 0 +L3MBTL2 1 +LARGE-AS1 0 +LGALS1 0 +LIMK2 0 +LINC00207 0 +LINC00528 0 +LINC00634 0 +LINC00896 0 +LINC01310 0 +LINC01311 0 +LINC01422 0 +LL22NC01-81G9.3 0 +LOC100130899 0 +LOC100506472 0 +LOC100506679 0 +LOC100996342 0 +LOC101927257 0 +LOC101927526 0 +LOC101928891 0 +LOC101929374 0 +LOC101929760 0 +LOC284930 0 +LOC339666 0 +LOC391322 0 +LOC54944 0 +LOC648691 0 +LOC730668 0 +LRRC74B 0 +LZTR1 1 +MAFF 0 +MAPK8IP2 0 +MCHR1 0 +MCM5 0 +MED15 6 +MEI1 0 +MGAT3 0 +MIAT 0 +MIATNB 0 +MICALL1 0 +MIEF1 3 +MIF 0 +MIOX 0 +MIR1281 0 +MIR1306 0 +MIR130B 0 +MIR185 0 +MIR301B 0 +MIR3199-2 0 +MIR3200 0 +MIR3201 0 +MIR33A 0 +MIR3618 0 +MIR3619 0 +MIR3909 0 +MIR4534 0 +MIR4535 0 +MIR4761 0 +MIR4762 0 +MIR4763 0 +MIR5739 0 +MIR650 0 +MIR6817 0 +MIR6818 0 +MIR6820 0 +MIR6821 0 +MIRLET7A3 0 +MIRLET7B 0 +MIRLET7BHG 0 +MMP11 0 +MORC2-AS1 0 +MOV10L1 0 +MPPED1 0 +MPST 0 +MRPL40 0 +MTFP1 0 +MTMR3 62 +MYO18B 0 +NCAPH2 0 +NCF4 0 +NDUFA6-AS1 0 +NEFH 11 +NF2 0 +NOL12 3 +NUP50 5 +OGFRP1 0 +OSBP2 0 +P2RX6 0 +PANX2 0 +PARVB 0 +PARVG 0 +PDXP 0 +PEX26 0 +PICK1 0 +PIM3 2 +PNPLA3 0 +POLR2F 0 +POM121L4P 0 +POM121L8P 0 +POM121L9P 0 +POTEH-AS1 0 +PPARA 0 +PPIL2 5 +PPP6R2 0 +PRR34-AS1 0 +PRR5 1 +PRR5-ARHGAP8 0 +RAB36 3 +RANBP1 0 +RASD2 0 +RBX1 4 +RFPL1 0 +RFPL3 0 +RGL4 0 +RIBC2 0 +RIMBP3B 0 +RIMBP3C 0 +RNF185 0 +RNU12 0 +RPL23AP82 0 +SAMM50 0 +SDF2L1 0 +SEC14L2 0 +SELO 0 +SEPT3 0 +SEPT5 0 +SEPT5-GP1BB 0 +SERHL 0 +SERHL2 3 +SERPIND1 0 +SEZ6L 0 +SFI1 0 +SGSM1 0 +SGSM3 0 +SH3BP1 1 +SHANK3 0 +SLC25A18 0 +SLC2A11 1 +SLC35E4 0 +SLC5A1 0 +SMARCB1 1 +SMDT1 0 +SMTN 0 +SNAP29 8 +SNRPD3 9 +SPECC1L 1 +SPECC1L-ADORA2A 0 +SREBF2 2 +SRRD 0 +SUSD2 0 +SYNGR1 0 +TAB1 0 +TANGO2 0 +TBC1D22A 0 +TBX1 0 +TCN2 0 +TEF 0 +THAP7-AS1 0 +TIMP3 0 +TMEM191A 0 +TMEM191B 0 +TMEM191C 0 +TNRC6B 16 +TOM1 0 +TOMM22 0 +TOP1P2 0 +TPTEP1 0 +TRABD 0 +TRIOBP 2 +TRMU 0 +TSPO 0 +TSSK2 0 +TTC28-AS1 1 +TTC38 0 +TUBA8 0 +TUG1 1 +UBE2L3 7 +UPB1 0 +UPK3A 0 +UQCR10 0 +USP18 0 +VPREB1 0 +WBP2NL 0 +XPNPEP3 0 +XRCC6 2 +YWHAH 6 +ZBED4 1 +ZC3H7B 0 +ZDHHC8 0 +ZNF74 1 +ZNRF3 1 +AADAC 0 +AADACL2 0 +AADACP1 0 +ABCC5-AS1 0 +ABCF3 0 +ABHD10 0 +ABHD14A 0 +ABHD14A-ACY1 0 +ABHD5 0 +ABHD6 0 +ABTB1 0 +ACAD9 0 +ACKR2 0 +ACKR4 0 +ACPP 0 +ACTL6A 1 +ACVR2B 11 +ACY1 0 +ADAMTS9-AS1 0 +ADAMTS9-AS2 0 +ADIPOQ 0 +ADPRH 0 +AGTR1 0 +AHSG 0 +ALAS1 23 +ALCAM 0 +ALDH1L1-AS1 0 +ALDH1L1-AS2 0 +ALG1L2 0 +AP2M1 1 +APEH 0 +APPL1 1 +ARGFX 0 +ARHGAP31 0 +ARHGEF26 2 +ARHGEF3-AS1 0 +ARIH2 3 +ARL13B 14 +ARL14 0 +ARL6 1 +ARL6IP5 0 +ARL8B 5 +ARMC8 2 +ARPC4 1 +ARPC4-TTLL3 0 +ARPP21 0 +ATG7 2 +ATP11B 2 +ATP13A4-AS1 0 +ATP13A5-AS1 0 +ATP1B3 1 +ATP2C1 1 +ATP6V1A 0 +ATRIP 0 +ATXN7 0 +B3GNT5 0 +B4GALT4-AS1 0 +BBX 0 +BFSP2 0 +BHLHE40 5 +BHLHE40-AS1 0 +BOC 0 +BPESC1 0 +BRK1 2 +BRPF1 6 +BSN 0 +BTD 0 +C3orf14 0 +C3orf20 0 +C3orf30 0 +C3orf35 0 +C3orf38 8 +C3orf49 0 +C3orf52 0 +C3orf55 0 +C3orf56 90 +C3orf58 0 +C3orf65 0 +C3orf67-AS1 0 +C3orf79 0 +C3orf80 0 +CACNA1D 1 +CACNA2D3 2 +CADM2 0 +CAMP 0 +CAND2 0 +CAPN7 0 +CASR 0 +CAV3 0 +CCDC13-AS1 0 +CCDC174 6 +CCDC36 0 +CCDC37 0 +CCDC50 1 +CCDC54 0 +CCDC66 2 +CCR2 0 +CCR3 4 +CCR4 0 +CCR5 0 +CCR8 0 +CCR9 0 +CCRL2 0 +CD200 0 +CD86 0 +CD96 0 +CDV3 5 +CELSR3-AS1 0 +CEP63 5 +CEP97 2 +CFAP44-AS1 0 +CHCHD6 1 +CHL1 0 +CHMP2B 5 +CHRD 0 +CHST13 0 +CHST2 0 +CLDN11 0 +CLDN16 0 +CLDN18 0 +CLEC3B 0 +CLRN1-AS1 0 +CLSTN2 0 +CMC1 0 +CMSS1 1 +CMTM7 0 +CMTM8 1 +CNOT10 2 +CNTN4 3 +CNTN6 1 +COL6A4P2 0 +COL6A5 0 +COL6A6 2 +COL8A1 0 +COPG1 1 +CPA3 0 +CPB1 0 +CPNE9 2 +CRELD1 0 +CRTAP 0 +CRYBG3 2 +CSTA 0 +CTDSPL 11 +CTNNB1 7 +CXCR6 0 +CYB561D2 0 +DAG1 1 +DHX30 2 +DIRC2 2 +DLEC1 0 +DLG1-AS1 0 +DNAH1 0 +DNAJB11 3 +DNAJB8-AS1 0 +DNAJC13 4 +DOCK3 0 +DTX3L 0 +DVL3 0 +DZIP3 0 +EAF1 0 +EAF2 0 +EBLN2 0 +ECE2 0 +ECT2 9 +EDEM1 2 +EEFSEC 0 +EFCC1 0 +EGFEM1P 0 +EHHADH-AS1 0 +EIF1B 4 +EIF2A 9 +EIF2B5 0 +EIF4A2 34 +EIF4G1 1 +EMC3-AS1 0 +ENTPD3 0 +EPHA3 0 +EPHA6 0 +EPHB1 1 +EPHB3 0 +ERICH6-AS1 0 +ESYT3 0 +EXOG 3 +EXOSC7 4 +FAIM 0 +FAM131A 0 +FAM157A 0 +FAM162A 0 +FAM172BP 5 +FAM198A 0 +FAM19A1 0 +FAM212A 0 +FAM43A 0 +FAM86JP 0 +FANCD2 3 +FBLN2 0 +FBXL2 1 +FBXO40 0 +FBXO45 13 +FBXW12 7 +FETUB 0 +FGD5 1 +FGD5P1 0 +FGF12-AS1 0 +FLJ20518 0 +FLJ22763 0 +FLJ42393 0 +FLNB 2 +FNDC3B 9 +FOXL2NB 0 +FRG2C 0 +FXR1 4 +FYTTD1 0 +GALNT15 0 +GAP43 0 +GATA2-AS1 0 +GFM1 1 +GHRLOS 0 +GLYCTK 0 +GMPS 1 +GNAI2 4 +GNAT1 0 +GNL3 8 +GOLGA4 14 +GP9 0 +GPD1L 1 +GPR128 0 +GPR15 0 +GPR160 0 +GPR27 0 +GPR62 0 +GRAMD1C 0 +GRK7 0 +GRM2 0 +GRM7 0 +GTF2E1 1 +GTPBP8 2 +GXYLT2 0 +GYG1 79 +H1FOO 226 +H1FX-AS1 0 +HDAC11 0 +HEMK1 0 +HES1 0 +HHLA2 28 +HLTF-AS1 0 +HMCES 2 +HPS3 0 +HRASLS 0 +HRG 1 +HRH1 0 +HTR1F 0 +HTR3C 0 +HTR3D 0 +HTR3E 0 +IFT122 0 +IGSF11-AS1 0 +IL12A 0 +IL17RB 1 +IL17RC 0 +IL17RE 0 +IL1RAP 0 +IL20RB 0 +IQCF2 0 +IQCF3 0 +IQCF4 0 +IQCF5-AS1 0 +IQCJ 2 +IQCJ-SCHIP1 0 +IRAK2 0 +ITGA9 1 +ITIH1 0 +ITIH3 0 +ITIH4-AS1 0 +ITPR1 3 +JAGN1 4 +KALRN 11 +KAT2B 0 +KBTBD12 0 +KBTBD8 0 +KCNAB1 0 +KCNH8 0 +KCNMB2 0 +KCTD6 0 +KIF15 0 +KIF9-AS1 0 +KLHDC8B 0 +KLHL18 22 +KLHL24 0 +KLHL40 0 +KLHL6-AS1 0 +KNG1 0 +KRBOX1 0 +LARS2 1 +LEKR1 0 +LIMD1 3 +LINC00312 0 +LINC00488 0 +LINC00501 0 +LINC00506 0 +LINC00578 0 +LINC00620 0 +LINC00636 0 +LINC00690 0 +LINC00693 0 +LINC00698 0 +LINC00852 0 +LINC00870 0 +LINC00879 0 +LINC00881 0 +LINC00883 0 +LINC00884 0 +LINC00885 0 +LINC00888 0 +LINC00901 0 +LINC00960 0 +LINC00969 0 +LINC01014 0 +LINC01100 0 +LINC01205 0 +LINC01206 0 +LINC01210 0 +LINC01212 0 +LINC01213 0 +LINC01215 0 +LINC01266 0 +LINC01330 0 +LINC01487 0 +LINCR-0002 0 +LMCD1 0 +LMLN 3 +LNP1 0 +LOC100129550 0 +LOC100131635 0 +LOC100132146 0 +LOC100507291 0 +LOC100507389 0 +LOC100507391 0 +LOC100507661 0 +LOC101243545 2 +LOC101927296 0 +LOC101927374 0 +LOC101927416 0 +LOC101927829 0 +LOC101927854 2 +LOC101928790 0 +LOC101929337 0 +LOC101929607 0 +LOC101929754 0 +LOC102723448 0 +LOC102723582 0 +LOC102724550 0 +LOC152225 0 +LOC339862 0 +LOC344887 0 +LOC440982 0 +LOC646903 0 +LOC729083 0 +LOC90246 0 +LPP 2 +LRCH3 3 +LRRC2-AS1 0 +LRRC3B 0 +LRRIQ4 0 +LRRN1 0 +LSAMP-AS1 0 +LSM3 1 +LSMEM2 0 +MAATS1 0 +MAGI1-AS1 0 +MANF 9 +MAP3K13 0 +MAPKAPK3 0 +MBNL1 4 +MCM2 4 +MED12L 1 +MFI2-AS1 0 +MFN1 2 +MFSD1 0 +MGC2889 0 +MIR1224 0 +MIR1226 0 +MIR1248 0 +MIR128-2 0 +MIR1324 0 +MIR138-1 0 +MIR15B 0 +MIR16-2 0 +MIR26A1 0 +MIR3714 0 +MIR3919 0 +MIR4271 0 +MIR4272 0 +MIR4273 0 +MIR4443 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4446 0 +MIR4787 0 +MIR4788 0 +MIR4789 0 +MIR5002 0 +MIR548A2 0 +MIR548AC 0 +MIR548AY 0 +MIR548H2 0 +MIR551B 0 +MIR563 0 +MIR564 0 +MIR567 0 +MIR5688 0 +MIR570 0 +MIR5787 0 +MIR6083 0 +MIR6822 0 +MIR6826 0 +MIR6828 0 +MIR6872 0 +MIR7110 0 +MIR8060 0 +MIR944 0 +MITF 7 +MKRN2 2 +MLF1 4 +MLH1 0 +MME 0 +MOBP 0 +MRAS 2 +MRPS22 0 +MTMR14 0 +MUC20 0 +MYD88 0 +MYLK-AS1 0 +MYLK-AS2 0 +MYNN 3 +MYRIP 2 +NAALADL2 0 +NBEAL2 0 +NCBP2-AS2 0 +NCK1 0 +NDUFAF3 0 +NDUFB4 0 +NDUFB5 4 +NEK11 0 +NFKBIZ 0 +NISCH 2 +NIT2 0 +NKTR 11 +NLGN1 1 +NMD3 3 +NPHP3-AS1 0 +NR1D2 0 +NR1I2 0 +NR2C2 2 +NRADDP 0 +NRROS 0 +NSUN3 0 +NUDT16 3 +NUDT16P1 0 +NUP210P1 0 +NXPE3 0 +OGG1 0 +OPA1 4 +OR5AC2 0 +OR5H1 0 +OR5H14 0 +OR5H15 0 +OR5H2 0 +OR5H6 0 +OR5K1 0 +OR5K2 0 +OR5K3 0 +OR5K4 0 +OSBPL10-AS1 0 +OSTN 0 +OTOL1 0 +OXNAD1 1 +OXSM 2 +OXSR1 1 +P2RY1 0 +P4HTM 0 +PAK2 7 +PAQR9-AS1 0 +PARP14 0 +PARP15 0 +PARP3 0 +PCCB 6 +PCNP 3 +PDCD6IP 5 +PDCL3P4 1 +PDE12 0 +PDIA5 0 +PDZRN3-AS1 0 +PHF7 0 +PHLDB2 2 +PIGX 0 +PIK3CA 1 +PLA1A 0 +PLCL2 0 +PLCXD2 0 +PLS1 5 +PLXNA1 0 +PODXL2 0 +POGLUT1 0 +POLR2H 0 +PPARG 0 +PPM1L 0 +PPM1M 0 +PPP2R3A 0 +PPP4R2 6 +PRICKLE2-AS1 0 +PRICKLE2-AS2 0 +PRICKLE2-AS3 0 +PRKAR2A-AS1 0 +PRKCD 0 +PRKCI 1 +PRRT3-AS1 0 +PSMD2 25 +PSMD6-AS2 0 +PTH1R 0 +PTPN23 0 +PTPRG 0 +PTX3 0 +PVRL3 4 +PXK 11 +PXYLP1 5 +PYDC2 0 +QTRTD1 3 +RAB5A 0 +RAB7A 6 +RAD54L2 18 +RAP2B 6 +RARB 0 +RASA2 0 +RASSF1-AS1 0 +RBM15B 0 +RBM5 0 +RBM6 3 +RBMS3 0 +RHO 0 +RNF123 0 +RNF13 3 +RNF7 1 +RNU6-2 0 +ROBO2 0 +ROPN1B 0 +RPL14 6 +RPL15 37 +RPL35A 6 +RPP14 4 +RPSA 13 +RSRC1 2 +RTP1 3 +RTP3 0 +RTP4 0 +RUVBL1-AS1 0 +SACM1L 11 +SAMD7 0 +SCHIP1 0 +SDHAP2 0 +SEC22A 12 +SEC61A1 2 +SEC62 11 +SELT 3 +SEMA3B 0 +SEMA3F 0 +SENP2 1 +SENP5 2 +SERPINI1 0 +SETD5 1 +SETMAR 0 +SGOL1-AS1 0 +SH3BP5-AS1 1 +SIDT1 0 +SKIL 1 +SLC15A2 0 +SLC22A13 0 +SLC22A14 0 +SLC25A26 3 +SLC25A36 0 +SLC25A38 3 +SLC35A5 3 +SLC35G2 0 +SLC38A3 0 +SLC51A 0 +SLC6A1 0 +SLC6A11 0 +SLC6A6 5 +SLC9A9-AS1 0 +SLMAP 0 +SMC4 5 +SMIM4 0 +SNAR-I 0 +SNORA4 1 +SNORA6 1 +SNORA62 0 +SNORA63 0 +SNORA81 0 +SNORD19 0 +SNORD19B 0 +SNORD2 0 +SNORD66 0 +SNORD69 0 +SNRK 3 +SNTN 0 +SOX14 0 +SOX2 0 +SOX2-OT 0 +SPATA12 0 +SPCS1 4 +SPSB4 0 +SRGAP3-AS3 0 +SRPRB 1 +SS18L2 2 +ST3GAL6 0 +ST6GAL1 0 +STAB1 0 +STAC 0 +STT3B 2 +STXBP5L 0 +SUCLG2-AS1 0 +SUCNR1 0 +SYN2 6 +SYNPR 0 +TAGLN3 0 +TATDN2 0 +TBC1D23 13 +TCAIM 1 +TCTA 0 +TDGF1 2 +TEX264 0 +TF 0 +TFG 17 +TGFBR2 0 +TGM4 0 +THOC7-AS1 0 +THRB-AS1 0 +THUMPD3 8 +TIGIT 2 +TIMMDC1 1 +TIPARP 29 +TM4SF1-AS1 0 +TM4SF19-AS1 0 +TM4SF4 0 +TMA7 0 +TMCC1-AS1 0 +TMEM108 0 +TMEM212 0 +TMEM30C 0 +TMEM42 0 +TMEM43 7 +TMEM44-AS1 1 +TMEM45A 0 +TMIE 0 +TMPRSS7 0 +TOPAZ1 0 +TP63 1 +TPRG1 0 +TPRXL 35 +TRAK1 16 +TRAT1 0 +TREX1 0 +TRH 0 +TRIM42 0 +TRIM71 0 +TRMT10C 0 +TRNT1 2 +TRPC1 0 +TSC22D2 9 +TSEN2 0 +TTC14 0 +TTC21A 0 +TTLL3 0 +TUSC7 0 +U2SURP 4 +UBA5 4 +UBE2E1 0 +UBE2E2 0 +UMPS 1 +UPK1B 0 +USP13 7 +VENTXP7 0 +VHL 1 +VILL 0 +VIPR1 0 +VPS8 0 +VWA5B2 0 +WDR48 3 +WDR6 0 +WWTR1-AS1 0 +XXYLT1-AS1 0 +XXYLT1-AS2 0 +XYLB 0 +YEATS2 2 +ZBTB11-AS1 0 +ZBTB20-AS1 0 +ZBTB20-AS4 0 +ZBTB38 5 +ZBTB47 0 +ZCWPW2 0 +ZDHHC23 1 +ZIC1 0 +ZKSCAN7 0 +ZNF197 0 +ZNF35 0 +ZNF385D-AS1 1 +ZNF385D-AS2 0 +ZNF501 2 +ZNF502 4 +ZNF589 4 +ZNF619 0 +ZNF620 0 +ZNF621 0 +ZNF639 1 +ZNF654 6 +ZNF660 0 +ZNF662 1 +ZNF860 0 +ZPLD1 1 +ABCE1 4 +ADAD1 6 +ADAM29 0 +ADD1 4 +ADRA2C 0 +AFAP1-AS1 1 +AFF1 5 +AFM 0 +AFP 0 +AGPAT9 4 +AIMP1 0 +ALB 0 +ALPK1 0 +AMBN 0 +AMTN 0 +ANAPC4 4 +ANK2 0 +ANKRD37 4 +ANXA10 0 +ANXA3 0 +AP1AR 0 +APELA 0 +AREG 0 +ARFIP1 6 +ARHGAP10 9 +ARHGAP24 0 +ARHGEF38 0 +ARHGEF38-IT1 0 +ARL9 0 +ART3 0 +ATOH1 0 +ATP10D 1 +BANK1 0 +BBS12 0 +BLOC1S4 0 +BMP2K 1 +BMP3 0 +BMPR1B 0 +BST1 0 +C1QTNF7 0 +C4orf17 0 +C4orf19 2 +C4orf22 0 +C4orf26 0 +C4orf29 0 +C4orf32 0 +C4orf33 0 +C4orf47 18 +C4orf48 0 +C4orf51 0 +C4orf6 0 +CABS1 0 +CC2D2A 0 +CCDC109B 0 +CCNG2 0 +CCRN4L 0 +CCSER1 0 +CD38 1 +CDKN2AIP 3 +CDS1 6 +CEP135 0 +CEP170P1 0 +CEP44 1 +CFAP99 0 +CHRNA9 0 +CISD2 1 +CLCN3 6 +CLRN2 0 +COPS4 3 +CPE 0 +CPEB2 2 +CPZ 0 +CRIPAK 0 +CSN1S1 0 +CSN1S2AP 0 +CSN1S2BP 0 +CSN3 0 +CTBP1-AS 0 +CTBP1-AS2 2 +CWH43 0 +CXCL1 0 +CXCL13 0 +CXCL6 0 +CXCL8 0 +CYP2U1 1 +CYP4V2 1 +DANCR 0 +DAPP1 0 +DBET 0 +DCAF4L1 5 +DCK 1 +DCLK2 10 +DCUN1D4 1 +DEAR 0 +DEFB131 0 +DKFZP434I0714 0 +DMP1 0 +DOK7 0 +DRD5 0 +DSPP 0 +DTHD1 0 +EDNRA 0 +EGF 0 +ELMOD2 0 +ENAM 0 +ENOPH1 1 +ENPEP 0 +EPGN 0 +EPHA5-AS1 0 +EREG 0 +ETFDH 1 +EVC 0 +EXOC1 0 +EXOSC9 12 +F11 0 +FAM114A1 0 +FAM13A-AS1 0 +FAM149A 1 +FAM160A1 1 +FAM193A 8 +FAM200B 0 +FAM218A 0 +FAM47E 0 +FAM47E-STBD1 0 +FAM92A1P2 0 +FAT4 0 +FDCSP 0 +FGB 0 +FGF2 0 +FGF5 0 +FGFR3 0 +FGFRL1 0 +FHDC1 0 +FIP1L1 17 +FLJ20021 0 +FNIP2 13 +FRAS1 0 +FRG1 3 +FTLP10 0 +GAB1 24 +GABRB1 0 +GALNT7 2 +GALNTL6 0 +GAR1 0 +GBA3 0 +GLRB 0 +GPR78 0 +GRIA2 0 +GRID2 0 +GRK4 0 +GRXCR1 0 +GSTCD 4 +GSX2 0 +GUCY1A3 0 +GUCY1B3 0 +GUF1 1 +GUSBP5 0 +HADH 2 +HAND2-AS1 0 +HELT 0 +HERC3 2 +HERC5 0 +HERC6 18 +HGFAC 0 +HHIP 0 +HSPA4L 4 +HTN1 0 +HTN3 0 +HTRA3 0 +HTT 0 +IBSP 0 +IDUA 0 +IGFBP7-AS1 0 +IL15 0 +IL21-AS1 0 +ING2 1 +INTU 0 +JADE1 1 +KIAA0232 1 +KIAA0922 42 +KIAA1109 0 +KIAA1211 0 +KIT 3 +KLB 0 +KLF3 0 +KLHL2 1 +KLHL5 0 +KLKB1 0 +LAP3 0 +LARP1B 7 +LARP7 38 +LEF1-AS1 0 +LIAS 1 +LIMCH1 3 +LINC00499 0 +LINC00955 0 +LINC00989 0 +LINC01060 0 +LINC01085 0 +LINC01088 0 +LINC01091 0 +LINC01094 0 +LINC01098 0 +LINC01179 0 +LINC01182 0 +LINC01207 0 +LINC01262 0 +LINC01378 0 +LNX1-AS1 0 +LNX1-AS2 0 +LOC100506122 0 +LOC100507053 0 +LOC100996286 0 +LOC100996694 0 +LOC101060498 0 +LOC101929064 0 +LOC152578 0 +LOC256880 0 +LOC285484 0 +LOC340017 0 +LOC401127 0 +LOC439933 0 +LOC441025 0 +LOC550113 0 +LOC644145 0 +LOC645513 0 +LOC650293 0 +LOC728040 0 +LOC729218 0 +LOC93622 0 +LPHN3 0 +LRAT 4 +LRIT3 0 +LSM6 1 +MAB21L2 1 +MAEA 2 +MAN2B2 0 +MED28 0 +MEPE 0 +METAP1 1 +METTL14 1 +MGST2 8 +MIR1243 0 +MIR1273H 0 +MIR1305 0 +MIR1973 0 +MIR2054 0 +MIR218-1 0 +MIR3684 0 +MIR3688-2 0 +MIR4274 0 +MIR4275 0 +MIR4276 0 +MIR4449 0 +MIR4450 0 +MIR4451 0 +MIR4453 0 +MIR4798 0 +MIR4799 0 +MIR5091 0 +MIR5684 0 +MIR572 0 +MIR574 0 +MIR577 0 +MIR578 0 +MIR6082 0 +MIR7849 0 +MIR8053 0 +MIR8082 0 +MMAA 4 +MMRN1 0 +MND1 1 +MOB1B 0 +MRFAP1 6 +MRPL1 0 +MRPS18C 0 +MSANTD1 0 +MSMO1 0 +MSX1 0 +MTHFD2L 0 +MTTP 0 +MUC7 0 +MYL5 0 +MYOZ2 0 +N4BP2 3 +NAA15 5 +NAT8L 0 +NCAPG 2 +NDST3 0 +NEIL3 0 +NFKB1 0 +NIPAL1 0 +NOP14-AS1 1 +NPFFR2 1 +NPNT 0 +NPY2R 0 +NPY5R 0 +NSG1 12 +NSUN7 2 +NUDT9 1 +NWD2 0 +OCIAD1 4 +ODAM 0 +OSTC 2 +PACRGL 0 +PAICS 0 +PALLD 10 +PARM1 0 +PCAT4 0 +PCDH10 0 +PCDH7 0 +PCGF3 3 +PDE6B 1 +PDGFRA 0 +PDHA2 0 +PDLIM5 0 +PF4V1 0 +PGM2 0 +PI4K2B 2 +PIGG 0 +PKD2 1 +PLK4 0 +POLR2B 0 +POU4F2 0 +PP12613 0 +PRDM8 0 +PRIMPOL 1 +PROL1 0 +PRR27 0 +PRSS48 0 +PTPN13 3 +PTTG2 0 +RAB33B 0 +RAP1GDS1 1 +RAPGEF2 1 +RASL11B 0 +RBM46 10 +RBPJ 1 +REST 3 +RGS12 0 +RHOH 0 +RNF4 2 +RPL34 1 +RPS3A 2 +RRH 0 +RUFY3 0 +RXFP1 0 +S100P 0 +SAP30 0 +SCARNA22 1 +SCOC 3 +SEC24B 2 +SEPSECS-AS1 0 +SEPT11 25 +SGMS2 8 +SH3BP2 1 +SH3TC1 1 +SHISA3 0 +SHROOM3 0 +SLAIN2 1 +SLC10A4 0 +SLC25A31 0 +SLC25A4 0 +SLC30A9 0 +SLC34A2 0 +SLC4A4 0 +SLC7A11-AS1 1 +SLIT2 0 +SLIT2-IT1 0 +SMAD1 23 +SMARCA5 7 +SMARCAD1 1 +SMIM20 0 +SMR3A 0 +SMR3B 0 +SNCA-AS1 0 +SNHG8 3 +SNORA24 0 +SNORA26 0 +SNORD73A 0 +SNX25 1 +SOD3 0 +SORCS2 1 +SPATA18 0 +SPATA5 4 +SPCS3 0 +SPP1 0 +SPRY1 0 +SRD5A3 0 +SRP72 12 +STAP1 0 +STATH 0 +STBD1 0 +STIM2 5 +STK32B 2 +STOX2 0 +STPG2-AS1 0 +STX18-AS1 0 +SYNPO2 0 +TACC3 34 +TADA2B 1 +TAPT1-AS1 1 +TBC1D1 7 +TBC1D14 7 +TBC1D19 0 +TDO2 0 +TENM3 0 +TET2 4 +THAP6 0 +THAP9 0 +THEGL 0 +TIGD2 0 +TLL1 1 +TLR2 0 +TLR3 0 +TMA16 1 +TMEM144 0 +TMEM165 0 +TMEM175 0 +TMEM184C 0 +TMEM33 3 +TMPRSS11E 0 +TRAPPC11 2 +TRIM2 0 +TRIM60 3 +TRIML1 0 +TRMT44 7 +UBA6-AS1 0 +UBE2K 7 +UCHL1 54 +UGDH-AS1 0 +UGT2B10 0 +UGT2B28 0 +UGT2B7 0 +UGT8 1 +USO1 5 +USP17L10 0 +USP17L11 0 +USP17L12 0 +USP17L13 0 +USP17L15 0 +USP17L17 0 +USP17L18 0 +USP17L19 0 +USP17L20 0 +USP17L21 0 +USP17L22 0 +USP17L24 0 +USP17L25 0 +USP17L26 0 +USP17L27 0 +USP17L28 0 +USP17L29 0 +USP17L30 0 +USP17L5 0 +USP17L6P 0 +USP17L9P 0 +USP38 0 +USP46-AS1 0 +USP53 0 +UTP3 0 +UVSSA 0 +WDFY3-AS2 0 +WDR17 0 +WDR19 0 +WFS1 2 +WHSC1 26 +WWC2 3 +ZAR1 1 +ZBTB49 19 +ZCCHC4 1 +ZFP42 0 +ZNF141 0 +ZNF330 14 +ZNF595 12 +ZNF718 0 +ZNF876P 0 +TMPRSS11E 0 +UGT2B10 0 +ABLIM3 0 +ADAMTS16 0 +ADAMTS19 0 +ADCY2 0 +ADRA1B 0 +ADRB2 0 +AFAP1L1 0 +AGGF1 8 +AHRR 0 +ANKDD1B 0 +ANKHD1 1 +ANKHD1-EIF4EBP3 0 +ANKRD32 4 +ANKRD33B 0 +AP3S1 1 +APC 10 +AQPEP 0 +ARHGAP26 3 +ARHGEF28 4 +ARHGEF37 0 +ARL10 0 +ARL14EPL 0 +ARRDC3-AS1 0 +ARSK 1 +ATG10 0 +ATP6AP1L 3 +ATP6V0E1 7 +B4GALT7 0 +BASP1 0 +BDP1 6 +BHMT 0 +BHMT2 0 +BNIP1 1 +BRIX1 7 +BTF3 27 +BTNL3 0 +BTNL8 0 +BTNL9 0 +C5orf22 1 +C5orf24 0 +C5orf27 0 +C5orf30 0 +C5orf38 0 +C5orf47 0 +C5orf51 0 +C5orf52 0 +C5orf56 0 +C5orf58 1 +C5orf64 0 +C5orf66 0 +C7 0 +CAMK4 0 +CAMLG 12 +CANX 6 +CARD6 0 +CARTPT 0 +CAST 11 +CATSPER3 0 +CCDC152 0 +CCNB1 63 +CCNG1 1 +CCNI2 7 +CCT5 2 +CDC42SE2 1 +CDH6 0 +CDHR2 0 +CDK7 35 +CDX1 0 +CENPH 2 +CEP72 0 +CHSY3 0 +CKMT2 2 +CMYA5 0 +CNOT6 12 +CNOT8 5 +COMMD10 6 +COX7C 2 +CPEB4 14 +CPLX2 0 +CREBRF 0 +CRHBP 0 +CSF2 0 +CSNK1G3 2 +CTB-113P19.1 0 +CTB-12O2.1 0 +CTB-174D11.1 0 +CTC-338M12.4 0 +CTC-436P18.1 0 +CTD-2151A2.1 1 +CTD-2194D22.4 0 +CTD-2201E9.1 0 +CTD-2270F17.1 0 +CTNNA1 13 +CTXN3 0 +CWC27 2 +CXXC5 0 +CYFIP2 2 +CYSTM1 4 +DCP2 25 +DDX4 17 +DDX46 11 +DMXL1 2 +DNAJC21 7 +DOCK2 1 +EFCAB9 0 +EGFLAM 0 +EGR1 2 +EIF4E1B 8 +EIF4EBP3 0 +EPB41L4A-AS1 0 +EPB41L4A-AS2 1 +ERAP2 0 +ERBB2IP 1 +ERGIC1 2 +EXOC3 1 +F2R 0 +F2RL1 0 +FABP6 0 +FAF2 2 +FAM105A 0 +FAM151B 1 +FAM153B 0 +FAM153C 0 +FAM159B 0 +FAM170A 0 +FAM174A 0 +FAM53C 13 +FAM81B 2 +FBLL1 0 +FBXL21 0 +FBXL7 7 +FBXO38 0 +FBXO4 0 +FCHO2 0 +FER 7 +FGF10-AS1 0 +FGF18 0 +FGFR4 0 +FLJ31104 0 +FOXI1 0 +FST 1 +FTMT 0 +G3BP1 5 +GABRA1 0 +GABRA6 0 +GABRG2 0 +GABRP 0 +GALNT10 0 +GAPT 0 +GDNF-AS1 0 +GHR 0 +GM2A 1 +GPBP1 19 +GPR150 0 +GPR98 1 +GPX3 0 +GPX8 0 +GRAMD3 0 +GRIA1 2 +GRK6 0 +GRPEL2 3 +GTF2H2B 0 +GTF2H2C 0 +GTF2H2C_2 0 +GUSBP1 0 +GZMA 0 +GZMK 0 +HARS2 0 +HEXB 3 +HIGD2A 6 +HMGCR 1 +HMGXB3 1 +HMHB1 0 +HMMR 10 +HMP19 0 +HNRNPAB 0 +HRH2 4 +HSD17B4 4 +HSPA4 2 +HSPB3 0 +ICE1 4 +IGIP 0 +IK 5 +IL13 0 +IL3 0 +IL31RA 0 +IL4 0 +IL7R 0 +IPO11 2 +IPO11-LRRC70 0 +IQGAP2 36 +IRGM 6 +IRX1 0 +ISL1 2 +ISOC1 7 +ITGA1 0 +ITGA2 0 +ITK 0 +JADE2 0 +JAKMIP2-AS1 0 +JMY 24 +KCNIP1 0 +KCNN2 2 +KCTD16 0 +KDM3B 1 +KIAA0141 0 +KIAA1024L 0 +KIF20A 2 +KIF2A 0 +KIF4B 3 +LARP1 7 +LEAP2 0 +LIFR-AS1 0 +LINC00492 0 +LINC00603 0 +LINC00847 0 +LINC00992 0 +LINC01018 0 +LINC01020 0 +LINC01021 0 +LINC01194 0 +LINC01333 0 +LINC01340 0 +LINC01366 0 +LINC01377 0 +LINCR-0003 0 +LMNB1 0 +LNPEP 0 +LOC100130744 0 +LOC100132062 0 +LOC100132287 0 +LOC100133331 0 +LOC100288152 0 +LOC100289230 0 +LOC100289673 0 +LOC100505658 0 +LOC100505811 0 +LOC100505841 0 +LOC100505878 0 +LOC100506406 0 +LOC100506639 0 +LOC100507387 0 +LOC101926940 0 +LOC101926941 0 +LOC101926975 0 +LOC101927023 0 +LOC101927100 0 +LOC101927421 0 +LOC101927460 0 +LOC101927740 0 +LOC101927934 0 +LOC101928093 0 +LOC101928505 0 +LOC101929153 0 +LOC101929154 0 +LOC101929284 0 +LOC101929380 0 +LOC101929524 3 +LOC101929645 0 +LOC102467214 0 +LOC102467224 1 +LOC102467225 0 +LOC102467226 0 +LOC102467655 0 +LOC102503427 0 +LOC102546228 0 +LOC102546299 0 +LOC102577424 0 +LOC153684 0 +LOC255187 0 +LOC257396 0 +LOC285593 0 +LOC285626 0 +LOC340113 0 +LOC441081 0 +LOC728554 0 +LOC731157 0 +LRRC14B 0 +LRRC70 0 +LSM11 1 +LSP1P3 0 +LTC4S 0 +LYRM7 0 +MAML1 0 +MAN2A1 0 +MAP1B 1 +MAP3K1 0 +MARCH6 3 +MARVELD2 0 +MAST4 11 +MAT2B 4 +MATR3 2 +MCCC2 1 +MEF2C-AS1 0 +MEGF10 2 +MFAP3 0 +MIR103B1 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR143 0 +MIR143HG 0 +MIR145 0 +MIR146A 0 +MIR3142 0 +MIR3607 0 +MIR3655 0 +MIR3661 0 +MIR378E 0 +MIR3977 0 +MIR4458 0 +MIR4458HG 0 +MIR4461 0 +MIR4633 0 +MIR4634 0 +MIR4803 0 +MIR4804 0 +MIR5197 0 +MIR548AO 0 +MIR548BA 0 +MIR583 0 +MIR6131 0 +MIR6165 0 +MIR8056 0 +MRPL22 2 +MRPS30 1 +MRPS36 0 +MSH3 3 +MSX2 0 +MTRR 0 +MYOT 0 +MYOZ3 0 +N4BP3 0 +NBPF22P 0 +NCRUPAR 0 +NDFIP1 0 +NDST1 2 +NDUFAF2 0 +NDUFS4 1 +NDUFS6 1 +NEURL1B 1 +NIM1K 0 +NIPAL4 0 +NIPBL 22 +NKD2 1 +NLN 1 +NNT 1 +NPM1 51 +NPR3 0 +NPY6R 0 +NR2F1 0 +NREP-AS1 0 +NSA2 0 +NSD1 3 +OCLN 1 +OR2V2 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OSMR 0 +OTULIN 2 +OXCT1-AS1 0 +P4HA2-AS1 0 +PAIP2 4 +PAM 0 +PAPD4 4 +PAPD7 40 +PARP8 0 +PART1 0 +PCBD2 0 +PCDHA1 0 +PCDHA10 0 +PCDHA11 0 +PCDHA12 0 +PCDHA13 0 +PCDHA2 0 +PCDHA3 0 +PCDHA4 0 +PCDHA5 0 +PCDHA6 0 +PCDHA7 0 +PCDHA8 0 +PCDHA9 0 +PCDHAC1 0 +PCDHAC2 0 +PCDHB1 0 +PCDHB10 0 +PCDHB11 0 +PCDHB12 0 +PCDHB13 0 +PCDHB14 0 +PCDHB15 0 +PCDHB16 0 +PCDHB17 0 +PCDHB18 0 +PCDHB19P 0 +PCDHB2 0 +PCDHB3 0 +PCDHB4 0 +PCDHB5 0 +PCDHB6 0 +PCDHB7 0 +PCDHB8 0 +PCDHB9 0 +PCDHGA1 0 +PCDHGA10 0 +PCDHGA11 0 +PCDHGA12 0 +PCDHGA2 0 +PCDHGA3 0 +PCDHGA4 0 +PCDHGA5 0 +PCDHGA6 0 +PCDHGA7 0 +PCDHGA8 0 +PCDHGA9 0 +PCDHGB1 0 +PCDHGB2 0 +PCDHGB3 0 +PCDHGB4 0 +PCDHGB5 0 +PCDHGB6 0 +PCDHGB7 0 +PCDHGB8P 0 +PCDHGC3 0 +PCDHGC4 0 +PCDHGC5 0 +PCYOX1L 1 +PDCD6 2 +PDE8B 93 +PDLIM4 0 +PDZD2 1 +PELO 3 +PHAX 4 +PIK3R1 8 +PKD2L2 0 +PLEKHG4B 0 +PMCHL1 0 +PMCHL2 0 +POLK 0 +POLR3G 6 +POU4F3 0 +PPARGC1B 2 +PPIP5K2 1 +PPP1R2P3 0 +PPWD1 1 +PRDM6 0 +PRDM9 0 +PRELID1 0 +PRR16 1 +PRR7 0 +PRRC1 6 +PSD2 0 +PTCD2 0 +PTGER4 0 +PTTG1 90 +PURA 0 +RAB3C 0 +RAB9BP1 0 +RAD17 4 +RAD50 9 +RAI14 22 +RANBP17 0 +RARS 2 +RASA1 3 +RASGRF2 1 +RBM27 14 +REEP2 0 +RELL2 1 +RFESD 1 +RGMB 2 +RGS14 0 +RGS7BP 0 +RHOBTB3 6 +RMND5B 1 +RNF14 13 +RNF180 0 +RNU5D-1 0 +RNU5E-1 0 +ROPN1L 0 +RPL26L1 5 +RUFY1 1 +RXFP3 0 +S100Z 2 +SAP30L 0 +SCAMP1 4 +SCGB3A2 2 +SDHA 4 +SEC24A 7 +SEMA6A-AS1 0 +SERF1A 0 +SERF1B 0 +SETD9 0 +SFXN1 0 +SGCD 1 +SH3RF2 0 +SIMC1 0 +SKIV2L2 0 +SKP2 23 +SLC12A2 12 +SLC1A3 0 +SLC22A4 0 +SLC22A5 0 +SLC25A46 12 +SLC25A48 0 +SLC26A2 0 +SLC27A6 4 +SLC30A5 0 +SLC34A1 0 +SLC35A4 3 +SLC36A1 1 +SLC4A9 0 +SLC6A18 0 +SLC6A19 0 +SLC6A7 0 +SMAD5 4 +SMIM23 0 +SMIM3 0 +SMN1 0 +SMN2 1 +SNCAIP 0 +SNHG18 2 +SNHG4 0 +SNORA13 0 +SNORA74A 0 +SNORA74B 0 +SNORD123 0 +SNX18 1 +SNX2 3 +SNX24 5 +SOWAHA 0 +SPDL1 27 +SPEF2 0 +SPINK13 0 +SPINK14 0 +SPINK5 0 +SPINK6 0 +SPINK7 0 +SPINK9 0 +SPZ1 0 +SQSTM1 9 +SRD5A1 0 +SREK1 18 +SRFBP1 1 +SRP19 5 +STARD4-AS1 1 +STK32A 0 +SUB1 5 +SV2C 0 +SYNPO 0 +TARS 5 +TCERG1 9 +TCF7 4 +TCOF1 12 +TENM2 1 +TEX43 0 +TGFBI 0 +THBS4 3 +THG1L 0 +TLX3 0 +TMCO6 0 +TMED9 1 +TMEM161B-AS1 0 +TMEM171 0 +TMEM174 0 +TNFAIP8 0 +TNPO1 5 +TRAPPC13 0 +TRIM41 0 +TRIM52-AS1 0 +TRIO 4 +TRIP13 0 +TSLP 0 +TSPAN17 0 +TTC1 12 +TTC23L 0 +TXNDC15 0 +UBE2B 3 +UBE2D2 6 +UBE2QL1 0 +UBLCP1 6 +UNC5A 0 +UQCRQ 0 +UTP15 0 +VCAN 0 +VTRNA1-1 0 +VTRNA1-2 0 +VTRNA1-3 0 +WDR36 0 +WDR55 0 +WDR70 4 +WNT8A 0 +WWC1 0 +XRCC4 0 +YTHDC2 0 +ZBED3-AS1 0 +ZCCHC9 7 +ZFP2 0 +ZFYVE16 1 +ZMAT2 15 +ZNF131 2 +ZNF346 2 +ZNF354B 0 +ZNF354C 1 +ZNF454 0 +ZNF474 0 +ZNF879 0 +ZSWIM6 0 +ABCC10 0 +ABCF1 0 +ABRACL 0 +ABT1 0 +ACAT2 1 +ACOT13 3 +ADCY10P1 0 +ADGB 0 +AIF1 0 +AIG1 0 +AIM1 29 +AKAP12 0 +AKAP7 0 +ALDH5A1 3 +AMD1 57 +ANKRD6 4 +ANKRD66 0 +ANKS1A 6 +APOBEC2 0 +APOM 0 +ARG1 0 +ARID1B 1 +ARMC12 0 +ARMC2 52 +ASF1A 38 +ATAT1 0 +ATP6V0CP3 0 +B3GALT4 0 +BAG2 0 +BAI3 0 +BCKDHB 1 +BEND6 0 +BMP6 23 +BPHL 0 +BRD2 0 +BRD7P3 0 +BRPF3 2 +BTN1A1 0 +BTN2A1 0 +BTN2A2 0 +BTN2A3P 0 +BTN3A1 0 +BTN3A2 0 +BTN3A3 0 +BVES-AS1 0 +BYSL 1 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf120 1 +C6orf136 0 +C6orf141 0 +C6orf163 0 +C6orf164 0 +C6orf165 0 +C6orf201 0 +C6orf203 1 +C6orf211 0 +C6orf223 0 +C6orf25 0 +C6orf48 0 +C6orf57 0 +C6orf58 0 +C6orf89 2 +C6orf99 0 +CAP2 0 +CAPN11 0 +CASC15 0 +CASP8AP2 7 +CCDC162P 0 +CCDC170 0 +CCDC28A 3 +CCR6 0 +CD109 0 +CD2AP 0 +CD83 3 +CDC40 12 +CDC5L 37 +CDKAL1 0 +CDKN1A 0 +CDYL 4 +CENPQ 3 +CENPW 2 +CEP57L1 0 +CFB 0 +CLDN20 0 +CLPSL1 0 +CLPSL2 0 +CLVS2 0 +CMTR1 3 +CNPY3 0 +COL19A1 0 +CSNK2B 0 +CUL9 0 +CYB5R4 0 +CYP21A1P 0 +CYP21A2 0 +DAAM2 2 +DCBLD1 0 +DDR1 0 +DDX43 7 +DEF6 0 +DNAH8 0 +DOPEY1 21 +DPCR1 0 +DSE 0 +DSP 0 +DUSP22 2 +E2F3 0 +ECT2L 0 +EDN1 0 +EFHC1 0 +EGFL8 0 +ELOVL2-AS1 0 +ENPP1 0 +ENPP3 0 +ENPP4 0 +ERMARD 2 +ESR1 0 +EYA4 0 +EZR-AS1 2 +FABP7 0 +FAM120B 2 +FAM135A 0 +FAM229B 0 +FAM26D 0 +FAM26E 0 +FAM26F 0 +FAM50B 0 +FAM83B 0 +FAM8A1 0 +FANCE 1 +FARS2 0 +FBXO9 0 +FGD2 0 +FGFR1OP 7 +FHL5 0 +FIG4 0 +FLJ34503 0 +FLJ38122 0 +FLJ46906 0 +FNDC1 0 +FOXC1 1 +FOXF2 0 +FOXO3 8 +FOXP4 1 +FOXQ1 2 +FUT9 0 +GCNT2 0 +GFRAL 0 +GGNBP1 0 +GINM1 1 +GJA1 0 +GJA10 0 +GLP1R 0 +GLTSCR1L 0 +GLYATL3 1 +GMDS-AS1 0 +GMNN 9 +GMPR 0 +GNMT 0 +GPR111 0 +GPR115 0 +GPR126 1 +GPR6 0 +GPX5 0 +GRIK2 1 +GRM1 0 +GTF2H4 0 +GTF2H5 2 +GTF3C6 1 +GUCA1A 0 +HCG11 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HCRTR2 0 +HDGFL1 0 +HEBP2 0 +HECA 0 +HEY2 2 +HFE 0 +HINT3 0 +HIST1H1E 2 +HIST1H2AC 0 +HIST1H2AE 0 +HIST1H2AG 0 +HIST1H2AH 0 +HIST1H2AI 0 +HIST1H2AL 0 +HIST1H2APS1 0 +HIST1H2BA 0 +HIST1H2BD 0 +HIST1H2BE 0 +HIST1H2BF 0 +HIST1H2BH 0 +HIST1H2BI 0 +HIST1H2BM 0 +HIST1H2BN 0 +HIST1H2BO 0 +HIST1H3A 0 +HIST1H3C 0 +HIST1H3E 0 +HIST1H3H 0 +HIST1H4A 0 +HIST1H4C 0 +HIST1H4E 0 +HIST1H4F 0 +HIST1H4I 0 +HIST1H4J 0 +HIVEP1 3 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HMGA1 6 +HMGN3-AS1 0 +HMGN4 1 +HSD17B8 0 +HSF2 0 +HSP90AB1 68 +HSPA1A 0 +HSPA1B 0 +HTR1E 0 +HULC 0 +ID4 0 +IGF2R 1 +IL17A 0 +IRAK1BP1 0 +IRF4 0 +ITPR3 1 +IYD 0 +JARID2 57 +KAAG1 0 +KCNQ5 0 +KCNQ5-IT1 0 +KCTD20 0 +KDM1B 11 +KHDC3L 12 +KIAA1244 0 +KIAA1586 0 +KIAA1919 0 +KIF25 0 +KIFC1 0 +KLC4 0 +KLHDC3 7 +KLHL32 0 +KPNA5 0 +KU-MEL-3 0 +L3MBTL3 0 +LACE1 0 +LAMA2 0 +LHFPL5 0 +LIN28B 1 +LINC00222 0 +LINC00240 0 +LINC00271 0 +LINC00326 0 +LINC00574 0 +LINC00602 0 +LINC01010 0 +LINC01011 0 +LINC01012 0 +LINC01013 0 +LINC01015 0 +LINC01276 0 +LINC01312 0 +LOC100129636 0 +LOC100131289 0 +LOC100132354 0 +LOC100132735 0 +LOC100287632 0 +LOC100289495 0 +LOC100294145 0 +LOC100506207 0 +LOC100506804 0 +LOC100507477 0 +LOC100507506 0 +LOC100507557 0 +LOC100996634 0 +LOC101926962 0 +LOC101927314 0 +LOC101927640 0 +LOC101927691 0 +LOC101927730 0 +LOC101927990 0 +LOC101928516 0 +LOC101928911 0 +LOC101929057 0 +LOC101929420 0 +LOC102724000 0 +LOC441155 0 +LOC554223 0 +LOC643623 1 +LOC729603 0 +LOC730101 0 +LRRC1 3 +LRRC16A 13 +LST1 0 +LTA 0 +LTV1 9 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +LY86 0 +MAD2L1BP 2 +MANEA 0 +MAP3K4 4 +MAPK13 0 +MAPK14 1 +MARCKS 0 +MAS1 0 +MCCD1 0 +MCHR2-AS1 0 +MDFI 0 +MEI4 0 +MEP1A 0 +MICA 0 +MICB 0 +MIR133B 0 +MIR206 0 +MIR2113 0 +MIR219A1 0 +MIR3143 0 +MIR3668 0 +MIR3692 0 +MIR4464 0 +MIR4465 0 +MIR4639 0 +MIR4640 0 +MIR4641 0 +MIR4642 0 +MIR4643 0 +MIR4644 0 +MIR5004 0 +MIR548A1 0 +MIR5685 0 +MIR5689 0 +MIR6780B 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR6835 0 +MIR6891 0 +MIR7111 7 +MIR7159 0 +MIR7161 0 +MIR877 0 +MLIP 0 +MLIP-IT1 0 +MLLT4 5 +MOG 0 +MRAP2 0 +MRPL18 7 +MRPS18B 0 +MRS2 1 +MSH5 0 +MSH5-SAPCD1 0 +MTHFD1L 0 +MTO1 0 +MTRNR2L9 0 +MUC21 0 +MUC22 0 +MYB 0 +MYCT1 0 +MYLIP 47 +MYO6 11 +NCOA7 1 +NCR2 0 +NFKBIL1 0 +NFYA 1 +NKAIN2 0 +NKAPL 0 +NOL7 0 +NQO2 0 +NR2E1 11 +NRSN1 0 +NT5DC1 0 +NT5E 0 +NUS1 0 +OGFRL1 0 +OPN5 0 +OPRM1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2B6 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +ORC3 0 +PACRG 0 +PACSIN1 0 +PAK1IP1 17 +PAQR8 0 +PCMT1 3 +PDE7B 0 +PEX3 0 +PEX7 0 +PFDN6 0 +PGBD1 0 +PHACTR1 1 +PHACTR2 0 +PHF1 0 +PHF3 19 +PI16 0 +PIM1 0 +PIP5K1P1 0 +PKIB 0 +PLEKHG1 4 +PLG 0 +PLN 0 +PM20D2 2 +PNLDC1 3 +PNPLA1 0 +PNRC1 0 +POLH 0 +POLR1C 0 +POU3F2 0 +PPARD 2 +PPP1R11 0 +PPP1R14C 4 +PPP1R3G 0 +PPP2R5D 0 +PPT2 0 +PPT2-EGFL8 0 +PRDM1 0 +PRDM13 0 +PRICKLE4 0 +PRIM2 5 +PRPF4B 0 +PRR3 0 +PRRC2A 0 +PRSS16 0 +PRSS35 0 +PSMB8-AS1 0 +PSMB9 0 +PSMG4 1 +PSORS1C1 0 +PTCRA 0 +PTK7 0 +PTP4A1 2 +QKI 14 +QRSL1 1 +RAB32 0 +RAB44 0 +RAET1E-AS1 0 +RBM24 0 +RFPL4B 0 +RFX6 0 +RIMS1 0 +RING1 0 +RIOK1 19 +RIPK1 0 +RIPPLY2 0 +RNF144B 0 +RNF146 0 +RNF182 1 +RNF217 0 +RNF5 0 +RNF5P1 0 +RNF8 6 +RNY4 0 +RPF2 0 +RPL10A 11 +RPL7L1 2 +RPP21 0 +RPS12 22 +RPS18 0 +RPS18P9 0 +RPS6KA2-AS1 0 +RREB1 0 +RRP36 0 +RSPH4A 0 +RSPH9 0 +RSPO3 0 +RUNX2 0 +RWDD1 1 +RWDD2A 0 +SAMD5 0 +SAPCD1 0 +SASH1 1 +SCAF8 7 +SCGN 0 +SCUBE3 0 +SENP6 0 +SH3BGRL2 0 +SIRT5 0 +SKIV2L 0 +SLC16A10 0 +SLC17A4 0 +SLC22A1 0 +SLC22A3 0 +SLC22A7 0 +SLC25A27 0 +SLC25A51P1 0 +SLC29A1 26 +SLC35A1 1 +SLC35D3 0 +SLC35F1 0 +SLC39A7 0 +SMAP1 1 +SMIM13 0 +SMIM8 0 +SMLR1 0 +SMOC2 0 +SMPD2 0 +SMPDL3A 0 +SNORA33 0 +SNORA38 0 +SNORD100 0 +SNORD101 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +SNRNP48 1 +SNRPC 0 +SNX9 3 +SOBP 1 +SOX4 0 +SPACA1 0 +SPATS1 0 +SRF 0 +SRSF3 0 +STK19 0 +STMND1 0 +STX11 0 +STXBP5 0 +SUMO4 0 +SYCP2L 0 +SYNE1-AS1 0 +SYNGAP1 0 +SYNJ2 7 +SYNJ2-IT1 0 +SYTL3 8 +TAAR6 0 +TAAR8 0 +TAAR9 0 +TAB2 4 +TAF8 1 +TBC1D22B 0 +TBP 2 +TBPL1 13 +TCF19 0 +TCF21 0 +TCP10L2 0 +TDRD6 8 +TDRG1 0 +TFAP2A-AS1 0 +TFAP2B 9 +TFAP2D 1 +TIAM2 5 +TINAG 0 +TJAP1 3 +TMEM14A 3 +TMEM14B 6 +TMEM14C 3 +TMEM151B 0 +TMEM170B 0 +TMEM181 1 +TMEM200A 2 +TMEM63B 0 +TNF 0 +TNFAIP3 0 +TOMM6 3 +TPBG 0 +TPD52L1 0 +TPI1P3 0 +TRAF3IP2-AS1 0 +TRAM2-AS1 0 +TREML4 0 +TREML5P 0 +TRIM15 0 +TRIM38 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TRMT11 3 +TSG1 0 +TSPO2 0 +TSTD3 0 +TTBK1 0 +TTK 19 +TTLL2 0 +TUBB 0 +TULP4 2 +UBR2 8 +UFL1 9 +UHRF1BP1 4 +ULBP1 0 +ULBP2 0 +UNC93A 3 +UST 1 +UTRN 0 +VARS2 0 +VEGFA 0 +VGLL2 0 +VIP 0 +VN1R10P 0 +VTA1 0 +WISP3 0 +WRNIP1 1 +WTAP 2 +ZBTB9 0 +ZC2HC1B 2 +ZDHHC14 0 +ZFAND3 2 +ZKSCAN3 0 +ZKSCAN8 1 +ZNF165 0 +ZNF192P1 0 +ZNF292 7 +ZNF391 0 +ZNF451 0 +ZNF76 3 +ZNRD1 0 +ZSCAN12P1 0 +ZSCAN16 1 +ZSCAN26 4 +ZSCAN9 1 +C6orf48 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-H 0 +HLA-J 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +MCCD1 0 +MICB 0 +MIR6833 0 +MOG 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +OR10C1 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SAPCD1 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GPX5 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6834 0 +MIR6891 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +DDR1 0 +EGFL8 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR5004 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2J2 0 +OR2J3 0 +PHF1 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SNORA38 0 +STK19 0 +SYNGAP1 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZBTB9 0 +ZNRD1 0 +ABCA13 0 +ABCB5 0 +ABCB8 0 +ABHD11-AS1 0 +ACN9 3 +ACTR3B 2 +ADAM22 0 +ADCK2 0 +ADCY1 0 +ADCYAP1R1 0 +AEBP1 0 +AGAP3 1 +AGBL3 0 +AGFG2 3 +AGK 13 +AHCYL2 0 +AHR 0 +AIMP2 5 +AKAP9 0 +AKR1B10 0 +AKR1B15 0 +AKR1D1 0 +AMZ1 1 +ANKIB1 0 +ANKRD61 0 +ANKRD7 0 +ANLN 7 +AOC1 0 +AP1S1 0 +AP4M1 0 +AP5Z1 0 +AQP1 0 +ARF5 1 +ARHGEF5 0 +ARL4A 2 +ARMC10 0 +ARPC1A 0 +ARPC1B 0 +ASB15 0 +ASB4 0 +ASIC3 0 +ASL 0 +ATP6V0E2 1 +ATP6V1F 1 +AUTS2 1 +AVL9 3 +AZGP1P1 0 +BBS9 0 +BCAP29 0 +BHLHA15 0 +BLVRA 0 +BMPER 0 +BPGM 74 +BRI3 1 +BUD31 1 +BZW2 0 +C1GALT1 2 +C7orf26 1 +C7orf33 0 +C7orf34 0 +C7orf55 0 +C7orf55-LUC7L2 0 +C7orf57 0 +C7orf65 0 +C7orf69 0 +C7orf71 0 +C7orf72 0 +C7orf73 0 +CALD1 0 +CALU 8 +CAPZA2 0 +CASD1 0 +CASP2 3 +CAV1 0 +CAV2 0 +CBLL1 1 +CBX3 0 +CCDC126 0 +CCDC129 0 +CCDC132 0 +CCDC136 0 +CCDC146 4 +CCM2 0 +CCT6A 2 +CCT6P1 0 +CCT6P3 0 +CCZ1 9 +CD36 16 +CDC14C 0 +CDHR3 0 +CDK13 2 +CDK14 0 +CFAP69 0 +CFTR 0 +CHN2 4 +CHPF2 0 +CHRM2 0 +CHST12 4 +CLCN1 0 +CLDN12 8 +CLDN4 0 +CLEC2L 0 +CLIP2 0 +CNPY4 0 +CNTNAP2 1 +COL1A2 0 +COL26A1 0 +COPS6 0 +CPA1 0 +CPA2 0 +CPA4 0 +CPA5 0 +CPED1 5 +CPSF4 2 +CRCP 1 +CREB5 6 +CROT 1 +CTAGE15 0 +CTAGE4 0 +CUL1 5 +CUX1 12 +CYP2W1 0 +CYP3A43 0 +CYP51A1-AS1 0 +DBF4 7 +DBNL 1 +DDC-AS1 0 +DKFZP586I1420 0 +DKFZp434L192 0 +DLD 1 +DLX6 2 +DMTF1 2 +DNAH11 35 +DNAJB6 1 +DNAJB9 1 +DOCK4-AS1 0 +DPP6 0 +DPY19L2P3 0 +DPY19L2P4 0 +DTX2 1 +DTX2P1-UPK3BP1-PMS2P11 1 +DUS4L 5 +DYNC1I1 0 +EEPD1 1 +EGFR 0 +EIF3B 0 +EIF4H 3 +ELFN1 0 +ELMO1-AS1 0 +ELN 0 +EN2 0 +EPDR1 0 +EPHA1-AS1 0 +EPHB6 0 +EPO 0 +EVX1 0 +EXOC4 0 +FABP5P3 0 +FAM115C 0 +FAM115D 0 +FAM185A 0 +FAM188B 0 +FAM20C 0 +FAM221A 0 +FAM71F1 0 +FAM71F2 0 +FBXO24 0 +FEZF1-AS1 0 +FKBP6 0 +FKBP9 0 +FLJ40288 0 +FLJ44511 0 +FLNC 0 +FOXK1 1 +FOXP2 0 +FSCN1 0 +FSCN3 0 +FZD1 0 +FZD9 0 +GALNT11 0 +GALNTL5 0 +GARS 31 +GATAD1 0 +GBAS 0 +GET4 0 +GHRHR 0 +GIMAP1 0 +GIMAP1-GIMAP5 0 +GIMAP2 0 +GIMAP4 0 +GIMAP5 0 +GIMAP7 0 +GIMAP8 0 +GLCCI1 5 +GNAI1 3 +GNB2 1 +GNG11 0 +GNGT1 0 +GPER1 0 +GPNMB 0 +GPR141 0 +GPR146 0 +GPR22 0 +GRM3 0 +GS1-259H13.2 0 +GSTK1 0 +GTF2I 0 +GTF2IP1 0 +GTF2IRD1 0 +GTF2IRD2 0 +GTF2IRD2B 0 +GTPBP10 6 +HBP1 2 +HDAC9 4 +HEATR2 2 +HECW1 0 +HILPDA 1 +HOTAIRM1 0 +HOTTIP 0 +HOXA-AS2 0 +HOXA-AS3 7 +HOXA10-AS 0 +HOXA11-AS 0 +HSPB1 2 +HTR5A 1 +HYAL4 0 +HYALP1 0 +IFRD1 1 +IGFBP1 0 +IKZF1 0 +IL6 0 +ING3 24 +INHBA-AS1 0 +INMT 0 +INMT-FAM188B 0 +INSIG1 3 +INTS4L2 0 +IQCE 1 +IRF5 0 +ISPD-AS1 1 +ITGB8 0 +JAZF1-AS1 0 +JHDM1D-AS1 0 +KCND2 0 +KCTD7 0 +KLHDC10 1 +KLHL7 17 +KMT2E 3 +KRBA1 0 +LAMTOR4 0 +LANCL2 1 +LAT2 0 +LEP 0 +LFNG 0 +LHFPL3 0 +LIMK1 11 +LINC00244 0 +LINC00265 0 +LINC00525 0 +LINC00689 0 +LINC00957 0 +LINC00996 0 +LINC00997 0 +LINC01000 0 +LINC01003 0 +LINC01176 0 +LINC01372 0 +LINC01393 0 +LINC01445 0 +LINC01447 0 +LINC01449 0 +LMOD2 0 +LMTK2 1 +LOC100093631 0 +LOC100101148 0 +LOC100128885 0 +LOC100130705 0 +LOC100130880 0 +LOC100133091 0 +LOC100287704 0 +LOC100287834 0 +LOC100289561 0 +LOC100505938 0 +LOC100506178 0 +LOC100506497 0 +LOC100506585 0 +LOC100506682 0 +LOC100506725 0 +LOC100506860 0 +LOC100507642 0 +LOC100630923 0 +LOC100996249 0 +LOC100996437 0 +LOC100996654 0 +LOC101409256 0 +LOC101926963 0 +LOC101927021 0 +LOC101927181 0 +LOC101927243 0 +LOC101927354 0 +LOC101927356 0 +LOC101927378 0 +LOC101927446 0 +LOC101927497 0 +LOC101927550 0 +LOC101927746 0 +LOC101927769 0 +LOC101927870 0 +LOC101927914 0 +LOC101928012 0 +LOC101928168 0 +LOC101928283 0 +LOC101928333 0 +LOC101928618 0 +LOC101928782 0 +LOC102659288 0 +LOC102723427 0 +LOC102723885 0 +LOC155060 0 +LOC389602 0 +LOC401324 0 +LOC407835 0 +LOC441204 0 +LOC442497 0 +LOC541473 0 +LOC641746 0 +LOC728743 0 +LOC93432 0 +LRGUK 0 +LRRC17 12 +LRRC61 1 +LRRC72 0 +LRRN3 0 +LRWD1 3 +LSM8 2 +LSMEM1 0 +LUC7L2 2 +MACC1-AS1 0 +MAFK 0 +MAGI2-AS2 0 +MAGI2-AS3 9 +MALSU1 0 +MBLAC1 0 +MDFIC 0 +MDH2 1 +MEOX2-AS1 0 +MEPCE 12 +MEST 5 +MET 0 +METTL2B 0 +MGAM 0 +MGC16142 0 +MIOS 0 +MIR129-1 0 +MIR3147 0 +MIR335 0 +MIR3609 0 +MIR3666 0 +MIR3914-2 0 +MIR3943 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4284 0 +MIR4285 0 +MIR4467 0 +MIR4468 0 +MIR4648 0 +MIR4649 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4651 0 +MIR4652 0 +MIR4653 0 +MIR490 0 +MIR5090 0 +MIR548AQ 0 +MIR548F3 0 +MIR548M 0 +MIR548T 0 +MIR550A1 0 +MIR550A2 0 +MIR5707 0 +MIR590 0 +MIR593 0 +MIR6132 0 +MIR6133 0 +MIR671 0 +MIR6837 0 +MIR6839 0 +MIR6840 0 +MIR6875 0 +MIR6892 0 +MKLN1 6 +MNX1-AS1 0 +MOSPD3 0 +MPP6 2 +MRPL32 4 +MRPS17 0 +MTRNR2L6 0 +MTURN 0 +MUC12 0 +MUC17 0 +MUC3A 2 +MYH16 0 +NCF1 0 +NCF1B 0 +NDUFB2 0 +NFE2L3 0 +NME8 0 +NOM1 0 +NOS3 0 +NPSR1 0 +NPTX2 0 +NPY 0 +NRF1 0 +NSUN5P1 0 +NUB1 4 +NUDT1 0 +NUP205 2 +NUPL2 3 +NXPH1 5 +NYAP1 0 +OCM 0 +OGDH 3 +OR2A1 0 +OR2A12 0 +OR2A14 0 +OR2A2 0 +OR2A20P 0 +OR2A25 0 +OR2A42 0 +OR2A5 0 +OR2A9P 0 +OR2F1 0 +OR2F2 0 +OR6B1 0 +OR6V1 0 +OR9A4 0 +ORAI2 1 +PAXIP1-AS1 0 +PAXIP1OS 5 +PCOLCE 0 +PEG10 0 +PER4 0 +PHF14 6 +PHTF2 13 +PIK3CG 0 +PILRA 0 +PILRB 0 +PIP 0 +PLEKHA8 0 +PMPCB 1 +PMS2CL 0 +PMS2L2 0 +PMS2P5 0 +PMS2P9 0 +POM121 2 +POM121L12 0 +POP7 1 +POR 1 +POT1-AS1 0 +POU6F2 0 +PPIA 13 +PPP1R17 0 +PPP1R9A 0 +PRKAG2-AS1 0 +PRKAR2B 0 +PRKRIP1 0 +PRR15 21 +PRSS1 0 +PRSS2 1 +PRSS3P2 0 +PSMC2 3 +PSMG3-AS1 0 +PTPN12 3 +PTPRZ1 0 +PVRIG 0 +PVRIG2P 0 +RAB19 0 +RABGEF1 5 +RAC1 8 +RALA 15 +RAMP3 0 +RBAK 0 +RBAK-RBAKDN 0 +RBAKDN 0 +RBM33 2 +RBM48 2 +REPIN1 1 +RHBDD2 0 +RINT1 0 +RNF216P1 4 +RNF32 0 +RNU6-33P 0 +RNU6-34P 0 +RNU6-57P 0 +RPA3OS 2 +RPL13AP17 0 +RPL23P8 0 +RPS2P32 0 +RSBN1L 2 +RSPH10B 0 +RSPH10B2 0 +RUNDC3B 3 +SBDSP1 0 +SCIN 1 +SDK1 0 +SEPT7 4 +SERPINE1 0 +SH2B2 0 +SLC12A9 0 +SLC26A4 0 +SLC29A4 0 +SLC4A2 0 +SMKR1 2 +SMO 0 +SND1 1 +SND1-IT1 0 +SNORA14A 0 +SNORA15 0 +SNORA22 0 +SNORD93 0 +SNX10 0 +SP4 1 +SPAM1 0 +SPDYE1 1 +SPDYE2 0 +SPDYE2B 0 +SPDYE3 0 +SPDYE5 0 +SPDYE8P 0 +SRRM3 0 +SRRT 0 +SSBP1 2 +SSMEM1 0 +SSPO 0 +ST7 0 +ST7-OT3 0 +ST7-OT4 0 +STAG3 13 +STAG3L1 0 +STAG3L4 0 +STAG3L5P 0 +STAG3L5P-PVRIG2P-PILRB 0 +STARD3NL 2 +STEAP1 0 +STEAP2 0 +STK17A 0 +STK31 3 +STRA8 0 +STRIP2 0 +SUGCT 2 +SUMF2 0 +SUN1 17 +TAC1 0 +TAS2R3 0 +TAS2R39 0 +TAS2R4 0 +TAS2R40 0 +TAS2R41 0 +TAS2R5 0 +TAS2R60 0 +TAX1BP1 82 +TBXAS1 0 +TES 0 +TFAMP1 0 +TMEM106B 0 +TMEM139 0 +TMEM140 0 +TMEM176A 0 +TMEM178B 0 +TMEM213 0 +TMEM248 15 +TPI1P2 1 +TPST1 0 +TRG-AS1 0 +TRIM24 1 +TRIM56 0 +TRIM73 0 +TRIM74 0 +TRIP6 0 +TRRAP 0 +TSL 0 +TSPAN13 0 +TSPAN33 0 +TTC26 0 +TTYH3 0 +TYW1 5 +UBE2D4 1 +UBE3C 1 +UBN2 1 +UNCX 0 +UPK3B 0 +UPP1 0 +USP42 0 +VKORC1L1 2 +VPS37D 0 +VSTM2A 0 +VSTM2A-OT1 0 +VWC2 0 +WBSCR17 0 +WBSCR22 3 +WBSCR28 0 +WDR60 7 +WDR86-AS1 0 +WEE2 491 +WI2-2373I1.2 0 +WIPF3 0 +WIPI2 16 +WNT16 0 +YAE1D1 1 +YKT6 1 +YWHAEP1 0 +ZAN 0 +ZBED6CL 0 +ZDHHC4 2 +ZKSCAN1 0 +ZKSCAN5 1 +ZMIZ2 1 +ZNF107 2 +ZNF138 0 +ZNF212 0 +ZNF273 0 +ZNF277 0 +ZNF282 2 +ZNF316 0 +ZNF398 2 +ZNF655 3 +ZNF679 0 +ZNF713 0 +ZNF716 0 +ZNF727P 0 +ZNF735P 0 +ZNF736 3 +ZNF775 0 +ZNF783 0 +ZNF789 0 +ZNF804B 1 +ZNF815P 0 +ZNF853 0 +ZNF862 0 +ZNF92 0 +ZNHIT1 1 +ZNRF2 0 +ZNRF2P1 0 +ZP3 29 +ZSCAN21 3 +ZSCAN25 1 +ZYX 2 +AARD 0 +ADAM18 0 +ADAM28 0 +ADAM32 0 +ADAM5 0 +ADAM7 0 +ADAM9 0 +ADAMDEC1 0 +ADCK5 0 +ADHFE1 0 +AGPAT5 0 +AGPAT6 2 +AP3M2 2 +ARHGEF10 0 +ASH2L 0 +ATP6V0D2 0 +ATP6V1B2 16 +ATP6V1C1 3 +BAALC 0 +BAG4 0 +BAI1 0 +BHLHE22 1 +BLK 0 +BMP1 0 +BNIP3L 14 +BREA2 0 +C8orf12 20 +C8orf22 0 +C8orf31 0 +C8orf33 1 +C8orf34 0 +C8orf37-AS1 0 +C8orf4 0 +C8orf44 0 +C8orf44-SGK3 0 +C8orf46 0 +C8orf48 0 +C8orf49 0 +C8orf58 0 +C8orf74 0 +CA13 0 +CA2 0 +CA3 0 +CASC21 0 +CCAR2 2 +CCAT2 0 +CDC42P3 0 +CDCA2 25 +CHCHD7 8 +CHD7 23 +CHMP4C 0 +CHMP7 2 +CHRAC1 1 +CHRNB3 0 +CLDN23 0 +CLN8 2 +CLVS1 1 +CNBD1 1 +COL14A1 0 +COLEC10 0 +CPNE3 0 +CPQ 1 +CRISPLD1 0 +CSPP1 3 +CTHRC1 0 +CYC1 0 +DCAF13 5 +DCSTAMP 0 +DCTN6 0 +DDHD2 1 +DECR1 1 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1B 0 +DEFB135 0 +DEFB4A 0 +DENND3 0 +DEPTOR 0 +DLGAP2 1 +DMTN 0 +DNAJC5B 0 +DOCK5 0 +DPY19L4 0 +DPYSL2 0 +E2F5 0 +EBAG9 9 +EFR3A 1 +EIF4EBP1 0 +ELP3 4 +EMC2 5 +ENY2 18 +EPHX2 0 +ERI1 4 +ERICH1-AS1 0 +ERICH5 0 +ERLIN2 0 +ESCO2 21 +ESRP1 55 +EXOSC4 0 +EXTL3 3 +FABP5 0 +FAM110B 0 +FAM160B2 1 +FAM183CP 0 +FAM66A 0 +FAM66D 0 +FAM66E 0 +FAM83A 0 +FAM83H-AS1 0 +FAM86B3P 0 +FAM90A10P 0 +FAM91A1 0 +FAM92A1 0 +FBXO25 2 +FDFT1 19 +FER1L6 0 +FGF17 0 +FLJ39080 0 +FLJ42969 0 +FNTA 0 +FZD3 12 +FZD6 0 +GATA4 1 +GDAP1 16 +GINS4 0 +GLI4 0 +GML 0 +GOLGA7 13 +GPAA1 0 +GPIHBP1 0 +GPR124 0 +GPT 0 +GRHL2 4 +GRINA 0 +GS1-24F4.2 0 +GSDMD 0 +HAS2-AS1 0 +HGH1 0 +HGSNAT 1 +HMBOX1 6 +HNF4G 0 +HOOK3 3 +HSF1 0 +HTRA4 0 +IDO1 0 +IDO2 0 +IKBKB 3 +INTS10 3 +INTS8 8 +KBTBD11 1 +KCNB2 0 +KCNS2 0 +KCNU1 0 +KHDRBS3 2 +KIAA1456 0 +KIAA1875 0 +KIFC2 0 +LAPTM4B 9 +LEPROTL1 0 +LETM2 0 +LINC00051 0 +LINC00208 0 +LINC00293 0 +LINC00534 0 +LINC00588 0 +LINC00681 0 +LINC00964 0 +LINC00967 0 +LINC01111 0 +LINC01288 0 +LINC01289 0 +LINC01300 0 +LINC01419 0 +LINCR-0001 0 +LOC100130964 0 +LOC100132891 0 +LOC100287098 0 +LOC100287846 0 +LOC100506990 5 +LOC100507156 0 +LOC100507651 0 +LOC101926892 0 +LOC101926908 0 +LOC101927067 0 +LOC101927221 1 +LOC101927543 0 +LOC101927657 0 +LOC101927822 0 +LOC101927845 0 +LOC101929066 0 +LOC101929128 1 +LOC101929172 0 +LOC101929217 0 +LOC101929229 0 +LOC101929237 0 +LOC101929268 0 +LOC157273 0 +LOC254896 0 +LOC286059 0 +LOC286094 0 +LOC286114 0 +LOC286177 0 +LOC286190 0 +LOC389641 0 +LPL 0 +LRRC14 0 +LRRC69 0 +LRRCC1 0 +LY6E 0 +LY6K 0 +LY96 0 +LYN 0 +LZTS1-AS1 0 +MAF1 2 +MAK16 2 +MAL2 2 +MAPK15 0 +MATN2 0 +MCM4 4 +MCMDC2 0 +MCPH1 1 +MED30 2 +MFSD3 1 +MICU3 0 +MIR1204 0 +MIR1205 0 +MIR1206 0 +MIR1207 0 +MIR1208 0 +MIR124-2 0 +MIR124-2HG 0 +MIR2052 0 +MIR2053 0 +MIR3150A 0 +MIR3151 0 +MIR3622A 0 +MIR3926-2 0 +MIR4470 0 +MIR4471 0 +MIR4472-1 0 +MIR4659A 0 +MIR4660 0 +MIR4661 0 +MIR486-2 0 +MIR5680 0 +MIR5681A 0 +MIR5708 0 +MIR596 0 +MIR597 0 +MIR6842 0 +MIR6847 0 +MIR6876 0 +MIR7160 0 +MIR8084 0 +MROH1 0 +MRPL15 0 +MSRA 5 +MTBP 0 +MTDH 8 +MTFR1 2 +MTMR9 5 +MYC 0 +MYOM2 0 +NACAP1 0 +NAT1 0 +NAT2 0 +NDUFAF6 0 +NDUFB9 5 +NECAB1 0 +NEFM 8 +NEIL2 0 +NKAIN3 0 +NOV 0 +NPBWR1 0 +NPM2 16 +NRG1 0 +NRG1-IT1 0 +NRG1-IT3 0 +NSMCE2 5 +ODF1 0 +OSGIN2 0 +OSR2 3 +OTUD6B 1 +OXR1 1 +PCAT1 0 +PCM1 8 +PDGFRL 6 +PDLIM2 0 +PDP1 2 +PHF20L1 0 +PI15 0 +PIWIL2 4 +PKHD1L1 0 +PKIA 0 +PLEKHA2 0 +PLEKHF2 10 +PNOC 0 +POLB 20 +POLR2K 1 +POLR3D 2 +POMK 1 +POP1 1 +POTEA 0 +POU5F1B 0 +PPP1R16A 0 +PPP2R2A 8 +PPP3CC 0 +PREX2 0 +PRNCR1 0 +PROSC 7 +PRR23D1 0 +PRR23D2 0 +PRSS55 0 +PSCA 0 +PTDSS1 8 +PTK2B 7 +PTP4A3 0 +PVT1 0 +R3HCC1 0 +RAB2A 5 +RAD21-AS1 0 +RALYL 0 +RBM12B-AS1 0 +RBPMS 2 +RDH10 3 +REXO1L2P 0 +RGS20 0 +RHOBTB2 1 +RHPN1 1 +RIMS2 0 +RIPK2 2 +RNF139 0 +RNU6-83P 0 +RP1 0 +RRS1 2 +SAMD12-AS1 0 +SCARA3 0 +SCX 0 +SDC2 0 +SDCBP 4 +SFTPC 0 +SGK3 0 +SH2D4A 56 +SLC25A37 2 +SLC26A7 0 +SLC30A8 0 +SLC35G5 0 +SLC39A14 7 +SLC52A2 1 +SLC7A2 0 +SMIM18 0 +SMIM19 1 +SNTG1 0 +SORBS3 0 +SOX17 0 +SPAG1 0 +SPAG11A 0 +SPAG11B 0 +SPATC1 0 +SPIDR 0 +SQLE 1 +STAU2-AS1 0 +STMN2 0 +SULF1 0 +TACC1 23 +TBC1D31 0 +TDH 0 +TERF1 0 +TG 0 +TGS1 6 +THEM6 0 +TIGD5 0 +TMED10P1 0 +TMEM67 0 +TMEM70 0 +TNFRSF10C 0 +TNKS 2 +TRHR 0 +TRIB1 0 +TRIM55 0 +TRMT12 1 +TUSC3 3 +UBE2V2 0 +UBXN2B 0 +UBXN8 2 +UG0898H09 0 +UNC5D 1 +USP17L1P 0 +USP17L4 0 +UTP23 0 +VDAC3 4 +VPS13B 2 +VPS37A 6 +WDYHV1 0 +WISP1 0 +WRN 3 +WWP1 0 +XKR4 0 +XKR9 0 +XPO7 1 +YTHDF3 1 +ZBTB10 2 +ZC2HC1A 1 +ZDHHC2 1 +ZFAT-AS1 0 +ZFHX4 0 +ZFP41 0 +ZFPM2 5 +ZHX2 0 +ZNF252P-AS1 0 +ZNF517 0 +ZNF572 0 +ZNF596 0 +ZNF623 2 +ZNF696 0 +ZNF7 0 +ZNF703 0 +ZNF705B 0 +ZNF705D 0 +ZNF707 0 +ABL1 1 +ACER2 0 +ACO1 0 +ACTL7A 0 +ADAMTS13 0 +ADAMTSL1 5 +ADAMTSL2 0 +AIF1L 0 +AKAP2 23 +ALDH1B1 0 +ANKRD18B 0 +ANKRD19P 0 +ANKRD20A1 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKRD20A4 0 +ANP32B 2 +ANXA1 0 +ANXA2P2 0 +AQP7P3 0 +ARPC5L 4 +ARRDC1 0 +ASS1 0 +ASTN2-AS1 0 +ATP6V1G1 11 +ATP8B5P 0 +B4GALT1-AS1 0 +BARHL1 0 +BSPRY 0 +C8G 0 +C9orf106 0 +C9orf117 0 +C9orf131 0 +C9orf135 0 +C9orf139 0 +C9orf142 0 +C9orf16 0 +C9orf163 0 +C9orf170 0 +C9orf171 0 +C9orf172 0 +C9orf173 0 +C9orf3 0 +C9orf41-AS1 0 +C9orf43 1 +C9orf47 0 +C9orf53 0 +C9orf62 0 +C9orf85 1 +C9orf89 0 +C9orf9 1 +C9orf91 4 +CA9 0 +CACFD1 1 +CACNA1B 0 +CBWD3 0 +CBWD5 0 +CCDC107 0 +CCDC171 6 +CCDC180 0 +CCDC183 0 +CCIN 0 +CD274 0 +CDC37L1 0 +CDK9 0 +CDKN2B-AS1 0 +CEL 0 +CELP 0 +CENPP 5 +CEP78 4 +CERCAM 0 +CHMP5 1 +CKS2 1 +CLTA 2 +CNTFR-AS1 0 +CNTLN 4 +CNTNAP3B 0 +CNTNAP3P2 0 +CNTRL 11 +COL15A1 1 +COL27A1 0 +COL5A1 0 +COQ4 1 +CRB2 0 +CREB3 0 +CTSL 1 +CTSL3P 0 +CTSLP8 0 +CYLC2 0 +CYSRT1 0 +DAB2IP 1 +DAPK1 0 +DBH 0 +DCAF10 0 +DDX11L5 0 +DEC1 0 +DENND4C 1 +DMRT1 0 +DMRT2 0 +DMRT3 0 +DMRTA1 1 +DNAI1 0 +DNAJA1 67 +DNAJB5 0 +DNAJC25 0 +DNAJC25-GNG10 0 +DNM1 0 +DOCK8 0 +DOLPP1 0 +EBLN3 4 +EGFL7 1 +EHMT1 3 +EHMT1-IT1 0 +ENDOG 0 +ERCC6L2 2 +EXOSC2 0 +FAM120A 0 +FAM122A 11 +FAM157B 0 +FAM189A2 11 +FAM201A 0 +FAM206A 3 +FAM225A 0 +FAM27C 0 +FAM27E2 0 +FAM69B 2 +FAM73B 0 +FAM74A1 0 +FAM74A3 0 +FAM74A6 0 +FAM95B1 0 +FCN2 0 +FGD3 1 +FKTN 0 +FOCAD 0 +FOXB2 0 +FOXD4L3 0 +FOXD4L4 0 +FOXE1 0 +FPGS 0 +FRMPD1 0 +FSD1L 1 +FUBP3 0 +FXN 0 +GADD45G 0 +GALNT12 0 +GALT 1 +GAPVD1 7 +GARNL3 0 +GCNT1 1 +GDA 0 +GFI1B 0 +GLE1 1 +GLIPR2 0 +GLIS3-AS1 0 +GNA14-AS1 0 +GNG10 2 +GPR107 3 +GPR21 0 +GPSM1 0 +GRHPR 0 +GRIN1 0 +GSN 0 +GTF3C4 1 +GTF3C5 0 +GXYLT1P3 0 +HABP4 0 +HIATL1 0 +HMCN2 0 +HRCT1 0 +HSDL2 0 +IDNK 0 +IFNA1 0 +IFNA8 0 +IFNK 0 +IFT74 0 +IL11RA 1 +IL33 0 +INSL4 0 +INVS 0 +JAK2 2 +KANK1 0 +KCNT1 0 +KCNV2 0 +KDM4C 0 +KGFLP1 0 +KIAA1045 0 +KIAA1958 1 +LAMC3 1 +LCN1 0 +LCN12 0 +LCN2 0 +LCN9 0 +LCNL1 0 +LHX2 2 +LINC00094 2 +LINC00475 0 +LINC00583 0 +LINC00587 0 +LINC00950 0 +LINC00961 0 +LINC00963 0 +LINC01189 0 +LINC01230 0 +LINC01231 0 +LINC01239 1 +LINC01241 0 +LINC01410 0 +LINC01502 0 +LINC01503 0 +LINC01504 0 +LINC01505 0 +LINC01507 0 +LMX1B 0 +LOC100128076 0 +LOC100128361 0 +LOC100128593 0 +LOC100129034 0 +LOC100132077 0 +LOC100132352 0 +LOC100132781 0 +LOC100133920 0 +LOC100288842 0 +LOC100499484 0 +LOC100499484-C9ORF174 0 +LOC100506100 0 +LOC100506422 0 +LOC100506834 0 +LOC100507346 0 +LOC101927358 0 +LOC101927502 0 +LOC101927575 0 +LOC101927623 0 +LOC101927827 0 +LOC101927847 0 +LOC101928381 0 +LOC101928523 0 +LOC101928797 0 +LOC101929331 0 +LOC102723709 0 +LOC158435 0 +LOC286367 0 +LOC389705 0 +LOC389765 0 +LOC401557 0 +LOC441454 0 +LOC441455 1 +LOC642943 0 +LPPR1 0 +LRRC8A 9 +LRSAM1 0 +LURAP1L 0 +MAMDC2 0 +MAMDC4 0 +MAN1B1 0 +MELK 10 +MIR101-2 0 +MIR126 0 +MIR181A2 0 +MIR181A2HG 0 +MIR181B2 0 +MIR219B 0 +MIR2278 0 +MIR23B 0 +MIR24-1 0 +MIR27B 0 +MIR2861 0 +MIR3152 0 +MIR3153 0 +MIR3910-1 0 +MIR3960 0 +MIR4291 0 +MIR4292 0 +MIR4479 0 +MIR455 0 +MIR4665 0 +MIR4667 0 +MIR4668 0 +MIR4669 0 +MIR4674HG 0 +MIR491 0 +MIR602 0 +MIR6081 0 +MIR6853 0 +MIR6855 0 +MIR6856 0 +MIR6877 0 +MIR8081 0 +MIRLET7A1 0 +MIRLET7D 0 +MIRLET7F1 0 +MLANA 0 +MORN5 0 +MRPL41 0 +MRPS2 0 +MRRF 5 +MSANTD3 1 +MSANTD3-TMEFF1 0 +MTAP 0 +MURC 0 +MUSK 0 +MVB12B 0 +NAA35 19 +NANS 0 +NCBP1 0 +NCS1 0 +NDOR1 0 +NEK6 1 +NELFB 0 +NFX1 1 +NIPSNAP3A 0 +NIPSNAP3B 0 +NOXA1 0 +NPR2 0 +NR4A3 0 +NTMT1 1 +NTNG2 0 +NTRK2 0 +NUDT2 1 +NUP188 1 +NUP214 1 +NUTM2G 0 +NXNL2 0 +OBP2A 0 +ODF2 2 +OLFM1 2 +OLFML2A 0 +OR13C8 0 +OR13D1 0 +OR13F1 0 +OR1J2 0 +OR1J4 0 +OR1K1 0 +OR1L1 0 +OR1L3 0 +OR1L4 0 +OR1L6 0 +OR1N2 0 +OR1Q1 0 +OR5C1 0 +ORM1 0 +ORM2 0 +OSTF1 0 +PAEP 0 +PALM2 0 +PALM2-AKAP2 0 +PAPPA 1 +PBX3 0 +PCA3 0 +PCAT7 1 +PCSK5 0 +PDCD1LG2 0 +PGM5 0 +PGM5P3-AS1 0 +PHF2 0 +PHPT1 0 +PHYHD1 0 +PIP5K1B 0 +PKN3 0 +PMPCA 0 +POLR1E 8 +POMT1 0 +PPAPDC2 4 +PPAPDC3 1 +PPP1R26 0 +PPP2R4 0 +PRDM12 0 +PRPF4 4 +PRRC2B 2 +PRRX2 0 +PRSS3 0 +PSAT1 0 +PSMD5-AS1 0 +PTENP1-AS 0 +PTGDS 0 +PTGER4P2-CDK2AP2P2 0 +PTGES2-AS1 0 +PTGS1 0 +PTPDC1 2 +PTPRD-AS1 1 +PTPRD-AS2 0 +RABEPK 1 +RABGAP1 7 +RABL6 0 +RAD23B 3 +RALGPS1 0 +RCL1 0 +RECK 1 +RFX3-AS1 0 +RGP1 0 +RGS3 0 +RIC1 0 +RMI1 4 +RNF20 20 +RNF224 0 +RORB 0 +RPL7A 70 +RPSAP9 0 +RRAGA 0 +RUSC2 1 +RXRA 0 +S1PR3 0 +SEC61B 7 +SECISBP2 11 +SET 18 +SH3GL2 0 +SLC1A1 0 +SLC25A25 0 +SLC27A4 0 +SLC2A8 1 +SLC31A1 3 +SLC31A2 0 +SLC34A3 0 +SLC44A1 0 +SMARCA2 27 +SMC2 14 +SMC5 0 +SNAPC3 0 +SNORD24 0 +SNORD36A 1 +SNORD36B 5 +SNORD36C 0 +SNORD62A 0 +SNORD62B 0 +SNX30 1 +SPATA31A1 0 +SPATA31A3 0 +SPATA31A5 0 +SPATA31A7 0 +SPATA31C1 0 +SPATA31D1 0 +SPATA31D3 0 +SPATA31D4 0 +SPATA31D5P 0 +SPATA31E1 0 +SPIN1 11 +SPINK4 0 +SPTAN1 1 +SSNA1 2 +STKLD1 0 +STX17 5 +STXBP1 0 +SURF2 1 +SUSD3 1 +SWI5 0 +SYK 0 +TAL2 0 +TBC1D13 0 +TDRD7 3 +TEK 0 +TESK1 1 +TGFBR1 2 +TJP2 0 +TLE4 3 +TLR4 0 +TMC1 0 +TMEFF1 0 +TMEM141 0 +TMEM215 0 +TMEM246-AS1 0 +TMEM38B 1 +TMEM8B 0 +TMOD1 10 +TOPORS-AS1 0 +TOR1B 0 +TOR4A 0 +TPD52L3 0 +TRAF2 3 +TRIM32 1 +TRMT10B 0 +TTC16 0 +TUBB4B 5 +TUBBP5 95 +TYRP1 0 +UAP1L1 0 +UBAP1 4 +UBE2R2 26 +UGCG 0 +UHRF2 14 +UNC13B 0 +UNQ6494 0 +URM1 1 +USP20 2 +VLDLR 3 +VPS13A 0 +WDR38 0 +WDR5 3 +WNK2 0 +ZBTB34 0 +ZBTB43 5 +ZCCHC7 23 +ZNF169 0 +ZNF189 0 +ZNF462 3 +ZNF483 0 +ZNF618 11 +ZNF79 0 +FLJ43315 1 +FAM230C 0 +MIR8069-1 0 +LOC100507412 0 +RNA45S5 1 +RNA5-8S5 1 +LOC101928597 0 +DUX4 0 +ABCD1 0 +ACRC 0 +AFF2 0 +AGTR2 0 +AKAP14 0 +AKAP17A 0 +ALG13 0 +AMELX 0 +APEX2 0 +APOOL 0 +AR 0 +ARAF 0 +ARHGAP36 0 +ARL13A 0 +ARMCX1 0 +ARMCX3 0 +ARMCX4 0 +ARMCX5 0 +ARMCX5-GPRASP2 0 +ARR3 0 +ARSF 0 +ARSH 0 +ASMT 0 +ASMTL-AS1 0 +ATG4A 2 +ATP1B4 0 +ATP2B3 0 +ATP6AP1 0 +ATP6AP2 1 +ATP7A 5 +AVPR2 0 +AWAT1 0 +BCORL1 3 +BEX4 0 +BGN 0 +BHLHB9 3 +BMP15 13 +BMX 0 +BRCC3 0 +BRS3 0 +CA5B 0 +CA5BP1 0 +CCDC120 2 +CCDC160 0 +CCDC22 0 +CCNB3 8 +CD40LG 0 +CD99 0 +CD99P1 0 +CDK16 0 +CDKL5 0 +CDX4 0 +CENPI 0 +CENPVP1 0 +CENPVP2 0 +CHDC2 0 +CHIC1 1 +CHST7 0 +CLCN4 0 +CLCN5 3 +CLDN2 0 +CNGA2 0 +CNKSR2 0 +COL4A5 0 +COX7B 0 +CPXCR1 0 +CSAG1 0 +CSAG3 0 +CSF2RA 0 +CSTF2 5 +CT45A1 0 +CT45A2 0 +CT45A3 0 +CT45A4 0 +CT45A5 0 +CT45A6 0 +CTAG1A 0 +CTAG1B 0 +CXXC1P1 0 +CXorf22 0 +CXorf28 0 +CXorf30 0 +CXorf40A 0 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf57 0 +CXorf58 0 +CXorf67 19 +CYBB 0 +CYLC1 0 +DACH2 0 +DCAF8L2 0 +DDX26B 0 +DDX3X 14 +DDX53 0 +DGAT2L6 0 +DIAPH2 7 +DKC1 25 +DLG3 1 +DMRTC1 0 +DMRTC1B 0 +DOCK11 0 +DRP2 0 +DUSP21 0 +DUSP9 0 +EBP 4 +EDA 1 +EFNB1 0 +EGFL6 0 +EIF1AX-AS1 0 +EIF2S3 0 +EMD 0 +ERAS 0 +F8A1 0 +F8A2 0 +F8A3 0 +F9 0 +FAAH2 0 +FAM122C 0 +FAM127A 0 +FAM133A 0 +FAM155B 0 +FAM156A 0 +FAM156B 0 +FAM199X 5 +FAM223A 0 +FAM223B 0 +FAM45B 0 +FAM46D 0 +FAM47B 0 +FAM47C 0 +FAM50A 0 +FATE1 0 +FGF13-AS1 0 +FGF16 0 +FHL1 0 +FLJ44635 0 +FMR1 2 +FMR1NB 0 +FOXO4 0 +FOXR2 0 +FRMPD3 0 +FRMPD4 0 +FTSJ1 0 +FUNDC2 0 +GABRQ 0 +GAGE1 0 +GAGE10 0 +GAGE12B 0 +GAGE12C 0 +GAGE12D 0 +GAGE12E 0 +GAGE12F 0 +GAGE12G 0 +GAGE12H 0 +GAGE12I 0 +GAGE12J 0 +GAGE13 0 +GAGE2A 0 +GAGE2B 0 +GAGE2C 0 +GAGE2D 0 +GAGE2E 0 +GAGE4 0 +GAGE5 0 +GAGE6 0 +GAGE7 0 +GAGE8 0 +GATA1 0 +GDI1 1 +GDPD2 0 +GJB1 0 +GK 0 +GLOD5 0 +GLRA2 0 +GLUD2 0 +GNL3L 0 +GPR112 0 +GPR173 0 +GPR174 0 +GPR34 0 +GPR50 0 +GPR82 0 +GPRASP1 0 +GPRASP2 0 +GRIA3 0 +GRPR 0 +GS1-600G8.3 0 +GSPT2 0 +GYG2 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFM 0 +H2BFXP 0 +HCCS 1 +HCFC1-AS1 0 +HDAC6 0 +HEPH 0 +HMGB3 21 +HNRNPH2 0 +HPRT1 4 +HS6ST2-AS1 0 +HSFX1 0 +HSFX2 0 +HTATSF1 5 +HTR2C 0 +HYPM 0 +IGBP1 4 +IKBKG 0 +IL13RA1 1 +IL1RAPL1 0 +IL1RAPL2 0 +IL3RA 0 +IL9R 0 +INE1 0 +ITGB1BP2 0 +JADE3 0 +JPX 0 +KANTR 0 +KDM6A 6 +KIF4A 18 +KLF8 0 +KLHL4 0 +KRBOX4 0 +LANCL3 0 +LINC00086 0 +LINC00269 0 +LINC00629 0 +LINC00630 0 +LINC00632 0 +LINC00684 0 +LINC00685 0 +LINC00850 0 +LINC00890 0 +LINC00891 0 +LINC00892 0 +LINC00894 0 +LINC01203 0 +LINC01204 0 +LINC01285 0 +LINC01420 0 +LOC100129520 0 +LOC100132304 0 +LOC100132741 0 +LOC100287728 0 +LOC100288814 0 +LOC100506790 0 +LOC101060211 0 +LOC101927476 0 +LOC101927501 0 +LOC101927830 0 +LOC101928128 0 +LOC101928259 0 +LOC101928336 0 +LOC101928358 0 +LOC101928437 0 +LOC101928495 0 +LOC101928564 0 +LOC102723680 0 +LOC102723737 0 +LOC389895 0 +LOC392452 0 +LONRF3 0 +LPAR4 0 +LUZP4 0 +MAGEA11 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA4 0 +MAGEA6 0 +MAGEA8 0 +MAGEA9 0 +MAGEA9B 0 +MAGEB1 0 +MAGEB10 0 +MAGEB16 0 +MAGEB17 0 +MAGEB18 0 +MAGEB2 0 +MAGEB3 0 +MAGEB4 0 +MAGEB5 0 +MAGEB6 0 +MAGEC1 0 +MAGEC3 0 +MAGED1 0 +MAGED2 0 +MAGED4 0 +MAGED4B 0 +MAGEE1 1 +MAGEH1 0 +MAGIX 0 +MAMLD1 0 +MAOA 0 +MBTPS2 1 +MCTS1 2 +MED12 0 +MED14OS 0 +MID1IP1 0 +MID2 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1264 0 +MIR1277 0 +MIR1298 0 +MIR188 0 +MIR1911 0 +MIR1912 0 +MIR2114 0 +MIR223 0 +MIR3202-1 0 +MIR362 0 +MIR3690 0 +MIR374C 0 +MIR3978 0 +MIR4330 0 +MIR448 0 +MIR4536-1 0 +MIR4767 0 +MIR4768 0 +MIR4769 0 +MIR500A 0 +MIR500B 0 +MIR501 0 +MIR502 0 +MIR532 0 +MIR6086 0 +MIR6089 0 +MIR651 0 +MIR660 0 +MIR664B 0 +MIR676 0 +MIR6858 0 +MIR764 0 +MIR934 0 +MORF4L2-AS1 0 +MOSPD2 0 +MPC1L 0 +MSL3 5 +MSN 0 +MST4 1 +MTM1 5 +MTMR1 4 +MUM1L1 0 +NDUFA1 0 +NGFRAP1 0 +NHS 0 +NHSL2 0 +NLGN3 0 +NONO 0 +NRK 0 +NSDHL 1 +NUDT10 0 +NXF2 0 +NXF2B 0 +NXF4 0 +NXT2 0 +NYX 0 +OCRL 4 +OFD1 52 +OGT 0 +OPN1LW 0 +OPN1MW 0 +OPN1MW2 0 +OR13H1 0 +OTC 0 +OTUD6A 0 +P2RY10 0 +PABPC1L2B 0 +PABPC1L2B-AS1 0 +PABPC5 0 +PAGE2 0 +PAGE2B 0 +PAGE4 0 +PAGE5 0 +PAK3 0 +PASD1 0 +PBDC1 0 +PCDH11X 14 +PCYT1B-AS1 0 +PDHA1 0 +PDK3 0 +PGK1 0 +PGRMC1 0 +PHEX 9 +PHF6 5 +PHKA2-AS1 0 +PIH1D3 0 +PIN4 0 +PLCXD1 0 +PLP1 0 +PLP2 0 +PLS3 0 +PLXNA3 0 +PLXNB3 0 +PNMA3 0 +PNMA6A 0 +POLA1 3 +PORCN 0 +POU3F4 0 +PPEF1 3 +PPP1R3F 0 +PQBP1 2 +PRDX4 0 +PRKX-AS1 0 +PRPS1 1 +PRPS2 2 +PRR32 0 +PRRG1 0 +PRRG3 0 +PTCHD1 0 +RAB33A 0 +RAB40AL 0 +RAB41 0 +RAB9A 0 +RAP2C-AS1 0 +RBM10 0 +RBM3 1 +RBMX2 62 +RBMXL3 0 +REPS2 0 +RGAG1 0 +RGN 0 +RHOXF2 0 +RHOXF2B 0 +RIBC1 0 +RNF128 0 +RP2 0 +RPA4 0 +RPL10 40 +RPL36A 0 +RPL36A-HNRNPH2 0 +RPS26P11 0 +RRAGB 1 +S100G 0 +SAGE1 0 +SASH3 0 +SAT1 0 +SCARNA23 0 +SCML1 6 +SH2D1A 0 +SH3BGRL 0 +SHOX 0 +SHROOM2 7 +SLC16A2 0 +SLC25A14 1 +SLC25A43 0 +SLC25A5 27 +SLC6A14 0 +SLC6A8 0 +SLC9A6 0 +SLITRK2 0 +SMIM10 0 +SMS 8 +SNORA11 0 +SNORA11C 0 +SNORA11D 0 +SNORA11E 0 +SNORA35 0 +SNORA36A 0 +SNORA56 0 +SNORA70 7 +SOWAHD 0 +SPACA5 0 +SPACA5B 0 +SPANXA1 0 +SPANXA2 0 +SPANXA2-OT1 0 +SPANXB1 0 +SPANXN1 0 +SPANXN4 0 +SPRY3 0 +SRD5A1P1 0 +SRPK3 0 +SRPX2 0 +SSR4 1 +SSX1 0 +SSX2 0 +SSX2B 0 +SSX4 0 +SSX4B 0 +SSX6 0 +SSX8 0 +STAG2 0 +STARD8 0 +STS 0 +SUPT20HL1 0 +SUV39H1 0 +SYAP1 1 +SYP-AS1 0 +SYTL5 0 +TAF1 2 +TAZ 0 +TBC1D25 1 +TBC1D8B 0 +TBL1X 7 +TBX22 0 +TCEAL1 0 +TCEAL2 0 +TCEAL3 0 +TCEAL4 0 +TCEAL7 0 +TCEANC 1 +TCP11X2 0 +TDGF1P3 0 +TGIF2LX 0 +TIMP1 0 +TKTL1 0 +TLR7 0 +TLR8 0 +TMEM164 0 +TMEM187 0 +TMEM257 0 +TMEM31 0 +TMEM35 0 +TMLHE-AS1 0 +TMSB15B 0 +TMSB4X 13 +TNMD 0 +TRO 0 +TRPC5OS 0 +TSIX 0 +TSPAN7 1 +TSPYL2 0 +TSR2 2 +TXLNG 11 +UBA1 1 +UBE2A 3 +UBE2DNL 0 +UBE2E4P 0 +UBE2NL 0 +UBQLN2 0 +UPRT 0 +USP11 4 +USP27X 0 +USP9X 12 +UTP14A 7 +UXT-AS1 1 +VAMP7 0 +VBP1 2 +VCX 0 +VCX3B 0 +VENTXP1 0 +VGLL1 0 +VMA21 0 +VSIG1 0 +WAS 0 +WBP5 0 +WDR13 0 +WDR44 1 +WWC3 6 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE5 0 +XG 0 +XGY2 0 +XIAP 2 +XK 0 +XPNPEP2 0 +YIPF6 8 +YY2 1 +ZBTB33 1 +ZC3H12B 0 +ZCCHC12 2 +ZCCHC13 0 +ZCCHC16 0 +ZCCHC18 0 +ZFP92 0 +ZFX 0 +ZIC3 0 +ZNF157 0 +ZNF185 1 +ZNF275 0 +ZNF449 2 +ZNF630-AS1 0 +ZNF645 0 +ZNF674-AS1 0 +ZNF711 0 +ZNF81 0 +ZRSR2 2 +ZXDB 0 +AKAP17A 0 +ASMT 0 +ASMTL-AS1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD99 0 +CD99P1 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CSF2RA 0 +CSPG4P1Y 0 +DAZ2 0 +DAZ3 0 +DAZ4 0 +DDX3Y 0 +EIF1AY 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +HSFY1 0 +HSFY2 0 +IL3RA 0 +IL9R 0 +LINC00278 0 +LINC00685 0 +LOC100652931 0 +LOC101929148 0 +MIR3690 0 +MIR6089 0 +NLGN4Y 0 +PCDH11Y 1 +PLCXD1 0 +PRKY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2FP 0 +RPS4Y1 0 +RPS4Y2 0 +SHOX 0 +SPRY3 0 +TBL1Y 0 +TGIF2LY 0 +TMSB4Y 0 +TSPY1 0 +TSPY10 0 +TSPY2 0 +TSPY3 0 +TSPY4 0 +TSPY8 0 +TTTY1 0 +TTTY12 0 +TTTY15 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY19 0 +TTTY1B 0 +TTTY2 0 +TTTY21 0 +TTTY21B 0 +TTTY22 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +TXLNGY 0 +USP9Y 0 +VAMP7 0 +VCY 0 +VCY1B 0 +XGY2 0 +XKRY 0 +XKRY2 0 +ZFY 0 +A3GALT2 0 +ABCA4 0 +ABCB10 0 +ABL2 5 +ACAP3 0 +ACBD3 4 +ACBD6 1 +ACOT7 0 +ACP6 0 +ACTA1 0 +ADAM30 0 +ADAMTS4 0 +ADAMTSL4-AS1 0 +ADAR 19 +ADCY10 0 +ADIPOR1 4 +ADORA3 0 +ADSS 1 +AGBL4 0 +AGBL4-IT1 0 +AGMAT 2 +AGT 0 +AHCTF1 1 +AHDC1 1 +AIDA 0 +AIM1L 1 +AIM2 0 +AK2 2 +AKNAD1 0 +AKR7A2 2 +AKR7A3 0 +AKR7L 0 +AKT3 0 +ALDH4A1 2 +ALDH9A1 9 +ALG14 0 +ALX3 0 +AMIGO1 1 +AMPD1 0 +AMY1A 0 +AMY1B 0 +AMY1C 0 +ANGEL2 0 +ANGPTL1 0 +ANKRD13C 1 +ANKRD20A12P 0 +ANKRD36BP1 1 +ANKRD45 1 +ANKRD65 0 +ANP32E 3 +AP4B1 1 +APH1A 13 +APOA2 0 +APOBEC4 0 +ARHGAP29 5 +ARHGAP30 0 +ARHGEF11 0 +ARHGEF19 0 +ARHGEF2 0 +ARID4B 2 +ARL8A 0 +ARNT 1 +ARPC5 2 +ASAP3 0 +ASB17 0 +ASCL5 0 +ASH1L 6 +ASPM 30 +ASTN1 0 +ATP13A2 0 +ATP1A1-AS1 4 +ATP6V1G3 0 +ATPAF1 0 +AUNIP 3 +AURKAIP1 1 +AURKAPS1 2 +B3GALNT2 1 +B3GALT2 0 +B4GALT3 1 +BAI2 1 +BARHL2 0 +BATF3 0 +BCAR3 1 +BCAS2 6 +BCL10 1 +BCL2L15 0 +BEND5 0 +BEST4 0 +BLACAT1 0 +BMP8B 0 +BPNT1 2 +BRINP3 0 +BSDC1 5 +BTNL10 0 +C1orf109 0 +C1orf110 0 +C1orf111 0 +C1orf116 0 +C1orf123 0 +C1orf127 0 +C1orf131 9 +C1orf140 0 +C1orf141 0 +C1orf145 0 +C1orf159 0 +C1orf168 2 +C1orf174 2 +C1orf180 0 +C1orf186 0 +C1orf189 0 +C1orf192 0 +C1orf194 0 +C1orf195 0 +C1orf198 0 +C1orf200 0 +C1orf204 0 +C1orf210 1 +C1orf216 1 +C1orf229 0 +C1orf233 0 +C1orf234 0 +C1orf35 0 +C1orf43 2 +C1orf52 0 +C1orf61 0 +C1orf74 1 +C1orf85 0 +C1orf86 2 +C1orf87 0 +C2CD4D 0 +C8B 0 +CACNA1S 0 +CADM3-AS1 0 +CAMK2N1 0 +CAPN8 0 +CAPZB 3 +CASP9 1 +CASQ2 0 +CASZ1 0 +CC2D1B 0 +CCBL2 0 +CCDC163P 1 +CCDC17 0 +CCDC181 1 +CCDC19 0 +CCDC23 0 +CCNL2 1 +CCSAP 5 +CCT3 7 +CD160 0 +CD164L2 0 +CD1B 0 +CD244 0 +CD247 0 +CD34 0 +CD48 0 +CD58 0 +CD5L 0 +CD84 0 +CDC42BPA 10 +CDC42SE1 4 +CDCP2 0 +CDK11A 0 +CDK11B 4 +CELF3 0 +CENPL 0 +CEP104 3 +CEP170 1 +CERS2 18 +CHD5 0 +CHI3L1 0 +CHIT1 0 +CHML 0 +CHRM3-AS1 0 +CHRM3-AS2 0 +CITED4 0 +CLCC1 1 +CLDN19 0 +CLK2 4 +CLSPN 14 +CLSTN1 8 +CNN3 25 +CNR2 0 +COA7 0 +COL11A1 0 +COL16A1 0 +COL24A1 0 +COL8A2 0 +COL9A2 0 +COLGALT2 0 +COPA 1 +CPSF3L 0 +CRABP2 0 +CREG1 0 +CRNN 0 +CROCCP2 0 +CROCCP3 0 +CRP 0 +CRTC2 1 +CRYZ 5 +CSDE1 126 +CSF3R 0 +CSMD2 0 +CSRP1 16 +CTBS 0 +CTNNBIP1 1 +CTSK 0 +CTSS 0 +CYB5R1 0 +CYB5RL 0 +CYP2J2 0 +CYP4A11 0 +CYP4Z2P 0 +DAB1 2 +DBT 4 +DCAF8 4 +DCST2 0 +DDAH1 0 +DDOST 1 +DDX59 7 +DEDD 6 +DENND1B 0 +DENND2C 0 +DENND2D 0 +DENND4B 0 +DEPDC1 0 +DFFA 0 +DHCR24 0 +DHRS3 0 +DIRAS3 5 +DISC2 0 +DLGAP3 0 +DMRTA2 0 +DNAJC11 0 +DNAJC8 11 +DNM3OS 0 +DNTTIP2 11 +DOCK7 0 +DPH5 0 +DPM3 0 +DPT 0 +DPYD 0 +DRAM2 0 +DSTYK 3 +DUSP10 1 +DVL1 1 +E2F2 0 +EBNA1BP2 1 +ECE1 0 +ECHDC2 0 +EDEM3 0 +EDN2 0 +EFCAB14 17 +EGLN1 0 +EIF2B3 1 +EIF2D 2 +EIF4G3 4 +ELK4 2 +ELOVL1 0 +ELTD1 0 +EMC1 0 +ENAH 7 +ENO1 2 +ENSA 6 +EPHA10 1 +EPHA2 0 +EPRS 19 +EPS15 3 +EPS8L3 0 +ERI3 0 +ERI3-IT1 0 +ERICH3 0 +ERO1LB 5 +ERRFI1 0 +ESPNP 0 +ESRRG 0 +ETNK2 0 +ETV3 0 +ETV3L 0 +EVA1B 0 +EVI5 1 +EXOC8 0 +EXOSC10 1 +EXTL2 0 +EYA3 0 +F11R 0 +F13B 0 +F3 0 +F5 0 +FABP3 0 +FAF1 0 +FAIM3 0 +FAM129A 0 +FAM131C 0 +FAM132A 0 +FAM138A 0 +FAM138F 0 +FAM151A 0 +FAM189B 0 +FAM212B 0 +FAM229A 0 +FAM231A 0 +FAM41C 1 +FAM46B 6 +FAM63A 0 +FAM69A 0 +FAM72C 0 +FAM72D 0 +FAM78B 0 +FAM89A 0 +FBXO2 0 +FBXO42 2 +FCAMR 0 +FCGR1B 0 +FCGR3A 0 +FCGR3B 0 +FCN3 0 +FCRL1 0 +FCRL2 0 +FCRL3 0 +FCRL4 0 +FCRL5 0 +FGR 0 +FH 5 +FHL3 0 +FLG 0 +FLG2 0 +FLJ27354 0 +FLJ37453 1 +FLVCR1-AS1 1 +FMO5 0 +FMOD 0 +FNDC5 0 +FOXD2-AS1 0 +FOXD3-AS1 0 +FOXJ3 7 +FRRS1 0 +FUBP1 3 +FUCA1 0 +GALE 0 +GAS5 2 +GATAD2B 8 +GBA 0 +GBAP1 0 +GBP1 0 +GBP2 0 +GBP3 0 +GBP4 0 +GBP5 0 +GBP7 0 +GCLM 2 +GCSAML-AS1 0 +GDAP2 3 +GEMIN8P4 0 +GFI1 0 +GJA5 0 +GJA9 0 +GJA9-MYCBP 7 +GLIS1 0 +GLMN 0 +GLRX2 0 +GLUL 1 +GNAT2 2 +GNB1 21 +GNG12 19 +GNG4 0 +GNG5 3 +GNL2 5 +GNRHR2 0 +GOLPH3L 4 +GOLT1A 0 +GON4L 3 +GPA33 0 +GPATCH2 5 +GPATCH3 0 +GPATCH4 9 +GPBP1L1 0 +GPN2 1 +GPR153 0 +GPR157 0 +GPR161 0 +GPR89A 0 +GREM2 0 +GRIK3 0 +GS1-279B7.1 0 +GSTM3 0 +GTF2B 9 +GUCA2A 0 +HDGF 10 +HEATR1 9 +HECTD3 2 +HENMT1 37 +HES2 0 +HES4 0 +HES5 0 +HEYL 0 +HFM1 0 +HHIPL2 0 +HIPK1-AS1 0 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AB 0 +HIST2H2BC 0 +HIST2H2BE 0 +HIST2H2BF 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H3D 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2A 0 +HIST3H3 0 +HIVEP3 0 +HLX-AS1 0 +HMGCL 1 +HMGCS2 0 +HNRNPCL1 0 +HNRNPCL2 0 +HNRNPR 8 +HNRNPU 10 +HNRNPU-AS1 1 +HORMAD1 0 +HP1BP3 1 +HPCAL4 0 +HRNR 0 +HSD52 0 +HSPB11 6 +HSPB7 0 +HSPG2 0 +HTR1D 0 +HYI 0 +IBA57-AS1 0 +ICMT 1 +ID3 2 +IFFO2 0 +IFI6 0 +IFNLR1 0 +IGSF3 0 +IGSF8 0 +IGSF9 1 +IL10 0 +IL22RA1 0 +ILDR2 6 +ILF2 15 +INPP5B 1 +INSL5 0 +INSRR 0 +INTS7 2 +IPO9-AS1 0 +IPP 1 +IQGAP3 0 +IRF2BP2 0 +IRF6 17 +ISG20L2 0 +ITGB3BP 2 +ITLN1 0 +ITLN2 0 +ITPKB 0 +ITPKB-IT1 0 +IVNS1ABP 0 +JAK1 4 +JMJD4 0 +JTB 0 +JUN 0 +KANK4 0 +KCNA10 0 +KCNA2 0 +KCNA3 0 +KCNC4-AS1 0 +KCND3 0 +KCND3-IT1 0 +KCNH1 0 +KCNJ10 0 +KCNN3 0 +KCNT2 0 +KDF1 1 +KDM4A-AS1 1 +KDM5B 0 +KIAA0040 0 +KIAA0319L 0 +KIAA0907 0 +KIAA1751 1 +KIAA2013 0 +KIF14 1 +KIF17 0 +KIF21B 0 +KIFAP3 0 +KISS1 0 +KLHDC8A 0 +KLHL12 3 +KLHL21 0 +KNCN 0 +KRTCAP2 0 +KTI12 0 +LACTBL1 0 +LAD1 13 +LAMB3 0 +LAMTOR5 0 +LAPTM5 0 +LBR 1 +LCE1C 0 +LCE3A 0 +LCE3D 0 +LCE3E 0 +LDLRAD1 0 +LEFTY1 0 +LEFTY2 0 +LEMD1 0 +LEPRE1 0 +LGALS8-AS1 0 +LHX4-AS1 0 +LIN9 0 +LINC00115 0 +LINC00303 0 +LINC00466 0 +LINC00582 0 +LINC00622 0 +LINC00623 0 +LINC00624 0 +LINC00628 0 +LINC00862 0 +LINC00869 0 +LINC00970 0 +LINC00982 0 +LINC01057 0 +LINC01136 0 +LINC01137 0 +LINC01138 0 +LINC01139 0 +LINC01141 0 +LINC01142 0 +LINC01160 0 +LINC01222 0 +LINC01343 0 +LINC01344 0 +LINC01347 0 +LINC01349 0 +LINC01350 0 +LINC01354 0 +LINC01355 0 +LINC01356 0 +LINC01359 0 +LINC01361 0 +LINC01363 0 +LINC01364 0 +LINC01398 0 +LINC01461 0 +LINGO4 0 +LMOD1 0 +LMX1A 0 +LOC100129534 0 +LOC100130417 0 +LOC100131564 0 +LOC100133331 0 +LOC100288069 0 +LOC100422212 0 +LOC100505666 0 +LOC100505795 0 +LOC100505918 0 +LOC100506022 0 +LOC100506023 0 +LOC100506730 0 +LOC100506747 0 +LOC100506985 0 +LOC100996251 0 +LOC100996263 0 +LOC101926964 0 +LOC101927139 0 +LOC101927143 0 +LOC101927468 0 +LOC101927560 0 +LOC101927587 0 +LOC101927683 0 +LOC101928043 0 +LOC101928068 0 +LOC101928241 0 +LOC101928370 0 +LOC101928436 0 +LOC101928460 0 +LOC101928696 0 +LOC101929099 0 +LOC101929406 0 +LOC101929983 0 +LOC102723769 0 +LOC102724601 0 +LOC115110 0 +LOC149373 0 +LOC255654 0 +LOC284578 0 +LOC391003 0 +LOC400736 0 +LOC400794 0 +LOC440600 0 +LOC440602 0 +LOC643441 0 +LOC645354 0 +LOC646268 0 +LOC646471 0 +LOC649324 0 +LOC649330 0 +LOC653160 0 +LOC653513 0 +LOC728989 0 +LOC729737 0 +LOC729867 0 +LOC729930 0 +LOC730102 1 +LPAR3 0 +LPGAT1 2 +LPPR5 0 +LRIF1 1 +LRP8 0 +LRRC38 0 +LRRC39 0 +LRRC40 2 +LRRC41 0 +LRRC47 2 +LRRIQ3 0 +LRRN2 0 +LSM10 1 +LUZP1 1 +LYPD8 0 +LYPLAL1-AS1 0 +LYSMD1 0 +LYST 0 +LZIC 1 +MAD2L2 0 +MAGOH 5 +MAP1LC3C 0 +MAP3K6 0 +MARCKSL1 0 +MASP2 0 +MATN1 0 +MCL1 0 +MCOLN2 0 +MCOLN3 0 +MEAF6 8 +MECR 0 +MED8 3 +MEF2D 0 +MEGF6 0 +METTL18 0 +MEX3A 0 +MFAP2 0 +MIR101-1 0 +MIR1182 0 +MIR1262 0 +MIR1295A 0 +MIR135B 0 +MIR137 0 +MIR137HG 0 +MIR1537 0 +MIR181A1 0 +MIR181A1HG 0 +MIR181B1 0 +MIR186 0 +MIR190B 0 +MIR194-1 0 +MIR199A2 0 +MIR214 0 +MIR215 0 +MIR2682 0 +MIR29B2 0 +MIR29C 0 +MIR3119-1 0 +MIR3121 0 +MIR320B2 0 +MIR34A 0 +MIR3605 0 +MIR3671 0 +MIR3675 0 +MIR3916 0 +MIR3917 0 +MIR4252 0 +MIR4253 0 +MIR4254 0 +MIR4256 0 +MIR4260 0 +MIR4420 0 +MIR4689 0 +MIR4695 0 +MIR4711 0 +MIR4735 0 +MIR4742 0 +MIR4753 0 +MIR488 0 +MIR5008 0 +MIR5087 0 +MIR548AP 0 +MIR548D1 0 +MIR548F1 0 +MIR551A 0 +MIR555 0 +MIR5581 0 +MIR6068 0 +MIR6127 0 +MIR664A 0 +MIR6723 0 +MIR6726 0 +MIR6727 0 +MIR6728 0 +MIR6730 0 +MIR6731 0 +MIR6733 0 +MIR6734 0 +MIR6737 0 +MIR6738 0 +MIR6741 0 +MIR6742 0 +MIR6808 0 +MIR6859-1 0 +MIR6859-2 0 +MIR761 0 +MIR765 0 +MIR7851 0 +MIR7856 0 +MIR8083 0 +MIR9-1 0 +MIR921 0 +MKNK1 2 +MMEL1 0 +MOB3C 0 +MORN1 0 +MPC2 5 +MPZ 0 +MRPL20 2 +MRPL24 1 +MRPL55 1 +MRPL9 0 +MRPS14 2 +MRPS15 2 +MST1L 0 +MT1HL1 0 +MTF1 9 +MTHFR 1 +MTMR11 0 +MTMR9LP 0 +MTOR 3 +MUC1 0 +MUL1 1 +MUTYH 0 +MXRA8 0 +MYBPH 0 +MYBPHL 0 +MYCBP 0 +MYCL 0 +MYOC 1 +MYOG 0 +MYOM3 0 +MYSM1 4 +NADK 0 +NBPF1 0 +NBPF11 0 +NBPF13P 0 +NBPF14 0 +NBPF25P 0 +NBPF4 0 +NBPF7 0 +NBPF8 3 +NBPF9 0 +NCF2 2 +NDC1 1 +NEGR1 0 +NEGR1-IT1 0 +NEK2 3 +NES 0 +NEXN-AS1 0 +NFIA-AS1 0 +NFIA-AS2 0 +NFYC-AS1 0 +NGF 0 +NHLH2 0 +NID1 0 +NKAIN1 0 +NME7 2 +NMNAT2 0 +NOC2L 0 +NOL9 0 +NOTCH2 0 +NPHP4 0 +NPHS2 0 +NPPA 0 +NPPB 0 +NR0B2 0 +NR1I3 0 +NRAS 0 +NRD1 2 +NSL1 1 +NT5C1A 0 +NUAK2 0 +NUCKS1 10 +NUDT17 0 +NUP133 10 +NUP210L 0 +NVL 0 +ODF2L 0 +OLFM3 0 +OLFML2B 0 +OMA1 0 +OPN3 0 +OR10J3 0 +OR10J5 0 +OR10K2 0 +OR10T2 0 +OR10X1 0 +OR11L1 0 +OR13G1 0 +OR14A16 0 +OR14I1 0 +OR1C1 0 +OR2B11 0 +OR2C3 0 +OR2M7 0 +OR2T10 0 +OR2T11 0 +OR2T12 0 +OR2T27 0 +OR2T29 0 +OR2T33 0 +OR2T34 0 +OR2T35 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR6F1 0 +OR6K2 0 +OR6K3 0 +OR6N1 0 +OR6N2 0 +OR6P1 0 +OR6Y1 0 +ORC1 0 +OSCP1 0 +OTUD7B 2 +OVGP1 0 +OXCT2 0 +PABPC4 20 +PADI2 0 +PAFAH2 1 +PANK4 0 +PAQR6 0 +PAQR7 3 +PARP1 30 +PARS2 0 +PBXIP1 0 +PCNXL2 0 +PDC 0 +PDE4DIP 3 +PDZK1IP1 0 +PDZK1P2 0 +PEF1 1 +PERM1 0 +PEX10 0 +PEX19 0 +PFDN2 1 +PFN1P2 0 +PGBD5 0 +PGCP1 0 +PGLYRP3 0 +PGLYRP4 0 +PHC2 3 +PHLDA3 0 +PHTF1 3 +PI4KB 1 +PIGC 2 +PIGK 0 +PIGM 1 +PIGR 0 +PIK3C2B 2 +PIK3R3 3 +PINK1-AS 0 +PKLR 0 +PKN2-AS1 0 +PLA2G2A 0 +PLA2G2C 0 +PLA2G2D 0 +PLA2G2E 0 +PLD5 0 +PLEKHA6 0 +PLEKHG5 1 +PLXNA2 0 +PM20D1 0 +PMVK 0 +POGZ 4 +POLR3C 0 +POLR3GL 6 +POMGNT1 1 +POU3F1 0 +PPAP2B 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIAL4G 0 +PPIEL 0 +PPM1J 0 +PPP1R15B 1 +PPT1 0 +PRAMEF11 0 +PRAMEF14 0 +PRAMEF19 0 +PRAMEF22 0 +PRAMEF4 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRAMEF9 0 +PRDX1 1 +PRKAB2 1 +PSMA5 47 +PSMB2 3 +PSRC1 0 +PTAFR 0 +PTCH2 0 +PTGER3 0 +PTGS2 0 +PTP4A2 8 +PTPN14 4 +PTPN22 0 +PTPN7 0 +PUM1 0 +PVRL4 0 +PYCR2 0 +PYGO2 10 +RAB13 0 +RAB29 9 +RAB3B 0 +RAB3GAP2 10 +RABIF 1 +RAP1GAP 0 +RASAL2-AS1 0 +RBBP5 12 +RBM34 3 +RBMXL1 2 +RC3H1 4 +RCAN3AS 0 +RCC2 10 +RD3 0 +REG4 0 +REN 0 +RERE 9 +RFWD2 1 +RFX5 0 +RGS16 3 +RGS5 0 +RGS7 1 +RGS8 0 +RHBDL2 0 +RHCE 0 +RHOC 0 +RIMS3 0 +RIT1 0 +RNASEL 0 +RNF186 0 +RNF19B 1 +RNF223 0 +RNU1-13P 0 +RNU6-31P 0 +RNU6-72P 0 +RNU6-79P 0 +RNVU1-19 0 +RNVU1-8 0 +ROR1-AS1 0 +RORC 0 +RPA2 2 +RPE65 0 +RPL22 0 +RPL31P11 0 +RPS15AP10 0 +RPTN 0 +RRAGC 11 +RSBN1 0 +RSG1 0 +RSPO1 0 +RSRP1 0 +RTCA-AS1 0 +RUNX3 0 +RUSC1-AS1 0 +RXRG 0 +S100A10 0 +S100A11 0 +S100A12 0 +S100A13 0 +S100A14 0 +S100A16 0 +S100A2 0 +S100A3 0 +S100A4 0 +S100A5 0 +S100A6 0 +S100A7 0 +S100A7L2 0 +S100A8 0 +SASS6 27 +SCAMP3 1 +SCARNA3 0 +SCARNA4 0 +SCMH1 0 +SCYL3 0 +SDC3 0 +SDE2 3 +SDF4 0 +SDHB 4 +SEC16B 0 +SELE 0 +SELENBP1 0 +SELL 0 +SELP 0 +SEMA6C 0 +SEP15 2 +SERBP1 6 +SERPINC1 0 +SERTAD4-AS1 0 +SETSIP 0 +SF3A3 33 +SF3B4 2 +SFPQ 7 +SH2D1B 0 +SH2D2A 0 +SH2D5 0 +SH3BP5L 2 +SHC1 8 +SHCBP1L 0 +SHE 1 +SIKE1 1 +SIPA1L2 5 +SKINTL 0 +SLAMF1 0 +SLAMF6 0 +SLAMF9 0 +SLC16A1 3 +SLC16A4 0 +SLC19A2 6 +SLC1A7 0 +SLC25A24 0 +SLC25A3P1 0 +SLC26A9 0 +SLC2A1 0 +SLC2A5 0 +SLC2A7 0 +SLC30A1 2 +SLC30A10 0 +SLC30A2 0 +SLC35D1 3 +SLC35E2 0 +SLC35E2B 1 +SLC39A1 0 +SLC41A1 0 +SLC44A5 0 +SLC45A3 0 +SLC6A9 1 +SLC9A1 3 +SLC9C2 0 +SLFNL1 0 +SMG5 0 +SMG7-AS1 0 +SMIM12 0 +SMYD3 0 +SNHG12 0 +SNIP1 4 +SNORA14B 0 +SNORA16A 0 +SNORA36B 0 +SNORA44 0 +SNORA55 0 +SNORA61 0 +SNORA80E 0 +SNORD103A 0 +SNORD103B 0 +SNORD44 0 +SNORD47 0 +SNORD74 0 +SNORD75 0 +SNORD76 0 +SNORD77 0 +SNORD78 0 +SNORD79 0 +SNORD80 0 +SNORD81 0 +SNORD85 0 +SNORD99 0 +SNRNP40 0 +SNRPD2P2 0 +SORT1 4 +SPAG17 0 +SPATA21 0 +SPATA45 0 +SPATA6 1 +SPOCD1 0 +SPRR2A 0 +SPRR2B 0 +SPRR2C 0 +SPRR2D 0 +SPRR2E 0 +SPRR2F 0 +SPRR2G 0 +SPTA1 0 +SRGAP2-AS1 0 +SRM 0 +SRSF10 0 +SRSF4 4 +SSBP3 2 +SSR2 4 +SSU72 2 +SSX2IP 10 +ST7L 0 +STIL 0 +STK40 1 +STMN1 1 +STPG1 0 +STX6 18 +SUSD4 0 +SV2A 0 +SYDE2 1 +SYF2 11 +SYNC 0 +SYT2 4 +SYT6 0 +TACSTD2 0 +TADA1 1 +TAF12 3 +TAF13 0 +TAF1A 4 +TAF5L 4 +TAGLN2 3 +TAL1 0 +TARBP1 0 +TAS1R2 0 +TBX15 0 +TCEA3 0 +TCEB3-AS1 1 +TCHH 0 +TCHHL1 0 +TCTEX1D4 0 +TDRKH 0 +TEDDM1 0 +TESK2 2 +TFB2M 2 +TGFB2-AS1 0 +TGFBR3 0 +THBS3 0 +THEM4 0 +THEM5 0 +TLR5 0 +TM2D1 0 +TMCO1 3 +TMCO4 0 +TMED5 0 +TMEM200B 0 +TMEM206 0 +TMEM234 0 +TMEM240 0 +TMEM51-AS1 0 +TMEM52 0 +TMEM53 0 +TMEM54 0 +TMEM59 6 +TMEM63A 0 +TMEM81 0 +TMEM9 6 +TMOD4 0 +TNFRSF18 0 +TNFRSF25 0 +TNFRSF4 0 +TNFRSF9 0 +TNFSF18 0 +TNFSF4 0 +TNNI1 0 +TNNT2 0 +TNR 0 +TOMM20 1 +TOR1AIP2 0 +TP53BP2 0 +TP73-AS1 2 +TPM3 6 +TPR 7 +TRABD2B 0 +TRAPPC3 0 +TRIM11 3 +TRIM17 0 +TRIM33 37 +TRIM45 1 +TRIM62 1 +TRIM63 0 +TRIT1 2 +TRMT1L 1 +TSPAN2 0 +TSTD1 0 +TTC13 0 +TTC22 0 +TTC34 0 +TTC39A 0 +TTLL7 0 +TXNDC12 1 +UBE2J2 3 +UBE2Q1 2 +UBE2T 3 +UBQLN4 0 +UBR4 4 +UBXN10-AS1 0 +UBXN11 1 +UCHL5 0 +UOX 0 +UQCRHL 0 +USF1 0 +USH2A 0 +USP24 4 +USP33 2 +USP48 0 +UTS2 0 +VAMP4 0 +VAV3 4 +VHLL 0 +VPS72 7 +VSIG8 0 +VTCN1 5 +WARS2 1 +WASF2 16 +WASH7P 0 +WDR26 21 +WDR47 3 +WDR77 0 +WDR78 0 +WLS 8 +WNT4 0 +WNT9A 0 +WRAP73 0 +XCL2 0 +YARS 0 +YIPF1 0 +YOD1 0 +YRDC 0 +YY1AP1 14 +ZBTB17 2 +ZBTB41 0 +ZBTB8OS 0 +ZCCHC11 0 +ZMYM6 3 +ZMYM6NB 0 +ZMYND12 1 +ZNF124 2 +ZNF281 27 +ZNF436 4 +ZNF496 0 +ZNF644 0 +ZNF648 0 +ZNF669 0 +ZNF670 0 +ZNF670-ZNF695 0 +ZNF683 0 +ZNF692 0 +ZNF695 0 +ZNF697 0 +ZNF847P 0 +ZNHIT6 0 +ZP4 13 +ZRANB2 2 +ZSWIM5 0 +ZZZ3 3 +A1CF 1 +ABI1 1 +ABLIM1 0 +ACBD5 0 +ACBD7 0 +ACTA2 0 +ACTR1A 1 +ADAM12 0 +ADAM8 0 +ADARB2 0 +ADD3-AS1 0 +AFAP1L2 0 +AGAP4 0 +AGAP5 0 +AGAP7P 0 +AGAP9 0 +AIFM2 0 +AKR1C2 0 +AKR1C6P 0 +AKR1CL1 0 +ALDH18A1 2 +ANK3 4 +ANKRD1 0 +ANKRD16 0 +ANKRD22 0 +ANKRD26 3 +ANTXRLP1 0 +ANXA11 0 +ANXA7 59 +ANXA8 0 +AP3M1 0 +ARHGAP12 4 +ARHGAP19 5 +ARHGAP19-SLIT1 0 +ARHGAP21 1 +ARHGAP22 0 +ARL3 0 +ARMC4 0 +ASAH2 0 +ASB13 0 +ASCC1 1 +ATAD1 5 +ATE1 1 +ATOH7 0 +AVPI1 0 +BBIP1 0 +BEND7 1 +BLNK 0 +BLOC1S2 1 +BMS1P4 0 +BMS1P5 0 +BMS1P6 0 +BNIP3 2 +C10orf10 0 +C10orf105 0 +C10orf111 0 +C10orf113 0 +C10orf115 0 +C10orf120 0 +C10orf128 0 +C10orf25 0 +C10orf40 0 +C10orf54 0 +C10orf55 0 +C10orf67 0 +C10orf71-AS1 0 +C10orf76 1 +C10orf82 1 +C10orf88 0 +C10orf90 0 +C10orf95 1 +C1QL3 0 +CACUL1 7 +CALHM1 0 +CALHM2 0 +CALHM3 0 +CALML3-AS1 0 +CALML5 0 +CALY 0 +CAMK2G 11 +CASC10 0 +CCDC147-AS1 0 +CCDC186 9 +CCDC3 1 +CCDC6 34 +CCNYL2 0 +CDNF 0 +CELF2-AS2 0 +CFAP43 0 +CFAP46 0 +CH25H 0 +CHST15 2 +CHUK 0 +CLRN3 0 +COL17A1 0 +COMTD1 0 +COX15 1 +CPEB3 0 +CPN1 0 +CPXM2 0 +CRTAC1 0 +CSTF2T 0 +CTBP2 1 +CTGLF12P 0 +CTNNA3 1 +CUBN 0 +CUEDC2 0 +CUL2 1 +CUZD1 0 +CWF19L1 0 +CXCL12 0 +CYP17A1 0 +CYP2C8 0 +DCLRE1A 3 +DCLRE1C 1 +DHX32 2 +DIP2C 2 +DLG5 0 +DNA2 0 +DNAJB12 1 +DNAJC1 4 +DNAJC12 0 +DNAJC9 19 +DNMBP 1 +DRGX 0 +DUPD1 0 +DUSP13 0 +DYDC1 0 +EBF3 0 +EBLN1 25 +ECD 0 +ECHS1 0 +EDRF1-AS1 0 +EGR2 0 +EIF3A 8 +EMX2OS 0 +ENKUR 0 +ENTPD1-AS1 0 +EPC1 43 +ERCC6 4 +ERCC6-PGBD3 0 +ERLIN1 1 +EXOSC1 0 +FAM107B 1 +FAM13C 0 +FAM170B 0 +FAM171A1 0 +FAM188A 19 +FAM196A 0 +FAM204A 1 +FAM21EP 0 +FAM24B 0 +FAM24B-CUZD1 0 +FAM25C 0 +FAM25G 0 +FAM53B 3 +FANK1-AS1 0 +FAS-AS1 0 +FBXW4 0 +FGF8 0 +FGFBP3 0 +FGFR2 0 +FLJ37035 0 +FLJ37201 0 +FRA10AC1 5 +FRAT2 0 +FRG2B 0 +FRMD4A 1 +FRMPD2 0 +FRMPD2B 0 +FUOM 0 +FZD8 0 +GATA3-AS1 0 +GDF10 0 +GDF2 0 +GDI2 41 +GFRA1 0 +GLUD1 2 +GOLGA2P6 0 +GOT1 4 +GPAM 0 +GPR158-AS1 0 +GRID1 0 +GUCY2GP 0 +HECTD2-AS1 1 +HERC4 0 +HNRNPA1P33 0 +HNRNPA3P1 0 +HNRNPF 32 +HPS1 0 +HPSE2 0 +HSPA12A 0 +HTR7 0 +IDE 4 +IDI1 0 +IDI2 0 +IKZF5 0 +IL15RA 2 +IL2RA 1 +IPMK 0 +ITGA8 0 +ITGB1 1 +ITIH5 0 +ITPRIP 2 +JMJD1C 0 +KCNIP2 0 +KCNMA1 0 +KIAA1462 0 +KIAA1598 4 +KIF5B 9 +KIN 3 +KLF6 0 +KLLN 0 +LARP4B 0 +LBX1 0 +LDB1 0 +LINC00202-1 0 +LINC00601 0 +LINC00700 0 +LINC00701 0 +LINC00702 0 +LINC00704 0 +LINC00706 0 +LINC00708 0 +LINC00710 0 +LINC00837 0 +LINC00838 0 +LINC00842 0 +LINC00864 0 +LINC00866 0 +LINC00948 0 +LINC00959 0 +LINC01164 0 +LINC01166 0 +LINC01375 0 +LINC01435 0 +LINC01468 0 +LINC01475 0 +LIPA 1 +LOC100128127 0 +LOC100499489 0 +LOC101060691 0 +LOC101926942 0 +LOC101927049 0 +LOC101927419 0 +LOC101927523 0 +LOC101927549 0 +LOC101928272 0 +LOC101928322 0 +LOC101928834 0 +LOC101928961 0 +LOC101928994 0 +LOC101929073 0 +LOC101929397 0 +LOC101929431 0 +LOC101929574 0 +LOC101929624 0 +LOC101929646 0 +LOC102723377 0 +LOC102723439 0 +LOC102724323 0 +LOC102724341 0 +LOC102724719 0 +LOC283045 0 +LOC441666 0 +LOXL4 0 +LRIT1 0 +LRIT2 0 +LRRC18 0 +LRRC20 0 +LRRC37A6P 0 +LYZL2 0 +MARCH8 4 +MAT1A 3 +MBL2 0 +MCMBP 3 +METTL10 0 +MGEA5 1 +MICU1 1 +MIR107 0 +MIR1256 0 +MIR1287 0 +MIR1296 0 +MIR1307 0 +MIR1915 0 +MIR202 0 +MIR202HG 0 +MIR2110 0 +MIR3155B 0 +MIR3157 0 +MIR3158-2 0 +MIR346 0 +MIR3663 0 +MIR3663HG 0 +MIR378C 0 +MIR3924 0 +MIR3944 0 +MIR4294 0 +MIR4296 0 +MIR4297 0 +MIR4482 0 +MIR4483 0 +MIR4679-2 0 +MIR4683 0 +MIR4685 0 +MIR5699 0 +MIR604 0 +MIR6072 0 +MIR609 0 +MIR6715B 0 +MIR7162 0 +MIR8086 0 +MIR936 0 +MIR938 0 +MKI67 1 +MKX 0 +MMP21 0 +MMRN2 0 +MMS19 1 +MORN4 0 +MPP7 2 +MRPL43 1 +MRPS16 0 +MSS51 0 +MTPAP 3 +MTRNR2L7 0 +MYOF 4 +MYOZ1 0 +NDST2 1 +NDUFB8 1 +NEBL 4 +NEUROG3 0 +NKX1-2 0 +NKX6-2 0 +NMT2 0 +NOC3L 13 +NODAL 0 +NPFFR1 0 +NPM3 6 +NRAP 3 +NRG3-AS1 0 +NRP1 0 +NSMCE4A 8 +NSUN6 5 +NT5C2 2 +NUDT5 1 +NUDT9P1 0 +NUTM2A-AS1 0 +OAT 10 +OBFC1 1 +OGDHL 1 +OPALIN 0 +OR13A1 0 +P4HA1 1 +PANK1 0 +PARD3 13 +PARG 1 +PARGP1 0 +PBLD 0 +PCBD1 0 +PCDH15 2 +PCGF6 1 +PDCD4-AS1 0 +PDLIM1 12 +PDZD7 3 +PDZD8 0 +PGBD3 0 +PHYH 0 +PIK3AP1 0 +PIP4K2A 4 +PIPSL 1 +PITRM1 4 +PITX3 0 +PKD2L1 0 +PLA2G12B 0 +PLCE1-AS1 0 +POLL 1 +POLR3A 1 +PPA1 0 +PPIAP30 0 +PPP1R3C 0 +PPP3CB 0 +PRDX3 7 +PRF1 0 +PRKCQ 0 +PRKG1-AS1 0 +PRLHR 0 +PROSER2-AS1 0 +PRTFDC1 0 +PSAP 1 +PSD 0 +PTCHD3 0 +PTPLA 0 +PTPN20B 0 +PYROXD2 0 +RAB11FIP2 0 +RASGEF1A 0 +RBP3 0 +RBP4 0 +RGS10 0 +RHOBTB1 0 +RNLS 0 +RPL13AP6 0 +RRP12 0 +RSU1 6 +RSU1P2 0 +RTKN2 0 +RUFY2 0 +SAR1A 3 +SEC31B 1 +SEPHS1 5 +SEPT7P9 0 +SFMBT2 1 +SFRP5 0 +SFTA1P 0 +SFTPA2 0 +SFTPD 0 +SFXN4 0 +SGMS1 1 +SH3PXD2A 0 +SKIDA1 0 +SLC16A12 0 +SLC16A9 0 +SLC25A16 1 +SLC25A28 0 +SLC39A12-AS1 0 +SLIT1 0 +SMNDC1 5 +SNORA12 0 +SNORA19 0 +SORBS1 4 +SORCS1 0 +SORCS3-AS1 0 +SPOCK2 0 +SPRN 0 +SPRNP1 0 +ST8SIA6 0 +STAM-AS1 0 +STK32C 0 +SVIL 1 +SYCE1 0 +SYNPO2L 0 +SYT15 0 +TACR2 0 +TBATA 0 +TCERG1L 0 +TCTN3 0 +TEX36 0 +TIAL1 0 +TIMM23 6 +TLL2 0 +TLX1NB 0 +TM9SF3 7 +TMEM254-AS1 0 +TMEM26 0 +TMEM72-AS1 0 +TNKS2-AS1 0 +TRDMT1 0 +TTC18 0 +TUBAL3 4 +TUBB8 667 +TUBGCP2 0 +TYSND1 1 +UCMA 0 +UNC5B-AS1 0 +UPF2 2 +UROS 0 +USMG5 1 +USP54 7 +USP6NL 1 +VAX1 0 +VIM-AS1 0 +VSTM4 0 +WAC-AS1 0 +WAPAL 14 +WDR11-AS1 0 +XPNPEP1 1 +YME1L1 1 +ZCCHC24 0 +ZDHHC6 1 +ZEB1-AS1 0 +ZFAND4 0 +ZMIZ1-AS1 0 +ZNF239 2 +ZNF248 0 +ZNF25 0 +ZNF32 0 +ZNF33B 0 +ZNF33BP1 0 +ZNF37BP 0 +ZNF438 0 +ZNF503 0 +ZSWIM8-AS1 0 +ZWINT 5 +ABCC8 0 +ABTB2 4 +ACP2 0 +ACRV1 0 +ACY3 0 +ADAMTS8 0 +AGBL2 0 +AHNAK 0 +ALDH3B2 0 +ALG1L9P 0 +ALG8 0 +ALG9 0 +ALKBH3-AS1 0 +ALKBH8 0 +ALX4 0 +AMBRA1 7 +AMICA1 0 +ANAPC15 2 +ANGPTL5 1 +ANO1-AS2 0 +ANO9 0 +AP5B1 0 +APBB1 0 +APIP 1 +APLNR 0 +APOA1 0 +APOA4 0 +APOA5 0 +ARAP1 0 +ARFGAP2 2 +ARFIP2 0 +ARHGAP1 2 +ARHGAP20 1 +ARHGAP32 8 +ARRB1 0 +ART5 0 +ASCL2 0 +ASCL3 0 +ATG2A 0 +ATL3 4 +B3GAT1 0 +B3GAT3 0 +B3GNT1 0 +BACE1 0 +BAD 0 +BATF2 0 +BCL9L 1 +BDNF 2 +BET1L 0 +BGLT3 0 +BLID 0 +BRMS1 0 +BSCL2 3 +BSX 0 +BTBD10 14 +BTBD18 0 +BTG4 70 +BUD13 1 +C11orf16 0 +C11orf21 0 +C11orf24 3 +C11orf40 9 +C11orf45 0 +C11orf48 0 +C11orf65 1 +C11orf68 0 +C11orf71 0 +C11orf85 0 +C11orf91 0 +C11orf94 0 +C11orf95 0 +C1QTNF4 0 +C1QTNF5 0 +C2CD3 0 +CABP2 0 +CADM1 0 +CALCA 0 +CARD16 0 +CARD17 0 +CARD18 0 +CARS 1 +CASC23 0 +CASP1 0 +CASP12 0 +CASP4 0 +CASP5 0 +CATSPER1 0 +CCDC153 0 +CCDC179 0 +CCDC34 1 +CCDC73 7 +CCDC82 5 +CCDC87 1 +CCDC89 0 +CCDC90B 1 +CD248 0 +CD3D 0 +CD59 2 +CD81-AS1 0 +CDC42BPG 0 +CDCA5 0 +CDHR5 0 +CDK2AP2 19 +CDKN1C 2 +CDON 0 +CELF1 23 +CEND1 0 +CFL1 27 +CHID1 1 +CHKA 0 +CHORDC1 1 +CHRDL2 0 +CHRM1 0 +CHRM4 0 +CHRNA10 0 +CHST1 0 +CKAP5 14 +CLCF1 0 +CLMP 0 +CLNS1A 0 +CLPB 0 +COA4 1 +COLCA1 0 +COMMD9 0 +COPB1 3 +CORO1B 0 +CPSF7 0 +CPT1A 0 +CREBZF 0 +CRYAB 0 +CSNK2A3 0 +CSRP3 0 +CSTF3 1 +CTSC 6 +CTSD 0 +CTSF 0 +CWC15 1 +CWF19L2 16 +CYB561A3 0 +CYB5R2 0 +CYP2R1 0 +DBX1 0 +DCDC1 0 +DCDC5 0 +DCHS1 0 +DCUN1D5 5 +DDB1 5 +DDX6 0 +DEAF1 1 +DENND5A 1 +DHCR7 2 +DKFZP434K028 0 +DKK3 0 +DLG2 0 +DOC2GP 0 +DPAGT1 1 +DRD2 0 +DSCAML1 0 +DUSP8 0 +E2F8 0 +EEF1G 15 +EFEMP2 0 +EHD1 2 +EIF1AD 1 +EIF4G2 8 +ELF5 0 +EML3 0 +ESAM 0 +ETS1 0 +EXPH5 0 +FADS1 0 +FADS3 5 +FAM160A2 1 +FAM168A 0 +FAM181B 0 +FAM76B 1 +FAM86C2P 0 +FAM99B 0 +FANCF 1 +FAU 2 +FBXO3 0 +FCHSD2 2 +FDXACB1 0 +FEZ1 0 +FGF19 0 +FGF3 0 +FGF4 0 +FIBP 1 +FLJ42102 0 +FNBP4 3 +FOLH1 0 +FOSL1 0 +FTH1 2 +FXYD2 0 +FXYD6 0 +FXYD6-FXYD2 0 +FZD4 0 +GAB2 8 +GAL3ST3 0 +GALNT18 0 +GANAB 0 +GDPD4 0 +GDPD5 0 +GIF 0 +GLYAT 0 +GLYATL2 0 +GPHA2 1 +GPR152 0 +GPR83 0 +GRM5 1 +GUCY1A2 3 +GUCY2EP 0 +GVINP1 0 +H19 0 +H2AFX 0 +HARBI1 0 +HBB 0 +HBBP1 0 +HBD 0 +HBE1 0 +HBG1 0 +HBG2 0 +HEPACAM 0 +HNRNPKP3 0 +HNRNPUL2 2 +HNRNPUL2-BSCL2 0 +HPS5 4 +HPX 0 +HRAS 0 +HRASLS2 0 +HRASLS5 0 +HSPA8 319 +HYOU1 0 +IFITM10 0 +IFITM3 0 +IFITM5 0 +IFT46 6 +IGF2 0 +IGSF22 0 +IGSF9B 0 +IL18 0 +IMMP1L 0 +INS 0 +INS-IGF2 0 +INTS4 0 +INTS5 0 +IRF7 0 +JRKL-AS1 0 +KBTBD3 0 +KBTBD4 0 +KCNA4 1 +KCNE3 0 +KCNJ1 0 +KCNJ11 0 +KCNK7 0 +KCNQ1OT1 0 +KCTD14 0 +KCTD21 0 +KDELC2 0 +KIF18A 3 +KIRREL3 0 +KLHL35 0 +KRTAP5-1 0 +KRTAP5-11 0 +KRTAP5-2 0 +KRTAP5-3 0 +KRTAP5-4 0 +LAMTOR1 3 +LGR4 0 +LIN7C 0 +LINC00678 0 +LINC00900 0 +LINC00958 0 +LINC01001 0 +LINC01395 0 +LINC01495 0 +LIPT2 0 +LMNTD2 0 +LMO1 0 +LMO2 0 +LOC100126784 0 +LOC100131626 0 +LOC100132078 0 +LOC100133315 0 +LOC100506258 0 +LOC100506675 0 +LOC100507144 0 +LOC100507205 0 +LOC100507431 0 +LOC100652768 0 +LOC101927204 0 +LOC101928069 0 +LOC101928443 0 +LOC101928837 0 +LOC101928847 0 +LOC101928865 0 +LOC101928940 0 +LOC101928943 0 +LOC101928944 0 +LOC101928989 0 +LOC101929089 0 +LOC101929653 1 +LOC102288414 0 +LOC102723895 0 +LOC103312105 0 +LOC103611081 0 +LOC143666 0 +LOC283194 0 +LOC283214 0 +LOC283299 9 +LOC338694 0 +LOC387810 0 +LOC440028 0 +LOC441601 0 +LOC643733 0 +LOC644656 0 +LOC646522 0 +LOC649133 0 +LPXN 0 +LRP4 0 +LRRC32 0 +LRRC4C 0 +LRRN4CL 0 +LTBP3 0 +LYVE1 0 +MACROD1 1 +MAML2 0 +MAP3K11 1 +MAP4K2 0 +MAP6 0 +MCAM 4 +ME3 1 +MED19 19 +MEN1 2 +MFRP 0 +MIR100 0 +MIR100HG 0 +MIR125B1 0 +MIR1304 0 +MIR139 0 +MIR1908 0 +MIR192 0 +MIR194-2 0 +MIR210 0 +MIR210HG 0 +MIR3160-1 0 +MIR3162 0 +MIR3165 0 +MIR3167 0 +MIR326 0 +MIR3654 0 +MIR3664 0 +MIR3680-1 0 +MIR3680-2 0 +MIR3920 0 +MIR4298 0 +MIR4299 0 +MIR4300 0 +MIR4301 0 +MIR4485 0 +MIR4490 0 +MIR4493 0 +MIR4694 0 +MIR4696 0 +MIR4697 0 +MIR4697HG 0 +MIR483 0 +MIR548BA 0 +MIR5579 0 +MIR5582 0 +MIR5691 0 +MIR6073 0 +MIR611 0 +MIR6503 0 +MIR6514 0 +MIR6745 0 +MIR6746 0 +MIR6747 0 +MIR6749 0 +MIR675 0 +MIR6750 0 +MIR6751 0 +MIR6756 0 +MIR708 0 +MIR7154 0 +MIR7155 0 +MIR7976 0 +MIR8054 0 +MIR8068 0 +MIR8070 0 +MIR8087 0 +MIRLET7A2 0 +MMP1 0 +MMP10 0 +MMP12 0 +MMP13 0 +MMP20 0 +MMP27 0 +MMP3 0 +MMP7 0 +MMP8 0 +MOB2 0 +MPEG1 0 +MPPED2 0 +MPZL2 0 +MPZL3 0 +MRE11A 10 +MRGPRD 0 +MRGPRE 0 +MRGPRF 0 +MRGPRG 0 +MRGPRX1 0 +MRGPRX2 0 +MRPL11 0 +MRPL16 0 +MRPL17 1 +MRPL21 1 +MRPL23-AS1 0 +MRVI1 1 +MS4A6A 0 +MSANTD2 0 +MSANTD4 2 +MTA2 0 +MTCH2 0 +MTL5 0 +MTMR2 2 +MTRNR2L8 0 +MUC15 0 +MUC6 0 +MYBPC3 0 +NAALADL1 0 +NAP1L4 3 +NARS2 2 +NAV2-AS2 0 +NAV2-AS4 0 +NAV2-AS5 0 +NCAM1-AS1 0 +NCAPD3 1 +NDUFC2 0 +NDUFC2-KCTD14 0 +NFRKB 6 +NLRP10 0 +NOX4 0 +NPAT 10 +NRIP3 10 +NRXN2 1 +NUDT8 0 +NUMA1 0 +NUP160 0 +NUP98 4 +NXF1 1 +NXPE1 0 +NXPE4 0 +OPCML 0 +OR10A3 0 +OR10A6 0 +OR10AG1 0 +OR10G7 0 +OR10Q1 0 +OR10S1 0 +OR10V1 0 +OR10W1 0 +OR1S2 0 +OR2AG2 0 +OR2AT4 0 +OR2D2 0 +OR4A5 0 +OR4C11 0 +OR4C12 0 +OR4C45 0 +OR51A2 0 +OR51A4 0 +OR51B2 0 +OR51B4 0 +OR51B5 0 +OR51E2 0 +OR51F1 0 +OR51G1 0 +OR51G2 0 +OR51I1 0 +OR51S1 0 +OR51V1 0 +OR52A1 0 +OR52A5 0 +OR52B2 0 +OR52B4 0 +OR52E2 0 +OR52E6 0 +OR52E8 0 +OR52H1 0 +OR52L1 0 +OR52N1 0 +OR52N5 0 +OR52R1 0 +OR56A1 0 +OR56A4 0 +OR56A5 0 +OR5A2 0 +OR5AP2 0 +OR5B12 0 +OR5B17 0 +OR5B2 0 +OR5B21 0 +OR5B3 0 +OR5F1 0 +OR5I1 0 +OR5M1 0 +OR5M10 0 +OR5M11 0 +OR5M3 0 +OR5M8 0 +OR5M9 0 +OR5P2 0 +OR5P3 0 +OR5R1 0 +OR5T2 0 +OR5W2 0 +OR6A2 0 +OR6M1 0 +OR6T1 0 +OR6X1 0 +OR7E12P 0 +OR7E2P 0 +OR7E5P 0 +OR8B12 0 +OR8B2 0 +OR8B3 0 +OR8B4 0 +OR8B8 0 +OR8D1 0 +OR8D2 0 +OR8H1 0 +OR8J3 0 +OR8K5 0 +OR9G4 0 +OR9I1 0 +ORAOV1 0 +OSBP 18 +OSBPL5 1 +OVCH2 1 +OVOL1-AS1 0 +P4HA3 0 +PACSIN3 0 +PAK1 5 +PAMR1 0 +PATE2 0 +PATL1 2 +PAX6 0 +PC 0 +PCSK7 0 +PDDC1 0 +PDE2A 0 +PDGFD 0 +PEX16 0 +PGM2L1 1 +PGR 0 +PHF21A 0 +PHLDA2 0 +PHOX2A 0 +PICALM 5 +PIDD1 0 +PIH1D2 0 +PIK3C2A 18 +PITPNM1 0 +PKNOX2-AS1 0 +PLA2G16 4 +PLEKHA7 1 +PLET1 0 +POLD4 0 +POLR2L 0 +POU2AF1 0 +PPP1CA 0 +PPP1R14B 0 +PPP2R1B 1 +PRCP 0 +PRDM10 12 +PRG2 0 +PRG3 0 +PRKCDBP 0 +PRKRIR 0 +PRPF19 1 +PSMA1 1 +PSMC3 0 +PTGDR2 1 +PTH 0 +PTPN5 1 +PTPRCAP 0 +PUS3 0 +PVRL1 1 +PYGM 0 +RAB30 3 +RAB38 0 +RAB3IL1 1 +RAB6A 1 +RAG2 0 +RAPSN 0 +RASGRP2 0 +RBM4B 3 +RCOR2 0 +RDX 12 +RELA 2 +RHOG 3 +RIC3 0 +RIN1 0 +RNASEH2C 0 +RNF141 0 +RNH1 1 +RNU6-83P 0 +ROBO4 1 +RPL23AP64 0 +RPS13 47 +RPS25 12 +RPUSD4 7 +RRAS2 3 +RRP8 1 +RSF1 1 +SAA2 0 +SAA2-SAA4 0 +SAA3P 0 +SAA4 0 +SAAL1 0 +SBF2 0 +SCGB1D4 0 +SCN2B 0 +SCN3B 0 +SCN4B 0 +SCT 0 +SCUBE2 0 +SENCR 0 +SERGEF 0 +SESN3 1 +SF1 4 +SHANK2 0 +SIAE 0 +SIGIRR 0 +SIK3 1 +SIRT3 0 +SLC15A3 0 +SLC1A2 0 +SLC22A18AS 0 +SLC22A24 0 +SLC22A25 0 +SLC22A6 0 +SLC22A8 0 +SLC25A22 0 +SLC25A45 0 +SLC29A2 0 +SLC35F2 0 +SLC36A4 0 +SLC37A4 0 +SLC43A1 0 +SLC43A3 3 +SLC5A12 0 +SLN 0 +SMCO4 2 +SNHG1 0 +SNORA1 0 +SNORA18 0 +SNORA25 0 +SNORA32 0 +SNORA40 0 +SNORA54 0 +SNORA70E 0 +SNORA8 0 +SNORD22 0 +SNORD25 0 +SNORD26 0 +SNORD27 0 +SNORD28 0 +SNORD29 0 +SNORD30 0 +SNORD31 0 +SNORD5 0 +SNORD6 0 +SNORD67 0 +SNORD97 1 +SNX19 0 +SOX6 0 +SPATA19 0 +SPI1 0 +SPTBN2 0 +SPTY2D1 4 +SRPR 2 +SSRP1 5 +SSSCA1-AS1 0 +ST3GAL4-AS1 0 +ST5 0 +STARD10 0 +STK33 1 +STX5 0 +SUV420H1 2 +SVIP 3 +SYT13 0 +SYT7 0 +SYTL2 4 +SYVN1 0 +TAF10 2 +TAF1D 3 +TBX10 0 +TCN1 0 +TENM4 0 +TH 0 +THY1 0 +THYN1 10 +TIMM10 0 +TIMM8B 0 +TMEM123 12 +TMEM134 0 +TMEM218 1 +TMEM223 0 +TMEM225 0 +TMEM258 2 +TMEM262 0 +TMEM41B 0 +TMEM9B 4 +TMPRSS13 0 +TMPRSS4-AS1 0 +TMPRSS5 0 +TNKS1BP1 0 +TOLLIP 0 +TP53AIP1 0 +TP53I11 0 +TPH1 0 +TPP1 0 +TRAF6 2 +TREH 0 +TRIM21 0 +TRIM29 1 +TRIM3 0 +TRIM49 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM5 0 +TRIM51HP 0 +TRIM53AP 0 +TRIM64B 0 +TRIM64C 0 +TRIM66 1 +TRIM68 2 +TRMT112 9 +TRPC6 0 +TRPM5 1 +TRPT1 0 +TSG101 18 +TUT1 1 +UBE2L6 0 +UBQLN3 0 +UBQLNL 0 +UBXN1 1 +UCP2 3 +UCP3 0 +UEVLD 0 +UNC93B1 0 +USH1C 0 +USP2 45 +USP28 0 +VPS37C 0 +VSIG2 0 +VSTM5 0 +VWCE 0 +WDR74 1 +WNT11 0 +WT1 0 +XRRA1 2 +YIF1A 1 +YPEL4 0 +ZBED5 1 +ZBTB3 0 +ZBTB44 0 +ZDHHC24 0 +ZNF195 0 +ZNF202 0 +ZNF214 0 +ZNF705E 0 +ZNHIT2 0 +ZPR1 0 +ZW10 0 +A2M 0 +A2MP1 0 +AAAS 5 +ABCB9 1 +ABCC9 0 +ABCD2 0 +ACRBP 0 +ADAMTS20 0 +ADCY6 0 +AGAP2 0 +AICDA 0 +AKAP3 0 +ALDH1L2 0 +ALKBH2 4 +AMIGO2 0 +AMN1 1 +ANAPC5 0 +ANAPC7 4 +ANHX 0 +ANKLE2 3 +ANKRD52 0 +ANKS1B 0 +ANO2 0 +APOBEC1 0 +APOF 0 +APPL2 0 +ARF3 16 +ARHGAP9 0 +ARHGDIB 0 +ARL1 1 +ARNTL2-AS1 0 +ARPC3 2 +ART4 0 +ASB8 9 +ASUN 2 +ATF7 0 +ATP2B1 58 +ATP5B 10 +ATP5G2 1 +ATXN2 8 +AVIL 0 +AVPR1A 0 +B4GALNT1 0 +BAZ2A 18 +BBS10 0 +BCAT1 0 +BCDIN3D 0 +BEST3 0 +BHLHE41 0 +BIN2 0 +BRAP 0 +BTG1 3 +C12orf36 0 +C12orf4 6 +C12orf42 0 +C12orf43 4 +C12orf49 0 +C12orf50 0 +C12orf56 0 +C12orf66 0 +C12orf71 0 +C12orf73 0 +C12orf76 0 +C12orf77 1 +C12orf79 0 +C12orf80 0 +C1QL4 0 +C1R 0 +C1RL 0 +C2CD5 1 +C3AR1 0 +CACNA1C-AS1 0 +CACNA1C-AS2 0 +CACNA1C-AS4 0 +CACNA2D4 0 +CALCOCO1 1 +CAMKK2 0 +CAPRIN2 8 +CAPS2 0 +CASC1 6 +CBX5 6 +CCDC38 0 +CCDC53 0 +CCDC59 27 +CCDC92 0 +CCER1 0 +CCNT1 2 +CD163 0 +CD163L1 0 +CD27-AS1 0 +CD63 0 +CD69 0 +CDCA3 0 +CDK17 2 +CDK2AP1 1 +CDK4 0 +CELA1 0 +CEP290 1 +CEP83 0 +CERS5 0 +CHD4 15 +CHFR 2 +CISTR 0 +CIT 3 +CKAP4 0 +CLEC1A 0 +CLEC1B 0 +CLEC2A 0 +CLEC2B 0 +CLEC4C 1 +CLEC4E 0 +CLEC7A 0 +CLECL1 0 +CLIP1 7 +CLLU1OS 0 +CMKLR1 0 +CNPY2 0 +COL2A1 0 +COQ5 0 +CORO1C 1 +CPM 0 +CPNE8 0 +CRACR2A 0 +CRY1 4 +CS 25 +CSAD 0 +CSRNP2 4 +CSRP2 17 +CTDSP2 2 +CYP27B1 0 +DBX2 0 +DCD 0 +DCN 0 +DCP1B 1 +DCTN2 0 +DDIT3 1 +DDN 0 +DDX11-AS1 0 +DDX12P 0 +DDX23 1 +DDX51 0 +DDX54 2 +DENND5B 2 +DEPDC4 0 +DHH 0 +DHX37 0 +DIABLO 4 +DNAJC14 1 +DPY19L2 0 +DUSP16 2 +DUSP6 0 +DYNLL1-AS1 0 +E2F7 0 +EEA1 2 +EIF2B1 4 +ENDOU 0 +EPS8 1 +EPYC 0 +ERGIC2 0 +ERP27 0 +FAIM2 0 +FAM109A 0 +FAM186A 0 +FAM186B 0 +FAM19A2 3 +FAM222A-AS1 0 +FAM60A 2 +FAM86FP 0 +FAM90A1 0 +FBXL14 0 +FBXO21 0 +FGD6 0 +FGF23 0 +FGF6 0 +FIGNL2 0 +FKBP11 0 +FMNL3 0 +FOXM1 3 +FOXN4 0 +FZD10-AS1 0 +GALNT4 0 +GALNT6 1 +GALNT9 0 +GCN1L1 2 +GDF3 0 +GIT2 11 +GLS2 0 +GLT8D2 0 +GLTP 0 +GLYCAM1 0 +GNN 0 +GNPTAB 2 +GNS 4 +GOLGA2P5 1 +GOLGA3 7 +GPN3 2 +GPR19 0 +GPR84 0 +GPRC5D 0 +GRIN2B 1 +GRIP1 1 +GSG1 0 +GTSF1 18 +GUCY2C 0 +GXYLT1 0 +GYS2 0 +H3F3C 0 +HAL 2 +HCAR1 0 +HCAR2 0 +HCAR3 0 +HDAC7 0 +HEBP1 0 +HECTD4 0 +HIST4H4 0 +HNF1A-AS1 0 +HOTAIR 0 +HOXC-AS1 0 +HOXC-AS2 0 +HOXC-AS3 0 +HOXC13-AS 0 +HPD 0 +HRK 0 +HVCN1 2 +IFFO1 0 +IFNG 0 +IGF1 0 +IKBIP 0 +IL22 0 +IL26 0 +IL31 0 +ING4 0 +IPO8 79 +IQCD 0 +ITGA5 0 +ITGA7 0 +ITGB7 0 +ITPR2 0 +KANSL2 3 +KCNC2 0 +KCNJ8 1 +KCTD10 11 +KDM2B 0 +KDM5A 18 +KERA 0 +KIF21A 0 +KITLG 0 +KLRAP1 0 +KLRB1 0 +KLRC1 0 +KLRC2 0 +KLRC3 0 +KLRC4 0 +KLRC4-KLRK1 0 +KLRK1 0 +KMT2D 5 +KRAS 0 +KRR1 16 +KRT1 0 +KRT2 0 +KRT3 0 +KRT4 0 +KRT5 0 +KRT6A 0 +KRT6B 0 +KRT6C 0 +KRT71 0 +KRT72 0 +KRT73 0 +KRT74 0 +KRT75 0 +KRT76 0 +KRT77 0 +KRT78 0 +KRT79 0 +KRT8 0 +KRT80 0 +KRT81 0 +KRT82 0 +KRT83 0 +KRT84 0 +KRT85 0 +KSR2 0 +LACRT 0 +LALBA 0 +LDHB 0 +LHX5 0 +LIMA1 185 +LIN7A 0 +LINC00477 0 +LINC00485 0 +LINC00612 0 +LINC00934 0 +LINC00937 0 +LINC00938 0 +LINC00939 0 +LINC00940 0 +LINC00944 0 +LINC01089 0 +LINC01234 0 +LINC01465 0 +LINC01481 0 +LINC01486 0 +LINC01498 0 +LLPH 0 +LMBR1L 1 +LMNTD1 0 +LMO3 1 +LOC100129940 0 +LOC100130075 0 +LOC100190940 0 +LOC100240735 0 +LOC100287944 0 +LOC100505978 0 +LOC100506159 0 +LOC100506551 0 +LOC100506606 0 +LOC100506844 0 +LOC100507065 0 +LOC100507195 0 +LOC100507250 0 +LOC100507377 0 +LOC100996671 0 +LOC100996679 0 +LOC101927058 0 +LOC101927267 0 +LOC101927318 0 +LOC101927415 0 +LOC101927583 0 +LOC101927592 0 +LOC101927616 0 +LOC101927637 0 +LOC101927653 0 +LOC101927901 0 +LOC101928002 0 +LOC101928030 0 +LOC101928597 0 +LOC101928731 0 +LOC101929549 0 +LOC101929584 0 +LOC102723544 0 +LOC102724020 0 +LOC102724421 0 +LOC283332 0 +LOC283335 0 +LOC283440 0 +LOC414300 0 +LOC440117 0 +LOC574538 0 +LOC643339 0 +LOC643711 1 +LOC643770 0 +LOC728084 0 +LOC728739 0 +LOH12CR2 0 +LPAR5 0 +LPCAT3 0 +LRCOL1 0 +LRIG3 5 +LRP6 10 +LRRC10 0 +LTA4H 17 +LUM 0 +M6PR 1 +MAGOHB 0 +MANSC1 0 +MANSC4 0 +MAP3K12 1 +MAPKAPK5-AS1 0 +MCRS1 0 +MDM1 5 +MED13L 7 +METTL1 0 +MFAP5 0 +MGAT4C 0 +MGP 0 +MIP 0 +MIR1178 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1279 0 +MIR1291 0 +MIR1293 0 +MIR26A2 0 +MIR3198-2 0 +MIR3649 0 +MIR3913-1 0 +MIR4302 0 +MIR4303 0 +MIR4304 0 +MIR4472-2 0 +MIR4498 0 +MIR4701 0 +MIR548AL 0 +MIR548Z 0 +MIR6074 0 +MIR617 0 +MIR618 0 +MIR620 0 +MIR6759 0 +MIR6861 0 +MIR6880 0 +MIR7106 0 +MIR7107 0 +MIR7844 0 +MIR8072 0 +MKRN9P 0 +MLF2 0 +MMAB 0 +MMP19 0 +MORN3 0 +MPHOSPH9 1 +MRPL51 1 +MRS2P2 0 +MSI1 0 +MTERF2 0 +MYL2 0 +MYO1A 0 +NAA25 0 +NACA 4 +NAP1L1 73 +NCKAP5L 2 +NCOR2 0 +NDUFA12 0 +NDUFA4L2 0 +NELL2 0 +NFE2 0 +NFYB 0 +NINJ2 0 +NOP2 1 +NOS1 0 +NPFF 0 +NR2C1 7 +NRIP2 0 +NT5DC3 2 +NTN4 0 +NUAK1 0 +NUP37 7 +OASL 0 +OLR1 0 +OR10AD1 0 +OR6C6 0 +OR6C70 0 +OSBPL8 3 +OVCH1 0 +PAH 0 +PAN2 0 +PARP11 0 +PAWR 0 +PCED1B-AS1 0 +PHB2 2 +PHLDA1 0 +PIANP 0 +PITPNM2 0 +PKP2 0 +PLA2G1B 0 +PLBD1 0 +PLCZ1 0 +PLEKHA8P1 0 +PMCH 0 +PMEL 0 +POC1B 1 +POC1B-GALNT4 0 +POLE 0 +POP5 1 +POU5F1P3 0 +POU6F1 0 +PPFIA2 2 +PPM1H 1 +PPP1CC 7 +PPP1R12A 53 +PPP1R1A 0 +PPTC7 0 +PRB1 0 +PRB2 0 +PRB3 0 +PRB4 0 +PRDM4 10 +PRH1 0 +PRH1-PRR4 0 +PRICKLE1 0 +PRIM1 1 +PRKAG1 2 +PRR4 0 +PTGES3 38 +PTHLH 0 +PTPRB 0 +PTPRR 3 +PUS7L 0 +PXN 2 +PZP 0 +R3HDM2 2 +RAB35 0 +RACGAP1 13 +RACGAP1P 0 +RAD52 0 +RAPGEF3 0 +RARG 0 +RASAL1 0 +RASSF8-AS1 0 +RASSF9 0 +RBM19 0 +RBP5 0 +RDH16 0 +RECQL 0 +RERG 0 +RERGL 1 +RHEBL1 1 +RHOF 0 +RILPL1 0 +RILPL2 0 +RIMBP2 2 +RND1 2 +RNF41 2 +RNU6-19P 0 +RNU6-78P 0 +RNY5 0 +RPAP3 4 +RPL6 3 +RPLP0 32 +RPSAP52 0 +RSRC2 7 +SARNP 0 +SART3 15 +SBNO1 8 +SCAF11 2 +SCARB1 1 +SCARNA11 3 +SCARNA12 0 +SCNN1A 0 +SDR9C7 0 +SDS 0 +SELPLG 0 +SENP1 1 +SLC11A2 3 +SLC15A4 1 +SLC15A5 0 +SLC2A13 0 +SLC2A14 0 +SLC2A3 0 +SLC38A1 0 +SLC38A2 0 +SLC38A4 0 +SLC41A2 2 +SLC5A8 0 +SLC6A12 0 +SLC6A13 0 +SLC6A15 0 +SLC8B1 0 +SLC9A7P1 0 +SLCO1A2 0 +SMAGP 0 +SMARCC2 12 +SMCO3 0 +SMUG1 0 +SNORA2A 0 +SNORA2B 0 +SNORA34 0 +SNORA70G 0 +SNORD59A 0 +SNORD59B 0 +SOCS2-AS1 0 +SOX5 1 +SP7 0 +SPPL3 2 +SPRYD3 0 +SPSB2 0 +SRSF9 0 +SSH1 1 +ST8SIA1 0 +STAC3 0 +STAT2 0 +STAT6 0 +STX2 4 +STYK1 0 +SVOP 0 +SYCP3 7 +SYT10 0 +TAC3 0 +TAOK3 45 +TAS2R10 0 +TAS2R13 0 +TAS2R14 0 +TAS2R19 0 +TAS2R20 0 +TAS2R30 0 +TAS2R31 0 +TAS2R42 0 +TAS2R43 0 +TAS2R46 0 +TAS2R50 0 +TAS2R7 0 +TAS2R8 0 +TAS2R9 0 +TBX3 1 +TBX5 4 +TESC 1 +TESPA1 0 +TFCP2 0 +THRIL 0 +TIMELESS 3 +TM7SF3 1 +TMBIM4 1 +TMCC3 0 +TMEM116 0 +TMEM119 0 +TMEM132D 0 +TMEM194A 0 +TMPO-AS1 1 +TMTC1 1 +TNFRSF1A 0 +TRHDE-AS1 0 +TRIAP1 1 +TRPV4 1 +TSPAN19 0 +TSPAN8 0 +TUBA1A 0 +TUBA1B 23 +TWF1 1 +UBC 54 +UBE2N 8 +UHRF1BP1L 2 +USP30-AS1 0 +USP44 8 +VAMP1 0 +VDR 0 +VPS29 2 +VPS33A 0 +VPS37B 1 +VSIG10 0 +VWF 0 +WBP11 8 +WIBG 1 +WIF1 0 +WNT10B 0 +WSB2 1 +YAF2 2 +YARS2 11 +YBX3 3 +ZBTB39 8 +ZCCHC8 2 +ZCRB1 16 +ZFC3H1 3 +ZNF384 1 +ZNF385A 0 +ZNF605 0 +ZNF641 1 +ZNF891 0 +ABCC4 14 +ADPRHL1 0 +ALG5 0 +AMER2 0 +ANKRD10 6 +ANKRD20A19P 0 +ANKRD20A9P 0 +ANKRD26P3 0 +ARGLU1 0 +ARHGEF7-AS1 0 +ATP11A-AS1 0 +ATP4B 0 +ATP7B 1 +BASP1P1 0 +C1QTNF9B 0 +CAB39L 0 +CARS2 0 +CCDC122 0 +CCDC168 0 +CCDC169 0 +CCDC169-SOHLH2 0 +CDX2 0 +CENPJ 4 +CLDN10-AS1 0 +CLYBL-AS1 0 +CLYBL-AS2 0 +COL4A1 0 +COL4A2-AS1 0 +COMMD6 4 +CPB2 0 +CRYL1 0 +CSNK1A1L 0 +CTAGE11P 0 +DACH1 0 +DAOA-AS1 0 +DCLK1 0 +DCT 21 +DCUN1D2 0 +DHRS12 0 +DIAPH3 9 +DIS3 0 +DLEU1-AS1 0 +DLEU2 1 +DLEU7 0 +DOCK9 1 +DZIP1 3 +EBPL 1 +EDNRB 0 +EFNB2 4 +ELF1 15 +ENOX1 0 +EPSTI1 29 +ERICH6B 0 +ESD 0 +FAM155A 0 +FAM155A-IT1 0 +FBXL3 1 +FGF14 23 +FGF14-IT1 0 +FLT1 1 +FLT3 0 +FOXO1 16 +FRY-AS1 0 +GAS6 0 +GGACT 13 +GJA3 0 +GJB2 0 +GJB6 0 +GPC5-AS1 0 +GPC5-AS2 0 +GPC6-AS1 0 +GPC6-AS2 0 +GPR12 0 +GPR18 0 +GPR183 0 +GRTP1 8 +GUCY1B2 0 +HMGB1 13 +HSPH1 5 +HTR2A 0 +INTS6 2 +IRS2 0 +KATNAL1 19 +KBTBD6 0 +KBTBD7 2 +KCTD12 0 +KCTD4 0 +KDELC1 1 +KIAA0226L 0 +KLF12 2 +KLHL1 0 +KPNA3 10 +LATS2 4 +LCP1 0 +LECT1 0 +LHFP 0 +LIG4 0 +LINC00282 0 +LINC00297 0 +LINC00330 0 +LINC00331 0 +LINC00346 0 +LINC00353 0 +LINC00358 0 +LINC00359 0 +LINC00367 0 +LINC00371 0 +LINC00379 0 +LINC00380 0 +LINC00395 0 +LINC00397 0 +LINC00410 0 +LINC00411 0 +LINC00412 0 +LINC00417 0 +LINC00423 0 +LINC00424 0 +LINC00426 0 +LINC00441 0 +LINC00448 0 +LINC00456 0 +LINC00457 0 +LINC00458 1 +LINC00462 0 +LINC00463 0 +LINC00539 0 +LINC00548 0 +LINC00550 0 +LINC00552 0 +LINC00554 0 +LINC00559 0 +LINC00563 0 +LINC00565 0 +LINC00571 0 +LINC00572 0 +LINC00598 0 +LINC01050 0 +LINC01069 0 +LINC01198 0 +LINC01232 0 +LMO7-AS1 0 +LNX2 0 +LOC101060553 0 +LOC101927248 0 +LOC101927437 0 +LOC101928730 0 +LPAR6 0 +MAB21L1 0 +MCF2L-AS1 0 +MED4 0 +METTL21C 0 +MICU2 4 +MINOS1P1 0 +MIPEP 0 +MIR1297 0 +MIR15A 0 +MIR16-1 0 +MIR2681 0 +MIR3169 0 +MIR320D1 0 +MIR3613 0 +MIR3665 0 +MIR4305 0 +MIR4499 0 +MIR4500 0 +MIR4500HG 2 +MIR4705 0 +MIR5006 1 +MIR548AN 0 +MIR548AS 0 +MIR548F5 0 +MIR5693 0 +MIR8079 0 +MRPS31 8 +MRPS31P5 0 +MTIF3 5 +MTMR6 2 +MTRF1 1 +MTUS2-AS1 0 +MYCBP2 1 +MYO16-AS1 0 +MZT1 0 +N4BP2L1 0 +N4BP2L2 12 +N4BP2L2-IT2 0 +N6AMT2 0 +NALCN 0 +NDFIP2-AS1 0 +NEK3 0 +NEK5 0 +NUFIP1 7 +OXGR1 0 +PAN3-AS1 0 +PARP4 0 +PCCA-AS1 0 +PCDH20 0 +PCDH8 0 +PCDH9 0 +PCID2 0 +PDX1-AS1 0 +POSTN 0 +POU4F1 2 +PROSER1 155 +PSPC1 2 +RAB20 8 +RASA3 2 +RBM26 2 +RCBTB1 0 +RCBTB2 0 +RNASEH2B-AS1 0 +RNF113B 0 +RNF219 4 +RNF6 0 +SACS 2 +SHISA2 0 +SIAH3 0 +SKA3 1 +SLC10A2 0 +SLC15A1 0 +SLC25A30 0 +SLC46A3 0 +SLC7A1 0 +SLITRK1 0 +SLITRK6 0 +SMAD9 0 +SMIM2 0 +SMIM2-IT1 0 +SNORA31 0 +SOHLH2 11 +SOX21 0 +SPATA13-AS1 0 +SPG20 1 +SPRY2 0 +SPRYD7 0 +STARD13 0 +STK24 22 +STOML3 0 +SUCLA2 0 +SUGT1P3 0 +SUPT20H 18 +TBC1D4 0 +TEX26-AS1 0 +TEX30 2 +TGDS 0 +THSD1 0 +TMTC4 0 +TPT1 212 +TPTE2 0 +TPTE2P1 2 +TPTE2P5 0 +TRPC4 0 +TSC22D1 1 +TUBA3C 0 +TUBGCP3 0 +TUSC8 0 +UBAC2-AS1 0 +UBL3 0 +UGGT2 0 +URAD 0 +USP12 0 +VPS36 0 +VWA8 1 +XPO4 2 +ZAR1L 34 +ZC3H13 26 +ZDHHC20 0 +ZIC5 0 +ZMYM5 7 +ABCD4 3 +ACIN1 2 +ACTN1 9 +ACYP1 0 +ADAM20 0 +ADAM20P1 0 +ADAM21P1 0 +ADAM6 0 +ADCY4 0 +AHNAK2 0 +AJUBA 0 +AKT1 2 +ALDH6A1 2 +ALKBH1 5 +ANGEL1 0 +ANKRD9 0 +AP1G2 2 +AREL1 1 +ARHGAP5-AS1 0 +ASB2 0 +ATG14 9 +ATG2B 2 +ATP6V1D 16 +ATXN3 0 +BAG5 4 +BAZ1A 45 +BCL11B 0 +BEGAIN 0 +BMP4 0 +BMS1P17 0 +BMS1P18 0 +BRF1 0 +BTBD7 1 +C14orf1 2 +C14orf105 0 +C14orf142 0 +C14orf182 0 +C14orf183 0 +C14orf2 4 +C14orf37 1 +C14orf39 0 +C14orf64 0 +C14orf93 0 +CATSPERB 0 +CBLN3 0 +CCDC175 0 +CCDC177 2 +CCDC85C 0 +CCDC88C 7 +CCNB1IP1 0 +CDC42BPB 5 +CDCA4 4 +CDH24 0 +CDKL1 0 +CEBPE 0 +CEP128 2 +CFL2 1 +CHD8 11 +CHMP4A 0 +CIDEB 0 +CINP 0 +CKB 4 +CLEC14A 0 +CLMN 1 +CMA1 0 +CNIH1 1 +COX16 2 +CTSG 0 +DAD1 2 +DCAF5 31 +DDHD1 1 +DDX24 20 +DEGS2 3 +DHRS1 0 +DHRS4-AS1 0 +DHRS7 0 +DICER1 6 +DIO2 0 +DIO3OS 0 +DLGAP5 139 +DNAAF2 2 +DPF3 0 +DTD2 0 +DUXAP10 0 +EAPP 0 +EFCAB11 1 +EFS 0 +EGLN3 0 +ELK2AP 0 +ELMSAN1 6 +EMC9 0 +EML5 1 +ENTPD5 0 +ERH 7 +ERO1L 0 +ESR2 0 +EXOC5 6 +FAM161B 0 +FAM181A-AS1 0 +FBLN5 3 +FBXO33 3 +FERMT2 5 +FKBP3 0 +FLJ31306 2 +FOXA1 0 +FOXG1-AS1 0 +FOXN3 1 +FRMD6-AS1 0 +FRMD6-AS2 0 +FSCB 0 +FUT8-AS1 0 +GALC 0 +GCH1 25 +GMFB 1 +GNPNAT1 0 +GPHB5 0 +GPR132 0 +GPR135 0 +GPR33 0 +GPR68 0 +GPX2 0 +GSC 2 +GTF2A1 1 +GZMB 0 +GZMH 0 +HAUS4 3 +HEATR4 0 +HEATR5A 0 +HECTD1 2 +HIF1A-AS1 0 +HIF1A-AS2 0 +HNRNPC 10 +HOMEZ 0 +HSP90AA1 263 +IFI27L2 0 +IPO4 0 +IRF2BPL 0 +ISM2 0 +ITPK1 0 +JAG2 2 +JPH4 0 +KCNH5 0 +KCNK10 0 +KLHL28 1 +KLHL33 0 +KTN1-AS1 0 +L2HGDH 1 +L3HYPDH 0 +LGMN 3 +LINC00341 0 +LINC00520 1 +LINC00605 0 +LINC00639 0 +LINC00641 0 +LINC00644 0 +LINC00648 0 +LINC01296 0 +LINC01467 6 +LOC100128233 0 +LOC100129345 0 +LOC100288846 1 +LOC100289511 0 +LOC100506071 0 +LOC100506499 0 +LOC100506603 0 +LOC100506700 0 +LOC100507437 0 +LOC101927062 0 +LOC101927418 0 +LOC101927780 0 +LOC101928075 0 +LOC101928791 0 +LOC101929572 0 +LOC101929718 0 +LOC102723809 0 +LOC102724153 0 +LOC102724190 0 +LOC642426 0 +LOC730202 0 +LTBP2 0 +MAP3K9 1 +MAP4K5 0 +MAX 0 +MBIP 32 +MDGA2 2 +MDP1 0 +MED6 3 +METTL3 0 +MIR1247 0 +MIR203B 0 +MIR208A 0 +MIR208B 0 +MIR3173 0 +MIR4308 0 +MIR4503 0 +MIR4707 0 +MIR4708 0 +MIR4709 0 +MIR4710 0 +MIR548AI 0 +MIR548AZ 0 +MIR548Y 0 +MIR5580 0 +MIR624 0 +MIR6717 0 +MIR6765 0 +MIR7703 0 +MIR7855 0 +MIS18BP1 5 +MLH3 1 +MOAP1 0 +MOK 3 +MYH6 0 +MYH7 1 +NDRG2 0 +NDUFB1 1 +NEDD8 1 +NEDD8-MDP1 0 +NEK9 0 +NEMF 6 +NFKBIA 55 +NGB 0 +NID2 3 +NIN 0 +NKX2-1 0 +NKX2-8 0 +NOVA1 0 +NOXRED1 0 +NPC2 0 +NRDE2 1 +NRL 0 +NUDT14 0 +NUMB 23 +OR10G2 0 +OR10G3 0 +OR11H2 0 +OR4K13 0 +OR4K14 0 +OR5AU1 0 +OR6S1 0 +OSGEP 0 +OTX2 284 +PGF 0 +PIGH 0 +PLEK2 11 +PNMA1 0 +POLE2 0 +POMT2 0 +POTEH-AS1 0 +POTEM 0 +PPP1R13B 3 +PPP1R3E 0 +PPP2R3C 4 +PPP2R5E 1 +PRIMA1 0 +PRKD1 0 +PRMT5 0 +PROX2 0 +PSMB5 6 +PSME2 0 +PTCSC3 0 +PTPN21 0 +PYGL 0 +RAB15 3 +RAB2B 1 +RABGGTA 0 +RALGAPA1 0 +RALGAPA1P 0 +RBM23 0 +RD3L 0 +RDH11 0 +RIPK3 0 +RNASE1 0 +RNASE11 0 +RNASE12 0 +RNASE13 0 +RNASE9 0 +RNU6-19P 0 +RNU6-2 0 +RNU6-31P 0 +RPL10L 0 +RPL36AL 3 +RPPH1 0 +RPS29 13 +RPS6KA5 0 +RPS6KL1 5 +RTL1 0 +RTN1 2 +SALL2 0 +SAV1 3 +SCARNA13 0 +SDR39U1 0 +SEC23A 1 +SEL1L 2 +SERPINA1 0 +SERPINA10 0 +SERPINA11 0 +SERPINA12 0 +SERPINA2 0 +SERPINA6 0 +SERPINA9 0 +SETD3 0 +SFTA3 0 +SGPP1 0 +SIX1 1 +SIX4 0 +SLC10A1 0 +SLC22A17 0 +SLC25A21 0 +SLC25A29 0 +SLC35F4 0 +SLC7A7 10 +SLC7A8 8 +SLC8A3 0 +SMEK1 1 +SNHG10 0 +SNORA79 0 +SNORD126 0 +SNORD8 0 +SNORD9 0 +SNW1 27 +SNX6 6 +SOS2 1 +SPTB 2 +SPTLC2 0 +SPTSSA 0 +STON2 0 +STRN3 0 +STXBP6 2 +SUPT16H 0 +SYNDIG1L 0 +SYNE3 0 +SYNJ2BP 5 +SYNJ2BP-COX16 0 +TBPL2 0 +TC2N 6 +TCL1A 199 +TEP1 0 +TEX21P 0 +TGFB3 0 +TGM1 0 +TIMM9 2 +TINF2 1 +TM9SF1 3 +TMED10 3 +TMED8 0 +TMEM179 0 +TMEM229B 2 +TMEM30B 0 +TMEM55B 0 +TRAPPC6B 0 +TRIM9 0 +TRIP11 6 +TRMT5 3 +TTC5 9 +TTC7B 0 +TXNDC16 1 +VCPKMT 0 +VIPAS39 1 +VTI1B 0 +WARS 0 +WDHD1 2 +WDR89 1 +XRCC3 0 +ZBTB25 0 +ZDHHC22 0 +ZFHX2 1 +ZFP36L1 0 +ZFYVE1 0 +ZFYVE26 2 +ZNF219 0 +AAGAB 0 +ACSBG1 0 +ACTC1 0 +ADAM10 1 +ADAMTS17 3 +ADAMTS7 0 +ADPGK 17 +AGBL1-AS1 0 +ALDH1A2 5 +ANKRD63 0 +ANP32A 0 +ANP32A-IT1 0 +ANPEP 0 +ANXA2 0 +AP3B2 0 +AP3S2 0 +AQR 1 +ARPIN 0 +ARPP19 4 +ATP10A 0 +ATP8B4 0 +AVEN 1 +BCL2A1 0 +BCL2L10 38 +BMF 0 +BNC1 0 +BNIP2 0 +BTBD1 0 +C15orf38-AP3S2 0 +C15orf40 0 +C15orf52 0 +C15orf56 0 +C15orf57 0 +C15orf59 0 +C2CD4B 0 +CA12 0 +CALML4 8 +CATSPER2 0 +CATSPER2P1 0 +CCPG1 9 +CDAN1 0 +CELF6 0 +CEP152 9 +CERS3 0 +CHRFAM7A 0 +CHRNA3 1 +CHRNB4 0 +CHSY1 3 +CIB1 0 +CIB2 0 +CILP 0 +CLN6 1 +CLPX 11 +COPS2 9 +COX5A 0 +CPEB1 2 +CSNK1A1P1 0 +CSNK1G1 10 +CSPG4 0 +CT62 0 +CTSH 0 +CXADRP2 0 +CYP11A1 0 +CYP19A1 0 +CYP1A1 0 +DAPK2 0 +DDX11L9 0 +DENND4A 1 +DET1 0 +DMXL2 0 +DNAJC17 4 +DNM1P35 0 +DNM1P46 0 +DPH6 0 +DPP8 2 +DUOX2 0 +DUOXA1 0 +DYX1C1 2 +DYX1C1-CCPG1 0 +EDC3 1 +EFTUD1 2 +EHD4 0 +EIF3J-AS1 0 +ELL3 0 +EMC7 1 +EPB42 0 +ETFA 58 +EXD1 0 +FAM169B 0 +FAM174B 4 +FAM189A1 0 +FAM214A 38 +FAM219B 0 +FAM227B 0 +FAM96A 1 +FBN1 1 +FBXO22-AS1 0 +FLJ10038 0 +FMN1 14 +FRMD5 1 +FSD2 0 +FSIP1 0 +GABARAPL3 0 +GABPB1 2 +GABRB3 1 +GATM 0 +GJD2 0 +GNB5 2 +GOLGA2P10 0 +GOLGA2P7 0 +GOLGA6A 0 +GOLGA6L10 0 +GOLGA6L22 0 +GOLGA6L5P 0 +GOLGA6L6 0 +GOLGA6L7P 0 +GOLGA8A 0 +GOLGA8B 0 +GOLGA8DP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8K 0 +GOLGA8M 0 +GOLGA8O 0 +GOLGA8R 0 +GPR176 0 +GRAMD2 0 +GTF2A2 3 +HAPLN3 1 +HCN4 0 +HDC 13 +HDDC3 0 +HDGFRP3 2 +HERC1 2 +HERC2 2 +HERC2P2 0 +HERC2P3 0 +HEXA 0 +HIGD2B 0 +HOMER2 2 +HSP90AB4P 0 +ICE2 2 +IDH2 0 +IGDCC3 3 +IGDCC4 0 +IMP3 1 +INO80 3 +IQCH-AS1 1 +ITGA11 0 +KATNBL1 0 +KIAA0101 0 +KIF7 1 +KLHL25 1 +LARP6 0 +LCMT2 0 +LCTL 0 +LEO1 5 +LINC00597 0 +LINC00923 0 +LINC00927 0 +LINC00928 0 +LINC00930 0 +LINC01197 0 +LINC01314 0 +LINC01491 0 +LINGO1 1 +LINS 0 +LOC100131315 0 +LOC100422556 0 +LOC100507472 0 +LOC101926895 0 +LOC101927112 0 +LOC101927286 1 +LOC101927310 0 +LOC101927332 0 +LOC101928134 0 +LOC101928414 0 +LOC101928694 1 +LOC101928869 0 +LOC101929076 4 +LOC101929173 0 +LOC101929196 0 +LOC101929439 0 +LOC101929586 0 +LOC101929679 0 +LOC101929701 0 +LOC101929743 0 +LOC102724631 0 +LOC145783 0 +LOC145845 0 +LOC283683 0 +LOC283693 0 +LOC283710 0 +LOC283731 0 +LOC338963 0 +LOC642423 0 +LOC645752 0 +LOC646214 0 +LOC727751 0 +LOC729911 0 +LOC91450 0 +LOXL1-AS1 0 +LPCAT4 15 +LRRC57 0 +LTK 0 +LYSMD2 0 +LYSMD4 0 +MAGEL2 0 +MAN2C1 0 +MEGF11 0 +MEIS2 0 +MESDC2 1 +MESP1 0 +MEX3B 0 +MFAP1 7 +MFGE8 0 +MGC15885 0 +MIR1233-1 0 +MIR1233-2 0 +MIR1266 0 +MIR1272 0 +MIR1276 0 +MIR1282 0 +MIR211 0 +MIR2116 0 +MIR3529 0 +MIR3942 0 +MIR4310 0 +MIR4312 0 +MIR4313 0 +MIR4508 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4511 0 +MIR4513 0 +MIR4514 0 +MIR4715 0 +MIR4716 0 +MIR5094 0 +MIR549A 0 +MIR627 0 +MIR628 0 +MIR629 0 +MIR631 0 +MIR6766 0 +MIR6881 0 +MIR6882 0 +MIR8063 0 +MIR8067 0 +MNS1 1 +MRPL42P5 0 +MRPL46 0 +MTFMT 0 +MTHFS 0 +MTMR10 1 +MYEF2 0 +MYO1E 1 +MYO5A 2 +MYO5C 0 +MYO9A 17 +NBEAP1 0 +NDN 0 +NDNL2 0 +NDUFAF1 0 +NEDD4 0 +NF1P2 0 +NIPA1 2 +NIPA2 2 +NMB 0 +NOP10 3 +NPTN 1 +NPTN-IT1 0 +NR2F2-AS1 0 +NRG4 0 +NTRK3 10 +OAZ2 0 +OCA2 1 +OIP5 2 +ONECUT1 0 +OR4F4 0 +OTUD7A 0 +PARP16 2 +PARP6 1 +PATL2 16 +PCSK6 0 +PDCD7 4 +PEAK1 1 +PEX11A 3 +PGPEP1L 0 +PIF1 0 +PIN4P1 0 +PKM 1 +PLA2G4D 0 +PLA2G4E 0 +PLA2G4F 1 +PLCB2 0 +PLIN1 0 +POLG 1 +POTEB 0 +POTEB2 0 +PPIB 1 +PPIP5K1 0 +PPP1R14D 0 +PRC1 14 +PRKXP1 0 +PRTG 11 +PTPN9 1 +PWRN2 0 +PYGO1 0 +RAB27A 0 +RAD51-AS1 0 +RASGRF1 0 +RASGRP1 1 +RASL12 0 +RBPMS2 6 +RFX7 0 +RGMA 1 +RHCG 0 +RHOV 1 +RLBP1 0 +RMDN3 4 +RNU6-2 0 +RORA 0 +RPAP1 0 +RPL4 5 +RPP25 0 +RPS17 0 +RPS27L 10 +RSL24D1 13 +SCAMP2 2 +SCAPER 15 +SCARNA14 0 +SEC11A 1 +SECISBP2L 4 +SEMA7A 0 +SERINC4 0 +SHC4 0 +SHF 0 +SIN3A 51 +SLC12A6 1 +SLC30A4 0 +SLTM 3 +SNAPC5 0 +SNORD16 0 +SNORD18A 0 +SNORD18B 0 +SNORD18C 0 +SNRPA1 0 +SNUPN 0 +SPATA41 0 +SPATA8-AS1 0 +SPG11 1 +SPG21 6 +SPPL2A 4 +SPTBN5 0 +SRP14 3 +ST20 0 +ST20-MTHFS 0 +STARD5 0 +STOML1 0 +STRA6 0 +STRC 0 +TARSL2 1 +TBC1D2B 0 +TGM5 0 +TGM7 2 +THAP10 1 +TIPIN 1 +TJP1 14 +TLE3 0 +TM2D3 1 +TMC3 1 +TMCO5B 0 +TMEM87A 19 +TNFAIP8L3 0 +TP53BP1 0 +TRPM1 0 +TRPM7 2 +TSPAN3 0 +TTBK2 0 +TTC23 0 +TYRO3P 0 +UACA 6 +UBAP1L 0 +UBE2Q2P1 0 +UBE3A 5 +UBL7 0 +UBR1 6 +ULK3 0 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +USP3-AS1 1 +USP50 0 +VIMP 2 +VPS13C 1 +VPS33B 0 +VPS39 0 +VWA9 1 +WDR61 1 +WDR72 0 +WDR73 0 +WHAMMP1 0 +WHAMMP3 0 +ZNF106 8 +ZNF280D 1 +ZNF770 3 +ZSCAN29 7 +AARS 0 +ABCA3 0 +ABCC11 0 +ABCC12 0 +ABCC6 5 +ABCC6P2 0 +ACD 2 +ACSM1 0 +ACSM2B 0 +ADAMTS18 1 +ADAT1 10 +ADCY9 3 +AGRP 0 +AKTIP 20 +AMFR 9 +ANKRD11 11 +ANKRD26P1 1 +ANKS3 0 +AP1G1 1 +APOOP5 0 +APRT 0 +ARHGAP17 2 +ARL6IP1 18 +ATP6V0D1 2 +AXIN1 0 +B3GNT9 1 +BBS2 0 +BCAR1 0 +BCAR4 49 +BCL7C 0 +BEAN1-AS1 0 +BOLA2 0 +BOLA2B 0 +BRD7 2 +BRICD5 0 +C16orf13 0 +C16orf3 0 +C16orf46 1 +C16orf47 0 +C16orf54 0 +C16orf58 1 +C16orf74 0 +C16orf87 4 +C16orf89 0 +C16orf90 0 +C16orf91 1 +C16orf93 0 +C16orf95 0 +C16orf97 0 +C1QTNF8 0 +CA5A 0 +CARHSP1 0 +CASC16 0 +CASKIN1 0 +CBFA2T3 2 +CBLN1 0 +CCDC102A 0 +CCDC154 0 +CCDC64B 0 +CCDC78 0 +CCDC79 0 +CD2BP2 0 +CDH11 0 +CDH16 0 +CDH8 0 +CDIP1 5 +CDIPT 0 +CDR2 3 +CDYL2 1 +CEMP1 0 +CENPBD1 0 +CENPT 1 +CES1 0 +CES5A 0 +CFAP20 0 +CFDP1 2 +CHMP1A 0 +CHST5 0 +CHST6 0 +CHTF8 0 +CIAPIN1 9 +CLCN7 0 +CLDN6 0 +CLEC18B 0 +CLN3 0 +CMC2 4 +CMTM4 18 +CMTR2 0 +CNGB1 0 +CNOT1 4 +COG4 0 +COG7 0 +COG8 1 +CORO7 0 +CORO7-PAM16 0 +COTL1 0 +COX6A2 0 +CPPED1 0 +CREBBP 2 +CRNDE 0 +CRYM 0 +CSNK2A2 0 +CTRB2 0 +CTRL 0 +CYBA 0 +DBNDD1 0 +DCTPP1 2 +DCUN1D3 0 +DDX28 0 +DEXI 0 +DKFZP434H168 0 +DNAH3 7 +DNAJA2 7 +DOC2A 0 +DOK4 0 +DPEP2 0 +DPEP3 0 +DYNC1LI2 2 +EARS2 1 +ECI1 0 +EIF3C 0 +EIF3CL 0 +EMC8 4 +EMP2 1 +ENKD1 0 +ERI2 0 +ERN2 0 +ERVK13-1 0 +ESRP2 0 +EXOC3L1 0 +EXOSC6 1 +FA2H 0 +FAM192A 6 +FAM57B 0 +FAM86A 0 +FAM92B 0 +FAM96B 0 +FANCA 0 +FBXL16 0 +FBXL19-AS1 0 +FBXO31 0 +FENDRR 0 +FHOD1 1 +FOPNL 4 +GALNS 0 +GCSH 0 +GDE1 1 +GDPD3 0 +GFOD2 1 +GGA2 1 +GINS2 28 +GLG1 2 +GLYR1 1 +GNG13 0 +GOT2 5 +GP2 0 +GPR139 0 +GPRC5B 0 +GRIN2A 0 +GSG1L 0 +GSPT1 21 +GTF3C1 1 +HAGH 1 +HCFC1R1 0 +HERC2P4 0 +HIRIP3 6 +HS3ST6 0 +HSDL1 2 +HYDIN 1 +IFT140 0 +IGFALS 0 +IGSF6 0 +IL21R-AS1 0 +IL27 0 +IRX3 0 +ITFG1 1 +JMJD8 0 +KARS 1 +KCNG4 0 +KCTD13 1 +KCTD19 0 +KIAA0430 1 +KIAA0895L 0 +KIFC3 1 +KLHDC4 1 +KNOP1 9 +LCAT 0 +LCMT1-AS1 0 +LDHD 0 +LINC00235 0 +LINC00254 0 +LINC00273 0 +LINC00917 0 +LINC00919 0 +LINC00922 1 +LINC01081 0 +LINC01227 0 +LITAF 0 +LMF1 0 +LOC100130700 0 +LOC100131303 0 +LOC100190986 0 +LOC100288162 0 +LOC100289092 0 +LOC100505942 0 +LOC100506083 0 +LOC100506655 0 +LOC100507419 0 +LOC100507501 1 +LOC100507534 0 +LOC101926896 0 +LOC101926950 0 +LOC101927311 0 +LOC101927348 0 +LOC101927650 0 +LOC101927814 0 +LOC101928035 0 +LOC101928417 0 +LOC101928682 0 +LOC102467146 0 +LOC102723385 0 +LOC102724084 0 +LOC102724163 0 +LOC102724467 0 +LOC102724927 0 +LOC146481 0 +LOC283856 0 +LOC283922 0 +LOC388242 0 +LOC390705 0 +LOC399491 0 +LOC400511 0 +LOC400553 0 +LOC613037 0 +LOC613038 0 +LOC643802 0 +LOC729159 0 +LOC730183 0 +LRRC29 0 +LUC7L 0 +MAF 0 +MAPK3 0 +MBTPS1 2 +MEFV 0 +MEIOB 0 +MIR1225 0 +MIR1538 0 +MIR1910 0 +MIR3178 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3180-4 0 +MIR3180-5 0 +MIR328 0 +MIR4519 0 +MIR4721 0 +MIR4722 0 +MIR5093 0 +MIR548AA2 0 +MIR6126 0 +MIR6506 0 +MIR6511A2 0 +MIR6511B1 0 +MIR6770-2 0 +MIR6772 0 +MIR6773 0 +MIR6775 0 +MIR6859-1 0 +MIR6859-2 0 +MIR6862-1 0 +MIR6862-2 0 +MIR7641-2 0 +MLKL 0 +MPHOSPH6 1 +MRPL28 0 +MRPS34 0 +MSRB1 0 +MT1G 2 +MTHFSD 0 +MTRNR2L4 0 +MTSS1L 0 +MVD 0 +MYH11 4 +MYLK3 0 +N4BP1 4 +NAE1 3 +NAGPA 1 +NARFL 0 +NDUFAB1 3 +NETO2 3 +NLRC3 0 +NME3 0 +NMRAL1 0 +NOB1 3 +NOMO2 1 +NOXO1 0 +NPIPA5 0 +NPIPA7 0 +NPIPA8 0 +NPIPB3 0 +NPIPB6 0 +NPRL3 0 +NQO1 0 +NSMCE1 0 +NTAN1 1 +NTHL1 1 +NUDT21 10 +NUPR1 0 +PABPN1L 8 +PALB2 5 +PAM16 0 +PARN 4 +PDF 0 +PDILT 0 +PDXDC2P 0 +PDZD9 0 +PGP 0 +PHLPP2 0 +PIEZO1 1 +PKD1 0 +PKD1L2 1 +PKD1L3 5 +PKD1P6 0 +PKMYT1 1 +PLA2G10 0 +PLLP 0 +PMFBP1 0 +POLR3K 1 +PPL 1 +PRDM7 0 +PRM1 0 +PRM2 0 +PRM3 0 +PRSS22 0 +PRSS27 0 +PRSS30P 0 +PRSS33 0 +PRSS36 0 +PRSS53 1 +PRSS54 0 +PRSS8 0 +PSMB10 0 +PTX4 0 +PYCARD 0 +PYDC1 0 +RABEP2 0 +RANBP10 1 +RFWD3 5 +RGS11 0 +RHBDF1 2 +RNF166 0 +RNPS1 4 +RNU6-76P 0 +ROGDI 0 +RPGRIP1L 1 +RPL3L 0 +RPS15A 12 +RPS2 5 +RPUSD1 0 +RRAD 0 +RRN3 1 +RRN3P1 0 +RRN3P3 2 +RSL1D1 10 +SALL1 0 +SDR42E1 0 +SEPHS2 0 +SEPT1 0 +SEPT12 0 +SEZ6L2 0 +SHCBP1 5 +SIAH1 5 +SLC12A4 0 +SLC22A31 0 +SLC38A7 3 +SLC38A8 1 +SLC6A10P 0 +SLC7A5 0 +SLC7A5P1 0 +SLC7A5P2 0 +SLC7A6OS 0 +SLX4 1 +SMG1 4 +SMG1P2 0 +SMG1P3 0 +SMG1P5 0 +SMG1P7 0 +SMPD3 10 +SNAI3 0 +SNORA10 0 +SNORA46 0 +SNORA64 0 +SNORA70D 0 +SNORA76A 0 +SNORD60 0 +SNORD71 0 +SNX20 0 +SOCS1 0 +SPATA2L 0 +SPSB3 0 +SRL 0 +SRRM2-AS1 0 +SSTR5-AS1 16 +ST3GAL2 0 +STX1B 0 +SULT1A1 0 +SULT1A2 0 +TAF1C 0 +TAT 0 +TBC1D10B 5 +TBX6 0 +TCEB2 0 +TEKT5 0 +TERF2 1 +TFAP4 1 +THUMPD1 14 +TIGD7 1 +TK2 0 +TLDC1 0 +TMED6 0 +TMEM114 0 +TMEM170A 0 +TMEM186 0 +TMEM231 0 +TMEM8A 0 +TNP2 0 +TOX3 0 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TPPP3 0 +TPSB2 0 +TPSG1 0 +TRADD 0 +TRAP1 1 +TSR3 0 +TUFM 0 +TVP23A 0 +TXNDC11 1 +TXNL4B 2 +UBALD1 0 +UBE2MP1 0 +UMOD 0 +UNKL 27 +URAHP 0 +USP31 4 +USP7 17 +VAC14 0 +VKORC1 3 +VPS35 3 +VPS9D1 0 +WDR24 0 +WDR59 2 +XPO6 3 +XYLT1 0 +YBX3P1 0 +YPEL3 2 +ZC3H7A 4 +ZCCHC14 5 +ZDHHC1 0 +ZDHHC7 6 +ZFHX3 10 +ZKSCAN2 2 +ZNF19 0 +ZNF200 13 +ZNF205-AS1 0 +ZNF213-AS1 0 +ZNF23 0 +ZNF319 0 +ZNF423 0 +ZNF500 1 +ZNF597 3 +ZNF598 4 +ZNF629 1 +ZNF668 0 +ZNF688 0 +ZNF689 26 +ZNF747 0 +ZNF764 3 +ZNF768 0 +ZNF785 0 +ZNF821 0 +ZNF843 0 +ZP2 11 +ZSCAN10 0 +ZSCAN32 0 +AA06 0 +AARSD1 0 +AATK 0 +ABCA10 0 +ABCA5 2 +ABCA6 0 +ABCA8 0 +ABCA9 0 +ABHD15 0 +ABR 3 +ACACA 0 +ACLY 2 +ACOX1 0 +ACTG1 79 +AIPL1 0 +AKAP10 1 +ALDH3A1 0 +ALDOC 0 +ALOX12B 0 +ALOX15 3 +ALOXE3 0 +ALYREF 0 +AMZ2P1 0 +ANKFY1 2 +ANKRD40 1 +APOH 0 +APPBP2 0 +ARGFXP2 0 +ARHGAP27 0 +ARHGDIA 0 +ARL16 0 +ARL17A 0 +ARL17B 0 +ARL5C 0 +ASB16-AS1 0 +ASGR1 1 +ASGR2 0 +ASIC2 0 +ATP2A3 0 +ATP5H 2 +ATPAF2 3 +ATXN7L3 0 +AURKB 3 +AXIN2 1 +B3GNTL1 0 +B9D1 0 +BAIAP2-AS1 0 +BECN1 0 +BLMH 5 +BRCA1 8 +BRIP1 0 +BTBD17 0 +BZRAP1 0 +C17orf102 0 +C17orf47 0 +C17orf51 0 +C17orf58 0 +C17orf59 0 +C17orf62 0 +C17orf67 0 +C17orf70 0 +C17orf75 0 +C17orf85 15 +C17orf96 0 +C17orf98 0 +C1QBP 0 +C1QL1 0 +C1QTNF1-AS1 0 +CA10 2 +CACNA1G-AS1 0 +CACNB1 0 +CAMKK1 1 +CAMTA2 4 +CANT1 1 +CASC17 0 +CASKIN2 0 +CBX1 28 +CBX4 0 +CBX8 1 +CCDC144B 1 +CCDC144NL 0 +CCDC182 0 +CCDC42 0 +CCDC43 1 +CCDC47 2 +CCDC57 0 +CCL1 0 +CCL14 0 +CCL15 0 +CCL15-CCL14 0 +CCL16 0 +CCL23 0 +CCL3 0 +CCL3L1 0 +CCL3L3 0 +CCL5 0 +CCR10 0 +CCR7 0 +CCT6B 0 +CD300C 0 +CD300E 0 +CD300LB 0 +CD300LD 0 +CD300LF 0 +CD7 0 +CD79B 0 +CDC27 5 +CDC42EP4 0 +CDRT1 0 +CDRT15 0 +CDRT4 0 +CDRT8 0 +CENPV 0 +CEP112 2 +CEP131 1 +CHAD 0 +CHRNE 0 +CLDN7 0 +CLEC10A 3 +CLUH 0 +COA3 0 +COIL 7 +COL1A1 0 +COPRS 3 +COPS3 7 +COPZ2 0 +CORO6 0 +COX10-AS1 0 +COX11 0 +CPSF4L 1 +CRK 15 +CRLF3 1 +CSH1 0 +CSH2 0 +CSHL1 0 +CSNK1D 3 +CTC1 1 +CTDNEP1 2 +CUEDC1 0 +CWC25 19 +CXCL16 0 +CYB561 0 +CYGB 0 +CYTH1 0 +DCAKD 0 +DCXR 0 +DDX5 11 +DDX52 1 +DERL2 0 +DHRS13 0 +DHRS7C 0 +DHX33 5 +DHX58 0 +DLG4 0 +DLX3 0 +DNAH17 2 +DNAJC7 1 +DOC2B 0 +DUS1L 2 +DUSP3 1 +DVL2 5 +EFTUD2 1 +EIF4A3 0 +ELAC2 0 +ENTHD2 0 +EPN2-AS1 0 +ERN1 0 +ETV4 0 +EVI2A 0 +EVI2B 0 +EVPL 0 +EXOC7 0 +EZH1 2 +FADS6 0 +FAM101B 1 +FAM104A 7 +FAM106A 0 +FAM117A 3 +FAM134C 0 +FAM171A2 0 +FAM195B 0 +FAM20A 0 +FAM222B 25 +FAM83G 0 +FASN 0 +FBF1 0 +FBXL20 1 +FBXO47 0 +FDXR 0 +FLCN 2 +FLII 1 +FLJ45079 0 +FLOT2 1 +FOXJ1 0 +FOXO3B 0 +FTSJ3 2 +FXR2 0 +GABARAP 0 +GALK1 0 +GAS2L2 0 +GAS7 6 +GEMIN4 0 +GFAP 0 +GGA3 2 +GGT6 0 +GH1 0 +GH2 0 +GHDC 0 +GIP 0 +GIT1 3 +GJC1 4 +GJD3 0 +GLOD4 3 +GNA13 13 +GNGT2 0 +GPATCH8 6 +GPR179 0 +GPS2 5 +GRAP 0 +GRB2 0 +GRIN2C 0 +GSDMB 0 +H3F3B 328 +HAP1 10 +HCRT 0 +HDAC5 0 +HEATR6 0 +HEATR9 0 +HELZ 12 +HES7 0 +HID1 0 +HILS1 0 +HN1 2 +HNF1B 0 +HOXB1 0 +HOXB13 0 +HOXB2 0 +HOXB3 0 +HOXB4 0 +HOXB5 0 +HOXB6 0 +HOXB7 1 +HOXB8 0 +HOXB9 0 +HS3ST3A1 0 +HSF5 0 +ICAM2 1 +IFT20 0 +IKZF3 0 +INCA1 0 +INPP5K 0 +INTS2 0 +ITGA2B 0 +ITGAE 1 +JMJD6 1 +JUP 0 +KANSL1 0 +KAT2A 0 +KCNAB3 0 +KCNH4 0 +KCNJ2-AS1 0 +KIAA0100 1 +KIAA0753 2 +KIAA1731NL 0 +KIF18B 0 +KLHL11 0 +KRBA2 0 +KRT10 0 +KRT12 0 +KRT13 0 +KRT14 0 +KRT15 0 +KRT16 0 +KRT16P2 0 +KRT16P3 0 +KRT17 0 +KRT18P55 0 +KRT19 0 +KRT20 0 +KRT222 0 +KRT23 0 +KRT24 0 +KRT25 0 +KRT26 0 +KRT27 0 +KRT28 0 +KRT31 0 +KRT32 0 +KRT33A 0 +KRT33B 0 +KRT34 0 +KRT35 0 +KRT36 0 +KRT37 0 +KRT38 0 +KRT39 0 +KRT40 0 +KRT42P 0 +KRT9 0 +KRTAP1-1 0 +KRTAP1-3 0 +KRTAP1-4 0 +KRTAP1-5 0 +KRTAP16-1 0 +KRTAP17-1 0 +KRTAP2-1 0 +KRTAP2-2 0 +KRTAP2-3 0 +KRTAP2-4 0 +KRTAP29-1 0 +KRTAP3-1 0 +KRTAP3-2 0 +KRTAP3-3 0 +KRTAP4-1 0 +KRTAP4-11 0 +KRTAP4-12 0 +KRTAP4-2 0 +KRTAP4-3 0 +KRTAP4-4 0 +KRTAP4-5 0 +KRTAP4-6 0 +KRTAP4-8 0 +LEPREL4 0 +LGALS3BP 0 +LGALS9B 0 +LIMD2 0 +LINC00324 0 +LINC00469 0 +LINC00482 0 +LINC00483 1 +LINC00511 0 +LINC00671 0 +LINC00673 0 +LINC00675 0 +LINC00854 0 +LINC00910 0 +LINC00974 0 +LINC01180 0 +LINC01476 0 +LOC100128006 0 +LOC100128288 0 +LOC100130370 0 +LOC100132174 0 +LOC100288866 0 +LOC100294362 0 +LOC100506325 0 +LOC100506371 0 +LOC100506713 0 +LOC100996291 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101926996 0 +LOC101927207 0 +LOC101927239 0 +LOC101927274 0 +LOC101927539 0 +LOC101927557 0 +LOC101927666 0 +LOC101927911 0 +LOC101928001 0 +LOC101928266 0 +LOC101928418 0 +LOC101928567 0 +LOC101928710 0 +LOC101928766 0 +LOC101928855 0 +LOC101929767 0 +LOC102723505 0 +LOC102723517 0 +LOC102723859 0 +LOC102724009 0 +LOC102724508 0 +LOC102724862 0 +LOC103021295 0 +LOC146880 0 +LOC284009 0 +LOC284023 0 +LOC284080 0 +LOC388436 0 +LOC440434 0 +LOC644172 0 +LOC653653 0 +LOC728392 0 +LOC79999 0 +LRRC37A3 0 +LRRC37A4P 0 +LRRC59 5 +LRRC75A 0 +LSM12 0 +LYRM9 0 +LYZL6 0 +MAFG 6 +MAGOH2 0 +MAP3K14 0 +MAPT-AS1 0 +MARCH10 0 +MBTD1 3 +MED1 3 +MED13 19 +MED24 1 +MED31 0 +MEOX1 0 +METTL16 1 +MFAP4 0 +MFSD6L 0 +MGC16275 0 +MIEN1 0 +MIF4GD 3 +MIR10A 0 +MIR1180 0 +MIR1203 0 +MIR1250 0 +MIR1253 0 +MIR132 0 +MIR142 0 +MIR144 0 +MIR152 0 +MIR195 0 +MIR196A1 0 +MIR212 0 +MIR22 0 +MIR22HG 4 +MIR301A 0 +MIR3064 0 +MIR3183 0 +MIR3184 0 +MIR3185 0 +MIR3186 0 +MIR324 0 +MIR338 0 +MIR33B 0 +MIR3614 0 +MIR378J 0 +MIR4315-1 0 +MIR4315-2 0 +MIR4316 0 +MIR451A 0 +MIR4520-1 0 +MIR4522 0 +MIR4524A 0 +MIR454 0 +MIR4731 0 +MIR4732 0 +MIR4733 0 +MIR4734 0 +MIR4736 0 +MIR4737 0 +MIR4738 0 +MIR4739 0 +MIR4740 0 +MIR497 0 +MIR497HG 0 +MIR5047 0 +MIR6129 0 +MIR635 0 +MIR636 0 +MIR6510 0 +MIR657 0 +MIR6776 0 +MIR6777 0 +MIR6778 0 +MIR6780A 0 +MIR6781 0 +MIR6782 0 +MIR6783 0 +MIR6784 0 +MIR6864 0 +MIR6865 0 +MIR6868 0 +MIR6883 0 +MIR6884 0 +MKS1 1 +MMD 1 +MMP28 0 +MNT 3 +MPO 0 +MPP2 5 +MPP3 0 +MRPL10 2 +MRPL27 0 +MRPL38 0 +MRPL45P2 0 +MRPS23 1 +MTMR4 2 +MTVR2 0 +MXRA7 1 +MYADML2 0 +MYBBP1A 0 +MYH1 0 +MYH10 3 +MYH13 0 +MYH2 0 +MYH3 0 +MYH4 0 +MYH8 0 +MYO18A 1 +MYO19 1 +MYO1C 0 +MYO1D 0 +NAA38 1 +NACA2 1 +NARR 0 +NAT9 0 +NATD1 1 +NCOR1 33 +NEURL4 0 +NEUROD2 0 +NLE1 0 +NLRP1 1 +NOS2 3 +NOTUM 0 +NPLOC4 1 +NPTX1 0 +NR1D1 0 +NT5C 0 +NT5C3B 0 +NUFIP2 8 +NUP88 6 +NXN 0 +OGFOD3 0 +OMG 0 +OR1D2 0 +OR1D5 0 +OR1E1 0 +OR1E2 0 +OR1G1 0 +OR3A1 0 +OR3A2 0 +ORMDL3 1 +OSBPL7 0 +OXLD1 0 +P2RX1 0 +P2RX5 0 +P2RX5-TAX1BP3 0 +P4HB 2 +PCGF2 0 +PCYT2 0 +PDE6G 0 +PECAM1 0 +PELP1 1 +PEMT 0 +PER1 2 +PEX12 0 +PFN1 4 +PGAP3 0 +PHB 0 +PHF12 5 +PHF23 0 +PHOSPHO1 0 +PIGS 0 +PIK3R5 0 +PIK3R6 0 +PIP4K2B 0 +PIRT 0 +PITPNA 2 +PITPNM3 0 +PLCD3 0 +PLD6 1 +PLEKHH3 0 +PLEKHM1 0 +PLEKHM1P 0 +PLSCR3 0 +PLXDC1 0 +PMP22 0 +POLDIP2 4 +POLG2 0 +PPP1R27 0 +PPP1R9B 0 +PPY 0 +PRAC1 0 +PROCA1 0 +PRPF8 7 +PRPSAP1 0 +PRR15L 0 +PSMC3IP 1 +PSMD12 0 +PTGES3L 0 +PTGES3L-AARSD1 0 +PTRF 0 +PTRH2 0 +PYCR1 0 +PYY 0 +QRICH2 0 +RAB34 0 +RAB40B 0 +RAB5C 2 +RAD51D 2 +RAD51L3-RFFL 0 +RAMP2-AS1 0 +RARA-AS1 0 +RASD1 0 +RBFOX3 2 +RCVRN 0 +RDM1 0 +RECQL5 1 +RFFL 4 +RFNG 0 +RHBDF2 0 +RILP 0 +RNF157 2 +RNF222 0 +RNF43 0 +RNFT1 1 +RPH3AL 0 +RPL23 7 +RPL26 24 +RPRML 0 +RTN4RL1 0 +SAMD14 0 +SAT2 0 +SCARF1 0 +SCARNA20 0 +SCIMP 0 +SCN4A 0 +SCO1 0 +SCRN2 0 +SDF2 0 +SDK2 2 +SEBOX 0 +SECTM1 0 +SEPT4 0 +SEZ6 0 +SGK494 0 +SGSH 0 +SHMT1 0 +SHPK 0 +SIRT7 0 +SKA2 0 +SKAP1 0 +SLC13A5 0 +SLC16A11 0 +SLC16A6 0 +SLC25A11 0 +SLC25A19 0 +SLC25A35 0 +SLC25A39 0 +SLC35B1 3 +SLC35G3 0 +SLC38A10 0 +SLC39A11 0 +SLC43A2 2 +SLC46A1 0 +SLC47A2 0 +SLC4A1 0 +SLC52A1 0 +SLC6A4 0 +SLFN11 0 +SLFN12 0 +SLFN12L 0 +SLFN13 0 +SLFN14 0 +SMARCD2 0 +SMARCE1 8 +SMCR5 0 +SMG6 1 +SMURF2 13 +SMYD4 3 +SNF8 0 +SNORA21 1 +SNORD124 0 +SNORD91A 0 +SNORD91B 0 +SOCS3 0 +SOST 0 +SOX15 1 +SOX9-AS1 0 +SP6 1 +SPAG5 0 +SPAG7 1 +SPAG9 1 +SPATA22 0 +SPATA32 0 +SPDYE4 0 +SPOP 4 +SRCIN1 1 +SREBF1 1 +SRP68 11 +SRSF1 9 +SRSF2 0 +SSH2 1 +ST6GALNAC1 0 +ST6GALNAC2 1 +STAC2 0 +STAT3 1 +STAT5B 1 +STRA13 1 +STRADA 4 +STX8 2 +SUMO2 13 +SUPT4H1 0 +SYNRG 9 +TAC4 0 +TAX1BP3 1 +TBC1D16 0 +TBC1D28 0 +TBC1D3 0 +TBC1D3B 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P1-DHX40P1 0 +TBC1D3P2 0 +TBX2-AS1 0 +TEFM 1 +TEKT1 0 +TEKT3 0 +TEX14 0 +TEX2 8 +TIAF1 0 +TIMP2 0 +TK1 0 +TLCD1 0 +TLCD2 0 +TMC6 0 +TMEM100 1 +TMEM101 0 +TMEM105 0 +TMEM107 0 +TMEM11 1 +TMEM220 0 +TMEM256 2 +TMEM256-PLSCR3 0 +TMIGD1 0 +TNFRSF13B 0 +TNRC6C-AS1 0 +TNS4 0 +TOB1 4 +TOM1L2 0 +TOP2A 15 +TOP3A 0 +TP53 0 +TRAPPC1 0 +TRIM16 0 +TRIM25 0 +TRIM37 0 +TRIM47 0 +TRIM65 0 +TRPV1 1 +TRPV3 0 +TSR1 0 +TTLL6 0 +TUBD1 2 +TVP23C 0 +TVP23C-CDRT4 0 +UBE2G1 5 +UBE2O 2 +UBTF 4 +ULK2 1 +UNC119 0 +UNC13D 0 +USH1G 0 +USP22 0 +USP32 0 +USP32P2 0 +USP36 1 +UTP6 10 +VAMP2 1 +VAT1 4 +VEZF1 1 +VMO1 0 +VPS53 1 +VTN 0 +WBP2 0 +WDR45B 10 +WFDC21P 0 +WIPI1 0 +WNT3 0 +YBX2 5 +YWHAE 8 +YWHAEP7 0 +ZBTB4 1 +ZNF18 2 +ZNF232 1 +ZNF286B 0 +ZNF287 0 +ZNF385C 0 +ZNF594 0 +ZNF624 1 +ZNF652 6 +ZNF750 0 +ZSWIM7 1 +ZZEF1 0 +ARHGAP27 0 +ARL17A 0 +CRHR1 0 +CRHR1-IT1 0 +KANSL1-AS1 0 +LOC644172 0 +LRRC37A 0 +LRRC37A2 0 +LRRC37A4P 0 +MAPT 0 +MAPT-IT1 0 +MGC57346 0 +MIR4315-1 0 +MIR4315-2 0 +NSF 0 +NSFP1 0 +PLEKHM1 0 +SPPL2C 0 +STH 0 +ABHD3 4 +ACAA2 1 +AFG3L2 2 +ALPK2 0 +ANKRD29 0 +AQP4 0 +ATP5A1 19 +ATP8B1 2 +B4GALT6 3 +BCL2 0 +C18orf32 1 +C18orf42 0 +CBLN2 0 +CBX3P2 0 +CCBE1 2 +CCDC11 0 +CCDC178 1 +CCDC68 0 +CD226 0 +CDH19 0 +CDH2 3 +CELF4 0 +CEP76 2 +CHST9 0 +COLEC12 0 +CPLX4 2 +CTAGE1 0 +CXADRP3 0 +CXXC1 0 +CYB5A 4 +DLGAP1 0 +DSC1 0 +DSC2 0 +DSC3 0 +DSEL 0 +DSG1-AS1 0 +DYM 1 +ENOSF1 3 +EPB41L3 2 +EPG5 1 +ESCO1 3 +FAM210A 5 +FAM69C 0 +FBXO15 0 +FECH 0 +GACAT2 0 +GAREM 1 +GATA6-AS1 0 +GTSCR1 0 +HDHD2 0 +IER3IP1 10 +INO80C 0 +KC6 0 +KCTD1 0 +KDSR 0 +KLHL14 0 +L3MBTL4 0 +LAMA1 0 +LDLRAD4-AS1 0 +LINC-ROR 0 +LINC00305 0 +LINC00470 0 +LINC00526 1 +LINC00668 0 +LINC00669 0 +LINC00909 0 +LINC01029 0 +LINC01254 0 +LINC01444 0 +LINC01478 1 +LMAN1 11 +LOC100131655 0 +LOC100192426 0 +LOC100505474 0 +LOC100505776 0 +LOC100652770 0 +LOC100996324 0 +LOC101060542 0 +LOC101927229 0 +LOC101927273 0 +LOC101927322 0 +LOC101927571 0 +LOC101927651 0 +LOC101928167 0 +LOC102724246 0 +LOC400654 0 +LOC400655 0 +LOC644669 0 +LOC727896 0 +LOXHD1 1 +LPIN2 19 +MBD1 1 +MBD2 0 +MBP 4 +MC2R 0 +MC4R 0 +METTL4 1 +MEX3C 2 +MIR1-2 0 +MIR133A1 0 +MIR133A1HG 0 +MIR187 0 +MIR3591 0 +MIR4317 0 +MIR4319 0 +MIR4320 0 +MIR4744 0 +MIR5583-2 0 +MIR7153 0 +MIR8057 0 +MIR8078 0 +MPPE1 0 +MRO 1 +MYO5B 2 +MYOM1 0 +NARS 10 +NDUFV2-AS1 0 +NETO1 0 +NOL4 3 +NPC1 23 +OSBPL1A 13 +PARD6G 4 +PCAT18 0 +PIAS2 7 +PIEZO2 0 +PIGN 0 +POTEC 0 +PPP4R1 2 +PQLC1 0 +PSTPIP2 0 +PTPN2 6 +RAX 0 +RIT2 1 +RNF152 0 +ROCK1 5 +RPL17 0 +RPL17-C18orf32 3 +RPRD1A 0 +RTTN 4 +SERPINB3 0 +SERPINB4 0 +SKOR2 0 +SLC14A2-AS1 0 +SLC25A52 0 +SLC39A6 6 +SMAD2 10 +SMAD7 0 +SMIM21 0 +SNORA37 0 +SNORD58A 0 +SNORD58B 0 +SNORD58C 0 +SPIRE1 3 +SS18 2 +ST8SIA5 0 +STARD6 0 +SYT4 0 +TCEB3B 0 +TCEB3C 0 +TCEB3CL 0 +TCEB3CL2 0 +TCF4 0 +THOC1 1 +TMEM200C 0 +TMEM241 0 +TMX3 3 +TPGS2 1 +TRAPPC8 2 +TXNL1 2 +TXNL4A 0 +TYMSOS 0 +VPS4B 14 +YES1 13 +ZADH2 0 +ZBTB14 1 +ZBTB7C 1 +ZNF24 1 +ZNF396 0 +ZNF516 0 +ZNF519 0 +ZNF521 1 +ZSCAN30 0 +A1BG 0 +ABHD17A 0 +ABHD8 1 +ACER1 0 +ACP5 0 +ACTL9 0 +ADAMTS10 0 +ADAMTSL5 0 +ADCK4 0 +AES 0 +AKAP8 1 +AKAP8L 1 +AKT1S1 0 +AKT2 3 +ALKBH6 0 +ANGPTL6 0 +ANKRD27 1 +ANO8 0 +AP1M2 7 +AP2S1 3 +AP3D1 2 +APBA3 0 +ARRDC5 0 +ASF1B 3 +ASPDH 0 +ATP13A1 0 +ATP1A3 0 +ATP4A 0 +ATP5SL 1 +ATP8B3 0 +B3GNT8 0 +B9D2 1 +BBC3 0 +BCAT2 2 +BIRC8 0 +BLVRB 0 +BRD4 9 +BSPH1 0 +BST2 0 +BTBD2 0 +C19orf10 0 +C19orf12 0 +C19orf18 0 +C19orf25 0 +C19orf26 0 +C19orf35 0 +C19orf43 2 +C19orf47 2 +C19orf48 1 +C19orf54 0 +C19orf57 1 +C19orf67 3 +C19orf70 0 +C19orf73 0 +C19orf84 0 +C2CD4C 0 +C3 0 +CA11 0 +CABP5 0 +CACNA1A 1 +CACTIN 1 +CADM4 0 +CALR3 0 +CAPN12 1 +CARD8 0 +CCDC114 0 +CCDC151 0 +CCDC8 0 +CCER2 0 +CD209 0 +CD320 0 +CD70 0 +CDC37 0 +CDC42EP5 0 +CDKN2D 0 +CEACAM1 0 +CEACAM20 0 +CEACAM22P 0 +CEACAM4 0 +CEACAM7 0 +CEACAM8 0 +CEBPA 0 +CEP89 2 +CERS1 0 +CGB 0 +CGB1 0 +CGB7 0 +CGB8 0 +CHERP 3 +CHMP2A 1 +CIB3 0 +CIRBP-AS1 0 +CKM 0 +CLC 0 +CLDND2 0 +CLEC4G 0 +CLIP3 1 +CNFN 0 +CNTD2 1 +COL5A3 0 +COMP 0 +COPE 1 +COX6B2 0 +COX7A1 0 +CPAMD8 0 +CRLF1 0 +CSNK1G2-AS1 0 +CTU1 0 +CTXN1 0 +CXCL17 0 +CYP2A6 0 +CYP2A7 0 +CYP4F11 0 +CYP4F2 0 +CYP4F24P 0 +DACT3 0 +DAPK3 1 +DBP 0 +DDX39A 0 +DEDD2 6 +DENND1C 0 +DHPS 0 +DIRAS1 0 +DMKN 0 +DMPK 0 +DMWD 0 +DNAAF3 0 +DNAJB1 22 +DNASE2 0 +DNMT1 847 +DOCK6 0 +DOHH 0 +DPF1 0 +DPP9 0 +DUS3L 0 +DUXA 0 +DYRK1B 0 +ECH1 0 +ECSIT 0 +EEF2 9 +EID2 0 +EID2B 0 +EIF3G 0 +ELAVL1 5 +ELAVL3 0 +ELL 0 +ELOF1 0 +EML2 0 +EMR2 0 +EMR3 0 +EMR4P 0 +EPHX3 0 +EPOR 0 +EPS15L1 4 +ERCC1 0 +ERCC2 2 +ERF 0 +ETFB 0 +ETHE1 1 +EXOC3L2 7 +EXOSC5 0 +FAM138A 0 +FAM138F 0 +FAM187B 0 +FAM71E1 1 +FAM71E2 0 +FAM83E 3 +FARSA 0 +FBL 0 +FBN3 0 +FBXL12 0 +FBXO17 0 +FBXO27 3 +FBXO46 0 +FBXW9 0 +FCER2 0 +FCGBP 0 +FDX1L 0 +FIZ1 0 +FKBP1AP1 0 +FKBP8 0 +FLJ22184 2 +FLJ25758 0 +FLJ30403 0 +FPR1 0 +FUT1 0 +FUT3 0 +FUT5 0 +FUT6 0 +FUZ 0 +GADD45GIP1 0 +GAMT 0 +GDF1 0 +GGN 0 +GIPC1 1 +GMFG 0 +GMIP 0 +GNG7 0 +GNG8 0 +GP6 0 +GPR108 0 +GPR4 0 +GRIK5 0 +GSK3A 0 +GTF2F1 9 +GYS1 0 +HAPLN4 0 +HAS1 0 +HAUS8 2 +HAVCR1P1 0 +HIPK4 0 +HNRNPL 0 +HOMER3 0 +HOOK2 0 +HPN-AS1 0 +HRC 0 +HSD17B14 0 +HSPB6 0 +HSPBP1 1 +ICAM3 0 +IFNL3 0 +IFNL4 0 +IGFL3 0 +IGFL4 0 +IGFLR1 0 +IL11 0 +IL12RB1 0 +IL4I1 0 +ILF3-AS1 0 +ILVBL 0 +INSL3 0 +INSR 0 +IPO5P1 0 +IRF2BP1 0 +IRF3 0 +IRGQ 0 +ISOC2 0 +ISYNA1 0 +IZUMO1 0 +IZUMO2 0 +JAK3 0 +JOSD2 0 +JSRP1 0 +JUND 0 +KANK2 5 +KANK3 0 +KCNA7 1 +KCNC3 0 +KCNN4 0 +KDELR1 1 +KEAP1 0 +KHSRP 2 +KIAA1683 0 +KLF1 0 +KLF16 0 +KLK1 0 +KLK10 0 +KLK11 0 +KLK12 0 +KLK13 0 +KLK14 0 +KLK15 0 +KLK4 0 +KLK5 0 +KLK6 0 +KLK7 0 +KLK8 0 +KLK9 0 +KLKP1 0 +KPTN 0 +KRI1 1 +KRTDAP 0 +LAIR1 0 +LENG1 0 +LENG9 0 +LGALS4 0 +LGALS7 0 +LGI4 0 +LHB 0 +LIG1 2 +LILRA3 0 +LILRA4 0 +LILRA5 0 +LILRA6 0 +LILRB2 0 +LILRB3 0 +LILRB5 0 +LIM2 0 +LINC00662 0 +LINC00663 0 +LINC00665 2 +LINC00904 0 +LINC01002 0 +LINGO3 0 +LIPE 0 +LMNB2 1 +LMTK3 0 +LOC100128573 0 +LOC100379224 0 +LOC100420587 0 +LOC100505715 3 +LOC100506469 0 +LOC100631378 0 +LOC100996351 0 +LOC101059948 0 +LOC101927411 0 +LOC101927621 0 +LOC101927720 0 +LOC101928063 0 +LOC101928295 0 +LOC101928378 0 +LOC101928517 1 +LOC101928804 0 +LOC101929124 0 +LOC101929144 0 +LOC101929164 0 +LOC102724105 0 +LOC284344 0 +LOC284379 0 +LOC284395 0 +LOC284412 0 +LOC284454 0 +LOC400684 0 +LOC400685 0 +LOC400706 0 +LOC644050 0 +LOC729966 0 +LONP1 0 +LPAR2 0 +LPHN1 1 +LPPR3 0 +LRFN1 0 +LRG1 0 +LRRC25 0 +LRRC4B 0 +LSM4 1 +LSM7 0 +LYL1 0 +LYPD3 0 +LYPD4 0 +LYPD5 0 +LYPLA2P2 0 +MAMSTR 1 +MAN2B1 1 +MAP2K2 0 +MAP4K1 0 +MATK 0 +MBD3 0 +MBD3L3 0 +MBD3L4 0 +MBOAT7 0 +MED16 3 +MED26 1 +MEF2B 0 +MEF2BNB 0 +MEF2BNB-MEF2B 0 +MEIS3 2 +MEX3D 0 +MFSD12 0 +MIER2 1 +MIR1181 0 +MIR1227 0 +MIR1270 0 +MIR150 0 +MIR1909 0 +MIR199A1 0 +MIR23A 0 +MIR24-2 0 +MIR27A 0 +MIR3191 0 +MIR320E 0 +MIR330 0 +MIR371B 0 +MIR3940 0 +MIR4323 0 +MIR4324 0 +MIR4530 0 +MIR4531 0 +MIR4754 0 +MIR4999 0 +MIR637 0 +MIR641 0 +MIR642B 0 +MIR6719 0 +MIR6789 0 +MIR6790 0 +MIR6791 0 +MIR6795 0 +MIR6802 0 +MIR6803 0 +MIR6804 0 +MIR6885 0 +MIR7108 0 +MIR7974 0 +MIR8074 0 +MKNK2 8 +MLLT1 10 +MOB3A 6 +MUC16 2 +MYO1F 0 +MYPOP 1 +MZF1 0 +NANOS2 0 +NAPA 0 +NAPSA 0 +NAPSB 0 +NDUFA11 0 +NDUFA7 1 +NDUFB7 0 +NFKBID 0 +NKG7 0 +NKPD1 0 +NLRP11 104 +NLRP12 0 +NLRP13 72 +NLRP7 6 +NLRP9 96 +NOSIP 1 +NOTCH3 0 +NOVA2 0 +NPHS1 0 +NR2C2AP 0 +NR2F6 0 +NTF4 0 +NTN5 0 +NUCB1-AS1 0 +NUMBL 0 +NUP62 14 +NXNL1 0 +ODF3L2 0 +OLFM2 1 +OPA3 0 +OR10H1 0 +OR7A10 0 +OR7A17 0 +OR7A5 0 +OR7C1 0 +OR7D4 0 +OR7G1 0 +OR7G2 0 +OR7G3 0 +OSCAR 0 +PAF1 0 +PAFAH1B3 1 +PALM3 0 +PBX4 0 +PCAT19 0 +PCP2 0 +PCSK4 2 +PDE4C 0 +PEG3 0 +PEPD 0 +PEX11G 0 +PGLYRP1 0 +PGLYRP2 0 +PHLDB3 0 +PIH1D1 0 +PIP5K1C 0 +PLA2G4C 2 +PLAUR 0 +PLEKHA4 0 +PLEKHJ1 0 +PLIN3 3 +PLIN4 0 +PLIN5 6 +PLVAP 0 +PNKP 0 +PNMAL1 0 +PNMAL2 0 +PODNL1 0 +POLR2E 0 +POLR2I 0 +POLRMT 0 +POU2F2 0 +PPAP2C 0 +PPP1R12C 0 +PPP1R13L 0 +PPP1R14A 0 +PPP5D1 0 +PPP6R1 0 +PRAM1 0 +PRDX2 1 +PRKACA 0 +PRKD2 2 +PRODH2 0 +PRR22 0 +PRSS57 0 +PRX 0 +PSG1 0 +PSG10P 1 +PSG11 0 +PSG2 0 +PSG3 0 +PSG4 0 +PSG5 0 +PSG6 0 +PSG7 0 +PSG8 0 +PSG9 0 +PSPN 0 +PTGER1 0 +PTGIR 0 +PTH2 0 +PTOV1-AS1 0 +PTPRH 1 +PTPRS 0 +R3HDM4 3 +RAB11B-AS1 0 +RAB3A 0 +RAB3D 0 +RABAC1 0 +RANBP3 0 +RASAL3 0 +RASGRP4 0 +RASIP1 0 +RAVER1 1 +RAX2 1 +RDH13 0 +REXO1 1 +RFX1 0 +RFX2 1 +RGL3 0 +RHPN2 1 +RINL 0 +RNF126 0 +RNU6-35P 0 +RNU6-64P 0 +RNU6-66P 0 +RPL18 3 +RPS16 23 +RRAS 0 +RSPH6A 0 +RTBDN 0 +RTN2 0 +S1PR2 0 +S1PR5 0 +SAFB2 0 +SAMD1 0 +SARS2 0 +SBK2 0 +SBK3 0 +SBNO2 1 +SBSN 0 +SCGB1B2P 0 +SCGB2B2 0 +SEMA6B 0 +SERTAD1 0 +SERTAD3 3 +SGTA 0 +SH2D3A 0 +SH3GL1 2 +SHANK1 0 +SHC2 0 +SHISA7 0 +SIGLEC10 2 +SIGLEC11 0 +SIGLEC12 0 +SIGLEC14 0 +SIGLEC5 0 +SIGLEC6 0 +SIGLEC8 0 +SIRT2 0 +SIRT6 0 +SIX5 0 +SLC17A7 1 +SLC1A5 13 +SLC1A6 0 +SLC25A23 0 +SLC25A41 0 +SLC27A5 0 +SLC35E1 0 +SLC39A3 0 +SLC6A16 0 +SLC7A10 0 +SLC7A9 0 +SLC8A2 3 +SMG9 0 +SMIM24 0 +SMIM7 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A14 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-B1 0 +SNAR-B2 0 +SNAR-D 0 +SNAR-E 0 +SNAR-G2 0 +SNORD37 0 +SNORD41 0 +SNORD88A 0 +SNORD88B 0 +SNORD88C 0 +SNRPD2 1 +SPACA6P-AS 0 +SPC24 0 +STAP2 0 +STRN4 0 +STX10 1 +SUGP1 0 +SUGP2 1 +SULT2A1 0 +SYCE2 0 +SYCN 0 +SYMPK 0 +SYNE4 0 +SYT3 0 +SYT5 0 +TARM1 0 +TBXA2R 0 +TCF3 5 +TEAD2 0 +TFPT 0 +TGFB1 0 +THAP8 0 +THEG 0 +TICAM1 1 +TIMM13 0 +TIMM44 4 +TINCR 0 +TLE2 0 +TM6SF2 0 +TMC4 0 +TMED1 0 +TMEM143 1 +TMEM150B 0 +TMEM160 0 +TMEM161A 0 +TMEM205 0 +TMEM221 0 +TMEM238 0 +TMEM259 0 +TMEM86B 0 +TMIGD2 0 +TNFSF14 0 +TNNI3 0 +TNNT1 0 +TNPO2 1 +TPRX1 0 +TRAPPC6A 1 +TRMT1 1 +TSHZ3 0 +TSKS 0 +TSSK6 0 +TTC9B 0 +TUBB4A 0 +TULP2 0 +TYK2 0 +TYROBP 0 +U2AF1L4 0 +UBE2M 0 +UBE2S 1 +UBXN6 3 +UNC13A 0 +UPK1A-AS1 0 +UQCR11 0 +UQCRFS1 1 +USHBP1 0 +VN1R1 0 +VN1R4 0 +VRK3 1 +VSIG10L 0 +VSTM1 0 +WASH5P 0 +WDR83OS 0 +WDR87 0 +WIZ 0 +XAB2 0 +XRCC1 1 +YIF1B 0 +YIPF2 0 +ZBTB45 0 +ZBTB7A 0 +ZC3H4 0 +ZFP14 2 +ZFP30 0 +ZFP82 0 +ZFR2 0 +ZGLP1 0 +ZIM2 5 +ZIM3 0 +ZNF100 0 +ZNF112 0 +ZNF121 2 +ZNF132 0 +ZNF14 1 +ZNF154 0 +ZNF160 4 +ZNF180 0 +ZNF20 0 +ZNF208 1 +ZNF229 6 +ZNF235 0 +ZNF256 1 +ZNF260 0 +ZNF266 0 +ZNF28 1 +ZNF285 2 +ZNF296 0 +ZNF30-AS1 0 +ZNF320 0 +ZNF321P 0 +ZNF329 2 +ZNF347 0 +ZNF350 1 +ZNF404 0 +ZNF414 0 +ZNF415 1 +ZNF416 0 +ZNF417 0 +ZNF418 0 +ZNF426 5 +ZNF428 1 +ZNF43 2 +ZNF432 0 +ZNF433 0 +ZNF44 1 +ZNF442 0 +ZNF443 2 +ZNF45 1 +ZNF461 0 +ZNF468 0 +ZNF490 1 +ZNF497 0 +ZNF506 3 +ZNF529 0 +ZNF541 0 +ZNF550 1 +ZNF552 1 +ZNF558 5 +ZNF560 0 +ZNF561 0 +ZNF562 3 +ZNF563 0 +ZNF564 0 +ZNF565 0 +ZNF566 0 +ZNF569 2 +ZNF571 4 +ZNF573 0 +ZNF577 1 +ZNF579 0 +ZNF582 0 +ZNF585A 4 +ZNF585B 0 +ZNF599 0 +ZNF600 2 +ZNF606 0 +ZNF607 2 +ZNF611 2 +ZNF614 1 +ZNF615 0 +ZNF616 1 +ZNF625 0 +ZNF625-ZNF20 0 +ZNF626 1 +ZNF649 1 +ZNF653 0 +ZNF665 0 +ZNF667 0 +ZNF671 0 +ZNF675 0 +ZNF676 1 +ZNF677 0 +ZNF681 0 +ZNF682 0 +ZNF699 0 +ZNF702P 0 +ZNF708 0 +ZNF709 1 +ZNF724P 0 +ZNF728 0 +ZNF737 0 +ZNF77 0 +ZNF772 3 +ZNF780A 0 +ZNF780B 0 +ZNF781 0 +ZNF784 0 +ZNF787 0 +ZNF790 0 +ZNF792 0 +ZNF799 6 +ZNF812 0 +ZNF814 5 +ZNF816 0 +ZNF816-ZNF321P 0 +ZNF823 0 +ZNF826P 0 +ZNF829 0 +ZNF83 2 +ZNF835 0 +ZNF836 0 +ZNF837 0 +ZNF841 1 +ZNF846 0 +ZNF850 3 +ZNF878 0 +ZNF91 2 +ZNF98 0 +ZNF99 0 +ZSCAN18 0 +ZSCAN5A 0 +ZSCAN5B 0 +SRSF10 0 +HYDIN2 0 +LOC102724558 0 +AAK1 0 +AAMP 0 +ABCA12 0 +ABCB11 0 +ABCB6 0 +ABCG5 0 +ACADL 0 +ACTR1B 0 +ACVR1 2 +ACVR1C 0 +ADAM17 2 +ADCY3 1 +ADD2 3 +ADI1 1 +ADRA2B 0 +AFF3 1 +AGBL5-AS1 0 +AHCTF1P1 0 +ALK 0 +ALS2 1 +ALS2CR11 0 +ALS2CR12 0 +AMMECR1L 3 +ANAPC1 0 +ANKMY1 0 +ANKRD20A8P 0 +ANKRD23 0 +ANKRD30BL 0 +ANKRD36B 0 +ANKRD39 0 +ANKRD44 0 +ANKRD44-IT1 0 +AP1S3 0 +APOB 0 +AQP12B 0 +ARL4C 15 +ARL5A 0 +ASB18 0 +ASB3 5 +ASPRV1 0 +ASTL 2 +ASXL2 5 +ATAD2B 0 +ATF2 4 +ATG9A 1 +ATL2 1 +ATP5G3 6 +ATP6V1B1-AS1 0 +ATP6V1E2 0 +AUP1 0 +BARD1 15 +BAZ2B 0 +BCL11A 0 +BIN1 0 +BMP10 0 +BOK-AS1 0 +BOLA3 0 +BOLL 0 +BRE-AS1 0 +BUB1 9 +C1D 0 +C1QL2 0 +C2orf27B 0 +C2orf42 3 +C2orf43 0 +C2orf44 6 +C2orf54 0 +C2orf61 0 +C2orf66 0 +C2orf68 0 +C2orf71 0 +C2orf76 1 +C2orf80 0 +C2orf81 0 +C2orf83 0 +C2orf91 0 +CACNB4 0 +CALCRL 0 +CALM2 73 +CAPG 0 +CAPN10-AS1 0 +CAPN13 1 +CAPN14 0 +CATIP-AS1 0 +CCDC108 0 +CCDC115 2 +CCDC121 0 +CCDC141 0 +CCDC142 0 +CCDC148 3 +CCDC173 1 +CCDC74B 0 +CCDC88A 11 +CCDC93 6 +CCNT2-AS1 0 +CCT4 0 +CD207 0 +CD302 0 +CD8A 0 +CD8B 0 +CDC42EP3 0 +CDKL4 0 +CEBPZ 2 +CERKL 3 +CERS6-AS1 0 +CFC1 0 +CFC1B 0 +CFLAR-AS1 0 +CGREF1 0 +CHMP3 17 +CHN1 0 +CHPF 0 +CHRNA1 0 +CHST10 3 +CIB4 0 +CIR1 36 +CKAP2L 3 +CLASP1 0 +CLEC4F 0 +CLHC1 0 +CLK1 3 +CMPK2 0 +CNPPD1 0 +CNRIP1 5 +COA5 1 +COBLL1 3 +COL4A4 0 +COL5A2 0 +COL6A3 0 +COX7A2L 7 +CREG2 0 +CRYBA2 0 +CRYGA 0 +CRYGB 0 +CRYGC 0 +CRYGD 0 +CUL3 0 +CWC22 2 +CXCR1 0 +CXCR2P1 0 +CXCR4 0 +CYP1B1 0 +CYP26B1 0 +CYP27C1 0 +CYP4F62P 0 +CYS1 0 +CYTIP 0 +DARS 7 +DBIL5P2 0 +DCTN1 3 +DDX11L2 0 +DGUOK-AS1 0 +DHX57 1 +DIRC1 0 +DIRC3 1 +DLX2 0 +DNAH7 0 +DNAJB3 0 +DNAJC27 0 +DNER 0 +DNMT3A 6 +DNPEP 0 +DOCK10 1 +DPP10-AS1 0 +DPP4 0 +DPY30 9 +DQX1 0 +DTNB 0 +DTYMK 0 +DUSP11 0 +DUSP2 0 +DYTN 0 +E2F6 0 +ECEL1 0 +ECEL1P2 0 +EDAR 3 +EFEMP1 0 +EGR4 0 +EIF2AK2 4 +EIF2AK3 1 +EIF2B4 1 +EN1 0 +EPHA4 3 +ERBB4 16 +ERCC3 2 +ERMN 0 +EVA1A 0 +EVX2 0 +EXOC6B 0 +FABP1 0 +FAHD2B 0 +FAM110C 0 +FAM124B 0 +FAM126B 1 +FAM136A 2 +FAM150B 0 +FAM161A 3 +FAM168B 6 +FAM178B 0 +FAM49A 0 +FAM95A 0 +FAM98A 1 +FANCL 3 +FAP 0 +FAR2P1 0 +FAR2P2 0 +FARSB 0 +FASTKD1 1 +FBXO11 2 +FBXO41 0 +FBXO48 0 +FEV 0 +FEZ2 41 +FHL2 0 +FIGLA 0 +FIGN 0 +FKBP7 0 +FLJ31356 0 +FLJ33534 0 +FLJ42351 0 +FLJ43879 0 +FN1 26 +FNDC4 0 +FOXI3 0 +FRZB 0 +FSHR 0 +FTCDNL1 0 +FTH1P3 0 +FZD5 0 +GALNT14 0 +GALNT3 2 +GBX2 0 +GCFC2 0 +GCG 0 +GCSHP3 0 +GFPT1 6 +GGCX 1 +GKN2 0 +GLB1L 2 +GPAT2 0 +GPR1 1 +GPR113 0 +GPR155 0 +GPR55 0 +GPR75 0 +GPR75-ASB3 0 +GRB14 0 +GTDC1 0 +GTF3C2 9 +GTF3C3 0 +HAAO 0 +HADHA 1 +HAGLR 0 +HDAC4 1 +HDLBP 5 +HEATR5B 0 +HECW2 0 +HES6 4 +HIBCH 3 +HJURP 44 +HNRNPLL 0 +HOXD-AS2 0 +HS1BP3 0 +HS1BP3-IT1 0 +HS6ST1 0 +HSPD1 4 +HTR2B 0 +ICA1L 3 +ID2-AS1 0 +IDH1 8 +IFIH1 0 +IFT172 0 +IGFBP5 0 +IHH 0 +IKZF2 0 +IL1A 0 +IL1B 0 +IL36B 0 +ILKAP 3 +IMMT 10 +INO80D 2 +IQCA1 20 +IRS1 0 +ITGB1BP1 1 +ITGB6 0 +ITSN2 3 +IWS1 124 +KANSL1L 0 +KANSL3 2 +KCNG3 0 +KCNH7 0 +KCNJ13 0 +KCNK12 0 +KCTD18 0 +KIAA1211L 0 +KIAA1715 0 +KIDINS220 6 +KIF1A 0 +KIF3C 3 +KLF7 1 +KRCC1 0 +LANCL1 0 +LAPTM4A 13 +LBX2 0 +LCT 0 +LHCGR 0 +LIMS2 0 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00116 0 +LINC00211 0 +LINC00276 0 +LINC00298 0 +LINC00299 2 +LINC00309 0 +LINC00342 0 +LINC00471 0 +LINC00487 0 +LINC00607 0 +LINC01101 0 +LINC01103 0 +LINC01106 0 +LINC01107 0 +LINC01114 0 +LINC01115 0 +LINC01116 0 +LINC01121 0 +LINC01123 0 +LINC01124 0 +LINC01158 0 +LINC01159 0 +LINC01185 0 +LINC01246 0 +LINC01247 0 +LINC01248 0 +LINC01249 0 +LINC01250 0 +LINC01280 0 +LINC01304 0 +LINC01473 0 +LINC01494 0 +LMAN2L 0 +LOC100129434 0 +LOC100130451 0 +LOC100130452 0 +LOC100130691 0 +LOC100132215 1 +LOC100133985 0 +LOC100144595 0 +LOC100286922 0 +LOC100287010 0 +LOC100288570 0 +LOC100288911 0 +LOC100499194 0 +LOC100505716 0 +LOC100505736 0 +LOC100505984 0 +LOC100506076 0 +LOC100506123 0 +LOC100506124 0 +LOC100506142 0 +LOC100506474 0 +LOC100507140 0 +LOC100507201 0 +LOC100630918 0 +LOC101060091 0 +LOC101060385 0 +LOC101926913 0 +LOC101927043 0 +LOC101927142 0 +LOC101927196 0 +LOC101927438 0 +LOC101927492 0 +LOC101927577 0 +LOC101927619 0 +LOC101927701 0 +LOC101927709 0 +LOC101927795 0 +LOC101927865 0 +LOC101927967 0 +LOC101927987 0 +LOC101928273 0 +LOC101929260 0 +LOC101929319 0 +LOC101929378 0 +LOC101929452 0 +LOC101929512 0 +LOC101929551 0 +LOC101929567 0 +LOC101929596 0 +LOC101929723 0 +LOC101929753 0 +LOC102723824 0 +LOC102723854 1 +LOC102724321 0 +LOC102724691 0 +LOC151121 0 +LOC151174 0 +LOC151475 0 +LOC200772 0 +LOC285000 0 +LOC285074 0 +LOC339803 1 +LOC375196 1 +LOC389033 0 +LOC400958 0 +LOC400997 0 +LOC401010 0 +LOC440895 0 +LOC442028 0 +LOC644838 0 +LOC645949 0 +LOC646743 0 +LOC654342 0 +LOC654841 0 +LOC728819 0 +LOC90784 0 +LONRF2 0 +LOXL3 3 +LRP1B 1 +LRP2 0 +LRPPRC 0 +LRRTM1 0 +LRRTM4 8 +LY75 0 +LY75-CD302 0 +LYG1 0 +LYG2 0 +LYPD1 10 +M1AP 0 +MALL 0 +MAP3K19 0 +MAP3K2 0 +MAP4K3 6 +MARCH4 7 +MATN3 0 +MBOAT2 2 +MCEE 0 +MCFD2 0 +MCM6 2 +MDH1B 0 +MEIS1-AS3 0 +MEMO1 1 +METTL21A 3 +METTL5 1 +METTL8 1 +MFSD9 0 +MGAT4A 2 +MGC16025 0 +MIR1245B 0 +MIR1246 0 +MIR1258 0 +MIR1301 0 +MIR1471 0 +MIR153-1 0 +MIR216A 0 +MIR216B 0 +MIR217 0 +MIR2355 0 +MIR2467 0 +MIR3128 0 +MIR3129 0 +MIR3130-1 0 +MIR3131 0 +MIR3132 0 +MIR3682 0 +MIR375 0 +MIR4261 0 +MIR4262 0 +MIR4264 0 +MIR4265 0 +MIR4266 0 +MIR4267 0 +MIR4268 0 +MIR4429 0 +MIR4432 0 +MIR4435-1 0 +MIR4435-1HG 0 +MIR4435-2 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4437 0 +MIR4439 0 +MIR4440 0 +MIR4441 0 +MIR4773-2 0 +MIR4776-2 0 +MIR4778 0 +MIR4779 0 +MIR4780 0 +MIR4782 0 +MIR4783 0 +MIR4784 0 +MIR4785 0 +MIR4786 0 +MIR5001 0 +MIR548AD 0 +MIR548F2 0 +MIR5702 0 +MIR6071 0 +MIR6512 0 +MIR6513 0 +MIR663B 0 +MIR6809 0 +MIR7515HG 0 +MIR7853 0 +MIR8080 0 +MIR933 0 +MITD1 1 +MLK7-AS1 1 +MMADHC 0 +MOB1A 4 +MOGS 0 +MPP4 0 +MPV17 0 +MREG 0 +MRPL53 1 +MRPS5 2 +MSL3P1 0 +MSTN 0 +MTERF4 0 +MTIF2 4 +MYADML 0 +MYCNOS 0 +MYEOV2 0 +MYL1 0 +MYT1L 0 +MZT2A 0 +NAT8 0 +NAT8B 0 +NBAS 4 +NCKAP1 2 +NCKAP5 0 +NCL 11 +NDUFA10 1 +NDUFS1 0 +NEB 2 +NEURL3 0 +NEUROD1 0 +NFE2L2 3 +NFU1 0 +NGEF 2 +NHEJ1 0 +NIFK 4 +NLRC4 0 +NMI 0 +NMUR1 0 +NOL10 3 +NPHP1 0 +NPPC 0 +NR4A2 0 +NRXN1 2 +NT5C1B 0 +NT5C1B-RDH14 0 +NTSR2 0 +NXPH2 0 +OBSL1 0 +ODC1 33 +OLA1 1 +OR6B2 0 +OR6B3 0 +ORC2 3 +ORC4 3 +ORMDL1 1 +OSGEPL1 0 +OSR1 1 +OST4 0 +OTOF 0 +OTOS 0 +OXER1 0 +PAIP2B 1 +PASK 4 +PAX3 0 +PAX8 0 +PCBP1-AS1 0 +PCGF1 11 +PDCD1 0 +PDE11A 0 +PDE1A 0 +PDE6D 0 +PDIA6 0 +PECR 1 +PELI1 1 +PER2 9 +PFN4 0 +PGAP1 0 +PGM5P3-AS1 0 +PGM5P4-AS1 0 +PID1 0 +PIGF 0 +PLA2R1 0 +PLEKHM3 1 +PLGLB1 0 +PLGLB2 0 +PNPT1 0 +POLR1A 0 +POLR2D 3 +POMC 0 +POTEF 0 +POTEI 0 +PP14571 0 +PPIL3 0 +PPM1G 5 +PPP3R1 1 +PRADC1 0 +PREB 5 +PREPL 15 +PRKAG3 0 +PRKD3 0 +PRKRA 1 +PRPF40A 79 +PRR21 0 +PRR30 0 +PSME4 3 +PTPRN 0 +PTRHD1 1 +PUM2 2 +PUS10 0 +PXDN 4 +RAB11FIP5 2 +RAB17 0 +RAB1A 8 +RAB6C-AS1 0 +RAD51AP2 0 +RAPGEF4-AS1 0 +RAPH1 0 +RBKS 0 +RBM43 0 +RBMS1 1 +RDH14 0 +REEP1 0 +REG1B 0 +REG1P 0 +REG3A 0 +RESP18 0 +RETSAT 0 +REV1 19 +RFTN2 0 +RFX8 0 +RGPD1 0 +RGPD2 0 +RGPD3 0 +RGPD4-AS1 0 +RGPD5 0 +RGPD6 0 +RGPD8 0 +RMDN2-AS1 0 +RNASEH1 2 +RND3 0 +RNF103 0 +RNF103-CHMP3 0 +RNF144A-AS1 0 +RNF149 1 +RNF25 0 +RNU6-2 0 +ROCK2 0 +RPL23AP7 0 +RPRM 0 +RTKN 0 +RTN4 4 +SAP130 11 +SATB2 1 +SCG2 1 +SCN1A 0 +SCN3A 0 +SCN7A 0 +SCN9A 0 +SCTR 0 +SDC1 0 +SDPR 1 +SEMA4C 0 +SEPT10 1 +SERPINE2 1 +SERTAD2 0 +SESTD1 3 +SF3B1 10 +SF3B6 2 +SFTPB 0 +SFXN5 0 +SH3RF3-AS1 0 +SH3YL1 1 +SIX2 0 +SIX3-AS1 0 +SLC16A14 0 +SLC19A3 0 +SLC23A3 0 +SLC25A12 1 +SLC30A3 1 +SLC35F5 0 +SLC38A11 0 +SLC40A1 0 +SLC4A5 1 +SLC5A6 4 +SLC8A1 2 +SMC6 3 +SMEK2 2 +SMPD4 0 +SNAR-H 0 +SNORA36C 0 +SNORA70B 0 +SNORA70F 0 +SNORA75 0 +SNORA80B 0 +SNORD20 0 +SNORD82 0 +SNORD89 0 +SNRNP200 2 +SNRPG 2 +SOS1 0 +SP110 0 +SP3 3 +SPATA3-AS1 0 +SPC25 0 +SPHKAP 0 +SPRED2 0 +SRBD1 0 +SRD5A2 0 +SRSF7 5 +ST3GAL5 0 +ST6GAL2 0 +STAM2 0 +STARD7 15 +STAT1 2 +STAT4 0 +STK17B 1 +STK25 2 +STK39 2 +STRN 0 +SUCLG1 2 +SULT6B1 0 +SUMO1 3 +SUPT7L 2 +TACR1 0 +TBC1D8 0 +TEX261 0 +TFCP2L1 0 +TFPI 0 +TGFA 1 +TGFA-IT1 0 +TGFBRAP1 3 +TGOLN2 1 +THADA 0 +THAP4 0 +THUMPD2 0 +TIA1 0 +TIGD1 0 +TISP43 0 +TLK1 1 +TM4SF20 0 +TMBIM1 10 +TMEFF2 0 +TMEM127 1 +TMEM131 1 +TMEM150A 0 +TMEM163 1 +TMEM17 0 +TMEM18 1 +TMEM185B 2 +TMEM194B 2 +TMEM237 0 +TNP1 0 +TNS1 0 +TP53I3 0 +TPRKB 1 +TRABD2A 0 +TRAK2 1 +TRIM43B 0 +TRIP12 24 +TRMT61B 0 +TSGA10 0 +TSPYL6 0 +TSSC1 3 +TTC21B 0 +TTC30A 0 +TTC30B 0 +TTC32 0 +TTN 0 +TUBA3E 0 +TUBA4A 22 +TXNDC9 5 +TYW5 0 +UCN 0 +USP34 15 +USP37 0 +USP40 0 +UXS1 2 +VPS54 0 +WDFY1 29 +WDPCP 0 +WDR12 4 +WDR33 2 +WDR35 2 +WDR92 3 +WDSUB1 0 +WIPF1 0 +WTH3DI 1 +XDH 0 +XIRP2-AS1 0 +XPO1 1 +YWHAQ 22 +ZC3H8 5 +ZEB2 0 +ZFP36L2 0 +ZNF142 1 +ZNF385B 0 +ZNF513 3 +ZNF514 0 +ZRANB3 0 +ZSWIM2 0 +ABHD12 0 +ACOT8 0 +ACSS1 0 +ADA 2 +ADAM33 0 +ADNP 1 +ADRA1D 0 +AHCY 3 +ANGPT4 0 +APCDD1L 0 +APMAP 1 +ARFRP1 0 +ATP5E 0 +ATP9A 4 +AURKA 183 +AVP 0 +B4GALT5 3 +BCAS1 0 +BCL2L1 1 +BFSP1 0 +BHLHE23 0 +BLCAP 15 +BMP7 0 +C20orf166-AS1 0 +C20orf173 0 +C20orf194 3 +C20orf203 0 +C20orf27 0 +C20orf62 0 +C20orf78 0 +C20orf96 2 +CABLES2 3 +CBLN4 1 +CD93 0 +CDH22 0 +CDK5RAP1 0 +CENPB 0 +CHD6 6 +CHRNA4 0 +COMMD7 2 +CPNE1 1 +CPXM1 0 +CRNKL1 3 +CSNK2A1 3 +CST1 0 +CST11 0 +CST2 0 +CST3 0 +CST4 0 +CST5 0 +CST9 0 +CST9L 0 +CTCFL 3 +CTSZ 0 +CYP24A1 0 +DDRGK1 0 +DEFB116 0 +DEFB119 0 +DEFB121 0 +DEFB122 0 +DEFB124 0 +DEFB128 0 +DIDO1 2 +DPM1 1 +DSN1 14 +DUSP15 0 +DZANK1 0 +E2F1 1 +EDEM2 0 +EEF1A2 0 +EIF2S2 3 +EIF6 1 +ELMO2 10 +EMILIN3 0 +EPPIN 0 +EPPIN-WFDC6 0 +ESF1 11 +FAM182B 0 +FAM65C 5 +FAM83C 0 +FASTKD5 0 +FER1L4 1 +FERMT1 1 +FITM2 0 +FKBP1A 6 +FKBP1A-SDCBP2 0 +FLRT3 0 +FOXA2 0 +FOXS1 0 +GATA5 0 +GCNT7 0 +GDF5 0 +GFRA4 0 +GGT7 0 +GGTLC1 0 +GHRH 0 +GMEB2 1 +GNAS-AS1 0 +GPCPD1 3 +GSS 0 +GTSF1L 1 +HAO1 0 +HAR1B 0 +HELZ2 0 +HM13-AS1 0 +HMGB3P1 0 +HNF4A-AS1 0 +HRH3 0 +IDH3B 1 +ISM1-AS1 0 +JAG1 10 +JPH2 0 +KCNB1 0 +KCNG1 0 +KCNQ2 0 +KCNS1 0 +KIAA1755 0 +KIF16B 2 +LAMA5 1 +LAMP5-AS1 0 +LINC00029 0 +LINC00261 0 +LINC00489 0 +LINC00652 0 +LINC00654 0 +LINC00656 0 +LINC00657 0 +LINC00658 0 +LINC00659 0 +LINC00687 0 +LINC01260 0 +LINC01271 0 +LINC01384 0 +LINC01427 0 +LINC01428 0 +LINC01429 0 +LINC01430 0 +LINC01431 0 +LINC01441 0 +LKAAEAR1 0 +LOC100130264 0 +LOC100289473 0 +LOC100506384 0 +LOC100507459 0 +LOC101926889 0 +LOC101926935 0 +LOC101926987 0 +LOC101927457 0 +LOC101927559 0 +LOC101928048 0 +LOC101929207 0 +LOC101929225 0 +LOC101929413 0 +LOC101929486 0 +LOC101929526 0 +LOC101929591 0 +LOC101929608 0 +LOC102606466 0 +LOC102723483 0 +LOC284788 0 +LOC284798 0 +LOC339568 0 +LOC339593 0 +LRRN4 0 +LZTS3 0 +MACROD2-AS1 0 +MAFB 0 +MATN4 0 +MIR103B2 0 +MIR1257 0 +MIR1914 0 +MIR296 0 +MIR298 0 +MIR3194 0 +MIR4325 0 +MIR4756 0 +MIR4758 0 +MIR499B 0 +MIR647 0 +MIR663A 0 +MIR663AHG 0 +MIR6813 0 +MIR6869 0 +MIR6870 0 +MKKS 0 +MKRN7P 0 +MLLT10P1 0 +MMP24-AS1 0 +MROH8 0 +MTRNR2L3 0 +NANP 0 +NAPB 0 +NCOA5 1 +NCOA6 13 +NCOR1P1 0 +NDRG3 4 +NECAB3 0 +NEURL2 0 +NFATC2 0 +NFS1 0 +NINL 0 +NKAIN4 0 +NKX2-2 0 +NKX2-4 0 +NOL4L 3 +NPBWR2 0 +NSFL1C 2 +OCSTAMP 0 +OGFR-AS1 0 +OSER1 3 +OVOL2 0 +PAK7 0 +PCED1A 0 +PCNA 158 +PDRG1 4 +PDYN 0 +PIGU 6 +PLAGL2 9 +PLCG1-AS1 0 +PLTP 0 +PMEPA1 0 +PPP1R3D 9 +PPP4R1L 0 +PREX1 7 +PRNT 0 +PROKR2 0 +PSMA7 18 +PTGIS 0 +PTK6 0 +PTPRT 0 +PXMP4 0 +RALGAPA2 0 +RALY-AS1 0 +RASSF2 0 +RBBP8NL 0 +RBBP9 0 +RBL1 0 +RBM12 3 +RBM39 3 +RGS19 0 +RIMS4 0 +RNF24 10 +RRBP1 2 +RSPO4 0 +SALL4 3 +SAMD10 0 +SAMHD1 4 +SCAND1 0 +SCRT2 0 +SDC4 0 +SDCBP2 0 +SEL1L2 0 +SERINC3 10 +SIGLEC1 0 +SIRPB1 0 +SIRPB2 0 +SIRPD 0 +SIRPG 0 +SLA2 1 +SLC13A3 2 +SLC23A2 0 +SLC35C2 0 +SLC4A11 1 +SLC52A3 0 +SLCO4A1-AS1 0 +SLMO2 0 +SLMO2-ATP5E 0 +SLPI 0 +SNAP25-AS1 0 +SNHG17 1 +SNORA71A 0 +SNORA71B 0 +SNORA71C 0 +SNORA71D 0 +SNORD119 0 +SNORD17 0 +SNRPB 1 +SNTA1 0 +SNX5 12 +SOGA1 0 +SOX18 0 +SPATA2 6 +SPATA25 0 +SPEF1 0 +SPINT3 0 +SRMS 0 +SRXN1 1 +STAU1 28 +STK4-AS1 0 +STMN3 0 +SULF2 1 +SUMO1P1 0 +SUN5 0 +SYCP2 14 +TAF4 0 +TASP1 1 +TBC1D20 0 +TCF15 2 +TCFL5 2 +TGM2 0 +THBD 0 +TMEM189 0 +TMEM189-UBE2V1 0 +TMEM230 1 +TMEM74B 0 +TMX4 2 +TNNC2 0 +TOMM34 3 +TP53RK 0 +TP53TG5 0 +TRERNA1 0 +TRMT6 6 +TRPC4AP 6 +TSPY26P 0 +TTI1 0 +UBE2V1 10 +UBOX5 0 +UCKL1 0 +UQCC1 0 +VSX1 0 +WFDC10B 0 +WFDC11 0 +WFDC12 0 +WFDC3 0 +WFDC5 0 +WFDC6 0 +WFDC8 0 +WFDC9 0 +YTHDF1 12 +ZBP1 0 +ZBTB46 0 +ZFP64 0 +ZHX3 11 +ZMYND8 12 +ZNF217 0 +ZNF334 0 +ZNF335 0 +ZNF337 1 +ZNF341-AS1 0 +ZNF343 2 +ZNF512B 0 +ZNF663P 1 +ZNFX1 1 +ADAMTS1 0 +ADAMTS5 0 +ANKRD20A11P 0 +APP 0 +ATP5J 2 +ATP5O 2 +BAGE 0 +BAGE2 0 +BAGE3 0 +BAGE4 0 +BAGE5 0 +BRWD1 11 +BTG3 0 +C21orf128 0 +C21orf140 0 +C21orf2 0 +C21orf54 0 +C21orf58 0 +C21orf59 17 +C21orf62 0 +C21orf67 0 +C21orf88 0 +C21orf91 0 +C21orf91-OT1 0 +C2CD2 0 +CBR3-AS1 0 +CBS 0 +CCT8 23 +CHODL-AS1 0 +CLDN14 0 +CLDN17 0 +CLDN8 0 +COL18A1-AS1 0 +COL18A1-AS2 0 +CRYZL1 1 +CSTB 23 +CYP4F29P 0 +CYYR1 0 +D21S2088E 0 +DNAJC28 0 +DNMT3L 0 +DONSON 0 +DSCAM 0 +DSCAM-IT1 0 +DSCR3 2 +DSCR4 0 +ERG 0 +FTCD 0 +GART 1 +GRIK1 0 +HLCS 1 +HMGN1 2 +HSF2BP 0 +HSPA13 0 +ICOSLG 0 +IL10RB-AS1 0 +ITGB2 0 +KCNE1 2 +KCNJ6 0 +KRTAP10-1 0 +KRTAP10-2 0 +KRTAP10-3 0 +KRTAP10-5 0 +KRTAP10-6 0 +KRTAP11-1 0 +KRTAP12-1 0 +KRTAP12-2 0 +KRTAP12-4 0 +KRTAP13-2 0 +KRTAP13-3 0 +KRTAP19-1 0 +KRTAP19-2 0 +KRTAP19-3 0 +KRTAP19-4 0 +KRTAP19-5 0 +KRTAP19-6 0 +KRTAP19-7 0 +KRTAP19-8 0 +KRTAP21-1 0 +KRTAP21-2 0 +KRTAP21-3 0 +KRTAP22-2 0 +KRTAP23-1 0 +KRTAP24-1 0 +KRTAP25-1 0 +KRTAP26-1 0 +KRTAP27-1 0 +KRTAP6-1 0 +KRTAP6-2 0 +KRTAP7-1 0 +KRTAP8-1 0 +LCA5L 1 +LINC00114 0 +LINC00158 0 +LINC00159 0 +LINC00160 0 +LINC00162 0 +LINC00163 0 +LINC00307 0 +LINC00313 0 +LINC00316 0 +LINC00317 0 +LINC00320 0 +LINC00322 0 +LINC00323 0 +LINC00479 0 +LINC00515 0 +LINC01423 0 +LIPI 0 +LOC100129027 0 +LOC100133286 0 +LOC100506403 0 +LOC101927797 0 +LOC101927843 0 +LOC101927869 0 +LOC101928107 0 +LOC101928269 0 +LOC101928435 0 +LOC284837 0 +LOC388813 0 +LOC400867 0 +LRRC3-AS1 0 +LSS 3 +LTN1 1 +MCM3AP 4 +MIR3156-3 0 +MIR4327 0 +MIR4760 0 +MIR5009 0 +MIR6070 0 +MIR6814 0 +MIS18A 25 +MRPL39 1 +N6AMT1 0 +NRIP1 0 +PAXBP1 1 +PIGP 1 +PLAC4 0 +POFUT2 1 +PRDM15 1 +PSMG1 10 +PTTG1IP 17 +RCAN1 2 +RIPK4 0 +RSPH1 0 +RUNX1 0 +RUNX1-IT1 0 +RWDD2B 0 +S100B 0 +SAMSN1 0 +SCAF4 0 +SETD4 0 +SIK1 0 +SLC19A1 1 +SNORA80A 0 +SPATC1L 0 +SSR4P1 0 +SUMO3 0 +SYNJ1 4 +TCP10L 0 +TEKT4P2 0 +TFF1 0 +TFF2 0 +TFF3 0 +TIAM1 39 +TMEM50B 3 +TMPRSS15 0 +TMPRSS2 0 +TMPRSS3 0 +TPTE 0 +TRPM2-AS 0 +TSPEAR 0 +U2AF1 1 +UBE2G2 1 +URB1 0 +WDR4 0 +ZBTB21 2 +A4GALT 2 +ADORA2A-AS1 0 +ALG12 1 +ANKRD54 0 +ANKRD62P1-PARP4P3 0 +AP1B1 1 +APOBEC3B-AS1 0 +APOL2 0 +APOL3 0 +APOL4 0 +ARFGAP3 2 +ARSA 0 +ARVCF 0 +ASCC2 2 +ATP5L2 0 +ATP6V1E1 1 +BAIAP2L2 0 +BID 0 +BPIFC 0 +BRD1 2 +C1QTNF6 2 +C22orf23 0 +C22orf24 0 +C22orf29 1 +C22orf31 0 +C22orf34 0 +C22orf39 0 +C22orf42 0 +CACNG2 0 +CARD10 0 +CBX6 0 +CBX7 0 +CCT8L2 0 +CDPF1 0 +CECR1 0 +CECR3 0 +CECR5 0 +CECR6 0 +CELSR1 4 +CENPM 0 +CERK 0 +CES5AP1 0 +CHADL 0 +CHCHD10 0 +CHEK2 0 +CHKB 0 +CHKB-CPT1B 0 +CLDN5 0 +CLTCL1 1 +CPT1B 0 +CRYBB1 0 +CSNK1E 7 +CYB5R3 0 +CYP2D6 0 +CYP2D7P 0 +DDT 0 +DDX17 3 +DENND6B 0 +DERL3 1 +DESI1 0 +DGCR11 0 +DGCR14 1 +DGCR2 0 +DGCR6L 0 +DMC1 0 +DNAJB7 0 +DNAL4 2 +DRICH1 0 +DUSP18 1 +DUXAP8 0 +EFCAB6 2 +EIF3D 0 +EIF4ENIF1 16 +ELFN2 0 +ENTHD1 0 +EP300-AS1 0 +FAM227A 1 +FOXRED2 0 +GAB4 0 +GAL3ST1 0 +GATSL3 0 +GGT3P 0 +GGT5 0 +GNB1L 0 +GSC2 0 +GSTT1 0 +GSTT2 0 +GSTT2B 0 +GSTTP1 0 +GSTTP2 0 +GTSE1-AS1 0 +GUCD1 4 +GUSBP11 0 +HDAC10 0 +HIRA 1 +HORMAD2-AS1 0 +HPS4 3 +IFT27 0 +IGLL1 0 +IL17REL 0 +IL2RB 0 +JOSD1 0 +KCNJ4 0 +KIAA0930 0 +KIAA1644 0 +KIAA1656 0 +KLHL22 0 +LARGE 0 +LDOC1L 1 +LGALS2 0 +LIF 0 +LINC00229 0 +LINC00895 0 +LINC00898 0 +LINC00899 0 +LINC01315 0 +LMF2 0 +LOC100128531 0 +LOC100506271 0 +LOC101927051 1 +LOC101927722 3 +LOC101929372 0 +LOC101929829 0 +LOC284865 0 +LOC284889 0 +LOC284933 0 +LOC388849 0 +LOC388882 0 +LOC400927 0 +LOC642757 0 +LOC90834 0 +LRP5L 0 +LRRC75B 0 +MAPK1 0 +MAPK11 0 +MAPK12 0 +MB 0 +MCAT 0 +MFNG 0 +MICAL3 0 +MIR1249 0 +MIR1286 0 +MIR3198-1 0 +MIR3199-1 0 +MIR3653 0 +MIR3928 0 +MIR4764 0 +MIR4766 0 +MIR548J 0 +MIR6069 0 +MIR648 0 +MIR658 0 +MIR659 0 +MIR6816 0 +MIR6819 0 +MIR6889 0 +MIR7109 0 +MKL1 2 +MLC1 0 +MN1 0 +MORC2 0 +MYH9 1 +NAGA 0 +NDUFA6 1 +NFAM1 0 +NHP2L1 0 +NIPSNAP1 0 +NPTXR 0 +NUP50-AS1 0 +ODF3B 0 +OR11H1 0 +OSM 0 +P2RX6P 0 +PACSIN2 3 +PATZ1 1 +PDGFB 0 +PES1 0 +PHF21B 0 +PHF5A 2 +PI4KA 0 +PI4KAP1 0 +PI4KAP2 0 +PIK3IP1 0 +PISD 0 +PITPNB 2 +PIWIL3 1 +PKDREJ 0 +PLA2G3 0 +PLA2G6 0 +PLXNB2 0 +PMM1 0 +PNPLA5 0 +POLDIP3 3 +POLR3H 1 +POM121L10P 0 +POM121L1P 0 +POTEH 0 +PPM1F 1 +PRAME 0 +PRODH 0 +PRR14L 14 +PRR34 0 +PVALB 0 +RABL2B 0 +RAC2 4 +RANGAP1 6 +RASL10A 0 +RBFOX2 2 +RFPL1S 0 +RFPL2 0 +RFPL3S 0 +RHBDD3 0 +RIMBP3 0 +RIMBP3B 0 +RIMBP3C 0 +RNF215 0 +RNU86 0 +RPL3 10 +RPS19BP1 0 +RRP7A 1 +RRP7B 0 +RTCB 4 +RTDR1 0 +RTN4R 0 +SBF1 0 +SCARF2 0 +SCO2 0 +SCUBE1 2 +SDC4P 0 +SEC14L3 0 +SEC14L4 0 +SEC14L6 0 +SELM 0 +SF3A1 3 +SHISA8 0 +SLC16A8 0 +SLC25A1 0 +SLC25A17 0 +SLC5A4 0 +SLC7A4 0 +SMC1B 2 +SNORD125 0 +SNORD43 0 +SNORD83A 3 +SNORD83B 0 +SOX10 0 +SSTR3 0 +ST13 4 +SULT4A1 1 +SUN2 0 +SYCE3 0 +SYN3 0 +TBC1D10A 3 +TCF20 4 +TEX33 0 +TFIP11 3 +THAP7 0 +THOC5 0 +TMEM184B 4 +TMEM211 0 +TMPRSS6 0 +TNFRSF13C 0 +TOB2 1 +TOP3B 0 +TPST2 0 +TRMT2A 0 +TST 0 +TTC28 2 +TTLL1 0 +TTLL12 3 +TUBA3FP 0 +TUBGCP6 0 +TXN2 8 +TXNRD2 0 +TYMP 0 +UFD1L 0 +VPREB3 0 +WNT7B 0 +XBP1 0 +XKR3 0 +YDJC 0 +YPEL1 5 +ZDHHC8P1 0 +ZMAT5 0 +ZNF280A 0 +ZNF280B 22 +ZNF70 0 +ZNRF3-AS1 0 +A4GNT 0 +AADACL2-AS1 0 +ABCC5 1 +ABHD14B 0 +ABI3BP 0 +ACAA1 0 +ACAD11 0 +ACAP2 1 +ACOX2 0 +ACTR8 0 +ACTRT3 0 +ACVR2B-AS1 0 +ADAMTS9 3 +ADCY5 2 +ADIPOQ-AS1 0 +ALDH1L1 1 +ALG1L 0 +ALG3 0 +ALS2CL 0 +AMIGO3 0 +AMOTL2 0 +AMT 0 +ANAPC13 0 +ANKRD18DP 0 +ANKRD28 0 +ANKUB1 0 +ANO10 5 +APOD 0 +ARF4 4 +ARHGAP31-AS1 0 +ARHGEF26-AS1 0 +ARHGEF3 5 +ARIH2OS 0 +ASB14 0 +ASTE1 1 +ATG3 1 +ATP13A3 11 +ATP13A4 0 +ATP13A5 0 +ATP2B2 0 +ATP2B2-IT2 0 +ATR 3 +AZI2 2 +B3GALNT1 3 +B4GALT4 0 +BAP1 0 +BCHE 0 +BCL6 0 +BDH1 0 +BSN-AS2 0 +BTLA 0 +C3orf17 16 +C3orf18 0 +C3orf22 0 +C3orf27 0 +C3orf33 0 +C3orf36 0 +C3orf62 0 +C3orf67 0 +C3orf70 0 +C3orf84 0 +CACNA2D2 2 +CACNA2D3-AS1 0 +CADM2-AS2 0 +CADPS 0 +CAMK1 0 +CAMK2N2 0 +CAMKV 0 +CBLB 0 +CCDC12 0 +CCDC13 0 +CCDC14 1 +CCDC37-AS1 0 +CCDC39 4 +CCDC51 0 +CCDC58 0 +CCDC71 0 +CCDC80 0 +CCK 0 +CCNL1 0 +CCR1 0 +CD200R1 0 +CD200R1L 0 +CD47 0 +CD80 0 +CDC25A 6 +CDCP1 0 +CDHR4 0 +CELSR3 0 +CEP19 0 +CEP70 0 +CFAP44 0 +CGGBP1 0 +CHCHD4 0 +CHDH 0 +CHL1-AS1 0 +CIDEC 0 +CIDECP 0 +CISH 1 +CLASP2 2 +CLCN2 0 +CLDN1 0 +CLDND1 6 +CLRN1 0 +CLSTN2-AS1 0 +CMTM6 5 +CNBP 34 +CNTN3 0 +CNTN4-AS1 0 +CNTN4-AS2 0 +COL6A4P1 0 +COL7A1 0 +COLQ 0 +COMMD2 0 +COPB2 10 +COX17 0 +CP 0 +CPN2 0 +CPNE4 1 +CPOX 0 +CRBN 1 +CRYGS 0 +CSPG5 0 +CSRNP1 0 +CX3CR1 0 +CYP8B1 0 +DALRD3 0 +DAZL 6 +DBR1 0 +DCBLD2 2 +DCLK3 0 +DCP1A 31 +DCUN1D1 2 +DENND6A 0 +DGKG 0 +DHFRL1 0 +DHX36 4 +DLG1 6 +DNAH12 0 +DNAJB8 0 +DNAJC19 3 +DNASE1L3 0 +DPH3 1 +DPPA2 0 +DPPA2P3 0 +DPPA4 0 +DRD3 0 +DUSP7 6 +DYNC1LI1 0 +DZIP1L 0 +EFCAB12 1 +EFHB 0 +EGOT 0 +EHHADH 0 +EIF1B-AS1 1 +EIF4E3 0 +EIF5A2 0 +ELP6 1 +EMC3 5 +ENTPD3-AS1 0 +EOGT 2 +EOMES 0 +EPM2AIP1 1 +ERC2 2 +ERC2-IT1 0 +ERICH6 0 +ESRG 1 +ETV5 7 +FAM107A 0 +FAM19A4 3 +FAM208A 5 +FAM3D 0 +FAM86DP 0 +FAM86HP 0 +FANCD2OS 0 +FEZF2 0 +FGD5-AS1 0 +FGF12 0 +FHIT 2 +FILIP1L 0 +FLJ46066 0 +FOXL2 0 +FOXP1 2 +FRMD4B 6 +FSTL1 0 +FYCO1 0 +GABRR3 0 +GADL1 0 +GATA2 0 +GBE1 0 +GCSAM 0 +GHRL 0 +GHSR 0 +GK5 0 +GLB1 2 +GLT8D1 1 +GLYCTK-AS1 0 +GMNC 0 +GMPPB 0 +GNB4 8 +GOLGB1 0 +GOLIM4 0 +GORASP1 3 +GP5 0 +GPR149 0 +GPR156 0 +GPR171 0 +GPR87 0 +GPX1 0 +GRIP2 0 +GRM7-AS1 0 +GRM7-AS3 0 +GSK3B 4 +GUCA1C 0 +H1FX 0 +HACL1 2 +HCLS1 0 +HDAC11-AS1 1 +HEG1 0 +HESX1 0 +HGD 0 +HHATL 0 +HIGD1A 5 +HLTF 1 +HP09053 0 +HSPBAP1 2 +HYAL1 0 +HYAL2 1 +HYAL3 0 +IFRD2 0 +IFT57 0 +IFT80 0 +IGF2BP2 1 +IGSF10 6 +IGSF11 5 +IL12A-AS1 0 +IL17RD 0 +IL5RA 0 +ILDR1 0 +IMPDH2 3 +IMPG2 0 +IP6K1 0 +IP6K2 1 +IQCB1 3 +IQCF1 0 +IQCF5 0 +IQCF6 0 +IQCG 1 +IQCJ-SCHIP1-AS1 0 +IQSEC1 1 +ISY1 0 +ISY1-RAB43 0 +ITGA9-AS1 0 +ITGB5 0 +ITIH4 0 +ITPR1-AS1 0 +KCNAB1-AS1 0 +KCNAB1-AS2 0 +KCNMB3 0 +KIAA0226 0 +KIAA1143 1 +KIAA1257 7 +KIAA1407 1 +KIAA1524 3 +KIAA2018 0 +KIF9 0 +KLF15 0 +KLHL6 0 +KPNA1 0 +KPNA4 0 +KRBOX1-AS1 0 +KY 0 +LAMB2 0 +LAMB2P1 0 +LAMP3 2 +LARS2-AS1 0 +LEPREL1 1 +LHFPL4 0 +LIMD1-AS1 1 +LINC00606 0 +LINC00635 0 +LINC00691 0 +LINC00692 0 +LINC00696 0 +LINC00877 0 +LINC00880 0 +LINC00882 0 +LINC00886 0 +LINC00887 0 +LINC00971 0 +LINC00994 0 +LINC01192 0 +LINC01208 0 +LINC01209 0 +LINC01214 0 +LINC01267 0 +LINC01279 0 +LINC01391 0 +LINC01471 0 +LIPH 0 +LMCD1-AS1 0 +LMLN-AS1 0 +LMOD3 19 +LOC100128164 0 +LOC100289361 0 +LOC100505920 0 +LOC100507537 0 +LOC100996447 0 +LOC101927056 0 +LOC101927123 0 +LOC101927394 1 +LOC101928105 0 +LOC101928135 0 +LOC101928323 0 +LOC101928739 0 +LOC101928882 0 +LOC101928992 0 +LOC101929106 0 +LOC101929694 0 +LOC101929717 0 +LOC102724297 0 +LOC102724604 0 +LOC102724699 0 +LOC220729 0 +LOC253573 0 +LOC339874 0 +LOC401052 0 +LOC647323 0 +LOC653712 0 +LPP-AS1 0 +LPP-AS2 0 +LRIG1 3 +LRRC15 0 +LRRC2 0 +LRRC31 0 +LRRC34 0 +LRRC58 0 +LRRFIP2 2 +LRTM1 0 +LSAMP 0 +LSG1 1 +LTF 0 +LXN 0 +LYZL4 0 +LZTFL1 0 +MAGEF1 0 +MAGI1 6 +MAP4 5 +MAP6D1 1 +MASP1 0 +MB21D2 3 +MBD4 40 +MBNL1-AS1 0 +MCCC1 0 +MCF2L2 0 +MECOM 0 +METTL6 1 +MFI2 0 +MGLL 0 +MINA 15 +MIR1284 0 +MIR135A1 0 +MIR191 0 +MIR198 0 +MIR3136 0 +MIR3921 0 +MIR3938 0 +MIR425 0 +MIR4270 0 +MIR4442 0 +MIR4790 0 +MIR4791 0 +MIR4792 0 +MIR4793 0 +MIR4795 0 +MIR4796 0 +MIR4797 0 +MIR5092 0 +MIR5186 0 +MIR5193 0 +MIR548A3 0 +MIR548G 0 +MIR548I1 0 +MIR5588 0 +MIR568 0 +MIR569 0 +MIR5692C1 0 +MIR5704 0 +MIR6823 0 +MIR6824 0 +MIR6825 0 +MIR6827 0 +MIR6829 0 +MIR6890 0 +MIR711 0 +MIR8064 0 +MIR8076 0 +MIR885 0 +MIR922 0 +MIRLET7G 0 +MKRN2OS 0 +MON1A 0 +MORC1 0 +MRPL3 3 +MRPL47 1 +MRPS25 0 +MSL2 13 +MST1 0 +MST1R 0 +MTHFD2P1 0 +MUC13 0 +MUC4 0 +MUSTN1 0 +MYH15 2 +MYL3 0 +MYLK 5 +NAA50 0 +NAALADL2-AS1 0 +NAALADL2-AS2 0 +NAALADL2-AS3 0 +NAT6 0 +NCBP2 2 +NCEH1 1 +NCK1-AS1 0 +NCKIPSD 1 +NEK10 0 +NEK4 2 +NGLY1 5 +NICN1 0 +NKIRAS1 0 +NLGN1-AS1 0 +NME6 1 +NME9 0 +NMNAT3 0 +NPHP3 0 +NPHP3-ACAD11 0 +NPRL2 0 +NT5DC2 0 +NUP210 0 +OPA1-AS1 0 +OSBPL10 20 +OSBPL11 2 +OXTR 0 +P2RY12 0 +P2RY13 0 +P2RY14 0 +PA2G4P4 4 +PAQR9 0 +PARL 33 +PARP9 0 +PBRM1 6 +PCBP4 0 +PCOLCE2 2 +PCYT1A 3 +PDCD10 3 +PDHB 1 +PDZRN3 0 +PEX5L 0 +PFKFB4 0 +PFN2 0 +PHC3 0 +PIGZ 0 +PIK3CB 0 +PIK3R4 0 +PISRT1 0 +PLCD1 0 +PLCH1 0 +PLCXD2-AS1 0 +PLD1 2 +PLOD2 0 +PLSCR1 0 +PLSCR2 0 +PLSCR4 0 +PLSCR5 0 +PLXNB1 0 +PLXND1 0 +POC1A 0 +POLQ 3 +POMGNT2 1 +POPDC2 0 +POU1F1 0 +PP2D1 0 +PPP1R2 1 +PRICKLE2 0 +PRKAR2A 3 +PROK2 0 +PROS1 0 +PRR23A 0 +PRR23B 0 +PRR23C 0 +PRRT3 0 +PRSS42 0 +PRSS45 0 +PRSS46 0 +PRSS50 0 +PSMD6 2 +PTPLB 0 +PTPRG-AS1 0 +PVRL3-AS1 0 +QARS 3 +QRICH1 9 +RAB43 0 +RAB6B 2 +RABL3 0 +RAD18 4 +RAF1 0 +RARRES1 0 +RASSF1 1 +RBM5-AS1 0 +RBMS3-AS1 0 +RBMS3-AS3 0 +RBP1 0 +RBP2 0 +RETNLB 0 +RFC4 3 +RFT1 0 +RFTN1 0 +RHOA 21 +RNF168 3 +RNU6-69P 0 +ROBO1 0 +ROPN1 0 +RPL22L1 0 +RPL24 10 +RPL29 29 +RPL32 10 +RPL32P3 0 +RPL39L 0 +RPN1 0 +RPUSD3 1 +RRP9 0 +RTP2 0 +RUVBL1 0 +RYBP 2 +RYK 0 +SATB1 0 +SCAP 4 +SCARNA7 0 +SCN10A 0 +SCN11A 0 +SCN5A 0 +SDHAP1 0 +SEC13 1 +SEC22C 1 +SELK 2 +SEMA3B-AS1 0 +SEMA3G 0 +SEMA5B 0 +SENP7 0 +SERP1 5 +SERPINI2 0 +SETD2 0 +SFMBT1 8 +SGOL1 3 +SH3BP5 14 +SHISA5 2 +SHOX2 0 +SHQ1 1 +SI 0 +SIAH2 1 +SLC12A8 2 +SLC25A20 1 +SLC26A6 4 +SLC2A2 0 +SLC33A1 1 +SLC41A3 0 +SLC4A7 55 +SLC6A1-AS1 0 +SLC6A20 1 +SLC7A14 0 +SLC9A9 0 +SLC9C1 0 +SLCO2A1 0 +SLITRK3 0 +SMARCC1 15 +SMCO1 0 +SNORA58 0 +SNORA7A 0 +SNORA7B 0 +SNRK-AS1 0 +SNX4 5 +SPATA16 1 +SPICE1 3 +SPINK8 1 +SPTSSB 0 +SRGAP3 1 +SSR3 2 +SST 0 +SSUH2 0 +ST3GAL6-AS1 0 +STAG1 1 +STX19 0 +SUCLG2 0 +SUMF1 0 +SUSD5 0 +SYNPR-AS1 0 +TADA3 0 +TAMM41 5 +TBC1D5 0 +TBCCD1 1 +TBL1XR1 5 +TCTEX1D2 2 +TERC 0 +TFDP2 0 +TFRC 0 +THOC7 2 +THPO 0 +THRB 6 +THUMPD3-AS1 0 +TIMP4 0 +TIPARP-AS1 0 +TKT 0 +TLR9 0 +TM4SF1 0 +TM4SF18 0 +TM4SF19 0 +TM4SF19-TCTEX1D2 0 +TMCC1 6 +TMEM108-AS1 0 +TMEM110 1 +TMEM110-MUSTN1 0 +TMEM115 1 +TMEM14E 0 +TMEM158 0 +TMEM207 0 +TMEM212-AS1 0 +TMEM39A 3 +TMEM40 0 +TMEM41A 10 +TMEM44 0 +TMEM89 0 +TMF1 0 +TMPPE 0 +TNFSF10 0 +TNIK 13 +TNK2 2 +TNNC1 0 +TOMM70A 10 +TOP2B 5 +TOPBP1 4 +TPRA1 0 +TPRG1-AS1 0 +TPRG1-AS2 0 +TRA2B 0 +TRAIP 2 +TRANK1 0 +TRIM59 14 +TUSC2 0 +TWF2 0 +TXNRD3 0 +TXNRD3NB 0 +UBA3 0 +UBA7 0 +UBE2E1-AS1 0 +UBP1 0 +UBXN7 1 +UCN2 0 +ULK4 0 +UQCRC1 0 +UROC1 0 +USP19 0 +USP4 0 +UTS2B 0 +VEPH1 0 +VGLL3 0 +VGLL4 6 +VIPR1-AS1 0 +VPRBP 2 +WDR49 0 +WDR53 2 +WDR5B 1 +WDR82 0 +WNT5A 0 +WNT7A 0 +WWTR1 0 +XCR1 0 +XIRP1 0 +XPC 4 +XRN1 6 +XXYLT1 6 +ZBBX 0 +ZBED2 0 +ZBTB11 4 +ZBTB20 0 +ZDHHC19 0 +ZDHHC3 1 +ZFYVE20 0 +ZIC4 0 +ZMAT3 0 +ZMYND10 0 +ZNF148 17 +ZNF197-AS1 1 +ZNF385D 1 +ZNF445 0 +ZNF717 0 +ZNF80 0 +ZNF852 0 +ZXDC 0 +AADAT 0 +AASDH 0 +ABCA11P 0 +ABCG2 0 +ABLIM2 0 +ACOX3 0 +ACSL1 0 +ADAMTS3 1 +ADH1A 0 +ADH1B 0 +ADH1C 0 +ADH4 0 +ADH5 6 +ADH6 0 +ADH7 0 +AFAP1 3 +AGA 0 +ANAPC10 3 +ANKRD17 28 +ANKRD50 0 +ANP32C 0 +ANTXR2 0 +ANXA2P1 0 +ANXA5 0 +APBB2 1 +ARAP2 1 +ARSJ 0 +ASB5 0 +ASIC5 0 +ATP5I 1 +ATP8A1 2 +BBS7 0 +BDH2 3 +BEND4 0 +BMPR1B-AS1 0 +BOD1L1 5 +BTC 0 +C4orf27 84 +C4orf3 0 +C4orf36 0 +C4orf45 0 +C4orf46 0 +CAMK2D 0 +CASP3 1 +CASP6 0 +CBR4 2 +CCDC110 0 +CCDC149 0 +CCDC158 0 +CCDC96 0 +CCKAR 0 +CCNA2 12 +CCNI 71 +CDKL2 0 +CENPC 3 +CENPE 23 +CENPU 9 +CETN4P 0 +CFAP97 1 +CFI 0 +CHIC2 1 +CLDN22 0 +CLDN24 0 +CLGN 0 +CLNK 0 +CLOCK 33 +CNGA1 0 +CNOT6L 40 +COL25A1 0 +COMMD8 2 +COQ2 0 +CORIN 0 +COX18 1 +COX7B2 0 +CPEB2-AS1 0 +CPLX1 0 +CRMP1 1 +CSN2 0 +CTBP1 0 +CTSO 0 +CXCL10 0 +CXCL11 0 +CXCL2 0 +CXCL3 0 +CXCL5 0 +CXCL9 0 +CXXC4 1 +CYTL1 0 +DCAF16 2 +DCHS2 1 +DCTD 0 +DDIT4L 0 +DDX60 0 +DDX60L 0 +DGKQ 0 +DHX15 0 +DKK2 0 +DNAJB14 0 +EIF4E 0 +ELF2 0 +ELOVL6 0 +EMCN 0 +ENPP6 0 +EPHA5 0 +ERVMER34-1 0 +ETNPPL 1 +EVC2 0 +F11-AS1 0 +FABP2 0 +FAM13A 193 +FAM175A 1 +FAM184B 4 +FAM198B 0 +FAM53A 0 +FAM86EP 0 +FAT1 3 +FBXL5 9 +FBXO8 3 +FBXW7 2 +FGA 0 +FGFBP1 0 +FGFBP2 0 +FGG 0 +FLJ36777 0 +FLJ38576 0 +FREM3 0 +FRG2 0 +FRYL 1 +FSTL5 0 +G3BP2 1 +GABRA2 0 +GABRA4 0 +GABRG1 0 +GAK 0 +GATB 0 +GC 0 +GIMD1 0 +GK2 0 +GK3P 0 +GLRA3 0 +GNPDA2 10 +GNRHR 0 +GPM6A 0 +GPR125 0 +GPRIN3 0 +GRPEL1 12 +GRSF1 7 +GYPA 0 +GYPB 0 +GYPE 0 +H2AFZ 0 +HAND2 0 +HAUS3 0 +HELQ 1 +HHIP-AS1 0 +HMGB2 11 +HMX1 0 +HNRNPD 8 +HNRNPDL 1 +HOPX 0 +HPGD 0 +HPGDS 0 +HPSE 0 +HS3ST1 0 +HSD17B11 0 +HSD17B13 0 +HTT-AS 0 +IGFBP7 0 +IGJ 0 +IL2 0 +IL21 0 +INPP4B 0 +INTS12 2 +IRF2 0 +JAKMIP1 0 +KCNIP4 0 +KCNIP4-IT1 0 +KCTD8 0 +KDR 0 +KLF3-AS1 0 +KLHL8 0 +LAMTOR3 0 +LCORL 0 +LDB2 0 +LEF1 12 +LETM1 0 +LGI2 0 +LIN54 0 +LINC00290 0 +LINC00575 0 +LINC00613 0 +LINC00616 0 +LINC00682 0 +LINC01061 0 +LINC01093 0 +LINC01095 0 +LINC01096 0 +LINC01097 0 +LINC01099 1 +LINC01216 0 +LINC01258 0 +LINC01365 0 +LNX1 0 +LOC100129917 0 +LOC100129931 0 +LOC100130872 0 +LOC100133461 0 +LOC100505912 0 +LOC100506085 0 +LOC100506272 0 +LOC100506746 0 +LOC100507388 0 +LOC100507639 0 +LOC101927087 0 +LOC101927237 0 +LOC101927282 0 +LOC101928131 0 +LOC339975 0 +LOC344967 0 +LOC389247 0 +LOC401134 0 +LOC728175 0 +LOC731424 0 +LPHN3-AS1 0 +LRBA 0 +LRP2BP 0 +LRPAP1 0 +LRRC66 0 +LYAR 15 +MAD2L1 15 +MAML3 0 +MANBA 0 +MAP9 11 +MAPK10 0 +MARCH1 0 +MFAP3L 0 +MFSD10 1 +MFSD7 0 +MFSD8 0 +MGARP 0 +MGAT4D 0 +MGC45800 0 +MIR302A 0 +MIR302B 0 +MIR302C 0 +MIR302D 0 +MIR3138 0 +MIR3140 0 +MIR367 0 +MIR3688-1 0 +MIR378D1 0 +MIR3945 0 +MIR4800 0 +MIR4801 0 +MIR4802 0 +MIR548AJ2 0 +MIR548AX 0 +MIR548I2 0 +MIR5705 0 +MIR573 0 +MIR575 0 +MIR8066 0 +MIR943 0 +MRFAP1L1 2 +MTNR1A 0 +MXD4 8 +NAA11 6 +NAAA 0 +NAF1 1 +NAP1L5 0 +NDNF 0 +NDST4 0 +NDUFC1 3 +NEK1 32 +NELFA 5 +NEUROG2 0 +NFXL1 11 +NKX1-1 0 +NKX3-2 0 +NKX6-1 0 +NMU 0 +NOA1 0 +NOP14 0 +NPY1R 0 +NR3C2 8 +NUDT6 0 +NUP54 5 +OCIAD2 0 +OTOP1 0 +OTUD4 16 +PABPC4L 0 +PAPSS1 11 +PAQR3 0 +PCDH18 0 +PCNAP1 0 +PDCL2 0 +PDE5A 0 +PDGFC 0 +PDLIM3 0 +PDS5A 2 +PF4 0 +PGRMC2 2 +PHOX2B 0 +PIGY 0 +PITX2 0 +PLA2G12A 0 +PLAC8 0 +PLRG1 2 +POLN 0 +PPA2 1 +PPARGC1A 0 +PPAT 0 +PPBP 0 +PPBPP2 0 +PPEF2 0 +PPID 0 +PPM1K 0 +PPP2R2C 0 +PPP3CA 3 +PRDM5 0 +PRKG2 0 +PRMT9 1 +PROM1 0 +PRSS12 0 +PSAPL1 0 +PYURF 0 +QDPR 1 +QRFPR 0 +RAB28 0 +RASGEF1B 0 +RASSF6 0 +RBM47 0 +RCHY1 0 +RELL1 1 +RFC1 4 +RNF150 0 +RNF175 0 +RNF212 0 +RPL21P44 0 +RPL34-AS1 0 +RPL9 0 +RWDD4 0 +SCARB2 0 +SCD5 0 +SCFD2 0 +SCLT1 1 +SCOC-AS1 0 +SCRG1 0 +SDAD1 4 +SEC24B-AS1 0 +SEC24D 0 +SEC31A 5 +SEL1L3 0 +SEPSECS 0 +SETD7 0 +SFRP2 0 +SGCB 0 +SH3D19 0 +SH3RF1 0 +SLBP 11 +SLC10A6 0 +SLC10A7 0 +SLC26A1 0 +SLC2A9 0 +SLC39A8 0 +SLC7A11 4 +SLC9B1 0 +SLC9B2 0 +SLED1 0 +SMAD1-AS2 0 +SMARCA5-AS1 0 +SMIM14 2 +SNCA 0 +SORBS2 1 +SOWAHB 0 +SPARCL1 0 +SPATA4 0 +SPINK2 0 +SPOCK3 0 +SPON2 0 +SRD5A3-AS1 0 +STPG2 0 +STX18 4 +SULT1B1 0 +SULT1E1 0 +SYT14P1 0 +TACR3 0 +TAPT1 9 +TBC1D9 0 +TBCK 0 +TEC 0 +TECRL 0 +THAP9-AS1 0 +TIFA 2 +TIGD4 0 +TKTL2 0 +TLR1 0 +TLR10 0 +TLR6 0 +TMED11P 0 +TMEM128 3 +TMEM129 1 +TMEM150C 0 +TMEM154 1 +TMEM155 0 +TMEM156 0 +TMEM192 0 +TMPRSS11A 0 +TMPRSS11B 0 +TMPRSS11BNL 0 +TMPRSS11D 0 +TMPRSS11F 0 +TMPRSS11GP 0 +TNIP2 0 +TNIP3 0 +TNRC18P1 0 +TRAM1L1 0 +TRIM61 3 +TRIML2 0 +TRMT10A 0 +TRPC3 1 +TSPAN5 11 +TTC29 1 +TXK 0 +UBA6 1 +UBE2D3 45 +UCHL1-AS1 0 +UCP1 0 +UFSP2 3 +UGDH 2 +UGT2A1 0 +UGT2A2 0 +UGT2A3 0 +UGT2B10 0 +UGT2B11 0 +UGT2B15 0 +UGT2B17 0 +UGT2B4 0 +UNC5C 3 +USP46 0 +VEGFC 0 +WDFY3 2 +WDR1 7 +WWC2-AS2 0 +YIPF7 0 +YTHDC1 0 +ZFYVE28 0 +ZGRF1 0 +ZNF518B 3 +ZNF721 6 +ZNF732 1 +ZNF827 1 +UGT2A3 0 +UGT2B10 0 +UGT2B15 0 +UGT2B17 0 +YTHDC1 0 +MGC39584 0 +MAFIP 0 +AACSP1 1 +ACOT12 0 +ACSL6 0 +ACTBL2 0 +ADAM19 2 +ADAMTS12 0 +ADAMTS19-AS1 0 +ADAMTS2 0 +ADAMTS6 0 +AFF4 10 +AGXT2 0 +AK6 0 +ALDH7A1 2 +AMACR 0 +ANKH 2 +ANKRA2 0 +ANKRD31 0 +ANKRD34B 0 +ANKRD55 0 +ANXA2R 0 +ANXA6 0 +AP3B1 3 +APBB3 0 +ARAP3 0 +ARHGAP26-AS1 0 +ARL15 1 +ARRDC3 0 +ARSB 0 +ARSI 0 +ATG12 0 +ATOX1 0 +ATP10B 0 +BOD1 227 +BRD8 1 +BRD9 0 +C1QTNF2 0 +C1QTNF3 0 +C1QTNF3-AMACR 0 +C5orf15 0 +C5orf20 0 +C5orf28 0 +C5orf34 8 +C5orf42 0 +C5orf45 2 +C5orf46 0 +C5orf49 0 +C5orf55 0 +C5orf60 0 +C5orf63 0 +C5orf66-AS1 0 +C5orf66-AS2 0 +C6 0 +C9 0 +CAMK2A 1 +CAPSL 0 +CBY3 0 +CCDC112 0 +CCDC125 0 +CCDC127 4 +CCDC69 0 +CCL28 0 +CCNH 2 +CCNJL 0 +CCNO 6 +CD14 0 +CD180 0 +CD74 0 +CDC20B 1 +CDC23 0 +CDC25C 0 +CDH10 0 +CDH12 2 +CDH18 1 +CDH9 0 +CDKL3 0 +CDKN2AIPNL 0 +CDO1 0 +CENPK 2 +CEP120 5 +CETN3 0 +CHD1 4 +CKMT2-AS1 0 +CLINT1 10 +CLK4 1 +CLPTM1L 9 +CLTB 0 +CMBL 0 +COL23A1 0 +COL4A3BP 1 +CRSP8P 2 +CSF1R 6 +CSNK1A1 2 +CTB-178M22.2 0 +CTB-7E3.1 0 +CTD-2201I18.1 0 +CTD-2297D10.2 0 +CTD-2350J17.1 0 +CTD-3080P12.3 0 +CTNND2 0 +CXCL14 0 +DAB2 0 +DAP 2 +DBN1 0 +DCTN4 0 +DDX41 1 +DEPDC1B 1 +DHFR 2 +DHX29 7 +DIAPH1 2 +DIMT1 0 +DMGDH 1 +DNAH5 0 +DNAJC18 1 +DND1 0 +DOK3 0 +DPYSL3 0 +DRD1 0 +DROSHA 4 +DTWD2 0 +DUSP1 0 +EBF1 14 +ECSCR 0 +EDIL3 0 +EFNA5 0 +EGFLAM-AS2 0 +EGFLAM-AS4 0 +ELL2 0 +ELOVL7 0 +EMB 0 +ENC1 0 +EPB41L4A 2 +ERAP1 0 +ERCC8 0 +ESM1 0 +ETF1 1 +F12 0 +F2RL2 0 +FAM114A2 1 +FAM134B 0 +FAM13B 1 +FAM153A 0 +FAM169A 5 +FAM172A 1 +FAM173B 0 +FAM193B 0 +FAM196B 0 +FAM71B 0 +FASTKD3 2 +FAT2 1 +FAXDC2 1 +FBN2 0 +FBXL17 0 +FBXW11 3 +FCHSD1 0 +FEM1C 0 +FGF1 0 +FGF10 0 +FLJ16171 0 +FLJ32255 0 +FLJ33360 0 +FLT4 0 +FNDC9 0 +FNIP1 0 +FOXD1 0 +FSTL4 2 +FYB 0 +GABRB2 0 +GCNT4 0 +GDF9 168 +GDNF 0 +GEMIN5 247 +GFM2 3 +GFPT2 0 +GFRA3 1 +GIN1 1 +GLRA1 0 +GLRX 13 +GMCL1P1 0 +GNB2L1 7 +GNPDA1 4 +GOLPH3 5 +GPR151 0 +GPRIN1 0 +GRM6 0 +GRXCR2 0 +GTF2H2 0 +GUSBP3 0 +GUSBP9 0 +H2AFY 1 +HAND1 0 +HAPLN1 0 +HARS 2 +HAVCR1 0 +HAVCR2 0 +HBEGF 0 +HCN1 0 +HDAC3 2 +HEIH 3 +HINT1 9 +HK3 0 +HMGCS1 1 +HMMR-AS1 0 +HNRNPA0 0 +HNRNPH1 2 +HOMER1 5 +HSPA9 2 +HTR1A 0 +HTR4 0 +IL12B 0 +IL17B 1 +IL5 0 +IL6ST 0 +IL9 0 +IRF1 1 +IRX2 0 +IRX4 0 +JAKMIP2 0 +KCNMB1 0 +KIAA0825 0 +KIAA1191 2 +KIF3A 16 +KLHL3 0 +LARS 4 +LCP2 1 +LECT2 0 +LHFPL2 2 +LIFR 1 +LINC00461 0 +LINC00491 0 +LINC01017 0 +LINC01019 0 +LINC01023 0 +LINC01024 0 +LINC01184 0 +LINC01187 0 +LINC01265 0 +LINC01335 0 +LINC01337 0 +LINC01338 0 +LINC01339 0 +LINC01470 0 +LINC01484 0 +LINC01485 0 +LIX1 1 +LMAN2 2 +LMBRD2 2 +LOC100132356 0 +LOC100133050 0 +LOC100268168 0 +LOC100272216 0 +LOC100287592 0 +LOC100303749 0 +LOC100505625 0 +LOC100506526 0 +LOC100506548 0 +LOC100506674 0 +LOC100506688 0 +LOC100506858 0 +LOC100652758 0 +LOC100996325 0 +LOC100996385 0 +LOC101926905 0 +LOC101926960 0 +LOC101927190 0 +LOC101927280 3 +LOC101927379 0 +LOC101927488 0 +LOC101927697 0 +LOC101927766 0 +LOC101927835 0 +LOC101928445 0 +LOC101928448 0 +LOC101928539 0 +LOC101928569 0 +LOC101928600 0 +LOC101928651 0 +LOC101928769 0 +LOC101928794 0 +LOC101929034 0 +LOC101929412 0 +LOC101929454 0 +LOC101929505 0 +LOC101929681 0 +LOC101929696 0 +LOC102467073 0 +LOC102467080 0 +LOC102467081 0 +LOC102467147 0 +LOC102467212 0 +LOC102467213 0 +LOC102467216 0 +LOC102467217 0 +LOC102467223 0 +LOC102477328 0 +LOC102546226 0 +LOC102546229 0 +LOC102546294 0 +LOC102546298 0 +LOC102577426 0 +LOC202181 0 +LOC285627 0 +LOC285629 0 +LOC285692 0 +LOC285696 0 +LOC340074 0 +LOC340107 0 +LOC389332 0 +LOC401177 0 +LOC442132 0 +LOC553103 0 +LOC642366 0 +LOC643201 0 +LOC644762 0 +LOC644936 0 +LOC646719 0 +LOC647859 0 +LOC648987 0 +LOC728613 0 +LOC728637 1 +LOC729080 0 +LOC729506 0 +LOX 0 +LPCAT1 3 +LRRTM2 0 +LUCAT1 0 +LYSMD3 0 +MAPK9 0 +MARCH11 0 +MARCH3 0 +MBLAC2 0 +MCC 0 +MCIDAS 0 +MCTP1 7 +MED10 5 +MED7 0 +MEF2C 0 +MGAT1 0 +MGAT4B 0 +MGC32805 0 +MIER3 0 +MIR103A1 0 +MIR1229 0 +MIR1289-2 0 +MIR218-2 0 +MIR2277 0 +MIR3141 0 +MIR340 0 +MIR3650 0 +MIR3660 0 +MIR3912 0 +MIR3936 0 +MIR4277 0 +MIR4278 0 +MIR4279 0 +MIR4280 0 +MIR4281 0 +MIR4454 0 +MIR4456 0 +MIR4457 0 +MIR4460 0 +MIR449A 0 +MIR449B 0 +MIR449C 0 +MIR4635 0 +MIR4636 0 +MIR4637 0 +MIR4638 0 +MIR5687 0 +MIR580 0 +MIR581 0 +MIR585 0 +MIR6075 0 +MIR6499 0 +MIR6830 0 +MIR6831 0 +MIR8089 0 +MIR874 0 +MIR9-2 0 +MOCS2 1 +MROH2B 0 +MRPL36 0 +MRPS27 1 +MTMR12 0 +MTRNR2L2 0 +MTX3 1 +MXD3 0 +MYO10 11 +MZB1 0 +NADK2 3 +NAIP 0 +NDUFA2 0 +NEUROG1 0 +NHP2 0 +NKX2-5 0 +NME5 0 +NMUR2 0 +NNT-AS1 0 +NOP16 0 +NR2F1-AS1 0 +NR3C1 1 +NREP 2 +NRG2 0 +NSUN2 0 +NUDCD2 1 +NUDT12 0 +NUP155 2 +OR2V1 0 +OR2Y1 0 +OSMR-AS1 0 +OTP 0 +OXCT1 2 +P4HA2 0 +PAIP1 54 +PANK3 1 +PCDH1 0 +PCDH12 0 +PCSK1 0 +PDE4D 0 +PDE6A 0 +PDGFRB 0 +PDLIM7 0 +PFDN1 1 +PFN3 0 +PGGT1B 1 +PHYKPL 0 +PITX1 0 +PJA2 5 +PLAC8L1 0 +PLCXD3 0 +PLK2 0 +POC5 5 +POU5F2 0 +PP7080 0 +PPAP2A 0 +PPIC 0 +PPP2CA 14 +PPP2R2B 3 +PPP2R2B-IT1 0 +PRELID2 25 +PRKAA1 0 +PRLR 0 +PROB1 0 +PROP1 0 +PRR7-AS1 0 +PWWP2A 0 +RAB24 0 +RAD1 2 +RANBP3L 0 +RAPGEF6 2 +RASGEF1C 0 +RASGRF2-AS1 0 +RBM22 8 +REEP5 0 +RGMB-AS1 1 +RICTOR 3 +RIOK2 9 +RNF130 2 +RNF138P1 0 +RNF145 1 +RNF44 0 +ROPN1L-AS1 1 +RPL37 11 +RPS14 16 +RPS23 23 +SAP30L-AS1 0 +SAR1B 0 +SCAMP1-AS1 0 +SCARNA18 0 +SCGB3A1 0 +SDHAP3 0 +SEMA5A 0 +SEMA6A 0 +SEPP1 0 +SEPT8 1 +SERINC5 0 +SGTB 0 +SH3PXD2B 0 +SH3TC2 0 +SHROOM1 0 +SIL1 0 +SKP1 16 +SLC12A7 0 +SLC23A1 0 +SLC25A2 0 +SLC36A2 0 +SLC36A3 0 +SLC38A9 5 +SLC45A2 0 +SLC6A3 0 +SLC9A3 0 +SLCO4C1 0 +SLCO6A1 0 +SLIT3 0 +SLU7 14 +SMA4 0 +SMA5 0 +SMAD5-AS1 0 +SMIM15 6 +SNCB 0 +SNORA47 0 +SNORD63 0 +SNORD72 0 +SNORD95 0 +SNORD96A 0 +SOX30 1 +SPARC 0 +SPATA24 0 +SPATA9 0 +SPINK1 0 +SPOCK1 1 +SPRY4 0 +SRA1 1 +SREK1IP1 8 +SSBP2 2 +ST8SIA4 0 +STARD4 1 +STC2 0 +STK10 0 +TAF7 5 +TAF9 6 +TAS2R1 0 +TBC1D9B 1 +TBCA 13 +TERT 0 +THOC3 3 +TICAM2 0 +TIFAB 0 +TIGD6 0 +TIMD4 1 +TMED7 0 +TMED7-TICAM2 1 +TMEM161B 0 +TMEM167A 4 +TMEM173 0 +TMEM232 0 +TNIP1 0 +TPPP 0 +TRIM23 0 +TRIM36 2 +TRIM52 1 +TRIM7 0 +TRPC7 0 +TSSK1B 0 +TTC33 0 +TTC37 1 +UBTD2 7 +UGT3A1 0 +UGT3A2 0 +UIMC1 5 +VDAC1 9 +VTRNA2-1 0 +WDR41 5 +YIPF5 8 +ZBED3 0 +ZBED8 0 +ZCCHC10 3 +ZDHHC11 0 +ZFP62 0 +ZFR 14 +ZNF300 1 +ZNF300P1 0 +ZNF354A 3 +ZNF366 0 +ZNF608 0 +ZNF622 0 +AARS2 0 +ABHD16A 0 +ADAT2 0 +ADTRP 0 +AGER 0 +AGPAT1 0 +AGPAT4 1 +AGPAT4-IT1 0 +AHI1 1 +AIRN 0 +AK9 0 +AKIRIN2 18 +ALDH8A1 0 +ARHGAP18 63 +ARMC2-AS1 0 +ASCC3 1 +ATF6B 0 +ATG5 1 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +ATXN1 1 +B3GAT2 0 +BACH2 6 +BAG6 0 +BAK1 0 +BCLAF1 19 +BEND3 0 +BLOC1S5 0 +BLOC1S5-TXNDC5 0 +BMP5 0 +BTBD9 0 +BTNL2 0 +BVES 3 +C2-AS1 0 +C6orf1 0 +C6orf10 0 +C6orf106 6 +C6orf118 0 +C6orf123 0 +C6orf132 0 +C6orf147 0 +C6orf15 0 +C6orf195 0 +C6orf222 0 +C6orf226 0 +C6orf229 0 +C6orf47 0 +C6orf52 5 +C6orf62 1 +C6orf7 0 +CAGE1 0 +CAHM 0 +CASC14 0 +CASC6 0 +CCDC167 0 +CCHCR1 0 +CCNC 0 +CCND3 2 +CD164 8 +CDK19 0 +CDSN 0 +CEP162 4 +CEP85L 1 +CGA 0 +CITED2 0 +CLIC1 0 +CLIC5 0 +CLPS 0 +CMAHP 0 +CNKSR3 0 +CNR1 0 +COL10A1 0 +COL11A2 0 +COL12A1 1 +COL21A1 0 +COL9A1 0 +COQ3 0 +COX7A2 5 +CPNE5 0 +CRIP3 0 +CRISP1 0 +CRISP2 0 +CRISP3 0 +CTAGE9 0 +CTGF 0 +CUL7 0 +CUTA 0 +CYP39A1 0 +DACT2 0 +DAXX 0 +DCDC2 38 +DDAH2 0 +DDO 0 +DDX39B 0 +DEFB110 0 +DEFB112 0 +DEFB113 0 +DEFB114 0 +DEFB133 0 +DEK 6 +DHX16 0 +DKFZp451B082 0 +DLK2 0 +DLL1 0 +DNPH1 0 +DPPA5 116 +DST 0 +DTNBP1 2 +DXO 0 +DYNLT1 1 +ECHDC1 0 +ECI2 0 +EEF1A1 38 +EEF1E1 1 +EEF1E1-BLOC1S5 0 +EHMT2 0 +ELOVL2 3 +ELOVL4 12 +ELOVL5 15 +ENPP5 0 +EPB41L2 8 +EPHA7 0 +EPM2A 0 +ERVFRD-1 0 +ETV7 0 +EXOC2 2 +EYA4-AS1 0 +EYS 0 +EZR 39 +F13A1 0 +FAM162B 0 +FAM184A 0 +FAM217A 0 +FAM46A 0 +FAM65B 2 +FAXC 0 +FBXL4 0 +FBXO30 3 +FBXO5 10 +FILIP1 0 +FKBP5 1 +FKBPL 0 +FLOT1 0 +FRK 0 +FRMD1 0 +FRS3 0 +FUCA2 0 +FYN 12 +GABBR1 0 +GABRR1 0 +GABRR2 0 +GCLC 3 +GCM1 0 +GCM2 0 +GFOD1 0 +GJB7 0 +GLO1 3 +GMDS 0 +GNL1 0 +GOPC 5 +GPANK1 0 +GPLD1 9 +GPR110 0 +GPR116 0 +GPR31 0 +GPR63 0 +GPRC6A 0 +GPSM3 0 +GPX6 0 +GRM4 1 +GSTA1 0 +GSTA2 0 +GSTA3 0 +GSTA4 0 +GSTA5 0 +GSTA7P 0 +GSTM2P1 0 +GTPBP2 0 +GUCA1B 0 +GUSBP2 0 +GUSBP4 0 +HACE1 2 +HBS1L 2 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HDAC2 0 +HDDC2 1 +HGC6.3 0 +HIST1H1A 6 +HIST1H1B 0 +HIST1H1C 0 +HIST1H1D 0 +HIST1H1T 0 +HIST1H2AA 1 +HIST1H2AB 0 +HIST1H2AD 0 +HIST1H2AJ 0 +HIST1H2AK 0 +HIST1H2AM 0 +HIST1H2BB 0 +HIST1H2BC 0 +HIST1H2BG 0 +HIST1H2BJ 0 +HIST1H2BK 3 +HIST1H2BL 0 +HIST1H3B 0 +HIST1H3D 0 +HIST1H3F 0 +HIST1H3G 1 +HIST1H3I 0 +HIST1H3J 0 +HIST1H4B 0 +HIST1H4D 0 +HIST1H4G 0 +HIST1H4H 0 +HIST1H4K 0 +HIST1H4L 0 +HIVEP2 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB5 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HMGA1P7 0 +HMGCLL1 0 +HMGN3 0 +HS3ST5 0 +HSPA1L 0 +HTATSF1P2 0 +HTR1B 0 +HUS1B 0 +HYMAI 0 +IBTK 0 +ICK 1 +IER3 0 +IFITM4P 0 +IFNGR1 0 +IL17F 0 +IL20RA 0 +IL22RA2 0 +IMPG1 0 +IP6K3 0 +IPCEF1 1 +JARID2-AS1 0 +KATNA1 3 +KATNBL1P6 0 +KCNK16 0 +KCNK17 0 +KCNK5 0 +KCNQ5-AS1 0 +KHDC1 0 +KHDC1L 0 +KHDRBS2 0 +KIAA0319 1 +KIAA0408 0 +KIF13A 0 +KIF25-AS1 0 +KIF6 0 +KLHL31 0 +LAMA4 0 +LATS1 0 +LCA5 1 +LEMD2 0 +LGSN 0 +LINC00242 0 +LINC00266-3 0 +LINC00336 0 +LINC00472 0 +LINC00473 0 +LINC00518 0 +LINC00577 0 +LINC00581 0 +LINC00951 0 +LINC01016 0 +LINC01108 0 +LINC01268 0 +LINC01277 0 +LMBRD1 13 +LOC100128176 0 +LOC100129518 0 +LOC100130357 0 +LOC100130476 0 +LOC100131047 0 +LOC100270746 0 +LOC100422737 0 +LOC100506188 0 +LOC100507194 0 +LOC100507406 0 +LOC100507462 1 +LOC100507547 0 +LOC101927048 0 +LOC101927136 0 +LOC101927211 0 +LOC101927919 0 +LOC101927950 0 +LOC101928489 0 +LOC101928491 0 +LOC101928519 1 +LOC101928663 0 +LOC101928936 0 +LOC101929122 0 +LOC101929239 0 +LOC101929555 0 +LOC103352541 0 +LOC153910 0 +LOC154449 0 +LOC285740 0 +LOC285762 0 +LOC285768 0 +LOC285819 0 +LOC285847 0 +LOC401242 0 +LOC401286 0 +LOC441178 0 +LOC645434 0 +LOC729658 0 +LPA 0 +LPAL2 0 +LRFN2 0 +LRP11 0 +LRRC73 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +LY86-AS1 0 +LYRM2 1 +LYRM4 1 +MAK 2 +MAN1A1 0 +MANEA-AS1 0 +MAP3K5 1 +MAP3K7 0 +MAP7 2 +MAS1L 0 +MB21D1 0 +MBOAT1 0 +MCHR2 0 +MCM3 51 +MCM9 0 +MCUR1 2 +MDC1 0 +MDGA1 0 +MDN1 0 +ME1 2 +MEA1 0 +MED20 5 +MED23 3 +METTL24 0 +MICAL1 0 +MIR1236 0 +MIR1275 0 +MIR1913 0 +MIR30A 0 +MIR30C2 0 +MIR3145 0 +MIR3662 0 +MIR3691 0 +MIR3918 0 +MIR3925 0 +MIR3939 0 +MIR4282 0 +MIR4462 0 +MIR4466 0 +MIR4645 0 +MIR4646 0 +MIR4647 0 +MIR548B 0 +MIR548H3 0 +MIR5690 0 +MIR5695 0 +MIR586 0 +MIR6720 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +MLLT4-AS1 0 +MLN 0 +MMS22L 3 +MOCS1 1 +MOXD1 0 +MPC1 3 +MRPL14 0 +MRPL2 1 +MRPS10 2 +MRPS18A 0 +MTCH1 2 +MTFR2 5 +MTRF1L 0 +MUT 3 +MYLK4 0 +NCR3 0 +NDUFAF4 5 +NEDD9 0 +NELFE 0 +NEU1 0 +NFKBIE 0 +NHEG1 0 +NHLRC1 0 +NHSL1 1 +NMBR 0 +NOTCH4 0 +NOX3 0 +NRM 0 +NRN1 0 +NUDT3 0 +NUP153 11 +NUP43 1 +OARD1 2 +OLIG3 0 +OOEP 45 +OR11A1 0 +OR12D3 0 +OR2A4 0 +OR2B2 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +OSTCP1 0 +OSTM1 0 +PACRG-AS1 0 +PANDAR 0 +PARK2 0 +PBOV1 0 +PBX2 0 +PDCD2 2 +PDE10A 0 +PDSS2 0 +PERP 0 +PEX6 0 +PGC 0 +PGK2 0 +PGM3 2 +PHF10 0 +PHIP 1 +PKHD1 0 +PLA2G7 0 +PLAGL1 1 +PNISR 7 +POM121L2 0 +POPDC3 0 +POU5F1 0 +PPIL1 0 +PPIL4 8 +PPIL6 0 +PPP1R10 0 +PPP1R18 0 +PREP 4 +PRL 0 +PRPH2 0 +PRR18 0 +PRRT1 0 +PSMB1 2 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +PTCHD4 0 +PTPRK 2 +PXDC1 0 +PXT1 0 +RAB23 1 +RAET1E 0 +RAET1G 0 +RAET1K 0 +RAET1L 0 +RANBP9 7 +RARS2 0 +RCAN2 0 +REPS1 0 +REV3L 0 +RGL2 0 +RGS17 0 +RHAG 0 +RMND1 0 +RNASET2 2 +RNF217-AS1 0 +RNF39 0 +RNGTT 1 +RNU6-48P 0 +RNU6-71P 0 +ROS1 0 +RPP40 0 +RPS10 11 +RPS10-NUDT3 0 +RPS16P5 0 +RPS6KA2 1 +RPS6KA2-IT1 0 +RRAGD 0 +RSPH3 0 +RTN4IP1 0 +RXRB 0 +SAMD3 0 +SAYSD1 4 +SCARNA27 0 +SCML4 0 +SEC63 3 +SERAC1 0 +SERINC1 4 +SERPINB1 0 +SERPINB6 0 +SERPINB9 0 +SERPINB9P1 0 +SESN1 2 +SF3B5 0 +SFT2D1 0 +SFTA2 0 +SGK1 0 +SHPRH 0 +SIM1 0 +SLC17A1 0 +SLC17A2 0 +SLC17A3 0 +SLC17A5 0 +SLC18B1 0 +SLC22A16 0 +SLC22A2 1 +SLC22A23 0 +SLC26A8 0 +SLC2A12 1 +SLC35B2 0 +SLC35B3 0 +SLC44A4 0 +SNAP91 0 +SNHG5 0 +SNORA20 0 +SNORA29 0 +SNORD117 0 +SNORD50A 0 +SNORD50B 0 +SNORD84 0 +SNX14 3 +SNX3 2 +SOD2 0 +SOGA3 0 +SPDEF 0 +SRPK1 42 +SRSF12 2 +SSR1 7 +STK38 7 +STX7 2 +STXBP5-AS1 1 +SUPT3H 5 +SYNCRIP 3 +SYNE1 8 +T 0 +TAAR1 0 +TAAR2 0 +TAAR3 0 +TAAR5 0 +TAF11 0 +TAGAP 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TBC1D32 1 +TBC1D7 6 +TBCC 7 +TBX18 0 +TCP1 8 +TCP10 0 +TCP11 0 +TCTE1 0 +TCTE3 0 +TDP2 2 +TEAD3 1 +TFAP2A 0 +TFB1M 1 +TFEB 0 +THBS2 3 +THEMIS 0 +TMEM217 0 +TMEM242 0 +TMEM244 0 +TMEM30A 0 +TNFRSF21 0 +TNXA 0 +TNXB 0 +TOB2P1 0 +TPMT 1 +TRAF3IP2 6 +TRAM2 21 +TRAPPC3L 0 +TRDN 1 +TREM1 0 +TREM2 0 +TREML1 0 +TREML2 0 +TREML3P 0 +TRERF1 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +TSPYL1 6 +TSPYL4 0 +TUBB2A 0 +TUBB2B 0 +TUBE1 0 +TULP1 0 +TXLNB 0 +TXNDC5 6 +UBD 0 +UBE2J1 0 +UBE3D 1 +ULBP3 0 +UNC5CL 0 +UQCC2 0 +USP45 3 +USP49 0 +VARS 0 +VNN1 0 +VNN2 0 +VNN3 0 +VPS52 0 +VWA7 0 +WASF1 2 +WDR27 0 +WDR46 0 +XPO5 1 +YIPF3 0 +ZBED9 0 +ZBTB12 0 +ZBTB2 5 +ZBTB22 0 +ZBTB24 2 +ZC3H12D 0 +ZFP57 0 +ZKSCAN4 3 +ZNF184 3 +ZNF204P 0 +ZNF311 0 +ZNF318 1 +ZNF322 0 +ZNRD1-AS1 0 +ZSCAN12 0 +ZSCAN16-AS1 0 +ZSCAN23 0 +ZSCAN31 0 +ZUFSP 2 +AGER 0 +AGPAT1 0 +ATP6V1G2-DDX39B 0 +BTNL2 0 +C6orf10 0 +DDX39B 0 +DHX16 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HSPA1L 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +MAS1L 0 +MDC1 0 +MIR6721 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +TAP1 0 +TAP2 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB3 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBED9 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6873 0 +NCR3 0 +NELFE 0 +NEU1 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VPS52 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG4 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB4 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf47 0 +CLIC1 0 +COL11A2 0 +CUTA 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 1 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB4 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C3 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +VARS 0 +VPS52 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +AASS 0 +ABCB1 0 +ABCB4 19 +ABCF2 1 +ABHD11 0 +ACHE 0 +ACTB 13 +ACTL6B 0 +ACTR3C 0 +ADAP1 0 +AGMO 2 +AGR2 0 +AGR3 0 +AKR1B1 0 +ALKBH4 1 +AMPH 1 +ANKMY2 0 +AOAH 3 +AOAH-IT1 0 +APTR 0 +ARHGEF34P 0 +ARHGEF35 0 +ASB10 0 +ASNS 0 +ASZ1 1 +ATG9B 0 +ATP5J2 1 +ATP5J2-PTCD1 0 +ATP6V0A4 0 +ATP6V0E2-AS1 0 +ATXN7L1 1 +AZGP1 0 +BAIAP2L1 8 +BAZ1B 30 +BCL7B 1 +BET1 0 +BLACE 0 +BRAF 0 +BRAT1 0 +C7orf13 1 +C7orf25 4 +C7orf31 0 +C7orf43 0 +C7orf49 1 +C7orf50 0 +C7orf60 1 +C7orf61 0 +C7orf62 0 +C7orf66 0 +C7orf76 0 +CACNA2D1 5 +CADPS2 4 +CALCR 0 +CALN1 3 +CAMK2B 0 +CARD11 0 +CCDC71L 0 +CCL24 0 +CCL26 0 +CCZ1B 6 +CDCA7L 8 +CDK5 1 +CDK6 0 +CEP41 1 +CHCHD2 3 +CHCHD3 4 +CLDN15 0 +CLDN3 0 +CLEC5A 0 +CLK2P 0 +CNOT4 17 +CNPY1 1 +COA1 11 +COBL 1 +COG5 9 +COL28A1 0 +COPG2 0 +COX19 1 +CPVL 0 +CREB3L2 3 +CRHR2 0 +CRYGN 0 +CTAGE4 0 +CTAGE6 0 +CTAGE8 0 +CTTNBP2 2 +CYCS 0 +CYP3A4 0 +CYP3A5 0 +CYP3A7 0 +CYP3A7-CYP3AP1 0 +CYP51A1 0 +CYTH3 2 +DAGLB 0 +DDC 0 +DDX56 1 +DENND2A 0 +DFNA5 1 +DGKB 0 +DGKI 2 +DLX5 0 +DLX6-AS1 0 +DNAJC2 3 +DNAJC30 0 +DOCK4 1 +DPY19L1 0 +DPY19L1P1 0 +DPY19L2P1 0 +DPY19L2P2 0 +EFCAB10 1 +EGFR-AS1 0 +EIF2AK1 12 +EIF3IP1 1 +ELDR 0 +ELFN1-AS1 0 +ELMO1 6 +EPHA1 0 +EPHB4 0 +ERV3-1 0 +ESYT2 2 +ETV1 1 +EVX1-AS 0 +EZH2 0 +FAM115A 0 +FAM115D 0 +FAM126A 0 +FAM131B 0 +FAM133B 3 +FAM133DP 0 +FAM180A 1 +FAM183B 0 +FAM200A 0 +FAM220A 64 +FAM3C 0 +FASTK 0 +FBXL13 0 +FBXL18 1 +FDPSP2 0 +FERD3L 0 +FEZF1 0 +FGL2 0 +FIGNL1 9 +FIS1 1 +FKBP14 0 +FKBP9P1 0 +FTSJ2 6 +GAL3ST4 0 +GATS 1 +GATSL2 0 +GBX1 0 +GCC1 0 +GCK 0 +GGCT 4 +GIGYF1 2 +GIMAP6 0 +GJC3 0 +GLI3 0 +GNA12 6 +GNAT3 0 +GPC2 0 +GPR37 44 +GPR85 0 +GRB10 1 +GRID2IP 0 +GRIFIN 0 +GRM8 0 +GSAP 2 +GTF2IP1 0 +GTF2IRD1P1 0 +GTF2IRD2 0 +GUSB 0 +GUSBP10 0 +H2AFV 1 +HEPACAM2 0 +HERPUD2 3 +HGF 0 +HIBADH 0 +HIP1 3 +HIPK2 5 +HNRNPA2B1 2 +HOXA1 0 +HOXA10 0 +HOXA10-HOXA9 0 +HOXA11 0 +HOXA13 0 +HOXA2 0 +HOXA3 0 +HOXA4 1 +HOXA5 0 +HOXA6 0 +HOXA7 0 +HOXA9 0 +HPVC1 0 +HTR5AOS 0 +HUS1 1 +ICA1 3 +IFT22 1 +IGF2BP3 36 +IGFBP3 1 +IMMP2L 0 +IMPDH1 0 +INHBA 0 +INTS1 0 +IQUB 12 +ISPD 4 +JAZF1 12 +KBTBD2 1 +KCNH2 0 +KCP 0 +KDELR2 3 +KDM7A 3 +KEL 0 +KIAA0087 0 +KIAA0895 0 +KIAA1147 10 +KIAA1324L 2 +KIAA1549 0 +KLF14 0 +KLHL7-AS1 0 +KLRG2 0 +KMT2C 110 +KMT2E-AS1 0 +KPNA7 284 +KRIT1 4 +LAMB1 19 +LAMB4 0 +LHFPL3-AS1 0 +LHFPL3-AS2 0 +LINC-PINT 0 +LINC00174 0 +LINC00998 0 +LINC01004 0 +LINC01005 0 +LINC01006 0 +LINC01007 0 +LINC01446 0 +LINC01448 0 +LINC01450 0 +LINC01510 0 +LMBR1 4 +LOC100093631 0 +LOC100129148 1 +LOC100130673 0 +LOC100130849 0 +LOC100131257 0 +LOC100240728 0 +LOC100287834 0 +LOC100505921 0 +LOC100506136 0 +LOC100506895 0 +LOC100507468 0 +LOC101926943 0 +LOC101927269 0 +LOC101927391 0 +LOC101927630 0 +LOC101927668 0 +LOC101927811 0 +LOC101928036 0 +LOC101928211 0 +LOC101928254 0 +LOC101928401 0 +LOC101928700 0 +LOC101928861 0 +LOC102724094 0 +LOC102724484 0 +LOC102724555 0 +LOC154761 0 +LOC154872 0 +LOC285889 6 +LOC349160 0 +LOC401312 0 +LOC401320 0 +LOC441242 0 +LOC493754 0 +LOC646762 0 +LOC650226 0 +LRCH4 1 +LRRC4 3 +LRRD1 0 +LSM5 1 +LUZP6 0 +MACC1 1 +MAD1L1 1 +MAGI2 2 +MCM7 4 +MEOX2 0 +MESTIT1 0 +MGC27345 0 +MGC72080 5 +MICALL2 1 +MIR106B 0 +MIR1200 0 +MIR148A 0 +MIR153-2 0 +MIR182 0 +MIR183 0 +MIR196B 0 +MIR25 0 +MIR29A 0 +MIR29B1 0 +MIR3146 0 +MIR339 0 +MIR3907 0 +MIR3914-1 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4655 0 +MIR4656 0 +MIR4657 0 +MIR4658 0 +MIR489 0 +MIR548AR 0 +MIR548AU 0 +MIR548F4 0 +MIR548I4 0 +MIR550A3 0 +MIR550B1 0 +MIR550B2 0 +MIR589 0 +MIR591 0 +MIR592 0 +MIR595 0 +MIR6509 0 +MIR653 0 +MIR6836 0 +MIR6838 0 +MIR6874 0 +MIR7976 0 +MIR93 0 +MIR96 0 +MKLN1-AS 0 +MKRN1 1 +MLXIPL 0 +MMD2 0 +MNX1 0 +MOGAT3 0 +MOXD2P 0 +MPLKIP 0 +MRPS24 0 +MRPS33 1 +MTERF1 0 +MTPN 0 +MYL10 0 +MYL7 0 +MYO1G 0 +NACAD 0 +NAMPT 0 +NAPEPLD 0 +NAT16 0 +NCAPG2 3 +NCF1C 0 +NDUFA4 0 +NDUFA5 0 +NDUFB2-AS1 0 +NEUROD6 0 +NOBOX 2 +NOD1 1 +NPC1L1 0 +NPSR1-AS1 0 +NPVF 0 +NRCAM 2 +NSUN5 0 +NSUN5P2 0 +NT5C3A 1 +NUDCD3 0 +NUPR1L 0 +OCM2 0 +OPN1SW 0 +OR2A1 0 +OR2A20P 0 +OR2A42 0 +OR2A7 0 +OR2A9P 0 +OR2AE1 0 +OR6W1P 0 +OR9A2 0 +ORC5 10 +OSBPL3 1 +PAPOLB 0 +PARP12 12 +PAX4 0 +PAXIP1 10 +PCLO 4 +PCOLCE-AS1 0 +PDAP1 3 +PDE1C 0 +PDGFA 0 +PDIA4 0 +PDK4 0 +PEX1 1 +PGAM2 0 +PHKG1 0 +PKD1L1 0 +PLOD3 0 +PLXNA4 2 +PMS2 1 +PMS2P1 0 +PMS2P3 0 +PMS2P4 0 +PMS2P5 0 +PNPLA8 7 +PODXL 2 +POLD2 0 +POLM 2 +POLR2J 2 +POLR2J2 0 +POLR2J3 0 +POLR2J4 0 +POM121C 2 +POMZP3 0 +PON1 0 +PON2 3 +PON3 0 +POT1 0 +POU6F2-AS1 0 +PPP1R35 1 +PPP1R3A 10 +PRKAG2 0 +PRKAR1B 0 +PRPS1L1 0 +PRRT4 0 +PRSS37 0 +PRSS58 0 +PSMA2 10 +PSMG3 1 +PSPH 0 +PTCD1 0 +PTN 16 +PTPRN2 0 +PURB 0 +PUS7 2 +RADIL 10 +RAPGEF5 0 +RARRES2 1 +RASA4 0 +RASA4B 0 +RASA4CP 0 +RBM28 1 +RELN 0 +RFC2 0 +RHEB 0 +RNF133 0 +RNF148 0 +RNF216 3 +RNF216-IT1 0 +RNU6-16P 0 +RNU6-2 0 +RNU6-57P 0 +RP9 1 +RP9P 0 +RPA3 0 +RPL19P12 0 +RSPH10B 0 +RSPH10B2 0 +SAMD9 0 +SAMD9L 0 +SAP25 0 +SBDS 0 +SCRN1 1 +SEC61G 1 +SEMA3A 0 +SEMA3C 0 +SEMA3D 0 +SEMA3E 1 +SEPT14 0 +SEPT7-AS1 0 +SEPT7P2 0 +SFRP4 0 +SGCE 0 +SHFM1 0 +SHH 0 +SKAP2 11 +SLC13A1 0 +SLC13A4 1 +SLC25A13 0 +SLC25A40 0 +SLC26A3 0 +SLC26A4-AS1 0 +SLC26A5 0 +SLC35B4 1 +SLC37A3 0 +SMARCD3 0 +SMURF1 5 +SNHG15 0 +SNORA5A 0 +SNORA5B 0 +SNORA5C 0 +SNORA9 0 +SNX13 0 +SNX8 0 +SOSTDC1 0 +SP8 0 +SPDYE6 0 +SPDYE7P 0 +SPDYE8P 0 +SRI 2 +SRPK2 5 +SSC4D 0 +ST7-AS1 0 +ST7-AS2 0 +STAG3L1 0 +STAG3L2 0 +STAG3L3 0 +STEAP1B 0 +STEAP2-AS1 0 +STEAP4 0 +STX1A 0 +STYXL1 0 +SUN3 0 +SVOPL 6 +SYPL1 1 +TAF6 3 +TARP 0 +TAS2R16 0 +TAS2R38 0 +TBL2 0 +TBRG4 0 +TBX20 0 +TECPR1 0 +TFEC 0 +TFPI2 0 +TFR2 1 +THAP5 0 +THSD7A 20 +TMED4 2 +TMEM120A 0 +TMEM130 0 +TMEM168 3 +TMEM176B 0 +TMEM184A 0 +TMEM196 0 +TMEM209 1 +TMEM229A 0 +TMEM243 0 +TMEM60 3 +TMUB1 0 +TNPO3 30 +TNRC18 0 +TNS3 0 +TOMM7 17 +TP53TG1 0 +TPK1 3 +TRA2A 0 +TRIL 0 +TRIM4 0 +TRIM50 0 +TRPV5 0 +TRPV6 1 +TRY2P 0 +TSC22D4 0 +TSGA13 0 +TSPAN12 1 +TWIST1 0 +TWISTNB 14 +TYW1B 7 +UBE2H 43 +UFSP1 0 +UPK3BL 0 +URGCP 1 +URGCP-MRPS24 0 +VGF 0 +VIPR2 0 +VOPP1 1 +VPS41 1 +VWDE 0 +WASL 3 +WBSCR16 1 +WBSCR27 0 +WDR86 0 +WDR91 0 +WEE2-AS1 36 +WNT2 0 +XRCC2 0 +YWHAG 6 +ZASP 0 +ZC3HAV1 0 +ZC3HAV1L 0 +ZC3HC1 1 +ZCWPW1 6 +ZFAND2A 59 +ZNF117 0 +ZNF12 0 +ZNF3 0 +ZNF394 0 +ZNF425 0 +ZNF467 0 +ZNF479 0 +ZNF680 0 +ZNF733P 0 +ZNF746 3 +ZNF767P 0 +ZNF777 2 +ZNF786 0 +ZNF800 0 +ZNF890P 0 +ZNRF2P2 0 +ZPBP 0 +LOC389831 0 +ABRA 0 +ADAM2 0 +ADAM3A 0 +ADCY8 0 +ADRA1A 0 +ADRB3 0 +AGO2 12 +ANGPT1 0 +ANGPT2 0 +ANK1 0 +ANKRD46 2 +ANXA13 0 +ARC 0 +ARFGEF1 3 +ARHGAP39 3 +ARMC1 52 +ASAH1 4 +ASAP1 3 +ASAP1-IT1 0 +ASAP1-IT2 0 +ASPH 1 +ATAD2 3 +ATP6V1H 1 +AZIN1 6 +BAALC-AS1 0 +BAALCOS 0 +BIN3 3 +BIN3-IT1 0 +BOP1 0 +BRF2 2 +C8orf37 0 +C8orf59 0 +C8orf76 0 +C8orf82 2 +C8orf86 0 +C8orf87 0 +C8orf88 0 +CA1 0 +CA8 0 +CALB1 0 +CASC11 0 +CASC19 0 +CASC8 1 +CASC9 0 +CCAT1 0 +CCDC166 0 +CCDC25 70 +CCNE2 0 +CDH17 1 +CEBPD 1 +CHRNA2 0 +CHRNA6 0 +CLU 0 +CNGB3 0 +CNOT7 27 +COL22A1 0 +COMMD5 0 +COPS5 2 +COX6C 5 +CPA6 0 +CPSF1 1 +CRH 0 +CSGALNACT1 0 +CSMD1 1 +CSMD3 0 +CTSB 4 +CYHR1 1 +CYP11B1 0 +CYP11B2 0 +CYP7A1 0 +CYP7B1 0 +DCAF4L2 3 +DEFA1 0 +DEFA10P 0 +DEFA11P 0 +DEFA1B 0 +DEFA3 0 +DEFA4 0 +DEFA5 0 +DEFA6 0 +DEFA8P 0 +DEFA9P 0 +DEFB1 0 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1 0 +DEFB109P1B 0 +DEFB130 0 +DEFB134 0 +DEFB136 0 +DEFB4B 0 +DEFT1P 0 +DEFT1P2 0 +DERL1 2 +DGAT1 0 +DKK4 0 +DLC1 0 +DLGAP2-AS1 0 +DOK2 2 +DPYS 0 +DSCC1 2 +DUSP26 0 +DUSP4 0 +EBF2 2 +EEF1D 0 +EFCAB1 0 +EGR3 0 +EIF3E 9 +EIF3H 9 +ENPP2 0 +ENTPD4 0 +EPPK1 1 +ERICH1 1 +EXT1 4 +EYA1 2 +FABP12 0 +FABP4 0 +FABP9 0 +FAM135B 1 +FAM150A 0 +FAM167A 3 +FAM49B 3 +FAM66B 0 +FAM83A-AS1 0 +FAM83H 0 +FAM84B 6 +FAM86B1 0 +FAM86B2 0 +FAM87A 0 +FAM90A25P 0 +FAM90A2P 0 +FAM90A7P 0 +FBXL6 0 +FBXO16 0 +FBXO32 0 +FBXO43 5 +FER1L6-AS1 0 +FER1L6-AS2 0 +FGF20 0 +FGFR1 3 +FGL1 0 +FLJ46284 0 +FOXH1 0 +FSBP 0 +FUT10 2 +GDF6 0 +GEM 4 +GFRA2 0 +GGH 2 +GNRH1 0 +GOT1L1 0 +GPR20 0 +GSDMC 0 +GSR 0 +GTF2E2 1 +HAS2 1 +HEY1 0 +HHLA1 2 +HPYR1 0 +HR 0 +HRSP12 0 +IL7 0 +IMPA1 7 +IMPAD1 0 +INTS9 7 +JPH1 0 +JRK 1 +KAT6A 1 +KCNK9 25 +KCNQ3 1 +KCNV1 0 +KCTD9 2 +KIAA0196 3 +KIAA1429 2 +KIF13B 4 +KLF10 0 +KLHL38 0 +LACTB2 0 +LGI3 0 +LINC00251 0 +LINC00535 0 +LINC00536 0 +LINC00589 0 +LINC00599 0 +LINC00824 0 +LINC00861 0 +LINC00965 0 +LINC00968 0 +LINC00977 0 +LINC01030 3 +LINC01298 0 +LINC01299 0 +LINC01301 0 +LOC100128993 0 +LOC100130298 1 +LOC100130301 0 +LOC100133267 0 +LOC100133669 0 +LOC100287015 1 +LOC100288181 0 +LOC100288748 0 +LOC100500773 0 +LOC100505718 0 +LOC100505739 0 +LOC100507316 0 +LOC100507420 0 +LOC100507530 0 +LOC100996348 0 +LOC101241902 0 +LOC101926926 0 +LOC101927003 1 +LOC101927040 0 +LOC101927066 0 +LOC101927459 0 +LOC101927487 0 +LOC101927588 0 +LOC101927798 0 +LOC101927815 0 +LOC101927915 0 +LOC101929528 0 +LOC286083 0 +LOC286189 0 +LOC340357 0 +LOC392196 0 +LOC392232 0 +LOC401463 0 +LOC649352 0 +LOC728024 1 +LOC729732 0 +LONRF1 3 +LOXL2 0 +LRP12 0 +LRRC24 0 +LRRC6 1 +LSM1 0 +LY6D 0 +LY6H 0 +LYNX1 0 +LYPD2 0 +LYPLA1 0 +LZTS1 0 +MAFA 0 +MBOAT4 0 +MFHAS1 2 +MIR1234 0 +MIR124-1 0 +MIR1322 0 +MIR30B 0 +MIR30D 0 +MIR3148 0 +MIR3150B 0 +MIR320A 0 +MIR3610 0 +MIR3622B 0 +MIR378D2 0 +MIR383 0 +MIR3926-1 0 +MIR4287 0 +MIR4288 0 +MIR4469 0 +MIR4659B 0 +MIR4663 0 +MIR4664 0 +MIR486-1 0 +MIR5194 0 +MIR548I3 0 +MIR548O2 0 +MIR5681B 0 +MIR598 0 +MIR599 0 +MIR661 0 +MIR6841 0 +MIR6843 0 +MIR6844 0 +MIR6845 0 +MIR6846 0 +MIR6848 0 +MIR6849 0 +MIR6850 3 +MIR6893 0 +MIR7112 0 +MIR7705 0 +MIR7848 0 +MIR8055 0 +MIR875 0 +MIR937 0 +MIR939 0 +MMP16 0 +MOS 1 +MROH5 0 +MROH6 0 +MRPL13 0 +MRPS28 0 +MSC 0 +MSR1 0 +MTERF3 3 +MTMR7 0 +MTSS1 3 +MTUS1 20 +MYBL1 1 +NAPRT 0 +NBN 1 +NCALD 0 +NCOA2 3 +NDRG1 4 +NEFL 1 +NIPAL2 0 +NKX2-6 0 +NKX3-1 14 +NKX6-3 0 +NRBP2 0 +NSMAF 0 +NUDCD1 10 +NUDT18 0 +NUGGC 0 +OC90 0 +OPLAH 0 +OPRK1 0 +OR4F21 0 +OTUD6B-AS1 1 +PABPC1 76 +PAG1 15 +PARP10 0 +PBK 1 +PCAT2 0 +PCMTD1 5 +PDE7A 4 +PEBP4 0 +PENK 0 +PEX2 7 +PHYHIP 0 +PINX1 7 +PLAG1 3 +PLAT 0 +PLEC 0 +PMP2 0 +PNMA2 0 +PPAPDC1B 0 +PPP1R3B 0 +PPP1R42 0 +PPP2CB 0 +PRDM14 0 +PRKDC 1 +PRR23D1 0 +PRR23D2 0 +PSD3 12 +PSKH2 0 +PTK2 4 +PTTG3P 3 +PUF60 2 +PURG 0 +PXDNL 0 +PYCRL 0 +RAB11FIP1 0 +RAD21 8 +RAD54B 2 +RB1CC1 10 +RBM12B 0 +RBPMS-AS1 0 +RECQL4 1 +REEP4 3 +REXO1L2P 0 +RGS22 2 +RHPN1-AS1 1 +RMDN1 0 +RNF122 12 +RNF139-AS1 0 +RNF170 1 +RNF19A 1 +RNF5P1 0 +RP1L1 0 +RPL23AP53 1 +RPL30 25 +RPL7 0 +RPL8 34 +RPS20 55 +RRM2B 3 +RRS1-AS1 0 +RSPO2 16 +RUNX1T1 13 +SAMD12 2 +SARAF 2 +SBF1P1 0 +SBSPON 0 +SCARA5 1 +SCRIB 0 +SCRT1 0 +SDR16C5 0 +SDR16C6P 0 +SFRP1 0 +SGCZ 1 +SGK223 0 +SHARPIN 0 +SLA 0 +SLC10A5 0 +SLC18A1 0 +SLC20A2 0 +SLC25A32 1 +SLC39A4 0 +SLC45A4 0 +SLC7A13 0 +SLCO5A1 0 +SLURP1 0 +SNAI2 0 +SNHG6 0 +SNORA72 0 +SNORD54 0 +SNORD87 0 +SNTB1 0 +SNX16 0 +SNX31 0 +SOX7 1 +SPAG11B 0 +ST18 0 +ST3GAL1 1 +STAR 0 +STAU2 5 +STC1 0 +STK3 1 +STMN4 0 +SYBU 0 +TAF2 0 +TATDN1 0 +TCEA1 0 +TCEB1 0 +TCF24 0 +TDRP 4 +TEX15 2 +THAP1 5 +TM2D2 1 +TMEM249 0 +TMEM55A 0 +TMEM64 0 +TMEM65 1 +TMEM68 0 +TMEM71 0 +TMEM74 3 +TMEM75 0 +TNFRSF10A 0 +TNFRSF10B 0 +TNFRSF10D 0 +TNFRSF11B 1 +TONSL 0 +TOP1MT 1 +TOX 2 +TP53INP1 1 +TPD52 18 +TRAM1 2 +TRAPPC9 0 +TRIM35 2 +TRIQK 0 +TRPA1 2 +TRPS1 0 +TSNARE1 0 +TSPYL5 1 +TSTA3 0 +TTI2 1 +TTPA 0 +UBE2W 2 +UBR5 8 +UQCRB 1 +USP17L2 0 +USP17L3 0 +USP17L7 0 +USP17L8 0 +VCPIP1 7 +VPS28 1 +WHSC1L1 3 +XKR5 0 +XKR6 0 +YTHDF3-AS1 0 +YWHAZ 3 +ZC3H3 0 +ZFAND1 0 +ZFAT 1 +ZFHX4-AS1 0 +ZHX1 13 +ZHX1-C8orf76 0 +ZMAT4 0 +ZNF16 2 +ZNF250 0 +ZNF251 5 +ZNF252P 0 +ZNF34 0 +ZNF395 19 +ZNF704 0 +ZNF705G 0 +ZNF706 0 +AAED1 0 +ABCA1 0 +ABCA2 0 +ABHD17B 1 +ABO 0 +ACTL7B 0 +AGPAT2 1 +AGTPBP1 1 +AK1 3 +AK3 0 +AK8 0 +AKNA 0 +ALAD 1 +ALDH1A1 0 +ALDOB 0 +ALG2 0 +AMBP 0 +ANAPC2 0 +ANGPTL2 0 +ANKRD18A 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKS6 0 +APBA1 1 +APTX 2 +AQP3 0 +AQP7 0 +AQP7P1 0 +ARHGEF39 2 +ARID3C 0 +ARRDC1-AS1 0 +ASB6 0 +ASPN 0 +ASTN2 3 +AUH 2 +B4GALT1 9 +BAAT 0 +BAG1 0 +BANCR 0 +BARX1 0 +BICD2 3 +BNC2 0 +BRD3 4 +BRINP1 2 +C5 1 +C9orf114 0 +C9orf116 0 +C9orf129 0 +C9orf135-AS1 0 +C9orf152 0 +C9orf153 0 +C9orf156 2 +C9orf173-AS1 0 +C9orf24 0 +C9orf40 0 +C9orf41 0 +C9orf50 0 +C9orf57 0 +C9orf64 0 +C9orf66 0 +C9orf69 0 +C9orf72 2 +C9orf78 8 +C9orf84 0 +C9orf92 0 +CAAP1 5 +CAMSAP1 6 +CARD9 0 +CBWD1 0 +CBWD5 0 +CBWD6 0 +CCBL1 0 +CCDC183-AS1 0 +CCL19 0 +CCL21 0 +CCL27 0 +CD72 0 +CDC14B 0 +CDC26 0 +CDC37L1-AS1 0 +CDK20 0 +CDK5RAP2 0 +CDKN2A 0 +CDKN2B 0 +CER1 0 +CIZ1 1 +CLIC3 0 +CNTFR 0 +CNTNAP3 0 +CORO2A 9 +CRAT 0 +CTNNAL1 1 +CTSV 4 +DBH-AS1 0 +DCAF12 4 +DCTN3 2 +DDX31 0 +DDX58 0 +DENND1A 2 +DFNB31 3 +DIRAS2 0 +DKFZP434A062 0 +DNAJB5-AS1 0 +DNLZ 0 +DOLK 1 +DPH7 0 +DPM2 0 +DPP7 0 +ECM2 0 +EDF1 0 +ELAVL2 1 +ENG 2 +ENHO 0 +ENTPD2 0 +ENTPD8 0 +EPB41L4B 2 +EQTN 0 +ERMP1 3 +ERP44 3 +EXD3 0 +EXOSC3 10 +FAM102A 4 +FAM120AOS 1 +FAM129B 0 +FAM138C 0 +FAM154A 6 +FAM163B 0 +FAM166A 0 +FAM166B 0 +FAM205A 0 +FAM205B 0 +FAM214B 0 +FAM219A 1 +FAM221B 0 +FAM225B 0 +FAM27B 0 +FAM27E2 0 +FAM27E3 0 +FAM74A1 0 +FAM74A4 0 +FAM74A6 0 +FAM78A 0 +FAM95B1 0 +FAM95C 0 +FANCC 0 +FANCG 0 +FBP1 0 +FBP2 0 +FBXO10 2 +FBXW2 0 +FBXW5 0 +FCN1 0 +FIBCD1 0 +FKBP15 2 +FLJ41200 0 +FNBP1 10 +FOCAD-AS1 0 +FOXD4 0 +FOXD4L4 0 +FOXD4L5 0 +FOXD4L6 0 +FREM1 0 +FRMD3 2 +FRRS1L 0 +FUT7 0 +GABBR2 4 +GAS1 0 +GAS2L1P2 0 +GBA2 0 +GBGT1 0 +GGTA1P 1 +GKAP1 7 +GLDC 0 +GLIDR 0 +GLIS3 0 +GLT6D1 0 +GNA14 14 +GNAQ 2 +GNE 0 +GOLGA1 2 +GOLGA2 4 +GOLM1 5 +GRIN3A 0 +GSN-AS1 0 +GXYLT1P3 0 +HAUS6 1 +HDHD3 1 +HEMGN 0 +HIATL2 1 +HINT2 1 +HNRNPK 2 +HSD17B3 0 +HSPA5 8 +IARS 2 +IER5L 0 +IFNA10 0 +IFNA13 0 +IFNA14 0 +IFNA16 0 +IFNA17 0 +IFNA2 0 +IFNA21 0 +IFNA22P 0 +IFNA4 0 +IFNA5 0 +IFNA6 0 +IFNA7 0 +IFNB1 0 +IFNE 0 +IFNW1 0 +IFT74-AS1 0 +IGFBPL1 2 +IKBKAP 2 +INIP 0 +INPP5E 1 +INSL6 0 +IPPK 0 +ISCA1 0 +IZUMO3 0 +KGFLP2 0 +KIAA0020 6 +KIAA0368 0 +KIAA1161 0 +KIAA2026 2 +KIF12 0 +KIF24 0 +KIF27 0 +KLF4 0 +KLF9 0 +KLHL9 0 +LCN10 0 +LCN15 0 +LCN6 0 +LCN8 0 +LHX3 0 +LHX6 0 +LINC00032 0 +LINC00092 0 +LINC00474 0 +LINC00476 0 +LINC01242 0 +LINC01251 0 +LINC01474 0 +LINC01492 0 +LINC01501 0 +LINC01506 0 +LINC01508 0 +LINC01509 0 +LINGO2 8 +LOC100129316 0 +LOC100133077 0 +LOC100272217 0 +LOC100505478 0 +LOC101448202 0 +LOC101927069 0 +LOC101927450 0 +LOC101927954 0 +LOC101928381 0 +LOC101928438 0 +LOC101928525 0 +LOC101928748 0 +LOC101928775 0 +LOC101928786 0 +LOC101929116 0 +LOC101929563 0 +LOC102723709 0 +LOC158434 0 +LOC286238 0 +LOC286297 0 +LOC286359 0 +LOC286370 0 +LOC392364 0 +LOC403323 0 +LOC440173 0 +LOC440896 0 +LOC494127 0 +LOC51145 0 +LOC642236 0 +LOC642929 0 +LPAR1 1 +LRRC19 0 +LRRC26 0 +LRRC37A5P 0 +MAMDC2-AS1 0 +MAN1B1-AS1 0 +MAPKAP1 9 +MED22 0 +MED27 2 +MEGF9 0 +MIR147A 0 +MIR199B 0 +MIR204 0 +MIR219A2 0 +MIR3074 0 +MIR31 0 +MIR3134 0 +MIR3154 0 +MIR31HG 0 +MIR32 0 +MIR3621 0 +MIR3651 0 +MIR3689A 0 +MIR3689B 0 +MIR3689C 0 +MIR3689D1 0 +MIR3689D2 0 +MIR3689E 0 +MIR3689F 0 +MIR3910-2 0 +MIR3911 0 +MIR4289 0 +MIR4290 0 +MIR4473 0 +MIR4474 0 +MIR4475 0 +MIR4476 0 +MIR4478 0 +MIR4540 0 +MIR4670 0 +MIR4672 0 +MIR4673 0 +MIR4674 0 +MIR548H3 0 +MIR548Q 0 +MIR600 0 +MIR600HG 0 +MIR601 0 +MIR6130 0 +MIR6722 0 +MIR6851 0 +MIR6852 0 +MIR6854 0 +MIR7-1 0 +MIR7114 0 +MIR7150 0 +MIR7702 0 +MIR873 0 +MIR876 0 +MIRLET7DHG 0 +MLLT3 0 +MOB3B 2 +MPDZ 2 +MRPL50 2 +MSMP 0 +NACC2 1 +NAIF1 7 +NAMA 0 +NDUFA8 0 +NDUFB6 0 +NFIB 0 +NFIL3 0 +NINJ1 0 +NMRK1 0 +NOL6 0 +NOL8 13 +NOTCH1 1 +NPDC1 0 +NR5A1 0 +NR6A1 9 +NRARP 0 +NRON 0 +NSMF 1 +NUTM2F 0 +OBP2B 0 +OGN 1 +OMD 0 +OR13C2 0 +OR13C3 0 +OR13C4 0 +OR13C5 0 +OR13C9 0 +OR13J1 0 +OR1B1 0 +OR1J1 0 +OR1L8 0 +OR1N1 0 +OR2K2 0 +OR2S2 0 +PAPPA-AS1 0 +PAX5 0 +PDCL 4 +PGM5-AS1 0 +PGM5P2 0 +PHF19 0 +PIGO 0 +PIP5KL1 0 +PLAA 7 +PLGRKT 1 +PLIN2 0 +PNPLA7 0 +POLE3 1 +PPP1R26-AS1 0 +PPP3R2 0 +PPP6C 8 +PRKACG 0 +PRUNE2 0 +PSIP1 10 +PSMB7 1 +PSMD5 0 +PTAR1 0 +PTBP3 0 +PTCH1 0 +PTENP1 0 +PTGES 0 +PTGES2 0 +PTGR1 1 +PTPLAD2 0 +PTPN3 7 +PTPRD 1 +PTRH1 1 +QRFP 0 +QSOX2 2 +RAB14 0 +RALGDS 0 +RANBP6 0 +RAPGEF1 0 +RASEF 0 +RBM18 6 +RC3H2 1 +REXO4 0 +RFK 0 +RFX3 1 +RLN1 0 +RLN2 0 +RMRP 1 +RNF183 0 +RNF208 0 +RNF38 36 +RNU6ATAC 0 +ROR2 0 +RPL12 9 +RPL35 7 +RPP25L 0 +RPS6 48 +SAPCD2 0 +SARDH 1 +SCAI 3 +SCARNA8 0 +SDCCAG3 1 +SEC16A 1 +SEMA4D 0 +SETX 2 +SH2D3C 0 +SH3GLB2 0 +SHB 0 +SHC3 0 +SIGMAR1 1 +SIT1 0 +SLC24A2 2 +SLC25A25-AS1 0 +SLC25A51 1 +SLC28A3 2 +SLC2A6 0 +SLC35D2 1 +SLC46A2 0 +SMC2-AS1 0 +SMC5-AS1 0 +SMU1 2 +SNAPC4 0 +SNHG7 0 +SNORA17 0 +SNORA43 0 +SNORA65 0 +SNORA70C 0 +SNORA84 0 +SNORD121A 0 +SNORD121B 0 +SNORD90 0 +SOHLH1 0 +SPAG8 0 +SPATA31A5 0 +SPATA31A6 0 +SPATA31A7 0 +SPATA31C2 0 +SPATA6L 1 +SPTLC1 7 +ST6GALNAC4 0 +ST6GALNAC6 0 +STOM 1 +STOML2 2 +STRBP 22 +STX17-AS1 0 +SUGT1P1 0 +SURF1 0 +SURF4 6 +SURF6 2 +SUSD1 0 +SVEP1 2 +TAF1L 1 +TBC1D2 1 +TEX10 1 +TLE1 0 +TLN1 1 +TMEM2 14 +TMEM203 0 +TMEM210 0 +TMEM245 5 +TMEM246 0 +TMEM252 0 +TMEM261 0 +TMEM8C 0 +TNC 0 +TNFSF15 0 +TNFSF8 0 +TOMM5 5 +TOPORS 17 +TOR1A 1 +TOR2A 0 +TPM2 0 +TPRN 0 +TRAF1 0 +TRIM14 0 +TRPM3 0 +TRPM6 0 +TRUB2 0 +TSC1 2 +TSTD2 3 +TTC39B 0 +TTF1 2 +TTLL11 0 +TUSC1 0 +TXN 0 +TXNDC8 0 +UBAC1 4 +UBAP2 6 +UBQLN1 10 +UCK1 0 +VAV2 0 +VCP 1 +VLDLR-AS1 4 +VPS13A-AS1 0 +WASH1 0 +WDR31 0 +WDR34 0 +XPA 1 +ZBTB26 0 +ZBTB5 3 +ZBTB6 0 +ZCCHC6 0 +ZDHHC12 0 +ZDHHC21 0 +ZER1 0 +ZFAND5 13 +ZFP37 0 +ZMYND19 3 +ZNF367 0 +ZNF484 0 +ZNF510 1 +ZNF658 0 +ZNF658B 0 +ZNF782 0 +ZNF883 0 +LOC100288966 0 +MIR8069-1 0 +LOC100233156 0 +LOC389834 0 +LOC283788 3 +FLJ20518 0 +FRG2C 0 +LINC00960 0 +MIR4273 0 +ZNF26 0 +ZNF84 0 +LINC00266-3 0 +FRG2 0 +ABCB7 0 +ACE2 2 +ACOT9 4 +ACSL4 0 +ACTRT1 0 +AIFM1 9 +AKAP4 0 +ALAS2 0 +AMER1 0 +AMMECR1 0 +AMOT 11 +AP1S2 0 +APLN 0 +APOO 3 +ARHGAP4 0 +ARHGAP6 0 +ARHGEF6 0 +ARHGEF9 0 +ARHGEF9-IT1 0 +ARMCX2 0 +ARMCX6 0 +ARSD 1 +ARSE 0 +ARX 0 +ASB11 1 +ASB12 0 +ASB9 0 +ASMTL 0 +ATP11C 0 +ATRX 12 +ATXN3L 0 +AWAT2 0 +BCAP31 1 +BCOR 0 +BCYRN1 0 +BEND2 0 +BEX1 0 +BEX2 0 +BEX5 0 +BRWD3 3 +BTK 0 +C1GALT1C1 0 +CACNA1F 0 +CAPN6 0 +CASK 0 +CD99L2 0 +CDR1 0 +CENPVP1 0 +CENPVP2 0 +CETN2 4 +CFP 0 +CHM 0 +CHMP1B2P 0 +CHRDL1 0 +CITED1 0 +CLIC2 0 +CMC4 0 +COL4A6 0 +CRLF2 0 +CSAG3 0 +CSAG4 0 +CT45A4 0 +CT47A1 0 +CT47A10 0 +CT47A11 0 +CT47A12 0 +CT47A2 0 +CT47A3 0 +CT47A4 0 +CT47A5 0 +CT47A6 0 +CT47A7 0 +CT47A8 0 +CT47A9 0 +CT47B1 0 +CT55 0 +CT83 0 +CTAG1A 0 +CTAG1B 0 +CTAG2 0 +CTPS2 0 +CUL4B 4 +CXCR3 0 +CXorf21 0 +CXorf23 2 +CXorf31 0 +CXorf36 0 +CXorf38 0 +CXorf40B 2 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf56 1 +CXorf65 0 +CXorf66 0 +CYSLTR1 0 +DCAF12L1 0 +DCAF12L2 0 +DCAF8L1 0 +DCX 1 +DDX11L16 0 +DDX26B-AS1 0 +DGKK 0 +DHRSX 0 +DIAPH2-AS1 0 +DLG3-AS1 0 +DMD 5 +DMRTC1 0 +DMRTC1B 0 +DNASE1L1 0 +DYNLT3 0 +EDA2R 0 +EFHC2 0 +EIF1AX 0 +ELF4 0 +ELK1 0 +ENOX2 0 +ERCC6L 5 +ESX1 0 +F8 0 +F8A1 0 +F8A2 0 +F8A3 0 +FAM104B 1 +FAM120C 0 +FAM122B 0 +FAM127B 0 +FAM127C 0 +FAM156A 0 +FAM156B 0 +FAM223A 0 +FAM223B 0 +FAM226A 0 +FAM226B 0 +FAM3A 0 +FAM47A 0 +FAM58A 0 +FAM9A 0 +FAM9B 0 +FAM9C 0 +FANCB 0 +FGD1 0 +FGF13 0 +FIGF 0 +FIRRE 0 +FLNA 0 +FMR1-AS1 0 +FOXP3 0 +FRMD7 0 +FRMD8P1 0 +FRMPD3-AS1 0 +FTH1P18 0 +FTHL17 0 +FTX 0 +FUNDC1 1 +G6PD 0 +GAB3 0 +GABRA3 0 +GABRE 0 +GEMIN8 2 +GLA 0 +GLRA4 0 +GPC3 0 +GPC4 0 +GPKOW 3 +GPM6B 7 +GPR101 0 +GPR119 0 +GPR143 3 +GPR64 0 +GRIPAP1 2 +GTPBP6 0 +GUCY2F 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFWT 0 +H2BFXP 0 +HAUS7 0 +HCFC1 11 +HDAC8 0 +HDHD1 1 +HDX 0 +HMGN5 0 +HS6ST2 0 +HSD17B10 1 +HSFX1 0 +HSFX2 0 +HUWE1 1 +IDH3G 0 +IDS 3 +IGSF1 0 +IL13RA2 0 +IL2RG 0 +INE2 0 +INGX 0 +IQSEC2 0 +IRAK1 0 +IRS4 0 +ITIH6 0 +ITM2A 0 +KAL1 1 +KCND1 0 +KCNE1L 0 +KDM5C 2 +KIAA1210 1 +KIAA2022 0 +KLHL13 0 +KLHL15 1 +KLHL34 0 +L1CAM 0 +LAGE3 0 +LAMP2 0 +LAS1L 0 +LDOC1 0 +LHFPL1 0 +LINC00087 0 +LINC00102 0 +LINC00633 0 +LINC00684 0 +LINC00889 0 +LINC00893 0 +LINC01186 0 +LINC01278 0 +LINC01281 0 +LINC01282 0 +LINC01284 0 +LINC01496 0 +LOC100132304 0 +LOC100132831 0 +LOC101060211 0 +LOC101927830 0 +LOC101928201 0 +LOC101928335 0 +LOC102723631 0 +LOC158960 0 +LOC286437 0 +LOC389906 0 +LOC401585 0 +LOC643486 0 +LOC729609 0 +LRCH2 0 +MAGEA1 0 +MAGEA10 0 +MAGEA10-MAGEA5 0 +MAGEA12 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA3 0 +MAGEA5 0 +MAGEA8-AS1 0 +MAGEA9 0 +MAGEA9B 0 +MAGEC2 0 +MAGED4 0 +MAGED4B 0 +MAGEE2 0 +MAGT1 1 +MAOB 0 +MAP2K4P1 0 +MAP3K15 0 +MAP7D2 3 +MAP7D3 2 +MBNL3 0 +MCF2 0 +MECP2 3 +MED14 0 +MID1 2 +MID1IP1-AS1 0 +MIR105-1 0 +MIR105-2 0 +MIR106A 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1256 0 +MIR1468 0 +MIR18B 0 +MIR19B2 0 +MIR20B 0 +MIR221 0 +MIR222 0 +MIR23C 0 +MIR3202-2 0 +MIR320D2 0 +MIR325HG 0 +MIR363 0 +MIR374A 0 +MIR374B 0 +MIR384 0 +MIR421 0 +MIR424 0 +MIR4328 0 +MIR4329 0 +MIR450A1 0 +MIR450A2 0 +MIR450B 0 +MIR452 0 +MIR4770 0 +MIR503 0 +MIR503HG 0 +MIR504 0 +MIR505 0 +MIR506 0 +MIR507 0 +MIR508 0 +MIR509-1 0 +MIR509-2 0 +MIR509-3 0 +MIR510 0 +MIR514A1 0 +MIR514A2 0 +MIR514A3 0 +MIR514B 0 +MIR542 0 +MIR545 0 +MIR6134 0 +MIR6857 0 +MIR6894 0 +MIR6895 0 +MIR718 0 +MIR766 0 +MIR767 0 +MIR8088 0 +MIR888 0 +MIR890 0 +MIR891A 0 +MIR891B 0 +MIR892A 0 +MIR892B 0 +MIR892C 0 +MIR92A2 0 +MIR98 0 +MIRLET7F2 0 +MMGT1 5 +MORC4 1 +MORF4L2 7 +MOSPD1 3 +MPP1 1 +MTCP1 0 +MTMR8 2 +MTRNR2L10 0 +MXRA5 0 +NAA10 0 +NAP1L2 0 +NAP1L3 0 +NAP1L6 0 +NDP 0 +NDUFB11 0 +NHS-AS1 0 +NKAP 1 +NKAPP1 0 +NKRF 0 +NLGN4X 3 +NOX1 0 +NR0B1 0 +NUDT11 1 +NUP62CL 0 +NXF2 0 +NXF2B 0 +NXF3 0 +NXF5 0 +OPHN1 0 +OTUD5 0 +P2RY4 0 +P2RY8 0 +PABPC1L2A 0 +PABPC1L2B-AS1 0 +PABPC5-AS1 0 +PAGE1 0 +PAGE3 0 +PCDH19 0 +PCSK1N 0 +PCYT1B 0 +PDZD11 0 +PDZD4 0 +PFKFB1 0 +PGAM4 0 +PHEX-AS1 0 +PHF8 21 +PHKA1 0 +PHKA2 0 +PIGA 0 +PIM2 0 +PIR 0 +PIR-FIGF 0 +PJA1 0 +PLAC1 0 +PLS3-AS1 0 +PNCK 0 +PNMA5 0 +PNPLA4 2 +POF1B 0 +PPEF1-AS1 0 +PPP1R2P9 0 +PPP2R3B 0 +PRAF2 1 +PRICKLE3 0 +PRKX 0 +PSMD10 3 +PTCHD1-AS 0 +RAB39B 0 +RAB40A 0 +RAB9B 0 +RAI2 0 +RAP2C 0 +RBBP7 59 +RBM41 1 +RBMX 6 +RENBP 0 +RGAG4 0 +RHOXF1 0 +RHOXF2 0 +RHOXF2B 0 +RIPPLY1 0 +RLIM 3 +RNF113A 2 +RNU6-2 0 +RNU6-28P 0 +RP11-87M18.2 0 +RPGR 2 +RPL39 1 +RPS4X 10 +RPS6KA3 1 +RPS6KA6 0 +RS1 1 +SATL1 0 +SCARNA9L 0 +SCML2 3 +SEPT6 0 +SERPINA7 0 +SH3KBP1 17 +SHROOM4 0 +SLC10A3 2 +SLC25A5-AS1 0 +SLC25A53 0 +SLC25A6 0 +SLC35A2 1 +SLC38A5 0 +SLC7A3 0 +SLC9A7 0 +SLITRK4 0 +SMARCA1 0 +SMC1A 3 +SMEK3P 0 +SMIM9 0 +SMPX 0 +SNORA11D 0 +SNORA11E 0 +SNORA69 0 +SNORD61 0 +SNORD96B 0 +SNX12 2 +SOX3 0 +SPANXA1 0 +SPANXA2 0 +SPANXC 0 +SPANXD 0 +SPANXN2 0 +SPANXN3 0 +SPANXN5 0 +SPIN2A 0 +SPIN2B 0 +SPIN3 3 +SPIN4 0 +SRPX 0 +SSX2 0 +SSX2B 0 +SSX3 0 +SSX4 0 +SSX4B 0 +SSX5 0 +SSX7 0 +SSX9 0 +SUPT20HL2 2 +SYN1 0 +SYP 0 +SYTL4 4 +TAB3 2 +TAF7L 0 +TAF9B 0 +TCEAL5 0 +TCEAL6 0 +TCEAL8 0 +TCP11X2 0 +TENM1 0 +TEX11 0 +TEX13A 0 +TEX13B 0 +TEX28 0 +TFDP3 0 +TFE3 4 +THOC2 79 +TIMM17B 0 +TIMM8A 1 +TLR8-AS1 1 +TMEM185A 1 +TMEM255A 0 +TMEM27 0 +TMEM47 0 +TMLHE 0 +TMLHE-AS1 0 +TMSB15A 0 +TRAPPC2 0 +TREX2 0 +TRMT2B 0 +TRPC5 0 +TSC22D3 0 +TSPAN6 0 +TTC3P1 0 +UBL4A 0 +UPF3B 2 +UQCRBP1 1 +USP26 0 +USP27X-AS1 0 +USP51 0 +UXT 2 +VCX2 0 +VCX3A 0 +VSIG4 0 +WDR45 0 +WNK3 0 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE3 0 +XIST 0 +XKRX 0 +XRCC6P5 0 +ZBED1 0 +ZC4H2 0 +ZCCHC5 0 +ZDHHC15 0 +ZDHHC9 0 +ZFX-AS1 0 +ZMAT1 0 +ZMYM3 0 +ZNF182 4 +ZNF280C 9 +ZNF41 0 +ZNF630 0 +ZNF674 0 +ZNF75D 0 +ZXDA 0 +AMELY 0 +ASMTL 0 +BCORP1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD24 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CRLF2 0 +CSPG4P1Y 0 +DAZ1 0 +DAZ3 0 +DAZ4 0 +DDX11L16 0 +DHRSX 0 +FAM197Y2 0 +FAM197Y5 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +GTPBP6 0 +GYG2P1 0 +HSFY1 0 +HSFY2 0 +KDM5D 0 +LINC00280 0 +LOC101929148 0 +NCRNA00185 0 +NLGN4Y-AS1 0 +P2RY8 0 +PPP2R3B 0 +PRORY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1A3P 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2EP 0 +RBMY3AP 0 +SLC25A6 0 +SRY 0 +TTTY1 0 +TTTY10 0 +TTTY11 0 +TTTY13 0 +TTTY14 0 +TTTY16 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY18 0 +TTTY1B 0 +TTTY2 0 +TTTY20 0 +TTTY21 0 +TTTY21B 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY5 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +UTY 0 +VCY 0 +VCY1B 0 +XKRY 0 +XKRY2 0 +ZBED1 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.geneBodyCoverage.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.geneBodyCoverage.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,104 @@ +Total reads: 79258 +Fragment number: 50503 +percentile count +0 200 +1 400 +2 561 +3 726 +4 832 +5 920 +6 1032 +7 1085 +8 1102 +9 1152 +10 1242 +11 1245 +12 1193 +13 1258 +14 1260 +15 1306 +16 1238 +17 1246 +18 1259 +19 1290 +20 1318 +21 1304 +22 1374 +23 1410 +24 1391 +25 1477 +26 1438 +27 1445 +28 1468 +29 1418 +30 1457 +31 1443 +32 1382 +33 1404 +34 1422 +35 1489 +36 1478 +37 1445 +38 1467 +39 1484 +40 1486 +41 1446 +42 1485 +43 1474 +44 1468 +45 1433 +46 1448 +47 1466 +48 1466 +49 1472 +50 1493 +51 1446 +52 1465 +53 1507 +54 1489 +55 1536 +56 1628 +57 1639 +58 1606 +59 1638 +60 1612 +61 1612 +62 1593 +63 1631 +64 1672 +65 1715 +66 1767 +67 1782 +68 1832 +69 1881 +70 1866 +71 1877 +72 1938 +73 1992 +74 1969 +75 1940 +76 1936 +77 1936 +78 1960 +79 1988 +80 1949 +81 1964 +82 1955 +83 1988 +84 1984 +85 2020 +86 2055 +87 2110 +88 2140 +89 2100 +90 2106 +91 2128 +92 2135 +93 2150 +94 2146 +95 2062 +96 1995 +97 1875 +98 1549 +99 982 +100 284 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.geneBodyCoverage_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.geneBodyCoverage_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.geneBodyCoverage.png',width=500,height=500,units='px') +x=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +y=c(200,400,561,726,832,920,1032,1085,1102,1152,1242,1245,1193,1258,1260,1306,1238,1246,1259,1290,1318,1304,1374,1410,1391,1477,1438,1445,1468,1418,1457,1443,1382,1404,1422,1489,1478,1445,1467,1484,1486,1446,1485,1474,1468,1433,1448,1466,1466,1472,1493,1446,1465,1507,1489,1536,1628,1639,1606,1638,1612,1612,1593,1631,1672,1715,1767,1782,1832,1881,1866,1877,1938,1992,1969,1940,1936,1936,1960,1988,1949,1964,1955,1988,1984,2020,2055,2110,2140,2100,2106,2128,2135,2150,2146,2062,1995,1875,1549,982,284) +smoothsp = smooth.spline(x,y,spar=0.35) +plot(smoothsp,type="l",col="blue",xlab="Percentile of Gene Body (5'->3')",ylab="Number of read",xlim=c(0,100)) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.mapq_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.mapq_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,12 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.mapq_profile.png",width=500,height=500,units="px") +mapq_val=c(0,1,3,255) +mapq_count=c(589,3042,8955,66672) +xname=c("<3","<10","<20","<30","30-255") +freq = rep(0,5) +freq[1] = sum(mapq_count[which(mapq_val<3)])/79258*100 +freq[2] = sum(mapq_count[which(mapq_val<10)])/79258*100 +freq[3] = sum(mapq_count[which(mapq_val<20)])/79258*100 +freq[4] = sum(mapq_count[which(mapq_val<30)])/79258*100 +freq[5] = 100 +barplot(freq,beside=T,xlab="Mapping Quality",border="NA",space=1.5,main="Mapping Quality",ylim=c(0,100),ylab="Cumulative proportion (%)",col="blue",names.arg=xname) +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.mapq_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.mapq_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +MAPQ Read_Total Read_with_mapq +0 79258 589 +1 79258 3042 +3 79258 8955 +255 79258 66672 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.read_distr.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.read_distr.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.read_distr.png",width=500,height=500,units="px") +M=c(24849,1533,16115,8729,205,453,7563,14335) +Mname=c("CDS","5UTR","3UTR","Intron","TSS_Up_1Kb","TES_Down_1Kb","rRNA","Others") +val = barplot(M,xlab="",space=1,ylab="Read Counts",col="blue",border="NA") +text(x=seq(val[1],val[8],by=2),y=rep(0,8),srt=60,adj=0,offset=2,pos=1,xpd=T,labels=Mname) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.read_distr_pie.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.read_distr_pie.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.read_distr_pie.png",width=500,height=500,units="px") +pie(c(35430,508205),labels=c("Covered 35430 exons","Uncovered"),main="Exons",radius=0.6,clockwise=T,col=c("blue","white")) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.readlen_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.readlen_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,35 @@ +Position Read_Total Read_Len_mapped +67 79258 182 +68 79258 173 +69 79258 267 +70 79258 238 +71 79258 308 +72 79258 340 +73 79258 386 +74 79258 354 +75 79258 392 +76 79258 415 +77 79258 421 +78 79258 399 +79 79258 419 +80 79258 456 +81 79258 470 +82 79258 469 +83 79258 496 +84 79258 483 +85 79258 489 +86 79258 488 +87 79258 529 +88 79258 499 +89 79258 514 +90 79258 561 +91 79258 748 +92 79258 813 +93 79258 751 +94 79258 827 +95 79258 863 +96 79258 912 +97 79258 958 +98 79258 1648 +99 79258 1875 +100 79258 47529 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp1.res.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp1.res.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,49 @@ +filename /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp1.res.txt +is_pairEnd 0 +clipping_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.clipping_profile.png +mapq_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.mapq_profile.png +mapq_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp1.mapq_profile.xls +read_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.geneBodyCoverage.png +trans_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.TransCoverage.png +insert_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.inner_distance_plot.png +insert_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp1.inner_distance_freq.txt +read_dist_plot_file1 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.read_distr.png +read_dist_plot_file2 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.read_distr_pie.png +readLen_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp1.readlen_profile.png +geneCount_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp1.geneAbundance.txt +seqDeDup_percent 0.000000 +posDeDup_percent 0.000000 +no_clipping 0 +no_rRNA 0 +total_reads 79258 +uniq_mapped_reads 66672 +multi_mapped_reads 12586 +unmapped_reads 0 +low_qual 0 +low_qual_read1 0 +low_qual_read2 0 +pcr_dup 0 +rRNA_read 7563 +cds_read 24849 +utr5_read 1533 +utr3_read 16115 +intron_read 8729 +itgup1k_read 205 +itgdn1k_read 453 +itg_read 14335 +unmapped_read1 0 +unmapped_read2 0 +mapped_read1 0 +mapped_read2 0 +forward_read 33207 +reverse_read 33465 +paired_reads 0 +mapped_plus_minus 0 +mapped_plus_plus 0 +mapped_minus_plus 0 +mapped_minus_minus 0 +ins_read 0 +del_read 0 +noSplice 52213 +splice 14459 +paired_diff_chrom 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.ReadLen_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.ReadLen_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.readlen_profile.png",width=500,height=500,units="px") +readlen_val=c(67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +readlen_count=c(182,177,265,292,322,337,407,384,377,408,421,433,465,412,463,458,469,448,457,476,520,507,519,576,723,741,800,824,805,847,931,1476,1885,50582) +plot(readlen_val,(readlen_count/80603),pch=20,xlab="Mapped Read Length",ylab="Proportion",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.TransCoverage.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.TransCoverage.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,10 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.TransCoverage.png',width=500,height=500,units='px') +a=c(0,0,4,0,0,0,0,166,0,0,0,0,0,0,0,0,3,0,0,0,1,1,0,2,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,6,2,0,0,31,0,1,9,0,0,0,0,0,1,0,3,1,14,0,0,10,10,2,2,0,0,0,0,0,1,0,0,0,4,0,0,0,0,0,0,6,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,5,0,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,0,1,2,0,0,6,0,0,2,0,0,10,0,0,0,0,0,0,0,0,0,0,0,2,2,0,4,5,5,0,16,0,0,0,0,0,0,0,4,5,13,2,0,0,0,0,0,0,4,3,0,0,0,0,0,2,6,6,0,0,0,0,0,0,0,3,0,0,1,0,7,0,1,0,0,0,1,2,0,0,6,0,0,0,0,0,0,0,1,0,0,8,0,0,0,0,0,0,0,0,0,2,0,6,0,1,0,0,0,0,2,0,0,2,0,0,0,0,0,1,2,0,0,0,4,1,0,1,1,0,0,0,0,1,0,0,3,0,0,21,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,147,0,0,0,0,0,1,0,0,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,4,1,0,0,0,3,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,5,0,4,0,5,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,8,0,6,1,0,0,0,0,0,0,0,0,0,0,4,0,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,1,4,0,0,0,0,0,0,1,0,0,0,0,0,2,5,4,0,0,0,1,0,0,2,4,6,0,0,0,0,0,5,0,15,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,5,14,0,0,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,16,0,2,0,0,0,0,0,0,14,1,4,0,0,0,3,3,0,0,0,1,0,11,0,2,0,1,6,2,2,0,0,0,0,15,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,31,1,6,0,0,0,0,2,0,2,0,0,0,0,3,3,0,0,0,0,0,25,3,0,4,0,32,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,12,3,0,0,0,0,7,0,1,0,0,0,2,0,3,0,0,1,0,0,0,0,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,0,0,0,0,12,0,1,2,0,3,0,111,0,0,1,0,10,1,1,0,1,0,1,0,0,6,1,1,6,0,0,0,1,0,0,0,0,13,6,0,0,0,0,1,0,0,2,2,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,3,0,0,0,0,0,0,2,0,1,4,7,3,0,20,0,0,2,3,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,1,1,2,0,2,3,2,0,0,8,2,0,0,0,1,2,0,0,0,0,0,0,514,0,0,0,0,0,0,3,6,17,4,1,3,0,0,1,0,0,0,0,0,0,0,0,0,2,5,19,7,0,1,2,1,4,0,16,0,0,1,3,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,2,4,1,1,0,1,0,0,4,3,0,1,0,0,0,5,0,0,0,0,0,0,0,0,4,0,0,1,0,0,0,0,0,1,0,0,1,0,2,0,0,1,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,0,2,5,0,0,0,0,0,0,0,0,0,1,0,0,0,1,2,9,38,0,0,0,0,1,4,3,2,2,3,0,0,2,0,0,5,0,0,8,0,0,0,0,1,0,1,6,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,1,2,0,0,0,0,0,5,0,0,1,0,1,0,6,0,7,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,1,0,1,1,0,0,0,2,0,1,0,0,0,0,3,0,0,0,0,1,2,2,1,1,2,0,1,2,2,5,1,0,0,18,1,5,11,1,0,0,0,0,0,2,1,1,0,0,0,0,0,1,0,0,0,2,5,2,2,0,0,1,2,0,0,0,0,0,0,25,1,1,1,3,2,1,5,0,0,3,2,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,63,0,0,6,0,0,0,0,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,6,0,3,0,0,0,0,0,0,8,3,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,3,0,3,5,0,9,1,0,0,0,1,5,45,0,0,0,0,3,0,79,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,6,14,2,0,0,0,0,0,0,0,0,1,0,3,0,0,4,0,0,3,0,0,0,1,0,0,1,0,0,10,1,17,0,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,5,5,0,1,0,0,0,0,4,0,0,0,1,0,0,0,0,12,0,2,5,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,5,0,1,0,1,0,0,0,0,10,2,19,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,5,2,0,0,3,0,7,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,10,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,2,0,0,9,2,0,0,0,0,0,0,0,1,1,23,0,0,1,1,2,0,0,2,0,0,0,0,1,1,0,11,0,0,0,0,0,0,0,0,0,1,56,1,0,0,4,0,0,1,4,0,0,0,0,4,0,1,0,1,0,1,5,1,0,1,26,0,0,0,1,0,0,0,0,2,0,1,5,0,2,27,3,0,0,0,6,0,0,0,0,2,0,0,0,0,0,0,6,0,0,3,1,0,0,0,0,0,3,0,0,0,2,0,0,30,0,0,0,4,0,1,0,0,0,0,15,0,0,0,0,0,1,0,0,0,0,2,0,0,3,2,0,2,0,1,2,0,39,3,1,0,0,1,2,1,0,0,3,4,0,0,1,4,1,1,1,1,2,6,0,0,8,0,5,0,3,0,0,0,0,0,1,0,0,0,4,0,0,0,3,1,0,0,0,0,0,4,0,0,0,3,6,0,0,0,0,0,0,2,7,0,0,0,1,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,17,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,2,5,0,2,5,30,0,1,0,0,0,2,0,2,0,0,0,1,0,0,28,6,0,1,61,0,0,0,0,0,0,3,51,0,0,19,0,1,0,0,0,0,2,0,1,0,0,13,1,0,0,0,2,0,0,0,12,9,4,0,0,0,0,1,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,2,0,0,0,0,1,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,6,0,1,0,0,2,0,0,2,0,0,0,0,3,0,0,0,0,0,1,0,0,13,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,0,0,0,0,0,4,0,0,0,5,10,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,1,0,0,0,1,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,1,0,2,2,1,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,0,200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,3,0,1,0,0,0,0,9,0,0,2,0,0,0,0,0,2,1,1,0,0,0,1,4,1,1,12,0,0,18,6,3,0,0,4,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,13,0,0,0,1,0,0,3,0,10,1,14,18,0,1,2,6,0,0,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,18,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,6,1,0,0,0,0,1,1,0,3,1,5,4,0,0,1,0,0,6,0,1,3,0,0,0,3,0,0,0,0,0,0,0,6,1,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,35,0,0,3,1,0,0,0,0,1,3,0,6,0,0,0,0,0,0,0,0,0,2,4,0,0,1,2,0,1,0,0,0,7,0,5,0,0,3,3,0,0,6,20,0,1,0,1,3,0,0,0,0,0,1,18,0,0,10,0,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,0,0,0,8,0,0,0,0,0,0,7,0,0,4,0,5,2,0,0,0,0,1,0,0,0,1,0,1,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,15,2,5,10,0,0,5,0,0,0,0,0,0,0,1,0,0,0,0,0,0,5,0,4,0,0,0,0,1,4,1,0,1,0,0,1,0,3,3,0,0,0,0,2,10,0,3,315,0,0,0,0,7,2,0,1,12,0,0,0,0,6,0,0,3,1,2,0,1,0,0,0,0,0,0,0,0,0,1,3,0,0,1,0,0,0,0,0,1,0,0,0,3,2,0,0,0,3,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,1,0,3,0,2,8,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,6,0,13,0,5,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,0,0,4,0,0,0,0,1,0,0,0,1,0,0,1,0,2,1,1,3,39,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,2,1,0,0,2,7,0,1,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,0,10,3,12,0,0,0,4,0,0,10,4,0,0,0,1,0,0,2,0,0,0,2,0,0,0,1,0,11,0,2,0,0,0,5,4,0,5,0,0,0,0,32,0,0,1,0,1,16,6,0,19,3,4,3,3,0,0,3,0,0,1,0,1,0,0,23,110,0,12,0,0,0,0,0,1,0,0,3,0,1,4,1,0,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,5,1,0,0,1,0,0,0,0,0,0,14,13,0,2,0,2,3,1,0,0,3,0,1,0,0,1,0,0,0,22,8,1,0,1,4,0,0,1,0,0,0,0,4,0,1,0,0,0,2,8,0,9,1,0,0,0,158,11,0,2,0,0,25,2,0,1,0,1,0,0,0,0,0,2,0,8,0,0,1,0,0,0,3,0,0,0,0,0,21,1,0,6,0,1,0,0,0,0,0,0,0,0,0,14,0,0,0,2,0,0,0,0,0,5,4,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,20,0,0,0,0,0,0,0,0,0,0,0,3,1,2,0,0,0,0,0,0,1,0,1,0,0,0,0,2,0,0,0,0,1,0,0,0,4,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,3,0,0,6,2,0,0,3,3,2,0,0,0,0,1,0,0,0,5,1,0,0,0,0,0,0,0,0,1,0,1,0,0,0,4,0,0,0,0,0,0,1,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,1,0,0,1,4,0,1,0,0,0,6,0,0,0,0,0,1,1,0,2,0,0,0,1,0,0,2,1,0,8,0,0,0,0,1,0,0,3,0,0,0,8,0,0,1,0,0,0,1,2,1,2,16,1,0,13,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,16,0,0,1,0,0,0,0,0,83,0,3,0,1,0,0,1,16,0,0,5,2,0,0,3,0,0,5,0,50,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,20,1,0,0,2,0,1,0,0,0,2,0,0,0,0,0,4,0,0,0,0,0,1,3,0,0,1,0,1,2,5,2,0,0,0,8,0,0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,1,0,2,0,0,24,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,8,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,5,1,1,0,1,2,0,0,0,2,0,27,1,0,2,1,8,0,2,0,0,0,9,1,0,0,0,1,0,0,0,0,4,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,6,4,0,0,0,0,5,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,3,0,0,34,3,1,0,10,0,7,0,0,0,0,0,2,0,0,0,0,1,0,1,0,0,0,0,0,2,0,1,2,0,3,3,0,8,1,2,1,0,0,1,9,4,4,1,0,10,0,3,0,1,0,1,0,10,0,0,0,0,0,0,0,0,0,2,0,3,19,0,0,0,0,0,0,1,0,0,14,0,0,0,0,2,1,0,0,0,0,4,0,0,0,0,0,5,0,42,0,0,0,1,5,10,0,3,0,0,0,0,0,0,3,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,5,0,1,0,0,0,0,0,2,4,1,1,0,0,0,0,4,0,0,0,3,0,0,1,0,0,0,4,0,0,0,1,0,0,10,3,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,7,1,0,0,0,22,1,0,0,0,0,0,1,0,0,0,0,11,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,1,0,1,26,1,5,2,2,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,0,0,0,0,12,3,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,4,1,0,3,0,0,0,14,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,7,2,0,5,0,6,0,11,0,20,0,3,1,0,0,0,0,0,2,0,1,7,0,0,1,1,0,0,0,0,0,0,0,6,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,1,0,0,0,0,1,0,0,0,0,0,0,2,3,0,0,6,0,5,8,4,0,0,0,0,0,2,5,6,0,0,0,3,0,0,56,0,0,0,0,0,0,58,0,5,1,0,0,6,0,0,0,4,0,0,4,0,0,1,3,0,0,2,10,0,0,0,0,0,1,0,0,7,0,0,0,0,0,0,1,0,0,1,5,0,4,0,6,11,1,4,0,0,0,6,0,1,0,3,0,0,4,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,0,0,1,3,0,1,0,0,13,0,0,0,4,2,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,1,1,0,0,0,3,3,0,1,0,0,3,0,3,5,5,0,3,0,0,0,0,4,0,1,0,0,0,0,0,3,0,0,4,0,0,0,0,1,0,0,0,0,3,0,0,0,0,1,1,0,1,0,0,0,1,0,0,4,2,0,0,0,4,0,0,0,0,1,0,2,9,0,5,0,0,0,0,0,0,0,2,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,2,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,16,0,2,0,2,5,0,0,0,2,9,0,5,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,5,1,18,0,0,0,0,2,0,1,0,7,1,0,0,0,1,7,19,0,0,0,0,0,1,0,7,1,0,3,1,0,0,2,0,0,0,0,0,0,7,0,0,1,0,1,0,1,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,2,3,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,0,0,1,5,0,1,0,0,0,0,0,1,0,0,0,0,5,0,0,0,0,1,0,3,0,0,0,0,0,0,0,16,0,0,0,0,0,0,4,0,0,1,0,3,10,5,5,5,2,11,0,0,0,1,0,1,0,0,0,7,1,34,0,1,0,0,0,0,0,0,0,11,0,0,0,0,1,0,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,47,4,44,0,0,0,0,0,2,0,1,0,0,0,9,0,0,0,1,0,0,0,0,0,1,3,0,0,0,0,0,2,2,0,0,0,7,0,0,1,0,0,0,2,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,10,0,19,2,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,1,0,0,0,0,0,2,1,0,0,0,2,0,0,0,2,4,1,3,1,0,0,0,0,1,6,0,0,0,56,9,0,1,0,0,1,0,0,0,2,0,0,0,0,6,1,0,0,0,1,52,0,0,0,0,1,0,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,6,0,0,0,0,0,0,0,0,0,0,16,1,0,0,0,2,0,0,0,1,0,24,3,0,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,6,1,0,0,0,0,0,61,7,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,1,0,11,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,0,0,0,0,0,4,2,0,0,0,0,0,0,0,0,1,9,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,1,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,1,0,1,2,0,7,0,0,2,0,1,0,0,0,0,0,0,0,5,1,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,1,1,0,0,0,5,0,5,0,0,0,0,2,1,0,3,0,2,1,0,11,0,14,0,1,0,7,0,1,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,1,0,1,1,0,16,2,8,1,4,0,8,0,0,0,0,0,4,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,18,0,2,0,2,0,19,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,0,1,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,1,0,0,0,0,0,15,0,0,0,1,0,0,16,0,1,0,3,0,0,0,0,0,0,0,1,3,2,3,0,1,7,0,160,2,0,0,0,0,0,1,0,0,1,0,0,0,60,0,0,0,1,1,0,0,8,0,0,0,5,0,5,3,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,6,0,0,0,1,0,0,0,9,0,5,0,0,0,1,0,1,0,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,5,4,0,3,0,0,1,1,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,1,3,0,2,1,0,0,0,1,1,0,1,0,0,3,0,0,0,0,8,4,0,0,10,0,3,0,3,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,4,2,0,0,0,3,1,0,4,0,0,6,0,0,0,2,0,0,0,0,0,0,4,0,0,3,12,2,0,8,4,2,0,0,0,0,4,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,1,4,0,0,1,0,0,0,0,1,0,0,6,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,1,2,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,30,0,1,0,0,0,0,0,0,0,0,1,1,0,1,1,3,0,0,1,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,3,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,131,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,2,1,22,0,0,3,2,0,0,1,0,0,0,0,0,0,2,0,0,2,0,2,0,5,1,7,0,0,0,1,0,0,11,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,5,3,0,12,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,0,0,0,0,2,3,0,0,1,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,1,0,5,0,0,1,1,0,0,0,0,0,1,0,0,0,0,1,0,0,66,440,13,1,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,0,0,0,0,2,1,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,2,0,6,0,0,3,0,0,0,0,1,0,0,0,0,3,0,5,0,2,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,20,0,4,10,46,24,1,21,4,14,2,6,0,0,0,4,1,6,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,3,0,0,0,4,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,6,0,0,75,2,0,0,0,4,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,2,0,0,0,4,0,1,51,0,0,1,2,1,0,9,0,0,0,0,3,0,0,0,0,0,2,0,1,0,0,0,2,7,0,2,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,3,3,0,3,2,0,2,0,2,0,0,3,0,0,0,0,1,1,0,1,1,0,1,1,1,0,0,0,2,1,0,12,0,0,0,0,1,0,0,0,1,0,3,2,0,0,0,3,0,0,0,0,0,0,0,0,1,0,12,0,0,0,2,2,12,0,0,0,0,3,0,1,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,0,0,1,1,3,1,12,1,0,0,0,1,0,2,0,2,0,0,1,0,10,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,4,14,3,0,0,0,1,0,2,0,0,1,0,0,51,0,0,0,1,5,7,1,0,0,2,3,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,4,2,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,3,14,0,0,0,0,0,0,1,4,1,2,1,0,0,0,0,0,0,1,3,0,0,1,17,0,0,0,0,1,7,37,1,0,0,2,0,1,6,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,2,0,0,0,4,9,0,0,2,4,0,0,0,0,0,0,0,0,1,0,0,0,4,0,22,0,1,4,1,0,0,0,0,44,0,0,2,0,6,13,2,1,1,2,0,3,0,2,0,0,1,0,2,0,2,1,12,0,0,0,0,6,0,0,0,0,1,0,0,3,0,0,0,0,0,0,0,0,0,2,7,0,0,1,0,0,9,0,0,0,1,0,0,4,5,0,1,1,1,0,0,0,0,1,0,0,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,4,2,2,11,0,4,0,0,0,0,0,0,13,2,1,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,1,7,2,3,0,0,0,1,0,4,0,0,3,0,1,0,0,1,0,3,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,4,0,1,2,1,1,3,1,0,7,0,1,0,0,13,0,2,0,0,0,0,1,1,1,0,21,6,5,0,0,0,0,1,0,0,4,2,0,0,2,0,4,0,0,0,0,0,0,2,0,0,99,0,0,20,1,0,0,0,4,0,0,1,0,0,6,0,2,12,0,0,0,0,1,0,1,0,3,0,0,0,0,35,0,7,0,0,0,0,0,0,0,0,0,0,0,0,17,2,2,0,10,1,0,0,1,5,6,0,0,5,0,6,0,0,0,0,0,0,1,0,0,0,0,0,5,0,1,14,0,5,0,0,3,0,0,0,1,0,0,1,13,14,4,1,31,0,0,0,0,0,0,0,0,0,0,0,0,12,0,12,0,0,1,0,0,0,0,0,1,0,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,2,11,7,1,0,1,0,0,0,0,2,0,4,1,0,0,0,0,0,1,0,0,0,8,0,19,0,1,0,0,0,0,3,0,0,0,0,3,0,0,0,0,0,0,1,1,0,0,0,0,4,0,0,0,0,2,7,1,0,3,0,4,0,0,1,0,29,0,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,4,0,2,0,0,1,2,0,37,0,2,0,9,1,3,0,0,0,3,4,0,0,0,0,0,0,0,2,0,1,0,0,3,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,25,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,8,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,1,7,0,1,4,8,0,2,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,2,1,3,0,1,0,0,1,0,1,0,3,0,0,2,0,0,3,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,8,0,0,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,2,10,0,0,0,39,0,0,0,0,1,0,0,0,0,1,0,0,0,0,3,0,0,0,0,0,0,7,1,0,0,0,3,1,0,0,0,0,0,0,0,0,9,0,0,1,0,0,3,0,9,2,4,1,4,0,0,0,20,0,7,0,14,0,0,2,0,0,2,0,0,0,0,5,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,3,15,0,0,0,0,0,0,0,2,0,0,5,3,6,0,0,1,0,0,0,2,0,0,0,0,2,0,0,0,24,4,0,1,13,0,0,0,0,0,3,0,0,2,0,0,0,0,12,0,0,14,49,0,3,2,0,0,0,0,0,8,0,0,0,2,0,0,0,1,13,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,1,0,8,0,0,0,0,0,0,0,1,1,7,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,2,1,0,0,0,0,0,1,1,0,0,0,3,2,1,0,0,1,2,0,0,0,0,2,0,2,17,1,0,0,3,0,0,14,4,2,1,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,8,3,7,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,2,0,0,0,0,0,3,20,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,4,0,12,0,0,2,1,0,0,0,2,0,0,0,0,1,0,0,0,0,0,2,1,0,0,0,8,1,32,13,0,0,0,0,0,0,2,0,0,0,0,2,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,5,5,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,61,0,0,0,0,19,2,0,2,0,0,0,0,0,0,0,1,0,1,1,1,0,0,0,0,0,5,0,0,1,0,2,0,0,2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,0,0,4,8,2,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,2,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,2,1,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,5,0,0,0,0,0,0,0,27,0,0,0,0,1,0,0,0,0,4,0,1,9,0,0,0,2,3,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,7,0,0,0,2,12,0,0,0,0,0,0,3,0,0,0,96,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,4,0,6,0,1,0,0,0,0,0,0,0,0,1,0,2,0,0,2,0,4,0,0,0,0,0,0,0,0,1,0,0,0,0,1,2,0,0,0,1,0,4,0,0,1,1,0,2,0,18,5,0,1,0,3,2,0,0,0,5,0,4,0,0,0,0,1,0,0,0,23,0,0,0,0,0,4,8,0,43,2,0,0,0,0,3,0,0,1,0,4,0,1,0,0,1,0,0,0,0,0,3,0,0,0,15,1,0,2,1,0,0,0,0,1,18,0,0,10,0,0,0,0,0,0,0,0,1,0,2,9,0,1,0,0,0,0,0,0,0,0,0,1,1,0,105,217,0,0,0,0,20,0,1,0,0,1,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5,2,8,0,0,1,0,1,0,0,1,0,0,14,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,1,0,0,0,6,0,0,2,5,2,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,4,2,1,0,0,0,3,4,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,1,2,11,0,1,0,0,0,1,0,0,0,5,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,10,0,0,0,0,5,2,2,1,0,0,0,1,1,0,3,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,0,0,0,2,0,39,0,0,0,2,0,1,15,4,0,0,0,3,10,10,0,0,1,0,0,3,0,0,0,0,0,0,6,0,4,29,10,4,13,5,4,0,0,0,10,0,0,0,9,4,5,0,0,0,1,0,0,1,0,0,1,0,0,0,0,0,1,0,2,0,0,0,0,1,0,1,0,1,8,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,6,0,0,2,1,0,0,0,0,1,1,0,0,4,0,0,1,13,1,0,1,0,0,10,0,1,0,0,4,3,0,29,0,0,0,0,0,2,0,0,0,5,0,0,0,0,0,3,1,42,23,0,0,0,0,1,4,1,0,9,0,1,0,0,0,3,3,1,0,1,0,9,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,4,0,0,0,0,1,0,0,1,0,2,3,3,0,0,0,0,7,0,5,0,0,5,3,0,6,0,2,9,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,12,8,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,10,0,0,0,0,0,0,3,0,1,1,3,4,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,3,1,0,4,0,12,2,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,2,0,14,1,0,0,0,0,0,0,0,0,0,0,2,0,19,0,12,0,2,0,24,0,1,0,1,0,0,1,0,0,0,0,3,0,1,0,0,0,0,0,0,4,0,32,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,1,35,4,0,7,0,0,0,0,0,0,2,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,3,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,3,0,7,0,0,0,0,0,0,0,0,0,0,5,6,0,2,0,2,1,0,1,0,0,0,0,15,0,0,1,4,0,1,0,2,6,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,1,0,0,0,0,0,0,0,5,0,0,0,1,0,4,1,1,0,0,0,0,1,0,0,0,0,1,0,2,1,0,12,10,0,0,0,1,3,0,0,0,1,0,0,0,0,0,9,3,1,0,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,4,0,0,0,0,1,0,0,0,0,17,4,2,15,13,0,0,0,2,0,1,0,1,0,0,0,0,0,0,1,1,2,0,1,0,1,0,8,1,2,40,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,1,7,28,3,4,19,1,0,0,9,9,0,1,0,0,0,0,0,0,0,0,0,5,0,0,0,0,4,0,1,12,0,4,0,0,0,0,0,1,0,3,0,0,1,3,0,0,1,2,20,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,23,5,0,0,5,0,0,60,7,3,2,0,0,0,37,0,0,0,0,2,0,6,2,6,1,12,0,0,0,0,1,0,0,0,0,0,0,0,0,0,12,0,1,0,1,3,18,13,6,6,7,1,0,0,2,5,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,0,0,1,0,7,0,0,0,0,0,0,0,0,1,18,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,4,3,1,0,3,0,0,4,1,2,0,7,0,2,0,0,0,0,0,0,0,31,4,0,0,0,0,1,0,0,0,36,0,2,3,0,0,0,2,2,2,6,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,2,0,6,3,1,3,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,5,0,1,0,0,0,0,0,2,1,0,0,0,0,0,0,15,3,2,0,26,0,0,0,0,1,1,0,0,0,0,0,1,2,0,0,4,0,0,47,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,95,0,4,1,3,6,0,0,0,0,0,9,0,3,0,0,4,0,0,0,0,0,5,0,0,0,115,0,0,0,3,13,8,0,2,1,0,10,1,0,0,0,0,0,6,0,7,1,0,0,0,10,0,0,0,0,1,1,1,6,0,0,0,0,1,2,0,0,0,23,3,0,0,0,13,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,3,0,25,0,0,0,0,0,0,0,0,11,0,20,2,2,0,0,3,0,0,3,4,6,15,0,0,0,7,1,0,0,1,0,1,0,0,5,1,1,0,5,0,0,0,12,0,0,0,6,0,1,0,2,1,0,0,0,0,0,0,7,0,1,2,1,0,1,0,1,14,1,2,0,0,1,0,1,0,1,0,0,0,2,3,0,0,0,0,33,0,0,1,56,4,0,7,0,0,0,0,1,28,28,0,0,0,0,0,1,0,23,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,0,0,0,2,0,0,2,0,1,1,8,4,25,1,0,3,5,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,2,0,0,6,0,0,25,0,0,0,4,0,0,0,0,0,0,1,0,0,1,0,0,2,0,2,0,0,0,0,0,0,0,1,0,1,0,0,4,1,0,0,0,0,0,0,0,15,2,1,0,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,3,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,8,0,2,0,1,79,0,0,0,0,0,1,0,1,0,2,0,41,0,0,0,0,7,36,0,0,1,0,0,1,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,16,0,0,9,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,4,0,0,6,0,2,0,0,0,0,0,0,0,0,0,48,11,1,0,0,0,0,0,0,0,9,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,3,0,1,0,0,0,1,0,0,9,0,0,0,0,8,0,0,0,6,0,0,0,0,0,1,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,12,0,0,0,0,0,0,0,0,0,10,0,0,1,0,0,0,0,0,6,0,0,22,0,0,17,0,1,0,1,0,0,1,0,0,2,0,0,0,1,4,0,0,1,1,0,0,1,0,0,0,0,0,0,16,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,2,0,6,0,0,5,0,14,0,0,0,6,1,0,1,8,0,0,0,10,0,0,3,0,4,0,4,0,11,0,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,6,5,0,0,1,1,1,0,0,0,0,0,1,0,1,3,0,3,0,3,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,3,5,0,0,2,1,0,0,0,0,1,0,1,7,0,1,0,0,0,2,0,2,0,0,1,0,0,0,0,0,1,3,0,0,3,2,0,0,0,57,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,1,0,0,2,0,0,0,1,0,10,0,2,0,0,4,11,0,0,1,0,0,0,1,0,0,1,0,21,0,0,0,0,2,0,0,0,0,0,0,0,3,0,1,6,0,0,0,6,13,0,0,0,2,0,0,0,0,1,0,0,8,1,1,0,0,0,0,7,1,4,0,1,0,0,5,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,13,8,2,0,1,0,0,0,0,0,0,0,3,0,0,0,0,0,7,1,12,4,0,1,0,0,0,1,0,0,4,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,0,0,0,0,0,1,2,9,4,0,0,1,0,0,0,1,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,1,3,0,1,0,0,0,9,0,0,0,4,0,15,8,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,2,3,0,0,0,0,0,6,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,4,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,6,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,9,0,1,0,1,1,25,0,0,0,1,0,2,0,0,0,0,5,15,11,0,0,0,0,2,4,1,0,2,2,1,0,0,0,2,0,0,0,0,0,0,2,0,1,0,7,0,0,0,0,0,0,4,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,1,0,0,0,8,0,0,2,0,13,0,0,0,0,0,0,0,0,63,0,0,0,0,0,0,0,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,3,0,1,3,0,0,0,0,2,0,0,0,0,0,0,0,2,0,515,0,0,23,0,2,1,0,0,0,2,0,0,0,0,2,1,0,1,2,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,3,1,2,0,29,1,1,2,1,0,1,0,0,0,1,0,0,0,1,1,0,0,0,0,10,2,0,0,0,2,0,0,10,0,10,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,12,6,25,0,1,0,0,0,1,0,1,1,0,0,0,1,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,5,1,0,6,1,7,0,7,0,0,0,29,57,0,5,0,0,0,0,0,0,0,0,1,0,0,0,0,6,30,0,0,0,0,5,8,1,1,14,1,0,0,8,0,0,0,0,2,0,0,0,1,0,0,1,0,3,0,0,0,0,2,1,16,2,0,0,0,8,0,0,0,22,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,2,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,7,3,1,0,0,0,0,0,0,0,0,12,1,0,0,0,13,0,0,0,1,0,0,1,0,2,1,11,3,0,0,1,0,0,0,0,0,15,0,6,1,2,0,0,0,0,0,5,0,0,1,6,0,0,0,0,10,1,1,0,0,3,0,0,0,0,3,0,0,0,0,0,1,0,0,0,2,0,0,0,0,2,0,0,67,0,0,2,0,4,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,20,1,0,1,0,5,1,0,0,0,0,0,0,0,1,0,1,0,0,1,1,0,0,0,0,0,2,6,6,0,0,2,0,0,0,4,3,3,0,1,0,0,0,1,1,0,0,0,1,3,0,0,0,0,0,0,6,0,1,0,0,2,0,0,15,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,6,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1,7,0,0,0,2,0,2,0,0,7,1,0,1,1,0,0,0,0,0,0,0,3,0,0,0,0,0,3,0,0,0,1,0,51,0,0,0,0,0,0,3,0,2,0,0,2,1,0,14,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,6,0,2,1,0,0,0,0,0,0,1,0,0,2,0,1,0,1,0,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,4,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,3,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,1,0,0,2,0,1,0,0,0,0,0,0,0,6,0,1,1,0,1,0,2,7,0,0,0,0,0,0,0,0,0,0,0,0,0,14,2,0,0,0,0,0,1,0,0,2,18,0,0,48,0,1,0,0,0,6,5,29,0,0,1,0,1,1,0,0,0,21,15,2,1,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,3,1,0,2,0,0,2,0,0,0,0,0,0,2,4,1,2,0,0,0,0,0,0,0,0,10,0,0,0,0,0,4,0,0,14,139,0,0,1,25,2,9,0,0,0,2,0,1,0,1,0,0,5,15,0,0,1,2,7,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,2,0,0,2,19,0,1,0,0,0,3,0,0,11,0,0,0,1,0,0,3,0,0,0,3,0,1,9,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,24,0,0,0,0,0,15,0,0,4,33,3,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,16,0,9,0,0,0,2,0,0,0,0,3,1,1,0,0,0,0,0,0,0,5,29,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,2,2,0,1,0,0,0,1,0,0,3,0,0,0,0,1,0,1,60,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,4,0,3,0,5,3,1,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,2,36,0,0,0,0,0,0,0,0,0,1,17,0,0,0,2,0,0,0,0,0,6,0,0,0,3,0,3,0,20,0,0,1,0,0,4,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,4,0,0,0,7,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,22,0,0,0,0,2,0,2,9,0,5,0,0,0,1,1,6,0,6,7,0,0,1,0,0,0,0,0,0,0,0,0,1,7,0,0,0,0,0,0,5,0,0,14,0,6,0,1,0,0,0,0,0,0,0,0,1,2,0,0,1,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,5,0,0,0,0,0,0,0,22,0,0,0,0,0,0,0,0,4,0,0,0,0,1,0,0,0,0,1,1,11,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,1,15,0,0,2,1,0,0,0,3,0,0,0,1,0,0,2,22,0,1,2,0,0,6,0,1,0,0,0,0,0,0,0,5,0,0,0,0,0,0,1,0,2,0,0,0,0,0,0,0,7,0,0,0,0,1,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,6,1,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,2,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,7,2,0,0,1,0,1,3,4,10,0,0,0,0,0,0,0,1,0,0,25,13,10,0,3,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,128,0,0,12,0,0,0,0,0,0,0,0,0,1,0,4,0,1,0,6,11,0,0,0,0,0,1,0,0,3,0,0,0,0,8,0,8,0,0,0,0,0,0,2,2,0,0,0,2,0,0,0,9,0,0,0,2,3,1,0,0,10,0,1,1,0,11,4,0,0,0,0,3,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,0,1,0,0,0,0,6,0,1,0,0,3,12,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,2,0,0,0,0,1,20,23,1,4,6,0,0,0,5,0,5,0,2,0,2,0,0,0,0,0,0,0,0,7,0,2,13,2,43,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,0,0,2,0,0,0,1,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,20,0,0,0,2,0,0,0,1,15,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,0,0,2,0,0,0,1,1,0,0,1,0,0,0,1,0,3,0,0,0,4,0,0,0,0,0,20,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,1,2,0,0,0,0,0,0,0,1,0,0,4,0,1,0,0,0,2,0,0,10,0,9,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,3,0,0,0,7,1,0,0,8,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,1,5,0,1,0,0,3,0,17,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,0,0,19,0,1,0,0,4,16,1,0,0,0,0,0,0,0,0,0,2,1,0,2,0,0,0,0,0,1,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,31,1,0,0,0,0,0,9,6,0,0,0,0,3,5,0,4,0,3,1,0,1,8,0,3,1,0,7,0,0,0,7,0,0,2,0,1,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,0,2,0,12,0,2,0,0,0,0,0,0,1,5,0,0,0,28,2,8,0,0,0,1,8,0,3,4,2,0,0,0,0,4,0,2,0,0,0,0,0,0,0,0,0,0,5,0,0,0,1,0,2,2,4,0,0,1,0,0,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,1,3,11,0,2,2,1,1,17,0,0,0,10,0,4,0,0,2,5,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,2,0,1,0,0,0,0,0,0,0,1,12,0,0,5,0,0,0,0,0,0,0,0,0,0,4,1,0,3,4,16,0,0,3,0,50,1,2,0,3,1,0,1,0,0,0,0,0,1,2,4,2,0,2,0,5,0,0,0,0,1,2,0,3,0,0,8,0,2,0,2,0,16,0,25,1,0,0,14,0,0,2,0,0,3,0,0,4,7,0,0,0,0,1,0,0,37,0,0,0,0,0,0,0,0,0,1,0,0,1,24,0,0,2,0,2,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,2,3,0,0,0,4,0,1,74,0,3,7,6,0,1,0,0,0,0,0,0,12,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,0,4,0,0,0,0,0,0,3,0,0,6,1,36,0,0,0,0,0,0,2,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,7,0,1,2,1,2,0,4,0,12,1,0,0,0,0,0,25,1,0,0,0,8,0,0,0,15,3,0,2,1,0,0,0,0,19,0,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,0,36,0,2,0,3,1,0,0,0,0,0,0,0,35,0,1,0,0,8,0,0,0,0,2,0,0,0,3,0,0,0,0,0,5,9,0,0,0,5,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,4,1,2,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,1,0,2,0,4,0,1,3,0,0,0,0,0,12,0,0,7,0,0,0,7,4,2,0,0,0,3,0,0,0,0,4,0,11,0,0,1,1,2,2,0,5,2,0,0,0,0,7,0,11,0,0,0,0,0,3,0,0,0,0,4,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,7,0,0,1,2,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,0,0,4,0,0,0,1,0,0,5,591,0,0,0,0,2,0,1,3,0,1,0,0,0,21,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,2,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,4,0,0,0,0,0,6,0,0,0,0,0,0,0,2,0,0,0,1,7,0,16,0,46,5,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,6,6,0,0,1,0,0,6,0,0,2,0,8,0,0,20,0,19,0,0,1,0,0,0,0,0,16,0,0,0,0,3,0,1,6,0,1,0,0,0,1,0,0,2,0,0,6,7,0,0,1,0,0,0,0,2,4,1,2,3,2,0,0,0,0,0,0,0,0,0,15,0,3,0,15,0,0,0,0,0,2,9,1,1,0,1,0,0,2,2,2,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,4,0,0,0,1,349,2,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,1,1,0,1,0,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,12,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,0,5,1,1,0,0,0,0,0,6,1,0,0,0,0,2,0,0,4,0,0,15,2,0,0,0,2,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,0,0,5,0,0,3,0,1,0,0,0,0,0,0,0,4,0,0,1,0,0,25,0,0,2,3,0,0,0,0,0,0,1,0,10,0,0,0,1,2,0,0,0,0,2,0,0,0,0,1,2,0,0,0,0,0,2,0,14,1,6,0,0,0,0,2,0,2,0,40,9,9,1,1,6,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,0,0,0,1,4,7,0,0,3,0,0,0,1,1,0,0,11,3,2,0,0,0,1,0,0,12,0,0,6,0,0,0,0,3,0,2,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,2,12,0,0,0,16,0,0,0,0,0,7,0,0,0,0,51,0,3,0,0,0,0,0,0,2,0,0,0,0,1,0,2,1,3,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,1,0,1,0,0,0,3,0,3,0,0,0,0,0,0,11,0,0,0,0,0,0,7,2,4,30,16,3,16,1,0,0,10,0,0,0,0,0,0,1,2,0,4,0,4,2,0,0,0,0,0,0,2,0,0,0,0,0,2,0,1,0,0,0,1,0,3,0,9,3,0,0,5,0,0,1,0,0,0,0,0,0,4,2,0,0,0,0,1,16,3,0,1,0,0,0,0,0,2,0,0,0,12,0,2,0,0,1,2,1,0,0,5,23,0,3,12,2,0,0,0,0,1,0,0,0,0,0,1,0,8,2,0,0,0,1,2,0,5,0,1,0,2,1,0,1,0,0,0,0,0,0,0,1,0,2,0,0,0,0,1,0,0,0,0,0,1,0,0,0,2,0,7,0,20,0,0,0,0,1,3,10,0,4,1,0,0,0,0,3,0,15,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,54,0,0,0,0,0,4,0,1,19,0,12,0,0,0,0,0,0,0,0,0,0,0,4,2,17,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,0,0,0,1,11,0,9,0,2,0,0,0,1,0,1,4,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,3,75,2,1,1,0,0,0,0,0,5,0,0,4,0,0,0,0,8,0,0,0,0,0,4,1,0,0,0,1,0,7,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,14,35,0,0,0,0,0,0,10,0,0,0,0,3,0,38,0,0,1,0,2,0,0,1,7,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,1,3,0,0,0,0,0,3,36,0,10,0,13,7,2,0,4,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,8,0,1,0,0,0,0,0,0,0,0,0,7,0,0,0,2,0,0,0,0,4,0,0,5,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,2,1,0,0,0,1,0,3,6,0,0,0,0,0,0,0,0,0,26,1,52,2,1,0,3,0,0,0,2,3,0,0,3,2,0,0,0,1,4,2,13,1,8,0,1,0,0,5,0,20,0,0,0,6,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,2,0,0,0,0,1,0,0,8,0,0,4,0,0,1,0,2,4,0,0,3,13,0,34,0,0,0,0,0,13,0,0,0,14,0,0,5,0,0,0,0,0,0,0,0,1,0,7,0,12,3,2,1,0,26,1,3,0,0,0,0,2,0,14,1,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,2,0,0,0,0,0,2,0,9,0,0,0,0,0,0,3,0,0,0,0,0,0,0,1,0,0,1,122,1,5,2,4,0,2,0,0,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,1,0,13,0,1,0,9,0,0,0,0,0,0,189,0,0,0,0,2,0,1,0,0,1,0,0,0,3,0,2,26,34,0,0,4,2,2,12,0,0,0,0,0,0,0,0,2,1,3,1,0,0,1,0,0,6,2,7,1,0,38,0,0,0,0,0,0,0,2,0,0,0,0,3,1,1,0,0,0,0,3,0,1,3,0,8,1,0,0,0,1,1,8,0,0,1,2,0,1,0,0,0,0,1,44,1,21,1,0,0,0,1,0,0,142,1,0,0,0,1,3,0,1,0,5,0,2,0,7,0,2,4,1,0,4,1,3,0,0,0,0,0,0,0,0,0,0,17,6,0,0,0,0,0,0,0,0,0,0,0,4,0,2,1,0,0,12,0,220,0,0,3,0,2,2,0,1,0,3,0,1,0,0,4,0,0,0,0,0,0,0,0,4,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,20,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,4,0,0,0,0,0,0,0,7,34,0,1,0,0,0,0,0,1,2,0,0,10,0,0,0,0,0,0,0,0,260,0,0,14,1,0,0,0,0,3,0,9,1,0,0,2,0,3,0,0,3,0,1,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,1,0,0,2,7,0,0,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,11,0,2,0,0,0,0,0,16,5,1,0,0,0,0,0,2,0,0,0,7,0,0,5,188,0,0,0,0,0,1,1,4,0,1,1,0,0,0,0,8,1,5,0,0,0,0,0,1,2,3,0,0,0,0,0,0,0,0,0,0,0,3,1,0,17,0,4,0,1,0,0,0,1,0,1,1,1,0,0,1,0,39,0,0,0,0,0,0,0,0,0,0,0,1,11,0,0,3,0,0,8,0,0,2,0,3,0,0,0,0,9,8,0,2,0,7,0,0,1,0,0,0,0,0,0,0,2,1,0,0,0,0,2,0,0,4,0,0,3,0,0,0,1,0,54,0,1,3,0,41,0,0,1,0,0,0,8,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,0,12,0,0,1,0,0,0,0,0,2,0,1,2,4,0,1,1,0,1,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,1,1,0,0,1,2,0,0,3,0,0,1,5,0,2,1,0,0,0,6,0,25,1,11,2,4,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,15,0,5,4,0,0,0,0,1,1,0,5,0,6,0,0,0,3,0,0,0,4,0,0,2,9,2,9,0,0,7,1,1,0,0,46,0,0,1,1,0,0,0,0,1,0,0,0,1,2,5,0,2,0,0,0,0,0,0,3,2,0,1,0,2,7,0,0,0,0,18,0,1,0,3,0,1,0,0,9,0,0,12,0,3,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,14,0,2,6,0,0,0,0,5,0,2,0,0,2,6,2,0,18,1,8,1,0,1,1,0,5,7,1,1,0,0,1,49,0,0,0,0,2,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,2,3,0,0,0,1,0,0,0,0,0,0,1,1,2,2,0,1,1,0,0,0,0,0,0,0,0,6,0,0,0,1,2,21,0,0,3,2,0,0,0,0,0,0,0,7,0,0,1,2,0,0,0,0,0,3,0,0,1,11,0,0,0,0,6,0,0,0,0,1,0,0,1,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,1,24,2,2,0,10,0,0,0,2,0,21,0,2,1,0,4,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,1,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,1,2,0,3,4,1,0,3,4,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,5,0,9,0,0,3,0,0,0,0,0,0,1,0,0,5,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,0,0,4,0,0,0,0,4,1,0,0,3,0,0,9,0,1,4,0,0,0,4,2,0,0,3,1,0,0,0,0,0,0,10,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,17,0,0,0,0,0,0,5,0,0,0,2,1,3,3,2,1,0,0,2,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,40,0,2,15,2,4,4,1,0,0,4,0,0,0,3,7,0,10,9,1,1,9,0,0,0,0,0,1,0,3,1,0,0,21,0,0,0,0,0,0,27,0,1,0,0,0,0,0,0,0,0,0,3,1,8,0,95,0,0,0,0,0,4,2,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,5,0,0,0,0,4,2,8,1,0,0,0,0,1,0,0,0,0,0,0,11,0,0,0,0,0,1,0,0,0,4,0,1,1,30,0,1,0,0,0,0,4,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,1,0,0,0,1,1,0,6,0,5,13,0,0,0,0,0,13,1,0,0,0,5,0,3,0,15,0,1,0,0,0,0,10,2,0,0,0,2,0,0,0,1,2,0,0,1,1,2,0,2,2,0,0,0,0,0,0,1,1,0,0,11,0,6,0,0,0,0,33,0,0,0,5,0,0,1,2,0,0,0,0,2,1,0,0,0,10,0,0,1,1,0,0,0,0,1,2,0,3,21,0,11,0,3,0,0,0,0,263,9,0,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,0,2,0,0,0,1,1,1,0,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,1,0,3,0,0,0,0,1,3,26,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,4,0,0,0,0,0,2,1,0,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,0,0,1,24,0,0,0,0,0,0,1,0,0,0,0,7,8,3,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,4,0,0,0,0,1,0,0,1,5,0,2,3,1,0,2,0,0,0,0,1,0,0,1,0,0,0,0,0,0,3,0,0,0,0,0,0,3,0,0,1,2,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,5,3,0,1,0,1,0,0,0,0,7,17,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,2,2,0,0,0,0,1,0,0,3,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,4,0,1,14,3,0,1,0,0,0,0,0,1,0,1,2,3,3,0,0,0,4,0,0,2,9,0,1,0,0,0,1,2,0,4,1,10,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,9,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,5,1,17,0,0,2,0,0,3,0,0,0,1,1,0,0,0,0,4,1,1,1,0,0,0,1,1,0,4,10,0,4,3,0,0,0,3,19,0,0,0,9,13,0,1,0,1,0,0,0,0,1,15,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,10,0,2,0,0,0,0,0,1,1,4,0,0,0,1,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,1,2,1,0,0,3,0,0,0,0,2,0,0,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,22,0,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,7,0,0,0,22,9,1,0,4,0,1,0,1,0,0,1,0,1,0,2,0,0,2,10,0,0,0,0,0,12,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,4,1,2,5,0,0,10,9,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,5,2,1,0,0,2,0,0,0,0,0,0,0,0,0,1,0,0,11,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,0,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,1,1,0,0,0,15,0,683,0,0,0,0,0,0,0,0,0,16,0,0,0,10,0,0,3,0,0,0,0,0,0,4,1,2,0,0,0,9,0,0,0,0,1,0,2,1,1,0,1,0,5,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,3,4,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,0,0,0,3,0,0,3,0,0,1,2,0,0,0,0,105,3,70,8,134,1,0,0,0,0,0,0,0,0,0,8,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,5,0,5,0,0,3,0,0,2,0,0,0,0,0,0,0,0,2,0,0,1,3,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,4,0,0,2,0,0,0,0,0,3,0,0,1,0,0,0,2,0,1,0,0,0,5,17,0,0,0,0,0,0,0,2,1,0,0,0,0,0,0,0,0,5,1,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,9,0,1,0,0,2,0,0,0,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,0,1,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,0,0,0,1,0,0,0,2,0,3,0,0,0,1,0,0,0,0,0,1,1,0,4,0,0,0,0,1,2,0,4,0,0,0,2,1,2,1,1,0,7,0,0,0,0,2,0,0,1,0,0,4,0,0,2,1,0,1,0,1,0,7,1,0,2,1,0,0,2,1,1,0,0,2,2,0,0,2,0,0,1,5,2,0,0,0,0,1,0,1,0,3,0,0,1,0,0,0,1,0,0,1,1,0,1,0,0,0,1,0,0,0,0,0,0,0,1,2,0,0,0,0,1,0,0,9,0,8,1,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,4,2,1,0,5,1,1,1,0,0,0,1,2,0,7,1,0,0,0,0,0,0,1,0,0,0,0,17,1,0,1,0,0,0,0,6,0,5,12,0,0,1,24,0,0,0,0,0,0,0,0,7,0,0,0,1,0,6,0,0,0,1,0,2,0,0,0,0,0,0,37,0,0,2,0,0,0,0,2,1,0,2,1,0,5,0,0,3,0,1,0,0,0,0,0,1,0,0,0,0,3,15,0,1,0,3,0,27,2,1,0,1,2,0,0,7,0,3,0,0,0,5,0,0,0,0,0,0,1,3,0,0,0,0,0,0,0,0,0,14,0,4,0,1,1,0,0,0,0,0,3,0,7,0,1,0,0,1,0,0,0,4,0,0,0,0,0,2,0,0,2,0,0,0,2,11,1,0,0,0,0,0,0,0,0,1,1,0,6,6,0,0,0,2,0,0,0,0,2,3,1,0,1,0,23,0,0,0,0,0,0,0,0,102,0,0,0,0,0,0,0,0,2,0,0,0,0,6,1,0,3,0,1,0,0,0,0,0,0,0,14,2,0,1,0,0,3,2,2,7,1,25,0,0,0,0,0,1,0,1,0,11,0,0,0,0,1,0,0,0,0,8,1,11,0,1,0,2,146,0,1,0,0,0,0,0,0,0,5,1,3,0,0,1,6,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,2,0,0,0,5,0,0,0,0,4,0,0,0,0,2,3,0,4,0,0,0,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,3,0,0,0,0,2,1,0,0,1,2,0,0,0,0,0,0,0,0,3,4,1,7,1,0,2,0,0,2,0,0,0,2,0,0,0,2,0,0,0,5,0,0,0,0,0,58,0,0,0,3,1,3,0,0,0,0,0,0,5,0,0,0,0,4,0,0,0,0,1,3,1,6,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,5,3,0,1,12,0,0,3,46,0,0,0,0,2,4,0,3,1,0,6,0,0,0,1,1,1,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,8,9,1,1,1,0,0,0,0,0,1,0,1,0,0,5,17,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,2,1,3,3,0,0,0,0,0,0,0,0,0,0,6,1,0,2,6,0,0,0,0,6,0,4,0,0,2,13,0,0,1,2,4,1,1,0,6,4,0,1,0,1,0,3,0,3,3,1,0,0,0,0,0,1,0,5,0,1,2,0,5,0,1,4,0,0,0,0,0,0,0,2,0,35,0,0,0,7,1,2,0,0,0,0,12,1,0,0,26,0,0,3,0,39,0,1,6,0,2,1,0,0,0,0,1,17,4,0,0,1,0,2,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,120,0,3,0,2,0,0,11,0,0,0,3,0,1,0,0,1,2,0,0,0,1,0,3,0,2,0,0,6,4,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,2,2,10,0,0,1,1,0,3,1,10,0,0,0,11,0,2,0,0,1,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,8,0,0,0,0,0,0,0,0,0,0,3,0,0,3,0,0,0,115,1,0,5,11,0,0,0,5,0,3,0,0,17,0,0,0,0,0,0,0,0,0,0,4,4,0,0,2,1,0,3,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,8,0,0,0,0,3,26,0,0,0,0,0,15,2,1,2,0,0,0,0,1,0,1,0,4,0,5,0,0,0,2,2,0,3,12,0,1,0,0,0,0,0,0,0,0,0,0,6,0,1,0,14,9,0,0,0,4,0,4,0,0,2,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,1,0,0,18,0,0,0,2,0,0,0,0,21,0,0,0,0,0,0,1,4,0,0,0,1,0,0,0,0,3,0,0,3,0,0,2,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,4,0,0,0,0,0,0,17,0,0,1,0,0,0,1,1,5,18,3,0,0,0,0,0,0,0,0,2,1,0,0,0,0,0,3,0,0,0,0,0,34,4,0,0,0,0,0,1,0,0,0,1,2,2,0,2,0,0,0,0,0,0,0,2,0,0,3,0,2,0,1,0,5,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,2,0,0,2,0,1,0,0,0,0,1,0,4,0,0,0,20,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,1,0,0,0,1,1,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,5,0,1,0,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,3,3,1,0,0,0,0,2,0,1,1,0,0,0,0,0,0,7,0,0,0,3,3,0,5,0,0,3,1,0,0,0,0,0,10,0,0,0,3,0,0,2,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,1,0,0,1,0,0,1,4,0,0,0,0,0,6,0,1,0,0,2,0,0,0,0,0,0,0,0,2,0,0,0,0,4,0,0,0,0,0,1,0,0,4,0,0,0,18,0,0,0,0,0,0,1,1,1,0,0,0,0,0,5,4,0,0,0,0,0,0,0,0,3,0,1,0,2,0,3,0,0,1,0,1,0,1,1,0,0,0,0,1,1,2,0,0,0,0,0,0,0,7,0,0,0,2,0,1,0,1,0,2,0,0,0,0,0,0,1,0,0,3,0,1,0,0,0,0,0,1,0,0,0,0,0,8,0,0,0,0,3,0,3,0,0,0,0,2,0,0,1,0,5,0,0,13,35,0,0,0,0,0,0,4,6,0,0,0,0,0,2,0,0,0,0,0,1,7,0,0,0,34,1,0,0,0,3,4,1,0,1,0,0,0,0,0,0,13,0,0,0,1,0,0,0,3,0,0,1,0,2,0,0,3,0,0,0,7,0,2,6,0,0,0,0,3,0,0,0,0,0,0,1,5,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,4,0,1,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,6,0,0,2,0,0,0,0,1,0,1,5,0,0,3,0,0,2,0,1,0,1,0,0,0,2,0,2,1,0,0,0,0,0,0,0,0,0,1,2,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,5,0,0,6,36,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,4,0,0,0,0,0,0,3,0,1,3,0,0,0,0,3,2,0,1,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,27,4,0,0,0,0,1,0,40,0,7,0,0,1,3,1,2,0,0,3,2,0,0,0,0,0,0,0,1,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,0,0,0,0,0,1,0,0,5,7,0,5,0,1,0,0,0,0,0,0,0,0,0,1,2,0,22,2,0,2,0,1,13,26,6,0,0,0,1,0,0,0,0,0,1,4,0,0,0,0,0,0,1,4,0,0,0,1,3,0,0,6,5,10,0,0,0,0,0,4,0,10,0,5,0,46,0,0,0,0,0,0,0,9,0,0,0,0,0,2,0,5,0,0,0,2,0,0,0,2,0,0,0,0,0,1,7,0,0,2,0,0,1,1,3,0,2,0,0,0,0,0,0,0,0,0,8,0,1,0,2,0,0,0,0,1,0,9,0,0,1,1,0,12,1,0,7,5,0,0,0,0,1,1,0,12,1,0,0,0,0,0,0,0,1,0,1,2,0,1,1,0,1,0,2,0,0,0,3,0,3,0,0,0,0,0,3,6,0,0,0,0,0,0,5,0,0,2,0,9,0,0,2,0,0,0,0,0,0,2,0,1,0,1,1,0,0,0,0,9,0,0,4,0,0,29,0,0,0,0,0,1,3,0,0,0,1,0,0,0,0,0,9,0,43,0,0,0,0,0,1,1,1,0,0,0,0,0,18,79,0,1,25,7,0,0,0,0,0,0,0,0,22,0,24,0,1,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,179,0,1,0,0,0,1,6,1,3,0,0,0,0,0,0,0,0,0,1,2,0,0,0,1,0,0,0,0,0,0,20,0,0,0,0,6,1,0,0,0,0,0,0,1,0,20,0,7,3,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,0,0,0,0,0,4,0,1,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,4,20,0,0,5,0,2,3,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,6,8,0,0,0,0,0,1,26,4,0,7,0,0,0,0,3,1,0,4,0,1,0,0,16,0,7,0,0,0,0,0,0,0,0,0,1,0,0,2,1,0,4,1,0,1,2,0,0,0,2,0,0,6,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,10,0,0,1,0,0,1,0,2,0,0,0,0,0,7,0,0,0,0,0,0,0,0,1,1,15,0,0,0,0,0,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,2,19,1,0,3,33,0,0,4,3,0,0,0,0,0,0,0,0,6,1,0,2,10,0,0,0,0,0,1,6,0,2,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,9,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,4,0,0,0,0,0,0,0,6,1,2,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,4,0,0,0,0,1,2,0,1,0,0,0,0,0,2,3,2,1,0,9,0,9,1,0,0,0,0,11,1,0,0,0,0,0,0,2,0,0,3,0,3,0,2,1,3,0,0,0,0,3,0,0,0,0,4,1,0,4,0,0,0,0,0,1,0,0,0,2,0,0,0,1,0,0,1,0,0,0,8,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,197,0,163,5,0,0,0,0,5,0,5,2,5,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,3,0,13,0,0,0,0,2,3,9,0,0,0,3,0,0,0,0,0,0,0,0,1,1,12,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,1,0,0,1,1,0,0,0,0,0,3,7,2,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,11,0,1,0,0,0,1,0,0,0,0,0,0,5,3,0,1,1,0,0,0,0,0,0,0,0,63,2,1,0,0,1,0,0,0,4,0,1,0,0,0,0,0,0,3,0,0,0,0,1,4,0,22,1,0,0,0,0,0,0,2,0,3,0,0,3,0,0,0,4,4,0,2,2,0,11,13,21,0,1,0,0,0,0,1,0,0,2,3,0,0,0,0,0,16,0,0,0,0,0,1,0,0,0,0,0,4,12,0,0,0,0,1,0,0,0,0,0,3,0,0,0,0,2,0,0,7,2,0,0,0,0,5,1,0,1,12,0,2,0,0,0,0,0,0,0,8,0,2,0,0,0,2,1,0,1,0,0,1,3,0,0,0,5,0,10,0,0,0,3,0,2,8,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,2,12,0,65,0,3,0,2,0,0,0,0,1,0,0,8,0,0,0,0,1,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,6,1,0,0,0,0,0,0,0,1,0,12,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,0,0,0,0,0,8,0,0,0,0,0,104,1,4,0,1,1,0,36,0,0,0,1,6,9,0,7,0,0,0,0,1,0,0,27,0,0,0,0,2,6,0,0,3,3,0,2,0,0,0,0,0,0,10,0,0,0,1,0,0,0,0,2,0,0,2,0,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,0,0,1,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,2,0,2,1,1,0,0,0,0,40,2,0,0,0,0,1,0,5,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,1,0,0,0,2,1,1,1,3,0,8,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,4,4,5,0,31,0,0,0,0,0,0,0,0,2,0,0,0,0,0,1,0,0,0,0,0,0,5,0,0,0,0,0,14,0,0,0,1,8,0,0,0,8,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,0,0,1,3,0,0,0,0,0,0,0,0,0,0,3,0,7,0,0,0,0,0,0,1,0,0,1,0,0,1,1,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,0,0,0,40,1,11,8,1,0,4,2,8,0,0,0,0,0,1,0,0,0,0,0,1,8,0,11,0,0,0,0,0,0,0,1,0,0,2,0,0,0,0,0,0,0,0,1,8,17,1,0,0,0,0,0,0,0,0,0,0,0,9,1,0,0,0,0,1,17,0,0,0,0,0,0,3,0,0,0,0,0,0,0,2,0,0,0,0,0,0,4,0,1,0,0,0,4,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,1,0,0,13,0,0,0,0,0,0,5,1,2,1,5,0,0,0,0,0,0,0,0,1,0,0,0,1,0,9,20,0,0,0,0,0,1,2,0,0,0,0,3,0,0,0,0,1,1,0,3,0,0,0,0,0,2,5,2,0,0,2,2,0,0,0,0,7,0,2,0,9,2,1,1,0,3,0,0,0,0,0,5,1,0,0,0,0,0,0,0,0,1,0,5,1,0,0,0,10,0,0,0,0,0,0,0,0,7,0,0,0,5,0,0,0,3,0,0,1,2,0,1,0,2,0,0,0,0,72,0,0,0,0,0,0,0,0,10,0,1,0,1,0,3,0,1,4,0,2,2,0,0,0,6,0,0,24,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,1,8,2,2,1,0,0,0,0,0,0,0,0,0,3,0,0,0,1,4,1,23,3,0,0,0,0,12,1,6,2,0,0,1,3,0,0,1,17,1,0,0,0,0,106,0,365,3,31,0,0,0,1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,0,0,0,3,1,0,5,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,6,2,0,11,0,13,2,0,3,0,0,1,0,2,0,0,0,0,5,0,0,0,0,0,1,3,0,2,1,0,0,0,8,0,0,4,0,1,0,3,0,0,1,0,0,0,0,9,0,1,0,8,2,0,0,5,0,0,0,0,0,1,0,0,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,10,0,1,1,0,0,0,0,0,0,0,6,0,0,0,0,0,2,0,1,0,0,0,0,2,4,0,0,0,0,0,0,0,0,0,0,0,0,5,2,1,0,0,0,1,0,0,0,0,0,4,1,9,3,0,0,2,0,0,0,0,0,0,4,0,22,0,0,14,0,3,0,0,0,0,0,2,0,0,0,2,0,14,2,38,0,0,0,0,0,0,0,0,0,4,0,0,0,0,32,0,0,2,0,0,0,1,5,23,0,0,2,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,1,3,0,0,3,1,29,3,8,0,0,0,5,4,4,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,57,1,0,0,0,0,0,0,21,1,0,0,1,0,2,0,3,0,0,9,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,1,0,0,0,0,2,0,0,0,6,6,5,0,0,5,5,2,0,0,0,0,0,1,4,0,0,0,9,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,1,0,5,2,0,0,0,0,0,1,0,0,0,0,0,0,0,0,7,0,2,0,1,1,20,0,0,3,0,6,10,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,1,0,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,8,21,0,0,1,2,2,0,0,0,0,7,0,0,0,6,0,0,0,0,0,0,1,54,11,0,0,0,6,9,0,0,2,0,3,3,0,0,0,0,0,0,0,1,0,0,0,0,12,0,3,4,0,0,0,0,0,11,0,6,0,0,0,1,0,2,1,1,15,0,0,2,0,0,0,15,1,20,28,2,0,16,16,0,3,0,0,2,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,0,0,2,0,6,2,1,2,0,0,0,0,0,0,0,0,0,0,0,3,0,1,2,2,21,1,0,0,0,2,0,0,2,0,0,0,2,5,2,0,0,0,0,8,0,4,0,0,0,4,0,0,3,0,6,0,0,4,0,2,0,0,13,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,1,0,0,2,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,0,0,0,6,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,7,1,0,8,10,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,1,0,2,1,1,0,0,4,0,0,0,0,1,0,1,0,0,0,3,8,0,0,0,5,0,3,2,0,15,5,3,1,0,7,0,1,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,1,0,0,1,1,0,8,0,0,0,0,0,0,6,0,0,5,0,0,0,0,0,2,0,0,0,0,5,3,0,2,4,7,0,0,0,0,0,0,0,0,1,0,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,2,0,2,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,15,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,1,0,0,0,3,0,2,0,0,0,0,0,3,16,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,10,0,0,0,1,0,0,5,0,0,11,0,0,0,0,0,0,0,0,0,0,9,1,0,0,5,0,0,1,0,0,5,0,1,0,0,0,0,1,0,0,47,0,0,2,9,0,28,0,0,1,0,1,1,0,6,0,2,0,0,0,0,0,0,0,1,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,2,0,0,0,0,12,0,0,0,5,0,0,1,0,0,3,0,0,9,0,0,10,0,0,0,0,0,0,0,4,14,2,0,0,0,0,2,0,0,1,1,6,0,4,1,0,0,0,6,4,18,0,0,2,0,0,0,0,1,0,0,4,1,1,1,0,0,19,0,1,0,0,0,0,0,0,0,0,0,0,1,2,0,0,0,0,0,0,0,0,1,3,0,0,0,4,0,0,0,0,23,1,0,3,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,14,0,0,1,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,7,0,0,0,4,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0,0,2,0,0,1,0,8,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,2,2,0,0,1,0,1,0,0,0,0,0,0,0,1,3,0,0,0,0,0,1,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,3,0,0,1,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,2,4,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,1,7,3,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,4,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,50,1,5,0,0,0,0,0,0,2,2,0,0,1,2,1,13,2,0,0,0,0,0,0,0,18,0,1,0,0,0,0,0,0,1,0,0,4,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1,0,0,4,0,0,3,0,0,0,0,0,0,0,0,0,0,7,40,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,3,1,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0) +Fn = ecdf(a) +max_x = round(log(max(knots(Fn)),2),0) +xx = c(0,2^seq(0,max_x,by=2)) +y=Fn(xx) +xlog = log(xx[2:length(xx)],base=2) +plot(x=c(-1,xlog),y=y,xaxt = 'n',type="b",col="blue",pch=20,xlab="Number of Reads",ylab="Cumulative proportion of Genes") +axis(1,at = c(-1,seq(0,max_x,by=2)),labels=c(0,2^seq(0,max_x,by=2))) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.clipping_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.clipping_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.clipping_profile.png",width=500,height=500,units="px") +read_pos=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99) +count=c(9897,8881,8055,7532,7071,6644,6233,5790,5380,4983,4673,4419,4164,3892,3642,3403,3180,2938,2701,2456,2234,2000,1788,1577,1358,1179,998,799,620,447,306,184,92,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,152,275,404,546,700,889,1068,1241,1434,1632,1854,2085,2269,2480,2702,2931,3160,3397,3636,3894,4147,4415,4708,5084,5476,5908,6362,6820,7294,7783,8595,9576) +plot(read_pos,1-(count/80603),pch=20,xlab="Position of reads",ylab="Mappability",col="blue") +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.clipping_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.clipping_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,101 @@ +Position Read_Total Read_clipped +0 80603 9897 +1 80603 8881 +2 80603 8055 +3 80603 7532 +4 80603 7071 +5 80603 6644 +6 80603 6233 +7 80603 5790 +8 80603 5380 +9 80603 4983 +10 80603 4673 +11 80603 4419 +12 80603 4164 +13 80603 3892 +14 80603 3642 +15 80603 3403 +16 80603 3180 +17 80603 2938 +18 80603 2701 +19 80603 2456 +20 80603 2234 +21 80603 2000 +22 80603 1788 +23 80603 1577 +24 80603 1358 +25 80603 1179 +26 80603 998 +27 80603 799 +28 80603 620 +29 80603 447 +30 80603 306 +31 80603 184 +32 80603 92 +33 80603 0 +34 80603 0 +35 80603 0 +36 80603 0 +37 80603 0 +38 80603 0 +39 80603 0 +40 80603 0 +41 80603 0 +42 80603 0 +43 80603 0 +44 80603 0 +45 80603 0 +46 80603 0 +47 80603 0 +48 80603 0 +49 80603 0 +50 80603 0 +51 80603 0 +52 80603 0 +53 80603 0 +54 80603 0 +55 80603 0 +56 80603 0 +57 80603 0 +58 80603 0 +59 80603 0 +60 80603 0 +61 80603 0 +62 80603 0 +63 80603 0 +64 80603 0 +65 80603 0 +66 80603 0 +67 80603 77 +68 80603 152 +69 80603 275 +70 80603 404 +71 80603 546 +72 80603 700 +73 80603 889 +74 80603 1068 +75 80603 1241 +76 80603 1434 +77 80603 1632 +78 80603 1854 +79 80603 2085 +80 80603 2269 +81 80603 2480 +82 80603 2702 +83 80603 2931 +84 80603 3160 +85 80603 3397 +86 80603 3636 +87 80603 3894 +88 80603 4147 +89 80603 4415 +90 80603 4708 +91 80603 5084 +92 80603 5476 +93 80603 5908 +94 80603 6362 +95 80603 6820 +96 80603 7294 +97 80603 7783 +98 80603 8595 +99 80603 9576 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.geneAbundance.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.geneAbundance.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,27321 @@ +gene Counts +AADACL3 0 +AADACL4 0 +ABCD3 4 +ACADM 0 +ACKR1 0 +ACOT11 0 +ACTG1P4 0 +ACTL8 166 +ACTN2 0 +ACTRT2 0 +ADAM15 0 +ADAMTSL4 0 +ADCK3 0 +ADORA1 0 +ADPRHL2 0 +AGL 0 +AGO1 3 +AGO3 0 +AGO4 0 +AGRN 0 +AGTRAP 1 +AHCYL1 1 +AJAP1 0 +AK4 2 +AK5 0 +AKIRIN1 2 +AKR1A1 0 +AKR7A2P1 0 +ALG6 0 +ALPL 0 +AMPD2 1 +AMY1A 0 +AMY1B 0 +AMY1C 0 +AMY2A 0 +AMY2B 0 +ANGPTL3 0 +ANGPTL7 0 +ANKRD34A 0 +ANKRD35 0 +ANXA9 0 +AP4B1-AS1 0 +APCS 0 +APITD1 6 +APITD1-CORT 2 +APOA1BP 0 +AQP10 0 +ARF1 31 +ARHGEF10L 0 +ARHGEF16 1 +ARID1A 9 +ARTN 0 +ARV1 0 +ASH1L-AS1 0 +ATAD3A 0 +ATAD3B 0 +ATAD3C 1 +ATF3 0 +ATF6 3 +ATG4C 1 +ATP1A1 14 +ATP1A2 0 +ATP1A4 0 +ATP1B1 10 +ATP2B4 10 +ATP5F1 2 +ATP6V0B 2 +ATP8B2 0 +ATPIF1 0 +ATXN7L2 0 +AVPR1B 0 +AXDND1 0 +AZIN2 1 +B3GALT6 0 +B4GALT2 0 +BCAN 0 +BCL9 4 +BECN1P1 0 +BGLAP 0 +BLZF1 0 +BMP8A 0 +BNIPL 0 +BOLA1 0 +BRDT 6 +BRINP2 0 +BROX 2 +BSND 0 +BTBD19 0 +BTBD8 1 +BTF3L4 0 +BTG2 0 +C1QA 0 +C1QB 0 +C1QC 0 +C1orf100 0 +C1orf101 0 +C1orf105 0 +C1orf106 0 +C1orf112 0 +C1orf115 0 +C1orf122 0 +C1orf137 0 +C1orf146 0 +C1orf158 0 +C1orf162 0 +C1orf167 0 +C1orf177 0 +C1orf185 0 +C1orf21 2 +C1orf213 0 +C1orf220 0 +C1orf226 5 +C1orf228 0 +C1orf27 0 +C1orf50 1 +C1orf53 0 +C1orf54 0 +C1orf56 2 +C1orf64 0 +C1orf68 0 +C1orf94 0 +C1orf95 0 +C4BPA 0 +C4BPB 0 +C8A 0 +CA14 1 +CA6 0 +CACHD1 0 +CACNA1E 0 +CACYBP 4 +CADM3 0 +CALML6 0 +CAMK1G 0 +CAMSAP2 0 +CAMTA1 1 +CAP1 2 +CAPN2 0 +CAPN9 0 +CAPZA1 6 +CASQ1 0 +CATSPER4 0 +CCDC18 2 +CCDC185 0 +CCDC24 0 +CCDC27 10 +CCDC28B 0 +CCDC30 0 +CD101 0 +CD1A 0 +CD1C 0 +CD1D 0 +CD1E 0 +CD2 0 +CD46 0 +CD52 0 +CD53 0 +CD55 2 +CDA 2 +CDC14A 0 +CDC20 4 +CDC42 5 +CDC7 5 +CDC73 0 +CDCA8 16 +CDK18 0 +CDKN2C 0 +CELA2A 0 +CELA2B 0 +CELA3A 0 +CELA3B 0 +CELSR2 0 +CENPF 4 +CEP350 5 +CEP85 13 +CEPT1 2 +CFH 0 +CFHR1 0 +CFHR2 0 +CFHR3 0 +CFHR4 0 +CFHR5 0 +CGN 4 +CHD1L 3 +CHI3L2 0 +CHIA 0 +CHIAP2 0 +CHRM3 0 +CHRNB2 0 +CHTOP 2 +CIART 6 +CKS1B 6 +CLCA1 0 +CLCA2 0 +CLCA3P 0 +CLCA4 0 +CLCN6 0 +CLCNKA 0 +CLCNKB 0 +CLIC4 3 +CMPK1 0 +CNIH3 0 +CNIH4 1 +CNKSR1 0 +CNST 7 +CNTN2 0 +COA6 1 +COG2 0 +CORT 0 +COX20 0 +CPT2 1 +CPTP 2 +CR1 0 +CR1L 0 +CR2 6 +CRB1 0 +CRCT1 0 +CREB3L4 0 +CROCC 0 +CSF1 0 +CSMD2-AS1 0 +CTH 0 +CTPS1 1 +CTRC 0 +CTSE 0 +CTTNBP2NL 8 +CYB561D1 0 +CYCSP52 0 +CYMP 0 +CYP4A22 0 +CYP4B1 0 +CYP4X1 0 +CYP4Z1 0 +CYR61 0 +DAB1-AS1 0 +DAP3 2 +DARS2 0 +DCAF6 6 +DCDC2B 0 +DCLRE1B 1 +DCST1 0 +DDI2 0 +DDR2 0 +DDX11L1 0 +DDX20 2 +DEGS1 0 +DEPDC1-AS1 0 +DESI2 2 +DFFB 0 +DHDDS 0 +DHX9 0 +DIEXF 0 +DIO1 0 +DISC1 1 +DISP1 2 +DLEU2L 0 +DMAP1 0 +DMBX1 0 +DMRTB1 4 +DNAH14 1 +DNAJA1P5 0 +DNAJB4 1 +DNAJC16 1 +DNAJC6 0 +DNALI1 0 +DNASE2B 0 +DNM3 0 +DPH2 1 +DPYD-AS1 0 +DPYD-AS2 0 +DR1 3 +DRAXIN 0 +DRD5P2 0 +DTL 21 +DUSP12 0 +DUSP23 0 +DUSP27 0 +DUSP5P1 0 +DYRK3 0 +ECM1 0 +EDARADD 0 +EFCAB14-AS1 0 +EFCAB2 1 +EFCAB7 1 +EFHD2 0 +EFNA1 0 +EFNA3 0 +EFNA4 0 +EIF3I 0 +ELAVL4 0 +ELF3 0 +EMBP1 0 +ENO1-AS1 0 +EPB41 1 +EPHA8 1 +EPHB2 0 +EPHX1 0 +EPHX4 0 +ERICH3-AS1 0 +ERMAP 1 +ESPN 0 +EXO1 3 +EXO5 2 +EXTL1 0 +FAAH 0 +FAAHP1 0 +FAM102B 0 +FAM110D 0 +FAM159A 0 +FAM163A 0 +FAM167B 0 +FAM177B 0 +FAM183A 0 +FAM19A3 0 +FAM20B 0 +FAM212B-AS1 0 +FAM213B 0 +FAM231A 0 +FAM231D 0 +FAM43B 0 +FAM46C 147 +FAM71A 0 +FAM72A 0 +FAM72B 0 +FAM72C 0 +FAM73A 0 +FAM76A 1 +FAM87B 0 +FASLG 0 +FBLIM1 2 +FBXO28 2 +FBXO44 0 +FBXO6 0 +FCER1A 0 +FCER1G 0 +FCGR1A 0 +FCGR1C 0 +FCGR2A 0 +FCGR2B 0 +FCGR2C 0 +FCRL6 0 +FCRLA 0 +FCRLB 0 +FDPS 0 +FGGY 1 +FHAD1 0 +FLAD1 1 +FLG-AS1 0 +FLJ23867 0 +FLJ31662 0 +FLVCR1 0 +FMN2 1 +FMO1 0 +FMO2 4 +FMO3 1 +FMO4 0 +FMO6P 0 +FMO9P 0 +FNBP1L 3 +FNDC7 0 +FOXD2 0 +FOXD3 0 +FOXE3 0 +FOXO6 1 +FPGT 0 +FPGT-TNNI3K 0 +G0S2 0 +GABPB2 0 +GABRD 0 +GADD45A 1 +GALNT2 0 +GAS5-AS1 0 +GBP1P1 0 +GBP6 0 +GCSAML 0 +GGPS1 0 +GIPC2 1 +GJA4 0 +GJA8 0 +GJB3 0 +GJB4 0 +GJB5 0 +GJC2 0 +GM140 0 +GMEB1 2 +GNAI3 5 +GNG12-AS1 0 +GNPAT 4 +GORAB 0 +GPR137B 5 +GPR25 0 +GPR3 0 +GPR37L1 0 +GPR52 0 +GPR61 0 +GPR88 0 +GPR89B 0 +GPSM2 0 +GPX7 0 +GRHL3 2 +GSTM1 0 +GSTM2 0 +GSTM4 0 +GSTM5 0 +GUCA2B 0 +GUK1 1 +H3F3A 0 +H3F3AP4 0 +H6PD 0 +HAO2 0 +HAO2-IT1 0 +HAPLN2 0 +HAX1 1 +HCN3 0 +HCRTR1 0 +HDAC1 0 +HES3 0 +HFE2 0 +HHAT 8 +HHLA3 0 +HIAT1 6 +HIPK1 1 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AC 0 +HIST2H2BA 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2BB 0 +HLX 0 +HMCN1 4 +HMGB4 0 +HMGN2 2 +HOOK1 1 +HPCA 0 +HPDL 0 +HS2ST1 0 +HSD11B1 0 +HSD17B7 0 +HSD3B1 0 +HSD3B2 0 +HSD3BP4 0 +HSPA6 0 +HSPA7 0 +HTR6 0 +IARS2 1 +IBA57 0 +IER5 0 +IFI16 0 +IFI44 0 +IFI44L 0 +IGFN1 0 +IGSF21 0 +IKBKE 0 +IL12RB2 0 +IL19 0 +IL20 0 +IL23R 5 +IL24 0 +IL6R 0 +INADL 0 +INTS3 0 +IPO13 1 +IPO9 4 +IQCC 0 +ISG15 0 +ITGA10 0 +IVL 0 +KAZN 0 +KCNAB2 0 +KCNC4 1 +KCNJ9 0 +KCNK1 0 +KCNK2 0 +KCNQ4 0 +KCTD3 0 +KDM1A 2 +KDM4A 5 +KHDRBS1 4 +KIAA0754 0 +KIAA1107 0 +KIAA1324 0 +KIAA1522 1 +KIAA1614 0 +KIAA1804 0 +KIF1B 2 +KIF26B 4 +KIF2C 6 +KIRREL 0 +KLF17 0 +KLHDC7A 0 +KLHDC9 0 +KLHL17 0 +KLHL20 5 +KMO 0 +KPNA6 15 +KPRP 0 +L1TD1 0 +LAMC1 4 +LAMC2 0 +LAMTOR2 1 +LAMTOR5-AS1 0 +LAX1 0 +LCE1A 0 +LCE1B 0 +LCE1D 0 +LCE1E 0 +LCE1F 0 +LCE2A 0 +LCE2B 0 +LCE2C 0 +LCE2D 0 +LCE3B 0 +LCE3C 0 +LCE4A 0 +LCE5A 0 +LCE6A 0 +LCK 0 +LDLRAD2 0 +LDLRAP1 5 +LELP1 0 +LEMD1-AS1 0 +LENEP 0 +LEPR 0 +LEPROT 5 +LGALS8 14 +LGR6 0 +LHX4 0 +LHX8 2 +LHX9 0 +LIN28A 3 +LINC00184 0 +LINC00210 0 +LINC00260 0 +LINC00272 0 +LINC00337 0 +LINC00339 0 +LINC00467 0 +LINC00538 0 +LINC00568 0 +LINC00623 0 +LINC00626 0 +LINC00853 0 +LINC00869 0 +LINC01128 1 +LINC01132 0 +LINC01133 0 +LINC01134 0 +LINC01135 0 +LINC01140 0 +LINC01144 0 +LINC01225 0 +LINC01226 0 +LINC01341 0 +LINC01342 0 +LINC01346 0 +LINC01351 0 +LINC01352 0 +LINC01353 0 +LINC01358 0 +LINC01360 0 +LIX1L 0 +LMNA 0 +LMO4 0 +LOC100129046 0 +LOC100129138 0 +LOC100129620 0 +LOC100129924 0 +LOC100130093 0 +LOC100130331 1 +LOC100132057 0 +LOC100132062 0 +LOC100132111 0 +LOC100132287 0 +LOC100133331 0 +LOC100147773 0 +LOC100505887 0 +LOC100506801 0 +LOC100507564 0 +LOC100507634 0 +LOC100996583 0 +LOC100996635 0 +LOC101060524 0 +LOC101926944 0 +LOC101927164 0 +LOC101927478 0 +LOC101927604 0 +LOC101927844 0 +LOC101928009 0 +LOC101928163 0 +LOC101928303 0 +LOC101928372 0 +LOC101928404 0 +LOC101928778 0 +LOC101929181 0 +LOC101929224 0 +LOC101929441 0 +LOC101929631 0 +LOC101929983 0 +LOC102606465 0 +LOC103091866 0 +LOC148413 0 +LOC148696 0 +LOC148709 0 +LOC284581 0 +LOC284632 0 +LOC284648 0 +LOC284661 0 +LOC339529 0 +LOC339539 0 +LOC388692 0 +LOC391003 0 +LOC440700 0 +LOC440704 0 +LOC643355 0 +LOC644961 0 +LOC645166 0 +LOC645354 0 +LOC645382 0 +LOC646626 0 +LOC649324 0 +LOC729970 0 +LOC729987 0 +LOC730159 0 +LOR 0 +LPHN2 0 +LPPR4 0 +LRIG2 0 +LRRC42 4 +LRRC52 0 +LRRC7 0 +LRRC71 0 +LRRC8B 16 +LRRC8C 0 +LRRC8D 2 +LURAP1 0 +LY9 0 +LYPLA2 0 +LYPLAL1 0 +MAB21L3 0 +MACF1 0 +MAEL 14 +MAGI3 1 +MAN1A2 4 +MAN1C1 0 +MANEAL 0 +MAP10 0 +MAP7D1 3 +MAPKAPK2 3 +MARC1 0 +MARC2 0 +MARK1 0 +MAST2 1 +MATN1-AS1 0 +MDM4 11 +MDS2 0 +MED18 2 +METTL11B 0 +METTL13 1 +MFN2 6 +MFSD2A 2 +MFSD4 2 +MGAT4EP 0 +MGC27382 0 +MGC34796 0 +MGST3 0 +MIA3 15 +MIB2 0 +MIER1 0 +MIIP 2 +MINOS1 0 +MINOS1-NBL1 0 +MIR1231 0 +MIR1278 0 +MIR1295B 0 +MIR197 0 +MIR1976 0 +MIR200A 0 +MIR200B 0 +MIR205 0 +MIR205HG 0 +MIR30C1 0 +MIR30E 0 +MIR3115 0 +MIR3117 0 +MIR3119-2 0 +MIR3120 0 +MIR3122 0 +MIR3123 0 +MIR3124 0 +MIR320B1 0 +MIR3620 0 +MIR3658 0 +MIR3659 0 +MIR3675 0 +MIR378F 0 +MIR4251 0 +MIR4255 0 +MIR4257 0 +MIR4258 0 +MIR429 0 +MIR4417 0 +MIR4422 0 +MIR4423 0 +MIR4424 0 +MIR4427 0 +MIR4632 0 +MIR4654 0 +MIR4666A 0 +MIR4671 0 +MIR4677 0 +MIR4684 0 +MIR4781 0 +MIR4794 0 +MIR5187 0 +MIR5191 0 +MIR548AA1 0 +MIR553 0 +MIR554 0 +MIR556 0 +MIR557 0 +MIR5584 0 +MIR6077 0 +MIR6079 0 +MIR6084 0 +MIR6729 0 +MIR6732 0 +MIR6735 0 +MIR6736 0 +MIR6739 0 +MIR6740 0 +MIR6769B 0 +MIR6878 0 +MIR7156 0 +MIR760 0 +MIR7846 0 +MIR7852 0 +MIR92B 0 +MIR942 0 +MIXL1 31 +MKNK1-AS1 1 +MLLT11 6 +MMACHC 0 +MMP23A 0 +MMP23B 0 +MNDA 0 +MOV10 2 +MPL 0 +MPZL1 2 +MR1 0 +MROH7 0 +MROH7-TTC4 0 +MROH9 0 +MRPL37 3 +MRPS21 3 +MRTO4 0 +MSH4 0 +MST1P2 0 +MSTO1 0 +MSTO2P 0 +MTF2 25 +MTFR1L 3 +MTOR-AS1 0 +MTR 4 +MTX1 0 +NASP 32 +NAV1 0 +NBL1 2 +NBPF10 0 +NBPF12 0 +NBPF15 0 +NBPF18P 0 +NBPF20 0 +NBPF25P 0 +NBPF3 0 +NBPF6 0 +NBPF8 0 +NBPF9 0 +NCDN 0 +NCMAP 0 +NCSTN 0 +NDUFS2 2 +NDUFS5 0 +NECAP2 12 +NEK7 3 +NENF 0 +NEXN 0 +NFASC 0 +NFIA 0 +NFYC 7 +NHLH1 0 +NIPAL3 1 +NIT1 0 +NLRP3 0 +NMNAT1 0 +NOS1AP 2 +NOTCH2NL 0 +NPL 3 +NPPA-AS1 0 +NPR1 0 +NR5A2 1 +NSUN4 0 +NTNG1 0 +NTPCR 0 +NTRK1 0 +NUDC 1 +NUF2 11 +OAZ3 0 +OBSCN 0 +OCLM 0 +OLFML3 0 +OPRD1 0 +OPTC 0 +OR10J1 0 +OR10K1 0 +OR10R2 0 +OR10Z1 0 +OR14C36 0 +OR2AK2 0 +OR2G2 0 +OR2G3 0 +OR2G6 0 +OR2L13 0 +OR2L1P 0 +OR2L2 0 +OR2L3 0 +OR2L5 0 +OR2L8 0 +OR2M1P 0 +OR2M2 0 +OR2M3 0 +OR2M4 0 +OR2M5 0 +OR2T1 0 +OR2T2 0 +OR2T3 0 +OR2T4 0 +OR2T5 0 +OR2T6 0 +OR2T8 0 +OR2W3 0 +OR2W5 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR4F5 0 +OR6K6 0 +OSBPL9 3 +OTUD3 8 +OVAAL 0 +PADI1 0 +PADI3 0 +PADI4 0 +PADI6 12 +PALMD 0 +PAPPA2 1 +PARK7 2 +PAX7 0 +PBX1 3 +PCAT6 0 +PCP4L1 111 +PCSK9 0 +PDE4B 0 +PDIA3P1 1 +PDIK1L 0 +PDPN 10 +PDZK1 1 +PEA15 1 +PEAR1 0 +PER3 1 +PEX11B 0 +PEX14 1 +PFKFB2 0 +PGBD2 0 +PGD 6 +PGM1 1 +PHACTR4 1 +PHF13 6 +PHGDH 0 +PIAS3 0 +PIFO 0 +PIGV 1 +PIK3CD 0 +PIN1P1 0 +PINK1 0 +PIP5K1A 0 +PITHD1 13 +PKN2 6 +PKP1 0 +PLA2G2F 0 +PLA2G4A 0 +PLA2G5 0 +PLCH2 1 +PLEKHM2 0 +PLEKHN1 0 +PLEKHO1 2 +PLK3 2 +PLOD1 0 +PMF1 0 +PMF1-BGLAP 0 +PNRC2 0 +PODN 0 +POGK 0 +POU2F1 4 +POU5F1P4 0 +PPCS 1 +PPFIA4 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIE 0 +PPIH 1 +PPOX 0 +PPP1R12B 1 +PPP1R8 1 +PPP2R5A 0 +PQLC2 0 +PRAMEF1 0 +PRAMEF10 0 +PRAMEF12 0 +PRAMEF15 0 +PRAMEF16 0 +PRAMEF17 0 +PRAMEF2 0 +PRAMEF20 0 +PRAMEF22 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRCC 5 +PRDM16 0 +PRDM2 3 +PRDX6 0 +PRELP 0 +PRG4 0 +PRKAA2 0 +PRKACB 0 +PRKCZ 0 +PRMT6 2 +PROK1 0 +PROX1 1 +PRPF3 4 +PRPF38A 7 +PRPF38B 3 +PRR9 0 +PRRC2C 20 +PRRX1 0 +PRSS38 0 +PRUNE 2 +PSEN2 3 +PSMB4 0 +PSMD4 1 +PTBP2 0 +PTCHD2 0 +PTGFR 0 +PTGFRN 0 +PTPRC 0 +PTPRF 2 +PTPRU 0 +PTPRVP 0 +PUSL1 0 +PYHIN1 0 +QSOX1 0 +RAB25 0 +RAB42 0 +RAB4A 1 +RABGAP1L 1 +RABGGTB 2 +RAD54L 0 +RALGPS2 2 +RAP1A 3 +RASAL2 2 +RASSF5 0 +RAVER2 0 +RBBP4 8 +RBM15 2 +RBM8A 0 +RBP7 0 +RCAN3 0 +RCC1 1 +RCOR3 2 +RCSD1 0 +RER1 0 +RGL1 0 +RGS1 0 +RGS13 0 +RGS18 0 +RGS2 514 +RGS21 0 +RGS4 0 +RGSL1 0 +RHBG 0 +RHD 0 +RHOU 0 +RIIAD1 3 +RIMKLA 6 +RLF 17 +RNF11 4 +RNF115 1 +RNF187 3 +RNF2 0 +RNF207 0 +RNF220 1 +RNPC3 0 +RNPEP 0 +RNU11 0 +RNU5F-1 0 +RNU6-2 0 +RNVU1-19 0 +RNVU1-20 0 +ROR1 0 +RPAP2 0 +RPF1 2 +RPL11 5 +RPL5 19 +RPRD2 7 +RPS10P7 0 +RPS14P3 1 +RPS27 2 +RPS6KA1 1 +RPS6KC1 4 +RPS7P5 0 +RPS8 16 +RRNAD1 0 +RRP15 0 +RSC1A1 1 +RTCA 3 +RUSC1 0 +RWDD3 0 +RXFP4 0 +RYR2 1 +S100A1 0 +S100A7A 0 +S100A9 0 +S100PBP 0 +S1PR1 0 +SAMD11 0 +SAMD13 0 +SARS 1 +SCARNA1 0 +SCARNA2 0 +SCCPDH 0 +SCNM1 0 +SCNN1D 0 +SCP2 2 +SDCCAG8 4 +SDHC 1 +SEC22B 1 +SEMA4A 0 +SEPN1 1 +SERINC2 0 +SERTAD4 0 +SESN2 4 +SETDB1 3 +SFN 0 +SFT2D2 1 +SGIP1 0 +SH3BGRL3 0 +SH3D21 0 +SH3GLB1 5 +SHISA4 0 +SKI 0 +SLAMF7 0 +SLAMF8 0 +SLC16A1-AS1 0 +SLC22A15 0 +SLC25A33 0 +SLC25A34 0 +SLC25A44 4 +SLC27A3 0 +SLC2A1-AS1 0 +SLC30A7 1 +SLC35A3 0 +SLC35F3 0 +SLC44A3 0 +SLC45A1 0 +SLC50A1 0 +SLC5A9 1 +SLC6A17 0 +SLFNL1-AS1 0 +SMAP2 1 +SMCP 0 +SMG7 2 +SMIM1 0 +SMPDL3B 0 +SMYD2 1 +SNAP47 1 +SNAPIN 4 +SNHG3 0 +SNORA16B 0 +SNORA59A 0 +SNORA59B 0 +SNORA66 0 +SNORA77 0 +SNORD21 0 +SNORD38A 0 +SNORD38B 0 +SNORD45A 0 +SNORD45B 0 +SNORD45C 0 +SNORD46 0 +SNORD55 0 +SNRPE 1 +SNX27 6 +SNX7 0 +SOAT1 2 +SOX13 5 +SPATA17 0 +SPATA42 0 +SPEN 0 +SPHAR 0 +SPRR1A 0 +SPRR1B 0 +SPRR3 0 +SPRR4 0 +SPRTN 0 +SPSB1 1 +SRGAP2 0 +SRGAP2B 0 +SRGAP2C 0 +SRGAP2D 1 +SRP9 2 +SRRM1 9 +SRSF11 38 +SSBP3-AS1 0 +ST3GAL3 0 +ST6GALNAC3 0 +ST6GALNAC5 0 +STRIP1 1 +STX12 4 +STXBP3 3 +SUCO 2 +SUMO1P3 2 +SWT1 3 +SYCP1 0 +SYPL2 0 +SYT11 2 +SYT14 0 +SYTL1 0 +SZRD1 5 +SZT2 0 +TAF1A-AS1 0 +TARDBP 8 +TARS2 0 +TAS1R1 0 +TAS1R3 0 +TATDN3 0 +TBCE 1 +TBX19 0 +TCEANC2 1 +TCEB3 6 +TCTEX1D1 0 +TDRD10 0 +TDRD5 1 +TEKT2 0 +TEX35 0 +TEX38 0 +TFAP2E 0 +TGFB2 0 +TGFB2-OT1 0 +THAP3 0 +THEMIS2 0 +THRAP3 4 +TIE1 0 +TIMM17A 0 +TINAGL1 0 +TIPRL 1 +TMCC2 2 +TMCO2 0 +TMEM125 0 +TMEM167B 0 +TMEM183A 0 +TMEM183B 0 +TMEM201 5 +TMEM222 0 +TMEM39B 0 +TMEM50A 1 +TMEM51 0 +TMEM56 1 +TMEM56-RWDD3 0 +TMEM57 6 +TMEM61 0 +TMEM69 7 +TMEM79 0 +TMEM82 0 +TMEM88B 0 +TNFAIP8L2 0 +TNFAIP8L2-SCNM1 0 +TNFRSF14 0 +TNFRSF1B 1 +TNFRSF8 0 +TNN 0 +TNNI3K 0 +TOE1 1 +TOMM40L 0 +TOP1P1 0 +TOR1AIP1 1 +TOR3A 1 +TP73 0 +TPRG1L 0 +TRAF3IP3 0 +TRAF5 0 +TRIM46 0 +TRIM58 0 +TRIM67 0 +TRMT13 1 +TRNAU1AP 0 +TRNP1 1 +TROVE2 1 +TSACC 0 +TSEN15 0 +TSHB 0 +TSNAX 2 +TSNAX-DISC1 0 +TSPAN1 1 +TSSK3 0 +TTC24 0 +TTC39A-AS1 0 +TTC4 0 +TTF2 3 +TTLL10 0 +TUFT1 0 +TXLNA 0 +TXNIP 0 +TYW3 1 +UAP1 2 +UBAP2L 2 +UBE2U 1 +UBE4B 1 +UBIAD1 2 +UBL4B 0 +UBXN10 1 +UCK2 2 +UFC1 2 +UHMK1 5 +UQCRH 1 +URB2 0 +UROD 0 +USP1 18 +USP21 1 +UTP11L 5 +VAMP3 11 +VANGL1 1 +VANGL2 0 +VASH2 0 +VAV3-AS1 0 +VCAM1 0 +VN1R5 0 +VPS13D 2 +VPS45 1 +VWA1 1 +VWA5B1 0 +WDR3 0 +WDR63 0 +WDR64 0 +WDR65 0 +WDTC1 1 +WNT2B 0 +WNT3A 0 +XCL1 0 +XKR8 2 +XPR1 5 +YBX1 2 +YTHDF2 2 +ZBED6 0 +ZBTB18 0 +ZBTB37 1 +ZBTB40 2 +ZBTB48 0 +ZBTB7B 0 +ZBTB8A 0 +ZBTB8B 0 +ZC3H11A 0 +ZC3H12A 0 +ZCCHC17 25 +ZDHHC18 1 +ZFP69 1 +ZFP69B 1 +ZFYVE9 3 +ZMPSTE24 2 +ZMYM1 1 +ZMYM4 5 +ZNF326 0 +ZNF362 0 +ZNF593 3 +ZNF672 2 +ZNF678 1 +ZNF684 0 +ZNF687 0 +ZNF691 1 +ZRANB2-AS1 0 +ZRANB2-AS2 0 +ZSCAN20 0 +ZYG11A 0 +ZYG11B 0 +ABCC2 0 +ACADSB 0 +ACSL5 0 +ACSM6 0 +ACTA2-AS1 0 +ACTR3BP5 0 +ADAMTS14 0 +ADARB2-AS1 0 +ADD3 63 +ADIRF 0 +ADK 0 +ADO 6 +ADRA2A 0 +ADRB1 0 +AGAP11 0 +AGAP6 0 +AGAP9 0 +AKR1C1 0 +AKR1C3 4 +AKR1C4 0 +AKR1E2 1 +ALOX5 0 +ANAPC16 0 +ANKRD2 0 +ANKRD30A 0 +ANKRD30BP3 0 +ANTXRL 0 +ANXA2P3 0 +ANXA8 0 +ANXA8L1 0 +APBB1IP 0 +ARID5B 0 +ARL5B 1 +ARMC3 0 +ARMS2 0 +AS3MT 0 +ASAH2B 0 +ATE1-AS1 0 +ATP5C1 3 +ATRNL1 0 +BAG3 0 +BAMBI 0 +BCCIP 6 +BEND3P3 0 +BICC1 3 +BMI1 0 +BMPR1A 0 +BMS1 0 +BMS1P6 0 +BTAF1 0 +BTBD16 0 +BTRC 8 +BUB3 3 +C10orf107 0 +C10orf11 0 +C10orf12 2 +C10orf126 0 +C10orf131 0 +C10orf2 1 +C10orf32 0 +C10orf32-ASMT 0 +C10orf35 0 +C10orf53 0 +C10orf62 0 +C10orf71 0 +C10orf85 0 +C10orf91 0 +C10orf99 0 +CACNB2 1 +CALML3 0 +CAMK1D 1 +CASC2 0 +CASP7 0 +CC2D2B 0 +CCAR1 3 +CCDC172 0 +CCDC7 3 +CCNJ 5 +CCNY 0 +CCSER2 9 +CDC123 1 +CDH23 0 +CDHR1 0 +CDK1 0 +CELF2 1 +CEP55 5 +CFAP58 45 +CFL1P1 0 +CHAT 0 +CHCHD1 0 +CHST3 0 +CISD1 3 +CNNM1 0 +CNNM2 79 +COL13A1 0 +COMMD3 0 +COMMD3-BMI1 0 +CREM 0 +CSGALNACT2 1 +CTAGE7P 0 +CTSLP2 0 +CUTC 0 +CYP26A1 0 +CYP26C1 0 +CYP2C18 0 +CYP2C19 0 +CYP2C9 0 +CYP2E1 0 +DDIT4 1 +DDX21 6 +DDX50 14 +DHTKD1 2 +DKK1 0 +DLG5-AS1 0 +DMBT1 0 +DMBT1P1 0 +DNAJC9-AS1 0 +DNMBP-AS1 0 +DNTT 0 +DOCK1 0 +DPCD 1 +DPYSL4 0 +DUSP5 3 +DYDC2 0 +ECHDC3 0 +EDRF1 4 +EIF4EBP2 0 +EIF5AL1 0 +ELOVL3 3 +EMX2 0 +ENO4 0 +ENTPD1 0 +ENTPD7 1 +EXOC6 0 +FAM133CP 0 +FAM149B1 1 +FAM160B1 0 +FAM170B-AS1 0 +FAM175B 10 +FAM178A 1 +FAM208B 17 +FAM213A 0 +FAM21A 2 +FAM21C 1 +FAM24A 0 +FAM25A 0 +FAM25BP 0 +FAM25C 0 +FAM25G 0 +FAM35A 0 +FAM35BP 0 +FAM35DP 0 +FAM45A 0 +FAM45B 0 +FAM53B-AS1 0 +FANK1 1 +FAS 0 +FBXL15 0 +FBXO18 3 +FFAR4 0 +FOXI2 0 +FRAT1 0 +FUT11 0 +FXYD4 0 +GAD2 0 +GATA3 0 +GBF1 5 +GHITM 5 +GJD4 0 +GLRX3 1 +GLUD1P3 0 +GLUD1P7 0 +GOLGA7B 0 +GPR123 0 +GPR158 4 +GPR26 0 +GPRIN2 0 +GRID1-AS1 0 +GRK5 1 +GSTO1 0 +GSTO2 0 +GTPBP4 0 +H2AFY2 0 +HABP2 12 +HECTD2 0 +HELLS 2 +HHEX 5 +HIF1AN 1 +HK1 0 +HKDC1 0 +HMX2 0 +HMX3 0 +HNRNPH3 1 +HOGA1 0 +HPS6 0 +HSD17B7P2 0 +HSPA14 0 +HTRA1 0 +IDI2-AS1 0 +IFIT1 0 +IFIT1B 0 +IFIT2 0 +IFIT3 0 +IFIT5 0 +INA 0 +INPP5A 1 +INPP5F 5 +ITIH2 0 +JAKMIP3 1 +JMJD1C-AS1 0 +KAT6B 1 +KAZALD1 0 +KCNIP2-AS1 0 +KCNK18 0 +KIAA1217 0 +KIAA1279 10 +KIF11 2 +KIF20B 19 +KNDC1 0 +LBX1-AS1 0 +LCOR 9 +LDB3 0 +LGI1 0 +LHPP 0 +LINC00200 0 +LINC00202-2 0 +LINC00263 0 +LINC00264 0 +LINC00502 0 +LINC00595 0 +LINC00619 0 +LINC00703 0 +LINC00705 0 +LINC00707 1 +LINC00709 0 +LINC00836 0 +LINC00839 0 +LINC00840 0 +LINC00841 0 +LINC00844 0 +LINC00845 0 +LINC00856 0 +LINC00857 0 +LINC00858 0 +LINC00865 0 +LINC00867 0 +LINC00993 0 +LINC00999 0 +LINC01163 0 +LINC01168 0 +LINC01452 0 +LIPF 0 +LIPJ 0 +LIPK 0 +LIPM 0 +LIPN 0 +LOC100129055 0 +LOC100130539 0 +LOC100130992 0 +LOC100288974 0 +LOC100996758 0 +LOC101926906 0 +LOC101927396 0 +LOC101927472 0 +LOC101927692 0 +LOC101927762 0 +LOC101927964 0 +LOC101928150 1 +LOC101928298 0 +LOC101928453 0 +LOC101928781 0 +LOC101928913 0 +LOC101929025 0 +LOC101929218 0 +LOC101929234 1 +LOC101929279 0 +LOC101929310 0 +LOC101929328 0 +LOC101929662 0 +LOC101929684 0 +LOC102031319 0 +LOC102723703 0 +LOC102724316 1 +LOC102724589 0 +LOC103344931 0 +LOC283038 0 +LOC283070 0 +LOC399715 0 +LOC399815 0 +LOC439994 0 +LOC642361 0 +LRRC27 0 +LRRTM3 0 +LYZL1 0 +LZTS2 0 +MALRD1 1 +MAP3K8 0 +MAPK8 5 +MARCH5 2 +MARK2P9 0 +MARVELD1 0 +MASTL 3 +MBL1P 0 +MCM10 7 +MCU 2 +MEIG1 0 +MGMT 0 +MINPP1 0 +MIR1265 0 +MIR146B 0 +MIR3155A 0 +MIR3156-1 0 +MIR3158-1 0 +MIR3941 0 +MIR4295 0 +MIR4480 0 +MIR4484 0 +MIR4675 0 +MIR4676 0 +MIR4678 0 +MIR4679-1 0 +MIR4680 0 +MIR4681 0 +MIR4682 0 +MIR5100 0 +MIR511 0 +MIR548AV 0 +MIR5586 0 +MIR5692C2 0 +MIR5694 0 +MIR603 0 +MIR605 0 +MIR6078 0 +MIR608 0 +MIR6715A 0 +MIR7152 0 +MKX-AS1 0 +MLLT10 0 +MRC1 0 +MSMB 0 +MSRB2 0 +MTG1 0 +MTRNR2L5 0 +MXI1 0 +MYO3A 0 +MYPN 0 +NANOS1 18 +NCOA4 10 +NEBL-AS1 0 +NET1 0 +NEURL1 0 +NFKB2 0 +NHLRC2 0 +NKX2-3 0 +NOLC1 3 +NPS 0 +NPY4R 0 +NRBF2 0 +NRG3 0 +NUDT13 0 +NUTM2A 0 +NUTM2B 0 +NUTM2D 0 +OIT3 0 +OLAH 0 +OPN4 0 +OPTN 0 +OTUD1 0 +PALD1 0 +PAOX 0 +PAPSS2 0 +PARD3-AS1 0 +PAX2 0 +PCGF5 1 +PDCD11 0 +PDCD4 0 +PDE6C 0 +PDSS1 0 +PFKFB3 0 +PFKP 3 +PGAM1 0 +PHYHIPL 0 +PI4K2A 0 +PITRM1-AS1 2 +PLAC9 0 +PLAU 0 +PLCE1 9 +PLEKHA1 2 +PLEKHS1 0 +PLXDC2 0 +PNLIP 0 +PNLIPRP1 0 +PNLIPRP2 0 +PNLIPRP3 0 +PPAPDC1A 0 +PPIF 1 +PPP2R2D 1 +PPRC1 23 +PRAP1 0 +PRKCQ-AS1 0 +PRKG1 1 +PROSER2 1 +PRPF18 2 +PRR26 0 +PSTK 0 +PTEN 2 +PTER 0 +PTF1A 0 +PTPRE 0 +PWWP2B 0 +R3HCC1L 1 +RAB18 1 +RASSF4 0 +RBM17 11 +RBM20 0 +REEP3 0 +RET 0 +RGR 0 +RNU6-2 0 +RNU6-53P 0 +RPARP-AS1 0 +RPEL1 0 +RPP30 0 +RPP38 1 +RPS24 56 +SAMD8 1 +SCART1 0 +SCD 0 +SEC23IP 4 +SEC24C 0 +SEC61A2 0 +SEMA4G 1 +SFR1 4 +SFTPA1 0 +SFXN2 0 +SFXN3 0 +SGPL1 0 +SH2D4B 4 +SH3PXD2A-AS1 0 +SHOC2 1 +SIRT1 0 +SLC18A2 1 +SLC18A3 0 +SLC29A3 1 +SLC35G1 5 +SLC39A12 1 +SLIT1-AS1 0 +SLK 1 +SMC3 26 +SNCG 0 +SNORD98 0 +SORCS3 0 +SPAG6 1 +SRGN 0 +ST8SIA6-AS1 0 +STAM 0 +STAMBPL1 0 +STOX1 2 +SUFU 0 +SUPV3L1 1 +SUV39H2 5 +SVILP1 0 +TACC2 2 +TAF3 27 +TAF5 3 +TBC1D12 0 +TCERG1L-AS1 0 +TCF7L2 0 +TDRD1 6 +TECTB 0 +TET1 0 +TEX36-AS1 0 +TFAM 0 +THNSL1 2 +TIMM23B 0 +TLX1 0 +TMEM180 0 +TMEM236 0 +TMEM254 0 +TMEM72 0 +TNKS2 6 +TRIM8 0 +TRUB1 0 +TSPAN14 3 +TSPAN15 1 +UBE2D1 0 +UBTD1 0 +UCN3 0 +UNC5B 0 +UTF1 0 +VCL 3 +VDAC2 0 +VENTX 0 +VIM 0 +VPS26A 2 +VTI1A 0 +VWA2 0 +WAC 30 +WBP1L 0 +WDFY4 0 +WDR11 0 +WDR37 4 +WNT8B 0 +ZDHHC16 1 +ZEB1 0 +ZFYVE27 0 +ZMIZ1 0 +ZMYND11 0 +ZNF22 15 +ZNF32-AS1 0 +ZNF32-AS2 0 +ZNF32-AS3 0 +ZNF33A 0 +ZNF365 0 +ZNF37A 1 +ZNF485 0 +ZNF487 0 +ZNF488 0 +ZNF503-AS1 0 +ZNF503-AS2 2 +ZNF511 0 +ZNF518A 0 +ZRANB1 3 +ZSWIM8 2 +AAMDC 0 +AASDHPPT 2 +ABCG4 0 +ACAD8 1 +ACAT1 2 +ACCS 0 +ACCSL 39 +ACER3 3 +ACTN3 1 +ADAMTS15 0 +ADM 0 +ADRBK1 1 +AIP 2 +AKIP1 1 +ALDH3B1 0 +ALKBH3 0 +AMOTL1 3 +AMPD3 4 +ANKK1 0 +ANKRD13D 0 +ANKRD42 1 +ANKRD49 4 +ANO1 1 +ANO3 1 +ANO5 1 +AP2A2 1 +API5 2 +APLP2 6 +APOC3 0 +AQP11 0 +ARCN1 8 +ARHGAP42 0 +ARHGEF12 5 +ARHGEF17 0 +ARL14EP 3 +ARL2 0 +ARL2-SNX15 0 +ARNTL 0 +ART1 0 +ASRGL1 0 +ATG13 1 +ATG16L2 0 +ATHL1 0 +ATM 0 +ATP5L 4 +B3GNT6 0 +B4GALNT4 0 +BACE1-AS 0 +BANF1 3 +BARX2 1 +BBOX1 0 +BBS1 0 +BCO2 0 +BDNF-AS 0 +BEST1 0 +BIRC2 4 +BIRC3 0 +BRSK2 0 +C11orf1 0 +C11orf30 3 +C11orf31 6 +C11orf42 0 +C11orf44 0 +C11orf49 0 +C11orf52 0 +C11orf53 0 +C11orf54 0 +C11orf57 2 +C11orf58 7 +C11orf63 0 +C11orf70 0 +C11orf73 0 +C11orf74 1 +C11orf80 0 +C11orf84 5 +C11orf86 0 +C11orf87 0 +C11orf88 0 +C11orf96 0 +C11orf97 0 +C2CD2L 0 +CABP4 0 +CALCB 0 +CAND1.11 0 +CAPN1 0 +CAPN5 0 +CAPRIN1 1 +CARNS1 0 +CAT 0 +CBL 1 +CCDC15 17 +CCDC67 0 +CCDC81 0 +CCDC83 0 +CCDC84 0 +CCDC85B 0 +CCDC86 3 +CCDC88B 0 +CCKBR 0 +CCND1 0 +CCS 0 +CD151 0 +CD3E 0 +CD3G 0 +CD44 0 +CD5 0 +CD6 0 +CD81 2 +CD82 5 +CDC42EP2 0 +CEP164 2 +CEP57 5 +CHEK1 30 +CLDN25 0 +CLP1 1 +CNGA4 0 +CNIH2 0 +CNTF 0 +CNTN5 2 +COLCA2 0 +COX8A 2 +CRACR2B 0 +CREB3L1 0 +CRTAM 0 +CRY2 1 +CST6 0 +CSTF3-AS1 0 +CTNND1 28 +CTR9 6 +CTSW 0 +CTTN 1 +CUL5 61 +CXCR5 0 +DAGLA 0 +DAK 0 +DCPS 0 +DDB2 0 +DDI1 0 +DDIAS 3 +DDX10 51 +DDX25 0 +DEFB108B 0 +DEPDC7 19 +DGAT2 0 +DGKZ 1 +DISC1FP1 0 +DIXDC1 0 +DKFZp686K1684 0 +DKFZp779M0652 0 +DLAT 2 +DNAJB13 0 +DNAJC24 1 +DNAJC4 0 +DNHD1 0 +DPF2 13 +DPP3 1 +DRAP1 0 +DRD4 0 +DTX4 0 +DYNC2H1 2 +EED 0 +EHBP1L1 0 +EHF 0 +EI24 12 +EIF3F 9 +EIF3M 4 +ELMOD1 0 +ELP4 0 +ENDOD1 0 +EPS8L2 0 +ESRRA 1 +EXT2 0 +F2 1 +FADD 0 +FADS2 0 +FAM111A 0 +FAM111B 0 +FAM118B 1 +FAM180B 0 +FAM86C1 1 +FAM89B 0 +FAM99A 0 +FAR1 0 +FAT3 1 +FBXO3-AS1 0 +FDX1 0 +FEN1 2 +FERMT3 0 +FIBIN 0 +FJX1 0 +FKBP2 0 +FLI1 1 +FLRT1 0 +FOLH1B 0 +FOLR1 0 +FOLR2 0 +FOLR3 0 +FOLR4 0 +FOXR1 4 +FOXRED1 0 +FRMD8 0 +FSHB 0 +FUT4 0 +GAL 0 +GAS2 0 +GLB1L2 0 +GLB1L3 0 +GLYATL1 6 +GNG3 0 +GPR137 1 +GRAMD1B 0 +GRIA4 0 +GRIK4 2 +GRM5-AS1 0 +GSTP1 0 +GTF2H1 2 +GYLTL1B 0 +HEPHL1 0 +HEPN1 0 +HINFP 0 +HIPK3 3 +HMBS 0 +HOTS 0 +HSD17B12 0 +HSPB2 0 +HSPB2-C11orf52 0 +HTATIP2 1 +HTR3A 0 +HTR3B 0 +HYLS1 13 +IFITM1 0 +IFITM2 0 +IGF2-AS 0 +IGHMBP2 1 +IL10RA 0 +IL18BP 0 +ILK 0 +INCENP 3 +INPPL1 0 +INSC 0 +IPO7 0 +JAM3 7 +JRKL 0 +KAT5 0 +KCNC1 0 +KCNJ5 0 +KCNK4 0 +KCNQ1 0 +KCNQ1DN 0 +KCTD21-AS1 0 +KDM2A 4 +KDM4D 0 +KDM4E 0 +KIAA1377 0 +KIAA1549L 5 +KIAA1731 10 +KIRREL3-AS2 0 +KIRREL3-AS3 0 +KLC2 0 +KMT2A 0 +KRT8P41 0 +KRTAP5-10 0 +KRTAP5-5 0 +KRTAP5-6 0 +KRTAP5-7 0 +KRTAP5-8 0 +KRTAP5-9 0 +KRTAP5-AS1 0 +LAYN 0 +LDHA 4 +LDHAL6A 4 +LDHC 1 +LDLRAD3 1 +LGALS12 0 +LINC00167 0 +LINC00294 0 +LINC00301 0 +LINC01150 0 +LINC01488 0 +LINC01493 0 +LINC01499 0 +LOC100128239 0 +LOC100128494 0 +LOC100129203 0 +LOC100129216 0 +LOC100130987 0 +LOC100506082 0 +LOC100506127 0 +LOC100506368 0 +LOC100507283 0 +LOC100507384 0 +LOC100996455 0 +LOC101054525 0 +LOC101927120 0 +LOC101927495 0 +LOC101928008 0 +LOC101928053 0 +LOC101928535 0 +LOC101928580 0 +LOC101928812 0 +LOC101928823 1 +LOC101928894 0 +LOC101928896 0 +LOC101929295 0 +LOC101929340 0 +LOC101929427 0 +LOC101929473 0 +LOC101929497 0 +LOC101929517 0 +LOC102724301 0 +LOC102724784 0 +LOC102724957 0 +LOC221122 0 +LOC283177 0 +LOC341056 0 +LOC399886 0 +LOC440040 0 +LOC494141 0 +LOC643923 0 +LOC646813 0 +LOC653486 0 +LRFN4 0 +LRP4-AS1 0 +LRP5 0 +LRRC10B 0 +LRRC55 0 +LRRC56 0 +LRTOMT 0 +LSP1 0 +LUZP2 0 +MADD 5 +MALAT1 0 +MAPK8IP1 0 +MARK2 1 +MDK 0 +MED17 0 +METTL12 0 +METTL15 1 +MICAL2 1 +MICALCL 9 +MIR1237 0 +MIR1260B 0 +MIR129-2 0 +MIR130A 0 +MIR1343 0 +MIR3160-2 0 +MIR34B 0 +MIR34C 0 +MIR3656 0 +MIR3973 0 +MIR4486 0 +MIR4488 0 +MIR4489 0 +MIR4491 0 +MIR4492 0 +MIR4686 0 +MIR4687 0 +MIR4688 0 +MIR4690 0 +MIR4691 0 +MIR4692 0 +MIR4693 0 +MIR548AR 0 +MIR548K 0 +MIR5692A1 0 +MIR6090 0 +MIR610 0 +MIR612 0 +MIR6124 0 +MIR6128 0 +MIR670 0 +MIR6716 0 +MIR6743 0 +MIR6744 0 +MIR6748 0 +MIR6752 0 +MIR6753 0 +MIR6754 0 +MIR6755 0 +MIR6860 0 +MIR6879 0 +MIR7113 0 +MIR8052 0 +MMP26 0 +MOGAT2 0 +MRGPRF-AS1 0 +MRGPRG-AS1 0 +MRGPRX3 0 +MRGPRX4 0 +MRPL23 0 +MRPL48 0 +MRPL49 0 +MRVI1-AS1 0 +MS4A1 0 +MS4A10 0 +MS4A12 0 +MS4A13 0 +MS4A14 0 +MS4A15 0 +MS4A2 0 +MS4A3 0 +MS4A4A 0 +MS4A5 0 +MS4A6E 0 +MS4A7 0 +MS4A8 0 +MTNR1B 0 +MUC2 0 +MUC5B 0 +MUS81 2 +MYEOV 0 +MYO7A 0 +MYOD1 0 +MYRF 0 +NAA40 1 +NAALAD2 1 +NADSYN1 0 +NAT10 2 +NAV2 2 +NCAM1 1 +NCR3LG1 0 +NDUFS3 0 +NDUFS8 0 +NDUFV1 0 +NEAT1 0 +NELL1 1 +NEU3 0 +NLRP14 4 +NLRP6 0 +NLRX1 0 +NNMT 0 +NPAS4 0 +NR1H3 0 +NRGN 0 +NS3BP 0 +NTM 0 +NTM-IT 0 +NUCB2 3 +NUDT22 0 +NXPE2 0 +OAF 0 +ODF3 0 +OLFML1 1 +OMP 0 +OOSP2 200 +OR10A2 0 +OR10A4 0 +OR10A5 0 +OR10G4 0 +OR10G8 0 +OR10G9 0 +OR10V2P 0 +OR1S1 0 +OR2AG1 0 +OR2D3 0 +OR4A15 0 +OR4A16 0 +OR4A47 0 +OR4B1 0 +OR4C13 0 +OR4C15 0 +OR4C16 0 +OR4C3 0 +OR4C46 0 +OR4C6 0 +OR4D10 0 +OR4D11 0 +OR4D5 0 +OR4D6 0 +OR4D9 0 +OR4P4 0 +OR4S1 0 +OR4S2 0 +OR4X1 0 +OR4X2 0 +OR51A7 0 +OR51B6 0 +OR51D1 0 +OR51E1 2 +OR51F2 0 +OR51I2 0 +OR51L1 0 +OR51M1 0 +OR51Q1 0 +OR51T1 0 +OR52B6 0 +OR52D1 0 +OR52E4 0 +OR52I1 0 +OR52I2 0 +OR52J3 0 +OR52K1 0 +OR52K2 0 +OR52M1 0 +OR52N2 0 +OR52N4 0 +OR52W1 0 +OR56A3 0 +OR56B1 0 +OR56B4 0 +OR5A1 0 +OR5AK2 0 +OR5AK4P 0 +OR5AN1 0 +OR5AR1 0 +OR5AS1 0 +OR5D13 0 +OR5D14 0 +OR5D16 0 +OR5D18 0 +OR5E1P 0 +OR5J2 0 +OR5L1 0 +OR5L2 0 +OR5T1 0 +OR5T3 0 +OR6Q1 0 +OR7E14P 0 +OR8A1 0 +OR8D4 0 +OR8G1 0 +OR8G2 0 +OR8G5 4 +OR8H2 0 +OR8H3 0 +OR8I2 0 +OR8J1 0 +OR8K1 0 +OR8K3 0 +OR8U1 0 +OR8U8 0 +OR9G1 0 +OR9G9 0 +OR9Q1 0 +OR9Q2 0 +OTOG 0 +OTUB1 2 +OVOL1 0 +P2RX3 0 +P2RY2 0 +P2RY6 0 +PAAF1 0 +PACS1 0 +PAFAH1B2 1 +PANO 0 +PANX1 3 +PANX3 0 +PARVA 1 +PATE1 0 +PATE3 0 +PATE4 0 +PAUPAR 0 +PCF11 9 +PCNXL3 0 +PDE3B 0 +PDHX 2 +PDZD3 0 +PELI3 0 +PGA3 0 +PGA4 0 +PGA5 0 +PGAP2 2 +PHLDB1 1 +PHRF1 1 +PIWIL4 0 +PKNOX2 0 +PKP3 0 +PLCB3 1 +PLEKHB1 4 +PNPLA2 1 +POLA2 1 +POLD3 12 +POLR2G 0 +POU2F3 0 +PPFIA1 18 +PPFIBP2 6 +PPME1 3 +PPP1R32 0 +PPP2R5B 0 +PPP6R3 4 +PRDM11 0 +PRDX5 0 +PRMT3 0 +PRR5L 9 +PRRG4 0 +PRSS23 0 +PSMD13 0 +PTDSS2 0 +PTPMT1 0 +PTPRJ 0 +PTS 0 +QSER1 0 +RAB1B 0 +RAB30-AS1 0 +RAB39A 0 +RAD9A 0 +RAG1 0 +RARRES3 0 +RASSF10 0 +RASSF7 0 +RBM14 0 +RBM14-RBM4 0 +RBM4 1 +RBM7 0 +RBMXL2 0 +RCE1 0 +RCN1 0 +RELT 0 +REXO2 13 +RHOD 0 +RIC8A 0 +RNF121 0 +RNF169 1 +RNF214 0 +RNF26 0 +ROBO3 3 +ROM1 0 +RPL27A 10 +RPLP0P2 1 +RPLP2 14 +RPS3 18 +RPS6KA4 0 +RPS6KB2 1 +RRM1 2 +RTN3 6 +RTN4RL2 0 +SAA1 0 +SAC3D1 0 +SART1 1 +SBF2-AS1 1 +SC5D 0 +SCARNA9 1 +SCGB1A1 0 +SCGB1C1 0 +SCGB1D1 0 +SCGB1D2 0 +SCGB2A1 0 +SCGB2A2 0 +SCYL1 0 +SDHAF2 1 +SDHD 0 +SEC14L1P1 0 +SERPING1 0 +SERPINH1 0 +SF3B2 3 +SHANK2-AS1 0 +SHANK2-AS3 0 +SIDT2 0 +SIK2 0 +SIPA1 0 +SLC17A6 0 +SLC22A10 0 +SLC22A11 0 +SLC22A12 0 +SLC22A18 0 +SLC22A20 0 +SLC22A9 0 +SLC35C1 2 +SLC37A2 0 +SLC39A13 0 +SLC3A2 0 +SLC6A5 18 +SLCO2B1 0 +SMPD1 0 +SMTNL1 0 +SNORA23 0 +SNORA45A 0 +SNORA45B 0 +SNORA52 0 +SNORA57 0 +SNORD15A 0 +SNORD15B 0 +SNX15 1 +SNX32 0 +SORL1 0 +SPA17 0 +SPCS2 3 +SPDYC 6 +SPON1 1 +SPTY2D1-AS1 0 +SRSF8 0 +SSH3 0 +SSSCA1 0 +ST14 1 +ST3GAL4 1 +STIM1 0 +STIP1 3 +STT3A 1 +STX3 5 +SWAP70 4 +SYT12 0 +SYT8 0 +SYT9 1 +TAF6L 0 +TAGLN 0 +TALDO1 6 +TBC1D10C 0 +TBCEL 1 +TBRG1 3 +TCIRG1 0 +TCP11L1 0 +TEAD1 0 +TECTA 3 +TEX12 0 +TEX40 0 +THRSP 0 +TIGD3 0 +TIMM10B 0 +TIRAP 0 +TM7SF2 0 +TMEM109 6 +TMEM126A 1 +TMEM126B 0 +TMEM132A 0 +TMEM133 0 +TMEM135 0 +TMEM136 0 +TMEM138 0 +TMEM151A 0 +TMEM179B 0 +TMEM216 0 +TMEM25 1 +TMEM45B 0 +TMEM80 1 +TMEM86A 0 +TMEM9B-AS1 0 +TMPRSS4 0 +TMX2 4 +TMX2-CTNND1 0 +TNNI2 0 +TNNT3 0 +TOLLIP-AS1 0 +TPBGL 0 +TPCN2 0 +TRAPPC4 0 +TRIM22 0 +TRIM34 0 +TRIM44 0 +TRIM48 0 +TRIM49B 0 +TRIM49C 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM51 0 +TRIM53AP 0 +TRIM6 10 +TRIM6-TRIM34 0 +TRIM64 0 +TRIM77 35 +TRPC2 0 +TSGA10IP 0 +TSKU 3 +TSPAN18 1 +TSPAN32 0 +TSPAN4 0 +TSSC2 0 +TSSC4 0 +TTC12 1 +TTC17 3 +TTC36 0 +TTC9C 6 +TUB 0 +TUB-AS1 0 +TYR 0 +UBASH3B 0 +UBE4A 0 +UBTFL1 0 +UPK2 0 +UQCC3 0 +USP2-AS1 0 +USP35 2 +USP47 4 +UVRAG 0 +VEGFB 0 +VPS11 1 +VPS26B 2 +VPS51 0 +VWA5A 1 +WEE1 0 +WT1-AS 0 +WTAPP1 0 +YAP1 7 +ZBED5-AS1 0 +ZBTB16 5 +ZC3H12C 0 +ZDHHC13 0 +ZDHHC5 3 +ZFP91 3 +ZFP91-CNTF 0 +ZFPL1 0 +ZNF143 6 +ZNF215 20 +ZNF408 0 +ZP1 1 +A2M-AS1 0 +A2ML1 1 +AACS 3 +ACACB 0 +ACAD10 0 +ACADS 0 +ACSM4 0 +ACSS3 0 +ACTR6 1 +ACVR1B 18 +ACVRL1 0 +ADAM1A 0 +ADIPOR2 10 +AEBP2 0 +AGAP2-AS1 0 +ALDH2 0 +ALG10 0 +ALG10B 0 +ALX1 0 +AMDHD1 0 +AMHR2 0 +ANKRD13A 4 +ANKRD33 0 +ANO4 0 +ANO6 4 +ANP32D 0 +APAF1 0 +APOLD1 0 +AQP2 0 +AQP5 0 +AQP6 0 +ARHGEF25 0 +ARID2 8 +ARL6IP4 0 +ARNTL2 0 +ASCL1 0 +ASCL4 0 +ASIC1 0 +ATF1 0 +ATF7IP 7 +ATG101 0 +ATN1 0 +ATP2A2 4 +ATP6V0A2 0 +ATXN7L3B 5 +B3GNT4 2 +B4GALNT3 0 +BCDIN3D-AS1 0 +BCL2L14 0 +BCL7A 0 +BICD1 1 +BLOC1S1 0 +BLOC1S1-RDH5 0 +BRI3BP 0 +BTBD11 1 +C12orf10 0 +C12orf29 1 +C12orf40 0 +C12orf45 0 +C12orf5 0 +C12orf54 0 +C12orf57 0 +C12orf60 0 +C12orf65 8 +C12orf74 0 +C12orf75 0 +C1RL-AS1 0 +C1S 0 +CABP1 0 +CACNA1C 0 +CACNA1C-IT2 0 +CACNA1C-IT3 0 +CACNB3 0 +CAND1 1 +CAPZA3 0 +CASC18 4 +CCDC184 0 +CCDC42B 0 +CCDC60 0 +CCDC62 0 +CCDC63 0 +CCDC64 0 +CCDC65 0 +CCDC77 15 +CCDC91 2 +CCND2 5 +CCT2 10 +CD27 0 +CD4 0 +CD9 5 +CDK2 0 +CDKN1B 0 +CEP83-AS1 0 +CHPT1 0 +CHST11 0 +CLEC12A 0 +CLEC12B 0 +CLEC2D 1 +CLEC4A 0 +CLEC4D 0 +CLEC6A 0 +CLEC9A 0 +CLIP1-AS1 0 +CLLU1 0 +CLSTN3 5 +CMAS 0 +CNOT2 4 +CNTN1 0 +COPS7A 0 +COPZ1 0 +COQ10A 0 +COX14 1 +COX6A1 4 +CPSF6 1 +CRADD 0 +CREBL2 1 +CUX2 0 +DAO 0 +DAZAP2 1 +DDX11 0 +DDX47 3 +DDX55 3 +DENND5B-AS1 0 +DENR 0 +DERA 0 +DGKA 0 +DIP2B 2 +DNAH10 10 +DNAJC22 0 +DNM1L 3 +DPPA3 315 +DRAM1 0 +DSTNP2 0 +DTX1 0 +DTX3 0 +DYNLL1 7 +DYRK2 2 +DYRK4 0 +EID3 1 +EIF4B 12 +ELK3 0 +EMG1 0 +EMP1 0 +ENO2 0 +EP400 6 +EP400NL 0 +ERBB3 0 +ERC1 3 +ERP29 1 +ESPL1 2 +ESYT1 0 +ETNK1 1 +ETV6 0 +FAM101A 0 +FAM138D 0 +FAM216A 0 +FAM222A 0 +FAM66C 0 +FAM71C 0 +FAR2 0 +FBRSL1 0 +FBXW8 1 +FGD4 3 +FGFR1OP2 0 +FICD 0 +FKBP4 1 +FLJ12825 0 +FLJ13224 0 +FLJ37505 0 +FLJ41278 0 +FOXJ2 0 +FRS2 1 +FZD10 0 +GABARAPL1 0 +GALNT8 0 +GAPDH 3 +GAS2L3 2 +GATC 0 +GDF11 0 +GLI1 0 +GLIPR1 3 +GLIPR1L1 0 +GLIPR1L2 0 +GLT1D1 0 +GNB3 0 +GOLT1B 2 +GPD1 0 +GPR133 0 +GPR162 0 +GPR182 0 +GPRC5A 0 +GRASP 0 +GTF2H3 0 +H1FNT 0 +H2AFJ 0 +HCFC2 2 +HELB 1 +HIGD1C 0 +HIP1R 3 +HMGA2 0 +HNF1A 2 +HNRNPA1 8 +HNRNPA1P10 0 +HOXC10 0 +HOXC11 0 +HOXC12 0 +HOXC13 0 +HOXC4 0 +HOXC5 0 +HOXC6 0 +HOXC8 0 +HOXC9 0 +HSD17B6 0 +HSP90B1 13 +HSPB8 0 +HTR7P1 0 +IAPP 0 +IFNG-AS1 0 +IFT81 0 +IGFBP6 0 +IKZF4 0 +IL23A 0 +INHBC 0 +INHBE 0 +IQSEC3 0 +IRAK3 0 +IRAK4 0 +ISCU 2 +ITFG2 0 +KCNA1 0 +KCNA5 0 +KCNA6 0 +KCNH3 0 +KCNMB4 0 +KIAA1033 6 +KIAA1467 0 +KIAA1551 13 +KIF5A 0 +KLHL42 5 +KLRD1 0 +KLRF1 0 +KLRF2 0 +KLRG1 0 +KNTC1 0 +KRT18 0 +KRT19P2 0 +KRT7 0 +KRT86 0 +LAG3 0 +LARP4 2 +LEMD3 1 +LEPREL2 0 +LETMD1 0 +LGR5 0 +LINC00173 0 +LINC00507 0 +LINC00592 0 +LINC00615 0 +LINC00935 0 +LINC00936 0 +LINC00941 0 +LINC00942 0 +LINC00943 1 +LINC00987 0 +LINC01252 1 +LINC01257 0 +LINC01405 0 +LINC01479 0 +LINC01489 0 +LINC01490 0 +LLPH-AS1 0 +LOC100049716 0 +LOC100128554 0 +LOC100129361 0 +LOC100130238 0 +LOC100240734 0 +LOC100288778 0 +LOC100288798 0 +LOC100335030 0 +LOC100506125 0 +LOC100506314 0 +LOC100506393 0 +LOC100507091 0 +LOC100507175 2 +LOC100507424 0 +LOC100652999 0 +LOC101593348 1 +LOC101927292 0 +LOC101927464 0 +LOC101927694 0 +LOC101927735 0 +LOC101927905 0 +LOC101928100 0 +LOC101928137 0 +LOC101928162 0 +LOC101928416 0 +LOC101928441 0 +LOC101928449 0 +LOC101928471 0 +LOC101928530 0 +LOC101928937 0 +LOC101929084 0 +LOC101929162 2 +LOC101929384 0 +LOC101930452 0 +LOC102724050 0 +LOC102724663 0 +LOC102724933 0 +LOC283352 0 +LOC338797 0 +LOC374443 4 +LOC400043 0 +LOC642846 0 +LOH12CR1 4 +LRMP 0 +LRP1 0 +LRRC23 0 +LRRC43 0 +LRRIQ1 1 +LRRK2 0 +LRTM2 0 +LTBR 0 +LYRM5 1 +LYZ 0 +MAP1LC3B2 0 +MAPKAPK5 1 +MARCH9 0 +MARS 2 +MBD6 1 +MDM2 1 +MED21 3 +METAP2 39 +METTL20 0 +METTL21B 0 +METTL25 0 +METTL7A 0 +METTL7B 0 +MFSD5 1 +MGST1 0 +MIR1228 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1251 0 +MIR1252 0 +MIR135A2 0 +MIR141 0 +MIR148B 0 +MIR1827 0 +MIR196A2 0 +MIR200C 0 +MIR331 0 +MIR3612 0 +MIR3652 0 +MIR3685 0 +MIR3908 0 +MIR3913-2 0 +MIR3922 0 +MIR3974 0 +MIR4497 0 +MIR4698 0 +MIR4699 0 +MIR4700 0 +MIR492 0 +MIR5188 0 +MIR548C 0 +MIR5692B 0 +MIR5700 0 +MIR6125 0 +MIR613 0 +MIR614 0 +MIR615 0 +MIR6502 0 +MIR6505 0 +MIR6757 0 +MIR6758 0 +MIR6760 0 +MIR6761 0 +MIR6762 0 +MIR6763 0 +MIR920 0 +MIRLET7I 0 +MLEC 3 +MLXIP 9 +MMP17 0 +MON2 0 +MRPL42 0 +MRPS35 0 +MSRB3 0 +MUC19 0 +MUCL1 0 +MVK 0 +MYBPC1 0 +MYF5 0 +MYF6 0 +MYL6 0 +MYL6B 0 +MYO1H 0 +NAB2 0 +NABP2 2 +NANOG 0 +NANOGNB 0 +NAV3 2 +NCAPD2 1 +NCKAP1L 0 +NDUFA9 0 +NECAP1 2 +NEDD1 7 +NEUROD4 0 +NOC4L 1 +NR1H4 0 +NR4A1 0 +NTF3 0 +NTS 0 +NUDT4 1 +NUDT4P1 0 +NUDT4P2 0 +NUP107 5 +NXPH4 0 +OAS1 0 +OAS2 0 +OAS3 0 +OGFOD2 0 +OR10A7 0 +OR10P1 0 +OR2AP1 0 +OR6C1 0 +OR6C2 0 +OR6C3 0 +OR6C4 0 +OR6C65 0 +OR6C68 0 +OR6C74 0 +OR6C75 0 +OR6C76 0 +OR7E47P 0 +OR8S1 0 +OR9K2 0 +ORAI1 0 +ORMDL2 0 +OS9 2 +OTOGL 1 +OVCH1-AS1 0 +P2RX2 0 +P2RX4 0 +P2RX7 0 +PA2G4 10 +PARPBP 3 +PCBP2 12 +PCBP2-OT1 0 +PCED1B 0 +PDE1B 0 +PDE3A 4 +PDE6H 0 +PDZRN4 0 +PEBP1 10 +PEX5 4 +PFDN5 0 +PFKM 0 +PGAM1P5 0 +PGAM5 1 +PHC1 0 +PIK3C2G 0 +PIP4K2C 2 +PIWIL1 0 +PLBD1-AS1 0 +PLBD2 0 +PLEKHA5 2 +PLEKHG6 0 +PLEKHG7 0 +PLXNC1 0 +POLR3B 1 +PPFIBP1 0 +PPHLN1 11 +PRH2 0 +PRKAB1 2 +PRMT8 0 +PRPF40B 0 +PRPH 0 +PRR13 5 +PSMD9 4 +PTMS 0 +PTPN11 5 +PTPN6 0 +PTPRO 0 +PTPRQ 0 +PUS1 0 +PWP1 32 +PXMP2 0 +PXN-AS1 0 +PYROXD1 1 +RAB21 0 +RAB3IP 1 +RAB5B 16 +RAD51AP1 6 +RAD9B 0 +RAN 19 +RAP1B 3 +RASSF3 4 +RASSF8 3 +RBMS2 3 +RDH5 0 +REP15 0 +RERG-AS1 3 +RFC5 0 +RFX4 0 +RHNO1 1 +RIC8B 0 +RIMKLB 1 +RITA1 0 +RMST 0 +RNF10 23 +RNF34 110 +RNFT2 0 +RPH3A 12 +RPL13AP20 0 +RPL13P5 0 +RPL41 0 +RPS26 0 +SCARNA10 0 +SCN8A 1 +SCYL2 0 +SDSL 0 +SETD1B 3 +SETD8 0 +SFSWAP 1 +SH2B3 4 +SHMT2 1 +SIRT4 0 +SKP1P2 0 +SLC16A7 0 +SLC17A8 1 +SLC25A3 3 +SLC26A10 0 +SLC35E3 0 +SLC39A5 0 +SLC48A1 0 +SLC4A8 0 +SLCO1B1 0 +SLCO1B3 0 +SLCO1B7 0 +SLCO1C1 0 +SMARCD1 0 +SMCO2 0 +SNORA49 0 +SNORA53 0 +SNRNP35 1 +SNRPF 2 +SOAT2 0 +SOCS2 5 +SP1 1 +SPATS2 0 +SPIC 0 +SPRYD4 1 +SPX 0 +SRGAP1 0 +SRRM4 0 +SSPN 0 +STAB2 0 +STK38L 0 +STRAP 14 +SUDS3 13 +SUOX 0 +SYT1 2 +TAPBPL 0 +TARBP2 2 +TBC1D15 3 +TBC1D30 1 +TBK1 0 +TBX5-AS1 0 +TCHP 3 +TCP11L2 0 +TCTN1 1 +TCTN2 0 +TDG 0 +TEAD4 1 +TENC1 0 +TESC-AS1 0 +THAP2 0 +TMBIM6 22 +TMED2 8 +TMEM106C 1 +TMEM117 0 +TMEM120B 1 +TMEM132B 4 +TMEM132C 0 +TMEM19 0 +TMEM198B 1 +TMEM233 0 +TMEM263 0 +TMEM5 0 +TMEM52B 0 +TMPO 4 +TMPRSS12 0 +TMTC2 1 +TMTC3 0 +TPCN1 0 +TPH2 0 +TPI1 2 +TRAFD1 8 +TRHDE 0 +TROAP 9 +TSFM 1 +TSPAN11 0 +TSPAN31 0 +TSPAN9 0 +TUBA1C 158 +TULP3 11 +TXNRD1 0 +UBE3B 2 +ULK1 0 +UNC119B 0 +UNG 25 +USP15 2 +USP30 0 +USP5 1 +UTP20 0 +VEZT 1 +WDR66 0 +WNK1 0 +WNT1 0 +WNT5B 0 +WSCD2 0 +XPOT 2 +XRCC6BP1 0 +YEATS4 8 +ZC3H10 0 +ZDHHC17 0 +ZNF10 1 +ZNF140 0 +ZNF26 0 +ZNF268 0 +ZNF664 3 +ZNF664-FAM101A 0 +ZNF705A 0 +ZNF740 0 +ZNF84 0 +ABHD13 0 +AKAP11 21 +ALG11 1 +ALOX5AP 0 +ARHGEF7 6 +ARL11 0 +ATP11A 1 +ATP11AUN 0 +ATP12A 0 +ATP5EP2 0 +ATP8A2 0 +ATXN8OS 0 +B3GALTL 0 +BIVM 0 +BIVM-ERCC5 0 +BORA 0 +BRCA2 14 +BTF3P11 0 +C1QTNF9 0 +C1QTNF9B-AS1 0 +CARKD 2 +CCDC70 0 +CCNA1 0 +CDADC1 0 +CDC16 0 +CDK8 0 +CHAMP1 5 +CKAP2 4 +CLDN10 0 +CLN5 0 +CLYBL 0 +COG3 0 +COG6 1 +COL4A2 0 +CPB2-AS1 0 +CTAGE10P 0 +CUL4A 0 +CYSLTR2 0 +DAOA 0 +DGKH 0 +DIAPH3-AS1 0 +DIAPH3-AS2 0 +DLEU1 0 +DLEU7-AS1 0 +DNAJC15 3 +DNAJC3 20 +DOCK9-AS1 0 +DOCK9-AS2 0 +EDNRB-AS1 0 +EEF1DP3 0 +ENOX1-AS2 0 +ERCC5 0 +EXOSC8 0 +F10 0 +F7 0 +FAM124A 0 +FAM216B 0 +FARP1 3 +FGF14-AS2 1 +FGF9 2 +FKSG29 0 +FNDC3A 0 +FREM2 0 +FRY 0 +GAS6-AS1 0 +GAS6-AS2 0 +GPALPP1 1 +GPC5 0 +GPC6 1 +GPR180 0 +GRK1 0 +GRTP1-AS1 0 +GSX1 0 +GTF2F2 2 +GTF3A 0 +HNRNPA1L2 0 +HS6ST3 0 +HTR2A-AS1 0 +IFT88 1 +IL17D 0 +ING1 0 +INTS6-AS1 0 +IPO5 4 +IRG1 0 +ITGBL1 0 +ITM2B 0 +KCNRG 0 +KL 0 +KLF5 1 +LACC1 1 +LAMP1 1 +LINC00284 0 +LINC00327 0 +LINC00332 0 +LINC00333 0 +LINC00343 0 +LINC00347 0 +LINC00348 0 +LINC00351 0 +LINC00354 0 +LINC00366 0 +LINC00368 0 +LINC00378 0 +LINC00381 0 +LINC00382 0 +LINC00383 0 +LINC00392 0 +LINC00398 0 +LINC00400 0 +LINC00403 0 +LINC00408 0 +LINC00421 0 +LINC00433 0 +LINC00442 0 +LINC00443 0 +LINC00446 0 +LINC00452 0 +LINC00460 0 +LINC00540 0 +LINC00544 0 +LINC00545 0 +LINC00547 0 +LINC00551 0 +LINC00558 0 +LINC00676 0 +LINC01046 0 +LINC01049 0 +LINC01053 0 +LINC01070 0 +LINC01080 0 +LMO7 4 +LMO7DN 0 +LOC101926897 0 +LOC101927284 0 +LOC101929140 0 +LOC101929259 0 +LOC101929657 1 +LOC103191607 0 +LRCH1 3 +LRRC63 0 +MBNL2 0 +MCF2L 0 +MED4-AS1 0 +MEDAG 0 +METTL21EP 0 +MIPEPP3 0 +MIR17 0 +MIR17HG 0 +MIR18A 0 +MIR19A 0 +MIR19B1 0 +MIR20A 0 +MIR2276 0 +MIR3170 0 +MIR4306 0 +MIR4703 0 +MIR5007 0 +MIR621 0 +MIR622 0 +MIR623 0 +MIR759 0 +MIR8073 0 +MIR8075 0 +MIR92A1 0 +MLNR 0 +MPHOSPH8 18 +MRPL57 0 +MTUS2 0 +MYCBP2-AS1 0 +MYO16 0 +NAA16 0 +NALCN-AS1 0 +NBEA 0 +NDFIP2 3 +NHLRC3 0 +NUDT15 0 +NUPL1 6 +OLFM4 2 +OR7E156P 0 +OR7E37P 0 +PABPC3 3 +PAN3 3 +PCCA 2 +PCDH17 0 +PCDH9-AS2 0 +PCDH9-AS3 0 +PCDH9-AS4 0 +PDS5B 1 +PDX1 0 +PHF11 0 +PIBF1 0 +POLR1D 5 +POMP 1 +PROZ 0 +PRR20A 0 +PRR20B 0 +PRR20C 0 +PRR20D 0 +PRR20E 0 +RAP2A 0 +RASL11A 0 +RB1 1 +RBM26-AS1 0 +RFC3 1 +RFXAP 0 +RGCC 0 +RNASEH2B 0 +RNF17 4 +RNF219-AS1 0 +RNU6-52P 0 +RPL21 0 +RPL21P28 0 +RXFP2 0 +SACS-AS1 0 +SAP18 1 +SCEL 0 +SERP2 0 +SERPINE3 0 +SERTM1 0 +SETDB2 4 +SGCG 0 +SLAIN1 0 +SLC25A15 0 +SLC25A30-AS1 0 +SLITRK5 0 +SMIM2-AS1 0 +SNORA27 0 +SNORD102 0 +SOX1 0 +SOX21-AS1 0 +SPACA7 0 +SPATA13 0 +SPERT 0 +SPG20OS 0 +ST13P4 0 +STARD13-AS 0 +SUGT1 15 +TDRD3 1 +TEX26 0 +TEX29 0 +TFDP1 1 +TM9SF2 4 +TMCO3 0 +TMEM255B 1 +TNFRSF19 0 +TNFSF11 0 +TNFSF13B 0 +TPP2 6 +TPT1-AS1 0 +TPTE2P3 0 +TPTE2P6 0 +TRIM13 0 +TSC22D1-AS1 0 +UBAC2 1 +UCHL3 1 +UFM1 0 +UPF3A 2 +USP12-AS1 0 +USP12-AS2 0 +USPL1 0 +UTP14C 1 +VWA8-AS1 0 +WASF3 0 +WBP4 2 +WDFY2 1 +ZIC2 0 +ZMYM2 8 +ABHD12B 0 +ABHD4 0 +ACOT1 0 +ACOT2 0 +ACOT4 1 +ACOT6 0 +ACTN1-AS1 0 +ACTR10 3 +ADAM21 0 +ADCK1 0 +ADSSL1 0 +AHSA1 8 +AK7 0 +AKAP5 0 +AKAP6 1 +AMN 0 +ANG 0 +AP4S1 0 +AP5M1 1 +APEX1 2 +APOPT1 1 +ARF6 2 +ARG2 16 +ARHGAP5 1 +ARHGEF40 0 +ARID4A 13 +ASPG 0 +ATL1 0 +ATP5S 0 +BATF 0 +BCL2L2 0 +BCL2L2-PABPN1 0 +BDKRB1 0 +BDKRB2 0 +BMS1P17 0 +BMS1P18 0 +BRMS1L 0 +BTBD6 0 +C14orf119 4 +C14orf132 0 +C14orf159 0 +C14orf166 16 +C14orf169 0 +C14orf177 0 +C14orf178 1 +C14orf180 0 +C14orf23 0 +C14orf28 0 +C14orf79 0 +C14orf80 0 +CALM1 83 +CCDC176 0 +CCNK 3 +CDKN3 0 +CEP170B 1 +CGRRF1 0 +CHGA 0 +CHURC1 1 +CHURC1-FNTB 16 +CIPC 0 +CMTM5 0 +COCH 5 +COQ6 2 +COX8C 0 +CPNE6 0 +CPSF2 3 +CRIP1 0 +CRIP2 0 +CTAGE5 5 +CYP46A1 0 +DAAM1 50 +DACT1 0 +DCAF11 0 +DCAF4 0 +DHRS2 0 +DHRS4 0 +DHRS4L1 0 +DHRS4L2 0 +DICER1-AS1 0 +DIO2-AS1 0 +DIO3 0 +DLK1 0 +DLST 1 +DNAL1 0 +DUXAP10 0 +DYNC1H1 0 +ECRP 0 +EDDM3A 0 +EDDM3B 0 +EIF2B2 0 +EIF2S1 2 +EIF5 20 +EML1 1 +ESRRB 0 +EVL 0 +EXD2 2 +EXOC3L4 0 +FAM177A1 1 +FAM179B 0 +FAM181A 0 +FAM71D 0 +FANCM 2 +FBXO34 0 +FCF1 0 +FITM1 0 +FLJ22447 0 +FLRT2 0 +FLVCR2 4 +FNTB 0 +FOS 0 +FOXG1 0 +FOXN3-AS1 0 +FOXN3-AS2 0 +FRMD6 1 +FUT8 3 +G2E3 0 +GALNT16 0 +GEMIN2 1 +GLRX5 0 +GMPR2 1 +GNG2 2 +GOLGA5 5 +GPATCH2L 2 +GPHN 0 +GPR137C 0 +GPR65 0 +GSKIP 8 +GSTZ1 0 +HHIPL1 0 +HIF1A 5 +HSPA2 1 +IFI27 0 +IFI27L1 0 +IFT43 0 +IGBP1P1 0 +IL25 0 +INF2 0 +INSM2 0 +IRF9 0 +ISCA2 0 +ITPK1-AS1 0 +JDP2 0 +JKAMP 0 +KCNK13 0 +KHNYN 0 +KIAA0125 0 +KIAA0247 6 +KIAA0391 1 +KIAA0586 1 +KIF26A 0 +KLC1 2 +KLHDC1 0 +KLHDC2 0 +KTN1 24 +LGALS3 0 +LIN52 5 +LINC00221 0 +LINC00226 0 +LINC00238 0 +LINC00239 0 +LINC00521 0 +LINC00523 0 +LINC00609 0 +LINC00618 0 +LINC00637 0 +LINC00638 0 +LINC00640 0 +LINC00642 0 +LINC00643 0 +LINC00645 0 +LINC00871 0 +LINC00911 0 +LINC01146 0 +LINC01220 0 +LINC01296 0 +LINC01500 0 +LOC100506321 0 +LOC100506476 0 +LOC100508046 0 +LOC101926933 0 +LOC101927045 0 +LOC101927081 0 +LOC101927124 0 +LOC101927178 0 +LOC101927620 0 +LOC101928767 0 +LOC101928909 0 +LOC101929080 0 +LOC101929241 0 +LOC102723354 0 +LOC102724814 0 +LOC102724890 0 +LOC145474 0 +LOC254028 0 +LOC283575 0 +LOC283585 0 +LOC644919 0 +LRFN5 0 +LRP10 0 +LRR1 7 +LRRC16B 0 +LRRC74A 0 +LRRC9 0 +LTB4R 0 +LTB4R2 0 +MAPK1IP1L 4 +MARK3 0 +MEG3 0 +MEG8 0 +MEG9 0 +METTL17 0 +MGAT2 0 +MIA2 0 +MIPOL1 0 +MIR1185-1 0 +MIR1185-2 0 +MIR1193 0 +MIR1197 0 +MIR1260A 0 +MIR127 0 +MIR134 0 +MIR136 0 +MIR154 0 +MIR203A 0 +MIR2392 0 +MIR299 0 +MIR300 0 +MIR323A 0 +MIR323B 0 +MIR329-1 0 +MIR329-2 0 +MIR337 0 +MIR345 0 +MIR369 0 +MIR376A1 0 +MIR376A2 0 +MIR376B 0 +MIR376C 0 +MIR377 0 +MIR379 0 +MIR380 0 +MIR381 0 +MIR381HG 0 +MIR382 0 +MIR409 0 +MIR410 0 +MIR411 0 +MIR412 0 +MIR4307 0 +MIR4309 0 +MIR431 0 +MIR432 0 +MIR433 0 +MIR4505 0 +MIR4706 0 +MIR485 0 +MIR487A 0 +MIR487B 0 +MIR493 0 +MIR494 0 +MIR495 0 +MIR496 0 +MIR539 0 +MIR541 0 +MIR543 0 +MIR5698 0 +MIR6076 0 +MIR654 0 +MIR655 0 +MIR656 0 +MIR665 0 +MIR668 0 +MIR6764 0 +MIR758 0 +MIR770 0 +MIR7843 0 +MIR8071-1 0 +MIR8071-2 0 +MIR889 0 +MMP14 0 +MNAT1 1 +MPP5 1 +MRPL52 0 +MTA1 0 +MTHFD1 0 +NAA30 8 +NFATC4 0 +NGDN 5 +NKX2-1-AS1 0 +NOP9 0 +NPAS3 0 +NRXN3 0 +NUBPL 0 +NYNRIN 0 +OR11G2 0 +OR11H12 0 +OR11H4 0 +OR11H6 0 +OR4E2 0 +OR4K1 0 +OR4K15 0 +OR4K17 0 +OR4K2 0 +OR4K5 0 +OR4L1 0 +OR4M1 0 +OR4N2 0 +OR4N5 0 +OR4Q3 0 +OTUB2 0 +OTX2-AS1 0 +OXA1L 1 +PABPN1 1 +PACS2 0 +PAPLN 0 +PAPOLA 5 +PARP2 1 +PAX9 1 +PCK2 0 +PCNX 1 +PCNXL4 2 +PELI2 0 +PLD4 0 +PLEKHD1 0 +PLEKHG3 2 +PLEKHH1 0 +PNN 27 +PNP 1 +POTEG 0 +PPM1A 2 +PPP1R36 1 +PPP2R5C 8 +PPP4R4 0 +PRKCH 2 +PRMT5-AS1 0 +PRPF39 0 +PSEN1 0 +PSMA3 9 +PSMA6 1 +PSMB11 0 +PSMC1 0 +PSMC6 0 +PSME1 1 +PTGDR 0 +PTGER2 0 +PTGR2 0 +RAD51B 0 +RBM25 4 +RCOR1 8 +RDH12 0 +REC8 0 +REM2 0 +RGS6 0 +RHOJ 0 +RIN3 0 +RNASE10 0 +RNASE2 0 +RNASE3 0 +RNASE4 0 +RNASE6 0 +RNASE7 0 +RNASE8 0 +RNF212B 0 +RNF31 0 +RNU6-2 0 +RPGRIP1 0 +RPL13AP3 0 +SAMD15 1 +SAMD4A 6 +SCFD1 4 +SERPINA13P 0 +SERPINA3 0 +SERPINA4 0 +SERPINA5 0 +SIPA1L1 5 +SIVA1 3 +SIX6 0 +SLC24A4 0 +SLC25A21-AS1 0 +SLC25A47 0 +SLC38A6 0 +SLC39A2 0 +SLC39A9 0 +SLIRP 0 +SMOC1 0 +SNAPC1 1 +SNHG24 0 +SNORA11B 0 +SNORA28 0 +SNORD113-1 0 +SNORD113-2 0 +SNORD113-4 0 +SNORD113-5 0 +SNORD113-6 0 +SNORD113-7 0 +SNORD113-9 0 +SNORD114-1 0 +SNORD114-10 0 +SNORD114-11 0 +SNORD114-12 0 +SNORD114-13 0 +SNORD114-14 0 +SNORD114-15 0 +SNORD114-16 0 +SNORD114-17 0 +SNORD114-18 0 +SNORD114-19 0 +SNORD114-2 0 +SNORD114-20 0 +SNORD114-21 0 +SNORD114-22 0 +SNORD114-23 0 +SNORD114-24 0 +SNORD114-25 0 +SNORD114-26 0 +SNORD114-27 0 +SNORD114-28 0 +SNORD114-29 0 +SNORD114-3 0 +SNORD114-30 0 +SNORD114-31 0 +SNORD114-4 0 +SNORD114-5 0 +SNORD114-6 0 +SNORD114-7 0 +SNORD114-8 0 +SNORD114-9 0 +SNORD127 0 +SNORD56B 0 +SOCS4 1 +SPATA7 0 +SRP54 0 +SRSF5 3 +SSTR1 0 +STYX 0 +SYNE2 34 +SYT16 3 +TCL1B 1 +TCL6 0 +TDP1 10 +TDRD9 0 +TECPR2 7 +TEX22 0 +THTPA 0 +TMEM121 0 +TMEM251 0 +TMEM253 0 +TMEM260 2 +TMEM63C 0 +TMX1 0 +TNFAIP2 0 +TOMM20L 0 +TOX4 1 +TPPP2 0 +TRAF3 1 +TRMT61A 0 +TSHR 0 +TSSK4 0 +TTC8 0 +TTC9 0 +TTLL5 2 +TUNAR 0 +UBR7 1 +UNC79 2 +VASH1 0 +VRK1 3 +VRTN 3 +VSX2 0 +WDR20 8 +WDR25 1 +YLPM1 2 +YY1 1 +ZBTB1 0 +ZBTB42 0 +ZC2HC1C 1 +ZC3H14 9 +ZFYVE21 4 +ZNF410 4 +ZNF839 1 +ABHD17C 0 +ABHD2 10 +ACAN 0 +ADAL 3 +ADAMTS7P1 0 +ADAMTSL3 1 +ADPGK-AS1 0 +AEN 1 +AGBL1 0 +AKAP13 10 +ALDH1A3 0 +ALPK3 0 +ANKDD1A 0 +ANKRD34C 0 +ANP32AP1 0 +AP4E1 0 +APBA2 0 +APH1B 0 +AQP9 0 +ARHGAP11A 2 +ARHGAP11B 0 +ARID3B 3 +ARIH1 19 +ARNT2 0 +ARRDC4 0 +ASB7 0 +ASB9P1 0 +B2M 0 +BAHD1 0 +BBS4 1 +BLM 0 +BLOC1S6 0 +BUB1B 14 +C15orf26 0 +C15orf27 0 +C15orf32 0 +C15orf37 0 +C15orf39 2 +C15orf41 1 +C15orf43 0 +C15orf48 0 +C15orf53 0 +C15orf54 0 +C15orf61 4 +C15orf62 0 +C15orf65 0 +C2CD4A 0 +CAPN3 0 +CASC4 0 +CASC5 5 +CCDC33 0 +CCNB2 42 +CCNDBP1 0 +CD276 0 +CEMIP 0 +CGNL1 1 +CHAC1 5 +CHD2 10 +CHEK2P2 0 +CHP1 3 +CHRM5 0 +CHRNA5 0 +CHRNA7 0 +CHST14 0 +CKMT1A 0 +CKMT1B 0 +CLK3 3 +COMMD4 0 +CORO2B 0 +CPLX3 0 +CRABP1 0 +CRTC3 0 +CSK 1 +CTDSPL2 1 +CTXN2 0 +CYFIP1 1 +CYP1A2 0 +DCAF13P3 0 +DIS3L 0 +DISP2 0 +DKFZP434L187 0 +DLL4 0 +DNAJA4 5 +DNM1P41 0 +DPH6-AS1 1 +DTWD1 0 +DUOX1 0 +DUOXA2 0 +DUT 0 +EFTUD1P1 0 +EID1 2 +EIF2AK4 4 +EIF3J 1 +EMC4 1 +FAH 0 +FAM103A1 0 +FAM138E 0 +FAM154B 0 +FAM63B 4 +FAM81A 0 +FAM98B 0 +FAN1 0 +FANCI 3 +FBXL22 0 +FBXO22 0 +FEM1B 1 +FES 0 +FGF7 0 +FOXB1 0 +FURIN 4 +GABPB1-AS1 0 +GABRA5 0 +GABRG3 0 +GALK2 1 +GANC 0 +GCHFR 0 +GCNT3 10 +GCOM1 3 +GDPGP1 0 +GLCE 5 +GLDN 0 +GOLGA2P10 0 +GOLGA6B 0 +GOLGA6C 0 +GOLGA6D 0 +GOLGA6L1 0 +GOLGA6L17P 0 +GOLGA6L22 0 +GOLGA6L4 0 +GOLGA6L9 0 +GOLGA8CP 0 +GOLGA8EP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8H 0 +GOLGA8I 0 +GOLGA8J 0 +GOLGA8N 0 +GOLGA8S 0 +GOLGA8T 0 +GREM1 0 +HAUS2 0 +HERC2P10 0 +HERC2P7 0 +HERC2P9 0 +HEXA-AS1 0 +HMG20A 0 +HMGN2P46 0 +HSP90B2P 0 +HYKK 0 +HYPK 3 +IDH3A 1 +IGF1R 7 +IL16 1 +INAFM2 0 +IPW 0 +IQCH 0 +IQGAP1 22 +IREB2 1 +ISG20 0 +ISL2 0 +ISLR 0 +ISLR2 0 +ITPKA 0 +IVD 1 +JMJD7 0 +JMJD7-PLA2G4B 0 +KBTBD13 0 +KIAA1024 0 +KIF23 11 +KLF13 0 +KNSTRN 5 +LACTB 0 +LDHAL6B 0 +LINC00052 0 +LINC00277 1 +LINC00593 0 +LINC00924 0 +LINC00925 0 +LINC00926 0 +LINC00929 0 +LINC00933 0 +LINC01169 0 +LINC01193 0 +LINC01413 0 +LIPC 0 +LMAN1L 0 +LOC100128714 0 +LOC100129973 0 +LOC100288637 0 +LOC100289656 0 +LOC100419583 0 +LOC100507217 0 +LOC100996255 0 +LOC100996876 0 +LOC101926911 0 +LOC101926928 0 +LOC101927079 0 +LOC101927129 0 +LOC101927153 0 +LOC101928174 0 +LOC101928227 0 +LOC101928363 0 +LOC101928388 0 +LOC101928784 1 +LOC101928988 0 +LOC101929221 0 +LOC101929478 0 +LOC101929655 0 +LOC101929690 0 +LOC101929765 0 +LOC102723320 0 +LOC102723344 0 +LOC102724034 0 +LOC103171574 0 +LOC145837 0 +LOC253044 0 +LOC283692 0 +LOC440300 0 +LOC440311 0 +LOC646938 0 +LOC727751 0 +LOC727924 0 +LOC729739 0 +LOXL1 1 +LRRC28 1 +LRRC49 4 +LRRK1 1 +MAN2A2 0 +MAP1A 1 +MAP2K1 26 +MAP2K5 1 +MAPK6 5 +MAPKBP1 2 +MCTP2 2 +MEF2A 0 +MESDC1 0 +MESP2 0 +MGA 13 +MIR1179 0 +MIR1469 0 +MIR147B 0 +MIR184 0 +MIR190A 0 +MIR3175 0 +MIR4311 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4510 0 +MIR4515 0 +MIR4712 0 +MIR4713 0 +MIR4714 0 +MIR5003 0 +MIR548H4 0 +MIR5572 0 +MIR6085 0 +MIR626 0 +MIR630 0 +MIR6859-1 0 +MIR6859-2 0 +MIR7-2 0 +MIR9-3 0 +MKRN3 0 +MORF4L1 6 +MPI 1 +MRPS11 0 +MYZAP 0 +NDUFAF4P1 0 +NEIL1 0 +NEO1 12 +NGRN 3 +NOX5 0 +NPAP1 0 +NR2E3 0 +NR2F2 3 +NTRK3-AS1 0 +NUSAP1 2 +NUTM1 0 +ODF3L1 0 +OIP5-AS1 0 +OR4F13P 0 +OR4F15 0 +OR4F6 0 +OR4M2 0 +OR4N3P 0 +OR4N4 0 +PAK6 4 +PAQR5 1 +PDCD6IPP2 0 +PDE8A 3 +PDIA3 0 +PGBD4 0 +PHGR1 0 +PIAS1 14 +PIGB 0 +PLA2G4B 0 +PLEKHO2 0 +PML 1 +POLR2M 0 +PPCDC 0 +PRC1-AS1 0 +PSMA4 10 +PSTPIP1 0 +PTPLAD1 0 +PWAR1 0 +PWAR4 0 +PWAR5 0 +PWARSN 0 +PWRN1 0 +RAB11A 7 +RAB8B 2 +RAD51 0 +RCCD1 5 +RCN2 0 +REC114 6 +REREP3 0 +RNF111 11 +RNU6-28P 0 +RPLP1 20 +RPUSD2 0 +RTF1 3 +RYR3 1 +SCAMP5 0 +SCAND2P 0 +SCARNA15 0 +SCG3 0 +SCG5 0 +SEMA4B 2 +SEMA6D 0 +SENP8 1 +SERF2 7 +SERF2-C15ORF63 0 +SH2D7 0 +SH3GL3 1 +SKOR1 1 +SLC12A1 0 +SLC24A1 0 +SLC24A5 0 +SLC27A2 0 +SLC28A1 0 +SLC28A2 0 +SLC51B 0 +SLCO3A1 6 +SMAD3 1 +SMAD6 0 +SNAP23 5 +SNHG21 0 +SNORD107 0 +SNORD108 0 +SNORD109A 0 +SNORD109B 0 +SNORD115-1 0 +SNORD115-10 0 +SNORD115-11 0 +SNORD115-12 0 +SNORD115-13 0 +SNORD115-14 0 +SNORD115-15 0 +SNORD115-16 0 +SNORD115-17 0 +SNORD115-18 0 +SNORD115-19 0 +SNORD115-2 0 +SNORD115-20 0 +SNORD115-21 0 +SNORD115-22 0 +SNORD115-23 0 +SNORD115-24 0 +SNORD115-25 0 +SNORD115-26 0 +SNORD115-27 0 +SNORD115-28 0 +SNORD115-29 0 +SNORD115-3 0 +SNORD115-30 0 +SNORD115-31 0 +SNORD115-32 0 +SNORD115-33 0 +SNORD115-34 0 +SNORD115-35 0 +SNORD115-36 0 +SNORD115-37 0 +SNORD115-38 0 +SNORD115-39 0 +SNORD115-4 0 +SNORD115-40 0 +SNORD115-41 0 +SNORD115-42 0 +SNORD115-43 0 +SNORD115-44 0 +SNORD115-45 0 +SNORD115-46 0 +SNORD115-47 0 +SNORD115-48 0 +SNORD115-5 0 +SNORD115-6 0 +SNORD115-7 0 +SNORD115-8 0 +SNORD115-9 0 +SNORD116-1 0 +SNORD116-10 0 +SNORD116-11 0 +SNORD116-12 0 +SNORD116-13 0 +SNORD116-14 0 +SNORD116-15 0 +SNORD116-16 0 +SNORD116-17 0 +SNORD116-18 0 +SNORD116-19 0 +SNORD116-2 0 +SNORD116-20 0 +SNORD116-21 0 +SNORD116-22 0 +SNORD116-23 0 +SNORD116-24 0 +SNORD116-25 0 +SNORD116-26 0 +SNORD116-27 0 +SNORD116-28 0 +SNORD116-29 0 +SNORD116-3 0 +SNORD116-30 0 +SNORD116-4 0 +SNORD116-5 0 +SNORD116-6 0 +SNORD116-7 0 +SNORD116-8 0 +SNORD116-9 0 +SNORD64 0 +SNRPN 3 +SNURF 0 +SNX1 2 +SNX22 1 +SNX33 0 +SORD 0 +SPATA5L1 0 +SPATA8 0 +SPESP1 1 +SPINT1 0 +SPRED1 0 +SQRDL 0 +SRP14-AS1 0 +ST8SIA2 0 +STARD9 0 +SV2B 2 +SYNM 3 +TBC1D21 0 +TCF12 0 +TEX9 6 +THBS1 0 +THSD4 5 +TICRR 8 +TLN2 4 +TM6SF1 0 +TMCO5A 0 +TMED3 0 +TMEM202 0 +TMEM62 0 +TMOD2 2 +TMOD3 5 +TPM1 6 +TRIM69 0 +TRIP4 0 +TTLL13 0 +TUBGCP4 3 +TUBGCP5 0 +TYRO3 0 +UBE2Q2 56 +UBE2Q2L 0 +UBE2Q2P2 0 +UBL7-AS1 0 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +UNC13C 58 +UNC45A 0 +USP3 5 +USP8 1 +VPS18 0 +WASH3P 0 +WDR76 6 +WDR93 0 +WHAMM 0 +WHAMMP2 0 +ZFAND6 4 +ZFYVE19 0 +ZNF592 0 +ZNF609 4 +ZNF710 0 +ZNF774 0 +ZSCAN2 1 +ZWILCH 3 +ABAT 0 +ABCA17P 0 +ABCC1 2 +ABCC6P1 10 +ACSF3 0 +ACSM2A 0 +ACSM3 0 +ACSM5 0 +ADAD2 0 +ADCY7 1 +AFG3L1P 0 +AHSP 0 +ALDOA 7 +ALG1 0 +AMDHD2 0 +ANKS4B 0 +APOBR 0 +AQP8 0 +ARHGDIG 0 +ARL2BP 1 +ARMC5 0 +ASPHD1 0 +ATF7IP2 1 +ATMIN 5 +ATP2A1 0 +ATP2C2 4 +ATP6V0C 0 +ATXN1L 6 +ATXN2L 11 +BAIAP3 1 +BANP 4 +BCKDK 0 +BCO1 0 +BEAN1 0 +BFAR 6 +C16orf45 0 +C16orf52 1 +C16orf59 0 +C16orf62 3 +C16orf70 0 +C16orf71 0 +C16orf72 4 +C16orf78 0 +C16orf82 0 +C16orf86 0 +C16orf92 0 +C16orf96 0 +CA7 0 +CACNA1H 0 +CACNG3 0 +CALB2 0 +CAPN15 1 +CAPNS2 0 +CBFB 5 +CCDC101 0 +CCDC113 0 +CCDC135 0 +CCL17 0 +CCL22 0 +CCNF 1 +CCP110 3 +CD19 0 +CDH1 1 +CDH13 0 +CDH15 0 +CDH3 13 +CDH5 0 +CDIPT-AS1 0 +CDK10 0 +CDT1 4 +CENPN 2 +CES1P1 0 +CES1P2 0 +CES2 0 +CES3 0 +CES4A 0 +CETP 0 +CHD9 0 +CHP2 0 +CHST4 1 +CHTF18 0 +CIITA 0 +CIRH1A 1 +CKLF 0 +CKLF-CMTM1 0 +CLDN9 0 +CLEC16A 0 +CLEC18A 0 +CLEC18C 0 +CLEC19A 0 +CLEC3A 0 +CLUAP1 2 +CLUHP3 0 +CMIP 1 +CMTM1 0 +CMTM2 0 +CMTM3 0 +CNEP1R1 0 +CNTNAP4 0 +COQ7 0 +COQ9 1 +CORO1A 1 +COX4I1 0 +CPNE2 0 +CPNE7 0 +CRAMP1L 3 +CRISPLD2 3 +CRYM-AS1 0 +CTCF 1 +CTF1 0 +CTRB1 0 +CTU2 3 +CX3CL1 0 +CYB5B 3 +CYLD 5 +DCTN5 5 +DDX11L10 0 +DDX19A 3 +DDX19B 0 +DECR2 0 +DEF8 0 +DHODH 0 +DHX38 4 +DNAAF1 0 +DNAJA3 1 +DNASE1 0 +DNASE1L2 0 +DPEP1 0 +DUS2 0 +DYNLRB2 0 +E2F4 3 +E4F1 0 +EDC4 0 +EEF2K 4 +EIF3C 0 +EIF3CL 0 +ELMO3 0 +EME2 0 +ERCC4 1 +FAHD1 0 +FAM173A 0 +FAM195A 0 +FAM65A 0 +FBRS 3 +FBXL19 0 +FBXL8 0 +FLJ21408 0 +FLJ26245 0 +FLJ30679 1 +FLJ42627 1 +FLYWCH1 0 +FLYWCH2 1 +FOXC2 0 +FOXF1 0 +FOXL1 0 +FTO 1 +FTO-IT1 0 +FUK 0 +FUS 4 +GABARAPL2 2 +GAN 0 +GAS8 0 +GFER 0 +GINS3 4 +GLIS2 0 +GNAO1 0 +GNPTG 0 +GPR114 0 +GPR56 1 +GPR97 0 +GPT2 2 +GSE1 9 +HAGHL 0 +HAS3 5 +HBA1 0 +HBA2 0 +HBM 0 +HBQ1 0 +HBZ 0 +HCCAT5 0 +HEATR3 0 +HERPUD1 2 +HMOX2 1 +HN1L 1 +HP 0 +HPR 0 +HS3ST2 0 +HS3ST4 0 +HSBP1 0 +HSD11B2 0 +HSD17B2 0 +HSD3B7 0 +HSF4 0 +IL17C 0 +IL21R 0 +IL32 0 +IL34 1 +IL4R 0 +INO80E 0 +IQCK 0 +IRF8 3 +IRX5 0 +IRX6 0 +IST1 1 +ITFG3 0 +ITGAD 0 +ITGAL 0 +ITGAM 0 +ITGAX 0 +ITPRIPL2 0 +JPH3 0 +KAT8 0 +KATNB1 2 +KCTD5 5 +KDM8 0 +KIAA0513 0 +KIAA0556 0 +KIF22 0 +KLHL36 0 +KREMEN2 0 +LAT 0 +LCMT1 6 +LINC00304 0 +LINC00311 0 +LINC00514 0 +LINC00920 0 +LINC00921 0 +LINC01082 0 +LMF1-AS1 0 +LOC100128770 0 +LOC100129617 0 +LOC100129697 0 +LOC100132529 0 +LOC100134368 0 +LOC100287036 0 +LOC100288162 0 +LOC100289580 0 +LOC100505915 0 +LOC100506172 0 +LOC100506281 0 +LOC100507577 0 +LOC100862671 0 +LOC101927102 0 +LOC101927131 0 +LOC101927132 0 +LOC101927272 0 +LOC101927334 0 +LOC101927364 0 +LOC101927580 0 +LOC101927817 0 +LOC101928203 0 +LOC101928248 0 +LOC101928446 0 +LOC101928708 0 +LOC101928736 0 +LOC101928737 0 +LOC101928880 0 +LOC101929613 0 +LOC102467079 0 +LOC102723373 0 +LOC146513 0 +LOC283914 0 +LOC339059 0 +LOC388282 0 +LOC400548 0 +LOC400558 0 +LOC554206 0 +LOC606724 0 +LOC652276 0 +LOC653786 0 +LOC81691 0 +LONP2 4 +LPCAT2 0 +LRRC36 0 +LYRM1 0 +MAP1LC3B 1 +MAPK8IP3 0 +MARVELD3 0 +MAZ 0 +MC1R 0 +METRN 0 +METTL22 0 +METTL9 5 +MGRN1 3 +MIR138-2 0 +MIR140 0 +MIR193B 0 +MIR1972-1 0 +MIR1972-2 0 +MIR3176 0 +MIR3177 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3182 0 +MIR365A 0 +MIR3677 0 +MIR3935 0 +MIR4516 0 +MIR4517 0 +MIR4518 0 +MIR4717 0 +MIR4718 0 +MIR4719 0 +MIR4720 0 +MIR484 0 +MIR5189 0 +MIR548AE2 0 +MIR548D2 0 +MIR548X 0 +MIR5587 0 +MIR6504 0 +MIR6511A2 0 +MIR662 0 +MIR6767 0 +MIR6768 0 +MIR6769A 0 +MIR6770-2 0 +MIR6771 0 +MIR6774 0 +MIR6862-1 0 +MIR6862-2 0 +MIR6863 0 +MIR762 0 +MIR7851 0 +MIR7854 0 +MIR8058 0 +MIR8065 0 +MIR940 0 +MKL2 1 +MLST8 0 +MLYCD 1 +MMP15 0 +MMP2 0 +MMP25 0 +MON1B 1 +MPG 1 +MPV17L 0 +MSLN 0 +MT1A 0 +MT1B 0 +MT1DP 0 +MT1E 0 +MT1F 0 +MT1H 0 +MT1IP 0 +MT1JP 0 +MT1L 0 +MT1M 0 +MT1X 1 +MT2A 0 +MT3 1 +MT4 0 +MVP 16 +MYLPF 0 +NAA60 2 +NAGPA-AS1 0 +NDE1 2 +NDRG4 5 +NDUFB10 0 +NECAB2 0 +NFAT5 0 +NFATC2IP 2 +NFATC3 9 +NHLRC4 0 +NIP7 5 +NKD1 0 +NLRC5 0 +NME4 1 +NOD2 0 +NOL3 0 +NOMO1 0 +NOMO3 0 +NPIPA1 0 +NPIPA2 0 +NPIPA3 0 +NPIPA7 0 +NPIPA8 0 +NPIPB5 0 +NPIPB9 0 +NPW 0 +NRN1L 0 +NTN3 0 +NUBP1 0 +NUBP2 0 +NUDT16L1 0 +NUDT7 1 +NUP93 5 +NUTF2 1 +OGFOD1 18 +OR1F1 0 +OR1F2P 0 +OR2C1 0 +ORAI3 0 +ORC6 2 +OSGIN1 0 +OTOA 1 +PAGR1 0 +PAPD5 7 +PAQR4 1 +PARD6A 0 +PDIA2 0 +PDP2 0 +PDPK1 1 +PDPR 7 +PDXDC1 19 +PHKB 0 +PHKG2 0 +PIGQ 0 +PKD1P1 0 +PLA2G15 0 +PLCG2 1 +PLEKHG4 0 +PLK1 7 +PMM2 1 +POLR2C 0 +POLR3E 3 +PPP4C 1 +PRKCB 0 +PRMT7 0 +PRR14 2 +PRR25 0 +PRR35 0 +PRRT2 0 +PRSS21 0 +PRSS41 0 +PSKH1 0 +PSMD7 7 +PYCARDOS 0 +QPRT 0 +RAB11FIP3 1 +RAB26 0 +RAB40C 1 +RBBP6 0 +RBFOX1 1 +RBL2 1 +RHBDL1 0 +RHOT2 0 +RLTPR 0 +RMI2 0 +RNF151 0 +RNF40 0 +RPL13 1 +RRN3P2 0 +RSPRY1 0 +SBK1 0 +SCNN1B 0 +SCNN1G 0 +SEC14L5 1 +SETD1A 0 +SETD6 2 +SF3B3 3 +SH2B1 1 +SHISA9 1 +SLC12A3 0 +SLC5A11 0 +SLC5A2 0 +SLC6A2 0 +SLC7A6 1 +SLC9A3R2 0 +SLC9A5 0 +SLX1A 0 +SLX1A-SULT1A3 0 +SLX1B 0 +SLX1B-SULT1A4 0 +SMG1P1 0 +SMIM22 0 +SNAI3-AS1 0 +SNHG9 0 +SNN 0 +SNORA30 0 +SNORA78 0 +SNORD111 0 +SNORD111B 0 +SNORD68 0 +SNRNP25 0 +SNTB2 1 +SNX29 0 +SNX29P1 0 +SNX29P2 0 +SOX8 0 +SPATA33 0 +SPG7 1 +SPIRE2 1 +SPN 0 +SPNS1 0 +SRCAP 1 +SRRM2 5 +SSTR5 0 +STUB1 1 +STX4 0 +SULT1A3 0 +SULT1A4 0 +SYCE1L 0 +SYNGR3 0 +SYT17 1 +TANGO6 0 +TAOK2 0 +TBC1D24 0 +TBL3 0 +TCF25 5 +TELO2 0 +TEPP 0 +TERF2IP 0 +TGFB1I1 0 +THAP11 1 +THOC6 0 +TMC5 3 +TMC7 0 +TMEM159 0 +TMEM204 0 +TMEM208 0 +TMEM219 0 +TNFRSF12A 0 +TNFRSF17 0 +TNRC6A 16 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TP53TG3D 0 +TPSAB1 0 +TPSD1 0 +TRAF7 4 +TRAPPC2L 0 +TRIM72 0 +TSC2 1 +TSNAXIP1 0 +TUBB3 3 +UBE2I 10 +UBFD1 5 +UBN1 5 +UQCRC2 5 +USB1 2 +USP10 11 +VAC14-AS1 0 +VASN 0 +VAT1L 0 +VPS4A 1 +VPS9D1-AS1 0 +VWA3A 1 +WDR90 0 +WFDC1 0 +WFIKKN1 0 +WWOX 7 +WWP2 1 +ZC3H18 34 +ZFP1 0 +ZFP90 1 +ZFPM1 0 +ZG16 0 +ZG16B 0 +ZNF174 0 +ZNF205 0 +ZNF213 0 +ZNF263 0 +ZNF267 11 +ZNF276 0 +ZNF469 0 +ZNF48 0 +ZNF646 0 +ZNF720 1 +ZNF75A 0 +ZNF771 0 +ZNF778 2 +ZNRF1 0 +AANAT 0 +AATF 1 +AATK-AS1 0 +ABCC3 0 +ABI3 0 +ACADVL 0 +ACAP1 0 +ACBD4 0 +ACE 0 +ACSF2 0 +ADAM11 0 +ADAP2 0 +ADORA2B 0 +ADPRM 1 +AFMID 0 +AKAP1 47 +ALDH3A2 4 +ALKBH5 44 +ALOX12 0 +ALOX12P2 0 +ALOX15B 0 +ALOX15P1 0 +AMZ2 0 +ANAPC11 2 +ANKFN1 0 +ANKRD13B 1 +AOC2 0 +AOC3 0 +AOC4P 0 +AP2B1 9 +ARHGAP23 0 +ARHGAP44 0 +ARHGEF15 0 +ARL4D 1 +ARMC7 0 +ARRB2 0 +ARSG 0 +ASB16 0 +ASPA 0 +ASPSCR1 1 +ATAD5 3 +ATP1B2 0 +ATP5G1 0 +ATP6V0A1 0 +B4GALNT2 0 +BAHCC1 0 +BAIAP2 2 +BCAS3 2 +BCL6B 0 +BHLHA9 0 +BIRC5 0 +BPTF 7 +BZRAP1-AS1 0 +C17orf100 0 +C17orf104 1 +C17orf105 0 +C17orf107 0 +C17orf112 0 +C17orf49 2 +C17orf50 0 +C17orf53 2 +C17orf64 0 +C17orf74 0 +C17orf77 0 +C17orf78 0 +C17orf80 1 +C17orf82 0 +C17orf89 0 +C17orf97 0 +C17orf99 0 +C1QTNF1 0 +CA4 0 +CACNA1G 0 +CACNG1 0 +CACNG4 0 +CACNG5 0 +CALCOCO2 10 +CARD14 0 +CASC3 19 +CBX2 2 +CCDC103 0 +CCDC137 3 +CCDC144A 0 +CCDC144CP 0 +CCDC40 1 +CCL11 0 +CCL13 0 +CCL18 0 +CCL2 0 +CCL4 0 +CCL4L1 0 +CCL4L2 0 +CCL7 0 +CCL8 0 +CD300A 0 +CD300LG 0 +CD68 0 +CDC6 0 +CDK12 14 +CDK3 0 +CDK5R1 0 +CDK5RAP3 1 +CDR2L 0 +CDRT15L2 0 +CDRT15P1 0 +CDRT15P2 0 +CDRT7 0 +CEP95 2 +CHD3 1 +CHMP6 0 +CHRNB1 0 +CISD3 0 +CLTC 2 +CNP 0 +CNTD1 0 +CNTNAP1 0 +CNTROB 2 +COASY 4 +COG1 1 +COX10 3 +CPD 1 +CRHR1 0 +CRHR1-IT1 0 +CRYBA1 0 +CSF3 0 +CTNS 1 +CYB5D1 6 +CYB5D2 0 +DBF4B 0 +DBIL5P 0 +DCAF7 56 +DDX42 9 +DGKE 0 +DHRS11 1 +DHRS7B 0 +DHX40 0 +DHX8 1 +DLX4 0 +DNAH17-AS1 0 +DNAH2 0 +DNAH9 2 +DNAI2 0 +DPH1 0 +DPRXP4 0 +DRG2 0 +DUSP14 6 +DYNLL2 1 +EFCAB13 0 +EFCAB3 0 +EFCAB5 0 +EFNB3 1 +EIF1 52 +EIF4A1 0 +EIF5A 0 +ELP5 0 +EMC6 0 +EME1 1 +ENDOV 0 +ENGASE 0 +ENO3 0 +ENPP7 0 +EPN2 2 +EPN2-IT1 0 +EPN3 0 +EPX 0 +ERAL1 1 +ERBB2 0 +EVPLL 0 +FAM106CP 0 +FAM215A 0 +FAM27L 0 +FAM57A 0 +FAM64A 0 +FBXO39 0 +FBXW10 0 +FGF11 0 +FKBP10 0 +FLJ35934 0 +FLJ36000 0 +FLJ40194 0 +FLJ43681 0 +FLJ45513 0 +FMNL1 0 +FN3K 0 +FN3KRP 2 +FNDC8 0 +FOXK2 6 +FOXN1 0 +FSCN2 0 +FZD2 0 +G6PC 0 +G6PC3 0 +GAA 0 +GALR2 0 +GAST 0 +GCGR 0 +GDPD1 0 +GGNBP2 16 +GID4 1 +GLP2R 0 +GLTPD2 0 +GOSR1 0 +GOSR2 2 +GP1BA 0 +GPR142 0 +GPRC5C 0 +GPS1 1 +GRAPL 0 +GRB7 24 +GRN 3 +GSDMA 0 +GSG2 1 +GUCY2D 0 +HEXDC 0 +HEXIM1 0 +HEXIM2 1 +HGS 1 +HIC1 0 +HID1-AS1 0 +HIGD1B 0 +HLF 0 +HOXB-AS1 0 +HOXB-AS3 0 +HP08942 0 +HP09025 0 +HS3ST3B1 0 +HSD17B1 0 +HSPB9 0 +ICT1 0 +IFI35 0 +IGF2BP1 0 +IGFBP4 0 +ITGA3 0 +ITGB3 0 +ITGB4 0 +KANSL1-AS1 0 +KAT7 4 +KCNH6 0 +KCNJ12 0 +KCNJ16 0 +KCNJ18 0 +KCNJ2 0 +KCTD11 0 +KCTD2 6 +KDM6B 1 +KIAA0195 0 +KIF19 0 +KIF1C 0 +KIF2B 0 +KLHL10 0 +KPNA2 61 +KPNB1 7 +KRT16P1 0 +KRT17P5 0 +KRTAP4-7 0 +KRTAP4-9 0 +KRTAP9-1 0 +KRTAP9-2 0 +KRTAP9-3 0 +KRTAP9-4 0 +KRTAP9-6 0 +KRTAP9-7 0 +KRTAP9-8 0 +KRTAP9-9 0 +KSR1 2 +LASP1 0 +LGALS9 0 +LGALS9C 0 +LHX1 0 +LIG3 1 +LINC00670 0 +LINC00672 0 +LINC00674 1 +LINC01028 0 +LINC01152 11 +LINC01482 0 +LINC01483 1 +LINC01497 0 +LLGL1 0 +LLGL2 0 +LOC100130950 0 +LOC100131347 0 +LOC100134391 0 +LOC100287042 0 +LOC100287072 0 +LOC100505782 0 +LOC100506388 0 +LOC100507002 0 +LOC100507351 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101559451 0 +LOC101927018 0 +LOC101927166 0 +LOC101927230 0 +LOC101927688 0 +LOC101927755 0 +LOC101927839 0 +LOC101928205 0 +LOC101928514 0 +LOC101928674 0 +LOC101928738 0 +LOC102723859 0 +LOC102724596 0 +LOC102724862 0 +LOC339166 4 +LOC339260 0 +LOC388436 0 +LOC400620 0 +LOC440416 0 +LOC440446 0 +LOC440461 0 +LOC644172 0 +LOC729683 0 +LOC79999 0 +LPO 0 +LRRC37A 0 +LRRC37A11P 0 +LRRC37A2 0 +LRRC37B 0 +LRRC37BP1 0 +LRRC3C 0 +LRRC45 0 +LRRC46 0 +LRRC48 0 +LRRC75A-AS1 3 +LUC7L3 8 +MAFG-AS1 0 +MAP2K3 0 +MAP2K4 0 +MAP2K6 0 +MAP3K14-AS1 0 +MAP3K3 4 +MAPK7 2 +MAPT 0 +MAPT-IT1 0 +MED11 0 +MED9 0 +MEIS3P1 0 +METRNL 0 +METTL23 0 +METTL2A 0 +MFSD11 1 +MGAT5B 9 +MGC12916 0 +MGC57346 0 +MIEF2 0 +MILR1 0 +MINK1 1 +MIR1288 0 +MIR193A 0 +MIR21 0 +MIR2117 0 +MIR2909 0 +MIR3065 0 +MIR3615 0 +MIR365B 0 +MIR3678 0 +MIR423 0 +MIR4314 0 +MIR451B 0 +MIR4520-2 0 +MIR4521 0 +MIR4523 0 +MIR4524B 0 +MIR4723 1 +MIR4724 0 +MIR4725 0 +MIR4726 0 +MIR4727 0 +MIR4728 0 +MIR4729 0 +MIR4730 0 +MIR5010 0 +MIR5089 0 +MIR548W 0 +MIR6080 0 +MIR6165 0 +MIR632 0 +MIR634 0 +MIR6516 0 +MIR6779 0 +MIR6785 0 +MIR6786 0 +MIR6787 0 +MIR6866 0 +MIR6867 0 +MIR744 0 +MIR8059 0 +MIS12 0 +MLLT6 4 +MLX 1 +MPDU1 1 +MPRIP 0 +MRC2 0 +MRM1 0 +MRPL12 0 +MRPL45 0 +MRPS7 0 +MSI2 0 +MSL1 7 +MSX2P1 0 +MTRNR2L1 0 +MYCBPAP 0 +MYHAS 0 +MYL4 0 +MYO15A 0 +MYO15B 0 +MYOCD 0 +NAGLU 0 +NAGS 0 +NARF 1 +NBR1 0 +NBR2 1 +NDEL1 2 +NEK8 0 +NF1 7 +NFE2L1 0 +NGFR 0 +NKIRAS2 2 +NLGN2 0 +NLK 1 +NME1 0 +NME1-NME2 0 +NME2 0 +NMT1 0 +NOG 0 +NOL11 0 +NPB 0 +NPEPPS 5 +NSF 1 +NSFP1 0 +NSRP1 3 +NT5M 0 +NTN1 0 +NUP85 1 +NXPH3 0 +ODF4 0 +OR1A1 0 +OR1A2 0 +OR1D4 0 +OR3A3 0 +OR3A4P 0 +OR4D1 0 +OR4D2 0 +OTOP2 0 +OTOP3 0 +OVCA2 0 +PAFAH1B1 3 +PCTP 0 +PDK2 1 +PFAS 0 +PGS1 0 +PIGL 0 +PIGW 0 +PIPOX 0 +PITPNA-AS1 1 +PITPNC1 1 +PLD2 0 +PNMT 0 +PNPO 0 +POLR2A 5 +PPM1D 0 +PPM1E 5 +PPP1R1B 0 +PPY2 0 +PRAC2 0 +PRCD 0 +PRKAR1A 2 +PRKCA 1 +PRPSAP2 0 +PRR11 3 +PRR29 0 +PSMB3 2 +PSMB6 1 +PSMC5 0 +PSMD11 11 +PSMD3 0 +PSME3 14 +PYY2 0 +RAB11FIP4 1 +RAB37 0 +RABEP1 7 +RAC3 0 +RAD51C 1 +RAI1 0 +RAMP2 0 +RANGRF 0 +RAP1GAP2 1 +RAPGEFL1 0 +RARA 0 +RASL10B 0 +RGS9 0 +RHBDL3 0 +RHOT1 3 +RNASEK 0 +RNASEK-C17orf49 0 +RND2 0 +RNF112 0 +RNF126P1 0 +RNF135 1 +RNF157-AS1 0 +RNF167 1 +RNF213 1 +RNMTL1 0 +RPA1 16 +RPAIN 2 +RPL19 8 +RPL23A 1 +RPL27 4 +RPL29P2 0 +RPL38 8 +RPS6KB1 0 +RPTOR 0 +RSAD1 0 +RUNDC1 0 +RUNDC3A 0 +SAP30BP 4 +SARM1 0 +SCARNA16 0 +SCARNA21 0 +SCPEP1 0 +SEC14L1 2 +SENP3 0 +SENP3-EIF4A1 0 +SEPT9 0 +SERPINF1 3 +SERPINF2 0 +SGCA 0 +SGSM2 0 +SH3GL1P1 0 +SH3GL1P2 0 +SHBG 0 +SHISA6 0 +SLC13A2 0 +SLC16A13 0 +SLC16A3 0 +SLC16A5 0 +SLC25A10 0 +SLC26A11 0 +SLC2A4 0 +SLC35G6 0 +SLC47A1 0 +SLC5A10 0 +SLC9A3R1 1 +SLFN5 0 +SMCR8 1 +SMG8 1 +SMIM5 0 +SMIM6 0 +SMTNL2 0 +SNHG16 1 +SNHG20 0 +SNORA38B 0 +SNORA48 0 +SNORA59A 0 +SNORA59B 0 +SNORA67 0 +SNORA76C 0 +SNORD10 0 +SNORD104 0 +SNORD1A 0 +SNORD1B 0 +SNORD1C 0 +SNORD42A 0 +SNORD42B 0 +SNORD49A 0 +SNORD49B 0 +SNORD4A 0 +SNORD4B 0 +SNORD65 0 +SNORD7 0 +SNX11 0 +SOCS7 18 +SOX9 0 +SP2 2 +SPACA3 0 +SPAG5-AS1 2 +SPATA20 0 +SPECC1 19 +SPEM1 0 +SPHK1 0 +SPNS2 0 +SPNS3 0 +SPPL2C 0 +SRR 0 +SSTR2 0 +STARD3 0 +STAT5A 1 +STH 0 +STXBP4 0 +SUPT6H 0 +SUZ12 0 +SUZ12P1 0 +SYNGR2 0 +TACO1 0 +TADA2A 4 +TAF15 0 +TANC2 1 +TAOK1 8 +TBC1D26 0 +TBC1D29 0 +TBC1D3 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P5 0 +TBCD 1 +TBKBP1 0 +TBX2 0 +TBX21 0 +TBX4 0 +TCAM1P 0 +TCAP 0 +TEN1 0 +TEN1-CDK3 0 +TEX19 0 +THRA 0 +TIMM22 2 +TLK2 0 +TM4SF5 0 +TMC8 0 +TMEM102 0 +TMEM104 0 +TMEM106A 1 +TMEM132E 0 +TMEM199 1 +TMEM220-AS1 0 +TMEM235 0 +TMEM88 0 +TMEM92 0 +TMEM95 0 +TMEM97 15 +TMEM98 0 +TMEM99 0 +TMUB2 0 +TNFAIP1 1 +TNFSF12 0 +TNFSF12-TNFSF13 0 +TNFSF13 16 +TNK1 0 +TNRC6C 1 +TOB1-AS1 0 +TOM1L1 3 +TP53I13 0 +TRAF4 0 +TRIM16L 0 +TRPV2 0 +TSEN54 0 +TSPAN10 0 +TTC19 0 +TTC25 1 +TTYH2 3 +TUBG1 2 +TUBG2 3 +TUSC5 0 +TVP23B 1 +TXNDC17 7 +UBALD2 0 +UBB 160 +UBE2Z 2 +UNC45B 0 +UNK 0 +USP32P1 0 +USP43 0 +USP6 0 +UTP18 1 +UTS2R 0 +VMP1 0 +VPS25 1 +WDR16 0 +WDR81 0 +WFIKKN2 0 +WIPF2 60 +WNK4 0 +WNT9B 0 +WRAP53 0 +WSB1 1 +WSCD1 1 +XAF1 0 +XYLT2 0 +YPEL2 8 +ZACN 0 +ZFP3 0 +ZMYND15 0 +ZNF207 5 +ZNF286A 0 +ZNF830 5 +ZNHIT3 3 +ZPBP2 0 +ARL17A 0 +ARL17B 0 +KANSL1 0 +LOC644172 0 +LRRC37A4P 0 +MAPT-AS1 0 +NSFP1 0 +MGC70870 0 +ADCYAP1 0 +ADNP2 1 +ANKRD12 2 +ANKRD20A5P 0 +ANKRD30B 0 +ANKRD62 0 +APCDD1 0 +AQP4-AS1 0 +ARHGAP28 0 +ASXL3 6 +ATP9B 0 +BOD1L2 0 +C18orf21 0 +C18orf25 1 +C18orf54 0 +C18orf61 0 +C18orf63 0 +C18orf8 9 +CABLES1 0 +CABYR 5 +CCDC102B 0 +CDH20 0 +CDH7 0 +CEP192 1 +CETN1 0 +CHMP1B 1 +CIDEA 0 +CLUL1 1 +CNDP1 0 +CNDP2 1 +CTDP1 1 +CTIF 0 +CYP4F35P 0 +DCC 0 +DLGAP1-AS1 0 +DLGAP1-AS2 0 +DLGAP1-AS3 0 +DLGAP1-AS4 0 +DLGAP1-AS5 0 +DOK6 0 +DSCAS 0 +DSG1 0 +DSG2 1 +DSG3 0 +DSG4 0 +DTNA 0 +DYNAP 0 +ELAC1 0 +ELP2 0 +EMILIN2 5 +FHOD3 4 +FLJ44313 0 +GALNT1 3 +GALR1 0 +GATA6 0 +GNAL 1 +GREB1L 1 +GRP 0 +HAUS1 1 +HMSD 0 +HRH4 0 +HSBP1L1 0 +IMPA2 2 +IMPACT 0 +KATNAL2 0 +KCNG2 0 +KIAA1328 0 +KIAA1468 0 +LAMA3 0 +LDLRAD4 0 +LINC00667 0 +LINC00683 0 +LINC00907 1 +LINC00908 0 +LINC01255 0 +LINC01387 0 +LINC01443 0 +LINC01477 0 +LIPG 4 +LOC100287225 0 +LOC100505549 0 +LOC100505592 0 +LOC100505817 1 +LOC100506787 0 +LOC100996669 0 +LOC101927150 0 +LOC101927410 0 +LOC102723376 0 +LOC102724651 0 +LOC284294 0 +LOC339298 0 +LOC400661 0 +LOC643542 0 +LOC729950 0 +LRRC30 0 +MALT1 1 +MAPK4 3 +MAPRE2 3 +MC5R 0 +ME2 0 +MEP1B 0 +MIB1 5 +MIR122 0 +MIR1539 0 +MIR302F 0 +MIR3156-2 0 +MIR320C1 0 +MIR320C2 0 +MIR3975 0 +MIR3976 0 +MIR3976HG 0 +MIR4318 0 +MIR4526 0 +MIR4529 0 +MIR4741 0 +MIR4743 0 +MIR5011 0 +MIR5190 0 +MIR5583-1 0 +MIR6718 0 +MOCOS 0 +MTCL1 0 +MYL12A 2 +MYL12B 2 +NAPG 1 +NDC80 3 +NDUFV2 0 +NEDD4L 2 +NFATC1 1 +OACYLP 0 +ONECUT2 0 +PARD6G-AS1 0 +PHLPP1 1 +PIK3C3 1 +PMAIP1 0 +POLI 1 +PPP4R1-AS1 0 +PSMA8 0 +PSMG2 3 +PTPRM 0 +RAB12 0 +RAB27B 0 +RAB31 0 +RALBP1 8 +RBBP8 4 +RBFA 0 +RBFADN 0 +RIOK3 10 +RNF125 0 +RNF138 3 +RNF165 0 +RNMT 3 +ROCK1P1 0 +SALL3 0 +SCARNA17 0 +SEC11C 1 +SEH1L 1 +SERPINB10 0 +SERPINB11 0 +SERPINB12 0 +SERPINB13 0 +SERPINB2 0 +SERPINB5 0 +SERPINB7 0 +SERPINB8 0 +SETBP1 0 +SIGLEC15 0 +SKA1 4 +SLC14A1 2 +SLC14A2 0 +SLC35G4P 0 +SLMO1 0 +SMAD4 3 +SMCHD1 1 +SNHG22 0 +SNRPD1 4 +SOCS6 0 +ST8SIA3 0 +TAF4B 6 +TGIF1 0 +TIMM21 0 +TNFRSF11A 0 +TSHZ1 2 +TTC39C 0 +TTR 0 +TUBB6 0 +TWSG1 0 +TXNDC2 0 +TYMS 0 +USP14 4 +VAPA 0 +WBP11P1 0 +WDR7 3 +ZCCHC2 12 +ZNF236 2 +ZNF271 0 +ZNF397 8 +ZNF407 4 +ZNF532 2 +A1BG-AS1 0 +ABCA7 0 +ACPT 0 +ACSBG2 0 +ACTN4 4 +ADAT3 0 +ADM5 0 +ALDH16A1 0 +ALKBH7 0 +AMH 0 +ANGPTL4 0 +ANKLE1 0 +ANKRD24 0 +AP1M1 3 +AP2A1 0 +APC2 0 +APLP1 0 +APOC1 0 +APOC1P1 0 +APOC2 0 +APOC4 0 +APOC4-APOC2 0 +APOE 0 +ARHGAP33 0 +ARHGAP35 0 +ARHGEF1 0 +ARHGEF18 0 +ARID3A 0 +ARMC6 2 +ARRDC2 0 +ASNA1 0 +ATCAY 0 +ATF5 1 +ATG4D 0 +ATP5D 1 +AURKC 4 +AXL 0 +AZU1 0 +B3GNT3 1 +BABAM1 0 +BAX 0 +BCAM 0 +BCKDHA 0 +BCL2L12 1 +BCL3 0 +BEST2 0 +BLOC1S3 6 +BRSK1 0 +BSG 1 +C19orf24 0 +C19orf33 0 +C19orf38 0 +C19orf40 1 +C19orf44 0 +C19orf45 0 +C19orf52 0 +C19orf53 0 +C19orf60 0 +C19orf66 0 +C19orf68 0 +C19orf71 0 +C19orf80 0 +C19orf81 0 +C19orf83 0 +C3P1 0 +C5AR1 2 +C5AR2 0 +CACNG6 0 +CACNG7 0 +CACNG8 0 +CACTIN-AS1 0 +CALM3 0 +CALR 1 +CAMSAP3 0 +CAPNS1 0 +CAPS 0 +CARM1 0 +CASP14 0 +CATSPERD 0 +CATSPERG 0 +CBLC 0 +CC2D1A 0 +CCDC105 0 +CCDC106 0 +CCDC124 1 +CCDC130 1 +CCDC155 1 +CCDC159 0 +CCDC61 0 +CCDC9 1 +CCDC94 2 +CCDC97 1 +CCL25 0 +CCNE1 2 +CD177 0 +CD22 0 +CD33 0 +CD37 0 +CD3EAP 0 +CD79A 0 +CD97 0 +CDC34 0 +CEACAM16 0 +CEACAM18 0 +CEACAM19 0 +CEACAM21 0 +CEACAM3 0 +CEACAM5 0 +CEACAM6 0 +CEBPA-AS1 0 +CEBPG 1 +CELF5 0 +CENPBD1P1 0 +CERS4 2 +CFD 0 +CGB2 0 +CGB5 0 +CHAF1A 30 +CHST8 0 +CIC 1 +CILP2 0 +CIRBP 0 +CLASRP 0 +CLEC11A 0 +CLEC17A 0 +CLEC4GP1 0 +CLEC4M 0 +CLPP 0 +CLPTM1 1 +CNN1 1 +CNN2 0 +CNOT3 1 +COLGALT1 1 +COX6B1 3 +CPT1C 0 +CRB3 0 +CREB3L3 1 +CRTC1 0 +CRX 0 +CSNK1G2 1 +CTC-360P9.3 0 +CYP2A13 0 +CYP2B6 0 +CYP2B7P 0 +CYP2F1 0 +CYP2G1P 0 +CYP2S1 1 +CYP4F12 0 +CYP4F22 0 +CYP4F3 0 +CYP4F8 0 +CYTH2 0 +DACT3-AS1 0 +DAND5 0 +DAZAP1 0 +DCAF15 0 +DDA1 0 +DDX49 0 +DHDH 0 +DHX34 0 +DKFZp434J0226 0 +DKKL1 0 +DLL3 0 +DMRTC2 0 +DNM2 0 +DOT1L 4 +DPP9-AS1 0 +DPRX 0 +DPY19L3 3 +EBI3 0 +EFNA2 0 +EGLN2 0 +EHD2 0 +EIF3K 1 +ELANE 1 +ELSPBP1 0 +EMC10 0 +EMP3 0 +EMR1 0 +EPN1 1 +EPS8L1 0 +ERICH4 0 +ERVV-1 0 +ERVV-2 0 +ETV2 0 +EVI5L 0 +F2RL3 0 +FAM129C 0 +FAM32A 0 +FAM90A27P 0 +FAM98C 0 +FCAR 0 +FCGRT 0 +FCHO1 0 +FEM1A 1 +FFAR1 0 +FFAR2 0 +FFAR3 0 +FGF21 0 +FGF22 0 +FKRP 0 +FLJ26850 0 +FLT3LG 0 +FOSB 2 +FOXA3 0 +FPR2 0 +FPR3 0 +FSD1 0 +FSTL3 0 +FTL 131 +FUT2 0 +FXYD1 0 +FXYD3 0 +FXYD5 0 +FXYD7 0 +FZR1 1 +GADD45B 0 +GALP 0 +GAPDHS 0 +GATAD2A 2 +GCDH 0 +GDF15 0 +GEMIN7 0 +GFY 0 +GIPC3 0 +GIPR 0 +GLTSCR1 2 +GLTSCR2 1 +GNA11 22 +GNA15 0 +GOLGA2P9 0 +GPATCH1 3 +GPI 2 +GPR32 0 +GPX4 0 +GRAMD1A 1 +GRIN2D 0 +GRIN3B 0 +GRWD1 0 +GTPBP3 0 +GZMM 0 +HAMP 0 +HAUS5 2 +HCN2 0 +HCST 0 +HDGFRP2 2 +HIF3A 0 +HKR1 2 +HMG20B 0 +HMHA1 5 +HNRNPM 1 +HNRNPUL1 7 +HPN 0 +HSD11B1L 0 +HSH2D 0 +ICAM1 1 +ICAM4 0 +ICAM5 0 +IER2 11 +IFI30 0 +IFNL1 0 +IFNL2 0 +IGFL1 0 +IGFL2 0 +IGLON5 0 +IGSF23 0 +IL27RA 0 +ILF3 2 +INAFM1 0 +IRGC 0 +ITPKC 0 +IZUMO4 0 +JUNB 0 +KCNJ14 0 +KCNK6 0 +KCNN1 0 +KCTD15 0 +KDM4B 0 +KIAA0355 1 +KIR2DL1 0 +KIR2DL3 0 +KIR2DL4 0 +KIR2DS4 0 +KIR3DL1 0 +KIR3DL2 0 +KIR3DL3 0 +KIR3DX1 0 +KIRREL2 0 +KISS1R 0 +KLC3 0 +KLF2 1 +KLHL26 2 +KLK2 0 +KLK3 0 +KMT2B 5 +KXD1 3 +LAIR2 0 +LDLR 12 +LENG8 0 +LEUTX 0 +LGALS13 0 +LGALS14 0 +LGALS16 0 +LGALS17A 0 +LGALS7B 0 +LILRA1 0 +LILRA2 0 +LILRB1 0 +LILRB4 0 +LILRP2 0 +LIN37 1 +LIN7B 0 +LINC00661 0 +LINC00664 0 +LINC00905 0 +LINC00906 0 +LINC01233 0 +LINC01480 0 +LIPE-AS1 0 +LOC100128398 0 +LOC100128568 0 +LOC100128682 0 +LOC100129083 0 +LOC100129935 0 +LOC100131691 0 +LOC100134317 0 +LOC100288123 0 +LOC100289333 0 +LOC100289650 0 +LOC100505622 0 +LOC100505812 0 +LOC100505835 0 +LOC100507373 0 +LOC100996349 0 +LOC101927151 0 +LOC101927572 0 +LOC101927599 0 +LOC101927667 0 +LOC101928571 0 +LOC101928844 0 +LOC101928886 0 +LOC101929059 0 +LOC102723617 0 +LOC102724958 0 +LOC113230 0 +LOC388553 0 +LOC641367 0 +LOC644189 0 +LOC644554 0 +LOC646862 0 +LOC728485 0 +LOC728752 0 +LPPR2 0 +LRFN3 0 +LRP3 0 +LRRC8E 2 +LSM14A 5 +LSR 0 +LTBP4 0 +MADCAM1 0 +MAG 0 +MAP1S 2 +MAP2K7 3 +MAP3K10 0 +MARCH2 0 +MARK4 1 +MAST1 0 +MAST3 1 +MAU2 1 +MBD3L1 0 +MBD3L2 0 +MBD3L5 0 +MCEMP1 0 +MCOLN1 0 +MED25 1 +MED29 0 +MEGF8 0 +MGC45922 0 +MIA 0 +MIA-RAB4B 0 +MIDN 0 +MIMT1 0 +MIR1199 0 +MIR1238 0 +MIR125A 0 +MIR1283-1 0 +MIR1283-2 0 +MIR1323 0 +MIR1470 0 +MIR181C 0 +MIR181D 0 +MIR3187 0 +MIR3188 0 +MIR3189 0 +MIR3190 0 +MIR371A 0 +MIR372 0 +MIR373 0 +MIR4321 0 +MIR4322 0 +MIR4745 0 +MIR4746 1 +MIR4747 0 +MIR4748 0 +MIR4749 0 +MIR4750 0 +MIR4751 0 +MIR4752 0 +MIR498 0 +MIR5088 0 +MIR512-1 0 +MIR512-2 0 +MIR515-1 0 +MIR515-2 0 +MIR516A1 0 +MIR516A2 0 +MIR516B1 0 +MIR516B2 0 +MIR517A 0 +MIR517B 0 +MIR517C 0 +MIR518A1 0 +MIR518A2 0 +MIR518B 0 +MIR518C 0 +MIR518D 0 +MIR518E 0 +MIR518F 0 +MIR5196 0 +MIR519A1 0 +MIR519A2 0 +MIR519B 0 +MIR519C 0 +MIR519D 0 +MIR519E 0 +MIR520A 0 +MIR520B 0 +MIR520C 0 +MIR520D 0 +MIR520E 0 +MIR520F 0 +MIR520G 0 +MIR520H 0 +MIR521-1 0 +MIR521-2 0 +MIR522 0 +MIR523 0 +MIR524 0 +MIR525 0 +MIR526A1 0 +MIR526A2 0 +MIR526B 0 +MIR527 0 +MIR638 0 +MIR639 0 +MIR642A 0 +MIR643 0 +MIR6515 0 +MIR6792 0 +MIR6793 0 +MIR6794 0 +MIR6796 0 +MIR6797 5 +MIR6798 0 +MIR6799 0 +MIR6800 0 +MIR6801 0 +MIR6805 0 +MIR6806 0 +MIR6807 0 +MIR6886 0 +MIR6887 0 +MIR7-3 0 +MIR7-3HG 0 +MIR769 0 +MIR8061 0 +MIR8077 0 +MIR8085 0 +MIR935 0 +MIR99B 0 +MIRLET7E 0 +MISP 0 +MPND 1 +MPV17L2 1 +MRI1 0 +MRPL34 0 +MRPL4 1 +MRPL54 0 +MRPS12 0 +MUM1 1 +MVB12A 0 +MYADM 5 +MYBPC2 0 +MYH14 0 +MYO9B 1 +NACC1 1 +NANOS3 0 +NAPA-AS1 0 +NAT14 0 +NCAN 0 +NCCRP1 0 +NCLN 1 +NCR1 0 +NDUFA13 0 +NDUFA3 0 +NDUFS7 0 +NFIC 1 +NFIX 0 +NFKBIB 0 +NLRP2 66 +NLRP4 440 +NLRP5 13 +NLRP8 1 +NMRK2 0 +NPAS1 0 +NR1H2 0 +NRTN 0 +NUCB1 1 +NUDT19 0 +NWD1 0 +OAZ1 5 +OCEL1 0 +ONECUT3 0 +OR10H2 0 +OR10H3 0 +OR10H4 0 +OR10H5 0 +OR1I1 0 +OR1M1 0 +OR2Z1 0 +OR4F17 0 +OR7C2 0 +OR7D2 0 +OR7E24 0 +OVOL3 0 +P2RY11 0 +PAK4 1 +PALM 0 +PAPL 0 +PDCD2L 1 +PDCD5 1 +PDE4A 0 +PEG3-AS1 0 +PET100 0 +PGLS 0 +PGPEP1 2 +PIAS4 1 +PIK3R2 0 +PIN1 2 +PINLYP 0 +PKN1 0 +PLD3 0 +PLEKHF1 0 +PLEKHG2 0 +PLK5 0 +PNPLA6 0 +POLD1 0 +POP4 2 +PPAN 0 +PPAN-P2RY11 0 +PPFIA3 0 +PPM1N 0 +PPP1R15A 2 +PPP1R37 0 +PPP2R1A 6 +PPP5C 0 +PRG1 0 +PRKCG 3 +PRKCSH 0 +PRMT1 0 +PROSER3 0 +PRPF31 0 +PRR12 1 +PRR19 0 +PRRG2 0 +PRTN3 0 +PSENEN 0 +PSMC4 3 +PSMD8 0 +PTBP1 5 +PTOV1 0 +PVR 2 +PVRL2 0 +QPCTL 0 +QTRT1 0 +RAB11B 0 +RAB4B 0 +RAB4B-EGLN2 0 +RAB8A 0 +RAD23A 1 +RBM42 2 +RCN3 0 +RDH8 0 +REEP6 0 +RELB 0 +RETN 0 +RFPL4A 0 +RFPL4AL1 0 +RFXANK 0 +RGS9BP 0 +RLN3 0 +RNASEH2A 0 +RNU6-2 0 +RPL13A 20 +RPL13AP5 0 +RPL18A 4 +RPL28 10 +RPL36 46 +RPS11 24 +RPS15 1 +RPS19 21 +RPS28 4 +RPS5 14 +RPS9 2 +RPSAP58 6 +RUVBL2 0 +RYR1 0 +S1PR4 0 +SAE1 4 +SAFB 1 +SAMD4B 6 +SCAF1 0 +SCAMP4 0 +SCGB2B3P 0 +SCN1B 0 +SDHAF1 0 +SEC1P 0 +SELV 0 +SEPW1 0 +SF3A2 0 +SHD 1 +SHKBP1 0 +SIGLEC16 0 +SIGLEC17P 0 +SIGLEC7 0 +SIGLEC9 0 +SIGLECL1 0 +SIN3B 1 +SIPA1L3 0 +SLC25A42 3 +SLC27A1 0 +SLC44A2 0 +SLC5A5 0 +SMARCA4 4 +SMIM17 0 +SNAPC2 1 +SNAR-A1 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A12 0 +SNAR-A13 0 +SNAR-A14 0 +SNAR-A2 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-C1 0 +SNAR-C2 0 +SNAR-C3 0 +SNAR-C4 0 +SNAR-C5 0 +SNAR-F 0 +SNAR-G1 0 +SNORA68 0 +SNORD105 0 +SNORD105B 0 +SNORD23 0 +SNORD32A 0 +SNORD33 0 +SNORD34 0 +SNORD35A 0 +SNORD35B 0 +SNRNP70 1 +SNRPA 0 +SPACA4 0 +SPACA6P 0 +SPHK2 0 +SPIB 0 +SPINT2 3 +SPPL2B 0 +SPRED3 0 +SPTBN4 0 +SRRM5 0 +SSBP4 0 +SSC5D 0 +STK11 1 +STXBP2 0 +SULT2B1 0 +SUPT5H 1 +SUV420H2 0 +SWSAP1 0 +SYDE1 0 +SYNGR4 0 +TBC1D17 0 +TBCB 0 +TDRD12 0 +TECR 0 +TEX101 0 +TGFBR3L 0 +THEG5 0 +THOP1 0 +TIMM50 0 +TJP3 1 +TLE6 0 +TMEM145 0 +TMEM147 0 +TMEM190 0 +TMEM38A 0 +TMEM59L 0 +TMEM91 0 +TMPRSS9 0 +TNFAIP8L1 0 +TNFSF9 0 +TOMM40 1 +TPGS1 0 +TPM3P9 0 +TPM4 0 +TRAPPC2P1 0 +TRAPPC5 0 +TRIM28 1 +TRIP10 0 +TRPM4 0 +TSEN34 0 +TSPAN16 0 +TTYH1 0 +U2AF2 1 +UBA2 0 +UBA52 6 +UBL5 0 +UCA1 0 +UHRF1 75 +UPF1 2 +UPK1A 0 +URI1 0 +USE1 0 +USF2 4 +USP29 0 +VASP 0 +VAV1 0 +VMAC 0 +VN1R2 0 +VSTM2B 0 +WDR18 0 +WDR62 1 +WDR83 0 +WDR88 0 +WTIP 0 +YJEFN3 0 +ZBTB32 0 +ZFP28 1 +ZFP36 1 +ZIK1 1 +ZNF101 2 +ZNF114 0 +ZNF134 0 +ZNF135 0 +ZNF136 4 +ZNF137P 0 +ZNF146 1 +ZNF155 51 +ZNF17 0 +ZNF175 0 +ZNF177 1 +ZNF181 2 +ZNF211 1 +ZNF221 0 +ZNF222 9 +ZNF223 0 +ZNF224 0 +ZNF225 0 +ZNF226 0 +ZNF227 3 +ZNF230 0 +ZNF233 0 +ZNF234 0 +ZNF253 0 +ZNF254 0 +ZNF257 2 +ZNF264 0 +ZNF274 1 +ZNF283 0 +ZNF284 0 +ZNF30 0 +ZNF302 2 +ZNF304 7 +ZNF317 0 +ZNF324 2 +ZNF324B 0 +ZNF331 0 +ZNF333 0 +ZNF345 0 +ZNF350-AS1 0 +ZNF358 0 +ZNF382 0 +ZNF383 0 +ZNF419 3 +ZNF420 0 +ZNF429 0 +ZNF430 0 +ZNF431 0 +ZNF439 0 +ZNF440 0 +ZNF441 0 +ZNF444 0 +ZNF446 0 +ZNF460 0 +ZNF470 1 +ZNF471 0 +ZNF473 1 +ZNF480 0 +ZNF486 0 +ZNF491 0 +ZNF492 0 +ZNF493 3 +ZNF507 3 +ZNF524 0 +ZNF525 3 +ZNF526 2 +ZNF527 0 +ZNF528 2 +ZNF530 0 +ZNF534 2 +ZNF536 0 +ZNF540 0 +ZNF542P 3 +ZNF543 0 +ZNF544 0 +ZNF546 0 +ZNF547 0 +ZNF548 1 +ZNF549 1 +ZNF551 0 +ZNF554 1 +ZNF555 1 +ZNF556 0 +ZNF557 1 +ZNF559 1 +ZNF559-ZNF177 1 +ZNF561-AS1 0 +ZNF567 0 +ZNF568 0 +ZNF57 2 +ZNF570 1 +ZNF571-AS1 0 +ZNF574 12 +ZNF575 0 +ZNF576 0 +ZNF578 0 +ZNF580 0 +ZNF581 1 +ZNF582-AS1 0 +ZNF583 0 +ZNF584 0 +ZNF586 1 +ZNF587 0 +ZNF587B 3 +ZNF610 2 +ZNF613 0 +ZNF627 0 +ZNF628 0 +ZNF667-AS1 3 +ZNF69 0 +ZNF700 0 +ZNF701 0 +ZNF71 0 +ZNF714 0 +ZNF726 0 +ZNF729 0 +ZNF730 0 +ZNF738 1 +ZNF749 0 +ZNF761 12 +ZNF763 0 +ZNF765 0 +ZNF766 0 +ZNF773 2 +ZNF776 2 +ZNF788 12 +ZNF790-AS1 0 +ZNF791 0 +ZNF793 0 +ZNF8 0 +ZNF805 3 +ZNF808 0 +ZNF813 1 +ZNF818P 0 +ZNF833P 0 +ZNF844 0 +ZNF845 0 +ZNF85 0 +ZNF865 0 +ZNF880 0 +ZNF90 1 +ZNF93 4 +ZNRF4 0 +ZSCAN1 0 +ZSCAN22 0 +ZSCAN4 0 +ZSWIM4 0 +KIR2DL2 0 +KIR2DL4 0 +KIR2DL5A 0 +KIR2DL5B 0 +KIR2DS1 0 +KIR2DS2 0 +KIR2DS3 0 +KIR2DS5 0 +KIR3DS1 0 +ABCG8 1 +ABHD1 0 +ABI2 6 +ACKR3 0 +ACMSD 0 +ACOXL 1 +ACP1 1 +ACSL3 3 +ACTG2 1 +ACTR2 12 +ACTR3 1 +ACTR3BP2 0 +ACVR2A 0 +ACYP2 0 +ADAM23 1 +AFTPH 0 +AGAP1 2 +AGBL5 0 +AGFG1 2 +AGPS 0 +AGXT 0 +AHSA2 1 +ALLC 0 +ALMS1 10 +ALMS1-IT1 1 +ALMS1P 0 +ALPI 0 +ALPP 0 +ALPPL2 0 +AMER3 0 +ANAPC1P1 0 +ANKAR 0 +ANKRD36 1 +ANKRD36BP2 0 +ANKRD53 0 +ANKZF1 0 +ANO7 0 +ANTXR1 0 +ANXA4 0 +AOX1 1 +AOX2P 0 +APLF 0 +AQP12A 0 +ARHGAP15 0 +ARHGAP25 0 +ARHGEF33 0 +ARHGEF4 0 +ARID5A 0 +ARL6IP6 0 +ARMC9 4 +ARPC2 14 +ASAP2 3 +ASB1 0 +ASIC4 0 +ASNSD1 0 +ATG16L1 1 +ATG4B 0 +ATIC 2 +ATOH8 0 +ATP6V1B1 0 +ATP6V1C2 1 +ATRAID 0 +B3GALT1 0 +B3GNT2 51 +B3GNT7 0 +BBS5 0 +BCL2L11 0 +BCS1L 1 +BIRC6 5 +BMPR2 7 +BOK 1 +BOLA3-AS1 0 +BRE 0 +BZW1 2 +C2orf15 3 +C2orf16 0 +C2orf27A 0 +C2orf40 0 +C2orf47 0 +C2orf48 0 +C2orf49 3 +C2orf50 0 +C2orf57 0 +C2orf69 0 +C2orf70 0 +C2orf72 0 +C2orf73 0 +C2orf74 0 +C2orf78 0 +C2orf82 0 +C2orf88 1 +CAB39 4 +CAD 2 +CAMKMT 0 +CAPN10 0 +CARF 0 +CASP10 0 +CASP8 1 +CATIP 0 +CBWD2 0 +CCDC104 0 +CCDC138 0 +CCDC140 0 +CCDC148-AS1 0 +CCDC150 1 +CCDC74A 0 +CCDC85A 0 +CCL20 0 +CCNT2 3 +CCNYL1 14 +CCT7 0 +CD28 0 +CDCA7 0 +CDK15 0 +CDK5R2 0 +CEBPZOS 0 +CENPA 1 +CENPO 4 +CEP68 1 +CERS6 2 +CFAP221 1 +CFC1B 0 +CFLAR 0 +CHAC2 0 +CHCHD5 0 +CHRND 0 +CHRNG 0 +CIAO1 1 +CLIP4 3 +CNGA3 0 +CNNM3 0 +CNNM4 1 +CNOT11 17 +CNTNAP5 0 +COL3A1 0 +COL4A3 0 +COLEC11 0 +COMMD1 1 +COPS7B 7 +COPS8 37 +COQ10B 1 +COX5B 0 +CPO 0 +CPS1 2 +CPS1-IT1 0 +CPSF3 1 +CREB1 6 +CRIM1 0 +CRIPT 1 +CSRNP3 0 +CTDSP1 0 +CTLA4 0 +CTNNA2 1 +CXCR2 0 +CYBRD1 0 +CYP1B1-AS1 0 +CYP20A1 0 +CYP27A1 0 +CYP4F30P 0 +D2HGDH 0 +DAPL1 0 +DARS-AS1 0 +DAW1 1 +DBI 2 +DCAF17 0 +DCDC2C 0 +DCTN1-AS1 0 +DDX1 4 +DDX18 9 +DES 0 +DFNB59 0 +DGKD 2 +DGUOK 4 +DHRS9 0 +DIS3L2 0 +DLX1 0 +DNAH6 0 +DNAJB2 0 +DNAJC10 0 +DNAJC27-AS1 0 +DNAJC5G 0 +DOK1 1 +DPP10 0 +DPYSL5 0 +DRC1 0 +DUSP19 4 +DUSP28 0 +DYNC1I2 22 +DYNC2LI1 0 +DYSF 1 +EEF1B2 4 +EFHD1 1 +EFR3B 0 +EHBP1 0 +EHD3 0 +EIF4E2 0 +EIF5B 44 +ELMOD3 0 +EMILIN1 0 +EML4 2 +EML6 0 +EMX1 6 +EPAS1 13 +EPB41L5 2 +EPC2 1 +EPCAM 1 +EPT1 2 +ERICH2 0 +ERLEC1 3 +ESPNL 0 +ETAA1 2 +FAHD2A 0 +FAHD2CP 0 +FAM117B 1 +FAM132B 0 +FAM134A 2 +FAM138B 0 +FAM171B 2 +FAM179A 1 +FAM228A 12 +FAM228B 0 +FAM84A 0 +FARP2 0 +FASTKD2 0 +FBLN7 6 +FBXO36 0 +FER1L5 0 +FKBP1B 0 +FMNL2 0 +FOSL2 1 +FOXD4L1 0 +FOXN2 0 +FSIP2 3 +FUNDC2P2 0 +FZD7 0 +G6PC2 0 +GAD1 0 +GAL3ST2 0 +GALM 0 +GALNT13 0 +GALNT5 0 +GAREML 0 +GCA 2 +GCC2 7 +GCKR 0 +GDF7 0 +GEMIN6 1 +GEN1 0 +GGT8P 0 +GIGYF2 9 +GKN1 0 +GLI2 0 +GLS 0 +GMCL1 1 +GMPPA 0 +GNLY 0 +GORASP2 4 +GPATCH11 5 +GPBAR1 0 +GPC1 1 +GPD2 1 +GPN1 1 +GPR1-AS 0 +GPR148 0 +GPR17 0 +GPR35 0 +GPR39 1 +GPR45 0 +GREB1 0 +GRHL1 1 +GTF2A1L 1 +GTF3C2-AS1 0 +GULP1 0 +GYPC 0 +HADHB 0 +HAGLROS 0 +HAT1 0 +HCG2040054 0 +HK2 0 +HNMT 0 +HNRNPA3 1 +HOXD1 0 +HOXD10 0 +HOXD11 0 +HOXD12 0 +HOXD13 0 +HOXD3 0 +HOXD4 0 +HOXD8 0 +HOXD9 0 +HPCAL1 0 +HSPE1 3 +HSPE1-MOB4 0 +HTRA2 0 +IAH1 7 +ICOS 0 +ID2 0 +IDH1-AS1 0 +IGFBP2 0 +IL18R1 0 +IL18RAP 0 +IL1F10 0 +IL1R1 0 +IL1R2 0 +IL1RL1 0 +IL1RL2 0 +IL1RN 0 +IL36A 0 +IL36G 0 +IL36RN 0 +IL37 0 +IMP4 0 +ING5 0 +INHA 0 +INHBB 0 +INO80B 0 +INO80B-WBP1 0 +INPP1 0 +INPP4A 1 +INPP5D 0 +INSIG2 0 +ITGA4 4 +ITGA6 2 +ITGAV 2 +ITM2C 11 +ITPRIPL1 0 +KCMF1 4 +KCNE4 0 +KCNF1 0 +KCNIP3 0 +KCNJ3 0 +KCNK3 0 +KCNS3 0 +KDM3A 13 +KHK 2 +KIAA1841 1 +KIF5C 0 +KLF11 3 +KLHL23 0 +KLHL29 0 +KLHL30 0 +KLHL41 0 +KRTCAP3 0 +KYNU 0 +LANCL1-AS1 0 +LBH 0 +LBX2-AS1 0 +LCLAT1 0 +LGALSL 0 +LIMS1 0 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00152 0 +LINC00486 0 +LINC00570 0 +LINC00608 0 +LINC00954 0 +LINC01087 0 +LINC01102 0 +LINC01104 0 +LINC01105 0 +LINC01118 7 +LINC01119 0 +LINC01120 0 +LINC01122 0 +LINC01123 0 +LINC01125 0 +LINC01126 0 +LINC01127 0 +LINC01191 0 +LINC01237 0 +LINC01305 0 +LINC01412 0 +LIPT1 0 +LOC100129175 0 +LOC100271832 0 +LOC100288570 0 +LOC100506076 0 +LOC100506274 0 +LOC100506457 0 +LOC100507006 0 +LOC100507073 0 +LOC100507334 0 +LOC100507443 0 +LOC100507600 0 +LOC100652824 1 +LOC100996579 0 +LOC100996693 0 +LOC101060019 1 +LOC101805491 0 +LOC101926966 0 +LOC101927027 0 +LOC101927053 0 +LOC101927055 0 +LOC101927285 0 +LOC101927406 0 +LOC101927431 0 +LOC101927482 0 +LOC101927641 0 +LOC101927661 0 +LOC101927881 0 +LOC101927884 0 +LOC101927907 0 +LOC101927924 0 +LOC101927926 0 +LOC101927948 0 +LOC101928020 0 +LOC101928103 0 +LOC101928161 0 +LOC101928222 0 +LOC101928371 0 +LOC101928386 0 +LOC101929231 0 +LOC101929282 0 +LOC101929532 0 +LOC101929570 0 +LOC101929633 0 +LOC101929680 0 +LOC101929715 0 +LOC101929733 0 +LOC102723362 0 +LOC102723927 0 +LOC102724058 0 +LOC102724224 0 +LOC102724849 0 +LOC102800447 0 +LOC150776 0 +LOC150935 0 +LOC151484 0 +LOC1720 0 +LOC200726 0 +LOC284950 0 +LOC285043 0 +LOC339807 0 +LOC388942 0 +LOC400940 0 +LOC440895 0 +LOC440910 0 +LOC643072 0 +LOC643387 0 +LOC646736 0 +LOC646743 0 +LOC653602 0 +LOC728323 3 +LOC728730 2 +LPIN1 1 +LRRFIP1 7 +LTBP1 2 +LYPD6 3 +LYPD6B 0 +MAL 0 +MAP2 0 +MAP4K4 1 +MAPRE3 0 +MARCH7 4 +MARCO 0 +MARS2 0 +MAT2A 3 +MBD5 0 +MDH1 1 +MED15P9 0 +MEIS1 0 +MERTK 1 +METAP1D 0 +MFF 3 +MFSD2B 0 +MFSD6 0 +MGAT5 6 +MIR10B 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1245A 0 +MIR128-1 0 +MIR149 0 +MIR26B 0 +MIR3125 0 +MIR3126 0 +MIR3127 0 +MIR3130-2 0 +MIR3606 0 +MIR3679 0 +MIR4263 0 +MIR4269 0 +MIR4426 0 +MIR4434 0 +MIR4435-1 0 +MIR4435-2 0 +MIR4436A 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4757 0 +MIR4765 0 +MIR4772 0 +MIR4773-1 0 +MIR4774 0 +MIR4775 0 +MIR4776-1 0 +MIR4777 0 +MIR5000 0 +MIR5192 0 +MIR548AR 0 +MIR548N 0 +MIR558 0 +MIR559 0 +MIR561 0 +MIR5696 0 +MIR5703 0 +MIR6810 0 +MIR6811 0 +MIR6888 0 +MIR7515 0 +MIR7845 0 +MLPH 0 +MOB4 5 +MOGAT1 0 +MORN2 0 +MPHOSPH10 4 +MROH2A 0 +MRPL19 1 +MRPL30 2 +MRPL33 1 +MRPL35 1 +MRPL44 3 +MRPS9 1 +MSGN1 0 +MSH2 7 +MSH6 0 +MTA3 1 +MTHFD2 0 +MTX2 0 +MXD1 13 +MYCN 0 +MYO1B 2 +MYO3B 0 +MYO7B 0 +MYT1L-AS1 0 +MZT2B 0 +NAB1 1 +NABP1 1 +NAGK 1 +NBEAL1 0 +NCAPH 21 +NCK2 6 +NCOA1 5 +NDUFAF7 0 +NDUFB3 0 +NEU2 0 +NEU4 0 +NIF3L1 1 +NIFK-AS1 0 +NMS 0 +NOP58 4 +NOSTRIN 2 +NOTO 0 +NPAS2 0 +NRBP1 2 +NRP2 0 +NUP35 4 +NYAP2 0 +OR7E91P 0 +OSBPL6 0 +OSGEPL1-AS1 0 +OTX1 0 +PABPC1P2 0 +PAPOLG 2 +PARD3B 0 +PAX8-AS1 0 +PCBP1 99 +PCGEM1 0 +PCYOX1 0 +PDCL3 20 +PDK1 1 +PEX13 0 +PHOSPHO2 0 +PHOSPHO2-KLHL23 0 +PIKFYVE 4 +PKDCC 0 +PKI55 0 +PKP4 1 +PLB1 0 +PLCD4 0 +PLCL1 6 +PLEK 0 +PLEKHA3 2 +PLEKHB2 12 +PLEKHH2 0 +PLGLA 0 +PLGLB1 0 +PLGLB2 0 +PMS1 1 +PNKD 0 +PNO1 1 +POLE4 0 +POLR1B 3 +POTEE 0 +POTEJ 0 +POTEKP 0 +POU3F3 0 +PPIG 35 +PPM1B 0 +PPP1CB 7 +PPP1R1C 0 +PPP1R21 0 +PPP1R7 0 +PQLC3 0 +PRKCE 0 +PRLH 0 +PROC 0 +PROKR1 0 +PROM2 0 +PRORSD1P 0 +PRSS56 0 +PSD4 0 +PSMD1 17 +PSMD14 2 +PTCD3 2 +PTH2R 0 +PTMA 10 +PTPN18 1 +PTPN4 0 +QPCT 0 +R3HDM1 1 +RAB10 5 +RAB3GAP1 6 +RAB6C 0 +RABL2A 0 +RALB 5 +RAMP1 0 +RANBP2 6 +RAPGEF4 0 +RASGRP3 0 +RBM44 0 +RBM45 0 +REG1A 0 +REG3G 0 +REL 1 +RGPD1 0 +RGPD2 0 +RGPD4 0 +RGPD5 0 +RGPD6 0 +RHBDD1 5 +RHOB 0 +RHOQ 1 +RIF1 14 +RMDN2 0 +RMND5A 5 +RNASEH1-AS1 0 +RNF144A 0 +RNF181 3 +RNPEPL1 0 +RNU4ATAC 0 +RNU6-81P 0 +RPE 1 +RPIA 0 +RPL23AP32 0 +RPL31 1 +RPL37A 13 +RPS27A 14 +RPS7 4 +RQCD1 1 +RRM2 31 +RSAD2 0 +RTP5 0 +RUFY4 0 +SAG 0 +SATB2-AS1 0 +SCARNA5 0 +SCARNA6 0 +SCHLAP1 0 +SCLY 0 +SCN2A 0 +SCRN3 0 +SEMA4F 0 +SEPT2 12 +SFT2D3 0 +SGOL2 12 +SGPP2 0 +SH2D6 0 +SH3BP4 1 +SH3RF3 0 +SIX3 0 +SLC11A1 0 +SLC1A4 0 +SLC20A1 0 +SLC30A6 1 +SLC35F6 0 +SLC39A10 2 +SLC3A1 0 +SLC4A10 0 +SLC4A1AP 1 +SLC4A3 0 +SLC5A7 0 +SLC8A1-AS1 0 +SLC9A2 0 +SLC9A4 0 +SMARCAL1 0 +SMYD1 0 +SMYD5 0 +SNED1 0 +SNORA41 0 +SNORD11 0 +SNORD11B 0 +SNORD51 0 +SNORD53 0 +SNORD70 0 +SNORD92 0 +SNORD94 0 +SNRNP27 0 +SNTG2 0 +SNX17 1 +SOCS5 0 +SOWAHC 0 +SOX11 0 +SP100 0 +SP140 0 +SP140L 0 +SP5 0 +SP9 0 +SPAG16 1 +SPAST 1 +SPATA3 0 +SPATS2L 0 +SPDYA 0 +SPEG 0 +SPOPL 0 +SPP2 0 +SPR 2 +SPTBN1 11 +SSB 7 +SSFA2 1 +ST3GAL5-AS1 0 +STAMBP 1 +STARD7-AS1 0 +STEAP3 0 +STK11IP 0 +STK16 0 +STK36 2 +STON1 0 +STON1-GTF2A1L 4 +STRADB 1 +SULT1C2 0 +SULT1C2P1 0 +SULT1C3 0 +SULT1C4 0 +TAF1B 0 +TANC1 1 +TANK 0 +TBR1 0 +TCF23 0 +TCF7L1 8 +TEKT4 0 +TET3 19 +TEX37 0 +TEX41 1 +THNSL2 0 +THSD7B 0 +TISP43 0 +TLX2 0 +TMEM169 3 +TMEM177 0 +TMEM178A 0 +TMEM182 0 +TMEM198 0 +TMEM214 3 +TMEM247 0 +TMEM37 0 +TMEM87B 0 +TMSB10 0 +TNFAIP6 0 +TPO 0 +TRAF3IP1 1 +TRAPPC12 1 +TRIB2 0 +TRIM43 0 +TRIM54 0 +TRPM8 0 +TSN 4 +TTC21B-AS1 0 +TTC27 0 +TTC31 0 +TTC7A 0 +TTL 2 +TTLL4 7 +TTN-AS1 1 +TUBA3D 0 +TUBA4B 3 +TWIST2 0 +UBE2E3 4 +UBE2F 0 +UBE2F-SCLY 0 +UBR3 1 +UBXN2A 0 +UBXN4 29 +UGGT1 0 +UGP2 13 +UGT1A1 0 +UGT1A10 0 +UGT1A3 0 +UGT1A4 0 +UGT1A5 0 +UGT1A6 0 +UGT1A7 0 +UGT1A8 0 +UGT1A9 0 +UNC50 0 +UNC80 0 +UPP2 0 +USP39 0 +VAMP5 0 +VAMP8 0 +VAX2 0 +VIL1 1 +VIT 0 +VRK2 1 +VSNL1 0 +VWA3B 0 +VWC2L 0 +VWC2L-IT1 0 +WASH2P 0 +WBP1 0 +WDR43 4 +WDR54 0 +WDR75 2 +WNT10A 0 +WNT6 0 +XIRP2 1 +XRCC5 2 +YIPF4 0 +YPEL5 37 +YY1P2 0 +ZAK 2 +ZAP70 0 +ZC3H15 9 +ZC3H6 1 +ZDBF2 3 +ZEB2-AS1 0 +ZFAND2B 0 +ZNF2 0 +ZNF512 3 +ZNF638 4 +ZNF804A 0 +AAR2 0 +ABHD16B 0 +ACSS2 0 +ACTL10 0 +ACTR5 0 +ADIG 0 +ADRM1 2 +ANKEF1 0 +AP5S1 1 +APCDD1L-AS1 0 +ARFGAP1 0 +ARFGEF2 3 +ARHGAP40 0 +ASIP 0 +ASXL1 7 +ATRN 1 +BANF2 0 +BCAS4 0 +BIRC7 0 +BMP2 0 +BPI 0 +BPIFA1 0 +BPIFA2 0 +BPIFA3 0 +BPIFA4P 0 +BPIFB1 0 +BPIFB2 0 +BPIFB3 0 +BPIFB4 0 +BPIFB6 0 +BTBD3 0 +C20orf141 0 +C20orf144 0 +C20orf166 0 +C20orf195 0 +C20orf196 0 +C20orf197 0 +C20orf202 0 +C20orf24 3 +C20orf85 0 +CASC20 0 +CASS4 0 +CBFA2T2 0 +CCM2L 0 +CD40 0 +CDC25B 25 +CDH26 0 +CDH4 0 +CDS2 1 +CEBPB 0 +CEP250 0 +CFAP61 0 +CHGB 0 +CHMP4B 0 +CNBD2 0 +COL20A1 0 +COL9A3 0 +COX4I2 1 +CRLS1 1 +CSE1L 0 +CSRP2BP 0 +CST13P 0 +CST7 0 +CST8 0 +CSTF1 8 +CSTL1 0 +CTNNBL1 0 +CTSA 0 +DBNDD2 0 +DDX27 2 +DEFB115 0 +DEFB118 0 +DEFB123 0 +DEFB125 0 +DEFB126 0 +DEFB127 0 +DEFB129 0 +DEFB132 0 +DHX35 0 +DLGAP4 1 +DNAJC5 1 +DNMT3B 7 +DNTTIP1 0 +DOK5 1 +DPH3P1 4 +DSTN 8 +DTD1 0 +DYNLRB1 2 +EBF4 0 +EDN3 0 +ENTPD6 0 +EPB41L1 0 +ERGIC3 0 +EYA2 0 +FAM110A 1 +FAM182A 0 +FAM209A 0 +FAM209B 0 +FAM210B 1 +FAM217B 0 +FAM83C-AS1 0 +FAM83D 0 +FLJ16779 0 +FLJ33581 0 +FRG1B 0 +GDAP1L1 0 +GID8 2 +GINS1 1 +GNAS 3 +GNRH2 0 +GZF1 1 +HAR1A 0 +HCK 0 +HM13 1 +HNF4A 0 +HSPA12B 1 +ID1 0 +IFT52 3 +INSM1 0 +ISM1 0 +ITCH 2 +ITPA 0 +KCNK15 0 +KIF3B 3 +KIZ 2 +L3MBTL1 0 +LAMA5-AS1 0 +LAMP5 0 +LBP 0 +LIME1 0 +LINC00028 0 +LINC00176 0 +LINC00266-1 0 +LINC00493 0 +LINC00494 0 +LINC00851 0 +LINC01056 0 +LINC01270 0 +LINC01272 0 +LINC01273 0 +LINC01370 0 +LINC01432 0 +LINC01433 0 +LINC01440 0 +LOC100130587 0 +LOC100131496 0 +LOC100134868 0 +LOC100270804 0 +LOC100287792 0 +LOC100505515 0 +LOC100506175 0 +LOC100506470 0 +LOC101060004 0 +LOC101926955 0 +LOC101927159 0 +LOC101927631 0 +LOC101927700 0 +LOC101927770 1 +LOC101929010 0 +LOC101929125 0 +LOC101929312 0 +LOC101929371 0 +LOC101929395 0 +LOC101929625 0 +LOC101929698 0 +LOC102723590 0 +LOC149684 0 +LOC149950 0 +LOC388780 0 +LOC63930 0 +LOC643406 0 +LOC729296 0 +LOC79160 0 +LPIN3 0 +LSM14B 3 +MACROD2 1 +MACROD2-IT1 0 +MANBAL 0 +MAP1LC3A 0 +MAPRE1 8 +MAVS 0 +MC3R 0 +MCM8 3 +MCTS2P 0 +MGME1 1 +MIR1-1 0 +MIR103A2 0 +MIR124-3 0 +MIR1292 0 +MIR133A2 0 +MIR3192 0 +MIR3193 0 +MIR3196 0 +MIR3616 0 +MIR3646 0 +MIR4326 0 +MIR4532 0 +MIR4533 0 +MIR4755 0 +MIR499A 0 +MIR5095 0 +MIR644A 0 +MIR645 0 +MIR646HG 1 +MIR6812 0 +MIR6871 0 +MIR8062 0 +MIR941-1 0 +MIR941-2 0 +MIR941-3 0 +MIR941-4 0 +MMP24 0 +MMP9 0 +MOCS3 0 +MRGBP 1 +MRPS26 0 +MTG2 0 +MYBL2 1 +MYH7B 0 +MYL9 0 +MYLK2 0 +MYT1 0 +NAA20 2 +NCOA3 10 +NDUFAF5 0 +NELFCD 0 +NNAT 0 +NOP56 39 +NPEPL1 0 +NRSN2 0 +NTSR1 0 +NXT1 0 +OGFR 1 +OPRL1 0 +OSBPL2 0 +OSER1-AS1 0 +OTOR 0 +OXT 1 +PABPC1L 0 +PANK2 0 +PARD6B 0 +PAX1 0 +PCIF1 3 +PCK1 0 +PCMTD2 0 +PCNA-AS1 0 +PCSK2 0 +PET117 0 +PFDN4 0 +PHACTR3 7 +PHF20 1 +PI3 0 +PIGT 0 +PKIG 0 +PLCB1 3 +PLCB4 1 +PLCG1 0 +POFUT1 0 +POLR3F 0 +PPDPF 0 +PPP1R16B 0 +PRND 0 +PRNP 0 +PROCR 0 +PRPF6 9 +PSMF1 0 +PTPN1 0 +PTPRA 1 +PYGB 0 +R3HDML 0 +RAB22A 3 +RAD21L1 0 +RAE1 9 +RALGAPB 2 +RALY 4 +RBCK1 1 +RBM38 4 +RBPJL 0 +REM1 0 +RIN2 0 +RNF114 20 +ROMO1 0 +RPN2 7 +RPRD1B 0 +RPS21 14 +RTEL1 0 +RTEL1-TNFRSF6B 0 +RTFDC1 2 +SCP2D1 0 +SDCBP2-AS1 0 +SEC23B 2 +SEMG1 0 +SEMG2 0 +SGK2 0 +SIRPA 0 +SLC12A5 5 +SLC17A9 0 +SLC24A3 0 +SLC2A10 0 +SLC2A4RG 1 +SLC32A1 0 +SLC9A8 0 +SLCO4A1 2 +SLX4IP 1 +SMOX 0 +SNAI1 0 +SNAP25 0 +SNHG11 0 +SNORA51 0 +SNORA60 0 +SNORA71E 0 +SNORD110 0 +SNORD12 0 +SNORD12B 0 +SNORD12C 0 +SNORD56 0 +SNORD57 1 +SNORD86 0 +SNPH 3 +SNRPB2 15 +SNX21 0 +SOX12 0 +SPAG4 0 +SPINT4 0 +SPO11 0 +SPTLC3 0 +SRC 0 +SRSF6 2 +SS18L1 0 +SSTR4 0 +STK35 5 +STK4 3 +STX16 6 +STX16-NPEPL1 0 +SYNDIG1 0 +SYS1 1 +SYS1-DBNDD2 0 +TCEA2 0 +TFAP2C 0 +TGIF2 2 +TGIF2-C20orf24 0 +TGM3 0 +TGM6 0 +TLDC2 0 +TM9SF4 2 +TMC2 0 +TMEM239 0 +TNFRSF6B 0 +TOP1 24 +TOX2 4 +TP53INP2 0 +TPD52L2 1 +TPX2 13 +TRIB3 0 +TSHZ2 0 +TTLL9 0 +TTPAL 0 +TUBB1 0 +UBE2C 3 +UBOX5-AS1 0 +UCKL1-AS1 0 +VAPB 2 +VPS16 0 +VSTM2L 0 +WFDC10A 0 +WFDC13 0 +WFDC2 12 +WISP2 0 +XKR7 0 +XRN2 14 +YWHAB 49 +ZBTB46-AS1 0 +ZCCHC3 3 +ZFAS1 2 +ZGPAT 0 +ZNF133 0 +ZNF341 0 +ZNF831 0 +ZSWIM1 0 +ZSWIM3 8 +ABCC13 0 +ABCG1 0 +ADARB1 0 +AGPAT3 2 +AIRE 0 +ANKRD30BP2 0 +B3GALT5 0 +BACE2 1 +BACH1 13 +BACH1-IT2 0 +BRWD1-AS1 0 +BRWD1-IT2 0 +C21orf119 0 +C21orf33 2 +C21orf37 0 +C21orf49 0 +C21orf90 0 +CBR1 0 +CBR3 0 +CHAF1B 3 +CHODL 0 +CLIC6 0 +COL18A1 0 +COL6A1 0 +COL6A2 1 +CRYAA 0 +CXADR 0 +DIP2A 0 +DIP2A-IT1 0 +DOPEY2 0 +DSCAM-AS1 0 +DSCR10 0 +DSCR8 1 +DSCR9 0 +DYRK1A 8 +ETS2 0 +EVA1C 0 +FAM207A 0 +FAM3B 0 +GABPA 0 +GRIK1-AS1 0 +GRIK1-AS2 0 +HUNK 1 +IFNAR1 1 +IFNAR2 7 +IFNGR2 0 +IGSF5 0 +IL10RB 0 +ITGB2-AS1 0 +ITSN1 6 +JAM2 0 +KCNE2 0 +KCNJ15 0 +KRTAP10-10 0 +KRTAP10-11 0 +KRTAP10-12 0 +KRTAP10-4 0 +KRTAP10-7 0 +KRTAP10-8 0 +KRTAP10-9 0 +KRTAP12-3 0 +KRTAP13-1 0 +KRTAP13-4 0 +KRTAP15-1 0 +KRTAP20-1 0 +KRTAP20-2 0 +KRTAP20-3 0 +KRTAP20-4 0 +KRTAP22-1 0 +KRTAP6-3 0 +LINC00111 0 +LINC00112 0 +LINC00113 0 +LINC00161 0 +LINC00189 0 +LINC00308 0 +LINC00310 0 +LINC00314 0 +LINC00319 0 +LINC00649 0 +LINC00945 0 +LINC01424 0 +LINC01425 0 +LINC01426 0 +LINC01436 0 +LOC101928398 0 +LOC101928796 0 +LOC102724188 0 +LOC339622 0 +LOC400863 0 +LOC642852 0 +LRRC3 0 +MAP3K7CL 8 +MCM3AP-AS1 1 +MIR125B2 0 +MIR155 0 +MIR155HG 0 +MIR3197 0 +MIR3648-1 0 +MIR3687-1 0 +MIR4759 0 +MIR6501 0 +MIR6508 0 +MIR6815 0 +MIR802 0 +MIR8069-1 0 +MIR99A 0 +MIR99AHG 0 +MIRLET7C 0 +MORC3 0 +MRAP 0 +MRPS6 2 +MX1 0 +MX2 1 +NCAM2 0 +NDUFV3 2 +OLIG1 1 +OLIG2 0 +PAXBP1-AS1 0 +PCBP3 0 +PCNT 0 +PCP4 0 +PDE9A 1 +PDXK 1 +PFKL 0 +PKNOX1 0 +POTED 0 +PRMT2 3 +PWP2 2 +RBM11 1 +RIPPLY3 0 +RNU6-67P 0 +RRP1 1 +RRP1B 2 +SAMSN1-AS1 0 +SH3BGR 0 +SIM2 0 +SLC37A1 0 +SLC5A3 2 +SMIM11 0 +SOD1 2 +SON 17 +TRAPPC10 1 +TRPM2 0 +TSPEAR-AS1 0 +TTC3 3 +UBASH3A 0 +UMODL1 0 +USP16 14 +USP25 4 +WRB 2 +YBEY 1 +ZNF295-AS1 0 +ACO2 0 +ACR 0 +ADM2 0 +ADORA2A 0 +ADRBK2 1 +ADSL 1 +AIFM3 0 +AP1B1P1 0 +APOBEC3A 0 +APOBEC3A_B 0 +APOBEC3B 0 +APOBEC3C 0 +APOBEC3D 0 +APOBEC3F 0 +APOBEC3G 0 +APOBEC3H 0 +APOL1 0 +APOL5 0 +APOL6 0 +ARHGAP8 0 +ASPHD2 1 +ATF4 8 +ATXN10 3 +BCL2L13 7 +BCR 0 +BCRP2 0 +BCRP3 0 +BIK 0 +BMS1P17 0 +BMS1P18 0 +BMS1P20 0 +C22orf15 0 +C22orf46 0 +CABIN1 0 +CABP7 0 +CACNA1I 0 +CBY1 1 +CCDC116 0 +CCDC117 2 +CCDC134 0 +CCDC157 0 +CDC42EP1 0 +CDC45 2 +CECR2 0 +CECR5-AS1 0 +CECR7 0 +CHKB-AS1 0 +COMT 0 +CRELD2 3 +CRKL 20 +CRYBA4 0 +CRYBB2 0 +CRYBB2P1 0 +CRYBB3 0 +CSDC2 0 +CSF2RB 0 +CYTH4 0 +DDTL 0 +DEPDC5 0 +DGCR10 0 +DGCR5 0 +DGCR6 0 +DGCR8 2 +DGCR9 0 +DRG1 1 +EFCAB6-AS1 0 +EIF3L 4 +EMID1 0 +EP300 12 +EWSR1 0 +FAM109B 0 +FAM118A 2 +FAM19A5 1 +FAM230B 0 +FAM83F 0 +FBLN1 0 +FBXO7 2 +FBXW4P1 0 +FLJ41941 0 +GALR3 0 +GAS2L1 0 +GCAT 1 +GGA1 0 +GGT1 0 +GGTLC2 0 +GNAZ 0 +GP1BB 0 +GRAMD4 2 +GRAP2 1 +GSTT2 0 +GSTT2B 0 +GTPBP1 0 +GTSE1 8 +H1F0 1 +HIC2 32 +HMGXB4 13 +HMOX1 0 +HORMAD2 0 +HSCB 0 +HSFY1P1 0 +IGLL3P 0 +IGLL5 0 +IL17RA 2 +INPP5J 0 +ISX 0 +KCTD17 0 +KDELR3 0 +KIAA1671 2 +KLHDC7B 0 +KREMEN1 0 +L3MBTL2 0 +LARGE-AS1 0 +LGALS1 1 +LIMK2 0 +LINC00207 0 +LINC00528 0 +LINC00634 0 +LINC00896 0 +LINC01310 0 +LINC01311 0 +LINC01422 0 +LL22NC01-81G9.3 0 +LOC100130899 0 +LOC100506472 0 +LOC100506679 0 +LOC100996342 0 +LOC101927257 0 +LOC101927526 0 +LOC101928891 0 +LOC101929374 0 +LOC101929760 0 +LOC284930 0 +LOC339666 0 +LOC391322 0 +LOC54944 0 +LOC648691 0 +LOC730668 0 +LRRC74B 0 +LZTR1 0 +MAFF 0 +MAPK8IP2 1 +MCHR1 1 +MCM5 5 +MED15 5 +MEI1 1 +MGAT3 0 +MIAT 0 +MIATNB 0 +MICALL1 0 +MIEF1 3 +MIF 0 +MIOX 0 +MIR1281 0 +MIR1306 0 +MIR130B 0 +MIR185 0 +MIR301B 0 +MIR3199-2 0 +MIR3200 0 +MIR3201 0 +MIR33A 0 +MIR3618 0 +MIR3619 0 +MIR3909 0 +MIR4534 0 +MIR4535 0 +MIR4761 0 +MIR4762 0 +MIR4763 0 +MIR5739 0 +MIR650 0 +MIR6817 0 +MIR6818 0 +MIR6820 0 +MIR6821 0 +MIRLET7A3 0 +MIRLET7B 0 +MIRLET7BHG 0 +MMP11 0 +MORC2-AS1 1 +MOV10L1 0 +MPPED1 0 +MPST 0 +MRPL40 0 +MTFP1 0 +MTMR3 61 +MYO18B 0 +NCAPH2 0 +NCF4 0 +NDUFA6-AS1 0 +NEFH 19 +NF2 2 +NOL12 0 +NUP50 2 +OGFRP1 0 +OSBP2 0 +P2RX6 0 +PANX2 0 +PARVB 0 +PARVG 0 +PDXP 0 +PEX26 1 +PICK1 0 +PIM3 1 +PNPLA3 1 +POLR2F 1 +POM121L4P 0 +POM121L8P 0 +POM121L9P 0 +POTEH-AS1 0 +PPARA 0 +PPIL2 5 +PPP6R2 0 +PRR34-AS1 0 +PRR5 1 +PRR5-ARHGAP8 0 +RAB36 2 +RANBP1 0 +RASD2 0 +RBX1 2 +RFPL1 0 +RFPL3 0 +RGL4 0 +RIBC2 0 +RIMBP3B 0 +RIMBP3C 0 +RNF185 2 +RNU12 0 +RPL23AP82 0 +SAMM50 0 +SDF2L1 0 +SEC14L2 0 +SELO 0 +SEPT3 0 +SEPT5 0 +SEPT5-GP1BB 0 +SERHL 0 +SERHL2 5 +SERPIND1 0 +SEZ6L 0 +SFI1 0 +SGSM1 0 +SGSM3 0 +SH3BP1 0 +SHANK3 1 +SLC25A18 0 +SLC2A11 0 +SLC35E4 0 +SLC5A1 0 +SMARCB1 0 +SMDT1 0 +SMTN 0 +SNAP29 4 +SNRPD3 8 +SPECC1L 2 +SPECC1L-ADORA2A 0 +SREBF2 9 +SRRD 0 +SUSD2 0 +SYNGR1 0 +TAB1 0 +TANGO2 0 +TBC1D22A 0 +TBX1 0 +TCN2 0 +TEF 0 +THAP7-AS1 0 +TIMP3 0 +TMEM191A 0 +TMEM191B 0 +TMEM191C 0 +TNRC6B 20 +TOM1 0 +TOMM22 0 +TOP1P2 0 +TPTEP1 0 +TRABD 0 +TRIOBP 2 +TRMU 0 +TSPO 0 +TSSK2 0 +TTC28-AS1 0 +TTC38 0 +TUBA8 0 +TUG1 0 +UBE2L3 3 +UPB1 0 +UPK3A 0 +UQCR10 0 +USP18 0 +VPREB1 0 +WBP2NL 0 +XPNPEP3 0 +XRCC6 3 +YWHAH 2 +ZBED4 1 +ZC3H7B 0 +ZDHHC8 0 +ZNF74 1 +ZNRF3 0 +AADAC 0 +AADACL2 0 +AADACP1 0 +ABCC5-AS1 0 +ABCF3 1 +ABHD10 0 +ABHD14A 0 +ABHD14A-ACY1 0 +ABHD5 0 +ABHD6 0 +ABTB1 0 +ACAD9 0 +ACKR2 0 +ACKR4 0 +ACPP 0 +ACTL6A 1 +ACVR2B 5 +ACY1 0 +ADAMTS9-AS1 0 +ADAMTS9-AS2 0 +ADIPOQ 0 +ADPRH 0 +AGTR1 0 +AHSG 0 +ALAS1 27 +ALCAM 0 +ALDH1L1-AS1 0 +ALDH1L1-AS2 0 +ALG1L2 0 +AP2M1 1 +APEH 0 +APPL1 0 +ARGFX 0 +ARHGAP31 0 +ARHGEF26 4 +ARHGEF3-AS1 0 +ARIH2 1 +ARL13B 9 +ARL14 0 +ARL6 0 +ARL6IP5 0 +ARL8B 2 +ARMC8 3 +ARPC4 1 +ARPC4-TTLL3 0 +ARPP21 0 +ATG7 0 +ATP11B 2 +ATP13A4-AS1 0 +ATP13A5-AS1 0 +ATP1B3 0 +ATP2C1 2 +ATP6V1A 0 +ATRIP 0 +ATXN7 0 +B3GNT5 0 +B4GALT4-AS1 0 +BBX 0 +BFSP2 0 +BHLHE40 7 +BHLHE40-AS1 0 +BOC 0 +BPESC1 0 +BRK1 2 +BRPF1 12 +BSN 0 +BTD 0 +C3orf14 0 +C3orf20 0 +C3orf30 0 +C3orf35 0 +C3orf38 3 +C3orf49 0 +C3orf52 0 +C3orf55 0 +C3orf56 96 +C3orf58 0 +C3orf65 0 +C3orf67-AS1 0 +C3orf79 0 +C3orf80 0 +CACNA1D 0 +CACNA2D3 0 +CADM2 0 +CAMP 0 +CAND2 0 +CAPN7 3 +CASR 0 +CAV3 0 +CCDC13-AS1 0 +CCDC174 1 +CCDC36 0 +CCDC37 0 +CCDC50 4 +CCDC54 0 +CCDC66 6 +CCR2 0 +CCR3 1 +CCR4 0 +CCR5 0 +CCR8 0 +CCR9 0 +CCRL2 0 +CD200 0 +CD86 0 +CD96 0 +CDV3 1 +CELSR3-AS1 0 +CEP63 2 +CEP97 0 +CFAP44-AS1 0 +CHCHD6 2 +CHL1 0 +CHMP2B 4 +CHRD 0 +CHST13 0 +CHST2 0 +CLDN11 0 +CLDN16 0 +CLDN18 0 +CLEC3B 0 +CLRN1-AS1 0 +CLSTN2 1 +CMC1 0 +CMSS1 0 +CMTM7 0 +CMTM8 0 +CNOT10 1 +CNTN4 2 +CNTN6 0 +COL6A4P2 0 +COL6A5 0 +COL6A6 1 +COL8A1 0 +COPG1 4 +CPA3 0 +CPB1 0 +CPNE9 1 +CRELD1 1 +CRTAP 0 +CRYBG3 2 +CSTA 0 +CTDSPL 18 +CTNNB1 5 +CXCR6 0 +CYB561D2 1 +DAG1 0 +DHX30 3 +DIRC2 2 +DLEC1 0 +DLG1-AS1 0 +DNAH1 0 +DNAJB11 5 +DNAJB8-AS1 0 +DNAJC13 4 +DOCK3 0 +DTX3L 0 +DVL3 0 +DZIP3 0 +EAF1 1 +EAF2 0 +EBLN2 0 +ECE2 0 +ECT2 23 +EDEM1 0 +EEFSEC 0 +EFCC1 0 +EGFEM1P 0 +EHHADH-AS1 0 +EIF1B 4 +EIF2A 8 +EIF2B5 0 +EIF4A2 43 +EIF4G1 2 +EMC3-AS1 0 +ENTPD3 0 +EPHA3 0 +EPHA6 0 +EPHB1 3 +EPHB3 0 +ERICH6-AS1 0 +ESYT3 1 +EXOG 0 +EXOSC7 4 +FAIM 0 +FAM131A 1 +FAM157A 0 +FAM162A 0 +FAM172BP 1 +FAM198A 0 +FAM19A1 0 +FAM212A 0 +FAM43A 0 +FAM86JP 0 +FANCD2 3 +FBLN2 0 +FBXL2 0 +FBXO40 0 +FBXO45 15 +FBXW12 1 +FETUB 0 +FGD5 2 +FGD5P1 1 +FGF12-AS1 0 +FLJ20518 0 +FLJ22763 0 +FLJ42393 0 +FLNB 1 +FNDC3B 18 +FOXL2NB 0 +FRG2C 0 +FXR1 10 +FYTTD1 0 +GALNT15 0 +GAP43 0 +GATA2-AS1 0 +GFM1 0 +GHRLOS 0 +GLYCTK 0 +GMPS 0 +GNAI2 1 +GNAT1 0 +GNL3 2 +GOLGA4 9 +GP9 0 +GPD1L 1 +GPR128 0 +GPR15 0 +GPR160 0 +GPR27 0 +GPR62 0 +GRAMD1C 0 +GRK7 0 +GRM2 0 +GRM7 0 +GTF2E1 1 +GTPBP8 1 +GXYLT2 0 +GYG1 105 +H1FOO 217 +H1FX-AS1 0 +HDAC11 0 +HEMK1 0 +HES1 0 +HHLA2 20 +HLTF-AS1 0 +HMCES 1 +HPS3 0 +HRASLS 0 +HRG 1 +HRH1 0 +HTR1F 0 +HTR3C 0 +HTR3D 0 +HTR3E 0 +IFT122 0 +IGSF11-AS1 0 +IL12A 0 +IL17RB 1 +IL17RC 0 +IL17RE 0 +IL1RAP 1 +IL20RB 0 +IQCF2 0 +IQCF3 0 +IQCF4 0 +IQCF5-AS1 0 +IQCJ 0 +IQCJ-SCHIP1 0 +IRAK2 0 +ITGA9 0 +ITIH1 0 +ITIH3 0 +ITIH4-AS1 0 +ITPR1 5 +JAGN1 2 +KALRN 8 +KAT2B 0 +KBTBD12 0 +KBTBD8 1 +KCNAB1 0 +KCNH8 1 +KCNMB2 0 +KCTD6 0 +KIF15 1 +KIF9-AS1 0 +KLHDC8B 0 +KLHL18 14 +KLHL24 0 +KLHL40 0 +KLHL6-AS1 0 +KNG1 0 +KRBOX1 0 +LARS2 1 +LEKR1 0 +LIMD1 0 +LINC00312 0 +LINC00488 0 +LINC00501 0 +LINC00506 0 +LINC00578 1 +LINC00620 0 +LINC00636 0 +LINC00690 0 +LINC00693 1 +LINC00698 0 +LINC00852 0 +LINC00870 0 +LINC00879 0 +LINC00881 0 +LINC00883 0 +LINC00884 0 +LINC00885 0 +LINC00888 1 +LINC00901 0 +LINC00960 0 +LINC00969 0 +LINC01014 0 +LINC01100 0 +LINC01205 0 +LINC01206 0 +LINC01210 0 +LINC01212 0 +LINC01213 0 +LINC01215 0 +LINC01266 0 +LINC01330 0 +LINC01487 0 +LINCR-0002 0 +LMCD1 0 +LMLN 0 +LNP1 0 +LOC100129550 0 +LOC100131635 0 +LOC100132146 0 +LOC100507291 0 +LOC100507389 0 +LOC100507391 0 +LOC100507661 0 +LOC101243545 0 +LOC101927296 0 +LOC101927374 0 +LOC101927416 0 +LOC101927829 0 +LOC101927854 1 +LOC101928790 0 +LOC101929337 0 +LOC101929607 0 +LOC101929754 0 +LOC102723448 0 +LOC102723582 0 +LOC102724550 0 +LOC152225 0 +LOC339862 0 +LOC344887 0 +LOC440982 0 +LOC646903 0 +LOC729083 0 +LOC90246 0 +LPP 3 +LRCH3 1 +LRRC2-AS1 0 +LRRC3B 0 +LRRIQ4 0 +LRRN1 0 +LSAMP-AS1 0 +LSM3 1 +LSMEM2 0 +MAATS1 0 +MAGI1-AS1 0 +MANF 6 +MAP3K13 0 +MAPKAPK3 0 +MBNL1 2 +MCM2 5 +MED12L 2 +MFI2-AS1 0 +MFN1 4 +MFSD1 0 +MGC2889 0 +MIR1224 0 +MIR1226 0 +MIR1248 0 +MIR128-2 0 +MIR1324 0 +MIR138-1 0 +MIR15B 0 +MIR16-2 0 +MIR26A1 0 +MIR3714 0 +MIR3919 0 +MIR4271 0 +MIR4272 0 +MIR4273 0 +MIR4443 0 +MIR4444-1 0 +MIR4444-2 0 +MIR4446 0 +MIR4787 0 +MIR4788 0 +MIR4789 0 +MIR5002 0 +MIR548A2 0 +MIR548AC 0 +MIR548AY 0 +MIR548H2 0 +MIR551B 0 +MIR563 0 +MIR564 0 +MIR567 0 +MIR5688 0 +MIR570 0 +MIR5787 0 +MIR6083 0 +MIR6822 0 +MIR6826 0 +MIR6828 0 +MIR6872 0 +MIR7110 0 +MIR8060 0 +MIR944 0 +MITF 6 +MKRN2 4 +MLF1 2 +MLH1 1 +MME 0 +MOBP 0 +MRAS 0 +MRPS22 3 +MTMR14 4 +MUC20 0 +MYD88 0 +MYLK-AS1 0 +MYLK-AS2 0 +MYNN 4 +MYRIP 0 +NAALADL2 0 +NBEAL2 0 +NCBP2-AS2 0 +NCK1 0 +NDUFAF3 0 +NDUFB4 0 +NDUFB5 3 +NEK11 0 +NFKBIZ 0 +NISCH 1 +NIT2 2 +NKTR 11 +NLGN1 0 +NMD3 1 +NPHP3-AS1 0 +NR1D2 0 +NR1I2 0 +NR2C2 1 +NRADDP 0 +NRROS 0 +NSUN3 0 +NUDT16 5 +NUDT16P1 1 +NUP210P1 0 +NXPE3 0 +OGG1 0 +OPA1 2 +OR5AC2 0 +OR5H1 0 +OR5H14 0 +OR5H15 0 +OR5H2 0 +OR5H6 0 +OR5K1 0 +OR5K2 0 +OR5K3 0 +OR5K4 0 +OSBPL10-AS1 0 +OSTN 0 +OTOL1 0 +OXNAD1 0 +OXSM 0 +OXSR1 1 +P2RY1 0 +P4HTM 0 +PAK2 10 +PAQR9-AS1 0 +PARP14 0 +PARP15 0 +PARP3 0 +PCCB 5 +PCNP 2 +PDCD6IP 2 +PDCL3P4 1 +PDE12 0 +PDIA5 0 +PDZRN3-AS1 0 +PHF7 1 +PHLDB2 1 +PIGX 0 +PIK3CA 3 +PLA1A 0 +PLCL2 0 +PLCXD2 0 +PLS1 10 +PLXNA1 0 +PODXL2 0 +POGLUT1 0 +POLR2H 2 +PPARG 0 +PPM1L 0 +PPM1M 0 +PPP2R3A 0 +PPP4R2 0 +PRICKLE2-AS1 0 +PRICKLE2-AS2 0 +PRICKLE2-AS3 0 +PRKAR2A-AS1 0 +PRKCD 0 +PRKCI 2 +PRRT3-AS1 0 +PSMD2 39 +PSMD6-AS2 0 +PTH1R 0 +PTPN23 0 +PTPRG 2 +PTX3 0 +PVRL3 1 +PXK 15 +PXYLP1 4 +PYDC2 0 +QTRTD1 0 +RAB5A 0 +RAB7A 3 +RAD54L2 10 +RAP2B 10 +RARB 0 +RASA2 0 +RASSF1-AS1 1 +RBM15B 0 +RBM5 0 +RBM6 3 +RBMS3 0 +RHO 0 +RNF123 0 +RNF13 0 +RNF7 0 +RNU6-2 0 +ROBO2 6 +ROPN1B 0 +RPL14 4 +RPL15 29 +RPL35A 10 +RPP14 4 +RPSA 13 +RSRC1 5 +RTP1 4 +RTP3 0 +RTP4 0 +RUVBL1-AS1 0 +SACM1L 10 +SAMD7 0 +SCHIP1 0 +SDHAP2 0 +SEC22A 9 +SEC61A1 4 +SEC62 5 +SELT 0 +SEMA3B 0 +SEMA3F 0 +SENP2 1 +SENP5 0 +SERPINI1 0 +SETD5 1 +SETMAR 0 +SGOL1-AS1 0 +SH3BP5-AS1 1 +SIDT1 0 +SKIL 0 +SLC15A2 0 +SLC22A13 0 +SLC22A14 0 +SLC25A26 1 +SLC25A36 0 +SLC25A38 2 +SLC35A5 0 +SLC35G2 0 +SLC38A3 0 +SLC51A 0 +SLC6A1 1 +SLC6A11 0 +SLC6A6 1 +SLC9A9-AS1 0 +SLMAP 1 +SMC4 8 +SMIM4 0 +SNAR-I 0 +SNORA4 0 +SNORA6 0 +SNORA62 0 +SNORA63 0 +SNORA81 0 +SNORD19 0 +SNORD19B 0 +SNORD2 0 +SNORD66 0 +SNORD69 0 +SNRK 4 +SNTN 0 +SOX14 0 +SOX2 0 +SOX2-OT 0 +SPATA12 0 +SPCS1 6 +SPSB4 0 +SRGAP3-AS3 0 +SRPRB 2 +SS18L2 1 +ST3GAL6 0 +ST6GAL1 0 +STAB1 0 +STAC 0 +STT3B 1 +STXBP5L 1 +SUCLG2-AS1 0 +SUCNR1 0 +SYN2 4 +SYNPR 0 +TAGLN3 0 +TATDN2 1 +TBC1D23 13 +TCAIM 1 +TCTA 0 +TDGF1 1 +TEX264 0 +TF 0 +TFG 10 +TGFBR2 0 +TGM4 1 +THOC7-AS1 0 +THRB-AS1 0 +THUMPD3 4 +TIGIT 3 +TIMMDC1 0 +TIPARP 29 +TM4SF1-AS1 0 +TM4SF19-AS1 0 +TM4SF4 0 +TMA7 0 +TMCC1-AS1 0 +TMEM108 2 +TMEM212 0 +TMEM30C 0 +TMEM42 0 +TMEM43 5 +TMEM44-AS1 0 +TMEM45A 0 +TMIE 0 +TMPRSS7 0 +TOPAZ1 0 +TP63 3 +TPRG1 1 +TPRXL 42 +TRAK1 23 +TRAT1 0 +TREX1 0 +TRH 0 +TRIM42 0 +TRIM71 1 +TRMT10C 4 +TRNT1 1 +TRPC1 0 +TSC22D2 9 +TSEN2 0 +TTC14 1 +TTC21A 0 +TTLL3 0 +TUSC7 0 +U2SURP 3 +UBA5 3 +UBE2E1 1 +UBE2E2 0 +UMPS 1 +UPK1B 0 +USP13 9 +VENTXP7 0 +VHL 0 +VILL 0 +VIPR1 0 +VPS8 2 +VWA5B2 0 +WDR48 1 +WDR6 0 +WWTR1-AS1 0 +XXYLT1-AS1 0 +XXYLT1-AS2 0 +XYLB 0 +YEATS2 1 +ZBTB11-AS1 0 +ZBTB20-AS1 0 +ZBTB20-AS4 0 +ZBTB38 4 +ZBTB47 0 +ZCWPW2 0 +ZDHHC23 0 +ZIC1 0 +ZKSCAN7 1 +ZNF197 0 +ZNF35 0 +ZNF385D-AS1 1 +ZNF385D-AS2 0 +ZNF501 2 +ZNF502 3 +ZNF589 3 +ZNF619 0 +ZNF620 0 +ZNF621 0 +ZNF639 0 +ZNF654 7 +ZNF660 0 +ZNF662 5 +ZNF860 0 +ZPLD1 0 +ABCE1 5 +ADAD1 3 +ADAM29 0 +ADD1 6 +ADRA2C 0 +AFAP1-AS1 2 +AFF1 9 +AFM 0 +AFP 0 +AGPAT9 1 +AIMP1 0 +ALB 0 +ALPK1 0 +AMBN 0 +AMTN 0 +ANAPC4 0 +ANK2 0 +ANKRD37 0 +ANXA10 0 +ANXA3 0 +AP1AR 0 +APELA 0 +AREG 0 +ARFIP1 12 +ARHGAP10 8 +ARHGAP24 0 +ARHGEF38 0 +ARHGEF38-IT1 0 +ARL9 0 +ART3 0 +ATOH1 0 +ATP10D 1 +BANK1 0 +BBS12 0 +BLOC1S4 0 +BMP2K 2 +BMP3 0 +BMPR1B 0 +BST1 0 +C1QTNF7 0 +C4orf17 0 +C4orf19 1 +C4orf22 0 +C4orf26 0 +C4orf29 0 +C4orf32 0 +C4orf33 0 +C4orf47 10 +C4orf48 0 +C4orf51 0 +C4orf6 0 +CABS1 0 +CC2D2A 0 +CCDC109B 0 +CCNG2 3 +CCRN4L 0 +CCSER1 1 +CD38 1 +CDKN2AIP 3 +CDS1 4 +CEP135 0 +CEP170P1 0 +CEP44 0 +CFAP99 0 +CHRNA9 0 +CISD2 0 +CLCN3 0 +CLRN2 0 +COPS4 6 +CPE 0 +CPEB2 0 +CPZ 0 +CRIPAK 0 +CSN1S1 0 +CSN1S2AP 0 +CSN1S2BP 0 +CSN3 0 +CTBP1-AS 0 +CTBP1-AS2 1 +CWH43 0 +CXCL1 0 +CXCL13 0 +CXCL6 0 +CXCL8 0 +CYP2U1 0 +CYP4V2 1 +DANCR 3 +DAPP1 1 +DBET 0 +DCAF4L1 4 +DCK 0 +DCLK2 12 +DCUN1D4 2 +DEAR 0 +DEFB131 0 +DKFZP434I0714 0 +DMP1 0 +DOK7 0 +DRD5 0 +DSPP 0 +DTHD1 0 +EDNRA 1 +EGF 1 +ELMOD2 0 +ENAM 0 +ENOPH1 0 +ENPEP 0 +EPGN 0 +EPHA5-AS1 0 +EREG 0 +ETFDH 0 +EVC 0 +EXOC1 0 +EXOSC9 4 +F11 0 +FAM114A1 0 +FAM13A-AS1 0 +FAM149A 2 +FAM160A1 0 +FAM193A 14 +FAM200B 1 +FAM218A 0 +FAM47E 0 +FAM47E-STBD1 0 +FAM92A1P2 0 +FAT4 0 +FDCSP 0 +FGB 0 +FGF2 0 +FGF5 0 +FGFR3 0 +FGFRL1 2 +FHDC1 0 +FIP1L1 19 +FLJ20021 0 +FNIP2 12 +FRAS1 0 +FRG1 2 +FTLP10 0 +GAB1 24 +GABRB1 0 +GALNT7 1 +GALNTL6 0 +GAR1 1 +GBA3 0 +GLRB 0 +GPR78 1 +GRIA2 0 +GRID2 0 +GRK4 0 +GRXCR1 0 +GSTCD 3 +GSX2 0 +GUCY1A3 1 +GUCY1B3 0 +GUF1 0 +GUSBP5 0 +HADH 0 +HAND2-AS1 0 +HELT 0 +HERC3 4 +HERC5 0 +HERC6 32 +HGFAC 0 +HHIP 0 +HSPA4L 6 +HTN1 0 +HTN3 0 +HTRA3 0 +HTT 1 +IBSP 0 +IDUA 0 +IGFBP7-AS1 0 +IL15 0 +IL21-AS1 0 +ING2 0 +INTU 0 +JADE1 0 +KIAA0232 1 +KIAA0922 35 +KIAA1109 4 +KIAA1211 0 +KIT 7 +KLB 0 +KLF3 0 +KLHL2 0 +KLHL5 0 +KLKB1 0 +LAP3 0 +LARP1B 2 +LARP7 24 +LEF1-AS1 1 +LIAS 0 +LIMCH1 0 +LINC00499 0 +LINC00955 0 +LINC00989 0 +LINC01060 0 +LINC01085 0 +LINC01088 0 +LINC01091 0 +LINC01094 0 +LINC01098 0 +LINC01179 0 +LINC01182 0 +LINC01207 0 +LINC01262 0 +LINC01378 0 +LNX1-AS1 0 +LNX1-AS2 0 +LOC100506122 0 +LOC100507053 0 +LOC100996286 0 +LOC100996694 0 +LOC101060498 0 +LOC101929064 0 +LOC152578 0 +LOC256880 0 +LOC285484 0 +LOC340017 0 +LOC401127 0 +LOC439933 0 +LOC441025 0 +LOC550113 0 +LOC644145 0 +LOC645513 0 +LOC650293 0 +LOC728040 0 +LOC729218 0 +LOC93622 0 +LPHN3 0 +LRAT 0 +LRIT3 0 +LSM6 0 +MAB21L2 0 +MAEA 5 +MAN2B2 0 +MED28 0 +MEPE 0 +METAP1 1 +METTL14 3 +MGST2 8 +MIR1243 0 +MIR1273H 0 +MIR1305 0 +MIR1973 0 +MIR2054 0 +MIR218-1 0 +MIR3684 0 +MIR3688-2 0 +MIR4274 0 +MIR4275 0 +MIR4276 0 +MIR4449 0 +MIR4450 0 +MIR4451 0 +MIR4453 0 +MIR4798 0 +MIR4799 0 +MIR5091 0 +MIR5684 0 +MIR572 0 +MIR574 0 +MIR577 0 +MIR578 0 +MIR6082 0 +MIR7849 0 +MIR8053 0 +MIR8082 0 +MMAA 2 +MMRN1 0 +MND1 3 +MOB1B 0 +MRFAP1 7 +MRPL1 0 +MRPS18C 0 +MSANTD1 0 +MSMO1 0 +MSX1 0 +MTHFD2L 0 +MTTP 0 +MUC7 0 +MYL5 0 +MYOZ2 0 +N4BP2 5 +NAA15 6 +NAT8L 0 +NCAPG 2 +NDST3 0 +NEIL3 2 +NFKB1 1 +NIPAL1 0 +NOP14-AS1 1 +NPFFR2 0 +NPNT 0 +NPY2R 0 +NPY5R 0 +NSG1 15 +NSUN7 0 +NUDT9 0 +NWD2 1 +OCIAD1 4 +ODAM 0 +OSTC 1 +PACRGL 0 +PAICS 2 +PALLD 6 +PARM1 0 +PCAT4 0 +PCDH10 0 +PCDH7 0 +PCGF3 0 +PDE6B 0 +PDGFRA 0 +PDHA2 0 +PDLIM5 0 +PF4V1 0 +PGM2 2 +PI4K2B 1 +PIGG 0 +PKD2 0 +PLK4 0 +POLR2B 1 +POU4F2 0 +PP12613 0 +PRDM8 0 +PRIMPOL 0 +PROL1 0 +PRR27 0 +PRSS48 0 +PTPN13 5 +PTTG2 0 +RAB33B 0 +RAP1GDS1 0 +RAPGEF2 1 +RASL11B 0 +RBM46 4 +RBPJ 1 +REST 1 +RGS12 0 +RHOH 0 +RNF4 0 +RPL34 0 +RPS3A 1 +RRH 0 +RUFY3 0 +RXFP1 0 +S100P 0 +SAP30 1 +SCARNA22 0 +SCOC 2 +SEC24B 1 +SEPSECS-AS1 0 +SEPT11 12 +SGMS2 10 +SH3BP2 0 +SH3TC1 0 +SHISA3 0 +SHROOM3 1 +SLAIN2 3 +SLC10A4 0 +SLC25A31 0 +SLC25A4 0 +SLC30A9 1 +SLC34A2 0 +SLC4A4 0 +SLC7A11-AS1 0 +SLIT2 0 +SLIT2-IT1 0 +SMAD1 9 +SMARCA5 3 +SMARCAD1 1 +SMIM20 0 +SMR3A 0 +SMR3B 0 +SNCA-AS1 0 +SNHG8 2 +SNORA24 0 +SNORA26 0 +SNORD73A 0 +SNX25 2 +SOD3 0 +SORCS2 0 +SPATA18 0 +SPATA5 1 +SPCS3 0 +SPP1 0 +SPRY1 0 +SRD5A3 0 +SRP72 4 +STAP1 0 +STATH 0 +STBD1 0 +STIM2 0 +STK32B 1 +STOX2 0 +STPG2-AS1 0 +STX18-AS1 0 +SYNPO2 0 +TACC3 17 +TADA2B 4 +TAPT1-AS1 2 +TBC1D1 15 +TBC1D14 13 +TBC1D19 0 +TDO2 0 +TENM3 0 +TET2 2 +THAP6 0 +THAP9 1 +THEGL 0 +TIGD2 1 +TLL1 0 +TLR2 0 +TLR3 0 +TMA16 0 +TMEM144 0 +TMEM165 0 +TMEM175 1 +TMEM184C 1 +TMEM33 2 +TMPRSS11E 0 +TRAPPC11 1 +TRIM2 0 +TRIM60 1 +TRIML1 0 +TRMT44 8 +UBA6-AS1 1 +UBE2K 2 +UCHL1 40 +UGDH-AS1 0 +UGT2B10 0 +UGT2B28 0 +UGT2B7 0 +UGT8 0 +USO1 3 +USP17L10 0 +USP17L11 0 +USP17L12 0 +USP17L13 0 +USP17L15 0 +USP17L17 0 +USP17L18 0 +USP17L19 0 +USP17L20 0 +USP17L21 0 +USP17L22 0 +USP17L24 0 +USP17L25 0 +USP17L26 0 +USP17L27 0 +USP17L28 0 +USP17L29 0 +USP17L30 0 +USP17L5 0 +USP17L6P 0 +USP17L9P 0 +USP38 0 +USP46-AS1 0 +USP53 2 +UTP3 1 +UVSSA 0 +WDFY3-AS2 0 +WDR17 0 +WDR19 1 +WFS1 7 +WHSC1 28 +WWC2 3 +ZAR1 4 +ZBTB49 19 +ZCCHC4 1 +ZFP42 0 +ZNF141 0 +ZNF330 9 +ZNF595 9 +ZNF718 0 +ZNF876P 1 +TMPRSS11E 0 +UGT2B10 0 +ABLIM3 0 +ADAMTS16 0 +ADAMTS19 0 +ADCY2 0 +ADRA1B 0 +ADRB2 0 +AFAP1L1 0 +AGGF1 5 +AHRR 0 +ANKDD1B 0 +ANKHD1 0 +ANKHD1-EIF4EBP3 0 +ANKRD32 4 +ANKRD33B 0 +AP3S1 1 +APC 12 +AQPEP 0 +ARHGAP26 4 +ARHGEF28 0 +ARHGEF37 0 +ARL10 0 +ARL14EPL 0 +ARRDC3-AS1 0 +ARSK 1 +ATG10 0 +ATP6AP1L 3 +ATP6V0E1 0 +B4GALT7 0 +BASP1 1 +BDP1 3 +BHMT 0 +BHMT2 0 +BNIP1 1 +BRIX1 2 +BTF3 20 +BTNL3 0 +BTNL8 0 +BTNL9 0 +C5orf22 3 +C5orf24 0 +C5orf27 0 +C5orf30 0 +C5orf38 0 +C5orf47 0 +C5orf51 0 +C5orf52 0 +C5orf56 0 +C5orf58 0 +C5orf64 0 +C5orf66 0 +C7 0 +CAMK4 0 +CAMLG 23 +CANX 5 +CARD6 0 +CARTPT 0 +CAST 5 +CATSPER3 0 +CCDC152 0 +CCNB1 60 +CCNG1 7 +CCNI2 3 +CCT5 2 +CDC42SE2 0 +CDH6 0 +CDHR2 0 +CDK7 37 +CDX1 0 +CENPH 0 +CEP72 0 +CHSY3 0 +CKMT2 2 +CMYA5 0 +CNOT6 6 +CNOT8 2 +COMMD10 6 +COX7C 1 +CPEB4 12 +CPLX2 0 +CREBRF 0 +CRHBP 0 +CSF2 0 +CSNK1G3 1 +CTB-113P19.1 0 +CTB-12O2.1 0 +CTB-174D11.1 0 +CTC-338M12.4 0 +CTC-436P18.1 0 +CTD-2151A2.1 0 +CTD-2194D22.4 0 +CTD-2201E9.1 0 +CTD-2270F17.1 0 +CTNNA1 12 +CTXN3 0 +CWC27 1 +CXXC5 0 +CYFIP2 1 +CYSTM1 3 +DCP2 18 +DDX4 13 +DDX46 6 +DMXL1 6 +DNAJC21 7 +DOCK2 1 +EFCAB9 0 +EGFLAM 0 +EGR1 2 +EIF4E1B 5 +EIF4EBP3 0 +EPB41L4A-AS1 1 +EPB41L4A-AS2 0 +ERAP2 0 +ERBB2IP 0 +ERGIC1 0 +EXOC3 0 +F2R 0 +F2RL1 0 +FABP6 0 +FAF2 0 +FAM105A 0 +FAM151B 1 +FAM153B 0 +FAM153C 0 +FAM159B 0 +FAM170A 0 +FAM174A 0 +FAM53C 3 +FAM81B 0 +FBLL1 0 +FBXL21 0 +FBXL7 6 +FBXO38 0 +FBXO4 0 +FCHO2 0 +FER 5 +FGF10-AS1 0 +FGF18 0 +FGFR4 0 +FLJ31104 0 +FOXI1 0 +FST 1 +FTMT 0 +G3BP1 7 +GABRA1 0 +GABRA6 0 +GABRG2 0 +GABRP 0 +GALNT10 0 +GAPT 0 +GDNF-AS1 0 +GHR 0 +GM2A 1 +GPBP1 18 +GPR150 0 +GPR98 0 +GPX3 0 +GPX8 0 +GRAMD3 0 +GRIA1 0 +GRK6 0 +GRPEL2 1 +GTF2H2B 0 +GTF2H2C 0 +GTF2H2C_2 0 +GUSBP1 0 +GZMA 0 +GZMK 0 +HARS2 0 +HEXB 5 +HIGD2A 4 +HMGCR 3 +HMGXB3 1 +HMHB1 0 +HMMR 3 +HMP19 0 +HNRNPAB 0 +HRH2 4 +HSD17B4 1 +HSPA4 2 +HSPB3 0 +ICE1 7 +IGIP 0 +IK 2 +IL13 0 +IL3 0 +IL31RA 0 +IL4 0 +IL7R 0 +IPO11 0 +IPO11-LRRC70 0 +IQGAP2 31 +IRGM 4 +IRX1 0 +ISL1 0 +ISOC1 0 +ITGA1 0 +ITGA2 1 +ITK 0 +JADE2 0 +JAKMIP2-AS1 0 +JMY 36 +KCNIP1 0 +KCNN2 2 +KCTD16 3 +KDM3B 0 +KIAA0141 0 +KIAA1024L 0 +KIF20A 2 +KIF2A 2 +KIF4B 2 +LARP1 6 +LEAP2 0 +LIFR-AS1 0 +LINC00492 0 +LINC00603 0 +LINC00847 1 +LINC00992 0 +LINC01018 0 +LINC01020 0 +LINC01021 0 +LINC01194 0 +LINC01333 0 +LINC01340 0 +LINC01366 0 +LINC01377 0 +LINCR-0003 0 +LMNB1 1 +LNPEP 0 +LOC100130744 0 +LOC100132062 0 +LOC100132287 0 +LOC100133331 0 +LOC100288152 0 +LOC100289230 0 +LOC100289673 0 +LOC100505658 0 +LOC100505811 0 +LOC100505841 0 +LOC100505878 0 +LOC100506406 0 +LOC100506639 0 +LOC100507387 0 +LOC101926940 0 +LOC101926941 0 +LOC101926975 0 +LOC101927023 0 +LOC101927100 0 +LOC101927421 0 +LOC101927460 0 +LOC101927740 0 +LOC101927934 0 +LOC101928093 0 +LOC101928505 0 +LOC101929153 0 +LOC101929154 0 +LOC101929284 0 +LOC101929380 0 +LOC101929524 4 +LOC101929645 0 +LOC102467214 0 +LOC102467224 0 +LOC102467225 0 +LOC102467226 0 +LOC102467655 0 +LOC102503427 0 +LOC102546228 0 +LOC102546299 0 +LOC102577424 0 +LOC153684 0 +LOC255187 0 +LOC257396 0 +LOC285593 0 +LOC285626 0 +LOC340113 0 +LOC441081 0 +LOC728554 3 +LOC731157 0 +LRRC14B 0 +LRRC70 0 +LSM11 1 +LSP1P3 0 +LTC4S 0 +LYRM7 0 +MAML1 0 +MAN2A1 0 +MAP1B 0 +MAP3K1 0 +MARCH6 2 +MARVELD2 0 +MAST4 6 +MAT2B 3 +MATR3 1 +MCCC2 3 +MEF2C-AS1 0 +MEGF10 1 +MFAP3 0 +MIR103B1 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR143 0 +MIR143HG 0 +MIR145 0 +MIR146A 0 +MIR3142 0 +MIR3607 0 +MIR3655 0 +MIR3661 0 +MIR378E 0 +MIR3977 0 +MIR4458 0 +MIR4458HG 0 +MIR4461 0 +MIR4633 0 +MIR4634 0 +MIR4803 0 +MIR4804 0 +MIR5197 0 +MIR548AO 0 +MIR548BA 0 +MIR583 0 +MIR6131 0 +MIR6165 0 +MIR8056 0 +MRPL22 1 +MRPS30 1 +MRPS36 1 +MSH3 5 +MSX2 0 +MTRR 1 +MYOT 0 +MYOZ3 0 +N4BP3 0 +NBPF22P 0 +NCRUPAR 0 +NDFIP1 2 +NDST1 1 +NDUFAF2 0 +NDUFS4 0 +NDUFS6 0 +NEURL1B 0 +NIM1K 0 +NIPAL4 0 +NIPBL 15 +NKD2 3 +NLN 2 +NNT 0 +NPM1 26 +NPR3 0 +NPY6R 0 +NR2F1 0 +NREP-AS1 0 +NSA2 1 +NSD1 1 +OCLN 0 +OR2V2 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OSMR 1 +OTULIN 2 +OXCT1-AS1 0 +P4HA2-AS1 0 +PAIP2 4 +PAM 0 +PAPD4 0 +PAPD7 47 +PARP8 0 +PART1 0 +PCBD2 0 +PCDHA1 0 +PCDHA10 0 +PCDHA11 0 +PCDHA12 0 +PCDHA13 0 +PCDHA2 0 +PCDHA3 0 +PCDHA4 0 +PCDHA5 0 +PCDHA6 0 +PCDHA7 0 +PCDHA8 0 +PCDHA9 0 +PCDHAC1 0 +PCDHAC2 0 +PCDHB1 0 +PCDHB10 0 +PCDHB11 0 +PCDHB12 0 +PCDHB13 0 +PCDHB14 0 +PCDHB15 0 +PCDHB16 0 +PCDHB17 0 +PCDHB18 0 +PCDHB19P 0 +PCDHB2 0 +PCDHB3 0 +PCDHB4 0 +PCDHB5 0 +PCDHB6 0 +PCDHB7 0 +PCDHB8 0 +PCDHB9 0 +PCDHGA1 0 +PCDHGA10 0 +PCDHGA11 0 +PCDHGA12 0 +PCDHGA2 0 +PCDHGA3 0 +PCDHGA4 0 +PCDHGA5 0 +PCDHGA6 0 +PCDHGA7 0 +PCDHGA8 0 +PCDHGA9 0 +PCDHGB1 0 +PCDHGB2 0 +PCDHGB3 0 +PCDHGB4 0 +PCDHGB5 0 +PCDHGB6 0 +PCDHGB7 0 +PCDHGB8P 0 +PCDHGC3 0 +PCDHGC4 0 +PCDHGC5 0 +PCYOX1L 0 +PDCD6 1 +PDE8B 95 +PDLIM4 0 +PDZD2 4 +PELO 1 +PHAX 3 +PIK3R1 6 +PKD2L2 0 +PLEKHG4B 0 +PMCHL1 0 +PMCHL2 0 +POLK 0 +POLR3G 9 +POU4F3 0 +PPARGC1B 3 +PPIP5K2 0 +PPP1R2P3 0 +PPWD1 4 +PRDM6 0 +PRDM9 0 +PRELID1 0 +PRR16 0 +PRR7 0 +PRRC1 5 +PSD2 0 +PTCD2 0 +PTGER4 0 +PTTG1 115 +PURA 0 +RAB3C 0 +RAB9BP1 0 +RAD17 3 +RAD50 13 +RAI14 8 +RANBP17 0 +RARS 2 +RASA1 1 +RASGRF2 0 +RBM27 10 +REEP2 1 +RELL2 0 +RFESD 0 +RGMB 0 +RGS14 0 +RGS7BP 0 +RHOBTB3 6 +RMND5B 0 +RNF14 7 +RNF180 1 +RNU5D-1 0 +RNU5E-1 0 +ROPN1L 0 +RPL26L1 10 +RUFY1 0 +RXFP3 0 +S100Z 0 +SAP30L 0 +SCAMP1 1 +SCGB3A2 1 +SDHA 1 +SEC24A 6 +SEMA6A-AS1 0 +SERF1A 0 +SERF1B 0 +SETD9 0 +SFXN1 1 +SGCD 2 +SH3RF2 0 +SIMC1 0 +SKIV2L2 0 +SKP2 23 +SLC12A2 3 +SLC1A3 0 +SLC22A4 0 +SLC22A5 0 +SLC25A46 13 +SLC25A48 0 +SLC26A2 0 +SLC27A6 2 +SLC30A5 0 +SLC34A1 0 +SLC35A4 2 +SLC36A1 0 +SLC4A9 0 +SLC6A18 0 +SLC6A19 0 +SLC6A7 0 +SMAD5 0 +SMIM23 0 +SMIM3 0 +SMN1 0 +SMN2 0 +SNCAIP 0 +SNHG18 2 +SNHG4 0 +SNORA13 0 +SNORA74A 0 +SNORA74B 0 +SNORD123 0 +SNX18 0 +SNX2 4 +SNX24 3 +SOWAHA 0 +SPDL1 25 +SPEF2 0 +SPINK13 0 +SPINK14 0 +SPINK5 0 +SPINK6 0 +SPINK7 0 +SPINK9 0 +SPZ1 0 +SQSTM1 11 +SRD5A1 0 +SREK1 20 +SRFBP1 2 +SRP19 2 +STARD4-AS1 0 +STK32A 0 +SUB1 3 +SV2C 0 +SYNPO 0 +TARS 3 +TCERG1 4 +TCF7 6 +TCOF1 15 +TENM2 0 +TEX43 0 +TGFBI 0 +THBS4 7 +THG1L 1 +TLX3 0 +TMCO6 0 +TMED9 1 +TMEM161B-AS1 0 +TMEM171 1 +TMEM174 0 +TNFAIP8 0 +TNPO1 5 +TRAPPC13 1 +TRIM41 1 +TRIM52-AS1 0 +TRIO 5 +TRIP13 0 +TSLP 0 +TSPAN17 0 +TTC1 12 +TTC23L 0 +TXNDC15 0 +UBE2B 0 +UBE2D2 6 +UBE2QL1 0 +UBLCP1 1 +UNC5A 0 +UQCRQ 2 +UTP15 1 +VCAN 0 +VTRNA1-1 0 +VTRNA1-2 0 +VTRNA1-3 0 +WDR36 0 +WDR55 0 +WDR70 7 +WNT8A 0 +WWC1 1 +XRCC4 2 +YTHDC2 1 +ZBED3-AS1 0 +ZCCHC9 1 +ZFP2 0 +ZFYVE16 1 +ZMAT2 14 +ZNF131 1 +ZNF346 2 +ZNF354B 0 +ZNF354C 0 +ZNF454 1 +ZNF474 0 +ZNF879 1 +ZSWIM6 0 +ABCC10 1 +ABCF1 0 +ABRACL 0 +ABT1 0 +ACAT2 2 +ACOT13 3 +ADCY10P1 0 +ADGB 0 +AIF1 0 +AIG1 0 +AIM1 33 +AKAP12 0 +AKAP7 0 +ALDH5A1 1 +AMD1 56 +ANKRD6 4 +ANKRD66 0 +ANKS1A 7 +APOBEC2 0 +APOM 0 +ARG1 0 +ARID1B 0 +ARMC12 1 +ARMC2 28 +ASF1A 28 +ATAT1 0 +ATP6V0CP3 0 +B3GALT4 0 +BAG2 0 +BAI3 0 +BCKDHB 1 +BEND6 0 +BMP6 23 +BPHL 0 +BRD2 0 +BRD7P3 0 +BRPF3 0 +BTN1A1 0 +BTN2A1 0 +BTN2A2 0 +BTN2A3P 0 +BTN3A1 0 +BTN3A2 0 +BTN3A3 0 +BVES-AS1 0 +BYSL 3 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf120 0 +C6orf136 0 +C6orf141 0 +C6orf163 0 +C6orf164 0 +C6orf165 0 +C6orf201 0 +C6orf203 2 +C6orf211 0 +C6orf223 0 +C6orf25 0 +C6orf48 0 +C6orf57 0 +C6orf58 0 +C6orf89 4 +C6orf99 0 +CAP2 0 +CAPN11 0 +CASC15 0 +CASP8AP2 2 +CCDC162P 0 +CCDC170 0 +CCDC28A 2 +CCR6 0 +CD109 1 +CD2AP 1 +CD83 8 +CDC40 4 +CDC5L 25 +CDKAL1 1 +CDKN1A 0 +CDYL 3 +CENPQ 5 +CENPW 0 +CEP57L1 1 +CFB 0 +CLDN20 0 +CLPSL1 0 +CLPSL2 0 +CLVS2 0 +CMTR1 2 +CNPY3 0 +COL19A1 0 +CSNK2B 0 +CUL9 0 +CYB5R4 0 +CYP21A1P 0 +CYP21A2 0 +DAAM2 2 +DCBLD1 0 +DDR1 0 +DDX43 6 +DEF6 0 +DNAH8 0 +DOPEY1 25 +DPCR1 0 +DSE 0 +DSP 0 +DUSP22 4 +E2F3 0 +ECT2L 0 +EDN1 0 +EFHC1 0 +EGFL8 0 +ELOVL2-AS1 0 +ENPP1 1 +ENPP3 0 +ENPP4 0 +ERMARD 1 +ESR1 0 +EYA4 0 +EZR-AS1 2 +FABP7 0 +FAM120B 2 +FAM135A 0 +FAM229B 0 +FAM26D 0 +FAM26E 0 +FAM26F 0 +FAM50B 0 +FAM83B 0 +FAM8A1 1 +FANCE 0 +FARS2 1 +FBXO9 0 +FGD2 0 +FGFR1OP 4 +FHL5 1 +FIG4 0 +FLJ34503 0 +FLJ38122 0 +FLJ46906 0 +FNDC1 0 +FOXC1 0 +FOXF2 0 +FOXO3 15 +FOXP4 2 +FOXQ1 1 +FUT9 0 +GCNT2 0 +GFRAL 0 +GGNBP1 0 +GINM1 0 +GJA1 0 +GJA10 0 +GLP1R 0 +GLTSCR1L 2 +GLYATL3 0 +GMDS-AS1 0 +GMNN 3 +GMPR 0 +GNMT 0 +GPR111 0 +GPR115 0 +GPR126 3 +GPR6 0 +GPX5 0 +GRIK2 0 +GRM1 0 +GTF2H4 0 +GTF2H5 1 +GTF3C6 1 +GUCA1A 0 +HCG11 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HCRTR2 0 +HDGFL1 0 +HEBP2 0 +HECA 0 +HEY2 0 +HFE 0 +HINT3 0 +HIST1H1E 1 +HIST1H2AC 0 +HIST1H2AE 0 +HIST1H2AG 0 +HIST1H2AH 0 +HIST1H2AI 0 +HIST1H2AL 0 +HIST1H2APS1 0 +HIST1H2BA 0 +HIST1H2BD 0 +HIST1H2BE 0 +HIST1H2BF 0 +HIST1H2BH 0 +HIST1H2BI 0 +HIST1H2BM 0 +HIST1H2BN 0 +HIST1H2BO 0 +HIST1H3A 0 +HIST1H3C 0 +HIST1H3E 0 +HIST1H3H 0 +HIST1H4A 0 +HIST1H4C 0 +HIST1H4E 0 +HIST1H4F 0 +HIST1H4I 0 +HIST1H4J 0 +HIVEP1 3 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HMGA1 8 +HMGN3-AS1 0 +HMGN4 2 +HSD17B8 0 +HSF2 1 +HSP90AB1 79 +HSPA1A 0 +HSPA1B 0 +HTR1E 0 +HULC 0 +ID4 0 +IGF2R 1 +IL17A 0 +IRAK1BP1 1 +IRF4 0 +ITPR3 2 +IYD 0 +JARID2 41 +KAAG1 0 +KCNQ5 0 +KCNQ5-IT1 0 +KCTD20 0 +KDM1B 7 +KHDC3L 36 +KIAA1244 0 +KIAA1586 0 +KIAA1919 1 +KIF25 0 +KIFC1 0 +KLC4 1 +KLHDC3 12 +KLHL32 0 +KPNA5 0 +KU-MEL-3 0 +L3MBTL3 0 +LACE1 0 +LAMA2 0 +LHFPL5 0 +LIN28B 1 +LINC00222 0 +LINC00240 0 +LINC00271 0 +LINC00326 0 +LINC00574 0 +LINC00602 0 +LINC01010 0 +LINC01011 1 +LINC01012 0 +LINC01013 0 +LINC01015 0 +LINC01276 0 +LINC01312 2 +LOC100129636 0 +LOC100131289 0 +LOC100132354 0 +LOC100132735 0 +LOC100287632 0 +LOC100289495 0 +LOC100294145 0 +LOC100506207 0 +LOC100506804 0 +LOC100507477 0 +LOC100507506 0 +LOC100507557 0 +LOC100996634 0 +LOC101926962 0 +LOC101927314 0 +LOC101927640 0 +LOC101927691 0 +LOC101927730 0 +LOC101927990 0 +LOC101928516 0 +LOC101928911 0 +LOC101929057 0 +LOC101929420 0 +LOC102724000 0 +LOC441155 0 +LOC554223 0 +LOC643623 1 +LOC729603 0 +LOC730101 0 +LRRC1 2 +LRRC16A 16 +LST1 0 +LTA 0 +LTV1 9 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +LY86 0 +MAD2L1BP 1 +MANEA 0 +MAP3K4 0 +MAPK13 0 +MAPK14 0 +MARCKS 0 +MAS1 0 +MCCD1 0 +MCHR2-AS1 0 +MDFI 0 +MEI4 0 +MEP1A 0 +MICA 0 +MICB 0 +MIR133B 0 +MIR206 0 +MIR2113 0 +MIR219A1 0 +MIR3143 0 +MIR3668 0 +MIR3692 0 +MIR4464 0 +MIR4465 0 +MIR4639 1 +MIR4640 0 +MIR4641 0 +MIR4642 0 +MIR4643 0 +MIR4644 0 +MIR5004 0 +MIR548A1 0 +MIR5685 0 +MIR5689 0 +MIR6780B 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR6835 0 +MIR6891 0 +MIR7111 2 +MIR7159 0 +MIR7161 0 +MIR877 0 +MLIP 0 +MLIP-IT1 0 +MLLT4 4 +MOG 0 +MRAP2 0 +MRPL18 6 +MRPS18B 0 +MRS2 2 +MSH5 0 +MSH5-SAPCD1 0 +MTHFD1L 0 +MTO1 0 +MTRNR2L9 0 +MUC21 0 +MUC22 0 +MYB 0 +MYCT1 0 +MYLIP 48 +MYO6 11 +NCOA7 1 +NCR2 0 +NFKBIL1 0 +NFYA 0 +NKAIN2 0 +NKAPL 0 +NOL7 0 +NQO2 0 +NR2E1 9 +NRSN1 0 +NT5DC1 1 +NT5E 0 +NUS1 1 +OGFRL1 0 +OPN5 0 +OPRM1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2B6 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +ORC3 0 +PACRG 0 +PACSIN1 0 +PAK1IP1 6 +PAQR8 0 +PCMT1 3 +PDE7B 0 +PEX3 1 +PEX7 0 +PFDN6 0 +PGBD1 0 +PHACTR1 1 +PHACTR2 0 +PHF1 0 +PHF3 9 +PI16 0 +PIM1 0 +PIP5K1P1 0 +PKIB 0 +PLEKHG1 8 +PLG 0 +PLN 0 +PM20D2 0 +PNLDC1 6 +PNPLA1 0 +PNRC1 0 +POLH 0 +POLR1C 0 +POU3F2 0 +PPARD 1 +PPP1R11 0 +PPP1R14C 4 +PPP1R3G 0 +PPP2R5D 0 +PPT2 0 +PPT2-EGFL8 0 +PRDM1 0 +PRDM13 0 +PRICKLE4 0 +PRIM2 4 +PRPF4B 0 +PRR3 0 +PRRC2A 0 +PRSS16 0 +PRSS35 0 +PSMB8-AS1 0 +PSMB9 0 +PSMG4 0 +PSORS1C1 0 +PTCRA 0 +PTK7 0 +PTP4A1 2 +QKI 12 +QRSL1 0 +RAB32 0 +RAB44 0 +RAET1E-AS1 0 +RBM24 0 +RFPL4B 0 +RFX6 0 +RIMS1 0 +RING1 0 +RIOK1 10 +RIPK1 0 +RIPPLY2 0 +RNF144B 1 +RNF146 0 +RNF182 0 +RNF217 0 +RNF5 0 +RNF5P1 0 +RNF8 6 +RNY4 0 +RPF2 0 +RPL10A 22 +RPL7L1 0 +RPP21 0 +RPS12 17 +RPS18 0 +RPS18P9 1 +RPS6KA2-AS1 0 +RREB1 1 +RRP36 0 +RSPH4A 0 +RSPH9 1 +RSPO3 0 +RUNX2 0 +RWDD1 2 +RWDD2A 0 +SAMD5 0 +SAPCD1 0 +SASH1 1 +SCAF8 4 +SCGN 0 +SCUBE3 0 +SENP6 1 +SH3BGRL2 1 +SIRT5 0 +SKIV2L 0 +SLC16A10 1 +SLC17A4 0 +SLC22A1 0 +SLC22A3 0 +SLC22A7 0 +SLC25A27 0 +SLC25A51P1 0 +SLC29A1 16 +SLC35A1 0 +SLC35D3 0 +SLC35F1 0 +SLC39A7 0 +SMAP1 1 +SMIM13 0 +SMIM8 0 +SMLR1 0 +SMOC2 0 +SMPD2 0 +SMPDL3A 0 +SNORA33 0 +SNORA38 0 +SNORD100 0 +SNORD101 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +SNRNP48 2 +SNRPC 0 +SNX9 1 +SOBP 0 +SOX4 0 +SPACA1 0 +SPATS1 0 +SRF 0 +SRSF3 0 +STK19 0 +STMND1 0 +STX11 0 +STXBP5 2 +SUMO4 0 +SYCP2L 6 +SYNE1-AS1 0 +SYNGAP1 0 +SYNJ2 5 +SYNJ2-IT1 0 +SYTL3 14 +TAAR6 0 +TAAR8 0 +TAAR9 0 +TAB2 6 +TAF8 1 +TBC1D22B 0 +TBP 1 +TBPL1 8 +TCF19 0 +TCF21 0 +TCP10L2 0 +TDRD6 10 +TDRG1 0 +TFAP2A-AS1 0 +TFAP2B 3 +TFAP2D 0 +TIAM2 4 +TINAG 0 +TJAP1 4 +TMEM14A 0 +TMEM14B 11 +TMEM14C 0 +TMEM151B 0 +TMEM170B 0 +TMEM181 0 +TMEM200A 6 +TMEM63B 0 +TNF 0 +TNFAIP3 0 +TOMM6 1 +TPBG 0 +TPD52L1 0 +TPI1P3 0 +TRAF3IP2-AS1 0 +TRAM2-AS1 0 +TREML4 0 +TREML5P 0 +TRIM15 0 +TRIM38 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TRMT11 1 +TSG1 0 +TSPO2 0 +TSTD3 0 +TTBK1 0 +TTK 11 +TTLL2 0 +TUBB 0 +TULP4 0 +UBR2 0 +UFL1 6 +UHRF1BP1 5 +ULBP1 0 +ULBP2 0 +UNC93A 1 +UST 1 +UTRN 1 +VARS2 0 +VEGFA 0 +VGLL2 0 +VIP 0 +VN1R10P 0 +VTA1 1 +WISP3 0 +WRNIP1 1 +WTAP 3 +ZBTB9 0 +ZC2HC1B 3 +ZDHHC14 0 +ZFAND3 3 +ZKSCAN3 0 +ZKSCAN8 0 +ZNF165 0 +ZNF192P1 0 +ZNF292 0 +ZNF391 0 +ZNF451 1 +ZNF76 1 +ZNRD1 0 +ZSCAN12P1 0 +ZSCAN16 0 +ZSCAN26 0 +ZSCAN9 1 +C6orf48 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-H 0 +HLA-J 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +MCCD1 0 +MICB 0 +MIR6833 0 +MOG 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +OR10C1 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SAPCD1 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GPX5 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6834 0 +MIR6891 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +DDR1 0 +EGFL8 0 +GTF2H4 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HSD17B8 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 0 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +B3GALT4 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +C6orf48 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +DDR1 0 +DPCR1 0 +EGFL8 0 +GTF2H4 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +HSD17B8 0 +HSPA1A 0 +HSPA1B 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR219A1 0 +MIR4640 0 +MIR6832 0 +MIR6833 0 +MIR6834 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC21 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR2H1 0 +OR2H2 0 +OR2J2 0 +OR2J3 0 +PFDN6 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +PSORS1C1 0 +RING1 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SKIV2L 0 +SLC39A7 0 +SNORA38 0 +SNORD32B 0 +SNORD48 0 +SNORD52 0 +STK19 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +VARS2 0 +ZNRD1 2 +ABCF1 0 +AIF1 0 +APOM 0 +ATAT1 0 +BRD2 0 +C2 0 +C4A 0 +C4B 0 +C4B_2 0 +C6orf100 0 +C6orf136 0 +C6orf25 0 +CFB 0 +CSNK2B 0 +CYP21A1P 0 +CYP21A2 0 +EGFL8 0 +HCG14 0 +HCG22 0 +HCG23 0 +HCG25 0 +HCG26 0 +HCG27 0 +HCG9 0 +HCP5 0 +HLA-A 0 +HLA-DPB1 0 +HLA-DPB2 0 +HLA-DQA2 0 +HLA-DRA 0 +HLA-E 0 +HLA-F 0 +HLA-G 0 +HLA-H 0 +HLA-J 0 +HLA-L 0 +KIFC1 0 +LINC01015 0 +LOC100129636 0 +LOC100294145 0 +LOC554223 0 +LST1 0 +LTA 0 +LY6G5B 0 +LY6G6D 0 +LY6G6F 0 +MCCD1 0 +MICA 0 +MICB 0 +MIR5004 0 +MIR6832 0 +MIR6833 0 +MIR877 0 +MOG 0 +MRPS18B 0 +MSH5 0 +MSH5-SAPCD1 0 +MUC22 0 +NFKBIL1 0 +OR10C1 0 +OR12D2 0 +OR14J1 0 +OR2H1 0 +OR2J2 0 +OR2J3 0 +PHF1 0 +PPP1R11 0 +PPT2 0 +PPT2-EGFL8 0 +PRR3 0 +PRRC2A 0 +PSMB8-AS1 0 +PSMB9 0 +RNF5 0 +RNF5P1 0 +RPP21 0 +RPS18 0 +SAPCD1 0 +SKIV2L 0 +SNORA38 0 +STK19 0 +SYNGAP1 0 +TCF19 0 +TNF 0 +TRIM15 0 +TRIM39 0 +TRIM39-RPP21 0 +TRIM40 0 +TUBB 0 +ZBTB9 0 +ZNRD1 0 +ABCA13 0 +ABCB5 0 +ABCB8 0 +ABHD11-AS1 0 +ACN9 1 +ACTR3B 1 +ADAM22 0 +ADCK2 0 +ADCY1 0 +ADCYAP1R1 0 +AEBP1 0 +AGAP3 0 +AGBL3 0 +AGFG2 3 +AGK 5 +AHCYL2 0 +AHR 0 +AIMP2 2 +AKAP9 1 +AKR1B10 0 +AKR1B15 0 +AKR1D1 0 +AMZ1 0 +ANKIB1 1 +ANKRD61 0 +ANKRD7 1 +ANLN 7 +AOC1 0 +AP1S1 1 +AP4M1 0 +AP5Z1 0 +AQP1 0 +ARF5 2 +ARHGEF5 0 +ARL4A 2 +ARMC10 0 +ARPC1A 0 +ARPC1B 1 +ASB15 0 +ASB4 0 +ASIC3 0 +ASL 0 +ATP6V0E2 0 +ATP6V1F 1 +AUTS2 3 +AVL9 0 +AZGP1P1 0 +BBS9 3 +BCAP29 2 +BHLHA15 0 +BLVRA 0 +BMPER 0 +BPGM 57 +BRI3 0 +BUD31 0 +BZW2 1 +C1GALT1 4 +C7orf26 0 +C7orf33 0 +C7orf34 0 +C7orf55 0 +C7orf55-LUC7L2 0 +C7orf57 0 +C7orf65 0 +C7orf69 0 +C7orf71 0 +C7orf72 0 +C7orf73 0 +CALD1 0 +CALU 10 +CAPZA2 0 +CASD1 0 +CASP2 1 +CAV1 0 +CAV2 0 +CBLL1 2 +CBX3 0 +CCDC126 0 +CCDC129 0 +CCDC132 1 +CCDC136 0 +CCDC146 10 +CCM2 0 +CCT6A 2 +CCT6P1 0 +CCT6P3 0 +CCZ1 4 +CD36 11 +CDC14C 0 +CDHR3 0 +CDK13 1 +CDK14 0 +CFAP69 0 +CFTR 0 +CHN2 1 +CHPF2 0 +CHRM2 0 +CHST12 1 +CLCN1 0 +CLDN12 21 +CLDN4 0 +CLEC2L 0 +CLIP2 0 +CNPY4 0 +CNTNAP2 2 +COL1A2 0 +COL26A1 0 +COPS6 0 +CPA1 0 +CPA2 0 +CPA4 0 +CPA5 0 +CPED1 3 +CPSF4 0 +CRCP 1 +CREB5 6 +CROT 0 +CTAGE15 0 +CTAGE4 0 +CUL1 6 +CUX1 13 +CYP2W1 0 +CYP3A43 0 +CYP51A1-AS1 0 +DBF4 2 +DBNL 0 +DDC-AS1 0 +DKFZP586I1420 0 +DKFZp434L192 0 +DLD 1 +DLX6 0 +DMTF1 0 +DNAH11 8 +DNAJB6 1 +DNAJB9 1 +DOCK4-AS1 0 +DPP6 0 +DPY19L2P3 0 +DPY19L2P4 0 +DTX2 7 +DTX2P1-UPK3BP1-PMS2P11 1 +DUS4L 4 +DYNC1I1 0 +EEPD1 1 +EGFR 0 +EIF3B 0 +EIF4H 5 +ELFN1 0 +ELMO1-AS1 0 +ELN 0 +EN2 0 +EPDR1 0 +EPHA1-AS1 0 +EPHB6 0 +EPO 0 +EVX1 0 +EXOC4 1 +FABP5P3 0 +FAM115C 0 +FAM115D 0 +FAM185A 0 +FAM188B 0 +FAM20C 0 +FAM221A 0 +FAM71F1 0 +FAM71F2 0 +FBXO24 0 +FEZF1-AS1 0 +FKBP6 1 +FKBP9 0 +FLJ40288 0 +FLJ44511 0 +FLNC 0 +FOXK1 1 +FOXP2 0 +FSCN1 0 +FSCN3 0 +FZD1 0 +FZD9 0 +GALNT11 0 +GALNTL5 0 +GARS 22 +GATAD1 0 +GBAS 0 +GET4 0 +GHRHR 0 +GIMAP1 0 +GIMAP1-GIMAP5 0 +GIMAP2 0 +GIMAP4 0 +GIMAP5 0 +GIMAP7 0 +GIMAP8 0 +GLCCI1 13 +GNAI1 8 +GNB2 2 +GNG11 0 +GNGT1 1 +GPER1 0 +GPNMB 0 +GPR141 0 +GPR146 0 +GPR22 0 +GRM3 0 +GS1-259H13.2 0 +GSTK1 3 +GTF2I 0 +GTF2IP1 0 +GTF2IRD1 0 +GTF2IRD2 0 +GTF2IRD2B 0 +GTPBP10 7 +HBP1 1 +HDAC9 12 +HEATR2 4 +HECW1 0 +HILPDA 1 +HOTAIRM1 0 +HOTTIP 0 +HOXA-AS2 0 +HOXA-AS3 1 +HOXA10-AS 0 +HOXA11-AS 0 +HSPB1 4 +HTR5A 0 +HYAL4 0 +HYALP1 0 +IFRD1 0 +IGFBP1 0 +IKZF1 0 +IL6 0 +ING3 18 +INHBA-AS1 0 +INMT 0 +INMT-FAM188B 0 +INSIG1 1 +INTS4L2 0 +IQCE 0 +IRF5 0 +ISPD-AS1 0 +ITGB8 0 +JAZF1-AS1 0 +JHDM1D-AS1 0 +KCND2 0 +KCTD7 1 +KLHDC10 2 +KLHL7 9 +KMT2E 4 +KRBA1 0 +LAMTOR4 0 +LANCL2 1 +LAT2 0 +LEP 0 +LFNG 0 +LHFPL3 1 +LIMK1 9 +LINC00244 0 +LINC00265 0 +LINC00525 0 +LINC00689 0 +LINC00957 0 +LINC00996 0 +LINC00997 0 +LINC01000 0 +LINC01003 0 +LINC01176 0 +LINC01372 0 +LINC01393 0 +LINC01445 0 +LINC01447 0 +LINC01449 0 +LMOD2 0 +LMTK2 2 +LOC100093631 0 +LOC100101148 0 +LOC100128885 0 +LOC100130705 0 +LOC100130880 0 +LOC100133091 0 +LOC100287704 0 +LOC100287834 0 +LOC100289561 0 +LOC100505938 0 +LOC100506178 0 +LOC100506497 0 +LOC100506585 0 +LOC100506682 0 +LOC100506725 0 +LOC100506860 0 +LOC100507642 0 +LOC100630923 0 +LOC100996249 0 +LOC100996437 0 +LOC100996654 0 +LOC101409256 0 +LOC101926963 0 +LOC101927021 0 +LOC101927181 0 +LOC101927243 0 +LOC101927354 0 +LOC101927356 0 +LOC101927378 0 +LOC101927446 0 +LOC101927497 0 +LOC101927550 0 +LOC101927746 0 +LOC101927769 0 +LOC101927870 0 +LOC101927914 0 +LOC101928012 0 +LOC101928168 0 +LOC101928283 0 +LOC101928333 0 +LOC101928618 0 +LOC101928782 1 +LOC102659288 0 +LOC102723427 0 +LOC102723885 0 +LOC155060 0 +LOC389602 0 +LOC401324 0 +LOC407835 0 +LOC441204 0 +LOC442497 0 +LOC541473 0 +LOC641746 0 +LOC728743 0 +LOC93432 0 +LRGUK 0 +LRRC17 11 +LRRC61 0 +LRRC72 0 +LRRN3 0 +LRWD1 1 +LSM8 3 +LSMEM1 0 +LUC7L2 1 +MACC1-AS1 0 +MAFK 0 +MAGI2-AS2 0 +MAGI2-AS3 9 +MALSU1 0 +MBLAC1 0 +MDFIC 0 +MDH2 4 +MEOX2-AS1 0 +MEPCE 15 +MEST 8 +MET 0 +METTL2B 1 +MGAM 0 +MGC16142 0 +MIOS 1 +MIR129-1 0 +MIR3147 0 +MIR335 0 +MIR3609 0 +MIR3666 0 +MIR3914-2 0 +MIR3943 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4284 0 +MIR4285 0 +MIR4467 0 +MIR4468 0 +MIR4648 0 +MIR4649 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4651 0 +MIR4652 0 +MIR4653 0 +MIR490 0 +MIR5090 0 +MIR548AQ 0 +MIR548F3 0 +MIR548M 0 +MIR548T 0 +MIR550A1 0 +MIR550A2 0 +MIR5707 0 +MIR590 0 +MIR593 0 +MIR6132 0 +MIR6133 0 +MIR671 0 +MIR6837 0 +MIR6839 0 +MIR6840 0 +MIR6875 0 +MIR6892 0 +MKLN1 4 +MNX1-AS1 0 +MOSPD3 0 +MPP6 2 +MRPL32 3 +MRPS17 0 +MTRNR2L6 0 +MTURN 0 +MUC12 0 +MUC17 0 +MUC3A 6 +MYH16 0 +NCF1 0 +NCF1B 0 +NDUFB2 0 +NFE2L3 1 +NME8 0 +NOM1 0 +NOS3 0 +NPSR1 0 +NPTX2 0 +NPY 0 +NRF1 0 +NSUN5P1 0 +NUB1 2 +NUDT1 0 +NUP205 4 +NUPL2 0 +NXPH1 1 +NYAP1 0 +OCM 0 +OGDH 2 +OR2A1 0 +OR2A12 0 +OR2A14 0 +OR2A2 0 +OR2A20P 0 +OR2A25 0 +OR2A42 0 +OR2A5 0 +OR2A9P 0 +OR2F1 0 +OR2F2 0 +OR6B1 0 +OR6V1 0 +OR9A4 0 +ORAI2 0 +PAXIP1-AS1 0 +PAXIP1OS 4 +PCOLCE 0 +PEG10 0 +PER4 0 +PHF14 4 +PHTF2 6 +PIK3CG 0 +PILRA 0 +PILRB 0 +PIP 0 +PLEKHA8 0 +PMPCB 0 +PMS2CL 0 +PMS2L2 0 +PMS2P5 0 +PMS2P9 0 +POM121 0 +POM121L12 0 +POP7 0 +POR 1 +POT1-AS1 0 +POU6F2 0 +PPIA 9 +PPP1R17 0 +PPP1R9A 1 +PRKAG2-AS1 0 +PRKAR2B 1 +PRKRIP1 1 +PRR15 25 +PRSS1 0 +PRSS2 0 +PRSS3P2 0 +PSMC2 1 +PSMG3-AS1 0 +PTPN12 2 +PTPRZ1 0 +PVRIG 0 +PVRIG2P 0 +RAB19 0 +RABGEF1 5 +RAC1 15 +RALA 11 +RAMP3 0 +RBAK 0 +RBAK-RBAKDN 0 +RBAKDN 0 +RBM33 2 +RBM48 4 +REPIN1 1 +RHBDD2 0 +RINT1 2 +RNF216P1 2 +RNF32 1 +RNU6-33P 0 +RNU6-34P 0 +RNU6-57P 0 +RPA3OS 2 +RPL13AP17 0 +RPL23P8 0 +RPS2P32 0 +RSBN1L 0 +RSPH10B 0 +RSPH10B2 0 +RUNDC3B 2 +SBDSP1 0 +SCIN 1 +SDK1 0 +SEPT7 7 +SERPINE1 0 +SH2B2 0 +SLC12A9 0 +SLC26A4 0 +SLC29A4 0 +SLC4A2 0 +SMKR1 4 +SMO 0 +SND1 2 +SND1-IT1 0 +SNORA14A 0 +SNORA15 0 +SNORA22 0 +SNORD93 0 +SNX10 0 +SP4 1 +SPAM1 0 +SPDYE1 0 +SPDYE2 0 +SPDYE2B 0 +SPDYE3 0 +SPDYE5 0 +SPDYE8P 0 +SRRM3 0 +SRRT 0 +SSBP1 0 +SSMEM1 0 +SSPO 0 +ST7 0 +ST7-OT3 0 +ST7-OT4 0 +STAG3 10 +STAG3L1 0 +STAG3L4 0 +STAG3L5P 0 +STAG3L5P-PVRIG2P-PILRB 0 +STARD3NL 1 +STEAP1 0 +STEAP2 0 +STK17A 0 +STK31 8 +STRA8 0 +STRIP2 0 +SUGCT 2 +SUMF2 0 +SUN1 13 +TAC1 0 +TAS2R3 0 +TAS2R39 0 +TAS2R4 0 +TAS2R40 0 +TAS2R41 0 +TAS2R5 0 +TAS2R60 0 +TAX1BP1 63 +TBXAS1 0 +TES 0 +TFAMP1 0 +TMEM106B 0 +TMEM139 0 +TMEM140 0 +TMEM176A 0 +TMEM178B 0 +TMEM213 0 +TMEM248 6 +TPI1P2 0 +TPST1 0 +TRG-AS1 0 +TRIM24 1 +TRIM56 0 +TRIM73 0 +TRIM74 0 +TRIP6 0 +TRRAP 0 +TSL 0 +TSPAN13 0 +TSPAN33 0 +TTC26 0 +TTYH3 0 +TYW1 3 +UBE2D4 0 +UBE3C 1 +UBN2 3 +UNCX 0 +UPK3B 0 +UPP1 0 +USP42 0 +VKORC1L1 2 +VPS37D 0 +VSTM2A 0 +VSTM2A-OT1 0 +VWC2 0 +WBSCR17 0 +WBSCR22 0 +WBSCR28 0 +WDR60 2 +WDR86-AS1 0 +WEE2 515 +WI2-2373I1.2 0 +WIPF3 0 +WIPI2 23 +WNT16 0 +YAE1D1 2 +YKT6 1 +YWHAEP1 0 +ZAN 0 +ZBED6CL 0 +ZDHHC4 2 +ZKSCAN1 0 +ZKSCAN5 0 +ZMIZ2 0 +ZNF107 0 +ZNF138 2 +ZNF212 1 +ZNF273 0 +ZNF277 1 +ZNF282 2 +ZNF316 0 +ZNF398 0 +ZNF655 0 +ZNF679 0 +ZNF713 0 +ZNF716 0 +ZNF727P 1 +ZNF735P 0 +ZNF736 1 +ZNF775 0 +ZNF783 0 +ZNF789 0 +ZNF804B 1 +ZNF815P 0 +ZNF853 0 +ZNF862 0 +ZNF92 3 +ZNHIT1 1 +ZNRF2 2 +ZNRF2P1 0 +ZP3 29 +ZSCAN21 1 +ZSCAN25 1 +ZYX 2 +AARD 1 +ADAM18 0 +ADAM28 1 +ADAM32 0 +ADAM5 0 +ADAM7 0 +ADAM9 1 +ADAMDEC1 0 +ADCK5 0 +ADHFE1 0 +AGPAT5 1 +AGPAT6 1 +AP3M2 0 +ARHGEF10 0 +ASH2L 0 +ATP6V0D2 0 +ATP6V1B2 10 +ATP6V1C1 2 +BAALC 0 +BAG4 0 +BAI1 0 +BHLHE22 2 +BLK 0 +BMP1 0 +BNIP3L 10 +BREA2 0 +C8orf12 10 +C8orf22 0 +C8orf31 0 +C8orf33 1 +C8orf34 0 +C8orf37-AS1 0 +C8orf4 0 +C8orf44 0 +C8orf44-SGK3 0 +C8orf46 0 +C8orf48 0 +C8orf49 0 +C8orf58 0 +C8orf74 0 +CA13 0 +CA2 0 +CA3 0 +CASC21 0 +CCAR2 1 +CCAT2 0 +CDC42P3 0 +CDCA2 12 +CHCHD7 6 +CHD7 25 +CHMP4C 0 +CHMP7 1 +CHRAC1 0 +CHRNB3 0 +CLDN23 0 +CLN8 1 +CLVS1 0 +CNBD1 1 +COL14A1 1 +COLEC10 0 +CPNE3 0 +CPQ 0 +CRISPLD1 1 +CSPP1 4 +CTHRC1 0 +CYC1 0 +DCAF13 4 +DCSTAMP 0 +DCTN6 0 +DDHD2 0 +DECR1 0 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1B 0 +DEFB135 0 +DEFB4A 0 +DENND3 0 +DEPTOR 0 +DLGAP2 0 +DMTN 1 +DNAJC5B 0 +DOCK5 0 +DPY19L4 0 +DPYSL2 0 +E2F5 0 +EBAG9 5 +EFR3A 1 +EIF4EBP1 0 +ELP3 6 +EMC2 1 +ENY2 7 +EPHX2 0 +ERI1 7 +ERICH1-AS1 0 +ERICH5 0 +ERLIN2 0 +ESCO2 29 +ESRP1 57 +EXOSC4 0 +EXTL3 5 +FABP5 0 +FAM110B 0 +FAM160B2 0 +FAM183CP 0 +FAM66A 0 +FAM66D 0 +FAM66E 0 +FAM83A 0 +FAM83H-AS1 1 +FAM86B3P 0 +FAM90A10P 0 +FAM91A1 0 +FAM92A1 0 +FBXO25 6 +FDFT1 30 +FER1L6 0 +FGF17 0 +FLJ39080 0 +FLJ42969 0 +FNTA 5 +FZD3 8 +FZD6 1 +GATA4 1 +GDAP1 14 +GINS4 1 +GLI4 0 +GML 0 +GOLGA7 8 +GPAA1 0 +GPIHBP1 0 +GPR124 0 +GPT 0 +GRHL2 2 +GRINA 0 +GS1-24F4.2 0 +GSDMD 0 +HAS2-AS1 1 +HGH1 0 +HGSNAT 0 +HMBOX1 1 +HNF4G 0 +HOOK3 3 +HSF1 0 +HTRA4 0 +IDO1 0 +IDO2 0 +IKBKB 2 +INTS10 1 +INTS8 16 +KBTBD11 2 +KCNB2 0 +KCNS2 0 +KCNU1 0 +KHDRBS3 8 +KIAA1456 0 +KIAA1875 0 +KIFC2 0 +LAPTM4B 22 +LEPROTL1 4 +LETM2 1 +LINC00051 0 +LINC00208 0 +LINC00293 0 +LINC00534 0 +LINC00588 0 +LINC00681 0 +LINC00964 0 +LINC00967 0 +LINC01111 0 +LINC01288 0 +LINC01289 0 +LINC01300 0 +LINC01419 0 +LINCR-0001 0 +LOC100130964 0 +LOC100132891 1 +LOC100287098 0 +LOC100287846 0 +LOC100506990 0 +LOC100507156 0 +LOC100507651 0 +LOC101926892 0 +LOC101926908 0 +LOC101927067 0 +LOC101927221 0 +LOC101927543 0 +LOC101927657 0 +LOC101927822 0 +LOC101927845 4 +LOC101929066 0 +LOC101929128 0 +LOC101929172 0 +LOC101929217 0 +LOC101929229 0 +LOC101929237 0 +LOC101929268 0 +LOC157273 0 +LOC254896 0 +LOC286059 0 +LOC286094 0 +LOC286114 0 +LOC286177 0 +LOC286190 0 +LOC389641 0 +LPL 0 +LRRC14 0 +LRRC69 0 +LRRCC1 0 +LY6E 0 +LY6K 0 +LY96 0 +LYN 0 +LZTS1-AS1 0 +MAF1 1 +MAK16 2 +MAL2 0 +MAPK15 0 +MATN2 0 +MCM4 2 +MCMDC2 0 +MCPH1 2 +MED30 1 +MFSD3 0 +MICU3 0 +MIR1204 0 +MIR1205 0 +MIR1206 0 +MIR1207 0 +MIR1208 0 +MIR124-2 0 +MIR124-2HG 0 +MIR2052 0 +MIR2053 0 +MIR3150A 0 +MIR3151 0 +MIR3622A 0 +MIR3926-2 0 +MIR4470 0 +MIR4471 0 +MIR4472-1 0 +MIR4659A 0 +MIR4660 0 +MIR4661 0 +MIR486-2 0 +MIR5680 0 +MIR5681A 0 +MIR5708 0 +MIR596 0 +MIR597 0 +MIR6842 0 +MIR6847 0 +MIR6876 0 +MIR7160 0 +MIR8084 0 +MROH1 0 +MRPL15 0 +MSRA 7 +MTBP 0 +MTDH 7 +MTFR1 3 +MTMR9 1 +MYC 0 +MYOM2 0 +NACAP1 0 +NAT1 0 +NAT2 0 +NDUFAF6 0 +NDUFB9 0 +NECAB1 0 +NEFM 12 +NEIL2 1 +NKAIN3 0 +NOV 0 +NPBWR1 0 +NPM2 13 +NRG1 0 +NRG1-IT1 0 +NRG1-IT3 0 +NSMCE2 1 +ODF1 0 +OSGIN2 0 +OSR2 1 +OTUD6B 0 +OXR1 2 +PCAT1 1 +PCM1 11 +PDGFRL 3 +PDLIM2 0 +PDP1 0 +PHF20L1 1 +PI15 0 +PIWIL2 0 +PKHD1L1 0 +PKIA 0 +PLEKHA2 0 +PLEKHF2 15 +PNOC 0 +POLB 6 +POLR2K 1 +POLR3D 2 +POMK 0 +POP1 0 +POTEA 0 +POU5F1B 0 +PPP1R16A 0 +PPP2R2A 5 +PPP3CC 0 +PREX2 0 +PRNCR1 1 +PROSC 6 +PRR23D1 0 +PRR23D2 0 +PRSS55 0 +PSCA 0 +PTDSS1 10 +PTK2B 1 +PTP4A3 1 +PVT1 0 +R3HCC1 0 +RAB2A 3 +RAD21-AS1 0 +RALYL 0 +RBM12B-AS1 0 +RBPMS 0 +RDH10 3 +REXO1L2P 0 +RGS20 0 +RHOBTB2 0 +RHPN1 0 +RIMS2 0 +RIPK2 1 +RNF139 0 +RNU6-83P 0 +RP1 0 +RRS1 2 +SAMD12-AS1 0 +SCARA3 0 +SCX 0 +SDC2 0 +SDCBP 2 +SFTPC 0 +SGK3 0 +SH2D4A 67 +SLC25A37 0 +SLC26A7 0 +SLC30A8 2 +SLC35G5 0 +SLC39A14 4 +SLC52A2 0 +SLC7A2 0 +SMIM18 0 +SMIM19 0 +SNTG1 0 +SORBS3 0 +SOX17 0 +SPAG1 0 +SPAG11A 0 +SPAG11B 0 +SPATC1 0 +SPIDR 0 +SQLE 1 +STAU2-AS1 0 +STMN2 0 +SULF1 0 +TACC1 20 +TBC1D31 1 +TDH 0 +TERF1 1 +TG 0 +TGS1 5 +THEM6 1 +TIGD5 0 +TMED10P1 0 +TMEM67 0 +TMEM70 0 +TNFRSF10C 0 +TNKS 0 +TRHR 0 +TRIB1 1 +TRIM55 0 +TRMT12 1 +TUSC3 0 +UBE2V2 0 +UBXN2B 1 +UBXN8 1 +UG0898H09 0 +UNC5D 0 +USP17L1P 0 +USP17L4 0 +UTP23 0 +VDAC3 2 +VPS13B 6 +VPS37A 6 +WDYHV1 0 +WISP1 0 +WRN 2 +WWP1 0 +XKR4 0 +XKR9 0 +XPO7 4 +YTHDF3 3 +ZBTB10 3 +ZC2HC1A 0 +ZDHHC2 1 +ZFAT-AS1 0 +ZFHX4 0 +ZFP41 0 +ZFPM2 1 +ZHX2 1 +ZNF252P-AS1 0 +ZNF517 0 +ZNF572 0 +ZNF596 1 +ZNF623 3 +ZNF696 0 +ZNF7 0 +ZNF703 0 +ZNF705B 0 +ZNF705D 0 +ZNF707 0 +ABL1 6 +ACER2 0 +ACO1 1 +ACTL7A 0 +ADAMTS13 0 +ADAMTSL1 2 +ADAMTSL2 0 +AIF1L 0 +AKAP2 15 +ALDH1B1 0 +ANKRD18B 0 +ANKRD19P 0 +ANKRD20A1 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKRD20A4 0 +ANP32B 3 +ANXA1 0 +ANXA2P2 0 +AQP7P3 0 +ARPC5L 1 +ARRDC1 0 +ASS1 0 +ASTN2-AS1 0 +ATP6V1G1 11 +ATP8B5P 0 +B4GALT1-AS1 0 +BARHL1 0 +BSPRY 0 +C8G 0 +C9orf106 0 +C9orf117 0 +C9orf131 0 +C9orf135 0 +C9orf139 0 +C9orf142 0 +C9orf16 1 +C9orf163 0 +C9orf170 0 +C9orf171 0 +C9orf172 0 +C9orf173 0 +C9orf3 0 +C9orf41-AS1 0 +C9orf43 0 +C9orf47 0 +C9orf53 0 +C9orf62 0 +C9orf85 2 +C9orf89 0 +C9orf9 0 +C9orf91 6 +CA9 0 +CACFD1 0 +CACNA1B 0 +CBWD3 0 +CBWD5 0 +CCDC107 0 +CCDC171 1 +CCDC180 0 +CCDC183 0 +CCIN 0 +CD274 0 +CDC37L1 1 +CDK9 0 +CDKN2B-AS1 0 +CEL 0 +CELP 0 +CENPP 1 +CEP78 7 +CERCAM 0 +CHMP5 0 +CKS2 0 +CLTA 2 +CNTFR-AS1 0 +CNTLN 2 +CNTNAP3B 0 +CNTNAP3P2 0 +CNTRL 7 +COL15A1 1 +COL27A1 0 +COL5A1 1 +COQ4 1 +CRB2 0 +CREB3 0 +CTSL 0 +CTSL3P 0 +CTSLP8 0 +CYLC2 0 +CYSRT1 0 +DAB2IP 3 +DAPK1 0 +DBH 0 +DCAF10 0 +DDX11L5 0 +DEC1 0 +DENND4C 3 +DMRT1 0 +DMRT2 0 +DMRT3 0 +DMRTA1 1 +DNAI1 0 +DNAJA1 51 +DNAJB5 0 +DNAJC25 0 +DNAJC25-GNG10 0 +DNM1 0 +DOCK8 0 +DOLPP1 0 +EBLN3 3 +EGFL7 0 +EHMT1 2 +EHMT1-IT1 0 +ENDOG 0 +ERCC6L2 2 +EXOSC2 1 +FAM120A 0 +FAM122A 14 +FAM157B 0 +FAM189A2 10 +FAM201A 0 +FAM206A 0 +FAM225A 0 +FAM27C 0 +FAM27E2 0 +FAM69B 0 +FAM73B 0 +FAM74A1 0 +FAM74A3 0 +FAM74A6 0 +FAM95B1 0 +FCN2 0 +FGD3 0 +FKTN 0 +FOCAD 0 +FOXB2 0 +FOXD4L3 0 +FOXD4L4 0 +FOXE1 0 +FPGS 0 +FRMPD1 0 +FSD1L 1 +FUBP3 2 +FXN 0 +GADD45G 0 +GALNT12 0 +GALT 0 +GAPVD1 6 +GARNL3 0 +GCNT1 2 +GDA 1 +GFI1B 0 +GLE1 0 +GLIPR2 0 +GLIS3-AS1 0 +GNA14-AS1 0 +GNG10 0 +GPR107 1 +GPR21 0 +GPSM1 0 +GRHPR 2 +GRIN1 0 +GSN 1 +GTF3C4 0 +GTF3C5 1 +GXYLT1P3 0 +HABP4 1 +HIATL1 1 +HMCN2 0 +HRCT1 0 +HSDL2 0 +IDNK 0 +IFNA1 0 +IFNA8 0 +IFNK 0 +IFT74 1 +IL11RA 0 +IL33 0 +INSL4 0 +INVS 0 +JAK2 0 +KANK1 1 +KCNT1 0 +KCNV2 0 +KDM4C 0 +KGFLP1 0 +KIAA1045 0 +KIAA1958 1 +LAMC3 0 +LCN1 0 +LCN12 0 +LCN2 0 +LCN9 0 +LCNL1 0 +LHX2 3 +LINC00094 0 +LINC00475 0 +LINC00583 0 +LINC00587 0 +LINC00950 0 +LINC00961 0 +LINC00963 0 +LINC01189 0 +LINC01230 0 +LINC01231 0 +LINC01239 0 +LINC01241 0 +LINC01410 0 +LINC01502 0 +LINC01503 0 +LINC01504 0 +LINC01505 0 +LINC01507 0 +LMX1B 0 +LOC100128076 0 +LOC100128361 0 +LOC100128593 0 +LOC100129034 0 +LOC100132077 0 +LOC100132352 0 +LOC100132781 0 +LOC100133920 0 +LOC100288842 0 +LOC100499484 2 +LOC100499484-C9ORF174 0 +LOC100506100 0 +LOC100506422 0 +LOC100506834 0 +LOC100507346 0 +LOC101927358 0 +LOC101927502 0 +LOC101927575 0 +LOC101927623 0 +LOC101927827 0 +LOC101927847 0 +LOC101928381 0 +LOC101928523 0 +LOC101928797 0 +LOC101929331 0 +LOC102723709 0 +LOC158435 0 +LOC286367 0 +LOC389705 0 +LOC389765 1 +LOC401557 0 +LOC441454 0 +LOC441455 1 +LOC642943 0 +LPPR1 0 +LRRC8A 4 +LRSAM1 0 +LURAP1L 0 +MAMDC2 0 +MAMDC4 0 +MAN1B1 0 +MELK 6 +MIR101-2 0 +MIR126 0 +MIR181A2 0 +MIR181A2HG 0 +MIR181B2 0 +MIR219B 0 +MIR2278 0 +MIR23B 0 +MIR24-1 0 +MIR27B 0 +MIR2861 0 +MIR3152 0 +MIR3153 0 +MIR3910-1 0 +MIR3960 0 +MIR4291 0 +MIR4292 0 +MIR4479 0 +MIR455 0 +MIR4665 0 +MIR4667 0 +MIR4668 0 +MIR4669 0 +MIR4674HG 0 +MIR491 0 +MIR602 0 +MIR6081 0 +MIR6853 0 +MIR6855 0 +MIR6856 0 +MIR6877 0 +MIR8081 0 +MIRLET7A1 0 +MIRLET7D 0 +MIRLET7F1 0 +MLANA 0 +MORN5 0 +MRPL41 0 +MRPS2 0 +MRRF 1 +MSANTD3 0 +MSANTD3-TMEFF1 0 +MTAP 1 +MURC 0 +MUSK 0 +MVB12B 0 +NAA35 16 +NANS 0 +NCBP1 0 +NCS1 0 +NDOR1 0 +NEK6 0 +NELFB 0 +NFX1 0 +NIPSNAP3A 0 +NIPSNAP3B 0 +NOXA1 0 +NPR2 0 +NR4A3 0 +NTMT1 0 +NTNG2 0 +NTRK2 1 +NUDT2 0 +NUP188 2 +NUP214 3 +NUTM2G 0 +NXNL2 0 +OBP2A 0 +ODF2 2 +OLFM1 0 +OLFML2A 0 +OR13C8 0 +OR13D1 0 +OR13F1 0 +OR1J2 0 +OR1J4 0 +OR1K1 0 +OR1L1 0 +OR1L3 0 +OR1L4 0 +OR1L6 0 +OR1N2 0 +OR1Q1 0 +OR5C1 0 +ORM1 0 +ORM2 0 +OSTF1 1 +PAEP 0 +PALM2 1 +PALM2-AKAP2 0 +PAPPA 0 +PBX3 1 +PCA3 0 +PCAT7 0 +PCSK5 2 +PDCD1LG2 0 +PGM5 1 +PGM5P3-AS1 0 +PHF2 0 +PHPT1 0 +PHYHD1 0 +PIP5K1B 0 +PKN3 0 +PMPCA 0 +POLR1E 6 +POMT1 0 +PPAPDC2 1 +PPAPDC3 1 +PPP1R26 0 +PPP2R4 1 +PRDM12 0 +PRPF4 2 +PRRC2B 7 +PRRX2 0 +PRSS3 0 +PSAT1 0 +PSMD5-AS1 0 +PTENP1-AS 0 +PTGDS 0 +PTGER4P2-CDK2AP2P2 0 +PTGES2-AS1 0 +PTGS1 0 +PTPDC1 0 +PTPRD-AS1 0 +PTPRD-AS2 0 +RABEPK 0 +RABGAP1 14 +RABL6 2 +RAD23B 0 +RALGPS1 0 +RCL1 0 +RECK 0 +RFX3-AS1 0 +RGP1 1 +RGS3 0 +RIC1 0 +RMI1 2 +RNF20 18 +RNF224 0 +RORB 0 +RPL7A 48 +RPSAP9 0 +RRAGA 1 +RUSC2 0 +RXRA 0 +S1PR3 0 +SEC61B 6 +SECISBP2 5 +SET 29 +SH3GL2 0 +SLC1A1 0 +SLC25A25 1 +SLC27A4 0 +SLC2A8 1 +SLC31A1 1 +SLC31A2 0 +SLC34A3 0 +SLC44A1 0 +SMARCA2 21 +SMC2 15 +SMC5 2 +SNAPC3 1 +SNORD24 0 +SNORD36A 3 +SNORD36B 3 +SNORD36C 0 +SNORD62A 0 +SNORD62B 0 +SNX30 0 +SPATA31A1 0 +SPATA31A3 0 +SPATA31A5 0 +SPATA31A7 0 +SPATA31C1 0 +SPATA31D1 0 +SPATA31D3 0 +SPATA31D4 0 +SPATA31D5P 0 +SPATA31E1 0 +SPIN1 9 +SPINK4 0 +SPTAN1 3 +SSNA1 1 +STKLD1 0 +STX17 2 +STXBP1 0 +SURF2 0 +SUSD3 2 +SWI5 0 +SYK 0 +TAL2 0 +TBC1D13 0 +TDRD7 0 +TEK 0 +TESK1 2 +TGFBR1 4 +TJP2 1 +TLE4 2 +TLR4 0 +TMC1 0 +TMEFF1 0 +TMEM141 0 +TMEM215 0 +TMEM246-AS1 0 +TMEM38B 0 +TMEM8B 0 +TMOD1 10 +TOPORS-AS1 0 +TOR1B 0 +TOR4A 0 +TPD52L3 0 +TRAF2 0 +TRIM32 4 +TRMT10B 0 +TTC16 0 +TUBB4B 14 +TUBBP5 139 +TYRP1 0 +UAP1L1 0 +UBAP1 1 +UBE2R2 25 +UGCG 2 +UHRF2 9 +UNC13B 0 +UNQ6494 0 +URM1 0 +USP20 2 +VLDLR 0 +VPS13A 1 +WDR38 0 +WDR5 1 +WNK2 0 +ZBTB34 0 +ZBTB43 5 +ZCCHC7 15 +ZNF169 0 +ZNF189 0 +ZNF462 1 +ZNF483 2 +ZNF618 7 +ZNF79 0 +FLJ43315 1 +FAM230C 0 +MIR8069-1 0 +LOC100507412 0 +RNA45S5 0 +RNA5-8S5 1 +LOC101928597 0 +DUX4 0 +ABCD1 0 +ACRC 0 +AFF2 0 +AGTR2 0 +AKAP14 0 +AKAP17A 0 +ALG13 2 +AMELX 0 +APEX2 2 +APOOL 0 +AR 0 +ARAF 0 +ARHGAP36 0 +ARL13A 0 +ARMCX1 0 +ARMCX3 0 +ARMCX4 0 +ARMCX5 0 +ARMCX5-GPRASP2 0 +ARR3 0 +ARSF 0 +ARSH 0 +ASMT 0 +ASMTL-AS1 0 +ATG4A 1 +ATP1B4 0 +ATP2B3 0 +ATP6AP1 1 +ATP6AP2 0 +ATP7A 0 +AVPR2 0 +AWAT1 0 +BCORL1 2 +BEX4 0 +BGN 0 +BHLHB9 2 +BMP15 19 +BMX 0 +BRCC3 1 +BRS3 0 +CA5B 0 +CA5BP1 0 +CCDC120 3 +CCDC160 0 +CCDC22 0 +CCNB3 11 +CD40LG 0 +CD99 0 +CD99P1 0 +CDK16 1 +CDKL5 0 +CDX4 0 +CENPI 3 +CENPVP1 0 +CENPVP2 0 +CHDC2 0 +CHIC1 3 +CHST7 0 +CLCN4 1 +CLCN5 9 +CLDN2 0 +CNGA2 0 +CNKSR2 1 +COL4A5 0 +COX7B 0 +CPXCR1 0 +CSAG1 0 +CSAG3 0 +CSF2RA 0 +CSTF2 2 +CT45A1 0 +CT45A2 0 +CT45A3 0 +CT45A4 0 +CT45A5 0 +CT45A6 0 +CTAG1A 0 +CTAG1B 0 +CXXC1P1 0 +CXorf22 1 +CXorf28 0 +CXorf30 0 +CXorf40A 0 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf57 0 +CXorf58 0 +CXorf67 24 +CYBB 0 +CYLC1 0 +DACH2 0 +DCAF8L2 0 +DDX26B 0 +DDX3X 15 +DDX53 0 +DGAT2L6 0 +DIAPH2 4 +DKC1 33 +DLG3 3 +DMRTC1 0 +DMRTC1B 0 +DOCK11 0 +DRP2 0 +DUSP21 0 +DUSP9 0 +EBP 0 +EDA 1 +EFNB1 0 +EGFL6 0 +EIF1AX-AS1 0 +EIF2S3 2 +EMD 0 +ERAS 0 +F8A1 0 +F8A2 0 +F8A3 0 +F9 0 +FAAH2 0 +FAM122C 0 +FAM127A 0 +FAM133A 0 +FAM155B 0 +FAM156A 0 +FAM156B 0 +FAM199X 5 +FAM223A 0 +FAM223B 0 +FAM45B 0 +FAM46D 0 +FAM47B 0 +FAM47C 0 +FAM50A 1 +FATE1 0 +FGF13-AS1 0 +FGF16 0 +FHL1 0 +FLJ44635 0 +FMR1 1 +FMR1NB 0 +FOXO4 0 +FOXR2 0 +FRMPD3 0 +FRMPD4 0 +FTSJ1 0 +FUNDC2 0 +GABRQ 0 +GAGE1 0 +GAGE10 0 +GAGE12B 0 +GAGE12C 0 +GAGE12D 0 +GAGE12E 0 +GAGE12F 0 +GAGE12G 0 +GAGE12H 0 +GAGE12I 0 +GAGE12J 0 +GAGE13 0 +GAGE2A 0 +GAGE2B 0 +GAGE2C 0 +GAGE2D 0 +GAGE2E 0 +GAGE4 0 +GAGE5 0 +GAGE6 0 +GAGE7 0 +GAGE8 0 +GATA1 0 +GDI1 4 +GDPD2 0 +GJB1 0 +GK 0 +GLOD5 0 +GLRA2 0 +GLUD2 0 +GNL3L 0 +GPR112 0 +GPR173 0 +GPR174 0 +GPR34 0 +GPR50 0 +GPR82 0 +GPRASP1 0 +GPRASP2 0 +GRIA3 0 +GRPR 0 +GS1-600G8.3 0 +GSPT2 0 +GYG2 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFM 0 +H2BFXP 0 +HCCS 0 +HCFC1-AS1 0 +HDAC6 1 +HEPH 0 +HMGB3 16 +HNRNPH2 0 +HPRT1 9 +HS6ST2-AS1 0 +HSFX1 0 +HSFX2 0 +HTATSF1 2 +HTR2C 0 +HYPM 0 +IGBP1 0 +IKBKG 0 +IL13RA1 3 +IL1RAPL1 1 +IL1RAPL2 1 +IL3RA 0 +IL9R 0 +INE1 0 +ITGB1BP2 0 +JADE3 0 +JPX 0 +KANTR 0 +KDM6A 5 +KIF4A 29 +KLF8 0 +KLHL4 0 +KRBOX4 0 +LANCL3 0 +LINC00086 0 +LINC00269 0 +LINC00629 0 +LINC00630 0 +LINC00632 0 +LINC00684 0 +LINC00685 0 +LINC00850 0 +LINC00890 0 +LINC00891 0 +LINC00892 0 +LINC00894 0 +LINC01203 0 +LINC01204 0 +LINC01285 0 +LINC01420 0 +LOC100129520 0 +LOC100132304 0 +LOC100132741 0 +LOC100287728 0 +LOC100288814 0 +LOC100506790 0 +LOC101060211 0 +LOC101927476 0 +LOC101927501 0 +LOC101927830 0 +LOC101928128 0 +LOC101928259 0 +LOC101928336 0 +LOC101928358 0 +LOC101928437 0 +LOC101928495 0 +LOC101928564 0 +LOC102723680 0 +LOC102723737 0 +LOC389895 0 +LOC392452 0 +LONRF3 0 +LPAR4 0 +LUZP4 0 +MAGEA11 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA4 0 +MAGEA6 0 +MAGEA8 0 +MAGEA9 0 +MAGEA9B 0 +MAGEB1 0 +MAGEB10 0 +MAGEB16 1 +MAGEB17 0 +MAGEB18 0 +MAGEB2 0 +MAGEB3 0 +MAGEB4 0 +MAGEB5 0 +MAGEB6 0 +MAGEC1 0 +MAGEC3 0 +MAGED1 0 +MAGED2 0 +MAGED4 0 +MAGED4B 0 +MAGEE1 0 +MAGEH1 0 +MAGIX 0 +MAMLD1 0 +MAOA 0 +MBTPS2 1 +MCTS1 2 +MED12 0 +MED14OS 0 +MID1IP1 0 +MID2 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1264 0 +MIR1277 0 +MIR1298 0 +MIR188 0 +MIR1911 0 +MIR1912 0 +MIR2114 0 +MIR223 0 +MIR3202-1 0 +MIR362 0 +MIR3690 0 +MIR374C 0 +MIR3978 0 +MIR4330 0 +MIR448 0 +MIR4536-1 0 +MIR4767 0 +MIR4768 0 +MIR4769 0 +MIR500A 0 +MIR500B 0 +MIR501 0 +MIR502 0 +MIR532 0 +MIR6086 0 +MIR6089 0 +MIR651 0 +MIR660 0 +MIR664B 0 +MIR676 0 +MIR6858 0 +MIR764 0 +MIR934 0 +MORF4L2-AS1 0 +MOSPD2 1 +MPC1L 0 +MSL3 1 +MSN 0 +MST4 0 +MTM1 2 +MTMR1 2 +MUM1L1 0 +NDUFA1 1 +NGFRAP1 0 +NHS 0 +NHSL2 0 +NLGN3 1 +NONO 0 +NRK 0 +NSDHL 3 +NUDT10 0 +NXF2 0 +NXF2B 0 +NXF4 0 +NXT2 1 +NYX 0 +OCRL 1 +OFD1 60 +OGT 1 +OPN1LW 0 +OPN1MW 0 +OPN1MW2 0 +OR13H1 0 +OTC 0 +OTUD6A 0 +P2RY10 0 +PABPC1L2B 0 +PABPC1L2B-AS1 0 +PABPC5 0 +PAGE2 0 +PAGE2B 0 +PAGE4 0 +PAGE5 0 +PAK3 0 +PASD1 0 +PBDC1 0 +PCDH11X 15 +PCYT1B-AS1 0 +PDHA1 4 +PDK3 0 +PGK1 3 +PGRMC1 0 +PHEX 5 +PHF6 3 +PHKA2-AS1 1 +PIH1D3 0 +PIN4 0 +PLCXD1 0 +PLP1 0 +PLP2 0 +PLS3 0 +PLXNA3 0 +PLXNB3 0 +PNMA3 0 +PNMA6A 0 +POLA1 3 +PORCN 0 +POU3F4 0 +PPEF1 1 +PPP1R3F 0 +PQBP1 0 +PRDX4 0 +PRKX-AS1 0 +PRPS1 1 +PRPS2 0 +PRR32 0 +PRRG1 0 +PRRG3 0 +PTCHD1 0 +RAB33A 0 +RAB40AL 0 +RAB41 0 +RAB9A 0 +RAP2C-AS1 0 +RBM10 1 +RBM3 2 +RBMX2 36 +RBMXL3 0 +REPS2 0 +RGAG1 0 +RGN 0 +RHOXF2 0 +RHOXF2B 0 +RIBC1 0 +RNF128 0 +RP2 0 +RPA4 1 +RPL10 17 +RPL36A 0 +RPL36A-HNRNPH2 0 +RPS26P11 0 +RRAGB 2 +S100G 0 +SAGE1 0 +SASH3 0 +SAT1 0 +SCARNA23 0 +SCML1 6 +SH2D1A 0 +SH3BGRL 0 +SHOX 0 +SHROOM2 3 +SLC16A2 0 +SLC25A14 3 +SLC25A43 0 +SLC25A5 20 +SLC6A14 0 +SLC6A8 0 +SLC9A6 1 +SLITRK2 0 +SMIM10 0 +SMS 4 +SNORA11 0 +SNORA11C 0 +SNORA11D 0 +SNORA11E 0 +SNORA35 0 +SNORA36A 0 +SNORA56 0 +SNORA70 4 +SOWAHD 0 +SPACA5 0 +SPACA5B 0 +SPANXA1 0 +SPANXA2 0 +SPANXA2-OT1 0 +SPANXB1 0 +SPANXN1 0 +SPANXN4 0 +SPRY3 0 +SRD5A1P1 0 +SRPK3 0 +SRPX2 0 +SSR4 0 +SSX1 0 +SSX2 0 +SSX2B 0 +SSX4 0 +SSX4B 0 +SSX6 0 +SSX8 0 +STAG2 0 +STARD8 0 +STS 0 +SUPT20HL1 0 +SUV39H1 1 +SYAP1 1 +SYP-AS1 0 +SYTL5 0 +TAF1 4 +TAZ 0 +TBC1D25 0 +TBC1D8B 0 +TBL1X 7 +TBX22 0 +TCEAL1 0 +TCEAL2 0 +TCEAL3 0 +TCEAL4 0 +TCEAL7 0 +TCEANC 1 +TCP11X2 0 +TDGF1P3 0 +TGIF2LX 0 +TIMP1 0 +TKTL1 0 +TLR7 0 +TLR8 0 +TMEM164 2 +TMEM187 0 +TMEM257 0 +TMEM31 0 +TMEM35 0 +TMLHE-AS1 0 +TMSB15B 0 +TMSB4X 22 +TNMD 0 +TRO 0 +TRPC5OS 0 +TSIX 0 +TSPAN7 2 +TSPYL2 0 +TSR2 2 +TXLNG 9 +UBA1 0 +UBE2A 5 +UBE2DNL 0 +UBE2E4P 0 +UBE2NL 0 +UBQLN2 1 +UPRT 1 +USP11 6 +USP27X 0 +USP9X 6 +UTP14A 7 +UXT-AS1 0 +VAMP7 0 +VBP1 1 +VCX 0 +VCX3B 0 +VENTXP1 0 +VGLL1 0 +VMA21 0 +VSIG1 0 +WAS 0 +WBP5 0 +WDR13 0 +WDR44 1 +WWC3 7 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE5 0 +XG 0 +XGY2 0 +XIAP 5 +XK 0 +XPNPEP2 0 +YIPF6 14 +YY2 0 +ZBTB33 6 +ZC3H12B 0 +ZCCHC12 1 +ZCCHC13 0 +ZCCHC16 0 +ZCCHC18 0 +ZFP92 0 +ZFX 0 +ZIC3 0 +ZNF157 0 +ZNF185 0 +ZNF275 1 +ZNF449 2 +ZNF630-AS1 0 +ZNF645 0 +ZNF674-AS1 1 +ZNF711 0 +ZNF81 0 +ZRSR2 6 +ZXDB 0 +AKAP17A 0 +ASMT 0 +ASMTL-AS1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD99 0 +CD99P1 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CSF2RA 0 +CSPG4P1Y 0 +DAZ2 0 +DAZ3 0 +DAZ4 0 +DDX3Y 0 +EIF1AY 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +HSFY1 0 +HSFY2 0 +IL3RA 0 +IL9R 0 +LINC00278 0 +LINC00685 0 +LOC100652931 0 +LOC101929148 0 +MIR3690 0 +MIR6089 0 +NLGN4Y 0 +PCDH11Y 0 +PLCXD1 0 +PRKY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2FP 0 +RPS4Y1 0 +RPS4Y2 0 +SHOX 0 +SPRY3 0 +TBL1Y 0 +TGIF2LY 0 +TMSB4Y 0 +TSPY1 0 +TSPY10 0 +TSPY2 0 +TSPY3 0 +TSPY4 0 +TSPY8 0 +TTTY1 0 +TTTY12 0 +TTTY15 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY19 0 +TTTY1B 0 +TTTY2 0 +TTTY21 0 +TTTY21B 0 +TTTY22 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +TXLNGY 0 +USP9Y 0 +VAMP7 0 +VCY 0 +VCY1B 0 +XGY2 0 +XKRY 0 +XKRY2 0 +ZFY 0 +A3GALT2 0 +ABCA4 0 +ABCB10 0 +ABL2 7 +ACAP3 0 +ACBD3 5 +ACBD6 0 +ACOT7 0 +ACP6 0 +ACTA1 0 +ADAM30 0 +ADAMTS4 0 +ADAMTSL4-AS1 0 +ADAR 22 +ADCY10 0 +ADIPOR1 0 +ADORA3 0 +ADSS 0 +AGBL4 0 +AGBL4-IT1 0 +AGMAT 0 +AGT 0 +AHCTF1 4 +AHDC1 0 +AIDA 0 +AIM1L 0 +AIM2 0 +AK2 1 +AKNAD1 0 +AKR7A2 0 +AKR7A3 0 +AKR7L 0 +AKT3 1 +ALDH4A1 1 +ALDH9A1 11 +ALG14 0 +ALX3 0 +AMIGO1 1 +AMPD1 0 +AMY1A 0 +AMY1B 0 +AMY1C 0 +ANGEL2 0 +ANGPTL1 0 +ANKRD13C 1 +ANKRD20A12P 0 +ANKRD36BP1 0 +ANKRD45 1 +ANKRD65 0 +ANP32E 0 +AP4B1 1 +APH1A 15 +APOA2 0 +APOBEC4 0 +ARHGAP29 2 +ARHGAP30 1 +ARHGEF11 0 +ARHGEF19 0 +ARHGEF2 0 +ARID4B 3 +ARL8A 0 +ARNT 0 +ARPC5 0 +ASAP3 1 +ASB17 0 +ASCL5 0 +ASH1L 2 +ASPM 22 +ASTN1 0 +ATP13A2 1 +ATP1A1-AS1 2 +ATP6V1G3 0 +ATPAF1 0 +AUNIP 6 +AURKAIP1 0 +AURKAPS1 1 +B3GALNT2 0 +B3GALT2 0 +B4GALT3 0 +BAI2 0 +BARHL2 0 +BATF3 0 +BCAR3 0 +BCAS2 5 +BCL10 0 +BCL2L15 0 +BEND5 0 +BEST4 0 +BLACAT1 0 +BMP8B 0 +BPNT1 1 +BRINP3 0 +BSDC1 2 +BTNL10 0 +C1orf109 0 +C1orf110 0 +C1orf111 0 +C1orf116 0 +C1orf123 0 +C1orf127 0 +C1orf131 7 +C1orf140 0 +C1orf141 0 +C1orf145 0 +C1orf159 0 +C1orf168 1 +C1orf174 2 +C1orf180 0 +C1orf186 0 +C1orf189 0 +C1orf192 0 +C1orf194 0 +C1orf195 0 +C1orf198 0 +C1orf200 0 +C1orf204 0 +C1orf210 2 +C1orf216 0 +C1orf229 0 +C1orf233 0 +C1orf234 0 +C1orf35 0 +C1orf43 6 +C1orf52 1 +C1orf61 0 +C1orf74 1 +C1orf85 0 +C1orf86 0 +C1orf87 0 +C2CD4D 0 +C8B 0 +CACNA1S 0 +CADM3-AS1 0 +CAMK2N1 0 +CAPN8 0 +CAPZB 1 +CASP9 0 +CASQ2 0 +CASZ1 0 +CC2D1B 0 +CCBL2 0 +CCDC163P 2 +CCDC17 0 +CCDC181 2 +CCDC19 0 +CCDC23 0 +CCNL2 0 +CCSAP 1 +CCT3 4 +CD160 0 +CD164L2 0 +CD1B 0 +CD244 0 +CD247 0 +CD34 0 +CD48 0 +CD58 0 +CD5L 0 +CD84 0 +CDC42BPA 7 +CDC42SE1 2 +CDCP2 0 +CDK11A 0 +CDK11B 1 +CELF3 0 +CENPL 1 +CEP104 3 +CEP170 4 +CERS2 10 +CHD5 0 +CHI3L1 0 +CHIT1 0 +CHML 0 +CHRM3-AS1 0 +CHRM3-AS2 0 +CITED4 0 +CLCC1 1 +CLDN19 0 +CLK2 0 +CLSPN 25 +CLSTN1 13 +CNN3 10 +CNR2 0 +COA7 3 +COL11A1 0 +COL16A1 0 +COL24A1 0 +COL8A2 0 +COL9A2 0 +COLGALT2 0 +COPA 2 +CPSF3L 0 +CRABP2 0 +CREG1 0 +CRNN 0 +CROCCP2 0 +CROCCP3 0 +CRP 0 +CRTC2 1 +CRYZ 4 +CSDE1 128 +CSF3R 0 +CSMD2 0 +CSRP1 12 +CTBS 0 +CTNNBIP1 0 +CTSK 0 +CTSS 0 +CYB5R1 0 +CYB5RL 0 +CYP2J2 0 +CYP4A11 0 +CYP4Z2P 0 +DAB1 1 +DBT 0 +DCAF8 4 +DCST2 0 +DDAH1 1 +DDOST 0 +DDX59 6 +DEDD 11 +DENND1B 0 +DENND2C 0 +DENND2D 0 +DENND4B 0 +DEPDC1 0 +DFFA 1 +DHCR24 0 +DHRS3 0 +DIRAS3 3 +DISC2 0 +DLGAP3 0 +DMRTA2 0 +DNAJC11 0 +DNAJC8 8 +DNM3OS 0 +DNTTIP2 8 +DOCK7 0 +DPH5 0 +DPM3 0 +DPT 0 +DPYD 0 +DRAM2 0 +DSTYK 2 +DUSP10 2 +DVL1 0 +E2F2 0 +EBNA1BP2 0 +ECE1 2 +ECHDC2 0 +EDEM3 0 +EDN2 0 +EFCAB14 9 +EGLN1 0 +EIF2B3 0 +EIF2D 0 +EIF4G3 2 +ELK4 3 +ELOVL1 1 +ELTD1 0 +EMC1 0 +ENAH 10 +ENO1 0 +ENSA 1 +EPHA10 1 +EPHA2 0 +EPRS 11 +EPS15 4 +EPS8L3 0 +ERI3 0 +ERI3-IT1 0 +ERICH3 0 +ERO1LB 3 +ERRFI1 0 +ESPNP 0 +ESRRG 0 +ETNK2 0 +ETV3 1 +ETV3L 0 +EVA1B 0 +EVI5 0 +EXOC8 0 +EXOSC10 1 +EXTL2 0 +EYA3 1 +F11R 0 +F13B 0 +F3 0 +F5 0 +FABP3 1 +FAF1 0 +FAIM3 0 +FAM129A 0 +FAM131C 0 +FAM132A 0 +FAM138A 0 +FAM138F 0 +FAM151A 0 +FAM189B 0 +FAM212B 0 +FAM229A 0 +FAM231A 0 +FAM41C 1 +FAM46B 4 +FAM63A 0 +FAM69A 0 +FAM72C 0 +FAM72D 0 +FAM78B 0 +FAM89A 0 +FBXO2 0 +FBXO42 1 +FCAMR 0 +FCGR1B 0 +FCGR3A 0 +FCGR3B 0 +FCN3 0 +FCRL1 0 +FCRL2 0 +FCRL3 0 +FCRL4 0 +FCRL5 0 +FGR 0 +FH 4 +FHL3 1 +FLG 0 +FLG2 0 +FLJ27354 0 +FLJ37453 0 +FLVCR1-AS1 0 +FMO5 1 +FMOD 0 +FNDC5 0 +FOXD2-AS1 0 +FOXD3-AS1 0 +FOXJ3 6 +FRRS1 0 +FUBP1 1 +FUCA1 0 +GALE 0 +GAS5 3 +GATAD2B 12 +GBA 0 +GBAP1 0 +GBP1 0 +GBP2 0 +GBP3 0 +GBP4 0 +GBP5 0 +GBP7 0 +GCLM 0 +GCSAML-AS1 0 +GDAP2 2 +GEMIN8P4 0 +GFI1 1 +GJA5 0 +GJA9 0 +GJA9-MYCBP 2 +GLIS1 0 +GLMN 0 +GLRX2 0 +GLUL 0 +GNAT2 1 +GNB1 20 +GNG12 23 +GNG4 1 +GNG5 4 +GNL2 6 +GNRHR2 0 +GOLPH3L 0 +GOLT1A 0 +GON4L 5 +GPA33 0 +GPATCH2 5 +GPATCH3 0 +GPATCH4 2 +GPBP1L1 0 +GPN2 2 +GPR153 0 +GPR157 0 +GPR161 0 +GPR89A 0 +GREM2 0 +GRIK3 0 +GS1-279B7.1 0 +GSTM3 0 +GTF2B 7 +GUCA2A 0 +HDGF 2 +HEATR1 13 +HECTD3 2 +HENMT1 43 +HES2 0 +HES4 0 +HES5 0 +HEYL 0 +HFM1 0 +HHIPL2 0 +HIPK1-AS1 0 +HIST2H2AA3 0 +HIST2H2AA4 0 +HIST2H2AB 0 +HIST2H2BC 0 +HIST2H2BE 0 +HIST2H2BF 0 +HIST2H3A 0 +HIST2H3C 0 +HIST2H3D 0 +HIST2H4A 0 +HIST2H4B 0 +HIST3H2A 0 +HIST3H3 0 +HIVEP3 0 +HLX-AS1 0 +HMGCL 0 +HMGCS2 0 +HNRNPCL1 0 +HNRNPCL2 0 +HNRNPR 2 +HNRNPU 8 +HNRNPU-AS1 0 +HORMAD1 0 +HP1BP3 2 +HPCAL4 0 +HRNR 0 +HSD52 0 +HSPB11 1 +HSPB7 0 +HSPG2 0 +HTR1D 0 +HYI 0 +IBA57-AS1 0 +ICMT 3 +ID3 0 +IFFO2 0 +IFI6 0 +IFNLR1 0 +IGSF3 0 +IGSF8 0 +IGSF9 1 +IL10 0 +IL22RA1 0 +ILDR2 0 +ILF2 20 +INPP5B 0 +INSL5 0 +INSRR 0 +INTS7 2 +IPO9-AS1 0 +IPP 0 +IQGAP3 0 +IRF2BP2 1 +IRF6 15 +ISG20L2 0 +ITGB3BP 0 +ITLN1 0 +ITLN2 0 +ITPKB 0 +ITPKB-IT1 0 +IVNS1ABP 0 +JAK1 4 +JMJD4 0 +JTB 0 +JUN 0 +KANK4 0 +KCNA10 0 +KCNA2 0 +KCNA3 0 +KCNC4-AS1 1 +KCND3 0 +KCND3-IT1 0 +KCNH1 2 +KCNJ10 0 +KCNN3 0 +KCNT2 0 +KDF1 1 +KDM4A-AS1 1 +KDM5B 0 +KIAA0040 0 +KIAA0319L 1 +KIAA0907 0 +KIAA1751 0 +KIAA2013 0 +KIF14 1 +KIF17 0 +KIF21B 3 +KIFAP3 0 +KISS1 0 +KLHDC8A 0 +KLHL12 4 +KLHL21 0 +KNCN 0 +KRTCAP2 0 +KTI12 0 +LACTBL1 0 +LAD1 20 +LAMB3 0 +LAMTOR5 0 +LAPTM5 0 +LBR 2 +LCE1C 0 +LCE3A 0 +LCE3D 0 +LCE3E 0 +LDLRAD1 0 +LEFTY1 0 +LEFTY2 0 +LEMD1 0 +LEPRE1 0 +LGALS8-AS1 0 +LHX4-AS1 0 +LIN9 1 +LINC00115 0 +LINC00303 0 +LINC00466 0 +LINC00582 0 +LINC00622 0 +LINC00623 0 +LINC00624 0 +LINC00628 0 +LINC00862 0 +LINC00869 0 +LINC00970 0 +LINC00982 0 +LINC01057 0 +LINC01136 0 +LINC01137 0 +LINC01138 0 +LINC01139 0 +LINC01141 0 +LINC01142 0 +LINC01160 0 +LINC01222 0 +LINC01343 0 +LINC01344 0 +LINC01347 0 +LINC01349 0 +LINC01350 0 +LINC01354 0 +LINC01355 0 +LINC01356 0 +LINC01359 0 +LINC01361 0 +LINC01363 0 +LINC01364 0 +LINC01398 0 +LINC01461 0 +LINGO4 0 +LMOD1 0 +LMX1A 0 +LOC100129534 0 +LOC100130417 0 +LOC100131564 0 +LOC100133331 0 +LOC100288069 0 +LOC100422212 0 +LOC100505666 0 +LOC100505795 0 +LOC100505918 0 +LOC100506022 0 +LOC100506023 0 +LOC100506730 0 +LOC100506747 0 +LOC100506985 0 +LOC100996251 0 +LOC100996263 0 +LOC101926964 0 +LOC101927139 0 +LOC101927143 0 +LOC101927468 0 +LOC101927560 0 +LOC101927587 0 +LOC101927683 0 +LOC101928043 0 +LOC101928068 0 +LOC101928241 0 +LOC101928370 0 +LOC101928436 0 +LOC101928460 0 +LOC101928696 0 +LOC101929099 0 +LOC101929406 0 +LOC101929983 0 +LOC102723769 0 +LOC102724601 0 +LOC115110 0 +LOC149373 0 +LOC255654 0 +LOC284578 0 +LOC391003 0 +LOC400736 0 +LOC400794 0 +LOC440600 0 +LOC440602 0 +LOC643441 0 +LOC645354 0 +LOC646268 0 +LOC646471 0 +LOC649324 0 +LOC649330 0 +LOC653160 0 +LOC653513 0 +LOC728989 0 +LOC729737 0 +LOC729867 0 +LOC729930 0 +LOC730102 0 +LPAR3 0 +LPGAT1 0 +LPPR5 0 +LRIF1 1 +LRP8 0 +LRRC38 0 +LRRC39 0 +LRRC40 3 +LRRC41 1 +LRRC47 2 +LRRIQ3 0 +LRRN2 0 +LSM10 0 +LUZP1 0 +LYPD8 0 +LYPLAL1-AS1 0 +LYSMD1 0 +LYST 1 +LZIC 0 +MAD2L2 0 +MAGOH 4 +MAP1LC3C 0 +MAP3K6 1 +MARCKSL1 0 +MASP2 0 +MATN1 0 +MCL1 2 +MCOLN2 0 +MCOLN3 0 +MEAF6 10 +MECR 0 +MED8 9 +MEF2D 0 +MEGF6 0 +METTL18 1 +MEX3A 0 +MFAP2 0 +MIR101-1 0 +MIR1182 0 +MIR1262 0 +MIR1295A 0 +MIR135B 0 +MIR137 0 +MIR137HG 0 +MIR1537 0 +MIR181A1 0 +MIR181A1HG 0 +MIR181B1 0 +MIR186 0 +MIR190B 0 +MIR194-1 0 +MIR199A2 0 +MIR214 0 +MIR215 0 +MIR2682 0 +MIR29B2 0 +MIR29C 0 +MIR3119-1 0 +MIR3121 0 +MIR320B2 0 +MIR34A 0 +MIR3605 0 +MIR3671 0 +MIR3675 0 +MIR3916 0 +MIR3917 0 +MIR4252 0 +MIR4253 0 +MIR4254 0 +MIR4256 0 +MIR4260 0 +MIR4420 0 +MIR4689 0 +MIR4695 0 +MIR4711 0 +MIR4735 0 +MIR4742 0 +MIR4753 0 +MIR488 0 +MIR5008 0 +MIR5087 0 +MIR548AP 0 +MIR548D1 0 +MIR548F1 0 +MIR551A 0 +MIR555 0 +MIR5581 0 +MIR6068 0 +MIR6127 0 +MIR664A 0 +MIR6723 0 +MIR6726 0 +MIR6727 0 +MIR6728 0 +MIR6730 0 +MIR6731 0 +MIR6733 0 +MIR6734 0 +MIR6737 0 +MIR6738 0 +MIR6741 0 +MIR6742 0 +MIR6808 0 +MIR6859-1 0 +MIR6859-2 0 +MIR761 0 +MIR765 0 +MIR7851 0 +MIR7856 0 +MIR8083 0 +MIR9-1 0 +MIR921 0 +MKNK1 0 +MMEL1 0 +MOB3C 0 +MORN1 0 +MPC2 2 +MPZ 0 +MRPL20 0 +MRPL24 0 +MRPL55 1 +MRPL9 0 +MRPS14 3 +MRPS15 0 +MST1L 0 +MT1HL1 0 +MTF1 7 +MTHFR 1 +MTMR11 0 +MTMR9LP 0 +MTOR 8 +MUC1 0 +MUL1 0 +MUTYH 1 +MXRA8 0 +MYBPH 0 +MYBPHL 0 +MYCBP 0 +MYCL 0 +MYOC 0 +MYOG 0 +MYOM3 0 +MYSM1 2 +NADK 0 +NBPF1 0 +NBPF11 0 +NBPF13P 0 +NBPF14 0 +NBPF25P 0 +NBPF4 0 +NBPF7 0 +NBPF8 0 +NBPF9 0 +NCF2 0 +NDC1 3 +NEGR1 0 +NEGR1-IT1 0 +NEK2 2 +NES 0 +NEXN-AS1 0 +NFIA-AS1 0 +NFIA-AS2 0 +NFYC-AS1 0 +NGF 0 +NHLH2 0 +NID1 0 +NKAIN1 0 +NME7 1 +NMNAT2 0 +NOC2L 0 +NOL9 1 +NOTCH2 0 +NPHP4 1 +NPHS2 0 +NPPA 0 +NPPB 0 +NR0B2 0 +NR1I3 1 +NRAS 5 +NRD1 0 +NSL1 1 +NT5C1A 0 +NUAK2 0 +NUCKS1 3 +NUDT17 0 +NUP133 17 +NUP210L 0 +NVL 0 +ODF2L 1 +OLFM3 0 +OLFML2B 0 +OMA1 0 +OPN3 0 +OR10J3 0 +OR10J5 0 +OR10K2 0 +OR10T2 0 +OR10X1 0 +OR11L1 0 +OR13G1 0 +OR14A16 0 +OR14I1 0 +OR1C1 0 +OR2B11 0 +OR2C3 0 +OR2M7 0 +OR2T10 0 +OR2T11 0 +OR2T12 0 +OR2T27 0 +OR2T29 0 +OR2T33 0 +OR2T34 0 +OR2T35 0 +OR4F16 0 +OR4F29 0 +OR4F3 0 +OR6F1 0 +OR6K2 0 +OR6K3 0 +OR6N1 0 +OR6N2 0 +OR6P1 0 +OR6Y1 0 +ORC1 1 +OSCP1 1 +OTUD7B 3 +OVGP1 0 +OXCT2 0 +PABPC4 19 +PADI2 0 +PAFAH2 1 +PANK4 0 +PAQR6 0 +PAQR7 4 +PARP1 16 +PARS2 1 +PBXIP1 0 +PCNXL2 0 +PDC 0 +PDE4DIP 0 +PDZK1IP1 0 +PDZK1P2 0 +PEF1 0 +PERM1 0 +PEX10 0 +PEX19 2 +PFDN2 1 +PFN1P2 0 +PGBD5 2 +PGCP1 0 +PGLYRP3 0 +PGLYRP4 0 +PHC2 0 +PHLDA3 0 +PHTF1 1 +PI4KB 2 +PIGC 0 +PIGK 0 +PIGM 1 +PIGR 0 +PIK3C2B 0 +PIK3R3 2 +PINK1-AS 0 +PKLR 0 +PKN2-AS1 0 +PLA2G2A 0 +PLA2G2C 0 +PLA2G2D 0 +PLA2G2E 0 +PLD5 0 +PLEKHA6 0 +PLEKHG5 0 +PLXNA2 0 +PM20D1 0 +PMVK 0 +POGZ 4 +POLR3C 0 +POLR3GL 2 +POMGNT1 1 +POU3F1 0 +PPAP2B 0 +PPIAL4B 0 +PPIAL4C 0 +PPIAL4D 0 +PPIAL4E 0 +PPIAL4F 0 +PPIAL4G 0 +PPIEL 0 +PPM1J 0 +PPP1R15B 0 +PPT1 0 +PRAMEF11 0 +PRAMEF14 0 +PRAMEF19 0 +PRAMEF22 0 +PRAMEF4 0 +PRAMEF5 0 +PRAMEF6 0 +PRAMEF7 0 +PRAMEF8 0 +PRAMEF9 0 +PRDX1 1 +PRKAB2 0 +PSMA5 31 +PSMB2 1 +PSRC1 0 +PTAFR 0 +PTCH2 0 +PTGER3 0 +PTGS2 0 +PTP4A2 9 +PTPN14 6 +PTPN22 0 +PTPN7 0 +PUM1 0 +PVRL4 0 +PYCR2 3 +PYGO2 5 +RAB13 0 +RAB29 4 +RAB3B 0 +RAB3GAP2 3 +RABIF 1 +RAP1GAP 0 +RASAL2-AS1 1 +RBBP5 8 +RBM34 0 +RBMXL1 3 +RC3H1 1 +RCAN3AS 0 +RCC2 7 +RD3 0 +REG4 0 +REN 0 +RERE 7 +RFWD2 0 +RFX5 0 +RGS16 2 +RGS5 0 +RGS7 1 +RGS8 0 +RHBDL2 0 +RHCE 0 +RHOC 0 +RIMS3 0 +RIT1 0 +RNASEL 0 +RNF186 0 +RNF19B 3 +RNF223 0 +RNU1-13P 0 +RNU6-31P 0 +RNU6-72P 0 +RNU6-79P 0 +RNVU1-19 0 +RNVU1-8 0 +ROR1-AS1 0 +RORC 0 +RPA2 1 +RPE65 0 +RPL22 0 +RPL31P11 0 +RPS15AP10 0 +RPTN 0 +RRAGC 12 +RSBN1 0 +RSG1 0 +RSPO1 0 +RSRP1 0 +RTCA-AS1 0 +RUNX3 0 +RUSC1-AS1 0 +RXRG 0 +S100A10 0 +S100A11 0 +S100A12 0 +S100A13 0 +S100A14 0 +S100A16 0 +S100A2 0 +S100A3 0 +S100A4 0 +S100A5 0 +S100A6 0 +S100A7 0 +S100A7L2 0 +S100A8 0 +SASS6 35 +SCAMP3 0 +SCARNA3 0 +SCARNA4 0 +SCMH1 0 +SCYL3 2 +SDC3 0 +SDE2 12 +SDF4 0 +SDHB 2 +SEC16B 0 +SELE 0 +SELENBP1 0 +SELL 0 +SELP 0 +SEMA6C 0 +SEP15 1 +SERBP1 5 +SERPINC1 0 +SERTAD4-AS1 0 +SETSIP 0 +SF3A3 28 +SF3B4 2 +SFPQ 8 +SH2D1B 0 +SH2D2A 0 +SH2D5 0 +SH3BP5L 1 +SHC1 8 +SHCBP1L 0 +SHE 3 +SIKE1 4 +SIPA1L2 2 +SKINTL 0 +SLAMF1 0 +SLAMF6 0 +SLAMF9 0 +SLC16A1 4 +SLC16A4 0 +SLC19A2 2 +SLC1A7 0 +SLC25A24 0 +SLC25A3P1 0 +SLC26A9 0 +SLC2A1 0 +SLC2A5 0 +SLC2A7 0 +SLC30A1 0 +SLC30A10 0 +SLC30A2 0 +SLC35D1 5 +SLC35E2 0 +SLC35E2B 0 +SLC39A1 0 +SLC41A1 1 +SLC44A5 0 +SLC45A3 2 +SLC6A9 2 +SLC9A1 4 +SLC9C2 0 +SLFNL1 0 +SMG5 1 +SMG7-AS1 0 +SMIM12 0 +SMYD3 1 +SNHG12 0 +SNIP1 2 +SNORA14B 0 +SNORA16A 0 +SNORA36B 0 +SNORA44 0 +SNORA55 0 +SNORA61 0 +SNORA80E 0 +SNORD103A 0 +SNORD103B 0 +SNORD44 0 +SNORD47 0 +SNORD74 0 +SNORD75 0 +SNORD76 0 +SNORD77 0 +SNORD78 0 +SNORD79 0 +SNORD80 0 +SNORD81 3 +SNORD85 0 +SNORD99 0 +SNRNP40 0 +SNRPD2P2 0 +SORT1 1 +SPAG17 0 +SPATA21 0 +SPATA45 0 +SPATA6 0 +SPOCD1 0 +SPRR2A 0 +SPRR2B 0 +SPRR2C 0 +SPRR2D 0 +SPRR2E 0 +SPRR2F 0 +SPRR2G 0 +SPTA1 0 +SRGAP2-AS1 0 +SRM 0 +SRSF10 0 +SRSF4 3 +SSBP3 4 +SSR2 1 +SSU72 3 +SSX2IP 11 +ST7L 0 +STIL 2 +STK40 2 +STMN1 1 +STPG1 1 +STX6 17 +SUSD4 0 +SV2A 0 +SYDE2 0 +SYF2 10 +SYNC 0 +SYT2 4 +SYT6 0 +TACSTD2 0 +TADA1 2 +TAF12 5 +TAF13 0 +TAF1A 0 +TAF5L 4 +TAGLN2 0 +TAL1 0 +TARBP1 0 +TAS1R2 0 +TBX15 0 +TCEA3 0 +TCEB3-AS1 0 +TCHH 0 +TCHHL1 0 +TCTEX1D4 0 +TDRKH 0 +TEDDM1 0 +TESK2 0 +TFB2M 0 +TGFB2-AS1 0 +TGFBR3 2 +THBS3 0 +THEM4 0 +THEM5 0 +TLR5 0 +TM2D1 1 +TMCO1 2 +TMCO4 0 +TMED5 1 +TMEM200B 0 +TMEM206 0 +TMEM234 0 +TMEM240 0 +TMEM51-AS1 0 +TMEM52 0 +TMEM53 0 +TMEM54 1 +TMEM59 12 +TMEM63A 0 +TMEM81 0 +TMEM9 5 +TMOD4 0 +TNFRSF18 0 +TNFRSF25 0 +TNFRSF4 0 +TNFRSF9 0 +TNFSF18 0 +TNFSF4 0 +TNNI1 0 +TNNT2 0 +TNR 0 +TOMM20 4 +TOR1AIP2 1 +TP53BP2 0 +TP73-AS1 3 +TPM3 4 +TPR 16 +TRABD2B 0 +TRAPPC3 0 +TRIM11 3 +TRIM17 0 +TRIM33 50 +TRIM45 1 +TRIM62 2 +TRIM63 0 +TRIT1 3 +TRMT1L 1 +TSPAN2 0 +TSTD1 1 +TTC13 0 +TTC22 0 +TTC34 0 +TTC39A 0 +TTLL7 0 +TXNDC12 1 +UBE2J2 2 +UBE2Q1 4 +UBE2T 2 +UBQLN4 0 +UBR4 2 +UBXN10-AS1 0 +UBXN11 5 +UCHL5 0 +UOX 0 +UQCRHL 0 +USF1 0 +USH2A 1 +USP24 2 +USP33 0 +USP48 3 +UTS2 0 +VAMP4 0 +VAV3 8 +VHLL 0 +VPS72 2 +VSIG8 0 +VTCN1 2 +WARS2 0 +WASF2 16 +WASH7P 0 +WDR26 25 +WDR47 1 +WDR77 0 +WDR78 0 +WLS 14 +WNT4 0 +WNT9A 0 +WRAP73 2 +XCL2 0 +YARS 0 +YIPF1 3 +YOD1 0 +YRDC 0 +YY1AP1 4 +ZBTB17 7 +ZBTB41 0 +ZBTB8OS 0 +ZCCHC11 0 +ZMYM6 0 +ZMYM6NB 1 +ZMYND12 0 +ZNF124 0 +ZNF281 37 +ZNF436 0 +ZNF496 0 +ZNF644 0 +ZNF648 0 +ZNF669 0 +ZNF670 0 +ZNF670-ZNF695 0 +ZNF683 0 +ZNF692 0 +ZNF695 1 +ZNF697 0 +ZNF847P 0 +ZNHIT6 1 +ZP4 24 +ZRANB2 0 +ZSWIM5 0 +ZZZ3 2 +A1CF 0 +ABI1 2 +ABLIM1 0 +ACBD5 0 +ACBD7 0 +ACTA2 0 +ACTR1A 0 +ADAM12 1 +ADAM8 1 +ADARB2 0 +ADD3-AS1 0 +AFAP1L2 0 +AGAP4 0 +AGAP5 0 +AGAP7P 0 +AGAP9 0 +AIFM2 0 +AKR1C2 0 +AKR1C6P 0 +AKR1CL1 0 +ALDH18A1 2 +ANK3 3 +ANKRD1 0 +ANKRD16 0 +ANKRD22 0 +ANKRD26 4 +ANTXRLP1 0 +ANXA11 1 +ANXA7 74 +ANXA8 0 +AP3M1 3 +ARHGAP12 7 +ARHGAP19 6 +ARHGAP19-SLIT1 0 +ARHGAP21 1 +ARHGAP22 0 +ARL3 0 +ARMC4 0 +ASAH2 0 +ASB13 0 +ASCC1 0 +ATAD1 12 +ATE1 0 +ATOH7 0 +AVPI1 1 +BBIP1 0 +BEND7 0 +BLNK 1 +BLOC1S2 0 +BMS1P4 0 +BMS1P5 0 +BMS1P6 0 +BNIP3 0 +C10orf10 0 +C10orf105 0 +C10orf111 0 +C10orf113 0 +C10orf115 0 +C10orf120 0 +C10orf128 0 +C10orf25 0 +C10orf40 0 +C10orf54 0 +C10orf55 0 +C10orf67 0 +C10orf71-AS1 0 +C10orf76 0 +C10orf82 2 +C10orf88 1 +C10orf90 0 +C10orf95 0 +C1QL3 0 +CACUL1 4 +CALHM1 0 +CALHM2 0 +CALHM3 0 +CALML3-AS1 0 +CALML5 0 +CALY 0 +CAMK2G 3 +CASC10 0 +CCDC147-AS1 0 +CCDC186 6 +CCDC3 1 +CCDC6 36 +CCNYL2 0 +CDNF 0 +CELF2-AS2 0 +CFAP43 0 +CFAP46 0 +CH25H 0 +CHST15 2 +CHUK 1 +CLRN3 0 +COL17A1 0 +COMTD1 0 +COX15 0 +CPEB3 1 +CPN1 0 +CPXM2 0 +CRTAC1 0 +CSTF2T 0 +CTBP2 0 +CTGLF12P 0 +CTNNA3 1 +CUBN 0 +CUEDC2 0 +CUL2 0 +CUZD1 0 +CWF19L1 0 +CXCL12 0 +CYP17A1 0 +CYP2C8 0 +DCLRE1A 7 +DCLRE1C 0 +DHX32 1 +DIP2C 2 +DLG5 1 +DNA2 2 +DNAJB12 0 +DNAJC1 4 +DNAJC12 0 +DNAJC9 12 +DNMBP 1 +DRGX 0 +DUPD1 0 +DUSP13 0 +DYDC1 0 +EBF3 0 +EBLN1 25 +ECD 1 +ECHS1 0 +EDRF1-AS1 0 +EGR2 0 +EIF3A 8 +EMX2OS 0 +ENKUR 0 +ENTPD1-AS1 0 +EPC1 15 +ERCC6 3 +ERCC6-PGBD3 0 +ERLIN1 2 +EXOSC1 1 +FAM107B 0 +FAM13C 0 +FAM170B 0 +FAM171A1 0 +FAM188A 19 +FAM196A 0 +FAM204A 2 +FAM21EP 0 +FAM24B 0 +FAM24B-CUZD1 0 +FAM25C 0 +FAM25G 0 +FAM53B 1 +FANK1-AS1 0 +FAS-AS1 0 +FBXW4 0 +FGF8 0 +FGFBP3 0 +FGFR2 0 +FLJ37035 0 +FLJ37201 0 +FRA10AC1 1 +FRAT2 1 +FRG2B 0 +FRMD4A 1 +FRMPD2 0 +FRMPD2B 0 +FUOM 0 +FZD8 0 +GATA3-AS1 0 +GDF10 0 +GDF2 0 +GDI2 36 +GFRA1 0 +GLUD1 2 +GOLGA2P6 0 +GOT1 3 +GPAM 1 +GPR158-AS1 0 +GRID1 0 +GUCY2GP 0 +HECTD2-AS1 0 +HERC4 0 +HNRNPA1P33 0 +HNRNPA3P1 0 +HNRNPF 35 +HPS1 0 +HPSE2 1 +HSPA12A 0 +HTR7 0 +IDE 8 +IDI1 0 +IDI2 0 +IKZF5 0 +IL15RA 0 +IL2RA 2 +IPMK 0 +ITGA8 0 +ITGB1 0 +ITIH5 3 +ITPRIP 0 +JMJD1C 0 +KCNIP2 0 +KCNMA1 0 +KIAA1462 0 +KIAA1598 5 +KIF5B 9 +KIN 0 +KLF6 0 +KLLN 0 +LARP4B 5 +LBX1 0 +LDB1 1 +LINC00202-1 0 +LINC00601 0 +LINC00700 0 +LINC00701 0 +LINC00702 0 +LINC00704 0 +LINC00706 0 +LINC00708 0 +LINC00710 0 +LINC00837 0 +LINC00838 0 +LINC00842 0 +LINC00864 0 +LINC00866 0 +LINC00948 0 +LINC00959 0 +LINC01164 0 +LINC01166 0 +LINC01375 0 +LINC01435 0 +LINC01468 0 +LINC01475 0 +LIPA 0 +LOC100128127 0 +LOC100499489 0 +LOC101060691 0 +LOC101926942 0 +LOC101927049 0 +LOC101927419 0 +LOC101927523 0 +LOC101927549 0 +LOC101928272 0 +LOC101928322 0 +LOC101928834 0 +LOC101928961 0 +LOC101928994 0 +LOC101929073 0 +LOC101929397 0 +LOC101929431 0 +LOC101929574 0 +LOC101929624 0 +LOC101929646 0 +LOC102723377 0 +LOC102723439 0 +LOC102724323 0 +LOC102724341 0 +LOC102724719 0 +LOC283045 0 +LOC441666 0 +LOXL4 0 +LRIT1 0 +LRIT2 0 +LRRC18 0 +LRRC20 1 +LRRC37A6P 0 +LYZL2 0 +MARCH8 2 +MAT1A 4 +MBL2 1 +MCMBP 2 +METTL10 0 +MGEA5 2 +MICU1 1 +MIR107 0 +MIR1256 0 +MIR1287 0 +MIR1296 0 +MIR1307 0 +MIR1915 0 +MIR202 0 +MIR202HG 0 +MIR2110 0 +MIR3155B 0 +MIR3157 0 +MIR3158-2 0 +MIR346 0 +MIR3663 0 +MIR3663HG 0 +MIR378C 0 +MIR3924 0 +MIR3944 0 +MIR4294 0 +MIR4296 0 +MIR4297 0 +MIR4482 0 +MIR4483 0 +MIR4679-2 0 +MIR4683 0 +MIR4685 0 +MIR5699 0 +MIR604 0 +MIR6072 0 +MIR609 0 +MIR6715B 0 +MIR7162 0 +MIR8086 0 +MIR936 0 +MIR938 0 +MKI67 0 +MKX 0 +MMP21 0 +MMRN2 0 +MMS19 1 +MORN4 0 +MPP7 1 +MRPL43 0 +MRPS16 1 +MSS51 0 +MTPAP 2 +MTRNR2L7 0 +MYOF 4 +MYOZ1 0 +NDST2 1 +NDUFB8 3 +NEBL 0 +NEUROG3 0 +NKX1-2 0 +NKX6-2 0 +NMT2 0 +NOC3L 12 +NODAL 0 +NPFFR1 0 +NPM3 7 +NRAP 0 +NRG3-AS1 0 +NRP1 0 +NSMCE4A 7 +NSUN6 4 +NT5C2 2 +NUDT5 0 +NUDT9P1 0 +NUTM2A-AS1 0 +OAT 3 +OBFC1 0 +OGDHL 0 +OPALIN 0 +OR13A1 0 +P4HA1 4 +PANK1 0 +PARD3 11 +PARG 0 +PARGP1 0 +PBLD 1 +PCBD1 1 +PCDH15 2 +PCGF6 2 +PDCD4-AS1 0 +PDLIM1 5 +PDZD7 2 +PDZD8 0 +PGBD3 0 +PHYH 0 +PIK3AP1 0 +PIP4K2A 7 +PIPSL 0 +PITRM1 11 +PITX3 0 +PKD2L1 0 +PLA2G12B 0 +PLCE1-AS1 0 +POLL 0 +POLR3A 3 +PPA1 0 +PPIAP30 0 +PPP1R3C 0 +PPP3CB 0 +PRDX3 4 +PRF1 0 +PRKCQ 0 +PRKG1-AS1 0 +PRLHR 0 +PROSER2-AS1 0 +PRTFDC1 0 +PSAP 1 +PSD 0 +PTCHD3 0 +PTPLA 0 +PTPN20B 0 +PYROXD2 0 +RAB11FIP2 1 +RASGEF1A 0 +RBP3 0 +RBP4 0 +RGS10 0 +RHOBTB1 0 +RNLS 0 +RPL13AP6 0 +RRP12 0 +RSU1 7 +RSU1P2 0 +RTKN2 0 +RUFY2 1 +SAR1A 2 +SEC31B 0 +SEPHS1 3 +SEPT7P9 0 +SFMBT2 0 +SFRP5 0 +SFTA1P 0 +SFTPA2 0 +SFTPD 0 +SFXN4 0 +SGMS1 0 +SH3PXD2A 0 +SKIDA1 0 +SLC16A12 0 +SLC16A9 0 +SLC25A16 0 +SLC25A28 0 +SLC39A12-AS1 0 +SLIT1 0 +SMNDC1 1 +SNORA12 0 +SNORA19 0 +SORBS1 2 +SORCS1 0 +SORCS3-AS1 0 +SPOCK2 0 +SPRN 0 +SPRNP1 0 +ST8SIA6 0 +STAM-AS1 0 +STK32C 0 +SVIL 0 +SYCE1 0 +SYNPO2L 0 +SYT15 0 +TACR2 0 +TBATA 0 +TCERG1L 0 +TCTN3 1 +TEX36 0 +TIAL1 0 +TIMM23 2 +TLL2 0 +TLX1NB 0 +TM9SF3 4 +TMEM254-AS1 0 +TMEM26 0 +TMEM72-AS1 0 +TNKS2-AS1 1 +TRDMT1 0 +TTC18 0 +TUBAL3 5 +TUBB8 591 +TUBGCP2 0 +TYSND1 0 +UCMA 0 +UNC5B-AS1 0 +UPF2 2 +UROS 0 +USMG5 1 +USP54 3 +USP6NL 0 +VAX1 1 +VIM-AS1 0 +VSTM4 0 +WAC-AS1 0 +WAPAL 21 +WDR11-AS1 0 +XPNPEP1 1 +YME1L1 0 +ZCCHC24 0 +ZDHHC6 0 +ZEB1-AS1 0 +ZFAND4 0 +ZMIZ1-AS1 0 +ZNF239 0 +ZNF248 0 +ZNF25 1 +ZNF32 0 +ZNF33B 0 +ZNF33BP1 0 +ZNF37BP 0 +ZNF438 0 +ZNF503 0 +ZSWIM8-AS1 0 +ZWINT 3 +ABCC8 0 +ABTB2 7 +ACP2 0 +ACRV1 0 +ACY3 0 +ADAMTS8 0 +AGBL2 0 +AHNAK 0 +ALDH3B2 0 +ALG1L9P 0 +ALG8 0 +ALG9 0 +ALKBH3-AS1 0 +ALKBH8 0 +ALX4 0 +AMBRA1 11 +AMICA1 0 +ANAPC15 2 +ANGPTL5 0 +ANO1-AS2 0 +ANO9 0 +AP5B1 0 +APBB1 1 +APIP 1 +APLNR 0 +APOA1 0 +APOA4 0 +APOA5 0 +ARAP1 1 +ARFGAP2 0 +ARFIP2 0 +ARHGAP1 0 +ARHGAP20 0 +ARHGAP32 4 +ARRB1 0 +ART5 0 +ASCL2 0 +ASCL3 0 +ATG2A 0 +ATL3 6 +B3GAT1 0 +B3GAT3 0 +B3GNT1 0 +BACE1 0 +BAD 0 +BATF2 0 +BCL9L 0 +BDNF 2 +BET1L 0 +BGLT3 0 +BLID 0 +BRMS1 1 +BSCL2 7 +BSX 0 +BTBD10 16 +BTBD18 0 +BTG4 46 +BUD13 5 +C11orf16 0 +C11orf21 0 +C11orf24 1 +C11orf40 3 +C11orf45 0 +C11orf48 0 +C11orf65 0 +C11orf68 0 +C11orf71 0 +C11orf85 0 +C11orf91 0 +C11orf94 0 +C11orf95 0 +C1QTNF4 0 +C1QTNF5 0 +C2CD3 1 +CABP2 0 +CADM1 1 +CALCA 0 +CARD16 0 +CARD17 0 +CARD18 0 +CARS 1 +CASC23 0 +CASP1 0 +CASP12 0 +CASP4 0 +CASP5 0 +CATSPER1 0 +CCDC153 0 +CCDC179 0 +CCDC34 1 +CCDC73 6 +CCDC82 6 +CCDC87 0 +CCDC89 0 +CCDC90B 1 +CD248 0 +CD3D 0 +CD59 6 +CD81-AS1 0 +CDC42BPG 0 +CDCA5 2 +CDHR5 0 +CDK2AP2 8 +CDKN1C 0 +CDON 0 +CELF1 20 +CEND1 0 +CFL1 19 +CHID1 0 +CHKA 0 +CHORDC1 1 +CHRDL2 0 +CHRM1 0 +CHRM4 0 +CHRNA10 0 +CHST1 0 +CKAP5 16 +CLCF1 0 +CLMP 0 +CLNS1A 0 +CLPB 0 +COA4 3 +COLCA1 0 +COMMD9 1 +COPB1 6 +CORO1B 0 +CPSF7 1 +CPT1A 0 +CREBZF 0 +CRYAB 0 +CSNK2A3 1 +CSRP3 0 +CSTF3 0 +CTSC 2 +CTSD 0 +CTSF 0 +CWC15 6 +CWF19L2 7 +CYB561A3 0 +CYB5R2 0 +CYP2R1 1 +DBX1 0 +DCDC1 0 +DCDC5 0 +DCHS1 0 +DCUN1D5 2 +DDB1 4 +DDX6 1 +DEAF1 2 +DENND5A 3 +DHCR7 2 +DKFZP434K028 0 +DKK3 0 +DLG2 0 +DOC2GP 0 +DPAGT1 0 +DRD2 0 +DSCAML1 0 +DUSP8 0 +E2F8 0 +EEF1G 15 +EFEMP2 0 +EHD1 3 +EIF1AD 0 +EIF4G2 15 +ELF5 0 +EML3 0 +ESAM 0 +ETS1 0 +EXPH5 0 +FADS1 2 +FADS3 9 +FAM160A2 1 +FAM168A 1 +FAM181B 0 +FAM76B 1 +FAM86C2P 0 +FAM99B 0 +FANCF 2 +FAU 2 +FBXO3 2 +FCHSD2 0 +FDXACB1 0 +FEZ1 0 +FGF19 0 +FGF3 0 +FGF4 0 +FIBP 0 +FLJ42102 0 +FNBP4 3 +FOLH1 0 +FOSL1 0 +FTH1 0 +FXYD2 0 +FXYD6 0 +FXYD6-FXYD2 0 +FZD4 0 +GAB2 6 +GAL3ST3 0 +GALNT18 0 +GANAB 0 +GDPD4 0 +GDPD5 0 +GIF 0 +GLYAT 0 +GLYATL2 0 +GPHA2 2 +GPR152 0 +GPR83 0 +GRM5 0 +GUCY1A2 0 +GUCY2EP 0 +GVINP1 0 +H19 0 +H2AFX 1 +HARBI1 0 +HBB 0 +HBBP1 0 +HBD 0 +HBE1 0 +HBG1 0 +HBG2 0 +HEPACAM 0 +HNRNPKP3 0 +HNRNPUL2 1 +HNRNPUL2-BSCL2 0 +HPS5 4 +HPX 0 +HRAS 0 +HRASLS2 0 +HRASLS5 1 +HSPA8 349 +HYOU1 2 +IFITM10 0 +IFITM3 0 +IFITM5 0 +IFT46 5 +IGF2 0 +IGSF22 0 +IGSF9B 0 +IL18 0 +IMMP1L 0 +INS 0 +INS-IGF2 0 +INTS4 0 +INTS5 0 +IRF7 0 +JRKL-AS1 0 +KBTBD3 0 +KBTBD4 1 +KCNA4 0 +KCNE3 0 +KCNJ1 0 +KCNJ11 0 +KCNK7 0 +KCNQ1OT1 0 +KCTD14 0 +KCTD21 3 +KDELC2 0 +KIF18A 2 +KIRREL3 0 +KLHL35 0 +KRTAP5-1 0 +KRTAP5-11 0 +KRTAP5-2 0 +KRTAP5-3 0 +KRTAP5-4 0 +LAMTOR1 0 +LGR4 0 +LIN7C 0 +LINC00678 0 +LINC00900 0 +LINC00958 0 +LINC01001 0 +LINC01395 0 +LINC01495 0 +LIPT2 0 +LMNTD2 0 +LMO1 0 +LMO2 1 +LOC100126784 0 +LOC100131626 0 +LOC100132078 0 +LOC100133315 1 +LOC100506258 0 +LOC100506675 0 +LOC100507144 0 +LOC100507205 0 +LOC100507431 0 +LOC100652768 0 +LOC101927204 0 +LOC101928069 0 +LOC101928443 0 +LOC101928837 0 +LOC101928847 0 +LOC101928865 0 +LOC101928940 1 +LOC101928943 0 +LOC101928944 0 +LOC101928989 1 +LOC101929089 0 +LOC101929653 1 +LOC102288414 0 +LOC102723895 0 +LOC103312105 0 +LOC103611081 0 +LOC143666 0 +LOC283194 0 +LOC283214 0 +LOC283299 4 +LOC338694 0 +LOC387810 0 +LOC440028 0 +LOC441601 1 +LOC643733 0 +LOC644656 0 +LOC646522 0 +LOC649133 0 +LPXN 0 +LRP4 0 +LRRC32 0 +LRRC4C 2 +LRRN4CL 0 +LTBP3 0 +LYVE1 0 +MACROD1 0 +MAML2 0 +MAP3K11 1 +MAP4K2 1 +MAP6 0 +MCAM 1 +ME3 0 +MED19 16 +MEN1 1 +MFRP 0 +MIR100 0 +MIR100HG 0 +MIR125B1 0 +MIR1304 0 +MIR139 0 +MIR1908 0 +MIR192 0 +MIR194-2 0 +MIR210 0 +MIR210HG 0 +MIR3160-1 0 +MIR3162 0 +MIR3165 0 +MIR3167 0 +MIR326 0 +MIR3654 0 +MIR3664 0 +MIR3680-1 0 +MIR3680-2 0 +MIR3920 0 +MIR4298 0 +MIR4299 0 +MIR4300 0 +MIR4301 0 +MIR4485 0 +MIR4490 0 +MIR4493 0 +MIR4694 0 +MIR4696 0 +MIR4697 0 +MIR4697HG 0 +MIR483 0 +MIR548BA 0 +MIR5579 0 +MIR5582 0 +MIR5691 0 +MIR6073 0 +MIR611 0 +MIR6503 0 +MIR6514 0 +MIR6745 0 +MIR6746 0 +MIR6747 0 +MIR6749 0 +MIR675 0 +MIR6750 0 +MIR6751 0 +MIR6756 0 +MIR708 0 +MIR7154 0 +MIR7155 0 +MIR7976 0 +MIR8054 0 +MIR8068 0 +MIR8070 0 +MIR8087 0 +MIRLET7A2 0 +MMP1 0 +MMP10 0 +MMP12 0 +MMP13 0 +MMP20 0 +MMP27 0 +MMP3 0 +MMP7 0 +MMP8 0 +MOB2 2 +MPEG1 0 +MPPED2 0 +MPZL2 0 +MPZL3 0 +MRE11A 12 +MRGPRD 0 +MRGPRE 0 +MRGPRF 0 +MRGPRG 0 +MRGPRX1 0 +MRGPRX2 0 +MRPL11 1 +MRPL16 0 +MRPL17 0 +MRPL21 0 +MRPL23-AS1 0 +MRVI1 2 +MS4A6A 0 +MSANTD2 0 +MSANTD4 0 +MTA2 0 +MTCH2 5 +MTL5 1 +MTMR2 1 +MTRNR2L8 0 +MUC15 0 +MUC6 0 +MYBPC3 0 +NAALADL1 0 +NAP1L4 6 +NARS2 1 +NAV2-AS2 0 +NAV2-AS4 0 +NAV2-AS5 0 +NCAM1-AS1 0 +NCAPD3 2 +NDUFC2 0 +NDUFC2-KCTD14 0 +NFRKB 4 +NLRP10 0 +NOX4 0 +NPAT 15 +NRIP3 2 +NRXN2 0 +NUDT8 0 +NUMA1 0 +NUP160 2 +NUP98 6 +NXF1 0 +NXPE1 0 +NXPE4 0 +OPCML 0 +OR10A3 0 +OR10A6 0 +OR10AG1 0 +OR10G7 0 +OR10Q1 0 +OR10S1 0 +OR10V1 0 +OR10W1 0 +OR1S2 0 +OR2AG2 0 +OR2AT4 0 +OR2D2 0 +OR4A5 0 +OR4C11 0 +OR4C12 0 +OR4C45 0 +OR51A2 0 +OR51A4 0 +OR51B2 0 +OR51B4 0 +OR51B5 0 +OR51E2 0 +OR51F1 0 +OR51G1 0 +OR51G2 0 +OR51I1 0 +OR51S1 0 +OR51V1 0 +OR52A1 0 +OR52A5 0 +OR52B2 0 +OR52B4 0 +OR52E2 0 +OR52E6 0 +OR52E8 0 +OR52H1 0 +OR52L1 0 +OR52N1 0 +OR52N5 0 +OR52R1 0 +OR56A1 0 +OR56A4 0 +OR56A5 0 +OR5A2 0 +OR5AP2 0 +OR5B12 0 +OR5B17 0 +OR5B2 0 +OR5B21 0 +OR5B3 0 +OR5F1 0 +OR5I1 0 +OR5M1 0 +OR5M10 0 +OR5M11 0 +OR5M3 0 +OR5M8 0 +OR5M9 0 +OR5P2 0 +OR5P3 0 +OR5R1 0 +OR5T2 0 +OR5W2 0 +OR6A2 0 +OR6M1 0 +OR6T1 0 +OR6X1 0 +OR7E12P 0 +OR7E2P 0 +OR7E5P 0 +OR8B12 0 +OR8B2 0 +OR8B3 0 +OR8B4 0 +OR8B8 0 +OR8D1 0 +OR8D2 0 +OR8H1 0 +OR8J3 0 +OR8K5 0 +OR9G4 0 +OR9I1 0 +ORAOV1 0 +OSBP 11 +OSBPL5 0 +OVCH2 0 +OVOL1-AS1 0 +P4HA3 0 +PACSIN3 0 +PAK1 5 +PAMR1 0 +PATE2 0 +PATL1 3 +PAX6 0 +PC 1 +PCSK7 0 +PDDC1 0 +PDE2A 0 +PDGFD 0 +PEX16 0 +PGM2L1 0 +PGR 0 +PHF21A 4 +PHLDA2 0 +PHOX2A 0 +PICALM 1 +PIDD1 0 +PIH1D2 0 +PIK3C2A 25 +PITPNM1 0 +PKNOX2-AS1 0 +PLA2G16 2 +PLEKHA7 3 +PLET1 0 +POLD4 0 +POLR2L 0 +POU2AF1 0 +PPP1CA 0 +PPP1R14B 0 +PPP2R1B 1 +PRCP 0 +PRDM10 10 +PRG2 0 +PRG3 0 +PRKCDBP 0 +PRKRIR 1 +PRPF19 2 +PSMA1 0 +PSMC3 0 +PTGDR2 0 +PTH 0 +PTPN5 2 +PTPRCAP 0 +PUS3 0 +PVRL1 0 +PYGM 0 +RAB30 1 +RAB38 2 +RAB3IL1 0 +RAB6A 0 +RAG2 0 +RAPSN 0 +RASGRP2 0 +RBM4B 2 +RCOR2 0 +RDX 14 +RELA 1 +RHOG 6 +RIC3 0 +RIN1 0 +RNASEH2C 0 +RNF141 0 +RNH1 2 +RNU6-83P 0 +ROBO4 2 +RPL23AP64 0 +RPS13 40 +RPS25 9 +RPUSD4 9 +RRAS2 1 +RRP8 1 +RSF1 6 +SAA2 0 +SAA2-SAA4 0 +SAA3P 0 +SAA4 0 +SAAL1 0 +SBF2 0 +SCGB1D4 0 +SCN2B 0 +SCN3B 0 +SCN4B 0 +SCT 0 +SCUBE2 1 +SENCR 0 +SERGEF 0 +SESN3 0 +SF1 5 +SHANK2 0 +SIAE 0 +SIGIRR 0 +SIK3 2 +SIRT3 0 +SLC15A3 0 +SLC1A2 0 +SLC22A18AS 0 +SLC22A24 0 +SLC22A25 0 +SLC22A6 0 +SLC22A8 0 +SLC25A22 1 +SLC25A45 0 +SLC29A2 0 +SLC35F2 0 +SLC36A4 1 +SLC37A4 0 +SLC43A1 0 +SLC43A3 3 +SLC5A12 0 +SLN 0 +SMCO4 1 +SNHG1 0 +SNORA1 0 +SNORA18 0 +SNORA25 0 +SNORA32 0 +SNORA40 0 +SNORA54 0 +SNORA70E 0 +SNORA8 0 +SNORD22 0 +SNORD25 0 +SNORD26 0 +SNORD27 0 +SNORD28 0 +SNORD29 0 +SNORD30 0 +SNORD31 0 +SNORD5 0 +SNORD6 0 +SNORD67 0 +SNORD97 1 +SNX19 3 +SOX6 0 +SPATA19 0 +SPI1 0 +SPTBN2 0 +SPTY2D1 1 +SRPR 4 +SSRP1 7 +SSSCA1-AS1 0 +ST3GAL4-AS1 0 +ST5 3 +STARD10 0 +STK33 0 +STX5 0 +SUV420H1 1 +SVIP 1 +SYT13 0 +SYT7 0 +SYTL2 11 +SYVN1 3 +TAF10 2 +TAF1D 0 +TBX10 0 +TCN1 0 +TENM4 1 +TH 0 +THY1 0 +THYN1 12 +TIMM10 0 +TIMM8B 0 +TMEM123 6 +TMEM134 0 +TMEM218 0 +TMEM223 0 +TMEM225 0 +TMEM258 3 +TMEM262 0 +TMEM41B 2 +TMEM9B 0 +TMPRSS13 0 +TMPRSS4-AS1 0 +TMPRSS5 0 +TNKS1BP1 0 +TOLLIP 0 +TP53AIP1 0 +TP53I11 0 +TPH1 0 +TPP1 0 +TRAF6 3 +TREH 0 +TRIM21 0 +TRIM29 0 +TRIM3 1 +TRIM49 0 +TRIM49D1 0 +TRIM49D2P 0 +TRIM5 0 +TRIM51HP 0 +TRIM53AP 0 +TRIM64B 0 +TRIM64C 0 +TRIM66 0 +TRIM68 2 +TRMT112 12 +TRPC6 0 +TRPM5 0 +TRPT1 0 +TSG101 16 +TUT1 0 +UBE2L6 0 +UBQLN3 0 +UBQLNL 0 +UBXN1 0 +UCP2 7 +UCP3 0 +UEVLD 0 +UNC93B1 0 +USH1C 0 +USP2 51 +USP28 0 +VPS37C 3 +VSIG2 0 +VSTM5 0 +VWCE 0 +WDR74 0 +WNT11 0 +WT1 0 +XRRA1 2 +YIF1A 0 +YPEL4 0 +ZBED5 0 +ZBTB3 0 +ZBTB44 1 +ZDHHC24 0 +ZNF195 2 +ZNF202 1 +ZNF214 3 +ZNF705E 0 +ZNHIT2 0 +ZPR1 0 +ZW10 1 +A2M 0 +A2MP1 0 +AAAS 4 +ABCB9 0 +ABCC9 0 +ABCD2 0 +ACRBP 0 +ADAMTS20 0 +ADCY6 0 +AGAP2 0 +AICDA 0 +AKAP3 1 +ALDH1L2 0 +ALKBH2 1 +AMIGO2 0 +AMN1 0 +ANAPC5 0 +ANAPC7 3 +ANHX 0 +ANKLE2 3 +ANKRD52 0 +ANKS1B 0 +ANO2 0 +APOBEC1 0 +APOF 0 +APPL2 0 +ARF3 11 +ARHGAP9 0 +ARHGDIB 0 +ARL1 0 +ARNTL2-AS1 0 +ARPC3 0 +ART4 0 +ASB8 7 +ASUN 2 +ATF7 4 +ATP2B1 30 +ATP5B 16 +ATP5G2 3 +ATXN2 16 +AVIL 1 +AVPR1A 0 +B4GALNT1 0 +BAZ2A 10 +BBS10 0 +BCAT1 0 +BCDIN3D 0 +BEST3 0 +BHLHE41 0 +BIN2 0 +BRAP 1 +BTG1 2 +C12orf36 0 +C12orf4 4 +C12orf42 0 +C12orf43 4 +C12orf49 2 +C12orf50 0 +C12orf56 0 +C12orf66 0 +C12orf71 0 +C12orf73 0 +C12orf76 0 +C12orf77 2 +C12orf79 0 +C12orf80 0 +C1QL4 0 +C1R 0 +C1RL 0 +C2CD5 2 +C3AR1 0 +CACNA1C-AS1 1 +CACNA1C-AS2 0 +CACNA1C-AS4 0 +CACNA2D4 0 +CALCOCO1 1 +CAMKK2 0 +CAPRIN2 3 +CAPS2 0 +CASC1 9 +CBX5 3 +CCDC38 0 +CCDC53 0 +CCDC59 5 +CCDC92 0 +CCER1 0 +CCNT1 1 +CD163 0 +CD163L1 0 +CD27-AS1 0 +CD63 0 +CD69 0 +CDCA3 0 +CDK17 4 +CDK2AP1 2 +CDK4 0 +CELA1 0 +CEP290 0 +CEP83 0 +CERS5 1 +CHD4 16 +CHFR 3 +CISTR 0 +CIT 1 +CKAP4 0 +CLEC1A 0 +CLEC1B 0 +CLEC2A 0 +CLEC2B 0 +CLEC4C 2 +CLEC4E 0 +CLEC7A 0 +CLECL1 0 +CLIP1 12 +CLLU1OS 0 +CMKLR1 2 +CNPY2 0 +COL2A1 0 +COQ5 1 +CORO1C 2 +CPM 1 +CPNE8 0 +CRACR2A 0 +CRY1 5 +CS 23 +CSAD 0 +CSRNP2 3 +CSRP2 12 +CTDSP2 2 +CYP27B1 0 +DBX2 0 +DCD 0 +DCN 0 +DCP1B 1 +DCTN2 0 +DDIT3 0 +DDN 0 +DDX11-AS1 0 +DDX12P 0 +DDX23 1 +DDX51 0 +DDX54 8 +DENND5B 2 +DEPDC4 0 +DHH 0 +DHX37 0 +DIABLO 1 +DNAJC14 2 +DPY19L2 0 +DUSP16 5 +DUSP6 0 +DYNLL1-AS1 1 +E2F7 0 +EEA1 2 +EIF2B1 1 +ENDOU 0 +EPS8 1 +EPYC 0 +ERGIC2 0 +ERP27 0 +FAIM2 0 +FAM109A 0 +FAM186A 0 +FAM186B 0 +FAM19A2 1 +FAM222A-AS1 0 +FAM60A 2 +FAM86FP 0 +FAM90A1 0 +FBXL14 0 +FBXO21 0 +FGD6 1 +FGF23 0 +FGF6 0 +FIGNL2 0 +FKBP11 0 +FMNL3 0 +FOXM1 1 +FOXN4 0 +FZD10-AS1 0 +GALNT4 0 +GALNT6 2 +GALNT9 0 +GCN1L1 7 +GDF3 0 +GIT2 20 +GLS2 0 +GLT8D2 0 +GLTP 0 +GLYCAM1 0 +GNN 1 +GNPTAB 3 +GNS 10 +GOLGA2P5 0 +GOLGA3 4 +GPN3 1 +GPR19 0 +GPR84 0 +GPRC5D 0 +GRIN2B 0 +GRIP1 3 +GSG1 0 +GTSF1 15 +GUCY2C 0 +GXYLT1 0 +GYS2 0 +H3F3C 4 +HAL 1 +HCAR1 0 +HCAR2 0 +HCAR3 0 +HDAC7 0 +HEBP1 0 +HECTD4 0 +HIST4H4 0 +HNF1A-AS1 0 +HOTAIR 0 +HOXC-AS1 0 +HOXC-AS2 0 +HOXC-AS3 0 +HOXC13-AS 0 +HPD 0 +HRK 0 +HVCN1 1 +IFFO1 0 +IFNG 0 +IGF1 0 +IKBIP 0 +IL22 0 +IL26 0 +IL31 0 +ING4 1 +IPO8 54 +IQCD 0 +ITGA5 0 +ITGA7 0 +ITGB7 0 +ITPR2 0 +KANSL2 4 +KCNC2 0 +KCNJ8 1 +KCTD10 19 +KDM2B 0 +KDM5A 12 +KERA 0 +KIF21A 0 +KITLG 0 +KLRAP1 0 +KLRB1 0 +KLRC1 0 +KLRC2 0 +KLRC3 0 +KLRC4 0 +KLRC4-KLRK1 0 +KLRK1 0 +KMT2D 4 +KRAS 2 +KRR1 17 +KRT1 0 +KRT2 0 +KRT3 0 +KRT4 0 +KRT5 0 +KRT6A 0 +KRT6B 0 +KRT6C 0 +KRT71 0 +KRT72 0 +KRT73 0 +KRT74 0 +KRT75 0 +KRT76 0 +KRT77 0 +KRT78 0 +KRT79 0 +KRT8 0 +KRT80 0 +KRT81 0 +KRT82 0 +KRT83 0 +KRT84 0 +KRT85 0 +KSR2 0 +LACRT 0 +LALBA 0 +LDHB 0 +LHX5 0 +LIMA1 203 +LIN7A 0 +LINC00477 0 +LINC00485 0 +LINC00612 0 +LINC00934 0 +LINC00937 0 +LINC00938 0 +LINC00939 0 +LINC00940 0 +LINC00944 0 +LINC01089 0 +LINC01234 0 +LINC01465 0 +LINC01481 0 +LINC01486 0 +LINC01498 0 +LLPH 0 +LMBR1L 2 +LMNTD1 0 +LMO3 0 +LOC100129940 0 +LOC100130075 0 +LOC100190940 0 +LOC100240735 0 +LOC100287944 0 +LOC100505978 0 +LOC100506159 0 +LOC100506551 0 +LOC100506606 0 +LOC100506844 1 +LOC100507065 0 +LOC100507195 0 +LOC100507250 0 +LOC100507377 0 +LOC100996671 0 +LOC100996679 0 +LOC101927058 0 +LOC101927267 0 +LOC101927318 0 +LOC101927415 0 +LOC101927583 0 +LOC101927592 0 +LOC101927616 0 +LOC101927637 0 +LOC101927653 0 +LOC101927901 0 +LOC101928002 0 +LOC101928030 0 +LOC101928597 0 +LOC101928731 0 +LOC101929549 0 +LOC101929584 0 +LOC102723544 0 +LOC102724020 0 +LOC102724421 0 +LOC283332 0 +LOC283335 1 +LOC283440 0 +LOC414300 0 +LOC440117 0 +LOC574538 0 +LOC643339 0 +LOC643711 0 +LOC643770 0 +LOC728084 0 +LOC728739 0 +LOH12CR2 2 +LPAR5 0 +LPCAT3 0 +LRCOL1 0 +LRIG3 1 +LRP6 11 +LRRC10 0 +LTA4H 9 +LUM 0 +M6PR 2 +MAGOHB 0 +MANSC1 0 +MANSC4 0 +MAP3K12 1 +MAPKAPK5-AS1 0 +MCRS1 1 +MDM1 4 +MED13L 9 +METTL1 0 +MFAP5 0 +MGAT4C 0 +MGP 0 +MIP 0 +MIR1178 0 +MIR1244-1 0 +MIR1244-2 0 +MIR1244-3 0 +MIR1279 0 +MIR1291 0 +MIR1293 0 +MIR26A2 0 +MIR3198-2 0 +MIR3649 0 +MIR3913-1 0 +MIR4302 0 +MIR4303 0 +MIR4304 0 +MIR4472-2 0 +MIR4498 0 +MIR4701 0 +MIR548AL 0 +MIR548Z 0 +MIR6074 0 +MIR617 0 +MIR618 0 +MIR620 0 +MIR6759 0 +MIR6861 0 +MIR6880 0 +MIR7106 0 +MIR7107 0 +MIR7844 0 +MIR8072 0 +MKRN9P 0 +MLF2 0 +MMAB 1 +MMP19 0 +MORN3 0 +MPHOSPH9 0 +MRPL51 0 +MRS2P2 0 +MSI1 0 +MTERF2 0 +MYL2 0 +MYO1A 0 +NAA25 1 +NACA 3 +NAP1L1 75 +NCKAP5L 2 +NCOR2 1 +NDUFA12 1 +NDUFA4L2 0 +NELL2 0 +NFE2 0 +NFYB 0 +NINJ2 0 +NOP2 5 +NOS1 0 +NPFF 0 +NR2C1 4 +NRIP2 0 +NT5DC3 0 +NTN4 0 +NUAK1 0 +NUP37 8 +OASL 0 +OLR1 0 +OR10AD1 0 +OR6C6 0 +OR6C70 0 +OSBPL8 4 +OVCH1 1 +PAH 0 +PAN2 0 +PARP11 0 +PAWR 1 +PCED1B-AS1 0 +PHB2 7 +PHLDA1 0 +PIANP 0 +PITPNM2 0 +PKP2 0 +PLA2G1B 0 +PLBD1 0 +PLCZ1 1 +PLEKHA8P1 0 +PMCH 0 +PMEL 0 +POC1B 1 +POC1B-GALNT4 0 +POLE 0 +POP5 0 +POU5F1P3 0 +POU6F1 0 +PPFIA2 0 +PPM1H 0 +PPP1CC 14 +PPP1R12A 35 +PPP1R1A 0 +PPTC7 0 +PRB1 0 +PRB2 0 +PRB3 0 +PRB4 0 +PRDM4 10 +PRH1 0 +PRH1-PRR4 0 +PRICKLE1 0 +PRIM1 0 +PRKAG1 3 +PRR4 0 +PTGES3 38 +PTHLH 0 +PTPRB 0 +PTPRR 1 +PUS7L 0 +PXN 2 +PZP 0 +R3HDM2 0 +RAB35 1 +RACGAP1 7 +RACGAP1P 0 +RAD52 0 +RAPGEF3 0 +RARG 0 +RASAL1 0 +RASSF8-AS1 1 +RASSF9 0 +RBM19 0 +RBP5 0 +RDH16 0 +RECQL 0 +RERG 0 +RERGL 0 +RHEBL1 1 +RHOF 0 +RILPL1 0 +RILPL2 0 +RIMBP2 1 +RND1 3 +RNF41 0 +RNU6-19P 0 +RNU6-78P 0 +RNY5 0 +RPAP3 0 +RPL6 3 +RPLP0 36 +RPSAP52 0 +RSRC2 10 +SARNP 0 +SART3 13 +SBNO1 7 +SCAF11 2 +SCARB1 0 +SCARNA11 4 +SCARNA12 0 +SCNN1A 0 +SDR9C7 0 +SDS 0 +SELPLG 0 +SENP1 0 +SLC11A2 1 +SLC15A4 3 +SLC15A5 0 +SLC2A13 0 +SLC2A14 0 +SLC2A3 0 +SLC38A1 0 +SLC38A2 0 +SLC38A4 0 +SLC41A2 1 +SLC5A8 0 +SLC6A12 0 +SLC6A13 0 +SLC6A15 0 +SLC8B1 0 +SLC9A7P1 0 +SLCO1A2 0 +SMAGP 0 +SMARCC2 8 +SMCO3 0 +SMUG1 1 +SNORA2A 0 +SNORA2B 0 +SNORA34 0 +SNORA70G 0 +SNORD59A 0 +SNORD59B 0 +SOCS2-AS1 0 +SOX5 0 +SP7 0 +SPPL3 7 +SPRYD3 0 +SPSB2 0 +SRSF9 0 +SSH1 2 +ST8SIA1 0 +STAC3 0 +STAT2 0 +STAT6 0 +STX2 4 +STYK1 0 +SVOP 0 +SYCP3 5 +SYT10 0 +TAC3 0 +TAOK3 19 +TAS2R10 0 +TAS2R13 0 +TAS2R14 0 +TAS2R19 0 +TAS2R20 0 +TAS2R30 0 +TAS2R31 0 +TAS2R42 0 +TAS2R43 0 +TAS2R46 0 +TAS2R50 0 +TAS2R7 0 +TAS2R8 0 +TAS2R9 0 +TBX3 3 +TBX5 1 +TESC 0 +TESPA1 0 +TFCP2 0 +THRIL 2 +TIMELESS 1 +TM7SF3 0 +TMBIM4 0 +TMCC3 0 +TMEM116 1 +TMEM119 0 +TMEM132D 3 +TMEM194A 6 +TMPO-AS1 0 +TMTC1 0 +TNFRSF1A 0 +TRHDE-AS1 0 +TRIAP1 0 +TRPV4 0 +TSPAN19 0 +TSPAN8 0 +TUBA1A 0 +TUBA1B 26 +TWF1 1 +UBC 52 +UBE2N 2 +UHRF1BP1L 1 +USP30-AS1 0 +USP44 3 +VAMP1 0 +VDR 0 +VPS29 0 +VPS33A 2 +VPS37B 3 +VSIG10 0 +VWF 0 +WBP11 3 +WIBG 2 +WIF1 0 +WNT10B 0 +WSB2 0 +YAF2 1 +YARS2 4 +YBX3 2 +ZBTB39 13 +ZCCHC8 1 +ZCRB1 8 +ZFC3H1 0 +ZNF384 1 +ZNF385A 0 +ZNF605 0 +ZNF641 5 +ZNF891 0 +ABCC4 20 +ADPRHL1 0 +ALG5 0 +AMER2 0 +ANKRD10 6 +ANKRD20A19P 0 +ANKRD20A9P 0 +ANKRD26P3 0 +ARGLU1 0 +ARHGEF7-AS1 0 +ATP11A-AS1 0 +ATP4B 0 +ATP7B 2 +BASP1P1 0 +C1QTNF9B 0 +CAB39L 0 +CARS2 0 +CCDC122 0 +CCDC168 0 +CCDC169 0 +CCDC169-SOHLH2 0 +CDX2 0 +CENPJ 3 +CLDN10-AS1 0 +CLYBL-AS1 0 +CLYBL-AS2 0 +COL4A1 0 +COL4A2-AS1 0 +COMMD6 2 +CPB2 0 +CRYL1 0 +CSNK1A1L 0 +CTAGE11P 0 +DACH1 1 +DAOA-AS1 0 +DCLK1 0 +DCT 8 +DCUN1D2 0 +DHRS12 0 +DIAPH3 4 +DIS3 0 +DLEU1-AS1 0 +DLEU2 1 +DLEU7 0 +DOCK9 2 +DZIP1 4 +EBPL 0 +EDNRB 0 +EFNB2 3 +ELF1 13 +ENOX1 0 +EPSTI1 34 +ERICH6B 0 +ESD 0 +FAM155A 0 +FAM155A-IT1 0 +FBXL3 0 +FGF14 13 +FGF14-IT1 0 +FLT1 0 +FLT3 0 +FOXO1 14 +FRY-AS1 0 +GAS6 0 +GGACT 5 +GJA3 0 +GJB2 0 +GJB6 0 +GPC5-AS1 0 +GPC5-AS2 0 +GPC6-AS1 0 +GPC6-AS2 0 +GPR12 0 +GPR18 1 +GPR183 0 +GRTP1 7 +GUCY1B2 0 +HMGB1 12 +HSPH1 3 +HTR2A 2 +INTS6 1 +IRS2 0 +KATNAL1 26 +KBTBD6 1 +KBTBD7 3 +KCTD12 0 +KCTD4 0 +KDELC1 0 +KIAA0226L 0 +KLF12 2 +KLHL1 0 +KPNA3 14 +LATS2 1 +LCP1 0 +LECT1 0 +LHFP 0 +LIG4 1 +LINC00282 0 +LINC00297 0 +LINC00330 0 +LINC00331 0 +LINC00346 0 +LINC00353 0 +LINC00358 0 +LINC00359 0 +LINC00367 0 +LINC00371 1 +LINC00379 0 +LINC00380 0 +LINC00395 0 +LINC00397 0 +LINC00410 0 +LINC00411 0 +LINC00412 0 +LINC00417 0 +LINC00423 0 +LINC00424 0 +LINC00426 0 +LINC00441 0 +LINC00448 0 +LINC00456 0 +LINC00457 0 +LINC00458 1 +LINC00462 0 +LINC00463 0 +LINC00539 0 +LINC00548 0 +LINC00550 0 +LINC00552 0 +LINC00554 0 +LINC00559 0 +LINC00563 0 +LINC00565 0 +LINC00571 0 +LINC00572 0 +LINC00598 0 +LINC01050 0 +LINC01069 0 +LINC01198 0 +LINC01232 0 +LMO7-AS1 1 +LNX2 1 +LOC101060553 0 +LOC101927248 0 +LOC101927437 0 +LOC101928730 0 +LPAR6 0 +MAB21L1 0 +MCF2L-AS1 0 +MED4 0 +METTL21C 0 +MICU2 0 +MINOS1P1 0 +MIPEP 1 +MIR1297 0 +MIR15A 0 +MIR16-1 0 +MIR2681 0 +MIR3169 0 +MIR320D1 0 +MIR3613 0 +MIR3665 0 +MIR4305 0 +MIR4499 0 +MIR4500 0 +MIR4500HG 0 +MIR4705 0 +MIR5006 0 +MIR548AN 0 +MIR548AS 0 +MIR548F5 0 +MIR5693 0 +MIR8079 0 +MRPS31 1 +MRPS31P5 0 +MTIF3 2 +MTMR6 0 +MTRF1 0 +MTUS2-AS1 0 +MYCBP2 0 +MYO16-AS1 0 +MZT1 2 +N4BP2L1 0 +N4BP2L2 9 +N4BP2L2-IT2 0 +N6AMT2 0 +NALCN 0 +NDFIP2-AS1 0 +NEK3 0 +NEK5 0 +NUFIP1 3 +OXGR1 0 +PAN3-AS1 0 +PARP4 0 +PCCA-AS1 0 +PCDH20 0 +PCDH8 0 +PCDH9 0 +PCID2 1 +PDX1-AS1 0 +POSTN 0 +POU4F1 1 +PROSER1 122 +PSPC1 1 +RAB20 5 +RASA3 2 +RBM26 4 +RCBTB1 0 +RCBTB2 2 +RNASEH2B-AS1 0 +RNF113B 0 +RNF219 6 +RNF6 0 +SACS 0 +SHISA2 0 +SIAH3 1 +SKA3 0 +SLC10A2 0 +SLC15A1 0 +SLC25A30 0 +SLC46A3 0 +SLC7A1 0 +SLITRK1 0 +SLITRK6 0 +SMAD9 0 +SMIM2 0 +SMIM2-IT1 0 +SNORA31 0 +SOHLH2 6 +SOX21 0 +SPATA13-AS1 0 +SPG20 0 +SPRY2 0 +SPRYD7 1 +STARD13 0 +STK24 13 +STOML3 0 +SUCLA2 1 +SUGT1P3 0 +SUPT20H 9 +TBC1D4 0 +TEX26-AS1 0 +TEX30 0 +TGDS 0 +THSD1 0 +TMTC4 0 +TPT1 189 +TPTE2 0 +TPTE2P1 0 +TPTE2P5 0 +TRPC4 0 +TSC22D1 2 +TUBA3C 0 +TUBGCP3 1 +TUSC8 0 +UBAC2-AS1 0 +UBL3 1 +UGGT2 0 +URAD 0 +USP12 0 +VPS36 3 +VWA8 0 +XPO4 2 +ZAR1L 26 +ZC3H13 34 +ZDHHC20 0 +ZIC5 0 +ZMYM5 4 +ABCD4 2 +ACIN1 2 +ACTN1 12 +ACYP1 0 +ADAM20 0 +ADAM20P1 0 +ADAM21P1 0 +ADAM6 0 +ADCY4 0 +AHNAK2 0 +AJUBA 0 +AKT1 2 +ALDH6A1 1 +ALKBH1 3 +ANGEL1 1 +ANKRD9 0 +AP1G2 0 +AREL1 1 +ARHGAP5-AS1 0 +ASB2 0 +ATG14 6 +ATG2B 2 +ATP6V1D 7 +ATXN3 1 +BAG5 0 +BAZ1A 38 +BCL11B 0 +BEGAIN 0 +BMP4 0 +BMS1P17 0 +BMS1P18 0 +BRF1 0 +BTBD7 0 +C14orf1 2 +C14orf105 0 +C14orf142 0 +C14orf182 0 +C14orf183 0 +C14orf2 3 +C14orf37 1 +C14orf39 1 +C14orf64 0 +C14orf93 0 +CATSPERB 0 +CBLN3 0 +CCDC175 3 +CCDC177 0 +CCDC85C 1 +CCDC88C 3 +CCNB1IP1 0 +CDC42BPB 8 +CDCA4 1 +CDH24 0 +CDKL1 0 +CEBPE 0 +CEP128 1 +CFL2 1 +CHD8 8 +CHMP4A 0 +CIDEB 0 +CINP 1 +CKB 2 +CLEC14A 0 +CLMN 1 +CMA1 0 +CNIH1 0 +COX16 0 +CTSG 0 +DAD1 1 +DCAF5 44 +DDHD1 1 +DDX24 21 +DEGS2 1 +DHRS1 0 +DHRS4-AS1 0 +DHRS7 0 +DICER1 1 +DIO2 0 +DIO3OS 0 +DLGAP5 142 +DNAAF2 1 +DPF3 0 +DTD2 0 +DUXAP10 0 +EAPP 1 +EFCAB11 3 +EFS 0 +EGLN3 1 +ELK2AP 0 +ELMSAN1 5 +EMC9 0 +EML5 2 +ENTPD5 0 +ERH 7 +ERO1L 0 +ESR2 2 +EXOC5 4 +FAM161B 1 +FAM181A-AS1 0 +FBLN5 4 +FBXO33 1 +FERMT2 3 +FKBP3 0 +FLJ31306 0 +FOXA1 0 +FOXG1-AS1 0 +FOXN3 0 +FRMD6-AS1 0 +FRMD6-AS2 0 +FSCB 0 +FUT8-AS1 0 +GALC 0 +GCH1 17 +GMFB 6 +GNPNAT1 0 +GPHB5 0 +GPR132 0 +GPR135 0 +GPR33 0 +GPR68 0 +GPX2 0 +GSC 0 +GTF2A1 0 +GZMB 0 +GZMH 0 +HAUS4 4 +HEATR4 0 +HEATR5A 2 +HECTD1 1 +HIF1A-AS1 0 +HIF1A-AS2 0 +HNRNPC 12 +HOMEZ 0 +HSP90AA1 220 +IFI27L2 0 +IPO4 0 +IRF2BPL 3 +ISM2 0 +ITPK1 2 +JAG2 2 +JPH4 0 +KCNH5 1 +KCNK10 0 +KLHL28 3 +KLHL33 0 +KTN1-AS1 1 +L2HGDH 0 +L3HYPDH 0 +LGMN 4 +LINC00341 0 +LINC00520 0 +LINC00605 0 +LINC00639 0 +LINC00641 0 +LINC00644 0 +LINC00648 0 +LINC01296 0 +LINC01467 4 +LOC100128233 0 +LOC100129345 0 +LOC100288846 2 +LOC100289511 0 +LOC100506071 0 +LOC100506499 0 +LOC100506603 0 +LOC100506700 0 +LOC100507437 0 +LOC101927062 0 +LOC101927418 0 +LOC101927780 0 +LOC101928075 0 +LOC101928791 0 +LOC101929572 0 +LOC101929718 0 +LOC102723809 0 +LOC102724153 0 +LOC102724190 0 +LOC642426 0 +LOC730202 0 +LTBP2 1 +MAP3K9 1 +MAP4K5 0 +MAX 1 +MBIP 20 +MDGA2 0 +MDP1 0 +MED6 4 +METTL3 0 +MIR1247 0 +MIR203B 0 +MIR208A 0 +MIR208B 0 +MIR3173 0 +MIR4308 0 +MIR4503 0 +MIR4707 0 +MIR4708 0 +MIR4709 0 +MIR4710 0 +MIR548AI 0 +MIR548AZ 0 +MIR548Y 0 +MIR5580 0 +MIR624 0 +MIR6717 0 +MIR6765 0 +MIR7703 0 +MIR7855 0 +MIS18BP1 3 +MLH3 0 +MOAP1 0 +MOK 4 +MYH6 0 +MYH7 0 +NDRG2 0 +NDUFB1 0 +NEDD8 0 +NEDD8-MDP1 0 +NEK9 0 +NEMF 7 +NFKBIA 34 +NGB 0 +NID2 1 +NIN 0 +NKX2-1 0 +NKX2-8 0 +NOVA1 0 +NOXRED1 0 +NPC2 1 +NRDE2 2 +NRL 0 +NUDT14 0 +NUMB 10 +OR10G2 0 +OR10G3 0 +OR11H2 0 +OR4K13 0 +OR4K14 0 +OR5AU1 0 +OR6S1 0 +OSGEP 0 +OTX2 260 +PGF 0 +PIGH 0 +PLEK2 14 +PNMA1 1 +POLE2 0 +POMT2 0 +POTEH-AS1 0 +POTEM 0 +PPP1R13B 3 +PPP1R3E 0 +PPP2R3C 9 +PPP2R5E 1 +PRIMA1 0 +PRKD1 0 +PRMT5 2 +PROX2 0 +PSMB5 3 +PSME2 0 +PTCSC3 0 +PTPN21 3 +PYGL 0 +RAB15 1 +RAB2B 1 +RABGGTA 0 +RALGAPA1 0 +RALGAPA1P 0 +RBM23 1 +RD3L 0 +RDH11 0 +RIPK3 0 +RNASE1 0 +RNASE11 0 +RNASE12 0 +RNASE13 0 +RNASE9 0 +RNU6-19P 0 +RNU6-2 0 +RNU6-31P 0 +RPL10L 0 +RPL36AL 0 +RPPH1 1 +RPS29 4 +RPS6KA5 0 +RPS6KL1 1 +RTL1 0 +RTN1 0 +SALL2 2 +SAV1 7 +SCARNA13 0 +SDR39U1 0 +SEC23A 1 +SEL1L 3 +SERPINA1 0 +SERPINA10 0 +SERPINA11 0 +SERPINA12 0 +SERPINA2 0 +SERPINA6 0 +SERPINA9 0 +SETD3 0 +SFTA3 0 +SGPP1 0 +SIX1 0 +SIX4 0 +SLC10A1 0 +SLC22A17 0 +SLC25A21 0 +SLC25A29 0 +SLC35F4 0 +SLC7A7 15 +SLC7A8 11 +SLC8A3 0 +SMEK1 2 +SNHG10 0 +SNORA79 0 +SNORD126 0 +SNORD8 0 +SNORD9 0 +SNW1 16 +SNX6 5 +SOS2 1 +SPTB 0 +SPTLC2 0 +SPTSSA 0 +STON2 0 +STRN3 0 +STXBP6 2 +SUPT16H 0 +SYNDIG1L 0 +SYNE3 0 +SYNJ2BP 7 +SYNJ2BP-COX16 0 +TBPL2 0 +TC2N 5 +TCL1A 188 +TEP1 0 +TEX21P 0 +TGFB3 0 +TGM1 0 +TIMM9 0 +TINF2 1 +TM9SF1 1 +TMED10 4 +TMED8 0 +TMEM179 1 +TMEM229B 1 +TMEM30B 0 +TMEM55B 0 +TRAPPC6B 0 +TRIM9 0 +TRIP11 8 +TRMT5 1 +TTC5 5 +TTC7B 0 +TXNDC16 0 +VCPKMT 0 +VIPAS39 0 +VTI1B 0 +WARS 1 +WDHD1 2 +WDR89 3 +XRCC3 0 +ZBTB25 0 +ZDHHC22 0 +ZFHX2 0 +ZFP36L1 0 +ZFYVE1 0 +ZFYVE26 0 +ZNF219 0 +AAGAB 0 +ACSBG1 0 +ACTC1 0 +ADAM10 3 +ADAMTS17 1 +ADAMTS7 0 +ADPGK 17 +AGBL1-AS1 0 +ALDH1A2 4 +ANKRD63 0 +ANP32A 1 +ANP32A-IT1 0 +ANPEP 0 +ANXA2 0 +AP3B2 1 +AP3S2 0 +AQR 1 +ARPIN 1 +ARPP19 1 +ATP10A 0 +ATP8B4 0 +AVEN 1 +BCL2A1 0 +BCL2L10 39 +BMF 0 +BNC1 0 +BNIP2 0 +BTBD1 0 +C15orf38-AP3S2 0 +C15orf40 0 +C15orf52 0 +C15orf56 0 +C15orf57 0 +C15orf59 0 +C2CD4B 0 +CA12 1 +CALML4 11 +CATSPER2 0 +CATSPER2P1 0 +CCPG1 3 +CDAN1 0 +CELF6 0 +CEP152 8 +CERS3 0 +CHRFAM7A 0 +CHRNA3 2 +CHRNB4 0 +CHSY1 3 +CIB1 0 +CIB2 0 +CILP 0 +CLN6 0 +CLPX 9 +COPS2 8 +COX5A 0 +CPEB1 2 +CSNK1A1P1 0 +CSNK1G1 7 +CSPG4 0 +CT62 0 +CTSH 1 +CXADRP2 0 +CYP11A1 0 +CYP19A1 0 +CYP1A1 0 +DAPK2 0 +DDX11L9 0 +DENND4A 0 +DET1 2 +DMXL2 1 +DNAJC17 0 +DNM1P35 0 +DNM1P46 0 +DPH6 0 +DPP8 2 +DUOX2 0 +DUOXA1 0 +DYX1C1 4 +DYX1C1-CCPG1 0 +EDC3 0 +EFTUD1 3 +EHD4 0 +EIF3J-AS1 0 +ELL3 0 +EMC7 1 +EPB42 0 +ETFA 54 +EXD1 0 +FAM169B 1 +FAM174B 3 +FAM189A1 0 +FAM214A 41 +FAM219B 0 +FAM227B 0 +FAM96A 1 +FBN1 0 +FBXO22-AS1 0 +FLJ10038 0 +FMN1 8 +FRMD5 0 +FSD2 0 +FSIP1 0 +GABARAPL3 0 +GABPB1 1 +GABRB3 0 +GATM 0 +GJD2 0 +GNB5 2 +GOLGA2P10 0 +GOLGA2P7 0 +GOLGA6A 0 +GOLGA6L10 0 +GOLGA6L22 0 +GOLGA6L5P 0 +GOLGA6L6 0 +GOLGA6L7P 0 +GOLGA8A 0 +GOLGA8B 0 +GOLGA8DP 0 +GOLGA8F 0 +GOLGA8G 0 +GOLGA8K 0 +GOLGA8M 0 +GOLGA8O 0 +GOLGA8R 0 +GPR176 0 +GRAMD2 0 +GTF2A2 1 +HAPLN3 3 +HCN4 0 +HDC 12 +HDDC3 0 +HDGFRP3 0 +HERC1 1 +HERC2 0 +HERC2P2 0 +HERC2P3 0 +HEXA 0 +HIGD2B 0 +HOMER2 2 +HSP90AB4P 0 +ICE2 1 +IDH2 2 +IGDCC3 4 +IGDCC4 0 +IMP3 1 +INO80 1 +IQCH-AS1 0 +ITGA11 1 +KATNBL1 0 +KIAA0101 0 +KIF7 0 +KLHL25 0 +LARP6 0 +LCMT2 0 +LCTL 0 +LEO1 4 +LINC00597 0 +LINC00923 0 +LINC00927 0 +LINC00928 0 +LINC00930 0 +LINC01197 0 +LINC01314 0 +LINC01491 0 +LINGO1 0 +LINS 0 +LOC100131315 0 +LOC100422556 0 +LOC100507472 0 +LOC101926895 0 +LOC101927112 0 +LOC101927286 0 +LOC101927310 0 +LOC101927332 0 +LOC101928134 0 +LOC101928414 0 +LOC101928694 0 +LOC101928869 0 +LOC101929076 4 +LOC101929173 0 +LOC101929196 0 +LOC101929439 0 +LOC101929586 0 +LOC101929679 0 +LOC101929701 0 +LOC101929743 0 +LOC102724631 0 +LOC145783 0 +LOC145845 0 +LOC283683 1 +LOC283693 0 +LOC283710 0 +LOC283731 0 +LOC338963 0 +LOC642423 0 +LOC645752 0 +LOC646214 0 +LOC727751 0 +LOC729911 0 +LOC91450 0 +LOXL1-AS1 0 +LPCAT4 18 +LRRC57 0 +LTK 0 +LYSMD2 0 +LYSMD4 0 +MAGEL2 0 +MAN2C1 0 +MEGF11 0 +MEIS2 0 +MESDC2 2 +MESP1 0 +MEX3B 0 +MFAP1 2 +MFGE8 0 +MGC15885 0 +MIR1233-1 0 +MIR1233-2 0 +MIR1266 0 +MIR1272 0 +MIR1276 0 +MIR1282 0 +MIR211 0 +MIR2116 0 +MIR3529 0 +MIR3942 0 +MIR4310 0 +MIR4312 0 +MIR4313 0 +MIR4508 0 +MIR4509-1 0 +MIR4509-2 0 +MIR4509-3 0 +MIR4511 0 +MIR4513 0 +MIR4514 0 +MIR4715 0 +MIR4716 0 +MIR5094 0 +MIR549A 0 +MIR627 0 +MIR628 0 +MIR629 0 +MIR631 0 +MIR6766 0 +MIR6881 0 +MIR6882 0 +MIR8063 0 +MIR8067 0 +MNS1 0 +MRPL42P5 0 +MRPL46 0 +MTFMT 0 +MTHFS 0 +MTMR10 0 +MYEF2 0 +MYO1E 0 +MYO5A 0 +MYO5C 0 +MYO9A 9 +NBEAP1 0 +NDN 0 +NDNL2 1 +NDUFAF1 1 +NEDD4 0 +NF1P2 0 +NIPA1 1 +NIPA2 2 +NMB 0 +NOP10 0 +NPTN 3 +NPTN-IT1 0 +NR2F2-AS1 0 +NRG4 1 +NTRK3 5 +OAZ2 0 +OCA2 2 +OIP5 1 +ONECUT1 0 +OR4F4 0 +OTUD7A 0 +PARP16 6 +PARP6 0 +PATL2 25 +PCSK6 1 +PDCD7 11 +PEAK1 2 +PEX11A 4 +PGPEP1L 0 +PIF1 0 +PIN4P1 0 +PKM 1 +PLA2G4D 0 +PLA2G4E 0 +PLA2G4F 0 +PLCB2 0 +PLIN1 0 +POLG 1 +POTEB 0 +POTEB2 0 +PPIB 0 +PPIP5K1 0 +PPP1R14D 0 +PRC1 15 +PRKXP1 0 +PRTG 5 +PTPN9 4 +PWRN2 0 +PYGO1 0 +RAB27A 0 +RAD51-AS1 0 +RASGRF1 1 +RASGRP1 1 +RASL12 0 +RBPMS2 5 +RFX7 0 +RGMA 6 +RHCG 0 +RHOV 0 +RLBP1 0 +RMDN3 3 +RNU6-2 0 +RORA 0 +RPAP1 0 +RPL4 4 +RPP25 0 +RPS17 0 +RPS27L 2 +RSL24D1 9 +SCAMP2 2 +SCAPER 9 +SCARNA14 0 +SEC11A 0 +SECISBP2L 7 +SEMA7A 1 +SERINC4 1 +SHC4 0 +SHF 0 +SIN3A 46 +SLC12A6 0 +SLC30A4 0 +SLTM 1 +SNAPC5 1 +SNORD16 0 +SNORD18A 0 +SNORD18B 0 +SNORD18C 0 +SNRPA1 1 +SNUPN 0 +SPATA41 0 +SPATA8-AS1 0 +SPG11 1 +SPG21 2 +SPPL2A 5 +SPTBN5 0 +SRP14 2 +ST20 0 +ST20-MTHFS 0 +STARD5 0 +STOML1 0 +STRA6 0 +STRC 0 +TARSL2 3 +TBC1D2B 2 +TGM5 0 +TGM7 1 +THAP10 0 +TIPIN 2 +TJP1 7 +TLE3 0 +TM2D3 0 +TMC3 0 +TMCO5B 0 +TMEM87A 18 +TNFAIP8L3 0 +TP53BP1 1 +TRPM1 0 +TRPM7 3 +TSPAN3 0 +TTBK2 1 +TTC23 0 +TYRO3P 0 +UACA 9 +UBAP1L 0 +UBE2Q2P1 0 +UBE3A 12 +UBL7 0 +UBR1 3 +ULK3 0 +ULK4P1 0 +ULK4P2 0 +ULK4P3 0 +USP3-AS1 0 +USP50 0 +VIMP 0 +VPS13C 1 +VPS33B 0 +VPS39 0 +VWA9 0 +WDR61 0 +WDR72 0 +WDR73 0 +WHAMMP1 0 +WHAMMP3 0 +ZNF106 14 +ZNF280D 0 +ZNF770 2 +ZSCAN29 6 +AARS 0 +ABCA3 0 +ABCC11 0 +ABCC12 0 +ABCC6 5 +ABCC6P2 0 +ACD 2 +ACSM1 0 +ACSM2B 0 +ADAMTS18 2 +ADAT1 6 +ADCY9 2 +AGRP 0 +AKTIP 18 +AMFR 1 +ANKRD11 8 +ANKRD26P1 1 +ANKS3 0 +AP1G1 1 +APOOP5 1 +APRT 0 +ARHGAP17 5 +ARL6IP1 7 +ATP6V0D1 1 +AXIN1 1 +B3GNT9 0 +BBS2 0 +BCAR1 1 +BCAR4 49 +BCL7C 0 +BEAN1-AS1 0 +BOLA2 0 +BOLA2B 0 +BRD7 2 +BRICD5 0 +C16orf13 0 +C16orf3 0 +C16orf46 0 +C16orf47 0 +C16orf54 0 +C16orf58 0 +C16orf74 1 +C16orf87 1 +C16orf89 0 +C16orf90 0 +C16orf91 1 +C16orf93 0 +C16orf95 0 +C16orf97 0 +C1QTNF8 0 +CA5A 0 +CARHSP1 0 +CASC16 0 +CASKIN1 2 +CBFA2T3 3 +CBLN1 0 +CCDC102A 0 +CCDC154 0 +CCDC64B 1 +CCDC78 0 +CCDC79 0 +CD2BP2 0 +CDH11 0 +CDH16 0 +CDH8 0 +CDIP1 1 +CDIPT 1 +CDR2 2 +CDYL2 2 +CEMP1 0 +CENPBD1 1 +CENPT 1 +CES1 0 +CES5A 0 +CFAP20 0 +CFDP1 0 +CHMP1A 0 +CHST5 0 +CHST6 0 +CHTF8 0 +CIAPIN1 6 +CLCN7 0 +CLDN6 0 +CLEC18B 0 +CLN3 1 +CMC2 2 +CMTM4 21 +CMTR2 0 +CNGB1 0 +CNOT1 3 +COG4 2 +COG7 0 +COG8 0 +CORO7 0 +CORO7-PAM16 0 +COTL1 0 +COX6A2 0 +CPPED1 0 +CREBBP 7 +CRNDE 0 +CRYM 0 +CSNK2A2 1 +CTRB2 2 +CTRL 0 +CYBA 0 +DBNDD1 0 +DCTPP1 0 +DCUN1D3 0 +DDX28 3 +DEXI 0 +DKFZP434H168 0 +DNAH3 1 +DNAJA2 11 +DOC2A 0 +DOK4 0 +DPEP2 0 +DPEP3 0 +DYNC1LI2 6 +EARS2 0 +ECI1 0 +EIF3C 0 +EIF3CL 0 +EMC8 1 +EMP2 0 +ENKD1 0 +ERI2 1 +ERN2 0 +ERVK13-1 0 +ESRP2 0 +EXOC3L1 0 +EXOSC6 0 +FA2H 0 +FAM192A 4 +FAM57B 0 +FAM86A 0 +FAM92B 0 +FAM96B 0 +FANCA 0 +FBXL16 0 +FBXL19-AS1 0 +FBXO31 1 +FENDRR 0 +FHOD1 1 +FOPNL 0 +GALNS 0 +GCSH 0 +GDE1 0 +GDPD3 0 +GFOD2 0 +GGA2 1 +GINS2 24 +GLG1 2 +GLYR1 2 +GNG13 0 +GOT2 10 +GP2 0 +GPR139 0 +GPRC5B 0 +GRIN2A 2 +GSG1L 0 +GSPT1 21 +GTF3C1 0 +HAGH 2 +HCFC1R1 1 +HERC2P4 0 +HIRIP3 4 +HS3ST6 0 +HSDL1 0 +HYDIN 1 +IFT140 0 +IGFALS 0 +IGSF6 0 +IL21R-AS1 0 +IL27 0 +IRX3 0 +ITFG1 0 +JMJD8 0 +KARS 0 +KCNG4 0 +KCTD13 1 +KCTD19 0 +KIAA0430 0 +KIAA0895L 0 +KIFC3 2 +KLHDC4 1 +KNOP1 4 +LCAT 0 +LCMT1-AS1 0 +LDHD 0 +LINC00235 0 +LINC00254 0 +LINC00273 0 +LINC00917 0 +LINC00919 0 +LINC00922 1 +LINC01081 0 +LINC01227 0 +LITAF 0 +LMF1 0 +LOC100130700 0 +LOC100131303 0 +LOC100190986 0 +LOC100288162 0 +LOC100289092 0 +LOC100505942 0 +LOC100506083 0 +LOC100506655 0 +LOC100507419 0 +LOC100507501 0 +LOC100507534 0 +LOC101926896 0 +LOC101926950 0 +LOC101927311 0 +LOC101927348 0 +LOC101927650 0 +LOC101927814 0 +LOC101928035 0 +LOC101928417 0 +LOC101928682 0 +LOC102467146 0 +LOC102723385 0 +LOC102724084 0 +LOC102724163 0 +LOC102724467 0 +LOC102724927 0 +LOC146481 0 +LOC283856 0 +LOC283922 0 +LOC388242 0 +LOC390705 0 +LOC399491 0 +LOC400511 0 +LOC400553 0 +LOC613037 0 +LOC613038 0 +LOC643802 0 +LOC729159 0 +LOC730183 0 +LRRC29 0 +LUC7L 0 +MAF 0 +MAPK3 0 +MBTPS1 0 +MEFV 0 +MEIOB 0 +MIR1225 0 +MIR1538 0 +MIR1910 0 +MIR3178 0 +MIR3179-1 0 +MIR3179-2 0 +MIR3179-3 0 +MIR3180-1 0 +MIR3180-2 0 +MIR3180-3 0 +MIR3180-4 0 +MIR3180-5 0 +MIR328 0 +MIR4519 0 +MIR4721 0 +MIR4722 0 +MIR5093 0 +MIR548AA2 0 +MIR6126 0 +MIR6506 0 +MIR6511A2 0 +MIR6511B1 0 +MIR6770-2 0 +MIR6772 0 +MIR6773 0 +MIR6775 0 +MIR6859-1 0 +MIR6859-2 0 +MIR6862-1 0 +MIR6862-2 0 +MIR7641-2 0 +MLKL 0 +MPHOSPH6 3 +MRPL28 0 +MRPS34 1 +MSRB1 0 +MT1G 0 +MTHFSD 0 +MTRNR2L4 0 +MTSS1L 0 +MVD 1 +MYH11 2 +MYLK3 0 +N4BP1 3 +NAE1 4 +NAGPA 1 +NARFL 0 +NDUFAB1 3 +NETO2 4 +NLRC3 0 +NME3 0 +NMRAL1 0 +NOB1 1 +NOMO2 0 +NOXO1 0 +NPIPA5 0 +NPIPA7 0 +NPIPA8 0 +NPIPB3 0 +NPIPB6 0 +NPRL3 0 +NQO1 0 +NSMCE1 0 +NTAN1 0 +NTHL1 0 +NUDT21 5 +NUPR1 0 +PABPN1L 9 +PALB2 0 +PAM16 0 +PARN 3 +PDF 0 +PDILT 0 +PDXDC2P 0 +PDZD9 0 +PGP 0 +PHLPP2 0 +PIEZO1 1 +PKD1 0 +PKD1L2 0 +PKD1L3 5 +PKD1P6 0 +PKMYT1 1 +PLA2G10 0 +PLLP 1 +PMFBP1 0 +POLR3K 0 +PPL 1 +PRDM7 0 +PRM1 0 +PRM2 0 +PRM3 0 +PRSS22 0 +PRSS27 0 +PRSS30P 0 +PRSS33 0 +PRSS36 0 +PRSS53 0 +PRSS54 0 +PRSS8 0 +PSMB10 0 +PTX4 0 +PYCARD 0 +PYDC1 0 +RABEP2 0 +RANBP10 0 +RFWD3 6 +RGS11 1 +RHBDF1 0 +RNF166 0 +RNPS1 4 +RNU6-76P 0 +ROGDI 0 +RPGRIP1L 0 +RPL3L 0 +RPS15A 4 +RPS2 1 +RPUSD1 0 +RRAD 0 +RRN3 3 +RRN3P1 0 +RRN3P3 0 +RSL1D1 9 +SALL1 0 +SDR42E1 1 +SEPHS2 4 +SEPT1 0 +SEPT12 0 +SEZ6L2 0 +SHCBP1 4 +SIAH1 2 +SLC12A4 0 +SLC22A31 0 +SLC38A7 3 +SLC38A8 1 +SLC6A10P 0 +SLC7A5 0 +SLC7A5P1 0 +SLC7A5P2 0 +SLC7A6OS 0 +SLX4 0 +SMG1 10 +SMG1P2 0 +SMG1P3 0 +SMG1P5 0 +SMG1P7 0 +SMPD3 5 +SNAI3 2 +SNORA10 0 +SNORA46 0 +SNORA64 0 +SNORA70D 0 +SNORA76A 0 +SNORD60 0 +SNORD71 0 +SNX20 0 +SOCS1 0 +SPATA2L 0 +SPSB3 0 +SRL 0 +SRRM2-AS1 0 +SSTR5-AS1 17 +ST3GAL2 0 +STX1B 0 +SULT1A1 0 +SULT1A2 0 +TAF1C 0 +TAT 0 +TBC1D10B 5 +TBX6 0 +TCEB2 0 +TEKT5 0 +TERF2 2 +TFAP4 1 +THUMPD1 3 +TIGD7 3 +TK2 2 +TLDC1 1 +TMED6 0 +TMEM114 0 +TMEM170A 2 +TMEM186 0 +TMEM231 1 +TMEM8A 1 +TNP2 0 +TOX3 0 +TP53TG3 0 +TP53TG3B 0 +TP53TG3C 0 +TPPP3 0 +TPSB2 0 +TPSG1 0 +TRADD 0 +TRAP1 0 +TSR3 0 +TUFM 0 +TVP23A 0 +TXNDC11 2 +TXNL4B 2 +UBALD1 0 +UBE2MP1 0 +UMOD 0 +UNKL 40 +URAHP 0 +USP31 2 +USP7 15 +VAC14 2 +VKORC1 4 +VPS35 4 +VPS9D1 1 +WDR24 0 +WDR59 0 +XPO6 4 +XYLT1 0 +YBX3P1 0 +YPEL3 0 +ZC3H7A 3 +ZCCHC14 7 +ZDHHC1 0 +ZDHHC7 10 +ZFHX3 9 +ZKSCAN2 1 +ZNF19 1 +ZNF200 9 +ZNF205-AS1 0 +ZNF213-AS1 0 +ZNF23 0 +ZNF319 0 +ZNF423 0 +ZNF500 1 +ZNF597 0 +ZNF598 3 +ZNF629 1 +ZNF668 0 +ZNF688 0 +ZNF689 21 +ZNF747 0 +ZNF764 0 +ZNF768 0 +ZNF785 0 +ZNF821 0 +ZNF843 0 +ZP2 27 +ZSCAN10 0 +ZSCAN32 1 +AA06 0 +AARSD1 0 +AATK 0 +ABCA10 0 +ABCA5 0 +ABCA6 0 +ABCA8 0 +ABCA9 0 +ABHD15 0 +ABR 3 +ACACA 1 +ACLY 8 +ACOX1 0 +ACTG1 95 +AIPL1 0 +AKAP10 0 +ALDH3A1 0 +ALDOC 0 +ALOX12B 0 +ALOX15 4 +ALOXE3 2 +ALYREF 0 +AMZ2P1 0 +ANKFY1 0 +ANKRD40 1 +APOH 0 +APPBP2 0 +ARGFXP2 0 +ARHGAP27 0 +ARHGDIA 1 +ARL16 0 +ARL17A 0 +ARL17B 0 +ARL5C 0 +ASB16-AS1 0 +ASGR1 0 +ASGR2 0 +ASIC2 0 +ATP2A3 0 +ATP5H 0 +ATPAF2 1 +ATXN7L3 0 +AURKB 5 +AXIN2 0 +B3GNTL1 0 +B9D1 0 +BAIAP2-AS1 0 +BECN1 4 +BLMH 2 +BRCA1 8 +BRIP1 1 +BTBD17 0 +BZRAP1 0 +C17orf102 0 +C17orf47 0 +C17orf51 1 +C17orf58 0 +C17orf59 0 +C17orf62 0 +C17orf67 0 +C17orf70 0 +C17orf75 0 +C17orf85 11 +C17orf96 0 +C17orf98 0 +C1QBP 0 +C1QL1 0 +C1QTNF1-AS1 0 +CA10 1 +CACNA1G-AS1 0 +CACNB1 0 +CAMKK1 0 +CAMTA2 4 +CANT1 0 +CASC17 1 +CASKIN2 1 +CBX1 30 +CBX4 0 +CBX8 1 +CCDC144B 0 +CCDC144NL 0 +CCDC182 0 +CCDC42 0 +CCDC43 4 +CCDC47 1 +CCDC57 0 +CCL1 0 +CCL14 0 +CCL15 0 +CCL15-CCL14 0 +CCL16 0 +CCL23 0 +CCL3 0 +CCL3L1 0 +CCL3L3 0 +CCL5 0 +CCR10 0 +CCR7 0 +CCT6B 1 +CD300C 0 +CD300E 0 +CD300LB 0 +CD300LD 0 +CD300LF 0 +CD7 0 +CD79B 0 +CDC27 5 +CDC42EP4 0 +CDRT1 0 +CDRT15 0 +CDRT4 0 +CDRT8 0 +CENPV 0 +CEP112 0 +CEP131 1 +CHAD 0 +CHRNE 0 +CLDN7 0 +CLEC10A 1 +CLUH 1 +COA3 0 +COIL 6 +COL1A1 0 +COPRS 5 +COPS3 13 +COPZ2 0 +CORO6 0 +COX10-AS1 0 +COX11 0 +CPSF4L 0 +CRK 13 +CRLF3 1 +CSH1 0 +CSH2 0 +CSHL1 0 +CSNK1D 5 +CTC1 0 +CTDNEP1 3 +CUEDC1 0 +CWC25 15 +CXCL16 0 +CYB561 1 +CYGB 0 +CYTH1 0 +DCAKD 0 +DCXR 0 +DDX5 10 +DDX52 2 +DERL2 0 +DHRS13 0 +DHRS7C 0 +DHX33 2 +DHX58 0 +DLG4 0 +DLX3 0 +DNAH17 1 +DNAJC7 2 +DOC2B 0 +DUS1L 0 +DUSP3 1 +DVL2 1 +EFTUD2 2 +EIF4A3 0 +ELAC2 2 +ENTHD2 2 +EPN2-AS1 0 +ERN1 0 +ETV4 0 +EVI2A 0 +EVI2B 0 +EVPL 0 +EXOC7 1 +EZH1 1 +FADS6 0 +FAM101B 0 +FAM104A 11 +FAM106A 0 +FAM117A 6 +FAM134C 0 +FAM171A2 0 +FAM195B 0 +FAM20A 0 +FAM222B 33 +FAM83G 0 +FASN 0 +FBF1 0 +FBXL20 5 +FBXO47 0 +FDXR 0 +FLCN 1 +FLII 2 +FLJ45079 0 +FLOT2 0 +FOXJ1 0 +FOXO3B 0 +FTSJ3 2 +FXR2 1 +GABARAP 0 +GALK1 0 +GAS2L2 0 +GAS7 10 +GEMIN4 0 +GFAP 0 +GGA3 1 +GGT6 1 +GH1 0 +GH2 0 +GHDC 0 +GIP 0 +GIT1 1 +GJC1 2 +GJD3 0 +GLOD4 3 +GNA13 21 +GNGT2 0 +GPATCH8 11 +GPR179 0 +GPS2 3 +GRAP 0 +GRB2 0 +GRIN2C 0 +GSDMB 0 +H3F3B 263 +HAP1 9 +HCRT 0 +HDAC5 0 +HEATR6 0 +HEATR9 0 +HELZ 17 +HES7 0 +HID1 0 +HILS1 0 +HN1 0 +HNF1B 0 +HOXB1 0 +HOXB13 0 +HOXB2 0 +HOXB3 0 +HOXB4 0 +HOXB5 0 +HOXB6 0 +HOXB7 1 +HOXB8 0 +HOXB9 0 +HS3ST3A1 0 +HSF5 1 +ICAM2 0 +IFT20 1 +IKZF3 0 +INCA1 2 +INPP5K 0 +INTS2 0 +ITGA2B 0 +ITGAE 1 +JMJD6 1 +JUP 1 +KANSL1 0 +KAT2A 2 +KCNAB3 0 +KCNH4 0 +KCNJ2-AS1 0 +KIAA0100 0 +KIAA0753 2 +KIAA1731NL 0 +KIF18B 0 +KLHL11 0 +KRBA2 0 +KRT10 0 +KRT12 0 +KRT13 0 +KRT14 0 +KRT15 0 +KRT16 0 +KRT16P2 0 +KRT16P3 0 +KRT17 0 +KRT18P55 0 +KRT19 0 +KRT20 0 +KRT222 0 +KRT23 0 +KRT24 0 +KRT25 0 +KRT26 0 +KRT27 0 +KRT28 0 +KRT31 0 +KRT32 0 +KRT33A 0 +KRT33B 0 +KRT34 0 +KRT35 0 +KRT36 0 +KRT37 0 +KRT38 0 +KRT39 0 +KRT40 0 +KRT42P 0 +KRT9 0 +KRTAP1-1 0 +KRTAP1-3 0 +KRTAP1-4 0 +KRTAP1-5 0 +KRTAP16-1 0 +KRTAP17-1 0 +KRTAP2-1 0 +KRTAP2-2 0 +KRTAP2-3 0 +KRTAP2-4 0 +KRTAP29-1 0 +KRTAP3-1 0 +KRTAP3-2 0 +KRTAP3-3 0 +KRTAP4-1 0 +KRTAP4-11 0 +KRTAP4-12 0 +KRTAP4-2 0 +KRTAP4-3 0 +KRTAP4-4 0 +KRTAP4-5 0 +KRTAP4-6 0 +KRTAP4-8 0 +LEPREL4 0 +LGALS3BP 0 +LGALS9B 0 +LIMD2 0 +LINC00324 0 +LINC00469 0 +LINC00482 0 +LINC00483 0 +LINC00511 0 +LINC00671 0 +LINC00673 0 +LINC00675 0 +LINC00854 0 +LINC00910 0 +LINC00974 0 +LINC01180 0 +LINC01476 0 +LOC100128006 0 +LOC100128288 0 +LOC100130370 0 +LOC100132174 0 +LOC100288866 0 +LOC100294362 0 +LOC100506325 0 +LOC100506371 0 +LOC100506713 0 +LOC100996291 0 +LOC101060321 0 +LOC101060351 0 +LOC101060376 0 +LOC101060389 0 +LOC101926996 0 +LOC101927207 0 +LOC101927239 0 +LOC101927274 0 +LOC101927539 0 +LOC101927557 0 +LOC101927666 0 +LOC101927911 0 +LOC101928001 0 +LOC101928266 0 +LOC101928418 0 +LOC101928567 0 +LOC101928710 0 +LOC101928766 0 +LOC101928855 0 +LOC101929767 0 +LOC102723505 0 +LOC102723517 0 +LOC102723859 0 +LOC102724009 0 +LOC102724508 0 +LOC102724862 0 +LOC103021295 0 +LOC146880 0 +LOC284009 0 +LOC284023 0 +LOC284080 0 +LOC388436 0 +LOC440434 0 +LOC644172 0 +LOC653653 0 +LOC728392 0 +LOC79999 0 +LRRC37A3 0 +LRRC37A4P 0 +LRRC59 3 +LRRC75A 1 +LSM12 0 +LYRM9 1 +LYZL6 0 +MAFG 3 +MAGOH2 0 +MAP3K14 0 +MAPT-AS1 0 +MARCH10 0 +MBTD1 1 +MED1 3 +MED13 26 +MED24 1 +MED31 0 +MEOX1 0 +METTL16 0 +MFAP4 0 +MFSD6L 0 +MGC16275 0 +MIEN1 0 +MIF4GD 1 +MIR10A 0 +MIR1180 0 +MIR1203 0 +MIR1250 0 +MIR1253 0 +MIR132 0 +MIR142 0 +MIR144 0 +MIR152 0 +MIR195 0 +MIR196A1 0 +MIR212 0 +MIR22 0 +MIR22HG 2 +MIR301A 0 +MIR3064 0 +MIR3183 0 +MIR3184 0 +MIR3185 0 +MIR3186 0 +MIR324 0 +MIR338 0 +MIR33B 0 +MIR3614 0 +MIR378J 0 +MIR4315-1 0 +MIR4315-2 0 +MIR4316 0 +MIR451A 0 +MIR4520-1 0 +MIR4522 0 +MIR4524A 0 +MIR454 0 +MIR4731 0 +MIR4732 0 +MIR4733 0 +MIR4734 0 +MIR4736 0 +MIR4737 0 +MIR4738 0 +MIR4739 0 +MIR4740 0 +MIR497 0 +MIR497HG 0 +MIR5047 0 +MIR6129 0 +MIR635 0 +MIR636 0 +MIR6510 0 +MIR657 0 +MIR6776 0 +MIR6777 0 +MIR6778 0 +MIR6780A 0 +MIR6781 0 +MIR6782 0 +MIR6783 0 +MIR6784 0 +MIR6864 0 +MIR6865 0 +MIR6868 0 +MIR6883 0 +MIR6884 0 +MKS1 0 +MMD 0 +MMP28 0 +MNT 1 +MPO 0 +MPP2 4 +MPP3 0 +MRPL10 0 +MRPL27 0 +MRPL38 0 +MRPL45P2 0 +MRPS23 2 +MTMR4 1 +MTVR2 0 +MXRA7 0 +MYADML2 0 +MYBBP1A 1 +MYH1 0 +MYH10 1 +MYH13 0 +MYH2 0 +MYH3 0 +MYH4 0 +MYH8 0 +MYO18A 1 +MYO19 0 +MYO1C 1 +MYO1D 0 +NAA38 0 +NACA2 0 +NARR 0 +NAT9 0 +NATD1 1 +NCOR1 24 +NEURL4 0 +NEUROD2 0 +NLE1 0 +NLRP1 0 +NOS2 0 +NOTUM 0 +NPLOC4 1 +NPTX1 0 +NR1D1 0 +NT5C 0 +NT5C3B 0 +NUFIP2 7 +NUP88 8 +NXN 3 +OGFOD3 0 +OMG 0 +OR1D2 0 +OR1D5 0 +OR1E1 0 +OR1E2 0 +OR1G1 0 +OR3A1 0 +OR3A2 0 +ORMDL3 2 +OSBPL7 0 +OXLD1 0 +P2RX1 0 +P2RX5 0 +P2RX5-TAX1BP3 1 +P4HB 4 +PCGF2 0 +PCYT2 0 +PDE6G 0 +PECAM1 0 +PELP1 1 +PEMT 0 +PER1 0 +PEX12 1 +PFN1 5 +PGAP3 0 +PHB 2 +PHF12 3 +PHF23 1 +PHOSPHO1 0 +PIGS 2 +PIK3R5 0 +PIK3R6 0 +PIP4K2B 0 +PIRT 0 +PITPNA 1 +PITPNM3 0 +PLCD3 0 +PLD6 1 +PLEKHH3 0 +PLEKHM1 0 +PLEKHM1P 0 +PLSCR3 0 +PLXDC1 0 +PMP22 0 +POLDIP2 3 +POLG2 0 +PPP1R27 0 +PPP1R9B 0 +PPY 0 +PRAC1 0 +PROCA1 0 +PRPF8 3 +PRPSAP1 0 +PRR15L 0 +PSMC3IP 1 +PSMD12 2 +PTGES3L 0 +PTGES3L-AARSD1 0 +PTRF 0 +PTRH2 1 +PYCR1 0 +PYY 0 +QRICH2 0 +RAB34 0 +RAB40B 0 +RAB5C 2 +RAD51D 0 +RAD51L3-RFFL 0 +RAMP2-AS1 0 +RARA-AS1 0 +RASD1 0 +RBFOX3 0 +RCVRN 0 +RDM1 0 +RECQL5 5 +RFFL 3 +RFNG 0 +RHBDF2 1 +RILP 0 +RNF157 1 +RNF222 0 +RNF43 0 +RNFT1 0 +RPH3AL 0 +RPL23 7 +RPL26 17 +RPRML 0 +RTN4RL1 0 +SAMD14 0 +SAT2 0 +SCARF1 0 +SCARNA20 0 +SCIMP 0 +SCN4A 0 +SCO1 0 +SCRN2 0 +SDF2 0 +SDK2 5 +SEBOX 0 +SECTM1 0 +SEPT4 0 +SEZ6 0 +SGK494 0 +SGSH 0 +SHMT1 0 +SHPK 0 +SIRT7 2 +SKA2 2 +SKAP1 0 +SLC13A5 0 +SLC16A11 0 +SLC16A6 0 +SLC25A11 1 +SLC25A19 0 +SLC25A35 0 +SLC25A39 3 +SLC35B1 3 +SLC35G3 0 +SLC38A10 0 +SLC39A11 0 +SLC43A2 1 +SLC46A1 0 +SLC47A2 0 +SLC4A1 0 +SLC52A1 0 +SLC6A4 0 +SLFN11 0 +SLFN12 0 +SLFN12L 0 +SLFN13 0 +SLFN14 0 +SMARCD2 0 +SMARCE1 4 +SMCR5 0 +SMG6 1 +SMURF2 14 +SMYD4 3 +SNF8 0 +SNORA21 1 +SNORD124 0 +SNORD91A 0 +SNORD91B 0 +SOCS3 0 +SOST 0 +SOX15 1 +SOX9-AS1 0 +SP6 1 +SPAG5 2 +SPAG7 3 +SPAG9 3 +SPATA22 0 +SPATA32 0 +SPDYE4 0 +SPOP 4 +SRCIN1 0 +SREBF1 0 +SRP68 2 +SRSF1 9 +SRSF2 0 +SSH2 1 +ST6GALNAC1 0 +ST6GALNAC2 0 +STAC2 0 +STAT3 1 +STAT5B 2 +STRA13 0 +STRADA 4 +STX8 1 +SUMO2 10 +SUPT4H1 0 +SYNRG 4 +TAC4 0 +TAX1BP3 0 +TBC1D16 0 +TBC1D28 0 +TBC1D3 0 +TBC1D3B 0 +TBC1D3C 0 +TBC1D3F 0 +TBC1D3H 0 +TBC1D3P1-DHX40P1 0 +TBC1D3P2 0 +TBX2-AS1 0 +TEFM 0 +TEKT1 0 +TEKT3 0 +TEX14 1 +TEX2 9 +TIAF1 0 +TIMP2 0 +TK1 0 +TLCD1 0 +TLCD2 0 +TMC6 0 +TMEM100 0 +TMEM101 0 +TMEM105 0 +TMEM107 0 +TMEM11 1 +TMEM220 0 +TMEM256 0 +TMEM256-PLSCR3 0 +TMIGD1 0 +TNFRSF13B 0 +TNRC6C-AS1 0 +TNS4 0 +TOB1 5 +TOM1L2 1 +TOP2A 17 +TOP3A 0 +TP53 0 +TRAPPC1 2 +TRIM16 0 +TRIM25 0 +TRIM37 3 +TRIM47 0 +TRIM65 0 +TRPV1 0 +TRPV3 1 +TSR1 1 +TTLL6 0 +TUBD1 0 +TVP23C 0 +TVP23C-CDRT4 0 +UBE2G1 4 +UBE2O 1 +UBTF 1 +ULK2 1 +UNC119 0 +UNC13D 0 +USH1G 0 +USP22 1 +USP32 1 +USP32P2 0 +USP36 4 +UTP6 10 +VAMP2 0 +VAT1 4 +VEZF1 3 +VMO1 0 +VPS53 0 +VTN 0 +WBP2 3 +WDR45B 19 +WFDC21P 0 +WIPI1 0 +WNT3 0 +YBX2 9 +YWHAE 13 +YWHAEP7 0 +ZBTB4 1 +ZNF18 0 +ZNF232 1 +ZNF286B 0 +ZNF287 0 +ZNF385C 0 +ZNF594 0 +ZNF624 1 +ZNF652 15 +ZNF750 0 +ZSWIM7 1 +ZZEF1 0 +ARHGAP27 0 +ARL17A 0 +CRHR1 0 +CRHR1-IT1 0 +KANSL1-AS1 0 +LOC644172 0 +LRRC37A 0 +LRRC37A2 0 +LRRC37A4P 0 +MAPT 0 +MAPT-IT1 0 +MGC57346 0 +MIR4315-1 0 +MIR4315-2 0 +NSF 0 +NSFP1 0 +PLEKHM1 0 +SPPL2C 0 +STH 0 +ABHD3 0 +ACAA2 1 +AFG3L2 0 +ALPK2 0 +ANKRD29 0 +AQP4 0 +ATP5A1 10 +ATP8B1 0 +B4GALT6 2 +BCL2 0 +C18orf32 0 +C18orf42 0 +CBLN2 0 +CBX3P2 0 +CCBE1 1 +CCDC11 1 +CCDC178 4 +CCDC68 0 +CD226 0 +CDH19 0 +CDH2 1 +CELF4 0 +CEP76 0 +CHST9 0 +COLEC12 0 +CPLX4 1 +CTAGE1 0 +CXADRP3 0 +CXXC1 0 +CYB5A 2 +DLGAP1 0 +DSC1 0 +DSC2 0 +DSC3 0 +DSEL 0 +DSG1-AS1 0 +DYM 1 +ENOSF1 2 +EPB41L3 1 +EPG5 0 +ESCO1 0 +FAM210A 3 +FAM69C 0 +FBXO15 0 +FECH 0 +GACAT2 0 +GAREM 2 +GATA6-AS1 0 +GTSCR1 0 +HDHD2 1 +IER3IP1 12 +INO80C 0 +KC6 0 +KCTD1 0 +KDSR 0 +KLHL14 0 +L3MBTL4 0 +LAMA1 0 +LDLRAD4-AS1 0 +LINC-ROR 0 +LINC00305 0 +LINC00470 0 +LINC00526 0 +LINC00668 0 +LINC00669 0 +LINC00909 0 +LINC01029 0 +LINC01254 0 +LINC01444 0 +LINC01478 0 +LMAN1 4 +LOC100131655 0 +LOC100192426 0 +LOC100505474 0 +LOC100505776 0 +LOC100652770 0 +LOC100996324 0 +LOC101060542 0 +LOC101927229 0 +LOC101927273 0 +LOC101927322 0 +LOC101927571 0 +LOC101927651 0 +LOC101928167 0 +LOC102724246 0 +LOC400654 0 +LOC400655 0 +LOC644669 0 +LOC727896 0 +LOXHD1 1 +LPIN2 22 +MBD1 0 +MBD2 0 +MBP 3 +MC2R 0 +MC4R 0 +METTL4 0 +MEX3C 8 +MIR1-2 0 +MIR133A1 0 +MIR133A1HG 0 +MIR187 0 +MIR3591 0 +MIR4317 0 +MIR4319 0 +MIR4320 0 +MIR4744 0 +MIR5583-2 0 +MIR7153 0 +MIR8057 0 +MIR8078 0 +MPPE1 0 +MRO 0 +MYO5B 2 +MYOM1 0 +NARS 7 +NDUFV2-AS1 0 +NETO1 0 +NOL4 0 +NPC1 22 +OSBPL1A 9 +PARD6G 1 +PCAT18 0 +PIAS2 4 +PIEZO2 0 +PIGN 1 +POTEC 0 +PPP4R1 1 +PQLC1 0 +PSTPIP2 0 +PTPN2 1 +RAX 0 +RIT2 1 +RNF152 0 +ROCK1 2 +RPL17 0 +RPL17-C18orf32 0 +RPRD1A 2 +RTTN 10 +SERPINB3 0 +SERPINB4 0 +SKOR2 0 +SLC14A2-AS1 0 +SLC25A52 0 +SLC39A6 12 +SMAD2 10 +SMAD7 0 +SMIM21 0 +SNORA37 0 +SNORD58A 0 +SNORD58B 0 +SNORD58C 0 +SPIRE1 0 +SS18 0 +ST8SIA5 0 +STARD6 0 +SYT4 0 +TCEB3B 0 +TCEB3C 0 +TCEB3CL 0 +TCEB3CL2 0 +TCF4 0 +THOC1 1 +TMEM200C 0 +TMEM241 1 +TMX3 4 +TPGS2 1 +TRAPPC8 2 +TXNL1 5 +TXNL4A 0 +TYMSOS 0 +VPS4B 10 +YES1 9 +ZADH2 1 +ZBTB14 0 +ZBTB7C 0 +ZNF24 3 +ZNF396 0 +ZNF516 0 +ZNF519 0 +ZNF521 0 +ZSCAN30 0 +A1BG 0 +ABHD17A 0 +ABHD8 0 +ACER1 0 +ACP5 0 +ACTL9 0 +ADAMTS10 0 +ADAMTSL5 0 +ADCK4 0 +AES 0 +AKAP8 0 +AKAP8L 0 +AKT1S1 0 +AKT2 3 +ALKBH6 0 +ANGPTL6 0 +ANKRD27 1 +ANO8 0 +AP1M2 5 +AP2S1 2 +AP3D1 1 +APBA3 0 +ARRDC5 0 +ASF1B 2 +ASPDH 0 +ATP13A1 0 +ATP1A3 0 +ATP4A 0 +ATP5SL 0 +ATP8B3 0 +B3GNT8 0 +B9D2 0 +BBC3 0 +BCAT2 1 +BIRC8 0 +BLVRB 0 +BRD4 11 +BSPH1 0 +BST2 0 +BTBD2 0 +C19orf10 0 +C19orf12 0 +C19orf18 0 +C19orf25 0 +C19orf26 0 +C19orf35 0 +C19orf43 0 +C19orf47 6 +C19orf48 0 +C19orf54 0 +C19orf57 0 +C19orf67 0 +C19orf70 1 +C19orf73 0 +C19orf84 0 +C2CD4C 0 +C3 0 +CA11 0 +CABP5 0 +CACNA1A 1 +CACTIN 0 +CADM4 0 +CALR3 0 +CAPN12 0 +CARD8 0 +CCDC114 0 +CCDC151 0 +CCDC8 0 +CCER2 0 +CD209 0 +CD320 0 +CD70 0 +CDC37 0 +CDC42EP5 0 +CDKN2D 0 +CEACAM1 0 +CEACAM20 0 +CEACAM22P 0 +CEACAM4 0 +CEACAM7 0 +CEACAM8 0 +CEBPA 0 +CEP89 0 +CERS1 0 +CGB 0 +CGB1 0 +CGB7 0 +CGB8 0 +CHERP 2 +CHMP2A 0 +CIB3 0 +CIRBP-AS1 0 +CKM 0 +CLC 0 +CLDND2 0 +CLEC4G 0 +CLIP3 1 +CNFN 0 +CNTD2 2 +COL5A3 0 +COMP 0 +COPE 2 +COX6B2 0 +COX7A1 0 +CPAMD8 0 +CRLF1 0 +CSNK1G2-AS1 0 +CTU1 0 +CTXN1 0 +CXCL17 0 +CYP2A6 0 +CYP2A7 0 +CYP4F11 0 +CYP4F2 0 +CYP4F24P 0 +DACT3 0 +DAPK3 0 +DBP 0 +DDX39A 0 +DEDD2 2 +DENND1C 0 +DHPS 0 +DIRAS1 1 +DMKN 1 +DMPK 0 +DMWD 0 +DNAAF3 0 +DNAJB1 15 +DNASE2 0 +DNMT1 683 +DOCK6 0 +DOHH 0 +DPF1 0 +DPP9 0 +DUS3L 0 +DUXA 0 +DYRK1B 0 +ECH1 0 +ECSIT 0 +EEF2 16 +EID2 0 +EID2B 0 +EIF3G 0 +ELAVL1 10 +ELAVL3 0 +ELL 0 +ELOF1 3 +EML2 0 +EMR2 0 +EMR3 0 +EMR4P 0 +EPHX3 0 +EPOR 0 +EPS15L1 4 +ERCC1 1 +ERCC2 2 +ERF 0 +ETFB 0 +ETHE1 0 +EXOC3L2 9 +EXOSC5 0 +FAM138A 0 +FAM138F 0 +FAM187B 0 +FAM71E1 1 +FAM71E2 0 +FAM83E 2 +FARSA 1 +FBL 1 +FBN3 0 +FBXL12 1 +FBXO17 0 +FBXO27 5 +FBXO46 0 +FBXW9 0 +FCER2 0 +FCGBP 0 +FDX1L 0 +FIZ1 1 +FKBP1AP1 0 +FKBP8 0 +FLJ22184 0 +FLJ25758 0 +FLJ30403 0 +FPR1 0 +FUT1 0 +FUT3 0 +FUT5 0 +FUT6 0 +FUZ 0 +GADD45GIP1 0 +GAMT 0 +GDF1 0 +GGN 0 +GIPC1 1 +GMFG 0 +GMIP 0 +GNG7 0 +GNG8 0 +GP6 0 +GPR108 0 +GPR4 0 +GRIK5 0 +GSK3A 3 +GTF2F1 4 +GYS1 0 +HAPLN4 0 +HAS1 0 +HAUS8 2 +HAVCR1P1 0 +HIPK4 0 +HNRNPL 0 +HOMER3 0 +HOOK2 0 +HPN-AS1 0 +HRC 0 +HSD17B14 0 +HSPB6 0 +HSPBP1 0 +ICAM3 0 +IFNL3 0 +IFNL4 0 +IGFL3 0 +IGFL4 0 +IGFLR1 0 +IL11 0 +IL12RB1 0 +IL4I1 0 +ILF3-AS1 0 +ILVBL 0 +INSL3 0 +INSR 1 +IPO5P1 0 +IRF2BP1 0 +IRF3 0 +IRGQ 0 +ISOC2 0 +ISYNA1 0 +IZUMO1 0 +IZUMO2 0 +JAK3 0 +JOSD2 0 +JSRP1 0 +JUND 0 +KANK2 4 +KANK3 0 +KCNA7 0 +KCNC3 0 +KCNN4 0 +KDELR1 0 +KEAP1 0 +KHSRP 5 +KIAA1683 0 +KLF1 0 +KLF16 0 +KLK1 0 +KLK10 0 +KLK11 0 +KLK12 0 +KLK13 0 +KLK14 0 +KLK15 0 +KLK4 0 +KLK5 0 +KLK6 0 +KLK7 0 +KLK8 0 +KLK9 0 +KLKP1 0 +KPTN 0 +KRI1 1 +KRTDAP 0 +LAIR1 0 +LENG1 0 +LENG9 0 +LGALS4 0 +LGALS7 0 +LGI4 0 +LHB 0 +LIG1 0 +LILRA3 0 +LILRA4 0 +LILRA5 0 +LILRA6 0 +LILRB2 0 +LILRB3 0 +LILRB5 0 +LIM2 0 +LINC00662 0 +LINC00663 0 +LINC00665 2 +LINC00904 0 +LINC01002 0 +LINGO3 0 +LIPE 0 +LMNB2 1 +LMTK3 0 +LOC100128573 0 +LOC100379224 0 +LOC100420587 0 +LOC100505715 1 +LOC100506469 0 +LOC100631378 0 +LOC100996351 0 +LOC101059948 0 +LOC101927411 0 +LOC101927621 0 +LOC101927720 0 +LOC101928063 0 +LOC101928295 2 +LOC101928378 0 +LOC101928517 0 +LOC101928804 0 +LOC101929124 0 +LOC101929144 0 +LOC101929164 0 +LOC102724105 0 +LOC284344 0 +LOC284379 0 +LOC284395 0 +LOC284412 0 +LOC284454 0 +LOC400684 0 +LOC400685 0 +LOC400706 0 +LOC644050 0 +LOC729966 0 +LONP1 0 +LPAR2 0 +LPHN1 1 +LPPR3 0 +LRFN1 0 +LRG1 0 +LRRC25 0 +LRRC4B 1 +LSM4 1 +LSM7 1 +LYL1 0 +LYPD3 0 +LYPD4 0 +LYPD5 0 +LYPLA2P2 0 +MAMSTR 0 +MAN2B1 0 +MAP2K2 0 +MAP4K1 0 +MATK 0 +MBD3 0 +MBD3L3 0 +MBD3L4 0 +MBOAT7 1 +MED16 4 +MED26 0 +MEF2B 0 +MEF2BNB 0 +MEF2BNB-MEF2B 0 +MEIS3 0 +MEX3D 0 +MFSD12 0 +MIER2 2 +MIR1181 0 +MIR1227 0 +MIR1270 0 +MIR150 0 +MIR1909 0 +MIR199A1 0 +MIR23A 0 +MIR24-2 0 +MIR27A 0 +MIR3191 0 +MIR320E 0 +MIR330 0 +MIR371B 0 +MIR3940 0 +MIR4323 0 +MIR4324 0 +MIR4530 0 +MIR4531 0 +MIR4754 0 +MIR4999 0 +MIR637 0 +MIR641 0 +MIR642B 0 +MIR6719 0 +MIR6789 0 +MIR6790 0 +MIR6791 0 +MIR6795 0 +MIR6802 0 +MIR6803 0 +MIR6804 0 +MIR6885 0 +MIR7108 0 +MIR7974 0 +MIR8074 0 +MKNK2 6 +MLLT1 5 +MOB3A 0 +MUC16 0 +MYO1F 0 +MYPOP 3 +MZF1 0 +NANOS2 0 +NAPA 3 +NAPSA 0 +NAPSB 0 +NDUFA11 1 +NDUFA7 2 +NDUFB7 0 +NFKBID 0 +NKG7 0 +NKPD1 0 +NLRP11 105 +NLRP12 3 +NLRP13 70 +NLRP7 8 +NLRP9 134 +NOSIP 1 +NOTCH3 0 +NOVA2 0 +NPHS1 0 +NR2C2AP 0 +NR2F6 0 +NTF4 0 +NTN5 0 +NUCB1-AS1 0 +NUMBL 0 +NUP62 8 +NXNL1 0 +ODF3L2 0 +OLFM2 2 +OPA3 0 +OR10H1 0 +OR7A10 0 +OR7A17 0 +OR7A5 0 +OR7C1 0 +OR7D4 0 +OR7G1 0 +OR7G2 0 +OR7G3 0 +OSCAR 0 +PAF1 1 +PAFAH1B3 0 +PALM3 0 +PBX4 0 +PCAT19 0 +PCP2 0 +PCSK4 0 +PDE4C 0 +PEG3 0 +PEPD 0 +PEX11G 0 +PGLYRP1 0 +PGLYRP2 0 +PHLDB3 0 +PIH1D1 0 +PIP5K1C 1 +PLA2G4C 1 +PLAUR 0 +PLEKHA4 0 +PLEKHJ1 1 +PLIN3 5 +PLIN4 0 +PLIN5 5 +PLVAP 0 +PNKP 0 +PNMAL1 3 +PNMAL2 0 +PODNL1 0 +POLR2E 2 +POLR2I 0 +POLRMT 0 +POU2F2 0 +PPAP2C 0 +PPP1R12C 0 +PPP1R13L 0 +PPP1R14A 0 +PPP5D1 0 +PPP6R1 2 +PRAM1 0 +PRDX2 0 +PRKACA 1 +PRKD2 3 +PRODH2 0 +PRR22 0 +PRSS57 0 +PRX 0 +PSG1 0 +PSG10P 1 +PSG11 0 +PSG2 0 +PSG3 0 +PSG4 0 +PSG5 0 +PSG6 0 +PSG7 0 +PSG8 0 +PSG9 0 +PSPN 0 +PTGER1 0 +PTGIR 0 +PTH2 0 +PTOV1-AS1 0 +PTPRH 2 +PTPRS 1 +R3HDM4 4 +RAB11B-AS1 0 +RAB3A 0 +RAB3D 2 +RABAC1 0 +RANBP3 0 +RASAL3 0 +RASGRP4 0 +RASIP1 0 +RAVER1 3 +RAX2 0 +RDH13 0 +REXO1 1 +RFX1 0 +RFX2 0 +RGL3 0 +RHPN2 2 +RINL 0 +RNF126 1 +RNU6-35P 0 +RNU6-64P 0 +RNU6-66P 0 +RPL18 5 +RPS16 17 +RRAS 0 +RSPH6A 0 +RTBDN 0 +RTN2 0 +S1PR2 0 +S1PR5 0 +SAFB2 0 +SAMD1 2 +SARS2 1 +SBK2 0 +SBK3 0 +SBNO2 0 +SBSN 0 +SCGB1B2P 0 +SCGB2B2 0 +SEMA6B 0 +SERTAD1 0 +SERTAD3 5 +SGTA 1 +SH2D3A 0 +SH3GL1 2 +SHANK1 0 +SHC2 2 +SHISA7 0 +SIGLEC10 2 +SIGLEC11 0 +SIGLEC12 0 +SIGLEC14 0 +SIGLEC5 0 +SIGLEC6 0 +SIGLEC8 0 +SIRT2 0 +SIRT6 0 +SIX5 0 +SLC17A7 0 +SLC1A5 9 +SLC1A6 0 +SLC25A23 1 +SLC25A41 0 +SLC27A5 0 +SLC35E1 2 +SLC39A3 0 +SLC6A16 0 +SLC7A10 0 +SLC7A9 3 +SLC8A2 3 +SMG9 0 +SMIM24 0 +SMIM7 0 +SNAR-A10 0 +SNAR-A11 0 +SNAR-A14 0 +SNAR-A3 0 +SNAR-A4 0 +SNAR-A5 0 +SNAR-A6 0 +SNAR-A7 0 +SNAR-A8 0 +SNAR-A9 0 +SNAR-B1 0 +SNAR-B2 0 +SNAR-D 0 +SNAR-E 0 +SNAR-G2 0 +SNORD37 0 +SNORD41 0 +SNORD88A 0 +SNORD88B 0 +SNORD88C 0 +SNRPD2 2 +SPACA6P-AS 0 +SPC24 0 +STAP2 0 +STRN4 0 +STX10 1 +SUGP1 0 +SUGP2 1 +SULT2A1 0 +SYCE2 0 +SYCN 0 +SYMPK 0 +SYNE4 0 +SYT3 0 +SYT5 0 +TARM1 0 +TBXA2R 0 +TCF3 4 +TEAD2 0 +TFPT 0 +TGFB1 0 +THAP8 0 +THEG 0 +TICAM1 0 +TIMM13 0 +TIMM44 2 +TINCR 0 +TLE2 1 +TM6SF2 0 +TMC4 0 +TMED1 0 +TMEM143 2 +TMEM150B 0 +TMEM160 1 +TMEM161A 0 +TMEM205 0 +TMEM221 0 +TMEM238 0 +TMEM259 0 +TMEM86B 0 +TMIGD2 0 +TNFSF14 0 +TNNI3 0 +TNNT1 0 +TNPO2 4 +TPRX1 0 +TRAPPC6A 0 +TRMT1 0 +TSHZ3 0 +TSKS 0 +TSSK6 0 +TTC9B 0 +TUBB4A 0 +TULP2 0 +TYK2 0 +TYROBP 0 +U2AF1L4 0 +UBE2M 0 +UBE2S 1 +UBXN6 0 +UNC13A 0 +UPK1A-AS1 0 +UQCR11 0 +UQCRFS1 2 +USHBP1 0 +VN1R1 0 +VN1R4 0 +VRK3 1 +VSIG10L 0 +VSTM1 0 +WASH5P 0 +WDR83OS 2 +WDR87 0 +WIZ 3 +XAB2 0 +XRCC1 0 +YIF1B 0 +YIPF2 1 +ZBTB45 0 +ZBTB7A 0 +ZC3H4 0 +ZFP14 0 +ZFP30 0 +ZFP82 1 +ZFR2 1 +ZGLP1 0 +ZIM2 4 +ZIM3 0 +ZNF100 0 +ZNF112 0 +ZNF121 0 +ZNF132 1 +ZNF14 2 +ZNF154 0 +ZNF160 4 +ZNF180 0 +ZNF20 0 +ZNF208 0 +ZNF229 2 +ZNF235 1 +ZNF256 2 +ZNF260 1 +ZNF266 1 +ZNF28 0 +ZNF285 7 +ZNF296 0 +ZNF30-AS1 0 +ZNF320 0 +ZNF321P 0 +ZNF329 2 +ZNF347 0 +ZNF350 0 +ZNF404 1 +ZNF414 0 +ZNF415 0 +ZNF416 4 +ZNF417 0 +ZNF418 0 +ZNF426 2 +ZNF428 1 +ZNF43 0 +ZNF432 1 +ZNF433 0 +ZNF44 1 +ZNF442 0 +ZNF443 7 +ZNF45 1 +ZNF461 0 +ZNF468 2 +ZNF490 1 +ZNF497 0 +ZNF506 0 +ZNF529 2 +ZNF541 1 +ZNF550 1 +ZNF552 0 +ZNF558 0 +ZNF560 2 +ZNF561 2 +ZNF562 0 +ZNF563 0 +ZNF564 2 +ZNF565 0 +ZNF566 0 +ZNF569 1 +ZNF571 5 +ZNF573 2 +ZNF577 0 +ZNF579 0 +ZNF582 0 +ZNF585A 0 +ZNF585B 1 +ZNF599 0 +ZNF600 1 +ZNF606 0 +ZNF607 3 +ZNF611 0 +ZNF614 0 +ZNF615 1 +ZNF616 0 +ZNF625 0 +ZNF625-ZNF20 0 +ZNF626 1 +ZNF649 0 +ZNF653 0 +ZNF665 1 +ZNF667 1 +ZNF671 0 +ZNF675 1 +ZNF676 0 +ZNF677 0 +ZNF681 0 +ZNF682 1 +ZNF699 0 +ZNF702P 0 +ZNF708 0 +ZNF709 0 +ZNF724P 0 +ZNF728 0 +ZNF737 0 +ZNF77 1 +ZNF772 2 +ZNF780A 0 +ZNF780B 0 +ZNF781 0 +ZNF784 0 +ZNF787 1 +ZNF790 0 +ZNF792 0 +ZNF799 9 +ZNF812 0 +ZNF814 8 +ZNF816 1 +ZNF816-ZNF321P 0 +ZNF823 0 +ZNF826P 0 +ZNF829 0 +ZNF83 1 +ZNF835 0 +ZNF836 0 +ZNF837 0 +ZNF841 0 +ZNF846 0 +ZNF850 1 +ZNF878 0 +ZNF91 0 +ZNF98 0 +ZNF99 0 +ZSCAN18 0 +ZSCAN5A 0 +ZSCAN5B 0 +SRSF10 0 +HYDIN2 0 +LOC102724558 0 +AAK1 0 +AAMP 1 +ABCA12 0 +ABCB11 0 +ABCB6 0 +ABCG5 0 +ACADL 0 +ACTR1B 1 +ACVR1 4 +ACVR1C 2 +ADAM17 1 +ADCY3 0 +ADD2 5 +ADI1 1 +ADRA2B 1 +AFF3 1 +AGBL5-AS1 0 +AHCTF1P1 0 +ALK 0 +ALS2 1 +ALS2CR11 2 +ALS2CR12 0 +AMMECR1L 7 +ANAPC1 1 +ANKMY1 0 +ANKRD20A8P 0 +ANKRD23 0 +ANKRD30BL 0 +ANKRD36B 0 +ANKRD39 0 +ANKRD44 1 +ANKRD44-IT1 0 +AP1S3 0 +APOB 0 +AQP12B 0 +ARL4C 17 +ARL5A 1 +ASB18 0 +ASB3 1 +ASPRV1 0 +ASTL 0 +ASXL2 0 +ATAD2B 0 +ATF2 6 +ATG9A 0 +ATL2 5 +ATP5G3 12 +ATP6V1B1-AS1 0 +ATP6V1E2 0 +AUP1 1 +BARD1 24 +BAZ2B 0 +BCL11A 0 +BIN1 0 +BMP10 0 +BOK-AS1 0 +BOLA3 0 +BOLL 0 +BRE-AS1 0 +BUB1 7 +C1D 0 +C1QL2 0 +C2orf27B 0 +C2orf42 1 +C2orf43 0 +C2orf44 6 +C2orf54 0 +C2orf61 0 +C2orf66 0 +C2orf68 1 +C2orf71 0 +C2orf76 2 +C2orf80 0 +C2orf81 0 +C2orf83 0 +C2orf91 0 +CACNB4 0 +CALCRL 0 +CALM2 37 +CAPG 0 +CAPN10-AS1 0 +CAPN13 2 +CAPN14 0 +CATIP-AS1 0 +CCDC108 0 +CCDC115 0 +CCDC121 2 +CCDC141 1 +CCDC142 0 +CCDC148 2 +CCDC173 1 +CCDC74B 0 +CCDC88A 5 +CCDC93 0 +CCNT2-AS1 0 +CCT4 3 +CD207 0 +CD302 1 +CD8A 0 +CD8B 0 +CDC42EP3 0 +CDKL4 0 +CEBPZ 0 +CERKL 1 +CERS6-AS1 0 +CFC1 0 +CFC1B 0 +CFLAR-AS1 0 +CGREF1 3 +CHMP3 15 +CHN1 0 +CHPF 1 +CHRNA1 0 +CHST10 3 +CIB4 0 +CIR1 27 +CKAP2L 2 +CLASP1 1 +CLEC4F 0 +CLHC1 1 +CLK1 2 +CMPK2 0 +CNPPD1 0 +CNRIP1 7 +COA5 0 +COBLL1 3 +COL4A4 0 +COL5A2 0 +COL6A3 0 +COX7A2L 5 +CREG2 0 +CRYBA2 0 +CRYGA 0 +CRYGB 0 +CRYGC 0 +CRYGD 0 +CUL3 1 +CWC22 3 +CXCR1 0 +CXCR2P1 0 +CXCR4 0 +CYP1B1 0 +CYP26B1 0 +CYP27C1 0 +CYP4F62P 0 +CYS1 0 +CYTIP 0 +DARS 14 +DBIL5P2 0 +DCTN1 4 +DDX11L2 0 +DGUOK-AS1 1 +DHX57 1 +DIRC1 0 +DIRC3 0 +DLX2 0 +DNAH7 0 +DNAJB3 0 +DNAJC27 3 +DNER 0 +DNMT3A 7 +DNPEP 0 +DOCK10 1 +DPP10-AS1 0 +DPP4 0 +DPY30 1 +DQX1 0 +DTNB 0 +DTYMK 0 +DUSP11 4 +DUSP2 0 +DYTN 0 +E2F6 0 +ECEL1 0 +ECEL1P2 0 +EDAR 2 +EFEMP1 0 +EGR4 0 +EIF2AK2 2 +EIF2AK3 0 +EIF2B4 0 +EN1 0 +EPHA4 2 +ERBB4 11 +ERCC3 1 +ERMN 0 +EVA1A 0 +EVX2 0 +EXOC6B 0 +FABP1 0 +FAHD2B 0 +FAM110C 0 +FAM124B 0 +FAM126B 1 +FAM136A 1 +FAM150B 0 +FAM161A 6 +FAM168B 6 +FAM178B 0 +FAM49A 0 +FAM95A 0 +FAM98A 2 +FANCL 0 +FAP 0 +FAR2P1 0 +FAR2P2 0 +FARSB 2 +FASTKD1 3 +FBXO11 1 +FBXO41 0 +FBXO48 1 +FEV 0 +FEZ2 23 +FHL2 0 +FIGLA 0 +FIGN 0 +FKBP7 0 +FLJ31356 0 +FLJ33534 0 +FLJ42351 0 +FLJ43879 0 +FN1 102 +FNDC4 0 +FOXI3 0 +FRZB 0 +FSHR 0 +FTCDNL1 0 +FTH1P3 0 +FZD5 0 +GALNT14 0 +GALNT3 2 +GBX2 0 +GCFC2 0 +GCG 0 +GCSHP3 0 +GFPT1 6 +GGCX 1 +GKN2 0 +GLB1L 3 +GPAT2 0 +GPR1 1 +GPR113 0 +GPR155 0 +GPR55 0 +GPR75 0 +GPR75-ASB3 0 +GRB14 0 +GTDC1 0 +GTF3C2 14 +GTF3C3 2 +HAAO 0 +HADHA 1 +HAGLR 0 +HDAC4 0 +HDLBP 3 +HEATR5B 2 +HECW2 2 +HES6 7 +HIBCH 1 +HJURP 25 +HNRNPLL 0 +HOXD-AS2 0 +HS1BP3 0 +HS1BP3-IT1 0 +HS6ST1 0 +HSPD1 1 +HTR2B 0 +ICA1L 1 +ID2-AS1 0 +IDH1 11 +IFIH1 0 +IFT172 0 +IGFBP5 0 +IHH 0 +IKZF2 1 +IL1A 0 +IL1B 0 +IL36B 0 +ILKAP 0 +IMMT 8 +INO80D 1 +IQCA1 11 +IRS1 0 +ITGB1BP1 1 +ITGB6 0 +ITSN2 2 +IWS1 146 +KANSL1L 0 +KANSL3 1 +KCNG3 0 +KCNH7 0 +KCNJ13 0 +KCNK12 0 +KCTD18 0 +KIAA1211L 0 +KIAA1715 0 +KIDINS220 5 +KIF1A 1 +KIF3C 3 +KLF7 0 +KRCC1 0 +LANCL1 1 +LAPTM4A 6 +LBX2 0 +LCT 0 +LHCGR 0 +LIMS2 1 +LIMS3 0 +LIMS3-LOC440895 0 +LIMS3L 0 +LINC00116 0 +LINC00211 0 +LINC00276 0 +LINC00298 0 +LINC00299 0 +LINC00309 0 +LINC00342 0 +LINC00471 0 +LINC00487 0 +LINC00607 0 +LINC01101 0 +LINC01103 0 +LINC01106 0 +LINC01107 0 +LINC01114 0 +LINC01115 0 +LINC01116 0 +LINC01121 0 +LINC01123 0 +LINC01124 0 +LINC01158 0 +LINC01159 0 +LINC01185 0 +LINC01246 0 +LINC01247 0 +LINC01248 0 +LINC01249 1 +LINC01250 0 +LINC01280 0 +LINC01304 0 +LINC01473 0 +LINC01494 0 +LMAN2L 0 +LOC100129434 0 +LOC100130451 0 +LOC100130452 0 +LOC100130691 0 +LOC100132215 0 +LOC100133985 0 +LOC100144595 0 +LOC100286922 0 +LOC100287010 0 +LOC100288570 0 +LOC100288911 0 +LOC100499194 0 +LOC100505716 0 +LOC100505736 0 +LOC100505984 0 +LOC100506076 0 +LOC100506123 0 +LOC100506124 0 +LOC100506142 0 +LOC100506474 0 +LOC100507140 0 +LOC100507201 0 +LOC100630918 0 +LOC101060091 0 +LOC101060385 0 +LOC101926913 0 +LOC101927043 0 +LOC101927142 0 +LOC101927196 0 +LOC101927438 0 +LOC101927492 1 +LOC101927577 0 +LOC101927619 0 +LOC101927701 0 +LOC101927709 0 +LOC101927795 0 +LOC101927865 0 +LOC101927967 0 +LOC101927987 0 +LOC101928273 0 +LOC101929260 0 +LOC101929319 0 +LOC101929378 0 +LOC101929452 0 +LOC101929512 0 +LOC101929551 0 +LOC101929567 0 +LOC101929596 0 +LOC101929723 0 +LOC101929753 0 +LOC102723824 0 +LOC102723854 0 +LOC102724321 0 +LOC102724691 0 +LOC151121 0 +LOC151174 0 +LOC151475 0 +LOC200772 0 +LOC285000 0 +LOC285074 0 +LOC339803 1 +LOC375196 0 +LOC389033 0 +LOC400958 0 +LOC400997 0 +LOC401010 0 +LOC440895 0 +LOC442028 0 +LOC644838 0 +LOC645949 0 +LOC646743 0 +LOC654342 0 +LOC654841 0 +LOC728819 0 +LOC90784 1 +LONRF2 1 +LOXL3 0 +LRP1B 2 +LRP2 0 +LRPPRC 0 +LRRTM1 0 +LRRTM4 5 +LY75 0 +LY75-CD302 0 +LYG1 0 +LYG2 0 +LYPD1 4 +M1AP 0 +MALL 0 +MAP3K19 0 +MAP3K2 0 +MAP4K3 2 +MARCH4 3 +MATN3 0 +MBOAT2 4 +MCEE 0 +MCFD2 0 +MCM6 0 +MDH1B 0 +MEIS1-AS3 0 +MEMO1 0 +METTL21A 2 +METTL5 0 +METTL8 0 +MFSD9 0 +MGAT4A 3 +MGC16025 0 +MIR1245B 0 +MIR1246 0 +MIR1258 0 +MIR1301 0 +MIR1471 0 +MIR153-1 0 +MIR216A 0 +MIR216B 0 +MIR217 0 +MIR2355 0 +MIR2467 0 +MIR3128 0 +MIR3129 0 +MIR3130-1 0 +MIR3131 0 +MIR3132 0 +MIR3682 0 +MIR375 0 +MIR4261 0 +MIR4262 0 +MIR4264 0 +MIR4265 0 +MIR4266 0 +MIR4267 0 +MIR4268 0 +MIR4429 0 +MIR4432 0 +MIR4435-1 0 +MIR4435-1HG 0 +MIR4435-2 0 +MIR4436B1 0 +MIR4436B2 0 +MIR4437 0 +MIR4439 0 +MIR4440 0 +MIR4441 0 +MIR4773-2 0 +MIR4776-2 0 +MIR4778 0 +MIR4779 0 +MIR4780 0 +MIR4782 0 +MIR4783 0 +MIR4784 0 +MIR4785 0 +MIR4786 0 +MIR5001 0 +MIR548AD 0 +MIR548F2 0 +MIR5702 0 +MIR6071 0 +MIR6512 0 +MIR6513 0 +MIR663B 0 +MIR6809 0 +MIR7515HG 0 +MIR7853 0 +MIR8080 0 +MIR933 0 +MITD1 1 +MLK7-AS1 1 +MMADHC 0 +MOB1A 3 +MOGS 0 +MPP4 0 +MPV17 0 +MREG 0 +MRPL53 2 +MRPS5 1 +MSL3P1 0 +MSTN 0 +MTERF4 1 +MTIF2 2 +MYADML 0 +MYCNOS 0 +MYEOV2 0 +MYL1 0 +MYT1L 0 +MZT2A 0 +NAT8 0 +NAT8B 0 +NBAS 3 +NCKAP1 4 +NCKAP5 1 +NCL 7 +NDUFA10 1 +NDUFS1 0 +NEB 2 +NEURL3 0 +NEUROD1 0 +NFE2L2 2 +NFU1 0 +NGEF 0 +NHEJ1 0 +NIFK 2 +NLRC4 0 +NMI 0 +NMUR1 0 +NOL10 2 +NPHP1 0 +NPPC 0 +NR4A2 0 +NRXN1 5 +NT5C1B 0 +NT5C1B-RDH14 0 +NTSR2 0 +NXPH2 0 +OBSL1 0 +ODC1 58 +OLA1 0 +OR6B2 0 +OR6B3 0 +ORC2 3 +ORC4 1 +ORMDL1 3 +OSGEPL1 0 +OSR1 0 +OST4 0 +OTOF 0 +OTOS 0 +OXER1 0 +PAIP2B 5 +PASK 0 +PAX3 0 +PAX8 0 +PCBP1-AS1 0 +PCGF1 4 +PDCD1 0 +PDE11A 0 +PDE1A 0 +PDE6D 0 +PDIA6 1 +PECR 3 +PELI1 1 +PER2 6 +PFN4 0 +PGAP1 0 +PGM5P3-AS1 0 +PGM5P4-AS1 0 +PID1 0 +PIGF 0 +PLA2R1 0 +PLEKHM3 0 +PLGLB1 0 +PLGLB2 0 +PNPT1 1 +POLR1A 0 +POLR2D 0 +POMC 0 +POTEF 0 +POTEI 0 +PP14571 0 +PPIL3 1 +PPM1G 5 +PPP3R1 3 +PRADC1 0 +PREB 1 +PREPL 12 +PRKAG3 0 +PRKD3 0 +PRKRA 3 +PRPF40A 46 +PRR21 0 +PRR30 0 +PSME4 0 +PTPRN 0 +PTRHD1 2 +PUM2 4 +PUS10 0 +PXDN 3 +RAB11FIP5 1 +RAB17 0 +RAB1A 6 +RAB6C-AS1 0 +RAD51AP2 0 +RAPGEF4-AS1 0 +RAPH1 1 +RBKS 1 +RBM43 1 +RBMS1 2 +RDH14 0 +REEP1 0 +REG1B 0 +REG1P 0 +REG3A 0 +RESP18 0 +RETSAT 0 +REV1 12 +RFTN2 0 +RFX8 0 +RGPD1 0 +RGPD2 0 +RGPD3 0 +RGPD4-AS1 0 +RGPD5 0 +RGPD6 0 +RGPD8 0 +RMDN2-AS1 0 +RNASEH1 2 +RND3 0 +RNF103 0 +RNF103-CHMP3 0 +RNF144A-AS1 0 +RNF149 0 +RNF25 0 +RNU6-2 0 +ROCK2 0 +RPL23AP7 0 +RPRM 0 +RTKN 0 +RTN4 8 +SAP130 9 +SATB2 1 +SCG2 1 +SCN1A 1 +SCN3A 0 +SCN7A 0 +SCN9A 0 +SCTR 0 +SDC1 0 +SDPR 1 +SEMA4C 0 +SEPT10 1 +SERPINE2 0 +SERTAD2 0 +SESTD1 5 +SF3B1 17 +SF3B6 1 +SFTPB 0 +SFXN5 0 +SH3RF3-AS1 0 +SH3YL1 0 +SIX2 0 +SIX3-AS1 0 +SLC16A14 0 +SLC19A3 0 +SLC23A3 0 +SLC25A12 0 +SLC30A3 1 +SLC35F5 0 +SLC38A11 0 +SLC40A1 0 +SLC4A5 0 +SLC5A6 2 +SLC8A1 1 +SMC6 3 +SMEK2 3 +SMPD4 0 +SNAR-H 0 +SNORA36C 0 +SNORA70B 0 +SNORA70F 0 +SNORA75 0 +SNORA80B 0 +SNORD20 0 +SNORD82 0 +SNORD89 0 +SNRNP200 6 +SNRPG 1 +SOS1 0 +SP110 2 +SP3 6 +SPATA3-AS1 0 +SPC25 0 +SPHKAP 0 +SPRED2 0 +SRBD1 6 +SRD5A2 0 +SRSF7 4 +ST3GAL5 0 +ST6GAL2 0 +STAM2 2 +STARD7 13 +STAT1 0 +STAT4 0 +STK17B 1 +STK25 2 +STK39 4 +STRN 1 +SUCLG1 1 +SULT6B1 0 +SUMO1 6 +SUPT7L 4 +TACR1 0 +TBC1D8 1 +TEX261 0 +TFCP2L1 1 +TFPI 0 +TGFA 3 +TGFA-IT1 0 +TGFBRAP1 3 +TGOLN2 3 +THADA 1 +THAP4 0 +THUMPD2 0 +TIA1 0 +TIGD1 0 +TISP43 0 +TLK1 1 +TM4SF20 0 +TMBIM1 5 +TMEFF2 0 +TMEM127 1 +TMEM131 2 +TMEM150A 0 +TMEM163 5 +TMEM17 0 +TMEM18 1 +TMEM185B 4 +TMEM194B 0 +TMEM237 0 +TNP1 0 +TNS1 0 +TP53I3 0 +TPRKB 0 +TRABD2A 0 +TRAK2 2 +TRIM43B 0 +TRIP12 35 +TRMT61B 0 +TSGA10 0 +TSPYL6 0 +TSSC1 7 +TTC21B 1 +TTC30A 2 +TTC30B 0 +TTC32 0 +TTN 0 +TUBA3E 0 +TUBA4A 12 +TXNDC9 1 +TYW5 0 +UCN 0 +USP34 26 +USP37 0 +USP40 0 +UXS1 3 +VPS54 0 +WDFY1 39 +WDPCP 0 +WDR12 1 +WDR33 6 +WDR35 0 +WDR92 2 +WDSUB1 1 +WIPF1 0 +WTH3DI 0 +XDH 0 +XIRP2-AS1 0 +XPO1 1 +YWHAQ 17 +ZC3H8 4 +ZEB2 0 +ZFP36L2 0 +ZNF142 1 +ZNF385B 0 +ZNF513 2 +ZNF514 0 +ZRANB3 0 +ZSWIM2 0 +ABHD12 0 +ACOT8 0 +ACSS1 0 +ADA 0 +ADAM33 0 +ADNP 1 +ADRA1D 0 +AHCY 0 +ANGPT4 0 +APCDD1L 0 +APMAP 0 +ARFRP1 0 +ATP5E 0 +ATP9A 1 +AURKA 120 +AVP 0 +B4GALT5 3 +BCAS1 0 +BCL2L1 2 +BFSP1 0 +BHLHE23 0 +BLCAP 11 +BMP7 0 +C20orf166-AS1 0 +C20orf173 0 +C20orf194 3 +C20orf203 0 +C20orf27 1 +C20orf62 0 +C20orf78 0 +C20orf96 1 +CABLES2 2 +CBLN4 0 +CD93 0 +CDH22 0 +CDK5RAP1 1 +CENPB 0 +CHD6 3 +CHRNA4 0 +COMMD7 2 +CPNE1 0 +CPXM1 0 +CRNKL1 6 +CSNK2A1 4 +CST1 0 +CST11 0 +CST2 0 +CST3 0 +CST4 0 +CST5 0 +CST9 0 +CST9L 0 +CTCFL 1 +CTSZ 0 +CYP24A1 0 +DDRGK1 0 +DEFB116 0 +DEFB119 0 +DEFB121 0 +DEFB122 0 +DEFB124 0 +DEFB128 0 +DIDO1 2 +DPM1 2 +DSN1 10 +DUSP15 0 +DZANK1 0 +E2F1 1 +EDEM2 1 +EEF1A2 0 +EIF2S2 3 +EIF6 1 +ELMO2 10 +EMILIN3 0 +EPPIN 0 +EPPIN-WFDC6 0 +ESF1 11 +FAM182B 0 +FAM65C 2 +FAM83C 0 +FASTKD5 0 +FER1L4 1 +FERMT1 0 +FITM2 0 +FKBP1A 2 +FKBP1A-SDCBP2 0 +FLRT3 0 +FOXA2 0 +FOXS1 0 +GATA5 0 +GCNT7 0 +GDF5 0 +GFRA4 0 +GGT7 0 +GGTLC1 0 +GHRH 0 +GMEB2 1 +GNAS-AS1 0 +GPCPD1 1 +GSS 0 +GTSF1L 0 +HAO1 0 +HAR1B 0 +HELZ2 0 +HM13-AS1 0 +HMGB3P1 0 +HNF4A-AS1 0 +HRH3 0 +IDH3B 0 +ISM1-AS1 0 +JAG1 9 +JPH2 0 +KCNB1 0 +KCNG1 0 +KCNQ2 0 +KCNS1 0 +KIAA1755 0 +KIF16B 1 +LAMA5 0 +LAMP5-AS1 0 +LINC00029 0 +LINC00261 0 +LINC00489 0 +LINC00652 0 +LINC00654 0 +LINC00656 0 +LINC00657 0 +LINC00658 0 +LINC00659 0 +LINC00687 0 +LINC01260 0 +LINC01271 0 +LINC01384 0 +LINC01427 0 +LINC01428 0 +LINC01429 0 +LINC01430 0 +LINC01431 0 +LINC01441 0 +LKAAEAR1 0 +LOC100130264 0 +LOC100289473 0 +LOC100506384 0 +LOC100507459 0 +LOC101926889 0 +LOC101926935 0 +LOC101926987 0 +LOC101927457 0 +LOC101927559 0 +LOC101928048 0 +LOC101929207 0 +LOC101929225 0 +LOC101929413 0 +LOC101929486 0 +LOC101929526 0 +LOC101929591 0 +LOC101929608 0 +LOC102606466 0 +LOC102723483 0 +LOC284788 0 +LOC284798 0 +LOC339568 0 +LOC339593 0 +LRRN4 0 +LZTS3 0 +MACROD2-AS1 0 +MAFB 0 +MATN4 0 +MIR103B2 0 +MIR1257 0 +MIR1914 0 +MIR296 0 +MIR298 0 +MIR3194 0 +MIR4325 0 +MIR4756 0 +MIR4758 0 +MIR499B 0 +MIR647 0 +MIR663A 0 +MIR663AHG 0 +MIR6813 0 +MIR6869 0 +MIR6870 0 +MKKS 0 +MKRN7P 0 +MLLT10P1 0 +MMP24-AS1 0 +MROH8 0 +MTRNR2L3 0 +NANP 0 +NAPB 0 +NCOA5 0 +NCOA6 11 +NCOR1P1 0 +NDRG3 8 +NECAB3 0 +NEURL2 0 +NFATC2 0 +NFS1 0 +NINL 0 +NKAIN4 0 +NKX2-2 0 +NKX2-4 0 +NOL4L 0 +NPBWR2 0 +NSFL1C 3 +OCSTAMP 0 +OGFR-AS1 0 +OSER1 3 +OVOL2 0 +PAK7 0 +PCED1A 0 +PCNA 115 +PDRG1 1 +PDYN 0 +PIGU 5 +PLAGL2 11 +PLCG1-AS1 0 +PLTP 0 +PMEPA1 0 +PPP1R3D 5 +PPP4R1L 0 +PREX1 3 +PRNT 0 +PROKR2 0 +PSMA7 17 +PTGIS 0 +PTK6 0 +PTPRT 0 +PXMP4 0 +RALGAPA2 0 +RALY-AS1 0 +RASSF2 0 +RBBP8NL 0 +RBBP9 0 +RBL1 0 +RBM12 4 +RBM39 4 +RGS19 0 +RIMS4 0 +RNF24 2 +RRBP1 1 +RSPO4 0 +SALL4 3 +SAMD10 0 +SAMHD1 0 +SCAND1 0 +SCRT2 0 +SDC4 0 +SDCBP2 0 +SEL1L2 0 +SERINC3 9 +SIGLEC1 0 +SIRPB1 0 +SIRPB2 0 +SIRPD 0 +SIRPG 0 +SLA2 0 +SLC13A3 0 +SLC23A2 1 +SLC35C2 1 +SLC4A11 0 +SLC52A3 0 +SLCO4A1-AS1 0 +SLMO2 0 +SLMO2-ATP5E 0 +SLPI 0 +SNAP25-AS1 0 +SNHG17 0 +SNORA71A 0 +SNORA71B 0 +SNORA71C 0 +SNORA71D 0 +SNORD119 0 +SNORD17 0 +SNRPB 0 +SNTA1 0 +SNX5 15 +SOGA1 0 +SOX18 0 +SPATA2 8 +SPATA25 0 +SPEF1 0 +SPINT3 0 +SRMS 0 +SRXN1 3 +STAU1 26 +STK4-AS1 0 +STMN3 0 +SULF2 0 +SUMO1P1 0 +SUN5 0 +SYCP2 15 +TAF4 2 +TASP1 1 +TBC1D20 2 +TCF15 0 +TCFL5 0 +TGM2 0 +THBD 0 +TMEM189 1 +TMEM189-UBE2V1 0 +TMEM230 1 +TMEM74B 0 +TMX4 4 +TNNC2 0 +TOMM34 5 +TP53RK 0 +TP53TG5 0 +TRERNA1 0 +TRMT6 2 +TRPC4AP 2 +TSPY26P 0 +TTI1 3 +UBE2V1 12 +UBOX5 0 +UCKL1 1 +UQCC1 0 +VSX1 0 +WFDC10B 0 +WFDC11 0 +WFDC12 0 +WFDC3 0 +WFDC5 0 +WFDC6 0 +WFDC8 0 +WFDC9 0 +YTHDF1 6 +ZBP1 0 +ZBTB46 1 +ZFP64 0 +ZHX3 14 +ZMYND8 9 +ZNF217 0 +ZNF334 0 +ZNF335 0 +ZNF337 4 +ZNF341-AS1 0 +ZNF343 4 +ZNF512B 0 +ZNF663P 0 +ZNFX1 2 +ADAMTS1 0 +ADAMTS5 0 +ANKRD20A11P 0 +APP 0 +ATP5J 0 +ATP5O 0 +BAGE 0 +BAGE2 0 +BAGE3 0 +BAGE4 0 +BAGE5 0 +BRWD1 24 +BTG3 0 +C21orf128 0 +C21orf140 0 +C21orf2 1 +C21orf54 0 +C21orf58 0 +C21orf59 18 +C21orf62 0 +C21orf67 0 +C21orf88 0 +C21orf91 2 +C21orf91-OT1 0 +C2CD2 0 +CBR3-AS1 0 +CBS 0 +CCT8 21 +CHODL-AS1 0 +CLDN14 0 +CLDN17 0 +CLDN8 0 +COL18A1-AS1 0 +COL18A1-AS2 0 +CRYZL1 1 +CSTB 4 +CYP4F29P 0 +CYYR1 0 +D21S2088E 0 +DNAJC28 1 +DNMT3L 0 +DONSON 0 +DSCAM 0 +DSCAM-IT1 0 +DSCR3 3 +DSCR4 0 +ERG 0 +FTCD 3 +GART 0 +GRIK1 0 +HLCS 2 +HMGN1 2 +HSF2BP 1 +HSPA13 0 +ICOSLG 0 +IL10RB-AS1 0 +ITGB2 0 +KCNE1 0 +KCNJ6 0 +KRTAP10-1 0 +KRTAP10-2 0 +KRTAP10-3 0 +KRTAP10-5 0 +KRTAP10-6 0 +KRTAP11-1 0 +KRTAP12-1 0 +KRTAP12-2 0 +KRTAP12-4 0 +KRTAP13-2 0 +KRTAP13-3 0 +KRTAP19-1 0 +KRTAP19-2 0 +KRTAP19-3 0 +KRTAP19-4 0 +KRTAP19-5 0 +KRTAP19-6 0 +KRTAP19-7 0 +KRTAP19-8 0 +KRTAP21-1 0 +KRTAP21-2 0 +KRTAP21-3 0 +KRTAP22-2 0 +KRTAP23-1 0 +KRTAP24-1 0 +KRTAP25-1 0 +KRTAP26-1 0 +KRTAP27-1 0 +KRTAP6-1 0 +KRTAP6-2 0 +KRTAP7-1 0 +KRTAP8-1 0 +LCA5L 0 +LINC00114 0 +LINC00158 0 +LINC00159 0 +LINC00160 0 +LINC00162 0 +LINC00163 0 +LINC00307 0 +LINC00313 0 +LINC00316 0 +LINC00317 0 +LINC00320 0 +LINC00322 0 +LINC00323 0 +LINC00479 0 +LINC00515 0 +LINC01423 0 +LIPI 0 +LOC100129027 0 +LOC100133286 0 +LOC100506403 0 +LOC101927797 0 +LOC101927843 0 +LOC101927869 0 +LOC101928107 0 +LOC101928269 0 +LOC101928435 0 +LOC284837 0 +LOC388813 0 +LOC400867 0 +LRRC3-AS1 0 +LSS 1 +LTN1 3 +MCM3AP 4 +MIR3156-3 0 +MIR4327 0 +MIR4760 0 +MIR5009 0 +MIR6070 0 +MIR6814 0 +MIS18A 17 +MRPL39 0 +N6AMT1 0 +NRIP1 1 +PAXBP1 0 +PIGP 0 +PLAC4 0 +POFUT2 1 +PRDM15 1 +PSMG1 5 +PTTG1IP 18 +RCAN1 3 +RIPK4 0 +RSPH1 0 +RUNX1 0 +RUNX1-IT1 0 +RWDD2B 0 +S100B 0 +SAMSN1 0 +SCAF4 0 +SETD4 2 +SIK1 1 +SLC19A1 0 +SNORA80A 0 +SPATC1L 0 +SSR4P1 0 +SUMO3 0 +SYNJ1 3 +TCP10L 0 +TEKT4P2 0 +TFF1 0 +TFF2 0 +TFF3 0 +TIAM1 34 +TMEM50B 4 +TMPRSS15 0 +TMPRSS2 0 +TMPRSS3 0 +TPTE 0 +TRPM2-AS 0 +TSPEAR 1 +U2AF1 0 +UBE2G2 0 +URB1 0 +WDR4 1 +ZBTB21 2 +A4GALT 2 +ADORA2A-AS1 0 +ALG12 2 +ANKRD54 0 +ANKRD62P1-PARP4P3 0 +AP1B1 0 +APOBEC3B-AS1 0 +APOL2 0 +APOL3 0 +APOL4 0 +ARFGAP3 2 +ARSA 0 +ARVCF 0 +ASCC2 3 +ATP5L2 0 +ATP6V1E1 2 +BAIAP2L2 0 +BID 1 +BPIFC 0 +BRD1 5 +C1QTNF6 0 +C22orf23 0 +C22orf24 0 +C22orf29 1 +C22orf31 0 +C22orf34 1 +C22orf39 0 +C22orf42 0 +CACNG2 0 +CARD10 0 +CBX6 0 +CBX7 0 +CCT8L2 0 +CDPF1 0 +CECR1 0 +CECR3 0 +CECR5 0 +CECR6 0 +CELSR1 1 +CENPM 0 +CERK 0 +CES5AP1 0 +CHADL 0 +CHCHD10 0 +CHEK2 0 +CHKB 0 +CHKB-CPT1B 0 +CLDN5 0 +CLTCL1 0 +CPT1B 0 +CRYBB1 0 +CSNK1E 6 +CYB5R3 0 +CYP2D6 0 +CYP2D7P 0 +DDT 0 +DDX17 2 +DENND6B 0 +DERL3 0 +DESI1 2 +DGCR11 0 +DGCR14 1 +DGCR2 0 +DGCR6L 0 +DMC1 0 +DNAJB7 0 +DNAL4 1 +DRICH1 0 +DUSP18 4 +DUXAP8 0 +EFCAB6 0 +EIF3D 0 +EIF4ENIF1 20 +ELFN2 0 +ENTHD1 0 +EP300-AS1 0 +FAM227A 0 +FOXRED2 0 +GAB4 0 +GAL3ST1 1 +GATSL3 0 +GGT3P 0 +GGT5 0 +GNB1L 0 +GSC2 0 +GSTT1 0 +GSTT2 0 +GSTT2B 0 +GSTTP1 0 +GSTTP2 0 +GTSE1-AS1 0 +GUCD1 3 +GUSBP11 0 +HDAC10 0 +HIRA 1 +HORMAD2-AS1 0 +HPS4 1 +IFT27 0 +IGLL1 0 +IL17REL 0 +IL2RB 1 +JOSD1 1 +KCNJ4 0 +KIAA0930 5 +KIAA1644 0 +KIAA1656 0 +KLHL22 0 +LARGE 0 +LDOC1L 0 +LGALS2 0 +LIF 0 +LINC00229 0 +LINC00895 0 +LINC00898 0 +LINC00899 0 +LINC01315 0 +LMF2 0 +LOC100128531 0 +LOC100506271 0 +LOC101927051 0 +LOC101927722 1 +LOC101929372 0 +LOC101929829 0 +LOC284865 0 +LOC284889 0 +LOC284933 0 +LOC388849 0 +LOC388882 0 +LOC400927 0 +LOC642757 0 +LOC90834 0 +LRP5L 0 +LRRC75B 0 +MAPK1 1 +MAPK11 0 +MAPK12 0 +MB 0 +MCAT 0 +MFNG 0 +MICAL3 0 +MIR1249 0 +MIR1286 0 +MIR3198-1 0 +MIR3199-1 0 +MIR3653 0 +MIR3928 0 +MIR4764 0 +MIR4766 0 +MIR548J 0 +MIR6069 0 +MIR648 0 +MIR658 0 +MIR659 0 +MIR6816 0 +MIR6819 0 +MIR6889 0 +MIR7109 0 +MKL1 1 +MLC1 0 +MN1 0 +MORC2 0 +MYH9 0 +NAGA 0 +NDUFA6 5 +NFAM1 0 +NHP2L1 1 +NIPSNAP1 0 +NPTXR 0 +NUP50-AS1 0 +ODF3B 0 +OR11H1 0 +OSM 0 +P2RX6P 0 +PACSIN2 1 +PATZ1 0 +PDGFB 0 +PES1 0 +PHF21B 1 +PHF5A 1 +PI4KA 0 +PI4KAP1 0 +PI4KAP2 0 +PIK3IP1 0 +PISD 3 +PITPNB 3 +PIWIL3 1 +PKDREJ 0 +PLA2G3 0 +PLA2G6 0 +PLXNB2 0 +PMM1 2 +PNPLA5 0 +POLDIP3 1 +POLR3H 1 +POM121L10P 0 +POM121L1P 0 +POTEH 0 +PPM1F 0 +PRAME 0 +PRODH 0 +PRR14L 7 +PRR34 0 +PVALB 0 +RABL2B 0 +RAC2 3 +RANGAP1 3 +RASL10A 0 +RBFOX2 5 +RFPL1S 0 +RFPL2 0 +RFPL3S 3 +RHBDD3 1 +RIMBP3 0 +RIMBP3B 0 +RIMBP3C 0 +RNF215 0 +RNU86 0 +RPL3 10 +RPS19BP1 0 +RRP7A 0 +RRP7B 0 +RTCB 3 +RTDR1 0 +RTN4R 0 +SBF1 2 +SCARF2 0 +SCO2 0 +SCUBE1 0 +SDC4P 0 +SEC14L3 0 +SEC14L4 0 +SEC14L6 0 +SELM 0 +SF3A1 3 +SHISA8 0 +SLC16A8 0 +SLC25A1 0 +SLC25A17 3 +SLC5A4 0 +SLC7A4 0 +SMC1B 1 +SNORD125 0 +SNORD43 0 +SNORD83A 1 +SNORD83B 0 +SOX10 0 +SSTR3 1 +ST13 4 +SULT4A1 0 +SUN2 0 +SYCE3 0 +SYN3 0 +TBC1D10A 0 +TCF20 6 +TEX33 0 +TFIP11 1 +THAP7 0 +THOC5 0 +TMEM184B 2 +TMEM211 0 +TMPRSS6 0 +TNFRSF13C 0 +TOB2 0 +TOP3B 0 +TPST2 0 +TRMT2A 0 +TST 0 +TTC28 2 +TTLL1 0 +TTLL12 0 +TUBA3FP 0 +TUBGCP6 0 +TXN2 4 +TXNRD2 0 +TYMP 0 +UFD1L 0 +VPREB3 0 +WNT7B 0 +XBP1 1 +XKR3 0 +YDJC 0 +YPEL1 4 +ZDHHC8P1 0 +ZMAT5 0 +ZNF280A 0 +ZNF280B 18 +ZNF70 0 +ZNRF3-AS1 0 +A4GNT 0 +AADACL2-AS1 0 +ABCC5 0 +ABHD14B 0 +ABI3BP 1 +ACAA1 1 +ACAD11 1 +ACAP2 0 +ACOX2 0 +ACTR8 0 +ACTRT3 0 +ACVR2B-AS1 0 +ADAMTS9 5 +ADCY5 4 +ADIPOQ-AS1 0 +ALDH1L1 0 +ALG1L 0 +ALG3 0 +ALS2CL 0 +AMIGO3 0 +AMOTL2 0 +AMT 0 +ANAPC13 3 +ANKRD18DP 0 +ANKRD28 1 +ANKUB1 0 +ANO10 2 +APOD 0 +ARF4 3 +ARHGAP31-AS1 0 +ARHGEF26-AS1 0 +ARHGEF3 1 +ARIH2OS 0 +ASB14 1 +ASTE1 0 +ATG3 1 +ATP13A3 1 +ATP13A4 0 +ATP13A5 0 +ATP2B2 0 +ATP2B2-IT2 0 +ATR 1 +AZI2 1 +B3GALNT1 2 +B4GALT4 0 +BAP1 0 +BCHE 0 +BCL6 0 +BDH1 0 +BSN-AS2 0 +BTLA 0 +C3orf17 7 +C3orf18 0 +C3orf22 0 +C3orf27 0 +C3orf33 2 +C3orf36 0 +C3orf62 1 +C3orf67 0 +C3orf70 1 +C3orf84 0 +CACNA2D2 2 +CACNA2D3-AS1 0 +CADM2-AS2 0 +CADPS 0 +CAMK1 0 +CAMK2N2 0 +CAMKV 0 +CBLB 1 +CCDC12 0 +CCDC13 0 +CCDC14 3 +CCDC37-AS1 0 +CCDC39 1 +CCDC51 0 +CCDC58 0 +CCDC71 0 +CCDC80 0 +CCK 0 +CCNL1 1 +CCR1 0 +CD200R1 0 +CD200R1L 0 +CD47 0 +CD80 0 +CDC25A 8 +CDCP1 0 +CDHR4 0 +CELSR3 0 +CEP19 0 +CEP70 3 +CFAP44 0 +CGGBP1 3 +CHCHD4 0 +CHDH 0 +CHL1-AS1 0 +CIDEC 0 +CIDECP 2 +CISH 0 +CLASP2 0 +CLCN2 1 +CLDN1 0 +CLDND1 5 +CLRN1 0 +CLSTN2-AS1 0 +CMTM6 13 +CNBP 35 +CNTN3 0 +CNTN4-AS1 0 +CNTN4-AS2 0 +COL6A4P1 0 +COL7A1 0 +COLQ 0 +COMMD2 4 +COPB2 6 +COX17 0 +CP 0 +CPN2 0 +CPNE4 0 +CPOX 0 +CRBN 2 +CRYGS 0 +CSPG5 0 +CSRNP1 0 +CX3CR1 0 +CYP8B1 0 +DALRD3 1 +DAZL 7 +DBR1 0 +DCBLD2 0 +DCLK3 0 +DCP1A 34 +DCUN1D1 1 +DENND6A 0 +DGKG 0 +DHFRL1 0 +DHX36 3 +DLG1 4 +DNAH12 1 +DNAJB8 0 +DNAJC19 1 +DNASE1L3 0 +DPH3 0 +DPPA2 0 +DPPA2P3 0 +DPPA4 0 +DRD3 0 +DUSP7 13 +DYNC1LI1 0 +DZIP1L 0 +EFCAB12 0 +EFHB 1 +EGOT 0 +EHHADH 0 +EIF1B-AS1 0 +EIF4E3 3 +EIF5A2 0 +ELP6 0 +EMC3 1 +ENTPD3-AS1 0 +EOGT 2 +EOMES 0 +EPM2AIP1 0 +ERC2 3 +ERC2-IT1 0 +ERICH6 0 +ESRG 0 +ETV5 7 +FAM107A 0 +FAM19A4 2 +FAM208A 6 +FAM3D 0 +FAM86DP 0 +FAM86HP 0 +FANCD2OS 0 +FEZF2 3 +FGD5-AS1 0 +FGF12 0 +FHIT 0 +FILIP1L 0 +FLJ46066 0 +FOXL2 0 +FOXP1 1 +FRMD4B 5 +FSTL1 0 +FYCO1 0 +GABRR3 0 +GADL1 0 +GATA2 0 +GBE1 0 +GCSAM 0 +GHRL 0 +GHSR 0 +GK5 0 +GLB1 3 +GLT8D1 1 +GLYCTK-AS1 0 +GMNC 0 +GMPPB 0 +GNB4 4 +GOLGB1 0 +GOLIM4 1 +GORASP1 0 +GP5 0 +GPR149 0 +GPR156 0 +GPR171 0 +GPR87 0 +GPX1 1 +GRIP2 0 +GRM7-AS1 0 +GRM7-AS3 0 +GSK3B 2 +GUCA1C 0 +H1FX 0 +HACL1 0 +HCLS1 0 +HDAC11-AS1 0 +HEG1 0 +HESX1 0 +HGD 0 +HHATL 0 +HIGD1A 6 +HLTF 0 +HP09053 0 +HSPBAP1 2 +HYAL1 0 +HYAL2 0 +HYAL3 0 +IFRD2 0 +IFT57 1 +IFT80 0 +IGF2BP2 1 +IGSF10 5 +IGSF11 0 +IL12A-AS1 0 +IL17RD 3 +IL5RA 0 +ILDR1 0 +IMPDH2 2 +IMPG2 0 +IP6K1 1 +IP6K2 0 +IQCB1 1 +IQCF1 0 +IQCF5 0 +IQCF6 0 +IQCG 2 +IQCJ-SCHIP1-AS1 0 +IQSEC1 2 +ISY1 1 +ISY1-RAB43 0 +ITGA9-AS1 0 +ITGB5 0 +ITIH4 0 +ITPR1-AS1 0 +KCNAB1-AS1 0 +KCNAB1-AS2 0 +KCNMB3 0 +KIAA0226 0 +KIAA1143 1 +KIAA1257 2 +KIAA1407 0 +KIAA1524 4 +KIAA2018 0 +KIF9 0 +KLF15 0 +KLHL6 0 +KPNA1 0 +KPNA4 0 +KRBOX1-AS1 0 +KY 0 +LAMB2 0 +LAMB2P1 0 +LAMP3 0 +LARS2-AS1 0 +LEPREL1 0 +LHFPL4 0 +LIMD1-AS1 1 +LINC00606 0 +LINC00635 0 +LINC00691 0 +LINC00692 0 +LINC00696 0 +LINC00877 0 +LINC00880 0 +LINC00882 0 +LINC00886 0 +LINC00887 0 +LINC00971 0 +LINC00994 0 +LINC01192 0 +LINC01208 0 +LINC01209 0 +LINC01214 0 +LINC01267 0 +LINC01279 0 +LINC01391 0 +LINC01471 0 +LIPH 0 +LMCD1-AS1 0 +LMLN-AS1 0 +LMOD3 14 +LOC100128164 0 +LOC100289361 0 +LOC100505920 0 +LOC100507537 0 +LOC100996447 0 +LOC101927056 0 +LOC101927123 0 +LOC101927394 0 +LOC101928105 0 +LOC101928135 0 +LOC101928323 0 +LOC101928739 0 +LOC101928882 0 +LOC101928992 0 +LOC101929106 1 +LOC101929694 0 +LOC101929717 0 +LOC102724297 0 +LOC102724604 0 +LOC102724699 0 +LOC220729 0 +LOC253573 0 +LOC339874 0 +LOC401052 0 +LOC647323 0 +LOC653712 0 +LPP-AS1 0 +LPP-AS2 0 +LRIG1 4 +LRRC15 0 +LRRC2 0 +LRRC31 0 +LRRC34 0 +LRRC58 0 +LRRFIP2 2 +LRTM1 0 +LSAMP 0 +LSG1 0 +LTF 0 +LXN 0 +LYZL4 0 +LZTFL1 0 +MAGEF1 0 +MAGI1 2 +MAP4 5 +MAP6D1 0 +MASP1 0 +MB21D2 6 +MBD4 36 +MBNL1-AS1 0 +MCCC1 0 +MCF2L2 0 +MECOM 0 +METTL6 0 +MFI2 0 +MGLL 0 +MINA 9 +MIR1284 0 +MIR135A1 0 +MIR191 0 +MIR198 0 +MIR3136 0 +MIR3921 0 +MIR3938 0 +MIR425 0 +MIR4270 0 +MIR4442 0 +MIR4790 0 +MIR4791 0 +MIR4792 0 +MIR4793 0 +MIR4795 0 +MIR4796 0 +MIR4797 0 +MIR5092 0 +MIR5186 0 +MIR5193 0 +MIR548A3 0 +MIR548G 0 +MIR548I1 0 +MIR5588 0 +MIR568 0 +MIR569 0 +MIR5692C1 0 +MIR5704 0 +MIR6823 0 +MIR6824 0 +MIR6825 0 +MIR6827 0 +MIR6829 0 +MIR6890 0 +MIR711 0 +MIR8064 0 +MIR8076 0 +MIR885 0 +MIR922 0 +MIRLET7G 0 +MKRN2OS 0 +MON1A 1 +MORC1 0 +MRPL3 0 +MRPL47 0 +MRPS25 1 +MSL2 4 +MST1 0 +MST1R 0 +MTHFD2P1 0 +MUC13 0 +MUC4 0 +MUSTN1 0 +MYH15 3 +MYL3 0 +MYLK 1 +NAA50 3 +NAALADL2-AS1 0 +NAALADL2-AS2 0 +NAALADL2-AS3 0 +NAT6 0 +NCBP2 3 +NCEH1 2 +NCK1-AS1 0 +NCKIPSD 1 +NEK10 0 +NEK4 0 +NGLY1 1 +NICN1 0 +NKIRAS1 0 +NLGN1-AS1 0 +NME6 2 +NME9 0 +NMNAT3 0 +NPHP3 0 +NPHP3-ACAD11 0 +NPRL2 0 +NT5DC2 0 +NUP210 0 +OPA1-AS1 0 +OSBPL10 27 +OSBPL11 4 +OXTR 0 +P2RY12 0 +P2RY13 0 +P2RY14 0 +PA2G4P4 1 +PAQR9 0 +PARL 40 +PARP9 0 +PBRM1 7 +PCBP4 0 +PCOLCE2 0 +PCYT1A 1 +PDCD10 3 +PDHB 1 +PDZRN3 2 +PEX5L 0 +PFKFB4 0 +PFN2 3 +PHC3 2 +PIGZ 0 +PIK3CB 0 +PIK3R4 0 +PISRT1 0 +PLCD1 0 +PLCH1 0 +PLCXD2-AS1 0 +PLD1 1 +PLOD2 4 +PLSCR1 0 +PLSCR2 0 +PLSCR4 0 +PLSCR5 0 +PLXNB1 0 +PLXND1 0 +POC1A 0 +POLQ 0 +POMGNT2 0 +POPDC2 0 +POU1F1 0 +PP2D1 0 +PPP1R2 0 +PRICKLE2 0 +PRKAR2A 3 +PROK2 1 +PROS1 0 +PRR23A 0 +PRR23B 0 +PRR23C 0 +PRRT3 0 +PRSS42 0 +PRSS45 0 +PRSS46 0 +PRSS50 0 +PSMD6 0 +PTPLB 1 +PTPRG-AS1 0 +PVRL3-AS1 0 +QARS 5 +QRICH1 7 +RAB43 0 +RAB6B 5 +RABL3 0 +RAD18 1 +RAF1 0 +RARRES1 0 +RASSF1 0 +RBM5-AS1 0 +RBMS3-AS1 0 +RBMS3-AS3 0 +RBP1 0 +RBP2 0 +RETNLB 0 +RFC4 1 +RFT1 2 +RFTN1 0 +RHOA 22 +RNF168 2 +RNU6-69P 0 +ROBO1 2 +ROPN1 0 +RPL22L1 1 +RPL24 13 +RPL29 26 +RPL32 6 +RPL32P3 0 +RPL39L 0 +RPN1 0 +RPUSD3 1 +RRP9 0 +RTP2 0 +RUVBL1 0 +RYBP 0 +RYK 0 +SATB1 1 +SCAP 4 +SCARNA7 0 +SCN10A 0 +SCN11A 0 +SCN5A 0 +SDHAP1 0 +SEC13 0 +SEC22C 1 +SELK 4 +SEMA3B-AS1 0 +SEMA3G 0 +SEMA5B 0 +SENP7 1 +SERP1 3 +SERPINI2 0 +SETD2 0 +SFMBT1 6 +SGOL1 5 +SH3BP5 10 +SHISA5 0 +SHOX2 0 +SHQ1 0 +SI 0 +SIAH2 0 +SLC12A8 4 +SLC25A20 0 +SLC26A6 10 +SLC2A2 0 +SLC33A1 5 +SLC41A3 0 +SLC4A7 46 +SLC6A1-AS1 0 +SLC6A20 0 +SLC7A14 0 +SLC9A9 0 +SLC9C1 0 +SLCO2A1 0 +SLITRK3 0 +SMARCC1 9 +SMCO1 0 +SNORA58 0 +SNORA7A 0 +SNORA7B 0 +SNRK-AS1 0 +SNX4 2 +SPATA16 0 +SPICE1 5 +SPINK8 0 +SPTSSB 0 +SRGAP3 0 +SSR3 2 +SST 0 +SSUH2 0 +ST3GAL6-AS1 0 +STAG1 2 +STX19 0 +SUCLG2 0 +SUMF1 0 +SUSD5 0 +SYNPR-AS1 0 +TADA3 1 +TAMM41 7 +TBC1D5 0 +TBCCD1 0 +TBL1XR1 2 +TCTEX1D2 0 +TERC 0 +TFDP2 1 +TFRC 1 +THOC7 3 +THPO 0 +THRB 2 +THUMPD3-AS1 0 +TIMP4 0 +TIPARP-AS1 0 +TKT 0 +TLR9 0 +TM4SF1 0 +TM4SF18 0 +TM4SF19 0 +TM4SF19-TCTEX1D2 0 +TMCC1 8 +TMEM108-AS1 0 +TMEM110 1 +TMEM110-MUSTN1 0 +TMEM115 2 +TMEM14E 0 +TMEM158 0 +TMEM207 0 +TMEM212-AS1 0 +TMEM39A 1 +TMEM40 0 +TMEM41A 9 +TMEM44 0 +TMEM89 0 +TMF1 1 +TMPPE 1 +TNFSF10 0 +TNIK 12 +TNK2 1 +TNNC1 0 +TOMM70A 7 +TOP2B 5 +TOPBP1 0 +TPRA1 0 +TPRG1-AS1 0 +TPRG1-AS2 0 +TRA2B 1 +TRAIP 1 +TRANK1 0 +TRIM59 12 +TUSC2 1 +TWF2 0 +TXNRD3 0 +TXNRD3NB 0 +UBA3 0 +UBA7 0 +UBE2E1-AS1 0 +UBP1 0 +UBXN7 1 +UCN2 0 +ULK4 1 +UQCRC1 2 +UROC1 0 +USP19 1 +USP4 1 +UTS2B 0 +VEPH1 1 +VGLL3 0 +VGLL4 2 +VIPR1-AS1 0 +VPRBP 0 +WDR49 0 +WDR53 3 +WDR5B 0 +WDR82 3 +WNT5A 0 +WNT7A 0 +WWTR1 0 +XCR1 0 +XIRP1 0 +XPC 3 +XRN1 6 +XXYLT1 0 +ZBBX 0 +ZBED2 0 +ZBTB11 0 +ZBTB20 0 +ZDHHC19 0 +ZDHHC3 5 +ZFYVE20 0 +ZIC4 0 +ZMAT3 2 +ZMYND10 0 +ZNF148 9 +ZNF197-AS1 0 +ZNF385D 0 +ZNF445 2 +ZNF717 0 +ZNF80 0 +ZNF852 0 +ZXDC 0 +AADAT 0 +AASDH 0 +ABCA11P 2 +ABCG2 0 +ABLIM2 1 +ACOX3 0 +ACSL1 1 +ADAMTS3 1 +ADH1A 0 +ADH1B 0 +ADH1C 0 +ADH4 0 +ADH5 9 +ADH6 0 +ADH7 0 +AFAP1 4 +AGA 0 +ANAPC10 0 +ANKRD17 29 +ANKRD50 0 +ANP32C 0 +ANTXR2 0 +ANXA2P1 0 +ANXA5 0 +APBB2 1 +ARAP2 3 +ARSJ 0 +ASB5 0 +ASIC5 0 +ATP5I 1 +ATP8A1 0 +BBS7 0 +BDH2 0 +BEND4 0 +BMPR1B-AS1 0 +BOD1L1 9 +BTC 0 +C4orf27 43 +C4orf3 0 +C4orf36 0 +C4orf45 0 +C4orf46 0 +CAMK2D 0 +CASP3 1 +CASP6 1 +CBR4 1 +CCDC110 0 +CCDC149 0 +CCDC158 0 +CCDC96 0 +CCKAR 0 +CCNA2 18 +CCNI 79 +CDKL2 0 +CENPC 1 +CENPE 25 +CENPU 7 +CETN4P 0 +CFAP97 0 +CFI 0 +CHIC2 0 +CLDN22 0 +CLDN24 0 +CLGN 0 +CLNK 0 +CLOCK 22 +CNGA1 0 +CNOT6L 24 +COL25A1 0 +COMMD8 1 +COQ2 0 +CORIN 0 +COX18 0 +COX7B2 0 +CPEB2-AS1 0 +CPLX1 0 +CRMP1 6 +CSN2 0 +CTBP1 0 +CTSO 0 +CXCL10 0 +CXCL11 0 +CXCL2 0 +CXCL3 0 +CXCL5 0 +CXCL9 0 +CXXC4 0 +CYTL1 0 +DCAF16 1 +DCHS2 2 +DCTD 0 +DDIT4L 0 +DDX60 0 +DDX60L 1 +DGKQ 0 +DHX15 0 +DKK2 0 +DNAJB14 0 +EIF4E 1 +ELF2 0 +ELOVL6 0 +EMCN 0 +ENPP6 0 +EPHA5 0 +ERVMER34-1 0 +ETNPPL 0 +EVC2 1 +F11-AS1 0 +FABP2 0 +FAM13A 179 +FAM175A 0 +FAM184B 1 +FAM198B 0 +FAM53A 0 +FAM86EP 0 +FAT1 1 +FBXL5 6 +FBXO8 1 +FBXW7 3 +FGA 0 +FGFBP1 0 +FGFBP2 0 +FGG 0 +FLJ36777 0 +FLJ38576 0 +FREM3 0 +FRG2 0 +FRYL 0 +FSTL5 1 +G3BP2 2 +GABRA2 0 +GABRA4 0 +GABRG1 0 +GAK 1 +GATB 0 +GC 0 +GIMD1 0 +GK2 0 +GK3P 0 +GLRA3 0 +GNPDA2 20 +GNRHR 0 +GPM6A 0 +GPR125 0 +GPRIN3 0 +GRPEL1 6 +GRSF1 1 +GYPA 0 +GYPB 0 +GYPE 0 +H2AFZ 0 +HAND2 0 +HAUS3 0 +HELQ 1 +HHIP-AS1 0 +HMGB2 20 +HMX1 0 +HNRNPD 7 +HNRNPDL 3 +HOPX 0 +HPGD 0 +HPGDS 0 +HPSE 0 +HS3ST1 0 +HSD17B11 0 +HSD17B13 0 +HTT-AS 0 +IGFBP7 0 +IGJ 0 +IL2 0 +IL21 0 +INPP4B 2 +INTS12 2 +IRF2 0 +JAKMIP1 0 +KCNIP4 0 +KCNIP4-IT1 0 +KCTD8 0 +KDR 0 +KLF3-AS1 0 +KLHL8 4 +LAMTOR3 0 +LCORL 1 +LDB2 0 +LEF1 12 +LETM1 0 +LGI2 0 +LIN54 0 +LINC00290 0 +LINC00575 0 +LINC00613 0 +LINC00616 0 +LINC00682 0 +LINC01061 0 +LINC01093 0 +LINC01095 0 +LINC01096 0 +LINC01097 0 +LINC01099 0 +LINC01216 0 +LINC01258 0 +LINC01365 0 +LNX1 0 +LOC100129917 0 +LOC100129931 0 +LOC100130872 0 +LOC100133461 0 +LOC100505912 0 +LOC100506085 0 +LOC100506272 0 +LOC100506746 0 +LOC100507388 0 +LOC100507639 0 +LOC101927087 0 +LOC101927237 0 +LOC101927282 0 +LOC101928131 0 +LOC339975 0 +LOC344967 0 +LOC389247 0 +LOC401134 0 +LOC728175 0 +LOC731424 0 +LPHN3-AS1 0 +LRBA 0 +LRP2BP 0 +LRPAP1 2 +LRRC66 0 +LYAR 4 +MAD2L1 20 +MAML3 0 +MANBA 0 +MAP9 5 +MAPK10 0 +MARCH1 2 +MFAP3L 3 +MFSD10 7 +MFSD7 0 +MFSD8 0 +MGARP 0 +MGAT4D 0 +MGC45800 0 +MIR302A 0 +MIR302B 0 +MIR302C 0 +MIR302D 0 +MIR3138 0 +MIR3140 0 +MIR367 0 +MIR3688-1 0 +MIR378D1 0 +MIR3945 0 +MIR4800 0 +MIR4801 0 +MIR4802 0 +MIR548AJ2 0 +MIR548AX 0 +MIR548I2 0 +MIR5705 0 +MIR573 0 +MIR575 0 +MIR8066 0 +MIR943 0 +MRFAP1L1 1 +MTNR1A 0 +MXD4 6 +NAA11 8 +NAAA 0 +NAF1 0 +NAP1L5 0 +NDNF 0 +NDST4 0 +NDUFC1 1 +NEK1 26 +NELFA 4 +NEUROG2 0 +NFXL1 7 +NKX1-1 0 +NKX3-2 0 +NKX6-1 0 +NMU 0 +NOA1 3 +NOP14 1 +NPY1R 0 +NR3C2 4 +NUDT6 0 +NUP54 1 +OCIAD2 0 +OTOP1 0 +OTUD4 16 +PABPC4L 0 +PAPSS1 7 +PAQR3 0 +PCDH18 0 +PCNAP1 0 +PDCL2 0 +PDE5A 0 +PDGFC 0 +PDLIM3 0 +PDS5A 0 +PF4 0 +PGRMC2 1 +PHOX2B 0 +PIGY 0 +PITX2 2 +PLA2G12A 1 +PLAC8 0 +PLRG1 4 +POLN 1 +PPA2 0 +PPARGC1A 1 +PPAT 2 +PPBP 0 +PPBPP2 0 +PPEF2 0 +PPID 2 +PPM1K 0 +PPP2R2C 0 +PPP3CA 6 +PRDM5 0 +PRKG2 0 +PRMT9 0 +PROM1 0 +PRSS12 0 +PSAPL1 0 +PYURF 0 +QDPR 5 +QRFPR 0 +RAB28 0 +RASGEF1B 0 +RASSF6 0 +RBM47 0 +RCHY1 0 +RELL1 0 +RFC1 10 +RNF150 0 +RNF175 0 +RNF212 1 +RPL21P44 0 +RPL34-AS1 0 +RPL9 1 +RWDD4 0 +SCARB2 2 +SCD5 0 +SCFD2 0 +SCLT1 0 +SCOC-AS1 0 +SCRG1 0 +SDAD1 7 +SEC24B-AS1 0 +SEC24D 0 +SEC31A 0 +SEL1L3 0 +SEPSECS 0 +SETD7 0 +SFRP2 0 +SGCB 0 +SH3D19 1 +SH3RF1 1 +SLBP 15 +SLC10A6 0 +SLC10A7 0 +SLC26A1 0 +SLC2A9 0 +SLC39A8 0 +SLC7A11 1 +SLC9B1 1 +SLC9B2 0 +SLED1 0 +SMAD1-AS2 0 +SMARCA5-AS1 0 +SMIM14 1 +SNCA 0 +SORBS2 0 +SOWAHB 0 +SPARCL1 0 +SPATA4 0 +SPINK2 0 +SPOCK3 0 +SPON2 0 +SRD5A3-AS1 0 +STPG2 0 +STX18 0 +SULT1B1 0 +SULT1E1 0 +SYT14P1 0 +TACR3 0 +TAPT1 5 +TBC1D9 0 +TBCK 0 +TEC 0 +TECRL 0 +THAP9-AS1 0 +TIFA 4 +TIGD4 0 +TKTL2 0 +TLR1 0 +TLR10 0 +TLR6 0 +TMED11P 0 +TMEM128 1 +TMEM129 0 +TMEM150C 0 +TMEM154 0 +TMEM155 0 +TMEM156 0 +TMEM192 0 +TMPRSS11A 0 +TMPRSS11B 0 +TMPRSS11BNL 0 +TMPRSS11D 0 +TMPRSS11F 0 +TMPRSS11GP 0 +TNIP2 0 +TNIP3 0 +TNRC18P1 0 +TRAM1L1 0 +TRIM61 1 +TRIML2 0 +TRMT10A 0 +TRPC3 2 +TSPAN5 19 +TTC29 1 +TXK 0 +UBA6 3 +UBE2D3 33 +UCHL1-AS1 0 +UCP1 0 +UFSP2 4 +UGDH 3 +UGT2A1 0 +UGT2A2 0 +UGT2A3 0 +UGT2B10 0 +UGT2B11 0 +UGT2B15 0 +UGT2B17 0 +UGT2B4 0 +UNC5C 6 +USP46 1 +VEGFC 0 +WDFY3 2 +WDR1 10 +WWC2-AS2 0 +YIPF7 0 +YTHDC1 0 +ZFYVE28 0 +ZGRF1 0 +ZNF518B 1 +ZNF721 6 +ZNF732 0 +ZNF827 2 +UGT2A3 0 +UGT2B10 0 +UGT2B15 0 +UGT2B17 0 +YTHDC1 0 +MGC39584 0 +MAFIP 0 +AACSP1 1 +ACOT12 0 +ACSL6 0 +ACTBL2 0 +ADAM19 2 +ADAMTS12 0 +ADAMTS19-AS1 0 +ADAMTS2 0 +ADAMTS6 0 +AFF4 9 +AGXT2 0 +AK6 0 +ALDH7A1 0 +AMACR 0 +ANKH 2 +ANKRA2 0 +ANKRD31 0 +ANKRD34B 0 +ANKRD55 0 +ANXA2R 0 +ANXA6 0 +AP3B1 0 +APBB3 0 +ARAP3 0 +ARHGAP26-AS1 0 +ARL15 0 +ARRDC3 0 +ARSB 0 +ARSI 0 +ATG12 0 +ATOX1 0 +ATP10B 0 +BOD1 240 +BRD8 4 +BRD9 0 +C1QTNF2 0 +C1QTNF3 0 +C1QTNF3-AMACR 0 +C5orf15 0 +C5orf20 0 +C5orf28 0 +C5orf34 6 +C5orf42 1 +C5orf45 2 +C5orf46 0 +C5orf49 0 +C5orf55 0 +C5orf60 0 +C5orf63 0 +C5orf66-AS1 0 +C5orf66-AS2 0 +C6 0 +C9 0 +CAMK2A 1 +CAPSL 0 +CBY3 0 +CCDC112 0 +CCDC125 0 +CCDC127 1 +CCDC69 0 +CCL28 0 +CCNH 0 +CCNJL 0 +CCNO 4 +CD14 0 +CD180 0 +CD74 0 +CDC20B 0 +CDC23 1 +CDC25C 2 +CDH10 0 +CDH12 1 +CDH18 0 +CDH9 0 +CDKL3 0 +CDKN2AIPNL 0 +CDO1 0 +CENPK 2 +CEP120 3 +CETN3 2 +CHD1 1 +CKMT2-AS1 0 +CLINT1 9 +CLK4 0 +CLPTM1L 9 +CLTB 1 +CMBL 0 +COL23A1 0 +COL4A3BP 0 +CRSP8P 0 +CSF1R 11 +CSNK1A1 1 +CTB-178M22.2 0 +CTB-7E3.1 0 +CTD-2201I18.1 0 +CTD-2297D10.2 0 +CTD-2350J17.1 0 +CTD-3080P12.3 0 +CTNND2 2 +CXCL14 0 +DAB2 0 +DAP 3 +DBN1 0 +DCTN4 3 +DDX41 0 +DEPDC1B 2 +DHFR 1 +DHX29 3 +DIAPH1 0 +DIMT1 0 +DMGDH 0 +DNAH5 0 +DNAJC18 3 +DND1 0 +DOK3 0 +DPYSL3 0 +DRD1 0 +DROSHA 4 +DTWD2 1 +DUSP1 0 +EBF1 4 +ECSCR 0 +EDIL3 0 +EFNA5 0 +EGFLAM-AS2 0 +EGFLAM-AS4 0 +ELL2 1 +ELOVL7 0 +EMB 0 +ENC1 0 +EPB41L4A 2 +ERAP1 0 +ERCC8 0 +ESM1 0 +ETF1 1 +F12 0 +F2RL2 0 +FAM114A2 1 +FAM134B 0 +FAM13B 0 +FAM153A 0 +FAM169A 8 +FAM172A 0 +FAM173B 0 +FAM193B 0 +FAM196B 0 +FAM71B 0 +FASTKD3 0 +FAT2 2 +FAXDC2 0 +FBN2 0 +FBXL17 0 +FBXW11 2 +FCHSD1 0 +FEM1C 0 +FGF1 0 +FGF10 0 +FLJ16171 0 +FLJ32255 0 +FLJ33360 0 +FLT4 0 +FNDC9 0 +FNIP1 0 +FOXD1 0 +FSTL4 2 +FYB 0 +GABRB2 0 +GCNT4 0 +GDF9 197 +GDNF 0 +GEMIN5 163 +GFM2 5 +GFPT2 0 +GFRA3 0 +GIN1 0 +GLRA1 0 +GLRX 5 +GMCL1P1 0 +GNB2L1 5 +GNPDA1 2 +GOLPH3 5 +GPR151 0 +GPRIN1 0 +GRM6 0 +GRXCR2 0 +GTF2H2 0 +GUSBP3 0 +GUSBP9 0 +H2AFY 1 +HAND1 0 +HAPLN1 0 +HARS 0 +HAVCR1 0 +HAVCR2 0 +HBEGF 0 +HCN1 0 +HDAC3 3 +HEIH 0 +HINT1 13 +HK3 0 +HMGCS1 0 +HMMR-AS1 0 +HNRNPA0 0 +HNRNPH1 2 +HOMER1 3 +HSPA9 9 +HTR1A 0 +HTR4 0 +IL12B 0 +IL17B 3 +IL5 0 +IL6ST 0 +IL9 0 +IRF1 0 +IRX2 0 +IRX4 0 +JAKMIP2 0 +KCNMB1 0 +KIAA0825 1 +KIAA1191 1 +KIF3A 12 +KLHL3 0 +LARS 0 +LCP2 0 +LECT2 0 +LHFPL2 0 +LIFR 1 +LINC00461 0 +LINC00491 0 +LINC01017 0 +LINC01019 0 +LINC01023 0 +LINC01024 0 +LINC01184 0 +LINC01187 0 +LINC01265 0 +LINC01335 0 +LINC01337 0 +LINC01338 0 +LINC01339 0 +LINC01470 0 +LINC01484 0 +LINC01485 0 +LIX1 0 +LMAN2 0 +LMBRD2 3 +LOC100132356 0 +LOC100133050 0 +LOC100268168 1 +LOC100272216 0 +LOC100287592 0 +LOC100303749 0 +LOC100505625 0 +LOC100506526 0 +LOC100506548 0 +LOC100506674 0 +LOC100506688 0 +LOC100506858 0 +LOC100652758 1 +LOC100996325 0 +LOC100996385 0 +LOC101926905 0 +LOC101926960 0 +LOC101927190 0 +LOC101927280 2 +LOC101927379 0 +LOC101927488 0 +LOC101927697 0 +LOC101927766 0 +LOC101927835 0 +LOC101928445 0 +LOC101928448 0 +LOC101928539 0 +LOC101928569 0 +LOC101928600 0 +LOC101928651 0 +LOC101928769 0 +LOC101928794 0 +LOC101929034 0 +LOC101929412 0 +LOC101929454 0 +LOC101929505 0 +LOC101929681 0 +LOC101929696 0 +LOC102467073 0 +LOC102467080 0 +LOC102467081 0 +LOC102467147 0 +LOC102467212 0 +LOC102467213 0 +LOC102467216 0 +LOC102467217 0 +LOC102467223 0 +LOC102477328 0 +LOC102546226 0 +LOC102546229 0 +LOC102546294 0 +LOC102546298 0 +LOC102577426 0 +LOC202181 0 +LOC285627 0 +LOC285629 0 +LOC285692 0 +LOC285696 0 +LOC340074 0 +LOC340107 0 +LOC389332 0 +LOC401177 0 +LOC442132 0 +LOC553103 0 +LOC642366 0 +LOC643201 0 +LOC644762 0 +LOC644936 0 +LOC646719 0 +LOC647859 0 +LOC648987 0 +LOC728613 0 +LOC728637 3 +LOC729080 0 +LOC729506 0 +LOX 0 +LPCAT1 1 +LRRTM2 0 +LUCAT1 0 +LYSMD3 1 +MAPK9 1 +MARCH11 0 +MARCH3 0 +MBLAC2 0 +MCC 0 +MCIDAS 0 +MCTP1 3 +MED10 7 +MED7 2 +MEF2C 0 +MGAT1 0 +MGAT4B 1 +MGC32805 0 +MIER3 0 +MIR103A1 0 +MIR1229 0 +MIR1289-2 0 +MIR218-2 0 +MIR2277 0 +MIR3141 0 +MIR340 0 +MIR3650 0 +MIR3660 0 +MIR3912 0 +MIR3936 0 +MIR4277 0 +MIR4278 0 +MIR4279 0 +MIR4280 0 +MIR4281 0 +MIR4454 0 +MIR4456 0 +MIR4457 0 +MIR4460 0 +MIR449A 0 +MIR449B 0 +MIR449C 0 +MIR4635 0 +MIR4636 0 +MIR4637 0 +MIR4638 0 +MIR5687 0 +MIR580 0 +MIR581 0 +MIR585 0 +MIR6075 0 +MIR6499 0 +MIR6830 0 +MIR6831 0 +MIR8089 0 +MIR874 0 +MIR9-2 0 +MOCS2 2 +MROH2B 0 +MRPL36 0 +MRPS27 0 +MTMR12 0 +MTRNR2L2 0 +MTX3 1 +MXD3 0 +MYO10 11 +MZB1 0 +NADK2 1 +NAIP 0 +NDUFA2 0 +NEUROG1 0 +NHP2 1 +NKX2-5 0 +NME5 0 +NMUR2 0 +NNT-AS1 0 +NOP16 0 +NR2F1-AS1 0 +NR3C1 5 +NREP 3 +NRG2 0 +NSUN2 1 +NUDCD2 1 +NUDT12 0 +NUP155 0 +OR2V1 0 +OR2Y1 0 +OSMR-AS1 0 +OTP 0 +OXCT1 0 +P4HA2 0 +PAIP1 63 +PANK3 2 +PCDH1 1 +PCDH12 0 +PCSK1 0 +PDE4D 1 +PDE6A 0 +PDGFRB 0 +PDLIM7 0 +PFDN1 4 +PFN3 0 +PGGT1B 1 +PHYKPL 0 +PITX1 0 +PJA2 0 +PLAC8L1 0 +PLCXD3 0 +PLK2 0 +POC5 3 +POU5F2 0 +PP7080 0 +PPAP2A 0 +PPIC 0 +PPP2CA 1 +PPP2R2B 4 +PPP2R2B-IT1 0 +PRELID2 22 +PRKAA1 1 +PRLR 0 +PROB1 0 +PROP1 0 +PRR7-AS1 0 +PWWP2A 0 +RAB24 0 +RAD1 2 +RANBP3L 0 +RAPGEF6 3 +RASGEF1C 0 +RASGRF2-AS1 0 +RBM22 3 +REEP5 0 +RGMB-AS1 0 +RICTOR 0 +RIOK2 4 +RNF130 4 +RNF138P1 0 +RNF145 2 +RNF44 2 +ROPN1L-AS1 0 +RPL37 11 +RPS14 13 +RPS23 21 +SAP30L-AS1 0 +SAR1B 1 +SCAMP1-AS1 0 +SCARNA18 0 +SCGB3A1 0 +SDHAP3 0 +SEMA5A 1 +SEMA6A 0 +SEPP1 0 +SEPT8 2 +SERINC5 3 +SGTB 0 +SH3PXD2B 0 +SH3TC2 0 +SHROOM1 0 +SIL1 0 +SKP1 16 +SLC12A7 0 +SLC23A1 0 +SLC25A2 0 +SLC36A2 0 +SLC36A3 0 +SLC38A9 1 +SLC45A2 0 +SLC6A3 0 +SLC9A3 0 +SLCO4C1 0 +SLCO6A1 0 +SLIT3 4 +SLU7 12 +SMA4 0 +SMA5 0 +SMAD5-AS1 0 +SMIM15 0 +SNCB 1 +SNORA47 0 +SNORD63 0 +SNORD72 0 +SNORD95 0 +SNORD96A 0 +SOX30 3 +SPARC 0 +SPATA24 0 +SPATA9 0 +SPINK1 0 +SPOCK1 2 +SPRY4 0 +SRA1 0 +SREK1IP1 7 +SSBP2 2 +ST8SIA4 0 +STARD4 0 +STC2 0 +STK10 0 +TAF7 5 +TAF9 1 +TAS2R1 0 +TBC1D9B 1 +TBCA 12 +TERT 0 +THOC3 2 +TICAM2 0 +TIFAB 0 +TIGD6 0 +TIMD4 0 +TMED7 0 +TMED7-TICAM2 0 +TMEM161B 0 +TMEM167A 8 +TMEM173 0 +TMEM232 2 +TNIP1 0 +TPPP 0 +TRIM23 0 +TRIM36 2 +TRIM52 1 +TRIM7 0 +TRPC7 1 +TSSK1B 0 +TTC33 0 +TTC37 1 +UBTD2 3 +UGT3A1 0 +UGT3A2 0 +UIMC1 0 +VDAC1 5 +VTRNA2-1 0 +WDR41 10 +YIPF5 0 +ZBED3 0 +ZBED8 0 +ZCCHC10 3 +ZDHHC11 0 +ZFP62 2 +ZFR 8 +ZNF300 0 +ZNF300P1 0 +ZNF354A 2 +ZNF366 0 +ZNF608 0 +ZNF622 0 +AARS2 0 +ABHD16A 0 +ADAT2 0 +ADTRP 1 +AGER 0 +AGPAT1 0 +AGPAT4 0 +AGPAT4-IT1 0 +AHI1 0 +AIRN 0 +AK9 2 +AKIRIN2 12 +ALDH8A1 0 +ARHGAP18 65 +ARMC2-AS1 0 +ASCC3 3 +ATF6B 0 +ATG5 2 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +ATXN1 0 +B3GAT2 0 +BACH2 1 +BAG6 0 +BAK1 0 +BCLAF1 8 +BEND3 0 +BLOC1S5 0 +BLOC1S5-TXNDC5 0 +BMP5 0 +BTBD9 1 +BTNL2 0 +BVES 1 +C2-AS1 0 +C6orf1 0 +C6orf10 0 +C6orf106 3 +C6orf118 0 +C6orf123 0 +C6orf132 0 +C6orf147 0 +C6orf15 0 +C6orf195 0 +C6orf222 0 +C6orf226 0 +C6orf229 0 +C6orf47 0 +C6orf52 6 +C6orf62 1 +C6orf7 0 +CAGE1 0 +CAHM 0 +CASC14 0 +CASC6 0 +CCDC167 0 +CCHCR1 0 +CCNC 1 +CCND3 0 +CD164 12 +CDK19 0 +CDSN 0 +CEP162 2 +CEP85L 0 +CGA 0 +CITED2 0 +CLIC1 0 +CLIC5 0 +CLPS 0 +CMAHP 0 +CNKSR3 0 +CNR1 0 +COL10A1 0 +COL11A2 0 +COL12A1 1 +COL21A1 0 +COL9A1 0 +COQ3 0 +COX7A2 0 +CPNE5 0 +CRIP3 0 +CRISP1 0 +CRISP2 0 +CRISP3 0 +CTAGE9 0 +CTGF 0 +CUL7 0 +CUTA 0 +CYP39A1 0 +DACT2 0 +DAXX 0 +DCDC2 34 +DDAH2 0 +DDO 0 +DDX39B 0 +DEFB110 0 +DEFB112 0 +DEFB113 0 +DEFB114 0 +DEFB133 0 +DEK 8 +DHX16 0 +DKFZp451B082 0 +DLK2 0 +DLL1 0 +DNPH1 0 +DPPA5 104 +DST 1 +DTNBP1 4 +DXO 0 +DYNLT1 1 +ECHDC1 1 +ECI2 0 +EEF1A1 36 +EEF1E1 0 +EEF1E1-BLOC1S5 0 +EHMT2 0 +ELOVL2 1 +ELOVL4 6 +ELOVL5 9 +ENPP5 0 +EPB41L2 7 +EPHA7 0 +EPM2A 0 +ERVFRD-1 0 +ETV7 0 +EXOC2 1 +EYA4-AS1 0 +EYS 0 +EZR 27 +F13A1 0 +FAM162B 0 +FAM184A 0 +FAM217A 0 +FAM46A 2 +FAM65B 6 +FAXC 0 +FBXL4 0 +FBXO30 3 +FBXO5 3 +FILIP1 0 +FKBP5 2 +FKBPL 0 +FLOT1 0 +FRK 0 +FRMD1 0 +FRS3 0 +FUCA2 0 +FYN 10 +GABBR1 0 +GABRR1 0 +GABRR2 0 +GCLC 1 +GCM1 0 +GCM2 0 +GFOD1 0 +GJB7 0 +GLO1 2 +GMDS 0 +GNL1 0 +GOPC 2 +GPANK1 0 +GPLD1 7 +GPR110 0 +GPR116 0 +GPR31 0 +GPR63 0 +GPRC6A 0 +GPSM3 0 +GPX6 0 +GRM4 1 +GSTA1 0 +GSTA2 0 +GSTA3 0 +GSTA4 0 +GSTA5 0 +GSTA7P 0 +GSTM2P1 0 +GTPBP2 0 +GUCA1B 0 +GUSBP2 0 +GUSBP4 0 +HACE1 3 +HBS1L 1 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HDAC2 1 +HDDC2 0 +HGC6.3 0 +HIST1H1A 5 +HIST1H1B 0 +HIST1H1C 0 +HIST1H1D 0 +HIST1H1T 0 +HIST1H2AA 0 +HIST1H2AB 0 +HIST1H2AD 0 +HIST1H2AJ 0 +HIST1H2AK 0 +HIST1H2AM 0 +HIST1H2BB 0 +HIST1H2BC 0 +HIST1H2BG 0 +HIST1H2BJ 0 +HIST1H2BK 3 +HIST1H2BL 0 +HIST1H3B 0 +HIST1H3D 0 +HIST1H3F 0 +HIST1H3G 0 +HIST1H3I 0 +HIST1H3J 0 +HIST1H4B 0 +HIST1H4D 0 +HIST1H4G 0 +HIST1H4H 0 +HIST1H4K 0 +HIST1H4L 0 +HIVEP2 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB5 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HMGA1P7 0 +HMGCLL1 0 +HMGN3 0 +HS3ST5 0 +HSPA1L 0 +HTATSF1P2 0 +HTR1B 0 +HUS1B 0 +HYMAI 0 +IBTK 0 +ICK 0 +IER3 0 +IFITM4P 0 +IFNGR1 0 +IL17F 0 +IL20RA 0 +IL22RA2 0 +IMPG1 0 +IP6K3 0 +IPCEF1 0 +JARID2-AS1 0 +KATNA1 2 +KATNBL1P6 0 +KCNK16 1 +KCNK17 0 +KCNK5 0 +KCNQ5-AS1 0 +KHDC1 0 +KHDC1L 0 +KHDRBS2 0 +KIAA0319 0 +KIAA0408 0 +KIF13A 0 +KIF25-AS1 0 +KIF6 0 +KLHL31 0 +LAMA4 0 +LATS1 0 +LCA5 0 +LEMD2 0 +LGSN 0 +LINC00242 0 +LINC00266-3 0 +LINC00336 0 +LINC00472 0 +LINC00473 0 +LINC00518 0 +LINC00577 0 +LINC00581 0 +LINC00951 0 +LINC01016 0 +LINC01108 0 +LINC01268 0 +LINC01277 1 +LMBRD1 14 +LOC100128176 0 +LOC100129518 0 +LOC100130357 0 +LOC100130476 0 +LOC100131047 0 +LOC100270746 0 +LOC100422737 0 +LOC100506188 0 +LOC100507194 0 +LOC100507406 0 +LOC100507462 0 +LOC100507547 0 +LOC101927048 0 +LOC101927136 0 +LOC101927211 0 +LOC101927919 0 +LOC101927950 0 +LOC101928489 0 +LOC101928491 0 +LOC101928519 0 +LOC101928663 0 +LOC101928936 0 +LOC101929122 0 +LOC101929239 0 +LOC101929555 0 +LOC103352541 0 +LOC153910 0 +LOC154449 0 +LOC285740 0 +LOC285762 0 +LOC285768 0 +LOC285819 0 +LOC285847 0 +LOC401242 0 +LOC401286 0 +LOC441178 0 +LOC645434 0 +LOC729658 0 +LPA 0 +LPAL2 0 +LRFN2 0 +LRP11 0 +LRRC73 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +LY86-AS1 0 +LYRM2 2 +LYRM4 1 +MAK 0 +MAN1A1 2 +MANEA-AS1 0 +MAP3K5 2 +MAP3K7 1 +MAP7 1 +MAS1L 0 +MB21D1 0 +MBOAT1 0 +MCHR2 0 +MCM3 40 +MCM9 2 +MCUR1 0 +MDC1 0 +MDGA1 0 +MDN1 0 +ME1 1 +MEA1 0 +MED20 5 +MED23 1 +METTL24 0 +MICAL1 0 +MIR1236 0 +MIR1275 0 +MIR1913 0 +MIR30A 0 +MIR30C2 0 +MIR3145 0 +MIR3662 0 +MIR3691 0 +MIR3918 0 +MIR3925 0 +MIR3939 0 +MIR4282 0 +MIR4462 0 +MIR4466 0 +MIR4645 0 +MIR4646 0 +MIR4647 0 +MIR548B 0 +MIR548H3 0 +MIR5690 0 +MIR5695 0 +MIR586 0 +MIR6720 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +MLLT4-AS1 0 +MLN 0 +MMS22L 3 +MOCS1 1 +MOXD1 0 +MPC1 0 +MRPL14 0 +MRPL2 2 +MRPS10 1 +MRPS18A 1 +MTCH1 1 +MTFR2 3 +MTRF1L 0 +MUT 8 +MYLK4 0 +NCR3 0 +NDUFAF4 2 +NEDD9 0 +NELFE 0 +NEU1 0 +NFKBIE 0 +NHEG1 0 +NHLRC1 0 +NHSL1 1 +NMBR 0 +NOTCH4 0 +NOX3 0 +NRM 0 +NRN1 0 +NUDT3 0 +NUP153 4 +NUP43 4 +OARD1 5 +OLIG3 0 +OOEP 31 +OR11A1 0 +OR12D3 0 +OR2A4 0 +OR2B2 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +OSTCP1 0 +OSTM1 2 +PACRG-AS1 0 +PANDAR 0 +PARK2 0 +PBOV1 0 +PBX2 0 +PDCD2 1 +PDE10A 0 +PDSS2 0 +PERP 0 +PEX6 0 +PGC 0 +PGK2 0 +PGM3 5 +PHF10 0 +PHIP 0 +PKHD1 0 +PLA2G7 0 +PLAGL1 0 +PNISR 14 +POM121L2 0 +POPDC3 0 +POU5F1 0 +PPIL1 1 +PPIL4 8 +PPIL6 0 +PPP1R10 0 +PPP1R18 0 +PREP 8 +PRL 0 +PRPH2 0 +PRR18 0 +PRRT1 0 +PSMB1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +PTCHD4 0 +PTPRK 2 +PXDC1 0 +PXT1 0 +RAB23 0 +RAET1E 0 +RAET1G 0 +RAET1K 0 +RAET1L 0 +RANBP9 14 +RARS2 0 +RCAN2 0 +REPS1 1 +REV3L 3 +RGL2 0 +RGS17 0 +RHAG 0 +RMND1 0 +RNASET2 0 +RNF217-AS1 0 +RNF39 0 +RNGTT 0 +RNU6-48P 0 +RNU6-71P 0 +ROS1 3 +RPP40 0 +RPS10 7 +RPS10-NUDT3 0 +RPS16P5 0 +RPS6KA2 0 +RPS6KA2-IT1 0 +RRAGD 0 +RSPH3 0 +RTN4IP1 1 +RXRB 0 +SAMD3 0 +SAYSD1 1 +SCARNA27 0 +SCML4 0 +SEC63 1 +SERAC1 1 +SERINC1 1 +SERPINB1 0 +SERPINB6 0 +SERPINB9 0 +SERPINB9P1 0 +SESN1 1 +SF3B5 0 +SFT2D1 0 +SFTA2 0 +SGK1 0 +SHPRH 0 +SIM1 0 +SLC17A1 0 +SLC17A2 0 +SLC17A3 0 +SLC17A5 1 +SLC18B1 0 +SLC22A16 0 +SLC22A2 0 +SLC22A23 1 +SLC26A8 0 +SLC2A12 0 +SLC35B2 0 +SLC35B3 0 +SLC44A4 0 +SNAP91 0 +SNHG5 0 +SNORA20 0 +SNORA29 0 +SNORD117 0 +SNORD50A 0 +SNORD50B 0 +SNORD84 0 +SNX14 8 +SNX3 5 +SOD2 0 +SOGA3 0 +SPDEF 0 +SRPK1 40 +SRSF12 1 +SSR1 11 +STK38 8 +STX7 1 +STXBP5-AS1 0 +SUPT3H 4 +SYNCRIP 2 +SYNE1 8 +T 0 +TAAR1 0 +TAAR2 0 +TAAR3 0 +TAAR5 0 +TAF11 1 +TAGAP 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TBC1D32 0 +TBC1D7 1 +TBCC 8 +TBX18 0 +TCP1 11 +TCP10 0 +TCP11 0 +TCTE1 0 +TCTE3 0 +TDP2 0 +TEAD3 0 +TFAP2A 0 +TFB1M 1 +TFEB 0 +THBS2 0 +THEMIS 2 +TMEM217 0 +TMEM242 0 +TMEM244 0 +TMEM30A 0 +TNFRSF21 0 +TNXA 0 +TNXB 0 +TOB2P1 0 +TPMT 1 +TRAF3IP2 8 +TRAM2 17 +TRAPPC3L 1 +TRDN 0 +TREM1 0 +TREM2 0 +TREML1 0 +TREML2 0 +TREML3P 0 +TRERF1 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +TSPYL1 9 +TSPYL4 1 +TUBB2A 0 +TUBB2B 0 +TUBE1 0 +TULP1 0 +TXLNB 1 +TXNDC5 17 +UBD 0 +UBE2J1 0 +UBE3D 0 +ULBP3 0 +UNC5CL 0 +UQCC2 0 +USP45 3 +USP49 0 +VARS 0 +VNN1 0 +VNN2 0 +VNN3 0 +VPS52 0 +VWA7 0 +WASF1 2 +WDR27 0 +WDR46 0 +XPO5 0 +YIPF3 0 +ZBED9 0 +ZBTB12 0 +ZBTB2 4 +ZBTB22 0 +ZBTB24 1 +ZC3H12D 0 +ZFP57 0 +ZKSCAN4 0 +ZNF184 4 +ZNF204P 0 +ZNF311 0 +ZNF318 0 +ZNF322 0 +ZNRD1-AS1 0 +ZSCAN12 0 +ZSCAN16-AS1 0 +ZSCAN23 0 +ZSCAN31 0 +ZUFSP 2 +AGER 0 +AGPAT1 0 +ATP6V1G2-DDX39B 0 +BTNL2 0 +C6orf10 0 +DDX39B 0 +DHX16 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HSPA1L 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +MAS1L 0 +MDC1 0 +MIR6721 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +TAP1 0 +TAP2 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB3 0 +HLA-DRB6 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBED9 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6873 0 +NCR3 0 +NELFE 0 +NEU1 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VPS52 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATF6B 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FKBPL 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG4 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB4 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +VWA7 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf15 0 +C6orf47 0 +CCHCR1 0 +CDSN 0 +CLIC1 0 +COL11A2 0 +DAXX 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GABBR1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DPA1 0 +HLA-DQB1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-F-AS1 0 +HSPA1L 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LSM2 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6873 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +NRM 0 +OR11A1 0 +OR2B3 0 +OR2W1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C2 0 +PSORS1C3 0 +RGL2 0 +RNF39 0 +RXRB 0 +SFTA2 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TAPBP 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +UBD 0 +VARS 0 +VPS52 0 +WDR46 0 +ZBTB12 0 +ZBTB22 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +ABHD16A 0 +AGER 0 +AGPAT1 0 +ATP6V1G2 0 +ATP6V1G2-DDX39B 0 +BAG6 0 +BTNL2 0 +C2-AS1 0 +C6orf10 0 +C6orf47 0 +CLIC1 0 +COL11A2 0 +CUTA 0 +DDAH2 0 +DDX39B 0 +DHX16 0 +DXO 0 +EHMT2 0 +FLOT1 0 +GNL1 0 +GPANK1 0 +GPSM3 0 +HCG17 0 +HCG18 0 +HCG4 0 +HCG4B 0 +HCG8 0 +HLA-B 0 +HLA-C 0 +HLA-DMA 0 +HLA-DMB 0 +HLA-DOA 0 +HLA-DOB 0 +HLA-DPA1 0 +HLA-DQB2 0 +HLA-DRB1 0 +HLA-DRB4 0 +HLA-F-AS1 0 +IER3 0 +IFITM4P 0 +LOC100507547 0 +LOC401242 0 +LTB 0 +LY6G5C 0 +LY6G6C 0 +LY6G6E 0 +MAS1L 0 +MDC1 0 +MIR1236 0 +MIR4646 0 +MIR6721 0 +MIR6891 0 +NCR3 0 +NELFE 0 +NEU1 0 +NOTCH4 0 +OR11A1 0 +OR12D3 0 +OR2B3 0 +OR2W1 0 +OR5V1 0 +PBX2 0 +POU5F1 0 +PPP1R10 0 +PPP1R18 0 +PRRT1 0 +PSMB8 0 +PSORS1C3 0 +RNF39 0 +SLC44A4 0 +SNORD117 0 +SNORD84 0 +TAP1 0 +TAP2 0 +TNXA 0 +TNXB 0 +TRIM10 0 +TRIM26 0 +TRIM27 0 +TRIM31 0 +VARS 0 +VPS52 0 +VWA7 0 +ZFP57 0 +ZNF311 0 +ZNRD1-AS1 0 +AASS 0 +ABCB1 0 +ABCB4 6 +ABCF2 1 +ABHD11 0 +ACHE 0 +ACTB 13 +ACTL6B 0 +ACTR3C 0 +ADAP1 0 +AGMO 0 +AGR2 0 +AGR3 0 +AKR1B1 5 +ALKBH4 1 +AMPH 2 +ANKMY2 1 +AOAH 5 +AOAH-IT1 0 +APTR 0 +ARHGEF34P 0 +ARHGEF35 0 +ASB10 0 +ASNS 0 +ASZ1 0 +ATG9B 0 +ATP5J2 1 +ATP5J2-PTCD1 0 +ATP6V0A4 0 +ATP6V0E2-AS1 0 +ATXN7L1 1 +AZGP1 0 +BAIAP2L1 9 +BAZ1B 20 +BCL7B 0 +BET1 0 +BLACE 0 +BRAF 0 +BRAT1 0 +C7orf13 1 +C7orf25 2 +C7orf31 0 +C7orf43 0 +C7orf49 0 +C7orf50 0 +C7orf60 3 +C7orf61 0 +C7orf62 0 +C7orf66 0 +C7orf76 0 +CACNA2D1 1 +CADPS2 1 +CALCR 0 +CALN1 3 +CAMK2B 0 +CARD11 0 +CCDC71L 0 +CCL24 0 +CCL26 0 +CCZ1B 2 +CDCA7L 5 +CDK5 2 +CDK6 0 +CEP41 0 +CHCHD2 2 +CHCHD3 2 +CLDN15 0 +CLDN3 0 +CLEC5A 0 +CLK2P 0 +CNOT4 7 +CNPY1 0 +COA1 2 +COBL 0 +COG5 9 +COL28A1 2 +COPG2 1 +COX19 1 +CPVL 0 +CREB3L2 3 +CRHR2 0 +CRYGN 0 +CTAGE4 0 +CTAGE6 0 +CTAGE8 0 +CTTNBP2 5 +CYCS 1 +CYP3A4 0 +CYP3A5 0 +CYP3A7 0 +CYP3A7-CYP3AP1 0 +CYP51A1 0 +CYTH3 0 +DAGLB 0 +DDC 0 +DDX56 1 +DENND2A 0 +DFNA5 5 +DGKB 1 +DGKI 0 +DLX5 0 +DLX6-AS1 0 +DNAJC2 10 +DNAJC30 0 +DOCK4 0 +DPY19L1 0 +DPY19L1P1 0 +DPY19L2P1 0 +DPY19L2P2 0 +EFCAB10 0 +EGFR-AS1 0 +EIF2AK1 7 +EIF3IP1 0 +ELDR 0 +ELFN1-AS1 0 +ELMO1 5 +EPHA1 0 +EPHB4 0 +ERV3-1 0 +ESYT2 3 +ETV1 0 +EVX1-AS 0 +EZH2 1 +FAM115A 2 +FAM115D 0 +FAM126A 1 +FAM131B 0 +FAM133B 2 +FAM133DP 0 +FAM180A 0 +FAM183B 0 +FAM200A 0 +FAM220A 72 +FAM3C 0 +FASTK 0 +FBXL13 0 +FBXL18 0 +FDPSP2 0 +FERD3L 0 +FEZF1 0 +FGL2 0 +FIGNL1 10 +FIS1 0 +FKBP14 1 +FKBP9P1 0 +FTSJ2 1 +GAL3ST4 0 +GATS 3 +GATSL2 0 +GBX1 1 +GCC1 4 +GCK 0 +GGCT 2 +GIGYF1 2 +GIMAP6 0 +GJC3 0 +GLI3 0 +GNA12 6 +GNAT3 0 +GPC2 0 +GPR37 24 +GPR85 0 +GRB10 0 +GRID2IP 0 +GRIFIN 0 +GRM8 1 +GSAP 0 +GTF2IP1 0 +GTF2IRD1P1 0 +GTF2IRD2 0 +GUSB 0 +GUSBP10 0 +H2AFV 1 +HEPACAM2 0 +HERPUD2 1 +HGF 0 +HIBADH 1 +HIP1 8 +HIPK2 2 +HNRNPA2B1 2 +HOXA1 1 +HOXA10 0 +HOXA10-HOXA9 0 +HOXA11 0 +HOXA13 0 +HOXA2 0 +HOXA3 0 +HOXA4 0 +HOXA5 0 +HOXA6 0 +HOXA7 3 +HOXA9 0 +HPVC1 0 +HTR5AOS 0 +HUS1 1 +ICA1 4 +IFT22 1 +IGF2BP3 23 +IGFBP3 3 +IMMP2L 0 +IMPDH1 0 +INHBA 0 +INTS1 0 +IQUB 12 +ISPD 1 +JAZF1 6 +KBTBD2 2 +KCNH2 0 +KCP 0 +KDELR2 1 +KDM7A 3 +KEL 0 +KIAA0087 0 +KIAA0895 1 +KIAA1147 17 +KIAA1324L 1 +KIAA1549 0 +KLF14 0 +KLHL7-AS1 0 +KLRG2 0 +KMT2C 106 +KMT2E-AS1 0 +KPNA7 365 +KRIT1 3 +LAMB1 31 +LAMB4 0 +LHFPL3-AS1 0 +LHFPL3-AS2 0 +LINC-PINT 1 +LINC00174 0 +LINC00998 0 +LINC01004 0 +LINC01005 0 +LINC01006 0 +LINC01007 0 +LINC01446 0 +LINC01448 0 +LINC01450 0 +LINC01510 0 +LMBR1 2 +LOC100093631 0 +LOC100129148 0 +LOC100130673 0 +LOC100130849 0 +LOC100131257 0 +LOC100240728 0 +LOC100287834 0 +LOC100505921 0 +LOC100506136 0 +LOC100506895 0 +LOC100507468 0 +LOC101926943 0 +LOC101927269 0 +LOC101927391 1 +LOC101927630 0 +LOC101927668 0 +LOC101927811 0 +LOC101928036 0 +LOC101928211 0 +LOC101928254 0 +LOC101928401 0 +LOC101928700 0 +LOC101928861 0 +LOC102724094 0 +LOC102724484 0 +LOC102724555 0 +LOC154761 0 +LOC154872 0 +LOC285889 0 +LOC349160 0 +LOC401312 0 +LOC401320 0 +LOC441242 0 +LOC493754 0 +LOC646762 0 +LOC650226 0 +LRCH4 2 +LRRC4 4 +LRRD1 0 +LSM5 0 +LUZP6 0 +MACC1 3 +MAD1L1 1 +MAGI2 0 +MCM7 5 +MEOX2 0 +MESTIT1 0 +MGC27345 0 +MGC72080 1 +MICALL2 0 +MIR106B 0 +MIR1200 0 +MIR148A 0 +MIR153-2 0 +MIR182 0 +MIR183 0 +MIR196B 0 +MIR25 0 +MIR29A 0 +MIR29B1 0 +MIR3146 0 +MIR339 0 +MIR3907 0 +MIR3914-1 0 +MIR4283-1 0 +MIR4283-2 0 +MIR4650-1 0 +MIR4650-2 0 +MIR4655 0 +MIR4656 0 +MIR4657 0 +MIR4658 0 +MIR489 0 +MIR548AR 0 +MIR548AU 0 +MIR548F4 0 +MIR548I4 0 +MIR550A3 0 +MIR550B1 0 +MIR550B2 0 +MIR589 0 +MIR591 0 +MIR592 0 +MIR595 0 +MIR6509 0 +MIR653 0 +MIR6836 0 +MIR6838 0 +MIR6874 0 +MIR7976 0 +MIR93 0 +MIR96 0 +MKLN1-AS 0 +MKRN1 4 +MLXIPL 1 +MMD2 0 +MNX1 0 +MOGAT3 0 +MOXD2P 0 +MPLKIP 0 +MRPS24 0 +MRPS33 1 +MTERF1 0 +MTPN 0 +MYL10 0 +MYL7 0 +MYO1G 0 +NACAD 0 +NAMPT 0 +NAPEPLD 0 +NAT16 0 +NCAPG2 0 +NCF1C 0 +NDUFA4 1 +NDUFA5 0 +NDUFB2-AS1 0 +NEUROD6 0 +NOBOX 0 +NOD1 0 +NPC1L1 0 +NPSR1-AS1 0 +NPVF 0 +NRCAM 0 +NSUN5 0 +NSUN5P2 0 +NT5C3A 0 +NUDCD3 1 +NUPR1L 0 +OCM2 0 +OPN1SW 0 +OR2A1 0 +OR2A20P 0 +OR2A42 0 +OR2A7 0 +OR2A9P 0 +OR2AE1 0 +OR6W1P 0 +OR9A2 0 +ORC5 6 +OSBPL3 2 +PAPOLB 0 +PARP12 11 +PAX4 0 +PAXIP1 13 +PCLO 2 +PCOLCE-AS1 0 +PDAP1 3 +PDE1C 0 +PDGFA 0 +PDIA4 1 +PDK4 0 +PEX1 2 +PGAM2 0 +PHKG1 0 +PKD1L1 0 +PLOD3 0 +PLXNA4 5 +PMS2 0 +PMS2P1 0 +PMS2P3 0 +PMS2P4 0 +PMS2P5 0 +PNPLA8 1 +PODXL 3 +POLD2 0 +POLM 2 +POLR2J 1 +POLR2J2 0 +POLR2J3 0 +POLR2J4 0 +POM121C 8 +POMZP3 0 +PON1 0 +PON2 4 +PON3 0 +POT1 1 +POU6F2-AS1 0 +PPP1R35 3 +PPP1R3A 0 +PRKAG2 0 +PRKAR1B 1 +PRPS1L1 0 +PRRT4 0 +PRSS37 0 +PRSS58 0 +PSMA2 9 +PSMG3 0 +PSPH 1 +PTCD1 0 +PTN 8 +PTPRN2 2 +PURB 0 +PUS7 0 +RADIL 5 +RAPGEF5 0 +RARRES2 0 +RASA4 0 +RASA4B 0 +RASA4CP 0 +RBM28 1 +RELN 0 +RFC2 0 +RHEB 1 +RNF133 0 +RNF148 0 +RNF216 3 +RNF216-IT1 0 +RNU6-16P 0 +RNU6-2 0 +RNU6-57P 0 +RP9 0 +RP9P 0 +RPA3 0 +RPL19P12 0 +RSPH10B 0 +RSPH10B2 0 +SAMD9 0 +SAMD9L 0 +SAP25 0 +SBDS 0 +SCRN1 0 +SEC61G 0 +SEMA3A 1 +SEMA3C 0 +SEMA3D 0 +SEMA3E 0 +SEPT14 0 +SEPT7-AS1 0 +SEPT7P2 0 +SFRP4 0 +SGCE 0 +SHFM1 0 +SHH 0 +SKAP2 10 +SLC13A1 0 +SLC13A4 1 +SLC25A13 1 +SLC25A40 0 +SLC26A3 0 +SLC26A4-AS1 0 +SLC26A5 0 +SLC35B4 0 +SLC37A3 0 +SMARCD3 0 +SMURF1 6 +SNHG15 0 +SNORA5A 0 +SNORA5B 0 +SNORA5C 0 +SNORA9 0 +SNX13 2 +SNX8 0 +SOSTDC1 1 +SP8 0 +SPDYE6 0 +SPDYE7P 0 +SPDYE8P 0 +SRI 2 +SRPK2 4 +SSC4D 0 +ST7-AS1 0 +ST7-AS2 0 +STAG3L1 0 +STAG3L2 0 +STAG3L3 0 +STEAP1B 0 +STEAP2-AS1 0 +STEAP4 0 +STX1A 0 +STYXL1 0 +SUN3 0 +SVOPL 5 +SYPL1 2 +TAF6 1 +TARP 0 +TAS2R16 0 +TAS2R38 0 +TBL2 1 +TBRG4 0 +TBX20 0 +TECPR1 0 +TFEC 0 +TFPI2 0 +TFR2 4 +THAP5 1 +THSD7A 9 +TMED4 3 +TMEM120A 0 +TMEM130 0 +TMEM168 2 +TMEM176B 0 +TMEM184A 0 +TMEM196 0 +TMEM209 0 +TMEM229A 0 +TMEM243 0 +TMEM60 4 +TMUB1 0 +TNPO3 22 +TNRC18 0 +TNS3 0 +TOMM7 14 +TP53TG1 0 +TPK1 3 +TRA2A 0 +TRIL 0 +TRIM4 0 +TRIM50 0 +TRPV5 0 +TRPV6 2 +TRY2P 0 +TSC22D4 0 +TSGA13 0 +TSPAN12 2 +TWIST1 0 +TWISTNB 14 +TYW1B 2 +UBE2H 38 +UFSP1 0 +UPK3BL 0 +URGCP 0 +URGCP-MRPS24 0 +VGF 0 +VIPR2 0 +VOPP1 0 +VPS41 0 +VWDE 0 +WASL 4 +WBSCR16 0 +WBSCR27 0 +WDR86 0 +WDR91 0 +WEE2-AS1 32 +WNT2 0 +XRCC2 0 +YWHAG 2 +ZASP 0 +ZC3HAV1 0 +ZC3HAV1L 0 +ZC3HC1 1 +ZCWPW1 5 +ZFAND2A 23 +ZNF117 0 +ZNF12 0 +ZNF3 2 +ZNF394 0 +ZNF425 0 +ZNF467 0 +ZNF479 0 +ZNF680 2 +ZNF733P 0 +ZNF746 2 +ZNF767P 0 +ZNF777 0 +ZNF786 0 +ZNF800 0 +ZNF890P 0 +ZNRF2P2 0 +ZPBP 0 +LOC389831 0 +ABRA 0 +ADAM2 0 +ADAM3A 0 +ADCY8 0 +ADRA1A 0 +ADRB3 0 +AGO2 16 +ANGPT1 0 +ANGPT2 0 +ANK1 1 +ANKRD46 3 +ANXA13 0 +ARC 0 +ARFGEF1 3 +ARHGAP39 1 +ARMC1 29 +ASAH1 3 +ASAP1 8 +ASAP1-IT1 0 +ASAP1-IT2 0 +ASPH 0 +ATAD2 5 +ATP6V1H 4 +AZIN1 4 +BAALC-AS1 0 +BAALCOS 0 +BIN3 3 +BIN3-IT1 0 +BOP1 0 +BRF2 0 +C8orf37 0 +C8orf59 0 +C8orf76 0 +C8orf82 0 +C8orf86 0 +C8orf87 0 +C8orf88 0 +CA1 0 +CA8 0 +CALB1 0 +CASC11 0 +CASC19 0 +CASC8 1 +CASC9 0 +CCAT1 0 +CCDC166 0 +CCDC25 57 +CCNE2 1 +CDH17 0 +CEBPD 0 +CHRNA2 0 +CHRNA6 0 +CLU 0 +CNGB3 0 +CNOT7 21 +COL22A1 1 +COMMD5 0 +COPS5 0 +COX6C 1 +CPA6 0 +CPSF1 2 +CRH 0 +CSGALNACT1 3 +CSMD1 0 +CSMD3 0 +CTSB 9 +CYHR1 0 +CYP11B1 0 +CYP11B2 0 +CYP7A1 0 +CYP7B1 0 +DCAF4L2 3 +DEFA1 0 +DEFA10P 0 +DEFA11P 0 +DEFA1B 0 +DEFA3 0 +DEFA4 0 +DEFA5 0 +DEFA6 0 +DEFA8P 0 +DEFA9P 0 +DEFB1 0 +DEFB103A 0 +DEFB103B 0 +DEFB104A 0 +DEFB104B 0 +DEFB105A 0 +DEFB105B 0 +DEFB106A 0 +DEFB106B 0 +DEFB107A 0 +DEFB107B 0 +DEFB109P1 0 +DEFB109P1B 0 +DEFB130 0 +DEFB134 0 +DEFB136 0 +DEFB4B 0 +DEFT1P 0 +DEFT1P2 0 +DERL1 5 +DGAT1 0 +DKK4 0 +DLC1 0 +DLGAP2-AS1 0 +DOK2 1 +DPYS 0 +DSCC1 0 +DUSP26 0 +DUSP4 0 +EBF2 2 +EEF1D 0 +EFCAB1 0 +EGR3 0 +EIF3E 6 +EIF3H 6 +ENPP2 5 +ENTPD4 0 +EPPK1 0 +ERICH1 5 +EXT1 5 +EYA1 2 +FABP12 0 +FABP4 0 +FABP9 0 +FAM135B 0 +FAM150A 0 +FAM167A 1 +FAM49B 4 +FAM66B 0 +FAM83A-AS1 0 +FAM83H 0 +FAM84B 9 +FAM86B1 0 +FAM86B2 0 +FAM87A 0 +FAM90A25P 0 +FAM90A2P 0 +FAM90A7P 0 +FBXL6 0 +FBXO16 0 +FBXO32 0 +FBXO43 2 +FER1L6-AS1 0 +FER1L6-AS2 0 +FGF20 0 +FGFR1 2 +FGL1 0 +FLJ46284 0 +FOXH1 0 +FSBP 0 +FUT10 1 +GDF6 0 +GEM 5 +GFRA2 2 +GGH 0 +GNRH1 0 +GOT1L1 0 +GPR20 0 +GSDMC 0 +GSR 1 +GTF2E2 0 +HAS2 0 +HEY1 0 +HHLA1 0 +HPYR1 0 +HR 0 +HRSP12 0 +IL7 0 +IMPA1 7 +IMPAD1 0 +INTS9 2 +JPH1 0 +JRK 1 +KAT6A 1 +KCNK9 20 +KCNQ3 0 +KCNV1 0 +KCTD9 3 +KIAA0196 0 +KIAA1429 6 +KIF13B 10 +KLF10 0 +KLHL38 0 +LACTB2 0 +LGI3 0 +LINC00251 0 +LINC00535 0 +LINC00536 0 +LINC00589 0 +LINC00599 1 +LINC00824 0 +LINC00861 0 +LINC00965 0 +LINC00968 0 +LINC00977 1 +LINC01030 1 +LINC01298 0 +LINC01299 0 +LINC01301 0 +LOC100128993 0 +LOC100130298 0 +LOC100130301 0 +LOC100133267 0 +LOC100133669 0 +LOC100287015 1 +LOC100288181 0 +LOC100288748 0 +LOC100500773 0 +LOC100505718 0 +LOC100505739 0 +LOC100507316 0 +LOC100507420 0 +LOC100507530 1 +LOC100996348 0 +LOC101241902 0 +LOC101926926 0 +LOC101927003 3 +LOC101927040 0 +LOC101927066 0 +LOC101927459 0 +LOC101927487 0 +LOC101927588 0 +LOC101927798 0 +LOC101927815 0 +LOC101927915 0 +LOC101929528 0 +LOC286083 0 +LOC286189 0 +LOC340357 0 +LOC392196 0 +LOC392232 0 +LOC401463 0 +LOC649352 0 +LOC728024 0 +LOC729732 0 +LONRF1 2 +LOXL2 0 +LRP12 0 +LRRC24 0 +LRRC6 1 +LSM1 1 +LY6D 0 +LY6H 0 +LYNX1 0 +LYPD2 0 +LYPLA1 0 +LZTS1 0 +MAFA 0 +MBOAT4 0 +MFHAS1 6 +MIR1234 0 +MIR124-1 0 +MIR1322 0 +MIR30B 0 +MIR30D 0 +MIR3148 0 +MIR3150B 0 +MIR320A 0 +MIR3610 0 +MIR3622B 0 +MIR378D2 0 +MIR383 0 +MIR3926-1 0 +MIR4287 0 +MIR4288 0 +MIR4469 0 +MIR4659B 0 +MIR4663 0 +MIR4664 0 +MIR486-1 0 +MIR5194 0 +MIR548I3 0 +MIR548O2 0 +MIR5681B 0 +MIR598 0 +MIR599 0 +MIR661 0 +MIR6841 0 +MIR6843 0 +MIR6844 0 +MIR6845 0 +MIR6846 0 +MIR6848 0 +MIR6849 0 +MIR6850 1 +MIR6893 0 +MIR7112 0 +MIR7705 0 +MIR7848 0 +MIR8055 0 +MIR875 0 +MIR937 0 +MIR939 0 +MMP16 0 +MOS 0 +MROH5 0 +MROH6 0 +MRPL13 0 +MRPS28 0 +MSC 0 +MSR1 0 +MTERF3 1 +MTMR7 0 +MTSS1 8 +MTUS1 21 +MYBL1 0 +NAPRT 0 +NBN 1 +NCALD 2 +NCOA2 2 +NDRG1 0 +NEFL 0 +NIPAL2 0 +NKX2-6 0 +NKX3-1 7 +NKX6-3 0 +NRBP2 0 +NSMAF 0 +NUDCD1 6 +NUDT18 0 +NUGGC 0 +OC90 0 +OPLAH 0 +OPRK1 0 +OR4F21 0 +OTUD6B-AS1 1 +PABPC1 54 +PAG1 11 +PARP10 0 +PBK 0 +PCAT2 0 +PCMTD1 6 +PDE7A 9 +PEBP4 0 +PENK 0 +PEX2 2 +PHYHIP 0 +PINX1 3 +PLAG1 3 +PLAT 0 +PLEC 0 +PMP2 0 +PNMA2 0 +PPAPDC1B 0 +PPP1R3B 0 +PPP1R42 0 +PPP2CB 1 +PRDM14 0 +PRKDC 0 +PRR23D1 0 +PRR23D2 0 +PSD3 12 +PSKH2 0 +PTK2 3 +PTTG3P 4 +PUF60 0 +PURG 0 +PXDNL 0 +PYCRL 0 +RAB11FIP1 0 +RAD21 11 +RAD54B 0 +RB1CC1 6 +RBM12B 0 +RBPMS-AS1 0 +RECQL4 0 +REEP4 1 +REXO1L2P 0 +RGS22 2 +RHPN1-AS1 1 +RMDN1 1 +RNF122 15 +RNF139-AS1 0 +RNF170 0 +RNF19A 2 +RNF5P1 0 +RP1L1 0 +RPL23AP53 0 +RPL30 15 +RPL7 1 +RPL8 20 +RPS20 28 +RRM2B 2 +RRS1-AS1 0 +RSPO2 16 +RUNX1T1 16 +SAMD12 0 +SARAF 3 +SBF1P1 0 +SBSPON 0 +SCARA5 2 +SCRIB 0 +SCRT1 0 +SDR16C5 0 +SDR16C6P 0 +SFRP1 0 +SGCZ 0 +SGK223 0 +SHARPIN 0 +SLA 0 +SLC10A5 0 +SLC18A1 0 +SLC20A2 1 +SLC25A32 0 +SLC39A4 0 +SLC45A4 0 +SLC7A13 0 +SLCO5A1 0 +SLURP1 0 +SNAI2 0 +SNHG6 0 +SNORA72 0 +SNORD54 0 +SNORD87 0 +SNTB1 0 +SNX16 0 +SNX31 0 +SOX7 0 +SPAG11B 0 +ST18 0 +ST3GAL1 0 +STAR 0 +STAU2 3 +STC1 0 +STK3 1 +STMN4 0 +SYBU 0 +TAF2 0 +TATDN1 0 +TCEA1 0 +TCEB1 2 +TCF24 0 +TDRP 6 +TEX15 2 +THAP1 1 +TM2D2 2 +TMEM249 0 +TMEM55A 0 +TMEM64 0 +TMEM65 0 +TMEM68 0 +TMEM71 0 +TMEM74 0 +TMEM75 0 +TNFRSF10A 0 +TNFRSF10B 0 +TNFRSF10D 0 +TNFRSF11B 3 +TONSL 0 +TOP1MT 1 +TOX 2 +TP53INP1 2 +TPD52 21 +TRAM1 1 +TRAPPC9 0 +TRIM35 0 +TRIQK 0 +TRPA1 2 +TRPS1 0 +TSNARE1 0 +TSPYL5 2 +TSTA3 0 +TTI2 0 +TTPA 0 +UBE2W 2 +UBR5 5 +UQCRB 2 +USP17L2 0 +USP17L3 0 +USP17L7 0 +USP17L8 0 +VCPIP1 8 +VPS28 0 +WHSC1L1 4 +XKR5 0 +XKR6 0 +YTHDF3-AS1 0 +YWHAZ 4 +ZC3H3 0 +ZFAND1 0 +ZFAT 3 +ZFHX4-AS1 0 +ZHX1 6 +ZHX1-C8orf76 0 +ZMAT4 0 +ZNF16 4 +ZNF250 0 +ZNF251 2 +ZNF252P 0 +ZNF34 0 +ZNF395 13 +ZNF704 0 +ZNF705G 0 +ZNF706 0 +AAED1 0 +ABCA1 1 +ABCA2 0 +ABHD17B 0 +ABO 0 +ACTL7B 0 +AGPAT2 1 +AGTPBP1 1 +AK1 0 +AK3 0 +AK8 0 +AKNA 0 +ALAD 1 +ALDH1A1 0 +ALDOB 0 +ALG2 2 +AMBP 0 +ANAPC2 0 +ANGPTL2 0 +ANKRD18A 0 +ANKRD20A2 0 +ANKRD20A3 0 +ANKS6 1 +APBA1 0 +APTX 0 +AQP3 0 +AQP7 0 +AQP7P1 0 +ARHGEF39 0 +ARID3C 0 +ARRDC1-AS1 0 +ASB6 4 +ASPN 0 +ASTN2 0 +AUH 0 +B4GALT1 1 +BAAT 0 +BAG1 0 +BANCR 0 +BARX1 0 +BICD2 0 +BNC2 0 +BRD3 6 +BRINP1 1 +C5 0 +C9orf114 0 +C9orf116 0 +C9orf129 0 +C9orf135-AS1 0 +C9orf152 0 +C9orf153 0 +C9orf156 0 +C9orf173-AS1 0 +C9orf24 0 +C9orf40 1 +C9orf41 0 +C9orf50 0 +C9orf57 0 +C9orf64 0 +C9orf66 0 +C9orf69 1 +C9orf72 1 +C9orf78 7 +C9orf84 1 +C9orf92 0 +CAAP1 8 +CAMSAP1 10 +CARD9 0 +CBWD1 0 +CBWD5 1 +CBWD6 0 +CCBL1 0 +CCDC183-AS1 0 +CCL19 0 +CCL21 0 +CCL27 0 +CD72 0 +CDC14B 0 +CDC26 0 +CDC37L1-AS1 0 +CDK20 0 +CDK5RAP2 1 +CDKN2A 0 +CDKN2B 0 +CER1 0 +CIZ1 1 +CLIC3 0 +CNTFR 0 +CNTNAP3 0 +CORO2A 2 +CRAT 0 +CTNNAL1 0 +CTSV 1 +DBH-AS1 0 +DCAF12 2 +DCTN3 1 +DDX31 1 +DDX58 0 +DENND1A 0 +DFNB31 4 +DIRAS2 0 +DKFZP434A062 0 +DNAJB5-AS1 0 +DNLZ 0 +DOLK 1 +DPH7 0 +DPM2 1 +DPP7 0 +ECM2 0 +EDF1 0 +ELAVL2 3 +ENG 8 +ENHO 0 +ENTPD2 0 +ENTPD8 0 +EPB41L4B 5 +EQTN 0 +ERMP1 3 +ERP44 2 +EXD3 0 +EXOSC3 15 +FAM102A 5 +FAM120AOS 3 +FAM129B 1 +FAM138C 0 +FAM154A 7 +FAM163B 0 +FAM166A 1 +FAM166B 0 +FAM205A 0 +FAM205B 0 +FAM214B 0 +FAM219A 3 +FAM221B 0 +FAM225B 0 +FAM27B 0 +FAM27E2 0 +FAM27E3 0 +FAM74A1 0 +FAM74A4 0 +FAM74A6 0 +FAM78A 0 +FAM95B1 0 +FAM95C 0 +FANCC 1 +FANCG 0 +FBP1 0 +FBP2 0 +FBXO10 3 +FBXW2 1 +FBXW5 0 +FCN1 0 +FIBCD1 1 +FKBP15 1 +FLJ41200 0 +FNBP1 8 +FOCAD-AS1 0 +FOXD4 0 +FOXD4L4 0 +FOXD4L5 0 +FOXD4L6 0 +FREM1 0 +FRMD3 6 +FRRS1L 0 +FUT7 0 +GABBR2 5 +GAS1 0 +GAS2L1P2 0 +GBA2 0 +GBGT1 0 +GGTA1P 0 +GKAP1 2 +GLDC 0 +GLIDR 0 +GLIS3 0 +GLT6D1 0 +GNA14 5 +GNAQ 3 +GNE 0 +GOLGA1 2 +GOLGA2 4 +GOLM1 7 +GRIN3A 0 +GSN-AS1 0 +GXYLT1P3 0 +HAUS6 0 +HDHD3 0 +HEMGN 0 +HIATL2 0 +HINT2 0 +HNRNPK 1 +HSD17B3 0 +HSPA5 2 +IARS 1 +IER5L 0 +IFNA10 0 +IFNA13 0 +IFNA14 0 +IFNA16 0 +IFNA17 0 +IFNA2 0 +IFNA21 0 +IFNA22P 0 +IFNA4 0 +IFNA5 0 +IFNA6 0 +IFNA7 0 +IFNB1 0 +IFNE 0 +IFNW1 0 +IFT74-AS1 0 +IGFBPL1 0 +IKBKAP 1 +INIP 0 +INPP5E 1 +INSL6 0 +IPPK 0 +ISCA1 0 +IZUMO3 0 +KGFLP2 0 +KIAA0020 0 +KIAA0368 2 +KIAA1161 0 +KIAA2026 2 +KIF12 0 +KIF24 2 +KIF27 0 +KLF4 0 +KLF9 0 +KLHL9 0 +LCN10 0 +LCN15 0 +LCN6 0 +LCN8 0 +LHX3 0 +LHX6 0 +LINC00032 1 +LINC00092 0 +LINC00474 0 +LINC00476 0 +LINC01242 0 +LINC01251 0 +LINC01474 0 +LINC01492 0 +LINC01501 0 +LINC01506 0 +LINC01508 1 +LINC01509 0 +LINGO2 15 +LOC100129316 0 +LOC100133077 0 +LOC100272217 0 +LOC100505478 0 +LOC101448202 0 +LOC101927069 0 +LOC101927450 0 +LOC101927954 0 +LOC101928381 0 +LOC101928438 0 +LOC101928525 0 +LOC101928748 0 +LOC101928775 0 +LOC101928786 0 +LOC101929116 0 +LOC101929563 0 +LOC102723709 0 +LOC158434 0 +LOC286238 0 +LOC286297 0 +LOC286359 0 +LOC286370 0 +LOC392364 0 +LOC403323 0 +LOC440173 0 +LOC440896 0 +LOC494127 0 +LOC51145 0 +LOC642236 0 +LOC642929 0 +LPAR1 0 +LRRC19 0 +LRRC26 0 +LRRC37A5P 0 +MAMDC2-AS1 0 +MAN1B1-AS1 0 +MAPKAP1 6 +MED22 0 +MED27 2 +MEGF9 0 +MIR147A 0 +MIR199B 0 +MIR204 0 +MIR219A2 0 +MIR3074 0 +MIR31 0 +MIR3134 0 +MIR3154 0 +MIR31HG 0 +MIR32 0 +MIR3621 0 +MIR3651 0 +MIR3689A 0 +MIR3689B 0 +MIR3689C 0 +MIR3689D1 0 +MIR3689D2 0 +MIR3689E 0 +MIR3689F 0 +MIR3910-2 0 +MIR3911 0 +MIR4289 0 +MIR4290 0 +MIR4473 0 +MIR4474 0 +MIR4475 0 +MIR4476 0 +MIR4478 0 +MIR4540 0 +MIR4670 0 +MIR4672 0 +MIR4673 0 +MIR4674 0 +MIR548H3 0 +MIR548Q 0 +MIR600 0 +MIR600HG 0 +MIR601 0 +MIR6130 0 +MIR6722 0 +MIR6851 0 +MIR6852 0 +MIR6854 0 +MIR7-1 0 +MIR7114 0 +MIR7150 0 +MIR7702 0 +MIR873 0 +MIR876 0 +MIRLET7DHG 0 +MLLT3 5 +MOB3B 1 +MPDZ 1 +MRPL50 0 +MSMP 0 +NACC2 0 +NAIF1 3 +NAMA 0 +NDUFA8 2 +NDUFB6 0 +NFIB 0 +NFIL3 0 +NINJ1 0 +NMRK1 0 +NOL6 3 +NOL8 16 +NOTCH1 0 +NPDC1 0 +NR5A1 0 +NR6A1 6 +NRARP 0 +NRON 0 +NSMF 0 +NUTM2F 0 +OBP2B 0 +OGN 0 +OMD 0 +OR13C2 0 +OR13C3 0 +OR13C4 0 +OR13C5 0 +OR13C9 0 +OR13J1 0 +OR1B1 0 +OR1J1 0 +OR1L8 0 +OR1N1 1 +OR2K2 0 +OR2S2 0 +PAPPA-AS1 0 +PAX5 0 +PDCL 1 +PGM5-AS1 0 +PGM5P2 0 +PHF19 0 +PIGO 0 +PIP5KL1 0 +PLAA 10 +PLGRKT 0 +PLIN2 0 +PNPLA7 0 +POLE3 1 +PPP1R26-AS1 0 +PPP3R2 0 +PPP6C 5 +PRKACG 0 +PRUNE2 0 +PSIP1 11 +PSMB7 0 +PSMD5 0 +PTAR1 0 +PTBP3 0 +PTCH1 0 +PTENP1 0 +PTGES 0 +PTGES2 0 +PTGR1 0 +PTPLAD2 0 +PTPN3 9 +PTPRD 1 +PTRH1 0 +QRFP 0 +QSOX2 5 +RAB14 0 +RALGDS 0 +RANBP6 1 +RAPGEF1 0 +RASEF 0 +RBM18 5 +RC3H2 0 +REXO4 1 +RFK 0 +RFX3 0 +RLN1 0 +RLN2 0 +RMRP 1 +RNF183 0 +RNF208 0 +RNF38 47 +RNU6ATAC 0 +ROR2 0 +RPL12 2 +RPL35 9 +RPP25L 0 +RPS6 28 +SAPCD2 0 +SARDH 0 +SCAI 1 +SCARNA8 0 +SDCCAG3 1 +SEC16A 1 +SEMA4D 0 +SETX 6 +SH2D3C 0 +SH3GLB2 2 +SHB 0 +SHC3 0 +SIGMAR1 0 +SIT1 0 +SLC24A2 0 +SLC25A25-AS1 0 +SLC25A51 0 +SLC28A3 1 +SLC2A6 0 +SLC35D2 1 +SLC46A2 0 +SMC2-AS1 0 +SMC5-AS1 0 +SMU1 1 +SNAPC4 0 +SNHG7 0 +SNORA17 0 +SNORA43 0 +SNORA65 0 +SNORA70C 0 +SNORA84 0 +SNORD121A 0 +SNORD121B 0 +SNORD90 0 +SOHLH1 1 +SPAG8 0 +SPATA31A5 0 +SPATA31A6 0 +SPATA31A7 0 +SPATA31C2 0 +SPATA6L 1 +SPTLC1 2 +ST6GALNAC4 0 +ST6GALNAC6 0 +STOM 0 +STOML2 0 +STRBP 12 +STX17-AS1 0 +SUGT1P1 0 +SURF1 0 +SURF4 5 +SURF6 0 +SUSD1 0 +SVEP1 1 +TAF1L 0 +TBC1D2 0 +TEX10 3 +TLE1 0 +TLN1 0 +TMEM2 9 +TMEM203 0 +TMEM210 0 +TMEM245 10 +TMEM246 0 +TMEM252 0 +TMEM261 0 +TMEM8C 0 +TNC 0 +TNFSF15 0 +TNFSF8 0 +TOMM5 4 +TOPORS 14 +TOR1A 2 +TOR2A 0 +TPM2 0 +TPRN 0 +TRAF1 0 +TRIM14 2 +TRPM3 0 +TRPM6 0 +TRUB2 1 +TSC1 1 +TSTD2 6 +TTC39B 0 +TTF1 4 +TTLL11 1 +TUSC1 0 +TXN 0 +TXNDC8 0 +UBAC1 6 +UBAP2 4 +UBQLN1 18 +UCK1 0 +VAV2 0 +VCP 2 +VLDLR-AS1 0 +VPS13A-AS1 0 +WASH1 0 +WDR31 0 +WDR34 1 +XPA 0 +ZBTB26 0 +ZBTB5 4 +ZBTB6 1 +ZCCHC6 1 +ZDHHC12 1 +ZDHHC21 0 +ZER1 0 +ZFAND5 19 +ZFP37 0 +ZMYND19 1 +ZNF367 0 +ZNF484 0 +ZNF510 0 +ZNF658 0 +ZNF658B 0 +ZNF782 0 +ZNF883 0 +LOC100288966 0 +MIR8069-1 0 +LOC100233156 0 +LOC389834 1 +LOC283788 2 +FLJ20518 0 +FRG2C 0 +LINC00960 0 +MIR4273 0 +ZNF26 0 +ZNF84 0 +LINC00266-3 0 +FRG2 0 +ABCB7 1 +ACE2 3 +ACOT9 0 +ACSL4 0 +ACTRT1 0 +AIFM1 4 +AKAP4 0 +ALAS2 0 +AMER1 0 +AMMECR1 0 +AMOT 23 +AP1S2 1 +APLN 0 +APOO 3 +ARHGAP4 0 +ARHGAP6 0 +ARHGEF6 0 +ARHGEF9 1 +ARHGEF9-IT1 0 +ARMCX2 0 +ARMCX6 0 +ARSD 0 +ARSE 0 +ARX 0 +ASB11 0 +ASB12 0 +ASB9 0 +ASMTL 0 +ATP11C 0 +ATRX 14 +ATXN3L 0 +AWAT2 0 +BCAP31 1 +BCOR 0 +BCYRN1 0 +BEND2 0 +BEX1 0 +BEX2 0 +BEX5 0 +BRWD3 2 +BTK 0 +C1GALT1C1 0 +CACNA1F 0 +CAPN6 0 +CASK 0 +CD99L2 0 +CDR1 0 +CENPVP1 0 +CENPVP2 0 +CETN2 4 +CFP 0 +CHM 0 +CHMP1B2P 0 +CHRDL1 0 +CITED1 0 +CLIC2 0 +CMC4 0 +COL4A6 0 +CRLF2 0 +CSAG3 0 +CSAG4 0 +CT45A4 0 +CT47A1 0 +CT47A10 0 +CT47A11 0 +CT47A12 0 +CT47A2 0 +CT47A3 0 +CT47A4 0 +CT47A5 0 +CT47A6 0 +CT47A7 0 +CT47A8 0 +CT47A9 0 +CT47B1 0 +CT55 0 +CT83 0 +CTAG1A 0 +CTAG1B 0 +CTAG2 0 +CTPS2 0 +CUL4B 5 +CXCR3 0 +CXorf21 0 +CXorf23 7 +CXorf31 0 +CXorf36 0 +CXorf38 0 +CXorf40B 4 +CXorf49 0 +CXorf49B 0 +CXorf51A 0 +CXorf51B 0 +CXorf56 2 +CXorf65 0 +CXorf66 0 +CYSLTR1 0 +DCAF12L1 0 +DCAF12L2 0 +DCAF8L1 0 +DCX 0 +DDX11L16 0 +DDX26B-AS1 0 +DGKK 0 +DHRSX 0 +DIAPH2-AS1 0 +DLG3-AS1 0 +DMD 6 +DMRTC1 0 +DMRTC1B 0 +DNASE1L1 0 +DYNLT3 0 +EDA2R 0 +EFHC2 2 +EIF1AX 0 +ELF4 0 +ELK1 1 +ENOX2 0 +ERCC6L 8 +ESX1 0 +F8 0 +F8A1 0 +F8A2 0 +F8A3 0 +FAM104B 1 +FAM120C 0 +FAM122B 0 +FAM127B 0 +FAM127C 0 +FAM156A 0 +FAM156B 0 +FAM223A 0 +FAM223B 0 +FAM226A 0 +FAM226B 0 +FAM3A 0 +FAM47A 0 +FAM58A 0 +FAM9A 0 +FAM9B 0 +FAM9C 0 +FANCB 0 +FGD1 0 +FGF13 0 +FIGF 0 +FIRRE 2 +FLNA 0 +FMR1-AS1 0 +FOXP3 0 +FRMD7 0 +FRMD8P1 0 +FRMPD3-AS1 0 +FTH1P18 0 +FTHL17 0 +FTX 0 +FUNDC1 0 +G6PD 1 +GAB3 0 +GABRA3 0 +GABRE 0 +GEMIN8 0 +GLA 1 +GLRA4 0 +GPC3 0 +GPC4 0 +GPKOW 2 +GPM6B 2 +GPR101 0 +GPR119 0 +GPR143 1 +GPR64 0 +GRIPAP1 1 +GTPBP6 0 +GUCY2F 0 +H2AFB1 0 +H2AFB2 0 +H2AFB3 0 +H2BFWT 0 +H2BFXP 0 +HAUS7 1 +HCFC1 3 +HDAC8 0 +HDHD1 0 +HDX 0 +HMGN5 0 +HS6ST2 0 +HSD17B10 1 +HSFX1 0 +HSFX2 0 +HUWE1 1 +IDH3G 0 +IDS 1 +IGSF1 0 +IL13RA2 0 +IL2RG 0 +INE2 0 +INGX 0 +IQSEC2 0 +IRAK1 0 +IRS4 0 +ITIH6 0 +ITM2A 0 +KAL1 0 +KCND1 0 +KCNE1L 0 +KDM5C 1 +KIAA1210 0 +KIAA2022 0 +KLHL13 0 +KLHL15 3 +KLHL34 0 +L1CAM 0 +LAGE3 1 +LAMP2 1 +LAS1L 1 +LDOC1 2 +LHFPL1 0 +LINC00087 0 +LINC00102 0 +LINC00633 0 +LINC00684 0 +LINC00889 0 +LINC00893 0 +LINC01186 0 +LINC01278 0 +LINC01281 0 +LINC01282 0 +LINC01284 0 +LINC01496 0 +LOC100132304 0 +LOC100132831 0 +LOC101060211 0 +LOC101927830 0 +LOC101928201 0 +LOC101928335 0 +LOC102723631 0 +LOC158960 0 +LOC286437 0 +LOC389906 1 +LOC401585 0 +LOC643486 0 +LOC729609 0 +LRCH2 0 +MAGEA1 0 +MAGEA10 0 +MAGEA10-MAGEA5 0 +MAGEA12 0 +MAGEA2 0 +MAGEA2B 0 +MAGEA3 0 +MAGEA5 0 +MAGEA8-AS1 0 +MAGEA9 0 +MAGEA9B 0 +MAGEC2 0 +MAGED4 0 +MAGED4B 0 +MAGEE2 0 +MAGT1 0 +MAOB 0 +MAP2K4P1 0 +MAP3K15 0 +MAP7D2 4 +MAP7D3 0 +MBNL3 0 +MCF2 0 +MECP2 2 +MED14 4 +MID1 2 +MID1IP1-AS1 0 +MIR105-1 0 +MIR105-2 0 +MIR106A 0 +MIR1184-1 0 +MIR1184-2 0 +MIR1184-3 0 +MIR1256 0 +MIR1468 0 +MIR18B 0 +MIR19B2 0 +MIR20B 0 +MIR221 0 +MIR222 0 +MIR23C 0 +MIR3202-2 0 +MIR320D2 0 +MIR325HG 0 +MIR363 0 +MIR374A 0 +MIR374B 0 +MIR384 0 +MIR421 0 +MIR424 0 +MIR4328 0 +MIR4329 0 +MIR450A1 0 +MIR450A2 0 +MIR450B 0 +MIR452 0 +MIR4770 0 +MIR503 0 +MIR503HG 0 +MIR504 0 +MIR505 0 +MIR506 0 +MIR507 0 +MIR508 0 +MIR509-1 0 +MIR509-2 0 +MIR509-3 0 +MIR510 0 +MIR514A1 0 +MIR514A2 0 +MIR514A3 0 +MIR514B 0 +MIR542 0 +MIR545 0 +MIR6134 0 +MIR6857 0 +MIR6894 0 +MIR6895 0 +MIR718 0 +MIR766 0 +MIR767 0 +MIR8088 0 +MIR888 0 +MIR890 0 +MIR891A 0 +MIR891B 0 +MIR892A 0 +MIR892B 0 +MIR892C 0 +MIR92A2 0 +MIR98 0 +MIRLET7F2 0 +MMGT1 10 +MORC4 1 +MORF4L2 7 +MOSPD1 3 +MPP1 0 +MTCP1 0 +MTMR8 0 +MTRNR2L10 0 +MXRA5 0 +NAA10 0 +NAP1L2 0 +NAP1L3 0 +NAP1L6 0 +NDP 0 +NDUFB11 0 +NHS-AS1 0 +NKAP 1 +NKAPP1 0 +NKRF 0 +NLGN4X 1 +NOX1 0 +NR0B1 0 +NUDT11 4 +NUP62CL 0 +NXF2 0 +NXF2B 0 +NXF3 0 +NXF5 0 +OPHN1 0 +OTUD5 1 +P2RY4 0 +P2RY8 0 +PABPC1L2A 0 +PABPC1L2B-AS1 0 +PABPC5-AS1 0 +PAGE1 0 +PAGE3 0 +PCDH19 0 +PCSK1N 0 +PCYT1B 0 +PDZD11 0 +PDZD4 0 +PFKFB1 0 +PGAM4 0 +PHEX-AS1 0 +PHF8 12 +PHKA1 0 +PHKA2 0 +PIGA 1 +PIM2 0 +PIR 0 +PIR-FIGF 0 +PJA1 0 +PLAC1 0 +PLS3-AS1 0 +PNCK 0 +PNMA5 0 +PNPLA4 0 +POF1B 0 +PPEF1-AS1 0 +PPP1R2P9 0 +PPP2R3B 0 +PRAF2 0 +PRICKLE3 0 +PRKX 0 +PSMD10 1 +PTCHD1-AS 0 +RAB39B 0 +RAB40A 0 +RAB9B 0 +RAI2 0 +RAP2C 1 +RBBP7 50 +RBM41 1 +RBMX 5 +RENBP 0 +RGAG4 0 +RHOXF1 0 +RHOXF2 0 +RHOXF2B 0 +RIPPLY1 0 +RLIM 2 +RNF113A 2 +RNU6-2 0 +RNU6-28P 0 +RP11-87M18.2 1 +RPGR 2 +RPL39 1 +RPS4X 13 +RPS6KA3 2 +RPS6KA6 0 +RS1 0 +SATL1 0 +SCARNA9L 0 +SCML2 0 +SEPT6 0 +SERPINA7 0 +SH3KBP1 18 +SHROOM4 0 +SLC10A3 1 +SLC25A5-AS1 0 +SLC25A53 0 +SLC25A6 0 +SLC35A2 0 +SLC38A5 0 +SLC7A3 0 +SLC9A7 1 +SLITRK4 0 +SMARCA1 0 +SMC1A 4 +SMEK3P 0 +SMIM9 0 +SMPX 0 +SNORA11D 0 +SNORA11E 0 +SNORA69 0 +SNORD61 0 +SNORD96B 0 +SNX12 5 +SOX3 0 +SPANXA1 0 +SPANXA2 0 +SPANXC 0 +SPANXD 0 +SPANXN2 0 +SPANXN3 0 +SPANXN5 0 +SPIN2A 0 +SPIN2B 0 +SPIN3 2 +SPIN4 0 +SRPX 0 +SSX2 0 +SSX2B 0 +SSX3 0 +SSX4 0 +SSX4B 0 +SSX5 0 +SSX7 0 +SSX9 0 +SUPT20HL2 1 +SYN1 0 +SYP 0 +SYTL4 4 +TAB3 0 +TAF7L 0 +TAF9B 3 +TCEAL5 0 +TCEAL6 0 +TCEAL8 0 +TCP11X2 0 +TENM1 0 +TEX11 0 +TEX13A 0 +TEX13B 0 +TEX28 0 +TFDP3 0 +TFE3 7 +THOC2 40 +TIMM17B 0 +TIMM8A 0 +TLR8-AS1 1 +TMEM185A 0 +TMEM255A 0 +TMEM27 0 +TMEM47 0 +TMLHE 0 +TMLHE-AS1 0 +TMSB15A 0 +TRAPPC2 0 +TREX2 0 +TRMT2B 0 +TRPC5 0 +TSC22D3 0 +TSPAN6 0 +TTC3P1 0 +UBL4A 0 +UPF3B 2 +UQCRBP1 0 +USP26 0 +USP27X-AS1 0 +USP51 0 +UXT 0 +VCX2 0 +VCX3A 0 +VSIG4 0 +WDR45 0 +WNK3 0 +XAGE1B 0 +XAGE1E 0 +XAGE2 0 +XAGE3 0 +XIST 0 +XKRX 0 +XRCC6P5 0 +ZBED1 0 +ZC4H2 0 +ZCCHC5 0 +ZDHHC15 0 +ZDHHC9 3 +ZFX-AS1 0 +ZMAT1 0 +ZMYM3 3 +ZNF182 1 +ZNF280C 11 +ZNF41 0 +ZNF630 0 +ZNF674 0 +ZNF75D 0 +ZXDA 0 +AMELY 0 +ASMTL 0 +BCORP1 0 +BPY2 0 +BPY2B 0 +BPY2C 0 +CD24 0 +CDY1 0 +CDY1B 0 +CDY2A 0 +CDY2B 0 +CRLF2 0 +CSPG4P1Y 0 +DAZ1 0 +DAZ3 0 +DAZ4 0 +DDX11L16 0 +DHRSX 0 +FAM197Y2 0 +FAM197Y5 0 +FAM224A 0 +FAM224B 0 +FAM41AY1 0 +FAM41AY2 0 +GOLGA2P2Y 0 +GOLGA2P3Y 0 +GTPBP6 0 +GYG2P1 0 +HSFY1 0 +HSFY2 0 +KDM5D 0 +LINC00280 0 +LOC101929148 0 +NCRNA00185 0 +NLGN4Y-AS1 0 +P2RY8 0 +PPP2R3B 0 +PRORY 0 +PRY 0 +PRY2 0 +RBMY1A1 0 +RBMY1A3P 0 +RBMY1B 0 +RBMY1D 0 +RBMY1E 0 +RBMY1F 0 +RBMY1J 0 +RBMY2EP 0 +RBMY3AP 0 +SLC25A6 0 +SRY 0 +TTTY1 0 +TTTY10 0 +TTTY11 0 +TTTY13 0 +TTTY14 0 +TTTY16 0 +TTTY17A 0 +TTTY17B 0 +TTTY17C 0 +TTTY18 0 +TTTY1B 0 +TTTY2 0 +TTTY20 0 +TTTY21 0 +TTTY21B 0 +TTTY23 0 +TTTY23B 0 +TTTY2B 0 +TTTY3 0 +TTTY3B 0 +TTTY4 0 +TTTY4B 0 +TTTY4C 0 +TTTY5 0 +TTTY6 0 +TTTY6B 0 +TTTY7 0 +TTTY7B 0 +TTTY8 0 +TTTY8B 0 +TTTY9A 0 +TTTY9B 0 +UTY 0 +VCY 0 +VCY1B 0 +XKRY 0 +XKRY2 0 +ZBED1 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.geneBodyCoverage.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.geneBodyCoverage.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,104 @@ +Total reads: 80603 +Fragment number: 45981 +percentile count +0 172 +1 322 +2 489 +3 620 +4 693 +5 723 +6 766 +7 838 +8 861 +9 939 +10 1020 +11 1028 +12 988 +13 1055 +14 1122 +15 1087 +16 1031 +17 1082 +18 1111 +19 1119 +20 1184 +21 1144 +22 1167 +23 1176 +24 1145 +25 1143 +26 1129 +27 1185 +28 1192 +29 1207 +30 1225 +31 1185 +32 1213 +33 1241 +34 1268 +35 1313 +36 1240 +37 1204 +38 1190 +39 1235 +40 1269 +41 1295 +42 1328 +43 1308 +44 1229 +45 1220 +46 1252 +47 1273 +48 1272 +49 1295 +50 1283 +51 1335 +52 1335 +53 1334 +54 1377 +55 1385 +56 1434 +57 1411 +58 1407 +59 1424 +60 1420 +61 1450 +62 1458 +63 1483 +64 1511 +65 1560 +66 1583 +67 1627 +68 1669 +69 1710 +70 1777 +71 1792 +72 1812 +73 1825 +74 1802 +75 1862 +76 1857 +77 1900 +78 1880 +79 1874 +80 1867 +81 1859 +82 1869 +83 1859 +84 1851 +85 1897 +86 1883 +87 1971 +88 2030 +89 1992 +90 1971 +91 2017 +92 2030 +93 1983 +94 1995 +95 1959 +96 1896 +97 1787 +98 1461 +99 980 +100 288 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.geneBodyCoverage_plot.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.geneBodyCoverage_plot.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png('/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.geneBodyCoverage.png',width=500,height=500,units='px') +x=c(0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100) +y=c(172,322,489,620,693,723,766,838,861,939,1020,1028,988,1055,1122,1087,1031,1082,1111,1119,1184,1144,1167,1176,1145,1143,1129,1185,1192,1207,1225,1185,1213,1241,1268,1313,1240,1204,1190,1235,1269,1295,1328,1308,1229,1220,1252,1273,1272,1295,1283,1335,1335,1334,1377,1385,1434,1411,1407,1424,1420,1450,1458,1483,1511,1560,1583,1627,1669,1710,1777,1792,1812,1825,1802,1862,1857,1900,1880,1874,1867,1859,1869,1859,1851,1897,1883,1971,2030,1992,1971,2017,2030,1983,1995,1959,1896,1787,1461,980,288) +smoothsp = smooth.spline(x,y,spar=0.35) +plot(smoothsp,type="l",col="blue",xlab="Percentile of Gene Body (5'->3')",ylab="Number of read",xlim=c(0,100)) +dev.state = dev.off() \ No newline at end of file diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.mapq_profile.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.mapq_profile.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,12 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.mapq_profile.png",width=500,height=500,units="px") +mapq_val=c(0,1,3,255) +mapq_count=c(525,2546,8143,69389) +xname=c("<3","<10","<20","<30","30-255") +freq = rep(0,5) +freq[1] = sum(mapq_count[which(mapq_val<3)])/80603*100 +freq[2] = sum(mapq_count[which(mapq_val<10)])/80603*100 +freq[3] = sum(mapq_count[which(mapq_val<20)])/80603*100 +freq[4] = sum(mapq_count[which(mapq_val<30)])/80603*100 +freq[5] = 100 +barplot(freq,beside=T,xlab="Mapping Quality",border="NA",space=1.5,main="Mapping Quality",ylim=c(0,100),ylab="Cumulative proportion (%)",col="blue",names.arg=xname) +dev.state=dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.mapq_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.mapq_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,5 @@ +MAPQ Read_Total Read_with_mapq +0 80603 525 +1 80603 2546 +3 80603 8143 +255 80603 69389 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.read_distr.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.read_distr.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,6 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.read_distr.png",width=500,height=500,units="px") +M=c(22143,1293,15499,7798,156,511,5939,21398) +Mname=c("CDS","5UTR","3UTR","Intron","TSS_Up_1Kb","TES_Down_1Kb","rRNA","Others") +val = barplot(M,xlab="",space=1,ylab="Read Counts",col="blue",border="NA") +text(x=seq(val[1],val[8],by=2),y=rep(0,8),srt=60,adj=0,offset=2,pos=1,xpd=T,labels=Mname) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.read_distr_pie.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.read_distr_pie.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,3 @@ +png("/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.read_distr_pie.png",width=500,height=500,units="px") +pie(c(32831,510804),labels=c("Covered 32831 exons","Uncovered"),main="Exons",radius=0.6,clockwise=T,col=c("blue","white")) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.readlen_profile.xls --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.readlen_profile.xls Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,35 @@ +Position Read_Total Read_Len_mapped +67 80603 182 +68 80603 177 +69 80603 265 +70 80603 292 +71 80603 322 +72 80603 337 +73 80603 407 +74 80603 384 +75 80603 377 +76 80603 408 +77 80603 421 +78 80603 433 +79 80603 465 +80 80603 412 +81 80603 463 +82 80603 458 +83 80603 469 +84 80603 448 +85 80603 457 +86 80603 476 +87 80603 520 +88 80603 507 +89 80603 519 +90 80603 576 +91 80603 723 +92 80603 741 +93 80603 800 +94 80603 824 +95 80603 805 +96 80603 847 +97 80603 931 +98 80603 1476 +99 80603 1885 +100 80603 50582 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp2.res.txt --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp2.res.txt Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,49 @@ +filename /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp2.res.txt +is_pairEnd 0 +clipping_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.clipping_profile.png +mapq_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.mapq_profile.png +mapq_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp2.mapq_profile.xls +read_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.geneBodyCoverage.png +trans_cov_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.TransCoverage.png +insert_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.inner_distance_plot.png +insert_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp2.inner_distance_freq.txt +read_dist_plot_file1 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.read_distr.png +read_dist_plot_file2 /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.read_distr_pie.png +readLen_plot_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp2.readlen_profile.png +geneCount_file /sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/data/smp2.geneAbundance.txt +seqDeDup_percent 0.000000 +posDeDup_percent 0.000000 +no_clipping 0 +no_rRNA 0 +total_reads 80603 +uniq_mapped_reads 69389 +multi_mapped_reads 11214 +unmapped_reads 0 +low_qual 0 +low_qual_read1 0 +low_qual_read2 0 +pcr_dup 0 +rRNA_read 5939 +cds_read 22143 +utr5_read 1293 +utr3_read 15499 +intron_read 7798 +itgup1k_read 156 +itgdn1k_read 511 +itg_read 21398 +unmapped_read1 0 +unmapped_read2 0 +mapped_read1 0 +mapped_read2 0 +forward_read 34065 +reverse_read 35324 +paired_reads 0 +mapped_plus_minus 0 +mapped_plus_plus 0 +mapped_minus_plus 0 +mapped_minus_minus 0 +ins_read 0 +del_read 0 +noSplice 56765 +splice 12624 +paired_diff_chrom 0 diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/data/smp_correlation.r --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/data/smp_correlation.r Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,78 @@ +library(corrplot) +srcfiles = c("test1/data/smp0.geneAbundance.txt","test1/data/smp1.geneAbundance.txt","test1/data/smp2.geneAbundance.txt") +destfile = "/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp_corr.png" +f1 = read.delim(srcfiles[1],header=T) +MM=matrix(nrow=length(f1[,1]),ncol=length(srcfiles)) +rownames(MM)=f1[,1] +MM[,1]=f1[,2] +for (i in 2:length(srcfiles)){ + f = read.delim(srcfiles[i],header=T) + MM[,i] = f[,2] } +colnames(MM)=c("smp0","smp1","smp2") +libSize<-colSums(MM) +MM<-t(t(MM)*1000000/libSize) +ss<-rowSums(MM) +M1<-MM[ss>0,] +MM_s<-t(scale(t(M1))) +M.cor<-cor(MM_s,method='sp') +M.cor[is.na(M.cor)]<- 0 +png(destfile,width=500,height=500,units='px') +corrplot(M.cor,is.corr=T,order='FPC',method='color',type='full',add=F,diag=T) +dev.state = dev.off() +nz_genes = length(M1[,1]) +destfile = "/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp_reproducibility.png" +if(nz_genes >0) { +png(destfile,width=500,height=500,units='px') +nz_gene_mm = rep(0,length(M1[1,])) +for(i in 1:length(M1[1,])) { +nz_gene_mm[i] = length(which(M1[,i]>0))/nz_genes * 100 } +bplt <- barplot(nz_gene_mm,beside=T,border='NA',space=1.5,ylim=c(0,100),ylab='Genes reproducibly detected (%)',col='blue',names.arg=colnames(MM)) +text(y= nz_gene_mm+2, x= bplt, labels=paste(as.character(round(nz_gene_mm,digits=1)),'%',sep=''), xpd=TRUE) +dev.state = dev.off()} +destfile = "/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp_var.png" +png(destfile,width=500,height=500,units='px') +mad = rep(0,length(M1[,1])) +nz_gene_median = rep(0,length(M1[,1])) +for(i in 1:length(M1[,1])) { +nz_gene_median[i] = median(M1[i,]) +mad[i] = median(abs(M1[i,]-nz_gene_median[i])) } +mad2 = mad[nz_gene_median >0] +nz_gene_median2 = nz_gene_median[nz_gene_median>0] +mad_vs_median = mad2/nz_gene_median2 +nz_gene_median3 = log(nz_gene_median2, base=2) +dd<-data.frame(nz_gene_median3,mad_vs_median) +x = densCols(nz_gene_median3,mad_vs_median, colramp=colorRampPalette(c('black', 'white'))) +dd$dens <- col2rgb(x)[1,] + 1L +cols <- colorRampPalette(c("#000099", "#00FEFF", "#45FE4F", "#FCFF00", "#FF9400", "#FF3100"))(256) +dd$col <- cols[dd$dens] +plot(mad_vs_median ~ nz_gene_median3,data=dd[order(dd$dens),], col=col, pch=20,xlab="Gene expression (median RPM log2)",ylab="Median absolute deviation/median") +dev.state = dev.off() +destfile = "/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp_cov.png" +png(destfile,width=500,height=500,units='px') +xname=c("<0.5","0.5-10","10-100",">=100") +Fn_mm = matrix(0,nrow=length(xname),ncol=length(M1[1,])) +rownames(Fn_mm) = xname +colnames(Fn_mm) = c("smp0","smp1","smp2") +for(i in 1:length(M1[1,])) { +Fn_mm[1,i] = length(which(M1[,i]<0.5)) +Fn_mm[2,i] = length(which(M1[,i]>=0.5 & M1[,i]<10)) +Fn_mm[3,i] = length(which(M1[,i]>=10 & M1[,i]<100)) +Fn_mm[4,i] = length(which(M1[,i]>=100)) } +barplot(Fn_mm,main="Gene abundance (RPM)",xlab="Sample",ylab="Frequency",col=c("green","blue","red","yellow"),legend=xname) +dev.state = dev.off() +destfile3 = "/sonas-hs/bsr/hpc/data/yjin/test_BAMqc/exp/test1/figs/smp_qual.png" +srcfiles3 = c("test1/data/smp0.mapq_profile.xls","test1/data/smp1.mapq_profile.xls","test1/data/smp2.mapq_profile.xls") +png(destfile3,width=500,height=500,units='px') +xname=c("<3","3-10","10-20","20-30",">=30") +Fn_mm = matrix(0,nrow=length(xname),ncol=length(srcfiles3)) +rownames(Fn_mm) = xname +colnames(Fn_mm) = c("smp0","smp1","smp2") +for(i in 1:length(srcfiles3)) { + f = read.delim(srcfiles3[i],header=T) + if(length(which(f[,1]<3)) >0){ Fn_mm[1,i] = sum(f[which(f[,1]<3),3])/f[1,2]} +if(length(which(f[,1]>=3 & f[,1]<10)) >0) {Fn_mm[2,i] = sum(f[which(f[,1]<10 & f[,1]>=3),3])/f[1,2]} +if(length(which(f[,1]>=10 & f[,1]<20)) >0) {Fn_mm[3,i] = sum(f[which(f[,1]<20 & f[,1]>=10),3])/f[1,2] } +if(length(which(f[,1]>=20 & f[,1]<30)) >0) {Fn_mm[4,i] = sum(f[which(f[,1]<30 & f[,1]>=20),3])/f[1,2]} +if(length(which(f[,1]>=30)) >0) {Fn_mm[5,i] = sum(f[which(f[,1]>=30),3])/f[1,2] }} +barplot(Fn_mm,xlab="Sample",main="Mapping Quality",ylim=c(0,1),ylab="Frequency",col=c("blue","green","yellow","orange","red"),legend=xname) +dev.state = dev.off() diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/ezBAMQC_output.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ezBAMQC/test-data/output/ezBAMQC_output.html Thu Mar 24 17:12:52 2016 -0400 @@ -0,0 +1,144 @@ + + +ezBAMQC Report + + +
+ +
+ +
+

smp0

+

Basic Statistics

+ + + + + + + + + + + + +
MeasureValue
Total Reads77686
Unique Reads64349
Multi-reads13337
Unmapped Reads0
Low Quality Reads0
Forward Reads31875
Reverse Reads32474
Splice Reads13900
Non-Splice Reads50449
rRNA Reads8521
+

Read Distribution

+

Read DistributionRead Distribution

+

Mappability

+

Mappablity Profile MapQ Profile

+

Coverage

+

Read Coverage Read Coverage

+

Read Length

+

Read Length

+

smp1

+

Basic Statistics

+ + + + + + + + + + + + +
MeasureValue
Total Reads79258
Unique Reads66672
Multi-reads12586
Unmapped Reads0
Low Quality Reads0
Forward Reads33207
Reverse Reads33465
Splice Reads14459
Non-Splice Reads52213
rRNA Reads7563
+

Read Distribution

+

Read DistributionRead Distribution

+

Mappability

+

Mappablity Profile MapQ Profile

+

Coverage

+

Read Coverage Read Coverage

+

Read Length

+

Read Length

+

smp2

+

Basic Statistics

+ + + + + + + + + + + + +
MeasureValue
Total Reads80603
Unique Reads69389
Multi-reads11214
Unmapped Reads0
Low Quality Reads0
Forward Reads34065
Reverse Reads35324
Splice Reads12624
Non-Splice Reads56765
rRNA Reads5939
+

Read Distribution

+

Read DistributionRead Distribution

+

Mappability

+

Mappablity Profile MapQ Profile

+

Coverage

+

Read Coverage Read Coverage

+

Read Length

+

Read Length

+

Sample Correlation and Quality

+

Sample CorrelationSample Correlation

+

Sample Coverage

+

Sample Coverage

+

Sample Variation

+

Sample VariationSample Variation

+
+
+ diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.TransCoverage.png Binary file ezBAMQC/test-data/output/figs/smp0.TransCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.clipping_profile.png Binary file ezBAMQC/test-data/output/figs/smp0.clipping_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.geneBodyCoverage.png Binary file ezBAMQC/test-data/output/figs/smp0.geneBodyCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.mapq_profile.png Binary file ezBAMQC/test-data/output/figs/smp0.mapq_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.read_distr.png Binary file ezBAMQC/test-data/output/figs/smp0.read_distr.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.read_distr_pie.png Binary file ezBAMQC/test-data/output/figs/smp0.read_distr_pie.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp0.readlen_profile.png Binary file ezBAMQC/test-data/output/figs/smp0.readlen_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.TransCoverage.png Binary file ezBAMQC/test-data/output/figs/smp1.TransCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.clipping_profile.png Binary file ezBAMQC/test-data/output/figs/smp1.clipping_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.geneBodyCoverage.png Binary file ezBAMQC/test-data/output/figs/smp1.geneBodyCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.mapq_profile.png Binary file ezBAMQC/test-data/output/figs/smp1.mapq_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.read_distr.png Binary file ezBAMQC/test-data/output/figs/smp1.read_distr.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.read_distr_pie.png Binary file ezBAMQC/test-data/output/figs/smp1.read_distr_pie.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp1.readlen_profile.png Binary file ezBAMQC/test-data/output/figs/smp1.readlen_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.TransCoverage.png Binary file ezBAMQC/test-data/output/figs/smp2.TransCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.clipping_profile.png Binary file ezBAMQC/test-data/output/figs/smp2.clipping_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.geneBodyCoverage.png Binary file ezBAMQC/test-data/output/figs/smp2.geneBodyCoverage.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.mapq_profile.png Binary file ezBAMQC/test-data/output/figs/smp2.mapq_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.read_distr.png Binary file ezBAMQC/test-data/output/figs/smp2.read_distr.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.read_distr_pie.png Binary file ezBAMQC/test-data/output/figs/smp2.read_distr_pie.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp2.readlen_profile.png Binary file ezBAMQC/test-data/output/figs/smp2.readlen_profile.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp_corr.png Binary file ezBAMQC/test-data/output/figs/smp_corr.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp_cov.png Binary file ezBAMQC/test-data/output/figs/smp_cov.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp_qual.png Binary file ezBAMQC/test-data/output/figs/smp_qual.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp_reproducibility.png Binary file ezBAMQC/test-data/output/figs/smp_reproducibility.png has changed diff -r 000000000000 -r dfa3745e5fd8 ezBAMQC/test-data/output/figs/smp_var.png Binary file ezBAMQC/test-data/output/figs/smp_var.png has changed