From e57be6b17bee9e3939dce6a63dd641966b553a1e Mon Sep 17 00:00:00 2001 From: HyungKyu Song Date: Fri, 15 Feb 2013 15:11:56 +0900 Subject: [PATCH] Tizen 2.0 Release --- AUTHORS | 5 + LICENSE.Flora | 206 +++++++++++++++++ NOTICE | 4 + config.xml | 13 ++ css/GraphSchedule.css | 122 ++++++++++ css/jquery.ui.layout.css | 33 +++ css/style.css | 279 ++++++++++++++++++++++ icon.png | Bin 0 -> 17581 bytes images/background.png | Bin 0 -> 201 bytes images/longBothHorizonGradient.png | Bin 0 -> 773 bytes images/longBothHorizonGradient2.png | Bin 0 -> 1540 bytes images/markers.png | Bin 0 -> 437 bytes images/state_lazy.png | Bin 0 -> 62060 bytes images/state_run.png | Bin 0 -> 27376 bytes index.html | 229 ++++++++++++++++++ js/GraphSchedule.js | 186 +++++++++++++++ js/UI.js | 415 +++++++++++++++++++++++++++++++++ js/UI.simpleTemplate.js | 25 ++ js/app.alarms.js | 55 +++++ js/app.alarmsGenerating.js | 153 ++++++++++++ js/app.js | 450 ++++++++++++++++++++++++++++++++++++ js/app.onAlarm.js | 66 ++++++ js/app.timeRange.js | 386 +++++++++++++++++++++++++++++++ js/ext.jqMobile.js | 17 ++ js/main.js | 21 ++ music/Runner.mp3 | Bin 0 -> 495598 bytes signature1.xml | 160 +++++++++++++ templates/GraphSchedule.tmpl | 91 ++++++++ 28 files changed, 2916 insertions(+) create mode 100644 AUTHORS create mode 100644 LICENSE.Flora create mode 100644 NOTICE create mode 100644 config.xml create mode 100644 css/GraphSchedule.css create mode 100644 css/jquery.ui.layout.css create mode 100644 css/style.css create mode 100755 icon.png create mode 100644 images/background.png create mode 100644 images/longBothHorizonGradient.png create mode 100644 images/longBothHorizonGradient2.png create mode 100644 images/markers.png create mode 100644 images/state_lazy.png create mode 100644 images/state_run.png create mode 100644 index.html create mode 100644 js/GraphSchedule.js create mode 100644 js/UI.js create mode 100644 js/UI.simpleTemplate.js create mode 100644 js/app.alarms.js create mode 100644 js/app.alarmsGenerating.js create mode 100644 js/app.js create mode 100644 js/app.onAlarm.js create mode 100644 js/app.timeRange.js create mode 100644 js/ext.jqMobile.js create mode 100644 js/main.js create mode 100644 music/Runner.mp3 create mode 100644 signature1.xml create mode 100644 templates/GraphSchedule.tmpl diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..3d165e3 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,5 @@ +Tomasz Lukawski +Artur Kobylinski +Piotr Wronski +Pawel Sierszen +Tomasz Paciorek diff --git a/LICENSE.Flora b/LICENSE.Flora new file mode 100644 index 0000000..9c95663 --- /dev/null +++ b/LICENSE.Flora @@ -0,0 +1,206 @@ +Flora License + +Version 1.0, May, 2012 + +http://floralicense.org/license/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, +and distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by +the copyright owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and +all other entities that control, are controlled by, or are +under common control with that entity. For the purposes of +this definition, "control" means (i) the power, direct or indirect, +to cause the direction or management of such entity, +whether by contract or otherwise, or (ii) ownership of fifty percent (50%) +or more of the outstanding shares, or (iii) beneficial ownership of +such entity. + +"You" (or "Your") shall mean an individual or Legal Entity +exercising permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, +including but not limited to software source code, documentation source, +and configuration files. + +"Object" form shall mean any form resulting from mechanical +transformation or translation of a Source form, including but +not limited to compiled object code, generated documentation, +and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, +made available under the License, as indicated by a copyright notice +that is included in or attached to the work (an example is provided +in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, +that is based on (or derived from) the Work and for which the editorial +revisions, annotations, elaborations, or other modifications represent, +as a whole, an original work of authorship. For the purposes of this License, +Derivative Works shall not include works that remain separable from, +or merely link (or bind by name) to the interfaces of, the Work and +Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original +version of the Work and any modifications or additions to that Work or +Derivative Works thereof, that is intentionally submitted to Licensor +for inclusion in the Work by the copyright owner or by an individual or +Legal Entity authorized to submit on behalf of the copyright owner. +For the purposes of this definition, "submitted" means any form of +electronic, verbal, or written communication sent to the Licensor or +its representatives, including but not limited to communication on +electronic mailing lists, source code control systems, and issue +tracking systems that are managed by, or on behalf of, the Licensor +for the purpose of discussing and improving the Work, but excluding +communication that is conspicuously marked or otherwise designated +in writing by the copyright owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity +on behalf of whom a Contribution has been received by Licensor and +subsequently incorporated within the Work. + +"Tizen Certified Platform" shall mean a software platform that complies +with the standards set forth in the Compatibility Definition Document +and passes the Compatibility Test Suite as defined from time to time +by the Tizen Technical Steering Group and certified by the Tizen +Association or its designated agent. + +2. Grant of Copyright License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the +Work and such Derivative Works in Source or Object form. + +3. Grant of Patent License. Subject to the terms and conditions of +this License, each Contributor hereby grants to You a perpetual, +worldwide, non-exclusive, no-charge, royalty-free, irrevocable +(except as stated in this section) patent license to make, have made, +use, offer to sell, sell, import, and otherwise transfer the Work +solely as incorporated into a Tizen Certified Platform, where such +license applies only to those patent claims licensable by such +Contributor that are necessarily infringed by their Contribution(s) +alone or by combination of their Contribution(s) with the Work solely +as incorporated into a Tizen Certified Platform to which such +Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim +in a lawsuit) alleging that the Work or a Contribution incorporated +within the Work constitutes direct or contributory patent infringement, +then any patent licenses granted to You under this License for that +Work shall terminate as of the date such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the +Work or Derivative Works thereof pursuant to the copyright license +above, in any medium, with or without modifications, and in Source or +Object form, provided that You meet the following conditions: + + 1. You must give any other recipients of the Work or Derivative Works + a copy of this License; and + 2. You must cause any modified files to carry prominent notices stating + that You changed the files; and + 3. You must retain, in the Source form of any Derivative Works that + You distribute, all copyright, patent, trademark, and attribution + notices from the Source form of the Work, excluding those notices + that do not pertain to any part of the Derivative Works; and + 4. If the Work includes a "NOTICE" text file as part of its distribution, + then any Derivative Works that You distribute must include a readable + copy of the attribution notices contained within such NOTICE file, + excluding those notices that do not pertain to any part of + the Derivative Works, in at least one of the following places: + within a NOTICE text file distributed as part of the Derivative Works; + within the Source form or documentation, if provided along with the + Derivative Works; or, within a display generated by the Derivative Works, + if and wherever such third-party notices normally appear. + The contents of the NOTICE file are for informational purposes only + and do not modify the License. + +You may add Your own attribution notices within Derivative Works +that You distribute, alongside or as an addendum to the NOTICE text +from the Work, provided that such additional attribution notices +cannot be construed as modifying the License. You may add Your own +copyright statement to Your modifications and may provide additional or +different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works +as a whole, provided Your use, reproduction, and distribution of +the Work otherwise complies with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, +any Contribution intentionally submitted for inclusion in the Work +by You to the Licensor shall be under the terms and conditions of +this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify +the terms of any separate license agreement you may have executed +with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade +names, trademarks, service marks, or product names of the Licensor, +except as required for reasonable and customary use in describing the +origin of the Work and reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or +agreed to in writing, Licensor provides the Work (and each +Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +implied, including, without limitation, any warranties or conditions +of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any +risks associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, +whether in tort (including negligence), contract, or otherwise, +unless required by applicable law (such as deliberate and grossly +negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, +incidental, or consequential damages of any character arising as a +result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, +work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses), even if such Contributor +has been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. While redistributing +the Work or Derivative Works thereof, You may choose to offer, +and charge a fee for, acceptance of support, warranty, indemnity, +or other liability obligations and/or rights consistent with this +License. However, in accepting such obligations, You may act only +on Your own behalf and on Your sole responsibility, not on behalf +of any other Contributor, and only if You agree to indemnify, +defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason +of your accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Flora License to your work + +To apply the Flora License to your work, attach the following +boilerplate notice, with the fields enclosed by brackets "[]" +replaced with your own identifying information. (Don't include +the brackets!) The text should be enclosed in the appropriate +comment syntax for the file format. We also recommend that a +file or class name and description of purpose be included on the +same "printed page" as the copyright notice for easier +identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Flora License, Version 1.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://floralicense.org/license/ + + 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. + diff --git a/NOTICE b/NOTICE new file mode 100644 index 0000000..85044e4 --- /dev/null +++ b/NOTICE @@ -0,0 +1,4 @@ +Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved. +Except as noted, this software is licensed under Flora License, Version 1. +Please, see the LICENSE.Flora file for Flora License terms and conditions. + diff --git a/config.xml b/config.xml new file mode 100644 index 0000000..d28b78c --- /dev/null +++ b/config.xml @@ -0,0 +1,13 @@ + + + + + + + + + + ExercisePlanner + + + diff --git a/css/GraphSchedule.css b/css/GraphSchedule.css new file mode 100644 index 0000000..61da77d --- /dev/null +++ b/css/GraphSchedule.css @@ -0,0 +1,122 @@ +.GraphSchedule { + position: relative; + overflow-x: scroll; + width: 100%; + height: 100px; + background-color: transparent; + z-index: 1000; +} + +.GraphSchedule .container { + width: 600px; + bottom: 5px; + position: absolute; +} + +.GraphSchedule table { + pointer-events: none; +} + +.GraphSchedule td { + width: 70px; + text-align: left; + color: gray; + height: 10px; +} + +.GraphSchedule table .grid td { + border-width: 1px 0 0px 1px; + border-style: solid; + border-color: white; + font-size: 13px; + font-family: Helvetica; + position: relative; +} + +.GraphSchedule table .ranges td { + border-width: 1px 0 0 1px; + border-style: solid; + border-color: gray; + position: relative; +} + +.GraphSchedule table .ranges .th { + border-width: 0px; + background-color: rgba(50, 50, 50, 0.2); + position: relative; + padding: 0; +} + +.GraphSchedule table .rangesWeekend td { + border-width: 1px 0 0 1px; + border-style: solid; + border-color: gray; + position: relative; +} + +.GraphSchedule table .rangesWeekend .th { + border-width: 0px; + background-color: rgba(50, 50, 250, 0.2); + position: relative; + padding: 0; +} + +.GraphSchedule .flag { + position: absolute; + width: 10px; + height: 60px; + background-color: transparent; + bottom: 19px; +} + +.GraphSchedule .flag .container { + position: relative; + width: 10px; + bottom: -1px; + height: 60px; +} + +.GraphSchedule .flag .rod { + position: absolute; + width: 2px; + height: 55px; + left: 0; + background-color: brown; + bottom: 0; + border-width: 0 1px 0 0; + border-style: solid; + border-color: #aaa; +} + +.GraphSchedule .flag p { + position: absolute; + width: 15px; + left: 3px; + background-color: #f88; + height: 15px; + top: -10px; + background-image: -webkit-linear-gradient(left, #F88 18%, #E31448 59%); +} + +.GraphSchedule .flag .hint { + display: none; + position: absolute; + width: 42px; + height: 18px; + top: 8px; + left: 2px; + background-color: #FF9; + -webkit-border-radius: 5px 5px 5px; + position: absolute; +} + +.currentTimeBar { + position: absolute; + height: 100px; + background-color: yellow; + width: 2px; + bottom: -20px; + border-width: 0 1px 0 0; + border-style: solid; + border-color: #FC0; +} \ No newline at end of file diff --git a/css/jquery.ui.layout.css b/css/jquery.ui.layout.css new file mode 100644 index 0000000..bcecced --- /dev/null +++ b/css/jquery.ui.layout.css @@ -0,0 +1,33 @@ +.ui-myHeader { + background-color: #293d5e; + height: 70px; +} + +.ui-myContent { + overflow: auto; + -webkit-box-flex: 1; + height: 0px; +} + +.ui-myFooter { + background-color: #192333; + height: 70px; +} + +.ui-myExit { + float: right; + background-color: #555; + width: 70px; + height: 50px; + margin-top: 10px; + margin-right: 10px; + border-radius: 5px; + background-image: url('../images/00_winset_Back.png'); + background-repeat: no-repeat; + background-position: center center; + background-size: 50%; +} + +.ui-myHeader { + text-align: center; +} \ No newline at end of file diff --git a/css/style.css b/css/style.css new file mode 100644 index 0000000..e1eff8f --- /dev/null +++ b/css/style.css @@ -0,0 +1,279 @@ +#one { + background-image: url('../images/background.png'); +} + +.screen { + font-family: serif; + color: white; + font-size: 17pt; +} + +#sentence { + margin: 10px 30px 0 30px; + position: relative; + float: right; + text-indent: 30px; +} + +#signature { + margin: 0px 30px 0 auto; + position: relative; + float: right; +} + +#logo { + font-family: courier; + font-size: 36px; + width: 100%; + background-repeat: no-repeat; + margin: 0px 40px 0 auto; + color: white; + border-bottom: 1px solid white; + font-weight: bolder; + text-align: right; + line-height: 43px; +} + +#status { + width: 400px; + height: 350px; + margin: 0 auto; + background-repeat: no-repeat; +} + +#status.lazy { + background-image: url('../images/state_lazy.png'); +} + +#status.run { + background-image: url('../images/state_run.png'); +} + +#communicate { + font-size: 17pt; + text-align: center; + min-height: 70px; +} + +#communicate.onAlert { + font-size: 60px; + text-align: center; + text-shadow: 5px 5px 5px black; +} + +#communicate b { + font-size: 25px; +} + +#communicate div { + font-size: 32px; + font-weight: bold; +} + +.schedule { + height: 100px; +} + +.scheduleOptions { + height: 100px; +} + +.increasingStrength { + display: none; +} + +.strength { + margin: 0 0 20px 0; +} + +.timeRangeLabel { + height: 50px; +} + +.activeStatus { + display: inline; + float: right; + color: blue; +} + +.activeStatusDisable { + color: red; +} + +.times li { + float: left; + width: 200px; +} + +.times { + width: 100%; + float: left; + margin: 0; + padding: 10px; +} + +.times .ui-datefield { + font-size: 60px; +} + +/** + +old styles; + +*/ +.exerciseView { + width: 80%; + height: 200px; + border-width: 1px; + border-color: #888 #DDD #DDD #888; + border-style: solid; + background-color: #578; + -webkit-border-radius: 0.6em; + -webkit-box-align: center; + margin: 0 auto; + box-shadow: 0px 0px 20px #000; + position: relative; +} + +.optionsExercises label { + line-height: 44px; +} + +#exercises { + margin-bottom: 10px; +} + +.myHeader { + +} + +.ui-controlgroup .ui-radio { + width: 20%; +} + +.myContent { + margin: auto 10px 10px 10px; +} + +.footerContent { + margin: 0 auto; + text-align: center; + padding-top: 20px; +} + +.newExerciseName label { + width: 100%; +} + +.newExerciseName input { /*background-color:white;*/ + +} + +.ui-footer { + z-index: 1000; +} + +#availableTime { + margin-top: 12px; + overflow: hidden; + margin-left: 0; + margin-right: 0; +} + +#availableTime li { + margin-left: 0; + margin-right: 0; +} + +.ui-swipelist-item .ui-btn { + padding: 4px; + margin-right: 12px; +} + +.ui-li-text-sub-right { + font-size: 18px; + margin-right: 17px; + float: right; + margin-top: 2px; + color: #08f; +} + +.disabled { + color: #f00; +} + +ul { + list-style-type: none; +} + +.goToOptionsPack { + width: 100%; +} + +.goToOptions { + width: 80%; + margin-left: 10%; + margin-right: 10%; +} + +.buttonOptions { + float: right; + box-shadow: 0px 0px 10px #000; +} + +.buttonStop { + background-color: #F40; + box-shadow: 0px 0px 10px #000; +} + +.selectPeriodType .ui-radio { + width: 100%; +} + +#formEnablePeriod { + margin-bottom: 20px; +} + +#ok_wait { + position: absolute; + bottom: 0; + width: 100%; +} + +#ok_wait .ok { + left: 50px; +} + +#ok_wait .wait { + right: 50px; + position: absolute; +} + +span.meterDesc { + position: absolute; + z-index: 100; + display: block; + text-align: center; + width: inherit; + padding-top: 8px; + color: #333; +} + +.enableOption { + padding-bottom: 20px; +} + +.enableOption>div { + display: table-cell; +} + +.enableOption>label { + float: left; + padding-right: 20px; + padding-top: 8px; + vertical-align: middle; +} + +div.period { + padding-left: 10px; +} diff --git a/icon.png b/icon.png new file mode 100755 index 0000000000000000000000000000000000000000..983c883493a0ae561b9592d54ea8204042b4b6fb GIT binary patch literal 17581 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 Ee-e=)EdT%j literal 0 HcmV?d00001 diff --git a/images/state_run.png b/images/state_run.png new file mode 100644 index 0000000000000000000000000000000000000000..a72d60e099326fed5af91097b45d5914023f5f96 GIT binary patch literal 27376 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 O5P-6(GWAksVgC<*4VAe7 literal 0 HcmV?d00001 diff --git a/index.html b/index.html new file mode 100644 index 0000000..631602b --- /dev/null +++ b/index.html @@ -0,0 +1,229 @@ + + + + + + + + +ExercisePlanner + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ +
+
+
+
+
+
+
+ +
+ + + +
+
+ +
+
+

ExercisePlanner > options

