aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHakim El Hattab <hakim.elhattab@gmail.com>2011-12-04 18:07:33 -0800
committerHakim El Hattab <hakim.elhattab@gmail.com>2011-12-04 18:07:33 -0800
commita6453a0fb00a5cc248ca88ed8377905e48ab5ece (patch)
treee4fede42e1b55ffefe53fc5e10359916d4dc02f0
parent40f85e43a70e3b4974fa5d7f4248364789bf3a9b (diff)
downloadfosdem-2018-presentation-a6453a0fb00a5cc248ca88ed8377905e48ab5ece.tar
fosdem-2018-presentation-a6453a0fb00a5cc248ca88ed8377905e48ab5ece.tar.gz
renamed to reveal.js, many new features, and upgraded to v1.0
-rw-r--r--assets/images/breakdom.jpgbin56714 -> 0 bytes
-rw-r--r--css/main.css387
-rw-r--r--index.html115
-rw-r--r--js/reveal.js (renamed from js/slideshow.js)226
-rw-r--r--lib/highlight.js5
-rw-r--r--lib/zenburn.css115
6 files changed, 749 insertions, 99 deletions
diff --git a/assets/images/breakdom.jpg b/assets/images/breakdom.jpg
deleted file mode 100644
index 64dc3f3..0000000
--- a/assets/images/breakdom.jpg
+++ /dev/null
Binary files differ
diff --git a/css/main.css b/css/main.css
index 2dfd808..bb6e183 100644
--- a/css/main.css
+++ b/css/main.css
@@ -1,4 +1,6 @@
/**
+ * Main styles of reveal.js
+ *
* @author Hakim El Hattab
*/
@@ -20,33 +22,32 @@
*********************************************/
html, body {
+ position: relative;
padding: 0;
margin: 0;
- overflow: hidden;
+ overflow-x: hidden;
+ overflow-y: auto;
- font-family: 'Crimson Text', Times, 'Times New Roman', serif;
+ font-family: 'Lato', Times, 'Times New Roman', serif;
font-size: 36px;
+ font-weight: 200;
+ letter-spacing: -0.02em;
- background: #fff;
- color: #222;
+ background: #111;
+ color: #eee;
width: 100%;
height: 100%;
-
- background-image: -webkit-gradient(
- radial,
- 50% 50%, 0,
- 50% 50%, 1000,
- from(rgba(245,245,245,1.0)),
- to(rgba(100,100,100,1.0))
- );
- background-image: -moz-radial-gradient(
- 50% 50% 90deg,
- rgba(245,245,245,1.0) 0%,
- rgba(100,100,100,1.0) 100%
- );
-
+ min-height: 600px;
+
+ background: #555a5f;
+ background: -moz-radial-gradient(center, ellipse cover, #555a5f 0%, #1c1e20 100%);
+ background: -webkit-gradient(radial, center center, 0px, center center, 100%, color-stop(0%,#555a5f), color-stop(100%,#1c1e20));
+ background: -webkit-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%);
+ background: -o-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%);
+ background: -ms-radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%);
+ background: radial-gradient(center, ellipse cover, #555a5f 0%,#1c1e20 100%);
}
@@ -56,16 +57,14 @@ html, body {
h1, h2, h3, h4 {
margin: 0 0 20px 0;
- color: #222;
+ color: #eee;
- font-family: 'League Gothic', Arial, Helvetica, sans-serif;
+ font-family: 'League Gothic', sans-serif;
line-height: 0.9em;
letter-spacing: 0.02em;
text-transform: uppercase;
-
- text-shadow: 0px 1px 0px #eee,
- 0px 0px 4px #bbb;
+ text-shadow: 0px 0px 6px rgba(0,0,0,0.2);
}
h1 { font-size: 136px; }
@@ -78,8 +77,21 @@ h2.inverted,
h3.inverted,
h4.inverted {
color: #fff;
- text-shadow: 0px 0px 1px #fff,
- 0px 0px 1px #888;
+ text-shadow: 0px 0px 2px rgba(0,0,0,0.2);
+}
+
+h1 {
+ text-shadow: 0 1px 0 #ccc,
+ 0 2px 0 #c9c9c9,
+ 0 3px 0 #bbb,
+ 0 4px 0 #b9b9b9,
+ 0 5px 0 #aaa,
+ 0 6px 1px rgba(0,0,0,.1),
+ 0 0 5px rgba(0,0,0,.1),
+ 0 1px 3px rgba(0,0,0,.3),
+ 0 3px 5px rgba(0,0,0,.2),
+ 0 5px 10px rgba(0,0,0,.25),
+ 0 20px 20px rgba(0,0,0,.15);
}
@@ -88,18 +100,24 @@ h4.inverted {
*********************************************/
#main {
position: absolute;
- width: 800px;
+ width: 900px;
height: 600px;
left: 50%;
top: 50%;
- margin-left: -400px;
+ margin-left: -450px;
margin-top: -320px;
+ padding: 20px 0px;
text-align: center;
-webkit-perspective: 600px;
+ -moz-perspective: 600px;
+ perspective: 600px;
+
-webkit-perspective-origin: 50% 25%;
+ -moz-perspective-origin: 50% 25%;
+ perspective-origin: 50% 25%;
}
#main>section,
@@ -111,6 +129,8 @@ h4.inverted {
min-height: 600px;
-webkit-transform-style: preserve-3d;
+ -moz-transform-style: preserve-3d;
+ transform-style: preserve-3d;
-webkit-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
-moz-transition: all 800ms cubic-bezier(0.260, 0.860, 0.440, 0.985);
@@ -122,52 +142,136 @@ h4.inverted {
display: block;
opacity: 0;
- -webkit-transform: translate3d(-100%, 0, 0)
- rotateY(-90deg)
- translate3d(-100%, 0, 0);
+ -webkit-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
+ -moz-transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0) rotateY(-90deg) translate3d(-100%, 0, 0);
}
+/*********************************************
+ * DEFAULT THEME
+ *********************************************/
+
#main section.present {
display: block;
- position: relative;
+ position: absolute;
z-index: 10;
+
+ -webkit-transform-style: flat;
+ -moz-transform-style: flat;
+ transform-style: flat;
}
#main section.future {
display: block;
opacity: 0;
- -webkit-transform: translate3d(100%, 0, 0)
- rotateY(90deg)
- translate3d(100%, 0, 0);
+ -webkit-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
+ -moz-transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0) rotateY(90deg) translate3d(100%, 0, 0);
}
#main section>section.past {
display: block;
opacity: 0;
- -webkit-transform: translate3d(0, -50%, 0)
- rotateX(70deg)
- translate3d(0, -50%, 0);
+ -webkit-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
+ -moz-transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
+ transform: translate3d(0, -50%, 0) rotateX(70deg) translate3d(0, -50%, 0);
}
#main section>section.future {
display: block;
opacity: 0;
- -webkit-transform: translate3d(0, 50%, 0)
- rotateX(-70deg)
- translate3d(0, 50%, 0);
+ -webkit-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
+ -moz-transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
+ transform: translate3d(0, 50%, 0) rotateX(-70deg) translate3d(0, 50%, 0);
+}
+
+
+/*********************************************
+ * CONCAVE THEME
+ *********************************************/
+
+.concave #main>section.past {
+ -webkit-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
+ -moz-transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0) rotateY(90deg) translate3d(-100%, 0, 0);
+}
+
+.concave #main>section.future {
+ -webkit-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
+ -moz-transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0) rotateY(-90deg) translate3d(100%, 0, 0);
+}
+
+
+/*********************************************
+ * LINEAR THEME
+ *********************************************/
+
+.linear #main>section.past {
+ -webkit-transform: translate3d(-100%, 0, 0);
+ -moz-transform: translate3d(-100%, 0, 0);
+ transform: translate3d(-100%, 0, 0);
+}
+
+.linear #main>section.future {
+ -webkit-transform: translate3d(100%, 0, 0);
+ -moz-transform: translate3d(100%, 0, 0);
+ transform: translate3d(100%, 0, 0);
+}
+
+.linear #main section>section.past {
+ -webkit-transform: translate3d(0, -100%, 0);
+ -moz-transform: translate3d(0, -100%, 0);
+ transform: translate3d(0, -100%, 0);
+}
+.linear #main section>section.future {
+ -webkit-transform: translate3d(0, 100%, 0);
+ -moz-transform: translate3d(0, 100%, 0);
+ transform: translate3d(0, 100%, 0);
}
/*********************************************
+ * VIEW FRAGMENTS
+ *********************************************/
+
+#main section .fragment {
+ opacity: 0;
+
+ -webkit-transition: all .2s ease;
+ -moz-transition: all .2s ease;
+ -o-transition: all .2s ease;
+ transition: all .2s ease;
+}
+ #main section .fragment.visible {
+ opacity: 1;
+ }
+
+
+/*********************************************
* DEFAULT ELEMENT STYLES
*********************************************/
#main>section {
line-height: 1.2em;
- text-shadow: 0px 0px 2px #fff, 0px 0px 4px #bbb;
- font-weight: 600;
+ font-weight: normal;
+}
+
+strong, b {
+ font-weight: bold;
+}
+
+em, i {
+ font-style: italic;
+}
+
+ol, ul {
+ display: inline-block;
+
+ text-align: left;
+ margin: 0 auto;
}
ol {
@@ -175,20 +279,79 @@ ol {
list-style-position: inside;
}
-li, p {
+ul {
+ list-style: disc;
+}
+
+p {
margin-bottom: 10px;
}
+blockquote {
+ display: block;
+ position: relative;
+ width: 70%;
+ margin: 5px auto;
+ padding: 5px;
+
+ font-style: italic;
+ background: rgba(255, 255, 255, 0.05);
+ box-shadow: 0px 0px 2px rgba(0,0,0,0.2);
+}
+ blockquote:before {
+ content: '“';
+ }
+ blockquote:after {
+ content: '”';
+ }
+
+pre {
+ display: block;
+ position: relative;
+ width: 90%;
+ margin: 10px auto;
+
+ text-align: left;
+ font-size: 14px;
+ font-family: monospace;
+ line-height: 1.1em;
+
+ word-wrap: break-word;
+
+ box-shadow: 0px 0px 6px rgba(0,0,0,0.3);
+}
+
+code {
+ font-family: monospace;
+}
+
+small {
+ font-size: 60%;
+}
+
+q {
+ font-style: italic;
+}
+ q:before {
+ content: '“';
+ }
+ q:after {
+ content: '”';
+ }
+
a:not(.image) {
- color: #1b6263;
+ color: hsl(185, 85%, 50%);
text-decoration: none;
- border-bottom: 1px dashed rgba(0,0,0,0.3);
- padding: 1px 3px;
+
+ -webkit-transition: all .2s ease;
+ -moz-transition: all .2s ease;
+ -o-transition: all .2s ease;
+ transition: all .2s ease;
}
a:not(.image):hover {
- color: #fff;
- background: #2fa794;
+ color: hsl(185, 85%, 70%);
+ background: hsla(185, 25%, 20%, 0.4);
text-shadow: none;
border: none;
border-radius: 2px;
@@ -201,27 +364,141 @@ img {
-webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
-moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
+ -o-box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
- -webkit-transition: all .11s linear;
- -moz-transition: all .11s linear;
- -o-transition: all .11s linear;
- transition: all .11s linear;
+ -webkit-transition: all .2s linear;
+ -moz-transition: all .2s linear;
+ -o-transition: all .2s linear;
+ transition: all .2s linear;
}
a.image:hover img {
background: rgba(255,255,255,0.2);
+ border-color: #13DAEC;
- -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
- -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
- box-shadow: 0 0 20px rgba(0, 0, 0, 0.25);
+ -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
+ -moz-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
+ -o-box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
+ box-shadow: 0 0 20px rgba(0, 0, 0, 0.55);
}
+/*********************************************
+ * CONTROLS
+ *********************************************/
+.controls {
+ display: none;
+ position: fixed;
+ width: 100px;
+ height: 100px;
+
+ right: 0;
+ bottom: 0;
+}
+
+ .controls a {
+ font-size: 30px;
+ position: absolute;
+ opacity: 0.1;
+ color: #fff;
+ }
+ .controls a.enabled {
+ opacity: 0.6;
+ color: hsl(185, 85%, 70%);
+
+ text-shadow: 0px 0px 2px hsla(185, 45%, 70%, 0.3);
+ }
+ .controls a.enabled:active {
+ margin-top: 1px;
+ }
+
+ .controls .left {
+ top: 30px;
+ }
+
+ .controls .right {
+ left: 60px;
+ top: 30px;
+ }
+
+ .controls .up {
+ left: 30px;
+ }
+
+ .controls .down {
+ left: 30px;
+ top: 60px;
+ }
+
+
+/*********************************************
+ * ROLLING LINKS
+ *********************************************/
+
+.roll {
+ display: inline-block;
+ overflow: hidden;
+ vertical-align: top;
+ -webkit-perspective: 400px;
+ -moz-perspective: 400px;
+ perspective: 400px;
+ -webkit-perspective-origin: 50% 50%;
+ -moz-perspective-origin: 50% 50%;
+ perspective-origin: 50% 50%;
+}
+ .roll:hover {
+ background: none;
+ text-shadow: none;
+ }
+.roll span {
+ display: block;
+ position: relative;
+ padding: 0 2px;
+
+ -webkit-transition: all 400ms ease;
+ -moz-transition: all 400ms ease;
+ transition: all 400ms ease;
+
+ -webkit-transform-origin: 50% 0%;
+ -moz-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+
+ -webkit-transform-style: preserve-3d;
+ -moz-transform-style: preserve-3d;
+ transform-style: preserve-3d;
+}
+ .roll:hover span {
+ background: rgba(0,0,0,0.5);
+
+ -webkit-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
+ -moz-transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
+ transform: translate3d( 0px, 0px, -45px ) rotateX( 90deg );
+ }
+.roll span:after {
+ content: attr(data-title);
+
+ display: block;
+ position: absolute;
+ left: 0;
+ top: 0;
+ padding: 0 2px;
+
+ color: #fff;
+ background: hsl(185, 60%, 35%);
+
+ -webkit-transform-origin: 50% 0%;
+ -moz-transform-origin: 50% 0%;
+ transform-origin: 50% 0%;
+
+ -webkit-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
+ -moz-transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
+ transform: translate3d( 0px, 105%, 0px ) rotateX( -90deg );
+}
diff --git a/index.html b/index.html
index ee6a9bc..c9b70bd 100644
--- a/index.html
+++ b/index.html
@@ -4,12 +4,14 @@
<head>
<meta charset="utf-8">
- <title>CSS 3D Slideshow</title>
+ <title>reveal.js</title>
- <link href='http://fonts.googleapis.com/css?family=Crimson+Text:regular,600,bold' rel='stylesheet' type='text/css'>
+ <link href='http://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<link rel="stylesheet" href="css/reset.css">
<link rel="stylesheet" href="css/main.css">
+
+ <link rel="stylesheet" href="lib/zenburn.css">
</head>
<body>
@@ -18,19 +20,20 @@
<div id="main">
<section>
- <h1>Slideshow</h1>
+ <h1>Reveal.js</h1>
<h3 class="inverted">With 3D effects. And stuff.</h3>
<script>
// Delicously hacky. Look away.
- var message = navigator.userAgent.match( /(iPhone|iPad|iPod|Android)/i ) ? 'Tap to navigate' : 'Navigate via keyboard';
- document.write( '<p style="color: rgba(0,0,0,0.1); text-shadow: none;">('+message+')</p>' );
+ if( navigator.userAgent.match( /(iPhone|iPad|iPod|Android)/i ) )
+ document.write( '<p style="color: rgba(0,0,0,0.3); text-shadow: none;">('+'Tap to navigate'+')</p>' );
</script>
</section>
<section>
<h2>Heads Up</h2>
<p>
- This requires a browser with support for CSS3 3D transforms, such as Mobile Safari.
+ reveal.js is an easy to use, HTML based, presentation tool. You'll need a modern browser with
+ support for CSS 3D transforms to see it in its full glory.
</p>
</section>
@@ -82,6 +85,44 @@
<li>Three!</li>
</ol>
</section>
+
+ <section>
+ <h2>Clever Quotes</h2>
+ <p>
+ These guys come in two forms, inline: <q cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
+ The nice thing about standards is that there are so many to choose from</q> and block:
+ </p>
+ <blockquote cite="http://searchservervirtualization.techtarget.com/definition/Our-Favorite-Technology-Quotations">
+ For years there has been a theory that millions of monkeys typing at random on millions of typewriters would
+ reproduce the entire works of Shakespeare. The Internet has proven this theory to be untrue.
+ </blockquote>
+ </section>
+
+ <section>
+ <h2>Pretty Code</h2>
+ <pre><code>var supports3DTransforms = document.body.style['webkitPerspective'] !== undefined ||
+ document.body.style['MozPerspective'] !== undefined ||
+ document.body.style['perspective'] !== undefined;
+
+function linkify( selector ) {
+ if( supports3DTransforms ) {
+
+ var nodes = document.querySelectorAll( selector );
+
+ for( var i = 0, len = nodes.length; i < len; i++ ) {
+ var node = nodes[i];
+
+ if( !node.className || !node.className.match( /roll/g ) ) {
+ node.className += ' roll';
+ node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
+ }
+ };
+ }
+}
+
+linkify( 'a' );</code></pre>
+ <p>Courtesy of <a href="http://softwaremaniacs.org/soft/highlight/en/description/">highlight.js</a>.</p>
+ </section>
<section>
<h2>Intergalactic Interconnections</h2>
@@ -90,19 +131,30 @@
<a href="#/2/3">like this</a>.
</p>
</section>
+
+ <section>
+ <h2>Fragmented Views</h2>
+ <p>Hit the next arrow...</p>
+ <p class="fragment">... to step through ...</p>
+ <ol>
+ <li class="fragment"><code>any type</code></li>
+ <li class="fragment"><em>of view</em></li>
+ <li class="fragment"><strong>fragments</strong></li>
+ </ol>
+ </section>
<section>
<h2>Spectacular image!</h2>
<a class="image" href="http://hakim.se/experiments/html5/breakdom/" target="_blank">
- <img src="assets/images/breakdom.jpg">
+ <img src="data:image/png;base64,/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAABWAAD/7gAOQWRvYmUAZMAAAAAB/9sAhAACAQEBAQECAQECAgIBAgIDAgICAgMDAwMDAwMDBAMEBAQEAwQEBQUFBQUEBwcHBwcHCgkJCQoLCwsLCwsLCwsLAQICAgMDAwYEBAYJBwYHCQsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwv/wAARCAGcAUADAREAAhEBAxEB/8QAuwABAQADAQEBAQEAAAAAAAAAAAcFBggEAgMJAQEBAQADAQEBAAAAAAAAAAAAAAUDBAYCAQcQAAAGAgIBAgQEBQIDBAcJAAECAwQFBgAHEQgSIRMxIhQJQSMVFlEyQhcYYSRxgTOk1CVWkaHRUmLVNnKSQ3M0VJSV1hEAAQMCBAQEAwUHBAICAQUBAQARAgMEITESBUFRcQZhgSITkaEU8LHBMlLR4UJygiMVYpIzFvGi0nNDssJTk6PT/9oADAMBAAIRAxEAPwDudvO1vrLPTGuqHatIWCoEdrlZsLVaWkLKQqxjiJm64JCuCxEh5ACCQh/wEwj652VDct5NGEfbqSEQACAcRw4F8Mjy5rk7rtqznVlOEhAyJJGBxObYhnK9PSu36O7BXbcGn4x0W5WhBq0jb3b6ykz/AGcio8QE6MNGuiPFll1kCHOZQfEQKPPkcB8S5B3W+u7ivqruJRwALhm6+PzVzbtut7Sj7dIYHEnmfH7l+DyzzXW5/wD44SNk0U7sBwIhAOrdZEYaaSQU9E/qIkDeTo/Ah4imZIDfwzoqW8bxcU/eFOpMDOQB0luJYEPzxHkudqdrWMKmmMxAfpw+Axy5YFV6H6fAz69SmsCTiad+m5NtZHthTaJKIfqjV2g9RMDUTFKZAgtyE8PIDCT+ry+bOdO8XX1n1er+5z8GZujYdF0A2m2Fp9Lp/t8vN36vj1U1LL2T+6Z6ETavWQN4mQJDKRQRg/r4pkUMoRsLf9x/U8Ac5jATx45ER4yr9bvHt/U+3PR+rTLS3XL5qR/1ywf29cn5OPuZbxsvrPUq/wBXGVSv1ujI2arsmtZErlLkasWCMq8equjmOmuoCSaBzuTJgQT+XiIB5Cb5sn2+53078XFN5VjyDuGZmHBsOirVdqtDZ/Syj/b/ABd36vj1UJ3R2bq8VpuUW2jc9D16jQsYu6n7HV7I3l5Z82RII+1GRaqhATdLcARMplFeTCAAGXKm7bxTEp+1Uj4kFh4jAeTkqFS7Ws9frnqjywx64/sVVlEqhY9D6p7BUicidUxDKAMzg43bzVkRFWOlUm6qSTtJKTR9pwJGhFSARwIgAiBy88gWFtV5f0zOFsJSM8wATlkcMcHPxVzctstruMfdw05EYM+Y+Q+CjXY/fevNTaXl3152tpF1TpaRTavIPU0Mg8tUu8l3ZUTpRrY9gVTVeODKDydQo8ByYeeMoncd4tgZmEoeJjIY88cHU2PblhKQeRk3AkfDLJX3fbEtbucLutreKLrydm6y0iHNf2sk0OAlaHVdk9syEq04cIC7MmqBFVE/hwP4m09rvdxjRlStoylF3IAJY5cObD4Ld3LaLS6mJ1cJAM4IGHLHr81Db/vvXmtJzWuvpm+avtLaXvcRGVqhaJh2Ss4+dt3IPkiAVzYFG7ZkmdIDOFhAPEvwEBHkM9xuG6UaMoThKEZAjGMhgcxj4Yea17fYLKFYVATKUS+JBx4HAcFW+xETU9K73W2tWbRrRpZp1sirO0+/zDaIF6VIPZI7bOBP7qRhAvgIimcg8fAB5HPu0X2507eVOhCc6ZL4Alj4EA54OF63bZLW7qCpI6agDPzHiPDFlPaN2J1VN91df1W1P6zZNtz4SC1WqGo3bKeawTVsiAOZadkVnSAkTKmcxCCVMPIeQKmY3GY933DcKlONKvGUIu7EEOeZcB2xZetq2W2tJGpA6pkM/h4LbNjwMNrW22OgjtTRLavSE6vYla7spm2XkWaz55+qe2oUsyyA6ZFje4kJ0gMAcciIhyOaje7vVoQEac5wiAARGRDDLLDDLyWKvsNjOtKpqMZSLliBic+HFeDrpvWkX/vE508vaoDYWwmevXLl841dGtSViDj37tLkZV8tLvVReODtiFRRSKPBR8jBx8xdLc9wv6kBRuAYgF2IIxbA4+BLdVtbbs9raSM6WJIZyQcOWDL6tBUOkcytQDTunD0qXUVXrbPYVjQrMkz904j7ZfP3AeIkHkCgBCm/ATCPrlax3bd7iiI04VKgphniCcBkCwOQyywUq97bsjVMxMUzIkkYZnNsRmceKqules0SSgWaX2W+iZmbv7AE5dzCFBOMIwMkb2kGg+agmRKBxMBzHETCPPPHABB3Hcbm7r66pOqOAHJuHx+au7ft1C0o+3TGBxPj18lFIHZbfU8Evq2tXTr7ZIVARbRVkmbW1YvGqICJQB4xbKHI4OQPT5FEgHj4BnTndN7m0p0ahlz0yD+JDfFiFz0u1rES/tz0x5YFvAF8visr1ANqjtz1svtS0jLSSxGd59lzspVgxNBzU/EPEXZlolJF0oLmPQO3TSExgJ5FH5TCbkwc3PdryN79VIkVR9zMzcmw6K/HarX6T6YR/t/vd+r49V7Cy9k/umehE2r1kDeJkCQykUEYP6+KZFDKEbC3/cf1PAHOYwE8eOREeMqfW7x7f1Ptz0fq0y0t1y+akf8AXLB/b1yfk4+5lTJTqlZENI1ukQNmZk2LWbAva0pqRjCKx7p88O9O5TWZJrpGK3MD45SgRUDlAC8mN6+U2nvd5C6lcCXrmGPiMMPJg3QKpV2a1qWsbcx9EcRzBxx64n4qYVZzYNkW+XoGvts9a3ex5AfCaa1eLB1N+SCIN/NRFGxKKGURTKAF9wogUA4+GU5328W0RXnTlGJ/iMZAHzOBUsdu7fM6dZLcHH7FRdydVm4axqDmny7BlctbRSTWOlrEmmLJw0btiJLkfAQyQETVBIDGMQxfEQ9PTkBl2G73dC5lWpkmdR9X+py/xfHqqt9tFrc28aMw0YNpb+Fg2Hlh0U1p6xO60qlQ0J3TZKVGGTVsjfXljRs8k8BJQAMmPh7ZWaKghwYBKc34AYB9cs7hum7UKRjVhUpiYZ5AjA5gOBmPkpFh25ZxqiZmKhiXAwZxk+JyW/8AZKts9e7Jj9nw2w9dUt++gUa6eN2Okido6Rjlll0lWhv1GOVBRP6oxTh5GLwIegD8Zu13u4xoypW0ZSi7kAEscuHNh8FS3LaLS6mJ1cJAM4IGHLHr81Bb/vvXmtJzWuvpm+avtLaXvcRGVqhaJh2Ss4+dt3IPkiAVzYFG7ZkmdIDOFhAPEvwEBHkM9xuG6UaMoThKEZAjGMhgcxj4Yea17fYLKFYVATKUS+JBx4HAcFW+xETU9K73W2tWbRrRpZp1sirO0+/zDaIF6VIPZI7bOBP7qRhAvgIimcg8fAB5HPu0X2507eVOhCc6ZL4Alj4EA54OF63bZLW7qCpI6agDPzHiPDFlPaN2J1VN91df1W1P6zZNtz4SC1WqGo3bKeawTVsiAOZadkVnSAkTKmcxCCVMPIeQKmY3GY933DcKlONKvGUIu7EEOeZcB2xZetq2W2tJGpA6pkM/h4Lar4NS60bmnl6TZtRvY6YdmkpWnXexNYKQj3jkvuGURXKKpgTVE3mJFERH19DAHAZt7fuG7RtY06dOcqY/KQDhjiHYgh381rbj2/aXFc1dQhM55Y8HbDFliuqW7dU3burJa6GQirfvI9NPKv1tbGZvqpU4hZcUyN3kiZ4Kx3rs5S8FKQwiHBvEhfIcm7xf3teUYXAlERyBBGfHHiVQ2rarezifaxMszzb8F7bfU3fWxpBa1vO1dARcPGrFWqQbLjEm0sIIlOggoUVJxmmdZMhxJ7iSZfx9A54yhS3HeL55whKppzIjI48y2RU6p27t9Mn1GD8HAHQOMlWtU9dpCVgbZM7ZnIKyGvkQ0izlq7EWMUnGoEcCn7AKOniihlRdGMY4qCHw8QD1EZG4bndXJiKp/I7DkePi+A+Cq7ftVvaRkKYfVmTx5ff81GXlnmutz/8AxwkbJop3YDgRCAdW6yIw00kgp6J/URIG8nR+BDxFMyQG/hnR0t43i4p+8KdSYGcgDpLcSwIfniPJc/U7WsYVNMZiA/Th8BjlywKr0P0+Bn16lNYEnE079NybayPbCm0SUQ/VGrtB6iYGomKUyBBbkJ4eQGEn9Xl82c6d4uvrPq9X9zn4MzdGw6LoBtNsLT6XT/b5ebv1fHqpqWXsn90z0Im1esgbxMgSGUigjB/XxTIoZQjYW/7j+p4A5zGAnjxyIjxlX63ePb+p9uej9WmWluuXzUj/AK5YP7euT8nH3MqZKdUrIhpGt0iBszMmxazYF7WlNSMYRWPdPnh3p3KazJNdIxW5gfHKUCKgcoAXkxvXym097vIXUrgS9cwx8Rhh5MG6BVKuzWtS1jbmPojiOYOOPXE/FTCrObBsi3y9A19tnrW72PID4TTWrxYOpvyQRBv5qIo2JRQyiKZQAvuFECgHHwynO+3i2iK86coxP8RjIA+ZwKljt3b5nTrJbg4/YqLuTqs3DWNQc0+XYMrlraKSax0tYk0xZOGjdsRJcj4CGSAiaoJAYxiGL4iHp6cgMuw3e7oXMq1MkzqPq/1OX+L49VVvtotbm3jRmGjBtLfwsGw8sOimtPWJ3WlUqGhO6bJSowyatkb68saNnkngJKABkx8PbKzRUEODAJTm/ADAPrlncN03ahSMasKlMTDPIEYHMBwMx8lIsO3LONUTMxUMS4GDOMnxOS3/ALJVtnr3ZMfs+G2Hrqlv30CjXTxux0kTtHSMcssukq0N+oxyoKJ/VGKcPIxeBD0AfjN2u93GNGVK2jKUXcgAljlw5sPgqW5bRaXUxOrhIBnBAw5Y9fmuEnHaX7ifXPW1CgtUQC1not0pEZUKykkiRNSFt6jNIE3jpUiXKjVcoKLn9zngxTcmAPj33ce2Qp30zBpCciBh+Uvh5N9y4jZ93nXtwajxlHE45ji3iqx1Gpd/6aaX3l+zSKG2XF6sh5k0o/EVlJW0KOLKu4k3BlA5OZRZYnPkIiCZSlERAAyZvO02lAWFCUvRKrLXLLAmkCfvKrbJvNzcC8q6MYRBjHymw82AUrpOw+42lm9G0BqrXp7To27t3D7Y1ueC4cHePZATfWu5JVQTFOsoUfM4rgb3QEEyceIAHXb1b0/8pTEKbwDBxhoAyEWyAzHPquQ2rcrqrt86lSo1TMD9ROPzy8OipFMv3YDWn20Nmarrss8aysFdG9KqsqmqqLuKr8ysz91JFYwioUzJNyum2HnkhQTAo+gZF3Gx22p3dQjJtExGUxwM2kQCP9ZESeZkeav2G8bjHtitXkCasNQifAEB/wClz/tWghaO1IS4dGWuqmqfR/8AZYkLNFKuLL3hR94TCYR8BVFx8QH88VPzvP8AHLGiP+a9wxwz18X5cm4Ny8FCF7cf4pxUPuZaX+fPxf8AFWGIuW9rJ0q0h+uSTt/suH2PKwIzC3i4cuE42v2SPj3i31BVAVXTL7KhhOA+SheR9fXINvt1lLf7+jRIjT9skNkCZUyQB4EkNyXRXO73g2O0uKgepKQEuDjTPHzYFQgl57x90rYz66drawsWg6mlxl9gOEgMjHXGQKYy8Emml4CX6X2RBwsmPkUw+ICBeQANSy2aFa49uowEDiW/MeDY5cSvN3vM6ND3KbkzGAfLm/i+AV52Grv9ppzry308+FptdLQsm2YSDpEjhNvKAhVQTVWTWTUAwGBE6Zx48vE5uB5zZsbClcV90gCItXGniPzVcOmSybnutahRsZEGQnTeXDhD9pXNVnuHbbvnW5baHZCpSEDXtVViYgI2DcGOCTi9gxUbP5kqYlEDJsvQGwevicREp+QHMvb200a15CpU9IhIYNmXx45LU3beatvQMaXqMsXfKPDz5rqrvfZ+2Ne3rZbJ1TMmps9prGpvI9u5QTXReA2lrCu6YiByiJBdlOUAMQxR8yk5HjJWxbfG42MyBAnGrPA8fTTw+9uqqb7uc7fdY0yDoNMY8iZSD/IKA6rmt8dvNu1jvZuauyMKga402B1rCyBzmUhIlG1xqkm9MU6Zfz36hFE/Pgo+z6epTBm7ZbXQlbXFzLD+1U0j+iWPV8lpVd3rU7qhbxxepDUX5yGHRlU+4G5e3Ohtw7V2/wBfmZ5eBr17i5e1QQIpnWlK8jUIJNyi2VEgqJKtvBRUnibj1PyUR9BxULCE9ktawZwJOGzHuTxHizfBZrzc6kd2rUC7enSXyJhE/Bytd6V1fdt47aUTuJvyKdsds7Ctbt0ii6MYxoSqp1GbTjYcpTkDw8vcIuvxx5K8eRfIuebna6VLZrmufzyjFhyHuQbzbNfbLd6tTdaNvEeganPM6ZfjkvDuLs93R6pupTbmroN1bNNIbKu7C1VtmiUHyy0ja5MkY9QXTSMrwRRRJA5R8g8PHxAPUQ2b/b6cba2rD1A0qbhsX0RxHnn1WvQ3SpUuq9GXpIqT0l8GEjh8MluP26NXbZ0/v9bZW5kFF99Wyg2+13yTMYVPq5NeRgF2zMgiHyoME0hSRIBhKHJhLwBhDJ2+7XStNlEnBqSqwfw9NTDpkt/Yt3q3W5ygxFONMt4+qOKi1T3v3y03R4zamlKOrfdobRtZ5DZM2U7k7gpVDACSBjkMApNWxDGRb8/kIkL/AC/MIj2G/wBnbU429O2gKlOIAHIAgHV1lmSfPguV2rdbu4qV53EzTlqkw6EgD+lmYftVl0aGzqPo7tJptuoZrRwosnZqxGoCcE4l/LR0gk9Qal//AAkVFEyLFITgoKGOIAHI5N7kt7P/ADG2yjjOU4ifiBOIiT4kOH5RCrdubnfT2u9NX/8AGJGJ6xJbyLHzU53l2E+5GjcJDqJUotyeo7RZpo0e3sEitwq8QkTwm0V/pk0wOo3bmD6Y3ym+YvqY3oEy+2kC5NIEHWcJNlzfH4LLZ7wZW4rSBBhnF8zwbrxVBr0XdOtv26tva50cVzVlS32Iq0Qq2OIOY9i/gq5HvnaSxCkMDk5feV9wA8veMJv5vXNie12Md/sLeoxpe3i/EiVQgHqQAea90t6vP8Fd3UR/cjIt4YRx8nJ8lOgtHakJcOjLXVTVPo/+yxIWaKVcWXvCj7wmEwj4CqLj4gP54qfnef45f0R/zXuGOGevi/Lk3BuXgudF7cf4pxUPuZaX+fPxf8Vv2xr9v28/bX1nqW1Sr15Iz14Wo1ulTLrldylfiFXntorOEzFVE71Nugk5N5AY5RUAR9RyPtVjtse7bgRbRCMpQHATaJIAy9BMiOWkcld3Pd9w/wCsUqzH3ammMj4EkavDUAP9ynVvv3czdgXbrvsXXpqhomlNmrnXNqj/AH2/0jmPMT6JxHHT8SEUSKXzTFuBfZAPA3PPGWdnoUhudT3KfoLhzjrBzEnzfj+1Qtz3K7p2EKlGr/czb9Lfsy8VWu0d73Dv2hdcafeiIvIKdgP3nd4ngxWcxMRqLQrZBwmnwVVqVZRRcUjAJDGKTyAQDjIXZdnYRvr4xljTeNM8dJkQZDxYAPn6sF0HeG6X1OztNMWNUgz8CIg6fMv8FFrFvHv3u2oSmzdzUtagbJ1haySWvJg5nBVjlREwKJAdQRFRsuQoJLmL+SsmcQ8fl9LOxWlrOFxTuaYhTkCDyZidXWOYPPJRdz3S8oVaEraoahcOOpAbzy8F0P3dufbKP3JO3PqqCf8AdFPVdQk2DN0gmui69mTsLl1HiChREguiqFADFMUfMpOR4zkti2+NxsZkCBONWeB4+mnh97dV0++7nO33WNMg6DTGPImUg/yChGq5rfHbzbtY72bmrsjCoGuNNgdawsgc5lISJRtcapJvTFOmX89+oRRPz4KPs+nqUwZu2W10JW1xcyw/tVNI/olj1fJaVXd61O6oW8cXqQ1F+chh0ZVPuBuXtzobcO1dv9fmZ5eBr17i5e1QQIpnWlK8jUIJNyi2VEgqJKtvBRUnibj1PyUR9BxULCE9ktawZwJOGzHuTxHizfBZrzc6kd2rUC7enSXyJhE/Bytd6V1fdt47aUTuJvyKdsds7Ctbt0ii6MYxoSqp1GbTjYcpTkDw8vcIuvxx5K8eRfIuebna6VLZrmufzyjFhyHuQbzbNfbLd6tTdaNvEeganPM6ZfjkvDuLs93R6pupTbmroN1bNNIbKu7C1VtmiUHyy0ja5MkY9QXTSMrwRRRJA5R8g8PHxAPUQ2b/AG+nG2tqw9QNKm4bF9EcR559Vr0N0qVLqvRl6SKk9JfBhI4fDJbj9ujV22dP7/W2VuZBRffVsoNvtd8kzGFT6uTXkYBdszIIh8qDBNIUkSAYShyYS8AYQydvu10rTZRJwakqsH8PTUw6ZLf2Ld6t1ucoMRTjTLePqjiotU9798tN0eM2ppSjq33aG0bWeQ2TNlO5O4KVQwAkgY5DAKTVsQxkW/P5CJC/y/MIj2G/2dtTjb07aAqU4gAcgCAdXWWZJ8+C5Xat1u7ipXncTNOWqTDoSAP6WZh+1XHrReN19fNcdjK3UPbRi4avHu1JizAJm0TLyCTsrhJFM/yptjrJpr+2UAIBzKCAByOQ+8rPb539i5bW0ah46RIASPixIfNohXe0t0v5WV0akdRpkmHidJOn4t8VH6TsPuNpZvRtAaq16e06Nu7dw+2NbnguHB3j2QE31ruSVUExTrKFHzOK4G90BBMnHiAB0G9W9P8AylMQpvAMHGGgDIRbIDMc+q5zatyuqu3zqVKjVMwP1E4/PLw6KkUy/dgNafbQ2ZquuyzxrKwV0b0qqyqaqou4qvzKzP3UkVjCKhTMk3K6bYeeSFBMCj6BkXcbHband1CMm0TEZTHAzaRAI/1kRJ5mR5q/YbxuMe2K1eQJqw1CJ8AQH/pc/wC1aCFo7UhLh0Za6qap9H/2WJCzRSriy94UfeEwmEfAVRcfEB/PFT87z/HLGiP+a9wxwz18X5cm4Ny8FCF7cf4pxUPuZaX+fPxf8Vv2xr9v28/bX1nqW1Sr15Iz14Wo1ulTLrldylfiFXntorOEzFVE71Nugk5N5AY5RUAR9RyPtVjtse7bgRbRCMpQHATaJIAy9BMiOWkcld3Pd9w/6xSrMfdqaYyPgSRq8NQA/wBynVvv3czdgXbrvsXXpqhomlNmrnXNqj/fb/SOY8xPonEcdPxIRRIpfNMW4F9kA8Dc88ZZ2ehSG51Pcp+guHOOsHMSfN+P7VC3PcrunYQqUav9zNv0t+zLxVa7R3vcO/aF1xp96Ii8gp2A/ed3ieDFZzExGotCtkHCafBVWpVlFFxSMAkMYpPIBAOMhdl2dhG+vjGWNN40zx0mRBkPFgA+fqwXQd4bpfU7O00xY1SDPwIiDp8y/wAFFrFvHv3u2oSmzdzUtagbJ1haySWvJg5nBVjlREwKJAdQRFRsuQoJLmL+SsmcQ8fl9LOxWlrOFxTuaYhTkCDyZidXWOYPPJRdz3S8oVaEraoahcOOpAbzy8F0P3dufbKP3JO3PqqCf90U9V1CTYM3SCa6Lr2ZOwuXUeIKFESC6KoUAMUxR8yk5HjOS2Lb43GxmQIE41Z4Hj6aeH3t1XT77uc7fdY0yDoNMY8iZSD/ACC3aCYVSuMAgdQbc3AlrlmqojEow1Cc2BikiU5igRrJhVngOki+pSKAsfkP6h+OQJUN1La5B2H5p0wfMEv8cVcntu2SkToDnlq/DBY/oBuej9l9w7spFd/cFxokGMbWJ7YFvOlGrSbwqS/lHNYBOKj/AKdu1E6xVFz8Cop6ABg9Syr6V0SPeLgOBiCPFiMOreCpWVtb0ImNEAA4nn88V5Vbo21Oab1dqfav1eq4p4vHyEqWhTtrLWjtwAzhqrYIlqtGoHblN+YD0xjJh/PxnQUobzUhCZAcgadUoxkRwIiZAyfgdJfxUSttG2GqTiMcQMn48C3RwytMdrDrjV+p7xlLzaUtqGZZlln9rI4+qPIqvTEFJ4isz8xUUUOcgIAiAiI+JUw/lDOeMLutdsdXvauOBBHwZm8GbgyvRp0KdDSABTbyb8X+ah1z2NOaz1VJNbjsaxx2iIdmq8fzzvU9tSnEY1EgmMmZ+rFlaB8ocAoKHnz/AFc+uXp1t1BMzKGocdcH+Gtn8lCjsm2a3ALcsW+5/msxoa+607B/b/om3p9nOanrys4L6gBEOj2CfUVTO5ZoLKtUo1UV3TsnvmVa+yqIF5MYfIB8I1pTvhcEUnFRiS5AwPEk4MXGJwLjwVm5pW1SjoqAGH7OTfgtY7N7zgdAaLsW1Njbe3avXI+PUEI8+uxiTSLlUvtIMknjqopJoquDiCZTiYPHnn8M3jHc6Xr1xw5Tpk/AF1NjtW2E4Q+cv2qoBGU2b6j617C7Dn3GkXFeqTVVm6bSzCYTYR8o3bETZOXEmxFB6qqRND1BHz935SCbnk2hZm+NeVKjqNSZYhnJIxLjw4k5YqheWtpVpD3gNEcuDdCFg4ONpe5J5rqO97p2aKE4ZVNGtW2okpSs6kgHvOEGK0rXIpdwHgHkp9KcTATkeQD1yhXo7rb0zUJ9IzMJQkz4YmBOl8sWxWhQ23bDMaYerg+rh4HNb52ShqJHbVYT8Td7rU9rrQBGa7SlQS1lO4ikXKpkFHLFKJlgQKVZRQpFhKTy+YvJvHgNTb6d9KlL2S0HxcxAf+ogO3Lwfgty+tbOtIe/EEjLN/kued49h4fWm3NU6scWnZ2zNo2+9RzavUmzQQUOP/2yxVf1F7ILVdsczZoqBBFEnIqGEC8D6gOWuNxhAxlIEEFxGUTgMS+kktz8Fhttu2+nUE6cRqGWf48Vd+xsBQdY7JUtzfaVrpdyuwgcarWYptZn0wtHNCInXYxIRUs+P7SCZfeFBMSAAAYwAI8j426O416ZhQfRDEkkCMX5yk0Q/iQ5Xq+srGcxOtEaj1ct4DEsvrrrXaPsrZSdwebStl0uVNEVgq9mim1aexS0i1UbkcPYoYqKfB7iJzgiK5PAfUS8iHIfNxjuFGAhXfRLJiDEtylFwW44ll9sbGxpzM6MQJebj45LC7Zh6JpvZMhV6vt2+QVhnF3FsVolQriNzftyvHQiu9KzZQUxIINFHBh4McASA4iBRD4BmsqW53FIGmf7ccAZGMY89IlMgP4O7cFiu7DbjVMqkRrOODv1Yfetx6u1Gg26ckNvsNizWxbI1buKo4LMN2UapD+SiThyzcxjRjHqN3RhImJyuUwUAvHAAA+upuX11NqVw4GYyYvxBGBHIhwtmws7Sk8qEQHzzfpjiOil7SQQoMvKD1ht8obWsm5XUKzea3tlojmyp1B9xWKkIxiRM6flz4cKqJf+6HGVqcN1hTjTlpaIwEpxBA5NqB8jkp11te3V6hqHAnNuPyPyWO6DbV1t2gtm7NM1ljLT9EihSrtu2XMLLRL6alXzZRJwzZw52LVVm2ZgVQgKeRQ8w+UoiJjBGvp3ZqipWJ1OwIIIw5EYYeB8eKrWtvb06Xt0wNPLrz6+KyDy01Goun1XhuwOy3sFXFloqTkYOlNbBFRKjQpRWbyE1GVd2ybqoF494F1ymJ8T8ZXjabxViKhwMsRqMIyk+REZESL8CAX4KVLbdqBI05ZsZMPgWCqkdrDQlf6wzju4Wte0a1tPFilbk4XQcGfqvE0EGy7QYlIifqBEityNyepvHxATG5GRIXte6EZaveBZjgQR8GbybNVaVC3o0NMQBTbqC/3uojc9jTms9VSTW47GscdoiHZqvH8871PbUpxGNRIJjJmfqxZWgfKHAKCh58/1c+uXJ1t1BMzKGocdcH+Gtn8lFjsm2a3ALcsW+5/mtq61SmsO2H25oXZdyhv7X6v9p1OQD19MpOXkezYLqFTlnrpVBsm3XUFM51Uz+QFKPBzCImKHP0vqqdzEw1e64Zn1EnLq7+b+Ku1aVCpRMJgGmzNwYfc3yWvRl5R2ylC632Xtf6fU0o5bsY+a/YU7VS2X6rgWzdGwyzVGNXM5Lx7f0RimV5+QR5zorinvNOE5MHY6tMoykBxeIkTFuPpDeChW+07YKgIc44A5eDYB/iXVr7Tax01D6hYWmz2Nrr5jSSpKQlnOZAiTAflQIiKbgDJrEVESkBESj5m4AA8uMgbXK7FwBagmocGGLjjhy58s+CtX1C3rUTGuBo8eHi/NSunyLPfmwILX2+b4KTQVhViaq5o0/Qj2NZkALGEFLO3QUf8AgUPNRNobwEvqYvjle+jukKEjJvbP5jCQmwOWrTKWkE4Ys+SlWO17fSqiUXMhlq/DAfiqT2lquvaXOR+5JLY8zriyOm7aotwiG7KSUmR95VZoybRjtjIKOXYGUP7ZWyYqmARDgQAOJu2/XVHpWzkfmIwYN/EScAOZLDmqF/Z2dVpV4gtgM36YYnotR1LB0jcGxY2u2fbl9nJyFWb2lvRbfXEaa+cFYuCmRdCzewUPILtElwL5CQPbE3BTD68DtXtPc7ekfcP9uWBMTGUebGUCQ/g7kLXtNv2+NQSpRGoY4u/Vj96y/Y2AoOsdkqW5vtK10u5XYQONVrMU2sz6YWjmhETrsYkIqWfH9pBMvvCgmJAAAMYAEeRxbdHca9MwoPohiSSBGL85SaIfxIcr3fWVjOYnWiNR6uW8BiWX111rtH2VspO4PNpWy6XKmiKwVezRTatPYpaRaqNyOHsUMVFPg9xE5wRFcngPqJeRDkPm4x3CjAQrvolkxBiW5Si4LccSy+2NjY05mdGIEvNx8clhdsw9E03smQq9X27fIKwzi7i2K0SoVxG5v25XjoRXelZsoKYkEGijgw8GOAJAcRAoh8AzWVLc7ikDTP8AbjgDIxjHnpEpkB/B3bgsV3YbcaplUiNZxwd+rD71uPV2o0G3Tkht9hsWa2LZGrdxVHBZhuyjVIfyUScOWbmMaMY9Ru6MJExOVymCgF44AAH11Ny+uptSuHAzGTF+IIwI5EOFs2FnaUnlQiA+eb9McR0UvaSCFBl5QesNvlDa1k3K6hWbzW9stEc2VOoPuKxUhGMSJnT8ufDhVRL/AN0OMrU4brCnGnLS0RgJTiCBybUD5HJTrra9ur1DUOBObcfkfkvL9vDcuuuxOwNx6vqUa/slKgHLaHtWx7CZSPczku5RMCzJvBrMGx2zRp4KE8hMUonD5SDyYwRNwNzOprrlycHcEYcAQ4w8Ofiq9nQoUaeikAAPx4leZW6NtTmm9Xan2r9XquKeLx8hKloU7ay1o7cAM4aq2CJarRqB25TfmA9MYyYfz8Z0NKG81IQmQHIGnVKMZEcCImQMn4HSX8VDrbRthqk4jHEDJ+PAt0cMrTHaw641fqe8ZS82lLahmWZZZ/ayOPqjyKr0xBSeIrM/MVFFDnICAIgIiPiVMP5QznjC7rXbHV72rjgQR8GZvBm4Mr0adCnQ0gAU28m/F/modc9jTms9VSTW47GscdoiHZqvH8871PbUpxGNRIJjJmfqxZWgfKHAKCh58/1c+uXp1t1BMzKGocdcH+Gtn8lCjsm2a3ALcsW+5/ms1om9ae7Hfbpquwb3BSGuqPLvjDR27R25np8yiThVNq69piy98z9wZFRRRuRNUwF58xH5wLFtaN79U9NxVHqclm4uScGL5ksX8Vbrwt5UDCYBpnBuHTy+S0Xs32Bc6i0FLWnsBc7G41NBMjGM1idZWmvS8+sb5GserKPY/wCmQO5UEqfmkRLjnnnjnK1arucYylqiHzInEnHkNZ+Q6KNQ2bbo1BIAnkDl933qzWhrQdi9NqRvzbDiP01JRcGxnop2nJNpBCDK9SILZqZdVugi790iiZTJAkIGUHxJ5CBTDI24XsLoQtxL3cQwGPiCPvfJn4Kxe0bavRIrMYZ4/IgrWafIs9+bAgtfb5vgpNBWFWJqrmjT9CPY1mQAsYQUs7dBR/4FDzUTaG8BL6mL45Vvo7pChIyb2z+YwkJsDlq0ylpBOGLPkpVjte30qolFzIZavwwH4qk9parr2lzkfuSS2PM64sjpu2qLcIhuyklJkfeVWaMm0Y7YyCjl2BlD+2VsmKpgEQ4EADibtv11R6Vs5H5iMGDfxEnADmSw5qhf2dnVaVeILYDN+mGJ6LgR/rr7oNV11QXPVt2+kaZcqRF69kWDo66resuAYpJJWBuAHH2/aRSOCnHy+fA+JjGDj9J7ioUPrZToyBEyXxDBy+oeDL842i/qexpuA0oY+J/0nxVn0TpS79VNJbsoOswPFT8NpmEjYJ23AwL/AFqa1lWO/U4ERFwdZ4ZUwh8RH0yXvlLbqH+Ppu9IVJGf8r03+IB+as7Bd31eN5Ub16Ro5O02HxZSql6o+4TTDarqXWhKHQ6mtYsE7URciBHAAYxlFTCAiChjnKbyKZL1MqJhUEQHnOt3qpGpucZx0mBPqcj5eDMzfcuN2qpUG3yFWUvd4dTiX8Xd3+9UnT1KvtM6P33WjFZQ0ZD7urT6tthASJNElLNCSrhumBRAAS+q91TxLwAeYgHGRr+vZVu66ZizGkRP+b25gebaR1XRWBv4dsT1uZifp/l1x+WfkpfZOr/3HNobOcdV9vKvp/pwlMpbCWsEoZdZzIsSqAZtWHCpj8qJpO0/cPzyYUygImDkoZP+it5XXtSk9J3dw5H6fj8l9/ytSNv7kWFVmbg/6vh81cnlKvjrqxq2vxB12tl/vXd1jixUOidEsgW5JconSMBiCQHn5YgPJR4zboi0nv13An0GhADHiBR+eBfzXu5r3cNjtqgHr90vyZ6mfhl8lDqN1v8AuLbJ2UyqXbYh5nUWlpJaWrcw/IoP7tk3IGWjn7oPICmNGNz8DxxwqPqJuDDmtY2VvO501ZAxgcC49R4HyHzWK83SpG31UfzzGI/TzHmfkqZuCj32w0rqVSU1FFK9X6M3lwaKk91E86yimDRmuco8lE7ZM63tj8QMbyDgQ5Cj21cWX+U3PU2qcpaf5DOWpuvp8n4L53Qb7/GWIhgPTr/mEAYv5v5gKQWXWH3IZ/Utqku3S8azmIS1Np3XT+GKkKzRdisKzVwmZAeSlIoBPb8/zhDyA/oPA0tkr0KMa5uxHQYyBZvykF/3Pi6j7jK4lWt/opS1iUc3zcfvfgy6F7sa27P7Y23Pf46zj+ubWV1ZT30e+aKnTL+oMJGwuAbrlAfEzdYXIkUAxRAOQNxyGclsFGhV2OQlLTONWRGPONNn8Cx+a6ruG8rUN1hg9M0w/wDuk7eOSj2l9I9tLtbYnuJ20hQh9v2a6UiMYwyhFSmrsBE2yOdFaogqcRIZ2uiZdUBEREBD4DyGb9nRtRa3FeZAmaVQAOMPRIDzJP3LQnfVzeUKFLGAqRc8/UH8gPxW09maf2wsfa3eF+6+HbLb3bxkbXaWMoQgptYtFqg5+nROt8pAUcKLK8D8hlBL58gX02tjq2x7ajCk3uiUjJ/1Pg/9DM/j4rX3+dyN/eqSKIhFm5HP/wBhj4AL76v0PthW+0OlNkdhVkEN6OI+RrlxLGFICLqOXaruRQVFH5DeCySCo+PyAcpvDgB9fm+17YduSp1QPdMokN+p8f8A0d24r12/9Ud+ekSaOmTvywbz1ZeDrRrxSe/L4+29g9TTs1+w09s10eTcyhG4Kmi2TlVo0bpqPOE/Fs1KmQhVPlAvmJfmH1251aE9jtBa6XjAZt+b+PPB9Xy8lqVKlwN7uTdEiGpg36QPT5MX6k+KtPSyl7pofdF1P7AXTSstm1gJbs2YFMVovJxpm/0rgvl6iKIqrpkMb5vAwB8A4CV3tXtTtNvTDe6JkhuRj6vIy0t5qp2V9Z/kLgyJNEgM/N8PNnfyUGf66+6DVddUFz1bdvpGmXKkRevZFg6Ouq3rLgGKSSVgbgBx9v2kUjgpx8vnwPiYxg42u4qFD62U6MgRMl8QwcvqHgy0tov6nsabgNKGPif9J8VZ9E6Uu/VTSW7KDrMDxU/DaZhI2CdtwMC/1qa1lWO/U4ERFwdZ4ZUwh8RH0yXvlLbqH+Ppu9IVJGf8r03+IB+as7Bd31eN5Ub16Ro5O02HxZSql6o+4TTDarqXWhKHQ6mtYsE7URciBHAAYxlFTCAiChjnKbyKZL1MqJhUEQHnOt3qpGpucZx0mBPqcj5eDMzfcuN2qpUG3yFWUvd4dTiX8Xd3+9UnT1KvtM6P33WjFZQ0ZD7urT6tthASJNElLNCSrhumBRAAS+q91TxLwAeYgHGRr+vZVu66ZizGkRP+b25gebaR1XRWBv4dsT1uZifp/l1x+WfkpfZOr/3HNobOcdV9vKvp/pwlMpbCWsEoZdZzIsSqAZtWHCpj8qJpO0/cPzyYUygImDkoZP8AoreV17UpPSd3cOR+n4/Jff8AK1I2/uRYVWZuD/q+HzVK3bSbvPdGde6ucfLXpTd1gdWVgUgHbOW6dlmpRs1UTNyUUPqhSOJDeggTgefhlLbK9lT7rqmWQogQ/mFOA+LavNedzlfS7Yho/MZ+v+Uzl8svIqf2/UX3DdhSG0Kj2VLEK9UXcaJKsDYqIuBKBinIPyj7pTFIAicVfUFAAU+A9crbNVhR3GU56fbB9OXz8s3+5QNzlVnYwFGUvd455+HnkypG84vce0YPq2yuDxd+6j6yrYXwukxUI8sbZo1bNXqpT+gqppnWOQR9SmP5BwIchA7Mr7cLy/04CT6P/r1Fx8NPk/BdL3lLcfo7RsMR7n8wi48nfzAUbsusPuQz+pbVJdul41nMQlqbTuun8MVIVmi7FYVmrhMyA8lKRQCe35/nCHkB/QeBubJXoUY1zdiOgxkCzflIL/ufF1A3GVxKtb/RSlrEo5vm4/e/Blde39d3lsDufF2OnmRNcIHUpDUttIkMdo1mJT3/AK1f09SmVFNFM5ifN4FEPgIgMLsmrajZ7mBb3TMO/wCkR9D+GrU/l4K53rK7G427OKIiTh+p2Pnpy6lSXXuv+/LU+qtk9tVmrbsDXtktTxy8WVv7n6a8dJM3KCpmf5X+4aqKpnKT5RKJRN8wDxRFehT2O6jciOqUCMGz/gywcSby81Pom4lvdubWR0Pi75MdXk3zW5dmaf2wsfa3eF+6+HbLb3bxkbXaWMoQgptYtFqg5+nROt8pAUcKLK8D8hlBL58gX019jq2x7ajCk3uiUjJ/1Pg/9DM/j4rPv87kb+9UkURCLNyOf/sMfABffV+h9sK32h0psjsKsghvRxHyNcuJYwpARdRy7VdyKCoo/IbwWSQVHx+QDlN4cAPr832vbDtyVOqB7plEhv1Pj/6O7cV67f8Aqjvz0iTR0yd+WDeerLwdaNeKT35fH23sHqadmv2GntmujybmUI3BU0WycqtGjdNR5wn4tmpUyEKp8oF8xL8w+u3OrQnsdoLXS8YDNvzfx54Pq+XktSpUuBvdybokQ1MG/SB6fJi/UnxVp6WUvdND7oup/YC6aVls2sBLdmzApitF5ONM3+lcF8vURRFVdMhjfN4GAPgHASu9q9qdpt6Yb3RMkNyMfV5GWlvNVOyvrP8AIXBkSaJAZ+b4ebO/koM/1190Gq66oLnq27fSNMuVIi9eyLB0ddVvWXAMUkkrA3ADj7ftIpHBTj5fPgfExjBxtdxUKH1sp0ZAiZL4hg5fUPBlpbRf1PY03AaUMfE/6T4qz6J0pd+qmkt2UHWYHip+G0zCRsE7bgYF/rU1rKsd+pwIiLg6zwyphD4iPpkvfKW3UP8AH03ekKkjP+V6b/EA/NWdgu76vG8qN69I0cnabD4spVS9UfcJphtV1LrQlDodTWsWCdqIuRAjgAMYyiphARBQxzlN5FMl6mVEwqCIDznW71UjU3OM46TAn1OR8vBmZvuXG7VUqDb5CrKXu8OpxL+Lu7/eqTp6lX2mdH77rRisoaMh93Vp9W2wgJEmiSlmhJVw3TAogAJfVe6p4l4APMQDjI1/Xsq3ddMxZjSIn/N7cwPNtI6rorA38O2J63MxP0/y64/LPyUvsnV/7jm0NnOOq+3lX0/04SmUthLWCUMus5kWJVAM2rDhUx+VE0nafuH55MKZQETByUMn/RW8rr2pSek7u4cj9Px+S+/5WpG39yLCqzNwf9Xw+auTylXx11Y1bX4g67Wy/wB67uscWKh0TolkC3JLlE6RgMQSA8/LEB5KPGbdEWk9+u4E+g0IAY8QKPzwL+a93Ne7hsdtUA9ful+TPUz8MvkodRut/wBxbZOymVS7bEPM6i0tJLS1bmH5FB/dsm5Ay0c/dB5AUxoxufgeOOFR9RNwYc1rGyt53OmrIGMDgXHqPA+Q+axXm6VI2+qj+eYxH6eY8z8lTNwUe+2GldSqSmoopXq/Rm8uDRUnuonnWUUwaM1zlHkonbJnW9sfiBjeQcCHIUe2riy/ym56m1TlLT/IZy1N19Pk/BfO6Dff4yxEMB6df8wgDF/N/MBSCy6w+5DP6ltUl26XjWcxCWptO66fwxUhWaLsVhWauEzIDyUpFAJ7fn+cIeQH9B4GlslehRjXN2I6DGQLN+Ugv+58XUfcZXEq1v8ARSlrEo5vm4/e/Blde39d3lsDufF2OnmRNcIHUpDUttIkMdo1mJT3/rV/T1KZUU0UzmJ83gUQ+AiAwuyatqNnuYFvdMw7/pEfQ/hq1P5eCud6yuxuNuziiIk4fqdj56cupW/wNQ0nZIoli1DVd5E1i9Az2HUrN2ZQ8Qq1WEVCLMmLq2MlEG6gG8yFMiT5RDgoBxnHT2e7pnTOsIyGDf3MPDCJGHgV2hq2EyZGES/Fo4rU/tz9n6Vsyz74v0fEDCdVqmzbGGbt7t/OWqdQZpPiOZFeQGTkWp4xA7J0k3Ih5eQgYfIBAQNNq2FzKdMPr1y0xOOJBGAdj/EMwM1vUalCEZCAEREOQGDfDos3MRx6BTpibqCe8KVoUrRaXk4lpL6/RZNGaSZnCxkTv54ztimBAERIkZMS/wAAHKpsLmmADcQ9PhMt0PtnLwPRS509uqz1mAMj8/J8fNYzo7vylb+6P3i77dqLWC62BbywNPqbRJ4FncNnK7JaMcyTkz45DyUktINlkDomIUomKf3B58izIbbdTuIQH5pgyBc5B3k+eGknJ8FUNxQFInDTHAj8Pmv23TK6g0JqOb3HseB7FsaNAsDPHaimxo0eQ9CJpFInczmMdU5ikIUpRETCAAA5uVNurwBJuBh/9n/wWjAWEiwpR/2xXt63W+vbK+3fQZzsZUiR05PWZ2jUqZQVpBjLxkk3cyAggL+Uk0lAlESNXSrxwdwmUR9wB59RPrUNsu5XMoPpnGOokk4Asxwc46hwfFblWvbeyDJjA4Nw6cuHyWmdw7zrrrXomTvsxT9/yNgeCSDrEFJ7BbukJibfgZJkxOhHW9w5VTVP/wBQqSZjeAG4DNipYXFMOK4J5D3HPxgB81qQFiThTjh4RVdUmKnfOqWoq3teFCS2zYao1slfY6o9uLJFpNmjU4rxzibk24IINE3yCPkdx5HEwcF4MJS4LPa7o1ajH2zSLSJfA4hvSCXwPBmBW1c3FuaYFRpRmMBzHn5KA91+xFs611uuydqjti3bcb+TTa0CE2O+qalebGZCR08lJJrT5c7pdGPbAZU6pkzGKPA+QfHNqrYXVRqcasZmZYRAkHPnCI+JWlawsKJM4REW45t8y3ku3bv1lpm2F4m2bAcSbPaLOIRjHs5S5OWr4uCF/NOkAMnfmLcFjGOmmoc4k5H5hEREYEKs4PpJD8iq1WhSqtriJNzAP3rw13plqKCssdaH725zryKeJyMe2s1mnJZmk7RN5JL/AEz10okZRI3zEExR8R9Q9QAc+yr1ZBjIkdSvFO0oU5aoQiDzAAXu2v1ogtiW5tsqtTU3UdpNUQbFnq6qmmqsgURMCThJciqDhMBERAqpDAH4Z6o3NWk+gsDnyPUZL5c2dG4DVIiTfbA5r61V1rhNe21xsizzc3b9oOURbDO2JVNRVFAwgYyTZFAiSDdMwgAiVIhQEQ9c+VripVbWXbLkPJfba0o0ItTiAFHb2WFs+1pu/deGez4qyIyTqDnJ+luaehGyTyNWOxclOzs8qgCyjdVIyQqi3/mKIFMIBzl6htl1TpRerGAkBLSRI5hwcISDkNxdlOuzY15NUiJGOD5Ho7gqedGewz69d+LhoygRDwKfXq+4UvV0v6yMpZJqwM3CCCsdHOoaTdR6TaPB+iK5fmEpjeIEL5eQT761rgGrKQnEERcOwJBIGIB4Hgy3LQ0IAU6YEcHb8VsMg16vGu0/QtAx+5LIyrEoeMsCGuriMPAQr8eVVWSIzdjhmyiiPP5iLP3PZEQKYCjwXKdDY7+VGFSpU9qMw8RIzJI4ECEZMOWpgeDhaNa4273ZRMYykD6sI4HPF2xVR63WXqNG6Ut+5tcyMm7rDYrwt/f2t1Jv5tmpCN1DuGckWUOq5TM1TMYSpfyiU3kTyA4GNOvdrvaV1G3qgmpJtOLgiWRByIP3uDi63rWtbeyZ0mEA7tgzZqTzEcegU6Ym6gnvClaFK0Wl5OJaS+v0WTRmkmZwsZE7+eM7YpgQBESJGTEv8AHKRsLmmADcQ9PhMt0PtnLwPRTZ09uqz1mAMj8/J8fNfP289s0ztN0yvlq3DXoOm9V2k+8ShIp8d20l20IzQQmU5acfneqp/VuE10nZFEBKBA4OBzCICEWpaXMKsAxM6jGLO8nJAI4uSD4uq8KlKUCA2mOB5DDLlkvClb+ta9MDa5G/ZD/HwWv1xLwNufgyMw8vH6sIobF+vi38fnA36d6p/OACT1zoj23uQn7fuj3nbRqk78tTe2/9eeGaii72ox1iENHNos3Pn8ledgsenNJ6bjIWx9FtOqbSJSlm0wk5VcpmSdKA6QdN3KZlVl3DhZYDpmIJlFFDB48mMHPPW9leVrwUKcZGsZM38WoZvyI4k5ZlWa1WhToGcyBTAx5N+xlBHFroLKJiV+zsvuxj1jF01SYuLy4rAQwg7MUGwSxYOQczKSAmMUphk0SETH0V8M6Kpsm5TEo06kak2Lxjq1Fs8TGIl0jKWrg6i0J7XTqCYiIknAlmc5YOW+AZXvua862VbTjCR3c7dRsYlJNGNRUr4LjNHl1+U2iEQmyAV1HKnqBSk/p5E3BAMIQNpsbu6uBC2B1gEu7MBmSeAHH4cVYvqtvTok120FhjxJOA6vkpBVJ6iG2jU4jtxJ7TRM8lUo6jt9iuamrCOpQnztkzmpkg/RB2fj8gX/ic5vQgif0yxd7PfmhOcJxqRiHkIiQYcyJQg4HFnbMsMVLspbdTqgQiIyOAcg/DEt8lSu7kjoSFd1NO5Pp9jviRfKsaAjSDlJY3SxCFUcFQ9xRJErVMgAZdRycrcgce4YOQ5m7Pt95cynK3wEA8pH8oB55u5yiASeAK39xq2sYCNwxEiwB4nw8uPBahoqd1tJ9g4eH7CSOwB7EuWbh3TY3ZK1dO3VTbkEHJowai8fRP1SaY8nJ5g48OTeIkARDb3Lab2nbmqZCpSiQ5i4AJycSjE45As3B3wWtt07GE9FECMyOpI6ufg6ze/iVG3boeO9XMNgI7nrAN46Xs1EdVxmRI67ZKQSYuyWKTZJOxBFymr4ikoUoHD1AREMx2O3XIoirGpGEZ5A6i4BIdhGQzcB/FZL2dnUl7dUCRHyfxwKh+tuxFjZ/cmqnXSqxk3J7KdtXDnY912ktGSS0ayOxVk2cRDpVSVWZtHjxJoqr4nApQTL5+B+OMw3tncGJkZiYgHLOBEEgZGMcyRksln9LSAjSAjq+bfF2VR3rP6xjOxcvCdepDYH+R7Vi3e3SP1qrXiN0EHBQK2NKmtzxjEg5UT+ZNP3BcCmHkBfDgc3Nt2m+nbCrrFOjIkAyciRGbRjGRwyMmbg74LV3GdhOroqgSmA/IgHJy4wzwdbt0qkNEzDy1EqD+ff72j3aLO+JXVQilhbKHIZRuVb2lFUDNTlEwoHbHM3N83gYRA3Gju+33ltKMq+ImPTIZEDlkzcYkAjiMVubfUtpQMaDAROIHA+P7VL5Br1eNdp+haBj9yWRlWJQ8ZYENdXEYeAhX48qqskRm7HDNlFEefzEWfueyIgUwFHguUKGx38qMKlSp7UZh4iRmSRwIEIyYctTA8HC061xt3uyiYxlIH1YRwOeLtiqj1usvUaN0pb9za5kZN3WGxXhb+/tbqTfzbNSEbqHcM5IsodVymZqmYwlS/lEpvInkBwMade7Xe0rqNvVBNSTacXBEsiDkQfvcHF1vWta29kzpMIB3bBmzUnmI49Ap0xN1BPeFK0KVotLycS0l9fosmjNJMzhYyJ388Z2xTAgCIkSMmJf4AOUjYXNMAG4h6fCZbofbOXgeimzp7dVnrMAZH5+T4+axnR3flK390fvF327UWsF1sC3lgafU2iTwLO4bOV2S0Y5knJnxyHkpJaQbLIHRMQpRMU/uDz5FmQ226ncQgPzTBkC5yDvJ88NJOT4KobigKROGmOBH4fNftumV1BoTUc3uPY8D2LY0aBYGeO1FNjRo8h6ETSKRO5nMY6pzFIQpSiImEAABzcqbdXgCTcDD/wCz/wCC0YCwkWFKP+2KyvW63a2un2w4TcXc5lB0Kjxrt9OJMq+vNsXdbVayblimkd2o7XfqzHvioRYyZgMoqoKYEMIj5aVLb72V4KFOMjWkzAZnUHd/EFyTkM1u1K1t9OZzMfaAxfJh+xY6QletENFtbBulp2BqmnpNVs1Cx266OFIoxHwlIiD9rG2V7IMUVBMBTmeNUSpiPCokyye39wLilVFSYcmMTN8M2JiIy/pkX4OpkbjbXDwgHIYkR45eI81a+3SHV3XmiYhvtlZeGrEe7YRFIJWwX/WAkjE+nYNYZNlyudwYocFKT08QETcEAwhE2mxu7q4ELYHWAS7swGZJ4AcfhxVS+q29OiTXbQWGPEk4Dq+Sk9UnqIbaNTiO3EntNEzyVSjqO32K5qasI6lCfO2TOamSD9EHZ+PyBf8Aic5vQgif0yxd7PfmhOcJxqRiHkIiQYcyJQg4HFnbMsMVLspbdTqgQiIyOAcg/DEt8lS+1iWvLXe4ynx0XcXW7YaNTm2ktRXUTHvolk8XWbImVcTMhHInTcqNFABLk/l7YiYvAAOT9tsLidM1oTEIvpc6sciQ0YycYh3DYhb99Utj/arASfFvx+9cHuft+9tNha7od46uXZKHi7VTo/XewildICiEAVomkZ+3IY3iD1sREUQMUPMQMAAIcGHP0Hf61nXuzVoSAFQ+rPEHFx4r812uvcW9H2rgHVDEdRwPgrtSdAMdRad7B6iiFWhIZhomNrTRugdPho3Ra2USAqKfHzGBwJzHN6mEREc1Nzv7Glc7cKZAjSq6peA1U8T/ALT8FU2ahe1rW+lN5SqQaPiWngPiFJtkfbT7SbO2cUlHuJCdStnlazWzooHaPIrRglcJlZB5ckTlBMUq4J8fymE3PIBn29jZm6IiWpyPqGPDl14rQtb6vC3aeNWOES3Pn04Kw/2/cQPVbacEm+YpKo7spq5XKAoptmoxqlRSInwQATJ7QNCl8eOPgGZK24WQ3+1IIFONGUTyBkKrDz1D4rbt7W9lsNd3NSVQSB8AYOfkfgpEx+1v2eHeH7VnLSi86QsZguy4yvunCCxwsRuUyR5iqCYwsW5yi5KQfy+RKXgR5HMERZfVMT/ZBdsc+XQZrVlf1/psD/dbS7cOfU5KtyWt1LL1U1ZV1nzNUHW6rkZV0dRP2HP6r+70FCFN6FH3PqzF4D/Xj4ZmobhYy366MiDTnRjEeJiKTjy0n4LburW9hsVuzicahkTyBM2PzHxUk1J9tntPr7Y6kzvC4ozOjdVA9V1IR+5brrFCTKLhd2+FQTCdVimP06RlPh6mL4gAZ428Wcbn+4dUI/lz48+mQWle3tepQalhOf5sOXAdc1UNj9e09xai6+aeWflasn2i5OvGWRXKksch0KyqCjZQ3wUTFqVQhi/AQAc87ZfWNavuQqEGNWqJR6aqmI6ah8VR3mle0LexlBwacGl1aGB+BUVh+gXaij6wve1u31tYTdyiKbI63qLxRZuYiVaSRUQB0YREwldSImD3DCPueIAAmHkQDc2G4s6FwK1cgmBDHFgBi/UqVudW4uICjbONWJHMnh0C/pQ73ozQs6utNf16xXW+RTJuvNMK2WNTJGlXTAyRXTuafRrQiqhfmKiCwqiX5vHx4HPyRfrSy2udv1nY76UrzVB/FXmCWTQnK9MpFQkGRliidIxypnVSUSVKAiRVFQ6ZuBAphEBACL7vG69NayfIRmybbWK9JOg8mreclGLBVYOfHlMjpVMTevp6BhFsLB+xlWSUlGLIuY5dMqqDhA5VE1CGDyKYhyCIGAQHkBAcIv5gbh6d9p9hOpXdnTuztYreda2TdI9Bs4cokaOY+ZtEid03dkUHwE7cXYuE/MBEogIAHIhx+pXdxaVLS2qUiPcjSgDmxaAiQehHyX5cJ16F7Xp139uU5Ecw8iQR1CrXTLqo+6pbag9ZRkknIzMZqq2HM4MdMzt5ISMnCLuH64lETmM4cI88mEePQoDwAZodw1rKGzwoUT6jUiTzLRmCfjIfFUe2jd1tynWqfk0EDkHMWHwC5+pfRXuTtPSNNiusuwXFSc12xuFbkQxlDqu1vf8ANz73slOJlvd8znRU4Icxx8h9M6ve92trwUatvONOJA+AAGn+nJlyu32te0q14XYM5ky+JJLjwOBHJV/XOnJatUztY0I6OrETeu1WMkcVAFAsqjFyCShjCHoVUEFSApz8ClJ+GSe4t8s6m6bezD2ZgyPIGcSAegBPmrvbO13lPa70Ek+6JaB46SCR1LDyU62R9tPtJs7ZxSUe4kJ1K2eVrNbOigdo8itGCVwmVkHlyROUExSrgnx/KYTc8gGYL2NmboiJanI+oY8OXXite1vq8Ldp41Y4RLc+fTgqRsPUcwv0f3bQmK6KrBbZ0N+rFjhTIiSNjouupOWxgRACESKi0AiheOAJzznqvu9hb9w2dbD26cADyiSajHy1CS3baxv63b91CJPu1CTHmQ0XbqxA8Vqn+Efch5t4N6m2Kobqceo+wNXE6nh5/S+Puc+PsePl+b73l5/0cePrlr62lHdNeuOj9Pj93i/kuY9oy272WPufq+3wbzXqsGmrGj9vvTtRXcOE6DDbTcSxDnUAqJY8zl+eL5OI+PsJKuCGR/D5Scfhkjbe4LE903Fww0VYyjE8NTRBP9TSH9S6Xc9p3AdsUaAJ9yGky56QXb+nB+hWCsnRbtvU5LZ2x9/7AGb62T8WYsLXXRjkSZpH4ECn90oJJAUnKf5Yj7vPkbgfTLO17nRt9wqVZ1I6BiB+lvub5rmdwtZ3VlChSifc4n9R/efgt623qC/yET1dZWh49TWgKe5ik13ingYZdZo0QSOp5j6uRbonKAfHgx/9ch9ob1ZRvb54ge+XgD+kSJMfgQf6V1HeO3X07K1aRPtn1kc9LCXR3+IUmtPQvuDrTTdyZdo9gOLapO2JFxTQKZQirRYVRM2BH3ikEqwqiQyaKfJCGKHiPqPFnZ94t7KNapXnGpFj8CCG/qyZc9fWVW9rUI2oMJRMfiCC/ln4q29q9L7S2L3LZuoiWWiLzIaibwVYfm8TlbPAOuq7URSUHhQwKqJHUL+IEJz+GROy90tae1V7aTCpr1OeWlgf6S/+5Xu9bO6lf0K4J9kRIIHN3L/zDLoVK6T0t7UaXY6wgOyNzXtu7WWy2EzDPyLLHWKii8SVUSIdyUiyxQblVBQwh6EOYv8AKHrv/wCXt7fZbinVmKkpxMR1OXwPq8lOt7Ktc71Qq24MIwIJ5Mxf45LeO4HU/cu9tw7VtXXywEh941O7xlvqvDhNIDvUqpCoi0dFMYvk3eka+2JT/JyACPoAgMm0r2lTZbcOPdpiXPPXKTHqCPiqm5SuKG71TJ/aqafhpiHHQgr1dR+oOwuue2tVyO3ZlpLblst4lblcXhVETqPJlzVZhFYqQk+YUGhHHtJlDgoFDkADkc+3tezpbLXgCPdqCLnmdcZEDwAB+CbXK5uN3pSD+1B8OQ0kAnqT81OLZ047YbpZbVqfXW6OKjut3s+QnJZ8dVYiqiC7xRVNM52xTrIlFuKQJmKHqQhS/wAo+leW621xsltGjIU5QhGJ8CPzDwc+rzUmva17beripcgyjORMRwYgaW6DDqq91U0ZsrWHb508lpZaW2E01M5hrQ9L4kBy78m6jRVZIg8JmMskqZIv4AY/GTO892tqu2ULaLGYlqcctLH/AHFv9qq9l7fcU76vXJIpSAAB5u4+A+9Qil9Fe5O09I02K6y7BcVJzXbG4VuRDGUOq7W9/wA3PveyU4mW93zOdFTghzHHyH0y/ve7W14KNW3nGnEgfAADT/Tky57b7WvaVa8LsGcyZfEklx4HAjkq/rnTktWqZ2saEdHViJvXarGSOKgCgWVRi5BJQxhD0KqCCpAU5+BSk/DJPcW+WdTdNvZh7MwZHkDOJAPQAnzV3tna7yntd6CSfdEtA8dJBI6lh5KdbI+2n2k2ds4pKPcSE6lbPK1mtnRQO0eRWjBK4TKyDy5InKCYpVwT4/lMJueQDMF7GzN0REtTkfUMeHLrxWva31eFu08ascIlufPpwVh/t+4geq204JN8xSVR3ZTVyuUBRTbNRjVKikRPggAmT2gaFL48cfAMyVtwshv9qQQKcaMonkDIVWHnqHxW3b2t7LYa7uakqgkD4Awc/I/BSJj9rfs8O8P2rOWlF50hYzBdlxlfdOEFjhYjcpkjzFUExhYtzlFyUg/l8iUvAjyOYIiy+qYn+yC7Y58ugzWrK/r/AE2B/utpduHPqclvW3NbS8/0s1oxO+BWtMt3z87LPEFSg2UUVsM0dsoocOCeJHTgpi/h7gF49c2tv3mypdz1ahbROkIRPAS0QH/7THzWxuO3X9TtqnTi4mJ6pczHXI/iJdAtLsnRbtvU5LZ2x9/7AGb62T8WYsLXXRjkSZpH4ECn90oJJAUnKf5Yj7vPkbgfTK+17nRt9wqVZ1I6BiB+lvub5rm9wtZ3VlChSifc4n9R/efgt623qC/yET1dZWh49TWgKe5ik13ingYZdZo0QSOp5j6uRbonKAfHgx/9ch9ob1ZRvb54ge+XgD+kSJMfgQf6V1HeO3X07K1aRPtn1kc9LCXR3+IUmtPQvuDrTTdyZdo9gOLapO2JFxTQKZQirRYVRM2BH3ikEqwqiQyaKfJCGKHiPqPFnZ94t7KNapXnGpFj8CCG/qyZc9fWVW9rUI2oMJRMfiCC/ln4q6d1+rFt7S7gmqBFT56/enOqqk7YSTdf2XTOTjJGdUQdkEpin8CKuRKfxH5imEM5bYKtnPZZUapaYqyI5h4wAOHjErqu45XVHdIVof8AGaYB5FpScfAhZOQnOq28r9ZpPSml9aWKvxE44i5W3XJ8evtpaRQUMR6aJJHQU0o7IiqUSHXVKiQ6nPgY4AJsm0u0KkaMJ3EpRlOOoRjESIBy1PKADjEAOWzAXQVO4rUVJQiQdBYuWx4tgXbj44Kx9Ndq9WLTqizp6trcZQ0K3IuWF+rLhBm2Fg6SQBQ6jg6Aik4bKoCB0lwMJTpj+AgYpY+77Hc7fXjTmH1gGJH8QOGHF3wIzB8iaFhuVC8pGpSk4BY+BHP7ZKD12T6v7egV9sae6/a4eahUVcKxzuzyAwM1MNkhESu4+LSgnyBUHPA/T/VOm5jBwYxSFEBy9PsypRIp15kVMHEYiUYk8JS1AuOOmMmyBJUsdzWknlAgxD4uztxAbLliH6K76v3r0rk+k0htqEjoqB6xR0fIfuSAfxyKP6cq0OdN+xesEyqAZyVUokEhQN7huBIJwMURg3Ow3tDcBYmL1SQABlLVkQeRBd8G4tiqtDcberbfUxkPbYl+TZv04qCFcdd/2H/ehbrXRU9W/SfqYRCkkkF3+j58uRhf0f8ATyrin+Z7Aynlx8o8H+TL/wD0s+57Pun3HZ9P9t/59WpnwfQ3HLFSB3RaaPcf0s/i3Rvk/wA11rRI3rf2M69QY1CKgZzr1NRTZ5DxxmSQMfpRKB0gBsoQvtHTH0EolAxDAICACGcfd2lW2rTo1Y6ZwJBHIhdDRrQqwE4F4yDg8wViUOh3TRusRwlrSne4QwHL5RrcwcgPIcgYogP/ADzXWRbnsLS+pds19vVNlVyGnK4zOVRmzkmiKySBiF8AFIpyj4CBfT5ePT0wi1SC6S9RqzMtrBBa6qLeZZrFcNXBI5uJklSD5FOXyKPBiiHID+A4Rc/647XIa62HO9ftZRX6z2BUnJmftoS79SIhooi79b6VSSkE2cisVV0mBQbIotlTimAGMBCABs6Tau2613bm5mTGkJaQw1SkeOmLxBA4kyA4BzgpF9vNva1RSkfWQ7cAPE458OfkvbQ+yq8n3VbVO7QyELtktAmn5XEXJGlYaZZtxbLFSZvFmkauos2UAROkq1TMUDCYvkURHG69t1rS3FzEmVIy0kkaZA8NQeQY8CJEYMWK+2O8211VNKMhrAdvDwyy4qy9NoWShNWfv1BJvJXe5kLPWOeMXzXfLuSAYEzKGAw+wgU3topgPgQgcAAevPNqsvPoCIHXW7rpq+F9tvSV2rW1NYdAPFCNdvnDhJyVAnwSSXMmCngUAL5+YgAcjhFIt0Wfq/tbsJZ6JQtTUO77JrgoJ3K13ByMHEJP1UyKFYEesomZcvHxETFOoBW/tpl4KdQDiBM6ux7Wq1bWFzWkYQm+kRiJSIGGpjKIEXwBJc8A2KiXW/W1GuaLgyiA/AB+DsceLftW8dJNgdZnVvturddUiE19uyBK2VscVGEQURfMF/P6Z8xfJooGdsjGKYvJ00zpnAQOmQRDy0t52Cvt8YVJeqnUfSWbEZgjFiOpBGRK2dv3W3vNQpyeUMx1yPQqVWy4ae7D7PtFn6/VJspFRsktXp+3vLnN0lrYHDUxknabFOAi5VSRRQUKKR1VypJmNyCZjgAiFe37WuKVGE61ScDUAkIwjqIBy1POABIxADls2U243qxnVlAiMjAsSefFsC7cfFWrpxubrfctMTcRr+JRqEdTHbmIudZlfpynjF0kvfUUXVIY6S7ddE3upuAMJVCDyPBgMUsPeNkudvrxp1PVrAMSH9QPzd8CMwfImrt+4293SM6RcAsfAjh9uCgVdk+r+3oFfbGnuv2uHmoVFXCsc7s8gMDNTDZIREruPi0oJ8gVBzwP0/1TpuYwcGMUhRAcvT7MqUSKdeZFTBxGIlGJPCUtQLjjpjJsgSVLHc1pJ5QIMQ+Ls7cQGy5Yh+iuGueyHWdDpkntfSFebN9aHfoVstOFuhFqNpuRl0YMY9+mUFCIKFeOClWPwcPHk5fMogJo0+3bqnuP0VXCYcvmDERMtQ5gxDjLkWKpQ3W3nai5hJ4H9rN8cFzdvSy6b0roiX3yWoUac12zcgpHVKB2ZZH8TIzSyoIt2reLRrYNFFlFzAAlAA4DkR4ABHNiptsI0z/eqGOTaQ3T/kWvC7t5VX0R18+PxZVDQnYYad9sppt7vw8LZbK/eyMLL1qMio4ohJkmV4NGuxbOPTSI4FNZD2kznERMPJzHAn8urR7eu6t+LKAHuEA44AAxEnJ4ARLn5OtiputtC1NzKX9sPj0LMOZfALSlpvUeio6M3Bu7Xiael4pwg7TYMLxMWpzWklhATOloF5GNWCZGojyv9E5XMUAEUwUAOcv/APUri4/tUas5z4CUdMS3CJ1k4/w6ox8WUiO/bfSlrkIxfiM8eeA88SugO3G3dQGq8DryxRlVsNftkU8nW7izTBYeEQjI5RgiZ0L9No/MBzKybcqIES+YTCPkHHrzu3bTKvGpOcjCNMgHBy5dgxMf0nirV3fU6JjE4mTt5M/3rjLultqy9YmVfi9KwddU7DTbdZ7A2Ve3zN4UqdbiyFeyksgwsMI2agmm2IYiRRUKBzjwUDCHGb8tmnXqQowqTlOZYCUWHV9cvuWnTv7WlCUxGMYjMj/wF1d2oueuJGXiuv1/Y1uyWSNhImXcWO6T4VY31Eis8ZsjtF4yMeGF64UjVziRFNMpQAPH4gAam37T7tD6iUzAajEMHLgAnOUW/MOJWzd31KnP2pByQ5Hhl+C5j2htq9av7eUHQWlWcTB7IlpyDcbF2SlYXt7lIWtyUqjDNmJBtcK3TRWfunKZScCcxCB5+Hj65mr7ROoSITlKUYykdUWYRBJxEpcAVhoX1tADSBESkAG4k+QXRnbG59ZrRv8Ab6ZNrWq7C7CowhJSVfWM5I2KhY45jlalkpRNjJLlVcHKYEEEmyp+AExgIT5h+7V23Wu7c3MyY0hLSGGqUjx0xeIIHEmQHAOcEvt5t7WqKUj6yHbgB4nFn4c/Jf71QufWCsb/AF9NIa5qev8AsKtCHlIx5WzkkY2YjiHIVySPk1WMc4FVuYxfeRVbpG4EDFA5QEwN17brWluLmJMqRlpJI0yB4ag8gx4ESI4FivtjvNtdVTSjIawHbw8MsuKxGxbJrnsBt1+7qsFVm13i38rBtZQ98latZHicPILxLxT2IOHeK/Sg6bKkIJlh8gDkQLzxmSlshpRgZVZRlOIk0Yg4SAIx1xJwI4LHX3G2mTGURIRJGPMYHgVOft372tmxu8ll1xrtrEVHqtXIKXQRQg1yToXOxxT1k1lHy0zKxrN8KLMZJIhPAAKocBHzMAGLk6922UKUriMjKAkIuQxcgnnL9J4rct7ylKYpBgdLt4YD8VslsuGnuw+z7RZ+v1SbKRUbJLV6ft7y5zdJa2Bw1MZJ2mxTgIuVUkUUFCikdVcqSZjcgmY4AIhet+1rilRhOtUnA1AJCMI6iActTzgASMQA5bNlJuN6sZ1ZQIjIwLEnnxbAu3HxVV65dkesrXrFc7DS4FStwetG0mW8U5dNA7xmqwZmfLAIkOZJ0m6RDzRWAwlVKb14MBillX3bl3bXtO2kxNbTolwlqLDxBBwIzB8iaNputtXt5VqcvTB38Gz+XyUftifVut6/sm257UHX9OtVhu4e2AqVocKrsjIEFQ7dZJpVFSEcch4gkBh5NwAc+mZZ7HQg71JsM/QP/wDovEN1hIgAZ5fZl5+ge97DI9JL7s3f9bhm1Zf3ptAV7T7NhFM4qFY2IYsYdiq4TZpKODOizaCjldwQxi+vyAYpgNrU9irSuaVF29yBmC2Okanw5+g4P5rMdyoilOo+ECx64ftCxG9bN1e0toGW36Gl9CTkGzKDWNbQVnev1ZGTWUBu3ZNio1MCqKqLGAolAwcByI8AAjmWps1CMDL3Jn+iOf8A/YscNzhKWlsev7lvPW3ctlrf27aYbs4hX7FsO2z0xVHdedJRddrsMtGHlTOo8VI1kqmkyj28Mv8AnCkoc5g5+Bg8fFLYKpuZ0ah0+3ATJZ8CItg4x9Y4hua9y3SiKMaoLiRYeJx/YVIu09vjuvuoIm0aop1Ps+yrE+JBakhE9hWCxxyMy9KYEXjONfwCTH2GgcqnN5kIAAACYOcz19sBgAKtST4AGIY//wCh+5a9K8thIyEYxIxJ4/cr1Mbmr0j1M1VUt6rQGwLPeqInb5OeubtnVYsEEko067k6kfHuSNzFXlkEkE00OeP5j+QCY2G32KZqVhUlpFGWkkB/U8hg5j+k4utituVKMYHP3A48Rh+0Lm3ultqy9YmVfi9KwddU7DTbdZ7A2Ve3zN4UqdbiyFeyksgwsMI2agmm2IYiRRUKBzjwUDCHGbMtmnXqQowqTlOZYCUWHV9cvuWtTv7WlCUxGMYjMj/wF1Z2dsumXl0hNPbRrVCu9xh69GPnFh2XJNYMhxllnbNsRudpEvvccu1IxdQ6SaSZA4DxD1AA07DZxXt/fnIxiZGIYAkkAE5yj+oc1tXO4U6NT2ziWfyy/BcbQX2yoTsPraua4NsR5Q7Zq6aO8m4lq7Ig4EG5ilFVZNdZExB4J5JueBL8xhADc5+jbr3Da7pGlVEjFmJERkWDg8mOR5L8ts9pudqq1oVI69ZLE8XJIPm+I5q0af64nuNI7DqayW/Ua/cqaSpoSLJQxkJB03Tee57CwfKpwV0JPdIIgIjxzyUcidzd1Uq17aTpgSFsdR8TqidPQaR5kro+1+3K1tZXMZSMTXy5j0kaurn5BS+E+3tSd1SFG7KNdoHrURrVoLeZrZHyTVukomYTGSdEXXSOzEw/IqU5BE5AAvp8cu7jvdpdXtO6jMsMcBhzx5Hm65ax2y4srSdnOn6pYfhhzHEMt7ies8hN9Cdnsqq3XcU+w7Bj7g0TSIsIPWcUqwMssml4+ZiKCxAwAUPzADkOQMGRbzu6ge46N6zwpRECeYaQMvFtRboF01n2vcQ7dq2Wpp1NRA5OQRHwdseTlagn0D1wvsMO959tB+wRrX6GavGkkP08Ffp/Z9kTCv5f/F9P7fl7vrz/AE5ZO8Wo3H6r3Czf09Xy/eubG31zZfRe2dT+Or7cOi7O+3NrZ9qrqnDVd2gq1bqyMrLM2yxTkOm2kZFZ8mAkUADE5BXy8RDkvPH4Z+cdybpHcdyq3MQwkQ3QARB82cr9O7f26djt1K3mXlCOP3t5Ow6K55DVhMImEX85ezPTSN3H2V27q6y2U9LntoA0dwk0RcGyrlNJk2ae2gZU6RFvH6bxOiBvISiPw8uc/UNm7gt57ELGR0ygZZZkSOpxzzIPgF+Y7/s9xS3n68AygRHoCAxB5cx4k8l+vWTphC6Y7Cao1XXrKe6WTXBHas5LmXBwq3brMnTQybkyR1SJef1XgmgY3kBQD4gURzxvXcFCOyGxgdUpmOeYAOpzyyAHg697Bs1apu/15GmIB6FwzePM+LLrmG1F2H0+u9iOu10h2Gunyqi6UFaog0oSMUWOJziwWbumahS8iIlTVMchfgUoB6Z+ZL9LWzad0+trYsjPWaXd2LZU4sVzOTz0iSR1zEL4kTSRQKRJFFMP5UyFAA5EfURERIv517A+3Y07IvNidbZm6r0bYz6+v7f5prAm4ft3T5Z+VT2VlW/1KIgt/Qbghil59S8Z+r/5+2vtooUCTGVOMYkAOfTg7ciMeq/KLjabiw3atcyGuNSRIJyY8PAjLp1Vc6i9d2FY7MO32vJk1iJWdcPadJ2Qjj6sFnbgGxUiLOU+U1V/JqBzgA8kH48eQZN7u7ho3NhRs4FzGWoniGBAB8S5J6BVe0NjrW95Wu5vETDAc8XfoMh1KhEF9sqE7D62rmuDbEeUO2aumjvJuJauyIOBBuYpRVWTXWRMQeCeSbngS/MYQA3OXd17htd0jSqiRizEiIyLBweTHI8lz9ntNztVWtCpHXrJYni5JB83xHNWjT/XE9xpHYdTWS36jX7lTSVNCRZKGMhIOm6bz3PYWD5VOCuhJ7pBEBEeOeSjkTubuqlWvbSdMCQtjqPidUTp6DSPMldH2v25WtrK5jKRia+XMekjV1c/IKXwn29qTuqQo3ZRrtA9aiNatBbzNbI+Sat0lEzCYyToi66R2YmH5FSnIInIAF9Pjl3cd7tLq9p3UZlhjgMOePI83XLWO2XFlaTs50/VLD8MOY4hlSqLp1pWOkGxZxodZtQJraFftzV+RNbxBpGy8P7z8hQL5FSAGXmJwDjxAT8+Prke67ptq/cVK5l/xwgab83jMP0eTdAuls+3Lmh29O1D65S1gcvVEsPFg/UqQw3SDqvDdlldsJb5pA6QTdjdY+jBYmXsIXRYgtlZIqfveAACQeZP6gVN6cAUAHFHc9vF37jjQ76cG1c/txWpK33A2vt6J62bUxfTy+3BVrZmnk7L0g1xYSqLuqHA7Tnbg7fnTW8TM5GWlwSfGL4+ZkuHvuAfjjgQPz4+uZrHum1o9xVbnD26lMU34BowD9Hiz8i62tw7duq3b1O2c+5CWsjiRqJbqxfqGU9f/b0oWnpe7dmZLaJ7JAbJagjEVxR8k7QUUOYDFSakQXVO8MUQ8EikIAkIIl9fjlax3y1tL2pcymWOOWHPDn4Mudu9rr31rCzjT9UcPwx5eLqqbo0HRYnV+jtWdgpFnA0Vtq6co8o4m1/p2Q/UEhTAzXdHEqZTmSZj4+RgEwl5L6h6c5su/wBpqvTcAD35iQHDObjqNeHmus3/AGi79u1NAyJoxIJGZwix/wDUuufdc9OdJ6V1hef1TeNe2Js+Whl6PUUmEwjIyCVYTKdCMiUG6BzKHUOZTlUiZfER4AA9ORo7HvlhZ1vcmQSDgcHERiAPH8VH3Lb7+9ApwhOAOeBAMjmT4Lon7gWhtJ7n3JN6/wCwVnj6jV7NrGCYM38u6IwSM6jJKXVKq2XcGIkZw0UdEOBQHkOQ5DxN6yti3WyhtE7Wu2r3DLhkYxAIfkY/crHcNhencoXNAEgQAwc4gyJcDgxUl619atbaqj62we7dgNndl7RsirTNpfQkoSUdSKkXNM10C+2kc6v0zNs2/mOHiTgxvQB9N633uyoWVeMiDUnTmHwcmUTEM3AP96n/AOOvbi+oyEZRpwlEsXAYEE+Z/Ytv7O9OGO6Oyu3NX2mzq02f2cRm5g5oFwbquEkWTZn7Tcyp0iK+P03idEpvISiPw8uczbN3Bbz2IWMjplAyyzIkdTjnmQfALHv+z3FLefrwDKBEegbAg8uY8SeS/bq/01idJdiNTaxrNmUudp1qV04mpkVwcLNkFGTpqJHJkjqkR8vqvBNAxvICgHxAojnjeu4KEdkNjA6pTMc8wAdTnlkAPB172DZq1Td/ryNMQD0Lhm8eZ8WU97KdU9bbZczi0duCB1V2ZrGyrU5h38xJkjHbRjOTrxZ6kKSp01DIOWrsVEzFDgxuBAeDCOY7rebGvaW4iQKkKcIvg/piIkF+mHkvUdvvbe9rmUJTpznKTByMZGQb8fNW3pVpbTeudrxuu+uNmjrJVqzqiehUl4Z2SQQaKSD6KOQyy7cTJFcOVGxlDAIgY4gY3HADmnv+72VXaoW1BgROJwbKMZDFvGX3rf7c2+8juFS5r6mMSMXzJicAeDD7lAoL7ZUJ2H1tXNcG2I8ods1dNHeTcS1dkQcCDcxSiqsmusiYg8E8k3PAl+YwgBuc6Xde4bXdI0qokYsxIiMiwcHkxyPJcvZ7Tc7VVrQqR16yWJ4uSQfN8RzVn1Ho1m7152RslGOMpUbNr9etJyDAFHKMg7aMpDzFuKYG+oEoOhL5J8+Q/KHIhknf+6aFfcrKQxjbzEiR/NEkDoI/ElXu3e3Li3267iXEq4IiD/KQ56k/ABRW/dKOre190xO1yb2psZrCeRZyGzKcvPtUgnn0R4rRJnCJ1Q+YihhBcqnxAoBx5CI54vNz26pd6wRoJ9QDNJsv3rUtbbcKVsaZhMyH5SxwfP8Acr2hVa8+6e7SmoSXGSpTjbldngsbX3V0Dt4hatFXdIrEA3uIofQm5VIIlL4j6/KPHqt3FZnfLeuCPbhSlA8nkKny9YfzW7b7Hef4OtQL+5OYkHzYGHz9JbyULhukHVeG7LK7YS3zSB0gm7G6x9GCxMvYQuixBbKyRU/e8AAEg8yf1Aqb04AoAOOO57eLv3HGh304Nq5/bitOVvuBtfb0T1s2pi+nl9uCuUzTauXp3q6RsEoDPX6W27FMrWB8VRJsDSZPZkknC6igABEHH14ACh+CGAwevBg592/cNkN7ua8m9upSEByeIp/L0FvJbl1sl5/hKFEP7kJmRbNjr+fqD+ahOmOmHWLQuzJzYiu+qhMUWDReJarraVhbLnrraV5dyZEEwWERUVWH20/Dkwp+g8ib0+bfum30bgzJBj/CCzRfP7clpXlruFegKYhMSP5ixxbL7c1cNy6f1u/1JoOlbvkGsBrg2n5GnSLieMdg0N9UzgTfSuFVvAqKhyMzCUhxA3JR49Sjx42zf7L3781cY16moPxDz58fWPmqG87Re/T2ftPqow0nTm7Q+I9JXPuuenOk9K6wvP6pvGvbE2fLQy9HqKTCYRkZBKsJlOhGRKDdA5lDqHMpyqRMviI8AAenI7ex75YWdb3JkEg4HBxEYgDx/FTNy2+/vQKcITgDngQDI5k+C6J+4FobSe59yTev+wVnj6jV7NrGCYM38u6IwSM6jJKXVKq2XcGIkZw0UdEOBQHkOQ5DxN6yti3WyhtE7Wu2r3DLhkYxAIfkY/crHcNhencoXNAEgQAwc4gyJcDgxXgfdktH9jUVL1tGV06xsrGnobCcwlkpUnJP4uBdNyvE1VHp7AwI6BMhylUUSSAoH5LwA5r3fb9rbVp0ZiZlDM6gMsyBoOHmVZo74KsIziPTLL7OsN9u7stt5zAb07c7vXejAxtCY3ahUCMO7i4GOqpEpcGoJxJ3LxJB8+GG91RUTqGAqheBABMXJ8tglKdtpeIuKhgAcSMYB3YP+ccAtuO70iKx/wD4YvL4E/gV69vdgdEp168bxvMtpaVv+uiE/cLAaBKKSKEgsH+zaFO6s6BlDuVOCIqeAFOI8hwHw2Ku02cNXpn6c/WPu9visFPdzPSw/Nl9nWc6E9ib1pPp1tjsx3cl5iR2HH2w7yYr7dZwqwjE30RGykZBQcc4WOk18QlSNxTA3zLc+RzABRDWl23cSvLe2p/nrgEA8HlKOJ8NJJLZcFnhvNuberXJaFIlz0AP4rAf3hhk3f8AfB1XNEE3Z+mfub+15YxU08VDz8gINkCW9sVfD0FYIn2gU+XkS/PnS/8ATbb3/pgZ6stbj4+3pdn/ANbt44KD/wBwpez75Hp5N8tTs/l+1ds9dt5Ufslpev7q12C5KtOsQcJtXRCpuGipDCku1XIUTAVVuqQyZwARADFHgRD1zhdz2+tY3VS2q/ngWPLqPAjEeC6uzu6V1QhWpF4TAIPgVuuaK2UwiYRa/sHVWt9rRQQeyYSMm4kB8gQkm6a5AH+IAoA8YRNfaq1vqmKGD1tCRkJEiPkKEa3TQII/xEEwDnCLYMImEXE+xuwGr+we1ltZbAfatYzAzVijqzA3CpyM0+dIVmVdxLtyV6E3GICYx2R1faITyImIciPxzr/8Db040xMSM5wjLCQiGlESwBhLIHmoJ3qJM9IwhIxPUFufNaB9uPc+wN693ZG4rTCLDqjHVGfjtXwVObva9AS36BJx7KRnHkWL9+Rx7ppISNTKKiBSkEfApgKOTb3aRC1N1AEQExEOQXcSLuBHD0ngtu33KFSv7H8enV0xH7Qsxcezmoe1tmeX9ZpqSuazaT569UprY0GawSVoUbqGSOu2SRm4MrJFVQvDYpjLKKkDzEhAEAHpT2bG1pU/qdUqkwCwkICL4gOYy1Fs2Zjg5UQ910J1akaeIgSCWd2zOBDAHDFV/Q/fCnyvXjZk65rrKFv2moyQcz9ZiVQMwdINGCr5o6YLe2U30zwiIgUDkA6ZwOQwD4+Rpe59p1rS/t7fU8bgx0lscSIkEc4k9CGPFhQ2/uG2u7WpXgf+J9Q5MH+YUU292B0SnXrxvG8y2lpW/wCuiE/cLAaBKKSKEgsH+zaFO6s6BlDuVOCIqeAFOI8hwHw81dps4avTP05+sfd7fFfae7melh+bL7Os50J7EXrSfTrbHZfu5Ly8jsKPth3kxX0FnCsfGJvoiNlIyCg45ysdJr4hKkbimBvmW58jmACiGtLtu4leW9tT/PXAIB4PKUcT4aSSWy4LPDebc29WuS0KRLnoAfxX7/5jXdOt/vJ030sS9/pH7h/s8WPVNMFaeXkCQ2IJX2xU8PQVQifaBT5eRL8+dL/0229/6YGerLW4+Pt6XZ/9bt44KD/3Cl7Pvkenk3y1Oz+X7VW9h/cN03EdL4XtFXItxOMbeLaGrFQWFBq6dzLs5m4xrg6nmk3FsomoDk4+RUypnMHlwADz1n2pd1t2lt0mjKBOo5gRGJkOJcMw4uBgrVzv1rR28XrvTIBHi+Q6v8Fz+O+qL13dvt2ow2l7PaYYWzy3VKiQS0ZYIps4ADrnbyLqZfA8WSARMmRVk298A9BTEQDOgo9l0bqoaFHVGYyMpRIJ4aoiIMQeeqTeKjVe8KFCAqVfyHwPni+LdF0L2n7wUPXWuKOvryPjblb9oqI/spi/VBvGCzMgR2tKPVTJqGI0bJHKYQIQVDnMUhQ5NyHP7D2zX3C4q05PCNEEzwchi2kD9ROGbBiTkrO775QsKMKki+sgR8XxfoBipWbvxBaWm4y1XV/rK7azNYU6/Y5ahwikG/qyq5wSK4XSXm50rpNE5wBwUDIqJk5OBT8CXLY7MjdUqhthKM4AljITEmzDiMNJbJ3c4YZqWO7LenVhCqWEyACzZ5ZkuHVO7d9wYfXmy6x15pcbBSuzJ9kpYH0nZC+7E12ESN7Yv3CBDpKullj8kQbpqJ+YgYTKJlKIjI7e7ZnuFGpcTJFKmwwzlI8AcgAMTIgthgSVQ3jfqFhOnTl+ebt4AZnx5MtH1X3vrNV27UKfcXWv7RRr07PBxGwNfRhodBlL+QlRZu2asrN+SLkxfbIum6+VXghkwA3kG9edoiVjUu7ZwKeJiZCTx4kSEY4jiGycvgy1bbuehO7hbTLTnlg2ObMScxkvV2b7H68tW5ZHQuyX2vYmCaWZnTodC71uQnzS0w5hmE0JUlUJWLQb/JIkTTTN5GOYphAfwyfbbLR+lo1quomq5DSERhIxbGMnLxPJb1bdxGtOnEfkZ/MA/cVC9FbSu+wPuM1HV+vJaLh+odHsshV3xdbR76qNLJcQgXsydu9TJKyIvGUaWP8ABRMxylFU4AJTlEcxXGzQNCtWpCQjSAdyJOTKMWDRjlqHNe6W6wlVp0z+ao7dACfmytW1O9sBa9vW+p0xzr2ra8ojwkFM7D2FHDMIvpkDFBZiyZJSsIJEWwm9s7lV0HKvJCJmABNlaz7SEbGndXOo+7iIgiLRyBMjGQx4RAyxJDgKdddzUYXc7aGMoM+D45swIOAzP71vHUTuJAbH2XZ+vdsj4SL2TAMkp9nJV1MUIqwQ6ogmL1BBQ6qjZVA4gRdA6inh5EMVQ4G9NDuDtmpt9GncRc06jjHOMhwJwBcYggB8cAy2tn3+3v51KcD66bOPA5FQ649nNQ9rbM8v6zTUlc1m0nz16pTWxoM1gkrQo3UMkddskjNwZWSKqheGxTGWUVIHmJCAIANc9mxtaVP6nVKpMAsJCAi+IDmMtRbNmY4OVPPddCdWpGniIEglndszgQwBwxVf0P3wp8r142ZOua6yhb9pqMkHM/WYlUDMHSDRgq+aOmC3tlN9M8IiIFA5AOmcDkMA+PkaXufada0v7e31PG4MdJbHEiJBHOJPQhjxYUNv7htru1qV4H/ifUOTB/mFOr53mrNO13fNiStw1I5m6AQAssGjQ5QzxKQcAP0rMoubMgZQ7pUQIip4AU4jyHpzx5q7TZw1emfpz9Y+72+K+093M9LD82X2deboV2JvWlOne2OzPd2Wl5HYbC2KPZmvN1nCkfGJvoiNlYyCg41wsZJr4hKkbimBvmW58jmACiGtLtu4leW9tT/PXAIB4PKUcT4aSSWy4LPDebc29WuS0KRLnoAfxX7f5jXdOt/vJ030sS9/pH7h/s8WPVNMFaeXkCQ2IJX2xU8PQVQifaBT5eRL8+dL/wBNtvf+mBnqy1uPj7el2f8A1u3jgoP/AHCl7Pvkenk3y1Oz+X7VWrl3mpdj6zUTdGsiM0YDYMgaMSNYmC71OIBpESUu/I7j2KySi6zcIpVAUU1Q5UEODCAevPUO3Kkb6vbXDvQiTLTxaUYhixwOoF2OHBXKu9UPpaVxAvGqRp8wT+BXN3anudfpbSNdg+pVt1ZP7Z22utA0h/A018xVZIkKcshMA5UsboUAjSAJhMKJjFU4+UeBz7LabaQiKcZvLL1g9S2gZdV4/wAuBqM8BHPD9/FVYvaOO0j1O01Hzc8mpFz2r/31P3TZbeUti5G7NKHFwdyki7arrLKuJopvMVQIkQg8F8QAA+0NghGd17pJFvPQWwckyDuRJh6Dw45r1W3eEY0THOrFx0YH8QoR377c7fcViI1B1wt9MPOz9eU2FYLTQK48g5OGpkaQHyrpnJDPSPsryHh9O3MCQ8iI8iUOBzNR2Clc16dCkJCUyMTISABwdhCP3rFPfIU6Uqk8BHDz5Lp3s52sqeh7az1RPTtZr9Gga1APXNlv8XJ2YV1Zp1IxrJM505FiZM//AIUcyrldU3mY5QHgRER09v2ijUsvqauogzMQxAyETiTGWeoclsXe5ilceyA8tOryJI/Ark29dGuo22Krr6F3olsOubFo/wBPGz7FnUrI5/UI9uUAXi13EezVQVbLKpEOByHMAF58f5hHOj3fuq0vqwqEEYvxyOJicMnXGWHbt/ZRlThESHNxn+oOc10TrfT0dcdd70LqqFnxqll103qkSMnGOYg8g5QazHki1byabZXgn1pSeRilIJh4AfQeNXdO66Ve4s6kQSLees+OMCw/2/NUtn7brULW6pzOk146ebYSD4fzfJQy49QOjmx94VLf1xHYkfaoJqUJyvfsq1mbyTxqAGjzPPbjzEMdgoY4lEPLy+UOfEvA5bvuW0q3YrcuuLZPhwU632HcKNvKgIYHi4w5tjxVlU63v9odO9kw9NiJgkZM39nbYVpMM1WLuQQh2sUAKEavASUICijEfbBUCiIgA8eIgI4rnu8DeLe9phxSjpPiDq1N5TIHiqNt2tI7NWsqhY1ST0PpZ/OOPhgo4j1a+30bZpe1ylidl7FBFfoZqdw8/UPqvpvpOP0j6f6j3fb/AC/P/pf1fH5srnuWy+u+qcu2b+X5c34LnxsF/wDS/RGn6X5Yc88s1270U1HKaV64xVPmWpmL9d7ITJ2JwKB2/wCpPFHvtnAgmKBwFTk/A8eXPGcFvu6S3G/qXMg2s/IAAfIBfoey7bHb7GnbAvoHzzPzKsGSVUTCJhEwiYRMImEX8zez3TbrxuaMsus97DfqpsNrsSbsUROwdYnZI5G0nNOHh1GrqLaLonSdtXBiGKJ/QeBMXyLxnf3Pc1tcWdGjJwacIxfFxpAieHED5+C/Px2/eW97Vq04icakpHMNiSRgTwVq6nab1gy2yi10FE2FjrWC1rKVVN7KQ0nDNkDvXEaDdskEqg3VVUAjMTGEpRAAD5h5EOdXfe46N3t8LWmGaYl4ARjIfPV8ludvbDcW15O5rYGUSMwXcgvh0XO0r0H6X3KsQ2oe4EypTblrmQUcRzd2spGJP0CCUoA3VFM6bpFYqZPlTN7ocf0iI5c3Duy23OFOpWHrizhwGPHPMFnwy8Fz9t23d7XUqRox1RmSxZ8CSQ/iHYvmrppvrsraNZ7yuVEjHx67eKOvVoEi7YzRzKgi0eeKiaLn2zAQ53QlT9wCiIiPPBeByZvPdwub+1qgPC3kJdTqBLf7QFc2PtaVrY3NMlp1wR0GkgfeSo7ceoHRzY+8Klv64jsSPtUE1KE5Xv2VazN5J41ADR5nntx5iGOwUMcSiHl5fKHPiXgfd33LaVbsVuXXFsnw4Kfb7DuFG3lQEMDxcYc2x4qyqdb3+0OneyYemxEwSMmb+ztsK0mGarF3IIQ7WKAFCNXgJKEBRRiPtgqBREQAePEQEcVz3eBvFve0w4pR0nxB1am8pkDxVG27WkdmrWVQsapJ6H0s/nHHwwUcR6tfb6Ns0va5SxOy9igiv0M1O4efqH1X030nH6R9P9R7vt/l+f8A0v6vj82Vz3LZfXfVOXbN/L8ub8Fz42C/+l+iNP0vyw555Zqp3LqBZYTpdQ2zuJcnXqt1eXl9CtkiqukUJQzr3QKkQwgZZMjswnKUR+JvHkeMj2PeMqe+Vb6YaNUGJ5iLAD4aYvzxXQX/AGkKmyU7GB9VIiQ5EgkkdC5blgpRH9R+hdNtVm3Joyfc2XfOw0TNVKuwM4dukl1lCqKlFkdEhmQGVKBjmciBS8cAJQ9Br2vc9na3U7kO8scwX4sBmH8cvBQK/bt7eUI2k4NGPEhgOGfFvDNWDfHVk+uaPpWxWlouvU9fVlWqzZ45uq7MwQdFbmFUEkgMoKJDNilN4FEwAAenHOSO3O7ja3VzOtlcHUSOEnJHl6iPgr/cna31lrbwpYmhgAeIYD44A/HmorXehnSmj1yb1V1EmVLnctiv03L5o0WVk0mCJxMX/cqgmRNqiiVU/JVTe8PPHzDxxUsu67fbYVJ0X1yyDg48MuAd8c1Fq9uXW51Kca8dMYEOWbBwT5luCtfcjrjS0N3NrzukrkNP2GhtaNMTSKK6ybP6Uq5OHJ2wHVRTUK5P4qAHBR5ERD0yX2x3NCzsqtlV/LM6h1I0kE8HADHLNWO6e3Kl3dUryljKAYjzcEebvzwUy0n0a6u0V/U9BdQJVa3xUdbmlul5xJQZBqzFs6Reear8iaTf3P8AbkKmmlyYBABMH8w5tz7oo2u21bag71AY5g4SwJLYZYAea0bXt64u9xpXdeOkUyDkztkGzzxW4d1us2ldr3vatH382t8US1yEfOViwwlemJciTltBsGSDxstEN3Hgs2XaCBiHEphDkP5TcjpWvcluNpp2kwxhq+cjIEN1by8Vu7hsN1/k53dIahNsHAwEREgvzZe3p9170hrjYGqqJ15Y299E0x0+kZiZmq/LxCXkrCv2irpytKtmxVF3bh5z4piYeRH0Aoen287loS2qpZwGMhEfCQkScBy+a+bbsF0Nzjd1Rp0vxBzBiAGPB/kp5uTot1jucrcdAdwpZapQkpcXlxhJ1VQWDV2Lpys88kn501W/ucrnKdNXgRER8Q+A5vx7poXe2Urav+akBHMDCOESCcMsCM3xWhc9u3NnuVW6oDUKhJ5s+YIzzxHgwVa6d9daKpuJa4aSI4PqSvUV1SYucVRXRTdi5IgkBWx3QEVWTTK2KJlBDxMPAlEfXJ3c3c0byzpWdP8ALA6j1AYAdAS58VU7Y7dnaXNW7q4SmGbzck9Syg8r0H6X3KsQ2oe4EypTblrmQUcRzd2spGJP0CCUoA3VFM6bpFYqZPlTN7ocf0iI5Z3Duy23OFOpWHrizhwGPHPMFnwy8FBtu27va6lSNGOqMyWLPgSSH8Q7F81dNN9dlbRrPeVyokY+PXbxR16tAkXbGaOZUEWjzxUTRc+2YCHO6EqfuAURER54LwOTN57uFzf2tUB4W8hLqdQJb/aArmx9rStbG5pktOuCOg0kD7yVHbj1A6ObH3hUt/XEdiR9qgmpQnK9+yrWZvJPGoAaPM89uPMQx2ChjiUQ8vL5Q58S8D7u+5bSrdity64tk+HBT7fYdwo28qAhgeLjDm2PFWVTre/2h072TD02ImCRkzf2dthWkwzVYu5BCHaxQAoRq8BJQgKKMR9sFQKIiADx4iAjiue7wN4t72mHFKOk+IOrU3lMgeKo23a0js1ayqFjVJPQ+ln844+GCjiPVr7fRtml7XKWJ2XsUEV+hmp3Dz9Q+q+m+k4/SPp/qPd9v8vz/wCl/V8fmyue5bL676py7Zv5flzfgufGwX/0v0Rp+l+WHPPLNWV31zfa46i62jbZDTAw8NsJ5bpllDs1XzuObS7SWIKh2rMFVD+2d+HugkBhAREQDxARCPZ93AbvcXtQECrDSPAAx0v5QAPiXXQ3na0v8RRs6Zc0iD1LSdvOThRnVvUDo3pTZ9z21QB2HIT9jKYkFBDSrWVGJIv+e7bMfcjgIQHbr5x58QKHBQ4AB5zWPctpQuJVRx64c2w4lTrvYdwuKMaUoYDMuMeT48ArdtjScLAa70e02/BTp6JA63eU+dTYRbmZMyWdtIcAbvG0am4UEqgMjkESkMTkOBH1DnFtfdVKjWvJzjhcT1D4zLHP9fyVDeO3K9a3tY0y5oR08nwiHD/y/Nc/6x6TdTtMazu1C0gXY1o2Hc1XLOKSf1OyN1UGShToMIwjmRZpIpt2hVBETqKFAeRE3AcAG1tHdVrYzMwCcX4vhlHJTr/ty/vtMZxEQOLjPiWBXQvdnSOp7ruGTa9iIixOdV2jXMZWjPYaGkpdAyzJ7JqKom/SkHKqKxAeFUTMYoBz6lHkB4m7J3FQtdtnaVA7zMuoMYj5afn4Kpv+xXNxfQuqOJjEDMBmJPHm6m8V90qkIQppPdO07xUrmegIbJVjWUfTEopRo4QIsdnEqP4V6uuqgop7PtqqiqYwc+oeubu47Hb2dxOgaI9D4nX6gMHwmBj4ALPadwG5pRqQIIkWwbA+KwP2+9gbTqEH2M7s7oUPYeyT/WsfsBkpLA3MtFRYITn6fAnKwSaIkAicUgouCaSYmObgwclAc0KvbjVbMTjo+oqmLY4B4AM7n+PiTktujv8ASqQuJROoUIuTzwkeH8qzOzfueVTX9TvbIdqbGW3fTgasmlXWj6K2NNSMqHtxoRxArzg6zZdUQ5MUxjEJ/N6/HNcbZRpylH6eLxLMfccvl/Hi6w0N6NSMZCQ0y44MGzfoqf8AZioVipup9ivtpPy2DsDKbEPI3i1mFM6sk+fQUXMCl5IgCYIsjyCiCZUylJwUTAUvkIZE37aTYTpRIYzp6iOR1Si3P+FU9p3OF9TnOGUZGPXAH8V15+3K/wDW/qX0LT9Q559/2U/c/wDvcc5CVVe3CJhEwiYRMImEXF3Y/vvG6q7BTNH2RdbVSqS1uUbRIhzXGVcVZEcvYGNmCuZRxNx0iqkCyr86RDEAqZQT+b1ERztLXZqUbChXlTE/dfE6mBE5RA9Mot+V8XzXN3G96bqrQiQ9NsMHLgF/mobpjaU53C+5hQ9o2G0y1z60Uq2y1NoLWeLDFK9nUq9JSL+fTJCR8amok1Xjk0G5jkOAiInKJTBmK52SMrOvciAhGkAzamkTOMT+Yn9XDkvdDe4SuaduS85uWwwDEj7lSN0/c8ji7Guz6131zqvrVS501Pj5eEZxbqcnJpuqKLxUxpyLmG6bNNUh0U0kmxlTiUyhlCFAC5Zt+1aFrttG6uIiUqo1eoyEYxP5Q0DGRkRi7sBgxxKl1+6hPcKlpRBJp4FmcnjmGYYDm/zpvSvvPM7T3FO6Bu75Cwtk4Alxo9ybIooKS8NymRdJ6m0Im2+qbmWTEFUCETVIcBBMglHmf3P2vGxtKV5SwhUOkh3ALOCCcdMg7AkkNmXW3sHctPcK9W3Zp08eoy+IOB8lD0fuW6tfRH6xvzZFurd3/YCGyTR6MXSSxZ2jhEix2cSrIwb5dZVBRT2fbUVFUxg59Q9c2dx2O3s7idA0R6HxOv1AYPhMDHwAXi07gNzSjUgQRItg2B8Vi/t73vZ9Kr/YvuruM5p7sa+1pH39gaUBsKsTFAhOfp0CYsei0RIVNOKQUXBNFMTHNwYOSgOaFXtxqtmJx0fUVTFscA8AGdz/AB8Sclt0d/pVIXEonUKEXJ54SPD+VZrZv3PKpr+p3tkO1NjLbvpwNWTSrrR9FbGmpGVD240I4gV5wdZsuqIcmKYxiE/m9fjmuNso05Sj9PF4lmPuOXy/jxdYaG9GpGMhIaZccGDZv0X30cmb91m6a7R2DbZVKW7NTO3oNnc7yqRu4UWeWka77qhQ4BuJIsJtYiBAKCPJOfAAMYM8x7ZEdxt7eYxqUpTMcc4+4dPNjoHjjgV6HcVOVjVuY/lhMRfrpD/+y1Pcv3FIqX1XIteu+xruv2wkbQprqEr09HUFq8ZzIgHvO3ZUK2Jys2yImWFYp/AeADyD1EPM9tpy9EKEdZOlv7jv/v4Z8l9jvTDVKQ0tqfBmVD64WtTqJ9vLXFMo714SXmNjWmt2W1sEWbqVlF4pSxul5FIsqDhuZ3IDDJJl94DkKU4FAOCl4yUO2ojcq1uYmftUozbHEyFPDBjhrPEHDNeavcMBY07nACpMxfhhq/8Aio/2C7msOy2qa9p7qPte2m2DtgXsZNOpJhS2i9drzQxm8y5fEY19q5QX4/JRKCxBOY3JTfDnHHaqdcxhSoxeXL3HAGZxmfmF9qb2KMZTqSYR6Yk5AK7vO0Res/TDr1pPQEXFQ9zv9Ni1my0miq7YQUWjGtnUrIKIAcpnbgVnRSpkOcAOqp5qG4AwDs7L2hG73G6pSJNK2lIFs5HUYxD8HYklsgWDrDu/dFOysqFYtqrMw6hyfIfNlo0F9zil66XHZOm7+42lrqFsKcVseLmY+vN3rBksfwUdxi9chYX5m3AqcLFWIsQpilOU3zZUtu0bfcqdWNCMYVIAsYmTGQ4SE5S/NkDFmOOIwU+t3eLSrSFcERqEDFsAeOAGXF+Ctndnu++om2oLr1SH7GCinFeNdbzc37dF0aKghMoRukwRdkVai7dGRUH3XBTpIkIJhTUEQLkbtjtiN7aVbyrjCmdIDsDJnJkc9MQzgMS4xGapb/3JCwr0rcYzqOegyw8ScA/j0Ux0J9yeqxuwqUfXtwV2X1suc4FRkZqTYRDKZhplwqVFmqBoGKhW52yixyJKJKtgUL5lUKoJeSjQue1aNzttW7txGMqQ1NEy0kD8waZlIEDF3YjBsitSh3WIX9O0rAg1MA7Z8MmDHLqtx7H99ozVXYKZo+ybpaaXSWtyjaJEOa4xrarIjl7AxswVzKOJuOkVUgWVfnSIYgFTKCfzeoiOS7XZqUbChXlTE/dfE6mBE5RA9Mot+V8XzVG43vTdVaESHpthg5cAv81DdL7RnO4X3MKHtGwWmWufWilW2WptBazpYYpXs6lXpKRfz6ZISPjU1Emq8emg3MchwERE5RKYMxXOyRlZ17kQEI0gGbU0iZxifzE/q4cl7ob3CVzTtyXnNy2GAYkfcqfd+/dHNt5akbvv1kpwSdltsVAFaR9Q/QEEatLvY4UlXc1ESK5XSqDMFx9w4FN58E/hm7PZKNCnREqQl7lOMtR146oiRGEgMHbJaw37XOqIkf25GJGD4Fvmy0T7a1xsHYnvm67Y7JkpGfrUpQrE11M2nEo1F3DV6HlItuV6KEU0j26a8t+orGERR8wTAAA5imyXuWze3YfWaNANSMQA7EGMi/qJP8PPit6y3iFa7NsC8hEk+BBAbDqsij9y3Vr6I/WN+bIt1bu/7AQ2SaPRi6SWLO0cIkWOziVZGDfLrKoKKez7aioqmMHPqHrlncdjt7O4nQNEeh8Tr9QGD4TAx8AFOtO4Dc0o1IEESLYNgfFfP2xL9NUiS3n3U7Vu3Upst/SYO+PXbkrU7yErgjMlbQZCMUWjcpk28WiqoCaKYmUNwYOSgOSL/t6pCNtphpncTlERxYfk05ucdXMqhY73Rrms0gY0QCT/ALn+DL0RP3J5uxnhF9vbZX15u25lXfVLXUBHwDmKbNziIM28grLw7x66X5DhU6bpsVQ/JEil4Aw9Zd9qWVncRtDGM5FhqkZCUjxMdMhGI/S4keb5LmrbvCVzQlcQidAfJmA4O4d2xLfvVfov3ArfsrpTK7WdNmkDuqBucTruyGaJiqyau5Gcjo00kzTeeXKRmcgV0kRXyAhh8D+YFERiXPaItt8jZEmUJQM48yBCUgC3F4mJIzzDKxbd0UbjaTfRwY6SOR1CP4v0XO+5fuKRUvquRa9d9jXdfthI2hTXUJXp6OoLV4zmRAPeduyoVsTlZtkRMsKxT+A8AHkHqIYJ7bTl6IUI6ydLf3Hf/fwz5LLHemGqUhpbU+DMqJ1vtivUL7eeuKbRXz1OYl9jWiuWS2R6LNzLSjiJUsbpeRSCVBw3M7kBhkky+8ByFKcCgHBS8ZKHbURuVa3MTP2qUZtjiZCnhgxw1niDhmvNXuGAsadzgBUmYvww1f8AxUq7F97n3aPT9d0h1T3JeF7ptYXsZMKyzanNlK5XmhjN5ly+TZQLVwgvx+SiUFSCcxuSm+HOOO1U65jClRi8uXuOAMzjM/ML7U3sUYynUkwj0xJyAVtcdpzdYemfXjTHXuMi4S732nRa7VxIoqumMDGIxrZ3KSKiJTlO6cis6KVMhzlA6qnmobgDAOzsvaEbvcbqlIk0raUgWzkdRjEPwdiSWyBYOsO790U7KyoVi2qszDqHJ8h82WnMvuqw1POXYurtlyW2tbQdhTitixM+0gU3ceyWN4KO4tevQ0KHk24FThYqxFiFMUpym+bKlt2jb7lTqxoRjCpAFjEyYyHCQnKX5sgYsxxxGCn1u7xaVaQrgiNQgYtgDxwAy4vwVZ7ud6WXX7Y7pvabJZqzqOGqtenXchUGEK+dqHsElKsvechNMn4Fatix6fPsp+XKnI8gAcc3te0057cbudPX/cMcdTAARL+kjPVx5K7f7v7V4LYECRiJdXJGD9FMJ7pLr62Vei0/fOiL/O2rXEg3cspCvr1xePdHaJ+0BSqOZNBVVov4JqHTOmUREpQMHoIZubj3fG8qCpUhiC/nx45OoNr2ncWolCjOOkhsXdvhmrLRNAXC50zcSjenvqk2utKRqkNG2NyyB46VRbyYGOuEcs7TQSE74ClHzEw+oiUAAOdXcO653Fe2qiP/AAS1B+JeJ+HpHzVHa+2RbW9enOWNaOktwDEeGPqKl051W1bbdp1Hdt96+7PX25TWS7Nq4ZqVZRodRUoABjiMwUVgbnE5kBEA8RMJuOeOM9x3XCrcCsYYxyw/ep9Lta6pUZUYzjpl1/Zx4q+dED1tJjf2cYEdHWE90F5JVdOUjZCVhwGNaMEiSqUau4I0cK/RGMCQmEQKHx55AIu/7ydyrxqENpgIj4k/eSui2HaBt1uabuZSMjycgDD4K+ZDVpMImETCJhEwiYRca9ousMXf7ns2q7U1dartrfYJmrpvJVJaGMdIU4lnHj7hJN60Oi4QVZlUSMUDF+A888gHXW3c+jboWcouIuPIyMuYxBJ+S4+/7bq1L+V3SkAZMcX4ADgDgQF4NM6/1dp7aeoKJEUp9q+owD1dnCDfpSvMl5Jb9HdRqTSOQayLlZ88VO8AygAUB9RMIiIgA/bvuj3dvnaRiwkAOgBEuZxcD5pt3bVSlfC6qyBkHOD5kEcQMGK1/Z3TzRcPY7RrDtdSZ2xaXn7C4s8RMQ0c8lUCruFjuRTWTiv94gqU6hgAxSiUwCPJg5EM26Pdgq2FO2rxB9sAB3YgZZYggYdAtO87Wq0r2pdWp/5C5GDgnPPAgnHqtz6tUjV0d2TaycUk1paX7SdQtGqdgWZMJ2TZABQWct4r3RXI1QI2AA9OeAHyAvjmhv8A3LK+oU7eIanAv1LMG8AHbqVS7f7dFjVncTxqTDdA7nzJz6Kcz3SXX1sq9Fp++dEX+dtWuJBu5ZSFfXri8e6O0T9oClUcyaCqrRfwTUOmdMoiJSgYPQQze3Hu+N5UFSpDEF/PjxydTLXtO4tRKFGcdJDYu7fDNWWiaAuFzpm4lG9PfVJtdaUjVIaNsblkDx0qi3kwMdcI5Z2mgkJ3wFKPmJh9REoAAc6u4d1zuK9tVEf+CWoPxLxPw9I+ao7X2yLa3r05yxrR0luAYjwx9RUunOq2rbbtOo7tvvX3Z6+3KayXZtXDNSrKNDqKlAAMcRmCisDc4nMgIgHiJhNxzxxnuO64VbgVjDGOWH71PpdrXVKjKjGcdMuv7OPFUpj122BL9YbzHtaevHzc/e4y4RtSfvGZXyzWJViDARZVFRVsk4WLGmEpPcEv8oGMHI+OKp3ZOW6UrzT/AMcDBuLESc9fWW6BUKPbEYbZUszLGctR5ODEjy9IfzU6a9X9Pst8ueyrbr5tUu23cCSBVc81b2PEhvVcCfrP/XMmBUhU559soF+HPPsd1RFya+j1M2X781PPa92bf2NcdLvmf2Kiy3Xa/wAb1lojJenuH8zXr5JXCSqLB6zM+SaSp5jlNFVZRNsq4SLJFExPcAvPkBTDwHl4o92ThudW80/8kNHiANLH/wBA/UqhcdsRntlO0EsactQ5OdTjp6i3kpfA9adN6ftd93RS9C7Iirlb0wezMhKr1RtHtgboiZQ4qGmeGyKinKzg/qAm5MPwDjJa91wo1pVRDGWeH71Pr9rXValGlOcdMcs/2LcbtoxraNLaX3FrxNjeICk1VKAfJU560kk3LP2EW7g8e4IcEXXsrNvHgDl8uPwEOMxbR3ZVtby4rSHpuCTIDgXMgR0cjoSt/eO16d5aUKUT6qAAiTxDMQerA9QtCieo/WmZj3ureoWu7FDvre+I9tkpKwz2HYsvIw+6KhpTgyhyFMbwRQKKXIjwJQERzfpd3xtKdT6eIE5OzPmeJflwA4qUO1K93Uh9WfRAjiC4GLYc+Lqp9qutjCL2wx23PVyRternlUQp9lYxCBHbtFu2A5CKC1OJRcJGKqYDlKPkH4FHkcndv9zSsLepbTD05l+hZi/gQz9AqvcXbf11anc0y1SAbqHcY8wcupUphdGdRdemrFT05Dn1517ibSzl5O0XdM9bjzPvfK4SbIDYFE3Lh0sokBQ8gAAAPlEfEAzZr91CFjO2oRA9wEFnZjnni5GHRadl2xVqXkLq6zplwMHcZZYMM+qofaLrDF3+57Nqu1NXWq7a32CZq6byVSWhjHSFOJZx4+4STetDouEFWZVEjFAxfgPPPIBrW3c+jboWcouIuPIyMuYxBJ+S2b/turUv5XdKQBkxxfgAOAOBAXg0zr/V2ntp6gokRSn2r6jAPV2cIN+lK8yXklv0d1GpNI5BrIuVnzxU7wDKABQH1EwiIiAD9u+6Pd2+dpGLCQA6AES5nFwPmm3dtVKV8LqrIGQc4PmQRxAwYrCb36YU/ZsLaNO7507ebXAPbzIWqOnKe5ghTOm7l1pRM6aj6QaroqmIuZFUok/lEwAIgIGz3W7qFa1p0KkMIRjH/aAARjxAx81iPbFeld1K9CcfXKRxf+IuRkcjkqD19iqXC9oI2GSrga6eFoUnEQdctEjBITMgms4ZKCMfGRz50odq2SYD5qegF4AAD4iGvvHcpvbONtpYCQl8AQAPifktrY+3ZWVzKvOQMjFsPEgkl25KTT3SXX1sq9Fp++dEX+dtWuJBu5ZSFfXri8e6O0T9oClUcyaCqrRfwTUOmdMoiJSgYPQQzf3Hu+N5UFSpDEF/PjxydTbXtO4tRKFGcdJDYu7fDNU7VuuKrtiW3FqdZm3qNps1MjIkKlMSUQ4sSbVEXxheu46NduhQbGO/IVMxzfP6/AOOdDdu6Kt3OhOA0yokyB/1ExPy0hVdm7bhaUq0KjH3QxAyZiPm5UzQ689aGkhCTHYbV9vcdlqSn9HALx0K8k0nJgEfBRo9amBqYvl85RdCQSGERAAH1y3c94UbmvGvOAEhzdwfBsCOT/Jc9R7Su7ambekXpni4Djx4u2bKp1zqdemfU61x6cCBrxZrXFXIKsZyimr7UXIsnRGorm4S98yLT8R8QOIF8vEPLJFTuyrPd430g4gDEDlExMfj6ieqv0u16VPaZWIP5jqJ/wBTiXwwA6LQ2vV/T7LfLnsq26+bVLtt3AkgVXPNW9jxIb1XAn6z/wBcyYFSFTnn2ygX4c85h3VEXJr6PUzZfvzU09r3Zt/Y1x0u+Z/YqLLddr/G9ZaIyXp7h/M16+SVwkqiweszPkmkqeY5TRVWUTbKuEiyRRMT3ALz5AUw8B5eKPdk4bnVvNP/ACQ0eIA0sf8A0D9SqFx2xGe2U7QSxpy1Dk51OOnqLeSmtP6r6s1zfLrtDWfX3ZzXZN6Omo/WdnqybUipE+OCCWYN7CaywiqsIAPkcfIfgABkte64Ua0qohjLPD96n1+1rqtSjSnOOmOWf7Fv25+q1ogtd6itxYVaaktdVdCuTkJDnTVcfTHatyLC0Fb2yrCkdAOCiJfMPX4gAZi2juyra3lxWkPTcEmQHAuZAjo5HQlb+8dr07y0oUon1UABEniGYg9WB6hS+J6j9aZmPe6t6ha7sUO+t74j22SkrDPYdiy8jD7oqGlODKHIUxvBFAopciPAlARHN+l3fG0p1Pp4gTk7M+Z4l+XADipQ7Ur3dSH1Z9ECOILgYthz4urL2P0KK20zzFi13NbB1fL0CPp7tCBUjDrkFiu/80nLeTdMwFFZJ76GKYfXkBAPQRlbR3KbOylamLgyMviACDl+kfNV977dleXUbinICQiBi/Akghn5rke1/dBqzdmx3R26ldhNWl7sKrehVimy1igGMFEpGAqAuP23IRyj1YxFCKOTuDKfObxSTKUo89vuPb9rtEKVFo6iAJSMYzJlg/5gREDIaWLYkk5c/Y9019xqVZUh6YEtiRgMBkcSWJ+XW9aK7nbyHQW/KnaXbqS2DrGqSFlpVnfopFdvI9xHvFWJXhSEKmq5ZuGpiGU8A9wngJg8hMIyd+7Vtrfc7IQYU7iURKIOAIlESbixEgfAu2DKlsfdUrywuakg06AJ6jSSD8iPJQvcX3GKRQAt2lmLDZxezZCMWWum7m9XlZGzKzAmbtpBIEJNummk3UATuExKUpfESlH+GC7sqlKtKl7cBNxpGini+Ten4rLa737tKNUT9GLnHBs/3LpX7MWsktO6Iu2vFXq81PNNiKu5iyPRVUey8nI16Gk37lws4/OVH6tyqUhlBE3gBQER45yB3NtIsKtGH8UqYlLrrmOmQGSsbDuo3CjOoMhMxHRgfxXYWc0riYRMImETCJhEwi/n93D7tRmj9+Wt5uZG6OdTRN3iaio/rVlsEI1r0a9r0Q9I+ctoNy0BwQ718sCihjCcoeBQAQ4DP0C02wU9rt7iMIkVH1ExjJjrlEfmBwYDJchc72fr6tsC0oMwxx9Ilw44qV9QbUj2S+4tR+26S9gdarLYpmjawirLKTkyBYclbl1386mafcvDJKvXjNIqQkEggkAgIDyA5iu9mM9ur3c4xAgBoYRi/rjEn0gO4JZ16tt+BvqVq7yk+rPD0kt8sVtu2fuC0TU+0XTrs8N7b0mWulygy2yItVpjIqJPBTMi1j2B46EdtEi++zZkEihQMZRTy8vxHN2ttcbahQkIQEJ04S1GMJYygJFzIE5kt8AteG+yrVq0In1U5yDY5CRDj8V4vtaPJqz9xJbttscJkZ6/66sD+KirG/k5Z1XKvEykKaIZpuplZ0uVRwm6WXcAVTxEwl+UogIZK3jZzS2z6upERlKpEBgB6TGZyiwf0jgt7bN8jcX0raJfTAknxBA49Vq9r+6DVm7Njujt1K7CatL3YVW9CrFNlrFAMYKJSMBUBcftuQjlHqxiKEUcncGU+c3ikmUpR567ce37XaIUqLR1EASkYxmTLB/zAiIGQ0sWxJJy5ux7pr7jUqypD0wJbEjAYDI4ksT8uvRXV3vXsKtaw3Ix3SD+yOdTxR7VAyzgiaT+XhF0HKjdq5FIhSHdoKtTpCqBQE5BIYweYmEYXdHadOhe2sLdoi5Ii3CM3ALeB1AtwxAwZV+3O6ReWtepVDGg5PjFiQfkR5Lnkv3AoOMsdTpPZ60bKU7UbDIo/jVqnMWGFgoQztQyTVo3jYp+gwVRROXwTO6QcHUMAmWHxEADoL/ZbKyu4WdOMNJYB4RkZcHlIjUDI8IkAcGzUSx7ou7u0ndAYRc5kMM2AdiwbE5/JXqifcS3NC/b+uuzriwQluxlIny0Ro5VQBu1l379VslFyK7duJQIUU3qZ3JExAvkRTw8Q4AIN92dRHcdKxpyalWAnm5jFiZAE8tMhF/B3Vmy7ujU2OpuE4+qm4I5yBAHxcfFQj/OWuI3/wDx3Letrq93hrwzI240pMliRf8AsC/8QgAefoJUwJ8EfoRJ7fyioKnzZe/xNidw+j0QEP06Y5f/AGN7jti+rP4KN/2a8Fh9Wz/HP+V2Z8Ps66AsPc3ZG0um2q9kyjV1FW+yW97WbnHwT55EmXdw0NOKqItnrURdNUHT+NREDkN5gkbgREBHnn7btmFHebu0i0/ahqg7F3MGd8H0z4hn4K7W7mjLa7e8/KKsgD4YSf5xZcl7Z7ZUbvpUIXq3qVxs2rT084el3IjJ266vl63BRjgWzyPVTdySzdReQUAEk+UzF8BHyKHI8Y6W3VLuYowhAH+L0UwYgHmIgueCV99FtTNWcvT/AA54v+A4rpLYvZrY2ueq3W/ROoTHqkjdqJEv7BNQjVAV4mEjIliDlCOTUIZJFy5VcETIoJDe2TzMUomAohubB2rbXG5XokAadtIiMScCTKQi/EgCJJD4lgSzrBvvdMrOxtpj89cA82DAyPzA8HdRyn/c/rDls+250+f7AeM6NY0m97rlyl7HPNJuKUMYFxb/ALkkJJRqqBEznbnbmSEDl8VExIPGVNv7ftN3hVpekSiCIkQjAiXD8oGoHI6nLYhip173VcbfUpGrH0zIfEnA555EO+CvH3BO4DzTWxZGwTEfbp3VtfoVcsww9QnpeBcFSlpGZSkX5zw6zY7kW6DJAQSUUApS+Zg4HnOX2bbNW0yuowEiKkgXEZMBGBDCQP6i7fguh3TefZ3CNsZadUARniSZBsOi5oPtGo9ye3FI21reQssl1h1nsGoNq2hPTdlmmNis0nOsGr16CM+7dplTjWTo5EzAUpgWHyAwhyGbcNl+qp1qhjH26dOZBEYxeQgZD8oBIBAWrLuD2qtKlI+upOIbHAEt8Vee4fdqM0fvy1vNzI3RzqaJu8TUVH9astghGtejXteiHpHzltBuWgOCHevlgUUMYTlDwKACHAZ4tNsFPa7e4jCJFR9RMYyY65RH5gcGAyWS53s/X1bYFpQZhjj6RLhxxUr6g2pHsl9xaj9t0l7A61WWxTNG1hFWWUnJkCw5K3Lrv51M0+5eGSVevGaRUhIJBBIBAQHkBzFd7MZ7dXu5xiBADQwjF/XGJPpAdwSzr1bb8DfUrV3lJ9WeHpJb5YrbdsfcHoupdpOnXZw17b0mWulygy2yHtdpjIqJPBTMi1j2B46EeNEi++zZkEihQMZRTy8vxHN2ttcbahQkIQEJ04S1GMJYygJFzIE5kt8AteG+yrVq0In1U5yDY5CRDj8V5ftWKWG69zZPtXfizJ7RsTXs+7homxv5OVdV2sxktCDDM03Uys6XKo5I6WWcAVTxExi/KUQEMlbxs5pbZ9XUiIylUiAwA9JjM5RYP6RwW9tm+RuL6VtEvpgST4ggceq1l79zjXesa/HueySGyjXOd1+hcYmYj7lcWrKfm1EETOYhoyi3zZBosVwuBU0yE9sE+B5D8be8bXGxuZ0RCAgH0+iBcAszmJL9Spm3b/K7oipGWL4jHDx6LcftqTU91cp+/ewm3gf2Dbbulwmzrad44dvHpXxhnykhkXckddydFq2aN0SAdQ4AfyEB4HJO59tzj9JAgRq3FSUSzADGmBgMAxkclR23uKlXFxN/7dGIL+DSJ/8A0rTA+4BAxtkqdK7P2fZKvanYRFH8YvVJiwwsHCGdqGSatG8bFP0GKqKJy+CZ3SDg6hgEyw+IgAdZf7LZWV3CzpxhpLAPCMjLg8pEagZHhEgDg2a5mx7ou7u0ndAYRc5kMM2AdiwbE5/JXuifcS3NC/b+uuzriwQluxlIny0Ro5VQBu1l379VslFyK7duJQIUU3qZ3JExAvkRTw8Q4AIN92dRHcdKxpyalWAnm5jFiZAE8tMhF/B3Vmy7ujU2OpuE4+qm4I5yBAHxcfFQj/OWuI3/APx3Letrq93hrwzI240pMliRf+wL/wAQgAefoJUwJ8EfoRJ7fyioKnzZe/xNidw+j0QEP06Y5f8A2N7jti+rP4KN/wBmvBYfVs/xz/ldmfD7OrvsL7iG5pLoFSNkVNk3hex96sI0F07TbfVNYd+xUcpykki2XNwoUqbJRRsmoYQ8jJgfyDnmDt/Z1GXcVWxnLVSogzzYyiwMQ4yfVESI8WVm+7tFPY6d/ENKowAzaRcHqzE+LKCh9wKEeWS10Dq7Ztln7Ta/Ik9k3NwmbDMQ02dqoRF03cR0m+Wj0kljm8FBatm5iCPkiIAHGXrHZbG9u52lSMBGLg6YRiY8HjIDUTE/qJfi+ajXvdN3aWsLrS4k3El+oyDjll8l0L2o707BsutdNwumzyFVe7aigtE/Mtkkl5GHhGyDdRy1ae8QyZHi6roiJVTEN7ZQOYCiYC8QO1u06de8uo12kLY6WdhKbkB+OkaSW44B2dWu4+6RZ2tCdLOuxGGUWBJ6sQPB3XPFP+5/WHLZ9tzp8/2A8Z0axpN73XLlL2OeaTcUoYwLi3/ckhJKNVQImc7c7cyQgcviomJB4y3t/b9pu8KtL0iUQREiEYES4flA1A5HU5bEMVKve6rjb6lI1Y+mZD4k4HPPIh3wV4+4H3AeaZ2NI2GXj7fOaur9CrlmGHqE9LwLgqUtIzKUi/OeHWbHci3QZICCSigFKXzMHA85y+zbZq2mV1GAkRUkC4jJgIwIYSB/UXb8F0O6bz7O4RtjLTqgCM8STINh0WYiutjzTKZ9c3PUI7JqEa+NIVCZilYo6jdTzEyP1KEuZP2FU/Lj3kjGH8QKHwzF/wBwr1KcI1Q8oAB2BdsAcWYt8c1o1u0BCrKVvIRjMkkYhnxIwzD8PJb1q/qXaZHXWx3l1bR0Dd9iwLiCSi0Dnet41qZsqiiVdQAS98/kqIqCUCgIcAHw5GZf9x3Nzd0rjI0iDEciC7+Zz+Cs7f2/b21rUoZ+6+o83DfctXW647deWivXiy6R1rLbFqrR0xiJ/wDdzxI6QPEyIuTpENBmEoKlJ6AYREoCIAPqPOzV7qr1KoqGOIdscn8lMh2kIQMI1Wicxp5eatXVvVdy1nXJ59fWsRH2WyWFScUi4RZV02ZJ/RNWKSIuFkkDLKeLUDGP7ZQ9eAD05GVu27VdwqxqVP4YiI6OT95KvbTtdOwomnAu5cnxwH3AKn5LVNMImETCJhEwiYRcy7t6z7Enr1e/p6LTL/rDYBEjP2k3MuoZwh/4W3il0FATj3pVSnK3KYhymKYvw45ADD0Vv3JXpWcbVnhFwOhJLZHiSuavu26de6NzGemRZ8HxAABzHABejT/XnZ7LYlKeSlHpdC1vRgVOyawcw5l11Q/S14pu3RKePYkQTTIuImMImEQDgA9eQ+3XclxWtJWzNGTA9AQQMhxASw7bp290LiU9Ug7YNiQQTmeBK1nYnUO/TTWza2s2sKBsXVszanlmbLS8+7iVR+qlTS5El25Yx2HmksYQExVODh8QABEue5dz150IUZgEQiI+UcBw5ALFU7Xh9RKtSqGBkScnxOeLjmt905o/Z7varjYmzK3WKpCI1d9W2sZBya8uu4GRXaqqqqLKMmJEkyFagUCAUwiI88hxwODc+4bi9txQn+US1eYBA5cytrae36VjVNUS1SIbJsHBPE8gpfFdbHmmUz65ueoR2TUI18aQqEzFKxR1G6nmJkfqUJcyfsKp+XHvJGMP4gUPhlT/ALhXqU4Rqh5QADsC7YA4sxb45qRW7QEKspW8hGMySRiGfEjDMPw8l6uutS1Zsu67g0VZ3rNtviRgmje11SGI+do12NeJCdik5khbJtDu1QVE/gUwG4D0JwURyPuu/XF7XhVJb2/y+GLv1f8ABXdq2OhZUJUgH1/m8cGboy80Jpi00CPaVW6aRLcNjwBDtKxb4t1ElZCmoX2xUMrIf7tiJigHmVIqnP8AEcuVO86tWYqTj6x4A48WOYfliy50dm+09OlNqZ4F3b7i3kvrROq9T9ievuzdNU2ej5HZrO4mLbFI1rIfpMXY2QkUTYJuXCSKbv6cEilWFE4+o8j4+QBkSv3Bd1Nwjeu04kNyAGQ6NnzcroqOw2sLA2RDwkC/iTmer5csF9o6xuhGwMT6ITNvsrT9F/eP10T+lC15/n+s8f1D2vL5vY9njn+r8ctnvGZq+7px5MPhqzbyXPDs6YHt+4Pb8/uy+a3mV6iW6r6AptMoqcJMXWqWU1pdMZZRdmykFnTZ43dpJrJEcnb/AP6wwpmEhwAA4H48hHte4rqjeVLol51ARLoSDhyYgN4Bleu9gtq1lC1HpjTYx8CAR54ErU4/rlt2FnbLaKfpHWsNd7eZA03NFtzxQyyrZv8ASoKKkLBlEwJF9fEohyIiPxERzao91V6dQzEcTnjn8lMn2kJxEJVXiMhp/etk251EtCOvtbSdKbx07ftbwiEMeNWOdm3kmoNkkVyIqcK+wYTJAKYmAwAHoPx5DBt3clza3dWvn7z6xzcu/UHLzHFUdy7et7u1p0cvabSc2YM3Qj8CpFvqH1tTNXSNiu+ukNLaPI7QkL9bp40eYxlXDhNAxWjSvg5WduFzmKQqhuD8iA+A/DN+Xd1aFOcaWBm+LAM+ZwJcspVv2kDVjK4kJCBBAxOWIz4PwVo2Zp69T96j9waorNct9LmKTGQS0RaHb2BdIpNTuXKCggtHujCU6b0SnRVSIcgh6/EQCbtvcNxZ2xt4h4mWrzIAPPMAKnu3b1K9rCtq0yAbJ8ASRxHElaprjqZsWEjqlq6uazoWvNT12ej5gysXYHkuqRJhIklDJINzxjTlVZUnqodX5eRNwPwHOO57iNvOjAMJRMeglgeHEErXpdrw+pjXqVNRiQcmxGXErNbt6z7Enr1e/p6LTL/rDYBEjP2k3MuoZwh/4W3il0FATj3pVSnK3KYhymKYvw45ADDjt+5K9Kzjas8IuB0JJbI8SVkvu26de6NzGemRZ8HxAABzHABejT/XnZ7LYlKeSlHpdC1vRgVOyawcw5l11Q/S14pu3RKePYkQTTIuImMImEQDgA9eQ+3XclxWtJWzNGTA9AQQMhxASw7bp290LiU9Ug7YNiQQTmeBK1nYnUO/TTWza2s2sKBsXVszanlmbLS8+7iVR+qlTS5El25Yx2HmksYQExVODh8QABEue5dz150IUZgEQiI+UcBw5ALFU7Xh9RKtSqGBkScnxOeLjmqBpLS+1S7ePs/YldrFSi2laeV9lGwUmvLLrnfuWq6ip1lGTEiSZCtAACAUwiI88hxwODc+4bi9txQn+US1eYBA5cytrae36VjVNUS1SIbJsHBPE8gpgn1C2gxrlXo9v1Fre6p0WRbv65OubK8jzC4ZJmRbOgamiHApHAhuRIKhygYOeR4Ac3Lru25uJidSIJBfz55KfT7RhScUqhjEhmbhyd1kNIsKZt7aG5+vtyVgI3ay9YiIqw1SrHk5QkMzOR2s3UeSyzBo0Fw4F6Jk0C/OUpREQH18dHcu4Lm8NInD2iSOblsfkPgqm17DRsoVI/m9zA4YEB8G8ysZCaYtNAj2lVumkS3DY8AQ7SsW+LdRJWQpqF9sVDKyH+7YiYoB5lSKpz/EctVO86tWYqTj6x4A48WOYfliy58dm+09OlNqZ4F3b7i3kvrROq9T9ievuzdNU2ej5HZrO4mLbFI1rIfpMXY2QkUTYJuXCSKbv6cEilWFE4+o8j4+QBkSv3Bd1Nwjeu04kNyAGQ6NnzcroqOw2sLA2RDwkC/iTmer5csF/o63trNgKLzRSJd5pMhiD3U8hEFiAZl9RVM+Ev14IgPzij7PH/xfjls94zNX3dOPJh8NWbeS54dnTA9v3B7fn92XzTWeotX9nOk9ce9a51lZlK5ZXcvHy6rORYxcjLIrnK+TQF4kkc7YTnOmRVPzIAh6CbxEMiWvcF3R3A3rvOT6uRBzH7OTBdBdbDa1rAWbNCIDeBGR/bzxX+v9P2q6s3NcpukCVHZs6QjSy26VdRJmIETL7YKlUYcu33iXnwKoVPj+IZaj3jVpzlUpj1HwGfBzxbyfwUCPZxm0K03pjgH/ABwD+a3bdfUCSbVCgymrGjaYsuu2IxiMVIrC3LIsVCFBZMq5SnBNUTEASmEoh8QEPXkI2z7/AHFhXnUB1CoPUOeLv1B/EcVe3jYqF/RhTPpNMvE8sGbo34clpLvrq+26mGvqTqAdbViUeFfW6blVYkh1lDGAVxbIRBlBcLKAHALqmKIfESj8MqS7urQpzjSwM3xYBnzOBLllHt+0gasZXEhIQIIGJyxGfB+Co+6NDbIJtRLYOu6zVrfXXVTZVZ9ET8kvFKohHrulU1CKkZPiKpHI7MUxBKUQEOeRAeAm7b3DcWdsbeIeJlq8yADzzACp7t29SvawratMgGyfAEkcRxJX87bp3JeQELCbx7NarU29sHZlrOm0TlmDOZZ1ZoY/DSPim75u4SaiimoBfFIpVF1AOdRQRAOP1HdbCjtMKNC2MhFgCYEgyLB5SI/M5yBwAwDceH23frrcalaoWiIkkCQyALADllj4n4dp/bE2ZtA9u2FoK7rvnlHry7Kbpq0ouo6dMmEkZcisYK6wmUUSaqIeSPmYTFIoBORKUvHJd/7Ta2s6FaiwNSJ1AYYxb1Nw1PjzIJzJXR9l73cX9KtCsMacgx5gh26j7mXX2fni7ZMImETCJhEwiYRMImETCJhEwi/N4sZuzVXJ/ORIxw5/iBRHCL+O9g7k/wBi6vWTbS0nV7vJXekMz1azqwDORlJa9rt0fcZyizsqpjg5WVFUqoCA+PJQKPA8fru+2tazu5U4TkIEkQEZSDYsIsMBgvzjat6N3QEyWkMZO2XMKqdHdbWnqx1r7Gx1eMdjtFxqhC6TUi0STaAa2vUbOdw4akbeJEk0gIgkl4FKAAmA8AIjk292WFG526NYicqtYiZzcaqWBfPM/Fb1j3BO4oXlSAIFKDxfpM/gFMd49ml6pY53qrBaLpJNxXBBu21FZm1ajlklmbsDpvnr9VyksYrmLIAqHHk3mIAYQAB9c15QvKdwaIqS1S/KRKTePRlgtN4jUoCsX0x/MCA/h8eCsehZKy9GPtr7RpXXZM7Oahb0xrVYdvEkxUbO5uFr6TyTOkYTpiYrpy4d+A8k5+Xjx9Mxz7ctpb5ZWlQ+mdPVM/qaVQ55vIREeayU+5ao2a5vRHGnIiI8ot5Al+ij/wDeWnpbf/xLbasmR28NT/WP73qFIa0meiiLr6w1gBL9Q8vdHj3QXAoH/KBMCfLnS6Yf5P6Yv7Wen/8AE3LR+Vmw6+OK57/L3g236kEa8uGp+b/Pp8Ff9jduezFq+3Xr5oL91G7tuFsPr+z2iJFNq9Izi1HRXb9oYpRIg5fotCgU5C/lmV8iAAlDiBtvbVh/2ivblpUaUTOMTiDhEiJ5iJliOIiX4q3uHc9zHt2leRiRVq6Y4cCSQSPgW6hc9tuwMdbLtetQ6C1c51hubXSTd7G7QjGbdpIPXLYxSkNIPiogu+TcfE5HSqxXKfkY/r650G3UaV3fTtrgynTGBEiTFj+kZRPGJizcGyUTcN7vbWyhc0yNUsW44czx5FdKdpd37O2prbT15bVSDn7PP6un7UNKsLf6yGVsSR68CRF0VTgURTKs5SSObnwE/P8AHOT2LaDH6+FGfrpVIxjJ2cPUfEc9IXUbzvvtC0lIERqxJI4jCH3aiuM7xfal36jxv9S1bHUTXmqa68lpFJhBR8a5cbGTZKCg1Mq3SSVM2iDgCvqIeRxKBiCA+lHZ9vqbhdQFWcjSjIahIkueIY8gtDc99lZUS2M5ZNwHPzXZf3EN2XyV7Gx2rn7GSlNEVGkBeZyrRYjxZ5NcV/YZu0Q4F01bkbeX0ph9tVRQvuAYCgXNfsrabeW2V7yX/KJaY84gREiY8pSdgcwxZs177s32vb31C1pjCQ1E8DjpAPgMz5KGdU+4E/PT2u+xWgNfDq2kPrgnTbfR41s2joaXjXjpNoLsGbJBs3O4anWBVNyVIqgeB0hExBEMpVLG33HZritXJM4RMomRJkDHFhI4kSGDZPjmFpQ3y7td3o2+EoTIBYc8i3MH5Leu+nZSzp9gtmWfZdYd3nRGp4ttHwmuvbTcxco+dNUXLuSkGKxFEnZifUe0mKxDkQKQ5yk8x8g19h22hbbALyB/vTMiSPzAROkRic45apNiQQ+AZZt5324lvf0UMIRiM8iZB3PNhgPF/L76Edk7k835ra2a5rDikaC2nFuI6a177SbWNjHzduu5aSLFmgRJFsY4t/bOKJCFWIoQ5y+RQHPO/wC221xsJvJE+9AxIJ/MRI6TEk4y/UHyALYFfdl3y6G9fRTD0zE4jIEB38MMD4sp/wBpu4UtEz+xuyG/dfqbTqMZc1aTT6PJN20hBw0aydnaA8+ieIOW5XTpREVTujpGU+YiRRIT0HchYUdt2W3q0SROcRKRiSJEyxYyGIjEYaRg+Jxy15b5c3e717cemFMmIcYenMtzJ+WXjeft37q2NH9hZHXLdg/i9D26lfvWCrEjyUKzJN/p/eaNUREfpW7hNxyLYo+2mombwAvkYMld67VbR22hdx/5TLTLnIEGQMucosxOZcO7Bb/ae+3NzfV7WqPTEPE8M2I6HMea5lsHcn+xdXrJtpaTq93krvSGZ6tZ1YBnIykte126PuM5RZ2VUxwcrKiqVUBAfHkoFHgeN7fbWtZ3cqcJyECSICMpBsWEWGAwWDat6N3QEyWkMZO2XMKqdHdbWnqx1r7Gx1eMdjtFxqhC6TUi0STaAa2vUbOdw4akbeJEk0gIgkl4FKAAmA8AIjk292WFG526NYicqtYiZzcaqWBfPM/Fb1j3BO4oXlSAIFKDxfpM/gFMd49ml6pY53qrBaLpJNxXBBu21FZm1ajlklmbsDpvnr9VyksYrmLIAqHHk3mIAYQAB9c15QvKdwaIqS1S/KRKTePRlgtN4jUoCsX0x/MCA/h8eCs/Xeks+tn27b7p/XyLpOlwu3KnDewoX213jKSPUv1oFCkPwAPjruhOQDePCglDgPQPn+FpUt7taDgk0ZyJ5yAqkHqGj8F7h3BVqbRXumI01BEDwJgG/wDYrn/au5XW+XUt0DDS9PqW9JGZMjNWmvViMI2b0PxIqpLMlVUjHI5clH6cpPIfE5hDyA3w8StrypWNsashJ8Tqk2nn55Mg3mMKH1GJg2TB9XL8V0RLbA2BpP7Z9A0poU76toTuw56gtH8cp7T+GrLKwTCgEarH9wU3AtGxGyavqYgn8wHyABzY27t+zqdy1KNQA06VKM2OUpaIZ8xqlqI4sXWHcO5Lil2/C6gD7lSekHk8pB/BgMPFlDm3YGOtl2vWodBauc6w3NrpJu9jdoRjNu0kHrlsYpSGkHxUQXfJuPicjpVYrlPyMf19cvbdRpXd9O2uDKdMYESJMWP6RlE8YmLNwbJRdw3u9tbKFzTI1SxbjhzPHkV0j2v7Nbg3FrTRNMZkfwUNsSDG3bCQg3KrN0siyQbeUMm5SMCqSLhw4N7opmKcyaYk8gAw5znaHb9qb69MyJfTnTB8Q5lIa2yLCOD4AkFle7p7jr29pbGlEg12J5gACRHUu3R1zTQ+4spZYua3H1d1SOorzrW2EI7Rio5nDNLM0IY31TCSQYN2ybkVkyCUSqlOdA5iHIcDZe2yxobrCtRuZSIAIBmSTE8JRJ/K3EDAjAuFG3Dfrzb6lGUGkJEOIjgSxGGeeHiujfuK7fvEDtGUudcokFshCD1pWLFH1WyMiv0CoupKdPLGZpqgcqbxRBFDxN4GEwJgXj1DOU2CyqHZpV6JaYqyBYkEgRgQHHJzgul3nd/Y3ONvJxEwBfkTKQx+AVqgOvO9tCuZCralhKXbdauVVVogk+6dxb2LFUwmBM52yDkjlEnPyh4kNx8TD8c5+n3PeClGEiTpDAuxYZA4F2yC27rtW2qVZVIHRqLkM4c5tkz5qg9a9Ay+qDzF1vbli82fY1EzyR4tEUGTZFHn2mzchzHP7ZBMI+RzCYREfXjgAl7juVe9qa6pdgw8B9sVZ2/bqNlS9ukMy5PElVXNBb6YRMImETCJhEwiYRMImETCJhF8rJEXROgf+Q5RIP8AwEOMIubofqf2Ip0JG0uuTusJWpV9cqtfcWipvHMih7JDpIKHUbSyCXvppnEnuJpl5DngA54y7V7jvapEpyc88fjnmuc/6vZgnTqiDwBDdMsltVM6vW5xXL4327PxryyXuDJXVjVqMGOZR7NJF0kQUUnbh4dRUTOznMKhxL6AAFAOede53q7rTpzlLGmXj4FwX64D4Bb1ns1rbU504hxPCT8Rk3DDE/Fa+366dq2Sser+t6gfSES3UaR0o/p8kZ6RJYpCKiByTQAQyoJl9zw4AeMz1O4byc9ZIfz/AGrQHa1oAwM26j9iz0X1FVl9JWfWu0JhtJWi2Sxp17IRTIrJqzeERbotgaN1VHAgRAGpBD3DmEw88+ggAatfd7qrcRrmTTg2kjg2Ibzx81St9ptqVtK3EXhJ3B4vgX8sFqaWpe3aVWDWH6LrcQL/ALULuK0h7v03Hj5/pXh4+/x68/U+PP8ATx6ZXPdl2Za+PXD4Z/NQx2hbCTajp5cfj+5bRael9ekOvsTqCvPhb2SAeBNRcy4RTU5lBMZRVZVIAKUSrGOYDlDj0H5ePTiNb7pc0br6mMj7jkk83zfwKv3G2W1a1+mlH+2wAHJsm6LV5fTPanZECjrazQuv61DmD6eWtMQ4evXbhD4CLRk5SIm2UMH4nUVAP4ZXPdV4HMCQT4u3TD4YlQqfaNsJes6o8mb4n/wtz2N1jnzs6Y50jKxENMUqNcwrNrYI48nHuWLsrYDkUIi5aKlUIZqQxTFU4+ICA+ghKsd2ubQTFOWE2fxbI9cT8SrW4bTb3kYioPy5EZh8/uHwWoyXVHsTaoF9RZ2e1hEUyaXWVmlatU3jV+p9WfzdKJHcyy6ILrcjyodM3qPIgObdLuK9pl4SY+fxzzU4dr2eoGWqTcCQ3TLJbNv3rha7BfYzdmnjQ47DjmRYt3GWBNQzGSZEN5ETOogIKpHIIj4nLyHr6lH04wbZvNxY6o0z6Z5jpkRyIW7uuzW9+ImphKLseT5jpl8Fhorr5trbOw4m0bpiqrWKNBO0pFrAV1w4kl3jtEfJI7l65RbgCZDgBgIRIB5AOTCHpme77guq9A0XIjLPFyfDhgtTbu3be1qiqTqmMsGb969m0eumwoLcbreWkWtelXcwRIlirdjMs2RdHRKBCroPGxVDoq+AAUfIhyiAfAB5EfG377c2lE0Yn0Eu3I+HXB1l3TYLe9qCqfTMBn5jx6Yt1X3q/r5sWd2203TuxrXohaHKqFfrVcMs5SbqKkFMy7h45KmdZUCCJQ8UyFABH0EeBD5uG+XN3SFKR9ALtzPj04L7tmxULKRqDGZDP4eCxkl102tqPZMxb9JRVWs1IsLtSRe1+wuHEas0eLfMoo2eNkXACQ5h8jEOkI8/AwB6ZmtO4rqjbig5MY5YsR4ccOK19w7at7msaw9M5Z4ODwdubLYdD9eLdCXiR3LuE0MS+vmJotlFV8ihWMazUMBjkKquIqrKKCAeZzcB6BwUvrzqblu9xe6RUPpjkOuZ6re2zaKFiDoxlLM82/BapD9T+xFOhI2l1yd1hK1KvrlVr7i0VN45kUPZIdJBQ6jaWQS99NM4k9xNMvIc8AHPGbNXuO9qkSnJzzx+Oea0f+r2YJ06og8AQ3TLJbVTOr1ucVy+N9uz8a8sl7gyV1Y1ajBjmUezSRdJEFFJ24eHUVEzs5zCocS+gABQDnnXud6u606c5Sxpl4+BcF+uA+AW9Z7Na21OdOIcTwk/EZNwwxPxWvt+unatkrHq/reoH0hEt1GkdKP6fJGekSWKQiogck0AEMqCZfc8OAHjM9TuG8nPWSH8/wBq0B2taAMDNuo/Ys2y6n2d1pCyUKy2VobY1ksDe0qzEfGFRYNHzJRkdqmiyVWVMZuT6EgGA6onNybgxfTxxS3y8ldRudXrgGHTFx0Ll+pW/T2a1haythH0SxPMnDHqGHwWIDQPbAJM04WV0yE8dmSOPIBUJUHJmyZzKlSFX9b8vADnEwF545ER4zJ/2C71anx8/wBq0P8Aq1ozapt1H7Fk7D03Cb69ReqnE0VbYENKL2NjYDNEyJBKuXaz1U30oGMBUDGXMQCeQmAn9Xl82YIbzdxvPqxL+5z8GZujYdFSntFrO0+lMf7f4u79Xx6rWpfTPanZECjrazQuv61DmD6eWtMQ4evXbhD4CLRk5SIm2UMH4nUVAP4ZTPdV4HMCQT4u3TD4YlRafaNsJes6o8mb4n/wtq3J1KRn6jUw1MsxjrrRUAbQAyaIuGazbwKRRs4KUxD+CniA+RTAYBD4/EBk7dutxZVTUpHEhj4jx88eqt7jtdC9pCnVGALg8QfDywWszGgd9bzXY1ba0JS6lrlA6Z5j9AdO5R7KAmYDCkQ7pBuRsipxwYPE5uPgYB9co1u5buVOUIkjUGOLljm2AzyUm07Xt6VQTmdWkuAzBxlzyW47W6/bMkdkobO0xN1yOkBgW1efRtpiFpNodFkuuu3VRM0eMlU1C/UHKYBMYohxwACA86NnvN1bUTSpy9JLt45fNh8AqO4bLbXkxOo4kAzjlyyPirFktVkwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLVK3vjR1zsilNp9zqkrb0hMCsVGy8e6eEEnPkBkEFjqB48evIemEW14RMImETCJhEwi1S0bQeRFuGh1GsWK2WtKOSlnzWBGJSBm1cLKt0FFlZmQjkuVTt1AIUhjG+UREAD1wi8TjcNjgXjEuwqBcqxBP5FrEpy8opW3DRN2+WK2bJqhDzL9cgKrHKmU3t+IGEORDnCLeMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMIp5u3XbTYGlza8lYtoxrrFumrEKMkytzRSzMAM3XYmRKQW6iAlASGT44+Hw9MIsn1/tkzedKVi2WFUi86+h26rtwmAFIsr4eJ1CgHoAHEPIOP44RbhhEwiYRMImEWj1d5CtOzNlQUmGUfOL1CAOLZwqmRQzdF9LgVQCn+JfNUwch+OEX32XfwJ6PGs5Gwxyvv2+tJtkAWSE6zgk+yWSTIBfUTGMn6AGEW64RMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRSCY1j202HBp672jsaKPrfx9iQVrsIEdMyTfjgUnDsXKySXkHoYzZFI38BDCKqQEFF1iEaV2ERI3h2TcjVsgmHBSJplApSgAfgABhF68ImETCJhEwi1DaGgdJ7rM1U21VoOwrMQMDNSVaIrqIgfjyKQ5yiYoG4DkAHgcIsRSOofWDW1kb3GiUOrxdpaCItX7RggVdETB4iZM/jyUeB45D14wio2ETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLX9rXomsdbTmwDtzOxiI1d8RoQfEy50yCJEwEeeBObgOf9cIptQtWqWmkEtO57JeHW4HqZnS7qBn5mGjo5RUOSIM42NcpM1EkA4AouU1Tn45OI88ARZ/rRfLvZ6/L1DZaxXl4q0qMS5lSpEQ/UW50SOWroySXBE1DpKACgF4L5gYSgACAARUrCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLB7LpDPZNAl6E/UOi0lmCrIyyQ8HT9wvAHKP4CUeBDCKbVXcm9tb1QdeXHUslZrszTK1Yz9fkY1KHkAKHiVZwL1ZNwz5+JilSW4/ARwi2bQGu7ZTYqWsuwTtv3/ZpMZeTbsROZs04TKgi2RMfgTFSSIACbgPI3JuA54Ai3/CJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMIvxfv2MUyVkpNZFtHIJmVXcLnKmmmQoeRjHOcQAoAAciIjhFr1H3XprZzxeO1rbaxYZBsHk5Qg5Ri/USDnx5OVqqoJfX09cItnwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRRXsDEBsfeNJ1ZPgk6oaLV3aXkI4Dybybtiu3SakcE+CqKJlRUFMwCUT+AiA8BhF7O4kLKTmsP32umhG3CmlNP16bIAEWYrtkxN4FUKBRBFYoCmqmI+JyCICA4RVKvSCkvAMZVYvgs6ZouDkH+kVEynEP+XOEXswiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwi0jcmnVNlljp6ty7uu7Kg1zOYOeZESUOgc5fE6aiS5TprIqB/OmcogPoPxABAi1uX1J2J28szh+xF0h3+umaiSy0HVYg0WWTOicDkF+s4dPFTF5KAmTSMmQ3wMUQ9MIqykkmgkVFIAKkQoFKUPgAAHABhF9YRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCKF9lO26+splSg6/RbuLWkmUXr9yHmk0McvkVMiYcAdXxEDCIj4l9A4MPIBiEjIlsAPt9vNe2AGP2+3lzXP77srvmQdGeLWqWIqb1ErdUG6f8AyTQAhA/5BmUYLwcVt2su6+0qtKpJXlYJ6sCYCrkWTSI7TJ+J0lkyk8jB8eFOQH4cl55D2DHiPt9v/K8EHguuq/PxNpg2lkg1gXh3zcjpsqXkPJNQoGDkB9QH19QH1AfQc+SiYlivsZAh1zp2B7ozMfNOaXqEySKbVQyDubUIRYx1SG8TFbEUAxAIAgICcwD5f08AACOCEjMOMuHj4/b9yzECOBGP3fv+zKQodkd7t3X1hLVMGU8vPxVXFRPn/wDLUAxOP9OOMyjBYzirl1v7hPLnMt6FtP2CzroxUY6VRIVIjhU3AFSWTJwQpzj6FMUAAR4DgB9RyiIkMMCPt9vs+MkxPMfd+77vu6DEQAOR+AZiWRco7t7r3F/PuIHUqyUfWmypkQkwTTWcPPERKJy+8U5U0hH1LwHlx6iIc+IY4PIOcBy/avcgI4cft9uPgpyl2N322VK+C0TIgJh8fcWE6QiHAiHgcBIPHPw4zIMF4OKtnWrt9NXGxN9e7R9g8o8H2o+WSIRH3FuOSpLJkApOT/ApigHrwAgIjzmUREhhmPn+8Z8m5NjjJMTzB+X7vt06IzEsiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLjG79V+xk9a5KyKwaa6sg+cPjmRfMePJdUyggAKLEN/V/DPMAREA5r1MufBdV6z1pWdZ0prUIRqgRIjchXqgEL5OlxIBVFVR9RMY4/x9AD0DgAAM9LyuOe01SrVK3ZLQtUSSbRQlQc/SIhwmgouiVU5Cl+BSiI+QFD0AB4AAAADPEZOT4H8AvUosB4j8Srjo2wy0D0skJpNQ6LllHzIx6oAICUfJYSGKIAPwVMPr/HPdZpRY8Q34fcvNMkSfxXN2oam0vOz4KpyAeUa9kkU3RfIxRMgBvNUoGL6gIkKIAIfjnqIc/H7l5lJgu6bRq6i26mGoMrGtQrIJe22QQTTTBqIFEpTocF4TOXn0EA/9QjnleiuA52Lf0+1PIUygllIqQWaiskIlEFWywp+RRAfT5i8h659hIxIPEJIAuOC7sGelLxoU9kjyf8AjsrUzukk0PIeHK7AT+JfHg3oc3AceuebiAIlGORdubcF9oSaUTLgQ/4rhzXTeuur/CNrcJC1dSVakkBUN4E+nMuUFPMwCHiXx55Hn0DMtKAlJuf38PiV4mSA672u1fo7jXz+CtTZoSiIxxyuETEIRFBuinyBiAAABPbAoCQS8CUQAQ4EAzDOQhEkr3EajguDNZpvFdk19KMEwSBpxiVuIeggoLpMCD/p65kgcQvMw4IC/ohnlfUwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLQd+b6rukq2K6wpuri6TN+mRvPqYfUvuq+IgJUSj8R+Jh9A/EQw1KhfTHP7vE/gOPRyPcYg4nL7YD7YfAHixFG57dvgJJgtJXSaeiI8AHJ1FB5Ew8ABSEIAcj8ClKH4AGZIxEQwXyUtRddvMNRtoTRSum4hUoCaBcxYOjAYCmcOUj+4sJfIwgBlVBP48jxzxnsl15XEFcl5nWV/aTKqBiTkHKEUWaK8kH3Gq35iR+PUORKJRz1Tlpk5y/bgvMo6guuX/c/SLemDZWT1ZeaFHlOE9hYjr3hLyCZzCQUigAj6nAwhx8OR9Mx1Xj+XHl+/7dF6p454fbh9urLjWalnk9MO52REDSD1yq7XMHwFRY4qGH/0mz5COmIHJfZFySu4eqrld31+rarkeVAbLpAPAB8qbtZMgen8ClDM9cAS8h9wWKnl5n7yuUexn9pf7lvDaiFUYoVDi8AoE+iBzz8/0YlHn2uefj8vPPh8njmvCRli2CzSjpw4rXZCy7FdVVtFSshNKUjkE2jZwu5Mx5SH0KmQ5hS5Lx8AD0z3L1FziV5GGSp3St9qdjsVM9vM4TvyhjIwJ1vAGPmoUCCXnnyBwbkSk8vlHngPmEuexDUMMx9vlx/8t5MiD4LsTPC9JhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMIp/2F3vFaRqgOyFTc3B6Bk4ticflEwB8yyvAgPtJ8hzx6mHgA49RDFORfSM/uH2y/cV7jHicvv8AD9vL4A8YHPfdx3oPIXUzeZdx4lD0E6huOeA+BSJkKH+hCFD8ChnuMREYL5KRkV2J1366QekocXrwyT2/O0gK+flAfBMo8GFBv5AAgmAh6iIAJxDkeA4APS8ql4RSnfPWTXO1pAs46eFgbuoBEPrSAmJXI8lKQFkDmT9w4B8pRKYDfAB5AAADoy0KH+3qgSRTUsFnOrElNyqkzZAkscv8CqKLKFIP+olN/wAMIoBsdrAMNgTUfVUwTrbeUct2JCnOoHsJLGTIPmoJjDyAc8iOY6UtUQXcHHyOXyXuoAJNl+3j811ZKLvde9JE1osRRf8A7XbepSiUxDSIpgoPBeBAwfUD6/gPrn25BIY+APRwD8koDH4n7yubeu9Qhr3ueBrFhADwyzlRZdIePFUGyCjkEzc/EqgpgUQ/gOZAFjJXdcrXIGcglazLM269fWRBuozUIX2hTAAACgX4ABeA44+H4Z8X1fz2uUQlUbzKwMYqoZGMlnLRuuIgCglbODJkOIl4+b5QH0/HPsJkESC+SALgr+gNFmXVjpENYXwFB6/imj1YC+gAdduRU3H+nJs91oCNSURwJXmmSYgnksrmNe0wiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRfKyyTdE7hcwFRIUTnMb0AClDkRH/gGfCQA5Rfz729seT2tsCQuUgc4oLrCmyROP8A0GhBEEUwD4BwX1Nx8TCI/Ec8U4kDHM4n7eGXRe5kOwyH2+ea+9XbguOn3ruSpf0Sci8SIgo4ctkl1CplMJhIQygCJSmHgTAHx4D+GZXwXhlun+bu/P8A95G//wAFD/2Z8RdGdcr3Ydu6iJYLodJWScuHTRUyBARKKZTeAAAJ8AA8D8Qz1KIYeK8xJJP24LjS8VCx6nvjqtSQnRmox2BkHBPl8ylMB0V0x/gYODB+IfAfUMRJiQRwX2QEgRwKq873x2DK0sYFjGs2VpVR9leZRUOPACHiJ0kBLwmoP8ROYAH4B8OMdWOvAYDj+48Pv8XxX2mdOeJ+2fP7vBsFoGhtPTW5b43hmyKg1tsqmvNPAHxIi28uRL58D+YqBRKmHqIjyPHiUwh6dkzXbWxaS0v1AlKMoJEUn7E7VI/jyVJTx5SP4hxyBDgUeP8ATPjBfQWXBDhtcdVXf2XJFoy6QzwpwKcCiZJZMQOUwc+RTlEOBAfUpijz6gOe4SMS68SiJBirPK9/ri9qZouOg2bS3HR9o0qVc6iJDCHAqJtTp+hg+JQMoYAH4gIemeKg1ZYfbgvcMM8VItZa9sW3b21qcQCqjp0r7r134ioDdv5B7zhQREPQvP4iHkYQKHqIYiBEAAYISSXK/oIwYtIxijGsCFTYt0iIIpl+BE0ygQpQ/wBAAM+uvi/XCJhEwiYRMImETCJhEwi02S2xMHtMnVKFTLVbXUKqi2l3MIeCQbtXK7ZN4RAx5qVjhOp7KxDj7YGAAMHIgPphEjdsy6dpjKnfaZaqk6mlVm0Q5mzwS7d05QbKPDoFPCykiJFPZROcPcAoCBR4ERDjCLcsImETCJhEwiYRMImETCJhEwiYRMImETCJhF+MjHtJaPXi35ROxconbrEAxi+SahRIYPIggIcgPxAec+EAhiinX+H/AF0/8u/9vk/+9Z9RP8P+un/l3/t8n/3rCJ/h/wBdP/Lv/b5P/vWEW6Umi1XXUASsU1r9HBpqHVIh7iqvBlB8jD5LnOYeR/iOEXk2BqjXu0WZGd5jEHwJf9FYfNNdLn1ECLJCRQoCPxLzwP4gOEWkMulGhGrj3l2L5yn6/krvFwJ6iI/FEUzen/HCKk1mq1umxJIKqsW0fEJ+pUGpCkKJuAATG49TGHgOTDyI/iOEWQwi16+6q17s5oRpeYps/BP0SWN5Jrphz5cEWREihQEfiAG4H8cItFR6TaGSdfUKM5BRLyE3sHeKgTgfw5J4n4D/AO1zhFQqVr6la5i/0akxraPYCICcEQETqCHPAqKHEx1BDn0EwiOEWZwiYRMImETCJhEwiYRMImEWk6XfQjfYmyGKE6waSf7rbOHrRVZIqiYqQEYRMTFP6h5ETAQ/0wi/zc72DcbE1uyXnWDuUG1uHDJokskZVQU4CTIoJSk9R8SKCI/6YRbvhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwi0TZXWLrzuKbJZdo0yuzthTRBuV9IskVV/aKIiUgqGL5CUOR4AR9MImtesXXnTs2ey6upldgrCoiLcz6OZIpL+0YQExAUKXyAo8ByAD64Rb3hEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCLSewMlMMNdlbwjp0ycSM/BQ67ticU3KTOQmmbR2KKhfmIoLdQ4FOHqUR5D1AMIv3Hrzo32fMH2xfLjn/AOur3/8AN8Ivw6+yMw/10ZtOOnT5zHT07DoPHxxUcqtGE07aNDLKG+Y6n06ZAMcfUwhyPqI4RbthEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhFqm6K1crTQVmWvDxxLs2esZSNLLgp9GqsweovPaWFIDHIVUEhJ5gAiUR8uDccCRar/AHo74e17P9qddePHHP7ud/8AyPnCLa9L1q5VagoMthnjj3Zy9fSkkWIBT6NJZ+9Wee0iKoFOcqQKgTzEAEwh5cF54Ai2rCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwi1q8bIGozMZVoaEmbJdJZJ05Zw8H9AVcWzL2QcLnUk3bFuRNMzhMo+SoCImAAAcIsNP7pt9Nh3FpvutL1CUximLmTmHS1UcoMmxPVRdVONnnbgyaZfmN7aRhAAEePTCLfgEBDkPhhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwi0WddQ7LsrVFH0o0jZRaqWBuzB0oRMVgF5EKqgTz9B8QTKI4Re7s9JV4nXu5Fm7NFliVK1IILmOugAeKzVRLj/n5cYRbNGgYsegUwCBgRIAgPx58Qwi/bCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRYe+XaJ15V17VMpuV2ySrdsi1ZEBRw5cvHKbNs3RIYxQFRZZYhC8iAcj6iAcjhFhP7ibb8fL+0OwfH48/WUf/8A02EWboV3idiVZC1wyblBsqq4bKtXpAScNnLNyozcoLEAxgBRFZE5DcCIch6CIcDhF5Nl6g1buWHSr+1q/E2CGQWBwg3lmyTgqSoB4+ZPcAfE3A8ch+GEWoQXSXqNWZltYILXVRbzLNYrhq4JHNxMkqQfIpy+RR4MUQ5AfwHCKpYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhFofYxeJaUBm9nHaLGLb2ytOFHbgwETSFKwMjpiYxvQOTgUA5/EcIqOL5mLX/wCpI3nx+Hvofw/jhFOOui0S6oDx7Bu0X0U4tllcJu25gOkqKtgenUEpi+g8HEwDx+IYRb5hEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhF47DXYC2wjqtWlk1ka69RM3eMXqRFkF0jhwYiiagCUxR/gIYRS/wDwJ6Y88/2zp/8A/XIf+zCKoV6uwFShGtaqzJrHV1kiVuzYskiIoIJEDgpE00wApSh/AAwi9mETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImETCJhEwiYRMImEX/9k=">
</a>
</section>
<section>
<h2>Stellar Links</h2>
<ul>
- <li><a href="hakim-slideshow-0.3.zip">Download this slideshow</a></li>
- <li><a href="http://hakim.se/experiments/css3-3d-slideshow">Read more on my site</a></li>
+ <li><a href="https://github.com/hakimel/reveal.js">Source code on github</a></li>
+ <li><a href="http://hakim.se/experiments/reveal.js">Read more on my site</a></li>
<li><a href="http://twitter.com/hakimel">Follow me on Twitter</a></li>
</ul>
</section>
@@ -113,8 +165,51 @@
</section>
</div>
+
+ <aside class="controls">
+ <a class="left" href="#">◄</a>
+ <a class="right" href="#">►</a>
+ <a class="up" href="#">▲</a>
+ <a class="down" href="#">▼</a>
+ </aside>
+
+ <script src="js/reveal.js"></script>
+ <script src="lib/highlight.js"></script>
+ <script>
+ Reveal.initialize({
+ // Display controls in the bottom right corner
+ controls: true,
+
+ // Apply a 3D roll to links on hover
+ rollingLinks: false,
+
+ // Styling themes, only affects transitions for now
+ theme: 'default' // default/concave/linear
+ });
+
+ hljs.initHighlightingOnLoad();
+ </script>
+
+
+
+ <!-- Everything below this point is unrelated to the slideshow -->
+
+ <div style="position: absolute; bottom: 10px; left: 50%; margin-left: -95px">
+ <a href="http://twitter.com/share" class="twitter-share-button" data-text="reveal.js - a 3D slideshow tool from @hakimel." data-url="http://lab.hakim.se/reveal-js" data-count="small" data-related="hakimel"></a>
+ <iframe id="facebook-button" src="http://www.facebook.com/plugins/like.php?href=http%3A%2F%2Fapp.hakim.se%2Freveal-js%2F&layout=button_count&show_faces=false&width=90&action=like&font=arial&colorscheme=light&height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:85px; height:24px; position: relative; top: 4px;" allowTransparency="true"></iframe>
+ <script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
+ </div>
- <script src="js/slideshow.js"></script>
+ <script>
+ var _gaq = [['_setAccount', 'UA-15240703-1'], ['_trackPageview']];
+ (function(d, t) {
+ var g = d.createElement(t),
+ s = d.getElementsByTagName(t)[0];
+ g.async = true;
+ g.src = ('https:' == location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+ s.parentNode.insertBefore(g, s);
+ })(document, 'script');
+ </script>
</body>
</html> \ No newline at end of file
diff --git a/js/slideshow.js b/js/reveal.js
index bb112d6..6614493 100644
--- a/js/slideshow.js
+++ b/js/reveal.js
@@ -21,21 +21,21 @@
*/
/**
- * Handles the very minimal navigation logic involved in the
- * slideshow. Including keyboard navigation, touch interaction
- * and URL history behavior.
+ * Reveal.js is an easy to use HTML based slideshow enhanced by
+ * sexy CSS 3D transforms.
*
* Slides are given unique hash based URL's so that they can be
* opened directly. I didn't use the HTML5 History API for this
* as it would have required the addition of server side rewrite
* rules and hence require more effort for anyone to set up.
*
- * This component can be called from other scripts via a tiny API:
- * - Slideshow.navigateTo( indexh, indexv );
- * - Slideshow.navigateLeft();
- * - Slideshow.navigateRight();
- * - Slideshow.navigateUp();
- * - Slideshow.navigateDown();
+ * Public facing methods:
+ * - Reveal.initialize( { ... options ... } );
+ * - Reveal.navigateTo( indexh, indexv );
+ * - Reveal.navigateLeft();
+ * - Reveal.navigateRight();
+ * - Reveal.navigateUp();
+ * - Reveal.navigateDown();
*
*
* version 0.1:
@@ -52,26 +52,84 @@
* version 0.4:
* - Fixed broken links on touch devices.
*
+ * version 1.0:
+ * - Added controls
+ * - Added initialization options
+ * - Reveal views in fragments
+ * - Revamped, darker, theme
+ * - Tweaked markup styles (a, em, strong, b, i, blockquote, q, pre, ul, ol)
+ * - Support for themes at initialization (default/linear/concave)
+ * - Code highlighting via highlight.js
+ *
+ * TODO:
+ * - Touch/swipe interactions
*
* @author Hakim El Hattab
- * @version 0.4
+ * @version 1.0
*/
-var Slideshow = (function(){
+var Reveal = (function(){
- var indexh = 0,
- indexv = 0;
+ var HORIZONTAL_SLIDES_SELECTOR = '#main>section',
+ VERTICAL_SLIDES_SELECTOR = 'section.present>section',
+
+ indexh = 0,
+ indexv = 0,
+
+ config = {},
+ dom = {};
/**
* Activates the main program logic.
*/
- function initialize() {
+ function initialize( options ) {
+ // Gather references to DOM elements
+ dom.controls = document.querySelector( '.controls' );
+ dom.controlsLeft = document.querySelector( '.controls .left' );
+ dom.controlsRight = document.querySelector( '.controls .right' );
+ dom.controlsUp = document.querySelector( '.controls .up' );
+ dom.controlsDown = document.querySelector( '.controls .down' );
+
+ // Add event listeners
document.addEventListener('keydown', onDocumentKeyDown, false);
document.addEventListener('touchstart', onDocumentTouchStart, false);
window.addEventListener('hashchange', onWindowHashChange, false);
-
+ dom.controlsLeft.addEventListener('click', preventAndForward( navigateLeft ), false);
+ dom.controlsRight.addEventListener('click', preventAndForward( navigateRight ), false);
+ dom.controlsUp.addEventListener('click', preventAndForward( navigateUp ), false);
+ dom.controlsDown.addEventListener('click', preventAndForward( navigateDown ), false);
+
+ // Set default configuration
+ config.rollingLinks = options.rollingLinks === undefined ? true : options.rollingLinks;
+ config.controls = options.controls === undefined ? false : options.controls;
+ config.theme = options.theme === undefined ? 'default' : options.theme;
+
+ if( config.controls ) {
+ dom.controls.style.display = 'block';
+ }
+
+ if( config.theme !== 'default' ) {
+ document.body.classList.add( config.theme );
+ }
+
+ if( config.rollingLinks ) {
+ // Add some 3D magic to our anchors
+ linkify();
+ }
+
// Read the initial state of the URL (hash)
readURL();
}
+
+ /**
+ * Prevents an events defaults behavior calls the
+ * specified delegate.
+ */
+ function preventAndForward( delegate ) {
+ return function( event ) {
+ event.preventDefault();
+ delegate.call();
+ }
+ }
/**
* Handler for the document level 'keydown' event.
@@ -153,6 +211,28 @@ var Slideshow = (function(){
function onWindowHashChange( event ) {
readURL();
}
+
+ /**
+ * Wrap all links in 3D goodness.
+ */
+ function linkify() {
+ var supports3DTransforms = document.body.style['webkitPerspective'] !== undefined ||
+ document.body.style['MozPerspective'] !== undefined ||
+ document.body.style['perspective'] !== undefined;
+
+ if( supports3DTransforms ) {
+ var nodes = document.querySelectorAll( 'section a:not(.image)' );
+
+ for( var i = 0, len = nodes.length; i < len; i++ ) {
+ var node = nodes[i];
+
+ if( !node.className || !node.className.match( /roll/g ) ) {
+ node.className += ' roll';
+ node.innerHTML = '<span data-title="'+ node.text +'">' + node.innerHTML + '</span>';
+ }
+ };
+ }
+ }
/**
* Updates one dimension of slides by showing the slide
@@ -204,11 +284,45 @@ var Slideshow = (function(){
* set indices.
*/
function slide() {
- indexh = updateSlides( '#main>section', indexh );
- indexv = updateSlides( 'section.present>section', indexv );
+ indexh = updateSlides( HORIZONTAL_SLIDES_SELECTOR, indexh );
+ indexv = updateSlides( VERTICAL_SLIDES_SELECTOR, indexv );
+
+ updateControls();
writeURL();
}
+
+ /**
+ * Updates the state and link pointers of the controls.
+ */
+ function updateControls() {
+ var routes = availableRoutes();
+
+ // Remove the 'enabled' class from all directions
+ [ dom.controlsLeft, dom.controlsRight, dom.controlsUp, dom.controlsDown ].forEach( function( node ) {
+ node.classList.remove( 'enabled' );
+ } )
+
+ if( routes.left ) dom.controlsLeft.classList.add( 'enabled' );
+ if( routes.right ) dom.controlsRight.classList.add( 'enabled' );
+ if( routes.up ) dom.controlsUp.classList.add( 'enabled' );
+ if( routes.down ) dom.controlsDown.classList.add( 'enabled' );
+ }
+
+ /**
+ *
+ */
+ function availableRoutes() {
+ var horizontalSlides = document.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR );
+ var verticalSlides = document.querySelectorAll( VERTICAL_SLIDES_SELECTOR );
+
+ return {
+ left: indexh > 0,
+ right: indexh < horizontalSlides.length - 1,
+ up: indexv > 0,
+ down: indexv < verticalSlides.length - 1
+ };
+ }
/**
* Reads the current URL (hash) and navigates accordingly.
@@ -233,11 +347,47 @@ var Slideshow = (function(){
// Only include the minimum possible number of components in
// the URL
- if( indexh > 0 || indexv > 0 ) url += indexh
- if( indexv > 0 ) url += '/' + indexv
+ if( indexh > 0 || indexv > 0 ) url += indexh;
+ if( indexv > 0 ) url += '/' + indexv;
window.location.hash = url;
}
+
+ /**
+ * Navigate to the nexy slide fragment.
+ *
+ * @return {Boolean} true if there was a next fragment,
+ * false otherwise
+ */
+ function nextFragment() {
+ var fragments = document.querySelectorAll( '.present .fragment:not(.visible)' );
+
+ if( fragments.length ) {
+ fragments[0].classList.add( 'visible' );
+
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Navigate to the previous slide fragment.
+ *
+ * @return {Boolean} true if there was a previous fragment,
+ * false otherwise
+ */
+ function previousFragment() {
+ var fragments = document.querySelectorAll( '.present .fragment.visible' );
+
+ if( fragments.length ) {
+ fragments[ fragments.length - 1 ].classList.remove( 'visible' );
+
+ return true;
+ }
+
+ return false;
+ }
/**
* Triggers a navigation to the specified indices.
@@ -253,31 +403,39 @@ var Slideshow = (function(){
}
function navigateLeft() {
- indexh --;
- indexv = 0;
- slide();
+ // Prioritize hiding fragments
+ if( previousFragment() === false ) {
+ indexh --;
+ indexv = 0;
+ slide();
+ }
}
function navigateRight() {
- indexh ++;
- indexv = 0;
- slide();
+ // Prioritize revealing fragments
+ if( nextFragment() === false ) {
+ indexh ++;
+ indexv = 0;
+ slide();
+ }
}
function navigateUp() {
- indexv --;
- slide();
+ // Prioritize hiding fragments
+ if( previousFragment() === false ) {
+ indexv --;
+ slide();
+ }
}
function navigateDown() {
- indexv ++;
- slide();
+ // Prioritize revealing fragments
+ if( nextFragment() === false ) {
+ indexv ++;
+ slide();
+ }
}
- // Initialize the program. Done right before returning to ensure
- // that any inline variable definitions are available to all
- // functions
- initialize();
-
// Expose some methods publicly
return {
+ initialize: initialize,
navigateTo: navigateTo,
navigateLeft: navigateLeft,
navigateRight: navigateRight,
diff --git a/lib/highlight.js b/lib/highlight.js
new file mode 100644
index 0000000..12d24df
--- /dev/null
+++ b/lib/highlight.js
@@ -0,0 +1,5 @@
+/*
+Syntax highlighting with language autodetection.
+http://softwaremaniacs.org/soft/highlight/
+*/
+var hljs=new function(){function m(p){return p.replace(/&/gm,"&amp;").replace(/</gm,"&lt;")}function c(r,q,p){return RegExp(q,"m"+(r.cI?"i":"")+(p?"g":""))}function j(r){for(var p=0;p<r.childNodes.length;p++){var q=r.childNodes[p];if(q.nodeName=="CODE"){return q}if(!(q.nodeType==3&&q.nodeValue.match(/\s+/))){break}}}function g(t,s){var r="";for(var q=0;q<t.childNodes.length;q++){if(t.childNodes[q].nodeType==3){var p=t.childNodes[q].nodeValue;if(s){p=p.replace(/\n/g,"")}r+=p}else{if(t.childNodes[q].nodeName=="BR"){r+="\n"}else{r+=g(t.childNodes[q])}}}if(/MSIE [678]/.test(navigator.userAgent)){r=r.replace(/\r/g,"\n")}return r}function a(s){var q=s.className.split(/\s+/);q=q.concat(s.parentNode.className.split(/\s+/));for(var p=0;p<q.length;p++){var r=q[p].replace(/^language-/,"");if(d[r]||r=="no-highlight"){return r}}}function b(p){var q=[];(function(s,t){for(var r=0;r<s.childNodes.length;r++){if(s.childNodes[r].nodeType==3){t+=s.childNodes[r].nodeValue.length}else{if(s.childNodes[r].nodeName=="BR"){t+=1}else{q.push({event:"start",offset:t,node:s.childNodes[r]});t=arguments.callee(s.childNodes[r],t);q.push({event:"stop",offset:t,node:s.childNodes[r]})}}}return t})(p,0);return q}function l(y,z,x){var r=0;var w="";var t=[];function u(){if(y.length&&z.length){if(y[0].offset!=z[0].offset){return(y[0].offset<z[0].offset)?y:z}else{return z[0].event=="start"?y:z}}else{return y.length?y:z}}function s(C){var D="<"+C.nodeName.toLowerCase();for(var A=0;A<C.attributes.length;A++){var B=C.attributes[A];D+=" "+B.nodeName.toLowerCase();if(B.nodeValue!=undefined&&B.nodeValue!=false&&B.nodeValue!=null){D+='="'+m(B.nodeValue)+'"'}}return D+">"}while(y.length||z.length){var v=u().splice(0,1)[0];w+=m(x.substr(r,v.offset-r));r=v.offset;if(v.event=="start"){w+=s(v.node);t.push(v.node)}else{if(v.event=="stop"){var q=t.length;do{q--;var p=t[q];w+=("</"+p.nodeName.toLowerCase()+">")}while(p!=v.node);t.splice(q,1);while(q<t.length){w+=s(t[q]);q++}}}}w+=x.substr(r);return w}function i(){function p(u,t,v){if(u.compiled){return}if(!v){u.bR=c(t,u.b?u.b:"\\B|\\b");if(!u.e&&!u.eW){u.e="\\B|\\b"}if(u.e){u.eR=c(t,u.e)}}if(u.i){u.iR=c(t,u.i)}if(u.r==undefined){u.r=1}if(u.k){u.lR=c(t,u.l||hljs.IR,true)}for(var s in u.k){if(!u.k.hasOwnProperty(s)){continue}if(u.k[s] instanceof Object){u.kG=u.k}else{u.kG={keyword:u.k}}break}if(!u.c){u.c=[]}u.compiled=true;for(var r=0;r<u.c.length;r++){p(u.c[r],t,false)}if(u.starts){p(u.starts,t,false)}}for(var q in d){if(!d.hasOwnProperty(q)){continue}p(d[q].dM,d[q],true)}}function e(J,D){if(!i.called){i();i.called=true}function z(r,M){for(var L=0;L<M.c.length;L++){if(M.c[L].bR.test(r)){return M.c[L]}}}function w(L,r){if(C[L].e&&C[L].eR.test(r)){return 1}if(C[L].eW){var M=w(L-1,r);return M?M+1:0}return 0}function x(r,L){return L.iR&&L.iR.test(r)}function A(O,N){var M=[];for(var L=0;L<O.c.length;L++){M.push(O.c[L].b)}var r=C.length-1;do{if(C[r].e){M.push(C[r].e)}r--}while(C[r+1].eW);if(O.i){M.push(O.i)}return c(N,"("+M.join("|")+")",true)}function s(M,L){var N=C[C.length-1];if(!N.t){N.t=A(N,H)}N.t.lastIndex=L;var r=N.t.exec(M);if(r){return[M.substr(L,r.index-L),r[0],false]}else{return[M.substr(L),"",true]}}function p(O,r){var L=H.cI?r[0].toLowerCase():r[0];for(var N in O.kG){if(!O.kG.hasOwnProperty(N)){continue}var M=O.kG[N].hasOwnProperty(L);if(M){return[N,M]}}return false}function F(M,O){if(!O.k){return m(M)}var N="";var P=0;O.lR.lastIndex=0;var L=O.lR.exec(M);while(L){N+=m(M.substr(P,L.index-P));var r=p(O,L);if(r){t+=r[1];N+='<span class="'+r[0]+'">'+m(L[0])+"</span>"}else{N+=m(L[0])}P=O.lR.lastIndex;L=O.lR.exec(M)}N+=m(M.substr(P,M.length-P));return N}function K(r,M){if(M.sL&&d[M.sL]){var L=e(M.sL,r);t+=L.keyword_count;return L.value}else{return F(r,M)}}function I(M,r){var L=M.cN?'<span class="'+M.cN+'">':"";if(M.rB){q+=L;M.buffer=""}else{if(M.eB){q+=m(r)+L;M.buffer=""}else{q+=L;M.buffer=r}}C.push(M);B+=M.r}function E(O,L,Q){var R=C[C.length-1];if(Q){q+=K(R.buffer+O,R);return false}var M=z(L,R);if(M){q+=K(R.buffer+O,R);I(M,L);return M.rB}var r=w(C.length-1,L);if(r){var N=R.cN?"</span>":"";if(R.rE){q+=K(R.buffer+O,R)+N}else{if(R.eE){q+=K(R.buffer+O,R)+N+m(L)}else{q+=K(R.buffer+O+L,R)+N}}while(r>1){N=C[C.length-2].cN?"</span>":"";q+=N;r--;C.length--}var P=C[C.length-1];C.length--;C[C.length-1].buffer="";if(P.starts){I(P.starts,"")}return R.rE}if(x(L,R)){throw"Illegal"}}var H=d[J];var C=[H.dM];var B=0;var t=0;var q="";try{var v=0;H.dM.buffer="";do{var y=s(D,v);var u=E(y[0],y[1],y[2]);v+=y[0].length;if(!u){v+=y[1].length}}while(!y[2]);if(C.length>1){throw"Illegal"}return{r:B,keyword_count:t,value:q}}catch(G){if(G=="Illegal"){return{r:0,keyword_count:0,value:m(D)}}else{throw G}}}function f(t){var r={keyword_count:0,r:0,value:m(t)};var q=r;for(var p in d){if(!d.hasOwnProperty(p)){continue}var s=e(p,t);s.language=p;if(s.keyword_count+s.r>q.keyword_count+q.r){q=s}if(s.keyword_count+s.r>r.keyword_count+r.r){q=r;r=s}}if(q.language){r.second_best=q}return r}function h(r,q,p){if(q){r=r.replace(/^((<[^>]+>|\t)+)/gm,function(t,w,v,u){return w.replace(/\t/g,q)})}if(p){r=r.replace(/\n/g,"<br>")}return r}function o(u,x,q){var y=g(u,q);var s=a(u);if(s=="no-highlight"){return}if(s){var w=e(s,y)}else{var w=f(y);s=w.language}var p=b(u);if(p.length){var r=document.createElement("pre");r.innerHTML=w.value;w.value=l(p,b(r),y)}w.value=h(w.value,x,q);var t=u.className;if(!t.match("(\\s|^)(language-)?"+s+"(\\s|$)")){t=t?(t+" "+s):s}if(/MSIE [678]/.test(navigator.userAgent)&&u.tagName=="CODE"&&u.parentNode.tagName=="PRE"){var r=u.parentNode;var v=document.createElement("div");v.innerHTML="<pre><code>"+w.value+"</code></pre>";u=v.firstChild.firstChild;v.firstChild.cN=r.cN;r.parentNode.replaceChild(v.firstChild,r)}else{u.innerHTML=w.value}u.className=t;u.result={language:s,kw:w.keyword_count,re:w.r};if(w.second_best){u.second_best={language:w.second_best.language,kw:w.second_best.keyword_count,re:w.second_best.r}}}function k(){if(k.called){return}k.called=true;var r=document.getElementsByTagName("pre");for(var p=0;p<r.length;p++){var q=j(r[p]);if(q){o(q,hljs.tabReplace)}}}function n(){if(window.addEventListener){window.addEventListener("DOMContentLoaded",k,false);window.addEventListener("load",k,false)}else{if(window.attachEvent){window.attachEvent("onload",k)}else{window.onload=k}}}var d={};this.LANGUAGES=d;this.highlight=e;this.highlightAuto=f;this.fixMarkup=h;this.highlightBlock=o;this.initHighlighting=k;this.initHighlightingOnLoad=n;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="\\b(0x[A-Za-z0-9]+|\\d+(\\.\\d+)?)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|\\.|-|-=|/|/=|:|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\.",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE],r:0};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE],r:0};this.CLCM={cN:"comment",b:"//",e:"$"};this.CBLCLM={cN:"comment",b:"/\\*",e:"\\*/"};this.HCM={cN:"comment",b:"#",e:"$"};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.inherit=function(p,s){var r={};for(var q in p){r[q]=p[q]}if(s){for(var q in s){r[q]=s[q]}}return r}}();hljs.LANGUAGES.cs={dM:{k:{"abstract":1,as:1,base:1,bool:1,"break":1,"byte":1,"case":1,"catch":1,"char":1,checked:1,"class":1,"const":1,"continue":1,decimal:1,"default":1,delegate:1,"do":1,"do":1,"double":1,"else":1,"enum":1,event:1,explicit:1,extern:1,"false":1,"finally":1,fixed:1,"float":1,"for":1,foreach:1,"goto":1,"if":1,implicit:1,"in":1,"int":1,"interface":1,internal:1,is:1,lock:1,"long":1,namespace:1,"new":1,"null":1,object:1,operator:1,out:1,override:1,params:1,"private":1,"protected":1,"public":1,readonly:1,ref:1,"return":1,sbyte:1,sealed:1,"short":1,sizeof:1,stackalloc:1,"static":1,string:1,struct:1,"switch":1,"this":1,"throw":1,"true":1,"try":1,"typeof":1,uint:1,ulong:1,unchecked:1,unsafe:1,ushort:1,using:1,virtual:1,"volatile":1,"void":1,"while":1,ascending:1,descending:1,from:1,get:1,group:1,into:1,join:1,let:1,orderby:1,partial:1,select:1,set:1,value:1,"var":1,where:1,yield:1},c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"///|<!--|-->"},{cN:"xmlDocTag",b:"</?",e:">"}]},hljs.CLCM,hljs.CBLCLM,{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},hljs.ASM,hljs.QSM,hljs.CNM]}};hljs.LANGUAGES.ruby=function(){var g="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var a="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var n={keyword:{and:1,"false":1,then:1,defined:1,module:1,"in":1,"return":1,redo:1,"if":1,BEGIN:1,retry:1,end:1,"for":1,"true":1,self:1,when:1,next:1,until:1,"do":1,begin:1,unless:1,END:1,rescue:1,nil:1,"else":1,"break":1,undef:1,not:1,"super":1,"class":1,"case":1,require:1,yield:1,alias:1,"while":1,ensure:1,elsif:1,or:1,def:1},keymethods:{__id__:1,__send__:1,abort:1,abs:1,"all?":1,allocate:1,ancestors:1,"any?":1,arity:1,assoc:1,at:1,at_exit:1,autoload:1,"autoload?":1,"between?":1,binding:1,binmode:1,"block_given?":1,call:1,callcc:1,caller:1,capitalize:1,"capitalize!":1,casecmp:1,"catch":1,ceil:1,center:1,chomp:1,"chomp!":1,chop:1,"chop!":1,chr:1,"class":1,class_eval:1,"class_variable_defined?":1,class_variables:1,clear:1,clone:1,close:1,close_read:1,close_write:1,"closed?":1,coerce:1,collect:1,"collect!":1,compact:1,"compact!":1,concat:1,"const_defined?":1,const_get:1,const_missing:1,const_set:1,constants:1,count:1,crypt:1,"default":1,default_proc:1,"delete":1,"delete!":1,delete_at:1,delete_if:1,detect:1,display:1,div:1,divmod:1,downcase:1,"downcase!":1,downto:1,dump:1,dup:1,each:1,each_byte:1,each_index:1,each_key:1,each_line:1,each_pair:1,each_value:1,each_with_index:1,"empty?":1,entries:1,eof:1,"eof?":1,"eql?":1,"equal?":1,"eval":1,exec:1,exit:1,"exit!":1,extend:1,fail:1,fcntl:1,fetch:1,fileno:1,fill:1,find:1,find_all:1,first:1,flatten:1,"flatten!":1,floor:1,flush:1,for_fd:1,foreach:1,fork:1,format:1,freeze:1,"frozen?":1,fsync:1,getc:1,gets:1,global_variables:1,grep:1,gsub:1,"gsub!":1,"has_key?":1,"has_value?":1,hash:1,hex:1,id:1,include:1,"include?":1,included_modules:1,index:1,indexes:1,indices:1,induced_from:1,inject:1,insert:1,inspect:1,instance_eval:1,instance_method:1,instance_methods:1,"instance_of?":1,"instance_variable_defined?":1,instance_variable_get:1,instance_variable_set:1,instance_variables:1,"integer?":1,intern:1,invert:1,ioctl:1,"is_a?":1,isatty:1,"iterator?":1,join:1,"key?":1,keys:1,"kind_of?":1,lambda:1,last:1,length:1,lineno:1,ljust:1,load:1,local_variables:1,loop:1,lstrip:1,"lstrip!":1,map:1,"map!":1,match:1,max:1,"member?":1,merge:1,"merge!":1,method:1,"method_defined?":1,method_missing:1,methods:1,min:1,module_eval:1,modulo:1,name:1,nesting:1,"new":1,next:1,"next!":1,"nil?":1,nitems:1,"nonzero?":1,object_id:1,oct:1,open:1,pack:1,partition:1,pid:1,pipe:1,pop:1,popen:1,pos:1,prec:1,prec_f:1,prec_i:1,print:1,printf:1,private_class_method:1,private_instance_methods:1,"private_method_defined?":1,private_methods:1,proc:1,protected_instance_methods:1,"protected_method_defined?":1,protected_methods:1,public_class_method:1,public_instance_methods:1,"public_method_defined?":1,public_methods:1,push:1,putc:1,puts:1,quo:1,raise:1,rand:1,rassoc:1,read:1,read_nonblock:1,readchar:1,readline:1,readlines:1,readpartial:1,rehash:1,reject:1,"reject!":1,remainder:1,reopen:1,replace:1,require:1,"respond_to?":1,reverse:1,"reverse!":1,reverse_each:1,rewind:1,rindex:1,rjust:1,round:1,rstrip:1,"rstrip!":1,scan:1,seek:1,select:1,send:1,set_trace_func:1,shift:1,singleton_method_added:1,singleton_methods:1,size:1,sleep:1,slice:1,"slice!":1,sort:1,"sort!":1,sort_by:1,split:1,sprintf:1,squeeze:1,"squeeze!":1,srand:1,stat:1,step:1,store:1,strip:1,"strip!":1,sub:1,"sub!":1,succ:1,"succ!":1,sum:1,superclass:1,swapcase:1,"swapcase!":1,sync:1,syscall:1,sysopen:1,sysread:1,sysseek:1,system:1,syswrite:1,taint:1,"tainted?":1,tell:1,test:1,"throw":1,times:1,to_a:1,to_ary:1,to_f:1,to_hash:1,to_i:1,to_int:1,to_io:1,to_proc:1,to_s:1,to_str:1,to_sym:1,tr:1,"tr!":1,tr_s:1,"tr_s!":1,trace_var:1,transpose:1,trap:1,truncate:1,"tty?":1,type:1,ungetc:1,uniq:1,"uniq!":1,unpack:1,unshift:1,untaint:1,untrace_var:1,upcase:1,"upcase!":1,update:1,upto:1,"value?":1,values:1,values_at:1,warn:1,write:1,write_nonblock:1,"zero?":1,zip:1}};var h={cN:"yardoctag",b:"@[A-Za-z]+"};var d={cN:"comment",b:"#",e:"$",c:[h]};var c={cN:"comment",b:"^\\=begin",e:"^\\=end",c:[h],r:10};var b={cN:"comment",b:"^__END__",e:"\\n$"};var u={cN:"subst",b:"#\\{",e:"}",l:g,k:n};var p=[hljs.BE,u];var s={cN:"string",b:"'",e:"'",c:p,r:0};var r={cN:"string",b:'"',e:'"',c:p,r:0};var q={cN:"string",b:"%[qw]?\\(",e:"\\)",c:p,r:10};var o={cN:"string",b:"%[qw]?\\[",e:"\\]",c:p,r:10};var m={cN:"string",b:"%[qw]?{",e:"}",c:p,r:10};var l={cN:"string",b:"%[qw]?<",e:">",c:p,r:10};var k={cN:"string",b:"%[qw]?/",e:"/",c:p,r:10};var j={cN:"string",b:"%[qw]?%",e:"%",c:p,r:10};var i={cN:"string",b:"%[qw]?-",e:"-",c:p,r:10};var t={cN:"string",b:"%[qw]?\\|",e:"\\|",c:p,r:10};var e={cN:"function",b:"\\bdef\\s+",e:" |$|;",l:g,k:n,c:[{cN:"title",b:a,l:g,k:n},{cN:"params",b:"\\(",e:"\\)",l:g,k:n},d,c,b]};var f={cN:"identifier",b:g,l:g,k:n,r:0};var v=[d,c,b,s,r,q,o,m,l,k,j,i,t,{cN:"class",b:"\\b(class|module)\\b",e:"$|;",k:{"class":1,module:1},c:[{cN:"title",b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?",r:0},{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+hljs.IR+"::)?"+hljs.IR}]},d,c,b]},e,{cN:"constant",b:"(::)?([A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:":",c:[s,r,q,o,m,l,k,j,i,t,f],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"number",b:"\\?\\w"},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},f,{b:"("+hljs.RSR+")\\s*",c:[d,c,b,{cN:"regexp",b:"/",e:"/[a-z]*",i:"\\n",c:[hljs.BE]}],r:0}];u.c=v;e.c[1].c=v;return{dM:{l:g,k:n,c:v}}}();hljs.LANGUAGES.javascript={dM:{k:{keyword:{"in":1,"if":1,"for":1,"while":1,"finally":1,"var":1,"new":1,"function":1,"do":1,"return":1,"void":1,"else":1,"break":1,"catch":1,"instanceof":1,"with":1,"throw":1,"case":1,"default":1,"try":1,"this":1,"switch":1,"continue":1,"typeof":1,"delete":1},literal:{"true":1,"false":1,"null":1}},c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM,hljs.CNM,{b:"("+hljs.RSR+"|case|return|throw)\\s*",k:{"return":1,"throw":1,"case":1},c:[hljs.CLCM,hljs.CBLCLM,{cN:"regexp",b:"/",e:"/[gim]*",c:[{b:"\\\\/"}]}],r:0},{cN:"function",b:"\\bfunction\\b",e:"{",k:{"function":1},c:[{cN:"title",b:"[A-Za-z$_][0-9A-Za-z$_]*"},{cN:"params",b:"\\(",e:"\\)",c:[hljs.ASM,hljs.QSM,hljs.CLCM,hljs.CBLCLM]}]}]}};hljs.LANGUAGES.css=function(){var a={cN:"function",b:hljs.IR+"\\(",e:"\\)",c:[{eW:true,eE:true,c:[hljs.NM,hljs.ASM,hljs.QSM]}]};return{cI:true,dM:{i:"[=/|']",c:[hljs.CBLCLM,{cN:"id",b:"\\#[A-Za-z0-9_-]+"},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"pseudo",b:":(:)?[a-zA-Z0-9\\_\\-\\+\\(\\)\\\"\\']+"},{cN:"at_rule",b:"@(font-face|page)",l:"[a-z-]+",k:{"font-face":1,page:1}},{cN:"at_rule",b:"@",e:"[{;]",eE:true,k:{"import":1,page:1,media:1,charset:1},c:[a,hljs.ASM,hljs.QSM,hljs.NM]},{cN:"tag",b:hljs.IR,r:0},{cN:"rules",b:"{",e:"}",i:"[^\\s]",r:0,c:[hljs.CBLCLM,{cN:"rule",b:"[^\\s]",rB:true,e:";",eW:true,c:[{cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[a,hljs.NM,hljs.QSM,hljs.ASM,hljs.CBLCLM,{cN:"hexcolor",b:"\\#[0-9A-F]+"},{cN:"important",b:"!important"}]}}]}]}]}}}();hljs.LANGUAGES.xml=function(){var b="[A-Za-z0-9\\._:-]+";var a={eW:true,c:[{cN:"attribute",b:b,r:0},{b:'="',rB:true,e:'"',c:[{cN:"value",b:'"',eW:true}]},{b:"='",rB:true,e:"'",c:[{cN:"value",b:"'",eW:true}]},{b:"=",c:[{cN:"value",b:"[^\\s/>]+"}]}]};return{cI:true,dM:{c:[{cN:"pi",b:"<\\?",e:"\\?>",r:10},{cN:"doctype",b:"<!DOCTYPE",e:">",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"<!--",e:"-->",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"<style",e:">",k:{title:{style:1}},c:[a],starts:{cN:"css",e:"</style>",rE:true,sL:"css"}},{cN:"tag",b:"<script",e:">",k:{title:{script:1}},c:[a],starts:{cN:"javascript",e:"<\/script>",rE:true,sL:"javascript"}},{cN:"vbscript",b:"<%",e:"%>",sL:"vbscript"},{cN:"tag",b:"</?",e:"/?>",c:[{cN:"title",b:"[^ />]+"},a]}]}}}();hljs.LANGUAGES.java={dM:{k:{"false":1,"synchronized":1,"int":1,"abstract":1,"float":1,"private":1,"char":1,"interface":1,"boolean":1,"static":1,"null":1,"if":1,"const":1,"for":1,"true":1,"while":1,"long":1,"throw":1,strictfp:1,"finally":1,"protected":1,"extends":1,"import":1,"native":1,"final":1,"implements":1,"return":1,"void":1,"enum":1,"else":1,"break":1,"transient":1,"new":1,"catch":1,"instanceof":1,"byte":1,"super":1,"class":1,"volatile":1,"case":1,assert:1,"short":1,"package":1,"default":1,"double":1,"public":1,"try":1,"this":1,"switch":1,"continue":1,"throws":1},c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10},hljs.CLCM,hljs.CBLCLM,hljs.ASM,hljs.QSM,{cN:"class",b:"(class |interface )",e:"{",k:{"class":1,"interface":1},i:":",c:[{b:"(implements|extends)",k:{"extends":1,"implements":1},r:10},{cN:"title",b:hljs.UIR}]},hljs.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}};hljs.LANGUAGES.php={cI:true,dM:{k:{and:1,include_once:1,list:1,"abstract":1,global:1,"private":1,echo:1,"interface":1,as:1,"static":1,endswitch:1,array:1,"null":1,"if":1,endwhile:1,or:1,"const":1,"for":1,endforeach:1,self:1,"var":1,"while":1,isset:1,"public":1,"protected":1,exit:1,foreach:1,"throw":1,elseif:1,"extends":1,include:1,__FILE__:1,empty:1,require_once:1,"function":1,"do":1,xor:1,"return":1,"implements":1,parent:1,clone:1,use:1,__CLASS__:1,__LINE__:1,"else":1,"break":1,print:1,"eval":1,"new":1,"catch":1,__METHOD__:1,"class":1,"case":1,exception:1,php_user_filter:1,"default":1,die:1,require:1,__FUNCTION__:1,enddeclare:1,"final":1,"try":1,"this":1,"switch":1,"continue":1,endfor:1,endif:1,declare:1,unset:1,"true":1,"false":1,namespace:1},c:[hljs.CLCM,hljs.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+",r:10}]},hljs.CNM,hljs.inherit(hljs.ASM,{i:null}),hljs.inherit(hljs.QSM,{i:null}),{cN:"variable",b:"\\$[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"},{cN:"preprocessor",b:"<\\?php",r:10},{cN:"preprocessor",b:"\\?>"}]}};hljs.LANGUAGES.python=function(){var c={cN:"string",b:"(u|b)?r?'''",e:"'''",r:10};var b={cN:"string",b:'(u|b)?r?"""',e:'"""',r:10};var a={cN:"string",b:"(u|r|ur|b|br)'",e:"'",c:[hljs.BE],r:10};var f={cN:"string",b:'(u|r|ur|b|br)"',e:'"',c:[hljs.BE],r:10};var d={cN:"title",b:hljs.UIR};var e={cN:"params",b:"\\(",e:"\\)",c:[c,b,a,f,hljs.ASM,hljs.QSM]};return{dM:{k:{keyword:{and:1,elif:1,is:1,global:1,as:1,"in":1,"if":1,from:1,raise:1,"for":1,except:1,"finally":1,print:1,"import":1,pass:1,"return":1,exec:1,"else":1,"break":1,not:1,"with":1,"class":1,assert:1,yield:1,"try":1,"while":1,"continue":1,del:1,or:1,def:1,lambda:1,nonlocal:10},built_in:{None:1,True:1,False:1,Ellipsis:1,NotImplemented:1}},i:"(</|->|\\?)",c:[hljs.HCM,c,b,a,f,hljs.ASM,hljs.QSM,{cN:"function",b:"\\bdef ",e:":",i:"$",k:{def:1},c:[d,e],r:10},{cN:"class",b:"\\bclass ",e:":",i:"[${]",k:{"class":1},c:[d,e],r:10},hljs.CNM,{cN:"decorator",b:"@",e:"$"}]}}}();hljs.LANGUAGES.perl=function(){var c={getpwent:1,getservent:1,quotemeta:1,msgrcv:1,scalar:1,kill:1,dbmclose:1,undef:1,lc:1,ma:1,syswrite:1,tr:1,send:1,umask:1,sysopen:1,shmwrite:1,vec:1,qx:1,utime:1,local:1,oct:1,semctl:1,localtime:1,readpipe:1,"do":1,"return":1,format:1,read:1,sprintf:1,dbmopen:1,pop:1,getpgrp:1,not:1,getpwnam:1,rewinddir:1,qq:1,fileno:1,qw:1,endprotoent:1,wait:1,sethostent:1,bless:1,s:1,opendir:1,"continue":1,each:1,sleep:1,endgrent:1,shutdown:1,dump:1,chomp:1,connect:1,getsockname:1,die:1,socketpair:1,close:1,flock:1,exists:1,index:1,shmget:1,sub:1,"for":1,endpwent:1,redo:1,lstat:1,msgctl:1,setpgrp:1,abs:1,exit:1,select:1,print:1,ref:1,gethostbyaddr:1,unshift:1,fcntl:1,syscall:1,"goto":1,getnetbyaddr:1,join:1,gmtime:1,symlink:1,semget:1,splice:1,x:1,getpeername:1,recv:1,log:1,setsockopt:1,cos:1,last:1,reverse:1,gethostbyname:1,getgrnam:1,study:1,formline:1,endhostent:1,times:1,chop:1,length:1,gethostent:1,getnetent:1,pack:1,getprotoent:1,getservbyname:1,rand:1,mkdir:1,pos:1,chmod:1,y:1,substr:1,endnetent:1,printf:1,next:1,open:1,msgsnd:1,readdir:1,use:1,unlink:1,getsockopt:1,getpriority:1,rindex:1,wantarray:1,hex:1,system:1,getservbyport:1,endservent:1,"int":1,chr:1,untie:1,rmdir:1,prototype:1,tell:1,listen:1,fork:1,shmread:1,ucfirst:1,setprotoent:1,"else":1,sysseek:1,link:1,getgrgid:1,shmctl:1,waitpid:1,unpack:1,getnetbyname:1,reset:1,chdir:1,grep:1,split:1,require:1,caller:1,lcfirst:1,until:1,warn:1,"while":1,values:1,shift:1,telldir:1,getpwuid:1,my:1,getprotobynumber:1,"delete":1,and:1,sort:1,uc:1,defined:1,srand:1,accept:1,"package":1,seekdir:1,getprotobyname:1,semop:1,our:1,rename:1,seek:1,"if":1,q:1,chroot:1,sysread:1,setpwent:1,no:1,crypt:1,getc:1,chown:1,sqrt:1,write:1,setnetent:1,setpriority:1,foreach:1,tie:1,sin:1,msgget:1,map:1,stat:1,getlogin:1,unless:1,elsif:1,truncate:1,exec:1,keys:1,glob:1,tied:1,closedir:1,ioctl:1,socket:1,readlink:1,"eval":1,xor:1,readline:1,binmode:1,setservent:1,eof:1,ord:1,bind:1,alarm:1,pipe:1,atan2:1,getgrent:1,exp:1,time:1,push:1,setgrent:1,gt:1,lt:1,or:1,ne:1,m:1};var d={cN:"subst",b:"[$@]\\{",e:"}",k:c,r:10};var b={cN:"variable",b:"\\$\\d"};var a={cN:"variable",b:"[\\$\\%\\@\\*](\\^\\w\\b|#\\w+(\\:\\:\\w+)*|[^\\s\\w{]|{\\w+}|\\w+(\\:\\:\\w*)*)"};var g=[hljs.BE,d,b,a];var f={b:"->",c:[{b:hljs.IR},{b:"{",e:"}"}]};var e=[b,a,hljs.HCM,{cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5},f,{cN:"string",b:"q[qwxr]?\\s*\\(",e:"\\)",c:g,r:5},{cN:"string",b:"q[qwxr]?\\s*\\[",e:"\\]",c:g,r:5},{cN:"string",b:"q[qwxr]?\\s*\\{",e:"\\}",c:g,r:5},{cN:"string",b:"q[qwxr]?\\s*\\|",e:"\\|",c:g,r:5},{cN:"string",b:"q[qwxr]?\\s*\\<",e:"\\>",c:g,r:5},{cN:"string",b:"qw\\s+q",e:"q",c:g,r:5},{cN:"string",b:"'",e:"'",c:[hljs.BE],r:0},{cN:"string",b:'"',e:'"',c:g,r:0},{cN:"string",b:"`",e:"`",c:[hljs.BE]},{cN:"string",b:"{\\w+}",r:0},{cN:"string",b:"-?\\w+\\s*\\=\\>",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[hljs.BE],r:0},{cN:"sub",b:"\\bsub\\b",e:"(\\s*\\(.*?\\))?[;{]",k:{sub:1},r:5},{cN:"operator",b:"-\\w\\b",r:0},{cN:"pod",b:"\\=\\w",e:"\\=cut"}];d.c=e;f.c[1].c=e;return{dM:{k:c,c:e}}}();hljs.LANGUAGES.cpp=function(){var b={keyword:{"false":1,"int":1,"float":1,"while":1,"private":1,"char":1,"catch":1,"export":1,virtual:1,operator:2,sizeof:2,dynamic_cast:2,typedef:2,const_cast:2,"const":1,struct:1,"for":1,static_cast:2,union:1,namespace:1,unsigned:1,"long":1,"throw":1,"volatile":2,"static":1,"protected":1,bool:1,template:1,mutable:1,"if":1,"public":1,friend:2,"do":1,"return":1,"goto":1,auto:1,"void":2,"enum":1,"else":1,"break":1,"new":1,extern:1,using:1,"true":1,"class":1,asm:1,"case":1,typeid:1,"short":1,reinterpret_cast:2,"default":1,"double":1,register:1,explicit:1,signed:1,typename:1,"try":1,"this":1,"switch":1,"continue":1,wchar_t:1,inline:1,"delete":1,alignof:1,char16_t:1,char32_t:1,constexpr:1,decltype:1,noexcept:1,nullptr:1,static_assert:1,thread_local:1},built_in:{std:1,string:1,cin:1,cout:1,cerr:1,clog:1,stringstream:1,istringstream:1,ostringstream:1,auto_ptr:1,deque:1,list:1,queue:1,stack:1,vector:1,map:1,set:1,bitset:1,multiset:1,multimap:1,unordered_set:1,unordered_map:1,unordered_multiset:1,unordered_multimap:1,array:1,shared_ptr:1}};var a={cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,r:10};a.c=[a];return{dM:{k:b,i:"</",c:[hljs.CLCM,hljs.CBLCLM,hljs.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},hljs.CNM,{cN:"preprocessor",b:"#",e:"$"},a]}}}(); \ No newline at end of file
diff --git a/lib/zenburn.css b/lib/zenburn.css
new file mode 100644
index 0000000..f4070ca
--- /dev/null
+++ b/lib/zenburn.css
@@ -0,0 +1,115 @@
+/*
+
+Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
+based on dark.css by Ivan Sagalaev
+
+*/
+
+pre code {
+ display: block; padding: 0.5em;
+ background: #3F3F3F;
+ color: #DCDCDC;
+}
+
+pre .keyword,
+pre .tag,
+pre .django .tag,
+pre .django .keyword,
+pre .css .class,
+pre .css .id,
+pre .lisp .title {
+ color: #E3CEAB;
+}
+
+pre .django .template_tag,
+pre .django .variable,
+pre .django .filter .argument {
+ color: #DCDCDC;
+}
+
+pre .number,
+pre .date {
+ color: #8CD0D3;
+}
+
+pre .dos .envvar,
+pre .dos .stream,
+pre .variable,
+pre .apache .sqbracket {
+ color: #EFDCBC;
+}
+
+pre .dos .flow,
+pre .diff .change,
+pre .python .exception,
+pre .python .built_in,
+pre .literal,
+pre .tex .special {
+ color: #EFEFAF;
+}
+
+pre .diff .chunk,
+pre .ruby .subst {
+ color: #8F8F8F;
+}
+
+pre .dos .keyword,
+pre .python .decorator,
+pre .class .title,
+pre .haskell .label,
+pre .function .title,
+pre .ini .title,
+pre .diff .header,
+pre .ruby .class .parent,
+pre .apache .tag,
+pre .nginx .built_in,
+pre .tex .command,
+pre .input_number {
+ color: #efef8f;
+}
+
+pre .dos .winutils,
+pre .ruby .symbol,
+pre .ruby .symbol .string,
+pre .ruby .symbol .keyword,
+pre .ruby .symbol .keymethods,
+pre .ruby .string,
+pre .ruby .instancevar {
+ color: #DCA3A3;
+}
+
+pre .diff .deletion,
+pre .string,
+pre .tag .value,
+pre .preprocessor,
+pre .built_in,
+pre .sql .aggregate,
+pre .javadoc,
+pre .smalltalk .class,
+pre .smalltalk .localvars,
+pre .smalltalk .array,
+pre .css .rules .value,
+pre .attr_selector,
+pre .pseudo,
+pre .apache .cbracket,
+pre .tex .formula {
+ color: #CC9393;
+}
+
+pre .shebang,
+pre .diff .addition,
+pre .comment,
+pre .java .annotation,
+pre .template_comment,
+pre .pi,
+pre .doctype {
+ color: #7F9F7F;
+}
+
+pre .xml .css,
+pre .xml .javascript,
+pre .xml .vbscript,
+pre .tex .formula {
+ opacity: 0.5;
+}
+