Windows下基于eclipse的Storm应用开发与调试

原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html

本文以一个简单的example来讲解如何开发storm应用程序

1、创建maven工程

  在eclipse下创建maven工程,可以参照http://www.cnblogs.com/tovin/p/3822985.html

  aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQ4AAAC8CAYAAACJxEBvAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tXQmcTmX7vu07Y8mWZSJlLZEopUJZKhWVpSJ8yJKEdiRLspUilK9sRT7RInv57Dvpw9/O2EeWxjJmjDj/57rHOc573vPu5515Z+a+f78z855nf67znvs8y3mvK5OmjMQEAUFAEAgAgcwBpJWkgoAgIAgwAqnqOCp1nCCXQRAQBNIgAo45DjiBZwf+hyHAf3EKkf1taNmyJU2cODGyGymti1gEHHMc6OHuo2epx7hF/F+3/819z9HOP/PMM/KFdxRRKUwQCBwBRx3HnaUK0+9/HKKKpQsbLbmr+Uf055x3A29ZGHP8888/YSxdihYE0j8CmTNlykT+HMuXL/eJRpv61ThN28fuMtIeWzmAcmW/QuMHDeewZz5Ins54K2zOnDlUt25dKlOmDFWuXJk6d+7MyV977TXatGkTDR48mG699VaqWrUqh1++fJn69u3LaW+//XZq3749xcbGGlU8+eSTNHz4cGrbti1VrFiRxo0bx3EIHzt2LHXt2pXKly9PDz/8MP3xxx+0e/dujrvtttvo+eefp7///tsoy+4DHNHHH39MNWrUoOjoaHriiSe4nbBTp05xu2bOnGlknTJlClWvXp3OnTvHYf/5z3+oYcOGnLdKlSr05ptvUkJCgpE+mHYiz7Bhw+jFF1+ke++9l+6//35auHChUab1g7c+WNPKuSBARYoU0f773/9iV9bNEO4t3i2DXcD5lZqmHyq+YofxRirzZz1Q3Wha6dKltdmzZ2vq5tf27dunqZvOyPP0009rEyZMcKmpW7dumrrpta1bt2p79uzR1PxdUzeidv36dU6nbmTtzjvv1FavXs3n8fHxRni1atW0GTNmaPv379d69uypKYelKWehrVq1Stu+fbtWv359rX///i71WU/69evHdWzZskU7evSo9sUXX3B9f/31FydVjpDPEXfo0CFNOSlt0aJFRjHoK+o7fvy4tn79eu2xxx7TBg4caMSj7EDbiTwVKlTQNm/ezOUox68px8T4wF544QUXHH31wWiMfBAEFALkyTl4CveEWu83xmra6XneD5V59spd7DxwTF7yp1tx6mmvqZGGpp7GbnEIsDqOs2fPaqVKlTKcAtLA+SAMNyEMN9Fbb73l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" alt="" />

2、修改pom.xm添加依赖包

  使用maven-assembly-plugin插件将工程依赖的jar都一起打包

  storm的<scope>设置provided,主要是因为只要编译时需要storm包,当在storm集群运行时就不要将它一起打包了。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <groupId>com.test</groupId>
<artifactId>storm-example</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging> <name>storm-example</name>
<url>http://maven.apache.org</url> <properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties> <dependencies>
<dependency>
<groupId>org.apache.storm</groupId>
<artifactId>storm-core</artifactId>
<version>0.9.2-incubating</version>
<scope>provided</scope>
</dependency>
</dependencies> <build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

3、编写Topology

  (1) 编写Spout

import backtype.storm.spout.SpoutOutputCollector;
import backtype.storm.task.TopologyContext;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.topology.base.BaseRichSpout;
import backtype.storm.tuple.Fields;
import backtype.storm.tuple.Values; public class RandomSpout extends BaseRichSpout{
private SpoutOutputCollector collector;
private static String[] words = {"happy","excited","angry"}; /* (non-Javadoc)
* @see backtype.storm.spout.ISpout#open(java.util.Map, backtype.storm.task.TopologyContext, backtype.storm.spout.SpoutOutputCollector)
*/
public void open(Map arg0, TopologyContext arg1, SpoutOutputCollector arg2) {
// TODO Auto-generated method stub
this.collector = arg2;
} /* (non-Javadoc)
* @see backtype.storm.spout.ISpout#nextTuple()
*/
public void nextTuple() {
// TODO Auto-generated method stub
String word = words[new Random().nextInt(words.length)];
collector.emit(new Values(word));
} /* (non-Javadoc)
* @see backtype.storm.topology.IComponent#declareOutputFields(backtype.storm.topology.OutputFieldsDeclarer)
*/
public void declareOutputFields(OutputFieldsDeclarer arg0) {
// TODO Auto-generated method stub
arg0.declare(new Fields("randomstring"));
}
}

 (2)编写bolt

import backtype.storm.topology.BasicOutputCollector;
import backtype.storm.topology.OutputFieldsDeclarer;
import backtype.storm.topology.base.BaseBasicBolt;
import backtype.storm.tuple.Tuple; public class SenqueceBolt extends BaseBasicBolt{
/* (non-Javadoc)
* @see backtype.storm.topology.IBasicBolt#execute(backtype.storm.tuple.Tuple, backtype.storm.topology.BasicOutputCollector)
*/
public void execute(Tuple input, BasicOutputCollector collector) {
// TODO Auto-generated method stub
String word = (String) input.getValue(0);
String out = "I'm " + word + "!";
System.out.println("out=" + out);
} /* (non-Javadoc)
* @see backtype.storm.topology.IComponent#declareOutputFields(backtype.storm.topology.OutputFieldsDeclarer)
*/
public void declareOutputFields(OutputFieldsDeclarer declarer) {
// TODO Auto-generated method stub
}
}

  (3)编写topo

   提供cluster和Local两种运行模式,这样我们就很方便的在本地运行FirstTopo来调试我们程序了。

