From 0dd1f3e913b44bcebd09bd75b0ec79851b55327a Mon Sep 17 00:00:00 2001 From: Don Armstrong Date: Thu, 21 Jan 2016 11:24:10 -0600 Subject: [PATCH 1/1] import paml4.8 --- .gitignore | 1 + 3s.trees | 6 + 4s.trees | 11 + 5s.trees | 14 + 6s.trees | 6 + GeneticCode.txt | 92 + MCaa.dat | 31 + MCbase.dat | 37 + MCbaseRandomTree.dat | 45 + MCcodon.dat | 99 + README.txt | 25 + Technical/Pt/eigenQREV.pdf | Bin 0 -> 146138 bytes Technical/Pt/testPMat.c | 70 + .../Simulation/Codon/MCcodonNSbranches.dat | 54 + .../Simulation/Codon/MCcodonNSbranchsites.dat | 63 + Technical/Simulation/Codon/MCcodonNSsites.dat | 57 + Technical/Simulation/Codon/PositiveSites.c | 196 + Technical/Simulation/Codon/README.txt | 292 + Technical/Simulation/Codon/codeml.ctl | 60 + Technical/Simulation/multiruns.c | 159 + Technical/Simulation/multiruns.txt | 121 + aaml.ctl | 36 + baseml.ctl | 34 + brown.nuc | 110 + brown.rooted.trees | 10 + brown.trees | 6 + codeml.ctl | 58 + codonml.ctl | 52 + dat/MtZoa.dat | 27 + dat/cpREV10.dat | 129 + dat/cpREV64.dat | 28 + dat/dayhoff-dcmut.dat | 51 + dat/dayhoff.dat | 132 + dat/g1974a.dat | 29 + dat/g1974c.dat | 28 + dat/g1974p.dat | 28 + dat/g1974v.dat | 28 + dat/grantham.dat | 49 + dat/jones-dcmut.dat | 50 + dat/jones.dat | 153 + dat/lg.dat | 39 + dat/miyata.dat | 28 + dat/mtArt.dat | 114 + dat/mtREV24.dat | 41 + dat/mtmam.dat | 78 + dat/wag.dat | 50 + doc/MCMCtree.Tutorials.pdf | Bin 0 -> 539221 bytes doc/MCMCtreeDOC.pdf | Bin 0 -> 291668 bytes doc/pamlDOC.pdf | Bin 0 -> 643158 bytes doc/pamlFAQs.pdf | Bin 0 -> 179912 bytes doc/pamlHistory.txt | 1709 +++ examples/9s.trees | 14 + examples/CladeModelCD/ECP_EDN_15.nuc | 34 + .../CladeModelCD/PAMLCladeModelCDnotes.pdf | Bin 0 -> 137427 bytes examples/CladeModelCD/codeml.CladeC.ctl | 36 + examples/CladeModelCD/codeml.CladeD.ctl | 37 + examples/CladeModelCD/tree.txt | 4 + examples/DatingSoftBound/FixedDsClock23.txt | 13 + examples/DatingSoftBound/README.txt | 61 + .../mcmctree.Infinitesites.ctl | 32 + examples/DatingSoftBound/mcmctree.ctl | 32 + examples/DatingSoftBound/mtCDNApri.trees | 7 + examples/DatingSoftBound/mtCDNApri123.txt | 26 + examples/HIVNSsites/HIVenvSweden.trees | 14 + examples/HIVNSsites/HIVenvSweden.txt | 21 + examples/HIVNSsites/HIVenvSweden4s.trees | 3 + examples/HIVNSsites/HIVenvSweden4s.txt | 6 + examples/HIVNSsites/README.txt | 35 + examples/HIVNSsites/codeml.ctl | 33 + examples/MHC.Swanson2002MBE/README.txt | 42 + examples/MHC.Swanson2002MBE/bigmhc.phy | 2901 +++++ examples/MHC.Swanson2002MBE/bigmhc.trees | 3 + examples/MHC.Swanson2002MBE/codeml.ctl | 33 + examples/MouseLemurs/MouseLemurs.aa | 141 + examples/MouseLemurs/MouseLemurs.nuc | 39 + examples/MouseLemurs/MouseLemurs.trees | 45 + examples/MouseLemurs/MouseLemurs123.nuc | 110 + examples/MouseLemurs/README.txt | 128 + examples/MouseLemurs/README2.txt | 246 + examples/MouseLemurs/aaml.ctl | 33 + examples/MouseLemurs/aaml2.ctl | 26 + examples/MouseLemurs/baseml.ctl | 25 + examples/MouseLemurs/baseml2.ctl | 26 + examples/MouseLemurs/codeml.ctl | 35 + examples/MouseLemurs/codonml.ctl | 33 + examples/MouseLemurs/codonml2.ctl | 33 + examples/MouseLemurs/mtmam.dat | 76 + examples/README.txt | 28 + examples/TipDate.FluH1/H1.Beast.Nulldata.xml | 2290 ++++ examples/TipDate.FluH1/H1.Beast.xml | 2290 ++++ examples/TipDate.FluH1/H1.NodeNumbers.tre | 368 + examples/TipDate.FluH1/H1.nexus | 296 + examples/TipDate.FluH1/H1.tre | 4 + examples/TipDate.FluH1/H1.txt | 579 + examples/TipDate.FluH1/baseml.ctl | 38 + examples/TipDate.FluH1/commands.txt | 10 + examples/TipDate.FluH1/in.BV.HKYG5 | 587 + examples/TipDate.FluH1/mcmctreeClock1.ctl | 47 + examples/TipDate.FluH1/mcmctreeClock2.ctl | 45 + examples/TipDate.FluH1/mcmctreeClock3.ctl | 45 + examples/TipDate.HIV2/HIV2ge.tre | 45 + examples/TipDate.HIV2/HIV2ge.txt | 35 + examples/TipDate.HIV2/README.txt | 112 + examples/TipDate.HIV2/baseml.ctl | 42 + examples/TipDate.HIV2/in.BV.HKYG5 | 75 + examples/TipDate.HIV2/mcmctree.ExactlnL.ctl | 42 + examples/TipDate.HIV2/mcmctree.ctl | 37 + examples/YN00abglobin.result | 66 + examples/abglobin.aa | 36 + examples/abglobin.nuc | 98 + examples/abglobin.trees | 9 + examples/dNdSGene1.nuc | 9 + examples/horai.nuc | 119 + examples/horai.trees | 3 + examples/lysin/README.txt | 144 + examples/lysin/RasMol.txt | 272 + examples/lysin/SiteNumbering.txt | 137 + examples/lysin/codeml.ctl | 34 + examples/lysin/codemlYangSwanson2002.ctl | 31 + examples/lysin/lysin.nuc | 36 + examples/lysin/lysin.trees | 10 + examples/lysin/lysinYangSwanson2002.nuc | 41 + examples/lysozyme/README.txt | 114 + examples/lysozyme/codeml.ctl | 38 + examples/lysozyme/lysozymeLarge.ctl | 39 + examples/lysozyme/lysozymeLarge.nuc | 200 + examples/lysozyme/lysozymeLarge.trees | 14 + examples/lysozyme/lysozymeSmall.ctl | 37 + examples/lysozyme/lysozymeSmall.nuc | 64 + examples/lysozyme/lysozymeSmall.trees | 40 + examples/lysozyme/lysozymeSmall.txt | 64 + examples/mtCDNA/README.txt | 77 + examples/mtCDNA/codeml.ctl | 34 + examples/mtCDNA/miyata.dat | 28 + examples/mtCDNA/mtCDNAmam.nuc | 3399 ++++++ examples/mtCDNA/mtCDNAmam.trees | 3 + examples/mtCDNA/mtCDNApri.aa | 8 + examples/mtCDNA/mtCDNApri.nuc | 1211 +++ examples/mtCDNA/mtCDNApri.trees | 3 + examples/mtCDNAape/2s.trees | 3 + examples/mtCDNAape/OmegaAA.dat | 46 + examples/mtCDNAape/README.txt | 59 + examples/mtCDNAape/codeml.HC.ctl | 41 + examples/mtCDNAape/codeml.ctl | 45 + examples/mtCDNAape/mtCDNA.HC.txt | 392 + examples/mtCDNAape/mtCDNAape.trees | 14 + examples/mtCDNAape/mtCDNAape.txt | 1111 ++ examples/mtprim9.nuc | 187 + mcmctree.ctl | 32 + pamp.ctl | 8 + paupblock | 6 + paupend | 3 + paupstart | 3 + src/Makefile | 27 + src/Makefile.MSVC | 26 + src/README.txt | 72 + src/TreeTimeJeff.c | 106 + src/baseml.c | 1649 +++ src/basemlg.c | 822 ++ src/chi2.c | 258 + src/codeml.c | 6927 ++++++++++++ src/ds.c | 23 + src/evolver.c | 1411 +++ src/mcmctree.c | 3815 +++++++ src/paml.h | 397 + src/pamp.c | 645 ++ src/tools.c | 6581 ++++++++++++ src/treespace.c | 410 + src/treesub.c | 9491 +++++++++++++++++ src/yn00.c | 907 ++ stewart.aa | 11 + stewart.trees | 5 + yn00.ctl | 16 + 173 files changed, 57901 insertions(+) create mode 100644 .gitignore create mode 100644 3s.trees create mode 100644 4s.trees create mode 100644 5s.trees create mode 100644 6s.trees create mode 100644 GeneticCode.txt create mode 100644 MCaa.dat create mode 100644 MCbase.dat create mode 100644 MCbaseRandomTree.dat create mode 100644 MCcodon.dat create mode 100644 README.txt create mode 100644 Technical/Pt/eigenQREV.pdf create mode 100644 Technical/Pt/testPMat.c create mode 100644 Technical/Simulation/Codon/MCcodonNSbranches.dat create mode 100644 Technical/Simulation/Codon/MCcodonNSbranchsites.dat create mode 100644 Technical/Simulation/Codon/MCcodonNSsites.dat create mode 100644 Technical/Simulation/Codon/PositiveSites.c create mode 100644 Technical/Simulation/Codon/README.txt create mode 100644 Technical/Simulation/Codon/codeml.ctl create mode 100644 Technical/Simulation/multiruns.c create mode 100644 Technical/Simulation/multiruns.txt create mode 100644 aaml.ctl create mode 100644 baseml.ctl create mode 100644 brown.nuc create mode 100644 brown.rooted.trees create mode 100644 brown.trees create mode 100644 codeml.ctl create mode 100644 codonml.ctl create mode 100644 dat/MtZoa.dat create mode 100644 dat/cpREV10.dat create mode 100644 dat/cpREV64.dat create mode 100644 dat/dayhoff-dcmut.dat create mode 100644 dat/dayhoff.dat create mode 100644 dat/g1974a.dat create mode 100644 dat/g1974c.dat create mode 100644 dat/g1974p.dat create mode 100644 dat/g1974v.dat create mode 100644 dat/grantham.dat create mode 100644 dat/jones-dcmut.dat create mode 100644 dat/jones.dat create mode 100644 dat/lg.dat create mode 100644 dat/miyata.dat create mode 100644 dat/mtArt.dat create mode 100644 dat/mtREV24.dat create mode 100644 dat/mtmam.dat create mode 100644 dat/wag.dat create mode 100644 doc/MCMCtree.Tutorials.pdf create mode 100644 doc/MCMCtreeDOC.pdf create mode 100644 doc/pamlDOC.pdf create mode 100644 doc/pamlFAQs.pdf create mode 100644 doc/pamlHistory.txt create mode 100644 examples/9s.trees create mode 100644 examples/CladeModelCD/ECP_EDN_15.nuc create mode 100644 examples/CladeModelCD/PAMLCladeModelCDnotes.pdf create mode 100644 examples/CladeModelCD/codeml.CladeC.ctl create mode 100644 examples/CladeModelCD/codeml.CladeD.ctl create mode 100644 examples/CladeModelCD/tree.txt create mode 100644 examples/DatingSoftBound/FixedDsClock23.txt create mode 100644 examples/DatingSoftBound/README.txt create mode 100644 examples/DatingSoftBound/mcmctree.Infinitesites.ctl create mode 100644 examples/DatingSoftBound/mcmctree.ctl create mode 100644 examples/DatingSoftBound/mtCDNApri.trees create mode 100644 examples/DatingSoftBound/mtCDNApri123.txt create mode 100644 examples/HIVNSsites/HIVenvSweden.trees create mode 100644 examples/HIVNSsites/HIVenvSweden.txt create mode 100644 examples/HIVNSsites/HIVenvSweden4s.trees create mode 100644 examples/HIVNSsites/HIVenvSweden4s.txt create mode 100644 examples/HIVNSsites/README.txt create mode 100644 examples/HIVNSsites/codeml.ctl create mode 100644 examples/MHC.Swanson2002MBE/README.txt create mode 100644 examples/MHC.Swanson2002MBE/bigmhc.phy create mode 100644 examples/MHC.Swanson2002MBE/bigmhc.trees create mode 100644 examples/MHC.Swanson2002MBE/codeml.ctl create mode 100644 examples/MouseLemurs/MouseLemurs.aa create mode 100644 examples/MouseLemurs/MouseLemurs.nuc create mode 100644 examples/MouseLemurs/MouseLemurs.trees create mode 100644 examples/MouseLemurs/MouseLemurs123.nuc create mode 100644 examples/MouseLemurs/README.txt create mode 100644 examples/MouseLemurs/README2.txt create mode 100644 examples/MouseLemurs/aaml.ctl create mode 100644 examples/MouseLemurs/aaml2.ctl create mode 100644 examples/MouseLemurs/baseml.ctl create mode 100644 examples/MouseLemurs/baseml2.ctl create mode 100644 examples/MouseLemurs/codeml.ctl create mode 100644 examples/MouseLemurs/codonml.ctl create mode 100644 examples/MouseLemurs/codonml2.ctl create mode 100644 examples/MouseLemurs/mtmam.dat create mode 100644 examples/README.txt create mode 100644 examples/TipDate.FluH1/H1.Beast.Nulldata.xml create mode 100644 examples/TipDate.FluH1/H1.Beast.xml create mode 100644 examples/TipDate.FluH1/H1.NodeNumbers.tre create mode 100644 examples/TipDate.FluH1/H1.nexus create mode 100644 examples/TipDate.FluH1/H1.tre create mode 100644 examples/TipDate.FluH1/H1.txt create mode 100644 examples/TipDate.FluH1/baseml.ctl create mode 100644 examples/TipDate.FluH1/commands.txt create mode 100644 examples/TipDate.FluH1/in.BV.HKYG5 create mode 100644 examples/TipDate.FluH1/mcmctreeClock1.ctl create mode 100644 examples/TipDate.FluH1/mcmctreeClock2.ctl create mode 100644 examples/TipDate.FluH1/mcmctreeClock3.ctl create mode 100644 examples/TipDate.HIV2/HIV2ge.tre create mode 100644 examples/TipDate.HIV2/HIV2ge.txt create mode 100644 examples/TipDate.HIV2/README.txt create mode 100644 examples/TipDate.HIV2/baseml.ctl create mode 100644 examples/TipDate.HIV2/in.BV.HKYG5 create mode 100644 examples/TipDate.HIV2/mcmctree.ExactlnL.ctl create mode 100644 examples/TipDate.HIV2/mcmctree.ctl create mode 100644 examples/YN00abglobin.result create mode 100644 examples/abglobin.aa create mode 100644 examples/abglobin.nuc create mode 100644 examples/abglobin.trees create mode 100644 examples/dNdSGene1.nuc create mode 100644 examples/horai.nuc create mode 100644 examples/horai.trees create mode 100644 examples/lysin/README.txt create mode 100644 examples/lysin/RasMol.txt create mode 100644 examples/lysin/SiteNumbering.txt create mode 100644 examples/lysin/codeml.ctl create mode 100644 examples/lysin/codemlYangSwanson2002.ctl create mode 100644 examples/lysin/lysin.nuc create mode 100644 examples/lysin/lysin.trees create mode 100644 examples/lysin/lysinYangSwanson2002.nuc create mode 100644 examples/lysozyme/README.txt create mode 100644 examples/lysozyme/codeml.ctl create mode 100644 examples/lysozyme/lysozymeLarge.ctl create mode 100644 examples/lysozyme/lysozymeLarge.nuc create mode 100644 examples/lysozyme/lysozymeLarge.trees create mode 100644 examples/lysozyme/lysozymeSmall.ctl create mode 100644 examples/lysozyme/lysozymeSmall.nuc create mode 100644 examples/lysozyme/lysozymeSmall.trees create mode 100644 examples/lysozyme/lysozymeSmall.txt create mode 100644 examples/mtCDNA/README.txt create mode 100644 examples/mtCDNA/codeml.ctl create mode 100644 examples/mtCDNA/miyata.dat create mode 100644 examples/mtCDNA/mtCDNAmam.nuc create mode 100644 examples/mtCDNA/mtCDNAmam.trees create mode 100644 examples/mtCDNA/mtCDNApri.aa create mode 100644 examples/mtCDNA/mtCDNApri.nuc create mode 100644 examples/mtCDNA/mtCDNApri.trees create mode 100644 examples/mtCDNAape/2s.trees create mode 100644 examples/mtCDNAape/OmegaAA.dat create mode 100644 examples/mtCDNAape/README.txt create mode 100644 examples/mtCDNAape/codeml.HC.ctl create mode 100644 examples/mtCDNAape/codeml.ctl create mode 100644 examples/mtCDNAape/mtCDNA.HC.txt create mode 100644 examples/mtCDNAape/mtCDNAape.trees create mode 100644 examples/mtCDNAape/mtCDNAape.txt create mode 100644 examples/mtprim9.nuc create mode 100644 mcmctree.ctl create mode 100644 pamp.ctl create mode 100644 paupblock create mode 100644 paupend create mode 100644 paupstart create mode 100644 src/Makefile create mode 100644 src/Makefile.MSVC create mode 100644 src/README.txt create mode 100644 src/TreeTimeJeff.c create mode 100644 src/baseml.c create mode 100644 src/basemlg.c create mode 100644 src/chi2.c create mode 100644 src/codeml.c create mode 100644 src/ds.c create mode 100644 src/evolver.c create mode 100644 src/mcmctree.c create mode 100644 src/paml.h create mode 100644 src/pamp.c create mode 100644 src/tools.c create mode 100644 src/treespace.c create mode 100644 src/treesub.c create mode 100644 src/yn00.c create mode 100644 stewart.aa create mode 100644 stewart.trees create mode 100644 yn00.ctl diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b883f1f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.exe diff --git a/3s.trees b/3s.trees new file mode 100644 index 0000000..78074ec --- /dev/null +++ b/3s.trees @@ -0,0 +1,6 @@ + 3 4 + +(1,2,3); +((1,2),3); +((1,3),2); +((2,3),1); diff --git a/4s.trees b/4s.trees new file mode 100644 index 0000000..ea36a86 --- /dev/null +++ b/4s.trees @@ -0,0 +1,11 @@ +4 1 + +(((1,2),3),4); + +((1:0.1, 2:0.2):0.12, 3:0.3, 4:0.4); + + +((1,2),3,4); + +(1,2,3,4); + diff --git a/5s.trees b/5s.trees new file mode 100644 index 0000000..2248994 --- /dev/null +++ b/5s.trees @@ -0,0 +1,14 @@ + 5 1 + +(((1,2),3),4,5); + +(1,2,3,4,5); + + +(5, (4,(3,(1,2)))); /rooted trees + +(((1:0.1, 2:0.2):0.8, 3:0.3):0.7, 4:0.4, 5:0.5); + +(((Human:0.1, Chimpanzee:0.2):0.8, Gorilla:0.3):0.7, Orangutan:0.4, Gibbon:0.5); + +(((1:0.04026, 2:0.05230):0.01641, 3:0.05855):0.04739, 4:0.09049, 5:0.12501); diff --git a/6s.trees b/6s.trees new file mode 100644 index 0000000..d40d0e4 --- /dev/null +++ b/6s.trees @@ -0,0 +1,6 @@ + 6 1 + +(((1,2),3),4,(5,6)); // stewart.aa +(((((1,2),3),4),5),6); + +(((1,(2,3)),4), 5,6); /* unrooted, horai.nuc */ diff --git a/GeneticCode.txt b/GeneticCode.txt new file mode 100644 index 0000000..df84b24 --- /dev/null +++ b/GeneticCode.txt @@ -0,0 +1,92 @@ + (1) The universal genetic code + ---------------------------------------------- + Phe F TTT | Ser S TCT | Tyr Y TAT | Cys C TGT + TTC | TCC | TAC | TGC + Leu L TTA | TCA | End * TAA | End * TGA + TTG | TCG | TAG | Trp W TGG + ---------------------------------------------- + Leu L CTT | Pro P CCT | His H CAT | Arg R CGT + CTC | CCC | CAC | CGC + CTA | CCA | Gln Q CAA | CGA + CTG | CCG | CAG | CGG + ---------------------------------------------- + Ile I ATT | Thr T ACT | Asn N AAT | Ser S AGT + ATC | ACC | AAC | AGC + ATA | ACA | Lys K AAA | Arg R AGA + Met M ATG | ACG | AAG | AGG + ---------------------------------------------- + Val V GTT | Ala A GCT | Asp D GAT | Gly G GGT + GTC | GCC | GAC | GGC + GTA | GCA | Glu E GAA | GGA + GTG | GCG | GAG | GGG + ---------------------------------------------- + + (2) The mammalian mitochondrial code + ---------------------------------------------- + Phe F TTT | Ser S TCT | Tyr Y TAT | Cys C TGT + TTC | TCC | TAC | TGC + Leu L TTA | TCA | End * TAA | Trp W TGA + TTG | TCG | TAG | TGG + ---------------------------------------------- + Leu L CTT | Pro P CCT | His H CAT | Arg R CGT + CTC | CCC | CAC | CGC + CTA | CCA | Gln Q CAA | CGA + CTG | CCG | CAG | CGG + ---------------------------------------------- + Ile I ATT | Thr T ACT | Asn N AAT | Ser S AGT + ATC | ACC | AAC | AGC + Met M ATA | ACA | Lys K AAA | End * AGA + ATG | ACG | AAG | AGG + ---------------------------------------------- + Val V GTT | Ala A GCT | Asp D GAT | Gly G GGT + GTC | GCC | GAC | GGC + GTA | GCA | Glu E GAA | GGA + GTG | GCG | GAG | GGG + ---------------------------------------------- + + + (1) The universal genetic code (74 nonempty) + Ala A + Arg R 0 + Asn N 0 0 + Asp D 1 0 1 + Cys C 0 1 0 0 + Gln Q 0 1 0 0 0 + Glu E 1 0 0 1 0 1 + Gly G 1 1 0 1 1 0 1 + His H 0 1 1 1 0 1 0 0 + Ile I 0 1 1 0 0 0 0 0 0 + Leu L 0 1 0 0 0 1 0 0 1 1 + Lys K 0 1 1 0 0 1 1 0 0 1 0 + Met M 0 1 0 0 0 0 0 0 0 1 1 1 + Phe F 0 0 0 0 1 0 0 0 0 1 1 0 0 + Pro P 1 1 0 0 0 1 0 0 1 0 1 0 0 0 + Ser S 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 + Thr T 1 1 1 0 0 0 0 0 0 1 0 1 1 0 1 1 + Trp W 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 + Tyr Y 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 + Val V 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 + A R N D C Q E G H I L K M F P S T W Y V + + (2) The mammalian mitochondrial code (69 nonempty) + Ala A + Arg R 0 + Asn N 0 0 + Asp D 1 0 1 + Cys C 0 1 0 0 + Gln Q 0 1 0 0 0 + Glu E 1 0 0 1 0 1 + Gly G 1 1 0 1 1 0 1 + His H 0 1 1 1 0 1 0 0 + Ile I 0 0 1 0 0 0 0 0 0 + Leu L 0 1 0 0 0 1 0 0 1 1 + Lys K 0 0 1 0 0 1 1 0 0 0 0 + Met M 0 0 0 0 0 0 0 0 0 1 1 1 + Phe F 0 0 0 0 1 0 0 0 0 1 1 0 0 + Pro P 1 1 0 0 0 1 0 0 1 0 1 0 0 0 + Ser S 1 1 1 0 1 0 0 1 0 1 1 0 0 1 1 + Thr T 1 0 1 0 0 0 0 0 0 1 0 1 1 0 1 1 + Trp W 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 1 0 + Tyr Y 0 0 1 1 1 0 0 0 1 0 0 0 0 1 0 1 0 0 + Val V 1 0 0 1 0 0 1 1 0 1 1 0 1 1 0 0 0 0 0 + A R N D C Q E G H I L K M F P S T W Y V \ No newline at end of file diff --git a/MCaa.dat b/MCaa.dat new file mode 100644 index 0000000..6db42a6 --- /dev/null +++ b/MCaa.dat @@ -0,0 +1,31 @@ + 0 * 0: paml format (mc.paml); 1:paup format (mc.nex) +13147 * random number seed (odd number) + +5 10000 5 * <# seqs> <# sites> <# replicates> + +-1 * + +(((Human:0.06135, Chimpanzee:0.07636):0.03287, Gorilla:0.08197):0.11219, Orangutan:0.28339, Gibbon:0.42389); + +.5 8 * <#categories for discrete gamma> +2 mtmam.dat * [aa substitution rate file, need only if model=2 or 3] + +0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 +0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 + + A R N D C Q E G H I + L K M F P S T W Y V + +// end of file + +============================================================================= +Notes for using the option in evolver to simulate amino acid sequences. +Change values of parameters, but do not delete them. It is o.k. to add +empty lines, but do not break down the same line into two or more lines. + + model = 0 (poisson), 1 (proportional), 2 (empirical), 3 (empirical_F) + Use 0 for alpha to have the same rate for all sites. + Use 0 for <#categories for discrete gamma> to use the continuous gamma + can be dayhoff.dat, jones.dat, and so on. + have to be in the right order, as indicated. +=================!! Check screen output carefully!! ===================== diff --git a/MCbase.dat b/MCbase.dat new file mode 100644 index 0000000..4f2a7c0 --- /dev/null +++ b/MCbase.dat @@ -0,0 +1,37 @@ + 0 * 0: paml format (mc.paml); 1:paup format (mc.nex) +21234567 * random number seed (odd number) + +5 895 100 * <# seqs> <# nucleotide sites> <# replicates> +-1 * + +((Human: 0.056647, Chimpanzee: 0.071554): 0.028080, Gorilla: 0.075518, (Orangutan: 0.259783, Gibbon: 0.400727): 0.100618); + +7 * model: 0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85, 5:T92, 6:TN93, 7:REV +0.88892 0.03190 0.00001 0.07102 0.02418 * kappa or rate parameters in model +0.2500 5 * <#categories for discrete gamma> + +0.25318 0.32894 0.31196 0.10592 * base frequencies + T C A G + + +================================================== +The rest of this data file are notes, ignored by the program evolver. +Change the values of the parameters, but do not delete them. +evolver simulates nucleotide sequences under the REV+Gamma model +and its simpler forms. + +More notes: + Parameter kappa or rate parameters in the substituton model: + For TN93, two kappa values are required, while for REV, 5 values + (a,b,c,d,e) are required (see Yang 1994 for the definition of these + parameters). + The kappa parameter is defined differently under HKY85 (when k=1 means + no transition bias) and under F84 (when k=0 means no bias). + JC69 and F81 are considered species cases of HKY85, so use 1 for kappa + for those two models. Notation is from my two papers in JME in 1994. + + Use equal base frequencies (0.25) for JC69 and K80. + Use 0 for alpha to have the same rate for all sites. + Use 0 for <#categories for discrete gamma> to use the continuous gamma + +=========!! Check screen output carefully !! ===== diff --git a/MCbaseRandomTree.dat b/MCbaseRandomTree.dat new file mode 100644 index 0000000..d3ce289 --- /dev/null +++ b/MCbaseRandomTree.dat @@ -0,0 +1,45 @@ + 0 * 0: paml format (mc.paml); 1:paup format (mc.nex) +1234567 * random number seed (odd number) + +50 10000 100 * <# seqs> <# nucleotide sites> <# replicates> + +0.1 0.2 0.3 1.5 * birth rate, death rate, sampling fraction, and mutation rate (tree height) + +7 * model: 0:JC69, 1:K80, 2:F81, 3:F84, 4:HKY85, 5:T92, 6:TN93, 7:REV +10 5 1 2 3 * kappa or rate parameters in model +0.5 4 * <#categories for discrete gamma> + +0.1 0.2 0.3 0.4 * base frequencies + T C A G + + +//end of file +================================================== +The rest of this data file are notes, ignored by evolver. +Change the values of the parameters, but do not delete them. +evolver simulates nucleotide sequences under the REV+Gamma model +and its simpler forms. + +More notes: + Parameter kappa or rate parameters in the substituton model: + For TN93, two kappa values are required, while for REV, 5 values + (a,b,c,d,e) are required (see Yang 1994 for the definition of these + parameters). + The kappa parameter is defined differently under HKY85 (when k=1 means + no transition bias) and under F84 (when k=0 means no bias). + JC69 and F81 are considered species cases of HKY85, so use 1 for kappa + for those two models. Notation is from my two papers in JME in 1994. + + Use equal base frequencies (0.25) for JC69 and K80. + Use 0 for alpha to have the same rate for all sites. + Use 0 for <#categories for discrete gamma> to use the continuous gamma + +=========!! Check screen output carefully !! ===== + + +A few interesting trees: +For TipDate models: +((A@1970: 0.3, B@1990: 0.5) @1940 :0.4, (C@1940 : 0.1, (D@1960: 0.1, (E@1980:0.1, F@2000: 0.3) @1970 :0.2) @1950 : 0.2) @1930 :0.3) @1900; +(((A :0.1, B :0.2) :0.12, C :0.3) :0.123, D :0.4, E :0.5) ; +(((human: 0.1, chimpanzee: 0.1): 0.1, gorilla: 0.2): 0.1, orangutan: 0.3); +((a:0.1, b:0.2):0.12, (c:0.3, d:0.4):0.34, ((e:0.5, f:0.6):0.56, (g:0.7, h:0.8):0.78):0.69); diff --git a/MCcodon.dat b/MCcodon.dat new file mode 100644 index 0000000..7b4b0f0 --- /dev/null +++ b/MCcodon.dat @@ -0,0 +1,99 @@ +0 * 0,1:seqs or patters in paml format (mc.paml); 2:paup format (mc.nex) +13147 * random number seed (odd number) +4 10000 10 * <# seqs> <# codons> <# replicates> + +1.5 * +((1 :0.1, 2 :0.2) :0.12, 3 :0.3, 4 :0.4); + +0.3 * omega +5 * kappa + +0.00983798 0.01745548 0.00222048 0.01443315 +0.00844604 0.01498576 0.00190632 0.01239105 +0.01064012 0.01887870 0 0 +0.00469486 0.00833007 0 0.00688776 +0.01592816 0.02826125 0.00359507 0.02336796 +0.01367453 0.02426265 0.00308642 0.02006170 +0.01722686 0.03056552 0.00388819 0.02527326 +0.00760121 0.01348678 0.00171563 0.01115161 +0.01574077 0.02792876 0.00355278 0.02309304 +0.01351366 0.02397721 0.00305010 0.01982568 +0.01702419 0.03020593 0.00384245 0.02497593 +0.00751178 0.01332811 0.00169545 0.01102042 +0.02525082 0.04480239 0.00569924 0.03704508 +0.02167816 0.03846344 0.00489288 0.03180369 +0.02730964 0.04845534 0.00616393 0.04006555 +0.01205015 0.02138052 0.00271978 0.01767859 + +0 * genetic code (0:universal; 1:mammalian mt; 2-10:see below) + +// end of file. + +============================================================================ +Change values of parameters, but do not delete them. You can add +empty lines, but do not break one line into several lines. + +Note that tree length and branch lengths under the codon model are +measured by the expected number of nucleotide substitutions per codon +(see Goldman & Yang 1994). For amino acid models, they are defined as +the expected number of amino acid changes per amino acid site. + +64 codon freqs are in fixed order TTT, TTC, TTA, TTG, TCT, TCC, ..., GGG, +from abglobin.nuc under the F3x4 table + + +* Genetic codes: 0:universal, 1:mammalian mt., 2:yeast mt., 3:mold mt., +* 4: invertebrate mt., 5: ciliate nuclear, 6: echinoderm mt., +* 7: euplotid mt., 8: alternative yeast nu. 9: ascidian mt., +* 10: blepharisma nu., 11: Yang's regularized code +* These codes correspond to transl_table 1 to 11 of GenBank. + +=================!! Check screen output carefully!! ======================== + + +(1) +mtCDNAape.nuc (7 apes): +position 1: T:0.20517 C:0.28293 A:0.30784 G:0.20406 +position 2: T:0.40979 C:0.27911 A:0.18995 G:0.12116 +position 3: T:0.15105 C:0.43290 A:0.37123 G:0.04482 + + 0.013116 0.037590 0.032235 0.003892 + 0.008933 0.025603 0.021955 0.002650 + 0.006080 0.017424 0 0 + 0.003878 0.011114 0.009530 0.001151 + 0.018086 0.051835 0.044451 0.005366 + 0.012319 0.035306 0.030276 0.003655 + 0.008384 0.024027 0.020604 0.002487 + 0.005347 0.015325 0.013142 0.001587 + 0.019679 0.056401 0.048366 0.005838 + 0.013404 0.038415 0.032942 0.003977 + 0.009122 0.026143 0.022419 0.002707 + 0.005818 0.016675 0 0 + 0.013045 0.037386 0.032060 0.003870 + 0.008885 0.025464 0.021836 0.002636 + 0.006047 0.017329 0.014861 0.001794 + 0.003857 0.011053 0.009479 0.001144 + + +(2) +bglobin.nuc (17 vertebrates): +position 1: T:0.13930 C:0.23080 A:0.23652 G:0.39338 +position 2: T:0.31005 C:0.20997 A:0.32802 G:0.15196 +position 3: T:0.26675 C:0.34191 A:0.05923 G:0.33211 + + 0.011746 0.015055 0.002608 0.014623 + 0.007954 0.010195 0.001766 0.009903 + 0.012426 0.015929 0 0 + 0.005758 0.007379 0 0.007167 + 0.019461 0.024944 0.004321 0.024229 + 0.013179 0.016892 0.002926 0.016408 + 0.020589 0.026390 0.004572 0.025634 + 0.009538 0.012226 0.002118 0.011875 + 0.019943 0.025562 0.004428 0.024829 + 0.013506 0.017311 0.002999 0.016815 + 0.021099 0.027044 0.004685 0.026269 + 0.009774 0.012529 0.002170 0.012169 + 0.033169 0.042516 0.007365 0.041297 + 0.022463 0.028792 0.004988 0.027966 + 0.035092 0.044980 0.007792 0.043691 + 0.016257 0.020838 0.003611 0.020240 diff --git a/README.txt b/README.txt new file mode 100644 index 0000000..ec5fab2 --- /dev/null +++ b/README.txt @@ -0,0 +1,25 @@ +README.txt for PAML + +PAML (for Phylogentic Analysis by Maximum Likelihood) contains a few +programs for model fitting and phylogenetic tree reconstruction using +nucleotide or amino-acid sequence data. ANSI C source codes as well +as Win32 and MC OSX excutables are distributed. Win32 executables are +in the folder bin. Type, say, + bin\codeml +to run the codeml program. For UNIX and OS-X systems, go to the src/ +folder to compile the programs: "cd src" and then "make". + +The documentation is in doc/pamlDOC.pdf. The program web page is the +following, where the archive can be downloaded: + + http://abacus.gene.ucl.ac.uk/software/paml.html + +PAML is distributed free of charge for academic use only. + +Ziheng Yang +Department of Biology Phone: (+44) (0)20 7679 4379 +University College London Fax: (+44) (0)20 7679 7096 +Darwin Building Email: z.yang @ ucl.ac.uk +Gower Street +London WC1E 6BT +England diff --git a/Technical/Pt/eigenQREV.pdf b/Technical/Pt/eigenQREV.pdf new file mode 100644 index 0000000000000000000000000000000000000000..5f90aa681f52220e2724f55787e3cd4656f547a6 GIT binary patch literal 146138 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 ^1-&jy5)R z-&{4rWo(nuldnfbwm8J?8S8=emf=MN8Q z)!Q&@<)B3xm6^k*Mjjnf-$r`VEijYAW?hv#^hI^k6z6MoK__g~o~`6#0Zhn5t2m^y zCgf8~NJLlL(VP26Tw^rHFRkxQJR5v@e9i&y%1tN;M*B(4X-4WI_`1)@Z+^kuhwGBT z)}ch=y_ksaZbdHg1z$q{?US!vwmyrFRWZS^NAB)pFJ@>Bx|C=wq6^0OXj@&o&)4dQ zk?FQ06ttnQ){+kUq2DyWAfw*)w@`qNJ3VHbqGHF~el&B<7cX+1wD(r-jkhA#+#3&Z zX1I)9V>G3#bX*x*E+%ig4gV!S23k@H+K(0D=6h=WfreUn-5GiJYgwdigbO4Tc)nN3 zoTpm^2UvQpya;W$!)V;ci&d8tDBMesT$Udo3=LKrBv_Im$m*t-W}HxZB2V3{!u{Zm zkZEGd=PPd8kY1MpLd!spy~docmYxaH95kdC2K7(lm1nobT;i3du5V!@LB^Ee|4K#w zvQzxWHjA_wu;*>%>iI~D{V)4|ilQv4o^~b*x7VC#j?H(7ZO=3{7ZDD3JJlO&=deex$l9IU^4e=rmH~7M^c>_=#ID zNc{D;2_B^fFGmz$0=DCgiTz8Supht$-m4O_)x>;B)4OnEVAP*R;PrFw&s@V zJmwhZ^$)qV42?I(eZj00lDrj9)oJKyt;#v#k_*;u7r~XUIvEZ#ELp-ar`^lSwdQLZ zR&eQUY$~*!hn>Y;8Pl-c3|$PY!Xuv0)UKx&Ge?>ZpBNT>-rAd#9aJ4|eBQ6r@vM|l zE8Sd?No&ZhQDsi=yIXaqfoK?8+?km;G}q>jk49b9h*x9uk^Zn@_O|$gdCYet(lM)T%P`Z~ z2WL)As@oJ{(hv{wc!z7TtTTNi3Ib=P@47BChpE_pqpoVtNI#!m*xf4{TocXq zpBdrZh_JF~ho4w@s8N3jGA3}TVQT8Xl%99zN@we9aj8jS#1fl-+-&*MsGmcVaE6B> zZ~#pyx>;9bk>FagvNpD!Lq#(d8@v!hNExJP#27J`%lo(*jHBLX1{jO)}oiO>OT z`Fi5~)H2f&f~pzvoQoa80go{Q!MXB4Cfk8?JaeU)2%mB|z2Qas?U%OXEBe(-O%?2l z)Db*!k2phxso|OwIhEAPnj?J^>)*Uq6ySunNnfWi%^p&(T4=w^tf;IPQf)}|NxZZn zeq5IY9dFGW_L}DIU_{wv(Q}lW=+U#09?eM=qZ=$<;4ymstlZ%FB=a{^O!#{LgaH-< z-n^9ctgJzfOUZS6wVRX|6WwX1VZ+R7kqiThirQ7_B{aEz1 zg!PjrRT6p$xRCc#ZgvDuQ;bT@P`h2}0;tgp<)K@hh3R@unUwZR+9pZ!$J6k`wk?Pg_UICHGH1}1aIV;$jPhBE>CF7bA}zTv!SPQcFm=Dc@@lGYlOmSu_cD^u zLzZ+*vrzkcHr%PjecPWUX;Xfm|M}VXr=vabwy!_r>rPI~<)E2FV@QDv89U6=;`QAbs zdRcC$o*Fh;TKh-;&2K_qx*lIMKAfHtjg|nTL3huqd_$i36w(qfLL8F~TC=udk#yuf zKEDdOAE9)Y4JB+3ZIDI`$LzZ^d#gX0wIVb750NPQ3XX$`uXik^&_%c**LT233}zh)p|U-5_&2X)=4!N8^{HfP$zrC5H&73$cP`=9A=;& z)%pUH{$nDKsU*`V^@ErJbR?lwymA+zVp?vTef^GMP{oB{FA(1txNM z2n^*S3mCl#w&n9cDlZ2IxR zp4cT(MhFs{ng@R?%MZy16MjCD*YC^HzS(-5a(j}Qj5G>9k zRktW?XS+wvT^A7qJ9d*&MOc45=Y(c|lnR_X=h41pwLj)jbA(}^&|wkztYG@SWk5fuL8qR!oN8Br z6@1zLl!Cb=EsvLj>rnUpyODWQ=Q|ZGk5?6G<)hGBD;g>gW^LJuZ_lb>wZrZ|-r7d- z3E09_YnM~|^h*t`ToQ>myok8lv|g*DZ2!Go`QERnBn)BobeT{ zWU|RRvlh>|YLgGVNxfE2$Fwz*AwI3VS!WF6f$XB881JK04=Dx6-7r1)eCTmd8e7Az z+44O<80_3rS0^94m7U8q*6h-f1&uP0-U+kpQ{iq~9TDl5h(IkD_++1SX;j?;5_YWh zdj(y|D!HAnqN(d+g%vdyuWAbF1Wk&|>ZBEz_SkS(l!>?9;kwvQMn;?yAHU6$Bi{9L zc)8XE#*%)n(OWiBr~GNc=?GZ`ZJF)(FzIYufk-FOh9h1t-$y6EJ)sVx8UNg6Y46cpzip@3aG~sYnW+X9B!Ou@U1{}3U+JjM?rm%E<`6S=BbeI0*U!$!l z;oBCCEWYmV_FH#r6VOc33iqP(_upyO@1oNumz61!oOj5P9vHqC8DI$7Hqh`QvKv^N zWaz_Fp=#0Hxv%)%mO8~xO3y}TuwnR~!e%R@eo|4=V^Nth$1g0haI8{38ypI=l{H2m zS1W^j?B-_4IYxd*{)jV0e`KV^MybJnr53~s@4r$Dgoo$9Pzz$YJSG{Pwtz6YlH`E(6Kqquig>w>pAg z$ru;1qgm2u3%odTR$anqT_u;+iz-Hah4>2cooL$zwVc7Qjz-@d&%BjYLmrq&+ z=y#$hsA!uETiM@R?PU^{fbdV0Jv-`^M~DvWubWFroftT;66S(fq;Sx<7H9>C4pQ7t zM8H)XP*i2;N`Tw0%c0LaA2@J};&vrk;!sTc?XLQS*6ycvPfw%m(rq8kU>UKd8dRj9 z#Pm2*8;aP8JGN|{pTFg)ndzrofu!se+w6aB+Qki}ln9oX7_6|Te2pJ=b|~<{(hD4i zVnvj)lzcE>&u!{>9>cu^1&j*p)SNJIv(#mMc)iF6Qv5J$`x+nz!!hcfSc`erovP z-fMxQ1$55C#2&B7(qxkPfs4FM70$r>xm55+_^bwImDNA6PEB{XO*J3qy+NWMmcp(E zPuO9=avURA%w>94DMQH`pw)E#stdE9a&tZqEv!CstBJB`^KOc@kOM6p_h5_oPqF36 z8Q*`pwNiiCW3!K2?cE{Kzr0P`sQUKli!pr>jRa{WW6+V+mP$W~)+y2>sxD>gG$Ec#m)zDM%ZSQW_(XbUHK zd_lT>neQ#5(#mKsnuwbV%v;isbMb@%Gf-8B4lnWKTw8p|i;h!C{F7dtxa5JXf zO!j>w>V27@vRG6-JoR_2vcXS7biS;_M7`Vpk@&d6R5lau%5;*1J%a8SyHXjY3w-kJ zCAN4^Ld6}m&R_&GdSTfarT1YYD`!tYR;gn>O(=#uvQV3hjyx= zu81CruZ&UysE%U9NT$Spm24YJ<~|eh?eNL>FVpZ<=1||nPMHM85Ir~%=Q^>-=6ZK} zm=+Ibtw3S5`Ak^-9qA#a<_5=?qHybvyTDhpcz$2Jh_+}5jw_K+ko;P-oBoyc{`LWd zqNu#s&DWs7S0^_gaQt}z{>Q8Q-(Sr_ApdRQm#8^lPbP`ia>&BVg`xEFgL(^1Aa1mW#ODYo4^S67Ey*~aN7m> zJ(!I%HFwXFl?7%Var$ge3NfE0`*a#+Me-;Pvh1A1swn-z#Y86qMV?~)Zo;2{Za`%vKdr#g}2-uY2~H1t0XTYPwa3M{V9=+^;tywQN)w+@-QUshcZd zr*a?sp;2BlciyvewVU~J*iU_C=J3tayAH9^ZZ0n8= zS%h)|yC+ymYNv)L?B_SnMt*d*)d1SX3OWHxXh0+mUrjunj-E^!q3~_lcm)ws*>Vb< zPx)xjzPULGE5f|J;ml+WpVJD1>#HYcHA`28y^ZFX9|%n8KZ5ey8k4%uFt4Wky~k~( zY|#vhGis z$V~f;Ou_G2<;Rq}N=J8H1#JZ@-<0;fT08t|*|T5%KIN_Ui*uwPQnQgeX6R5D*qb4m=vuGtFPN$DtcCr2}gok<_Vjp zAbGmLOV`x&fO6q>g>%06cXKLK2j_zr_^X&01q6+jkvTTshmPzSYaTSXc4eU2RbzB2 zxx+q#%EXVX=)c)>eKzWD?s<5&FTrg@9UFHl7{yIg@>o2U{yx6${h`4@>v09g0d7b8#EAaa?qw zSN)Bm=?N5V2wG}0sZld1OeDkT6eDdh&)3IJ-<-1hWH>x!OHn@_3BGFRdy=(Pg!AsF z+}rF2oO;}TEO802aFY@ff*7~YU5jiLtZ(;*!1zzQjPhUj$MwVtK9=iFk>yj8*mmM8 zF{`?+bsl+UCRj*86ozK%NSrTP{hDFyqseJAOBtP_jkF#EY9adbIA0TttIY0YYp;B9oCL$6_b$> z)k~9H=9>IyyT*iOZdMTnpdExl3Wug<131n->zdxU-5p4?9h3E;R zlds^>5Y}5&IbN2&1I%ghIiyCDUhO?eVjtaWf2b)fw(2x9f6YKhY?mT| zDPg2k6wq`2=^Mg{P2ndz(zVp%^d{ACSj2d8#1c$VfArR4bKC6$#9w<{*?ky&TF_X% za=YEv&|F5%l2oU-H#1Hc>!tYa6!)>iK1dW}m}ofA6NU6An1>_T$|1fec}h5H_LPF- z2uEs2&4k{i->^!{_Ko_uJMiBqm@Bb?&+I&y?up-roo-Ryk9=2FDt|Y!Xt=)hV2D)s z7XIwg2Yo}^_g^Ur@-R%cnj`psU?`Lex~2~E97gfoA$%OvXJ0X<9Ug>=mb+pVztPg`uUD#X$qKJ`7RHdg0x>~2C5eF5*qcA^!1wcbuy(Xxmyz9 zd+~nr$?3~WUSvsW#aG`pY5BtLI=VFNU&SFqY?CJ8(6{{Z!o~Da!~)N8eU#`v1P%KWmy)-sq;YyJaM+3FO_ zNH^EPBR9>?NN^qRa}CGLc9}%E+zyiT73FyDT(yTI4L(xBTgUX}9QZZT5KvOS0KSDQ z4^siL9Mdb4SMv=_r4@q;A@BEbDkG_e(FRgE&$TqgJ?th`M0v)oS51QsTJ3YRn*Lp%=5%DqzGkn-yaiyK1?#wu5GhLn%v&|v2xlMnd9iO^Hz1n zbr<7Hj#2D`Lka}F2HsyF%`K%c8;p0xPhMr7k+fkyNcZ&JDl~Go>@|%XN@g4bv-{|= z?(+6nr|Fi2*|J1O%FpqJ9v=}>3LSMi75d)!{`A)Q2Ku|!x#u6gzIeCmD*sdtHA%|al-zE=zjZ;DB$B`F5t7}KhxfV z28Nod=7U!4fC5|jb~Yk*C1%+>>_$pLWz?uq<_W>6D=P5^pmEzT{0(`xl=16yZ1FXj zWwxKk=<0nXrSQsF6}jhBDrM(pmTIkELadDMx)-E8HJ#?No{H2c7 zt@#@H0a80oA_{uHf>M9Ngmjdaxe{X;&Dtt3ruP=i zN{(9%J;!FHAmn@XO?yLk52Y7-!Ac10juEniKMFx~^;C4n{apyZYwH3<55r8!q}ePL zeOn8WO;uCdi`lJVOVr7;X6wFUG)=CHGyl{65^?oMUAjai^r_ph3XX?)YTrUExsP$v z;|9JQG^@WI&H;Z(%bm~=iUr?eh-7Ub%`;BDkM`;NLe?!*CHrX%@ms8Bjx$ zd*LsiE1V+m`SXVtXoptW7Ufe79`=m;OWv_F>SUbAG2Z(N#vcx& zWP-Dy=Y(J6it4qa?<$qzQ07a=6`sLiI(yhEordytdZIyC9ynWO>*26`-?TWVH0OPa ztV!(qJmzx`8aBnY6H4gAH`XBaGb1(2mCNrcxVL+|1TtCesAi%rYuHMdhSnx12E!iC zgwL`%>1dZi%k3&bt(o%;mdkYv-tXsmx5>?~zI)tVO_EfT& z(_GfP^&?N+#v~Q{enrze$FAF%-Q(Zbe#}26cK7g^?%Z_7P^E+Hm$CC#lg0<;jXG;tO=XmG+5G^rhMG=`SS#x@@vg~<*Q+;2E)NbEy6C; zT1eBN7smn_iR**RJ>_`aCt0;Ec6WE(TzqO#M*XrN6!dlLPn)m4-Vry+>+lcd8@yB8 zW7cWM8`OK}Ub0?|lxdf-SHQF-=;&>_oYTSmo1tbkjGJTqk0O7(h` zPApuj^Hbj2ygV9XY8|PZ5RuFtq8Q$)5O6H9uJl_Dec@f>YV8mu-CM8&yuITTKT)T2UqIBOV6)>C+>QNhOGo}60kJ7UIRp)#f%Uo549da$u*#q@?k zbVk?5VfSb#*QGH=_(te(awQ8Tb%to}4%v;}Qy}$-888{aKQj?XeBN>L0Lm^-{-^=D zR&k@TGF1}yIlE?D<~nBVQkwm%asT}FBX2U7EBD3iF+$a1y6D3(g7{_TXQI^tG+)1K zUmA8_exI4&{&|pqDZtmycl@ozR6}()dbOz`#E6A<3U*@q5&N>2!0a(bz`^ye|x+Ldr(o*7ur2>=%TV65bI5uR-y$xpIe?l=8@XoC4N{KN%0hj7(Q^Kh;g|jXJ=dr!0Mom_0Ib z`AMEE?d?rnX?+x;K*hB}cKr5IIJ6@Bl=Zs5V1x^O&_W>9P^E=FrPkBLp>4Rb z()sJ>Jq&xUsh9qV4HOWb6i-9B$GoG7J1vh!Fzz|$XZ}F3c%n}dHu9M7Aq5IaikI6H zD53&a54>q1zizMcRl()YwYC@m`l6SGoN?o8s`|jHtWJDv9|SKv+o+_)kET3C$|J)XbFKx zkTE7K#^QPjaFug1W45KFbWmfbRvr5>Mt4+x#M@79N|jLOO^dBOT#)MobwOyCK!0oj^BNRQE|#TWfWR|?6Vaj%su`U~HGxtmJ^ z^9__M34YIEjUh>Y{`gS+!MzW0Ar2qB7j5nFl$54!<4iCP+9(MLi=f~ve&mprQ>Jg^LcZ_^Z3xP7Ty|#?%%@@-Pd;XdZqO9Dh{E*a{JX#kjri8wNd9+|}7T4|a z-DX7X8?OGzqV9gvn^x~qW|@Hd>>rSP#DgOuqvFxUSpv;0LkWWi)yD7WUSovlPy{Wn z7C^?ohcR}W%wef4ZX>_C^Foc;z$CdxQet4rx?-6HJCIq5l&~zj(9k;KZI`*Surv9w z7b$*E2xFeQ*CF1;qcxhsFbJarQ}harX&w#j6!d_FbBW$33|# znAH-C;!F|nzG714v@`#wOlNh-?bBPWLYB!@Itm(sN%*uPN+99~rt0{2ssdx`e0DEL z=me@26TVkBf9Mzf5!=^=Ny^`%xtVAeW~+0pu%M~>_J~71k1QoCsPW+I76EoN6;IAY zv~jd2wZ`KMGS|KF>?xTf@04ziwIPEIt#kYn#+G;1+Wj^9YqE;$1n0oBW$3B*_U$=^3?V#x>_TrntIdpgNbfW$yg@y6^2RUe%{)a=vm{ z)Dt+e-^-vPW2a~l+@BhOmM^a#M-H}KEI41mhlxF(PbTS_4sx;Gjq-NY=i8lD+g<%x z&_(Rq7|N$UxwMpVV&rGJkr3Jys4H4E#!!-u0ArszEl@MI?IPygk_Id_bGoi^VLhkOY2fW?M*%ZyRoj`WUdcAv zwy2B77yZr6R=2vd+IOmM8_ZEGrMMLMDU~f|owd3zZo?^*r{EfGcz2UBNZcAOGv4z( zywpyuTO&Mq?lt})A;!k*DnUXjm)PSl-^0=T z4#Wa!^8v|NC#@Pj9?}99^TF;r$s)}CaR?(@+gZz1dHY>|A6%NtuGFAALQnHgw!V(J zRUjM?U>`l?9+b8bDOPAdvzIaQJEB_=mO(@duZhuB6mF=6vGP<4McwGD`6dn-kzNQbhpoaOXzT43GU1-%}8bK4$wa zQ3EW}8~*_l(=|;CKXXiy^2vw!Ry3C}UKHZoAE8RPp`RER9wtcR4$#{4YfQ*J+Vc4s zmNr;djavpQ6)F>T#KmnPq`gH6X~ux2A~S~x8Jbp)iWFddqRbooSai zMfzqJ_@de`@DePshk9I@gX|k@;eoU}hQ(pC8dSDwICX z-){e4hIe_VD!|F;h0SI#rCb*`su1`mUQlUTn0KFuSTj*F?K;g)DbDLRwCkoyIQ5Qb z6`fBV$@bcPMDUCG@d^EC=rMQ3>0*Xxq`y!^T^bHx)4UX35c zx>r$!=uF^6Y6L4s*E5_T`Nb~0Mf8O?nlvdYLIJk?L8NB4A;a_8lBNSiL zlU}R)GUd?vZp7E-m5rtsi|WD}1Z8LmE!+33wC>Q+1%yRMRx#%Izld&{?h70XE5K2R z`Y=*gfot_dgIC^E>Zi>7=NC{_-pr;_`5C##A%f6>I@JPLyc~2=Swem?2ZMJm4IVeY zeCEy`R5zKj>M(k?v~khuGV)Y9QeT&LtnGu51kU!msW(!<9a*F0>7|x&um-s$m=zx; zqOlr>60TH+d`_RjTEVs5bU!6U+4&p6YuOy_XbVFX4gu(lYG=?N2oW+9@foY9rU~&=$lfC zJnHiUOhRJ2$Loss;I~I-Q(p6!(YcGswbi%wN4ay9$t}r-+x3lbphXuoNxmP9Uot1f zO^`jTkx|%tR_JXnXYI^uQ#D7eTqSNn$hHhUCaa<|(UEb&xptjVGV#MH`fRA?UrGrk zl=YZ__IOp#a1gw~(6lvZbAPHR+0duH(;{Ey3>rcs?4?-5L@k?8i9vqK&xVuCPd)!4 zIfbHHXGoyZxZWRX{lZAu)eepEh~@zSCh zQ-(jLbs02$csqku@yg0$SgfXye*As}4_o2xjN(1*XcXl^vd5tIQuQS2 z?su;Q@`#znql$=%$8;LfAL%|7xBk+CPqzNfYlAs%yoylR|*kg}$K^0u&-RHW*oBcF;} z{|7rj#J?(0CMlqd*xU7KTB{Ax64wYV#aN*$NP97F4fGD3s8pS#E!wpGsXju**z;p| zfqhLMq{Vs=GDw@008PN=LrTD&gxsK!eM=dkH{tsRt$%N7@$t<(FR`Ep?w%! z_o;*SP4JKh?n4asB;61Hm@AHv)2>PTMApuSI3|D>CBQS*RbcOR`dJDfjvmy4R0h89 z;18A}<_LHAxHdw~u%{J#`4JPxc&*k;J8^fjygy>$K8)o6!b9{S$Ed>&!uK*m}Y%s+fQ4Mczr=1Un7CgeMS0Dcaf176Z5DIa;Xmt&UWhU1fC zgyREokf#M`H`~rWaEx=DWqE!B>kb1|z$O=T3HXma)^W~o+_If>dn3L$P8`WG&N-Zk zeF&#R_14b>e)u-Mvnal>Dcs761mO!m67&swiz5=&dTYmypxfL zfjIlb9NXK`F5-H?ISH6t7dSWPOZ=H9rSfB$vxS@&3nloB={9QBTj=9@f;?F$xwgpI zT_7EP9m%za^PeR+uF1AbWIiL-|63{R7HWrc|4wW;QaMg-&OLE1az15kZAH9kubI#~&if&1>pohc)zN_JqSbQz2I|;()T*1*q)b8oBjn%F<~=_~dx9!8 z1@-PFyiphI4`e^Df#g0}XP3aM?&6 zksFfF!u&?hWsH-3G5bbsR-Z=Qc$e}K^Eood+~BtWcMzd`hI$nFa04~tmy{#>xb|n{ z3i)0%;VnW;xmF^U@HWY@dtt{e%4cW~+JDn#IP9a-lh}kH|!6% zej}!H`HceK#jYrQ1^3qFsfOQwpk1hceW-t}z#d>H-i$Wn-}e^C?=swz;-EfCqsaT; zqXxe!-=0Zjl{P7KeZ>BYKB9a*14o}P7eb6?##l1ukNvOx{|}V6Q8UN^{CSa~yhFPg z@SEJzq7pD1iSbkxaiA3QT0JCAGVm?t#kb)t;2FgB>p(Sd9N_PzV)Tcdw-fgASQ#vMy3n`x*`V)y=lQ<# zL+ZuOi+vY|)ZZvY;ypTo{R+i0Mqd0{*&dZ%5Ou*4;T<=|gX8Vv@$s2)mmw8v{L;8?j0>9bPPI>6nwpu?)1n}l zGw`tQ6<`o(tIHF$*r68t)nYHgZv`+RTgOFhaI-LmUl_KACx&N+bsF{#R}Ke<+lOPr zF3Ku>80S%sfsPm&+9EnB9Zvc+h5tQQvXl-C;C-y-Dia#r}^StWElp1&6Xi zmQXXITbpr7Arv%>betpXNu2#HjXJl*YOA zV)|P8X8KN=I{ZWk=-HbJ4*R+x;1R#s{AEZ~XxwlL5WI_=l#ah)F1$)%HBCsC(Dovb>Ubu#Hh z>ts+mfd2$o1iTA)6L1cY1-uG41Naf(G~h+R3}6~C1~>#51&jdp0@8qoI%MeDj$JuQR&lN{iIR`14xB3@lSHyZ&D95z5XGIjXds#6Qt6%x z82_Lbq&ec`0!EMaz>qc3iIQC5mY&OyMdK%4DA71`;)UK`G4Son@y!REOdY-qIrrU* zjPwyBJ;s16*#V-ACdz!oWbz^ho*zcT$vvkAOVPIs;{WlH|5j-k=}_TYJr`J{_HOCZ z`7Od^gkBGpczab*IJ7xGga)tU*^(>p)A2eo1$uL4SL#rTCXCi(0WrVU z{rZi&#G=Vi)zK$nRj%?Y#K-gRM=af@}Igi|&V>E$dO;9E`gV!b}b>Cf3 zvMqzKzqFi!LT>)%7h#Gb?Pn9l4Ci4I(oa@+!(GJO#RU9He1@pc$jf*hesNcC3Aa!@ z4rOhq*6OvEd#zpr`qD!#eyLFCU&v!v1WPjy{))F!C8!vAQEJ{yq6Pd%rP}$LWa7_o zogzY_!SK)-UQ|Q^iGp5u#1F+A;%)JP$cUm`W-W{b`^U$YXJWx;tg)a&_m$GZC%SJYQEeBXyNCA;-y1dzpWn=-?%ks?U2#6l`P^Poa@lRx@@TA^a&pMr)n{nO9k9{AO_J>c z&MWwz$cFE~B}p~y3;3SGBMyf+%yBgXqo@YgEZ{E`o1_NSxVl{(P!Fm{)gP*7RZb1| zFORK&>-xu*!Ivvbnn#yoR(s4^2#Cd?MDbMu_J5|uEI5&C-!P@Z3xcFW4H!? z6)Bn#?V^M?gFuU49BNU!jj<4n8%M%XP_omE7D2yu(~JenW!l@IRtI%&F4I!=vZF z(|B-urDeTyn`2xV*ta#ZG2XNCW0L_JBS(Ti+f%Z)e?vPQRd$dvcES143^T46{hBr- z?u`JbdGe_ChXP+i^Nssj@hPY0BT8)_;ttJh(h zM{}!2;s{j=vrkrvh$0(8Hr|E^vgi}zQ&= zj)gg=B^22{i_wu^>^zCrogSKKL-@h(R?YY#B_Rp5D>1~o1?1+P_VxCY_Al%P){gB@ zae^C>+$V@X#%K5(Z$P}jd-xEa;s@bzk-x@sJmfRoHrz+d1ug~%uw<--1Ef3xgG zXf7e!5($|zg+g;-&K3@HDAXJ!{iOw*Y)p9jOeWi=a9<*^>9;noKNL2|jnPs^eRGM^ zS|Aj~4Lm_|rUZq=#->ibzO%8@Imh!>1e>>i-Z5tdQal;-3c7}FqC1ERAq5ckC^KYuF1-6Ovj(^{G zFWcwW*=L{gaAL=f?Kn7g?8J5;*yli#K!AjIlEx*00-}Hj5rqsv18Y`RR8yg|68~$0Dj}tG0EsRt7v*+!g%pZHdJgEaAnolFn2j8khBZeBuj9-fmU6 zCOfCMx&3^fIVG3hYp$xmylg4^G$QYzcZqK19*eDf@dYA1loDN1{&l zca4^mk~aEu2_>bZ;+2@@dca5hKZ+aHnb*9wHPKc@G6A1IW(eC#jz$T77jq2JcXAAa zvFMiQ6AdqXg4@wgU~<)OGuQM69`+Eb89`oq5c33XKqe#QIk+gqU41O|KSg0UR~ufu zv^JbsyQn1-jjB1g{XpR{^9FYYxg2?}C*ku#aizp3iRP&itzfno#?~ADCmD3-Ah}A$3{V@ed^|alYd_b?-n$Hw7mU zYJ#${0lkQh0ST|5+vo%I2>lHip}lv3potz{vJHNcD#Gs}N`|*o%ljVenMfJijGK%* zjI0qtJU^e`|3V&)A?-yW)${PO7{V26F&ZFX<{3y?P$Rf|9ef1>m8?z(Pg{^VW-04$ ziS0>myEWSN>hV>(?=^?cVX1s%W7~+UW@KdZND7lfJG)N4t43=_aqO3G;?ULhw{9Jp z{Ji`0fxfMm3O_1LFYLk9ci;)Xi3s@}XG0BW?QO5!F@+DSCLb5?;d-#q-g(NmtFZLUNHiVE*oI0CeZqzLu=rzb6^Is51cq}zO{Zh9lXYq@IXck$$oiZ>2%=j|A z?^5&|wSJ~%CQL4dXM!^!=3?+-=wc1y2svsTVaBev8|)$@>h&kWK{*@_mX-!Z3Bcg) z)amQOj8OMO%pn2ahyQv1HZg+Pb83f|(}%?%Yt{=TLP}^8wg~%#5#fTM69jh#HTh`!}Zq?1Yqm(0ac_{&OY0?lbR>17+ zpXNY|)>&}*rs%VJ2i+~7$3sIy)gZ~BK#d*_Td{y?xmtu>qZDm+z%!@T;gmRpL!A0N z+{5fT_w>Vo)keiuzW(yVvGHBmgMKC8V0oR+^8Brr&;R0$r|Vl^I)Ajxv&8TfC066& z3>?w%Ea7?3I2-ouc=Kb7_rEm0B;wv2V+F|+`Ptz6C-;8*XjS_#PYAPU2gU|Y=UyFw zNpvpEGTT9I_2^aA9t`+PaSWlDXnZj2$9}&(28iBfxzZ`DR~svi+f8Bs{wf&6Scy#N zbZKw9ci78#Cmvccvf_U0xOLKc&&pbVt}4?CnSq7^E;0|hlKDJTY3R(fH3Mj{F`3QM zl1*`?-$`08u?HzQiiS=qUIDp;sKaRuPNBNfz!ZweYU`Wc>~|0B$qj5f;#zZhL*b7f zUGJ>*m3pK5)*YEXzHMcfD;_%BTs!#uIp#Cl`J=J+-W6y2aOaKwpBCm~B>_j3f8z(2 zM!($}s;%hRl!0SlGB04)aPp?u^vcO7IM?IEzD1zdEje`QwLAx;T3j(sd!dq}v5TMjDt{5kP zFFlF|Vb2gI6_hA@lL;||s?Iu%VXF3qm z6H?ysUi;Sm5XS4y+^AgS#I_2~Rmo3`P8|4Fbq5$rrNvUoU^4a?cu5W>BGt3 zk?W9ixsKeD3}Z}FH!vQwyk_~jg|S#FItXMT+Ke~dUdslj@bA^S*gq>wMneaa%lT1n zZ%^Y?BWavKu4xx>xwcsS9)H~50+zt(ksoLMQ5qH+Wnmtee} z?7DXRjO*r7JH94O2}w&sNsAo_P5NAuwr=`Z(?Hv#bd)d#X(PfWM4L{bLNG=}=}1=) z-Ns;3v>agm3uIh)2 z>YBBW7dEG$C`9d|T?+EGPCI7w)ervQ{?l&<9Xb|Uc)cyTE1U>aeqJdd2wBmMjNvAZ zqWw04F@3C;DDGcf0lE2`s>k6}#&r;-g*wC@z^O!Q*(T9k`x8{Qm+(dmq| zM%pN0Y0R%A6jj-#yrq1g{7K=um3_*PGOA1{?CTmAXoj(CmfVTN?=n;Nq-sEkOEIw}&bShdBAjI7-%H&$lWZv5$AJJzKyweMlQCX0bF z#DxdE8}`2TbZC2EXujoVgBQ-}QH8nORA#aT>MDx54cj`aSFBoMuYmaLky|^O&(_q_ zIy^G}IX=ML0;|B@H=WLMfr#}_RbxoDg+g*&ojWAN=)^=3BbU3yP`NA%>09kWw{TIw zKH<24fB=PQe?y`{ZMfFJ#2ZQtsDX+^nmsZBwPYM>Yx6|oneTEUOgZD!`)KgJqEv(N{UQNgNtb+&_wl0X3wJ^Z60iO^f>em!=`ZVSX6YBnT=tq zS?4#_%lnftNpBYoCv`2B7vhce6$o+$)?k4MGl;oKwXdEt#%v!D)%D_FqHCGewC zJym~P4>KoA0aL&U83rO)ku{ZJz02rb(c%(_o;^r9x5S!(57ZLu|GPS#m-3BBmtd1m zSaH2nZ^<>{PB4&0C=Swo$=sOcouOfeenkHhJsG8)xx+b>8+JOMaE?2%Q>;eE(05){ zmB@LPRXo+_4F>hR-oDj7YQJc|W@mvtVOO;Sc~tG)M4U}4=S?1%@Qiwp25ANv8Z9jA1=o#AE zoy0YC6Gq5@AF11)tAGqJ)S^f@796Y^j>QZG&;LBgGyMJZsWeKn(l;v%MPfZgAVN{} zCBtDK0TRZ+EM@ALR%SbMhPlXGWB9nXVP@JlmPo3}9m(+|Gn$-8qSuo!se#5US!T-0 z1UD8f1jUcp&ons$`@1wXZ9`=!0`JIhO%u`#a=L}2Eowi_b1bADO}F|Z-6P|lwCat5 zJy00P_w8yqnQO0G*HT;bm+1w)(NL~bJ^KEqFEs67uD0K|_w?jExO!w8FPa31BiWWg zn11)%`-Qc=zdQSos>6aw;ss&mm7jkRqzdQI{6AnDb^{}D0!8J8Nz6%;<(d(E18lTv zeozu25GBzs;(w7WU4dJHOZvLMYyXY^P*+HOp>?rMG+k@`j!8U}Uslr?bR}!**;SEc zD|3-l2E7?n8zae(tj>PC;2hgX91qUD3m?ao#EDjc-YcLAKBHD&^GsR=-6Y^%HbUcN zhw1RBchdWo7X$A;?~r%YJL6@&Q*hvt!%>ZCpl-mc{1AVWX8q^B8Jdk#_eO7-fFV^a35&qgLnu zggvaz#ohOOZW_6Ng72zCQPmafXFKbO~F+v5AX~|6BuIh*)Ow_ zc9F&fakp!hWQoeiQ!!`c)Y11AHxd%G!{t02W8$|z!dJg-W_st8^>f*7_%!(p`Jcu4 zzoC~{A8`*2pzjK(A@m{m#JGq=(FMU2{Nz%`^`V`zO27{@lUal1Y)kNaK@<$CP?qzl zIM0J;Aymc_DVR#B`N!xWIW+*Qjn|qji<6}_-0Wx4R|_W+S5GBl;>GKlY%mb~)cFp;W^iDb`H_v6}on_t}|uU{br!p^{I_58z4ZP|O4yLP9R z30Qx~QymUum1I>8)*Gw_tLt<_87Eq>-s0M^W?;%<4Eh3AxnXnD)s8hs^H#o$lb!m3 zxo;DmDm50(9V5Ic5)F$v@X#k>U)2uXTL9iTLjZfPLR3k8WPK)XRnqau-ocC=&vbb?7! zD_WFv6095B%3s~I3RX?pNSl_SH6xqQrme%-_jeBXB%fnnZ0Www_jx|gv*31sy&33o zkI2ajgBT+1gDL|4RTh-__`?O|;R0zPxkrx7a{Ln^2?PT?q^*D<=5mo$4Jesj_2eMQ z--OH{aS|~0o39I|5=XF=V4Q>invj`1CNY=uk&sCd#6N+y3Rg##B@n5vLj;p6h(JtG z!@OjZJiKGOt=wDJ91y&oUiWUz?<QM*VY^_llI%rLucXqAIG}lHK3( z7_ok9e&KCJ)HqfadAN=RY@j(FKgY3=(9hI+s@!w2E3!SHfWwq5<(UaqrRu0{)IREc z{iveocDw#{`rm1s9u0P(uC8K^GHCpkj&y^g%Z+zie$#Thg>Es5DFrP;^;8sl@0tOt z-Q3)nU1-+;rFCitwIkZ^v_*{znmE!19Kt35Pq3!#k8aEL_E6LQi9{47qIwj=IZ6_7 ze*V!s*;13JGr2fuAp?>aqT&mXjsPMinSh8OC5eb&m+K3&1wpd((^da?JK8zCr5 zIp$7)L9B(t-tbh<`98tdzb$P{-Dfc^$t=edJGJP$cFzV&KN5a@%PZ3;FI%qnR&`|^ zKBs1}#QpxGn_qvF<;#`!kyVv1^)&DvDZH)YZ=LJF<&CAUm`}k?)6_9YHAbK%&KF!k z``sMp_q!#do^~5iQJsMXm2$bE(;&Yu2-mG()L>A@ZTK*L13$p*C5-R`R@Kxll~xB5 zHPbctM>VJ>ZkC*(Trv*32xG~`%p8Y75SxX!RC7fiZ<9$VHd=G3KtzRp!Ssvhkc$b$w!Ms{3?r`s5eG@iyOTY~QJr(0KG^N8p9&JBM%Q?;k-HQOopiWVj;!@;XL{#(IA6)%VA5+&o#LHju1w zFFjy?%W6P)?bM%UsrIGCs}66beP-#eS6$vrhTIj8$D1*#&s1NozUH5;zEyoI`+2p1 zj1<`AwPePKR-`-BaAHi4|S{$xWmD)9zGmqC^(IWKMmgvv*8&udu?YAHK9&$ zv*-(IxAL#~c@r0NxtRHYn@`q7S!jBgBi5OV!Of3Rv4StIMd?VI2FVk{1ItX40+n2j zHVn~*pI9Cnsi+T=7K)b*as`q9EKMd8{_89mZD*J|va3l6pojt{;!_=~~2gNuWFa4<252L}VSwSl%% z=+vpn&_|GV5t!dvBj7Mf$X|Y#pCy1_?>ufyV&gmvSC38Z9(yL&dvI)DuD5q2b>_^8 zu~%Pxvnmx#jm2|SRc~fK6I*(ei61u!#LO~^MB2i9)4X{i zm%T_(p9CNLS8d{Pgw;pLsKAxTQNRyUc0Eb*A`OSz<1))GPnOEuE0`O*Y+RbV0X?3r zX>`d#`a!!Qr+0x`xt7p)W;qWiul~2NXA=%XXiw6!r(QTgu!tVvu05fVLWz zzG2!~8#PK@(gOm&b*|aiIoH-b-hH=wv771cE(%tlii)9>AsHngnGcFEHbx0j4Lxrh zB5w={o5xya&>cOpYb@BBXw_Tywlb})eU)ROP%wCeADC#&_4U}Ms41OChXLegv6~uG z9v0%y%)eB8;dp^%NnI+i(fk4_BP98VfRNHyoA9K~t)9s*Ilcf$4aj{kVij$)@0gpm z+Uzx@w&t@afD$D!)dpE8V#O-50%l6A{>I4-Bi0>>08l6ATYY1ArQgoFtTM++42)lt zl#pyM{%pOsQMUN448nqTsJ2wF>^ir-v!TWAl^hOR^)PKY5%qf&_)Y<&BqNK$N3Ti_ zh>Sq&si5rPkxdNQQ|t1J(G_4)lAGV$&as|&{tY0WjEe^A5oC6w{B-_9o92)-tHR5) z!zPkuv}fra=U{`>4r*MlqiCLCnpkS9@#|_Z|1|9>06ozB~KuoF55i z$Co(4#m?Kw5@N?O&SN2lg{8R}8%n!2Xmlhrp;;0t%A+a4O|!O?AhC@VCbW)HBsvP4 zv~^NMH_+B~6P>D78qyHkTA}ujj;Yn+?Dso6Y&xHRzB}L9`hLHkm*a}#y5j=}<Uu_crh1lo=$>mJ zXG%-=v2dbPf*X4WIhu&ca57nRc+c=NC^{kX#&m0_CPV~X^s$(gQ8qzF7VSoVRg7?K zbeLi&6SiSM#o+C5YSKbb`U;D%Nzr64f^{b^#ZhC1cw6XA~TQkc)?W}d0 zE8BWU-)Q4V#13xU5DK#dG}}0!nB#}%s>%YcfJOQCTifUIZ-Vsh{tjH_;OeLJZJIN^ zZn}QW)I?NVIdbH@+NE#8py?gZ`!Q&Gi5fkCmDZ)J#H0EszP4wg2&g^mDg7)yah}vo zn5C2FS?K~0g=ls>-<_Y$^yeSX$8$S#Kg#_&_g?O^+-iBJx4i-oFzS9LeNl3qNJ>{8eCo)WV)qTu6`_YvSUkqvx`%OBGL?wCn_8M} zO(i#3B5(!c%7Bc3I)xI3LFmz90$F2v^fgS|B};_WwgMA08MP0uN+8yqwy3CY+WZS zhRZE9MVcAbOaPW5IhHpQ=FrG%7jhItj)Mi{#j`&sw?WcMkfMzKEANm*ir|D0Z_&(8 z^=2=gs~??9RtV58%2s5?9Z-AQ)On2dt^Qd|`9=V4+gfBK0I~XI&^Nso1j0??^ z1bwg$k`i2mXCS!~j=_VFgfP}wiZI4BWextmkA~=;A^M%5If&;5?ZsXigVRViL>)|N z7(^gD;Ti|vxxggO1OuTm<DEX0U?*CE%y3n3*DE7){S*~Su-F6 zE61W_2@rBuhgQBK+E86Kn;wZHA?Id$y}B0GYjH&cjqs(@>4WLT^qDjrx(aT^{fUg4 zmj(s~eNvr7h$tD>NiRxgq<17}!a*@TSgMSzF(RSj6l-%YveJN(9BIgqYJ@YRO3|hu z8ErxJiC`QwuX$K(c#5RwWN>jDCC4K(Xb}jkcg;=5WHH>%)3nP|J)o!+NLr9I@ldVk z4F+%GH?aRV z9+{Vr{}5RV0s}!RR!R~$qpSQGHpuw1p7Eqro$;<3wzZVj$;2G(QdGp~L{okBhp z*N@+l0EtAOr%Lx5gC*+)e7+uPf!Kh?Gi(GAak7%`K(DLd4Oa5~y?y#r$QI&A~Vor%WoCG8zpc zGq%R!_*MB3ftUd^*k3R31cQ?+U_6220LY=G5fANZ=eBJ118Dw*pcur!yQh=Jd^(54jKd zkETDKVLiNO+B2i`+3Cy-lr*WTJgi2fz0#O8F71<^k|w0dma!+so*sL3pO_lkv2bbO zods%^4OIG7RlB-6ANOjL6F$>X=_qmZoe~dfDmqlHQ?s*& zSgV6&trNqOtaVD=tgTtD1MRN(HqMcs*|%S~kU5!_mS+kieav<>CSJih+? zVSNst?t7k%q;_Y;jG7@bCmzkT<_GeriAldou_i695v*3DwP}6Yh&HNCX-gWbY4Oy~ z)MD!M6ctbHNR6l7O#L-=I|WlHF~&vKW;5kyr>ta}{Ub}Tk*v~qr!69_WXIjeHjdks zHkX8_DEo!2ZOvD9NNY-GgcW2{l(yKNIXWDg6Amn+)fJjUYjFYS{w%&AEiW&d!eQiF zvRSZid@apHTV(r2@c&7sAzH#UknJVe#9Qf_0bPVzEPOKZs|Mkra}U%l_&@2xDjS3% zQUZYIG)S0&XtfyzwHSMyYtuYHri45nEdQYP?!?E7_;qqi1l$<=h9(X5@Z>AYe zYEy(ZUKS*G>obE51nJwL*IAJyumA}DmT3lr+vn-uch@3uBK>W#3XWu0TZ2fv(!6Pd zPvDgC!n-k+w+d9lXpP3uh2K^7)_h%YawH46s&lu%E+BM!M4QOcR>aj5N%LH8WufpT zkUx;Dw)MwbYtASPK@w(~vDgUOUOpJEd$sVxpSZF&^xl68@9%iJ(oaBb#CqmgeV_iAhNc6+6z}}I z^v}(NDLHR@(S9&_aLcn>;a`$>lmAMReN10+K1q81OLn=yHg(-${GM~)w&U0JBaRba zJ5J)nd0cZ7+i_kti3fp%B({^#i{p?0fsqDE0)$pg1P#kzC1VBJg+W=F){W9h4E33Y zuB=+siK(NEA-Z+dKvSe?6;Ue@wH>=e&7H9{k}N3C4epg#08d} zOvNp!RQ$^nNC{x5MybYbttwK=v0IH*kmv_&FWn1ZoF7q!@x`G&We{J~4RIDB-a