From 9ac8829583fca98689d3eb11bb74c04ee6a606dc Mon Sep 17 00:00:00 2001 From: Pavel Feldman Date: Mon, 1 Nov 2021 15:14:52 -0800 Subject: [PATCH] feat(html): bake report zip into the html report, allow opening from fs (#9939) --- .../src/web/htmlReport/bundleJsPlugin.js | 66 ++++++++++++ .../src/web/htmlReport/htmlReport.css | 18 ---- .../src/web/htmlReport/htmlReport.tsx | 45 ++++---- .../src/web/htmlReport/images.ts | 17 +++ .../src/web/htmlReport/index.tsx | 4 +- .../src/web/htmlReport/static/trace.png | Bin 68036 -> 0 bytes .../src/web/htmlReport/webpack.config.js | 29 ++++-- .../playwright-test/src/reporters/html.ts | 70 ++++++++++--- tests/playwright-test/reporter-html.spec.ts | 97 +++--------------- 9 files changed, 201 insertions(+), 145 deletions(-) create mode 100644 packages/playwright-core/src/web/htmlReport/bundleJsPlugin.js create mode 100644 packages/playwright-core/src/web/htmlReport/images.ts delete mode 100644 packages/playwright-core/src/web/htmlReport/static/trace.png diff --git a/packages/playwright-core/src/web/htmlReport/bundleJsPlugin.js b/packages/playwright-core/src/web/htmlReport/bundleJsPlugin.js new file mode 100644 index 0000000000..bd47fd5993 --- /dev/null +++ b/packages/playwright-core/src/web/htmlReport/bundleJsPlugin.js @@ -0,0 +1,66 @@ +/* + Copyright (c) Microsoft Corporation. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +const path = require('path'); +const HtmlWebpackPlugin = require('html-webpack-plugin'); + +class BundleJsPlugin { + constructor() { + } + + apply(compiler) { + compiler.hooks.compilation.tap('bundle-js-plugin', compilation => { + HtmlWebpackPlugin.getHooks(compilation).alterAssetTagGroups.tapAsync('bundle-js-plugin', (htmlPluginData, callback) => { + callback(null, this.processTags(compilation, htmlPluginData)); + }); + }); + }; + + processTags(compilation, pluginData) { + const headTags = pluginData.headTags.map(tag => this.processTag(compilation, tag)); + const bodyTags = pluginData.bodyTags.map(tag => this.processTag(compilation, tag)); + return { ...pluginData, headTags, bodyTags }; + } + + processTag(compilation, tag) { + if (tag.tagName !== 'script' || !tag.attributes.src) + return tag; + + const asset = getAssetByName(compilation.assets, tag.attributes.src); + const innerHTML = asset.source().replace(/(<)(\/script>)/g, '\\x3C$2'); + return { + tagName: 'script', + attributes: { + type: 'text/javascript' + }, + closeTag: true, + innerHTML, + }; + } +} + +function getAssetByName (assets, assetName) { + for (var key in assets) { + if (assets.hasOwnProperty(key)) { + var processedKey = path.posix.relative('', key); + if (processedKey === assetName) { + return assets[key]; + } + } + } +} + +module.exports = BundleJsPlugin; diff --git a/packages/playwright-core/src/web/htmlReport/htmlReport.css b/packages/playwright-core/src/web/htmlReport/htmlReport.css index 0fca4e4ad7..527f0e9d7e 100644 --- a/packages/playwright-core/src/web/htmlReport/htmlReport.css +++ b/packages/playwright-core/src/web/htmlReport/htmlReport.css @@ -449,24 +449,6 @@ a.no-decorations { } } -.needs-server-message { - max-width: 500px; - margin: auto; - height: 100%; - display: flex; - flex-direction: column; - justify-content: center; -} - -.bash-snippet { - margin-top: 10px; - font-family: monospace; - background: var(--color-fg-default); - color: var(--color-canvas-default); - border-radius: 6px; - padding: 20px; -} - .d-flex { display: flex !important; } diff --git a/packages/playwright-core/src/web/htmlReport/htmlReport.tsx b/packages/playwright-core/src/web/htmlReport/htmlReport.tsx index c0ec33a8f6..da87a3a201 100644 --- a/packages/playwright-core/src/web/htmlReport/htmlReport.tsx +++ b/packages/playwright-core/src/web/htmlReport/htmlReport.tsx @@ -20,12 +20,22 @@ import ansi2html from 'ansi-to-html'; import { downArrow, rightArrow, TreeItem } from '../components/treeItem'; import { TabbedPane } from '../traceViewer/ui/tabbedPane'; import { msToString } from '../uiUtils'; +import { traceImage } from './images'; import type { TestCase, TestResult, TestStep, TestFile, Stats, TestAttachment, HTMLReport, TestFileSummary, TestCaseSummary } from '@playwright/test/src/reporters/html'; +import type zip from '@zip.js/zip.js'; + +const zipjs = (self as any).zip; + +declare global { + interface Window { + playwrightReportBase64?: string; + entries: Map; + } +} export const Report: React.FC = () => { const searchParams = new URLSearchParams(window.location.hash.slice(1)); - const [fetchError, setFetchError] = React.useState(); const [report, setReport] = React.useState(); const [expandedFiles, setExpandedFiles] = React.useState>(new Map()); const [filterText, setFilterText] = React.useState(searchParams.get('q') || ''); @@ -34,12 +44,11 @@ export const Report: React.FC = () => { if (report) return; (async () => { - try { - const report = await fetch('data/report.json', { cache: 'no-cache' }).then(r => r.json() as Promise); - setReport(report); - } catch (e) { - setFetchError(e.message); - } + const zipReader = new zipjs.ZipReader(new zipjs.Data64URIReader(window.playwrightReportBase64), { useWebWorkers: false }) as zip.ZipReader; + window.entries = new Map(); + for (const entry of await zipReader.getEntries()) + window.entries.set(entry.filename, entry); + setReport(await readJsonEntry('report.json') as HTMLReport); window.addEventListener('popstate', () => { const params = new URLSearchParams(window.location.hash.slice(1)); setFilterText(params.get('q') || ''); @@ -49,16 +58,8 @@ export const Report: React.FC = () => { const filter = React.useMemo(() => Filter.parse(filterText), [filterText]); - if (window.location.protocol === 'file:') { - return
- Playwright report needs to be served as a web page. Consider the following options to view it locally: -
npx node-static playwright-report
-
cd playwright-report && python -m SimpleHTTPServer
-
; - } - return
- {!fetchError &&
+ {
@@ -176,8 +177,7 @@ const TestCaseView: React.FC<{ const fileId = testId.split('-')[0]; if (!fileId) return; - const result = await fetch(`data/${fileId}.json`, { cache: 'no-cache' }); - const file = await result.json() as TestFile; + const file = await readJsonEntry(`${fileId}.json`) as TestFile; for (const t of file.tests) { if (t.testId === testId) { setTest(t); @@ -253,7 +253,7 @@ const TestResultView: React.FC<{ {!!traces.length && {traces.map((a, i) => )} } @@ -598,6 +598,13 @@ class Filter { } } +async function readJsonEntry(entryName: string): Promise { + const reportEntry = window.entries.get(entryName); + const writer = new zipjs.TextWriter() as zip.TextWriter; + await reportEntry!.getData!(writer); + return JSON.parse(await writer.getData()); +} + type SearchValues = { text: string; project: string; diff --git a/packages/playwright-core/src/web/htmlReport/images.ts b/packages/playwright-core/src/web/htmlReport/images.ts new file mode 100644 index 0000000000..188ef4d748 --- /dev/null +++ b/packages/playwright-core/src/web/htmlReport/images.ts @@ -0,0 +1,17 @@ +/* + Copyright (c) Microsoft Corporation. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + +export const traceImage = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAYgAAADqCAYAAAC4CNLDAAAMa2lDQ1BJQ0MgUHJvZmlsZQAASImVVwdYU8kWnluSkJDQAqFICb0J0quUEFoEAamCjZAEEkqMCUHFhqio4NpFFCu6KqLoWgBZVMReFsXeFwsqK+tiQVFU3oQEdN1Xvne+b+7898yZ/5Q7c+8dADR7uRJJLqoFQJ44XxofEcIcm5rGJHUAMjABVOAMSFyeTMKKi4sGUAb7v8v7mwBR9NecFFz/HP+vosMXyHgAIOMhzuDLeHkQNwOAb+BJpPkAEBV6y6n5EgUuglhXCgOEeLUCZynxLgXOUOKmAZvEeDbEVwBQo3K50iwANO5DPbOAlwV5ND5D7CLmi8QAaA6HOJAn5PIhVsQ+PC9vsgJXQGwH7SUQw3iAT8Z3nFl/488Y4udys4awMq8BUQsVySS53On/Z2n+t+Tlygd92MBGFUoj4xX5wxrezpkcpcBUiLvEGTGxilpD3CviK+sOAEoRyiOTlPaoMU/GhvUDDIhd+NzQKIiNIQ4X58ZEq/QZmaJwDsRwtaDTRPmcRIgNIF4kkIUlqGy2SCfHq3yhdZlSNkulP8eVDvhV+Hooz0liqfjfCAUcFT+mUShMTIGYArFVgSg5BmINiJ1lOQlRKpuRhUJ2zKCNVB6viN8K4niBOCJEyY8VZErD41X2pXmywXyxLUIRJ0aFD+QLEyOV9cFO8bgD8cNcsCsCMStpkEcgGxs9mAtfEBqmzB17IRAnJah4eiX5IfHKuThFkhunssctBLkRCr0FxB6yggTVXDw5Hy5OJT+eKcmPS1TGiRdmc0fFKePBl4NowAahgAnksGWAySAbiFq76rvgnXIkHHCBFGQBAXBSaQZnpAyMiOE1ARSCPyESANnQvJCBUQEogPovQ1rl1QlkDowWDMzIAc8gzgNRIBfeywdmiYe8JYOnUCP6h3cubDwYby5sivF/rx/UftOwoCZapZEPemRqDloSw4ihxEhiONEeN8IDcX88Gl6DYXPDfXDfwTy+2ROeEdoIjwk3CO2EO5NExdIfohwN2iF/uKoWGd/XAreBnJ54CB4A2SEzzsCNgBPuAf2w8CDo2RNq2aq4FVVh/sD9twy+exoqO7ILGSXrk4PJdj/O1HDQ8BxiUdT6+/ooY80Yqjd7aORH/+zvqs+HfdSPltgi7CB2FjuBnceasHrAxI5jDdgl7KgCD62upwOra9Bb/EA8OZBH9A9/XJVPRSVlLjUunS6flWP5gmn5io3HniyZLhVlCfOZLPh1EDA5Yp7zcKabi5srAIpvjfL19ZYx8A1BGBe+6YrfARDA7+/vb/qmi4Z7/dACuP2ffdPZHoOvCX0AzpXx5NICpQ5XXAjwLaEJd5ohMAWWwA7m4wa8gD8IBmFgFIgFiSAVTIRVFsJ1LgVTwUwwF5SAMrAcrAHrwWawDewCe8EBUA+awAlwBlwEV8ANcA+ung7wEnSD96APQRASQkPoiCFihlgjjogb4oMEImFINBKPpCLpSBYiRuTITGQeUoasRNYjW5Fq5BfkCHICOY+0IXeQR0gn8gb5hGIoFdVFTVAbdATqg7LQKDQRnYBmoVPQQnQ+uhStQKvQPWgdegK9iN5A29GXaA8GMHWMgZljTpgPxsZisTQsE5Nis7FSrByrwmqxRvicr2HtWBf2ESfidJyJO8EVHIkn4Tx8Cj4bX4Kvx3fhdfgp/Br+CO/GvxJoBGOCI8GPwCGMJWQRphJKCOWEHYTDhNNwL3UQ3hOJRAbRlugN92IqMZs4g7iEuJG4j9hMbCM+IfaQSCRDkiMpgBRL4pLySSWkdaQ9pOOkq6QOUq+aupqZmptauFqamlitWK1cbbfaMbWras/V+shaZGuyHzmWzCdPJy8jbyc3ki+TO8h9FG2KLSWAkkjJpsylVFBqKacp9ylv1dXVLdR91ceoi9SL1CvU96ufU3+k/pGqQ3WgsqnjqXLqUupOajP1DvUtjUazoQXT0mj5tKW0atpJ2kNarwZdw1mDo8HXmKNRqVGncVXjlSZZ01qTpTlRs1CzXPOg5mXNLi2ylo0WW4urNVurUuuI1i2tHm26tqt2rHae9hLt3drntV/okHRsdMJ0+DrzdbbpnNR5QsfolnQ2nUefR99OP03v0CXq2upydLN1y3T36rbqduvp6HnoJetN06vUO6rXzsAYNgwOI5exjHGAcZPxSd9En6Uv0F+sX6t/Vf+DwTCDYAOBQanBPoMbBp8MmYZhhjmGKwzrDR8Y4UYORmOMphptMjpt1DVMd5j/MN6w0mEHht01Ro0djOONZxhvM75k3GNiahJhIjFZZ3LSpMuUYRpsmm262vSYaacZ3SzQTGS22uy42R9MPSaLmcusYJ5idpsbm0eay823mrea91nYWiRZFFvss3hgSbH0scy0XG3ZYtltZWY12mqmVY3VXWuytY+10Hqt9VnrDza2Nik2C23qbV7YGthybAtta2zv29Hsguym2FXZXbcn2vvY59hvtL/igDp4OggdKh0uO6KOXo4ix42ObcMJw32Hi4dXDb/lRHViORU41Tg9cmY4RzsXO9c7vxphNSJtxIoRZ0d8dfF0yXXZ7nLPVcd1lGuxa6PrGzcHN55bpdt1d5p7uPsc9wb31x6OHgKPTR63Pemeoz0XerZ4fvHy9pJ61Xp1elt5p3tv8L7lo+sT57PE55wvwTfEd45vk+9HPy+/fL8Dfn/5O/nn+O/2fzHSdqRg5PaRTwIsArgBWwPaA5mB6YFbAtuDzIO4QVVBj4Mtg/nBO4Kfs+xZ2aw9rFchLiHSkMMhH9h+7Fns5lAsNCK0NLQ1TCcsKWx92MNwi/Cs8Jrw7gjPiBkRzZGEyKjIFZG3OCYcHqea0z3Ke9SsUaeiqFEJUeujHkc7REujG0ejo0eNXjX6fox1jDimPhbEcmJXxT6Is42bEvfrGOKYuDGVY57Fu8bPjD+bQE+YlLA74X1iSOKyxHtJdknypJZkzeTxydXJH1JCU1amtI8dMXbW2IupRqmi1IY0Ulpy2o60nnFh49aM6xjvOb5k/M0JthOmTTg/0Whi7sSjkzQncScdTCekp6TvTv/MjeVWcXsyOBkbMrp5bN5a3kt+MH81v1MQIFgpeJ4ZkLky80VWQNaqrE5hkLBc2CVii9aLXmdHZm/O/pATm7Mzpz83JXdfnlpeet4RsY44R3xqsunkaZPbJI6SEkn7FL8pa6Z0S6OkO2SIbIKsIV8X/tRfktvJF8gfFQQWVBb0Tk2eenCa9jTxtEvTHaYvnv68MLzw5xn4DN6MlpnmM+fOfDSLNWvrbGR2xuyWOZZz5s/pKIoo2jWXMjdn7m/FLsUri9/NS5nXON9kftH8JwsiFtSUaJRIS24t9F+4eRG+SLSodbH74nWLv5bySy+UuZSVl31ewlty4SfXnyp+6l+aubR1mdeyTcuJy8XLb64IWrFrpfbKwpVPVo1eVbeaubp09bs1k9acL/co37yWsla+tr0iuqJhndW65es+rxeuv1EZUrlvg/GGxRs+bORvvLopeFPtZpPNZZs/bRFtub01YmtdlU1V+TbitoJtz7Ynbz/7s8/P1TuMdpTt+LJTvLN9V/yuU9Xe1dW7jXcvq0Fr5DWde8bvubI3dG9DrVPt1n2MfWX7wX75/j9+Sf/l5oGoAy0HfQ7WHrI+tOEw/XBpHVI3va67Xljf3pDa0HZk1JGWRv/Gw786/7qzybyp8qje0WXHKMfmH+s/Xni8p1nS3HUi68STlkkt906OPXn91JhTraejTp87E37m5FnW2ePnAs41nfc7f+SCz4X6i14X6y55Xjr8m+dvh1u9Wusue19uuOJ7pbFtZNuxq0FXT1wLvXbmOuf6xRsxN9puJt28fWv8rfbb/Nsv7uTeeX234G7fvaL7hPulD7QelD80flj1u/3v+9q92o8+Cn106XHC43tPeE9ePpU9/dwx/xntWflzs+fVL9xeNHWGd175Y9wfHS8lL/u6Sv7U/nPDK7tXh/4K/utS99jujtfS1/1vlrw1fLvznce7lp64nofv8973fSjtNezd9dHn49lPKZ+e9039TPpc8cX+S+PXqK/3+/P6+yVcKXfgVwCDDc3MBODNTgBoqQDQ4bmNMk55FhwQRHl+HUDgP2HleXFAvACohZ3iN57dDMB+2GyKIHcwAIpf+MRggLq7DzWVyDLd3ZRcVHgSIvT29781AYDUCMAXaX9/38b+/i/bYbB3AGieojyDKoQIzwxbghXohgG/CPwgyvPpdzn+2ANFBB7gx/5fCGaPbNiir/8AAACKZVhJZk1NACoAAAAIAAQBGgAFAAAAAQAAAD4BGwAFAAAAAQAAAEYBKAADAAAAAQACAACHaQAEAAAAAQAAAE4AAAAAAAAAkAAAAAEAAACQAAAAAQADkoYABwAAABIAAAB4oAIABAAAAAEAAAGIoAMABAAAAAEAAADqAAAAAEFTQ0lJAAAAU2NyZWVuc2hvdHGOMr4AAAAJcEhZcwAAFiUAABYlAUlSJPAAAAHWaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJYTVAgQ29yZSA2LjAuMCI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOmV4aWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vZXhpZi8xLjAvIj4KICAgICAgICAgPGV4aWY6UGl4ZWxZRGltZW5zaW9uPjIzNDwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4zOTI8L2V4aWY6UGl4ZWxYRGltZW5zaW9uPgogICAgICAgICA8ZXhpZjpVc2VyQ29tbWVudD5TY3JlZW5zaG90PC9leGlmOlVzZXJDb21tZW50PgogICAgICA8L3JkZjpEZXNjcmlwdGlvbj4KICAgPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KmnXOOwAAABxpRE9UAAAAAgAAAAAAAAB1AAAAKAAAAHUAAAB1AABxIC1bFLAAAEAASURBVHgB7L13tF/HcedZL+eInAECIAmQIMAkikESRSUqi6Ngj23ZK8u2rLFlr3c8Zz27Pp7dtXfOnOM/PDNOs+u8li3ZEiVKJCVKlJgpBpAERQIkkXPGw8s57fdT99XDxQ+/38PDCwBI3gZ+797bt7uqu7q6qro63KKXXnxp9LFHH7OtW7daX2+fjY6O6memvzZxiPdFShb36Rz54okj5EufvMn+ZhTIKJBRIKNAPgrkk6mkyxefK2vj+Vy4ReTX/+KiIquoqLAVK1fY+97/Plu9ZrUV/ec/+s+jzzz9jLWePq2co1ailIjvYf0d4WYMbrGuJcU8F9nwcCgRPROATwL9HyUT+fhlIaPANChQJF4rLi52oyXAJAbM5JiL/PxGRkY8ezwHDJ65Bwf3BNISN5kQeeIa+SeTN0uTUeCSUaAAe9MD4OXqmmrbdP0m+4XP/4IVffbffHb0xPETNjo0ZHWlxba0stwG1UEO9Q1Y9/CI0bVQDLVVxbZsHurD7OCpYevsGTG9dqVQonfl80qtqKzIBk4O2XCXOpmUSBYyCkyHAmVlZTZ//nzr6+uz/v5+47mjo0MGyvB5wcLodXV1nranp8eFfnl5udXU1DgM3peUlNjAwICnq62tdeXQ2trquM6HgPxYW6Wl4nvdA5vraRlaoZDOByN7n1FgRimQFrmJvZMffDpdKkVkoV/Qd37rd37Lij7+kY+Ptp5utSZpgc8uarINdVU2oFHAM21d9t0T7dYri6q2ssg+9+5qe+dVdAKzzTsH7OuP91hHj6yv8iJrur3G6jZW+X3PngFreaTTBk+fvxOnypbdZhQ4hwJVVVX23ve+13p7e62rq8sFb0tLiwtlhD4COQQ0SoNnrP/KykobksGD0Edgw+wIbRTNVVddZQcPHvRRA/EvvfSSzZ07166++mprb2+37u5uVyoopMiPIkAB8H7OnDkG7uPHj1tzc7MtWLDA8fKe+FOnTll9fb3jpRz8KDujlIaGBk8zODjo8ceOHXN851Q8i8gocKEUyCf0Q+LnwsqXVmkiOf2IvveLX/hFK/ro3R8dbW9rt5WVZfaHaxdbtRQFA4OWgSH799sPWcfQsM2pK7Y//XeN1lzrPiYphhH7zb9stRNtI8boYcVvzbWyphLGJzbSP2KH/u609e4dyC1W9pxR4IIogLX/kY98xBUEwhdrH4UA8yJcly1b5sIXwb1kyRJ/19nZ6aOEvXv3umKA2RHYCPkdO3bY2rVr/Z78WEpPPfWUj0w2btxoR48etdWrVzsehHpTU5PDRLmgmHhGESDgN2/ePJ4P+IcOHfJyVVdXuzKgvOAkD7gY/aAgUEC8Q6G9/PLLRnmzkFFg2hQoIPTHpX4aQYG0aQWBYfO5f/u5MwpiRUWp/cGaxdZYVuIK4kDvgP3BriPjCuKPv9hgi+dICQjj8bZh+w9/0zauIJb+arNVLi5zBTHcPWyH/6HVevdnCiLdJtn9hVMgFMSWLVvc7YPw5oeAfe2119zq379/vx04cMDuuusuF9yMEvg988wzPlpAoCPAGQ28/vrrLqQZBTCyoBM8+eSTriiuu+46VxBXXHGFjwJQOAj0gMfIgPLg8iLviy++6KOVW2+91ZXGrl27bPHixQ4TxXPy5El/xmWFkjh8+LABm7zAZBRDuVE2WcgoMG0KFBD6DjckPw8TpItkGFX0jc/8zGfOKIhqvb29qdbeM6fO5x5+eKrDXu6U1SZ3U6XcSLfIvfShGys102328EvqgG8MWE//qBWValJjTbk1vrPGSmqKrXNLr3X8tNeGu5OJwWlXPAPwtqUAowWENFZ2DHthXNxIWPU333yzbdu2zS100hHPD/cSIwBGGo2NjbZRwn9Y6Z977jm33BHgWPBY9QjsgB2uH2CjWMAPLGCShnvwc2XUQsBNxXvykod0wEUJcCU+nlFS4GUkhAuLK7iykFFg2hSYQPBPFnZaQVRUVtg9n77njIIoGlWnkJ+0Vi4mZg+6YGQpB/CiFMo1AV1b5QuirLN31AaG6KR6qXfFeldcqZUgGmAMy/00Oqh8Gd9Ptl2ydFOgAEIX4c+kNcI2X0BYI+RJhzBm5JFZ7PkolcW96SkwCwrik/d80oo+8qGP+BxEriUzGurkTU+5rAIZBTIKZBR4i1NgFhTExz75MSu68113juInzRTEW5yBsuplFMgo8NalwDQVRHo8wIq7cRfTsqXLRlmhMTySLUt963JPVrOMAhkFMgpMjgLFRcU+f/cbv/kbVqRVGaOs0MgdQUwOVJYqo0BGgYwCGQXeShRg7o7l2l/5ylcyBfFWatisLhkFMgpkFJguBUJB/MZvZCOI6dIyy59RIKNARoG3FAVCQXz5y1/OP4IoLimz0opKK6/SrlDd93V32GBPp2k7hB/gx1lNWcgokFEgo0BGgbceBUJBfOlLX8qvIGqaF9ui6+60q265SbuqS+31R79nB1/8kd1YW2I7uwetdWh2NznERqa3HumzGmUUyCiQUeDypkAoiF/7tV+zonnz5vkqpvQkddOCK2zZpvfb+g992BrnNtuL3/66bbn/r+2m6mLb2ztoxwfPVRDr1q2zz3zmM75x6bHHHvMjCdra2mz79u2+kYkdpASQ84vALlRCxKMcPv3pT9sDDzzgZ/DwbuHChX5o29e+9jXficqRBRzgxvk36XKTNgsZBTIKZBTIKDB1CoSC+NVf/dUCCqK2ya689n3WeNsHrbF+xJqOPmf7tj5ldac7bMuxTtvV2nMOdk7d/Nmf/Vl79tln/bwcDkZDQYAMJcDhaQh6DkTjzBoOLUMZcKAZyoOVVEuXLvUza6688ko/AkHKy/Nz3g5K45FHHrEjR47Yhz/8YYfzj//4j37swTmFySIyCmQUyCiQUWBKFAgF8Su/8iv5FcS8snJb1TDHiq661ZYtn2u3zztsi5fV2f6t+2zza0ftG5v3n4P4/e9/v+Gz4hA1Nt5xBAJn6HB65sqVK/3wtPXr1/s7TrfkADPecWYNowFOtuR0zu9///vG0IZzazhw7V3vepd94xvfsA9+8IP29NNP+wFsnLHz05/+1O69997s6IRzWiKLyCiQUSCjwNQpEArii1/8Yn4FsUgnuy6uKLPXdcTNtSub7T9+5mpbfMVCe/EnO+wbTx2wR7cfPwc7I4iPf/zj9id/8id+7g3Pa9as8VEBB6Lt3r3bhT5xf/u3f2u33367Kw7ecdomp2Nyvg4K4vd///d9He4rr7xi7373u+2f/umf7KabbnKF8KlPfcqPU37jjTfsW9/6VqYgzmmJLCKjQEaBjAJTp8B5FUSTvix3ZU2ZvdgxoCO+a+0Ld66yxuY6e33HMbvvpcN2oqPvHOwrVqwwfj/5yU/cdbRq1So/iZMrh6kxX3D99de7cP/2t7/tiiMmo9mUgYuJgCK54447bNGiRX6cM26pv/iLv3CFgVLgwy4cvMb7Bx980N1T5xQmi8gokFEgo0BGgSlRIBTEL//yL+cfQZQVaSddSZF16puiFWWltmJuna1b2mzP7zpmx9t7bci/NTo53CBjDoJjkj/5yU/6kcucg3++yWXO/b/tttv8Qy2c2Z99WGVy9M5SZRTIKJBRYDoUCAXxhS98Ib+CADjrjFhfJPmuez4ez8ffdcT3FPdAgJQRA4rhfMoB/BwYxY/AJHasdvKI7E9GgYwCGQUyCswKBSalIGYFcwY0o0BGgYwCGQUuawpkCuKybp6scBkFMgpkFLh0FDhLQSxYsOCcjXKXrmgZ5owCGQUyCmQUuJQUwLXPVoJf+qVfsiLtMxhlAjjXx88zP7QJv4sVMrwXi9KaY8ra+KIQ+1LRmcpdKtwZ3ovCWo5kNmjNoiL2thXt2rVrFAUAktzAJjZ2Ol9MBUEZWBYbH4DPLdNsPVN/vlfMN4xjcny2cKXhgpdluxe7vlGGS0XrS1HnaGP221xMno42pi9dinCp2pj+dClofanwwtNvlTZGBj7++ONWpEqN0ogRhoaG/JYEMBYVnqrApGOkz2DiOUK6g3Ifz+nOFHGRZ7LXwBv5WTUVOHiXrg/xxPGj7tAi/X6yOElXCG+8YxVXbgi801EQwKCOXCNEvXgOOsQ1HRfCY6p1DnzpK+WIMgE37ql/lCs6U7pMaRhTvY9VcuAKvOAIvLTxdGhdqFxpvKQJGkR6hNZsGFuBh2s6RJ2Ji348k7QOvNQ72niU+1QbU+eZpjV4g9cvdhvHasrAm0vz2WrjqC9tGbSmLNGfZquNOcHiLAVBQV7YvNkLcbUO36MwDDW4XmgAFuctbXnpJWue06weY378xiKdw3To0EGbN2++H7cBXOBztEYIDeKm05kQAuy1YARUV1dn27XB7iptsDtx4gSgbZU271E+fjU1NY6XkQPMPB0FAYNwBlWfjg5ZonOlXn/9NVuyZKk6aJ9vBLzhhhs0ShlyYQUeykmnZaPgdDoSeA8ePKDzqY6Z5pR0nMlpwU1oevjwYd/RDo4QGuCiM1er7sHUU2ljJ2aeP9SLHfLQm82TnL91ROW44cYbXXCGlTWdNs6D1qM45mXXzp22cdMmPwtMI2Sd/bVI7VxrlTJ2yvmp/jMpLEEM3q2vvmq3au8OnZfjZHp7e2zOnLnOU/Sj2agvwp/zyeDlOXPm2D6deQYvLxfdCfiSaQ/wz2SdgXlS7dve3j5+hhp1po1HVP8K4SPMdJ3p02ym7dd1w3XXic5Hbafa+8orr3Jcs9XG0Jcz4fhxqgPPyJUaya15c9XG4qnZamP68AHhXbFyhc2dO8/7FnHsFaPf0sbw3EzT+iwFgTbkTKTnn3/empubrbGx0a8IlqkIDwiIgjh+/Lg3IvdLly6zffv2SmCtdcZq0e7puvo6pevxyh6TIFmn85rAOVWGph4w0Q9/+EOrl3Lo0PzKMglrLBsYuKqq0mEjqFEOHChYLmGN4lqyZMm0FAR4f/DQQy6AVkoJcR7V3r17XGiXlyeCCeXBXpKGhgYJziO2dMlSW63jR2jkqXZg8KKI2zva1SWLXCB2dXZZj3CtWrXSOLIExdHV1eVKGeVRJiFCGVFU0HoqbSxkeQNtj9Bi9zxMjNJEITVLgKE42A0P7afaxnmRjkUiqDdvft7e8547fXMl/Nfe3uYGygLtyudAyNlQEJwE8MwzP7G77/6wnTx50tj1T4elPCt1FhlGSSjpicp/oe8Q1KGAFy9ZbE8+8aSfMtCos84InHxMG0+Hv/KViTbGCGtpOeV127Z1m/P67bff4YbBWh24idE300ILIxLeOnjwoN1yyy0ywl5PjMDtb3gdl0nGLNWZbjPdxsgVeOlVGQEoCPpLq3iZ9kWuoJCXL1/udZ5qP85HZ+KAf/p0i2hZ6UbAT3VuHX1+rg4zLZVcu0J9DKNgpvvTOQoC4rNrGWHSJAUBk01VQUBQ4D388MM6YmOTE3bFipUuFNGCAwP9duL4CVuoIzPoUBydgfCAyByvMVWGBi/wHpKgpmNwKOBcCabaulrX/ggmtG11dY208VzbtnWr4ybPe++6a9oK4qmnnvLGQsFinXOKLXXDqqqXUiCup6fHGUnmtHemO3QgISOdqTIWSuenUgLUZ+vWV23F8hWuLPj4OAJx8wubbc3qNXZKnbmpqdnPvmppaXHBRTlnWkHA1Cx8wNLDqsXagaFpWzo2p/lSrplmaPD29fXali1bbMOG61z579+/T0pqjdOZctylNp5p4QFe2vS55561W2+9zQ+sRDnSngsWzPdy3HzzO9womElFDF4C/eyll14Uny32foYRhDEGT3P2GWedTbU/JRjy/21ra1V7HvI23r17lw0PDbvM6JRhBC+uknKaaQVB/9kpg4P6zJec2rlzh4zZJhkh29XP53qd79Q5cDPdxsgVDB0UI6NiZMhLOj8Ogxa+QlFs3LjR5c1Mt/GBA/vdCFi//hrr0IgNGYNhcKMUFaM4yjAbBtdZCiJYAIsXK5TODOPRwFOpMIRESOzZs9sa6hvcnUHlaFQ0IqMUiF5ZWeE+Uvxpra1trhy4n47wAC5Db5iJsu+RoELDU55EOVS7IkCBMEQOgY0yIW4q9YV+wMatwkiM+h0+fEgn1C63XgmPUxLI0JQ0w8ND8h+WOjOj+VEg0+lIwIRBwc0R6V2qZwkWhdruqIbgCAvw0J5lOjplYGDQR3fghVZTbePgmXxXGLhbI5Zu1R1BSfkYoTFqhAcoz3TqnA8ncdAijplnBAfe5uYmrzMWLe0y08IDvNQXXCGIqRsjNkYWpaUlUhQLp8XT4CgUgu8YCXdppE7fw7CDrzG2CNPpT4XwhrETqyChOycynxavz58/30pVnpluY/o1Rhe4MTR4RhGu1CiNK4JyNtoYmuLGpT1RxPA0+OApykJfm6c6R/sXotlU4hmpMYJAEVI3aNrT0y28Q2e18UzTOq+CoLJUHiGN1QfSqQhMBA+/NDyITAA+v3QgbQQ623QrG/DACTzqA06eqU/g5zmddjoKAjh01gjARhBy5RdliPekJQ+/6Qgt8gcOYAd9ieMdeCMEDXiGDigNcE+ljQNmvmvUK122qD9xM9HGk8Wbrhs0mQ6t8+EkLl3fwEdc8APX6fL0RLiBT9tGOUjLM2WhD852nYP/vI2hh36Uaabxgge4XMFFfQncE8cz15nGC1x4FtzgSgfeQWvezUYbB17a0unr7YxMSepOfBjzlGOmQl4FkQaOgoDQwfDpd7N1D7GxCmaD0BOVGbyJhT31EcRE8Au9C7wzzdCF8KXjg9aXoo1DMc0kQ6frlu/+UtE66DxVniY/QgJBD4zojzxzjxGSL5AHYcl76FyI1iFYcwUfMHnHj3cBLwR/4KUcBIyrCBPRmnfkIX/UhT4PDuJCAZCOHyHeBfxC14nwFsozE/HgvRRyi7LPFu5MQaQ4IxhrOiOIFLhJ3wbeTEFMmmRTTnipaB0dOARorqDmfTqkhXkIaNyy/NauXSO3Rp0LBVwcvMfVgqAFTsACBi6RMn38i/mAtPAnTRoHypq5oVWaSI8QZeQdk7O4I5kcrpDBuF2++GuuucbdHaTHxUTZrrrqKi8PecGRNgKiXKTnft++fT4PBU1I/4IWFqxbpwUqchHt2bPH501w/2KklqhuK1U23EfnC7l4z5d+pt6D962mIL75zW+evcw1l1jZCCKXIjP/fKkYmpoEU2cjiJlv1zRE6Mwqvvvv/65Wj5XZO7T6hqWZQ7Kir5RQ5WNZo6MjErBX+9JofNw33MC3U0rsR1rkUasFDKx6YwXgdddt9MUWzHMh0Jn34KTl22673f3jTz/9lBTGEl/0wEIEVsrhF1+zZq1WVr1uixYu8rmRPi29vummm32ugqWi37nvPnufds4e2H9AvinTyr9l1qS5m23bWJ201+68870+gmBxwdOaJGXZ+KuvvuKK6frrb/AyVVdXSYkc9YlaVqodP87qm1at1FviOI+oLJVaiVM5tiwTujDJuljvWR3U0FBvV6690n748A/1Jcl3ex1YIt7R3uHLlplfO1+4VP0p+tJUR4nnq9dE72cLdzaCSFE9GCsbQaSIMku3QeuLPWq6lHiZsP7bv/0b26T9GXL2+Iq94xKOWOJY2qzMWaT9GkwsM6F86623+jLpXbt2+wiBPRVbteIOYcyyVgT1gNwyz8vy/sQnPuGLIbZt2+pLi1nifNPNN7vFz3JmYDJ5zUQqS6FH9D2XBq1eY0IZIxC3Dp/33bDhWs/DqISFDc8//5yvysKi52Nf3d1dvt8AVxPW/UMPfV8jmivFJaMqa6cvK29TPKMZFp/Qvu1tyXMixLQ0UysYUYpPPPGEKwCW4e7atdNHINdvul7fmhk2lnF+Qt+OYQUcYbP2ZqFkWBV1vnAp2/itNoLIFESK24KxMgWRIsos3Qat3y4KAoHLCOLP/vS/+34bhPyjjz7qI4gPfuhDbomzOuaaa671UQLLNVnxxmqvx5QOy3rxkqVaPrtNCuZ627F9uw2PDGs/yTpfYokCuOeee/xrjq/rm/C4Yq5YfYVGJebuJdbrs+S4V8qA1U0IdJZAr1u/zlfk4PNn/87KVSvt4IGDPrJk1R/upFYtZWWUsuHaDT6CYOSAAjsht9NXv/qPWq20wG7U5jhGRKxiGhwa9L0XJ0+clEBnn025vbzlJXcdbdy4yVfYse/n8ccf8/kUYFPevt5k4xurc9joeP0NN7rLChZEmVypfRWxIou4QuFS8lamIAq1ygzG08CXgtDBWJmCmMHGLAAqaP12URDUFyH+7LPP+iYrhDT7YuR8d/89AhTh/a53vUtCs9Ine/HLExDe3PND0UQ877gHNhZ7TCKzhJqNkDHnwPv4kT8dT7703AXpRqR4In/kAxf3LLdk+Sp7dlhC/Kr23tz8jnc4jEhDujYJ/RfkNuPTwelln1EProxC2MDJCKamptqVHX0v4ESdqD+uMfZQsaT0fAH86bmP86WfqffgvRRyi/LPFu5sBJHijmCsTEGkiDJLt0HrqSoIhAZCgA4JrMkG0rJ6hjZOC9rJ5p9qOvBSVoQiPuq0ICQOYVtRUe7KAXdPumzkTT+nywCcNLz0u/R9KJZCcNJpC90H7YABXujILxmRnJ0LoR90nsgnj9LkxwiCdCiFCNAFGMy10Na8C7pFmnzXKCdpp1PffLAnigNvKCbaEPyzsfckXxnAPRnlBB9A1+DFfLAwIOiXtEc2SZ2iUDQwDZtm1FSSWbkNvFMVltMpVDAWuN9MdUYAcSQMvnGYfrKB+ka42MJjpvFSfjZ2YqWzSmmigEC42Pw1Xb6mjZkX4eyjN1sbI1yZs1k3dp7dRG0zE++iH0+kjMGDcmC12nPPPeeKOR9uYOAyZEVapiBSFAqGzhREiiizdBu0nqrQwuLmKBWYHaZ/OwYUOsekfOADH7CVK1cWJMFkhUdBAFN8Md02ZhL8wQcf9ElzRoxvpsDIYcOGDToP7D3jLr3ZLP9k2xhD4TXNUT399NM+J5avTJSdhRS4O++9995smWsQKRg6UxBBkdm7Bq2nqiCY8H3kkUdcQbzZhMdMUTUUxJ133ulHmBSCO1nhUSj/VONnoo05cJMVW2+2NsYKR0FwmODFGJlPto1x2bGYgJEZrr18AQVxnU7JvVmr4CZUEEPDo7bzcLsNjrJLM5kwywdw5uPkTxvQ0QAX2YfIyo4BnW1SpnNzmKS7aAHfpVZ+UN+LS2dqCK111IZWmkzW5eKcoD9Lmiusvlo7X7UGfzJheFTnVHXqCOyhXs0bjIz7qFnyOdlAuyyo1dlCA8N2fM8uO7LzDR0Qd/YIgnoUl1da9ZKVVuQ0PRs6wiYmas9+M7tPjHTwTc9c0DEeRcPWVywf/chAYbDir5gPUCMXTjfNN0CuEN2vWbHBaiprfJVU+OQny1vpInT3ddueg7tsz+HdvmIr/e5898NaxltSchH78FiBgrcwMtlvMker0RbWLbLK0kobHBmy411HtcprgrY6X8XyvVebVpZUWENRnVl7qw33dOZLZcXaf1NS12hdct3t3/aK9fjJz+cmRRZwsnWz9pw8+PRzhUcQvQMj9nv/vNtOdXFe0LmAZjNmRAIEproQ4THd8lBFrfdwcXVx8SarTBB+s9d9C1NnSrRWQX/m1nn2wQ1NVlU+uY7YP9Rvf/38n1l7b6uOO9fxDWKq4gsUWKXFpfbBKz9uV9UstxPf/bq1b33JRnI6HHQsrau3db/7X3RtOKvi07VqzwJ2AQ+TtfAuAKQvJ3394Db78/v+qx04sf9Css5KWvprfXWD/c5n/oNtWn2jlZeWj0/aTkVBdPZ32Pdev8/2nNYpsRKuFxKmwlsXAr9Q2jReZEipDuT8zHW/YCuaVtmRjkN236v/Yh39HMk/c4Hlyg3lDfYzyz5hLfd/zbr37BDwcwV2qXbfz3nHnVYxb5Ed/cE3bbDtdMFC0IdKamrtpfoVhRVEd9+wfe6/v26nuy6scQpizV68pSjwS+9eYD93+zyrr5qcVdw72Gv/18P/q9HxCbDwhSrEEimIT6z/jN1Yd7Ud/pv/Zu3bpCAGz7bIgFlcWW03/um/WnljstEKfIS3koIYGOy3LbtfcgVxsj35EFZSy0v3t1ojh1//6G/aHRvebZXlVdNSEK29Lfb/vfBXU1IQU+GtmaDauXiL7Ndv/W27ct56292yw7764l9be5++TTLDobakxn57zRfs+Ff/0rp2vpYXemlNnc297S6rXrbaDt379zbQPpGC0Chcy61fW3trYQXBCOIrf7/TTnYM5dFHecswc5EMWS7QupwJ5AiQqVg708V9qfB6uadAa4Tw59813z6yqdmqK84+2bIQLQY0gvizp//YTveedhfTmc40eTXBCOLj6z9t62pW2dFv/J21vbLZRuWeOyuIb8o0crj2P/2plda+xUcQB7bZ//PAn9mJ1uMXv4+eRXS6q76MWFFtX/r4b9qNa2+ekRHEt7f+i+06lWwKzEE3wSN+gDA+Js9bEwCc5KvAm+BEfJUWl9kv3PBFW9ksodx+wP7l5X+wjr7EQJok0PMmg+7NFY32+RWftZPqE9173sibp0Tfv5n/ng/7COLwd75qg3JHFQyCWVpday8vXFdYQQwOaoPKLn3KsFSfqpRv8eKF/HMQDN8GNS8yrCNuS0uKrHzGfYyXZg4C5YCPuLz88piDGO7tduVcIiu8UID5F1QOWUONvukwiQPUgMPOX3yw/UN97mIKv/iFuPMYTs+tmW8VozraubPdBjRMHhXcs4IKV1xeYdWLV/g1/e6tNILgSIpjrS22efszdqTloPpEuqape0lLfOPJt6JT8TN8SzvWVzfabdd+yObq+y9V5cn3R6a6EGFgeMBHmx197W5QFCouLsZRze8UsX9ELh0My0K8NaJNhPB3SWWVfPLlhUBOKR71wHdW6Mecwj04pC90anC7as5ia5RwHhoetBPdxzXf2H8W/CElxltTVVE8JZmGgqjQHER9Ua0VdbTZcHeBOQj1CUYRJZLlA20tNtzfe1Y54gH5qikcG5Ex9sNnJpiDGNYhWa/+0f9sS//N/2SN190S+Wf9CqF904cqlLbmGdG8uLfTHtnaZl/+wGKbV3/maOGZKFQIaiYSL8bKgyjzpRJa4Hda92mNvFZdxHzAkYe+aT37d9qaL/3HKGLe69Hvfd0GTx2zK77wO3nf54tk7oH6emcaX5s/uTmMgIeSwEYDjrQDlTg7uAEnccWmKzRZKlwqWoPXeVp0TvN0qmgXfNs/qO/H7+mwVw502qffMccaqtlglweM6MOBd7TxTOHOg8XbpHdg1P63fz1gX3zPItu0MvnW+1QVhHMJvEI7TxD6xYN7/v6/2sIP3GP1V290o6DQ5Pig3Cq7/vqPbdmnPm+1q9dPAPXCX7HwggUfrGDq6R+x7//0tP3lj47a//0zV9jtaxuc50mTW53W7iH74wcO2ufvWGDrlhQ2ys5XokEWm2gi2nkgH8l44T9BQoPlFmQMQVf/sD36WpsdaR20kiNPFB5BDOvTjVv/z9+wZZ/9FWu+4bbzlW/G3hfqTD0q+LO7Ou3Hr7bZb9292BY0zrAFIILBWG/3Za6HvvtVKYhdduVX/o8J2/Tgt/7O+k8dtzW/9nsTpsv38lIK6kLCI185ZyquEE9PBz4K4tndnfbq/m6fC2qqGRMOOUBnA3cOivHHbvXR3/qH3fbrdy2ym1bXTmsOYhzoeW76Thyx3X/1x7bo7k9bwzU3uu+8UBsPaMS188//0JZ/7les7sprzwP5wl6n6dzVN2LffbHF/vzhI/Zf/u0qe/fVZ7s605BbOgftD791wH7lvQvt2uXnP848nTfu07inawR09A7bw6+22pHT+ibPsQkUxIi+Gf3Gf/tPtuRjP2sN6zZFWWb9WqiyfeoQW/Z12U92dNgX3rPQmmsnNzk62QKDN1MQZscffcB6Du21VZ//yoSkO/aj+6y/5YSt+JlfmzBdvpdB66lal/lgTibuUuKd6REELoxXD3bbtkPd9smb5lhdZf4RRKH+NBl6XWga+ugfSdj97G3z7Jql1RdFQQy0nrL9X/sf8q9/xOrWXqOlzYVXTw3JLbnvn//SlUnNirUXWr0J06fp3Cs6YMh+7ZmT9rsfXWo3rCp8hlRHz7D9hRTJZ26Za2sWVk2Io9DLNO7pKggM8ae2d9jx9gEb2vdo4RHEqI4waNuz3WoXLrGy2vpCZZvx+EKVZQ6iW0O39p4hW9BQbmWah5jJAN5MQWiLgfz6I3JJVC5YPCF58WOOagURy+YuNAStMwVxoZQ7kx4vAb5rhBHGUqH9KIX60xlIM3fHJzAPtPS7+7day58LWfIzh1HeEvEgbqbyhmZfvYYbpRBe5ir6Th6x8qZ5Pg8xk+VI05m2QU4dbR2w5XMrra6q0ASRjr/QvOqRtgGbV1c26SXjueVO456ugmAOolOjCEaoj/7gOxMoCAnMPu1Yraiq1ATXzFrruRVMPxeqLG41Fcl9kvjLcafNZABvpiBEX441wF2pj9VMFCabLh+MoHWmIPJRZ/JxdObErVy4PxTqT5PHMvmU9FHK5P1TXvdCgnryECeRcmxeywWjiIGMKIhXL+HbIha4aC5rJkOazjQKypLJ3lKh4YNOhQLldZopzQTJCmX3+DTu6SoIykM7AvPe7ItyZ+gOQTIFcYYes3kXtM4UxGxSOYE9k8LjQkr7dmtjDhREfpzvwLwLoeFk085WG0/6uO/paqXJVpR0l5KxxpfHzfTwZAICRH1hrIsdgrFYucVSyPTBd7Q5loSbZOMFy7WESBFxnjrJ4/mSV/E2SZekcQtL5lWVRqdeBnUsMkL28+MdwwlgBzcGMx7BrXAGb/LMX1JSz1otzY26YzGN482BdwZK4KCAAIpnoKaKMfY6iT2TFvconxfls6EIEvhs/IRSkJ8FLh4cUQLKh3RpREm0p+QPSccvZ/DyCmueuqKMwZm/jcmdAsRj3uAYzy6u0o2hH7tL0kBU3NQcB87OXMrgONzil2lNvT1ncvVHxUw3gAVas2qLY1gQ2l6is9osaAQ23sazpzxTv+RxvIKUlBDR3I/HKXJIe3Lq6+u9rrQxR36cCZGLHKl7f4xnvTlzO541aOOv+KM8gZc7RijQt0xtDM1p4/G0aVzjENM3CcKz8I7Bv//++wu7mADBkbsze35MumCF7+NME1K4wDir9IXzTfcNHYglrqEQE6aeLtTz50/jvVg4o1TQms9Efv1fvqHPPh53zkNZ8aF4ysVvGLqwvHSMERE6UWYvr56BAy+y38HjEr6z0rJSh1WsYf3w0LCE45CvFd9w7bX6nOUttmXLy/bU08+oOBJiwssqMserzjWkdeucmwRuAnCBX6o4hA4ft6ETIoAJPCehyM/iSfImim5Qa9QpwxKdM/PZT99je/fts3u/9R0lT4Qnh5QxkUzbU1+C84KnEGzhIT9x1JWO6C4e0YR6ec9Wx+I9eIHD5z75EBDp6Uf//nd+W1+AO2IPfu/7/slO0vFBnQEJE2gKXupI52eZ7qjcFJQveBK3Bf/8Y0NKlQh70iQ9Ojm/DPzFqsuA4+XTnx+++0P6GtsCu+++++2ovhMNPBQGbZzQNGlnb2OVAxyUP93G7HOgPQhe//E+ST3VRoLFXgvKNKQ25vsWmzZttDvf/S5BM33XoS/J26WvznW1WJ987qXF9aaSKK++QaB296XJnmp6f0pV/2Ydhf6yPkj0w4d/7AoZWlJueJh6q4JO36ij86fe80x7siT1TIC+COKEXvEOGoV8BGap6vCVf/dlO3jokD3+5JN2Ql/Voy2hMTxKen6K8GenmfLRnqQZRLCP8d4Z3OIp398hHoTPCF6WBDcw+ODS++680z/m9L2HfmDH9LU/4Hg/Ur1BSTovg0pE+9LW4CTQZmedaaYMZdrPUadvjBdJw47SKfMFPtYB4GB4r1y+hDMY58Qcq1y6AWYQRV5QgZcrv0I0yZt5GpHgImBxBMOMM9I04E4mK7hhDj4V+Wd/+f9aiz5NCfNWlomZdKjeiDYTiZXEwOY8gGCGyWAuF3oS/jA3who4dL4hOleKycuUBsFBBxqSkB3Q6jhoe4OOFP7A++5SR3rKnnjqaS8um7KLRsWsvgCBjVYjrkzA61wu3KFgoBGbxRDcTkG9o0wevAPpAzPsaZGwQDgg/KHvihXL7Rd//uds+46d9s//8q+eXNXV0RDF1jXQow5fpbormk7i68oT/z6wEWQuSOjIwgd+YA5pUymCnMB7Fxp6pJ496kMoLmD9wf/+e7Zfn/T8xje/ZR2dnarriEYzlfpedJs6ZK0NjyI8EnzAoIMjYKBvCDDqHbzCNQICvFxCOXgX4462QFB/+p5P6hOmy+wv/sdf2amWFodZWa621Kat0ZKypI0lD+nntJO38VhbUocoP8oZGtDW423sdEr2DpEfJYLVzqFvt7zjJrv7gx9QudhoS03MWvbtssOvPWXFa3s1uf5exTQ4vZIvz2GcJZREyCfCl5rlBEVAByiezHecnQIBjtJ6fvML9t0Hv++HfyIU3UhQ+cvKMDoSuN6uwlVCvVR2eAW6Jq15Bi8YaANomryU4BWt4G+eS4QPWv3e7/4vbnz88MeP2pGjx7ztUPwodyz9Mk1KeGnFP9CEfMG3KPWQB2cwax5DdIUX4DfyUndvK/hbMKtlZHzsox+2pYuX2Fe/9nU7cbLF0zte9Q+Cb8QVXeBXYHFOlBtUggVdQvmT1nlJBsSihfPOryAoDA0F4IsRIBAEoxIELJ2LES4V3qgbHRoaX0xag5vOjCHQ26erysDO5N5DO+zIgaeteNVynbW0QXFlbuHhmoEfPPgl1XkjPnk79jfpBEnSsXx6gxCqlOCCaTlBt7sn2dXZe3S/te141lpX6lvKNfqUpU6opHPU6OAw8owH4RqHlhdvkjLwcqUkCAU6eaO+8Uxn7OzSrnEFzqXp2PyQnVoxrBM4b9NEZp23RWNDo+fxRPxJ4x179ndJNcduJTj4N5aWVwTatrGhzq1T6ktnH9Jqsc6tT9qRkZ22aO0HbHiwXvlK3AWGu2C8lmOVTS5jDwlYerMH+Jf6RRkdr/4gSGpr9YlTtSunI6CwEO49B97QiPEFK9W3pxuq1ikfKwP1FTS5/cbbeAwHKBCGjgocZ4Wk8rnvGMVUarNrTU2VhKBOEh1b6LL1UKtt3rXdPjX3CRuZ/0kbsibnecrPD9xcE4MiGXm5UEM4jtWP5+IyCTZp8oaqehfuUSQUQWK0mL7U12nHTp627kFGC9rIphVD0BQ6LWxUmcbgRV4hdvqd/cxTUiYUR7/6SInkIXSlnFjafdpsijHCaK25scFHAqdb261VS1gZZWIYDY1IOcjwadTpA6zwohxJG/nfPHjH6Cwc8Ap9k3IzSqF+9J1BKSugoFwb6sVbiu/r1+qpUzrVVYYGo2tsF5QIZ6bVV2kgQJ0JSbON3acfkijyPPHEY5evgqCyMESmIJIGm42/MDgKwq0bMTwdAabavXuH7dj2HVu/TmctNb5XzF3l7eAWnfJER3UrBsGBhSuG0qvxAB+OFCUWS0WpdvHqXzrEERnkYYRB2LfvoL5T/LRdveINq5v3KRu2eS48sMwc5xgfozTAjaAgnnpQdgJ4R6VLRnS8eFWZjlRQ2dIBQami6j0dJ8F7QkLk6ScetzXLXrC5Sz6l/EscUKVcXgnA5AK+BG/iQjqDm/eqoQTAwHC/4+XcqNwwouMWgIcSIH13T5+9uPknNtj9Pdtw/edsaHSR6lLiQhphkNRK6VVgBBB5KEMSxurs8DQCHR30Y6WxDHMDR0wgEZLViLTxsO3avs327njQrrx6oVXW3yEhVCGlXZUIa6WGRpQ16OxCOU8bD6uNEeaF2lggVCcs5aRcPVLMXfoWQflot5VV1MnqrnQBCPOAK3FRJoqN72uXSrlQFNwvXCvkCvR2132+kFYQjC6lE8Tjyeh8SG0PfYAD/0FPLHiMUWDiGqMM7koVg4SRipsUGPB/qdKnA3w91hIOL9qYOvfKAEAxMiLz+im/u4lkyePGZSQGXtqDQpE2RmbgpmykoUzj7UrhFSi7I/YH3QKDCPE7Cos+BY8D2+effHTEiLw8wafU4GZETr3ARz2ZvwEffep7Dz4wOQVBBn4XI1AwKsUPImQKYvaoHgqCK8LD/fq6P9nRZa2n99lSbX8prlomr4f81WI8Op8HtcsYnzojJQoCYQ2fxxsJYf3jEcs0HQ+cYGiYGCFAaOnq1Q7OFltZcdBKatdIUGvEwr8xkPADZR2HpfhEWESaJOFokXhICqK8RP7tlIIYFx7CBRwsW0KnDs3ZdbLdlpfttMraK3SuD5Z8goUaK2lSt8DPO/0ITjvhcAtbcUMS1NS3RErg7CBLUGv2SYdigmaMnvafbrfy3h02t3m58DZ6fOQbr+8YPlwnodRCqHk5Ha/cWGpDXCW5gclTxFi6jY+1dVpn215bUq/yqI01VvdKJtVS3cYq7c/UX+VWpNcXnNCVq3qqX89pY+VHGYf4RMkTsMIHJTipC0KvRPGjCVKHQ71wjXjdsfildPnn7aUyoGi8zg7t3D+kQ7EQEp97MmldrHxwjo+y9M7bzduCulL1ZM4F5eD4xupKOsl6jQbaRHt9e0HfduDsI4wU8ignqMaCDK4xVyavML6cx3gQDniV42a4xzWFYeb1JE4BmsKjBPDiPG3v7dBfCXa5e2vKalwZn8GbpCU9gj2pU4lcRrhTxQfCR1wi8JNjPsLII4+Qu0KibXGtUT8UMWXkLKyH5J477xwEhckUhJNzVv9cChcTzAMTO2O5gkiYfUCCjE8+lohhqnSwGVYYViKdB6sMnqATw2wDsgixdJhkpPNGBzwfsRgm01Ng8XA/MFnb1d0l5TGgYTPHDiTWMnARcggUzrtB2GDtESo0rKcck8WbGB5JBwy8g6oTnzEdGtSZRWU6l0rwUFp+vo0sPYQatPAOLqFHKJOPHevO75V+MoZMWkEgDIZEwy7tNert6VLd5MaTr95pOlZHaOTCwa0+CU4JPkY1bkDJvYAbqkI/OnqEM3dJDPQd9hNvERQSri40zHpkZba1dwgvfnThljsIXsCKpFFG5b7BTeRGg8rpLj4Bp86UEbzQY6KQtDFySiMg4SAgyHBzEaiLKx7KL14kINR75IJj7iQWFoAPxVHpcxlJOngwEZSezf/wDC9TRq78MEBwJ7piGYNPecDHogiv1xkQ59yBjaPqf7zzMRfg6xdcbQ3FdVZTVe10IIPTXLiBS39wuog21CNkJyNzcDFCgnZRnnMQpiIY8Tyz/3k/AbapqtE2zFnnfIly8fqPpYWGTDJ7P5ZiAC90hOaJEkoS0p60c0K7FCLdJvTSwiQpuF4ds3S874Q9/+gzmYIIMkEgOh6MSJhMh4+8M3G91AoCZooOh0ChPCKJ+zz9oLexSkInhttunalT9PT2uA+U1wg9mF/RBUN04qA1z+PCQ3gHhNetY4SQBEKUCYAopW7cExLOPuksK47JSMpShethAsRpvElnSFYvAbdvYMjaO7u9k/Dsq7jGRhc8q/voxNA+LyeKiY4LPgRRlcpIxysUovzgjIlyBB6Cl/q0dnQ7rcEJz/kGxTH6YdWVaNIeIU4dWQlUW1sj+iRfxZvoK4RBCmWTgkuMAOicWLHyz3fLCOhK/NooWdoujGHQlxWFUixKyqc0iZWpNpbwLtTE6fqGAiUu2hgjgDkvgrez8PoHpEQL2g/XCKuIcOWwRBZmQuiCkIn+np5u76esOuMX+IDHfbofU/dhwR8cSvo0MBgdpAP0oC2UNW/wdpNFfrKjxd18zfrwDjuysW9QCKXAdBiJtwNB7TTWCHJgArwYW9A8Xf50AVBMGAQnWk963WtlqNXA92OGUZnyo3BI531XV8pK4tNtHRpzJLTEqEri/ZVeo9zLvN9EpWkHjCHMNQxAeA1X6eM/ejhTECKbhzRjEfF2UxDUF8aGDjAIjJL0pcRSEz+eE0jLD2b3AH8qwHDceocXzAh0hujECA/S8Ry05hmhmQTSJjAiP1fwnRPG0FPmpDy4cdT5xhKm8YZi4lXgBSdHyStzkkOIXdkIADCS3xm8dCQXNLxQtNcXOihf2hUbeAFKudIKwoWIFAATmOCPtNTZYQdeucucEMrvdUsSOF6esRB58NEB5RkLwCeQJkaJ422sePI5Xmo3ni+54W+gCRg8BwXGk/MyJ0Q9wBuWPHGhIBitIbD12o8HwXOdhkfa8XoKdjxDc+I7uyX8hqCQXCIa7VVoRZLPFaXSRhtDGo2DfDREHEhRKml65hTfH13gp144X0pYUxaMgZ7efk1465htWfINmvwlnh8hDL1RWfKcTcWSON6EcvYHlYP654Y0HN5R51Cy8COKs1sr+3Bv1VezTDjBC1185ZWuuBF7NFHtc3zQWGUsZTu3ENM/fC6H8jpyURH+0kgdfikbM3Sc1iLeA/fflykIp5P+QORgLOJCeMT72b4GY2FdRueebZzUOVd4oBy65JPv6k3W5lMGOjGHwUWAucjrHc15TwJKHYI4rEwsXYbUdFwEF9ZgDOXpBKTLpyC6+wfdsqXzJ/2nyI+xdlEnpAlTJx3HH/QCvC4uKLfcNcMSPoxicAFheYfADrz52rhPVllbV2Jle91Uv9pKrShDyQTSqDzXYgQyCshLpvr2qIPiiy/2kQV1DRdCCA6y5bYxyqFN8y5DCEy9B1elBB5Cz9F6RxYt/CUJ9H+sztBwWOXuYX+B3mNtwze4+xAmgZd0uW1MWWhnnxAdr+C5FeVVOpZyRDmBMdZIfht/PI/+RBtzpSyhILrFW21d/VJQKrO+gZB8cCoZzUWZIQR4gQVO5pMIxPWJ1sh6zY1bmVZcJQsWknYgv9NlzBOAgugf0TuN/rBhaDO+m+1wBctdeNAB4KkAz7iBoDjeATNxl6lcAsQqNOhXzShGo6kIpMMI8HqoLdp7tHCgJBHo4wpCid2gEAFy8Xr7KV8E3vseG6WEt3D99mk0Rb9ik+l4GYU32hgFQd/V9LbThlVW3gcEDCUS7j1lERHlcpIC8WXoog2jcWjMO1ZOfee+TEFEW5zFWES+XRUEVmWr3C09Pcm+AbpIuZRWaYm4RpwTygsGYoiNa6RMH4eBgUnLKo6ubgk9WU/lYtYSMSguiQoJ7BAWXPMpiA51PFwuvvxQ0ICPwAQvnRrc4xaVGLqyutInZuFqhF1HZ5vwMuzXTytyKlQulAUhV3gQF23cJYsQFxOdHlwotHJNjoKfydQQXMmoSvMy1cmGPuIxwDp7WuUakwDSbGax11XLRXF/jOEFFyFXQQzIIjyl5ZDAxaKng6LUigU06AwOXA1cfc5B9A4ZMqCPvnRpJVSxhCAKqbxCtFZ9EQhRZmgdwmN8BDEWF6t7ijSZj7BgTgSpxQe5+JBNuSxP6IALiPL0DWhKWu9ZrqnLuDDxyukPopYPeVGHaONo81AQ/QO9ErDiLbk6mNdRtTwfrpCkzEAWDuohnOQfF+F6xcQ+ARWCdUx+6EwgP+nDCEBB9A4LxmC38zD7BdJ0IR3pI8R9rpFG/Bm+Y2URCitpIxRUlICy4MN3wa2yt3b2u4Kok1sw2hNcUT7uI4CDdnNhHpG6ItQJUTfvd0JEGcdeOC2YowNGkVbPseiiSC4i8AbdeQcfdI0t7YY2lIll30Wa/6qpYpkzdVHNlJbVTd/5TqYgnCBBlHTDhfAYTzDLN7nCY5bROfhgGq5p4YGgwLqlE8KYflKoD0VTpRrrV7yPTkenwTryzXKCSUdxSzqVZpzR87iYwJus7U46RCJAkCAJssgbpUjjdqbm62KScQgM1otHuSIdafK1ceJiGnNPKbdPSKvMLv0DGdc8dUZ4MWczzIobJWGCOz1aijKQPbeNUUjQapj66T+C2ecCAhGZKEeq/mfgURfNh9BOKCbv7CgGMiWdn2u+No54rklIMoUgpt2TyurqtyjoRPhCgtRbzx5xASspciJUwU/eEFS9UjI9OoUW5VujEQR1PicofZ5YJ8PJNo0gUGRKgRKu0oa/Su2JoLxRxmhjhGDfmIKokmLFmImQywsRz3VCBYHgb+90pUmfqdHX4sBLnSlFsoqJB6XTHE9tpeZSMBZIoDAR3lwFQdpQTOTt1EKK1tbTqneVVWtPEnxXpFVVlSpDaVHiQgsFUVo0ZHVKE4oJWCgbRj/Qh0CZtObOGmsFQ8ZUBNIysX///d/NXExpogRjEfd2VhDtPQNu/bDJp0YM3lzHRCyW/Bi14HXdw/PsN0CwJOyvaOXpkoWI4GO1BZ0Y3yZClxCdON8Iokub9U62Jy6TMs3+NdeymU7W7ZgEcrRjeIVZVm4yISh+9mW47VqeS5mFxSdzsWTjGOzAm6+NmaQ+2d7r8xDgmFtfrslnrOqolYowhpeYoRF1TKxf3csG8xETli2jACaRGba7cqMkKRi5CgLhfqq9Rz5jrD/TJqpyq9fO6nQe6kIokoJmcjoIDfYBlRsXEzVm5IAATEYgZ/DS2XNHEA5wlv+EcONKfUJBdIq32jqTYzcQnpK3HryW+pPQOaGtj0zlzotK407s6mXOJjE+RqQYq7TprKo8aHTuCGJAo6tRnQpQKfqk+zTlghe45gZ4PQQr7yIt98xPdPcxooMtkzmJmAvgmlYQHbLka1Q+X601xgfAwojilxvAmTuCoJ+Qh5Hs6ZOHbceOXVI4Gh3X1NuQRgQVNXNs7uKlmgsRNKXDxdTdh4tpWMpL+4DGCAwMRgV9WmKcjIASHhnSSK5eI2LmUyKQFp757nczBRE0GWeCaLg0M40nmsWbXOExi6jGQQcjcKW+MBNWLXMQpzq0ckRCGMuiRvMPw3Q0YvQe4c0Ha5j7wlcvlvd/WLI6u8FOd7N1n3kJlsMW2Rydu1MtSw88IajzKQgY+0SHhIcEQLlcSwg73EQgxuWBa2MAuEKTxovVzb4DygxeJfWOVicBVKdJRDpO4M2nIFgZckKKiclTjhnB+quWu6ZEiDgXv1xxXBFD4C2WA5z1/8XCCe5unZ/fKasY3NWiFQqxkU+AKn1a2Oe2Me6CVvnjOyQ0yYNLp1J4VVz/+eS/7rGYeYcwHNKqJmCimGiDDn13oE/zHxWiL2WZW4drBosW7MC5vBREryZQ28QftCW8pOp5WRGu0A+ioQAq5G6rluAv9WVCiSLmHSuaEj6idskcESNVrH6EN++ijeGDQfGjDWv5Mi44jI2xQDr6OtcICVyE/hkXHe8CJjTl1yEFAU6ywqeVahs9el362aSmukhSiy80X6DRTa6CCNyBN3DkUxChxEZliLW0HLA9uw55XZvnzNFRGEt9ot73WshYAq5PUstwKBaf1MilllYQKAaWicN3BMqsxbfq31KeuQpCo437MwXhdPI/wQSZgtAks/yoWBveUUSdxBefKAd6RZxJA4Pht0yWPepBgU7P98Pp5AgqnsOXHR0MWudTEH1iyl51MFw0SQcUrjELiHaJ1VLJmvKkI1ekXEk9wosiQYHIOBdezZHol8YbwoOyhsDoF94+dRzsVmoROEmD/538KrILFOZHmOx0hQoBFFAe/RLWBL1S2WXRS6lQB/JGyFUQCH7mP4oArkC9SU98lAP81BdDm3ZgcjJgsiII3IxcoDVQUCLgjTpA68tpBMFIC1dHMr+QzG2oQi5dKSsV97ZXXZJdxaqLiJr4+s327HxDyaWcNZqqqGlU3eTn156E+fqwGXVO92MUxMCIhP1In4+wAoZAe4Cnor9HHNdx/34qEr4hgKNHS62hNQsDwp3oL/XnzCR1ieamBtzFlCxHjhQJH+XDC+xot0gdCoI2Z7ky/ZJRefBupIs2jklqFBPLWYNXKC9LtNnjkB5BjBRzKJ+WWEshR3CeuRAFkeuTC0CzcY0GhjBULpcQs4ETmIE3Gu5i4Y365AqPiJ/NqzM3vcy1AAAw4ElEQVSCBCNXF3hiUAQ6k6dY077WWtI2OmyUhXYhT4SkfzMMllWmfB2dHb6ahw7JMJz0pGFlUXTifAoCvP36IYSxKN0SCyS6IjQJgZmRC8Hh6+3pltPu1kpOBk2sQIR1aQpvPgUxKF4DN1VKu8McOPDHbs7g1Z0iiUelsMmOuicrWpLUg/IP19QkZ0kFnNw2xsU04HMxjI5ww52xRBMo/E2sbAoHfugYoV/KpU+z4+zJiDah/Zjwxd0UcSE8oo0j/2xeoUe4RyhHuJi6ZH23a8UYwlvV9ZEWI7TxRlWh4BFvU9VVYMbrDMwtzz6hlW7dduj112ze0mWu2Fevv8bWX7PJDRrSRBszIOnXHIQN9riwpP7AjRDCN565kt9HI6l0AdPLJHD9vSekWDQKknHiLiGl7R+QW7FEnxaVQnchr9Eco0NGnLi30oI/Fy/wCcBKpyMOGhIozvBQhxRiV7KYQbgJ/UNsIpTLSSMA4IzPQWgVEy4mL5/SgYFFCV1dXf5AXZyjdIXvhjUarpFbtVwjdvo7ZbzvQlYxpQlLwWYrUMnQ7FxziRbliOtMlSOYAHjgBX4Ql7jAF1fiZiqAO1Yr5IMZNJgN3OB1xlJ9CQgYLB/cHhUaOrPeGouZAH46xXgX0w2L9ZiH8M1OWNuDOqrj6CE7fvygziTS9x60qqJCQ9258xdaI596RGkIR3QSYNIhYVb3T3drVY4wcLgYE5gwNvj8ZFYkSgRFDqqTkg945bKE9sm6ZJVMb1ur1c1dqJVFvTZnwUJbuGi5d7zAGyDCUuR8oFb5xRl9NAovJ24SSE+aRNG5qnMacO4RdOKfxIKdPnHCWuQf1njJejp7rLqe7z4M2boNNzte6ggsaI0AgAbEoZiOnda6fum5Bh2kNm7FqW50WqeL8pGWICprdJH4zaFRn1aknDh2UH7lHvV+zYGIctV1tbZk+WqttDozQRlt7G03BssBzuKffLSmLbvEV6zugX4UhVVSFbJ2g0Zc2cVeU4n1qzqLt5KJe/GaFOozTz7uk7PHd++0hjkLtEppyNZcs97Wr99wFm9RNVwpveJHNjnCSUwoQ9PAFTyYS4bobxFPXRDU5JPclxXeqd3vcltJ8OM+oqAlHCcjf35slINr27Sar1g8WldbO64ggRXyLQ2fe/DyS4eQCxhLg6oHAh5+5IA+YJXoCA6UAnN/itB94toaUj/AcKiWkiCQlk2K3V3iFdGVZ444wfXmgbqpcsxl4TZzBfGd831ylBMExagUMjRZAm32/zKMwvKJzUU0TgRvqNRzxM/EFbzUNY46vxh4YRiGq1wZvubSGqYOoTITdQwYQUfgY92GIIE5+BEY3sf5P6T3DjYGAJ9vYvHQ9RXEdMBoP33K2rTaYlRWdJk6UIVcAHU6GbVG3zZPwwpaU18YFqsbJlZfVoBhgem3wot1xUR5IjAd7xmW8HSnjh3WpK0mfWXRV7IvQHnqG5ussXGuOs4ZoR+0pqzQnCWCWPLA1n/hTQBTJurrCoIXCqwZP4v1FN/Z3mYdUkr9mgDsF/5qCYRy8dGiJSu805Ev2ph7+JpnhD0+YUlLkCZ1JYFu0wrCo4LWwifKqJwjfkRHu45qZ+JxUEeUUN8aKac5UsZl2kQW7csV5UCb5vIWsGcrgDe3jZlnYFOiU1N/fCSh+kb1oTykRmnQZNBovD2U+MiBfV432qZcfKWPUjuP1dc3nUmnd7QxdHZ3EAAV4BnnX5ApuJAce+cRY38Snk7HJO3n5VBWXH60H5Y2cUCnvQjgBW7IruChNMxCeIEVdXVg+kPaCChV2pA0KE2MMngz6sSVjXBMlHPFqEornITX1dccILg4ZkX8HAhSV3D94KGHCq9iomAIDbQkgPldrAATM0SmDEGQ2cYduGIYGgLyYuBFUAVjgTfNFIE/l3EifrrXoHVuG6fLUAh3vnjysdoG/7FunZlJx/yBW4K6JwRe7oPWaZzEnxPIK6D58JLWaed4xavg1A+cCHUC8EkTyx2pM3HnwwscTwNMh3T2H4cjWHRYJXTcCIQ464m86TYex0tXTXrr2QDzPOWrcwJHdZDgTMonIThW33T6oDVpyHOxArSmPxHG25iHydRZhIbWqJKgOvfJ5rbkHW1M4BKGB3WkvmFhO0/QJmMhTZeIu9Cr0zqdiQKk2phX4E3TekbwAni8Lgl1Am7QmrIFrUke77kn5JY9932SKvn7HUYQ8p+OonlyA4BgaiyPixnASwNfCrwQdjYs9YnoN5n6RqNO1JgT4Sj0LnCHBVIo3UzHB95L0cbw1tulvrRb0PpS1Jn+lE+2UK6Z5mVgEqgveIO3eL4YIegcCvFi4Y26pWXmTOH2Za6nTp0axXrNF0A0Ww2ZD1/EZXiDEskVS4TRXKF2Ojv1hT1ltL4wek019aWiM+W9VLjz4UWQIVMKKY6p0jedLx/e9PvZur9UeKnPbOD2EQQKolY+07SPbLYImMGdGgUYyXVr5UZdXfKls0uhtKdW8ixXRoGzKRDLQLHwMz4+mzaX29O3v/1tK8oUxOXWLOeWJxREfT2TvMlk2LmpspiMApc/BTIFcfm3UZRwQgXBkIUVAPjU0PbJhNiZSS7exzAxbQlwzztCOj6QZtcLp8D5FAT0Jg1tRFuFEsEXG+1GW0V8ugTTaaNYJQJOJn5jxQTx/BiZ5gbKCs7p4A2Y1A08wAJu+J6pJ7/AMZM4A3d2nRoFJqsgaEt4Or2fI42RNs3Hz+k0k7kHDjxEucAV/SR4KmAED8Vz+hp8lo4rdA/P4mYLeFxj3oJ31JsyTAQzTZuZoEGhsk6oIGicJ554wq655hqbP3++uzgAdOTIEWtoaPAKIACoFCsGSE/FiUOxUMlYLVKoAFn85CgAbXExFRpB8J520WjQrr76aqc9bcG8xeHDh739aJcQ4FzJQxvBnBMx40QlBPauXbu8ndeuXetLGoG5f/9+O336tF1//fXe+VjqCFPDK3QImJq4qeKlTMBhKfKrr75qy5cv9y/gUSfmaXDFhXKifnT+MHQmqk/2bvYpMFkFQdu+8cYbtnHjRi8UQhz+QaYAg/anrafDQwCmn+zdu9f3FwB7xYoVzqs1OuiOd/QVcIE/LYwximKVJ/eTLQdwDh48aG1anrx06VLtFzpuV111leOij9CPly1b5oYeeMFPvcGFnKVMyIKjR48afY734J+NUFBBUIlDhw55R0cZUEAKRqdDKCxevNg7J/F0SghLg1JYOmLE3XDDDWcRdTYq8XaACT0nUhDQfuvWrS6U16xZ48xDW5EPhrviiiu8bbinfZqamuyENnfBWLfddpsriqnQkY712muveX6MiNbWVscDXhQFDA2PENjgQxoUB3V5//vf73wz2Y6VWz74ER6FH+lIdF7qHHTauXOnP9PZKOc73/lO7YdozAWTPV9kCkxWQcAvmzdvtve85z06g6jFXn75ZecXhOru3budnz72sY9NWzgilOk7COCVK1favn37nJeQZZSBON698sor3o/4FC/9h3rwHkWCEoPXJxPIh+Jj9z38evLkSYeBUY2spQ/RX7miRLiHz4FPmVAozc3NrsToOxjws8XXBRUEAufFF1/0Tk5HpKCbNm3y+lNYCkQF6PxLlixxKw5CQjg6I/FUCAWBoMjC9ChwPgXR2dnp7YWQJC0MtGjRIheWMPzChQu9vbCsgzFRFAjrW2+9dcptxEiB9oZxKQNtDlzKQcehM8ybN08nUO7wMlGu7du3Oz7wkmY6CmLbtm1eH+oBH6IM4Et4lg69YMECN2bofOvXr590J55ea2W5J6LAhSiIZ5991m655Ra3uMmHXGLkiQGLoLz77rtdaUyE73zv4BWENDwETIwmRqTE8UNAh8GMYYw8g49RKhjG8Pt111036RWG1IP+QD3AR3+kD+AdINCXkKXwNvekC+WFhwDDDqWAkmEEhXKKvOer64W+L6ggYggDQY4dO+YEQknQAakgPwiFMKKCCAEKS4fHSkVY8MzQiUpOVQhcaIXequnPpyAQgAw5sUBgIKwiGB8BeeDAAW8fGJl3CG8YnI6ABcSIg7ipBHiDEQR4gYmlB7PSceAP4COw586d68+kY3gNT+AK4zrVQB2xJOfoVEusOoQHHRvehSfBDXx4mA6GkpytofhU6/B2zIfsQB7QFhPJBdoTJQ9vYngif7iHp+F1fh/84AdnREEgsxiJYviCA2WBgQUfwU+MfOlj4MZApi+F9Y/sY1QzWUOYvoxioJ/QN1BCwAI+OOmjGDvUF4OLNFyJBxe8DE8TT1mRs5RrNkJBBcGQnVEABeDKj8aMBuV9biAtgbQE0hIXeTwy+zMlCpxPQUR7BXCeg+6596SJd9FGke9Cr7Q1gjrgpWFzn+aTdBreTUc5BOzgtXjOx4OBl2vckz4Ll4YCk1UQtG26faO0CMjXX3/dFQOjwskK5sife4VH+YEL/gieTd+TJ3iH9+l33F+InAt85Is6cs+PEPD9YexPukzpeO4Df278TDwXVBAzATyDMXMUQEFgJTPcDCE4c9DzQ4LxGAlcLHz5S5HFvtUogEWOUTFVwc7IGMGK0MSSD8FaiE68Z7SCQXK+tIVgvF3jXUFoiJNtlLvMOQAFgauIYfDFYnIUw8033+yd8DInT1a8NxEFcEviGgxLeraLjmJgHgH3zHRHrbNd1ssNvh/3rQYbxTK9WILnciPCm6E8WFx79uzxiasYbs52uVEQ+Hjxf2Yho8BMUAAZg5HDiiQmfi8GLzNSYRIZv/5URy0zUfc3Gwz6/wMPPJDspM4UxOXdfAypmcQiXIxOBR46M8ohs7qgRhZmggLwFJPPjIgvVkDQ4YpCOWRG8OSpDt38LCb5tkens9wwH8oQYukGIW5Ec9vikbHje2OiO5mcIb5Q4POVyu55+UIYgWcgRD6eeZfGOUI+peFjGxOAB9xZwT8GkwMP+MQT+LzjhQTKz48P4Pi/C8vuPlssrsyavxCqZ2kvRwqEcsgE9uXYOmeX6d57702O+w4FgRAPAZu+j2zpONLxnI6Le4QZDIAWioBobekc0sfgtYtWnxjkoyH+zWIJTj63GBIc2UnacRmqm0On+vWFKb6hVaTvpyYfuOjSR+L59jEfhx9WOXr6R6ypRh/ISAnvkx36mlOVvpksfEQDFxkfOPSYuk+w8m5AHwRp7RrSB+A5tiJJRb6jrf02R3HAS2L94nDjOYFydnxLpza6qbzz6susSvXnQyMXEnAxZQriQiiWpb1cKQAfIzsmqyCQKbkhZFRuPCNtQlru5KbJfQ74+WBO5l3AS+efKF+k5zpROt7xC7jp+3QccOKZ+0IhcPGe9OnndJ6IJ803v/nNREEwBGOVDG4M1hwjkHhmjXmsOiAN2p93rLsFAGvNec8qAQBzz1piNtmxBI0Gw33l64tLyu3FvVqbLtm4oLHcth7qtsW6Hmjpt43La9zCBiZCHsHeIMHP91xLlOHHW7UHo1krapQXBVCmuAp9nP3oaX0aU4J3cVO57TvZZ9curXEFVK5PRvb0D9u2wz1WX1lqS+eUW3NtmT5BOGoHpWyaavUdV5UXhbWwscy6pVzae/SREcGs1k86S8pgwJULwpy0c5S/Vx+ILyvlU4JD1qxyDvChepUJuErmyiopuz4dqHKeaB+0uVIKrx/p8TLvONprH9nU7Ioi3Sjnu88UxPkolL1/s1AgV0EgN+IXdeBZ3cn7HUepxAY19gbEngNcn6xoQmaEQmBugy/tXXfdxvE4ZFC4SYFLiCv3zz/3nG3QHAVyCqVFX+M9MNmYxj4D3vFMPD/gIfvYKMrmU+RhrJRCRh7UgpJmyU72/bjSIo9gU17gRHn4GiBffkPmRpmoD4G9ZMAiP7jYk4EcBReymPh92gTLfgrkNHAjL3VIP5MW3OwdYTDQqHLxOVb2dICbfRghY1hE0NPTbfPmzrPHHn88URAAhrgUIDZkxLEMuDUAygYnAvcrV670tBxnwFJIdtOySgBkKBY2f3CmCQqDdc/r1q2zxuZ59uwufX9XbXRMlnh1RYktbaqw/S19fj0uK5vPDBL30r4uu2pRtYSyPvcoQbvzRK/VKf2prkEJ8RIX0Asayu1Y24A+tF3sima3FES7BPe1S6utWVb+a1IOfRphYLXj3tm0otZOa1Rw4HS/C2vGACiaI4KBMJ8rXMelmPqkBK5ZUmNdUjDbJdhRWPPqy62zV2cbSSFUSEGgvMqUh/IsUXl3q3wol1VzK+35vZ22VMoM91aNynxI+EiP4qFMH72+2Sj7hYRovMzFdCFUy9JejhTIVRAIwcOHD2luos8/lVklgcwnM3v1PXGUATvvTxw/Yddpx3CnhCT7IEgzZ06zbzijn7HpslpyilU3a3Q+ESIWgVgvQdgjGXT1uqslhwZst84Nq2+o93dtbRjAzbb5+c22cdNG62jvsDoJWwzCYQlUhPsTTzxuN954k+NE8VRV6sw5wb36as5OGrZXfvpTmyu51yvDmjxsxuyWMD+kiXi+VT1HG0STOZcBycsmLy8bSpGfhJdeekmf5tXRGquv8I1xtbV1rox69dnalpbTrrBIj3w+JZm6QPCpz5C+w11WVu7ydVx5CX+laMCmVN8cqyub6UplvJeVlfo9ZRgcHLDBAZ2bJxjHjx23puYml+nQv7MzUUKUGZr++Mc/ThQE2uunqiw7UWNnLBoIbUIBKQQKAgVAo6EUKDRKBG24T5qMvFQcrYqm5x4FgeZjR/WceQvs1f3d7ip69WC3C0kE6V4Jdj4U3yJhWy4h2qT7do0K+O7rmgVVdlQCHAF7vGPAhXJbj0Y3svaXzKmQ0B6W1V5iCyVwserfONpjq+ZV+gfvXxEOhPk1S6rtkEYDKyS8qSf5+4dkVRQV2QIpj80S6OQH195Tfe5GWq17FAjKAwXB+53Hex0fH1lfLyXUImXTL4WxZkGlvby/y91mC6RIWnq0U7JtUGUocZib93R6mZqlgF450G13XdPo9XEOmeSfTEFMklBZssueArkKAoH/8stbJLx3+3fDkRvsyD8gOXL7Hbf7prhyCcMrr7zSlQVjgPkSyi0tp2Q9N7iMYQSwVKuUfvCDH9hC7UY+deqky6ijR4/ZmtWrXbkwGnjooe/bqlWr/JiKClnhTZJtCNE6CeZTgsfnWpdJjiGvsKoffvhhWy3hTZmRHYcPH7FNUlQoHORjUpdi+/GPfmTHjh+zDRuuk6E81w3mBQsW+nLeYSmUtvY2F9ws7123br2nQS6Sn4Blj6JEzjZJiCNfS0pLvAy8R+4uWbzEP537vQcf9FHEEeWZO3eOf24Wox54KEToh4Bv0zfSkcPIDo7j6Ozo9FHO0WNHXVb3dPd4+VC8fEudduAb1XGuFKMUX+YqwD7uYijH6ABBT2IIxzNDHSrCEIpMaGaO3ED4844RAwHNRSFpSArMcI33WL0MEUtKy+TX1yFuErCtEua4gdD+zEUca9fHxWWxI2BXSMBvO9RjS5oTK3v3iT67QnEoiisXVtmWA136sP2IrVusoZ9GE/j35zdorkBlaJfCYH4Dt9V8CX/CMbl5lsvFNChh3iBhv/d4n1xc2jijEQDKCZiMMGorNWyUYsLt1DswbCvnV1pv/4iVCx6jgw6NIKSkhbPYdh3rNZQIkw+NNSW2RzAh4lIprddVdlxowNsul9K6xVVirsQ1hhJEcTCPcSEhUxAXQq0s7eVMgUSonpmD4Hn37l1u9SJfGhsa/YiNRglFLPX9+/arvw9I8K2yw3KJIJMQ7F2SLQjcPgm39773vZJbK+wnP/mJH4uxb99et5IR8suWL5M3Y6Ufn3Hw4AEJzXaNFtpdJiFQX9dRMfN0lAYGb2VlhadDltXX1dtLW7a4POzu7rL+Pp0IXFHu3pCFCxe5gkBpINgfuP9+H33gRSmVwTygOGTe5s3PuwFdXS0Xuiz2igoZqRIiCGXKhgcGRYjlX6NREfAQ7i066oPRSJEaslzKAjfSaik6wn36iA+ymJfgw1vT3DzHRycNGh2xHP7nf/4XfIlqfX2du6c2XrfRejQqQUidlPJkNIXyQDDddvvtPrXAyOe0ZD6HWlI25PsDD9yfjCDQWPi5EOY0EgVFKEE0FABuIkYSjBaIQ/jj10IhAIh3MelE4ckLDH5oWn5F+qEQIuiVV5I4Jpjx8+OSQYEgzBHgJEEwI/Tx8+OWOiyXDc9Y9swHAId0Su4BIc6kNa4pYPIeWBCUe/Axr6ERo79PVhYlMACAwqI89WOT4QnUM3+pAmUhXzK3XqS5CI4l0RS6cAyp7LwjAKtcZYRm0IKyiQxJec6APO9dpiDOS6IswZuEArkKAjmCUIx4qoFMQaAmLhE+IzCoPqNjt/UufP3IpGeeeUZ9uVgH+r3TrWwMUmQUvn3kTU1NteSSFoZIrmHYIkwR4BWy1JFduJHAi+xql5UPPvoaygelATz6LrhIU6V85MXSJ55Avz4mq3xwUC4tCXLwIEMpJzKVvCStlHsKeK7gpPwoZ5/caMflPiMfdUYwAzdkL3PCITvYx8H9T55+2uc3muUaYmTFXAJwmSvBe4OL7MabbvK6ggNY465plbW9o922bd3m5b5KbiTmNKiD11vlZT6DsicjrocSBREF8xpnfy47CtB4MPJ4Q192JcwKlFFgchQIRRAG5eRynZuKPoGQBw4CG6H2VgshuFEM/M64tZLjQ3Lri+eHPIXkBO9QYLGnCsUE3NwQk9p+1IaI7Edt5EuYmzF7vjQUyBTEpaF7hnXmKTBTCmLmS5ZBzKXAN77xjWwEkUuUy/E5UxCXY6tkZZoKBTIFMRWqXZo8M6YgEGAMXxiF4Pci8MxQxecfGMboeVR+RSXSL5mTYMKG4KOXPEMdf6k/oyPDpHK/YsQ5PMUXyTdJII3fTwiHiYcEFsvWfFJA5SUfPsvxoHeU7XzwxtOf58brCT7wTFC+s8BAL/2YLGElxIB8nNXyUWYho8CbmQJTURDIEfpCyJZ0/b2PKGLS/Sqdeew+4I/LqjxpkHHgIA04J8IX8hD3F7ADPs/k5TcRrjzox6OATchHi/FEqRtwkSfwURbKHj9cTtwHPNKShvRn7aROwTzvbRAH5ADDp0XDM1nC/gcCkzPEMxHkyCXoBlpP2ZDW2lYtXm5FJSKWFMZgR6uV1Tf5s0o6hpvpqDP35BnRRFV505wz8RL0A+1aK1yliR35H/tPHbeKuZr5dwVFfsIZGDwNawPIQNtpK2tosp5De12pVM7TCqsqTWbVnBG+oyJa/8ljVrloqYqUMIRDGyufC3wHzZ/ARQpCOi7BP9St8ss/WCIcxeVaIuxKLScfjUbewKGGGuxo83oPqtwjolfD0hUJiuxvRoE3KQUmUhAhPKNqPCNr2NDFyqJYXs/7eAc8hFkIuMhLHCEEIukJIbuSfpssHkFWndBHfFjiGu8DPnmAwZJ+JoZZkcSkerosgStwsGwV/35MjrNFgMnjpVr9SeC9r+zEOFV8On+Ul3TAo15c4xdLV6FHpOEKnMCfvmeVFatKmWemTCw6YkFNg1aLgXe7vky3RFsXKCv5kk/4ssG5yh555JHExcQED8taEehslgMRBWFGm7iYmQcZFWAJFsBBRj4C8bHrkNl73qMwqAhKoqq8zHoOJkIZgT6ipWullTXWd/yQVUphIAzLG1EAWv3T3mrlzfNsuK/HRoVzuF+rHFpOWNXSVVZWq5UHbS0uaAfaTllZXaO/79m/y5o23WpDPV1WpJULqquE65CVVtfaqJRLsZaYDSpfx45XreGaG637wG6rXXWVFassQ1pBAMMwiiiprLZ+4eo5uNvmv/vDTov+k0d9+VGlFBDKAeVSWltvI1piR11QIkPdWkHhiqZO+Y8Lb53KqOW1ne2ufEYl8Fs2P2GNG96RKDHB4f2IGBzcFXO1mkBxpTWaOBJTjAz0q6xbnQbVK9a6Am5YshzyZCGjwJuWAhMpCCZZ+doaaeq1Q5n9EDUSbK+//po+s3mtZFKrrzRi49cxbfJi9eSrr77iJ7Uie9AB7Gwm37JlSyWDSnwvF7II2UVAHrFCp64Og1Ab0LTskw1qO3Zst2uFg1VGXZIHrCoCJoLzqJTD/gP79dnl6x3nt7/1LV8eilxEgLM1APgoDmQncg+BfOLEcYdNvVh6u1h7GZC1e/fssRtuvNFlbFVVpS/RRTgja/maHaugkpVcw35UuSswwerW3gVgDQkXG/QITNCThyWv4KVMi9iwJ1jARLY8//zz2r+2zMu+QxsPUQhshGNEs1972BCWyPGmpkZfOuzl1LuntWy4iElqALGTGoWApgQZWg4AVJTfPgApQMCVK5Od1KxDhogUmrSh6VEIxLHsio11bDypREFIiKMYuvZut9rV6/wZgVwswTogoYp1DYFrlq32dB3bX5HArrLqJSt9hIAbqWLeIhf4vYf3WfXyNS6AEbT9J45aldL1HT2gChdbxfxFrhyAOdTV4aOU8ua5LsilzQzYKAiUSM/BPa6QEMrDUjBljc3We+SALfrAPZ6+7dUXXFA333SHFbOf4+VnpSAalGa/lFGpVcyRcJcC6D91zKqXrXKF0acRTVl9g49aSmukLFSPrj1vWNXCZZ6WhiMwkqL8ZQ36ELlw1191nSsjRjEoHR+taDlbn+rQIEWahYwCb2YKTKQgEHBPPflk4hLR8lV2N2OpJ/sgVvrOZYQZx/gg3JFFyKuFCxe4fELQEwalYO5417tcBj311FMug/ZIViHA12qfFruSq5VXoHxj2nFZ2AhWlAd5kXcvvviCBHWFf/8Zg3efZNldd93lshEFsUA4EfbAvOOOBBeCn7S4aVatWmVPPf2UC//Tp1vcgF69eo21SDkdOXLY1q2/xvdBgO/nfv7nHQ47qxH4yMyt2pe2a9cu+/Uvf9k3BfJ9bvIjV9lRzvJW9oUs1vJXlsvOnTPXTpw84cuBoQ97KVA0wHKlovpxrAijiPla2lqr+qP8OBZp3vx5Xj4UJ/RmOW9XV7cdFm1dQSCU2UnNBjg+hg0QBD47qRH2IEJhoLFJA2HIA0DW0TKEIQ1DKZQMhSIvDY72e5caq0JaHwUxrA0b3ft2WKOs/Y7Xt7jgxP2CQMdSx+3UeN0tNnD6pAtuRhclsv4ZTTDKQJCiF7t2v2G1a9drVCA3k0YJfRLOuJhGNNpgtIDgrZQy6RPMwdYWK58zzxrWbfJ5AJRR94E9VrdmnfUe0zb/w/utds164TzlZahassJHCQvu/KhfKTPpGq+9yUo0xETQM9pgpMPzyIBGEqXlnrZmxRor0yiAOtasvNIVSOfObVIcV6gsR6y8YY7cTdLuUjS4zSgzv2MPf8tHNqRDOaBAGB2hgHAx9cg916ByZSGjwJuZAudTEBiiyI1du3baqpWr3ADF0Fy5aqU20x3UM0f/1Eou1fveg66uTn3LebFt3brVRwW4aRHwGzdtckGKXFukTWvILzbCkRerH8GIYlm16grbpQ1rCJUrrljtoxW+H/HC5hdctnH8BsqDUcz73/8Bj3v4hz9QOWr8fCUUxK233uow2aMwLCO2SgYv37E+rZEMRjMjGMINN9xgB7RZb9/evdqNvU717HK5SX5GD9SdzXzrtdv6NX1Wde/ePfalL/26jxCeeupJ5b/RvTYoRXZX8566s0fitde2uWx2mJLPrfIAoWzAidzGI8TGNzbcofhWaiqgSK6mRx951EdAHEGCwY9sxegnPzvRXUFQeAgMYVEACHUAkpArGoh7tAvEokCkQVOiJFAIBIZFpCGOUQgjE1xPFLRKuxBREMw59Mnar16+Wtb0UremRzRk6j9xxCoWLHYLHUu8atEyF8DDcuNUzFvoBvfIkNxSUgYIdOYRiivkNxPxezVqwK9ftWi5BPlBH3VgtZdUqRHZvShl5sMtai/DHZgoktI6HVolBhvu7fYRASOIgOcjFwlr0nbv2ynXj85Jmb/YBTsjEt7HCIJ5DdxN1UtXOszeQ/t8RIKJ4nMjKj8jGfBQTvLDkV4HjQ4o1KnnHrOmjbeo/nI7SXGo0IIxVy6wcuvVfEifytm0aq3SnhuoXxYyClxuFPA+l1OoiRQE79hZjHsEHz2H3rHbGflRW1sjAbZHBmiz7uv8OIuVK1f6Ao4OKRRwcYYTfn5cMOzERlYhv3Cb79mTjCBQCFj6c+ayIUxGrXBg7ZO2Vu4p5BqyjhEHsozzlBDoCFBcL5TlgNxNWN8nTpz0K+UAf7iHcDdhMGNs444vkYxCruA+q5OMZfSCEb5PCgFjGw8LfZgfMhVlwXlK3G/YsEHxyRxIu0ZUwINOJzVaSGRypRvoy7Vj/NSpFq/Htdde6+WhTPGjTChJlAtKAqXBO0YznDHFmU3Ib8pQqmM+BnRe02OPPZYoCAiBJuRKgQkUDgAMmSgQFUIT8kMDExD+pGO0kQ4hsEjLvRdSCXChIHARiMwlYOXrpQtDX6mk9D4prFEEBNVLn0j2iWfSEZCFIpjDlbAlwvGpLJ5ujNAIYocR+cg7FnDbeLT+uAsnXnDVVmlf4aRb3Em897IprcMkj/An5VBaWQzDGuJh6SPMKYPDpN7UX/ASXNBCeB1XAiPqiNuNeZZSKTSniafRH8epM180j8EqplptqY8QNI7n7JpR4HKlAP0/wkQKIuRJkpaOPtZbyK/+hFsFWQPvkzZ9Tx7wMBlMvwmrnXTcIyC5R74hswjIsZBzkR4YwEdh8D5w8Z5n3vMuAu8pB/HA50oYEQ7SFStPwA5cuXBQJhECH2m55106LmBFvXjHjzJEuZDjuYE0wCQNaaMMwOFdhPT9t+RK8xEEI4eoWCTMrpcPBWhYOhZWCyHdiLmlnOhdbtrsOaPATFJgIhkS7yZSEDNZlgzW9CkwY/sgpl+UDMJEFAgFwfA2HXKVQe5zOm12n1HgYlAgFEHgyn3GkicurO5Il10vPwpkCuLya5O8JUJB4BvNN4JIK4X0fV5AWWRGgYtAgbRSiPu4MoLATZIpiIvQENNEMW0FgeDiR4ABwk8nH4j75ln6yT4DOePdh5j48pMJm3xld98+PnsxkACOJ4l5gmCyEISJD3882Zkbx695grH5CVYFeV78gTHvMZY65hMcG3inE8Cr+ZPxHdOpOpwPLPnG64XvVcv8mI8h4DcMF1Ok4Zq+J108c5+FjAKXggLRR9PXuKc8MYJgLiDig5fDEEKO8Iv50HQ6YPDML3z+5GcOlcldJqTxr5M/4EZ68pKHQPoOnWzKCa747IknjrxM/pIn8nuGsT+kY9EOgT4JvtyQxpf77s30PK4gWE9MgCBULn1PXG6A+BAqNrXQ6MCggZgh10vfEzCk5ZnV7JrWpAiTuqw2qtRKpaISlIbwMNlL8HsJPAnCPq3YqWiepxVKTLSQJhG67JpmiSvPQ51tWi2knYDA9fIqHcUeL+qoNqudTOIU3aNVRWVahcR+Cza7jSstvWPSfLhHH9PQ8lPguTICnCa5XaEFTOgAjkDkZeaZeL3QhfQsqWWZLRPWxbiExunnmZO0ZFNwWo/VvefwPs/HKq+Sch0prFVcPkmu/HQcmBEXU7RHMG9cgRfvcu95zkJGgdmkQMiN9JX73OdQEIwgQogzOmYFUJnitujjQaw0atXzOq3nZ5EMApt+RDq+nYCApi8ELGTRK69oOauWfLK8dECrEVnpBHxOfCU/8omy8AU3Pv/JKiA+AMSeAcqCEcZHiEpkQAIDwQ98NgMzUUwa5Bt4n3vuWVu5cpUrE5abxson0nPPUv9QbrNJ89mGPa4gqAxLU0MDg5iddWwcYekTxCMNBEAILdJXm4jbtm2bE5M0EAYYd999t+9+doGnVUCx67liznxrf22L1azQJjg1YHmzGlI7mxGbbEzjaIsiCdUeLWGt0JEa7KRGQLKruUzLUdnPwH6BQe2eHtK+BDbPJbuvtcFM8Eq0jNRXDGltb7EEbNfeHRLyQNdPjFK1YEmypFZLZX0XNyuGVKe+Iwddr9RfucGTosTYzVyp9MDvbzmW7N7Wvoyyeu3aFnOy3La8aa7DYzc35WKvBPsb2GHNkR7t2uMx5+b3WL/2L7A6ySuqEQHKiaNFWOpaLprESqkTjz3gSqFGm//aXnnemja905fpQu+wrGIOgg4RiiGutFn6nucsZBS4mBTIVQY85/6QIQjuUBAYPqzh37tnr+9/YB8BX13jyAeW02/RR3tYQcnmLfLyKVKsfjaHqWu425WdzMgiFMyqK67wJap8/AbhT7pD2p91zz3/P3tn19vEEYXhUUiK62ClaYIDFTRulBCoA6rSkPYGIYEUVY0EqOIP9Nf0X/QX5A4JLir1hnDBh7jgM6SuIz6S1CU4QrYLrjHp+5z1bNaWWyIRRw3akezdnZ2vnd0975yz8575wRbfuXLlsvIkbRotoEJduNlQQzX1s78xDXTUTWlNhSVNb71x47q1lSmxH+ndZfr+3Xt3tTDauE0bhdVt750sHxD6MAOPjx+1hdN2su87UVcIENxEmNQgJ/Nv2TJfFnULohw3iNWPSMeMp0wmY/Ew/Tifz+ctDaOA2dlZAYRWiNOoHc1h7dovRkKDN/C6sGx8AhjCgASCFUEL76EmDQHTDMGY0wIGuAq9YjtDNOvWiACyXO+hEfdK5TDS7urZK+GbNN7AJyemxcaW1iBxjwCGucyIHsY1gh7/T9U1MSaVL5mR6wqN9P9eF6NSQAOHITU2YWWWcg+MqZ0+/b25zCjnH1k73mpeMFoNbUiNZY2oB48CjaTyJGcaAxpTQoQ/OA8AFDwPCHrV5wVxP5bdwNQpaVHPBH6DRq7blxk3kOJJhxgIrwPto3jrqgBC5BuRcQjexIQqzMMIQAAavDDNYEHqTdMTR3GIe2AnegDZQGgGBMxETKnkh8k0mCLKlgEnW7QBZA8L9iBz8BHEspeQbgEPRvAMjBD+DEyxWiCPFhcX5W5iUAsAdbsj4hHAQsZcPDo6ZqaiBRHNPocMpmblfsu58xcuWFvm568Zb4v3htXkyAuhDcJvVfXhimLy60k3MXFcZLmbtvAOpDEcZk6dnOIKjVMBTyMvXgbcCVxbsCIna0sjD0mTzWbpjl0dQoBA6MA4hPBGx+PPBLUKYgX7oD3aAeQK0Brg4MfNAzBYWJyOASBmZmYaALFknIDCr5fEjJ42YQeBbI+IbpiKyhL6kOESEqIVXF2I+Aa7+LUIc6R/ef+28Sb6spO2jzO9WqVsbGhcdbwRNyA1ckzzjWsmXAe+PeNeiGzGd4/k4Yzbp3P4YCr9/tBG6Qjlcu5hUKbKx70Gv74vJ83pX0qs7L/kn4k2sN0vP0xoOFWBEeatxOBBE+r4YeoTo5r24TwwKf9QaAtJARfOCOEzoAWUVS/gh+sNrq9aWHEHv7tobkaKt+bdgbPnAm1DmgdaBKQ5DYgMONsBhKnXelE8OBSL6w4XAcy3thEMj6LuI2VwHIbIbhgX78Q9sB09EGCClSRdAbkYAAQxksxwEjC3pOXKwWsMXoPwAAEIMNCEIJceSiudlgOWbMFMxNKedySXcCfByBxgwOREuQ8k3Bk44TaCZY4hpQFGaB2sGokfpJSWDV1dXZFrjTVzk/GxTE3X5W4C/0dD6cADBPkBHRjZYwIXykTWsSob3iAAHiwpgMDCowUT/Ph6op28ZwBcQemyE1m7dpYVBfgAnN0eQoDgQlDRAANAgpsGAxG7XdT0BGgwcgXJ6RhuMnFQ49knHx2DCQdneGgJJTmcS8mNBW4nYBLjTM+0B5lXvIkp8dmwq0joY56B/YxJCS2DhwxQScostVEXCUWqKQIawYwbCtxZADA6Yd8tmm6I8qJBUB8fphH8mHUADTQMBDllvvrjiXwpockMWBz1cT5xQA+argdWM98TytIsuvXAVaQZYH4CGDiPSar3iyMNT7Ua7ag9pKcuAzy56OiRE0IY3ZjZ6Be0i/6vYE3jKLBk6UlDe2Fe4yiwLyu3HtKOeAijGgQAUdNDDBivrBaawcA6IEaEpucgPtjBHoggRqPW/WIsD0nwY57xGgQmJuQFW0J0QEOaaPDnovGM5vE1hEbNABVAaZeOpUBxHwEYDGcyVifpfFl+v11e0hDvz9Gm1nzE+fP+HHGE1uMgdnf9z83NBUQ5VDhGqNw0kJ4AEHCRfNkH9T2Zjjh/Q3wnRDuJm86HXsxDCFe8se7hA7HKJiCU9R8wjht1qEBLh6CHiUy5VqbKYXaPfeS2GT18sKZderBIo/KNPe1Z01ZD5E83OAzcbA6IU14LxFG+6qRugh3rPIxmawNpSce1SIV9q37CXIbw14UG7WFfwp3rDtjhVlSQT+2lPuIBOAM+ncZJYTRwjvrMg63yAA6+DQAE94cXwmsQXEbk6qJFxftxD/xveoDXh7cNucAPucI2ChA01suSrTSc9ySYTLL5jaNdPt4bZBcyDZlFvXHYeg+EGoQX/lvPGqfsZA8YMDUqYN8DBNoaAMEPQOHD2bYFaX31P5/a9xiALwxyjlZNyU9LXZ5l3WZ8d5dGb4m0S/T0h0njnbgHWnvgjQZWmEE9QPAsI6zfByBa64iPO9MDMUB0pl/fu1QPEDZS+heA6JLW1CPA2K6wUSq69Z9/crXlJX0VD3znW9n6iPd4esAtVG66+samD5revZ+6b0Z+dMODpyyZb+u72hNqh5GE8cgu0hkf2C6O8+po6VIlAAYPEAx2iPOag9/+1+XzjPl00f12eThP8Onbpel03Lva6OtvTbedbW8t29e5lS0A8Q8AAAD//8ED5cAAAEAASURBVOy9V3CdSZbfmfDeewIgLwy9d+V9l7paquqe0UgTI21opYfd7X3QRmyEnrT7KIUepQiNNvSwD7uzMbuKlaZH1d3V3VVtq6rLsByr6D0BkCAI74ELD+j/O3nz4hIFkgAJy0KSF9+9+aU355/n5DmZSUNDQ3O5ubkuKSnJbbmN0QJzc3NWEJ58pqen3cTEhEtPT3czMzNudnbWJScnu/SMzBUr8Nxgj+v9D/+bm7x9w81NT86nu3+/a3q+3F0YPeWm56bi/rmZpe6lXf/cNZR/z/z6+wfcr3/zG3fw4EHX0dHhKisqXHFJsZWTANQjOSnZfs/Ozri2u3fd8PCwKy0pdfv27Y2nu/XlyWqBqalJN6PxC31JSUmx8cuTsYxfoDvhuVjtGe+Mez6pqak2lvALaSwWZ2RkxMJmZj54jjCvKA/pLseFOUq5E7+HNCjf5OSkS0tLs/SD/8In4cbHx11GRobNDerIb8qDH79t7mi+U87lOOJOTU3F0+H3wjajjNSBci50f/M3f+OSVgMgKAgOIkYBcRSCSicOBBoHRzi+8y7xPQ1DWjRMor9F0h/eJ6axWJgQdjM9w4DjyQeAYNDQudSXNklWm2SsJEAMdLuev/yXbur2dTenSR13Bw64my+Uu/Ojn94DEHmZZQKI/8U1VrxuQfv6+tz/95/+f5efn6/yTrnCoiLzHx2NCgRKXFd3l8vNyVV9Zl1WVpZrvXPHQISB+dabfy+e3daXJ6sFpkSAGA/MceZxmM/0O35hzvKEVkCwGO+8w+HHu9HRUTcw0G+LjJycHJek91lZmaIpaTYvonoPfcnU2GKO/PrX77mjR4+57Owsl6NxRzqAVVlZuS22SI/w58+fd42NjZZfdna2hZuYGFdZU628lHNsbEzpZMfnIaBz61aLq6ra5srLy92VK5etDKWlZRa2sLDQynzlyhWLV1paau9Fa11BQYEjPvlTx0kBVF9/n/wLrdzJyUlK+5blVVtT61JSU1x3d4/btm2b2mbCFRYWWVqhbUiH+kIboBG0MXUeGho22nHzxg0Xqauz999884179tlnrYyUgXj9/f369LkjR45au0SjUWsX+undd9/1AEHlcRCj0GGLfccPRyH4Hn6bZ8Kf5uZmNV6V+bS1tVnBK1hRFs+vKCkcg8FWkWrA7u5ue0/aOBqPQrIaLSsrs0KTXxg4xKfT8evq6nLV1dXxd5ZALI0QPvhthmdoV558qOe3OQgBxENWR8up69xjAgQD9dKly65XQMHKhw+DjQmWl5fn7rbfdRm2akx2UU24HI05+oxJ89TJE8sp6lbYTdQCELXpKQj+tzkI5magNzwhVrdFHO+2t2sxkePytNi4e7fN6ABj5VbLLdGSMVdf3+B6e3vduAg5i44S0Q/iTYievP7660ZvfvGLd0T4d9rcobkAndzcHPfyy6+4a9euuatXrxix7enpcSVawHjimmxPgIOyOJG7/eKgW++0GjHNzc3TPBy3tKBXhw4ddidOnHD/5T//Z5uL6Rrr0K/tO3a4Hfr87ne/dVOTfoFcUVlphLmgIN8dO3Zcc+WiLfAg4KVlparnXVck4o8053brbTcsAl8kepmenubSBIKUjzl27Phxt337dqN1LMq++uortUWP2717j+tQu40oDGXu6ek2kOgU/aypqXHZak9Azd4JcCgni8zBwQH7/tZbP3RtWrRdvXrVTQpIAciWlhYPEExiCDFIGdCPzEE+CkXjEgZChQPNIN4Qd+JA+HlCEEB3nvzmfbsKfVyVKtKKks6AsJMH+ZHmuXPn3AsvvOAuXLigSu62uBAXVqIMms7OTlepxiUuRJLvpAu4DA4O2mqURiVfBk1YBVBmgIXOD4PQCr8J/iQCBO1FXb4NEMkxgFgZ0eDjAgRlpqwz+oQShXZnWWF10hd1adzxHiKxGUE8XomtLw9sAQ8Q3+Yggqgj9D1jgXl96tSnNudJ9PjxE+7SxYuORebBQwfd+JgXxWRphcwiFA6hre2OvYfoXlTYV199RQuSfK1+f2XiS2jA9RvXrYxPP/2M0Y+f/vRtm09wshDwWXG10CtojkaoOyCuGWI6Fh0z2kH+LHLKystcbe1213TzhghxVHTredHCavfRR3+0sjHGK6sqRRtn3Z49e9zHH39kNPTq1WtuZGTYlRSXiOgXueeff8EADe6lobFBC9xuy39a9BVaevv2baOXR44ede+9967Fg3DD6dTU1qh8B20B1tLS7N5//30DEECAuABNjughdLNfNBy6e/TYMXfnTqu7ITCC9iLqNVqqRTy0nPq9+uqrBpqXLl6ysAcPHnItAl0TMdE5Z86csVV/U1OTY7VPJDqPDPhcvnzZGgtiHIlErMEg6iAb6E6GyP2MSAg8yBhwoSMh/KAeecBikR/v4DJ4HwCDOBB9CCLhgnyMcAANnVhbW2vgArqBhgACaE5nMxjgJgC3OrFVABBP0HIzuYcBBOAM+nv5agLFfYxKTkdHXefvf+4me7vcrNIPLrO63EUb013n2AUtqKaDt7iBQtdQ+YYrKThsfqzeevv6JW+esXZPSRGApYuLGIvGQYBy4wCMTC0CJjU5ETkxoVLFSrMAoa8QHUxp1cmYMlGaOA/iTur93OychQWIFNlliYtisrKo0LCy8UcapDmh1Svvp1UmykOA8XHt5WhclJWWWDpWoK0/q9YCywEI+huxDH0FXUGEc+7sWStbXX29LTLaRQBZjQ+JTuDH6plxxAKyW2LMN954wwDirOJBQwgPwWQlXhepc7ki9NCOZtG5MomHoCnQDhasFRXlGj9zRs+6RUcY04yrO62txqXA9bKqJyzEPDsn2+3du8/Sg9NJ1aob7hhCDg29dOmSaFGv5kO6cQYsYCOindAk6NzNmzfFDdXbyp94iMmKtaCFq4YGQn/hepJiBJ06E35IQMpeH2kAiuzpVQuo0lVW8mCuDAwMKJ4X69OAiHmhk0Yj1U6IwxD/Acr5aqdDhw65pqabAoc2AWPU7VA5T58+7QECgkSDQqAh2KzGQXgaAuRkwtEBIBRIBeEFCFrU0IBHQDyAAj8KSEMAArx77rnnjJh9/vnn1lCkDzFAfndHbA2/AQ8qT6dC5KkcAAEXAxcAGFGZvXv32pPGhTOhLIAH5aVspEe+hCM+flsA8fD5H52ccX/9db/rHNKmoiZJcI0ls+7vFn/qModOaW3lOUjepaQVuPSaf+iSC49ZUAZ4e2eXWPNB+52ZkW5EuO1uh/o+I75iY6yNaSVYUV7qBgaH1H+pmhCjmoiSSWsiJEkUwaQY1CSxTW2NA8bHoFhuACJP75CvMnFhpyvEntO/U5pQw8MjGj8ar8kprn9g0CZYQX6uG9VKkAk3LdDIFmAQt6a6yvK2wm79WbUWQMY+Pb00DiIsLpn7OOgIQIHIhw8Ek35kDPGduW/EUOKgDz78wAjvvn1+0Yg/NIbwfvGQFCeY0AXekw5jJ+RLeiHv0CCEY5Pd3inP4PAnLIs0xE4AS7J+Mw6hRZSX/PkQDj8AEP8g/ydfysCHMuEIhz/l5knYUG/AjLCA1y4tuvlO+wBWiJsJhx/xQr7kR9o8+eAIzwy3eaPv1I02onzUC4ff22+/7QECD9AOFguCSoKgE6tzWBUILoSaREgAMY+t7lQgKgTnQGagFyCCIywEHX/8aCRAhoKTFnkQl99wJYAClaMRjA2KdQbx+MDBwBkg8yM//EgHtKXilBX2KuTFb9KjgQm7mRzlxoXOZrDQ3rRXGDjJIoLUTZVbkar1jc+6f/XHYXdrQIN6noFwT5VH3f9Y9o4r7nvXJc9OxPNKyihxabt+7FzZa3E/ykv56HMGK87qQhn1LvSDDxdb1SvMtMZUquKE9+Fp8fWHGlo6sScTgD4PfonhiZPoCMP7+FMvV6bFEnPZ+n6/FgAgmONwBYwL6AdPxjL9EsbJg/rwfmkn+of+TfTb+v54LRDXYoLQ0IkBZWhsJiGdBmFi0sOG8TuxUxOzJzwuhCENPgwA/HABdcNv/EJ44vMhDgMo0eEPUhKf1SQuhOOJI51QhsRBl5iXBdwEf0KdeFKntQSIloFpAcQ8B/F0AIjeX7nkuQSASAcg/mfnyj1AMH7YXJzVKr20FPGNX/Eh6qH76RPqE/qGOvGdcPQ344wNbtj4sJLjfSAqdDMbnaQRxgxdGdoKrZY5xo/3tDCWscIzbhBVscLz4dkw9XsfiMVYuCCCQDUXdp70ySukTx/wIY0UqwfjzeeNqAtxGe/hYFi85OXlar5k+zBKhJT8OOSb+pTK8E1xQr0IRZrB+SAxcJMnZTdQVPzRqagbmRzRNz8+SDMlmdWhnkkpriiryKWlaDW8AaBwrQAitNvWc+VawACirbN/LkOD2Q/jlUt8K6VHb4FA9HhCTOYkY3Qzk64gF3m6Zz1Xi4N4VICAwF/RRhqEkgUH5UzXHsSY9iBYXIh2SUbKqlFyVYE8YILn7l27bDV5S6JIOMTIjohrkZgSlhnCXiwRJkoPiJcQRwFApIMYifeQWoAEgo4MGA7UyqB9DMoAkUQrIzOmEowIANAplY0Gi40vvjwt8cSH7odvvWnp8Y70oNXJAhHmxYQWJ8i52RwFwEiXviEcYq59e/dYP6FGODU1bWJZAAdNkDQBINwyHDXlAvxQt5xQepSVtgB4QAoDQ/U1T7j2bdp7GxAnr1e2b1KuTdIUtUH/uFQTR/rd2KTfRI1ORF1uZq5EgzOuKEd7hrnShklTumrr9XZbALHePfDo+RtA/N+/a5q7OyTZnmcAHj21rZir0gIQorTkOfdcfbp7enfxqgFE//ic+9cfDUnEJA4iYQ/iqbIx9z9IxFTU+94iHMT/JBHTq1ZviCbEDKLNJjAbfBBECDnEG8LJXgQEFz3tAe0RsKouKio0oonhHCtxxIu8g9gBOjnZOUZI0QcnbQMaiSfQPMEBAHADcCoACMSUsmQIRCDqRpRFrCGWpMk7Nq4h2BDrdu2zIU5l/wwgslW66o8KJe/5mAxXxJ4VPnr3lIMPAEL92Ddjs71Lm4CjI6MGPNRtZmbapSo+3/lHGNKn1GNS1wQsTfU3xq0ASnBicEOAHXmz0U6lAF0TKYrm940JIKL9BnyknaoyjE+NK9kkV5BV4Mrzylx2WvamBgjair60tlO9cGHhhN9Cxzv8eYbviWEWxglpEYbUWGjggn9ICz8WAg9yi8UhfGI5wvdQDn6HeCH9ECY8QxqLhUsME8LxDOn7Gvl2mvcjxNKdAcS/+L/Oz51rl8bHdGiipSewFXINWkDdkiu6+t89XeD+wTMVqwYQw1Nz7j+eHnVtg9MipPP1OlAy4f686Pcuf+AjAcT8JnVSWr5Lifxj54pOWmAGbBjI+iq3+HgKgzUMcH7zgeCG74lp4TefricC86W795sP6/NOjMd376u/Khy/g5+BjrzDbwtowRbPi3ChPIRNTAsw8u9I/14CEdINT9ooViz7YkTKN5wFCeWx9ChvLC9eSuAlMeCUtZm9kB/hiJOeog1SiZtCfMKvp1sOB0EdaEP6BNBGSQYNyNDGvMOF33wnDgQ2jB/AHMMvtIiiUk5Ay6m62iuqwJlZeyoe4TFIK5fmIxwunDp7mGwARyIRM/QMCjso08Q5S7Uxjvh8AHwWHTjjAOWHQxMIBZ2GxkZbYFAXNDDZeyEOCwHUTlEMYoFBGpQtpEcdfbhJd01qsrXSAiUc8fggymTBEPaFh7UXC0daqvqQzi2p6UYiXpMz7PdYwZbxxwDin/+f5+bOtElbQATiURzNlZLiBzApTMfk1yyKWDmiEaPyLupSYiunRK2ZxQJanyiNxZLx3eXfkV4Ae8pBvsTFHy2DhIXxYtnE/SgWcaZjZV+YBr+RCSc6OmWp6SfGW8r3/Mwk90+fLXB/8XzlqgHEpOZe27BW7VooJNYjP33alacNuLTJXtGiBORITncuq0JL6sKlVGErzAq3gEb3ohMCwrKR3HIAArEayjKI9OC8IHqoYEL4UHWH2MPloYCSn19g3xFhokLfervVNOCwSL4mUeffe/NNiwfRHxoaNE4UzR+IOuqwNB96/qikogWJkgRW2DdkMwHXWlBYICI8alwvatK4w4cPx2wlUOq5qL2rXlMbvX37lpWHMmKshkNd9QtpbQIK28SdAhZoc+XJ2K5S4dplOHr3brvZgKFsg5amiWMzs4x7hVNFaQhbhjap0GI7wW+0TSl8v/bOsMugrJ0CNbh2FHbQKs2UeJX2wACPttu3b5/2Bb2xsRVuiX/iAHHurnTM1QYQxkAcwneGG2MuEFuefoUJcsPeJrm8LDVuWrIryU91F29HLfusjGSXL/+uQamaxYg14cP4JZ3tpRluaGzGDUWFngmFDvkFop6htNMEQuNT2iikLApLfBz5p6Uluai0cOorMt2w0ivKTXU3O6QSpvcQ+rL8NDcwOi2Zrd8wtbh6GUvCykQ9+U36+VmpLj01yfWOeFRn0tWVZ7hb3RPWPhnKj3YqzUtzg2PTkvumutYeaWusEhe2FgChqm+5rRZY8RZYDkBgS/DLX/5SczDZrKjZn7kk7cV8qdpDcAEGQAMCywr67Nkzpt8Ph4C9DTr+UdnEMI9fefll40KuXrtqAAAhffHFF82i+Pe/+52J8aKy/dm1a7cZ6xbLgA1tylbZPDQ0NFhcxKKs1rHSZv/ptde+5+rqvF3VX/3VX9kxGWh0QsAPHjgoOpQqM4EW0+Y8+dRTsXjZpraN+j22Zfky4sPyG5EmmpsnThyXGn+prK5/Z6DB8TmAFko5cDDPPPOMgdbJk0/Z3tbf/u1PXLb2jOEmagQ+pHFVtiNwE6RZJY6kqanJbCrQQEWcu0e2Gk+pPCaiXEYPxwHiSvecqyrMcNki6n0iiqzoIardQ1JBzdRBViLOkyJ+GSKaNH5L14R+z7ptxemuXOFYafMBOEbHZwwwKEeWCPugCPZtEc9xEefSvFRXViCki864MRH7w7WyhxB4dCof4hWI0ELIC7JTDFSIB1HfUZbpju7Icd/cGlG50gUC0ktO1QZhLK9DSufDy4MuIsAZlN9OAcUXNwmb5rIUjj3AW0orMz3ZgGx0YjYWlzOgZLSlcpIvdQXUxlW3frVDRWG6BmuSQGzaHYvkuuaucavPoe057vMbQ66+TBadPeNud1WW++z6sBsU0K2G2wKI1WjVrTTXogWWAxAc+3D69NeuUMQPjpzV78joiK2KscfiXC+MyVhxYyfTJ7V6viMCgviyfzU0PGScBStuQARRCxwARmbHpSKPGvypU58aAJSXVwhUSkWYOxxWycZNaFUP98K+FgQVsRHEmtU7XAsgRD6ffPKJrdo5kBIr57q6euMAbly/YfHq6usFPGcNEHZKEaOrq1Pl7TOiDtC1SBGDY0MoJ3lcFAcBGI2KQ8KSG04JwzaMVmmDF14QuCne5cuXJEIbMFEVS1qOMaGtgro/NmOIHQFKXI7shigbbYTIajkuDhBNfc4d2ZFnxO6giG1b34RW97IfUAE6xQFAwJ9qyDMQgLjf6BxzfcNTbpcIY/vApCsUYYc7qCvLMI7hdu+EEdtnGvNEqIfdtfYxA5jGyky3rzrHwOKT60PuqAgtxJgVe5cMtHZWZrmeYW0waoUO13FV8WqLM7QhN61D4TiESzI6gRWgcXdgwtK6eEdGcdXZ7uKdqAEboAbBB2SKs6UxosbbpXS/ahp2EQFNtdL75OqQqy5KdwMi/GW5nHWS5AYFEDzTNDDaB3UWiepDnt36DmdQofA9SntG6eUJSD5XvQAXwPRoJEdtMu7a+xMOuVtOTzwk7FoCBDJcHIMpbJ49pHj3vGawJrqFIo/wfqF/Ypz7fSfuUuKFPCgJnGFiHONK1XFwqWgP8f5BLqRFmMR0HhTnYe9CmiuV3sPyW8/3ywEI5PDYTkGQ0TBDDRg1YsYkBNrk9PqdorGJqIh2JCyracIwXtmnQLkBIOA77xHtoMQAJ4J2HHkQPuwH8JtxwDv8yQd6xkkAKAwE5QWIMOmSH35YK4d9AbgHxhagRL8at6N0yYPvGNuNq1zkwxlTwdKZeqGMwNlPlBewgJMJexykx/sQDlsz6k2avGOekjZjGX/KTljABoe4jn0Jwi13vMUBokXnUh2J5LlbIuwN5Tq6QOIarE6rtIIe0oocYl1RIAIpUID4ww1AqOEI+mzFn+omxBHUiwB3iYh2iKjCWWRq9Q6h/t2FQcm2Z93J+lxbkRdkp7pTWoE3inADNBDrfPnBvcAZILYpk5jo3G2dA6W8yetATY4R534BFHkV56S4QgHAdYHVThHyK+06ByojxV0XqEC0GwVepSL+NBqcSXP3uNtRkuFyMlPdl8r7oMDpQquO+xDnBBLXChAvt+nIBoEEdQJkjoprIK/2PiwRZeg3IlXHdB2Sp/J83TJiQAWQvLA7311SXMBpNdxaAgRyWVZuNWJXw7lKDFpvH+CPsmCyscIKjomJzBStHrR4gp4/x2dkS65LfBwrOSYsv4nPIGbQhoFr0KL+4jdhEkGKuExeNKHCJPbl8pvGTChWfExSVpqkgaYTExeWnPwYC2M6aoOjCph0eSJClIdyBuKiiFZWZNLkjzYWx3Ng/4CYAbVVq4vyY/VGcMpBXUifdPTwyGRfgujS14kInP9DeCY55XuS3XIAYqO3A2MMIv4oxHaj122x8sUBAg6ClX23CPRtiUwyRKThCqITM7ZPwAr/jrgKgEHj393tnzIZfboIZYnk8HAcbF9mi6hOiqAXi7gHURUEFCLL5idEHTHOhDbEETEBp5N62h6DwuXoHWIjiDNEhv0LRFCkUaS4whi3TWDSLwIOIYiqPHq4HImOyHe/OIkzt0YNjGok/kJE1CuOpFOARfhSgRZ7FoQFwOBscJAEysB+CHsPiMsId3RHronLLt+NmviIcrMhnycg4kgKOAvA62R9njsrMKO9VsOtJUB8pfNXIPZFYqMvasMQYoyWBys6JgcrFI7KSJPqaKZWR6yKeL9jB1oWhe66WGxWM6yw2JDbubPe1EppF9jnzu5eUUyJKxU/WOnn64RLDmKjH6CtEFpkwhGdiImWBr/ZMOzSpmDNtkrXLPa8S8d6cMYOaSESYGV1/PgxI77nLlyUdkq5VFjbXW1NjduuA84434l0hpUOx4JA8HEcFsnGnm3yCThQtcXGpFCblGw6divPTuXFirKxoV6rszyLRzoAESCUqzN5bt5sspUrMl9k1xARVq60JecRpes8HspbJpFId7fu3tDm4549u2xVGwDSEn7C/jxJAPGEdc1DqxMHiAsdcAx+gxriyERl/mg+2eYwBJo9BxwEGWKLQz6PLY7ohk0+88TPvsT89JuJycwPm9Sxnz4DwipCXCuIpPWbMGYkpqeSsDRtZUl+9i5kEnsqDBvZcBzE47utIhXYtKQsDWk56Uk5KBN7JjiyJEN76quCWFxEXfwDpGgXK5QKQxqkSRkpG2Ipfls+pLXCbi0BoqmpWYR81NVFIkaU+T4yLOtgEUaIHOw7NgZjWnlz1DK/IYacn5QpDYw+yUcBFcQDrNIrKsrsSXtjpNYn7QtbOccIaJeIJcSbvkJuOiiNE069ZLWOkRxpW1wRXVZwGMmx6icseWNPQHrIajl8jTC9vf123gzGdbyr1CFsYaXOuUzEZ6UfzoiCE0CDxjpefUrevAckh4d1D4Fk43BQ1AUbChz5RAVqjCW4DWwgOKIZK3ISmhI4MEDYdARYAUzApEqbmiMjUQHVsH1H40RD6Il1WwCxebvWAOJ//+uLcxc7dViUVsNbbmO2gCRp7s9P5rkfnSi3FTwEh1UuMtMVWX2KkGGYJKoXF5WwKofAIWaC2JOPz4snr8J4gbx50Qrv4TBMxAR4ingikkkSAWUlQYwQL4h0wm9annqx+EAcxHvLEzQOWREo5nzYGMLLj7DEISgy2SAeww+gCo78KB+l9vXxZfKLHp9R8A9lBAyoNMZrQbRGOqHslibtJD/iJDrSCmF9ur69KB/AQviQX2K8J+X7agBEYt/TtrQfC4nFHO/pP9o59E2Is1h40uY97kF9Q5p8CM8+Q0h7sTQT/ULZg3g0vLMxph/4bxRnAPHJhY45bddIvr9RirVVDpgV7/RFg1XnTbqK3DlXXyVFAQiwBiUAwfG+K+KUx1xUN1ANcxJrPPMVSZpEksR5JBVoZS1xy5b7brWAv1GO403mz9WCCAbjrUBYA5AytoMLhDwQ7BAGzhH1ThYCvOP4b8ScIS1b7GgJQHj2erBBwFaCfAnPHGLRwPvET3iHxlG21GLZLF4IEoTHjzRZ/HBkDHYGiEITy064hY704a7RuIpEIgnlnTNuGGM6VGw3ijOA6O0fnMtSYyxWoY1S0O9UOcAEiLRhg1/tzs5IH1ty7OysjDhAsGJCfKKOe/zm0cA1F56Pn+K3UwjlDM9vh9jyeQJbYFz7PRBFiCoEmpXy/QAC0R+2EByRglor+0qcfYU/J/6yD4YmEeO+tfW2NHSkbal9Kg5H7JUKKdo7xMMIjfwgtpwHhuEcLKNdOCSuGwtm7j/AgI59M2wZKBfAMyw1Wc77ShNXgBptlvKC+HtxpL+/GbChnJwdduH8BffmW29ZfIzyAB80nbAEJx7AhYYSZQMgMKRrkeot9g3sq7H/hfiRMBjs/cmf/MmGGQUGEGrwOZByJQGCxqYx6CQQHMd3iFpiPoTjN+9AX74nvsePMAvjhRYkj4DapJEYN4TZjE/qhQv1Y9AxeFl1BQ4iAMRK1Zkc7XRRy3nj/zFYZOzo49sJWI0B3X2KTxzGCY6QYeyYxxL/3JMG4y/WV/eLrhGtPO8d1/cL+yT6oxG3VIBA3fTjjz4SGHBuV5apkEJYr8hYDmtkiCh6/rdEYFnhMycQ0+GHXcSIiDs3vKE4cfHiBfcXf/GPlE6m7jX4r9o/qrTTepubm228kB7A0yVjspdfecUI+YcffGCGdCgwdMhfAW28sCeFgRv7RhjxvfGDH7gvv/xCQJcqbuCOrjn9O3YiMNeHwplwvS4gw/4Se1uIJrEIR7V1u4zbmlQG5i/jgtvvGJPQYE4V/rM/+7MNMwziAAEiB2IUJhCTh+/484EQhWdg1RLfJdbq+vXrdq8EfrBiDBKs/OjIQNBIn4FDo4HgoCfGHCH/sNqAHeM9DUqckDffg2ohcbkDNqQdykpYPpvN0a44ntRztQGC3GDX1YCWJ3lDCP1ewr1El19hHNBXob+Is+YuNi7ZP2CFGcYj5QhlTBwTfNd/IyqozVIX2jcxntWBQFZtP+7DPPDxpa4aI/hsurN5Tf8k5hfCWd4qI+IVxu930S0XIKAXAAWGa/v27dcqPF1XfDbZ7ZFYRdfU1NpxHBirARCMU1bsAAFnK1VUVpg19OVLl92Pf/xj4wAACG5+g6P45OOPTcuuRtptAARGbm/pJF/um/7ZT39qdAS60nqnVVprjWYHMSPA4ggQ7oyGzhzSkRtfffWlOJpc40KOHTtuIi84HrThzspAbnvtdru97vLlS8q30biJ89KY47iPpps3bTxEIhHbKxsY6JdxYKEdmfGjH/1owwyTOEAweDExpzMx/AAFQTMIOgjIBMAvrARoXCYEiI6xBgScTqXDYKmIQyPDDiJX4+Y30oLYMyHDd8JyZR7sFhcCNcrEHHaL8tDpOIg/+fGkfLB3sG+E4zdp8AGBKQ9sHeUkHwCHQ7tsom6YZn94QWhbHM81AQjlYwRTG9Wob0IQsQ2gH2H3TfdfM5HrRNlcpX1RB0X7CEvW9XKBuBsnqj0Z1Fdh8zmiAZVaxgLjCDk4Y4QxjHyaVSeAAnFHNAEaoLIKIccfTSVUVRn31JE54bW2ciwNsVoeP6ziSe5mU5MBCqq/LEiwBCYuq18DC4Um7++iWw5AMK44koIziaApnFVEG8I50wfQGGgI5xupI20s0qa0LTSDePTb11+fNvHT93X9KGIpxgSiJ2gEC1LON+LqUSyVoQ9YRzPmERmFBSXA09TcpPwLLD/CogkHKJDmgGgN6tz0cwAr6B/xeUL3UHn2N27qXCTNE8YjdIz41IvvLJyZZ9DRAvlVi9ZtFBcHCAqEPjjEF6Skc+gICBQNSOU4657K08igKB1GHICAMExWGp8nHzqRit8UWu7cudOBllwrCjjQgDQs+cDy0WBsOtFYEHni48eAoVHpQAALxEc3nQ4n3pEjR0weSWdAADgZkUYHycmTTiff0OkbpeEfVo71AQiJsQQGHLVtR10LILjaE6MyylMgNVdYZSYF99ZWVVWaDn9NTfXDqrNq7xknlC0ABOMFQz/GV2vrHY21Ylt5IjpjHHFHA9xGagwIAIimpmZdTzpgqryo6nKBEE/SABQwGNypi+UhdBACG0sLAOLS5StuUO1G+hyQhq0D4RnrOPFlWwChuUjb0Vc8F9ukDrQjjH9ru6R7xXOEwTG3Ex1ATDzGQFgoQoQBDhsfek+cxDwIz/uQVkg7LCi5mhNNPGxZCBvKRfkJG34vjJ8YNrGM9l3paNVgnI9fBvoQxCEdyrNRXBwgKBynBELoMV6CXaORaGjETzQIRJcJwqocPxodQg1QwH2AlHyIT+MBEKAiYZ5++mkbEFyCTdrEoSMBHgg6oAPYEMfQWROWxgJ8SJNVIMAFR8Jd03AQsKIABOUEPCAAhKOccBe7du2yPAANyr+ZXBh4PGlLwBSCtVp7EORjK2o1EqtwVmEYsjGQsS9AphssoinPoO6SxrgNu4hgX7Ae7QuxVxFtLOqbPRlXcD1cysOigTZjLPEhLA4OAvEQpJvwjDPGM+2sprBJCqcxrPFbojHF2GKc+TSY3H6Skz+OviE+jtVsyI8nCRJ3PdvJCrZOf5bDQaxTEbeyvU8LxAGCAXxFJwJCjFnVM1Fg5yDmsHx8R8zDRIFAsDJiUjEBmBAQZNKAgAe2GiRkcECcgx+Aw0QCIMgjoDsTOXAOTDbYQdKGcIUnoig4lJMnTxonQX4AFlwKeVBW2EDyIg6/iR9WKvdpgw3pTblxPNcCIMgLYhfy5fdmccHoEYBLkPssXnwBBBuQjA9EZbTtQ+MsSEnDzi849AWR28PajHGK6Io8v4tuCyA2b6//5Cc/cUloMUGgw0APq20mD4ObJ5/gj18g2lSd38QN8fkdHH78Dn4hzfCeZ3jPu5DOwsmEP8BCmERZ7sJy8B6XGD/kbS82yZ/Qljyp02pzEDSLsuIvfzalW0rxE4am1dHXeXnVXW4aC8MvL7f1CM18Xbl8twBi5dpyrVOKcxCIeDYjIV3rBlur/NYLILyB0VrVciufjdgCYcG2UmVbLkCwIEIqwKIICQG/A21iXoRFYfgeyhnmTOLvxHhIJticxr4BsSKicha9iemFuod4Ia3v6nMLIDZoz4fBznOtOIgN2hQbrlihb0LBlktMFsYP6WyU53Lr87ByLwcgkBIgpkZdFYDAQhnNIoCCdHiPCJnvvGcPk/ZkrxOiz0IXcTjGdSgYUBfEe3a6rwr65VdfWRzSY78V0Ajib/Y12f/E6I5N6S3n3BZAbNBREIgIzy2A2FidRJ+w34FmVKIGzFJLaX2qNDaiQ7IEUV1JkFgOQLAP+cEH75sxGgCANl2xDm5EKQYtSjTndu7cZVd5Ykz3T/7Jf297ob/4xTtuW9U26xf2mNB6PC1V10ikzqyhAQHOLUOZhXdYQdfpHQo07Fvu3LXTuuOOlG3+5E//1PLciP2z1mVaEYBgwIPsPBlYQU0LwsYHNi4+4JgYJt9cRMgZJo3SwDEBkYknSb/9u+ZoS5wRE7UDk4XVzmpqMaHeek0GjkwgjH3oU+53sImqU0s5/hrbAlRD0fPnlFfC0KF+z2fOtJt4R7+jJYR/qRQaBrQ6oz85XZXxEOqCZg/2FxhDcaS2aUpJvZZzpsiXVSFjByLD6pAjwGkTtKy4CIXyeU2mJCkloMaqO0t0PLcC2aUy2HLgNyh13VGtMlkdEpc0M+SPSiontvryW5M/9A8aUheuXNN1k5MiShWK7y9noV6MfWxGRmInzWKPkao6Bn+6lbZhDqALtREdYkbaIz5nH7OQywEICDgWypzme0cWysTFyIwnavc7ZSdFe54/d94UZV7StaKMwTNnvjGFgY7ODrs3muM1PvvsM13necJhcFemo985QgMuge9YP++WwRr3mnAXNKra9F+z7FkACO5v3nIJHETYpKaxaShc+M6E5MOACc8AAoRhIgcWjxUA6qWEw2YBf9hAwnMkwvTIkJ3smawOnNMKwIi//JnQMzJy4dTPZB2PjCHSLESxp8NlVtZqKkEwYxOK8HzngbfCEl+jmtknf0095cdNUPE4+raZHO2H4wlBWQuAiOoY7N+//4H0/rcZgeBYbojdpNRF0QhDOQAizQXpHBfAGTvNEgXAlkNsIf5chJOjuxE44prjBohz6OAB2bh02zHfaL5xq1e2wnBtIh1IHUn3yrXruj8ixzTiWDHa/QkKx3HgdpxCaYne66atWY1RAQj2GYgTOBIcA7Wx6Lirq9uhO4yv2NWOHKsNgHB3BXYOtCH5YDTHuMTm5sCBfa4iJou2Bl/CHy4c+uSzL22clQqwKspKrL1uNDVbX1XJkhfC06k658hQCgDca/c+5NowpT+D5lXIbjnEeDlhQ/rLeTKn1wsgoBnXrl0zGyfAgP2CGzeuu/379htxN7sSze8O3fPBJU5oNFJeVPQZW5FIxK7krJUVM+MTuy60MOEU9u3fZ8exc7YS46ZU44nFDgfzQf9Qt0d9+5VXXjEty+W02ZMaNs5BQMBbdAkLSI0KKqsuWC86BBVWGp/JzooOAMFeAaIBqoP6xOd3mIRMQCY+nYdqLB2XJeTv/eqPLiVDN4zphq9p3bOaWVljoJEiwBhpue7ScqVbX1TiZlgdym+09abLbdjrZnXmf7LSmdWBdYBKsvTv04vL3NSg1GbHddWo3qcXlrjJvi6lneuyq3e4lJy8GEhsvu5ba4AILRTsCsLv+z3DYoH+5TgOs7S+X2D5h/ALg0xoFc75NoAMltkQVsYbK33iQEy5WAeuJGivLZYW7RW4EogbvwmH4zvjmvG5kFMIYRaW60G/mQs3mmSMp7lQpXsmAAH8EDvxAeRIF8BF/g2nwCVDzBsVxepE0SgvIAeXwXzD4cd8CY7yGseBhyL5Gnk120cpe0j3Qc/1BAjKFcb+wjIm1jeEWcyPeHF/NbhfavnUgn/i+OANAMLhfxW6oxpL5jDWfKzv7t84QNAEGKrV1dXZE2tlkJfByXc2dL744gsDAlZhWFJjM9EiUAEsME5jkhAHUOE9mginTp0yIzmzoRC7P3T1nHEO/Wc+dxlFpS6nfo+bGuh1afmFbkbyxtScXJdRWilAGNdAmbXwWVW1bqytxWVV17mJ3k6XrA2kZE2o7Jp6F5X/yM3LLi1PoFZSIbAZNA6kYN9RAU2p51A2Yf+GCcCTPlhtDuJxmmjhZFtOWoH4MXH5kBafQMhD/fkdJvf90n9QOXiHe1ga90s70R8QtcuA5OltKvwR0nBDuJBHLEv99n6+fvMAYUBz46ZdsITo46mTx437ASRyNA94FsgYEe7Lc0hjIlypNh/37d0TBxXLdAX/rDdArGBVlpwU84uPSTo01sL4W3ICT2jAOEAwgWDTkD8jJmJFgx8aBbBfNBjaBHAXiIyMVRcghPdwFqAuSAxw8D5wHgDFsWPHXJbkzNE7zcY5jHfcERBUiAsod9HbN1xqfpE4Cxm2SXwwp46aFVik6PCsyd5ul7Wt1jiHie4Ol1FW5aaGdZyHxB4ZRWVusr/bTUs0lSFwACQm+3tMTJUpUMHPi5k2X+8FgsZzrQAi5Ln5WmvjlzgRNOhPREw8EX1x3hCc1M7Gerve1AiVuI0+zUPmFJwHc4gjH/I1J7jZD/HZaq1yv4sAsfFH0PqUMA4QDGBkf6z+AQkGKYMSoOAYDVY4kUgkzv6iJsZAYhWEOIkjLkiD3wxo/JAjg8iEYzAjp0YcBHHXmspNDUknWZfIMPDZwExK0dWSoLjETBB29ihmtBGq2aSwAyaWmpvW0eHKBxET+xkp2RJFsKEZHTHxFOmzkEsrLDZOw5Zv69O2j5VrINZrDRBh1ftYhd+K/K0W0JC1+UH7BoAIoPGtwDEP+j6ESfx+v/Ar5b+RAOJh9U58n/j9QW2x1HCkQVhc6Af7sUp/Hjevx42/WLXiAAGXEFxgr0JDMmD47mWoftAmhvEDfl4EEApKejRsSMd/Z0M5lpNAQTvXRvCDHxNJFN8HiHWOSRFjZ954IawCxd4pA4UNCcb89WDzyb+L5bXJHqENedK+ADYiBwCb7/gBvoDwWgzeTdZ8G7a4DNulAsR6VWKjAASLTcoSzsFa2B7MDfaWmBPQIyQW7DMxLxZztDsfpB2kCT0LjrT4BLoW/Nk0x488luPIB7cwvQelQV2Yy9RhuS7Ui/xYjAe6u1idlpN2HCAQCW0RmuU03eqGpWNxPOn8LYBY3fZeq9TpVk88ZC08OeIGRntdfmaRS5rVpFYhUkTcmOAtnd2uUBpcKdqH47hxNADZ+8D4Cy0xGxfa0IcgQBBZP7V09LvS/Cxp/03axjnElTmNWqg9xaGzaf4wt54AwTiH0PNB04gP2mYshNA+w6HZNIEIWvU5q9OhDxw4YHs07e0dJt5GGpEXM6bjHgcuFoLoXr9+zb5zyGejNKQ47w2woA3ZQyVvToDmiQSENuOuCDShaGMW0bQNZWMviIuDsK0IwETZiEc4RO2ohXN5EXUIInjCQmtxfKde5EeZORgS4KJc5MM4CUpDLA4Jh4QH4ES6wxP7DkCM9tCK2A7W5Bri0PdoZnEHBnlRB+rEB6UQXF+fbsyTwlAAlqgkNmjdsQBH2+udd97xZzFtAYS114b5swUQG6YrVrQgASBm56bd9Y5L7ldnfuJe3fuWK8/Yrjslml1dZIdLE0H7j7/4g3v98B63vTBHxmKcTjupSc+qdC6u6ouaZ4Y0/Sory11qepb7N//vh+7vP6cj7icGDEQsjiZ7jrSqAJjamm1GkB5WofUECAgsN8pB5LBb4MpP7psuKSk162oIIkepc5kPN7F16pj/cinQ7N2zx2whOJ6+pLTELt+5eOmiEUIuCqqvr3e//c1vXJFE4VxmBhHGD0LbLmIOoHD675tvvmXqrl988bmOty+QPcuoKej09vZYHyBahyB3dnjVWO65wY4Co726ujoTx/M+TSJwjPqee+559+GHH1ocCDMADbBFlS631AFcbTo6n71dgCVTH57YYxQoL8CFOyWwuYHjOab8SOfX771nYLIjEhG49Vi4oqJiS+ec9pJzpQXIhUUA3FHt/17SQafkgSo67ceFR6T9yScfG5hga8LR+Jy2jYr6UGxL4bzqZof1bQHEw6bN2r7fAoi1be+1yi0AhPgI1zfa467cPed2Vux3ydMZWsUl2YUxU2IHPjp/xe2prXJFIg5sVrPCYw+PVSTiDlaXECJWoNxdkZSc6v54ptkdaqhw2ele3MIqF66DsBgRQngwgHyYW0+A4KoAuAKIGnufI1KBztYKl5OmMbxEq4t7qHkPkf/p22+bVtczzz7rPnj/fds/rdWK/7KuBpgV98UtcSjVHDx40Azn0MjErqJS149iiAfRvXb1mqvXKhtNS8KdOvWpa2m55fMSYSafVnEdHG9fqBvlIiLKEF6MOuH20P4skj0MgMM1qS3NTUbo9+/fLw3P7e4Pf/iDcUGndcxHgbgKuAKA7sSJk7rP+rzuI2lyxSLOadLOBBRYxY8MezMB+ipVedD3aM4dP37C+vPLL790x9UGv/3tb3Un93YZ/e1xP//5z+xoEriGgwcPKY1hu2OHBQJ3laCOPilO5Ie6sY5xc/XqFdMyJW0AgkuvADXMGwAJHGk9NkBAzBhUPEG3IANkYOIfWBvYFtugVhg2ljGKQ2vJthA0OWzfwIr17T9sXiuAxYm/JT01GpvbODa1k8VGxfcw4gFjXxQeVi4Y6JnGlMqXok4l7Qc6y0uGfSrztzSjSFd5h/onqaOtvKoY35fjKJ/4RBsE1jYIHpQGhGE19yBmREgGolOua4ib+CSvULasOuNO5UqekIyUeoq1nspEJEmz8QexCX2vokLkstNcWV66XcsZj7/1xVpAQ8X6lraancOGxMuqU5Lm2X8FsYubWG2mChjgHAgfd/wgITnaH/Bg8o9PCjykSs51qGGBQRiCoghCf1p/4fkAt54AAfG8KjBAlIaFO8SRS5hY6Yfb5RCz3JX9Far3EDNWxtwOx6VhEF7ed3d3+dW8jCQbd+40q2lW5YAqYjziAEaslKlvpYADjUzurcGu67wIN9wC7QVA3JI6f6G0M7FnYaXeLiNQDDnhdLgQjfQqVR4u0+qWISmiJziSQ4cOG7ih+EP5+CAyG5fdFkalxSorIi9EPnzIi3JhJsDBgoBknYCHaw5Y8XP/DaK2D3R3dtW2KhNhcbMdnA4Go3Ag/f19Arta43jgLmgTAK+oqFD0b864B4ANbdXTp7+ydsRynPu09+7bp/rcMJEU4rFPP/3UAwSri0SCHog+xB1/PgzEMPDCRgiEK8jEYGnRdkK+Rzg6g0rROIRH+jne2eYmZfeQG+HsEwbyrPPqq5WMdjUwBF7+SjdJgx3wgGhODWEQJ2Onim0GLkY8VdkJGcah9YRtBDYROdsbmA33DH/TiFI+ANDUsG5LUxkwpBu9fdPSz9t1QOH9hCMdD2JKQ+Ww2cVbARFlgOCnSSUXIz7iUE5ACkO+8R7ZaKieuZFdbqT5qsssp6zavFccazcRfgMz0o05r5WlMIAlIKu0JjH+G9NVn4N9Lru2waUVe62y1QSIyelZ19w15i60jbj+YR2Ili3ilEL/+GZIUt9WXPnMlZz9yPXvPu4u73tdEzfFZWeo7KpLe9+UKymQnFar1x0lmW5XleS+aff2Q6jzk/SkX6dmtTBRnxrxVXsxT/Rr0WrSnn4usSk6qT6PCnAztACQtp/GOY40mchYgduwVNpwF+laVLmxCY01gXi25Myp9BHH2Hi9fQBlJdx6AgRtE2gK7Uj9aErahEVIKFtoJ/9+HhCJgyOdD0VEAcZDhw6JiyizuNy7DkDQO7Q3tCssaImHyIf8+ZBnUMzhNxwZbR16Foph5SUN6Jv1uzzVX5QTx54CF27Z3e76DY1knJAnABL6jvDkRRrkC72kbISnTDzxB0TgDAAlOJZs/SYcoAE4BJfYDqRNfPKE++RJGYgHICcqAfAOuk19yfenuqPbOAhekCkvQRwigc6or7LBQQTCkBEVAeFIAIRjg4d3gAzvEVeB+L5T/f0NbJSYHcStGxr8Uo8VEQQcUrJyTJU1raBI9hHDRuw5cmNOjZdRVinDuC7rkCSh9djdW2YMlyXr6/HOu5YO6q7J6WpA2UOMd8pI7+QrbrxbbBGNrXfkBdGfFtuWlqczd7QaGWkSeyggGRURz9q2w6UXFFuc2Umx7DK+43gP4jFJU8XeAgDTAhY6HiKekp3n8ncfMGIPyEwqPyzCo3dvixvJdsXHnzfjPVRwx2T3kV5SbnYcM1FdwFS1ndFuthypSmdS9dOocKkKO6sOg5uZnRIR0HfyxVo8szpi7b+aADE6Mes+ujTo3j8/4EYnZBEsWpWRKr377BRtpM643KlR9/3f/ju3s+OM6y6qdf/Pn/5bbQymuooire7GZl1rr+xgBCileanu6V157pUDhS43U5P7CXdT4qg6Rzq1atc91FmFbmBs0JVmF4uwQYRihEsUJQCGut6ISlKSFlZjzW586CPn0k+61k5k7iMGBGwScoMfK0Jk24AEc6tOK9TpL6+46DfX3NTrR91wLvcwp5kFekV5qc3HlWjuQIQN8FYgQYgQdAGiBe0IxBBiRR6BmK1UfitQ5K0kYi0QvzCI38jSWP1//fXXJtfDKprORDaH7A52AyAAAIIlNcfyRiIRAxMGAYCBzA90Y8Ppj3/8o3vxxRctfoYQOCqAwGIa47iSp1913Z/8RvYLBS5VRm7R202yghbC6XfhgRNuTMZ0A+e/tKM5cut1sJZsHAARCHS67ByGLp9xOVqtj3fpkno9OZYjOS1Dx210W/Wyt9d7AzqstLUi5wgOM8YTMMElTGrFP3jpG9liFFsczm/KEmcx3n5Hxnc6BkQcAOlifJclIg2HAqAhxoITANSGLp+VtfdZAdNLArNuew9A9H7xocsUwA1e/Nrl7txn6WPLkVu32/Ie72gz7gL7DfLFqA+jwIJDJxSvysB1+MYlA8y1AIjxyVn32fUh19QVFeusw/Em5lzv4LTbs11aGgKPjDndO35TdfnmY3ej4pCbful1rcQQf3CyKathNbkIIRzEbnEPu6p0HtMTwEFMazMZ4p6SdC/YqcYuOj3mBieHbCExNjPuMlMz3Pi0rKDTtEjIkGaSmqRnos/GYnFGoctM4YbDBA5iVhvP0zqbLDlHbej3Cyyw/iB6AnRwiFvYqEzT6nUuqqtNR3RmWaEWFOKwPYFl89OvPi3CY/7ZAojHbMAnKHpczZXVPpbUEHfEQrA4DBSIPJwCKI/MCu4CS2lkbgAC7wkLqwV4IGNDdhfYItgYOBDYvMBBwCGMtFzTKvyQOAlNIA1uO2tJnAAiFlbvEGdW7GNalUOIAQ3OYZoeHTKCPi1iC8GFoJvxHWyRwIPfcBOsyOE6sLbG8npam11p0krIrq3XhNR9xDqSY1RnPxngkK8mJJyG+Hov5hEosHpHZAVQwZEAKhwDwqRkzwFQG7xw2rihvN0H9ZQxn9qKeg1c+Mriw42Qd4a4CDgbf4xI1EAta1tElEBiJ+XL2VTUjzLkNu5TG+je5ytnVY88l1mz+hwEIqb+4XHXM8RZV5A2qcyJmKUk+b0FdbBLCZwNwkKxtrDH5mgPvWcMIQrJy0rV5qpWtxJ5QOhshah3nFOEKIbfYbVIHP+h6f0Kk+Mr1tPNaG+AD5g3PoNuuvTgk7Xa9ZW1vxJ4uNFpqTsmefFhRoo2ESVqIt6UQAVBRFqyzi6b1XhWHYsEEKkCGX21uUI7eUcu4TtD3n8nTnB8D/7mF48i6JqPGoI/9nMLIB67CZ+YBOIAwaTFkpr9AjZ5GCQQdog/XAKbJIiJIPw4gAJQAAAQJ4UNHURRpAVbSVhWNgE80uTPURsQSkAC2T9nMDH4ObnVREwQdgENVtLsLcwhahHhtIP3FM4IuVbvdiqsygbHgJuW+IbZB5DALTBzED2lwMZC+Bc4k/UP9JkYJ1NHfgA2lIHjOvjOWU/JEvek6mDBKZWFsiGKSlKe5pjAqs+0VPEQTSG+YlXJngNiJkDL9k4kSgPgABdAEG4FkKOs1J39BkCBPY0ZcROADocZzij8wLkvTXSVIfEV7bqaIib6u1O69xPKF/1u5BpZqn+PNsrQfAl9CJGfUH9wwByEy+SXInCUDbGIHRMu0JvVxqppQoiAQcNStNrlpEz6Gr1+QAC5LGkQloPvcA11EY0b36fmsQ5/IPJwDtBhSfet/DMCOhXd/CgSdYKzSNXmsm8vfL0jPm/ZhOYdnyBiIgRtjbuH6JvPxviDrJ/9jJUq36OImBgX4RMWFPy+n6Osie8Zr4nx+E0Y/AgX6jb/nfzm+yQxLfJMTD98D2FIExd+h7SDX/gd3t/PP4QL6RNu4Xf8cCGtxPcL/UN6FuER/8QBArWn4EIjUggyoXH5HhoCv5A5/onvQhr44UI4+64/thELIfUvFcAPRAtPnFjaEFe+m0vw9x4LGohpS3axcLFIiq6O8xmFaPNPhQVsiOc3sUnDE3jzV0gf36+O/TtPFixN8pNbWG7zpNyWvk9TFMLymU+fyLQtg1VlkPPffXvrh/lbW2myzmkArjpAqL17dbz36IjAVQ4ggAOwjVMV11QMpWHRLyUE+hQijnZNgbQ6IACAA8252csoAABAAElEQVQPQPAdgkgYRCOcaooqJo6jt7kbgnhRxePmr2HlaSCkBHZsrzGZugVexz9q9SXlnkj4lxRBgRgzpimmPGizjeLCdGOeJ87bxy3fcgDCtw0b1VO2oEDNcu/evVYEypUIrpSRMntA8/eH4IdkA02kbdu22QKXxQvpEB8NIuYSC1/yIj0kH7Nw8pqPYY8kAEp4T7rE4z3x+GAMx94QUpfgR5iwiCYuv0k/lIt80VJiYeWN1eZsgc17DPp4sjfDwpvyEpc0SJ+8cYl5BZVnwvOe/WDSJX3yCnEs4iP8iQPElh3EI7TeKkZhEOB4MlgZJKvJQfh80N5gJe81Yzy6zhMxxCJMRv6xKkZ8lLh48GqxgGhwfiJ5ggPR8eIVLuwhDZxNOKXJxEC0xT/ywZhoXgzj0wttQthEF/zxW/guMdxG+U55qf29tdgopfPlWMl2XA5AILJGxRR9fTSDkE5A8EijWgS/u6c77ldQUKjvI7oHZMxhMIakgzGIMdy1a1fdW2/90ObNGdlVDEr8W6jwLHzQRkKFs6mpycYk+66trXdM3ZO900uyoUDMniqul6tKWTx7Yp1itgpdUmPldF2M4YLkpEtEP0d7s1gmV+lmO/Ztb91qkQhee58i9FxM1SFLbxy0ljtVeAIAPaoTEhkObGQ+IMXhkqPDh4/Yvdmcos3lWNhqoB7Loamc9ss9FrQBi0zIBX3GkeXcnQEgYmDI3TyAyKO6LYB41JZb5XiB6PFcC4CQPEz5SDd7rEUiroiIvz/PBTGQraJEsHkiKmLAM5ABrdY7dzVoJ1x93XZ7z6RhAlJmNle5FKi8HDVdTUzFZUJExUW06QRTDHRKZGAEp4E/YqaWFnTCs2XtWWJ54I9jVRi4GQ84fkLgRxuh7sh3e6fw8wTYk2HAjDA+7vqSZspJ+6xvKaxZF/0DoVnJdloOQHAV6C9/+UtbgGDdDBG9GLMCRqsLe4dh2StgA4DdAteQQlDhFlhAlevyp2FZUyMVeOmll2xPlDtrGLM8sTNIlyIMXC32FnTCD37wA3f6q9NmH4ChHJbPlSKuX8uqGK1ORKr7RHQhtlhhE480AK66OpRxho34c7EWdS0tKXUvKu9vvvlaHEuNGe2Rb5XK+MXnn7tIXZ3DruLFl140GwhuT+Q+FZSDsK7esSNiqqzfe/11A6e//Mt/b+DW0Nhg/dXTLatu5UX9ibtr506BR73VAa6hQYD3kZSDjp84rmNIDlo5F+3oJXhuAcQSGmk9gqw1QMxJo2Yiqms0Rz53M2kvu7ZOqVfKYYCTow30DBFxVkMQ7MqKMleuFREiprtSSiBMqVZtgAHnz0DcAY1LslCFKHNDHVeVFkmxAavO3t4+7WkNCgDgKpJN/FQqS1LC3GlrN/Ya4MAQqbS02MrR1HzLbpaDcAEonqXmsELddMcejvwpB0QXcABQADFEABAOjmBAfFWhC35Md95SXfs/lA1wiNtNrH0RHpojC4H1AgjsqCD6EF+IOgSaq20BCpRjWNGzN8o+KUZu/QP9pjBTVVllIh8slQEIxsLzzz9vHAaEd0YLFEQ/Qalmm0RN7TJ24zgNwAXwYJxA2NHmxAiP+6npL/oKTgabA9pmTPunRbKo5r5sLKvhFBobdxrXAdEmvVLNgc9OfWZtzTjkOBC4DOrDyp4VPuUjD8AMjmVQ+7x2Ba4M8XpkYoC1OAQfS+wCgSUAc/3aNVe7Xbc5an4hTgomCXAsHLExJg5j+3YZ2UmhiPS4khVwelT3WAABEWMVySewpDQGlYLnYdOXzWCuEKURvB+WzxJhCPkWc2gwafnqw6tjjAdUQOTx5vDDKX0caS3qyF+aRogsYMFMQ0gbwWyAQ5Qe5kwrR/FNsynkSSTYOZWFumFnYV5MKOqcGM7ePOCPymd15Ul6yovN6VCftQYI4yDmxlUvWZbO5YkVp7/8XkTYsLRVr9qO/QKsWykjZ7vQ/+j9G6ch7oH+5zuTAVsSCDq9xYSH8LCfwSRHjROOBAIP10E6DHyuFOV2OVtZyR/Hio949H7QsqK5AyHDn/LprT3DxGZcUk64E25+C7r3CrguTkUx0RzlDX0cVuyJv0Ph8Ev0D/XhfZhzIexKPdcTIBgDEGMAHnCn7vQrexLI6CkbfvQ7/nwnLAAS5Pb444f4h+8Qbd6RHr/5DgARRgmYPyDEPdakw7jFkRccAcCCsRtjPSw4yJ/FEmJQ7ihHDGVll4gsXwshygXnw7lHHJ/h7ynX+UsqA46wEG4rg36HJ/VEfEQ5yZd8AA/Cs1/H/p6VR+/xpx6EYc5RVus7jXnmCmOd/IweW67L/xMHCBIicQpCglQwfF/YKWTDJgjvMRPH0aikwQqAy4HUoqai6q2fqz0oiIiMNF2JWTuLjZUGEidP4iDEaPpAmKN3WqTmWuVVVRkIYvEgvqiMpkvjCM0m1GO5Qc4IhuKag2Lg9AAYMFwDmFJ19ejIzUsWPrumzoOWBoPJ7lQHs25Wff3GuOIqDppMaBVlSN0W2wl5mhaSDUhZb493tbu8nQdMrXVUth2ozzLYIPB2/IfSsONEKL+IP++wug53cQMKZteh1Qj+E7LlKDr2vAcaVYF8cDwZLLT1au5BWGZr+MfXT70U67I1zHpds6Jb6U/1rJ3eyaSGu+EYBAg+75j0yNX5Tjv5z6xNeER+xOEcIBY6nE0EoVpJsDAiw/hdoc6hvBBACBkLSNLnGcAaf9xK5WeJrfMf6kj/UU/qtVnrFgcIBhlqrhAhUBRiz2YMltR0MASKytLRAAhH4FJpNpSQ+6E1QBo833zzTbOEhtCjYjpw/guzA8iujjiMvzKKyzToJROWSipEHw4jXcdXjMkSmlX0pNRPIcppumOalTkGbalSI4Wgon7KJUIzOhfIbpdTWGwMUEXlTmostFUw2SCUmgqq+EOWAmaRzdWlZpCncln6Uj+d7O81rmJO9UrV6ZAAAwCDqirlxyCv6MgzBiID57/SvNbk1so3Kgvq0udeN7VYwCdZYhisrTPLtgmYtFlGnaTSCjiN3rquZ75UWrlatcjNCfAwFqS8TH4AiSNDio8+ZwDC2PYE9MkFiHWev+uWfQAIxn93d4+7Jpk2ezVwWnBGnD/ECa1dEjEw7+CwSjQHIThwQYj5wFRECxxlfejgAZujzM2VclsAsVItufnTuceSGmLPeeicFIgcDUtq2DHAgN8ff/yxgQMAgiU16l3I7vzJgFdNFsgO+70Aker6Tn/s8vccMsKOlTNEmiMmIMYQX7iCIVk02xEbiJg02IsOPW0WylMCgIrXfuQ6fvu2GZ4BEkVHnrWzjiDMmaXbjKAj7il9/nWzj2CypSCikB4/4io4E6yt+8+cchzTgfEdIJK366B9n9YZS7niBrJrtDmk+63z9xy286KwcQDAKGOyAKP3sz8IxNrEATXq/Kh2Awju0KZ+GPZx7AZGcsPXL9hNd9hxAHx9X39iwAdRgIMAnAAIrK+xzEYMN3Dx9LoDRHy1uvnH9YaqAdyshpstqAJA8JsVZlhphgKzmubj/QUaCscBcNY3Cg9I2MpbaSLe8GKOlVvtU44tgAi9sfWMcxAMQCyp4RjgIhikcA2sYhAn8ZuND+RmWFGzYcR7AASAQMUM4EDex4mInKUUbW1GSOy6P/6Ny5dRHOcVcVAeox6CblbM4hgADOTxiHRSkDNiRCdrYs5MMotlGc8BDN7KWZyMuBvOVsJRrhQR4hlpEhQcPKHzla6ZqCi9qMTEVExIOyBQwMQhgZzvZCClFT1sPuIdfmfvkBGgiPzQ1Qta7efa6h5REWdBURY4h8EL2uwSYUf8BaeSv/+oEf4hWTynF5Va+naWkiYx1tvZVdvdpMCHc6OyKqtN1IRxHG2DdTXHhGCtTd0Gznzuik+8sK4cxBZA2JBa8T+s+IOYIQCEqfBqHojmyyb7Xkd4GF+c1jdxbpLf+mkcBE/S0mknceDxfhrTBJQLwERaIT3/5sF/NzpAIMWgPR8mW4c+EW4p3FUAa+ZAENnhF/qN5/0ccWizpeZ1v3Q2on8cICC0N27cMHERxJ/GARxorKamJrOk3r17t4EFDQEY0AFGoGOiJ77TWAAGxDXa2iQQGDH5esG+o0YMIfgzAiD2KDjMbkZnHiHf5zymyYEeA45kgQYAQhqER3SDNTLhcNMivhZG4iY4DMQ4dlyFNnWYFgsdHAQcC2c4IbLi/COOtqAMM2LvEQelaGUPmAFa7En401qVktoBsRbOxFGKb9bb8geoNCrcrEADrgXCn6Sw/tgQbYgrnWkd6YH4iTYD+BCV8Z66ASp+v6Nf3M1nrvSZ1+L50o44nvQFbf0k7UFY5b6Df+hW+hOAEH/gxqb8WVYAAQ46xAhO10GJuCmdczU57Yk+R6njCDoxpTGhd8W5UgrQtNBPbUxqrOjlmM7V4iTeNKUBgHDoIp+luvUECNqG/HHMGdrDGxX63/hzqQ0SDVRRCcMc4cN3nP/uZJCmOS/ahKQj1D7WzHHQID8cB5MCOGgXYRcBLeP0CNKEHkIHw1xMzAsDOxQrcBwz1NBQf095ST9weRZok/2JAwREPTgaB0dDhCffgz9+oTMswII/9i7Waay8lZAisGl7b7qEC3kgf7VNYnWlxaezSYPpoFEf4pKVxdFrVkiIbewb4fks5kiHgaA8fBw/mCxtK5v3Jyppf6tuli5p+PaIv7fs9Ic0bNrG/lLdWFkoH98tiEL577F04u2hskll1DSY4vF8GMrDINsCCHpn8zvGAf0JQIi+uyGdhHuuJarLg9AEE2et/q/WCbn1ldL8U3VbeybdtfYxC49HusKMjrN57Vxhboo72ShuV35jQojPro24cT31094DFId3SFe/UpcF6QBG0luKW0+AQA21ubnJNumxb8BmBCO3EtkWIL5mYfr73//OPfvscya9QJqBFAPJBRv9KMlgi8M847dpv+k985+wPVINBTQAAQh3S3OzGc+hEQSQTKIQo5bi0h5UY7nvAZVaAIk5yGGkLNQoGxbR5HP9+jW7bwItKKQtgA1xkLjQ1+SFZGYzujhA0PBUdsttjBYIwLlWAGGES3+EU7YyZbFq90HQHCJG+m/+DBFGCStbLqbhiG9WqltuaS2QCBBaithqH5CY0mGJvEvTkh/NXo5Kp1WjIvJjOk2XtYm1vTynxSkAMHAZeVlSE9b+9IT8+oZ1N4nC0S/B5WTKzkSfNPktdXqvJ0D0SskFQzX2OCHALbIxYEMe4zHsFl599TX3q1/90vZFIchciAMh51Y1bGsyZMB2+9ZtAwOuHu3q6o6Lw7EtiEQi7q64hKeeOqn2TXKXL1+2k6YBDmx4PvvsMwuDNTThubb0qZNPucNHjhhHcerUKcW5JBuGF0xSgup2s6yeGxt3StJy08CnUjYZABXW3BwTQl0o/2akr1sAEWbSBnuuNUAgroDAdAxMuba+SVck0UWZ7nbgqG8uBWI1OjyOnNU3VK/CcrR3o1a628vW93C9DdZ1DyxOIkDQmAAtoiGA2RBBBJ6+tz2KWErECY6vdIFsDA0g4DhIg/4jCUNyBSCMxdMXOIoMAQ9xQv8R9H5uPQECovzer99zR48cNSUZQALr5lShJiKc733vdfeLX7xjx1lQl1u6KQ17B8TfrVKqQeMLUTkLXqySe3p6XUQEmlV/i6yXkRpw/eb33/i+2e4YQMgqu0N3THMjHNeNVsvorL6+wcLTD3AXb7zxAzNM49gO7nd+TkZuABdAQNq1tbXGScDNcH0n2pxtd1plnX1EYJVvFtWJEpj7tf1G898CiI3WI7HyrDVAAARfXB92V+6Mm5iCVSsr1f07pIDQNe5ytVLNz051t7snDEgQgeTpMqEjkWy3p8Yb/2zQptxQxUoECNF0Xc4059r7J92wuAj2C9Tk1v7poubsG0yLJeA6WIABbg0w4JknDmNbMde6OgdY941ob08IAdhIgmL3Ug+N+ePVcwXwNaU6ODFdG7YK/zC3ngDBNZunZfnMaj4SqTPRULuAgUP2mBOIbsJ+AVqWqNizd5Cl/UdssfhuRpgSHyFKCjetIerhGtJLly4LfJPdM888Y1wGR3sQDxEWaWCkxyGS7D+w8icN2iPYbHA3NbYoNTXVArA2SwOxEvEIw4fzkKp11hNgwflMlAnjts3IQcTVXFdaxIS8jg6lgdE68KsiWeGqARMbisbHhY7gXSLS0rGkdb+NHtJNTCMx7YdNhI38nnrheIY2WM1NaghPhzgHHKIlfneKm2gQEPAdwsJq9WbnuIk89goUCMelQHAYT6KzsaXxxzlOLM3TUvz5VIvVlbCxHlM7+fbAz26Es1V8uE5yfg9idk77CeLM2nRdKwSe8CbWU0KIiXLUrmpy168b/aZF/YtydB3kJJyCrvNVvBMNugBLWXHj3w31CyCPOCkdpFEaiJvGJmfECaa5HeV+H2KjAwRzHeUY6AQ0gfkcAAu6wIf5ED4hjBpvsW65xw9LaAg5aaCNyQkBHBeDIx81tblwvlc87Zg//UO+PHnH/iLZkh5+OL5TBzgPGwekG/vEktlUjzgHgWEciEfl6BwqzO9gMc3v0Dl8D5bXoaMg4HwnPoiJhTWsH53Ld9JB6wAgwtHAAAefoDmAqixnipAO6YU0ec9KAcc7ykc+lCN0eDgDhTITD0fe5Ev4zeaoG45naNfVBAgmCmb8yHMxziLPyakZrap0L4ZmDu8x39coUKkk/9amJ2caoWES+ouy8s9PEE8kqYM/qE9aILF39H18Uqma+JMWNWZSMSa4PIj0uNidc6CQ9Ya0mMmmNSYPjkCAijIhrcn0B3EEiVFe/Dm2g7FAenagn8KbZoye6Qo7KqtlHMchcFCglVPaKaMTOvJBmmmjUkPOlh1MflaeAFEq3yoAYTxw+DJPzciWJTrkMnUHSbY+HBcCyRmUX3Qi6mqKq1VHNGHmAYJ2nBT4oqXEFa/BBUJFlfkeo2HhtYmTABKAWQ/dYkff+D0iAACCRPnIS1/FmXgtJjgPfj/MBYJMOivhIPjWp6oQfU/6PJmX5MFYwK1UfitR5q00fAvEAYIOu3LlinUkpv5oNWFJjYoXHUyn0oEQYDoW9ouO5Ux02LH6+nqTuzEJScvYPD2R3yFH5PgNdv7JgzBoBaA+C8t49epVd/ToUbPkxigPlo/8ODALhzEelxVxZzaAgLwRjQY+lAWwomyUm/d8J3+AijSC1bev8ub4SxvheK4FQHAE9522u7oTos/ak36G1d5eU21PSBXtTVtzFhMGW9z1gNUvclgOwevRIXy0Ob8htAADRBoizwVDubmyTo+dqRTYcp7cEVEkkQKH9VVVVuhIZ1mci1j3aVwxxjhDiTEFm86lQ4QvKSkyq2LKiAMECMORyT6NHvsNEDTU7XB3dHosIGRnPbHyY3mttq2t2eauXL9pdSqUrHjXzkY3plvkeqN90gzSYWwZ+cY50BujU1FXpvumGV/TAoCJmQk3Ni3xW1qO6472uixdKcrFQnbuzsSIy8vIE/el+aLb6IqyCiQy4niXeYAgnY3otgBiI/bK+pQpDhBkzymGwZKaO6jZFIJYQ2D5/cknn9iKnM0ZVvpwCGza4PCDOKDaBXFh8NfV1RnB5ggP0gVUMMaDaENECA9otGjziO8AEps9AA6DFOJB/oAUeZE2q2jiAEwABkZ5gBnySAgIQAUnwkmH+/fvt9VsJBIxYmEF3SR/1hogACHalvPyOXyM9sfRlxBfjjeGuEKEKRsrc8JB+Dk5M0+cIU9W79MCG4CbMMQJK0QIJ/JbfnOLHMtjiDbgBK1kzJA2N87BsUTV98QJXC3kFMAxjkXxGDOUDz/KC2BBgEmLJw71xmyBFecdhfzgkro1Pjh1ljEGiBCHwwEBIwNlEXo4hCAmIMGe8T43oVNvuTo0LVkANt7vSrJ0N/rUiKvN3mZhWbn3jAlIUzNd93iPq87ZJoCQ7Qxq3lY/DxDkZwWyJ983gIu1GfWGY6O8K+G2OIiVaMX1SSMOEEwKiDfEmMnG4IAtDGINJjWEGxERH1b+vMcPcGCVj54x6TBpmcSACkAAYedOaojGhQsXLG2IPGmTH5tOpMFFHfiTN/HJE+KAvJD3nMXOKhbVMQCAdPft22fpwDmwuiUeZQBYACTKgngKwraZHHXA8aROtEPoC77jhygNcFypiQzxNpGRnrHsjdKSPh+In2i+6Cw6/IECK4jKGegdP/iNDB0/S1Nh+eXTkKcc70gL5xfzpC5/5cNeh0+Ft5TJ+9svyqYvIZyVSn5IaPCzlwSUI6SVAm8rA2H4DpEmFf22cnoRldXN8rZX9/whLbgGUvU1E1jpWtIUEX7SAwR8/Xx/+VKqHQQmVq6E1PwYlQfV3GhOdaEJsDtaqeItFyDCmGdO26JF4x0bBVtYaDCgIYRdAQuE4Eec8B36RTzeI0mAftAH4RPCWn8pHjQC+wsWmMQJtIJ+Cgui8H1hX2607lvp8sQBgoZgRc7qHkJPg9DI+KM2BmFmRc6Ki46AMBEGx+9AtHgCBKEh+U0awY8O4x0dETqKNCB2YTDQweQTOpAnfnArDDa4BvImPqBAB4c0SZ+0+FAu/Mmf52Zy1A3Hk7rSjrQP7RjaeuUBQpuasuz1FrmsqufbjG9qRpchOTa0Fb17ikj5KOk9YRUYeTd6+mxwI2OPE2TIjv5DjLOkVUMavCdccAAEeWEARuITehfk8PLx+emp7nWZyoNRaHJ8heO9CmOBApH2Xt5mA80g0pqQ3B7tIBzyfNLBnsPim+/Wn5VqgeUABPMcYEA0zZMFKOAATYKI8/z0008ksj5ui0vmALQJGsBik0Ujm8+XL1123PnAYhbRM8Z2eTqMk0UtY5Z0oEHMJYzfiIfYm3fEoRxT2n8K3xFtsodKHOjKd8XFAYJGDC5MdhqL70YEYt8Jg1/wD3Ee9kxMc2HYB71LDBvKcb8OWqxMIe3EdDbDd+qK47kWAEFuEFk0Zq7eHZcG06QryBGVlqYN7yD2Edk7lOZL5CMCe7N9PK55QzwMsngSGPuIfbXZplGD3xfXddyKnlYXvSetOmnV1Er1Eg7jjqyFr9zVXgIZiUJj/LVD7yoLdQS8vDr7p0xLB+LNxixaO3nKr64i05UVoByhfareSdfcxbHwHnzwAyew38iRSmi6qrJrW5bZd4ALF1ujph46KtuO/Srr9tJ0hzoocVbbAZb+BIDVzunR0mfO3G+OPUqKywEIiP3HH33kKiV9ACS4dwRjN9qrokJKLqJTH338kaurq3OvvfY9U2P9VMZr586ddSdOnLRyTwsskFxEFIZLhbqk3sqFQqTX3Nzs9kgCgciafU0uJ+K+kjaprOKQNgwITCgzwNSnfTU00QArrvI8fvy47CvmT514lPbYTHHiAAFSblZiupkafKllXWuAoFysqEekl98vlcsJcRKsqBEVQcR5Zovwo0bJYr93SGdkKfyMfuhhYeEKiJclQlsocMmUppMUoVz34JSBB2mwqodDKZTKZrGOiiDuqNQzh6ISC+iYCFQ0SQe7C/LCjehoiegEqp6s9r22Dvsb2ALkZWk/Q2kMKj5pUGZ+ExOuBIJPvqRJngAM9eyR7QCqouAwQFio/NDMUrBVdeQH4FOujTrfKF/gvleiMZYDEFhSc5o013ti+AbHzE1sUzq77MCBg7bix5gN8fULsmZGSeGixNYoukDwSyWiZu7AMbB3CuFvk63D4cOHzcIamwquGGUPkyMwvpHNRa3CYTAHmBxSuOamJltonJQFNWBFe8A9cNc1UhTK9F1xWwCxQXt6PQBCtMsIJkSM74kuEE4ILQ6QeJAjHEHjaSYEpm6884ARyzPhPV95H/KC4OMSs+Q9zrh9vSBM4nv/9t6/9ytTyGstuIcAEAAc7WBtoYwTwQK/lVzBJ7YCaUPwaCtrQ/Lmn/9hT8Qr6wUQiFE5H4k9zUhdnUQ6qaa1RvE40mKfVvEDEgexr4ARGuJj04xUnWqk4ELcvHzd/ywAuXnjpnEiEHT2NyORiBsXoDRKYQYOg31NRNJff33auJMKcQ+EQwGH+pMeHAfxUdU/efKkiavI87vitgBig/Y0ExkHa41Iwu9B6JIhqZWu1h6Ez8+LFS3zJf6JE5slhv8uB6NbIdDAGSq/wyPDupDey8NplyAjR+SbCBor1WYQ/34dNQEB5PKhfBFTbqdjhY4lMf7rCRArVc+tdFamBVbNkvphxbNjv3X8NfcncFQ3S1eOwDbtCRkU3c+htsjdERZOaonBmT/xY2kR5lv3SYfAepI/eUKIucJUy1kZZ0kTRZteD3OJeVGORGfvtLllSzGWZUo/fg+2X6YlBr/vd9KhPfxH1xcqnwmpg2ZoEq8GQExJfjMwEnVnm25JJl8lK94MqaxKpVXgBMGIr5pUJVRTUSKgHB2d3fp0uYb6HWZLENoDNVaM3VinciSyV/PUJrfKj3Fby21/GVVpiW7dU5tDDCFOqJnyHZXZ4eFRyYrzTSXWDOdUFgzXMDhDFZZ4XGLfrvxTJXuqkHiBzUr8kV3zJJ32ji4RvwwjxKRD+dlshFCjqkt+qPeySsURBlC2MsmTcHzXH/WnAuhBe5i/fvCd/C2MpXD/PxoOFo+EuiVOaWm5berdyMGx4cjNldqwCPeJ48e0qi23Nrl/ast/g0rxjaZmAwPsTTjxtKZa8vmhEbU1QOXvFqcvllKfpZRgOSKmpaS3FWbtWiDOQaDixeTiw3c/eSbteyBITASIBQ7tIRzhYQuJwzvCEo7BxZMVESwa6fGOlRGDjzsRBi985XLqdtsdCBAWbnrjop9w1wNyg9kp6dHrfog5GRxxjzMTdKT5qi7b2WnXgnIXQxKTXc/J/h67Y4E7IrhNLlX3TXCEdpKAhDshCMc9viTCPdfRtlsus6LabpHjTghuirO7H2JEfVZ1SxaRAWxmVQ/CACxcMjTe0aYLkGQdq8uKACIuEuJmOPIavnHR7oLI0SVEU5KF+rssRFVETMKx5txLAQgYtVF+Vj7lRbvNqGzJssYdu9uiOun6VV2i5FSXufxil8nVpsqf9oQArpSa65Ta9tzNVvfBucvuz549ateiIt8lDxx68WZhLcLPiZm1NdVWjpvNt6Sm3KMD0WrN0C2sQCHiEGGcJ8ZebFEpogcos4pta2uXbLdcBLzTNh9ZyVZUeDVngKdL6WLIhpU8dhGMMTYQ7SJ4rXzhpliBd3XpRE+Vn43HMS06sJaukjYedhEBIAAFxiHh8vJzXaHEC4zbnt5+Xfk5ZkCIJTllzVT9CGvjVGlFZZgH4aTcE7Lr4B1pD0izhTAV5WWuQOVZCkFVEjGA0H4NY1bjqpeNUPUphoK2F6g2q9IBcrQH6a+k8/NaCyI59oMoM30F9vE99B/PpdRnKWXbAoiltNLGDBMHCIg58jcIPsQfQo7hGpMOmwIGMAOG96wesTGAOLE5xCCHkAQAQK5HONTGsFfgHenjv2fPHpP9zer4gqFLZ3R5jy7oEVE14itCzHWcRjT13VbjmlHcwgZ4cD0n909zxWdW9Q6Xp2tCh3WbW5LOf8+uqdMFRTftWlOaOrOq1m6S4zIhborjnmjuiOYmN0Ajt2GPG2u/YzfMdf/xPbtmNENXn461tbhp3XedJeAgrN16p3xnxkatHNN6Ut6JLlnm5uZZGQCZoatn7Za5nB2NblBl4lKhgr1HdCNdp8pc4YZ1lSngk5wqIqW652xv0D3U3ZaWKmqXJc3CIZToDHwROW7ZA6C4cCi9tFIbwlrFFpa7TMldVwMg2Ige0wq2q3/IVRTptj0Io/qLYy6QUZvRmIgGHAXEEmINwYSoQgDQLmEc+JW4XxwAKKisYlFtxEcr8wy1Ad8hVBBYiKAtOkSgeMc4wZEuxBhOgVUveakYeiocBDwGPuGeZgCMMqFxkqL+gYMgLd4jysH5caizihSX7wAJeXBGD+WEYOJPfdkjUEEtHmXFj7Qpuz/2Q0aAKiMOq3HS5N3DHOUnPdJfGJ46LuZnqyJKsCB9axNluND/QWUgjs///gBAf2xEgAj1Tazfg+pu/aY2e1CYxLT4HvJYLM7Cdwt/h7Tu5x/eh+fDwj3sfUjnYU/S4UOdQr0Wpr3wd0gzDhAESLyTml17AILJj3Uz9hGclQ44ABoQf4xV0CFGNQx1McKwwcN57oTBH/1iVkU4NoY4cgMdZDc5bgDBXdF5uo507E6LVv068VCTelrqaFNDrJy10tM1oqzYubaUlXh2Tb1xCna3s4gLVIPrPdN09/OIVu4FB04YgZ3SVZ9R3RGdqpvquDIUMU96YYkRXbWSgKHCVv6IcLgSdPjaBeNkxjtalZaMcARKnstoMW4luzqiO6dvGJDAKURV3vTiUgvDPdR935yyG/Ty6ve68Z524wDw51Y9wGzo8hkDwTRxHOO65zqvYZ8A6rYRnhlxSeMCK8Asg+tMxQFl1URcdm29qifOquOOGWmtJkDQP4wBO6uI1WPsN/60l1FmfP3/ewYa8e438Cx+wp8QDq8wgRNe35OOaKmVg/fKgr/6MMgpkv7goxd8cMHPfsR+J75PDENYn+R8fIsnf59ySGX+afkkvE/Md2He87Hu/UZRFwIE6YS2IJ2QFvtP0xob0zryIzU9W+A1b18EYAO8MxqLaQJWuIDgQnqAXhD58Q7RHvN5aIgN2gJT11yMQ9mIAEH7sOhkcRQ4QeoJPVqsDrxDZZbFLgvZpTjiYGtBHBYKiY53qLqSX+CMWUARjvIE96A0QhiehKMvKDsLm4WO+lJXuFzKvxTAThxDIT36knwoK+mEvS0Wc6TNZj+O34SlLGH84X8PQGBJDfFm5UUFAudAg1BAjFbIgAaE+JMpIEID0VC8Q3eYozWIg1U0HATpABjEr6urM2CZ1Up88MJpv8LWCpkrQOEi/HWcWjFqtcZvpiuEeEziIH7DDUD8uc4T8Q7+TALuu54Q4Z1lVafVGdd5jrWL2GslTvwkHY0ASLA6JzxEO4ieIN6IeEjPOAy9ZwXPFagzalzuoIYL4NpSC8e90pqYKSLocxIHZW3b4fq+/sTKnFW13cqH2ClLoDLR3e7SxfVE4UzEkZAWV5fCrVDeOXVMmsRqgAKipDRdSWr1E1eU27DXuKhRAR0S8qRicRA5q8NBMBi23Oq3gKZVHCAAOyZpb0+3u6E5k5uXK5XLHaZOOSOR6u1b59zVS6dc1myay9ZibHvDEVe5rVEiyHHXKxGn7V+Icz3w6t91tfW7pSKcaiK4GzpxgKNnWLA1NDZq7nFlZoq7fOGsuyqx7o0bN12x7mb/Oz/4odseqY8R2HlYXE+AAAQC3THCrwYzDk9zGn+sqClfSXEJKwKjPSYWFGEbligyVXQHOkSYd9/9ldlGwE0CiIEosrglLewioGUQYt5BHDlO6IguB4JwBrCgHCxur1y5LDXXA0YjSf/ChfN2URBlJjw0kzTx50IhwIRTIvxRNRKH6h15kJ69E+1MFq2FcI8KmPJFeyHyjAnSRL2Xdxj8QWupJ3SW79Bc0qCMGAhCsy/qngq+UxbqBy0mrc9kJ8LlSUVFxZ7TV9qUA9oNI0D9aVfy5oQMFv4B9OIAQQZNTU2mHhYqS6OBJhB80JjjMkIFeVIIzmsKhaLiNBKVs87VfCNzKkaD8qHzeDejK/36vv5YnZxsq/JUEUeIvsn4YeW1WmIFpT/+fmoRYgaE3RUtP5xt5Jq8XqIb4rJnIfGQMvDcgVZfpMnGNXsPiVd6WgKWhsqlO6opB2GViH+lPFhxsVcAkJC3WlCvtQ8S0lJIW6FZfaL6of/kR9jwCWVVO9jGuNLiFX/gjELatvEey5+9liTJ10kLQBoUgKUUlLg5fTI1YGhTOpPBwgBKRHxf+Ef7S9/FivtoCWzFum8L+OGAaus8QNCHHe0d7puvPne/ffs/uZ0Nda7h8LPu6RdfETHpcr/6xf/hBntuuRxXJe5y2m0XCJx4/s/deF+bu33+G3fhm8uu6+IZ98qP/1e34/BzrkQE5sqlC+6XulCnp6PdgKFxz173/Msv217P2//lr13m9IDr6+5w/dEp9+Ibf98df+olzWk0pub3OpinzNGVGlesYKElpAmdIX2eECHyCLSC79AZ7BBa77TqfK88W1i23vEKDYi1b9++5SYlCo1EIkbgxrWPg4SitLRMgHpL+0VR99ZbPzTa9M477+hstjqjR4gpUZYoKCh0r732miQeX7tuGeBVCSw4oQEaxhE+b7/9ttqqwr300stmsQ2biX9Tc7OA9boZyu3evcfUaTHAq6urMzVbiPW2bdWuU/QQOvpP/9k/s3q9/fZ/FUBkuhNSkQVgaIvy8grVq0ALg14j5hB2xLGHDh7Sfly7FtKDdqYcKrvQ2Z27dkrdtsWIOBIarkUlHSzD0TxDpReV3J//7Gcm2WnW2XaU5/XXX7e2/vnPfur2CdggO9S1XPuAnFnX1NRsihsAMAuIHu350ScvvPiiLS4YzHGAgHCHAcETYpHo+B3e478wTOK7hXETw8bDKb0QTtmRov33fD+/ExwBQnl8YP8y+PEr+Ac/0gxVCO98rG//DXG+/cb7hPIlhluY5j3viGaR5lNMfD/ve99voegGgiIkgAIybzp+dQEi5Hzfom29eIQWYNz7eeABguHDAgsi8Id3/tYNt5x19Q07XVpJjTv4wvfd55//2l04/75GUYo72viUa+0WN5yd7k6eeN5Fh++49o919aUUCvoHR9wLP/qHbsdLP3JJU6OuTbYCty6ec4VOezgyeR/RSbPbGne5l1991X38wXtuvL/DTeoI8hHtUz/z6g/cnn3HXHGJDhpkcRJz6wkQrLI5SoPVLfTh+LHjtjfarutGWb2zIuaeaPaumpqbRLBPmJi7Q4R137792hO9IgD4nu1zvvvuu7aKLtWq+Oq1qyaG45ieCq2aCccRQqyqL/239s49tqsju+PH+IXBNoRHINiAf2AMBAMJEN4km2xIQ7ZJ2iS72+5qq0jblaqqVfNX1apqpVatKvXv/pXu/lFtqyYbQrJJSoAqgU2gCa9sMOZlsHkZm4fBGNv4gY37/cz1wPUvDmAw+FJmrJ/vvXPnzsw9M/d8Z86cc0bbiq5evdox688++0xMUh4DNOLGYC9fIFVSUiJvw6PdNbOPlJhrldZem5vZB3uMY9zUlW1Pi4sn25bNm+2VV14R088SQ/6tuz9l8hRnnIcj0dnyH1etspctW+Y02XjXQo36MfJjs6GTJ07a9373e3ZMu+Uxs5ggwOK7xzYEZY255eXunQFZlDAwEOS3c+cORzMG7Wx7ytLAKCljbNmyxfmsw6u2pxkzD1wrAbosAzDL4pk2zU6wYk+lUq43DJmaq++M4dg/BTx4cmSkCSi4j0MIf7cAov+ahNjBpADjBNoTgGDx/LgA4vOP3raGKrmK0D7Jk0rnWN7kR23zb35tu3ZuV+I8WzJvoSzFmy1//Gi3J/P29//LDm3eIDcQDdbWk2lFM2faI6tWS7trjMSgjdZaf8ryO1tkSd5tLcOkPps/xn7vtdds17ZPrf7YYa1bSOkkI9eekogppTWzseMna0SfDIBgpgHj9gZyqPqyvkn9YFoimx3XLII9o1kTwFq6UZp+zBDOnj3jgGX16uccsz9wYL8bZWPs9rA0zVingWliYHdae8wAGuSDaAr1aRx/nhBzZjSNSJyRPaIpRHXMCpjpIFqvlxV2vhg6Pp8Qo2OFzeyB2TxrsmjMLVy0UDXNsDox9ZbWFgc0zIwYobOlKeJ2wAZAPHWq1m2JgCsPZiV4QF68eLHzSt0taQqgw37X2RI7A1SIjthDGyBnxjKjrMzNIo5p5tChQQflMcMAPJHesDc278naE7OEKQIFeAkirOECWpYBMBJ8aMxDiu90tEPURLg2g3DqdfTaEBJBgQAQiWiGQa9EHCBghrViKJU7ttru9W/bs9990h559Amtp5XZMa0/bNrw31ax57hN1wfNQnTJjOn2gz/4gb35j39v+7Z+ao2SG6MZVzRNI8XUZFvz/Z9aR3OTHav8WkoPJ+WqJNvatA9FYcks+501a2z7ts12pGKHGGKTTZK4ClHW1NRsyb7Hi/lF2mO88FDOIABPyveSBq5RBwYgEKmi/QUYEGDYxJGGNYLt2790AFBaOsOtLRCPuJsBFSNwAvnyDAyS++TBfZ+XS6R/iKN4FqbMtxidR7YzPBfVBXsZbGmi9QtfXmSDE2m1IaZmTs47kQ6AoCzyjDT8urTF6m4BRYsTXyHepz6kI5AnTJ7yOffacuTJNWm5T31IQ0A0D41YX6Esyo4HaMCzfvAJ10dUTloCMxN/HgDCkSR5/4YCIGBedDxftv9IHXV08yo3FRhHkJYO7oZ0iuvzDDe5R1p+0am7ftD/QRo+TqdGK2I0Nl60wxIJbfqPf7UlC+ZY0aOLbdKcpfpIuyVT/pV98P5GLbyOsOJJE2xaL0CcqDpsG//z5/bJx5tcg80pL7MFa16x1/7ojyWHr7Zf/uJNqz2430bm5VjZ40/YK3/4Exs/cZJ9tfNz+2zj+3ZUsvTFTz9nT313jU0VeMS1o2ifoQSIB71/JO39A0AkrUV66+MZLkc/UvAiJj5gfowaBmuRGsd25y9dsTrtj3yiocPGaB/jhwuyrEneTvPlpO+yHOm1ymle7yDDzjbJ6FGO7/CCirfUY/Kk2tzWbbOK8uy0PMHm50aL8Y88lG1jCzXCwXV3CA5YPUAAwLTjWcnXd3/+P9pUq9QeLplphdLAg/Mj+jgoWffp+jPuXvHkYrcg2y45ce3RGtu6aYOTH696drXNKJ9no8eOc0aFhw4esg0fb5Rl+Tj7zjPf0drGdLeR02mVc/hghe3bs9tSUsFesGiJRCYT3ag63jSDDRCstdB3GZXebJE6Xo9wPvQUCAAx9G3Qbw1uBhAwGQCCaWSfkX6/ud08Ek+qXx9ttePnOp2XUzydMmMoE8M/ca7DeVbFS2ud3GpfbO2yorFaKNT1BAFApzy4HpH771EjIgv60xc6bfaUPDt6WrLUGSNtltxpsz9ECNHMKw4QyNEP7N9v/7tNxp+SYa9YuVJb6s5yg4ImiR3OX2i0OnkkZW+CUmk5FRUVW82RKtv0wTrLaJKluTRiUP+etWSlFc8qt4rffm2bP/3STpyUiqRAev6CcntuzTOyb+m2tWvfUTlSx5YIoqRkmr362qu2dOmybzRLAIhvkOSBjQgAkdCmv9cAwb4NtZo5dElLAmbOdf1FuVieMsK559Z6nBMpHTjVpplEtz2ektab5MHss4C4pEl7NJAGUOnEbXf2MDfLmDYxV+CS6e7djNQAnX9vn7a/OH/vhkfllURIShcxoVmCtg1rgDBmZM/Pa70AH1MntRiKbH3vrp3WKYv6PBl6vvrDH9o//d3fWIPczaxZsshKtPh68UKDNXRl2MynX7KdMlKdWjRJC7FjnQuRai2Szn6s3C61Ntmbb77pFjOxdXpGqp54J2WRNz0MNUCk9wFfP9pT3etaH+lvYAT4Epit+L5DfhEoR3Hp70c67vtnXQb6x2yHOF8frn3weXPtnlfb4Y2A4MvmnGf9L36PZwjUhfvk7eOI92XGyyE+PVA/0vhn/XPUwZ+nPxPP05/H39/Xn7h16zQQka+bnrBInU7Gob32jcuRHwtQcRETjTeYMwgV4TprsxhTFKJOlzecxTIYd++iltKhM5+tfRtYCKNeAAR10Q1t4KL9oTVaZeGM/aT5DtyzQg7qTFo+I7/nMYtsQhqJoK7r3WPNTSLf8ckD9T7P8XH8x4dFIgyNCCwA4mIDR3tAA+XQ0fklKUBnTweOqCRu3brV2QdFuu0FtmTpUquXf6mz8tHU2nLJPt203lovnrMn5j9u85Y9aX/7F39qi1PF9vismdYmdyXQ52Sr/DqNK7FuuXZZ/Nh8zSwLNdOT/YG0YLplY1QtY8t6ae7AiGpqauyNN97Q7GGpm4HGGR+0Smegd0o/REy0D+1JWeTP0S/YEk/wzIo+Qb/iPn3f0UtpaGvOK/futTJpbl3rd2pv0tPnamtPOvsPZtaUQZ7QFfVSNJDwnHtcrruLpEGEGir3eQ5/XxgXdkoURl5o+qDJg2YQKrWomBfJYM3Xk2d4J/o9P8SBqJCy2I/WE/yUumPXcUXp2DcdjaUZM6IFdMqlb6JuukvqtMuWL3cL6dSZ56gzZXAN/Tj3tODIsxyxa8B9Ee8LbaAt6qvlUoX19SOd/1F/6Mo98iB/+ArXX2lvDAYP0Am7EPoJcQEgXLMn6x8NSvANy0dDR6Fx6QR0hsEFiMhi9VDVEffRjJHKG07rcKoHc4ah85HQoehYzveSxB7duHtQXVD5Azj4uNT3naoeHwHpsSTlA2HbRry38jzpeAe3GZHSdOs+VrBogNBZUQEdqzogYkGXG31vPJ4CSrw3aagTTKNAHlDPyLlfxBS0XqKPCzfWhbJMRi2Q8m43QH/cWhDI53bmJb4toQfNynvD3DjClNjPgPfhPkwJw6xT0uuvl7pqi5jKNunVVx86aE/On2tLl6+0f/iXf7bFpVNtwbRpdvlSs7WrHS7IFce4mY9bYbfWf6Bjdp58a8mJpiyO65ov2wG5oYFJwrhQ+1wuhvT66687RgDd4jS6WwBBGfQHDxAwPUdTOowC7w+j3r17t+sH+fIagAPDiDYm5lrmVFrZmwG1zZaWZrcGM1k2BtgL0BcOH65y9hJsPIRfsClTJssO4byAuN6J06DvBx984DYQApwxNHtCKqWUgUYZzBLGOEr9BtuwCnmXmCkGzAZD5XPmaPOhOvdNlpZOl5roWbcGOFZqp7xLRUWFe7dUqsRtVIR9AxsQoRbLTHGE8kPdFhCh7WfIyr1O60KI/ebNf0y73k208WLOvJ8HCECFAMPG0M4bxxE3Ru+CDQN9BDVdVHJJh/oqNhXQmb5HHqjGYrfBd1WkGSbGeHyzfEv4I+MbRh129qzZLv1i2YtgV3HqVF0ACIidtOCZCkd+AER/MwgsLfmw7jRQBowV0QY+fnCI57yhtrS6zgzzb5fXU7g/HxV66u3tnS5dBApieMqDeJgoHzr5waCJa1Y+dM7x48b2go1GVW7UJ0eOWThybHOggoUp2lE42UOlr02gCMC4zq6XJM656BaD5a15d2iANSgqhTAgvK/CgCl7pOT6fAi3G7quyg+YZP35w/P1u25MOpD8mtvl30feebPk7kUkugYQ0BxmgI8zPlSYJfr3ixYt0jtctkMH9tpp6eJ/8unn1ijaLywush/9+Ef2y40fW1bLBRul2UGu8rwikeDZ3JH245/+mZ2uOWot8vElh+bOPXyPwLVgwiTNRuqdTjtlAEjYA7z44ovuhy4/8T4MNkD4ESptFQcIBjvE+f7LEZcPO3bskHfgqc6auk39AtuAkqklDqgZ4eIgtEh2BzBBdoRDTMbsKEd9lrqnSlJuVobrEtJhaHZO+v/YOWBX8cknn7jvaaryxDL7+efXOEeRPAujZBe5ItEa8OY3f958N9NjgyE8/14SKE90thHVskGY6UbwDXKpcey47BAEMBjaMYDavmO7M4ajb1+82OhmCGVKzwgfAFuodj6l/PfJUI861Ch+vgDlK9l9zJ1b7r4HDO0AxjNnTtsxzWZK9G4ACZsnQcvp00udBTnAxXaojZqxVFcfEU2mulkWMxQACuM37EQAJwCD8pkpZGtABsCyDgbIUD7gMUX9o2JvhYCxPgCE/zCSdIR5EDjyiwOEG3mrI9NBBgsg/LtTFusI6cGptCqSW75u/aXRNx4xwd76p6fx16SDwYs79L6jv3P9KB5PAhfh5bvX7/Y9ixiNp1faPV36+33v3PyqXUZltU11NnbEGCvMlWt31Ze8bjUw+9h35qCVPDTFCnIRO1wHCPLBCAyDLD+a5rhKrg7Qhz8mtxl73nnbNladsAlFxfbsqmW28oU1YkJtVvXlZ1b5xVbr0D4OhbKUnr38KSuXCOrwwSrbrxH4RPkV68mW51ox1MllZQ7I33rrLVu/fr1jUIDQyy+/bC+88IJjXPF3uhsA4QcRABH503f7AwgGFocEYDA0fEoxa6ZuAFqdQKBUo+5Dmk3hi+lcg3xYyahuRqnENhoIkC8jb/wLYfwFQ2d2BGOESfPOzCC2bdvqXG5cuHBezZhhT8kVCd8RgW8Lp6WMuAEdDN0QLVHWCInqAAwGTzgdrZebFEbwiHMOHjjgwJ3nC1QultKV+yrtpZdednliIT1abj4QjTEoAAjpSwwMyBOXH+zNkSefdDBw6IXtBgZ1BAY7zEjwyzROg6yaGg0ElK587lyX1wW9LxbaABVl4XqEb4aBEu/G9eGqKmdEVyp6UW9mGoAEs3uM+/BWzOwVLTjicOHBbC6ImFwTJOtfnAlz7kVMdBo+BOI8QAxWzRHzX5b2UocWqNlrmsC2oKiostdzjpYZ2HOaBewu3fegQTrS5Lg0cqqmNNxn72d+gAAslR+5wvgzlT4vO2K2aFBRpl7JBSV3achvuJgcKriXOyRfVf0Y6F5L15ufq5/yy1X92mUr5PbKVrnUgZClAtHAYo9sJbtp6OqRkdRVycCHZdvZy+ckx5evmkyJQ1Sxbt0ryNZsQi4sVGOXl387QasbgTrRl0Uj8uYr8vOlZCNky5CdNoOA8TGC/VwLywf2fqWF5Tx7TK40li5bIVHQSLnUkFz8aJWdOY+TzHxLTSu1cdJagnlgWbthw8d2oeGsLVvxpKywF2t2Nl6uEjTCFVO5rJEjM7NCMZZ8MSzq3tBQJ6ZW7frPsJ4r8t8zy8Y+PEX3VFeI3hsGGyAQ3/ADHDxAcOwPICgba2DERfR53pVAWgIASl6Ih/ZI/o5IhpkB74cLDhg0AUO3zEzWB6LZKd8KKuEc0RzjiGYYI2pESVz7wCyA74u8qAOBesFUASxENLnSHOMcBs8PRjpJDJV6k9cuKRZQ3ooVKx3A8R7MZDG8Iy/3niqH9/Flwcg5p1+Qt6cP53z3/puHdgAps4CpJVNVu2iQRV7Ulx91gE4+D67JhzwoByAljrx4Xw+QiHgx2tsrcdkCzUg++uijABCuByTwH41J4Eij05B0FDouPxqY68EIlATjP9/cbYfPqOOLqbbIrmHE8GE2Ki/TJo/LdQwW5r+/9rIDCuwgYN6ASKY6dVnRcDFpPSd7CewiYNReowkQgFFmaXEbXjQ2X24PZEMBWyJ9tcpslnbUCNlckB9h+oThVpg3TAzarKquTekk+hJgEPAzBGjpW7MxI6O8uAbAqurarU0PtQns3EKm8ls4faSNVN7Z1/mAy6e/f+3dHdbSJdfOmTnWIZl+QdZIAzQ6rmptpEueNAUcI7I0YlUcNR2WES2G0k6dSs9Hl5epTa40e+CZkZly1S1wINCkEROLXEv/4uf/Zht+/Y6VT8h3z53rHm7ff/1ntnLFCjH6s26Bs6dL9ijNjZYltdXUtFny5HrWdkokcFgO+3pUh6takF60aLE9s2K5Y35upCiAoD4smKZSJSq4w47s+cQ6Wxst9ehjWjyt1ztlW8nsZ6UOKw+jNEpvgHnxDvFZhb93O0cYFf2X/MjXMzAYGtc+DKQ8vgWYHIyNfPgW7maAljB56gsgpAfuRe0atS805H0Gy04pvTwPMrz7QOiWnk9/17QP74KSydp33w0A0R+RkhBHpyRw9ADBB0HjEUdn9R3Ep72TeovniklfdQZvgAU/8kWffmxBpuToWgDWSL7hkkYpYv4w8mgmEZU6cbR2Y9Movbld22k2XRGz7HGzCpjPFQ3/WevN0X3eCiAYVyi5u+61Ks+zSu/ESLpJHPljZFco2wrsLBqaVabyI16vrzQa1UGfngwrEIiMGilxm8CDvCgb0AGsKCtXZU58SGsqOt7qcoQg2AFAVka0ppJO164ejdIEDASAIgoApdwv6EUBFFguaXw60rgqoWlwmgAACU9JREFU6z4MpbKy0v76r/7SRl+9ZD9ZPt8xnvWVki0Xz7Q//5OfidOwEK/yu/OsoVFg0XNZ/nLG21ebNluO/PNktGq/AzH3mktav5HPpVefX201EiOwpoBohXBMcuspMrDr7jxju9b/u+WIcaUWPm05E1N2/OJliRSW2rRxowRg1xk1cnja4E4Zj3+ed00HCN93PUD4tK7S4V9iKBDsIBLTFN+siGf6HP2U1E81iYvf96OXeFw8Rx8fj0s/h5nCwGDALv/eBDBjRuLiGb33r69TwAQJ3HNpdE4+iKjEy108913ghtLxDFINZh1cUJ4TRUWprv0HgBzf0nOIl+J1upZIJ+n1Iy/yJPQWoRGm8qLgAQRESJH46OYPpaflmvBtz9NeyJdZmBye2WOTtIsf79ckGVmHQGlKcZGrM1vddmukrx6gHzMiqUY2Nmk7XYm4ujpdKZ0CyR4RdLQ0txAt0UfoLzDliBFrIbujRXutSCVWf90SkXVkoOmUrbWOUbJ6j8RnN3/Lb6aIM3Z/Hj96AOBJzrl3vV7XR7/+mW+WEGKGkgIBIIaS+rdQtmfsfFRM1dMBws8m/JEsHSOF08eCzycWFU6HmAK0GYwcSPUjeEAVcMGmI0JXF9Gnpg58aN5ewHNNLcbrmGxvu8fbG5DkOppPSdvM5RalRzttoMDpK5PO1P01R//zoOCPxPvZhJ/9kp9/1ud9oyPPE/oT9fCenq7cjwNUep6khf7xuqWnSb+mbJ7h2bhoK71OPk1/daR+fo1kIO+dXpd7cR0A4l5Q+Q7KoCMS6HB+MYm49B+djuDj3UXsn88nFhVOAwXuiAL9MTfifLw/jzNg4uKyfJ/GV8Qzd/qrv+fPfZqvpfmFxo5TqWYqquDTsNsazJpFXLSZYNDkw/fj86MM1ix4BvsGtJ1YqKae/juKAwvpCOTFAjdeY4uKip3NAXYHBLSdciX+RcNIFLBaXaOyTL5APgEwJn/ck3NkfYhF8iSHABBJbp3eutFB6eDMIFiD4Nr/SOLPOfprdxL+BQrcYwrAhAn+6BmtZ84cAQiO/Y3w0dtHvZW+jkoquvnYvaCG+bAYKvcvSpsIVdIGqZ6SzxipvOKSBCPAL7/8wh6T0RlM/7zUWCkfZn5Aaqjcx2YCQzj2YoC5sw7EngvsNIdqK1plnKPhxGZAhHOyw0BrqUzqwtXVR9y2pKtWPemsrp02kICjQHkzs8OOCA20muoaZ/hJeQzs2rWgjiorm/6ck7oqu7rNVz29dpYrKIH/AkAksFH6qxKjIj4aFh89IJAu/dw/68HCX4djoMC9oAAMmxA/pp/Tj4mLi5h83XBN8YX2UC6Wvj+2DGx+A/OHeWMpzMgfLS023UFDaN++SjkxLHU7szmFB21lPHt2ZA/AbAJQwVUGQMCGOOXlc+03W7bYnPI5lkpFO8Nh4UwZ1Ono0Ro38kcllK1BW1W+t5j+fe0SV1d3Siqsu21aKuWM1/x+EbyLJg7axOmC29MZUKBsAIetTUeMlKW73oEZCO8BiCxYsDAAhG/4cLwzCsQBgpw8AKQffSk+3l+HY6DAvaCABwPK8ufpxxsBRJMW7jFUwxdSZeVeWe3jB6ndudZg5M8oni1C2R6zqUl7aVQddpbMGJBhIMZsY5aM0TBEw70FBnaFMhY8LitnXHdM1ogeGwqM5JYvX+H2vwZsGNlXVOyRId4MGdW1OvEUFs8RSLQ6pj9PRmmNqh871WF4hnUzsxBcVSAywgYCtzDMVhBvlaRKHDAh7sLAD3A7eOCgA45RowodWDlguRcNc5tlhBnEbRLuXj8WFzHFy44DQfycNOnX8efCeaDAYFLAg4DPM34dP+d+XMTU3z3ESPjdQlyDcRqiKHyD4YcL0RHaX87L7d4KJ/qZJaeFbsSuET9H8sTFCmmwCMYSmjxh0DBkVH9h4KwRMMtAbItxHr7G8Nk0fnzkrI7nEUsBNNQBy2IWl1vkNoZ8cMKXJTcyV1Hh1nvhT+y8ZkC4A8E9zPC84S7/Tm3jCbAAVgAXdSQv8vYiOE+3pB0DQCStRb6lPh4gvIipv2QBEPqjSogbKgqkM3/qQZyfQcB009PQh30/9uccYaSk5cc1ecBoyYMfKtYs+PpnETdhz0H6OBPmPt8SYEE81z5PZgH8uOfjqLPPk/j4tbuI/evh+Vhd/S1ABfkT5VE2gXOfn4tI6L8AEAltmPRqxQHC3/Md11+HY6BAkikA0yXcCCCSXP8HsW4BIO6TVu8PIOJVD2ARp0Y4TwIFPCCk1yUARDpFknsdACK5bdOnZjcDiD6Jw0WgQIIpEAAiwY2TVrUAEGkESeplAIiktkyo10ApEABioBQbuvQBIIaO9gMqOQDEgMgVEieYAgEgEtw4aVULAJFGkKReBoBIasuEeg2UAgEgBkqxoUu/du3a4O576Mh/6yUHgLh1WoWUyaZAAIhkt0+8dmEGEadGgs8DQCS4cULVBkSBABADIteQJg4ziCEl/60XHgDi1mkVUiabAgEgkt0+8doFgIhTI8HnASAS3DihagOiQACIAZFrSBMHgBhS8t964QEgbp1WIWWyKRAAItntE6/du2FP6jg5knseACK5bRNqNjAKBIAYGL2GMnUAiKGk/gDKDgAxAGKFpImmQACIRDdPn8qtW7fOMmpra3vy5Jp2WO/2fX1ShIshpQC7VAEOBQWFztMk3lxDCBS4nynQ3Nxs7MTmtgxll52Ehiy59GZTorg32IRW9a5V67333rMMbfHXM/qh0dooPdrf9a6VFjIeMAVwwodb41HyXY/L4AAQAyZheCBhFGCPh0716dzcnITVrG919Om5zYbuB7fcfWt+51fwHVyff/jhh5axa+fOnlSqJPHb3935a99/OdBIbGRSqBkEm5IEgLj/2jDUuC8F2PCHzXbYFOjbPL72feLeX8Egu7QREBsUPYgAgdQCIN+5c6dlCCV6nnhikduF6d43RSjxRhSgo7Zpt6sAEDeiUrh3P1HgfgIItgZlI6IHLSC1YOvUuro6y5Cuaw+bhI8bP85yc3Ki3ZSgCHMsDu5fdH7tmhMfogT+SkfkikT6o7/l5Y3X87qepr+0Sc/j7tcPgGBRj43OKY3tEUMIFLifKXDpUpMTm+bAa67xiIF8//fgu4PAKqZAM4j/T2sQ/c3YfBxH+E27BqRst1pZWekkFv8Hec4VhyV0on0AAAAASUVORK5CYII='; diff --git a/packages/playwright-core/src/web/htmlReport/index.tsx b/packages/playwright-core/src/web/htmlReport/index.tsx index 3b28f7c6fa..dc696e27f4 100644 --- a/packages/playwright-core/src/web/htmlReport/index.tsx +++ b/packages/playwright-core/src/web/htmlReport/index.tsx @@ -19,6 +19,6 @@ import * as ReactDOM from 'react-dom'; import { Report } from './htmlReport'; import './colors.css'; -(async () => { +window.onload = () => { ReactDOM.render(, document.querySelector('#root')); -})(); +}; diff --git a/packages/playwright-core/src/web/htmlReport/static/trace.png b/packages/playwright-core/src/web/htmlReport/static/trace.png deleted file mode 100644 index 596337f87adb9fbce4bd72affc7ce1549d72296f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 68036 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 N002ovPDHLkV1ly1YyAKK diff --git a/packages/playwright-core/src/web/htmlReport/webpack.config.js b/packages/playwright-core/src/web/htmlReport/webpack.config.js index 6335c366ed..7f8e0606b5 100644 --- a/packages/playwright-core/src/web/htmlReport/webpack.config.js +++ b/packages/playwright-core/src/web/htmlReport/webpack.config.js @@ -1,12 +1,29 @@ +/* + Copyright (c) Microsoft Corporation. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*/ + const path = require('path'); const HtmlWebPackPlugin = require('html-webpack-plugin'); -const CopyPlugin = require('copy-webpack-plugin'); +const BundleJsPlugin = require('./bundleJsPlugin'); const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development'; module.exports = { mode, entry: { + zip: path.resolve(__dirname, '../../../../../node_modules/@zip.js/zip.js/dist/zip-no-worker-inflate.min.js'), app: path.join(__dirname, 'index.tsx'), }, resolve: { @@ -38,17 +55,11 @@ module.exports = { ] }, plugins: [ - new CopyPlugin({ - patterns: [ - { - from: path.resolve(__dirname, 'static'), - }, - ], - }), new HtmlWebPackPlugin({ title: 'Playwright Test Report', template: path.join(__dirname, 'index.html'), inject: true, - }) + }), + new BundleJsPlugin(), ] }; diff --git a/packages/playwright-test/src/reporters/html.ts b/packages/playwright-test/src/reporters/html.ts index 8659ab9eec..49bbbc99dd 100644 --- a/packages/playwright-test/src/reporters/html.ts +++ b/packages/playwright-test/src/reporters/html.ts @@ -18,11 +18,13 @@ import colors from 'colors/safe'; import fs from 'fs'; import open from 'open'; import path from 'path'; +import { Transform, TransformCallback } from 'stream'; import { FullConfig, Suite } from '../../types/testReporter'; import { HttpServer } from 'playwright-core/lib/utils/httpServer'; import { calculateSha1, removeFolders } from 'playwright-core/lib/utils/utils'; import RawReporter, { JsonReport, JsonSuite, JsonTestCase, JsonTestResult, JsonTestStep, JsonAttachment } from './raw'; import assert from 'assert'; +import yazl from 'yazl'; export type Stats = { total: number; @@ -127,8 +129,8 @@ class HtmlReporter { }); const reportFolder = htmlReportFolder(this._outputFolder); await removeFolders([reportFolder]); - const builder = new HtmlBuilder(reportFolder, this.config.rootDir); - const { ok, singleTestId } = builder.build(reports); + const builder = new HtmlBuilder(reportFolder); + const { ok, singleTestId } = await builder.build(reports); if (process.env.PWTEST_SKIP_TEST_OUTPUT || process.env.CI) return; @@ -198,16 +200,16 @@ class HtmlBuilder { private _reportFolder: string; private _tests = new Map(); private _testPath = new Map(); - private _dataFolder: string; + private _dataZipFile: yazl.ZipFile; private _hasTraces = false; - constructor(outputDir: string, rootDir: string) { + constructor(outputDir: string) { this._reportFolder = path.resolve(process.cwd(), outputDir); - this._dataFolder = path.join(this._reportFolder, 'data'); + fs.mkdirSync(this._reportFolder, { recursive: true }); + this._dataZipFile = new yazl.ZipFile(); } - build(rawReports: JsonReport[]): { ok: boolean, singleTestId: string | undefined } { - fs.mkdirSync(this._dataFolder, { recursive: true }); + async build(rawReports: JsonReport[]): Promise<{ ok: boolean, singleTestId: string | undefined }> { const data = new Map(); for (const projectJson of rawReports) { @@ -259,7 +261,7 @@ class HtmlBuilder { return t1.location.line - t2.location.line; }); - fs.writeFileSync(path.join(this._dataFolder, fileId + '.json'), JSON.stringify(testFile, undefined, 2)); + this._addDataFile(fileId + '.json', testFile); } const htmlReport: HTMLReport = { files: [...data.values()].map(e => e.testFileSummary), @@ -272,15 +274,11 @@ class HtmlBuilder { return w2 - w1; }); - fs.writeFileSync(path.join(this._dataFolder, 'report.json'), JSON.stringify(htmlReport, undefined, 2)); + this._addDataFile('report.json', htmlReport); // Copy app. const appFolder = path.join(require.resolve('playwright-core'), '..', 'lib', 'webpack', 'htmlReport'); - for (const file of fs.readdirSync(appFolder)) { - if (file.endsWith('.map')) - continue; - fs.copyFileSync(path.join(appFolder, file), path.join(this._reportFolder, file)); - } + fs.copyFileSync(path.join(appFolder, 'index.html'), path.join(this._reportFolder, 'index.html')); // Copy trace viewer. if (this._hasTraces) { @@ -294,14 +292,31 @@ class HtmlBuilder { } } + // Inline report data. + const indexFile = path.join(this._reportFolder, 'index.html'); + fs.appendFileSync(indexFile, ''); + let singleTestId: string | undefined; if (htmlReport.stats.total === 1) { const testFile: TestFile = data.values().next().value.testFile; singleTestId = testFile.tests[0].testId; } + return { ok, singleTestId }; } + private _addDataFile(fileName: string, data: any) { + this._dataZipFile.addBuffer(Buffer.from(JSON.stringify(data)), fileName); + } + private _processJsonSuite(suite: JsonSuite, fileId: string, projectName: string, path: string[], out: TestEntry[]) { const newPath = [...path, suite.title]; suite.suites.map(s => this._processJsonSuite(s, fileId, projectName, newPath, out)); @@ -358,6 +373,7 @@ class HtmlBuilder { const buffer = fs.readFileSync(a.path); const sha1 = calculateSha1(buffer) + path.extname(a.path); fileName = 'data/' + sha1; + fs.mkdirSync(path.join(this._reportFolder, 'data'), { recursive: true }); fs.writeFileSync(path.join(this._reportFolder, 'data', sha1), buffer); } catch (e) { } @@ -419,4 +435,30 @@ const addStats = (stats: Stats, delta: Stats): Stats => { return stats; }; +class Base64Encoder extends Transform { + private _remainder: Buffer | undefined; + + override _transform(chunk: any, encoding: BufferEncoding, callback: TransformCallback): void { + if (this._remainder) { + chunk = Buffer.concat([this._remainder, chunk]); + this._remainder = undefined; + } + + const remaining = chunk.length % 3; + if (remaining) { + this._remainder = chunk.slice(chunk.length - remaining); + chunk = chunk.slice(0, chunk.length - remaining); + } + chunk = chunk.toString('base64'); + this.push(Buffer.from(chunk)); + callback(); + } + + override _flush(callback: TransformCallback): void { + if (this._remainder) + this.push(Buffer.from(this._remainder.toString('base64'))); + callback(); + } +} + export default HtmlReporter; diff --git a/tests/playwright-test/reporter-html.spec.ts b/tests/playwright-test/reporter-html.spec.ts index 7927adaaf7..cb5dfc542e 100644 --- a/tests/playwright-test/reporter-html.spec.ts +++ b/tests/playwright-test/reporter-html.spec.ts @@ -14,7 +14,6 @@ * limitations under the License. */ -import fs from 'fs'; import { test as baseTest, expect } from './playwright-test-fixtures'; import { HttpServer } from 'playwright-core/lib/utils/httpServer'; import { startHtmlReportServer } from '../../packages/playwright-test/lib/reporters/html'; @@ -34,7 +33,7 @@ const test = baseTest.extend<{ showReport: () => Promise }>({ test.use({ channel: 'chrome' }); -test('should generate report', async ({ runInlineTest }, testInfo) => { +test('should generate report', async ({ runInlineTest, showReport, page }) => { await runInlineTest({ 'playwright.config.ts': ` module.exports = { name: 'project-name' }; @@ -45,7 +44,7 @@ test('should generate report', async ({ runInlineTest }, testInfo) => { test('fails', async ({}) => { expect(1).toBe(2); }); - test('skip', async ({}) => { + test('skipped', async ({}) => { test.skip('Does not work') }); test('flaky', async ({}, testInfo) => { @@ -53,87 +52,19 @@ test('should generate report', async ({ runInlineTest }, testInfo) => { }); `, }, { reporter: 'dot,html', retries: 1 }); - const report = testInfo.outputPath('playwright-report', 'data', 'report.json'); - const reportObject = JSON.parse(fs.readFileSync(report, 'utf-8')); - delete reportObject.testIdToFileId; - delete reportObject.files[0].fileId; - delete reportObject.files[0].stats.duration; - delete reportObject.stats.duration; - const fileNames = new Set(); - for (const test of reportObject.files[0].tests) { - fileNames.add(testInfo.outputPath('playwright-report', 'data', test.fileId + '.json')); - delete test.testId; - delete test.fileId; - delete test.location.line; - delete test.location.column; - delete test.duration; - delete test.path; - } - expect(reportObject).toEqual({ - files: [ - { - fileName: 'a.test.js', - tests: [ - { - title: 'fails', - projectName: 'project-name', - location: { - file: 'a.test.js' - }, - outcome: 'unexpected', - ok: false - }, - { - title: 'flaky', - projectName: 'project-name', - location: { - file: 'a.test.js' - }, - outcome: 'flaky', - ok: true - }, - { - title: 'passes', - projectName: 'project-name', - location: { - file: 'a.test.js' - }, - outcome: 'expected', - ok: true - }, - { - title: 'skip', - projectName: 'project-name', - location: { - file: 'a.test.js' - }, - outcome: 'skipped', - ok: false - } - ], - stats: { - total: 4, - expected: 1, - unexpected: 1, - flaky: 1, - skipped: 1, - ok: false, - } - } - ], - projectNames: [ - 'project-name' - ], - stats: { - expected: 1, - flaky: 1, - ok: false, - skipped: 1, - total: 4, - unexpected: 1, - } - }); + await showReport(); + + await expect(page.locator('.subnav-item:has-text("All") .counter')).toHaveText('4'); + await expect(page.locator('.subnav-item:has-text("Passed") .counter')).toHaveText('1'); + await expect(page.locator('.subnav-item:has-text("Failed") .counter')).toHaveText('1'); + await expect(page.locator('.subnav-item:has-text("Flaky") .counter')).toHaveText('1'); + await expect(page.locator('.subnav-item:has-text("Skipped") .counter')).toHaveText('1'); + + await expect(page.locator('.test-summary.outcome-unexpected >> text=fails')).toBeVisible(); + await expect(page.locator('.test-summary.outcome-flaky >> text=flaky')).toBeVisible(); + await expect(page.locator('.test-summary.outcome-expected >> text=passes')).toBeVisible(); + await expect(page.locator('.test-summary.outcome-skipped >> text=skipped')).toBeVisible(); }); test('should not throw when attachment is missing', async ({ runInlineTest }) => {