import backtype.storm.Config;
import backtype.storm.LocalCluster;
import backtype.storm.StormSubmitter;
import backtype.storm.topology.TopologyBuilder;
import backtype.storm.utils.Utils; public class FirstTopo { public static void main(String[] args) throws Exception {
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("spout", new RandomSpout());
builder.setBolt("bolt", new SenqueceBolt()).shuffleGrouping("spout");
Config conf = new Config();
conf.setDebug(false);
if (args != null && args.length > 0) {
conf.setNumWorkers(3);
StormSubmitter.submitTopology(args[0], conf, builder.createTopology());
} else { LocalCluster cluster = new LocalCluster();
cluster.submitTopology("firstTopo", conf, builder.createTopology());
Utils.sleep(100000);
cluster.killTopology("firstTopo");
cluster.shutdown();
}
}
}

  (4)运行结果

    本地运行时,在eclipse中的输出:

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXoAAAFICAYAAABeEjU2AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7tnQ/8TuX9/99TSpLysSJT+ZMaQhFtS600KZMo0rIik6JQyhRTxIzy2FJCsmRrEZmyVRbj9zG1RJqlVBN90pRs5M9n/aPzu16X7zmPc59znftc9z/df17X43E/Pudz/TvX9bzO/T7Xuc51v1/fclQQBhIgARIggaIlUKVoe8aOkQAJkAAJaAI09LwQSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipwADX2RDzC7RwIkQAI09LwGSIAESKDICdDQF/kAs3skQAIkQEPPa4AESIAEipxAwRr6H/3oRzJ58uS8G57jjjtOli1bltN25Wvfs9XpU089VQ477DCpX79+tqosiHqC4xr8P9udyHb9l19+uRx++OHyrW99Sz799NNsNzfj+rLd33QaZNMGvw353ve+J1OnTk3nVAll0jb07du3/0YNbadOneSMM87IGIBbwTfdn2BHunXrpr8w/k/dunV1tmz03d/fffv2hc4VPPfatWuDTczp/3/4wx/kww8/9M4BHn379s3pOW0qf+KJJzSrsWPH2mTPKE82xtltgOn6zmb9OM+zzz4rb7/9tlWfzz//fHnyySet8maSyX+ebPfXtl25bMOf/vQnufjii6WsrExfl/7vjL99h9s2Fvm2bt0qJ510UipFkub96quvpGrVqknzRCUOHz48Kilv4v/9739LvXr19ACkEy677DK59957vaIuq7i+p8q1evXq8vrrr3vnmThxomzatElmzZrlxZ1++unpdKHo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" alt="" />

   在storm集群中运行时输出可以通过Storm UI进行查看

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAABVIAAAGcCAYAAAA77lupAAAABHNCSVQICAgIfAhkiAAAIABJREFUeF7s3QecVNX5//Fn2aX33kEQkSKgFMEGIqAUscSuUWNUYhKNvURj9GdijB1TjBIbShR7Q1AUEFHAhiBN6b1Jk975z/fwv8Od2Wm7Mzu7M3zO6zWv3bnlnHPfd+ozzzk3Z93an/YbBQEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQCCqQKmoa1iBAAIIIIAAAggggAACCCCAAAIIIIAAAggg4ATyPvt0LBQIIIAAAggggAACCCCAAAIIIIAAAggggAACMQRy9gdKjPWsQgABBBBAAAEEEEAAAQQQQAABBBBAAAEEDnkBhvYf8g8BABBAAAEEEEAAAQQQQAABBBBAAAEEEEAgngCB1HhCrEcAAQQQQAABBBBAAAEEEEAAAQQQQACBQ16AQOoh/xAAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQTiCRBIjSfEegQQQAABBBBAAAEEEEAAAQQQQAABBBA45AXywgX27NtvI6ZvsbembrZvFu+wpRt229Zd+6xMbo7Vq5Jn7RqWtT6tKtolx1a1mhVzw3fnfiEE+v5riX00a2twz66HlbfJtx0Ws6bD/jTPFq/fHdzm8m5V7YXLGgTvL9u4xxrfOTekjv9eUt+uOqFazHpZiQACCCCAAAIIIIAAAggggAACCCCAAAL5BUICqd8u2WGXvrDCZq/amW/LnXv2u8Cdbgq03vnuT3bv6bXspl41rVROvs1ZgAACCCCAAAIIIIAAAggggAACCCCAAAIIZI1AMJD69eLtdvLjS2xbIPs0kaIs1VvfWmM/rt5lQy6ubzlhwdQ/vfeT3f/h2mBVZ7avbO9c0yiRqtkGAQQQQAABBBBAAAEEEEAAAQQQQAABBBAoUQJujlQN51cmangQtXRgOH+nJuWsd2Aof8fG5axMXv7U02e+2GjDv91Uog6KziCAAAIIIIAAAggggAACCCCAAAIIIIAAAqkUcBmpmp9TmaX+cmnXqvb4uXVD5kHdvGOfPTFuvf15xE+2f//BrR8avc4u6lwllf2iLgQQQAABBBBAAAEEEEAAAQQQQAABBBBAoMQIuIzU8XO3hXSoZZ0y9vylDfJdTKpyuVL2p3617M7TaoVsP3XZDtuwbW+JOSg6ggACCCCAAAIIIIAAAggggAACCCCAAAIIpFLAZaQu33jw6u+6f0xgGH+uC7FGLtd0rx4y/6m20lXiq1fItWtfXWX/Hr8h347vfr/Zcn432y3f/kQrK1c6dJoAZbh+MGOLDfvqZ/ty0fZAn/a4rNd6VfKsc9Nydn6nKnZex8qWF+HKVpGuUL/y70dY7Up59uRn611/5qzZZSseOMLV983iHdblwYXBPpYNTFmw4x+tbMrSHXbfB2tdYPnnHXvdtqe2rmh39q1lCi6rqG/KwP1s3jZbt3WvVSufa92alQ9cdKuGmwKBggACCCCAAAIIIIAAAggggAACCCCAAALZJ+ACqblhwcnvl++0vYFrTkULpjasmmeTbj0sRKNZzdKF1lnx8x676NnlLjgZXpYFgry6vTNtsz3wYVl79aqG1rpe2fDN8t0PTPsamPd1ub3yTWLztw4PbHfZ0BW2e+/BOQtWBvo1dPLP9saUzTb6D01sWiDzVoFi1e0VZeKOmrnF3R49p64LqFIQQAABBBBAAAEEEEAAAQQQQAABBBBAILsEXCD18FoHsi29Q5u9aqed8dRS+8vA2nZMo3KWE3aNKd1XFmakUqNirjWtUdoN9d8UmFPVK+UDGah1KrvmQupbu2WvdX9ssc3/KXSO1kh1T1+x0056dLFNvu0wa1E7tM/h2z89YUPCQdSdew5cbEsX3YpUtu7aZ2cFPH4K9DVWue3t1XZ6u0rB7NVY27IOAQQQQAABBBBAAAEEEEAAAQQQQAABBDJHwA3gP/voyvl6PDIwzL7TAwutyV3z7MJAtujDH6+zMT9udcPZY5X7Tq9ti/7awq47OTQz89TWldxy3TSU3iu/D2R4hgdRmwQCsX/oWcNu7l3D2tQPzT5V+5cHMkf9F7uK1J/HxqyPtDjqMgVRK5Ut5YbnH9c8f5DYH0Q99rDydlqbila1fOj8B8ri1dQEFAQQQAABBBBAAAEEEEAAAQQQQAABBBDILgGXItq+YVm78ZQa9vjY/MFHDat/9VvdDg6RPywwjF8Bx0u6VLUeR1TIl7GaKJEyTF/z1av9zmxf2V65sqEpg1XlwbPMrn89dN7ViQu22yc/bLU+gflLo5UtO/e5rNWrTqjm/u4KDNnXxbKiFc0L+9F1TQLzqua6TTSn61lPLQvZvEwgADzq943tlCMPtKtsWs21umjdwTlmZwSOiYIAAggggAACCCCAAAIIIIAAAggggAAC2SUQjCw+Epjf8+Ff1HFZmfGKAofPfLHReg5ebH3+scQ0l2hhyitfh2Zv1gxMCzD08gbBIKrq1Dytg8+ra63qhQ7lfzls3/D2jw5MSTD1rmZ2+6k17ZxjKttFnatYxTLRj03zm3pBVNWlgG7DagemIvDqvrxr1WAQVctqBYKuFwQuguUv2wLTAFAQQAABBBBAAAEEEEAAAQQQQAABBBBAILsEgpFFXW/qlt41benfWtjTF9e3szpUtrqBq9bHKxrur4CqMkALWj6fvz1kl0uOrZpvuLw2yAt07qrjq4ds+0UgKzVWubNvzZiB0/B9I835Gh5U1pD+8BK+Tfh67iOAAAIIIIAAAggggAACCCCAAAIIIIBA5gvki5RWK59rg06s5m6ah3Tlpj02ZckOm7J0h30xf5uNn7vNdHEmf/lx9S77x7j1dmffWgUSCZ8b9bgoF7BSpeGBzoVrd5uuDaUAcKTSMTBUvyDFm0og1j7l/v90A7G2YR0CCCCAAAIIIIAAAggggAACCCCAAAIIZJ9AvkCq/xBzAkHKBlXzrEHgSvS6Gr3K+sDFnh74aJ098sm6EI23pm4ucCB1c1gWa+3KB+YnjcRct0roOl0camtg/2jznlaIMYw/Uv0sQwABBBBAAAEEEEAAAQQQQAABBBBAAAEEoglEnzQ0yh41AvOYai7VywLzhfrLnDW7ouwRfbGG7PvLzt2hma7+dbvCsmC1TvOnRisKAmdKybHQzkZXOHhEysb1lww63Ew5LfQTAQQQQAABBBBAAAEEEEAAAQQQQACBoECeMjsb3DHXDZP3ykNn17FfH18tJtOprSvai18evFhUpEBnzAoCK+sF5mDdsG1vcDMFY/tH2Sk8UKu5ScuXjhFJjVJPSVxcoUxoGHTtltgX79K5Ct+mUrnssCiJ54c+IYAAAggggAACCCCAAAIIIIAAAgggUEpZoVUC86KuCwzZ927vTNscV2bVpoMBUG2cyIWpwitt37BsyKL3vo/e7rthferQqKxlUtZp+LH77zevVSZk9YLA/K/zfoqe4ft5YK7a7WHZu+F1xGqPdQgggAACCCCAAAIIIIAAAggggAACCCBQMAGXxti7VcWQvd6fvsWe+WJj1JqWrN9tj48NnSP1+Ob5r2jvr2CfrlwVVvq1PTDvqrd43JxtNnLGlvDN3IWuhn21KWT5gKMq59suUxeccmSFfF3/9UsrbeP20GC1Nlrx8x773Sur8m3fs2X+OvJtxAIEEEAAAQQQQAABBBBAAAEEEEAAAQQQKJSAu9jUb0+qZk9P2BBSwdX/W2mvfLPJzjmmsh1Zt4yVyytlPwWGnH82d5s9O3GjbdqxL2T7K+NMBaAsSw1J90+Lem7HynbrW7mBeg8GDM9/Zrk9ek4du6BzFSudm2Pvfb/F/vDaKtMUBF4pXzrHfn1c6BythTr6ErJTn8A0CS1qlwnJQp0wb5sd/uf5dkbgIl/KNtXR/7Bqp/PYuivU/sTDK1iHhuVKyNHQDQQQQAABBBBAAAEEEEAAAQQQQAABBLJPwAVSOzQqZ7f0rmmPfBKaZTr2x62mW7xyybFV82W11q6cG7LbzJU7rfnd86xyYC7Pr29vZuUCwdCKZUrZE+fXs4ufWx7cVkHCawIZl7pFK/efWadQUwlEq6+4l2t6hecurW+9nlhiu/ceDBivD0y38MLkg/PQRuqnPJ++uF7WTHMQ6RhZhgACCCCAAAIIIIAAAggggAACCCCAQHELBK9Q9Pez6ti1J1cvcH8uDGSOPnNJ/Xz7nda6Ur7g3uLAlAAzVuwM2faiwP73n1E73/7RFtx4Sg27oWeNaKszdvlJLSrYe79tZNUC89UmWupXzbOP/9DE2tQPnWs20f3ZDgEEEEAAAQQQQAABBBBAAAEEEEAAAQQSEwgGUnMD//0zkB2qwJzm24x3IScNJ3/3mkb28hUNXXZpeGlVr4w9dHaduPVovzv71rKPrmtiRwcyY6MV1ffmoEb22Ll1E6ozWj0leXnfNpVs1p+b2+97VHeZu9FKjYq5dlufmjbz7ubW9bDYc9NGq4PlCCCAAAIIIIAAAggggAACCCCAAAIIIJC4QM7+QIm0+drAvKVfLtpuC9buso3b9rk5OquWL+Xm6zy2abmEh9br6vOjZ2+1nzbvdQFXZU8OOKpSyFypXvvqyezAPKBqVxdV0v26VfKsS6A9zQEaL7gb6TgyddnOPfudw8xABq/OhUqdwHQJ7QIO8tD8sRQEEEAAAQQQQAABBBBAAAEEEEAAAQQQSI9A1EBqepqnFQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoOQLRB8/XvL7Tg8RQAABBBBAAAEEEEAAAQQQQAABBBBAAIG0CBBITQszjSCAAAIIIIAAAggggAACCCCAAAIIIIBAJgsQSM3ks0ffEUAAAQQQQAABBBBAAAEEEEAAAQQQQCAtAgRS08JMIwgggAACCCCAAAIIIIAAAggggAACCCCQyQIEUjP57NF3BBBAAAEEEEAAAQQQQAABBBBAAAEEEEiLAIHUtDDTCAIIIIAAAggggAACCCCAAAIIIIAAAghksgCB1Ew+e/QdAQQQQAABBBBAAAEEEEAAAQQQQAABBNIiQCA1Lcw0ggACCCCAAAIIIIAAAggggAACCCCAAAKZLEAgNZPPHn1HAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQIEEhNCzONIIAAAggggAACCCCAAAIIIIAAAggggEAmCxBIzeSzR98RQAABBBBAAAEEEEAAAQQQQAABBBBAIC0CBFLTwkwjCCCAAAIIIIAAAggggAACCCCAAAIIIJDJAgRSM/ns0XcEEEAAAQQQQAABBBBAAAEEEEAAAQQQSIsAgdS0MNMIAggggAACCCCAAAIIIIAAAggggAACCGSyAIHUTD579B0BBBBAAAEEEEAAAQQQQAABBBBAAAEE0iJAIDUtzDSCAAIIIIAAAggggAACCCCAAAIIIIAAApksQCA1k88efUcAAQQQQAABBBBAAAEEEEAAAQQQQACBtAgQSE0LM40ggAACCCCAAAIIIIAAAggggAACCCCAQCYLEEjN5LNH3xFAAAEEEEAAAQQQQAABBBBAAAEEEEAgLQIEUtPCTCMIIIAAAggggAACCCCAAAIIIIAAAgggkMkCBFIz+ezRdwQQQAABBBBAAAEEEEAAAQQQQAABBBBIiwCB1LQw0wgCCCCAAAIIIIAAAggggAACCCCAAAIIZLIAgdRMPnv0HQEEEEAAAQQQQAABBBBAAAEEEEAAAQTSIkAgNS3MNIIAAggggAACCCCAAAIIIIAAAggggAACmSxAIDWTzx59RwABBBBAAAEEEEAAAQQQQAABBBBAAIG0CBBITQszjSCAAAIIIIAAAggggAACCCCAAAIIIIBAJgsQSM3ks0ffEUAAAQQQQAABBBBAAAEEEEAAAQQQQCAtAgRS08JMIwgggAACCCCAAAIIIIAAAggggAACCCCQyQIEUjP57NF3BBBAAAEEEEAAAQQQQAABBBBAAAEEEEiLAIHUtDDTCAIIIIAAAggggAACCCCAAAIIIIAAAghksgCB1Ew+e/QdAQQQQAABBBBAAAEEEEAAAQQQQAABBNIiQCA1Lcw0ggACCCCAAAIIIIAAAggggAACCCCAAAKZLEAgNZPPHn1HAAEEEEAAAQQQQAABBBBAAAEEEEAAgbQI5N133302bty4Ajd25513Wp8+fQq8X0nY4YMPPrBHHnnEdaV06dI2evToktAt+oAAAggggAACCCCAAAIIIIAAAggggAACJVSAjNQSemLoFgIIIIAAAggggAACCCCAAAIIIIAAAgiUHIE8ZWSWK1cupEd79+613bt3B5eVKVPGSpUKjbnm5uaWnKOgJwgggAACCCCAAAIIIIAAAggggAACCCCAQBEK5P3xj3803fzl448/tr/97W/BRRoG365duyLsBlUjgAACCCCAAAIIIIAAAggggAACCCCAAAIlVyAvVV3bvHmzvfXWW/b555/b0qVLXUZr9erVrW3btnbGGWdYp06d8jX18MMP28iRI93yDh062F133WVDhgyxL7/80rZu3WoNGjSw3r172/nnn2/ly5fPt78WFKbdiBWFLUym3sWLF9sLL7xg33zzje3YscNatmxpV199tTuGa665xrWkDN8xY8a4/x999FEbMWJEcPnbb79tVapUCemRbCZOnOiWydKb4zVko7A7e/bscb5qZ/78+bZt2zbXh2bNmtlJJ51kZ555Zkg2cvj5GDx4cEiNH374oT344IPBfnr914J//etf9uabb7p1rVu3tgceeMCdSz0etmzZ4s7lgAED3LnctWuXvfTSS/bJJ5/Y2rVrrWLFitaxY0e78sorrXHjxsE2i6JOVb59+3b3WJ0wYYItWbLEnSNlZTds2NC6du1q5513nlWtWjXYD/X1ueeec/fr1q1rw4cPN/3YMGzYMPc41/koivMX7AD/IIAAAggggAACCCCAAAIIIIAAAggUu0BKAqk//vij6eJT69evDzmgdevW2WeffeZuCqLddNNN+aYI8HbYtGmTXXvttbZmzZpgHcuWLXMBSV0M67HHHrMaNWqE1J+KdiOdgWTqnTJlirPYuXNnsOpZs2bZzTffbJdffnmk5txFu7xA3L59+2zy5Ml26qmnBrdVsO7bb78N3u/Vq1fEevwLFay8/fbbberUqSHbKpg6c+ZMd1ObCpbWrFkzbn0F2cA7lzp/XtH/Tz/9tAtc6qb2vaKg9fjx4012zzzzjNWpUydfc6mqU21dd911pmC3vyi4Om/ePHdTkPTJJ5+M6vLee+/Z448/7nZXYLUozl8+ABYggAACCCCAAAIIIIAAAggggAACCBSrQNIXm9q4caPdcccdIUHUFi1auMy+SpUqBQ/ugw8+cFmI0crChQtdEFUZiQMHDrQ2bdoEN1XQKzwDM1XthvcnmXo3bNhg9957b0gQtWnTpla/fn1TgFRB4UhF0yYoIOeVL774ImSzadOmBevUnLbKJo1X3njjjZAgavv27a1///7WuXPnYDBbwc3wrNN49Sayfvny5aa6FfjWsfvLqFGjXBA1Ly/PZFO2bNngagU51e9IJVV1Pv/88yFB1COPPNJOPPFElzXsFT0OX3755UjdcFm9Tz31VMi6ojh/ERtnIQIIIIAAAggggAACCCCAAAIIIIBAsQkknZGqYc4KPnpFQ9A1HF9FgTHNv+plHyo4dfbZZ+cbtu7te+yxx9r999/vgmz79++3f//738Hh4pMmTbIFCxZY8+bN3eapbNdrP9l6X3vtNXfMKhq6f88991j37t3dsSiLMVrQMicnx2U1aqi4ytdff+2GjCtoqqKpDrzSrVu3kAB1cEXYP/5gbN++fV12qlf8Q/Q1XYA3tD1aXYVZ/pvf/MYuuOAC07FpGP0///nPYDWNGjUKZsIq0/S3v/2trVixwq1XNnC0kmydOg/KbvbKZZddZldccUXw/kMPPWQK9KrMnj07Yjd0fjU9gvZV8FWP1aI4fxEbZyECCCCAAAIIIIAAAggggAACCCCAQLEJJJ2R6g9M9ezZMxhE1RFVrlzZbrvttuDBabi5AqLRioZcKzClouCU5hXV/Jle0XybXkllu/7+JFPv2LFjg1UpmKwgqoqORfORevf97Xn/K5DqFQ0z1zB3r2iov1e8IHWkOvzLVIdXFBRUwNSbbqBHjx72l7/8xd3+7//+z/UvlUVz43pBVNV78sknh1Svdd50ApoLVlmyXlEAOVJJRZ0KpCpweuONN7qb5u71ijKGvSC4lumxGq0oQK56TjjhBJd5rZLq8xetbZYjgAACCCCAAAIIIIAAAggggAACCBSPQFKBVGUT+uc0jTTkvEmTJqabV+bOnRvxSDUEXJmK/qJh37oIlVfmzJnj/k1lu/72kqlXWbnxLGIFQWWkYeZe8S4stXLlSjdMXqVChQrBwJ2/35H+D58aQZnCmjJBgW1Ns6D2FAjUsHb/8PpIdRV0Wa1atUKCs7m5uSFV1K5dO+S+snfjlVTUqXYUPNVNxz1jxgx79tln7c9//rNddNFF7sJY8YrOgTKnw0uqz194/dxHAAEEEEAAAQQQQAABBBBAAAEEEChegfgRrBj9U+DRXyJdJEjr/fN/+qcB8O8b7YJH/uXevqls19+HZOoNv9CW/5i9NnRV+FjFf4EpDc1XBqU/G1UZrYkGPa+88kpr27ZtSHPK9tS0AZoyQRe+Usav/6JPsfpWkHXxMlzjrY/UVrx94q336tQ51jy25557rvur6RQmTJgQEgSP1L63TPP+RmsrlecvVh9YhwACCCCAAAIIIIAAAggggAACCCCQfoGkAqneMHyv29GGZfuvYB++j7evfxs/g+bv9EqZMmXcv+F1JNOuv61k6g3PuozUp1jDxdWPU045JXghqHXr1pkycP3zo/bq1cvf3Zj/ayi85iXV1ecvvPDCfNm+2nn+/Pl2yy232Nq1a2PWlS0rFZi+++67bfz48S5IrfOtzFTNvfrwww/bJZdcEvdQowVRtWMqz1/cjrABAggggAACCCCAAAIIIIAAAggggEBaBZIKpGq4tT/4+MMPP+TrvAKK8+bNCy4Pv4q7t2LRokXmn9dTyxXsmjVrVnDfBg0auP9T2W6w8iTrDc+ojTSFQbQLGHl9qFatmnXp0iXYJc25+t1337n7Cowec8wx/u7G/V9Bv9atW7tA4UsvvWRDhw61QYMGBS/YpQoUqPZfmMqrdO/evfnq9we1863MgAULFy6077//PtjTBx980M0Tq0Cz5mnds2dPUkeR6vOXVGfYGQEEEEAAAQQQQAABBBBAAAEEEEAgpQJJBVIVRG3Xrl2wQ++8845t27YtpIPvvvtuyLJOnTpFPAAFXN98882QdcocXL58eXBZx44d3f+pbNffYDL1ash306ZNg9XpuP1ZqXJ54403Ih67f6F/ePjbb78dvOiRLuQVnvUarTJd+f6GG24I3rZs2eI21Tyemgt0yJAh7kJgXvEC2P6g+OLFi4MXp9J2uhiT/0Jc0douyctXrFgR0r0WLVoE7ytw7M/+LexxpOL8FbZt9kMAAQQQQAABBBBAAAEEEEAAAQQQKDqBvGSr1lyTXtbk6tWr7aabbnJXNFcGpTIdNQelV1q1apVv3k5/+88995y7croCpsroVBalV5SFqmHYXkllu/4+JFNv37597emnn3bVKfvx1ltvtV/84hcu6/PVV1+18ECev13vf10AShc0UuDVH4iNdaGq8HpkpcxLZfSqPPDAAy6Aqjlst27d6oa2+69Qr/Oi0rhx42BVWn/HHXeYjkmZmqNHjw7J5gxvMxPu+4PH6u/gwYPtvPPOc8FqBbmVFZ1sScX5S7YP7I8AAggggAACCCCAAAIIIIAAAgggkHqBpAOpxx13nPXr189GjRrleqdsSAXgwosyNrU82hyTCrzqYlKvvfaau/mL9tFcnt4cqVqXqnbD+5lMvWeffbZ99NFHwYDctGnTTDeveAHS8Db993UxqR49egQ9tU7TIXjBzlj7eus0zcDAgQPtvffec4smTpzobpGKpgvo0KGDW3XyySfbM888E8xEnTp1qunmldq1a9tPP/0UqZqMWKZpDvQ427Bhg+uvMmz9WbblypVzQW8VZfEqEB3t8RrtgFNx/qLVzXIEEEAAAQQQQAABBBBAAAEEEEAAgeITSGpov7rtBTl1lXgFoiKV9u3buyvF+4e+h2+nYec33nhjvuHryiK85557rGvXriG7pKrd8H4kU6+CaLpoUdu2bcOrNQ0jjxRgzrdhYEGfPn1CFisbtaABveuuu84uvvjikOBzeFu6OJLmCPXqVibrn/70Jytfvnz4pqY+XHbZZfmWZ9ICBeLvvfde01ym/lKqVCmXOazHn1eUXT1ixIhCHV4qzl+hGmYnBBBAAAEEEEAAAQQQQAABBBBAAIEiE8gJZN0dGP+dgiY0HH3KlCm2dOlSNyxd2X9HHXWUNWvWLGLtCjqOHDnSrVNWpIZar1y50iZPnuyGnjds2NBlniqTM1YpaLux6vKvK2y9Ip0+fbq7UJYcdPzdunVz2brXXnuta6J06dJuuHykovlIFYzTX5UXXnghZhA6Uh3eMh2D+rJkyRI3XYDmWdUQfwW369WrF3HXTZs2uXOwatUqF1TVuWnZsmXEbTNxoRwmTZrk5t+tWrWqC9JHsyjM8aXy/BWmffZBAAEEEEAAAQQQQAABBBBAAAEEEEi9QNJD+/1dUsDTP49pYbqrYewaIl+Qkop2I7VX0HpffPFFNwepSvPmzd3V4P3FfzGjRo0aRWrSLVMw2guiKpM1ViZv1Er+/wodgwKF4Rm9sfarUqWK+S+aFGvbTFwnk169ehVZ11N5/oqsk1SMAAIIIIAAAggggAACCCCAAAIIIFAggZQGUgvUchZuPGfOHHeBLRVlfv78888ugKkrwmsuzpdffjl41AMGDMgnMHz4cLePN7epNsjmgGY+gAxfwPnL8BNI9xFAAAEEEEAAAQQQQAABBBBAAIEYAgRSY+AUdNX111/vhtBragMFT//zn/+4W3hRcDSerCZjAAAgAElEQVRS1u2wYcOCGa3aR1Mj9O/fP3x37pdQAc5fCT0xdAsBBBBAAAEEEEAAAQQQQAABBBBIgQCB1BQgelXoqvZDhgxxGaUTJkywRYsWuau/Kzu1Zs2a1qZNG+vXr5916dIl4sWjdLEqzd9Zo0YNNy/pr371K6tYsWIKe0hVRSnA+StKXepGAAEEEEAAAQQQQAABBBBAAAEEilcgpRebKt5DoXUEEEAAAQQQQAABBBBAAAEEEEAAAQQQQKBoBEoVTbXUigACCCCAAAIIIIAAAggggAACCCCAAAIIZI8AgdTsOZccCQIIIIAAAggggAACCCCAAAIIIIAAAggUkQCB1CKCpVoEEEAAAQQQQAABBBBAAAEEEEAAAQQQyB4BAqnZcy45EgQQQAABBBBAAAEEEEAAAQQQQAABBBAoIgECqUUES7UIIIAAAggggAACCCCAAAIIIIAAAgggkD0CBFKz51xyJAgggAACCCCAAAIIIIAAAggggAACCCBQRAIEUosIlmoRQAABBBBAAAEEEEAAAQQQQAABBBBAIHsECKRmz7nkSBBAAAEEEEAAAQQQQAABBBBAAAEEEECgiAQIpBYRLNUigAACCCCAAAIIIIAAAggggAACCCCAQPYIEEjNnnPJkSCAAAIIIIAAAggggAACCCCAAAIIIIBAEQkQSC0iWKpFAAEEEEAAAQQQQAABBBBAAAEEEEAAgewRIJCaPeeSI0EAAQQQQAABBBBAAAEEEEAAAQQQQACBIhIgkFpEsFSLAAIIIIAAAggggAACCCCAAAIIIIAAAtkjQCA1e84lR4IAAggggAACCCCAAAIIIIAAAggggAACRSRAILWIYKkWAQQQQAABBBBAAAEEEEAAAQQQQAABBLJHIPfeQEnkcDZt2mR///vfbfz48dayZUurXLmy2+3777+3p556yrZs2eKWUxAoDoFVq1bZo48+agsWLLBjjjkmYhdefPFFe+edd+zYY4+10qVLR9yGhQgggAACsQXmz59v7777ro0aNcrGjRtn06ZNs23btlmTJk2sVKkDv88+9NBDNmnSJDv++ONjVxZYW5Bt41bGBiVCYN++fXbffffZ5MmT7cQTTwz2aeLEifbcc8+5+4cddljcvvofGxs3brQHH3zQ9H5/1FFHxd2XDUquQLZ/p1iyZIkNHjyY70Yl9yGY1T3L9udXYU8enzUKK8d+6RQoKc/fVDxfsv29sFAZqSNGjLD9+/en8zFFWwgggAACCCBQzAI//fST/e9//7OVK1dau3btrEuXLq5Hn332mX300UfF3Duaz2aBsmXLWqdOnaxFixbZfJiH3LHxneKQO+UccBoFeH6lEZumEEixAM/fFIOmuLq8gtaXk5PjvkB9/fXXLrMvvHzxxRf21Vdf2ebNm61ChQp29NFHW69evWz58uX27LPPuqzVHTt22NKlS61hw4bWo0cPGzNmjK1evdrq169v5557rlWvXt1VO2vWLJftsn79erdM2+qLGwWBRASUnaqMqQ0bNrgvXrt3705kN7ZBAAEEEIgioF+X9UPqCSec4N6TVXr27GnK+P/555/dfY1S2b59u/v/kUcesVtuucWifTZ4+umnQ7bVZ4ChQ4e6AG3//v1dHc8884z7DHHXXXdZXl6ey3LUTb/aa3RMx44drXv37qbPJ5TMEVi0aJE710ceeaRt3brVVqxYYXXr1rUBAwa4z4fhj6OrrrrKvv32W7d9586dbdmyZXyuzJzTHbGnsb5TeI+PaK8Fykwu6PcKfyeGDBnivs/cdtttpiC9Rt3pc+Ltt9/uMut1v06dOnbNNde47UaPHu0ec1rXrFkz69u3r1WrVs1lSOt1TFnSGu2k7zOnnXZayPF+8skn7jVQr5knn3xy1O83keq6+uqrec2L+OhhYTyB4nx+qW/Rvsd/88039sEHH7jvZpdccol7bmkEi+IK/fr1i7qf6ly8eLF9/PHH7jlZrlw5NwrxlFNOMX02ifXZQZ8jwj+XFPR5zXMx3iOO9akUKM7nb/jnr1if49XPaJ/Lwz3C3wuj7Zcpn+cLnJFaq1Yt9wFi7NixbsiKvyhwJaAqVapY7969XfBTHxw0DNArc+fOtdq1a1vjxo3dBxJlttSrV8/VqQ/RmjpARV+aXn/9dfelSR+q9WL51ltvuaHbFATiCSh4+sorr7gv9vrCpWGnerxREEAAAQQKL6BAl4p+TNX79bx582zXrl02aNAgu+iii9y6888/3wUmypcvb7/61a/c+3a0zwbh28brmb4sKfO1UqVKLlihzxOffvqpTZ8+Pd6urC+hAj/++KP7IV0BJi/jeefOnfkeR9G6z+fKaDIlf3ms7xSJ9j7R8x9en5fZrM+Ga9asCf7Yru8f+j6iH4yOOOIIF+TXD0VKAOnatatL6NBj9qWXXrK9e/cGq50zZ47pVqNGjZCmpk6d6r4LKZtaj/FEvt/46+I1L/zMcT9RgeJ8fsV6nOu5oKld9PlBzw8lYOlHCS/xKtr3f32nU9xA07zoRwnFEvTcUhA2Xgn/rFGY5zXPxXjKrE+lQHE+f8OfL7E+xyf6vAh/L0x0v1SaprquAgdS1QEFNvfs2eN+QfKXihUr2sCBA+2MM86w5s2bW9WqVd1qZY14pU2bNnb66ae7OlQOP/xwO/PMM91+Kl5w9rvvvnP39cuUsk20jYqyESgIxBPQ3L16jPbp08dlDVx22WUuQ5qCAAIIIFB4gUaNGrkMEv1VMFVfah5//HE3H6Bed1UUSFDWlm76IBjrs0H4tvF6pi8/Kgpy6AfWU0891c477zyXyUjJTIGmTZu67OOTTjrJZSQpa0jBsUQfG3yuzMzz7vU62neKRI8q0fMfXp+CpCoKkCqYqtcTJYIoAOT98K5g68yZM91IOmW9K0lE32Hat2/vRsspO84r2vfGG2+0c845J7hMdb3//vvu9dL73pPI9xt/XbzmhZ857hdEoLieX7Ee58o2U6xAyVKab10/SOh+mTJlLNZ+ynBV1riCqHo+agSLgrKqJ14Jfz8pzPOa52I8ZdanWqC4nr/hz5dYn+MTeV5Eei9MZL9Ue6a6vvivPBFarFmzphvWpznRcnNzg1sIWS9Mms9B/ysjJbzog4qKd0GK8Pve9l7w9fnnnw+pQh9cKAjEE/CGmCrLRUVvsspc8n/ojVcH6xFAAAEE8gsouOBlc+nHz4ULF7ppVN5++22XZaIggL8k8tkgfyuRl2h6oOOOO85mzJjhLh6oolEtCm5QMlNAwXav6H1axf8DfLyjCv8cGX7f25/PlfEki2d9tO8UifYm/HyH349Wj6aP0LYKpOo1S9ltGpqvL3wq+g6jZQrqq+h1xiv6bKkfjvSY8n6k1zL/dyJtq6H6KhrurynP1E4ij0N/XbzmBdn5pxACxfX8ivc416hVTYehLDX90KCRqSqx9vMStLysb3238977NRVIQYrXTkGe1zwXCyLMtqkQKK7nb3jfY32OT+R5Eem9MJH9wvtR0u4XKpCqg1DmgIbS6QXQK0qvV+qvfiFq27atS7fXcL7CFJ0wlQsuuMCl++vXKn240XxoFATiCXhvtnri6g1a2alr166NtxvrEUAAAQRiCOiq67opI0RzF2qIvYa6KqigYXoKrIYHUgvz2UCv2V7R1Cxe0eu4grXKRtHwPgVUVb/mU//lL38Zo+esSqeAfixXUErTPugxoceJivc+7P+hXfPUecULYnnv4ansM58rU6mZ2roifafwWoj2WpBsD/QY1eg5BUr1WqLMNi3T64mK1um+93qmYKi++Kl4j9nw17rwPjVo0MDN4aj5IDWKT9+PCvo45DUvXJX7BRUojudXvMe5ptNQHEHZqcoA1/NQWeKx9vOSqdatW+dGtCo7VT/iai5jLyCa6OtFYZ7XPBcL+shj+1QIFMfzN7zfsT7Hx3pe6LO6SqT3wlj7Zcrn+UIHUvUrkIZiaVifV/bt2+f+1Rcb4Xz55ZfBdQX9p0OHDsF5UxSU9eYLUuo/BYF4AvqVU/P3aUJyveHqy5mXQh5vX9YjgAACCEQW0BcdzZH+4Ycfugx/Bbw0r6WCqMow8YbYKwCh4bD6ohTvs4F/W2WAqehzhIb56bOE5rz2in6sVUBCGbHqi3fxiKIIvEUWYGmiAvocp4uK6EI8TZo0ce/BeswowNqqVavgxck0H+Xw4cPdF+gpU6a4oKs37DrSYyPR9sO343NluEjJuR/pO4WSKFSivRakovd6HdFwYQVSvdce74cbL+teUwfoNU+j8DR3r2764UiZQvpRRwGhaEWZpQrQahoUjdjTj08FfRzymhdNl+WJChTH8yvW41yfCbwh/UqY0jVQNAXG7373u5jPD8UDNCe6fjjVe7++2ykA6134Ld7rhf/9pDDPa56LiT7i2C6VAsXx/FX/E/0cn8jzItJ7oT77Zfrn+ULNkeo9OPQhQy9EXjn++ONd9p8mYZ89e7bLUlHxMgyCGybwjz6cnHXWWe7DjX7J1Zcppe/rl10KAvEE9AFX8+bpi5kC+noR8g/fiLc/6xFAAAEE8gto6PXll1/uAggKnio7VR+GNGegLizlDW3VRf5U9IUn3mcD/7YKnmhua9WjIJyCav7Xbs2hqamFFLxQJoqCE/rhTHMXUkqWgL7c9uzZ0wVO9ZlQWXwKkP761792QXev6MuxvhRrhJOyFjQHr4LoKv7HRrJHx+fKZAWLdv/w7xTxXgtS0RsvWKqsOD329GXPu1qwt06vQZpnX99vdIVhBVH1Q8Cll14anKYsVl9Un/f6NHLkSPejQkG+3/CaF0uXdYkKpPv5Fev11vvcoBiCnkuarkdTX+hCkrH202vCxRdf7N4/9MOGPnso403PkUReL/zvJ4V5XvNcTPTRxnapFkj381f9T/RzfKLPi/D3QtWf6Z/ncwIXbNif6pNNfQgggAACCCCAAAIIRBPQnHZDhw51WXoa4URBAAEEEEAAAQQQQCATBJLKSM2EA6SPCCCAAAIIIIAAAggggAACCCCAAAIIIIBAsgIEUpMVZH8EEEAAAQQQQAABBBBAAAEEEEAAAQQQyHoBhvZn/SnmABFAAAEEEEAAAQQQQAABBBBAAAEEEEAgWQEyUpMVZH8EEEAAAQQQQAABBBBAAAEEEEAAAQQQyHoBAqlZf4o5QAQQQAABBBBAAAEEEEAAAQQQQAABBBBIVoBAarKC7I8AAggggAACCCCAAAIIIIAAAggggAACWS9AIDXrTzEHiAACCCCAAAIIIIAAAggggAACCCCAAALJChBITVaQ/RFAAAEEEEAAAQQQQAABBBBAAAEEEEAg6wUIpGb9KeYAEUAAAQQQQAABBBBAAAEEEEAAAQQQQCBZAQKpyQqyPwIIIIAAAggggAACCCCAAAIIIIAAAghkvQCB1Kw/xRwgAggggAACCCCAAAIIIIAAAggggAACCCQrkLdgwYJk62B/BBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgqwXISM3q08vBIYAAAggggAACCCCAAAIIIIAAAggggEAqBHL2B0oqKqIOBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAgWwXISM3WM8txIYAAAggggAACCCCAAAIIIIAAAggggEDKBAikpoySihBAAAEEEEAAAQQQQAABBBBAAAEEEEAgWwUIpGbrmeW4EEAAAQQQQAABBBBAAAEEEEAAAQQQQCBlAgRSU0ZJRQgggAACCCCAAAIIIIAAAggggAACCCCQrQIEUrP1zHJcCCCAAAIIIIAAAggggAACCCCAAAIIIJAyAQKpKaOkIgQQQAABBBBAAAEEEEAAAQQQQAABBBDIVgECqdl6ZjkuBBBAAAEEEEAAAQQQQAABBBBAAAEEEEiZAIHUlFFSEQIIIIAAAggggAACCCCAAAIIIIAAAghkqwCB1Gw9sxwXAggggAACCCCAAAIIIIAAAggggAACCKRMgEBqyiipCAEEEEAAAQQQQAABBBBAAAEEEEAAAQSyVYBAaraeWY4LAQQQQAABBBBAAAEEEEAAAQQQQAABBFImkFeQmp588kn76aef8u1ywgknWMeOHe2pp56yO++8M9/6eAsee+wxu/jii61evXr5Nn3xxRdt4cKF+ZZrwRFHHOH2oyAggUP58Tlx4kT78ssvbfPmzVa5cmXr3LmznXTSSTEfGF999ZVt2bLFTjnllHzb7du3z5599lnr1KmTe277S6T91qxZY++//76tWLHCatSoYf3797dmzZq53bZu3WoffPCBzZ0718qWLWvHH3+8u33zzTdueXhp3Lix/frXv7bp06fb+PHjbf369VazZk077bTTrEWLFjHr1Er/frI49thjTa9R8daF94P7CCAQWeCvf/2rXXbZZdakSZPgBh9++KHNmTPHLa9WrZq9/PLL7j3de33529/+5t6vDzvssHyVxloX7XVdry9qS+Vf//qXrVu3LlhvuXLlrGXLlnbqqadaxYoV87XHgvQIRHvtT7b1WO93b7/9tn3//fchTfzmN7+J+Pky2X6wf3ICnKvk/NgbgVgCsV4nY+3HOgQQKH4B3h+L/xwk0oMCBVJVYb9+/eyoo44Kqbt06dKmwMvpp5+eSJsF2uaCCy6wvXv3un30RU2lb9++7m9ubq77S0HAEzgUH5/Lli2zCRMm2KWXXuq+LCqY+cILL7hAZqNGjfI9OPRjyIIFC1yQUgHXSOXTTz919SiQ6pVo++3fv9+GDx9ubdq0sV/+8pc2Y8YMe/XVV+3666+38uXL2+uvv261a9e2m2++2QVFX3rpJWvYsKG1b98+GBj12njrrbdcmzqmESNG2Pnnn+8CL4sWLTKt0xfiKlWqRK1TQVy9+Vx44YXWvHlzW7VqlenHGDnEWte0adNIDCxDAIE4Anr+6weRxYsX2xVXXOF+yEl1ifS6Hv7+P2DAAPcapP5s2LDBxo4d6577gwYN4rNCqk9IgvVFe+1P5vU23vudAupnnHFG8Ic8dbUoHpMJErBZDAHOVQwcViGQhEC818kkqmZXBBBIgwDvj2lATkETBQ6klilTxipUqJCv6Y0bN7rAh4IjmzZtsmeeecZloowaNcpllylD4LvvvrOdO3eaMs5+8YtfuICIgirKitPfc845xwU//EUZbF7JyzvQ3fD258+fbx999JHLSFEmTK9evdwXKmXHKHuuevXqNm3aNNP+3bp1s+7du7sqo+2X7+BYkDECh+Ljs1KlSqYfHBo0aODOk54zeqzLIlJZsmSJyyxXkDNSUUBk9uzZwfq8baLtpw9syjzq2bOnC1goEKrn3Q8//OACpgpmKsCqPqmPCmyob97Nq3/q1KmmY+nQoYMLDCsQfPjhh7vV+quA6qxZs4IB0kh1alvv2PVXFuqTfuwpVapU1HWRHFiGAAKxBRS0fPfdd2316tUuiBr+3hx778TXRntd99fg30ZZqBdddJE98cQT7rUs/MffxFtmy8IKaJRCtNd+febTCCZ9Hps8ebLt2bPHevfu7d6XNKJART+Y6/NkeIn3fqfPgcqU1mdBf9Fj9ZNPPon4OTS8De6nRyDauUpP67SCQPYKxHudzN4j58gQyA4B3h8z4zwWOJCa6GFt377dBVI09E4PBmWpKYCiL1rKLFOgRBkkyqKLNbQ/XnsK2ir7TXW1bdvWZdopC6JWrVpuV93XMOJbb73Vfah/5ZVXXGaaPmhH269OnTrxmmV9hgtk0+NTXxh1+/nnn13gQF8YNZQ92uPYyzLV8zC87NixwwVGzj33XBs9enTI6mj76cuvMk79GWLKjF27dq0LXmpYvrLDFNBQYLNr1652zDHHhNS9bds2UxbslVde6ZarPn3BVgarnq+qSwFeBUgUAI5Vp14Lhg4d6vqjbPYePXoEg8Kx1oVbcB8BBKILaBSKXkP0Q4oyxTWcviQV/XiiqUD0ukEgNf1nZuXKlVFfpxVI1Y9vCqBqpMKUKVPcD/F9+vRxn9UmTZrk3g8iBVJjvd/pfV3vYePGjbOlS5e6H+aOO+44d/41tUy0z6Hp16HFWOcKHQQQSE4g1utkcjWzNwIIFLUA749FLZy6+gscSNUQPm+IvbqhwMZ1112Xr0f6gKx5EpV1qg/MCmhouJ2GWCkbVV/CUlEUrNWwXWWxqWhetFatWtnMmTNdNpwCN8qMVUBHmbAK4ujDtAI30faLFoBKRX+po2gFDuXHZ9WqVe3uu++25cuX27Bhw1wGpzenaKLq8tOcqF52ayL77d6922V8+ouyw3bt2uW+1GqKAG8+QwVd33zzTfcFV3Mce0XTDOg57A3BPPLII12ARllLyizV64iCs3odiVWngq7KgteUAHodUB368URDSVVHtHXefK6JHC/bIICAueH8er7p/V3P8fDRJKk0Cn9dV92a+zjS/M7+dvXDrX5goqRfINbrdP369V2H9INfTk6Oe3/QZzRlqOq+Hkua3y9WifR+p/cP/YiuEUmaH1dBdP0w6I2+KKrPobH6ybrIAkqCiHauvJEokfdkKQIIJCoQ6XWyoN8LEm2L7RBAIDUCvD+mxjEdtRQ4kKrhu/qQ6hV9+I1U9GFYgQsVBTe1n7LSFEhRgFNfgPQ32aLMhvAhXBrKr4vuqOhNxN9HZbIpMyHefsn2i/2LR+BQeHxqigxNZaGi59bJJ5/s/ldQQ887/UCg5crG1vPAv61+xIhWNP2GXrxjbRNpXwVNFUz1FwVRFSxVVqiegxq2qaLnpgKmGqLvBVIViNHUG3/4wx+CVeg4tI/Op6YDUUBEGeTKeotVp57fOv7WrVu7uvTjibKRdGyx1hFI9Z89/kcgvoCeWwMHDrRvv/3WZab+9re/LbILO4W/rqt3/ml/ovVWP5hGm8Ik2j4sT41ArNdpL5Dq/wFO20f7POnvkUYpqER6v1Pw9Pe//31w83bt2rlgqn48P/PMM4vsc2hqxA6tWurWrRv1XBFIPbQeCxxt6gVivU4SSE29NzUikEoB3h9TqVm0dRU4kKqARnjgMl4X9YKujDANDVbARfMnvvbaa3bjjTfG2zXuemXEKuvMXzRfq9dHZaMo+9X7gK6+KMATb7+4DbNBiRQ4FB6fGhbvHxqvbE7NUagsTK/oeaYAZ/i2sU7avHnzTMMxH374YbeZApjKNFPWt662Ha1oGL6G3vufZ5ofT8FJBVEjFf8XZgWG9cXJP7+ifnDR64SG4mu56tZQTU3fEe0q3KpTt0jZ7vHWReojyxBAILrA0Ucf7X640QXr9Nqhi7xdcsklblmqS2Fe1/UaqH6ddtppqe4O9SUgoB+uIpVEgqWR9vOWaQ7VaO93er/SkDh/IE4jGjTdTVF+Do3VX9ZFFoh1riLvwVIEEEhUINbrZKJ1sB0CCBSPAO+PxeNemFYjp5MWpqYY++jLjLLJFNTUh2h90fIuHOXtpiFXhSne8F1lnKkOXWBKczEq4KKi4WVjxoxxQSFdLEfzLipLId5+hekL+2SmQKY/PjUMXlnWOg4FD3788Ud3ITUvKzPRs6IrY1977bV2zTXXuJuG92t+UWXyxCrKLNePE95QTGWbahoP9UtzEev5rjmRlaW6aNEilx3qPT9Vr6bh0PPRXxSAVRaR5s7Tc1cXCVHGUrw6VY8CrmpDFsrK1f/KSo21LtbxsQ4BBGIL6DVCP55obstYxZvuQ+/Luum57ZVY6/Rc9vbx//W35W2jQJp+EBo+fLj70cU/giZW31iXWoFEXvsL02Ks9zs9hvQj/cKFC938q977jV7/E3mfL0x/2KdwArHOVeFqZC8EEPAEYr1OooQAAiVbgPfHkn1+/L0rcEZqYQ5NWXHKGv33v//tgp0a1uUfPqxs1RdeeMFdZbeg86wp4KJMPF0YR3NhKRP17LPPNqVFK3Cr+U71xeuRRx5xGXq68IAXxIm2X2GOkX0yVyDTH5+aO/T00093F+vQ0HxlAnnPgYKcFQ2B9Q+DVeBS96NlgHp1K1B6wQUXuOefsmP1nNR9ry79r77pAiCa7kMZYt7zXMP6dRE4fen2Fz1X9fx8//333VyMGkb8y1/+MjgXa6w6L7zwQvv4449df9QXBYi9ofux1hXEim0RQOCggJ7rek/35maONsey5iv2F+132223uUWx1o0cOdJ08xe9Pv3pT38KLtJrjG4qGvav6U3UJ21HSb+A3KO9TmtqpcKWeO93ffv2de8bGpmkqWR0X6//mvIl1ufQwvaH/QoncFhgDvdo56pwNbIXAgh4AvFeJ5FCAIGSK8D7Y8k9N+E9ywkMedofvjBb7is7VVd+HTRoULYcEseRRQI8PrPoZHIoCCCAAAIIIIAAAggggAACCCCQ9QJpGdqf9YocIAIIIIAAAggggAACCCCAAAIIIIAAAghktQCB1Kw+vRwcAggggAACCCCAAAIIIIAAAggggAACCKRCIKuH9qcCiDoQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEyUnkMIIAAAggggAACCCCAAAIIIIAAAggggAACcQQIpMYBYjUCCCCAAAIIIIAAAggggAACCCCAAAIIIEAglccAAggggAACCCCAAAIIIIAAAggggAACCCAQR4BAahwgViOAAAIIIIAAAggggAACCCCAAAIIIIAAAgRSeQwggAACCCCAAAIIIIAAAggggAACCCCAAAJxBAikxgFiNQIIIIAAAggggAACCCCAAAIIIIAAAgggQCCVxwACCCCAAAIIIIAAAggggAACCCCAAAIIIBBHIG/BggVxNmE1AggggAACCCCAAAIIIIAAAggggAACCCBwaAvk7A+UQ5uAo0cAAQQQQAABBBBAAAEEEEAAAQQQQAABBGILMLQ/tg9rEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABI5DKgwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEIgjQCA1DhCrEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABAqk8BhBAAAEEEM3AQE0AACAASURBVEAAAQQQQAABBBBAAAEEEEAAgTgCBFLjALEaAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgkMpjAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQiCNAIDUOEKsRQAABBBBAAAEEEEAAAQQQQAABBBBAAAECqTwGEEAAAQQQQAABBBBAAAEEEEAAAQQQQACBOAIEUuMAsRoBBBBAAAEEEEAAAQQQQAABBBBAAAEEECCQymMAAQQQQAABBBBAAAEEEEAAAQQQQAABBBCII0AgNQ4QqxFAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQKpPAYQQAABBBBAAAEEEEAAAQQQQAABBBBAAIE4AgRS4wCxGgEEEEAAAQQQQAABBBBAAAEEEEAAAQQQIJDKYwABBBBAAAEEEEAAAQQQQAABBBBAAAEEEIgjQCA1DhCrEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABAqk8BhBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgTgCBFLjALEaAQQQQAABBBBAAAEEEEAAAQQQQAABBBDI279/vy1dutQ2bNhge/bsySqRvLw8q169ujVu3Ngd19q1a23r1q22b9++rDrOwh5MqVKlrGLFilarVi18whDTbeNvLycnp7CnlP0QQAABBBBAAAEEEEAAAQQQQAABBIpIIGfx4sX7FVysXLmS5ebmWrYEcRQg3rt3r23evMUFC8uXL287duwwBax0jNlynIV9XMhHNwWVy5Ur56rB54Bmum3C26tdu3ZhTyv7IYAAAggggAACCCCAAAIIIIAAAggUkUCeMlFr1appyt5UkFG3bCgKEOpYqlSpHMhEXecChmXKlAkeY7YcZ2HPlTx0U0BZgXQVfA5optsmvD0CqYV9VLMfAggggAACCCCAAAIIIIAAAgggUHQCeRrOryCqbl5GaqZna3oZfspIVdExeoHVbDrOwj4s/D6ejepScPlQ90m3TbT2Cntu2Q8BBBBAAAEEEEAAAQQQQAABBBBAoGgE8lStAmgKomZbIFXHpgCqV7LtOAv7kPCCd/jkF0y3TbT28veMJQgggAACCCCAAAIIIIAAAggggAACxSkQDKR684Z6c4gWZ6eSbVvBKW/Yun8Iv3dsOtZsOM7COuETXS7dNtHai95D1iCAAAIIIIAAAggggAACCCCAAAIIFIdAcEJUL5Ca6cP6hRjrWGKtK44TUBxtxjKIta44+pruNmMdf6x1he1nUdRZ2L6wHwIIIIAAAggggAACCCCAAAIIIIBAdIHsuLJU9ONjDQIIIIAAAggggAACCCCAAAIIIIAAAgggkLQAgdSkCakAAQQQQAABBBBAAAEEEEAAAQQQQAABBLJdIG4gdfTo0fbQQw/bDz/8UCCLJ5/8j61Zs8bts2HDBnv88cEF2j/Sxv46I60vzLJnn33WHn744eDtH//4h40cOdK2bdtWmOoS3uc//wn1GTw4eR9/nQl3JM6GL774YoiPrJ588kmbOHFinD3N5s+fb8OGDYu7XfgGmzdvtsceeyx8cYm7rz4uW7YspF9jx461//73v/bzzz+7x713Xv3HlCnHV+LA6RACCCCAAAIIIIAAAggggAACCCBQjALuYlPRyp49e2z27B+sadMmNmPGDGvVqlW0TWMur1ixop166qkxtynOlX369LEjjzzSdOGfjRs32ueff26vvfaaXXrppZabm1vkXSvpPt27d7f27ds7B13ES8HD999/3+rWrWuHH354kftkQgN67Hz88cfO5qKLLrJKlSrZrl27SvTjPhNc6SMCCCCAAAIIIIAAAggggAACCCBQUgRiBlLnzp1nXpDvmWeetS1btgYCRBWDfV+wYKGNGzc2kHm30WrVqmW9e/eyRo0aBYKQr9vWrVvd34EDT7dq1aqZMlvbtm1jb7zxptWpU8e6dz/J1aPtlGl69dVXue0UsJ04cZLL6KtQoYJ16tTRunXrlq/Opk2b2qpVq+yTT8a4v5UrV7YTTzwh0EbbAtuWKVPGypcv7/ZTm2effbYNGTLE5syZY61bt3b1jxlzsJ0TTjjYjvo7adLB/nbseKC/qmvhwoWmDEUFZ+XTq9cBn9dfP+Cjv6efftCnTZs29uabB3xOOumgjzJNr7rqoE+k9sLr9Hyi9bsgSKVLlw76aD8FnZWRun79ehdIjeWjwKvO/cyZM031HHPMMSY/lVh2/v5F206PnaFDhwYeS91d8HvHjh2ub6eddpqVKlUqqr/qjtVnf9uJ/K8g6ocffugysC+88EL3GFLZvn27O3adVwoCCCCAAAIIIIAAAggggAACCCCAQGYLxBzarwBWhw4drHr16tagQYNAduqs4NEqOPjee+9Zjx4n2w03XG9HHXWUvfPOuy5j8fzzz3MBWP1VQM9fWrduZXPnzg0u+vHHOYHga0MXRFUgbNSoD61Pn9528803BQKaZ9mECZ+7AG54nTt37rTXX3/DBanUft++pwUyAj/JN9S6MKdHAb9mzZq5utTOG28caOf66693QbpPPjnQjvqrAFrv3r3tpptusrPOOssF9BTg83xOPvlk037yeffdAz7nnXfAR3/DfZT16/dRMLdhw4M+0doLrzNWvwtj4t9HAcNNmzZZkyZNYvpon9WrV7sg7LXXXusC1FOmTHFB1Vh2/rbibadg5fLlywOB+KvtiiuusHnz5tmSJUti+qfSRo/3ESNG2NKlS0OCqMkasz8CCCCAAAIIIIAAAggggAACCCCAQMkSiJqRumXLFhccOv30Aa7HCgQqCNalSxd3X3OmHnbYYdaixYGh3cocLVOmtO3du9dlA0YrLVq0CAQfP7J169ZbzZo1XD3t2h3lNlcA08tMVYAqLy/PcnJybPfuXYG1BzNhta0CZtWqVbWOHY9x+yogqT7+8MOPLis22aKsQgUL1U7VqlVdJqW/nR9//NHq168fzBT191dDurVePt7Qd2Wq6vgS8fnoo49ctmeNGgd8dFwq2t/LTA1vT4Frf4nV74L6jB8/3gWIVdTu7t27XfBYQ/sVFI3mo+NXEPXEE09051EB4U6dOjkbBYyjHYvOu1diHbMyidUfZbhqCgb1Q5m/CpR6j89I/qm00XB+/dCgOXVXrlzpzjkFAQQQQAABBBBAAAEEEEAAAQQQQCD7BKIGUmfMmOmCfs8997w7av2v7MDVq9cEAmh1AlmiW1zgyisKlHnzaMZiKlu2rDVv3jyQdTnHypY9yg2H1nBsFQVglQU7Z87cQGCsVCBAVcMF4CKVzZu32E8/rbWnnno6uFp9VCZpKooCY+XKlXPHuXbtWnv66fzteP1VBqn+V+DT62+yPspEVQA1kk+k9sKPOVa/w7eNd79r167BKRM0jH3BggX26aefumBovHaqVKkScg4VdNT+sez8/UlkO81H6pVE/OP1OZ6Hf72Cw8pSnjZtmrtI2eWXX+6ysSkIIIAAAggggAACCCCAAAIIIIAAAtklECOQOiMwp+cpwSCnDvuDD0YGMhBnBAKppwQyDSsEskrXhmh89tkEN6dpvECShvd/9dVXLsPyiCOOCGSylnH16MJWyii95JKLg3NyDh78RETxihUrWOPGje28884Nrte8qqm4OJQyLhctWmQ9e/Y0XXBL7Zx7bv52lPWo7MqLLz7Y3yeeONBfZbQqAOsvEyZMCGTQxvdRgDKST6z2wpHUfrR+h28b774Cyv6guY5BGarKmo3Vjob1K6tXwVcvwKkr2Ws+20SPJdHtwo8hln+sPofXE+++gt06tqOPPtrNyTpq1Cg755xzov4AEK8+1iOAAAIIIIAAAggggAACCCCAAAIIlEyBiGPwV6xY4S72pAs3KSjq3dq0aW2zZs12w6lbtTrS5s9f4LILlQmqYf/Tp093WZxe0fJIRcOtNbR/ypTvAlmXBy8OtWfPbjecXwFWtfHNN9+6K5/r//A6VYeGUmtoudpZtWq1DRv2v3zBy0jthy9T4FTDwQ9k3K4OzPX6jgsQtmzZ0g3N97ej4OD//negHe3n7++33x7sr7JsZVNYHwUpv/vuu5CLZ8VqL56Pv9/hx1+Y+8oU1bmJ5aN6NYepAsjaVnPOykiPq0SORfsnul34McTyj9fn8LoSvd+3b99AlvRPgcftN4nuwnYIIIAAAggggAACCCCAAAIIIIAAAhkikDto0KB7daEnZXIqOKbsOl0VvlKlim5oub8oK1HrNDdmo8AFojTH6bhxnwaGeY8PZB5utgED+gczFxXYHD/+MzePqObJ/O67qXbccd1cdWpLAScFa3Uley9bUUPjdaEgXcxJQVlNIZCbmxfIzvw6MDdrZxcs9eqsXbu2m3Pziy++sDFjxgaCuvOtW7eu1rp1a9eGsiB1UxB248afXR80rYD/OLWdgpWaTuDLL790WaCzZ892xzdgwAC3vYK6Xjtjxx5oR0Pd1U54f+vUqeMCq19//bW7krzWawi85hjdvHmz9e9/0EeBzc8+O+gzderUQP8L5uNvr3Pnzu7CTl6dfp/wfof7KIisEslHQ9bVjs6jvyhTVMFRZc9G81H2qerWedCw9wPnqJt7XMWy0xQRCswfd9xxMbfThdBkrTlSvaJzqb4qGzeaf6xzWhAbPRcUFNb0BSqqt169ei4rVVNM6L53XmXlHZP//0jtafoDCgIIIIAAAggggAACCCCAAAIIIIBAyRLICWTP7T/ssKYu6OMFGUtWFwvXGwVQlal6YJj+YndBIAW8su04C6dz4KJRno+G36vgc0DT/9hJh014e5pDmIIAAggggAACCCCAAAIIIIAAAgggULIEIg7tL1ldpDcIIIAAAggggAACCCCAAAIIIIAAAggggEDxChBILV5/WkcAAQQQQAABBBBAAAEEEEAAAQQQQACBDBAgkJoBJ4kuIoAAAggggAACCCCAAAIIIIAAAggggEDxChBILV5/WkcAAQQQQAABBBBAAAEEEEAAAQQQQACBDBAIBlK9q9zrb6aXWMcSa12mH3ei/Y9lEGtdovVn8naxjj/WusIec1HUWdi+sB8CCCCAAAIIIIAAAggggAACCCCAQHSBvECxPXv2WG5urimooyuI5+TkRN8jA9b4g1M6Nh1jqVKl3LF567LhOAt7Kvw+cpCNCj4WfHx4z4Witol2Lgp7btkPAQQQQAABBBBAAAEEEEAAAQQQQKBoBPKqV69u69dvsJo1a1iZMmVcEDVbAqm7du1yx6ZjLF++vO3YsSN4bNlwnIV9SHjBOwWZd+7caRUrVnRV4XMwkJoum2jnorDnlv0QQAABBBBAAAEEEEAAAQQQQAABBIpGICeQhbh/6dKltmHDBpeZmk1FmagKojZu3Ngd1tq1a23r1q0u85JiLhNVQdRatWrhE/aASLeNv71M/yGD5xYCCCCAAAIIIIAAAggggAACCCCQjQI5gYy4zJ8UNRvPDMeEAAIIIIAAAggggAACCCCAAAIIIIAAAiVGIHixqRLTIzqCAAIIIIAAAggggAACCCCAAAIIIIAAAgiUMAECqSXshNAdBBBAAAEEEEAAAQQQQAABBBBAAAEEECh5AgRSS945oUcIIIAAAggggAACCCCAAAIIIIAAAgggUMIECKSWsBNCdxBAAAEEEEAAAQQQQAABBBBAAAEEEECg5AkQSC1554QeIYAAAggggAACCCCAAAIIIIAAAggggEAJEyCQWsJOCN1BAAEEEEAAAQQQQAABBBBAAAEEEEAAgZInQCC15J0TeoQAAggggAACCCCAAAIIIIAAAggggAACJUyAQGoJOyF0BwEEEEAAAQQQQAABBBBAAAEEEEAAAQRKnkDefffdZ+PGjStwz+68807r06dPgfcrCTt88MEH9sgjj7iulC5d2kaPHl0SukUfEEAAAQQQQAABBBBAAAEEEEAAAQQQQKCECuSV0H7RrWIQ2Lt3r/Xu3TvYciqC5UVRZzHQ0CQCCCCAAAIIIIAAAggggAACCCCAwCEukKeMzHLlyoUwKPi1e/fu4LIyZcpYqVKhswDk5uYe4nQcPgIIIIAAAggggAACCCCAAAIIIIAAAggcKgJ5f/zjH003f/n444/tb3/7W3CRhsG3a9fuUDHhOBFAAAEEEEAAAQQQQAABBBBAAAEEEEAAgRCBlA3t37x5s7311lv2+eef29KlS11Ga/Xq1a1t27Z2xhlnWKdOnfLRP/zwwzZy5Ei3vEOHDnbXXXfZkCFD7Msvv7StW7dagwYN3FDz888/38qXL59vfy0oTLsRKwpbmEy9ixcvthdeeMG++eYb27Fjh7Vs2dKuvvpqdwzXXHONa0kZvmPGjHH/P/roozZixIjg8rffftuqVKkS0iPZTJw40S2TpTfHa8hGYXf27NnjfNXO/Pnzbdu2ba4PzZo1s5NOOsnOPPPMYDZypLlyFUzX7d///re1adPG1b59+3Z3nidMmGBLlixxx6eM5oYNG1rXrl3tvPPOs6pVq7ptE62zIP2MdbysQwABBBBAAAEEEEAAAQQQQAABBBBAoKgEUhJI/fHHH03zaa5fvz6kn+vWrbPPPvvM3QYMGGA33XRTvikCvB02bdpk1157ra1ZsyZYx7Jly1xAUhfDeuyxx6xGjRoh9aei3UiwydQ7ZcoUZ7Fz585g1bNmzbKbb77ZLr/88kjNuYt2eYHUffv22eTJk+3UU08Nbqug9Lfffhu836tXr4j1+Bfu2rXLbr/9dps6dWrItgqmzpw5093U5uDBg61mzZpx69MGCi5fd911pkCxvyi4Om/ePHdTNvOTTz6ZcJ1F0c+EDoaNEEAAAQQQQAABBBBAAAEEEEAAAQQQKIBA6MSnBdjR23Tjxo12xx13hARRW7Ro4bITK1WqFKzxgw8+sJdeeilqCwsXLnRB1MaNG9vAgQODGZDaQYG78AzMVLUb3qFk6t2wYYPde++9IUHUpk2bWv369U0BUgWFIxVNm1C3bt3gqi+++CJks2nTpgXr1Jy2yiaNV954442QIGr79u2tf//+1rlz52AwW4FqBVJVrrrqKpd56i9XXHGFPfXUUy6DVeX5558PCaIeeeSRduKJJ7qMW6/oHL788svubiJ1FrSfwYb4BwEEEEAAAQQQQAABBBBAAAEEEEAAgTQKJJ2ROnz4cFPw0Ssagu5d+V0ZjJp/VdmPKgqwnX322fmGrXv7HnvssXb//fdbXl6e7d+/3wX23nzzTbd60qRJtmDBAmvevLm7n8p2vfaTrfe1115zWZsqGrp/zz33WPfu3d2xvPfee8Ggpb89/Z+Tk+OyUocNG+ZWff31125qBAVNVTTVgVe6desWEqAOrgj7xx+M7du3r8tO9cqHH35oDz74oLur6QI0PF/TKPiDuVqnALCCpSo6BmUGe+Wyyy4zBVq98tBDD9moUaPc3dmzZ7u/8erUNgXtZ/iF0VxDFAQQQAABBBBAAAEEEEAAAQQQQAABBIpYIOlAqj+41rNnz2AQVf2uXLmy3XbbbcEh7RrGrYDoaaedFvGwNGxcQVQVBRc1r6iCfpovVUXzr3qB1FS26+9MMvWOHTs2WJWCyQqiesei+Ug17F/THEQq/kCqhsprW2X1qmiov1e8IHWkOvzLVIdXFNhUwFRzq5YtW9Z69OgREoyVdbyiQKo/cHrCCScEd1G2rRdA1kKd50RLqvuZaLtshwACCCCAAAIIIIAAAggggAACCCCAQEEEkgqkal5T/5ymkYacN2nSxHTThYlU5s6dGzGQquzHRo0ahfRdQT9dhMq7yNKcOXPc+lS2628wmXqVlRvPQkHQaIFUGSn7U/OzquiYFUhduXKlaQi+SoUKFYLBVX+/I/2vi0NpugQVTY2gTGFluB599NGmzF/dNI1CIkFU1aEMW100TEVz4U6fPt3Niaq61Wf/sbuNEiyp7meCzbIZAggggAACCCCAAAIIIIAAAggggAACBRJIOpDqb61OnToRG9eQcS+Q6p8GwL9xtAse+Zd7+yrgmap2/fUkU2/4hbbCh8mrHV3ZPlbRBaa8QKqGvN9www0h2ajKcFVwOZFy5ZVX2qJFi4LTKmgfTRegaQN007QJhx9+uN14443Wtm3bRKp0AWxd9EvBYGWopqIURT9T0S/qQAABBBBAAAEEEEAAAQQQQAABBBBAwC+Q1MWmvGH4XoUK1EUq/ivYh+/jbe/fxl+H5u/0SpkyZdy/4XUk066/rWTqzc3N9VflgpbhJd6Q91NOOSV4Iah169aZMnD986P26tUrvMqo96tXr27//Oc/7cknn7QLL7wwX7avdpw/f77dcssttnbt2qj1eCsUOL377rtt/PjxLogqK11o6je/+Y09/PDDdskll8StI9IGqe5npDZYhgACCCCAAAIIIIAAAggggAACCCCAQLICSQVSa9WqFRLU/OGHH/L1RwFFDQH3iobwRyrKnvTPl6ltFLCbNWtWcHNdvEglle36+5JMveEZtZrCILx4F2EKX+7dr1atmnXp0iW4WnOufvfdd+6+Ao7HHHNMtF0jLtew/datW7tg50svvWRDhw61QYMGBeeZ1U4KVPsv+BSxosBCTRPw/fffB1frYlV/+ctfXJC2c+fOtmfPnmi7xl2eyn7GbYwNEEAAAQQQQAABBBBAAAEEEEAAAQQQKIRAUoFUZSW2a9cu2Ow777xj27ZtC+nGu+++G7JMFzyKVBRwffPNN0NWKftx+fLlwWUdO3Z0/6eyXX+DydRbqVIla9q0abA6Hbc/K1Uub7zxRqRDD1mm4f1eefvtt4MXbtKFvMKzXqNVpukBNC2Ad9uyZYvbVPOwXnTRRTZkyBB3ITCvhAewveX+4fsrVqwIaa5FixbB+3v37g3JnA3ZMOyOv85U9TNWe6xDAAEEEEAAAQQQQAABBBBAAAEEEEAgFQJJzZGqDpx77rnBrMnVq1fbTTfd5K7urgxKZToOGzYs2M9WrVrFnI/zueeec1d/V8BUGZ3KovSKskU1lNwrqWzXD5lMvX379rWnn37aVacMzltvvdV+8YtfuKzPV1991cKDkf52vf9POOEEd1EpBV79gVhdqCrRIitlj3pBywceeMAFUDWH7datW93wfDl7RedFRReU8pcFCxa4Pihj1B941TaDBw+28847zwV6FSBWRnGkEqvOwvYzUjssQwABBBBAAAEEEEAAAQQQQAABBBBAoCgFkg6kHnfccdavXz8bNWqU66eyDO+44458fVbGppZHu0q8Aq+6mNRrr73mbv6ifTSXpzdHqtalqt3wjiZT79lnn20fffRRMKg4bdo0080rXoA0vE3/fV1MqkePHkFPrdN0CF6wM9a+3jpNMzBw4EB777333KKJEye6W6Si6QI6dOjgVslZba1cudLdV/BXN12YSlME6Bxt2LDBrRs3bpy7eaVcuXIuYKyiDFgFcVVfrDrbtGlTqH4GG+UfBBBAAAEEEEAAAQQQQAABBBBAAAEE0iSQ1NB+9dELcurq6wqmRSrt27d3wTj/0Pfw7TTsXFeQDx++rkzIe+65x7p27RqyS6raDe9HMvUqCKoLL7Vt2za8WtNQ+EgB5nwbBhb06dMnZLGyUaMFoCPtr2XXXXedXXzxxSHB5/BtdXErzXPqr1vZxJHaUhD73nvvNc3j6i/KOFXWrc6dV5SZPGLEiOD9aHUm08/wY+E+AggggAACCCCAAAIIIIAAAggggAACRSmQE8gc3J+qBjQcfcqUKbZ06VI3JFwZjEcddZQ1a9YsYhMKOo4cOdKtU1akhosrG3Ly5Mlu6HnDhg1d5qkyOWOVgrYbqy7/usLWK9Lp06e7C2XJQcffrVs3l6177bXXuiZKly5to0ePjtiVffv2uWCq/qq88MILMYPQESv5/wt1DOrLkiVL3HQBClRriL+C2/Xq1Yu4q4bpf/PNN24aAJ1DBVyVUayiOiZNmuTmrq1ataoLcEerx195rDq9egvaz4idZyECCCCAAAIIIIAAAggggAACCCCAAAJFIJDSQGpB+xcpkFrQOkrS9i+++KILPqo0b97cTjvttJDuaQ5Yb95XBVd1P1JREFPzq6ook/W///1vpM1YhgACCCCAAAIIIIAAAggggAACCCCAAAJpEkh6jtQ09TMjmpkzZ467wJaKMj9//vlnl7Gpq9prPtGXX345eBwDBgzId0zDhw93+3hzm2qDU089Nd92LEAAAQQQQAABBBBAAAEEEEAAAQQQQACB9AoQSE2h9/XXX++G0GtqAwVP//Of/7hbeFFwVBemCi/Dhg0LZrRqnYbV9+/fP3wz7iOAAAIIIIAAAggggAACCCCAAAIIIIBAmgUIpKYQvHbt2jZkyBCXUTphwgTTvKC6gr2yU2vWrGm6Sn2/fv2sS5cuES/opItVaQ7SGjVquDljf/WrX1nFihVT2EOqQgABBBBAAAEEEEAAAQQQQAABBBBAAIHCCBTrHKmF6TD7IIAAAggggAACCCCAAAIIIIAAAggggAAC6RYole4GaQ8BBBBAAAEEEEAAAQQQQAABBBBAAAEEEMg0AQKpmXbG6C8CCCCAAAIIIIAAAggggAACCCCAAAIIpF2AQGrayWkQAQQQQAABBBBAAAEEEEAAAQQQQAABBDJNgEBqpp0x+osAAggggAACCCCAAAIIIIAAAggggAACaRcgkJp2chpEAAEEEEAAAQQQQAABBBBAAAEEEEAAgUwTIJCaaWeM/iKAAAIIIIAAAggggAACCCCAAAIIIIBA2gUIpKadnAYRQAABBBBAAAEEEEAAAQQQQAABBBBAINMECKRm2hmjvwgggAACCCCAAAIIIIAAAggggAACCCCQdgECqWknp0EEEEAAAQQQQAABBBBAAAEEEEAAAQQQyDQBAqmZdsboLwIIIIAAAggggAACCCCAAAIIIIAAAgikXYBAatrJaRABBBBAAAEEEEAAAQQQQAABBBBAAAEEMk2AQGqmnTH6iwACCCCAAAIIIIAAAggggAACCCCAJjUOagAAIABJREFUAAJpFyCQmnZyGkQAAQQQQAABBBBAAAEEEEAAAQQQQACBTBMgkJppZ4z+IoAAAggggAACCCCAAAIIIIAAAggggEDaBQikpp2cBhFAAAEEEEAAAQQQQAABBBBAAAEEEEAg0wTyEu3wq6++aj/88IOdc845dtRRR9n+/fvtoYcesh07dtjVV19tDRo0cP8/+OCDVqZMGRs0aJD961//siOPPNIuvPDCRJsJ2e7FF1+0hQsX2q233moVKlQoVB3shAACsQX++te/2t69e/NtVLVqVbvhhhvyLY+3YOPGjfbEE0+EPPf1WlGqVCm75ZZb3O7h9+PV6V/P60JBtNg2VQJPPfWUrV69OmJ1DRs2tKuuuiriuqJa+Pnnn9tnn31mu3fvtnvuuaeomolaL8/DqDSsyBCBadOm2Zdffume13p/0vO4e/fu1rx587QfQaT3zVidKOx7aLraidX3VKzTdxJ9Dyns94tIfdBr6rfffmu/+93vrHTp0pE2YRkCCCCQFgF9vhs3bpzl5ubazTffbOXLl4/b7pIlS+z555+3Tp062emnnx53+1gb8Bkvlk7mr9uzZ4/df//9EQ+kQ4cOdtZZZ0Vcp4XhnyPC70fdMcqKTH6sJRxIbdmypQukLl++3AVS161b5wKnKkuXLnWB1BUrVrj7hx9+uAt86olcr169KGwsRgCBkiSg56u/FPbHi7Jly/LcL0knlr6kRKBNmzbWqFEjV9d3331n+/btc49zlerVq6ekjYJUMn36dBdEjfVhpyD1sS0Ch5KA9yU1Ly/PWrRoYTk5OTZv3jx76aWXXHBOSQCUkimgBAt9H0n1j1ddunQxBVMnT55sJ510Usk8eHqFAAKHhMDUqVPdcSrRZebMmda5c+dD4rg5yPQK6DOQAqf+0rhx45id4Hv+QZ6EA6lHHHGE22vZsmXBv/rgqV/wFUjt2rWrC7KqKOi6c+dO98uuPozqyb9q1Sp7+umn3X3tN3fuXKtYsaL169fPWrVq5fZbsGCBjRo1yjZs2OA+2OpLor+sXLnSRo8e7fqg7IFmzZpZ3759rVq1ajZkyBDT+ttuu810gv/+97+7/W+//Xa3re7XqVPHrrnmmpA6uYMAAuaek9F+vdTz7dlnn3XPa/14oue7nvc9evSwMWPGuGye+vXr27nnnusCSuHPfWXybd++3TE/8sgjVqlSpZD7ylKdNWuW++V1/fr1rg7V3a5dO7dPvNcFzh8C6RBQpppXZsyY4R7n/ueM9x6nHxqVzaTnhUZrfPHFF/bVV1/Z5s2b3Q+MRx99tPXq1cutj/eeqC/0um3atMkqV65sHTt2dBlz2m/NmjWuO++88457X9XzJNJzKFK/Bg4c6OoI7yvPw3Q8kmijuAW2bt1q48ePN32B0HNUnw1V9BxSIHXixInuORXrM2dB3xcXLVpkQ4cOdfWqfSUe1K1b1wYMGODeTyOVaM/H8PfUeO+h/6+9OwGTqjrzP/423TTQ7Pu+iYgoq8gmjCyyBCSQEMFnCONoHNFkNP84ZhuTGDMZZzI6STRxjJMMiaiouGAQEBDFBSWCYgZlX5u1u2m2hga6m6b7f3+HqbK66LrdVV1IUfU9z9MP1F3OPfdz69a99dZ7zq2s7tBpkT6j9BkReu3220517vF3795ty5cvd65169a1/v372+jRo+355593QeyZM2e6RIySkhLXa6VZs2YuOzS8rFy50iVvyC3a46C6In2u6rtDnz597C9/+YsNHTrUvT8oCCCAwBctoMxSxUJ69uzpfjT69NNPKwRSI32WhrfzzTffdPeg+k41cuRIvmuFA/Haxcwiff+PdG8Q/j2/MsZI9y9aNpm+11d7jFQFP3Tjohsg/TqimxfdfOqmR4EVlUAgVUHQSGXLli0uTV3Rb305XLBggcvs0QeGbqYKCgrch8WpU6eCQVvVpRtPpf4GgrYKsqgu3fSqPYFtql36ghkIwqpNumFVF6BAMDhS25iOQKoK6PxYtGhRhT+dX6FFP360bNnS9EuVzrO5c+e6jHP9oKFzTF9MKyvTp093H9TqlnLrrbda+Gudoy+99JL70qIvlfqCNX/+fPdBW9XnQmXbYxoCF1Ng69atpj8FAfQe1o1so0aNbMyYMe5HAt2Y7NixI9jESNdE3UgvW7bM/fAwfvx4d+698847pkxUnUOqSz+AfPOb37T8/PyI51BgQ6Htqmwa5+HFfNew7S9SQEFN3XfqR/xAEFXbV5f+e++916ZNm1blPWegvdFeF3W+64dHfanVeavrqL6UhBe/8zGaa2h4veGv/T6jYtlOpM8z3dtrX9UFUF/qdR+hz0IFLQM/muozSkXHR/f1+qEnvOh7gzJS1UMgtFT3OPh9rqo+bVPBY9VHQQABBC6GgIadURk2bFgwzqJEExW/z9LQtiqjVZ+x6jml643fNYXvWhfjKCfGNnX/Ef79XzE0v3uDqlqeSu+1qH5uVUaaAib65VmBFHVz1M2QAig6sQWnG0R98dPNUmVFgVdlrqnoJlKBUd206NcWjdcwceJEU/ca/f/Xv/61C6iqKK1d2XCjRo1yGTkqOtBaT7/MKEiqX6lVn760KhijsVrVJmWkqvgFeN0CFARSWEAZ5KFF2XOh3Rv1xUW/WumHit/97nfu4j5lypTgWCmFhYWV6imgpHNQfy1atHDLhL7WB7iKstM7derkPlOeeOIJl9GuL7l+nwuVbpCJCFxEAV1/1PNBPxgq61TZn3pPKzCg66eunQoG6DqpEumaqB8PVfQjh65n48aNs0OHDlnz5s1dkDaQLaVzxO8cCnRRDW2XruEqodP86uA8dFyUJBEI3FdqHPDwonNCRVnkfvecur9Uifa62LlzZ3efq6L6lf2qoF1g2BA3wysaPkSlsuuiAr3VvYZWNd6reoZF+ozSPXN1txP4nIn0eabsFN2zjx07NniPv3TpUvc5poC2/lUgVfsb+KGpskCqAqEq4V7VPQ5+n6uqVwkjKvpeoWwwCgIIIPBFCuhzUr2edK+nrHtlyStjX/EOBUT9PksD7VTsQ9cQfU4qQUXF75rCPd4XeYQTa1v6jh3+/V+JH373BoHv8pH2JJXea1EHUpURoyi1gilDhgwJdklSoFOBlPBxFsORQ8ddDNyI6ouiArEqCsSq6KZKGTi6mVHRF0+V0DFXtaw+WDRPHzT6shkIpOqLq7pX6sNERRlxVY354BakIJCCAspse+CBB3z3XOeXSuCHifDXviv7zAyc2xogPbTo11edtyqRPhd8qmUWAhdFQO9VBVFVdCOia6OClPp/4P0c2rBI10T9cKnupbqhVvd9FV3/KuuC43cOBbYV2q7KpvnVwXkYesT4/6UuEDjnNNxGaNG9qLIddf9Z1T1n4ItE+HUw/HW4VegXEN3jqgS2Fbqs3/kYXmc0y4avW53PqMA61dlOpM+zgLV+BFKRcehnmX601WelEiwUNNDnVWDZ0DYHvitoqJPQEu4e/jqwbFWfq2qX9iGwnQob4QUCCCBwgQXUlV/Dm+h7me4dAz1sA4FUv8/SwA9NgR/L9WO+ltcPhH6f39zjXeCDmsDV6x4g8CDo0GYqwFrV95dIu5VK77WoAqmBbNOPP/7YZcnolw7drOhmUL/eq8TafT6QGaCTX/XqACr7JlACWQL6UNCNkIqGGVDRPAV39Mu7ftlXNqwCupqmtHYVzQsEgNwECgIIJISAPsRVbr75ZjfesTL39AOIvigFxoGM9LmQEDtAIxCIIKDrj354VC+Mq6++2l2P1NW/OkXXvy5durgeGLqmKaCq9TUOqsYSDC1+51B1tqVl/OrgPKyuIstdCgLKCtX9oL6w6ge7QMBOmZDqfq6eETpfVSLdc8a6n4H7Vq0f+KG/ssxYv/MxfNvRLBu+bjSfUTXZTmBdPahWWasKDuiZCMqEUlKGuvfrS9vq1avdMVHm6oUo0XyuXojtUycCCCDgJxB4yJQ+q0LjIOp+r2Qxv8/SQEa9/tUY1IsXL3bPltE9qN/nN/d4fkckNedFc28QLpRK77WoAqmCUhDzk08+cQFUpZ2rKNNT0/QrbuAkDket6rW68GiIAA1Erxst3WAGuuBoXXXbWbFihelJqxrPQX/6dUZt0JdNFXVDUsq7vnQGsk8DXbjo1l/VEWB+KgsExkgNN1B6fzyKvrSqG6PGd9QXptDXGi9ZNw76MUZfXgNjOU6ePNmNV+b3uRCPtlEHAhdKQOMwqigIqhtiBQmqWxSA1Q2wrl36gTLw0JfKgi5+51B1t+dXB+dhdRVZ7lIQ0LAa6oqua4seqKTzSz/gBcbFHD58uMuI9Lvn1DAdsRSt98ILL7gvtbpvVlu0/cC9aqBOv/NRy1T3GlpVG6v6jIrXdnRtV482/RCkzzLd48tbD4xV0eecvlfIRCUQyA5vfyCpQllWlWWshi8f/rqqz1Ulcah9lX3OhtfFawQQQCCeAsrk02eUeh/deeedwaoV29CzJDR2qq5Pfp+lWknXLyWUffTRR+4HKg2Z6HdN4R4vnkcxOeqq6t7Aby9T6b1W7YdNBcAC2aAat0Np5yqBoKVuBgPT/IArm6eAqMZ90s2lvmyqe01oN37dbN5yyy0uW1VP3FQQVeMq/d3f/V0w0zQQLFUbFNDVB0mgPQRSK1NnGgKfC2iMlPA/dS+JR9ED5FT0JUol9LV+CPnKV77ifgDRr6cKOKnLn35NrepzIR5tow4ELpTAdddd565ZegDLpk2bgg9VCWSi+W130KBB7kEDyhRQ5pZuhnWzW9mPG37nkN82Quf51cF5WF1FlrtUBDTWnMYGVS8IfUlVd3Kdq7qn1L1sde45Y9lXBQgVqNOPh7pP/frXv+7G8w8vfuejlq3uNTS83vDXVX1GxWs7cp4xY4Z7SJ4SIhRQVra9PudUNByKbPSjrr5TRApkKltYRWNNx1Kq+lxVxrDaENhOLNtgHQQQQCAWAcU2VMLHZ1YMQ5+Rug9Ubz2/z9LAdhX/CNwvvv766+4zje9asRyV1FynqnsDPxW/+5dk+z6R5t0wlPthMA8BBBBAAAEEEEAAAQRiE9CT6OfMmeMygwIPm4qtpuRdSz82vfjii+6BU4EAa2V7K0f9yHvHHXdUNrtG0/QALGV93XfffcEH+tWoQlZGAAEEEEAAgaQUiDojNSkV2CkEEEAAAQQQQAABBBD4wgU0pI96mymLSkN5+RUNy6CM1upk9vvVEz5PwVllCushf+oVR0EAAQQQQAABBCIJEEiNJMN0BBBAAAEEEEAAAQQQuKACGr4kPz/fdUXVsAp+RQ+P1dBeK1eu9Fss6nkaT7BevXoukEpBAAEEEEAAAQT8BOja76fDPAQQQAABBBBAAAEEEEAAAQQQQAABBBBAwBMgI5W3AQIIIIAAAggggAACCCCAAAIIIIAAAgggUIUAgdQqgJiNAAIIIIAAAggggAACCCCAAAIIIIAAAggQSOU9gAACCCCAAAIIIIAAAggggAACCCCAAAIIVCFAILUKIGYjgAACCCCAAAIIIIAAAggggAACCCCAAAIEUnkPIIAAAggggAACCCCAAAIIIIAAAggggAACVQgQSK0CiNkIIIAAAggggAACCCCAAAIIIIAAAggggACBVN4DCCCAAAIIIIAAAggggAACCCCAAAIIIIBAFQIEUqsAYjYCCCCAAAIIIIAAAggggAACCCCAAAIIIJCxc+dOFBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQR8BMhI9cFhFgIIIIAAAggggAACCCCAAAIIIIAAAgggIIG04uLicigQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEIguQkRrZhjkIIIAAAggggAACCCCAAAIIIIAAAggggIATIJDKGwEBBBBAAAEEEEAAAQQQQAABBBBAAAEEEKhCgEBqFUDMRgABBBBAAAEEEEAAAQQQQAABBBBAAAEECKTyHkAAAQQQQAABBBBAAAEEEEAAAQQQQAABBKoQIJBaBRCzEUAAAQQQQAABBBBAAAEEEEAAAQQQQAABAqm8BxBAAAEEEEAAAQQQQAABBBBAAAEEEEAAgSoECKRWAcRsBBBAAAEEEEAAAQQQQAABBBBAAAEEEECAQCrvAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAoAoBAqlVADEbAQQQQAABBBBAAAEEEEAAAQQQQAABBBAgkMp7AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQqEKAQGoVQMxGAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQyYiH43coCyz1+1n52Y7Pg6utzSuxb8/Jt7Z5i69Yywx77WksbdUW9WKqvsM6FqrfGDaMCBJJEYMOGDfbBBx/YkSNHrFmzZnbDDTdYt27dKuxdWVmZPf3009a/f3/r27evm5efn29LliyxnJwca9q0qY0bN866dOni5qnO999/344ePWoNGjSwa6+91oYMGeLm7d6929566y07ePCgZWVl2cCBA23o0KFuXqCsXbvWCgsLbcSIEcFpJ0+etGXLltmOHTssMzPT1Td48GA3368tIdXyXwRqJMC5UiM+VkYgYQSiuWb4LRvrvISBoCEIIIAAAgkj4HdNSZhG0pCkEOC9VvPDmP6Tn/zkwepWszG3xF78pNB+vvSIDehUNxgoPVtmNuo3++1LPbPs1VltrUGdWnbXC/l2+9BGlpUZe9Lrhaq3uvvLcggku8D+/fvtz3/+s02aNMkmTpxozZs3t4ULF9pVV11lderUCe7+e++9Z5s2bbLu3btbmzZtrLy83J555hm77LLLbNq0aW7Z119/3fr162fFxcX27LPP2o033uj+Onbs6OZ16NDBBUDnzJljgwYNsq997Wtu3vLly61hw4bWqlUrO3TokG3cuNEFYdu2bRsMzKohL774ojVu3NhuvvlmF+hVELd9+/bWqFGjiG2pXbt2sh9C9u8LEuBc+YKg2QwCF1jA7/oVfs3wWzYjIyPitcdvXvg2LvDuUj0CCCCAwCUg4He94bpxCRzAS6iJvNfic7CiinJ+sLPINnnB1KZZ6RW2vmZ3kR08cdYemNDMGtWtZf9wXSPr2DTDFq4/ZXle5mrHn2TbI28esw4/zrZWP9xlv//guN07/5C1vX+X+3vu4xOV7o1fvWXlZv/82mFr96Nsa3DfThv7+AHbd6y00nqYiAAClQsoO7Rz587WtWtXS09Pd4FRvd6yZUtwhb1797rXCmwGioJKyhC9/vrrXRBVAVQFNLdt22a1atUyfYnU9MC/qls3Afv27bN69eq5LFTNU3BVQdvs7GxXtbalYGrdunUrNFi/mimDdcyYMW6e2nLbbbdZixYtzK8tFSrhBQI1EOBcqQEeqyKQQALRXDP8lo11XgJR0BQEEEAAgQQR8LumJEgTaUaSCPBei8+BjKpr/x1egFTl1mfyKmxdmao9W9e2Ohlpwel929exzXklNsHLUlWQtai0zPb8vIvN/stxu/vFfPv3yc1t/0Nd7bG3j3kZrkdtxrUNz9sjv3qXbDzpsmNX/VN7a9Eg3W599qD9x/Kj9ttpLc+rhwkIIFC5gAKRH330keuCr+75hw8fdsHM+vXruxWKiops8eLFNmXKFFuxYkWwEgU7ta4CpIHSunVrFwTt06ePjR8/3ubOnevmnz171oYPH+6CnyUlJTZz5szgOvpFLDc316644go3TUMHqLz22mvBZfQfLaNhB5QZu3nzZhekVTBW29q6dWvEtlSohBcI1ECAc6UGeKyKQAIJ+F2/wpvpt6yGvIl0HfSbF74NXiOAAAIIIOB3vUEHgXgK8F6Lj2ZUgdRImzxdUm5ZXnf+0NKgTpqdKvb6/P9fuW90U6vlxVlHda9ntdPT7NsjG5977Y2j+isvmFpZ8as3zdKsuLTcso+UWrsmGfbUzFZ25mxltTANAQQiCairvn6Vmj17tssQVRd7BUQV/FTRmKQaEzU0G1XTz5w54zJMQ4tea7rGWlV3/alTp7oAqep/+eWXrVOnTi7bVd37VRS0feONNywtLc0GDBhQoa7wFwroaixWrT9jxgwXsF2wYIEbY9WvLeH18BqBWAU4V2KVYz0EEksgmmuG37KxzkssDVqDAAIIIJAIAn7XlERoH21IHgHea/E5lnEJpDbwuvMr6BlaCovLrXWjz7PVsjLPZat6MRPL9AKpGYqqekWvIxW/eidclWU/ndjMfrr4iClzdWDnOvag93pQ54pdgiPVzXQEEND5l2ajRo1yXfSVLapu96+88orrPr9+/Xo7ceKETZ48+TwqZYTqQzi06LUyWTUMQLt27axHjx5udqD7vupTILS0tNTeeecdN+aqHhalIGpoZut5G/MmKMiroQPUVpUmTZpYr1693LY0zmqktlRWF9MQiEWAcyUWNdZBIPEE/K5f4a31WzbWeeHb4DUCCCCAAAJ+1xR0EIinAO+1+GjGJZB6pdetf4vXjf/M2XKXbaqi4ObI7o1r1Eq/encePmPXd6tnGm7glBfEfWJlgf3tn/Jsx4Oda7RNVkYglQSU2bl27VrXFV9BVHVH1DimPXv2tO3bt7su9Y899pgj0UOklBWq4OWwYcNcRqmW15ioKhrHVIHS06dPu4dRhRa91nL6d968eS4oOmvWrAoPtKqwQtgLdetXICu06LX+9ICsSG3xq5N5CEQjwLkSjRbLIpC4AtFcM/yWjXVe4srQMgQQQACBiyXgd025WG1iu8kpwHstPsc1qodNRdrkwE51rVXDdHv07QIvUGI2f12h7Tx0xr7c+9w4i5HWq2q6X73LNp6yaX/MsT1e1/50by8Uvw0do7WqupmPAALmApobN260devWuUCpMkWV/aluzGPHjrU777zTbr/9dven7v0a63TSpEku41TZp6tXr3aMGrf02LFjbj1151cwVhmoyhTdtWuXbdiwIRic1Xisqkfd9QsKCtyfgq9+RVmtKqtWrXKZs3rwj+rXg6r82uJXJ/MQiEaAcyUaLZZFIHEFqrpmaNxt/TCo4rdsrPMSV4aWIYAAAghcLAG/a8rFahPbTU4B3mvxOa5pXvCkYupYNerVw6Y6N6ttP7uxWXDpTV4G6h3PHbTPckqsozdmqR76NMob/zTv+Fnr9EC2FT/azS27wwuwDnx4nx15uKt7vW5/sU16Msf2eg+iqqxEqldZqN+cd9AWfnbKSrxM2H7tM+3XN7W0gZ3qVFYN0xBAIIJAdna2LV261AU0FbBUdqoeoBFe9PAodafXmKkqytDTg6gOHjzoArJar0uXLm6egqd6OJWW0TwFTnv37m3vvvuuC4aGF3XvHzduXHCyHjbVuHFjGzFiRHBaXl6ea6eyYgN16mFTKn5tCd8WrxGIVYBzJVY51kMgsQT8rhlPPPGEu86p54WK37KxzkssDVqDAAIIIJAIAn7XlERoH21IHgHeazU/ljEFUmu+WWpAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQuHYG4dO2/dHaXliKAAAIIIIAAAggggAACCCCAAAIIIIAAAtELEEiN3ow1EEAAAQQQQAABBBBAAAEEEEAAAQQQQCDFBAikptgBZ3cRQAABBBBAAAEEEEAAAQQQQAABBBBAIHoBAqnRm7EGAggggAACCCCAAAIIIIAAAggggAACCKSYAIHUFDvg7C4CCCCAAAIIIIAAAggggAACCCCAAAIIRC9AIDV6M9ZAAAEEEEAAAQQQQAABBBBAAAEEEEAAgRQTIJCaYgec3UUAAQQQQAABBBBAAAEEEEAAAQQQQACB6AUIpEZvxhoIIIAAAggggAACCCCAAAIIIIAAAgggkGICBFJT7ICzuwgggAACCCCAAAIIIIAAAggggAACCCAQvQCB1OjNWAMBBBBAAAEEEEAAAQQQQAABBBBAAAEEUkwgY9++fSm2y+wuAggggAACCCCAAAIIIIAAAggggAACCCAQnUBauVeiW4WlEUAAAQQQQAABBBBAAAEEEEAAAQQQQACB1BKga39qHW/2FgEEEEAAAQQQQAABBBBAAAEEEEAAAQRiECCQGgMaqyCAAAIIIIAAAggggAACCCCAAAIIIIBAagkQSE2t483eIoAAAggggAACCCCAAAIIIIAAAggggEAMAgRSY0BjFQQQQAABBBBAAAEEEEAAAQQQQAABBBBILQECqal1vNlbBBBAAAEEEEAAAQQQQAABBBBAAAEEEIhBgEBqDGisggACCCCAAAIIIIAAAggggAACCCCAAAKpJUAgNbWON3uLAAIIIIAAAggggAACCCCAAAIIIIAAAjEIEEiNAY1VEEAAAQQQQAABBBBAAAEEEEAAAQQQQCC1BAikptbxZm8RQAABBBBAAAEEEEAAAQQQQAABBBBAIAYBAqkxoLEKAggggAACCCCAAAIIIIAAAggggAACCKSWAIHU1Dre7C0CCCCAAAIIIIAAAggggAACCCCAAAIIxCCQEc06jyw/bL95+6jlHD9jbRvVtm9e38T+eXwLyztRah3u32alj/esVnWfHSi2WXNz7OPdRXZ5q9r2+M1t7IYe9au1rt9CF6pev20yD4FLXeCzzz6zd999144cOWLNmze38ePH2+WXX15ht8rKymz27Nk2YMAAu+aaa9y8gwcP2sKFC+3AgQPWrFkzmzhxonXt2tXNC62zYcOGNmjQIBs2bJibl52dbcuWLbO8vDyrX7++DR482IYPH+7mBcqaNWussLDQRo8eHZx28uRJW7x4sW3bts3q1Klj1113nftT8WtLSLX8F4EaCXCu1IiPlRFIGIForhl+y8Y6L2EgaAgCCCCAQMII+F1TEqaRNCQpBHiv1fwwpj/olepU85edp+2u53Nt0T92cIHPYd2y7BvP5NiYK+tb06x0+9VbR+yBiS2rrOpsmdnwX+62iVc3sEXf6mgN66TbPzybY7OGN7WszNgTZC9UvVXuEAsgcAkL7Nu3z15++WX7yldUHH6OAAAgAElEQVS+YpMnT7YWLVrYq6++ar1793bBykB5++23bcOGDdajRw9r27atlZeX2x//+Efr3r27zZgxwzIzM+21115zgdaioiL705/+ZFOmTHF1du7c2c3r1KmTq/N//ud/bOjQoXbzzTe7eUuWLLFGjRpZ69atLT8/39avX+8Cu+3atQsGZtWO5557zpo0aWJf//rXXaBXQdyOHTta48aNI7aldu3al/DRoemJJMC5kkhHg7YgELuA3/Ur/Jrht2xGRkbEa4/fvPBtxL4nrIkAAgggkCwCftcbrhvJcpQTYz94r8XnOFQ7ctm2cYa9emcHG9i5nmXUSrPG9WpZ3dpp1qDu51X898qjLjO1/ne22N/POWAKboaX1dmnLe94qf1sUktr5K07a3gT69Ssti1Yd8JyveltfrjNfrHssLX+wTZrct8We9Kr89sv5lnz7211f8+uKQiv0r32q7es3Oz7rx60Ft76mfdstpG/3m17j56ptB4mIpBKArt27XLBym7dull6err7t0uXLrZx48Ygw+7du23Tpk0usBkoCiopQ3TUqFEuOKoAqgKamzdvtlq1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" alt="" width="1220" height="369" />

原创文章,转载请注明: 转载自http://www.cnblogs.com/tovin/p/3971113.html

上一篇:《剑指offer》-数组乘积,不使用除法


下一篇:Spring IOC容器启动流程源码解析(一)——容器概念详解及源码初探