+
+ +
+
+ +
+
Frequency
+
+ + + + + + + + + + +
+
+ +
+ +
+ +
+ +
+
Strength
+
+ + + + + + + + + + +
+
+ +
+ + +
+ + add time +
    + +
    +
    + +
    +
    + +
    +
    +
    + +
    +
    +

    ExercisePlanner > select workouts

    +
    + +
    +
    +
    Select workouts
    +
      + add custom workout +
      +
      + +
      +
      + +
      +
      +

      ExercisePlanner > add custom workout

      +
      + +
      +
      +
      Enter workout name:
      + + +
      +
      + +
      +
      + +
      +
      +

      add time

      +
      + +
      +
      +
        +
      • Start: + + hour +
      • +
      • Duration: + + hours +
      • +
      + +
      + Choose a type of period: + + + + + + + + +
      +
      + Enabled + +
      +
      + + +
      + +
      +
      + + + diff --git a/js/GraphSchedule.js b/js/GraphSchedule.js new file mode 100644 index 0000000..72df6f8 --- /dev/null +++ b/js/GraphSchedule.js @@ -0,0 +1,186 @@ +/*jslint devel: true*/ +/*global $ */ +/** + * Constructor + * + * @param {object} params + * @returns + */ +function GraphSchedule(params) { + "use strict"; + this.init(params); +} + +(function () { + "use strict"; + GraphSchedule.prototype = { + template: '', + ui: null, + $flag: null, + $graph: null, + timeRanges: { + workday: [], + weekend: [] + }, + flags: [] + }; + + GraphSchedule.prototype.createUI = function createUI() { + var $tmp = $('
      '); + + $tmp.html(this.template); + this.$flag = $tmp.find('.flag'); + this.$graph = $tmp.find('.GraphSchedule'); + this.ui = this.$graph; + + this.addCurrentTimeBar(); + this.showFlags(); + + this.center(); + }; + + GraphSchedule.prototype.center = function center() { + // set scroll position; + this.$graph[0].scrollLeft = 1000 * ((new Date().getHours() - 4) / 24); + }; + + GraphSchedule.prototype.refresh = function refresh() { + this.updateTimeRanges(); + this.showFlags(); + this.center(); + }; + + GraphSchedule.prototype.onTemplateLoad = function onTemplateLoad() { + }; + + GraphSchedule.prototype.init = function init(params) { + var $loader = $('
      '); + + if (params && params.onSuccess) { + this.onTemplateLoad = params.onSuccess; + } + + this.flags = []; + $loader.load('templates/GraphSchedule.tmpl', null, function (data) { + this.template = data; + this.createUI(); + this.onTemplateLoad(); + }.bind(this)); + }; + + /** + * + * @param {Array} times + * @returns + */ + GraphSchedule.prototype.pushTimeOfFlags = function pushTimeOfFlags(times) { + var i, count; + + // clear previous times; + this.flags = []; + + if (times instanceof Array) { + count = times.length; + for (i = 0; i < count; i += 1) { + if (times[i] instanceof Date) { + this.flags.push({ time: times[i] }); + } else { + throw {message: 'Bag argument at [' + i + '] element of Array. Expected {Date}'}; + } + } + } else { + throw {message: 'Bad argument. Expected {Array} of {Date}'}; + } + }; + + GraphSchedule.prototype.addCurrentTimeBar = function addCurrentTimeBar() { + // remove old time bar; + var $currentTimeBar = this.$graph.find('.currentTimeBar'), + currentTime = new Date(), + hours = currentTime.getHours(); + + if ($currentTimeBar.length === 0) { + // add new; + $currentTimeBar = $('
      '); + } + + if (hours < 10) { + hours = '0' + hours; + } + + this.$graph.find('.ranges .h' + hours).append($currentTimeBar); + $currentTimeBar.css('left', 100 * currentTime.getMinutes() / 60 + '%'); + + setTimeout(this.addCurrentTimeBar.bind(this), 5 * 60 * 1000); + }; + + GraphSchedule.prototype.addFlag = function addFlag(newFlag) { + var $flagClone, hours = newFlag.time.getHours(); + if (hours < 10) { + hours = '0' + hours; + } + $flagClone = this.$flag.clone(); + this.$graph.find('.grid td:contains(' + hours + ')').append($flagClone); + $flagClone.css('left', 100 * newFlag.time.getMinutes() / 60 + '%'); + }; + + GraphSchedule.prototype.showFlags = function showFlags() { + var i, len = this.flags.length; + // remove old flags; + this.removeFlags(); + + // add all flags to view; + for (i = 0; i < len; i += 1) { + this.addFlag(this.flags[i]); + } + + this.center(); + }; + + GraphSchedule.prototype.removeFlags = function removeFlags() { + this.$graph.find('.flag').remove(); + }; + + GraphSchedule.prototype.setTimeRanges = function setTimeRanges(ranges) { + this.timeRanges = ranges; + }; + + GraphSchedule.prototype.setVisibleWeekend = function (bool) { + var row = this.ui.find('.rangesWeekend'); + return bool ? row.show() : row.hide(); + }; + + GraphSchedule.prototype.setVisibleWorkdays = function (bool) { + var row = this.ui.find('.ranges'); + return bool ? row.show() : row.hide(); + }; + + /** + * Update time ranges on graph + * @param ranges {array} array of boolen, keys are hours, example: [false, false, false, true, true] + */ + GraphSchedule.prototype.updateTimeRanges = function updateTimeRanges() { + var i, len, hours; + + this.$graph.find('.th').removeClass('th'); + + // workdays; + hours = this.timeRanges.workday; + len = hours.length; + for (i = 0; i < len; i += 1) { + if (hours[i]) { + this.$graph.find('.ranges .h' + ((i < 10) ? '0' + i : i)).addClass('th'); + } + } + + //weekends; + hours = this.timeRanges.weekend; + len = hours.length; + for (i = 0; i < len; i += 1) { + if (hours[i]) { + this.$graph.find('.rangesWeekend .h' + ((i < 10) ? '0' + i : i)).addClass('th'); + } + } + }; + +}()); diff --git a/js/UI.js b/js/UI.js new file mode 100644 index 0000000..7d3d334 --- /dev/null +++ b/js/UI.js @@ -0,0 +1,415 @@ +/*jslint nomen: true*/ +/*global $, GraphSchedule, confirm, range, history, setTimeout */ +function UI() { + "use strict"; +} + +(function () { + "use strict"; + UI.prototype = { + sentence : { + 'lazy' : { + text : 'He does not seem to me to be a free man who does not sometimes do nothing.', + signature : 'Marcus T. Cicero' + }, + 'run' : { + text : 'A journey of a thousand miles begins with a single step.', + signature : 'Lao-tzu' + } + }, + graphSchedule : null, + app : null + }; + + UI.prototype.fillExercises = function (exercisesData) { + var i, len, self = this; + + $('#exercises').replaceWith( + $('
        ') + ); + for (i = 0, len = exercisesData.length; i < len; i += 1) { + $('#exercises').append( + $(this.getExercisesTemplate(exercisesData[i], i)) + ); + } + $('#exercises').listview(); + $('#exercises :jqmData(role="slider")').slider(); + $('#exercises li').on('tap', function () { + var $toggle = $(this).find(':jqmData(role="slider")'); + $toggle.val(($toggle.val() === 'off') ? 'on' : 'off'); + $toggle.slider('refresh'); + self.app.saveExercises(self.getExercisesList()); + }); + $('#exercises :jqmData(role="slider")').on('change', function (e) { + e.preventDefault(); + e.stopPropagation(); + self.app.saveExercises(self.getExercisesList()); + }); + }; + + UI.prototype.fillTimesRanges = function (timesData) { + var self = this, len, i; + + $('#availableTime').replaceWith( + $('
          ') + ); + for (i = 0, len = timesData.length; i < len; i += 1) { + $('#availableTime') + .append($(this.getAvailableTimeTemplate(timesData[i]))); + } + $('#availableTime').trigger('create'); + $('#availableTime').listview().listview('refresh'); + $('#availableTime :jqmData(name=edit)').on('tap', function (e) { + e.preventDefault(); + e.stopPropagation(); + self.editTimeRange($(this).data('val')); + }); + $('#availableTime :jqmData(name=disable)').on('tap', function (e) { + e.stopPropagation(); + self.app.disableTimeRange($(this).data('val')); + }); + $('#availableTime :jqmData(name=delete)').on('tap', function (e) { + e.stopPropagation(); + if (confirm('Are you sure?')) { + self.app.deleteTimeRange($(this).data('val')); + } + }); + }; + + UI.prototype.fillTimeRangeForm = function fillTimeRangeForm(timeRange) { + var tmpData = new Date(); + // Filling form; + $('#startTime').attr('data-val', + new Date(tmpData.setHours(timeRange.start))); + $('#duration').attr('data-val', timeRange.duration); + + if ($('#startTime').data('datetimepicker')) { + $('#startTime').data('datetimepicker').options.date + .setHours(timeRange.start); + $('#startTime').data('datetimepicker').ui + .find('.ui-datefield-hour').html( + (timeRange.start < 10) ? '0' + timeRange.start : timeRange.start + ); + } + if ($('#duration').data('datetimepicker')) { + $('#duration').data('datetimepicker').options.date + .setHours(timeRange.duration); + $('#duration').data('datetimepicker').ui.find('.ui-datefield-hour') + .html( + (timeRange.duration < 10) ? '0' + + timeRange.duration : timeRange.duration + ); + $('#duration').data('datetimepicker')._populateDataSelector = function (field, pat) { + var result = $.tizen.datetimepicker.prototype._populateDataSelector + .call(this, field, pat); + result.values = range(1, 20); + result.data = range(1, 20); + result.current -= 1; + return result; + }; + } + + $('#formEnablePeriod')[0].value = timeRange.enabled ? 'on' : 'off'; + $('#formEnablePeriod').slider('refresh'); + }; + + UI.prototype.editTimeRange = function (nr, event) { + if (event && typeof event.stopPropagation === 'function') { + event.preventDefault(); + event.stopPropagation(); + } + + if (this.app.editTimeRange(nr) >= 0) { + $('#updateTime').val('modify'); + } else { + $('#updateTime').val('add'); + } + + // change page to form; + $.mobile.changePage("#rangesOfTimes"); + }; + + UI.prototype.getExercisesList = function () { + return $('#exercises :jqmData(role=slider)').map(function (o, v) { + return ({ + index : $(v).attr('data-index'), + checked : ($(v).val() === 'on') ? true : false + }); + }); + }; + + UI.prototype.addExercise = function () { + if ($("#newExerciseName").val()) { + if (this.app.addExercise($("#newExerciseName").val())) { + $("#newExerciseName").trigger('blur'); + setTimeout(history.back.bind(history), 50); + } + } else { + this.showErrors([ { + name : 'Name of exercise is not correct.', + code : 100 + } ]); + } + }; + + UI.prototype.configToUI = function () { + }; + + UI.prototype.updateMainUI = function () { + this.setStatusRun(this.app.config.trainingEnabled); + this.graphSchedule.setTimeRanges(this.app.periodsWeekToBoolArray()); + }; + + UI.prototype.getTimeRangeFromForm = function () { + return { + start : $('#startTime').data('datetimepicker').options.date + .getHours(), + duration : $('#duration').data('datetimepicker').options.date + .getHours(), + stop : $('#startTime').data('datetimepicker').options.date + .getHours() + + $('#duration').data('datetimepicker').options.date + .getHours(), + style : $('.selectPeriodType :radio:checked').val(), + enabled : ($('#formEnablePeriod')[0].value === 'on' ? true : false) + }; + }; + + UI.prototype.editTimeRangeAction = function (nr) { + if (this.app.saveTimeRange(nr, this.getTimeRangeFromForm())) { + history.back(); + } else { + throw ({ + message : 'Time start and stop is not present.', + code : 1 + }); + } + }; + + UI.prototype.showNoticeInMonitor = function (notice, alarm) { + $('#communicate').html(notice); + $('#communicate').toggleClass('onAlert', alarm); + }; + + UI.prototype.changeButtonAddTime = function (text) { + $('#addTime').html(text); + }; + + UI.prototype.showErrors = function (errors) { + var i; // count; + for (i = 0; i < errors.length; i += 1) { + alert(errors[i].name); + } + }; + + UI.prototype.showAlarmInMonitor = function (data) { + var notice = ''; + function formatNN(val) { + return (val < 10) ? ('0' + val) : val; + } + + if (data && data.alarm && this.app.config.trainingEnabled) { + this.app.currentAlarm = this.app.findCurrentAlarm(); + if (this.app.currentAlarm.length > 0) { + notice += 'Go... go... go...!
          ' + data.exerciseName + ' x ' + + data.numberOfTimes; + } else { + notice += 'Next exercises set at: ' + + formatNN(data.alarm.getHours()) + ':' + + formatNN(data.alarm.getMinutes()) + '
          ' + + data.exerciseName + ' x ' + data.numberOfTimes; + } + } else { + notice += '
          You have no workouts scheduled for now.
          '; + } + this.showNoticeInMonitor(notice, false); + }; + + UI.prototype.getSentence = function UI_getSentence(type) { + return (this.sentence[type] || { + text : 'No sentence', + signature : 'anonymous' + }); + }; + + UI.prototype.setSentence = function (type) { + var sentence = this.getSentence(type); + $('#sentence').html('"' + sentence.text + '"'); + $('#signature').html('- ' + sentence.signature); + }; + + UI.prototype.showWaitOk = function () { + $('#mainControl').hide(); + $('#one .ui-btn-back').hide(); + + $('#onAlertControl').tabbar(); + $('#onAlertControl').show(); + $('#onAlertControl').css('width', ''); + }; + + UI.prototype.setStatusRun = function (bool) { + if (bool) { + // icon; + $('#status').removeClass('lazy').addClass('run'); + // sentence; + this.setSentence('run'); + // button in control bar; + $('#startStop .ui-btn-text').html('stop training'); + } else { + $('#status').removeClass('run').addClass('lazy'); + this.setSentence('lazy'); + $('#communicate').html(''); + $('#startStop .ui-btn-text').html('start training'); + } + }; + + UI.prototype.bindEvents = function bindEvents() { + var self = this; + + // bind events; + $('#one .ui-btn-back').on('tap', this.app.exit.bind(this.app)); + + $('#ok').on('tap', self.app.ok.bind(self.app)); + $('#wait').on('tap', self.app.wait.bind(self.app)); + $('#todayOffAll').on('tap', self.app.todayOffAll.bind(self.app)); + + $('#startStop').on('tap', function () { + self.app.appStartStop(); + }); + + $('#one').on( + 'pageshow', + function (page, options) { + if (self.graphSchedule.ui) { + $('#one .schedule').append(self.graphSchedule.ui); + self.app.updateGraph(); + self.graphSchedule.refresh(); + self.graphSchedule.setVisibleWeekend(!self.app + .todayIsWorkday()); + self.graphSchedule.setVisibleWorkdays(self.app + .todayIsWorkday()); + } + $('#one .schedule').on('touchstart', function (ev) { + ev.stopPropagation(); + }); + + // workaround for scroll lock; + $.mobile.activePage.css('position', 'fixed'); + } + ); + + $('#two').on('pageshow', function (page, options) { + + //FIXME (two scrollbar workaround) + setTimeout( + function () { + var newHeight = $('#two').find('[data-role="content"]').prop('style').height; + $('#two').css({'min-height': newHeight, 'height': newHeight}); + }, + 0 + ); + + if (self.graphSchedule.ui) { + $('#two .scheduleOptions').append(self.graphSchedule.ui); + self.graphSchedule.refresh(); + self.graphSchedule.setVisibleWeekend(true); + self.graphSchedule.setVisibleWorkdays(true); + } + }); + + $('#two').on('pageinit', function (page, options) { + $('.ui-radio input', $('#frequency')).change(function (ev) { + self.app.setFrequency(this.value); + self.updateMainUI(); + }); + + $('.ui-radio input', $('#strength')).change(function (ev) { + self.app.setStrength(this.value); + self.updateMainUI(); + }); + + $('#frequency')[0].select(self.app.config.frequency); + $('#strength')[0].select(self.app.config.strength); + + $('#two .scheduleOptions').append(self.graphSchedule.ui); + $('#two .scheduleOptions').on('touchstart', function (ev) { + ev.stopPropagation(); + }); + + $('#workdaysType').on('tap', function (ev) { + self.app.changeTypeOfPeriods('workday'); + }); + + $('#weekendType').on('tap', function (ev) { + self.app.changeTypeOfPeriods('weekend'); + }); + + $('#addTimeRange').on('tap', self.editTimeRange.bind(self, -1)); + + self.app.updateTimesRanges(); + self.configToUI(); + }); + + $('#selectExercises').on('pageinit', function (page, options) { + self.app.updateExercises(); + self.configToUI(); + }); + + $('#customExercises').on('pageinit', function (page, options) { + $('#btnNewExercise').on('click', self.addExercise.bind(self)); + }); + + $('#customExercises').on('pageshow', function (page, options) { + $('#newExerciseName').val(''); + $('#newExerciseName').trigger('focus'); + }); + + $('#rangesOfTimes').on('pageinit', function (page, options) { + $("#updateTime").on("tap", function (e) { + e.preventDefault(); + e.stopPropagation(); + self.editTimeRangeAction(self.app.currentEditingTimePeriodId); + }); + }); + + $('#rangesOfTimes').on('pageshow', function (page, options) { + $('#updateTime').data('button').refresh(); + self.fillTimeRangeForm(self.app.currentEditingTimePeriod); + }); + + $('#increasingStrength').on('change', function () { + self.app.config.increasingStrength = this.checked; + self.app.saveConfig(); + + self.configToUI(); + }); + }; + + UI.prototype.onGraphSchedule = function onGraphSchedule(onInitEnd) { + this.updateMainUI(); + + $('#one .schedule').append(this.graphSchedule.ui); + this.app.updateGraph(); + this.graphSchedule.refresh(); + this.graphSchedule.setVisibleWeekend(!this.app.todayIsWorkday()); + this.graphSchedule.setVisibleWorkdays(this.app.todayIsWorkday()); + + if (typeof onInitEnd === 'function') { + onInitEnd(); + } + }; + + UI.prototype.initialize = function (onInitEnd) { + $.mobile.tizen.disableSelection(document); + + this.bindEvents(); + + $('html').css('font-size', ''); + $('body').css('font-size', ''); + + this.graphSchedule = new GraphSchedule({ + onSuccess : this.onGraphSchedule.bind(this, onInitEnd) + }); + }; + +}()); diff --git a/js/UI.simpleTemplate.js b/js/UI.simpleTemplate.js new file mode 100644 index 0000000..8ce5874 --- /dev/null +++ b/js/UI.simpleTemplate.js @@ -0,0 +1,25 @@ +/*global UI */ +(function () { + "use strict"; + UI.prototype.getAvailableTimeTemplate = function getAvailableTimeTemplate(obj) { + return '
        • ' + '
          start: ' + obj.start + + ' (duration: ' + obj.duration + 'h) ' + obj.style + '
          ' + + '
          ' + + '
          Edit
          ' + + '
          ' + + ((obj.enabled) ? 'Dis' : 'En') + 'able
          ' + + '
          Delete
          ' + + '
          ' + ((obj.enabled) ? 'En' : 'Dis') + 'abled
          ' + + '
          ' + '
        • '; + }; + + UI.prototype.getExercisesTemplate = function (obj, i) { + return '
        • ' + + '' + obj.name + '' + + '' + '
        • '; + }; +}()); + diff --git a/js/app.alarms.js b/js/app.alarms.js new file mode 100644 index 0000000..3c6c17e --- /dev/null +++ b/js/app.alarms.js @@ -0,0 +1,55 @@ +/*jslint devel:true*/ +/*global ExercisePlanner:false, tizen:false*/ +/** + * Methods for add / remove alarms by API; + */ +(function () { + "use strict"; + /** + * Wrapper on remove all alarms joined with app + */ + ExercisePlanner.prototype.removeAllAlarms = function () { + tizen.alarm.removeAll(); + }; + + ExercisePlanner.prototype.WORKDAYS = ["MO", "TU", "WE", "TH", "FR"]; + ExercisePlanner.prototype.WEEKEND = ["SA", "SU"]; + + /** + * Add alarms from Array + * + * @param tabOfAlarm + * @param defOfPeriod + */ + ExercisePlanner.prototype.addAlarmFromArray = function addAlarmFromArray(tabOfAlarm, defOfPeriod) { + var i, len = tabOfAlarm.length, alarm; + + for (i = 0; i < len; i += 1) { + alarm = new tizen.AlarmAbsolute(tabOfAlarm[i], defOfPeriod); + try { + tizen.alarm.add(alarm, this.selfId); + } catch (e) { + console.error(e.message); + } + } + }; + + /** + * Add alarms to API DataBase + * + * @param {object} alarms + */ + ExercisePlanner.prototype.addAlarmsAllWeek = function addAlarmsAllWeek(alarms) { + if (alarms.everyday.length > 0) { + this.addAlarmFromArray(alarms.everyday, tizen.alarm.PERIOD_DAY); + } + if (alarms.workday.length > 0) { + this.addAlarmFromArray(alarms.workday, this.WORKDAYS); + } + if (alarms.weekend.length > 0) { + this.addAlarmFromArray(alarms.weekend, this.WEEKEND); + } + }; + +}()); + diff --git a/js/app.alarmsGenerating.js b/js/app.alarmsGenerating.js new file mode 100644 index 0000000..37ae7b0 --- /dev/null +++ b/js/app.alarmsGenerating.js @@ -0,0 +1,153 @@ +/*jslint devel: true*/ +/*global ExercisePlanner: true, ONE_DAY:false, TIME_OF_SLEEP:false */ +/** + * + */ +(function () { + "use strict"; + /** + * + * + * @param availableTime + * @param typeOfPeriod + * @returns {object} + */ + ExercisePlanner.prototype.calculateFactor = function calculateFactors(availableTime, typeOfPeriod) { + var factor, + result = { + count: 0, + period: 0 + }; + + if (availableTime === 0) { + return result; + } + + factor = availableTime / (this.ONE_DAY - this.TIME_OF_SLEEP); + result.proportionalFrequency = this.getNumberOfWorkoutsByFrequency(this.config.frequency[typeOfPeriod]) * factor; + + if ((Math.round(result.proportionalFrequency) - 1) > 0) { + result.count = (Math.round(result.proportionalFrequency)); + result.period = availableTime / (result.count - 1); + } else { + result.count = 1; + result.period = 0; + } + + return result; + }; + + /** + * + * + * @param availableTime + * @returns {object} + */ + ExercisePlanner.prototype.calculateFactors = function calculateFactors(availableTime) { + return { + weekend: this.calculateFactor(availableTime.weekend, 'weekend'), + workday: this.calculateFactor(availableTime.workday, 'workday'), + everyday: this.calculateFactor(availableTime.everyday, 'workday') + }; + }; + + /** + * + * + * @param factor + * @param tmpPeriods + * @returns {Array} + */ + ExercisePlanner.prototype.generateAlarmsByFactor = function (factor, tmpPeriods) { + var i, numberOfPeriods = tmpPeriods.length, + period, + begin, + end = 0, + tableOfAlarms = [], + optimalTime, + deltaTime = 0, + dayTime = this.beginDate || new Date(); + + if (numberOfPeriods === 0) { + return []; + } + + begin = tmpPeriods[0].start; + + for (i = 0; i < numberOfPeriods; i += 1) { + if (tmpPeriods[i].stop > end) { + end = tmpPeriods[i].stop; + } + } + + dayTime.setSeconds(0); + + if (factor.count === 1) { + // One alarm per day, default placed in middle of available time; + optimalTime = this.findNearestTimeRange((end + begin) / 2, tmpPeriods); + + dayTime.setHours(parseInt(optimalTime.optimalHour, 10)); + dayTime.setMinutes(60 * (optimalTime.optimalHour - parseInt(optimalTime.optimalHour, 10))); + tableOfAlarms.push(new Date(dayTime.getTime())); + } else { + // set time for begin; + dayTime.setHours(tmpPeriods[0].start); + dayTime.setMinutes(0); + tableOfAlarms.push(new Date(dayTime.getTime())); + + // set time for next hop; + for (i = 0; i < numberOfPeriods; i += 1) { + period = tmpPeriods[i]; + deltaTime += period.duration; + // if available period is too small, then accumulate time + // and continue to next period; + while (deltaTime >= factor.period * 0.999) { + deltaTime -= factor.period; + + dayTime.setHours(parseInt(period.stop - deltaTime, 10)); + dayTime.setMinutes(60 * (period.stop - deltaTime - parseInt(period.stop - deltaTime, 10))); + + tableOfAlarms.push(new Date(dayTime.getTime())); + } + } + } + + return tableOfAlarms; + }; + + /** + * Generate table of alarms => this.alarms + * @param {Date} customDate; + */ + ExercisePlanner.prototype.generateAlarms = function () { + var factors, + alarms = this.alarms, + periodsWeek = { + everyday: [], + workday: [], + weekend: [] + }; + + // some periods may overlap, must be merged + periodsWeek = this.mergePeriods(); + // store in cache for later reuse + this.cache.periodsWeek = periodsWeek; + + // factors to correct how often may workouts per day + factors = this.calculateFactors(this.getSummaryAvailableTime()); + + // Set new alarms; + if (periodsWeek.everyday.length > 0) { + alarms.everyday = this.generateAlarmsByFactor(factors.everyday, periodsWeek.everyday); + } else { + alarms.workday = this.generateAlarmsByFactor(factors.workday, periodsWeek.workday); + alarms.weekend = this.generateAlarmsByFactor(factors.weekend, periodsWeek.weekend); + } + + // if trainig is in run then resinstall alarm imediately + if (this.config.trainingEnabled) { + this.startAlarms(); + } + }; +}()); + diff --git a/js/app.js b/js/app.js new file mode 100644 index 0000000..3ab9bd8 --- /dev/null +++ b/js/app.js @@ -0,0 +1,450 @@ +/*jslint devel:true*/ +/*global tizen, $, app, localStorage, Audio, document, unlockScreen, UI */ +var ExercisePlanner = function () { + "use strict"; +}; + +(function () { + "use strict"; + + ExercisePlanner.prototype = { + /** + * Definition of time for sleep + */ + TIME_OF_SLEEP: 8, + + /** + * Definition one day in hours + */ + ONE_DAY: 24, + + /** + * Stored time of application start + */ + applicationStartTime: new Date(), + + /** + * Cofiguration data will saved for next launch; + * There are default values after install; + */ + config: { + + frequency: { + workday: 3, // 6 for test + weekend: 3 + }, + + strength: { + workday: 1, + weekend: 1 + }, + + /** + * List of workouts; + * - timeRanges:style [ everyday, weekend, workday ]; ( workday : mon-fri ) + */ + exercises: [{ + name: 'bends', + enabled: true + }, { + name: 'squats', + enabled: true + }, { + name: 'push-ups', + enabled: false + }], + + // deprecated for this version; + increasingStrength: true, + + /** + * Default time ranges + */ + timesRanges: [{ + nr: 0, + start: 8, + stop: 16, + duration: 8, + enabled: true, + style: 'everyday' + }, { + nr: 1, + start: 18, + stop: 22, + duration: 4, + enabled: true, + style: 'weekend' + }], + + nearestExercise: -1, + + count: 0, + + trainingEnabled: false + }, + alarms: { + everyday: [], + workday: [], + weekend: [] + }, + + /** + * Used for update GraphSchedule; + * [ workday / weekend ] + */ + currentTypeOfPeriods: 'workday', + /** + * Use on form to edit time period; + */ + currentEditingTimePeriod: null, + currentEditingTimePeriodId: -1, + + /** + * Date when alarm will start generating + */ + beginDate: null, + + /** + * use store temporary data for alarms; + */ + cache: {}, + + /** + * HTML5 audio element for play audio when alarm is called + */ + audioOfAlert: null, + + /** + * Instance of User Interface + */ + ui: null + }; + + /** + * Load configuration of application + * (use localStorage) + */ + ExercisePlanner.prototype.loadConfig = function () { + var configStr = localStorage.getItem('config'); + if (configStr) { + this.config = JSON.parse(configStr); + } else { + this.removeAllAlarms(); + this.sortTimeRanges(); + } + }; + + /** + * Save configuration of application + * (use localStorage) + */ + ExercisePlanner.prototype.saveConfig = function () { + localStorage.setItem('config', JSON.stringify(this.config)); + }; + + ExercisePlanner.prototype.stopTraining = function () { + this.removeAllAlarms(); + this.ui.setStatusRun(this.config.trainingEnabled); + }; + + ExercisePlanner.prototype.startTraining = function () { + this.ui.setStatusRun(this.config.trainingEnabled); + this.startAlarms(); + }; + + /** + * Toggle start/stop alarms for workouts + */ + ExercisePlanner.prototype.appStartStop = function () { + this.config.trainingEnabled = !this.config.trainingEnabled; + if (this.config.trainingEnabled) { + this.startTraining(); + } else { + this.stopTraining(); + } + this.saveConfig(); + }; + + /** + * Closing application with the configuration data saving + */ + ExercisePlanner.prototype.exit = function () { + this.saveConfig(); + this.stopMusic(); + tizen.application.getCurrentApplication().exit(); + }; + + /** + * Sets frequency value and calculates new alarms + * @param value + */ + ExercisePlanner.prototype.setFrequency = function (value) { + this.config.frequency[this.config.currentTypeOfPeriods] = parseInt(value, 10); + + this.saveConfig(); + this.generateAlarms(); + this.updateGraph(this.config.currentTypeOfPeriods); + this.showNextAlarm(); + }; + + /** + * Set Strength value + * @param value + */ + ExercisePlanner.prototype.setStrength = function (value) { + this.config.strength[this.config.currentTypeOfPeriods] = parseInt(value, 10); + this.saveConfig(); + }; + + /** + * Sending array of exercises to UI for update + */ + ExercisePlanner.prototype.updateExercises = function () { + this.ui.fillExercises(this.config.exercises); + }; + + /** + * Sending array of time ranges to UI for update + * & update graph schedule + */ + ExercisePlanner.prototype.updateTimesRanges = function () { + + this.ui.fillTimesRanges(this.config.timesRanges); + this.ui.graphSchedule.updateTimeRanges(); + }; + + /** + * Store exercises in config (and save) + * @param newData + */ + ExercisePlanner.prototype.saveExercises = function (newData) { + var i, l; + + if (newData) { + for (i = 0, l = newData.length; i < l; i += 1) { + this.config.exercises[i].enabled = newData[i].checked; + } + this.generateNearestExercise(); + this.saveConfig(); + } + }; + + /** + * When will earliest workout + * and show in UI + */ + ExercisePlanner.prototype.showNextAlarm = function showNextAlarm() { + var alarms, + currentDate = new Date(); + + if (this.alarms.everyday.length > 0) { + alarms = this.alarms.everyday; + } else { + alarms = (this.todayIsWorkday()) ? this.alarms.workday : this.alarms.weekend; + } + + alarms = alarms.filter(function (item) { + return (item.getTime() > currentDate.getTime()); + }).sort(function (a, b) { + return a.date - b.date; + }); + + if (this.config.nearestExercise > -1) { + this.ui.showAlarmInMonitor({ + alarm: alarms[0], + exerciseName: this.config.exercises[this.config.nearestExercise].name, + numberOfTimes: this.getStrength(this.config.strength.workday, this.config.count) + }); + + this.config.count += 1; + } + this.saveConfig(); + }; + + /** + * Change type of periods [workday/weekend] and update graph + * @param type + */ + ExercisePlanner.prototype.changeTypeOfPeriods = function changeTypeOfPeriods(type) { + if (this.config.currentTypeOfPeriods !== type) { + this.config.currentTypeOfPeriods = type; + this.updateGraph(this.config.currentTypeOfPeriods); + } + }; + + /** + * Check new exercise name for duplication in existings; + * @param name + * @returns + */ + ExercisePlanner.prototype.checkExerciseName = function (name) { + var i, l; + + if (name) { + for (i = 0, l = this.config.exercises.length; i < l; i += 1) { + if (this.config.exercises[i].name === name) { + return i; + } + } + return -1; + } + return undefined; + }; + + /** + * Add new exercise sent from UI + * @param name + * @returns {Boolean} + */ + ExercisePlanner.prototype.addExercise = function (name) { + if (this.checkExerciseName(name) < 0) { + this.config.exercises.push({ + name: name, + enabled: false + }); + this.saveConfig(); + this.ui.fillExercises(this.config.exercises); + return true; + } + this.ui.showErrors([{name: 'Element exists!'}]); + return false; + }; + + /** + * Get number of workouts by frequency + * @param value + * @returns {number} + */ + ExercisePlanner.prototype.getNumberOfWorkoutsByFrequency = function getNumberOfWorkoutsByFrequency(value) { + var iMap = [1, 2, 4, 8, 16, 24, 150], + // -- times per 24h; proportion to set periods of available time; + numberOfWorkouts = iMap[value]; + + return numberOfWorkouts || 2; + }; + + /** + * Get number of exercises in workout by strength value and optional ; + * @param value + * @param count + * @returns {number} + */ + ExercisePlanner.prototype.getStrength = function strengthMap(value, count) { + var sMap = [1, 1, 2, 4, 10, 20], + base = sMap[value] || 2; + + count = count || 1; + return Math.round(base * (count / 10 + 1)); + }; + + /** + * Generate name of exercise for nearest workout + */ + ExercisePlanner.prototype.generateNearestExercise = function () { + var tmp = this.config.exercises.filter(function (item) { + return item.enabled; + }); + this.config.nearestExercise = parseInt(Math.random() * tmp.length, 10); + }; + + + /** + * If user want change work days this method will changing; + * @returns {Boolean} + */ + ExercisePlanner.prototype.todayIsWorkday = function todayIsWorkday() { + var day = (new Date()).getDay(); + return (day >= 1 && day <= 5); + }; + + /** + * Activate alarms in API. + */ + ExercisePlanner.prototype.startAlarms = function startAlarms() { + // clear old alarms; + this.removeAllAlarms(); + + // add new alarms + this.addAlarmsAllWeek(this.alarms); + + this.generateNearestExercise(); + this.showNextAlarm(); + }; + + /** + * Update Graph object + * @param {String} typeOfPeriods ['workday'|'weekend'] + */ + ExercisePlanner.prototype.updateGraph = function updateGraph(typeOfPeriods) { + var alarms; + if (!this.ui.graphSchedule) { + throw { + message: 'graph schedule not exists.' + }; + } + + typeOfPeriods = typeOfPeriods || ((this.todayIsWorkday()) ? 'workday' : 'weekend'); + + if (typeOfPeriods === 'workday') { + alarms = this.alarms.workday; + } else { + alarms = this.alarms.weekend; + } + if (alarms.length === 0) { + alarms = this.alarms.everyday; + } + this.ui.graphSchedule.setTimeRanges(this.periodsWeekToBoolArray()); + this.ui.graphSchedule.pushTimeOfFlags(alarms); + this.ui.graphSchedule.showFlags(); + }; + + /** + * Callback function on visibility change; + */ + ExercisePlanner.prototype.onVisibilityChange = function () { + + switch (document.webkitVisibilityState) { + case 'visible': + this.applicationStartTime = new Date(); + this.currentAlarm = this.findCurrentAlarm(); + if (this.currentAlarm.length > 0) { + this.ui.showWaitOk(); + this.startMusic(); + } + break; + } + }; + + /** + * Turn off all alarms today + */ + ExercisePlanner.prototype.todayOffAll = function todayOffAll() { + // set begin date to tomorrow; + this.beginDate = new Date(); + this.beginDate.setDate(this.beginDate.getDate() + 1); + // recreate alarms; + this.generateAlarms(); + this.exit(); + }; + + // Initialize function + ExercisePlanner.prototype.init = function init() { + var onUiInitialize = function onUiInitialize() { + // register watcher on visibility change; + document.addEventListener('webkitvisibilitychange', this.onVisibilityChange.bind(this)); + this.showNextAlarm(); + this.onVisibilityChange(); + }.bind(this); + + this.selfId = tizen.application.getAppContext().appId; + this.ui = new UI(); + this.ui.app = this; + + this.loadConfig(); + this.config.currentTypeOfPeriods = (this.todayIsWorkday()) ? 'workday' : 'weekend'; + + this.generateAlarms(); + + this.ui.initialize(onUiInitialize); + }; +}()); diff --git a/js/app.onAlarm.js b/js/app.onAlarm.js new file mode 100644 index 0000000..14f734d --- /dev/null +++ b/js/app.onAlarm.js @@ -0,0 +1,66 @@ +/*jslint devel:true*/ +/*global ExercisePlanner:false, tizen:false, Audio:false*/ +/** + * These method are using when alarm is call. + */ +(function () { + "use strict"; + ExercisePlanner.prototype.findCurrentAlarm = function () { + var currentTimeInMinutes = parseInt(this.applicationStartTime.getTime() / 1000, 10), + listOfAlarms = tizen.alarm.getAll(); + + return listOfAlarms.filter(function (item) { + // alarm relative has not date property; + if (!item.date) { + return false; + } + + // +40/-10 seconds tolerance; + if (parseInt(item.date.getTime() / 1000, 10) < (currentTimeInMinutes + 40) + && parseInt(item.date.getTime() / 1000, 10) > (currentTimeInMinutes - 10)) { + return true; + } + }); + }; + + ExercisePlanner.prototype.wait = function () { + // lastAlert -> change +1min + var snozeTime = 1, currentAlarm = this.currentAlarm, newDate = new Date(), alarm; + + if (currentAlarm) { + newDate.setMinutes(newDate.getMinutes() + snozeTime); + // period value must be set so application started by alert will know current alert; + alarm = new tizen.AlarmAbsolute(newDate, tizen.alarm.PERIOD_WEEK * 10); + tizen.alarm.add(alarm, this.selfId); + // -- remove old snooze alarm + if (currentAlarm.period === tizen.alarm.PERIOD_WEEK * 10) { + tizen.alarm.remove(currentAlarm.id); + } + this.stopMusic(); + } + + this.exit(); + // or tizen.application.hide(); + }; + + ExercisePlanner.prototype.ok = function () { + this.exit(); + }; + + ExercisePlanner.prototype.startMusic = function () { + + if (!this.audioOfAlert) { + this.audioOfAlert = new Audio(); + } + this.audioOfAlert.src = 'WebContent/Runner.mp3'; + this.audioOfAlert.load(); + this.audioOfAlert.play(); + }; + + ExercisePlanner.prototype.stopMusic = function () { + if (this.audioOfAlert) { + this.audioOfAlert.pause(); + } + }; +}()); + diff --git a/js/app.timeRange.js b/js/app.timeRange.js new file mode 100644 index 0000000..374fde6 --- /dev/null +++ b/js/app.timeRange.js @@ -0,0 +1,386 @@ +/*jslint devel: true*/ +/*global $, ExercisePlanner: true*/ +/** + * + */ +(function () { + "use strict"; + ExercisePlanner.prototype.checkNewTimeRange = function (start, duration, style) { + var result = []; + if (duration < 1 || duration > 24) { + result.push({ + name: 'Duration is not set properly.', + code: 2 + }); + } + return result; + }; + + /** + * Sort method for time ranges; + */ + ExercisePlanner.prototype.sortTimeRanges = function () { + this.config.timesRanges.sort(function (a, b) { + return a.start - b.start; + }); + }; + + /** + * Find and return max value of nr in time ranges array; + * @returns {Number} + */ + ExercisePlanner.prototype.getMaxNrOfTimeRange = function getMaxNrOfTimeRange() { + var maxNr = -1, i, len = this.config.timesRanges.length; + for (i = 0; i < len; i += 1) { + if (maxNr < this.config.timesRanges[i].nr) { + maxNr = this.config.timesRanges[i].nr; + } + } + return maxNr; + }; + + /** + * + * @param nr + * @returns {Boolean} + */ + ExercisePlanner.prototype.getTimeRangeByNr = function getTimeRangeByNr(nr) { + var result = this.config.timesRanges.filter(function (item) { + return (item.nr === nr); + }); + return result[0]; + }; + + /** + * Save time range + * + * @param nr + * @param timeRange + * @returns {Boolean} + */ + ExercisePlanner.prototype.saveTimeRange = function (nr, timeRange) { + var index = -1, + errors = this.checkNewTimeRange(timeRange.start, timeRange.duration, timeRange.style); + + // new timeRanges has nr === -1; this mean we must get max number from config + if (nr === -1) { + nr = this.getMaxNrOfTimeRange() + 1; + } else { + index = this.config.timesRanges.indexOf(this.getTimeRangeByNr(nr)); + } + + timeRange.nr = nr; + + if (errors.length > 0) { + this.ui.showErrors(errors); + return false; + } + + if (index !== -1) { + this.config.timesRanges[index] = timeRange; + } else { + this.config.timesRanges.push(timeRange); + } + + this.sortTimeRanges(); + this.saveConfig(); + this.ui.fillTimesRanges(this.config.timesRanges); + this.generateAlarms(); + this.updateGraph(); + + return true; + }; + + /** + * + * @param {nymber} + * @returns {number} + */ + ExercisePlanner.prototype.editTimeRange = function editTimeRange(nr) { + var timeRange = this.getTimeRangeByNr(nr); + + if (timeRange !== undefined) { + this.currentEditingTimePeriod = timeRange; + this.currentEditingTimePeriodId = timeRange.nr; + } else { + this.currentEditingTimePeriod = { + nr: -1, + start: 10, + duration: 1, + stop: 11, + enabled: true, + style: 'everyday' + }; + this.currentEditingTimePeriodId = -1; + } + return this.currentEditingTimePeriodId; + }; + + /** + * Delete time range by number on list + * + * @param nr + * @returns {Boolean} + */ + ExercisePlanner.prototype.deleteTimeRange = function (nr) { + + var index, + timeRange = this.getTimeRangeByNr(nr); + + if (timeRange === undefined) { + return false; + } + + index = this.config.timesRanges.indexOf(timeRange); + if (index === -1) { + return false; + } + + // delete time range from array; + this.config.timesRanges.splice(index, 1); + + this.saveConfig(); + this.ui.fillTimesRanges(this.config.timesRanges); + this.generateAlarms(); + // update time periods on graph; + this.ui.graphSchedule.setTimeRanges(this.periodsWeekToBoolArray()); + this.ui.graphSchedule.refresh(); + + this.updateGraph(); + this.showNextAlarm(); + return true; + }; + + /** + * Disable time range by number on list + * + * @param nr + * @returns {Boolean} + */ + ExercisePlanner.prototype.disableTimeRange = function (nr) { + var timeRange = this.getTimeRangeByNr(nr); + + if (timeRange === undefined) { + return false; + } + + timeRange.enabled = !timeRange.enabled; + + this.saveConfig(); + this.ui.fillTimesRanges(this.config.timesRanges); + this.generateAlarms(); + // update time periods on graph; + this.ui.graphSchedule.setTimeRanges(this.periodsWeekToBoolArray()); + this.ui.graphSchedule.refresh(); + + this.updateGraph(this.config.currentTypeOfPeriods); + this.showNextAlarm(); + return true; + }; + + /** + * Combines a overlapped time periods & delete not necesary + * This method modifies exisiting array in cache. + * + * @param periods + * @returns + */ + ExercisePlanner.prototype.mergeOverlapPeriods = function mergeOverlapPeriods(periods) { + var i, len = periods.length, wasOverlap = true, mergePeriod; + + periods.sort(function (a, b) { + return a - b; + }); + + if (len < 2) { + return periods; + } + + while (wasOverlap) { + wasOverlap = false; + len = periods.length; + for (i = 0; i < len - 1; i += 1) { + if (periods[i].stop > periods[i + 1].start) { + mergePeriod = $.extend({}, periods[i]); + if (mergePeriod.stop < periods[i + 1].stop) { + mergePeriod.stop = periods[i + 1].stop; + mergePeriod.duration = mergePeriod.stop - mergePeriod.start; + } + mergePeriod.nr = -1; + periods.splice(i, 2, mergePeriod); + wasOverlap = true; + break; + } + } + } + + return periods; + }; + + ExercisePlanner.prototype.mergePeriods = function mergePeriods() { + var i, len, onlyEveryDay = true, + ranges = this.config.timesRanges, + result = { + everyday : [], + weekend: [], + workday: [] + }; + + // checking time ranges for different to the "everyday" + for (i = 0, len = ranges.length; i < len; i += 1) { + if (ranges[i].style !== 'everyday') { + onlyEveryDay = false; + break; + } + } + + if (onlyEveryDay) { + for (i = 0, len = this.config.timesRanges.length; i < len; i += 1) { + if (this.config.timesRanges[i].enabled) { + result.everyday.push(this.config.timesRanges[i]); + } + } + } else { + // divide 'everyday' periods at workday/weekend + for (i = 0, len = this.config.timesRanges.length; i < len; i += 1) { + // if time range is disabled do not append to cache; + if (this.config.timesRanges[i].enabled) { + switch (this.config.timesRanges[i].style) { + case 'everyday': + result.workday.push(this.config.timesRanges[i]); + result.weekend.push(this.config.timesRanges[i]); + break; + case 'workday': + result.workday.push(this.config.timesRanges[i]); + break; + case 'weekend': + result.weekend.push(this.config.timesRanges[i]); + break; + } + } + } + } + + // check and correct overlaped time periods + this.mergeOverlapPeriods(result.everyday); + this.mergeOverlapPeriods(result.workday); + this.mergeOverlapPeriods(result.weekend); + + return result; + }; + + ExercisePlanner.prototype.getSummaryAvailableTime = function getSummaryAvailableTime() { + var i, len, + periods = this.cache.periodsWeek, + sum = { + weekend: 0, + workday: 0, + everyday: 0 + }; + + for (i = 0, len = periods.everyday.length; i < len; i += 1) { + if (periods.everyday[i].enabled) { + sum.everyday += periods.everyday[i].duration; + } + } + for (i = 0, len = periods.workday.length; i < len; i += 1) { + if (periods.workday[i].enabled) { + sum.workday += periods.workday[i].duration; + } + } + for (i = 0, len = periods.weekend.length; i < len; i += 1) { + if (periods.weekend[i].enabled) { + sum.weekend += periods.weekend[i].duration; + } + } + + return sum; + }; + + ExercisePlanner.prototype.findNearestTimeRange = function (hour, ranges) { + var nearResult, + result = { + requestedHour: hour, + optimalHour: -1 + }; + + if (!ranges.length) { + return result; + } + + /** + * Function search ranges of time for nearest to a hour + */ + nearResult = ranges.reduce(function (previous, element, index) { + var delta = 0; + + if (element.start < hour && element.stop < hour) { + delta = hour - element.stop; + } + + if (element.start > hour && element.stop > hour) { + delta = element.start - hour; + } + + return (delta < previous.delta) ? { index: index, delta: delta } : previous; + }, { index: -1, delta: 100 }); + + if (ranges[nearResult.index].start <= hour && ranges[nearResult.index].stop >= hour) { + result.optimalHour = Math.round((ranges[nearResult.index].start + ranges[nearResult.index].stop) / 2); + } else { + result.optimalHour = (ranges[nearResult.index].start > hour) ? ranges[nearResult.index].start : ranges[nearResult.index].stop; + } + + return result; + }; + + /** + * Export time period to array of boolen [boolean x 24] + * @returns {object} + */ + ExercisePlanner.prototype.periodsWeekToBoolArray = function periodsWeekToBoolArray() { + var i, j, len, periods, + result = { + workday: [], + weekend: [] + }; + + // fill default result; + for (i = 0; i < 24; i += 1) { + result.workday[i] = false; + result.weekend[i] = false; + } + + // set values; + periods = this.cache.periodsWeek.everyday; + len = periods.length; + for (i = 0; i < len; i += 1) { + for (j = periods[i].start; j < periods[i].start + periods[i].duration; j += 1) { + result.workday[j] = true; + result.weekend[j] = true; + } + } + + // set values; + periods = this.cache.periodsWeek.workday; + len = periods.length; + for (i = 0; i < len; i += 1) { + for (j = periods[i].start; j < periods[i].start + periods[i].duration; j += 1) { + result.workday[j] = true; + } + } + + // set values; + periods = this.cache.periodsWeek.weekend; + len = periods.length; + for (i = 0; i < len; i += 1) { + for (j = periods[i].start; j < periods[i].start + periods[i].duration; j += 1) { + result.weekend[j] = true; + } + } + return result; + }; + + +}()); + diff --git a/js/ext.jqMobile.js b/js/ext.jqMobile.js new file mode 100644 index 0000000..9de50b5 --- /dev/null +++ b/js/ext.jqMobile.js @@ -0,0 +1,17 @@ +/*global $*/ +// customize JQueryMobile controlgroup +$.fn.oldControlgroup = $.fn.controlgroup; +$.fn.controlgroup = function (options) { + "use strict"; + return this.oldControlgroup(options).each(function () { + this.deselectAll = function () { + return $('input', this).attr('checked', false).checkboxradio('refresh'); + }; + + this.select = function (value) { + this.deselectAll(); + return $('input[value$="' + value + '"]', this).attr('checked', true).checkboxradio('refresh'); + }; + }); +}; + diff --git a/js/main.js b/js/main.js new file mode 100644 index 0000000..c3d8a85 --- /dev/null +++ b/js/main.js @@ -0,0 +1,21 @@ +/* + * Copyright 2012 Samsung Electronics Co., Ltd + * + * Licensed under the Flora License, Version 1.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://floralicense.org/license/ + * + * 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. + */ +/*global ExercisePlanner, tizen, $, document*/ +var c = null, exercisePlanner = null, appService = null, ui = null; + +exercisePlanner = new ExercisePlanner(); +$(document).ready(exercisePlanner.init.bind(exercisePlanner)); + diff --git a/music/Runner.mp3 b/music/Runner.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..620aba525950fca104a88e59fdd1fd0183f6822d GIT binary patch literal 495598 zcmeFXRa6{Jw17JhAh^4`L+}vX-Q9g~cM0z9?(XhR2=4A~K|_KDojd&JtowFf@6(wz z-o5s&uCKOsNsF<60)QW%-PJ@D6~JFG000Qky9&SxU=OeWxB?u&pFn_`u$&0^AliQi zRRP8TJAezo?Y~phl*C#8zYa;Ov4Ibv{IAH5^FM?+10=;2Kg8jIUjTrrxxBHn4ba&I zfC&C&_TPX1_x67?@P9M#|HBM`UXuPti);V@01E)XIf9K9{A9)i07wAjBt;^r73wJ( zxf#nhVKw?GXjO#Os48*iWK?5AE&w(mZk0T5uLKV4~lh>{r9;!)Y zz!>&6o6(9})>J2{WPDH*m8e+)GaGxp`6zdlk);81!Xi0y5WTEd+4bduT$L7e%w%X$ zVq|1t5wmq<(yH>TZ`+Q&S!B@XwJyi$SxU2PXyiF`(0c^A2n?z+EQ<<)e%nP~Kzalo zI#p0M46eU%W$K<1cPI+uI1>_$A zqLE45xdcO)w@nCudEBCQY;9DO2qE&uMz3A3gaaDsKu7e;CR!WDW^L$BQh|{|{79vZ zqGSAgA1?7&IV6PP1t9q|Y$g4URrd==GAFk@UKVytjGR0Yn#)*8>o5ML>DC>^O#BSe z?@QppPpf>vYfu&51)Y8n>Ic9e8Z5tC8v%NvH|nOP0PqDqPWmAMWP0)T3=IQNaBd=>wvZtn%8_keki zBk8$7{0Z;+7O!KQV^jIeRjqiZTXNB~XpyVe^oCV3fKeD2xxN*>ojzDV(M$Wh(;jgy zGOK;3-d=d%?g}{5&`L>?R+hld=&HR#z{&N<i9d zdw9=ZVCr&;=DK0yEWCQwJlz`bn-80`Q69h#LIe?eFnVA(R0}NG9yeh%yR~Shw-4_c ztFuH^!I35y8_9|xC#sF_k2P;%_oZf4eL6aLYHZ{yn7*FY2{?&Cr)(l#iOb|QNp?!l z)n`-nU3_cNc{7>lT1#A)8H9rM+G^aA@2h!HZcZE1m|mGTFxbWMQ&(42M^B_;Lewd!dm@FHU2SSWe@;7FFl2U3 z)AIwZ@2&nU<87qs8%UJvf@qYF0jcV0m_kAel`&XK5(BII9g}H;RCmS{Lf?>(vk}ED z2O+JSj$p5}i%S|?G2f!JJh!H$x?FWS++HpWPi)QClQYnm<2aCti;G?=cMhPWa-%N3fqXfM)hgjj zN|GH=Gp0F;h)ilUymUME*Rs+%UH(Rmu$#7a+;r-b8KMunQkS*sI`wFjlN_#j8t~1- zeh^9pKsu6cs=~=g$^7(*GNzM8-~-vo@m&;J6fn_+=Q^f>mG`(QErXSVNY1kjUyEHq zSso7dr7wcMsUU@arFjjd8Z}9gmM1Zgbl+3tDSuNb?uzlkUTN)Dsh8 zm?!7i*Qiy@Q800?g}vG_<`anwoa4xMV*;OEB#W#Rr#FqUxyUOFttt zZCcV&9pLd1;F9cfub)<`>tu4|jhJ&(gt@Dz8;gtzA(P3AD8RAXFOw z*-fLnh{B_#jG(J&9ApdM2=N~wRZ^zP@KjeK$i(idp?@PrTo~erE!M7v`<$W@By64x zx*9(+JLxq@)ztX8Lpg{MVK`I-_=dvSgq<0Ma~|sZo34MowLkr)*5B%`{kvpg;%o54 zlkf1BN_0N&T&*mPJ~6i@0%aT;FL#POg}7xwz%drwj+)Jg!eVWBV?#Uf6ZJ>XaEKaD zLBO6QawN6uT2mH@b^Ml_;II4ox3_m*kj>Dr{qeR#l_oFE+l`yu`wKnqa#1R^i3}A+ zir$(;Ul(I*rVp;Ntlsy1#`usrR6E$a60Wy(7vgpvv^u5V?#EAi|CGM+i`S5$xa4R= zu~i+r^Vx5Y@i<3>{5(?_gN@H@0hcMNo?|~ly_xoX2XDDr z#vg4_LPPa?`&+9WsHiws2k;bClage1fIbb2$Reo#WLkJ>Ds%3W&K80^xV!iu^b-KN zOS7qpqNAmK^kNN+ltoY)wgKCau@SDFRd}kcJ_*d0sH!R1&c&yIuL!j%71i)APzQ7{ zQZV5-=u%P&sz8?%^S3VveFwXu)~BFf{gS2cZ@oR>5txCxE3P%-)l(y-N)(91Rw_m* zRX-E0<(bt8^s$Y14&$gJ)YQ;A`L(eL`&#aiG@UzRlXxzU8PcLt*Ko9_YnHY!5EMoB zoqf0Y;}_ap0J`m$yuJjB_GkyKE-r&W_I*KpwS-l*=!vvBBI~K>2~2P4^eo%jHCfGD zI|mlbY_1~_O-r3lW;8fCms@7+nY8C5{1;e&FAz{fQ;9rF6al2#f_n4pFI_cXX^R~``cfV+w-g5 z1mAr54M7iQ=M?K*0i~%KDUoIewIUPf6%#s#*T6v1%$-We^nY021~ax$J_t<*Kwb)N zEHbK`8eI6u07LB%)+(*!dTopYYiq5-BU`w(fyRsV@Byb?92_ChwWAvjYurCk$MkrP zRK+4V)~?c7SgZQkZ+kf%{O<*I)g9dKd=2~+FI?k5^IcRA_C=*w;8l$k)r!EPTOq(W zLc%kb;o4Qw*q@B+Zlhz~yXpQ{?}aypOSyTY%nZ%*vVUxrcuMB3A$7@ z@yWp3zW>gzcJpF$alGZ3!8O+5jiAWT{G1MGLq(a$UG0X?EIRAEo;q*@5wZ97muInTrEX0VWli(bsmi6OQS14-E57M{WL8`z8D8 ze4b)ohlYmiip~sED@`+H;wC~NeLAruk<>2Ts+5PiQl5!{zX}%&h-%+oO0B0X}|xI!=JbGRnT)b)tz#mrbm}d`69^9!n;LpYDq<`sZ!Z>lm~{9OAh}iy;&?K z#sbqJM^}$3@J{ABb^D1vU-7LKBvw^5l!EXXiyoSg3K@sk)7Xr>XRxK4vuyTcEu_hn zKMO;jDEm(#4creZC7-WQg&Vq3Jw}C6(`3d1x{30{77E&}aO0i5pxxEyH~Q|%1z3rR zuc{z%9si>X|I_kJ%alliFDffdwQ>khiovv=)E3OQ2Y}R|$vI&-OHKN{DQt zHW^)QSqem%ua=B7&DwO0r>DlL3Fm~@H7}m;cbl)%^WENp4i5gHH{J4G5J+=x_Zgfi zX_X|!E=WveXqt8ARP5HfCPZ9z%`->Ja>;7_Wrr@}M5e)13iNvNCpJva}Bi=1Y-Iqm@ql zFcHaeQLW(J>KpN*dPPX zX`0+t0yezVp94y16DzG&K0zpV?E`DrEFP>@ciMYh$*DV9($j$aIdvBUpio_Wp%SgY{KJNp0H0vMap;S+ns&*H zm+_Ts^iaNy9Dk*;cmCyBdaJ8H>{o2l7F$XT(rmn7ZEKoH_V9>NCFf@G^s?|(V8tri z?H7eIT~J1=Zu_>l#p&Jerm9qp)HJ043%$UTnxG*v@pL62JfO_Aco{)O_7&_Fxk(QK zqmh=^e}oVi{3ryN)^yUlOgpbs$Ou>|0 zLGWcr=H@b{6o#{Q?4zkHuYdcF;ri_Q`1k;N>+<#o`Sk_AEdfd*Gp$N-2IK-?lup(~ z?Ko9=3>bGf38NS?uwm`5C$-Xl^y|V-ZgQ{V7u=X6b^uo!$v+6K0zP4~YRlqUubEIY z(3v9XBH$)l$ni%SyMR4$cx2PemLHRQX;k1{iFC!EVZ5m*4*`=Yd$UC5v{C_un{@4> zl}U$NoU>>DhdZ8le}xPBQgv-@@HlMa4~cC2!dqsY{13OYgD4R+8$=h?@6zYCO9sgw zj_x>$$cJfmHT~g%L}=L zf!tF4Z)Bv~l};g>1X)j(|AkgHvCJ%+ql6It$iMVDcO{g1h|}HKH{eC~R5Yk^!ua8! zH5JDxw<2#%^i_~IGO7ViDPg(mPe0VD&eePT>gM%(uk1DG&Yqp@?LqyG{TPaG*Caf&b`ho7Tgm5*IFn>7awdvc6NQisJ5?!2YE-L?oBu=G6_NqIo zS559)|I;pr^`N@D^2XKbVW=At zPufWy+c}Hw&z6oo(Bgen=y=6LWWF?MBc1-~Ia=_}h0{dz26{;VtOa}`75X4_s`o(% zUKb(qi{&L>ZK7)O6;XI8{nThXe{qAD3tTKd`Dj%e`_H$}vn)sNl4oZihp+LV=jX3@ z#V@CoyG6=aK=UO^%gx5zFVyxjn3HSzXU~6$`efQvzv4y<+Pi&TYn!nACxhde_4kRA zjJ&0b1UJn%Q-uv%KwTHd75f=y8^OQ$?(W`BcXtv5woGmH zNJ>a3(!cou3p6FfZ(~?3CckM6;cqNe-wia@O(pAd(M@}Cl$L`!8+#jqCfa#&Yi^2N zQZ=cH(;gW;c?TP~ic-c)8{QG#1kd(+K%jQ92hg*(Z$Iddoo+vsOjRRgfOH5l?%z*R zjCA;cdy#;>vCKTDo*HTUwm^ZQ`~6 z)F73qWOB5T{P0Twl?UB|>Nksg{5OkT?PEcpVAuK!aOg=&vRaUj$qb38g`(S9#k_TPQUOg`NzJinKtNGr3kUi(ai%qI{rF|tFGg`{H=HZ_M z;WJlV9}nWNc%G**`<7ps$*rG7mJBh4`uPS6fw)T5i4+!ex|Ah)lk`<;0TB#;uAE=W zdg7Q|+!=-BcX`v<-$8=+^{Au$l`G3{iTs9csg|V@l?GL?%%}x?v;k^=?TGJ(4EXAV zk5z!ZdgKYHC+B@IlUi%*fWRfQ0r8kQogf;+>H8dNlUv$(AqY-p~$F?zm zd{f5#GviQfyF^eHShQN0^V56kVi=nG?NH9h+!ZG^OJ@?22Td7Bdqg17)mBnyk zR8A=W_JH;eTpMw7%=_gp8JIv< zQc23%u|?SjP$hWP`H|PA%IHe*8M4#`n(^+2i7;YKG|*rwM-Tp0&8d;pnimnKam^43 zs*+Q3vh+6W#DYdqe#MY#xq9)&uvTC2S-{2Otm4;m6V{vD%C2vy9Ac0H)nG&k!OTvX zks2+@4)n&_iuS^g@)NdBC%ujv;eQ`!C*=j+eb-`>lmG*&cf>$>0^ztTBrsovE5!FW~U5_Joo`*8(H z!$}_{sKVRw=bqlXvw5b9DX~h^+R7b>NgL;M%Bv>uL1;Sw@=i#*8^!v_3;~>MAKOOX zO&c@zRvY`^)|95V+J?g=D1UB}j*UDkkz|$H%JTwFm`z}<7Ou!$`fR?=GGFlAWNrv* zi1evhN6B+1kPU22qlk%eQtHPGmITe{dp}Yb#&0d%nR4q3C|j!|MeQS3Ym1h&EXuLB zp&&c&T?tvC!3eL>jXJ{&-DD;b4)xe8@-s8BnHK7M6Pe8fp4;&|Ozjw2=u)w__?1g( zszmejs-X_NH4H?UGTd$982`(L*A^BC=kKcqdkvaM-@tY_=fr#zt}Fo3d)ld%m(qr6B+N?CJ&R&DY}2uO{?6ZFBXiFv4iq z{!pM!Ev8rclP}ZNc_+ESeJelDa5f*>4dcqDLt`Kg6H=9aw)-P+6s{p!9<6nBZ$;lj zy9r2%E+7vi0miGTUH-azjwCKGSH5O9*j?3r7F4aMDU&!e=zN0>ZPjs~!I;o%q64{vadHiw!+?gnqL9L1^nEQP7&?wq7$gXTY}rCkpcr zri{kbg>Gq#z#LB7&;kxh0am4BVHR;>=@nZyO#yT7m^m*x1t;?jVi7-I_?P{x-p1lvTPW14}~$ zurnKB!AIjik^(cZM^oqNh`44mTk#5RRB~kn3lAq}XQH0)+x&7KpL50OrzYJxvA;z^ zAP$}2Z;3NOM`rtyh2FDdymj1&A}wEsx!Er!Y&xBXOGi{Hx1iZfDeK*p4&Hw95R**XwM7JgjCZs(qi}yjO#>nGF-7o+CYB$j9do}3g?!^c6{#q9=OJ6mV z1VPPyLl5H__M9TmU8}%p{M);pHwpK)xnesibMiu9yGZ$jMNExNg3PH`FC}g?nc$~Y z!xN@F+eV$TzE0NjVz9=B%X_0f2=w=nvc0KY;oYFQ<=NUb4YX(wC8nNQ-QYU+4W>hg zlt{x%1x`rLg6b%i6y+Z_S_gAdjFQT4YV?tbf+0d{%A^j#QVUDoA`A(v#h9O4b*1-s zag@uW`WLc}UB%ZbCIXFy?`GF%qw&W?c82SUkLz6$Vu^NK*>3kAM1Y$Sstc)T5s_NI(JP-I!Z})Kt4Jh=QWBSJ}Au-zwpp;aaRu8UuWWo z5;+-gw58X^3sIGqg=;tH;mYk8F5lx0ZvL>LO~5B4Ep1*DUNgg^3msDw+2~U+q24oN zpX6H3^j=04Dx6_SJBvPp>=lpCC0cU{6*(j+jpxj+3L(Ca`R_iiexS#P)4bisv-531 z(39k`ufD2!Nwzx+Z*xn&nVNKmJzMFRuY3%N_KiEq*rkr|zd&=d7T08!NLMUO>TEyN zL+amK^VXti(dBN$f9gLg6a39&y*MAw=^tIbIqva)C%z`{N0AZm-xZfDUeu7O5?7C8 zqRk*nnUHERf!r#OlZA@-8I%{JpBDM}N5WcP9P3A)B>K)dg;7EvKKrm|lii?Y8$+=+ zG-gZzA8uwi-(%VCv_z-%kNyj00S3@-?Lo@kh4tMN~UAFAYJW#Z#rJb~Fg zkM&wey1!2+xd5%Vv!u7x?v{Hz=Ta%9s#hBH!@2=TQ)|zM{OOW8`p^g$Panw@$8084 z^=4eenYAc#YyKz-X$8!uF?`C??2bijkpCdG0r(`Uv(}BvYi2-s!2>3Q;F)VG2PR~f zTw?_$#NduNk6L^8Jb$PWXV=K%!>urxZ`<|0`@Ua)RUdzHd*3xXq2ZTrr%hk_aeaqE z;Vh67Edfvg{#4@!@yVTovB{@xyooy5%u<}rugIOcK?yLHOl;4CIMAbZvy)H@su;zjY_x5|bIZV~dsQVa4w%TjU+L5*|BmhSURX?5wthee4M zNYcn#tb|0=3(!>p)9&vGJF-%>l&x?4A>p_>a^ z)WM&So40N5+{&}LP4GonRPjTjXs5RxI$}abKjq$7m1=`+o^RGHS_w@m@0;&V~nG>mthKo5~%)8HXfa(&dOV z4v#w@mUNg2QqxbZIFVVxFS_DE-Y`Z@M_Ckajk%X>ZLgTs0-2kQHbT1$5$7*nlf6U5~9KN8i0_!njpl?>O5O?8Tc69AFz&T z-hT(Aw;kY$k8O9=~=EJW< zR>BcBj`!~t@BOdBH?sYee@fb(Y>x^0fku;ikN`+j8T-7fPxPJa`o;nC#{?c3vZ`h( z9mgE7s}|(T25ZBZ!H2)caq~Y2t$+(wx;0hqs5R5lYj%Bs$4k_x z18KKnkPV#L5xF$-8S|9`VcAKrI>`tURZoFeV^|5db`{O&WS+t8VY^t+L27(NC{J(QiRZi zN`!?}!pse$(Z*!8>zsEj&?@}%r7{&OQ|z!=e%uHbH3}gUALDuDg!c!{8!PZFr)*^h z=9pNzSbvV&jR$2vgI?tX#Ik)#4ZmHd&8nVO(-?x|Xk?V585XKlTvf$-DgSx7<&QX|#mmiLt9NvPZvpmlN4drygq)LW=)i=2gg$gisZ042 z24f*FczzXn_-1RXM`DF;A9#o{rK~*oP49p{(<@(h+3@Z4*PVT_f7iq=jZ7`8bUPsw zL@s?ht61hxpHjY+K0jA$NxUoGXZ=dZPL=hz&NNGxTqDkjuk-?=e}4x3SHV+6UyC|Io!g;j9oFy z`?2+8Xe@EOHGh9cEqA>SYMX_Xemc&6`BK%k3sIMmC&iyxsTCt6Q98)t#ZDqL75?qk zOnzc4gP5H!(sOJe>Pq>wYip9Sv^(`@>a)vD|F-!vP+5brj(O9OT22&oUxX%5 zeI%%^|Hg|-f90&|jgw2Gzf07Yw5;^BlprYx0J8`am#Ku9Ihq<8*3w~4Uu=7Gwichc zzDLC}bR68mBv${wHbla{wg|Q%qmm1FFd;E9qhkNf*>&}~mabM9hW{jbXHC!`y;ie^Y%y8&*NEvvqy zW)>GiP1tdRPtu`c2P^7b+5*1BjUF3%_ZK*@kL? zlM2<>E?qbOcix1!LyB;YlbKu5k%lrE-(nS_s0IGa zIg*IO`8;k(JhfA+pzj=!Rul}SfAamruX0=s!}wyp47r3J=5!lJJMh||xD?;- zv*AB*pXUmt-9y4Vez~k*+5WPWFez{bxh41hmMOG9dfac`o!C@f{5*4uYqK9oxm}*K(_K(d_t{E`#ep;o;3KrUC*b{P|#lnJ}J?Y^X(_!-E-Giz3I1-lC(Ktr$HBH zE0#_SZu4t%F4@YYl0X-U=2`lZpws2%ARC&FUC1QgK$dTe^K2r650T_~q#k)PnO`kg z&8Lzl4Q@Ft+W$R+W&f^DQcSM)IDYi6T;P<6R+F~U7djrXQk-{7b8)MRzp^3MhIag6 zl^i8PD)!6;-HyHl&(23b1G895%xrxx3Y{Iv`}iw4VA0HZw0M_uYpXO1O1ff=!wYZY zku&dHpZ_YY=1O29mqM+eWhgDR1z8VRa2gd;PS>rj*s)2KH)6>jDJLNTuSU;|_FYzq zcHTJ8@oTQ--wRVU7LkPH{lD@f5awCm`AKekNV32emVN za0@jfDXAG!9)b)xq+z@x=MMpz3M#x=&1tuCewwUF^;3IB3HPrbKb_g2X|u5Bf#naI6p9Z8nk`W4RokLZ1|*ws_AO^vh~s>qztmB}P!ni@iH{7X@M z)U6i~S8fdw<)zzmvWC;3_IO}(h}4BnD&SkFjF4qpE-dn?BWQ0O3+F%}=AZ|vJe)kL#&>JDgAqX;rlMouKYV-f`;76TNn&uscQ6H5fc=zq*p=qK;XNUD+dg68| z^;yh%W+X(&_@~3M;OncZhlWTkAXDA4Xmb;?6#9=p|HQQrYqw_Qs9_YNkkOZ7Lq- zGF9xBrCLz>hJ0CGw0m*4S^vJ{-G8=Crcc^3jGfnmWkM|05BLd;GF<&u<*E>0%*FE? zj!KEmY8Ig^f}v8b4BtPBh}oY)-o|4OHXYCPNGucUa9V;wllX9|Uj4Zz*w#hmZHBR+ zE=tXdB;Bp=oB>q1qLCtAk(9g&sRf}|Vp)LT>KW04ssDVPKmi;dZpA)KK*|>dQjELF_z%4~}x1@>PMHf9-d$x2i zDJ&k4H?u%27)APw2DB4kIRx|%N}cf`Ne#gRbNai-`kEQ1Asnl=kCV8dOwc>emG40> z_J{qWXmY67&9Yd!CDUH)P``#p5I>#;D)ry zOm0A-?Abky+)sgSjCZp)*^PURf!!60c$fTcf@7wsC-2`*=Pj*PZTr04Wm2>jS>d$z zzl+~v7w7{RAXPLSUxJ@^OS0rrG3bNP-Bq>>tVDA~DLu^1(0gTpDml4pUPs;$09>6q zy(VS%cji|2Osj_wscgvA5bb^g-hZCSNTf2@%=Gr9?hb+)!O#*%f^G^sXP=e?OmEZ5Q)%hs~L2bicP=GuBqCRgu* z>RYncEn(iUW`AOQzzTeARvl90~G3+ZZlExtTx=Dqek3wA{XWP%s#7ASE3=e))_ z`rnwyFLGo7?6xS`MqbsrK6|`9QCze~(^7P+s-b`40@Ewb7nOInHe<_A@+kRyK5S?c z0C`Hf#`|SZOy3Ou`NPZMu^Y-6)fRe!;}F<}PK?B%uc&ev=~y`qtSU_l9iKXH&DPU` z`>UH7gh9)v{f2MEtzMw3Z7Oy8S|Ih>7IGYO6k#f#8%pkdPj1TbT)h+%dD21H>nkDj5M)oVXyhUN%kFhT~q?jkg zN@+ORW$GaxB76xV(dY#Np~e1`<6|bHVg5Fg)XTGUf+9lB+U_N;rmO~S=4@XV6(lp2Bx$dlVbNh$4$ffY z?w4?nqwaiVCaCZT{uhKxK+a6Jz{aGP7dT9MswwYq=bbiA4|@2;mSr_F4-&UeND;0` zS|SNt7i$q>Hr1k(CIj4>xnw}>{LqxMK29L&NNUKTf=KWtiv<>*g zDFn_GtWOPw82*bxxYNeqT+TQ=6P#^x+G6*Gi0OyDjx~?V#_q^}m$348+maYJo;z#a zx;x=b_W%h>y!WKq7k^4pai8O*H4i|Ah6tfmYb@w&(^3nhLeo1dYAhBNG*({7I1`xJ z`yQ_%mroyR2&FtL$|g$TGHeD7EpbBN!TYo|3!1gR+I`C&Kiyp| z>V>bWhOPa9XbdZZ9(s?BO*$BzEBM7ARz*06+>jx0v{n?o=CbG9OD8)CH|$S?ZQ-VD z@LnP*{y+^R_UB6vA7xt|bLWHP^O{M)t+5bi;)3)V^NbXTuvK{FQgu8SVp%TY`QI9| zCiU#`x7zgjQ%BO{AG3WmK_@4usD|}+{Jir_~vJu z%3^!m$>z1bzhi{vj@zziCnouwDPv=yq0h&Bs}a)3iL1jjxrd-({#fRG*w7jPa)xwG zl@YvcyS)1|@Rwe+*+*~N%E=ew;tZT^Lyut9>#idG*6P)$&tAn}p++J}U%4?*1m9&P z-q^OYE~ulO~L?tx6w&_fznVlPBKJKDo|J+eFsU z01n*1f|e03gb;}-<32SJ(xSJ!bha`aO>TE+|0dRz`Mvdor%fDc@X%JGDd2p{_bGEG zcafY5!AUt>x83^Jzm@I~_rv`yFQ3aG1Rr|Spt(=qNZxao{Mw~gQZ*{HW#L_1-*U@cc{L+ARJjpLUm=0F(pnU<)p|zG5mPe{olmd`a0jl2A(?Gz1o}PkKl8=e_fJWRka?vUF;8&o4~=rCbLYmtn*^gdZ86n1Ehq8Q?;OEJm2&a;>3-b z;dO?f0hm$c^RBJtvkfhyUe6^19h@JYVtgZpzx9Q)J@^X*LSbI+dVH_FK&vDZVa4m9 zq3nKfFP`PpG)R>}85ss(;c%z5*$c1r$&I^A7GDqrh5yF#X&p@E}ZN*1WyP?W` zK|l)td=1nln``jF1n&7jJ2xkF7`=Z>791=4YDsXP*eV4ReQ|Wt*)quv%$d(s!rCmp zaK*a~6ih0k$G^1jS}^@aKjCGf<6D|x#|P z)biFdp`t&xK+#3yXEkQryK3}IzOVw@&xkNbx-cryj+qia=@HtmVRDNa zt=fXV=^a!o_EVWPsIpfk0>YI?UeguhmXwl-5+8jnwz zQFhF<*PzG6x0UNe&|a06P=mnyym7KwT{G=gJ_|)p3bb@xlWPORmX6Ybd9%Pw@jSEK z%*{TQ#;Nac8lf$JFaV#69X;Gy;_^}}kw8{F4?ec*b2tIcHj|F(+w<<2-af+v=rs{# zUO$Mwz>12J=~G-jMWyPJ829bmgek-7K6o>@IFx~EMHp{-(KE^K@{NcL(je?_!;NO? zHJ@J?^tM1hTbcq~>;%wZVR&;pHCo9Ut#z$|yFtad+3CQY{WPARpx&MLeV35l{x>l= zSm>Yjr}b!R>gty0((uqt0(WDsM&yj@2{>KE%I@80)=svBJIbqmU*q zx5|-0$n!4?M41@aQj;nE3#Yo2>fH2wYs;9QV!-I(D72s>^TkAeo~DY>OqWyKbFNA> z-{N+^tf>2Mx8Wgxe+%=Av^H5ougB8o_Mm$(Fb4*nNR(JcYYL<t<6)V69XY|V#=;{bm+GX+qgqc=G7iL#D8;}-lnU*LTS?2MJvSI05w^|4353)` zy5&xNrew}ds}j-QEUW7V;z8w`!6~Fn`WY|I#W}#~BOkELVLL4aAN-c<>=0kW_p|)p z$ylo3tD*P&7O+_sL1q>54R^u`dj}F1l7j?6qjJD?F^^i2C=#bIjlAwyE5yY~;?x3c-nLR7 z6etYLMPmfPaQbM3qK*r$;>i5o$#E=I?P!qu_I%tbc=W2+^YS-i*4tM$;21E zKA{erEsE?3qk7(+_ZO25dDccKq?g@}%@*RAkk|vAk0bf~nhQ%i{!xut&3vJvq?RcMW!mBVif$Pmql2B}(}u!XtDk?euzH zeJs%>jGS1$s(JKp72)`ZlVBLOwaz4BSx}MMmB92JKwZO3TNaK*-qNjKwve$Pv`I)V zqcc3|QiF-okVxuS4Y$1Ns4pR8;E#O}Y&a|2)G(H7})5QID6C+t3IulYzHTF z{Wr4o%LvN*l#||}WWn&CmS#)FdC6QBPSjyTrx!)%ZkaP9+VSLg>gnDAQ!vS!SzO zyJMW@8WA5 zvmAeAkZPb%qH(m^%vZ;KWzFLj3JXDTIMF~wC zA7V}lE?!7HaH%AucRG+x^*Bx6ozgw?QWN)b?LqU0S4ON%I}Fm5YblWOtUCxg!99oW z@gdkkF@LDVOBd0uNfCO5%r$FvA^`;2MPo%iU(^abO37%!viOul7W~bo0JW)oo$yyU zp!@IFwlDB*TasB8*pq0L?0m)6gWH%LkvHw=_-?o9a)OP|N&ib|lk(#htDc1vcthi7 z{b;3By({B0Wp6ZFsvLf1OD9d+Ecl?JW_OIm2|66=aM-ZVl7-e#U9kB!{Z)@U^>5%+ zSY7dOVLi60IH1;04JepIOe2Gf75F=(*7x1$Jhh!0t32OAhn28WzO~3mIEG{N>{KwI zY()WM?4_BLUendJ;)`}ArF9y=GOObeopGQDJQT5zGbV>}oa+Hj-yLWdtfAP)|9NJa zAez2vNt!YoLQ^>V6e&A0xAcAHwKs8fyzsF)X&w`t<)9a zd$0%TsH0X<@d<>;d;KL~14)<}6V_7|@qSsWw6n2QoD2VetK+A6TB%t4VvIW2o4r&i zY6w%z`($D9r*xG0fj>6~l$Jo|xq)en?IZXEKl47(5+v}HB;zkVEA4)WB>vXr{V6|gY!?95WQWzDAf}!R2Qz6ow^kKl3`SQZHit`kj1n9P#aC#e+EL$V!>J+G9 z2fgRl-&_-;1#&P^FhwhTs~kfao0%Kn`@$g5v%v5hXmRH3%P;T}a~-$`kk*XGAYr^3 za>Y9mC&Z_CH$mdt@kz9BvDEaLcoH~Rl?*rC={iu~OsLb99iDbMM{*D>kr?KVZ12|o zA$VamcZD&-G%~RcI`aTMw=X`o1gL9NBt;^_94QX-X6x=}*0ruux@Mw_Wf@e84DG~N znB!Stn$bm*NlBpsESrdIMIyD$4oFb<)jkNV0X`ASY4UziHPbPp{{;?1F?jzEQ*YrG zW%qp#)15`JyDV%G2fs^H1%`&#%a5FW%BD<8^%f;k%C%nkPPq+yc&H_z zuD;P%mNGE4F_5%ZaOUYusgGP5SzhGL!_aQ$YaHf-`34x*>yvwc^1nL@VX!YE$sQfX zN~8mWSFoi{{13w11SB29?Kq0U?}B3IxcqhNANf?Rs`iyzyC2pQ!>htGZN!JyE1sS!pquL#9l-%;eRC=|?d?zFJocmI_p~=zZyGIDmPre@{^Ict!ppq*QQwjJ3X2$!533;d#TID zm9V0(?;3L=3=Aqvw9sK}L`XI2iqv*LdWlAZl8UL)<NZa9~MsDfQYT;LKjpwNwWqLdE|FYaIgYhCr6wIT~F&)0clHDU6 z)Ip-4iO)&#W`ITN{m+1xFQ0GD2(9zu0f4u(xK4VAqyp2=LI?m~{p z_}C-hqwep*BsN-?ZzIE_=n7(EY}Q>H)J@#s#LUO~ z;vr?`IU{7e%DdEW>Y4D6OPenD$^2d(iLnZ;O1wav>L{GURcB~?&!;x+-CWWjXjYYx zh%XFApQG~vuEoP2&xwH@h>AC43N1E{vy}lxp4quGVr+wguI-#qGJ^yv3&(}j^lO5WbQ~5V!mntBzi*> za@vh3-<2R}Gy#^RTqiCunpQ+Br7P8io<=w6R#UA#+N3|nWCBexE|E;bs1dt*B}x*&8Co%oh}}O5eFI<+nz6&Y z(NgUv<~OaTdPu-%iJ??_X^eT}cVpnFZH0rs#aNbnBFR`%LgOts8c?IJxq$rhp$X39 z@(b^?Sar`ehBHoW5v8D9Pt424=?S471Y{+svBVQoP)tSx5lY(0w7-x#^|8s~EK1?y z?pM(XOZUIPP|(bAHjHlB4`7S}ixSq~1BTDTn7-8c8yl2v>Xs?qee` zq1ua_M)KSE?Dd?O&_qN-e}SM8Ij)a^%~4aDNeunCX0+nk9G{!qyv!^O$4`Tx`<#TO z=XDl#X0SPF6UlNpOIlF%JAV{yONf1&by z=VJPp>D|Xjzvih06qLfR!07<6M{L?niwR4P)Wxv5iFC_2Y3+gZ+3Frl+r8^1o!Lxf ztV&fC6H?sTzjjSE*=BrpU$pSaq2{kuWujrK;C9=(ThHV<(aqI+Z+H8Ts8q>FWpasr zUiWu?1V_za@&5Zg9JuFt*G`?KONFE{EN>7<+vwN^w`!H$&G7E1(jvch)}hDCp=haa zmo_6B(akoNz439^5^S<$)BCB7gGM<2FO1=F+pO)f_vLpnOSNE=vGAF73KsFNz#|20 zq-W{-j@2VpbxdZaA_*$f-jQx5xuhbeVivdB-otlMh3nf1W?z*UTg+_5;*(?zgU@mM zL0pPtd7KG%;PWdi$40iL zW=%YFAhjK@K(-nD4=NH00O~-90%b-TY$URL3pLodRUr2e3Xl8$L!o zv^D!@z~eEY(uYZSdc;mvMmL@*dTl|K=`~u}L#=fQ;e1R&z6RV-@p8XBXYx8K?=(gh zA4wZ!(m%{&ronycuOPF#{7V+UqP>#q{tWUwdePBz7=A)J>rvE@tzs4JFjF{iUH*to zYJ6{C;D}Nd9TCC%qcApXNYUO?)$CTkH1VMP9rfX-eoThyvhV;evcwTuWR4f(JA0~D zt>>8?BaGLs`EoNQT2xA1kWSVdLXz`boGyuM_IvL3v-Qyc8INWbas)^pa90yz@Gz05 zT=;yRyRM#{DS9ZKPbeNc(Uju(or(<7#9+hoc&eC`Z<_h#zj`tpW&BVobg}-W zi_yE)Vt=kPi@`Jwr&Fw&HzQU}NI5fM9GA#g4trw|;FWUrs_TV71d>ts;|;#npG^K@ z@AMM$R`5BrB|$GzP{EqOWW272Xe5%YCekbpTf}e`8vOX%oc+tSpg!J}A})C)$e?rUAF+F_<1(sx-@= zQhch$1B-+RFg`4#t*ff;j)s7`)q*`3NaJFt2SwFMDUakov=C(f$v>=)ZNs8sombk9 zR)pObeeQf?6I_&H0b8n%iyB5JAQEd^Yr?nfYKNZPz5nLd+UQN920TV&>T)XF_Xzo2 zfuRZKFEQRnM{q=^;R6+S7xZ~q*PJ-;d7E2T@(Bx5YWA$-rR4K z5}2pkL_^K%gBUIxYJ@e*A^)xUrRRBT7oq|17#XY5iVtW52U#i^c;v!@C=)sr1x6%2 zDMU2!3yw0#no~4=#>%x{C>IIG!Vz18W9;+vesDaTY`z(A6Lu+8B{dU>MPlH^CrY2n zz;?o)enMy~0_mUHY9Eh;y;+PK<&&}AI{xVn5jql_Zx>22CZ?Igj7XE&*?WTiT`ClR ze|kU2A0puS4v42_G(QKRS&9+fA2SP>>I5-`Q##s-@g%TVk+yIZV7Q06As5QbLe$Pb zD4P=$D#p5yWIm-lG+`RG9(l0p1kz!-XDY{f77xH))dk^Do3mGrjpmSe0v8kUOdr5g z9xaTAsTP~Ru3V*><`@`4vtmjjhc{nQaL^*ArB-n`9DEI>%37Z4QQ&~u?_chUr=e$F zkY>GtyAzE~OfAY2ArH4}P^T-m4c6WgFK_)02wGd&gw9kb26?{ zVUTvl=?l`NI0ud`ksUGJ!+xcs9E2j4nO})?wdsc$=maXHBGFhN94acPIi` zN(!``>Rve2CZju{d!!IogKYcUCyw}{7UXh+l41(OCH35KK8m$3!+Hq&2_DcgTbZKOkPCEe=5uH+@JT(Tr z*J7K@Ijq-Ln^|xo{tLY%27(YjB!imw<~t2$oPhy4GU_KJ7$Yy-+T*X{p5?gSo?Fzv zIC*2)m%7C}{bNoF0FECXn#JgV`{eNXoCp)c+^j^>s0#Je+y*}HSKo$5!CAvNd-yGfSwL(6qkJ`0JSVHWY93^6LyP6(Jj_GNTGA+#QWR80ro zAy7EAJG%qlLn$b+rk669gwe$3d2e<-&HSRg=RLD&^R92tpGr6&HDjnyS5qIL6uKRl zZ)4POOz1O@2vxykz!)yW&}Vo#lQ`ih`MI7mwtt&b{j=dLJQ(zpXK5haWC$f_;0f}s z#^Uzins+@HN%l0vwNE}FPDkd884i*awYE%&%RP24GHcX&I%naCgJIEt%X!X4v(?#J4H(L9>U`w+e<`f4jfxI)-Y&Pi=)!7_s?TI@-BawPe_rwy&~OE zhJ7^>0S>BmPugy_F#pLo9UbG24jj5a380H(|7IPGCl*^htxeW1(l3` zx|3ONSTxC|HcW6gWXXP3?vJaVeh|FsHF9?mC|p3XQ7toh3h!<~imHZiL7$%OSE{iT zjr}EM&ZF}4O_D;E^cEOA1_cv%EKMb#2s-J05k&4-n^E#~g-E#}mDYvr$D*>}Y(8Ta z*+D&_36f*N%yT4y_|C3(r9V2vO1iasPL@|y+b>x>C3~L`+KoV#Qv=OddhU*xA;&Jq z9?2!3)d%Equ^H#vZw453%V*I31xx*zljOAVyvZx*Yt|6h{F9U`^%a6V2>@~DR?D#% zSm>i6wU;|t7#Sq?82VmdPZM38lggQG`GFuSPnzE+mupsgXFKTQgrTHF&r%(qPVm-WLcaFfNlfro8* zc14#)2Y(IYLL-pk*^G)oCS(4qF9QV}i$MS|XU_GgOB!NeV2F~1QUV{PS7JDC*vV$u zD=1xY{z{SDrZZSZC8&@#XH-}~$gwVen!RPbrhY5YBS?tYqjNSpcwgx4NYPo-mc3QJ zozl7#D5vpzp~o)65v&FADk-G@PFX3WUBoAySH%)Jc5tJqO+`0r^!-1 zBbg?L>m&>sa46t=GAmwCly=RJ<+DhfN|32=Lw?{H{e%!WK7>FI-k~9NTPPJeX!S`t zh_`&ILrEF#E@1QFmFZhAQHItdWKtSk?)HuJm5u};s3JT|RR&lpsoAE>lJk0mF=NVM zqpZDAuT;Y=*D=0|6Vk1*=ShiL3KCXvR$f)9I$UtTizUyjC0EHUh@}rF#9aEqztAs6k8ec*n$Cnb* zfkzZEa)IRri;gdf9NokFzSCwAXH%oq)LN#;|Dw*+$#DPr>*6qERJfu#N%=3slz~u@ z8EMl$69XY!A>ryG_^4*O6L3Z>h@z+M?>MDdq3^YzC}#|jg`i_xAiH1Z?I~JNe2g?= z8tHLzey%&6cl}B*@7kbgOPBf5)8T;3;|=@?A+Y+tG0#1VO0t*GHB3C$UCa0v=jC9OJzWxI$}bd*}EAnfz)i=Wk2 z4z6f|Un6Rou_HT7^ALW+Sh~epd|U=k7r}GKk=X`-!!IQ}gU`cYWF}`NI}nTv7GoOp zSiL4Yn&()!Dks{kH8iY!3IU!mfe=)!qJqT4+h&qcPLyblb#v~{BI_Xy=)z96bMR-( zb2}C~C*Dl6csw%d*DI!LBwPTX{bOgpS*1*i%h_D$Us8$nQ+ShkVo3ESBD@^W({-DX z1(#jFeP-G-RPAyvU*g8N<*h4Uci4zDh2_+4N4roodhcmvW~sxz;m}(-`{AFddXjj<>>f z=hRs>=!pLdJ7lgX{#1vOccLvXT2J|2W^jO6 zjs-8f+e1x%Hnm};`*!ofO|n_XPd7A>tEZzu>t9vn5*ygiohH!Z3Y?bMY@UmNA<2p- zNXl9tVIYkZAeW#T!13&zJ!0Y&^egwamV^C-g-j;=Q!Z>{wo@xu*1Q51Z&{Pq(;n z4MQ2`_m!Lr@a}{bI+w!T0m>Xvb{+s2ibrKU5Hjds{JYtj0QU8>k|0r(uN?~O<1Cd0 z&#Wg((HRsqu#QPP{;j5&5DkMM1jz!y*`C1JHMYnYNa}4BM8KA4J&N z>LhtDs5lCiXBs@bgnB)a03e^I{06Gd9tFSc_s54;jPC?4c#)E53I04x%bd=c6p%oLTsJ0>3v82 zLXeKiciviB$jT7#Yeh!QsqeV zz7OlW@$9dqW)XOs7X96#DM2&vj|Bd2XA^crolgo9VrBv^ln!{T2PO+A0;XV+5B4-l zjr&xp$N~j%TJdJ(bJj)~pC9JVZNl@a)+hNnVj2r)?*#Cx5HThcdUD*bk-wO1I4%X5 z&UN-WF}?+_KC1yb>KeYZ>(8V}4F1$hBYc#sn20#c7>Fnabt)E4O@MH@d6$8*L#vkY zo1r_GMlChza1BCm;ctH>fse{Ghr7O-nEJ<~UV?D}jDaF;>#2|7d&^Zq@Q`Eg%SXo2 zN|PEVsk!RDoPW^NL;(H0R1fkQ(@8zqd;=A<>g}*iH}xuR8MH`ue35m=%6b z2^SSxyWq}Wjxa<}>v}?HH3I3JejT*SsawQgQ`&%B&Nv->u_pS&6V?|sNO3a~zh$1? z_g_2A4NK&5-k)uc>!{DrCzJ9W`9`6w)>gxdP;nOy{JW|SI6KjkX*4jfRi!t@>P*8L zPPWh3M`BQW6h{`IVwwmwDe`ccD;3p~{IZH@X>10QB{V|)JXD*ffBXkVQuOiV942*} z^O^yYziKat1JFecNQ z&*a5T16NaTuIle@ILnT7PDw&?SA_%S)`Ky@E*_#w?!QczS6u1;_X(!MW@EF;&~o@p zu$_OSGA8 zXlt$1uL*TG(|~j?BI{jR7S8+c7%`s}zb?lREBHKVoz$^lF@Aq~N_h;eHWo1dm->XlK4ZcUiQw*{UdVjNEh zEk_{zpkG_WA5ynK0gd&)VabC3X$pL91m{Iy9nuKv58SE4S`9VbuFL88B@*;W!|}6D zzC$D&0`e3MjLPOS{`{4v3`7h?!Hju{i(~wAC&Hn`?tMWM4&Dc@ft*9nYYwf(RCNcP z)-FYrXcN{2a;+RO2`N)wHLD(OhB(X5J_{PN3*U$XogsFE@asi?nV)&BZ{TRgu(v?1 zAY;LO%K3>RiZKKRK^)ZlNrk;pFSo&YciF1h-d(Te0VUm~3}ra`G4nxxZjY1*VG%n4 zUG5@NPjlGw0Yy-0qL0$101*1O^!yn$;Gzz!DWno|lXS3CRoi!O|tlmfY;SM=1MC*dw#}#-i zXQp}ky*#`&-F>G)~$@oLcU zw8IqZwd+B8&uaFgc+;RL@#HpQ?OWh#PMSCC_V*YW8||eM5i$LdG?2Ca{eCIwg39V|dn9yEFsM(AQV0U}63sLqVY=xk_~<@avtyS(irL zyncZZ^u@8I!0)pj@R;d3Syw0E0p-^|>T1_AH#m|Fd!i9ANGvffe>mx76BFZlr9ycQ zNr4V<$jR=<>e|07sd<4Snf+;J5SfgU|4?npI;U9$8T84v$8wW;I^?o)*^YL`W_K#_h~$3*BDi#;orMX*|d{G-JR`)4}985^9UpJKt9LZz^)K zI7T&q4NJjE z2FHg^eWEknLDh#Fc>lcur`lJn*TlXHQ~i1iImAMx5!2#DX6B!-{Y4(F5Oc>&Ts9MH ze&!$d@NPHA`PddV?Cj0yoTijW|MHoJF2ENE=@BpeqfU#f1_>1_{9~%8HGv z(^GZA?Zsc*XR61We&(I9Q4nFzSEnSZdSOB#RrLGHe`6O6pYfT|vfo~9kA!Q>>y1pW zQd7BJI3)LZ7Wm>s%w}d4n$*@`B!wZ6dZ`Mr*R{i#vE`7lxEEmv2`8MNzuJT2KU3Z} zawGmNkL>5Oa9q(w7BcHO41ucq)`Lw_9yR@mYumqYaayliSFf0*-A=&U=uW~1@A1#}_-mCm%|C_Zi3VpFv~bgH z35ZU(u!wD7(!{;->gf!5rV>a?70Fi`u|o<;S7#(oV=R)7u5PUseid$60rrvr;PzQk z#~$UVmn)g*@d;<5ESM4@s-#h>*ff?zK7CIJO++BwF@c805OW(vGj>opO(CcSb-8+< z__v(3@wI`(sBcA2apn@$7;(R~{QEuCb9Mdi$MIT_^6Fx% zFY{8)XLGyW>E+Z%PRX+`$KH-0VfvN+@vx}Dp!D-d?Tt04u7qJQ;&{+MA53RP_ML5( zl4k^`U*vurMOca3$HD$kdfoL}Y;+G0IS3Lg`KT&^Qjr02R=1ZzMypws80p&oDEM1TbYL@u2$6DE zGMm_m!=TC$>Z>$sX~FH55w}4eD@n}%Hp04}|I&As z)wpY;Q1umFvg)%kGM6wWk%s!K(LxsIpyI}0cBwBk#Q;!I^I7YRShdUJ!~mRa1!+Td zu3DTfOQ2Pp;tVRz`#Ce5nC-3Cnqn$5Plm=Z1f*Tsbv>LRb$vxpQxH{2z7Ds(0GWa} zsBMExVV2X3VlX~)F@pi2qa?q%9p#rIohaNNm$3Q4PGsdERA=Jy?^lc?UE}LzAu}Uk zLHnC4o*>|1L~_6Ob0xc!TWCjJ-3&|#Q%-O4{`>0}7H@XdYqfv&<$X)SJbam-%=fFZ zCLqQM6YsgEs6BM5gc3aAt0HaC{njEz;7@qK=P9Y0L)`!W35XO@GK?U7oKct%FQPOo zsca0nHj18P<@?QPZb?vEv$C3F(a`UTA00}5+xe-AMzDf=6RmObgr?TV58JZ6TtwOC zSNHb`=lh=`ceSN=Ap;hAx|^RWNhzEp(u5F=03=X-G@f)ux5Jy3%GZ+@4MvG#Momoa z#idqdL1DseI{5SxdDPk;Dy#5(j76S*Z>(m6jB@_!D%U;4M_Pga5xQq^(q!+l)ErL6!Urh=99D!+&6}ID zQJMPi`vTdm8w2W<3byARIQ{_n-^{k&T6g1vS61E>o?&)RZ4(Du_*Wxaksa|s;?1dt zBkQdGS(nYPX}|(CPRK)rH5Fn#!yix$z>Ksq=792Ur@j+z%G z-=bNID_$iAc77ZBg*q7Yln`WDUM8z>{hj|fh?v3rw_R=?5k&>lnTf=#Xw8AdVCsse zZ7b|K7D3Is03Q~DiOb*>v?*7K*T~3r`awMi<6IW;6}pAAow5D4-(H1wiLnHMyMx)gAT=5Q$brN;a_403)Pj^!4eUSDlMRXQTqsvj~yV5}X! z+r^fxjAP+ni@yL9SvDjIfKHB~_xjLX&aIh@Gg zG9KY|w3>lg9`I<;K$|f%VYtDZy{vaF`vU|AO+^OHVZwY5m%PJVe?CBWntLLjEz?yg zR$)0TpL~K7n=S4+3Z;pC)65p3qx8S2U!yJSOM!WftJQyXW<4u-q|Ju1;A_%xVY{G0 zx6px^oJvY{F`%wc)@p!25`jWUPeX7;fiTFRhL&K`x+43K7*jJOD9glZtrDYLj~xkD z!)eb{L^zsex!8{49RK>qGPslaM!*D&|4=1#1AX-uTrN!)@2BFCtB!5OPaDugyMWQEu5Xl#mXzIq0Ap5hL379$U5hWx(@|%4$FqtqQafOx>;%(iQ4_SC)WYnUZAR-@+dP-?ZsavMDq$?4 z2GmCFugGyzYeYV}A*{x}*a%Fu*|oSxTu)|Exo6Il7QyidR5QZ{m|E|Px;Ahm9=i3F zN8dAWrUQ4BrK_*-@)uJ|c?FSFAc&cB5k-hq)K`z3YrT~@z5Jb1w_8zLsh=jE3CR_W zR5i?2XR4&ZI`TeaIpo<#98-+sH4VzsSyE<0Fzz?9VU$yhEemDXD@hxei!YO@j(gnJ&! zkBZ>8ND?A5le2&%Sy9qk*D#U|lB$D(${R@jXROSmntP-x`D}-Rm(H+%HEa5I-xnqV zBxFMp4GRgjJSAAeE4Xqtr-+!G)1{<3XZ8+@4H`AiB%EG0dvX4(4_`Ze;Rgc%PH=2J zQ=WFeUHEQk%caA>HIcQHm0@C4ZG*CNjD&y7&_BIX0()dpXc|#C*%s!G`j;^NbKn9N zdy%)|zR$Ws4!SUDmj-5L+vI(yM;?4-uH(N$!Y#j;jWymd(BXdt9^qm*kA1n%8}nri z42>a)cu15Zc~FZj6P2b~TS2{joO@#xecR(8nv3f35Wwm$IRoII2dK?DNmZz=SpVIE?Wg z_k8QPh=(ohBRlVYZ5ni?y)@rfH~>pih8U;s_bqeO4{x5>{?i85e}RoXyfSIKbzx{{;x-ijxz8j_K?xXu&S+p zB*uCWOZj%u^Q@eNgWZPUuW+35WYysawl_<@Q5viUvqY~gu3Xn9js#vQl+d_#8JfDX zHET?|oww$$tb!Lj6*xDa4i-b5&#AV}j&4Xtb$C_){Q%=#-4m*(zKZi5kG!~ zISS47dqOb!nK)mA(JVrIMRo=?$t!Z2CxpQ1A!q37qF9Kzr()f`6OUT*eCSghA`D0e zC52r^G+v{#j_s)F?sbbAyg`VRF08{9m*rm*M-L8!neWBNn#l3oaZHcr!n)hgu9BLo zrZJc}uq$L~`eXBxuiTvwdvoC-nigaXT>Jw7R|0l*Gja>6DtK5QQYdASw0Zo0y0x%d z%C+X>Ms;7>YP_rb%-=EU=PL0$WqvPG8#$i!h^ULQU1=xExwwXnvj%yV{fTWJN_hL8lX%Y*&4yHdI<#nN19$ z*^Riw?Z?F&2qd@tV-ONV8G;`D%DbGnR zN64`}MF3H2#nUZhyY{zTyF_c@;|;_2k;=|NYoEyKknM2bW|B(&p4Ha1+StGZ{QCz` zsMDe8YqdEjWkh{780(h#kVr_H^MufF1kySKXxkoAG*<*|+h84X54XH%!z8pzuiu8- zFn+tPn^D$1al>wrH`fzGRf#G*wnE34R6gCsn8I|^55{G|Ehu{)Q4p12mpss_R7`EU zdc@*&N+vw%I8f^-*y`!p22Od*| zn&&zFF-U#YGq}ks4GgU1P*gCeSR3QxyVIS8|H&dZ3LUx;;7_V(vahD8#Z^|5ebyiK z;8z||O;8~;3-s@lhs>t8+>-q&8cvFjlRjJjMO-EQ7%5_>tZYwpdDhlm(HS`_juhXa79{_!<;_J>+Q z1nj5j2{4;8WKazQc7<>jkLJ3)+qVAc-5Bhj|PH;&EPL0e;dQ+*0dh3MB z9PyQ71VEmWJ%d5TiN~}9WuP6ug2Ymcf9aVRnSHmmZ(yhKA-HY*S4HPDl-2NeAbW^X zvSc35j*b0{oT5j{NiKKT(-9CCcf8;!u`jqp zM$?;Mjg`t=56S-yU6SW;b?to^FjTy|ZJuP||NHA}nmKS^P4+t#Y)y_N3S%*Z#Y)vH z->}!KgAG^(8+^zuDHZ2)(mCEDyou{u93wK-1y}zom$1=!-cq*=;XCvyDz2Jo(*~Ee2TIP@|Kx6a=YVrjG+Lk8kUK)N&9Es1P)k69ktSG+ z3^R%3MZ{BF_#-MCKOr<0fpkp2DuF+xXl3^o{Yf}2j0O?HHl=Cf%iYulh6Y;p<6Gb% zm@#7hopGivmok_5&~?T0=H>`YM%jDBPc$f(e3>!KNZ!4woJn<@i2<=GmyfhOwvvI8RfKNNY1-xodUoCflcj&tMK*} z`@6a*7^AExg5=&#CVR2HqWr$2;kW4IglQ7K?Ac$tSwtrSQ|iRrWL0T0+-n^;v!D9a z(D4*^E4H!&i#1z+&gCU1@fiptb-D5}$Oao!#wUqE9nn3bdZSiRQJ%Dl+22 zAEvq|9h+?w;>-t38&fm}gm3a00pMJ_g=WX0dR(Ppu-fGe*dbOSz~jX?CP%EG2*lAg zS1x8uMB5hQ!!Ue8XfgsBjSl2;Q|d?n)HO(*HxYF2L zfkZ18!2cqbXV+P+x z!_xPq?F}Jp4j+l0_a_-fMK(tL5^Ly(HE221@Rf8~GJkj*eh!wkdoV-%vxl+xx$>Se zqsbt@#`MSGCCR_kjlcZOO*7#&jU4JBbq#m>m@7-!6-}vrB%%4H^r5V3j3UHm@-ei| z_*M4tYk>^>h$@?B-)0=#EtRrR+sGzyAb%u&NICQySB zp|!@pwW)I?E!~X`|J(!1@%8uhs zLa%4u@BgwK+p2_U$d7cqf!lf1CqAY$~Cg0EEzF3*D)P8h*8}JqQRx9A*+p!|I(Iqy#Y~Y9h`W>SY z;#cU^_oo?gME|8@t&*=yW%orVGc6N(rB&Y+PQM?p$fS^!c0bN`DgV4n<|~%N`1Qcl zfw#(m`V;N|yy5Of!HcKowf>HfR*X3~v(F|zAX34UJKXo zLy9R0SR~t~2{FHDC30@tq}wplr!bmj^~Gcw6)LMaob%lcRc`&EPVyj$O;&00MtWJL zaNwt`;;wVhsbYx1yg`08sKz0w5et9(Q=3n&UPeK%0&gQ*or;~XnlRh;*lgyR?!Zd) z`_B{%vTZB|BR!r4b?XZDGlxI0WcB|w!2>hSiwbR6{@8n`dH3Sj&d!$3_j$fbQXZ## zy_V6ze#75GH!S9`<@jsr1E~{saDXZ;HEHjFDW(m%uh6be#cb#!6FOS zjY6-_&>Tnwnc5sc(fMpMHXJamQ80SWO~$xo%NdYtV4C~n%xILg)}Q)JU_ZK8GEeWa zOcWiFSes_3Z`Z!>`)*-}x&CME7-B{AO7zbQ=9JFhq8B((#^t`#{^Xs7Ip5j18V(_x z0-s2xI1G3y<3E6e*Edcj@YUON1HMB{|!klf-P3C zJp`&gPD&x;V0}(5`5#k=$T)v$v0hk7ZVXW>(I9l$`#Oi|&gH9FInO~gidNJ+`()S` zyL|b4Z#M7B{Wj8Pd0YDzVa_AS8VEaR!=k5DTDizxhpU8 zW-;VDY`J}v`(h&i2*#}q`&OM#_S!<_g~8MRMiH_yTd%>8xE-qAZ{A_fe_+>kQ3{)R z_|djhKK6SV3pyKSl(8rGW5BkbitF_|Ve)@0iz)pkjY%)u71)f<;Nh=B4%a8>x=ouC zD_%X%1b}|Dr4K>cJFNXvX9_DVPoqZJkO;RJC@K3Z94tzwxow=MEC;rSBtT68M9A(y z0?UaUmVy!apOGX1+%5+;@Q5rF-*O1#Fn6>>y6O)TOJ}cFIilEj$0pFYr@T=pabPwX z9yXuqP;a5)zLI86JUmNT`QdfGck;IpWJ26G)S3Y6YlXt9ODrRBiYk+p86k*NhtS|h zS!rb#{`glak0iW`wiv_1@nihqL@tUp^(~A(2q|>I+_@-Dc1q*fkj;DcMm;=ahc8-* zwl6~3#QUl4fA>nCyMx7|Z^_5(pP~k8k!ygx*a>|U6pIsLJuCZh2u1%_3;0)8M#L`Y z4rf1U5C@I0G|cP5&gU=^-gJ+9J@O0EJQ~AWn zgE`9{zr|e#wS<=4UH0_1R?Lil`6KnhihYo1&C{>rNBZhflj-l~5k?4@PPcaU!$()x zF4R%fpE~3!5cCIHYZBXimixtmSNgAgQ{=7=Y?jo>$Npmq2uRsE>_H+8}8xMEEWD-yX`pE5i-@zDuty0IK4ufJMKVs8U{;*MXBtcJ|d?Tqn zJWFIQKunaGlyNVlar@m?ezrN-y++&fOh};slHkOKM%hi!lDO0UuB9%QzTR%iN!a$e zA^aq0)}z^NY`4O=8F;KU{BpZo>mlQHU|?7W%|a;^8B%F+rf1PL{CH_&?UQYtXFsx? zGO_!29>*4=8GTn+y?skbL}5i?tzmu(&Yn}daQ`YVj=y!FvWu`~ElBhQ%NIxe)qRKeJpQ&{YmJwVUpgzyFQJDOzqoItuFBFc>Jdt_ z>Jk0nkSw`srZ8FnJp6{156fz(5z3QBRuy(imqmS4%*vpOBF<^atk~9&!zi0SYg64{ zMAaGct_`#JE!J^1dBd;df+L$*M}rE8rN;{&@Sf9QF?9n)f3rw1z5j%y@sjD-1he!9 z^OfxX(X#LYy>wW%i)|$q*myK%k|qX*wlG#xOk2gzBjrhqed*a~sW;E`Q7LDycOv6P z`a(86SG4ssW)T@rG#%EFPZ?9YiLqVTD8rg&KK19CwsDlU)xm)~&iw?1=N*e`;lMl< zBu9rqDgVUw)Hk)2&B37I$?2v$5sSs>gVkYzoO{VHQ)J(E^=>97uD>t8-pqrGsd>vG{K7o!Zni_rL;rxtosWI?_!acZysYIR{!3`?&(%vFrjENb-|+Eg zj~|fP`gW8!fPZJ$h2jOaMRyEG_XvNOS!7VUep(1g#Bic`N^wGyj`R2Os*%?IrMx)W1d1Kl z0Pq)huCO$TvwY@QRAoqahI8=LiV7SyMHDY)Mu|K_P+v@4EmuPCZY!yIS(}M_LY3p4 zN9^wd!{_5z6iW}(L!7HCtTO%7a!AzL^M1x^PR~Dhxg^UA$F=zaOmOlgx??7!bw!~m zimD+bV2LY3iGa65-pw!PFR1Vb-H^O3J1b(>2oCTSYJWdcv0>yGO5#;Qs7hve@TF+| znH}dNIxKj`LA>P;|3x2N7eVp2s*{W5l8~-g)Az5YlnldxdsF{t;GRIOBnq^;3om@k z=OrlNseEp4=c!KIk`X;ChnwB6oV)ad&~yYiBnh%@(2O;KwfeNxCn4JO0vvtt%=piY zr86yrA7K1Tjq+p9)u~5U&)!0fIQN2Yo8wS~MAtJ~$?v97O*WH-J-u_6n}g58B}YK9 zblwK{#hZoO%NL;?V-fS96oXY@?_T0PY1_|Miphb~S*TI9IW9sJ`74ni{;(`ABv^7` zOj}s8*G%)*fT`xBTXti^dRYv*f^Oper<)q~BkH{Ayo1N>eqsQxl?QlK;I+XG(b4R) zwA^;BYeUkJmo=`Srocg5DC>Dyikrad|4IstwLY9;uam#~l;86lZA#V`gGP|nKuANP zm7A+_eVI5QUt)9vbHyQ$xyR!Bm_+0LdXRJTX$!sw&vW4Z=G*hz$5?|}P}p|nl(%@N zi^c3eZT>}69-*$bKx2@|&e>kv=2=>{2i*H*H9CEiZrqd-Ulrp*_gtRR5h1c*u$x#t z=lw;!|6NDQC$q1%Ulk<~ZWlc0fc+6q_AVR-*`#Yh_=a=E|BNF@6}Gdn3#PT^q_n*2 z(?<)%HH(U_chY&k#>(d?pAecuKt`ln=>uP^Pa}9XAlp`a(iGVE67etCKrYvzR){rk zY4lR|^}N(onUc5>6o0UCyyr#SvMzQ|rV;xqlaApd%CYw{!0ca;s=jDPBPWoK-v-Y`R;AHc3;O<+$!!obQIk%0~yr!%^S7Sz?5rU*7wdoVh5< zwYt;|xowR$e5=gM`>+(~$F&+NTK)Ov1L$Hp(8l21y_Rvv;}5!JlQpo0K~=EcGOeLh z-rHq5JyK|!GOgnh*!#ZW=E^K7)ZdcK%W&KHn~g|BCE=8*a-A33@5w1#T}a4~V^il4 zkevo+uzU>7@cK47LQjUtvTk2Q2V5H3uh)s(H=I<;lKe0Hvjw4;Ce*|p-<3Yl{79jb z$zDx*u4-I1iKknJ`@-tlgbG)KnHA)tkh?1%8# zO#aS@2n&Lh%gca|qOVmBW8G58SSRnOQ1#JYWx}bk@TA)JrE%p>tv!0v7d~a9F!1Z=?3ZU?k;JhQ;_aPkW?B4_Bnii@8{h=;2f6Ox$l{|Vj7{d z4INE1~Fs_5+vy5C=M4wvdd;C5D8F%vzo>b#hX5a0xJ{s`!+Y{a|$km zPsSPB=t3^e)>F$8x#GcknB#(DubDMl+i&U~|J!=9-1Quq4A;b7n*m%Kriqo=w zn-nnSrHe@LIBB$Np*)F0)>j>gPbn+={C~m6vZR``CJx_JH|N1t=bIk8_{(F|q8+HY zdi^`+&k%pu!*+}guAutUA>ksUu_A*6z@GeM0ZiZ;#h zo|jq}0!#lz2=GJ41}_Q`+s+#nqyK%G%N2jpeTk6oOQo>GP!c+TA6eIXQ&TJJF|Ip@ zZhXj8944Oq4`|7i0%t|#O~?=Tz7o}PDx&MIO&<1=^!h2OoZX1}7O&fSc`bDy0 zNlIzjB0WwQW0Ky?H5bb(M`CCm+1y(6Zn&(@30`B=vZ#X#+-Px|+Ya8iw$k^QVd{9Y($$ zs5x9WokigbC=i&p6pWR>N}cu^Up*86y73AN(-(O1CIlhw=(bvnE-`)`4^hfFXuJHs zS`OGLKt{2o@pfF%Y;X1WWiGd$@So7QfdFthHF4zBkf+0fuQI2_{L-mNFH9)NjZ+B4 zNBzW%mrN#a=$o0Vq{S!Pe>{li)auwr4DC)%N?&hFeW00rHCU1aRnCFI5)9fN@cVnk zpmfP$+woH0iD|@H2Yd1hl_R3fsZ~gux*eSyIEH9u&E(Q?FZ)7F0-D@hS3kbv`lrZV z4GO(G-3Z{Q`UGa=YyIgys4!Tx6*~+oatUMdeWe&ww;X7Sf>a35Lc{hmCPg4h<*bd(^;KRkr`%8g zd<(!N0q`LmgyTb#dq6=2*eRHSIYR(}SBwRNHgi|}Ezh@Iy(X6#hL{d5{%!3Kt$p<9 zSHqHmrW~pGjqgcQ2HPD@y-rdM4%nVo&T=mN$62rSfjfymtm7|pMTqiPUgA3Q3#3dJ z$VBIyE>viogjjEb#A4VOS?==g?3UY9$yK=IqSfuIAR;udVuToXsooSXlw^-OhvQa{ z;18aYi3_8?*2w2}m+xA=jXg`7caKH6p>2R}l+6RiG)(?JZOoAn&a$Dn}iD0zD3xms56FBmB#d1Y

          ${tLZv*PDw#xjd{WBXpydp8-5*G+!=cqt@X4K~kO^l<9# z&FTf{;w+tI-Nq*)GCqAk%L)P}s6$Hb!5o9pms1Bb5H!wY1rV1^m#54NU2Y-(0h4C= zKSHCq{>$c+Xw`5d#XT^m6W~J|en4}xsBSZgrF`ZZLS2PEta0OOKS=YA$y6v|AU5Un zZ&NJH@k4q>+w!^Y&RG0cvDI-(hvXkHm=tx2h0;Rr@`i#hFt~^BSN(-$T%Dzz`3X<>$Jks&i~oiI&qA&O#!dx1THZ9oxG=y+Mpt#+@dXsT{LuJUe*#)nPg z%vZU!5<6KO?Vx{?S=0h=WO3p6KV%a=s5s=biR^;?=F-ks1IrZ zIAsw9)r4h&;g=ebIQ3_XJKf_4K5kd0dKM0E>L<5{eO#d0nte&3DG>Y~#nK#b$Qha) z0}v}D+THKJV%r(Jssgx%zDfs1&az-b3fjVkgk3W{`|~7>Pe`T1+d+p&Gj8dvc3w7A zhAX7YQ$m_?u&WEVWu{#=@%;8Z26EYV4)nN4S|B{BfGSR&N}eC;I5?zvzPeo%yJS9? zM~(`?wIrXVX1U)dqW6$nNUKZEG_e=P_Ox>6kB#Lf(|_qj_Hq@<{v3?GPVVF_=VfkZ z0Qv{K<970kaZ!eN-O~*$P79(# zJH!u5qk>tn{izTSJW+DH`Mm}ob-}yhuu1mXT zDBF0@)QO3|XuVPpXXq0H>*fVSQ=;t%4Y+e7Z7AeFs>2!SIDX{D|E_?=0oSoyHuNp{ z^WKl(U+7j*w=nN%UMu%z?_*PZ(;ocgUx7!@~9t*te+hpF*t@x}&;{71$D3I(ngcnDBF1pobSwA~f> zq67y3JUhei9U5nR@%}44J?#s;E;=YT-4Lsxi&8P|6FbdMEK^6U^d0f%d{SN5bLDpq zf7+H~;W0=bSWRf}F+l9im4n3x~v8~pxB!tTdvhg%|$7l|49*48A% z5Y|?~Msqn7qQEi0U=|wvTe|mt|6*a-t;N+Wy;pU<3HAgHL6R*J$-$@)%&s|+1o*k} zf>P>qIQCJ4X=i(`B=nCL^2McLWxH5$E~#Mp0X7lU8+rIUlygI+Hmx^pEPjrwfh3oA z3kvoM0x~7)xsQo3_Kj&zrYx&HQP^$0v?Nb-3xax)5014@;5{gj?p6Ffo%FKJD5LeO z(b2tEDiR^1rBTHqKJI)3HH{KfD!0XX8O4Vk)qo2uAh0$6mt!C`?zj%6Fb0hvYmYW5^cL1I-fL7mN5FH?6L88k6y4)Tb zr%OBw5FrNEz+*j8hL%B@Zk3h+CEG1|@vg7;p(#a1Fj%`8a-R_I_wysqVn+}?8p64V zI6Cz?V>Hr-%R$W&=S^v%kMybcSGxXb)tsK56K$-;?u38=bp9~gh>+mJSkMWfw^T{d zrGkN!U9n#+`Eku}PUOqIdtE)=EIMJpj^ZE$#8sJ4;(2~F11w*O1XD9f{%L-7qif`4 zQz;fa94+qRk(`VB)uygBammE!u#zd_m%*6Xyx`@m!UwF5c*Urq1*~r8H4g@nwYKG! z)myNgMb1dCw&fkKF^O3I`z`!p<~Z1C$&}kl9mhazJ5v;A$O1Hzt~jIsdvr#ghi+o6 zF-~8r!fixF@zx5@?))cL*k<<_rj+{y8|^&T?7n)}8y8Aq&4GnC-aBo@1^?>&oDAzs zQ(K$bF&0+ItT`s~rVQHh27gzI!Wz?fM_OGmUkj$Gf=%F!Vf)E)$vD;7@ZgXdowOtm zE3t3=R8s;r+I5+CJbrGdwa{ z#7qO_f7|(bjRSzjYf1Z3ZY%2+*BhqCWJ~_GCJSR zmrBuw6ZfG|xq%Gf=w#nJz8*xYEsn+2MVsTIPn4$3b9%A@Aa5=A>;d(2)}=Oy%E`fG zxp=(m!f1CsNP4(d{g3hb=-N!_bw($wA!$yqAn8+4R#nYEUyNnE^zX!7^(Ti&+{6OL zH1coo3R8#E{cTkY>KOV(8GFak)xJ3v4 zxm2w4Y?AzeP9T3Fc7n0p#0Z!Ax2@LEFgW_;`JqcMBYtpvzjjCkmq8`i-p1>;IO^cz zJKP76XH{KQQB&Q080-Pec|icvL8MDwUMKWPqL$-e*n8u?uuXS8yqn*oJKKm3{|2{3 zZf->A_2U;!=KP^)MIBQ&r|gdh31TxZ5dz?$6KWlyms3t!@X!oPKic|}(FjtI zTSRMPA8UXlT`ELFdiNa1Yojg4KJCc1M4zYny3>|Krz$rqtf0|RM9MTvi z?94;a3Wc2I@bo5xTdQ{N3gBeZKk*SC&lT@+k_?sEN0)dwywPpw#D1+vqLa@bwPq&; zrRX?~vY$ZA#BSX$XO8+%kOp_B@HpOGz_vB>z@Jvfnd3Vb76DRnLp^hWE9N|{92zrY zA~-EgqLU_;h^V}*DLiwqGQ(@!LifkpQW8r9YMejo8K7{|65NIkZo?2t-Kg0|KyO?H&?)8mIH(L)(OVLS8Mx%#K+y z{%)qR(=w%#K2$zBro?)!J>*=VM+w>|8d<@KWE*NQsGRe>8ZBH|syQU`;fqbd1Sxx$ z->hLbVSre1>WS!MF+UD!ZUVZ?u^?-3o{=cv6lk;%Bk@fdWTC#X7DV$(n@eiGZMYu!4xtJyYCff%YaiI_hB5P~tl` zZ7DrdRAjL4`@txqYTR7Z@8rM!&8tTGkw$-)h>%5)MT^GEOyVK?n4H)Qv$LwmSoX@v z&H5e(q=QKUameU|uS^nKjVdrn2gzaJRS}1@Sks6gerYDSJmXr=A-z@NmyinqG!kAJ zk?om{GDp-*sU^48S#kzBLI-#>IHMJ)MOaFZj5>h|x`oc0&Wens!&j^S@A-+l`0Qn) z#SxN#nbso_V*Y=%TmXW@{|Jp%=244Q#0t^(FAysL5B+a&>K&F|FP(z%*&dwI-qBQI zQ5dD7ycA5p0P3`zqT_zm4G|=Zh^^(Rrgo|pk!Jds8@6-g&l9REt zn+C?C1lrcGqxGRZ^}GZHKYfU6&yDXcFh3z$Jm~kIJLJ96+`Di}u=R({Ce){BC0*xO zKBpA@MnmLBLx_Eiqee<0rOoJb>9|~ZKv%$3^1Tb}|L{%z45yUbygu6KKtyZ6%C*u?#m0QOmN8o>H%=*fA*zB>wZ#^%Lh$#`U$ zdufj4l5boxhm@J zjJv)>XaEF12avIJ`la*--!Q*a3h}{uXTUw=@Zw1Fiva^0ouzzIzIZlb`7C=o{5@qr z1R1eziX)0z{uffz+kSH$Yzh0t^%#eVduQ5aOKtB-WYM!6-(Ba$C|Mmiwn4q^vg~`e%NBVL1+N-fDX_%kw4=ZWjy^ z*yT2l`Iz}8;^e!oSnplq@>LGz4Kk3Sda1QF@sY|Pd3-Hm;;vDAqa(&S^EjG)w2;%| z>PQ;&apMa`G!t+>BS|N!CcalRtA_M;DCLwR4N;6pz|THIT$&-0%#wBM5_3DH-ZaLS z2u%QM3ja4a{a{Xd2skvxFE?l_Sz(ysr?Qk(i#U1Kabp_Ave|BVJrnU}3I)du4y}tk zr1@TY`^c!kzLA082aP<7#@q&d^I#YK!fCMSJK=!CciGu^-e8v&V|G8pPj=0Q6X)+h1}U{8HVo>L2}jL-iUTbk4cb-{n!0`I=~e zXjCsbcaAQP9FhRgruWAU-@mJ-*h6wzf%D;i8gt5V<~05(?(%U9>Sxys*-82BsP*58 zPtiBkzp0FCytAP%w^Y^?%bExo9<&kttUS?ZkWhgBTcW^W_X%)iEmj&b zQEXb(*WeK}@BZcAONk=Gp7-yPlcjNX8d)7)SV}NnYwN-4L0hUEu`pmORF#y8<=e8P zf|aX)#Bi)+0F>(8jyrQbA@^>Fp^Ro7a=YO5_yFPP_(wz?dDjrTsk%@Y~Qp03ay3c=`f9lxo2~9tvKS*NN=MmeZ(`FA*vZ zK=4vu;?~iyw+``Hd>JVS`~BxGXN7HV0}vW9wTYiJgR8wyO018Q`!wRTOf5)r+mCDY zG)rdb-TrwP7B}u9G;fW<88i-|{BQ5j<7mT%BnRM6LR6S%fJ0U;H z;dq1^=tw`lA{@?0Z>~|uhIiigO+6y`{PiJfFycA$;e;Fu2E#85Qf80%F=?GlA)dj3 zT=jnHMNF*rN=#G7yMSy5zA$tt_Z<^m9Y^|bwS~6PtofxE`k#De!A~b*23+6&83c0# z(SNd38GOw+(o(Pm3p!#wF5~O`4g2KINB2+kuPc0hxVoY|_y*P;EyGmVqDGH%fFy^D zYGDehLdNQXkb{3(W_9e0yAI+Xd#0)SA$1z)UU_B(%v0zBW)+{k19(5BB3D;Crb#PdFRl7*v_#mCHZ`rP0vdsBB`E<&p}BMEh`_aGa!WYa zbYgjY;Zx1nYu&R9)-mNeScIg}iSTvREd~Xe5D}3GU1gOTUHmCx63-t(3#$ag<-K}S z*1np#uny>2ShkTAqKhY_$+CFJsMtSp*rUDNWj*!%WaGHdnvWjR^SYZ$#WFMFC+0O+ zi{uiH?vno#Te-*$okaw;_%}h4E6^j3m@9lq;eMPV-FKh82CW*w4hSlnL4lUdJSb8q zuidi3Vl{C$Y5H>!&VEC`D&$APni;c1oN(?|#qxC>#gy5<+#sLbmk5;yz?V=g390xf z>PiBGQy@a|e*Xb@hH+Id9V;d5b|`rKM)~U8&fhF=jEm>Rd_8~&zGT{(UxG7UEvIqJ zna;`w;sJj)E4!`BzBGp)Y)roV!Av5m69EN@`Atr9-)SOlK)8X=U*e47k<$1MJ-Sb>6(A%X95EdDGHQ(9-SRqps{^NTYS#No z?{>VUsaKRSb|OcNGyY*sLcUiq5q#{z6zyMpK3A zyi9#Ul1~h?c^zSozcWN($FaP$A9{i@|KUJOl7RpPRUu*GJg#9NSLDQCGG<|lA{Q%l zFk1<;%PAeKCz*p+8N4Hqt1x|&Zp~-idk4|+^1pK#$jJn<%aq22o13iSBcGa4Z~gE8 zcEg?{{Xw*2>;3EY^Y2^XUO`pN#mS&%LLC~_29A20+c+ia4pdMT3BT z#v=rz^gB~Kn;4H$@7o)fHHI9QeBJ9@=W6dlksP_e58ii>@umv;^DS?IV%G{~2QlD- zidk;W6``u;>F?~K0WTuL`~1c6b(1?lEk_AJwA#-A+_6{MmQthhc*`D==}ZP3TW~vmJvO zl`dn!U6|X8WBw6E$0BGU1RZMu-x;Nyj9-Ja6ltLm$s9#EQEGYFYGZ2hhHZtk^(uT; zgMz>d_(ts^O%HSdz!a_x;)$Zr&9Q6EIVED*j~b-jqkZlcNSV12U+%=j?T=Q*9x3nn zcRAgXb;ZOGSxN+aSZeY79U3baa_h$Dp|x%%L|!Rk_Wgm-A2vZpikb6?(?RXT?O7Ky zNDl5B9tE1}_G43pBwct~v*EnzITWlu{_hM`_V1>7Fu@mnPt-a++q9p~={kg_s;|Y3 z!-i;lEZDV84bmf2thkM!4lgs( z6A6(Zd{3)avLi9;`WzzzQ*vSHhK<50RrJfTisxCZlVE`wl4VaG>?y_+cC(~y`ogJ+ zmnzs}7#)-P(ncN%h~Dt_+XRR-B%>6QvS;qqL8_IKjQjrwwwhyqSd= z36{544><~kon~yeR&2**W1T?%^*6Z;AGTz@aV)zX1d3-)|3j}Q;rPJ`uw`Z?_#--3 z63CbCs?V5jS?h=^n54NLAvx9>mq>BTh&i#HDwbxg>`2S#Quw;2>$dD6#!c(bC;J13 z%||c0n>*QCf7pFBa)aBRq$YjwF;sLm{2PGBLpe>QbrJT**A94`QN@DNbFhLMWlw8Z zhC*!B{tcHesWXN0a4`BaWu3eY(vlD;#4lv_c*5y+IP4W2ZXMHbTMX&CGi8{Mj(TcjVkqkLuMU?R{3W>?3jHczFrh_BOJb*cFn z_n%SZ>PQfOZz;JA|Jv9N9t?utc*r13Lpw_2ArS2APTe$4m$%6usiIsstuIY-YB#KT z%7Z=M@)qjPorn+ip1jDtKco0Bi{oPp-ViM2}U6UndqS<$e6yvBFpcdzQ$%Q7tyC0KL?`5jgN#^MUF=+4Gsp zUvj7`0DkJFmK#^p{og|4Xw|rvrQk0138yxIXH2G3q-FU`+t9kE7OD4D2AQ2hhdoz$ zj2;FcX7`@EQsCL?&mXp&UsZG@W+5cE`5Ak;p5J-tD9du({DrKBIj80j(#;MWVJ78e zv;WzS(IeJWz!xjzq?bzYeWz}9-r)AKUoQ#E>k*s6V7fko3|>YHo6;b@XMLRAKkIP@ zOq0%rwFy}0Daz89COnYVl3WG6pv6u~Ce5RL z%h8)GV@f599re(|{t5kgqm9u^y6ec-ZUj47l{=1)lN4pD%p+`AHwUCFD zkKNGzi;C|I`-Qwlu)mqX%>?DLR4)%!>ezvnP?JR*S9M4PmF>p-=M+2wg5RPBR!;XT zTF`w0Xxj<^v0m>K0Kv_0{;TE6Zx^rC7OeS&lrnF*??`EO;vw=ysL8cI9aA?CYmPqa z40fAy=#!|hRJms1Xr|uT_jgw6LVGl}cdG=Wao;OZ!luIB2;!A%Pz0gTfS?;jNcx!l zOxNYzG~|pKSX9p6OayQ%%0h@44YjV{p@xS2E`!spC7e3Rk04$qh|j0qRs_wCSr0@B zIlNYKb7Wq8Bw{&!pDhL*ZNLX6-sjG(CDPD9)C3T#DV_K9zB?LTvF5M(4EnnE2>0@K z3a`yyhKIMbmGk#?1?9%FOeRhF=(_%N6c26C;*o3yTY1{IBVJ1vTnqPBoe{0R&K01^ z%>j&$Ok9JW{;*?T5(`18|1d~UxuKK-R=+$;s(gkf{XoE$TqM<+h<9`jpCyv7qo;P% zUy9aOb_3V}%O$awh$q@XdUG0K`I@DXdtJ$KEVf@rdb20`Y#~(r??YvwFN`aMD>*h(l>mRDnz-8Z5In}75-5;zWVG2i&Wf6O z@Hq5oUW^v-RO6uaMGvP_6P!Y|hMTTeGFf-7F3jJ*$9Ah=RW5bCrKJ@F4;gABw(w0N zB7|eKD@KS~s-!s%UAF(tgY^Ry-t@5>^47w1)GFUyf>wj7JsK~H_16%Jawz2|Svg^E zsIU6>`7*v?4H3V}u8qb&lFRbdb}TU7(9_GUJM!lT*R7y4acCigP7D<_oR63k8~Ivx z4S(BM0t_XSo>%Kru70;4kgKHLK)$p2x4#Kq4kyjzXXSB6BEL=JHM&rSB0`}C^GE_FADF{ZE}`J zgOV5Q{y1M?(LF#eam|t8EFZ)#m$@w#@C$7FrQFxR`Q?-YXxk#pS|@`2t5)>#8&*2{ z3SIs$>vB0wajOi=y4f?&-gRl_dvM2mckpPZ8=Ty*tJ;s~64gbNFy2>t&;2!olGy`a zKsVntA5z2o6O3Jvg{}4Wvy&pD`_&I&dg2Y(InlHJWBZrW_mwSLY7lgIib%(=5)$h3 zFqLH{V~Um)$-Y#*INtT<*@zH%3->HXTE(sV_;RruS0)&-FDJ@yn%G?Y!xA%H+>ctH zvhg~qYUAfIE3cdiBQR$t>|Xzpt&~D17T|pR(Po;6zof_0cNpGi22rXr^rHq)N8aW} zPJsy!r;R=-QsvtyLdyEt+B6rsJ)aIi(MQO$_ygxIcMeUGssfh+m;o+eICOGFj@-~9 zwjcJzP!T7FRA2vkNrx{hUFWNS+qu~uNv5v!|9?Yl2p%$1_bf;6bO+`;9o{>&A(E~~ zo(H5h4|H3nRuZ_^(=}Y5LIz=%YoFl6&QiQNq;ezhunRCL5T>v{$tJ>PqKypcVO07V+{-eu{1C&$RMIb_Y7E%DQUPmEDtW3Yg;>096 z`NSi8#{qsJ#62Rui4iPjjOgzT$kX^ox+fz=y3G`~m=3V0;ZVEI_lfje4L$2kPR9vM z%3=sQtmzBYV@NTVt+VR-nspGR_*8d>>=SwYhs}Kbub#Oxx@nLU=!yeCJ?K;MeFy^X z>3C9Y1S4V8Z52{kr+IfaQ?p;dLcgUpXw-3ShDOCwb_CDV-@cPZXIhLrb})ZcJR3uZ z#>(A#=KMaNFn&YQsmeT|<(c~p><%_Exl&9Pgi8}32X}#_cv%+RI$mV=j{h@L;L%43 z5ycSpvX8MgZ>cqt)b#Bio$wP+*i7kVwyS*qDhz9l5i!-D2>#6){`uivRKV4?x-d_$ zZGdXU@KgFU>=+IWDG*mel7{-YMgdPr zWiz7yI$cnpL(`vUIr>F_`YDUqCh$hI#EhxIr&OV{g}cg)T~)z9rC~t$xJ&S=rZv#Q zAC@09%4__>FG(bTM+&V(A6D!)D`o!QY#TuEfE?2CSv9bb@36zxSGW$|hzNYFd>Og4NTZVraKpaL(DfvUK=~x3YhiUI}Z@<~f9S!LzMlma9CX7q7_4h#O zb!<_e{N%d31j0YU{P%wWlI{ECT?7Wz0OopX0xCp&?3mYtQfYdwmAXDZlfL32^P0WE znRr*jpiOAuIYqO8s8mPjq3kJY zIc4lDY6yd@Qmr4M4olf4K;$(=nMtp0yb#E&asBrm{bZe1SfI@^Ek!IM*!#Or3pL|H! zbA3MaG52%T>|UzSgn!z}Wzi8+9_+5qEo>i8?&}X_p?VOWxgt*S&Z}tRn4rPRMtlK; zmN5<0NdC*8x0N%V7c+Mj;uS;IC&|jzB1dEYEb!p1CEz3x)TsgyQLpP&-@n-%ZLgRO zJRk^TG4L%7veK)l1aocHKq+Ubw4xo?K}gc-R8*?-;|BtBm2bq}xOy9U2DvEH@HDb;6E(~Y_d@}{0_5jXcb zwm8*1TEW(P|5VB)?$OKLZi66jHLo=Zr&0@j{N6TeduLXK{b`t3TD4f;@F1ztHiT#u zeT|ZjB()S$Ab=wO))+n(Z?@ z&xg4KITFVn!Z_F?5*Ua*H}3plQKOo@5V5d*7e0Crd|}8D4*VOL-kszGyIAB3KVyzL z<(a*d@qh~aLwjE#=hn(;t%OhX@tYI!^8x6TI{Z&%_;H zHP627eevUAZh4~X41iOs{}D)Fx>*h3h%X6%|6=En{5SIZcE-u)w@G{qToXHl`M5ko z4xP5~_KSZCp>cKelCOH$B2??S9vHjH>Po~m?C__hNFNNW>VLj2OY!q|bkp_gnKc|} z_j*XXI`XBpV}l8>Z-X?K1p*P{2KX(5Cs=VbW!X(CSXfWPa-!G9f|DRZc;S{v6#DI* zb~wH|k~^LVmWo=ExF00phH~+o_x}i7mU|gQ9u_K~6hcN zhckyRvL~vfQiV|j@X$~ki5Eg6Ksnu@1cb&w#~MO9WpfX~JSu|%_>fIz3UfvFf&Eoz zS7!}4YB~jO7=MB)R5tJE8b8~uZ>KnAS&bJ%<*z?0tLxNBJ-4NO3^SYa>HqZQ;{jC|9u8b1%K(q9?Dw{_{Rn>TFsz`IN-`yP_Bwwb)c+fOR6-hPO9?42Z5rJ7y^~xgQ5Y05k&GAZd z;^>MVUn@Vdh6X%vfqDJ$`6EdR`ZF{7ds^YvH#uJz*l`9!?*cp&Eb*TzVJ9Dd#YMB{!%cyv_Iq8iIWAsiw8Y!Atp;oH%!Y=dF3A=O(AegU+vQ1gxI^$$%WR|JhIo5p(gGNW zt)2!1GM5m<2S`dy$$G{jL1V<7-f_)-ecP$*tMgcEOLXYU+Do5&!zr1i62FEM8vrr3 z>j?--8>9Lxql4E zzQV;)f;a|+j#3C4oOFtl=vPJC5tEoG^f6jW+A0!%Q`Enc>u$j=_rV0DQi)MGNU4g= zU^*On^-`{F$Cn5J*U;sQR=;0S-<fMHA23We~b zUu|3>nctaQF&n4@5^>Kti_9+Ot;PiO*BMBHzb+ig(MLaiW^_*eqCg@J_J&Ga@C0-LWgnQumd9 zA(4l-f}?E=k%#1AH74mBbNynk&+~zkD@cKF7&bD-Xh0N9V_S#qjqCQOqklp^ z68+@BQtX^9G}ir!kNO9>Y?Lf(w7h<48PB8isixx@h9C+XFVh`+Sr?%VL;LH@USJ*z z$1E&ZNvKx};RywW;f12t^+3!HW~Zd_OEx*Dtwd(%m$lT4%3Avx0rVeDW151LuQn$4jn z^HPucZqU{^j;$!*ggVA#Z)dGu1%=QBk) z(rtVJ=vSJo;WPnnag6dlItZ07owPemkn0~iXDR&6oVw35y`{uZe>CnAdf@5Qai#SQ z6gLEb1yX$CKv$(%W-8_eFdh|R*-qjEnX&c!U5z)Bn1tqFjGU17vUgu!$D110p(w@S zY-@Z8fOjZU-aP|uiuDP6U6-vpfxy!_3?|8p zL#UG+i36{36@=5rS@W@}+OwI7l&(~jflulZIUNsyw^lbdl7t&mV-O=dkiTAAmmoDo zYLE5o^&Zc-+ZR^>>9XB*f^o)n z{%&kw3a(zUl%G{+AoJZE!$fd-RlCj;#)j3=x>1&ucI=PtB{AH3YnC#?i1|+!AE^~~ zF&=g7g&3nuI}hSPgWxbB88vgN6<1DvBBE(ZdlmCkA-3JW-EKX{zZ9BdZvVBdV@7t$ ziP{x)P-X{I`C%a1b!b)4#WPp?b^GgvH|BU#hHjkWf$lrG>P1K~c7R{B7ziFe0JYEr zEEm*BPoNq=gcXNCH*VI)`TEIY1%*vQ-mmZ0qcPo%HUWWcX!hwd8r!a#$Z-cV=!%o<9TQ!aiUKB_S;|&do z*}kliy@=v^sErMyPjjKL$^nGHWkpaT>nb{#?Y;IpsFA&AisWu=2umDuJ zO|@(f%zOWimwGYt3ni)k>Jq~RIq-`rn#s+lBc%VL-~hNCp|%>2ONZM!tDC+b7XB|n zKn@*JEzSWEG8!c9cu}#2yhI476mTkED5qEm-52T#driXT1uPLgc zalLmzSubAk#ZNE}D)cLIK-b*-!7GGM!lO<@i=)_@k(#93yH-Ira?ip2=l!xN*S;X1 zc@f4e-hQQAXcW)D-VFqv>z=4MVQS<`orv?h6@}jj-zWt@@$P14Qe%LSB?4bEQ0@05 z0v4er9!-f81j9+(Sb^ea;b+u8sz*igiCpq3Xkgu;|cLRydZS+hY zu-4q|l3XdRr(<8gLChR(GQ2VvKe(g{>~4@ORaOP51I;iMA~t2_e0;T>h4Iqzu5lRg zZi|kTZoY6+Pkp4m3R(EUKnMjdW0=C1cPodb6_i0o+bpk;xCtY_8IVU>)d zCh08c_$gb6`$h!P(iVm*lfhs;Fjt_Edr2L*zR~Yw+l8gOPs~L#An;2L0fW4wKQ_=-|CDn3`0U4y)x-?Kb^z#bn~`Y=w$uAqm0GKNghQlR7$1Om#?U3+ z=c)7#*#vi9ENDAIq+yTA^0#oW!$+!PRTWJrSo0@RU_QDwUyNn0Uqba@By-6E^qm@E zr{eO1?ZKOWshnf53a%e4$3yQZCsH4%O52`P%;SrG+CpuA(aqtYT-)JHBEXAzck)W{ zuZVvXx{(?p*A+LN^SlPsKY z#e(4W)~Xs&i;5RJ{WY+9W#{68^3ng9Q4U`gb~LL751~tS=!1I#3tO2bBgw4Rv;{)e z!gB{PiaPOZq3jhAZc05^xg3jOAvSShk*e=w&my0DFP#@-Ms501nI$-Jl8a3vd>~0> zQi_w+ksKWH{LT`k(SjOQ?JZAF(+7PxTEI#b93%poBlth}W=tPb2hCq1G!_6qLkZ*% z;6sb((*b}FG1+ChN){(BK`)iUH-}L}CCa29D&jqibPbZ`_m7&jyMHzn8?J-UgAkTG z5}4%>++8z1{T?7COr7)Iu64=%?#X87rT_SQ&LPbXd4KD7r$6im9ouugL^ii&?< zkqa0Ojq{CTyMOc9JTrW|+A$*^Hj|f#m-1e)}+qsPX>8WLBoo)SwaJR`f?9x zN!fOosVKzkS3s43we7Arl`TL&q?%nRb@lDOvMC&K#Dt{G28ZLifg80d z^+=(zMvq2^epnDo9=m|gVAt-;tg%sfKO@@a)E3#!;m#&KUZ@jQhH4W{pb7amXA|aw zeLR0=e{XKy_`#F0|Aj!s7N?pntpP0=Yyq)#Ne%<;mbdH@TZs=xlvytG#LQDO1p3(;G?6r zw>tjfUA7*p`?5I2CHVxL-R(FtT&J6YNsdKo+oo;tAibh@?K(trNL%PK{SD`rGiM81 z$iVMzhzarKHGb9O!4uQKW|=CKv=?SsqFtG&)F4LHKpOfQPB@w^lqW4H&nFkTzB*PR z*5Py$(67=LgjfgRrjZ$(tlJq5J z$;m`E?f8z8hA0sSfQsq8s?OiFdgR`yCTUiWxF70GR76;y1||0$lc4`mc(f4j(gMEcBJp-y&2}Le0sEd zpR)PPU}OcG!8c2)k*`rN&N2mw&vB`SPByQ(D0E5c=^!Xaohgj<#f_9saY_fMxN zt%BXnv*T&YK2{IsJAYRtQeAoFog4UBB_ZTDUuQi2u8#R2 zV`iKafI#L$?K0@*2;hsOXQVawv<`0slRbpWt|DmmrW8;uULrIbfPhH7Fb4p5CUibP zEvFFUU8b+NbK(-2!UE2gcDy*SNM17OxL?#)`cVCf$hg~Rtn0v@nbk8?cNDRo=zYJf z!16Ag&X)~RL~om&EbHR|t%bPVi$kLCJ-x7d&{we&QJDN_R6Awb%Vh-oY>HwzNP@W9 ztSjx9R{!RWmGaoyjfal-3l_!v)aJ#WVz|mvz`(&V;KXPjT)Ec$8Y(k@C~s>P zu+UO{ViEecp|mKaUD9$<04CJYTm7;2vjJ>F5wJ=2hXsw&-{8R|D$r;B1~E@c<<}%O z|A}Q(!ihM5eh6`!Fs6B0eTx0>)PE9*reEDuvwK1|O>!P*=~n0)H|{}%&I|#m z#crB!8xafxXH2mtZj0h0-89T+PL*Uwf*aU9*0Nd^-6Q|u^f`XHP;w>xU}zo36_kov zAN&?C#cFrV-^Mh(hu7`vA5o$Ht0^s?;w`VxN!HKASN^qjFA!YXA<7R`fu} zN~|ACSEpUQhhb9!3{JCm>;;Wo?y4SJ^Gku4V8a?`?Sp z?qMbN8iMGzDcx_I35ijfayUaHOuhNw90HnfIg{bDqwpavUM{?}W zD9F-S(UoKlgZ3z>MP}oQ1K5}fP{UHooVIs&jK}(Q*F`M}!yoEllX@%_6jeR8i~y zSh@;_sG7Hnbcu8$-Hmj2=hEHX-67J=0@B?}NlQyhOG_)=C@Fcr<^6sCz|7q}bLKwx znKS2?U&J)G0 zThlUi+VUI5e^1ngUhslOP9H<7Z5Jf>gM-Jx;Af*leWEPx$E4O&dEDL+Ewj= zKTWC|c_app)%ZC30w+i>&J4Q1tv(39UmXFW2(2bGEPUFz%o>;cwnpb}VM=gOkkOj{ zl`4(PBRX42wAO6wikJ@z~#}@@2M(^%K)l7j$ zGz@sAuh1oo;!a}TGV61wUsjy0G%a;aHcaJJP_(!xI_no@xNpV}s!8E}b8BHqe=d;b zuE)Ji2>0H0&!OQ;dB-z*IbF@8EUw)f?~L~txZEcN4o)&fUpWNT4J=SCYZ49^8AdpC zn*URZ|5d09y(H=Gg7b9$1RdhH3%pd7OK_&gf)&^~X zh)mzK`qMz7pIv$i2i9h&A22lgVlMK?jemb)Y}X-}o-^$*xf$4lVHeHDkE;Y;;$RG_ z8K8wqB+XeAX8OKhjfOSFn+5A>6cki6R+m({Em}VBUSy}|@Za42HtGlUQ~yK;# z?X)4Sr#z_DH+|7XYeFPM|Da(jG%NJ{7lZp2a7*hn@pAm4})`V^X~dm+=3a~gAiUD-p_GIYt}Bc zB(n6L&aQEX&T5Zd(h1+Q&<{--MYOb5Ir^`|LtYX326e25)^daa28J|DuLvdZm+LF< zpt%QNLBEI0Sy@`jE`sp#%~w)k5+k?l<$dW`uq%?SWKCKrg7$M=eQ@GF9NU3(-M8|M z5-4kss|pmwGUM)WDXzrQ)YX7RTZ?OUA_C^H&JovfO2a=-t>(G&IU_^H!0;A z$=!&cRDp{qU2%WMEBJGYv@0_;|wB1-Qm6Ielvn<(a$bc=idl(xL;9j($iv7DBw-m9(NEpBU{L8md zf>uhQrX9{RzndIy@~6^79_e(pQMDf5LZ3*TnmH8|aaa$_df1>^{0aUI%2wvApi)#~ zP^DD(61pd`^QqbP}?JFuDJ~nD&;j^ltkcI_sX9t)D zIfD(M&k_s8p?@;Z7J|>Jo=Wt%Ww_@(c+Z+%5rUo%y=ByPsSTl`5k60)Ee9}~Y zjcvzteDy9P!z5;A6BD)S-vR1eY-u@0GwhWr^{iOxq?XGF{Ok3hRUB#t&#vqcD2 z^O>>?gL#X<_4zMMza#?Oz=TW{;>SIs3wQ>;H*PNXFh7LPu*fz}KjBSQ`}($soHK6D zLDQbZCANJplQ1#(6Mj*^piBLEF(UtTQ7b&5!@HNbQJc=L(F9s)`74F3hsepv@Fg|m zg*aGuMNc$OI}U-8T{BC(&*`J=!|Wr2P*okD8gdl6lBV!rJfU9G*<4Q)QfkQ5Uuy*m zeUW>!Zdu~UtK_v#!JKF0s@?mZu@&pH*j z=e$|PO>NlbSAw64eM|o-?)%5rW(Zr^6}ok6zenAS;%dLt`+9P>%~&KEnAoC!cO13^fml#jKT!LvMG|r$zfLk8Jj{n^h-~;C%STt>O^HGA>kTE`vB!QaAo%bnGQLovT*)V!kwbnS>DD4!!uXC@4f!!Ff%s< ztkBMREbt~lcxOaj|C6t$$E+AfI_bJFOH#Oi`Q#R&CE=v-22s)M@7W?-p#&O#BS(gt z37pEh12Sz)u&m4#Per%7|MTquCA(il!yk5!fn*~7+j z_iCj}R^C4KqVh%`dc2OuZ|%GeV)+9d_Z6Z1FxX8|J*9V`Lj&9Kee*bD)VzCZxw4v6 zGjgY@y9|%lxs@_Tnv#tg1^r$5kEsXnPc+m z|H@D_>|zS4{N)=L`w_2#X4WLmFm)S5n28BTLBry}QY?w1msh;kA|UaWI9gyJ=gWMv zPzj=Tkg=TZ7HD0QngweA8hR2+Y`P_P_>%X=-u9`-&x<>5u}<6C3arwhJm^Md^$Y?# zi{brY`fG28G3qgz-EHxl%1G0h=LbFCu@9(^iwn0#+J>>Kk+6p6b|7mc{<3t^Nyt_6 zSatk(tO`crOu$h~8FV$X`SV`$!409jkKGtvO1{ouoDMftfeviA9!Q$f_A39|R4 zmR*9K{AL#6PHy-o}fL(@1oTA>sz=5eClsj#qV1Qi&j6$kbmN}}>b zO63^T6Wl%lAF6_*(Q?I#pC#OrT*ua&Cc*Z!J+|`Cm`#nV0mv=kxv6C&@bj>ww1d;h zG+)v;nm=8xb^9AosA^cJmt&;K;$XcZR09KtDEd?5Nb=Aka*atO#vp#Z-Lke3%{&1A z)c!N2)6`CobDHU`Ucc$TvMTb&DJ}K+1{GofX{;p7(0#ur3Zs>4^%oWb!u_W#>!Tjt zH5VoO?so&jz6a-L2JTt9{@T{GRXSD7z++#ZkG~K0HPB3*Lo3b+s?|ESMTH^bbh6w)}IBSVDL|D&YinG(z;DENd#V*f%aWll;tj9 zZ!7q26{sJPHn882kn%y6GCj0S2y9D;3H&LJ$SsNtyEC|rBWGzg_$|ma6l}-c+peixbj_E`W%y@km|Ss-E%f zn!rY_Uaqa}tYMkI{^3FN;V2f;nYQ_gP<0qQvN}{)|G_TwC=kVZ-xqfO?WCz&s3N(lH_mxBl(5liq?$(+GkfaS1jJ(V!n@_F|ap?DbBPl5*aM}j{!MwJXi=nXLwz>RqY3{;)_G#%Jnl4`Gh=g>7~<&*{LB~o z8x7xx<7~eAjtcr*#b=<(iI|x9&+Nh_Wa^8RQ&%?|!95RJ9T%YqJuaoW|6Vpu4qg!T zd7{r=^k)OXMxu=`mlPES`VJYRvK$fUa&${9=U)i%r@kIhVs5Ll$ESA~Ddo7oMU0@B ztkt|4o&S=`sne7kk@C+WqCW*BFv_#?9i7{CS~xxH=+clx!1G#8ENC-bGV|JAsiJV@ zI;i|Ye?l}9-+P0F27v5Y+dy>52%+`3rG*p!kJGDMnOsUHL5eCVRx0;(+g9t@L}V#0 z4Ye6|Gz2R3?RMn9D3n$X5#PRngz^;6r^U@nL*f*by>4k6n=_5EX14gsG0UHcK}VIh z!Q_mJ)=W%UsQ4tc)HgTv>u3`ZMr~*H80E4{HafVtI-~~Dlr`@kxK(4MDAA!jtvWX-Iae;? ziB{U$v_A`aEpLa;(p{_?hU%3=Z!E>p43z!A$3$4VP_obG&PdR+IzUMK%LcP&4f;3o|&;$S=iDPM)Z6XcUJl3<@HeD4%Uf^PUH<0bf3(xaoj&+x!N@TP*fUMT!2++$nMjngF$iA~fS1TOm?0GfzHD zy({@NPO!}qpU^P6+|v<*X)`IaRb|se3ik^Qxw(0GzuOq*A2S^#qAau_1dhpYM>e8j zKCg9C;505~1j)t~bKhU+jVo-(udx<26+i^` z>Oy%y8LCZT8ofq?UyVH zM69HTbZB!iJSOv&Uuyx=i%t0+_uu&dR>yltdeN~JSV0vJgTSaqoHVGmU+D#|^xgm= z2~6?prO_EJ;wH0KZZwFbvj?WUcF6fV3)Hps)F)kcqYeu9+7#qBq z+g8FN8%by@YLsE0-_)CEv$4%f0-koi?y)^FSk4sZA6aRkmU*zgEzemp3_adZyPJ1i zZ)$=-O27(&S}6HPOSN$Unj$Fn8m=zQK{_jq%Bv48vt-iQo!^<+{a1x$kD~a0VnPbR3`md#s0Rx*xw)%>YE^}9$`Lo9}-JNhPyZN0-w)l&+QhQOb)u)d}=9 zdtae|%QnnYC}g@NX8P3KC3XrD?ukyZ*4C#1t8CKG5hdie6?|^lTOn+3yB|5ht%)`$ z|MT0=D?uE?lUj8#GI5sy)LPE6XpHx6NZ$sVY*5!0G;d4TQz%zxeV_r{-2m6^=}VC6 z6=p#0!eSh_1S!z_eH_CV6hsbSMl}b=*h~rx-0b2bX;=JmxI9h4m>?nU-%PP$scOMH zlpk>!gRAH43n@t}8nm%eN_V;veR$ayY^0(|E{^HtUQcImOSKA84cxbxnYTttT9 zi(57PKfeDMW0tOw@n%6HA!BdRR+Zvi4dT$ZK5ZJFjO%7EUz|Vl7V>1NJ>(vbUp}Kb zS}o-12o43%pI!=0HcbYBdB>-xwp8e%({>_WSGhzRoLUmy7Ik;zu<_uUkeH9JJK+js zHeN_{udbLI!-~vlT^waq?1pBQ$*rCY1m=$DYMHeDH|$zN!^^YqOUB9C1hnV3Wm0H= z{mP*_7}$Q1bp2)s}$SRpOHn!Hhm0$DVNa$$G-89AT~>jV9V(F zoGZg<&u@D^+_Do9-6CL$HhbCvi8Fscnh^D7*CDOM>T6#%PxK8sx4n1t#j(cyU&zZ# z=-q{<`mL?8EYR8#I3U4~ZnxY?E6sMyi;Fv151fV>3lmM2VZj&4YQ^sqg&kP(MhRfV#^M=Jw`! ze7=4nBLjb>latJZj%`0*P8?fV6Z)();^M0I;4iFJ>KnK=Q}rbSO0qaw4<#Zq6SP-^ zdct6*=?ygBDe4)FIx3nU7^2ml*eeU4n0wNk9!1BtFuC0gYYXCR9j9hW`lG9_=CPeb zJqr1idHo3Bj;`dz5gDf%OxxGSp!J+EKqv{WFYf!85gtgvd8c+^d8(h&Wt!S4_I!l? z)Z1rbYO(`dHJk}BD}o`-OxSv(;@F6!Ki=D;@u>)S%MCpxyqOd%H9o*xZTahV(kjGi zYyM$l)+{DVA8m<=zN(uCm%yE2_TOI}wm?eIW93~|7fGv6A7>A6p@4JXc-dwD|0_ua z|Indaw`9UMqjk7y(le2Ye^auUyt-Y)(XV(YF^22y<+kUb_oHDvuh4U{gWRQlOoRPNz4XU>AtqAS+UPhtmgQ1w5vV_Zgqve ztcU8}P1uU5-cV0mltG;u!KxXI?6RpbRf+Vv;h(q_PZzN;CFQLXJkJqybN`e2K*d;q z!pi(R96MclLjm(+Lo}~5TV)X?bG`gJc%qkVc0h*zxQOx6P`^`)zOHrKwCRmUi{nHh?>w zbj`9N!?!!v6rJ~UGfS-nKYqED&P?d@v$oeJj&EIdbi1U>X0E6i$V|3#sU(qKv`ORk z_^a5eGya@g`O=!UynM7a>euk>Y7l_xQo0C?E6{B)ags>qRKUvG<0#T)a8yWpT6~Kn z_GtWI6S7G57c^KVWO2zZPqj0f+L*9lWkyAr8>`@4_UVaxdzM+0F^dEUnC=6Xr`;Ma z^_~`0@4gB#Hs)VG0@w8Afk)Lc`ub6*IhZswRPp%O2GWI#YXm(oMtM@!Us=>^L}?6z z^n2z6`&01`%s1PPX%MfDsRu#FGBJU3+r}-w22cgDBrzVDgW8ox>+=n>q2h0UG2s5m zE#3+YQvJ*TAFBS~9Pu;gO_iyydDTdftUM_FG|`!NK&~UlfjbaIT2eRll|wUOuxD}x zLhl53O%;^*%=erU;PV|$MUFHKXioQ_98wzE*3mFx&S4rB|My2)P+mVudR)0_$YpO* zQuVW|;LM!vnF|z}IbGE)t2R#nB#7!#qOA?ByaeKjIcz=)cmAA;LeBto<_6kf63pn< z_3-|75xQPYD5j96b&FHLiQ>h-S;svmd{^^Xg(Xe7Vu)Y=N~+Lv9z9M&m%oYJGO+&T z#D4AcbL~Ojv7BVP1{0)Ffo5UYh^*~}{_1$cv{hM~8KxRzbaT<`>F>YB$V49k^M9U2 zR^saBmJ{b|sVnUaVOFOmVu;!qoaJK7Gwx`2mBN!`zNB0@730@SHfN?UiDzn$U!tLs zWtT_*xTp&~*?F*Wbbt)hCT@iyz+^fOZ)IjEZg50U&5MV-)=<|YX$q{ZS#o#9yH8}2vJzgaF{=c$15dtxfCBm%k`vC@kh9J-gnMOIBc~j{81{lZ-qCmREN%p6GBdG=TsVm$e`HaeLFc> z7vcTi`#|)$_QegkR{NRIEj6HTMTUxLV6sZma&IvGgUlfWKW_+I@mP3<^w?%6BNjoe zF1=uIm?{kqft&&VRPnc9nV^;_ZI%Oj=J$^nA_-tRmamF=?40>ii(EP#&mua(i5Dc+ zF72yLD;M*Hl_+2Z1;yTv=EUyk=4?0Ac6IKL!vsDb9n6~3WE#G*SKu6CSOhUwMeWm$ zWk}D%Gy5E2IvWztSUAT%$^SE_iWM@v?bUEy(JbpT*_v&l0owcy+Drj3SY>h}oGL;! zz>kGnfWq*xWlHtsL%xA`j$E)zRpgp3+iP^5!Z4p-jGCS{ilsQxoYNO+^C zr1N>bC#0jz!_!|5{>NMp|2(DAl)3!ThYwZs#J2znzPH)KSt4QH(SL^ZOE9p{)T>aL zf|enz5F^y(6t&3J2Ff8UkJnwU)xkV!@B^INz%h$Egu>3}dw{Jq%Ogoo53mf(6$qRF zV&Cuk0HAj3Lg>3Sk%kU_`S%qv_$3NwDz!c|W0-n`cKwso$^=LMvF1|n4*s|Yj=g_9 z*p7E%md7*k0hJWHqx+5uJlmN{&19%mp!>FG7`j91O|_mS!%YSi&oNkEYA z-_0+-ZfX^#W~c8M3)l|uCRE+i1a52$S@JWf5A*F73rscBZWRUD`qQu)y}+euaDkr= zYR*-oJ8FN!wTd|UQ@<0J|B%8VaX3})pW6#O1VDvRVgL|I4k+(Do%XQQPHF!vIiSQb zlFr6?>%R3HBzRUn+*%f`snVGorQD%vydUF|3-cWN#>-dZhH^OQCU|V9S&3g^wV=KG zWA&37iC0eUzoovJKXWHP3$0xr)sz5hA>alk0~+Nl{zhU!6+ZXKO0Y$66rQs0%b1r7 zVkqjv8G%nP&qyUAe2ju=jV8#nk&i50$vt-&_Z+M{6RTp9_R68nFgTEj{yd?Om1)@t z5j0{AEt}r%RJbnH0*7TUx`)L&@p!C&eiqD(Xauq|H-zNDX)Z_xXtY6M=1CN2-GO#9Q_hd|G^anouQSpS>9fu8E$uuKBnw-A6RL+i0{4XoKc7}1+v1}$$mlR9 z-Ob=`*oU^O0WSs6mU#~v)JkUUajhRPMxaRt`}x|k%FKUpu)9IxT7*xs+FeMio_z7y z^*eXzeO~e3I}$<1HIXHtLct&pTQ40@z2;Stp?PqcfJ;32TQ@poUwC4FclQ)3R429O zwGRXmsojkqgx-{DSY)q0n`KB78Dt{6a^{)Exw6Xt`{+3oZt+hx4@m&ost}|9-<{XL zg;XA+BibYu-wXnsQQ_2i<_Vl;vuLx~GYdMP5d6ofXU1<_U zYv?Yg?Qe5xrjq&zr`9+@gsDF=n#!CzICsDem>mhVY0a}{@$$x?QMfsSf zRu;@nOKFzasB1!MM3_WM&xTKkVKg%EdH37~eeM}M42c5s7jtw)p0{vMpB5b^RZ;17 z_9U2grE$K{IhZ>cPFYxV_;0oEKa4mR=J^%a&QOvxR3G2pn?Cpg$G{#dYiDPLEd(& zq0Zfj2yKmk?p4#87`Be*%jNT!j!#$|bRnqW`Pz@;pvEvRUK_E97q3W-7dzR5pSI^h zJVLGy-XjZMxkW{f|2>a1(md84H}^$wlamuctlkkV7B+uHXd4EOT~SYopV`ig<^%=m z(1^C@59N?bs(%KHab~MSB=aapXgxcjI8A7SRBS_dllkCBMbeh;nTW|2bjdsr#No|= zAn_cny!h0f5qY|HU!vvCo+v3-$Htuq-(pvqR^RjBnrOo6xg^teIQ8>6XwOTHjQzd# z#rS}2X3dBHCS6r!hKLxOPSz$mi99d&oi^)6JfCEM|AY7O@pX?Wkhga4blR{5tqQZM zQCz=gk-c@4c*nGY27cb5vrUgJ=!aj|wv;{fvb=Ok48wh+O37)?{+_F^l_lwj>DNDf z&qb@6#kefDZ$IOT2v76_Hd$87L;L6fz!XZX7j|Ira%Gi4LkGSrE)1N8&PfZ;y?rEH ztKNHa+{Ymk@y=Tlj3>BHTq1Dmz=!@(nUW{9gPH9}UM^FC>({lu(lJZ2Nja1G0Nge+ zqTnJLWVm!qtG@TC(Dfzb8d`O11JB~n(g0TC4M<7FYfa}6_>zM#o|9<(pilEdfzXT+ z|IwtY!h0fKJsstc`-#D(_}rkzQ$11Lv}Lw_FpVGdiqIAe96h}rG|*VfeAE!d_N^h* zSj6hIyDrtOoW(vfqXo2(vgi32diktjd55@-SFWJK4lou1c{PuZrkh9h+S*|>*xEF; zi;)(nusuubQ0rT)ob&5NYzNJSG!MY0W>)PRM^4;iUij!@z^seCEiNxZ_0*@oK^}xf zMzqR^iV9qEM_PKxH+E~)WLp<=kB-0;v8ih>s4b+Rk1O%|wXM(*OXcn`Krwe8Y9+6V zfMTzWY#|!?Ac(cw=-eAOVNRL5-Z4g{-Kpg4yNkPki(RmudXvb_pATdxQiC6EyL^D1 zTI+|nycr}$({Zbwc-GE_13RGd{(%;ciIzJpEREiHM7^JQWitOUo3;jQcmmlyEyT{3uu()afo|c{{JqwPOv?klzWI%71`G zuuzmIYh!2mV4f!ZOMHOHV7elrzB~gC4_|7TDu;yTDC6=zWKy@idiXc--%KfE2yI!c z^kyu9hDV+TEZn3ox7i{OwLSraNG^YQ`UZGvfL0+P5x|4Bjtxx<__vuV=6sx1d7{9* zCP;!jYkY3A8tLheD!k)MUDU6`AI!IkNPbitz1brB5_Np_V`YeOofNRaD!Q={f+lJox<$TnR9hk!ujgYiJ_SvYDC}viM~)T{~Y-}lNH!>suzI4 z(PZq1b>47GS_*wpYu&wQmFwrFgOicO6U_%%OlmX|nJt>TvGG&7&!{6%mR&FkGUb|6 zJkUey8tC1WG8tbvCd(>hiO)%w609XH<+DkL#? zO<}Rm6QMD7SkEf@Jl0}kgN2I9A-~Kx3SrZSc0i}@0JTsxU~OWj?*Rh+1Ix;ae^B!a z?RAMSdNKv#>F7((kmTv%q7ijng9W^lKxjX#YCM1ZYNQagpvH~(+dJHQq1Ns;62xEv zpTySF+VHuemdEhCJx{+}qX08FqwmjY`<>!Bu(ZHPsa#+!(j={ip3J$`>PoZpiYr6LPtv8)z!S3^~53?ccWEfK>Q zj5H~`A2#~VgiN2g3xQ?DG!2D{1Nd;1)PNC(%@4>s1z>P*PzEan-YW5eK7A+_5hatB zd^YLF(l<$z)OAE_S_fPY%FA)Kk>ED^kbz&@i_T)@8Fi~VUl^1%#@QkS(C=Iy4Naf9 zMuD5K#q8Sjd9{zSZ{#gXk&|ex5QTO9iqf>EBkxI9)lklm*sw; z?h{szE;qq;1=V>D#-B}t_K5P2@2@W`{`3FafPsTm)Yl|rwlge)o`6E%Llm)AlOjj% z?wBmq(LFRWZ--HPTjRd!l0V%iGdv*OANMtBx*pDiB*kiFe`KWjL)w2Edn<_-?Nhjf z5#|@gYJp;BBf*%fVp!vq8j-F&X~Be7l7%4jWm1VYc`t;D6XQ|KDdm9uw5~LNlv>9v z>ynb|=Z;KNiM4g1)bVuaLx31CKMw%eGqk`gQ`{F?x=nZ-VjJ;emWq>et_)=G45O*P zVxiVmQ&cnkBldSDDJB;;Up%m&?BSdYPf2gnHYdA_sUkm8Aoq{11jDX{x2w*z{g5f& zYI_30hJSzaJ`Lrqo!8uwXRe%QYyc2whO44NCo&zkj+(tW)=}?6z4Y&NC9UbfeItQv zDb|k-(^5Df!g=3_bC{$wNUQufP+m~Ysl2>jwA=*E|JKs(5K_v!L(kJ6q^^ik@nPa; zmF82RJ5X%q17?8-(`DfHD(K7VZhD#@wz7G8Il{JmZmKM7DN~3nxr~51vIoOVAD7>? zYm(=LKm__MZ^&jHdAnP7hlf$K=Ft(+D~EPq;Be{n=J^BkEbNs~&7mAJ%72YmGfyi! zWy~XM5&obo7fVjak#*QQ;9o4DqDWp5v;h4O_pJoZ&Y&IGV$;w^fH`A~k?xQtYgnA& zjX49VkMw1xAo*Aj-`g*5Qg^lMy0V4KtXKNpt{$>d?P2JE1_Nv+(wI3^8^2d;$s0BxoztBTw#Y%NMG9C$1GPlN#!>BiBFS%Dmxuu`9D zI_Iym`#Bb(@w!mp>*Qr}B1Q|gS#faL zsXY{-NQshUVsI2v`bVeli&P}c$<4S2jI7R;JWACeUBUFXzz=i$#!I$#!MI90 z2a{DV)<-DmX0;q7;2}*v3<*CXxAUIMRNC!eUBpRXcGj{=AocgC$V0jcM~KFJ*RneD z!7b()C!Aw4`N2;O4%D~5Iy;_cCIa{S#CldE3y){-gBJlI#ta4MDq#8}ZFU*CU^Yc( zJ&u51;alhd1ELejk;i6@tX$Kn?bf_IM~>-Ml(t7lKP+;qa7)Hiu#wpvDbi+ZCTjfH zxdcYv$t#P&Mwz#m>p^L@@L_ka~Rn?5c+twvwja9%Ugf8XHRr zv{N-qmc?cqEryEQ+f;mMg~1BgD1N8x{wERZ^dyov%=e0P37XPh74kcCWa?EYu76fR zG9`mfX=FEZHWoVzFDgp=?$t944%64t!fT^aSlZs`5TQFWX$()LHbvTaVqdb0@0p~Y zZ^RJikoFj^g#BA|%9HrBy$D(QbDMXy=&E~p?TKG2 zaDV-GdIVGTNDycOY~LB8Bj;O8S}?kY;M5%D ziLltepQ^JJaGOdA45xfUAcGj{SKYbTcNGd;-`oJt52(PkB26ud{ph!&(Qx}|N@P9y zfYfQGG@{O5Vy9aD$UY~3Vf9-vYY%2buWu}O-sp@wl=M|(j`5d{)m0--GY)NN*GWVp zFcw18d=xb-#r)2Je~(u##%wpDTU8ZXkK2S)3JL;}f#gF?w~Hwv?l-P%mMcuj4Lk#Q zZ^`7^a7=ZNd!D16XXNIjUE^>^!Z{{?<%=33MT}qea#SMZXa+b3+-us+%byDgr|7@j z{Ms=!JsEL)zm>mrf3JMksTnMGl%bymUQ0vR^+!EHkEum-K~XCDg8hA`ZRR(He$Vwg zmMB-vrT0M=Ek3!-tOU}h;Ey0pkO=78dmJ&&9Xv_8oZeis0sYnr2VdVy3ERgP44#*u z&7h}1f8&$+2cM9Hz1Q9xb}SR(KD*98Z33c+-X2`md?mWfZNLRPYMUGj5{(~nX5zQlUw1huLj8(*&F`3@ z$z^E5|8By4Osmg^6bqkUT|-hn0U|`%K$_F)1@Kh@dsp|N7khiyi$^Eg+FAO#Bw0Nm zLZ}cethLqL&fP)joe34Cx&pbMvVj!(M&ukwO=5!e4XnnX;Is+C|${8YryH99Rp`hM>Jn20}3s(r^Z8He&)-)!3t0(i*Kf+vWcXqmM+U~{DC7@ zH0({4^Y?o>QvG>d{I=*+bG}h`krJa~q;L2;G7%s-Pjh2l)S80EYnM0wb~$sB=LBi? zHCj5slcv@0mkLddU4W2esC+yypbrr10ze4xWw}KWG>0%%(|4&ta1}0mlz(5!1o! zGB><@d;u+Zf%!4$>v}l!Axv949l;RE5Cx`9=0*p97+2NpX4DQSNy6htqgu)t7mz}iB36GdZ{IxHaO1ZUPa~J%L9dsDMA9&FEi#lb+ z#Xf%b&2F6En~xI^bY>)K^ml+f9~ov<%{D0Qik3VA2eii>w6t_^U&CrW3KxWmlCI(L z@a#pT>y_PFd-ryix~&6I62UJCZolo3mrWfBNVr8DK^WxlE$$eXq#H)JPn|=ldu@I9)E>Vd>HuOze233C(f^X0MDz z^G=nuwe@8TQ9?2jj45!Y?&_zq!mo5jJ?%KZ{`tXnK$^OFQ{lZ5P7VKrfayRBudWzg zZD5rrP4PrLtNkrVHd=q_6``MDaHMk3u8+g1(Xim1?OTI*n2#o>Jx5p;1*g`vJU-$l zT?{`q9O($bN1bR*3>8O5`lcYr*70NLGrQ6<;3`%s4hDhLrGA>l*jOVMI4_nDst%ry zld9Bx+J+_cgq-=+)hHidar=?{ZlZn*M`42C(Q-scVTkmtf`|PL1(yVqUyhxfnrP}y zL@`@y(txyQc5W6K2)QJ;vRvwh8F=n{@e~1q;o-rcG+3iXWUH{S3fNim_n_eK?wKb) z?!G+b-w_jh_U1_2$~SQP%+;>&>!msuQqop6YWAHirXN=n21!9e%MW{K7j0w&Bm0$rN0r{N8(e~KlM49;KD@=9J6=mjAwwpIWhg4` znyjv=>C(`LN}X#$pI%J)fZd-1hefX&tAZ-*2!qp{0ohP)nGb%1B3gHD;w7EgqmGbO z!l5B-$K@w-=qpj{sfxfP{%4yV?Y26xtH28k3WCa2~#8mY9*8wq&LVd2%uxM6b( zh~>`6j&FWq9aN=450eeP4Q51+R!dSap{3UzMpZXM<$AzNACUHS^bAmAk5`A(a6p#u z*~Zd`Q8XmYrSORm2F`!j2*B+iHZ^V!Sqt5CimSzySYUs%7_f^7vPq0)LyCVRj;Bn2 zXhqp1Q)7c)N4DPTtU8daC%8$25nCB0Qh584Sa{Vm4rzu}U=-JbxU+$aHupL>=069X z&sx=3%u^?HrNryHj{fQ(lSeJtjQ%c8=BIFo6mp#+WSQnmb&C6?1Ub$a@^{AtF4EG5 zX)k9jF)>tr8EsWG@MUYl8R&)aNiI!>F1KG==~?BGs8Rj+b+XfU`?FV;_{efxL+>{< zx9WfXdXUY~C{~(Zf!oiA=!|ZvNV|657SOhX-=s$=t9-EK;Fd1)TCgV_BWEX-E6Z&# z<~f2|rkDc9SA9Tx;UEm~3l>`)TPyB#al)X=+h?JU%KV+7iN@G4ZY#>iN-=@h98p>F zad{UV<>L!-vR8zlDR_XQfhIe%lYRvB6#POdelpos+5E^oytEdY`rwgpMX$7{fDNOO zoQI1h#)V;=e3Z2^9U^dnpb%JABxcM>5@zAE&V-)$ zt@%EiVj^(~!+m=@)L3?og}*qy<}$QFK(5kDTS?oLrflz9xcP@Lk|z2XZRc*(kNbWN z)Y3mBjN(`5#HasWIWg7GM^c{SVkM5j-2~|=MX_XN*6#G8e2r+_Il7_RCW++wsua{Q z0r!nW%|v1H1gH^HyPcOAV-#|u$a31O+`t_*7VRfx_NLLG`(f5%s7>qh{XY0+)(M_d zmBbRV8!i~a5&9h)g3z8q++noE>j|Dk*(p?~(Ddg?M3zgoLWWv# zCLQg2%(gjh)mJ-gwVFyJ`)$0`CrrA}h?I#|PWXPy9&nniOGYB$&Tqc9_yB z{eC=ao52>?hvl}@bc-x!$eBOUJYv2aWvQu>VQB59Ok<+`cKY4Gf+J-XfEAu0YwgY&?`%bQLT^69CX zXvfNwg8$w0G_R%$5r1n@^)Ci1V)h>~&PQ+L6kQKn**uM8&y9WRXWRO-#l9C!;IhN@ zBE5*tJxup#Bn(O*R5$jI-gB_9LyFWSx$**JLjTs+J`lRCzHfT8t@zcuCiu478vkc> zOJZyDP4Fv)piLik!R0P~hXspR=xYeoDd7#HE%Xq)@e^4cV*;ZKs8zEND=V?haS7jY zJ4Q?38zSi_N;zP)Xa)Uf2L7?5=C(ig1iWi_<_!X;wIig+b@Ebl%0hrjO;;DLqCpjy z8*cBw#7dBqW5m6QcJ__N0kdetv0x=0~RRlZ&ln zYvrN2uhd!W2|8prJlclJvi#K?YF3H@_O$LAt*M*GTH9Uczk`G%!=&u%>iqz%Lx-!W z=`!$ig1p?&K3-*(7%!IyG7adY;hc;73STDBucY9|IL^a@QJ{imIDP z7&!0Yq75+3mbON^SY6I*K766TZ{9pvYqw#?+Sq%a%s0EZ%hRz>;3HtGYvy=voXu2z zL7cXh7@s;>>s7q>4lknQLuyE~Vclb;D=^#l^5P2s!CIeo`t+cO4&YeSkJG3&ptfWZ zDWuORv?#|KUqzhfYG|{$bzX2)mg=%C-3%}W?j`-Q$2mEC^!v05_Qq;2yTn86Tlivv z$TW;!5n6_Uolw*ldWYkr2`@wdl_|t$omsrThC*mg$@0jWu+Ep$+}dL2u0Exohh)Y` zL}E_#K|P^o(O^dtt)a&c$SFk>zfI&7nRxzDP!*`9rbx+z^`Gf{HL|l|r0cVY z{W|9MnLDD&ixhi4woY`K?pM#;=+;T2)9IIK%#Xh|^!oosebsq4Ito7zZ_eSQOg|~? zmpGY~!}m&_z0kvc+uXjt(0M+>m;IvoGM~l@{a>s+QA(JI4wiU-+Aa7J)^y2rAJI3K z^)BP@rb}z>t~>rtxP$N0s>@lxHO^jPAt&5A5f=J07ay7DH^QdGSGTxtf2RnX0Qa3Z zTU%?(!`E^Fi_k0w?6ffOFourb+s{b_{D&3BZ98y7R(pFv24b^?{hQaSPC5fX$Or|N(= z`4ttz$Cke7A&i*&zGA{BNnosrkFYYTWKvT;!B^*G&A>IOz^@XhEvW-siT5?~HScgCQF zTKC8=dAO^N$rtFgj1D&n1yx>^{KDXahV}-a0XW+a1#b7TrZxXT;lWnGhAoQ?6NIyJ z`kwyOkil8-Ar(0S(^OkBN94cYPc$bRd1TFY$Jh@CQ`+r9k(-_=wj3KxBMRij*cX<4 zKz}jlH>7P@1Grg&K)%3$NfDINenB{cGs^sJ!auX{&Q-G_!yhb?NKh}9v zxhgR+qK+B(<-Lk)ck+m6dFDM&jfAr-_0y8T%C{QgZ^adO^#4cGRX9Y|KHX&j>F$(R zkZusAySuwPq(M*#>F)0C?ob+O=?3XWq(NZ6i|_B_4|wif&YgKC&dhlir~MqoX|`_h z9WbE-Z`+OQ>jQ-|qZ(~c5-Yqe7!wl)gXT_@J0Zw8qilj*{#9&Q6mEYGK1+&DTk5gQ z((#q%y_;rQyg>_n2rc`lV^*4Mc9dD=(Q-qO;Rh6T36P>$$JV^>vlicB3IA7%Uh&gH zvQiyv;EGcb`KfV-CK@3)HN7<^92FkS({7fZ5l1ll+6BlL{!Q}f*uQQ2B4k!Z2Ze6sJ6nb(`j!=; z!K*qyAK_^v|9e>A0k9UR&`Vckk>6aAw_C@@!+xO2&hB0zZ-patjV5xfG&IgI|Dnjk zIgMoHt&8E48A#j}oNbAm@b=GGU22Ce{mRwf#P!q~ALNYZUBk2cr{5oA7LQ~FW1!(- z1L;(159!M1>TRPPr9jvq?F2c`RDl;#CoF9py`yBx!=#CS^|RN*Pxgpxip|*OA3}hn zfWRUjtL=_fAR~emhIEu$iRpX|n^3Q+Ofh~_NwZi6zukxAmm&kvdNB7|#{O{#Ya=|TJv)~VjqKK2 zU5@Jm#qcNdPBB8E18<)%MvcR4zw8!4fV`3<)VhFSq#GsH3i8)44hLyTDZ|o+3zI3G ze$|r2V$r=vB1F<9Li&NUVDEl^?(iPF-cHXRDpXH!fI?iAxSYnhnL47%A?ziyx`E2THHLP|FsW)YqkaCOksxk zW1;Nepk77Sy7n-|-o>Po74$(lSmWsx5l4`Qjz0v8&cuSyj&2Pc#{;%IHEdOm4%7>M zlS{ie+Zg#&kK#j2p_`be?m1=3aob?PY5D5>4TC3FlS8liWC5+&r(uJ$i|o`pcVsA( z-wEX3Tl9LO4}=iUwWA@yP~HGSqU;u}_143384TvB;+HseR?hQgIm~l#2>dvt_O{PF zAR$d4-OO17Y`3@V@`3TS%Sn0!?pm2j-rV4LM+?-aE{A2Y4cf8(3N}KCL{0Sr^rW#hGzHmwY^89c(c zb^$wS**o&Yu6QKrUzTh-mt1vvZk%iDyUD*5M(H>nt>e8|23Q!Cpbw+d&>1Q+Hc(>F zui#Be`H+EK@?C~L?7SOPH;}^)TapxVajbQRzAc0D9xhrL+cjbH3qs={a3LiS%Xy0% z?2x>F5t3{SF$1>xu=~VTmI2!oZsYf;N4SR~-!U!nC%JSwXtkZLcKA1~L{pC=?@DQ^ z7urV%L4VNaOtB!Q3yx~Gs{&0HxOg(S7Q`b{>i3NprbNLAA}k_JsgtLHMEXu+xr!A8 z3%E{BVnJ~5Kgu%$_TbtIWqF1o1(`t~nVaf)DpvPhv`C#=8@DV%V$u)i?Z;E3lz^}M zfv98!>iE%kan8pw2|6sp-b!h{MPPG&C6%fuu2fuFSJU~M|98c%Z0S*AV{7U z<(-%^y{thj^6u`r2x+H3tKK#WDtdu)+JpBc))-}I0%4aTNx361g_yA_+rV$g>1L8( zIjH%mP3p7v@`{5eBxeBmV0RTJQAhN3bk9SVv`GOHGubAK|@x)a%zO?j&}Jn8-7ES_+S`V*$f7VR;epoNx zWE)!XVmET50i&ZocrpF%hgwOoryXPXjtb~;9PX+RF6pk=h13XU?d&VR_3lPG=%lyT zx7aqzqqY{4uG|%H&Ca!iD#&)2PQ6*<-r988D0e$;`%8Fgz z+^q-PS7G0kO00F@6wT~W*wqQ6r!4zmqAq=o#P2>D2WKoKFtuG_jF)z*Zs|?ew4ps& zsFG*aMH^IcL%y8qSDD^n4QUyGU-?42#iwPTE|kLtG#Lczmy}Ij92!2ue)5TM-Cnv# zhMc4k?tmNY$%rHwgZQUgmfu7<3{x=XVWb1&Y3PRHyMJF0S^~i`0?{_Fx4sS>&|*E2 zi)f59dXZR*$E>sgY)G}=jlQ`roq@(AAHOjt%#+WH&(SiOY4u|LG(G~j8h)}HHP*)E z?wvNa$(A<(dhE&?D+ng1&YB^_4$VsXNbtm|aa26mE3r?XHarXHU2i;KN9eLJJ*jqP zzpOpdz`4=~WA1r}$#T8@^!g9WK1omXYBg~D`EC2WES?eck=8$4?D5cqT4a3PU>MMd z152ZW2euUOV4OzR9bjLjoR=32hK#yLa&z^xFZ~K_K9evhz54bCM5K0cg#ooZQ`O0q zL_Qpzg57VGFFM&4&v7+SLSGW+ZJBR!H<;Ly_R3eDgg#MC60<(oqJYCWq8&jH1Q@m0 zgCIHiYrc0#(KX_Q2ct=_$U%WtJGYd_*APt0*A`L~p(c;CpG-yPi<8Fd0+^&|{6kho zG_wZ!4EG(g$?6@MS_Zyqq@NB?>`8>a2EK%$&{%?uzta*3a2U={pnw;ouqCl(%p7L# zu~aK@6!|9%;rv<94%mp3>Ep{``KxI`W1G*^F9K{Te zamQIeET@(eJJXtfSRHweyY(5uQCHvE%-Y@;V>l4J|C1iBHZI$oP6+z^O*tgLmLC4E zTld9FP)7~xwh3%i=jY;jtm2b1>!EZ?f~ZG?Xphi4Jtdp5F=4}+3s)MDEILT;Epv9O zMcc60vS}vAU(SNf?t@VWzkK za9jgjF>he;0UnN66m==yk@|ZT(NG*GO_QR;IN9s^hLn*a+*;-*!v+4ju- zcnJSHJM~#Rbpzm?RSn426M}@MfPx%ME2;e-Vy4|PYZU3et7UPOFS>)dDo&5--pLbn z!PFlrns_1@O=JiCC13}%@s_oBb*@k4KxNtH!ilso6~dhjxKZP=@@7H)y_*752^^>i z*IIyMhC;_^rq+@saFs+s+b@`)gK2+igGv?hqCXdZs-6FVN>%y?4u_g}lacQdt!~B6 z%%UjWGbBQjsB_SMpIao+?AHrIK;g89Qmcd2TU^_m;TDJ#BIM&*Hh>I^%9sm&{o<^;7q z)CxDMYUbpJCKPYju+=#!bw2VheyNE0V==5Asbkkg_*$gG-hNOu@25rj#d!9EXs`kF zF^|$y#yUO;oEI>nU!N$ip;-tH#}4GhicCVZT?6^eDdR?Fpl^S?-@;MJMgzFzJ{QAsdX<}CCffUBk*WK?*WgBT zH*>{NJ&U7ViPZk0WBTm_9a!3Rc>{Xi#MW1SOV`F$H{jsPhP{uR(iiWh&_M}snY zNbuNdFrv1%rTT8yHJXp3s7$^0NsWk<(gZH}O$$ve-5i+eeMw&D*ev&4L@{mA8g2R+ zyUESH={GxUpyqPZ0)2LnXFKW|(cwJ#7$Xe*g$;7T7H^*wz*}sKg=kc!(DXn^Eh0x3 zu9|hSD&C10nZDQ%kPqEb{<9%daUTK`AX51G^7s&(pVA9BM2t`gRJYS; zbIJB#UkYK3B~kU=B5r*cZL&fk+=b~%?~n^>+txTzfs@sxG#pYuW8qUm{cxWqhc*1mF1j)LoM=GE; zodDkwe;@w6yY&-;l7w8YDze-;$&sF((`wBzL$T-@Ok<4!y8<7tG3P% zLsQki^Ye$_UPCe8q8Eu9^g;?||A<+U1t28cOK?LQZFBh6tsx!tSt;fg%gQe= z@M4nN+C@n|U%zo_9Pgbq;-`09fR-N);#WJw8rL`$@0^!msZeq+>mVN42_L22%lmgzd=X@MFpaq3dqZ7# zQi|wKUvYK@y2N+riRp*uru^NJ@-d(dB7!ExHvDPL!mp&vcz%+V1{pn|WD05{Pp1Y5 zhE^%a_I2(?W7U0*_aXPTsUrJ{DnXRE{{#s>T96c1R)(TrTPk1Cn0;T7p2(X>3(gfyr3wTPdf04P+8@ zNW}0gGa7_KJKWMkdtN5bh4R>nx2&gEMv-?R$=}Mo)9z4yO2E8NE{At*(7(VJy0?zd zo>SP?7_#^jCMcu&f)ZHyechtjdMB`jfn9PevmW7)m!fh?q@J&Y&Nj)uF+cTN;yyh+ ze4*-S{b0{}L7ZT-(O@+OwyfcP^a9N6A0>!Epz)SuKFh~TM!rcckDiUTV50=EF|cR-}$ob9(KGv)#@#J zJei)w%qBqP8_f~>4y_C7-y0zG-3n9G`A?RcD3&xTi63_dzSWyV@gxA>P(>GsY*uBJ zemQ-s|1+ZOo3LVBtLU|GhrjM&Gm<&)^wOBe`>pWVyWp3yvom^4pFM1BH3xr|#=@T8 z)rA04hf*OMMzg|RZlmA~I^FW}Zfxm9!Oe5!dE@>l>DGE3}h2!4!gGoV!(t)!%y#<%AYSZ%uQkuun@p@(8#oqsxnS|bBrga-1 zwf}~VB!_Vho*z;zMXm(}Krk0c;T#OY560B!5;%XU&OvHn`r*u4-)8?vZIcfD#U7Lj z-*Y$(_F|(oDugVUlc>-|3GEauybFTx)^7&Q_#Dr}BvfC~B>O_CaClMSW}|Gp^#zPy zJY6E?-CsiF&&9@(SJfB9{4}#M5;W*;)l5%u4!{F4`H?WDb8{A_1xf{iSy}2>NPuL78{5u5%MQB zLO_^senGM4CMo)UY_=+k1%|B#$kxa3z2j{94ELz6j?zhv9A2{Oq|);T&MAupF$0!w zsyO$Xqh)AA7wQ)Gv}%?DH^0aUW&KS@;Y9#UbZS6~!tX{P%7cjUpgv4PCydUYjx3No zqWybvs6MjB-HP=mj5o)iMN5Sqb=i9zbXZ-BL0UKo_WmSCqzaNcDVV+nEL%&i_2FNo z@2*SoN8Tl+9kXRJi!@xHuFiFm!UD$AS^E1-PK-|DAx&5vUK>*c8*KEoHw&@)XEeqv z$C%kyQ}*XX0$zLMN72;vm|J_4NfR_VoNGA{l=&=Ht0zjnj9f{p9 z7OkG9n$Z802kc$r)8|MB(n`e+c_jTgxK%Uj6P;EaRX`xJ^?pjzCD(fEiO80Csb3 zWZG`(rtsTow|t!vN)`9tm~{pId0t2TlzZQ% z_z6V+c;XVGz6r0&!O3B^(bx)gP3GCU00hjvirRv0bG2h`hOFr-<0c3>rYFtrRH%R6 zxpvV|cwUo2p`)Uk4?@PN{73XJ*H0LBfUdG^;IG=*0AnF0GS4l&!Ko0oKBc#fv`ZI> zU$#~S3Yfn5|J2M0{=B&$P%XLsZ(}{+%UH)g>jMa3*#pBVfDJ|8 z1TGef4JuH9?2>Le@h>$+kpP86JV`>U_?V;LB+-=z^(Nzuk20) zlc?Wkh$`b>ky^JhzW&d$E8r?U=qAxDK$!R5_; zP2<5&XZZ(M`p^l87W9d>qu%FdcdM$sKTWV>rb;d7R% zu#+&N^%pHKEBKso)bjsgzu3?+2$uULAL^Ai4dg=xb~#5#`x*nJV0M$3<29gi3Sn$) z-)6UZPOd&Yc8TY<^}g9PVw@N_4Kkdh+Ojc%UNx0uJfwn2Akc({nBntG z8yI#YVE9DEzH~r5|0jB47AfarvrwF^5ES}kOS;ou-V{+@UMU0d7g3|0VCDTu*hW9w z4yzT10AF@GAt^hhr)h*ptHzSm*lTd56QXt{uhMM7obR@Y6^WaMKnq?C*z#-pQ9DA) ziaVTlmqwQq8uu4hK|P9ZvOR0Aygep@8gP5_Y|j0uW#RL0fXfK65f7W&(lDLb3;7iz zw!|B47fKamvv1KK%F|vDS^>cl{mX~stqb4pTii)U%KQHFawUmC2T#WFQ>#Iz6`R_D z+?J{STXK>;q7;NW(||9OkR-yYL(;xv6kL6;`#FPU0_G3j z$p|71%RTWS2z(w_EG`o1sI;!bF0&@-3n)Kt6j3P-FTT;TT~CrtJ-*bD!ZP(xQ(13Q zax853xc0gCJURAk-;Vj9ZLux$7J5J2*DqvHk{UzR2RJ5eY!U1Lk*{m`_{7>70pqJ& z7Jed-Og=o3+DrD=ROE`I#M%=P(U-+G0uVOEin%(5Y~_?a8+D{O39LewYPF3r0Y2~S zXM?}*|Mm>NxrIW1A&D+XK3N3w4k;g;zZ@Tq9dv$EInM$k+10BMCzkI<|MGOve1 zp*tFE8k8M^H(X&d9)gy<1&D2-z1*mSc?fRDb_h=?D;avI{ot8;KNcq|TRsPd4=L^+ z9r3MXa7TVTjT!pdoOnEGb=tTleAqlWp7g3$fI>4M*rE>GjS{Qd^DOj~3*8V9g)hjA zr9VvSR|JKXaQ#u?w|a^wasRv=bh^;$grnIWWhPVW0$4^8hZnFo)R4>~`bE+4bhMXw{j+G&UD+A$3y0egx(W~!+!`#Jk} zJt632e$P+Tf}skke0Ii;_}nrL>-aEi{~p*86jWr0*H?azsgUx8Lgv_?wPN;7s9E>Y z&dwCG{{;%L43t2y-79ZY_(H~#311B|1`4MyLXs~fg`y}hv2WOSs^p_+*p_l@OHS#( ztRKr`LoSIKF49R^T_RGd9WBk!)X@-Bwhe&YBsC8%NNiD6??(V~6C__e?=5_1N@#2; zjF@>?ajSXW`ZXkym{migfqWr%dR*qbfog)CcWX*7{x*7DW&ehg&MhfAz~sb}J--Gk zt@oC$Mn%1Ylijq5f{skePao*x_0yjn{=i|gvp=Re@&e*u*yJ}I2Tzfah`|`f;KAgp zK0tu`N@^RI=XIq1d-`%+ZQ0EdO=mMBzlH?)eTV6g<3Be(`*6aE@Tt-T$cnMpq;8r_ zBzW9O20YLPo{a{#K=w(VFjkvod7JyCw-+yqA0UlF_GB>Z#*3du&XCoLhp_+k1)*sW z_<>UAW#5G<+<(D#Kh*HV__!|OKNEr}E=4)2!GGouA#dbC#1ppGFEpc+Yn>I19lQ(C zR+8^3Oswn(dgTjddF054BvZ6pA^jlpg&ulOVqk?Kv+sot^4D zBG&!=lKtzlH~K@R3ozx1U$&3em1_YT5}j9&f8WRessv7lf%AvW4Wh#89;P2kEZP&X zn28FX=hGr8n(+y-n4+9H<2_2KFfF0xw%R)#aPGVwDch^;<7U*U8GUN|V5B)$ITm2_ zV+IN}POZ~Dx67`+zk#tVl}WRkxiGz!Q=k?R0UPUZCr z{vy2C(4DV|d;>kZ4aV^r5NyZmNWFr*iVFXp@+pL2{ykm^hPr{n)a2*3I`(U=i$8^#0?P|VwfwMJ6=8NB4`zBsCG44@4OKddG)6X)Oy`~1qUItCWL42XH5GWLvO&UuuPGd?6a&ykD z&IJN8mSQnb=M)vC|61)m@u{!6B>ivPIG()l1)fmbhYciJ4OHb?zr#s!iz(tdoAg=d4iP{JU-Qyg*oz1sZGgVjtjK7XH>!o&_@+SINkW;l>;ApkK7lN0ou7WSOYEi zpCIV3oC%narQgknJC^a7m%rzzP%=?GKQl(AL~Z$JLw?{z3auA1mSO*YlGExT|E?jg z*nbE)H`EN#Bqr}T-v&_2(Y24WD*ecKxVxl}1ilR|LaG$v)>p(KB}JQn15zrB#W*By zwvCGZ|5v~y-pA58f$@)(#A%nV{Xo6o;5F}Kx+L93-)0*R)(@*aXf@q6ik742{JQ-c z_AhgylxET4{oeC8{*hwM5E=CJS7_2nY|bfG8~2j}fCGX)KH=1Thk7#N2+mUiD}`j} zfS?=SJZsjtn5~Kj+0Zl8K;1$vUdC_#bCY78OiNTbb~Z=1$c!BCt84>r$weEQ1zSaG z`8_9}KU$>Kt4-1Gj^is^zRg>gV=ZDM18Y2{!UdtfOtfgCKW-lQF@h1Pgyks2WBC~5 z5}1aff2{E=iSfk;qzV3blkN~gFOd&7L7&167txA`#q4wj^(FpdbHO8o{aH;h zXInwttywV@3=>A2dIsaWy*J0p7rR1G=#rPinZgDW(FacrG*B#@UtnJ;WY3bC zk_f$-N3;0n;*L-eGlnFE)3tCw)}8(0`>nb=dNKGJP4Wam-1x&E3W5fXKTmIlY>pBK zo0Nzf6g(7slVM1tfQw5_UD!Y?<3O4mWeLL9ytW?x+NqAX_D(n6ec;!^sEf z?NPS%#Gjh=q*W&uOP#0ATBOs91Za!iqSvZ&m4d3BT^(XA>z&zU@^;AHcC!oS3r#dB zzgfmY@xT8&eJ{DHG$+{O0BGgM%U~l&U!g-17~%Xy7nkGWG0MjKmzu8fsIosG+ z@G4aNd9b8j5SjuIqFexqKJxnif^C_I%CGt-4M^-j^C1gB2qkFn6yo^)Qh`SH!o>h$ z?p3b!g{H+_F7T0 zFW8?jJ4q+jmrP=+P)q|^b6a^vq^;xA7jfN4r2KfcNS51a$?Y0$3wlFExx&a83HgoC z@zpY?oEDGfPrIn^x;_iX57M;30j#WnMP(=6zpw4>O)h`m!vh5xNFJS|@fj=ICda06 z-NKZjw#xa4KxXVd7ePSg$H+UmAg>9=NW^a*1@*Ts7H5&7MD{ydi(f5N(&^^ppH)1v z2S(=kG8M0#Cy7i*An~sN%2fQm#S>;gAgwAuq=f`9qmAJQ5g_O=hNLI677%DqCc4GG zq2zJpE+g~b6Uc}WZ#BT;023%R@NDCmtAwcNPe@?9z=la$=Nv{p6IQU+xim#Dgss>7 zJaB!y+<-m|$AJ@tzmVgbW^PiH=Gy$8p7YzzjYmwx%rp!|!l4%zZ@$&G;?P|57j=@X ztNv$0ey}*?|6(}{2nn$Xkg$&V{_}EK|3wNlA%ChOPwsrQ3XdOEJCfMrW)phk{k+^W zi`A=?(|J9LeQMq@r!0-E`}Ar!?nY%2-P2G)p;tj#G18+h$h=Y+MMuCiQM?R(AYY6L zrYL4I)uhp61zLu^8$ujt_ONNYb&jp;ye+*jkYgeAR#nB6mF;$zB*6Lb*+#)o>`Myz z@AnLPUb`QFWxp+YI%x(G zXR1F1=5el-w()FhmppC!I3xfzF#Ju@;`_8cFB;UXoy+2q-_rt39}FsDn0F&1KIcZB z(7Nd;TDa%sKo8&*P~=j?rUR=al^lwsxBfYU6P{9RoFkWj+I2P7Qb>UX%izzqne$fK zni{?&BQn#> zAtVeYsWOrLpZ|F|$JmNBARU@>J`8yS_fBukimnV(k9Fh3Xvcm;v&m*#am303PPoqY z&uRa`n>Hh+HeF^Tq1Mkbz-{4I2II@byETT0uB_TbsiB!KLm`Xgh;AD|IFUX8)%!iY z5{$U?)Nr7$o#H%aMRG@Cs!k?{z9Q6DhT8u`?)WYH=9EUad0TnJ*#a|spkktKz2Q_0J|UiD!sP|Vk_;bmUD?R*^M_Ge zj=&E%t0Nz8veda^K(0ihK!QOlW@8dBywQH|Y8l=1W5=SV8ULEGyz7swwM${O;}fJZ zwQ(Y1viH3QE<@s-f3xNRS(Cx^_Wo@&h&u*7aMx!#y5l@b(>i{LO{a$O!2QQXH@X_pAC7% z7|HJ*I=f>5v-({uk{>63hVjZXnSz>s&@zi%;moMEx*|)ne&kabB9Eqw%s16h4Q|$} zVeE1|b@CTq0zB@ry{QLdMG+>RF%n1`xiycww$zNC4Z-=>-or=Uaw0}bqQnFB){29| z@FBAISeB%{Kh!ap0!$x;NVC&ReAx=U|CZSL59NfK(UmdvR`LA**(h>r-ifjmQksuJ>V4;M z)%D?`%ZDiK?Y^aquRo~es&N5&uiPe_R&?)cu!nQlyOZemh)!VLaxUl#@ zt|9fxnYITtpa~8u;(F;OA6MT4%^jz6~$f5P@NWt=NN7&dWf6xqOaGwbLXW`T$h__%K+>%y)6bQy-TfGCk* zRO`x?+t{qp;1w5$W#2SfpT_5EcSLF8xzevv&%6VM{>V;r)%(Ld5y$N`YibLiL#WcH1AVfHTzsedw`@vwPSX~W89(U^})|Alt$257E-UBT9uX8d54C7C|>+NQ0GRBNQ1NJ7jpwMdcS|u$4T>! z0-~$ZMY!2AU!2o#kZY%P^n%cwAM9(2`3~(7aic;Y+6DxTTT6g#3Kh=&z-FvS6IzOp zEwZR}*I&^J^|$ComSEer0^e*J^mnk{20ITs{7wzrw!P;G^e%M=@*&ik#o#PoohaKE z-g7v<|8TbrMU+2dBdNwmjw`R>NQvQUR>K0?u8!sMb)tjtxzqB{RGRuuV=wBYRZsMF zcG?2hO$DBocaWN~J(|vkSdVu`v_E4s(1HDz>hWNhKR&WcHVY3py0I{tAWU&TXG}6B zA`V7+nnl>N82Km3l(!;G`Np)hbX%L2+H-S&1 zHf=uM&Ce5`#qVKQNHhJ@6aeUQ=M>s6%?BfK6k@=JBGo_Z$$yt&55TCT2W&{yK#8G=DT#ZOEwn>rtwm%iSCTo2&8}ijxtaHw=_UIesT{dmpBu3zQ-(h%AHZ6 zK&Qmlp($R_{gDGE>pS$B46iNPl*C}T=~*u%UIr|j=g-X6eU%V7K~pGp7RWV8_iN;> z;OhuiH-lj68|IqG?BQmRB)95jnc)X&61i!Czj?1<%DPYO(OVq|R2!GM(;aSBbg1`@ zM!F|9piuN!u~hcZ4#XmbdkdhxllqdZ!oV$=CLeyIs_z*hxxtTh6Nn#KPKrPdIiFK# z3Kq!pxG|Q*{G%0r@nS5c-cte{5j6ow9B0}@|SD6Qa zwt)5{@-N2(SNy-L8-mAmOy9bhtmCfd=sp9As(*CCZ$D8vy&nqA97s(AnpJ=i!}P*R zN+<9m)`<_Z9C6&7sguL2n~44rXJRBVX=v^W=1Q{BfqTRoFUz7amt~FTcq}i5Rn%C< z7NId7h5LN=?zU6WR}YI~kW2dEs0_H?D%lviHZrNk=MFVAfuD)*{{y4U7S|~?U)wr5 zg4ti)4$jsi35*>)Fc8mXJYq%o`vh_EE#D9~_Qi-olLaFd6|H)3;A@Tr2D_mZpUyoE z2dbf0vA@pB6%fBer)1R7bXP-Y&`tUeL_N@xbpJgdEObS!Uz!Fn9+jaI1+}VNQbU9# zQn_{k-{C$9Vz|-r%B$68$HQVbadfsqf`Dp3+PZH~cQ?ZIjHGj)sWCzjgHY{p1NwaY z6Q-)`n(Ar7;;`?9e}$<{=A{BY|5=jp9A1vX2He?LP@Bk1=A}Rb$UYg+MnD#b618=nTS%BI9%AZVXUdWbqE~By9 zlyHzzMh0f;a{Ih%zdSXE_x1I6D74MwmhVo+;iqDeaxN?#TmS?P52of7p&f#OR+Hsc z#V;`hLT_p`Y4}6wAQW%Zbk4;crE*^VJ{e-Ooy+ZykDe6CA5kTMhrG2FoJ+e>e0hjz zA%Yb2bC1))7?HZRMQY6jm{DmR`!M-zOF(#IS=d%Q`@CwCyDTmq65k&b?sieg&`^`{h0 zG&iVMwVacrt*U6Zy&b!L82s|7!&(mdSTVFAa1}Jl%wjb1(&~VO!9b)nsR>89Z7H^9 z9HoDb5M?StW;H$?muZHrW|u{)&_TjVErx?bh8ytOTB(G?-by4PnHh9khsMJ1L1vD~q9MIx|WuFJ6^O?bDo6ZeV&DTPjNBW?mszP$C|w&oBg zUovx6A6tv&G}QJnAF|iOR1{+vN=-LqU4R)Xn9i=dN`yCZa+CUS85CJOyV&c@#xl6X8Yk$l=q_#x|bpciqDqHN+=&ox6QFg6bx5_t<(iMAd1ueUG>0Ob2iWlAw9WGb~Ctqk9 z(MOmJ1B!KrLrWjy*<*2$f0fOF7lZ&YR>T*o4=^NI z#D@&XwnxIlSjd~m)mdOvzO;v6{I*C#O%T!iSm6@`U(YhEsi0U2>+t+2tdz!B8Jrh| zLFGQFu??`raj!ILA=E=%V0x4BW!iSln~6cxvm=hUYi+0$D5*WK%q9deA2z;9F(?ic z#tWlozhhG7LQPDMqe8hjkiv0^eQ(UYiCJA5hDG>?1{0gC8WHaf6hNG;$t}Wlb6RQT z$X1Vkrme*DR5RefOipYGEc7k zJ$r7ET`H7Ar#@G5v=@Z>K;YGvXnRE7@Wsoe zNk^Omwe5cmJbPe=CavbUY)F#E+iHJg{&_?3D8lM+`xzaB1gx_>L+bO{d92n)q(F`v z70pngi)vkuYqLWOuTKS`yCOr3UW~V z@c&AmV2Z|#2`ZIGrCh4r3&q7(H?(_{hcElDGtXSS^E9GM*|=YFYtJC@ zm#{wp-u^H6T*RZuP4jp`csci;hE@oU0@QDEmI&AXt4*{|%&xsmy6*XjC5V^W%I`ku zGe-{g@klN+8Sub=r~jT0AiO%g>lo zMS#R!7&ziVnM9x?EaifJxQBT3dE6I-27ysh6sh9$FJyrc!|Rqi!NvLz2D3=VK6d76?vPc6GfQVZ&i0`-sx=#K~fa_ za0t*B{=%v!I>$Iv+R;s!&S7bSV#Nc%NLcMKzr>VtC-LZE9Grg7z~Ia9Y)X~?4!$Ka zeaA&E>w7` zmRA-6)LJIO)W9M(9u`r?cgbLM-%R}x(5aQZdZP$)%}Q|soJrZ+7N8@(bzMvtC^7C$ zT*yZo$%*SyP?Vv1QuyWiXYXYV)&5!67o#;?K3#wvnr9~`7#v=x_oVX(lEH?@AW&8j z4%T~L*4hLU{FeG^h#C&~f}N}qUx zAYq{4og;eTcIRT$ZLtv}YAcNCdV$gW_%EkYcFqD{5)TEpnvxe2lDEu{B`S-FvZ}gq zFO3||L+xd~dp$MpuEt{N0WZTTzo54ag&yloPU=4O+hB4|841JXQIOq1aXjj{#p+Kw z_Ik=HWHT9%CL#t3F9e0($qHTA2F%9sALoLVW6>Xd3oy{I#KhZw^%xhHMGQ>6av^nd z^-Q=K!?t?W-BhsRzYZ?4SoXVjX2W*btgAI6gp=9zx3vE(A-*sES){b`$VRm*sp5v+ z0|yE%mQQ_tGs($=6;#K33-}5T)-_jtNCXa|gp%>s`6qgue^!rs@XE}bA z0nyj=(G)nWT4zGiP&Ao@-o_H5|E8;&au|-4LF2|j$u@P;h zr`~*IFJ1U4ARI6px7P0msRop7dogtRzK=kz0M?ZgZ3k&LUosJ}?ko=%0<%7Wz&F#~T*p6TboKUPtZ-L+HX&+~O%*gEgOvE{ zh##F^5SsS`pHXYQtRykpv0b)Ol8Yq#Y9eoj#O{LmuY<>}`*vLjR?AKS+;~YLnST35 zdmvH>@tTKgJbmsUsjN(arKUDzwnzy26szpNZ&0E3eY(7go(2qoYbuu2Bl*?t@1*|d zPEM3zlB^)8wA~|w*VtDjU9M)TP6Afx*7L{D57_xoJ^5xY4mEH`8dQKTh0QK&8#P%$ z_z=aB&gp8mssyclUdrO(Rj$r{AvrE)#1Jh|sA zxmP)`ugX?kSa0pW=$5mXdqWUiaU?@tR*p!}w%8RVNA%v}+vs=bqj$n-ht+&7u=8SZ z67sHSPat z+rT1F0()oy8|r@#?9h~ni2TpXIbzzqbnxt?A>o8w7x4xbbAKjw;iIG~c2!*x{*S7! zY-qCy)(*iPf@`r*ptu%ycXxL!MGF*ncXx;2?v&zIN^vg~C|<=Wz;V_ND4+M z4Qdl)06nFv|`pR1Z=(1 z)n;S&!=RW`w}Ej4$QqglXh!g5jOJ;O^RkSr!DcT~F z8gf<}eQEPJ*NVrZkp#Hp0Vm#(u9?QXQUlDJrHS0~(VC?# zua2V8Op#?p&>D1Ph(=Z;{}K*oSbqK5qlw7@%C`JGbWI_Hh*7YX@u4s8HV z!89wv>VO3A0I21F_s~$hIgmqdJ5m9cQ%m;N*41&rQB%LeG*=#HZ)!!|#}jbDde9rR zzmy~!m`e=ZVa0V8Q@V{2ZVX+t52Fo%_RXK^_GF~;uDDNEi$RAzKlS1Nkh<8uHn51i z#?&!sGiiEKWQdidQxe&yXU0!0HQFe5#uw)1);#>3C3TfG0^vFC#T0gvjIyKGe3Qa0g;Xh-p8eTl(C-M(IGUv-Q^I|x=Hv8O275l`mZ{@ zeSGCo?*a9b?HekY^PsyZqjYO{;ZJRj<8t`Znr>#=t@wNuLB>Viwk2%_#J~8Rc1&Mu`)^%OsmS>pYaqN(&P$)OCSYY5POATg79ak;9JWzP|s0Q}JD z)`Us@P0VE|P@fUJ62MLYIOW1#oKq!G`PA!QH87qdtXnHG211?reYp@f`HB<*1jur88d;vijI(Wy_b6CVx5S;NTm2R4{LK4fZe9z~~5+`?9qErqt|bqA?I$ zP|@)*dM*Y_4^H?!3`9C7?}*Gbu2nn&&89m$j2tUx^?_m|*s?95LH$(?pE}*{F8c$QdXh+v+x{WBXz( zo8^*lmfd5JNO#?E{V4|eS=*TMBQ8XoznMObR01KY0cwdb5N3`{Na8c05vaD$UKlKr zK2IM4gvLPUH0JppQsl}^0XnBAjP*7y;kyR{({?E-lO3{kf3Pf99I@qS37a*gPe;@0 zUB=&-=(%@$X!#3fAZj>SwU^1d>~$08Z%61{?I#^zd(DpV1CZM_L!$HM$Y_IcPHnl< z|9uAh92ptZE*nOEKTp&S{1TuRv%`<~z!|CI=2Jwg42vyRMtJ%9wtRejXJ|H<#j1KC zGPkV3zcVrFBaVEXZ|XAtzr#U>Nci6XSD>%XU^@n9U|4bg?y!*wF!juCJ?Qlp{gYA=j942$4(#(yn^F%Tk%er=J|%EUq@fE+MrjPL#* zcqkCp<+-IWs>(OGV)cz%Ia>uJF5&)uBhoSTg-xb4Pl@NwEi0K>am+R$7;?(dwkATseyN?3IiGjisUQO(Ie^bE?ZADm#RqIYS2`=DQ{tU$7uXA>*Gy{%J=h8 zuKa?qZ-#3#!BKdH?E+7!z<+&T2Hn)G!QuQE!=@tS9}%&R>reur9D748C~|p^a!@IX z8F#;%;P}8`w75UN&nPEH*NSo0dQ2$UDC1A6{L5XGMe+cgANV~g2SsxtA9_YU(l)r1&l_OjN~4o zK$7rg+$$jw*W|8qR+p-_%)^{z+CR(wwH4tPFrTg!x6S#!(^424UKY&nj@1x`UC%Z5M zg+j^jgDHW8F!=SqOm}r_Kzg2s*hkj1KV{KBwwYJ^c0Y=D@P$K3ZEpF=t2kvUxky#4 zsf~)J_jTFMdT-fd5aR+0bG1mn!XJ@!^>hIWDyX)sa5`c@D#FddeG+8%6G0*#NkgmT z)mGq}UXIaaMXE|F4SFWBVY|_F+9x-QAw^asreA8@-7<328abx<*mrd}?4!34%HR~3 zpn!KU{4@oGAake#QUn|kSXFWu8dCL=X(e7LVAcDP59)H(ze(1na8V$feJPa5Rxixv zAS;&WHofM>JIwNc=uI>Ba39x|NuO)f=5)0lWauGm7VjIN+yP{yE}3UA=R2Xp&$xtQ zFN`E(nK{Lg&DnGWWBs~gurB2nlD@o=HXL44^VaD!NO_gdw)Dx>a&5*%3+B3Rja!8c z`E2qUf@L;P5~OQ0V$ncXSYFnro@J7>J#Z6%GJ@F%9G{g;GkF~EEW|Z-&*Hx7h%JTS z0&VXUVkQ+x{h}aiO4h&6FU~rCKJqV!4jE5;vf-iDqb3qTjlHTQtIRivBZ<>ZxS0fw$l+{ z!EpF_APG8~Sq~P%Bn&|N8PE~*hV4--5pB}sNE_?^rL;wEr<5~R#QE?m_3Bs9_Sn*K zsdWyShOk5`%(Nd!-?|T>yTyFGi8_iX;!TCH<)`MOx|()_KfMJUuP6sNs9|+n3;V&CL)zvr89R*f&s%B+^irN-JW5bmm3$)=MJC_E)@= z8W$ml>r52)y4`Wy=%vbxz!nisOOF6Naj^{!U-~G=W!uNV@(dYC5rg${hq4knoca^{ z(uh=f;x!iIy=$K%GzA#eztDTucNru3pW6OZPI#AS{7h2_Nj<9tXbM@Sgiha8RHeU> zMi*67;JO<2VMi&VyEPNs4!@`l#jO6}hTep73iU8-SpVJ<8Vw)042CBlVW$x?v_?)VH@Vgs~zul7!MEN;=oMJ2)WVB{`0DQ#V@sb33v{x z1t5twtdRSXO80N$^#+^1cmC)f>ttBh=~r(lVSWdk3_wFcN;a3KBd}P@S=Xp04H&HU z1$7o<35qWzsYM!%7~^44v#!xFP|G`zq4qj1jQ>i@djT5JoQuGV-w`m$s$}hGq)&|R zBSJpr!dS(Ptuh!?X;6ua@eRz)ZZX3H{JG9p!)WkohhGvCFo7_dX+ju~Xy|w65VJIP z>&QnXk!c8r*9wZPzax33E`$gWoK>k*r@ZAPSd%OJJ$|a&!QwK{VptK2Mpk7@k=OIe z*=Rhkh+Z%Xk5Q=RpW%+c8(@PcuV16+VX~pov@WS-qH!iuVGg>v25Az+s1B+U-RS)N zcw<-5iJ1h?5dx?_N7Sp&t!-2KjeFpfOQ4K21zdf&DpF2QfP3gfr2qrXUv959s;%5q zz}}(L;S&WU8+Yeoi#B`xj~j+Laq#NCywyz?hE2EGG=l%H9}qW7E_FUQ96p@^LJB!j zrn!5^IKzGVjJkyo$2gcEN#W#v)72*$lx6Z`h+@~8w)I!U4jUEMN?i0ZcGwYBt|{tWHlhk(;dhopCVCqs?1PERtKWn(eG*7z@CjwT8YACHER2J~G~;xIWS zAQ&oOMC$1R&pswY8y7pvA$6a$4N=*#co{m6753fnTBS@xIFbN<7ekrn%n71yk7_77hok}IvY#aW7t(=9b7AOF zVNBD|et9=8(P3sV3z?qT<{v0a9#B&3KjkM~ys^--;81>u@2KUq^bi4?w9}QG2wAp} zr|P>>Uf6~7w?XL{+^;Xz@6(=&z2Ve5Uta%B0wVgy>Xi4@q7tlrG)(~yFGHkMC9%>1 z1?_T%AWvSJ)h)pvDr=f9oPeXq+7zIn((^DR)9jTQP&1qgzBNfkpfiHt{fU}zlaO`x zUf?R>WBrzz#v9*x{;24YRm<%Dw;0&Lp?@9*gN*`;Do8;rUA%;U1iMcUk>-}s5j_gO ziDj{YtyuZt%yORS9nGXK%d{X-VVsuudp9j~B~G8B{iYtX*IHla!k(_&bbg87i^G5a z35{`NZ<_kxe+jE!QlyEOWS&TiCS26WjJ78-P#7!bM1V9F2V4uIF-Zwhrn(B;SE|kQTPVvv zBjC}%`D%Y1FG#Exo+Q(%BI(|`u{N|~ar_rEP!Ic)8{$XXbl>7n^M^3SCvB;Ro8o-3 zKx3^J-B37u@@x4Lp2WMv%Y$V-7z1FvkmWGkF8`y@8CtnvfUzXP3fb>aRwaWizi(gj@^0vt_ zV|GlKEojNDH<{1nZ1?1!)Yfdep?*N~{m z1RCfVyYeyAQ_YjAHUKxzMkI7AMB3^Th6BRj?Bi5}8HYUnK8pn&1>etZ?pzcvjR)Pv zW%49nuai@&Z7g8OzPId#>MDr9&vyLOyNNvwI6s{*B*aXktcE2^tFO*E8 zcT~`B*PE=_A;{4RYbSK6P3**{Qb{56-0t9RKZtqIdQ+4YNR;29B?c(a+TaeqhODgT zw@Vyx*w|`!Lm1k!(M+hNP=k~kQ&eU7IQMm>hyaQUyMAL3%-UAnHi+e6ZpvZ`kvv|& z?&)xyhwV^#LCtU(yH3EHqAyEdwIz4GSYgv|1m}fuk%Sft4AufAWJ8W` zdAo*=e->ys`mMKp83W&uSj2|?R2y;;FyhQs=dCs|oNXIK6?kN^c1c?pVB+ zPvr?CZ*P;+r){|(hnYKr0(w-vpW)exUzBrO80cRb&EG#qXfOnP2GF*F2djC7(5dAe zKskLT)-!X31HMbqhm27?^)f^TASnoVls2^UBFDi7d31Masvx1(1GSxkea4$4wlSct zKY8q%HNb`2{J@gj{_aC9+_sa3X@CAy}%nx6e8vxnV zf26@Y)Ar-M6-kO!sIuYYbk?5*zDnu#UJfDWvCorRgP4>o(;w8GbT0m62?&i>;6dIV z6}{T%Zz3(23zk-_7ZdcFw150|4oLYC%+X$J@W-beP`3-W&%J!+YBk?_?U~6X>c_Wi zxJ7`>P4^h}CStWZwq)3Ur?z31f96Q6PrcOCHu7hD+lF##hm=`>w{7F6_<03I0nke^kP%JNrL)f{d0E#KryUy691~vJ z(I3re8_Aov@Ho9p6hPg?QFmiMKV525cB}jLp}_-obI~|NxN$hC3R|CPt(EO;2$r6N z!<(HWN(48QQ+K89#m%4~h)gK1(h&wZSXAok2|cr3jO{(4=$7?o%5SCK7S`jf_R39? zR$*Gbj^-95r+!!W?^)nIcy3BL}*^p6~Y*mm^!|X({X#QBwzK4_qfg%XMASb zyy|Z=$WiqHXIM@#{O}eKj-hIF{@0TXzaLv*(EN1uTXRUniFY~#PlExh0KuSZmyAWc zc8e{?st@ObdQ0MK_TAbm?Ktfp{zoL43<3ZA&$|q0ZIiD8wOri4|FrsC9?5m4K!llp~4E$0-Gx?xNRXWImnW$O%Cik@zn0m3H3=0Eu^G7-=(kCmO<1q|8P<+eKePsa=!k*C@#?=ww9esOvK5Ur-~t%~8b&E& zsql!Iu~LddphQJp=k;9Vf~@RAO^UqN|u<7m1f( zsqfYdUg%dc>Et(_XCcCQJ|^JXK=h8IhHh2PK!+2HV+l_Wc5T@L*4{04tU!w^QX zCnMs}j>@gJO@^ZyP*t@;1NM8y^gID2Z;r z|LLS@?0->cC;IsV{Lzt`OU~GtpR}!3*U?G|03(^?pjwDmlj;IuT4t{^SK~_St>i*% zEIvy&DXhP&yYG{KGyWxEtSzLl+jzeJMQ4DeEPj~N*-o+X!J||9+7H};T3LRfi{kc) zo*Tg52|8}FX*g>L0C~@>+%RPVY?KkYoyL`NF-j7js8b*IS4+wC(Tb${sfs2Cf1e|? z07B$p0VtB1TtJ$fxQkp{}Zj1_s-x4!LWs~qWkg7 z@3kc1({af?nu>Px{!9hz4Y{gK!S|nmDGeC$tR}=#2z>N3fcy(q$%+SSU{#dFl!V4c zU4+H`sB@-Fe>p1*&8pcy!b})Qd9gds>dW4bc`sFMgCdm=F^{%(Z@E=R4|RnOTkzyn zm|^G=0Nb=O()+WPow~%1!{Op^cuk#reAGsWs=^w3XU()Mv>p#u4^xyym())Db)e%C0x}>nG&CND0}9jPw!8V?d7!{k>qqc1Uv@O+r5=29+`K2rLjNBh0a~h6>Z|n zI^yKVm{%3@TT=cq>II1Haqmt54&Q^+zG=XOK!0Bi8d`^(0M>@cO0UNxsu%V>bPB|x z4CQSVI9C}sy#5*m?<)<%7ynqwzpU&|!WYVgM!ZDV`Tbf%7k1!oMX8e8{5R<^fATMR zx&{rmmRRXmuh?Aa#Lv-7>Og7SHiBCe;Q0Lh=s~pu~T$(uIers1Mhf2Thp6GX3dM`U0r(p76hE0=XK zCD%*?xsBy7?NLQ6p6y z*z{sNNTXZG8{8OF5kyxV8Ch)2vzWoa8g3Q?rM0)SJt)&n3()Mmw_Rfr@JJgbU3j+? zPxnjagu!fY*p(ORhsI_xKdHgcSvJ#crSLQ5jPBa|yO=s0e`qKX2`jMkoJ|7D1sP^PCJwOiqdjqX%UM2Y;bc#ibjV zj-Kw_60ZxBdzhwrx)Fr>a85drJ-=rJuS>51nm2E=8Jl^p7(s0Ez3>J6 ztQ2u0;3|5SNYwL0WSs0S5^>83CrFepI*uJ)~I(luNTXBH*wW$;tw`ZRtG!81}RZb)YYB>OWNJ(+71#+lQk<+5NPmRtTn81+i3@0JzL2dLuE}**ZyPqGO-R#9**z9hiihR>eADaexa2+3Tc`qIRB<-Y8tu5X z6_`6?)0uwhso(0Icuh_qsRF2B2}m@4hgT!(i2( zeLLel@sR8ke$|pzkgOGIv888|@j&6!>d_CkdilQP`VJ+y(f0k1Cz-rp_(n!5F`?pB zbq}jTn^yGJuo4&;kVGe;s}YB=4WY7=v&i{tviEONV)8g~x^vQzR?#k!KrA1HIFq(Q z-qp!xD~@w>=;Q;frIYC!{nBld?X{o2*M0ToXT~4Qi)-@U@i+V`3ONS9hX51a)dX9MhY1$i)cl~7o zKLo>{Ud6K!c}<1lV5Uf=ATpJ(G&2A_uo`9y)3IBB{Q@F__kRkH!z--^ocP?_&^EC$ zPmmwUj2+)Gs-B!%`Ba>~K77k-pFMNJ+Qa$=Fo~Q~{@oXR6@dZ9614-4!b2ygY1u&) zPvT^GaU$Kf^P{FJiod=@XvEVje6@*<`N&CYRlh=!&=oJ^#{Q6LkMmlYn)k4h+RYOXej{CQg(0}MdH{hX3x28=7xNVOBeYrcu zq?}}fPe9jaD)o#EAlA3@2xg!MestVQP6=3b`nqDm`!Q7(#qlx0-1s4{?OIr7nSh%h z;8Y9SNb0w%eu=ktZjW2%ZHx5$2TzOl1F5#ZQ)-xRRGTs}#r-QXy4Q)j+&lJPm%C~#6DV+p+XoruiU)~%yU*U2@-$JB;rH5j(_-cNk^6!g9! zRR=tRJyIt%dsOkRSDgWSXjmKkBhH~$xxR*MueH6!yHA>)&2`GVYbK_L>;Okej<+h& z5wCWq>q5uk;l9*jIZvrO*j6LRNl-e0Jle8(6KX1~fn;W`m@-+FACqd)o$ z-nlfe0y<_GthG+JzJ*zyhn)2_nXq9@TDZ0zZd%a~yiY3Qv<>-*(woh-9pM!1an9~C z){G+r;rZNI2A+kRwc_dsHxm&9M8R{KhRGVkoZF_Yv0n)`okqrXhN^X(>S+E~tbFQ< zYX^gpinnKMVmEw|=0vjMP-)-ILyj(%>lW6&0M@wB)^fP@9=KOa!?31eY2%O9R0Rs7 z*1c&1DTd8JrcuGz669n|*ed%a?Ocz^MBEtJoQ6%3>Z<+BEOm|ldxbfOO`y8yir2l& zA4Z(tBw8v1p|3j58a~tf^runm+lX@3j7AtMfRG9^PIq#hxc5?aKnLy(oZh^MOBBRl zSc^$UZ68}fzRu)MY$RTjYrFl0w`R9jHQeJFPnJ8UDflwCagl@5C(q$sY60E3j5_)8 zwphxOu*FY&Z^mprNZ(o0^F}iH+EWlK`X$SuwYD&6RLAADhsbF%qnOV4%jPAl$?1F7 z_^tykx)K8ECmZEnVI;=)wJn;QD?zYas%pBP9#4_~W(ov_AiBNKTjcOpaHc=~4oDvo zDFaLaQZQ{1E^rU+F?4V=R?**kew?|dhyy$uxwM#m9=GkMZ#OwRG zFNG4Q>7~ppO?|2J1=UK>Hz~{>>n8nGK zY^f>ddQVh)+W3XyN6t~s-f?R^3W8F$AZkY$lE|-7f<$qG#qvqdvAvtEh z_r`EO)h4V;Rmx^+YVZ}7WU~C%v3c!3a?7-wsn>)~xu9hmCAL#IqU@f^aie38K$gPArF>Zc4~0}l<2hmBG> zLe}>}hRPWbqXFlh;jjZljgQrOhI0jhM-8LTIph$6$nwHK8R#jv01v6?1z5-3;Cq9_Z?EeD@PF87L)L%fQ#*SpEcqp)2>G=B(|R~ z9%ZiKOZOz52cD{(!)Me>8Cq9ZgJE`Gh~7r0iu?5d%PWAr>x{o4-0HH;!_bBnE1TLi zqy*zSGn`p4jETFr*gi-mQ8_)dQP6q!kr#B>-Z=M~Y2*AvV^2aE5nf!;oMwpIbA&8Iz|CT7Jftk=n&D?;fD}A-G{EYd?F64Y zk@X}>l(F3}ZuwNRP!(R=KXczl(NNw}AbNW@CMNJygjolF)I1_t_F?hRJ>;n&UtGrI zidSWMwjNDGN+HI%sp%ybOvbVknd7oko~(HioRGS=n+kLi{<5Q1`Pk<#X2M?WuDSU?rbpBCJAkcxlGEAUVJrrswfkg6Ra@q}Xx4Eo z{N^Et`7cfAA_}>zdjDT)ca!mY%UJTL9ZD4;pdMm~c17z=vBLT&+r1HL!52E9?PGYi z0bAG6yZ!DAg;mhDj>n9iq{xtvVoDEJtgGU1de6S#BOIIvhCk+J!R8GAT`p)^jFc`cUH1=R*Z94v{&grd&`krzYRpF zHd=sK+7`;EqITEbDkhvx3v4-5kc98y-c!$@k`yG;mX5oJxUWs*a#{IE2^#q}>}YH4oUMb@n1CvfCJlj3P58i6{&oP6QNn~S9Nj)Bwo;9n}7K-cz1764=YWV zxXA*?L@kkO{`a!wZ{i6<^!%xRI%$mxOu}gxtp$DBRdhn9!^QDBHfDXqy8K*k2;SP? zjWqq^CMAZ$Ex(X;3EUEhC5WNXAb@RRZRp$uY$tFU9p73|QrR%sI!6(*bL!NttZJl> zK^|jubs2CwD4K+R{l4}f0#m(+0Pxlz4kMiLDpJ#y1i8-UaoMCEZ48wA245fn2l&c= zNrKQQYB@*3375*)PZwfKf275IM3tzaT;eiot}-^|c^OyvKn?3mr8ebgQab*9ZI7Ol zo+|T({6LMv13yvK(&s-3UNHz0?4pSnXhLpMag^QWP02pHth{+ETdt|} z_s2G_ak%$5T9{T87fl21*%JY5!auJGmeVM zvwu3v<7TjSUaMH(?Eh%x!s8Ni9}GAbgTv}^AnH=OTA6^rJ58cA0yl=E^dHG##VhZ! z)d5IPE7Au~Epq3@X_k8@McVAa*-k}%PEN1f#VexnONxjjk0*!yW z*~$8+;fXW-|5V8JwSiE;GsUP~+o4Lp7(E3#P+9mY@*FxorT(xdPdh?CmM@d$Sro}! zHIq&;QPAj&#q`_Zunu*W@maNhkgM9(=)rRYy+1xl7){#gZy&GgzyBS;ed^P1ps`+Z z6$pj{b_yw=4$!m9X&-=s8_M|Kh~p~7k0$;%Q@{$K%K;IhSUr1YK}r!v6v(#wV=0j| z^KD9ntXgHEJABr1P3tj*a&CiP1&S)&Md}QJoJ-uW+J{y zlF_^)wFe$G%~K;>mvB|Hq&{n_mX%Ij#4{do79WqK#RV~e3lCr8ik=U{)sulV+R4EH zOM0a;FyHB_RxAv7H|juQV*H2J^{^;FSecvjWW7{<`T}`(`qiF{e+F;N+J6zQP_{)_ zMFk0(n%5(~FZ=AxU-!W{=K`r}=g$7!9@*S3rr;kZfbwyp_SC=Q3c`~GMuC#xXAHRO zW_n#As%&OqdQt2xT0QD1p5HNdt+0tAvn7}fla{8=+MM-67%$|r>UuXTp4Ypv_i;}+ za!2m_W*ZEjeeL(LTCV6_^P$(VuB}5_93EIUJw{s>!UQdOl`E-p-KL5yiQ%cW`FzL$ z0N(5iV36dnijmAKa^M<@GXX3##nHJ80h7}xOU4`OkH?-@ZUbG&B1PN8gm}x~)K89d zVPg2G?h9ex=-t2D)A3HQT%4)p=P@|99b??O_ErBynbE5Zk(GnPjZCSe#6ft{AvKcb zXr&>MFELfL)^b54%U<0SV3-Lpudob=bx&X-se!`LKq3l3cONmY)+0*{BL7xrW0KAN zTU%ycaOSq@ttx5OoK7%ym;aM>W$zHHFZ>bz>*>axCW34TQYwf+Q9Y-i1!eGKwvGWQ z;_bcyI!G4QU-Rcebi=2mBfLa}@UYnhB)a_8pHpZp)yCm^-X6nL=Cykw3AyE5;`2??YpGhb(OFMad49_;)n zGmV|ixcqYF{39+AwNJ4~pVZ@-p)>rayAx$RPCmc^9Z-0`l`j{bg1{hwks=*)D?veL zfNy1eOx<7gVz?CY>Mcs?E5HHYZM@YQYas~3n*O)&U$KQl*1-MD7QU{@T%OipS4lB* zf3$biZS8l5H|D(?GaT@?kR@TuMb{7TV{62Z50gvDl0bl1iLJtzB~Brq)l zZDr+E3=*Z^EOivtuP270)xC4yy+H@GCdj zL8mnPjPAJlK6G`1Z=Zk(X%-rN8W}-oGBF62C?SHH-!KX7Ph=IUnw_#r&gJ+`)nK+# zV`sXXR+z0SvZZ^ARs8;S_HTsIRXPs(%{^+hW+?Ax|FrnDBixq-YALsy_g!|K!&Ce^7je1*FbB?C<5#_yebF1agVJ=EVy*%>|* zeQv9s6X%j$H@07niDW+v>utv{{UO0t8eCRh&D7JYI5svb3B7 zq&5sBN+5-_O(p(@A&}5(Ar?r;zLsTVi>wX1U2zOi4^bk$cOFu{>T?bO@X$+Iy+weg zV96k~@$5+A9{iu*g)`nON1!c-JpaMtunLms)sR4dkoL+b+n&ZfUr^!JDHM5JMjT`U zy-^UgXUGtPK+A4D4*00y^OdA1#eQNheBugg*I#sqe)kB~vs_Fi!H)Fkv2w2)|O< zs2Gv{e8NaN<5a5nqF8sj?yF6{^%-9CCue9$nKc4Ii=m4$w$1?rZFZ)~mk8_VbdsS| zq$%jOBHo%FRwE}Bx_7fM69yhHlDy1nzz86gyqjjB?7Qv|Sp?pnSL*w9LWu$Q@ z5-O(2ker5N?s6*X|4;}(#s%cRf8Z25Ysv41DTF9bVHHU=5Ja3;D`$pz8;+52 zr}hxz1cfH!`cq}g!i+QKLRGgE<*76Y#{e8yy0nVMWR2LoFD-_#bo8)+#;x0KjWpEk z>zHLM1%(^S%8J?LYeC`KaOvsdY{$3v0OXNP88AH$5#?6oS z??GF{R;W}hu18E zfjn)@}@6`S8n#1fxhaUHJ&!kB&UTx%}*jOc`M%CHm1rXXQuVEbaBezA~1OwpjJ2rMfbT z@+g~|i~GUJ;!Hlk?;xN>JA=x?w9{zr>(Io`zvn{%0I&*r*>S z%VeQR)Pd$OIu*IyYAs(OEJpT5v%}*LrNpaYCyUcN@x=3N_y40 z{@hExI!WK+=LNZls4m#_miq@A>R>^a;V3#SmDrjZnZp$gooyg>yrK0-CyLS%vR@oF z>lQ<7f!qprp)Yu#7&UYnLS|xJB46RPS&Paa;O$ym2LB*HSwvJe2hPBb@n+m*?pNia z&LYUM=^3-OlbZ{}k0zPJ2d``h=b()mtwqj#{7KY#@+z52ppC2A2_pfPO;4Cv^>aI_ z-V;;f{ZE9f8ui~;fT?{V4$T#L%NmrB28l1;oq3m>&+G?-33YRt&T03Rrz3c;FZ+}h3!lY9LtuBdPm zpkb}Tz?#Z_v=DO%DZea)aq7YuAEQp$Wyg;mkaZL3g8IGOK{Qc;~-G#3^e zcq{A|D4&8!$zGoTOvJMK9k8GYos9D^4FP5OFcGEv5i~G8Sj=Ou>%Nj$itCy3Hjf(M zZkR3lG-H@Xm3K{QW8)J))OwB7UqNr8M*B004{uj;GBwwb)9sssNhNpgmrk$SS_&08 z)i3sn7;@L!Z%zeP93jRr)l_RBv;b*Ij3}_;pT0EH9=f{jb^1jdU#rjii5+_CeXFc? z68ilAKnqh_kHhxs3v~*z^_qy;SiLVSBFg%*+ zN3*oGYss^IeXqVj?hNRjZ=T8B^Tqbm>wz~uiNm9+JGQsZ<02osFNQ$6R)4uU4di^x zb>=&x?eCgZIvMXGPSU>UNv77y)tPMgx2$dMN~N7?PP92EObtNr`H>@$8&P90XiQiL zWI5Z@!5dg*y_3HOy$QI`@l+9OnA60UALXXJPU9HlHeCDMK}4<)Ea|&?|6IZ2m-gQ{ zzn@qx{fjhoct`wKJ^OZf>+pI+bv<3xuHerF6nnIMY^5&~HNt?fdOH;}W*W zsrXe;qKT5{XUCK!o=j*>AC18_%Xj-kiKv8TTZDnQ@B@~byd-zW6P%@(Z=tSSjl5}m zOqfcaskj2T+FWZ*d5&LSSm-+GG5{GhvNx0I$NwCm8DJRes}*O1;SGyJrCw(|V->t= z{rd09j!~H`S3ra&WFi&HQucf(v)K*u4fN}m>aT_7{iNSaq1`$8wczqC1$s7bksKf( zesKS*l11oI6jdn3``cC(q|i8V#QBx>)Zf|s;pnS?m2)6KHqkbhhoh|ZCox9 z!MQr_jpu1FHu^I(38mX{!QZ&grZp~u**Od=YR z8P+2rb8CP%c?JV*gPm&*@7I-q6RUXSGHIcBVCnH<3?GiR!Mp0Zolhn7kKMw_5G-@$ zy{|Nr(06qaG^O-NW#p6)&za)M{lSmqm=-}+=;<8xu_G{Hq=*e1Ys-rFC{6 zKPEJ|%PKI6F-Oyda_1`@d0=}jPD5t|FMlu)^&-akUgQ3cR za*sQn)3eSvK8Q}N{8OGT)f?lVv4Hi)Y5WwE^_S|Lgf6z#)-M)OLSiu?*->RYmMFMs z4tFx*(v>#yQ#giU(tZikRw{Ps6dfmDpW2oIxmyqS>mViFdoMwr=mD2=n0x=t1CVc;_n}+(Yc2 zt*P?9Q>Azec#CfhZWaX+ev<=6ceKdQ!a7va6fwXqanbQG!i_AXvXB1O zhv*e^fux)AIRsY_hW4jGx&2Y3bKR(2#bk!aUZdxhNk(H>a-JBHOW?n;qlhqcRYR@a zRiAz)mJrjfT0#1j$SZPXp2q*Z^K16%UwP!c^ z%HhlL_2-8hL8%$7DaN%DJTx&p-ZI*Z?GTb{1adImLMe}nN4wCm@NFBa&&6z@O}Z>q zrgEHW5XFg8q4en@Wqe;l8v-97{VErSa3E=K?!x~$e$*~heOA*^#O z*mENyd{2ZK+Y*^Ugq|&=%bC$=$5Y7@X99IqKQwxcA>j6km05yv4dJYLyEvEILEsk; zrYE@)Jbkku2&V3aSjW~=P@H>+Kg0SXS*W~5J5N>|{?9I0sZQ6C0jOM=0>*9#Fa^BU zw5=q05`HgqP@s56^28<~`BV#>mbr_1dfQnlgxE~cFVhk-U<2M~Wm;)p zEdTwGKf(|!-noa2P^vbqam(wzWdFK=N2axSO=8!YtD8K}d)qtc^V<&J8;l>PA9g^< z*`R;GL1&@I+E}Gmo2E!B!N8!QlDa+)o})SB8VymgRl25}DNlV+#l~B(?mU;Ha$<@_ z1FPf81yK0dF!$g0h9gItc5d(y`5K#7{@`7|K7X;KR5gG-7AOFX9$pWYp0GdMFR^WfNoIP&cN%bBhd!NK0 zTWx2f@hF1fRTIXC-|!G>xa zZBfH@?!D(vIGnt1y3cCGs7jF+@VR49qA?X(btaInS<{F?ZrDivqSe~f+qs_8LjNM0 zqIIjF|HH&L>t9HK_T7%!JgJY?c$xzw_x3!#eN8g!huJ$*XC97elew>B$7r*8a%mju z@H@Ih`^5j=(tRj)M1d7*S`8gE8H^w+>A%p!sdN6<0BoeEPNm&46U7 zGk!_rs+c6xe&c?`Fykg!FNL%;g(Zh9RqeUOk**>pcF&!BV)n&qYJrC98F65e3PCpt z)5sfng;8@RGZ^?LB=cNE5tz~6S zHu{0?&{cZ+;*aFvHaQo)2dnAW|PrDxTDxucw8P8jXS zJ1!h&9bq~|wOM9i_*3G?x<@HQmb6qUkj~pnj*kmGCSkffauV3b<=?-!wq=^vlWOg+s{9< zui#HVI-$C?I%x_Tm_)cBu3xVutxPKX+PU{}g)^bb1;F5St1@z)f(oNj(T@KYZf_s1nvEQEL~+ll+V|tk&^CCX{1}amhNsAq@_y%m2Q^q z?(UKfY3WWCq>+|b_I>#M-~F&3C!RBR=FFXY&%Np9@+LN$vg1ZR?%I3Cz*eqFknV;3 zFd5m;D|l%i1c#o21xFKM@Y&kL2CnPZ8~(=fzv6l`dvwI;5$|1v9ahn?x&q7)4{hU{ zW5Lb6-bP)iqYGEE;3gsl5B}e6X6;Ob6LoL?yuCT@8hDJRtn2(yELx63l>CB9g)}XE z0Gt(O53=c8Li@_#X|djm4ZY;*)9Sv|6fm*@&LMzp!-WH0A2jawI92ulQ@H0BNk|`j zk|x#9&K}a0wRdCXe$9P&Lak)l8j*jF6ZZilztjG3%a*YmqkhuaiQ=$M320Q%JlcIa{va`|lL8Z&( zJp)}62}6hmxIdkIqWI@`;>B=B32~Y-KG**&<-R_E`}LRhN$IbJ!_n2Ghu@8a=Zf=X zfw85R647G*6+Ok_SHr_Xh*6(s^+L;FP$d+tVKxn2#|nld0{FSeVf4AzDeOj8pA@7N z`00~xnb5!m*TydhO~N5u0SEy;1)wfRr#;}8s}3?$`K83|8}Dcz17kW7e(%Ihm$l$ZJ=A4-jtBOE~sEM!rjtqq+~|s$zo5x?7roE=M@{sPDIG(IT94$bY+(mD7Th6{Rj9Udn8Q3y$C|8N`d)|Ro{Xu{W3qBPhliqgMw=~qe%Rzy zKc4r{L-$;pn=6C0(4d^yCk59_RXku<-{)(B%{yg;wMa4J8@X$(BBts$0n+{3tcHo5PDvHA7 zOYkepzBdJk$&+(9@OYVYxkI}@-zQmDk`w0H0s9WjTih7`KAfC%iH5yF4wnXN)IV{1 zx_~sGw8@wi-`qf;%jQo@X*lh|*jqPNV}h754Y{I$rcjjR@eVy+3@i$LL_I_UB1t!? zES8M=Y?3M5+DJEq_W{;~=yYuFz8*XD0wNRdvaTM?H&8Wn9V!^+l2I{Z5(!vP*!ghM zRGDQ{!Vmvr3e&-ew1DRn*yT)z0Iv^_K14HNtnw4XEu7ThFni2}k&jO8=XkN7+)6Sk zb8e3NSV<LgG90;Q*G>66G{~2EIpf(7t$gU&rd+#1T>XkX7fZ3$6E8CGIC0@@^LB z`{iE_goN4a)ezZMB?h3NTd4#DrFqE|r`rkv8 zl?PT-xRWUpR_7-i?T=mP4%pWcDLL#PD|kOyK9XpQZ*I(+Pf#$W8{m7^LI#kvnpWUn z;n}jzcuUjRh_o53g4eX`6TzCewAJSCc?k|v`35n+h-SP3!zq-?BVZ9iG}e5b`~MD9 zecLl^OtsYzAp2MJ2H9sGcD`C3k!LOs# zFh!Vz>JyGsl%u^jGNsSeey0beR!L=!RmRht*s)9|Lo68*6#FDEO+n-;u7Xp$Y*JrT zv9zN$Twd9NYq^7;RRuF|YNjUFX7)#Jh<}m7$YJ+?!xwZNGZoH~ql zWG{lj@xNYd2)MDL{4ezZ;Br%z4@#IbHM$&j7;e6VY+yj;lt&Yz_6i)tV}rS5uC=Y> z#mtB^IuX2H9Cf5k7T(vVn2(&Wjg$X}ohcoKh%(|eU33n$tX4^Z7q2(>yUHvetn~?| zf9G@j!d3noLV;oU_3ZBNA7AxsQgFUSk%N*dysr@9j0|_qt>xrds5KYi(>SA!NTX#A z6UVHa8@&h04;sD|eT=ZgQoD0o7B!cj_Sw#8D-4l<1-|9KIP?nw5h)@FtU~~=Pgp}0 zs@Q8}C3&Ksb22P#_Gv!|(DK)%KY#cvYDKpQqOKf6Lh$Q-%6?jP*6Ap=v10gl zXUXelF>m=OX7aLdEiEsUd5)D!I6Zgz*D2#e-&ztg6WCz<;V!ycIU42(@rxc zIIJn7T|K5mGxnsmzp<8hwXXt69OisDWV(0|90VOkU^By-(Pa-z^{>dEIFw(bSygcO zA3_NKc$QxR>rH+GDR=@ znx(0-;%ihSHP~tS9HTB8LMu?^#p z&e!t1g_((4T{7R9F^UPoWl@!=J;zWfwe_Cr!amPcf<`UIVR0;e)R{&6MCSX7133ll zgA?~?S*41Df5%AysZRT8%RfeV`Cp6q0NP>G_JSnnI#F_rG)P?mnyZ04L`Ed2w0YX% z?Ci-k$L8jk?!&fc{cjx2uh*h}tjm;p(&ES-`G~&uvtTdDWYG#qK@dZC%&1`B`xIx? zeX*k8XZSeye6W-|^rKLJ59#&DNtI_g4y!B#0IACDL+znKjB96FhswJNj#WA~j~9f1 zH`aTaMeP^AT(L+ckj5G#n_~$?R3J_R7;6s2fw;Y@nBbjhzW1?wKaUci!1-=U;| zD$#@$>11rz(k4WzBJ;bp?miV^@?tvOT<5e;%$5+M^jA2USRi?kV-$|`zwT>)TNn5x z+ajt6-luE@nIphYkbHG~Xx?GOs(#EIuTr23d)4R6Xs|O)<;x_@u6gI3Lc|kiQA2VW z$f!4>M;00f#zBVH{6O>9tq(;=au*(u)t!RFn^cl}1#g+$MUo1yHEPL4P4KTUtTgGi zCQ|zkeTnf5c@b5eWeNM8TT_ISAeMdNH`AL7A_+7%Q502#1Uj0sY~n>-k7V5a?s4R(VL2U@>|LvL0B7MM0muJA|Q&(|`q`1zSz;9JT3{$!jb zUbKe&d`o`y%4D42N&F`nR{wUSIpxhRkp$|6D4LTL5@HCUM?ZO~!}rSX8e}aWPd4NI z@?Ey5mzTWaLB9rOI2-a{f1|Di^J(CI$0-T+!6_NET3Y|cz-X?DC}^r-FZzF`u)?7G zlHg@bzt(9DuLb*6#*qZl#Vo%{$Td`U*k;tUzkMkt(EPXVU6wn}7{FfYo>2k)!{JEL((fB8mwy!%R+4bMk@H(d*~Zc? zUSrL3im#R zhj-RoKO%9x2;uAVSmXHJ9Z{gW$8+qmU)fQFj(NLtdhUx`F^{WYFl{0f8RSFTdUyvV z<^n(~ROpb*szLOGmBfH#lJIMpu)y?6jd+RoxuJhiGS*^mNxthK`>(##LKng!-%YZw ziE5%LC!h?Bm)1Gc(9;rrRiB=%pXVrdy274=E^SO8fEuY4MAyFK|IZ-}wnaygfi