Skip to content

Instantly share code, notes, and snippets.

@dspelaez
Created September 14, 2017 23:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dspelaez/d85e199b339f973bc2fbea59e0a05101 to your computer and use it in GitHub Desktop.
Save dspelaez/d85e199b339f973bc2fbea59e0a05101 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"![logo](cicese.jpg)\n",
"\n",
"# Estimación de la tasa de disipación de energía cinética turbulenta a partir de mediciones con perfilador VMP-250\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Algoritmo de Rockland Scientific International\n",
"\n",
"La tasa de disipación de energía cinética turbulenta (TKE, Turbulent Kinetic Energy), considerando isotropía en la turbulencia, es proporcional a la viscosidad cinemática y a la varianza del corte vertical de la velocidad, es decir:\n",
"\n",
"$$\\epsilon = \\frac{15}{2} \\nu \\overline{ \\left( \\frac{\\partial u}{\\partial z} \\right)^2 }$$\n",
"\n",
"donde $\\nu$ es la visocidad cinemática, la cual es una propiedad del fluido y se suele calcular en función de la temperatura, salinidad y presión.\n",
"\n",
"Las mediciones del corte vertical de la velocidad ($\\partial u / \\partial z$) que se obtienen a partir de un perfilador de microestructura como en este caso el VMP-250 están limitadas a la resolución espacial. Es decir, para ciertos niveles de turbulencia, el sensor no pordrá resolver números de onda mayores a cierto umbral, así todas las mediciones que se registren a partir de dicho umbral corresponden a riudo electrónico o contaminación por vibraciones, por lo tanto no se deben tener en cuenta en el cálculo de la varianza.\n",
"\n",
"La forma práctica de hacerlo es calculando el número de onda hasta el cuál puede resolver el sensor sin que se vea influenciado por la contaminación de los datos, e integrar el espectro de corte hasta dicho número, es decir:\n",
"\n",
"$$\\epsilon = \\frac{15}{2}\\nu \\int\\limits_{0}^{k_{\\max}} \\Psi(k) \\mathrm{d}k$$\n",
"\n",
"donde $\\Psi(k)$ es el espectro en número de onda del corte de la velocidad."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Espectro de Nasmyth\n",
"\n",
"Tomamos como referencia el espectro universal de Nashmyth, el cual es un a aproximación empírica, derivada a partir de observaciones, de la forma que tiene el espectro del corte de la velocidad. Este espectro está dado por [Lueck](http://www.seuront.com/Publications/JAOT-2002.pdf) como\n",
"\n",
"$$\n",
"\\Psi_N(\\tilde{k}) = \\frac{8.05 \\tilde{k}^{1/3}}{1 + (20.6 \\tilde{k})^{3.715}}\n",
"$$\n",
"\n",
"donde $\\tilde{k} = k (\\nu^3 / \\epsilon)^{1/4}$ es el número de onda adimensionalizado con la escala de Kolmogorov. Si tomamos un valor típico $\\nu = 1.1464 \\cdot 10^{-6}\\, \\mathrm{m^2s^{-1}}$, el espectro de Nasmyth luce como:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"%matplotlib notebook\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import scipy.signal as signal\n",
"from tools.helpers import scientific_notation\n",
"import tools.vmpy as vmpy"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" this.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAugAAAJwCAYAAADbb5S+AAAgAElEQVR4XuydB7wU1b3HT+woKKCiiCAoxZj3FCuolJhorBg0sSKJiTUqxh5LQMACdmPvGkVsMTYsiA0Fu6h5MVEEQRBREEGwPqLvzfdwB2bP7uWevXvu7uzs7//5zGdvOTs78z1zdn5zzr/8yMhEQAREQAREQAREQAREQARSQ+BHqTkSHYgIiIAIiIAIiIAIiIAIiICRQNdFIAIiIAIiIAIiIAIiIAIpIiCBnqLO0KGIgAiIgAiIgAiIgAiIgAS6rgEREAEREAEREAEREAERSBEBCfQUdYYORQREQAREQAREQAREQAQk0HUNiIAIiIAIiIAIiIAIiECKCEigp6gzdCgiIAIiIAIiIAIiIAIiIIGua0AEREAEREAEREAEREAEUkRAAj1FnaFDEQEREAEREAEREAEREAEJdF0DIiACIiACIiACIiACIpAiAhLoKeoMHYoIiIAIiIAIiIAIiIAISKDrGhABERABERABERABERCBFBGQQE9RZ+hQREAEREAEREAEREAEREACXdeACIiACIiACIiACIiACKSIgAR6ijpDhyICIiACIiACIiACIiACEui6BkRABERABERABERABEQgRQQk0FPUGToUERABERABERABERABEZBA1zUgAiIgAiIgAiIgAiIgAikiIIGeos7QoYiACIiACIiACIiACIiABLquAREQAREQAREQAREQARFIEQEJ9BR1hg5FBERABERABERABERABCTQdQ2IgAiIgAiIgAiIgAiIQIoISKCnqDN0KCIgAiIgAiIgAiIgAiIgga5rQAREQAREQAREQAREQARSREACPUWdoUMRAREQAREQAREQAREQAQl0XQMiIAIiIAIiIAIiIAIikCICEugp6gwdigiIgAiIgAiIgAiIgAhIoOsaEAEREAEREAEREAEREIEUEZBAT1Fn6FBEQAREQAREQAREQAREQAJd14AIiIAIiIAIiIAIiIAIpIiABHqKOkOHIgIiIAIiIAIiIAIiIAIS6LoGREAEREAEREAEREAERCBFBCTQU9QZOhQREAEREAEREAEREAERkEDXNSACIiACIiACIiACIiACKSIggZ6iztChiIAIiIAIiIAIiIAIiIAEuq4BERABERABERABERABEUgRAQn0FHWGDkUEREAEREAEREAEREAEJNB1DYiACIiACIiACIiACIhAighIoKeoM3QoIiACIiACIiACIiACIiCBrmtABERABERABERABERABFJEQAI9RZ2hQxEBERABERABERABERABCXRdAyIgAiIgAiIgAiIgAiKQIgIS6CnqDB2KCIiACIiACIiACIiACEig6xoQAREQAREQAREQAREQgRQRkEBPUWfoUERABERABERABERABERAAl3XgAiIgAiIgAiIgAiIgAikiIAEeoo6Q4ciAiIgAiIgAiIgAiIgAhLougZEQAREQAREQAREQAREIEUEJNBT1Bk6FBEQAREQAREQAREQARGQQNc1IAIiIAIiIAIiIAIiIAIpIiCBnqLO0KGIgAiIgAiIgAiIgAiIgAS6rgEREAEREAEREAEREAERSBEBCfQUdYYORQREQAREQAREQAREQAQk0HUNiIAIiIAIiIAIiIAIiECKCEigp6gzdCgiIAIiIAIiIAIiIAIiIIGua0AEREAEREAEREAEREAEUkRAAj1FnaFDEQEREAEREAEREAEREAEJdF0DIiACIiACIiACIiACIpAiAhLoKeoMHYoIiIAIiIAIiIAIiIAISKDrGhABERABERABERABERCBFBGQQE9RZ+hQREAEREAEREAEREAEREACXdeACIiACIiACIiACIiACKSIgAR6ijpDhyICIiACIiACIiACIiACEui6BkRABERABERABERABEQgRQQk0FPUGToUERABERABERABERABEZBAL+4aaBc1/3G0PVXc29RaBERABERABERABERABPwISKD7caLVf0XbddH2crSd4v82tRQBERABERABERABERABfwIS6P6saDk02pqXKNDfqfvInxT30WqdQgLqyxR2SgmHpP4sAV7K3qq+TFmHlHA46ssS4KXwrepPz06pRYHeK2JzTrTt5DCCxYnRtl60LY629et+X5RoJ4HueWHVSDN90WSro9Wf2elP9aX6MjsEsnUmGpue/VlLAp2Z737Rdna0dYs299zPiP62c7T9vI7d8Oi1e7TtLYHueTXVXjN90WSrz9Wf2elP9aX6MjsEsnUmGpue/VlLAj1Gwuz5nx2B3jr6fWa0HR1td9Q17Bi9Tou2PtH2Qt3fhkavcnHxvLhqoJm+aLLVyerP7PSn+lJ9mR0C2ToTjU3P/qxFgY7IZhY9ee4HR7/fGW34hf8rwe6z6Oe7om1QRgV6y+i8Toi2y6Ntgec1s7xmjd1fse/zab+8No35X6H3pOmLxodJMV1cyv6Kea9P24ba1Pf/Yv+elv5s6HyL6ce4bWP3Wcz7fNo21EZjs+HebYhhfXso9n0+7RvTXxxfMWMzLeNyecfdcK8VbuHDOER/+nxOQ22K6bPlsUpTfza238ryPgn0JZhHRNvp0bZWtC1MkH8r+hkf9N4ZFegdo/NilaBTtE0PcMU1dn/Fvs+n/fLaNOZ/hd6Tpi8aHybFdHEp+yvmvT5tG2pT3/+L/Xta+rOh8y2mH+O2jd1nMe/zadtQG43Nhnu3IYb17aHY9/m0b0x/cXzFjM20jMvlHXfDvVa4hQ/jEP3p8zkNtSmmz5bHKk392dh+K8v7JNCXYL4+2o6MtpWi7fsE+QnRz+tGGz7rnaPtxmiD2VHR9l4DPRRfhG6zzaI//BBt75alh5f/IStH/+4Sbe9HG4GxpVpj91fs+3zaL69NY/5X6D2b1AGbWiq4AO/3YVLMx5Syv2Le69O2oTb1/b/Yv6elPxs632L6MW7b2H0W8z6ftg210dhsuHcbYljfHop9n0/7xvQXx1fM2EzLuFzecTfca4Vb+DAO0Z8+n9NQm2L6bHmsNo3+uUK0Jb0VkueoDHd1NCTQl4C4MtqOi7YVow3xHBu+5yzr/HcjRl99An3TVVdddYVNNom/cxqx50Bv+f777828efPM2muvbVZckVMvzRq7v2Lf59N+eW0a8z+fzyyNXmnvDn18peyvmPf6tG2oTX3/L/bvpfVAuHc3dL6N+aTG7rOY9/m0baiNxmbDvdsQw/r2UOz7fNo3pr84vrSMzR9++MF8++235rvvvlv6ys8cX9JWWGEFE923zcorr2z+85//mFatWplmzZrZ33/0o8bLKB/GIfrT53OSbWDw2WefmS+//NJ+/FprrWXWWWcd88UXX+TphWL7curUqfBe3iSlBHpdpzf+ymr4eyStLYZGB+b6oA+O/kbWljWjLZlWcVL0+9xo2zXgybyzWWTvvFOffg/4SdqVCIiACIiACNQ4AUT4v//9b/PPf/7Tbv/zP/9jX2fOJDfEMltzzTXNf/3Xfy3dfvKTn5hNN93UtG3btiQhXq34J02aZE4//XQzbtw4+0By1llnmdNOO80+mDTWYPqvyKL3S4g3AFECfQkg0i8+HG0/jrak68mn0e+jou3kxl6MBd4ngR4QpnYlAiIgAiIgAhBgNpcZ2liAx6/vv/++YbY8NmbDf/zjH1sh/t///d9LBXn79u1rUogv7+r5v//7P/PEE0+Yk046ybz77rume/fu5pZbbjFbbrlloy46CXR/bBLoS1g1izYythwRbaPr8LWPXmdE2w7R9pI/0gZbSqA3iEgNREAEREAERKAwAUTjrFmzcmbDEePMkjNbHhuuKZ07d14qwGMxzt9WWomQM5kvAdxezj33XDNiBDk1IpeD4cPt7DqMizEJdH9atSjQ44wtrr/5eRG2baItdmfB7eUX0UYe9P/zR9pgSwn0BhGpgQiIgAiIgAgY8/nnn+e5puCesmBBbmbgdu3a5cyGI8aZJcc1w7VdLh1v/zTupL5CXCSBN9980/zmN7+xfbLbbruZO+64w/qn+5oEui+p/Gqa/u+svpY4Te0fbQjxjepe745e/1l3KjwGxn7o86OfST14QrR9HuhUCTZle7Jbt25dWCqSiYAIiIAIiIAIGPP111/jm5wzK44I/Pjjj3PwtGzZ0grxpGsKrioEbvqaBLovqcLt6KtBgwZZVxcejB566CGz9dZbe+20TqAjgHavewNPWrlPW157yn6jWpxBr1SvDo0+mOBU+7Q5dy6xpzIREAEREAERqB0CZEHBJ9z1E8d3HNeV2FZbbTWDmEv6iSPKQwRsSqCHud7++te/mqOOOspmgRs9erT55S9/2eCO6wQ6AogU1tiwaEMfyRwCEujluyQ0g14+1vokERABERCBChJAbM+YMWOpEI+zp7B6/L//+79Ljwxx17Vr1zw/8Y033jhI+t9CCCTQw10YL730khXmpGW8+OKLbTDp8kwz6P7sJdD9WYVqKR/0UCS1HxEQAREQgYoTYEU4mb4wTme4aFEya7ExHTp0WOqaEruoRC6fhtnycpoEelja06ZNM3vuuacN0j3zzDNtMGl9+eHlg+7PXgLdn1WolhLooUhqPyIgAiIgAmUjQOEaangkxTiuKnPmzMk5BorfJf3E+Tkq/2EL3qTBJNDD98L8+fNt0Oirr75q/vjHP5rLLrusoEiXQPdnL4HuzypUSwn0UCS1HxEQAREQgeAEcEF577338rKnMFOatDXWWMP6iScDNvm5TZs2qc4nLoEe/JKxO1y4cKHZa6+9zAsvvGCOPPJIc+211+alYZRA92cvge7PKlRLCfRQJLUfERABERCBRhOgeM/06dPzAjYR5wRzxkbOcCpquoV9OnbsWHQe7EYfbMA3SqAHhOnsigwv/fv3t9VHjz/+eHP55ZfnPKxJoPuzl0D3Z1VqSwWJlkpQ7xcBERABESiaAAGbn376aZ5rCu4qCKqkEZwZl7uPZ8YJ4lxllVWK/ty0vkECvWl75ptvvjG77767GT9+vBk8eLAtahSbgkT92Uug+7MqteXQaAdKs1gqRb1fBERABESgXgJffPGF9ROP0xjG/uLz5s3Lec96662X55qCn3jz5s0zT3f85CVpjvt2jTP9Zf6Uy36CuLvsvPPO5rXXXjMXXnihOfXUU+0xKM2if1dIoPuzKrWlZtBLJaj3i4AIiIAIWAKUtCdloZs9hdSGSWvRokWeawoz5OuuK3GqS6lpCfBQ+NOf/tReo6NGjTIDBgyIBboKFXmgl0D3gBS4iXzQAwPV7kRABEQgqwS+//5788EHH+T5iVPsh//FhgsKpe3dwj7t27dPdcBmVvtN57WEwKxZs0yPHj1sccannnrKHH300VSM/Vf0r5+I0fIJSKCX/wqRQC8/c32iCIiACKSaAH7ilLV3XVPQMsyWx0Z+6c6dO+f5iXfp0sUQzCkTgbQRePvtt02vXr1sHEPr1q3NlClTJNA9OkkC3QNS4CYS6IGBanciIAIiUE0EyBldqLAPf0/aBhtskFfYh1ny1VdfvZpON3XHOvwR9KExQ/ptlrpjy+oBPf7446Zfv34268/ixYsl0D06WgLdA1LgJhLogYFqdyIgAiKQRgJkSKG6olvYh5nypLVs2TLPNYVgOmYbZeEJKItLeKY+e7zuuuvMH/7wB5pKoHsAk0D3gBS4iQR6YKDanQiIgAhUkgA5w/EJj0vcx24q0VK+wXUlNkrakynFLezDTHl9pdEreV5Z/WwJ9Mr1bIcOHczMmTMl0D26QALdA1LgJhLogYFqdyIgAiJQDgKI7Uhc5AVsMktO9c3YWMYnd7hb2GeTTTYxK664YjkOVZ+xHAIS6JW7PFSoyJ+9BLo/q1AtJdBDkdR+REAERKCJCHz22Wd5rinMkC9atCjnE5kRdAv7UHWT2XJZOglIoFeuXyTQ/dlLoPuzCtVSAj0USe1HBERABEok8OWXX5L2LS97CpU3k7b22mvnuaYgNtZaa60Sj0BvLzcBCfRyE1/2eRLo/uwl0P1ZldpShYpKJaj3i4AIiEAjCUSZI8x7772Xlz2FHONJI0MKIiL2E49fqbwpP/FGwk/Z2yTQK9chdQJdhYo8ukAC3QNSoCZDo/2czb7WWWcdm7RfJgIiIAIiEJbADz/8YD788MM8P3HEOSI9NnKGd+vWLS97SseOHW0qOFl2CUigV65v6wQ6AiguZTss+hl9JHMISKCX75LQDHr5WOuTREAEMk6AgM05c+bkuaa888475quvvso5+06dOuUFbCLOKZwiqz0CEuiV63PNoPuzl0D3ZxWqpXzQQ5HUfkRABGqCwMKFCw3C262ySSBn0tq0aZPnmkJawxYtWtQEJ52kHwEVKvLj1BSt5IPuT1UC3Z9VqJYS6KFIaj8iIAKZIvDdd9+Zd999Ny97yowZM3LOE8EdZ06JUxly40egy0RABNJLQALdv28k0P1ZhWopgR6KpPYjAiJQlQS+//57Q3CmW9hn8uTJhv/FtvLKKxtK27uFfUhtqIDNqux6HXSNE5BA978AJND9WYVqKYEeiqT2IwIikGoC+InPnj07L2CTtIbffPPN0mNHbFPExy3s06VLF4NIl4mACGSDgAS6fz9KoPuzCtVSAj0USe1HBEQgNQTmz5+f4yce+4vz96RR1t4t7IOfOOkNZSJQDgLjJy/Jota3a5xIpByfqs+AgAS6/3Ugge7PKlRLCfRQJLUfERCBshNg5pvS9m7A5qxZs3KOhQI+rmsKN2cK/shEoJIElMWlcvQl0P3ZS6D7swrVUgI9FEntRwREoMkI/Oc//zFTpkzJK+zD38g1Htuqq65qmAF3C/u0a9dOfuJN1jvacSkEJNBLoVfaeyXQ/flJoPuzCtVSAj0USe1HBESgZAL4ic+cOTMvYJNZcrKqxEbxHnzCk37iiHJ8x1dcccWSj0M7EIFyEZBALxfp/M+RQPdnL4HuzypUSwn0UCS1HxEQgaIIzJs3L881hUwq5BlPWvv27fMCNsmmstpqqxX1eWosAmkkIIFeuV6RQPdnL4HuzypUSwn0UCS1HxEQgYIEqKRJphTXT/yTTz7Jad+6des81xRuoC1bUvhYJgLZJCCBXrl+lUD3Zy+B7s8qVEsJ9FAktR8RqHECixcvNuQOZxY8FuO8Tps2zeC6EhsZUrgxutlT1l9/ffmJ1/g1VIunL4FeuV6XQPdnL4HuzypUSwn0UCS1HxGoEQIEZX744Yd5fuJU3USkx4YveLdu3fKyp3Tq1MngQy4TAREwRgK9cleBBLo/ewl0f1ahWkqghyKp/YhABgnMmTMnr7DPO++8Y7788sucs+3YsWOenzjinKwqMhEQgfoJSKBX7uqQQPdnL4HuzypUSwn0UCS1HxGoYgKLFi0qWNhn7twlRVRia9OmTZ5rCje5Fi1aVPHZ69BFoHIEShXouI/xwLxgwQLz7bffmv/93/+1K1m8fv/99/YhmYBqtmbNmtnc/6usskrlTjhFnyyB7t8ZEuj+rEK1lEAPRVL7EYEqIECqwvfeey8vYBOXlaQ1b958qRBPpjJEoMtEQASalgCi+4svvjAU3Cq0sbJFVdzPP//cCnPqBBRjBGQT80F9AFa6Nt10U7ttvfXWNRWULYHuf9VIoPuzKrUlaRHYnowGZxd8R2UiIALZIYCf+AcffJBX2IcgzuTNfOWVV7Y3ZrewT4cOHeQnnp3LQWeSQgKMwxkzZthxOnXq1KVb/DurWoVspZVWMuutt55p1apV3sYMOWOaGXJeiQNhJp2ZdTYyKrEq9umnn9qNmgP8LbYf/ehHttDXDjvsYHbZZRez6667mjXXXDOF9MIcUp1ARwDtXrfHBdErm8whIIFevktiaPRRZ/Nx66yzjh2wMhEQgeojwEzb7Nmz8wI28RP/5ptvcm68G2+8cV5hH4r9cCOXiYAIhCfA+CSdKJNgbBTcYgULQc6qlTvzTfA0D8eMVeI6mOF2N+7ZoYKsOT5m6Dk2si+9/PLL5sUXX7TCHeO7YaeddjIHHXSQ2W+//cwaa6wRHlIF91gn0BFA69YdxrDoFX0kk0Cv2DWgGfSKodcHi0DjCLCUzU003uJUhixzJ61t27Z5AZvMimXt5to4inqXCIQngNBm5hsBnhTj/IyrStKY5abibbwhxuOfN9poo1T4h/Pw8Oijj5pHHnnEPPPMM3YWHre3Aw880Pzxj3+03y9ZMM2g+/eiZtD9WYVqKR/0UCS1HxEIRICZb27syVziiPKPPvoo5xNYenZdU7hxEgQmEwERCE+AsYkIp/BWUoy///77OSlG+WTcUGLfbirf8jOvG264Yc4MeKlBouHPMnePTAzcdddd5uabbzZvvPGG/We/fv3MmWeeaXr27NnUH9+k+5cPuj9eCXR/VqFaSqCHIqn9iECRBJh1Y6nbLewzZcoUgw95bGRhYAbcLezDjR6fUZkIiEBYAoxNxqFb/ZbxmhybuJowAx4L8FiEE3hJIKaPpV2gJ8/h1VdfNSNHjjQPPPCA/fO+++5rLrjgAtO5c2efU01dGwl0/y7RncafVaiWEuihSGo/IlAPAfw8mf1OCnF+ZhaOrCqxcbPnRhfPisfZU1j+JjBMJgIiEJYAYxN/a/chmdlx3DqSY7Nr165LH5J5YEaUE8NRaq7/ahLoMQ/4DB482Nx///3WT/2EE04wQ4cONVQJriaTQPfvLQl0f1ahWkqghyKp/YhARAB/cNc1hZu/64fK7HcyfSE/c8PHP1UmAiIQnsBnn32WF7/B2Fy4cGHOh7Vv3z7vIZmZcfKIN4VVo0CPObzwwgvmxBNPtK4vTCTgBtO3b9+mwNQk+5RA98cqge7PKlRLCfRQJLWfmiJAajJmwN2ATTKqJI1UaIX8xFu2JE5bJgIiEJoARXvisZl0USGbStJwQWFsJscngm2ttdYKfUjL3V81C3ROjGJIV1xxhTnrrLNs5ihm03F7qYZiSBLo/pe6BLo/q1AtJdBDkayx/ZCai2XOnXfeOdNnTkU+AsBcX1QyNrA8Hhsz33zZu37iZFSRn3imLxGdXIUIMDZJWeg+JDM2k4bbRTw2k2KcIM40jM1qF+gxa3z2Dz30UDNx4kSz3XbbmXvvvdeQlSbNJoHu3zsS6P6sQrWUQA9Fsob2ww3x6KOPthH8F198cSbOnMAvioa4fuJkU0n6olL4A19Ud1a8U6dOtiiITAREICwBxiZp/9yHZMQ5Ij024jQIznRdxxibofKGhz2zJXvLikDnXAiu/fOf/2xn0Fk9vOeee2zBo7SaBLp/z0ig+7MK1VICPRTJGtsPAUEsJVejQKdMtjvrxu+cT9KY/Une7BHlCIBSg8Jq7FLR6YqAFwFWpOKxmYzjoOhWstolO6OIj/uQzNisBrcKF0aWBHp8buRQP+SQQwzVUK+55hpz5JFHel0D5W4kge5PXALdj9Vvo2arRBtrRw9H26t+byvYSgK9BHhpf+uECRNspP2zzz6bc6jcCC+77DJb6pkIfHwz+b1Fixbep1QNAp2bAzd3V4wjApJGZb6kLyqinC/uLJe49u5oNRSBJiBAYGY8NpNinEDOpLVp0yYvYJMMKsV8VzXB4QfdZRYFOoBYfdxzzz1tAaeTTz7ZXHjhhalbyZBA97+UJdAbZkX5ruHRtm+0rRptz0cblQKWOcM2vI9kCwn04nhVRWtmgqkAN2zYMOujmfSV5gRGjBhhnnrqKfP000/b8xkyZIh56623zMMP87znZ2kS6LigcJ5u9pTp06fnnAyVNF0fcX7HF1UmAiIQngBpROMy8kkXFVxWkkaVStc1hd8R6Fm38ZOpNG9M365xtfnsnPHcuXNN//79zYsvvmh+85vf2CwvaUoZK4Huf61JoDfM6vyoCXW9Y8ffx6Kfz4u2iQ2/tWALCfRGgquGtzF7fu655+YIdNIAkkbsuuuuMwMHDrSngZDFT/P555+3af4OP/zwgqd3xx132NksrBICHV/UadOm5eUsnjx5svV9jI1VAdKiuWIcl5U0+6JWwzWlYxSBQgTI5MFMqbtaxdjkf8mxSTpR13WsQ4cOqQjYVO+GJ/Dtt9+a/fbbz4wZM8a+jho1KjWuSBLo/v0tgd4wqwejJvdG2+i6pjdFr7i43NDwWyXQG8moat+GiGYWPTmDPnr0aDNgwAC7vMxScWy4eRx00EHmyiuv9DrfphToHC9uN27AJsf89ddf5xwfVfzcwj4UD6lGX1Qv8GokAhUkwNgklagbsElaQ1LsxUZ2FPJiuw/JjE0eoGW1RYBVTnzS77vvPuv2QoGjNMTySKD7X4e1JtB7RWjOibadHERwODHaWHcnRH39ut8XRa/jou2qaHuo7j2XR6+fRtsIf8w5LTWD3khw1fC2QgL9jDPOsKWaKZyT9LHu3r279euk8ISPhRLoHEehgM158+blHMb666+ftwTOAwZL4zIREIHwBObPn28f5F0xzt+TRipRN2CTWXJcymQiEBNglfOwww4zt99+u9lnn31sGsZKu7tIoPtfn7Ui0FEU/aLt7GjrFm3ueZ8R/Y3k0j+vQ4fPefdo2zva7ou2v0fbXXX/Y+b8jWi73h9zTksJ9EaCq4a3FRLoRx11lLnhhhusS0gyLWCvXr0M/oL4cjdk5Ls94ogj7Mz89ddfbzObNGQsc5I33RXjlNlOGg8NhfzEmeGXiYAIhCfAzHc8NpNxHNQ6SBoFfFzXFATO2muvHf6gamiPwx/5lz3bIf2WrWhm9fRxd2Im/e6777YulrfddltF3Q4l0P2vtFoR6DERZs//HG3J824d/Y5iOTra7qhr2DF6nRZtfaLtZ9HGTPqldf8bE72OjLYJ/phzWkqgNxJcNbytkEAfNGiQueqqq6xfaNIfu3fv3mbBggV2tqwUY79Tp07Nm3Wj2A8+5LHhgsIMuCvG8Y9PQ/GQUhjovSKQRgI8lPNw7bqO8bfk2MT1gLHpuo61a9dOY7MJOjarWVzqQ0Xu+tw1DwoAACAASURBVF/96lc2kcExxxxj70eV+s6XQPe/oGtNoA+N0DCLnjzvg6Pf74y2n0TbksfqJUbuKWbNb4w23kcWF1ItMnvO7PqyKJzCvN+ppxs2ib6IV2UZU5Y9AoUE+jnnnGOztpDmLJmqbKuttjLrrruuGTt2rBcIZs+ZYXNv9viiMlseG1+8nTt3zlsC52+VXt70OlE1EoEqI8DY/Oijj/KyGjFLTlaV2HhAxyfczZ7C2FTRrfJ1eq0JdMhyj8AX/ZlnnrGJDM4666zyAU98Up1AZ1BMrecA0GKyiIAE+hJf8tOjba1oW5i4Kt6KfmbmvHe0HRdtCPK20UaevPEeV48EugekrDUpJNCZtdh7773tkjaZTmIj1SBLj5dcckkeBjK/FPITZ8Y9acywuUvg+KKSGUYmAiIQngCxGq6POGOVB/CksTLlrlYxNldbbbXwB6U9FkWgFgU6gKhTwcrt22+/bUheQJKCcpsEuj9xCfQlvuSU3FqpToTH9HBhIUlqw86+/rxpKReX4nhVVetCAh1/U/y5b7zxRnPwwSzYRD5VkR84ac6YzWBW3RXjH3/8cc55t2zZMq+wDzd/SjvLREAEwhOgkiarU64YJ9tR0lq3bp3nmoIIYczK0kmgVgU6vcFKT48ePQwFqqjLQSxUOU0uLv60JdCNIccdM+QrRtsyh11jSK3BN+ySJNThTAI9HMvU7SnO2OL6m/N3srUcf/zxVoyT+opc6EnXFE6G2TW+wNwl8A022KBiPoOpg6wDEoGABPDPJXe46zpGjvFkutTVV1996dhMjk+yHVXKnzcghpraVS0LdDqaInnMpBOX9PLLL1u3q3KZBLo/aQl0YwZHuMjasma04dIS26ToB8qN7eqP06ulBLoXpupqxE2eFFb49VGx74ADDjDcuJmlYAYO9xbaxMYNnS/FLbbYIkeMk2NcvqjV1fc62uogQFAmY9NdraLqZnJsMv7IkuQGbFJYTEW3qqOvGzrKWhfo8HnsscdMv379rNslIj0ZH9UQv1L+L4HuT08CfUn6Reqt/zja3k2gI9f5qGg72R+nV0sJdC9M6W9EikR31o3f8fNLGq4s7s0eASBf1PT3sY6wOgnMmTMnL2CTwPwvv/wy54Q6duyYt1rF2ExDQZfqJF8dRy2BvqSfLrroInPaaafZDC+s6pZjJUgC3X+MSKAbQzQdGVuOiLa4Wmj76OcZ0bZDtL3kj3O5LXGXYXsyugF0YdZGVh0EuKlzc3fF+Kef8gy3zMhNjBBPinG+jMhlLBMBEQhPgIfhZGGf2F+ch+ektWnTJi9gk7FZrlnD8GeuPZZCQAJ9CT1cuA488EC7+jtixAhz+unky2haqxPoCKDd6z6JzAe52Q+a9hCqZu+1JtDjjC2uv/l5UY9tE22xOwtuL7+INvKg/1+g3hwa7YcUjzZg0L2BBPoM7aYEApRGpmiQuwQ+bRop8ZcZ1fpcP3FEOSKgHDMQJZyi3ioCVUmAVIWMTTdgE5eVpFHlNs6ckvQTZ2zKRCAmUEuFihrqdYKhe/bsaQOiH3/8cfOLXyB9ms7qBDpP0CThwIZF29Cm+8Tq3XOtCPSVoy7aP9oQ4hvVvd4dvf6zrutWiF5jP3RqKneKthOi7fOAXasZ9IAwS9kVvqgEaLo3ewQAhUViI2c4/nluwCbL4vJFLaUH9F4RKEyA4GoeiJOrVYxTgjj5X2wrr7yyHZtuuXvcyTQ2dXWJQHEEKJy17bbb2rFDACkpQpvKNIPuT7ZWBLo/kaZvKR/0pmdsP4HlO9xQ3Js9S+Jff/11zlEQAObe7Lt27Wqj3GUiIAJhCTA2Z8+enbdaxdgkLWlsrEgROO3GcBBgjUiXiYAIhCEwZswYGzS64447mueee67JitrJB92/vyTQ/VmFaimBHopkYj9ffPFFnp84M28UFUkaxYHcwj6U2GZpXCYCIhCeAMW1ChXdohhX0tq2bZu3WsXYxKVMJgIi0PQETjrpJHPZZZeZM88805x3Hg4H4U0C3Z+pBLo/q1AtJdBLIIkvKikL3YDNGTOI6V1mBH+5rin8vu66sdtbCQeht4qACOQRYOab4PfYdSx+pTBK0giadits8jtB1jIRKAeB8ZOXBBH37ar7QZI3cVjMoL/xxhtm7NixZpdddgneHRLo/kgl0P1ZhWopge5BEn9TCoW4N/v3338/xxcVFxTKZ7tiHF9UBWx6gFYTESiSAHEaU6dOzYvhwI+V+I7YSFXIDLgrxjfccEONzSKZq3lYAsriUj9PxvaWW25pmjVrZt5++21bzyOkSaD705RA92dVaksFiRYgiC8qZe1dP3EiypNVNhHbnTt3zrvZ8zf5opZ6aer9IpBPgLHJ7Le7WsXYZCUrNgLLGIduDMcmm2zSZH6s6i8RKIWABPry6d1zzz02/eLOO+9sZ9JDBl4rSNT/ypVA92dVasuh0Q5qOs3i/PnzCxb24e9Jo6y9GxTGLDmltmUiIALhCRCrUchPnNiOpDH77cZwkE2F2TaZCFQLAQn0hnvqiCOOMDfddJP5y1/+Yo4//viG3+DZQmkWPUFFzSTQ/VmV2rJmZtDxRWWWzZ15mzVrVg7Dli1bFvQTb926dams9X4REIECBMh5HI/N5Pgko0rSWrVqlVd0C2HOmJWJQLUTkEBvuAcp0LfFFlvYFe5JkyZZV9IQphl0f4oS6P6sQrXMjA86vqj4hLszb/iisjweGyXtY1/U5DI4M+XyEw91WWk/IrCMwOLFi+3YdGM4iOtIjk1mvt2iWwhxMqpobOqKyioBCXS/np04caLp06eP9Ul/6aWXgriTygfdjz2tJND9WYVqWXUCnRv6zJkz84LCyKZC1Hds+KmRO9wN2MQXdcUVKd4qEwERCEmAoEwyGLkxHGRTQaTHxvjr1q1bXgwH+f81NkP2iPZVDQQk0P17iZSLI0aMMIMHDzbDh1PPsTSTQPfnJ4HuzypUy1QL9M8++yzvZs/Nf9GiRTnnT6UxNygMX1Rmy2UiIALhCcyZM6dgDAdL0UnbaKON8mI4EOdkVZGJgAgYI4HufxUwCdejRw87QTdhwgTTs2dP/zcXaCmB7o9PAt2fVaiWqRDo3NRdP3EGIJU3k4Y/OEI8KcYZYOQylomACIQnwMMwFTXdGA4EetLWWWedvLGJK9maa64Z/qC0RxHIEAEJ9OI6k++jrbfe2jAx99Zbb5VUPEwC3Z+9BLo/q1AtyyrQWeZ+77338m72+KImjQwpDBw3ewqVN+WLGqrrtR8RWEaAmSlcUdwYjunTp+dgopKmm0uccdqmTRvhFAERaAQBCfTioV166aXm5JNPNieeeKLh58aaBLo/OQl0f1ahWjaJQMcX9cMPP8wLCkOcJ31RV1pppaW+qEkxji9qyFynoWBpPyJQ7QQYm9OmTcuL4Zg8ebIh0Do28vnjJubGcOCyorFZ7VeBjl8EqpsAxQN79+5tXn75ZevqssMOOzTqhCTQ/bFJoPuzCtWyJIFOwKbri4prCktQpFBLGqLbnXnDF5XqmzIREIGwBBibn3zyScGiW19//fXSD2NFauONN84bmwRYq+hW2D7R3kRABMIRYMWve/fupmPHjtbVpTExZxLo/v0hge7PKlRLb4G+cOFCK7zjVGmxTyqBnEljqdt1TcEXtUWLFqGOWfsRARFIEFiwYEHBsfn555/ncKJMdqGxiduKTAREQASqjcDIkSPNGWecYU4//XSb3aVYk0D3JyaB7s+q1Jb1FiqibHbsi5oU47isJK158+YFC/vIF7XUrtH7RaAwgW+//daQTtQN2CTtaNIIzHQrbHIjIpBTJgIiIAJZIYBbHplcmEHH3WWbbbYp6tRUqMgflwS6P6tSWw6NdnA2O+FmfsoppyydGccXFf+u2FjmpmqXe8Pv0KGDAjZL7QW9XwQKEGD8UWDLDdik2A8+5LGRqrDQ2Nxwww01NnVliUCFCDBGWXGmijUxVwRg84qYxKUTV4x4Y2V518tfsEc67qS+FTri6v5YJhLJ6kLMzOuvv16U22ydQJ8bEVi3jsKw6BV9JHMISKCX75JYOoMefWQXPhZfVIr4uEFhXbp0kS9q+fpFn1RDBPATnzVrVsGiW8yWx0ZQZufOnfPGJn8j0FomAiLQtAQQ16T9Zby6G7Ee8+fPN7iU8frFF1/kPEgv78gYvxscdo0dx5tO+5strofQ5MGb0vZKIezXr8OGDTNDhw6129ln27lHL9MMuhcm20gC3Z9VqJbvRCXuN3vooYfsF4J8UUNh1X5EIJcAN2+3wia/czNPGrPfbjA1Y7NZs2ZCKgIi0IQEiOWYOnWq3Uj9m/wZN7Lk6lXyMLhvUqOjVatWdot/Jl0wM+asQrMhwplJ5+GbjRn2efPmmX+2729n12ffcmxONWwmzfguIEPJz372M7PrrrtKsNfT/6xS4N6CC+Cbb75pufmYfNB9KC1pI4HuzypUS+8g0VAfqP2IQJYJkCGFoltuMPXs2bNzTpsbuRuwyc2Cv8tEQASahgCiGDdO4qwQc6T+xZ0MMc7st2u4gLKyTKYQHp6jCS3Trl27nI14rFIszoP+xB97mRkzZtjj4jvk1VdfNRMnTjQff/yx3T0i/6c//anZb7/9zAEHHKAiYA701157zVYZ3X777c0LL7zglQ5WAt3/ypVA92cVqqUEeiiS2k9NEWAmDJ9wN2CTGz2uK7Ex800WI1eMt23bVn7iNXXF6GTLSYDsYrEIT75SeCs5PjkmBDepRhHiyY2/rb322k0+TpdXqIhjJUHDE088YR5++GHz9NNP21l2ZucR6scdd1zRgZHl7Idyf9bxxx9vrrzySnPdddeZo446qsGPl0BvENHSBhLo/qxCtZRAD0WyhvZDUPEtt9xiZ5TuvPNOKz6zavEN0g3Y5KbPjTK2FVdc0fqPusHU5P/nfzIREIGwBBibzDgz28ysc1KIu+l/CahO+nfj581GLQ7EbiWtmEqiBJ/ee++95uabb7ZZS7Cdd97ZphrcaaedmvxhopKcfD4bPkyIfPnll/Z6ILXs8kwC3YfqkjYS6P6sQrWUQA9Fskb28/jjj9tYhe22284cc8wxhhmpZ555JhNnP3fu3DzXFHL/L1q0KOf8qKbp+olzs0cEyERABMIT8B2buIgRsxEHWsavuKik9UG5GIGeJPv222+bCy+80Nx9993WPx6hfskll5jNN988fAdU0R4feOABs++++1o3INhIoIfpPAn0MByL2YsEejG01NamsYpzzeJnveeee9pZrGoyBHfSTzz2F6cqbtLIGx67psSvzLjglyoTAREIT8Adm7ELmTs2cT1hTLIxY4ooZ1t33XWrbha5sQI9pk9A6/Dhw83tt99uz/2www4zF1xwQU3Hs/Tv39+Q/OKxxx4zu+++e70XqmbQ/cewBLo/q1AtJdBDkazB/bzxxhv2xsAXYRoNFxSCwNzsKcz6J40VgXhGPOmiQtEtbngyERCBsASKGZuIKDeGI0tjs1SBHvfMpEmTzEknnWTGjx9viHHBD3vvvfcO23FVsjey7vDgxiQL3//1ZaiTQPfvUN0J/VmFaimBHopkCvczYcIEM3jwYPPss8/mHB2+m5dddpnN60tmAPL48jtFM4qx888/3/Tt29fsuOOOxbwteFuWd6dNm5YXsIk4J31ZbDbXcOSK4t7scVkh17hMBEQgLIFix6Ybw1ELY3P8ZOrkGNO3a1wrp/F9wHf7bbfdZk488USbwnXgwIHmmmuuMaVmmmn8EVXunX/5y1/MCSecYE477TS7olDIJND9+0cC3Z9VqJYS6KFIpmg/BMg88sgjhuINiFQ3a8GIESPMU089ZTMCYEOGDLGlkskSgAvL4YcfXvBs7rjjjqUBoaT+GjVqlP3yK5dxHjxUxC4p8St+4qQ3TBoZGNyiWwSJkZdYJgIiEJaAxmZYnqXuje/nI4880jz66KN2UuK+++7zzg1e6men5f1UZCbtIvc2Vnsp/OSaBLp/b0mg+7MK1VICPRTJFO6H2fNzzz03R6BTMKd9+/Z2+ZPZFQyXD7KNPP/886Z3794NngkpBi+++GLzpz/9qclmnpn9iTOnJF1UKOyRNKL03YBNljZrccaowY5TAxEIQEBjMwDEMuyCh6ZLL73UnH766Xal9MYbbzQDBgwowyen5yNw+9l2221t3NRLL72Ud7+SQPfvKwl0f1ahWkqghyKZwv1Q9phZ9OQM+ujRo+2XNLPOCNnY8NU76KCDbA7Zhuzyyy83v/vd72xVO9KZUfiDaneNMSrqkQ7LLeyDD2HSCMx0hTi/c9wyERCB8AQaMzbjVSuEDwGbssoTQJiSM33WrFnm7LPPtlstxdbgl48L5/XXX29XFZImge5/fUqg+7MK1VICPRTJFO6nkEAnX+7IkSOtf2IyG0n37t2tDzoV2JZnzMIcffTRS7/g8d1mObUhocxyI0V83IBNiv0kS2jjgkI2Bjd7CrP+tXRTSeHlpEPKKIHGjs1YjGtslnZhDH/kX3YHQ/otmzApbY/57+Y7ul+/foYZ5YMPPtjWsaiVtLBkBsLNhwdOXD6T9yoJdP8rTQLdn1WolhLooUimcD+FBDrV1W644QYbPJnMC9yrVy9DrmG+wEoxZuuZqXEL+5DWkC/I2BDbnTt3zgvY5G8Ec8pEQATCEkiOzeSKVX1j0w3Y1NgM2x/x3kJlcWno6L766isrzok12mWXXcyDDz5Y8SJNDR1zqP/fc8895sADD7QpKG+66aalu5VA9ycsge7PKlRLCfRQJFO4n0ICfdCgQeaqq64yzJolM5fge75gwQLrauJr+LO7Qpzf2U/SKKXtBmwyS17pCn6+56l2IlBtBDQ2q6fHyiXQIcL3PgXmmKThO3/MmDE1UdeBh1MKOVFU78UXXzTbb7+9vUAk0P3HiQS6P6tQLSXQQ5FM4X4KCfRzzjnHZm2hJHIyreJWW21lfUbHjh2bdyZkSGGWzRXjLJsmrWXLlnmuKQhzqvvJREAEwhPQ2AzPtNx7LKdA59wQq/hlE0tEACXf+bXwHU2sE1VWEeWvvfaaXamVQPe/2iXQ/VmV2rJltAO2J7t169aFC1eWPQKFBDrpFyle8e9//9v65cW23nrr2eVPgmjcgE18x5OBpquttpr9YnODNjfYYAP5iWfvMtIZpYAALmnEa7gpRpc3NpP5/jU2U9CJ9RxCuQV6LNLJ8nXeeeeZnj17mnHjxtVE5qs4BuuKK64wrCbXCXQEUFxulOXf3CXg9F46ZT0yCfTy4R4afdTZfBwBE/gey7JHoJBA/+abb2yfkwt9k002sTf8V155xfojMqOQLOyDj3qXLl3yZsXJMZ70X88eOZ2RCFSGAA/CM2bMyHtIZhKF6puxaWxWpn+a4lMrIdBjkY5gpYjPz3/+c+vuwuRLlg0/fLKX4YZJvBXnHa0OI4DilEPDop/RRzKHgAR6+S4JzaCXj3XFPimeLaAoES4q8ewbRRuSN3sOkIh+vqyS2VOi1ZXMf2FXrHP0wTVPgImRZFaj2IWMrBNJ69ChQ14wtcZmdi6fSgn0WKQfe+yx5tprr7VZXu6//36bMz3L9sADD5h9993XHHLIITarTXRv1Ay6R4dLoHtACtxEPuiBgVZqd1QPJbc5N3kqpz377LPWjSWZwpBjW3vtta1rCjMJ+KB37NjRVuGkHHTr1q0rdfj6XBHILIHk2Ey6qMyZMyfnnBmbPCAnXVNYgqfegCy7BCop0KHKPeLQQw81VIr+/e9/b7OcZDmlLatUe+65p3n88cft/S8q1Eeey59k9woLc2YS6GE4FrMXCfRiaKWgLTPfLM25AZvTpk3LObo11lhjqZ948oaPr3mWv3xT0EU6hBolkBybyTgOn7HJGG3Tpo3GZg1eO5UW6CDHtZEZ9CeeeMKcf/75htXXLBuxGzz8Yt99950EukdnS6B7QArcRAI9MNBQu2NWI3qyz/NFRZwn/cTxGyfY0w3YZGYgmUYx1HFpPyJQ6wQYm4hu9yF5eWMz+ZCssVnrV1Du+ZejUJEPcTJ7kXrxH//4h7nrrrts3vAsWxyjFZ2jBLpHR0uge0AK3EQCPTDQYnfHctunn36a54uKuwpuKEnr1KlTni9q165dDdU3ZSIgAmEJxGPTzWrE2MQtLGkETrsPyRqbYftDe2t6Ah999JHp0aOHmTdvnnn66afNjjvu2PQfWqFPIGFC27Ztqaotge7RBxLoHpACN5FADwx0ebuLvgiW+oknfVH5MkwabihuFT8iz5s3b17Go9VHiUDtEIjHppvGsNDYTAZSM041NmvnOqmFMyWGicrSuEmSUGDDDTfM7GkrD7p/10qg+7MK1VICPRTJxH4inzYboOlmaCB9WtII0nQrbPI7BYNkIiAC4Ql8++23hpSF7qz4zJkzlzs2EeXczDU2w/eJ9pg+AmRz+fWvf21n08ePH2+zfGXRJND9e1UC3Z9VqJYS6CWQpGzyBx98kFc8hIIi/C82XFAobe+KcdKnKWCzhA7QW0WgHgKMPwLB3Ifk+sZm0kecn9u3b6+xqaurLATGT15Sh6Rv13RNzMRpeo844ghzww03lIVFuT9EAt2fuAS6Pytatou2H0fbU8W9Lae1BLoHPHxRKWvvzrqRW5wZudgQ2507d87zReVvWc8t64FRTUQgOAHG5qxZs/ICNpc3NpNinEJcBFrLRKBSBNKQxaXQufOQu8cee5gnn3zSXH/99bbKdNZMAt2/RyXQ/Vn9V9T0umh7OdpO8X9bXksJdAfJ/PnzCxYP4e9Jo3S2O+vGLPnqq69eQnforSIgAvUR+Pzzz/OEODPkVAVMWrt27fIekjU2dV2llUBaBTq8GHPbbLONIXj0xRdftD9nySTQ/XtTAt2fFS2HRhtRgxLoxXGzrcnCUMhPnNm4pLVs2TIvYJNBraI+jYCut4iAB4F4bLoBm6xiuWPTDdjU2PQArCapIpBmgQ4ogkZ79uxpePCl8maWCmdJoPsPhSwK9F7R6Z8TbTs5GDjXE6NtvWhbHG3r1/2eW+N5+ewk0D2uLXKG43fq5iyeMmWKYXk8ttVWW81mY3CzpzBTLj9xD9BqIgJFEojHpus6hu+4Oza5kbppDDU2iwSu5qkkkHaBDrSrr77aHHfcceaAAw6wOdKzck+UQPcfElkS6Mxs94u2s6OtW7S550aZrp2j7ed1eIZHr92jbW9/XJpBT7Lihk4mBnfWjVlyKvzFRvEe8hO7AZubbLKJWXHFFYvAr6YiIAI+BBibZDBKBmwyTsmmkhybjD98wl3XMXKMa2z6kFabaiRQDQKdMfyrX/3KPPDAAzZglMDRLJgEun8vZkmgx2fN7PmfHYHeOvqdnF5HR9sddQ07Rq/Uau8Tbd9E2031YBsY/f1/6v43NHqtSReXzz77LO9mz81/0aLcBQgyMbhL4FTdZLZcJgIiEJ7A3LlzC8ZwuGOTDEbuQ7LGZvj+0B7TT6AaBDoUicPacsstbWG91157zY7fajcJdP8ezKJAR0Qzi548t4Oj3++Mtp9EGxWsYvss+uGuaBvkiSzzAv3LL780ZGNwl8D5gkja2muvnTfrxsDLkq+c5zWhZiJQFgKMTSpqumkM6xubyVlxjc2ydJE+pEoIVItAB+dLL71kevfubbp162Zef/1106xZsyqhXPgwJdD9u69WBPqICMnp0bZWtC1M4Hkr+pkp4N6eyDIj0BcvXmzee++9vJs9OcaTRoYUBpQ7K07lzaz4xHn2vZqJQFkI4IISj82kGJ82jQW/ZUbVwdhPPCnGNTbL0k36kComUE0CHcwjR4405Eg//vjjzV/+8pcqJh/NkkZ6IpoEZKKUCVPZcgjUikC/PmJAQlGS7y6rZmPMhOh3KhXgs96QdY4a3BhtMDsq2t5r4A3v1PP/TaLAyFWZCSuH/fDDD2b69Ol5AZsIAER6bOQl5gndDdjs2LGjwYdcJgIiEJZAPDbd1SrGJsGcybGJK4obsKmxGbY/tLfaIVBtAp386D/96U/NhAkTzLhx48zOOxNOV51WJ9C/i45+aj1nIOFeB6ZWBPqV0fkeF21EJP6QuCheiH5uGW3/3QSXelkFOgElc+bMyQvY5EHgq6++yjm9Tp065fmiIs6pvikTAREIS4CxiRuKG7DJ2CS9YdIYm+5qFQHWGpth+0R7E4FqI8Dq9hZbbGHdSHmob9WqVbWdgj1eCXT/bqsVgT44QkLWljWjLRnVOCn6nZq/u/ojK7llyYWKFi5caH1R3ewpBHImjaVud9aNtIYtWrQo+SS0AxEQgXwCX3zxRc7YjEX5vHnzCo7NpBhnbDZvTgy6TAREQATyCdx8883m8MMPNwcffLC5807C6qrP5OLi32e1ItBJv/hwtP042t5N4CHycVS0neyPrOSW3gL9u+++s2nR3CVw0qclDcEdC/Gki8q66+K9IxMBEQhN4Ntvv7Vj0w3YrG9sJn3EGaMam6F7RPsTgewTYDWuf//+5uGHHzZ33323zZFebSaB7t9jtSLQCXtmeplEoqPr8LSPXlG6O0TbS/7ISm6ZJ9DxL2P5yr3ZT5482fC/2FZeeWVD+Ww3ZzHp0xSwWXK/aAcikEeA8UcRH3dsUogrOTZxQWFsumkMNTZ1UYmACIQkgCsr3zPEqTB5R7XRajIJdP/eyqJAjzO2uP7m50VYtom22J0Ft5dfRBt50JeVt/Rn19iW70Q37c2Ixo5nxglo/uYbUrEvMcQ2RXzcgM3OnTsbRLpMBEQgLAFmpihr77qNMTaZLU+OTcah6zpGsR8CrWUiIALpJ1BtQaIu0YceesjOpO+11152Nr2aJugk0P3HR5YEOsp1/2hDiG9U93p39PrPOhykIon90OdHP3eKthOi7XN/XCW1JBiV7clo6xLvidLZhfzESW8oEwERCE+A4h+u2xgz5AsWLMj5MGam3LHJLLnGZvg+0R5FoJwEql2gw+qQQw6xACoIkAAAIABJREFUfuijRo0yAwYMKCe+kj6rTqDjarx73Y744s398i3pE7Lz5iwJ9LT3ytDoACmgZMhf/Nhjj9loZgr+yERABMITIEPKv//97zwxzkx50lq2bFmw6Fbr1hQglomACGSNQBYEOoHnBJbj6sJKH0khqsHqBDrJOeIguWHRz+gjmUNAAr18l8TSGfQopWEXAsxkIiACpRPgBoVPuJvGEN9xXFdiW2211ewNzU1jyCpWNS0Rl05MexCB2iaQBYFOD/7tb38z++23n/n1r39t7rvvvqroVM2g+3eTBLo/q1AtvbO4hPpA7UcEskAAsU2WFDdgk1lyqm/GRmEtcoe7MRwbb7yxWXFFQlNkIiACtUwgKwKdPkSc33///Vag83PaTT7o/j0kge7PKlRLCfRQJGtoP5dccokhMIg823wRI0CzbHPnzs2rfoswX7QoWcbAGLKkuJlTqLrJbLlMBESgMgTIcETiAx6cqVgdvxJIzdhs1qyZfeX3SqxeZUmgf/LJJ9ZdFpa4uqTdbVYC3X9MSqD7swrVUgI9FMka2c9bb71lyInfo0cPc/XVV1t3jssvvzwTZ//ll1/awj6I7+TMOJU3k8ZNx3VN4YueqnoyERCBpifAWJ01a5bNdsRrvM2ePdt8/vnnhuDreGMiwccIuMZ3ev3117cbGZJ4wGbjwXvNNaktGN6yJNChQ6DowIEDbeDoHXfcER5YwD1KoPvDlED3ZxWqpQR6KJI1sh/E+aqrrmrPluIUH330kTnllFOq6uyZQSOvv5s9Zdq0aTnnwQ27UNEtbuKVmGmrKsg6WBEogQCxHLiQEbtBXQ5e42369Ol29a4+I9Ca0vPJjaq41AcgNXC8MbNO2lJm19kQ9DyMs5HfO1lbgPHOQ/mOO+5o+vbta3bddVfD54SwrAl03P/69etnHn30UbvtscceITA1yT4k0P2xSqD7syq1pYJESyVY4+8nav+www6zMyRUj02j/fDDD4abuSvE33vvPZttIDaWY+NZsqSLSseOHQ0+5DIREIHwBBByzHwTt0GiArYpU6ZYIf7hhx/mjFE+nbHYvn1706lTJ7PhhhvaojjJjb/x8ByiBgCuMDywc0wc3+uvv24mTpxomKHH+Iw+ffqYX/3qV+aggw6yDwONtawJdDgwcUMQPNmnWJUkW1waTUGi/r0ige7PqtSWQ6Md2DSL66yzjsHHVpY9AhMmTDCDBw82zz77bM7JcWO87LLL7EwRs0n4DfK7r9D+6quvzKWXXmpuvfVWO8NMcYpKGufDubgBm9wYONakcXN3q9/iQ8/smkwERCA8AVasEN6x2I3FOK+4qiQNf3AK47ERSB3/zOtGG21U0XHK9wwPDk8++aT9znvqqaesux8rivvuu6855phjTK9evYoGOH7ykvtv365xpr+id5HKN1x55ZWGIoissF500UWpPEalWfTvFgl0f1alttQMeqkEU/x+bnqPPPKIGTZsmGG2OJnej8MeMWKEvbk8/fTT9iyGDBli8C3npsNM0eGHH17w7JgtR9zGxpIwgpebVrn8r1najv3Ek5U2mdFPGjNpbsAmX8YsdctEQATCE1i4cKGdbU7OiPMzM+JJdxE+mXSiFNqKfbzjn6spzSjfs2Qsufnmm80LL7xggeICc8YZZ1i3jlp3g6PPt99+ezNp0iR7X+nevXv4i67EPWoG3R+gBLo/q1At5YMeimQK98Ps+bnnnpsj0AmgYpn4uuuus4E8GG4gCO3nn3/e9O7du6gz4Qt43LhxwYUvvqHMsLmz4vilJo1Zf7fCJr+vu262ZqOK6hQ1FoEmJMCscTw2k+OTB/WkkUaUQMtYfCcFeVMFXDbhaS931/C4+OKLze23324zxfTs2dOuSvJay8bEzzbbbGO22mor89JLL6Uutax80P2vTgl0f1ahWkqghyKZwv0MHTrUzqInZ9BHjx5tSzEzC42PYGy4OuFLybLk8oxZMmZG8LlkBollXW5KjTX2RRBYcjacmz7ZYZKzbrigcIN3Z8VJbVjrM1WNZa/3icDyCDD+8MN2xyYB1smxiZtcPDYRPPzMhotKrbmO4Xs9cuRIOwECowMPPNC6A7Zt27ZmLzZcXEjNy73luOOOSxUHCXT/7pBA92cVqqUEeiiSKdxPIYHO8is3EFxFkrNYLD8yGx0v1dZ3Ovfee685+eSTzaBBg6xbC5XjfMrQ85BASjQ3YJNcucyWx4bYZtbNnRXnbwgBmQiIQFgCjE2CHwuNTbKbJMcmotuN4ejSpYvGptMlzKifeuqpZsyYMTbbC7Ppv/3tbwtOJgx/5F/23UP6LZswCdvDld0bcUBMBuESicsTgb1pMQl0/56QQPdnFaqlBHookincTyGBftRRR5kbbrjBZkhIVrIkuIlgYXzWSzW+iF3XFH7n70nD39S92TPzRnpDmQiIQHgCjEFWz1wx7o5NZnwLjc20ZuMITyrMHh988EHzhz/8wQbi45d+22235bnfZTGLi0uPdIt77bWXDabFbz8tJoHu3xMS6P6sQrWUQA9FMoX7KSTQmfm+6qqr7PJrMoUgvucLFiywN25f+/rrr+2MSFKM835mypPGDJJb6p4vRp+Zd99jUTsREIFlBJj5LjQ2SWuYNFbBXLcxfk97Bchq6mvifk444QSbkpbZY+pHJLO91IJAp7/2339/W3maKtR77713KrpQAt2/GyTQ/VmFaimBHopkCvdTSKCfc845NmsLvuTJtIoE8RBYOXbs2LwzYbYdn3B3VpzUaUn/dspls5TpzrxVU2aGFHajDkkE6iXA2GQcFhqb1AGIjVSAjE33QRnBqBiO8lxgxOowm06Q7YUXXmhOPPFEy75WBDoTN6yQ4lqJa6NvWt+m7B0JdH+6Euj+rEK1lEAPRTKF+ykk0Em/yOwFs2ukOIuNtIQEj/7xj3/MK3VPW3IZx8bMO7nD3Zk3chUn3WZSiESHJAJVSYAH4ZkzZxYcmwi+5NjEJ7zQ2AxRwKcq4aXooBGmv/71r+3375FHHmlXM/e48kV7hONO6puiI22aQ7nmmmvMsccea/3zeUiptEmg+/eABLo/q1AtJdBDkUzhfgoJdJa+ydhCZgFENjNvpL+66667rO83bitJI0uKG7CJsGe2XCYCIhCeADn93cwpjFNWvZJGutRCY5NiP7L0EiBAn+B60tPuvPPO5vtdzzArrrBiTQh0XCtJPUn6RTYEciVNAt2fvgS6P6tSW6pQUakEq+D9ccYWBHiyuM/LL7+cV2GT2TWKbOCeEruo8OVVrgJEVYBThygCQQmQ3SIel0kXFQIKk0ashus2xtgktkNWnQTIlU7KQQL2Ox17c1QltaN59tSfVefJFHnUr732munRo4fp06ePrXJdSRcrFSry7zwJdH9WpbYcGu3gbHbCbCrZO2TVTQAXFPITM/P29ttv29mZf/zjHzZbS9KYJedLifb4AHbs2NGmOSRvrwLDqvsa0NGnkwBiLB6bCPFYjJNjPBnDEY9Nd1Z8/fXXr6iISSfV6j8q+v68884z10xvbYgRePHPe9RMvvQ4m9idd95pDj744Ip1Zp1ARwDFle2GRT+jj2QOAQn08l0SmkEvH+ugn0TgF5U/3aAw8u4mxTgz4t26dcubeUOQJ7O3BD047UwEapgAY5Nqmm5WI1KXItJjI06j0Nikmq/GZu1dQFud9XfzyaefmNWfu9Q888wzBrfCrBtuXIwBaltw76rUSq1m0P2vNAl0f1ahWsoHPRTJwPthduXTTz/NCwpjSZyl8aRxY3ezM+BfXmtV/AJ3gXYnAvUSiMdmMp84Y5PquknjgbjQ2GTGVCYCEKBQEdfR/X8+yBBoT7E4Vk2ybjfddJM54ogjbGKCyy+/vCKnKx90f+wS6P6sQrWUQA9FsoT9EDSU9BGPl8E/++yznL2SacXNzsAXTPPmzUv4dL1VBESgPgIEZhYam65bYJs2bQqOzTSkklPvVgcB3AxJw0i8wXPPPZf5OhGsOO2www4Gn/RJkyaZLbbYouwdJYHuj1wC3Z9VqJYS6KFIeuyHdGhx8ZDkMviMGTNy3s1N3fVD5XfylMtEQATCE2BsstTuuo7hspI0HoYLjU0EukwESiVw0UUXmdNOO81su+225umnn05FrvBSz2l570eYc67bb7+9ef7558vu4iWB7t+7Euj+rEK1lEAPRTKxH1JJffDBB3nltCn2w/9iwwWFwg3uDR8fxEpGtjcBEu1SBFJBIB6byWBNfiaIMzk28Y2Nx2YygwpjU37iqejKzB7E4MGDzbnnnmtTMD722GPWTzvLRjabq6++2tx6663m0EMPLeupSqD745ZA92cVqqUEegkk8ROnOpobFEYxCjKjxIbYxrcwvtHHr507d878l28JePVWEWg0Acbm7Nmz8x6SGZvUAnDHpvuQTLGfrAujRsPVG4MSGD95SRa1vl2XrJBy7R599NE2BeNhhx1mbrzxxkxP2CxYsMDW5MAIqG7VqlVQvsvbmQS6P2oJdH9WoVpKoHuSnD9/ft7yN8KcvyeNsvZuzmJm4kihJhMBEQhPgDGIn7hb3Mcdm23bti04NtdYY43wB6U9ioAngV0uHW9bJiuJkpFrr732MmPHjjUjRowwp59+uufeqrPZX//6Vzt7fswxx9jZ9HKZBLo/aQl0f1ahWkqgOySppBn7iSczNMyaNSunJUVC3IBNfqeoiEwERCA8AWa+GZvJccnP7tgkZZubOYUbsfL8h+8T7bF0AoUEOnslQLlXr172er/nnnvM/vvvX/qHpXQPrBpQuGjixIk2aHTrrbcuy5FKoPtjlkD3ZxWqZc0KdGYo8Al3fVGnTJmSUzyEkvabbbZZ3g2fmXL5iYe6DLUfEVhGgLHJOHRdx6ZOnWrI/BAbqQoZm+6KVbt27TQ2dUFVDYH6BDonMHPmTFt1EzeQF1980XTv3r1qzqvYA6Ww3pZbbmnPd8KECWWJ9ZBA9+8lCXR/VqFaZl6g82TOl5y7/M1MHNU0YyPwCz841xcV33EKi8hEQATCEojHpps5hbFJVpXk2MQn3F2xIoZDYzNsn2hv5SewPIHO0bz88st2dpkHz9dffz3TK0GDBg0yV111lbn99tvNwIEDm7wzJND9EUug+7MK1TJTAp284e6sG78vWrQoh1f79u3zAjY33XRTw2y5TAREIDyBeGy6Ypxl/KQxNl0hTgyHxmb4PtEe00GgIYHOURIoeuSRR5pddtnFPP7445l9MCVuJA7QJmB0zTXXbNJOkkD3xyuB7s8qVMuqFOhU6yMbg+uLSnW/pOFz6i5/MyArVVY4VKdpPyKQVgJUuY0L+yTF+CeffJJzyMRquFmNGJvEdshEoJYI+Ah0eCDQEep/+tOfzMiRIzOLiOw1Rx11lDn11FPNhRde2KTnKYHuj1cC3Z9VqJapFui4oJCf2J0VnzZtWs75kyGFgebe8Km8KT/xUJeK9iMCywgsXrzYjk3XdYz8/0mLx6brOkYpc41NXVEiYIyvQMftq2/fvuaVV14xf//7380+++yTSXzUI9huu+3sdwtbt27dmuw8JdD90Uqg+7MK1TIVAp3Ar+nTp+elMWSJCyEQ20orrWQHqzsr3rFjx7IElISCrv2IQLUQYGxSTdNdrXLHJr7gybEZj9FOnTppbFZLZ+s4K0LAV6BzcB999JENpCSQ+s033zTc+7JoZHMhg81uu+1mizU11cO8BLr/1SOB7s8qVMuyCnSCwnBDcTOnsCTO0njSuLG7vqgIAKpvykRABMISYGzOmTMnb7Wq0NhEFLgPyQRYk1VFJgIiUByBYgQ6e0aw7rnnnqZnz57m+eefz2xBLYJER40aZR5++GHTr1+/4qB6tpZA9wQVNZNA92cVqmWTCXSCv2IhnnRRIVgsabihuMvfDJrmzZuHOkftRwREIEGAsZks7BOPT3dstmnTJi+9KGkNW7RoIZ4iIAIVJIB/9sUXX5xpf3SqdDMpx/cQ31dNESguge5/EUug+7MqtSWRWGxPRgOgy7vvvtvo/eEXx/vdJfAZM2bk7JObeizEkzPj6667pLyxTAREICyBeGy6mVNwWUkaD8OFim5xY5SJgAikjwDxWb179zavvvqqeeKJJ8yuu+6avoMMcEQEiRIUe95555kzzzwzwB5zd1En0BFAu9f9Z0H0yiZzCEigl++SGBp91Nl83DrrrGPmzp3b4CcTuEEAmBuwSbEf/hcbLiikLHQDNjt06NBkfmQNHrwaiECGCSTHZnJ8EsSZHJsrr7yyIWWhK8Y32mgjjc0MXx86tWwSIFkC/ujccynyQ+B11owHEbQEvvfEvWy44YZBT7FOoCOA4pnCYdHP6COZBHrFroF6Z9DxRWVpyZ11I60hpbZjI2iDIj6uLyrFQxACMhEQgbAEkmMzOT7rG5uu61icXzjsUWlvIiAClSJw3333mf3339/6pD/yyCOZfNAm7/see+xhDjzwQHPXXXcFRa0ZdH+cmkH3ZxWq5TtRwNdmp512Wo6LCsUCkkZZe3fWDV9UUqjJREAEwhNgDBaK4XDHZtu2bfNWq5glX2ONNcIflPYoAiIQnECxQaLuAfzmN78xd9xxh7n++uttrvQsGkGiY8aMMePHj7dVVUOZfND9SUqg+7MK1fKdaEebxTujgA8z4slZcYQ5RUVkIiAC4QmwKkVpezef+KxZs3I+LB6byVlxbi4U45KJgAhUL4FSBfoXX3xhNt98czNv3jzz9ttv25XtrNmUKVNsrRPcZ9944w1DyuUQJoHuT1EC3Z9VqJbvRFlUNrvtttvsDHm7du0yuUQWCpb2IwKNJUDeYm4ybjD11KlTDbnGYyNVIatTbgyHxmZjyet9IpBuAqUKdM7uueeeMz/72c+Wpl4MJWDTRI4g0REjRpirr77aHHPMMUEOTQLdH6MEuj+rUC2bLM1iqAPUfkSgmgjgJz5z5sy8GA5mycmqEtsKK6xg8Al3YziY/aLoj0wERKA2CIQQ6JA6+eSTzaWXXtpkGU8q3RtffvmlnUH/+uuvDckpQqweSqD796oEuj+rUC0l0EOR1H5qjgB5w92iW/xOnvGktW/fPi+GAz/xpsjrW3OdoBMWgSonEEqgf/vtt2abbbax2U5eeeUVs9VWW1U5mfzDJ0j04IMPNn/4wx/MNddcU/L5SaD7I5RA92cVqqUEeiiSNbifU045xey1117mpz/9aabPnpkbMqW4mY0++eSTnPMmVsN1TcF1DP9xmQiIgAgUIhBKoLPvt956y2y33XY2neprr72WucrbrFD27dvXTJw40UyaNMlsscUWJV1UEuj++CTQ/VmFaimBHopkje0Hlw1Se91yyy2ZEeiLFy+2s0/urDj5/5NG9iK+2N3MRuQhJv2oTAREQAR8CYQU6HzmsGHDzNChQ+3rkCFDfA+jatrxEMLqAEL9mWeeKek7VwLdv9t1Z/NnFaqlBHookjW2H8pMI2QPPfTQqhPoBGVSTdPNnII4R6THRqAVpabdfOKdOnUy+JDLREAERKBUAqEFOsV9cHWhwjcZT1jVy5qRTvLGG280f/vb38yvfvWrRp+eBLo/Ogl0P1YXR81+H20fRduAaPsfv7cVbCWBXgK8Wn3rQw89ZJdQzz///FQLdJZD58yZk5c55Z133jFfffVVTvdF9QDy3FO6du1qyKoiEwEREIGmIhBaoHOcCPMePXrYSqMvvfRSsLSETcWg2P3yvU6QPW6FrOY2Np5HAt2fvAR6w6x2j5qgLF6NNiIkOkbbzxp+W70tJNBLgJf2t06YMMEMHjzYPPvsszmHinC97LLLzKeffmqrvuJLze8tWrRo8JSIoL/11lvNsccea8V5WmbQCcxEeLtpDAnkTFqbNm3yMqeQ1tDn3BuEowYiIAIiUCSB8ZOpNG9M365xtfkid1BP8zPOOMOMHDnSbn/605/C7DRFe7nkkksMcVDnnXeeIQVjY0wC3Z+aBHrDrLaJmrxe14x1q0ejrUPDb5NAL4FR1b2VoEbKPuODiNsGgjxp5JJ96qmnzNNPP23/jJ8ifn0PP/ywef31183hhx9e8JypVvf888+b3/72t6Z58+YVEeikKmTp1hXiM2bMyDlmjs/1Eed3BLpMBESgcgT4PsKVLLnhMsYsKJvSjIbpG7K6dO/e3UyfPt1+v5OiMEuGKw/f6R9//LGZPHmyoeJ5sSaB7k9MAt2fFS23RltF2y+Le1tOa82glwAv7W9l9vzcc8/NEeiff/65Ie3fddddZwYOHGhPgS9w/KoR3717917uaRGYQ+U6DFHMEiMCn3LTIe377783BGe6mVP4IuZ/sbECgLtNUozjc9mhQ4eSgodCnov2JQJZJkBMBytVVL9Nbggnvm/mz5+/9JWfmUBYnhH7seaaa5qoiJ7dCL7eeOONrcBkY7zzAC5rmMCLL75oevXqZQsYvfDCC5l7+BkzZozp16+fvf/89a9/bRiI00IC3R9Z1gR6r+jUz4m2nRwEnOeJ0bZetBGRtn7d74v8UdmWrOmMj7aJRb4v2VwCvQR4aX9rHMmfnEEfPXq0GTBggHUHwbUjtnXWWcccdNBB5sorr/Q+rRAuLhwbN3I3cwppDb/55pulx0J2FIr4uLPi+CEi0mUiIAJNR2DBggWGqrc8NPMab9OmTbOiPBlcnTwKZsZbtmxpWrVqtXTDnYzYDsZtvPE9wIxvvPF5uODhfsfP7j4pbb/DDjvYCYVdd93V7ltWmMCJJ55oLr/8cvOXv/zFHH/88ZnCxHWz2267mSeffNLmfifFZDEmge5PKysCnUf7ftF2drR1izb3vM6I/rZztP28Ds3w6LV7tO0dbbiw3FQPMqY744BQ1nIOibYL/fEWbCmBXiLANL+9kECP/RKZBWeWKjaWQrlxMsvia8UKdGbPChX24e9JY6nSzZzCwwTpDWUiIAJNQ4DAaVziCLrDjWzKlClLhTgz4a7x/cHM9oYbbmjatWuXtzGOEeelZjxCtPNAwDFxbG+++abNg42Ax3CJ6dOnj+nfv78tYsNkQzXZ8Ef+ZQ93SL9lEyYhj59+5fuUVQ4mPlhBzZJxTjywbbvttoYVg2JS3Uqg+18JWRHo8Rkze/7naEueV+vo95nRdnS03VHXsGP0Oi3a+kSbjzpiuvCUaLsg2n7wx1uwpQR6iQDT/PZCAv2oo44yN9xwg/nPf/6Ts9zJMujcuXPtDbpUY+Y7LuyTdFFhpi1pFPBxC/vwhRmihHOp56D3i0AWCcSZjWKxm3x14zg4f0Q2K1fxhiCPf2acFiOGQvLkPHDNI5aGeJtx48bZ2Xdm5H/5y18avud+/vOfV+z4ijnXpsji4n7+448/bvbYYw/7EPPAAw8Uc3hV0ZaVAVZ/R40aZVeIfU0C3ZdU/kyz/zvT2XJodFjMoicF+sHR73dG20+ibclj8xIj1cRd0TbI41ROiNrcGm04AjNV0DXaXmzgfe/U8/9NopnJVXF3kGWPQCGBPmjQIHPVVVdZP+7kzBZLxSwlE3zpa4h8ZtncgE1mu/BLjY3AL2bA3VlxZt0qdYP3PUe1E4FqJMD4xv2kkBB3V6yaNWtm8/3j2x37efPauXPnqlm1IrvUgw8+aAunxcHvW2+9tTn99NPNPvvsk2rf63IIdK7hAw880Nxzzz1WoCPUs2Ss8ODuyLXMJNMaa6zhdXp1Av27qPHUet6AVpNFBLI2gz40OidXoI+I/nZ6tFH7e2Gi19+KfsYHffkResYcEbW5LtritByoINxdcnPJ5V9OEug1OMQKCfRzzjnHBnWSljCZWpDKbOuuu64ZO3ZsHilmq2bOnJknxFluJpI+NgQ/X5LxrHjsL86MmzIz1OAFqFNucgLJGI5k4S1WsJhRThrjOynC458JqC7VDaXJT7SID8BPnrSxN910k2XA9xEp+XbZZZci9lK+puUS6Pjz8+BFgC3f3VlLLXv11Veb4447zqYWHj4cz+GGTQK9YUZxi1oQ6NdHJ3tktK0UbctSURgzIfqdJKj4rJfT5OJSTtpl/qxCAp3l4L333tt+QSfTbpEt4ZBDDjH4qLuZU/gdQZ80/BjdzCnsr7EFI8qMRh8nAlVHII7hSK5YMTbdGXFWpuLVqqQgrzXXMYrZXHrppTZAkvSsuHhcccUV1kUnTVYugc45X3/99eboo4+2waIEjWbJWNElliqOV9hoo40aPD25uDSIaGmDWhDopMg4LtpWjLak/zi+5y2jrdw1eSXQ/a/PqmtZSKDjH04QFf563MS5wRNYc/PNN9tMCO7NnjSKzEAlZ8V5H/7jMhEQgfAEcNfgAdp9UHZjOAjALDQ2ldEkt08+/PBDW8iGDFa4QFABGVe/tKzqlVOg43qIOyPVRcl6QmBlloyYBFZK9t9/f+vO05BJoDdEaNn/a0GgD45Ol7UX0mck0ypOin6nnNiu/riCtJRAD4IxnTuJM7a8/fbbNmgznnkj33mh1GW4uSRv+PzMzLr8xNPZvzqq6ibAjN/777+fl9mIuI5kalRWpRASbopRAjg1Nv2vgeeee84cdthhNlUkKRrvvPNO07FjR/8dNFHLcgp0ToEHvy233NJ+17/66quGvPNZMoKEKbrnU9dDAt2/52tBoJN+8eFo+3G0vZtAQ76oUdF2sj+uIC0l0INgrPxOmBkhqwFfvgjyxx57zLzxxht5+Yn5Mu7albji6CkxSpPGMiDLvzfeeGPVpSerPHUdgQg0TACxTYYUN8WoG8PBjC5j0w2mJnNKWmZ7Gz7bdLcg5eBZZ51l3TtYgaC4DS5/lbRyC3TOlRUFKkrjm3/SSSdV8vSDfzYPuHFSgtdee225Y0cC3R9/LQj0ZhEOAjoJ9hxdh4akpNQp3yHaXvLHVVJL3GnYnoyi97sQ6S+rDgJxmrRkQBg3fjLxcPNJGtVB3Vk3sjWsssoq1XGyOkoRqDIC5Jp2xybjc9Gi3Dp0PBi7QpyxqRiO8nQ4ExgOziYqAAAgAElEQVRUUib7x6mnnmrFaqUegioh0HF15PojcJTVVR9/7fL0TJhPOe2008xFF11kA4VZNanP6gQ6Amj3ujZUxcqtjBXmkKp+L1kT6HHGFtff/LyopyhIFLuz4Pbyi2gjD3qcnaWpO3No9AFkmLGzpuS/lqWPAIGZ8axb0h8VEZA03FAKFfbJWpR++npIR1SrBChXz0OxOyseF8+JufD96mY1QhQki4TVKsNKnzeZqQ444ADrj80sOj7qvun5Qh57Uxcqqu9Yqb5JFdYs5kbn3klGMQw3svrGW51ARwCRpAMbFm3oI5lDICsCnUJC+0cbQpwwYl7vjrZ/1p3vCtFr7IdOCcVO0UZu8/xSbU13iWgGvenYFr1nXExYxXDzibuFQxDcsRBPzoyTPk0mAiIQngBpRCdPnpw3NskxnjSEHTd7t/BWmzZt5CcevluC7ZHv3sMPP9wWuCEGhyxX+PbXihFMed9995lHH33UZrnJkpH4gL5lheTCCwsXXdcMun+PZ0Wg+59x5VvKB72MfUDxEAKUkrPhiHKe8PlfbLigkLLQvdmTr1hBYWXsMH1UzRCIYzjch2SKnhDMGRsxHMmxGT8o4yKQpVziNdPx0YniNkjebLJe0Y/PPPOMwe+/Fuyjjz6y1/P6669v70tZcrHinkqWmtgFNJ5RT/arfND9r3IJdH9WoVpKoIcimdhPoeIhfEng64fvX2yIbXLyukvgVPCjZLVMBEQgLAHGJm4obgrDQjEciDQ3hoMgTsVwhO2TtOzttttus/7KiFWqkSbrRKTlGJviOC6++GI7y8wDytlnW8/XzNgLL7xg+vTpY12YHnroobzzkkD372oJdH9WoVpKoJdIMi4e4t7w3XziLJu6N3sizVdfffUSj0BvFwERKETgiy++sH7i7qz4vHnzcpojyArFcFBxUVZbBO69914zYMAAWxNi3LhxZosttmhyAOMnL4kB69u1Mq6KixcvXlrgh0mkrK0eEGdAv+Jz71aTlUD3v7wl0P1ZhWopge5JkplvvrwaKh5CAZ9CxUMo+CMTAREIT4By7sRwuGPTjeEgUMwV4vxOIKdMBGICY8aMMb/+9a8NMT/k0qYaa1NaJbK4uOdDjviddtrJ7LnnntYPP0uulBSqYjWE1eq33norJ++7BLr/lS2B7s+q1JYKEq2HYDHFQ+Jcq0kXFcpsZ+nLrdQLTe8XgVAE8CmljLcrxAvFcMRjM7lq1b59e43NUJ2R8f0g0vfZZx9bqA03CVLWNpWlQaBzbocccogt3vTggw8aiv1kyYYMGWLOOeccc9VVV5ljjz126akpSNS/lyXQ/VmV2nJotIOaTrOILyppttzlb7d4CIFfhYqH8DReqby5pXa+3i8CaSbA2KSsvZvCkBUsZstjY2wSr+HOivO3rFVHTHN/ZfXYKBV/0EEHWXGOSG+q7C5pEeizZ8+2M8249zDWsuR+SY0Q6gywEs4DfbyirTSL/qNXAt2fVakta2oGnbzhbuaUQsVDmGFzM6fwhZWlyPZSLxy9XwRCEqBQTKFc/wsW5NYKYWXKHZu4HjRrRu03mQg0DQEK3RxxxBH22pswYUKT5K9Pi0CHIBVWTzjhBFtt9dxzz20aqBXaK6sDrBIMGjTIXHHFFfYoNIPu3xkS6P6sQrXMlA86xUN48ndnxd3iIWuvvXbB4iH4j8tEQATCE/j6668Nq1Nulc2PP/4458OYvStU2Ie/y0SgEgRGjhxpzjjjDFvUB//s0Bm20iTQcfHceuutl9blYPU4K8bK3A477GBee+01+z3EA7580P17VwLdn1WollUp0OPiIe6suFs8hCW6QsVD8CuUn3ioS0j7EYFlBOIYDvchGd9xbpCxMfONn7grxtu2bauxqQsqVQS4bo888khbNp7X6667Lug1miaBDviJEyeaXr16mV/84hfmiSeeCHqule7YV155xfTs2dPsvvvu5rHHHpNAL6JDJNCLgBWoaaoFelw8xA0Ko3gIqaFiw98U/zL3Zt+xY0cVDwl0oWg3IpAkgGghS4orxMmmwgN0bMRpxDEcSRcV/HoVw6FrqloIcL8hwwmpFy+44AJz2mmnBTv0tAl0Tux3v/udIS88VUbJaJMlGzhwoK0ci0A/5ZRTWHX/V3R+P8nSOTbFuUigNwXV5e8zFQI9WTwkKcYLFQ/hxu7mE0ecq3hI+S8efWJtEJg7d25e5pRCMRxUYXTHJjEcq666am2A0llmmgB59ZlZ5r6EqwuCPYSlUaDPmTPHTnqRahLXtDXWWCPEqaZiH1RPZdKA7ytW0qPzk0D36BkJdA9IgZuUXaAvXLiwYFAYgZxJww3Fzc6Au4qKhwS+ArQ7EagjQAwH4sN1HeNmnTTyhrsBm4xN8ozLRCDLBHCj3GabbQwpP/FlLlQ+vtjzT6NA5xyuvPJKc/zxx5vBgweb4cOHF3taqW4/bNgwWzmVImWffPKJBLpHb0mge0AK3KTJBPp33323NNAkecN3i4fwhF6oeMi661amqlpgvtqdCKSOAC4ouIm5rmNuDAezZoXGJg/PMhGoVQJUpMSHmSDDl19+ObOTRsSTdO/e3UyZMsXOojdlLvhyX0sErbNCQJB65Eorge7RARLoHpACNylZoDOT8MEHH+T5ohYqHsIXmnvD79ChQ6aCUAL3j3YnAo0mQAwHotvNJ4445+YbG1kpcEVxxyZLwOQal4mACOQSiDO77LfffoZ86VlNOvDss8+an/3sZ6Z///7mgQceyNRlMHr0aDNgwADOSQLdo2cl0D0gBW7iLdDxE+dp013+douH8EVFER93CZziIaHTUwVmod2JQFUSYGxGy7R5Qhx3FWaKkrbxxhvnBVOzTK8Yjqrseh10hQgw5hDn999/v7n44ovNySefXKEjafqP3X///W2w6NixY21ml6wYfUh9hahAkwS6R6dKoHtACtRkuYWK5s+fXzAojL8njcpqbuYUZsmzVIEsEG/tRgSCECBQrVBhn3nz5uXsH9/KZMAm45SxqRiOIN2gnYiAWbRokdl2220NKUQpYtSjR49MUvnwww/tdwcrav/4xz8yNdGmQkX+l6wEuj+rUlsOjXZwNjtp2bKlufzyy3NcVCiznTTauNkZ+D0ul1vqwej9IiACuQQoaY/fp+ueMnPmzJyGBGYWGpsEcspEQASalgCCdbvttjPk73/zzTft/bRYS2uQaPI8CBI9++yzzSWXXGJOOumkYk8xte3rBPrc6ADjoLdh0c/oI5lDQAK9fJfE0hn06CO7xB9LSXuKh7gzb8yUZ9XHrnzI9UkikE+AGA5m4Nx84sRw4EMeG6kKmcVyV6w23HBDjU1dWCJQQQLXXnutOeaYY2y+8Hvvvbfo8VgNAv2bb76x2oCVusmTJ9vsJ1kwzaD796IEuj+rUC3fibKlbEZlNEQ5vuMqHhIKrfYjAssI4O/IypQbw8EsObPlsRGUSbyGOyvO3yjIJRMBEUgXAcY2ftp/+9vfDGL96KOPLuoAq0Ggc0IEie677762iNEtt9xS1DmmtXGdQJcPukcHSaB7QArcxDtINPDnancikFkCn3/+ecEYjgULFuScM7PfbuYUZsmbNWuWWTY6MRHIIgHG9pZbbknAoc2PzkqXr1WLQOdBZNddd7XVVF955RXr2lPtJoHu34MS6P6sQrWUQA9FUvupOQJkSCGLkZtPnGxHSWvVqlXBwj78XSYCIpANAojWHXfc0bqCINJ9K+hWi0Cnl1jx23zzze3DCDngqz0NqwS6/9iTQPdnFaqlBHookjW6H6pPkj7T92ZUjZgWL15s8Al3hTi+48wqxcbMN1/47qw4AWSK4ajGntcxi0BxBOIKlaeddpq54IILvN5cTQKdEyJI9LLLLrNuLri7VLNJoPv3ngS6P6tQLSXQQ5Gsof2QXxsRiuGSwSxyFgyxTUoxN3PKu+++a6i+GRtxGl27ds2bFafSnmI4snAl6BxEoHEEeJjv1auXnUF/7rnnTJ8+fRrcUbUJdFK98v2HETC61lprNXiOaW0gge7fMxLo/qxCtZRAD0WyhvZDFb1BgwZZMcrseTWK0rlz5y7NnBJnUOHBg9zGSSP3r5s5hRLRWV4xqKFLWacqAsEJIFq7d+9u1ltvPfP2228bUqEuz6pNoHMut956q/n9739vTjzxRHPppZcGZ1iuHUqg+5OWQPdnFaqlBHookjWyH9JtIVh32mknc+SRR9pCHWk2BDfC250VnzNnTs5hkzec80qKcb68G7q5pvncdWwiIAKVIXDNNdeYY4891ivjSTUKdFLAbr/99mbSpEn2IQS/+2o0CXT/XpNA92cVqqUEeiiSKdwP1e0GDx5snn322Zyjw5UDH8JPP/3UzoBTJp7fW7Ro0eBZUE329ttvN2PGjLH7JfVWv379GnxfUzfABeW9997LmxWfPn16zkevscYaeT7iiPI2bdo09SFq/yIgAjVCgO/Y3Xff3YwdO9Z+R/bv37/eMx8/mTo5xvTtGtfKqQ5Ir776qq2euvPOO5snn3yyKuNsJND9rzUJdH9WoVpKoIcimaL9ELj5yCOPGAKWEK3JQEYOc8SIEeapp54yTz/9tD3qIUOGmLfeess8/PDDRZ0FleX+/ve/W1FcLmPmZtq0aXmFfVhW/s9//rP0MHjw2HTTTfPyieOyUu2ZB8rFWp8jAiLQeAJkcyJWZ5VVVrGreGuvvXbjd5bSd+LmgrsL94F99tknpUdZ/2FJoPt3mQS6P6tQLSXQQ5FM4X6YPT/33HNzBDo5utu3b28oTjVw4EB71MwyE+D4/PPP2xzchx9+eMGzueOOO3Ly+zJr3bp1a8MDQWjjoYKZfbewDwGppDeMjewoG2+8cZ4QJ4gJkS4TAREQgUoRGDVqlP2eZWPlMWvGKmyXLl1MVPDQJguottgcCXT/K1IC3Z9VqJYS6KFIpnA/Q4cOtbPoyRn00aNHmwEDBtgZnaTfID7YBx10kLnyyiuLOhOCoZh9L8Uo8sHxuOXueZhIGukK3RSGnANuKzIREAERSBsBvntxAXz00UetW+Cee+6ZtkMs+XguuugiQ1pJkgf86U9/Knl/5dyBBLo/bQl0f1ahWkqghyKZwv0UEuhnnHGG/SIlVVYyABKhjQ/6Cy+8sNwz+eCDD+ySLVUwSSWGf+X555/vdfaUtKfQhTsr/tFHH+W8n+OKgzXjV75IeYiQiYAIiEA1EeD7je8vvl+ZiHDTEg5/ZEma2iH9qjPQ8rvvvrPnx2w6roZMpFSLSaD795QEuj+rUC0l0EORTOF+Cgn0o446ytxwww3WXzuZHpHcvaQexGd9eYZrDLPyJ5xwgll99dXNH/7wB7PSSivlvOX77783U6ZMySvsQ7EffMhjYzmUGXB3Vhzxr8I+KbygdEgiIAKNInDTTTeZI444wm58/yatGrO4uBCIX/rlL3/plbWmUQCb6E0S6P5gJdD9WYVqKYEeimQK91NIoJO//KqrrjKI6GSwZO/evQ2uJsUEfLJ8y+yQm8IQX0RmVWLjczp37pyXT3yTTTbJE/cpxKhDEoHME2As851AoR1+Xm211RRMHbDXYbrLLrvYwPxx48bZzCexZUGgc36/+MUvbPIBVla32WabgPSablcS6P5sJdD9WYVqKYEeimQK91NIoJ9zzjk2a8vChQtz0iputdVWNtCHtGCFbN68eXlCHGGOq0zSmP1mRjzpokI2FYJPZSIgAk1PgIdjMojMmjVr6cbvn332mSFNanLje4D2sTBPHh2ubAj15s2b2zSk66+/vt06dOhgMyRRRZhgbFbSZA0TIPsU34t8zzIRAlcsCwKd8+B+gKtkz549ratkNayCSqA3fN3GLSTQ/VmV2rJltAO2J6OqiF0oZS7LHoFCAp30i3vvvbf1BecmGxtV7w455BAzfPhwG43vzorPnj07B1CrVq3yCvsgzFu25LKSiYAINBUB3NNmzJhhiAeZOnXq0o3fWdFCiNdnuLUxduMNf2hEOBmP4g1hRbwIG4XJKPZFYS+yKvF70tjfFltsYXbYYQez44472llUMjvJChNg9ZJVTLYrrrgiUwKdkznuuOPM1Vdfbe666y5z4IEHpv4yqBPoCKDd6w52QfTKJnMIpEWgbxQd177RtnW0UTng22j7INpIGv14tH2fgZ4bGp3D2ZwHgXf4HsuyR6CQQOcGS59fe+21dhmSmZyJEyfa7C3t2rWzM2/JrC/MfPMllpwV52cCgaphhiR7vaozqgUCxGogwnmQZgKF4DvEOCL8ww8/zMn5Dw/cyEifyuz2BhtsYMdycuNvzNwya9vYccv3AmKdmWCOiWOjiuSLL75oBTyGYCeeBX/kgw8+2Ja7ly0jQL/26dPHMnv55ZfNdtttl5kZdM6SlVbSLpJZi3imtK+u1Al0BFBcJWpY9DP6SOYQqLRAZ+rvqmg7INo+jrZPo43pghWjrVW0IdyZmvhjtD1U5b2nGfQq70Cfw48ztnBjT5a7xweSWTa3gBFL1m65e/KjJ4NJfT5XbURABPwIMEtN8HQsxONXxI07W83DMnEb5P3nNblRgAuXlEoY3yM8OFBZmBU6vl84doLHSStIYCRVNVUgbEnvsEKJKwgB8q+//rrZ/YqJ9u/jTupbie4L/plM9hx//PGGCSKK2aXZNIPu3zuVFOg9osM8I9rujLYnom1RgcPm+JhVPy7apkbbOf6nltqW8kFPbdcUf2DMYuGaQl5ybpTM0lBMyDVu5ixns7zNjBv+p2QWqKb0WMXT0TtEoHIEyOkfzzonX5mNTmY24giZCedhOfbz5hVf72pZtaKQGDm/qTBJTAsCHiF0+umnmwMOOEAFxKI+/vOf/2zOO+88Qw7xsStsmymBzv0EtycK4PGgyfWcVpMPun/PVEqgd4wOcUC0jYi2ZTngln/c/aN/t4i2O/xPL5UtJdBT2S3LPyiWmQsV9nFdlVjSjoM1YxcVZm2S+c+r8PR1yCKQWgJfffWVVwwHD8iI7qQI5+coJmhp8GBqT7KIA5s5c6Z1n8OljorDZHO68MILTf/+/RvtalPEx6e2KSsMm2++uXUp3HbIQ/ahJSsz6EDnwWy33Xazxe8ojpdWk0D375lKCfTto0N8yf8wl7Zs7Psa8VFN9hYJ9CZDW/qOya7ADESysA8/MzORNPxK41ziSV9xMi/IREAEwhNglhDXlLj6bfyKq0ehGA6EAA/HsSDHdcytHxD+KNOzRzLHINSZMUao44dNkCQzrbVqpCQk9eKWh51n+kc++0P6/SRTKKigykrKhAkTbABxGk0C3b9XKiXQ3SPEEWx8gcPGFz0LAaLJU5NA978+m6wlS9zc2F0hTmAYGRtiY5aFG7xbZRM3Ffl3Nln3aMc1TCAO1owFeDxGcVNBpMdGnAYz4u7YVAxH7sVDtUn8km+88Ub7nXXmmWeas846q2L+85W+tAcOHGhGjRpl7r33XrPffvtV+nCCfj73LyaMWCl49dVXU3mPkkD37/K0CPTnokP+f/bOA9yKIlvbdcecs2AGHbyj9x8kKqAEQUkKAmYUVFAUBgwECYKAgAQBBQUBlSCKCRVBEFAyKgoK+I/helUUjAyGMcwYZv7711ucxj7FPpzaZ/feu7v2Ws9Tzz6hunfXVx2+XrXWtxpYh72H/h3NIMosvu4+pNj3FIKewynCs4ZcoS1hSLhKOCEMlQUSwezwFLLjIeligoAgED0C5HDYRJxrE49v2MjhsK9NQlOojCvmhsCbb75pqk6+9dZbhsQRBgGmhWaEJeJ0IcGXBGHfZGp79uypxowZo6ZOnWrmO24mBN19RuJC0OfrQybkZah16B3078N0O8p9SLHvKQQ9S1NEVU6biPM7yWJhI/HLljBkKRyZKjFBQBCIHgHJ4Yge07LskQT2kSNHmtoLOB7QCIfElVUGsizHEIdtIK8dO3ZUnTt3VhMnTozDIUV2DBSyw7HEagke9bjlPwlBd5/qfBD0Rvrwtuj2fugwy+ufKY2GcP1Tul2lWyfdjtYNjcxR7kOKfU8h6BlOEZ5vPB82GadgSNhQTAnixMPet8MOOyzDI5DNBQFBIBUCQQ6H7RVHRzxsvAzbL8lco5LDkZvzCj1w1F3Qfb/qqqvUpEmTTPGkQrHl/71V3dqrl1r3/ExTk6J2bdLb/DHCmTp16qR69+6tRowYEauBCUF3n458EPSH9OGx7kKVBcRIVxW19fqT9bbluiFi/7BuU4r6uY8o/j2FoDvOEbHg6InbD/sPPvigmEway9x4wO0H/rHHHltwniFHaKWbIJARAv/+979N8ZxwDgfXKR47/heYncMRXKOSw5ER/JFszMpi+/bt1fz5801V0jlz5pjCSoVg545doX759Re15vbzd2ij+5RAzDVYvXp148hCAx79/riYEHT3mcgHQUfT/P/qRiEiNM7r6na6bmTmrdFtH93QCKL93X0oWe/ZQ3/DBbodpBuZJeEVgHS+XAi6hRZx4ni/bSLOzQWPXGAs2bF0Z3vFufn4dHNN52SSvoJANhEI53CEr8+ScjjCL8l4xCWHI5uzk/m+SchFKx2lF5JrIevowftuEHTs9K8XqzvvvFONGzfOFPrxyVasWKEaNGigWrdurZ555pnYDE0IuvtU5IOgE1/wtXWIZOFB0tEFgrDXKSLC7+hPvOyd3YeUlZ5V9F7JRnpNt7/oVkm3m8v4TQVN0ClLbHvd+P37778vBifeb1udgcQeKvuJCQKCQPQIBDkcYSIuORzR4xzHPRISQTw2YYHoadeoUSOOhxnZMQUE/bkbapoXEs595HXLlyfa1h9DpWb27NlqyZIlqmHDhrEYmBB092nIB0F3Pbr/U0TWz9KfFDXKp0HOA1cuyjLH6ja6jAdUEAQ9KB5ie8W//PLLYrAdeuihO6kzcAH7lllfxnNFNhMEIkcgnMMRvj4lhyNyqBO1w4ULFxpvK2FJCxYsUGedxaPXTwsIOoWKCO1h3FdeeaWaOTPpdRCLzxf1O4KquKj4xGGlWQi6+zWVL4J+tT5EvNHvuh+q8WD31A1Vl3wZ3n9i6Nvp9kMZD8Irgo4uMXGntp54ScVDbKk0PBaFpiBQxvNGNhME0kKAHA7yNexkasnhSAvGgupMWMT5559v8gjmzp2rzjnnHC/HHybohHExZl5Kli9frurXpyyLP9a/f381bNgwo1bDKkm+TQi6+wzki6DzvVN1e0G3Jx0Ot3IRMb9OfxZ3we68Ma/9Q3Q72/oX33mLbuV0o9oFa1n87kq00eDrrhsJrn/VraXDcafqkkiCTqwiSgz2wz5V8RD0ie1YVOIbpbBPGc8Y2UwQ2AUCEAzKu9vX5q5yOMIvypLDIadXGIHXXntNNWvWTP38888KrzoVSH2zMEFnbIgRQBz/+Mc/qvXr13tV+4KaAjyTyeeiEu8hh5D+lz8Tgu6Ofb4IOkdI3Pkk3Wrq9rxuxJuj7PKrbvvrdrBu1OElJv1n3drr9vkuhsY2LXQbqNt/6maPra/+G+4AZB6xO3QjthyiTcDdgyXsG285Sa2BcXZv0u0E3cqSxBp7gk7luVSFfeziIRUqVNhJOUWKh+ziDJV/CQIZIrBt27aUWv92Dsdxxx23UzK15HBkCH4Bbb527VrVqNH2R+XSpUu9i0m3CTrjHDRokBo8eLAaPXq06tEDTQh/jNAdFHtuuukmdc899+R1YELQ3eHPJ0EPjpK7AFcDn+GSjf9P/07xosm6Parb/zoOC+95f93CYztU/472+g26BUFmFfTPEG3cA0g9pmMc17m6FS9357aH2BB0HuqoMdhknEprYUOb2JYw5CI74IAD3EYsvQQBQSAtBMjhSHVtSg5HWjBK5wwQWLlypWratKlJzCf0hWeAL5aKoJObwRipbsvK8DHHHOPLcI0sMVKab7zxhqkkm0+lHiHo7qdVHAh6cLTEmKOOgozhT7r9T9Gn+2i29xykG1708Nja6t8h+Xjk8dQHtk3/8Jhu3Ur5kgP1/3fT7Vvd8NRTegyP/q7s7RL+eZLW7N6Lh2+ujKUtbjg2EbeLh+y///4pC/tI8ZBczZR8T6EhEORwBMmawSc5HGHbd999zRK8LTEqORyFdsbkdryEuLRs2dLooxP6grqWD5aKoDMuZCaJR6eI0+OPP+7DUHeMgfmrVauWeel64QWii/NjRQQd0Y0PSzgCeJqYRiBOBD2YEGLDS4sz39XkDdL/tAn6cP23PrpB/sN6fhv078SgE0azK7tE/3OMbvfqRlgL1U6L14/feeucE/SgeIj9sE9VPIQ3aNsrLsVD5J4gCGQHgSCHw1Y1QtoNkh7YbrvtZuJFbYlRyeHIzrzIXktHAKJ6+eWXq8qVK6tVq1bFrnR86SNIr0erVq3Uc889p1566aUdYT7p7SG+vdu1a6ceeeQRkxBLnkE+TAi6O+pxJOiv6MO/Szde8Yg9T9cG6Q1sgk6YTCfddtft9zJ3Sq3Wv1M6jZj1XFnGIS5B8RD7YU/FMJbpAkMdhQQw2+smxUNyNdXyPYWGANcmS+T2tcmKGWErYSOHw1Y1OvnkkxWVccUEgTghQDGf2267TTVp0kTNmzfPqyRKG2ekCalMjcOKcJA999wzTlOR0bEgpco9hnvPxo0b8zKPEuLiPoVxJOhN9eHj1UZVn5j093QjibR4JZuSxzhI/8sm6Hi+qWBKmAqx7YERe04y6p/dIcu4Z1oE/dtvvzWxqPYDn7+H7aijjtrpYY+XfL/9EJ8REwQEgagRCHI47GuTRM6wESJmE3EIgORwRD0jsr9sIcCL53XXXaceeugh1alTJzVp0iSv5XGRJUSecPjw4abSqk9GIiwJsffee6/q2hValFsTgu6OdxwJun30qKiQdjxLt9Jixdl2kG42QR+g/4ZqC7HkYVnFN/XvZEQ2cYcs454pCXqq4iE8+D/77LNiX0ilN1vCkBP+sMOQaBcTBASBqBEIcjhsIr558xpTw4YAACAASURBVOZiXxXkcITJONeq5HBEPSOyv3wgQChW8+bNTejHhAkTVJcuXfJxGDn5Tq55QnrwOBOG5kvsPeD94x//MGF0fFITIdeyi0LQ3U/huBJ0jusi3VB3ISxllG6zdQt7v0sa5SD9D5ugI784V7dTdMMjH9hX+odHir7HHbXMer6tw05OHTFiRDGveEnFQ2zPG5nlUtgnswmQrQWBVAiQw0FyZrjoFqQc7WD+FxiVFlmdsq9NlsTl2pRzy2cEWLmtWbOmqYmxbNmyxFYbLSlJNDx3JMgSp038/axZ+Af9MeLQiUe/+eab1d13353TgQlBd4c7jgT9Jn34NDJ8IeYvug/H9Bykm03Q99F/Y92ZQkfBlXac/hkXWB3dkE3MthFKQ1usG2o1xijeQ0y4nbBJwQQSxsQEAUEgWgRYrv/88893qn67qxyOcNIm1yYkXUwQKEQEeIE944wzTIgWsn1JlCN0IejMLQo2xNwjM+lTwSaS1mvXrq3efPNNcx/Eo54rKyLoOEqDLNXv9M80MQuBOBL0d/UxvqUbGkeQ2eKZVaVPYaDYYsebD9ObUpAoCGch7KWxbuigu2qsl/7tJfcYpP/Fi4PRlZ08ebIh5Xji9t5770z2K9sKAoJACQjg8Qt7xAOpUTuH4+ijj97pJZk4ceQNxQQBQaA4Ak8++aSRIkS2b/ny5YlLbHYl6KxsQygp8sXLyO67s6Dvh7366qtGGx1ZSV5CcmVFBJ3QYgQ6sMG6wY/ELATiSNB5lftv3aiKQMIoXmcqjMJi8aiXZLi0kEOEiFPlk09I/l+LNviD/gzi0MmwrKjbzbqVJpcY1Umzw4Ou31YroUsuJggIAtEgQDwlpe1tMp4qhwNvuB0nfuih1DITEwQEAVcEevfurUaNGqU6d+6sJk6kNEhyzJWgMyLUa1CxYYyM1Sdr27ateuyxx9SiRYtU48b4K7Nv4kF3xziOBD3V0VPSiwqhHdyHFtueaam4xHYUcmCCQB4Q+Ne//mViwm0ijqeL0JXAWJXCA26HjkkORx4mTb7SSwTIyzj33HNNLPpTTz2lLrqItLFkWDoE/ccffzQedIQcqCnikyADie6EtyDHvGHDhpysEEgMuvs1ki+Cjs45Meb/0A3h7vW6fVDKYaMXmG64izsSuespBD13WHv3Tb/++qvR5oV4+hwaBdnm4WFXv8VLDgaBkcOBrq9NxHngSA6Hd6e/DChmCHzxxRfqtNNOU6ierF+/Xp144okxO8LUh5MOQWcPeJnxNidxtaC0Cbn99tvVkCFDcrZCIAS9tBn5/f/5Iuj99SEQbhK4vPgcq9ut7oee2J5C0BM7dfk9cLLtIa09evTwSvYL3XC7+i3E/IcfwoqoyhQOsYtu4dny+UUlv2ecfLsgUDoChEdQPh51l9WrVyeisE+6BB2HQf369dXLL79sYtGrVKlSOjAJ6cEKAU4OZDRZnTz4YKJxs2dC0N2xzRdB5wjP1O103RDwPlk3pBAv1Q05RJ9NCLrPs5ulsRED+eGHH5pCIUk1HgQU3bK94l99hdrp78YSsl3qnps6NQDEBAFBIH4IUMxn5MiRxnkwevTo+B2gdUTpEnQ2JwSkevXqJrFy5cqVXkmqzpgxQ1199dU5mT8h6O6XR74I+vn6EKkOGraa+heSNq+w/g5xz12KsTt26faUJNF0EZP+BoEtW7aYOEGKZiQhmZEQFIp72ER806ZNxWYUhZTAIx4OUSlXrpxXDz85jQUB3xHA+4qHGWWQ+fPnm4JGcbayEHTGQ3Gm+++/3+iio4/uiyG7ePrpp5vwSZwoSD9nyyRJ1B3ZfBF0yHl33X62DnWc/v1G3YLjwmWGckugl+k+svj1HKQPycgsHn744epvf0NlSMw3BFjiHTBggEmcChtLpISo4C1GQ/vLL780v7uUe7/nnnuMV6pjx46mih8PP5QF8m3c1D/++ONiBbcIVYGck8wZGNJkhKLY4SkVKlQwdQDEBAFBIPkIULyIeHRCzng55zkXV1vx/vbnb/2TA6U/tyP9+uuvTTgIY+Q+R/VgX4xnV926ddUFF1yg5syZk7VhicyiO7T5IuhUBE1He9yHij3iQXc/LxPXk/ANtGQHDx5sbtxhRREGM3z4cEOulyxZYsZGYg5LpnPnlh7RRWISDwQI/U8//aQqVqyoli5daghvLoyx8GJhl7rH04K8Ydg4NrvCJg+0PffcMxeHKt8hCAgCeUTg0UcfVVdeeaVq06aNmj17tpcrYXjQ8aT37dvXyC/6ZGjbo3HPs6pRo0ZZGZp40N1hzRdB/1Ef4nzdwk93joWqni+HDp/49LN1O8B9SLHvKTHosZ+ish8g3vOhQ4cWI+jffPONOu6449SkSZNMeWUMzzNkllhGCldde+21Kb905syZasqUKaZv9+4sOinj4eABeNVVV5X9QEvY8u9//7tZ4rSTNvEchY0wFJuII2vok0cpcnBlh4KA5wjwMn/ZZZcZkkdcc/v27b0bMfKSxKKjKMW9ksrCvhjPJVY7caqgypMNJSyJQXc/W/JF0FFrsYsOUaLrSd3aWIffU/8e/6wTd8yFoLtjlbiegwYNMl70sAedeMUrrrjC3MwhsYGxBEwc47333rvLcY4fP96Uph8xYoTpxzatWrUylfzKaj///LOiWJbtFSfePWyE4NgShvx+xBHpLQ2X9ThlO0FAEEgWAjgkuEewqsj95YQTqBvol61atUrVq1cv51U4c4FiUJiJauedOnWK/CuFoLtDmi+CXl4f4pdFh0kQKiouA3T7WDc7uDbc131k8e0pBD2+c5PxkaUi6CyFQq7xTh944IE7vgOpLggwN/tdGaQZMv7KK6+YbmeeeaZ6+umnVfnyXBq7Nrw9qL+EC/vw0EROixjywAhBOeWUU3byiuP5/4//yNdtorTRyf8FAUEgjggE0oskjhKOF7dckzvmvWNgu73F7w6TdHEMqnAmISk2nbEhb4sHnWcHz4mo1bOEoLvPRr6evKwJTdANmcWAsZC1cZpuxTXX3MeSlJ5C0JMyU2U4zlQE/frrrzdhKiROhpcMzzrrLJMsTMx6aYa8Ih7vY4891rQLL7yw2CZ47Clrb1fYfOeddxTe8sAg2yzJhr3ihKrwN5I5xQQBQUAQiAKBrl27qgkTJpgEd+QX42RlVXEJjwFVLdS1qE6M02OvvfaK0xAzOpapU6caUYJbb73VyGdGaULQ3dHMF0FfoQ/xFN2oDBpUEh2kf/4f90NPbE8h6ImdutIPPBVB79atm7rvvvuMRyLsSSJj/rvvvjM393SMJWRbwpDf2VfYeHDY4Sl4yZE3FBMEBAFBIJsIkEBetWpVhbrLxo0bDZmNi0VB0BkLSaKEhEBiIbO+GM8qCk8RlomTh8rMUZkQdHck80XQK+pDLC6K7H7MSe8pBD3pM7iL409F0CmjjGrL999/X0xWsVq1aiaWm+XgVMYDjpuj7RUnHj1sVH7DCx5O2oSYH3LIIR4jLUMTBASBuCNA5U0cEbVr1zYJ8dlIOiwLBlER9F9++cXkFbES+v777zuFHZblePOxzYoVK1SDBg2MIAEhlVGZEHR3JPNF0N2P0L+eQtD9m9MdI0pF0JFfbNmypcn6J0M+MJRQkCQjPp1YP5uIEzseTjZFapGbm+0VP/rooyVO3ONzSoYmCCQZgZtvvlmNGzfOtBtvpMxJ/i0qgs5Inn32WUNiO3TokOhKz6lm5aKLLjLknLoekPUoTAi6O4pC0N2xiqqnEPSokIzhflIR9H/+85+maAdx6CR4QsQpCsGyKEuHJIFSfTMwvEwk6dhE/MQTT4yNByqG0MshCQKCQAwRoHYDq3vUUqBSZZThEmUdbpQEHSfKOeecY0js2rVrjQSjL/bRRx8Z8QBWCdatWxfJ80cIuvvZIQTdHatMe0qhokwRTMD2gWILlUKJ3wu84gsWLDAPKGL7wnb88cfvCE0JQlTwsvuUcJSAaZNDFAQEgSwigJILhW/OPvtsUwQn36ouURJ0YCOPCFUuQnlQ5fJJ+ap3795q1KhR6sEHHzSJo5maFCpyR1AIujtWmfYcpHcwkJ3gTSVmTSz5CCBJBRGnKijlkYnbC6umBCM87LDDTBEfJKsg5Si6UJGOcvdigoAgIAj4jsANN9yg0NamYBvKVvm0qAk6Y6G6KPf0xx9/PKMaFfnEJdV3kztVqVIl89JBKCbSwJlYEUGHAAXFNAbrn+FHYhYCQtBzd0qIBz13WEf+TYSgIHNoq6dQeS1s++23nwlNCVrgFT/yyCO98qpEDrDsUBCICAFCDlA0QgYP6VEaidVUw0UB6dtvvzWfNMgHiX6//fabCTOjsT35Hqxi0bimuX7JGaHxgo0iCStdyJPSV6x0BMCa+yJzw30UHPNl2SDo27ZtM0SWWhfkG/mklvXAAw+YokWsEKNck4mJB90dPSHo7lhF1VNi0KNCMgv7oXjPpk2bdqqwSYY+Xu/A9thjD/OAtok4VfPyvXybBVhkl4JArBCA5JFEHW7Ey5LPASEn76MkoygXCkeHHnqoWdGChPO3oLEdpJ3GahgVMbdu3WqaHaJG7YDTTjtN1alTx+SXnHvuuWa/YqkRWLhwoWrWrJlpFPjJVyhIFIWKUo2QRFiSYqkmjXKXL8Z5j+oYNTt4+ahYESG+spnEoLvjJgTdHauoegpBjwrJDPaDl4w4cbvUPbKGyBuGjeTMwBMefOIp4YEuJggIAtlBgMq7ASFgaT1MxvF+24bnEq8s+v80CnoFP/NJaCHkeZ999ikTMeTlHS88L/AcF42kxzVr1uwIWeTlnAJkqDZddtll5vvFiiPQvn17NXPmTO9CQRglKzGVK1c22u+cH1Ri9sVIgm3YsKG6+OKL1ZNPPlnmYQlBd4dOCLo7VlH1FIIeFZKO+8HbRpx4QMaDT/shX758+Z1K3ZO9zhK3mCAgCESPAC/KhJ8QPoZnLvxp6/3z7UiK8sKMEojdyPPIh0eWMfDyQP4JkqovvviiecmHrDdt2tQk1l1wwQWRKGBEPwO53yP5VyiDsPrAnPtWryFYJWjbtq169NFHcw9wFr+xdevWJtcKTXv07ctiQtDdUROC7o5VVD2FoEeFpLUflrV5wNtecWJRw4anzS51z00DD5uYICAIRI8AnkVIbCoiTqJ12EimJnwMEhd8smIFMU9CXC/3IUjatGnTFOpNhAfwMkGlSbzHErOu1PTp09U111xjkkVJGvXNzjvvPDP3FGoi/MkX++CDD4zkIivJSEqWJZxTCLr72SAE3R2rqHoKQc8QSWLBedjbhX1YBmcZOjBiS3nIhyts8jNL3/nwtGU4bNlcEIg9Alx/JE7b1ybL/ZD0sLFiFSbhARknLMSX6/OLL74wyh733XefSU5lbCTZUaCsLOQm9ieA4wGy6kC4xPLly01NCOL3c2kr3t+uolb/5EBIJNpv53zHCYT04muvvebVXPfs2VONGTPGvIBeffXVaQMnBN0dMiHo7lhF1VMIuiOS3MTxftsPe+LESeAKjAcdago2EcdrxTKqmCAgCESLANcmuv72tUkoGYVpwkZCGQ9lPG8BIYeMH3wwwlaFYawSIDE4fPhwox5Dwt348eNzTkzjhDYklnhtVkfefPPNnOb0ZEPFxca2e/fu6u677zarBVdddVWcoM/oWAgZZc54tuIUY8UrHROC7o6WEHR3rKLqKQQ9BZIkX9kShvxOoljY8H7bFTZ56JP4JSYICALRI8A1GC66FZByrtmwIUFoqxrxME73AR79COKzR7zow4YNM+SclcCuXbsaj3qhYoTaCdWXwaRfv345m6hcEPSAyKL4xctIpvrhOQPH4YsIS+rcubPq37+/GjJkiMMWv3cRgu4OlxB0d6yi6lnQBB3vGh5w2/PGUnDYSBzCIx72ivPwLySvW1QnnOxHEHBBAEnBQOs/nMexefPmYptDNGwizu9HHJGdcAGXY09aH2RbSR4lvIMVhocfftiovxSasRKKTGUQFsVKaC4sFwSdcbBqQoGmKPTDc4GL63fwclm1alVFTDr3DOSFXU0IuitSSglBd8cqqp4FQdCJN+UhZBNxtIpZHg8MzzcXrO0VP+qoo7yJQ43qxJH9CAJRIEDSYkk5HGGdb2REWZ2yr02kDH2JEY8Cz7Lug3j9iRMnKkqpQ1TxIvfq1cureGUXbFC/adCggTrnnHPU4sWLc3Ju5Yqgh/XDcUyR6OyLoVbUuHFjIyf62GOPOQ9LCLozVELQ3aGKrKdXBJ2HDJqvdngKb9XhpLDddtvNVN+zH/Z4j/ifmCAgCESLAC/CFO2xr02IAt7ywCDbeC5tr3gQZxrtUcnebASQGkRbmjAi1D/QCPdNerC0WWc1YerUqWbsJNBm23JF0BlHoB/epk0b9fTTT2d7aDndP3r/SIumo1YjBN19isSD7o5VVD0TS9CDpLCwV5yHCpX2wlahQoWdHvaQc1RVxAQBQSB6BEg8TJXDQRxs2FARsYk4XvIkyBdGj1p89kjoX5cuXUyoCwm0VNn0ydtaGtLkMzBuEv6J1852KGMuCTpjv/DCC9Uzzzyjli5dqs4+++zS4EjM/1klh3AT7kLBLhdlIiHo7tMrBN0dq6h6xp6gozgQPOzDZJwCE2Ej5tSusIlSAzrjYoKAIBA9AhTASZXDYRf1geDY1yYPRilDH/2cRLVHVjzuuece1aNHD1OT4bnnnlO1a9eOavex3w8edDzp3bp1M0m02bRcE3RCO3k24qhCscanVeNbbrnFnLe8XLZr167UaROCXipEOzoIQXfHKqqesSHoxD0GSWFhIk7ISthQGAi8buEQlSOPPDIqTGQ/goAgEEKA8DAkzGyvOLHj4RwOit6kyuGg4qbEiSfzlIKYU4WS+GVCIgh7KQQjXJJEWXTD161bZ7yy2bJcE3TGgUoNMpsooFCgyRdDmYgQOe5FeNRLq7wtBN195oWgu2MVVc+cE3Ru9Js2bdqp1D0XUzgpDDmoICksTMRJCnNZuooKINmPIFAoCEC2S8rh+PXXX3fAgMft5JNP3ik8hTAIn7xxhTLvpY0Tgtq0aVP1/fffmwQ8QiQKwTZs2KCqV6+uTj/9dBPXnK3nTj4IOivTeNCDl+9sh/Hk8nyZMGGCkQwdOHCgkc3clQlBd58ZIejuWEXVM2sEnYc9coV2qXuWxCk/HRieNYr4pEoKg6SLCQKCQPQIECIWXJvBJzkcdql7JMvsa5MHu5SIj35O4rxHVk9QNtm2bZuaMWOGuuKKK+J8uJEd20033WRCXB588EET8uKTMY9U3yQsZOzYsd4MDdlF5DJxBJJDcNxxx5U4NiHo7tMuBN0dq0x7UjaPtlg/bCsRWpKJsazEw90m4/w9bMgV2hU28ZKXtgyVybHJtoJAISMA4Q4K+4RDx7Zu3VoMFuKM7WuTh5fkcBTy2VN87IQ5NWrUyFRUnjVrlpG0890ojMULKaSPVV6f8iYI46lVq5Zav369CV9jnL7YokWLzKoPL5KPPPJIaQQdAtSsqBOZ7MWz2X0BJcNxCEHPEMA0Nh+k+w6kPw9mO+GypP3g+UaGyybiyKeF7aCDDiomYciDn4f9YYcdlsYhSldBQBBwRYAQlFQ5HBRdCRsvwyXlcEicuCvahdsPr2TdunUVKlpz5swpiJh0CB4Jh8RqE7Ptk7366quqTp06qnnz5katxycjX2LBggWKMfIiksqKPOgoTgSVzQbrn+FHYhYCQtBzd0rs0oOOt4CqXDYRJymMt+7AkCokG9z2vCGfJg/73E2mfFPhIMD1hwqDnbCJd4/rNjDCw5CKs8NTCFnJVixt4cxCYY8UJ029evWMpO0LL7xgCvv4bIRrIke4cuVKkzRas2ZNr4aLl5kVEchss2aBIzn5Q+Q8hZvUqFHDkPRUnKSIoIsH3WG6haA7gBRxl7d1AZBTkSUKk3FObFRVAuOBTqEQm4gTOy5JYRHPiOxOENAIQAq+/PLLlDkcyBuGjeRMW8aQ65Xqm2KCQDYQQJ4P0soL46pVq1SVKlWy8TWx2SdhYoyR2GZIepTPvXwkiYaBJWSJ8BYEGN566y3lU+7XjTfeqO6991716KOPGjUi2yQG3f0SE4LujlVUPd/WOzo1vDMSKuwKm8SJS1JYVJDLfgSB4ghQwCeV1j8Ff8JWvnz5nV6SWcGSHA45o/KBAMScxFHCJCGtxx57bD4OI2ff2atXLzV69Gh1//33qxtuuCGy7803QWcgd9xxh1E9ISEW7XdfjKJTOCu4R5IwahdBE4LuPtNC0N2xiqrn27qM86nooQZL4cSPiwkCgkD0CAQ5HHZ4Ch6ssJGYmSphEyIkJgjECQFkF/FM4l0mBOSAAw6I0+FFeiwkXBM2xnUM2aM4XhQWB4LOqhxedKrIEt7qUzIsLx2o8fASMmDAgGJTJgTd/QwWgu6OVVQ9syazGNUByn4EgaQhQCw4+Rp2DgcPvlQ5HHacOJ5IyeFI2qwX7vEOGzZM9e/f3yQaUtho99139xaMJ598Ul166aXqmmuuUVQbjcLiQNAZB3HoxKMTFjJu3LgohhaLfaD1jsNjy5YtRomHHLnAhKC7T5EQdHesouopBD0qJGU/BYcAceJ4v20iniqHg+p2qXI4fCYzBXdCFOiAuQ46dOigpk+frrp3767GjBnjLRKMtXHjxuqll15Sa9asUWeccUbGY40LQWdsKLqsXbvWhNyxWuCLkQCLqkv79u2Njr8Q9PRnVgh6+phluoUQ9EwRLLDtX3/9dVW7du0diUR4J0ig8ulmnmpKiWW0iTgPMaorhg3vt03EwWafffYpsDNFhltICCDziUb66tWrjSf28ssv93b4FNsjWbRq1aqGpGeqihQXgs6EMR7u75DZ559/3ps55OUDXfTFixebFxCUXTDxoLtPsRB0d6yi6ikEPSokC2Q/eMkuuugitf/++5sRcyP3ST+XGEwewDYZR1ElbMRopooT96lkdoGc0jLMiBDgGqlWrZoi6RlZO0isr8ZKwd13323CXAh3ycTiRNAZRyC7uHDhQtWkSZNMhharbXEkVa5c2byAkOBMGKEQdPcpEoLujlVUPYWgR4VkgewHT0QQH014B4k3U6ZMSdzo8fwTj2gTcQqxMMbA8HxzE7fJOIoqEieeuGmXA84yAhDz+vXrG0WXdevWeZVsGIaOCqMnn3yy+RP3kUzEFeJG0InVJmG0YsWKauPGjV7lFHTp0sWo8JBLcPHFFwtBT+N+IAQ9DbB019G6sQa1PL3NivUWgp4BeIW+6QMPPGAewBdeeGFsoSAp85NPPtmJiKPCAEkPDF1jHko2EechlekSdmzBkQMTBLKAANU2O3fubEIKWF3z9fqZNm2aib2/5ZZb1NixY8uMZNwIOgNBchHny4QJExSk1hejajqyi1q9zlRFr169Oium7+jx/ZcvY8zWOISguyN7iu5KXd4OQtDdQSu0nsSDIiu1bNmyYkPHQ8zyLOW6KUrB0jS/pyuRdskllyhIeibeo6jmhDFt3brVJDcFXnE+WdYkbCVsFSpU2ImI4w2jMq6YICAIZIYA12LHjh0VBHbEiBGqd+/eme0wplvz8k+4BEWb8DRTk6AstuJ9Ks0rVf/kaGQby3IM9jbcM7knUrDwf/7nfwyh9cVIYu7Zs6dCXnrmzJlC0B0nVgi6I1C6W0/d/o9u04Wgu4NWKD0pwT1v3jw1ePBgo9cbDtkAA25MqBAsWbLEQHL77berDRs2qLlz55pl6WuvvTYlVNzM8DBjeJ9btWqVl/hzEjMh3nZ4yrZt24od95FHHlms6BbHzkM03ReRQjlvZJyCQFQIoKtds2ZNc/8h3hci66ORNI+SCwmyL774oldhb9zvUT3JdIUgbvNOQjNhizimjj76aEKUxIPuMElC0B1A0l0u0O1d3foJQXcDrFB74T0fOnRoMYJOdUqqxbIM3a5dOwPNxx9/bOINKTRSt25dJ7jwyr/yyivqtttuc+pflk54b957772diPjmzZuL7Y6EVbv6Lb9D0MUEAUEgPwiwmgVJ5zrEAeCTFzaMKGEurBY888wzqnXr1vkBOwvfygoBLx/MHQ6RIOY+C1+V813OmTPHzBVJ/TqpWQi6wwz4RtDP0mMeotvZ1tgZ5y26ldONINjyRb//4IDRvroPKeMTisj5dP253GG7krpIDHoG4MV900GDBhkvetiDHhSj4IYbXpKlSiXSaPfee6/TsG699VZTsIMYvkzt3//+t/roo4+KhafwcCf5iv8FRjjOKaecspNX/Pjjj/fKc5UpnrK9IBAXBAiB69Spk2rTpo2aPXu2l9cpoYKQV/JxCGf2SVL15ZdfVmeddZZq2bKlKULli/FMZNWjKPxTCLrDxPpC0NGfa6HbQN3+Uzd7XH31387RrVERJnfozyq6tdQNcc4HS8AKd2c93VDZ/1G36UVtuQO2JXURgp4BeHHfNBVB79u3r4kLRYWAkvKBUaqb0A+Wo12MmxthMukomXBT/Pzzz3ci4jzUKJ8dGPs86aSTdvKKk9wDSRcTBASBZCDANc+L/xNPPOFdwmF4BsjhQXoRhwghg+nYHfPghzrUsEXZYtjT+a6y9L3sssvM/BHCc845UBc/jLwBnnvahKA7TKkvBD0YKt7z/rqFx3Wo/n2LbjfoNrOoYwX9uUk3yHdp7GiF7nNQ0XbH689vdIPgP+yAb6ouQtDLCFwSNktF0K+//noji0g5epRLAsNLQoY7MaNR2LfffrsTEccrzt/DRgygHZ6CZ3/ffVksEhMEBIGkI4AzAH10Xs5JqGQVzDcjJwfdd2RaCcs74YQTnIcYRxWX8MGjgoXCFQ6S9evXeyW7yMqHToIVgu5wtvpG0AfpMeNFD4+rrf79Ud2Q9Nn+2rzdyG57TLduDjgFXabrH2jLHbZ5u4Q+J2kytBfhDmL+IZCKoHfr1k3dd999JnQkLH9G7DkFRki8TMdIBkOufOyeKwAAIABJREFUKqyews+fffZZsd2g9EKSZljGEGLOsrCYICAI+I0A+SrcY6i+iVa6jytheJgbN25sCrk99dRTzhMad4LOQPr376+GDRtmcpdw8vhiRYWKftHj+bCEMYn8YhEwhUDQh+ux9tENL3i4RvgG/Tsx6G4ZetsBm17UljtcLELQHUDyrUsqgj5kyBCzBIsSSljNBA/XEUccoRYtWpQSBjzuyG3ZRPyDDz4oFuO+9957m9h22yt+zDHHpBUO49tcyHgEgUJHoF+/fkZBiuR1NLZ9NGLtn332WRP+RxigiyWBoKMMhgcdxw7PgThI67pgW1ofIeilIfT7/wuBoE/Ww+2k2+66/Z79ptRq/TsiqMSs59IkxCWXaOf4u1IRdOQXSfjB6/2nP/1pxxGVK1dOXXnllWr06NEKlRSbiNMfearA8L6zPGgTcWLHw6EzOR6yfJ0gIAjEFAHuH6iCsEpH8iE/+2YoYhHCw32QcBCXlYIkEHTmKSjM1KtXLzVq1Cgvpq6IoEuIi8NsFgJBRyKjq24E//6/ECbEnh+s23aR6dyZEPTcYZ3zb0pF0EnGRLEFdYVzzz3XEHESQ6kcB9km3vCHH4oLCqGSYhNxyD3ecjFBQBAQBFwR4H6D8hMx2hDY/fbbz3XTxPQLqnCOGzdO3XjjjaUed1IIOrKLNWrUMM8MEvv/+Mc/ljq2uHcQgu4+Q4VA0AdoOFjbQz4jzILe1L9TTqyJO1yR9BSCHgmM8dxJWLElHCeOXBYJW2GPOCMgHrxy5crFyDg3MF+WM+M5S3JUgkBhIRBUcqSEPKXkfTPycvCikxyLVGxp9RiSQtCZJ2pl1K9f32iIo/uedBOC7j6DhUDQkV+cqxtp7O+FoPlK//yIbj3c4YqkpxD0SGCMx04g3KiwUFiCJCXiIMPyhcFRopBCgQbascceq/CMjB8/3oS8pCObGI9Ry1EIAoJAkhDgftOwYUO1YsUKtXjxYrOS55uh+X7xxRer6667zqhm7cqSRNAZB+NifEuXLlVnn22XeUnWTApBd5+vQiDo+2g4UGy5TrdZRdAcpz8pjVhHt1fd4cqoJ+E0tMVaPqkSslBiyUGABxxyXiw1hmPFIeckcwa2++67G9Jth6dUqFChmIJLckYuRyoICAI+IECsNvclwu24h1EN2CdD/x3yiscZackive2UQ0waQefZw3OFVYI33ngj0TlHRQQdAtSsaHK+0580MQsB3wh6oNhix5sP0+OmIFEQzkLYS2Pd0EH/3xydFYP09yABaW6Q6F+LxQ8BbvJffvnlTkQcWUyWUcN24oknmgdemIyTxLnnnnvGb2ByRIKAIFDwCCD3iuxr165dnSsYJwk0VjKJt6fGxPLly0tcnYx7oaJUmAfhk+QyXXvttUmalmLHWkTQIUCIdGCDdYMfiVkI+ELQKXV4iW4QcaoV8Pm4bn8tGu8f9GcQh07Vloq63awbRYdyZeJBzxXSjt+DBjnE21ZP+frrr4vtoXz58jsRcWQNffNAOcIm3QQBQSChCLASSDzz6tWrjacZnXTfLCgMR8gh+ui+GDK9yC5iyC6Gq1InaYziQXefLV8IuvuI899TYtBzPAc///zzjsI+YTK+ZQsFZn83bni2R5ybCVrlYoKAICAI+IAASZRU4DzuuOMUpdf32YcoUH+M1WmILPk+JOr7NL4HH3zQxNj36dPH6Nsn0SQG3X3WhKC7YxVVTyHoUSFp7YeCDhTxsePE8TbgOQpsr732MrF8dpw4DyxJ2MzS5MhuBQFBIDYI3HXXXerWW29VPulrh8EdO3as6tGjhxo6dKi67bbbYoN7pgfCM44QHl48yGOrWJFggGSZEHT3+RKC7o5VVD2FoGeIJHHin3766U5EnJsW3vLAKOyDbqztFedvJHOKCQKCQPYRIImavI7PPvtsR8PL+e2336pvvvnGfAaN6/e3337b0diWnA70//GE0pAmJeyMdvTRRyuddG9euMkJcSlSk/0Rx/8bwLVOnTom4XDNmjWqZs2a8T/oNI4Qda0///nP5jnBigFVlcO24v3tOWD1T07e6uiyZcuMIg/hO4TxJM2EoLvPmBB0d6yi6ikEPQ0keYBTBc/2iqN3GzakC20izkPbp+XNNGCTroJAzhCA7FEJ98MPP9zRPvroI0UIGaQcch5ewbIPDPJ9yCGHmMb1CiGHaNN4kYZsQdyRLyVRmxwRO0+EfdIf5Q6I55lnnmkUPUjIF0uNAPfUatWqmerEEHVWFn2y+fPnq/PPP1+1a9dOPfzww8WGljQVF3te2rRpo5599lkjm1mvHloXyTEh6O5zJQTdHauoegpBT4HkTz/9ZCql2UT8iy++KNabhziekTAZ54Ln72KCgCCQHQQg4ZBultUJIwvIOD9TCTcsNcoRsHp11FFHGc8lL898hn+mkExAystSHRfSvnXrVvNigNQpx0XC92uvvaa2bUNVd/sxQNZbtmypLrnkElNJU6w4AnfccYepaDxkyBDVv39/r+BhpbV58+Zq4cKF6tVXX1W1atXaMb6kE3SuvyBMc+3atYmSXRSC7n6ZCUF3xyrTnqLiohFk+ZqY8MArHnzy8OeGGhieNC5k2yvOQ1/ixDM9FWV7QSA1ArwoExJAuFjQIL9cs3YVXIg1YSUnnXRSsUYIGWQ4H3Kj3EM41lWrVqkFCxaoRYsWKcbEPeOcc85RHTp0UBdeeKGEwhRNP3PKqgP3X+7FgUqIL9cH5zAOnRo1aqhXXnllRy2KpBN05of8gdGjR6upU6eqa665JjFTJiou7lMlBN0dq0x7DtI7KBgddJa08W7Z4Sk87CHpge22224mhtQm4iS/8D8xQUAQiB4BYsC5FsMknJ/xhocNYsu1iLeOQik0QiIg5bws46WOsxEa8+KLL6rp06eruXPnGk8/yeA9e/ZUHTt2VPvtt1+cDz8nx8bLDGESxDVTCdk3B8jNN9+sxo0bZ8JcCHfBfCDohHnyQsVzkpfSpMj+ig66+2UtBN0dq0x7eutBZ6nZJuIsN//444/FMMOrZoenQM59i33M9ESR7QWBqBBA6z8IGwskRrk27RhursEg2TKoWAgphwD4ksfBSwlFXiBr3LOITx80aJDq1KlTwXvUke5Dwi9MYqM6B/O9HxKQOY85xwmHgsj6QNDBdfLkyeqGG24wSjUo1iTBxIPuPktC0N2xiqpnYmPQf/jhBxPnaYen2FVR0Q23iTiFfZJaWCGqiZf9CALZQoAESjzgdg4HKhZhC7T+A484nzRengtlxQqspk2bpoYNG6Y+//xz82Jy9913q2bNgsrj2Zql+O6XZHzOA1Y+WVk57LDD4nuwZTiy+++/X3Xp0mUHkfWFoLMiRKIvYWm8fCQhz0Ji0N1PYCHo7lhF1TP2BP2XX34xF7vtFbeXv/FEBKEpYU1xEsDEBAFBIHoEeCCn0vrnb7bWPy/FdugYCZu+hTCUFWVi04nhHTVqlFGHueKKK4x33Tdy6orPrFmzDAbE6T/00EOumyWiH9dN1apVTSgILyDXPbM9lOvF7vUTcfy7OsglS5aY/IpLL71UPf44BdTjbULQ3edHCLo7VlH1jA1Bp+jBpk2bdiLivI3zv8CQL2PZO/CKB5/HH3987GNQo5o02Y8gkEsESHZEptD2iOMl5wU6MGLAWb63iTgx4qL17zZjrDIQJoAsH84FwmBQfik045xr0qSJidlfvny5ql8/+eQ1PIcBkUU//LvaXb0h6AyE83XevHlq9erVRmI0ziYE3X12hKC7YxVVz5wTdG68yBXaHnFkDVnuDQzPGqoMdngKBEAKgEQ1/bIfQaA4AsgC2kSc37///vtiHUlutIk4L86+xIjn87zgHokH+cYbbzTFk7p3725KqedDiSafOCDfxzlWoUIFtWHDBu/yg1q3bq3mzJmjag9ZoPbbd18vPOicLzjVIL4o8iA1GufkbSHo7le4EHR3rKLqmVWCTkJMOE48SAzj72FDgcEm4sQgiqpBVNMs+xEEiiNA0nSg9R9+WaaQT9iolGmvVvFQO/hg8szFsokAqxaECqCbfcYZZ6inn356pyqU2fz+OOybF5N+/fqpwYMHq9tvvz0OhxTZMfACQugXzzqKM/mUd8FLJbkUcU/0FYLufjoLQXfHKqqekRD0ICnM9opTuS9sBx10kPGIhMk4vxdqnGVUkyj7EQRKQgAZUXI4bK84WtNh21d78FJp/VPCXuLE83d+MX8QVOLTjz76aPX888+b+OVCMbTRSTwkXptz2Ddt9D59+qiRI0eqKVOmKNRrfLGwWg0e9bg624Sgu59xQtDdsYqqZ1oEPUgKs4k4noBUSWG2V5zqffKwj2rqZD+CwO8IcP19/PHHOxFxyHlY659Y8JK0/uO8FF3oc/3YY4+ZAjB4Wfm5kOLSiWWuW7euiUl/4YUXvHqGoEaGlj95VryE4MTyxSZOnKj+8pe/mJUPVkDiaELQ3WdFCLo7Vpn23KUOejgpLEzGS0oKs4k4SWE+LddlCrZsLwhEhQDX5ldffbUTESeUDCWQsFHUx44ThwyI1n9Us5Hb/VB9slWrVoo8AXTCUTgpFLv66qvVjBkzTJhPmzZtvBo2MpvMZY8ePcxKiS+GQ++0004zlWFxFCDkEDcTHXT3GRGC7o5Vpj0H6R2YSqKEl8yePbtY0uauksLCZJzYOUpsiwkCgkD0CFCdD+Id5G4EYSoQtLCVK1duJyJObOsBBxwQ/UHJHvOKAGQHGTsUr8aPH6+6deuW1+PJ1ZfzUsrKD9r5OIriGjJRFjzQQWdeN0/uZK53XqJ9sUWLFqmmTZuqtm3bqkcffTR2w5JKou5TIgTdHatMe+7woOsdVQrvLEgKs+PEfVp6yxQ82V4QiBIBSsCjh2zHiW/evLnY10C4bY84v1OMS6xwEECKEZKOV/LOO+9Uffv2LYjBT5gwQXXt2lURt03yqC8GQUf7/pUBzdX5559vJAp9svPOO08tWLDAJDvXqlUrVkMTD7r7dAhBd8cqqp5vazWGU4kRC5I38cZJnHhU8Mp+BIHfESDOlHwNm4gTexrW+kdOj9Upm4yzRCzXppxRILB161bVuHFjtXHjRlPcqFevXt4DwzVSs2ZNc/289dZbph6GDxZUEj1i3WSTX7Bw4UITb++L4XzgXlajRg1D0uN0D5MYdPezTAi6O1ZR9UwrSTSqL5X9CAI+I0CcOApGNhFH1hBveWA8qP74xz/uRMT5m2j9+3yGRDO2r7/+WjVo0MCcZ5MmTVLXX399NDuO8V4geHXq1FGNGjUyRYziRPbKCltA0KdefKIJ40H3nRcvn+4BN910kwnJIsyFcJe4mBB095kQgu6OVVQ9haBHhaTspyARoJBMqsI+3333XTE8UDCyPeJ4yZE3FBMEyooARd/q1atnVmZmzpyprrjiirLuKjHbXXvtteqhhx4ypeTRiU+6BQT9xe71jdrJoEGD1Lhx40yhKl+M+ySOB3IHCM2Ky31PCLr7GSYE3R2rqHoKQY8KyQLaz4gRIxShUJ988olq2LChIQi+GzGiqQr7fP7558WGTgGfVIV9yO0QEwSygQDXITKEnIvopJOU57P97W9/M55mqtYSPpH0ZOgwQec+Q+gOhcQ++OAD5dN949577zUvHXEqOiUE3f1OIQTdHauoegpBjwrJAtnP0qVLTcIPcmBob0MGFi9e7M3o0QwPiqKEJUbxUBK6EhjqRUFhn3BCNcVkfFh292ZCC2QgeCUJ/aCwD7rhyNv5bIT0dO7cWfXs2VPdddddiR5qmKAzkFmzZpmVEMgsnnRfjHtr5cqVFcnvnK/HHnts3ocmBN19CoSgu2MVVU8h6FEhWSD7QWGAh8ZLL72kqCB74YUXGsKeNOPlggeFLWGIRw6SExh6/sie2eEpJ554omj9J23SPT/eVatWGXUXVH1ee+01RViVr0bCKIogGzZsMA2ilVSzCTqOAF621q5da+SPCYXzxXhWoOrSrl079fDDD+d9WELQ3adACLo7VlH1FIIeFZIFsp9ffvnFPDwgrCeccIK6/PLLY/8AQfEiVZw4y8hhYzw2EWcpXbT+C+Tk9mCYgfe1SpUqauXKlYkP/9jVlEBgzzjjDBNit2zZssSuXNkEnTGvWbNG1a5dWzVv3lzNnz/fgzNz+xB4+WjWrJlCH/311183qjz5NCHo7ugLQXfHKqqeQtCjQjKG+2Gpe8CAAebhFTZuknfffbepSIlSwJdffml+d43lROKM2POjjjrKSILFxVNH2exUhX0g6GE7/PDDU8aJUwRFTBBIOgJDhw41133r1q1NEbo//OEPSR9SicePcs2UKVPUI488ktgE2RXv/82Mr/7JxesZXHnllUb15IUXXvAqr4B7NCFYvFzxjMpnSKAQdPdbgxB0d6yi6ikEPSokY7QfPMOEopCMQ6xfOHaaw6TIByEqS5YsMUeNDj7LxHPnzlXr1q1TqCSkMlQiKB8flN3u0qWLqYDH0nouDS8+47LDUz7++ONih4FiQKrCPiS4igkCviLA9Y6UHSonw4YNU/369fN1qAqpSULQ9tprL3NPcHUyJAGQLVu27JBdxCmy++67J+GwnY7xL3/5i5o4cWLelXiEoDtNl+kkBN0dq6h6CkGPCskY7gcvGt60MEFH7uq4444zusnEAWIQW4g3S+KoQezKnnnmGeP1GDt2rPrXv/5ltlu/fr3CKx21ESfOC4BNxN9//33z3YGxCoDyQVBsKyDlhKz47D2MGm/Znz8I/PTTTyYUjRhm4n59VnYJEkZ79+6tUJjyyZBcxNFy3333KUitL7Zt2zYju4jq1bvvvmsUefJhQtDdUReC7o5VVD2FoEeFZAz3E9zcwwQ9iFFlmfHUU0/dcdQQbOLJkcLaleEtf/DBB9WMGTNMtzPPPFMtX748o6IaHB96znacOMdIImpgLIWSnGkTcTxoPhX1iOGpJIeUQARQHiLGl+uLlbGTTjopgaMo/ZBJGK1evbqRQeWeUalSpdI3SkgPXrTIg+E+iOziIYcckpAjL/0wcfL06NEjr6s8QtBLn6cdz1/3rtIzIgSEoEcEZBx3k4qg9+3b13iZ/v73v6twzDVJZSwPu4SrEBLDgwLvNLKCF198sfPwKeCTKmETz37YiG+3w1N4oSBsRUwQEATcECAZj6Q8riWUXfLlqXQ72rL34r5FsigKIWjBJ8numPeOOdzbW/zuMAkfP6GF7du3V7fccotZufTFUMuCIJMDhbRt+fLlcz40IejukIsH3R2rqHoKQY8KyRjuJxVBD5KqCBFBQjCws846S1EAhDjOKAyPD0uXdnjKp59+Wmz3Bx10UMo48cMOOyyKw5B9CAIFjwBx6P3791edOnVSkydP9hYPtMNZIYSgQ9STYqlUXMLHTqgfkpKEErJCwIqhL/bcc8+pVq1aqY4dO5qV2VybEHR3xIWgu2MVVU8h6FEhGcP9pCLo3bp1M/GMLAuH47OJPce7TcxqOgbRZ+nVJuL8jQdLYCRx4QG3w1MoVpHPLP50xip9BYEkIsB12KRJE5MYTuLopZdemsRhlHrMn332mQkHYVWP+xj3nCRYaQSdMbzyyismnLBFixYmmd8XI/yqUaNGJkzyjTfeUFWrVs3p0ISgu8MtBN0dq6h6CkGPCskY7icVQR8yZIhRbfn++++LKR5Uq1bNFDhhSTyVcSNFVcAm4njJUVUJDNJPDKhNxIl/9UmFIIbTLYckCJSIAGEEhLFRSh5PrK/x6ChUoVozcuRIdeuttybijHAh6AyEHCFesKjcfO655yZibC4HuXHjRkPM86FnLwTdZYa29xGC7o5Vpj0P1jugLdYeh0pUTxTzD4FUBB35xZYtW5rwE5RPAkN6EN3dMWPGKDLsU8WJQ+rDhhqMHSfOPn2Nc/XvDJERFRICeNAbN25sEipffvllteeee3o3fJwFkC5qPBCuhzc97uZK0D/55BNzz0b9hJcsnxwe1113nQlxQSUM/f5cWRFBhwA1K/rO7/QnTcxCQAh67k6JQfqrBvJ1qHcQeyzmHwKpCDqx4cz5Aw88YIg6ygfIK/bq1UvVqFFDESOOty1shx56aMrCPkhkiQkCgkByELjtttvUnXfe6V3CYXgGiEEnFASHAwmWcTdXgs44Aunc+++/X91www1xH5rz8fFCxcrrkUceaeLscxWeVETQIUBBlajB+mf4kZgQ9LydA+JBzxv0ufviQLElkOgKwlOeeuopQ8TDEoYcFZ7vVIV9yK6XOPHczZt8kyCQLQTIGWnQoIHxoPsWKhFgRjgeSaJU4KRmA7HbcbZ0CDpF6EgS/e2334zyiU9OEtTFeGbdddddqmfPnjmZMvGgu8MsHnR3rKLqKTHoUSEZg/2QDEbRIaqCPvbYY6ZACTGnxIWHEzZRb0EmkUaSJg+00aNHmzhAKewTg4mUQxAEsojApk2bVOXKlRUKSiRT+qStHcBGeMuf//xn015//fViilVZhLZMu06HoPMF06dPV9dcc43REOe+7Yv9/PPP6pRTTlFI7iIyQE5Utk1i0N0RFoLujlVUPYWgR4VkDvcDoWZJ0E7YZGmQwhZho9KnnbCJ0oGP8ac5nAL5KkEg0QhMnTrVSNuReIg0oY9Gkije2ClTpihinONq6RJ0nC0UoOLlihBFYtJ9MVZ3L7nkEtW5c2c1ceLErA9LCLo7xELQ3bGKqqcQ9KiQzNJ+KCgE8eZmHE7c/Prrr4t9I0meNhHn5rP//vtn6chkt4KAIJBUBHjJR38ayT5W2y677LKkDqXE4/7hhx9MOAhhPe+//35sVwpKK1SUaoBBYSbm8Nlnn/Vm7jgvUXNBVhJ1F55p2TQh6O7oCkF3xyqqnkLQo0Iyw/2wvIeaju0V37x5c7E9U+3TJuL8novlwAyHKJsLAoJAjBDYunWruZcQz8x955hjjonR0UVzKEEVTuo/jB8/PpqdxmQveJrxOC9ZskQ1bNgwJkeV+WGsW7fOrBAgJYnsbzbzn4Sgu8+XEHR3rKLqKQQ9KiQd90OBoA8//HAnIk7CD/8LjBAU4vFsMn788cdn9YblOAzpJggIAh4ggAf9ggsuMGRo4cKF3uWgEA5ClWTi0JEmJCbdFyOXgGcEIYtvvvlmrOPs08X8qquuUg8//HDWq8IKQXefGSHo7lhF1VMIelRIWvthqY7KdrZHnJhBvOWB4R0ghtAm4khO+aRzmyWYZbeCgCCQIQLEohOTPnnyZNWpU6cM9xa/zalQiUcW9Rq8zdn0yOZ69BRlojhT3OPs08WFZyfhSdTaILxzjz32SHcXTv2FoDvBZDoJQXfHKqqeQtAjQJKs81SFfb77rni9A5aQbSKOB2TfffeN4ChkF4KAICAIpI8ABcggKkG+C6TIN+PFg9oPhIRcdNFFsRreive31yGpf3L6qiXE2ePMYaWAVViUeXyxO+64Qw0cONCEJhGilA0Tgu6OqhB0d6zCPckC/E233+utu+9HCLo7VkayEA+47RX//PPPi+0FbdpA4ivQFefTRzmzNOCTroKAIBBTBNAMb968uWrWrJmaP3++V15mIKcYH0SWezD38DhVO05XxcU+hR566CF17bXXKlRrRo4cGdMzLP3D4nlL+A7KZMguUjAvahOC7o6oEHR3rP5Ld/1rUfd39eep7psW6ykEPQVwQREIm4gTO07oSmDc5E899dSdvOKUl/ZpGbWM55ZsJggIAglC4Oqrr1YzZswwrX379gk6crdDHTt2rNEOHzp0qKKialwsU4JO7hJVoHnxePfdd9WJJ54Yl6FlfByPPvqoqQh70003qXvuuSfj/dk7EILuDqkQdHes+uiu9+pGViHe89+zC933Qc+CJugsC6KSYhNx1FR+/fXXHUhS2Id4ODs8hRsh/xMTBAQBQSDpCBCqB2EhRwayd9RRRyV9SMWOn3s6K5vENyO7iCMlDpYpQWcMy5cvV2effba68MIL1ezZs+MwrEiOgWd07dq1TRIsz2k86lGaEHR3NIWgu2G1j+72f3VbptsU3da6bZayV8EQdCTFbCLO75RODtsJJ5ywExH/05/+pPbaa68MYJZNBQFBQBCIPwJz5sxRrVu3NhrpzzzzjHcrgYTvnH/++WaFgJWCOFgUBJ1xQM6ZM8h6/fr14zC0SI7h1VdfVXXq1DHzNm/evEj2GexECLo7nD4S9LP08IfodrYFA2O9RbdyuuEBL1/0+w8OcB2i+7D+eH7Rflvrz7Ketd4RdJJmUhX2IQYxbIcffvhOceJcrAceeKDDFEgXQUAQiAIBXpA//fRT08jloACX3ejzyy+/GM8unzRCzZAiDdp+++2nuKapB0BDjpSYY1qFChVEESmNyaJo0RNPPGEaWts+GecNcfboa69Zs0adccYZeR9eVASdEExCLnmOrV271qvVXSrePv7442rx4sVGEjQqE4LujqRPBJ3EzRa6DdSNNRl7bH31387RrVERPHfozyq6tXSHy/QcrFsb3coq7ppYgs5D+r//+7+LecWRY/rkk0+KQciD2w5NYZnzyCOPTBNq6S4ICALpIvDtt9+aBC/IA58ff/zxDkIOKUc5ZFfGCzPFufbee2+zihV8kuNBrghhCzRezLdt21ZMwjTYL9tVq1ZN1apVyzSKukDmxVIjgDMDoocR0+wbVoTvVK5c2UgvUrEy3/lCURF05qt3795q1KhRisTRDh06eHOK81xnJRtJYvTso5IgFoLufor4RNCDUeM9769beGykIm/R7QbdZhZ1rKA/N+lWT7d/6vZgCbC1038nvCWwPfUP3+hW1nrusSfoJMBQkMEOTyGGkBLOgaGTygUM+Q6UU/gZT9of/vAH97NQegoCgkBaCODxJm8DmbeAiAefEHTbSK4+9thjdzRk/fidmGfI4GGHHWYaihvp6B/jHUX5gXA27hkcD40XdwrVBLKn3A8g6iyZX3rppV4l1aU1cbvo/Nhjj6m2bdufDcZZAAAgAElEQVQqCsZMnz49qt3GZj8kHSLf98gjj6grrrgir8cVJUFHMpNVI146OPd5ufXF+vfvr4YNG6YmTZqkrr/++kiGJQTdHUYfCfogPXy86OGxtdW/P6obSizvhODZpn9+TLd0BT836G3wvpfFYkPQebh+8cUXOxFxwlX++U/eWbYbNx6SM8NecYg4N6V0HuZlAUu2EQQKFQGStbZs2WI8qpBxPoOf7fAxMCIB76STTjIer/BnxYoVjVxarr2WgU706tWr1YIFC8xSeZB/QrzuNddcY8g6HnoxZUKIglCQpUuXmgREn4yEWJ4ZvCyyEstKa74sSoLOGChaBIHt27evuvPOO/M1rMi/l+uVOcNpF5XmuxB092kqFII+XEOCCgsVBb4PwQPRJga9bimQoaGExMinutXUjRj0fqVs83YJ/z9JL2XuBQnOpeFVs+PE8ZBz0wwbHjU7PIWl13zeTHOJk3yXIJBrBAgXIRQlIOABCYeU450OG3r/FNpi5YpPHp4Qcl6g4158ixA5qkqSKEhiJOMuV66ckXPr3LmzYmyFbqxCQGBY3Xjrrbe8e3mZMGGC6tq1qxowYICiKE6+LGqCDoElpIsXD65bcjB8sWnTppnQnV69eplQnkytiKBTQ+bDEvaFI1VMI1AoBH2yHiv1lHfXLSyPuFr/Timx0nSECI3BK48oKE/M+3X7PdYj9amUF4KO55sHPEvM4UqbyFyFjepnNhHnd5a5xQQBQSB6BMJa/0H4GLG5hKbwgA8bFXAh4EELCDmENtee8OiR0DGC2jFAGMfdd99t4uO5H+F9vPHGG2NV0CYbYy9tnxS+6dOnj7r99tvV4MGkPPljhEhWqVLFnPMQWRS8fDFWPRo1amSSfEn29cVYCUPznXsW3ILVuUxMCLo7eoVC0NEv76obAtr/LwTPKv0zbpuyJny6I/17z0hCXLjR4XWziTg3Pi6owEjWwgNux4lDAHx40JdlAmQbQSCbCBCqQIJV+AWZn1Np/eP9DnvEg599imPdFdZ40Ym9hojiPSY2/q677jIkp1DvT7zIVa9e3ZwvGzduNOeHT/bSSy8ZVRDfiCxzhFTmc889p1atWqXOOgtBOT9sxYoVqkGDBqpNmzbq6aefzmhQEuLiDl+hEPQBGhLW09DzC8sqvql/RwuwiTtkGfdMi6DzsCcO1U7Y5E2WJePASMJiudsm4rztSmGfjOdMdiAIpEQg0PoPX5+EkqFwErZA6z+8akUBEIm/3o4S97KJEyeqIUOGKMLxSCa9//77TahHIRo61GeeeaYheWhs+5Z0f8EFF6i5c+eqlStXqrp1S4swTc4ZQJw2BBTFGpKkfZq3qDTfhaC7n8+FQtCRX5yrG66I90LwfKV/fkS3Hu6QZdyzRIKOZFmqwj5kiYcNL5MdnoKXRR72Gc+N7EAQSIlAoPVvX58Q9LAFWv9hVSPR+nc/qUh+vfnmm9WsWbOMGsa9995rVE0K0bp06WJeUh588EHVsWNHryBg9ZeVXa4T3/TDe/bsqcaMGWNCuHw6d6PSfBeC7n4pFwpBpxIoii3X6TarCJ7j9Odm3ero9qo7ZBn3fFvHk55KopQdnvLVV7wv/G4oL+ARD3vFuaERrykmCAgC0SOQSusfUo6WeNgCrf8wEedntP4LNTQjytlA9aVTp06mRHy7du2Md33//cuqbBvlkeVuX+jVk3vAOUm4i291JG699VYTzpSPF5Cok0TDZwXSooHCGdLEPp23wZxNnTrVqDCVxYSgu6PmI0EPFFvsePNhGpYaugXhLIS9NNYNHfT/dYeszD2Jdact1q1SeC+oL3DS2uEpviSElRkx2VAQyBIC5Gl89NFHzlr/NhEnZMWn5esswZzRbllRhAQ8//zzinAgYnv5LCR76qmnTKw2uuHoh/tkgX44YyI0JJcVpbNJ0BkPuuEoE6EjTtiWL8ZLIy8fhM3y8lGWXJkigk4kQ7MiXL7TnzQxCwGfCPoeemzUSIaIkxrO5+O6/bVozFTOCeLQqeRRUbebdSuuM5i9U2SQ3jVKMKZUNhn6QZgKkkzysM8e8LLnwkUgrPVvx4mXpPUfDh/jYcT1KpYfBJg/lF7w3EEGIKznnENB6MIwxk88PisKJFeiEuKTUX3z2muvNfOLek2uLNsE3We1msmTJ6sbbrhB3XbbbWro0KFpT1kRQSf3DwU9DKki+JGYhYBPBD3uk7vDg669QJVYshQTBASB6BBgadlWTtmV1n+YiIvWf3TzkI09UeQITzKFU9DSjqqqYTaONep9om7D+YkjB1UXn14YkRetWbOmuW6RHEXVKBeWbYLOGF588UXVuHFjddlllxmlIl+Ml4+qVauaVQ9039OVyhQPuvuZIATdHauoeqal4hLVl8p+BAFfEAi0/u2ETfS0wxZo/dsJ1aL1n8wzAacG3mSS1fDc9evXr2Di/QmTYNV1xIgRqnfv3smcwBKOGknCevXqKZRdKGCVC8sFQWccLVq0MCFaL7/8sqpTh3Q3PyyTlw+JQXc/B4Sgu2MVVU8h6FEhKfvxGoFA698m4ihApNL6t4k4En2SsOnXKYJqTpMmTdSGDRsUahlUNiyEOf75559NjtLnn39uEkZR8vLJLr30UvXkk08ar3MuQphyRdDxMHNfosoo0pk+hbKW9eVDCLr7lSsE3R2rqHoKQY8KyQLaD8v6JBOvWbPGqFtQyMQXS1fr3ybiaP3vvjtFgsUKAQFCmfCk45Uk1AWFF5+IT0lzuHDhQtWsWTOFHvXs2bO9mmoKe6FYw7XMy1e2r+dcEXQm6ZZbblH33HOPmjlzprryyiu9mbeyvnwIQXc/BYSgu2MVVU8h6FEhWSD7oVAJD+T77rtPoWxBRTckOpPoORSt/wI5abM8zJ9++km1bt3aeFy7deumxo0bl8jrIV2YgmIxkHVWEnyyAQMGmNAlnBFowGfTcknQKbxFbP0+++xjYraRaPXFqFnAtYfCEEpDLiYE3QWl7X2EoLtjFVVPIehRIVkg+0HhoHz58qp79+5mxCSMTZs2TZ1xxhmxRYBkPpK+ROs/tlOU+AP7xz/+oc477zxTaZO47OHDh3tP0jdv3qwoSnfMMceYa2uvvfZK/DwGA+ClCxlNwnmQ8KMOSLYslwSdMfDS0bVrVzVw4EA1aNCgbA0r5/v95ptvzMsHLx28fLDKW5oJQS8Nod//LwTdHatMe4qKS6YIFuj2N954ozr44IPVHXegEqpM+W/+hqpFvu3XX381D9NwnDjEAeWJsInWf75nys/vp8IrnmTie7k+8ML6biSK9u3b13ibkbrzyfDEUpiK+xue2WzZivdR+VOq/smB0l+2vmn7fsmnqVy5sil4BpH1KYeAar/M1+DBg00ic2kmKi6lISQE3R2h6HoO0rsyOuiUA6ektZh/CKxevdqQhGXLlhUbXKDnTLXYPfbYQ3355ZdG39ml0MOzzz5r9vnGG28YDyEx2FTgQ/UgV0ZSJg8XO2GThDUePoERO4oXLBwnTnKbaP3naqYK73uISUcf/M0338xLVcpcI85L8WmnnaaI22aVimvLF+M+g9rJunXrzAoBqwW+WJBD4FvRqd9++828fLC6g7OG1Z1dmeigu5/R4kF3xyrTnuJBzxTBGG9PSMe8efOMFwEPCYQ8bCy/U2hkyZIl5s94GkiGmjt3rnkYUawjlZFYBMEdPXq0Icckh0LWeXhlwwvDcfMSYRPxt99+W7EEHbaKFSsWI+KQcsi5TzrNMT7l5NBCCHDO1qpVS23ZskXNnz/fu/hse7K5j6B2kktpwlydcK+99pqZS1ZGILU+WfPmzdULL7xgkv3jHKKYLuZccyRut2/fXs2YMcOFoEslUQeQhaA7gBRxF4lBjxjQOO0uSHQKE3Ti9CDTlH9m+RbDGw3BXblypapbt67zEPCmo1pBclymRtlmiLcdJ/71118X23W5cuV2IuJ4Qfbff/9MD0G2FwQiQ4DVHLyvePTQ1q5SpUpk+47jjiiA88QTTxidbWLxfTKIHs4JKqiiXOOLvfvuu8bhQnGmV155xZucCZ53TZs2VRQUW7t2rapRo0aJUyYx6O5nsxB0d6yi6ikEPSokY7gfEoDwoocJ+qxZs0yGO2SYBM/ACHW6/PLLFTF8LvbFF1+YwhfoBZ944okum5g+JF1BXmwijrcxbITb2BKG/H7EEbmJ03QekHQUBEpAAGKOZ5lrC6Jw9NFHe4vVZ599ZqQJuT65t6AS4otRdIzVuOOPP1699dZbJiwwSrtj3jtmd7e3+P1+HOX+d7UvVIdQ5OK5wP3fF2PVldCr2rVrmxfkklTGhKC7z7gQdHesouopBD0qJGO4n1QEnYQuErvwWB944IE7jhoPH6SYm9mujNASPOcs/VKcpaTSypTNpsqiTcQpyRwu7EMICrGdeHIg4AEpx8ufROnGGJ4Gckh5RICy6m3btjVhEii8+KR0YsM6duxY1aNHD6MMgkKIT0bSL2MaP368kdKM0nKt4hI+dlYoUT7h3k84pE8vVshj3n///caJdPHFF6ecMiHo7meyEHR3rKLqKQQ9KiRjuJ9UBJ1iKlOmTDHJlLvtttuOo0aNhWRhbtK7Mkrbs10Q2413Hu+ZTcRZPsVbHhhkmweBTcT5W7YLgcRwauSQCgiBPn36qJEjR6oOHTqYxFFfXzwJ5+FF/6OPPjKrZCW9vCdx6pHRxIuOg4LqwVHKLuaToDMXFC6igNGQIUNU//79kzg9KY+Z51mlSpXUIYcconge7b333jv1E4LuPt1C0N2xiqqnEPSokIzhflIR9GBJEw93uOIhsecoUEC0SzLi120izlIi3viwkTlvE3GWv110aWMIoxySIJARAlxrxGUvWrQoJ4VvMjrYDDcm+fzcc89VF110kXrqqacy3Fu8Ng/CA6OWXcw3QUeJh/s1jhaUT3wKxRozZoxZ6UUYgRdl24Sgu19jQtDdsYqqpxD0qJCM4X5SEXS8JKi2fP/998VkFatVq2biRyEReInwONhknLjzsOGZsIk4Nzz+LiYICAK/I0AFR5LxkCNcunRpWsnYScMxqDAKWUdy0hdjtZCYZiRmuTfidIjC8k3QGQOqXy1btlTXXHONmjp1ahTDisU+fvnlF8UzaevWreblgyJ7YROC7j5NQtDdsYqqpxD0qJCM4X5SEfTgRgwBP+mkkxQx4TxsOnbsuOPmxRJ1OLGUuEQSSm0yftRRR3m7XB/D6ZRDSjgCJE8iZ3fQQQep9evXqyOPPDLhI0p9+KhCkVfC/YVxRp1UmU/QkCSEpLMigmJNFBYHgs79npUPXh6R2sVh44uRM9WmTRsjH/zAAw8IQS/jxApBLyNwZdhMdNDLAFrSNgkIOkvsFG6AiPPAJOGJZUwKFBE3GhghL8RZ2kQcCcZwvHrScJDjFQTigkBQnbJx48ZGgzocZhaXY4ziOIJ7DxU4CQnxyVDBItwFXXT00TO1OBB0xoBCTdWqVU11aBKafcmV4OWjYcOGasWKFaaAWFjyVCqJup+9QtDdscq05yC9A6kkmimKMdyepbwgNGXatGlq48aNar/99tupsA8JM0jAoZqCFx2vOVq4qRJpYjhMOSRBILEIsFpFGMGdd96pUFXy0UiqxItOfgr3F5/kUZGExZGB44L7a6ZJ7nEh6JyHgYjA7NmzFaFKvhiF+FgVaNCggSnQF7x8SCVR9xkWgu6OVaY9xYOeKYJ53v6HH34wFTaDFpByMtdtQ00Br0j9+vWNd5zYSaqBEodOvPimTZtMJn+UygR5hke+XhCILQKQ19NPP90onSxbtszbeHRIHvJ2qUILYjs5jgeG5CIrkRMmTFDI+WVicSLoOHhQ1uKF6p133vFKFpTz8KGHHlJz5swxVW8x8aC7n7lC0N2xiqqnxKBHhWSW9kOSCw9ym4iTbBY2KmkGOuLhAj++xrlmCW7ZrSCQEwTIAaHCIS/IePcoZuSbEVrAKh0vIa+//vouKzombewk0p988smK+zMrBJkkxuezUFEq3EeNGqV69+6t+OzVq1fSpqbE4yWkE9lFEkXJB0EqWJJE3adXCLo7VlH1FIIeFZIZ7oc4ccJMbCJO5jn/C4yEK5aOw0V9+Jkqd77Gs2YIrWwuCMQSgRkzZqirr75atWrVSj3zzDPexPyGweZ+RswvKwarV6/26h718MMPq6uuukp1795dIefni/HSwTNm27ZtRvPdJycPcov9+vUz88W8CUF3P2uFoLtjFVVPIehRIem4H7xKn3/++U5EnOVEigAFRowcKgg2EccD4JMqgiNs0k0Q8BIByqs//vjjpoARsek+2k033WQqcEJo27Vr580QqYiMKg8rIHhk8aj7Yk8//bTRsicmfdKkSb4MyxTPI8STmh+8fBD2qZ+97+gB/pc3g8zSQISgZwnYXexWCHoWMUf72PaI8zt/DxtyhYFySvCJB4PkTjFBQBDwFwHuBZUrVzb3BBIOeSn3zRgb5JVkSioVH3jggd4M8eWXXzb5PWiIP/fcc96MC0cSCZWsevACwnPJF3viiSfUZZddZnIHUKsRgu42s0LQ3XCKspcQ9AjQJOmLmFLId7i4D5XZwob+carCPocddlgERyG7EAQEgSQigPY0BX3Q1165cmXGqiBxxIAVguuuu87ENBPb7JNB9iB9L774oom5T9dWvL89sb/+yUeku2lW+1OQieJanJuLFy/2JgSLlw9eql577TVVoUIF9eGHH4oH3eFMEoLuAFLEXYSgpwHov/71L5MQZBNxlsrChX2QKqSwjx2ecswxx3hzk0sDNukqCAgCpSDQo0cPNXbsWKMMMmDAAO/wIo+GcBC0tnFiIFPoi5Gwz3hYJaDORLo1I+Kk4mLPCZVFp0+fbiqNnn/++b5MmVq7dq3JiyiSIBaC7jCzQtAdQIq4ixD0FIBCtinsY4en4CX/9ddfd2xBUiY3ZZuIs0yd7k064nmV3QkCgkCCECA2FsJAOOyrr75qPJe+GXUWzjzzTNW0aVO1YMECr5wVt912m9G1nzx5surUqVNaUxdngk6+FM84nEu8WKF84ou1b99ezZw5k+EIQXeYVCHoDiBF3KXgCTq64anixNEZDxsqKTYRJ9lECvtEfEbK7gSBAkUA7zLEnBd8Kh76eG8JSNHcuXNVixYtvJlpnhcQWVYKWGUlnNHV4kzQGcPQoUPNqg61Mkj49cU+/fRTU2xKr4wLQXeYVCHoDiBF3KVgCPqPP/5oMu3t8JSvvvqqGKTEg9sJm0gxpXPDjXiOZHeCgCBQIAgEMnB9+vRR/OybffHFF4bIIt3H/dinlxAqN3fo0CHtOPu4E3TUxQjh4SWEcE6fcqZEZtH9DiME3R2rqHp6R9AJQUEpwCbiVMsMG7FnXJzhoj78XK5cOa+WXqM6UWQ/goAgkH0EyHOpVauWiWVes2aNl6Eud911l7r11lvViBEjTEEcXwzZRYpP8ewhVImKnC4Wd4LOGGbNmqWuuOIK1a1bNyOZ6YsJQXefSSHo7lhF1TOxBJ2bIaTbJuKQcx5ygSHtRSiKTcTJ3pbCPlGdRrIfQUAQiAoBYn2rV69uPM0oaey1115R7ToW+6EQDsSI1UsKsSEz64uhwoO2duvWrU3xKRdLAkEnL6tOnTomuZLzExlgH0wIuvssCkF3xyqqnrEn6NwYKNFrE3GWR5E3DNuJJ564ExHnIedTYktUEy/7EQQEgfgiMGTIEHX77ber/v37K372zYhBv+CCCxQqIVOnTvVqeBT4odDPsmXLjJZ4aZYEgs4YWNFBCrR58+Zq/vz5pQ0rEf8Xgu4+TULQ3bGKqmesCDrVvSDeYS1xiPnXX39dbLzly5ffiYgja7j//vtHhYvsRxAQBASBvCHw22+/GVUX7oWvv/66qlatWt6OJRtfjOOlcePG6qWXXjJeWUJDfLGPPvrIeJh5Jq1bt65URa+kEHTmhzAXwl0WLlyomjRpkvgpE4LuPoVC0N2xiqpnXgg6SSfvvfdeMSLOg4is6rBRcc4OTeH3ww8/PKrxy34EAUFAEIglAlQWhbhC9iB6vq0E4nypUqWK0UenYuV//Ic/FIAk35EjRyoKNHXs2HGX51eSCDrywySMslrN+UkIaZJNCLr77PlzdbqPOd89s0rQiQXXVbp2Ck9BhooY8sCIseQhZFfZPPbYY726aed7suX7BYFdIcA1iewoFXB5Wd66daspQU/75ptvdvyMmgPJ2DQ8vbQ99tjDxEqjykE79NBDjVIHSdeseFWqVMnkgsg1nd45OGjQIDV48GDTCHnxzbp27aomTJhgvLKXX365N8P7/vvvzTnPSwdx9jibfDEkF5FenDhxourcuXOihyUE3X36hKC7Y5Vpz4P1DmiL9dtwJbzZmRjLlTzQ7ThxMtlJCAqMpEwy222vOH9L+pt4JvjJtoJALhDghRkPGC/NQaMKIoScRlESyPau7IADDjBkA28uDWLOtcu+KbbD9c4KGaQeTWjbUE/iRZyCNSSdUXIbIi+WGgFegghvwamBTrpPFTgZMeGLEFnOCxL89913X29OBbzn1113nfJNMhPJYnK7uFdwXh58MFQimVZE0CFAzYpG8J3+pIlZCAhBz90pMUh/1UC+jnARvGauxg3VJuL8/ve//73YLvCU2UQcL/k+++zj+lXSTxAQBNJEgIcmWsU8OPkMk/GPP/64mMJRsGsIMpUCuWbDn3i/8YQfcsgh5pMHseuLNN54vO4odUD88SLiCKChTAKBx/AwEuLQqlUro3zBg1+sOAJBBU7UQUg89CkUhJHee++96sYbb1SsFgwcaB5LXhgvqKjxUIGa856iOL7Y9OnTTYJvjx491OjRoxM7rCKCDgE6omgQg/Un/EjMQkAIeu5OiVI96D/99JPRcg0nbPIziiph4+GNRywcngIxT/Jbde6mQb5JECgbAiyhB4Q3IAB8QsjDMqPsnZATYkZZqaJKZbhRITfXMn6Qd4715ZdfNkmCL7zwgsIrh+FVv/baa9Ull1xivKpi2xEglGDSpEnqoYceMsVwfDJeKk877TTFCyRe9OOOO86b4fFC1bBhQ3XxxRerJ5980ptxcQ1T9RZOkI7me9wAEA+6+4wIQXfHKqqeb2uv9qlPPfXUTkQcjXFCVwLD883JbMeJE1/qm0cnKnBlP4JAJghw/VF5ESIeJuH8TkhK2HbbbTdDvFmlItabUIiAiKMzHWfNf8JiIDKPPfaYITGEyvCCT1EUSov7VLmwrOcDCleogoAN8+9bWNCiRYtU06ZNTRw68eg+GStDc+bMUWik161bd6ehJSlJNHzwq1atUvXq1TOrX88++2wip0xi0N2nTQi6O1ZR9Xxb7+hU+0HPw90m4izPxfkhHxUgsh9BIB8IEGaWKofDDh3DqwwBpwVknE+84z6ofEBEH330UXXPPfeYEB3GC1Hv27evV4l2ZTnH0NZGY7tt27YGI9+sRYsW6vnnnzeKLuQo+GKcx7xc8UxFUtJ+jiaVoDM/geb70qVL1dlnn524KROC7j5lQtDdsYqq59taO/xUHoBBvDgxoLle8o5qMLIfQSDuCKCAgtY/ZDxoLBOjmBI2vMZck2ESzs/EiBfCizLxu6zsDRs2zOCEx5ifiXtltaAQjRUVivvMmzfPhAXhcfbJyFPgnK9cubLRfvfpPO/Vq5eJ1Z42bZq6+uqri01bkgl6uprvcTtfhaC7z4gQdHesouqZVZnFqA5S9iMIJA0B1DcIRQiTcH4mzjZseIhThY5BSCV0TBklGBLS+vXrZ15iiFEnDpsVhEK0LVu2GG8syf2cT77F6ffs2VONGTMmJZFN8nyzEhaolZHAHS6ql2SCzpz07t1bjRo1yknzPW5zKATdfUaEoLtjFVVPIehRISn7KUgESJbCi2QTcbyB4WRN5AghlXgIg8aS9wknnOCVpzBbJwFJseiAjx8/3oTyoMPcvXv3gsQODIjNxysLMfLJILLILrJKwjWErKcvRpIvyb79+/dXQ4YM2TGspBP0sOY7Lx9JmjMh6O5XlxB0d6yi6ikEPSokZT9eIxAkbNpEHAWDf/zjH8XGjmJKkMMRfEI6fIgRz/ckIzmIiglqH82bN1cPP/xwwSWRsqpQu3Zt9eabbxrJShRQfLIHHnhAderUyTv9cF7Yq1atanIrWF3j5RxLOkFnDFOmTFHXX3+9WekiFC0pJgTdfaaEoLtjFVVPIehRIVlg+0FFBGWRc845Z8fIZ8yYYapLUvymZcuW6vTTT08kKmh0EycelhiFmKPrHTbUUcLecH4m/MC3sIO4TSISsH/5y18U5xva7Si/QFgLydavX69q1KihatWqpVDT8CleO6wfzgswakS+2IsvvqgaN26sLrvsMqNa5AtBZ854+QjqHVSoUCERUyYE3X2ahKC7YxVVTyHoUSFZQPuBrN5www2GHARFKvgbIQjPPPOMqSaJ/NaaNWtiHUdNxUteMmytf1vC8KCDDtqJiHNjJw5YLH8IEJvepUsXE6dO8h3qJoVkFPehyM/UqVNN8qxPtmLFCtWgQQNTvIp7ik+G84JEX+oAkFPhgwed+VmyZIlx2Fx66aXq8ccfT8SUCUF3nyYh6O5Y0XNP3Srr9lfdfk5v0x29haCXEbhC34yqfxSXCQg6S5tUmyTJCyP84LbbbouFXBpLyywr20Scoj7EkAeGelEghxaOFcdLKwmb8TzjN2zYoM4//3yjCz948GA1YMCAgpkr4rWRxOUFhZAfrj+fjOI+s2fPNsSPYj++GF5miCEeZ5wYTe5ZZYb2Yvf6iR9i8PKRFKlMIejup5wQdHesbtFdj9dtjG6fum+2U08h6BmAV8ib2gSdYhVUfwy8mFSDJMSFWNJcGXHiqFzYRBwvOaE3gREOQEy4rfXPUnqhSvjlao6y8T2QczS0CfvgvCMZr1DmET30K6+80sT/Mm6fDMUjEquR/iXefvfdd/dmeLfccovR+tBzBjoAACAASURBVJ85c6Y67vQmZlz1Tw6qzSd3mPbLR9xDr4Sgu59rQtDdsOqnuxGU19Gt+y57CUGPAMS47gIvBh5FqjSGDSJ79913q6+++kqhLvLll1+a39PJvrcJ+rnnnqu6du1qdJqxm2++WZUrV84UmMmGBYV97KRNdMbDRtlwm4jz0N97772zcViyzzwhwGoOHteFCxeal0TCXzi3fTeuZbzLhITgjU1q3kdJ84TiCUmH999/vwmr88XIc0F2kQrdrH74lLcSfvng5THOJgTdfXaEoJeO1XG6y3/rdqxuxTPWSt82VQ8h6GXDLdZbQVaIcWTJn5s/D/GwDR8+XL300ktm6RgjdpxQgblz56p169YZL2Qqw9sD2cVsgg45atOmjSnVjeE5r169uvHsZWKMJSjsE/aM83IRNgr72EScmy/x42KFgQC5D5x/lB1nRYc42EIoukYiJUouQYEfn1YPuP7xoLMChoTfIYcc4s3JPGHCBOPUGDhwoLmf+mJJevkQgu5+1vlG0M/SQ0fs1K5/yzgJUSmn22+6lS/6vbjrLzVuN+s/E+T7kG7IZyzQLRNNIyHo7udn4nriPUcvOkzQUSLBq8xyeLt27cyYWEquWLGiWrlypapbt67TOG2CzssAHni0qTHigvv06aPOOovLoHTjAczLhF3uftOmTcU2Dgr72OopeOslTrx0nH3v8dtvv6mrrrrKKGScd955JsGwEOQtg2Ix9913n1G48clwDLRv396syrHS54uRG8OLFfc47n3cl30xzkMqlPOc4AUkriYE3X1mfCHo++sht9CNs/I/dbPHxZo/5LpRETR36M8qurV0gOp+3YeEUAj+frrBXsieIVG0LCYEvSyoJWQbbo4Q5zBBnzVrlrriiiuMV5qEyMBQJMH7iCqEi9kE/a233jI3YwgRZBvvOV5525tHUiYPJJuI84AKF/Yh3jQo7BP2jCPfFfe4Rhf8pE/2ECBpElUTiB2KEsRp++RVToUcnmauZ4rGcC3xwuqLcc8IdN9ZRfOpiqwJybrraTOmVyb08GXKFC/KrOgguUtcOon2cTQh6O6z4gtBD0aM97y/buFxkWa/RTeC6WYWdaxQRLTr6c9/6vZgCZDh7iTjDlI+tqjPc/oTDaoZ7jAX6ykEvYzAJWGzVASdmPARI0YoFCAOPPDAHcOoUqWK8YCjqVyaoYhy3XXXGeI/efJkoySB4TWBCH3xxRcmLpa/21rivBikKuyDRzxMxFnWLgTPZ2lYy//LhgAveyQtE+5CyBaFVHxfYeHl+MILLzQrYxRw8smIr4ekN2vWTC1YwMKxP/afN89UP/z4g3r2uurqjDPO8GZgL7zwglHzivP5KATd/XTzjaAP0kPHix4eF0K9j+r2X7q9E4Jmm/6ZqgXdSoHrRv3/o3XrU9SPbebo9kQp271dwv9P0l6XvSBNYv4hkIqgExMOWYHAhL2KhKKQeIn3LV377rvvdpS6D3vG7cI+5cuXN3riYSKO12///Vl0EhMEokWAmHTUXSgOQwgIL6Y+Gy/MhPVAjJYvX67q10++bF94viB6jzzyiJo/f74hfr5YveGLFZKvx7/9sKJSrk8vkk2bNlWLFi1Sr7/+uqpZs2bspqyIoP+iD+zDEg4OriamESgEgj68iFyTufZ9aNY36J+JQS8tAJggNch4naJtX9afF+r2ZSlnkBD0ArzEUhF04gLxdBMGEA4VIfYcoo3HuyQLCvvYyimfflpc6RPPvE3E+V0K+xTgSZjnIVN1lOIpeGB5MWXlx2eD6EE6kAwlxMwnJRvkNFlZI1ab+5QvY6NQEUpaf73rMkUIYpBo78N5ivOPOPug4m3cXj6EoLufZYVA0CdrOAhTQdD13yFoVuufEUHdHiuwa0Ne8U+6wYpoT5e2wS7+LyEuGYAX901TEfQhQ4YY1RZiVcOyitWqVVNHHHGE8XYEhX1sIk5oS6rCPuGiPnjHpbBP3M+Mwjq+rVu3GoKwefNmEx5BqXWfLbjux44dq5C888mC+9e4ceMUlVR9MAg6DpMNwy8yq4nvvfee2nfffX0YmhkDScsTJ05UTzzxhAk7i5NJiIv7bBQCQScDr6tuu+n2ewlDpQj8PVi37Rp2uTMh6LnDOufflIqgI79ItTeK9xAjTmEfiDjJdHimkKXjf4QHBBYU9rGVU/DS+VQ8JOcTJF+YMwQgPcQwQ4QII+Bc9tVY6SJ0jBAzEvR8Shglf4X7FisjOAx8qJ4KQcfO322DUaq54447TP0KX2zbtm1G8/3ggw82Lx9xqkEhBN39LCsEgs5Vh2oL2XlhWcU39e9/0217SbHcmRD03GGd828KE3RukhBxKvIRj4usIlrieNLDBkm3iTgKAxTUEBMEkowAcdl4z48++mij9+9zyBXJsdQluPrqq9W0adOSPG07HXugRIUHHU960i0g6Au61TH5OThNeLE65phjkj60Hcc/ZswY1bNnT3XnnXdmrXhdWcASgu6OWiEQdOQX5+p2im7vhaCh6sojuuVaZ0kIuvv5mYieyK1RuIQYTbTOISJHHnmkYpk/bHi+zzzzTEPGWfpHDgsC41MhkERMmBxkThGYOnWq6tixo2rUqJGpOurrChAJo02aNDEJsq+++qoJ8fHFGFudOnXU2rVrzX3ulFN4nCbXAoL+Yvf6JgGWGhJo+VMN1xdDehcyTKw9BacQDIiDCUF3n4VCIOi4IVFsIVNpVhE0JH5u1o3Ez1fd4cqoJ+E0tMV6ubASy05iyUKAGx5elrCMIT/bhX0Y1VFHHWXku+rVq2cIOcvfxAT+8MMPhpCzzT333OPFcnGyZlGONh8IdOnSxZSO79Wrlxo1alQ+DiEn38l9HY8sEqqvvfaaV/UDAtlF1FwgtUm2MEHn5QPlk8WLF5sXkBo1aiR5aMWOfc6cOap169bmBfnBB0tSk87tcIsIOgSoWdE3f6c/aWIWAr4R9ECxxY43p/InV10QzkLYC1lL6KAXr8mevVNkkN61Ke/FMi/yemLxRICkTCp92kQ8VWEfYjPtcvdS2Cee8ypHlT8EeLk9++yzTSz6448/bvIvfDXCCggveOCBB4wevE925ZVXmiJUyEpCapNqd8zbrrh8e4vtheNQPqHIDzkT1KWIm/JJWXHm5YOVK1ZqCbXkxTHfVkTQIUCIdGCDdYMfiVkI+ELQ99DjIlUZIn5C0efj+jOo9vkH/XMQh/6t/rmibjfr9k0OzwjxoOcQbJev4uZlpLZ0nHhYPSVVYR/ix20iLoV9XFCWPoLAdgQopkW1Wwp24V32NWmUHBNe3FFmYsXNpxA2YrUZG04IKhn7FK4UrPLEUfkkk3sI0p8ohqHRv3Tp0ry/fIgH3X02fSHo7iPOf0+JQc/DHKA3DvG2y91//fXXxY4G9QWbiEthnzxMmHyllwjgQSfsC5JHOIFP0nbhCaOqKDHN1EAYP368V3M5cOBAo3pCbQfk/HwxVrUrVapkXqhQ1YqT8kmmGLOS89BDD5kqv61atcp0dxltLzHo7vAJQXfHKqqeQtCjQjLFfn7++Wdzc7WJOJ6fsAWFfcLqKdw40CUXEwQEgewhMHLkSNWnT59YxcVGPVrC5KgUTDXH9evXm5d+Xwy5RVYPkYUl+dCnFYJA+WT48OHmHPXFWCnm5QMHFI4qpH3zZULQ3ZEXgu6OVVQ9haBHgCTLx1Tws4k4Dwy7sA+KA3aVTaQNfYkzjABO2YUgkDMEuD5JNKRAl29VHMMgEvNLwiErBsuWLfPqfjNz5kzVvn17U5SJ4kxJsxXvb88Bq39ycYcMLx0QSORw46R8EgW+vHT069dPjR49WvXokWvxut9HIATdfTaFoLtjFVVPIehpIEmcOGXtwwmbkHJkDe3CPhRmsIk4f/MpTjIN6KSrIBBbBJAgpRw5EqV4mLlOfbTrr79eTZkyxbvEWF6ykJFk7vDI4lFPkoVVXOzjDpRPCAsh0dcXY3WZ+hqEe/Lyka/VYiHo7meUEHR3rKLqKQS9BCSJB7eVUyDjdmEfytrbRBwvuRT2ieoUlf0IAtlHYMmSJercc89VVatWNeou+Vx2z9ZoKVYGed1vv/1MRUc+fTHmjLoOLVq0UHPnUmokObYrgo5TqGHDhmrFihWxUT6JCtknn3zSKCh17tzZyP7mw4Sgu6MuBN0dq0x7iopLEYLEMAYJm+EQFeLkwkZJ6XDCZhAvTvliMUFAEEg+ApRXHzp0qNf66BMmTFBdu3Y14QXDhiE05o9dfvnlZnUADXFetpJiuyLojCFQPmnQoIHiRdKXcEhePurWrWsKaaHCA1nOtYmKizviQtDdscq05yC9g4LSQf/tt98U2uFhCUN+/uijj4phiZIDF61d7p7KZ77cGDM9eWR7QcBHBMglwQuLogtazcRr+2aMEXlJPOg4JnwK56EaMmETjIlwl6SEE5ZG0DkHA+UTQl4uuOACb05LrrXTTz9dNW7c2FT2zfUzVnTQ3U8lIejuWGXa01sPelDYx07YhJxD0gPj5o28mk3E0Rj/wx+QqhcTBASBQkMArXAKqKAwsXHjRoXCkm+2cuVKo0NNSfl58+Z5Nbz+/fublYFJkyYpYu6TYC4EPVA+wVHEi9Wee+6ZhKE5HSMJviT6UhGWhO1cmnjQ3dEWgu6OVVQ9ExuDzvIY2e02EefmRdhK2CDdNhEnFtPHONOoTgzZjyBQqAgQD4umdocOHYxes4/Wtm1b9dj/b+9coO4azj6+F6q6pJFPkLqU4KP3C5LWtS4JEZekCCsuIdHlFhSRuksQtwihpYi0pBpJU2SJa4nUJfFJLEmpr1QXRS4igoTko1rab37Td6c7x3nfM3uf2fvsM+c/a80672X27Jnf7L3Pf8888zyTJzdEFOXJk42+uPBjpeCVV16J1ltvvTxP56VuF4HOiWLPJ7hfHDZsmJdzl6ESHC8wWbb55ptbU5fPfY5Yj8Uk2aC7c5ZAd2flq2RTCHSi/SG8KzdtVgvsU7lhk8A+X/ziF33xUj0iIAKBE+Dlv2/fvtb1YmgmBfHQLVq0yG4YxcUroiikGdkJEyZEQ4YMiYYPHx6NGTOm9Ferq0BPej7h5WODDTYofd9cG3jxxRdHF110kQ2kRUCtopIEujtpCXR3Vr5Klkqg8wDCNrJSiFcG9kFwVwpxfm+UqyZfg6F6REAEykHgzTfftM8YTOFYpdtoo43K0TCPrcAUBJMQfIfjQzyUhJljz5497fcILnDLbmfvKtAZnylTpkQDBw6Mhg4dGrHhN5TEqjez6B999JFd+Sgq4JQEuvsVJIHuzspXyYYI9E8//dTehPGGzdhMpTKwD7M6uCysDHevwD6+hl/1iIAItEcgdgNHOPKpU6cWvoEt75FBDLHCuGzZsgjb+5BeQmbOnGk3+TJ2hJQvc0oj0FndISrsnDlz7MoH4xdKmjhxYjRo0KDo9NNPj6699tpCuiWB7o5ZAt2dla+SuQr0OLBPpeeUl156KWK2PE7s3GaWo1KIK7CPr2FWPSIgAlkIMFvJrCXu+/DZHFq66667okMPPTQ6/vjjo3HjxgXVPfpF/37/+99He+65ZzB9iz2f7LvvvtFDDz0UTL+SAafQDMyo550k0N0JS6C7s/JV0ptAxx68UojzO/bjyRQH9klu2lRgH1/DqXpEQAR8Eli6dKmdpWQSgX0woZnRMYmCeMWzy7x586wHm1DSa6+9Zt0u8v0yd+7caM011wyla1Hs+eTBBx+0+yVCSUUHnJJAd79yJNDdWfkqmVqgYyuGXV+l95TFixev1iZsyOIZ8fiTm6Eo2zJfgFSPCIhAaxNg9pwgOORJkyYFB4NAOPhGJ2jMY489FpQpz7nnnhtdeeWV0fjx460v8VASnk/Y5Nu9e3frDrRIzyd5M4xXraZPnx717t0719NJoLvjlUB3Z1VvyZp+0PEZjl1ipRAnsA+zLnEipH0c2CdporLxxhsH9aCvF7iOFwERaE4CPO8OOuigaNq0aTb369evOTvSQatPPPFEa+Jy5513RgMGDAimfx988IEVsowhe5xC8muP1xO8n1x//fU2OmwoiYBTmLcwbgScynPlQ37Q3a8aCXR3VvWWvMhUsCqS6DPPPLOa5xREOd5UkoF9uEniwD5JIY6P8TxvoHo7quNFQAREoF4CeHXB1IVIw6wgdunCHEc4CVMe/IfTL/YIMfESSsKXPbPnZ599tp1NL1tKs0k02fZGeT4pgt/5558fXX755falkf0ReSVFEnUnK4Huzqrekqtm0I1t5TbJGXEqZtksKcKxF0ecK7BPvdh1vAi4E2AjNUvZ+Kxmj8d77723Kse/M0P497//Pfr444/tJx6ScA3IkjefuCRdf/31rWkZ9tNbbLGFvb+32mor6wO76NDa7r0vX8nbbrvNBi8KNYARnjMIgDNq1CjrfjGUxD3Ro0cP+2LFywfXfplSVoFOH4jAiT06bjJxlxlKWrFihZ1BZ+xY+cgr4JRm0N2vGAl0d1a+Sv5p3XXX/TqzC7FfcQX28YVW9YhAxwQQ3LgbJc+fPz/C3z+CnE/yO++802EFiOtOnTpF66yzjg00wwv0GmusYaMosvpF5osOd3rVEl963/nOd6Ltt9/e2h/vscceVswrVSfARAaeMx555BEbxGifffYJChUveN/+9rfttffyyy9HbOgPJT3++ON2M+whhxxiPbuUKdUj0JOeT9jEjKgNJd16663Rj370o+iss86KRo8enUu3ZIPujlUC3Z2Vr5KpN4n6OrHqEYHQCSDolixZYmeAXn31VSvE409+Xr58+WcQMPO96aabWnFEZpab35n9RjwnMwLbxbyMmXh8Xb/99tvR66+/bjPnx48yGwSZhSch+Lfbbjtrb42LuiLcnDXbNYB9LJMZRHFEEGHyElLCbd9+++0XHXnkkRF+qUNKBx98sPWJjljffffdS9O1egQ6nXjqqaesb3T2RrBHIpRUxMqHBLr71SKB7s7KV0kJdF8kVU/LEuCLBNHL8nmc2cPBz9VEOIIbH/9bb721/SRjeoIY79atm50FLyoxA8cLBKIFf9F4TkDMk3C5d8IJJ1ixhqmM0r8JEI78tNNOy3Vmr5Gs999//wj3fbi822mnnRrZFK/n5uUYl4u8YOFL3OXl1msD2qmsXoFOtfjoJ7DWo48+GvXq1auIZhdyjrxXPiTQ3YdRAt2dla+SEui+SLZYPdhFI0Ar3WC19/cQ8GAqgmejWHzHYpy/YQOeTMx4xz6YWXaOhTj2r2XegIdZDK72+LInYyKDGQ0btc4888xok002CWEo6+oDL2Tf//737eoDvsMxCwkpYd6CiGU1Zfbs2YW+MObNEXOJMWPGRJhPDBkyJO/TOdXvQ6AzQcDzhlUvrsmyvHw4AahRKF75eOKJJ2x0WJ9JAt2dpgS6OytfJSXQfZFsoXrw8oNbth133DG6+uqrV/W8vb83GxrENiL8hRdeWBV8CzFO4JPkhmpMQpj5ZlaOHAtyfu7atWuzdfsz7V25cmU0efJk68YNFti5I9RHjhxpTTxaOSGCevbsaTMzzUWuehTBnc2ibBqdMGFCdMwxxxRxykLOQeA8vNUgYHmxLsPKkA+BDrzzzjsvuuKKK6JbbrklOu644wrhWcRJMMdjbxyOK1j58HmvSaC7j6AEujsrXyUl0H2RbLF68MGLgEsKdBC09/cy4mEmlGXvOAJu7PMfkw/+FyeEKbPglUKcv4Vmg1xtnHgpuf/++613D74gsX3HywdmHiEFSEl7jcYi9sYbb4xOOumktIeXujymWQhZPAGVRcj6AoaAxXQLQXvZZZf5qjZzPb4EOqtdjFmIPt+HDx8eXXPNNRGelAYPHpyZdeWBEujuKCXQ3Vn5KimB7otkCeuZNWtWdOGFF1qThWTiAc7sGBsYEVhvvfWW/T3NbFIzCXT6i+lNLMTjmXHcrrGBMk7MiGOKUuliNBYqJRziQpsERwLZ4E+aJXVMIDAVCCk8fBqgvKAys8esLCssoZn/xEL2nHPOsTOzoSRevrl2Y3M13I42MvkS6PSh7D7fs3KOXxj5vmLcMLvzkSTQ3SlKoLuz8lVSAt0XyRLVg3C47777bJQ57Ekr/dzzZctmohkzZthWjxgxwtrT3nvvvc69KKtAx3VhpRDn98rNmmzUTApxfsZEpRVmxJ0HuZ2CvNQw88h1xEsN4dSZUWelodUS90z//v2t1xts9kNKCNkddthh1cbnsvkPr4c1zz72zxx22GHRlClT6qmq7mOf+MtSW8fu225Yd11JzyeY6RFIMJR00003RUOHDrXPGlbzfCQJdHeKEujurHyVlED3RbKE9TB7fumll64m0BGweAu5+eabo0GDBtlWMxvKg/zJJ5+0Gxjxi18tERQDIUtqtEAnih6zlkk7cX5evHjxak0nQE+lEOehzN+V6iNAGG422j3//PN20yQCdfPNN6+v0iY8Gt/aU6dOtWZAeEAJKbExD//4uN6kjyElXqx4wWKlcZdddgmma6yY7rXXXtGAAQPsilcoifgOrNZhlsjEk49njQS6+9Uhge7OyldJCXRfJEtYDyKaWfTkDPqkSZOs2zx8OLM8Hyc2/R1++OF2Q6BLKkqg41WEJc1KO/G//vWvq/WLFwsetnHALT7JG2+8saJlugxoxjIEt2EFhkAibIzl+gotgE8tNJhPsT8BH/XcVyb4W61Dmur/zDIj9EJz4cdeE54ZBOuaM2eO182HjR5gXqjuueceO+lCELJQEkHC+vTpY7+reNbUmyTQ3QlKoLuz8lVSAt0XyRLWU02gY45w5ZVXWrvZzp07r2o1MxPYoM+cOdOpJ74FOv64CQJTaZ7CMi0iPU54X8CVWKUQZwUgJNdiToNQokIESMHbB0GPMH3BnR3mL62SeLH98Y9/HLGZDTd+IaXYhR97MVg1YeNoKAnXoWPHjo1+9atfRUcffXQo3bKByJiAwQXoM888E9TLR+yn/+mnn7aexOpJEuju9Frnae7OJO+SEuh5E25g/dUEOt4L2PzFcmFS0BKJbunSpXbpsFbi4Y8bL2bmx40btyriZHt/r6yPzamVQpyZR2znk4nNW5UbNhHnhLRXKh8Blp5/+MMf2rHFqwkBfUIScx0Rx/YXscBeDjJf/CGl2Fzu5z//ubUDDiWxN4WN4TxTePb52nyYhs8l971oi4848D8rmmmOb69s7PkkNFeZTNowQdOjR48IkV7PRIAEuvuVJoHuzspXSQl0XyRLWE81gX7qqadGN9xwg3UjmPQnyzIoX1bYcftKzKYivJN24og3XgSSaaONNvqMnTizP2m8yvhqs+qpjwArMwQWISrpgQceaP2oh2by0R4hXFBii08wFeyA6xEO9Y2C/6PZ88HLMcG6MA3BnCeUhJvMk08+2Xq8uuSSSwrvlk8vLsnGx55P2LzdqJePvGCyWsWq1R133BEdccQRmU8jge6OTgLdnZWvkhLovkiWsJ5qAp3d79gMI56TAnj77bePiH758MMPp+4JgX3YsFlpJz5//vzV6uJ8sW14bKLCAxKBrhQOAezS2WjMpmJe/B544IGWedkigBerShMnTrR7PUJKiKGjjjoq4iWf1ZFQEquJ2KGzr8XX5sM0bPIS6LQh9nzSqJePNBzSlH333Xetz3dWPJhRz+p9SwLdnboEujsrXyUl0H2RLGE91QQ67hf79etnBTVuBePUrVs3++VLMIj2UmVgn3hmvFpgHzbNVdqJs+s+pFnFEg55aZqE+ROBfK677rpop512ih566CEb4Cj0hHBgphl/zQiHkPrMmO688842WBX3Pvd4KCnefMhsLC8iRaY8BXrs+SR++cCDVyjppz/9aXT66afbVQ9eQLIkCXR3ahLo7qzqLdnFVEB+xHyZbMMXiVJ4BKoJdJao8dgyfvz4VUuDCxYssC6rCFmOmEob2KdSiCuwT3jXUpYecR0R5Oaqq66KevbsGU2fPj0owdoekzhYDOKBAGAhpdmzZ9tnxH777WdXRkJKBxxwgO1T/Bwsqm95CnT6wKrovvvua1d0WNkJJeE8gO+ehQsXWrOrLIHC2gQ6AqhvG5fl5pOsVEFAAr24S+Iic6qRnA6xVmkTXFwzdKY8CcQeWyrtzc8///zo2WeftQ9u/KL/5Cc/ifB3TOAObMZdAvvwYGQGLevSYp79Vt3lIYBIZ3aLwEaYu3DN4RIz5IRHImaaucfmzZtnPWmElFhpY5aZVRGEXyiJiSo2pROcCZGe3KOTZx/zFui0PfZ8wgsW+yRCScQeYK/L4MGDo9tuuy11t9oEOpui4ihRF5uf0UdKEugNuwY0g94w9PmfmJkFgsYgxHFdyCdmLXzhsDRNxkcu3lQ+/PDD1RqkwD75j0+rnQGRfsYZZ0QsSfNlevfdd1sTkJATwpxVA2abcV0akmkXK26Y8eBl6Y9//GNQnnpY9eA6LXIPQRECHZNGXj6+973vRU899VQw1yPPFuIu4KOfF2JertIkzaC709IMujsrXyVlg+6LZEnqqQzsE9uJdxTYJ2miosA+JRnIwJrBrDKzXGwcJYItrt+KmqFsFMpTTjklwi1haG7u4Bmbz+FJg36GklhRxO0iK4NsGC3CA1ERAp3xiT2f4Flp4MCBoQyZnXAijgfRYFkJTvMyLBt098tAAt2dla+SEui+SBZcjwL7FAxcp6ubAC+PhxxySMRG5RAD+lQCWrZs2aoYAUTD7dKFhcswUshuF+OgU7yEjBxpLUFzTUUJ9KTnE14+QjI1i70nEfF2wIABzuMlge6MKpJAd2flq6QEui+SOdXDEt7bb79t7cKT/sTbC+xTuWFTgX1yGhhVm4kAm5T33ntvu8xOwCwCXoWciFDJygGzzAi/kBJmIKyGnHbaadZbTyiJF0n2DWAeyIvVZpttlmvX8gpUVK3RjBPmZpdeeqk1fQwl8R2Jc4KuXbtGL774YrTOOus4dU0C3QmTLSSB7s7KHQ52PgAAFRBJREFUV0kJdF8kPdRTLbAPovydd95ZrfbKwD6Ich40CuzjYRBURe4E2JTORjVsmXFvt+eee+Z+zkadgJUuAhcR8RD3hMQbCCXRN2zssbfnOZV029rsfWQDLJ5qeAG5/fbbm707q9pPjAJs0RctWmRfPrJ4PikrjDFjxkRnnXVWNHr0aPvpkiTQXSj9u4wEujsrXyUl0H2RTFGPAvukgKWiQRJglgtxt+aaa0Z4lth2222D7Cedev75560wjzfohWR7z4sHHmvwEoJHjZBS3759o9/97nfRnDlz7NiFkuJYGEOGDIluvfXWULoV8b1KBGomAHC7SGyPWkkCvRah//xfAt2dla+SEui+SFapJ0tgn6SJigL75Dg4qrrhBHC5yCwlm/KYXe7cuXPD25RXA2LvILiCw+QlpERwHzYeImb79OkTTNd4icTUJVTPJzNmzLCeT0Ja1Zk6dard53L88cfbiL61kgR6LUIS6O6E/JeUQPfANBnYJ2knzgP+b3/726ozsLscMVJpJ87fQnc75wGzqgiQQGwTe/DBB0d33XVXKg8MzYRj+fLldpWA2XM26IUUYXT+/Pl2M+xWW21lVwvWWmutZhqaDtsae+LJ0/PJE3/BDXcU7b5t7Io7f3yx55Ndd901evzxx4O57/guxmQO16Z/+MMfasYgkEB3v9Y0g+7OyldJCfSUJHHDVblhs73APpVCXIF9UsJW8eAJ8IV6+OGHR1OmTLERRwmaFWqKI4yeeeaZ0dVXXx1UN0eMGBGNGjXKupUcOnRoMH1j/w8TKLxQEcgoD88nRXlxqRyUE044wW7UJi4BL8ihJPZE9OjRI9prr71s9OKO3C5KoLuPugS6GyuM4Z42+R9txYn48Q2TCVebNkmgt0MMN2LMgCO+k4J88eLFqx1BYJ9KIc7v/F1JBESgNoGVK1faTaMIIAKOhLpplE2V9PO5554LblMlY8gsOnbA2P+G9Py79tpro2HDhtlouOedd17tCzpliUYJdDyf8PKx4YYb2u+6z3/+8ylbXt7ixx57rI0seu+999rgaO0lCXT3MZRAd2M12BS7y+SVbcUfMJ/7ux36mVItL9AV2CfjlaPDRMAjAcQ5kTcJEMMM2Kabbuqx9vJUFW+qJPohNttpgqqUpxfVW4K3k2OOOca68Rs7dmzZm+vcPjyfMOny5ptv2pcPgrn5TI0S6PSBVauzzz47uNUrJtJwu4iXGibY1l577apDJoHufiVLoLuxgtO/2orioHWEyce7Hdq6Aj0Z2CdpJ44wQKTHCa8SzATxQE7OjG+55ZbW44SSCIhAPgRYaifIyG677RY99thjwd5viFjE7LRp06J+/frlA7MBtSZXCIjTEJJnHmZi+/fvHzEzi6mSz9RIgR57PsGUh5cPXPiGkljxuOCCCyJWQNikXS1JoLuPtgS6O6u4JFE+3jP57vSH2iOCm0FXYJ+MV4IOE4ESECDozc9+9rPo4osvjrBrDjExu8ckAKYFCFnXoCrNwIIAVGw8xKwAURtK4nuld+/e9sXRt+eTRgp0xid+McYm/eabbw5lyCKCouGbn/gir7zyig1iVJkk0N2HO0SBvqvp/iiTKyNx0NczTMZRJ9O3X2r7fYU7LlvytyYj0t9PeVxcvKkFOjdebCOetBOvFtin0k5cgX0yXjE6TARyJIDXox133NHaaD/55JPRLrvskuPZGlc1m0TZEJuXXXPjehZFAwcOtJt+CUJF1NhQEh5qtttuOxt4CqHuyzyp0QKdl4899tgjmjVrlt0fQSCjUBLed3AD2l4kXwl095EOSaB3Mt1mZ8JIk79icmXfzjV/621yrzY8l5jP75rMemcPk3/RDrZB5u8vtP2PzaH3mJzV/pxqmkKg86WNKUrlhk3ceyVTp06dqm7YDGnZzv12UkkRaE4CL730UrTDDjvYGWZEUZcuXZqzIx20Oo7ouHDhQut2Me9w8kUCfOONN+wKATbAuLoLye0i/rXHjx8f4W/7oIMO8oK10QKdTsydO9fuAenVq5d9sfL18uEFUB2V8PJBIC3iLPDSjye1ZJJAd4cbkkCPe83s+QUmJ/u2vvl9gcknmvzrtoLdzedrJv/A5JmOyJiV39nkyxzLVytWKoGuwD51jKQOFYGACOD+jSX3Qw891M7GhiIYkkPEJlGiVeJmctKkSQGNnvnSM7a/rA7cdNNN0Ykn8lUXRlqyZIl98fDp+aQMAp3RIbLohAkTIiKNHnDAAWEMmOkFkWBZleNee/DBB1frlwS6+zCHKNAvMt1nFj3ZtyPM73eYjGvEFxN43jE/Tzb5VEdkV5lyU0ye61D+T+2U+apxrbTG1ltv7VCF3yKffPKJDeLDJpX4k595400mdl/j/omMrSaf/C3EL2y/hFWbCDQ3gQULFkQrVqywnhhCnEVndFgFxEVh9+7drQebUBIbRrH75XmOoCVAUygJE0pcFBJKvppdc9p+vvHuh/aQLbo2dvz5TmajKEHz0AQhfccuWrQoev/99yOic7PSHqdXX30VDfJP83t7bqrRaUqGQKsI9CtMX88xeT2TP0iM/HPmZ2zQd3O8GmaYcpjJrK5oqx/cnkD/uine0cXp2BQvxXiCs4vj3bY21Vtp1vrSHudSvqMyWf5X7Zj4LevVesF5ON6FSZrT1FNfmmNdytYq097/0/69LONZq79pxjEum7XONMe5lK1VRvdm7dGtxbC9GtIe51I+y3jRvjT3Zlnuy47aXXvUqpdwYexjPF3OU6tMmjHriNVX28Y/OVma7KMEehuNVhHo40x/cYtIPORPE1fCLPMzsX6xWS8qxcK9DBdhd9NpzHy2NPl1DwCy1pf2OJfyHZXJ8r9qx2gsq180LuMTH+lStlaZ9v6f9u9lGc9a/c1yq2atM81xLmVrldG9WXt0azFsr4a0x7mUzzJetC/NvVmW+7KjdtcetfqflZU1uIyPnrNZR6YEx7WKQL/esD7FZJxqM3sdJ2zP2Q1V5BZqPWw+e+GnedC4PiT1xVHfAybtmCTPluZYl7K1yqT5su/o+inLvVmrv1lGNmudaY5zKVurTJb7ttoxZRlL1+dVmjGtxbC9utIe51I+y3h1xERj6X4luIxPXJtL2VplQnvOupNuUMlWEegXGr54belsctKt4jzz+1KT+xTIv0xfHLycEE3gOpOXe2CQtb60x7mU76hMlv9VO0ZjWf2icRmf+EiXsrXKtPf/tH8vy3jW6m+WWzVrnWmOcylbq4zuzdqjW4thezWkPc6lfJbxon1p7s2y3Jcdtbv2qNX/rKyswWV89JzNOjIlOK5VBDruF4nggL+f5MaEJeb3iSafWeBYlOlhU2C3gzyVxjKsYdV4hjOeGkuNZTgEwuqJ7k3H8WwVgf4FwwOPLQQYin1rfdn8jFNv3CY+7cjLRzFdnD4olqMOjWU5xsFXKzSevkg2vh6NZePHwFcLNJa+SJajHo2n4ziEKNBjjy2V9ub4LicgUWzOgtnLPibjB93FK4sj0prFdHHWRNQ0BTSWTTNUTg3VeDphaopCGsumGCanRmosnTA1TSGNp+NQhSTQifJ5mMkI8S3aPn9jPv+3jQUugmI79GXmZzyXYH/9niMrFRMBERABERABERABERCB3AmEJNBzh6UTiIAIiIAIiIAIiIAIiEDeBCTQ8yas+kVABERABERABERABEQgBQEJ9BSwVFQEREAEREAEREAEREAE8iYggZ43YdUvAiIgAiIgAiIgAiIgAikISKCngKWiIuCBwKamDvzxP+qhLlUhAiKQjYDuw2zcdJQIiEBBBCTQCwKd8TRXm+OONXmhyUea/ELGenRYOQh80zTjZpNnmzy8HE1SKxwIHGPKrG0y3qEIePaMwzEqUl4Cug/LOzZpW6bvyLTEyl2eoJH9TV7P5ENN/ku5m5tv6yTQ8+VbT+19zcH/1yYGbjSf3U3eq54KdWwpCFxkWtHJZAn0UgxHzUYg5nDPerDJnzf5SZN3NLnI2Ak1G6kCqQnoPkyNrHQH6DuydENSV4O+2/aMnWM+TzZ5G5Nxhd2ySQK9vENPUKVn25r3LfP5gMmbl7e5QbVsV9ObUSbvWdEr7pczTO5m8j9M/lLb7ytS9F7CIAWsEhS93LSBWAnM1JEeNJlYC0+VoG2t3oR67lPdh81/9eg7svnHMNkDJkA+bvvDQPO5WeK5G1ZPHXsjge4IqsHFdjDnH2EySz9K+RFgZvtAk0ea/BWTK++Pc83fepvcq60JzKzy1t8vRZMkDFLAKkHRe0wbfmvypLa2/MJ8YuJySwna1qpN8HGf6j4M6+rRd2Q449nVdOWXJg8yOc3kVzgE2noige5nSOuZyXFpwXmm0BMma9bOhVb9ZZg9v6BCoK9vfl9g8okm/7rtFN3N52sm/8Dkj0xGvFVLPGji/QMSBvWPT9Yastyn083JbjB5WttJrzOfS0y+ImsjdJw3Alnu05ltZ9d96G0YvFSU5d5MnljfkV6GwVslWcdzXdOCYSYPMZko8Gkmv7w1viwVSaDXNxL1zOSwPOci6DYx5Y4y+ar6mqqjUxDgy5tZ9OT9cYT5/Q6Tv2Hyi4m63jE/Tzb5VMf6JQwcQXksVs99eqdpx9S2MaZJzJzPNXmcx/apqmwE6rlPdR9mY+77qHruzbgt+o70PSrZ6/Mxnpz9v0xm8ouN+e9nb05zHymB7mf86pnJ6agFnzP/ZDPhaJP/6aepqsWBQLUvfmZMzzGZ3eUfJOp4zvzMMtxuDvVSRMLAEVQOxbLcp2zMZnzHtrXnfvN5pcmzcmifqkxHoJ77VPdhOtZ5l85yb7Iaou/IvEcmW/1ZxzN5tqfNL3ubvDJbE5r/KAl0P2NY7YvCx4wrO5hvM5k3yA1M3tbk//HTZNXSAYFq48mM6fEmr2Xyp4ljEWobmozNeq3036bAeJO5704w+eVaB+j/XglkuU8ZL47DiwuuFpk9Z99B8hrw2khV5kwg632q+9AZcWEFs9ybrFrqO7KwIUp1oizjeb45w5omLzOZmXi81x2d6qyBFZZA9zOg1S7GemdcjzNNw2d27M6NGXSW8jCpUMqXQLXxvN6c8pS2B0hyNYNZnC4m42lHqdwEst6njDuCfGOTZ5jMfhClxhPQfdr4MfDVgiz35u3m5PqO9DUCfuvJMp58x15jMp9MSmJeiAetlk0S6H6GvtrF6GPG1U/rVEtaAtXG80JTCV5bOpuc3Fk+z/y+1OQ+aU+i8oUT0H1aOPJcT6j7NFe8hVaue7NQ3LmfTOPpAbEEugeIpopqF6NmXP2wbUQt1cYT94tEkfyayX9ONAqPHhNNJgKaUrkJ6D4t9/ikbZ3u07TEylte92Z5xyZLyzSeWahVHCOB7gFiOwJdM65+2DailmoPly+YhmBehOlR7BP7y+bn+SbvbDIbWpTKTaDauOo+LfeYddQ63afNO3aVLde9Gc5Y0hONp4fxlED3ALGdi1Ezrn7YNqKWeP8AG1aS9uZEkMQ9ZmzOgrjbx2T8oCv0eyNGKt05q31p6D5Nx7BMpXWflmk06muL7s36+JXtaI2nhxGRQPcAsR2BrhlXP2yLrAWXXYeZjBDH/yqfvzGZgAmkNUyO7dDZab6lyXgRaOmNLEUOUJ3nqvalofu0TqgNOFz3aQOg53xK3Zs5Ay64eo2nB+AS6B4gmio0k+OHo2oRgTwJ6D7Nk67qFoHsBHRvZmdXxiM1nh5GRQK9PoiayamPn44WgSII6D4tgrLOIQLpCejeTM+szEdoPD2OjgS6R5iqSgREQAREQAREQAREQATqJSCBXi9BHS8CIiACIiACIiACIiACHglIoHuEqapEQAREQAREQAREQAREoF4CEuj1EtTxIiACIiACIiACIiACIuCRgAS6R5iqSgREQAREQAREQAREQATqJSCBXi9BHS8CIiAC5SewgWni4SZvZ/Jkk6eXv8lqoQiIgAi0LgEJ9NYde/VcBESgtQjsYbr7mMlfM/nPrdV19VYEREAEmouABHpzjZdaKwIiIAJZCRxkDhxn8kZZK9BxIiACIiACxRCQQC+Gs84iAiIgAo0mcKlpwDdMRqgriYAIiIAIlJiABHqJB0dNEwEREAGPBJ4wdU0zeazHOlWVCIiACIhADgQk0HOAqipFQAREoGQE1jbted/kH5i80ORfmtzJ5JEmY5euJAIiIAIiUCICEuglGgw1RQREQARyIrCLqfdhk7uYvIXJR5qMycs/czqfqhUBERABEaiDgAR6HfB0qAiIgAg0CYGzTTv3Nnm4ybuZfH2TtFvNFAEREIGWJCCB3pLDrk6LgAi0GIH7TX+ZPf+myV81+a0W67+6KwIiIAJNRUACvamGS40VAREQgdQEeM6/a/KFJp9h8niTR6euRQeIgAiIgAgURkACvTDUOpEIiIAINITAt8xZnze5q8mnmDzY5G1MXsvkf5j8r4a0SicVAREQARFol4AEui4OERABEQibwEmmeyebjHlLN5NfbxPqn5jPSW0iPWwC6p0IiIAINBkBCfQmGzA1VwREQARSEkCErzD5hLbj2DA6zOT+Js9OWZeKi4AIiIAIFEBAAr0AyDqFCIiACIiACIiACIiACLgSkEB3JaVyIiACIiACIiACIiACIlAAAQn0AiDrFCIgAiIgAiIgAiIgAiLgSkAC3ZWUyomACIiACIiACIiACIhAAQQk0AuArFOIgAiIgAiIgAiIgAiIgCsBCXRXUionAiIgAiIgAiIgAiIgAgUQkEAvALJOIQIiIAIiIAIiIAIiIAKuBCTQXUmpnAiIgAiIgAiIgAiIgAgUQEACvQDIOoUIiIAIiIAIiIAIiIAIuBKQQHclpXIiIAIiIAIiIAIiIAIiUAABCfQCIOsUIiACIiACIiACIiACIuBKQALdlZTKiYAIiIAIiIAIiIAIiEABBCTQC4CsU4iACIiACIiACIiACIiAKwEJdFdSKicCIiACIiACIiACIiACBRCQQC8Ask4hAiIgAiIgAiIgAiIgAq4EJNBdSamcCIiACIiACIiACIiACBRAQAK9AMg6hQiIgAiIgAiIgAiIgAi4EpBAdyWlciIgAiIgAiIgAiIgAiJQAAEJ9AIg6xQiIAIiIAIiIAIiIAIi4EpAAt2VlMqJgAiIgAiIgAiIgAiIQAEEJNALgKxTiIAIiIAIiIAIiIAIiIArAQl0V1IqJwIiIAIiIAIiIAIiIAIFEPh/v5ro0uIJ4BgAAAAASUVORK5CYII=\" width=\"744\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"(1e-07, 10.0)"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"k = np.arange(1E-2, 1E3, 0.05)\n",
"fig = plt.figure(figsize=(6.2, 5.2))\n",
"ax = fig.add_subplot(111)\n",
"for e in np.logspace(-11, -1, 11):\n",
" ax.loglog(k, vmpy.nasmyth(k=k, epsilon=e), c='k')\n",
" ax.text(0.1, vmpy.nasmyth(k=0.1, epsilon=e), f'$10^{{{int(np.log10(e))}}}$')\n",
"\n",
"ax.axvline(150, ls='--')\n",
"ax.set_xlabel(\"$k$\")\n",
"ax.set_ylabel(\"$\\Psi_N (k)$\")\n",
"ax.set_ylim((1E-7,1e1))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"#### 1. Estimación inicial \n",
"\n",
"- Integrar el espectro hasta un valor inicial $k=10\\,\\mathrm{cpm}$ para obtener $\\epsilon_{10}$\n",
"\n",
"- Usar la siguiente relación para obtner la primera estimación de la tasa de disipación\n",
" $$\n",
" \\frac{\\epsilon_1}{\\epsilon_{10}} = \\sqrt{1 + a \\epsilon_{10}}\n",
" $$\n",
" donde $a = 1.0774\\cdot10^9 kg/W$\n",
" \n",
"- Si $\\epsilon_1 > 3\\cdot10^{-6} W/kg$ ($1.5\\cdot10^{-5} W/kg$) usar el algoritmo de ajuste\n",
" en el rango inercial, si no, usar el algoritmo de cálculo de la variancia mediante la\n",
" integral del espectro.\n",
"\n",
"#### 2. Ajuste en el subrango inercial\n",
"\n",
"- Calcular el máximo número de onda del rango inercial como\n",
" $$ k_{\\max} = \\min \\{ k_{\\mathrm{ISR}}, 0.8 k_{\\mathrm{AA}}, 150 \\} $$\n",
" \n",
" donde $k_{\\mathrm{AA}} = f_{\\mathrm{AA}} / W_M \\sim 120$ cpm es el número de onda asociado\n",
" a la frecuencia del filtro anti-aliasing. El número de onda dónde termina el subrango inercial es:\n",
" \n",
" $$ k_{\\mathrm{ISR}} = 0.02 (\\epsilon / \\nu^3)^{1/4}$$\n",
" \n",
"- Calcular la relación enter los puntos del espectro y los valores del espectro de\n",
" Nasmyth usando $\\epsilon_1$, y tomar su media, esta variable se llama $R_M$.\n",
"\n",
"- La nueva estimación de disipación es $\\epsilon_2 = R_M^{2/3} \\epsilon_1$.\n",
"\n",
"- Recalcular los valores del espectro de Nasmyth, esta vez usando $\\epsilon_2$\n",
"\n",
"- Tomar de nuevo la relación $R$ y calcular $\\log_{10} (|R|)$. Eliminar no más del 20%\n",
" de los valores que sean mayores que 0.3\n",
" \n",
"- Calcular el nuevo $R_M$ y obtener una nueva estimación de la disipación como\n",
" $\\epsilon_3 = R_M^{2/3} \\epsilon_2$. Esta es la estimación final de la tasa\n",
" de disipación de la energía cinética turbulenta.\n",
"\n",
"\n",
"#### 3. Varianza del espectro\n",
"\n",
"- Calcular el máximo número de onda hasta el cual se puede integrar como:\n",
" $$ k_{\\max} = \\min \\{ k_{95}, 0.8 k_{\\mathrm{AA}}, 150 \\} $$\n",
" \n",
" donde $k_{95}$ representa el número de onda en el cual se tiene el 95% de la varianza\n",
"\n",
"- Si hay más de 20 puntos en el rango de 0 a $k_{\\max}$, refinar la estimación usando el\n",
" algoritmo anterior y llamar esta nueva estimación como $\\epsilon_2$. Si no, usar la\n",
" primera estimación $\\epsilon_2 = \\epsilon_1$\n",
" \n",
"- Recalcular $k_{95} = 0.121 (\\epsilon / \\nu^3)^{1/4}$\n",
"\n",
"- Determinar si hay un mínimo global del espectro en el rango de 0 a $k_{\\max}$ y calcular\n",
" el número de onda asociado como $k_{\\mathrm{sm}}$ mediante el ajuste de un polinomio de grado 3 a 8.\n",
" Calcular el nuevo número de onda máximo como \n",
" \n",
" $$ k_{\\max} = \\min \\{ k_{95}, 0.8 k_{\\mathrm{AA}}, 150, k_{\\mathrm{sm}} \\} $$\n",
"\n",
"- Calcular la tasa de disipación como:\n",
" $$\\epsilon_3 = \\frac{15}{2}\\nu \\int\\limits_{0}^{k_{\\max}} \\Psi(k) \\mathrm{d}k$$\n",
"\n",
"- Calcular el espectro de Nasmyth usando $\\epsilon_3$ y calcular la $\\log_{10}(|R|)$. Eliminar\n",
" no más del 20% de los valores que sean mayores que 1.\n",
"\n",
"- Calcular el nuevo $k_{\\max}$ como el último valor del vector y obtener una nueva estimación\n",
" de la disipación $\\epsilon_4$ integrando hasta $k_{\\max}$\n",
" \n",
"- Agregar la varianza que no se tiene en cuenta como:\n",
" $$\\epsilon_5 = \\epsilon_4 + \\frac{15}{2}\\nu \\frac{1}{4} k_1 \\Psi_N(k_1)$$\n",
" \n",
" donde $k_1$ es el primer valor del vector de números de onda diferente de cero."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"---> Loading file correponding to 2017-07-04 09:59:29 ...\n",
" Profile 01 from 10:01:20 to 10:03:22\n",
" Profile 02 from 10:07:31 to 10:09:25\n",
" Profile 03 from 10:12:53 to 10:14:44\n",
" Profile 04 from 10:18:08 to 10:20:00\n",
" Profile 05 from 10:22:53 to 10:24:44\n",
"---> Loading file correponding to 2017-07-04 10:36:24 ...\n",
" Profile 06 from 10:37:44 to 10:39:34\n",
" Profile 07 from 10:42:55 to 10:44:45\n",
" Profile 08 from 10:47:58 to 10:49:54\n",
" Profile 09 from 10:53:43 to 10:55:28\n",
" Profile 10 from 10:58:14 to 11:00:02\n",
"---> Loading file correponding to 2017-07-04 11:10:14 ...\n",
" Profile 11 from 11:11:37 to 11:13:22\n",
" Profile 12 from 11:16:07 to 11:17:51\n",
" Profile 13 from 11:20:34 to 11:22:22\n",
" Profile 14 from 11:24:57 to 11:26:41\n",
" Profile 15 from 11:29:23 to 11:31:10\n"
]
}
],
"source": [
"# load dataset\n",
"vmp = vmpy.Vmp(\"../../data/20170704/\")\n",
"vmp.get_profiles()\n",
"\n",
"# load first profile\n",
"p = vmp.extract_profile(5)\n",
"\n",
"# apply despiking method to the first profile\n",
"p[\"sh1_clean\"] = vmpy.despike(p[\"sh1\"])\n",
"p[\"sh2_clean\"] = vmpy.despike(p[\"sh2\"])"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true,
"scrolled": false
},
"outputs": [],
"source": [
"# ---- define variables ----\n",
"nu = 1.1464E-6\n",
"sh1 = vmpy.butterworth(p[\"sh1_clean\"], 512, smooth=0.5, order=1, kind=\"high\") \n",
"sh2 = vmpy.butterworth(p[\"sh2_clean\"], 512, smooth=0.5, order=1, kind=\"high\") \n",
"P = p[\"P_fast\"]\n",
"W = p[\"W_fast\"]\n",
"Ax = p[\"Ax\"]\n",
"Ay = p[\"Ay\"]\n",
"\n",
"# --- define fft-params ---\n",
"fft_params = {}\n",
"fft_params['fs'] = 521\n",
"fft_params['nperseg'] = 1024\n",
"fft_params['noverlap'] = 512\n",
"fft_params['window'] = 'hann'\n",
"#fft_params['window'] = 1 + np.cos(np.pi*(-1 + 2*np.arange(1024)/1024))\n",
"#fft_params['window'] /= np.sqrt(np.mean(fft_params['window']**2))\n",
"\n",
"\n",
"def make_shear(P_min, P_max):\n",
"\n",
" # --- apply vmpy.shear_spectrum function ---\n",
" j_start = np.where(P >= P_min)[0][0]\n",
" j_final = np.where(P >= P_max)[0][0]\n",
" o = vmpy.shear_spectrum(sh1[j_start:j_final], sh2[j_start:j_final],\n",
" Ax [j_start:j_final], Ay[j_start:j_final], \n",
" P [j_start:j_final], W[j_start:j_final],\n",
" fft_params, poly_deg=1, return_all=True)\n",
"\n",
" # get variables from dictionary\n",
" k, P_sh, P_sh_clean = o[\"k\"], o['P_sh2'], o['P_sh2_clean']\n",
" P_Ax, P_Ay = o[\"P_Ax\"], o[\"P_Ay\"]\n",
" P_sh_filtr = vmpy.movavg(P_sh_clean, 32)\n",
"\n",
" # compute dissipation rate\n",
" epsilon, kmax = vmpy.get_dissrate(k, P_sh_clean, W.mean())\n",
" ks = (epsilon/nu ** 3)**(1./4.)\n",
"\n",
" # --- make figure ---\n",
" fig = plt.figure(figsize=(5,4),dpi=120)\n",
" ax = fig.add_subplot(111)\n",
" #\n",
" for e in np.logspace(-11, -2, 10):\n",
" ax.loglog(o[\"k\"], vmpy.nasmyth(k=o[\"k\"], epsilon=e), c='0.8')\n",
" #\n",
" ax.loglog(k, vmpy.nasmyth(k=k, epsilon=epsilon), lw=1.5, c='0.5')\n",
" ax.loglog(k[k<=kmax], P_sh_clean[k<=kmax], '.', c='k')\n",
" ax.loglog(k[k>=kmax], P_sh_clean[k>=kmax], '.', c='0.8')\n",
" ax.loglog(ks, vmpy.nasmyth(k=ks, epsilon=epsilon), '.', c='0.5')\n",
" ax.axvline(kmax, ls='--', c='k')\n",
" #ax.loglog(k, P_sh_filtr, label=\"$\\partial_z u$ filtered\", lw=1.5, c='b')\n",
" #\n",
" ax.set_xlabel(\"$k\\,\\mathrm{[cpm]}$\")\n",
" ax.set_ylabel(\"$S\\,\\mathrm{[units^2/cpm]}$\")\n",
" title = f\"${P_min:.2f}<-z<{P_max:.2f}$ m; \" + \\\n",
" f\"$W = {W.mean():.1f}$ m/s; \" + \\\n",
" f\"$k_{{\\max}} = {kmax:.1f}$ cpm; \" + \\\n",
" f\"$\\epsilon = {scientific_notation(epsilon)}$ W/kg\"\n",
" ax.set_title(title)\n",
" \n",
" return k, P_sh, epsilon, kmax"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" this.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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\" width=\"600\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Algoritmo de Lueck (RSI): 2.12015957161e-09\n",
"Integrando para todo k : 1.43455702604e-08\n",
"Integrando hasta kmax : 4.96407241391e-09\n",
"Integrando hasta kmax2 : 5.53396818294e-09\n"
]
}
],
"source": [
"# calcular espectro de corte y epsilon\n",
"k, P_sh, epsilon, kmax = make_shear(50, 54)\n",
"\n",
"# probar con nueva k, dos veces mayor\n",
"kmax2 = kmax * 2\n",
"plt.axvline(kmax2, c=\"g\", ls=\"--\")\n",
"\n",
"# comparar los valores de epsilon\n",
"print(\"Algoritmo de Lueck (RSI): \", epsilon)\n",
"print(\"Integrando para todo k : \", 7.5 * nu * np.trapz(P_sh, x=k))\n",
"print(\"Integrando hasta kmax : \", 7.5 * nu * np.trapz(P_sh[k<=kmax], x=k[k<=kmax]))\n",
"print(\"Integrando hasta kmax2 : \", 7.5 * nu * np.trapz(P_sh[k<=kmax2], x=k[k<=kmax2]))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment