From 9dd87cfa8367387b9943d6711326b4dd54bc722d Mon Sep 17 00:00:00 2001
From: felmer <felmer>
Date: Tue, 1 Sep 2009 09:20:10 +0000
Subject: [PATCH] SE-127 handle case when two MS_INJECTION samples have the
 same parent

SVN: 12344
---
 .../phosphonetx/server/PhosphoNetXServer.java |  38 ++++----
 .../server/business/AbundanceManager.java     |  23 ++++-
 .../business/BusinessObjectFactory.java       |   5 +
 .../business/IBusinessObjectFactory.java      |   2 +
 .../business/IProteinWithAbundancesTable.java |   3 +-
 .../business/ISampleIDProvider.java}          |  27 ++----
 .../business/ProteinWithAbundancesTable.java  |   7 +-
 .../server/business/SampleIDProvider.java     |  63 +++++++++++++
 .../server/dataaccess/IProteinQueryDAO.java   |   9 +-
 .../dto/ProteinReferenceWithProbability.java  |  12 +--
 .../shared/dto/SampleAbundance.java           |  15 ++-
 .../source/sql/postgresql/001/schema-001.png  | Bin 0 -> 113047 bytes
 .../server/PhosphoNetXServerTest.java         |  86 +++++++++---------
 .../server/business/AbundanceManagerTest.java |  85 ++++++++++++-----
 .../ProteinWithAbundancesTableTest.java       |  30 +++---
 15 files changed, 270 insertions(+), 135 deletions(-)
 rename rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/{shared/dto/SimpleSample.java => server/business/ISampleIDProvider.java} (59%)
 create mode 100644 rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleIDProvider.java

diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServer.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServer.java
index 3d2c1a1d332..663bcbaebaa 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServer.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServer.java
@@ -18,7 +18,9 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.server;
 
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.LinkedHashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -43,6 +45,7 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IDataSetProte
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IProteinDetailsBO;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IProteinSequenceTable;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IProteinWithAbundancesTable;
+import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.ISampleIDProvider;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.ISampleTable;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.TreatmentFinder;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.dataaccess.IPhosphoNetXDAOFactory;
@@ -56,7 +59,6 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.ProteinSeque
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.SampleWithPropertiesAndAbundance;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinReference;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinWithAbundances;
-import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.SimpleSample;
 
 /**
  * @author Franz-Josef Elmer
@@ -98,31 +100,35 @@ public class PhosphoNetXServer extends AbstractServer<IPhosphoNetXServer> implem
     public List<AbundanceColumnDefinition> getAbundanceColumnDefinitionsForProteinByExperiment(
             String sessionToken, TechId experimentID) throws UserFailureException
     {
-        getSessionManager().getSession(sessionToken);
+        Session session = getSessionManager().getSession(sessionToken);
         String experimentPermID = getExperimentPermIDFor(experimentID);
         IProteinQueryDAO dao = specificDAOFactory.getProteinQueryDAO();
-        DataSet<SimpleSample> samples = dao.listAbundanceRelatedSamplesByExperiment(experimentPermID);
+        DataSet<String> samplePermIDs =
+                dao.listAbundanceRelatedSamplePermIDsByExperiment(experimentPermID);
         try
         {
-            List<AbundanceColumnDefinition> columnDefinitions = new ArrayList<AbundanceColumnDefinition>();
-            for (SimpleSample simpleSample : samples)
+            Map<Long, AbundanceColumnDefinition> columnDefinitions =
+                    new LinkedHashMap<Long, AbundanceColumnDefinition>();
+            ISampleIDProvider idProvider = specificBOFactory.createSampleIDProvider(session);
+            for (String samplePermID : samplePermIDs)
             {
-                AbundanceColumnDefinition columnDefinition = new AbundanceColumnDefinition();
-                columnDefinition.setSampleID(simpleSample.getId());
-                String samplePermID = simpleSample.getSamplePermID();
-                SamplePE sample = getDAOFactory().getSampleDAO().tryToFindByPermID(samplePermID);
-                if (sample == null)
+                long sampleID = idProvider.getSampleIDOrParentSampleID(samplePermID);
+                AbundanceColumnDefinition columnDefinition = columnDefinitions.get(sampleID);
+                if (columnDefinition == null)
                 {
-                    throw new UserFailureException("No sample found for perm ID " + samplePermID);
+                    columnDefinition = new AbundanceColumnDefinition();
+                    columnDefinition.setSampleID(sampleID);
+                    SamplePE sample =
+                            getDAOFactory().getSampleDAO().getByTechId(new TechId(sampleID));
+                    columnDefinition.setSampleCode(sample.getCode());
+                    columnDefinition.setTreatments(treatmentFinder.findTreatmentsOf(sample));
+                    columnDefinitions.put(sampleID, columnDefinition);
                 }
-                columnDefinition.setSampleCode(sample.getCode());
-                columnDefinition.setTreatments(treatmentFinder.findTreatmentsOf(sample));
-                columnDefinitions.add(columnDefinition);
             }
-            return columnDefinitions;
+            return new ArrayList<AbundanceColumnDefinition>(columnDefinitions.values());
         } finally
         {
-            samples.close();
+            samplePermIDs.close();
         }
         
     }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManager.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManager.java
index 015aea99500..df7c4fd37a3 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManager.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManager.java
@@ -22,6 +22,7 @@ import java.util.LinkedHashSet;
 import java.util.Map;
 import java.util.Set;
 
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleDAO;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinReferenceWithProbability;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinWithAbundances;
 
@@ -33,19 +34,33 @@ class AbundanceManager
     private final Map<String, ProteinWithAbundances> proteins =
             new LinkedHashMap<String, ProteinWithAbundances>();
     
+    private final ISampleIDProvider sampleIDProvider;
+    
     private final Set<Long> sampleIDs = new LinkedHashSet<Long>();
 
+    AbundanceManager(ISampleDAO sampleDAO)
+    {
+        this(new SampleIDProvider(sampleDAO));
+    }
+    
+    AbundanceManager(ISampleIDProvider sampleIDProvider)
+    {
+        this.sampleIDProvider = sampleIDProvider;
+        
+    }
+
     public void handle(ProteinReferenceWithProbability proteinReference)
     {
         ProteinWithAbundances protein = getOrCreateProtein(proteinReference);
-        Long sampleID = proteinReference.getSampleID();
-        if (sampleID != null)
+        String samplePermID = proteinReference.getSamplePermID();
+        if (samplePermID != null)
         {
+            long sampleID = sampleIDProvider.getSampleIDOrParentSampleID(samplePermID);
             sampleIDs.add(sampleID);
             protein.addAbundanceFor(sampleID, proteinReference.getAbundance());
         }
     }
-    
+
     private ProteinWithAbundances getOrCreateProtein(ProteinReferenceWithProbability proteinReference)
     {
         String accessionNumber = proteinReference.getAccessionNumber();
@@ -66,7 +81,7 @@ class AbundanceManager
         return proteins.values();
     }
 
-    public final Set<Long> getSampleIDs()
+    public final Collection<Long> getSampleIDs()
     {
         return sampleIDs;
     }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/BusinessObjectFactory.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/BusinessObjectFactory.java
index 0cf6f83ccd7..7706d2acce2 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/BusinessObjectFactory.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/BusinessObjectFactory.java
@@ -61,4 +61,9 @@ public class BusinessObjectFactory implements IBusinessObjectFactory
         return new SampleTable(daoFactory, specificDAOFactory, session);
     }
 
+    public ISampleIDProvider createSampleIDProvider(Session session)
+    {
+        return new SampleIDProvider(daoFactory.getSampleDAO());
+    }
+
 }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IBusinessObjectFactory.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IBusinessObjectFactory.java
index 26caab4125e..ae828695b55 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IBusinessObjectFactory.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IBusinessObjectFactory.java
@@ -34,4 +34,6 @@ public interface IBusinessObjectFactory
     public IProteinDetailsBO createProteinDetailsBO(Session session);
     
     public ISampleTable createSampleTable(Session session);
+    
+    public ISampleIDProvider createSampleIDProvider(Session session);
 }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IProteinWithAbundancesTable.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IProteinWithAbundancesTable.java
index a4559040d72..7e40d2eb444 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IProteinWithAbundancesTable.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/IProteinWithAbundancesTable.java
@@ -17,7 +17,6 @@
 package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
 
 import java.util.Collection;
-import java.util.Set;
 
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinWithAbundances;
 
@@ -36,6 +35,6 @@ public interface IProteinWithAbundancesTable
     
     public Collection<ProteinWithAbundances> getProteinsWithAbundances();
 
-    public Set<Long> getSampleIDs();
+    public Collection<Long> getSampleIDs();
 
 }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SimpleSample.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ISampleIDProvider.java
similarity index 59%
rename from rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SimpleSample.java
rename to rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ISampleIDProvider.java
index 99905077d2e..a1a7b7205a8 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SimpleSample.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ISampleIDProvider.java
@@ -14,29 +14,22 @@
  * limitations under the License.
  */
 
-package ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto;
+package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
 
-import net.lemnik.eodsql.ResultColumn;
+import ch.systemsx.cisd.common.exceptions.UserFailureException;
 
 /**
- * 
+ * Provides the ID of a sample or its parent.
  *
  * @author Franz-Josef Elmer
  */
-public class SimpleSample extends AbstractDTOWithID
+public interface ISampleIDProvider
 {
-
-    @ResultColumn("perm_id")
-    private String samplePermID;
-
-    public final String getSamplePermID()
-    {
-        return samplePermID;
-    }
-
-    public final void setSamplePermID(String samplePermID)
-    {
-        this.samplePermID = samplePermID;
-    }
+    /**
+     * Returns the ID of the specified sample or the ID of its parent if it exist.
+     * 
+     * @throws UserFailureException if no sample could be found.
+     */
+    public long getSampleIDOrParentSampleID(String samplePermID);
 
 }
\ No newline at end of file
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTable.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTable.java
index 0788af1d9ba..bac44d1b9f5 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTable.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTable.java
@@ -18,7 +18,6 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.Set;
 
 import net.lemnik.eodsql.DataSet;
 
@@ -38,7 +37,7 @@ class ProteinWithAbundancesTable extends AbstractBusinessObject implements
         IProteinWithAbundancesTable
 {
     private Collection<ProteinWithAbundances> proteins;
-    private Set<Long> sampleIDs;
+    private Collection<Long> sampleIDs;
 
     ProteinWithAbundancesTable(IDAOFactory daoFactory, IPhosphoNetXDAOFactory specificDAOFactory,
             Session session)
@@ -57,7 +56,7 @@ class ProteinWithAbundancesTable extends AbstractBusinessObject implements
 
     public void load(String experimentPermID, double falseDiscoveryRate)
     {
-        AbundanceManager abundanceManager = new AbundanceManager();
+        AbundanceManager abundanceManager = new AbundanceManager(getDaoFactory().getSampleDAO());
         proteins = new ArrayList<ProteinWithAbundances>();
         IProteinQueryDAO dao = getSpecificDAOFactory().getProteinQueryDAO();
         ErrorModel errorModel = new ErrorModel(getSpecificDAOFactory());
@@ -80,7 +79,7 @@ class ProteinWithAbundancesTable extends AbstractBusinessObject implements
         }
     }
     
-    public Set<Long> getSampleIDs()
+    public Collection<Long> getSampleIDs()
     {
         if (sampleIDs == null)
         {
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleIDProvider.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleIDProvider.java
new file mode 100644
index 00000000000..5a8a2f9d2a7
--- /dev/null
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/SampleIDProvider.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright 2009 ETH Zuerich, CISD
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import ch.systemsx.cisd.common.exceptions.UserFailureException;
+import ch.systemsx.cisd.openbis.generic.server.dataaccess.ISampleDAO;
+import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
+import ch.systemsx.cisd.openbis.generic.shared.util.HibernateUtils;
+
+/**
+ * Implementation based on {@link ISampleDAO}.
+ *
+ * @author Franz-Josef Elmer
+ */
+class SampleIDProvider implements ISampleIDProvider
+{
+    private final ISampleDAO sampleDAO;
+    private final Map<String, Long> sampleIDs = new LinkedHashMap<String, Long>();
+
+    SampleIDProvider(ISampleDAO sampleDAO)
+    {
+        this.sampleDAO = sampleDAO;
+    }
+    
+    public long getSampleIDOrParentSampleID(String samplePermID)
+    {
+        Long sampleID = sampleIDs.get(samplePermID);
+        if (sampleID == null)
+        {
+            SamplePE sample = sampleDAO.tryToFindByPermID(samplePermID);
+            if (sample == null)
+            {
+                throw new UserFailureException("No sample found for permID " + samplePermID);
+            }
+            sampleID = sample.getId();
+            SamplePE parentSample = sample.getGeneratedFrom();
+            if (parentSample != null)
+            {
+                sampleID = HibernateUtils.getId(parentSample);
+            }
+            sampleIDs.put(samplePermID, sampleID);
+        }
+        return sampleID;
+        
+    }
+}
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/dataaccess/IProteinQueryDAO.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/dataaccess/IProteinQueryDAO.java
index c6e6a58983d..5c73ea7bf19 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/dataaccess/IProteinQueryDAO.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/dataaccess/IProteinQueryDAO.java
@@ -27,7 +27,6 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinReference;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinReferenceWithProbability;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.SampleAbundance;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.Sequence;
-import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.SimpleSample;
 
 /**
  * 
@@ -40,7 +39,7 @@ public interface IProteinQueryDAO extends BaseQuery
     public DataSet<ProbabilityFDRMapping> getProbabilityFDRMapping(long dataSetID);
     
     @Select("select pr.id, pr.accession_number, pr.description, d.id as data_set_id, p.probability, " 
-    		+ "   a.value as abundance, samples.id as sample_id "
+    		+ "   a.value as abundance, samples.perm_id as sample_perm_id "
             + "from identified_proteins as ip left join proteins as p on ip.prot_id = p.id "
             + "left join data_sets as d on p.dase_id = d.id "
             + "left join experiments as e on d.expe_id = e.id "
@@ -48,16 +47,16 @@ public interface IProteinQueryDAO extends BaseQuery
             + "left join protein_references as pr on s.prre_id = pr.id "
             + "left join abundances as a on p.id = a.prot_id "
             + "left join samples on a.samp_id = samples.id "
-            + "where e.perm_id = ?{1} order by pr.accession_number, samples.id")
+            + "where e.perm_id = ?{1} order by pr.accession_number, samples.perm_id")
     public DataSet<ProteinReferenceWithProbability> listProteinsByExperiment(String experimentPermID);
     
-    @Select("select distinct s.id, s.perm_id "
+    @Select("select distinct s.perm_id "
             + "from abundances as a left join proteins as p on a.prot_id = p.id "
             + "                     left join data_sets as d on p.dase_id = d.id "
             + "                     left join experiments as e on d.expe_id = e.id "
             + "                     left join samples as s on a.samp_id = s.id "
             + "where e.perm_id = ?{1}")
-    public DataSet<SimpleSample> listAbundanceRelatedSamplesByExperiment(String experimentPermID);
+    public DataSet<String> listAbundanceRelatedSamplePermIDsByExperiment(String experimentPermID);
     
     @Select("select * from protein_references where id = ?{1}")
     public ProteinReference tryToGetProteinReference(long proteinReferenceID);
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/ProteinReferenceWithProbability.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/ProteinReferenceWithProbability.java
index 030e8b8e0a3..73bd90d1b34 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/ProteinReferenceWithProbability.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/ProteinReferenceWithProbability.java
@@ -34,8 +34,8 @@ public class ProteinReferenceWithProbability extends ProteinReference
     @ResultColumn("abundance")
     private Double abundance;
     
-    @ResultColumn("sample_id")
-    private Long sampleID;
+    @ResultColumn("sample_perm_id")
+    private String samplePermID;
 
     public final long getDataSetID()
     {
@@ -67,14 +67,14 @@ public class ProteinReferenceWithProbability extends ProteinReference
         this.abundance = abundance;
     }
 
-    public final Long getSampleID()
+    public final String getSamplePermID()
     {
-        return sampleID;
+        return samplePermID;
     }
 
-    public final void setSampleID(Long sampleID)
+    public final void setSamplePermID(String samplePermID)
     {
-        this.sampleID = sampleID;
+        this.samplePermID = samplePermID;
     }
 
 }
diff --git a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SampleAbundance.java b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SampleAbundance.java
index ff2e8d0a59b..6fd3bedfeee 100644
--- a/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SampleAbundance.java
+++ b/rtd_phosphonetx/source/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/shared/dto/SampleAbundance.java
@@ -24,8 +24,11 @@ import net.lemnik.eodsql.ResultColumn;
  *
  * @author Franz-Josef Elmer
  */
-public class SampleAbundance extends SimpleSample
+public class SampleAbundance extends AbstractDTOWithID
 {
+    @ResultColumn("perm_id")
+    private String samplePermID;
+
     @ResultColumn("value")
     private double abundance;
     
@@ -39,4 +42,14 @@ public class SampleAbundance extends SimpleSample
         this.abundance = abundance;
     }
 
+    public final String getSamplePermID()
+    {
+        return samplePermID;
+    }
+    
+    public final void setSamplePermID(String samplePermID)
+    {
+        this.samplePermID = samplePermID;
+    }
+    
 }
diff --git a/rtd_phosphonetx/source/sql/postgresql/001/schema-001.png b/rtd_phosphonetx/source/sql/postgresql/001/schema-001.png
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..84c5a177c879021beacb52d4070ae887bcb89a7c 100644
GIT binary patch
literal 113047
zcmaf*byQT*`|i&SBh1j9N~d&#)X?2XNOy>UNP{?ZH<A(}3erfZltZVabVv)*A&uPQ
z_xHVP-F5FD*R@=SKb-BHefD|x^E~fo6QiT0jE7B)4FCY1s)~Xh0KmW>p^b1Tc(Ii9
zj|4B6HtNa>;1&FHDc}4GydXSOOkMy057WQD5Wn{_J^(-us4B=B_(68_5I35S&+mjw
z4Yc2?(BcWDV&Vm;2_^j?`7ZcfF(<#cKUq&943~w7SS?$wFa50naV$2++hh)b;+wmJ
z>W$BHdoK>Wznuq0y*M!c<!yQ1Fd`jT-Fp7(&CB7d-PW_Y?!P}}k_1O2>#`oKAg%gS
zS?*fIeKH2&Eti|QD}MVG<kHX<vKN>Ab&VVBP`a0=DR=Di{*i=V_8R9sPdVxw?D?VH
z3r*8ykDp!~u6&y%!iPP4Tvq=pKTs=I<a?_!`LGns!f)lC+bN#t0%78>VV4yqv}p>B
zLFJQ%g}}24Me!Ik3WDKhGxBJM>rS`v1eam->kG&IKKo4bjI@zl;fLx(GfF_B%-@US
zjlm>pVVAX@1e3Ycg>n%=AdZ~-(e-W}n`TaWU}YUS0{U#e@!5DWLNuT|mMl_LjA*&C
z4=+d3|I>4n#}a+{>o{bA^h>vvBc=Qq`@xK_N94ow(4DEuwZzk%>1wydCaQ`^vS;uw
za91Y4>8>*p&-7bxYvA_|Yot|s=sjGTcq&0w+}E{_m?=U^3WA#y<H*%Bc{Hnx(=xDO
zg^&(Nqw8!c_9g2CA^RifVzaONObtVm!<b@rcrjCr&)ySON1oQx@nUt6kVqsHPD%)H
zy`sDp-IIY_jHlTTzY)iy7DD4QNOhZVILj|D1s*(`{bWBETNfG|jsBpSTT?E5)J1Zc
zOre`@FA7UdL{3+kXKUU3y*^0enT4_9gdj**@B1!1?@x8`#0@E;*NOl0%qhd+QlFG?
zBKdqZj@Kc@i5mM8<9H;{BU5Smxv|=N4$xMU%_6Le_xPS8teWB=ha1Aoi1u2&J^xvt
z5W@O!8(#6G0h^|Br>dD}J5{rgLB|+|ozZoo%IPYiUf=+e{(E7&wCmn-6loG$LUs9r
z%=hHGXx)vd_pzquLqb9*di=)y+wD}3rd~)*zXm0Q2|&na4#!&t9d(Cb(Te%*FL;r=
z*i%7eVREv-Tz$6J?Vp3~YWJTePsXahSv)+#qrso(3*4vTNvU(V?eq&cTy{5zrulMv
z#*j+E(8X(9qozpYw^M22W`mG9?u$~-tU6hJb@RL-m;d|9)9Ti<w^6h?;x9I<zx~bG
zEUNrsK%Yzm9c{g)Skl)#n3%dfn^$TbIMKdI)7BcL6dkQyD>2KH3d~kmdU^hHQUASv
z2!s6JF{xZ(8ud^z&Z%Y_+bGL`?KCRE;O7$yUK41|T#>+g?@tZjz*A4@%XJdLTn&yN
ztSvflzN&=^le!V<>k6H(jk$iEk>5oZ4$r4&_g;oyZpMZuNneFbIOb=A_m9nsSE8Ol
ziYp-f$6!5El~3ySDoN&V%gOLtv#X=t$J)~37US_WpV5_v>-{)k{;gRib-`m?x7V*W
z%qJ&I-5(6i<(s-uRq(^4?}BPKHEjT>&Re;NkNPFUxuPTFq%1_nB#(_@0@}b_W1bfp
zGBR=W$one&=RJxR|Apt(h3V?*J&Ct%#<k=(1FxT!Ji9*sHm|<kP4P|m<&}uzB?i{8
z_~rUEbN(GuqMr%uczo7AlTBAg#BHJFXYj~#=ehb<7t?n?@05uAH?!SU0xsRB-HyGd
zTbp}nwV&E;k3XwwIexI@_9Q_FD;y~F;WGQe_g&HS`9~x@6KpwABJ#L?VsO3v!_Tqn
z{6M!)LWk3quYQ%?Y>rr}t_L1`&qy!HpG&xyYxrz`U)+<{s5i-yK4viEC69;#JGR%z
zlZJrk`ksWSOpb|0#kl8j<dsB-y?O1iwhtjW!p$%KgyICKYwS$XO@5pxvFWDRsDC!!
zFR?qi+BhGHHnqvj?<(iQ*!uBtg3QQ_Kj74<=TO9TCRt&Hb%0QXG6ah*h!C3Wappud
zUA3sd`;JEX_EdR}AJI3R!NWoI)6e#i^RRfyG+V)qLZMy1qwvwUzmr!vPcaL73xWd(
zcqXf5ba;uDCDiR+KRhji-b2yJ6HDyRgjzS7`#$S_&-?A>t5U)=;!t8Oo|Z0H%u+4f
z^UVt_?U-K$=P_!@z$1(!c7$b6?Oxo-7h3*f^3_(^i^4FA<gN#gf;^|q4-Q&R(&|-g
z@FglR4*Eapr+s_#1P&B<;%gx9Zcav=mQ7n2lJ#J*&+VpQTj~1Pq;a2r{#Bb3x9%W_
zXAC-&ZQq@lw&Y#w4r#hWW6%}G$sBbVza3Nq`l3S_sd7cQx8|?bG?|ZZD5_XJdmorq
znSSQLgnT(@BVca5IT>e|mcFhZ>l@CKd2gdKktKwc4g~#~G~zTOXLt0m6NXYT14%L#
zd{@K#j>DfY@i52Ug4KWRHRtrZ%nAJ`4LLQ}``Yqkb_-g1a%5XXrMsR3GM#tR77~R)
zmp*sbKUK!TLZ2mbccWe%5TZ=?K;9>h-HJSM>GXGb0VgE76f8ch)3!;^UWEJ^mau#=
zKqDVsZFz?!cQMw`x~li`s`}OK)4pVepl?*2g80cU^_szw@Zucc=5#`4sulOa)!wVW
z6P1RQ`%Fqh_RMWQd(z4eCSzs;833|}lGWZBBRuc6<$$H27m*f>qm}bQkA%w_m3S=w
zp7X&n&7kP*lM(Hd^y-#ls*)>-(^33~ve0DguL0ZdU)pn7!ci>|qxZiAjH{Zn9OVep
zupF&+&vO-BpJw+rch?CV#;WZ8U;$d>MclP^?mO6cH=2pZAdTVZNuzI_I<38pRKmsD
z`5qnRKZEMt0Qb=>z@Ht0M;FT!I<hs`%MW0cj>*R@CjqLWTG$YF-Bk{k?t}B6cYPOo
zMo={8S`=MypWn+0sG<TrE)2yw>boVNOt(n&{tfbIRa;>D+d<ni#L4!g2qprc2As<t
z2SzyaL%lM-=YEz4D20nfIp&r9pfD5%PPo?=-{YN(zbInh(c14xDjHIiSDlqzqm0Q8
zPynCuPkYbhu>fx`j)Ktj4<g|7!ZvBob0xxE;Oy?GSH|44-?a3?$m~djmoAte4j2WV
zW@$yNF#wu5@tc2E6JIjlCelDu9u>3l@&7AJ^ru*~7on#s0e`NnHzl60CXHv!z<@@N
zv)OxsD5=0;L<t-6+<{SBfh+^y6O$dg>f}QRDiC$cOoW=**fH{_r=<?Uk$P6RNy#mY
zK+QdV#v;+ToTIr{e>nM0^r6V4i6v#Lzc)}*33p7ZtJ4B-fwhfus=p4%u;cwE>3y<^
zt5HY;foscr%7H^avI5+uiN1mCB&hUqk^|8tF`cqnb0|6%YJ_k5>U3-1wS)_^rKtvL
zzwP>V(dRk}LFkT46<Nq?%$<sZ0a1x=A*8I+K@cZrV=Yle-9H|0m~I>NP{M_xOR=8f
z@I#2538ck{8IH--t}r%<P~CA9^UTO`S&@(<`ec77lAHgF@_b~w`p>Xc?d(q;OD$vx
zG)d_AYX6hxqeq<8L4ld(Pin)TPkfN+hOvu4tXzTd5rTOeOyO*v=vGYB=?~dgGb&uB
zjfwh8hLnmb-NuBMgS=EHch6w-`B;zQ#=~O)gVND__lM@Yo4HuEH&wdttONIFa~gcF
z(1C(L1>u+TC88i3lR@>I@~VI+i>b<aiqlU{pO<gXzrB~w^LY|tA|s=5nH>SHH;N~L
zbP$u$H6nm{<jp0H(QC|6(ORYsa`q>0Ibubj$&6N-t{wm0JHDy?GaaguI3-~D*YWMf
ztLoM#)0Ok??V+!2pj{obMv3t_hnj51sp^emfflSSs(kGmif>twwFrO{&#X55eCe9%
z6R7!;X63|yIJ_EtM%E$(VU4XNx&uRCzrjdWDL6}^D2h2qxyb$$4%9_&YI9K=k{9Ux
z6BNY}4<xiIjjHcblzocV7X5!+w+4>TqfAy%5X+Omy#}bdY;d`eyABi(oq2WVlR%9J
zmYt<yJ8V5i!1#5v(53mS+h#q5o2LM&S31MgUq&oWN44o$gl2LhiU?INo0lIdrwA0k
zczdeuyY|g>7RpKQFn<p(326B<rBNl|#<ty^oJmPe+@+M{-FeFT7E<xU2ue6Y4ZMz*
z;R*lo@g&2*^gj9aq!26~D2CW^7U}$(F~6rkDUG0~)7hyF*9)C}szxR~2Y?Tro>YAk
zXMO844Om6=mAuh<kO0(3W`@W`(okmE!XPJ*JV>+y6b30YEd6s_wJbvo(WxI}FKx_{
zEsAmq`UF)1QX`7{IT)eYY(NX|A^Y*k$h^`NRX|DHLx>gq%EF7lqs~#CM>Xnz)6M(L
zvoya=Jn_fSLRKUX@`wcZLF5ua!1z7*u$@;gnFzSo_1`)ZeEvh9j^BXw=}|T$bH7KX
zz=QSze1R?LQZ1zSij$Opw(EVPN9kF3D4Hrs6*FTf+5kh&&lZ0Cg-{VL!vrV>k#Yy(
z(}Sgj@5QFx{oO*JZ-1{S!Z5#E1N%SpE$?>gx@Ae|yM3BrsC4k*&{PHc%zb1biNyUq
z(Y#0n5HDBB2i)#`CfE?tg3=FTve+s>(N`=>+&4A%Qn3r3_s|rJLg}4mUTHCcZx~9H
z=ae90kuMlcVEW)DcKHlz0$TrSyBzr~=(6eeWb-%!!>QbN`))pUA2CIVUOcM)RR%yq
zP0i#uX%AvUW#GYdB--&?X_H5o*tXa<aeI{~PU8f_S`cu?l$`9gPX<Q+t7fX&0+7`f
zmNs`Umi${ACb{~or*M856-_h?0_>|`iIKmKDpkKC;|#90XhkCq`chsnJ%M;{AJ2wh
zNsoNVNmrM#*ObZAas&!tbJOs`1*Ta+2({p5paZ<zaF3beh)gLaoinCk(-}U4i=;+2
zGGa#{%Miemwt4y5AMelmztH?ST|hNipz6uwfE-b}odN&#l(D|&tpMn`AnuUWz;tz5
z2-=d06&Sjax!zS^=7i9Xlc^i`?Al?X()Z>xIV{_xpiIPoWX#GBc$yq6_C6_~#D17k
z_($6i?eKprB_RMGg=qV0Og#GeKtsy}b6teMNHQl9m_mCtI8TiE?WXb>B2zJ6c7Nxz
zt{^Z+@OKQk{ym*=;e`xGhYC!P+rsFd>6DZd#uEZJegWFTtps6#jL*yVgx^>oCG-7b
zdJ()UT6x$(2d4)zaeQ-Mb7|#+49|(_zK38M2ANILl?U|UXM*CL&p{*PvpYEhVZVzc
zcQl8X=q!J)*HR6`A`Va*PXx3wk;4&C4n`ozhicJRB9CT&?#~Nn>FYzn5l7#i_yWWm
z?<pEt<C@OrCr#E=!_!>GOE!kgh|M9B#7pUwmCkQzFkCvmB3^5UZFBK<P>jz9#U|4p
zBcTiTNob`4Xs!KmV%VpEWzW&q^zIB_bGlwJ0jjVG1+se~I)tbqA^KOx)R4Z~z&s*o
zvI{N+k6Bnq@L|-3MOmCyNe~mTtuQ|jixomjgz}4R6pD~T!;x>7KXrYS2Y>ioqxs1W
z91T-wV%0MhsHtQ9Alpti5s=*@k-Y)#rK~xuoK$d1hze%xcCs~${sFrw)pL3)7(IS+
zM@knQDYh>^?vj!Qqj%m4H%%r&dHgI0s>mZkxqjVI0zPeMZ3Iar0CwNGMWD&TpC7ix
zQbVE%O87nqKnZ)AQ-693K$E%8f5MTC3m@N9mk^;UzIKBj+cfMp(q#gUR!Dmclz<LD
zqvK|+f1~}Sf%IiaygvCO^l!8oIC5&C?Bbydj9&UpN7euwNqL|aJl+3qG;o4uJxe^>
z^6$ZxXKa%y9hA3-*dLeukSCDpYFxQ5b5rx|)zq6;$QNHi2vM)Vef#aJ{fbZ`!kOp2
z52A3X81tV0`8_Fqlm2Al(>(|r`PFlSQL=)ZOaPWBdEAFh_ONeW{;#OpLKb&Y_M~7Y
zAv-<L8AU+n4*oA<U|^5{tn2*@1B6^>_)bUi9`iw=ENba|&}8*Ieylkt<jYYH4b%S&
zXA!t3%mj#!u6Y(Bz_0rGXYgQ1#(EIR5RARotu`C5KfvpTZFP}o-xqQs#PAcrNNzpn
zuNS71^gBEmk+CfOosH0WyF6fJBM2Fwzc8$iLlFTK2|7^;K={=eX`81KfSqJw?1=<M
zKmWb{d6)0I<R3KLsmEQeTt$C4uFkvYHK7^dl0bx#Yk%F|r347T+sO79tzc+HrXSW!
zz}q&di0U^)s1955jQgM97avRV11?sg4#2uQ|Cts{N^sO~D`-s;!3~S+TS#r0JB*(E
zkq>vmzXiiIqsR$9ld(e_b2o6LW|rqheSe@o8lF!7YNXYcJc7Ne;rbZM`p-VQ%++%^
zXK<U6b0>7uK>w|-C^`&qT7q8Gl{^1i55ZKBz8q6BOT`4BD@vbI|0@hR4d6a_M2bHO
zT4C^$pCr+hqR!E-V@3B6VsMWpt9GbpLIfT}5e-Mlr38Y}z*k@Gx_U)vh~KX~U*o`a
zTHD^l+u!BY(Nug^C?QWUpm@`E*nyKP>VB3Z1wJ>PmwzvR>3`689sy=I+IoM%9HeFL
z@6Cxeuk9o4pFt;@pWVXQwDTpO%?Uw+I^MJ5j`=&U3u?<RT!0Sy0(9puY>Of?xlEua
zv)ikk>i5y0YgV(F3RE2e?^jKuH}L^e5%@YWa?R3g6QO4790LioqwpVq5zqKXeYRD9
zk>dAa1uI@xr`r~tN4V-YH0~|!Il<b)pt)m=p?Z_gZyTA(A6CL?SaDc3ustGk$K}od
zq%_rzPH9ekcDG#J;9l?HHE*hab@$gzqw8>|`rELn3eU5d8rfLnhpwR<VRakObn4p_
z;r&u(22!8@DAhe*^!;g@B&Fo@((&)bT2k|V(+-%_d~=>)O|_OV_@F@*l%_&{Eeex_
z#cBa<cYg!@ix=<y>`eRaOeJK2VU=nOlXBvEIzhG(#Dco(+tu%K$=WJd$M5ifp)CHO
z?w0s%$vi>FL?h9q?4dfvAV(LqGEJ6W!+GWWu#4T}PcJVwG8g-zt<zzp5}5&KyBrCM
z1uMa-HcN8Em*DJ^gz=EVz=A_a64wuhN<+j>h6H0C-JVXk&j!5l=s-B;c^lqd{fUu0
zUwHA6@#n5%!AqY^bDytZj<{~SIdu&_YgYSapFPS|MvpEcW%@{O&nVge_Nr>JEn*4K
z@^V(U$cgDMMR{OzeNPdgeR(?O{rkt);{nc?mep8JC;W%-PQSqYuO-aO1xe>%o++P4
zAikdb?<HJKdi1+go#*TN@gOgo?R&M?Li}>kv(6=Xqle6&?D|uaB#%`#242S~E0T0Q
z`Rw+cqxXHL#Y284$v68A(-u6%)FRMAopmKN6L6@vFP-1Ak-g$GG04Z;zQ%miLBlX3
z+1lVTnd+Vu*SR(JPPIqyY(iUxXc^5$U*z|O_SMZ%XxsVR)5&rpP}}Sv&`%ayvawHY
zKjec3Ad^-7nQorHJK;|-EqoXm+5Ti63{O?41L$5Ru=bg%2o|LXehQwkj!H?%%<7r2
zvw3J(!Onl$@bY}|^ULcq1<yl~w8jF@0S;mesbtD^k{65K(~2-QOi1!+8mnee7Z$A_
zs;tA29%zA?=`JWU0X+2NK1A$~Aj{_M7(@H~$Ll9VKdqx4P&RU!Hwhg{7LcB=MA1!^
z>aMM)X*(FVbLa8paQ6E>s5EcRh!4N~!i2qwowV_Bv+&(yrD-O><YaMn`sQqVLir)b
zv-Q0GLD)Fsfd(ee$H+E87QEr+VX-yb-$Ubh;3~CbbfzxwvuJGbB<d42U%mVlr#+;~
zmdDI5{B%lzBXottq`~E}^CsP^8(AM4F)ydhvhu3cbR$hdY$iZfgNv03PAd7SijfCa
zXjE;XN264Rt>-F54-97VDu4Y6PKST4LPeD_;MV%bFqQuckIngvErF23+345ZPlKbW
zuQ`=TUpJ{R09ONGk^OuAN|TEoz?~G7_;$V&coI7LsIdHbjEdgxLi#evl-~O<a8stu
zUL>&o-ETgKhOp#q5l&jF5kb*NF5@FlS=p5h#zCwEfIae(Fj@szUK;l?E|ugvCV(Kj
zqbl+Pet#sQ$PIv@+(j(i6olOtC?`o6g0=}H57BE$GWk)4j_U$(b%a2=b7c=W*;SR1
zKw-pTPvN!K!IJs-;mh}b<2jOXH<ScLTz*9Rr3bFs$0B)-+885~Y8{L&Vc|f~VLKKd
zmh|54pbuCogRl2KGcWN#oWR(-S~(F^BYY=>M}DVc${hD<aaE7yl7$5JmWhE2<F4KL
zgf}v;+8F5}N<N=+%XJWxf@iTRHqR({EzC*>oK|B<*a8}CF3!L*GYLDwS^|e&HV_e<
zIa2q~=P~;-T28sP;T9^^8Dt%1fuejKmy&1A)l*sT#Q+55Ge?%-Zy3`B!_nag5}jM!
zXsYrlGio?7phW&<K*bPDvQs)8;|?g?nXewyVdwDYK^OqsXqC515+qRi1C6cLHbE@>
z`zjIkW~g?}{=S=sDfe;b$LihNE|pB%2?73RbM+~dm~c{g24HvP&y=Y<e?@;THeOWv
zr;c7Y%El>Vlu_r9uU8egu<7rka#5&1Q(y*||8BiYVvk;dZFW7KuKLbQ?IJ{SG`3zW
zWC2H>Y<~ZUq1+nq$1kN;oKAS142cVQ>E0wPD~`+zIPPateaCy%_-sCvwzU#DH5E2?
z&&GxXuy|K&O~?L$2vO5dagQYr;H%B$$k<qQuqJ>EsV`?oFajDmF`n@mYpQ7zPB2tC
z`>mucI~KUccz?3d>Ww{T8c=mCCIljP8vndm=^T4~`DBou1-4w(ykE3Agz#&y!Oo}c
zy`N|I<E4=9s%nxWEm<EWj30Evbe`i#49YC}LomnJTkt^urFxGOUkr=?3T4NdBZKPV
zP<kmSCL3@XRVlQo1C;v-j8+n3KW614dA{XIMzmC<F+U+RB#%h1<-Uw2Vls$^@$IW=
zklG66v%`URV+fVCz~Ygl0lNSZh_2m=dWjq}+RhwWMBge4MQ1*WEDZybi(n|gpD`^b
zv?xUlDbx+B^ef9=48<6n*6EpRjVxIKWAIy}D~S?ZUIA4V%Xg7Kup{M>+(-3lE!^9v
zUfMt|Dh4^?5hevA7Abwm6*Q%GkP?Q%mm|lQZqU#oPId%!K+&`RJjG=&qY}Zut@W__
z)hU#%Q9;4H7{IInWU;1w=1$K$Qt>K`UuJ}%M7g||k-wH755gG}PT+ukU})G)wdrSk
zd}PMUvso;bFcpWh2!QYO%VXnqI{onIqFRk3^`0>NM{p$u68I1>lq*W0j(Y|T*E!M+
z4@{1D`@NV1HK8Su@Vqb{<r<-+fSTo_jlsmDE+hw+Qtt!bH<E%Cj2pH+Ys_JK<9{x+
zvw%ai?ZMz$tVWv$QF-PjSYCu`3g=y=eCD5t{$`c>!30pU;0WAcFui-ZZY3T572n|`
z+O9_)4v;I%cTJXt7{Z)z|EO9x5N~A({8g5ubMK?Xl=IR~*UiFwmpha_TK!oaU{B||
z-vpmg)OH#4V-U6`Owsp)dMBI6VvhNL%t0i_Wks07QthE#GZ~VXEgoA=>|HJu9Va6x
ze2`^`QtkfudmL>)1$m0k;vCpG5cGiVmBcMI4Q<owts`2<avi76;Rqbw-**oSS-=n}
zPR9c1FcJ01uxb}}`C1;YcE?rAOnp<3lgu(o$tK5y(w}V+kbd`sT5u@=dY~|MB_?9`
zy9Yy{Az1g(6uS7XKQCQU<BvpaC?oCYEi(uFAIC^x05WIej_U?L;+$BKI<KhJ)j!gh
zKS2_*Xi(_b2rEdc$uOnc;8O}g<akqB1day!?o$J)41k=-DD>MxKn+i*pM?b|dygfH
zOLUrWeQBUW`t6^?<v?@VMt3}OIKtE(DzcKm-q1CQbvbqHjhONWZFbX?WR|Et|GY57
z(-FvO#)71KKf<B2`Y1^HKp(bxd1yP$Y%bvhg+&(2QZe$nGxYq1d!U#LUO`XQw&N>A
zm+K#w8^#a;n8FJ9<p_?WM2USJSCfYL#`aW9Vk@ow$>fTzQR*l3l5plY0A1=oernv{
zLiSEqa^>_M<2J=mxU!epzkH%eqi1EV3Xv><fv&*UR0@21DZ1bhW)QqNl&v5j))6md
z>w)f`EJP4?7BX{Mwn-Y9FrbIPJQC1Pf$0zwTTV3C=aZK|WCEyONmfAT6;UOkP{^n-
zkP2qaT+k2hd|nB&JX)BeS}jmUVnE~Ng~&;Sp{W$FQI57P2@rp8doO;VJcVE~>=c7^
z0cBXeky`rq9=yj413d%WM}?S1lBo0t>catE%SblyuHtbxGKVgVkvyubx0BxIj9-C&
zRb2qTjc(zoSUzi_3gCr@Vg;*p94cFERX$?Ezg|_7J_Iaty_DYBBeaMXE-INt9*EV$
z)J<EC60PL*iNP(V<T6oWYR0q!(`%a_!a)4g3Bu7UO!t-QM;MCdTLUjGZuhDl6b5j|
zKD3@=^Yl2Q3(t%Sp};|?P_?-5N1_;$xuEE$%Jyo=e|PMVM?)alsxdUakUj<n21T-b
z)^f?}%b(Yku(g0eZP6>Q0K?@ib~cP0FOQ1utuU9c!bFnw20~`Q1{%)TRr)i6!lF<4
zO}ZKY4=eKuGEs7c(Mu7aUh65quxb7FX!?%HA#q-r0AZ(ZrdiF>@)chaP*`2#W}MLn
z6V7Eclv>%913a4K7RCG!HW6HDks2!u8Djyix4NXvkUK8XbrhzRS>HubmtaejNDqXX
zi+Qwbi>ix|?l}>keAora^24dLahL_UhK(L)5Jz%~=%-jlG-V01IvOWA8(_If?i%hp
zC$=@q$0A30CZ&_O@a#Y7I3D}oEI`hJf?;@Cy!>Nh%`^Z)&s)GlOPtU6nhBBwBu56T
zJs6E2duu=3KA3u>&j5Hywa31~Wc^sFkz);2z&m17a%?Bp9j}3>O2hL{mGxYdq|v7)
zwYS}P(LJ_Y_@rY~fQN4lz|4f<7uq9rz7W=fR*;d7=<6#3$Tl9TR#DLJMyPZy78`yF
zre8xpx%cTo$SEP9v-)*Id^#y*m7E#SK%Klf$y<F&_I$BsQ_~a)2jpGHRckNba(l@?
zH)ZA|xe$7nUgx1Wj`rDFE`E!1@-kf|M~R%Ve>en6e{?h0R2cmfpg);mOnv_C_AKr7
zt<Zg`sLzCCVS)6q=Si{Sx-=)y^hUNW?AQck``SJ+u<&%$R3~xK_0XJ=w`q$pMxl0@
z^u4$WFnaMdyqZ696ut$i_PFOD!j%#FL=?(S)#8CDWg&2fi9)QY>TUT8Xp#sBH3SwY
z@!maVhgeZ6t+Aj&LU5q_GcB-yfjDD5YKRBXpcSR%{j9vcasCgfwLctHEOt6I9W@zF
zR6Mb$o=mA*{4)i1pRCw6Svujb{qi26-gypWWn^m5GUN*>)u}Ag2EA|TVi314{$5!U
z&L5xhnUGHRBioB}H-T)G^v}sOBe>Fyf8F9ECv(|eoKk;;j1&^_Mg{cal`axB5JQ1V
zn|3+}OlFcMVq&XG>e)o(7y>9C^y4xy-vs-3R7bzRoSe<O|2o|+DL6|#8mFhl5N8!P
z5kVRgSO{CJYUBw}mNcXSVbGS4jl7Sh`^#(dnmvqk4~G~zMTz$cgaKU6FDcXx-|OpB
zi0Bg1fw^zfLG=%K6W$a(P*r0BXl;CQIAB3glxNsgQBJvmx)=4ID{UDDJS<4{5^fN2
zl96y?rE24?vjy)<C9U@fZhz`K9xWt#r{$t*gr)||sam@{%P#!Beo<5Uyw|>JP&j8o
z^*?hOrpxNT-gb!QD_A22TCk6slvO7sC@afoA%_9ko5bQ*lqwV_0qijwM60S3`ya_h
zTOJBBLq66`>6<>hRh*|hvL~+1Zck(tuswZB?04bU?fi$Z>I(v56-dI$S)<07Fl9Jl
zjQ-ckEh0h5wQ9E<5KT_CQPsX<S*TifNEdM-c#SeNzHVp{6wYqJ3-uR%_u&U>m1Ibf
zx>|SsB@Pwjkg#q-gJGEjr7_t#u*d`E=Z!eJ0mOx8Uu}QKC)cvypBNv`lMsw&c5vrv
zoOiRAgw`ycW`H{a5)eBq3_TkmedYJiLAW0emSyhixVh#`I;dqPT6knvD?}v=#(GLt
zpXI{96b5cXJWdG*PI9x-J!<exGwyf)b^M)yP#gaetXu4_vDPz8v-fanMiy0*7@Z-l
zB#HUc<<Un0{*J^HmKAlPgi(*nR1{J}(j1EXetBwh#Im$g>y)I=8Yjh<F%fA>A4iD1
zc5EilKoxz3d@pJ=e*6Lhj9O+r>A=iyFmK>80E{JbOmQJr-=G=^;)lx2OPIEIYX<p~
zMa76Jq`j=(Zp&Del9yGeV1v`PZSM|O<r1cAv#q1*?!z6;1~}d_-Xn-}1->r=*!jh$
zr;Jax9J+5%L1`hdN;LS8p9u)y{lp1CqFV`&KEk~&xftLb_hsZd!RSr*4Th)dkd_>~
z2DZat#KV|52pyGuoN@z`m_hY7SIdgI;^Zb6HBMuUk>TPsxa}J|38G7s%^eO<Qknuj
zOJOMCW^-DBx8T2ca`FF)Cp%u09~OO|vy==G2p@4By16`AY+51C@5`48Oa-t=_gO?;
z|K(@R9bj^`6TBh+?B8UVg8?YF@55g^&M^9?ZnZ=xoyD?R+uqeQ+OYRd4K@$>5HtEo
z+faOOXyrEO{YXtHz`W4=GuJOpa1$~8_W{?h`r?)&%p^eLvbCL12u2-tBTd{F6OQI*
zGFMygmh${|YkT>WdL^n&$(#4o1T^ZOj~v(^X&u#l@CU6AyU{G80TW&Dg*D@Is-8$o
zYE>Z6cl8KsS4r&)NHtk-s7eY$lNI<TSYsa#SCDTcm-H=KJYs~Pg@X^j+H^iStA75A
zYUU%;s)gk41l5pM{AU>S+IuQut#e6pp;(o~s(mHz9IZ}G99UR8EPK{#(&Y7#Gm39Y
zCpGI9+ipacw>tk*b4I3-)}<2kNte1Cv&GP)1Y5IzO{qLfXB#E~ZAFP2An?y|#y<T9
z1~YwR(f2ZQ1)hK*uaF&=v_70U6F8jpzE-@kKI>WG4!5n37CW4^&*eTR=FQ+SZ#sPJ
z9am^szGE@OHCr?CeKlgychlT=@%_%g%%HaYfGHeL))pSU&3X-KPN6<q%C>l`C@u`u
zAwA`CCni!6fLO6vVM-ME;`^xCbV`ExTRP^MmQ4wt=y8fN?MJ=$*v(rB_r=Gb(MlD3
z|B5ej;~|>LCotP`vRgOeHd+`mu%h|==hQo`yhpoMa-;L^>Jc?U8RzMCcJ925#~~Pp
zHlfa?LiPSmm=?j$clM_;%;mPxPVN`UV_n2(tQPW=Q!qd+me0`&5kqV+$S$terkl5d
zlFNtC*8R!BSDV*~uF~{m4pCepSwFr%T{NsY$Ezx8*@fG+$)&v|U*ky*H7-Z@Sm$J6
z<^Q64N&QQ=!gb0I0Y7-m0E@(b@G#Kxd!7VEl9F41Gb?wu{ln$}B1&PG^jxD(G2O{{
zr%5j!@jOv?+GgKcyb=o*G^3w|vFlZN%3;viUg~2FF8|EMS%nJ>0!cKEERH7zAGr?(
z8D1F0y@tmjUYAE}z0EO9kqLl8csHY9G}03R(CC1<M%x@OvksVM1|GCdC#;hUt@JDt
zW^ZV>5N-|9QV02fx#iX~LGZEUL2^~!lzhB@CCrN_UWyr+9)7tS02Q~Vkcs@w%;esk
z=Q9^Wy{hnf1!(*GFgX}+0{Pvl8kx}Lk72#k)9%Z9v~Q(ZvryDU31P<$$PkTzGZz4S
zh~=rIkRBY~meB-j4N~RUe9N3c-fwTpl8Gl_({rh`*uxxaDg1CW_~lAEwpUz@;%Pl5
z9~(U`Gl-dnJjt|}1XA{`7|IYFV`S_*dA>_ycJZ32xUb<&t4&v%w~A_ND-YhrOc1J|
z06tBkz+Gm%$wo#q80F5Y_1fi1GZ`~*jP~7|oBS@9mGY2QvGKxQ+by!e&ydOGj(OST
zuvUSdWdKD!Co{W(0Vd20<L@itFW-_gg?yT-H2pQ%E@5Bp`bnQo>AJ5-!d^|F@22we
zlA8Jox0nPY;Tz;3%ro|tDdq_?ZK}LfcFKgE#?Da&+ItsFc&k!&2Rm6m{KzoWf7Z}v
zldJtn*<d4E>utw6BQG`ZHTZIaf~*hK5y#tBS~3Q1IYkV%N7-`p+c1<=SZm{#PC`!v
zH(lkNW~8l|^aj|$rjUv=3fCI#cg)oG7lNWrgkH=4v<t6Nh#}s(^)s<D$oK6tvV8d-
z!CdGLN)VwCyZgt)VZWXRSilW1f8q+%@*YtV>8P^eQ8JFDJO675VDuR(fV@l?aQ}H1
zkrQ74pBzd}lXsF5x;1-|`fDQYBL;@2o_9J~<gZ%%*fb!yTs{ilHFy{$<<4@T_|C(i
z+%RE9Tk17{4RfdBC2su&6xwu~L6Ou-T+uBTt8t60g!|Lg1#Ap4B?v+kbB0?{YBWH7
zdAdCj1_K7~N0*=L$Y#x+g}i;a@a@>(B)ddep#rzSB66!`cdMCsb4R^onfO-S0mHaW
z<DLONPA1W?zUI&3s3tkH2`0@uFcg}sGSAgN^-T9n$OO6DP)Kv3rC|1QfaV{)0ggbA
z@$>DAtM6^=sp?r*FUs55>8WEx+X~0gc;>Pbf+fG66KnP_$Yl%Iuh$!V)El5;?t!DA
z_944+^inX?%O~}jL{_iJdVVZYmU@FZw!eKX+$HLP&*<Cmf3e;OPuj_nuZbgI2Bq(-
zt7e2@ync{P^ivL(gr3hYmvRiGW9V8hloF_qf?ps21f?nianq`ZY=<l&A04ip05Id`
z*=z7XC2#t@Fk%seB<Iy)SWkq5C-}j+p<KclB38qFh=XybAvREAga9^MG**ttc)1`b
zZoc8zj&NEMq6#}Al)jd@A`MH3(<9|B7g7<>&RG-T_+LfCP`VxmZ?C`<_A*BxKOr>k
zwN}?l%HsEgz!}rYr@=#!AJC_Ck0i|HiRFQdRTu5|Klz_(SBC?m^5zV(Yjn(A@&G$@
zvcS2N-?pc#je-zRa}<zGlLbb(7hJ69q7{=_521vpfIq*T12kaoyp=%V=;f0`182?y
z4xOjY!(aoiIeWwN&jg@D;V)E%zW&M|)Ol3r5)>o_MKJ&w;zI`@-czV+6&p6or~jdS
zKAj5+Qew@`38^*1N|=M(Ht|F#MyS(lS_JYKfd*6KuF*VNcB)!UR92R}F6tQ$#Oep3
zIm}|%k4=8JzODua$gj+7fz}-MjN2yDw5wbRh=p6td;<F@rC-|vj)l7$@$>_gI!2!|
z;YX(6K+*SK@=2UE#0QVD)aHXyMy>8l9~!@Bon_SGceH#qB%2MQOoPrdJWV={jzkE+
z9r$ea1_na_IDfNz-gVSRjFf#Sfg%Wj-E?DwluZ}>H3_#BD{?Hk_CkXp*$ax6-*2OX
z3+fH4_dF|n3hgq=^@WqS$N`ksY&c8FwSA8JiTu(6<QafM;I!(4R7GG2*4J7>K1>Ho
z)dpI`ul%NfH?RI)Zrwh*#9!=HRtEiYo_xliuC`YRG@>6;T`mUaV>jYU4O@^KEG)BB
z{_hQIC^k9GNa&YPEt^?Wd{9Cf$7X68&?Z{7k1&2+9uPm(t+4cxZUTvC<0UK>+s;nA
zM-O_N!`lhcDQ!(wvyoPYc#Q3*)C4V#yTceG)RY;G<+D|6YTEp{M7e=*i~#Y?zX36T
zIg?Z64(nkDSC4&YXo{jaMfjx-2u&|W4BEY=S0XXH4GXZD8#II5l0FW5`!Z#y9z#oI
zVN&+V>hH<&S|m!{)-Ilgg%$6|R<sZyu5U=lCN^d~0LGnJLyX|8C8MbU@*j_@EzIG7
z6MBTo?C$bc0ggJ*CkA%^u9*C73u86Mz^Gcv|JY8o6ZsE-v`CHD`6BVg#xv%KpeMEp
zL0I5@C1J~>1lXWlGd(Foyue5F+$5m{>j0kdd#9Jy<MN5`?hMgmQz7Ceo&$lKh!_FV
zKuloJ;dOjNZOMc}^9v7PQ;3C$Gx7))y5Aia_6PYeAw=T?eHRX4Igt=82Eu@(Uet>e
zbWZNsPAue7OAbJ6qID^=9}MUg%8@GHNrL*44`qEU(0oS3<5e4YM6058N#68gmg{4b
z)r5Xl%5)2{6%k*+Go8@+$1E%_qdxj~F!zikWky(#bZYf;rt81)Jf`;iHbr??0~;m5
z*+6d-7CK7`(i9g**-TW=$w0TqmiWTS)d=jXQ2I(N&lQ0q9cNgfcIks0F(uGu;Ck%p
zDG{m=K&*sQ=It*YevLz!G!T$EhKH)EBaunHh%Be|WAa#j3^XJ1^$pmL7;i99tTAUk
zI*2Ke?T7#B4NdtB<0ZL|$;VR&y<8=r<U^I|NhK&;_s(JQBE_i3Rq(p>uYAfW_(QS*
zMNnZ(Bq37~z(a|}p=X#Rp;-$sf@<H|zez$vTdEdKJh6%4R9aSEqpwvd8!+D?>#2+c
z)LJsRdN|x+-v`w-^;W|TnCugn-o@iOJ269!*yGOuQN4~O9jEwlk}q~JddO(Un{Fnc
zG+#2U9ecXMWP%2>vscmMtGN7HJ60;CdkSZ)aDk&CL*3|iP8^b(XyVYSqwO`h;cR{!
zhxY15Ht{o#HVML_xO=KYM&j%lj|t6e>a}@4ekC0wG*9fJFE}S3$1aSBwq^*6pyVuL
zM<^^rDV#Kcj){kw93KPP&jJD@*|?{3-SOGe_F{jeo4KeMQ#D7055#}HdFRex@tn5T
zp%AZGqOGjT?rPKL7sKPWYjPWF+O$B=7zFHfKOt?3!DCzaVLn6Z7`CWhXBCbBHzx-;
zzG}!=IO&5BW)f79QC}L$1R5#T&h+<l7#m+8xH;Gzw8j~~NCFfz(q>hp=i95IDs>&6
zl4);KUfg@SpBnBL-lYPPG?-#O98CXocySTJSR6C({oLw@qArgCAt>SSb!t=twgklL
zl*kg+-nn=zsO^?Zgu356w!#L8t>F1cQN<8kwpvltSbaC)POfkP$rAEZRyGrOI4IZB
z=yqR=iK>%BXBm6{>$Mzb5Xj-5s0$j<%LP|_Vzj?NAPv!3DQcjhgzp+U;let!0UHD9
zY95dbD4&0@*+UJ1pDbP~FUA8m7>T<w{7{gT7=<IxmYU5fzy5Pib^i#G{~wQH(|Ui?
zf44R7C!d|{4mdOIngdA>|C!ip(1tyAdmKatT0=T5YYlrCeY`Kr!A`h))AhkOnFDLM
z1OTEc!BNK_g8vZ<h9Ii)e-aB+5cryT|MesAddGxrQ~JW~FsOK6bf?{cb*1|2B;Pq9
zXhP8Pm#?5v60EhJ8)|3UGcEpt*I_VXrD&@H8G=)gDaidUF}u^Nsp*?)=Sq)eRkk2M
zPrsF2i0AKc6-GPUbAvYObid%6Pj7<Gev4Uryhz!xn-`8ncAt0+I{O+u9APnV0Y2`o
zq{oKE@hZSf_tZ-(=J*mxktNU1)7^2ex^7WN&U^OL+~MuTCUp+`f4{hfZBXIX=vLX4
z6s(@ild&Y$hoM(Z=w8itt(klS)rK3nw0mkB*eaF^IE8PrV3riQk>hD+@j(JHr4q;s
z6>fc&{MHh1E1fxZnJ?y^R&Rf#F|M_VXo-mK5{%)zuK@<FpiBOzL#Y%1<<H=;5r?z`
z+^P21#00>-v6Dc??C~qamO7V@MY9VWJQf4G-yfttl=c$bQZs=`+`;e1cZI^)q<!YC
z!_edJ)z5!Vs;3d5h-*knXynDdQ1ya%O@xHCh}7Qb+b~uKy4n|?X_Z0k3E~9Wql-uL
z5xC!qQsZu8RGF+Bi4_)&oQYBDI;IH=;Hi=syJE0)zbo?_+jYK?`#R+-fB5Xz817L9
z05lDvxUvywM|fb&8fcmc*>q-8xfmfR#!sKCr1^-EpR3Hie)>Hj>FF_idGafe8-yP4
zAB+wLZoD>%9Wm<@H-*>j_}u-y?Y{thQpeD?LQ@JG0e8h~^QPIaX)i^<9{kLEb&A)K
zw%?<hpSBz0i?0*HY(h0G#+}H|y3;KD!FI?fdk5*S$?Ol#0ZWL*Chs(TmA~H8=F_FR
zOs#6mpcMQSagUT*)p7j~V>31_cxWfc?6EXi;$|)BN;Akq{Of|-_&^+OZOP!QJj!~`
z7GQS_D>^R{201%%@Iu}GmD8guk7VTY*)?7Yi8mMETOkH|m`0<8vhU%B)H5UpK@UNk
zqN%}ABlN9U;~#t1RE9?ntk!Ht$_F%O3uVJ7EQ7`pVkixveBQqeG|_!@)RI_gWNNri
z`jqKj78@~P&ZL=%(z?xldjBgStEnBkzEK4^iR1!_AQ*ZvIC>T%NZ8MmL8-!m4-}b%
zX%&eGVqlBs{sp)oPUpPmpM9=<D)kfb;eskF3gDyKc)yaKggsD8F=DuY`-`L>|BHui
zpG&UDGqDI<9f<KhxUY|Vlst@|02|Tw-?s$cUJdbmnfLzbImnH>9@vqcP9NMAO;r33
z^GM#@AMKsSZ<DQ-RsOb_^A!Gt=`^2R>+Sv!o5~FceT2~px-Us;iZ~2Ws$AFh(hm9>
zFkN~SRqL;Sv`pMyf_Iw0*_qp98Ci3-iy9vKMJevrzCoIgjwAU)fm@SeKjoAFQhuCp
zJcx9I*JBIPAfHad&o>nW6D14ym<oQCM=qWXuR16d*4enGe#bL`^Ni-Z)V!0VG?1Tn
z0#AEUqeR3QA*B|rS2A@=3Q=QR#2_H><ww2q#JePE>NLzxFf3{*hBpDQLbcZq-Nxc?
z>A+@wyIIzKtI4$wk}KgPHY30n7!a~`|Hy#XxSj|_&ua33gc%^zV$E47iQ{A1A$w?m
z%#8RD%dM%fN5`)7O2TJXh1@tiD*pGx7#s~AP{V(;MXxa(4(x&!e;-%AL@N(pVz-7K
zLMam*1Y#=eI85(}S=9V21>k^r{tA!R^G&)!EQ`uhufYs%gZLD`$?k0w$YglEE!-KK
zrYxH_b1T$)uf}&@Q~TL`!_!}^qkP3h8rcG#Ps$89d?cpSVe!BhCu1>nA`}L4^K#cE
zsRoHjWW}0BVWsnjf_1r7r0z7O&c%@l+Rp|IdGN0v(1u~+*+}NUm7t)90}qaAe_0(8
zXY4vK?|NeP(}n?s9#*m;Wv5^TXtr0x4TLS9PH6kaxs4aAf)4k?>IVgVekdW4bzFP`
zQUQt*Pq_9X>X9UcqNH${&LuM}gD>rIYn=}5{6RYGy={#2_jm{lN&3$NscUF>A1p1h
z0DO=4@+c3j%t-HlONs*G!4rib#FYlJVnWV(^*Qpu*}@BL4VW-w@i)kY`MyN~gEknN
zYnb%F48$cMk^#Km3u7??BI9}|q6w#&j@c9w80Fld((NBF@bIL=U0T#jL1s-YX~>}l
z%86~_it^x-$n-6<JTNNG_xQ&e2ySW5z@qiCAUaPs{m_5lC`V{`4p{;~+6{}2oyA2;
z`m)iDgB@qWF{^n7095#!FA~S7nN+hDu_pMq(eSh`TVkfgSVZl{VCF>KGC{aFWsMBT
zTImj$lh7Nya2V;^AqJ$g=R^^(hF9ag^gsoj)j+5{qP+~$mXR2>)Ed~#vBCy6_62AR
zMXJr4$)U?rgzq@cpREnV@M8cilqO#rBixikT|xF6R6X3#tabk0_rE{f>j(od3vm4p
zf8*?R+L8_W!}PQO$|U7K$~4O+%CbgeGDV1Fi-eHCE-C;QV-%xCF)?MVnKTzb4=&E7
zQtZWA8w@eW$^pjy2nrjaALSa7C199Kpk|WZ!vxGsOz4N+WUmDEaf^tI3z0V|oZfZL
z1#oS(Y-VyA;pZeQjRg2gsbFFuC%S#f9mI_Xt%@+{teSv32IkHbIEx&nr1KI-dRRPe
zQ(X@#UUH^%EeCV@(b$l;Py#G#wNPQeyv`w^t1#NOZTI0RXlTm}E9a^$Wxlrs-v;!n
zY@Zs!Q_XA!h;r6>;8R>^cs9h*5D<JPCukoM&Wy6EnUW*v1p|_3NTNA58C3Fj#UUbT
z^{Frf@+M?;klA1)<}oV)k%~0LD&zrqXMmM{xdp05w}&!un~yXi8V1ni<>*2&u<%d!
zV~GKW8)5$6(6|S!>9yLR16C^@XGW<hJQGgEUemdkPzKu92>FP@ji8&O-daxby)q({
zQ=gr4i!uP7(h{U{#Yrq)uxI9j<(Fm)ItFl1J#`$iC=f!7nrtOivFUh@J>NR>+hH8C
zliQnX(3bjR(BXuTT*svXVZo}VoGH$3@O&xZuux10!V0}crfJVu)$YxrLfKkybpv*i
z0%C@vKc=!J8`h0a@BQ&0FeKNtcD-8M=rCr$^iPNPQpS9Rb|goEksH+-`)AT7$2aQ>
zaMThPPB<Mz`b!0N4U;7NOZDlYjErHYnIe5Z3?&?GydQw&5RFYo7sw7Nw=gc*;-C^c
zIu!7v_HrItm)_Umi}WF}9WPYuqOwwa7rgr%v8tBF_cT*iZNZO}qX%D#$#sf`Ph^`c
zR-d%xoz;AA8>A|{&`6)xHeR0z;79lOfH3>AGj7$V_vVsvOIDJkk5(~~826=Ji5++b
zF-qKjwwdW+&}7`%l*?0JF}0?)sS-@K`|(x>4#1_<#QAZ{u?BC!jeenvzhi6F?w92R
zUlkoG`y;7_N%f{P%!8&!@}Y!Fa#bbtWa_{RcoqWUgz+@lARV^K|Cb1aU(F1-UE!3_
zNEAb|H=H>eV6MH@v5UM5i}E|rvXNCJjVL0iC>B-M>0)GV218^tB`pIjc;u+NC1<%=
z<RY9RVj$pH|2ek!KXRceWUV@e2z62WDIFZo3LKU}fxZQX;@9GWgks_Rm5X3f>Tg$D
z9cJHt4I<WFDuSGRrf?vVzn$&=&fQQEMYES7fVIPAs9h`A<39;UzCoG@$fF7QV7MV3
zjD!|YLai17V@?n#fXR?4I^sZ76zA*AKY;4{TbSXi|NO(_`=A{$IRU^%&Hp2hYadbl
zyH6{4R|2vYJdOPdWY4PZ+P<7T={RLT3+RXtqQAbq&^c-3)wGnVC|+j(L1BO652mR^
zC@&_rjsJd_nJmOcr8A<SX;iDsgCs);#?y9TbN_QWmObc$<V9YD#shZv*F_nwu)<RK
zli>e;{df?1rhj+XYyO1@_2unAPWXRB{Jnp0IS`}xpZT|f+mS%;!2tL3f8b~&a@OD|
zsEkwMV=dySST)TRlRnce5Zp7$)g0Da!lanA#a3X`C#=J}i+jSP<c%07$7M3XjkPa$
zYtte(Ju$@keu9W<2Ct<SbMs}B$s?~VdX8D1&!9SSs|xRQCEO=}Yuz|)#fAq8X?BxO
z#cuRyABR(-N<<(AmM>9C`L16Lh+)UduYl=Sb4TFW?nh!9aI@?JdU^gk5#e+pP$;_H
zO}6BXC-%JEz{lGttPmWYFF-*g39E+AUI8i_i1>xcVwM&Svs(D_++jN0_kXhhAfVFC
zJR&vo21n}kHIF@r8D4-g%J=i|<fEEPp4`XH{@T))b|NE;kTeyi!vMrzdQ%%`3&a-*
z2;GYze(;M`IrxJdp@~3O$eekR0s^Y&>pS?H>9u8}t4aO~amC7SV8Iw&{__yxgY10T
z4ocSQ6tD1DGEQuB@%=AreO2GzdVkLqoz@qv@!B3=^qJR$qyL@h29MH`^=;aKhp%&T
z#caUlkb*JS_`mfBk*7B$1P}6;?t}d}kj8rnGQNl6Lm6|we5AA`_JrK9%9bvU*39?7
z!v<~(=kyS(ySYK0=J?y+t(f`2SKF>}AzDMUt&+rfkG!9J^?aWhsee`~4YK^R1T(E(
zAR_yZ2M6&Q4BPo~qv|Pj-j+is*{D8({;c#}VkjR{oUl9C=iA-i<`35HyPz}T??-#4
z$MH0Q9g&zVP;K0O7yYU7+;`F2D3iy0!9h;3@V>Ci4-cHhPxd$_rF)>k7X)*sO76jp
zY#|bx!ate7wLgfW=9#Ut0FE;?)?ptYE1;~_)qZy`9#D|)S;d3=XXSo^hI~T+lmAe5
zK0ze6*jOSV{UHb<`yMRiF<5I~7l^tq^(4^LtsZ?+>p{}10Fk&<p$^+p0r96sr8*&R
zZ*$$65G?t$)VkI0>GMfgv0I2EfH%*3sIo4<rqTs$y``T(gA0ANTam%R?t#*Z8YrQz
z&i5Cu!6N`+;fDtn+-j8OEryj(<UAFISu)M!?k!;dQ=Pke?{V8Xt3YiBc2&ksjW77z
zH{Yk|H)(?bII|fj?lQFq!B!}v6FJx!_)m4Sh2Mk$D)W>oJ6RjOV9R3w>6{^2#I(7b
z|C_f2hk|FQwuDb6mm~$S@)q1Iz{+??2=tT%{`sv)o*(Pv(aj3%F79B1k)t>GI~t^P
zj|c&!QL5{^jZ90)faREnKRCeHHfRdNi3g6H_@KFn-D#XfI|j1=ps0}K500T7paV+D
zqyC@zLkW#V!l3_tr$QtRQ(68jasTcem<y+KH*gzB@gM3)VEr$?-aMSD|9u}_d)u*1
zwaH9o%1j7FwwaJAQ)CJenTb@kG4oWJNg7DzQbgu?PRSS&r9w!g4Ch&WKHqbG-*a8(
z{PVuvS8RK&*Ltnz^*r};-}m!6j;Tu%2Q9ji8(~*M5xa&)hjuEa+G*cGCBT4X+E%%P
zq!H1P8=n&7U~SrInr55BKUmZ0lN<=h=LbOI6*?DUu3gmvaIXn%*>&gEFdXvfo=90u
z7`ZCa@OzG0KLpAg0V0xjW7ATb&IBiX^n4Sv*`ZSYZ{)TNg-ay929zp16T|ga_3Pu0
zIytv-NI0!Wtn0qzoAS9Q548|MgS_~J{;m|h*Y%(+2?kGxH{Jpbuu6*?Hf(1v^=FM#
z*sB@zUQ&^qehpl5@1=<kF%Lq?DCW$fscL*y6T&fl*`5vEE!KLgtcJIIT(H;IpL@>O
z7~E#DyVCk=)Hdm6`QV9Xhl_rcobl1+!B7WGK6ibPLStI-;=WcAr%YR^m`RAX9fO+5
zWh9)dMg^)~%kS|zj4Sbk0&^agwnf)?=zOxwjtTrX46pJLG7;_9Qm35@l-Un8%t5Kp
z*OAp(^z79sntc-|*?0<one&52K_ijj{p0mkfd5sd&vUb>cX@2iykGgGLDBv}Y3Q&0
z!J7W&f{uhsH)(>ec?#NtyT&8kbf(I&p-&N={b2`;V(TNMrbwP#qfhAkTet68owPsS
z-$F+IRW^^YTa>|>9?8CWb!-nf;@3cXu5^9=j-aGDF=P7q&w*3E)aTeRF0D)B&-k1-
zcoUF7(%6%KM`;u>fQJx=IGXEDP0UH+%DFw_BWXh`cxLI4wAn`ZBpj^dRE*;ZTqpgG
zCEl1~X({@lcRlD9ji+?LO1m$c-)3YI_fnX;Xdh6l)Z;?RKbN=^ie9}C44xwO!wOE9
zkmJY2^3$Kcka)e3`dz|hC|~7G4Hb@kfW%>DCYhOEz)xrly-kPw5S;jbE(i{_x|Q^i
z6IThVc;W=xCP1(b{XdRaus$lqx*o$DklT<cB>3Jg4=lcf<L100n!uCnjbqWrH&BUo
z5V|OEf@gDB>c~K}m5_8n7H1que2hoP=1cfD4@Nbaj11^?El<8IA0?js<h{yu$qBF}
z$~ywmxZ}~t(;H*!iob;`Sk$<=2zDZR9JksQNhnf&F`Xuqfj3zQo7^I}kl@0H1o=KK
zy+0m{lpQo&UrkIdrLDNej@3{@9ynN&W{-yNiu0WTwHO^!oD9ww6&l@9%c;VGq?P9U
zVRt+~1{060xkep&&fj&ME{gb`cNLsXjsWEGdpvFo%ZJd}S8A(qFQDB=g*G7(z^r@n
zWt*djMs!V$mO#&5jWax_k~Tx=x{32TcoTNitH1Lu+3~=@V3NcQ$HMnLZ^?bv!i~7I
zp18RactW{3*x1-9TN3u`SX2{K-q5o(w~+VB?TcE7?05P~8)~hA{P_5C`kF`{`D=1E
z%qmi8qQ<R{;-<4}w^wqTnx`$6n%WP(rOWQ$^eww}bGU;215jb#T>DUEO_8NnhuXRn
zJdaLUI`uhrcvl?GrlSeARgRQF4;asU%`zr?C+*;^6BB`Ocr{^4gl~Q?eTn*{3>vr@
z$4c@*a4@WNXvc97*fAAHI|-`<I~_fcW!4)!qeBh}oRY;2N1#3Wo4Z%XotU2+Z=r&>
zt(lMzIp;y8Em6ob*nL5V^USk@PK%=w=rQFBMIVml1@gXs?y&>Gt@Cr+u?E19vU?Oh
zXIy0QxgAdbgvQ=<;lq+m#+CZ9VBLiZh0$alwLqOpF{$7~Zi>PD`%vbJy82L;0*m6&
z4#W(1+-KR_@ozS<KZTRWo@5}E+3O$$Fb8K5C>~7?CkY7%j{BfF46h+5dM8PF79hWy
zoz!#s9ApP50vJc^t#yX%fPnmA1*pG_%ET|6m)xpyeS6QwLFq!{-XZ#(Ki_}QKl53*
zMz{X=M~DlXTt(1N+tk@~+xKU{G3Lr0mOb#@m>0BpUSzkG9bGNJ$|^LVFHvpk%Ct%#
zA*;<<(20DkA2Q<xt;RC}m+=oNLxH>vZKYsS3G=d?mozIt*|j4Rl^X}P`&cw{vDZ5z
zt;#DEHV!qr%KO`cXHP9NBp~m~E?6A~4Hkn<C`ZS10OSy0hZJYxS!l0cg6Y`P_&dt-
zo1At0C-wO-YUPAWTjI`=YtCNNL0???vqLH`N{Kq%yRqqg75g6dgc@YqWv@5S7XuR6
zp09MhuSlAL*5JYiy(*q$X*>hC7i4xn?Yoh*K*P{|8Gk-7hTZ@yWgtz;6S7>lym{)!
zj^k+AJ<q8c%UGA0n^fl87Xm+KxAo<0$MJu%os<2v_~xh1P<}IaOvvJWBVKzj!a)U0
zX<0_=16kD@gUZzMP2-og?ude`foYZdSVgT#;gj|_Wg*LB1=qJXpPF6ah7w0v-$Cpg
zeR8GI13(!!@8qmhcE0V3coi-4_Yf~P4#_qR=ysgarw39R)=4UgcoOX!5nDAsy!!+U
zx7LNmJbGf|m)k)gEqUf#23g;P&-O-Mz=SIt<vwd)BgO0jeTP&i`g0TxJDF=}P}{vS
zX}G>UI|8uW?S88Iz)k5WyBZt`=f2pRgRHG`yflhnrQYD@Ujw2%Z>@c66!$jBHOO@-
zXn9$$jf2olTdh?gfuex_{kS?S*76og!I?QOfcSnXBS5OP^Zwwe=ZnJ&&l>k8T7J}i
z5%lf(0j4i;4dUHHZ;XcCv@?tT4$g@l9n+Viy|V!VhSVi~CM*ci%3s~p3P1W|X}mW%
z=)I-qQq4tOAMj;5n)*oXmO%{&z?8e!e~tEP8y3HNcIKag-F)K6RT_ca!v^tpyTD5&
zc0<-J;Obk8F%2Rm@Tecj`gG$-)G2V7Z15y=Vo5ixTNElPg>33;4jYAqUf(1?%Y-2w
ze<gpjGqBg4xrd(~DbGB|7c+VD06TpOl0VZLcE0+u##e%v+-OTAb&UGoTihv8-AreJ
zHpcf)B&pT}N?;O&_8SA>N%Zfn_s(e6hJ1`nx_9j|HuTRgieF0#NA70X`-@5OVrn)g
zuCjjheCs^idMF8c7kR-^w@;tI5cRcuW*Vf+Yn>6N>MK?iCU><Ey8~l%YjL-cp=0zW
zYNe$I6mdSc5pXurcOs(*z>ld>6!bb2&4xM@MiCzqv`=D)wOe^X<k^6f?Zo*`d9~6m
z(eTot=Zi_<K_(%0rbRj=-UVd(z8#~~r^r?zp_Y7+koBF7O;b%i28T3!d|t(!LHe2O
z@{6Ve)ilPBjNKWa!mYG}2M<rmn7~CQjr#aM;RYkcrrx{^cie&h&65uYgW<7MMo<#*
z+urzvkiTR7>-olkBNW_^hRbI}v4y#tTN&5Xv4}4>Yv0GU&QAK8p95PdOxeh}@;x@8
znPAUNTDf|yeE;uZ-UJ?`Ze^m_ef&#C&`?K*AY!qXyw~ve^w0)VbQIBp9^pv6&Ma>O
zJRB1PC0W95?)lRitzC1pD5MT;{4>@+GCS2zcd#KPJGLRa{x5pzu%uT>!%5#7y+3Il
zAGl|0H)CmmMRKFLn)vBSePtN@3D!p9R2<ZdM<7#Yw)Vo{NE%p=s>>tAK!n9qR`3wi
z;lv}{=IwZxfaLdcU2~z>mHM{-MoZa!;<*B_`=<8CFCA^6_^qS)k@E}!;O+rNjoEf)
z<%Wf{=2Xs4ybc}>L0)tz-OEe0ItcHybbVG1$b#r3EFba^=y9oM5qb+83hdki0)Z+*
zI$&^$1^+RkumVSlKYH)_I@p+<KbEMkV!_ocwUKBIPBtzbpt%x!9`UG&ZKlxR9#l$|
z*T*lAA))qfByHs1l)g1UK%yA&o&R7Uvwvb>{_eBWn4kRaH!Zk%T$^G8=*+OB5kpjJ
zHlJHY&_OaM`x&L0ftxlP<3QIgRG33A<-OE(`|L>}`Td`(t%o`X7?*_&qRlJstKHJn
z<v7(4^z(DxG0yvAmIW7-zLz{xG|B-xt`Bd9I}`7n^q(}=z8jNXI%b*b<NvPc%F`3o
z)=WG6g4;1i^9*_Dn}p093M{Y>3+^BlO@f@RsOm^*fC(c)Y9`WPSAT@OoB^K?i(fmd
zt-{xr?D7W*e@)F_^QneOBUfj3PrG@6)mIz^=rTjxrUHLA{Cxo$Q>o)*hP6JOu5Z&8
z4;h(04Jb2PW@P#mu(I>D*z~)luGhj{&vc2IvuW5*`q6E<CvON}R(h|(LM?=0k@tEL
z%Uj_-{tA{@Z5FH@4B47|=Iw&TGzndNSkj?pTn@!#xC8#-VU$S!T&jNmTWFo$C^bQ8
z0aT~0j$DViCkFVDKTJKe*GPfS0Gn-!wPy_e7|HDLCa<a3%$fc4?^&|D;Z8fCjBSx=
zfs=OVw`_yXZ9zTeS#p%Z#760#DQS;o(yGBk?zq(BSZ)}6_|S$c^8fxm_a!HR@!d)^
zg}8~4mIY&i79U5&88)NDH_q~R*^cWTmiimO=M;>4naRR@Mb5kpw{&l|ho|que4eHr
z$Enn8dh5_#NEH4(yrd%YO4wZr=jX=O#tMT90%tE?iV0xsJ!!yDSTh!vb~@m?*L1wT
zq{Ahho)PXB7Ec5OGgrQ1S}ceT1uRL1MrV+@wzPCgn=Z)d{yiw}EE$=6vr^8Tq0tzH
z%`tIaer;qxxlxW1Xq`?vwv}^nIW1fc8Hf&DC&ydMs@ZS1GPF3iv**<mJCbZyJJ{dG
zz)Qbl>i!cuFNS>|01D*G!*ZTBcD3gobbM#?#2gA$<V9?Hm){ZaJpWqyy+_aHEXv-d
zI~}F_x^?nrT%;8Ltch5V(TAbEH@yoC8l6@Otrn-aE>5}EIcOzvd}TbcFLWkD<c#vP
z`-QT#RSd4+$7LGK=}lv*M|ErTXTRnU<7JU^F{LyX=let7nhHyMOv#VE1Cv7(=o-Hj
zDbNDufay<2ze54$BR25l<G2T+ve}20vA|3m+kFr%=PtiAto!%A=KfaWjavtI)9$&9
zObQ@0JGy@$+NUaUVuy-HaNWjr0bEr?01URHBz2P??FC|ZPm^O7$GnBV25;r@eEqw%
zAG-l5{nQN<C#}?tBEF*276;64S!%LI(97=L?bxa+U1#X4ERd6w*1Pz|M7?WH@kp*7
z@*BNy^$6vwfaO;X?I*adkB@jgE#*l*3-A^Hkt+g-|F_jDwkCt;AydCOf*he?>tN0o
zS;feF^MurTEw~7^1xh1B;XVr!_jd=gUoM+Qy`Ro+CdU7A8)<R!rOpYAy}sS4MM&8>
z|AJ%x=b+o8XanU75r>C`O;0vsSj3(fehkvN{zl`*nRJhEUxQpskx5~aNW!C50_j2G
zH~y5OJ$UX;?}~zSZi!sNLGM4)%9XbJ07^Kp;326bUWN9Q0P~Q<dG;_IiSEV;Z4WRV
z@H$ZF@KDCt{FVQAO|0HvoLR%d3EVmsrCv1l2aYYhzcK+HOP}{X5A6E4L~uoKgY}F@
zjBeVFrsKWS(lNk6w`D1;y78ka)EEDBQ=+!v&t;*M$`E(5C8o9RqjB2GU|t2rT~qzX
z9{i<q(>>nR(aE(x|CsB<(kb(jNF`Xge|2cG4tkl#W6oOic0_$?rr@dvqs)%PBXK{B
z4!%D}_zALWhqXah3lWcB$8lAM;PS?=4wiJ>M^A}ko^htawsb%{Pq@lCBUtji{RPE^
zeegJJ$+~x-r-o=B^2^;lab%o;mj>==%k`@z9+nYAPC7)<>)E_`+)9F}?4f_3mb*ZS
zLM&2?s0F~K0nrSum#qNNr6wYW-F~x2+m?u76S+imGtKeybeM`8$ojYLf#HtL#W&%D
zfF8W9dcGHAaV3Bm6&DU%U-b)Gt{$EHcq<5zUL0&a+MLCK?vse04Hl)x(Q+_;2K$u6
zvw8@(@_K6;oFMl2dd{lGBYzW7lL~jGsOj=sbR@!z)YJ1fQM|Zu<z@8=5BLjhw08w$
zaKmB9LHn^>Kkycv`*K>$={yf5FN*tY{yh09UK;jebiR``&N!Y#K&H~yjH}TbVZbmI
z=R%@)+~ZLIMZ577mo(qB9_e^^-QDwnxUuM$aHfG88)@Jh7pq>yifUb^v#S&Lprz=I
z9lK~ju_tRMjXZgc5&S@iW(SorlnWt&PbTaE1&bwuO#sx;yS$YVQA9R6yRL5lF24F!
z{IuaYpCi7)b@aYfQkJY+@o+gNXTL&JKEWWC(Fs0iL??MTzi4PIaz_(DqV>OfR^M9_
z5UbXzCck}ag;?l&zw-N9QSFQ>*}<29%JeDN6{wHgkZ4jD?hR|*wXj^K2~|XWVK_gy
zyIr;?NMa3Ho{Pde8Gu9KtF!TWX_=1-0TjOR^-+3@*|yE=YrCLyKYOOM#ssWQ4gN|y
z902T$cn%g;J+ec5UJka%zw3C02?Y#CFZZOZ5Zh(v$oUhPSxyjJ3$b$^d-{MUSqt*7
zt_Rsy^u=i46I9`8k7RMjL!00^RtOE2tmNGp_RU7}cYO<wuaPV=Az>ph!lpI4UrD{4
z01tnsVgLOfQ5B?rJ!wh#EVyJsnjcwuWNi6diACjN_3>q8-IKRXr5oXfl5Mvp&$FY~
zH5b)Gk6!E>Let?HfX3nk`L=7lCrp6mKi?}GgMJAX7lxaKx>fo2J&J>Gycy1NWC!Wq
z1v?L3oiMjQKk9y*7O%9|1-}k!De#H8T`xM-qB90CtJ=^XjwdaE(|%MH`}m`AzX22h
z5degVEnolhweW+Z+y}qIYtJqX2JlfzSl6tEQH!tgh8Kb*%47VTcRC>KA!q2|jV*h~
zA>|O!2A+~>(9TilF916mOTT9&#egyKp^(mxdn40?E>-j@As-VmD`8<Tiwph;SMUR9
zLKGZcNDBC2FzJIH|MW?&Q`c`3WtFe|0g8xL&k0!l%OkN(V0vSl>c29TxzXva<TazW
z^G1uSpY_#a=jX&0e8pSdWOxQ<N~)g>SGxF;M2!k?Yidz6D(klmPFp_K%bfIVyfEw)
zzW1v<#G4up&Q)mFxOKoAm>m!306Q!228z}k`9D|nir;1l_{2ji6f-~Y?V{nMGmH-M
zcJaeGTAV=<Z-GN_>f?JS;RkdiJs!^mHf#`Dh1J(Byth;1ev4P<Lx5M5T&x7`XDiuP
zVaj+USORst2&Bk6?sTT@RWJ_7Cgl89wLStI2qkojxS|pRnK-4LX@U=ASye={Fr6^Q
z6C<e@W%%U3UjRcM&*^&WS|32+M-M6QaHEzp<a+@4^Rn`7WYHP5art!dv^_go)*&5X
zKqEtRfb}d~zl*#pwPNmRo*#rX5HB~Yd3y{T0a&I<%Q%kd;ES@ohhWpsciwnm#)jol
z%{Ro6ycd8eeW3r)Xw#bsLJE=`xIW+Q=s1?45DHnS12HVO8}Ob7-Ic$8(-E*0;C_pJ
z!cn(WMIF9T(5Z%$)qZAc>SXJ@-EDKy3wa*ka{>HpzZE59Vuqg`TG{WeBdP<~ElKb(
zV$D>iKj?~UYE_Ic{AZI?a&|ic7V!G3$@gYz+zjXf9?kU|X0$rw?muwqhoYYR(DH_M
z1|sQCa%zVX13WIl`D!KvTDkX$JiQ`3IOH1nLm#_tUq}PfL@iUTKGPv%=~I?_KpFB*
zb4-3@_0r?iN(~>=X?4)tocjl*?;F^Ji1Wn$vP<2HmmaX2hVsFdA57&ejF1!;z*)fW
z<|H6zd0YoS6QK3h+zQk=YL8S?sY3L$c>8jc?GiqM4urn>P{+{l^h&u7KLjaN!8iL+
z6`J?+i`Qw{PsESqjY%UENBj)iteGqsz@?&164hQi59D;~Gi2`p$wIr9{e*jR@N3A*
zt%DZsf(^@D0EIpYN+FFZh{)d6Py|E#%cVz-QP`(lo2mLWtLfXL>IE)wwa;98+;H6b
zL@R(L7|;-g=_r8y3b!e`g0IMlR7|KWnRV{U`w~lNg?Rry?DrWO5q+7`6xH<7ewtY(
zBdLmMbr*mza{7f;VQxUyw+))*2l>x-(zEdoOja#c_3JsZGM=umA!eb{d~K-?7Q8}E
z<U~9XY*g}Qu1R{g3Gg9Q?nPvpi0X~t5}zOvJVwQu?)U0y+}3!0A~2K<ly~`0It)d1
z@*!y9@rrLxjrAU!k-9Z(_e83pQZ(nvPYVydJ|(vdZKx^1H7rVUxd(P35P$FBGB#%8
z8Ep-U))!YMtCZGo&WeUuOSQiG(2m=5Ms%ad61W0q&{twVLYJ-Sx;8P=4mEp*fOPsc
zjiaMwMXbYJFEhl`hEz3o!cqWGP9mHZ;!_%K;XKKvcp$6)83z}K-yjrywQQ$G<TVZN
z^vW?woTWi6v7@<81&FSEc_}!)*=biHGSs4@j?A1Ee@EXjc<AC<1mp=KLezq@g5M{q
zMb=7MAv#L8h6^<^3l)}35sbh}1Ah3#i+$v!=ZqbjgN4GZAoUgK{keE1nD!C6WYPC;
z;z;!-3--PibhuP)ou20NBp-x-en{pdf*#p$u_PsOi0sME=)bahiHKXFXM)((o^P&r
zM_MfO^g8IQR^{iS`7GiW+CNqDT%o-f$5rlk7Ce~+mQ=#m<de@@wU=-M?yF4)hlnw*
zB&I(A{+Q$6BhUY^WACfYLQHJWJils3$((n%J}_SX?R(_J&8;(E?p#nFuRF@3?DoFo
zxoIEOacGt^ps9#PQ`VTf7A)h78I`AvJjt^7i1)Z?{gB6udrfP$glmGVR1#0PDLjgm
zTz~WE=-v7A#4r?;%T^8rUg4#xGLjcN;@ckXLhDpm9b2-jtH;p$ThXXw5dKGeA2up@
zWzPg+mu2M88)e^mb3VlnE|>p^@nIK88B*wKcGl6#gk}5uX9uJ4HKz0?Z#dk^-4e`e
zaOx>e&@;(<ekm_VP|7GT+_&u}c$UP(yaMO4*XO-s8<*Q29w;pyQ#&eUL`F`tDhy^a
zMQ!SpGjGA#nD{_36xC<I$)51nrBwSQELZBmCzLX1m$r$}C5W!t+YiEy7jB<LEIvi(
zy=2mxDYdROc0m2LJgE}Li^2Q4_NzdAvMuiss~7H+f`U;&!dFeORJ6x0$8M^Z**2a&
zMmzJkxjr?1;u<|~p15s8&c?Zsx>(20bI*sM{&d9(dBe7;`LR)~e&0q@0#oRC&WN5{
zFj|Zt^-<^A>YEK?hl&?jP1K7Y{GNWa7x8^D#USC?W|BumcL1M-comiAogp!G^W7m{
zQHp+OcxJ<T+*o|%@o7zD>aUyqe|uH+sDIwUne~T<krUX~H+61<n<x?j7Hf9D!E4%{
zwQJ=ZL-94mQ;||ikA(Ay`kU#tH-jKLIM@nrff*gcW$V>|{MO1JjAt3{=+dysMBmjd
zh`N03y=A2kV_eob!JnZXrUDC)p-6STv-TkMmnK(0%en}Mb&p*#{RPMJ!-Qk$pwmjv
zrZ?EpOK1T9r>=*^s4=*W(w7|HA~BIRuUE5kYCV8le~P*fxk%v37vqYS{4EI4MaL*-
ziD46o>~aI8%BMmq2bo!_E`&es+{ZaI54jy)j9K{~E&wy7OS*d1B=arDC+6jOA|@?M
zf}gRyns#@Ffp6OMCJbL;I|g|8Vh5pPAo)`GXR<Ksf)Yp@D;qPIgx5-RvXz1Zz79Xa
zV2tuOo`_jKHx#z53%GJQ`uh9Q+OJY>{Hg3pfva{~_vao@L5AW8{JZ*Iri=gW3ja$G
zKV~O<zNPy4%ExneHdPT6NeAnkVuAot^pH`+%(0%eTF=xMk1*QZJFjn$4|HTaYTRXX
z<+WO7cy<G%2o;GCGnb(Gl@^FcvQ8F1%htmq>=&Q(foiV7_sf6>TMHDxcymfz9(a5~
z$8$Wv-aomhmS(eV4TaS}E8jFwb4Y0;*=83|C4-Y+`SA#4(a~2=-p878Cj?6JkbXU|
zNkxGE;Q!7@_zV{OlI1O-JuK`6=%dS@THh~eLMEEfJ6mQmKw95{Z0;^HR`sUbW?i@m
z?M&<IBRas8mg7bi*VuGO>6CTYI;jY-pGrD;_9sR~ymCP@VSyNy{Tp<QIE(-SFzB=3
zyPA~=A0X$NEU}c134!-L5+No79aB<n4N5;60TRM(C@24bM-vH?8+G{i@=4;>sY9X7
z0;#MIG<+Ogmfx8e^p|&h(Q-3ULB_OR0KVgL6MJ75#R9oI+F2j?Q#MuDw|;wH`jpz-
z&}&?RiNXc0-akj~J{;HbqMAC7th>V!Z%()tCU7ZpRvSm+F<!fe?S3>1GY^ilJ?M2Q
zX!e%?$n|0-(^`DzQ$6g^T`SMmBMJ7}><igEmvd8+pJvQh`*aH|&cIvmB+0od%N%KJ
z<xJC)CKh*#?DI*<$Ei;VBrrMpQ4l8{_SEj?119w>W-P#FP9OywPl84iH~7-N{1A}s
zCLVddZ=hkr@0)0ct}xZzKY(<7VtBRQxW8-gDI9}u0{mN+bNl6#54DpL05`DGyZ1kw
z;!U5uXQ%tq-zWU9s;(ujy)7~O$Uz-}yGY<?WAh9CjJNsG4jBxC;2(ucKY+<l3_4ye
z(QYE{O;u4p9=IAfoKHpXiEBDA)dEKhN~;RGg<S3d7TY#x_cp(c#AR-Q)|(R=c2Gj~
zpW^m;)%=7TDJXPEZY7G&Qeu9CjQFhb?gp6X-S;TqLetO!x8r21kdoj3u(>>Gp6oGQ
zuMpl(qlgx@iasmNssW?t)rM!Fd3Pt;BY`vK724aNKlINPk99=zH|5bBZlQ1-DR4<C
z?BX{^b$_UhZVT}3yA&;^9NVy9T87lyqtq}L^)Zu+iudFAjLBF_4s<#a|K#m6mPh1V
zjN%w>)jBcrGLF`L$Ie6-;GSBm8aPGddEoo;e<Zmv)f&NRVfhw4B8xAEC|^1hePw9A
z9%(MK6&85#dPD73p|eG*_LRuF=c})RIO775<S5B~J}Hz7a#_+=<>#++SYq2^cy_K9
z7>nsd3LwBpYGUg-JRtN|@Le(`S2WImZYxq7%-Qmx5&a*2PZFW&F}9bAO;nIbGw$%T
zzsZqPC7D8BpALg4I3td~&G5*?vnnmA*|d=+P7HB346&QQU~0hCQEJrtP)_OreUdn&
z*()FFdS4qa>*JA>s&B-y4g*9x=?1>I&~ctipUs37OF&-edAmgl9P&@jfIQT}I7#4;
z(3?+BD%w6Fv^UZzBLeXxh8}ms1QP)sW3A7Q-!(C7?lJvwZ$;>Ul;%P6`=U8`HH6qv
zD*X0HQ9VfeWbbU?A^ycBW*yZ-0?DVSYCb|TcjuZ<eux$yVsS@@$vrsmT+IO%HX#gh
zIfZ*)QM!*EcL{l+iy$U~DfmS`M>nMYQs3GCq@<Fs!j*f@>B!Ya5qaoV@kp(aP&~pw
z-(GRl;0T6jrI8LPUm@7fkx5VV(Cg`yDX?&N)@O$X4dXF(PDkJByDYnSg0qTRW?UyO
z`o7;gmCuLO*CFfc;yo`)yo1<DN;|YgKN~nnjrxsohhG^+1(i8uWP|aC<CbZ0+)<Q-
z%O}Yfnw_dx%7M)jsp5SZH6sdgc??dvSBNu_h@Apo%H-}X?zJQLMVV-&CFo=@vHHk6
z9DXnSY`oB&JD?8%^77OlGSOf2h$9n0D+gnEm|G^8N!%7rGjYr;c?@nlz2~SVlFvj?
za8?9L^i~)8YC%r-o3xgoqordO#Y3P#Yk5TI`|XE`FbyX@<riX6@W9XE;lSU1CA$L|
zdDIy0N;WU%SY*}~Z!1-1k(N;P9K@}utVgt*w0hfSv$Kk1!QFRL9`&+pX(l_xktQ;m
z73E)0l6V&frf9B@4eli_9NN?#lYL@TH?MKO5cbA5(wT(jS4?Nbi~9xiNHX-ToObrY
z+$S)k)AnBFwfv-72B!m*NUvCp&@0vOw!W7Y$3y+cWXvd$HBrls%p`3Q5Y>iP%3v!w
zF?Od^J(9cLg=9^YTFGS{!qa!h9$aCrKMTKmJZ7FA@uVfq)6yedWaQ^6By_m<`^1`#
zRXm&fn8M;gHAwFk*-xEJeFr>F|8IJO8PT3#r(FVJG~NkJ7Q^jzvDfc=XPUFHrkz;A
zKfHqs1-_G|`SWJoQf<yY)Of(`+7QyWQQKA{t5$LBaYnya4-Hx@2Y#ChSHPqZia64S
z=fut}Im*x*hgxx_eXAlT@)@;Re(#o)J}H&;sE1$Rt86AS!eKq0zxzPwTd@-!5jkUu
z4Fxg6#06aZH-j>_vRd+G)^IL4C%{Sq2jfZ=(!|DUzMBdXSv)!ex&)AS6u%fup?}yU
zj?aW+lV!h24VX}J`2^1AzWO1pv~sie&ebEeIB37o>%M_bu-=PvpF!B)RH`+4>9ZCe
zWySGqOLe&@$pLbU78UfQH1eH3k<68j4Cw`8pR4PW=J=7OE`58y88POIVl+ARgW^9q
z31obTjaG#Tn#_w~r?Zb$M`rq|aUaB4w0D^wP8X$Vr)x^%OVmr_&qf=QP16%c94M$6
zRE{|Q%2yHkQajx2|Nd$LlP=qis!#VRmQMfOi^pC1iyaIE3l}#W+txwrTF7i*N3(3Z
zUcmIAzfL3x%z;-ZKi<izbGkn;7eZbZmiATf@e2aatGoOiHn!zwt{Cb3{q_AzEH918
z`TD?0=C8T2VNZwgcJUGC2NxT%Q+WbJ<Dx^!TpYZ^gsM&R_-bblRpnvivND$H3hE^}
zbPmwlt>41c9QEOQ5E+EmVB>aS1LkLsbexmuJ)B+d#irKT5wnOPVy=!|ZLQBy#ONc=
z(c5>GuE3fmmf+-u;0(anl_vBKiY_e>tT2>3O}uuR0#NSf8hZ3HTt-`c#_!H|T>BB@
zXSZwIM$cM!h{~B%AMM~Pdn)aZN=>wp!0AhDd0IH6=U`}W=BZ1xQn;#vDA)ID@A|_Q
z0zz~2U8HW_^OFWynPNE72Qmu-4#gLzA{syZ?TWr>D9YD1*`INbQZkjYMMJNx`FBaw
zu_QdvZ06`wm^Sjy*CjMNBUs<g9e*ib6Y=>ma3-!Q5}6m?dtWw$Qg@%f>=1Uw&$B^H
z@L5j$tR7r(Nb_%JHE%CQ%4HztgeBjeCMmZRMk{zQ6*|1wyIK-S6IzcJU(?E1a)>PA
zXkAF{Dst2Y=Y@;NX1HGT$t1GcTi!BBuJBQ>FwUzzytlWcxXScBL7N9#!r2ijv_i6o
z><is87Amoz>Xmte#;0<$=ovl5H68HDDp~BT(@{I{n4>;)R=UON!c)rv_^CF7LN9;<
zvkv%>@`7Cu3HArOmmbHpghRo<Iz|07h8xT@9o&!3THlZylih^u?r>*x?S!UVIuGF}
zc1iTjiz`;|PcMMkUY)SV)lcf3slb#W4x><tpSHf85uxeSscej#>oBf->^e1FwPQEE
zX8S7H;vWZzGjwTkig;k9WPk8YAdC2tXrX^R4DqamBJcC(Y)`Xg<*iEybVDy})(zmN
z%!(kB0T==arcsRq=cdJ7kJ8l+Xnvn6w{4tGc<$xF&CP){8gMLW-(^pzGGoE6ag(Mc
z3~mBNXMA*gWDkIBviwI<u&dh8tCJ5%lOD%cxH*Fd?@HtTO#?~ab`+=_7#){;SLax$
zKtf&+L31Jj1s|9KkH2_-P>tJwVAs{y_x=-<7pu=h&U%M(zdj|$jG3e%9;~k`rL;sb
z;F5+L3TE3-ZvaVI-r)giT?~BTD{$h{m7jM!$i0gCjlv*?tEYw&5hd#KI#-GJR8y~^
z5v=ms)}di%U3d8%$g-%Yfrd&1E-^M)=9s==3S6_HBmS8ca$E7u22Y&95iF<zH-Qm+
z`{cHu0tT&Nx9a*Xd*VTwz=wQn)Cw|g?F5(%RAH0AschQ>d0V9Z12m1ccGA+bOMx5w
zUSHct>7twV=ost-@GE)J6}Oh;w&Eg<D6INC69oJMEh!g0bQ;X?gUSTbSZSwqn#$am
z>(XU2KHxBYK0wX%Q1!|2%r|hE1X_S@p9yB%sHzO~3$6s;Z(3@0xCI~d7C1Qc&j7y7
zlqM#bE@t)E0eF0Y;BfNw2~P4bB${tQk+$4E=_<}c+6?bJdTKZd)pkMk+W4ID(t&m&
zvaCFoo`8zwSs+Fp6UG8qSY10UA{?F8*oB`8`jU%QnIf72*no@t)&QJ;eOpNJNes=@
z=>GvBkT_a91c{lmp%+7*T#Em1%}m4Hl$gBq`#Tc{446=1iNj3YVLAa@qyS96^N%e)
z;wh&i$&lRtL%1ifVs_r{k0#3Sdi4ku-VrtxPB?JhXp)d2>t;58+OARorROEjSnwe{
zjVfkJ@D*K_xS>6?iPQ_5=MbR=uyh!0mi8=noQ(+utdLYM4d5S*?p92oPdkr$2*j(f
z|D!w|^PZ1pWq!faaL5yq^h^rR_WN?I7j6R{ce5PK)OW}&f1w<63c5f5Nyc(7uT0e{
zjGb^x<slphg^K^y6;@#3eL6NOcCrwCHtUl>Zl0IxD!znw6u<(CU6FgY;6p8x;2$#q
zmTOE(YXaVfwMKr({@!nAr*8kU6GIb^U{@F(Yhi`Y5Bzngh7KJ&W|D%tV;5!tsr9p*
zBtIP>^pdUy-iC=6SF$IsJbxdGE`TyQdX?cN*P@7KXejKsB8?@Gan#-U2{#PwqK*}J
z)Sh;`<FhXrdMhhn0l7_E^$kc*G4OeomtuT4yZNplGV<%odoYvWESPd%_^5d%a46sN
z`5xDG$x(gDki9eF{duqZ67H<7emtPdw)e-a7agLNVfyq$bPi|%gfeapKjebFrnM7I
z=PTzvCQ5nY${&+BK}n}G5%GCND&e1NEKl!vou*`x*v$O{!_|6vS=K<(78ZXmq=7%s
zf9LlB4;7EVrLi9ZN{?#Rl=o`R&vnLc@4cKkQQW7zH}+m{PSzOv%vnrBwc<rMg=d|R
z+O3<qAbuD%;lctZ@I8Ga3<Gf>W@jw)Qdj)C`ThMBHra1n23Sj(;A`L?0vPZOz_6y7
zXuk@5IHSW32gNYCzrz7mj5dv2FWN<`L?0YkZajemqj;D^-p@rGwgIO?o1KI5v)eFg
zs$l2!&ic8z-n1(sYdfPQ<IqgI7bWRFy)#<lP2H338M5A8-aP_s=?}hxs|TpfpyUel
z@z(Lp^*Qr$cQg2)5)1837_#GicP8C-PgEXI>QgzKH-GnLfsODf^YZCmKr%ZF1iT|4
zGAwmeDfhn*sHE~5@G!+brD!$uxn>>@8GQl6r3B6>3RDYxYKu|k46vZcQV3d4D&uGY
zoc%!1)_7sU`;YO`)5)p^%CB#!r-^Qh>W7m}UHeWDH!a>s6$FCG-D1;I`k7TjheZly
zY}J)kn<!u$LIPQSmYnPHGjj%tmEYxNMAIer-QK(3i9eeA?(SO{!o+*v$o17Yb6X|E
z<Nbq9zd7CXX)`O29?oFJgq1yjiSLU2<w$?5Z)N<{>=0HzJJIamP{S^R1CiZ%1gMru
zTkfU5j#m5}FxdR|YoVE<k$9he@JRiq#QQ%#mqw2jF=z;5h$=f^A!BkbHl|-59?tQb
z)DGs{a+FOq-k-b_IO-MxMj*NvqYWaKG3R6?o>R$I_<hC4iqcn~ZmA;Q-Y*w2YG%*V
zE0Y%*5tB}>+*R;R>mG6L@3?>Cg!}KkD=%pUoBQPsy|<Qj-cjv?foj*F4{s;~g9t`o
zYTC%NFX;te_d+%YaMO>AcR$^yykGyV)Md{0nyg#i(Km`NoU&^tj@^0qCb=NOm@=h@
z<xIHtvHPlz^%!|{R8t)j2ls=6H=a*d4~}1z|1w=SczSSeYOofD1a{11<;|QQJg<u<
zb|&t-?=DSVjcRN0EW_pdexam)6DRR`=&r8#*YY)p9+xR^ZTpLUWT^-GQ9d~jQth^7
zmJJ&`X2z*^kI;K+C6MbNFf%gZ#J_bGGKrlw>V#Jyj@G3p!Oaj$%Knl!8PL<OE1{pd
zx~&9*z5Z_9t8G14sxeo{4a4X3@arcXyIyF-Q*d#_T(n3dAZ>mzk#})Rx_2*E2P_MM
zd&{BzWX3~0$few0Cx?}tyjy8K>tgtSwDem9)BQbhr6bQv^-!{RF5?SJN+b>mI7hU9
za6#sy#QEpZ2_L4V?V3m+-?^4nUv~bN@>55R+p2K_(L_Z`qU1ei6wK2=V-4ZCbR@!U
zxxTgha{mEuOGM?^Pj=uS#jq}t9Slq~e>@*r02Qq+Mb~?E8Sl9{811n9(zdYJ^xokk
zEamuhRb<s?Z~KNU^R@tDTI?60%-weThKv_ykfUED)fG$kH^|n+cgyJ5desZj;*ez`
zmbyGLJP7@sP+|Qyo+gpstJPP3e6{;E={d>pJZyk!q(cDFqX)wE6{&}YeAP|VjG^GV
zIEq*F^Mj-CM$;>Dj(o$z7el|$!4V&X>&ZcLt<z|jz?$JGiMc0VXI@NelxX;UUp*!*
zx^#zEGzymW+OKvq%;!Q8^A+ylORCt_v5OBzc44yHSkRXf$1`(#s1SKRW4FsG6_#<@
z_yz*v=PE;6by+3M{{WH%M(b07H79TW8hKLUniK4CFCw&;swrRP8L;M#V6V@`7)(~P
z-}?CH`;0?em|csfJs7=b4IPA`97anu+TcyfHf-&JNy!kuAZTCSqfPnKlqC&3bLs5h
zyo#iYi?m$AXHXedGOGjvg+AibMO!Ez^SR;N!K;+AP$HAQMpa*ayqKKU*z*|oi7!I#
zXSKYOJ;TRaoF*}o_PTxvH!BOX77fBAwp%5P<tOF?o1?ZpHzw}mU<##E>(de>zodMH
zvOZv0ZaQS2eX39!AzgzBsEc)n8Ln-1Co^M7*HRycehsQ$O^-(qy2Jw%IVzl~2l4>V
zt8x_Clq8ztZx3aJYssWDf|R&1)yMUni+oDKFrP5-QqCLQrAvLkSx-lmaGk?^8}-!u
z)WM~CmNRgcFZ$MewCx2<z9@fh%i=L1n`RYjh`wX~-%kkin%j@DV~)|B<6{wIK4MmG
zqZCH@jGq!BObH}hQN%xx=n=wPrRWhy!(F$@0MQt~EhJx|)qK81k)9MGOq}#g%KM|K
zZnZb|Ro4Yh!<Vb)NVqTche@kSNW|wdB$~=_Yvs0v-vBkHW+CmWSD$!TVIEuD$0+ta
zON`yss-~77;&t=MA}9V*VTM$jNppm50+z(S+jf(tyW}MWf+g+lZY4EU{w>52udnIi
z<&zmxe-3<C>q?c_RC=1tD+#G0bgHP-xXmHyoTo}rK;@R#(Mk<h<-m{RaCb9Q?R4wh
z5yucEa}|Rqk2?tCkRN>;z4yA(GtVOOv|p=7eFk8{C&te0NAA^wP8yMolb#{z=B5}d
ztwz+)ZxgJfU6Y;|vjW}}-(-2|_2W&JhsKX05w8_t%(UNILMjX@d00JhRE@g~c1pBc
z_xT2z&^eSdg#Xj7jchP*>*whr73yQT$DJq(gfCqaw^$XS@F)l<C=8nR?le@lIJdpv
z*Xt+(19eLsJjFwNHeJZ+NO2M?w`|__N`%C$oKCIuz-n4+>QZFpkp(cE9L*OdS^(nf
zmGZ+LTQ7{6H8cv1w0*vL0h?clxMoZX5ick4@L-6~id^4bi9?uery33J<-GG5coN9J
z>#|SHb@2#^_N{{fC3x&s%0A;sR>HU4My|u?8lY?R<{3ZFVZ$1sxwdwUdM1+WZbm+f
zbVZI7D<v5dzI5bIC1srsDN1@U6=wEoimXXBbnGYKr3#(B`KE&(uuELYOTN4}`?D@6
zxZ5ynh?ri}{GcXj=%sbGojI+mjpeu688bN+b;E-S<mY(L7#)Zvi{m%m_)+Jd9WN=i
zg&f0hGnEa^EgCO2XI}EST`X{U+aF95^XYaeRbDXRG4dNj;wwk&-P4GP6jpv)-TvQj
zBuD7gonOIm%P^G5RHsVB8qY2iM1>#x*5|4LH(3?TlH_4SHR&!)j7+GA^u*5}2o0ns
zfd=I%ltn?^jkRbM)`BL$_~Ld|#CgzWV8p1I&z4|Znf~{NZ2uzGzMIRD^t#v~&Gw;H
zj<;!=+Y{#tB18FOcc0oSk);#(E??AP2&qiWVL80_Rq%pCr^@P_FdpPDy4!8%UTQA0
znw40@h1dG-*KT|(UpT0&slajgTiC@~MvK;zcRl*AFAI@(3%=8~QMhY+c6<JAYY_g-
z%7uU%mF3LA+iyi~k6=_4?$O)4jiXn-XE<vga)R7L+R%3OnEOMS(UR`w_kYy{bS{TY
zh`eCawr2;h^F#|%15YwD`Z^pC@I_CTZS-N{ZQ$lqhYvq9`1QT9ld-nB@x_(SM;RuI
z`jQrvI$c!8@#1CEP?lCZirHpH!g16mETIb|Cv?6QUg#*45wj2XTp<G;|IV>PU3PX}
zPTYARyg4@E6z#nkyJ!8cVak!v8q|1eQS2UFseR54C%_`e;fZAyZD<ktK0b_qph~)U
z&mjr^_!x7g<B&KuE>MLX6CH@LT&D?*N8cIkO7H-}be?YKghQoL!l65#jug!dW*pJX
z$pV9fE^WB22nKLZB6uyCETPfqFK-$RNU;9bAIb-4W{T`yijKsNx*7tK*+etwe_O^h
zNdbEi8a9+6%Fx#m+c|Mbih&G*T`Xo}M;&SsWtU8=f3=vgCW7?>B8=>dPD0li9NISG
zLxi??SqX6M(afN!{?GMD;^v}APmuOfbur~_m8Nr~^>8!tI<UQ2Yk@Lj4O=yj9*R@w
zq4<)%dS{*j?rK{_B>V$<#UEM!d+Sg-d7!bwD(3vnbrkE^$-mp|0j{C-t3bD?Cy53D
zd_s_eTW|aC7vYIFhkEQ@Y9hQgf#`pTX^Lvxd~~ypNx-sJ;=670JLUw|@HdMU%^Mi<
zMD*(wEENK~UNiZ(Tp4tvjf<CgP%-BRGJ-J$m?t~5#~#@KD|+FTA9yQ{p*=jd0ch$Z
z^#jFcM3V+a=ZI|Ls+{}T<j_e*PjvfKlKza)v`06=G^fQhw$FD(%=e%?X1TeyeMyJK
z=}YbSbJxT7P;J&|UKTg!h299~%gp}q20g>(rRN32WsM7(oIkci!b8%RfUfay+$Bdf
zSg!Gcl!*UXlK<HaLH|fhp!U1~kj4J5Q4_EaLZ>@JGTgaNB0I><!7n-g7rbo!(H57i
zTN?8^0IadP5yhu({IMGY=@cb-XYf)bMZ^3!ns6p@C5^j~ZrM~eLd&!A4qK%7BLmr4
zmm%Qe)As^DHB}L}=KZPTuBfFk$EsC<dJN2EG0p;wSHU&3um|6qp4ZsGDQGQ?Ncoeq
zb5;w%+_a(lYJ-YD^+ba=7J2ZB03d|aPOLybjvhuJx<jX~4(6S26o7@=>p;yDGJHsi
z7@H0}hX1vttsoZya3(GtLq;BbtV05ad<}tc9Q{k%zpslt{1?6n*dvMT=PJA;K1RdT
zpnxVxU=`TmolWBLcnr&N$LNP2p|AOF_!h!_J&9GCJf;yiJy~6#7cjhIF-Ko;Y!k+K
zwbFm&?0s7H>dcYBd&*qd;2*0~%hkE+#-NIv@SLVuAYC-<A5h-E?(K>rO3A1-!^Sm~
zoQmyB2NTHf30^3=@vwt=B6B6M71y_YQf8r5nrg_(2d9mfdXU<DJ>02jnRU>_b5|f7
zY5#Ti&_1zjVne_mMPPb8UElI-_@T#3GBSONKwQQxJjEeAoVuA^gAy1Q;0gDAgkAJw
z<SDZZO5EcS2i8vwD^(P{5Mdw992+3EvA$zU;Yrr`7m}9h4<ipNA+3((*oVe1KaDgG
zrb&QmZZ3u3+?U}E&*(m`#m}dO*jH6Uz?);(q#SUO77sKN?AC{Vn=|H*+63!!_$>}$
zwj?!8f73DMuQDR#RJow;j&R0tN7s(eQ=@Nd*we)$owt!4ppwws)JS^VjuJ$|;F^-N
zl9Q2q{u^5r|HB2SZrryW1UHLBwn6BU3(eK-F=hN4(5!bz!ls^uwgAW%k^Ft98I`cA
z2oSu_d|l1wvc0c*!2U)N!1yHE24l7Pt1zIVit=|0wS@XqXB7-$Q$-9vr40R!T-RYV
zZWI*)3}zMD((Rm#+%ISe7vYT^Ki7169U6Dfa!Hb4Wpl$R+A<yu3i)gN2pz?T)Jym_
zG@9~g<Rl{%jDde<4qcmE`m26=63n_Pvt?ZAd&X~Z_~4Ir;KF}B_H;Ug4EP;Dnxz(d
z-Fd@^HB`yEh@H2wilcEz&mE!E1Btg<_Bz--ceWb$`#n61^$ic;@1yJAmML$i1t$Fd
z5s1v?cX+brKUW($1F_{mumTUf6t>jbZis?wRsVNfWJPP9WCvZCZE?6FkO9kGh}^G9
zYU>D+fFV$Q^+7-DlMmA)1H0-~>T921s+We>M*WzZAG((ox9j1|=b-h2q3Etz3Nw_f
zyFmC*gf8wA7Kf1i-K~p42FXYf6~Pfz`z(<;w^MeOAb3=t<@Ur!5iGsir_qr&QCK*b
z@|%WG4F;kS{;b^r@5l`2fojjGMjSDWzM8NRRG+MbZQ59cK3`lI1^MTs!z=8YsuiOS
z>O_2#k=7B7Cu_v*GGL@LgeJEvuo!+siWYW$DSe?}48d&y;TF{%fv?x|F=^irI8Z86
zn3K>!X(ydE@azJ}{5z!s(F7D)WcR4~2z(1BLJb9S(6Hfp&>K1j-wN_bmE1>R8Ar&n
zsIIZjGdnH4d7yR4FzlJw6L8=tZ4+w*tuBCr+&Cu?erJbvC<}imV?MawoceQOB=t6L
z<;NDmYC1CZ>y<|d=TsyYf5PUxCcZ2ihL7h^FpkrsVK`P;<M4j`#+@2PIiJu`fM}N{
zOd=b$KeLZ&_Jdc{9~j{#@E45H?@z?pZ!V3CALn3SP#79@WH++@QJV#$9RFq9u?Xxh
z4WvrL9`ASrUBB2V*l*&?w|NN4=&4n%C#IE&*1O2lc{pXd+tw>&*s*J9&ZVsY-h}_h
zf!}MV$xSf8uA+v*#ik;BR891*_%?cU|F(nO2#(_~LooU$8=}R+Sy6;9{+OWdL!M-y
zh(nqJr!>#(Sm79&Z)|F~v-aWPcOBKGEO}`|Y5t|Oq5rS^g8L{_J@B?HQ^)oCz>7ss
zR95#H55XTk7I6nAcK)w4V?qg`lK@dRodmaT9#3-0zps1|fg?4q@9y8|h-Yn8naElA
zK^_TAb&(6~QoiIx-?PbhmE=I|MR~O6seqQ|s}%)}I|lMzVk1krN<B|fIOJl2%h*li
zSO9^0^zpVkeR;VvUS$@R{i;2~PrzzxdKFx_p1=8f|B31|=l<bn`KsF!1?746EfJKu
zX`;>a5*`^-44-TD{yqgUwi;VM0%^lDYZ+4%w3kLpxQTxixsxh(sLH7quIt`sMWA@}
zf)R*_Y4Jl9p63^U5Snwi{KVzi1`F|M(-~`yIEyE?jbIrKZ*{%Fz0)n2nt>;-Zy$eS
zAv-<}e$kYTAo3`CouM%`I<(rme6il=2xGU&77)9o=nECWByDlDoXdHj!aT`YJDLb{
zFb}k%+~>HawjBsuw490=f3Gpx&{z+cRypd3Z_fRZto|`o`z(6>+<ig)EEfidc}gG?
z`!yo{?up5z*``nnpTm+@LtR~9oZ_wEz{IzIVI%zi9i_>LDCj>SRRMkE)f?#iyi?f&
zia-0rtX=@u-XFpk5Wo&zEdH+9H#I#0v|}J7SttjodEON^&3K^<`C?4~l^oE~-$FAr
zKT*od{^(Yh&xJcvr@!A^@9X;mt|2g|*=Ful5lTk~GstgtKnS$v=za7;kp*=mq<Lt4
zB!h<|6!pEc3T&tSxdoyl)a78L_j7+X@Cv(f8>|=pf@5EiQai>pS$G3DF0o4WPXX`-
zPR-quzO<4jJ@$8jwqhZF4fJc#+KoOTQ>>SA?w3c}qxyp)O-a3S=2$zbXNo!y3hJ>I
zo3x>-=x_^si3-*WLLe$<nA$HsM9*om-bcZ=$y0|qkNoy&KP|Tdpg#Hio@(z~(?FR?
zoXe2&%!3O5G@i`6)S^=LMl)@OB#<pb$3{X~qN5ijuYP;?72ZexMpXp-7i;{#o6Qwl
zKKl&%#aH&N<fEaPY6Oc{enPsK3v~gEa^M?Ke4*}z6-SY))RrxDo?gC_A(m6|yhUdv
z{uz<Z@f+5Gd9a<S^ba{clxrf^GJQEzSPzLiXXHP>Ohz*f?WXe;0N4L38h#(9C&9)o
zXnimU1BCFHv8yvTzVu~=UncylD<R{jmS)8enJ#(fL!2)VEW?q!GENAVfdvtsqTmr3
z22B8EF%Gj&nO)0pcCZyi<+&enf(cLAnODq-udm@H1@>X8Td@F+)P3`%e89|&tM5%M
zn2qJiFxXi$9=}_t;ao=TBHHiT$oL`x_S)NFy&PyKDevEVW%8f2E!c(|fho3QU|N)+
zC1Kle9ZvyJ-MP@oAxkAYc5$AHbcQD>U*K^%*BvF#9qqgb*(`uo&IKf-iBK<tvjuAk
zUdA%|4Tlp!D!|fJ^cUUq<mX53e1HxOH{!wg2NEYLB2vU+{h)i3RL@`2<WZyw+;7L$
z7{wAF2Ki$@S)3qdsn_~xLvi%KGs|hpCe&jGaOmSHgA$Wh-c;(al>Bo)v3`BczaE$`
zlSPWhlA}L@sxaLvdBVHHQQ9iPgdZ_Hn8t<|v#07mZjPhULpAmjV2%RV$HwwxdhS%@
zg=pv}m(r|xLA0G)05jUT1CHHbaPgmL4eWTCMzjimtf$sSzLkRJ1D~H^xq&tU*<twE
z#^BF_xY;JML+XXs!Li6eLP)yvkJlKr%q;NId_T?kLyjxIzw;A(ewHUF`oW;(RNbx7
za@#`-vrVjW#(2a}V6okOJq$Tj0sc;u6>}N62-E<R(9^MQWZ-qW<#A}Td?fEm0|QrZ
z<Okt4(LH!&|3G)?sq|<QIr3t^%Eb`yF5Y2n?^XpP<_mr)-)kiMKxRWWf{%h)Ff4LT
z5TxaCQJE--L<x=c&2RV+S~i*0f&Jzm0KC^ra~NS%H7I1+B^=Mrivk-gOZCsYVpHlL
zpx@xnj<Qtp`T!;c<6YM|eibE3t;PzleJOjC@mdM#dXgh|h6IMLo4gB)EK14K32*v>
zRAy6k#l3&%p<YTxi(9dfsj_i2x2d%c8RS$`(f%wR0u>`@66zh-e4>ZIu4(%k&?lRO
zWslJ;QQAPpa6IX2l^ix%oS%;~@!uZ!KQ@AV({y%YUza<>*#byscvhNyFC>4H*X@kE
zhZ)H&zgyn5xK!=WmAI=SF?FimmIL%R$*wnRBEILDi(X)tl{Q#<j7j&QWpyZcMW-fN
zU8W^{i;raSWBNtMs{{&(@}AwA4wc3pnMU(S3;DV0gN{<h#!F-$MRp8Z>Bttc`^?#v
z6Oe~=ea9$3-q7<%ZQ_5GwTf6m^ODN6MJwg$DP2PIyYs1G`0JbFmzw7wefp@<so{PR
zmmiIhC|iUIfO$PAeiWowp~o*lQEZ2QND;bt7!lml;=fkFefn`B%^W9{u1pM-SH#Pa
zhZc75-ilT*-*^Z$KIhNt?XX8}y)rNUr^eUd{)6Kl;m8V6<5qyACH3OrrxIx1obx{w
zbrXot;0JSN1!?zo&@@Zg#i_yyJ^$+i>5&r(uXi^m>26I!g3W>*N3+=_(W|}H=r8JC
z4nr5;4-oz~m6relRBDl0d6&Zm9Ur;lxLJ=o-=l>M)fHtdn1p`W(EofRTEo}VZE`z1
z4pS??`6__G`{O#PsCaGo*h}>%KcSTvu{4k&rFNxlsPdu~a}-LI^%ZV+28CYU#k09z
zes{qPQm<qua2~Zz$_U<CS*{%&1;?USiQ_?2Wfx8<eA&2bZquD=b)cq07em*YA$1Y$
z@eih&i!pdm&KgTbt^hGJ^Q3=qgP@H2bp7~iA-$=Jvu7(nisAFRX|nQR+XY?OqX35v
z9x!2l{zljlM_h}4*^DQ)^}<tWqwa#maO8(YQ;ijSjU&Z1)%=XBv-|ZitPtjcFFs`f
zC%2{q3`*1lK}69#D8i+FlNo=28HV|3EI>e6Nw>MC10=Tq3-R5BZ??6!SiUa9fN#Ge
zzK7P}K<oTvEI;cYB=HIA_2XA*;(|RYPHv7}9PxzQ2)w&^R}?byPDO3MtM$E9fZ9z#
zy&fBSinboPxJkur-S9NSE)WVip=RKG*QI4(f`E<zo>*>RD&t7>TzUnjwl$q%984~Z
z=}IQiD^7!LEh8<QmmWmfbw9GZQ^zcrp12Hw$ma4B)hW&E;I~ox<TWIZpaszyC6})B
zr9EH|o;IX}?~sf|r<eR6?;na<SxrzPRaNXqq^n>waK2mkHn^b}0C5(ynKoBDm|cH>
zoODib7Fg_k{)76)aGuN_KQ2lcivS_gkK<?TMil>-lg|1`iqwDR(9SggQUN*5xyC-L
z8Ms-P2cjYD)N{|xh0d$?-6p_rq^2AwHdv<K6?e+Baw8B?e0<+M)@NTW0j|26kh9>r
zZn`*a3IL%KcZ5vZj{m^T_K1{6C@+3f!DC2WMg%AUhGl3VV=LGnZQPUfnb)pvTLqnL
z>O{83tM2OgSgA8Z)y;a0*T5SHp!n6~nE#Jkrz4P1f0u6mEfw`iAhIicP58fPd-G^0
z<Nt5?nlTt_V~s40ecyLcW8e2(LUxjD*%D)4vz0X!Q6kw&A+m2#)<UU}y^<uAO3!=x
zeSi0T|L$|1|DNZc&gmRymg~Ca^Lc+>tG4XtEF>Im$K$MDd!NKGt`Oulx*A;D11Guo
zRjPQdNe+$HtYR`rHWWT=`c#(crtq{W-0VX-nI8slv5&()Kk=WFZO*)l0!Oxu*kLne
zM*q!Gxv@}*{>*(_xUCk=H<`y<8Jp_>D3D}J{`l?V91~eYGL8saMAYO-7}7!LaS?EW
zTs5WB;7L%w6+6K0-BK{#D(m^QMX|`>{<sPs5_E6W`ANIz^2O#EH$D7y4DmFd-L)aN
zl(&o!#mGiFmn2;cLlfx-eAZ4=Dt_(L&)ESn#%ASZQ_WxK4GDJC9qa1Jch5r(NNyuI
z%lDsVE^IIR73YYZ<d_<(d(W4pe6tJV3Ng3<NJz*%8){CUePQQf;`h1jgQWH13)wmf
zEONvtUPv<x4n(;h7aj4R<HeISEpCblm=j9N%!<D1Ac2P-L&mULGJI3sHkjORQTzG{
zMDiC+ez!Eb$X8tw<M$q*PdVsgH)v%*x_S0GNh?kt00hRDVaF0%8b1jLEZe_{D{#sb
z!FA#qcB?HalJBAuH_17gTG5J$2*!q(vpLI6d`j7N)OdcUiyGouE{%j%BUIXVnh<@g
z)0czg8l;hOAFP0`dJ32>E7Yro(_|%@0!9U#$HHovDgD0RIk<l$#|2INb@1m`#R|*6
zs`OtZJ?*D@*bX7^@w&AIu3PlVVHW%>SF`@3qX3JB=f9k12kpmAUjPuE1vgr=ql-z}
zrkow4W2m9?hX^pXkG~_3moi<5`THl_grf!z2%-4CCKV|mW;iCSVlx4sdW!)emp-3h
zgkUd8yaIz`U=9+PNI%)hn#fk<K*9{Z8X>9VQa+KS9-GNfB~&l<Y{Vr2QG)U>K;8hw
z8yU!Crb09r$~aY$=CBCfqt_iK9@2XLKgJ&0UCaV$&|8gwaZ{KkNK#11|7mZGRiB9|
z%5Ct|yD*i%r1_N@E92T(eU-tKQuEQ(KS-TBbHq44&!o#=F7U)@uT#8pg056^w#d9m
zm+>7ksmJJ|>*2Yj%0axdZJu$(#pl_$o~o3#Zm2p#8snO!DT?t$?9WiZ7e0YgEphJ2
z#S7m?7>w;LOEeLWM=~5I?9Ck^B#Rp;w{L_u?yke}f1Wt|IaF*bq980T#bjAriy@T(
zsSjP+hojY!0Qmj>$9F1lMiU+Bc`G=$j+L2Dhn<z~Md3!I%R)Lw-W?J$bxZL2`;PVR
zZ&LbGDSA1nS4H!$^8QFDXn_C`Ui0VE)tmptU+=$}4=HgmpucWMEa<!s$9Wg4*9-e>
zOt&nTkQXFMH)S#<k`EtSpFMV&(gjC^QSO-lVjny-39!iX)3pIub8YKRQ<W9wv@?KY
zPGf8-mh+!IsdFFYlt>cH^Bxxa#om{3pedU~eFSB0ymXd?Htmq0_<tz;f1^!OC~Vr$
zadtEViEY5p+>*}oz?4awo46MN5RJV}PSU!(CXM!%EdNDUSZX6lbqmpIS6eL*BbnvU
z$p5zy>;E7o(y?VNE1T<gi+iIjX;n@Etx`!doSH&<UdRCk{vX#Cu*Uxb)DTGczvltc
zNAZXKw5!pqktE6dm|-vbZ`3~f|JMt_-R@F%;#}W4o_&1(PT%v5&q`2K@T&QYg3LUd
zz$4ThI*Ki9NJq%z31=q`g;<!>HiKXQ@ylK$ZD33@v@;+mgp7kCz!sNO$EUVbXq`W`
zrWvD`D<hlx8X~^9(HGs2aZlE*N`?)rRZ?s8{a|)1WC^y4+5K_*0b!kv5B)b@-6=jc
z(LVk*>Vw3erx(ecq6F%l{nTB$XBIwD9uc>biP(bTzM*GS*9GcfCdat|1yFcF<2Cem
zk#bP!q|4*@h{A`zGy0SUeLCE2nN@dq%d^+=Zq6?%xuhk5kKq6N4L?)0k;M9WNuhEm
zoizV{+qR=%+kQ3YedABwSG)$}F-_4t-btRB?_ema&*OG#)08L}S{d5P`dmn|N4*Ys
zeCa9?9Nz1%+`Y7CqR+$G83q_@N-ot<ynvHJb1(fd$O!xAB#n#dCq_KWf0X)Onduie
zhZ9DU8L~hn_7WtLGjM4xfdM6(flt>b)Nf%+bTW)IaBK~)LV%jKd7UR%_*w-%fuiy~
zz2ldxP@^6-jJ(GdU&4bH9{gu|ZZ$Sa2xJ%FZoQdtH7YU*Uo9s&yTq#)xpJW3;qoUG
zF85{Y>wwGrf+GdL{3Rngl5sZEsKd33{d-_gW67DcR`BLSa*<FLDZdB~BNC1e^wF)P
z87bX}%-ARAD)C(F3hQ@CX-NjYv&@%2kk>XW%PzS3wcaSw1i19Vd}8<Q`0AvYpo)eM
zv?1_7oObE+1S62zfEQ_ocKSbnH2f_I`v&|!-pceCitvE?_CBBsqE@#@!G->`Q0gy0
zC8-H`R0LSB+cVtZOn7PA4%nGQCDa*hY!->keZt!ZAjfrT6d@jr{ZC^0yZTPtf0I}{
z^#U%GyH33Cc{Z%(y$?TN{)Kyau_gcINtkv{{~*)cbMU^l(zcdqMBfQff@x<WAzmkZ
zV{!%TNrINkjs?fJkGXasGndXJBY{+PXA%aXAM4On*uY5FC7RB;u^r~w=cOuE(WfB2
zs#e7ZyG<uM#A^)OwM^)TmnJ8wQD{VJ(vG$(75hA~<BSMkKuQpFTe9&NPz#0@`_*em
zR}!%#orfFx$upBYwtbGc9&Zok_yX?67mQ?kl`rpVPCtSHy5+fa$l4cx?Nhq3#1vyE
z7ZOM4LHg%^afFkmNKyPBBgc`Sk>Hr?%1Cp@oLRQRB215r69Jgu{DnsmDs?59KZ~|E
zMG>u2+UvU0H3Uw@?_d!{^W)J}s4n%~bSccmCp*&hN3A<Ga>#K(3kR~~Sw0!RK*yS)
zPOZP3`t1^rRx;l5u`l0!cx>Ha_;xbdQ8?X$`Mty9HF@9L3=^tEJw}UafddjGdC<Sr
zq&A>9?4PS4_{-sJpgL4A0FDrVE&4+91s^t3Si*xCk3M!z-38W11yVhnjASk|uv(IA
zx`2zJKLZzOrW`4ROjEPUYzrq!CnD2OKXm!6s9l{Joc%%a`P@jt;MVw}PJo|-#A%Iz
z=5AW-O;~9OMkn4Tg9$QGxU>J*XZGA<5Wa0;T%Zr<ztlr$Um*mWA?!88XSH#Ccc4#V
zk^@UYg%s!yFBRrv+WBhWQPNraZ2stv9+PecPbsoM+ilm*gTZ}-w5J^-#2lr0ee1>D
zLhYygs)i;-Jjn8p5l3GF3ss}GW5+@~P3R*s(Qo=U^v8TA^v$Vac@S+Op6NRlWR41u
zW$Yvyk}aDZ0Vgfd`QC3^3<z$I@ny$_@bn5WXx2$7Xd#jvyOv*q!OaO71qMC_s2O1Q
zJ|^{Y6CpKtBa5E;;%Jdf;$<l`@q*jwa12a-L@>}6H=P6^4nwdK8`h$uMK9c9%|nh(
z?cP6v5P|T{cj7?dI6uzdgq;B^VwO5!eGDgPK<wd4T&Kn{of~?pe=7C)PFYn}4Mhe*
zMMY%o0=O*&hH=3Xxt}&DUR*dip|`JV4~b8r0IfWS?LtfsXA>GhxmJiqo?d117WXW3
zOg@YS+Q=NF?6{WUtbzUkib~6iCO&~SM0?uPw@WW|ibv%{U|clvc1h<zAB-=S8#Qjj
zd>$77e=@`s$zO#-%*az6Vr{vFnP*cg6C>u9yPRTTKv>6C)=k&Fh(Urn!C%>N;k#}J
zwS??L&&v#f!bEDEnA{aU6g4xXJ={&asDMeQAh8nvSRDYuyA(0hR}tguYOVfrO~zi2
z%^)|kXyXtgvKtb5+i5bzc(^ox^cEDt!%ncw+(ainRFb`Wa@k+}IDpX;=W?%=MQgHO
zlXz&H!}l@D`x}0r?;>yP`^<XdPnQe9*lms;%|{kK0-C5B!Sen0DkPece~PutXnF?V
z+h<;fDpM|HVsfc2nozXNAaDaRwnwD8+J?JEb!h@eq(Jr(hQ{aKx4ID@ri5amq3U8}
z!IxSPtoi43^QcjHVf3_n8HmDC)sqR0d_a(NsRXH7Gau_KK>mRlP8jNZq}Hi5FKzjs
zL6<>pM+vRk_R42~4_dQ5R9<oIr^kipkZ9^kg5vYGy`uAfg;Bi9ywrCSfGKZKvNJ=u
zg%y+WeiNfu_U*eknY=5qXWR&9kUGxnUjJPPuU=Bsz4O9~&*G%FmULM)`VfXV7d4}9
zc%1Xt`v9~T8JP&PXSn4_1l={E3c9<QQw+srspMhZ+RAw{_1q}@)qo!93Wdb`9@&pU
z;I)(bkg=%j<mY6vVw9K^ZprOl^0VfTfq`5f>Zs03RUxf<hy^w0M#60-F}cmcAf|v2
zNWKJLhx*AI-K-Zy=d^mL5gOS|ZZad*^}ld}8ELMRjkrpjc*A?<BeM`d;t!lgU9rr3
zXgK2ZWAEskg|QCbwI~5cU0Gp9-W(WcO|kb|k1$a48yA1Ld&ZUfnt{t_4V&bPb#(%h
z5|_W%T`I{XS0GHgPIHs#ZEdHWN37RW&U4FIP1ljBXE1G;f12~cqk2wGGbV(`<EFOP
zJ5r5eCN73^-E~N`KA-%fPADe$$Dy0;F@`=1E!<}IYtp=e?-Q~NK0(CLK(Si1rjYab
zOF1<PGJdXl{?eFc4VmGSaXeL<GYSN%>B1u<6UfY^B8wdhO1A}9+owsBL7yD_T+1n<
z-X{}P*~Ro7lV*d71)Y+sn7cSy%)ojw-b*-+<FJ=KT}TKU1YQlz-sLeD2arjabymVs
z3%`oRW2E`mz8bU2UjST*+(hU2Z=Qvwq?rrzFNo2JET}4Mv$ON^c{n#S=%1=FSa_b|
zx;2ZI{J>J3e4YL;499V96p5%$zrhS6i!Yxmf$)zx$DM+6T4mDzM1lbW49G6Qyypw|
z>WtP7+lpDK=kkh<bMDoO(vNDl@40lwbkAF?csK}V$1&H)@gYgn=R(onpYvvz_J|7r
zpN`z6BAJ9@NX(mSNe~9lFSR#}8<GMnX(z)zxlIWs`S|~vJcj?Hvo5Bq!ymc1^yO)g
zMvDKNpi}%GoS-;6u+d-QvxHE9MG2>j>u^Q^mxpsFy)ARy|3&!y(-i^vAGmvRo3<&n
zFcBn3sZ1nv%P<54ETv_TJl2O(g3p;MfHo-+vUO7UZ!LiQ;`$_v&#7lNmWz*t2Z)FG
z6+=+-7gZ8e{=ZT3#r`k|#|<jF*uwG458FqJk`zDlw*BY!V((wpgOCHzMmdO_2_pqA
zPssPBBY}3jh4;4uAM+FnZnDTtB)+xu#P%IRJ<qtJXb-{|7%fLV<~?*qPZ>EKBe!)D
zzB+nojsqQ}iEKaudpbZxp|}2m629aN`_dJY5gKeD7tb}0M^2v`dg*0(*G~l}n}y<1
zSx^yR1!!#~3C`D4btTi+mV)ZIGwELzFlylku(d9o2cT^^q81@dms17Bqi}8ym~AMh
zY8j^f1JWF_J1{CvocR)XB0#p#>m1fY679qwp+HJdTG931;tr!ChOdOIdQDl@Va=Za
zrB@X~N;a`-go>8=fXAQOPu_Xa$ezv+_XCG)-HL_Y?v_PzdCx;#p!B#C3)@k+%+eVP
z4zxo&G8I7zvSGCxuD^r4fR6!Vp+h{OyGbSH_YW|WK;zOTX(WHit%VQ6N=sUGL?+X5
ztfn8hfi|ikhOg-f=$pWv;9mS4)E{6B{RXrK`50+xZW@06Jh49oDRUU=>%4L^0KMup
z2ud0c?+M2`y11L9vt!%@<a~WARS9u5JoL&P+eeSuMG}HLXU#uV|0WMmUX_99hrD6S
z2L91EWWeYD?9Vu?C*3_)TKNM<BsrY#ZoG^6bvE4!+eI30T%Ph06c0D7yuk?{fk&}2
zUhczttk&={|9vIQQVPQIc3RVNL;mJQIFRt5%GZYRQU5xQ2n>+?*;l&&P#nPBswiHq
zHL;1tB059dM3{=QZVlY6f6@j+rcZezhw_<>m$Cs^W&t#ZQb1zd{oZVf768z!iS}PF
z0tyF^vE!BDq4^eEauLrj_?0gSZ8~Jpq7I`J4=i7p?2pYq7gbv!?bxuNjS;#Yem)g8
zw*m#=jq1o^D$C4_Jp+=(s{1o@4WujcaGzuzfU%|}r#XTyPFx#NQ1cCk461jYg{KrR
z?(d3Yc=E;N3<f4|!G@N}&``W!-Iluk>zYc4R~F~XmLRyaK-2QA0(YcyVr8zN2VPx5
z?G0I(q8CZv%d17qSGpaoo5^P3A>*k1j|qU-7R@e@v{ffMxMAYh7>VEqBYloijexa7
zjuJ|kbaI#n`q7Vd{9rRkCTQbG(b<5TLbx`$pvR+tH%D@<9b}y_Zu*F_al)M5bvOXL
zeO5!_f69DtIP^GhaipYtlT6kOn43ti5sF(d4$JNPkH%}Af7J3O^s^uk6^@xCRebaw
ztB1g<x{9gV63|j%(vdibkSPBHW*DIma@z0lEE<`tN&k7RN_dMdlP*%KOo}`y(!g@~
zejkxAk0p>Cf8o3r{#73wBOmf><uUKW!eo4WzEh*}@1M`HE|DuNtnnGjDAsHLc`+H@
z2Cru&Fr{<G{8%KVovlLg*lf93zdh&h%`6s_eY2kpxQ<EN3?DN5^z}zzk9CL@M#|}h
z9WIO+Z!k`Gd`>R>yRO=}IMDh1fWvY@A}LS@e2FAKoIeBJPk==XpaKM*LW~;^QcGy0
z>k`CQ*sh7I%jhD_H-LfnrEtjl@V4VI7g9wmB3%O7xCp+kXD)zMdv3jZcKZ$H<4p#J
z5O`*n^Gs4om1&wZ5$UpYh(gOxbv-*Qjd9CF*3`y7e};1|gf4Uj5=p5`1MH7#L0C!R
ze}vIam@t5Cfm?tdsC?`}^lQ40-Ine3UwDvt#X$jWpa9V3aNkef72gxrc7-%AxQDB=
zM?d!|f&bQ?U3`SJ?KES7Z8bg=q%K`Z@Rkr~7>$U=65!y-gP>(>Ou|YV#EGly``!$R
zZ}U8`eN-qc0epQif4<pCS<UayLDY-lTEyPozXuDXnsOKlx+9^$&hgLhK>pf_O2}%T
zcqjX{Yd{-4(uX@jnT0ujc9c|Iw4vkrb7uuCn4~TeI8ci4gfOnpHoEsmLjp<J^}@Go
z67v5hJleQBJmU}w47Dl3r)waqDDf7Xgu5m(d+-bJh2PNBrXj2ZO*C-0<%(R+eaIw(
z&6;CF`)Vw}71RAYsJ;vpccyF*orej);3e=U@&9#q+2fSnMPHt}aai0QpXSsOSpJwL
z0u~v-Ei^><o;nQGJm^nENZB)_KC7m@_YvcH0!G2CHnNnkxU-?jbzLF!EA+#-zum8Q
z0tiWUKytXlHAd^5=7ygRsQ`&L3%T|iUZN^(S#2F$V^%IQfd(HEshFHN<PP(pgYXC_
zHO|e{acSzxa?Y`jmRlcojwt7%Dxu|t^^ZCeDLKJ;@IDgip>KdEY!RmI@eud=f1e+m
zwFFnth(M?$sc=C4m<GBlzl)Pb2FexByC=J8gK>QU^lA_jceqzWTcH)SE1VXLTcb}%
zDThyR3m%VPVEzfL*O%x>4AJu)h{C_EPxOX({rBt35Efv4eFE$0d?rMBxwMJ|FAwF`
z$;ll)jAl1OaDOZgG#-uW1j2gtwwkZ>I8@+B`3XIJT4y9j(g}!S$6wai+-0Th=0lWy
zpf0l}N~7?f>4)^(O<-x+WijewU)~QsZUu`<k%Zr5B^6o9hsn|Yc)|b^Vp{sGGB$Af
z0-|ON2dX1#xBv6abHXvM)9M%YXxk1k5@Auf#I3HnKI#9T92?mqs6FCF<GGStP$$(V
zP#)3^vc6Va-h$hv>Vhp{-+uLkopYps_h0Xr<CCQc@cV9Q*>w2${ts|FlTME8+?+yB
zPC*17`}MS4{!TbLHrD^8l7q)`a2M}W&U^$7m3^l6VL?qF-*v{8FM6X=c)Ie=%{6)U
zI?X=P)LH-(Zm5~%uNG1?;I1SQ?)&DPnK1)N;;B=cBDd<OGOEGNK-i~zUG(zEh;0qF
z;a73<pxVn@v&vd3_d!on?dE+z!;T7D?JFV+6jayZ7Q!*hrn9#5;8ZYx4H~Q*mGd$l
zDr&lfkhEK+FW!`CkUhSmf~htBo7l#zLpyk1LfKc`FiU~(oxy*K?KU}!5C#(ag1^5B
z??r*icOcCp=&55*d*G5LwDlDKejnA6NIxp8ifso_4+e=W0m=pAeV7j9mW$gWLpQJ9
zsvN?(E@nI(Lu;8U7)|A9AwEK+pqz>;uS$3Zu=pgWkY@@q&s{CNE~%T1eum79Upnm7
z{rN#yh}v9&#-TOEJP5M%a$5SDzW~eS?$#TQPxbJtUmK}Vk(9(NAmXkApFIX3s&83`
z=4OlQBiJ>03B>AQz>4l`@tt;3!MGNl3i}D`FH?--$PXUr=pWlKXql8M%fvW{Epf*2
z=+kp3)~3F1UYBJcrHTf!41=ujQfg`1#+Xq_xe`!$ZOeH^O{dHGq=+8r9M;JA<)47H
z$_jM1-o9+J1p>rw`6I#PPdWRz<A8-tdzd4A^>sOq^<7(ulXp#0O`RklgkkW-y)cE~
z^py;?8OWPsCX@L*mw>d%ke1XRG^PSso^`N}kV-b}y(IREmvG_CDCht=oL#yF+ZEtM
z>3YuMhe<z*KuxhD2XfxeX(^hx#vlxo`?ss2j4n}!2)8HrSg?QFFE<f!(sq4eRaX>4
z6yU4lA1rNUHz){({VFHzi8^Kh;xpZ!MuPx$!t87WH7t!W07b{bJzjkN@h(q}0Jfno
zyqo+mW~BqmK)ey_EEm2d^&13ECMIFeN-nv*{}b?PcdaMsZiCa~y&GKTe^`1$<gk`+
zVC~-Z)895@UoJt+{IzJ<^3K-WT?%^Jo)6~x7mho<hdLKOet#FDCh2mJ!hz4t;|8rH
zsGV7}{q6^Q%9uSUdl&;l{e;DUJ&%Uby&PH@JTmQZ@3LPGb*F20y<bJLOU&F$MfL2j
zYk$+F&KHD}aYJl>M$5bQpEn|d9GME>j2ix0LGhIuO|>zNf_>tF)*<yP6$OKrI1U@p
z<4lptlqzap@4Md;4>*^5@8-Pr7UVc0PiS+i*7U2Os2OiNpLWded<Dh5?e6qk>1L`F
z3aYacH{bE&UdGBt%OqC54B6;d%Khm2^YyvE`k#s#4T?-&IZE@nfzKI4h3}%jn#d{@
zyMZh@3HEPKL%$4xYoYA{r>LtRy^FmurMOXg>U)u|_UzwXD^op_jF(P$+epcT`stJB
zrPO~ndB(cFZ~pN4$;nnwiFq`*Vrl6{3jgx$EaEFtD0C`vXmP|T(_@!(5VN-#xPO+g
zhp+1dVqx{pE!*CD{BFDL&)&W7vlSf&`N9*yo6|QAKL1ty>bpGjGu`g%YDM3%&b4bZ
zdJv2D=#~4Ana=A4WnuGQ(!kK?tMhU8OGr@IR_jH6V+`IuY_|N{O`W^zANqHeFJEx`
zxq9{fy2po^*n0mtA%O=wE3dDIJm)yqp^#F4%dmNJI(_l}Sj-)V`;a&K@bb*$t=DS1
z<HEkdB?r8USX9|#@6UxIA6aRCv*CzwWZnh>g(a=Ow#NKBFN#G)i~dGYstr~FUuEkX
zWPW?}G8lZz-cI^C$3!wp=toc77PX0@U=M)05f+XTB<2nEnAqEuyT75xn0}<=`&Jh*
zF0ON9s!)`&<;T*&?1Qt%wxBI!+}5^S^YxV3=N0OBa<P`BZ_NPDmkFCqWy~o$v@y_M
zu7=ZxY{a?8pH4k};5lOU>d{}?UejY|@19^0JKpj4U`*zQW{0SQY}KmywfUN+ug}jm
z_`i*=+$+{fj=pq>mQHzK^l0;87t8Ou+0J;IJ5H@t^1@NRrC>+CO3zLfv>_ye!|y>~
zgROIQ<M($rtQMJ8u_*m{yPDmxB1n(3YUup_b}{k2ZN#e{2EF#o+5~KteXpH?1Ovkm
z_%Z9AMCIr{wHv@j_Vd+u%jh(zc#ZbZNUmojcwcA#J9v~s;94c>>iy?YpRR>J5e%eC
zaS>k|b-12MCX6bAH38N<CNC8$aq#0`Vdhn^F13CCRC9Oj!EwK1`F-~uSznbKi@p>P
z`LfnCda_OX8{pyRisqo9IBqt4b9XHF>&5-(q)WdA?mo&q_F?ASU3cDA1%Ktt<f;2>
z)?BvwJeR_U^Ikk4*PNO*Jfa$YJ#g)s)|>LUP_O-QoTZ;g3?sU$OwN6P*6!`=EFo%9
z!gM7}4;;Q%>F)-;UxY^3+H4w>^8R{2!0Iig!p;0lWIO*AUSX6Ek=CKQ7w|@@`kFPL
z*Z$8lGXb3S*2kA4z6fIoyly+X%0wJd>1|QWl!=!9r^{wp`QsF{MFt9<`n~GQeJ0YY
ze}Av(d_1x5^E%z*vf$CBAB}_QUmYbO1t`t_I%<tY<8=E#GEy39Y1W<c)3kb9A7;OS
ztUu1>6>oRGy}gh!;pZcM{sVoE8CHIJ?OJ#Y+T!{I`N$Ck=bn{RhS#FM)xXoe|JF^Z
z=V#6)X!@JMs1Vs!J^RXxw=8uxnJzY4P1aHE$)7z=UWoQ~4p3(IwnaDiy%3EPd*75J
z-R;lw1}Ji-7)GOP#OcB(*G6wmN`|9xY(I;Bav3@ajr41DL}^tD!f`7_Rvuh>d$U{0
zuB&EG(ko-eHKev{FhmD#szjGQn&ToQ1*hr00qxMbGMnn|$;ev+vfLII*srS<f|W5x
z#L^$j{<;2%stuNK-|Me+#AL5fGDYq|^+4M}^ivV_a^6gQPfQwfp|+^ZWNO4MjYz6H
zwx1$D<|D3N(u{$Lh->e=#gtBQZuaS?g|X=o3eC<$LxhdN3nD!(KC86@ENDeXq2h?S
zQjx=9@7?9u-E|oqEb^!Q1J|%#Wo&Arwe%D25aV!BiD%oBMwB>fS#;n++!OK8?QWGO
zT<o7;V>#4Pn1#;27duZrl47^TKVbZ|)ZdvaY9P906MVV8WzaI|PIrR$d&bERx93OG
ziHwM&Qq)nuPA)TMY?qB4UF8SwBL|BqdhW#6xqa4HB>#OM(*>xvM-xlCD`|q7&z*R3
z{(}sgef;{nSV3->xoy<iFvPa!Vg;H=;OIM8rEZInv0($J@BEAy%STe(zZo^?{DtTo
zuCE{Y5zC+TZGJhX0=)gQW?Ijxiie(_jH5z$j7zSB@H%Ls3EJ8<Uv4|c_cO*bBKu1&
zvClSamcB3-A?CF%u^mpEhdO^l)b6ypZ6fim4|G(^Gg9O#`fNKlWP<jTKil|Zz}w$d
z!6!E5rfjBvzwHR2SVc1-lXExwg%ZIF<MVnVqJtBdR3z=gnH)sF%J3|RJt6kMaK!`7
z?d=#T&F6AjitZtTK{|~q(M>pn-Bz;W!3iFk9ZPpOx`=b)OOaILTQTn)!^of8O;ZuY
z`Qfl|7+^FRo6W3alLRE|!~x5;p)T^HkC{2BG2&It3pQF~^YYgTD3KfWlBljp0i=D0
z^3<27?=PFNy4}b`J~oY5)voP*Q0o0^BVG^5v?=PxsEF1FXX@q@FN#Sw-4@>yVMNeS
zp?*8XS2_GmKHty&1sOD6l+cDI6w9_5{mFgj0VA{}U3xN-BdzVntMgjU{tLA($VlP{
z<RVmiwfCI|otMkuLTG}v%nUmYuKDUo(63={zq=nqg-pv=WREw3wJ7k7od6<iWv(=k
z{nz`xwk(?PLX&5Z4kPzrV0Od>g+;g_N9HIRzvvV;_t3`k5=}98KK~OzeneKj?0DtY
zvm9I;tsvs_>f?Pgy*~*erbP|*tc1(e$cySJ4juX3$aQ;=?Dm;HbN_PYbH@#xI7?fk
zvPqB+sXcPWufI$4Q?A~sxa8NA9<c(ccJtA}Z4Q+Ftm%$tF&%Us8{HfA@lf=Y{k@nH
zqWGGbh%B5+=z-FfHDQ6rqJ-3gb*|H6Mf_q2Ku;nesL8-0rT&?3GoAVMvgu{+d`K%J
z;+J&NMmTB{`DKR7%Dv8^aO8S8x=WCiF8xVipfx#m(f&kQ+*@wS8npI`K@!r!ay<-s
zLr)z)P}XC(gJAH=w;SwI%B;!PtE&cjEO8q}qm0lv&Uun1u=nWwdwCjfjvV$s47r7N
z%Iktw{(#k9VP0k`Pi4PY%`w?~{}e__6Pb@PYMu)j^A2)=RGm9-SLGX@T=X8N_08^x
zG6@Mk2jK&XMXmR~{ah20_sOXs@4G=ux1N)-tU7W+rv%X-OX8*%9fIUgN>QKPSI<f=
z@{1A_{Mu8gOAah%DY>TE7q7>gL4&HUzfe_P`IT(el4-`D=OZg?5qw}-jNvDZ!YlVW
zJ|>?YPQ!VS6I0ERKl>k8G7TE&U+D8afG5bWrkaIpztF#J5Tvata_YY)HdVuZd%rWD
zm@(x;s@=Ic(1d%szA2rXFI)%>MY1bGUTGeOx<1sKRlM!FbL;IU{c|)9v7Ma{<Jk<8
zMCG`j1f#*NKYJhg@Y<PD9rC^#lL|lbd@cNa4rWe$Kap{$y3m~=1<+<YG+}Vd7GgAp
z=NR7Jepcmg0_cFnNAjxdenF`V2=~R%2NeCd1StVTUlEq&=~&L?LPWYx|7&@$tT5hV
zgqwKs+_UO!e-9z!1M{l~t5;drU@@q%z4+Fs2499LJ2NBYD-!-jfw?@rRn%>fpY|d7
z`!hebBlD1$Vb`W!OCTD9PMEh(@JyO3RrXlPh}vy+4LI>2N^f=_o}4qUAJpi^c0KvE
z-;_fuCLd_~Q?l*O(X%-@%`qU<gUsxgCM>@$dioH|nLo?lWivj+VtFrB9t8;g@vTIr
zsO`bG;)Yk6#J9PTYF(G;MtiY>Bk>r*aSH~4u(`^fw<3jzxoD|Xd0Z+F_<m{--*Q<b
z`rzjw$e0o2Aw<7;vQ7tU!l0TWhS+LQbL;nnpGSE5W2zsJ0MNSK6Jz}fR%p%kjL1MH
zX$(R+WbkSnk1QqiuIf8qRdoN!f8oM>nd}HC!0gaD;DbXGG{82aeUCem2dVZ)3%0e_
zA`MEXu4Z#`YzCl{9|ZPbd`*)Of^@s#)>(8ivOrv|ULYWSG*f2$hibagDP30jY^3C!
zN!e0q9nW?*PFN|Ks#a67RGfS?9BF}yKQYCTU@R(1kUc+Ad)L-ZCJ~3&1&53zStN)z
z*cxMRwttFIxR1|)qAMnD<uAk&D&o9S7$RA`cEY`owKVLy|E4E(Vif*G>Sedb;Ws|M
zkiMtuuSi&5(`TBCAs$Y<cA7#8;FBO>h(_-<{^4FFTbcA;FzWl;uyEBBwZQ0cnZeNa
zu(IdyJu$uBu1!sruTaX48rmIT=O9H7v<fUSA|Hz{E;axfZrX6`#duiJNtW-UBEhO_
zS;ro7EBZ@P`khW|*QBe`NJ~(=j^@W86uc>oIJAFha<6P-qMVQUbEhi|hz6fuC;3~9
z@r}`;XYI!+X>KkWFr?s+;|gcn&OWbipd!rFT`n$IYF8GG#eG`fM$W%yM8s9z|K6w?
zthmwpGIEc|lWKMM+w}8fx)ZLixNq}(>vX+<BqD)*xL^6GoD-pHsY$(-{5Io=MW8IY
ztpCb2iU*smJ=fdH&u9ea`OCs3u&M7*y!12#@>JH}TDZGYFnyM{_wrDdNqRb9h&G&A
zFkm_kNd*3#9%lshhCzOZhQRSLakTz<oi!$|PW8PA-L*6yg+9x>FFBfC*b69$DC}kI
z<R=c_eSAUgScZby%!B|k#3a0k|8r)rPhQ1PLp(@!(n@8vO7n1StWUm$l|w<ENDh-}
zM3PzPR13c_y>MTdTJX2cZ@Zb6y~~FWL^XK2%Z#4xGo0T|7kj%*8?2FYUSO90T63*Y
zDs@iu5~rDiY{f&KXH)*l@2oW4h2t*`dAYI1D>S<;{7`XQY*C67Sn)afthCtGoJy)+
zKBk$4INd!eibk9s<cigE>YLnt5or7Q`h|yu`^HA)9c2X)MwBha`UrkB;PJvTQ%PkN
znm=i0qw3v=YS*Vnohkd2mrT`U>$>RJ;w+^eyU}*rA|B*rhWS~RwI8Q%DuFKZ+&6AS
z(mm*IdM(umH9|h9QP8w?gBL~k`s@<9oGjh>JSvMuZ_yO$zc1`g2-Qk}+#^D-<TMxI
z0dtWeZvn(%2sM^{es!~dkoV7fS@0Y4JvS1qpp9!0CFJQZ^Uo=UOk13~5#dHlXQdYW
zgnF4;@?Kx>$d!9g{nPg?-?`+8BR^*~$L{j(nvV#)|BJWx{D-`RtwUPQ4(Caz>|QqW
zeEOh#>q|-)`&Wg@%M~@xgyue^+DpAY72kw2L9#UwLJ?nb4k)v1uY}P((mUqp=1rB6
zYHrMU@m&7=vRKLaKnkza<!>$TomF;*>PmYUXDp3mT;MJXJ57p7IQ=*=xL976?Adf;
zqlZmejS{=^ajHM>XGA~E;B~o+w+2G^XzMw(?`_EhR;IO`u4udPaGLVy=*s0%Y$APv
zYA@khvRaFxpO=JYQ?=qS1&b1UlAj_vN3|WWg$Ktr`I}W!DW*O}-;`*%aohA%y1>2U
zhZXtkWYmA^<S5w0&nKsy`c>yXLtD7&@7t(xFh$V4<VY0w(^cpq8T95uO?=y^vervR
z#P*DcVRH29@p;*PwTNxbr@7aJj5i{0?AomP1P-erd$g#c=9I!0LILi}Oper!Ne`0o
zoL|#K6P4?_lR5P7MSZ7@y%nbVmLa>{j7e~rmd^UrOiX`zslLkR8=+CTHM`jtbY-4Q
zdh|(M8VdRNM0QDf%eA+*cp#~VThZ9Am8|%O8yDePBn9+};=jb)8VnO-{G;-7g^gmy
za@5D|tM8wElWsHr8Ext#N|IHl9><oZn39E_RSRk8(c(`fr(bCE;1CKW@A>GMUQB($
zck(YSUDTLmJ58NyYlb9B*gj^|E*<!AeFj4NAQ7pgk59^R!88>h%ZKlzwj5QDI<D&9
zeZoukO>22-<-;y8E1SEnH@)OzQortH`cjkOOXk0%3YPObK+k2hFc7C@Mtew|9k%6i
zN@;r*+lTVG`H%^5!($ZkB`a>#qNLDFu&Xd!0%OD`IcPu6)83cHkT{3+iLs`8h<0bD
zcv3RqKOTFx4<qnrI-tD$AAiO`TrbSMHI5Tz1J;>3`K13vh-B;V0YPcjY1U-e-f3vm
z_Z<|`xIeN@0LzkV;WLq4IP|8fJ0y33kUkiYD3c!_iq#^6yZvkme#Im5zLWeTqFJ6w
zHW+hrZWx8+J7Dg-F*PRJrZKFJ05@pNg8%Bmi6xa$0_0e1Z4~1@T9n(`Y_W%A9#N=K
zCO%N6iyPt@zhhAWSdNL~ckqNZ`<@%@O_BRFEQ^7{n?OF~6)hy7BA|ET`_G$^g6Y|q
zh(LNu*bql!gYf3iybCD^fWEi>_e*Zy`1@N(1oh+3_tK1OpN2&-#^l1^mK0ga{#|SM
z&wqVema_kKQBI2zNY}+z_m?a>C+Z7a9Ijq*TJWQ=vPSLRhn;!f(?dia^Pdm_){`!<
z-Ag%=2Ckwc9&q6FXlBP0fPn7*^Lr7?;3M_lS^(000misHFyo#Sy!GLG|NG%NU9NXx
zL>IZ~qFbP;RpyFa&PPZEEf@ZN{tAQ}J)1Q07-E8Tmz>)pWa@tb=Lhg;`!p$vB6<@P
zxj^B~yONY*K|jH)ODa7Ex@$*`_4Ap*EUq`xZgn<yU*6Qokp2j*C!_|L<!j(atGf^C
zyVLJ(86BQ!0-F5m+F1D6yke3)fn+DDCy6N&PlRtd1wk9o3NU|K;y^_?iR)#u@zihZ
zE5Ndo$BimGuK#7@GbE`u1g{uI_Ty!ofnk|#ha`GuG)c4jQL6KI@N=sfTwepEtOiAc
z-ZT~n(d&bw7q5Zcw9v}A%H*nG$2e5K3!H)1Fa7WlR0TcGQ9Ls-kbqF?zW$0|{zk-7
znwV{Ej#(7#iPPyOP>?P#2{vPftH9&m=6YMpi-cA>i%83p(g5t=0>Kn7q4)gj)9ya*
z=?79D;o>~yc^QC*&s5)13Q9Zg*O5=s|1^WLHo#9NgnI=%eA1<0N-b$mpjRC_uNeI!
z@VGjpN!G0ZQGMKNlx;?^xES>WV(Fs+K~2)`7WuJM<gCxPGV3M|){%RPeyK7jME8(V
z%{YY0G^l}FksOt!$)E(T8XM!jZSZXFRD&nBzI`X1<2k5I1?Y3UbNtqA)Ux*+J+RW(
z+jJ5f_#bJ}t6;u@rjTC%gv^200K2FC1!vx&=4G{cIFNjWmkE<#D#@LPuDTJSPe~60
z-t5Qz{T{nypZ(e!*S!k9Mp0S$c!rgHBrrxqiOd|VIv>i{-kg2(W^X>kOngjbjk5=o
znCDP{^94u0Yx2xE%*2l>1e1h67@%aFg8EsM6AoR0(xQErL+e+BEi@rh@<+v5M~m}@
zs)0mP;c^?;z>j@;U<H!aMpF1m5;Fd(artsf^~pz)WGd{Ww8#3kP0_|^kj}n%4~k;r
zW-w#0zr}un+OESKqM$xup+XsX>V>S1F6L9Fg0z#*hZ8D3XWKzcyFoq(YhOeZ203D2
zpfOvS+Deni^sahaMWF3Xn5-J!XOgvy8sZ-J7zr<W=75ZQ-r>(iYS%JQCN)Dzn3e#k
z=ZR1GXLySo>$8*9HyysRe8nZ|6MXGM93KU;fnTf#9}b<;JU)Oe!Pfzg2tu5$T{dLy
zcT3GK<sRsL+E{8-`P}}sZxwES7>$ktdoALv1`HcB{{~rP2M|M3^!~OC$i{azG$uCS
z>P`6#xo*gls3(6-%7_Vs?;$mHlzSR76x5zC#6fmTZ<nh!-dNvaYm)PhDBz}0akKGL
zV!*ENqGd*^h=Xp!Z7MmJWC6_+RPMnk@{pv$xad5eW92&owsEm=nsfm<?TAXZ_qnem
z3wB0k;{=9=#4O>5{O6pmpZFKaNblQ3J8lmv9W6E4{<43MqH6;M<<=ACmP%@rasf%s
zjm7UCjaZ0lH-%D0<ztb9T;ZwVUcAzzl;gmb<2IYut#y+9+oDEkm#C}R(`o-P!8aHE
z_(Yb*PW&ykE8)0Dn=rJrO~A|miIZ^^^bf(OIdybR%8r2EsRMgwiNTp??>BE11M{x4
zKg6!y{dD9ZUL^^+B5{({TMdLXx9nw8w+(;&*W;OuEI7vdOx=Fw5;^=c4jB*Xy0d=9
zN2pu5;R_aktX6;<`MEWT6f&2eA;w>fOXLl_UouhHTmj?@bU}(~SLTj9YsMj~2QuJ4
zw#zm?)!>S9=%SJQ3uSxhdX=i;8-<P9sd0LKk{;6T1$O>L8xz8bh;(e^dO4tyF`#jY
zcGG9dogfvIDQIb;5soXNlN&w^?q%}Dzw|V95^w2XzAiB!j>RqI_oys9I#OfOV-i*O
zAdG=hYe<<R$}*?i>gAOwPca`HQW@xVG@x~*0H`bH`M@#eIq&P--uh~rxph>(VBclD
zaIJq$%md-DHSH4^p*eCK5-X!`%_Nt~{fU!)I-UifN%~oCI%d>*WL6Tg-o(;dwR8yO
z+Tw}a9%o9gg#3GH-ax<Om*+9TqcVfLn=feS39WjYk|8`K3?`AFq3}}t@)SJ6Q;*!g
z4h!7~Jk!)t&XYs4O5dQ@fHR7s6+affl_?<i-A$x(l4o65ytl587eh2K;eQ2&vv}vE
z+>G;VUy7b#5PotD>vxP;%!UQ~)9PE9Gi9IX=crrskfN8%OnC?wInVe-o-zCjQaoHD
zsr>PqPcp9-WS_vBipxxfJxG<2X637q2|}uGqtdT}Uo~wf{?Gz3QmHZV;PfzGaJwYe
zw#{vx>(M&~LBsy_x;*eHPO1tNk!2W-`iy%ek@dknnopNDe2a-+IH!pw%Be<mxovJi
z{U4DGZzlJWV&+vmiuKZ^e-1(;$-s&PuYDJcENI3D^9~k-lOAS^i!Od4)z?hR<|nyt
zc0)`84{FC~rB@b?d`5Eg_=;3zwun1r82bnea$vZSshWG_c*gC%ghuJdWZg8cQf8Mk
zkcNG;KUMaF*+*|kk9uH`L0KC8(;D1tm+qL3dI-_--xr6cTGYnyDitQ}mSyhy+){H9
zjLhw=_UMThvikuLe!XO&5NQe$iFrALa@135V`UUE;(f-Ks|p0#Y0S+GdK6Joc7v_7
zXjfWfz|QLniqk>V1%rs#uA{z&Q8C@fK^82Nod@`IZ7E`Idf6MWX*SwZqg>yf66Fa-
zJ{W0g^B{M=S`0?SpCRgVj50{?E?C^MNjBo-yKd;SlhKmqiA5349H!h=k)`Xd$spv4
zq43W8>;pl&P3hzvu9c|)KTT-m9{X(jnKz-!a@sJ+ms2&x$LPwr`vJM#PP0bIcHnks
z`?UosL(R|Zw!c2ZfX8Eq!G#o>&#Ii(Cv~=NvUJf2i<d^GX;6E5#pNrhH9fC&p`!i{
zi%KbGs9w0|9~g1DSX?lKO8P4nVcZsoRd>RV?(nJ_yOx^)41Kx8m|UajUE~@UGyl!r
z{3Jx$M6)KMENz;@R&6L4E`WX4Vqpwx&{3(;$2rIRA*<#%4-%n0|5vQN^r*w>%HwG+
z&Kvog(5T5=i<oOz@M-PqF<r^!&c4Igcny)L?%_jdEsTX=>v})#@}Q2%G{)ybY6t3)
z$F&P1?p}~3RM1+Px*>}TnvVoo47nh}{1TES@afh<Mc&*@?4I75$b!x*V?y?;)ONHj
zfQ?lS#Fg)$AT0mhH3MCWxMX~zeS8`Yc~wRsJjo_u^t)%+w+gZgO0JNLAx)CT6LQU&
z_>9}{Af9VLnSl%4b%o_x+H+RD8bYxzh5ajfA_QrOKwbsiscpS{@<q$l$x7@G2{u$&
zQIWPcZ^0c4pG<mj%ayvvTdLKG;!$|j)ZYyJ2tjCQ+bE0;yPf3XgD6^S!h?^}_t_Df
zq{?^rZP~$KDMKd6$B@)x%%7nAH2^E{v8C)l`rNajJTVku=1L4jze=0bdN{Lrl0cK-
zjruE~bFyZO%Rn|f#y`#+NiFZf5Ubsm*>%l4I1DMfzUEtpl(J&rC&?s5mw5WH2{&^<
zk|<P3f)~h==|@tr+*G<0Ewg}P?V?r5WS>220rK;fj=32wtzYUB&8BeMR^Lbo87+>o
z_5>v1$AC~~_xyvXfh$0dtv@Iu=Rd?w_)g4}sZXZsk-5)cd_hS3A;fN}HYYwwe<N$h
zf)6K0G%%bwGu@c%yodsZM(xHF?t=a9Du@~tPF|wD9hU&)U?;TJu;CHw!?X?b%EE^f
zk^%Od4YG)Ua>>KK!Mp1d%kllY9Ov3C-2TF{klvx4ejK&Iiv+5r+jFmOoR`Q;J1fpU
zw0M43ubXxiaQ@Te7d;=C)QJ+ds1d6($PWmm7zeVF|GmGK+Z&1tp=(7oxEHBq)Hrp8
z0Q-twsScbPH5usNH)v^@)2(Bo&N@%L1Dl?6GaG{jtq8U224fKCO>`)DO5YoEi=OzU
z3PcByE~&@qIDPy?QawU=5$}A{l@Eh2rp|eUCVs?XYZ(zNg~17{k)mR5w>9McNVMS{
zbmAWR`S{mv)MN2392tgqUXwP^w|esC<Izk;PFa9;g?bajM~sC=<8Vd9LjikYhNV+F
z$Pi87Fr0v{$qCEQB-3TY7_+@cCM1fQ;VRoP$gI!!gDZju;raJnOH`OuM|!N0xioEF
zl^YaB+OpbG80pjW8Z7u!`RB7Ei7xr`c!bk1j_#0b!-HeKXQVgbJ}!?-DDogpRBT1-
zuZk>MVD3q{YzbD|SD*0x;^bCQ0Syx}Ylg_|5&a-dy7O__bPLRici#>P*QoX|KX*Bg
zUlZa%;aKp3UiMRZ2VUjWg^rhsu4)@EpT5MH_|qDLA#OpmnP7_YbA31Or|HH5Y9i>t
z=se0Tj%$p@>H=^d+b9Wnl^BFfQJh_7S=t6?{TLXbqA@S8_)BNLjQ<KZ6178jNgA|q
ztvXWBa|&}iyts8rdfk%hR5e2*_k~EnhpmY@9cAm|{tOd=wHRVq<qluI+l?eZP0vHJ
zZ+Lv(N#pCqTl9ssobhZ^l=~3syUvXSiDL-K&a5iM)aB;O+VpgEFhLOV3A=j2+M!`w
zdV`#%$Si79MSofbbLI_=c2<MNOG<mcmgOV^cJUPheMFl))he%u-%Zo72uQ(p{rrLn
z2^S18hMQ4y2a9^fUd>kHv!?N^ruikOmvKjZb?5C2NHELcH^3r%%Jp}c4a*z2?<Cz6
z0ZPsOT;*LoQCC%mQzanj8p=oTQ4_puCZXg9#opJ;gUa~~Kdm5#3{;M2#6D^*{i{Ku
zvmVeZBU&mMw8|miVK#Vt`QqOoKBTKJS#5{bjGCKllL0A_w9*a~eCW6F<w(Dcj^<Ln
zq@|@%{AqvjS5KYz;#>S}b&u;3)|luc?9H?@wL*wwy5<h7M#=K4r#u9c*~ydT8`lcy
zD2Rd>;+2-GL<>qy!s&n(h@i;R-^;s?Ps%!enV_Anx0@s{%$lUNlQ(F_Q-#RHX+JS<
z7u0<-EZN;d>wtbQcBmwz=1}3Fe#OUHU?8!iupnk(u7Z?gJp`X)xs*AtuitZ2O{(|+
zL_vbL&vOi4FDB1j^?ZUT7)G7d<_zjB8!1(Pk!_b_kzG4`^Kc?H_3TakdwWd*Vi=^Q
z-K2|CJYjuU>Z=l3aEX~bQIx?Djp;8c*Wh`0n>?^UWZX$}V97wxx|M+?jv5!rocz=7
z{_~&Zr}*AI_U#(gphuIB9#w)Fr+Tf-6+<N8JmQYnw<GFkLU|4%N@gV#rCqxwKwYni
z@Hg|b>1ga5^Be7?QsYEC2q;30`o%1QVZPT(oY9XepDNd}bXKubvQvGG4_dCcs8VVg
zLGs(mQTZk9OD5xlo3{el>s9u&AM!Nbb=Gq4tWehanqn1t%W)?om2c1ZYpyhR6i;+(
z+c#yxepO8>S&YLK*F8hE+aDfbv50}E5k=0<dhtj}Og7SRmWxwZD%q<NecmhC4N~in
z`=geP7R_Zna@l+mItBAVT93=lr*g=z+t*c1@;>FO%@Ek!8vQecl5H_(cinIstM_NI
zDju}iN}`-B_@e2fDnTFTjn@ix$MFc?oGN4ckijO#ue6G-JpY&)tD@j+_K?S9+~K81
zF<tP~;5Jd<0|F_o{bCml16__Vl}2m2XBYF(?n_6spmd*oyj1{MLtP*7$#7ip2fb~c
z>un`@J+?$c*=wI2C;#x=ZB?vupc2q*Ka;I8n_qTzr8U>iTFr_QJb?NO%t{k7vwZ6r
z)PgUFcBck3q7pt;Ue8NS%uxk+f>?CykMYZ*?aP)^8C>?YgSvxu&yF{V>@`TOYWHUx
zPzc?cw$tUnomI&8Bd``aV+s7>fyke96w+AeJk;#HoUHj+(eI_E#v3b%7Yo;P2~*={
zbsFAjmVIjR7@`RSHnv3S3bLrPZ#bhZL`aeHkxpM1nt@qrJa_2>U|K<^3~vm(@)R(0
z284Rp6y7Ow9Yf1T8{8~#IYn<-m@7*#ou78QJ@y->9O)LDR0pA%;@TEjmvzUc*`6%f
znE{2ncSL*Zei?|h<10FHAgN5X|1$VM9t!s_CV5z~M+gTT@1~yr#ycRGDEcjrRcjN2
zuo<X$e{0z|Ek0nGa_UMfCTC&Q|7FP!?U&HYA{WHhnbbJHczb*_Qjhp$TH?qkZ>xoc
z%t)kY;=lw$o!l;4<MOiYOrF-jcx1xUwgNxh5iQH4oZ14nGT$MgKc4d6=ZEfc%2z#4
z@5-@5n_~<bg>MoGbr=F8m5rxczMzKppdtMfcS(f2r8%oxj_uV<#Y$5|R`plG4_+<2
z6&CrBQ|mdkZJ}AgL|~*#5#~W*zq`3qB#>Sr@9Cs`eq73i%_hav->qxO6a2^oYR=LP
z%S;2PXFB=bx-N{uZ`cb)6Qak0ZH9V9!=77CguM>B&h=c|DE~cuQO1j7xS}L#DxPI4
z^W4m|0^IkXfBJaOH?Y~$?e=KU9Zr7lK;iOcI;sjGcbDPN!l!};;h~60HhHfr*H?d-
zzErLb^N$_>ZPQHm1~b0Nw6Cd=bcuDJ>Y`7mjy>6xYx=ckC>6%-^=!Ypxjq+<pw8iV
zTwFowy|1}6ZM=M;KDxus!gG1qsnOdeWnKj3`m8(TM&V52FI9V#Yc7w}+ZS|IR2OOt
zEp*>bdSRIrNmwq&A}!5P3#8e1cQPX9;)J!)kA_IH)}sQ7KhxtyuCn84mtR_;G*3#N
z#<n_AjG4GQDB8J1hId7<igWODOJSzJjkkOgPpGe(e8@n=H+WqZ1A6$u>suR*DdP5n
zY8-n<f-1T6$RqX^>-}$GZ({_e6Q9hw#i`ziadTlhS+tw4zOJ7V6_<s{;LcLTkzKGS
zk&a``93bOgH+;5yN3}lsn~h}f?dPt&brhjXG6bvPYDR>uqHXMP9M`Bu3m*BHF?0dn
zQn?5Djl8~!4jGWhQ7f_E$3A95j=dDCC|b7MTX!r}Sb({PAp@EHS~fUv{c~TrciFva
z#M8Ch(<6`X4q7|p_QBs5wIMO%t!v`$<b|j1g`)jO7cTovZQ3amQRisprX@Ss5S3#M
z{IDVF)0CqgmmRxTaj?@oi}9~8KDTG}jx6WxuDwq(VSv;c{64)lkcksS@zKLEA`b^b
z_{pEohXxKR6zr@Ii`FHKDnO^yeA7tn6}=n)XRp47?OrG_(-LP%Khld@^O#cE#(0yi
zgvJQ|Dv<U@xs`pbVp@Kw+?@Qa?v$-BIrk_k)d8=aq^~9~0#6}o=po~nKqpK;uNPG~
z;<C7}9aWc9DkLuL%wY*mhO(PKQw32&e14o+#%o;(UR)Q+g>0)KYm{0?5O`|hdqWYo
zg7}F`m3<w(P3hv<@UYYRWeC?{mm$uxYY>zDs|<O%r}v0vArotw;U0y@vPVtUxoo}Z
zqZ_PfD{y-$XGP`GSyS>2px_si3hS+<0n?oM!c_vn)hQolxo#?-mW~Lm#`G+@)Je&_
zzwS@*DM7K#Ad7Qj!=F)>N}pAPvLU$f$aCd{QJVV=QZCkLV%gZ-8so7JHOi$Z@4Z(1
z;B2WRx@$|RUO4g=t3@G5ERxD^QhXV0796*9%C_cFQmwvV%{^oJEQ+~$z=+A{rJ6#s
zGB#=&XDN@%5FAs;X>gTVRyDu>kokete1_VFZv1N_{^niB-BZle_3~zP)Cn19(;bXf
z)hnooUg;xN8)C}5T;rA0NjQYF1@FF^<0+aSaYg!#=7ha;i&jEJpX}mznL=EUVa1eI
z-Q{oF0Zx7|R}EMu%cR#mqlYcUcp~`95(zbI*!l6iVo&^K|2CY#<Cp$^ehQOLdW5lz
zUz?0b*zV1--i<M48PS7bx6qEm*Hunoh@xvKQ(w*C9cAYW3L2g~e({HEU(>WU_#_>A
zsu|#I^d{_Lu}U@;Ulv8qQ|~%5p0j=VO!d=C-L|?M#<s#&nx_*N2!h}BR%E^;eG-qw
z5U053^g8c;EyHPMcNyN`XU<$NY{m9|x-Nf+lVgyFar5e@GrK*)1y>+uT0&;~>Bha?
zk<db?@>@4rP8eb6nN9ohw5sPQs_31Ho%vpnrKwO8?{ZGd6gJ?VsC{%^nsp!5NGm1#
z+($EWE@(BmXpYTLB$%1vmnUEi!6pxA7=EO#cSTc$kNDO|2lm?aoIL-tFKYji(%aP2
za3DJ(vKYd}xZ_qH_85mq_PdU;es{PcW@j2)MV5W_KwPFO0|`9BcyfIHReYCT_L$9a
z8dh<fv@iY4sc^2dvZ)d!Yyl>C&aF37B}6^>dS#sM09%{dvb2(9n6Fi8rj7rbuuuJ*
zY6LD0)@Xf-$*VJJDyuq<bgxkpyZxp9t~9H>pA|Eol$gF!mN@0ydaS_c`@CSX`eTdX
z!VEKT{j9f;AKiK%a<1y;;k-AS-F@R{CNvC$x*Y5s|E8e@R(pnSUrmm{A;S#k*~ZP;
zZ${yz1YcwRAD+HCE~+p3_RcWi&?(*B-5`!M42>Y&U4n#2Iiz%VNq0ArB3;tmB_Rk1
zC@T8y_xF46{WbG}JIuL<d-ged?X}mMtg{-|P}L7wH5r^{yc0u;D{E5=jYH7LO=|d?
z%Tv|^7Wg=iV)3YV&RYdJF=|7{HB~#pkekgCdRVFFwN@v0mt#a~Tq({Jpsv@q;=;n;
z8b75sX5*hc#`NT$a%m&wdu|bdFW|{W<H>b_V7*(gC;GPc$#R#`-MthL;G`c6-?wRk
zlWC3Ly58Vlz?GlA&xkjL1L30u{ekGhSZ()C3quadWRQZR4lB$Z-IxCffQr;5OWDB?
znXXfqn%##6%<Zi1uOcS-`nkHNNmV%5EeO!Njyg7Q(UeC0^LR2$2}JPIU=R#B%OA2s
z1_j|HBDeaKscgK0D4lSJ+iSg`O3c*kHg#@LAkKzE>jRnUh^t^M3KL(CiAmY*RhBR`
z=LPPHP)Y+OiO$`p(5Xj|0;y2o7@dNM*EMvXMB*MB4KI_vFvcT6e&LuRwx=+ok=nhp
zZ6+mF!V&}8U#7F;qd;8eU}vQgPAglsec)sk$LP>60A?@5XywZuqFEm-s}e#OuxLe&
zUGYxUa2xP+xaw`vx6(hz1}#EXzjQ1Ax&kXrl`O6~Td*I;O5@%M*O(*9<Y3%Xv2_oT
z*qLB?;d?;5AFQJj#}bDDM-@D~rsr|Qk&p}BTOa|I#$N1&mV;yslaEY2-53h@I=J-j
zLDNL(Q8~Bp*QT%7Xk@$BEKmVD?}ilp7*BB)2&w9#zvKBAmI*kHWQG+ap4o_2hSw#M
z>%gCWvGNo%GizPcS{LYAChz2(w^jT*zsRN)0(A5wmZYmzPo?;tSSH~meRBVd-lz(=
ztMLu?cz<k3GBhIXy^P_LNBqzc<y8sSMGq{UEdyXEUS%@md}gv2`p^u$9!sG#?r01A
z+o>~Fq?DpKOvUJtQZ&og-7BPhe0nEqTBvR%dF)6FdaDg-R5S!qfR#klvw`)<#dL>U
zw@7y+*J`q$xc(Vh64ul(84UPnw5j#ci$EKVC_?fQXOb()sFAr`Sd*8_dy|0dJWqHc
zPyRYeYPMrMbtUb+b;4^39}wiCPSMbbft>ES&164)D<i!cCtPR<2h<}5>3?;_F&6%2
zYz|wQP)~i6kR+2bX1e^O0RbHIn<D8SK;;61AL**2%)Bil#smaEe7~d`*WtYQma8|l
z*x+l!N+L0rwyX*2FOe=TmPP>kwxj*nXcwS2?y;l=NjhmsnyQB0tIbR>O!7|)ZkEM6
zT7eqxVaDO?Q=lAX*fVu}fe`^HXEIf(oc+K7$Up6t8~AUyOr0JjR2Y&FgD}PDV8y}5
z>2>M?+25Z5b=}vh;uRyNTVR(g4BbgWHF(l##&8}t>D(ecQ8{sEa~BJWIE-Ke|1>5L
z_?|bIkY0O!LWszD2V^4}vF5QRF$(O=ng%@c4IxZ6qKz=KlN8XZpzN@B#{_72O)<ST
zrZ~P>)0@sVcM&87G1~fCBn?inA_Vdf;oq%xAEzECUk;roOb&c_0>6ks0W+NRl_j9;
z*U+;=4{Turvu8Q<5L7@@`XMPxFT0f!{cWOE>EoFIc8~S}=g}6DLCW^OmmFYz&ko{M
zN>9p@yVCTF-EoCIVdy#&tWW*8_{`uyG1KmUr5IaAocp1XI4(ZB44}V}@b?C}3K|-Z
zz50jCWTi2VV)4pFA099TFeOGw!<2~3a|2bj_e4L#iGZnMI|e5Vi$|Jna1F3^jO#Gq
zb^SndS(uHQc9E-W3}PaeAmqL%>Z7)49}ccpA2)W#Vm}L@Wmt;=Q|_`;SuG6#r;1nM
z=)#QAmXR)Ljb`GQCrh2V5}S<IMkbR(Zqn`Hs%eJ^_+TinSf4hFDJ0Iw_u);+77>TF
zsCA=V3LZ1xC*BOt#d`B?8pwAAAkmqEggy0`03h(hUXT;t1*u{v%)zZQg2d06^UMKW
zSQTN?YAnp$>PMu66r0)fFrYEPEJkw2rwx=E(f4K6=0)CBf#kJHxq-sBq2$(=$=Uol
zc3A`vFpC}dB$;3wzA_pXnJ{xq%6_O(SnwI`jRog3?3<Q(4QmshoN~pgWUB9E4l!Cz
zzcA&>hya+$!DAbEU}oHog}4KO5SK8y@D~R*H+@qfp129<BE}IQ5V9Q7fx(W!PF6Te
z)76vaD<8icMJ(wx$m-h`K_Ohw$8bQqWdf?iE<+wzHz7lxcVPaOA3&;!r27=k^P9hF
z1<{~#aH{{9BGxm_e&_zZ{BU%>oCY<b9mPVsyk2z1?4C920^aH{M!)~Z1t5h$EQV7B
zaz@}N?4YeFkZ!jpWfg2}c^p`=#hsy@QQ;q3Q{<b?PkOO%FzEa(g$M<9D3eviA_}+w
zZv7@41uwTed!A&YFJ+KssegsLLaYq--^XPLZeR;$IA8{V$}BEDFRqACK9Eq}=j!2^
zW$<)(I^mbSjC~b740n;X?7ry(6>%0!gwngfhw2ct?y(k8beU=WUiOkn8Q2(9TFrIA
z2e?FWAV$LEiB+9)1XYuND88$<z>Sm!Y6Ol8FpA$Nx@8rYYTg-9q`gZrCiQH=s^o(M
zb2;5}gIX$!v}T(f7)x9RBcFzi$A`h~BTRVi>3McGTCkcvgU6)BAW6dU<ICu<N8TPD
z{js>Z8XpM>eq4Hr<xKAR>&AA>mOl%{0L!&s(vTbCWxD4AU~y(Nvj3$Q9F>zHogE58
z(I#i_ha^ma^b-P}nWK<QZOk`Bs{iDpM=SJ{=fI*xHo;eyB(hNS=t=r=JLKbQK_~=)
z9og2eCbU+_PU4IARU`r4FdAX8k5%D?eKCWevAEBGDvaYtsEF-F1t@#5lcAeh6(>`b
zm-}-02TWN&`wxV_Fa4U~CxDXcCi(V5RZ|J@8pD7Yy~1-Q{1nm-`>PmQU1&+s{MpB`
zoep7XN*#V-a4Acglx7!LySxIKwd9krf}%54-Wn|ABxehehEAUw!j3Uqwb=O!EKYgs
ztNr1CP*R<>@Mkc^mk|&GF?z2(H*~}X2^19@a`PGX7QTrEW@dy}dPn4`0E&$(O@72i
zVoF_jn;vLT62r~x8N=j=>?Q!5_=M5&DAKI4iU}O^TS#7C(Lhm%{UfLX-iy}HNDLTo
zS9kGWr5@y1$%j8sf_jvyvqc~KUGQKiBBiBgdxbSArMS?3`1KEq>$hstyXdx$?bMhN
zEeYhaj<z2;ODw@=gy7i6JP)ZeiChqiJ%UO~%Ov3rp%^oV3X&pJ3Fw?>LrC^$(hD0W
z{B&3Z0Vr2}u(txu7Gg9bB^V$(y-;*wv>uRh9v!~+1X;j66b2)g1u`?;Lx(0woV0#0
z@xcllB-ayNhIe!u$cknK^uDDNZq$Pm3``+x2x2>#BG6lNXjBqhHpTDo9$2e1xHE*l
z(@aC?0hdcFA9Fh9m-2M37NgsVoDvVLAWblv0k-79j9W<nU|^6IWR2c5rF<0ugXOm$
zE7CX&;F}@KJQ!4~*-l-|J+IfB2Rx&q16Hc^mqoIsumxR|3p%}l@S7G8z$JL{<Qq6&
z7bE?DU?~@4@dmeWz%?$r|KJJqk^ibhd}t>w?UB%mVf?dO`9g@W7$rv)AptPV%!i9<
z4(fV^G9o=O9pwfJbXss!U&6z;vP0Y3m8?qQ3cN<bcwwko?`)ixG&<)3VKo4#>5wX6
z_xf)1Hj`Hf%EiK>Tg&i$<RrRobN~~the(7An2hopLjnDc6qLsonaapv@ct(iPqacH
zn{KHeZ}J6?wlX8wE-fA>lWXI;&X>i#ngE&1#pJa)<UQTY{<uV_9W~N8NoBwxGm#n&
zOc|oF?W5BJYA-_>6pDA5g+ToX@_NAGWhEQ|WHuCQmW7sTmMN((?Sn1SvsrG`36pG1
z(G`$rhC(bYP(OT;EQ_;HBbcnI=O`M{Ko$b{64CG3f>>DHNjN=FgWpj@+u07Dm24Hu
zM2UC>53<7t+!L3d0LKa*Mo`_qZj8sht7+AF%I;mEk{J4|p!UH_FV9uI8mi_@am&ZC
zTkjnexV3K!=Vu9ye`k^~NH!LZ*za<$C{+35+<fygyGc;S5q`ds6J&c$tF2=G33qf*
zZN))Ug|<mX<u)C?QJ&KC^*#S><g|bsrEariAJYFw!<)5&h*x}urlABrAwOxw7H#}2
z%gI(xV3{U&_s!TXDBx?tFuoY91QdkdaK~cRDam_=IVw_?dRFv2BQq7VD$980qOhy}
zRNz)aogQY_yNWkTQXq4~SM$8-%9O^sfM)hhQdJn%(>mlNOxeki{$~-c({~bk?mdB#
zlQ$eCFPg>}8P@2>TZr#u2>_kLi&6RSIjqAHI5i*W<(*!}47_e2OCFr~L%lENq0LJY
zwl4j#6Qmr4r>f(MR>J{Kz0otl&0=_gMW|1l>YUg0<ki^=5q>OwYTxnqB*N|Ljj`O*
z71A?yzii;ZA}xym1{60q#aL^0Y3gAMQ8sOYrYhw%ors8hbO6EB?3?@2{HMBp7o!ED
zO<mp_)og>7)!;`X;yx)pU?SpZrx<m_v6Y1<N5Qu`2>HZ2VT;q{j&a9xtl{@Zu!%ok
zm43HRfECz@sw#QyOV1?r!bBHz_HtoT5&v4G7am(El-!Zw%6yX;8EaMudac$@_I2z*
zE>=h8N>qp=Fw!Zt%DrN8>Ypjdt0X@hkwL=5+NL_LnQJk64C@Ujey*URv!fzD9}uqZ
z6090NgnpUN8f9aaEEx}*7v}7oO?bAzVTg;1_I#U4XR}`6<un+Tw7e3S62tsFUpCm>
z2tLz)<T8anAlXyi8y)OMrt#HKFoq+L>-=4Oe!MX)#!DMrJ%kO%`M=dJV)yf^tG7EG
zr4R+C$_jHwM7X^2(F`+7oUAIbf_zEjb52TjMg@f=9pS&vvvE|K6L-tmvmaBYp8XrE
zy){37$o-zbEAd78(}T%3?=4Wo-ub+>*ZG_O=C(g>d+GDI?l`1*YMv$In6t~b*<{*#
zx~l>@;kg7a6&rv5aZ|eP+o#@+gl+XmTn@%V(xqqd!jtWatX*9WFH8F+FOw1im|Mh(
zi|3yswV|R6?0r4St<y61?nJ0D>lJzcZ_Kf#_ZD6~s>ZmO6So)6W=r|F;YW;<K_BL1
zt{LYywD3xY_9X1xn>DJRXE&)leB~6Al7a)_OX=?@3FGv5J)SdZF=6}dpz}tR3v2nf
zr<W(n-XVpn<ZW-}lGj-BS43u-mJC3-V)G{ALst%PU*YmZANbk%Mj6Si>IiMaTspPp
zXy^(qWCUnFyO-1&HJfSKUh|KqtDCdrpX2gyXAsh#_S}0j4^3ZRM1Cx)CFBfL_5MDc
zX&>3OvdLaO%82{;X-m6n+iFB%ISEU@^n%AnC(|q<yY0rC3X^O=n93xB)Do?kQnq;G
z)fx^}dRB#>H9o7w7e9_#LjJEsxQuc63lBP}0Pb)x)rpiD9zQ6Vrd6z1Eud13rpk<l
zYl%D%9j$`h5MyULKVSVC>0uP@J?q`w@PhD-bEeiR6ZvbB!^NU|;ik+qO2?zZ=X_|^
z&rp~JjagGg&x%#h+@p&U;=Kz7&uGF3Ov_^z@uQnrPBV$hIt4y;+T^z#wUIoAKwX(P
z>r?sjf*ZkRvhj!qGalSJ+`w>I>-Vb0Dz|zhj>g$ai1sg9-8bRsv)8Ufk>&#D@;-D#
z=%pl!0x18iW3QOhfR@aEf4AxPXqq#WMe5bdtCrb$c&$ZOTNFE~h)L4T7HrVO>8nKg
zuIVAsk?#R6Sq?U+SH0vRNq8V&C+%U|7xBz0I$zv(NED8;q{@u56Xe(3KI2fp?7oca
zDQCRe9nR@@8zh<4CTq`MS>N*AU1dJjiId%H5}<#RyXN-}z5DYycdMyMHpc^npI*Ua
zqAw}OLY>aSQnyK`LWKO#3X@aF0hb%HP<brf`bmX*Kz?ZjTrKqO+pL@dVDNSgS+z1r
znesuI{=4yw_WfDl(&nKcR6g+2isGB9WgDG+)%GQQ<JEOE!(#W0h${ZaztfQtgbf4D
zc|j%QWk3AXvrEzA=Jo{JmKONB6O6KIetHXW5W9XddDCJkRz_J-5?9{e$4vEvzaNIW
zo6G-P@&(m19M*8l*y`=^%?WLB=ecAlAzcQI`A>4nZliN<S2-usYMcZb$f%f^ubdp!
zr2$xfE!)7Fs^tl1Ph`r|+=&~YSirUBK1@Xw4V#@iDof}?`Em8KR+!+bcFA}3q)o(J
zZ&W=ECui!uldB8rf(bZ~@~-_Ez-qqpJk{b?*8_%8i|FIer+I>7T|U+OnW+@@2U>(E
z3Z*V<bpGJGGlnwPKc|_2ij1yaCk9{c4z>oX#6Y!gE0h|2hJyLI%z!eR)^ocPLKwBo
z?1gT0P{Q+<v5Uw4(0<yNf873!GfoIV1*XPaq@9*KYov0I#upNhP_1HtMt5@ppt@rH
zrNxtZk;b+kzPw1Kwc7Y*8vE`e6~L|=o7`%>{#|C<xzBL55odqdO5^nHUVE}HG?*D6
z25OUr9ABKvQ2uUeRCIi^iVZi&UcZ?4t5xEA{wm!Y{C55cQo9fjhD4Z!iMzMj1{tit
zdP?XO2B9*PKXm6yv63u3X20^NO#tJ}H#jro_y_IRR}U$G8tn`?J0tFJBzRp|-qvq*
z4d~48z*G@67;6NA2o<#}+R&K{sP#JkckL$zZU)SL0w2F`ViK5$Z$Gq`_z5$~p(+4t
z#CrdcDwO}eP94hs2IpNv7&9QZa?-PXzzp<kD;a*0x3Gf8CII3Cu`#*7?6<4-6Hi0O
zI!0cp8IKUx<X-E4sik2QC)KT6YfTrVsx!;2XYP^|?`q&38SdRHC=3oMp10ylZ6-P6
zKD^PPaMqNI`^rm0{=z=Cp_aDllzQ&2R#7eYq>{S)@zv7vjBk@8uXY@1_`Y&0Pm!Qp
zi~H{gtK+&;y49fkDuC@bUWhxj{XWgH?}_xsiq23dGGs;n!r%juF7(#p@7CO}5~O{8
zstsWz*%sNUl=rdaK6mr*Ytt{T)D`6sy=UTxDGrw1t76=aZ$-S!14g@}-97=iKC=3;
z+E|MTp{_jP8?X4C1D0_g<>v3r(r6OWRJLhgx-7R5%E42A;V?jeAT)xJCt{LAT6;sz
zNZ)Thd14x4E;zU>!TZj6Q!jY;5t^fCGZF7(z6>wr>G&xjTo=^~t_Ct*jH)D^llAg`
zY*wXF?YEnWuh&x1f_hZ7LIc0vzNw5Kznv4ECgJ_;-C;=`HT$z}#MkenpBUv+-k;tQ
z^@$ogcKY}Xgv!HJA7O@(T(d4D5&D>=%)!@(Yqf|rTn9&N0~0--4?7b)()Wuy<G$qx
zVOnexw)cfbL{OFzEh*vkuxBu#=ay0#X!n#<CY0Xgr&_iLmkaQUzDbdeOWqILR{WLq
zftn7o^E9T5ns;L&!I&89CdT~FUI?K`2KJfn@|k|pGZT}vSm+<zp&i#6mcD~zu}hW>
z(6dSRQCe7C0kxz+A5{!b8#$Yj#@8e1Qj(!UwD8_yyKYb;?<<(|Hc5Gp{4{EEFDm)=
zAbo|Y=^HYSA1)QNHEoh$V)FFzkkHa?7Y9i#;h~~CPO@VfLZ{FBLbU{I5ZG6Hh<Jgl
zi=?vF3_b&O^RUZBN$S~TuA)kXgXVGgneGYLSJ{Zc1we7b`0_O-Y92%Ufb$!wA8B??
zRG*bl7muT~d0eO2G$>U*Nw{-k7w@QQ1N+$(MYe?;4a`Kt6|af>_4}fG%=_1J?_FyP
z<KJ&^-TK!J^H37|bR=)5P05#&hB}^+tpkhMt-Y?J*JEFXk=38v(bt6gFOT-CxacSS
zG4LM;@QduddC9<%s$vD()dn@6_L~i9xAy+f@kfwEAB8dTUy4!-x|gvg6IToqUPss~
z^*t-o=4uW6`~CfP1<x+%3~s2LJYXCFYUD3Y9=hVvcoXO69;IIJ2fUhGm~p#;X=I$n
zO7rW)Qb(KP<0hf@6|Mp#(rzL`FPZyK@JBuzs*_&!_-37D5-k~eSdeUcZoEvJ!?7{5
zei}Li#pWj1HPU8hxojfq?8fX~P{_<cl=M7cCH*n${Pp;i*UOdWT&s%|?xAZd(6qp_
z1-~i*mU#bj<SFlDG0Xea(lryG2>du5jgkI-Vn8PU{w+@f+?VCpCpQ3{evpho(QHva
zIYiGljdxWJE6LHXL>}uB^Rb=M1>6yOxFk5i{mDFM?h@BgH2|~a$zu}pS1n=}pHx*v
zVqbqYhi>#UpvF?G@a+4Mv;-cEV`J9A*jZoV6GIz_n0C7EW<7rEF-ipEMr`}+{>onN
zE;}z}MwE5dwyil0C@v1?AR=xw%40(T^81P%8<Pi0N6c-z$l%}<qa7&$<<~c)gXNTc
zuf5H-<-|pp7vQX&UYbAG{ii+ii`m!YeESBxet>-a>2*C+!+vmwPpxXgti7w*p=W9K
zj9q5<u~>=y8%a;X;OgHGv_CpVv@g(Cyj4Sd`o$0OB7JQ>Nm-)m1E2lY!nAdIqK5Rj
zU>hY95r)oUBfBl_YFn4E9L*S+2wJ^gHIUv%NHlO`s!1ghy0VG0d^|t{gKmQ5GA82T
zsDf7Ipwtykn44a&RTX8~D-1CeroWf1BxDhUg2p5+;(o=Ce5WdO6@PUcrmQ*?$DQ8v
zs=m+MR)(RfXO%Utc-C^rDWXjMIyEuo3oet0@((>f5$FHCDaW3PKDEbW0^CFx(~6-q
zPaa?X8G6kZ)i|fhrBK&M4AkUDmIo^g&td{-F!RlDj@iF~%g+spDz%O0%w0EY_fPU#
zsa~{?vU6IOP>4eNy_|L|epNDD4-_;p2=#Ef{5!D8qaR@AVd;n$tGOPHdBo`GEqxxx
zsy?tRt;_ZbBbE+45%I+U!WRoH@&>LHwhQSrd0giC<w#1i;7Hq-f@!lBd^^ju395dO
z{LYwn*3n&7<`1VYmN5gMW_HqrqGyuob0_<;&b=OV+9me*(U!~A#u)^bt(#!$!;|TZ
zi9(StH!N|Gi3Vd{B`h3K$R$M7hLt*CnM5j<u+2=C)bG8gk~5SgSs^)QJ0!oiV1E9e
z!I^4FKj^ojwi_&=P!Z&P&#DAWR?gLI{aR{YGL(!skrk#8Oj(p`U%Jt=b>H-TsL(k`
zb{D5SGgxR)n6tPlnsfS<Us&Zsj&95<G`XQ{#3uBYQp;U7&%mzFuqCdR#{N(Akz%>6
zxUqGd2zW~8^Zkgem~CB?qOR#n4eS4baDX=c86}b9GpxxwSP*)Dug15bd~5gjN8TtE
zXOPNps#|in;1ev!W%?OWGN^(xrDdq<6OHbi*x1J7KIZ&)x73D7xG0qy3YHi0^r8&d
zS{-F+a79_Lakl{77RGJbzX(TmEqDzm8E=+{@hqB1tu6V;+sf(DtjTyiS{b*2%}~Rv
zsA4!XAfokzDxVf=VN<ou4(fM}Y-ppA$|co*%6!g7de`cAo}{7^n;-4&cNH?j2ngRw
zKEX9(2-;@>IOX~ZA9G}Ruq-)74!&~a=Z4}^5~r0v%tV}F!F4CdZ{srJd^5~{uPq0B
z&6YF7;o4lm1e)sv=H8KR?;pcZy~>eEvf7%m3BqiT0)ECBC57!sUXL=J{RF*goIl};
z)mR&pM^93N&s)B%dHpQEFk%w>B=1VYPeID*U;mFbI?ze(ddcb^DARA7QjJYg_R6wv
ztNpm?`UTtEzT?aAt`7?S*8ZH1r~MP=f3Gj;5-fzd4fi(Vf?d+|^gjxZr@k<i#q|He
z;SRR3AO|nET=i?UT?Gtm4TH3<v3%D9v00vQz1&UoZi4GNkoSefZMH6|sSyG6^as7;
zP_X?YTwiIw{9*pSJ1ponWDF4f%lQ2370a+c5)@qG>;1Xsoi)H5JExojb{LiP4zV|Y
z4ut;U(v9(CZj*jPy3DNMVUGWLL#`bluzmvi9b6mU#t$E*4B5z!+;_*&VVmPJ#@24x
z%jNQ>+>WaKI&{VO-i;+n7`~7AFi#P)8}2wSWdo5N37Dv5>~PMfMy<=6b2Nxdm6v?K
z9b0lAo0|zGlN{6Q3_G@vGwQ_4gAE@|$s}AbRI4WDRk6;`EfV8Q!#Bs=n5d7RM$gwp
zWxa%lGm3nnVtx9&Pb6uL3J4IGPM^QCGy+h>qblO&9acyM17(T(e{pKS|3{6+)vv5S
zabnSpU&b_p1Sbylja@~EAP(I@f=!RZhh3hTqF(aH7z)Drv2uTT-*Ri-<bX`;wO_pz
z`oh0`(><0=AjLpW$>wcxrCB8^A>72Ss&NJ1llO{{K6UFly<MKc1=1K~Z307>DatJA
z2ZJ#xlxwn9;~B8fpv{#Bty6Sejp7lHP1UaoYwZwz3&%wLXd9jaf`J`n)}XO<zo6EF
z=TI|-H=jr-e^EeZu6jg5QcYM;z;S_*zo#=eE?GgeEd0U5rynFR-w7LPJB0uXFa3eN
z%>ur3VQ&CZk>kk9gNcay%x+0%N)A`0e3?|=6ogrc3kMiScrErSEbF-`m=JbGwwLCn
z2W{)@fK0%q_G|Xtf`rNYi4cG!%fgT~Psis9j*9gb36tvmXUzcU3pai>cyE%^P9;Lu
zhJ4Q!*XP!Xe4=MvCuIOT6=sPA2*|vx9z?ug1!fyWpxD9I%RBsNajt#k*c1e}*OEN*
z{m>-wTAzr)t9$Jcl_%Wk_a$b~u=KG#k8t4Uhg7Yg-nw|wj3hW9<wx-i`6z+bff&$y
z@kKI&uv#5xF%lvKbg8|qk{!BX2r5T5${ZxhiP@ij!y7u|yW8U*rrns=Tw?V8NS!Ji
z@G^ng+;%#0eV_ez|Mx<SWOh`&(%S=5>x8DLP2eWo_#A+0@j(RhXTJuv!4cM&iEG)!
zD;A-+MVNM+lS1&{$I9R1o9}M-)y^oAhcYz;ta<mjF##m(T>ajuNamUmAU1%?_gMV?
zF{tyNff?X-FTE#30Nv+yIXqE#TrNz($YE(dxxr@Kd+M53vrPZZqMts4xhey|Qaq?{
z<ptjGg_eVKL(s+Xt|+9zvn*+7eT5a+@_7malsHcU^@-^Lz$L)8v|rJpAp>9l0qQtV
zj-`b%J8CG%ONP!-30)4vedlzZ6GDj6>NIWA1Su$D-Xyg!c<!ZVJ*rM%q)t(0nP3l2
zf}`+kf7(}4uzcg+K2-)HA1H|jO4I=W=|&HLOZug@)!{%rD*_;4VG0L_gA*~*4y#~-
z@V7q>SuA3=HW(SstmZ_fMDd%a+K%X7^Z)xjH~vG85!*jOi4EvwWLfBo-~OTuD|m9_
zQ{zb^VF}%FF3$t+k6wB59S#u<mGQEV;O++6{~T$TF;VCex9e_IwX8s|3=+znMa~D|
zw?90y9*e}EQ9iO)I~9QzoU3{GY_?#cDDZFjU@9^6*4WFwm;eXed}}kPQIioKeiNZW
z1ZdhsSO{}`GbRGG=mCA%Gnt<R3$A;daf^$#$7yqCmbclqMd0;imDabl7vHDB5s^~{
zeCz!<m(Yx(mI<r?2&EG&NCCbjO+k*W>$?;nb8@yk!bn$g&^k9`W*GEuka6DSUXCRI
z?BFTytxslrxFQ(r24MZ%SR4yHPzw(6E~?!nrp$yiprK~Qwsx-a?7Rab;!hLS{CHTB
z8ev-}|H9&%G`kkJ8dv_bGMJ*9ZX>f)>u^98!^aA>LF1;VnwLGdOXrI+-eZJi55?4i
zYtj}IFCHMquaWN^>?t@f6h&PYr-WUqo#Y6`&<fhx*i&CAJ4t4pxL}!NO$!-MF<U&?
zPO&0MCw>>T-4TiN7DzvbTAmthCMH+MfT?=QqvkUhBG|jOTXri<5N$`FTB(0d1y}Ot
zPAJkUg5}M5i3^vGC`1=E6CwDP$AaHeP_v#8m@2F>;Fx6vjxfg3KVTk+Km^U8JA}PT
zq3oe_27gX<QKQrw#x^y*t&mhiCNtzxzPap(OVu9tF~oxX)=2cmZgTvqs=!LlXUE)J
zQUifP3BS4>R)mn~?!IvT@Qg)4X+LE3Cr_4U#FaAH*%TU{ct6pSA7&yAO{}4U*7Bk8
zkyEm|t1HlOx7MI@K{;wgR5=(++c2>5LVr-4ICEefUj)q}y+bA{*>z5l#=KoJ)vjqz
zC_S!4ZHW7kGLKsMpz#}Hl%8Ch<~ojIz0(Gb1r+sY?S<)&GS-x=y9m+~$`s|&KBqy%
z=}^p}J<C?Ny0t{hR$~F2ORMHFv4T=Ukia)5yroo)H&z@~G?&AE5Sx}HM8}2JOId%~
zCes1;VXb@WychM_Vt*R@8jcoF7R!@=JZ$s_*TbyeV6UfqYt+C0de+)m$I#1&oZX1z
z^US=JW8qI6%96eHwC9)Bhguw$atU*u3g<WdTH<jiGECja&~%?L>5i)<HBF;q$=qq)
zDc82E5sgRpED>E?RTOZn(HL&CK6bS^@g2LEraws6!)11SQ->0qkf5dcF3L!V`6Vn>
zxeH;Ca0+E|VRoMY^xd**=P&<juSX(%u4V6%dVSXVu#h#^TSGdj2p6V&r;AKj!OcP#
z+Po%EgC#U(N6%2=fO*(TctVQgY%*nJ>UVcLk+r@oj?{|H#hvs0!L46N-5fSV3!HhL
z&ea_7N^ww?1CMdonqkTeGAk=EHDn!~y2;G+gf94l@i<{|q7;L?l?;P&5;upJ;;1*k
zJiP&or}-cpqngK?0S@G$BtBi4G?L>BHl+>{HgpUn&ezq-s?x;L$#r3_P}%-)3TA|+
zzgTTCVyslXv0kS@s=;C@hw~`it>&p51YXl{s7ctB36xG2P_<ve<fo^J^Bi2t^fI`o
zeH{{%uH>oy%97cqexy?+g>XF&H5KNRm}43Ln5=hUMI%%Fp&!2f(NWl=<wfUhrDmXN
zxMR>Q*TPO>=?Z*jc+!5L|0*fH2v%cA>4@u8oCskB7Tgp+DEgo8)R1{mxEr43lFWI~
zNw`z4O1UvL_C<bhJi_X#m|s_qFG<R}LtE$}-fc@pEWH622z8_AlHqZswYjz7vL*R|
zd>p!|H!^T2KDZJ>B6@d!ocMw0^X0h%y|eKo=klsyV$_9XS(u|+s%A!oh5rhRA{H9A
zp&dUz_|Om<yT-*+8o=BBzehldl8v+JZ}LDX&dR~K;LgAIb*J5gZ7VObi!#`svZpqt
zdzEc3q<8w<5fw8bhkq3gd}wB-LIR=nIhFq?(T8mfY)|blrcgOk`-jg`aZaSN|CP?F
zJ%yyblx9)Z=CF_c4@|>%0acSrHzrJ$tM<8`zvVcbii#DtkE%rDR`G5mEZbXlWTZx3
z&id1dKkm#cI7T>0&Ar~7HJhtLk(0u*)%VkNx7I&Do~ON&#cCyPKd(7oOEwkc{8(7(
zjoGWj^h_Iis-e9uX&YvVv}@a^Y7NJ9DK3>0K|_hO)>cij;MS%#xb|W0I9VX=C@I$*
z$g(OEf7Q|SH<}~grT>io=IW(hSvy-^lF&~+QhY5~?W8V5?m-3K8u{$0-Eh~J?=|KO
zV~Vd>_oGfpQ_y5S59_v6Ja@e52Z&LOLe8+*Ws7=icV)h0l_5!;m7iN%w(=`&jVwZy
z!V4%ZB2|g20b<s;ttg~UMM*5G?gtb;u`+6fQII6ghYgiiFV>a)>|(JpEGpdIMiSy<
zeN-+zp-lLxj-f!icj9Lqa*qN(HVv5cRglu}|Dp9qWC2o*E?M?1Px)x_!vLY^Q}KNf
z5Cy#FJ?4dE1_U<2;9uL;-Ol;y^3U@;QX`^)N$$0l;D+XfMSkt2Ah|*MAnztKY$gnv
z>dh<oEavkd6lOncCNqNjCt?KeJnz$fIV5cBZCGWFkC+G^{Nh3XMht@Z%01=s&mh!~
z+An8iZL#hPg<aL(|FZRf|0(?364i9Oy!ALb?D|`PNtOu;xXyU9F#R_FjY~N1QB=dF
z`BjxcZ36s4Q4P(n9^mI9*26p-#a@4%5uA|RO%}2yBWzfz-c+Y4=j!@7Q%APA4J$Zv
zw+RNX{D;R3$&`+e(+lxd@_B4rF*OPfas*49A8s)2(w^CRjW%CY=%h@9Dm=Y#`Kt9F
zR$TGHe<=>cY@K86(ik!OYY4`FCp_yf!|MW8Q)GYB@k0wLNr#Rw4--zV|8^=vXPyS8
ziKxSd-+|EZ)vm~8C5Q_5#{3U7T*wJR!&=_2--?K0BHrG<SP~^9mja*W;rK<ZlK<x1
z&8H@3v$Us=IPjWhiikA<C9(k;J(Tm<ZlL3x;-DU@lZxNB;)`ZUqYMWY82Z_GKch6%
zd0yH{7&xBNN_w+M5p>JQfp1e;*r0*I{ays96it~`0RvZY>MljSXkV&Y-;N6WkptTr
zk6(qJdNF9DqlbemN=gYgIe#K>eoIq^|Cjp3V>-(Z+vYO9KFYFRil-Ge`M&P@a?qXg
zxdvLSF=zdXcy%4K4=u%Kr9F{u`E&r^GcH=<z_(;gREKnXK?T6dPr-EeI*+_M08&1>
zD_`rxOJI0h_|G<Cyu?hb^P(-)ZFF^~PIjX~*<EWRe!p%|d9Y)JIQ;nf`R!lN{h+A!
zobKJbmW{otA<Sfxoki7<uGB{|Dlp|xKL^o(jBXmV>B@sQRe@)bO!4f8;y-eYiF(zk
zWz8AUJJ?<Axdl#j*?cNeC6@&Vj~wx;l?W$l#YJLLvWBboy4RA+2rHgsS0Wbl`wf4y
zl&(oWZ8s5x#_fk9xpIG?e}858=ti4^84t4+J!bqxxwcD3%By3073$z${M(X92RD|+
zc>0@hTN(f!-ZnVMC4W--YY80-t&_PL&AO&m&V!xVdl>%RR+I)5C+jXcUdElDGO>=l
zN~Z%wV%A;TX&S~QDmRW7=+bPC81uGGG78pxy?5s#e`j9rTd9@M)l+N~_<lR%-p88X
z{h7edf_<4X&Va3y>}?a~c=;g(N!h6!=9}2tLT{6fe|Q=0pOKB`doCPoKQ3866_UFd
z`6E)ixozXNvIZ1dpx$11yib<CKjz~~X6zym6mypPrzX5ShZ#VhQ^EKdrh&(=g7Zj9
zic%9n7%20$4y2MhCyGLp*d!a{!oG}Yr%;s_;`{LZa6HQl!|`c7-~K(;>6kzlEh)LC
zD}V;1Xa-%U3_n=qmHb@0n)49=Hz!n?!S}<-Gm|NZIDCIBrf9hTMZ&~Jkhk!if>5X8
zE+LMJGdab*#^Gy`@!giBrJEwMp2$beycI7@y%%+4G>5zMz2zsP4x)KD&?g<Mh2A-M
zmt2CN_D=DgV}@^R(iXQzhda;V{Ig2ljmH_Ogcf8w{?+Ne#%`S~mB)cX_T-LcARgi;
zjPFOSy0q$=r&IQRjfmToOjE7md7jQYB8#y@)lQO9s7tFfM7PKZ-@F$Z86ILpgk2Fa
z-tsV}v+H2utx9v%`8iMnH!nnM1p6BZr+53LkNSqQ_dMU$`3!fTs)TLfBds7+9Gl6j
z?aXBZR}z~Q=fv-S$_I{|i@iJa_OV<$@ge~JF8*<{H*lI%!Zh(};P0a{Qob!8f45JR
zWX%S6S(ROdKuvw-)x{2v;*{JV=BAw@TLAjBl=hds@n@RuOfQtu`QLpszaM{LlO(`6
zq5&+Bwz4;q783(B-~4&qq9)@UTFF92dD95#qZZnF9`L>m^q!`Y7b?K5lEEBaO;GLN
z{;nJC9tm56{|qz#@nN|Zl)h;_<#S<ok{ZiCs9wQdHN?U_x4F*f`*SEtNinYr*ZMj+
zCbl)Hog05UfGs*9sfG^Op~)?bYeF8zVUhdX<83=t*RDL7D8fMFHBFSHg`tc(L0ex2
z{3LXU?_KkI^%S>bD$v4RsM_HZxX-KjGd)pTAbGjko%SXsz&2b|i!;E(WE}%i;F127
zTIxSp0o*Tx9vQTb8cii67D_Md7fR!q%cw6)OK<07&WqLxscA6#jht)sGUz9jMBa5R
z{CMTp^{e@vj^p?N2Cfp<4C=AILE&`#dgR-2-TZ;)oHKWUU}oSaPgda>sKL7xj#hw`
z%HI3o32%M~z}>o_bD;O>X0jTGr9rD#ho#IfjV}XAV#J3bQo}I!u^N;O_zWH?qm$r>
z{h3o!Q1sF1j46(d5zsacs9E^P1*2$v0%{Z?Z7|gyK`!}+{rmPTK1)j1N0JTk1cc|8
zMCV%h<!FBvfBohw3>E$x<ZTvrE<L5AVwD_Axjnh6dQKLz)OVd$e-Pdk&uwWSw|Z9O
z$iNjCXPpZ{s05zolTVZ?vH=xOzuXN8MYa=ne<g@pE1KPsCTUpUhf*6>ThgdR)A$`1
zevm8qCVdc;HA3*dFN(nehaXMxRcl^^&151|!)^qXC`nBRwJ+Me)b{<f$g+v&sDIx`
z&gZ+0Ac+(}SP>E`!c;cIEG$v{bdVY3Mq562$Czp=vOG+C(F^vS8(M|}nMQ?F{J-V~
zYzxDwDl0eRu1)J&=2TnL+L;U1L7l$O?2e6c>}X4K?BzU&wiT-wQHWM*a+>)#H^g<e
zVum2P-Z{a#p<*$jI9@XPr0swc5~QJ5%mgWDUSfea?+KO88&YV7p3W57+SBu)E23QU
zE!&eeS=tKPhG>nxI1vNbuRs&dI$2TGz1KZwrnIUMIq!<2k5lZ2jQ_s8{aen=1sV7A
z_l_E$nJA86^=1-y{DL8!e^Ep!v4)VnQ~^QBp~MKtjD3LBjCI-Ll`oJ&5(Ber(;Z39
zk^@((b?nLRiZqBJT4)$Yd#rKM-D9jd@;tNIpvusPh0IRLmOBs$<8r`di=*Rq-%hgY
z7~faK_oX5=54d7qJ)o&_q8(x6q4U}I;GLamve~Ya=_$JO0A+Jj!tmez`~(G;woPKE
zbaWXWZ)@Bs1EyJ|kE@8hCu1CU$>S3OEnl8w07hc^XJTcBR{fpOaExmM^>kZ8>0;Qm
zvc^%@PuXc-ZPF*}3__#`LG=WBi?MNLTqmKwOWuJPJE3%c=tDhPV(t{5lDZKCPkt`7
z_omgE69XKM@&Z>f5U9my+0saHpeidtSeF7o5{?!YQII^j_)(0THh%OcGKPi^GK21o
zIRI|$N;Re0*?K3mApFhWIyZVTr{kW&@A|#32!vS<1Zh4p^UQ!rg`dM<y;&Qx#~+u=
zNJ`FUf+SpUV8DDiw@Atidim$e(>~tdBT_Dh#P{tz=dSrOk`P4C>DK}B%^N~M)Gl>;
z8dE;*e*2ZMh$xS&=OR%6SCE&kWJQX=um(VhMEzaI-~5RWVb^_S#>W-luntG~V<x`P
z3ZG(B;F?T*6Q%AIn*lVe=9I+LvU&YTx&tyHD=y7bB-3N@AcJ~J0bp%_jec<zEvT_W
zLTBR0$_+7`35wR4(C#Po(Y}9mFv(ptx*eUbgv*<MKc|>+CLS1r_#F)8*ot5ve*d8G
z&H%`_YncV|9*6cG{`^`a91PkR$Z&ZA&W3oz_BGp}2F_^)Lyn>V=oZYykE`l<<#5=r
z_r{G36Okk-EGGKQ*>JUu3W=KenGF~~==PjbDNyl9l<Y%+;A~W-a4`XDn5aN!ED1`?
z1h7ITl?k+5p%&E`!hf`q{2-cL(3!-qdi8#K$A@t&2vI5$sQdRRu@TmzS$kj&i3$Pa
zU27ZZ@_@+$q5{N7NmQBy_r{@!AcvjgFb?v;y77+lb25-=BG=|HHZKPVL+<^zzUMC|
z0R^wqe=OD_h`Qy#@<F~81HqD|ie@Na(52WhSVsm!sBS0s+@&xB<5#XZas-!1D1o@w
z1D|s+{z}O%_sH5ujYN<O@y}1}PsDj5wOoz9F0YhTa#9ZpwKc0`OQXDuzVAi4VhXi5
ztkv$Ny*UAH(&>RUh1+(S)thh1Fa#x62)B&oU><l_Ri_s|GGM2QMV*(jjz+XCfX#nj
z>q~8;Ti7eO$IFe^DV<&2!GCy`;;&CsTbB_&WILjbL|q$2&N|A`N2FKD0!ZB_*2G6#
zW>;8}jU$HJmb)H3ut=lN3l(A7aFie+r*k2Xn@1}4o;K;JLx$DKND3Q}p3OCAT>Dz}
ztYYW6uCf1W0MlI6tL(=#ruc&CBNPcNJ^i2|$QCP*9hI{<wo|_tgbTI6uX}@W!qVo6
za;pg@h<Q<w3K(1(nHIs`TSk%fkAwhlC0ECs1xJ$7y4n}YWBLVC(vSiNoh1P_y%&zf
zd3gfq3(K`cZSLV!=k;TddGy1PUblUp&XR{5X<5W$_ze+VaMN9#_RkL9GYWtr%6i@2
zu=Yl2-=n&=jZ!J!dslLiYe@9v!)qpw9$Sefag0HK^Cn{)d)C36cdY5%ezVA(PYnkg
zaFmJ9n881?M|hbK{`UrR*eF67vokO!G%@bMBwyuEqriTY0;HN{Mgtrc_Cx&t)Z~8&
zM^FUEyYl6rm+#e{T?ukz&<Ko;njs3*@P7O>7EV9)P6GHZ=M^VcmOr-=Y`cGUQKKQ#
z95S(rVsXhWU>PBN8%Kc}J;R~17Vg3IEVx?;73tx*gDq(aL>j1BwmZ<MJZZ>&D%!S3
zbwpH5O&OzaP4)~>6HmS7NxZ0d;7Z?IE0I^>u*d@Pg1{%co+(`K^M?RFmBISPVagcp
zCU{Ous#+F{z;F?s6XUa}Sd`V->&cKH4u~^m`yxS7gq>Pz>1!UaZUnMdob`H#<yUY3
z+~%Zk=#d%&-HWL9%;-9Ex@|^2+<9WdtCM+gITdQi;3U@j;r#{TylUOkNbw9E29N-E
zd%*gMiAXAhY6kJbIW}?Don^*b;;;gVV8DWC;r{AbTT_(XU;dCh_lt5Oj=EL;1$Po*
z!L|A}xa?HR)5(^DmEu@<(bYZe)i&eaw|_hemP~#^>s@WFO5Vy-sxH1G&z9|xXZku_
zNf>IDAz9kMBN!*lyNa_G`efMTD71)xs<@W2<zpW&Wbx`sYIbayb}ScXD2%{Tworo`
zM={iyNsyOHsm3TZypEj>6M@QlTMmabAJC{1>fUs4ixMish=LIXF(4gGk;)Oxxwwi@
zRR3UP6SOOBGO$_wn%S7wApgDkdlPN%kw`tEwMGqXeb&mE4Pn_`THK>s(+>pd0#@!Q
z9lY-i-m0t=xz)Oi=!#GC!zhi|>=MAT1?vDgo;8=htqI0wfnC(10YtmpzEYkOr2e_(
z@*v+S(h7$;HkEj!M|^q%raKLIRl|jN^W|r$16#qF4y7y^#>ry}tHsxgt2|W#rA!e~
zoy_qF362U4J~hv3-L>Qxt|bAM$$r;j1(RVSoPuCpv%+Mx{w;?`?F#~gWg5$x_Lm~v
z(S_T~QF%O$ugc=18sdoO)qz}_Z)9o1pVq3}H;A_XDr_kRkjzDTt+q8SE5`{?Yt|4a
z+;qfiruLXN#&al;8ti!_wLf%3a@1A}`2?7Bg;nTq6iV}Qf|2av0_Qaih%=kM6UJ5p
zXR?ugMgeNk5lh&7wIR5Z{?l(T;p#)4*sC#}rq|SE#gjgFk$mADv0qCQNB3UR@KIAp
z{dFygC8A97FkChi&*z=-&7F|6HGO`-xfp5R>5|Gn{IxXK2eWj*ZSnDCfiiWlj;!>o
z?eEz*$qeo|Nq<$Tm(oV#$p!_|rFp$Hx~lA-c~+4H!tSYG!J9li#j_+A5?WpUyL<d3
zM3D$ZdlLDq7JPknzUuOVab_Rxl?136BMl4Iu|m-$Oe+B)pDuR+eMzs<KM>x*Saqro
zO&Lw*l=(0VBY!M5p~~gIBBC2=&Uv)I8<>HFA*T8du^{rmi<Uja0*&flAvjioT3Bj=
zojAV0;R?U68fT2<T6j#O?w!ENbx}A<;hF1k^uJd9YuY#vyC|j+(p>~eYPzHNW1cAh
zj*61K5OJ`XTmc;>qTVv|mVz0U4B+Uz)M(@JvA_1Vc&SSL)IR5r4RZ2NRKGPyq`Neb
zzUBlU-!e>a{^wy{GG&?s<VnB`I*p;;wB>oqk&OsjII#F$F7(w;FVNwuFe^(61X&7*
zIVm#W%uwBUaO@oK#OY>Uz+;txmVx`4xc#hORgQ+MR}B5t=wfv7qDUye%#Pr#F9FC#
zqHPg$WlV&7;RaXI1KWS^+QkBHMm%P2m(9P4gWm4#pe(CWiuBQ2ya1domT^)YuD>)H
ztE1DeIoY&8zdwWu$Bu#Kml@Ca=WIujVsjfozt6n`!e~S;c=_bcjYDZZ89oc1J~{n^
zaVfeZpZ;O-4|A%pH=_K{{pYuJ)|o?{x^Q!~Qds%hkY$fLZ`JaEQ@93(Y7_h`XcM2@
zx(V-?I9XScxlU62RoO)y2RPu5=xmKv`Uj+MNWlr%<Nxxk^&zH#8;x%`YU<#$s=ct2
zBMSa2TW|(Ld9qxnpIilL{P;4Q=FBraP1PWt_MTWX+O&lG?fpf`#z-mfPW@)!ReGPS
zcw}i+5Xf*+;v_&NYxh%J<_1WJ_69A19uxb|g3_-+9MC%9iT=>WtG_*h_@EG|<Ua5&
z&*7l|H%g=WUVHP^1kW48L;h+vkuPZdt6-(kDKXr3_qtPF^4Z(sIMHiHiQ1=4o<Crk
z(-eOwO(zda<9C<~gA(~)kLC~EQYmTP^1Kt2FkzR*U%1jGqm2W6Ih&3j4_Z@t*`IQz
zvS>bqc0<ps=rCVfr~qYj{|f!A{uf+xVVseIdu0GKe@_BHUoJ=C#Mc^iO%A6_geYvj
z?uLkv)=ZX6|K-S*HCdnD4_J^DkdY!0`B)|G?dF-8eO2MKM!l^OZ4^*IDlF!PV8VW)
ziPKko^Iztpn-%bCu@u)SGl8G~RWB*7uw2o3P(YOrGjQbY#C~%EsxJC~>Vv7uwBt7B
zUb70J;21tBtbGo;6UsM8>QC0`FGOHbM*+t&c$?GUERGf-m<d*o8K4Drl(Ei!d=h(8
z+XzO4oyXeinP-m{*WOM83+AsPy28O{*Nq|TkQrQe9RwhJT2Sqww_ec?Ms3;9m&cfR
zvE^@sq?fO7`n_%x??7X+XFkr)9ZbMRxYx5guAe`VGX4eyaLGC=ZkY%HuMjaSBgc{w
zXQMsY$47+e_`&W0>%KP#vwToI*15jNr^^wWw}alc=ORAsg_%Unwf6yNZrXcVRo&M7
zeFACz@AO6AhmBVgS=5m*P+L~Og{jM!@C^t%#K{BPjg{sMhLb$GZ;rBh6o4X%^ax|T
z1KjED9R`c!>cU@L-Jrinch~Iidoe<CK4`p3n@sD&zGS}nFU4-AN5jTJWtw1AmA5c~
ztKmZo916oL)^0z0a%AMVwi(i#bjQWREPC&ctda4l??H;xf3-vhra%Ek$E<@dpjxa5
z=oP-H#5VbSRO3l$Icdz#j+wKO!D0en{PiZyXYfFKlccBTeNdL;CP@Tos1JQGvl0y&
z*Fh1}$9N&>v~xz30WFbc6;YxacF2shKkHX{N9Sk?Az!$`!`uBhvAg|8@4YVwVd5$b
zjO$NR%Fk+=HJJY9Z2z%KcrI0)1O}PV=>8i5lmIWJXyi3Bfb%bX|C*wT>^RBph(h<2
z_I~R}uTs#5)<u2eI6*W-;h(SePmz%STm!YyS+vv$Q6DOT@e@Fkq9)k!pYNaPqJWiJ
z%a;OxYh6QkRiovcnR}p(D>|0gI1Va`W>Y@6Won=1oA0|hzYL(l<Q3}U{OvlA>iOH9
zp*<W?{tRG>{^$L%yhSD<_`HDjOT~t74HeLICcKYVNl#;wfZTxVvDBYU8L6*Wq|$o6
zLL#kdvBea==^NsaT&3SM7%anf=>GkDl+vu+C*F4z&KFSl1mlw$P$8!AwNUSo1Lzt@
z$NWI;Awdd743&?(2UUTSHqF~OSI_TwY1oJ!6^z9E=t$N<_yo?<13u;}?|8OS<Av$|
z>^z$KeDesRWm;c}`w_HMv^Dma%nVZMkEh7XY5Vt!YTErZ80=?ErJGyi=?Tf1pqnfJ
zt&=}{-20GY`*!xt&GEk=S;E>Kj8^A#rT>OX^U|xn5M*LNE>rOXkL4JV<H|3?F{gsc
z^L#i<4drD(K4fITpM5$ySU+L9ZwRrBK~tJgm=ItzRp5B<S0JzZc4MEm{o=#fw8WQO
z5F1+Gx@!xuhf#-FKT?Ql@n4Df%J$?$MFet5vi1*)tHz@58F&WuM_n{D^~IamW!cvJ
zHF9Yj3IPVW4mJ_rQ|IS}fK#%kXLE@;e{jj63?j7W2Y;Rt9?L+bE;_6Y1y&#Cng_uf
zQ-&!bz-Zj>=@3*OaHFKu2LcpdJ)ESsPyhY5t^DH)x{4`(ALJKRR8ASP{pUzbtf}ky
zD-}|R(p^-0L0|lrZoPw?t(&qY&wkG0{~S)SgrD+<X#gz`U_!#nuDuP)*h2i?>}Njr
z<YQ5%S@BtS<teVR{`+gW?|RXF(|Z}c>hK%rjcCqB>?2*#1u8zjWZJU)w`Ao3A$-##
z`;NxPAS@3Sy`bPr`PZ*Sw{YOqRE>GQxG|>fe`5!i=>NX-Dq3*D5$0&gX>_mt+rRIz
z6Q}-X1^@SJ3_5V94&5GE9k`+gs~yq~wrl_QW8llN9C-bWWw~uyIRSW?F5HbY4_rY}
z2yoM7hW4Pqh-dbH*n00kD*yL?{65D?N0e1&_AYyqmAy*QATly5D<vc2NJ3U5BfE?W
zS%nl%$R^n&o6Hch`CWJK_xtnx=lA;Wm2=L0-_QFwuE*ngJg#ddC{Jw(zMAf_&3QZK
z|NYhIA$pbvNRcm^qCeu)XZw}*e|MyA>4+bKjju(hEV*Q-K2E`i2TOvU{g|auM{~{&
zBfKk#4>UPkyY#$R9IhtHjTbDcqXEuw@u{SAQX)S5AwrL9PeysURfdj>7n)7sQyo&c
zPHN-6^wx*y?v#ula;-g@>~vzIa-ub*i8kQNS;8~f)RreZgKH$Bve%P@ba39Z@Klup
zA||=&mfBRtP%)a>*(^A7Y@k&=ot?P*&0qlP!6xI<Eo0C-Pq+pTqAyfs;th`<{sf7z
z2PyVw^17Dt_V?Fht5AZNfIkUDo%#M^>5t!av<8Cz4tNSnd;4cJ0jXdwP%&`Vy24A%
zpo();lb?z;8r~V+c$ZeKZrMoH4=tqsj`$zYo|nz&-G|sKgQ1m|58D+1qcW?hkcNgw
zDO4&X$Dku@<)3&w1ub?26qQVGtMxwJ_+35``R94-6;;N6uRYxq^)JxHn4E_j)u#yn
zDto75{@v|)HO4L>oYKy~x8D#NMRc~yPJ|1U4HZ+*x<MHfcTw9jO4ixOF=75FMZ0aJ
z3!aSVF?1RngDh1=pmiMjdVi|0%MoKw#X}i{x=+LF!ne=Q<)HQK;5f2m;rjf;`IFP9
z#ZqUf@l`in>T)=c;JhuZkB`NrW3<hAVeZgF<koSBsw4#cWmc>Q%yTH>;t4gj4c=r+
zy$@P~hk?`4>gR4GjyS9TH>bBrTp<f@=DXfwzEk>lsa6-;p*S1EgT}Y7;6Xi)hr;63
z#(Cods`nOM{2ND(v#b2{AK4l9n2gqnEB*$|bP&CHx!Do4xitJw$#q6|o5wlF1L}*@
zwvF`vf1ff`C5?UgtBBv7k~Znn&-b7zcO_7s&-DVP;w@4?e2Q#Zrr?C-Li**K79W-*
z3|>;e;-I7Pzjcv9B@3sH<8mc5CLOn<A)IGlzhDND{#<yTE~ls{+%iMLyVl45){&?t
zE)q5!DDo~tBZDVAS59&)4pn5Z7CiOroD__DHq)4(GBtxHx^Art?2}*#S(a0al8wry
zLli(qaTHs)IUaTZWd2EKPw(7y9mG3VxmY@sXo;?7(QPqP^vFX4l1(_+%6hNeZZf1r
z-X64=|1CxX=803MXbl9=3mqR8RG?-sL@#u+!M@}_7n1#ze7D!sr4sTiS-c3E^>L|~
z%^oAo{&g)4m;S4Q`*bXx0)elSrqh;?{o5DxvE{t||EmjtU=9<iMh}VLvCwwwU<XR5
zqf7%t1<L2rU$=_8!&oH9JC;nUTY924oX@^#Lg>ykrioxY$H*-l2BNH0mMS-f8x()v
zQ4ph);jZl8h85d?+9XFkeFQy&mJ}1#{}Ybfz(aRSwPPeG4F&mD3gT?jbDX8OYkLki
zwiXS}#^#nBQMka3J%NQ55CcFfO2Y;s0to_W7QI?asciPM)zSdn%lIldPDkS@P~#41
zo?40Azb6Z40kTk*=(E}uKX}l8C#gLahK+X7=L)B&Ao^0{QrqvN6P&X{brgMCkLsPD
zhv?0gpPYVINLlW#%w@+4+l|D?VUs|0%ViY5c>2B&()|}p#o^7M)4=WhUuA>0a@*jP
zqb@z+8OJE`MUo5N;|t8U1|F<h06av-%(SD;zlVs@AaE7_Qrh?kN6<EOtp7;FlA{Ze
z4m%~F5_RYe-#gfL)n#mWXaX>5U~M9}J4o~WI~PniUB7G4FG8o;U#Sn?#f}{w{c@O1
z0SXL5^WPR|uj?B(Ao1lMI=|(=x7+hzYtgOT3d(EQ|L4M-u23yMAJU9>VBUK8?#)|7
zxq4&$j%ToLE0d{Ex@%tHp=Mw}XVQN#4J>qs5#Xagp=RGItg50+=-ja50ZGxljgbSW
zMJy1_ICBWTu%;?v!$K2q7QNr}b%)ab+^-nBE9?&b5Fi}Xy{eA#TYL5Kuq8!dn@S7}
zC*rLnPR-zmi<FyYXt!vGD|~UbD;56F0hk^^bn#ndK7*MXQ9juEcE310(F88jD!9M3
zrf!)|1uY$|qvYpar`#XBITl3Ey9cjrg!0mAvDm*ij;<UPbRn@<h%rawTP3jva5kUZ
zC>^j%a)Kt!ux-8KQHk_dnn@3gA!)t$ZF2SB8JEC_W7vnPMU(e%(h@V@=H7sNE$G59
zI#0#em!tf5t>JFVLFC9Kw0Zz}?^USazkC}M-3)H_F)&)_E*_vtkQjCG-}%ApSoj6z
zrox4z%(3+_&0<qq?{i}%o~Q&O>et~}9MUFh|8rF_Tn!~LTv3Tl;WYY?M>0OA!DP2q
zfx%=@Y3Ba-NEGBSr@cStJVVwz58JK-;8Y=A`(_(wGW|C9UGYryuBX4`p&_=Tjo1E7
zWdPTdFlm3*y6NfyF~C!3mk~;I<t$w5)Dtn@I}hCx#_Bjs{{;oa3mld-o23o=uuG%~
z7B_N6MeHn{Sh7?*blyc86b~+c^?FZH&sgJFA?o>~DC4(&hu*H|-<>m1Vh_W=nnmrQ
zQ{RlBDE+(oYEG*6oM&_U`~M3h&f$RD1hkWwpbXp6W5!305B|-^+Cajy^a0<w5deQB
zGcUt{ecJ6%qlEIlia$EJ5yc-;CPnJ$7S!nZ&gj=k>stNSqW8?dLDu1V`T*fQI@V1G
zFZtF=TPJORm6~OQRIe=bOt@lVd!jT=qFvUy|3%v3Idq+}Q=>5ttN&4$s{a{2B{j=X
zp15*Q)_Y;4$(B==d~&|sO6&RWr)NlEv?~I}kH<yhERTF?d-?D87eDkV?X7jm5!8`m
z@-yjZv~XB?^GjjC)BjxsHnxc+^h!(Vc@Pg7-~|hbSabpOFklJ~vnygYjDFc(|2KAU
zgu*3)r($DcahAH4ZK|{ZW9sQ=5n)iuL-$@GKFs4)+r}$=FqK7NFG+8B0BbbL<H8jY
z>KRI0^3vbmuup-Qq8!4@9$7mCHw?!Dn_DBt-uK6Ow*Lk=R3#ogvw7Ha-X=g47~~k2
zgr_)x9a3orCzHppm;L(+Dnd!S{Jb^Wj`22*;cYwza}s*&{2Qyo|8J~R2tEGL6=eu|
z+rnz}*K{YxxPF9X;6G=SHWz4TbK>6<Y2zv$!8e65a+klt`EbgnWC+d&s!ebkh<{U9
zUB;QbFry_HotLwPD&^bXqx>%Yw)=0uYgve%2@`us@SJD(bK~)A@>q`%-wmi;UJ9-5
zdxwAC#-?K)EEF|Bh0@`9p{8w!BG72|9!gkU$GW|JqJtH^+-UbPl=ze#;zt>DB1hCq
z<B4Te>q2KRevs~#ikbTFxDes1aHUUD|2LvHaR~=eaG<xzjC{V>LW*(S00&Ad2pKxG
z<Kq9jr;vmaQD7_tNmTYEX@&?`R}6az`Pw);(g5gp<AY``mCul=Fh2{|`Ol<-;06cx
zr`Snt60xs23P?Zu2<2GR)&b);Pt8wb-+X`HrBvQsmPY~Apyx!ye8L!+1;k5xdw%wd
zv;j(5qxH-#Cs_lY39-20(BQ7frvP+E4-K<*aPnNP5QgtgD=YI^?i=jW1W;3XHtCtu
zEQMCDo9LvBybVX^vNOBNtjNeuw1|66U*h*rVmik%z)g<fT{Pf}6%imK@{dmDt6NIq
zWGly~d-t!xRerd<&-8LBr!Jq(P8wHS*?<`I?yb2%N+sE$r#ADn0dF)2bE_y(;p3sj
z;@;h@B%)`4^Ck`0sM@GpnLgvQgl>P@>o7hv;*4qd@W(_Tfy$s~$(bR$_v&6E)D9el
z-G+KAiLSF*@x3|OrG~cZ@GkXFVpz$pn%F)^N10ZH^DZxTFN%nk^jd%&sk++QC<eLr
zh=+?dz=XXJBBB)N5rht(VCU4L`e+fpV`ncF+7?^5emN9X`RppZwGI|sha<Dg{@#+m
zM^3pQ5A}=z?lr&kgcG#NV9A9@h)a+WK*?hwB(Q;0u~%9qlDy(+eh^A*#OGDaz12Z9
zAM-77V`;T4n|R_s1B~og2&IpfqYXHFmUt_uz;8VlB~Lz`)j<XmZ1g!rnXn@MTP<jd
z8@3*Y&_Cv!qNlKt5!WDAMwib;qp3FZOqIbx6ORKR02=Ptw@`!<37pFisQ!F1b$=oT
zc`w$KfWD4o`q7Z0?}n3=>XsDv1TA@pk(_wg)CTp@VBT5-&IaS?=6kgPL^z(^*S>3^
zd`-kOD6){4_)wxC6@w^td4g?ZZJgdeYh|hZ%mG=DQ0b;KSJlLn>9E^4i^uM(iF}%^
z4+VQr!La~JBJ|rlb9vA_a<H$$r6dgN^)bn@^75+n=&0Q#!R_n<XD;Nv!*$q-J%;XR
zSzJ~)orGWG$MV|s8CyrN?Joy&EqX6}_rBW0Idv<84>~W=m-`Rc`a9P(OtI~|UY*?U
z2yTBvd-7gKR!-V}uDo6N7@VICa8^{-efsTv<xM;_NAZZSNAQ~^SQQP6HD$xwvC8`^
zzwhr(T0?M9wzKH*U3=>DR$G)@Vr^C|kQ-s8upL+zUJiLF9|xFp16oDN%$vgf7mzdU
zF~|Z;GY7TO^#_X|A`c6#8(=S_Hv%H%#gT?19VPZjPD}Pmt9R8i{NWoe)5)vP3Ov8|
zIah6^{!(1Rm;D|1rFG}@zH>?2O-`PWmRib#0fkkcTYKx(CY^$xmoYR9G@R2gb`>oK
zzH?fzRcK%fynBkM{bw?i6Fr6vsu!I`wtkHKre7K%<1@Q{gxYiI!8gx(iDQ1h&KN{A
zZd4!SY0zyg1S>1Zo*cDT-Wi}Xb+iiZML9vuY9VXyvl16MMf31z=#&6WvIfrV&?A43
z*SPL1R<pUe<fQm5zt3UWT!~6MsAbzX-<3$cb3uqZZM%D~&v+uYdb`I7$RIgfLG_)D
zMHgk;P@ZGMw(%w7F_LjtAI5m>Zz*$4lUr<>gi?oSb?tzjDDBgy(T6+q$6V+0{plx0
z7RwG^MJxgk%Ql5><Awqei_<y=gBw{Qdv7=S6s*`@>3`%YY(5ngF8FEj@5tbj0juDp
zu<vp50J{$iGyQ>5k>c@N?}_sMeYYBacqPf{z8j=xz0`r0&5_K!^e6G#?&roZ;cc!(
z|L+>gpIU_NHRGI0w}!{V*fRM&_VQb(&FxbrE;ApaF1T?ze=W%9{Ku-}KRhrvfFzz@
z0M5|Xo_hnLQ>+FlL}nbKPjLiXc)jv6Q4PnIxcO=1CnIhYPUZtrlAC~<^@g&_wYFi0
z9^mQuY-vAAeRnoXMl(F4(Ut?TJHfdhd1l|Mkwcjyug`P|N4C4Onzkemgm<jkYT{(P
z$r+O|e`e%k<jI1rwFjH$T)ex$UQMRD1yPsov5uw6#Pzg0I8x}w9D(6wNnx;wIEGzb
zuxGmxxC>zE<zWyIHC*`JhU|_U?8R@H`S0Z~c{aS!6Iz#hQofd1WW#;8N$*D3)>jc{
zVKFS*CUJn1979!)F*YA!f&x>@x;KBNY~Zhl`meTa%m%ahwcgQ(O{d5?kydziAh1p{
zd;=E0MJ${I8*#Dod8;EUHTjAg3I%oK3@n^`W_Nx6<h$(sg`K;YTmg@SomjLm^*h)(
z5dOHkUf?2;j&r|LCafik@B9GisBsMc%2AoMl}k<>2!#P)prx1Bbr7b#)PLKFHddwa
zd@7={wLR}b?#1GNhK4}@c~p<T?oPvX#W3^PZ$E;NQ6xEN-JYwsH&ms7T{IcTK51X8
z6rmb2;##ZaI7Z8h=o))Xam996;8Z^RdT~2#XXzmR#bFFS<h;VlV11JJ?#k6qV44#x
zaaseH=0PVxb9lc(5JxmNk{08|%oLn&9c)*?)@mZX*Eb%ecqqNv4Kw)(8Kf&au{rnz
z$q@Um?A+6*Eg0Wd_Cesj|Dc_Tf(lDwfY2FRR$tQ=f45ZBKxy6Sj>U~Sx$NA(KKM45
zRi{6W5mafiL-MUbbc6m&mEYLNF`oOYQG!`TQ@K4r5vd(g+FwZ<x|wsJ{7~E4DaSKc
zO>bMOPvKf?ryiT(4P5EZzxSf|LHRUtdgb_be(Cl*DY@~hri(2+=In8zCUhT`s_0<@
z;}bkxu`ztOUKPnZ^tOdsX>(N1nuci9fr#l#`tD@_?=%0qrFr8B7VOWh?9AG`KYTat
z{z{mjm3}#}enO9+ZCc^ERrYsqgq`-P*$R2|e#+ABuu)n?npAeygZgru_I5o5F<9xI
zv)2=1&((vea0x%I<rjSl;uZ^OvrDg{s$MEM{2$=23?vePxW9w%hvsa|j?4OeMYs_8
z^W4|AX*j=I7_J40>=qMocw*!kziPUVR;~iL(W5T1?ZU%wYG5w+cW!x(^FKg<ig@+h
zj!z|1(rahlVno={C^5ojJ&=EUe0HAa&p8))^VTP)S<P?Yl>QcJZ3g<oDZ!-{SV;wq
zm#Tl>k8%zC&?}#P{@}NVa<Otm{Xvw!LdbiD#)XIc-k(jm+K@)WcrKq2-vjX=PAW4E
z^H133ir!(bu?BMx#8@|+GUCN@af-gi5#}uR#gZKk;D#82b;phEt}VY1#W)CJP90*}
zQkai$QHVV5_jA7L;`m_{5hC(pNsz&!puiOBR^j_yeCL_)eGd>p=R1A69-Mc?ah7X}
z2%hlE{LWXQRKxuURpbUGK|KFVOcfQuc@a}+z)l*kipc*419Gl(NFMf7Pb3k{YL&Rx
zpF4xu_Khxxd|JrRy%0b%;sKGLZ=bEnn7O(oP>2IKGcKhg7=As%+!{427Y4%O-#k?;
zI2&)7%)5a|@`K+?j)amX*(ZwIGZxx$xb&l*^=K&0E-H#kcf<-Sn$i+NY~J!I>s)+b
zDs*Gu{*SJchmV&*3Q^hR{db*g{pz)>w6Mf}RsuT$_|_x2fy&T34o94LS1~6Nd0&)j
z;X~h+n|m0-KhS*gOcI>0-SL$R(L5@U!Z}08{}D<elsRM>s1?V}cpJjSUIPB2SQUTs
zPic(o-0PN~?w{ScOJC{~b0Yzo`+(@^1FX1^$j6)8eFcICg3LTe`1FyypW!dVkHYp`
zWphuCv^(KyDkm}Z{g7L5)p|akMyAn^II};admH|f7s3LzrYMNSd$!V<^i&Mc=-2hn
zv*RCzc#fSLcK+0*dd>O$_fU<Uct>t*;Ws7vZqE36gVH`d!b<}b$HxaLf_Kyn;vS1v
zl7~8LST>E68;=;SEE*B?nYx=I75<1f?dBR_+<J4=a=C`*cIABq8J{o`UW4rFuKYGf
z5y``2vZFCP@w>@VxzR!NO!xPU*Wd5{3GSJ~-@QRF8_=U#IrTRt-e+o|#3kg$&Wa0U
zd#wv>Qyv@(z;Ge@3w5udNXmPz&Y`)@B_fH)&73HPD|9CM`VBlEhNpD+uFo@k(7Y&p
zQ^&f}4h^N04=90jHSx_oNhaU<YDZX!Ol8E~<VtxwH3OK5o2k8X(uVJy`I;xJWMlX9
z(2csg_cToNv$7->^u#;+g<?L|IezF7a37c7?J3xQn0<PhHmy88^Vh-Y&ceRfMjBUz
zz)uY)R}+q2JJyyL<`m3w;+pQLU2aNx-6QMfnEn|f=MN<Jv9YmO;ViP+>Ylgm-qQPQ
zdou^18ktU|xy&DrwX>YNu_Fw0`BH`8>7g*7&oDC@A;H<_b&$u|xg{B00Yrp~FiW_p
z`ppxX*S%R-8~v-?@`(46jok|+AT0FRdbct$nh=p99=|1Jgvf}JB&ku%j_9AR9}HgE
z8K-BPs>}GRe10hB_eT@At0*Wv!BFzlN(;VISdIC4+n<K;+bR*L;a=K(>%Rl`)${KT
z<m=9<qtG2b{nSO3vjgRs?qTW#$CZJ!YozC(p5a6hG~SL*N*kr|GKX7BTT$lEj$%9D
z0n{Q3nD2D#&`0So-tXV+H$>r2-sN|TZ|wyFO5LB$H7~dcd61=yJPQj{%TQ2p`t%uJ
z_@xA;yj2~Na0Dv~WP*~Ie<(4NIw7!Z+rVd>?_ldEG@>Qh?Xl^i3Am|}PDKD>*{{>W
zp6)50;usc<L&?pTA2Qq)uHOB#$zY%K*hQQT7)cr|o(S!5wsLlPu+KC{dkXyAK|4Zo
zY#=UC1AYW}THF8o5mZDDG*I5X<{U~a_9M=L%DYHr@Tnfb`xRR;9mzu#4uqsL)lrkP
zg9qnEb|Ie7dgC!OY&Nw&4}LoOLNfbhqU}*dc-qJNC$tfHlsu3SW=z6|lf#E59-gL+
zLV3Z9#3s{F;y?P<yiR=YDY`jo%gZOpeL#ocnosbXHTcQy9|OGt=xd5qOQr<$1e}0<
zwQc?b3KZ7%a`>91z$Q23WwJgD)St@Ix=!zFKJ@j{{(Sm;#skNM8{M3U8rd(ZMl0Ps
zW_G69D2npUle}N{^FHl_egF+^0O~6Itm?Pjm3Aa{1kk;?q2DAI+sCcxq!wEjQec+?
zSUiS`x|Oljn_opD75^HK0kgyPc9Ef2zAadJ*J|Zpf1}!Cz&2ifAF5X<KrVJZA=1iV
zZHUruIq>%|pz0NT1B?1N%Is3#h0le`0qZwj?6D6aMM_oU3*f<>u&#|9!IJ6?GSypc
zC@$kfSx2pB@c!Gi?*b1YrGgi@2lMiorMn!eK*`*NE|2GrD1!AhBHT+(4ClAiV$mzB
zwFwWfkJg6SowqoUf8s>(2>^2JCd2*t1)ymPE|y2mGQiOv2$xW<=wZ0eRdnjBTJ?Iq
zOK66ULEcS?q|;=?*6}n0HYyl8OW;{kpa`A$`rE6%)5_K7WPYxheDm%F8bR1lCFuY#
z<6=<*>-n*)9JKwYQ+grL!nz-UJc1Fs6RjZz@#NuhCid|0jZDb1USIN#Uj|k+N%QaU
zN69t$9&_4miFBl!6as+cUkX~2IZEpSmn(rGeDnEqUZE<tCvd7u2~!Re$#>gBf2r>R
zbyx|4^>^jtPsHCrO$zGSC7@Gz?Eo5wGjssc9~Ic6u-eMSI)Imy9<ZT}_XF&8wT|J>
z^{U+|k*Jp8EueSMY@;}We@{ldZNADhvaiYPbX;`;ZhsFV>bXy}Iu5tR6VbXzt-uP>
z6!J={;B~5ibY6lSP%%`}FZTF6!D8UQ-KFMQx#YV<E-?8A_zD-BZ!IgFu8?LXdI29C
zxxWq3x06Hv&72en{xB=Q()_Ei2C`$1E?+U3I_l!7mMLbe0Qt1X)$P|nO2TF6&lrU!
z_1dAstvHhv*YHSu)mqjKio?_;ASe)m93~`FK4=f<1*NTo+lQ<eWrbWi8gKRf6cACc
zyezy=%@1_p?{Oos-(O2|eer)(&*e`At91Cm5}NBQaUFp+wTq9X@I+K0dlPLS8gsfi
zgNF-oAf@|K^IbSY>jpHH(G5LS`S(MC5E#(o&D@&g=ko$7eI}SkLU3psWX<oRTm#UP
z`d5g34Sh9~stFx&sov8iL9=IJUMTk?wk$YBj>8ZR?xyXSS=WXE0KQuF=Q)}!r~`-B
zV@NZSGJu1hh*ooQkV+}QAH@+`GrmZuxi);KjsvI1wq8Az+U-m2&(d}$;eb7X+3W~b
zQn%s3%!G`Ua|R-!G#c-MS-nGq^6oKWRce%%yuMj8RDctKD}u~?H27!ma+LOc8SC6l
zc7*==y^C)i7a0dkPjc0B`v_E15kRX`BERu-$xkLbm>Iy(It?F&p8-ff$X|iXJaxM}
z2NqBjhuO>;%L>#M$ee8C74IZOh)qU+TzF~fA$ZG<3t*AwrJktEk2%|UavrlIVr$Mt
zU+E&eU)+aYjwy*=N?T0^&Ff&2;i0MPfLzD?eomp*K7;QGDS3=1j3s{?yjq?*9il}R
z55~a~MK?eT2xALDJo7l#7_vE9s$hS3njjbG=>;~G8|(O$b?_HO5`YH#q<M;Oq9H_u
z3VGrg;!9*=(kBG7LOpQKv-?2BIvn?eq-f=okc-z~S1K>pmc?(S)x>YHtZiY~JzHB^
z33*IN14>Bb7F1Q#@um3`W1k_%FG;}BA%F#W1XLq!Xq>c<NFRGNu6L`unv52?{e&S-
zFv@G^$B18>RNtE5Oc0XbboH`wasOO@f{POs^0<u9VsSfd0VAq$n*3GRhg8msDGc6i
z9}m!{&il}Njr}?ZDL9v)^<ewo#}^gG$PB1lNQv^->oZ`1b;(-2@B}Z3^o0M)S9(6o
z%s?OS={Wp7YM3O*QSnElvvr~?#qpJSbnO7&KpC7ir54`y!?ENjrpJ72;A{3#or`CY
znGue^ZSRentjp>-!vtTpz^)Iuvk>R?tD0wUld2?ZdUYkjhcKd?S^@iUU$de~Wr#8l
zuj2dL?|`1m_{!YnBKs(lW);nKnLW@)YMa+MLQb9&Mg%!i_B>>zWV_=L*G=2shT-nZ
zYnPIm9O-Y<%eOER{EAMUz+T7}0C&P1BO&))#S!snA~pw0PIh`2d%<X~*P*7c64&_o
ziDWk6r!PvS0Oe%lZG~emP8i#3_xFRQj76T-cWDR@U4ciyXj*b(iIFM}bxXil7e6D@
zCUsMz5Kzxd2A+|{iqV(U@=aFUT*7HCzHp*oJkle9@TGdbWc2|NUx7>ne&xd5M$VQ(
z=2vPUl;2`&LMy;{wUL?mZB1dJ{v|k-$DkFjcs+H?6SEuSU}_!8PZXnOpu)-1Al^Pd
zKeHo6Wc~Hx(}!0RG|^mW&UxOUXyobHdsl8Wj!vEo)QlVcoXmsi;FN5t_)%=ySEKvz
zdHz=pX1^)?vD+J88w$=LH^`_2TvQSDE3WnT0L4#A4edJeUIAO|u#Z*ol~9#FYKBmx
zV|dQ~5GLdtk%DfTLhVS=RA1AhGc-uo$GGf%xeoJ={>Ie!2@Okt4sVn|D3M@$6`V3`
zFI^whH*V2aEeDZO>y>c+fgQQ5Xs7yBqhrYjG8IA0_86tVgK`l^txs{C6vp!WlRG%&
zdvKb0eiHA3OnV5?lT1aWaP%QL4X5D9QFSI9LDcP1r0;n=$)OFHo6ea_11+jZ6|fGs
z9<og|gSwHPltGWsJtS;CL!B3m@N~4&AN-<!>r+=UlaOrz>NR#doy+Rmxm03Yix^Rt
z+ijGQR(P`5<f9Gh_VfWPe&Q9TPu!SpidZJ)AnOY|$tUKuaA22_Tm^+1C)@5|FKl<q
zUt%~i_RhrSv2o0;$REbAm#JMb8p>am447b0WU(Q8y3H(^k1wv0>@;T6(~=37m3jD`
zk5i<46uVk$d{&U^gFXBBUc_Pz%LdZl9YB*%B;)z~r$gi8KcFm$x@MMn42|mqn(G5u
z8%i#T7+_9aumL%WEcPgNG*9RD5meP#p}rc*iQ4_1H%j#ytF@w>G7T+;@#_!S2ivnb
z<gsi*AES#KM1;OtX$h=HA<rmg1s&z3<__TWD>xrG8B%tbkoj&x$10Zq5xwxlyV?wJ
zygl8Ky3i^;b%n+CxTVO+pD7@&&ZFSNK2uLWhve;VjLEb+myK%KoSdBqJ#U5|V}I}p
z%MsL{aP#R0M8NQMw36|Y>(BqE1rXs2MQHsZ?mjyA(Rhrj)%1L<OI_YGIX*QI=ejFU
zQbJi&eX=uGxt_>FxTI@CwhLO0T;}l$Rc^V*KCh-M<vm+>lO<CT**M>u??UB3MW}k?
zapnC68YMpPjggwO#tq`qqnMvvHo#S&?rRhX92G;u*Yed*LlA^sCzT9ic81WC!sEbx
zUP~RK(U6YG2zAQ^H0(cfCDH93{4qSzU>N+{s9@mEm*=6uhtY_*t8buF0R6)8hi7aw
z_%IB`$G%OU7lI$prW+BgbV0LDW!K|REb*X`t)a`B2V`c~JPvFZ{}<t!q?n(D$hKfj
zz4uiC`tiP>eMZj>upLG}qo2=upkI4HX}6byhszn^9O=%Op*QtzKef4+7n7iSuVf(u
zO^SE8dr5mbqJLsOpLmLz;RN(LBha7v%{`x{mJLU`@~Y}(`qK4YQ#AeKuKy@S@A|I@
zwd|C<ZyH`KBD=5H_V|l^X7wyim2L8eYPVDC*|4~(xb0*BdA$KNc~scdEcv2k^u(T(
zGu>K=@*iqHW7x_(vRSWrQCRL0Dl{32bZJ;_X5?9AB?hZ_9ihAdthIf!Emz^N_x#?h
zfj>>t<p<ZNziYAm)E>AU4_GN*t60f5g4j)sv<FhkO+F=+1-ZptAy?HSI<*f}LivJZ
z?+eDi!a*o_&CBcK+b$sY&)TQB(|IvO?N=Y{RB!(V3+t(UIPN#lT)8%te>EDXqT8kQ
zBd=1<H0J2fW&+C~D9fMtc$I$Z3#DISq~I7N?DE}N9vR5ba=!yHKZ{6@g<RyK2#JY6
zDfK3V)r0TyCDDX~UK1<R$K)vs&dc96FAHmtJvvPY6R9dcU;E&j8l~do_fu3s(4Kxt
zgsf^M!X;#KLEOw#6YJ082L`4K!g?xB^8xz1fDuTtPRQ6q$B@tUeV&#YZ#jKQmueGo
zTh~reVfGJu7Ti|9|9P^S^9hKm)Lx9KTRudiJfAj0HM!MO%B*kvHa?BqLCjbuUVWuS
z)m%_&waT!<uSu_YS!D}Y{uDjcK&{YUEq^DU8Ax+K8aE#IqWuB7?%4Z)6xF%?O%>Rg
z-jBy{J^zzO!>%YZ=)e`v&HgPcOA;eYsaO+budYOWh(eWTf*;fL^5i=oWe9FGH{o|H
z=L95#Ckn1Cziq6&!4kT)3%tk`B~i8R`VtDe@-FRfQ;wTu)qDA$KIddeW~nF*%95}O
zTotJ!=}oE?Dq;&5CcoS)&yC#+BOa$lm>4Q|yVCY0*@%Zu_Qs*^K#f5KxRT%0X$zg{
zt|T<c7GeS68mhhl3-1`bMPD5Oq7RoZ3zs8-ovN`yK6Nbcf#;u&yG@!Cs=gi|=&f3*
zXZE^?s=uHTg8Qq~&V?3RT*6h^2HR&9plfRuy2d5vQ$xlV%YgaI6g_z>iNxU#pohEt
zR>3_z>C;SfGN1#L|1%m$iDE<Z27GR{G!vcN#tAAT<+4YYpR;~*>wcYo__-E9HkZfw
zZ#xU6q*-nFFDbTHzmI)kuACC+RhJhz;D4~!16kzzueqkK!Q`|#oVVSvk3z{f9NSKR
z1I75Z2Sh$2_GwVIMaPBZ8qAD6cebqRI?s5^d0&1p>}SKr4db3cbEc0)+khWCs>_0t
zEsu5E-}(hEsd+0IXU3pvNU8FRLUFWPk7)zQIKhhvZOBhnmRJQ^&5b^a!LK^GK!}>;
zT=7OE(YofZk?(5=a?c2T9^#zwQi|7WqEuK`3AG1%FBI;~g}1h7CH%xx{kc`3<0%0)
zzs)hg!chTl>m;%E$#+O^dIG>P_nLanZ7GzIX$A)&g?j^=|1O-E_7qg*0MM9t!u^`W
z9u)aJO*kn7Jmv|W76|ofJN~@SQH*#m6pa-$02$$#FHcz0kKWN^A}x%hrKaHPu(YoA
z2|t?Y?{xMo60%gWYfjGW2fN#~92?(l`Tzk=#3tS3ig>9kCGSf>@1_!EhfcptO&$U)
zb4$Qx?lSi$QZASjD#?Zg^9)wlXA<ruDej*SJ3&4fj|3c~ZhUUAyg0(cTsC0GY<HZ-
z4dxQZw~61{ILl$LUq|O@WagsXj$?_#nL?AdG9_skV_v6f2G=Y61yrV_>l7$tc7MQD
zvah1F1`;_6p=AJn-U!*ee;3UzTmVtNy}|?|#TKd)R5MmD=6quy7P~u6Uwz@>ml~D(
zAez!(;>y#G`~_KucW5eEI9X(j)&Ob`!rbw*UU>DpFS`EtJ$#tx+v2XS^?9pq{_K5*
zK2&T+La9K-7ycPY(w~Rb)J!u^rXZH*%roW-s+DM7$uNb?Ns@{?9o~ev*Rap5ob~=h
zFSt>1ur-i5F$TGTC^ejJqa<vb$o#{V^xXtH{$4=vCBG{-%ts_>vC-Yj!se;IM9g7r
zBVn=NbJ7EKzuNFt{rt8^v~~Ka<&V$AC}F2vEg+Gp(Lcx$y0XtH&m4NabE!6B3+SYe
z^-Q-VX{c88O~Mb`oaE4sm7xju(^-uZ6XZ7(|CXTnnpt&4>X)V4D{DDN=9#mQ!~0V=
zEXLy&B=FTtNKMcB8q~Vh>JSGV)+Jo_LuhMMXo04!vepgrblhgHyEXBA^J>34C~Ej3
zjL!Tw&Ew-EoE^CS?_}?2YUij!g<81BxXfia^M9R1{2)Y(d6d;kW4R_}yt@QR*nz80
zrni2jE%m}14md<-$t=F1w{o;d?g*wZTf_7{f2!@UCE)c-mtX$qzVqfY!ry(iSw3d4
znID!qv&ZXwQgO$O)MEZNYSA^S&5$EUhlgYbY43eyXU@;1?Mkp_&*f_Kv_3}Ry51%B
z<SJx5sf|33A5+nYY#e-8U+%nn4d(ri$2lN8xM~gZI6dA|NAJvjhu3%%^NKMuJq!vn
z7!9nSe)O{_NKE9$V|P>i(${KxN4{Q<C5~swXZ@-tPsFABsfj1!^{LRa+G+S<%^z!3
z6(mG?P=YalBm8BU-ty;PiUuz>i;6p{eOEK{O)q9sCNVj6CSJ0=;BvK+7pcqopjNJR
z#w3)H9J9>s7Gayqz^(iDJISP-&`?kEdKQ68MKuG*b>bnISdBW9grHgt%@q(#aAOal
z#;D^LNK-s<i$ZbdBI6O`mqxg2XH=MZcSAi4io7Lg7_jOz)z;j|AEq-mDjWE5>`XUQ
zLUn$M(IBrvn;D{v<DtjQY{iMzv9*i2#`D@;Skht|>rnEe%>L<A5^mqM=5-ccU*65S
zYbtrds%53^8b}C*gc~%F=>+RzxjD^U%mGAcUelSOJ6FA(B;y})MFb(QW2|IIi@%c*
zVk>0v^-#Pty;Zuf>P^1$+a!WIW;fKp=LU<wXHd_IGigrhS!^5DzRPM1u%RIkISzQS
z&s5X7FvJq(AWo!J$mWTF1}S%S<h=hR=jBjop4haHcAQb8T%j+GvERk-jKPRMY#(IF
z7P!f)hTzQtgJ0Ym%B6aqI5h(03+z(DD&Imy!I4`>DX|y6<tLG(AYimTM!U+qe)oY;
zGBBn8iCt8nKA@EJ!tdT#qp!PpvwTAic3`vy3-{5d=cuVZ)`#@B9QP22=M?a7t+Y<W
zJS8_}U&{+l<iS|}{afB&r~iDR{4kLMId`39!LRg30x8@4MQQ?>AjXi#ApCku#B^VL
z>p@}7Nvvy|75<f?^|1*~WRXW@-H1XZAfM+0&oGzz_M4pgb~jQL%{?B)PANUCrJv?i
zrYJidBsLqH%`1olQ@oK)GLeQ|Lc3#?PJ;w&!IAC2N8ADakG<|a&$@f)dt;hjnin)T
ze;Ao`n{ytb;I6u#!`~hK8cX9MTuz0k*F?$kDjhd1$SE`HY`*j?>Egql<;S!Qf|6HM
zdZ#3cJZFH^Jf|lr#9t%Re4R6OAt@_Cc=iXzl%;XL(C(w&a*+@4dvfl&e>^}CSD5@h
z^1WF5qfom+>WicdUGbU5*10N^;yg~?m-M6<1zE3Arg3M7yKgBnKso)ul$gtN7PyM@
zh~qWio?P><qu2bZOvsOu-Noi4tCEO?T^7`$zIhHWBrR&=e?rIC1=<AsXju_F<V0S6
zE<!r)tI=VB8QpYhCTjU+{b?T>sb;Gl-i?{x)7SNys0&Nt&b?LdY&>cRyyLw<q`%dU
z<Xxj|Z@sa#(EKDB;n$$-4hqySrCSrVi$LXl;yo9UE_<u~1CuGalGSbY62(`7vlk7b
z9W}wrPj%C>#ikTw?VaKCFA{Rge6&}ok<Ge7QyTWGqqZ-Lar~S|n;#3wZ)+zJzJJwj
z;tdk2+aC6&Ez~(tTPZ+J8NtyS{^YtB<Q`dX^*!?7O-;qIyEaxsZU7(+!ug}`2Y+-z
z;oBUr;mmD5EHz0{XIGkwt(ok8874d!^1e>F+u_wQjMleEwnT>_t}%vLEpd(RtPH9-
zF4C1kwt2J#OB$W?Pmbpm=at`ywpFG6_+T;cuy32X=2mWdJ461&xerMjmM$fO9~7c@
zPX#B(HR6#jX|m3)EGvo__nXGSO>3HQ=AZPj9k&%@)@N_yD)bNs$8hQh_g`@~qQXyw
zxbvT{X-peOjp?)MO6PyibgnaH(*4R^!E)h>;SteK+7=D?XHA(e7u*#ty4*a9O}8kF
zEN!*<$_I_Ep0+9wB<{nc&CFEnDs6MQaJNP6LroP{-kAy!>eT<y?|4ZfNhqEX(RI}k
zQBnW#P~(l0y0kQgd3Ir3sNwdhw<}#Lfj0+COn(>uX>_nvwj?igNC+0U7NZ%vzT$9#
zL~u|uO|xijn_-rs*PY@B&b7sFPCHK}^JZ{=ZMOK^OEe6&#M{{wRLJx0L-pk*G>AYV
zc_rC5pJ|Co)hzv%J3<2==AO?A;Z;7X)>rlSJib2jD#o19c3uX|MFwxVf+7OV2OlPF
z9X%1bsu6=6Hx@^=W&yx<ij|!>ciV07mZDhmwGPk1h{8BeX-+w+^dK3|{BxgSvT)KI
zUfyen5`Am*qT!zCd6uqYB{V@iO}cwpVOvWFI1}IB7tSmRTF<O-$a7`QNwJP~uD$y-
ztutr(C33+!w@mg&fL5J{&uiN^S)~d{w+30f5xxBMVsztwHGyAL(m&ydod@+Fu>mx%
zJdJr~ia+#+X3ceqHphBu(iOipi=@HtNKR;{Jid~1%$BxBTf9U+QS<0cKPM6X<1>G)
znq&2N4=(Vx+!gqeo&AARcS0q7*x@$&X#p<F51|2h)U(Bv_nv8_2`N8uI{47~AyvA7
zc2q*FKvhnd@>GNNYp2jliocv<TP|Yjouh~|bCQ2ACV1MHowB#jHPoTfdz?3E)t;Lx
z(^;5X8gVtmtEKJ(R9q0CB4K<wfA#fAikan?@<pOGT()3~&sThRT61aRNT?3>LT$`H
zpd^VW;`9>Z9Bm>#=tNi~rl!W7x;Mrloh$WXH0D>l@Nva14ahXjvNryrJdQfi_Q>0i
zme%2g<MS7P1jaH9z0o=aNl7hv&fM=K_%&*b=$!?ALVeV^%4&I{m3jnk`FpW<)z`ik
zmFgh!H8Ihl#5&*<sLI`A6OTPjV0fE&I}V>fev8uZ#*@H@CQx#Q4DyjuH75HP*gLdv
zmi*hV(wO0lPkSITKYSOE`OHV*rX%a9@b_Py%@_4GDJ>CM-}?R619E_7(hhb+O+|U&
z;|VmzB^_2Mwl7@Y?EWA_M(nmq;-Ta~iHpLnk|t}Q4T#1Unk7*&9(V@G34i`30D&NC
z_gdVFQ}i}42dzx6^u=OPQlQ!So2Cbv!~3au&$9)r(x{^%4GW*q$GkR~WJi;8RNi7g
zM8RjCg2-M>NE`h#;n~UIJXL(mRc9jnfQD9!_Y80KeO)YD4tu<0gi3An<eQw-xn)a}
z^51Wb<gtk(>+;!;<mec)$YnVN1P+}fwB0>-vdqkF<xcq*Qs(k|?DtY+BUPq5%Og(;
zeE!pXIvzVuAbCD7cnekC_Ci^<XMezLfV%RU^Ou#T-`}*i>^mgioS%6U$K=P8(sokm
z`Id`_fLHF=@t0=3m<9zt%<GJHS58qK^nCEFep@}T{7&OacQjX!PO8H(3x1w9$Zyo9
z=zSE#2)oI38Wz9W)|;FO7=Kq3m+15I!Ru$!a+ltGx#U+XW9wVyQBz-D(E|=+(Z0`b
zQLjbM3QMgE<VId`oS!P7brqbr!ot;xc~}zT=`fvJb?0`b-b2OaU%@$<WAo>@`xJ*B
zeEs>SPryfkG`1!2D7-zB-PKu0r9wGMowhMH%8)57){6%8*Bmkc!Mk|1m{OdYis7n#
zdLzSt9*X?#IG_Kzw|QA0^iU($jod4)a&N@umLENIS8qnk@+ZF*`8XMqywKUL_t*7U
zf&Tt6or=;V9agW|uKLm#4Mbure&wm!F#&g4_E3dLzT-;N^L3xE{<%oZ%?i|=_dHMg
z(U#i!<P?{p^NN8<Jfqcfg|SDpbDwt$9mEwsMIO(N%@s-$;PC@jcjqvg{>rF}uermW
z?+2|Kj0`m`qc!NhpSyO^&`qT_gIB&`;9TZ+ljJkHe*y00L#3uV*z(rUEsr(e9dxL$
z9WZHb*Z~dj7yI+-t4pSwT+7`#O3(jX)6#7^Osia=PeN^QhnouRl0XY(D8?X#&?3Y`
z`)A0n$0LIJl8+%;Y|Xju?v4h(*qTbXplv4qEGYLr^mV9Q=xgT}_~P^4fOYJRa6s9E
z`jpO-rG=0n-v=*})Ph^N$@rm}-@D4aVl;V>KODO7Ql2Mu^N_5gm*(kctj&iED=<3S
zW{to7SjE%YBuo+!{Ac$>*-3>q=A!8bhc_LCXCs)rgH0WVeImloUd8hG4&JAc??ECj
z!3vFj+O(-|c@njzi(c%zaZNGYDzhFvdtY}!lG2W%9FjM>3Vd9jV`=BXr!CwJ72$YX
zEt|wIB_HNOxKlWShuH+=&Sutig_E@n=CHq+i#hEsU#apVtLWBhmEW%vk6wda&{`Hk
zMyZqxxsu-gep$ZA1poIB2#5K?SEhQw!9vT*BPSY{UROrKa40R-{qsa32U@VIJKF3R
z7xS*gWBZ-*pa;vyL2Qmf7NnS}gwHZ4jqLsQ_<(JBVp_lRmClr+=Civd1uaV+1qavB
zN&u0srvXGVqUfw6NAG#aF}qQF#d#AENcTafmj1UOv>xe=w&9&<2an}fg_A3n?qdTE
zuJs1XXD#cV&Q}KoL5J&j%VmWhN8dEc(tN~21)$b%@BQ<Iv%afuh4Y291{oToR=)Bc
z*b~=#u8Opwv{l3+)k3Qw_x(_MQD^DwS6h#B+N{+-h<F*XiCWk`zl>bAR~{vhSTf*7
zPZW4+`09BA9n$A}8dAexl9?#~ia%svJ;3^40W%rHx~Xe!6?6iU)=GcbB~Hxf4xPhZ
zxX=tSF8jYa0+}YaYl87=7cFg^njjDza1~U&X~%Mt&^WCB1WfPvR~1xh-PBqqzuYT=
z6ngLr=)YQp!rmwDH=lAz&M(xEmZ0h2uOhxF^BKXc<7;(<<0en=yfP;)$E#iOeqGTs
z!1Wox&Bw1p<~axb4N7#wVfH%61^VG`u7WoN{w{)(e3tOjO8eg*f0g21U&N?4c0oF%
zrc(H9Kf%U<V@0U>i2V|tu<$rovnV8@4l3OEuY_4}L+<c7<PL495^iDBojD{1&M{fM
z7cjDW7=j|8mnYU-#7n+&vMFtKHJ&fODAS;aBycd<9sf26kd%z`*?U3t{xC9~XkT3f
zD?cqNBrb6wu>SqGLK?C95bc|I2a&IL^u(8Y2flM3zX9dx-_;ME3S!1z`W8!G@p8UR
zwGIdRk(t<CFmxP4&ra8jpW+;wVy(|uvZbgAhv<yiIa@56S3IHUd0@<Sf`Tfd@IA9s
zM?V12+jjRrQ2yZ6A1{Z>&Rjmq74|%D@F5L5()+!4O7sU+JYeK!CDEyVj_1ys+)~!V
zrYprsXqd-bJLGWScl+H(yX%-COSq$)J|2A13g3oe^p~cEw?uv%LUPl_qv-_{g5En~
z3tD(9Ty_Lv9N)SBQm+-t1F+UKOljkYFNiS-whcG#Y3|Vj3wIU~T#v5YZM;>#6e)oK
zCKm;L^oZBuZHv>Q2#&B`N$ACw9}*7J(BeQeD;vL>m%<uhKYyi`6eGG~+7XFFJBQjm
zAho=QrCQ3LjZe5}fE691l#}4aDn0@5r*bnVaU6J_=u4b|P^YUupBz&d*Ih%ysFj9s
z5WyV5qGs*H`<5q}Qji2WA$Mk%QU8Mt{|`YcHzCz`O9TV|9?PThSTURBQ}V<tsLrxd
z9am3TZc&w(L5Y9&vr-sQ$48%8ZAsH7Xwumcx_zb$$PPWch*uHDoZ18TvE>|9f;6_n
z9D7M-u7+HM+b8e91c<CNP<uj;F!Lgh+p!*Wvy{d07J}l*;1M$ZT63Z+hC~G|xps>v
z)Q5@h+3F36lq6Bvi4wH4Tu3P?d<*ZV^Uxw548<fg2H}YDmlkJRMPnL5MHH|V6j*dR
zWGV}Nt`ACh#a2c}`1$%$4{&B?H&(+JW_t6UE!doc(p=XE#C>@-VS&Y3DikIJuMZA(
zflRnO+%WE|ME~i;>$l8sqiBxrbnY<t5~a_-(M&=L(*~IBKl=Q1&6l{sK@o(M-=-33
z0$AX<Ws7;+g5J+%Ffb+DKdJw|P5Otr6JwLZ@(aOFa^v1)9Z<0E*2QNunj8pga6;mJ
znI{efQ<s6a^y&UG&i3^QxOqKvfjt#awR}rP5I9FJH6S&JQ{iq={V7aS&v;w?bc*=6
z4j(q4{2dv=^e>LKF$j_Ti>MC+QSkas>x;`NQy(GOArrzL#s5ok6ye_GH+((07=)Ny
zTf!9bIqfW#<qVis53(cmZ3*5&J-ugo4~aebx_iIwS*xf_Djk-6c;@Dw0SB_Eh(wp2
zLr}j^Kwr1F7yq(*0L!5`<hizciA$S;fiqS(0g`wOI22&L{)2n+<<%~Q=rki75W^5U
zT)JO2-dV1i=RZ!Hmd+;eD_&BQg^yKMwx;4PlUFD`T6L2}0{MRQ@yYqV6s%3xsh={2
zOwtQeQl_^;!)QgJ9-rN7tvOY_x!JYs&+~$(?A{n8A?&Qj_TI;*pVxnULqxiw2S*S(
zr{`3*J_JaJB>&J0_e5OftAM;zKsr6N>ik-DruT6A{kOpHBIZiP&Gl5mAC8KJBO#0g
zr0$MOW1w5Y{5{=FuhpaxM~4Qh!Z(`t<Byd$@~CiCo(J+tA3?dNN0+xe$$oShD5o%F
z{&?Pqm#riSWk+)B&*X*UHEIf~_qUJf?h_9yK~s)n<eYznSVDPJpqL`NTd@S0QL5hN
z1w*o7RU}iaEN?fum5P?=HCN1zxB{DJS!eY|Y(c*6Wu$%V*%NaN6-u9~)RvPYE{;z~
za(7{+Fd<fbvx<<?4IwQhBW$8pAdQ*_N0#$PYl?4S*%@Qf<H02SGdBimB})(>ej|`l
zY2tLZOiF$;Oh6^zyy~0@O^P;S^O}$ob#C?Yj84POnW+6JGQ5!IkCaU>Hb|`Yev!Ob
zfZpu_Yfi@uy_8Cp?5@6#uN!%Vo8{!9&7CG5IS!M~)!oVaP*f=G&~zirDLFf@bis5n
zxK~X7hI=C93QFakK{c+|vDaI&O6{JWsByHu-(NDfM#uiffW@e0>V5EQ!s=*3`XlQ{
zAvScki^$^y-HFsXI>=mA%l{(c1lBnh={33BGjom6HDac@8nP-nY8EnLx8Ih0HzXI&
zx+pGiiA~rnCR)|T+U$k%^Zt?Y;}*?1dts9Dk6Hx>bT~*~xDAwGtj%tQAv7m)@AR+F
zZ$^%(CVwV%$JX<fF__I=X(+tSldotexw(CXZ2tHQUo)mg{9ioD$5^(MaUZ@~=OzZs
z*SLvwrn2mVm{fu|W7uAElH8BAKCZL`{F)T@Iv?U2Q6GMZ^{(Z_%>&h_wCGdk7BbMf
z-KNvJIC;(v=##P{00ycx763il?^=p$DnkG?F)p3B9p}mIaM0{^R>Hhi><R!OhJa?9
zP@*vkgy>?$+o(`gCjN|K(vUA;oO^6tRzhL`r2hJpKF~!!gZfqXqTsjomuel)QUd%*
zKP+#h@)o|OA}^lwof*Yz5q^!=)=r{$?VVn+>K=M&zl9IOc_8Q*UWm`ToW|)2(mgq!
zpZiw>l$=zroS{xQf+DIzZ%w8<&=TP@6+X>O$vDgA^tOk=^Z~$Dr&;8WIr*0=P<sku
z+fPic5j;W^4$Tx1Cogk~o=1bQA#hGtd#%~exGg7kbug{dxI8?=nKC=wxEnJHVlQ9G
zjRW}ag9oqc)nkin@lQUV(g}$d3~Dyi=Cl#G-K)!OqZ2F0^XbVY?bw(sjcY+2f8um?
z<1T6IWbo^i@|(sj?;ng*m|G8R$o-N7?%mIC<JVTQ{qOnIsTU)yzU}KtAMGA<T@u8S
z9mM%9W5~ATmwAL+dG85-8z<$D^yxQ!wm3Jme=m+~u!8dmh3LJ8_S=4ve|Jqj-Om>Z
zrJH_KP&nvF&LT?{QQIzf`2G3>?NK?~EmiVYm&-4_5Fj|o9*eo0dnHIhG8C^OX~RvA
zCF61(tukve{+|{g;BXZ{!vL3zM|X`>IiAkrT@`9BYO&b%R+nPh)_Y_36V=&gafEXl
z19UH5WtW$N77?7{X+lqG`7nJ27HMjRujS~3awz`Je6N*m*Q&AWIk{si*U#4^Rww3K
zlqxsfp*a5j1!(P_m+0YTIfC5!g|24lK9{8;v_uDQ20Tu7eaO%&(a`2<286t0lU&SW
z>k|HVszFDlnxB`r$vK2?o<B^FCdgh$JIy)EQAJp@yvfsZh<bbJjp5r%0`zUzg*vwV
zo?m8%+DBH}yz!wueS8;R59XOjOvWC{_;dRFb=h>jJfR;C`tnWbJA9;Gzljoxl9iNn
zy+LR(!x7JB5U8{{v12Y7+;;Es9;qDTAR0*Ujif=fA5KKB`<9`U9<{bGhFCr+`}TCf
z=gwO#8CMgc7(R*Nk%kSoQ%4$l-RAPM9wM%<Got9}6yo^1@Nh7tommgWAHS5X&)8~q
zP<W5R<n(bl%sU6tTnlyf1zKb+n52Bg9gpxC(fE%N1M*GFN*|qkThmk*pwCd#V3sO%
zJMP)tHM@ag+lzVUlBCaT6Rg}l!$dfIpo+%%R0TQqM~LO8G%(7y3&~1j(q%oiDNMw!
z6V|_tHJ{`=+4#|}?FB!n^~zLt_lNAJctI1IMT+y(2%CIRkV-LCKUAyOWSyArhVEad
z?WeeKZig^=<bLst<_hcGMk(tBj0CfrO0$U(c<y-Q-s0do>J{bsojlqiLU(wEHwXb6
z)wGR9>M^Y&<LuiArcia|;7exqJz?cgJ?1l`v;>VXI;)1eM+$gC(-2F;)%D5v$eQGj
z#;Vwkml|QAw0z>UH@53|5ws#wUZByGkoaL0z!gOfJXlM@j1k^O8T(hUH~lP0l2n^t
z5b&wm^4Q&{RwT*py(Zx+E40(XGQ6*!5uQbU6mPwYi_t?+=_Rz07eDsCruxtb&A|<Z
zBsK}n4!H-(UmQtW9{gRnc{34XX*LoSE)d11xX(9MQdHQTsA#GEBg()NwiDZWOL%1-
zTvM3*8zb8|f|yIBX2Uc4nnz@rPc)HD=OZ(Oy2#><mY3O;-s?3DO;Kh=H@=FhQ}np>
z7k)9&OJF3#37K;Kngv7?z%7lL=__CxN%GV&QKBM1aRIw84-Zj)2uh3<u^7G@J`jbJ
z2A_1p-&Vk08_2gqIBPiJ0gqsP$XA|h739>Yrn^#=@BV2iVoZqe$gV!5j>P;~f2n_j
zI$(_o@fk9)oU?GB>mIXJT5XjGret$2x2E%$=?D<TrCZfLrc0DL`7Bn{`WLKtcibpI
z<r?a*!uOj-d%q=%Hq47VY7*H9QPlw?IKrcIFC@J{j6|l+g@7>4UL{!ZZ+|T{(kr){
zwe-%%R>oy`D5_PQ?8kiVqn@{ytuZR<b2o5^)be3O4ZA{1Sea-@gYOAGAt32V1<2T3
zPp%rG8O6HTl3_z{?wO&Z8F{jaGk{2AbKEr^PY6`Sa6CPN^BlM%@Th*C1{?Gk`TYjd
zmG&cuoWA0O_X~{nSC7a)t@gN1HH5PQ0UN$^-m9M={=Dr{!7yr{nKtI*e-u&s+229&
z%Q|`ohdhf7@DkQPAdp`$ymne2x$@3T$HY+?O8Y(PLq_c;@Q4IMwy5yBMg{WauJPof
zMAmm<T!>()T@aCsFZlvDhB)5voUM;b(36hxDW4qQD7Nm#jTfW`Ern1M2ov%+d{UL&
z1Yamd1baMv=_77x^p1x=?u#bkRf?-@Vhu9bpPFHpp(N30(_N^h!RXW4HdfYLct;&e
zU}=4=yzldSuKNw`?T5Zt6(vX7M-M1^`Rq>j{wlU@*)5&z%+mA5BSC*Yg{@OkhTf%K
zhTSo!+K(7%Z<@+UhS*}5tats+2`%7}GFOC-<fPB?7n{bZC2ZYW2Wei_5OON9o7B?=
zdfG^%{qLcVPo=uJcLlIi_3AVnPw(MGy&1UpC2t$7pTH_%!{|lqlH2`1sv|y<$LX*d
zTyWPaUg5DN)KteL%+}|6xDGPZf;FLz%YzL&*TJjN{~u}Z9Z&WD{*OP;ad7N&Y$C^|
zY%;PAA+pLYWRD^<MHxqCc99XGh(dKxR>iSrMj}EEnHeEu`##QVy?>v-f47@Ip3Zrm
z=XlKPy6*Sue)%5OhwM*}PXB^CAFU?DR!$xRKclAt);+FPUOYv+)3c-5<P~;O{dlK&
ziUZOo$;jYo+_c~X);t(@O>5)gbiCyDtXL|6)$MyTTg8;IJsU<B%|stONq%#i3QF$x
zAFuKC+=}Q%EqBb4c<tpHKY^^4H`rjzt}&0N5CsbFrAEHvmUX2ag!fZrP{AJeO_C#j
zg#|}md3T+qzspPepE+|DE+#nbGBdqDTpb5qZ8s6(#|{4`8?*i$cOMcsysN`8rv%p%
zhKQ{{t;c6qn!J<gj)V;#GZTF0da__klYDqyA*%VFtRL;|$vl%MLVu$kPT2){AN0LY
zu_oJPq%qEtY3+Mj<51Pz;&gIelh$MS`);T2*|(RG@|=Dr)e`Ds0<iaT!h?^|N!acT
z$v=XuRV;0x8fCYrmB*dBejl!$cT!AIVj9*>iO3T-I?ukB=JH@5{o@7k9%*=}0gb64
zr=VDIeW<S%8I#>~6CXrRO&*E8gCcIt>+58oL{Ny#KS|rJ_aUuwI)1z;j&L&+u0v4o
ziUGo>$Pwm6<dpZclCIRVyNSkaI=p%qi9?~_nuK#$1cB_F1}};d&IkG8(y~O1RkzHJ
z`&$vZu5a%bn4xisSQBPm3<8|5s|L>LY&TPyQve6M6ZMN_PmtKN0~VJxu}CD0mxw~a
zd@hP$5Yw7i1V$p0`K1U#Cy_ItmBliFUAiefza0Mb1@j#V(zU?7F-pi-NPzPEtcfBx
zU^cQYep^J65&)7xOY-?Bn6BuzE*sKyF^FKqf8(*g)_*>nj8bPjrFfwwju&wR?nRUo
z*tGlm%+HB9B(@H185D#gsRnc;r3PI@oAa6?KLDvEz=4-gX1+#&F*VHhiy}QlR024i
zx4QmkE`}s4#8EW%_>2dm!5inOM93}Omm=%;(N|7f(<*(*$G;w#3_Phbbdx2E68ZMV
z*sYEfUM>$1FteN02r!F!%S#w&O5{9qXZpVI_(%g1`;B0!@pseMgWtUnMusEM?q6S%
zlynB)*r_Mg4hbTrwepRgoaOq=g+H1Ec`BerCSPOH3+KOohC#&L2M;I>Grh^XW{h|Z
zTrN^t$6Z@Zj2fcI=m{tOsP+&j86J<mx+(l`vqph?6{2ihY%$2PEALKuerBnO)c*XY
ze(!pC1j=n|{!@1G)G>Vb^~E!PHNoY3;120>kzYC-Kr1(;uLADM*M_iTyv;)?_%{>z
z7`xDye|1@hA^6^}a-uLmo_7r-QyhV5m>05rd8F#J6|fa^4Ey-}_Kf8N+!p!%ew5v0
zaOI=w^6Qx=5kv@ZfKC+D`d$g$<u*iMZtcIeu1@;iq+P9Nd~7EA@9T1bf%Vt8W<(Kk
z_b-3#QwJ7f*mTQ%O+HRI=az9(cahjXqvsNM8b)oSMeuKI5;lT@uE;Q(^{_VguL1Md
zIUHbcW1RX+?Rit$L7U9@{wTTr_l<zj3jV)Cb0Lg3B@rAtJC*7RgK_rP&$7WVzIdKA
zKzG4c0z9U(BL6n69_a%rT^D}vK@1Lwql~`y?~_;1z|gqm>kQZU5gTOS@WB22kmlcG
za)S~4|H0G3`~uRM9URgs;NsZefBz804L(>HS-1~|*L^+=JVnIs!hbzE3vO4)<;a3T
zP@}+UaL=3Om;b&bu)xs3=n`EN1=(Mu!|URUr~ZCQ@@UZN;b&?}fR0cc;m>4P-~EQE
zQefZ#TZFnJL&Em)m!?Nqq|yA>q)kDBCcmFwBnSRwhXcK?lM#ngrNO%!@2(F~ckFL2
z@{j-B;Na}=1b*;@>q04@Z5YsmO}8C&hSNo-s9=9LT}KFMfHcsVlkuj6kXqF)TbKXe
zRy_utfwk2D7n$MjFVsuTl64bOxBIVYu}HuHMB^CGy`cT?c7I(KyNUt#RK6i-_}6It
zx49#+_t7Yrh;(GvUvKeG*MV<m=)wEc4qALR`@5z7z1she%ZH=jPn2(yG||sFQvG{9
zWOxs$F?QusC^Rw0sD2Im-LFL@5B_e~89ML~L4#=}v8WDKL|wpA6-Z_>$d(tkW`20`
zzgPJG452jIaImGb%;#PGcn8>GuP#@*M$Y%;*;R-=y7J$9=*obr>QR`DQiV5Z**8bi
zfu*4RM)qqkwW-<iffUah(96jnJI(?A><Z1lopJ?qN=4PR!c0_$AY%B9on76{#djWG
zAAhc*uphxY;O~L7qSG1I`E37f-x+0ao89kCC3z@a8aSGYkia49^<iB{ZSdJWYV<$D
z=6{R49_Z2$Bs<K$;~0pU@fCf7NOrd$EG{uSm-?TF&{YSQTx_=yqz+fnB7$T|rCq><
zRatNG{n2KaB}4w}m?Z6YE(R!-8}|Vf@eBX9ksk+XaC@mPN+2p2!e#qZDuLC?a>{H3
z2m`r&di*Ga`oe!BEGh{M{HK4QAv>f1ceqP;`bxv`(OF8&BH`4ze@CI723QhArA{${
z4~}&5Z>@X-+AUc~!ep$70OIei#gOJdD9e!|p^5o}-T{eaB#OR_OP30GX0QNztXk@x
z`ET}kgK<7%9bclRiK#>`1II@{UCe<EBLvG0-COKARq*-WRz-$Ofi`e30G6R9#+S5q
zwHt~4`(+_%I=>~9X+~llFr*AVi7Rgxz|?i4fY|a$BEvnI(ovT{v88{;0=AblDP#==
zwWF}x{1;!EJWp0XVpk17S#2w%%Q64eN8$Ihu|WMY`zi|?yi<z^7HpET4T)L~l(iFs
z6QMGj+KQ0<?Sk{kMy`5Y`u`0x5f1R6g3ZP+!PAXI685&1^fM$r-defR+>C^#NCMAc
z$479`?f-Oc$4Sx%D;6)jkLoZ-;P<oTZ=4O<n4vo%Z^g|8v)3a4fi$UG%Of_gvNu`(
zdNg3#-zK%2ZEA_8CT0a0ygQp=ed8UAN0@DA5`<YCDgOZ?sf#B?|2M6jSwRc+OuzXY
zg;m3#Kp0wz2u%LLENHj?b4kQMvyL1*c+fyXNhGR+3l6x-0mVj7NXerhp>OcoR3C)-
z09drX2tQ+%fBO%EkckDOhN97OKoi4*vZ@c>1v#py7oGi2&smmPO-0JO^)3&;8UqVf
zj@Cc#3x10+B`t5%L61%&Hej%vuseTN6MgNRU1HnP^R;zM5&sT1P0SEDv5?bYRuZwn
z5e}&Hm3Ov&u7B|Xw!R`<ngwO--1@&6WdgPo>`%OTZ&VZk*!_y@CH)dre;SX4d$0Hl
zVZnU=k&t6NkPD<>n(lCX_-2%+rkeNIBtVZg9HamaFELYt>6Q`%IzwiX;xpzeIuJO_
z>t4S`E9XUlD3<`@N|mP`!_?l7WOcuf)$K2j-(DLm>jF83dIGuvr^OJ_bSHGe2u@PH
zM+NR+{uOe97B}NBJNV5J{#-w!H&=BZ2vMp0d{IC_%bwC_Za#4V2i;;&Exc5qLmP7p
z=80g3DCNTnjxQvt7BGQKTqKO{b;F)NcZ@^VfQ-^bTEHQfvdb*Bd}HK$t?MdSH=dE!
za8CYK6daAV&&USTksEXu7|VezNJeTH4=nnaL3tSuM6lPvqOm@^%RDDl6ZCtI8%UgS
z(LXWXGO>Mlk6><T+sfuTSs!wSC52h#(S4K%6=?)(7+<5|3<p-hG`)2{>cvLuc_L7j
zdveCZqTUbZUB6r8Ia)!Q&+Flr;xsjIzNw^qtBco5?@)((f~kYCw${1hq5v<u<}vWB
zb!YuYrM2O;j6~#@7ndR?QY$W1K3r^JZU^q(ACOgSjmUS#&ISDh0P`yN+XJT2?+>{p
zxu^~=(&Ts_QfOPnhf`l_xzAK-uDtkY2!tP4#jMsq>V`t;JF$8{o{-H;Abu5}XCz8Z
z4^t!nY1ipI?yEki7fqU&LDFceBR326B3TI8E9op(&Oy-(JVzj|<`yO2X{w391X;}m
z8KFqo4}rk_4!UY=Zj5x62JLWpT+u{49<3`31B)i*Y4f`H1~$8cj+mMH{j0LOLGy`u
zXFQ%qt@w}K$a0vh8S81JRG;pq`m?0Kwwtf<o60V5s#4Z9m_3&01#&C9nT)w+y_^u+
z-<Du@<=CCQrDDp@xwpPqO@9Dy0t<ROcET%D`udk=?#71o?gMPXPnf@Kr(4VCDsOKN
z{?ajce`}?0e?_4qOwP~wY*m>wTq^A7AYf^j9N)D#w#*9^=bmkQ9MF*xR&xbtWyz!h
z=6edzV(j(4(-hC<Jzlu6T$xAP@uvRHsg3zOyQG5-{+N)>fp1vEZT+L+d#ZOn%tRvk
z+h>4r8j<?u>c<B#5GV2xrlRas`AwzIKD@nB-9UVBP1$qAnl-TxAWzxBSKbD007*Y8
z=be@6CEK?>Kp6^uH5hb7){xe7n*S}Ll4$s%0Q7#@Z_+h8VBULw<yV%>EZN}x>-Sf`
zyJmkE0%g{egUpJ1&jA`fcNoZmV(~Kx*_}<!oQrHvvh_^9@{ZH)rO7X~kgFe$k7_%z
z6~g>}ewjspd~%#N-gt*hQ!If$iCxE@NC-L_y!vqt)8ZpNr7!vFTk!8OQLq;rC&XTB
zPcn@SYh_6lKLT1V<+JIkRvI5YM>%J#y(b3ya@HJT=rod|g?^0(UD@6E`0ZV`bM=pQ
z$=StT<v#&0Pg#C{v108VlH{vnPrw~tyZh;k>1nftfWs}>wxkfsUEUa#pP=r=tralY
zC)I9z^LrnqZuUC(Pyf?nDGvVO7m=D(8imKSCslTU;BQAZ*~1aW>d?bIAYXcos!{L4
zhEo!UQT*@o#-VGCyXo^x#ve?dcTEUMT5r?Wp}bR;7>7zG?B4zS2vDQNPT^!BqhH@8
z#|o^yg2E-f)gR7urcR!}TD{tQ+9FsVr)EG9RA0!CL91<jd7n1)ZmBGe<*r@m?(tcb
z6@wX5qtO}%!p|Xf)Tbl0eNP~w0u-afnLI;gd~DwX-_f%6#%E`Q@At4Ux^EAQPkW_S
zh0OIHMta`YIl~hg2$Qa*U<hT>tM$w2|61(&DLj29f}vj2bZ$HB_`Rf7(=(UtK_me%
z`|0VT6<jSi9!VgmnZQEW<av9jt`O-Q39Y?P+Vv=zyg5iSUe|Drf%{-8=6Eb{9V}YT
zVoVnJKi|o!MxIgnj(>q|w`;ShT0ZYmH80)PSVa<!_8B(Nyl`V~7{PBN&++=&7h294
zumbIaZWc2y0aN7mr1l8$GZIQqbO9s1TQ^C`3jv*&=*z)h_V$v>Z8V#%zV<su`|j3|
zaZM}a_Y$M7%LOBhSDy#l`e49ULnqYD4BI_M*d5|SD?(sW;yz!a{FRECQtx`bb`jBR
zUV2VBBw6eb!DG0LN+dnLdihVo{_1<T`*TT9|LR4T!RrhC)inWOnfsgAVyWMk`iT>_
ze^HJJ(8~>-1SV;{b#)>|$h+$&f@=67tC17(2O(wI<rYZ7CxyO99gvQ~EOxhhYX4W*
zbGuho<>@cUuIgPi0CIv`l2`jE$CdSahF|6JhQ-D_zq4E(HLeM<N*sK+vvu?Vub*-B
zN}M9((_{C$4cGL0xNk3$Z3(_Y0|1xXhj1=^3`}RRl{M%j0?WnP?QYrw<MU7;InYoD
zi{RuK(2An|ztdD0O5h(Z{Ubur0`kn%&g~>1bHk2gpPW_oZrE(+{*zpZ-1+D>^7-WY
zA`%K%{p?bgDjWr+2%FNS3mctru#(k=`dgwe8CJU^ApVyc5xoBMMF9)n&=76@!3dKo
z4Hfq5Ysp;SHYWDfix#@exp%kK_ZHe$8;;K`F{s77HR|SieD@3&j5xrb{9$TFn-R)9
z^}ylP6x-CtKk`OF4i%M0C%)^CxM2p6P_9Y~0F(CN9KcFxQ=&Xh&Z3;&K@dR&2))U+
z2a+lBKdRMW_9qRJupHiK(Tg~+4=~#oly>Q1F^33fKC&(G{Mudh;GHIV?xS-+C(_Qo
zr%w#W$Ot7cwsB7I&@(zOxk8ydKFP>0C1+BKy(l0#eND)xX<b&>lkB%(9t<m;2T8G@
zM3BihvQ_iX*7&S3$Gi}@nWR{Og2j>*wiMLp2^{#i+oa#aZ$@D&U4Qt@3KQ(8s30%z
z#1rbPchYu$NRy?Y;XXs=rY|^Y=by%~0#6|NQ$Xldx53~0zxWOM1(W=!O!g2E{Rhv{
z<6)yTjJ_ZXTr)qA^ezmNt*r29Y%Uto(Yq|VbmSTM8IALJ6Y^b^&u7$ysXQ+ZFlOEZ
zMQ+~%X@SnqV_CB5GHe(d(SshU%7v_htX2HZI}i0(>+O5wrF6SHwz$||o*0?PY6Nu?
z_q{VLNZ&RLJdBciv!hV&SMk%-c&LzhMh*p)U3X=%Nv@D!j)27Mjy|ooC*z_tm9t<(
zrf2cCNwUcrmmYFJMT)HAdk@JQ&s<lrFGXARSGayMe$mc|TpA0mSfgmDN#o;jn*%X3
z_;YtnOaRHuqqm;T=_4%>D#r)ZVqd^=9=9(^777x~&t8^=1TT|eW!q)Rd^S1@d_1bu
zbsY3q?$Tk$s+epKzS<r41QbP5VMoY2W;^$cx*XdD5(LHsJ5?`S0+xt2;Yw8!L{yIu
z4JN=Metr#0V_Dg067-<JeB;Eq%R;~B!*qT*!XRt!Q62|@-*bm=yfadui|eZsZV#Rw
zUh;^T2C{L_y?+d}n4L(rc-<41SgZw^d^>(ri;ATLi(BAD6E0qq7KR@I33`^ILObqm
z=QO|Khn9Dn-K($d{_Z<r6=7A>!>!1d9UpH^M#vN-i)`mn|Gc5s#fc-W=nwUUq%d9e
zszC4NF6t#n`y_BeY`pR?9|^2PJ^3`4kgMm?t)ATfNbcwWC)7FLtejx)<TBEhL*pQ#
z?|0WJPH0KflT5pEqkZG{&uJtWUS1AoH^B2(o=4To^(dl8U%@h!exF-F(EpKNH=p6e
zEe@&!TeO{1j{RWV{};#2ginK?*mH%)z*e#K>$vW)9M7)z0D*gQ&ijKe#Wxf5SJvuD
zwQS35Pebc5I8w4vwwGN$_W<AqhbjU3aY53b-WVeY4li&h5g%Z&QGXzNu}8(1A_~VP
z!-SBgyKg>hNSB;|5o*bQxE4QIb)jTD8c|@P!Lg*!9*xT9b1~Z|<DHBY9cGqCPm_(|
z+Hzrp68y||Cy{UW>x+R&uhGd=^7iF-O<g}?-5q05lL}R0kI^{ss+wkiv{cco17!sx
zYq6tfx)`I}gYX+<T{2x*4U~XQHL#`cb&et^uFlX_#0Kc4UzCM9HDw&tyeM$RirG_T
z3=DGf68w<ogHC#2KyLZi!softhw;~nZjfCNu0CJ(`laQs2X48SIY%huzR^O0M%h)*
zF7Yc8P~A_1ekZm(Y*?v!KUSP^xc8BM*1iq5qNT@jg93NnXL;#$cJI|^^;OFTb=QZ^
zj!}F;LedJpxWuvh8`Fd3FN*}jRXpp1{$zWHI!x4+SyAM30KQTNszVIeoLQ}Q&*x8(
z45sDx$y*869PJZNR7YO&p<yBp#G<`_=ot_WrJXxgb6Ol4Fv4%4Vf76_5Y4nU`s(P$
z2w#JB_pAM?agx`JK6%;H{iS1=&iL;Z7e$Ary8^d`*%g&mJESXItc}?Q8SFPxy6A3f
zbi8%3+`?C}-_Wv`KG$+@_{}6%?TG(C?x4bijTNTLT{Y9Qqx$J*9f}KQ<StlItd_j`
z-djT1V%N|()6nm}tmjA*ZhZT@ZPl{J4DI*IOJXoq*2>A(rR1--krU|^{Rvp1@eP@}
z9aj5cdZli%8kbv1Qo?(q{9Fe$0hCz|HU3M-qtfu2KbV%)YO~-b`v*R9?C+EI)~Sv+
z2iuxql~atcj%bS%dU8^TBK$UFuC9UjtOqfgNq_7dVR|wcB^}WeR)a0H%-|9M!BI+1
zy;DWBU}C0elqN)BKY+!hB|dGM3OGanl%;DjP_*%Bl&z7DJZ7h((;9w-#O+~uK{V=O
z$E!DWZY1aD@@JF@e>*9VQBKh<6QB)MlxY+iT><Wv?&<MU21qSUu&gkidPo)i44foF
z&8wOm1s+Z8=BC&rIH}_gtHq%o1fGD)UEpOVDWdG`P%x8nfrM}qA1k~5%LTA9IkO19
z6yP>-5kbVogG>0LO@n#yXc&@^uMwfxcr^p13xxwDW+3e9<js&>7d5emRsImrt4~Js
zUwo)}js!Z^0Tb@k@o&AYt@j{wjD1XcOj+V731buvGJ9<k<Obs1yoj!J@$3wQ{mQp@
zR8vp205ZM1F{=%2%v4_->bMN%tY6h)VW18=h32BpRNrpXEIjSE;S1_C2v!R{f>gk!
z(@6^cC@G%G&;+r_{QfH{wOcGOU5VT-@oG{_z1n_Q6+{ZRUzIOC^~eug(S+XjDjV>)
zzJ4n0VhIP|fTFSGC|y<1z%Sda1ZVic!R|=OVreQ8yN9>X8znjL+wbnnol+#NA+I~l
zrwU1d8fJDHc_uXO-i<rvT;Pi@bdlILQY!~C>4xWMfrk>#7WYVFg>^hGO5x+cf)B{@
zOLa*Re=X?fe#~klHW&$%7=hy++N1tPU!v9-0C62j>PI`IAj@my1N^Um{1hrCAxr}Z
zaIi_(?DTmi?E)WEe1pZ(rrf^q9=1uP=5Vn%4{koU4fJIfM=OQHrJdTWxIu*E=Xqry
z$(};eR}u!?3dua>+p7R&n9}Eq*3<q5q`4A{fgAReW#E;yLcEG&3o_LpPmR0t-Pfxg
z)p`eFD7ZcMckg>s%`xihElj$1HWwTMNn%aoxgZP(3mmKVPCg)2>IJUx0T+mVxJZK-
z^c_IYpfGW1Uctf0f}^Mgqegz_Vt>zldJ-*u<?UJlpfDt!PgdJ|A=z^AYK8NCz+0g(
z$Io8NQwu3W8oA;-KoWHH=`=RVDG)dOA;3We#wX$y%c=hXMeBSh3`D9S2Z-OpHNHRG
z6l_OCSWa7belDbH0_xq<;5+`wsvBc`GnaOV#UweSOmJ5a9bgRyI^6d?+mg8TcR-L*
zEo9If#Mgj`e-5!HOZLZ*4BK?b@!=n{RF8%Jr_tX5T5=l*;;n*$3`pst7cIcUFV6%)
z3#s^i0HVCA`bI5+Cz3Q1mQSYo*I59Zf}}*9iU&6nnyEA`Hqs5e&N!VK_tvv5Ie2}#
zHQKb&^;69(7|b0H_-kA3FPu#w*MxvpAq0H@(hzjJrpBu8K%5uY?UGF(G{|OFt_50Z
zp~Sq@C`(2Vk_o}N8>=76S*V3uyt?v$N^$_iBd&WReqqKsndIf!b#oiXNHRH5K;7A(
zbPMQ-nE`SQfa!Q=hU8oOYi(-%E|SNaHiRBV(4UR11A>uPH_tI$1&RNlxWwUu^C$J1
zz^2(7xlQGW1YWMudzUnrStBcNVRu}ntQ&o`P1<Vz$c^fW6fFLU06$nk5(t2sg9A_y
zE;$;+GOi-{7@<Fd`y1Vo-g~nXI}QjUIGhBsM;t>(ptMqx3jzu0K)&qHTt&csVgN#G
zA3;FW5rw&2?x?L8GyX^sPKdle1dkYdN(l=Dgl)hih~bdCyX_f|_nJ8CL&S*3&tXCU
z8T~=_R3He?oHa<e@E}4j_Sc56J%R|drCwXS;uMb+H!n8geu%mZc6}>nf)SivOBTKc
zl(pJtKmqQ=b0^_zAYnn{p|oDPBN<gK9STaYjU<&b0kwW~gg^k@wT<HLW7g_6>iHDW
z`)KI9g(;4H`Fdg#2sZjJ4ZrG66D3PN1a}jo@5zhf0-^dAXQBQ`5Zl)rdFNpn*?+R(
z>`<xY`GxPu=9UZP-n?^+i=Bnj+9MzZS1Bmt7n2_fw&q}Fg=8j0{iDYBO72c0TZ|!g
zPp_}9xf>b}RGb8~#bo$k_)L-%6BUP~vumD%ELZrN-~CLzBx-IL;2_hy;AV4sc5j3?
zhD)=R7fNVnve#0-*a&>-Spbd_Ql`-_L7@w#`2GqP{b^ZSyl7=2k30)gHe@gUAnr19
z@(vRWX@BxZRShB^jF29$aHUjUbY-G06np<Y_sh(A2ghRX$@;h6r-I+|l`t3g*Ik^b
z3wT9Is&fYdV+z60J6;IrMv%c?_o?lRrSKjZZJHOsb#>3IECNoEj`Q4EF@=3+3A6((
z99raqBWM{E;K9cuDup0C=0EX&-8wWCq+YGySqBINDsv0(Z!R_&zX=mGfTVocF>Zya
zFQNGglV{Y<hK}c<wY2<OHa!7EbT3M>pBxDtO-D=RO}xK-3|3I0w!ll9S{XTrH+NVE
zl9Etxsahx7)3VrMzWgnTTUql2`=zQ;mNmejpadAh?HmL5d=6PxDe~~G-5%LKun|uh
zI-(%1NxC3cKc7_P#lqBs3_fW%0j2ob2DsHvL!QFcm$ITW0S_n+f0C3FAzO=Rcs}d^
z$FZe^Hw#y(nZgR2EUC{c3Y?3k1wX{%W?l1c2Kp7WU%4_@hGp?Y%aE;sXljH~m0D!_
zqKpmxLWabrHQ3S(E$DMU%nSs#sldMA_bjW>d6*aV09upn+5BirYcw`;LKZsE<)0Bg
z03wJt$%aB7#pS?ALEyukUFKT|%ww7qbu#c?JUD?QBKuh&{{N~OrcODdsABI)!b()=
z-b3qYinRF~%zr#ATvN#$Kzb=Tf=GpjOZb0n^Uy~Scx{|96fi{~XQ%O9!U9hi#h$nq
zgK%T_bVOPy9*@XE?I-VgD(a={9_R^}QP)7^uF#q@8Rdr~f-|74Swvadg|P6-vFAFi
zs-kUi*kpH|M;a^_41`b+D}sqITzy3QZZ3TZ6hlPAIvyJFo%uf-C58_s^~>6lhad7n
zOG$K>&Ai|HS!(&(W^o#1I=~2;t@`YyEXNZh2t7r>+bdoG3f%tjvH6tV{Dt1GOJy8w
zzZzpa4)?aADF)<6l}@NPAqX}&cG-Fmo6dsOfCR5`S{xc`yO_mAbj*Lur3J+ewS&I?
z>XZHy4Ot^T1n>F<vXz>R9tvHw(Sl<|4c?HX7in`Sr``H)c*1c@oFNJ13!au+E7g;a
zzlj|`@0Rv74r|*};HAk|xHW5NsRg%}zyg4d{WPw#vB-i8hP!;@XD|2SS~|ebw{J3D
z<3q@hEX1~KEcJ{4oC?%4zZNk#MQ030*aJ0@ne&H0C2P*@g!28om7Eq4wdY`xgPr!}
z8Mf>!srq<+)KIl8ZiKfSU}Tg$!FX+ZBOJ?+Cw+6EdOh8Ufl&M4W0y3=-zli`7^aQ;
zqR9f^I3Yi$9G1zY-QV-sUF=uWqWDt`&*Ud}$0>!A6gAg}#4O70eIpm4fI$Ud4@(^e
zBJbSrKrp46r{2PyzTc$1qJmN?^-6^7ldP+!SYrsFvPaZ)$F%H{GQaS!3gOJwr|O{A
z82aWlm9P=Io=EPqH!=0E(g^eIk=vcC*cnz|I_NOxn#8a!eirwr^)!VS*o^L-k*3hl
zoTIbx;>fc7B7wa;<n-LY0ffFUX0E)xlEEAf!PphNxF{|VQo~o&(9_4nUKrsK4;8C%
zejr8d11CDEDnmkp&lsInZ>4qHufx47f!{v_fsW@-;IAKI`-)cQ3`KX0jzq3I*&P8)
zgNR<$x7kUz_9`zMxzkEzi?cNiwio@Xx<M9b8xQSZYkgWcprtjrxOg2XgB{~S(H3ct
z=G!fo!4o5u<lnK5YtK%?y{{PGJMXXZ>q!->y)e(*S>%3dByG?BK+oeChds@0HrF5g
zcGEFRd<3i$qA`Q1ZMVHWm4y(DCZ8Tz0qD{}<{}jcPf)r&;zKwBn-N9ErOF7ughrxp
zFV;7)z+lhE0`i}^tqkv47$5W#p^5oHvdTYD6=ID@s6gtc^fMRcIbej&NbV)ydf=Ep
z*R>!a)I*>6XQ@eygeG^lA(>H<wSHotsY?<DC(svHJ-Tbb8>P;YBvSU+o;wPOwK!ua
zf0`ej^63@-1T_Nu3VzMqT(*<+D~^76w*>f=Oh2$UMDF@Hej%-=uHvF6zL2VsqQ64U
z$yJ{PN=deK$y|y|6v>u$sCs|h)&#6q7vk(4iu*L-1d}bWdCEMqbMD4_WoLT6z4FpT
z@U~_p68oS=^d5<hL?YOBFoR7mOY`dNoIE(Foe0euRvSY?)+frpo{AYRFHo63eLj-1
z*4E0qg;bH_z?~0L<D_oa0j9IO+MQE~&p2>zPOJqwhy?GQl)uhdnsx($d!+>QKM~Q}
zBy)rF%yliTX8>sTwCxK3izJgQ9;1Q4@VPVUkW6wuF-Gd}o1~UCdTVZRgaHdJK1N}l
zW0%cM_i%6N4OiC>p1IcHtr2SnF-1CpareV6u=A(712AK27TwJ5wp?{`eE`@@+!9N`
zYAQ$DY=8Y@`t+3Wqbmmm$!d214{z$NUWU{`&*<xVPS%t1p6tcXqh}rNE8Ap+>`e^7
z7L?rkF;&l!i=-%HLN+>uRc6Zs)s3sQL*7OTX1KAyz#c2C=uQ9T<j>Xt>YMBqn|lGC
z<2BMdsKf&C8opdZbOe-A%OE+``$RdJM?F_I#8#9f-vqd?ZL|@oR=D3VVB#*(DEUWl
zjWnMGVcUjZ^UFM$pLl(b_?5{W0q3T^KT32$@}AU0bniKwF<T;Z{>$Ya5Q_yY%iHq(
z@N2cR1`O(tqLh3%>6$n2kr8!beV{pg^E12ihGEa~RjlFs>E3{9+XOcMvOKp}SKiss
zUuFcO<6(3P=l_^jiX@H!u`y!z-4WrvMVS>0CSqN+40u>&Qb|9+-rECULzKjcr5TVu
z>-&;T^6CdrOS1e6Njzw3&0e?~629-pp3daR;``;r#J7Qx98Z_(-uyrMGb0lK4P)>8
z^3qgV$5xGtCa#viF7*`@+0Yn32pQ)t7aQJThZCgripYeYssWFb^=h@(1gJmVS6*bK
z3eS9c>sg89470g%KeOrgYPNOL`I_hM)Zm4xfDtz>n$8iUP)iFcu2@ji7CgTYr&5X}
ztW7mvZe99GE?Qz${%qnNEjO+p7&Z@ZrklP^;p_-p#=WCCq97E{u6jpKb$BDZ0a$>^
zYA8kL#8hA2aIP7H41A`KXK&}+hk2k3%Gj#-YP7Ekpe$UcU8RkcSLA3N|D;I?$EyO`
zHJ9j0qy)}^`vn?wPeh9G_seXlf1><qiMpHTk_3fl8K?y2L#hSRXx#8pLpFf>19aCU
zr{B|3$+`FA%7EE?QdodRHBV)|d-`QJmuglxOjUTD3>ZlYb=}HMY-!y$01X+;RQjHg
z9jZYd5Jgd+J9P<(0J9qjJ+tOTvB4eSQrEw{07lc<{boN094b54|HkfY+j!%0vq^GI
zFXIUs|MqGDb~kbJk}ohyE-9xr+UOG@?|?=BsecC~(9A`)H13sKZwNck`mX@Zxs}h)
zX{vs0E)H5(dwsf8Ai+}>31H9-pmc@P#;Qlta%f_{Nr42|7AP8%%9zgE{DR9p?$gXh
z7+~OWRJH${?r;_sAcz}@UgVU2z6(sKl>y+kC46!ds^`g)DvZ4aI7jrGWq@riN3GS}
z>hN}?M^aet4lb84r?l@`2P$}mdBuMK)>dMK+5kL;wcrG6@Pke#E&Gc>fF<IKCfe8R
zjEUdSpoFZ?;T~LL6Gz!soSv4?r=1!U372T8dMafl7FzVGgYp;u&N=oOA;ZV0)Iax{
zaY57^3xL}j^Mk|*xp^t!ic^RLZ_X|#GOC4CC|at^#Ukj_T~7%1-05*-Q@?`qB6Di&
zrN7N<QwRdBOm%$X8-OFrNdF->v`UKgMXVmk-YppjR_mK07qhEZk!#KqH~@}QtO0kH
zfbSb&+f5*sHs|hqyQ0PpHE5BeZ~**%88V%%#$i>LHeALP1OfJp#C-(2OuiQe!Ki^T
zfOcT70aeiN_B+qfhvC?^f!#&Y7|Y7YQ@wjjYl(-B$N>D+fD(H;sgh4Mn6Dtm_UDEG
zf!#TVp8L-B@*-aYu%Xrv{7@!+rXe%)c9G9IF9Wdk&Q#MDINnuKf&sjUR-{jnZ&>fn
z2b=+A4>v{hlk$!c_17Aq6XlPj_viZZet|UJ^CyD@+DhY-ZR0;K<nF=5ssQaKGhCN3
zLFxF~9VAXEi|BB#Rp%~Ckok*?;hl8PqTZvNwzY+l(Nka>N1SB~zuGABZbGI2p4&@d
zTX*wiJS$Qvitzy?HNC1pT}x8xW*^=mhbbqWogq87y?%QNg5myDc~9n!;($||G!cXU
zU~9mJ<B=hL>cRbTInQ_k|HkBb+|o(JICG@F7woLMK$Z_!B;dA4ICNYXFY}r~d3tO8
zFbTf9)@29u*pkZN{F4;*@W^Y!fEHcHp{Y*U!LTn@y8{C7ifPRcq}7ESK9pb}L}rY0
zS5w$2II-X<9`ps^?BVX*L+K)5p^w%_)=f1byrobO+cvCWiMH(rJp5ABQdmOBI4@MQ
z;`m@B>g$<^TTDU*1ZF4VV0QrH@JR%&{71udZc~l@ld}O=Lw8*^9gzLI-a9{crvi~s
zm+W-xeTss$!6LbYt+^9_P>@d8VV&$=yy*owZoFf8xJ|G@4{mFY(UlBF*bEC9WcgIk
ze9a^L%M&sJ0zN);&^!8#hw{YNs7!vi@s;r2=nB}QgE4mrAc5TD{#69Q{xk+6VvYAJ
zSZ9HN_r~w_W;GZgHYQWL%^0#+4qiXpiR6aapX&UGK{^nbBk5K=no6><e(%K}0`ILQ
zja&a_2k&ETBa4gNVNb{q&>LAhSW{1>^k<$+bVz6^%qDmt4~f;v7XZX23=G&3jF6#T
zB;i<FfTWNO^5c<E!)T`1PL7m7=a&yB4Cq=SAtFuVPW5|sT)R0mNo)P$XL}4J)iLkL
z=p(PChlEZuS!pRdw#3GEQv{QnFw-;PfP7rHB+cE^d@y@WvJ5IDuEB;^C3vYKP6NV6
zuRnLq|Eg`IjjQTC3CB%x+9HKHL`=u3ZcsH_9$u+Lkn@(d-N#jC9d|@Ip&(BekYa>_
zzCB=hox<aTTo(Ds2l5X>@43+@18>5KxhGee4El4<?e>&M3m3V^tnHjM9AJS=m_P}Q
zZl}U6o+v5;D9$)@9+PnT@!g;ae%IZTcNTb&5J-j^qz6s`D!M`Aq@w{<9p7ixeoow5
zjaT;~v2vhYp7HVnL?;T1gQPCBcU{WiIFRf4;Pil~PYk`YZV!g1<$)rr5N{iuYx;5Q
zC7rTFK%}PluzSNhC-#V;rn{LgmN?IZbTXGR=<QdNr3kFsXO&H7T6!ewa#$$_JMqO(
zk=Q%|_+q#QP&O_yeASYAKIZ6fzZqtAc2VU>+JP5RG}xCG@9Ci+INDz_{b0AYz5P*<
zUASo6r)1_rMI2-`l%F&*+u!ScruCE{JX%pD{WMAzH2G_)U$<OY4pc6WToCI0`CPa%
zX*k*5fh*LCjYg?4)MX}j*qIvMi%oq>k!-~`ZKCn$a(MGi4#bIHig)0V{i=dkUxkUA
zOxpWRu@1v0Qe>+_YiOoC+EapC%p7=qE*ZLhUPkZb^Ddu7F~JE2QImaB`aJ;`X^yvA
zY(Fg+wva<*a`t|-lftf^FN%ymL#Xy*>{E^gmcIhDfb<2j-~U=BvCz&IU9#iGV0>jo
zo^mO#v>iy}nWLd{N|4z+iTcK89~>*~b4Vk+10$nA@QsQ0vXos+*y*4uubetH?&u&p
zy*l6XMrO5Riu;nyw=@cNuC3zpYflJlt(M7BZFE)K+gXxs>A1st_#S*;PBbm#1mug=
zp>`3=*Et*}fYj4mzv&-gt5rxBN-xOZ#tVzBG|9}AgRx=5vn$>C8KLx|Ot;5*O4p_s
zjG9nqKqHh}?Ky6rZDCjEOOHrJsDZ2uxRk1abHmg~&HWtdwDnkj*Xq;cUY(5B)zuvC
zqHVZnY7z?<G!0C5^a6vj!jLV=xAd!9oNpVi-)KH=@B7rGW0_CAiay|~Yq}kEBjCCc
z_L&s}(T@f}NUh_aIdo}_>W+iN;QjD*+0fJf5QPEjHw23mxJMe4QXK3J!ls^Rv25(B
z0dmLsaKto$OkRYx#aUIN2s&{$=8gOJk<2PrN<_tmH-}brqh$^sTxtJYN$A7PNRGj+
z3{AK$R@Lj%L6h?)&nPX`D(g|c<c~MY{fw9Vr_YUeUWs16rhdBV8vbbD6i5n=V9v+I
zOHgMToCPaIX0De}o1inJ7*V_Viz(r2e1{l=kM*dOvCE*xW^fT+>~xXXL6uWm&rJWd
zn(EWN@S;~dc|I-leeP#Z)9GrnQMbg%QdT7TcAqpolHuK6rk-)F{&LU2$K22O#=%Kp
zxv+EAA`)i2SA2=rOyhf&YlFp7qR)vxyT)=(;vZ*jkpw@eDwd`NpTl6GidT06wWRb3
z-eJV13*GYOro{~McKLhb)5zR9#vgr33`m?gtMa2-$>=QUMZQ%yv%1h?0@V=hA36co
zq+-+5o$e+l@n^kL9IZRQd&~^bI0N1{AgAG92TFtje%S~b$%~|8x}3&Ullf9aN6=s8
zRP(d&pZ@V|=jF{#15a)mVe!a0V#9%(y<}dboQn@)-<zrr7f?}Vd+k{yu!GR~qVz4;
zzGyR{*ybOQIECcOnNYux>9a;u<UljxtGg!U2#`NusrroOV)~NUmJA6;DoU}e)g*wK
zL(IR3MKY7TPe<JI7rfxdnkl;ABY^#1bSf<wjRPlFRV8e8{X>(huvJFmJiU1rGcJ&B
zbpQ1RE8G`c2gPO(CxC#1-yxuZ8|A<V6=AiB%W(rA%v_ErIa^C|^CYSs-vqV6It3vv
z!&!PlMO`_^@%j5#m!mr+u)#Xx19_kHluW*yPnpnub|bW@({btR8)2DlP~~h@S)Ikt
zP6O1#_Ox2<R<dOWNvFG=wwYU9p}{nj-_h76KjrdxIukNCeP64JG4ju|T*!-tRgSbs
zL+g{ferC_z!;DS-$UUwiG7Za%@z%Ns!iktf*8E@O&|3+uWIw;J-mjXKm0)!!rNLOw
ze2!PK%$=h{X_~cg+t|=04|ZjP<Y&~OT=HggmV?Q}rf^9nOG7_o4!`T6{8|)2Y1ElT
z4L82A3lcqSHCXc>hZZ1m_o}yDG}ZW^*O!=4@GKIVXWCIZKCXkQ1(<iY(k3M*5!?8A
z0+h*CJfGkJsO$5z7#flS?QC~OH9o{IzCU9b5NNHSoVYsYPR85F^4T8N9WE9w#p77+
z7LTD47WsZ@8pVYB{(375HrtE08z!yBa#DY?b-|n$5=03~TJ<^p45$iIf%g2zPl-R>
zVKT)<k4{@|oBDQn0tBP#`yCHET@qK*O3L$AZ&p|4Wr<Qi=}SEnnYhscwMY6gn}HY`
zLTAx=L3oPGB9aT`y4<P?HwZMcvflRa9(bmW9iwJB<x^JihQuvRzU0CMVgpY(#j%s6
zz`0_;C@T&`Q81ibj^rxPkARCtF9V$8=L}*&Q>zF)N}q=%Dz3Ok32A%9==oP@08a9O
zM2pgG5M7cHr1Fu-j9L`lWVH)w%D8%G@x`TroRp6I#?x&ax56``zN+{Cxl--Loxfxu
z$>_IQp)TPA)PV={l<=c(6e-;?Gfy_`q~oDdrHu}LvTr7K^4#>nG?!Sj6c5D-8PN}J
z0EpHHpp!bJI0$n2l-xX8_biOirM~iZkey%7edl@mJq0IUlJ^>Gms&YG4V=c1of_32
z39`Xd4TlGte(R~Uls*N$nZ1DX8U%9xnh}tHA&9>pVa`qgPzI@lATC$-wf(FEg^QIA
zhNwA#k1Sf8GtEY=Fmk>0m57{_d|zAC3yr5X2&wxAW|4`|&MijGe9Y<IZECGKRwr)d
z+;Rg0zCUtCaBKh|Ao4Uk2Fc0d_jqS@48qY%d8hI-jfeWDHV2K*vnzT(`d#u^?%K4R
z02BuC8A<bt!HN7#(#uBhTgFNj$vU;5Xmd`a_}bI=R>wr11x=~zobfxu>kA(x%uC3U
zAVeJsf&20L)lE-#1)cz)A_j7wD(fvq7Pzb$@6Jbluo(XH;$;Bup9LWM6SOlGGa(M^
z=+hH^GNUh+aLGt02U@6S0#?&iRz(&`nnC*X9B<(y9i1Z(ir>j{IxJwZGpt9IU=6Zk
zd^Z5ox9NHf3(O}Iq@ew`4AmxLKT~15)5WFXoC;o^H3CtPJznN*UuNEHP$M~;y@?Z5
z6cr?NMmgW|)s>-l)X^LF$Z6;SXrTxMp5RqY@?)M%7>K>ULrJ8>f4&!yqq;(UK^SKL
z-5&Iefkn+{Cln6Ah<<BQw+gi>c=%+~6JGJdiO|jPLT@t82hdxOuf4xC*((AwGhMiV
zz|OjR3&1Q>lja%jDnBu0_CXK<a`^lG#RCK+LuJ10(Y4=t8y=EeDu95vF?n8Hrzv1B
zu70c=@N8!#fq<?w$)Hv`8ppiF<#HPFnG|9pCE)Ewklqr+C8SL8RUGt)B6b8OlnwJC
z;LkS?Ns0s7+i`@iF93}npb##!*7msmcm04FyACE64~Whxp0sa~@=a#a{`%V1_XUQ&
z<Sbi0Kx%8vc4!sZFkDmyN%J66R~2}AdIJ(gH0-c^_epC2C!l<H&i=RvLG0OjS{i0a
z%BzaOsqBXHYcBzOj1F_Di1Vi)CASH*P~0QS3}6A3W2|NTW_0KH49qLP<7LVT@NbV{
zoIcGdG$|g_Eg%d8wU3eeIdO5%gs|m<MBgi1BTYbinN-TT{}247$(<!60RY;K@#oxJ
zlVTY`%i~Px&NKyy<_knC+R+H!giW8B-*U(&iDP4qLA>P+eLc3n1+dGQ6mKT5NtKC9
zl6!|AQ~yrFYzjus!kOJo0mwv43i4^Jnct-6PoaiGTsdFjf6#$wO}=rS+ELwEFW)oL
zoq#HjzrUL}uaIr$l?M^yB9zsJZ>fMTV*lCP6$7oEP9k?QB!}5!CY!v_YorWVH2#do
z@LLTFYm0a_#dZF$pD&A_y}JK4H~|v7`eCF5VrkTa`ocld&M(jje>^U*hY9DP#CUrr
zUAodlC14nF8Ug&XIBkgiI|X%#D*|V2C*31@u}Qs)O=eV+F%?3~GdZ~FcanE-O1B9k
zaJ>d>er!f|pb1CzN}Wgy`iB6ee-d4Ed%(EHkvVPiyc!Ji8vv<Em;B*iwyUXx&QEFk
zBXArlF%azFI>`Y)-}WZ@GJWcJ@b6EG^xD>lgiE~{WRImP6#{;mky5xR=s2;9Q?e+i
z4INCru)7&%|0jx;2h&165ZNO=t+2p~?j%R91yF_ekXrQef%%=+d?|czf{1bw78Lot
zP76ml(Lw5c2fDwPR*}$2$pnYKY=vZ%Py6zmFhV1nGRq*(`-TgTP64_B?+qse&cV<1
zxK^ses*}@7MmIQgS@fCLMBRw>Yi*F45zZBVV{>7^h@GAt=5ur+@Eeg%TO0$0pMf%O
z_UPl~n$j8z2~9XD`|qvlWH@-{QRc-=qF8#YDjC6Q5%17UGzvVo0^r=jGjO6MlfwfK
zh`?G*vnE}q$%uxqu^}3el-#1`Y7;(52RbNQ&=hFI<;q=qC~0i1h=mqhN9sXadVx2x
zA_F*o*m(%k98Jhk@?Ti9k+#8QQZ0hK#g>=yCBKja0L2jYTLU#b;e_m_6!qV(H}494
z@)Tr5U|?(*PI6Zn09|{KgZ!T@9Tow^Gm^DK$I%&u6+@V4K_ZOwgkL1kipd($(-y0^
zq6o)Ek8F+%0$!=3j9Fi_03MkK;ddEY2)0)Cf$~oAlnJzL+g3O353u5m@J@JFM=S>h
zYH_Yf(-@S3*~^66+T{o#GNl^VaqGQ~Xef?=juoZXStaRXi=CQh{8RuU!FlFik-o6$
z;b?DC&N!t+<HL&za8RL9sQe9{26b0t;6%t#XP|tkty@p#0N&wT%qtg~U#$_RZ=pr+
zaAKgerZ_7_$lEa|9ybbSQO=zTwmVnXuk%}72!>Hx+BzI+4y6ZqKEWW4yf6jwJIFZp
zQZ}wkwZ@>>FwfQlT5`y^iXsuXG7zGd^PScjJdYsw^cSN#FaQhSK-g)|OTl0AL%60)
zo`N~xIXit9zQb01B!SKRl_0di<<G^2@oWC<LYwUpWyLbClMN%H$%bejSA1kp9<eu?
zYD^d;?`8~~k#MD01)`1yT+#EY;zlhD4jVI_rbPx0#YT3a0O)`GHN2Y_g=B&#xJ5Zl
zUxM6}P>Y28AFf2<n0Y|({OzgUw0gGZ?#_dk_jppJ#&9y}i!{<)S^eyC?kE}w+bg#o
zDS@*_ueTwg;5mQ*I2_7#>UqdQQj~0Y(EEJ6AAi2MP<;apD&i%P>_Vn5U=tA)v|4;J
zAylHvOOTiqK$I<0^Pe*a?pt_%(MDJp8*_VXS*u4qph*grFQy2o1%h`!Y_!akir>0S
zAkt*HPj5x8e;y513fg-QX{2Hp!UNPSF6TiQhk2W;B0DNHcWt8a%=IRi6&;9>p1~=9
z#%o-$1A3VWL%Me}9)p!yT6IB&m!QlDXsF*kzQr48L1o&TqW{a0QcA%3Q9<8jz(%+=
zMX*EwbC>8el7Lpc8+WEp(wC^YP~4hSjqII@<bd30r;KpTA9?bg+>k0TZ0c7eTfrl}
z&<~T#k?LyS>VfUjPi05<_6+51PiDI$N_?I?SDTEGTHX<VH1DB-%}6b3=K)9IZL|$^
zn?{}9;RF9#5E41S+MPiDK!O)$!#!g6Sv)tIOzMXNm7%q|j03*4h6-6r=T4)R?>rI*
zAvpPhX;hoh5@IpNXJ3>Xio?CTKoZZB9Nf~{6qkv3BcA>y?`iaFWrrpNO~I?|3VXip
zuj5TSU!=3=yR+EeO3cuR_ncm|jB7pBW*Nfk5KRH!_nW4P@u#;#hUNy_5-sLs!{U;j
zikC7U=&V;#d)7y?F)`B{YC&+r0&CusP~g9OPOiPsLrGE``5fI5i{{UyLy{u#7qa1t
zqOmvP;Q=%05m}#2@2ETnyn={_(*n`Z4Da~ygAr7yV~~)-BP7;u-OTI%#JpxjVD@HP
z_5HK*yPes$60Hm=ger^g@j;`5th>cjgLY4=g9`|TRIVSoz*O;ugA6*rH=~Ti@*!tL
zV7i4R7gFIQ#|kQ`=-~hdenl?}-H%Aib;FI)$InTL%4W~9kAvc&nXnV3(F1^`7Mqlq
ziwu_o%TkI^zPUjz>A;Qd@!U_qc;@h7$uI{#n6tURZdMb3&GMzjY~M+Uf_W;ajmHnh
zL(I4K+3u`pL)0HBUmRT~p>nKp_slvp5GESXh}T0~QT<TECubkoqDOfLZspMCcaIXn
z#brh}B=HW<^_!?Jb5*vAXUBXSC9Gb;TFcYDy@9=qTe1wd?bK^}{Wxvu^Bzooc=LyK
z<{{6hzO<NIwc+QACwwPv?`7d@YsN%}GWH#klxTh>>Z+x|fr!FeZT1ndAwK*o2dh%|
zZ_!Q_-6gYN+L4`<?y<lxk8_5$%w>9By`RIxGJ=&wg^P=YjI7X7)7NiBRo#%-zfw2h
zO_r6mmM&X$FpaFdA@TkbMdU4ydCiObKWDpKevgy1Nygk^SB<ZpI~J7`9j)W`TtT}9
zSYP%;EuXJidnl+6k8AChNBINh;uP(V2Y>fEGCYmc0VaWug1+;m+=LStl!|v##M$O2
z{1}BP+rNpQKmJl`+1CUrL6VdMoE-LNSf5Hx9f<bi`^|Rk-c7XD$Ik<;s2nCm0pwkG
zz%M{@X<>tt8fJAdVt3`wGys5fMEnc)BKc`zpjgAjB+4f07+s%}sgm>dwvk**-C2f+
zCOHB<{D*+0`Vc6a)1sky=K7bls7OErOnBNCs+KmL7mAwKBLK8YfqH7s1*C@KzNu4X
zo(G!-jV8T1wR=1-`K#$mR@U@p)b8E2_K!}PZ*0vAnDsJA@f#orXEfeIl;K;8gTe&Z
z$iy)yzBR2Ywmb(C2cH0rpjD{^Wm69Iyi;#y<7OQ|OeferpFmganuAuN^3i^qU|ZEn
z=YtvnT&mTKj-Zhb6I_<_G~xz45w`xEY{j>0D`^yC;svzR_31x6(isq!DJ~pPCliK6
z@M=mJ@gixdrC9rcxD$QDZ<Yf0@2mJKE<@dhEhoQ7p9hp7T4ezA*0KVj<wX+e`^3Gp
z>_7u&r*XS1q|>8SQjT)TQNhY0=TS4m3ZOo?I{kdVTtOpLquNx@p%z?Y$5(x%M^I_f
zs+!zC+#X~2J@JItY<%X{0X;|}6@u{Ov|hC64B3KA_EC`DeMZUN7$i_-7U;dd{mTp8
zmcY>*-Y6jhyTu;)+~+_l2DQ8K+V;H(n-SG4AMVDAx*(St6+3U6f;p6mb@q}T1|YQ^
zW;)H0<hbDsBc6i<JH8Al;2)Sgr>10l&kuzA?G<wb6C4+o{V+JyxRe675MH;?U18Yo
z*r_mPJg;>=5#cz3w6sTk?GuP;%8wh$){5eVd`=nlx%_Oaa490cfO|(xG?*ZymgnC7
z9^_^z;x<j;T1_(i+i5n>?kVjI#xJ}^)WA)#63s2}Ta5U;^xSg{qk!xc@|4EELh}60
zcU}|U0-o+rL8^I4Gwvpya34_E#D_I^j5clY9>5Cy*yV41FpY+qDcwDUVfz~-YOrlc
zCrBzo^86O`jn;;y5f=s`u|I+P42auZN_iwTEqlUykQP6%Mva1iXw&mX+i}PD@2%mA
z4E9Q3ti_!R-etLc1Tkx90MrLmOw`%qn0N!yn+L;{V9SO4Ns4fqWxz9b?B}*F0pOzR
zb!=$IC+dJfc%kY-egu1_LanlY8v25m6fJq!i_a|12<VCUqYy`063jFm{4`4G&!56n
zBgeA0!2Z-t;BVD~q$a0?fng{0n&wuQA1&MmWH2XlDKVaMEOET-Xm_;M%rK%;BfJ|Y
zy&sM$`9VWT%TCY=mu##=7Nq)TbfOAO5rnPqSOBFCpK>|?Q#Mn30bsBD+bc@5bOfL!
zrgw56Ny}eg1ze~-@J!FdQ%k@`Q{es{xoYJh<nJTB@&2L~HzSiKWdAL6(7$dQ1V5-X
zHlieY*i}r=^>{hdpI`xETEx_ImwQfTp1$M>haTNiQ-Y6w2>Q)?F52efqF)z^ScBb@
zl?Hp8Q2&cqNm6b!iQkC0$OzMg<OI?1PEr<ZZQ!YDO$|&0BHyt!E@Aq8{20JwKYOi{
zH~Gd+Uh8qB_!R=j(fEM?OQu9@3}pY(>FG2VEsVhIBOK-M!?DQfgj3Gtrz3+24*pqs
zhMKABK!*y+;ni}1fJSD|foj0WKMed3?YS!@0P7<vHOo*O0O?Mln|UgZjx92cW_%TN
zZU9Eo)nCb6w_kxx0k`}C$9|*`2h8W&V@D#x1=tNzHKE{YF?cG~S~;M>){O%H*vA;D
z3r9c^C#f&6-GgxQ1#_%Cr;r;G;uFnMJj%DkCi<XxS}~@kE9lSunP+ijj&ic$M4c8}
zAwgO!6u4iebys!jRN$`cl)dJ0s@gK^TdX%mDebBl92=|>n|Xp4r4Gwq{oq)0$>CV}
zhN1M_FjlcloblvkuJ0K8m_UJOuy;Gwh(01I#R1I*gz06Fa?T+D0pCE%Ln=!84oKT`
zZFQrVXF3SlDKCzChK6#kOGWF(b0;@m*AE4JDnH(NM`oTMLPV)gJEwESdrsPSouI^r
z_P@PmIzub{_$Bu%e|8uFUxiF~Tq&3OuF6UncoUJd$H4EHOmi3zV5N$9%zVWLs7pl@
zFjF}(K`KwyYMXXrW>Iqu4q$vA{$yT+w_I?qJmLmnL^T|`SqHMJaI{5oUPFKkM4D4&
zC#0xwr_~)|Ud^_x$xkp8b2jX2TtIJZ2u&>fDJ8y#Y9$ab<a_8Tg^Dw<oGmgy6r{rD
z|Mhh4@l5Z39RGZ0%ZAwGGEJ_rl3N#-BV~q=lsYL6atXQY*jj$sk=UGN%gXU9;dC>H
zQ&LBBNhz@{ks}=xkxnl2qwp(pDGon=pYP*b_V;(+$M^ew?EBsO{d&LN&o}SOZD<yS
zB!@dEO(Nm^jfF>?Tpw=ux+=9+OYi{NEaV|<74PqA>G2jnlR(oCaU*PdI=~>^+7+}g
zM#c2`0tru|FtAL)a>G-1y;q7hTmZTG#m84wSEi_7xt)oYdJpg{=uCLQJg9v@E&n)#
z-nDDVuA7ZSxer0LV6a7t506`~@iFSXfB-(KzL)lnScW;K2a)fIyg)$VP;}Oq0U^g9
za7h<Qf{SokZg<m+pz_G1>+J?SO-$i4A+lIsUSvfB^53P$ecBR^jx8#*mL9MW_KzXq
zPZv~~9O|A_DHT+x!^Q%qdr`OYi+V=gFg#IYf@VP-Bytr7q%6(u_5mA6J&`lI1h4^<
z3*vU0VK1N~5@=F)CKJu1jar>u?lbzj29E};F~6?lq{sXl+XI>k5tA*7Va~eTj!<r{
zeG^#=F|jQ9Kvp6c?uu6I<45G;rU4M*DtU>&VWUvaKkjWP8j01%g2d6gkMJw-=E*IF
zC-!W^NX>5&kfYX5Er1Ts)Q4Svb#t9Wx)jDG$2LDkOl!?Ick=0IfhQP_ur>oU(pU_Z
z`>fgYG)8JhY^2aq<L&UY_R9{+fG;yQNe0uOI!gq0rFFr^pZqRRAe-x}5dCZ)K>p!a
ze`uraxt6bAq7f)gbO&YD0rQ_M{gOGGNbEj#LM+a2FN_36YUFv=or=jNC+&u-7E#4s
zTXygej*mt{S{bd!L=LI3D|_=cbFAYh4;n$2;R{E-_MLTeDTsVumd*DZete>z(L%Jv
z#QV;YZv&II>6@rUB@;7@@`;kAg0x<H0RcIQO!w=ax<)#kkAu(U>il&IhiE^>>A9ej
zhUCk0C(I2k0Vlrt*oIS@!)1zNILopT_!<w8i+QI8k1D)ljXhw4UK5ERN$mL6vZ|ox
zT=x%M!~5hBR{dAt<5m%+&5h}S00T>#f5~!x@(NAE+|g}r-G1j6SjXj^3oE3x9@?L{
zO3D-pBfX*86+D)GMQtJ|qA{71R<X1`LS0oV8*O(Qh+Zcd*yeoeCDnIAJwECF+TP!&
z!O)8!v2BX=+=DD65O-~1zH@C19T(P4W#H?L4Yn=C>5Ya6y`+0{4pZ8$8F-T&8HIjr
z1%w@Ij(7&|0%ePkEcd)By`&^Slbk8q$Gxjwf59wa0wUnBYj^S(^g$h=8x$7Y4rOn|
z9^k{!XLAE<zsrHDA>c%YR(<TT&2aLNpZk>}4%(XGwXo<$H%^-5oEmja-n^r-+D7x#
z#;C|eWu;2t3421V&Jr?F6v7`_<2bM|)H3<`p2gZ*=PFpQqyv|2g5~dTgdcKdyqW&s
zmL23@HJ4(@R`!Lp*mcTl`*K7cU|CTsI?k@ag_MbkR2*Ge+lQ%^%XHh~Cp|xC)v^fT
zQA6C?L4^eBxc)>NTFHZJX_Dac&YfSRjvYg-2qPGH2wJ-4D4FxF7Qfil%-MAQYE$<%
zexm9pvj$9h?;V!@MH($cw8wi+5mflaWh%9c8LYc{&6H>mryNM^%H;Y9Yty6U(QU(g
zZby>Jn`wXT`7MM^2K&u0M3Nri49x|dKBB&{+LS@`!67~>E*h^L@L|?F_IPxDu*SR|
z39zB`3e#P>h5PgIG!5451}^xV`oPURa{C+F^UyljHNKR8;re$dSj@<&qCB6DW#<8V
z%=s3-K{aR7QsTYjnD)3Ban9S=KnE|-)vZ5WY-mZ8|IgrTJ98vzwHIJlc9)*`tIR4N
zFD38{EkHco`)QLWxBKFJ!igTls5|uRSNof+O;xmxZ<o2RWUAXfqxD&Bd5yLl?&)1@
z_{;TJUY@rKEkgmjK~Hudf)P`_Jd*`Fg64Co=}zGx{&Tzk{&ynqn$Ubp!|7+MWcUqO
zt>uZAVG#%R`OYA)C`^m<>NagbXO@(!^8PTOM>GjZZ~-8tKPI*;P4~(Zv=7Hp_|9pY
zOJ(@U9WKzi=tOAV>1FXE&;W8`0$kxqvjqiF>WF~$@`it3=)mt*5FzBw-Fn>?uFZgq
zPnQX*TMr0G=_zHWW2m3rI94ge#m+b(@IH$gYbsXOz@DEpNo;k@5MIwYC!P+3&5&i|
zaFU7gVk7}qnvzP2usfMUMTeQ*PKQ_Xrn3N`E_T;22hycngt5NpNOIseNhbEE|CmMd
z&_Xeumb9&~=6N{0w(0xd23Ef^pMusYIl@x?<^d~m-0y2bT{bwD+v#hRv805?=Knxh
zdCK2dzTgSsOtV({YvQ*?KO>f3eYALRG~sYt)Z@PUdA71Cx228@oO8Q$-NS;X<9-gN
zx&JVN;&%Z}7G!9qKt^gXoM}^ovgDn$%vWWdP&rI{DVQ35DuU42g3-NKvWDRr`m}c<
z6t>9o9M1F*!~C}%*D%reSl#g5)hx|hW)N3|N1ejJ^FG~#gq2J|!XHOsYf2>Wn$J^I
zC(|E=)x?qd$EaOH?DeZ}uN#M$QG#|W#EWFDJYmY9$$kMk!$y5l@-Nd(?xH`P+oK0#
zwg{!rdRf?}xgz&9gKDG%3SSzZduMgp&3=sQE~uB1Af?U;?c&VNdO))>pN5VJ0+WZj
zn6u_n@ZDxF4jgnFFHd)cT792~W20c@zg}|L_m^K3xw#ny>D*)ybLWcY?am)i<3*#x
zaT+?81jKoDq&ayAJmk|DD5GlSaKT353Y38(8MN7&4q}IVAd@o_*lLX$d_@%R^1qQ|
te{y_y(Wudx;d!a(PY}>QWTGhSvT^;H+^}V8Ng042U$4EM74(SA{{tuZMEU>#

literal 0
HcmV?d00001

diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServerTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServerTest.java
index 678756e6dcb..1a01c15b0d7 100644
--- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServerTest.java
+++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/PhosphoNetXServerTest.java
@@ -25,7 +25,6 @@ import org.jmock.Expectations;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
-import ch.systemsx.cisd.common.exceptions.UserFailureException;
 import ch.systemsx.cisd.openbis.generic.server.plugin.IDataSetTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.server.plugin.ISampleTypeSlaveServerPlugin;
 import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
@@ -39,10 +38,10 @@ import ch.systemsx.cisd.openbis.generic.shared.dto.SampleTypePropertyTypePE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.VocabularyTermPE;
 import ch.systemsx.cisd.openbis.generic.shared.dto.properties.EntityDataType;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.IBusinessObjectFactory;
+import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business.ISampleIDProvider;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.dataaccess.IPhosphoNetXDAOFactory;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.dataaccess.IProteinQueryDAO;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.basic.dto.AbundanceColumnDefinition;
-import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.SimpleSample;
 
 /**
  * 
@@ -53,8 +52,8 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
 {
     private static final TechId EXPERIMENT_ID = new TechId(42L);
     private static final String EXPERIMENT_PERM_ID = "e123-45";
-    private static final long SAMPLE_ID = 4711;
     private static final String SAMPLE_PERM_ID = "s34-56";
+    private static final long SAMPLE_ID = 4711;
     private static final String SAMPLE_CODE = "S42";
     
     private IPhosphoNetXDAOFactory phosphoNetXDAOFactory;
@@ -63,6 +62,7 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
     private IDataSetTypeSlaveServerPlugin dataSetTypeSlaveServerPlugin;
     private IProteinQueryDAO proteinDAO;
     private PhosphoNetXServer server;
+    private ISampleIDProvider sampleIDProvider;
     
     @Override
     @BeforeMethod
@@ -71,6 +71,7 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
         super.setUp();
         phosphoNetXDAOFactory = context.mock(IPhosphoNetXDAOFactory.class);
         boFactory = context.mock(IBusinessObjectFactory.class);
+        sampleIDProvider = context.mock(ISampleIDProvider.class);
         sampleTypeSlaveServerPlugin = context.mock(ISampleTypeSlaveServerPlugin.class);
         dataSetTypeSlaveServerPlugin = context.mock(IDataSetTypeSlaveServerPlugin.class);
         proteinDAO = context.mock(IProteinQueryDAO.class);
@@ -88,84 +89,75 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
     }
 
     @Test
-    public void testGetAbundanceColumnDefinitionsForUnkownSample()
+    public void testGetNoAbundanceColumnDefinitions()
     {
         prepareGetSession();
         prepareGetExperimentPermID();
-        MockDataSet<SimpleSample> mockDataSet = new MockDataSet<SimpleSample>();
-        SimpleSample s = new SimpleSample();
-        s.setId(SAMPLE_ID);
-        s.setSamplePermID(SAMPLE_PERM_ID);
-        mockDataSet.add(s);
+        MockDataSet<String> mockDataSet = new MockDataSet<String>();
         prepareListAbundanceRelatedSamples(mockDataSet);
-        prepareFindSample(null);
-
-        try
-        {
+        
+        List<AbundanceColumnDefinition> definitions =
             server.getAbundanceColumnDefinitionsForProteinByExperiment(SESSION_TOKEN,
                     EXPERIMENT_ID);
-            fail("UserFailureException expected");
-        } catch (UserFailureException e)
-        {
-            assertEquals("No sample found for perm ID " + SAMPLE_PERM_ID, e.getMessage());
-        }
-        
+        assertEquals(0, definitions.size());
         assertEquals(true, mockDataSet.hasCloseBeenInvoked());
         context.assertIsSatisfied();
     }
-
+    
     @Test
-    public void testGetNoAbundanceColumnDefinitions()
+    public void testGetOneAbundanceColumnDefinitionWithoutTreatments()
     {
         prepareGetSession();
         prepareGetExperimentPermID();
-        MockDataSet<SimpleSample> mockDataSet = new MockDataSet<SimpleSample>();
+        MockDataSet<String> mockDataSet = new MockDataSet<String>();
+        mockDataSet.add(SAMPLE_PERM_ID);
         prepareListAbundanceRelatedSamples(mockDataSet);
+        prepareFindSample(createSample());
         
         List<AbundanceColumnDefinition> definitions =
             server.getAbundanceColumnDefinitionsForProteinByExperiment(SESSION_TOKEN,
                     EXPERIMENT_ID);
-        assertEquals(0, definitions.size());
+        assertEquals(1, definitions.size());
+        assertEquals(SAMPLE_CODE, definitions.get(0).getSampleCode());
+        assertEquals(0, definitions.get(0).getTreatments().size());
+        
         assertEquals(true, mockDataSet.hasCloseBeenInvoked());
         context.assertIsSatisfied();
     }
     
     @Test
-    public void testGetOneAbundanceColumnDefinitionWithoutTreatments()
+    public void testGetOneAbundanceColumnDefinitionWithOneTreatment()
     {
         prepareGetSession();
         prepareGetExperimentPermID();
-        MockDataSet<SimpleSample> mockDataSet = new MockDataSet<SimpleSample>();
-        SimpleSample s = new SimpleSample();
-        s.setId(SAMPLE_ID);
-        s.setSamplePermID(SAMPLE_PERM_ID);
-        mockDataSet.add(s);
+        MockDataSet<String> mockDataSet = new MockDataSet<String>();
+        mockDataSet.add(SAMPLE_PERM_ID);
         prepareListAbundanceRelatedSamples(mockDataSet);
-        prepareFindSample(createSample());
+        final SamplePE samplePE = createSample();
+        addTreatment(samplePE, "", "abc");
+        prepareFindSample(samplePE);
         
         List<AbundanceColumnDefinition> definitions =
             server.getAbundanceColumnDefinitionsForProteinByExperiment(SESSION_TOKEN,
                     EXPERIMENT_ID);
         assertEquals(1, definitions.size());
-        assertEquals(SAMPLE_ID, definitions.get(0).getSampleID());
         assertEquals(SAMPLE_CODE, definitions.get(0).getSampleCode());
-        assertEquals(0, definitions.get(0).getTreatments().size());
+        assertEquals(1, definitions.get(0).getTreatments().size());
+        assertEquals("abc", definitions.get(0).getTreatments().get(0).getValue());
+        assertEquals("PH", definitions.get(0).getTreatments().get(0).getType());
         
         assertEquals(true, mockDataSet.hasCloseBeenInvoked());
         context.assertIsSatisfied();
     }
     
-    
     @Test
-    public void testGetOneAbundanceColumnDefinitionWithOneTreatment()
+    public void testGetAbundanceColumnDefinitionForTwoSamplesWithSameParent()
     {
         prepareGetSession();
         prepareGetExperimentPermID();
-        MockDataSet<SimpleSample> mockDataSet = new MockDataSet<SimpleSample>();
-        SimpleSample s = new SimpleSample();
-        s.setId(SAMPLE_ID);
-        s.setSamplePermID(SAMPLE_PERM_ID);
-        mockDataSet.add(s);
+        MockDataSet<String> mockDataSet = new MockDataSet<String>();
+        mockDataSet.add(SAMPLE_PERM_ID);
+        mockDataSet.add(SAMPLE_PERM_ID + "a");
         prepareListAbundanceRelatedSamples(mockDataSet);
         final SamplePE samplePE = createSample();
         addTreatment(samplePE, "", "abc");
@@ -175,7 +167,6 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
             server.getAbundanceColumnDefinitionsForProteinByExperiment(SESSION_TOKEN,
                     EXPERIMENT_ID);
         assertEquals(1, definitions.size());
-        assertEquals(SAMPLE_ID, definitions.get(0).getSampleID());
         assertEquals(SAMPLE_CODE, definitions.get(0).getSampleCode());
         assertEquals(1, definitions.get(0).getTreatments().size());
         assertEquals("abc", definitions.get(0).getTreatments().get(0).getValue());
@@ -190,19 +181,28 @@ public class PhosphoNetXServerTest extends AbstractServerTestCase
         context.checking(new Expectations()
         {
             {
-                one(sampleDAO).tryToFindByPermID(SAMPLE_PERM_ID);
+                one(sampleDAO).getByTechId(new TechId(SAMPLE_ID));
                 will(returnValue(samplePE));
             }
         });
     }
     
-    private void prepareListAbundanceRelatedSamples(final MockDataSet<SimpleSample> mockDataSet)
+    private void prepareListAbundanceRelatedSamples(final MockDataSet<String> mockDataSet)
     {
         context.checking(new Expectations()
             {
                 {
-                    one(proteinDAO).listAbundanceRelatedSamplesByExperiment(EXPERIMENT_PERM_ID);
+                    one(proteinDAO).listAbundanceRelatedSamplePermIDsByExperiment(EXPERIMENT_PERM_ID);
                     will(returnValue(mockDataSet));
+                    
+                    one(boFactory).createSampleIDProvider(SESSION);
+                    will(returnValue(sampleIDProvider));
+                    
+                    for (String samplePermID : mockDataSet)
+                    {
+                        one(sampleIDProvider).getSampleIDOrParentSampleID(samplePermID);
+                        will(returnValue(SAMPLE_ID));
+                    }
                 }
             });
     }
diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManagerTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManagerTest.java
index 9d7b516b549..ccba48f2df6 100644
--- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManagerTest.java
+++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/AbundanceManagerTest.java
@@ -19,9 +19,11 @@ package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
 import java.util.Collection;
 import java.util.Iterator;
 
-import org.testng.AssertJUnit;
+import org.jmock.Expectations;
+import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
+import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinReferenceWithProbability;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinWithAbundances;
 
@@ -30,13 +32,29 @@ import ch.systemsx.cisd.openbis.plugin.phosphonetx.shared.dto.ProteinWithAbundan
  *
  * @author Franz-Josef Elmer
  */
-public class AbundanceManagerTest extends AssertJUnit
+public class AbundanceManagerTest extends AbstractServerTestCase
 {
+    private static final String PERM_ID1 = "s101";
+    private static final String PERM_ID2 = "s102";
+    private static final long SAMPLE_ID_A = 42;
+    private static final long SAMPLE_ID_B = 4711;
+    
+    private AbundanceManager abundanceManager;
+    private ISampleIDProvider sampleIDProvider;
+
+    @Override
+    @BeforeMethod
+    public void setUp()
+    {
+        super.setUp();
+        
+        sampleIDProvider = context.mock(ISampleIDProvider.class);
+        abundanceManager = new AbundanceManager(sampleIDProvider);
+    }
 
     @Test
     public void testNoProteinReferenceHandled()
     {
-        AbundanceManager abundanceManager = new AbundanceManager();
         assertEquals(0, abundanceManager.getSampleIDs().size());
         assertEquals(0, abundanceManager.getProteinsWithAbundances().size());
     }
@@ -44,12 +62,12 @@ public class AbundanceManagerTest extends AssertJUnit
     @Test
     public void testHandleTwoProteinReferencesButOnlyOneHasAnAbundance()
     {
-        AbundanceManager abundanceManager = new AbundanceManager();
+        prepareSampleIDProvider();
         ProteinReferenceWithProbability protein1 = new ProteinReferenceWithProbability();
         protein1.setId(1);
         protein1.setAccessionNumber("abc1");
         protein1.setDescription("abc one");
-        protein1.setSampleID(101L);
+        protein1.setSamplePermID(PERM_ID1);
         protein1.setAbundance(1.5);
         abundanceManager.handle(protein1);
         ProteinReferenceWithProbability protein2 = new ProteinReferenceWithProbability();
@@ -67,26 +85,28 @@ public class AbundanceManagerTest extends AssertJUnit
         assertEquals("abc one", p1.getDescription());
         assertEquals("abc1", p1.getAccessionNumber());
         assertEquals(1, p1.getSampleIDs().size());
-        assertEquals(101, p1.getSampleIDs().iterator().next().longValue());
+        assertEquals(SAMPLE_ID_A, p1.getSampleIDs().iterator().next().longValue());
         assertEquals(0, p1.getAbundancesForSample(12345678).length);
-        assertEquals(1, p1.getAbundancesForSample(101).length);
-        assertEquals(1.5, p1.getAbundancesForSample(101)[0]);
+        assertEquals(1, p1.getAbundancesForSample(SAMPLE_ID_A).length);
+        assertEquals(1.5, p1.getAbundancesForSample(SAMPLE_ID_A)[0]);
         ProteinWithAbundances p2 = iterator.next();
         assertEquals(2, p2.getId());
         assertEquals("abc two", p2.getDescription());
         assertEquals("abc2", p2.getAccessionNumber());
         assertEquals(0, p2.getSampleIDs().size());
+        
+        context.assertIsSatisfied();
     }
     
     @Test
     public void testHandleProteinReferencesWithManyAbundancesForTwoSamples()
     {
-        AbundanceManager abundanceManager = new AbundanceManager();
-        abundanceManager.handle(createProteinReference(101, 1.5));
-        abundanceManager.handle(createProteinReference(101, 2.25));
-        abundanceManager.handle(createProteinReference(102, 42));
-        abundanceManager.handle(createProteinReference(102, 4.75));
-        abundanceManager.handle(createProteinReference(102, 7.5));
+        prepareSampleIDProvider();
+        abundanceManager.handle(createProteinReference(PERM_ID1, 1.5));
+        abundanceManager.handle(createProteinReference(PERM_ID1, 2.25));
+        abundanceManager.handle(createProteinReference(PERM_ID2, 42));
+        abundanceManager.handle(createProteinReference(PERM_ID2, 4.75));
+        abundanceManager.handle(createProteinReference(PERM_ID2, 7.5));
         
         assertEquals(2, abundanceManager.getSampleIDs().size());
         Collection<ProteinWithAbundances> proteinsWithAbundances = abundanceManager.getProteinsWithAbundances();
@@ -97,24 +117,39 @@ public class AbundanceManagerTest extends AssertJUnit
         assertEquals("abc1", protein.getAccessionNumber());
         assertEquals(2, protein.getSampleIDs().size());
         Iterator<Long> iterator = protein.getSampleIDs().iterator();
-        assertEquals(101, iterator.next().longValue());
-        assertEquals(102, iterator.next().longValue());
-        assertEquals(2, protein.getAbundancesForSample(101).length);
-        assertEquals(1.5, protein.getAbundancesForSample(101)[0]);
-        assertEquals(2.25, protein.getAbundancesForSample(101)[1]);
-        assertEquals(3, protein.getAbundancesForSample(102).length);
-        assertEquals(42.0, protein.getAbundancesForSample(102)[0]);
-        assertEquals(4.75, protein.getAbundancesForSample(102)[1]);
-        assertEquals(7.5, protein.getAbundancesForSample(102)[2]);
+        assertEquals(SAMPLE_ID_A, iterator.next().longValue());
+        assertEquals(SAMPLE_ID_B, iterator.next().longValue());
+        assertEquals(2, protein.getAbundancesForSample(SAMPLE_ID_A).length);
+        assertEquals(1.5, protein.getAbundancesForSample(SAMPLE_ID_A)[0]);
+        assertEquals(2.25, protein.getAbundancesForSample(SAMPLE_ID_A)[1]);
+        assertEquals(3, protein.getAbundancesForSample(SAMPLE_ID_B).length);
+        assertEquals(42.0, protein.getAbundancesForSample(SAMPLE_ID_B)[0]);
+        assertEquals(4.75, protein.getAbundancesForSample(SAMPLE_ID_B)[1]);
+        assertEquals(7.5, protein.getAbundancesForSample(SAMPLE_ID_B)[2]);
+        
+        context.assertIsSatisfied();
+    }
+
+    private void prepareSampleIDProvider()
+    {
+        context.checking(new Expectations()
+            {
+                {
+                    allowing(sampleIDProvider).getSampleIDOrParentSampleID(PERM_ID1);
+                    will(returnValue(SAMPLE_ID_A));
+                    allowing(sampleIDProvider).getSampleIDOrParentSampleID(PERM_ID2);
+                    will(returnValue(SAMPLE_ID_B));
+                }
+            });
     }
 
-    private ProteinReferenceWithProbability createProteinReference(long sampleID, double abundance)
+    private ProteinReferenceWithProbability createProteinReference(String samplePermID, double abundance)
     {
         ProteinReferenceWithProbability protein1 = new ProteinReferenceWithProbability();
         protein1.setId(1);
         protein1.setAccessionNumber("abc1");
         protein1.setDescription("abc one");
-        protein1.setSampleID(sampleID);
+        protein1.setSamplePermID(samplePermID);
         protein1.setAbundance(abundance);
         return protein1;
     }
diff --git a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTableTest.java b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTableTest.java
index 85e6cf920f8..7dc51258fe0 100644
--- a/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTableTest.java
+++ b/rtd_phosphonetx/sourceTest/java/ch/systemsx/cisd/openbis/plugin/phosphonetx/server/business/ProteinWithAbundancesTableTest.java
@@ -17,13 +17,13 @@
 package ch.systemsx.cisd.openbis.plugin.phosphonetx.server.business;
 
 import java.util.Collection;
-import java.util.Set;
 
 import org.jmock.Expectations;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import ch.systemsx.cisd.openbis.generic.shared.AbstractServerTestCase;
+import ch.systemsx.cisd.openbis.generic.shared.dto.SamplePE;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.MockDataSet;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.dataaccess.IPhosphoNetXDAOFactory;
 import ch.systemsx.cisd.openbis.plugin.phosphonetx.server.dataaccess.IProteinQueryDAO;
@@ -40,7 +40,8 @@ public class ProteinWithAbundancesTableTest extends AbstractServerTestCase
 {
     private static final Double ABUNDANCE = new Double(47.11);
     private static final long PROTEIN_ID = 41L;
-    private static final long SAMPLE_ID = 4711L;
+    private static final String SAMPLE_PERM_ID = "s47-11";
+    private static final long SAMPLE_ID = 4711;
     private static final long DATA_SET_ID = 42L;
     private static final String EXPERIMENT_ID = "abc-234";
     private static final double FALSE_DISCOVERY_RATE = 0.25;
@@ -96,7 +97,7 @@ public class ProteinWithAbundancesTableTest extends AbstractServerTestCase
             new MockDataSet<ProteinReferenceWithProbability>();
         ProteinReferenceWithProbability proteinReference = new ProteinReferenceWithProbability();
         proteinReference.setDataSetID(DATA_SET_ID);
-        proteinReference.setSampleID(SAMPLE_ID);
+        proteinReference.setSamplePermID(SAMPLE_PERM_ID);
         proteinReference.setAccessionNumber(ACCESSION_NUMBER);
         proteinReference.setId(PROTEIN_ID);
         proteinReference.setAbundance(ABUNDANCE);
@@ -112,19 +113,24 @@ public class ProteinWithAbundancesTableTest extends AbstractServerTestCase
         mapping.setFalseDiscoveryRate(1);
         mappings.add(mapping);
         context.checking(new Expectations()
-        {
             {
-                one(proteinDAO).listProteinsByExperiment(EXPERIMENT_ID);
-                will(returnValue(dataSet));
-                
-                one(proteinDAO).getProbabilityFDRMapping(DATA_SET_ID);
-                will(returnValue(mappings));
-            }
-        });
+                {
+                    one(proteinDAO).listProteinsByExperiment(EXPERIMENT_ID);
+                    will(returnValue(dataSet));
+
+                    one(proteinDAO).getProbabilityFDRMapping(DATA_SET_ID);
+                    will(returnValue(mappings));
+
+                    one(sampleDAO).tryToFindByPermID(SAMPLE_PERM_ID);
+                    SamplePE samplePE = new SamplePE();
+                    samplePE.setId(SAMPLE_ID);
+                    will(returnValue(samplePE));
+                }
+            });
         
         table.load(EXPERIMENT_ID, FALSE_DISCOVERY_RATE);
         
-        Set<Long> sampleIDs = table.getSampleIDs();
+        Collection<Long> sampleIDs = table.getSampleIDs();
         assertEquals(1, sampleIDs.size());
         Long sampleID = sampleIDs.iterator().next();
         assertEquals(SAMPLE_ID, sampleID.longValue());
-- 
GitLab