tag:blogger.com,1999:blog-24632484619411701562024-02-08T14:12:21.379-05:00Carton's Content BlogExploring software technology — Thinking outside the box.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.comBlogger61125tag:blogger.com,1999:blog-2463248461941170156.post-31959096255424053042016-08-26T14:55:00.001-04:002016-08-26T14:55:20.357-04:00Listing SOLR Collections, JavaEvery now and then I need to get the list of collections in a SOLR cloud instance from a Java program. The docs seemed opaque on how to do it, so:<br />
<br />
<span style="font-family: Courier New, Courier, monospace; font-size: x-small;">CollectionAdminResponse response = new CollectionAdminRequest.List().process(server);<br />ArrayList<string> cols = (ArrayList<string>)response.getResponse().get("collections");</string></string></span><div>
<br /></div>
Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-55108162767038836382015-11-23T12:08:00.003-05:002015-11-23T12:08:45.049-05:00Changes to .gitignore - Updating the RepositoryI frequently start a git project without a .gitignore or often add entries to a .gitignore later. And then I have to update the repository to remove entries that match those entries. Here's the sequence I use:<div>
<br /></div>
<blockquote>
<span style="font-size: x-small;">git rm -r --cached .</span></blockquote>
<span style="font-size: x-small;">and then </span><br />
<blockquote>
<span style="font-size: x-small;">git add .</span><span style="font-size: x-small;">git commit -m "..."</span><span style="font-size: x-small;">git push...</span></blockquote>
Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-46956490525300735872015-11-11T09:55:00.000-05:002015-11-11T09:55:51.353-05:00HTML Flash MessagesOccasionally, and especially during the debugging phase of a development effort, I like to be able to create a message that appears in the web page on which I'm working, one that disappears after a few seconds. A flash message.<br />
<br />
In the past, I've accomplished this in a variety of ways, including timeouts and so on. And some frameworks (Tapestry, e.g.) provide this kind of thing from the server as a built-in mechanism. But I'm just interested in doing this from within javascript.<br />
<br />
Anyway, I was recently fooling around with prototypes and extending the javascript String object, and it occurred to me that a String extension to flash a message would be trivial to do, epsecially with JQuery to handle the timing parts. So I wrote this:<br />
<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">String.prototype.flash = function(){</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> $(".flash").html(this).fadeIn("fast");</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> setTimeout(function(){</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> $(".flash").fadeOut("slow");</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"> }, 3500);</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">}</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"></span></span></blockquote>
Coupled with a <div>
element in the HTML in which to display the message</div>
<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"><div class="flash">
</div>
</span></span><br /><span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;"></span></span></blockquote>
I am able to write flash messages off typical JS Strings:<br />
<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><span style="font-family: "Courier New",Courier,monospace;">("This is COOOOOL...").flash();</span></span></blockquote>
Which will show that message inside the DIV, then get rid of it after 3.5 seconds. I could extend it to parameterize the time and even the fade effects. But sometimes simpler is bester.<br />
<br />
https://gist.github.com/scarton/98aa2588f1e66e022f64Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-44554011218196567312015-11-07T14:10:00.001-05:002015-11-07T14:10:21.621-05:00Creating an MD5 Hash From a String in JavaUsing the MessageDigest Class, here's code to create an MD5 Hash of a String:<br />
<div>
<br /></div>
<div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">public static String makeAuthKey(String k) {</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> </span><span style="font-family: 'courier new', courier, monospace; font-size: x-small;">MessageDigest </span><span style="font-family: 'courier new', courier, monospace; font-size: x-small;">hasher = MessageDigest.getInstance("MD5");</span></div>
<div>
<span style="font-family: 'courier new', courier, monospace; font-size: x-small;"> byte[] kbh = hasher.digest(kb);</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> String bs = new BigInteger(1,kbh).toString(16);</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;"> return bs;</span></div>
<div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: x-small;">}</span></div>
<div>
<br /></div>
</div>
<div>
<br /></div>
Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-21583676460241994382015-11-07T13:58:00.001-05:002015-11-07T15:07:26.947-05:00Java/Spring CachingFile it under "another thing I need to do a lot"... Some kind of caching of java objects.<br />
<br />
Turns out there is a neat cache library from google called Guava that's very easy to inject into Spring and easy to configure and access.<br />
<br />
The Spring beans look like this:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;"><bean id="cacheBuilderSpec" span=""></bean></span><br />
<span style="font-family: courier new, courier, monospace;"><bean id="cacheBuilderSpec"</span><br />
<span style="font-family: courier new, courier, monospace;"> class="com.google.common.cache.CacheBuilderSpec"</span><br />
<span style="font-family: courier new, courier, monospace;"> factory-method="parse"</span><br />
<span style="font-family: courier new, courier, monospace;"> c:cacheBuilderSpecification="${cacheSpecification}" /></span><br />
<span style="font-family: courier new, courier, monospace;"><br /></span>
<span style="font-family: courier new, courier, monospace;"><bean id="cacheBuilderFromSpec"</span><br />
<span style="font-family: courier new, courier, monospace;"> class="com.google.common.cache.CacheBuilder"</span><br />
<span style="font-family: courier new, courier, monospace;"> factory-method="from"</span><br />
<span style="font-family: courier new, courier, monospace;"> c:spec-ref="cacheBuilderSpec" /></span><br />
<span style="font-family: 'courier new', courier, monospace;"><br /></span>
<span style="font-family: 'courier new', courier, monospace;"><bean id="cache"</span><br />
<span style="font-family: courier new, courier, monospace;"> factory-bean="cacheBuilderFromSpec"</span><br />
<span style="font-family: courier new, courier, monospace;"> factory-method="build" /></span><br />
<div>
<br /></div>
<div>
<br /></div>
And where the injected $cacheSpecification looks like this:<br />
<br />
<div class="MsoNormal">
<span style="font-family: "courier new"; font-size: 10pt;">cacheSpecification=expireAfterAccess=12h,maximumSize=100</span><span style="color: #1f497d;"><o:p></o:p></span></div>
<br />
Using it in my code then becomes a simple matter of injecting the 'cache' bean into whatever class I'm using and then accessing it with these kinds of code:<br />
<br />
<span style="font-family: "courier new" , "courier" , monospace;">cache.getIfPresent(object)</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">cache.invalidate(object)</span><br />
<div>
<br /></div>
Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-28569373784169814122015-03-07T10:38:00.004-05:002015-03-07T10:38:51.787-05:00Windows Explorer Opening to a Particular FolderDumb Windows Things annoy me, which means I'm annoyed a lot :-)<br />
<br />
One thing is that opening Windows Explorer always opens to the user's "home" directory. As a developer, that's almost always the last place I want to be. What I really want is to have a shortcut that opens Windows Explorer on a specific folder, or on the root of my C: drive.<br />
<br />
Turns out, this is trivially easy. Open properties on the link and add the folder to the end of the "Target":<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"> %windir%\explorer.exe C:</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Voila...</span>Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-51029918179693248412015-02-14T10:52:00.000-05:002015-02-14T10:52:30.352-05:00Laptop Sleep Versus Shutdown after a Windows Upgrade FailureI have a Dell XPS laptop running Windows 7. Recently, MS pushed out an update which, for some reason, never really completed - I was left with a message about Windows shutting down after the upgrade was complete. I had left the machine on to perform the upgrade overnight, so it was a surprise to see this the next morning.<br />
<br />
Well, not figuring out anything else to do, I pushed the power off button and then again to restart the laptop. Every time I did this, I would end up at the same place - with the message that Windows would restart after is was complete. I tried to get into safe startup mode (F8), but that never worked. I was getting a little concerned and called an IT guy to help.<br />
<br />
He suggested that when I power off the laptop, I hold the power button down and not just press it. Well, that worked fine. I should have realized it, but simply pressing the power button puts the laptop in sleep or hibernate mode and then pressing it again starts back where it was left off. I knew how this worked in normal operations, but was surprised (though shouldn't have been?) to find the same during an update. So - lesson learned...Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-35915434925161091102015-02-06T14:26:00.001-05:002015-02-06T14:26:40.927-05:00Internet Connection Failure...Weirdest thing happened. After starting my laptop (Dell XPS 17, Windows 7), I had no internet connectivity. The network connections were fine - I could see other machines on my domain, but no connect out to the internet. My laptop is set up with an external monitor (<a class="a-link-normal" href="https://www.amazon.com/gp/product/B00LV8TKEC/ref=oh_aui_detailpage_o07_s00?ie=UTF8&psc=1">LG Electronics 34UM94-P 34-Inch LCD</a> - waaay cool!), mouse and keyboard. And the keyboard and mouse are USB connected to the monitor, which in turn is connected to the XPS laptop.<br />
<br />
Did a bunch of poking around for possibilities. In the end, what worked was shutting down the laptop, unplugging the USB and the monitor, and then restarting the laptop. It came up fine, with full network and internet access. Then plugged in the monitor - still had internet; and then the USB. Internet and network access was fine and the keyboard and mouse worked.<br />
<br />
Don't know why, but recording this for posterity!Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-89399934212335824332015-01-26T10:14:00.002-05:002015-01-26T10:14:08.902-05:00Installing Oracle Java in Ubuntu, Something I seem to do a lot!I create Virtual Box Virtual Machines for just about every project, so I end up installing Java on them a lot. I like the Oracle JDK, but for licensing reasons, that install is not available as part of the "normal" apt repository.<br />
<br />
I installed Java via a PPA (http://askubuntu.com/questions/4983/what-are-ppas-and-how-do-i-use-them) by webupd8team (http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html). I ran these commands to add the PPA to the apt-get repo and update that repo, install Java7, and set up the various java 7 environment variables.<br />
<br />
add-apt-repository ppa:webupd8team/java<br />
<pre class="linux-code"><code>apt-get update
apt-get install oracle-java7-installer</code></pre>
<pre class="linux-code"><code>apt-get install oracle-java7-set-default</code></pre>
<div>
<code><br /></code></div>
This installs the java 7 version. Same commands work with 8 by changing the version number.<br />
<br />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-34105186741594636082015-01-24T16:40:00.001-05:002015-01-24T16:40:57.797-05:00Switching to an SSDI switched over to an SSD to replace the HDDs on my Dell XPS laptop. What a speed improvement. And, this is way too easy.<br />
<br />
I was a little nervous about going to an SSD for everything - I had read that there are limits to the number of write operations an SSD can support before failure. But a little online reading put my mind at ease - mostly the thinking that on a 3 year old laptop, the computer itself will be out of date before the SSD fails. The laptop is an XPS 17. It has an I7 quad code CPU, 16GB of RAM, and dual 750GB HDD drives. So I went ahead.<br />
<br />
I ordered a Samsung 850 1TB SSD from Amazon (http://www.amazon.com/gp/product/B00LF10KTE/ref=oh_aui_detailpage_o03_s00?ie=UTF8&psc=1). When it arrived, I also realized it did not come with a USB cable, so I ordered that next (http://www.amazon.com/gp/product/B00HJZJI84/ref=oh_aui_detailpage_o00_s00?ie=UTF8&psc=1).<br />
<br />
Once I had both, I installed the Samsung migration tool that came with the SSD and ran the clone from my C: drive to the new SSD. It took about 3 hours to clone about 650GB. Word to the wise: make sure nothing else besides the migration tool is running or the clone might be incomplete.<br />
<br />
After that was complete, I shut down the laptop, unscrewed that back panel and removed the #1 HDD. Then plugged in the SSD and screwed it in. It all fit perfectly. I booted the laptop, also no problems. And boot time was remarkably quick.<br />
<br />
And that's it. I am thrilled with the speed.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-61061425212309793332014-04-21T16:00:00.000-04:002014-04-22T11:44:47.486-04:00VirtualBox Ubuntu Slow Shared Folders Under WindowsOften, especially with large file transfers, it seems that the shared folders facility in VirtualBox (running Ubuntu, but not sure that matters), running as a Windows guest, are very slow.<br />
<br />
I added these lines<br />
<br />
<pre class="screen">255.255.255.255 VBOXSVR #PRE
255.255.255.255 VBOXSRV #PRE</pre>
<br />
<br />
To this file:<br />
<br />
\windows\system32\drivers\etc\lmhosts<br />
<br />
And then restarted the VM. I saw a big improvement.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-430705509554653652014-04-07T13:53:00.002-04:002014-04-07T14:31:30.648-04:00Shared Folders Issue on VirtualBox UbuntuI recently upgraded my VirtualBox Guest Editions to 4.3.10 and the shared mounts that I normally create stopped working. I was running this mount:<br />
<blockquote class="tr_bq">
<span style="font-family: "Courier New",Courier,monospace;"><span style="font-size: x-small;">sudo mount -t vboxsf Dropbox /home/steve/Dropbox</span></span> </blockquote>
And getting this error:<br />
<br />
<blockquote class="tr_bq">
<span style="font-size: x-small;"><i><span style="font-family: "Courier New",Courier,monospace;">mount: wrong fs type, bad option, bad superblock on /home/steve/Dropbox,</span></i></span><br />
<span style="font-size: x-small;"><i><span style="font-family: "Courier New",Courier,monospace;">missing codepage or helper program, or other error </span></i></span><br />
<span style="font-size: x-small;"><i><span style="font-family: "Courier New",Courier,monospace;">In some cases useful info is found in syslog - try</span></i></span><br />
<span style="font-size: x-small;"><i><span style="font-family: "Courier New",Courier,monospace;">dmesg | tail ...</span></i></span></blockquote>
<br />
After some research, it turns out that after the Guest Editions upgrade, the symlink for mount.vboxsf was broken. Here's what I ran to correct it:<br />
<blockquote class="tr_bq">
<span style="font-family: "Courier New",Courier,monospace; font-size: xx-small;">cd /sbin <br />sudo rm mount.vboxsf <br />sudo ln /usr/lib/x86_64-linux-gnu/VBoxGuestAdditions/mount.vboxsf mount.vboxsf</span></blockquote>
This did the trick. Thanks to this post for the tip:<br />
<br />
http://superuser.com/questions/736024/cannot-share-host-directory-with-virtualbox-guest-mint-16-64-bit<br />
<br />
UPDATE: this may be fixed in the next Guest Editions release:<br />
<br />
https://www.virtualbox.org/ticket/12879 Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com1tag:blogger.com,1999:blog-2463248461941170156.post-6053318190208653002014-03-20T14:19:00.001-04:002014-03-21T15:15:34.952-04:00Creating a Java, Marklogic development stack on an Ubuntu 13.10 VirtualBox VMI wrote about building a Java-based development stack using Ubuntu on a VirtualBox VM some time back (http://www.tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development.html, and http://www.tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development_04.html). But that was a couple of years ago and the technology has changed, so this is a rewrite. Also, that version didn't include Marklogic, which is a part of the stack for this particular application. So here's the stack I'm building out and the steps I took to get there.<br />
<br />
First off, I'm building this in Virtual Box 4.3.8, installed on a Dell XPS laptop quad-code I7, 16GB RAM and dual 750GB HDD running Windows 7. Second, some of these kits I installed using PPAs, so if you have security concerns about PPAs, you'll need to find other ways for those tools.<br />
<br />
The development stack I'm installing is this:<br />
<ul>
<li>Ubuntu 64bit 13.10 with VB Guest Editions </li>
<li>DropBox</li>
<li>Oracle Java 7</li>
<li>JEdit</li>
<li>Git </li>
<li>Maven </li>
<li>Tomcat 7</li>
<li>Chrome Browser </li>
<li>Eclipse Kepler</li>
<li>Marklogic 7</li>
</ul>
Installation Process:<br />
A. Create the Virtual Machine...<br />
<ol>
<a href="https://www.blogger.com/blogger.g?blogID=2463248461941170156" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=2463248461941170156" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=2463248461941170156" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a><a href="https://www.blogger.com/blogger.g?blogID=2463248461941170156" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"></a>
<li>Downloaded the Ubuntu 13.10 64bit Desktop ISO image from http://www.ubuntu.com/download/desktop</li>
<li>Created a new VirtualBox VM targeting a linux/Ubuntu 64 bit OS with 10GB Ram and an 80GB Drive. </li>
<li>Started that new VM and pointed it at the ISO image to install. (and chose to install rather than to try Ubuntu).</li>
<li>After answering all the usual questions (where am I), restarted the VM and mounted the VB Guest Additions. The ran them via the autorun. Installing Guest Editions is a critical part of making a useful VM in VirtualBox. Don't leave home without it.</li>
<li>Shut down the VM and opened the VirtualBox Manager Settings for my new VM; Changed the following:</li>
<li>General->Advanced:<br />Shared Clipboard=bidirectional<br />Drag'n'Drop=Bidirectional</li>
<li>System->Processor:<br />4 CPUs</li>
<li>Display->Video: 128MB</li>
<li>OK to save all that, then start the VM again.</li>
</ol>
<div>
B. General VM Stuff, and Dropbox...</div>
<ol>
<li>The default gnome desktop has a bunch of stuff I don't use (word processing and so on), so I removed and uninstalled them using the Ubuntu Software Center.</li>
<li>I like to be able to do things in root, so I changed the root password. Saves having to sudo all the time!<br />sudo passwd root</li>
<li>Next, opened a terminal (and pinned it to the launcher) and started in on the stack. and I switched to root user (su root).</li>
<li>Dropbox: I run Dropbox on the Windows machine and I don't see the point of running it in the guest Ubuntu VM as well. But I like having those folders and files available. So I create a shared folder and mount that in the Ubuntu VM.<br /><br />1. in Devices->Shared Folders Settings, create a new "Machine Folder" that points at the Dropbox folder on the Host.<br />2. Create a directory of the same name in Ubuntu (Dropbox, in my case).<br />3. Mount that:<br /> sudo mount -t vboxsf Dropbox /home/cup/Dropbox</li>
</ol>
<div>
C. Java, JEdit, Git, Maven...</div>
<ol>
<li>Java: If this is a new, clean Ubuntu install then there is no pre-installed Java. If you are trying to upgrade, you should check for and remove any extant Java installation.<br /><br />I installed Java via a PPA (http://askubuntu.com/questions/4983/what-are-ppas-and-how-do-i-use-them) by webupd8team (http://www.webupd8.org/2012/01/install-oracle-java-jdk-7-in-ubuntu-via.html). I ran these commands to add the PPA to the apt-get repo and update that repo, install Java7, and set up the various java 7 environment variables.<br /><pre class="linux-code"><code>
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java7-installer</code><code>apt-get install oracle-java7-set-default</code>
</pre>
</li>
<li>JEdit: Installed this via the software center. This installed version 5.which is good enough for my purposes. </li>
<li>Git: simple - sudo apt-get install git</li>
<li>Maven -- also simple sudo apt-get install maven</li>
<li>Tomcat7 -- Installed directly from the Ubuntu Software Center.</li>
</ol>
<div>
D. Chrome Browser...</div>
<ol>
<li>Chrome Browser: Via PPA:<br /><span style="font-family: Courier New, Courier, monospace; font-size: x-small;"><br />wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -<br />sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'<br />apt-get update<br />apt-get install google-chrome-stable</span></li>
</ol>
<div>
E. Eclipse...</div>
<ol>
<li>Eclipse: A bit of a pain in the neck, I followed this guide: http://blog.thismagpie.com/2012/07/installing-eclipse-juno-42-on-lubuntu.html. Downloaded the Eclipse Linux 64 tar.gz distribution and saved that file. Then ran these commands as root:<br /><pre><code>
tar -zxvf eclipse-...
sudo cp -r eclipse /opt
cd /usr/local/bin
</code>cp -r /opt/eclipse/eclipse eclipse
After that, I ran eclipse from the command line and then pinned it to the launcher.</pre>
</li>
<li><pre><span style="font-family: Verdana, sans-serif; font-size: x-small;">One issue I had with Eclipse was that the command menus didn't work. I had to edit the eclipse.desktop file in </span>~/.local/share/applications<span style="font-family: Verdana, sans-serif; font-size: x-small;"> to get it to work by commenting out the Exec and adding this one:
</span><pre><code>Exec=env UBUNTU_MENUPROXY= </code>/usr/local/bin/eclipse</pre>
</pre>
</li>
</ol>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span style="white-space: pre;">F. Marklogic...</span></span></div>
<ol>
<li><pre><span style="font-family: Verdana, sans-serif; font-size: x-small;">Downloaded Marklogic7 for 64Bit RedHat Linix and ran these commands
apt-get install alien
alien --to-deb --verbose MarkLogic-4.1-6.x86_64.rpm
dpkg -i marklogic_4.1-6_amd64.deb
/etc/init.d/MarkLogic start
</span><span style="font-family: Verdana, sans-serif; font-size: x-small;">
The one issue I had with the ML install is that the Marklogic script in /etc/init.d runs under /bin/sh and Ubuntu's default shell is bash. So I changed the first line of that script to #!/bin/bash</span></pre>
</li>
</ol>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span style="white-space: pre;">And that's it. I now have a reasonable development stack to create Web based Java code using Marklogic.</span></span></div>
<div>
<span style="font-family: Verdana, sans-serif; font-size: x-small;"><span style="white-space: pre;"><br /></span></span></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-77245433405840125912014-02-13T16:32:00.000-05:002014-03-21T15:15:58.755-04:00Accessing a Web Server on a Virtual Box Ubuntu Guest from the Host ServerI do a lot of development of web applications in VirtualBox virtual machines running Ubuntu. Although I could (and sometimes do) set up the virtual machine to have multiple monitors, I usually don't, instead leaving one monitor for the host OS (Win7) and another for the VM. So it's handy for me to be able to run a browser on the host OS and access a web application on the VM. In VirtualBox, I accomplish this with Port Forwarding.<br />
<br />
Go into settings for the VM and select Network->Advanced and click Port Forwarding.<br />
<br />
Then enter the IP address of your host machine, the port to forward, the IP address of the guest and the port the web application runs on.The example below sets up forwarding from http://localhost:8080 to a web application running on port 8080 (Tomcat in this case) on the VM:<br />
<br />
<br />
<br />
<br />
<br />
<img alt="" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoQAAAFkCAIAAAA2eb0HAAAgAElEQVR4nOzdaVRb56Ho/c3He9/1rvf23DZpZmee2jRtncRue+p7V9J4tmOT4LROcs5pahzbiWMbzzZgRjMaMBBPgI2ZR0mAkEAgoRnN8zzP87w1I/p+2JIQo4ekzTkn2eu3WFuwhYli/NfzPFtbAIVCGRsba29vv3Llyuuvv/74s688tu6Vnz/z8qNPv/zI0y8/8vRLjzz10iNPv/To0y89+szLj617+fFnX3ny+deefuH1Z176xbMvv/HcK796/rVfv/Dar1947dfPv/bm86+9+dyrv3r25TfWvfSLZ158/ekXXnv6hVeffv7Vp55/9annXnnyuZeffPblJ5996Yl1Lz2x7sUn1r34+DMvPv7Mi9D+E+teeuLZl5549qUnU5Yc9vgzLyRBxycPe/nJ515+6rlXFn3/1H0fX/fiE+teevK5l596/pWnX3j1mRdfX/fSL5995Y3nX33z+dd+/cLrv37h9d+8+IvfvPiL335fXnj9Ny+8/psXXv/186/9+vnX3nzu1Tefe+VXK3s105vJnVd+9dwrbzz70i+efv7VJ9e9+NjTzz36xDM/e+ypnz76xL/87LGf/OznP/nZY//yyOP/8sgT//vRJ3/62FM/e/zpR55Y9+iTGZ5Y9+gT6x554plHHn/mkcef/tljT/30509CfpY8/plHn1j36JPP/vyp5x57+vnVvfBY6n/QY8+8sOaRKU8999hTz/38yWcffXLdI48/87PHnk79uU8/8vgzjz757M+ffv6JdS899fyrz7z4i3XJv2xvph6x7/P/2o9+9KMfPazfvPj6b154/TdffvllYWHhtWvXuru7jx07BoyOjra0tFRXVz/9wmvPv/z61WutTl/Q7Q9DXP6Qyx9yp3j8YU8g7AUjvmDUH4oFwrFAOA5G5oLRRDA6B0Yg8UA47g/F/MGoLxjxgREfGPaCYW8g7A2EPIGQxx/y+IMrCXnSByQPSx7p9gXdPnDBsrt4A6HUNw96/EE3BLpX6jAvmPmTxwORuUDyB06AkQQYTYDRRHCR+WB0PhhbJJT09/sXvIf5YHQehEQSgUgiEJkLhJfyZ1hy0x+K+4JRjz/s9IJ2t8/qdFvsLpPVYTTbDGarwWw1mG0Gs81gthstDqPVYbI5zTaXyeY02ZwmK8RhhFgcBovdYLbpobtYoLs4TTanyeYy2VxmuxsC3Uxxm2xukz31EdqxuYw2l9HqMlqdEIPVabA4DRZHJr3ZrjfbdSab1mjVGMxqnUmtM2n0Zo3BqjXa9GaH0eY2O31WN2j3hh3+iCsQc4NxT3BuQeifIPEQvN9e+J9v/gfjO37ofCuY94XnfZF5X2Tefy+B6Hwg+vcHAq4htrJ7/Vt0v9b+Fy8+N//Xv+XO/VO2a0cP/HP+oO9q27/53XhiPhidv3m785Vf/vqF13+dl5dXV1eXm5sL3Llzp7q6+qePPnHt1h2d1Uvk6UbJMhhBPIwXDc2IBnCiAZxoECccwgmHZoRwoniMIkfRlJMsLZZnJIisFJmLpvIxNAG62k9X++hqH1XhJkvsBKEZyzVMsTSTDOUETY6mSscpEiRJNEYQjBAEI3j+CJ6HmOHBZjjwGS6CwBshCEZJwjGScJQsGiOLkGTRGFk0ShQg8Dw4jgvDcmBY9jCWPTzNHsayYTNcBJ4/QhSMkoSjJNEYRYSkiJEU8ShJiCDw4TNcGI4zhGMPYdmD0+whHBdOEIxSxON0OZqlnuIZcCILUeKkyD2zSu+s0k9TB+hqkKEBGRqQoQ0ytSGmLsTShVn6CNsQYRuiHGOMY4xxTTGuOc4zz/EsaQkI3zoP4aVZ5nmWee5inNRHjmWeY57nmOfZ5nmWcY5piNF1MZo2QlWFyIoAUeYlSD34JG/aDLQj8+KlPrzUj5f4cGI3VuSeFjlQbP0QXtSBpF7vRV9pGyxv7iisuXGquO54YfXxwppjBdVfF9YcK7xyorjhVFnzmcvXz1bePHP52unyb06VNp0sacoraTxR0niipPF4ccOxS/VfF145WlBztKD2eFHDybJvzly+caay5WxVK/TxbGXLmYpbpy7fyCu7nld27WTZ9ZPlN09evnWq4tapypZTlS2nK1tPV7adrGjJK795ovzGsdJrX5dcO1rc/FVR05HCxsMFVw/nXz108erh/KuHL149dLH+8MWGg2dr/5pX/smXl3IOnP3owNmPDxXsP1r82YmK3PzGE1WdhTeQVb2UxjH+zUlZO9HQS7MPstxDbM8wxwPjeGHcxXi+hwPn+1eD4AcezogAvAdh8J5GRaFvaUwcvl+SyA8BEiIOLyVZZEwcgiBXNw6RhFDSMEoaHpeEUJIQShJCS8NoaXhCFpmQRSbl0UlZZEoenZJHp5WxaWUMq4pDcKr4jHoOgtckCBBtEjEDSZcg6RIkfYKkT5AzUCCGBMWQoGaYNSRoxiT6YgxTEjMDy5RgmefT2MtA/2RxLAu4q3CH5j/8NNcTjJs8UfNqvGux3B9PMN586D+cMpl2FK4dhRvG4CYk3ISEW5FwGxJuQ8JcSJgLCfMgYT4kzIccCiCHQORQ8MGBKSt+KYAc8iGHfEiYFwnzIGEuJMyJhNmQMBsSbkEmfyTjGFw3CnfwuH/+0//xhhMSW0LlSriCc7fudD36+NN5eXl/+ctfgOrq6nUv/eJ6yx2R1jnBUI3PKsYoshGSZIQkhhPFcKIYThDDCSI4UYQgikZJkvFZ+QRDPcXW4vhGoshGkSdjzND46Ro/Xe2nKX0UmZMoss7wjTiefpqjnWKqJ+mKCZocPStDzUpRFMk4RTxOkSDJYiRZPE4Wj1MkaKp0giZH0+QTNPkkTT5Jl0/S5GiqDEWRIMkiJEk0RhSOEQWjRMEYUYgki8cpknGqFE2To5PHKybocvSsbJwiGSMKR4nCEYIQQRAgCIIRohBJlaLpikmmepqrnxGaCRIbWe6mKn2zKj9dFaCrA3RNgKEBGVqQqQ0ytUGmLsTSh1j6MNsQ4RgjHGOUY4pyTTGuOcYzx6ES862QBN+aENjm+WnLw5zCTUtWOcE2J1imOZYxxtDH6NrIrDpEVgaIch9B7iXIvQSZlyD3Jcl8C/tyP0EeIMj8eKlnRuLGiZwTbCOMIOlG01oGp67ehVff6C2pbztf0Xy6pP5UcV1eUd2xgivHC6/kFTWcLG08Xd505nLz6dKmkyUNecUNJ4rrjxfVnyiqP36p/lhRw7Gi+q8L644WXPn6Ut3x4qsny6+drrh5+vLNU+U3TpVfzyttPlHS9HVR49GChi8v1h25eOVIft2XBfVfFjQcvdR4tLjpWMk3x0quHS+9frT4m6PF33x5qfFIYcORgvpDF+u+uFB78HzNwXM1uWdrcs9UHzhTk3u25uD5KwfP1+Werf2PE2WfHCncd+Dsh5+f3nfwwp+PXNr/dclfz9Ydu9x+8ZuRim7S1RHujQlpO17XM2sdYLpWjfHDJnmNGP8De/xPifGD9fgHk+Sxe/U4HeN7VhlKcrrH46keZ8Y43eMpRQyrjGNVcZx6LpnkjB4vT3KyyroEUfdgSZ5dPckM4wo9XpLk5T1m31+P3aH57E+SMV61x2vG+D577AnGm3L/3SmRaGEDED1swAQfMMH7rPA+G7zPAe9zIfpciD4vos+H6PMh+gL/AL4UL6LPhehzIvoc8D4bvM8C7zPB+4ywAQNsQAcb0MEGbCxWzrv/xxtOiG0JkS0hssaN3sSt253Pv/bmli1bgCNHjrz46i+NjsA0R4dhaiYYKhRNgZyVI6lyJEU6lgLtj8/KJxiqKbYWy9XjBSai2E6Ru+lqP0MLMrQgQxtgaAMMtW9W6aFIHUSxjSA04QXGGZ4ey9Zi2RosWz3NUk2zlNMs1RQzhaWaYqmm2WosR4Pjamd4WhxPO8PT4rhaLFszzVJPMVUYhhJDVyxgqqZYqmmOZpqjxXK0WK4Wx00ej2GqMHTFJE0+SZNP0GRommySrsAw1VMcLY5vwAvNRLGNInfOKj10tY+hCTC1AaYWZGpBljbI0gZZuiBbF2Lrw2x9mKMPcwwRrjHCM0V55ijfHONbIHGBdU5omxNY54S2RIZ5iGAly1Kd4FkTXEuCY55jm2JMQ4yhi9K0Yao6QFH4yHIvCaLwkeRJRIWXpPCSFD6Swk9SBIhyP0HmxUvdMxInhmcepcgHpljtCPyNXtTVO8NV17tLGtoKam5crPzmQkXzmfLGM2VXz5Y3n6/85kLl9QuV185XfHP2cvPpsqunS6+eLms8U9Z0+vI3J8u/OVXedLKs8WRp48nS5lOXr52uuHm2qvVcVevpyzdPlV87UdJ07FLD0YK6IxdqD52r/uJc1Rfnqg9fqDl8ofZIft2XhVePFjcdLf7m65JrR4uavypq/PLS1cP59V9cuPLF+drcs9UHzlQdOFOVe7bqwJmq3DPVB89dOXi+/nB+4xcXGj4/VfVvx4r/cujCxwfPf3wo/y9fQjG+8nX5nYvNiMtdxKsI7g205M6M9h8U4/+0Sf5OYvxjj1e2PMbLqnyfPUZmDJGTPZaG0dIwWhbJTDIm1eNpZRxK8oo9XmGUrFuQ7vF9Jjnd4/tN8j17bF6rx0tivHaSqRx5dX3bnz/9MjsnN+3Pn35ZXd9G5cjvGeOrf91vF4mUfV3Kvi5NX5e2r0s/0GUc6DINdFkHumyDnY7BTtdgp2uw0zvU6Rvq9A11BB6cf6jDN9ThH+rwL/uSb6jDN9TpHer0DHa6Bjudg522wU7bYKd1oMs00GUc6DL0den6urR9Xaq+LhuN9tH//UNmjAWWuDMw9/Iv3ly/fj3w29/+9ptbd1gKB45nxHL1U2ztJFM9yVBNMFRouhJFV6LoCjRdiaYrJ+jKyVSJZwQmgshKljqpCg9d7U/1DGRpQaY2QFf7aArPrNxJkdgpUitJbCaJTEShiSgwkpYTmshCM1lspojNFImFIrFQJVaqxEqVWMgiM1lkIgqNRIGBKDAQ+AYCX0/gGwgCA1FoIonMZLGZLDaTJWayxEKWmEkiM1FgJPD1eJ4uiavD8/QEoYkkNpMlVqrUTlO4aCoPQ+1naQNsLcjRghx9kKMDOTqQow9yDZAQ1xjmGsM8U4RvivDNUYE5JjDHBJaY0BqHiGxxkW1OZJsT2xMie0JkT4jt82L7vGgZIWQh1Yk0vjXBNc9xzXGOKc42RJnaME0Dzqr8VKWPqvRRlD6q0g+hKH1JKj9VFaCoQIoqQJb7SHIPUeaeEVrRdDWcIOydoN2Fz7QMTDR3jNS1DlZf7674prO8qb24oa2ovq24/nbJ1TulTe0lje3F9beL6loLa1sKalsK61oL69oK624X1N8uqGsrqGu9eKX1Ym3bxdq2/Pq7BQ2dF+vvnqu5fbYi2eOvLzV8VVh3+ELt4fO1hy9eOZJf/2Xh1a8uNR4t/uZ42fW8yzfzym+cKLt+rPT60eLmLy81HilMJflCzRfna784fyX33JUvLjQcKWj6quja1yU3jhZfP3Sh/m+nKv/9WPFnRy99dqz4s+Nl/3ai4sCFq8cr7uZfG63oIl5FcJIxpkIxdv9AYvz9DI5/OEleo8fiBx4iI8UhlCSMkiz0GCUNo2URdEaMMfLolCIG9XhaGcepFsbHuIwYr5BkXYJwryRn9piSMT7+NrPWDzplDcXYBcb0rnCaYSV0vmr/Z19hceRwOPL3jC0cjmBx5P2ffUXnq1a8I8Tpj1797CMrjyftaJV3tCo7WpWdrZrOVm1nq76r1dTVaupqtXW12rpanV2trq4WT1eLt6vF913zdLW4ulpcXa2OrlZbV6s19Ucbulp1na2azlZVZ6uqo1XR0Woik7P/uHFJjOX22PW2jnXr1gHPvvxLhz9KElsJIgteYMbxjFiuAcvVQ2HONM3RYjl6HM+IF5gJ4mSJaSofQxtg6oIsXZClD7H0IbYeZOsCDLWPofYylB6G0kVXOGlyB11hZyjsdHkSQ2FnKBwMhYOhdDCUDqbKyVQ5WSoXhK1ys1VulsrJVDqY0GFyO0Nup8tsdJmdIU/el6l0QndkqpxMZfIwusxOk1lpUitNap2VWmdlNrrcwVA4GCoXU+1ha7wcnZ+rD/D0IE8P8g0gzxDkG0N86KMxyDcGBcaQwBQWmsNCcwQiskTF1pjYGhPbYmJbXGKfkzrmJI45qSMhcSSkSfNLSBYTOxJpIkdC5EgI7QmhNSGwxHnmONcU5ejDLB3I0AQYaj9d7aer/Ax1ANqhqfw06JOaAF0N0jUgTROgqQOzKh9V5SVJnViuAU1TjBD4g1OM7nHK3ZGZ1kHMjd7xa91jTR2Iq+2whjvDDXeGr7bDrrbDGtph9W1Dda0DtS19Nbf6am7117YM1rQOVbcMVd0aqLjZf/lGX/mN/rLr/eXX+8tvDJZcG7jU1J3f0Hm+5s6ZypZTl2+eLL12vKT5WEnz8ZJrJ0pvnCi/mVdx63Rl29nq9vNXOs/VdZytaT9ddftkReuJyzePl934uuSbr4ubjxZ983XxtaPF148W3zhWevPE5dZTFXdOV3ecqmw/XnLzq0tNX5yrzT1TnXvuyoFzdQcuNBwpunHySs+lm+NVPeSrI7wbE9J2fDLGgyzXEMu9aox/nKz+McYPmOQ1qrw8xmtUeVwSHpeEl6wlo2WRCXkUGh+newzFGKuag0bJONUcTj03o0nMLO7xoiTrHjjJi3psWLnH9AeftV6jx1CMHb6IygqqbWupabyNnpj5+yobemKmtvG2xgauxu6LNHz8gYXFFLc0S1qapS3N0pZmZWuzsrVZ09qsbW02tjabWpstrc221iZHa5OztcnV2rhc48mzmePyxpNn7+dLGZocrU221iZra5OptdnU2mxobda1Nmtam1WtzcqWZllLs6ylWdrSbMTP7PndW0tiLDBF3cG55199E3j25TcC4ThJ6iBJ7CSxnSi2EUVWgshCEFnwQgteYMYLTHiBGS8w44UWgshCFNtIEjtZ5oJKTNf4WVqQbYAyHOLoQxxDiKsPcvQgRxdga/1srY+j9XE0Xq7Gy9V4eVovT+vl67x8nVeg8/F1Pr7OJ9D5BHqfQA/t+IV6v9DgFxr8fH3yAOh4ns7D03p4Wg9P5+XpvHydj6/38fU+Xur78HRentbL1bq5GjdHnaJxc7Uens7H0/n4er/AAAqNkKDQFBSaQhCROSw0QzuQsNgSFlvCEktEYo1KrFGpLSa1xaT2mNQek9njcsec3DEndyaSXOmd+UWc83LnvMyZyCRNkdgTEntCbIsLLTGhOcY3hrmGIFsHsnUBtjbA0gbSOyxtgKWDgJmYmgBT46erPCSxdYanwzAUKIp4lMCH4diDGEYfitozTuocxd9FzLTDcO1wbDsc1w7HtcOxd4axt4enbvVP3OqfuDkweaN/8mY/5sYA5lrfZHMPuqkbdbUL1dCJqu9E1XWgatuRla0jl2/BSq8NFDf3Xbrak9/QdfFKx4UrHefrOy82dF9s6Mlv7LvUPFB0fajkJrz0Jrz4+lBBc9/Fqz3n67rO13Wdq+04U3P3TM3dc7Wd5650navrOV/fd7Ghv6Bp8NI3sMJvhi/U956uuptX3nq85Obx0lvHy1qPlbaeqO682AwvbZ+6MkBrHhPcmpTfJeh7Zq0DTOc/KMb/uB7/OFn9n1rqP3nlGItCY6JVe7xakqGJa5RkYXAM9Tid5CU9nk71OJ3kmeVJXm2IfB8LyfceIq+UZNY9k2xZmmQoxmZ3UKx3QySGJOlin/71hM/nXy3GPp//07+ekBrdUqNbthKTE6zZs8U4O8tpqOY1VAsaqgUN1eLGakljlayxStFYqW6s1DZWGhorjY2VlsZKa2OltfGyfZnsnNzMPzc7J7fhWJ698XLDsbzlX1p+d2tjpaWx0thYaWys1DdWahsr1Y2VysZKeWOVtLFK0lAtbKgWNlTzG6q1U5O73npzSYz5pmgomnj+1TeBZ195A4zMUeTuFBdF7qLInORMUucoQdCJwHWO4LpGZ7pG8d1jhG4koWec2DtO6kNT+tCUfjRlAE0ZnmYwlF6eMQyNMgXGIN8ICoygwAgKjQGRERQbQbERlJgXkZqDa5CYwDSxCRRn3FxObALFpoDImCQ0+oXQfvqOZlBiDknNIYllGWtIYg1JLCGpNSS1hqXWsNQakVkjMltUbo/K7TGFPa5wxBXOuBLimlO65pSuRMp8knte6Z5fuLmYIkXumpc552X2hNQel9jiYmtMaIrwTSG+AeTql+KkGUCuAeQkp9ODHH2QYwDZWj9d6aJKbESBcYarnWarMQzFxKwURRGPkYQjRD4Cz4HjOHAcBz7Dgc9w4Dg2DMsanmYOYhj9k7S+SXrvJL13ktGDpnehaB3I2fYxyp0RStsIpQVOvgUn3RgiNg/MXO3F1ndhajsmqu+iKm+PV7QhL7eOXb6NrLgzXnkHXdk+Ud2Bqe3C1vXM1PXgarumqu5OXG4bL2sZK2sZK701WnprtPTmaGnLWOmtsbIWVFkr6nLbREU7pqpjuuLuVFkruuTG6KXm4YKmwfzGwfzGoQuNQwXXRkrvYGp6yVcRnOsoSdu0qoNo6KXZkiNjtnsYWjn+TmP8vfX4nzJZ/WOP147xGlV+oCRD4+P0DkoSRksjmUmelEcxGZPVaVjVXHKIrE6skOSMs7rWGCWvmOTMHq8xSv72Q2QoxiYnKNA4FmgXCFOyc3Kjqe3s+cvQ6PPs+cvpT2bn5Iq0jtUYHIGa3e8bKGRWTTm7ppxbW86rLRdeKRddKRNfKZNdKVXWlarqSnX1pfr6UlN9qbm+1Fxfal2m4ejxFXq8yieX3NdSX2quLzXVl+rrS/X1pZr6UnVdqbKuVH6lVHKlTHylTFRbzq8t59WWc2rK1ROonb/95QoxjiWef/VN4LlXfgVG5mgq36zSS1N6aSrfYl6ayktT+a5cb5crlCtRKZQLOrt7URQxTx8UmsJCc1hkiYjNIbE5LLGEpJaQzBqSW8NyW1hhCytXZA8r7Us/qbCFFrGmLP683Joks6QFk6yQ5AEKa0huC9+TwhZR2CMKe0ThiCodMaUjpnLGVM64ygWZU7vmVK45tXtO40mo3QmNZ345dQYVxL1A6ZpXOBMKx5zMHpfZYhJLRGQOCU2g0AgKDCA0iBek9tNPawTGoCA1oBeaQkJTmG8McnV+tsbDUDhoMjtVYqWIzCRhcvl8hqvBcdRYtirTFFMxxVRM0mToWSlqVjo+K0NSZWNkKYIkgRPFwwTR4IxoACfsmRZ0YQQdk7y7aM5tJLtllHlzhHYdMXsNRm2GUZqGKU3D1OZh2jcw+jU488YI88YY+xaSexPJuT7KvAanNQ5Srg6QGvqJDf2k+j5ifR+xoZ/U0E9uGKReHZxtHKI1DTOaYIwmGKNhgHqlh1jdhavqwFbcnYZUds5c6ac2ItjXx8WtU4p2vK6LYu6j2weZrkGW+94x/hY9XiPJ31eMv7fF4++9lN9HjJf3OBnj+0tyOsaZN9HSCFq6EGOox5jFPcaq5tIyh8hrJ/n+R8krzlqvcG7Xmid2rZ1kKMZGR4CntmfiL5Odk+tKbdk5uXyNXaBZ+kmBxp5JmEFv91fvfFdPJjIrS5iVJezKEm5lCb+6RFhdJKwuklYXyWuKlDVFmtoiXW2RsbbIVFtkqi2yrKT+q2PL07vkZv1Xx8zL7gh9T2Ntka62SFdbpKotUtUUKWqKZNVFouoiYXWRoLKEV1nCqSxhVZaoUMgdv379HjGmq/0MTYChCTA0IHQ21hLVTa1///vfpxWhHi64GrM3NjA4PDzF4OtBkSUisUallqjUGpbZInJbRGGPKB0RlSOickTVjqjGmeKIajJvpj+TFNE4Iur7prKH7yWyImWGRV9a+IFjGmdM44onueNa95zWndB6Fui881rvvM47D+0stzTV7nmVK6FyzSkdcYUjLrdFpdawxBwUm1LMQbEpKIKYkx/F5pDIAj3FiUgsEak1IrFERKaQ0Ajy9X6e1svRetgaN0vlYqpc0FI6XW6ny20QmtxGk9lmpVaqxEIRQ6fImfBCE15owvFN0zwjhmOYYOvHmTokXTtC0yKoGhhFPUhW9xOVvQR5F17eiZV1YKV3pyV3p6Xt07L2aXn7tOIuVtExo+zCK7sJqm6CqhMnvzstvYMRt00I2yaELShhCzr1ES1sm5S0YSRtGGkbRtaGkbVOSm+hRTfGBddGOc0IVjOC1QhnNsKZTQj2NaTg1oSkbVp5F6/rJJt6qNZ+hmOQ5R6CXmp8zxj/A3r8fc1U/7h4/L0keWzFGN9HkpfHeFwSRkE9liZjnO7x1Ko9TsxAliRZ+8BJhnpM1S964dODnmt9Pyd2QTE2LIvx8iQfOnqRw+HbbDYanfVVXjFfY+dr7Nk5ubbUtjzGggePsfo+YrxijzNLXPfVMXNt0T8jxgxN8hU+qZfYJl9oy9KH2fowSx+uaW77+9//fgHtzRmOrYZnifUPDA1P0QVGUGKNyqxRmS2qsEeV9qjSEVU5o2pnVOOKal1RrSuqcUZ0ruhisZTFn3dGdc6oNoNmsWVfimSA6h550KirHWG1I6Je9LwhpnHFNK6Y1hXXuuI6d1znies8czpPQudN6L0JvRfamdd753Xe+fTOcsk2Q0l2J9SuOZUzrnLEFfao3BaWWkLJ+XlzUGIOZQhKzMHUpHpYYglLrRGpNSqzxWS2mNQalVjDEnNIbA6JTEGhCRSaQKExIDAE+PoAT+/n6fw8nZ+n9/P0fq7Ox9V5uVovS+VmqT1MlZuh8tCVnlmFm6pwk2UugtSFlzhxYse00DEpsKN59nGObYxtHWFaEQzLMN08RDMP0kyDs6YBmnmQZh6kW4YY1mGGdZhpG2bahhm2QZplgGrupxp7KYYesr6bpO8m67tJ+h6SoYdk6CUbelK6SYZukqGLoO2YUbdjlXemFben5Len5K0YWduUoh2nvovXdhINXd3rLDgAACAASURBVBRzD9XaR7cPMF1DLPcQO3ndD8g/qMc/Lh7/GON7J3n1KiMXT1ZDMUZJI2hZFC2LQknGyGMYeWxKEZ9SxqdTi8eZMYYsTbJ2wWpJXnHimrpSjx9mIXn1JEMx1tv9bKWVrbRyVtfSOXLo6MXsnNyv8ora+1BclXUQRfzbwVOW1Jadk8tVWVfEU1l1Nl/V9v+jI+Lp5Zfo5ZeY5ZfY5Ze4FZf4FQWCigJJRYGsMl9Rma+qytdU5eur8o1V+caqfPPq6r88mp2TCy7esnNy6748aqzKN1Xlm5bdBfqehqp8bVW+tipfWZWvrMyXV+ZLKwqEFQWCigJe+SVO+SVW+SVG+SUlcnT7r15dPcav/ioYTTA0AaY2yNKHmPoQO3nlqcgkU9V0p7+hpbuhpefMxaLOzs4TlW1/K+tY7uMb4r19UY4p2tc/CJumC42g1BaFlloVUIkdMbUTKllM547p3TGdO7osxktEMmnX5lwqHWCNI6JxhFejhtgzpD/jCKsd4UXfB2p/8r8inuSZy6T3JHSehM6TbHOSZ0HmSFrrTmhcc2pXXOWMKx0xhS0it4allqDUDKZAVc5cYg9KzCGJJSS1hKXWsNwWkdljcntMZovJbFGpNSq1RqTWiMQagYItNkNCInNIZFrMGIQmvfmp5We2LsjUgHR1YFYVoCr9ZIWfKPfjZT6c1Dct9k6KvBNCD0rgGed7xnieMZ57lOce4XlGeJ5RvneU7x3jecf4Psgoz4vguuEcF5ztgrGcMLZzmOWEsZzDLOcw0znMcg6znEMs5xDTOch0DDDs/TRrH83aSzX3UEw9FFM32dhNMnSRDF0UUxfF3EO19M5a+2j2AYZjEIpxuscZYBzvWri+BwXn+deA4AUezggfvAdBcA2jwtB3YkwUfgDiyH9/9/M4CEOLrNjmDFC/kaLQuDgMQUkiKEkELY2iJRG0JDIpjWJkMYw8NiWPT8njU4okrHIOglMl0mZUi6q86ougMi/dlb56ly5BTqHqUlXWJ2ZTaIYF9LR0ko0JhjHBhKRP7DLNQ9hp5nlXaD77k1yJzjHNUkGwmdgqLFuFW6x/nJxf1vTxp1/97eAp9ATWZDKZTCaZTLH/34/NsFWrEWlsJW+/Kh9DTOZ+hsn9bPrgZ7iDnxG++Iz0xSeUQ5/QDn3CPLSfc3g/78h+4ZH9kiP75Uf2K47sV66p5t/+fck8ec2//bviyH7FKvdVHNkvP7JfemS/+Mh+0ZH9vCP7OYf3sw7tpx/6hHroE9IXnxAOfjZz8DPswc+mcj8T3L397rOPe8MJkS0hss0JrXGBOcYzRRbFOD0mhjLMNkbZxmg3kiiRytJD9flVNolEsrcQtu2Wl6kL9/YNwKbpQmNQak3GWGlPlni8NAvI3MqYend0RbpM9wg2NHSOMHs/XPTNgSrUCnleNcmZbV5pZyHGWijG7pjOneqxZ6HHeu+cPjVK1nvZhVnA9n6jzptAX84CgA/vSBfCnO6xxj2nccXVzrjKEVPao3JbSGYJylInr8ksS09ngxctfhh3Icj2mNwezxCT22MyiC0ms8UQJVnALgTJFpVmskal1ojYEhFbIkJTRGiO8E0RninCMUbYhjBLH2bowjRtmKoJkdQhgiqEV4ZwihBWHpqShTDS0KQkOCEOokVBlBgSQkMkIbQkjJKEUOLQuCiIFIFIIYgUgWPCwJgwMCYIjAkCo4LAKN8/wvON8P0Ing/O9cI4nmG2e4jpGmQ4BxnOfrqjn27vo9l6Z219tKR+un2A4RhgOgdTr2tabnhxm5fieB/OPYLN9T+o+2o2H1zD2rW+fw/Wb1H4B2HNByH5uC0hXNWYKDQqDI6lIJeFOZ3kSVkUI49BH9OmFfHpjDAn86ycw6XO80pfLSR1zZAkwmJEbRIphayboyxIUHUJqm4hzLP6BC0ts82GBAOSDrMxwTQmWClsU8IVTOz95ABLahyY5mYaxC41hEs6XVg3MDiiUCgNGVvfAOLspfphHHc1NKH24rP/Iui82//+Hwbf/8Pw5j8gNv9hdPMfkJt/P7H191NbfzezdSNp20by9o207RtZ2zdytm/kpfBXcXnv3uycXGtqy87Jvbx3L3/HxjXwdmxk79jI3LGRvmMjZcdGwvaNM9s2Tm/73eS2349v+f3olj8gtvwBtuUPQ5v/QK+r/v3//n+84YTINieyzgktcYE5mhHjV6CRMQhdBpKpD7MNEaY+wtRHusYIEqlsWhHKn/StZloZ5vF4O053v9dgp6nA7p6+YQxNaAxCI+PMYfF4WRawG0F3RbWuqI5QkwUAQBnD4I4usSjMrsUkIzsAoACf+ckIhNX3IQBUodPD6GUlXmHoDFl1AB3RLMpwctJb64Sm2ZNDfCjJeg9kbkFGjBfy7EnKHCUvibHCtnDeGRRjmSUohZJsCUotQXhxFrBzmGgJSi0hGR++DQCAYqbCEVc44gpHbEWjpVnALgTZEZM7YotSbY9JbTGJNSq2REWWqMgSE5hjfHOMa4qxjVGmIUbXR2n6KFUbJWsjRE2UoI7OqKJYRXRaHpmSRzCyyKQ0MpEymbrSEAQ6VwW6AELyMgji0Lg4hBQFkaIgUgiOCcExITgqCIwKAqkqe2Bs9xDLNch0DjKdAwxHWj/d3p/cdw4wnYOrGGK51sJ2P5z0ZPiK7jFDvgo413cPaw/Kv8Uk+QNMmD/4kvZ/E2s+DosewEyClY0KweSOIDCW+psP/SKMi0PjoiBKHEKJQ2hJeFIamZRGMPLopDwCwSiiGEV0SpG8qHUmrDKGVS3ApcyoYjNqSByfQoBokoiaOEkTJ2niZG0SBaKLU3RxasosRB+nZaBDDHHGYkxDnGmMM41xVzCxd//fmBJ9H4a9YIrdN8XuX4TTP52UnZOry9jkcsXg0OhfPv3yVh9mYJoDGVyGKlBfeOb/49+93fvuhoF3Nwy+twH23oaR9zaMvfcO+v13MO+/jXt/PXHzetKW9bNb1jO3rGdvWc9d0+U9H2Tn5BoXb9k5uZf3fLD8YF4Kd8t61pb1jC3raVvWk7esx29ej3t//dT7b0+8/w7yvXcQ722Avbdh6L0Ng+9uoNVU/O4n/8MbSoiscaElOUe9KMZgJEFTB+gakK4JMrQhhi5M14bo2lDnCF4ilXWx/B8NxnJgiRX1ieY4HM6WYx1/rDBTZP6u7t50jOUZMdakY+yM6lxRvTuGLssCgOx2yeolXk46sgMACgjpVCdLrHNFmItjvPIU9/IkO5JWmcqOLEmy1hlJxTiajrHeE9d5MnrsTVsW48yJa29C54Vmquc07rjaFVc5Yip7VGELy61Qj0GZBVwIs2VJjKGz08MjxVkAUD1qjynSVokxJXXAkqGz1BaTWGMiayy5gAHF2BRjGmMMQ4ymj1F1UYo2SoJirIziFFGsYoUYT0gXxXhiWYwX9VgIQsbSo2SeD5EeIrNci2IMjYmhJN+HzIovt1rI18JyreHhG/8txvEPMeX+EPPwS/EDPyxrPhoZUyPLn0gtheD7EXx/emeE7x/h+5NtFgTGBAGkEBwXBdNhnpCE0dIQWhqakIUhk/IIZrEpiAISnVJEpxXRaUUUq4hilVFchpkUvGoBQRUlqKMEdZSYQlJHSZooSRMlp1Ag2iSqNkrVxmZ1C2gpdP0CJzi35y9/Y4j1PZMsSC9mkb4lpljZObma1HbiVFHO/sMn82uvd6P7p1hJ0yug8FXnv7sYQyXWrbSt1mMIZ8t65pb19C3rZ7esJ21ZP7N5Pfb99Zj330a//87Ye+/A39sw/N6Gwfc2DLy7YbamYuNP/ocnlBBY4gJzTGCK8kwRrjEciiaee/VXwLOv/AqMzM2q/LOqwKwapKpBqjpIVQcpKvAODCeWSO/Oej/oDO/pia6omxtjsVjvHb7zTqGBKPZ2dvXAMDShMSiDYmyDpqmjamd0vDQL2I1guGI6V9TgjnMGPgKA7HZpzOCOGqQjOxcmXtOF1t/9AADKqguyAAAAduzOzpiczb4jjqRjnDkyTuc5hV6QMa2bj09mGFWaBeyuyt8NAACwfXc2AOy9LQprnWGNU3v7AwDYDaM5whpnhN77IQBUjTsimpnqjG9TjXJGta6oDl+TBWTnl30IAADwwQjDE9d7WIXp48prC1IxZg18BAC1aG9C7zW17wGAcmT7nvR0PVvjiqtdcZUzpsTVpO99rqgiC9h7kxtc0uNkjM1BqSUos4QQxVkAUDVijyqEI9sA4BwuJrdH5faoPHkzKrdHR0qygF0Isj0qt0dldv2t3QsP401BTGqLia1RQvfCPH8eJso2RpmGKF0fmdVFKNoIWR0hqsJ4ZXhGEcbKw9Py8JQsNCkNTUhD6NTb1NyPcXFwXBxEihYmrkcF/qWT1YtHxlBf05PVvbPWe0ofvKJ++kNh2NcwwHQ8hEGW8z78Q54HPNDQ/zuZCfiv6J4PxbJnVxk4S8G4HhjXk7mP4HkRPO8I3zfC940KfKMC35jQPyb0I0UByLg4MC4OoCQgBC0NoqXBCWko06RsASbDlDw0nQErD2EVIawihMswowjNKMP4xQiqMEEVIULUEaI6QlJHSOoIGaKJUDJQNZFZbWRWF5nVRWgpTnBuz18+p4l13ROMnkWYSZMLeieZvZPM7JxcdWrLzsntwzCX61+GzFOff+Z/8e7e7n13Y/+7G4f+tBH2p40jf9o49qcN6M0bMJvfwW1+i7jlLfLWt2hb32JufYu99S3uKi7v2ZP5M0A/xpKbl/fsWfG+nK1vMbe+Rd/61uzWt0hb35rZ8hZ281uYze+gN28Y+9MGxJ82wv60cehPGwfe3Uirrdj4k//pCc7xTVFoTMwzhrmG0KIYU5V+iipAVvhJSj9REYC0Dk2LxJLbJPe2lsD2ttCK7jLCTCbz/+a2/fasFi9w3+3oSo6MrZHkK5psEaU9onYsirHeHZ0szwKA6glPzECsyQKAHX06aHA8UZYFANUT6RgDQAEhNXSWjuyERsauyBJLYpxMsgSxAwCAUrpuYfScfUeUijEAbO/Vap1hrZNWkAVs69VonGGNGL4dAACgatwR1jgj46VZwC4YzREZL826OBPWOCMaJ70gCwBKGFpnVIuvyQIAYDeCkVw/ZhVkAcAHI0zPnN4zh76cBQBLY6yDYgwA2/uNOk9CS7ySBQAX8XG1M66eqckCgK1dGpk1KOPBtgIAkIqxdOnIeIhgAaVmUDpVmQUAW7o0MmtYxkdsBYBz2IjcFpHZIjJB8qbMFkGUZAG74ERrRGrV3dwFADuh/Qi8OAsAqmGWsGiqOgvI/oYT4ZkiUx3ZeRNhpj7M0IVo2hBVEyKrg0RVEK8IzsiDWBk4JQUxEnBSDKJEgXFRYFwYQD6IMYF/TOAf5fsgIzwvnOOGcz0wjnuY7Rpipc7notv66bY+6KyuWUsP1ZzWTTGtrYdiXkMv1fLwHvYZwLd7ZvDw0wD37/7nCe6xFvDfyP08Gis8kkswFwyxnNDfcGhniOUcZrtgbBec44Zz3AiuG8FddEbkKN87yveNCXzpX59xETguAlFLiEF0homUSQk4KQExKVMScEoKTknB6TRZECsLYmVBXJo8OCMPziiCeIgySMhAVAaJqiBRFSSpQhCyOkRJoapDVHVoVhNyBOIf/PmvsyJtxzi9Y5zeiVrQtUw3mtGNZpwqrEtfcvJ0YV0PmrGi3sXIXNX5Z/4X/+7tvnd/N/Du75Ixfn/j6PsbUJs3YDa/g93yNnHr2+Stb89ue5ux7W3Wtrc5297ibE/iplzeuyc7J1eRsWXn5K72SW7GHSGc7W8zt7/N2P727La3Sdventn6NnbL25gt76C3bBjbvGFk80b4+xuH3984+N7vaFcub/yX/+kOxnnGMJRhriHE1YPBZIxffiMQmSPJfUS5Dy/zzsh8WIkXK/FhJb6bAxiRWHwLa3+3wf1eo29FreQAnU5va2vTGww2m639bucwhiY0gBJLWGoJySwhuTWssIWV9vBYSRawG053RnWuiA6fDrD+7gcAsBvBWpimZhRmAdt7dXqXvv0DANiNYKb7mlwzXlzchdBmbKV0nSuCLs0CgCq0M6JL0rV/AAAl9FSMq1DOsNYZ1jq1dz4AgBKaxhmm92YDu/ZuA4CLM2GNg5afBWzr0S6ZuB4vzQJ2w2mpGOfjkydXM/s/AoAP70hT53PJxnakorsQY4+pfQ8AfDDGSK4Zs/OzAKCUpXYa2nYDwC442RaG6kvqygaAvTe4i0qcjPHCVgG3BKXWkNQSkvLgWwHg3HQ4ee0wPnwrAJydDkutYVhxFrATRrCEJVPVWcDeG9wwdKK1hAffCgBnpkIzHdkAUDVgCnONIY4hxNKFGNogTROkqoNkFUhSggQ5iJMFsNLAlCQwKfajRX6U0I8U+MYEvrFUVu/fCM8LQXA9cI4bxnYtL3Fmg6HEdpGNkE6SYW1dJOPausmmh0Qxr6aHank49zHQvx8P81Rg8dOC+1oC+A7z/1/CPR+NVR/PJei2frptgGEfYNgHGDbIINM+yLQPsRxDLAeM7YSxXbBFbfZAoF8W6HcHei4LQWYS+sczoIR+lNCPFvrRIj9a5J9ImRSnBSbFAYw4gJEEplKmJYFpaWBaGsBKA1hZACsL4OQBnDwwIw/MyMEZOYhXJBEgSpCoBIlKkKQESUqQrATJKpCsAh2B2O6P/zor0HaOM7pQy6AZXWhGd4YeNCM7J1ee2rJzcqHW9i1gLphYQOIqzz33U353x8D2TQM7Nw3v3ATbuWl016bx3Zsmdm/C7N6E272JuHsTefcm6p5NjD1/ZO39I2fvvy6XnZMry9iyc3LLP/qQs/dfyz/6cPmXlt+dvfePjL1/pO/ZNLtnE2n3JsLuTbjdm6Z2b0Lv3jS+e9PYrk3wnZtgOzcN7tzEuFq98af/rzsY5xhCHEOIA103Oh3jdS+/EQjPEaSeGakHK/ZMiT0YsWdS6J4Quq/1TYrE4uuTtn+tcPyxyrWiGzjf7Oxs7heHLuYXXioqOXnmPHyaIdD7RcmXyYJSS1BmDcqtwdGSRacBFxBienfU4GYUZgE7+nQZfdW1fwAApXS9S5vaieicEZ0rohMj0jHWLSQ2rHOGmb3ZAFCFdoZ1zrDWGdY5wzqnDkqsLmORGFUKPSGAdmB0JzQ1Hab3ZkOj4fHSrG09tLbdwLYejVoE3w7sbRMmX+OEzDwbfBd81hnR4GuygOzbYmj9OI4qywJ2j9AXXu/ELsgCtvcbdJ4EE4qxJxXjMnbqbGrT7Q8AoJSlcrIuZAFbu7Vyazh5BvVUZRaw9wZn4dQt6DQuWFEWsHOIYAIlnOGtAABcmoVefyzlwrcCwNmp1KU9eamb5hCsKAvYCSOYQ8TOzKn+5HYaExQYZ09nAQAA/OmOiq0LMrUgXQPOqkGKKkBSBAhy/4zUj5X4psS+SZEPLfSiBF4k3zvK84zwPOl/Mh4I9M8N9E/PMMs5xHRAHwcZ9gG6rZ9m7Zu1QC9z6iYbu8nGLpKhi2ToJOohHQTdfSHq19BJNDyoe2SebHo4azT+22T+u31O8J3MBPxXtPbjcI9HdenMimXJs6h0oaGnoQMM+xDTAf06pMMM7Sxpc9pohjG+F5lhnO8dFySh0oQ+dMqE0Dch9E2KfJNi36TYh4FIfBiJb0rim5L4pyV+rDQJJ/XjZP6ZFLw8iQBJzacSFQG7P7br4/+gC/VdaFYXKgN6QTea1Y1md6PZPRPsngl2ZvOyc3J7J9i9k4v0rYTCU5198VHBQM9wznbYvu2IfdtH920f37cdtW8bZt827F+24vZvJu7fTNm/mf7pZsanm1mfbuaspPzPH2e+G0T5nz++ny+lsT/dzPh0M+PTzdT9m8n7NxP2b8b9ZfP0n7dO7tuG2rcNuW/76L7tiH3bYfu2M641/v6Rn7jB2MLljXUgRwcGo4nnXknFGCfxTIvdGJF7QuhC8V1IvnOM67jajRIKRU1I8zuFlg1F9hU1T7qpVOpfcw+fL6qsaLiJoohIIqPAAF0a2i8y+MRGv8Tkl5kDI8VZwK7hWUdI4wjpXJHUGVj0wixge69W50pmVefUtu8GgBKa1qG5k9wJ65xhrSOsFcF3AEA+HroZ0jpDWmdI6whpHSFGbzYAVKIcyZtaRyjz7loHNAJeIcYaSLK7tItZwMWZMK03G9gFQ/ZmA0AV0hFWO2gXswBgF2zWEVZBVd4Fn3UkY9wmSp5cnY6xNmlJjGtQnjmdx3QnI8Yat6ktM8ZdK8V4YVgcklqC8KIsYOcwwQxKzCCxYy8A7L3BCUrMQQkXthUAzk5Bz4GCYi5sCwCcwQTFpiDsUhawYxhvChI6sgGgAmZadIUvoSkIXWuTN1GZBQAAsKeeFqCpA1QV9DpjH17mw0q9U2IvRuRJvc7YPcZzj3BdCK4LznkYMDb0ymMHZIhpH2TYBhm2Abq1n2bpmzX3Uk29VFMPxdhNNnSR9F0kfSdR10nUdRC0kLt4zb0RtGu436Ivk35OsIJ7jdrXGtCnhv4rutfk/Fo5v3+ZywH31Dtr+SG4n4fi3g/skrWSWUvvrLl31txHs/TRLP10az/dCg2X++lW6HdhiGlP/YIkX5efyrMLmtDONMJ1j3Ddo1z3KM89ynOPZUDy3Ei+G8l3j/Pd43wPBCVIQkNEnomUSZFnUuyZFHsxYu+U2Dsl8U6nYCVerNSLW+CbkflmZD48RO4jyH0Euc/mj370b4dmeap+DK93krtEXyYMtx/D7cdws3NypaktOyd3AMMdmOIlTScNLkPlay+++pQIMTTy+b7Rz/chP9+H+nwf5sA+TO4+XO4+/MEc4sEcysEc2uEcxuGPOIezOUeyeUeyBQ+On7LilzhHsjlHshmHP2Ic/oh6KId8MId4MAd3MAebuw+Tu2/ywL7xz/chP9+HPLifdbf1jz9/xAXFWJfE1qVGxs+8/IY/PIcVuzBC14TANc53jnIcCLYdzrLWdyD5AmE/wfrXa5bPr9tW1E92kcnk/Pz8rq6ucxcLZ7haviEgMAQEer9A5xHqPEK9R2TwSAxe+KUsYOcgxRpQ24MaO9TLsNahvbMbAHbB6I6Q1hHS2EMaG/ViFrCtS6G2Ktt2A0AxNf1+WxohbDsAXMQFNfagxhbU2INqexD6Eq17LwBUIG2gygaqkscHkSVZAFCJtIc09pDGHtY4tLd3A0AJXetILwan559pF7OAbbv2JuuLq84Cqi4WZwHFNJUdurm3VQBdTVMLzSdT7RH1THUWkN0mjKqdUY0zRu/7EACqx11xjTuuccc10tEdALC936D1zDFSMdamYqzxJDSZMXYYWncDQDFdZg1DV/kgdu4FgD03OKDEkrzwltQSklpCsOJkjMVmUGymns0CgJ3D+FR9N3eoxOag2BwUT1VmAcAZDCg2gbBLWcCOIbwJFGOSnxSZkoQmUGAE+QaQpw9w9SBbp7q6AwAuUujq5EU/CHLfTEaM0UIPSuBB8t2j3y7GS3o8xLRDPR6gWzN73EMxfqse//Nj/C16/O1i/N30+IFi/MNJ8nfS4+7lJy6kYpzZ43SVB5n2dI9Tvylr9RiR7nGqyouSzF+a5HSPUQIPWuhBC1dIcrLHGUnGLksy1OPMJNv80f/48gyZJRkjyYZw4mGceBgngcBmkuCZ8JJzxU3p0ef54qYRvGQELxkh3ANDbMx/4wUZCjlx/ODk8YOYEwcxJw7i8nLxebnEvFzyqQO0MwcYZw6wz3zOOfc5//zngvOfCy58Ln5wopQVvyS48Lng/Oecc59zzn3OOnOAceYA7cwB8qkDxLxcXF4uLi8X+sGwF/IYAwO7X37WBcbYOpCtW+hxKsYvveEPx6eErgmBc5znGOXYEWw7jGkdYphr7oxweXybzWZec8PjCblfnSiuaa6/2YnjqPkGP0/n42k9XI2Lp3HyNS6B1iXUuWCFWcCOfpLJp7AElDZQbQtq7KDGDqpxlVkAVN+AyuIfK84CgPJRs09hlrXsAoBLZIXZpzD7lGafkje0DQC2dsqVFv8iZj+1c0/qXtDBfoXFr+QNbQcAoJiqsgXV9hCtJxsA9rYJw5pUjGfTV+BKz0KX0FT2sMpOu5gFAABwARdW2cNKIXwbAGzt1ijtISWuOgsAgF0wij2swlVnAdmtwqjKEVU5omrxyHYAAEqYaldM7TLc/gAAAGBbn0HjnqP3fwQANePuOY3bdPsDAChja9wJjTuhhmJcwlI64pSeD4HkxHJQzBneAgAAsOc6B0xeBRO6EGZyznkYDxU3Hd2poNisvrETgEbAYpP6xk4AWDwynjEFRabZM1kAAFQMQxe75sA27xjGGkDs3b0n0SBXF+ToqHlZwHttCroqQFUGSAo/Qe6fkfpwEt+02IcReSeEXpTAg+R7xnieUa57hOtGcB4enO2CwFjOYaZjiGGHDNJtAzRr/6ylj2rupZh6yMYe6IJcRH0XUd9J0EE68Np7uJ+yEvQPqotoWMu9VqwfbiV77bPSvisPcVJb36z1B2Ltx+EBHmSKuY9qydRPs/bTrAN0G7RMM8iwQ6D56mGWM3kZO5Yz/SsDGeF6lhvLxPMgM4zzUiPjNIEXLfCihV600DsBEXknRd5JkRcj8mJEyRhPi33TYt+0xAedToST+HBSH07qm0nBy3x4mZ8g8xNkfp0zWnmtq7jqKktmm2Rox6nqMYoKmUaFqNPGU1BUNYqqRmeazUBLmkjhKaxFb72qmMbg8k/hCk7hC/KIhXnkwjxqUR69KI9RnMcpyeOVnBCUnRCVn5BcPi65fFx++WvFd01y+WvJ5eOi8uOC8hP8khOckhOckjxGcR69KI9amEcszCMWn6FUFvG77/Zeu1W8/89uMJbO8KI142de+qU/HMcInWi+Y4xrR7BtMKZ1kG7upxqaBvBHThUcOHrmwNEzB74+k5t7sCy1HTz4xaFjZ788eeHr0/nHzxY234XN/MxUrQAAIABJREFU8E2zcgdH4+Pp/Vytl6t2cVQOjtLOVdl5ajtf4xgsyAK29xGNHpnJpzD7FAsp9SmmLmesx5YhDG6ZwSU1SG7uBIACPPTOlzKDW2b0wJOvHPrgJtsjM0LcUoObdPcDACiDZ75ZptEjM3rlnMFtC995b6sgBF3zEgnFOPMNJHDVWen62sOjJVkAsLeFn3xLqIwF78rzxVnALhjFFlZgq7OAvbcE0NtLRFWOqGpm4bVJ23pHL2YB23oNavccrf8jAKhBuufUbmPbBwBQxla7E2p3QuVKxhi6chZi4eSsPdc6KrOAPdc4oDj15hAQaAF4xpx+32XN9Z0AAFQOm4IiDmxL6v6bL1VsBoAzmKDIFBy6lAXsGMaZoPdvhnqcWjCeDAoMQezdjLXkfCq0YExVBciKAFEemJH5sVL/lMQ3KV5YMB6D1owfasF47cVjaOX4u1w8/ievHP8XXzx+0PXj731N97/E4vFymZmHTvJasnicPgF7mO0azlg8hn5lMk/yWnEVeSzTkoVk/uoLySLfhMg3kVpFhhaSp8TQErJvWuJbuoq80kIyWx8Uqkx7PzlwsewKlSNRWQJykx+iyGReoFxMtSLLCqr+9Vc2mVwxPqIaH1GPIzQohAaF0KEQehTCMIEwTCAsGJgFA7NhYHYMzI6BOf4x7BiYDQOD/izzJMwwgTCgEHpU8ufRYFCMUUTH1cadv3xVpjXLbWGOPpgpCL2fMRTjSYETxXOMcmwwpnWIbu6nGnrIug68snGQdOjYmWNn8k+ev9TY1CQWiwUCgUAgqKuvP3EmP+9s/tenzveg6Vieianxc/QgVw/ydH6uxstWOVkKG1NuYSusHKWNq7TxVHaBxiHSuSQGt9ToSb9ftNTolhpcEr1LonOKdQ6x1iHW2kUaW5owuWNP0iaJk+9quehg6Hihxi7SOsQ6l1jvlhg9MpNfbgkorEGlLaS0hZSL38dpyfs2Khas8P6McltYbg2nboahd4SUJ99sMaqwx5SOmMIRUzpiyoy3PVYl3/k4cyf5LsgKx5zCEZfb4zJbTGqJiM0hkREUGgMzHXsBoGLICIqMoMgUFJlCYtPSi0un3kIxuBoBxLg6Q1BgDPEMQa4+yNYFWdogQwPS1CBVFaAoU2dvyfzTEj8mdfbWePLsre8mxgsnVLNd6bWx5WdyrdjjRQNl4j2tPKsMfbeHAP0wq7r3rPLqL836TzAnfH+ncCdPQfqBuJ9H4yEeZGhMDBlkLJxfDe0Ms53DbCeM44JASzwL89I8TwbopGvvWIbM87mQgsXncwkXoJNSJRYtnNU1mVliqW9a6sNKfckYyxZKvOR8LprKqzJ7G+7ADpwo2PXxf0D+f/bePMyN8s73bcjcuXPOmXvnPveZyTIJS5wTL0+wzSX3PAeIE3LIGSYhGAzGdtsmBLy0sYGQAF7gzskEMhkmYILZva9gY/eqbvW+79r3fd/3pVTaVSX3/aMktaSW1NXt7lZJ+n2e7+OnrS69Xe+vXumjtzY9UShb6p/fsjM7ewrmybnZtefJXXueX/OdLf81lSe//50nV9+xdfWdW9fc9fTau7atu3vbD1Zt/8H3dtzzvR3rv1+/4fu7NqzetXHNro1rdm1cu3vj2l0Fc+/aXffmP7hz49r6jWt3bly7M3uxjWt3bVxbv3Ft/ca1Ozau2b5hzbb1q5++5/tbf/C9p37wvSfXrdqy9ruPr7l78+o7N6++c/8P13743E6TKyC1oHxzOCsRvjmSJ2N3l8DVznO0sm2NTMtXU8Yvx3WXh1WftTGOHHvz0qVL17L48ssvL1++fO7cuVOnTh17480r9CmmBuUawlxjiG8KCYwoT+fnajxspZ2jtHNVdq7SxlPZeCq7QOMQ6VyStERlRo/M6JEZ3BK9S6JzSnROsdYh1jrEWptIaxOqUxGobQL17H+FGptQS/xrF2rtQo1dqLEJNbNLCtQ2odou0jrEOrfE4JEafXILorAGVY4Q8S3IGmdUQ3w3oiumdcXUOQJOJee7jR1RlSOqzIoi54eYyhlTOeMqZ5y4uVX61leY2oOpPbjGm1R7khpvUp0WsMab1Hhvarw31d6bak9S5cYULkzhTMjtcaktIrGExPyWf66re+SyRmwJSSzhzPcWpxORWCPihcZSIEJTOM/EudNidFSJDs9OiwPdYqRTnJ4WL52MSU6OCR/nyHii5OHbnCx2mru4Hcu3dOB2yc55XnQWOmskf2VU5ebWZ88litzIchEhrk7OvhyZmBm38n2ZZL988qbFsxdBZaUzO+JAV1a6JbOZPctaGuiVon1EZGi/HB1IZ1CODirQwczkWIkOK4Mj6YyqUhlTBfnmiNkXd6GJwgkm3CTiSQUrmtBsvNSIb27CqahdsdRFTbnJknEE6xW5OwUuGtfRzLJenzZ/OWG4MqK9OKg82yP5j4vdv//0xu8/ufH7T5ve+rz53063vnO2/d0L9A8ud31ytfd040D7lJKhQTmGMM8Y4huDPAPK1fnZajdL6WAqbCy5lSW3sOQWtsLCVVp5ShtfbRNoCIlmYhOorQKVla+y8pUWnsLMU5i5ChNXYeLKTZzccDNRzIajyF1GYeYqrXy1XaBxCvVuicEnNQeI66wyE1y1M6Z2Eh6NqZzZro0oMrFHFPb0xUKFIkt9m2FMbo/JHTGFI65wxBXOuMKVULgSChemdGNKN65yJ1We3Hhvqrw3VZ6bCndS4cLkTiz7Hlh1dXWPXFQLTSGhKSQ0h4XmsMgSScUcEZojxINzIygRU374pjBxLh/XEGLrQyxdkKkNTmuCk2p0QoWOKdERRWBIHhiQIb1SpCd9tDitYR9N4KNl7TG7lWTPjDPT4oyJs/dUpyamxJx43JjZU01iflxK1YueHxedIi/PzHjFJsfkZ8a1NkVewplxXp2J9vOOGROz5BaeJ9vHbQI/kZwLkeeEnqvkrkzEge7c5F3slLreSRogfNwvRfuzlDyYVvLs/mplcFbJaRkTIS52mkhnkrgcWROa0oSmtKlMp8PQzYaZiT7E1IeIuzWz9GF2VjhEDPnh5sWYE14mpoWFf2tJ3eKjUCLZMu4Ruel8VxvH3sS0fDVl+mJcf3lYc35AcaZHerJL9Dld9HmX6PMuyele2fl+5ZVhzfUJfQvD1Mm19oud4yqEpQ9zDEQPQzwDytH62GoXS+lgyKzTMvO01DQtMU6LjdMSI1NqZMlMbLmZLTdx5GaO3MyWmdgyI1tmZEmNLKmBJTUwJQamRM+Q6Bli3bRYOy2azZRIOyXSpP4r0TEyEesYYt10KnqGRM+UmlhyK1tp46idfK1HZPBLzKjUGiKu58l8JXC2VmWzB2Jnv3BQkpvUXt/s6Wb6Z4k1KrHFJLaYxB4jvndBStzz2YnJnLjMhctduMyFy1y43J2Uu5Myd1Lmvil14lIHJrYnxLaE0BLjm8M8Q5BrQLl6lGsIcg1B4rw7nimUHkMhnjHENYa4xiCxABFO6egLh60LEg5maFDi9OkJVWBcGRhVBIblyJAMGZAifRJ/r9jfLfJ1Cn10ga9D4Gvne2l8Ly33XJJbDHEOV+Y0riaWs+BpXKkDxplzuMYMVzInc817gvRSHzyef2692IPHpY8fw8Fjyh45XsTB47kFvJGeImfmysQUOXXMWDCrZJrQT0tPhYuFLs65VUhXJul7g3TPf5OQrDuEKFIZVAQHlcFBZfr2IMqc24OMqNI3BlGHxtWF7w0ymZJxeEobJu7BTIRBRB9m6MPMrLD0YZYhzM5NloMjszFGOMYINy+m2fAWFPNsCs5ryWd+GQdSMna2cmyNTMu1SdOVMf3FYc25AeXpHtnJbsmpHtnpXsXpPuW5AfXlEd21CUMTw9LOtfcK3SMy/6Q2yNSH2YYQ1xjmGkMcA8rR+VkqN0PumJJaJyXmCZFhXKAfF2gnhLoJgW5CqJsS6qZEuul0ptKZFOomhbpJgXZCoB0XaMb56nG+epynGuMpx3jKUa5ylKsY5SpHucpxnmqcrx4XaMYFmnH+nAh0EyLDlNg0JTUzFDaWysXVeQWGgMgcFJlDYktIMteylrAoE3NYVGi6yTenr9Q2p6aVsx98ZiseFVhiAktMZI2LrAmRDRPZMZEjFbEDFztwsTNJROS4KbLjQhvGtyb45jjXGGUbQiwdytCiDC3K1BEJMnVBpi7E0gdZ+iBThzJSCwSITGvS0RaKJidTczKpRibUyLgKGVMho0r/iMI/JPcPyHz9Ul+f1Ncj8XaLvZ0iL13oaRd4aHxPG8/dxnO3ct2t6auElySZq5syVxsTFzhdZ6RMTJxN/cWY4Ysxw5VR/ZVR/eUR/eUR/aVh3eUR3aVh3aVh3aWR2VwulpJXQ81/hvacZD4ZFA7ZvegFJuuLuw7q6uQt3GKswFncCwhxdH9ps4irra4tw2rMrg+JOiy8yLa8AhI7hIgPozcY9kams4mVOpzcwvWkJ8rezPy4XbQAJXcWV3JP6ft2yYP98gUoefZeXbk+zlbygnxMKLn6fJyS8Z3EzFjo6uA7Wtm2Robl6qTp8pj+wpD23IDqdK/iVI/8VI/iVK/iTL/q/KDm8oju2qSpadrSzrH3iDwjMv+EJsjUh1mz+weCLK2foXJPye2TEuu4yDQm0I/wtCNczQhXTWSUqx7lqcf4mnTUREZ5qYzw1CM81QhXNcxRDrEVQ2zFEFs+yJYPMGWDLNkQWz7EVg5zVcMc1QhXlfssItpRvn5MaBwXmSak1mmFk6X2cnQIz4DyjSEBse/XEhZa8lwb5plCqZno7AQ0xDWGOMYQxxhiG0JsQ4itz/pBn/VfQ5htjLCNUY4xyjVFueYY1xznWRKpWDG+DePZML4dF9iT/HR4VpxnSXDMCbYxxtRHp3WhSXVgQhWYUAUm1IEJdWBCg06qA5OawKQGndQEJtSBCRUyrkLGlEWiQsbm/HZ0Nv7sjCj8Iwr/sMI3JPcNynyDMl+/1Nsn8fZKvD1iT5fI0yn00IXudoGbxicc7Grlulo4rhaOq3mpkzHx7KXGU9bMtPjqhOmLceOVUf3lEd3FIe3FIc3FIc2FQfX5ARXxL/HD/BnSlMjFYe3ikvo0UCwj+oXm8qhhTgovU3SXQMk9AeSzwP0Ey5siH1xu6UDDolajVBZc4ax+zT38cW3K+tWU9asp2w2G/QbT0cRKXYVMXHac2WVNfOFEOzkldy5OyfJZH2eUXNDHw2kfj6nnnyKn91cX8rFuoT7OV3IxGS9YyeYlUzKZ3dTOWRmPGi4O684Pqs/0qc70Kc/0qc70q8/2qy8Maq6M6r+aNLUwre1cR6/IM6JAJjVBRro6HGOYrQ+ytP5ppXtS5hiXWEeFxmG+YYirGeSoB9mqAZZykKUYYCmH2MohtnKIoxpiq4bYqiGOapCjToWtSkc5wFIMsBT9THkfQ947LeudkvZOy/qZin6WYoCtTC3G0QxyNINcbeoHjmaQox3i6Yb4hmGhaVRiHZc6ppRuptbP0gbY+iDHkG/ZbNGy0iGOWDB0IYYuyNAGp7XBaW1wajahKW1oSpP7X+JTni48rY8w9FGGgfgak3jqy8XMCbYFY1twtgVnW5Nsa5JtSbLMOIv4mkJ9bFIbGVMHRxUI4cgRBZId4vFhhX9I5h+U+gal3kGpd1DqG5SmPDoo8w3K/IPSeePLZEDq65d4+yXePom3V+ztFXt7RJ5ukadL6OkUeOgCdwff3c5303juNq67jdAw29WSviB4yZO9d5rYQX192vbVlOWrKcvVCfMXY8Yro/pLw9qUfftVZ3sVZ3sVZ3rlZ3vlZ3rkZ3rkZ3rnydm+kulXLC7nBpQlQnxWWHAG1bMZUJ8fUJ0j0p/K+QH1+dSHjCIfL4a1t56LwzryWcTHDlIZJqK7RPyhIe3FIe3FId3F2U88+kvDy/Oni6R0HRZc5BHd7Ae7zN6dUf2VUT1xFOaLcePVcdNXk5avpqyElTN3zUzNj4WkfJz65oms+1rPq+T8KTJpJY+ogqOq0GiekpdiijzXxyWmyCVkXC4f80vIuE/k7iSOGTMs1yZNX4wbL4/qLw7rzg9qzg2ozw9qiFwa1n05bmicMrexbHSeo0/sGVUgU9ogSx8hDq1zDGG2IcjU+KeU3gmZc1xiHRGahvj6Aba2j6XqY6v6mMo+prKXIe9lKvpYyj6mqo+l6mer+tnqfrZmgKPpZ6szIZbvZSp6GPIehrxnWt49Le9hyHuYil6mso+t7mOr+ziafo5mgKvt5+r6Odp+trafrevn6vp5+gG+cVBgHhLaRiWOcblnQuWfUgcYWpSZfXbArHFTd2Oe0gYnNcFJTXAiFXRcjY6r0TF1+i6sKnRMhY4q0dHMCf2pn4Nj2SNPEx7XRsZ10UldfFKfmDQkpoyJaeK7u03YtAmbMmFTJnzSgE0aEuO6+Jg2OqoKDSnQfpm/X+rrk/j6pP5+qb9f6sukT0rMWb3dQk+30NMj8vSIUhLtlXj7xLPpJZceIiJvt8jbLfJ2Cb2dQm+n0EMXeDoEnna+p53vofE8NJ6b2DvdxnW3ctwty5m8+340Mh2pu3FNmr8cN6VkPKA+16c80yM71S052SU+2SU+2Sk62Sk62SX6vHP+nOwUz5MuyUJzqrtUTvdIFxvZ6R7Z6R7pqW7pqW7Jqa50f7vEJzvFp7olp7ulp3ukZ3pkZ3qJzP3wobjV9CvJJ/NBYUmjPNenPNunPNuX+uyV+eB1tld+tpdYT+W5vmX666UyT0EWUudz/cpz/crMD0QyO34uDKovDWsJK381abk+bWtiOZvZ7haeJ3X8OGtyPP8UWRTozFJyV1YKHEieq2R5jpLz9lrPnSLn+7jUFLmIj+dMkVmL3mV9Kz5enl3WkexLm/rF7h6Bq51rJybHX02Zr06YvhgzEIflrozovxg1XBnRfzlmuDFlbmFaO7iOHqFrUOobUwamdSGWIZI6tG4Ms/UhphaZUnnH5a4xiX1EZBniGwe4+n6Oto+l6WOrepmqXqaqh6nqZan6WJo+tqafre3n6Po5un6uPhXiv2xtH1vbx9L0MNXpqLqZql6Wpo+t7SOW5xnSMabCJX4wDfAt/QLroMg+JHGNyj1jSv+ECplUB6Y0xEQ2OKUNTuaqd1wdTLlWhY6qAqPpO70NKwPDqQvsiCvfA4PywIAcGSTuqC5DBuTEpfHooAIdUgYHFcEhZWhIFR5WRUY0sVFtfFQXH9XFx/TxMX183JAYN2DjBmzcgI/pE6Pa+Ig2PqyODipCfdJAj9hHqLFb7OnJ+FLs7crsNxZ4OvjuDr6bLvB0Cj1dQk96eV+P2Nc9J11zI0pH6Osi7l4rTJ2fRc/cTo/vJdJOhOdt53lpvNnztlKnk9zieVtzGiHuNJQRc+rMaqbj+rTt6oT5yqjh0pD2fL/qTK/sZJf4M7rg0w7+J+28T2i8j9u4H7dxP6FxP27jzJtPaNwS+ZTGW0za+SXyWYdg8Wnnf9bO+7Sdl1rDNu4nbdyP2ziftHE/oXGzG/+cLpyb1CeVW0zmQwCJnOqSLGHSH5JEn9NFn3UIP2sXpEraLvisQ/B5h/BzuugkXUR8ilraPz3/upUuxQKLfKpLfKpLnPnhVJf4dLfkdLfkTI/0TI/0XL/i/IDq0rD2yqj+6oT5+rStOX2XrjYecT4Xkufj0kruLDZFLqjkzF5r2fJMkcmd1bUEPi40P170FHlJfJwj40GJp0/s7ha4OrjONo69hWVrYlgbpy3XJ81EbkxZbkyZmxnWVpaNznX0CF39Eu+IAplQBRj6MNsYZRsibGOEbYywDWGGNjCl9k8ovONS56jEPiyyDgnMAzzjAFffx9X1sbV9bE0fR9vH0fVx9f1cwwDfOMg3DgpMQwLTkMA8JDQPCc2DAtMg39TPzyjW0MfR93L0fRx9H9fQzzcN8M0DAvOg0DIosg4KrUNC65DQOiiwDgqsAwLrgNA2ILIPih1DEuewzDMi940pkTFVYEyFjqtmv2BkLOss/FFVcFSFjqjQERU6rEyrVxFIGVceGJCnvtikT4b0yZBeKUJcFN8rQfpSt61JDdN+ebBfQQzQ0KAqMqSKDqmjQ+rosCY2rImNaOOjemxUj43q8BFNYlgdG1LFBpSRPlmwW4J0Cn10gYdIp9DbKfTShd4OoadDmJqt0vhuGs9F47nb+R66wNsp8qev5Q905b6isi8ozLu+MH3dYeqGAHQhQhf600l/l6oQ6RAGOoSB9tnkX9SYm8B8yVpYgLQLCrdAEyA0AdLG97fx/W18XwvX08R2N7Kc16dtVydMl0d0FwbUZ3pln3eKPqVxP25lf9zK+qiZeaJp+kTT9IdNjA+bGCcap+dJE6NEPmxiLj7NrGL5qIW9mLSyP2phf9jMPNHE+KBx+oMbU39JZfIvN6Y+aJw+0cT4sIWVWrKV/XErJy+EvJcgNB7JfErjL2E+ofE+aeN+3Mr9qJXzUQuLKMWJJsaJZuaHLaxMr4k1XNo/TWrd5s1Cikx8sMv88CmN91kH/7MO/km68FSX+EyP9Hy/4uKg+sqo/tqk5QbT0cR2NXM8LVxvG99PEyAFfVxCyfQSSi49RZaRnSIPKYlTugr5WH2ru6wL+nieXdZFZFzGXdYpGRPf2jQi9w3JvAMST6/I3cV30XlOuS2kdYQ0udE5w3pn2OCOGD1Rkzdq8cWs/rgdSTgCWFYSdiRu88esvqjVG7F4wmZP2OQOmVxBkws1OgMGR8DgQAzOgMkVMLlQkws1u1CzK2h2B83u0JwQjweJJdMJmlyZhcNzY8r5IWL2RMyeqNkbs/gyiRMx+2KpeGdj8sZMnpjJk/1FjTGDm0g0O3p31OCO6d2xzA+G7HjiBk/c6E2k4kuYfJjJh5n8mNmPEzH5cJMPM3oxozdhcMf17qjOFdG6wulEtDn/DWtcYY0zFa0ronOlvmVZ744b3HGDJ27wJIi/a3DHDe64PpVYwejcszc/mY07pnXHdO54kaSf5c4sWWLhUo1kJetXnrjOM/tfrTumccU0zqjaGVHZwwprUG4JSE1+scEr0rkEGgdfbeerbDyljae0chVWrtLKJX4oHeVyhVciKlt2uEpb+lm2vF/lLcNTWrlKK0dh4SgsHIWZuCaQQ1wcqLBwFMTfzTzLPjd8Nanw1HYeuSXni2NJY+ep7emCWDlKS7oUllQBiY4vy5+ef92WOak/JNA4hFqnSO8W691ig1dq8sstAYUtpLKHVY6w2pG6l5Em6yVMJnNeiakUe8dIJet7aQ2emMEbM3jjxtyYvMT306dizo0lO/64xR+3FkjC6k/YkMKxz4kjsARxLijogmMLJObKOHXTj++u2RCM4cTZuaMK/7DMNyD1aZyRTy/ceOzZVx77VVaefeXxZ1954rnfPfn8q1v3vrZt3+s7Gg7XHzi66+Cx3Yfe2H3ojWcOvfHMoTd2Hzq2++CxXS8c2XngcH3D4fqG13bsf3X7vt9t2/vbbXteefr5V7Y+95utz/3m6ed/8/SeV7bt+e22vb/bvvd32/e9umP/qzv2v7Zj/2v1+1+rb3itvuG1+v2v1e9/bUdOXk0v8Hp9w+v1DYfrGw7vPJCdI0R2vUDk6K6DR3cfPLb70LHdh9545sU3ifzqJUrkmRffzKrY0Z0HDtc3vL5j36vb09mx79Xs/+Zlx/7X6hsOpzub7unBY7sPHtt18Oiug0d3vXB01wtHdr5wJLdE6TQQG4jI63NKemTngSM7U2UkGslpZ07xc5bPytGsHJmzPtnPOrrr4NFd6S7kdWTngSNEcbbt/d3Tz7/y1K9f2vKrQ0/sfuHxXQ2bdzVs3tmweef+x3bu35xKQzqpRx5bVDYXyoIWJv/03EZme/TYzv2P1e9/rH7fL3fsfXT7nke373l0+/O/2Pb8L7Y9/+i25x/dvueXO/Y+Vr/vsfrsFhqWtQLFWlu6CuSsP9F9ogK/3EF0/7lfbHsu0/10BfYVGgBUGAMFVqZYO8Wf0vD4rgNP7H7hiWcOPvnsoad+/dLTz7+yLfXOmXlLPAyheM592TzXx2kZr90QiuFTGnRSg06o0Qk1Oq5CLb7YU3teRQAAAAAAWCLqGw470aIy3hiK4enTiYk98hEbkti+/3C5VxsAAAAAqodSMl61dmMonkyfCx3lmKIcU9yBYjtfOFru1QYAAACA6mF+GbMNYeKmUTxLnGdNOIP47oPHyr3aAAAAAFA9lJTxuo3heJJjDHNNUZ4lzrMk+FbMFUzuPvRGuVcbAAAAAKoHsjLmmuN8a4Jvw1yh5DMgYwAAAABYOkjtpuYYIxkfw25qAAAAAFha5pNxLMnSB1n6MNsY5hijHFPUgWI7XzhS7tUGAAAAgOqhtIw3hGI4Q4cyiO/N1YeY+rAdSexoeL3cqw0AAAAA1UPp64w3hGL4lBqZ0hAJTGoCVn/s6b1w0w8AAAAAWDJKynjNhmAMn1D6xhW+cYVvTOEdlXvN3siW514p92oDAAAAQPVQSsZ3r1kfjGJjMs+ozD0sdQ9K3AMil8EdfuxXL5d7tQEAAACgeqhveN0ZSPBM4ezkyHhE6hoSu/pFzh6Bo5vn0DlDv9j1YrlXGwAAAACqh5SMjWGeca6Mie8zFjv7BI4enr2Ta6OxbWp78J92HCLZ+tvvnIBAIBAIpCKynLadh/r9rzkDcZ4xlE6YZ0zL+K7V69EI1i+09/BtnVwbjWVtZliUVvThbQdJtv72OydmgLKComi5V2EpqbLurCQ1Uroa6eZyUOOlQ1G0vDLesf81RyDONQRTMQa5xlA4nly1biMh40SfwNbFs7azrC0My41Js8KKPrT1BZKtg4zLTpW9wKqsOytJjZSuRrq5HNR46cou4+37XnUgcY4+SISrD3L1wYyM70EjiR6+jc6xtDEtTVPma+MmmTnw46cOkGwdZFx2quwFVmXdWUlqpHQ10s3loMZLRw0Zx9g6NBMOIeO1szK20rlL90mfAAAgAElEQVSWNqa5ccp0dcwgMwd+/GQDydZBxmUnEAiUexWWkirrzkpSI6WrkW4uBzVeukAgQFLGLPXktm3btm3bxteyFu/eOWzf+6oDiXF0AbYuwNYFOLoAR4eGY3i2jC10jrmVYWqcMFwd08vMyKYtIOOKocpeYFXWnZWkRkpXI91cDmq8dCRlzFJNbt269b777rvvvvu2bt06Jhq8JQNnQcyMOTo028dzZMw2tzKMjROGq6N6uQn58Zb9JFsHGZedKnuBVVl3VpIaKV2NdHM5qPHSkZTxO+3H7j52+5YtW+6999577713y5Yto8KBW5JwGuIELo4hyDEQh41Rjh4Nx7Nk3Mu3dnLMNIaxecJwfVSnMPl/smUfydZBxmUHQZByr8JSUmXdWUlqpHQ10s3loMZLRwirtNFamF/edeT2mZkZtpe2efPm9evXr1+/fvPmzaOCJfDx7E0/jCGuMcg1BDn6YI6M+wXWbo65g2lsmdQ3jmmVZv9Pn9xLsnWQcdlBqusFVmXdWUlqpHQ10s3loMZLh8wn48apy3e+dvvMzIz1png6/sV7in2PPvrounXr1q1b9+ijjw7xem9JxQiy88ARF4rxLRGeOcIzp5SccwLXgNDWy7N0skw0hr5lUquy+B5+CmRcMfj9/nKvwlJSZd1ZSWqkdDXSzeWgxkvn9/tLyLhx8vKdv719ZmZGjA6PRi5M3Tw/FP/se//f/3bX6391x6u33/Hq7Xe9/ldD3Fvy8e6Dx1xBTGiNCSyxlJKN4ZSM7169PhjFhkT2AaGlh2vuZBnap3Uaq/+fti5AxhiGR2MJSFmC40m7w1U1m6DKugOlg25SJzVeOqL7xWR8ffziHS/fPjMzc13//vvSgxcsx7pDJ6Zunv/+m38zM5O8ORONJ213vHL7ww8/PMDpXryMDx1zh3ChLSG0xoXWmMAS4ZvDqeuMiXtTj8qcw2J7v8DSxzN1sw06O/Lz7Qs4ZkyRrdu2t66u7oH3pDkPSo4/ULe3vezrttwjrOAmaNtbl0V+Zcqbtr119x+XLag7S5KC46HYytzSX0lV/X3JSm2I0qVbmY5Hl7+zyztCaPuy134F3jpWcqiQLd2KFyG6Iq+R0jL+zqHbZ2Zmblj+bc/Ipl29P/wX3g7Cx98/+jc3Z6KRm3Jj9Np3Xrr9zjvvfOihh/gyzuJk/MyhN9yhpMSOiW0JkTUutESJb21atW5j3XfXrA9FsQmFZ1zmGpE4hkS2fr7F4Aw8tnMBN/2gkoxTYzrzYI3LOPNWKzn+wGKGOG1fXj2XcGNVg4yL10dy/IHMr5ZgQ5DIisq4eMeXe9Qt2wiRvfdAXV3dvrbZR9r3LuHgp8BQIVG6shVhBd6sSsv42/tve1fy5B90Dz87sX5L19o7f/u1u3/3V6te/evvvfa/4zMBM9YxhBy+49DXvv3CbXcc+tqqV/5mkTJ+8U0PIWM7JrIlhJaYIEvGG0IxfFrlm1R6J+SeMZlzROowu0NP/GoBXxRBHRnff/z9vXU57y8g4/R/Ze89sPB3XpDxYutT7B12kRuCRCgo4+UYdcs0QrK317KEAkNl3tKVsQgr8GZVWsYnWv/0redvO8zadET5o2cn1t/x0u0zM/jNmSh+Ew0m1dzwqXbkZW74cwTnRzDVqpf+0+JlHE5KHHhKxtZsGa/dEIrhTE2AoUGm1f4plW9S6bV6I1uf+01lylgWpe3L/mSX8x4kff/+2R0hs5utbW/d/cfb30vvLtpLy14y+0Ni1j4lyuz1XbiMZe89ULeX1r43q3dZ/ZrdK5Wz4yj9YMEl5/5qL63Ag9nLU1nGRfs4u/vugfekheuT00ilyXhJOl6ss0Uazx+NpRtfthHSvjdr0Bb6bdbrXfr+/XnvMHPfEyg5VOYrXTmLsNzDJjqfjBEEeevi0W8+e9th5qYjyh/dcfD25E0Pgg/qomeZgT9esG1/T/vz0/on+mz7J40vf+/Qf1m0jN3hpMSBp/dUx4SWSISQ8aq1G8MxnK0PsvVBti7I1gVZOtSOxLbvfbVSZUxsmGx5zP68Lz1QZO89kGed1BhKbfvUayNnsZyPjbnKL2MWJOO9tPRAfyBTCqLLmb7kdDnvw2aJJXN+JX3/Pdo8y1NWxkXXWfr+/Zk3Gtr76R8WOd0p/pa3LCNhJTtesLPFR0L+aCzd+HKNkHlezkU9VPg9gapDZZ7SlbUIyz1soiRkjCDIWxeOfmP3bYcZm+5o+Jo/3tht3vsX2T//UfY/X+c92DC2Yc/A2peG7nlj+P/93oG/XbSMPeGk1IlLHJjYnhDZYgJLNEvG8STXEOYaw1xDhGeM8ExRZwCrbzhcuTLOHgdFd1Nnbblseed/PJxdLHcsLttb6kJDUsZte+vSwzrv43Zev3I/8+aM7xJLFvxMXarlcsq4EOmVKb7OuVOBuaOowB8q9A6btSFWbiSsZMcLdbbESCg0+Su3jLNqlRneBT1U5D2BqkNlQTJe4SIs97CJkpMxgiBvnTv6jfrbvvP8176z52v/+Nxt33y27o/inx4Y3/h443fufv4/r9r7t0SWSsbCfBmbIjxTlG+KCcxxgSXuQrFdLxytYBlnje88Gee8JRX+NJo7AjIbOO8MQ2J3CFVk7Jz/bOrZYZr7MaLAx+GsCmSP7xJLFvxMXbLlkjIu3J0lyTwTxFLrTJzbkrvRSb/DFtoQKzcSVrLjBTo7X+P5r6P5ZbzUI6TgAC7mm8zjRd8TKDpU5ildWYuw3MMm030yt8N86+zRr2+/7eXh//b4tTu+Xl/3he3xfaNrf3b577/73CIdnIGQscyJSx2YxJ4Q2eJZMl63MRxP8k1RgTkmtMZFtoTIlnAH8d2HjpFs/e13TiQwPBKNlz1te+vuf0+a/i9tT13d/e9Jxe89ULeXlnmk7v7jYmKBtn2Zn+c88YF3JelmM4u17aur29dW7j7ODY4nrTZ7wU2Q269MpO/eX7enLauD+f3KqkBWlUotWbA4JVsusm6lurMkyRoPhQpVuhrReERy/H5irpA3PAr+ocIDrAwjYSU7XqCzpRrPHY3zNb5cI0Ry/P7szs4+SKz23FLsayvcr7ynU2uozFO6shZhuYdNpvskv7XpD2eO/sPTt/3D1tu+ueNr/YEtz43e9dML/9fdv1p6GYusxWUstmPuUHL3oTdItk5VGae25buZ96DZUVX6BVBExgVHKgVyqzKe26/sQmWP7xJLFn0ZF22ZojIuXY2sAs46rNzvsCRLt2IdL9DZUo1TQ8bReNveuvz6FPNQRhLzvydQa6jMW7oyFmG5h01kgTJGEKRzuP3UF5/eseM/3Vn/n+/e9bdEFinhNBkZyxyY1JEQ2+fK2BwVmmNCS0Jkw0R2vEpkTIyturosGac3LfF5bUEyTrWWeXuSvru31IZfsSSTSYvVtngZz+3X/VnPyv1wWmLJnF9Jjr/bNv/yBd90SnRnSTKPk0qsc9u+dNGyClh8WrDyMi5duhXreMHOFh8JRd5Vi0+2lm2E5O45i+a/9efsYMv6TFngPYGqQ4VE6cpWhOUeNpnuk5fxcvDMi296w0mZC5c5MYkDKyBjnjkqsMSElrjQiolsmDuY3HVwIbupE1g4Eit7WvfU3f+uNOdB8fH76+rq9tCI/4reTR8wvv+4qG1v3f3HRQWeSNtT98C74nQLWYsRS2bI/1tlCp5Mmi22gpugQEEisXCEGMc5D85WJr9f0neJa7zm1nBOBbKKM1vAYssXWbdS3VmSiN59INOXYitTeJ2JsZTfkfz65Ldw/3FR8c6u2EhYsY6X2LJFRkKB0Vii8eUeIdkv8Lq67BWjpX+zt1V8/P66va2FnpLqF1WHCsnSrXwRVmDYZLpPKRlL7HGxNRpJZJ3AxTNFBOaowBwTWONCK+YK4vUvVJ6MazPLbS/oTqWkRkpXI92E0i1T96kgY7kLlzmIw8aFZMwzRXjmKM8c5ZnjDhTb3nCEZOtvv3MinsBC4SikLMHxpNFkqZpNUGXdgdJBN6mTGi8d0X2qyNiJy5yY1B6XZGT83dnrjCMcY4RjiLANEXsgsXXf6yRbf/udE7F4IhiKQMoSHE8ajOaq2QRV1h0oHXSTOqnx0hHdL7uMfeGkwo3Li8mYYwixDSGWPsTUhRi6kM0f3/L8Au7AVbNblwqpshdYlXUHSgfdpE5qvHSUkrHCicudmNQRl9hmZbwhHE+y9UGWPsjUBqc0wUkNavXFNv/6tyRbf/udE7FYAg2GIWUJjuN6g6lqNkGVdQdKB92kTmq8dET3ScqYpZ7ctm3btm3b+FrWotU7F0LGSldS4cLlLkzmiEttsWgi/a1N4TjO1qNMHTqtQSdVyJgKMXtjj/7qFZKtv/3OiWgsHkBDkLIEw3Gd3lg1m6DKugOlg25SJzVeOqL7ZGTMUk1u3br1vvvuu++++7Zu3TomGrwlA2fxzItv+iJJlTupdOEKFyZzxGX2tIzvXrMhHMNZOpShDUyqA+NKZEThM3miP9/9MsnWQcZUGGFVswmqrDtQOugmdVLjpSMv43faj9197PYtW7bce++9995775YtW0aFA7ck4TQZGatcuNKJyZ15Mo7jLB3K0AQm1ciY0j8s85k8kUd2vkSy9bffOSEFAAAAAMozr4xbmF/edeT2mZkZtpe2efPm9evXr1+/fvPmzaOCJfDxrIzduNKFKZwJeb6MtQGGBplU+ccUviGZ1+SO/FP9iyRbf/udExhQVhKJRLlXYSmpsu6sJDVSuhrp5nJQ46VLJBKlZdw4dfnO126fmZmx3hRPx794T7Hv0UcfXbdu3bp16x599NEhXu+SyFjtSclY6UwoHHm7qbUBhhqZVPrHFL5hqcfoDv9sxyHyMlYoFDMzM3/3d38H/5blX6L+VUOVdWclqZHS1Ug3l4MaL51CoSgh48bJy3f+9vaZmRkxOjwauTB18/xQ/LP3FPseeeSR1atXr169+pFHHhni3pKPMzJWu3GVe66M4zhbF2BokAmlb1TuGZa4je7ww9sOLkjGhBWAslBlL7Aq685KUiOlq5FuLgc1XroSMr4+fvGOl2+fmZm5rn//fenBC5Zj3aETGR8//PDDq1atWrVq1cMPPzzA6b4VGfsjSY03qfHgajemciWUznwZI0xCxjLPkNhldIV/+vSBBcm43EWuUWBmDGRTI6WrkW4uBzVeuhIy/s6h22dmZm5Y/m3PyKZdvT/8F96OPB8/9NBDd95555133vnQQw/xZZxbkbE2LWP1XBlzdAGmxj+p9I7J3ENip9EVeuiphgXJGGbGZaTKXmBV1p2VpEZKVyPdXA5qvHQlZPzt/be9K3nyD7qHn51Yv6VrbesDX6c9+I2OH32LvukfOzd9m77pH2kPfKPlh19v+n/+vuWHX++4/9u3JmNc68E1HkztTqic8ViujBGWxj+p9I5K3UNip8EV+vGT+xck43IXuUaBmTGQTY2Urka6uRzUeOlKyPhE65++9fxth1mbjih/9OzE+sYf/t8zM8mZm/EZPDKDh9MJzWCBm2Fr233fWrSMkWhS58N1HlzjwTXuhNoZj2FpGUfiOFcfYGv8U8TMWOQwuIKbnti3IBnDzLiMVNkLrMq6s5LUSOlqpJvLQY2XrvQJXG9dPPrNZ287zNx0RPmjaz/4P2cwZEbVe7P77UySXW9hnb+PtBxtvufrtypjL6714hp3QuOKx7CbszLm6wMcLTKt8k7I3cNih9EV3PTE3gXJuNxFrlFgZgxkUyOlq5FuLgc1XrrSMkYQ5K0LR7+x+7bDjE2Xv/dfbrq4sQ/3hndtCu38USbB+gd9Ox746r/+/a3IWO/D9V5c58W1njkyFhhRrh5hqn2TCveoxGlyh368BWbGFUOVvcCqrDsrSY2Urka6uRzUeOnmlTGCIG+dO/qN+tvOfeuvz/3jX5/55l+d+vrXTv791878w19f/ObfXvrW/3Hl239H5FZlTPjYk9C6c2ScFJlQgSHA0foZKu+k3G3xhB96Co4ZVwAwMwayqZHS1Ug3l4MaLx0ZGSMI8tbZo1/fftvLw//t8Wt3fH3bbY8e3kTv7Jienvb5fItzcIZnXnwzEE0a/LghJWNMly3jaCIpsYTEpqDAEODq/Cy11+aL/GzbCyRbh5lx2amyF1iVdWclqZHS1Ug3l4MaLx1JGSMI8oczR//h6dv+Yettvzz8k6UyMULIOJY0+pNGf9Lgw/VeTO9JpGT83TUboomk3BaWWUNic1BoRHkGxIHEfr5zAbfDrPENXEZgZgxkUyOlq5FuLgc1XjryMkYQpHO4/dQXn9I7OxgMxpKYGEnL2IQkjf6k0YcbvJjBm5Hx2g2xRFLtiCgdEYU9LLeGJZaQG41vfnYBX6GYPTNWn3iwrqErrwRdDXUPnlATPxSgoavY43OeQjRTgJzF5qxAdZP9AitRyRli68x5lGSFV4ylfr/oapjbrZxCpKtTqHZzh9LsUkVKNe8ChVdpKZhbuqw+5XSl2EoudPmysBIj5NY3dMExRuJP575Il/jdrEZGSDEWJOPl4JkX30RjSTOSNCNJkx83+jCDNxFPy3hjDEtqXVGtK6ZxRdXOqMoR9YWwp/a8SrL1vJlxaRlnP1JwkM19PPu56hMPFtrU6hMP5jyr6wR1R8PSUmJmPKeSxGs8u0wNxH9IVHhFWbq3WqLLD544kTf+1CcenK1DV0ORHs8dtUSLqQfzRx25BYqt0tKQV7rsrmX/XGwlF7p8uVj+EbIkG7r0GCv1p5fvFVgjI6QYFJGxJZC0IEkzgpv8mMmXlvGqtRvj2E29J55OQu9JIBF8+/7DJFtf0Mw4+5FFyDhno8+UeqymICPjEkWav8Iry9LvSSuk1VmK9LjQk3KLWmCsz7sAuVVaLLmly/3zs/8rtpILXb5sLP8IWboNPbsAqZffzIrKuGpHSDGoIONgWsYWBDf7MbMvEcezZGz0xo3ehNGXMPowow8LRPGdLxwl2fpKzoyLDOpijaWfkL/3hFhHYrdKQ1dJb5F5ehkhPTMuVSKQcaH3jmLz4uwlC+59KLkAyVVaLHPnPTmjlvhP8ZVc6PLlYtlHyBJu6MLLF//TKz4zrsoRUgyKyNiKJq2BpDWAWxDM4s/IeN3GOHbT5I2bfAmTDzP7MTOCo7Hk7oPHSLa+8jPjuc9L7/EptP868+hs0+oTD9Y9+GDD7OI5fyP3cyCZp5eb+WVc8tVBpsIryUrLeJ7d0SWWnFOreRcguUqLZU7puhrq6uoaunKOPpRayYUuXx6WfYQs4YYuvHypX5E61rxYamSEFIMiMrYFcFsAtyCFZGz2xc2+hMWPWRDciuDBWHL3oTdItl5gZlyIJZFxaiAULHP6Dz9YxLFZQ2TuO23Wkjn7Xkg+vWyQnRmTlnGpCq8UKyvjgr8r8m5S6E0nf+9m6QVIrdLimVu62ddj9mAovpILXb4slEXGi9zQhZYm/culfznWyAgpBhVkHIol7ShO+NiKYFZ/IpGRcQK/afEnrEjCimBWBLcG8GAs+cyLC5Pxss6Miyq98POzdqnMIWPTuYeA8ve4LOTp5eXWZbyACi8/KyjjIidvlRidFTUzLny6TfGVXOjy5aKiZsZFxljRpuY+eymLXSMjpBiUkHE8aUdxO4rbA7gNwWxIroytaRnbApgtgIducWa8jLupSZD5WFZ0HBdax9SfyfrVgp5eJsjOjEt+VF0eLyyelZJx0aIU3fL5v5iz4LwLzLNKt0pO6YodySu2kgtdvnyshIyXZkOTmCOWHglLPcmskRFSDCrIOBxPOoK4A8UdKG4PYPZARsZrNybwmzYkYUMStgBmC2D2AB6MJXdR9JgxGbKHTsGnFl/HrqzfLOzp5YTECVylrjeoSRkv5PTWYr8qtYel2AIk/sgtkFO6/NdSZm2KrORCly8fK3I29a1vaHIiLePMuHpHSDEoImNnEE8FxRxzZBxP+RjBbAgWjOH1B6h5NnUh1NlX9OVoJ/eQi/pE6qSr4qfPPvhg/udj0k8vCwu5zrgr//YCha4zpgLL/1Zb6qNJgXfQrIeydtNlPbqQBYqs0tKQW7qcHaT5r4sCa7bQ5cvGCnxcu+UNXWSMzT8SMu8zM3lbZEmokRFSDIrI2BXCXWkZO/NkbEfi9pSME1YkEYzh2yh6nXFB8o7uzlVQ3vHQ4qfnzPlTC3h6+SAn45n8s+uyXmGUevEs4VvtnOP+meMXhU4GmJkp/FaS+9jss4s8qfQChVdpiSh8rmzp10XRlwuZ5cvDso+QvF8tYkMXG2MkRkL2q3TJX5g1MkKKQREZu0NJdwh3B3FXEHOhCQxP34Ergd90IAk7kiB8bPUn0Cj+1N7XSbYO96YuI3BvaiCbGildjXRzOajx0lFBxpFE0hNKekK4O4S7g5gbxWZljOE3nYGEI5CwB1KT42AUf+K5hd0OE761qYxU2QusyrqzktRI6Wqkm8tBjZeOCjKOJm76Ije94aQ3nPSGcG8Ix5LZM+NA3B6I25C41R+z+GJoBHvs2d+SbB1mxmUEZsZANjVSuhrp5nJQ46WjgowjiaQ3nPSGcU8Y94QwTxDLyHgDht90BuIOJG7zxzIy/sXu35BsHWbGZafKXmBV1p2VpEZKVyPdXA5qvHRUkHE0kfRFkr4w7g3j3hDuDWVkvGZWxvaUjKNoBHtk50skW4eZcRmBmTGQTY2Urka6uRzUeOkoImN/JOkLE8mS8d2zMo7Z/TGrL2rxRtFI4mc7XiTZOsyMy06VvcCqrDsrSY2Urka6uRzUeOmoI2N/JOkPJ31h3BfC8OIyjgQiiZ9uO0iydZgZlxGYGQPZ1EjpaqSby0GNl44KMo5haRlHcH8Y94cLydjmj1q8EZMnEggnfvzUAZKtw8y47FTZC6zKurOS1EjpaqSby0GNl44iMkYiSaSYjF1o3BmIEzNjsycSCCcefGI/ydZhZlxGYGYMZFMjpauRbi4HNV46asj4ZiB2MxC9iUSTSDSJRPBZGSfwpNUXtfhiRndY5wyp7agvGHvg8b0kW8+eGcO/K//vTNW9wKqsOytJjZSuRrq5HNR46aggY+LSJl/kJnE29eylTXev2RCK4eNK/7DU0yt0tLOtjVNGhQX574/tIdk6IWMAAAAAoDhll7E3nJS7cLkTkzkwqT0uscYiiWRKxv4w1sx2XJ2ynhsyfNyt+nOrlKF0/ffHnifZ+tvvnCj3xx0AAAAAmJ+yy9gWSE6bsGljYsoQn9RFJzThYAyflXETy/HlpPXsoOGjTtU7LdJpheuBzSBjAAAAoKoou4ytgeSUEZs0JCb08XFtdEwdypFxM9t5bcp2fsT4aY/6vTYZU+Xe9MQCjhmXu7wAAAAAMD9UkPGkEZvUp2WsypIxEsZaue7rTMelMfOpft2HnSqOxvPTpxpItg4yBgAAACoCish4Qp8Y18fHNdExVQiN4ql7UyNhjMbzNLNdV6dsF0ZNJ/v1Ar3/n3Ys4KYf5S4vAAAAAMwPFWQ8YcAm9IlxXXxMEx3NkvFGJIJ1CHxtXG8jy3l1ynZpzCIxob/cvYB7U5e7vAAAAAAwP9SR8dhcGQcieJfI3yH0tfG8TRz3daZTYQs98dxvSbYOMgYAAAAqAirIeNyAjesTY7r4qCY6okzLeNXajYEI3i1GusQBugihCfxtfL/aGX1672skWwcZAwAAABUBVWSsS4zq4iPqSL6Me6WBHkmgW4J2StBOcVDnju9oOEyydZAxAAAAUBGUXcaWAD6ux8Z0cULGw3ky7pEivVK0VxrskYV65CG9J7HzwBGSrYOMAQAAgIqg/DJG8DEdNqaLj2rjw+rIUP7MWJKSca881CuPGLyJXS8cJdk6yBgAAACoCKgh48SYLj5CyFiRNzOW+HukgV5ZsFcW6lOEDd7EroMgYwAAAKCqKLeM3zAj+JguMaqNj2jjw6rIYJaMNwQiWI/Y3y1BemTE5DgMM2MAAACg+qCCjEd1iVFtfFgbH8qW8XfXbkAiWJfI2yX2d0sC3VK0RwbHjAEAAIAqpMwyPvSG2Y+P6BIj2viwJj6kigzIc2XcKfR1iXxdYqRLEuiWoHp3vB7OpgYAAACqC0rIWJuS8WAhGXs7RT66yE8XI3RxQOuKbd//OsnWQcYAAABARUAFGQ9rEyPa+FBKxsFA9r2p6QIPne/tEHg7BD6agLjpx6skWwcZAwAAABVB2WVs8uPD2sSwJj6kiQ8qI/2zMl6zAQljHXx3O9/Txve08TwtHI/KEX7q+d+RbB1kDAAAAFQEVJDxEHHAWBMfmCtjGtfVxnW1cFxNLNd1hkthDT3x61dItg4yBgAAACoCish4SBMfVMcHlJE+WZaM/eFEK8fRwnI0Mu3Xpm1XJmwSM/rYM/CtTQAAAEBVQSkZ92fL+O416/2hRDPT1siwXp20XB4znR8xiozIz3e+SLJ1kDEAAABQEVBCxsQ+anW8XxHpkwUDEULGq9f7QokbU9arE+ZLo4azQ7rP+7R8ve+fdhwk2TrIGAAAAKgIqCDjQU18SBMrJONg/NqE6fKo4cyA9rMe9QedCrba8z+ePkCydZAxAAAAUBFQRMaD6tiAOtaviPRmZHzX6nu8wfjlEf3ZQe1nPaoP6Io/t8qYKvdPnmog2TrIGAAAAKgIKCRjVaxPEemVZmT8/Xu8wfj5Qc3JXtUJuvzPrdK3G8WTctemLftItg4yBgAAACoC6si4XxXrU0R6MjK+8/v3eNDY6X7VJ13K4zTpnxpF/3JVMCZ1Pvj4XpKtg4wBAACAiqD8MvbhAyVkfLJX9RFd/udmyVtfid64wh+TOu7fDDIGAAAAqgqKyHhAHetXxXrlkR5pEEnL+AceNPZ5t+JEu/SdZvG/fiU4epk3IgEZAwAAANVG2WVs9OED6viAOtanivXKI93ZMnYHYp93y0+0S/6jWfSvXwmOXeaNSRwPwG5qAAAAoLqgioxVaRlLcmfGJ3vkH3ZI320W/fxJklAAACAASURBVPG64F+u8Maljh89ATIGAAAAqooyy/jFHBn3yMPZMr7Hg8ZO9So+oUvfbxO/0yj8wzX+pNzxkydBxgAAAEBVQREZ98+V8V3fv8eDxs72qT7vln9Mlx5vE/17o4CpdD68dT/J1kHGAAAAQEVQbhm/OStjZaxHHu7KlrEXjV0cUp/tU57skX9El/6FJuaq3Y9sh5t+AAAAAFUFFWTcr0oUkvHqe7zB+JUR7cVB9bkB1ele5efdcoHO+4udL5BsHWQMAAAAVATll7E/JeNeZaxHliXju1ff4wvGvxwzfDGqvzKiuzikPT+oERv9m585RLJ1kDEAAABQEVBCxupEvyreq4x1y8JdEhTJ+tam+PVJ47VJ49UJ45fjxi/GDDJLYMuzL5NsHWQMAAAAVARUkHGfOtGnjPcqot2ycKc4I+M1632hxA2G5QbDcmPacmPaen3KorShW59/hWTrIGMAAACgIqCIjHvnyvi7a9b7Q4lmlr2ZZW9h2ZtZjha2Q+0Ib9v7O5Ktg4wBAACAioA6Mu6ZI+MN/nCile1s47jauK5WnruN79E4Izv2vUqydZAxAAAAUBGUX8a+YjJeu8EfxmhcVzvP0y7wtgt9HSK/zh2rb3idZOsgYwAAAKAioJSMu+bKuIPv7RB46SI/XYx0SVG9J77zwGGSrYOMAQAAgIqAEjJWzcqYnpHxqrUbkTDWIfTRRf5OSaBLGuyWhfSexM4XjpBsHWQMAAAAVARUkbGioIwjGF3kp0sCndJglzTULYuAjAEAAIDqg+IyxulipFOCEjLukkX0nkT9AZAxAAAAUFVQSMbywjIO0CUoXRKkS0J0SVjrju9ogGPGAAAAQFVRdhkb0jLulke7pAVlLEY7RGi7EG0TompXbNs+OJsaAAAAqCqoIOPeEjLuECHtwkAbH2nmITe4foUj8tQeuM4YAAAAqCooIuOegjL2h7E2vr+V72/i+L5ieb9kemXW8BO//i3J1kHGAAAAQEVAKRl3SsJ00ex1xhv9YayF623ieK+xPFem3RcmnGJz8Je/+g3J1kHGAAAAQEVAHRl3yaOdknBHlow3+EJYI8tzjeW5MuU6P+44NWITmNCf74ZvbQIAAACqCkrJmJ4j4zUbfCHsKsN1Zcp5ftx+atj6yaCZZwg8svMlkq2DjAEAAICKgGoybhfNfoXiBm8ocWXKcXHcfnrE+umg+YNeE0eP/Kz+RZKtg4wBAACAioDaMg4mLo3bzo5aPxs0f9hnOt5tYOmQh3eAjAEAAICqgoIy9mdk7Akmzo9aTg2ZP+k3vt9j+A+6jqn1/3T7IZKtg4wBAACAioC6Mr5r9XpPMHFm2PTZgPHDXsO7nbo/tWsYGt9Pth0k2TrIGAAAAKgIKC7j+Okh46f9hg+6dX/u0LzdpppSe3/8NMgYAAAAqCqoLWM0fmrA8Emf/v1O7Ts01R9aFJMqz6atB0i2DjIGAAAAKgKqy/jkgOHjXt1xuvpPbcrfN8kmFO4fPdVAsnWQMQAAAFARUFrGbjR+akD/Sa/uOF39762K3zdKJxXuTSBjAAAAoLqgtIw9aPzMoOHTPv0HnZo/0xRvN0unlO6fbAUZAwAAAFUFdWV89+r1nmD87LDp5IDh4x7d+3T1f7QpmGrP/9j2AsnWQcYAAABARUBhGadu+mE5N2I+NWD8tM9wolvL1fkfqYfrjAEAAICqgtoyDiW+nHRcmbBfGLedG7GcHjILTYFfPgPf2gQAAABUFdSVMfGtTdeZ7utM9zWG+8tp15Vpl8wa3vLc70i2DjIGAAAAKgIqy3ijP4w1c73NXF8Tz9fE8zfxEJUztm3f6yRbBxkDAAAAFQElZKxM9Chi+TJetXajP4y1Cfw0YYAmRNtFwXZxWOtO1B84QrJ1kDEAAABQEVBbxhG8XRigi4KdknCXLNItj+m92K6Dx0i2DjIGAAAAKgJqyDheSMbrNiIRnC5COyWhblmkRxHrVcUNPnz3oTdItg4yBgAAACqCcsv4jXlk3ClGu6Thbnm0VxnrV2NGf/KZF98k2TrIGAAAAKgIKCdjYb6Mg93ScI881quK92tAxgAAAEAVUmYZH3rD4MN7SMg42qvMyBh2UwMAAABVRdllrCcj425CxmrM6IdjxgAAAEC1UQEyJo4Z9yhjfaqEwYfvhrOpAQAAgOqC6jKmEydwyaLdiliPMq73waVNAAAAQLVBdRl3iNFOSahTGumWR7sVMb0Xqz9wlGTrIGMAAACgIqC8jEUoXRKiS8Kd0kinLKp1J3Y0HCbZOsgYAAAAqAioLuN2EdohDraLQ+3iME0cVrvicG9qAAAAoMqgsIzXbvSH8XZhoF2E0oRoqyDYLAwqnbGn9r5GsnWQMQAAAFARUF3GNAHSJgi08AONvMB1HqJwRLc8/yrJ1kHGAAAAQEVAcRljrTx/Cw+5wfVf4/i+YPmktvDmX8P3GQMAAABVBXVlnPo+Y56vkeu7yvJeYbgvTLrElvCjz75CsnWQMQAAAFARUFHG4bSMfWHsBttzjeW+Mu06P+E8OWoXmIL/vPs3JFsHGQMAAAAVAZVlvMEXwq4xXVemnefHHSdHrB8PmLn6wP/c+RLJ1kHGAAAAQEVAXRnfvWaDN4R9MeW8MG4/NWL5uN90vFvP0vof3nGIZOsgYwAAAKAioLaMg4lL47ZzI5ZPB4wfdOv+o13DUPt+uu0Fkq2DjAEAAICKgNIy9gQT50ctpwdNH/Xq3qOr/61VMa3y/PTpAyRbBxkDAAAAFUGZZfzivDIeMZ8cMH7Yo32vXfXHZvm0yg0yBgAAAKoMyst42HxqwPBRj/Z9uuqdVgVT7fnZdthNDQAAAFQV5Zbxm4bSMr4wajkzZPqsX/9ht/Z9uoqj9f3zTjiBCwAAAKgqqCHjRNETuC6P2y6MWs4Om08NGD/tNwgMyC+feZlk6yBjAAAAoCKgroy/u2aDN5S4Om3/Ysp+ecJ+cdx+fswmsYS2PPdbkq2DjAEAAICKgBIyVhWU8doNvhB2nen6ium+znJ/xfJ8xfIoHJGn4VubAAAAgOqCMjKOF74dZjPX28z1tfCQFn6gRYCqXfH6hiMkWwcZAwAAABUBRWTcPXdmTHxrUxvfTxMG2kXBDnGYLo3oPNiug8dItg4yBgAAACoCSshYmehWxDrl0Q5JKE/GeLsw0CEOdkrDXfJojyJm8OG7D71BsnWQMQAAAFARUFjG6zb6I3iHCO2UhLpk0W55rFeVMPrwZ158k2TrIGMAAACgIqCGjOOFZYxE8A4xSpeEu+XRHkW8T4UZfUmQMQAAAFBllFvGqTtwZWRMmyPjYGeWjA0gYwAAAKDqoLSM/RG8XYTSJWFiN3WPMqGHY8YAAABA1UGFb23qLi3jDkmILokQPtZ74WxqAAAAoNqgsIzXbvSHceK6pnZxqF0S6ZBGtR6s/sBRkq2DjAEAAICKgOoybuUjrYJAqwBtEQZbhCG1K75t/2GSrYOMAQAAgIqAujIm7sDVxPU1cv03uP7rHOQaB1E4Yk/B7TABAACA6oLKMt7gC2HXmO5rLM+XTM8VhufitEdqjTz+3KskWwcZAwAAABUBdWV895oN3lDiypTj0qTj4qTz3Ljz9LhTaA798tnfkmwdZAwAAABUBNSWcTBxacJ+fsx2Zsz++ajtk2Eb3xT8+a9eIdk6yBgAAACoCCgtY08wcW7MenrE+tmw9aMh6wcDVo4BfWT3b0i2DjIGAAAAKgLqyviuNRvcwcTpEcvnQ5aPBsx/6TO/22dh6dGfgYwBAACA6oLCMl693o3GTw6aPhk0/6XP9Oce45+6TQxd4H/seplk6yBjAAAAoCKguow/GzR91G863mv8927jHzr0k1rkoXqQMQAAAFBVlF/GXqyUjD8dMJ7oM/652/BHuv5/0bQTav+Pd7xEsnWQMQAAAFARUEHGXYpYYRm70Pgn/Yb3u/X/Tte+1a59s0U9pvJt2vYiydZBxgAAAEBFQBEZd8mjhWX8ca/+/W7dnzo0/9qqOtakGlN6f/T0QZKtg4wBAACAiqD8MvYVl7EbjX/SZ/igW/dOh+atVtWbTcoxpXcTyBgAAACoLsov4/TMmC6LFDqBq9/wYY/+Xbrm39pU/6tJMaHy/gRkDAAAAFQXZZbxi2/ovViXPErIuF0czLrpx+r1bjR+esj4ab/hg27du3Ttn2hqhtr38PZDJFsHGQMAAAAVAYVlvGaDJxg/P2I+M2z+bMD4cZ/xL916jg55ZBecTQ0AAABUFeWW8Zt6L94lj3bKIoSM2wSB9Lc2rdngCSYuT9guTdgvjNnOjdpODVuEJvSxZ+He1AAAAEBVQQEZY12yWKcs0iEN58p47QZvKHGV4fyS4fyS4f6C4b4y7ZZZw0/uga9QBAAAAKoKqshYGumQhmkiNFvGG32hxHWm+wbbe4Pta+QiN7h+pSO2bf9hkq2DjAEAAICKgBIylsc6pdF8Ga9au9EXwpo43maur5UfaBOgNFFI607Uv3CUZOsgYwAAAKAioIKMO2XRTmmULo3QRGgrH8mRcTPH28ZHaEK0QxyiSyM6D7b74DGSrYOMAQAAgIqAOjLukITTMsZWrdtYt2rdRl8Ya+H52/hIhwilS8Jd8pjeiz1z6A2SrYOMAQAAgIqg7DLWebBOWZQuiRSTsY8mCHSI0E5ppEsR0/vwZ158k2TrIGMAAACgIqCCjOnSCF0SaReHSsyMg52ylIx/BTIGAAAAqgsKyDiRK2N/+pjxuo2+ENbM9bUJkA5RkC4Ng4wBAACAqoQKMu6QhDvE4XZxqE0YaOX7s2bGIayZ62vl+9tFQbo03CmPgowBAACA6qPsMtZ6Eh3SSIc4TBMF24SBFp4vR8ZNHC8h4w5JqFMe1XsxkDEAAABQZVBExu2iEE0UbBUgLTyfL0/GLTwfTYh2SEJ0WQRkDAAAAFQf1JFxmxBtFSDNXG+OjBvZnoyMO+VRHcgYAAAAqDqoION2SbhdHG4TBVv4/nwZN3G8zVxvmyAAM2MAAACgWim/jN2JdkmYJgq1iYItfKSJ4wEZAwAAALUFyBgAAAAAygzVZdzI9jRzva18pF0cpMsicMwYAAAAqD6oIGOaOEQThVqFKMgYAAAAqEXKLmONOw4yBgAAAGoaiss4kS3jDmkYZAwAAABUH5SScTPP38z1+kJZMr7BchMyponQDmlY5wEZAwAAANUGRWTcJgwSMs6fGWfLuF0SAhkDAAAA1QcVZNwmCrYJgy2CQBPX18TxFJ4ZtwkDIGMAAACgKqGIjFsFKCHjRrZ7VsbeUOIGy93E8bTw/DQR2i4OaT0JkDEAAABQZZRdxlp3opSMrzNdhIzbhIF2McyMAQAAgCqECjKmiUNkZax1w8wYAAAAqDaoI+NmPtLI8RaQcSPbDTIGAAAAqpiyyzhzNnUpGTdzfW3CAE0UBBkDAAAA1QcVZJw5ZlxAxl8xnCBjAAAAoLqhjoyb+UgT13eD5fKFEtkzY5AxAAAAUOVQSsaNHO8NljtfxjdYrmaur1WAtAlRkDEAAABQfVSGjJs4XkLGGnccZAwAAABUGRUg40a2G2QMAAAAVDFUk/F1pstb8JhxC98PMgYAAACqkkqScasgADIGAAAAqo+KkXErHwEZAwAAAFVJJckYdlMDAAAAVUmlydgFMgYAAACqDZAxAAAAAJSZSpMx7KYGAAAAqg5Ky9gHMgYAAABqAJAxAAAAAJQZqsv4RvorFEHGAAAAQLVSETL2gIwBAACAKqZSZOwHGQMAAADVCsgYAAAAAMpM2WWsdSdo4hAJGQsCIGMAAACgKqkoGYuCIGMAAACg+gAZAwAAAECZoYiM24RBkDEAAABQo1BHxi2CABkZJ0DGAAAAQJUBMgYAAACAMgMyBgAAAIAyQykZN3F9N1hukDEAAABQW1BQxj6QMQAAAFBTgIwBAAAAoMxQXMYYyBgAAACoekDGAAAAAFBmQMYAAAAAUGaoLuNGlruJ4wUZAwAAAFVMZci4hYeAjAEAAIBqpfwy9iRokjDIGAAAAKhdQMYAAAAAUGYqRsZtQpQmDoGMAQAAgOqDKjIWhVqFKMgYAAAAqEVAxgAAAABQZipMxlqQMQAAAFB1UErGzTw/yBgAAACoOagm40a2ZyllDIFAIBBIRWQ5bTsPyytjAAAAAADmpYiMMZAxAAAAAKwQIGMAAAAA+P/bO9ffKO57D89f0ReVTl/gSAWDii8hEsG4PQ2JEM0bFAnbQDlHik2JfV5BqybOKXYUeizRmqjNiwgwkNaR6qa29+b13hwUQVq14PV673dfOImL937f2ZlZqy9mdz17nzWzu0738+gRGs9ePOx+f/MwBpsmUzXGFGIMAAAA1BXEGAAAAGgy1WP8+RMPYgwAAADUD54x9iHGAAAAQJ2o/g+4sjEOIsYAAABAPUCMAQCgCp8+NJ37SN0zJmllz32k/vShqeprdflj+Y8/lDX9aJvrjz+UXf5YXtOM1RLj1TBiDABoNe4vGU9+/Oi1J+E3rHQr+9qT8MmPH91fMlZ4rfpvit6593jdG6XSO63sujf6zr3H/TdF/MeMx/cZP/XOaf2ZGBuiiDEAoKV465bqtafhYXfKG460ssPu1GtPw2/dUlV4rXrHpZv+WJLe8STSrWyS3tn0x3rHpfzHjG+MRboQYgwAaEF6xiRvWGhvOBKOtLTecOQNC90zJqn8WqXSO88TaZhK71R+rQqoIcYSfUSKL1MDAFoMNsaeUDgUbmk9oTCvGDM7W/E0TDGIMQAACAcb4+1gKBhqabeDIT4xJpmdr2MMJBFjAAAQEMQYMUaMAQCgyfSMSV43U88DwUCwpX0eCL5upqrGOMnsbEYZmESMAQBAQNgYb/kCPn9Lu+UL8IzxWoT5tikbII7/SifkcyLGAAAgJE2J8ZNfv0JkOfbr5ez+zy8Rr9xYzm1zb/r3jbHuVhexy8AsYowYAwBaj54xySlz6huv3+trkP+4cYwg/msm8+GfLxHEsRvL2e1jN574vT7/zKXczgb5jdd/ypyqGuMEveMKM4I5O0QQRP9sbo+s/5VbXwj4/LmnJY7/r07I50zQAseYQowBAK1Mz5jklCn1tcfn8TbGmUsEcWmGs2fmEkFc+lPmpmMf/sP39xvHiEszjTqejF97fKdM1WMcp3fsIUYgbaOvEJ0TtqL9sj7OtXLfX3I7j49ODLE7OY/i3Pm/ZQV78h67ItRhM/YQExc6xrgyBgC0ND1jkh/p4xb3urMxPrzeRQxM5e180E90v/8wu3HvelfXdU3Djierxb3+I328aoyDqZ2HW2lh/OtHh4lXR/5a9T5DE1vph1vyNwmCuCjP32kfeTm7c8s+cvGj6S37yMvE4Q/sRY+t9olqNJhCjAEAQDgaHeN7A0Rhax/0E0T/vcwGQRBFd/g3jjEby2Llb+5eG7Md5QY1u12c87zntI+8TLz52bckxp8/8c4u+xBjAEBr0jMm+eFqzOR02xuj5ledxMDdvJ33+oiuUU1u414fQXS+/7BBx5PV5HT/cDVWNcYBcmfpG0YYv7p1mDg+/FXxTbKfEMThcVt2m71PboOzPT1EEEP/x33s9BCRz0+mCx4rjAFS+CtjH/sfRSDGAIAWhI2x0eGyNch7fQTRN8XZM9VPEP13Mjd1jarZPV2j6oYdksvmcBkdLj4x9pM7qv+nBdJ6pZtoH7cW7v/jIEEMfpj5UHaGOH7lMXeDs/14sn33nsWPzcl9rDD66xRjkS4k1ocRYwBAq9EzJuldjeptDkujVI52EUTf7cyHU+cIonNUnd3uek/lsNgct/sIovN9ZQOPSm9z9K5Gq8bYR+7In1GC+YdBgiBO/yG3R3q6e3Lq0WQ7cfzyo9wd2G3p6dzO3W3L5W6CuCCVP6PkzyyXL0xOPbNc7ibaxy3sE06NDxY9Vhh99YuxxBDB/9oEAGg1Gh/jbI8zZEucF2M20o3scXNi/IySP5ps53xVmQ3z1PjxzMcXBk9XijG7nSVTZc6e7smpwvsjxgAAsP/oGZP06qI6i83U2uostl4djxgn09KNFPQl03WMMb5MDQBoNXrGJCdXIlqTxdDaak2WkyuRqjH2JtOiNRJ6EWMAABAQxBgxRowBAKDJsDF+ajCttrZPDSY+MfYk0rOuJPQkEGMAABCOnjFJjzb8RG/UtbZP9MYebbhqjLcT6T87E3AbMQYAAAF565bqxOPt81rv33X6Vva81nvi8fZbt1QVXqveD6TGrYgrRP/JHm9lXSHauBXp/UDKf8wQYwAAqMT9JeOJ33356lfbJ7ShVvbVr7ZP/O7L+0vGCq/V+d+IB+8+Nv0z+jzOtLKmf0YH7z4+/xsx/zFDjAEAoAp3NYazv1X2jEla2bO/Vd7VGKq+Vn03Rb3j0qYfbXPtHZf23RTVNGOIMQAAANBkEGMAAACgyVSP8eyyf34lgBgDAAAAdYJvjMWrYakxihgDAAAAgoMYAwAAAE0GMQYAAACaDGIMAAAANJnaYiwzxdd8NGIMAAAACAjfb21CjAEAAIA6gRgDAAAATQYxBgAAAJpMDT+BCzEGAAAA6kGNPw7TFEOMAQAAAGHh9a+puTF2+/CtTQAAAICQ1PizqU0x2zb1+0/nfjoy+tP/gXX04sjoxeH3Lgy/e+Gdd89f+eXAz37Rf/nnfYNXz2XtG7zK/fDc4NW+oat9Q9f6hq71X/75wM9+cf7KLy+88+7F4fcujrx3cWQUbxmEEO5bf//pvHW7lhj/bYO0bVNrPpojVUG3t8qtGX089PIxVazLm3IV7iw6MD+95qfXWQOszHqA2WANpjcCzGYwLZTPig3luRlMbwaYjQC97qfXfdSaN+X2JF3bCefzjK7tsro9yTUvue6jNgL0ZoDZDDLsZyx3MBsFBjKuN9CNmiw+5jJW+7xMRj+97qfX/NyppvkNYYlJKyVZrNNTo9vJPet4nuCvczvpZH/N6vKQLg/p9pJub2rNm1rzUes+at1PsYtlI0Czy2QzmBm2zaJ5boQllxU/BVzaFdzInk/WA9nzjJ/mnAzZESJdXpJ9wWt+62udKB6WHN2sFQa+kiXP0gUn5yry6UVF8xPGT399tXnov22QZWPsi1LzWs5P4DLFZObEgjkhNyfllowL5kQFZaZ45VszmhNVlZri1TXGSioxRCWGaO7D3OfNHIklIbcm5dbkoo1ctJEKe4pV6aBUTppV7WLUTlrjYliX3Okld5q7XatfFLiW55I7rXHSakdKaSMVloTcFJXqg+IVn0ibUbzC6s9u+CQ6P6tMH5SbIgpLQm1PaZyUxkUvuZkvXOkv8g9Aw+pKa1xptSutdqVVrM6Mygaq2oMuXiqdTAUVDlrhoBdtKVa5lZRbyQVLkpXXHJaatGLFhkixIn24rKuhAud1QZ7OrQRKOqv18zFzf61/fiUwvxIQ6YLi1ZBEH5YaIlJDRGaMLphii5aEwppU2JJKO6lypFSOlNpJaVw0O2ysBSPdCIuXFW/3tor5y54r1E5a5aBUDkppTyntKYWNXLQm5ZbEgjkuM8VkppjUGJUYImJ9WMyZAZ7ve/HM5Flh2CpacnTFhki5UedjuRO11Bjjc57n04uq5pY5X61kXZVZSKk5wY3xvNbviVAHDh0luru7b9+f1piCxTHOBIx3j/dDkgvmoFyP2SRX6HEuybkFtrceNzrGpc44uR6r90GPa06yEDHO9NhOKexUrsf1iHHJHu/PGFfuMRtjuTnO9lhpI9keq51U83v8AjGud49zMWZ7rLSn2F8Leiw1Rrk9ziVZgBjvtcflYvyCSa7U42pJFiTGNfe44TFWm4K37/+xu7ubePvtt79/pMO1nZjXZn8cpjm+kEuvJa/HVZPc9BhXvj6WW5Ilr4+VDop1t8fZAHOvjwW/OC6MsVGIGK+V6bHr29ljfjHmdX1sp7g9rlOMa+7xXpP84jGuqce56+Pm9/jFYtz4HitsZMkeSwyRfXV93IQeN+TieF8luTjGzu3E9490nDlzhrh27VrboY47D6a1G3GxLiQxRCrHeM89bliMCyy4OM78FiyJ4ovjXI9LxvhFLHFGqCXGohWfaGU3zGyMpfrggjGisMRVNlLj2O3xkju95Mqo4ah2pdXOtLqgvo5dFQ1XycdaGq9wMJVdtNOLNkpuTeWUmZOsUlOiWIkxnqchxlWsj1ZQpI9wnV8NV1IX4jq3EuTjrDZQ1mU/H+e0gTltILcxvxKcXwmKdCHxaliij0gNUZkxtmCKL1qSi9YkGxX2ao/71SNB1kjNuvaReQvNybCqHLTSTintlMKWWrSSrOz5U2aKs3+kE+sjYn1ExBkAnm99wcAUWnnYylswtAVWHvhyFqyaPAvWVxlLrs09mFvsvLSQddGclJoSEmNMZIiKVsPajfidB9Nthzr6+/uJycnJ4eHh73z3e3ceTLs9yS8dMakxmmmnmTWxYE4WKDMlSio1xsvdxN6akccLx+t9Kv82c4cg93nZw1gwJ3N/UJJbydxfJS7aUgo7pXTQSgetcjIqB51bV9xlpslfewXyXcCZEwqjdlIqO6m0kgpzfMEQka4GRVrf/LI302NOjEW5GK/4JTq/dDWwYAwvWmIqG6m2p3Z77GJ2dTKarJnfi4NRZVWy2ndVNFYlfx01qLDTFVy0phatKbmFZC09n1kL50of5SpejVRQtBrmWuXsuRLkyqaRp6VD+9TH07ll/9yyf3bZN6f1s5fIIl2Qe4mcuz7OfclaZU+p7Cm1g1I7KI2TZs0bvP2vU2A13LXmoNUOWmWnVHZKaUsprCTroiUpNycWTHGZMSY1RKWGqEQfEa+GRbqQiDMDfN70goEpYeV5K2/B3BZYeeZLWrBqCq2Q6qIT+AtaoU0lrKncvJWaExJjXGyIPnTE3B7yzoPp73z3P44cOXrt2jXi7t27ExMTw8PDbe2dB4903r7/WTDBhBLpFzFY7VahZXiYuXPedl4TEAAAAOdJREFUESZLuhMukKyzyZ1wkj0wJphggnGap6EEE0qmw8l0bYfK+a2FWtG8t1uI0SpjPM9AFWmBjdVi0cODcTpz5AkmmGBC7DmB87qFuYNX7wXybTRvleWfYTKnoHJzIuwkVB28QoOVfZEVsXfrUY3myty+/9nBI51t7R1nz57tOfmf169fJ2ZmZj755JOJiYkrV64MDAy81N750uEu2EA7X2rvbGvvbGvvaDvUceDQ0QMHjx44+IMDB49W91BH26GOtvbOtvbOl1gP4+2DEMJ9a+6E33n69Olz585dvXr11Otnbt68+S84qtF359k+BgAAAABJRU5ErkJggg==" />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-27210484200514647602014-02-13T15:43:00.000-05:002014-03-21T15:16:28.179-04:00Mint as a new VM?UPDATE: after going through all of this, the OS locked up on me. I had to hard-stop it and then could notrestart - VirtualBox couldn't find the boot disk. So I'm going back to Ubuntu. I don't know why this happened, but I don't have time to explore it either...<br />
<br />
<br />
I've gotten in the habit of created Ubuntu virtual machines on my laptop for various projects. I have a new one starting up and decided to create a new VM for that. I was going to install Ubuntu, but I recently heard about the Mint OS. Kind of an Ubuntu clone with a different desktop - Cinnamon instead of Unity. Since Unity isn't my favorite part of Ubuntu, I thought I'd give mint a try. So here's the blow-by-blow.<br />
<br />
I have a Dell XPS I7 quad-core with 16Gb RAM and 2x750GB HDDs. The hardware is a beast. It's running Win7. I use Oracle VirtualBox to create the VMs. <br />
<br />
I downloaded the 64 bit ISO of the Cinnamon version of mint from http://www.linuxmint.com/<br />
<br />
I already have VirtualBox installed, so I started out by creating a new VM in VirtualBox. I specified a 64bit Ubuntu system with 10gb RAM and an 80GB hard drive. In settings I put the following:<br />
<ol>
<li>General->Advanced: Bidirectional Shared Clipboard and Bidirectional Drag'n'Drop</li>
<li>System->Processor: 4 CPUs, 100% execution cap, Enable PAE/NX</li>
<li>Display->Video: Max Video memory (128 MB), 1 monitor, Enable 3D Acceleration (more on monitors below).</li>
<li>Network->Advanced->Port Forwarding: I add in some forwarding depending on what I'm doing so that I can run a browser on the Win7 host OS and access a web server on the Guest VM. But that can't be done until we know the IP address of the Guest. See image below.</li>
<li>Shared Folders: I create two -- one for a directory on the Win7 HDD through which I can share files and another to the Dropbox directory on the Win7 HDD. I could install Dropbox on the VM OS, but why have those files duplicated on the host and the guest. I make these shared folders Automount and *not* readonly. See image below</li>
</ol>
<img alt="" src="data:image/png;base64,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" /><br />
<br />
<img alt="" src="data:image/png;base64,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" /> <br />
<br />
Now, I'm ready to install the OS into the VM, which is easy the first time I click "Start" in the VM. I have to say, if I screw that part up, I haven't looked into how to install on a second start :-) - I just point at my downloaded ISO and go...<br />
<br />
Unlike Ubuntu, there are no questions or anything. So I'm guessing I need to customize it after the install. First things first, reset the root password: <span style="font-family: "Courier New",Courier,monospace;">sudo passwd root</span> -- That makes all the installs easier.<br />
<br />
And I set up the mounts to Dropbox and the shared folder:<br />
<br />
sudo mkdir /home/Dropbox<br />
sudo chmod 777 /home/Dropbox<br />
sudo mount -t vboxsf Dropbox /home/Dropbox<br />
sudo mkdir /home/Sharing<br />
sudo chmod 777 /home/Sharing<br />
sudo mount -t vboxsf Sharing /home/Sharing<br />
<br />
And created a shell script I can run when starting up to make those mounts (I can never remember the mount command).<br />
<br />
More on the various tools and apps I installed later...<br />
<br />
<br />
<br />
<br />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-58383068626190251822014-01-07T11:31:00.001-05:002014-03-21T15:16:45.847-04:00A Basic GIT WorkflowI'm using GIT more and more. It's different enough from other source control systems that I ended up cobbling together a basic approach to interacting with GIT during development. This works best with development of small bits of code that are committed frequently. Oh, and I never (except by mistake) edit in the MASTER branch. I always work in a development branch that I try to name after the changes I'm making. There's a basic git philosophy about creating a lot of little (often local) branches to do your work and then merge stuff together once it's really done.<br />
<div>
<br /></div>
<br />
So, here is my "Typical Developer Git Workflow":<br />
<br />
1. Create a local feature or bug fix branch<br />
<br />
/project.dir(master)> git checkout -b new_feature<br />
/project.dir(new_feature)><br />
<br />
2. Make your changes and commits to the branch<br />
<br />
/project.dir(new_feature)> git commit -am "adding awesome features"<br />
/project.dir(new_feature)> ...<br />
/project.dir(new_feature)> git commit -am "finally done"<br />
<br />
3. Bring things up to date with the "master" branch<br />
<br />
/project.dir(new_feature)> git checkout master<br />
/project.dir(master)> git pull # bring master up to date<br />
/project.dir(master)> git checkout new_feature<br />
/project.dir(new_feature)> git rebase master<br />
<br />
Note: the last command rewinds all the changes you made, then applies all the changes that have been made on master, and then replays your changes on an "up to date" version of the code. Here is where you'll get information about any potential conflicts to fix / edit accordingly<br />
<br />
4. Merge your branch into master and push your changes<br />
<br />
/project.dir(new_feature)> git checkout master<br />
/project.dir(master)> git merge new_feature<br />
/project.dir(master)> git push origin master<br />
<br />
That's it - the basic development workflow - it helps people isolate their changes in a separate branch and merge things in when they're done. They can also create separate branches - for bug fixes and multiple features they may be working on at the same time.<br />
<br />
Some other useful commands<br />
1. Bug fixes and release branches<br />
<br />
When you're doing bug fixes across branches (master and a release branch that is in production) you'll use the "cherrypick" command to pull changes from one branch to another. Let's say we have a bug fix that was committed with id 12b10f5f<br />
<br />
/project.dir(master)> git log<br />
commit 12b10f5fc49faedb0a9d8008ad0100a67a6cbca7<br />
Author ...<br />
<br />
/project.dir(master)> git checkout release-1.2 #a branch out there for release 1.2<br />
/project.dir(release-1.2)> git cherrypick 12b10f5f<br />
/project.dir(release-1.2)> git push #now the change has been applied to that release too<br />
<br />
2. Generally getting around<br />
<br />
git log # show me a list of recent commits<br />
git show 12b10f5f # show me a diff for this commit<br />
git blame database.yml # who wrote this code<br />
git diff # show me a diff of my local changes (not committed)<br />
git status # show me the files that are new, changed, deleted, etc.<br />
git mv # move a file from one name / directory to another<br />
<br />
Tools that can help<br />
<br />
1. Putting the current branch name in the command prompt<br />
<br />
http://asemanfar.com/Current-Git-Branch-in-Bash-Prompt<br />
<br />
2. Update your ~/.gitconfig with shortcuts and colorized diffs, etc.<br />
<br />
[user]<br />
name = Your Name<br />
email = your email<br />
[color]<br />
diff = auto<br />
status = auto<br />
branch = auto<br />
interactive = auto<br />
[alias]<br />
st = status<br />
co = checkout<br />
ci = commit<br />
ca = commit -a<br />
br = branch<br />
<br />
<br />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-5157234495045435542014-01-07T11:16:00.003-05:002014-03-21T15:17:05.168-04:00Git and DropBox - An Approach for Small Projects and Small, Distributed TeamsI work on any number of software development projects and over the years have worked my way through any number of source control systems: RCS, CVS, SVN, until now (finally) I've landed on GIT.<br />
<br />
Although GIT can be used with only a local repository, I always set it up on a remote repository, basically for two reasons: to have a backup in the event something happens to my computer, and to share the code with other developers, or even with another computer of my own. For some projects, we've created a GIT repository on one of our servers. For others, we've used GitHub, which is fantastic, IMO.<br />
<br />
Creating a project repository in GitHub is perfect for projects that are being developed for public access and use, but to create a private GitHub project requires a paid-for account. And while the cost is not huge (~$8/mo at this writing), it would be nice to have an alternative, cost-free option. Enter DropBox.<br />
<br />
I use DropBox all the time for transferring files between people and even between multiple computers of my own. It's just too easy. And on most projects in which I'm involved, the whole team uses DropBox to share files. So wouldn't it be cool if I could simply create a GIT remote repository in DropBox and share that with the development team? Yeah. So what we'll do here is set up a "bare" GIT remote repository under DropBox and then use that to capture a project's code. Importantly, this is a bare repo - it's not meant for any developer to commit to directly. Instead, developers should clone from this repo, commit locally, and push back to it.<br />
<br />
So here's what I did:<br />
<br />
<br />
<ol>
<li>Download and install GIT (<a href="http://git-scm.com/downloads">http://git-scm.com/downloads</a>).<br />While this includes some GUIs, I use the command from a terminal. So after installing, open a terminal or a command window and...</li>
<li>Create a directory in DropBox for the repository. I used git_repos. Then cd into that.</li>
<li>Initialize a git repository:<br />git init --bare myproject.git<br />You should see a message something like this:<br />Initialized empty Git repository in .../Dropbox/git_repos/myproject.git<br />And you should see a DropBox notification of this as well.</li>
</ol>
<div>
And that's it. The bare GIT repository is created. if you look in the myproject.git directory, you'll see all the GIT folders and files.</div>
<div>
<br /></div>
<div>
Now, we can create or add a project to this repo using normal GIT commands:</div>
<blockquote class="tr_bq">
<pre style="background-color: #eeeeee; border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; font-size: 14px; line-height: 18px; margin-bottom: 10px; max-height: 600px; overflow: auto; padding: 5px; vertical-align: baseline; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; margin: 0px; padding: 0px; vertical-align: baseline;">cd <localproject>
git init
git add .
git commit -m "initial GIT commit"
git remote add origin <url>
git push -u origin master</url></localproject></code></pre>
</blockquote>
The URL is important. It needs to point at that new DropBox repository, something like this:<br />
<blockquote class="tr_bq">
d:/DropBox/.../git_repos/myproject.git </blockquote>
This value will get written into the .git/config file in the project directory and will be used as the location for the "origin" or remote GIT repository.<br />
<br />
Other developers on my team can now clone from this:<br />
<blockquote class="tr_bq">
git clone d:/DropBox/.../git_repos/myproject.git myproject</blockquote>
and so on.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-9790620171347597572012-04-17T11:00:00.001-04:002014-05-23T11:22:53.653-04:00Documentation has Little Value - Read the CodeAgain, I got this from Jeff Atwood <a href="http://www.codinghorror.com/blog/2012/04/learn-to-read-the-source-luke.html" target="_blank">HERE</a>. But I feel so strongly about this that I'm plagiarizing and not just linking to his page...<br />
<br />
"... writing for people is way harder than writing for machines, the documentation will <i>continue</i> to suck for the forseeable future. There's very little you can do about it.
<br />
Except for one thing... You can learn to read the source.
<br />
<br />
<b>No
matter what the documentation says, the source code is the ultimate
truth, the best and most definitive and up-to-date documentation you're
likely to find.</b> This will be true <i>forever</i>, so the sooner you come to terms with this, the better off you'll be as a software developer.
<br />
<br />
Nobody reads other people's code for fun. But we <i>must</i> read other people's code <a href="http://www.codinghorror.com/blog/2006/09/when-understanding-means-rewriting.html">because we have to understand it to get things done</a>. So don't be afraid to read the source.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-64062395294664172832012-02-21T09:03:00.000-05:002014-03-21T15:17:44.878-04:00Good Software is Hard to CreateThis is copied nearly verbatum from a post by Dave Winer, <a href="http://scripting.com/stories/2012/02/19/hackathonsAreNonsense.html" target="_blank">HERE</a>. But I found it so compelling the I'm not just linking to it, but stating it.<br />
<br />
<br />
"... to make good software, requires lots of thought, trial and error, evaluation, iteration, trying the ideas out on other users, learning, thinking, more trial and error, and on and on. At some point you say it ain't perfect, but it's useful, so let's ship. That process, if the software is to be any good, doesn't happen in 24 hours. Sometimes it takes years, if the idea is new enough.<br />
<br />
If you want an idea of an art that's like making software, look at film and food. It's got a lot in common with both. But there will never be a Julia Child of software. It's not an art where you can observe the creative process, because that goes on inside the creator's head. In that sense it's like film. And it's not a science, as some people seem to think it is. Good software makers are also joyous software <i>eaters.</i> We use the stuff, so we know when it's done because it's useful."<br />
<br />
Thanks Dave!Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-26904851040873068042012-02-07T09:05:00.003-05:002012-02-07T09:06:20.688-05:00MoDevDC 2/1/2012I went to MoDevDC meetup last Wednesday night - two subjects were presented and both were (for me) very interesting. <a href="http://www.meetup.com/modevdc/events/48923902/?a=ea1_grp&rv=ea1">http://www.meetup.com/modevdc/events/48923902/?a=ea1_grp&rv=ea1</a><br />
<br />
<b>First was a presentation on PhoneGap by Andrew Glover of App47. </b><br />
I had been fooling with PhoneGap for a while now - mostly to see just how easy it would be to create a multi-phone app. I had not moved beyond the "HelloWorld" stage, but had gotten that deployed on both a Droid and a Blackberry. I figure that the iXX wouldn't be any harder. So I was very interested in this presentation. Here were my take-aways:<br />
<ol>
<li>PhoneGap is a framework for creating multi-platform apps. </li>
<li>It is designed for creating apps using javascript, HTML5 and CSS3.</li>
<li>It provides a way to create a "shim" (my word) for leveraging a webkit browser on any mobile device. In the iXX world, this happens fairly automajically. In the Droid and other mobile worlds, I still have some file organization and a little coding to do.</li>
<li>PhoneGap provides a seamless javascript API to some of the phone's features, such as the GPS, camera, accelerometer, and so on, so that my app will work across devices without having to change the way I access those phone functions.</li>
<li>In addition to PhoneGap, I need a decent mobile javascript framework for my app. There are several such frameworks:
<ul>
<li>jQueryMobile</li>
<li>Sencha Touch</li>
<li> Appcelerator</li>
</ul>
</li>
</ol>
<br />
<b>Second was on HTML5 Caching by Ryan McGeary of BusyConf.</b><br />
This was a very interesting discussion of the caching capabilities of HTML5 and how to use them to create an HTML app that could be downloaded and then used when offline. Most of the discussion was on the contents and syntax of the cache file and some of the "gotchas" that come from that. The material Ryan presented is from <a href="http://diveintohtml5.info/">http://diveintohtml5.info/</a>Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-77602611841101951012012-02-02T11:10:00.003-05:002012-02-02T11:10:52.393-05:00Verizon, Thunderbolt, Network ConnectivityI have an HTC Thunderbolt and I've been having problems lately maintaining a connection to Verizon's broadband network. After reading a few comments on this, it would seem that the issue has to do with 3G/4G network availability (someone please correct me if I'm wrong). I found this suggestion:<br />
<br />
<div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #959595; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;">
<b>Enter the following from your dial pad- *#*#4636#*#* </b></div>
<div style="background-color: white; border-width: 0px; color: #959595; font-family: Arial,Helvetica,Verdana,sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin: 0px; orphans: 2; outline-width: 0px; padding: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;">
<b>Then open the phone information- scroll down and change from CDMA + LTE/EvDo auto to CDMA auto (PRL)</b></div>
<div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; background-attachment: initial; background-clip: initial; background-color: white; background-image: initial; background-origin: initial; background-position: initial initial; background-repeat: initial initial; border-bottom-width: 0px; border-color: initial; border-image: initial; border-left-width: 0px; border-right-width: 0px; border-style: initial; border-top-width: 0px; color: #959595; font-family: Arial, Helvetica, Verdana, sans-serif; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: 18px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; orphans: 2; outline-color: initial; outline-style: initial; outline-width: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; text-indent: 0px; text-transform: none; vertical-align: baseline; white-space: normal; widows: 2; word-spacing: 0px;">
<br />
Well - this seems to have done the trick for me.</div>Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-49870006536179652642011-12-12T12:11:00.003-05:002015-01-24T11:46:26.277-05:00Windows 7 SymlinksI'm finally realizing (maybe the last person to cotton on to this), that starting with Windows Vista, we now have the capability to create Unix-style symlinks between Windows files and folders. YIPPEE!<br />
<br />
It's done with the mklink command (from the cmd window):<br />
<pre>mklink
Creates a symbolic link.
MKLINK [[/D] | [/H] | [/J]] Link Target
/D Creates a directory symbolic link. Default is a file
symbolic link.
/H Creates a hard link instead of a symbolic link.
/J Creates a Directory Junction.
Link specifies the new symbolic link name.
Target specifies the path (relative or absolute) that the new link
refers to.
</pre>
<br />
In my particular case, I'm experimenting with the <a href="http://www.sencha.com/products/touch/" target="_blank">Sencha Touch</a> mobile application development kit. Creating the simple "Hello World" app as a place to start. This requires that Sencha SDK. I downloaded that and would prefer not to create a copy of it in my app server. Symlinks to the rescue. Since my Hello World app makes reference to the SDK as <script src="lib/touch/sencha-touch.js" type="text/javascript"/>
, I simply created a lib directory in my app folder and then made a symlink to the Sencha Touch folder:<br />
<pre></pre>
<pre>mkdir lib
cd lib
mklink /D touch ..\..\sencha
</pre>
<br />
And voila - no copying.<br />
<br />
Worth noting - to remove the link, use a regular delete: DEL or RMDIR depending.Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0tag:blogger.com,1999:blog-2463248461941170156.post-24912446662782252712011-10-04T16:28:00.000-04:002011-10-04T18:32:17.068-04:00Ubuntu/VirtualBox/Java Team Development Stack - Part II<b>Part II - Install the Development Stack.</b><br />
<a href="http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development.html">Continued from Part I</a><br />
<br />
Having a virtual machine with Ubuntu installed, we now need the developer tools in our stack.<br />
<br />
My target developer's stack has:<br />
<br />
<ol>
<li>Java JDK </li>
<li> Eclipse</li>
<li>Ant </li>
<li>jEdit</li>
<li>Firefox (or Chrome)</li>
<li>Tomcat</li>
<li>MySQL </li>
<li>MySQL Client </li>
<li>DropBox</li>
</ol>
It's worth installing Ubuntu Tweak. At the least, this gives us the window icons on the upper-right corner. Open a browser and go to http://ubuntu-tweak.com/. Install that.From within that, I also found the Chrome browser install and did that. <br />
<br />
The approach Ubuntu uses for typical software installation is through
the "Ubuntu Software Center" which is invoked from the bottom of the
Applications menu. Easiest is to use the search box to find the software
we want and then choose the version (if there are options) to install. I simply searched for and installed each package. Some notes:<br />
<ol>
<li>Java JDK: I chose the "OpenJDK Development Kit".</li>
<li>Tomcat is installed on port 8080. Something else must be running on port 80 so I wasn't able to change the tomcat port.</li>
<li>Tomcat installs as a service. As such, it can be stopped and started: service tomcat6 stop|start|restart</li>
<li>I added a manager role and user ID/Password so I can access the tomcat manager and use the Eclipse/Ant deploy tasks.</li>
<li>I created a new folder in home: /home/projects and made it read/write/execute accessible to the users group. </li>
<li>When I installed dropbox (by going to the www.dropbox.com website and installing from there), I pointed Dropbox at the projects directory so that those files would be under /projects.</li>
</ol>
<b><br /></b>Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com1tag:blogger.com,1999:blog-2463248461941170156.post-70549877326325009082011-10-04T10:27:00.004-04:002011-10-04T18:31:24.075-04:00Ubuntu/VirtualBox/Java Team Development Stack - Part I<b>Part I - Setting up a Virtual Machine and Ubuntu</b> <br />
<br />
A controlled java web development stack for a distributed development team. I did this a few times before but never documented it, and (of course) versions of the tools have all moved on. But I have to resurrect it, so this time I think I'll write it up. No where near as easy as Dave Winer's EC2 for Poets (http://poets.scripting.com/), but he's a much better writer than am I!<br />
<br />
So, the idea is this: several developers; some co-located and others not; working on a web project being developed in Java. This project is also using MySQL for an underlying database. Code is managed in a remote CVS repository. What I want to create is a controlled environment in which each developer has the same set of tools and test data against which to work. The answer: a virtual machine with all the tools installed and configured so that I can simply deliver a copy of the VM disk image to each developer. I've played with this before in VMWare and some other virtual machine kits that I don't recall, but most recently in Oracle's VirtualBox. So I'm repeating that experience here. It bears noting that I am doing this stack creation on a Windows Vista 32-bit laptop (no flaming please). But I believe the overall approach here would work on pretty much any host machine. Also of note: since I don't want to deal with licenses (and fees) for virtual machines that I send out to developers, I am using Linux Ubuntu as the virtual client. This being a java development project, what we develop is (or certainly should be) portable across different operating systems, but the production target for this is also Linux, though not Ubuntu.<br />
<br />
My target developer's stack has:<br />
<ol>
<li>Java JDK </li>
<li> Eclipse</li>
<li>Ant </li>
<li>jEdit</li>
<li>Firefox (or Chrome)</li>
<li>Tomcat</li>
<li>MySQL </li>
<li>A VPN connection for CVS</li>
</ol>
In addition, there needs to be a way to share files from the host machine to the virtual machine. Here are the rough steps I followed:<br />
<br />
<b>A. Create an ISO Image of Ubuntu: </b><br />
<ol>
<li>Download Ubuntu (http://www.ubuntu.com/download/ubuntu/download). </li>
<li>The ISO image will need to be available to VirtualBox for installation, either on a CD or a USB drive. I use a USB drive. Just copy the ISO image to that.<br />
</li>
</ol>
<b>B. Set up a Virtual Machine with Ubuntu:</b><br />
<ol>
<li>VirtualBox: https://www.virtualbox.org/wiki/Downloads. This is simple enough to install - just follow the steps and accept the defaults. Once it is installed, start it and create a new virtual machine.</li>
<li>New Virtual Machine: I chose Linux/Ubuntu and then set memory to 1Gb.</li>
<li>New "Hard Disk": I set it to dynamically expanding.</li>
<li>At this point, I'm done creating the virtual machine - I need to install Ubuntu. By clicking "start" on the newly created machine, I get the "first run" wizard. From there, point to the USB drive from A. above.</li>
<li>Follow the setup for Ubuntu. </li>
</ol>
<b>C. Create a root Password.</b><br />
<br />
By default, Ubuntu is installed without a root login. I'm guessing this is for security reasons. But these developer VMs are not really subject to security issues and having the ability to run as root makes a lot of things easier. So I add a root password, enabling me to su and run as root when I need.<br />
<br />
<ol>
<li>sudo passwd root</li>
</ol>
First, you'll have to enter your password. Then the password you want for root. <br />
<b><br /></b><br />
<b>D. Add my ID to the "users" group.</b><br />
I found that my user ID was in its own group. I added "users" as my group so that I can access common folders more readily.<br />
<br />
<b>E. Install Guest Additions</b><br />
<br />
This is a big/important key step. It makes many of the hardware and device features of the host computer pass through to the virtual machine. Like the screen size/resolution. And others.<br />
<br />
<ol>
<li>There is a virtual machine menu bar with a "devices" menu. This has a "Install Guest Additions..." item. Clicking this will *not* actually install the guest additions; it only mounts the guest additions as a virtual drive. So I did this, but then still had to run the actual install.</li>
<li>After the mount, open a terminal window and cd to the mount for the additions. These seem to be under /media.</li>
<li>Run the autorun.sh (sh ./autorun.sh). I switch to root before doing this (su).</li>
<li>Restart the server.</li>
</ol>
<b>F. Ensure Networking Works.</b> <br />
Since we need to access CVS over a VPN, we need the VPN access to work. For our purposes, each developer has VPN access from the host machine (my laptop). So I want this to "pass through" to the virtual machine. I'm not a networking guy, so I don't know much about this, but it seems that by setting the network adapter in the virtual machine to "NAT" (which seems to be the default anyway), I go the pass-through I wanted. Perhaps someone more knowledgeable than me can elucidate? Anyway, I simply tested this by connecting to the VPN and pinging a machine on our internal network.<br />
<br />
<b>G. Set up Sharing.</b> <br />
We'll want to be able to share files from the host file system to the virtual machine file system. This means setting up a Shared folder.<br />
<ol>
<li>On the host machine, create a folder (I called it "Sharing" and located it in the root).</li>
<li>In the Virtual Machine, create a permanent share - from the "Devices" menu, select "Shared Folders..." and create a new share. I created a "permanent", "Auto Mounted" share and named it Sharing. </li>
<li>After restarting the VM, this share is now found in /media/sf_Sharing.</li>
<li>I had to change my user ID and add "vboxsf" as a group to be able to access this.</li>
</ol>
<br />
<a href="http://tractare.blogspot.com/2011/10/ubuntuvirtualboxjava-team-development_04.html"><b>Continued: Part II - Install the Development Stack.</b></a><br />
<br />
<ol>
</ol>
Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com3tag:blogger.com,1999:blog-2463248461941170156.post-41082377241277342102011-09-29T12:00:00.001-04:002011-09-29T12:00:32.770-04:00Publishing and Mobile DevicesI've been interested for a long time in writing applications that will provide some useful service on a mobile phone, and with the advent of smart-phones I get to explore this a little more. This got me to thinking about apps that run on smartphones and that are possibly useful to information customers - apps that a publisher might develop and deploy to their subscribers. And since I have a new Droid phone, I started doing some programming for that. But it begs an interesting question - what phone(s) should a publisher target in developing a new app?<br />
<br />
Of course, this is heavily informed by the particular publishing sector and by the kind of information being published. Phones, with a small-ish form factor, will favor small units of data; pads would more readily support larger. In fact, the form factor on a pad (like the iPad) is such that simply using a browser in the pad to access the same publisher web resource that one would access via a computer is usually an acceptable user experience. So, if I were a publisher, trying to decide what phone to develop an app for first, what factors might influence my decision? Here's what's floating around in my head:<br />
<ol>
<li>Hard to ignore the overwhelming presence of the iPhone. Huge market penetration. But small form-factor. And it just plain pisses me off that I have to go through the iTunes marketplace and pay Apple a pound of flesh. It's my data after all! And I suspect most publishers are not really selling the app; they're selling content.</li>
<li>Hard also to ignore the skyrocketing increase in iPads. Seems like everyone has one these days! Wish I did. And, given that the iPad runs the Safari browser (which is Webkit compliant), I can develop a variation of my website using an HTML5/CSS3 approach, host it on my own servers and not have to go through iTunes/Apple. More on Sencha/jQueryMobile/PhoneGap in another post... But if I need to create something that runs on the iPad, I run into the same iTunes/Apple question.</li>
<li>Some of the stuff I'm reading indicates that the various Droid phones are increasing market share considerably. And I can develop an app for a Droid phone and distribute it myself without going through the Google market or, if I choose, I can go that route. </li>
<li>It seems that in certain market segments Blackberry is ubiquitous. Especially in the legal and lobbying worlds. As with the Droids, I like the fact that I can deploy an App frmo my own sites and am not forced to go through a marketplace. The small form-factor makes the BB somewhat limited for larger units of data and the differences between versions of BBs and the attendant differences in API support make BB develop somewhat challenging, although a cross-platform approach such as HTML5/CSS3/PhoneGap may limit those difficulties. OTOH, RIM is trying to shift to QNX and allow Droid apps to run on Blackberries. But when? And how long will it take for that upgrade to penetrate the marketplace. And a lot of the stuff I read indicates that RIM is losing market share. </li>
<li>And then there Microsoft. I sometimes think that if MS creates a phone that integrates seamlessly with their back-office servers (Exchange, Sharepoint, etc.), those would become the darlings of IT departments worldwide. Enough so that they could drive RIM out of that spot. But that hasn't happened and MS phones are distant cousins in terms of market share. </li>
<li>Kindle Fire? I love the idea and the price, but it means limiting app development to Android 2.2. We'll see!</li>
</ol>
So, I think I still have more questions than answers. And I know that some of this is a religious argument - I hear fans of the droids espousing their virtues over the iPhones and vice-versa. <br />
<br />
<br />Steve Cartonhttp://www.blogger.com/profile/14802606736487814034noreply@blogger.com0